王書(shū)琴, 王勝和
(安徽公安職業(yè)學(xué)院 科技系,合肥 230036)
營(yíng)運(yùn)車(chē)輛狀態(tài)監(jiān)控系統(tǒng)利用衛(wèi)星導(dǎo)航定位技術(shù)、無(wú)線通信、地理信息系統(tǒng),以及計(jì)算機(jī)技術(shù),對(duì)車(chē)輛的位置信息和狀態(tài)信息進(jìn)行數(shù)據(jù)采集、分析處理和狀態(tài)發(fā)布,為車(chē)輛安全駕駛、物流監(jiān)控等保駕護(hù)航,提升道路運(yùn)輸?shù)陌踩院托?
近年來(lái),各行業(yè)陸續(xù)出現(xiàn)了以位置服務(wù)為核心業(yè)務(wù)的車(chē)輛動(dòng)態(tài)監(jiān)控系統(tǒng).這些系統(tǒng)涉及智能調(diào)度優(yōu)化[1]、車(chē)輛監(jiān)控、定位感知[2]、安全權(quán)限管理[3]、車(chē)聯(lián)網(wǎng)數(shù)據(jù)庫(kù)設(shè)計(jì)優(yōu)化[4]、車(chē)輛識(shí)別[5]等諸多方面.其中車(chē)輛狀態(tài)監(jiān)控是最基本的業(yè)務(wù),應(yīng)用最為廣泛.例如貨運(yùn)汽車(chē)安防系統(tǒng)[6]、校車(chē)安全云計(jì)算服務(wù)平臺(tái)[7],甩掛牽引車(chē)及掛車(chē)的動(dòng)態(tài)實(shí)時(shí)監(jiān)控及信息共享系統(tǒng)[8],以及物流車(chē)輛調(diào)度監(jiān)管系統(tǒng)[9]、煤礦輔助運(yùn)輸車(chē)輛實(shí)時(shí)監(jiān)控系統(tǒng)[10]等.
隨著車(chē)輛接入數(shù)量的增加,客戶增值業(yè)務(wù)類(lèi)型、深層次數(shù)據(jù)分析和挖掘的需求不斷提升,對(duì)車(chē)輛動(dòng)態(tài)監(jiān)控系統(tǒng)的性能要求越來(lái)越高.滿足這方面的需求有許多成功經(jīng)驗(yàn)可以借鑒,包括大型互聯(lián)網(wǎng)應(yīng)用體系架構(gòu)[11]、高性能成熟的組態(tài)軟件,以及包括NoSQL[12]、Hadoop[13]在內(nèi)的大數(shù)據(jù)處理技術(shù)等.
本文針對(duì)道路運(yùn)輸車(chē)輛狀態(tài)監(jiān)控需求,充分利用負(fù)載均衡、服務(wù)集群、分布存儲(chǔ)等大數(shù)據(jù)技術(shù),設(shè)計(jì)狀態(tài)監(jiān)控、數(shù)據(jù)存儲(chǔ)和分析服務(wù)系統(tǒng),提出了面向大規(guī)模高并發(fā)訪問(wèn)的營(yíng)運(yùn)車(chē)輛狀態(tài)綜合監(jiān)控解決方案系統(tǒng)(簡(jiǎn)稱“VehicleMon”).文章較為詳細(xì)地論述系統(tǒng)架構(gòu)和關(guān)鍵技術(shù),對(duì)其實(shí)際運(yùn)行情況作了充分的分析.
系統(tǒng)架構(gòu)風(fēng)格直接影響架構(gòu)屬性,包括性能、可伸縮性、可修改性、可移植性和可靠性等.車(chē)輛狀態(tài)監(jiān)控系統(tǒng)處理的設(shè)備和用戶數(shù)巨大,在正式給出VehicleMon系統(tǒng)軟件設(shè)計(jì)方案之前,需要闡述清楚方案設(shè)計(jì)背后的理性考慮,給出架構(gòu)風(fēng)格.
圖1 VehicleMon架構(gòu)風(fēng)格
(1)分層
VehicleMon系統(tǒng)實(shí)際上主要的服務(wù)對(duì)象有兩類(lèi).一類(lèi)是為用戶服務(wù),提供友好的人機(jī)界面,姑且認(rèn)為位于上層;另一類(lèi)是為現(xiàn)場(chǎng)的設(shè)備服務(wù),即數(shù)量眾多的車(chē)載終端,位于系統(tǒng)下層.現(xiàn)代DCS系統(tǒng)也是采用分層的設(shè)計(jì)思想,通常分為管理層、控制層和現(xiàn)場(chǎng)層,這提高了系統(tǒng)可靠性和可擴(kuò)展性.
(2)客戶/服務(wù)器
VehicleMon系統(tǒng)是一個(gè)天然的客戶/服務(wù)器系統(tǒng).它提供眾多的運(yùn)維客戶端、車(chē)載設(shè)備、服務(wù)器組成.我們向設(shè)計(jì)方案中添加“客戶/服務(wù)器”的約束,目的是分離用戶接口和數(shù)據(jù)控制與存儲(chǔ),改善了用戶接口跨多個(gè)平臺(tái)的可移植性;同時(shí)通過(guò)簡(jiǎn)化服務(wù)器組件,改善了系統(tǒng)的可伸縮性.
(3)無(wú)狀態(tài)
無(wú)狀態(tài)要求從客戶到服務(wù)器的每個(gè)請(qǐng)求都必須包含理解該請(qǐng)求所必需的所有信息,不能利用任何存儲(chǔ)在服務(wù)器上的上下文,會(huì)話狀態(tài)全部由客戶端來(lái)自行維護(hù).這一風(fēng)格大大改善了系統(tǒng)可靠性,因?yàn)樗鼫p輕了從局部故障中恢復(fù)的任務(wù)量,即不需要服務(wù)器在恢復(fù)時(shí)記住故障產(chǎn)生的相關(guān)狀態(tài)數(shù)據(jù).
(4)統(tǒng)一接口
圖2 VehicleMon系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
真正統(tǒng)一的接口其實(shí)較難做到,但會(huì)盡可能使得接口的種類(lèi)少.統(tǒng)一的接口使得系統(tǒng)架構(gòu)得到了簡(jiǎn)化,可見(jiàn)性和可維護(hù)性也得到了改善.最終形成如圖1所示的VehicleMon架構(gòu)風(fēng)格.
VehicleMon系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,主要由接入終端和運(yùn)營(yíng)監(jiān)控中心組成.營(yíng)運(yùn)車(chē)輛裝載電子終端設(shè)備(基于北斗),通過(guò)3G信號(hào)接入到Internet網(wǎng)絡(luò),系統(tǒng)提供手機(jī)終端APP接口和瀏覽器接口,方便人機(jī)交互訪問(wèn).監(jiān)控中心通過(guò)防火墻連接BGP(邊界網(wǎng)關(guān)協(xié)議)路由接入到IP互聯(lián)網(wǎng)絡(luò),以提高網(wǎng)絡(luò)訪問(wèn)的安全性和實(shí)時(shí)性.
VehicleCC以TCP/IP為基礎(chǔ)協(xié)議,采用基于Windows的多線程技術(shù),實(shí)現(xiàn)與車(chē)載終端的全雙工通信,完成車(chē)載終端接入功能.VehicleCC與車(chē)載終端的交互接口遵循交通運(yùn)輸行業(yè)標(biāo)準(zhǔn)JT/T808-2011協(xié)議,與上級(jí)監(jiān)管平臺(tái)的交互接口遵循JT/T809-2011協(xié)議.該協(xié)議標(biāo)準(zhǔn)規(guī)定了道路運(yùn)輸車(chē)輛衛(wèi)星定位系統(tǒng)車(chē)載終端與監(jiān)控平臺(tái)之間的通訊協(xié)議和數(shù)據(jù)格式,包括協(xié)議基礎(chǔ)、通信連接、消息處理等所有內(nèi)容,以及監(jiān)管平臺(tái)之間的通信方式、安全認(rèn)證、消息流程、消息格式和數(shù)據(jù)實(shí)體格式等內(nèi)容.VehicleCC的運(yùn)行界面如圖3所示.
Web服務(wù)VehicleServer需要處理大量的用戶請(qǐng)求,這些請(qǐng)求包括來(lái)自運(yùn)維人員、車(chē)輛企業(yè)用戶、司機(jī)用戶等多方面的位置查詢、統(tǒng)計(jì),以及控制指令.為了保證服務(wù)的高可用性,單獨(dú)配置了一臺(tái)負(fù)載均衡服務(wù)器.由于應(yīng)用服務(wù)器VehicleServer被設(shè)計(jì)為無(wú)狀態(tài)類(lèi)型,可以通過(guò)負(fù)載均衡進(jìn)行無(wú)狀態(tài)服務(wù)的失效轉(zhuǎn)移,一方面提高系統(tǒng)的可靠性,另一方面也分擔(dān)系統(tǒng)的負(fù)載壓力.
圖3 VehicleCC運(yùn)行界面
每個(gè)車(chē)載終端一般最快5秒就會(huì)上報(bào)一條位置信息,涉及到多媒體通信,如拍照和視頻指令的時(shí)候,數(shù)據(jù)量會(huì)更大.加上有不少業(yè)務(wù)邏輯利用處理代理的存儲(chǔ)過(guò)程模式保存在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)面臨的數(shù)據(jù)處理壓力大,性能要求高.為此我們采取了以下措施:
(1)應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離
系統(tǒng)配置三類(lèi)服務(wù)器,包括應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器,除單獨(dú)配置的文件服務(wù)器外,應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器采用集群的模式架設(shè).
(2)讀寫(xiě)分離與主從分布
Web應(yīng)用服務(wù)器VehicleServer和接入控制VehicleCC在寫(xiě)數(shù)據(jù)的時(shí)候訪問(wèn)主數(shù)據(jù)庫(kù),主數(shù)據(jù)庫(kù)通過(guò)主從復(fù)制機(jī)制將數(shù)據(jù)同步到從數(shù)據(jù)庫(kù);讀取數(shù)據(jù)時(shí)訪問(wèn)從數(shù)據(jù)庫(kù),這樣為一些來(lái)自車(chē)輛運(yùn)輸企業(yè)的統(tǒng)計(jì)查詢、在線位置監(jiān)控等業(yè)務(wù)極大地提高了響應(yīng)性能.
(3)表分區(qū)
存儲(chǔ)車(chē)輛軌跡的表每天產(chǎn)生大量數(shù)據(jù)記錄,隨著運(yùn)營(yíng)的日積月累,車(chē)輛軌跡表數(shù)據(jù)龐大,極大地降低了查詢的效率.為此采用SQL Server的表分區(qū)技術(shù),把數(shù)據(jù)分散存放到不同的物理磁盤(pán)中,提高這些磁盤(pán)的并行處理性能以優(yōu)化查詢性能.
(4)大數(shù)據(jù)分析與處理
VehicleMon系統(tǒng)除提供基本的車(chē)輛動(dòng)態(tài)監(jiān)控業(yè)務(wù),包括車(chē)輛狀態(tài)報(bào)警、位置監(jiān)控、統(tǒng)計(jì)分析等功能外,還存有其它可以挖掘的和經(jīng)濟(jì)密切相關(guān)的信息,包括營(yíng)運(yùn)車(chē)輛區(qū)域流動(dòng)性指標(biāo)、交通安全預(yù)警、長(zhǎng)距離運(yùn)輸線路優(yōu)化、車(chē)輛移動(dòng)分布規(guī)律挖掘[3]等,這些都需要大數(shù)據(jù)分析和處理技術(shù)的支撐.特別是車(chē)輛區(qū)域流動(dòng)性指標(biāo),類(lèi)似于克強(qiáng)指數(shù),貨運(yùn)車(chē)輛的流動(dòng)性一定程度上反映區(qū)域經(jīng)濟(jì)的活躍度,這些數(shù)據(jù)對(duì)政府宏觀經(jīng)濟(jì)調(diào)控具有重要指導(dǎo)意義.營(yíng)運(yùn)車(chē)輛駕駛員駕駛習(xí)慣和車(chē)輛運(yùn)營(yíng)狀態(tài)的大數(shù)據(jù)統(tǒng)計(jì)分析,為保險(xiǎn)公司運(yùn)營(yíng)優(yōu)化保險(xiǎn)業(yè)務(wù)提供重要數(shù)據(jù)分析來(lái)源.
目前VehicleMon系統(tǒng)已經(jīng)接入營(yíng)運(yùn)車(chē)輛,連續(xù)運(yùn)行數(shù)月以來(lái),總體運(yùn)行狀態(tài)良好.按照角色和權(quán)限管理方式,向平臺(tái)運(yùn)維人員、車(chē)輛運(yùn)輸企業(yè)人員提供不同的訪問(wèn)接口,用戶通過(guò)瀏覽器或者手機(jī)終端可以實(shí)時(shí)查詢到關(guān)系的車(chē)輛狀態(tài)信息和獲取統(tǒng)計(jì)分析報(bào)表.基于BS結(jié)構(gòu)的VehicleServer的監(jiān)控主界面如圖4所示.
圖4 VehicleServer監(jiān)控主界面
接入控制軟件VehicleCC在單服務(wù)器環(huán)境下進(jìn)行了性能測(cè)試,服務(wù)器環(huán)境為DELL PowerEdge系列,操作系統(tǒng)Windows 7.用軟件模擬大規(guī)模車(chē)載終端接入,分析VehicleCC的處理時(shí)間,結(jié)果如圖5所示.從測(cè)試結(jié)果看,平均每秒VehicleCC能夠處理近千條車(chē)載終端的上報(bào)消息.從測(cè)試情況看,單個(gè)節(jié)點(diǎn)當(dāng)每秒并發(fā)訪問(wèn)量超過(guò)500后,系統(tǒng)響應(yīng)時(shí)間急劇下降,如圖6所示.
圖5 VehicleCC性能測(cè)試結(jié)果
圖6 VehicleServer性能測(cè)試結(jié)果
本文針對(duì)車(chē)輛動(dòng)態(tài)監(jiān)控及數(shù)據(jù)智能分析,提出了一種可以支持大規(guī)模并發(fā)訪問(wèn)的高性能車(chē)輛綜合監(jiān)控系統(tǒng).通過(guò)采用合理的架構(gòu)風(fēng)格,選用業(yè)務(wù)拆分、負(fù)載均衡、服務(wù)集群、NoSQL查詢優(yōu)化等手段,較好地處理了車(chē)輛監(jiān)控中涉及的大數(shù)據(jù)量、并發(fā)訪問(wèn)量高等所帶來(lái)的問(wèn)題,基本滿足了實(shí)際應(yīng)用的需求.系統(tǒng)支持橫向和縱向的擴(kuò)展模式,可以快速響應(yīng)未來(lái)車(chē)輛接入的增長(zhǎng)要求.另外,系統(tǒng)在架構(gòu)設(shè)計(jì)訪問(wèn)方面還存在需要提升的地方,如在滿足一致性、可用性、分區(qū)容錯(cuò)性等方面還需深入研究,盡可能地提升系統(tǒng)的運(yùn)營(yíng)效率.
[1] 陳熙,郭遲,萬(wàn)怡,等.面向動(dòng)態(tài)隱患目標(biāo)的車(chē)聯(lián)網(wǎng)主動(dòng)安全模型及系統(tǒng)實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2015(1):22-26.
[2] 劉經(jīng)南,方媛,郭遲,等.位置大數(shù)據(jù)的分析處理研究進(jìn)展[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2014(4):379-385.
[3] 張文博.基于可信計(jì)算的車(chē)聯(lián)網(wǎng)云安全通信模型[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(11):102-105.
[4] 仰燕蘭,葉樺,費(fèi)樹(shù)岷.車(chē)輛定位監(jiān)控系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)與優(yōu)化[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(S1):43-47.
[5] 邵宇,張全發(fā),蒲寶明.智能監(jiān)控中的工程車(chē)輛識(shí)別算法[J].小型微型計(jì)算機(jī)系統(tǒng),2013(4):864-867.
[6] 王立穎.基于車(chē)聯(lián)網(wǎng)的貨車(chē)安全監(jiān)控系統(tǒng)設(shè)計(jì)與分析[J].物流技術(shù),2014(11):353-356.
[7] 李小偉.車(chē)聯(lián)網(wǎng)技術(shù)在校車(chē)安全監(jiān)控系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2013(10):40-42.
[8] 趙魯華.基于RFID/Compass/3G技術(shù)的甩掛車(chē)輛安全監(jiān)控系統(tǒng)研究[J].物流技術(shù),2015(4):140-142.
[9] 王曉華,李萍.基于無(wú)線傳感器網(wǎng)絡(luò)的智能物流車(chē)輛監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2014(12):132-135.
[10] 劉文濤.煤礦輔助運(yùn)輸車(chē)輛實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)[J].工礦自動(dòng)化,2014(10):68-71.
[11] 王元卓,靳小龍,程學(xué)旗.網(wǎng)絡(luò)大數(shù)據(jù):現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),2013(6):1125-1138.
[12] 覃雄派.大數(shù)據(jù)分析——RDBMS與MapReduce的競(jìng)爭(zhēng)與共生[J].軟件學(xué)報(bào),2012(1):32-45.
[13] 劉云峰.面向大數(shù)據(jù)的數(shù)據(jù)服務(wù)中心設(shè)計(jì)與應(yīng)用研究[J].通信學(xué)報(bào),2013(S2):170-174.