資源訂閱方法及裝置制造方法
【專利摘要】本發明公開了一種資源訂閱方法及裝置,該方法包括:服務端接收來自客戶端的請求報文,其中,請求報文包括訂閱條件,訂閱條件包括是否接收資源目錄中新增資源和/或刪除資源的通知消息;服務端根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱。通過本發明,按照目錄對資源進行訂閱,并且根據客戶端的具體要求向客戶端發送資源目錄中新增資源和/或刪除資源的通知消息,從而可以通過Restful風格的接口對物聯網終端進行靈活的管理,尤其適合終端設備上存在動態增加和/或刪除資源的情況,使得客戶端能夠及時獲悉資源的增加和/或刪除情況,提高訪問效率,降低對網絡的開銷。
【專利說明】資源訂閱方法及裝置【技術領域】
[0001]本發明涉及通信領域,具體而言,涉及一種資源訂閱方法及裝置。
【背景技術】
[0002]物聯網(Internet of Things,簡稱為1T),按字面理解即為物與物相連的互聯網絡,目前對物聯網較為通俗的定義是:利用射頻識別、傳感器、二維碼等傳感元件,通過基礎網絡實現物與物、人與物之間的互聯互通,允許任何人和物在任何時間任何地方利用任何途徑對任何服務進行訪問和交互的網絡。
[0003]物聯網匯聚了數量眾多的智能物體,為了實現對物體的訪問以及物體之間良好的互通性,智能物體的互聯網協議(Internet Protocol,簡稱為IP)化已是一大趨勢。但這些智能物體通常只具備很弱的計算處理能力,對資源消耗很敏感,目前應用于因特網(Internet)的協議過于復雜,開銷較大,難以滿足物聯網的應用場景需求,此外物聯網需要接入海量的異構終端設備,需要一種通用而且簡單靈活的方式。
[0004]以Restful方式作為訪問接口,在物聯網領域已被廣泛接受和推廣,歐洲電信標準化協會(European Telecommunications Standards Institute,簡稱為 ETSI)選擇了Restful作為訪問接 口的標準;因特網工程任務組(Internet Engineering Task Force,簡稱為 IETF)專門成立了受限的 Restful 環境(Constrained Restful Environment,簡稱為CoRE)工作組,致力于研究適合于受限環境的應用協議(Constrained ApplicationProtocol,簡稱為 CoAP)。
[0005]訂閱是一種常見的機制,在物聯網中更是應用廣泛,比如對某個溫度傳感器提供的溫度值的訂閱,當溫度發生變化或者是超過某個閥值時向訂閱者發出通告。但是目前Restful風格的協議,在協議層面上定義的訂閱機制,都是針對具體的資源,也就是必須要有明確的資源標識才能進行訂閱,而對于還沒有被創建的資源,因為還不知道其標識,也就難以進行方便的訂閱。以傳感節點的鄰居節點信息為例,每個鄰居節點信息將被抽象成為單個的資源,由于鄰居節點是在動態增加或減少的,訪問者很可能知道鄰居節點信息資源存放的目錄,但是無法知道新的鄰居節點信息資源的具體標識,而訪問者又有當有新的節點加入或離開網絡時能夠得到及時通知的需求。
[0006]針對上述問題,目前尚未提出有效的解決方案。
【發明內容】
[0007]本發明提供了一種資源訂閱方法及裝置,以至少解決相關技術中,針對具體的資源進行訂閱,需要有明確的資源標識,而客戶端無法及時獲知新增或刪除的資源標識,給訂閱帶來不便的問題。
[0008]根據本發明的一個方面,提供了一種資源訂閱方法,包括:服務端接收來自客戶端的請求報文,其中,請求報文包括訂閱條件,訂閱條件包括是否接收資源目錄中新增資源和/或刪除資源的通知消息;服務端根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱。
[0009]優選地,上述請求報文還包括:用于指示對資源目錄進行訂閱或者取消訂閱的信息,服務端根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱包括:服務端根據請求報文判斷客戶端是請求訂閱資源目錄還是請求取消訂閱資源目錄;如果是請求訂閱資源目錄,服務端根據資源目錄是否允許訂閱執行訂閱操作;如果是請求取消訂閱資源目錄,月艮務端將客戶端從資源目錄的訂閱者集合中刪除。
[0010]優選地,服務端根據資源目錄是否允許訂閱執行訂閱操作包括:如果請求的資源目錄允許訂閱,服務端記錄客戶端的因特網協議(Internet Protocol,簡稱為IP)地址和端口信息,將客戶端加入資源目錄的訂閱者集合;如果請求的資源目錄不允許訂閱或者不支持訂閱,向客戶端返回資源目錄下的資源標識集合。
[0011]優選地,在請求的資源目錄允許訂閱的情況下,在將客戶端加入資源目錄的訂閱者集合之后,上述方法還包括:服務端向客戶端返回資源目錄下的資源標識集合,并在返回報文中攜帶表示服務端已經接受客戶端的訂閱請求的參數,其中,該參數包括:對資源目錄進行訂閱、訂閱條件。
[0012]優選地,如果服務端接收到同一個客戶端發送的多次訂閱請求,用新的訂閱條件覆蓋之前的訂閱條件。
[0013]優選地,上述訂閱條件還包括:用于指示是否需要在通知消息中包含新增資源的內容的信息,在服務端根據請求報文為客戶端針對資源目錄進行訂閱之后,上述方法還包括:當資源目錄中新增資源和/或刪除資源時,服務端向已訂閱資源所屬各級目錄的一個或多個客戶端發送通知消息,其中,通知消息攜帶有一個或多個新增的資源標識和/或刪除的資源標識;服務端根據一個或多個客戶端各自的訂閱條件決定是否需要在通知消息中攜帶新增的資源的內容。
[0014]根據本發明的另一方面,提供了一種資源訂閱裝置,應用于服務端,包括:接收模塊,用于接收來自客戶端的請求報文,其中,請求報文包括訂閱條件,訂閱條件包括是否接收資源目錄中新增資源和/或刪除資源的通知消息;訂閱模塊,用于根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱。
[0015]優選地,上述請求報文還包括:用于指示對資源目錄進行訂閱或者取消訂閱的信息,訂閱模塊包括:判斷單元,用于根據請求報文判斷客戶端是請求訂閱資源目錄還是請求取消訂閱資源目錄;執行單元,用于在請求訂閱資源目錄的情況下,根據資源目錄是否允許訂閱執行訂閱操作;刪除單元,用于在請求取消訂閱資源目錄的情況下,將客戶端從資源目錄的訂閱者集合中刪除。
[0016]優選地,執行單元包括:加入子單元,用于在請求的資源目錄允許訂閱的情況下,服務端記錄客戶端的因特網協議IP地址和端口信息,將客戶端加入資源目錄的訂閱者集合;返回子單元,用于在請求的資源目錄不允許訂閱或者不支持訂閱的情況下,向客戶端返回資源目錄下的資源標識集合。
[0017]優選地,上述訂閱條件還包括:用于指示是否需要在通知消息中包含新增資源的內容的信息,上述裝置還包括:發送模塊,用于當資源目錄中新增資源和/或刪除資源時,向已訂閱資源所屬各級目錄的一個或多個客戶端發送通知消息,其中,通知消息攜帶有一個或多個新增的資源標識和/或刪除的資源標識;決定模塊,用于根據一個或多個客戶端各自的訂閱條件決定是否需要在通知消息中攜帶新增的資源的內容。
[0018]通過本發明,按照目錄對資源進行訂閱,并且根據客戶端的具體要求向客戶端發送資源目錄中新增資源和/或刪除資源的通知消息,從而可以通過Restful風格的接口對物聯網終端進行靈活的管理,尤其適合終端設備上存在動態增加和/或刪除資源的情況,使得客戶端能夠及時獲悉資源的增加和/或刪除情況,提高訪問效率,降低對網絡的開銷。
【專利附圖】
【附圖說明】
[0019]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0020]圖1是根據本發明實施例的資源訂閱方法的流程圖;
[0021]圖2是根據本發明優選實施例的資源訂閱方法的流程示意圖;
[0022]圖3是根據本發明實施例的資源訂閱裝置的結構框圖;
[0023]圖4是根據本發明優選實施例的資源訂閱裝置的結構框圖一;
[0024]圖5是根據本發明優選實施例的資源訂閱裝置的結構框圖二。
【具體實施方式】
[0025]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0026]本發明實施例提供了一種資源訂閱方法,圖1是根據本發明實施例的資源訂閱方法的流程圖,如圖1所示,包括如下的步驟S102至步驟S104。
[0027]步驟S102,服務端接收來自客戶端的請求報文,其中,請求報文包括訂閱條件,訂閱條件包括是否接收資源目錄中新增資源和/或刪除資源的通知消息。
[0028]步驟S104,服務端根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱。
[0029]相關技術中,針對具體的資源進行訂閱,需要有明確的資源標識,而客戶端無法及時獲知新增或刪除的資源標識,給訂閱帶來不便。本發明實施例中,按照目錄對資源進行訂閱,并且根據客戶端的具體要求向客戶端發送資源目錄中新增資源和/或刪除資源的通知消息,從而可以通過Restful風格的接口對物聯網終端進行靈活的管理,尤其適合終端設備上存在動態增加和/或刪除資源的情況,使得客戶端能夠及時獲悉資源的增加和/或刪除情況,提高訪問效率,降低對網絡的開銷。
[0030]上述請求報文還包括:用于指示對資源目錄進行訂閱或者取消訂閱的信息,服務端根據請求報文為客戶端針對資源目錄進行訂閱或取消訂閱包括:服務端根據請求報文判斷客戶端是請求訂閱資源目錄還是請求取消訂閱資源目錄;如果是請求訂閱資源目錄,月艮務端根據資源目錄是否允許訂閱執行訂閱操作;如果是請求取消訂閱資源目錄,服務端將客戶端從資源目錄的訂閱者集合中刪除。
[0031]服務端根據資源目錄是否允許訂閱執行訂閱操作包括:如果請求的資源目錄允許訂閱,服務端記錄客戶端的IP地址和端口信息,將客戶端加入資源目錄的訂閱者集合;如果請求的資源目錄不允許訂閱或者不支持訂閱,向客戶端返回資源目錄下的資源標識集
口 O
[0032]在請求的資源目錄允許訂閱的情況下,在將客戶端加入資源目錄的訂閱者集合之后,上述方法還包括:服務端向客戶端返回資源目錄下的資源標識集合,并在返回報文中攜帶表示服務端已經接受客戶端的訂閱請求的參數,其中,該參數包括:對資源目錄中的資源進行訂閱、訂閱條件。實際應用中,服務端可以向客戶端返回資源目錄下的資源列表,即該目錄下的所有資源的標識集合。
[0033]在實際應用中,對于訂閱請求報文且請求的目錄允許訂閱,在將該客戶端加入訂閱者列表后,按對目錄進行訪問的普通請求進行處理,并向客戶端返回該目錄下的資源標識集合,在返回報文中攜帶表明服務端已經接受了該訂閱請求的參數。對于訂閱請求報文且請求的目錄不允許訂閱或者不支持訂閱,則僅向客戶端返回該目錄下的資源列表,當作普通的對資源目錄進行訪問的請求進行處理。
[0034]如果服務端接收到同一個客戶端發送的多次訂閱請求,用新的訂閱條件覆蓋之前的訂閱條件。
[0035]上述訂閱條件還包括:用于指示是否需要在通知消息中包含新增資源的內容的信息,在服務端根據請求報文為客戶端針對資源目錄進行訂閱之后,上述方法還包括:當資源目錄中新增資源和/或刪除資源時,服務端向已訂閱該資源所屬各級目錄的一個或多個客戶端發送通知消息,其中,通知消息攜帶有一個或多個新增的資源標識和/或刪除的資源標識;服務端根據一個或多個客戶端各自的訂閱條件決定是否需要在通知消息中攜帶新增的資源的內容。本優選實施例中,根據客戶端的請求中的訂閱條件確定是否需要在通知消息中攜帶新增的資源的內容和/或刪除的資源的內容,如果用戶希望通知該內容,可以實現及時通知客戶端其訂閱的資源目錄中的資源變化情況,以及變化內容。需要說明的是,通知消息中也可以根據客戶端的需求攜帶刪除的資源的內容。
[0036]從以上的描述可知,本發明基于Restful風格,采用客戶端和服務端通信的模式,按目錄對資源進行訂閱,具體技術方案可以如下:
[0037]客戶端節點發送對某一個資源目錄進行訪問的請求報文,請求報文至少包含兩個參數:一是表示該請求是對該目錄進行訂閱或者是取消訂閱;二是表示訂閱條件,在條件中表明是希望收到新增資源和/或刪除資源的通知消息,此外,在訂閱條件中表明是否需要在通知消息中包含資源的內容。
[0038]服務端節點收到上述請求報文后,判斷如是訂閱請求報文,并且請求的目錄允許訂閱,則記錄客戶端節點的IP和端口信息,加入訂閱者列表,并按對目錄進行訪問的普通請求進行處理,向客戶端返回該目錄下的資源列表,在返回報文中還包含有所上述參數,表明服務端已經接受了該訂閱請求;如果請求的目錄不允許訂閱,或者不支持訂閱,則僅向客戶端返回該目錄下的資源列表,當作普通的對資源目錄進行訪問的請求進行處理。
[0039]為了使本發明的技術方案和實現方法更加清楚,下面將結合優選的實施例對其實現過程進行詳細描述。
[0040]IETF專門成立了 CoRE工作組,致力于設計一種基于IP的適合能力受限環境的應用層協議,即CoAP協議,已發布第一個請求評議(Request For Comment,簡稱為RFC)文檔RFC 6690 =CoRE Link Format。CoAP協議的特點是:基于用戶數據協議(User DataProtocol,簡稱為UDP)協議,報文采用二進制形式,格式緊湊,對終端開銷較小,Restful風格的訪問接口,可看作是對超文本傳輸協議(Hypertext Transfer Protocol,簡稱為HTTP)的精簡。[0041]以下優選實施例中,使用適合于物聯網應用的CoAP協議作為示例來描述本發明的技術方案,顯然,所描述的實施例僅是本發明的一部分實施例,也不局限于CoAP協議,還可以應用于HTTP等其他REST風格的協議。
[0042]圖2是根據本發明優選實施例的資源訂閱方法的流程示意圖。本優選實施例描述了通過擴展CoAP協議選項實現對目錄進行訂閱的方法以及返回通知消息方式的示例,即對目錄下資源增刪情況進行訂閱。
[0043]首先,定義擴展的訂閱選項OBS-EXT如表1所示:
[0044]表1
【權利要求】
1.一種資源訂閱方法,其特征在于包括: 服務端接收來自客戶端的請求報文,其中,所述請求報文包括訂閱條件,所述訂閱條件包括是否接收所述資源目錄中新增資源和/或刪除資源的通知消息; 所述服務端根據所述請求報文為所述客戶端針對所述資源目錄進行訂閱或取消訂閱。
2.根據權利要求1所述的方法,其特征在于,所述請求報文還包括:用于指示對所述資源目錄進行訂閱或者取消訂閱的信息,所述服務端根據所述請求報文為所述客戶端針對所述資源目錄進行訂閱或取消訂閱,包括: 所述服務端根據所述請求報文判斷所述客戶端是請求訂閱所述資源目錄還是請求取消訂閱所述資源目錄; 如果是請求訂閱所述資源目錄,所述服務端根據所述資源目錄是否允許訂閱執行訂閱操作; 如果是請求取消訂閱所述資源目錄,所述服務端將所述客戶端從所述資源目錄的訂閱者集合中刪除。
3.根據權利要求2所述的方法,其特征在于,所述服務端根據所述資源目錄是否允許訂閱執行訂閱操作包括: 如果請求的資源目錄允許訂閱,所述服務端記錄所述客戶端的因特網協議IP地址和端口信息,將所述客戶端加入所述資源目錄的訂閱者集合; 如果請求的資源目錄不允許訂閱或者不支持訂閱,向所述客戶端返回所述資源目錄下的資源標識集合。
4.根據權利要求3所述的方法`,其特征在于,在所述請求的資源目錄允許訂閱的情況下,在將所述客戶端加入所述資源目錄的訂閱者集合之后,所述方法還包括: 所述服務端向所述客戶端返回所述資源目錄下的資源標識集合,并在返回報文中攜帶表示所述服務端已經接受所述客戶端的訂閱請求的參數,其中,所述參數包括:對所述資源目錄進行訂閱、訂閱條件。
5.根據權利要求1所述的方法,其特征在于,如果所述服務端接收到同一個客戶端發送的多次訂閱請求,用新的訂閱條件覆蓋之前的訂閱條件。
6.根據權利要求1至5中任一項所述的方法,其特征在于,所述訂閱條件還包括:用于指示是否需要在所述通知消息中包含新增資源的內容的信息,在所述服務端根據所述請求報文為所述客戶端針對所述資源目錄進行訂閱之后,所述方法還包括: 當所述資源目錄中新增資源和/或刪除資源時,所述服務端向已訂閱所述資源所屬各級目錄的一個或多個客戶端發送通知消息,其中,所述通知消息攜帶有一個或多個新增的資源標識和/或刪除的資源標識; 所述服務端根據所述一個或多個客戶端各自的訂閱條件決定是否需要在所述通知消息中攜帶新增的資源的內容。
7.一種資源訂閱裝置,應用于服務端,其特征在于包括: 接收模塊,用于接收來自客戶端的請求報文,其中,所述請求報文包括訂閱條件,所述訂閱條件包括是否接收所述資源目錄中新增資源和/或刪除資源的通知消息; 訂閱模塊,用于根據所述請求報文為所述客戶端針對所述資源目錄進行訂閱或取消訂閱。
8.根據權利要求7所述的裝置,其特征在于,所述請求報文還包括:用于指示對所述資源目錄進行訂閱或者取消訂閱的信息,所述訂閱模塊包括: 判斷單元,用于根據所述請求報文判斷所述客戶端是請求訂閱所述資源目錄還是請求取消訂閱所述資源目錄; 執行單元,用于在請求訂閱所述資源目錄的情況下,根據所述資源目錄是否允許訂閱執行訂閱操作; 刪除單元,用于在請求取消訂閱所述資源目錄的情況下,將所述客戶端從所述資源目錄的訂閱者集合中刪除。
9.根據權利要求8所述的裝置,其特征在于,所述執行單元包括: 加入子單元,用于在請求的資源目錄允許訂閱的情況下,所述服務端記錄所述客戶端的因特網協議IP地址和端口信息,將所述客戶端加入所述資源目錄的訂閱者集合; 返回子單元,用于在請求的資源目錄不允許訂閱或者不支持訂閱的情況下,向所述客戶端返回所述資源目錄下的資源標識集合。
10.根據權利要求7至9中任一項所述的裝置,其特征在于,所述訂閱條件還包括:用于指示是否需要在所述通知消息中包含新增資源的內容的信息,所述裝置還包括: 發送模塊,用于當所述資源目錄中新增資源和/或刪除資源時,向已訂閱所述資源所屬各級目錄的一個或多個客戶端發送通知消息,其中,所述通知消息攜帶有一個或多個新增的資源標識和/或刪除的 資源標識; 決定模塊,用于根據所述一個或多個客戶端各自的訂閱條件決定是否需要在所述通知消息中攜帶新增的資源的內容。
【文檔編號】H04L29/08GK103795689SQ201210424428
【公開日】2014年5月14日 申請日期:2012年10月29日 優先權日:2012年10月29日
【發明者】范賢友 申請人:中興通訊股份有限公司