劉尊民,曲大義,陳秀鋒,陳文嬌
(青島理工大學(xué),汽車與交通學(xué)院,山東 青島 266520)
交通擁堵是當(dāng)前城市“交通病癥”的主要問(wèn)題之一。目前交通擁堵評(píng)價(jià)是研究難點(diǎn),其中交通信息數(shù)據(jù)采集常采用路測(cè)固定檢測(cè)器及浮動(dòng)車的方法。路測(cè)固定檢測(cè)器主要有微波雷達(dá)、感應(yīng)線圈、視頻攝像頭等,一般部署在關(guān)鍵路段和主要路口,但存在大量的信息盲點(diǎn),并可能因檢測(cè)器故障導(dǎo)致交通信息缺失[1];基于浮動(dòng)車的交通信息系統(tǒng),成本低且效率高,具有實(shí)時(shí)性強(qiáng),覆蓋范圍大的特點(diǎn)[2],其最大問(wèn)題在于浮動(dòng)車的占比問(wèn)題,高峰期需要大于12%的浮動(dòng)車才能保證得到可靠的估計(jì)值[3]。實(shí)際交通系統(tǒng)中很難接入占比大于10%的浮動(dòng)車[4-6],因此很難反映某個(gè)路口的交通狀況,直接導(dǎo)致了原始數(shù)據(jù)的獲取可信度較低。
綜合上述兩種方法,引入交通擁堵主觀信息數(shù)據(jù),開(kāi)發(fā)了基于TCP/HTTP的交通信息分享系統(tǒng)平臺(tái),該系統(tǒng)數(shù)據(jù)類型包括兩部分:客觀數(shù)據(jù)和主觀數(shù)據(jù)??陀^數(shù)據(jù)包括系統(tǒng)實(shí)時(shí)采集的浮動(dòng)車數(shù)據(jù)及流量數(shù)據(jù),該部分?jǐn)?shù)據(jù)來(lái)源于定位終端及流量采集裝置,為系統(tǒng)提供基礎(chǔ)的交通數(shù)據(jù);主觀數(shù)據(jù)為用戶通過(guò)智能終端(如智能手機(jī)、iPAD)實(shí)時(shí)上傳的3種交通狀態(tài):擁堵、輕度擁堵和暢通,該信息在地圖中以麻點(diǎn)形式標(biāo)注,可形成信息點(diǎn)云圖。通過(guò)對(duì)基礎(chǔ)交通數(shù)據(jù)及區(qū)域信息點(diǎn)云圖的統(tǒng)計(jì)分析,以最直觀的方式反饋至系統(tǒng)用戶,從而實(shí)現(xiàn)對(duì)交通擁堵信息的實(shí)時(shí)動(dòng)態(tài)分享。
系統(tǒng)在邏輯上分為3層結(jié)構(gòu):表示層、業(yè)務(wù)管理層及數(shù)據(jù)層。核心層為業(yè)務(wù)管理層,包括網(wǎng)關(guān)服務(wù)程序、通信服務(wù)程序及WebServer程序,上傳的現(xiàn)場(chǎng)數(shù)據(jù)包括基于HTTP協(xié)議的非安全類分享信息和基于TCP協(xié)議的安全類信息兩種;數(shù)據(jù)層提供網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)服務(wù),包括定位數(shù)據(jù)、報(bào)警數(shù)據(jù)、終端信息數(shù)據(jù)、管理信息數(shù)據(jù)集分享類信息數(shù)據(jù);表示層為客戶端程序,實(shí)現(xiàn)終端信息的監(jiān)控管理及地圖操作等功能,為用戶端接口界面。系統(tǒng)整體構(gòu)架如圖1,其中安全類信息指基于TCP通信的程序部分,涉及網(wǎng)關(guān)程序,通信服務(wù)器程序及客戶端程序;非安全類信息指基于HTTP通信的程序部分,涉及Webserver程序。
圖1 系統(tǒng)整體框架Fig.1 The overall framework of the system
系統(tǒng)涉及安全類和非安全類信息的處理。其中安全類信息包括APP模擬車終端及關(guān)鍵交叉口流量實(shí)時(shí)信息的監(jiān)控、客戶端查詢業(yè)務(wù)、客戶端命令信息的處理等;非安全類信息包括交通、圖片及文本信息的分享。安全類信息的主流程如圖2,非安全類信息的主流程如圖3。
圖2 安全類信息主流程Fig.2 Main process of safe information
圖3 非安全類信息分享總流程Fig.3 Information sharing process of non-safe information
2.2.1 網(wǎng)關(guān)程序
網(wǎng)關(guān)程序的主要功能包括接收APP終端上傳信息、收到的APP終端信息實(shí)時(shí)轉(zhuǎn)發(fā)至各APP終端、收到的APP終端信息轉(zhuǎn)發(fā)至通信服務(wù)器程序、收到的來(lái)自通信服務(wù)器端的命令指令轉(zhuǎn)發(fā)至APP終端。其中對(duì)終端APP信息獲取與處理流程如圖4。接收來(lái)自終端的數(shù)據(jù),開(kāi)辟線程,在線程函數(shù)中對(duì)所接收到的信息進(jìn)行處理。如果該信息為實(shí)時(shí)定位信息則轉(zhuǎn)發(fā)至各APP終端,同時(shí)發(fā)送至通信服務(wù)器;若為命令返回信息,如命令下達(dá)成功信息,則將該提示信息發(fā)送至通信服務(wù)器;若為不能識(shí)別信息則在日志文件中給出提示。
圖4 網(wǎng)關(guān)對(duì)終端信息處理流程Fig.4 Processing flow of gateway on terminal information
2.2.2 通信服務(wù)器程序
通信服務(wù)器程序?qū)崿F(xiàn)的主要功能包括接收來(lái)自網(wǎng)關(guān)數(shù)據(jù),存入數(shù)據(jù)庫(kù),需要實(shí)時(shí)顯示的信息轉(zhuǎn)發(fā)至客戶端;接收來(lái)自客戶端數(shù)據(jù)庫(kù)操作指令,操作數(shù)據(jù)庫(kù)并返回相關(guān)信息至客戶端;接收來(lái)自客戶端命令指令,轉(zhuǎn)發(fā)至網(wǎng)關(guān)程序。其中對(duì)網(wǎng)關(guān)端信息獲取與處理流程如圖5。接收來(lái)自網(wǎng)關(guān)需實(shí)時(shí)下發(fā)數(shù)據(jù),開(kāi)辟線程,在函數(shù)BatchForGate中對(duì)所接收到得信息進(jìn)行處理。如果為模擬浮動(dòng)車或?qū)崟r(shí)流量信息數(shù)據(jù),在函數(shù)SendAllMsgToClient中,將實(shí)時(shí)信息轉(zhuǎn)發(fā)至Client端;如果為命令的返回信息,分別在不同函數(shù)中進(jìn)行處理,方法類似基礎(chǔ)交通信息的處理。
圖5 通信服務(wù)器對(duì)網(wǎng)關(guān)轉(zhuǎn)發(fā)信息處理流程Fig.5 Processing flow of communication server on theinformation transferred by gateway
2.2.3 信息分享服務(wù)程序
信息分享服務(wù)程序主要功能包括提供Webserver接口函數(shù),終端APP通過(guò)HTTP協(xié)議可調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)上傳圖片及文本信息,并把該信息存入數(shù)據(jù)庫(kù),同時(shí)為客戶端提供基于用戶名、時(shí)間段及信息類型的查詢接口函數(shù)。其業(yè)務(wù)流程為APP分享信息通過(guò)HTTP協(xié)議上傳至WebServer服務(wù)器,并寫入數(shù)據(jù)庫(kù)??蛻舳顺绦蛲ㄟ^(guò)通信服務(wù)器可對(duì)該信息進(jìn)行基于查詢條件的訪問(wèn)操作,從而實(shí)現(xiàn)現(xiàn)場(chǎng)圖片、交通狀況等信息的分享。該信息上行部分為基于HTTP協(xié)議的通信,下行部分基于TCP協(xié)議通信。其信息流程為圖3。
客戶端主要功能包括浮動(dòng)車及交通流數(shù)據(jù)采集、浮動(dòng)車軌跡回放、終端信息管理、交通數(shù)據(jù)分析與處理、遠(yuǎn)程調(diào)度等。其中客戶端對(duì)服務(wù)器端轉(zhuǎn)發(fā)定位信息的處理流程如圖6。通過(guò)AxTcpToComm函數(shù)接收來(lái)自服務(wù)器數(shù)據(jù),調(diào)用DoRecStr函數(shù)進(jìn)行數(shù)據(jù)解析,判斷是命令返回或?qū)崟r(shí)數(shù)據(jù)。若為命令返回?cái)?shù)據(jù)如登陸成功,則根據(jù)不同的返回指令進(jìn)行相關(guān)處理,若為實(shí)時(shí)數(shù)據(jù)則通過(guò)開(kāi)辟線程進(jìn)行地圖匹配,同時(shí)通過(guò)開(kāi)辟線程函數(shù)對(duì)車輛列表及數(shù)據(jù)進(jìn)行實(shí)時(shí)更新。其它各模塊如軌跡回放,終端信息管理,交通信息分享等,通過(guò)TCP套接字函數(shù)發(fā)送至服務(wù)器指令對(duì)數(shù)據(jù)庫(kù)操作后,根據(jù)返回指令完成相應(yīng)功能,邏輯上類似。其中對(duì)登錄信息的處理過(guò)程較復(fù)雜,其流程如圖7。
圖6 Client端對(duì)通信服務(wù)器轉(zhuǎn)發(fā)信息的處理流程Fig.6 Processing flow of client side on the informationtransferred by communication server
圖7 網(wǎng)關(guān)對(duì)Client端初始化登陸處理流程Fig.7 Login process of gateway on the initialization of client
服務(wù)器軟件能同時(shí)支持不少于5 000臺(tái)APP設(shè)備在線,其中不少于1 000臺(tái)每秒1次數(shù)據(jù)。數(shù)據(jù)上傳頻率>1 Hz。若直接對(duì)數(shù)據(jù)存儲(chǔ),則數(shù)據(jù)庫(kù)寫的頻率>1 Hz,即對(duì)硬盤讀寫的頻率過(guò)高,容易造成硬盤損壞,該系統(tǒng)中采用兩種方法解決該問(wèn)題。
固態(tài)硬盤與普通硬盤相比,第一固態(tài)硬盤啟動(dòng)速度較快;第二系統(tǒng)碎片不影響讀取速度,數(shù)據(jù)讀取及寫入速度快,發(fā)生故障的概率較小,噪音較小,發(fā)熱量低[7-8]。因此系統(tǒng)采用兩塊500 G固態(tài)硬盤,一塊用于存貯實(shí)時(shí)數(shù)據(jù),另一塊用作系統(tǒng)數(shù)據(jù)備份。服務(wù)器采用Win Server 2008 X64位操作系統(tǒng),8 G內(nèi)存,保證實(shí)時(shí)數(shù)據(jù)的高頻轉(zhuǎn)發(fā)。
偶發(fā)數(shù)據(jù)為出行者上傳的主觀數(shù)據(jù),屬非安全類信息,上傳頻率較低,采用數(shù)據(jù)實(shí)時(shí)插入的方法,直接插入數(shù)據(jù)庫(kù)表格;實(shí)時(shí)上傳數(shù)據(jù)為系統(tǒng)客觀數(shù)據(jù),上傳頻率高,數(shù)據(jù)首先緩存至臨時(shí)表,再采用批處理方式插入數(shù)據(jù)庫(kù)表格。根據(jù)上傳頻率獲取的值設(shè)置批處理的條數(shù),開(kāi)辟線程,對(duì)多條信息采用批處理方法存入數(shù)據(jù)庫(kù),這樣可減少磁盤IO次數(shù),提高存儲(chǔ)讀寫效率。
監(jiān)控中心軟件是終端監(jiān)控管理系統(tǒng)的用戶操作部分。監(jiān)控終端軟件一方面為交通管控中心用戶提供了交通信息管理的平臺(tái),實(shí)時(shí)獲取浮動(dòng)車、流量及主觀信息分享數(shù)據(jù),同時(shí)負(fù)責(zé)從中心服務(wù)器的數(shù)據(jù)庫(kù)中獲取終端數(shù)據(jù),實(shí)現(xiàn)各項(xiàng)操作功能,如軌跡回放,歷史數(shù)據(jù)報(bào)表,遠(yuǎn)程通話調(diào)度等,達(dá)到監(jiān)控分析的目的;另一方面交通管控部門通過(guò)該平臺(tái)的基礎(chǔ)數(shù)據(jù),對(duì)交通狀態(tài)進(jìn)行基本判斷及決策,通過(guò)交通信息發(fā)布板、廣播及智能終端等方式,發(fā)布給出行者[9]。
系統(tǒng)中主觀數(shù)據(jù)信息分享點(diǎn)包括3種顏色:紅色,藍(lán)色及綠色,分別代表交通擁堵,輕度擁堵及暢通3種信息??稍O(shè)定信息點(diǎn)時(shí)間如最近5,10,30 min的數(shù)據(jù),并可對(duì)所顯示信息點(diǎn)在地圖上框選進(jìn)行統(tǒng)計(jì)分析。點(diǎn)擊某信息點(diǎn)顯示該條分享信息的詳細(xì)內(nèi)容,包括上傳時(shí)間、交通狀況,現(xiàn)場(chǎng)圖片、文本說(shuō)明等。
1)該系統(tǒng)通過(guò)采集浮動(dòng)車數(shù)據(jù),關(guān)鍵路口交通流量數(shù)據(jù),及由出行者通過(guò)智能終端上傳的3種實(shí)時(shí)交通狀況信息數(shù)據(jù):擁堵、輕度擁堵及暢通。同時(shí)配發(fā)圖片并攜帶信息點(diǎn)的地理位置數(shù)據(jù),為交通擁堵問(wèn)題的分析提供基礎(chǔ)數(shù)據(jù)和最直觀的依據(jù)。
2)系統(tǒng)數(shù)據(jù)分為安全類及非安全類信息??蛻舳伺c服務(wù)器通信基于TCP協(xié)議,服務(wù)器端只開(kāi)放數(shù)據(jù)上傳端口及客戶端訪問(wèn)的端口,有效的保證了信息的安全性。同時(shí)系統(tǒng)設(shè)計(jì)基于模塊化思想,系統(tǒng)邏輯流程關(guān)系嚴(yán)密,嚴(yán)格遵循終端協(xié)議開(kāi)發(fā),有效保證了系統(tǒng)的可靠性。
3)對(duì)高頻海量數(shù)據(jù)在系統(tǒng)硬件上采用固態(tài)硬盤進(jìn)行存儲(chǔ),軟件根據(jù)數(shù)據(jù)上傳頻率采用批處理的方式進(jìn)行數(shù)據(jù)入庫(kù)操作,并設(shè)置定期刪除大于6個(gè)月數(shù)據(jù)及數(shù)據(jù)的實(shí)時(shí)備份,實(shí)現(xiàn)了數(shù)據(jù)的有效維護(hù)。
[1] 張存保,嚴(yán)新平.固定檢測(cè)器和移動(dòng)檢測(cè)器的交通信息融合方法[J].交通與計(jì)算機(jī),2007,25(3):14-17.
Zhang Cunbao,Yan Xinping.Data fusion method for traffic information detected by fixed detectors and floating cars [J].Computer and Communications,2007,25(3):14-17.
[2] 諸彤宇,郭勝敏.浮動(dòng)車信息處理技術(shù)研究[J].中國(guó)圖像圖形學(xué)報(bào),2009,14(7):1230-1237.
Zhu Tongyu,Guo Shengmin.A study on floating car based information [J].Journal of Image and Graphics,2009,14(7):1230-1237.
[3] 翟雅嶠,翁劍成,榮建,等.城市道路交通流檢測(cè)數(shù)據(jù)精度評(píng)價(jià)[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(6):733-742.
Zhai Yaqiao,Weng Jiancheng,Rong Jian,et al.Experimental based traffic flow detectors data accuracy evaluation [J].Journal of Beijing University of Aeronautics and Astronautics,2011,37(6):733-742.
[4] 劉麗娜,吳建平,左興權(quán),等.浮動(dòng)車最小樣本數(shù)量確定方法綜述[J].公路交通科技,2009,26(增刊1):74-78.
Liu Lina,Wu Jianping,Zuo Xingquan,et al.Review of determining sample size of probe vehicles [J].Journal of Highway and Transportation Research and Development,2009,26(S1):74-78.
[5] 辛飛飛,陳小鴻,林航飛.基于樣本容量的浮動(dòng)車數(shù)據(jù)路網(wǎng)覆蓋能力研究[J].公路交通科技,2009,26(8):140-144.
Xin Feifei,Chen Xiaohong,Lin Hangfei.Study on detecting capability of floating car data in road network based on sample size [J].Journal of Highway and Transportation Research and Development,2009,26(8):140-144.
[6] 李慧兵,楊曉光.面向浮動(dòng)車取樣偏差修正的數(shù)據(jù)融合方法[J].同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2012,40(10):1498-1503.
Li Huibing,Yang Xiaoguang.Data fusion method on modifying sampling bias of floating cars [J].Journal of Tongji University:Natural Science,2012,40(10):1498-1503.
[7] 白潔,馬海兵.固態(tài)硬盤在存儲(chǔ)系統(tǒng)中的應(yīng)用分析[J].中國(guó)科技信息,2006(6):69-71.
Bai Jie,Ma Haibing.The analysis of application of SSD in the storage system [J].China Science and Technology Information,2006(6):69-71.
[8] 范玉雷,賴文豫,孟小峰.基于固態(tài)硬盤內(nèi)部并行的數(shù)據(jù)庫(kù)表掃描與聚集[J].計(jì)算機(jī)學(xué)報(bào),2012,35(11):2327-2336.
Fan Yulei,Lai Wenyu,Meng Xiaofeng.Database table scan and aggregation by exploiting internal parallelism of SSD [J].Chinese Journal of Computers,2012,35(11):2327-2336.
[9] 黃美靈,譚偉,高為,等.城市交通信息發(fā)布系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].重慶交通大學(xué)學(xué)報(bào):自然科學(xué)版,2010,29(4):616-619.
Huang Meiling,Tan Wei,Gao Wei,et al.Design and development of urban traffic information release system [J].Journal of Chongqing Jiaotong University:Natural Science,2010,29(4):616-619.