張 昊 張健欽 王家川 石睿軒 陸 浩 張 安
(1、北京建筑大學(xué)測(cè)繪與城市空間信息學(xué)院,北京102616 2、北京市交通信息中心 綜合交通運(yùn)行監(jiān)測(cè)與服務(wù)北京市重點(diǎn)實(shí)驗(yàn)室,北京100161)
近年來(lái),隨著衛(wèi)星定位技術(shù)、LBS 技術(shù)以及互聯(lián)網(wǎng)的不斷發(fā)展,位置數(shù)據(jù)被以各種方式收集,交通出行大數(shù)據(jù)呈爆發(fā)式增長(zhǎng)。如何高效存儲(chǔ)與管理交通大數(shù)據(jù)、解決交通數(shù)據(jù)多結(jié)構(gòu)化難題已成為政府管理部門亟待解決的重要問(wèn)題[1]。
基于Hadoop 的分布式存儲(chǔ)技術(shù):
HDFS(Hadoop Distributed File System)是Hadoop 抽象文件系統(tǒng)的一種實(shí)現(xiàn)。它可以與本地系統(tǒng)集成并且可以通過(guò)Web 協(xié)議來(lái)操作[2]。在HDFS 中存儲(chǔ)的文件分布在每一臺(tái)集群計(jì)算機(jī)中,同時(shí)自動(dòng)創(chuàng)建多個(gè)備份防止數(shù)據(jù)丟失。其設(shè)計(jì)目標(biāo)為存儲(chǔ)超大體積的文件,并且采用流式訪問(wèn)方式讀取海量數(shù)據(jù)。其數(shù)據(jù)讀取流程如圖1 所示。
圖1 HDFS 數(shù)據(jù)讀取流程
HBase 以表的形式存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)邏輯模型如表1 所示。HBase 與NoSQL 數(shù)據(jù)庫(kù)類似,HBase 由Row Key 作為檢索記錄的主鍵表中的每個(gè)列,都?xì)w屬于某個(gè)列族,每個(gè)列是由名為單元格(cell)的最小存儲(chǔ)單元組成。
表1 HBase 數(shù)據(jù)存儲(chǔ)邏輯模型
本系統(tǒng)整體框架總共由4 部分組成,主要采用B/S 架構(gòu),如圖2 所示。主體分為數(shù)據(jù)庫(kù)存儲(chǔ)層、后臺(tái)服務(wù)層和基于Web 瀏覽器的表現(xiàn)層。
圖2 系統(tǒng)框架圖
通過(guò)對(duì)多源交通大數(shù)據(jù)的整理及分析,現(xiàn)將系統(tǒng)劃分為公交車數(shù)據(jù)分析模塊、出租車數(shù)據(jù)分析模塊、共享單車數(shù)據(jù)模塊和地鐵數(shù)據(jù)模塊共4 個(gè)模塊。
2.2.1 公交車數(shù)據(jù)分析模塊
本模塊通過(guò)對(duì)原始刷卡數(shù)據(jù)的站點(diǎn)字段進(jìn)行提取,然后結(jié)合線路站點(diǎn)經(jīng)緯度,最后通過(guò)MapReduce 計(jì)算每個(gè)站位的上車刷卡總量,即該站登量。
圖3 公交站點(diǎn)OD 查詢
2.2.2 出租車數(shù)據(jù)分析模塊
通過(guò)對(duì)出租車的時(shí)空軌跡挖掘及基于區(qū)域的OD 分析,實(shí)現(xiàn)更準(zhǔn)確的掌握本市的出租車運(yùn)營(yíng)特征,如各時(shí)段載客熱點(diǎn)區(qū)域,為出租車管理分析提供技術(shù)支撐。
圖4 出租車時(shí)空軌跡
2.2.3 共享單車數(shù)據(jù)模塊
通過(guò)對(duì)南鑼地區(qū)共享單車數(shù)據(jù)進(jìn)行OD 提取、騎行時(shí)長(zhǎng)分布以及某月租車數(shù)量分布日歷圖進(jìn)行可視化展示與分析,為共享單車投放點(diǎn)與回收點(diǎn)、投放數(shù)量等提供輔助決策,從而一定程度上緩解用戶找不到車、找錯(cuò)車等現(xiàn)象。
圖5 共享單車圖表
2.2.4 地鐵數(shù)據(jù)模塊
通過(guò)地圖服務(wù)在地圖上展示各個(gè)站點(diǎn)的位置及其信息,站點(diǎn)的大小由該日的客流數(shù)量確定,同時(shí)設(shè)計(jì)多站點(diǎn)同時(shí)段客流比對(duì)以及單站點(diǎn)多時(shí)段比對(duì),為實(shí)現(xiàn)優(yōu)化站點(diǎn)服務(wù)能力提供輔助決策。
圖6 地鐵客流模塊示意圖
系統(tǒng)開(kāi)發(fā)采用B/S 架構(gòu),同時(shí)在服務(wù)端結(jié)合了Mapreduce 計(jì)算框架,在存儲(chǔ)中使用PostgerSQL 與Hadoop 分布式存儲(chǔ)框架結(jié)合的存儲(chǔ)方式。結(jié)構(gòu)數(shù)據(jù)如地鐵客流數(shù)據(jù)采用Postgresql 進(jìn)行基礎(chǔ)業(yè)務(wù)數(shù)據(jù)的存儲(chǔ),非結(jié)構(gòu)數(shù)據(jù)如公交車刷卡數(shù)據(jù)、出租車軌跡數(shù)據(jù)采取使用HDFS 分布式文件系統(tǒng)進(jìn)行存儲(chǔ),通過(guò)搭建SSM后臺(tái)框架實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理。最終在Web 瀏覽器端采用開(kāi)源地圖庫(kù)Mapbox、Openlayers,以及ArcGIS API 和Echarts 圖表等前端開(kāi)發(fā)技術(shù)進(jìn)行北京市各類交通數(shù)據(jù)的展示與數(shù)據(jù)分析結(jié)果的表達(dá)。
該平臺(tái)使用Hadoop 分布式存儲(chǔ)與PostgreSQL 數(shù)據(jù)庫(kù)相結(jié)合的存儲(chǔ)方式,解決了多源數(shù)據(jù)存儲(chǔ)時(shí)的數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)容量擴(kuò)展的問(wèn)題;建立Mapreduce 分布式計(jì)算框架,挖掘出租車、公交車等交通數(shù)據(jù)的信息價(jià)值,為城市交通大數(shù)據(jù)的信息挖掘及可視化分析等提供關(guān)鍵技術(shù)。