劉尊民,曲大義,陳秀鋒,陳文嬌
(青島理工大學,汽車與交通學院,山東 青島 266520)
交通擁堵是當前城市“交通病癥”的主要問題之一。目前交通擁堵評價是研究難點,其中交通信息數據采集常采用路測固定檢測器及浮動車的方法。路測固定檢測器主要有微波雷達、感應線圈、視頻攝像頭等,一般部署在關鍵路段和主要路口,但存在大量的信息盲點,并可能因檢測器故障導致交通信息缺失[1];基于浮動車的交通信息系統,成本低且效率高,具有實時性強,覆蓋范圍大的特點[2],其最大問題在于浮動車的占比問題,高峰期需要大于12%的浮動車才能保證得到可靠的估計值[3]。實際交通系統中很難接入占比大于10%的浮動車[4-6],因此很難反映某個路口的交通狀況,直接導致了原始數據的獲取可信度較低。
綜合上述兩種方法,引入交通擁堵主觀信息數據,開發了基于TCP/HTTP的交通信息分享系統平臺,該系統數據類型包括兩部分:客觀數據和主觀數據。客觀數據包括系統實時采集的浮動車數據及流量數據,該部分數據來源于定位終端及流量采集裝置,為系統提供基礎的交通數據;主觀數據為用戶通過智能終端(如智能手機、iPAD)實時上傳的3種交通狀態:擁堵、輕度擁堵和暢通,該信息在地圖中以麻點形式標注,可形成信息點云圖。通過對基礎交通數據及區域信息點云圖的統計分析,以最直觀的方式反饋至系統用戶,從而實現對交通擁堵信息的實時動態分享。
系統在邏輯上分為3層結構:表示層、業務管理層及數據層。核心層為業務管理層,包括網關服務程序、通信服務程序及WebServer程序,上傳的現場數據包括基于HTTP協議的非安全類分享信息和基于TCP協議的安全類信息兩種;數據層提供網絡數據存儲服務,包括定位數據、報警數據、終端信息數據、管理信息數據集分享類信息數據;表示層為客戶端程序,實現終端信息的監控管理及地圖操作等功能,為用戶端接口界面。系統整體構架如圖1,其中安全類信息指基于TCP通信的程序部分,涉及網關程序,通信服務器程序及客戶端程序;非安全類信息指基于HTTP通信的程序部分,涉及Webserver程序。

圖1 系統整體框架Fig.1 The overall framework of the system
系統涉及安全類和非安全類信息的處理。其中安全類信息包括APP模擬車終端及關鍵交叉口流量實時信息的監控、客戶端查詢業務、客戶端命令信息的處理等;非安全類信息包括交通、圖片及文本信息的分享。安全類信息的主流程如圖2,非安全類信息的主流程如圖3。

圖2 安全類信息主流程Fig.2 Main process of safe information

圖3 非安全類信息分享總流程Fig.3 Information sharing process of non-safe information
2.2.1 網關程序
網關程序的主要功能包括接收APP終端上傳信息、收到的APP終端信息實時轉發至各APP終端、收到的APP終端信息轉發至通信服務器程序、收到的來自通信服務器端的命令指令轉發至APP終端。其中對終端APP信息獲取與處理流程如圖4。接收來自終端的數據,開辟線程,在線程函數中對所接收到的信息進行處理。如果該信息為實時定位信息則轉發至各APP終端,同時發送至通信服務器;若為命令返回信息,如命令下達成功信息,則將該提示信息發送至通信服務器;若為不能識別信息則在日志文件中給出提示。

圖4 網關對終端信息處理流程Fig.4 Processing flow of gateway on terminal information
2.2.2 通信服務器程序
通信服務器程序實現的主要功能包括接收來自網關數據,存入數據庫,需要實時顯示的信息轉發至客戶端;接收來自客戶端數據庫操作指令,操作數據庫并返回相關信息至客戶端;接收來自客戶端命令指令,轉發至網關程序。其中對網關端信息獲取與處理流程如圖5。接收來自網關需實時下發數據,開辟線程,在函數BatchForGate中對所接收到得信息進行處理。如果為模擬浮動車或實時流量信息數據,在函數SendAllMsgToClient中,將實時信息轉發至Client端;如果為命令的返回信息,分別在不同函數中進行處理,方法類似基礎交通信息的處理。

圖5 通信服務器對網關轉發信息處理流程Fig.5 Processing flow of communication server on theinformation transferred by gateway
2.2.3 信息分享服務程序
信息分享服務程序主要功能包括提供Webserver接口函數,終端APP通過HTTP協議可調用相關函數實現上傳圖片及文本信息,并把該信息存入數據庫,同時為客戶端提供基于用戶名、時間段及信息類型的查詢接口函數。其業務流程為APP分享信息通過HTTP協議上傳至WebServer服務器,并寫入數據庫。客戶端程序通過通信服務器可對該信息進行基于查詢條件的訪問操作,從而實現現場圖片、交通狀況等信息的分享。該信息上行部分為基于HTTP協議的通信,下行部分基于TCP協議通信。其信息流程為圖3。
客戶端主要功能包括浮動車及交通流數據采集、浮動車軌跡回放、終端信息管理、交通數據分析與處理、遠程調度等。其中客戶端對服務器端轉發定位信息的處理流程如圖6。通過AxTcpToComm函數接收來自服務器數據,調用DoRecStr函數進行數據解析,判斷是命令返回或實時數據。若為命令返回數據如登陸成功,則根據不同的返回指令進行相關處理,若為實時數據則通過開辟線程進行地圖匹配,同時通過開辟線程函數對車輛列表及數據進行實時更新。其它各模塊如軌跡回放,終端信息管理,交通信息分享等,通過TCP套接字函數發送至服務器指令對數據庫操作后,根據返回指令完成相應功能,邏輯上類似。其中對登錄信息的處理過程較復雜,其流程如圖7。

