韋永軍
摘 要: 國產化北斗定位技術日益成熟的背景下,設計一套基于北斗定位的車輛服務平臺,應用于出租車,長途汽車運輸,旅游大巴,危險品運輸等營運情景。首先分析北斗定位的發展情況,然后介紹系統設計實現的關鍵技術,最后進行系統設計, 提出一種資源動態分配的方法,解決數據接收并問題。
關鍵詞: 北斗;營運;設計
基金項目:柳州市科學技術局立項課題 編號:2015C040301
1 技術背景
隨著2000年國家衛星定位戰略的逐步實施,經過十多年的技術發展,我國的北斗衛星定位系統已經覆蓋了亞太地區,服務于國防,交通,農業,林業等眾多的行業。與美國GPS (Global Positioning System,全球定位系統)相比,北斗具有更快的定位速度,更高的精確度,支持收發短信,自主知識產品等優點。在國內軍事,經濟領域逐步取代美國的GPS定位系統。2011年,交通部發布道路運輸車輛衛星定位系統車載終端技術標準(JT/T 794-2001)。2012年1月,交通部要求“兩客一危”車輛全面接入衛星監控平臺,標志著三類以上班級客車,旅游包車,危險品運輸等車輛必須接受運輸安全監控。2013年,交通部發布道路運輸車輛衛星定位系統北斗兼容車載終端通訊協議技術規范(JT T808-2013),行業內把JT/T 794-2001和JT T808-2013標準合稱為道路運輸部標協議。隨著道路運輸部標協議與“兩客一危”車輛的監管實施,標志著以北斗定位為核心的車輛運輸服務平臺正式拉開序幕。本文針對出租車,長途汽車運輸,旅游大巴,危險品運輸等營運情景,設計其北斗營運服務平臺。
2關鍵技術
本服務平臺主要使用以下相關技術:
(1)北斗定位
車載終端設備由MCU,北斗定位模塊,移通通信模塊組成,安裝在營運車輛上,通過北斗定位模塊實時采集車輛地理位置,速度,方向等行車狀態數據,把行車狀態數據用通信協議封裝后,通過移動通信模塊向后端服務平臺發送。
(2)移動通信
道路營運車輛在公路上開展運輸業務,使用移動通信模塊,結合電信運營商的移運互網絡,構建一張車輛終端與后端服務平臺的網絡,實現上下行數據的交互與通信。
(3)地圖
定位數據標注在地圖上是直觀有效的管理方式,結合地圖的功能,實現定位標注,實時軌跡,歷時軌跡,電子圍欄等功能,給運維人員友好人機的界面。
(4)數據庫
存儲車輛的行車狀態數據,有利于日志審計,及第三方監管平臺的對接。
(5)AJAX
一種在WEB頁面上不刷新頁面進行數據交互的機制,在實時軌跡,歷時軌跡等操作時提供數據更新。
3系統功能設計
3.1 功能分析
(1)車隊管理。根據不同的運輸企業,定義不同的車輛分組,實現車隊管理,進行車隊多點車輛監控。
(2)實時軌跡。對選定車輛進行實時監控,在服務平臺上顯示行車狀態數據,包括當位置,速度,方向等信息。
(3)歷史軌跡,查詢并顯示車輛的在某一個時間段內的行車狀態數據信息,并模擬其運行軌跡。
(5)電子圍欄,在中心平臺上對指定車輛設置一個運營的區域,當車輛越界時進行預算,通知車隊管理員。
(5)統計報表,對車輛上線簽到,運行時長,經常到達的區域進行統計分析。
(6)下發指令,制定服務器與車載終端的通信協議,從平臺向終端下發控制指令。
(7)用戶管理。根據不用的角色,定義用戶權限,管理員對全局配置管理,車隊管理員對車輛分組管理,個人用戶對單一車輛管理。
(8)系統管理。配置平臺與車輛信息;對外接口:連計價器,IC卡等外接設備。
(8)數據收發。處理車載終上傳的行車狀態數據,實現數據指令的下發。
3.2 系統設計
(1)車輛注冊。對于車載終端首次使用前,需要在平臺注冊,為保證與服務平臺的通信,做以下配置信息:終端標識,服務器的公網IP,端口號等。由于車載終端綁定運營商的手機號碼,因此該信息以短信方式向車載終端發送,移動通信模塊通過AT指令讀取接收短信的配置信息,并寫入終端置。接著向平臺發送心跳數據,由于電信運營商的提供的移動互聯網接入internet的方式,車載終端發送的心跳數據完全遵照TCP/IP協議的數據幀,服務平臺根據接收到的數據解析數據包的源地址,即可得到車載終的公網動態IP,以后的通信按照TCP/IP協議進行。
由于車載終端獲取的IP為動態地址,為保證通信的,設置車載終端每次上電啟動時主動發送心跳數據,該動作在服務平臺上定義為車輛點名。當車載終端主動發送心跳數據認為是主動點名;服務器先下發指名指定后,車載終端再回復數據認為被動點名。無論哪種車載點名,都必須各服務中心發送本機的識別碼ID作為終端唯一標識。
(2)數據收發。包括接收車載終端上傳的行車狀態數據和向車載終端下發指令。車載終端上線后得到一個公網的動態IP,對服務平臺的服務器進行TCP/IP通信,使用Socket通信模型實現,可選擇TCP和UDP協議傳輸數據。TCP是面向連接的可靠傳輸協議,有數據重發機制,確保數據到達目標主機。UDP是種面向無連接數據傳輸協議,不確定數據能否到達目標主機。與UPD相比,雖然在效率和網絡開銷方面TCP相對UDP銷遜一些,但其能保證數據的可靠傳輸,結合運輸安全考慮,本系統采用TCP數據傳輸協議,其數據收發的實現如圖2所示。
首先創建Socket套接字,并綁定服務器IP和端口后進行數據監聽,當車載終載連接發送數據后,創建線程接收和解析數據。
數據收發另一個重點問題是多車載終端同時上傳數據的接收并發問題,原因在于服務器接在該時刻同時接收到大于其處理能力的數據。在行業內的普遍的處理方式是接收數據時使用多線程處理或者是增大接收緩沖區的空間,該方法一定程度上提高了服務器的性能,但并沒有根據解決問題。其根本原因在于在服務器資源分配上,每臺服務器允許的TCP連接數與CPU、內存密切相關。因此,系統采用一種資源動態分配的方法,解決數據接收并問題。通過虛擬化技術把一臺物理服務器虛擬成N臺邏輯服務器,在每臺邏輯服務器配置公網的IP和端口,安裝服務平臺的數據接收子程序。
服務平臺根據上線的車載終端數量設置開啟邏輯服務器上的數據接收程序,向超出數量終端下發指令,修改其服務器地址和端口,以此類似,保證每個邏輯服務器只服務固定數量的終端,保證數據暢通。
數據存儲,把終端上傳數據根據通信協議解析出終端ID標識、定位數據、經緯度,速度,方向等行車狀態數據加上時間,寫入數據庫二維表,作為實時或歷史監控數據給服務平臺查詢。
(3)實時軌跡。把車載終端上傳的數據在地圖上實時更新,系統以百度地圖為基礎進行二次開發,通過AJAX從數據庫中查詢車輛的最新行車狀態數據,把車輛的定位置在百度地圖上進行標注,多個標注點之間繪直線,即得到車輛的實時行車軌跡。
(4)歷史軌跡。與實時軌跡類似,不同之處在于查詢一個起始時間段的數據在百度地圖上繪行車軌跡。
(5)電子圍欄。使用百度地圖的多邊形選擇工具進行繪圖,存儲該安全區域位置數據與車載終端的對應關系,當接收數據后時判斷是否在安全區域,如果不在區域內則系統播放聲音和發送短信預警。
3.3 通信協議設計
通信協議是車載終端與服務平臺之前一種數據互認的協同機制,由引$前導符開頭,以“#”結束,中間以逗號“,”號分隔數據一個串文本。其格式如上表所示。
3.4 數據庫設計
數據庫設計如圖2所示,為提高數據存儲效率,把監控數據表定義為內存表,提高讀寫的速度,再延時寫入歷史監控數據表。
4小結
本文分析北斗衛定位系統的應用情況,從車輛注冊,數據收發,實時軌跡,歷史軌跡等方面設計道路營運車輛服務平,并初步給出系統實現的思路。