亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于HBase的交通旅行時間計算方法

        2015-09-18 12:37:29喬彥克陸婷
        軟件導(dǎo)刊 2015年8期
        關(guān)鍵詞:海量數(shù)據(jù)智能交通

        喬彥克++陸婷

        摘要:旅行時間計算是智能交通系統(tǒng)研究的重要內(nèi)容,準(zhǔn)確的旅行時間計算結(jié)果可以為交通管控部門提供決策支持,緩解交通擁堵情況。近年來,隨著監(jiān)測水平的提高,交通監(jiān)測數(shù)據(jù)呈現(xiàn)海量增長趨勢。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫應(yīng)對海量數(shù)據(jù)時存在高并發(fā)讀寫和擴(kuò)展性不足等瓶頸。為解決智能交通因數(shù)據(jù)規(guī)模過大帶來的存儲和查詢問題,提出了一種基于HBase的交通旅行時間計算方法,設(shè)計了面向查詢優(yōu)化的行鍵策略,并在此基礎(chǔ)上提出了單時段及多時段旅行時間計算方法。實驗表明,該計算方法與傳統(tǒng)的基于Oracle的算法相比,時間效率提高2~3倍,并且有較高的讀寫性能及良好的可擴(kuò)展性。

        關(guān)鍵詞:旅行時間;海量數(shù)據(jù);HBase;智能交通

        DOIDOI:10.11907/rjdk.151383

        中圖分類號:TP301

        文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2015)008002204

        基金項目基金項目:北京市自然科學(xué)基金重點項目(4131001);北京市屬高等學(xué)校創(chuàng)新團(tuán)隊建設(shè)與教師職業(yè)發(fā)展規(guī)劃項目(IDHT20130502);北京市教育委員會科技計劃重點項目(KZ201310009009);北方工業(yè)大學(xué)科研啟動基金項目(2014)

        作者簡介作者簡介:喬彥克(1989-),男,河南漯河人,北方工業(yè)大學(xué)大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點實驗室碩士研究生,研究方向為分布式數(shù)據(jù)庫;陸婷(1990-),女,山東菏澤人,北方工業(yè)大學(xué)大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點實驗室碩士研究生,研究方向為流數(shù)據(jù)的存儲優(yōu)化。

        0 引言

        交通旅行時間計算是智能交通領(lǐng)域的一個重要研究內(nèi)容,精準(zhǔn)的旅行時間計算、評估可以為城市路網(wǎng)規(guī)劃、城市道路交通管理與控制提供重要依據(jù),為道路交通的研究、交通規(guī)劃設(shè)計、交通管理部門提供決策輔助支持,對城市交通擁堵問題起到一定的緩解作用。

        隨著智能交通的迅速發(fā)展,大量監(jiān)測設(shè)備用于交通數(shù)據(jù)的采集。以某大型城市的車輛識別數(shù)據(jù)為例,道路上部署的車輛識別傳感器數(shù)量為5 000個,每個傳感器的高峰采樣頻率為1條/秒,則每秒將產(chǎn)生5 000條車輛識別數(shù)據(jù),每天的高峰折算率為0.33,一年車輛識別數(shù)據(jù)記錄數(shù)將超過500億條,數(shù)據(jù)存儲量為10TB級(來自實際項目)。面對如此規(guī)模的數(shù)據(jù),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫無法直接有效地滿足海量時序數(shù)據(jù)的存儲和處理請求,存在擴(kuò)展能力差、寫入延遲高等問題,并且傳統(tǒng)的旅行時間計算大多是基于車輛采樣數(shù)據(jù)或者浮動車數(shù)據(jù)等非全樣數(shù)據(jù),在反映路段旅行時間的分布上存在一些問題。作為新型的數(shù)據(jù)處理技術(shù),HBase[1]已經(jīng)在監(jiān)測數(shù)據(jù)的大規(guī)模存儲方面得到應(yīng)用,文獻(xiàn)[2]就把HBase作為大規(guī)模無線傳感網(wǎng)的存儲媒介。

        為解決上述問題,本文提出了一種基于HBase的交通旅行時間計算方法,針對海量交通監(jiān)測數(shù)據(jù)需求,以HBase這種NoSQL類型的數(shù)據(jù)庫作為監(jiān)測數(shù)據(jù)的基礎(chǔ)存儲系統(tǒng),并在此基礎(chǔ)上進(jìn)行旅行時間的全樣數(shù)據(jù)計算;實驗表明,該計算方法更準(zhǔn)確,且滿足可擴(kuò)展性與高并發(fā)性。

        1 相關(guān)工作

        旅行時間是交通出行服務(wù)水平的重要衡量指標(biāo),近年來對旅行時間的研究日益增多。從檢測技術(shù)角度來看,通常有基于線圈的估計,基于浮動車的估計和基于車牌識別的估計等[3]。從數(shù)據(jù)來源看,目前的旅行時間估計所用數(shù)據(jù)主要有兩類:一是仿真數(shù)據(jù),二是檢測數(shù)據(jù)。在檢測數(shù)據(jù)中,部分使用直接測量樣本車輛的旅行時間來進(jìn)行路段旅行時間的估計,如基于浮動車和車牌識別等,但因是非全樣數(shù)據(jù),因此在反映路段旅行時間的分布上存在一定問題。本文采用全樣的實測車牌識別數(shù)據(jù)對旅行時間進(jìn)行計算。

        目前數(shù)據(jù)的存取技術(shù)主要有以下幾種:(1)傳統(tǒng)的關(guān)系型數(shù)據(jù)庫。在數(shù)據(jù)存儲方面,只能采用結(jié)構(gòu)化的數(shù)據(jù)模式,不支持海量數(shù)據(jù)的存儲,嚴(yán)格遵循ACID原則使其不適合大量數(shù)據(jù)的定期更新,基于“極少發(fā)生節(jié)點失效”的假設(shè)而構(gòu)建的傳統(tǒng)關(guān)系型數(shù)據(jù)庫不適用于節(jié)點失效經(jīng)常發(fā)生的大規(guī)模集群應(yīng)用場景;在數(shù)據(jù)查詢方面效率極其低下。

        (2)HDFS/MapReduce。目前主流的大規(guī)模數(shù)據(jù)處理技術(shù)Hadoop/MapReduce是專為離線處理和大規(guī)模數(shù)據(jù)分析而設(shè)計的[4],缺乏實時隨機(jī)存取數(shù)據(jù)的能力。車牌識別數(shù)據(jù)是連續(xù)的時間流數(shù)據(jù),不適合Hadoop的存儲模式——存儲少量非常大的文件。文獻(xiàn)[5]雖然提出了一種MapReduce下計算旅行時間的方法,但其可用性受到制約,這些數(shù)據(jù)無法實時查詢,執(zhí)行一個任務(wù)計算的都是全部數(shù)據(jù),如果只需要計算某個時段的旅行時間,該方法往往無能為力。

        (3)HBase[6]。它是構(gòu)建在Hadoop之上的一種NoSQL數(shù)據(jù)庫,具有高可靠、高可擴(kuò)展的特點,支持隨機(jī)讀寫并且有出色的寫入性能和不錯的查詢性能。

        綜上所述,HBase最符合存儲海量監(jiān)測數(shù)據(jù)的需求,故本文以HBase作為海量車牌識別數(shù)據(jù)的存儲引擎。

        2 基于HBase的旅行時間計算

        2.1 存儲系統(tǒng)架構(gòu)

        圖1所示為識別數(shù)據(jù)存儲架構(gòu),數(shù)據(jù)寫入部分采用Loadrunner模擬實時數(shù)據(jù)的生成并寫入HBase數(shù)據(jù)庫,其中模擬數(shù)據(jù)來自實際監(jiān)測的數(shù)據(jù),旅行時間的計算則是通過計算HBase的結(jié)果得到。

        圖1 車牌識別數(shù)據(jù)存儲架構(gòu)

        對于不同日期采集的監(jiān)測數(shù)據(jù),有些系統(tǒng)會采用按天建表的策略,此策略的好處在于錄入速度快,當(dāng)用戶請求一天范圍內(nèi)的數(shù)據(jù)時,只需要訪問當(dāng)日的數(shù)據(jù)表。但是隨著時間的推移,越來越多的表難于管理,且當(dāng)用戶請求多日的數(shù)據(jù)時會訪問多張數(shù)據(jù)表,影響訪問性能。本文采用將車牌識別數(shù)據(jù)遷移到HBase集群中,采用一張大表存儲的方法,車牌數(shù)據(jù)記錄條目達(dá)上億級別。

        HBase是為面向億行級別的表設(shè)計的,可以很好地滿足海量數(shù)據(jù)擴(kuò)展要求。但是HBase只能使用按字典序排列的行鍵來檢索記錄,因此行鍵的設(shè)計尤為重要。在介紹優(yōu)化查詢的行鍵設(shè)計策略之前,先介紹相關(guān)概念定義。

        2.2 相關(guān)概念

        概念1 車輛旅行時間(Travel time):車輛從進(jìn)入到離開某一路段所花費的時間;

        概念2 路段旅行時間:單位時間內(nèi)該路段經(jīng)過車輛的旅行時間平均值;

        概念3 車牌識別數(shù)據(jù):監(jiān)測點識別到的車輛數(shù)據(jù),包括車牌號、車身顏色、記錄時間、監(jiān)測點ID等信息;

        概念4 行鍵(Row key):用于唯一標(biāo)識HBase表的每一行,沒有數(shù)據(jù)類型,視為字節(jié)數(shù)組[1]。

        綜合考慮,本文的旅行時間指路段旅行時間,選取15分鐘和5分鐘兩個長度的時間段進(jìn)行計算研究。

        定義1:此公式用于計算一輛車在某路段的旅行時間,由離開該路段監(jiān)測點時間與進(jìn)入該路段監(jiān)測點時間差值得出。

        定義2:此公式用于計算某路段的旅行時間,為n輛車旅行時間的均值。

        結(jié)合具體應(yīng)用場景,本文旅行時間計算首先對原始車牌識別數(shù)據(jù)進(jìn)行存儲,然后通過HBase讀取數(shù)據(jù)并進(jìn)行計算。

        2.3 查詢優(yōu)化的行鍵設(shè)計策略

        HBase數(shù)據(jù)庫系統(tǒng)不同于傳統(tǒng)的關(guān)系數(shù)據(jù)庫,它沒有特定模式,建模工作需要數(shù)據(jù)庫設(shè)計人員來完成。為了提高數(shù)據(jù)的查詢性能,必須結(jié)合應(yīng)用場景設(shè)計出能高效查詢的行鍵,Opentsdb[7]就采用了高效的復(fù)合行鍵設(shè)計模式,通過把不同監(jiān)測指標(biāo)放入合適位置,組合成能夠高效檢索的行鍵。車牌識別數(shù)據(jù)由監(jiān)測時間、車牌號、監(jiān)測點ID、車輛顏色、車輛大小等不同的監(jiān)測信息組成,且主要的查詢條件為時間、監(jiān)測點和車牌號。

        由于HBase不支持二級索引,故本文采用復(fù)合行鍵。

        行鍵可選方案(部分)如下:

        方案1:--

        該方案中行鍵由時間監(jiān)測點ID和車牌號復(fù)合而成,車牌識別數(shù)據(jù)按時間順序存儲。其中--、----是3個不同行鍵,表示在時間t2、監(jiān)測點jcd2下car1、car2、car3三輛車的監(jiān)測記錄。

        方案2:--

        該方案中識別數(shù)據(jù)按監(jiān)測點排序,同一監(jiān)測點下的數(shù)據(jù)順序存儲。其中 ------是監(jiān)測點jcd2、時間t2條件下3個不同的行鍵,表示了在監(jiān)測點jcd2、時間t2有car1、car2、car3三輛車的監(jiān)測信息。

        方案3:--

        該方案中識別數(shù)據(jù)按車牌號順序存儲,行鍵以車牌號起始。其中 --、----是該方案下不同的行鍵組成,表示車car2經(jīng)過不同監(jiān)測點的不同時間。

        以上是幾種復(fù)合行鍵方案,方案一以時間為主要索引字段,也就是在時間這個維度上對整個表進(jìn)行排序,相同監(jiān)測點ID下包含不同的車牌號;方案二以監(jiān)測點為主要索引字段,相同監(jiān)測點的數(shù)據(jù)在HBase中按時間順序連續(xù)存放;方案三以車牌號為主要索引字段,相同車牌號的數(shù)據(jù)按監(jiān)測點順序連續(xù)存放。

        對車牌識別數(shù)據(jù)這類交通監(jiān)測數(shù)據(jù)的查詢主要是基于時間斷面的查詢。時間是定位結(jié)果的最關(guān)鍵因素。因此,本文以方案一作為HBase識別數(shù)據(jù)表的行鍵設(shè)計方案。

        實際應(yīng)用中行鍵結(jié)構(gòu)如表1所示。

        采用方案一的時間在前復(fù)合行鍵,使得基于時間條件的查詢效率非常高(避免了全表掃描),除了應(yīng)用于旅行時間的計算外,還適合很多智能交通的應(yīng)用場景,如交通流的計算等。

        目前HBase跨列族的數(shù)據(jù)訪問效率較低[5],故本文的識別數(shù)據(jù)表采用一個列族來存放識別數(shù)據(jù)。

        2.4 旅行時間并行計算

        在描述具體算法前先介紹以下定義:

        (1) HashMap() trackMap,存放每輛車的軌跡數(shù)據(jù),key為車牌號,value為該車經(jīng)過不同監(jiān)測點的時間和監(jiān)測點ID拼接成的字符串構(gòu)成的列表。

        (2) HashMap() sectionMap,存放該時段內(nèi)不同車輛在該路段的旅行時間,key為路段,value為不同車輛經(jīng)過該路段的旅行時間構(gòu)成的列表。

        (3) startTime,旅行時間計算的起始時間。

        (4) stopTime,旅行時間計算的停止時間。

        (5) result,給定時間范圍內(nèi)的HBase數(shù)據(jù)集。

        (6) List travelTime,各路段在給定時段的旅行時間。

        單個時段旅行時間計算算法(STP)描述如下:

        INPUT:startTime,stopTime

        OUTPUT:OUTPUT :travelTime

        Begin

        根據(jù)startTime,和stopTime,設(shè)定HBase掃描起止行鍵;

        根據(jù)起止行鍵掃描HBase,得到查詢結(jié)果集result;

        遍歷result,得到不同車輛的軌跡數(shù)據(jù)trackMap;

        遍歷trackMap,比對路段信息,得到不同車輛經(jīng)過不同路段的旅行時間travelTimeMap;

        遍歷travelTimeMap;

        If 路段的旅行時間list非空,取總旅行時間的均值,并將結(jié)果存放在travelTime中

        End

        連續(xù)時段旅行時間計算算法(MTP):

        對于多個連續(xù)時間段的旅行時間計算,本文采用多線程的方法,并行對各個時間段的旅行時間進(jìn)行處理。

        圖2是旅行時間計算過程中數(shù)據(jù)流動示意圖,由最初存儲在HBase中的車牌識別數(shù)據(jù),經(jīng)過多層處理,得到不同路段的旅行時間。

        圖2 旅行時間計算數(shù)據(jù)流動

        3 實驗分析

        實驗平臺物理架構(gòu)見圖3。

        各模塊設(shè)備配置:三臺雙核3.0 GHz CPU和4G內(nèi)存的Loadrunner服務(wù)器,使用Loadrunner模擬識別數(shù)據(jù)的實時寫入過程。4個節(jié)點的HBase集群,1個主節(jié)點,3個從節(jié)點。集群配置為四核2.4GHz CPU,8GB內(nèi)存,CentOS 6.4 64位操作系統(tǒng),Hadoop版本為1.2.1,HBase版本為0.94.14。

        實驗方法:首先對單個時段旅行時間計算進(jìn)行對比分析,選取5分鐘和15分鐘作為基本計算時段;然后對多時段的旅行時間采用MTP方法計算,以15分鐘作為基本的旅行時間計算單位。

        綜合分析以上結(jié)果,可以發(fā)現(xiàn),HBase和Oracle的計算時間變化基本吻合,且計算時間優(yōu)于Oracle,而且二者進(jìn)行并行計算的總時間也與數(shù)據(jù)量呈正相關(guān)關(guān)系。

        通過以上實驗可以看出,通過HBase存儲車牌識別數(shù)據(jù)并在此基礎(chǔ)上計算旅行時間,其性能優(yōu)于傳統(tǒng)的Oracle數(shù)據(jù)庫,對于全樣數(shù)據(jù)下的旅行時間計算,計算時間和數(shù)據(jù)量呈正相關(guān)。相對Oracle,HBase具有很強(qiáng)的擴(kuò)展性。

        4 結(jié)語

        本文試驗性地將交通監(jiān)測數(shù)據(jù)由傳統(tǒng)關(guān)系數(shù)據(jù)庫遷移到新型NoSQL數(shù)據(jù)庫HBase上,并在此基礎(chǔ)上進(jìn)行了道路旅行時間的計算,對于處理這一類時序數(shù)據(jù)具有借鑒意義。由實驗可以看出,相對關(guān)系數(shù)據(jù)庫,HBase在計算旅行時間時性能提升2~3倍,而且HBase集群容易大規(guī)模擴(kuò)展,可以作為構(gòu)建大規(guī)模數(shù)據(jù)存儲系統(tǒng)的基礎(chǔ)存儲架構(gòu)。

        參考文獻(xiàn):

        [1] LARS GEORGE.HBase 權(quán)威指南[M].代志遠(yuǎn),劉佳,蔣杰,譯.北京:人民郵電出版社,2013.

        [2] 陳慶奎,周利珍.基于HBASE的大規(guī)模無線傳感網(wǎng)絡(luò)數(shù)據(jù)存儲系統(tǒng)[J].計算機(jī)應(yīng)用,2012,32(7):19201923,1977.

        [3] 柴華駿,李瑞敏,郭敏.基于車牌識別數(shù)據(jù)的城市道路旅行時間分布規(guī)律及估計方法研究[J].交通運(yùn)輸系統(tǒng)工程與信息,2012,12(6):4147.

        猜你喜歡
        海量數(shù)據(jù)智能交通
        基于HADOOP集群的數(shù)據(jù)采集和清洗
        軟件工程(2016年11期)2017-01-17 17:05:51
        商業(yè)銀行海量金融數(shù)據(jù)分析中數(shù)據(jù)分析技術(shù)的實踐探究
        大數(shù)據(jù)時代城市智能交通的數(shù)據(jù)技術(shù)
        海量數(shù)據(jù)庫的設(shè)計與優(yōu)化
        基于物聯(lián)網(wǎng)的智能交通系統(tǒng)架構(gòu)
        基于傳統(tǒng)的車輛違章轉(zhuǎn)彎檢測與實現(xiàn)
        基于物聯(lián)網(wǎng)的智能交通系統(tǒng)中的車輛通信網(wǎng)絡(luò)
        基于支持向量機(jī)的車牌字符識別方法
        基于hadoop平臺海量數(shù)據(jù)的快速查詢與實現(xiàn)
        智能交通中的車輛檢測專利技術(shù)綜述
        青青久在线视频免费视频| 色妞色综合久久夜夜| 国产成人综合久久久久久| 亚洲人妻中文字幕在线视频| 日本在线一区二区三区视频| 黄色av亚洲在线观看| 天天碰免费上传视频| 久久人人爽天天玩人人妻精品| 精品91亚洲高清在线观看| 在线亚洲免费精品视频| 一区二区三区中文字幕在线播放| 亚洲av综合一区二区在线观看| 免费观看性欧美大片无片 | 亚洲免费av电影一区二区三区| 色综合久久五月天久久久| 日本一区二区在线播放视频| 免费无码专区毛片高潮喷水| 中文字幕精品久久久久人妻红杏ⅰ| 久久久久亚洲AV无码专| 亚洲一区二区三区成人在线| 野花视频在线观看免费| 国产欧美亚洲精品第一页| 日本乱人伦在线观看| 亚洲人成网站18男男| 国产亚洲av夜间福利在线观看| 久久99精品久久久大学生| 人妻少妇久久中文字幕一区二区| 欧美高清视频一区| 久久国产精品懂色av| 丝袜美腿av在线观看| 粗大猛烈进出白浆视频| 久草午夜视频| 国产精品国产三级厂七| 我要看免费久久99片黄色| 又爽又黄又无遮挡的视频| 亚洲成a人片在线网站| 亚洲av综合色区久久精品天堂| 护士人妻hd中文字幕| 亚洲av成人精品日韩在线播放| 久久久无码一区二区三区| 国产三级伦理视频在线|