鐘 波,陶智勇
(武漢郵電科學(xué)研究院 湖北 武漢430065)
基于WebSocket的車輛GPS信息實(shí)時(shí)推送系統(tǒng)的實(shí)現(xiàn)
鐘 波,陶智勇
(武漢郵電科學(xué)研究院 湖北 武漢430065)
文中針對(duì)車輛管理系統(tǒng)中如何實(shí)時(shí)獲取車輛定位信息問題,采用緩存數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)終端實(shí)時(shí)反饋的GPS信息進(jìn)行存儲(chǔ),推送服務(wù)器利用Websocket將緩存數(shù)據(jù)庫(kù)中數(shù)據(jù)的變動(dòng)情況進(jìn)行處理并將處理結(jié)果推送至Web應(yīng)用,從而實(shí)現(xiàn)車輛GPS信息在地圖上進(jìn)行圖形展示,并進(jìn)行實(shí)時(shí)追蹤。當(dāng)然利用該系統(tǒng)也能實(shí)現(xiàn)實(shí)時(shí)報(bào)警信息的推送,從而實(shí)現(xiàn)監(jiān)控人員的對(duì)此類情況的及時(shí)處理,從而避免產(chǎn)生嚴(yán)重的災(zāi)難及后果。
WebSocket;實(shí)時(shí)定位;緩存數(shù)據(jù)庫(kù);數(shù)據(jù)推送;Spring
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展及日趨成熟,人們與普通萬(wàn)物聯(lián)系愈發(fā)緊密,對(duì)事物實(shí)時(shí)信息的需求也更加強(qiáng)烈,尤其是作為傳統(tǒng)運(yùn)輸業(yè),對(duì)車輛信息的準(zhǔn)確把握已經(jīng)不僅僅涉及到公司自身車輛安全、管理的范疇,更與用戶體驗(yàn)聯(lián)系緊密。傳統(tǒng)C/S系統(tǒng)通常通過TCP協(xié)議進(jìn)行通信[1],使用socket編程實(shí)現(xiàn)客戶端與服務(wù)器端的雙向通信非常容易,會(huì)導(dǎo)致長(zhǎng)期占有連接資源的缺陷;而基于HTTP協(xié)議的Web應(yīng)用實(shí)現(xiàn)這種C/S的雙向通信雖然理論上可以實(shí)現(xiàn)[2],但是有請(qǐng)求過多等弊端。
1.1 協(xié)議機(jī)制
WebSocket協(xié)議是Html5提供的一種在單個(gè)TCP連接基礎(chǔ)上進(jìn)行全雙工通訊的協(xié)議[3],雖然WebSocket協(xié)議本質(zhì)上基于TCP協(xié)議,由于HTTP協(xié)議的廣泛應(yīng)用于B/S,因此該協(xié)議延續(xù)并從HTTP過度而來(lái),利用HTTP的協(xié)議來(lái)完成一部分握手。它在HTTP協(xié)議中多了Upgrade、Connection兩項(xiàng),這兩項(xiàng)是瀏覽器客戶端用來(lái)告訴服務(wù)器發(fā)出的請(qǐng)求是WebSocket握手請(qǐng)求報(bào)文;在服務(wù)器進(jìn)行報(bào)文解析的過程中,會(huì)對(duì)Sec-WebSocket-Key處理并生成相應(yīng)的Sec-WebSocket-Accept字段值,當(dāng)服務(wù)器發(fā)送響應(yīng)報(bào)文之后即表明服務(wù)器端已完成向WebSocket協(xié)議的升級(jí);客戶端則會(huì)根據(jù)服務(wù)器端響應(yīng)的報(bào)文首先對(duì)Sec-WebSocket-Accept字段進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果來(lái)確定是否完成握手,從而建立相應(yīng)的WebSocket協(xié)議連接;完成握手之后,也就完成了從HTTP協(xié)議向WebSocket協(xié)議的Upgrade,WebSocket協(xié)議發(fā)生作用,當(dāng)服務(wù)器端有數(shù)據(jù)產(chǎn)生時(shí)就能夠?qū)崟r(shí)地推送給客戶端[4]。
1.2 WebSocket協(xié)議優(yōu)勢(shì)
常見的基于HTTP的服務(wù)器推送服務(wù)的實(shí)現(xiàn)是基于輪詢、長(zhǎng)輪詢、長(zhǎng)連接。輪詢是通過客戶端定時(shí)向客戶端發(fā)送HTTP請(qǐng)求,然后根據(jù)服務(wù)器響應(yīng)來(lái)進(jìn)行客戶端數(shù)據(jù)變化,一方面會(huì)帶來(lái)大量的HTTP請(qǐng)求[5],而且往往只有當(dāng)服務(wù)器端準(zhǔn)備好數(shù)據(jù)之后的一個(gè)請(qǐng)求是有價(jià)值的,大量的無(wú)效請(qǐng)求必然會(huì)帶來(lái)網(wǎng)絡(luò)擁塞,增加不必要的帶寬損耗;另外請(qǐng)求過多必然會(huì)造成服務(wù)器資源的不必要開銷。長(zhǎng)輪詢?yōu)榱藴p少HTTP請(qǐng)求對(duì)定時(shí)輪詢進(jìn)行了改進(jìn),當(dāng)server端沒有數(shù)據(jù)更新時(shí)HTTP連接會(huì)保持一段時(shí)間,直到數(shù)據(jù)變化或者過期,但其本質(zhì)上還是基于HTTP請(qǐng)求[6]。長(zhǎng)連接則是在客戶端與服務(wù)器之間建立一個(gè)長(zhǎng)期有效的連接來(lái)保證服務(wù)器向客戶端推送數(shù)據(jù),當(dāng)有大量客戶端連接服務(wù)器時(shí)大量的連接必然會(huì)造成服務(wù)器端資源的緊張。WebSocket協(xié)議是將HTTP協(xié)議提升而來(lái),每次只用發(fā)生一次HTTP請(qǐng)求,避免了不必要的帶寬浪費(fèi),同時(shí)也減少了服務(wù)器端資源的開銷[7]。
車輛GPS信息實(shí)時(shí)推送系統(tǒng)架構(gòu)如圖1。該系統(tǒng)主要由終端處理、后臺(tái)推送、前臺(tái)顯示3個(gè)核心模塊來(lái)進(jìn)行相關(guān)的業(yè)務(wù)數(shù)據(jù)處理,數(shù)據(jù)的存儲(chǔ)主要是根據(jù)是否是實(shí)時(shí)數(shù)據(jù)來(lái)進(jìn)行區(qū)分存放,實(shí)時(shí)數(shù)據(jù)存入緩存數(shù)據(jù)庫(kù)(Redis),其他數(shù)據(jù)存入非緩存數(shù)據(jù)庫(kù)(Mysql、Oracle 等)中。
圖1 系統(tǒng)架構(gòu)圖
GPS數(shù)據(jù)流向如圖2。車輛GPS信息根據(jù)部標(biāo)JT/T808協(xié)議傳輸?shù)浇K端交互服務(wù)器,進(jìn)行解碼、數(shù)據(jù)分類,根據(jù)不同的需求將GPS信息分別存到Oracle數(shù)據(jù)庫(kù)、緩存數(shù)據(jù)庫(kù);實(shí)時(shí)推送服務(wù)從緩存數(shù)據(jù)庫(kù)中讀取車輛GPS信息并實(shí)時(shí)推送到Web應(yīng)用服務(wù)器;Web應(yīng)用服務(wù)器將GPS信息進(jìn)行界面展示給客戶端[9]。
圖2 數(shù)據(jù)流向圖
2.1 車輛終端
負(fù)責(zé)貨運(yùn)任務(wù)的車輛GPS信息會(huì)發(fā)生頻繁變化,運(yùn)輸公司對(duì)所屬運(yùn)輸公司車輛GPS信息進(jìn)行實(shí)時(shí)接收處理,能夠保證車輛按照既定運(yùn)輸任務(wù)行駛,及時(shí)發(fā)現(xiàn)違規(guī)情況;同時(shí)能夠清楚了解運(yùn)輸任務(wù)的完成進(jìn)度,做好調(diào)度策略;當(dāng)車輛遇到緊急情況時(shí),能夠立即定位到車輛所在地信息,實(shí)施應(yīng)急處理。
2.2 終端交互服務(wù)
終端交互服務(wù)負(fù)責(zé)與車輛終端進(jìn)行交互,主要包括數(shù)據(jù)接收和信息下發(fā)。數(shù)據(jù)接收通過接收車輛終端發(fā)送的GPS封裝信息,進(jìn)行協(xié)議解析將GPS信息從協(xié)議信息中剝離出來(lái),根據(jù)不同的需要將GPS信息分別進(jìn)行存儲(chǔ)[10]。信息下發(fā)則主要是將需要發(fā)送給終端的數(shù)據(jù)進(jìn)行協(xié)議封裝,發(fā)送到終端。本文主要針對(duì)GPS信息進(jìn)行實(shí)時(shí)推送,進(jìn)行相應(yīng)的交互處理。
2.3 數(shù)據(jù)庫(kù)
數(shù)據(jù)的存儲(chǔ)由于涉及到兩類不同的需求,因此產(chǎn)生的數(shù)據(jù)往往需要存在不同的數(shù)據(jù)庫(kù)中。Oracle關(guān)系數(shù)據(jù)庫(kù)主要是用來(lái)將GPS信息做長(zhǎng)期持久化,存儲(chǔ)終端的任意時(shí)間段內(nèi)的GPS信息,這些歷史GPS信息可用于對(duì)車輛歷史運(yùn)行軌跡、線路、歷程等進(jìn)行分析、處理并展示。緩存數(shù)據(jù)庫(kù)主要鑒于緩存數(shù)據(jù)庫(kù)的查詢I/O速度快、定時(shí)清理數(shù)據(jù)庫(kù)無(wú)效記錄的特點(diǎn)[11],因此僅僅用來(lái)保存車輛終端的實(shí)時(shí)GPS信息,推送至Web服務(wù)器進(jìn)行前臺(tái)界面顯示。
2.4 GPS信息推送服務(wù)
GPS信息推送服務(wù)主要是基于WebSocket協(xié)議來(lái)完成。GPS信息推送服務(wù)端通過WebSocket協(xié)議API與Web應(yīng)用客戶端建立連接;然后讀取緩存數(shù)據(jù)庫(kù)中存儲(chǔ)的車輛終端GPS信息,再將數(shù)據(jù)推送至Web應(yīng)用服務(wù)器,從而實(shí)現(xiàn)車輛終端數(shù)據(jù)最低延遲地推送到Web應(yīng)用服務(wù)器端進(jìn)行數(shù)據(jù)的展示[12]。由于WebSocket協(xié)議最終建立的是是雙工的,因此同樣支持Web客戶端向信息推送服務(wù)端傳遞數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)流向的雙向封閉回環(huán)。
2.5 Web應(yīng)用客戶端
Web應(yīng)用客戶端主要作為車輛終端GPS信息的最終使用者。通過WebSocket協(xié)議接口接收信息,利用得到的GPS信息在ArcGIS地圖上進(jìn)行車輛定位信息地實(shí)時(shí)標(biāo)注,管理人員從而能夠?qū)囕v進(jìn)行實(shí)時(shí)監(jiān)控,實(shí)時(shí)了解車輛動(dòng)態(tài)信息,便于管理人員對(duì)公司車輛實(shí)時(shí)調(diào)度、應(yīng)急處理等。Web應(yīng)用客戶端實(shí)際是一個(gè)管理平臺(tái)系統(tǒng)還包括到司機(jī)信息、運(yùn)單管理、應(yīng)急處理、車輛調(diào)度、監(jiān)管服務(wù)、數(shù)據(jù)分析、決策支持、指令下發(fā)等功能模塊,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)、非實(shí)時(shí)數(shù)據(jù)之間的交叉互動(dòng),為企業(yè)提供更便捷、更精準(zhǔn)的運(yùn)輸業(yè)務(wù)管理。
3.1 API接口介紹
3.1.1 Html5中WebSocket接口
WebSocket API提供了簡(jiǎn)單的語(yǔ)法,能夠?yàn)榉?wù)器和客戶端可以在給定的時(shí)間范圍內(nèi)的任意時(shí)刻,相互推送信息。WebSocket并不限于以Ajax(或XHR)方式通信,因?yàn)锳jax技術(shù)需要客戶端發(fā)起請(qǐng)求,而WebSocket服務(wù)器和客戶端可以彼此相互推送信息;XHR受到域的限制,而WebSocket允許跨域通信[13]。WebSocket為指定目標(biāo)創(chuàng)建,用于雙向推送消息。
1)WebSocket實(shí)例創(chuàng)建初始化
Html5中建立WebSocket實(shí)例相當(dāng)簡(jiǎn)單直接調(diào)用new WebSocket(‘’);參數(shù)設(shè)置需要為連接的服務(wù)器端的地址,WebSocket協(xié)議的URL使用ws://開頭,另外安全的 WebSocket協(xié)議使用 wss://開頭[14]。
2)onmessage事件
客戶端與服務(wù)器建立連接之后,當(dāng)服務(wù)器端需要向客戶端推送數(shù)據(jù)時(shí),就會(huì)通過建立的WebSocket相應(yīng)的API向客戶端發(fā)送數(shù)據(jù),此時(shí)就會(huì)觸發(fā)WebSocket的onmessage事件,調(diào)用onmessage方法告訴客戶端有數(shù)據(jù)推送過來(lái),需要處理。此時(shí)客戶端可以根據(jù)需求重寫onopen事件方法將推送來(lái)的數(shù)據(jù)進(jìn)行處理。onmessage事件提供了一個(gè)data屬性,它可以包含消息的Body部分。
3)send方法
當(dāng)客戶端需要向服務(wù)器端傳輸數(shù)據(jù)時(shí),就可以調(diào)用send方法來(lái)完成。注意:send方法的調(diào)用必須在客戶端與服務(wù)器建立了WebSocket連接之后,因此,send方法調(diào)用一般會(huì)寫在onopen事件方法中來(lái)完成。
3.1.2 Spring中WebSocket接口
現(xiàn)在主流的web容器基本均已支持WebSocket,但各容器的WebSocket接口都不盡相同。為了統(tǒng)一WebSocket實(shí)現(xiàn),便于今后在不同web容器間的移植,這里使用SpringWebSocket框架集成。
1)ServletWebSocketHandlerRegistry類
Spring中使用 ServletWebSocketHandlerRegistry類注冊(cè)WebSocket處理器,該類實(shí)現(xiàn)了WebSocketHandlerRegistry接口,主要使用核心方法addHandler,通過調(diào)用該方法建立WebSocketHandler與Servlet容器中使用的URLs的映射關(guān)系。
2)WebSocketHandlerRegistration接口
該接口主要用來(lái)為指定的WebSocketHandler提供相關(guān)的配置方法接口,主要方法addInterceptors,為handshake請(qǐng)求配置相應(yīng)的攔截器。
3)HttpSessionHandshakeInterceptor類
該攔截器類特殊之處在于能夠?qū)TTP session中的屬性信息拷貝到自身的 handshake attributes中,可以通過getAttributes方法取出相關(guān)的狀態(tài)信息進(jìn)行對(duì)應(yīng)的處理。beforeHandshake方法會(huì)在建立連接握手前被觸發(fā),此時(shí)可以根據(jù)handshake attributes屬性來(lái)進(jìn)行確定是否建立連接,從而實(shí)現(xiàn)權(quán)限控制。afterHandshake方法則會(huì)在握手結(jié)束時(shí)被觸發(fā),此時(shí)可以根據(jù)相應(yīng)的response的狀態(tài)和頭信息來(lái)進(jìn)行判斷此次handshake是否成功來(lái)進(jìn)行相關(guān)的善后工作的處理,實(shí)現(xiàn)友好用戶界面提示。
4)WebSocketHandler接口
該接口實(shí)現(xiàn)WebSocket連接后進(jìn)行實(shí)質(zhì)性業(yè)務(wù)邏輯處理的接口,要求Websocket連接的處理類必須實(shí)現(xiàn)此接口。該接口的核心方法:after Connection Established、handleMessage。afterConnectionEstablished方法會(huì)在雙方通過WebSocket協(xié)議建立完整連接之后被觸發(fā),該方法會(huì)傳入WebSocketSession參數(shù),此時(shí)可以根據(jù)該參數(shù)中從對(duì)方傳入的數(shù)據(jù)進(jìn)行相關(guān)的處理。handleMessage方法則是最為核心的方法,該方法會(huì)在每次有新的WebSocket信息從對(duì)方到達(dá)時(shí)被觸發(fā),此時(shí)會(huì)傳入一個(gè)WebSocketMessage參數(shù),該參數(shù)封裝了從對(duì)方來(lái)的數(shù)據(jù)信息,同時(shí)還有WebSocketSession參數(shù)來(lái)進(jìn)行識(shí)別消息來(lái)自哪個(gè)客戶端。
3.2 系統(tǒng)實(shí)現(xiàn)
3.2.1 Web應(yīng)用端界面實(shí)現(xiàn)
1)WebSocket初始化
在JSP頁(yè)面中,直接進(jìn)行WebSocket實(shí)例建立,target設(shè)置為服務(wù)器的地址,同時(shí)傳入用戶的賬號(hào)、部門代號(hào)來(lái)作為連接建立WebSocket連接的驗(yàn)證信息;同時(shí)根據(jù)用戶編碼、部門來(lái)確定所監(jiān)控車輛,從Redis緩存數(shù)據(jù)庫(kù)中讀取車輛GPS信息[15]。具體實(shí)現(xiàn)如下:
2) WebSocket連接、數(shù)據(jù)傳輸
界面定義了一個(gè)監(jiān)控列表ViewTable進(jìn)行列表顯示車輛的GPS信息,該列表的表頭信息會(huì)根據(jù)所選擇的車輛信息發(fā)生改變,從而調(diào)用的changeSend方法。該方法會(huì)先調(diào)用定義的WebSocket的getWs()方法,獲取相應(yīng)的連接;然后調(diào)用send方法將數(shù)據(jù)信息發(fā)送給推送服務(wù)服務(wù)器端。其中重寫了WebSocket相關(guān)的 onopen、onClose、onError方法進(jìn)行連接、關(guān)閉、出錯(cuò)信息的處理,實(shí)現(xiàn)友好用戶交互界面;重寫onMessage方法[16]。
3.2.2 GPS信息推送推送服務(wù)端接口實(shí)現(xiàn)
1) 注冊(cè)在 SpringServlet容器中利用WebSocketHandlerRegistry建立對(duì)應(yīng)URL的攔截器和處理器攔截器。
2)攔截器
HandshakeInterceptor作為攔截器繼承HttpSession HandshakeInterceptor類,重寫了相關(guān)的beforeHandshake、afterHandshake方法。before Handshake方法對(duì)連接進(jìn)行預(yù)處理,對(duì)發(fā)起的請(qǐng)求的session中的的usrname、departmentCode屬性進(jìn)行封存至HandShake Attributes中。afterHandshake方法則主要是進(jìn)行控制臺(tái)顯示提示,表明連接已經(jīng)建了。
3)處理器
處理器實(shí)現(xiàn)類SystemWebSocketHandler主要實(shí)現(xiàn)了WebSocketHandler接口的after Connection Established 方法、handleMessage方法、after Connection Closed方法;此外,還有負(fù)責(zé)推送的私有方法:sendSingle方法、getJson方法、getVids方法。after ConnectionEstablished方法負(fù)責(zé)在連接建立之后根據(jù)userCode、departmentCode來(lái)設(shè)定緩存數(shù)據(jù)庫(kù)相應(yīng)數(shù)據(jù)集,進(jìn)而促使終端交互服務(wù)器開始從終端獲取對(duì)應(yīng)車輛終端GPS信息并保存至redis數(shù)據(jù)庫(kù);當(dāng)真正有數(shù)據(jù)請(qǐng)求從客戶端發(fā)送過來(lái)時(shí),會(huì)觸發(fā)相應(yīng)的handleMessage方法,該方法會(huì)調(diào)用相應(yīng)的getVids方法、sendSingle方法,來(lái)完成所請(qǐng)求的車輛的GPS信息的讀取、處理、發(fā)送。
通過利用緩存數(shù)據(jù)庫(kù)快速存取的特點(diǎn),基于WebSocket協(xié)議將從終端交互服務(wù)器取得的車輛定位GPS信息通過推送服務(wù)推送到web應(yīng)用客戶端;Web應(yīng)用客戶端利用GPS信息將車輛以可視化的地圖、列表等形式將展現(xiàn)出來(lái),實(shí)現(xiàn)客戶端對(duì)所屬車輛的位置信息的實(shí)時(shí)掌控,更加利于企業(yè)實(shí)現(xiàn)高效、便捷管理。由于系統(tǒng)中數(shù)據(jù)流向經(jīng)過多個(gè)節(jié)點(diǎn),必然導(dǎo)致數(shù)據(jù)的實(shí)時(shí)性降低[17]。因此,進(jìn)行模塊集成,縮短數(shù)據(jù)流通環(huán)節(jié),從而實(shí)現(xiàn)更低延遲,是未來(lái)此類系統(tǒng)研究的主要方向。
[1]劉犇,王猛.基于服務(wù)器推送技術(shù)的Web數(shù)據(jù)實(shí)時(shí)更新[J].電腦開發(fā)與應(yīng)用,2011,24(6):1-2.
[2]張麗.服務(wù)器推送技術(shù)在Web中的應(yīng)用研究[J].新鄉(xiāng)學(xué)院報(bào),2010,27(4):1-3.
[3]龍奇.下一代Web通信技術(shù)HTML5 WebSocket的研究[J].科技信息,2011,11( 36):273.
[4]溫照松,易仁偉,姚寒冰.基于WebSocket的實(shí)時(shí)Web應(yīng)用解決方案 [J].電腦知識(shí)技術(shù),2012,8(16):3826-3828.
[5]李代立,陳榕.WebSocket在Web實(shí)時(shí)通信領(lǐng)域的研究[J].電腦知識(shí)與技術(shù),2010,6(28):7923-7925,7935.
[6]鄭強(qiáng).web服務(wù)器推送技術(shù)的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京郵電大學(xué),2013.
[7]廖清平.基于Web的服務(wù)器的Push技術(shù)研究和應(yīng)用[D].廣州:中山大學(xué),2013.
[8]PeterLubbers.HTML5Programing—UsingtheHTML5 WebSocket API[M].Apress,2010.
[9]郭欣.基于HTML5的通用WebIM組件的前端設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2011:21.
[10]肖在昌,楊文暉,劉兵.基于WebSocket的實(shí)時(shí)技術(shù)[J].網(wǎng)絡(luò)與通信,2012(12):41.
[11]柯昌正,黃厚寬.AJax技術(shù)的原理與應(yīng)用[J].鐵路計(jì)算機(jī)應(yīng)用,2007,16(1):1-2.
[12]吳曉東,王鵬.Html5的通信機(jī)制及效率的研究[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2011,34(4):159-160.
[13]鄢金端,夏吉廣,張愛玉.服務(wù)器推送技術(shù)在智能倉(cāng)儲(chǔ)物聯(lián)網(wǎng)中的應(yīng)用[J].警察技術(shù),2013(2):19-22.
[14]江連峰,趙佳寶.復(fù)雜事件處理技術(shù)及其應(yīng)用綜述[J].軟件,2014(2):188-192.
[15]費(fèi)日東,李定主.服務(wù)器推送技術(shù)研究[J].電腦知識(shí)與技術(shù),2012(7):1516-1517.
[16]楊金玲,曲建光,曹先革,等.基于應(yīng)用技術(shù)型大學(xué)戰(zhàn)略 轉(zhuǎn)型的GIS實(shí)踐教學(xué)體系構(gòu)建[J].測(cè)繪工程,2015,24(2):78-80.
[17]姜毅,王兆青,曹麗.基于HTTP的實(shí)時(shí)信息傳輸方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(10):1-4.
Implementation for system of real-time pushing vehicle’s GPS information based on WebSocket
ZHONG Bo,TAO Zhi-yong
(Wuhan Research Institute of Post and Telecommunications,Wuhan 430065,China)
In order to solve the problem that how to get vehicle ‘s GPS information in vehicle management system in real-time,this paper use cache database to save the Real-time GPS information from the interactive terminal server;and then the pushing service pushes the newest GPS information to Web application client。The client utilizes the GPS information to mark the vehicle on the map or show on the datagrid,monitors the vehicle in Real-time.Of course,we can also take use of this system to push the alarming information to handle some emergencies in Real-time.In this way,some more serious disasters will be avoided.
WebSocket;real-time location;cache database;push data;Spring
TN919
:A
:1674-6236(2017)13-0048-05
2016-06-19稿件編號(hào):201606128
鐘 波(1990—),男,湖北隨州人,碩士研究生。研究方向:互聯(lián)網(wǎng)技術(shù)。