專利名稱:一種gps終端的通訊管理方法
技術領域:
本發明涉及數據通訊處理領域,具體涉及一種GPS終端的通訊管理方法。
背景技術:
隨著科技的發展和生活水平的提高,GPS定位在生活中的應用越來越廣泛,GPS定位導航設備(簡稱為GPS設備)逐漸成為汽車行業很重要的一款設備。車輛在安裝GPS設備后,客戶可隨時的了解自己車輛的行駛狀態和行駛位置等。這也使監控GPS設備的GPS監控中心面臨著一個難點,當GPS監控中心所監控的GPS設備達到十萬、百萬甚至更多的時候,在這種情況下GPS數據量將是巨大的,而且GPS監控中心的特點是數據實時性強,需要及時更新車輛的最新數據、及時下發與處理其他指令。另外,GPS設備的GPS定位數據一般包括GPS位置信息、ID信息、報警信息和圖片信息,其中,報警信息需要及時反饋給客戶端,而現有的GPS通訊機制下,在傳輸GPS位置信息、ID信息、報警信息和圖片信息等信息時,他們是在同一處理級別的,是一起傳輸的,而GPS位置信息和圖片信息是相當大的數據量,而現有的服務器由于海量數據處理技術的局限性和硬件的受限,常常在接收、解析和處理GPS定位數據時會有相當長的時間的延誤,因此往往貽誤了報警時機,有可能會給客戶帶來存在了很大的安全隱患。
發明內容
因此,針對上述的問題,本發明提出一種有效提高數據并發處理的能力,提高數據處理的準確度,提升數據處理的速度的GPS終端的通訊管理方法,并將報警信息從GPS數據中提取出來,在第一時間內首先發送到客戶端,從而使得報警不再有延誤,解決了現有技術之不足。為解決此技術問題,本發明的GPS終端的通訊管理方法,包括用于GPS定位的GPS設備、設于GPS監控中心的用于管理GPS設備的服務器和用戶查詢GPS設備狀態的客戶端,其通訊管理過程如下:
過程1:GPS設備接收GPS定位數據,并將該GPS定位數據發送至服務器;其中,GPS定位數據包括GPS位置信息、ID信息、報警信息和圖片信息;
過程2:服務器接收GPS設備發送的GPS定位數據,并對該GPS定位數據進行解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端;
過程3:客戶端即時接收服務器發送來的信息并處理,該處理包括報警提示服務器發送來的報警信息、應答服務器發送來的命令信息、顯示服務器反饋回來的結果信息;
過程4:用戶通過客戶端向服務器發送信息,服務器接收并處理該信息;其中,服務器接收并處理該信息具體包括以下內容:
過程41:服務器通過IOCP完成端口同時接收所有客戶端的信息;
過程42:對該信息分類為命令信息和數據信息,并將命令信息和數據信息分別用不同的標記區分;
過程43:服務器建立兩個線程,一個線程處理客戶端發來的命令信息,另外一個線程處理客戶端發來的數據信息;上述線程分別將處理結果發送至客戶端。進一步的,所述過程2具體包括以下過程:
過程21:服務器上建立數據緩沖隊列,并預先設置該數據緩沖隊列的存儲空間L ;
過程22:服務器實時接收GPS設備發送的GPS定位數據,如果GPS定位數據存在延時接收,則轉至過程23,如果不存在延時接收,則轉至過程25 ;
過程23:計算一個延時時間段T內接收的GPS定位數據的大小M,并預先設置一閾值N,如果M>N,將大于N的那部分GPS定位數據存入數據緩沖隊列,轉至過程24 ;如果M〈N,循環計算相鄰的下一個延時時間段T內接收的GPS定位數據的大小并與N比較,直至GPS定位數據被完全接收;
過程24:讀取數據緩沖隊列中存儲的GPS定位數據并解析,將解析后的GPS定位數據分類為報警信息和數據信息,將報警信息提取出來,發送至對應的客戶端;
過程25:服務器讀取其接收到的除了數據緩沖隊列以外的GPS定位數據,并解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端。進一步的,所述過程2還包括實時計算數據緩沖隊列的剩余存儲空間的過程,如果剩余存儲空間為0,即數據緩沖隊列存儲的GPS定位數據>L,則提取GPS定位數據中的報警信息,對剩余的數據信息進行壓縮處理,或者刪除其中的一部分數據以保證數據傳輸的穩定性。進一步的,過程43中,將處理結果發送至客戶端,如果處理結果的大小大于預設值X,則按照一定時間間隔將該處理結果分割為處理結果數據1、處理結果數據2、處理結果數據3...處理結果數據N,將處理結果數據1、處理結果數據2、處理結果數據3...處理結果數據N依次發送至客戶端,以使客戶端取得較快的系統響應。一般的,服務器是若干臺分布式服務器組成的服務器集群,GPS設備和客戶端的數量也為若干個。本發明采用上述方案,具有如下優點:
I通過采用高效的IOCP完成端口技術,單臺服務器可以有效維持上萬個TCP客戶端連接,獲得了強大的通信服務能力,保證了各個客戶端上顯示的車輛數據可以實時的更新;
2通過服務器建立兩個線程實現雙通道通訊機制,一個線程處理客戶端發來的命令信息,另外一個線程處理客戶端發來的數據信息,解決服務器在通訊峰值中,會出現短暫的鏈路擁堵情況;
3按照一定時間間隔將服務器的處理結果分割為若干個處理結果數據模塊,保證客戶端能在較短時間內得到服務器的響應;
4服務器讀取其接收到的GPS定位數據,解析后,將報警信息做一標記,并即時發送給客戶端,實現報警優先通訊機制,使客戶能夠及時處理報警信息,具有非常好的應用意義;
5通過數據緩沖隊列的使用,建立流量控制通訊機制,在保證速度的前提下,同時保證數據傳輸的穩定性。
圖1是本發明的流程 圖2是本發明中的過程2的具體流程圖。
具體實施例方式現結合附圖和具體實施方式
對本發明進一步說明。本發明的目的在于提出一種報警優先通訊機制的GPS終端的通訊管理方法。具體的,本發明的GPS終端的通訊管理方法,包括用于GPS定位的GPS設備、設于GPS監控中心的用于管理GPS設備的服務器和用戶查詢GPS設備狀態的客戶端,如圖1所示,其通訊管理過程如下:
過程1:GPS設備接收GPS定位數據,并將該GPS定位數據發送至服務器;其中,GPS定位數據包括GPS位置信息、ID信息、報警信息和圖片信息;
過程2:服務器接收GPS設備發送的GPS定位數據,并對該GPS定位數據進行解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端;
過程3:客戶端即時接收服務器發送來的信息并處理,該處理包括報警提示服務器發送來的報警信息、應答服務器 發送來的命令信息、顯示服務器反饋回來的結果信息;
過程4:用戶通過客戶端向服務器發送信息,服務器接收并處理該信息;其中,服務器接收并處理該信息具體包括以下內容:
過程41:服務器通過IOCP完成端口同時接收所有客戶端的信息;
過程42:對該信息分類為命令信息和數據信息,并將命令信息和數據信息分別用不同的標記區分;
過程43:服務器建立兩個線程,一個線程處理客戶端發來的命令信息,另外一個線程處理客戶端發來的數據信息;上述線程分別將處理結果發送至客戶端。其中,將處理結果發送至客戶端,如果處理結果的大小大于預設值X,則按照一定時間間隔將該處理結果分割為處理結果數據1、處理結果數據2、處理結果數據3…處理結果數據N,將處理結果數據1、處理結果數據2、處理結果數據3…處理結果數據N依次發送至客戶端,以使客戶端取得較快的系統響應。如圖2所示,所述過程2具體包括以下過程:
過程21:服務器上建立數據緩沖隊列,并預先設置該數據緩沖隊列的存儲空間L ;
過程22:服務器實時接收GPS設備發送的GPS定位數據,如果GPS定位數據存在延時接收,則轉至過程23,如果不存在延時接收,則轉至過程25 ;
過程23:計算一個延時時間段T內接收的GPS定位數據的大小M,并預先設置一閾值N,如果M>N,將大于N的那部分GPS定位數據存入數據緩沖隊列,轉至過程24 ;如果M〈N,循環計算相鄰的下一個延時時間段T內接收的GPS定位數據的大小并與N比較,直至GPS定位數據被完全接收;
過程24:讀取數據緩沖隊列中存儲的GPS定位數據并解析,將解析后的GPS定位數據分類為報警信息和數據信息,將報警信息提取出來,發送至對應的客戶端;
過程25:服務器讀取其接收到的除了數據緩沖隊列以外的GPS定位數據,并解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端。上述過程2還包括實時計算數據緩沖隊列的剩余存儲空間的過程,如果剩余存儲空間為0,即數據緩沖隊列存儲的GPS定位數據>L,則提取GPS定位數據中的報警信息,對剩余的數據信息進行壓縮處理,或者刪除其中的一部分數據以保證數據傳輸的穩定性。一般的,服務器是若干臺分布式服務器組成的服務器集群,GPS設備和客戶端的數量也為若干個。具體的,本發明采用了以下通訊機制:
一車輛實時數據通訊機制=GPS設備接收GPS定位數據,并將該GPS定位數據發送至服務器;客戶端通過有線或無線的方式連接到服務器,通過登錄服務器與服務器雙向通信。其中,GPS定位數據包括GPS位置信息、ID信息、報警信息和圖片信息。為使服務器獲得最大通信服務能力,保證各個客戶端上顯示的車輛數據可以實時的更新,本系統采用高效的IOCP完成端口技術,單臺服務器可以有效維持上萬個TCP客戶端連接。IOCP是一個異步I/O的API,它可以高效地將I/O事件通知給應用程序。與使用select O或是其它異步方法不同的是,一個套接字[socket]與一個完成端口關聯了起來,然后就可繼續進行正常的Winsock操作了。然而,當一個事件發生的時候,此完成端口就將被操作系統加入一個隊列中。然后應用程序可以對核心層進行查詢以得到此完成端口。IOCP本質是一種線程池的模型,當然這個線程池的核心工作就是去調用I/O操作完成時的回調函數,這也是IOCP名字的來由,這就比借用線程的方式要更加高效和專業,因為這些線程是專門創建來做此工作的,所以不用擔心它們還會去做別的工作,而造成忙碌或不響應回調函數的情況,另外因為I/O操作畢竟是慢速的操作,所以幾個線程就已經足可以應付成千上萬的輸入輸出完成操作的請求了(前提是回調函數做的工作要足夠少),所以這個模型的性能是非常高的。也是現在Windows平臺上性能最好的輸入輸出模型。二雙通道通訊機制:客戶端與服務器往往存在雙向的數據通訊要求,特別是車輛的位置數據需要定時上傳,其數據量大,發送頻次高,在通訊峰值中,會出現短暫的鏈路擁堵情況,這時,客戶端要下發命令到服務器就會無法即時下發,嚴重影響了系統的響應時間。本發明引入雙通道通訊機制,客戶端與服務器建立兩個通訊通道,一個是數據通道,一個是指令通道,數據通道專門負責除了控制指令以外的常規的GPS定位數據的上傳,如GPS位置信息、圖片信息等數據的上傳等。而指令通道則專門負責對實時性要求比較高的常規指令的執行。要實現雙通道機制,需要在服務器和客戶端建立起健全的數據同步機制,以保證兩邊通訊上的同步,同時還要考慮多種異常情況下的數據維護。三軌跡回放通訊機制:軌跡回放實現了客戶端對單部車輛在過去一段時間內行駛路線的回放功能,其特點是從服務器到客戶端的數據傳輸量較大,傳輸時間較長,工作站響應時間較長。在客戶端進行軌跡回放請求時,若查詢的時間段較大,數據庫查詢的時間也會比較久,往往需要IOs甚至更多的時間,此時用戶就會認為響應比較慢,針對這種情況,我們提出了單次查詢分批返回的處理機制,當客戶發起軌跡回放時,在服務器端對客戶端的請求進行分析,按照一定的間隔進行二次分割,將查詢結果分批量依次返回以保證客戶能在較短時間內得到系統的響應。四報警優先通訊機制:在大量的車輛終端上的GPS設備同時向GPS數據中心的服務器上報數據時,可能會造成服務器的數據延遲,在這種情況下,服務器將優先把延遲數據中的報警信息報文和命令應答報文發送到GPS監控指揮工作站,使客戶能夠及時處理報警信息。五流量控制通訊機制:在整個系統中,數據從車載終端的GPS設備發出,傳送到服務器上,服務器再從其數據庫獲取用戶需要的數據呈現給客戶端。可以看出,GPS設備是數據的生產者,服務器的數據庫是數據的消費者,而服務器對數據的處理則是中間的流通環節。GPS設備的數量和匯報的頻率決定了數據生產的速度,而服務器的數據處理能力決定了數據消費的速度。為保證整個系統數據流通的穩定,需要盡量提高消費速度,即服務器的處理能力,還要確保中間流通環節的穩定暢通。在實際的設計中,服務器上建立數據緩沖隊列,當前一個流通環節產生阻塞時,所接收的數據都將會緩存在這個隊列里面。在極端的情況下,當緩沖隊列滿時,為了保證數據傳輸的穩定性,在保證重要數據(如報警數據、車載終端應答數據等)的情況,對車載終端數據進行壓縮或者部分丟棄并產生系統報警。盡管結合優選實施方案具體展示和介紹了本發明,但所屬領域的技術人員應該明白,在不脫離所附權利要求書所限定的本發明的精神和范圍內,在形式上和細節上可以對本發明做出各種變化,均為本發明的保護范圍。
權利要求
1.GPS終端的通訊管理方法,其特征在于:包括用于GPS定位的GPS設備、設于GPS監控中心的用于管理GPS設備的服務器和用戶查詢GPS設備狀態的客戶端,其通訊管理過程如下: 過程1:GPS設備接收GPS定位數據,并將該GPS定位數據發送至服務器;其中,GPS定位數據包括GPS位置信息、ID信息、報警信息和圖片信息; 過程2:服務器接收GPS設備發送的GPS定位數據,并對該GPS定位數據進行解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端; 過程3:客戶端即時接收服務器發送來的信息并處理,該處理包括報警提示服務器發送來的報警信息、應答服務器發送來的命令信息、顯示服務器反饋回來的結果信息; 過程4:用戶通過客戶端向服務器發送信息,服務器接收并處理該信息;其中,服務器接收并處理該信息具體包括以下內容: 過程41:服務器通過IOCP完成端口同時接收所有客戶端的信息; 過程42:對該信息分類為命令信息和數據信息,并將命令信息和數據信息分別用不同的標記區分; 過程43:服務器建立兩個線程,一個線程處理客戶端發來的命令信息,另外一個線程處理客戶端發來的數據信息;上述線程分別將處理結果發送至客戶端。
2.根據權利要求1所述的GPS終端的通訊管理方法,其特征在于:所述過程2具體包括以下過程: 過程21:服務器上建立數據緩沖隊列,并預先設置該數據緩沖隊列的存儲空間L ; 過程22:服務器實時接收GPS設備發送的GPS定位數據,如果GPS定位數據存在延時接收,則轉至過程23,如果不存在延時接收,則轉至過程25 ; 過程23:計算一個延時時間段T內接收的GPS定位數據的大小M,并預先設置一閾值N,如果M>N,將大于N的那部分GPS定位數據存入數據緩沖隊列,轉至過程24 ;如果M〈N,循環計算相鄰的下一個延時時 間段T內接收的GPS定位數據的大小并與N比較,直至GPS定位數據被完全接收; 過程24:讀取數據緩沖隊列中存儲的GPS定位數據并解析,將解析后的GPS定位數據分類為報警信息和數據信息,將報警信息提取出來,發送至對應的客戶端; 過程25:服務器讀取其接收到的除了數據緩沖隊列以外的GPS定位數據,并解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端。
3.根據權利要求2所述的GPS終端的通訊管理方法,其特征在于:還包括實時計算數據緩沖隊列的剩余存儲空間的過程,如果剩余存儲空間為0,即數據緩沖隊列存儲的GPS定位數據>L,則提取GPS定位數據中的報警信息,對剩余的數據信息進行壓縮處理,或者刪除其中的一部分數據以保證數據傳輸的穩定性。
4.根據權利要求1所述的GPS終端的通訊管理方法,其特征在于:過程43中,將處理結果發送至客戶端,如果處理結果的大小大于預設值X,則按照一定時間間隔將該處理結果分割為處理結果數據1、處理結果數據2、處理結果數據3…處理結果數據N,將處理結果數據1、處理結果數據2、處理結果數據3…處理結果數據N依次發送至客戶端。
全文摘要
本發明涉及數據通訊處理領域,具體涉及一種GPS終端的通訊管理方法。GPS終端的通訊管理方法,包括用于GPS定位的GPS設備、設于GPS監控中心的用于管理GPS設備的服務器和用戶查詢GPS設備狀態的客戶端,其通訊管理過程如下過程1GPS設備接收GPS定位數據,并將該GPS定位數據發送至服務器;過程2服務器接收GPS設備發送的GPS定位數據,并對該GPS定位數據進行解析,將解析后的GPS定位數據分類為報警信息和數據信息,存儲該報警信息和數據信息,并將報警信息即時發送至對應的客戶端;過程3客戶端即時接收服務器發送來的信息并處理;過程4用戶通過客戶端向服務器發送信息,服務器接收并處理該信息。本發明應用于提高GPS終端的報警信息的通訊速度。
文檔編號H04L29/08GK103078905SQ201210568838
公開日2013年5月1日 申請日期2012年12月25日 優先權日2012年12月25日
發明者簡書杰 申請人:泉州豪杰信息科技發展有限公司