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