專利名稱:成員資源的訪問方法、群組服務器和成員設備的制作方法
技術領域:
本發明涉及機器通信(Machine-to-MachineCommunications, M2M)技術領域,尤其涉及成員資源的訪問方法、群組服務器和成員設備。
背景技術:
機器通信(Machine-to-MachineCommunications,M2M)是一種以機器智能交互為核心的、網絡化的應用與服務。M2M技術通過在機器內部嵌入無線或有線通信模塊以及應用處理邏輯,實現無需人工干預的數據通信,以滿足用戶對監控、指揮調度、數據采集和測量等方面的信息化需求。在M2M系統架構中,各種M2M終端(如傳感器、微控制器等)直接或經過M2M網關遠程接入到M2M業務平臺,而各種M2M應用服務器(如電力抄表、智能交通等)則通過M2M業務平臺所提供的業務能力獲取M2M終端采集的數據或對M2M終端進行遠程的控制和管理。然而,在一些常見的M2M業務中,往往需要同時對大量的M2M終端/網關進行相同的業務操作,比如同時讀取一個小區內所有住戶家中的電表讀數,或者同時控制開關一棟建筑內的所有照明或者空調設施等。在這種情況下,由于群組通信能夠避免M2M應用向各M2M終端/網關重復發送相同的業務操作請求,從而節約大量的通信開銷,而變得尤其重要。現有技術中描述了一種面向資源的群組通信方法。該方法中,M2M應用服務器、M2M平臺、M2M終端、M2M網關、包括M2M終端和M2M網關上所運行的所有本地應用、數據對象均被看做一種RESTful (Representational State Transfer,表述性狀態轉移)資源,并由一個URI (Universal Resource Identifier,通用資源標識符)唯一標識。通過構建以上述各種資源為成員資源的群組資源,能夠實現對多個成員資源的群組化操作。也就是說,通過構成群組資源,所述的群組資源包含各成員資源的相關信息,如成員資源的訪問路徑,所屬設備的名稱,訪問地址等,實現對多個成員資源的群組化操作。例如,將所有目標電表(M2M設備)上的讀數資源作為群組的成員資源,則M2M應用服務器可以向維護群組資源的實體(以下稱群組服務器,可以是M2M平臺、M2M網關、M2M終端中的任意一個)發送針對該群組資源的一個讀取請求,群組服務器負責將請求逐一轉發到每個目標電表上,并將讀取結果合并為一個響應消息返回給M2M應用服務器。這樣,M2M應用服務器可通過一次性讀取該群組資源來獲得所有成員資源(即電表讀數內容)。該方法所采用的具體通信協議可以是 HTTP (HyperText Transfer Protocol,超文本傳輸協議)協議或 CoAP (ConstrainedApplication Protocol,受限應用協議)協議。然而,現有的應用于M2M的群組通信的方法,僅僅節約了 M2M應用服務器與群組服務器之間的通信,而群組服務器仍然需要對每個M2M設備單獨發送請求。如果群組服務器能力有限(比如M2M網關),或者其與M2M設備間的網絡帶寬較小或通信費用較高,則該方法中群組服務器與M2M設備間的通信并不經濟。
發明內容
本發明的實施例提供的成員資源的訪問方法、群組服務器和成員設備,能夠實現不需要對各成員設備單播訪問請求,節省網絡開銷。本發明的一方面提供了一種成員資源的訪問方法,包括:接收對成員資源的訪問請求,所述對成員資源的訪問請求中攜帶成員資源所屬群組資源的群組資源標識;根據所述群組資源標識獲取群組資源中與成員資源對應的扇出通用資源標識符URI,以及與所述扇出URI對應的多播地址,所述扇出URI用于指示成員資源在成員設備上的訪問路徑;根據所述多播地址向所述成員資源所屬的成員設備發送成員資源訪問請求,所述成員資源訪問請求的目的URI包含與所述成員資源對應的扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作。可選的,該方法進一步包括:接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址;根據成員資源在成員設備上的訪問路徑建立所述多播地址和所述扇出URI的映射關系。可選的,所述根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址,以及根據成員資源在成員設備上的訪問路徑建立所述多播地址及所述扇出URI之間的映射關系具體為:為在成員設備上具有相同訪問路徑的成員資源分配多播地址,并建立所述多播地址及所述扇出URI的映射關系;所述扇出URI為所述成員資源在成員設備上的訪問路徑;和/或為在成員設備上具有不同訪問路徑的至少一個成員資源分配虛擬標識,為所述至少一個成員資源分配多播地址,并為建立所述多播地址及所述虛擬標識的映射關系以及所述虛擬標識和成員資源的映射關系;將所述虛擬標識設為所述扇出URI。可選的,該方法進一步包括:根據所述多播地址及所述扇出URI的映射關系向成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,以便于成員資源所屬的成員設備根據加入多播組的群組通告加入與所述多播地址對應的多播組。可選的,所述加入多播組的群組通告中還攜帶所述所述扇出URI和成員資源的映射關系,以便所述成員資源所屬的成員設備存儲所述扇出URI和所述多播地址映射關系,以及所述成員資源和所述多播地址的映射關系;所述以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作具體為:所述成員資源所屬的成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的所述扇出URI以及根據所述扇出URI和成員資源映射關系確定成員資源在成員設備上的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。可選的,所述根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址具體為:根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備歸屬于第一群組服務器,為成員資源所屬的成員設備分配本地多播域的多播地址;或根據所述成員資源所屬的成員設備確定所述群組資源的成員資源所屬的成員設備并不都歸屬于第一群組服務器,為成員資源所屬的成員設備分配全局多播域的多播地址或請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址。可選的,所述為成員資源所屬的成員設備分配全局多播域的多播地址具體為:向具有全局多播域的多播地址的群組服務器申請全局多播域的多播地址,為成員資源所屬的成員設備分配申請的全局多播域的多播地址;所述請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址具體為:確定不歸屬于第一群組服務器的成員資源所屬的成員設備歸屬于第二群組服務器,向第二群組服務器發送創建第二群組資源請求,所述創建第二群組資源請求攜帶第一群組資源標識以及成員資源,所述成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;第二群組服務器根據所述成員資源所屬的成員設備創建第二群組資源以及為成員資源分配多播地址。可選的,所述根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址具體為:根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備和成員設備所屬的網絡支持多播,并為所述成員資源分配多播地址;所述方法還包括:存儲不具有多播能力的成員設備對應的成員資源,以便于群組服務器為不具有多播能力的成員設備單播對成員資源的訪問請求。可選的,所述根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI以及與所述扇出URI對應的多播地址之后,該方法還包括:將對成員資源的訪問請求的目的地址設置為與所述扇出URI對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI,以生成成員資源訪問請求;利用所述多播地址發送攜帶所述與成員資源對應的扇出URI的成員資源訪問請求。可選的,所述根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI以及與所述扇出URI對應的多播地址之后,該方法還包括:確定所述對成員資源的訪問請求中的目的URI還包含后綴;將對成員資源的訪問請求的目的地址設置為與所述扇出WR對應的多播地址,將所述目的URI設為所述與成員資源對應的扇出URI以及在所述扇出URI后面添加所述目的URI包含的后綴,以生成成員資源訪問請求。可選的,該方法還包括:接收增加成員資源的群組資源更新請求,所述增加成員資源的群組資源更新請求中攜帶群組資源的標識以及需加入群組資源的成員資源,所述需加入群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI相同,向需加入群組資源的成員資源所屬的成員設備發送攜帶所述多播地址和扇出URI的映射關系中的多播地址的加入多播組的群組通告,以便于需加入群組資源的成員資源所屬的成員設備通過所述多播地址加入多播組,以及接收通過多播地址發送的成員資源訪問請求;或根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI不同;在與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系中增加需加入群組資源的成員資源,向需加入群組資源的成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告攜帶與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系,和與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系;以便于成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的扇出URI與成員資源的映射關系確定成員資源在成員設備上的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。可選的,該方法還包括:接收刪除成員資源的群組資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需離開群組資源的成員資源和群組資源的標識,所述需離開群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據群組資源的標識確定與需離開群組資源的成員資源對應的扇出URI,以及與需離開群組資源的成員資源對應的扇出URI和多播地址的映射關系,刪除所述與需離開群組資源的成員資源對應的扇出URI和多播地址的映射關系中的需離開群組資源的成員資源,向需離開的成員資源所屬的成員設備發送攜帶與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組;或刪除成員資源的群組資源更新請求中攜帶需保留的群組資源的成員資源和群組資源的標識,所述需保留的群組資源的成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據群組資源的標識確定與需離開群組資源的成員資源和扇出WR的映射關系,利用需保留的群組資源的成員資源更新所述需離開群組資源的成員資源和扇出WR的映射關系中成員資源,向需離開的成員資源所屬的成員設備發送攜帶映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組。可選的,該方法進一步包括:根據刪除成員資源的群組資源更新請求的群組資源的標識確定需離開群組資源的成員資源在成員設備上的的訪問路徑和需離開的成員資源對應的扇出URI不同;所述離開多播組的群組通告還包括與需離開群組資源的成員資源對應的所述扇出URI ;以便于需離開群組資源的成員資源所屬的成員設備離開所述多播地址指示的多播組,并根據所述需離開群組資源的成員資源和離開多播組的群組通告中的扇出URI刪除成員設備中與刪除成員資源的群組資源更新請求的群組資源的標識對應的多播組信息中的成員資源。此外,本發明另一方面還提供了一種群組資源的訪問方法,包括:接收群組服務器發送的成員資源訪問請求,所述成員資源訪問請求為多播的成員資源訪問請求,所述成員資源訪問請求中包含與所述成員資源對應的扇出URI,所述扇出URI用于指示成員資源在成員設備上的訪問路徑;根據所述扇出URI確定成員資源在成員設備上的訪問路徑,以及根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作。可選的,該方法進一步包括:接收加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,根據加入多播組的群組通告加入與所述多播地址對應的多播組。可選的,所述加入多播組的群組通告中還攜帶所述扇出URI和成員資源的映射關系;所述方法進一步包括:存儲所述多播地址和所述扇出URI的映射關系,以及所述成員資源和所述多播地址的映射關系。可選的,該方法進一步包括:確定成員資源訪問請求的目的地址為多播地址。可選的,所述根據所述扇出URI確定成員資源在成員設備上的訪問路徑具體為:
確定包含與成員資源訪問請求中的目的地址相同的多播地址的多播組信息,確定與成員資源訪問請求中的目的地址相同的多播地址的多播組信息中包含與所述成員資源訪問請求中的目的URI相同的扇出URI,確定多播組信息中與扇出URI對應的成員資源在成員設備上的訪問路徑。可選的,所述根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作具體為:將所述成員資源訪問請求中的目的URI包含的扇出URI用確定的成員資源在成員設備上的訪問路徑替換,并針對與確定的成員資源在成員設備上的訪問路徑對應的成員資源執行訪問請求的操作。可選的,該方法進一步包括:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址;刪除存儲的與離開多播組的群組通告中的多播地址相同的多播地址對應的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。可選的,該方法進一步包括:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶需離開的多播組對應的多播地址以及需離開群組資源的成員資源,所述需離開的成員資源包含需離開群組資源的成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中需離開群組資源的成員資源;刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。可選的,該方法進一步包括:確定存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中的扇出URI不對應成員資源。此外,本發明另一方面還提供了一種群組服務器,包括:接收模塊,用于接收對成員資源的訪問請求,所述對成員資源的訪問請求中攜帶成員資源所屬群組資源的群組資源標識;獲取模塊,用于根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI,以及與所述扇出URI對應的多播地址,所述扇出URI用于指示成員資源在成員設備上的訪問路徑;發送模塊,用于根據所述多播地址向所述成員資源所屬的成員設備發送成員資源訪問請求,所述成員資源訪問請求的目的URI包含與所述成員資源對應的扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作。可選的,所述接收模塊進一步用于接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述群組服務器還包括:處理模塊,用于根據所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址;以及根據成員資源在成員設備上的訪問路徑建立所述多播地址及所述扇出URI之間的映射關系。可選的,所述處理模塊具體為:用于為在成員設備上具有相同訪問路徑的成員資源分配多播地址,并建立所述多播地址及所述扇出URI的映射關系;所述扇出URI為所述成員資源在成員設備上的訪問路徑;和/或用于為在成員設備上具有不同訪問路徑的至少一個成員資源分配虛擬標識,為所述至少一個成員資源分配多播地址,并建立所述多播地址及所述虛擬標識的映射關系以及所述虛擬標識和成員資源的映射關系;將所述虛擬標識設為所述扇出URI。
可選的,所述發送模塊進一步用于:根據所述多播地址及所述扇出URI的映射關系向成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,以便于成員資源所屬的成員設備根據加入多播組的群組通告加入與所述多播地址對應的多播組。可選的,所述處理模塊根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址具體為:根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備歸屬于第一群組服務器,為成員資源所屬的成員設備分配本地多播域的多播地址;或根據所述成員資源所屬的成員設備確定所述群組資源的成員資源所屬的成員設備并不都歸屬于第一群組服務器,為成員資源所屬的成員設備分配全局多播域的多播地址或請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址。可選的,所述處理模塊為成員資源所屬的成員設備分配全局多播域的多播地址具體為:向具有全局多播域的多播地址的群組服務器申請全局多播域的多播地址,為成員資源所屬的成員設備分配申請的全局多播域的多播地址;所述請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址具體為:確定不歸屬于第一群組服務器的成員資源所屬的成員設備歸屬于第二群組服務器,向第二群組服務器發送創建第二群組資源請求,所述創建第二群組資源請求攜帶第一群組資源標識以及成員資源,所述成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;第二群組服務器根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑創建第二群組資源以及為成員資源分配多播地址。可選的,所述處理模塊根據成員資源所屬的成員設備為所述成員資源分配多播地址具體為:根據成員資源所屬的成員設備確定所述成員資源所屬的成員設備和成員設備所屬的網絡支持多播,并為所述成員資源分配多播地址;所述處理模塊還用于:存儲不具有多播能力的成員設備對應的成員資源,以便于群組服務器為不具有多播能力的成員設備單播對成員資源的訪問請求。可選的,所述處理模塊還用于:將對成員資源的訪問請求的目的地址設置為與所述扇出URI對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI,以生成成員資源訪問請求,以及還用于利用所述多播地址發送攜帶所述與成員資源對應的扇出URI的成員資源訪問請求。可選的,所述處理模塊還用于確定所述對成員資源的訪問請求中的目的URI還包含后綴;將對成員資源的訪問請求的目的地址設置與所述扇出UIR對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI以及在所述扇出URI后面添加所述目的URI包含的后綴,以生成成員資源訪問請求。32、如權利要求25-31任一所述的群組服務器,其特征在于,所述接收模塊還用于接收增加成員資源的群組資源更新請求,所述增加成員資源的群組資源更新請求中攜帶群組資源的標識以及需加入群組資源的成員資源,所述需加入群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述處理模塊還用于根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI相同,向需加入群組資源的成員資源所屬的成員設備發送攜帶所述多播地址和扇出URI的映射關系中的多播地址的加入多播組的群組通告,以便于需加入群組資源的成員資源所屬的成員設備通過所述多播地址加入多播組,以及接收通過多播地址發送的成員資源訪問請求;或所述處理模塊還用于根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI不同;在與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系中增加需加入群組資源的成員資源,向需加入群組資源的成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告攜帶與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系,和扇出URI與成員資源在成員設備上的訪問路徑的映射關系;以便于成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的扇出URI與成員資源的映射關系確定成員資源在成員設備的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。可選的,所述接收模塊還用于接收刪除成員資源的群組資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需離開群組資源的成員資源和群組資源的標識,所述需離開群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述處理模塊還用于:根據群組資源的標識確定與需離開群組資源的成員資源對應的扇出URI,以及與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系,刪除所述映射關系中的需離開群組資源的成員資源,向需離開的成員資源所屬的成員設備發送攜帶與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組;或所述接收模塊還用于接收刪除成員資源的群組資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需保留的群組資源的成員資源和群組資源的標識,所述需保留的群組資源的成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述處理模塊還用于根據群組資源的標識確定需離開群組資源的成員資源和扇出UIR的映射關系,利用需保留的群組資源的成員資源更新所述需離開群組資源的成員資源和扇出WR的映射關系中成員資源;向需離開的成員資源所屬的成員設備發送攜帶映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組。可選的,所述處理模塊還用于:根據刪除成員資源的群組資源更新請求的群組資源的標識確定需離開群組資源的成員資源在成員設備上的訪問路徑和需離開的成員資源對應的扇出URI不同;所述離開多播組的群組通告還包括與需離開群組資源的成員資源對應的所述扇出URI ;以便于需離開群組資源的成員資源所屬的成員設備離開所述多播地址指示的多播組,并根據所述需離開群組資源的成員資源和離開多播組的群組通告中的扇出URI刪除成員設備中與刪除成員資源的群組資源更新請求的群組資源的標識對應的多播組信息中的成員資源。此外,本發明又一方面還提供了一種成員設備,包括:接收模塊,用于接收群組服務器發送的成員資源訪問請求,所述成員資源訪問請求為多播的成員資源訪問請求,所述成員資源訪問請求中包含與所述成員資源對應的扇出URI,所述扇出URI用于指示成員資源在成員設備上的訪問路徑;操作模塊,用于根據所述扇出URI確定成員資源在成員設備上的訪問路徑,以及根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作。可選的,所述成員設備的接收模塊進一步用于:接收加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,根據加入多播組的群組通告加入與所述多播地址對應的多播組。可選的,所述加入多播組的群組通告中還攜帶所述扇出URI和成員資源的映射關系,所述成員設備進一步包括:存儲模塊,用于存儲所述扇出URI和所述多播地址映射關系以及所述成員資源和所述多播地址的映射關系。可選的,成員設備進一步包括:確定模塊,用于確定成員資源訪問請求的目的地址為多播地址。可選的,所述成員設備的操作模塊根據所述扇出URI確定成員資源在成員設備上的訪問路徑具體為:確定包含與成員資源訪問請求中的目的地址相同的多播地址的多播組信息,確定與成員資源訪問請求中的目的地址相同的多播地址的多播組信息中包含與所述成員資源訪問請求中的目的URI相同的扇出URI,確定多播組信息中與扇出URI對應的成員資源在成員設備上的訪問路徑。可選的,所述成員設備的操作模塊根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作具體為:將所述成員資源訪問請求中的目的URI包含的扇出URI用確定的成員資源在成員設備上的訪問路徑替換,并針對與確定的成員資源在成員設備上的訪問路徑對應的成員資源執行訪問請求的操作。可選的,所述成員設備的接收模塊進一步用于:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址;所述成員設備的存儲模塊進一步用于,刪除存儲的與離開多播組的群組通告中的多播地址相同的多播地址對應的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。可選的,所述成員設備的接收模塊進一步用于:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址和需離開的成員資源,所述需離開的成員資源包含需離開群組資源的成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述成員設備的存儲模塊進一步用于刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中需離開群組資源的成員資源;以及刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。可選的,所述成員設備的存儲模塊進一步用于確定存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中的扇出URI不對應成員資源。由上述本發明的實施例提供的技術方案可以看出,通過建立群組資源中多播地址與扇出URI的映射關系,可以向群組資源中的成員資源所在的成員設備通過多播的方式發送成員資源訪問請求,并在成員資源訪問請求中包含所述扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的所述成員資源在成員設備上的訪問路徑執行所述成員訪問請求指示的操作。從而使得群組服務器不需要對各成員設備單播訪問請求,節省網絡開銷。
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明的實施例提供的群組資源訪問方法的流程圖;圖2為本發明的實施例提供的創建群組資源的流程圖;圖2-A為本發明的實施例提供的建立多播組的流程圖;圖2-B為本發明的實施例提供的M2M網絡連接關系的架構示意圖;圖2-C為本發明的實施例提供的為成員設備分配多播地址并建立映射關系的流程圖;圖2-D為本發明的實施例提供的M2M網絡連接關系的架構示意圖;圖2-E為本發明的實施例提供的M2M網絡連接關系的架構示意圖;圖2-F為本發明的實施例提供的群組資源表述中包括RESTful資源的示意圖;圖2-G為本發明的實施例提供的成員設備存儲的多播組資源的示意圖;圖3為本發明的實施例提供的群組資源訪問方法的流程圖;圖3-A為本發明實施例提供的成員設備對接收的成員資源訪問請求的處理的方法流程圖;圖4為本發明實施例提供的通過直接分配的多播地址的群組資源訪問方法的流程圖;圖5為本發明實施例提供的通過申請的全局多播地址的群組資源訪問方法的流程圖;圖6為本發明實施例提供的通過遠程分配的多播地址的群組資源訪問方法的流程 圖7為本發明實施例提供的群組服務器的結構示意 圖8為本發明實施例提供的成員設備的結構示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。如圖1所示,本發明實施例提供的群組資源的訪問方法包括如下步驟:步驟101、接收對成員資源的訪問請求,所述對成員資源的訪問請求中攜帶成員資源所屬群組資源的群組資源標識;具體的,第一群組服務器接收對成員資源的訪問請求。例如:第一群組服務器接收到針對群組資源標識為Grp4的成員資源的訪問請求:GEThttp://gl.example.org/groups/grp4/membersContent/data HTTP/1.1。其中 grp4 為群組資源標識,“membersContent”部分表明此請求為針對grp4對應的群組資源中所有成員資源的操作,“data”即為所述后綴的一個實例,用以表明該請求具體應該訪問每個成員資源的“data”數據。步驟102,根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI,以及與與所述扇出URI對應的多播地址,所述扇出URI用于指示成員資源在成員設備上的訪問路徑。具體的,當第一群組服務器接收對成員資源的訪問請求時,首先根據對成員資源的訪問請求中的群組資源標識檢查群組資源是否為建立了多播地址及扇出URI的映射關系,和進一步建立了所述扇出URI和成員資源的映射關系,若建立了多播地址及扇出URI的映射關系,則按照所述多播地址及扇出URI的映射關系發送成員資源訪問請求到各成員設備,否則按現有技術中的方法采用單播方式逐一發送對成員資源的第一訪問請求。對于建立了多播地址及扇出URI的映射關系的情形,第一群組服務器按照所述映射關系發送成員資源訪問請求到各成員設備時,應將對成員資源訪問請求的目的地址設為多播地址及扇出URI的映射關系中的多播地址(即群組服務器為成員資源分配的多播地址),將目的URI設為扇出URI。當群組資源包含多組多播地址及扇出URI的映射關系時,則應針對每組多播地址及扇出URI的映射關系按上述方法發送一個成員資源訪問請求。若第一群組服務器所接收的對成員資源的訪問請求中的目的URI還包含任何后綴(如子資源、屬性,參數等用于訪問成員資源中的內部信息),則第一群組服務器所發送的成員資源訪問請求中的目的URI也應在 扇出URI后面添加相應的后綴。具體的,第一群組服務器需要確定所述對成員資源的訪問請求中的目的URI還包含后綴;則還第一群組服務器還需要所述目的URI設為所述與成員資源對應的扇出URI以及在所述扇出URI后面添加所述目的URI包含的后綴,以生成成員資源訪問請求。具體的,第一群組服務器或其它的群組服務器針對各群組存儲的如表I所示的多播地址及扇出URI的映射關系,和扇出RUI和成員資源的映射關系。表1:群組資源映射表
群組資源成員資源多播地址扇出URI
Grp4m41,m42 [FF32:30:3FFE:FFFF:1::1231]/xxx/templ其中,Grp4為群組資源標識;成員資源m41,m42,多播地址:[FF32:30:3FFE:FFFF:1:: 1231]為群組資源Grp4中的成員資源m41,m42分配的多播地址;扇出URI:/xxx/templ為成員資源m41, m42在成員資源所屬的成員設備上的訪問路徑,通常,如表I所示,至少兩個成員資源對應一個多播地址和扇出URI。在表I所述的實施例中,如果群組資源Grp4僅包含成員m41,m42,則表I中的成員資源一列還可以不用包含m41, m42o則表一只包含扇出URI和多播地址的映射關系步驟103,根據所述多播地址向所述成員資源所屬的成員設備發送成員資源訪問請求,所述成員資源訪問請求的目的URI包含與所述成員資源對應的扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作。具體的,第一群組服務器根據表I中的扇出URI和多播地址的映射關系,向成員設備發送如下成員資源訪問請求:GET/xxx/tempi/data HTTP/1.1Host:[FF32:30:3FFE:FFFF:1::1231]其中,GET命令中攜帶的URI為添加了后綴data的扇出URI “/xxx/temp/data”,而Host頭域作為目的地址攜帶多播地址(即第一群組服務器為群組資源Grp4中的成員資源m41, m42所分配的IPv6多播地址)。從而,成員資源m41,m42所屬的成員設備(假設為Dl,D2)通過多播地址[FF32:30:3FFE:FFFF:1::1231]接收到 GET/xxx/temp/data HTTP/1.1 請求后,可以將成員設備Dl和D2中路徑為/xxx/templ下后綴為data的數據發送給第一群組服務器,從而第一群組服務器不需要以單播的形式將成員資源訪問請求發送給成員設備Dl和D2,從而節省了網絡流量。此外,在第一群組服務器接收對成員資源的訪問請求之前,第一群組服務器還接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述成員資源所屬的成員設備以及成員資源 在成員設備上的訪問路徑為所述成員資源所屬的成員設備分配至少一個多播地址,并根據所述成員資源在成員設備上的訪問路徑建立多播地址和所述扇出URI的映射關系,所述扇出URI用于指示成員資源在成員設備上的訪問路徑。具體的,第一群組服務器創建群組資源以及建立多播地址和所述扇出URI的映射關系,請參考圖2的描述,包括如下步驟:步驟201、第一群組服務器接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑。步驟202、第一群組服務器根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑獲取各成員資源的特征,并根據所述成員資源的特征判斷是否需要建立多播組;具體的,第一群組服務器判斷是否需要建立多播組的方法請參考圖2-A的描述,包括以下步驟:步驟202-1、第一群組服務器解析所述群組資源創建請求,獲取群組資源特征描述及其成員資源的特征描述,包括但不限于群組資源的類型屬性(如是否為靜態、動態或臨時群組)、群組資源的用途(是否需要可靠的請求響應)、成員資源的在成員設備上的訪問路徑、成員資源的訪問接口、成員資源所屬的成員設備及網絡特性(是否支持多播)等特征。例如,對于群組資源的特征描述可以從群組資源創建請求所攜帶的群組資源描述內容獲得。其中群組資源描述內容包括群組資源的類型屬性、用途;而對于成員資源的特征描述則可以通過群組資源描述中所包含的成員資源的URI信息來獲得,其中包括成員資源的URI結構、成員資源的訪問接口等,還可以根據成員資源的URI來訪問成員資源的成員設備從而進一步獲取成員資源的成員設備及成員設備所屬的網絡特性等特征。步驟202-2、根據所述群組資源創建請求的群組描述判斷所創建的群組資源是否為相對靜態的群組,或是變化較為頻繁的動態群組,若是相對靜態的群組,執行后續判斷流程;若是動態群組,不為群組資源創建多播組以及結束流程,從而避免由于群組頻繁變化所帶來的多播組創建和維護開銷。所述相對靜態的群組可以為:群組描述中包含了具體的成員資源列表且成員的變化由第一群組服務器通過群組管理命令(如增加/刪除成員)來控制的群組;所述動態群組包括但不限于:群組所包含的成員資源是滿足特定條件的資源集合,例如在指定地理范圍內的成員資源、或具有其他相同特征的成員資源,而群組成員的變化可根據成員資源自身特征的改變而自動觸發(如成員離開或進入某個地理范圍,群組選擇某個頻道)。步驟202-3、根據群組資源創建請求攜帶的成員資源的訪問接口判斷各成員資源的訪問接口是否一致,若是執行后續判斷流程,否則不為群組資源創建多播組以及結束流程。所述成員資源訪問接口是否一致具體為能否用相同的多播數據包(如IPv4或IPv6)進行訪問。例如,若用于訪問多個成員資源的URI遵循相同的協議和訪問端口號、且所述多個成員資源的URI在不同成員設備上的訪問路徑相同,則可以認為所述多個成員資源具有相同的資源訪問接口。在一個實際系統中,所述URI可用URL (Uniform Resource Locator,統一資源定位符)來進行表示,而URL的基本結構包括:<scheme>://<authority>:<port>/<path> <query>#<fragment>其中,〈scheme〉部分確定了訪問該URL對應資源所采用的協議(如http或coap);〈authority〉部分確定了成員資源所屬的成員設備的地址(如IP地址或域名);〈port>作為可選項,表明了協議訪問端口號;〈path〉? <query>#〈fragment>表示該資源在設備上的訪問路徑。作為一個例子,假設M2M平臺N1、M2M設備Dl和M2M網關Gl的域名分別為:nl.example, com、dl.example, com、gl.example, com,則 NI 上的 Grpl 群組資源 URL 為:Grpl = http://nl.example, com/groups/grpI其所包含的成員資源m ll、ml2、ml3、ml4的URL分別為:mil = coap://dl.example, com/xxx/tempIml2 = coap://dl.example.com/yyy/temp2ml3 = coap://gl.example, com/xxx/tempIml4 = http://nl.example, com/xxx/tempI則上述4個成員資源中mil和ml3具有相同的資源訪問接口,因為其〈scheme〉采用了相同的coap協議,且在成員設備(此處為dl和gl)上訪問路徑均為/xxx/templ ;相反的,ml2的在成員設備dl的訪問路徑為/yyy/temp2,而ml4的〈scheme〉為http協議,因此ml2與ml4與其他成員資源不具有相同的資源訪問接口。在此示例中,可以為mil和ml3建立多播組,而不包含ml2與ml4。步驟202-4、第一群組服務器判斷各成員資源及其各成員資源所屬的成員設備和各成員設備所屬的網絡是否支持多播,若支持執行后續判斷流程,否則不為群組資源創建多播組以及結束流程。對于成員資源是否支持多播可根據該成員資源對應的URL是否支持多播協議訪問(例如HTTP協議不支持,而CoAP協議支持)來判斷;對于成員資源所屬的成員設備及成員設備所屬的網絡是否支持多播,則可能需要第一群組服務器進一步獲取該成員資源及該成員資源所屬的成員設備的相關資源表述信息如注冊信息,并根據資源表述信息如注冊信息確定。作為一個例子,成員資源mil所在的成員設備Dl在M2M平臺NI上的注冊信息可由如下 URL 訪問:http: //nl.example, com/scls/dl,則第一群組服務器可以通過向NI發送一個HTTP GET請求獲取該URL所對應的資源表述內容。在資源表述內容中,對于Dl是否支持多播可由一個專門的屬性(如”multicastEnabled”)來表示,若其取值為TRUE則表示支持多播,若取值為FALSE則表不不支持多播。可選的,即使成員資源的所在的成員設備不支持多播,但訪問該成員資源需要經過一個支持多播的其他設備時,也可以判斷為該成員資源所屬的成員設備資源支持多播。如圖2-B所示,第一群組服務器為M2M設備D1,且群組資源Grp2中包含一個M2M平臺上的成員資源m21,而Dl訪問m21時需要經過M2M網關G1。若Dl與Gl間的通信鏈路支持多播(如CoAP協議),則Dl可以采用多播的方式發送請求給G1,然后Gl將其轉換為單播的方式(如HTTP協議)訪問NI上的m21。此時,可以認為對成員資源m21的訪問支持多播。步驟202-5,第一群組服務器判斷滿足上述條件的成員資源所屬的成員設備是否達到一定數量,若是則執行后續步驟,否則結束流程并不為群組資源創建多播組。這里,可以通過預先配置的策略或參數來確定一個數量作為建立多播組的門限,少于此門限時,則不需要為上述成員資源建立多播組,以節約多播組的管理開銷。值得注意的是,上述202-2到202-5的步驟并沒有嚴格的時間順序,并且第一群組服務器可能根據配置的策略或能力只執行202-2到202-5之間的一個或多個步驟,本發明實施例在此并不做限定。此外,第一群組服務器還可以判斷針對該群組資源的成員訪問是否要求可靠響應,若是,結束流程并不為群組資源創建多播組,否則執行后續判斷流程。所述要求可靠響應是指所述成員資源的成員設備在接收到成員資源訪問請求后,必須返回操作成功或失敗的響應消息。具體來說,CoAP協議中的Confirmable(CON)類型的請求消息就是一種要求可靠響應的成員資源訪問請求,其要求成員資源訪問請求的接收者必須返回Acknowledgement (ACK)或者Reset (RST)類型的響應消息;而Non-Conf irmab Ie (NON)類型的請求消息則不要求消息接收者返回任何響應消息。步驟203、根據所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址,并根據成員資源在成員設備上的訪問路徑建立所述所述多播地址及所述扇出URI之間的映射關系。具體的請參考圖2-C的描述,包括以下步驟:步驟203-1、第一群組服務器分析滿足步驟202中各條件的成員資源所屬的成員設備(以下簡稱成員設備)所屬的多播域情況,所述成員設備是否都屬于本地多播域,如是,執行步驟203-4,否則,執行步驟203-2 ;具體的,在本發明實施例中,多播域可分為本地多播域、遠程多播域和全局多播域。本地多播域是指第一群組服務器所管轄的網絡地址的區域,第一群組服務器能夠為該區域中的成員設備分配本地多播域的多播地址(本地多播地址),當該區域中的設備加入了本地多播地址所指示的多播組后,發往本地多播地址的數據包可以被所有已加入該本地多播組的成員設備接收。而遠程多播域則是第一群組服務器所管轄的網絡地址的區域以外的區域,群組服務器不能夠為遠程多播域分配本地多播地址,且本地多播域中的成員設備無法接收發往遠程多播域的多播地址(遠程多播地址)的數據包(即使本地址多播址和遠程多播地址相同,因為不同的多播域可以重復使用相同的地址空間),反之亦然。全局多播域是指包含了本地多播域以及遠程多播域在內的整個網絡的區域。因此,無論本地網絡設備或遠程網絡設備,只要加入了一個全局多播域中的多播地址(全局多播地址)所指示的多播組,都可以接收發往全局多播地址的數據包。全局多播地址可能由一個全局網絡實體統一管理分配,也可以按一定的地址規劃事先分配到某些群組服務器中。關于IPv4和IPv6的多播地址空間的分配方案指導可參考[RFC3171]和[RFC 4291]等標準文獻。一個成員設備具體屬于哪個多播域可根據該成員設備與群組服務器的連接關系判斷,例如若成員設備(如M2M設備)注冊到第一群組服務器(如M2M網關),則可認為該成員設備屬于該群組服務器的本地多播域,若成員設備注冊到其它與該第一群組服務器平級(如另一個M2M網關)或更高一級的實體(如M2M平臺)時(即歸屬于第二群組服務器),則可認為該成員設備屬于遠程多播域。即,第一群組服務器根據創建群組資源請求中的成員地址獲取各成員設備的注冊信息,然后根據注冊信息來判斷是否是屬于本地多播域。203-2、第一群組服務器判斷能否為群組資源的成員設備分配全局多播地址,若是則執行步驟203-5,否則執行步驟203-3。具體的,如步驟203-1中所述,全局多播地址可以按一定的地址規劃策略預先分配到某些群組服務器中。因此,第一群組服務器在確定群組資源的成員設備不全都屬于第一群組服務器所管轄的本地多播域時,在第一群組服務器中查找被預先分配的全局多播地址空間是否還有尚未分配的全局多播地址,或者第一群組服務器通過向負責管理全局多播地址分配的全局實體發出地址分配請求。對于第一群組服務器通過向負責管理全局多播地址分配的全局多播地址管理實體發出地址分配請求,具體實施方式
如下:假設全局多播地址管理實體為M2M平臺NI,且NI上用于分配全局多播地址的資源URL 為:http://nl.example.com/mcAddrPool,則第一群組服務器可通過一個 HTTP GET 請求訪問資源http://nl.example.com/mcAddrPool。若NI返回的是成功響應,貝U可以從響應消息的消息體中獲取第一群組服務器所申請的全局多播地址,若NI返回的是失敗響應,則意味著M2M平臺NI不能為所屬成員設備分配全局多播地址。實際上,第一群組服務器也可以用類似的方法向負責管理本地或遠程多播地址分配的其它實體(如其它群組服務器)請求分配遠程或全局多播地址,實現方式與向M2M平臺NI申請全局多播地址的方式類似,本發明不在詳述。203-3、第一群組服務器判斷不歸屬于本地多播域的成員設備(非本地成員設備)是否可通過第二群組服務器進行訪問,若是則執行步驟203-6,否則執行步驟203-7。例如,假設第一群組服務器為第一 M2M網關G1,而群組資源Grp3有非本地成員資源m31、m32、m33、m34 如下:m31 = http://d2.example, com/xxx/tempIm32 = http://d2.example.com/xxx/temp2m33 = coap://d3.example, com/xxx/tempIm34 = coap://d4.example, com/xxx/tempI則m31和m32的成員設備為M2M設備D2,而m33和m34的成員設備分別為M2M設備D3和D4,且D2、D3、D4均不歸屬于Gl的本地多播域。假設D3和D4可通過第二 M2M網關G2的進行訪問,其網絡連接關系如圖2-D所示。因此,可以認為成員(m31,m32)可以通過第二群組服務器(圖2-D中的M2M設備D2)訪問,而成員(m33,m34)可通過第三群組服務器(圖2-D中的M2M網關G2)訪問。但是,若D2或G2由于設備能力等原因無法充當群組服務器,則可認為(m31,m32)或(m33,m34)無法通過另一群組服務器訪問。具體的,本發明實施例中第一群組服務器(圖2-D中的M2M關Gl)需要說明的是,即使只有I個成員資源(如僅有m31而沒有m32)可通過另一群組服務器訪問時,仍然可以執行步驟203-6為成員資源m31創建一個群組資源。然而從提高效率的角度出發,第一群組服務器可以根據預先配置的策略或參數來確定一個成員數量門限,少于此門限時,則認為不滿足上述判斷條件,從而執行步驟203-7,而不執行步驟203-6,以節約群組管理開銷。203-4、第一群組服務器為支持多播的本地成員設備分配本地多播地址。203-5、第一群組服務器為支持多播的所有成員設備分配全局多播地址。203-6、第一群組服務器根據步驟203-3的判斷結果,請求第二群組服務器在第二群組服務器上創建第二群組資源,其中第二群組資源包含能夠通過所述第二群組服務器訪問的非第一群組服務器管轄的成員資源。此后,所述第二群組服務器按本發明所揭示的方法,從圖2中的步驟201開始執行相關流程,本發明實施例在此不再詳述。203-7、第一群組服務器記錄無法通過第二群組服務器訪問的非本地成員資源列表,以便后續按單播方式對其進行訪問。203-8確定第二群組服務器(如圖2-D中的G2)是否為本地多播域設備(即是否通過第一群組服務器訪問),如是執行步驟203-9第一群組服務器還可以為第二群組服務器分配本地多播地址并執行步驟203-10,否則建立成員資源與第二群組服務器的映射關系,并按默認的單播方式訪問第二群組服務器;在圖2-D的示例中,第二群組服務器D2或G2都不屬于第一群組服務器Gl的本地多播設備。步驟203-10、根據步驟203-4、203-5或203-9中的多播地址的分配結果,或203-8中的第二群組服務器的訪問地址,或203-7中的成員設備的地址,在第一群組服務器中建立為群組資源建立映射關系。具體的,在同一多播域中的成員資源可以共享一個多播地址,然而根據成員資源本身的訪問接口是否一致,可以為群組資源建立多種的映射關系。具體來說,無論成員資源的訪問接口是否相同,都需要將群組資源標識與所分配的多播地址進行關聯,并建立多播地址和“扇出URI”的映射關系。所述扇出URI為:當第一群組服務器接收對群組資源的成員資源的訪問請求時,向成員設備發送成員資源訪問請求的目的URI。具體的,當成員資源的URI遵循相同的協議和訪問端口號,且成員資源在成員設備上的訪問路徑相同時,所述扇出URI為在成員資源在成員設備上的訪問路徑;當URI遵循相同的協議和訪問端口號,但在成員設備上的訪問路徑不同時,所述扇出URI設為一個虛擬資源標識(可以是群組資源標識或其它形式的資源標識)。。其中,建立多播地址與扇出URI的映射關系請參照如下幾種情況:第一種情況:群組資源的各成員資源的在成員設備上的訪問路徑相同。作為一個例子,假設M2M網關Gl上的群組資源Grp4為:Grp4 = http://gl.example, org/groups/grp4其中包含的成員資源為M2M設備Dl上的m41和M2M設備D5上的m42:m41 = coap://dl.example, org/xxx/tempI
m42 = coap://d5.example, org/xxx/templ第一群組服務器(此例中為M2M網關Gl)為群組資源Grp4下的成員資源m41和m42所分配的IPv6多播地址為[FF32:30: 3FFE:FFFF:1:: 1231],且設備間的網絡連接關系如圖2-E所示(即成員資源m41和m42所屬的成員設備Dl和D2都歸屬于M2M網關Gl);則群組資源 Grp4 的多播地址([FF32:30:3FFE:FFFF:1::1231])及扇出 URI (/xxx/templ)的的映射關系,以及群組資源Grp4的成員資源(m41和m42)、和扇出URI (/xxx/templ)的映射關系如表I所示。當然,在此種情況下,由于群組資源的所有成員資源在成員設備上的訪問路徑相同,因此所有成員資源對應一個多播地址和扇出URI,因此,映射關系還可以僅為群組資源Grp4的多播地址和扇出URI的映射關系,而無需記錄群組資源的成員資源和扇出URI的映射關系。然而,由于同一群組服務器中通常包括多個群組資源,而每個群組資源的成員資源特性不一致,因此為了記錄的統一性,即便無需記錄成員資源的扇出URI的映射關系,也可以在列表中映射關系記錄成員資源,或保留相關的屬性。第二種情況,群組資源的成員資源即代表其所在的成員設備。例如,假設M2M 網關 Gl 上的群組資源 Grp5 為:Grp5 = http: //gl.example, org/grouDs/grp5,其中包含的成員咨源分別為M2M設備Dl、D5、D6上的m51、m52、m53:m51 = coap://dl.example, org/·
m52 = coap://d5.example, org/m53 = coap://d6.example, org/所分配的IPv6多播地址為[FF32:30:3FFE:FFFF:1::1232],且設備間的網絡連接關系仍然圖2-E所示(即成員資源m51、m52和m53各自所屬的成員設備Dl、D5、D6均歸屬于M2M網關Gl),則與成員資源m51、m52和m53對應的扇出URI則為根符號“/,,,則群組資源Grp5的多播地址([FF32:30:3FFE:FFFF:1::1232])及扇出URI(/)的映射關系,以及成員資源(m51、m52和m53)和扇出URI(/)的映射關系如表2所示。在這種情況下,也可以簡化省略扇出URI信息。此外,在此種情況下,也可以稱之為君組資源的多播地址([FF32:30:3FFE:FFFF:1::1232])及扇出 URI(/)和成員資源(m51、m52 和 m53)的映射關系。本發明實施例在無特別說明的情況下,映射關系均指多播地址、成員資源和扇出URI的映射關系。第三種情況,群組資源的各成員資源在各自的成員設備上的訪問路徑不同。作為一個例子,假設M2M網關Gl上的群組資源Grp6為:Grp6 = http://gl.example.0rg/grouDs/grp6,其中群組咨源Grp6的成員資源分別為M2M設備D5上的m61和M2M設備D6上的(m62, m63):m61 = coap://d5.example, org/xxm62 = coap://d6.example, org/yym63 = coap://d6.example, org/zz第一群組服務器(此例中為圖2-E中M2M網關Gl)為Grp6所分配的IPv6多播地址為[FF32:30:3FFE:FFFF:1::1233],且設備間的網絡連接關系如圖2-E所示(即成員資源m61所屬的成員設備D5和成員資源m62,m63所屬的成員設備D6均歸屬于M2M網關Gl),則第一群組服務器需要為群組資源Grp6的各成員資源分配一個虛擬的扇出URI (具體的分配方法可由第一群組服務器確定,本發明實施例在此不在限定),例如“/well-know/grpe”。此虛擬的扇出URI (/well-know/grp6)并不直接對應任何成員設備上的成員資源,但是各成員設備需要將其關聯到與該虛擬的扇出URI對應群組資源中屬于該成員設備的成員資源,具體的關聯方法見后續圖2-G的相關描述。另外,為了避免此不同群組服務器所分配的虛擬扇出URI在同一成員設備上的命名沖突,可以在不同的群組服務器間采取恰當的命名空間劃分,或者直接使用具有唯一'I"生的群組URI (例如/gl.example.0rg/groups/grp6)作為該虛擬扇出URI的一個組成部分或全部。對群組資源Grp6的成員資源m61、m62和m63,和扇出 URI (/well- know/grp6)的映射關系,和多播地址([FF32:30: 3FFE:FFFF:1:: 1233])及扇出URI (/well-know/grp6)建立的映射關系請參考表2所示。第四種情況,成員資源的訪問接口部分相同。作為一個例子,當有部分成員資源的訪問接口相同,而其余成員資源的訪問接口不同時,除了可以采用上述方法外,還可以將訪問接口相同的成員資源分為第一組(可以有多組),將具有不同訪問接口的成員資源分為第二組,然后按上述方法分別對每組成員資源,多播地址及扇出URI進行映射,從而形成多組映射關系。群組服務器可以為每組成員資源單獨分配不同的多播地址,也可以為其分配相同的多播地址。對于后者,則要求每組的“扇出URI”不同。例如,假設M2M 網關 Gl 上的群組資源 Grp7 為:Grp7 = http: //gl.example, org/Rroups/Rrp7,其中群組資源Grp7包含的成員資源分別為M2M設備Dl上的m71,D5上的m72,D6上的m73,D7上的m74,D8上的m75,D9上的m76,NI上的m77:m71 = coap://dl.example, org/xx/aam72 = coap://d5.example, org/xx/aam73 = coap://d6.example, org/yy/bbm74 = coap://d7.example, org/yy/bbm75 = coap://d8.example, org/ccm76 = coap://d9.example, org/dd第一群組服務器(此例中為圖2-E中M2M網關Gl)為群組資源Grp7所分配的IPv6多播地址為[FF32:30:3FFE:FFFF:1::1234],且設備間的網絡連接關系如圖2-E所示(即成員資源m71、m72、m73、m74、m75和m76各自所屬的成員設備Dl、D5、D6、D7、D8、D9均歸屬于M2M網關G1),則成員資源(m71,m72)對應相同的扇出URI iVxx/aa/”,(m73, m74)對應相同的扇出URI “/yy/bb/”,而(m75,m76)則需要分配一個虛擬的扇出URI,如“/well-known/grp7/”,則為群組資源Grp7的各成員資源建立的映射關系如表2所示,S卩成員資源(m71,m72)和扇出URI (/xx/aa)的映射關系以及多播地址([FF32:30:3FFE:FFFF:1::1234])和扇出 URI (/xx/aa)的映射關系,成員資源(m73, m74)和扇出URI (/yy/bb)的映射關系以及多播地址([FF32:30: 3FFE:FFFF:1:: 1234])和扇出URI (/yy/bb),成員資源(m75,m76)和扇出URI (/well_known/grp7)的映射關系以及多播地址([FF32:30:3FFE:FFFF:1::1234])和扇出 URI (/well_known/grp7)的映射關系,成員資源(m77)、單播地址([3FFE:2A00:100:7031::1])及扇出URI(/abc)之間的映射關系。
當存在部分不支持多播的成員資源時:若群組資源中還包含不支持多播的成員資源,則對于這些不支持多播的成員資源單獨采用現有技術中的逐一單播的訪問方式處理而不需加入上述成員地址映射表。當然,為了便于群組服務器的統一處理,也可以在成員地址映射表中單獨列出這些成員資源的單播訪問地址和扇出URI。此時,需將其單播地址填入多播地址欄,而將其在成員設備上的訪問路徑填入扇出URI欄。例如假設上述Grp7中還包含成員m77為:m77 = http://nl.example, org/abc由于m77只能通過http協議訪問,不支持多播,因此映射關系如表2所示。第五種情況,群組資源的成員資源中存在非本地成員資源且無法分配全局多播地址:對于步驟203-3中所描述的群組資源Grp3包含了非本地成員的情形,則第一群組服務器(此例中為圖2-E中M2M網關Gl)可以在D2和G2分別創建兩個群組:Grp8包含(m31, m32)和 Grp9 包含(m33, m34),例如:Grp8 = http://d2.example, com/groups/grp8Grp9 = http://g2.example, com/groups/grp9由于第一群組服務器無法為D2和G2分配全局多播地址,因此只能按上述不支持多播方式處理,將D2和G2的單播地址分別填入多播地址欄,而將GrpS和Grp9的群組資源URI (或其在成員設備上的訪問路徑)分別填入扇出URI欄,如表2所示。表2,群組資源映射表
權利要求
1.一種成員資源的訪問方法,其特征在于,包括: 接收對成員資源的訪問請求,所述對成員資源的訪問請求中攜帶成員資源所屬群組資源的群組資源標識; 根據所述群組資源標識獲取群組資源中與成員資源對應的扇出通用資源標識符URI,以及與所述扇出URI對應的多播地址,所述扇出URI用于指示成員資源在成員設備上的訪問路徑; 根據所述多播地址向所述成員資源所屬的成員設備發送成員資源訪問請求,所述成員資源訪問請求的目的URI包含與所述成員資源對應的扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作。
2.如權利要求1所述的方法,其特征在于,該方法進一步包括: 接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 根據所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址 ;根據成員資源在成員設備上的訪問路徑建立所述多播地址和所述扇出URI的映射關系。
3.如權利要求2所述的方法,其特征在于,所述根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址,以及根據成員資源在成員設備上的訪問路徑建立所述多播地址及所述扇出URI之間的映射關系具體為: 為在成員設備上具有相同訪問路徑的成員資源分配多播地址,并建立所述多播地址及所述扇出URI的映射關系;所述扇出URI為所述成員資源在成員設備上的訪問路徑;和/或 為在成員設備上具有不同訪問路徑的至少一個成員資源分配虛擬標識,為所述至少一個成員資源分配多播地址,并為建立所述多播地址及所述虛擬標識的映射關系以及所述虛擬標識和成員資源的映射關系;將所述虛擬標識設為所述扇出URI。
4.如權利要2或3所述的方法,其特征在于,該方法進一步包括: 根據所述多播地址及所述扇出URI的映射關系向成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,以便于成員資源所屬的成員設備根據加入多播組的群組通告加入與所述多播地址對應的多播組。
5.如權利要求4所述的方法,其特征在于, 所述加入多播組的群組通告中還攜帶所述所述扇出URI和成員資源的映射關系,以便所述成員資源所屬的成員設備存儲所述扇出URI和所述多播地址映射關系,以及所述成員資源和所述多播地址的映射關系; 所述以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請求指示的操作具體為:所述成員資源所屬的成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的所述扇出URI以及根據所述扇出URI和成員資源映射關系確定成員資源在成員設備上的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。
6.如權利要求2-5任一所述的方法,其特征在于,所述根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址具體為:根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備歸屬于第一群組服務器,為成員資源所屬的成員設備分配本地多播域的多播地址;或 根據所述成員資源所屬的成員設備確定所述群組資源的成員資源所屬的成員設備并不都歸屬于第一群組服務器,為成員資源所屬的成員設備分配全局多播域的多播地址或請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址。
7.如權利要求6所述的方法,其特征在于, 所述為成員資源所屬的成員設備分配全局多播域的多播地址具體為:向具有全局多播域的多播地址的群組服務器申請全局多播域的多播地址,為成員資源所屬的成員設備分配申請的全局多播域的多播地址; 所述請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址具體為:確定不歸屬于第一群組服務器的成員資源所屬的成員設備歸屬于第二群組服務器,向第二群組服務器發送創建第二群組資源請求,所述創建第二群組資源請求攜帶第一群組資源標識以及成員資源,所述成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;第二群組服務器根據所述成員資源所屬的成員設備創建第二群組資源以及為成員資源分配多播地址。
8.如權利要求2-7任一所述的方法,其特征在于,所述根據成員資源所屬的成員設備以及成員資源在成員設備 上的訪問路徑為所述成員資源分配多播地址具體為: 根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備和成員設備所屬的網絡支持多播,并為所述成員資源分配多播地址; 所述方法還包括: 存儲不具有多播能力的成員設備對應的成員資源,以便于群組服務器為不具有多播能力的成員設備單播對成員資源的訪問請求。
9.如權利要求1-8任一所述的方法,其特征在于,所述根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI以及與所述扇出URI對應的多播地址之后,該方法還包括: 將對成員資源的訪問請求的目的地址設置為與所述扇出URI對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI,以生成成員資源訪問請求; 利用所述多播地址發送攜帶所述與成員資源對應的扇出URI的成員資源訪問請求。
10.如權利要求1-8任一所述的方法,其特征在于,所述根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI以及與所述扇出URI對應的多播地址之后,該方法還包括: 確定所述對成員資源的訪問請求中的目的URI還包含后綴; 將對成員資源的訪問請求的目的地址設置為與所述扇出UIR對應的多播地址,將所述目的URI設為所述與成員資源對應的扇出URI以及在所述扇出URI后面添加所述目的URI包含的后綴,以生成成員資源訪問請求。
11.如權利要求2-10任一所述的方法,其特征在于,該方法還包括: 接收增加成員資源的群組資源更新請求,所述增加成員資源的群組資源更新請求中攜帶群組資源的標識以及需加入群組資源的成員資源,所述需加入群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI相同,向需加入群組資源的成員資源所屬的成員設備發送攜帶所述多播地址和扇出URI的映射關系中的多播地址的加入多播組的群組通告,以便于需加入群組資源的成員資源所屬的成員設備通過所述多播地址加入多播組,以及接收通過多播地址發送的成員資源訪問請求;或 根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI不同;在與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系中增加需加入群組資源的成員資源,向需加入群組資源的成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告攜帶與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系,和與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系;以便于成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的扇出URI與成員資源的映射關系確定成員資源在成員設備上的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。
12.如權利要求2-11任一所述的方法,其特征在于,該方法還包括: 接收刪除成員資源的群組 資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需離開群組資源的成員資源和群組資源的標識,所述需離開群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據群組資源的標識確定與需離開群組資源的成員資源對應的扇出URI,以及與需離開群組資源的成員資源對應的扇出URI和多播地址的映射關系,刪除所述與需離開群組資源的成員資源對應的扇出URI和多播地址的映射關系中的需離開群組資源的成員資源,向需離開的成員資源所屬的成員設備發送攜帶與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組;或 刪除成員資源的群組資源更新請求中攜帶需保留的群組資源的成員資源和群組資源的標識,所述需保留的群組資源的成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;根據群組資源的標識確定與需離開群組資源的成員資源和扇出UIR的映射關系,利用需保留的群組資源的成員資源更新所述需離開群組資源的成員資源和扇出UIR的映射關系中成員資源,向需離開的成員資源所屬的成員設備發送攜帶映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組。
13.如權利要求12所述的方法,其特征在于,該方法進一步包括: 根據刪除成員資源的群組資源更新請求的群組資源的標識確定需離開群組資源的成員資源在成員設備上的的訪問路徑和需離開的成員資源對應的扇出URI不同; 所述離開多播組的群組通告還包括與需離開群組資源的成員資源對應的所述扇出URI ;以便于需離開群組資源的成員資源所屬的成員設備離開所述多播地址指示的多播組,并根據所述需離開群組資源的成員資源和離開多播組的群組通告中的扇出URI刪除成員設備中與刪除成員資源的群組資源更新請求的群組資源的標識對應的多播組信息中的成員資源。
14.一種群組資源的訪問方法,其特征在于:包括 接收群組服務器發送的成員資源訪問請求,所述成員資源訪問請求為多播的成員資源訪問請求,所述成員資源訪問請求中包含與所述成員資源對應的扇出URI,所述扇出URI用于指示成員資源在成員設備上的訪問路徑; 根據所述扇出URI確定成員資源在成員設備上的訪問路徑,以及根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作。
15.如權利要求14所述的方法,其特征在于,該方法進一步包括: 接收加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,根據加入多播組的群組通告加入與所述多播地址對應的多播組。
16.如權利要求15所述的方法,其特征在于,所述加入多播組的群組通告中還攜帶所述扇出URI和成員資源的映射關系;所述方法進一步包括: 存儲所述多播地 址和所述扇出URI的映射關系,以及所述成員資源和所述多播地址的映射關系。
17.如權利要求14-16任一所述的方法,其特征在于,該方法進一步包括:確定成員資源訪問請求的目的地址為多播地址。
18.如權利要求17所述的方法,其特征在于,所述根據所述扇出URI確定成員資源在成員設備上的訪問路徑具體為: 確定包含與成員資源訪問請求中的目的地址相同的多播地址的多播組信息,確定與成員資源訪問請求中的目的地址相同的多播地址的多播組信息中包含與所述成員資源訪問請求中的目的URI相同的扇出URI,確定多播組信息中與扇出URI對應的成員資源在成員設備上的訪問路徑。
19.如權利要求14-18任一所述的方法,所述根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作具體為:: 將所述成員資源訪問請求中的目的URI包含的扇出URI用確定的成員資源在成員設備上的訪問路徑替換,并針對與確定的成員資源在成員設備上的訪問路徑對應的成員資源執行訪問請求的操作。
20.如權利要求14-19任一所述的方法,其特征在于,該方法進一步包括: 接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址; 刪除存儲的與離開多播組的群組通告中的多播地址相同的多播地址對應的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。
21.如權利要求14-20任一所述的方法,其特征在于,該方法進一步包括: 接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶需離開的多播組對應的多播地址以及需離開群組資源的成員資源,所述需離開的成員資源包含需離開群組資源的成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中需離開群組資源的成員資源; 刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。
22.如權利要求21所述的方法,其特征在于,該方法進一步包括: 確定存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中的扇出URI不對應成員資源。
23.—種群組服務器,其特征在于,包括: 接收模塊,用于接收對成員資源的訪問請求,所述對成員資源的訪問請求中攜帶成員資源所屬群組資源的群組資源標識; 獲取模塊,用于根據所述群組資源標識獲取群組資源中與成員資源對應的扇出URI,以及與所述扇出URI對應的多播地址,所述扇出URI用于指示成員資源在成員設備上的訪問路徑; 發送模塊,用于根據所述多播地址向所述成員資源所屬的成員設備發送成員資源訪問請求,所述成員資源訪問請求的目的URI包含與所述成員資源對應的扇出URI ;以便所述成員資源所屬的成員設備根據所述扇出URI指示的成員資源在成員設備上的訪問路徑執行所述成員資源訪問請 求指示的操作。
24.如權利要求23所述的群組服務器,其特征在于, 所述接收模塊進一步用于接收群組資源創建請求,所述群組資源創建請求中攜帶各成員資源,所述成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 所述群組服務器還包括:處理模塊,用于根據所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址;以及根據成員資源在成員設備上的訪問路徑建立所述多播地址及所述扇出URI之間的映射關系。
25.如權利要求24所述的群組服務器,其特征在于, 所述處理模塊具體為:用于為在成員設備上具有相同訪問路徑的成員資源分配多播地址,并建立所述多播地址及所述扇出URI的映射關系;所述扇出URI為所述成員資源在成員設備上的訪問路徑;和/或 用于為在成員設備上具有不同訪問路徑的至少一個成員資源分配虛擬標識,為所述至少一個成員資源分配多播地址,并建立所述多播地址及所述虛擬標識的映射關系以及所述虛擬標識和成員資源的映射關系;將所述虛擬標識設為所述扇出URI。
26.如權利要求24所述的群組服務器,其特征在于, 所述發送模塊進一步用于:根據所述多播地址及所述扇出URI的映射關系向成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,以便于成員資源所屬的成員設備根據加入多播組的群組通告加入與所述多播地址對應的多播組。
27.如權利要求24-26任一所述的群組服務器,其特征在于,所述處理模塊根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑為所述成員資源分配多播地址具體為: 根據所述成員資源所屬的成員設備確定所述成員資源所屬的成員設備歸屬于第一群組服務器,為成員資源所屬的成員設備分配本地多播域的多播地址;或 根據所述成員資源所屬的成員設備確定所述群組資源的成員資源所屬的成員設備并不都歸屬于第一群組服務器,為成員資源所屬的成員設備分配全局多播域的多播地址或請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址。
28.如權利要求27所述的群組服務器,其特征在于,所述處理模塊為成員資源所屬的成員設備分配全局多播域的多播地址具體為:向具有全局多播域的多播地址的群組服務器申請全局多播域的多播地址,為成員資源所屬的成員設備分配申請的全局多播域的多播地址; 所述請求為不歸屬于第一群組服務器的成員資源所屬的成員設備分配遠程多播域的多播地址具體為:確定不歸屬于第一群組服務器的成員資源所屬的成員設備歸屬于第二群組服務器,向第二群組服務器發送創建第二群組資源請求,所述創建第二群組資源請求攜帶第一群組資源標識以及成員資源,所述成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;第二群組服務器根據成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑創建第二群組資源以及為成員資源分配多播地址。
29.如權利要求24-28任一所述的群組服務器,其特征在于:所述處理模塊根據成員資源所屬的成員設備為所述成員資源分配多播地址具體為:根據成員資源所屬的成員設備確定所述成員資源所屬的成員設備和成員設備所屬的網絡支持多播,并為所述成員資源分配多播地址; 所述處理模塊還用于:存儲不具有多播能力的成員設備對應的成員資源,以便于群組服務器為不具有多播能力的 成員設備單播對成員資源的訪問請求。
30.如權利要求24-29任一所述的群組服務器,其特征在于,所述處理模塊還用于:將對成員資源的訪問請求的目的地址設置為與所述扇出URI對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI,以生成成員資源訪問請求,以及還用于利用所述多播地址發送攜帶所述與成員資源對應的扇出URI的成員資源訪問請求。
31.如權利要求24-29任一所述的群組服務器,其特征在于, 所述處理模塊還用于確定所述對成員資源的訪問請求中的目的URI還包含后綴;將對成員資源的訪問請求的目的地址設置與所述扇出UIR對應的多播地址,將對成員資源的訪問請求的目的URI設為所述與成員資源對應的扇出URI以及在所述扇出URI后面添加所述目的URI包含的后綴,以生成成員資源訪問請求。
32.如權利要求25-31任一所述的群組服務器,其特征在于, 所述接收模塊還用于接收增加成員資源的群組資源更新請求,所述增加成員資源的群組資源更新請求中攜帶群組資源的標識以及需加入群組資源的成員資源,所述需加入群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 所述處理模塊還用于根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI相同,向需加入群組資源的成員資源所屬的成員設備發送攜帶所述多播地址和扇出URI的映射關系中的多播地址的加入多播組的群組通告,以便于需加入群組資源的成員資源所屬的成員設備通過所述多播地址加入多播組,以及接收通過多播地址發送的成員資源訪問請求;或所述處理模塊還用于根據群組資源的標識確定需加入群組資源的成員資源在成員設備上的訪問路徑和與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系中的扇出URI不同;在與群組資源的標識對應的群組資源中的扇出URI和成員資源的映射關系中增加需加入群組資源的成員資源,向需加入群組資源的成員資源所屬的成員設備發送加入多播組的群組通告,所述加入多播組的群組通告攜帶與群組資源的標識對應的群組資源中的所述多播地址和扇出URI的映射關系,和扇出URI與成員資源在成員設備上的訪問路徑的映射關系;以便于成員設備在接收到攜帶所述扇出URI的訪問請求后,根據接收到的扇出URI與成員資源的映射關系確定成員資源在成員設備的訪問路徑,并根據確定的成員資源在成員設備上的訪問路徑執行相應的成員資源訪問請求。
33.如權利要求25-32任一所述的群組服務器,其特征在于, 所述接收模塊還用于接收刪除成員資源的群組資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需離開群組資源的成員資源和群組資源的標識,所述需離開群組資源的成員資源包括所述成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述處理模塊還用于:根據群組資源的標識確定與需離開群組資源的成員資源對應的扇出URI,以及與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系,刪除所述映射關系中的需離開群組資源的成員資源,向需離開的成員資源所屬的成員設備發送攜帶與需離開群組資源的成員資源對應扇出URI和多播地址的映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組;或 所述接收模塊還用于接收刪除成員資源的群組資源更新請求,所述刪除成員資源的群組資源更新請求中攜帶需保 留的群組資源的成員資源和群組資源的標識,所述需保留的群組資源的成員資源包含成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑;所述處理模塊還用于根據群組資源的標識確定需離開群組資源的成員資源和扇出UIR的映射關系,利用需保留的群組資源的成員資源更新所述需離開群組資源的成員資源和扇出UIR的映射關系中成員資源;向需離開的成員資源所屬的成員設備發送攜帶映射關系中的多播地址的離開多播組的群組通告,以便于需離開的成員資源所屬的成員設備離開所述多播地址指示的多播組。
34.如權利要求33所述的群組服務器,其特征在于, 所述處理模塊還用于:根據刪除成員資源的群組資源更新請求的群組資源的標識確定需離開群組資源的成員資源在成員設備上的訪問路徑和需離開的成員資源對應的扇出URI不同; 所述離開多播組的群組通告還包括與需離開群組資源的成員資源對應的所述扇出URI ;以便于需離開群組資源的成員資源所屬的成員設備離開所述多播地址指示的多播組,并根據所述需離開群組資源的成員資源和離開多播組的群組通告中的扇出URI刪除成員設備中與刪除成員資源的群組資源更新請求的群組資源的標識對應的多播組信息中的成員資源。
35.一種成員設備,其特征在于,包括: 接收模塊,用于接收群組服務器發送的成員資源訪問請求,所述成員資源訪問請求為多播的成員資源訪問請求,所述成員資源訪問請求中包含與所述成員資源對應的扇出URI,所述扇出URI用于指示成員資源在成員設備上的訪問路徑; 操作模塊,用于根據所述扇出URI確定成員資源在成員設備上的訪問路徑,以及根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作。
36.如權利要求35所述的成員設備,其特征在于,所述接收模塊進一步用于:接收加入多播組的群組通告,所述加入多播組的群組通告中攜帶多播地址,根據加入多播組的群組通告加入與所述多播地址對應的多播組。
37.如權利要求36所述的成員設備,其特征在于,所述加入多播組的群組通告中還攜帶所述扇出URI和成員資源的映射關系,所述成員設備進一步包括: 存儲模塊,用于存儲所述扇出URI和所述多播地址映射關系以及所述成員資源和所述多播地址的映射關系。
38.如權利要求35-37任一所述的成員設備,其特征在于,進一步包括:確定模塊,用于確定成員資源訪問請求的目的地址為多播地址。
39.如權利要求38所述的成員設備,其特征在于,所述操作模塊根據所述扇出URI確定成員資源在成員設備上的訪問路徑具體為:確定包含與成員資源訪問請求中的目的地址相同的多播地址的多播組信息,確定與成員資源訪問請求中的目的地址相同的多播地址的多播組信息中包含與所述成員資源訪問請求中的目的URI相同的扇出URI,確定多播組信息中與扇出URI對應的成員資源在成員設備上的訪問路徑。
40.如權利要求35-39任一所述的成員設備,其特征在于,所述操作模塊根據所述成員資源在成員設備上的訪問路徑執行訪問請求的操作具體為:將所述成員資源訪問請求中的目的URI包含的扇出URI用確定的成員資源在成員設備上的訪問路徑替換,并針對與確定的成員資源在成員設備上的訪問路徑對應的成員資源執行訪問請求的操作。
41.如權利要求35-40任一所述的成員設備,其特征在于,所述接收模塊進一步用于:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址; 所述存儲模塊進一步用于,刪除存儲的與離開多播組的群組通告中的多播地址相同的多播地址對應的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。
42.如權利要求35-40任一所述的成員設備,其特征在于,所述接收模塊進一步用于:接收離開多播組的群組通告,所述離開多播組的群組通告中攜帶多播地址和需離開的成員資源,所述需離開的成員資源包含需離開群組資源的成員資源所屬的成員設備以及成員資源在成員設備上的訪問路徑; 所述存儲模塊進一步用于刪除存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中需離開群組資源的成員資源;以及刪除存儲的與所述離開多播組的群組 通告中的多播地址相同的多播地址的多播組信息,并退出所述離開多播組的群組通告中的多播地址對應的多播組。
43.如權利要求42所述的成員設備,其特征在于, 所述存儲模塊進一步用于確定存儲的與所述離開多播組的群組通告中的多播地址相同的多播地址的多播組信息中的扇出URI不對應成員資源。
全文摘要
本發明提供了一種成員資源的訪問方法,群組服務器和成員設備,通過建立的群組資源中多播地址與扇出URI的映射關系,可以向群組資源中的成員資源所在的成員設備通過多播的方式發送成員資源訪問請求,并在成員資源訪問請求中包含所述扇出URI;以便所述成員資源所屬的成員設備根據所述扇出URI指示的所述成員資源在成員設備上的訪問路徑執行所述成員訪問請求指示的操作。從而使得群組服務器不需要對各成員設備單播訪問請求,節省網絡開銷。
文檔編號H04L12/18GK103200209SQ20121000413
公開日2013年7月10日 申請日期2012年1月6日 優先權日2012年1月6日
發明者張永靖 申請人:華為技術有限公司