專利名稱:創(chuàng)建實(shí)體標(biāo)簽的方法及用戶數(shù)據(jù)中心的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及一種創(chuàng)建實(shí)體標(biāo)簽的方法及用戶數(shù)據(jù)中心。
背景技術(shù):
可擴(kuò)展標(biāo)記語言配置訪問協(xié)議(XCAP, extensible markup languageConfiguration Access Protocol)技術(shù)可以實(shí)現(xiàn)客戶端對(duì)服務(wù)器上的可擴(kuò)展標(biāo) 記語言(extensible Markup Language, XML)文檔的訪問。通過XCAP協(xié)議,客戶端可以在 服務(wù)器上創(chuàng)建、替換、刪除和查詢XML文檔,同時(shí)還可以操作XML文檔中的元素或者屬性。 XCAP通過實(shí)體標(biāo)簽(Entry tag,Etag)標(biāo)識(shí)XML文檔的版本信息。服務(wù)器自動(dòng)為其中的每 個(gè)XML文檔分別分配一個(gè)Etag, 一個(gè)XML文檔中的所有元素和屬性共享一個(gè)Etag,不同的 XML文檔對(duì)應(yīng)不同的Etag。當(dāng)一個(gè)XML文檔被修改了以后,服務(wù)器自動(dòng)改變?cè)撐臋n對(duì)應(yīng)的 Etag的值。XCAP規(guī)定,服務(wù)器返回的所有操作成功的響應(yīng)中,必須攜帶XML文檔的Etag。
用戶數(shù)據(jù)中心是一種數(shù)據(jù)存儲(chǔ)和訪問裝置,它提供存儲(chǔ)平臺(tái),對(duì)不同網(wǎng)絡(luò)、不同網(wǎng) 元提供統(tǒng)一的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問。用戶數(shù)據(jù)中心能夠集成多種數(shù)據(jù)存儲(chǔ)網(wǎng)元中的數(shù)據(jù), 形成統(tǒng)一 的視圖,通過訪問協(xié)議提供給客戶端。 現(xiàn)有技術(shù)中,客戶端的一個(gè)XCAP消息可能會(huì)訪問到分布在同一個(gè)或不同的XCAP 服務(wù)器上的多個(gè)XML文檔,當(dāng)XCAP服務(wù)器向用戶數(shù)據(jù)中心返回操作響應(yīng)時(shí),攜帶各自存儲(chǔ) 的XML文檔的Etag。 在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn) 現(xiàn)有技術(shù)中,用戶數(shù)據(jù)中心無法從XCAP服務(wù)器的操作響應(yīng)中得到需要返回給客 戶端的Etag;同時(shí),因?yàn)闊o法得到需要返回給客戶端的Etag,所以無法支持客戶端的包含 Etag的條件操作。
發(fā)明內(nèi)容
為了使應(yīng)用服務(wù)器能夠獲得符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽,本發(fā)明實(shí)施例
提供了一種創(chuàng)建實(shí)體標(biāo)簽的方法及用戶數(shù)據(jù)中心。所述技術(shù)方案如下 —方面,本發(fā)明實(shí)施例提供了一種創(chuàng)建實(shí)體標(biāo)簽的方法,包括 接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言XML文檔的可擴(kuò)展
標(biāo)記語言配置訪問協(xié)議XCAP操作消息;將所述XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔的XCAP操作,并
向所述至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息;接收所述XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP操作響應(yīng),所述操作響
應(yīng)中攜帶所述XCAP服務(wù)器中被所述分解后的XCAP操作消息操作過的XML文檔的實(shí)體標(biāo)
簽; 為所述符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將所述實(shí)體標(biāo)簽與所述XCAP服 務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系;
向所述應(yīng)用服務(wù)器返回操作響應(yīng)消息,所述操作響應(yīng)消息中攜帶為所述符合應(yīng)用 視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。 另一方面,本發(fā)明實(shí)施例提供了一種用戶數(shù)據(jù)中心,包括 第一接收模塊,用于接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言 XML文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息; 分解模塊,用于將所述XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔 的XCAP操作,并向所述至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消 息; 第二接收模塊,用于接收所述XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP操 作響應(yīng),所述操作響應(yīng)中攜帶所述XCAP服務(wù)器中被所述分解后的XCAP操作消息操作過的 XML文檔的實(shí)體標(biāo)簽; 處理模塊,用于為所述符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將所述實(shí)體標(biāo)
簽與所述XCAP服務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系; 發(fā)送模塊,用于向所述應(yīng)用服務(wù)器返回操作響應(yīng)消息,所述操作響應(yīng)消息中攜帶
為所述符合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。 本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是 用戶數(shù)據(jù)中心在向應(yīng)用服務(wù)器提供XCAP訪問的過程中,用戶數(shù)據(jù)中心為應(yīng)用視 圖下的每個(gè)XML文檔創(chuàng)建一個(gè)Etag,并將該Etag和XCAP服務(wù)器上的XML文檔的Etag關(guān) 聯(lián)起來,應(yīng)用服務(wù)器因此可以獲得用戶數(shù)據(jù)中心創(chuàng)建的Etag,進(jìn)而可以進(jìn)行XCAP的條件操作。
圖1是本發(fā)明實(shí)施例一提供的創(chuàng)建實(shí)體標(biāo)簽的方法流程圖;
圖2是本發(fā)明實(shí)施例二提供的獲取實(shí)體標(biāo)簽的方法流程圖;
圖3是本發(fā)明實(shí)施例三提供的獲取實(shí)體標(biāo)簽的方法流程圖;
圖4是本發(fā)明實(shí)施例三提供的又一獲取實(shí)體標(biāo)簽的方法流程圖;
圖5是本發(fā)明實(shí)施例四提供的獲取實(shí)體標(biāo)簽的方法流程圖;
圖6是本發(fā)明實(shí)施例四提供的又一獲取實(shí)體標(biāo)簽的方法流程圖;
圖7是本發(fā)明實(shí)施例五提供的獲取實(shí)體標(biāo)簽的方法流程圖;
圖8是本發(fā)明實(shí)施例六提供的獲取實(shí)體標(biāo)簽的方法流程圖;
圖9是本發(fā)明實(shí)施例七提供的用戶數(shù)據(jù)中心的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方
式作進(jìn)一步地詳細(xì)描述。 實(shí)施例一 如圖1所示,為本實(shí)施例提供的創(chuàng)建實(shí)體標(biāo)簽的方法流程圖,該方法具體包括
S101 :用戶數(shù)據(jù)中心接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言 XML文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息;
S102 :用戶數(shù)據(jù)中心將XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔 的XCAP操作,并向至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息;
S103 :用戶數(shù)據(jù)中心接收XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP操作響 應(yīng),該操作響應(yīng)中攜帶XCAP服務(wù)器中被分解后的XCAP操作消息操作過的XML文檔的實(shí)體 標(biāo)簽; S104 :用戶數(shù)據(jù)中心為符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將實(shí)體標(biāo)簽與 XCAP服務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系; S105 :用戶數(shù)據(jù)中心向應(yīng)用服務(wù)器返回操作響應(yīng)消息,操作響應(yīng)消息中攜帶為符 合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。 通過本實(shí)施例提供的創(chuàng)建實(shí)體標(biāo)簽的方法,用戶數(shù)據(jù)中心給應(yīng)用服務(wù)器返回的操 作響應(yīng)中,攜帶了應(yīng)用視圖下的XML文檔的Etag,而現(xiàn)有技術(shù)無法從多個(gè)XCAP服務(wù)器的響 應(yīng)消息中得到需要給應(yīng)用服務(wù)器返回的Etag。 進(jìn)一步地,由于應(yīng)用服務(wù)器獲得了應(yīng)用視圖下的XML文檔的Etag,所以應(yīng)用服務(wù) 器可以通過Etag進(jìn)行XCAP的條件操作。 本發(fā)明實(shí)施例中,使用XCAP協(xié)議訪問XCAP服務(wù)器,操作XCAP服務(wù)器中的XML文 檔的實(shí)體都可以稱為XCAP客戶端,這個(gè)客戶端可以是應(yīng)用服務(wù)器(A卯lication Server, AS),也可以是終端,例如手機(jī)、個(gè)人電腦等。當(dāng)AS采用XCAP協(xié)議訪問XCAP服務(wù)器時(shí),AS才 能成為XCAP客戶端。用戶數(shù)據(jù)中心可以集成多個(gè)XCAP服務(wù)器(Server)中的數(shù)據(jù),并形成 統(tǒng)一的視圖提供給AS,該統(tǒng)一的視圖可以反應(yīng)每個(gè)XCAP Server中的數(shù)據(jù),還可以反應(yīng)多 個(gè)XCAP Server中的數(shù)據(jù)形成的整體組合。AS通過XCAP協(xié)議,訪問用戶數(shù)據(jù)中心,用戶數(shù) 據(jù)中心根據(jù)配置信息,判定數(shù)據(jù)所在的數(shù)據(jù)源(包括XCAP Server),將AS的訪問轉(zhuǎn)換成對(duì) 數(shù)據(jù)源的訪問。因此,AS的一個(gè)XCAP訪問消息,可能會(huì)訪問到分布在不同的XCAP Server 上的多個(gè)XML文檔。 AS可以通過XCAP協(xié)議,實(shí)現(xiàn)對(duì)XCAP Server上的XML文檔的創(chuàng)建、替換、刪除 (Delete)和查詢(Get)操作。其中,創(chuàng)建、替換操作均通過PUT實(shí)現(xiàn)。 AS還可以通過Etag實(shí)現(xiàn)對(duì)XML文檔的條件操作。當(dāng)AS對(duì)一個(gè)XML文檔進(jìn)行條 件讀操作的時(shí)候,AS發(fā)送的XCAP GET消息攜帶條件IF-NON-MATCH :Etag,當(dāng)GET消息中的 Etag和XML文檔的Etag不匹配的時(shí)候,表示XCAP Server上的XML文檔被更新過,XCAP Server才返回XML文檔數(shù)據(jù),否則,返回304(304為HTTP協(xié)議定義的響應(yīng)類型,而XCAP基 于HTTP的協(xié)議)錯(cuò)誤響應(yīng),該304響應(yīng)表示文檔沒有更新。當(dāng)AS對(duì)XML文檔進(jìn)行條件寫操 作時(shí),AS發(fā)送的XCAPPUT/DELETE消息攜帶條件IF-MATCH :Etag,當(dāng)消息中的Etag和文檔中 的Etag匹配的時(shí)候,表示文檔沒有被其他AS修改過,再執(zhí)行寫操作,否則XCAP Server返 回412 (412為HTTP協(xié)議定義的響應(yīng)類型,而XCAP基于HTTP的協(xié)議)錯(cuò)誤響應(yīng),該412響 應(yīng)表示文檔被其他的AS更新過。 本發(fā)明實(shí)施例中,XCAP Server通過用戶數(shù)據(jù)中心向AS提供XCAP訪問,當(dāng)AS訪 問的符合應(yīng)用視圖的XML文檔對(duì)應(yīng)到XCAP服務(wù)器上的多個(gè)XML文檔的時(shí)候,用戶數(shù)據(jù)中心 需要為該符合應(yīng)用視圖的XML文檔分別創(chuàng)建對(duì)應(yīng)的Etag,并將該Etag和XCAP Server上的 XML文檔關(guān)聯(lián),AS可以使用用戶數(shù)據(jù)中心創(chuàng)建的Etag進(jìn)行條件操作。 下面各實(shí)施例通過具體的XCAP消息對(duì)獲取Etag的方法以及對(duì)Etag的管理進(jìn)行詳細(xì)說明。 實(shí)施例二 本實(shí)施例中,AS在請(qǐng)求用戶數(shù)據(jù)中心創(chuàng)建符合應(yīng)用視圖的XML文檔時(shí),用戶數(shù)據(jù) 中心為該XML文檔創(chuàng)建一個(gè)Etag,并將該Etag和XCAP Server上對(duì)應(yīng)的若干個(gè)XML文檔的 Etag關(guān)聯(lián)起來。 如圖2所示,為本實(shí)施例提供的創(chuàng)建實(shí)體標(biāo)簽的方法流程圖,該方法具體包括
S201 :用戶數(shù)據(jù)中心接收AS發(fā)送的創(chuàng)建消息,用戶數(shù)據(jù)中心根據(jù)該創(chuàng)建消息進(jìn)行 創(chuàng)建一個(gè)符合應(yīng)用視圖的XML文檔example, xml的操作。 其中,創(chuàng)建消息具體為XCAP PUT消息,表示AS請(qǐng)求用戶數(shù)據(jù)中心創(chuàng)建XML文檔。
S202 :用戶數(shù)據(jù)中心根據(jù)配置信息,將創(chuàng)建消息分解。 其中,配置信息可以包括XML文檔的組合條件,也可以包括視圖的轉(zhuǎn)換規(guī)則;該配 置信息可以由系統(tǒng)自動(dòng)生成,也可以通過設(shè)置獲得。 用戶數(shù)據(jù)中心根據(jù)上述配置信息得知example, xml應(yīng)該分成examplel. xml和 example2. xml兩部分,分別對(duì)應(yīng)地存儲(chǔ)在XCAP Serverl和XCAP Server2上,因此,將創(chuàng)建 消息分解成兩個(gè)XCAP PUT消息。 需要說明的是,根據(jù)配置信息,example, xml可能被分解為若干個(gè)XML文檔,這些 文檔可能分布在一個(gè)XCAP Server上,也可以分布在若干個(gè)XCAP Server上,因此,AS的一 個(gè)操作可能分解為若干個(gè)對(duì)XCAP Server的操作,其中的對(duì)應(yīng)關(guān)系為XCAP Server的個(gè)數(shù) 小于或等于分解后的XML文檔的個(gè)數(shù),而分解后的操作個(gè)數(shù)等于分解后的XML文檔的個(gè)數(shù)。 即一個(gè)XCAP操作只能對(duì)一個(gè)XCAPServer中的一個(gè)XML文檔進(jìn)行操作。為了描述方便,本 發(fā)明實(shí)施例均以兩個(gè)為例說明,但并不因此而造成對(duì)數(shù)目的限定。 S203 :用戶數(shù)據(jù)中心給XCAP Serverl和XCAP Server2分別發(fā)送XCAP PUT消息。
S204 :用戶數(shù)據(jù)中心接收XCAP Serverl和XCAP Server2返回的操作響應(yīng)消息,響 應(yīng)消息中攜帶兩個(gè)XCAP Server分別創(chuàng)建的兩個(gè)文檔的Etagl和Etag2。
其中,XCAP Serverl為用戶數(shù)據(jù)中心返回操作響應(yīng)消息,該操作響應(yīng)消息中攜帶 XCAP Serverl創(chuàng)建的Etagl,該Etagl標(biāo)識(shí)examplel. xml的文檔版本;XCAP Server2也為 用戶數(shù)據(jù)中心返回操作響應(yīng)消息,該操作響應(yīng)消息中攜帶XCAP Server2創(chuàng)建的Etag2,該 Etag2標(biāo)識(shí)example2. xml的文檔版本。 S205 :用戶數(shù)據(jù)中心為example, xml創(chuàng)建一個(gè)Etag,標(biāo)識(shí)example, xml的文檔版 本,同時(shí)將該Etag和Etagl、 Etag2關(guān)聯(lián)。 其中,關(guān)聯(lián)操作可以通過xml文檔的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)。具體地,通過本實(shí)施例舉例 說明用戶數(shù)據(jù)中心中可以具有存儲(chǔ)模塊,該存儲(chǔ)模塊中存儲(chǔ)了 example, xml與examplel. xml、 example2. xml文檔之間的對(duì)應(yīng)關(guān)系,同時(shí)因?yàn)镋tag和Etagl、 Etag2分別屬于各自所 對(duì)應(yīng)的文檔,因此,用戶數(shù)據(jù)中心通過xml文檔的對(duì)應(yīng)關(guān)系以及Etag的所屬關(guān)系就可以將 Etag和Etagl 、Etag2進(jìn)行關(guān)聯(lián)。 可以理解的是,將Etag和Etagl、 Etag2關(guān)聯(lián)不限于上述方式。 S206 :當(dāng)分解的操作全部成功,用戶數(shù)據(jù)中心向AS返回操作成功響應(yīng)消息,該響
應(yīng)消息中攜帶用戶數(shù)據(jù)中心給example, xml創(chuàng)建的Etag。 其中,分解的操作全部成功表示兩個(gè)XCAP Server都返回操作成功的響應(yīng)。S206中還包括當(dāng)分解的操作沒有全部成功,則返回操作失敗響應(yīng),并攜帶失敗的原因。
本實(shí)施例中,AS請(qǐng)求用戶數(shù)據(jù)中心創(chuàng)建符合應(yīng)用視圖的example, xml文檔,用戶 數(shù)據(jù)中心為該文檔創(chuàng)建一個(gè)Etag,并將該Etag和Etagl、 Etag2關(guān)聯(lián)起來,則AS可以通過 用戶數(shù)據(jù)中心獲取對(duì)應(yīng)example, xml文檔的Etag,解決了現(xiàn)有技術(shù)中用戶數(shù)據(jù)中心給AS返 回的操作響應(yīng)消息中,需要攜帶符合應(yīng)用視圖的XML文檔example, xml的Etag,而又無法從 XCAP Serverl和XCAP Server2的響應(yīng)消息中得到需要給AS返回的Etag的現(xiàn)狀。
實(shí)施例三 用戶數(shù)據(jù)中心已經(jīng)為AS創(chuàng)建了 exampl e.xml文檔的Et ag,并將該Etag和 Etagl、 Etag2關(guān)聯(lián),其中,example, xml文檔對(duì)應(yīng)的Etag可能是實(shí)施例二中創(chuàng)建example, xml時(shí)生成的,也可能是根據(jù)配置信息生成的,也可能是管理員進(jìn)行配置的,但不限于這些 方法。當(dāng)AS通過用戶數(shù)據(jù)中心對(duì)XCAP Server上的XML文檔進(jìn)行操作時(shí),用戶數(shù)據(jù)中心能 夠同步更新和該XML文檔相關(guān)的應(yīng)用視圖下的XML文檔的Etag。本實(shí)施例以AS向用戶數(shù) 據(jù)中心發(fā)送的消息中不攜帶操作條件和攜帶操作條件兩種情況為例進(jìn)行說明。
如圖3所示,為本實(shí)施例提供的獲取實(shí)體標(biāo)簽的方法流程圖,該方法具體包括
S301 :用戶數(shù)據(jù)中心接收AS發(fā)送的操作消息,根據(jù)該操作消息對(duì)符合應(yīng)用視圖的 XML文檔example, xml進(jìn)行操作。 具體地,AS向用戶數(shù)據(jù)中心發(fā)送不攜帶操作條件的XCAP消息,請(qǐng)求用戶數(shù)據(jù)中心 對(duì)XML文檔進(jìn)行操作,該消息可以為PUT/GET/DELETE操作消息;用戶數(shù)據(jù)中心接收該不攜 帶操作條件的XCAP消息,對(duì)應(yīng)用視圖下的XML文檔(即符合應(yīng)用視圖的XML文檔)examp 1 e. xml進(jìn)行操作。 S302 :用戶數(shù)據(jù)中心根據(jù)配置信息,將操作消息分解成兩個(gè)XCAP操作消息。 其中,用戶數(shù)據(jù)中心接收到AS的操作消息以后,根據(jù)配置信息,得知example, xml
由XCAP Serverl中的examplel. xml禾口 XCAP Server2中的example2. xml構(gòu)成,將操作分
解成針對(duì)examplel. xml和example2. xml的兩個(gè)XCAP操作消息。 S303 :用戶數(shù)據(jù)中心將分解后XCAP操作發(fā)給相應(yīng)的XCAP Server。 具體為用戶數(shù)據(jù)中心給XCAP Serverl和XCAP Server2分別發(fā)送XCAP操作消息。 S304 :用戶數(shù)據(jù)中心接收XCAP Serverl和XCAP Server2返回的操作響應(yīng)消息,響
應(yīng)消息中攜帶兩個(gè)XCAP Server分別創(chuàng)建的兩個(gè)文檔的Etagl和Etag2。 其中,S304與S204的原理相似,此處不再贅述。 S305 :當(dāng)examplel. xml和/或example2. xml的Etag有更新,則用戶數(shù)據(jù)中心相 應(yīng)地更新所存儲(chǔ)的ex卿lel. xml或ex卿le2. xml的Etag,同時(shí)更新example, xml的Etag。
其中,S305中還包括一種情況如果有example, xml以外的其他的應(yīng)用視圖下的 XML文檔例如example3. xml也和examplel. xml或example2. xml有關(guān),則用戶數(shù)據(jù)中心需 要同時(shí)更新example3. xml的Etag。 S306 :用戶數(shù)據(jù)中心將操作的結(jié)果合成,返回給AS,攜帶更新過的example, xml的
Eteg。 其中,合成表示將文檔examplel. xml與example2. xml進(jìn)行合成,S卩對(duì)XCAPServer 返回的XML文檔進(jìn)行合成,合成過程中并不是簡(jiǎn)單的將兩個(gè)文檔拼在一起,而是通過分解 規(guī)則的逆向規(guī)則進(jìn)行合成,該過程系現(xiàn)有技術(shù),此處不詳述??梢岳斫獾氖?,后續(xù)的合成與
8此處的合成表示相同的意思。 上述內(nèi)容中以AS向用戶數(shù)據(jù)中心發(fā)送不攜帶操作條件的XCAP消息為例進(jìn)行說 明,下面以AS向用戶數(shù)據(jù)中心發(fā)送攜帶操作條件的XCAP消息為例進(jìn)行說明,如圖4所示, 為本實(shí)施例提供的又一獲取實(shí)體標(biāo)簽的方法流程圖,該方法具體包括
S401 :用戶數(shù)據(jù)中心接收AS發(fā)送的攜帶操作條件的XCAP消息,該消息中攜帶符合 應(yīng)用視圖的XML文檔example, xml的Etag。 其中,操作條件可以包括XCAP GET消息攜帶條件IF-NON-MATCH :Etag, XCAP PUT/DELETE消息攜帶條件IF-MATCH :Etag,這些攜帶操作條件的XCAP消息中均攜帶Etag。
S402 :用戶數(shù)據(jù)中心判斷操作的條件是否滿足,是則執(zhí)行S403,否則,向AS返回錯(cuò) 誤響應(yīng)。 其中,由于本方法同樣基于實(shí)施例二但不限于實(shí)施例二提出的方法,用戶數(shù)據(jù)中 心已經(jīng)為AS創(chuàng)建了 example, xml文檔的Etag,并將i亥Etag和Etagl、Etag2關(guān)聯(lián),同時(shí),用 戶數(shù)據(jù)中心能夠保證當(dāng)XML被修改后,可以同步對(duì)Etag進(jìn)行更新,因此,用戶數(shù)據(jù)中心所存 儲(chǔ)的example, xml的Etag就是最新的;用戶數(shù)據(jù)中心根據(jù)存儲(chǔ)的example, xml的Etag和 AS發(fā)送的XCAP消息中攜帶的example, xml的Etag進(jìn)行判斷條件是否滿足,如果不滿足, 則對(duì)于GET操作,用戶數(shù)據(jù)中心向AS返回文檔沒有被更新的錯(cuò)誤響應(yīng);對(duì)于PUT/DELETE操 作,則返回文檔被更新過的錯(cuò)誤響應(yīng);如果滿足,則執(zhí)行S403。 S403 :用戶數(shù)據(jù)中心根據(jù)配置信息,將操作消息分解成對(duì)examp 1 e 1. xml和 ex咖ple2. xml的操作。 其中,用戶數(shù)據(jù)中心根據(jù)配置信息,得知example, xml由XCAP Serverl中的
examplel. xml禾P XCAP Server2中的example2. xml構(gòu)成,將操作分解成針對(duì)examplel. xml
和example2. xml的兩個(gè)無條件的操作消息。此處,用戶數(shù)據(jù)中心將操作分解成兩個(gè)無條件
的操作消息表示用戶數(shù)據(jù)中心無需向XCAP Server再進(jìn)行條件的判斷,用戶數(shù)據(jù)中心只需
要對(duì)XCAP Server中的XML文檔進(jìn)行無條件操作即可。 S404 :用戶數(shù)據(jù)中心將分解后XCAP操作發(fā)給相應(yīng)的XCAP Server。 S405 :用戶數(shù)據(jù)中心接收XCAP Serverl和XCAP Server2返回的操作響應(yīng)消息,響
應(yīng)消息中攜帶兩個(gè)XCAP Server分別創(chuàng)建的兩個(gè)文檔的Etagl和Etag2。 S406 :用戶數(shù)據(jù)中心合成操作結(jié)果,同時(shí)更新Etag。 具體地,用戶數(shù)據(jù)中心將對(duì)examplel. xml、 example2. xml操作的結(jié)果合成為對(duì) example, xml的操作結(jié)果,同時(shí)更新example, xml、examplel. xml禾口 ex咖ple2. xml的Etag。
如果有example, xml以外的其他的應(yīng)用視圖下的XML文檔也和examplel. xml或 example2. xml有關(guān),則需要同時(shí)更新其Etag。 S407 :用戶數(shù)據(jù)中心將合成的操作結(jié)果返回至AS,并攜帶更新過的example, xml
的Etag。 本實(shí)施例中,由于用戶數(shù)據(jù)中心已經(jīng)創(chuàng)建好example, xml文檔的Etag,并將該 Etag和Etagl、 Etag2關(guān)聯(lián);在這種前提下,用戶數(shù)據(jù)中心能夠獲知XCAPServer中的哪個(gè) XML文檔有更新,同時(shí)更新和該XML文檔相關(guān)的應(yīng)用視圖下的XML文檔的Etag。當(dāng)AS對(duì)應(yīng) 用視圖下的XML文檔進(jìn)行操作時(shí),通過用戶數(shù)據(jù)中心轉(zhuǎn)化為對(duì)XCAP Server中的XML文檔 進(jìn)行相應(yīng)的操作。
用戶數(shù)據(jù)中心給AS返回的操作響應(yīng)中,需要攜帶應(yīng)用視圖下的XML文檔example, xml的Etag,然而根據(jù)現(xiàn)有技術(shù),無法從XCAP Server 1和XCAP Server2的響應(yīng)消息中得到 需要給應(yīng)用服務(wù)器返回的Etag,通過本實(shí)施例的方法,用戶數(shù)據(jù)中心為example, xml創(chuàng)建 Etag,并對(duì)該Etag進(jìn)行更新,使AS最終得到Etag,并能夠支持AS發(fā)起的攜帶Etag的條件 操作。 實(shí)施例四 本實(shí)施例的場(chǎng)景為XCAP Server中的XML文檔被更新后,用戶數(shù)據(jù)中心可以通過
訂閱和通知的方法同步更新相關(guān)文檔的Etag,但不限制于訂閱和通知的方法。 如圖5所示,為本實(shí)施例提供的用戶數(shù)據(jù)中心訂閱和應(yīng)用視圖相關(guān)的XML文檔版
本信息的方法流程圖,該方法包括用戶數(shù)據(jù)中心訂閱XCAP Server中和應(yīng)用視圖相關(guān)的
XML文檔或訂閱XCAP Server中和應(yīng)用視圖相關(guān)的XML文檔的Etag,具體如下 S501 :用戶數(shù)據(jù)中心通過分析相關(guān)性,獲知應(yīng)用視圖的一個(gè)XML文檔example, xml
由XCAP Server 1中的example 1. xml禾口 XCAP Server2中的example2. xml構(gòu)成。 其中,用戶數(shù)據(jù)中心可以記錄與AS相關(guān)的XML文檔(即AS所關(guān)心的XML文檔);
相關(guān)性包括配置信息,還可以包括XML文檔之間的關(guān)聯(lián)信息,用戶數(shù)據(jù)中心通過分析相關(guān)
性,可以獲知與AS相關(guān)的某個(gè)XML文檔由哪些XCAP Server中不同的XML文檔組成,還可
以獲知這些XML文檔之間的關(guān)聯(lián)信息。XML文檔之間的關(guān)聯(lián)包涵多種情況,例如,兩個(gè)或兩
個(gè)以上的XML文檔共享一個(gè)XML文檔,或共享一個(gè)XML文檔中的一部分。 S502 :用戶數(shù)據(jù)中心向相應(yīng)的XCAP Server訂閱examplel. xml的Etag、example2.
xml的Etag或examplel. xml、 ex咖ple2. xml文檔。 訂閱表示用戶數(shù)據(jù)中心通過該功能可以獲知XCAP Server中的XML文檔所對(duì)應(yīng)的 Etag是否有更新。 S503 :用戶數(shù)據(jù)中心接收XCAP Serverl以及XCAP Server2返回的訂閱結(jié)果。
其中,返回的訂閱結(jié)果包含對(duì)訂閱消息的響應(yīng),該響應(yīng)消息能夠告訴用戶數(shù)據(jù)中 心訂閱是否成功。 本實(shí)施例中,為了保持用戶數(shù)據(jù)中心中對(duì)應(yīng)于數(shù)據(jù)源(即XCAP Server)的XML文 檔的Etag及時(shí)更新,用戶數(shù)據(jù)中心訂閱XCAP Server中和AS相關(guān)的XML文檔或訂閱XCAP Server中和AS相關(guān)的XML文檔的Etag。訂閱成功后,用戶數(shù)據(jù)中心通過XCAP Server的通 知功能可以獲知當(dāng)XCAP Server中的XML文檔有變化時(shí),對(duì)應(yīng)XML文檔的Etag也有更新。
基于圖5所示的方法,當(dāng)用戶數(shù)據(jù)中心訂閱和應(yīng)用視圖相關(guān)的XML文檔版本信息 之后,本實(shí)施例提供XCAP服務(wù)器通知用戶數(shù)據(jù)中心和應(yīng)用視圖相關(guān)的XML文檔版本信息的 方法流程圖,該方法包括當(dāng)其他XCAP客戶端修改了 XCAP Server中用戶數(shù)據(jù)中心訂閱過的 XML文檔,XCAP Server通知用戶數(shù)據(jù)中心及時(shí)更新該XML文檔對(duì)應(yīng)的Etag,如圖6所示, 具體如下 S601 :其他的XCAP客戶端更新了 XCAP Server中的XML文檔。
其中,其他的XCAP客戶端的含義為對(duì)于XCAP Server而言,任何使用XCAP協(xié)議 對(duì)其進(jìn)行訪問的實(shí)體都是XCAP客戶端。因此用戶數(shù)據(jù)中心對(duì)于XCAP Server而言,也是一 種XCAP客戶端。用戶數(shù)據(jù)中心在本發(fā)明實(shí)施例中具有雙重身份對(duì)于AS,它相當(dāng)于一個(gè)增 強(qiáng)型的代理服務(wù)器,能夠?qū)S對(duì)符合應(yīng)用視圖的XML文檔的訪問轉(zhuǎn)化成對(duì)數(shù)據(jù)源中的XML文檔的訪問;對(duì)于XCAP Server,它是一個(gè)XCAP客戶端。因此,對(duì)于XCAP Server而言,除 了用戶數(shù)據(jù)中心這個(gè)XCAP客戶端以外,有其它的XCAP客戶端,這些其它的客戶端可能會(huì)不 經(jīng)過用戶數(shù)據(jù)中心的許可,修改用戶數(shù)據(jù)中心訂閱過的XML文檔(如examplel. xml)。
S602 :用戶數(shù)據(jù)中心接收XCAP Server發(fā)送的通知消息,該通知消息攜帶被更新 的XML文檔的Etag信息。 其中,由于被更新的XML文檔被用戶數(shù)據(jù)中心訂閱,XCAP Server向用戶數(shù)據(jù)中心 發(fā)送通知消息,攜帶被更新的文檔的Etag。 S603 :用戶數(shù)據(jù)中心更新所有和該XML文檔相關(guān)的應(yīng)用視圖下的XML文檔的 Eteg。 其中,由于不止一個(gè)AS應(yīng)用視圖下的XML文檔會(huì)和該XML文檔相關(guān),因此,當(dāng)該 XML文檔被修改后,用戶數(shù)據(jù)中心需要更新所有和該XML文檔相關(guān)的應(yīng)用視圖下的XML文檔 的Etag,保證當(dāng)每個(gè)共用該XML文檔的AS在訪問用戶數(shù)據(jù)中心時(shí),都獲得最新的Etag信 息。 S604 :用戶數(shù)據(jù)中心向XCAP Server返回通知響應(yīng)消息。 本實(shí)施例中,用戶數(shù)據(jù)中心通過訂閱、通知功能獲取XCAP服務(wù)器中被訂閱過的 XML文檔的Etag之后,還可以為符合應(yīng)用視圖的XML文檔創(chuàng)建Etag,并將創(chuàng)建的Etag和 XCAP服務(wù)器中被訂閱過的XML文檔的Etag關(guān)聯(lián)起來,當(dāng)其他XCAP客戶端修改了 XCAP Server中用戶數(shù)據(jù)中心訂閱過了的XML文檔的時(shí)候,XCAP Server向用戶數(shù)據(jù)中心發(fā)送通 知消息,攜帶文檔新的Etag的值,使用戶數(shù)據(jù)中心能夠及時(shí)更新所有和該XML文檔相關(guān)的 應(yīng)用視圖下的XML文檔的Etag。 上述實(shí)施例二 實(shí)施例四的場(chǎng)景中,用戶數(shù)據(jù)中心在創(chuàng)建了符合應(yīng)用視圖的XML 文檔時(shí),為該XML文檔創(chuàng)建一個(gè)Etag,并將該Etag和XCAP Server上對(duì)應(yīng)的若干個(gè)XML文 檔的Etag關(guān)聯(lián)起來,使AS能夠通過用戶中心獲得應(yīng)用視圖下的XML文檔的Etag ;通過訂 閱和通知功能,使用戶數(shù)據(jù)中心均有能力保證在其他的XCAP客戶端更新XCAP中的XML文 檔的時(shí)候,同步更新相關(guān)的應(yīng)用視圖下的XML文檔的Etag。 下面的實(shí)施例在AS進(jìn)行XCAP條件操作的時(shí)候,用戶數(shù)據(jù)中心通過查詢相關(guān)的 XCAP Server中的XML文檔,來確定Etag是否更新。
實(shí)施例五 本實(shí)施例以XCAP條件操作為XCAP條件查詢(GET)操作為例進(jìn)行說明。如圖7所 示,該獲取實(shí)體標(biāo)簽的方法具體包括 S701 :用戶數(shù)據(jù)中心接收AS發(fā)送的條件查詢操作消息,該消息中攜帶 IF-NON-Match :Etag條件,對(duì)example, xml進(jìn)行操作。 S702 :用戶數(shù)據(jù)中心根據(jù)配置信息將操作分解為對(duì)examplel. xml、 example2. xml
的無條件查詢操作。 其中,與上述的實(shí)施例不同的是,本實(shí)施例的前提是用戶數(shù)據(jù)中心不能保證在XML 被修改后,可以同步對(duì)Etag進(jìn)行更新,因此用戶數(shù)據(jù)中心所保存的Etag不一定是最新的; 同時(shí),由于查詢操作最終需要用戶數(shù)據(jù)中心為AS返回操作響應(yīng)與查詢的內(nèi)容,因此用戶數(shù) 據(jù)中心不對(duì)條件是否滿足進(jìn)行判斷,而直接將操作轉(zhuǎn)化為對(duì)XCAP Server中XML文檔的查 詢操作。
因此,用戶數(shù)據(jù)中心直接根據(jù)配置信息得知example, xml由XCAP Serverl中的 examplel. xml禾P XCAP Server2中的example2. xml構(gòu)成,將操作分解為對(duì)examplel. xml、 example2. xml的無條件查詢操作。 其中,將操作分解為無條件查詢操作的原因?yàn)槿粲脩魯?shù)據(jù)中心將條件查詢操作 分解為有條件查詢操作,XCAP Server根據(jù)條件只返回符合條件的部分XML文檔,不符合條 件的XML文檔返回錯(cuò)誤響應(yīng),進(jìn)而導(dǎo)致用戶數(shù)據(jù)中心向AS返回的XML文檔不完整,因此將 條件查詢操作分解為無條件查詢操作,XCAPServer不作判斷,直接返回?zé)o條件查詢的XML 文檔。 S703 :用戶數(shù)據(jù)中心分別向XCAP Serverl和XCAP Server2發(fā)起對(duì)examplel. xml、 example2. xml的無條件的GET操作。 S704 :用戶數(shù)據(jù)中心接收XCAP Serverl和XCAP Server2返回的查詢響應(yīng)消息,該 響應(yīng)消息中分別攜帶examplel. xml的Etagl、 example2. xml的Etag2。
S705 :用戶數(shù)據(jù)中心檢查當(dāng)返回的Etag有更新,則更新example, xml的Etag。
具體地,用戶數(shù)據(jù)中心檢查examplel. xml的Etagl禾P /或example2. xml的Etag2 是否有更新,如果有更新,則更新example, xml的Etag。 S706 :用戶數(shù)據(jù)中心將查詢的結(jié)果合成對(duì)example, xml查詢的結(jié)果,返回給AS。
其中,用戶數(shù)據(jù)中心將查詢的結(jié)果合成對(duì)example, xml查詢的結(jié)果,攜帶更新后 的example, xml的Etag,返回至AS。 此外,如果有example, xml對(duì)應(yīng)的應(yīng)用視圖以外其他的應(yīng)用視圖下的XML文檔也 和examplel. xml或example2. xml有關(guān),則用戶數(shù)據(jù)中心需要同時(shí)更新他們的Etag。
上述過程中,如果examplel. xml和example2. xml的Etag都沒有更新,直接返回 文檔沒有更新的錯(cuò)誤響應(yīng)。 與實(shí)施例三的條件操作相比較,本實(shí)施例中,用戶數(shù)據(jù)中心保存的Etag不一定
是最新的,而實(shí)施例三的條件操作中,用戶數(shù)據(jù)中心能夠通過訂閱功能或其他方式保證和
XCAP Server同步對(duì)Etag進(jìn)行更新,即用戶數(shù)據(jù)中心保存的Etag —定是最新的。 在本實(shí)施例的前提下,當(dāng)AS進(jìn)行XCAP條件操作的時(shí)候,用戶數(shù)據(jù)中心通過查詢相
關(guān)的XCAP服務(wù)器中的XML文檔,檢查對(duì)應(yīng)的Etag是否有更新,再確定是否對(duì)自身保存的
Etag進(jìn)行更新,使AS最終可以獲得最新的Etag,以及完成包含Etag的條件操作。 實(shí)施例六 本實(shí)施例以XCAP條件操作為XCAP條件寫(包括PUT/DELETE)操作中的PUT操作 為例進(jìn)行說明,本實(shí)施例中,用戶數(shù)據(jù)中心中保存的Etag不一定是最新的。如圖8所示,該 獲取實(shí)體標(biāo)簽的方法具體包括 S801 :用戶數(shù)據(jù)中心接收AS發(fā)送的對(duì)example, xml的條件寫操作消息,該消息中 攜帶IF-Match :Etag操作條件。 S802 :用戶數(shù)據(jù)中心判斷條件是否滿足,是則向AS返回錯(cuò)誤響應(yīng),否則執(zhí)行S803。
其中,由于用戶數(shù)據(jù)中心中保存的Etag不一定是最新的,同時(shí),由于寫操作最終 只返回是否寫成功的狀態(tài)即可,因此用戶數(shù)據(jù)中心先對(duì)條件是否滿足進(jìn)行判斷,即判斷AS 發(fā)送的IF-Match :Etag操作條件中的Etag與用戶數(shù)據(jù)中心保存的Etag是否匹配,如果匹 配,則繼續(xù)進(jìn)行寫操作;如果不匹配,表示XCAPServer中的XML已被修改,因此不再繼續(xù)進(jìn)行寫操作,返回錯(cuò)誤響應(yīng)。 具體在S802中,用戶數(shù)據(jù)中心判斷AS發(fā)送的IF-Match :Etag操作條件中的Etag 與用戶數(shù)據(jù)中心保存的Etag是否匹配,如果不匹配,直接返回文檔被更新的錯(cuò)誤響應(yīng),否 則,執(zhí)行S803。 S803 :用戶數(shù)據(jù)中心根據(jù)配置信息,生成對(duì)examplel. xml、 example2. xml的條件
查詢操作。 其中,用戶數(shù)據(jù)中心根據(jù)配置信息得知example, xml由XCAP Server 1中的 examplel. xml禾口 XCAP Server 2中的example2. xml構(gòu)成,貝U生成X寸examplel. xml、 example2. xml的條件查詢操作,操作中分別攜帶examplel. xml、example2. xml的Etag。此 處,條件查詢操作表示用戶數(shù)據(jù)中心只關(guān)心examplel. xml、 example2. xml是否有更新以及 有更新的XML文檔。當(dāng)XML文檔有更新,XCAP Server返回GET操作查詢的XML文檔的內(nèi) 容,并攜帶對(duì)應(yīng)XML文檔的Etag。其中,GET操作可以查詢XML文檔中的一部分( 一個(gè)元素 或一個(gè)屬性),當(dāng)XML文檔沒有更新,則XCAP Server返回文檔沒有更新的錯(cuò)誤響應(yīng)。
S804 :用戶數(shù)據(jù)中心分別向XCAP Serve rl和XCAP Server2發(fā)送對(duì)examplel. xml、 example2. xml的條件查詢操作消息,操作條件是IF-NON-Match :etag,該消息中攜帶 對(duì)應(yīng)于這兩個(gè)文檔的Etag。 S805 :用戶數(shù)據(jù)中心接收兩個(gè)XCAP Server返回的操作結(jié)果。 具體地,如果examplel. xml禾P /或example2. xml有更新,則相應(yīng)的XCAPServer將
返回2000K響應(yīng)(2000K是HTTP協(xié)議中的消息,表示操作成功,XCAP是基于HTTP的協(xié)議),
并攜帶對(duì)應(yīng)于XML文檔的Etag,否則,將返回沒有更新的錯(cuò)誤響應(yīng)。 S806 :用戶數(shù)據(jù)中心根據(jù)XCAP Server返回的響應(yīng)更新example, xml的Etag。 具體地,包括兩種情況 (l)如果有XCAP Server返回操作成功響應(yīng),表示相應(yīng)的XCAP Server中的XML文 檔有更新,則用戶數(shù)據(jù)中心更新相應(yīng)文檔的Etag,并更新example, xml的Etag,并給AS直 接返回412錯(cuò)誤響應(yīng)(該錯(cuò)誤響應(yīng)表示文檔有更新);如果還有其他的應(yīng)用視圖下的XML文 檔也和該文擋(指的是2000K消息對(duì)應(yīng)的那個(gè)文檔)相關(guān),則同步更新它們的Etag。
(2)如果兩個(gè)XCAP服務(wù)器都返回了 304錯(cuò)誤響應(yīng),表示文檔沒有被更新過,則將 AS的操作分解為對(duì)examplel. xml、 example2. xml的無條件的寫操作。
S807 :用戶數(shù)據(jù)中心分別向XCAP Serverl和XCAP Server2發(fā)送對(duì)examplel. xml、 example2. xml的無條件的寫操作。 其中,經(jīng)過S802 S806對(duì)條件的判斷,得到的結(jié)果是,XCAP Server中的數(shù)據(jù)都 沒有被更新過,則用戶數(shù)據(jù)中心直接向XCAP Server 1和XCAP Server2發(fā)送對(duì)examplel. xml、 example2. xml的無條件的寫操作。 S808 :用戶數(shù)據(jù)中心接收兩個(gè)XCAP Server返回的寫操作響應(yīng)消息,該響應(yīng)消息 中分別攜帶examplel. xml、 example2. xml的Etag。 S809 :用戶數(shù)據(jù)中心更新example, xml、 examplel. xml、 example2. xml的Etag,同 時(shí)將操作的結(jié)果合成為對(duì)example, xml的操作結(jié)果。 此外,如果還有其他的應(yīng)用視圖下的XML文檔也與examplel. xml和/或 example2. xml相關(guān),則用戶數(shù)據(jù)中心同步更新它們的Etag。
S810 :用戶數(shù)據(jù)中心給AS返回對(duì)example, xml的操作結(jié)果,攜帶example, xml的
Eteg。 需要說明的是,AS的PUT操作包括增加、替換內(nèi)容,可能會(huì)轉(zhuǎn)化成對(duì)數(shù)據(jù)源的PUT 或Delete操作,例如當(dāng)PUT操作將XML文檔中的3個(gè)元素替換為2個(gè)元素時(shí),轉(zhuǎn)化成對(duì)數(shù) 據(jù)源的Delete操作。本實(shí)施例中是以轉(zhuǎn)化為PUT操作為例進(jìn)行說明的。
本實(shí)施例中,當(dāng)AS進(jìn)行XCAP條件寫操作的時(shí)候,用戶數(shù)據(jù)中心首先通過條件查詢 相關(guān)的XCAP Server中的XML文檔,檢查對(duì)應(yīng)的Etag是否有更新,再確定是否對(duì)自身保存 的Etag進(jìn)行更新,使AS最終可以獲得最新的Etag,以及完成包含Etag的條件寫操作。
通過本發(fā)明實(shí)施例的技術(shù)方案,解決了用戶數(shù)據(jù)中心在集成XCAP Server的XML 文檔時(shí)遇到的獲取Etag以及對(duì)Etag的管理問題,從而有效地支持了 XCAP的包含Etag的
條件操作。 實(shí)施例七 如圖9所示,為本實(shí)施例提供的用戶數(shù)據(jù)中心的結(jié)構(gòu)示意圖,該用戶數(shù)據(jù)中心具 體包括 第一接收模塊91,用于接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語 言XML文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息; 分解模塊92,用于將XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔的 XCAP操作,并向至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息;
第二接收模塊93,用于接收所述XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP 操作響應(yīng),所述操作響應(yīng)中攜帶所述XCAP服務(wù)器中被所述分解后的XCAP操作消息操作過 的XML文檔的實(shí)體標(biāo)簽; 處理模塊94,用于為符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將實(shí)體標(biāo)簽與 XCAP服務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系; 發(fā)送模塊95,用于向應(yīng)用服務(wù)器返回操作響應(yīng)消息,操作響應(yīng)消息中攜帶為符合 應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。
進(jìn)一步地,該用戶數(shù)據(jù)中心還包括 第一更新模塊,用于當(dāng)接收的實(shí)體標(biāo)簽有更新時(shí),更新和接收的實(shí)體標(biāo)簽有關(guān)聯(lián) 關(guān)系的符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽。
進(jìn)一步地,用戶數(shù)據(jù)中心還可以包括 訂閱模塊,用于向XCAP服務(wù)器分別訂閱其中的至少兩個(gè)XML文檔的實(shí)體標(biāo)簽或訂 閱至少兩個(gè)XML文檔的內(nèi)容; 第三接收模塊,用于接收XCAP服務(wù)器返回的通知消息,根據(jù)通知消息獲取XCAP服
務(wù)器中的XML文檔的實(shí)體標(biāo)簽。 進(jìn)一步地,用戶數(shù)據(jù)中心還包括 第二更新模塊,用于當(dāng)?shù)谌邮漳K接收的XCAP服務(wù)器中被訂閱模塊訂閱過的 XML文檔的實(shí)體標(biāo)簽有更新時(shí),更新和XCAP服務(wù)器中的XML文檔相關(guān)的所有符合應(yīng)用視圖 的XML文檔的實(shí)體標(biāo)簽。 進(jìn)一步地,用戶數(shù)據(jù)中心還可以包括 判斷模塊,用于對(duì)接收的攜帶實(shí)體標(biāo)簽操作條件的XCAP操作消息進(jìn)行判斷,判斷該操作條件是否滿足; 相應(yīng)地,用戶數(shù)據(jù)中心還包括 操作模塊,用于根據(jù)判斷模塊的結(jié)果進(jìn)行操作,是則,根據(jù)操作條件對(duì)符合應(yīng)用視 圖的XML文檔進(jìn)行操作;否則,向應(yīng)用服務(wù)器返回錯(cuò)誤響應(yīng)。 本實(shí)施例提供的用戶數(shù)據(jù)中心在向應(yīng)用服務(wù)器提供XCAP訪問的過程中,用戶數(shù) 據(jù)中心為應(yīng)用視圖下的每個(gè)XML文檔創(chuàng)建一個(gè)Etag,并將該Etag和XCAP服務(wù)器上的XML 文檔的Etag關(guān)聯(lián)起來,應(yīng)用服務(wù)器因此可以獲得用戶數(shù)據(jù)中心創(chuàng)建的Etag,進(jìn)而,應(yīng)用服 務(wù)器可以使用用戶數(shù)據(jù)中心創(chuàng)建的Etag進(jìn)行條件操作。 本實(shí)施例提供的用戶數(shù)據(jù)中心,能夠在其他的XCAP客戶端更新了 XCAP服務(wù)器中 的XML文檔的時(shí)候,同步更新相關(guān)文檔的Etag,可以通過用戶數(shù)據(jù)中心訂閱、XCAP服務(wù)器通 知的方法來保證同步更新。
實(shí)施例九 本實(shí)施例提供一種系統(tǒng),該系統(tǒng)包括用戶數(shù)據(jù)中心、應(yīng)用服務(wù)器和XCAP服務(wù)器;
用戶數(shù)據(jù)中心,接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言XML 文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息; 將XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔的XCAP操作,并向至 少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息; 接收XCAP服務(wù)器返回的至少兩個(gè)對(duì)XCAP服務(wù)器中的至少兩個(gè)XML文檔的XCAP 操作響應(yīng),操作響應(yīng)中攜帶XCAP服務(wù)器中被分解后的XCAP操作消息操作過的XML文檔的 實(shí)體標(biāo)簽; 為符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將實(shí)體標(biāo)簽與XCAP服務(wù)器返回的操 作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系; 向應(yīng)用服務(wù)器返回操作響應(yīng)消息,操作響應(yīng)消息中攜帶為符合應(yīng)用視圖的XML文 檔創(chuàng)建的實(shí)體標(biāo)簽; 應(yīng)用服務(wù)器還用于接收用戶數(shù)據(jù)中心返回的操作響應(yīng)消息,操作響應(yīng)消息中攜帶 為符合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。 進(jìn)一步地,該系統(tǒng)中的用戶數(shù)據(jù)中心,還用于當(dāng)獲知XCAP服務(wù)器中和符合應(yīng)用視 圖的XML文檔相關(guān)的XML文檔有更新的時(shí)候,能夠更新該符合應(yīng)用視圖的XML文檔的Etag。
本實(shí)施例提供的系統(tǒng)中,用戶數(shù)據(jù)中心在向應(yīng)用服務(wù)器提供XCAP訪問的過程中, 用戶數(shù)據(jù)中心為應(yīng)用視圖下的每個(gè)XML文檔創(chuàng)建一個(gè)Etag,并將該Etag和XCAP服務(wù)器上 的XML文檔的Etag關(guān)聯(lián)起來,應(yīng)用服務(wù)器因此可以獲得用戶數(shù)據(jù)中心創(chuàng)建的Etag。
本發(fā)明實(shí)施例需要指出的是,AS訪問用戶數(shù)據(jù)中心采用的協(xié)議以及用戶數(shù)據(jù)中心 訪問數(shù)據(jù)源的協(xié)議不局限于XCAP,只要存在類似如下內(nèi)容,都應(yīng)包含在本發(fā)明的保護(hù)范圍 內(nèi)使用類似版本信息作為操作條件,版本信息標(biāo)識(shí)一個(gè)數(shù)據(jù)模塊的版本,只要數(shù)據(jù)模塊有 改動(dòng),版本信息自動(dòng)變更。應(yīng)用對(duì)一個(gè)數(shù)據(jù)模塊的操作需要分解為對(duì)數(shù)據(jù)源中多個(gè)數(shù)據(jù)模 塊(可能分布在不同的數(shù)據(jù)源上)的操作,采用類似的版本信息獲取機(jī)制。
本發(fā)明實(shí)施例中的"接收"一詞可以理解為主動(dòng)從其他模塊獲取也可以是接收其 他模塊發(fā)送來的信息。 本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。 上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。 本發(fā)明實(shí)施例可以通過軟件實(shí)現(xiàn),相應(yīng)的軟件可以存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中, 例如計(jì)算機(jī)的硬盤、光盤或軟盤中。 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種創(chuàng)建實(shí)體標(biāo)簽的方法,其特征在于,所述方法包括接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言XML文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息;將所述XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔的XCAP操作,并向所述至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息;接收所述XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP操作響應(yīng),所述操作響應(yīng)中攜帶所述XCAP服務(wù)器中被所述分解后的XCAP操作消息操作過的XML文檔的實(shí)體標(biāo)簽;為所述符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將所述實(shí)體標(biāo)簽與所述XCAP服務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系;向所述應(yīng)用服務(wù)器返回操作響應(yīng)消息,所述操作響應(yīng)消息中攜帶為所述符合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括當(dāng)接收的實(shí)體標(biāo)簽有更新時(shí),更新和所述接收的實(shí)體標(biāo)簽有關(guān)聯(lián)關(guān)系的符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括向所述XCAP服務(wù)器分別訂閱其中的至少兩個(gè)XML文檔的實(shí)體標(biāo)簽或訂閱至少兩個(gè)XML文檔的內(nèi)容;接收所述XCAP服務(wù)器返回的通知消息,根據(jù)所述通知消息獲取所述XCAP服務(wù)器中的XML文檔的實(shí)體標(biāo)簽。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括當(dāng)所述XCAP服務(wù)器中被訂閱過的XML文檔的實(shí)體標(biāo)簽有更新時(shí),更新和所述XCAP服務(wù)器中的XML文檔相關(guān)的符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽。
5. 根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的方法,其特征在于,所述方法進(jìn)一步包括接收由應(yīng)用服務(wù)器發(fā)送的攜帶實(shí)體標(biāo)簽操作條件的XCAP操作消息;判斷所述操作條件是否滿足,是則,根據(jù)所述操作條件對(duì)符合應(yīng)用視圖的XML文檔進(jìn)行操作;否則,向所述應(yīng)用服務(wù)器返回錯(cuò)誤響應(yīng)。
6. —種用戶數(shù)據(jù)中心,其特征在于,所述用戶數(shù)據(jù)中心包括第一接收模塊,用于接收由應(yīng)用服務(wù)器發(fā)送的對(duì)符合應(yīng)用視圖的可擴(kuò)展標(biāo)記語言XML文檔的可擴(kuò)展標(biāo)記語言配置訪問協(xié)議XCAP操作消息;分解模塊,用于將所述XCAP操作消息中的XCAP操作分解成對(duì)至少兩個(gè)XML文檔的XCAP操作,并向所述至少兩個(gè)XML文檔所在的XCAP服務(wù)器發(fā)送分解后的XCAP操作消息;第二接收模塊,用于接收所述XCAP服務(wù)器返回的對(duì)至少兩個(gè)XML文檔的XCAP操作響應(yīng),所述操作響應(yīng)中攜帶所述XCAP服務(wù)器中被所述分解后的XCAP操作消息操作過的XML文檔的實(shí)體標(biāo)簽;處理模塊,用于為所述符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,并將所述實(shí)體標(biāo)簽與所述XCAP服務(wù)器返回的操作響應(yīng)中攜帶的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系;發(fā)送模塊,用于向所述應(yīng)用服務(wù)器返回操作響應(yīng)消息,所述操作響應(yīng)消息中攜帶為所述符合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。
7. 根據(jù)權(quán)利要求6所述的用戶數(shù)據(jù)中心,其特征在于,所述用戶數(shù)據(jù)中心進(jìn)一步包括第一更新模塊,用于當(dāng)接收的實(shí)體標(biāo)簽有更新時(shí),更新和所述接收的實(shí)體標(biāo)簽有關(guān)聯(lián)關(guān)系的符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽。
8. 根據(jù)權(quán)利要求6所述的用戶數(shù)據(jù)中心,其特征在于,所述用戶數(shù)據(jù)中心進(jìn)一步包括訂閱模塊,用于向所述XCAP服務(wù)器分別訂閱其中的至少兩個(gè)XML文檔的實(shí)體標(biāo)簽或訂閱至少兩個(gè)XML文檔的內(nèi)容;第三接收模塊,用于接收所述XCAP服務(wù)器返回的通知消息,根據(jù)所述通知消息獲取所述XCAP服務(wù)器中的XML文檔的實(shí)體標(biāo)簽。
9. 根據(jù)權(quán)利要求8所述的用戶數(shù)據(jù)中心,其特征在于,所述用戶數(shù)據(jù)中心還包括第二更新模塊,用于當(dāng)所述第三接收模塊接收的所述XCAP服務(wù)器中被訂閱過的XML文檔的實(shí)體標(biāo)簽有更新時(shí),更新和所述XCAP服務(wù)器中的XML文檔相關(guān)的符合應(yīng)用視圖的XML文檔的實(shí)體標(biāo)簽。
10. 根據(jù)權(quán)利要求6-9中任一權(quán)利要求所述的用戶數(shù)據(jù)中心,其特征在于,所述用戶數(shù)據(jù)中心進(jìn)一步包括判斷模塊,用于對(duì)接收的攜帶實(shí)體標(biāo)簽操作條件的XCAP操作消息進(jìn)行判斷,判斷所述操作條件是否滿足;相應(yīng)地,用戶數(shù)據(jù)中心還包括操作模塊,用于根據(jù)所述判斷模塊的結(jié)果進(jìn)行操作,是則,根據(jù)所述操作條件對(duì)符合應(yīng)用視圖的XML文檔進(jìn)行操作;否則,向所述應(yīng)用服務(wù)器返回錯(cuò)誤響應(yīng)。
全文摘要
本發(fā)明實(shí)施例公開了創(chuàng)建實(shí)體標(biāo)簽的方法、用戶數(shù)據(jù)中心及系統(tǒng)。所述方法包括接收由應(yīng)用服務(wù)器發(fā)送的XCAP操作消息;將XCAP操作消息中的XCAP操作分解,并發(fā)送分解后的XCAP操作;接收XCAP服務(wù)器返回的操作響應(yīng),操作響應(yīng)中攜帶XML文檔的實(shí)體標(biāo)簽;為符合應(yīng)用視圖的XML文檔創(chuàng)建實(shí)體標(biāo)簽,將實(shí)體標(biāo)簽與XCAP服務(wù)器為其中的XML文檔創(chuàng)建的實(shí)體標(biāo)簽建立關(guān)聯(lián)關(guān)系;向應(yīng)用服務(wù)器返回操作響應(yīng)消息,操作響應(yīng)消息中攜帶為符合應(yīng)用視圖的XML文檔創(chuàng)建的實(shí)體標(biāo)簽。本發(fā)明實(shí)施例通過用戶數(shù)據(jù)中心管理實(shí)體標(biāo)簽,使應(yīng)用服務(wù)器最終可以獲取實(shí)體標(biāo)簽。
文檔編號(hào)H04L29/06GK101795259SQ20091000848
公開日2010年8月4日 申請(qǐng)日期2009年2月3日 優(yōu)先權(quán)日2009年2月3日
發(fā)明者周帥鋒, 曹俊亮, 王瀾, 荀鵬, 賈軍軍 申請(qǐng)人:華為技術(shù)有限公司