一種終端狀態的訂閱及通知方法、裝置的製作方法
2023-05-11 12:27:56 2
專利名稱:一種終端狀態的訂閱及通知方法、裝置的製作方法
技術領域:
本發明涉及通信技術領域,特別涉及一種終端狀態的訂閱及通知方法、 裝置。
背景技術:
在一些大型網絡信息交互系統中,用戶通常需要實時關注一些其他用戶 或者設備的當前狀態。通常的做法是,用戶向狀態跟蹤伺服器訂閱需要關注 的終端,狀態跟蹤伺服器實時將被訂閱的終端的狀態變化通知給用戶。用戶 可以稱為訂閱者,狀態跟蹤伺服器可以稱為通告者。
現有技術中,訂閱者將訂閱信息通過基於某種應用層協議發送給通告者, 如果訂閱信息量比較大,還會採用增量發送的方式逐一發送給通告者,通告 者收到訂閱信息後,會立即收集這些被訂閱終端的當前狀態,然後將這些狀 態信息逐一下發給訂閱者,由於下發的信息量可能比較大,也會採用增量下 發的方式。在後續過程中,當通告者監測到某個終端狀態發生變化,會立即 將這個變化信息下發給訂閱者。如果因為網絡不穩定等因素導致某個訂閱或 者通知消息丟失,通常發送者會釆用重發機制再次發送。
在上述場景下,消息交互非常頻繁,而且通常是同步發生,這就對通告
者的並發能力提出了有很高的要求。總所周知,採用傳輸控制協議(TCP, Transmission Control Protocol)可以建立一種可靠的雙向連接,可以保證信息 完整地發送給對方,但由於TCP協議通常是一種同步阻塞模式,每個連接佔 用資源較高,而且在網絡環境較差的情況下,阻塞時間會比較長,如果使用 TCP協議,通告者必須啟動大量的線程並發處理,這樣通告者的資源很快就 會消耗殆盡。因此,目前在具有一定規模的這類應用中,都是採用用戶數據 報協議(UDP, User Datagram Protocol)進行消息傳輸。UDP協議將消息 作為數據報傳輸,雙方不需要建立連接,消息發出後並不知道對方是否有接 收到,交互雙方通常採用異步工作方式,效率遠比TCP方式高。
目前針對UDP協議將消息作為數據報傳輸的技術流程主要包括以下方
面(1) 分量訂閱當訂閱和通知信息量比較大的時候,採用分量發送方式 分批傳輸。UDP協議的每個數據報的長度非常有限,當用戶需要訂閱的終端 數量很多的時候,就必須分量訂閱。
(2) 當通告者收到訂閱者的訂閱終端列表後,通常會將所有這些終端的 當前狀態全部通知給訂閱者。
(3) 當訂閱或通知消息丟失以後採用重發機制。由於UDP協議的不可靠 性,當網絡不穩定時,會偶爾遇到數據報丟失的情況。因此很多通告者和訂 閱者都有重發機制,當某一次交互沒有收到對方的確認,就會重新發送。
(4) 在訂閱期間內,當通告者監測到某個終端狀態發生變化,就會將這 個變化通知給所有訂閱此終端的訂閱者。
採用重發^4'J無法保證訂閱者真實的了解訂閱終端的狀態,且當訂閱的 終端數量比較龐大時,通告者需要消耗大量資源發送通知消息,導致通知消 息數量龐大,增大因通知消息丟失而帶來狀態錯誤的機率。
發明內容
本發明實施例提供了一種終端狀態的訂閱及通知方法、裝置,可以實時 了解被訂閱終端的狀態,摒棄重發機制,從而降低發送的消息數量,減少錯 誤發生的機率。
為實現上述目的,本發明實施例提供如下技術方案
本發明實施例提供了一種終端狀態的訂閱方法,包括 獲取所有被訂閱終端的初始狀態信息,並保存;
以用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的 訂閱4言息;
接收伺服器以用戶數據報協議方式發送的與被訂閱終端的初始狀態信息 不一致的被訂閱終端的當前狀態信息;
判斷所述被訂閱終端的當前狀態信息是否發生丟失,如果是,更新所述 被訂閱終端的初始狀態信息;如果否,則獲取所有被訂閱終端的當前狀態信 息,並更新所述被訂閱終端的初始狀態信息。
本發明實施例提供了一種終端狀態的通知方法,包括
監測被訂閱終端的初始狀態信息,並存儲;接收訂閱終端發送的全量訂閱請求,將存儲的被訂閱終端的初始狀態信
息發送給所述訂閱終端;
接收訂閱終端以用戶數據報協議方式發送的攜帶被訂閱終端的初始狀態 信息的訂閱信息;
逐一對比被訂閱終端的初始狀態信息與監測的被訂閱終端的當前狀態信 息,獲得不一致的被訂閱終端的當前狀態信息並發送給所述訂閱終端。 本發明實施例提供了 一種訂閱終端,包括
全量訂閱模塊,用於獲取所有被訂閱終端的初始狀態信息,並保存; 分量訂閱模塊,用於以用戶數據報協議方式向伺服器發送攜帶被訂閱終 端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與 被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;如果所述 被訂閱終端的當前狀態信息未丟失,更新被訂閱終端的初始狀態信息;
所述全量訂閱模塊,還用於如果伺服器發送的被訂閱終端的當前狀態 信息丟失,獲取所有被訂閱終端的當前狀態信息,更新被訂閱終端的初始狀
本發明實施例提供了一種伺服器,包括
全量通告單元,用於接收訂閱終端發送的全量訂閱請求;將存儲的被訂 閱終端的初始狀態信息發送給所述訂閱終端;
分量通告單元,用於監測被訂閱終端的初始狀態信息;接收訂閱終端發 送的攜帶被訂閱終端的初始狀態信息的訂閱信息;逐一對比被訂閱終端的初 始狀態信息與監測的被訂閱終端的當前狀態信息,獲得不一致的被訂閱終端 的當前狀態信息並發送所述訂閱終端;
資料庫,用於存儲所述分量通告單元監測的被訂閱終端的狀態信息。
與現有的技術相比,本發明實施例在發送伺服器的訂閱消息中攜帶每個 被訂閱終端的初始狀態信息,由於伺服器進行逐一對比並向訂閱終端發送不 一致的被訂閱終端的當前狀態信息,從而可以降低發送的消息數量,減少錯 誤發生的機率;當伺服器發送的被訂閱終端的當前狀態信息丟失時,訂閱終 端才向伺服器獲取一次所有被訂閱終端的當前狀態信息以糾正狀態錯誤,從 而可以實時了解被訂閱終端的狀態,摒棄重發^4'J。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖l為本發明實施例一提供的一種終端狀態的訂閱方法的流程示意圖;圖2為本發明實施例二提供的一種終端狀態的通知方法的流程示意圖;圖3a為本發明實施例三提供的一種訂閱終端的邏輯結構示意圖;圖3b為本發明實施例三提供的一種分量訂閱模塊的邏輯結構示意圖;圖3c為本發明實施例三提供的一種全量訂閱模塊的邏輯結構示意圖;圖4為本發明實施例四提供的一種伺服器的邏輯結構示意圖;圖5為本發明實施例五提供的一種終端狀態訂閱和通知的系統示意圖。
具體實施例方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。實施例一
請參閱圖1 ,圖l為本發明實施例一提供的一種終端狀態的訂閱方法的流
程示意圖。如圖l所示,該方法可以包括
步驟101:獲取所有被訂閱終端的初始狀態信息,並保存。
訂閱終端在開機時,可以採用傳輸控制協議方式向伺服器發送全量訂閱
請求;
接收伺服器發送的所有被訂閱終端的初始狀態信息;通過這樣的方式,可以將需要關注的被訂閱終端的初始狀態信息一次性獲取下來。
步驟102:以用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的訂閱信息。
訂閱終端可以在發送給伺服器的訂閱信息中攜帶步驟101獲取下來的被訂閱終端的初始狀態信息;
如果訂閱終端發送的訂閱信息量比較大,可以採取分量方式發送訂閱信息,通過分量方式發送最終可以完成所有被訂閱終端的初始狀態信息的發送;
訂閱終端具體可以釆用用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的訂閱信息,由於用戶數據報協議的每個數據報的長度非常有限,當發送的訂閱信息很多的時候,就必須分量發送,從而達到分量發送訂閱信息的目的。
始狀態信息不一致的被訂閱終端的當前狀態信息。
當伺服器接收到訂閱終端發送的攜帶被訂閱終端的初始狀態信息的訂閱信息之後,獲取被訂閱終端的當前狀態信息;
將被訂閱終端的當前狀態信息和訂閱信息中攜帶的被訂閱終端的初始狀態信息進行——對比,整理出不一致的被訂閱終端的當前狀態信息;
將這些不一致的被訂閱終端的當前狀態信息通過用戶數據報協議方式發送給訂閱終端。
步驟104:判斷所述被訂閱終端的當前狀態信息是否丟失,如果否,貝'J更新所述被訂閱終端的初始狀態信息;如果是,則獲取所有被訂閱終端的當前狀態信息,並更新所述被訂閱終端的初始狀態信息。
當伺服器在步驟103中整理出不一致的被訂閱終端的當前狀態信息之後,可以根據發送的被訂閱終端的當前狀態信息的順序給每個被訂閱終端的當前狀態信息分配一個通知序號,所有通知序號是具有連續性的;比如,伺服器發送第一個被訂閱終端的當前狀態信息時,分配通知序號l;發送第二個被訂閱終端的當前狀態信息時,分配通知序號2;……;以此類推;
當訂閱終端接收到所有的被訂閱終端的當前狀態信息之後,根據的通知序號是否具有連續性來確定被訂閱終端的當前狀態信息在傳輸過程中是否發生丟失;
如果所有的通知序號具有連續性,比如通知序號l,通知序號2,通知序號3,通知序號4,......,等等,將接收的被訂閱終端的當前狀態信息覆蓋對
應的被訂閱終端的初始狀態信息,從而達到更新被訂閱終端的初始狀態信息
9的目的;
反之,如果所有的通知序號不具有連續性,比如通知序號1,通知序號2,通知序號4等等,說明伺服器發送的第三個被訂閱終端的當前狀態信息在傳輸過程中發生丟失,需要進行獲取一次所有被訂閱終端的當前狀態信息以糾正因發送的第三個被訂閱終端的當前狀態信息丟失而來的狀態錯誤,具體的獲取方式與步驟101相同,在這裡就不再複述。
上述對本發明實施例一提供的一種終端狀態的訂閱方法進行了介紹,本發明實施例在發送給伺服器的訂閱消息中攜帶每個被訂閱終端的初始狀態信息,由於伺服器進行逐一對比並返回不一致的被訂閱終端的當前狀態信息;只有當被訂閱終端的當前狀態信息丟失時,才獲取一次所有被訂閱終端的當前狀態信息,糾正狀態錯誤,從而可以實時了解被訂閱終端的狀態,摒棄重發機制,降低發送的消息數量,減少錯誤發生的機率。
實施例二
請參閱圖2,圖2為本發明實施例二提供的一種終端狀態的通知方法的流程示意圖。如圖2所示,該方法可以包括
步驟201:監測被訂閱終端的初始狀態信息,並存儲。
伺服器在啟動的時候,可以監測所有被訂閱終端的初始狀態信息,並將被訂閱終端的初始狀態信息存儲於資料庫中;
在後續過程中,當伺服器監測到某一個被訂閱終端的初始狀態信息發生了變化,將該被訂閱終端的當前狀態信息存儲於資料庫,更新之前存儲的該被訂閱終端的初始狀態信息。
步驟202:接收訂閱終端發送的全量訂閱請求,將存儲的被訂閱終端的初始狀態信息發送給所述訂閱終端;
其中,伺服器可以才艮據訂閱終端以傳輸控制協議方式發送的全量訂閱請求,採用傳輸控制協議方式向訂閱終端一次性發送的所有被訂閱終端的初始狀態信息。
步驟203:接收訂閱終端以用戶數據報協議方式發送的攜帶被訂閱終端的初始狀態信息的訂閱信息。
其中,訂閱終端發送的訂閱信息可以採用用戶數據寺艮協議方式發送,由於用戶數據報協議的每個數據報的長度非常有限,當發送的訂閱信息很多的時候,就必須分量發送,從而達到分量發送訂閱信息的目的。
步驟204:逐一對比被訂閱終端的初始狀態信息與監測的被訂閱終端的當前狀態信息,獲得不一致的被訂閱終端的當前狀態信息並發送所述訂閱終端。
伺服器在步驟203中接收到訂閱終端發送的被訂閱終端的初始狀態信息之後,獲取被訂閱終端的當前狀態信息;
將被訂閱終端的當前狀態信息和訂閱信息中攜帶的被訂閱終端的初始狀態信息進行一一對比,整理出不一致的被訂閱終端的當前狀態信息;
將這些不一致的被訂閱終端的當前狀態信息通過用戶數據報協議方式發送給訂閱終端。
其中,伺服器可以發送的每個不一致的被訂閱終端的當前狀態信息分配一個通知序號,所有通知序號是具有連續性的。比如,伺服器發送第一個被訂閱終端的當前狀態信息時,分配通知序號l;發送第二個被訂閱終端的當前狀態信息時,分配通知序號2,以此類推。
伺服器給每一個發送的被訂閱終端的當前狀態信息分配一個通知序號的目的是為了使訂閱終端在接收被訂閱終端的當前狀態信息時,可以根據所有
在傳輸的過程中是否發生丟失。
上述對本發明實施例二提供的一種終端狀態的通知方法進行了介紹,本發明實施例逐一對比訂閱終端發送的每一個被訂閱終端的初始狀態信息,僅向訂閱終端發送不一致的被訂閱終端的當前狀態信息;只有當訂閱終端發送全量訂閱請求時,才以傳輸控制協議方式發送所有被訂閱終端的當前狀態信息給訂閱終端以糾正狀態錯誤,從而可以使訂閱終端實時了解被訂閱終端的狀態,摒棄重發機制,從而降低發送的消息數量,減少錯誤發生的機率。
實施例三
請參閱圖3a,圖3a為本發明實施例三提供的一種訂閱終端的邏輯結構示意圖。如圖3a所示,該訂閱終端可以包括
全量訂閱模塊301,用於獲取所有被訂閱終端的初始狀態信息,並保存;
ii分量訂閱模塊302,用於以用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;如果所述被訂閱終端的當前狀態信息未丟失,更新被訂閱終端的初始狀態信息;
所述全量訂閱模塊301,還用於如果伺服器發送的被訂閱終端的當前狀
太乂*臺主生 6fr古^rtV胡汰S電r^ J4"^"、J》太乂+自— — 面4jfidrt':ri'01汰4電^l;^刀^會
jG I 口 JC —A 乂、 ,^/V-K、/ , I '「J 'I7入,J一; h v 二 rrj 'K、 ;" l 口5^s^"7 i '|/入,j k"J 一; 一nw 口 J z廠/y ^X口
^夫態4呂息o
請一併參閱圖3b,所述分量訂閱模塊302可以包括
收發單元3201,用於以用戶數據報協議方式向伺服器發送攜帶被訂閱終
端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與
被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;
更新單元3202,用於如果所述^皮訂閱終端的當前狀態信息未丟失,更新
被訂閱終端的初始狀態信息。
其中,所述更新單元3202具體用於在伺服器發送的被訂閱終端的當前狀
態信息中攜帶的通知序號具有連續性時,將伺服器發送的被訂閱終端的當前
狀態信息覆蓋對應的被訂閱終端的初始狀態信息,達到更新被訂閱終端的初
始狀態信息的目的。
請一併參閱圖3c,,所述全量訂閱;漠塊301可以包括
獲取單元3011,用於獲取所有的被訂閱終端的初始狀態信息;
存儲單元3012,用於保存所有被訂閱終端的初始狀態信息。
其中,所述獲取單元3011還用於如果伺服器發送的被訂閱終端的當前狀
態信息丟失,獲取所有的被訂閱終端的當前狀態信息,並更新被訂閱終端的
初始狀態信息。
所述獲取單元3011具體可以採用傳輸控制協議方式向伺服器發送全量訂閱請求,接收伺服器發送的所有被訂閱終端的初始狀態信息,從而可以將需要關注的被訂閱終端的初始狀態信息一次性獲取下來。
當伺服器發送的被訂閱終端的當前狀態信息中攜帶的通知序號不具有連續性時,所述獲取單元3011再次採用傳輸控制協議方式向伺服器發送全量訂閱請求,接收伺服器發送的所有被訂閱終端的當前狀態信息,將伺服器發送的所有被訂閱終端的當前狀態信息覆蓋存儲單元3012保存的所有被訂閱終端的初始狀態信息,達到更新被訂閱終端的初始狀態信息的目的。
上述對本發明實施例三提供的一種訂閱終端進行了介紹,本發明實施例將被訂閱終端的初始狀態信息分量發送伺服器進行逐一對比,並接收服務返回不一致的被訂閱終端的當前狀態信息,從而可以實時了解被訂閱終端的狀態,降低伺服器發送消息數量,減少錯誤發生機率;只有當伺服器發送的被訂閱終端的當前狀態信息發生丟失時,才獲取一次所有^C訂閱終端的當前狀態信息以糾正狀態錯誤,從而可以摒棄伺服器的重發機制,簡化伺服器。
實施例四
請參閱圖4,圖4為本發明實施例四提供的一種伺服器的邏輯結構示意圖。如圖4所示,該伺服器可以包括
分量通告單元401,用於監測被訂閱終端的初始狀態信息;接收訂閱終端發送的攜帶被訂閱終端的初始狀態信息的訂閱信息;逐一對比被訂閱終端的初始狀態信息與被訂閱終端的當前狀態信息,獲得不一致的被訂閱終端的當前狀態信息並發送所述訂閱終端;
資料庫402,用於存儲所述分量通告單元401監測的被訂閱終端的當前狀態信息。
其中,所述伺服器還可以包括
全量通告單元403,用於接收訂閱終端發送的全量訂閱請求;將資料庫402存儲的被訂閱終端的初始狀態信息發送給所述訂閱終端。
在後續過程中,如果所述分量通告單元401監測到某一個被訂閱終端的初始狀態信息發生了變化時,所述資料庫402將該被訂閱終端的當前狀態信息進行存儲,更新之前存儲的該被訂閱終端的初始狀態信息。
其中,所述分量通告單元401具體可以在接收到訂閱終端發送的被訂閱終端的初始狀態信息之後,將訂閱信息中攜帶的被訂閱終端的初始狀態信息和監測的^皮訂閱終端的當前狀態信息進行——對比,整理出不一致的被訂閱終端的當前狀態信息;
將這些不一致的被訂閱終端的當前狀態信息通過用戶數據報協議方式發送給訂閱終端。同時,分量通告單元401可以給發送訂閱終端的每一個不一致的被訂閱終 端的當前狀態信息分配一個通知序號,所有通知序號是具有連續性的。比如,
發送第一個被訂閱終端的當前狀態信息時,分配通知序號l;發送第二個被訂 閱終端的當前狀態信息時,分配通知序號2;……;以此類推。
給每一個發送的被訂閱終端的當前狀態信息分配一個通知序號的目的是
為了使訂閱終端在接收被訂閱終端的當前狀態信息時,可以根據所有的通知 序號是否具有連續性來判斷伺服器發送的被訂閱終端的當前狀態信息在傳輸
的過程中是否發生丟失;
當訂閱終端判斷伺服器發送的被訂閱終端的當前狀態信息發生丟失時, 向所述全量通告單元403發送的全量訂閱請求;所述全量通告單元403將數 據庫402存儲的被訂閱終端的初始狀態信息以傳輸控制協議方式發送給所述 訂閱終端,使訂閱終端可以糾正因被訂閱終端的當前狀態信息發生丟失而帶 來的狀態錯誤。
所述全量通告單元403採用傳輸控制協議方式向訂閱終端發送被訂閱終 端的初始狀態信息可以保證被訂閱終端的當前狀態信息完整地發送給訂閱終 端。
上述對本發明實施例四提供的一種伺服器進行了介紹,本發明實施例逐 一對比訂閱終端發送的每個被訂閱終端的初始狀態信息,僅向訂閱終端發送 不一致的被訂閱終端的當前狀態信息,從而降低發送的消息數量,減少鋪4吳 發生的機率;只有當訂閱終端發送全量訂閱請求時,才以傳輸控制協議方式 發送一次所有被訂閱終端的當前狀態信息給訂閱終端以糾正狀態錯誤,可以 使訂閱終端實時了解被訂閱終端的狀態,摒棄重發機制,簡化伺服器。
實施例五
本實施例結合上述實施例三提供的訂閱終端以及實施例四提供的伺服器 介紹一種終端狀態訂閱和通知的系統。請參閱圖5,圖5為本發明實施例五提 供的 一種終端狀態訂閱和通知的系統示意圖。
如圖5所示,伺服器S01在啟動的時候,首先分量通告單元S011監測 所有被訂閱終端的初始狀態信息,資料庫S012將被訂閱終端的初始當前狀 態信息進行存儲;在後續過程中,當分量通告單元SOU監測到某一個^皮訂閱終端的初始
狀態信息發生了變化,所述資料庫S012將該被訂閱終端的當前狀態信息進 行存儲,更新之前存儲的該被訂閱終端的初始狀態信息;
全量通告單元S013接收訂閱終端S02中全量訂閱模塊S021採用傳輸控 制協議方式發送的全量訂閱請求;將資料庫S012存儲的被訂閱終端的初始 狀態信息以傳輸控制協議方式發送給所述全量訂閱模塊S021進行存儲,可 以確保全量訂閱模塊S021 —次性獲得所有被訂閱終端的初始狀態信息;
分量訂閱模塊S022根據全量通告單元S013獲得的獲得所有被訂閱終端 的初始狀態信息,以用戶數據報協議方式分量向分量通告單元S011發送攜 帶被訂閱終端的初始狀態信息的訂閱信息;
分量通告單元S011接收到分量訂閱模塊S022發送的攜帶被訂閱終端的 初始狀態信息的訂閱信息之後,獲取被訂閱終端的當前狀態信息;將被訂閱 終端的當前狀態信息和訂閱信息中攜帶的被訂閱終端的初始狀態信息進行一 一對比,整理出不一致的被訂閱終端的當前狀態信息;將這些不一致的被訂 閱終端的當前狀態信息通過用戶數據報協議方式發送給分量訂閱模塊S022;
如果所述分量通告單元S011發送的被訂閱終端的當前狀態信息未丟失, 分量訂閱模塊S022將接收的被訂閱終端的當前狀態信息覆蓋全量訂閱模塊 S021存儲的對應被訂閱終端的初始狀態信息,達到更新被訂閱終端的初始狀 態信息的目的;
如果所述分量通告單元SOU發送的被訂閱終端的當前狀態信息發生丟 失,全量訂閱才莫塊S021再採用傳輸控制協議方式向全量通告單元S013發送 全量訂閱請求,接收全量通告單元S013發送的所有被訂閱終端的當前狀態 信息,將所有被訂閱終端的當前狀態信息覆蓋之前存儲的所有被訂閱終端的 初始狀態信息,達到更新被訂閱終端的初始狀態信息的目的。
本發明實施例逐一對比訂閱終端發送的每個被訂閱終端的初始狀態信 息,僅向訂閱終端發送不一致的被訂閱終端的當前狀態信息,從而降低發送 的消息數量,減少錯誤發生的機率;只有當訂閱終端發送全量訂閱請求時, 才以傳輸控制協議方式發送一次所有被訂閱終端的當前狀態信息給訂閱終端 以糾正狀態錯誤,可以4吏訂閱終端實時了解被訂閱終端的狀態,摒棄重發機
15制,簡化伺服器。
本領域普通技術人員可以理解實現上述方法實施例的全部或部分步驟 可以通過程序指令相關的硬體來完成,前述的程序可以存儲於一計算機可讀
取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述 的存儲介質包括只讀存儲器(ROM)、隨機存取器(RAM)、磁碟或者光 盤等各種可以存儲程序代碼的介質。
以上對本發明實施例所提供的一種終端狀態的訂閱及通知方法、裝置進
對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範 圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1、一種終端狀態的訂閱方法,其特徵在於,包括獲取所有被訂閱終端的初始狀態信息,並保存;以用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;判斷所述被訂閱終端的當前狀態信息是否發生丟失,如果是,更新所述被訂閱終端的初始狀態信息;如果否,則獲取所有被訂閱終端的當前狀態信息,並更新所述被訂閱終端的初始狀態信息。
2、 才艮據權利要求1所述的方法,其特徵在於,所述獲取所有被訂閱終端 的初始狀態信息包括以傳輸控制協議方式向伺服器發送全量訂閱請求;接收伺服器以傳輸控制協議方式發送的所有被訂閱終端的初始狀態信臺
3、 根據權利要求1或2所述的方法,其特徵在於,包括判斷伺服器發送的所有被訂閱終端的當前狀態信息攜帶的通知序號是否 具有連續性,如果是,則更新被訂閱終端的初始狀態信息;如果否,獲取所有被訂閱終端的當前狀態信息,並更新被訂閱終端的初 始狀態信息。
4、 根據權利要求1所述的方法,其特徵在於,所述獲取所有被訂閱終端 的當前狀態信息,並更新所述被訂閱終端的初始狀態信息包括以傳輸控制協議方式向伺服器發送全量訂閱請求;接收伺服器以傳輸控制協議方式發送的所有被訂閱終端的當前狀態信臺'將被訂閱終端的初始狀態信息更新為被訂閱終端的當前狀態信息。
5、 一種終端狀態的通知方法,其特徵在於,包括 監測被訂閱終端的初始狀態信息,並存儲;接收訂閱終端發送的全量訂閱請求,將存儲的被訂閱終端的初始狀態信息發送給所述訂閱終端;接收訂閱終端以用戶數據報協議方式發送的攜帶被訂閱終端的初始狀態 信息的訂閱信息;逐一對比被訂閱終端的初始狀態信息與監測的被訂閱終端的當前狀態信 息,獲得不一致的被訂閱終端的當前狀態信息並發送給所述訂閱終端。
6、 根據權利要求5所述的通知方法,其特徵在於,包括 將被訂閱終端的初始狀態信息與監測的被訂閱終端的當前狀態信息逐一進行對比,獲得不一致的被訂閱終端的當前狀態信息;以用戶數據報協議方式將所述不一致的被訂閱終端的當前狀態信息發送 給訂閱終端。
7、 一種訂閱終端,其特徵在於,包括全量訂閱模塊,用於獲取所有被訂閱終端的初始狀態信息,並保存; 分量訂閱模塊,用於以用戶數據報協議方式向伺服器發送攜帶被訂閱終 端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與 被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;如果所述 被訂閱終端的當前狀態信息未丟失,更新被訂閱終端的初始狀態信息;所述全量訂閱模塊,還用於如果伺服器發送的被訂閱終端的當前狀態信 息丟失,獲取所有^皮訂閱終端的當前狀態信息,更新被訂閱終端的初始狀態4呂息。
8、 根據權利要求7所述的訂閱終端,其特徵在於,所述分量訂閱模塊包 括收發單元和更新單元所述收發單元用於以用戶數據報協議方式向伺服器發送攜帶被訂閱終端 的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與被 訂閱終端的初始狀態信息不一致的^皮訂閱終端的當前狀態信息;所述更新單元用於如果所述被訂閱終端的當前狀態信息未丟失,更新被 訂閱終端的初始狀態信息;所述全量訂閱才莫塊包括獲取單元和存儲單元所述獲取單元用於獲取所有被訂閱終端的初始狀態信息;所述存儲單元用於保存所有被訂閱終端的初始狀態信息。
9、 根據權利要求8所述的訂閱終端,其特徵在於,所述獲取單元,還用於如果伺服器發送的被訂閱終端的當前狀態信息丟失,獲取所有被訂閱終端 的當前狀態信息,並更新被訂閱終端的初始狀態信息。
10、 一種伺服器,其特徵在於,包括全量通告單元,用於接收訂閱終端發送的全量訂閱請求;將存儲的被訂 閱終端的初始狀態信息發送給所述訂閱終端;分量通告單元,用於監測被訂閱終端的初始狀態信息;接收訂閱終端發 送的攜帶被訂閱終端的初始狀態信息的訂閱信息;逐一對比被訂閱終端的初 始狀態信息與監測的被訂閱終端的當前狀態信息,獲得不一致的被訂閱終端 的當前狀態信息並發送所述訂閱終端;資料庫,用於存儲所述分量通告單元監測的被訂閱終端的狀態信息。
全文摘要
本發明實施例涉及通信技術領域,公開了一種終端狀態的訂閱及通知方法、裝置。該訂閱方法包括獲取所有被訂閱終端的初始狀態信息,並保存;以用戶數據報協議方式向伺服器發送攜帶被訂閱終端的初始狀態信息的訂閱信息;接收伺服器以用戶數據報協議方式發送的與被訂閱終端的初始狀態信息不一致的被訂閱終端的當前狀態信息;判斷所述被訂閱終端的當前狀態信息是否丟失,如果否,則更新所述被訂閱終端的初始狀態信息;如果是,則獲取所有被訂閱終端的當前狀態信息,並更新所述被訂閱終端的初始狀態信息。本發明實施例可以實時了解被訂閱終端的狀態,摒棄重發機制,降低發送的信息數量,減少錯誤發生的機率。
文檔編號H04L29/06GK101465860SQ20091000124
公開日2009年6月24日 申請日期2009年1月14日 優先權日2009年1月14日
發明者劉繼華 申請人:深圳市同洲電子股份有限公司