基於部標JT/T 808協議及數據格式的GPS服務器 開發


基於部標JT/T808協議及數據格式的GPS服務器 開發 

 2011年5月10日中國交通通信信息中心下發了《印發道路運輸車輛衛星定位系統平台和道路運輸車輛衛星定位系統車載終端標准符合性審查辦法(試行)的通知》。通知要求,系統平台和車載終端應當分別滿足《平台要求》和《終端要求》,同時分別滿足《道路運輸車輛衛星定位系統平台數據交換》和《道路運輸車輛衛星定位系統終端通訊協議及數據格式》的要求。系統平台和車載終端,應按照本辦法通過標准符合性審查。不符合標准的,不得用於道路運輸車輛動態監管工作。《道路運輸車輛衛星定位系統平台和道路運輸車輛衛星定位系統車載終端標准》簡稱部標,部標包括《道路運輸車輛衛星定位系統平台技術要求》(JT/T796-2011,簡稱《平台部標》)和《 道路運輸車輛衛星定位系統車載終端技術要求》(JT/T794-2011,簡稱《終端部標》)。至此,關於系統平台和車載終端必須符合部標的政策性文件正式出台。而對應硬件終端標准的通信協議標准JT/T808-2011和JT/T809-2011協議也隨之出台。

部標808和809的出台,統一了產品的標准,統一了平台與終端之間的通訊協議,對於GPS運營商而言,只要平台支持部標,那可以選擇任意一家的GPS車載終端,也不會受廠商的制約,GPS運營商在市場競爭過程中將更看重產品的質量及服務,從而也間接地促進市場上產品的穩定性和可靠性。

但是開發部標GPS服務器是一個繁瑣苦逼的活,有各種各樣的GPS終端需要兼容和支持,現在交通部頒發了統一的標准協議和數據格式,大部分車輛的GPS終端都需要支持,軟件也需要支持,否則可能在市場准入的時候就遇到麻煩。

我們開發了一個支持JT/T 808-2011數據格式的健壯的GPS服務器,提供下載。數據庫版本支持Mysql, Sqlserver和Oracle等關系數據庫,可以直接拿來做服務器連接前段GPS客戶端和報表開發。

需要JT 808 源碼+808模擬測試終端+壓力測試工具 的請聯系我購買1200元(2379423771@qq.com), Java版本,基於Netty框架的,參見:

基於Java Netty框架構建高性能的部標808協議的GPS服務器

基於Mina框架的參見:基於Java Mina框架的部標GPS服務器

T 808源碼很完整,已通過交管平台接入,可以直接使用。如果自己來寫,可能需要很長時間的編寫,由於需要結合終端或模擬終端進行測試,很多測試用例很難測試,如拍照,多媒體上傳,行車記錄儀數據上傳等等,很容易走彎路,浪費了大量的時間,建議直接購買808源碼省時省力。而通過808模擬測試終端可以模擬硬件設備的上傳行為通過TCP或UDP發送數據,幫助檢驗我們的程序是否正確的實現了808協議。

C#版的模擬終端開發-》部標808協議模擬終端的設計和開發

809轉發服務器的設計,參見:基於JT/T809-2011的(已過檢)GPS平台數據交換及轉發服務器

 

基於Asp.NET MVC框架+SignalR +ActiveMQ + Ali OSS 服務構建蘇標主動安全智能防控平台


試用版,沒有指令下發和報警分析及入庫功能。如果沒有安裝.NET4.0 runtime ,將不能運行,.NET4 runtime 安裝請到微軟網站 : http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

1.支持TCP和UDP兩種傳輸協議, 完整實現808協議的所有命令和消息;主要功能有:

2.基於完成端口的異步通信模式,可以支持大規模運輸車輛的終端並發上傳GPS數據;

3.對於數據包和定位包及服務器終端連接狀態進行在線實時監控,提供在線下發命令接口可以很方便的與終端進行交互,如拍照攝像等;

4.對於GPS數據包進行日志保存,便於調試跟蹤。

5.開發語言采用C# .NET4.0框架, 數據庫框架采用Nhibernate,這樣便於數據庫移植,可以支持Oracle, MySql和MS Sqlserver等多個數據庫。

