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