陳斌,毛明榮
(南京師范大學 信息化建設管理處,江蘇 南京 210023)
摘要:針對云計算環境的復雜性造成的傳統集中式動態路線指引系統漸漸對處理快速增長的大規模交通數據失去效用的問題,以及消費者對實時機動車路線服務的需求與日俱增的情況,提出了基于TCP/IP標準的分布式機動車行車路線服務系統(SMDRS),其目的在于減緩交通擁堵的壓力,增進運輸服務的質量。實驗系統在Hadoop大數據中采用了MapReduce方法從而可以并行執行任務分配,使用了ZooKeeper技術以在子任務處理器之間建立協調機制,并且應用了卡爾曼濾波器算法以進行短周期交通流的預測。實驗結果證明,SMDRS系統能夠提供實時的機動車路線綜合服務,從而獲得更有效的交通信息,提供更有質量的推薦路線,進行更準確的行程時間的預測,以及功能更加齊備的服務通知推送。
關鍵詞:行車路線服務; 云計算; TCP/IP; 實時預測; 卡爾曼濾波器
0引言
南京師范大學數字校園建設研究項目(2013JSJG069)交通信息系統已經進入了大數據的時代,集中式的交通指引系統由于對集中式超級計算機的高計算能力的需求和依賴,已經很難再應用到現實的環境中[1]。因此,更多依附于無線通信技術的工作轉到分布式交通指引系統上來,即通過車載終端設備計算優化路線取代。
本文引入了一個分布式機動車行車路線服務系統SMDRS。該系統采用了一個基于Hadoop的輕量級MapReduce方法之上的分布式計算方法來完成任務的分配[2]。
1系統框架
1.1系統架構和組件
SMDRS是一個基于實際城市交通環境的機動車行車路線服務系統,其目的在于減輕由于快速的城市化所帶來的交通負載壓力[3]。該系統架構如圖1所示,這里有三種類型的組件:交通管理中心、機動車代理以及道路交叉路口代理。
交通管理中心是交通控制服務中心SMDRS的中樞,它提供了管理機動車服務數據的功能,這些數據包括注冊的機動車信息、它們各自的服務請求狀態以及路況環境的狀態等。
通常來說,交通管理中心可以分配離機動車代理最近的道路交叉路口代理以發送指引請求消息。一旦啟動的和終止的道路交叉路口代理狀態已經確定,終止的道路交叉路口代理可以通知所有中樞道路交叉路口代理在啟動的代理和其本身之間的所有路徑中計算得到最優化路徑[4]。
1.2基于TCP/IP的系統協議
基于TCP/IP的系統協議如下:
(1)在審視端到端模式時,采取基于連接的網絡協議[5]。一旦啟動和終止的道路交叉路口代理狀態被確定,圖1SMDRS的系統架構
優化推薦路線將更加容易被獲取。
(2)假設每一個道路交叉路口代理都擁有自己的數據庫,因此所有道路交叉路口代理都由一個分布式數據庫系統組成。
(3)每一個道路交叉路口代理都會向其鄰居節點廣播包括上一過程提到的所有信息。
(4)基于TCP/IP通信模式,在推薦信息發出之后,SMDRS將向機動車代理發送確認信息,接著就會等待機動車代理的響應,以確認是否機動車順利到達了目標[6]。
(5)當接收到響應信息時,機動車已經到達了它們的目的地,機動車路線服務也就完成了。
2SMDRS的運作機制
在SMDRS架構中,采用了基于持續和動態變化的優化條件的順序優化機制。如圖2所示。
2.1分布式調節系統的建立
SMDRS中數據庫都是分布式的。SMDRS是作為基于ZooKeeper模型的服務端集群環境來進行建模的[7]。通常來說,在系統開始運作時,交通管理中心自動選擇一個服務單元作為主服務單元。如果主服務單元在運作過程中出現意外而終止并且消亡,系統則會從余下的服務單元中選擇一個來接替其工作,成為新的主服務單元,從而保證分布式環境的數據持續性。
2.2最優路線的查找
在SMDRS架構中,按照上述基于TCP/IP的觀點,在尋找最優路線過程中主要采納了下列3種算法:TCP擁塞控制算法、IP路由算法和交換路徑轉發算法。
2.3交通預測機制與算法
從上述系統模型中可以看出,交通流到達道路交叉路口代理是以不同的時序持續發生的[8]。卡爾曼濾波器是一個能有效解決時間序列預測問題的重要手段[9]。在SMDRS架構中引入卡爾曼濾波器算法,該算法按照預測和更新[10]兩個步驟運作。
在SMDRS系統中,設置yh∈Km作為系統狀態,它代表了機動車代理從道路交叉路口代理啟動到終止的理論上的運行時間;xh∈Km作為測量結果,表示機動車代理從道路交叉路口代理啟動到終止的真實的運行時間;vh為機動車代理從第h個道路交叉口過渡到第h+1個道路交叉路口代理的運行時間。因此,卡爾曼濾波器模型可按如下方程序列表示:
yh=Mhyh-1+Hhvh-1+eh-1(1)
xh=Nhyh+uh(2)
其中:Mh表示變量轉換矩陣的狀態,它將之前步驟的時序狀態與當前步驟的時序狀態聯系起來;Hh是輸入變量系數矩陣,它將可選控制輸入v∈Kp與狀態y建立聯系;Nh表示觀測矩陣,它建立了當前狀態與觀測結果xh之間的關系。值得注意的是,在實驗中Mh與Nh存在著隨時間序列或觀測推進而變動的可能性,但在本實驗中以其二者保持恒定不變為假設。簡而言之, 本文設置Mh、Hh和Nh作為恒等矩陣。此外,隨機變量eh和uh分別表示了處理和測量過程中的噪聲系數,它們基本符合以下表達式范圍:
卡爾曼濾波器算法估算過程可以按如下表示:
預測步驟:定義y^-h∈Km作為一個估算道路交叉路口代理從啟動到終止的運行時間yh的優先狀態,同時y^h∈Km作為一個較晚的由測量結果xh給出的符合yh的評估狀態。并且定義一個前置和后置的評估錯誤如下(分別由f-h和fh表示):
相應的前置和后置評估錯誤協方差定義為:
基于上述信息,預測的優先狀態評估及其協方差yh可以按照下列程式獲取:
更新步驟:在SMDRS架構中,實際運行時間為xh,其預測值為Nhy^-h。為了提升預測的準確度,使用了基于xh和Nh y^-h差值的系數以修正前置估算結果y^-h ,而差值(xh -Nhy^-h)是通過系數Uh復合構成的。其方程可以表示為:
這里Uh為收益矩陣,符合limq-h→0Uh=0以及limWh→0Uh=N-1h。
繼而,更新的后繼狀態評估協方差yh可以表示為:
總而言之,可以使用改良的回歸方案對每一個道路交叉路口代理的機動車到達時間進行精準的預測。在圖3中清晰地給出了卡爾曼濾波器算法的處理過程。
3結論
在本文中,采用了基于MapReduce和TCP/IP的分布式計算技術來實現計算優化機動車路線的任務。在這種模式下,通過在云計算環境中采用ZooKeeper方法,建立分布式卡爾曼濾波器算法的協作系統,即對未來短期內的交通流的預測系統。根據離散原則,該系統可以獲取全部分布式存儲數據并進行分析,因此它可以有效減少綜合處理時間和待計算總量,以及計算所需的所有處理器的數量。
參考文獻
[1] 梁東鶯. 云計算及其應用[J]. 計算機測量與控制,2011,19(8):19581959.
[2] 張文金, 許愛軍. 基于云計算的混合并行遺傳算法求解最短路徑[J].電子技術應用,2015,41(3):123129.
[3] 姚遠,左曉棟. 云計算安全國家標準研究[J].電子技術應用,2014,40(8):49.
[4] 張秋明. 基于改進蟻群算法的云計算任務調度[J].電子技術應用,2015,41(2):121126.
[5] 周顯明,李建軍,王莉華,等. 基于云計算的測試公共服務平臺設計技術[J].微型機與應用,2015,34(4):14-16.
[6] 王慶波,何樂,趙陽,等. 虛擬化與云計算[M]. 北京:電子工業出版社,2009.
[7] 徐忠勝,沈蘇彬. 一種云計算資源的多目標優化的調度方法[J].微型機與應用,2015,34(12):1720.
[8] 鄧自立. 云計算中的網絡拓撲設計和Hadoop平臺研究[J]. 中國科學技術大學學報, 2009,11(2):126137.
[9] 胡光永. 基于云計算的數據安全存儲策略研究[J]. 計算機測量與控制,2011,19(10):25392541.
[10] 陳斌,張蕾. 基于安全性能接口的調度和管理模型研究[J]. 計算機應用研究,2014,31(3):908-911.