6.Socket服務器模型采用了基於SocketAsyncEventArgs的SocketServer.  SocketAsyncEventArgs是.net提供的關於異步socket類,封裝了IOCP的使用,可以用它方便的實現非阻塞通信(non-blocking IO),同時采用對象池和緩沖區管理,大大減少了對象分配和垃圾收集的工作,對於Server性能和吞吐量有很大提升。單機測試可以並發支持上萬個終端。在設計的時候,接收和發送均采用異步全雙工通信的的形式,滿足了GPS服務器大批量數據上傳和大批量數據應答的特點,互不影響。

7.數據庫版,自動分析GPS數據,形成報警記錄,停車報表,油量記錄和加油漏油記錄、歷史軌跡等多個豐富的報表,直接拿來就可以用。

 8.高性能的解析模塊,在大規模連接的情況下,對於上傳的數據包的粘包、斷包仍然需要進行不差毫厘的解析,防止出現丟包的情況,這也是交通部平台過檢所要求的:在5000和1萬個終端連接的情況下,不允許出現連接中斷、丟包的情況。

 主界面功能如下圖所示,提供連接和數據包的視圖,對於連接的終端可以批量下發各種命令。

 服務器提供了從終端控制、參數設置和行車記錄儀及其他所有808規定的平台下發指令。可以對多個終端下發。

對於JT/T808協議文檔中規定的所有協議,無論是終端上行還是平台下發,都提供了完整的實現。並進行了完整的測試。在多個GPS系統中得到了充分的使用。

 

GPS服務器連接的特點是基於長連接,高吞吐量的處理特點,

1.很多企業在設計的時候,基於TCP協議開發,服務器所承受的連接都是長連接。

2.由於808協議規定終端發上來的包除了應答包,都要進行應答,很多傻逼終端企業在開發的時候,死板的照抄808協議,不應答不行。這樣就造成了大批量數據上傳和大批量數據應答的情況。實際上定位上傳的數據包完全不應該應答,心跳包就更沒道理去進行應答了。

為了提高終端接入能力和數據分析、入庫能力,將終端消息的處理分成獨立的五級處理模塊,每個處理模塊都是異步獨立的,每個模塊內都含有獨立的處理隊列,互不影響,提高數據的吞吐量和系統的響應能力。

1)第一級:實時數據解析入庫,入庫能力決定了客戶端所看到的實時數據是否延遲;

2)第二級:報警分析並入庫(包括32種808協議規定的報警、停車報警和路線偏移報警),報警分析只有快速分析才能快速的推送到前端客戶端;

3)  第三級:消息應答和指令下發,應答可以有一定的延遲,而不影響整個系統性能。

4)第四級:報表統計,由於油量統計、里程統計、上線率統計,需要定時掃描數據庫,生成每個時段的數據統計提供給報表查詢使用.

5)第五級:日志記錄和顯示

如下圖,采用終端模擬工具,自動生成靜態車輛數據,自動進行並發連接、注冊和鑒權后,開始定位數據上傳。每個車輛的上傳軌跡是獨立不重復的,報警位和狀態位定時反轉,便於測試報警分析和入庫能力。

這樣經過五秒傳一次的模擬的壓力測試后,真實環境就不在話下了。如何進行壓力測試參見:GPS部標監控平台-壓力測試

 

 

提供WCF服務接口,使得客戶端和其他第三方系統可以調用,從而能夠對終端下發命令。

代碼提供了命令接口和實時數據服務接口,可以很方便和PHP系統進行集成。

如下是部標平台的GIS客戶端調用808GPS服務器的WCF服務接口,給終端下發各種命令:

如需購買GPS平台源碼+文檔+服務,可以聯系我2379423771@qq.com。

Java平台,參見:

基於Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架構建高性能企業級的部標GPS監控平台

基於Struts+Spring+Hibernate+Ibatis+Quartz+Mina框架構建部標監控平台

.NET平台,參見:基於Asp.NET MVC構建GPS部標平台

Cs客戶端參見:GPS監控CS客戶端設計

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM