信息訂閱方法及系統的製作方法
2023-10-19 20:46:02
專利名稱:信息訂閱方法及系統的製作方法
技術領域:
本發明涉及在網際網路協議(IP,Internet Protocol)多媒體子系統(IMS, IPMultimedia Subsystem)網絡架構中的信息訂閱技術,尤其涉及一種信息訂閱方法及系統。
背景技術:
訂閱(Subscribe)是會話初始協議(SIP,Session Initiation Protocol)中用於一個實體向另一實體請求或獲取信息的請求消息。請求或獲取的信息可能包括狀態或數據。SIP3265中對訂閱的規範做出了闡述。SIP3265涉及的方式廣泛地用於IP多媒體系統及其他網絡電話(VoIP, Voice over Internet Protocol)網絡中。現有的訂閱機制,在訂閱通知數據量比較大時,可以通過增量式通知的方式,減少通知中攜帶的碼流大小,提高傳輸效率,減少對網絡的佔用。圖1為現有訂閱處理過程中對增量訂閱處理的流程圖,如圖1所示,增量訂閱處理具體包括以下步驟步驟101步驟102步驟103步驟104步驟105步驟106步驟107 號);步驟108步驟109步驟110步驟111步驟112步驟113
號);
Subscriber發起訂閱請求至丨J notifier ; :notifier對該訂閱請求回200ok消息; :notifier發送通知消息告知用戶數據; subscriber對通知消息回送200ok消息;
notifier發送增量通知消息告知用戶數據(包含增量通知版本號); subscriber對通知消息回送200ok消息;
motifier發送後續增量通知消息告知用戶數據(包含增量通知版本
subscriber對通知消息回送200ok消息; subscriber發起訂閱刷新請求到notifier ; :notifier對該訂閱請求回200ok消息; :notifier發送完整通知消息告知用戶數據; subscriber對通知消息回送200ok消息;
motifier發送後續增量通知消息告知用戶數據(包含增量通知版本
步驟114 步驟115
subscriber對通知消息回送200ok消息; 執行其他的後續流程。 這種增量式處理可以應用到目前使用SIP協議的系統中,這些系統包括IP多媒體系統及其他VOIP系統等。 IMS 是第三代合作夥伴組織(3GPP,3rd Generation Partnership Project)定義的下一代網絡的標準,它的顯著特點是採用了 SIP體系,通訊與接入無關,可以具備多種能力,如媒體業務控制功能與承載能力分離,呼叫與會話分離,應用與服務分離,業務與網絡分離,以及移動網與網際網路業務融合等能力。IMS的提出順應了通訊網融合發展的趨勢。IMS體系中的主要功能實體包括用戶設備(UE,User Equipment),代理呼叫會話控制功能實體(P-CSCF,Proxy call session control Function),查詢呼叫會話控制功能實體(I-CSCF,Interrogating call session control Function),服務呼叫會話控制功能實體(S-CSCF,Serving call session control Function),歸屬用戶伺服器(HSS,Homesubscriber Server)以及應用伺服器(AS, Application Server)。圖2為UE向應用伺服器訂閱獲取訂閱信息的流程圖,如圖2所示,UE向應用伺服器訂閱獲取信息具體包括以下步驟步驟201 =UE發起訂閱請求到P-CSCF ;步驟202 =P-CSCF接收到UE發起的訂閱請求後,進行處理並把訂閱請求轉發到 S-CSCF ;步驟203 =S-CSCF接收到訂閱請求後,進行處理並把訂閱請求轉發到AS ;步驟204 =AS對訂閱請求回送200ok消息給S-CSCF ;步驟205 S-CSCF 轉發 200ok 消息給 P-CSCF ;步驟206 =P-CSCF 轉發 200ok 消息給 UE ;步驟207 =AS發送通知消息給S-CSCF ;步驟208 =S-CSCF轉發通知消息給P-CSCF ;步驟209 =P-CSCF轉發通知消息給UE ;步驟210 :UE 發送 200ok 消息給 P-CSCF ;步驟211 =P-CSCF 轉發 200ok 消息給 S-CSCF ;步驟212 S-CSCF 轉發 200ok 消息給 AS ;步驟213 進行後續的訂閱流程。由上可知,根據現有的訂閱機制,在訂閱通知數據量比較大時,可以通過增量式通知的方式而減少通知中攜帶的碼流大小,提高傳輸效率,減少對網絡的佔用。但是,現有機制同樣也存在著相應的問題,具體的,現有機制規定通過刷新訂閱來獲得完整的通知信息, 那麼每當刷新訂閱時(可能是由於訂閱者刷新訂閱時長,或者是訂閱者與通知者間網絡超時,導致訂閱者未收到後續數據,從而需要向通知者請求數據),則需要重新開始完整傳送流程。這樣的機制導致了一些不必要的網絡數據的傳輸,從而影響了網絡性能。在網絡流量比較大的情況下,對性能的影響比較明顯。
發明內容
有鑑於此,本發明的主要目的在於提供一種信息訂閱方法及系統,在增量通知方式下,訂閱者進行刷新操作時,通知者將訂閱者未接收的訂閱信息發送給訂閱者,而不會重新將已接收的訂閱信息發送給訂閱者。為達到上述目的,本發明的技術方案是這樣實現的一種信息訂閱方法,通知者notifier對訂閱者subscriber啟用了增量通知方式; 所述方法包括訂閱過程中,所述subscriber發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;所述notifier接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。優選地,所述方法還包括在所述訂閱更新請求消息中增設欄位,用於承載所述subscriber當前接收到的最新增量通知版本號信息。優選地,所述方法還包括在所述訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber 當前接收到的最新增量通知版本號信息。優選地,所述方法還包括設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;所述根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述 subscriber當前未獲得的訂閱信息,具體為所述notifier根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。優選地,所述方法還包括按設定的順序為所發送的增量通知消息設置增量通知版本號;所述根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述 subscriber當前未獲得的訂閱信息,具體為所述notifier根據最新增量通知版本號確定當前已發送的增量通知消息數量, 並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber當前未獲得的訂閱信息。優選地,所述notifier為應用伺服器AS或內容提供商伺服器的網絡側網元。一種信息訂閱系統,所述系統包括subscriber和notif ier,其中,所述notifier 對所述subscriber啟用了增量通知方式;Subscriber,用於發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;Notifier,用於接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。優選地,所述系統還包括第一設置單元,用於在所述訂閱更新請求消息中增設欄位,用於承載所述 subscriber當前接收到的最新增量通知版本號信息;或者,用於在所述訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber當前接收到的最新增量通知版本巧fn息。 優選地,所述系統還包括 第二設置單元,用於設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;所述notifier進一步地,根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。優選地,所述系統還包括第三設置單元,用於按設定的順序為所發送的增量通知消息設置增量通知版本號;所述notifier進一步地,根據最新增量通知版本號確定當前已發送的增量通知消息數量,並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber當前未獲得的訂閱信息。本發明中,當notifier開啟了訂閱信息的增量通知方式時,subscriber向 notifier發送訂閱刷新請求消息時,訂閱刷新請求消息中攜帶有最新增量通知版本號信息,這樣,notifier接收到訂閱刷新請求消息後,根據其攜帶的最新增量通知版本號信息即可確定出當前已發送給subscriber的訂閱信息以及尚未發送的訂閱信息,從而,僅將還未發送的訂閱信息通知給subscriber即可,從而避免了因subscriber的訂閱刷新請求而導致未完全接收訂閱信息時,需從頭將訂閱信息再通知給subscriber。這樣,本發明的技術方案明顯節約了網絡資源,降低了不必要的數據流傳輸。特別是在subscriber數量巨大的網絡中,通過本發明的技術方案,大大節約了網絡側的數據傳輸壓力,大大減少了 subscriber 與網絡側的notifier之間數據流的傳輸。
圖1為現有訂閱處理中對增量訂閱處理的流程圖;圖2為UE向應用伺服器訂閱獲取訂閱信息的流程圖;圖3為本發明增量訂閱方式下的信息訂閱方法的流程圖。
具體實施例方式本發明的基本思想是,在增量式通知方式下,當訂閱者需要發起訂閱刷新請求時 (發起訂閱刷新請求的可能原因是更新訂閱時長,以獲取及時的狀態信息等),本發明通過在訂閱刷新請求消息中設置增量通知版本號信息(訂閱者已收到的訂閱信息的版本號), 以此來通知通知者自身當前已接收到的訂閱信息,這樣,通知者接收到訂閱刷新請求消息後,僅將訂閱者未接收的訂閱信息發送給訂閱者即可,不必將整個訂閱信息重新發送給訂閱者,從而減少訂閱者與通知者之間的消息交互量。本發明中,需要對訂閱更新請求消息進行相應的格式修改,具體的,可以在訂閱更新請求消息中增設欄位,用於承載所述subscriber當前接收到的最新增量通知版本號信息;或者,在訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber當前接收到的最新增量通知版本號信息。為使本發明的目的、技術方案和優點更加清楚明白,以下舉實施例並參照附圖,對本發明進一步詳細說明。圖3為本發明增量訂閱方式下的信息訂閱方法的流程圖,如圖3所示,本發明增量訂閱方式下的信息訂閱方法具體包括以下步驟
步驟301 =Subscriber 發起訂閱請求(Subscribe)消息到 notifier ;步驟302 :notifier對該訂閱請求消息回200ok消息;步驟303 :notifier發送通知消息(notify)告知用戶數據(包含增量通知版本號);步驟304 subscriber對通知消息回送200ok消息;步驟305 :notifier發送增量通知消息告知用戶數據(包含增量通知版本號);本步驟中,當notifier確定subscriber當前所訂閱的訂閱信息數據量較大時,將開啟增量訂閱方式,即通過增量通知消息向subscriber發送訂閱信息。步驟306 subscriber保存目前增量通知版本號並對通知消息回送200ok消息;本發明中,當subscriber接收來自notifier的訂閱信息時,可能會因訂閱者的訂閱刷新請求而中斷,而現有技術中,notifier將會重新向subscriber通知該subscriber所訂閱的信息,這必然會導致subscriber所訂閱信息的重複發送,從而導致不必要的數據傳輸,浪費網絡資源。而本步驟中,subscriber在接收到來自notifier的增量通知消息後, 將保存所接收增量通知消息的增量通知版本號信息,以便在用戶開啟訂閱刷新請求時,將當前最新接收的增量通知版本號插入到訂閱刷新請求消息中,通知給notifier。步驟307 motifier發送後續增量通知消息告知用戶數據(包含增量通知版本號);步驟308 subscriber保存目前增量通知版本號並對通知消息回送200ok消息;步驟305至步驟308中,即是當notifier確定subscriber所訂閱的信息的數據量較大時,需要啟動增量訂閱方式,從而利用增量通知消息將訂閱信息通知給subscriber, 由於訂閱信息量較大,需要多次發送增量通知消息才能實現將訂閱信息完全發送給 subscriber。步驟309 subscriber發起訂閱刷新請求消息到notifier,其中,訂閱刷新請求消息中攜帶有subscriber所接收到的最新增量通知版本號;本步驟中,當用戶確定發起訂閱刷新請求時,subscriber在產生訂閱刷新請求消息時,將會在訂閱刷新請求消息中插入所接收到的最新增量通知版本號信息;步驟310 :notifier對該訂閱請求回200ok消息;步驟311 motifier向subscriber發送增量通知消息,繼續向subscriber發送訂閱信息;本步驟中,與現有技術相比,notifier的對增量訂閱方式的處理機制基本不變,區別在於notifier根據subscriber所發送的最新增量通知版本號信息,從subscriber未獲得的訂閱信息開始,繼續向subscriber發送訂閱信息。具體的,在notifier側設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;即根據當前待通知訂閱信息的數據量大小,確定出發送待通知訂閱信息的增量通知消息的數量,為每個增量通知消息確定相應的增量通知版本號,並確定出每個增量通知消息與所承載的待發送訂閱信息數據的對應關係,也就是說,承載每個訂閱信息數據的增量通知消息是唯一的。例如,當訂閱信息數據需10個增量通知消息才能完全通知給subscriber時,為每個訂閱信息數據塊確定出10個增量通知消息,並設定訂閱信息數據塊與增量通知消息的對應關係。假設該10個增量通知消息的增量通知版本號編號依次為0至9,而notifier按順序依次發送增量通知消息,這樣, notifier根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。例如,當notifier所接收到增量通知消息設置增量通知版本號為4時,即可確定出增量通知版本號為5至9的增量通知消息未發送給subscriber,這樣,也即確定出了當前未發送給subscriber的訂閱信息數據塊,將剩餘的訂閱信息數據塊通過相應的增量通知消息發送給subscriber即可。或者,按設定的順序為所發送的增量通知消息設置增量通知版本號;這裡,每個增量通知消息所承載的訂閱信息大小相同;也即,notifier發送給subscriber的增量通知消息的增量通知版本號是按順序進行的,如增量通知消息的增量通知版本號按總序號為2048 的方式依次循環設定,而待通知訂閱信息是按增量通知消息的通知數據量大小進行分塊的,而發送待訂閱信息數據的方式又是按數據量大小依次發送的,這樣,notifier根據最新增量通知版本號確定當前已發送的增量通知消息數量,並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber 當前未獲得的訂閱信息。例如,假設發送當前的訂閱信息需10個增量通知消息,而根據當前的增量通知版本號編號確定已發送了 5個,這樣,即可確定出尚有一半的訂閱信息尚未發送給subscriber,這樣,繼續通過增量通知消息發送剩餘的訂閱信息即可。需要說明的是,每個增量通知消息所承載的訂閱信息大小也可以不相同,只是,notifier需要確定每次發送增量通知消息所承載的具體的訂閱信息大小,也即,notifier需事先劃定每個增量通知消息所承載的訂閱信息的大小,本領域技術人員應當理解,這是容易實現的。當然,notifier還可根據其他方式來確定subscriber未接收到的訂閱信息,以便僅將subscriber未接收到的訂閱信息通知給subscriber,避免網絡側不必要的數據傳輸, 減少網絡資源的無謂開銷。步驟312 subscriber保存目前增量通知版本號並對通知消息回送200ok消息;步驟313 motifier發送後續增量通知消息告知用戶數據(包含增量通知版本號);步驟314 subscriber保存目前增量通知版本號並對通知消息回送200ok消息步驟315 執行後續流程。現有技術的增量式訂閱中,每當刷新訂閱(可能是由於訂閱者刷新訂閱時長,或者是訂閱者與通知者間網絡超時,導致訂閱者未收到後續數據,從而向通知者請求數據), 需要重新開始完整傳送數據。這樣的機制導致一些情況下網絡傳送的數據量過大,影響網絡性能。而SIP協議廣泛用於IMS網絡及其他VOIP網絡;採用本發明方法,在通知信息量比較大時能大大提高了信息傳輸效率並減少網絡流量。本發明的技術方案也可以用於大數據的分部分傳送。在此情況下,可以用版本號標識待傳送的數據部分。subscriber用版本號標識自身已收到的數據部分;刷新訂閱對已收到的數據部分進行確認,notifier根據 subscriber已收到的數據部分調整後續發送的數據(對於subscriber已收到的數據就不需要傳送了)。本發明還記載了一種信息訂閱系統,所述系統包括subscriber和notifier,其中,所述notifier對所述subscriber啟用了增量通知方式;Subscriber,用於發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;notifier,用於接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。本領域技術人員應當理解,本發明的信息訂閱系統應用於IMS系統的訂閱網絡架構中,上述的subscriber可以是有訂閱能力的所有用戶終端,如個人PC、筆記本電腦、手機、個人數字助理等,而notifier可以是具有訂閱信息提供能力的任何的網絡側設備,如應用伺服器、內容提供商伺服器等。本發明中的Subscriber及notifier的連接方式及網絡架構與現有系統的完全相同,區別僅在於實現上述的功能有差異。下述的第一設置單元、 第二設置單元以及第三設置單元可設置於網絡側如notifier中,或其他網元中,也可通過第三方網元實現,如不屬於本發明的信息訂閱系統的信息處理設備。本領域技術人員應當理解,通過相應的處理設備,實現本發明第一設置單元、第二設置單元以及第三設置單元所述的設置功能是容易實現的,本發明不再贅述其實現細節。本發明的信息訂閱系統還包括第一設置單元,用於在所述訂閱更新請求消息中增設欄位,用於承載所述 subscriber當前接收到的最新增量通知版本號信息;或者,用於在所述訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber當前接收到的最新增量通知版本巧fn息。本發明的信息訂閱系統還包括第二設置單元,用於設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;所述notifier進一步地,根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。本發明的信息訂閱系統還包括第三設置單元,用於按設定的順序為所發送的增量通知消息設置增量通知版本號;所述notifier進一步地,根據最新增量通知版本號確定當前已發送的增量通知消息數量,並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber當前未獲得的訂閱信息。以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1.一種信息訂閱方法,通知者notifier對訂閱者subscriber啟用了增量通知方式;其特徵在於,所述方法包括訂閱過程中,所述subscriber發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;所述notifier接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括在所述訂閱更新請求消息中增設欄位,用於承載所述subscriber當前接收到的最新增量通知版本號信息。
3.根據權利要求1所述的方法,其特徵在於,所述方法還包括在所述訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber當前接收到的最新增量通知版本號信息。
4.根據權利要求1所述的方法,其特徵在於,所述方法還包括設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;所述根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,具體為所述notifier根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。
5.根據權利要求1所述的方法,其特徵在於,所述方法還包括按設定的順序為所發送的增量通知消息設置增量通知版本號;所述根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,具體為所述notifier根據最新增量通知版本號確定當前已發送的增量通知消息數量,並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber當前未獲得的訂閱信息。
6.根據權利要求1至5中任一項所述的方法,其特徵在於,所述notifier為應用伺服器AS或內容提供商伺服器的網絡側網元。
7.一種信息訂閱系統,所述系統包括subscriber和notifier,其中,所述notifier對所述subscriber啟用了增量通知方式;其特徵在於,Subscriber,用於發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;Notifier,用於接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。
8.根據權利要求7所述的系統,其特徵在於,所述系統還包括第一設置單元,用於在所述訂閱更新請求消息中增設欄位,用於承載所述subscriber當前接收到的最新增量通知版本號信息;或者,用於在所述訂閱更新請求消息中現有欄位中增設新的參數,用於承載所述subscriber當前接收到的最新增量通知版本號信息。
9.根據權利要求7所述的系統,其特徵在於,所述系統還包括第二設置單元,用於設置增量通知版本號對應的增量通知消息與該增量通知消息所承載的待通知訂閱信息的對應關係;所述notifier進一步地,根據最新增量通知版本號確定下一待發送的增量通知消息的增量通知版本號,進而確定出下一待發送的增量通知消息對應的待發送信息。
10.根據權利要求7所述的系統,其特徵在於,所述系統還包括第三設置單元,用於按設定的順序為所發送的增量通知消息設置增量通知版本號;所述notifier進一步地,根據最新增量通知版本號確定當前已發送的增量通知消息數量,並根據每個增量通知消息承載的訂閱信息的大小確定出當前已通知的訂閱信息大小,當前剩餘的訂閱信息為所述subscriber當前未獲得的訂閱信息。
全文摘要
本發明公開了一種信息訂閱方法,通知者notifier對訂閱者subscriber啟用了增量通知方式;所述方法包括訂閱過程中,所述subscriber發起訂閱更新請求消息,所述更新請求消息中攜帶有當前所接收到的最新增量通知版本號信息;所述notifier接收到所述訂閱更新請求消息後,根據所述訂閱更新請求消息中的最新增量通知版本號信息確定出所述subscriber當前未獲得的訂閱信息,將所述未獲得的訂閱信息封裝於增量通知消息中,發送給所述subscriber。本發明大大節約了網絡側的數據傳輸壓力,大大減少了subscriber與網絡側的notifier之間數據流的傳輸。
文檔編號H04L29/06GK102571710SQ201010606759
公開日2012年7月11日 申請日期2010年12月24日 優先權日2010年12月24日
發明者陳俊明 申請人:中興通訊股份有限公司