專利名稱:一種訂閱呈現體的信息的方法和裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種訂閱呈現體的信息的方法和裝置。
背景技術:
OMA(Open Mobile Alliance,開放移動聯(lián)盟)呈現業(yè)務引擎(Presence Enabler) 提供了一種通用的服務、設備、個人信息的發(fā)布和發(fā)現方法,能夠被其它業(yè)務引擎(如即時 消息等)用于業(yè)務和用戶狀態(tài)的發(fā)布和發(fā)現。觀察者(Watcher)通過訂閱請求特定的呈現 體標識(Presentity URI)來獲得某個呈現體(Presentity)、或某個呈現列表(Presence List)中多個呈現體的呈現信息。對于前者,每個呈現體具有自身的呈現體標識;對于后 者,所述呈現列表必須滿足特定的資源列表(Resource List)文檔格式,且具有列表專用的 呈現體標識,觀察者通過向資源列表服務器(Resource List Server,RLS)訂閱該呈現列表 的標識,才能獲得該呈現列表中各呈現體的呈現信息。類似的,呈現信息發(fā)布者還可以反過 來訂閱一個呈現列表中各呈現體的觀察者信息,用于了解呈現信息發(fā)布者自身被觀察者訂 閱的情況。實際應用中,觀察者有時可能僅知道呈現列表中某個特定成員的呈現體標識,卻 由于各種原因,如所述呈現列表由被觀察者創(chuàng)建,而無法獲得該呈現列表信息,包括整個列 表的標識或列表中所有成員的呈現體標識。比如,被觀察者擁有多個具有不同呈現體標識 的終端,它們共同屬于一個被觀察者的個人網絡設備呈現列表,而觀察者僅知道其中一個 終端的呈現體標識,但無法知道被觀察者的個人網絡設備呈現列表。此時,觀察者只能訂閱 該列表中已知成員終端的呈現信息,而無法利用所述呈現列表訂閱被觀察者所有成員終端 的呈現信息。此外,用戶數據中往往具有多種不同于呈現列表的其它列表信息,如群組列表 (Shared Group)、共享列表(Shared List)、或其它業(yè)務特定的列表等。這些列表(如Shared Group)并不一定滿足資源列表文檔格式,也不一定具有列表專用的呈現體標識(如Shared List),但卻包含多個可用于訂閱呈現信息(或觀察者信息)的呈現體標識?,F有技術條件 下,觀察者必須根據這些列表信息中所包含的呈現體標識,重新創(chuàng)建相應的呈現列表,然后 才能訂閱相應呈現體的呈現信息,而不能直接重用已有的各種列表。因此,發(fā)明人在實現本發(fā)明的過程中發(fā)現,在現有技術中,一方面,觀察者只能使 用呈現列表標識或群組標識來實現多個列表成員或多個群組成員的呈現信息的批量訂閱, 不能使用其他類型的列表;另一方面,觀察者必須事先知道呈現列表或群組的標識,或呈現 列表中全部成員的呈現體標識,才能訂閱整個列表中所有成員的呈現信息。
發(fā)明內容
本發(fā)明實施例的目的在于提供一種訂閱呈現體的信息的方法和裝置,以解決在不 知道列表所有成員標識的情況下,通過其中一個成員標識訂閱列表中所有成員的呈現信息 或觀察者信息的技術問題。
本發(fā)明實施例的上述目的是通過如下技術方案實現的一種訂閱呈現體的信息的方法,所述方法包括接收訂閱者發(fā)送的攜帶第一成員 標識和列表擴展指示參數的訂閱請求消息;根據所述列表擴展指示參數查詢包含所述第一 成員標識的列表;根據查詢結果訂閱所述列表中成員的呈現信息或觀察者信息發(fā)送給所述 訂閱者。一種訂閱呈現體的信息的裝置,所述裝置包括接收單元,用于接收訂閱者發(fā)送的 攜帶第一成員標識和列表擴展指示參數的訂閱請求消息;查詢單元,用于根據所述列表擴 展指示參數查詢包含所述第一成員標識的列表;訂閱單元,用于根據查詢結果訂閱所述列 表中成員的呈現信息或觀察者信息發(fā)送給所述訂閱者。通過本發(fā)明實施例的訂閱呈現體的信息的方法和裝置,使訂閱者在不了解特定呈 現體所在列表信息,例如列表的呈現體標識或列表中所有成員的呈現體標識的情況下,能 夠通過訂閱列表中的一個成員的呈現信息或觀察者信息,獲得整個列表中所有其它成員的 呈現信息或觀察者信息。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,并不 構成對本發(fā)明的限定。在附圖中圖1為本發(fā)明一實施例的方法流程圖;圖2為本發(fā)明另一實施例的方法流程圖;圖3為本發(fā)明另一實施例的方法流程圖;圖4為本發(fā)明一實施例的信息交互示意圖;圖5為本發(fā)明另一實施例的信息交互示意圖;圖6為本發(fā)明另一實施例的信息交互示意圖;圖7為本發(fā)明另一實施例的信息交互示意圖;圖8為本發(fā)明實施例的裝置組成框圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚明白,下面結合實施例和附 圖,對本發(fā)明實施例做進一步詳細說明。在此,本發(fā)明的示意性實施例及其說明用于解釋本 發(fā)明,但并不作為對本發(fā)明的限定。本發(fā)明實施例提供一種訂閱呈現體的信息的方法,以下結合附圖對本實施例進行 詳細說明。實施例一圖1為本發(fā)明實施例的方法流程圖,請參照圖1,本發(fā)明實施例的訂閱呈現體的信 息的方法主要包括101 接收訂閱者發(fā)送的攜帶第一成員標識和列表擴展指示參數的訂閱請求消 息;102 根據所述列表擴展指示參數查詢包含所述第一成員標識的列表;103:根據查詢結果訂閱所述列表中成員的呈現信息或觀察者信息發(fā)送給所述訂閱者。在本實施例中,攜帶第一成員標識和列表擴展指示參數的訂閱請求消息由訂閱者 發(fā)起,例如,請求訂閱呈現體的呈現信息的觀察者,或者請求訂閱呈現體的觀察者信息的被 觀察者等。該訂閱者只知道某一呈現體的標識,例如第一成員標識,即可根據該標識結合列 表擴展指示參數訂閱包含該第一成員標識的列表成員的呈現體的信息。其中,呈現信息或觀察者信息包括呈現體的設備相關信息,以及或者呈現體能夠 提供的服務的描述信息,以及或者和呈現體相關的用戶信息等,本實施例并不以此作為限 制。在本實施例中,列表擴展指示參數可以包括列表類型、列表域、列表數量、列表嵌 套指示、列表更新指示、過濾條件等一個或多個,其中列表類型參數可以是特定的應用標識(Application Unique ID,AUID),如表示呈 現列表應用的rls-services ;或者是特定的命名空間標識(Namespace),如urn: ietf:para ms:xml:ns:rls-services ;或者是其它能夠區(qū)別不同列表類型的標識。列表域參數表明了所要查詢的列表所在網絡域,如觀察者本域(home)、特定目標 網絡域(target)、或全部域(all);或還包括特定的用戶域標識(XCAPUser Identifier, XUI),如 sip:userlOexample. com。列表數量參數用于當存在多個包含第一成員標識時,限定用于訂閱的列表數量。成員數量參數用于限定用于訂閱的成員數量。列表嵌套指示參數用于限定是否允許進一步查詢列表中所嵌套引用的其它列表, 以及允許嵌套的層數等。列表更新指示參數用于限定是否需要跟蹤查詢結果中列表成員的變化情況。過濾條件參數用于根據其它關鍵詞,如列表的主題、名稱等進一步篩選滿足條件 的列表。本實施例的方法可以應用于具有列表擴展訂閱功能的裝置中,包含于資源列表服 務器,或包含于其他獨立的服務器,用于處理訂閱者的呈現信息或觀察者信息的訂閱請求, 并將結果通知給訂閱者。通過本發(fā)明實施例的訂閱呈現體的信息的方法,使訂閱者在不了解特定呈現體所 在列表信息時,例如列表的呈現體標識或列表中所有成員的呈現體標識的情況下,能夠通 過訂閱列表中的一個成員的呈現信息或觀察者信息,獲得整個列表中所有成員的呈現信息 或觀察者信息。結合不同的列表擴展指示參數,本發(fā)明實施例的方法在查詢列表及訂閱列表成員 信息的過程中有不同的實現方式,以下通過不同的實施例對此加以說明。實施例二圖2為本實施例的方法流程圖,在本實施例中,該方法應用于列表擴展訂閱功能 裝置LESF(List Expend Subscribe Function),該列表擴展訂閱功能裝置可以包含于資源 列表服務器,或其他獨立的服務器,本實施例并不以此作為限制,請參照圖2,本實施例的方 法主要包括201 :LESF接收攜帶第一成員標識和列表擴展指示參數的訂閱請求;202 :LESF根據列表擴展指示參數向對應的列表服務器查詢包含第一成員標識的列表,并獲得查詢結果列表;其中,列表服務器根據列表擴展指示參數確定,可以為至少一個,例如,當列表擴 展指示參數包含列表類型,且該列表類型為個人網絡列表時,則對應的列表服務器為個人 網絡列表服務器;當列表類型為群組列表和共享列表時,則對應的列表服務器為群組列表 服務器和共享列表服務器。其中,列表擴展指示參數還可以包括列表域,以便進一步在該列表域的范圍確定 列表服務器;或僅包括列表域,以便在該列表域的范圍內確定列表服務器。203 :LESF將查詢結果列表合并為第一列表,并刪除其中重復的列表成員;在本實施例中,如果列表擴展指示參數包含了列表或成員數量,則LESF會根據該 列表或成員數量的限定,將所限定數量的查詢結果列表或成員合并為第一列表。例如,假設查詢結果列表包含三個,而列表數量參數限定為2,則LESF會將所獲得 的三個查詢結果列表中的任意兩個,或根據本地策略選擇的兩個列表合并為第一列表,并 刪除所選列表中重復的成員,而僅保留重復成員中的一個。對于另外一個沒有被合并的列 表,本發(fā)明實施例并不限制如何處理。再例如,假設查詢結果列表中包含了三個成員,而成員數量參數限定為2,則LESF 會將所獲得的三個成員中的任意兩個,或根據本地策略選擇的兩個合并為第一列表。對于 另外一個沒有被合并的成員,本發(fā)明實施例并不限制如何處理。在本實施例中,如果列表擴展指示參數包含了列表嵌套指示,則LESF會根據查詢 結果列表中的嵌套列表,進一步在其他服務器中查詢該嵌套列表中的成員的呈現體標識, 然后再進行合并。例如,假設查詢結果列表的成員除了包含呈現體標識URI-A和URI-B以外,還包含 嵌套列表M,則LESF會根據該嵌套列表M的歸屬域向其所歸屬的列表服務器查詢該嵌套列 表M所包含的成員(如禮為)的呈現體標識URI-MpURIi,則合并后的第一列表包含成員 URI-A、URI-B、URI-M” URI-M2。在本實施例中,如果列表擴展指示參數包含了過濾條件,則LESF會根據該過濾條 件進一步過濾查詢結果列表,將過濾后的查詢結果列表進行合并。204 :LESF判斷所述第一列表是否為空,若是則執(zhí)行步驟205-206,否則執(zhí)行步驟 207-208。205-206 :LESF直接向第一成員標識的歸屬呈現服務器訂閱該第一成員的呈現信 息或觀察者信息,并將通知結果轉發(fā)給訂閱者。207 :LESF向RLS請求訂閱第一列表成員的呈現信息或觀察者信息,該訂閱請求中 攜帶第一列表所有成員的呈現體標識。208 :LESF將來自RLS的通知消息轉發(fā)給訂閱者,其中包含聚合后的第一列表所有 成員的呈現信息或觀察者信息。其中,步驟205和206屬于直接向歸屬呈現服務器訂閱的情況,而步驟207和208 屬于通過RLS訂閱的情況,其具體的流程屬于現有技術,在此不再贅述。在本實施例中,如果列表擴展指示參數包含了列表更新指示,則LESF通過步驟 202獲得查詢結果列表后,在將所述查詢結果列表合并為第一列表的同時,還向對應的列表 服務器進一步訂閱上述查詢結果列表,或定期向對應的列表服務器重新查詢包含第一成員
8標識的列表,以便跟蹤列表成員變化,獲得更新的查詢結果列表。其中,LESF會根據列表成員的變化情況重新進行包含所述第一成員標識的列表成 員信息的訂閱。請參照圖3,在至少一個查詢結果列表中的成員發(fā)生改變時,本實施例的方 法還包括301 根據獲得的列表更新結果,LESF判斷至少一個查詢結果列表的成員標識發(fā) 生改變。其中,列表更新結果可以通過向對應的列表服務器進一步訂閱上述查詢結果列 表,或定期向對應的列表服務器重新查詢包含第一成員標識的列表來獲得,本實施例并不 以此作為限制,而獲得列表更新結果將在以下的實施例中進行詳細說明。302-304 如果發(fā)生改變的查詢結果列表中刪除了第一成員標識,則LESF刪除該 刪除了第一成員標識的查詢結果列表后,將剩余查詢結果列表合并為第二列表;否則LESF 直接將所有查詢結果列表合并為第二列表。305 :LESF判斷第二列表是否為空,若是則執(zhí)行步驟306、310,否則執(zhí)行步驟 307-310。306 :LESF請求RLS取消除第一成員以外的所有其它呈現信息或觀察者信息的訂 閱請求。其中,由于該圖3所示的流程是在查詢結果列表成員發(fā)生改變的情況下的處理過 程。因此,當第二列表為空時,則第一列表為非空,而由于第一列表為非空時,是通過RLS訂 閱第一列表成員的信息。因此,根據本實施例,查詢結果列表由第一列表的“非空”變化為 第二列表的“空”,則LESF請求RLS取消除第一成員以外的所有其它呈現信息或觀察者信息 的訂閱請求,僅通過RLS訂閱第一成員信息。307 :LESF判斷是否已存在對第一成員標識的直接訂閱關系,也就是判斷第一列 表是否為空,若是則執(zhí)行步驟308-310,否則執(zhí)行步驟309-310。其中,由于圖3所示的流程是在查詢結果列表成員發(fā)生改變的情況下的處理過 程,因此,當第二列表為非空時,則第一列表可能為空,也可能為非空。根據本實施例,如果 第一列表為空,那么意味著查詢結果列表由第一列表的“空”變化為第二列表的“非空”,則 已存在對第一成員標識的直接訂閱關系,故要先取消該訂閱關系,再通過RLS訂閱非空后 的列表,即第二列表成員的信息(步驟308、309);如果第一列表為非空,那么意味著查詢 結果列表只是成員的變化或增加了新的查詢結果列表,則用第二列表成員替代第一列表成 員,請求RLS訂閱第二列表成員的信息(步驟309)。308 :LESF取消對第一成員標識的歸屬呈現服務器訂閱第一成員的呈現信息或觀 察者信息的請求。309 :LESF更新訂閱關系,請求RLS訂閱第二列表成員的呈現信息或觀察者信息, 該訂閱請求中攜帶第二列表所有成員的呈現體標識。310 :LESF將來自RLS的通知消息轉發(fā)給訂閱者,其中包含由RLS聚合的呈現信息 或觀察者信息。在本實施例中,RLS根據LESF發(fā)送的訂閱請求中的呈現體標識,向相應的歸屬呈 現服務器發(fā)送訂閱請求,并獲得各呈現體的呈現信息或觀察者信息后,將所述呈現信息或 觀察者信息聚合,返給LESF,LESF再將聚合后的信息發(fā)送給訂閱者。這是現有技術,在此不再贅述。通過本發(fā)明實施例提供的訂閱呈現體的信息的方法,使訂閱者在不了解特定呈現 體所在列表信息,例如列表的呈現體標識或列表中所有成員的呈現體標識的情況下,能夠 通過訂閱列表中的一個成員的呈現信息或觀察者信息,獲得整個列表中所有其它成員的呈 現信息或觀察者信息。此外,由于不需要列表標識即可獲得列表成員的信息,因此,使訂閱 者能夠使用非呈現列表的其它多種列表,進行呈現信息或觀察者信息的訂閱。為了使本發(fā)明實施例的方法更加清楚易懂,以下結合不同訂閱流程對本實施例進 行詳細說明。實施例三圖4為本發(fā)明實施例提供的訂閱呈現體的信息的交互流程圖,在本實施例中,用 戶Alice為一個人網絡用戶,具有多個終端設備,分別標識為URI-A,URI-B, URI-C,并分別 發(fā)布其呈現信息到呈現服務器A、B、C上。用戶Alice的個人網絡服務器中維護了其個人 網絡設備標識列表。觀察者John僅僅知道用戶Alice的一個終端標識URI-A,并試圖通過 URI-A訂閱獲得Alice所有個人網絡設備的呈現信息,以便選擇最恰當的終端設備與Alice 建立通信聯(lián)系,或請求從Alice的某個終端設備上獲得共享的服務,請參照圖4,根據本實 施例的方法,該訂閱過程包括401 觀察者John向列表擴展訂閱功能裝置(LESF)發(fā)送請求訂閱呈現體A以及包 含A的呈現列表中其它呈現體的呈現信息的訂閱請求消息。其中,該訂閱請求消息中至少 攜帶呈現體A的標識URI-A,以及列表擴展指示參數。例如,所述列表擴展指示參數中包含了列表域和列表類型,其中列表域指明了 需要擴展查詢的列表網絡域為Alice的歸屬域,如realm = example, org,且用戶標識域 為Alice,如xui = sipaliceiexample. org ;列表類型為個人網絡列表,如AUID = org. openmobilealliance. cpns。其中,列表擴展指示參數可攜帶在訂閱請求消息的擴展消息頭中,如在表示發(fā)送 方偏好的Acc印t-Contact頭域中增加新的特征碼(feature-tag)來實現;或使用訂閱請求 消息擴展的消息體,如采用XML文檔來實現。402 :LESF根據所述訂閱請求消息中的列表類型參數和列表域參數向相應的列表 服務器,即個人網絡服務器查詢特定用戶目錄中包含URI-A的列表,在本實施例中,該特定 用戶目錄為xui = sip:aliceiexample. org,請求獲取該列表各成員的呈現體標識。其中,所述查詢過程可使用基于HTTP協(xié)議的XQuery搜索命令實現,也可使用其它 現有的查詢技術,如數據庫查詢命令實現,本實施例并不以此作為限制。403 個人網絡服務器根據本地授權規(guī)則以及LESF的查詢請求,返回滿足條件的 列表成員的呈現體標識,如<URI-A,URI-B, URI-C〉。其中,本地授權規(guī)則可以是對不同訂閱者的授權,也可以是對不同呈現體的授權, 還可以是對不同LESF的授權等,本實施例并不以此作為限制。404 :LESF獲得上述查詢結果列表<URI_A,URI-B,URI_C>后,向RLS請求訂閱查詢 結果列表中各成員的呈現信息,其中攜帶各成員的呈現體標識<URI-A,URI-B, URI-C〉。405-406 :RLS根據收到的訂閱請求中攜帶的呈現體標識,分別向各呈現體的歸屬 服務器,如PS A、PS B、PS C發(fā)出訂閱其呈現信息的請求(步驟405a、405b、405c),并在對應的通知消息中獲得各呈現體的呈現信息(步驟406a、406b、406c)。407 :RLS將收到的各呈現體的呈現信息進行聚合處理。408-409 :RLS將聚合后的呈現信息發(fā)送給LESF,LESF再轉發(fā)給觀察者John。根據本發(fā)明實施例的方法,觀察者John只通過Alice的一個終端標識就獲得了 Alice所有個人網絡設備的呈現信息。在本實施例中,“觀察者”John也可以替換為Alice自身的某一個終端設備,Alice 作為被觀察者,訂閱其終端設備被觀察的情況。此時,訂閱事件類型由“呈現信息”替換為 “觀察者信息”,則利用本實施例的方法,用戶Alice可通過使用其任一終端,如URI-A所標 識的終端,向列表擴展訂閱功能裝置LESF請求訂閱包含該終端自身標識(URI-A)的個人網 絡設備列表的觀察者信息,從而獲得其所有個人網絡終端的觀察者,如John的信息。這樣, 用戶Alice可直接利用個人網絡終端列表來實現訂閱全部終端的觀察者信息,而無需為個 人網絡終端列表重復創(chuàng)建一個呈現列表。實施例四圖5為本發(fā)明實施例提供的訂閱呈現體的信息的交互流程圖。在本實施例中,觀 察者僅知道呈現體A的標識URI-A,并試圖通過URI-A訂閱A所在群組列表(Shared Group) 和共享列表(Shared List)中其它成員的呈現信息。請參照圖5,根據本實施例的方法,該 訂閱過程包括501 觀察者向列表擴展訂閱功能裝置(LESF)發(fā)送請求訂閱呈現體A以及包含A 的呈現列表中其它呈現體的呈現信息的訂閱請求消息。其中,該訂閱請求消息中至少攜帶 呈現體A的標識URI-A,以及列表擴展指示參數。例如,所述列表擴展指示參數中包含了列表域、列表類型、列表嵌套指示以及列 表數量,其中,列表域指明了需要擴展查詢的列表位于A的歸屬域,如realm = example, org ;列表類型為群組列表和共享列表,如AUID = org. openmobilealliance. groups, resource-lists ;列表嵌套指示支持嵌套查詢,以對獲得的查詢結果列表中的嵌套列表進 行進一步查詢;列表數量指明不限列表數量,以將獲得的所有查詢結果列表進行合并。另外,所述列表擴展指示參數中還可以包含其它過濾條件,如subject = football,以提供給列表服務器將符合該過濾條件的查詢結果列表返回;或根據該過濾條 件對獲得的查詢結果列表進行過濾。其中,列表擴展指示參數可攜帶在訂閱請求消息的擴展消息頭中,如在表示發(fā)送 方偏好的Acc印t-Contact頭域中增加新的特征碼(feature-tag)來實現;或使用訂閱請求 消息擴展的消息體,如采用XML文檔來實現。502 :LESF根據所述訂閱請求消息中的列表類型參數和列表域參數向相應的列 表服務器,即呈現體A歸屬域的群組列表服務器(Shared GroupXDMS)和共享列表服務器 (Shared List XDMS)擴展查詢包含URI-A的列表,請求獲取該列表各成員的呈現體標識 (步驟 502a 和 502b)。其中,所述查詢過程可使用基于HTTP協(xié)議的XQuery搜索命令實現,也可使用其它 現有的查詢技術,如數據庫查詢命令實現,本實施例并不以此作為限制。其中,該列表擴展查詢還可以攜帶步驟501中收到的過濾條件,如主題關鍵字為 足球,以便獲得符合該過濾條件的查詢結果列表。
503 各列表服務器根據本地授權規(guī)則以及LESF的查詢請求,返回滿足條件的列 表成員的呈現體標識。例如,從群組列表服務器和共享列表服務器返回的查詢結果分別為 <URI-A,URI-B> 和 <URI-A,URI-C> (步驟 503a、503b)。其中,本地授權規(guī)則可以是對不同訂閱者的授權,也可以是對不同呈現體的授權, 還可以是對不同LESF的授權等,本實施例并不以此作為限制。其中,如果查詢結果列表中還包含嵌套列表,則LESF會根據步驟501中收到的列 表嵌套指示參數,根據該嵌套列表的標識,例如其歸屬域選擇從其它服務器繼續(xù)查詢和獲 取嵌套列表中成員的呈現體標識。在本實施例中,群組列表服務器和共享列表服務器各返回一個符合條件的列表, 這只是舉例說明,他們也可能返回多個包含URI-A且符合條件的列表,后續(xù)處理流程不變, 本實施例并不以此作為限制。504 :LESF將得到的查詢結果列表中各列表成員的呈現體標識合并為第一列表并 刪除其中重復的呈現體標識URI-A,保留不重復的呈現體標識<URI-A,URI-B, URI_C>。其中,根據步驟501中收到的列表或成員數量參數的限制,LESF可選擇僅合并有 限數量列表的成員,排除多余列表中的成員;或者選擇僅合并有限數量的成員,排除多余的 成員。在本實施例中,由于對列表數量沒有限制,所以本步驟會合并所獲得的所有列表成 員O根據本實施例,合并結果第一列表為非空,執(zhí)行步驟508 513??蛇x的,如果合并 結果第一列表為空,即不存在滿足條件的包含URI-A的列表,則執(zhí)行步驟505 507后結束 流程。505-507 :LESF代表觀察者直接向呈現體A的歸屬呈現服務器PS A訂閱A的呈現 信息,并將得到的呈現信息轉發(fā)給觀察者。508 :LESF向RLS請求訂閱第一列表中各成員的呈現信息,其中攜帶第一列表中各 成員的呈現體標識<URI-A,URI-B, URI-C〉。509-510 :RLS根據收到的訂閱請求中攜帶的呈現體標識,分別向各呈現體的歸屬 服務器PS A、PS B、PS C發(fā)出訂閱其呈現信息的請求(步驟509a、509b、509c),并在對應的 通知消息中獲得各呈現體的呈現信息(步驟510a、510b、510c)。511 :RLS將收到的各呈現體的呈現信息進行聚合處理。512-513 :RLS將聚合后的呈現信息發(fā)送給LESF,LESF再轉發(fā)給觀察者。本實施例對首次信息訂閱進行了說明,在本實施例中,列表擴展指示參數不包含 列表更新指示,即LESF沒有跟蹤列表變化。通過本實施例的方法,觀察者僅通過一個呈現 體標識URI-A就獲得了該呈現體A所在群組列表和共享列表中其他成員的呈現信息。實施例五圖6為本發(fā)明實施例提供的訂閱呈現體的信息的交互流程圖,在本實施例中,假 設列表擴展指示參數中包含了列表更新指示參數,要求跟蹤列表成員的變化,而根據前述 實施例四的方法,首次訂閱時,第一列表為非空,請參照圖6,根據本實施例的方法,該更新 訂閱過程包括601-604 與實施例四中的步驟501-504相同。605 與實施例四中的步驟508-513相同。
606 若步驟601中的訂閱請求消息中的列表擴展指示參數包含了列表更新指示 參數,則判斷為需要跟蹤列表成員變化,執(zhí)行后續(xù)步驟607-615。在本實施例中,該步驟606可在步驟603之后的任意時刻并行執(zhí)行。607 :LESF進一步向群組列表服務器和共享列表服務器請求訂閱步驟603中獲得 的查詢結果列表。在本實施例中,LESF可以根據預先設定的周期定時向群組列表服務器和共享列 表服務器發(fā)送請求訂閱查詢結果列表的消息;也可以根據本地策略發(fā)送預定次數的請求消 息,以訂閱查詢結果列表;還可以根據其他策略進行查詢結果列表的訂閱,本實施例并不以 此作為限制。在本實施例中,LESF可以根據步驟603獲得的查詢結果列表的列表名稱訂閱該列 表中成員的更新情況,而本實施例并不以此作為限制。608 :LESF獲得列表更新通知,其中假設共享列表服務器返回的通知結果不再包 含呈現體A的標識URI-A,而是一個新的列表<URI-C,URI-D〉;609 :LESF刪除來自共享列表服務器的更新列表<URI_C,URI_D>,僅將來自群組列 表服務器的列表<URI-A,URI-B〉合并入第二列表;在本實施例中,LESF還可以取消對共享列表服務器返回的列表<URI-C,URI_D>的 訂閱。在本實施例中,合并后的第二列表為非空,因此執(zhí)行步驟610。如果合并后的第二列表為空,即更新的所有列表中均不再包含URI-A,則步驟610 中,LESF向RLS更新的訂閱請求將僅包含呈現體A的標識URI-A。相應地,RLS將取消除對 URI-A以外的所有其它呈現信息訂閱關系。610 :LESF更新發(fā)送給RLS的訂閱請求,用第二列表成員標識<URI_A,URI_B>替換 原來的第一列表成員標識<URI-A,URI-B, URI-C> ;611-612 :RLS根據收到的訂閱請求中攜帶的呈現體標識,發(fā)現首次訂閱時已存在 對于呈現體A、B和C的訂閱關系,則繼續(xù)維持與PS A和PS B之間對URI-A和URI-B的呈 現信息訂閱關系(步驟611a、611b),并在對應的通知消息中獲得各呈現體的呈現信息(步 驟612a、612b),同時取消與PSC之間對URI-C的訂閱關系(步驟611c,612c)。613 :RLS將收到的各呈現體的呈現信息進行聚合處理。614-615 :RLS將聚合后僅包含呈現體A和B的呈現信息發(fā)送給LESF,LESF再轉發(fā) 給觀察者。本實施例根據列表擴展指示參數包含的列表更新指示,通過訂閱查詢結果列表的 方式跟蹤列表的變化情況,對首次訂閱時第一列表為非空,列表變化后,第二列表為空或非 空時的呈現體的信息訂閱的情況進行了說明,通過本實施例的方法,在查詢結果列表變化 時,可依然實現對某一呈現體所在群組列表和共享列表中其他成員的呈現信息的訂閱。實施例六圖7為本發(fā)明實施例提供的訂閱呈現體的信息的交互流程圖,在本實施例中,假 設列表擴展指示參數中包含了列表更新指示參數,要求跟蹤列表成員的變化。假設在前述 實施例四中的首次訂閱時第一列表為空。根據本實施例的方法,該更新訂閱過程包括701-702 與實施例四中的步驟501-502相同。
1
703 各列表服務器根據本地授權規(guī)則以及LESF的查詢請求,返回滿足條件的列 表成員的呈現體標識。在本實施例中,沒有找到符合條件的列表,因此,群組列表服務器和 共享列表服務器返回的查詢結果都為空(步驟703a、703b)。704 :LESF將得到的查詢結果列表中各列表成員的呈現體標識合并為第一列表, 并判斷為空。705 與實施例四中的步驟505-507相同。706 若步驟701中的訂閱請求消息中的列表擴展指示參數包含了列表更新指示 參數,則判斷為需要跟蹤列表成員變化,執(zhí)行后續(xù)步驟707-716。在本實施例中,該步驟706可在步驟703之后的任意時刻并行執(zhí)行。707 :LESF定期重新向前述的群組列表服務器和共享列表服務器查詢包含呈現體 A的標識URI-A的列表(步驟707a、707b);708 :LESF獲得更新的查詢結果列表,假設群組列表服務器中新增了包含呈現體A 的列表,則返回的查詢結果列表為<URI-A,URI-B>(步驟708a),而共享列表服務器查詢結 果列表未變,仍為空(步驟708b);709 :LESF將來自群組列表服務器和共享列表服務器的查詢結果列表合并為第二 列表 <URI-A,URI-B〉。在本實施例中,合并后的第二列表為非空,因此執(zhí)行步驟710。如果合并后的第二列表仍為空,即包含URI-A的查詢結果列表未發(fā)生變化,則 LESF仍然維持對URI-A的直接訂閱,不再執(zhí)行步驟710-716。710 由于第一列表為空,因此LESF已存在對URI-A的直接訂閱關系,因此,當第二 列表為非空時,LESF要取消步驟5中對URI-A的直接訂閱。711 :LESF向RLS請求訂閱第二列表中各成員的呈現信息,其中攜帶第二列表中各 成員的呈現體標識<URI-A,URI-B〉。712-713 :RLS根據收到的訂閱請求中攜帶的呈現體標識,分別向各呈現體的歸屬 服務器PS A、PS B發(fā)出訂閱其呈現信息的請求(步驟712a。712b),并在對應的通知消息 中獲得各呈現體的呈現信息(步驟713a、713b)。714 :RLS將收到的各呈現體的呈現信息進行聚合處理。715-716 :RLS將聚合后的呈現信息發(fā)送給LESF,LESF再轉發(fā)給觀察者。本實施例根據列表擴展指示參數包含的列表更新指示,通過定期更新查詢的方法 跟蹤列表的變化情況,對首次訂閱時第一列表為空,列表變化后,第二列表為空或非空時的 呈現體的信息訂閱的情況進行了說明,通過本實施例的方法,在查詢結果列表變化時,可依 然實現對某一呈現體所在群組列表和共享列表中其他成員的呈現信息的訂閱。實施例七本發(fā)明實施例還提供一種訂閱呈現體的信息的裝置,以下結合附圖對本實施例進 行詳細說明。圖8為本實施例的裝置組成框圖,請參照圖8,本發(fā)明實施例的訂閱呈現體的信息 的裝置主要包括接收單元81,用于接收訂閱者發(fā)起的攜帶第一成員標識和列表擴展指示參數的訂 閱請求消息;
查詢單元82,用于根據所述列表擴展指示參數向對應的列表服務器查詢包含所述 第一成員標識的列表;訂閱單元83,用于根據查詢結果通過RLS或直接訂閱所述列表中成員的呈現信息 或觀察者信息并發(fā)送給所述訂閱者。在本實施例中,查詢單元82包括確定模塊821,用于根據所述列表擴展指示參數的列表類型參數和/或列表域參 數確定需要查詢的列表服務器或數據庫;查詢模塊822,用于向所述列表服務器或數據庫查詢包含所述第一成員標識的列 表;接收模塊823,用于接收所述列表服務器或數據庫返回的查詢結果列表。其中,查詢模塊822可以通過基于HTTP協(xié)議的XQuery搜索命令或數據庫查詢命 令向所述列表服務器或數據庫查詢包含所述第一成員標識的列表,本實施例并不以此作為 限制。在本實施例中,訂閱單元83包括合并模塊831,用于將接收模塊823獲得的查詢結果列表合并為第一列表,刪除該 查詢結果列表中重復的成員的呈現體標識。該合并模塊831還用于根據所述列表擴展指示參數的列表或成員數量參數,將符 合所述列表或成員數量的查詢結果列表合并為第一列表。在本實施例中,該訂閱單元83還包括直接訂閱模塊832,用于在合并模塊831合并的第一列表為空時,向所述第一成員 的歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察者信息;間接訂閱模塊833,用于在合并模塊831合并的第一列表為非空時,通過資源列表 服務器訂閱所述第一列表中各成員的呈現信息或觀察者信息。根據本發(fā)明另一個實施例,所述裝置還包括請求單元84和更新單元85,其中請求單元84用于向所述列表服務器或數據庫發(fā)送訂閱查詢結果列表請求,以通 過更新單元85在所述查詢結果列表中的成員發(fā)生變化時接收所述列表服務器或數據庫返 回的列表更新通知。或者請求單元84用于定期向所述列表服務器或數據庫發(fā)送更新列表擴展查詢請求, 以通過更新單元85接收所述列表服務器或數據庫返回的查詢結果更新列表。在本實施例中,所述裝置還包括合并單元86,用于將所述列表更新通知中或所述查詢結果更新列表中的列表成員 合并為第二列表,如果所述列表更新通知中具有不包含所述第一成員標識的列表,則先刪 除該列表,再將其他列表合并為第二列表。該合并單元86還用于根據所述列表擴展指示參數的列表或成員數量參數,將符 合所述列表或成員數量的查詢結果列表合并為第二列表。根據本實施例,間接訂閱模塊833用于在第二列表為空,且根據直接訂閱模塊832 得知不存在對所述第一成員的歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察 者信息的訂閱關系時,通過資源列表服務器訂閱所述第一成員的呈現信息或觀察者信息; 并在所述第二列表為非空,且根據直接訂閱模塊832得知不存在對所述第一成員的歸屬呈
15現服務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系時,通過資源列表服 務器訂閱所述第二列表中各成員的呈現信息或觀察者信息;并在所述第二列表為非空,且 根據直接訂閱模塊832得知存在對所述第一成員的歸屬呈現服務器訂閱所述第一成員標 識的呈現信息或觀察者信息的訂閱關系時,通過直接訂閱模塊832取消向所述第一成員的 歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察者信息后,通過資源列表服務器 訂閱所述第二列表中各成員的呈現信息或觀察者信息。直接訂閱模塊832用于在所述第二列表為空,且存在對所述第一成員的歸屬呈現 服務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系時,保持對所述第一成 員的歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系;并在所 述第二列表為非空,且存在對所述第一成員的歸屬呈現服務器訂閱所述第一成員標識的呈 現信息或觀察者信息的訂閱關系時,取消向所述第一成員的歸屬呈現服務器訂閱所述第一 成員標識的呈現信息或觀察者信息。本實施例的訂閱呈現體的信息的裝置用于實現前述方法實施例中列表擴展訂閱 功能裝置LESF的功能,由于在前述方法實施例中,已經對LESF的功能進行了詳細說明,故 在此不再贅述。本實施例的訂閱呈現體的信息的裝置可以包含于資源列表服務器RLS,作為RLS 中的一個增強模塊部署;也可以作為一個獨立的功能實體部署,本實施例的并不以此作為 限制。結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí) 行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存 儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術 領域內所公知的任意其它形式的存儲介質中。以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳 細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保 護范圍,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本 發(fā)明的保護范圍之內。
權利要求
一種訂閱呈現體的信息的方法,其特征在于,所述方法包括接收訂閱者發(fā)送的攜帶第一成員標識和列表擴展指示參數的訂閱請求消息;根據所述列表擴展指示參數查詢包含所述第一成員標識的列表;根據查詢結果訂閱所述列表中成員的呈現信息或觀察者信息發(fā)送給所述訂閱者。
2.根據權利要求1所述的方法,其特征在于,所述列表擴展指示參數包括列表類型參 數和/或列表域參數,則根據所述列表擴展指示參數查詢包含所述第一成員標識的列表包 括根據所述列表類型參數和/或所述列表域參數確定需要查詢的列表服務器或數據庫;向所述列表服務器或數據庫查詢包含所述第一成員標識的列表;接收所述列表服務器或數據庫返回的查詢結果列表。
3.根據權利要求2所述的方法,其特征在于,所述查詢結果列表為至少一個,則所述方 法還包括將所述查詢結果列表合并為第一列表,刪除所述查詢結果列表中重復的成員的呈現體 標識。
4.根據權利要求3所述的方法,其特征在于,所述列表擴展指示參數還包括列表或成 員數量參數,則將所述查詢結果列表合并為第一列表包括根據所述列表或成員數量參數,將符合所述列表或成員數量參數限定數量的查詢結果 列表合并為第一列表。
5.根據權利要求3所述的方法,其特征在于,所述根據查詢結果訂閱所述列表中成員 的呈現信息或觀察者信息包括如果所述第一列表為空,則向所述第一成員的歸屬呈現服務器訂閱所述第一成員標識 的呈現信息或觀察者信息;如果所述第一列表為非空,則通過資源列表服務器訂閱所述第一列表中各成員的呈現 信息或觀察者信息。
6.根據權利要求2所述的方法,其特征在于,所述列表擴展指示參數還包括列表嵌套 指示參數,則所述方法還包括如果所述查詢結果列表中包括嵌套列表,則根據所述列表嵌套指示參數及所述嵌套列 表的標識,向對應的列表服務器獲取所述嵌套列表中的成員標識。
7.根據權利要求2所述的方法,其特征在于,所述列表擴展指示參數還包括列表更新 指示參數,則接收所述列表服務器或數據庫返回的查詢結果列表之后還包括向所述列表服務器或數據庫發(fā)送訂閱查詢結果列表請求;在所述查詢結果列表中的成員發(fā)生變化時接收所述列表服務器或數據庫返回的列表 更新通知。
8.根據權利要求2所述的方法,其特征在于,所述列表擴展指示參數還包括列表更新 指示參數,則接收所述列表服務器或數據庫返回的查詢結果列表之后還包括定期向所述列表服務器或數據庫發(fā)送更新列表擴展查詢請求;接收所述列表服務器或數據庫返回的查詢結果更新列表。
9.根據權利要求7或8所述的方法,其特征在于,接收到所述列表服務器或數據庫返回 的列表更新通知或查詢結果更新列表后,所述方法還包括將所述列表更新通知中的列表或所述查詢結果更新列表合并為第二列表;根據所述第二列表更新訂閱包含所述第一成員的列表的成員的呈現信息或觀察者信息。
10.根據權利要求9所述的方法,其特征在于,將所述列表更新通知中的列表合并為第 二列表包括如果所述列表更新通知中具有不包含所述第一成員標識的列表,則刪除不包含所述 第一成員標識的列表,將刪除不包含所述第一成員標識的列表后的其他列表合并為第二列表。
11.根據權利要求9所述的方法,其特征在于當所述第二列表為空時,如果不存在對所述第一成員的歸屬呈現服務器訂閱所述第一 成員標識的呈現信息或觀察者信息的訂閱關系,則通過資源列表服務器訂閱所述第一成員 的呈現信息或觀察者信息;否則保持對所述第一成員的歸屬呈現服務器訂閱所述第一成員 標識的呈現信息或觀察者信息的訂閱關系;當所述第二列表為非空時,如果不存在對所述第一成員的歸屬呈現服務器訂閱所述第 一成員標識的呈現信息或觀察者信息的訂閱關系,則通過資源列表服務器訂閱所述第二列 表中各成員的呈現信息或觀察者信息;否則取消向所述第一成員的歸屬呈現服務器訂閱所 述第一成員標識的呈現信息或觀察者信息,通過資源列表服務器訂閱所述第二列表中各成 員的呈現信息或觀察者信息。
12.根據權利要求9所述的方法,其特征在于,所述列表擴展指示參數還包括列表或成 員數量參數,則合并第二列表包括根據所述列表或成員數量參數,將符合所述列表或成員數量參數限定數量的查詢結果 列表合并為第二列表。
13.根據權利要求2所述的方法,其特征在于,所述列表擴展指示參數還包括過濾條 件,則向所述列表服務器或數據庫查詢包含所述第一成員標識的列表包括將所述過濾條件 添加到所述查詢的請求消息中,以獲得符合所述過濾條件的查詢結果列表;或者根據所述過濾條件對所述查詢結果列表進行過濾,獲得符合所述過濾條件的查詢結果 列表。
14.一種訂閱呈現體的信息的裝置,其特征在于,所述裝置包括接收單元,用于接收訂閱者發(fā)送的攜帶第一成員標識和列表擴展指示參數的訂閱請求 消息;查詢單元,用于根據所述列表擴展指示參數查詢包含所述第一成員標識的列表; 訂閱單元,用于根據查詢結果訂閱所述列表中成員的呈現信息或觀察者信息發(fā)送給所 述訂閱者。
15.根據權利要求14所述的裝置,其特征在于,所述查詢單元包括確定模塊,用于根據所述列表擴展指示參數的列表類型參數和/或列表域參數確定需 要查詢的列表服務器或數據庫;查詢模塊,用于向所述列表服務器或數據庫查詢包含所述第一成員標識的列表; 接收模塊,用于接收所述列表服務器或數據庫返回的查詢結果列表。
16.根據權利要求15所述的裝置,其特征在于,所述訂閱單元包括合并模塊,用于將所述查詢結果列表合并為第一列表,刪除所述查詢結果列表中重復 的成員的呈現體標識。
17.根據權利要求15所述的裝置,其特征在于,所述訂閱單元還包括直接訂閱模塊,用于在所述第一列表為空時,向所述第一成員的歸屬呈現服務器訂閱 所述第一成員標識的呈現信息或觀察者信息;間接訂閱模塊,用于在所述第一列表為非空時,通過資源列表服務器訂閱所述第一列 表中各成員的呈現信息或觀察者信息。
18.根據權利要求15所述的裝置,其特征在于,所述裝置還包括請求單元,用于向所述列表服務器或數據庫發(fā)送訂閱查詢結果列表請求,或者用于定 期向所述列表服務器或數據庫發(fā)送更新列表擴展查詢請求;更新單元,用于在所述查詢結果列表中的成員發(fā)生變化時接收所述列表服務器或數據 庫返回的列表更新通知,或者接收所述列表服務器或數據庫返回的查詢結果更新列表。
19.根據權利要求18所述的裝置,其特征在于,所述裝置還包括合并單元,用于將所述列表更新通知中或所述查詢結果更新列表中的列表成員合并為 第二列表,如果所述列表更新通知中具有不包含所述第一成員標識的列表,則先刪除該列 表,再將其他列表合并為第二列表;所述間接訂閱模塊用于在所述第二列表為空,且不存在對所述第一成員的歸屬呈現服 務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系時,通過資源列表服務器 訂閱所述第一成員的呈現信息或觀察者信息;并在所述第二列表為非空,且不存在對所述 第一成員的歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系 時,通過資源列表服務器訂閱所述第二列表中各成員的呈現信息或觀察者信息;并在所述 第二列表為非空,且存在對所述第一成員的歸屬呈現服務器訂閱所述第一成員標識的呈現 信息或觀察者信息的訂閱關系時,通過直接訂閱模塊取消向所述第一成員的歸屬呈現服務 器訂閱所述第一成員標識的呈現信息或觀察者信息后,通過資源列表服務器訂閱所述第二 列表中各成員的呈現信息或觀察者信息;所述直接訂閱模塊用于在所述第二列表為空,且存在對所述第一成員的歸屬呈現服務 器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系時,保持對所述第一成員的 歸屬呈現服務器訂閱所述第一成員標識的呈現信息或觀察者信息的訂閱關系;并在所述第 二列表為非空,且存在對所述第一成員的歸屬呈現服務器訂閱所述第一成員標識的呈現信 息或觀察者信息的訂閱關系時,取消向所述第一成員的歸屬呈現服務器訂閱所述第一成員 標識的呈現信息或觀察者信息。
全文摘要
本發(fā)明實施例提供一種訂閱呈現體的信息的方法和裝置,所述方法包括接收攜帶第一成員標識和列表擴展指示參數的訂閱請求消息;根據所述列表擴展指示參數查詢包含所述第一成員標識的列表;根據查詢結果訂閱所述列表中成員的呈現信息或觀察者信息。通過本發(fā)明實施例的訂閱呈現體的信息的方法和裝置,使訂閱者在不了解特定呈現體所在列表信息,例如列表的呈現體標識或列表中所有成員的呈現體標識的情況下,能夠通過訂閱列表中的一個成員的呈現信息或觀察者信息,獲得整個列表中所有其它成員的呈現信息或觀察者信息。
文檔編號H04W4/12GK101877833SQ200910136960
公開日2010年11月3日 申請日期2009年4月30日 優(yōu)先權日2009年4月30日
發(fā)明者丁傳鎖, 馮名正, 張永靖, 王嗣琛, 陳斌 申請人:華為技術有限公司