专利名称::一种获取节点信息的方法、服务器以及系统的制作方法
技术领域:
:本发明涉及通信
技术领域:
,具体涉及一种获取节点信息的方法、服务器以及系统。
背景技术:
:随着互联网协议多媒体子系统(IMS,IPMultimediaSubsystem)解决方案中可扩展标记语言配置访问协议(XCAP,XMLConfigurationAccessProtocol)的应用越来越广泛,XCAP也在不断进行增强和扩展。其中,在RFC4825中定义了XCAP的标准,在开发移动联盟(0ΜΑ,OpenMobileAlliance)规范中也定义了XCAP的扩展标准。定义XCAP的目的是允许可扩展标记语言(XML,ExtensibleMarkupLanguage)文档管理客户端(XDMC,XMLDocumentManagementClient)对XML文档管理月艮务器(XDMS,XMLDocumentManagementServer)存储的XML文档进行包括读、写、修改、创造和删除部分数据的操作而制定一套标准。在现有的XCAP中规定XDMS的一次操作只可以对XML文档中的一个节点进行操作。如果客户端(即XDMC)想要通过XCAP获取服务器(即XDMS)中存储的XML文档中某个节点下包括的多个名称相同的节点的数量信息或者位置信息,(参考XML文档的定义,即该节点包括多个名称相同的子节点,该节点称为子节点的父节点,根节点是没有父节点的节点。)就需要XDMS获取到该节点的全部内容,或者获取该节点所在的整个XML文档的内容,然后将获取该节点的全部内容、或者整个XML文档的内容发送给客户端,由客户端进行解析,解析后获取该节点下包括的多个名称相同的节点的数量信息和位置信息,因此,采用该现有技术,浪费了宝贵的网络带宽,同时,增加了客户端设备的负荷,对客户端设备的要求高。在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中存储XML文档的服务器不能获取XML文档中某节点下包括的多个名称相同的节点的数量信息或位直fe息。
发明内容本发明实施例提供一种获取节点信息的方法、服务器以及系统,解决了现有技术中XDMS不能获取多个节点的数量信息和/或位置信息的问题。本发明实施例提供了一种获取节点信息的方法,包括接收客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;根据所述请求,获取所述节点信息。本发明实施例还提供了一种服务器,包括接收单元,用于接收客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;获取单元,用于根据所述请求,获取所述节点信息。本发明实施例还提供了一种通信系统,包括客户端设备,用于发送获取可扩充标记语言XML文档中节点信息的请求给服务器,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;服务器,用于接收所述客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,根据所述请求,获取所述节点信息。本发明实施例采用服务器根据接收到的获取XML文档中节点信息的请求,获取节点的数量信息或者位置信息,将获取的结果包含在响应消息中发送给XDMC,使得XML文档管理服务器(XDMS)可以获取节点选择部分选中的节点的数量信息或者位置信息。同时,该方法还避免了XDMS将整个XML文档发送给客户端设备,节约了网络带宽。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的一种获取节点信息的方法的流程简图;图2是本发明实施例二中存储在XDMS中的XML文档的树结构图;图3是本发明实施例二提供的一种获取节点信息的方法的流程简图;图4是本发明实施例三提供的一种服务器的逻辑简图;图5是本发明实施例四提供的一种通信系统的组成图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种获取节点信息的方法,本发明实施例还提供相应的服务器以及通信系统。以下分别进行详细说明。实施例一本发明实施例提供了一种获取节点信息的方法,参见图1所示,该方法包括步骤1接收客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,该请求为可扩充标记语言配置访问协议(XCAP,XMLConfigurationAccessProtocol)请求,该节点信息包括节点的数量信息或者节点的位置信息。一个例子中,该请求的格式类型可以具体是参考多用途互联网络电子邮件格式的扩展(MIME,MultipurposeInternetMailExtensions)类型。即可以在MIME类型的请求中增加一种获取节点信息的请求。步骤2根据接收到的请求,获取节点的数量信息或者位置信息。其中,步骤2中获取节点信息具体可以是根据接收的请求,统计满足该请求要求的节点的数量,或者记录满足该请求要求的节点的位置,该满足请求要求的节点是指满足请求中节点选择器(nodeSelector)要求的节点。还需要说明的是,在XCAP请求中包括统一资源定位符(URI,UniformResourceIdentifier),作为获取XDMS中存储XML文档的地址。通常URI包括XCAP根(XCAPRoot)部分、文档选择(documentselector)部分、节点选择器(NodeSelector),URI还可以包括节点选择器(nodeselector)的名字空间绑定NamespaceBindingsfortheSelector部分。有关URI的详细说明可以参考RFC4825。XDMS接收到的请求中包含URI才可以获取到需要进行操作的XML文档,即XDMS根据请求中的URI获取到该XML文档,再获取节点数量信息或者位置信息。一个具体的例子中,前述步骤2进一步包括201、根据所述XCAP请求中的请求-统一资源定位符(Request-URI)获取XML文档;202、根据所述XCAP请求中的节点选择器(nodeSelector)获取所述XML文档中的节点;203、统计所述获取的节点的数量,或者,获取节点的位置信息。通过以上步骤1至步骤2,该方法实现了XDMS具有统计节点信息的能力,可以在XDMS中统计出满足请求要求的节点的数量,或者节点的位置,。优选的,在步骤2之后,该方法还可以包括步骤3根据获取到的节点信息,该节点信息包括节点的数量信息或者位置信息,发送响应给客户端设备。其中,步骤3中发送的响应可以是XML文档,也可以是非XML文档,本发明实施例不对响应的格式做限定。还需要理解的是,由以上步骤2中可以获知XML文档中满足UIR中节点选择器要求的节点可以是一个或者是多个,在步骤2中可以得到满足节点选择部分要求的节点的数量信息,或者,可以获取节点的位置信息;通过以上对本实施例提供的一种获取节点信息的方法的说明,该方法中XDMS根据接收到的获取节点信息的请求,获取节点的数量信息或者位置信息,将获取的结果包含在响应消息中发送给XDMC,使得XML文档管理服务器(XDMS,XMLDocumentManagementServer)可以获取节点选择部分选中的节点的数量信息或者位置信息。同时,该方法还避免了XDMS将整个XML文档发送给客户端设备,节约了网络带宽。实施例二本发明实施例提供了一种获取节点信息的方法,本发明实施例二提供的方法与实施例一提供的方法相似,都可以实现XDMS中获取节点信息,所不同的是实施例二中所说明的方法是一种更具体的XDMS获取节点信息的实现方法,即实施例二以一个具体XML文档为例,来说明XDMS获取该文档中的节点信息。该XML文档如下<?xmlversion=“1.0〃encoding=“UTF-8"?><resource_listsxmlns=“urn:ietf:params:xml:ns:resource_lists〃xmlns:Xsi="http://www.w3.org/2001/XMLSchema-instance"><business>PoC</business>〈listname="friends">〈entryuri="sip:
[email protected]"><display-name>Bi11Doe</display-name>〈/entry〉〈/list〉<owner>
[email protected]</owner>〈listname="close—friends"><display-name>CloseFriends</display-name>〈entryuri="
[email protected]"><display-name>JoeSmith</display-name>〈/entry〉〈entryuri="sip:
[email protected]"><display-name>NancyGross</display-name>〈/entry〉〈/list〉</resource-lists>其中,需要说明的是,本实施例提供的方法所要解决的问题是获取满足要求的节点的数量信息和位置信息,因此,不需要对以上所举例的XML文档中存储的具体内容做说明。在本发明实施例中主要涉及该XML文档的结构,这里对该XML文档的结构做说明,以便于理解。在本实施例中所举例的XML文档的树形结构可以参见图2所示,该XML文档的根节点为resource-lists,其中resource-lists有四个子节点,分另Il为business、list、owner,list,该四个子节点中其中两个节点的名称相同,都为list,但是,这两个节点中的内容和结构不同,即在这两个节点中存储的是不同的数据。其中,在节点属性name为friends的list节点下还包括一个子节点entry,该entry节点还有一个子节点display-name;相似的可知,在节点属性name为close-friends的list的节点下包括三个子节点,分别是display-name节点,属性值为sipjoeiexample.com的entry节点,和属性值为sip:nancyiexample.com的entry节点。在属性值为sipjoeiexample.com的entry节;点下有一个节display—name,在属j"生值为sip:nancyiexample.com白勺entry节点下也有一个节点display-name。由以上的说明可以看出该XML文档的结构。该XML文档存储在XDMS中,为了便于理解,假设该XML文档存储的具体位置为“http//www.example,com/resource-lists/users/sip:
[email protected]/index/,,。下面对本发明实施例二提供的方法做说明,参见图3所示,该方法包括步骤Al服务器接收XDMC发送的获取根节点下全部list节点的个数的请求。该请求可以认为是图1所示的实施例中的获取可扩充标记语言XML文档中节点信息的请求相同。具体的例子中,执行步骤Al的服务器可以是XDMS或者其它服务器。XDMC发送的获取根节点下全部list节点的个数的请求可以是一个GET操作,通常GET操作是XDMC向XDMS发送的索取数据的一种请求。该GET请求的具体语句如下GEThttp//www.example,com/resource-lists/users/sip:imsuser000liseetest,com/index//Resource-List/listHTTP/1.1Host:www.huawei.comX-3GPP-Intended-Identity“sip:imsuser0001iseetest.com"Content-Type:application/xcap_count+xmlContent-Length0其中,为了便于理解本发明实施例提供的方法,需要对该请求做说明该请求中"http://www.example,com/resource-lists/users/sip:
[email protected]/index//Resource-List/listHTTP/1.1”是服务器存储XML文档的地址,即URI,其中在实施例一中对URI也有说明,URI通常包括XCAP根(XCAPRoot)部分、文档选择(documentselector)部分和节点选择器(NodeSelector)。其中,在该请求中“www.example,com,,为XCAPRoot;“/resource-lists/users/sip:
[email protected]/index,,为文档选择部分;“/Resource-List/list”为节点选择(nodeselector)器选中的节点。“Host:www.huawei.com”为发送该请求的XDMC的地址。胃巾,“X-3GPP-Intended-Identity‘‘sip:imsuser0001iseetest.com"MTfe识这个请求是由哪个用户发出来的。即用户的唯一标识。“Content-Type:application/xcap-count+xml"标明该请求的类型,且标明该请求的目的是获取符合节点选择器选中的节点的数量信息和这些节点的位置信息。还需要说明的是,该请求类型的具体定义可以是本实施例中的application/xcap-count+xml,也可以定义为其它形式,此处不应该理解为对本发明实施例的限制。"Content-Length:0”表示这个GET消息中没有消息体,所以,长度为0。步骤A2服务器根据接收到的请求,获取根节点下的list节点的个数和位置信息;实际的例子中,步骤A2中可以仅获取该list节点的个数;当然,也可以在获取list节点个数,还获取各个list节点的位置信息。需要理解的是,客户端设备也可以发送获取该XML文档中list节点位置信息的请求,由XDMS执行获取位置信息。在此实施例中对步骤Al中的请求来做说明,不应该理解为对本发明实施例的限制。其中,步骤A2中根据接收到的请求,获取根节点下的名为list节点的个数和位置信息具体可以是A201,根据接收到的请求中的请求类型,即由"Content-Type:application/xcap-count+xml"判断出该请求是要获取数量信息;A202,解析请求中的Request-URI,即通过路径"http//www.example,com/resource-lists/users/sip:imsuser0001iseetest.com/index//Resource-List/listHTTP/1.1”获取到服务器中存储的XML文档;A203、再根据节点选择器(nodeselector),获取根节点Resource-List下的所有list节点;A204,根据获取的根节点Resource-List下的list节点,获取list节点的个数和位置信息,其中,前述的指定路径下存储的XML文档,即URI为"http//www.example,com/resource-lists/users/sip:imsuser0001iseetest.com/index/"的路径下存储的XML文档;服务器根据以上A201A204中对接收到的请求的解析,获取指定路径下存储的XML文档中的根节点Resource-List下的所有list节点的个数和位置信息,如下表<table>tableseeoriginaldocumentpage8</column></row><table>步骤A3服务器根据获取根节点下的list节点的个数和位置信息,发送响应消息给XDMC,该响应消息中至少包括获取的list节点的个数和位置信息。其中,该响应消息的具体格式如下HTTP/1.1200OKDate:Tue,15Jan200801:45:29GMTContent-Type:application/xcap_count+xmlEtag"aaaaaaaaaa"Content-Length6Connection:close2[2,4]其中,该响应消息中包含有发送该响应消息的时间为北京时间2008年1月15日、星期二、014529;发送的XDMS的地址;该响应消息响应类型为application/xcap-count+xml类型的响应消息;根据请求获取的数量信息和位置信息为2[2,4],其中,一种在响应中表示获取的数量信息和位置信息的格式如下元素个数统计值[第一个被统计元素位置,...,第η个被统计元素位置]该响应中还包括数量信息和位置信息的长度为6个字符;断开XDML与XDMS之间的连接。还需要说明的是,以上所例举的具体请求格式和响应消息格式为一种具体的可实现本发明的请求格式和响应消息格式,但不应理解为对本发明实施例的限制。还需要说明的是,全文中所说的XML文档的树结构中的各节点也可以成为元素,即节点list与元素list的定义相同。通过以上对本实施例提供的一种获取节点信息的方法的说明,该方法中XDMS根据接收到的获取节点信息的请求,获取节点的数量信息和位置信息,将获取的结果包含在响应消息中发送给XDMC,使得XDMS可以获取节点选择部分选中的节点的数量信息和位置信息。同时,该方法还避免了XDMS将整个XML文档发送给客户端设备,节约了网络带宽。实施例三本发明实施例提供一种服务器,参见图4所示,包括接收单元10和获取单元20。其中,接收单元10用于接收客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP,XMLConfigurationAccessProtocol)请求,所述节点信息包括节点的数量信息或者节点的位置信息;获取单元20,用于根据接收的请求,获取所述节点信息。另一个例子中,该服务器还可以包括发送单元30。发送单元30,用于根据获取单元20中获取到的节点信息,发送响应给客户端设备。另一个例子中,获取单元20可以包括获取文档单元201、获取节点单元202和获取信息单元203。其中,获取文档单元201,用于根据XCAP请求中的请求-统一资源定位符(Request-URI)获取XML文档;获取节点单元202,用于根据所述XCAP请求中的节点选择器(nodeSelector)获取XML文档中的节点;获取信息单元203,用于统计所述获取的节点的数量,或者,获取所述节点的位置信息。此获取单元20的工作流程可以参考前述A201A204的步骤,在此不赘述。为了更清楚地理解本发明实施例提供的一种服务器,还需要说明的是,服务器中的接收单元10接收到客户端设备发送的获取节点信息的请求,该请求可以是MIME类型的,在该请求中指定了需要进行操作的XML文档的存储地址和XML文档中需要进行统计的节点。获取单元20根据接收单元10中接收到的请求中指定的,需要进行操作的XML文档的存储地址和XML文档中需要进行统计的节点,获取到该XML文档中需要进行统计的节点的数量;该获取单元20还可以获取到每个被统计的节点的位置信息。获取单元20将获取到的节点的统计信息和位置信息发送给发送单元30,发送单元30发送包含节点的数量信息和位置信息的响应给客户端设备。上述服务器可以执行前述图1、图2所示的由服务器执行的方法,其工作流程在此不赘述。通过以上对本发明实施例提供的一种服务器的说明,该服务器根据接收到的获取节点信息的请求,获取节点的数量信息或者位置信息,将获取的结果包含在响应消息中发送给客户端设备,使得该服务器可以获取节点选择部分选中的节点的数量信息或者位置信息。该方法避免了服务器将整个XML文档发送给客户端设备,节约了网络带宽。实施例四本发明实施例提供了一种通信系统,参见图5所示,包括客户端设备50和服务器60。其中,客户端设备50,用于发送获取可扩充标记语言XML文档中节点信息的请求给服务器60;服务器60,用于接收客户端设备50发送的获取可扩充标记语言XML文档中节点信息的请求;根据接收到的请求,获取节点的数量信息或者位置信息。通过以上的说明,该通信系统实现了服务器中根据接收到的获取节点信息的请求,获取节点的数量信息或者位置信息,增加了服务器的功能。可选的,该通信系统中的服务器60还可以用于根据获取到的节点的数量信息或者位置信息,发送响应给客户端设备50;因此,客户端设备50还用于接收服务器60发送的响应,该响应中包括获取的节点的数量信息或者位置信息。一个具体例子中,本实施例中的服务器60可以是实施例三中提供的一种服务器。对于本实施例中有关服务器60的说明可以参考实施例三中的说明。图5所示的通信系统可以执行图1、图2所示的方法,其工作流程在此不赘述。通过以上对本实施例提供的一种通信系统的说明,该通信系统中的服务器根据接收到的获取节点信息的请求,获取节点的数量信息或者位置信息,将获取的结果包含在响应消息中发送给客户端设备,使得该服务器可以获取到节点的数量信息和位置信息。同时,采用该通信系统还避免了服务器将整个XML文档发送给客户端设备,节约了网络带宽。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括ROM、RAM、磁盘或光盘等。以上对本发明实施例所提供的一种获取节点信息的方法、服务器以及通信系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求一种获取节点信息的方法,其特征在于,包括接收客户端设备发送的获取可扩充标记语言(XML)文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;根据所述请求,获取所述节点信息。2.根据权利要求1所述的方法,其特征在于,所述获取所述节点信息之后,所述方法还包括根据所述获取的节点信息,发送响应给所述客户端设备。3.根据权利要求1所述的方法,其特征在于,所述根据所述请求,获取所述节点信息,进一步包括根据所述XCAP请求中的请求-统一资源定位符(Request-URI)获取XML文档;根据所述XCAP请求中的节点选择器(nodeSelector)获取所述XML文档中的节点;统计所述获取的节点的数量,或者,获取节点的位置信息。4.根据权利要求1所述的方法,其特征在于,所述获取节点信息的请求为多用途互联网络电子邮件格式的扩展MIME类型的请求。5.根据权利要求1所述的方法,其特征在于,所述获取节点信息的请求为一种GET请求。6.一种服务器,其特征在于,包括接收单元,用于接收客户端设备发送的获取可扩充标记语言(XML)文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;获取单元,用于根据所述请求,获取所述节点信息。7.根据权利要求6所述的服务器,其特征在于,所述获取单元进一步包括获取文档单元,用于根据所述XCAP请求中的请求-统一资源定位符(Request-URI)获取XML文档;获取节点单元,用于根据所述XCAP请求中的节点选择器(nodeSelector)获取XML文档中的节点;获取信息单元,用于统计所述获取的节点的数量,或者,获取所述节点的位置信息。8.根据权利要求6或7所述的服务器,其特征在于,所述服务器还包括发送单元,用于根据所述获取的节点信息,发送响应给所述客户端设备。9.一种通信系统,其特征在于,包括客户端设备,用于发送获取可扩充标记语言(XML)文档中节点信息的请求给服务器,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;服务器,用于接收所述客户端设备发送的获取可扩充标记语言XML文档中节点信息的请求,根据所述请求,获取所述节点信息。10.根据权利要求9所述的系统,其特征在于,所述服务器还用于根据所述获取的节点信息,发送响应给客户端设备;所述客户端设备还用于接收所述服务器发送的响应。全文摘要本发明公开了一种获取节点信息的方法,该方法包括接收客户端设备发送的获取可扩充标记语言(XML)文档中节点信息的请求,所述请求为可扩充标记语言配置访问协议(XCAP)请求,所述节点信息包括节点的数量信息或者节点的位置信息;根据所述请求,获取所述节点信息。本发明实施例还提供相应的服务器和通信系统。本发明技术方案由于XDMS根据接收到的获取节点信息的请求,获取节点的数量信息或者位置信息,将获取的结果包含在响应消息中发送给XDMC,使得XDMS可以获取节点信息,同时,该方法避免了XDMS将整个XML文档发送给客户端设备,节约了网络带宽。文档编号H04L12/18GK101808073SQ20091000694公开日2010年8月18日申请日期2009年2月13日优先权日2009年2月13日发明者沙晋申请人:华为技术有限公司