圖6 Client端對通信服務器轉發信息的處理流程Fig.6 Processing flow of client side on the informationtransferred by communication server

圖7 網關對Client端初始化登陸處理流程Fig.7 Login process of gateway on the initialization of client
服務器軟件能同時支持不少于5 000臺APP設備在線,其中不少于1 000臺每秒1次數據。數據上傳頻率>1 Hz。若直接對數據存儲,則數據庫寫的頻率>1 Hz,即對硬盤讀寫的頻率過高,容易造成硬盤損壞,該系統中采用兩種方法解決該問題。
固態硬盤與普通硬盤相比,第一固態硬盤啟動速度較快;第二系統碎片不影響讀取速度,數據讀取及寫入速度快,發生故障的概率較小,噪音較小,發熱量低[7-8]。因此系統采用兩塊500 G固態硬盤,一塊用于存貯實時數據,另一塊用作系統數據備份。服務器采用Win Server 2008 X64位操作系統,8 G內存,保證實時數據的高頻轉發。
偶發數據為出行者上傳的主觀數據,屬非安全類信息,上傳頻率較低,采用數據實時插入的方法,直接插入數據庫表格;實時上傳數據為系統客觀數據,上傳頻率高,數據首先緩存至臨時表,再采用批處理方式插入數據庫表格。根據上傳頻率獲取的值設置批處理的條數,開辟線程,對多條信息采用批處理方法存入數據庫,這樣可減少磁盤IO次數,提高存儲讀寫效率。
監控中心軟件是終端監控管理系統的用戶操作部分。監控終端軟件一方面為交通管控中心用戶提供了交通信息管理的平臺,實時獲取浮動車、流量及主觀信息分享數據,同時負責從中心服務器的數據庫中獲取終端數據,實現各項操作功能,如軌跡回放,歷史數據報表,遠程通話調度等,達到監控分析的目的;另一方面交通管控部門通過該平臺的基礎數據,對交通狀態進行基本判斷及決策,通過交通信息發布板、廣播及智能終端等方式,發布給出行者[9]。
系統中主觀數據信息分享點包括3種顏色:紅色,藍色及綠色,分別代表交通擁堵,輕度擁堵及暢通3種信息。可設定信息點時間如最近5,10,30 min的數據,并可對所顯示信息點在地圖上框選進行統計分析。點擊某信息點顯示該條分享信息的詳細內容,包括上傳時間、交通狀況,現場圖片、文本說明等。
1)該系統通過采集浮動車數據,關鍵路口交通流量數據,及由出行者通過智能終端上傳的3種實時交通狀況信息數據:擁堵、輕度擁堵及暢通。同時配發圖片并攜帶信息點的地理位置數據,為交通擁堵問題的分析提供基礎數據和最直觀的依據。
2)系統數據分為安全類及非安全類信息。客戶端與服務器通信基于TCP協議,服務器端只開放數據上傳端口及客戶端訪問的端口,有效的保證了信息的安全性。同時系統設計基于模塊化思想,系統邏輯流程關系嚴密,嚴格遵循終端協議開發,有效保證了系統的可靠性。
3)對高頻海量數據在系統硬件上采用固態硬盤進行存儲,軟件根據數據上傳頻率采用批處理的方式進行數據入庫操作,并設置定期刪除大于6個月數據及數據的實時備份,實現了數據的有效維護。
[1] 張存保,嚴新平.固定檢測器和移動檢測器的交通信息融合方法[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] 諸彤宇,郭勝敏.浮動車信息處理技術研究[J].中國圖像圖形學報,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] 翟雅嶠,翁劍成,榮建,等.城市道路交通流檢測數據精度評價[J].北京航空航天大學學報,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] 劉麗娜,吳建平,左興權,等.浮動車最小樣本數量確定方法綜述[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] 辛飛飛,陳小鴻,林航飛.基于樣本容量的浮動車數據路網覆蓋能力研究[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] 李慧兵,楊曉光.面向浮動車取樣偏差修正的數據融合方法[J].同濟大學學報:自然科學版,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] 白潔,馬海兵.固態硬盤在存儲系統中的應用分析[J].中國科技信息,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] 范玉雷,賴文豫,孟小峰.基于固態硬盤內部并行的數據庫表掃描與聚集[J].計算機學報,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] 黃美靈,譚偉,高為,等.城市交通信息發布系統的設計與開發[J].重慶交通大學學報:自然科學版,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.