專利名稱:Xml文檔管理系統(tǒng)及其方法與xml文檔訪問控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及XML文檔的管理,尤其涉及XML文檔的委托管理。
背景技術(shù):
XML(可擴展標記語言)文檔管理(XDM)系統(tǒng)是多種業(yè)務(wù)的通用引擎,能夠存儲和管理各種引擎的數(shù)據(jù)。XDM系統(tǒng)主要包括以下功能實體1.XDM客戶端(XDMC)XDM客戶端是提供接入不同XDM服務(wù)器的實體。XDM客戶端可能是終端或者服務(wù)器實體。XDM客戶端是接入XDM服務(wù)器中XCAP資源的實體。XCAP資源對應(yīng)一個XML文檔的元素和屬性。XCAP資源通過一個HTTP URI來識別。XDM客戶端通過HTTP操作來使用XML文檔。XDM客戶端應(yīng)該基于應(yīng)用的使用方法來構(gòu)造RequestedURI。可以進行如下操作創(chuàng)建或取代一個文檔;刪除一個文檔;獲取一個文檔;創(chuàng)建或取代一個元素;刪除一個元素;獲取一個元素;創(chuàng)建或取代一個屬性;刪除一個屬性;獲取一個屬性。
2.共享XDM服務(wù)器(XDMS)共享XDM服務(wù)器提供鑒權(quán)、管理和通知功能。共享XDM服務(wù)器支持URI列表。URI列表包括被不同業(yè)務(wù)引擎重用的群組、接受列表、拒絕列表。
3.引擎特定的功能體,包括1)引擎特定的XDM服務(wù)器,引擎特定的XDM服務(wù)器主要提供以下功能對SIP或XCAP請求的鑒權(quán);
管理引擎特定的XML文檔;對引擎特定XDM服務(wù)器中多個文檔的改變通知進行聚合;將網(wǎng)絡(luò)中存儲的此類引擎特定XML文檔的改變通知給訂閱者。
2)引擎特定服務(wù)器,為各個業(yè)務(wù)引擎的業(yè)務(wù)服務(wù)器。
4.聚合代理XDM客戶端在用戶設(shè)備實現(xiàn)接入XDM服務(wù)器上的XML文檔的接觸點,稱之為聚合代理。聚合代理執(zhí)行以下的功能1)執(zhí)行對XDM客戶端的鑒權(quán)。
2)路由XCAP請求到正確的XDM服務(wù)器。
3)支持計費。(可選)4)在無線接口支持壓縮/解壓。
5.SIP/IP coreSIP/IP core是服務(wù)器例如代理和注冊機等的互聯(lián)網(wǎng)絡(luò),為XDM文檔管理系統(tǒng)提供多種服務(wù),例如路由,認證,壓縮等。
現(xiàn)有技術(shù)方案中,配置信息的設(shè)置必須是XDM客戶端本身,不存在委托機制。如圖1中所示,典型的配置信息的設(shè)置系統(tǒng)主要有以下裝置組成A)XDM客戶端是接入不同XDM服務(wù)器的實體,可能為終端或服務(wù)器。當XDM客戶端為終端時通過聚合代理與XDM服務(wù)器交互;否則XDM客戶端直接與XDM服務(wù)器交互。XDM客戶端使用XCAP協(xié)議管理存儲與某XDM服務(wù)器上的相應(yīng)XML文檔。
B)聚合代理當XDM客戶端為用戶設(shè)備終端時,XDM客戶端的XCAP請求由聚合代理轉(zhuǎn)發(fā)給恰當?shù)腦DM服務(wù)器,聚合代理的主要功能是路由,鑒權(quán),或計費,壓縮。
C)XDM服務(wù)器XDM服務(wù)器為多個XDM客戶端存儲和管理XML文檔,為訂閱了某些文檔改變的客戶端在相應(yīng)文檔發(fā)生改變時提供通知消息,XDM服務(wù)器還提供鑒權(quán)功能。
該系統(tǒng)所存在的缺點是,XDM客戶端在操作其存儲在XDM服務(wù)器上的XML文檔時只能由其本身操作,當XDM客戶端不方便自己操作時,不能委托其他實體為其操作,給用戶帶來不便。
但有很多情況下需要一種代理機制,以允許某個客戶端將其對XML文檔的存儲管理等操作代理給其他客戶端進行,即讓其他XDM客戶端為其存儲或管理其XML文檔。而且,現(xiàn)有技術(shù)中并沒有可以對XML文檔進行訪問控制的機制。
發(fā)明內(nèi)容
本發(fā)明的目的之一是提供一種使XDM客戶端能夠委托其他實體進行XDM操作的方法,使XDM客戶端可方便地進行XDM操作。
為了達成上述目的,本發(fā)明所采取的技術(shù)方案是,提供一種XML文檔管理方法,包括步驟(1)XML文檔管理客戶端向XML文檔管理服務(wù)器發(fā)出XML文檔管理操作請求;(2)XML文檔管理服務(wù)器接收所述XML文檔管理客戶端的XML文檔管理操作請求并判斷XML文檔管理客戶端的請求是否滿足所述XML文檔管理操作的委托授權(quán)規(guī)則的生效條件;(3)當XML文檔管理客戶端的請求滿足XML文檔管理操作的委托授權(quán)規(guī)則的生效條件時,執(zhí)行規(guī)則規(guī)定的XML文檔管理操作,否則執(zhí)行非授權(quán)委托處理過程。
優(yōu)選地,所述規(guī)則所規(guī)定的XML文檔管理操作包括對XML文檔特定部分的特定管理操作。
本發(fā)明的另一個目的是提供一種使XDM客戶端能夠委托其他實體進行XDM操作的系統(tǒng)。
為了達成上述目的,本發(fā)明采用的技術(shù)方案是提供一種XML文檔管理系統(tǒng),包括XML文檔管理客戶端和XML文檔管理服務(wù)器,所述XML文檔管理客戶端與XML文檔管理服務(wù)器連接,在所述XML文檔管理客戶端和XML文檔管理服務(wù)器之間還設(shè)有XML文檔管理操作委托檢查及處理裝置,該XML文檔管理操作委托檢查及處理裝置驗證所述XML文檔管理客戶端所請求的XML文檔操作是否為授權(quán)委托方式,并執(zhí)行XML文檔管理客戶端所請求的XML文檔管理操作相應(yīng)的處理。
優(yōu)選地,其中所述的XML文檔管理操作委托檢查及處理裝置包括委托檢查模塊,用于檢查XML文檔管理客戶端所請求的XML文檔管理操作是否為委托方式;授權(quán)處理模塊,用于判斷委托檢查模塊確定的委托方式是否為授權(quán)的委托方式,并在委托方式為授權(quán)的委托方式時根據(jù)委托授權(quán)規(guī)則執(zhí)行對XML文檔特定部分的特定管理操作。
本發(fā)明的第三個目的是提供一種與上述XML文檔管理方法及XML文檔管理系統(tǒng)相應(yīng)的實現(xiàn)XML訪問控制的方法。
為達成上述目的,本發(fā)明采用的技術(shù)方案是一種XML文檔訪問控制方法,包括步驟A判斷請求訪問XML文檔的XML文檔訪問客戶端是否滿足XML文檔訪問條件,若是則執(zhí)行(2),否則退出本處理過程;步驟B根據(jù)規(guī)定的滿足XML文檔訪問條件的XML文檔訪問客戶端執(zhí)行的對XML文檔特定部分的訪問操作,執(zhí)行所述XML文檔訪問客戶端對所述XML文檔的特定部分請求執(zhí)行的規(guī)定的XML文檔訪問操作。
本發(fā)明的技術(shù)效果有以下幾個方面1.本發(fā)明通過對不同于XML文檔擁有者的管理客戶端進行委托授權(quán),實現(xiàn)了XML文檔的委托管理操作,使XML文檔的管理操作更加靈活、方便;
2.由于本發(fā)明使XML文檔的能夠進行委托管理,所以能夠有效地實現(xiàn)XML文檔的管理共享;3.本發(fā)明使?jié)M足XML文檔訪問條件的XML文檔訪問客戶端能夠?qū)ML文檔的特定部分進行規(guī)定的操作,從而實現(xiàn)了對XML文檔的精確訪問控制。
圖1是現(xiàn)有技術(shù)的XML文檔管理系統(tǒng)示意圖;圖2是本發(fā)明的一個實施例的XML文檔管理系統(tǒng)的示意圖;圖3是本發(fā)明的另一個實施例的XML文檔管理方法的XML文檔委托管理操作的流程圖;圖4是圖3中實施例的XML文檔管理方法的委托方式檢查的流程圖;圖5是本發(fā)明的第三實施例的XML文檔管理方法的消息流程圖。
具體實施例方式
圖2是本發(fā)明的一個實施例的XML文檔管理系統(tǒng)的示意圖。
如圖所示,該XML文檔管理系統(tǒng)包括XML文檔管理(XDMC)代理、聚合代理和XML文檔管理服務(wù)器(XDMS),在XDMS端還具有委托檢查和處理裝置,XDMC代理與聚合代理之間以及聚合代理與委托檢查和處理裝置及XDMS之間的訂閱/通知消息通過SIP/IP Core實現(xiàn)。
XDMC代理發(fā)送XCAP請求給聚合代理,聚合代理將請求轉(zhuǎn)發(fā)給XDMS,XDMS中的委托檢查和處理裝置驗證XML文檔操作請求是否為授權(quán)委托方式,并執(zhí)行XML文檔管理客戶端所請求的XML文檔管理操作相應(yīng)的處理,由XDMS向聚合代理發(fā)送確認消息,聚合代理將確認消息返回給XDMC代理。
XML文檔管理操作委托檢查及處理裝置可以包括委托檢查模塊,用于檢查XML文檔管理客戶端所請求的XML文檔管理操作是否為委托方式;以及授權(quán)處理模塊,用于判斷委托檢查模塊確定的委托方式是否為授權(quán)的委托方式,并在委托方式為授權(quán)的委托方式時根據(jù)委托授權(quán)規(guī)則執(zhí)行對XML文檔特定部分的特定管理操作。
上述文檔管理系統(tǒng)還可以包括XML文檔擁有者客戶端,該XML文檔擁有者客戶端是一種XML文檔管理的客戶端,其為XML文檔的實際擁有者,與XDMS連接。XML文檔擁有者客戶端制定委托授權(quán)規(guī)則,并將委托授權(quán)規(guī)則文檔發(fā)送到XDMS,委托授權(quán)規(guī)則授權(quán)XDMC代理執(zhí)行XML文檔的特定部分的規(guī)定管理操作。
另外,委托授權(quán)規(guī)則文檔也可以由XDMS制定并存儲、運行。
委托授權(quán)規(guī)則包括請求者標識字段,用于標識規(guī)則所對應(yīng)的XML管理操作請求的發(fā)送者;操作對象字段,用于標識所述XML管理操作對應(yīng)的XML文檔或其中的特定元素或?qū)傩?;操作類型字段,用于標識所述XML管理操作的類型;動作字段,用于標識規(guī)則匹配后服務(wù)器所采取的動作。
XDM委托授權(quán)規(guī)則保存在XML文檔中,文檔中包含若干規(guī)則,每個規(guī)則說明誰可以代理委托者對相應(yīng)文檔中哪種或哪些元素進行哪些操作。
XDM委托授權(quán)規(guī)則文檔的格式可以采用與現(xiàn)有機制架構(gòu)(參見參考文獻[COMMONPOL])類似的架構(gòu)。文檔包含一個根元素<ruleset>,根元素<ruleset>包含若干表示一個規(guī)則的<rule>子元素,每個<rule>元素包含三個元素<condition>,<action>,<transformation>。其中<condition>元素確定本規(guī)則的生效條件,<action>元素確定本規(guī)則生效時采取的動作,例如允許,拒絕,等待確認等,<transformation>表示對信息的處理,在這里用來指定訪問控制的XML文檔的內(nèi)容。
<condition>元素主要包括A)Identity用戶身份標志,例如sipzhangsan@huawei.comB)Domain域,例如@example.comC)Validity有效期,例如2005-8-18:00~2005-8-9 18:00D)Sphere位置,例如home,work對<action>元素的擴展如下<action>元素至少包含但不限于下述中的一種<get>元素,定義對GET操作的動作;<put>元素,定義對PUT操作的動作;<delete>元素,定義對DELETE操作的動作;<post>元素,定義對POST操作的動作;這些動作可以包括“allow”,“deny”,“confirm”,分別表示允許,拒絕和需要確認。
<transformation>元素包含若干<xpath>子元素,<xpath>元素的值為一個XPATH表達式,這些<xpath>元素間是邏輯或(OR)的關(guān)系,指定訪問者可以訪問的XML文檔的部分。
另外授權(quán)規(guī)則文檔還可以是另一種結(jié)構(gòu)類似[COMMON_POLICY],文檔包含<ruleset>根元素,其中包含若干<rule>元素。
<rule>元素包含<condition>、<action>、<transformation>三個子元素。
在此基礎(chǔ)上,本實施例在<condition>元素中增加子元素<method>,<method>元素的值至少包括但不限于GET、PUT、DELETE之一; 在<transformation>元素中增加子元素<xpath>,表示本規(guī)則所控制的XML的哪部分,其值為一個XPATH表達式,<transformation>元素可以有若干個<xpath>子元素,這些<xpath>元素所描述的XML文檔的部分的并集表達了規(guī)則控制XML文檔的哪些部分。
圖3是本發(fā)明的另一個實施例的XML文檔管理方法的XML文檔委托管理操作的流程圖。
如圖3所示,XDM S收到XDM操作請求后,進行委托方式判斷,檢查消息發(fā)送者標識是否與所操作文檔的擁有者標識匹配,若匹配則為一般方式,否則為委托方式。如果為一般方式,則按照現(xiàn)有技術(shù)的流程處理;如果為委托方式,則獲取XDM委托授權(quán)規(guī)則,判斷被委托者請求的XDM操作是否滿足委托授權(quán)規(guī)則的生效條件。如果該XDM操作請求滿足規(guī)則則為授權(quán)委托方式,XDMS根據(jù)該XDM操作請求執(zhí)行相應(yīng)的授權(quán)委托管理操作。
下面舉例說明XDM委托授權(quán)文檔中描述各種規(guī)則的情況假設(shè)委托者A的身份標識為sipuserA@example.com,被委托者B的標識為sipuserB@example.com。
假設(shè)有委托者A在XDMS中存儲有如下的XML文檔http://xcap.example.com/services/resource-lists/users/sipuserA@example.com/friends.xml<?xml version=″1.0″encoding=″UTF-8″?>
<resource-lists xmlns=″urnietfparamsxmlnsresource-lists″>
<list name=″My-Close-friends″>
<entry uri=″sipAndy@example.com″>
<display-name>Andy</display-name></entry>
<entry uri=″sipSimon@example.com″>
<display-name>Simon</display-name></entry></list><list name=″My_Middle_School_Classmates″>
<entry uri=″sipfriendl@example.com″>
<display-name>Friend1</display-name></entry>
<entry uri=″sipfriend2@example.com″>
<display-name>Friend1</display-name></entry>
<entry uri=″sipfriend3@example.com″>
<display-name>Friend1</display-name></entry></list></resource-lists>
上面的XML文檔中描述了委托者A的兩個列表,一個名為“My-Close-Friends”,一個名為“My-Middle-School-Classmates”。假設(shè)A允許被委托者B讀取或修改列表“My-Middle-School-Classmates”中的內(nèi)容。則1)<condition>元素中的子元素<identity>為<identity>
<one id=″userB@example.com″scheme=″sip″/>
</identity>
2)<transformation>元素中的包含如下子元素<xpath>
/resource-lists/list[@name=″My_Middle_School_Classmates″]</xpath>
3)<action>元素為<operation>
<get>allow</get>
<put>deny</put>
<delete>deny</delete>
</operation>
相應(yīng)的XDM委托授權(quán)規(guī)則如下在<condition>元素中包含用戶B的標識,說明規(guī)則在消息發(fā)送者為B時適用;在<action>元素中包含四個子元素,第一個說明允許讀取(GET)操作,第二個說明禁止寫入(PUT)操作,第三個說明禁止刪除(DELETE)操作,第四個說明禁止POST操作;
在<transformation>元素中包含一個<xpath>元素,用XPATH表達式指定本規(guī)則適用于操作對應(yīng)XML文檔的哪部分,在這里是適用于對對應(yīng)XML文檔中名為“My_Middle_School_Classmates”的列表的操作。
http://xcaap.example.com/services/resource-lists/users/sipuserA@example.com/xdm_delegation_rules.xml<?xml version=″1.0″encoding=″UTF-8″?>
<ruleset xmlns=″urnietfparamsxmlnscommon-policy″>
<rule id=″f3g44r3″>
<condition>
<identity>
<one id=″userB@example.com″scheme=″sip″/>
</identity>
</condition>
<action>
<get>allow</get>
<put>deny</put>
<delete>deny</delete>
<post>deny</post>
</action>
<transformation>
<xpath>/resource-lists/list[@name=″My_Middle_School_Classmates″]</xpath>
</transtormation>
</rule>
</ruleset>
在委托方式判斷中,還可以是通過在消息中增加一個標志字段,表明是否為委托方式。標志字段放在消息頭中,當接收到消息時委托檢查處理模塊獲取此標志字段,據(jù)此判斷是否為委托方式。
圖4是圖3中實施例的XML文檔管理方法的委托方式檢查的流程圖。
如圖4所示,其過程包括獲取消息發(fā)布者的用戶身份標識;獲取所操作文檔擁有者標識;如果上述兩種標識匹配,則為一般方式,否則為委托方式。
另外,在被委托者的資格判斷中,還可以采用這樣的方式將XML文檔管理服務(wù)器將XML文檔管理客戶端的身份特征相關(guān)的信息發(fā)送到XML文檔擁有者客戶端請求確認,XML文檔擁有者客戶端確認后將確認信息返回XML文檔管理服務(wù)器,若確認結(jié)果為授權(quán),則XML文檔管理客戶端為授權(quán)的委托XML文檔管理客戶端,否則為非授權(quán)的委托XML文檔管理客戶端。
XDMS還可以判斷XML文檔管理客戶端是否為該XML文檔擁有者,如果該XML文檔管理客戶端為該XML文檔擁有者,則執(zhí)行現(xiàn)有技術(shù)中一般的XML文檔管理操作,這里不作具體描述。如果XML文檔管理客戶端既非XML文檔擁有者,又非授權(quán)的委托管理者,則拒絕該XML文檔管理客戶端對XML文檔的管理操作。
上述方案中,若沒有說明,則是以委托方或被委托方的XDMC位于用戶設(shè)備中為例的。另外,無論委托方還是被委托方,其XDMC位于應(yīng)用服務(wù)器中時可以不通過聚合代理而直接向相應(yīng)XDMS發(fā)送請求;若其XDMC位于用戶終端中時則可以通過聚合代理向相應(yīng)XDMS轉(zhuǎn)發(fā)請求。
圖5是本發(fā)明的第三實施例的XML文檔管理方法的消息流程圖。
用戶A委托校友錄服務(wù)器S為其維護好友信息信息。當用戶A的一個同學(xué)B加入A所在班級的校友錄中時,服務(wù)器為用戶A維護存儲于某XDMS中的好友列表,將用戶B加入好友列表中。
(1)用戶A通過XCAP協(xié)議在其存儲好友列表的XDMS中設(shè)置校友錄服務(wù)器S的XDM委托授權(quán)規(guī)則,允許校友錄服務(wù)器向其好友列表“MyClassmates”中增加好友。
(2)用戶B加入A所在班級的校友錄后,為將用戶B加入用戶A的好友列表,校友錄服務(wù)器S向此XDMS發(fā)送XDM操作請求。
(3)此XDMS執(zhí)行前述委托方式判斷流程,從消息中獲得消息發(fā)布者即校友錄服務(wù)器S的標識以及操作對象擁有者A的標識,并進行比較,根據(jù)比較結(jié)果確定為委托方式。
(4)此XDMS根據(jù)從消息中獲得的消息發(fā)布者標識,操作對象和操作類型,對照A存儲在此XDMS中的XDM授權(quán)規(guī)則確定校友錄服務(wù)器S有權(quán)代理用戶A執(zhí)行此XDM操作,然后向用戶A的好友列表中增加用戶B為好友。
步驟(1)中,用戶A在相應(yīng)XDMS上設(shè)置XDM委托授權(quán)規(guī)則時向相應(yīng)XDMS發(fā)送下面的消息其中<crrule id=ck81>元素說明定義的一條規(guī)則,而其中的三個子元素<crconditions>說明規(guī)則適用的條件,即當消息請求者是<crid>元素中指明的校友錄服務(wù)器時適用本規(guī)則。
<craction>元素說明規(guī)則適用時,XDM服務(wù)器相應(yīng)的動作,其中,第一個子元素說明允許進行GET操作,第二個子元素說明允許允許進行PUT操作,第三個子元素說明不允許進行DELETE操作;需要說明的一點是,這里沒有指定是否允許POST操作,實際中,XDM服務(wù)器可以有默認的動作,在此常用的默認動作為拒絕,即對于沒有定義的操作,服務(wù)器拒絕執(zhí)行。
<crtransformation>元素說明本規(guī)則所述操作的操作對象,在此為對應(yīng)的XML文檔中的名為”My_Middle_School_Classmates”的列表。
PUThttp://xcap.example.com/services/shared-xdms/users/sipuserA@example.com/xdm_delegation_rules.xml HTTP/1.1…Content-Typeapplication/auth-policy+xmlContent-Length(…)<?xml version=″1.0″encoding=″UTF-8″?>
<crrulesetxmlnsop=″urmomaparamsxmlnspres-riles″xmlnspr=″urnietfparamsxmlnspres-riles″xmlnscr=″urnietfparamsxmlnscommon-policy″xmlnsxsi=″http://www.w3.org/2001/XMLSchema-instance″>
<crrule id=″ck81″>
<crconditions>
<cridentity>
<crid>sipalumin@exampleservice.com</crid>
</cridentity>
</crconditions>
<cractions>
<get>allow</get>
<put>allow></put>
<delete>deny</delete>
</cractions>
<crtransformations><xpath>/resource-lists/list[@name=”My_Middle_School_Classmates”]</xpath>
</crtransformations>
</crrule>
</crruleset>
假定校友錄服務(wù)器S的sip地址為sipalumni@exampleservice.com,用戶A的XDM委托授權(quán)文檔HTTP URI為http://xcap.example.com/services/shared-xdms/users/sipuserA@example.com/xdm_delegation_auth.xml。
其中sipalumni@exampleservice.com為授權(quán)對象的標識,表示此授權(quán)規(guī)則定義對校友錄服務(wù)器的訪問控制;<get>allow</get>,表示允許校友錄服務(wù)器讀取,<put>allow</put>表示允許校友錄服務(wù)器執(zhí)行PUT操作,<delete>deny</delete>表示不允許校友錄服務(wù)器執(zhí)行DELETE操作;<xpath>/resource-lists/list[@name=”My_Middle_School_Classmates”]</xpath>表示允許校友錄服務(wù)器操作My_Middel_School_Classmates列表。
相應(yīng)XDMS收到此消息后,創(chuàng)建XDM委托授權(quán)規(guī)則。
其中步驟5)中校友錄服務(wù)器向A的好友列表中增加用戶B時向相應(yīng)XDMS發(fā)送的消息為PUThttp://xcap.example.com/services/shared-lists/users/sipuserA@example.com/friends.xml/~~/resource-lists/list[@name=″My_friends″]/entry[@uri=″sipfriend2@example.com″]HTTP/1.1…Content-Typeapplication/xcap-el+xmlContent-Length(…)<?xml version=″1.0″encoding=″UTF-8″?>
<entry uri=″sipfriend2@example.com″>
<display-name>Friend2</display-name>
</entry>
XDMS中的委托檢查和處理模塊從此消息中獲取消息發(fā)布者的標識“sipalumni@exampleservice.com”,以及操作對象擁有者的標識“sipuserA@example.com”,比較兩個標識結(jié)果不同,判斷出此XDM操作請求為委托方式。然后參照步驟1)中設(shè)置的XDM委托授權(quán)規(guī)則,確定校友錄服務(wù)器S有執(zhí)行此操作的授權(quán),然后通過XDMS執(zhí)行此XDM操作。
本發(fā)明的第四實施例為一種XML文檔訪問控制方法,包括步驟A判斷請求訪問XML文檔的XML文檔訪問客戶端是否滿足XML文檔訪問條件,若是則執(zhí)行(2),否則退出本處理過程;步驟B根據(jù)規(guī)定的滿足XML文檔訪問條件的XML文檔訪問客戶端執(zhí)行的對XML文檔特定部分的訪問操作,執(zhí)行XML文檔訪問客戶端對XML文檔的特定部分請求執(zhí)行的規(guī)定的XML文檔訪問操作。
步驟A中,可以按照上述實施例的方式,將XML文檔管理操作客戶端的身份標識與預(yù)定的滿足XML文檔訪問條件的XML文檔訪問客戶端身份標識進行對比,若二者匹配則XML文檔訪問客戶端滿足XML文檔訪問條件,否則XML文檔訪問客戶端不滿足XML文檔訪問條件。預(yù)定的滿足XML文檔訪問條件的XML文檔訪問客戶端身份標識可以是該XML文檔的擁有者自身的身份標識,也可以是其它的預(yù)定可以訪問該XML文檔的訪問客戶端的身份標識。當XML文檔訪問客戶端與該XML文檔的擁有者自身的身份標識匹配時,則表示該XML文檔訪問客戶端為該XML文檔的擁有者自身,此時該XML文檔訪問客戶端具有較大的訪問操作權(quán)限,可以按照一般的XML文檔訪問過程進行XML文檔的訪問操作,也可以按照本方法規(guī)定的對該XML文檔的訪問操作。當XML文檔訪問客戶端的身份標識與其它的預(yù)定可以訪問該XML文檔的訪問客戶端的身份標識匹配時,則表示該XML文檔訪問客戶端為委托的可以對該XML文檔進行訪問操作的客戶端。
另外,在步驟A中,還可以采用即時確認的方式,即,將請求對XML文檔進行訪問操作的XML文檔訪問客戶端的相關(guān)信息發(fā)送到XML文檔擁有者客戶端進行確認,并接收XML文檔擁有者客戶端返回的確認信息,若確認結(jié)果為該XML文檔訪問客戶端滿足XML文檔訪問條件,則XML文檔訪問客戶端滿足XML文檔訪問條件,否則不滿足XML文檔訪問條件。通過現(xiàn)有技術(shù)并參照上述實施例,這一過程很容易實現(xiàn),這里不再贅述。
步驟A中的XML文檔訪問條件至少包括不限于下述中之一XML文檔訪問客戶端的身份信息條件;規(guī)定的有效期條件;請求者的位置信息條件。比如,上述第一實施例中列出的Identity,Domain,Validity,Sphere等。
步驟B中所述的規(guī)定包括滿足XML文檔訪問條件的XML文檔訪問客戶端可進行訪問操作的XML文檔的特定部分。XML文檔的特定部分可以XCAP URI標識??蛇M行的訪問操作可以為讀取操作HTTP GET,寫入操作HTTP PUT,刪除操作HTTP DELETE,檢索操作HTTP POST,等。
在步驟B還可以包括將執(zhí)行結(jié)果信息“200 OK”發(fā)送XML文檔訪問客戶端。
上述實施例只是用于說明本發(fā)明的具體的實施方式,并非用于本發(fā)明的保護范圍的限制。本領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的基本思想或上述內(nèi)容,而作出各種變型或改進,只要其落入本發(fā)明的權(quán)利要求書所確定的保護范圍或其等同內(nèi),都應(yīng)該被本發(fā)明所涵蓋。
權(quán)利要求
1.一種XML文檔管理方法,包括以下步驟(1)XML文檔管理客戶端向XML文檔管理服務(wù)器發(fā)出XML文檔管理操作請求;(2)XML文檔管理服務(wù)器接收所述XML文檔管理客戶端的XML文檔管理操作請求并判斷XML文檔管理客戶端的請求是否滿足所述XML文檔管理操作的委托授權(quán)規(guī)則的生效條件;(3)當XML文檔管理客戶端的請求滿足XML文檔管理操作的委托授權(quán)規(guī)則的生效條件時,執(zhí)行規(guī)則規(guī)定的XML文檔管理操作,否則執(zhí)行非授權(quán)委托處理過程。
2.如權(quán)利要求1所述的XML文檔管理方法,其特征在于,其中所述的步驟(2)中所述XML文檔管理操作的委托授權(quán)規(guī)則的生效條件至少包括XML文檔訪問客戶端的身份信息條件。
3.如權(quán)利要求2所述的XML文檔管理方法,其特征在于,其中所述的步驟(2)包括根據(jù)XML文檔管理客戶端的請求獲取該XML文檔管理客戶端的身份信息;將所獲得的XML文檔管理客戶端的身份信息與所述委托授權(quán)規(guī)則的生效條件中的XML文檔管理客戶端的身份信息條件進行對比,若二者匹配,則所述XML文檔管理客戶端的身份滿足所述委托授權(quán)規(guī)則的生效條件的XML文檔訪問客戶端的身份信息條件。
4.如權(quán)利要求1所述的XML文檔管理方法,其特征在于,其中所述規(guī)則所規(guī)定的XML文檔管理操作包括對XML文檔特定部分的特定管理操作。
5.如權(quán)利要求4所述的XML文檔管理方法,其特征在于,其中所述對XML文檔特定部分的特定管理操作的規(guī)定至少包括不限于下述中之一執(zhí)行或不執(zhí)行對XML文檔特定部分的讀取操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的寫入操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的刪除操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的搜索操作。
6.如權(quán)利要求5所述的XML文檔管理方法,其特征在于,所述XML文檔的特定部分以XCAP URI標識,所述讀取操作為HTTP GET操作,所述寫入操作為HTTP PUT操作,所述刪除操作為HTTP DELETE操作,所述檢索操作為HTTP POST操作。
7.如權(quán)利要求1所述的XML文檔管理方法,其特征在于,其中在所述步驟(1)之前還包括步驟制定并在XML文檔管理服務(wù)器上存儲和運行所述XML文檔管理操作的委托授權(quán)規(guī)則。
8.如權(quán)利要求7所述的XML文檔管理方法,其特征在于,其中所述的規(guī)則由所述XML文檔擁有者客戶端制定,并由所述XML文檔擁有者客戶端發(fā)送到所述XML文檔管理服務(wù)器。
9.如權(quán)利要求7所述的XML文檔管理方法,其特征在于,其中所述的規(guī)則由XML文檔管理服務(wù)器制定。
10.如權(quán)利要求1所述的XML文檔管理方法,其特征在于,在所述步驟(1)之前還包括步驟制定并在XML文檔管理服務(wù)器上存儲和運行所述XML文檔管理操作的委托授權(quán)規(guī)則;所述XML文檔管理操作的委托授權(quán)規(guī)則的生效條件至少包括XML文檔訪問客戶端的身份信息條件;所述步驟(2)包括根據(jù)XML文檔管理客戶端的請求獲取該XML文檔管理客戶端的身份信息;將所獲得的XML文檔管理客戶端的身份信息與所述委托授權(quán)規(guī)則的生效條件中的XML文檔管理客戶端的身份信息條件進行對比,若二者匹配,則所述XML文檔管理客戶端的身份滿足所述委托授權(quán)規(guī)則的生效條件的XML文檔訪問客戶端的身份信息條件;所述規(guī)則所規(guī)定的XML文檔管理操作至少包括不限于下述中之一執(zhí)行或不執(zhí)行對XML文檔特定部分的讀取操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的寫入操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的刪除操作;執(zhí)行或不執(zhí)行對XML文檔特定部分的搜索操作,其中所述XML文檔的特定部分以XCAP URI標識,所述讀取操作為HTTP GET操作,所述寫入操作為HTTP PUT操作,所述刪除操作為HTTPDELETE操作,所述檢索操作為HTTP POST操作。
11.如權(quán)利要求1至10中任一項所述的XML文檔管理方法,其特征在于,其中所述步驟(3)中的非授權(quán)委托處理過程包括判斷所述XML文檔管理客戶端是否為該XML文檔擁有者,如果該XML文檔管理客戶端為該XML文檔擁有者,則執(zhí)行一般的XML文檔管理操作,否則拒絕該XML文檔管理客戶端對所述XML文檔的管理操作。
12.如權(quán)利要求11所述的XML文檔管理方法,其特征在于,所述的XML文檔管理客戶端為用戶設(shè)備終端,其與所述XML文檔管理服務(wù)器之間的連接通過聚合代理實現(xiàn)。
13.如權(quán)利要求12所述的XML文檔管理方法,其特征在于,其還包括(4)所述XML文檔管理服務(wù)器將XML文檔管理操作執(zhí)行結(jié)果信息發(fā)送所述XML文檔管理客戶端。
14.一種XML文檔管理系統(tǒng),包括XML文檔管理客戶端和XML文檔管理服務(wù)器,所述XML文檔管理客戶端與XML文檔管理服務(wù)器連接,其特征在于,在所述XML文檔管理客戶端和XML文檔管理服務(wù)器之間還設(shè)有XML文檔管理操作委托檢查及處理裝置,該XML文檔管理操作委托檢查及處理裝置驗證所述XML文檔管理客戶端所請求的XML文檔操作是否為授權(quán)委托方式,并執(zhí)行XML文檔管理客戶端所請求的XML文檔管理操作相應(yīng)的處理。
15.如權(quán)利要求14所述的XML文檔管理系統(tǒng),其特征在于,其中所述的XML文檔管理操作委托檢查及處理裝置包括委托檢查模塊,用于檢查XML文檔管理客戶端所請求的XML文檔管理操作是否為委托方式;授權(quán)處理模塊,用于判斷委托檢查模塊確定的委托方式是否為授權(quán)的委托方式,并在委托方式為授權(quán)的委托方式時根據(jù)委托授權(quán)規(guī)則執(zhí)行對XML文檔特定部分的特定管理操作。
16.如權(quán)利要求15所述的XML文檔管理系統(tǒng),其特征在于,其中所述XML文檔的特定部分以XCAP URI標識,所述特定管理操作至少包括不限于下述中之一讀取操作HTTP GET;寫入操作HTTP PUT;刪除操作HTTP DELETE;檢索操作HTTP POST。
17.如權(quán)利要求16所述的XML文檔管理系統(tǒng),其特征在于,其還包括XML文檔擁有者客戶端,該XML文檔擁有者客戶端與所述XML文檔管理服務(wù)器連接,用戶通過所述XML文檔擁有者客戶端向所述XML文檔管理服務(wù)器發(fā)送該XML文檔擁有者相應(yīng)的XML文檔委托授權(quán)規(guī)則文檔,建立該XML文檔的管理操作委托授權(quán)規(guī)則。
18.如權(quán)利要求14至17中任一項所述的XML文檔管理系統(tǒng),其特征在于,其還包括聚合代理和SIP/IP Core,所述XML文檔管理客戶端與XML文檔管理服務(wù)器之間通過所述聚合代理傳遞信息,所述SIP/IP Core用于處理所述XML文檔管理客戶端與所述XML文檔管理服務(wù)器之間的訂閱/通知消息。
19.一種XML文檔訪問控制方法,包括(1)判斷請求訪問XML文檔的XML文檔訪問客戶端是否滿足XML文檔訪問條件,若是則執(zhí)行(2),否則退出本處理過程;(2)根據(jù)規(guī)定的滿足XML文檔訪問條件的XML文檔訪問客戶端執(zhí)行的對XML文檔特定部分的訪問操作,執(zhí)行所述XML文檔訪問客戶端對所述XML文檔的特定部分請求執(zhí)行的規(guī)定的XML文檔訪問操作。
20.如權(quán)利要求19所述的XML文檔訪問控制方法,其特征在于,其中步驟(1)中所述的XML文檔訪問條件至少包括不限于下述中之一XML文檔訪問客戶端的身份信息條件;所述規(guī)定的有效期條件;請求者的位置信息條件。
21.如權(quán)利要求20所述的XML文檔訪問控制方法,其特征在于,其中步驟(2)中所述的規(guī)定包括滿足XML文檔訪問條件的XML文檔訪問客戶端可進行訪問操作的XML文檔的特定部分;所述XML文檔訪問客戶端對所述XML文檔的特定部分可執(zhí)行的訪問操作,至少包括不限于下述中之一讀取操作;寫入操作;刪除操作;檢索操作。
22.如權(quán)利要求21所述的XML文檔訪問控制方法,其特征在于,其中步驟(2)還包括將執(zhí)行結(jié)果信息發(fā)送所述XML文檔訪問客戶端。
23.如權(quán)利要求21或22所述的XML文檔訪問控制方法,其特征在于,所述XML文檔的特定部分以XCAP URI標識,所述讀取操作為HTTPGET操作,所述寫入操作為HTTP PUT操作,所述刪除操作為HTTPDELETE操作,所述檢索操作為HTTP POST操作。
全文摘要
本發(fā)明涉及XML文檔的委托管理,旨在實現(xiàn)XDM的委托,一種XML文檔管理方法,包括步驟(1)XML文檔管理客戶端向XML文檔管理服務(wù)器發(fā)出XML文檔管理操作請求;(2)XML文檔管理服務(wù)器接收所述XML文檔管理客戶端的XML文檔操作請求并判斷XML文檔管理客戶端的請求是否滿足所述XML文檔管理操作的委托授權(quán)規(guī)則的生效條件;(3)當XML文檔管理客戶端的請求滿足XML文檔管理操作的委托授權(quán)規(guī)則的生效條件時,執(zhí)行規(guī)則規(guī)定的XML文檔管理操作,否則執(zhí)行非授權(quán)委托處理過程。本發(fā)明有效實現(xiàn)了XML文檔的委托管理操作,可廣泛應(yīng)用于XML文檔的管理中。
文檔編號G06F17/30GK1859402SQ20061003360
公開日2006年11月8日 申請日期2006年2月10日 優(yōu)先權(quán)日2006年2月10日
發(fā)明者鮑洪慶, 招揚, 田林一, 孫謙, 宋雪飛 申請人:華為技術(shù)有限公司