梁山清,李恩寧,葛紅志,王曉玲
(中電科衛(wèi)星導(dǎo)航運(yùn)營(yíng)服務(wù)有限公司,河北 石家莊 050000)
作為世界上最大的互聯(lián)網(wǎng)市場(chǎng),我國(guó)的大數(shù)據(jù)發(fā)展日異月新。2018年召開的全國(guó)網(wǎng)絡(luò)安全和信息化工作會(huì)議,對(duì)包括大數(shù)據(jù)產(chǎn)業(yè)在內(nèi)的信息化發(fā)展戰(zhàn)略進(jìn)行了全面部署,舉國(guó)上下致力于構(gòu)建以數(shù)據(jù)為關(guān)鍵要素的數(shù)字經(jīng)濟(jì)。在智慧交通領(lǐng)域,大數(shù)據(jù)技術(shù)可以改變貨運(yùn)車輛 “信息孤島”現(xiàn)象嚴(yán)重、缺乏合作交流平臺(tái)等難題?;仡櫲珖?guó)范圍內(nèi)近年的相關(guān)研究工作可以發(fā)現(xiàn),伴隨著“互聯(lián)網(wǎng)+物流”的快速發(fā)展,相關(guān)部門和貨運(yùn)企業(yè)正在快速推進(jìn)傳統(tǒng)業(yè)務(wù)模式向數(shù)字化、網(wǎng)絡(luò)化和智能化轉(zhuǎn)型,加速行業(yè)的服務(wù)升級(jí)[1-3]。但是,在基于貨運(yùn)車輛位置大數(shù)據(jù)的潛在價(jià)值挖掘方面,仍然存在巨大的探索空間。
百萬級(jí)綜合車輛位置服務(wù)平臺(tái)結(jié)合北斗/GPS衛(wèi)星導(dǎo)航定位技術(shù)[4-5]、無線通信技術(shù),借助強(qiáng)大的數(shù)據(jù)存儲(chǔ)、融合和分析能力,對(duì)各類交通車輛提供綜合位置監(jiān)控管理服務(wù)。其中,貨運(yùn)車輛數(shù)據(jù)是平臺(tái)上的主要業(yè)務(wù)數(shù)據(jù)之一。
本文在本地服務(wù)器上搭建開源大數(shù)據(jù)平臺(tái),將綜合車輛位置服務(wù)平臺(tái)的貨運(yùn)車輛數(shù)據(jù)遷移到Hadoop分布式文件系統(tǒng)。然后,運(yùn)用大數(shù)據(jù)分析與挖掘算法,對(duì)貨運(yùn)車輛數(shù)據(jù)進(jìn)行了大數(shù)據(jù)應(yīng)用研究,對(duì)基于時(shí)空特征的K-means聚類算法以及基于專家系統(tǒng)和協(xié)同過濾算法的貨車未來活動(dòng)區(qū)域預(yù)測(cè)方法進(jìn)行設(shè)計(jì)和應(yīng)用。
本文采用Hadoop2.x技術(shù)體系[6]進(jìn)行大數(shù)據(jù)平臺(tái)的架構(gòu)設(shè)計(jì)[7-9]。貨運(yùn)車輛大數(shù)據(jù)系統(tǒng)的架構(gòu)如圖1所示。
圖1 貨運(yùn)車輛大數(shù)據(jù)系統(tǒng)架構(gòu)
由圖1可以看出,貨運(yùn)車輛大數(shù)據(jù)系統(tǒng)包括數(shù)據(jù)源、數(shù)據(jù)采集與存儲(chǔ)層、大數(shù)據(jù)分析與挖掘?qū)?、?shù)據(jù)展示層和大數(shù)據(jù)管理層共5部分。其中,數(shù)據(jù)源為存在于關(guān)系數(shù)據(jù)庫PostgresSQL中的貨運(yùn)車輛數(shù)據(jù);數(shù)據(jù)采集與存儲(chǔ)層將數(shù)據(jù)源的數(shù)據(jù)遷移并存儲(chǔ)于分布式文件系統(tǒng)HDFS中;數(shù)據(jù)分析與挖掘?qū)踊赮ARN計(jì)算架構(gòu),協(xié)同Mahout,Avro,Ooize和Solr等組件,對(duì)貨運(yùn)車輛數(shù)據(jù)進(jìn)行分析和挖掘;數(shù)據(jù)展示層對(duì)大數(shù)據(jù)分析結(jié)果進(jìn)行圖形化展現(xiàn);大數(shù)據(jù)管理層負(fù)責(zé)整個(gè)系統(tǒng)的應(yīng)用程序協(xié)調(diào)、數(shù)據(jù)安全管理和系統(tǒng)運(yùn)行動(dòng)態(tài)監(jiān)控等任務(wù)。貨運(yùn)車輛大數(shù)據(jù)系統(tǒng)中各組件的功能如下:
① Sqoop:在結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)和HDFS之間高效批量傳輸數(shù)據(jù),進(jìn)行數(shù)據(jù)同步;
② HDFS:分布式文件系統(tǒng);
③ Hive:建立在Hadoop基礎(chǔ)上的開源數(shù)據(jù)倉庫,提供基本數(shù)據(jù)分析服務(wù);
④ YARN:資源管理系統(tǒng),可以為各類應(yīng)用程序進(jìn)行資源管理和調(diào)度;
⑤ MapReduce:快速并行處理大量數(shù)據(jù),是一種分布式數(shù)據(jù)處理模式和執(zhí)行環(huán)境;
⑥ Avro:序列化系統(tǒng),支持高效、跨語言的RPC和持久化數(shù)據(jù)存儲(chǔ);
⑦ Oozie:任務(wù)調(diào)度框架,提供對(duì)Hadoop MapReduce和Pig Jobs的任務(wù)調(diào)度與協(xié)調(diào);
⑧ Solr:獨(dú)立的企業(yè)級(jí)搜索應(yīng)用服務(wù)器,對(duì)外提供類似于Web-service的API接口;
⑨ Mahout:數(shù)據(jù)挖掘工具庫;
⑩ DataV:一站式數(shù)據(jù)可視化應(yīng)用搭建工具,可實(shí)現(xiàn)可視化圖表制作、數(shù)據(jù)連接配置和一鍵部署發(fā)布;
本文運(yùn)用Sqoop組件將貨運(yùn)車輛數(shù)據(jù)從PostgreSQL數(shù)據(jù)庫遷移到Hive數(shù)據(jù)庫,并存儲(chǔ)于HDFS分布式文件系統(tǒng)[10]。貨運(yùn)車輛數(shù)據(jù)信息如表1所示。
表1 貨運(yùn)車輛數(shù)據(jù)信息
Tab.1 Data information of trucks
車輛基礎(chǔ)業(yè)務(wù)信息行業(yè)信息行業(yè)名稱、行業(yè)描述企業(yè)信息企業(yè)編碼、企業(yè)名稱、企業(yè)地址、企業(yè)聯(lián)系人、聯(lián)系人電話和聯(lián)系人郵件機(jī)構(gòu)信息機(jī)構(gòu)名稱、聯(lián)系人、聯(lián)系人電話、辦公地址和員工數(shù)據(jù)分組信息分組名稱、包含用戶數(shù)、車輛數(shù)和回傳時(shí)間間隔車輛信息車牌基本信息、車輛詳細(xì)信息和車機(jī)設(shè)備信息司機(jī)信息司機(jī)名稱、身份證號(hào)、駕駛證號(hào)和手機(jī)號(hào)碼人員信息人員名稱、身份證號(hào)、人員類型和手機(jī)號(hào)碼SIM信息SIM卡號(hào)、SIM類型和SIM卡關(guān)聯(lián)車輛用戶信息用戶基本信息、用戶權(quán)限信息角色信息功能權(quán)限角色信息、車輛權(quán)限角色信息入網(wǎng)信息入網(wǎng)車牌號(hào)、入網(wǎng)操作類型指令信息指令代碼、指令名稱、指令參數(shù)、指令級(jí)別、指令描述和指令操作密碼日志信息系統(tǒng)操作日志信息、用戶登錄日志信息元數(shù)據(jù)信息性別、車輛顏色、車輛類型、車輛品牌、燃油類別、用戶類型、圍欄類型、呼叫類型、人員類型、日志類型和操作類型車輛軌跡狀態(tài)信息軌跡信息經(jīng)緯度、地址、時(shí)間、速度、方向、高程和油量等狀態(tài)信息車輛狀態(tài)信息、報(bào)警狀態(tài)信息和車機(jī)狀態(tài)信息等
數(shù)據(jù)分析與挖掘?qū)硬捎肕apReduce編程模型、Mahout組件[11-12]進(jìn)行數(shù)據(jù)的并行化計(jì)算,主要包含數(shù)據(jù)預(yù)處理與數(shù)據(jù)分析挖掘2部分。
數(shù)據(jù)預(yù)處理[13]部分對(duì)車輛監(jiān)控平臺(tái)原始數(shù)據(jù)的清洗、集成、轉(zhuǎn)換和規(guī)約。
數(shù)據(jù)分析與挖掘[14-15]部分對(duì)海量數(shù)據(jù)分析處理。其中,聚類算法[16-18]用于按相似性特征對(duì)數(shù)據(jù)進(jìn)行分組;分類算法根據(jù)數(shù)據(jù)特征和事物分類訓(xùn)練分類器,并根據(jù)分類模型判別新事物歸屬;關(guān)聯(lián)規(guī)則分析算法對(duì)海量數(shù)據(jù)中的頻繁項(xiàng)集進(jìn)行挖掘;協(xié)同過濾算法[19]通過對(duì)用戶歷史行為數(shù)據(jù)的挖掘發(fā)現(xiàn)用戶的偏好,基于不同的偏好對(duì)用戶進(jìn)行群組劃分并推薦品味相似的事物,Mahout組件中的協(xié)同過濾算法分為基于物品的推薦(Item-Based Collaborative Filtering)算法和基于用戶的推薦(User-Based CollaboratIve Filtering)算法;回歸分析算法用于挖掘數(shù)據(jù)倉庫中數(shù)據(jù)屬性值之間的依賴特性,預(yù)測(cè)事物發(fā)展趨勢(shì)。
數(shù)據(jù)展示層[20]將平臺(tái)分析的部分結(jié)果以直觀的形式進(jìn)行展示。
本文運(yùn)用Hive組件[21],進(jìn)行貨運(yùn)車輛數(shù)據(jù)的統(tǒng)計(jì)分析任務(wù)設(shè)計(jì)與開發(fā),主要進(jìn)行了某月份車輛超速次數(shù)、某月份車輛TopN超速次數(shù)、某月份企業(yè)超速次數(shù)、某月份企業(yè)TopN超速次數(shù)、年度車輛ACC總時(shí)長(zhǎng)、年度車輛超速次數(shù)、年度企業(yè)超速次數(shù)、企業(yè)車輛上線率分析、某月份企業(yè)報(bào)警總時(shí)長(zhǎng)、某月份企業(yè)在線總時(shí)長(zhǎng)和某月份車輛總里程等任務(wù)分析。
本文綜合運(yùn)用DataV軟件的柱狀圖、餅狀圖、折線、雷達(dá)圖、地理分布圖和氣泡圖等多種圖表化元素對(duì)上述分析結(jié)果進(jìn)行可視化展示。
2.1.1 數(shù)據(jù)預(yù)處理與軌跡劃分
由于衛(wèi)星定位終端設(shè)備故障、信號(hào)不良和冷啟動(dòng)等原因,采集的北斗/GPS數(shù)據(jù)會(huì)存在一定的誤差。本文通過均值濾波、速度濾波和航向角檢測(cè)等方法來對(duì)數(shù)據(jù)進(jìn)行預(yù)處理操作,剔除無效或者冗余的數(shù)據(jù)。然后基于時(shí)間間隔對(duì)軌跡進(jìn)行劃分,并對(duì)軌跡進(jìn)行了壓縮處理,降低后續(xù)軌跡處理過程的時(shí)間復(fù)雜度。
2.1.2 基于時(shí)空相似性的軌跡相似性刻畫
通過對(duì)平臺(tái)貨車速度進(jìn)行大數(shù)據(jù)統(tǒng)計(jì)分析發(fā)現(xiàn),貨車的平均車速比較接近,這與貨運(yùn)車輛大多時(shí)間行駛在交通相對(duì)通暢的城際道路或者高速公路上這一事實(shí)相符。在進(jìn)行軌跡相似性度量過程中,同時(shí)考慮軌跡所耗費(fèi)時(shí)長(zhǎng)的相似性和空間位置相似性,構(gòu)建基于軌跡行駛時(shí)間差和軌跡距離差的軌跡相似性度量公式。軌跡L1={a1,a2,…,am}和軌跡L2={b1,b2,…,bn}之間的時(shí)空距離計(jì)算公式如下:
(1)
DF(L1,L2)min(maximax(a,b)∈Ai×BidistE(ai,bj)),
(2)
(3)
式中,T1,T2分別為軌跡L1和軌跡L2的從軌跡起點(diǎn)行駛到終點(diǎn)所耗費(fèi)的小時(shí)數(shù);Ls1,Ls2分別表示軌跡L1和軌跡L2的起始點(diǎn)和終點(diǎn)之間的直線距離;DF(L1,L2)為軌跡L1和軌跡L2的離散弗雷歇距離[22];distE(ai,bj)為經(jīng)緯度點(diǎn)ai和bj之間的歐氏距離。
根據(jù)平臺(tái)貨車軌跡實(shí)際情況,本文取權(quán)重參數(shù)α=0.22,β=0.78。
2.1.3 聚類結(jié)果分析
根據(jù)以上距離,通過K-means聚類算法對(duì)大數(shù)據(jù)平臺(tái)上某月份的貨運(yùn)車輛軌跡進(jìn)行了處理,并對(duì)包含軌跡數(shù)量最多的10個(gè)軌跡類進(jìn)行展示,軌跡聚類結(jié)果如表2所示。
表2 貨物運(yùn)輸熱門線路聚類結(jié)果表
Tab.2 Clustering results of hot freight transport lines
線路排名線路名稱NO.1101國(guó)道—承德段NO.2102國(guó)道—唐山段NO.3106國(guó)道—滄州段NO.4110國(guó)道—張家口段NO.5112國(guó)道—保定梁各莊-龍泉莊段NO.6307國(guó)道—石家莊段NO.7省道洺李線—邯鄲段NO.8省道武館路—邢臺(tái)段NO.9省道251線—秦皇島段NO.10京昆高速—省內(nèi)段
2.2.1 預(yù)測(cè)步驟
步驟1:根據(jù)上節(jié)中的軌跡聚類處理結(jié)果,假設(shè)有n個(gè)軌跡類簇,對(duì)第i(i=1,2,…,n)個(gè)聚類類簇Ci取其所有軌跡點(diǎn)的經(jīng)緯度坐標(biāo)均值分別作為該軌跡類簇中心點(diǎn)的經(jīng)緯度坐標(biāo),取所有軌跡起始點(diǎn)直線長(zhǎng)度均值的1/2作為軌跡類簇的半徑。
步驟2:根據(jù)每個(gè)聚類類簇中軌跡的數(shù)量,對(duì)軌跡類簇進(jìn)行活躍度評(píng)分,通過對(duì)大數(shù)據(jù)平臺(tái)軌跡數(shù)量分布情況的大量經(jīng)驗(yàn)總結(jié),采用專家系統(tǒng)法[23-24]對(duì)軌跡類簇的活躍度進(jìn)行評(píng)分,具體評(píng)分規(guī)則為:
IFnum≥5 000,THENScore=5;
IFnum≥4 000 andnum<5 000,THEN
Score=4;
IFnum≥2 500 andnum<4 000,THEN
Score=3;
IFnum≥1 500 andnum<2 500,THEN
Score=2;
IFnum<1 500,THENScore=1。
其中,num為某軌跡類簇中軌跡的條數(shù);Score為該軌跡類簇的活躍度評(píng)分。
步驟3:根據(jù)步驟2的評(píng)分,以某一輛車的最近一年的軌跡作為歷史數(shù)據(jù),進(jìn)行基于物品的協(xié)同過濾算法處理,計(jì)算出該車輛未來業(yè)務(wù)活動(dòng)區(qū)域預(yù)測(cè)。
步驟4:根據(jù)步驟2的評(píng)分,以不同車輛的軌跡相似性為基礎(chǔ),為某一車輛進(jìn)行基于用戶的協(xié)同過濾算法處理,計(jì)算出該車輛未來業(yè)務(wù)活動(dòng)區(qū)域預(yù)測(cè)。
步驟5:根據(jù)步驟3和步驟4的處理結(jié)果,計(jì)算預(yù)測(cè)結(jié)果的軌跡類簇的并集,對(duì)軌跡類簇按所包含的軌跡條數(shù)進(jìn)行降序排序。
步驟6:選取軌跡條數(shù)最多的5個(gè)軌跡類簇,以軌跡聚類類簇的中心點(diǎn)和半徑,作為該車輛的未來軌跡活動(dòng)區(qū)域預(yù)測(cè)結(jié)果。
2.2.2 預(yù)測(cè)結(jié)果分析
選取平臺(tái)上業(yè)務(wù)活躍的500輛貨運(yùn)車輛一年的歷史軌跡數(shù)據(jù)進(jìn)行軌跡預(yù)測(cè)分析,并以之后半年的軌跡數(shù)據(jù)作為預(yù)測(cè)結(jié)果比對(duì)標(biāo)準(zhǔn)。
經(jīng)驗(yàn)證,該預(yù)測(cè)方法準(zhǔn)確率達(dá)到60%以上,預(yù)測(cè)方法具備一定的可行性。
本文搭建了基于Hadoop2.x技術(shù)體系的大數(shù)據(jù)平臺(tái),將存儲(chǔ)于百萬級(jí)綜合車輛位置服務(wù)平臺(tái)傳統(tǒng)數(shù)據(jù)庫的貨運(yùn)車輛數(shù)據(jù)批量遷移到分布式文件系統(tǒng),并進(jìn)行了貨車數(shù)據(jù)的分析和挖掘;設(shè)計(jì)并實(shí)現(xiàn)了基于時(shí)空特征的K-means聚類算法,對(duì)貨運(yùn)車輛熱門區(qū)域進(jìn)行分析;將專家系統(tǒng)的思路和協(xié)同過濾算法進(jìn)行融合,對(duì)貨車未來一段時(shí)間軌跡的范圍進(jìn)行了預(yù)測(cè),挖掘貨車的軌跡規(guī)律和業(yè)務(wù)發(fā)展特征。本文所做工作對(duì)于挖掘熱門運(yùn)輸線路和分析貨運(yùn)車輛行為特征具有一定的實(shí)用價(jià)值和借鑒意義。