CN101197827B - 一种文档管理方法、系统以及相关设备 - Google Patents
一种文档管理方法、系统以及相关设备 Download PDFInfo
- Publication number
- CN101197827B CN101197827B CN200710032635XA CN200710032635A CN101197827B CN 101197827 B CN101197827 B CN 101197827B CN 200710032635X A CN200710032635X A CN 200710032635XA CN 200710032635 A CN200710032635 A CN 200710032635A CN 101197827 B CN101197827 B CN 101197827B
- Authority
- CN
- China
- Prior art keywords
- document management
- request
- message
- batches
- message body
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可扩展标记语言管理请求方法,客户端将需要对多个文档或单个文档下的多个节点的批量处理操作指示,通过一条文档管理批量处理请求发送给服务端,服务端在确定为文档管理批量处理请求时,获取相应的文档管理批量处理信息并执行相应的文档管理批量处理操作。本发明还提供了相应的可扩展标记语言文档管理方法、可扩展标记语言文档管理客户端、可扩展标记语言文档管理服务器以及可扩展标记语言文档管理系统。由于本发明方案的客户端只需要发送一条信令来进行多个文档或单个文档下的多个节点的批量处理操作,减小了操作时延,提高了操作效率,提高了数据操作的可靠性。
Description
技术领域
本发明涉及信息管理技术领域,具体涉及可扩展标记语言(XML,eXtensibleMarkup Markup Language)文档管理请求方法和相应的XML文档管理方法、XML文档管理系统以及XML文档管理客户端和文档管理服务器。
背景技术
XML是一套定义语义标记的规则,所定义的标记将文档分成许多部件并对这些部件加以标识,符合XML规则的文档即为XML文档。XML文档具有易于阅读和编写的优点,是网络应用中描述数据和交换数据的理想格式。
XML文档管理客户端(XDMC:XML Document Management Client)可使用文档管理请求,在OMA(Open MOBIE Alliance,开放移动联盟)标准中的XML配置访问协议(XCAP:XML Configuration Access Protocol)中定义的“GET”、“PUT”、“DELETE”等方法,实现对XML文档管理服务器(XDMS:XMLDocument Management Server)上以XML格式存储的应用配置数据进行查询、增加和修改、删除等操作。
在实际应用中,用户可通过上述三种请求操作实现对XDMS的单个文档或单个文档中的单个节点进行相应的查询、增加和修改、删除等操作。而当用户需要进行对XDMS的多个文档或单个文档中的多个节点进行相应的查询、增加和修改、删除等操作时,需在XDMC与XDMS之间多次反复调用相应请求操作完成对多个文档或单个文档下的多个节点的操作。
本发明的发明人在对现有技术的研究和实践过程中,发现目前执行对XDMS的多个文档或单个文档中的多个节点的文档管理处理操作方法具有如下缺点:1、XDMC需要依次向XDMS发送多条信令,使得多个文档或单个文档中的多个节点的文档管理处理操作过程的时延较大,效率较低;2、对于一些需要一次执行的文档管理处理操作,多次信令调用可能会出现部分成功和部分失败的情况,导致文档管理处理操作出现异常。
发明内容
本发明实施例提供了一种可扩展标记语言文档管理方法,包括:接收文档管理请求;确定所接收到的文档管理请求为文档管理批量处理请求;解析所述文档管理批量处理请求的消息头,以确定所述文档管理批量处理请求的消息体格式;当所述消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;当所述消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;当所述消息体格式识别单元所识别的消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
本发明实施例还提供了一种可扩展标记语言文档管理服务器,包括:请求接收单元,用于接收文档管理请求;请求解析单元,用于确定所述文档管理请求为文档管理批量处理请求,并从所述文档管理批量处理请求中获取相应的文档管理批量处理信息;该请求解析单元包括:消息体格式识别单元,用于解析所述文档管理批量处理请求的消息头,以识别所述文档管理批量处理请求的消息体格式;批量处理信息获取单元,用于根据所述消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量处理信息;该批量处理信息获取单元包括:批量增加/修改处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;批量查询处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的 消息体,获取相应的文档管理批量查询处理信息;批量删除处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;批量移动处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;所述可扩展标记语言文档管理服务器还包括:请求处理单元,用于根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
以及一种可扩展标记语言文档管理系统,包括客户端和服务器,所述客户端包括:用户操作单元,用于接收用户的批量处理请求指示;请求生成单元,用于根据所述文档管理批量处理请求指示生成文档管理批量处理请求;请求发送单元,用于将所述文档管理批量处理请求发送给服务器;所述服务器包括:请求接收单元,用于接收文档管理请求;请求解析单元,用于确定所述文档管理请求为文档管理批量处理请求,并从所述文档管理批量处理请求中获取相应的文档管理批量处理信息;该请求解析单元包括:消息体格式识别单元,用于解析所述文档管理批量处理请求的消息头,以识别所述文档管理批量处理请求的消息体格式;批量处理信息获取单元,用于根据所述消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量处理信息;该批量处理信息获取单元包括:批量增加/修改处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;批量查询处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;批量删除处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;批量移动处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文 档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;所述服务器还包括:请求处理单元,用于根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
上述技术方案中采用客户端将需要对多个文档或单个文档下的多个节点的批量处理操作指示,通过一条文档管理批量处理请求发送给服务端,服务端在确定为文档管理批量处理请求时,获取相应的文档管理批量处理信息并执行相应的文档管理批量处理操作;由于客户端只需要发送一条信令来进行多个文档或单个文档下的多个节点的批量处理操作,减小了操作时延,提高了操作效率,提高了数据操作的可靠性。
附图说明
图1是本发明实施例的XML文档管理请求方法流程示意图;
图2是本发明实施例的XML文档管理方法流程示意图;
图3是本发明实施例的XML文档管理批量增加/修改(PUTS)处理方法流程示意图;
图4是本发明实施例的XML文档管理批量查询(GETS)处理方法流程示意图;
图5是本发明实施例的XML文档管理批量删除(DELETES)处理方法流程示意图;
图6是本发明实施例的XML文档管理批量移动(MOVE)处理方法流程示意图;
图7是本发明实施例的XML文档管理系统的组成示意图;
图8是本发明实施例的XML文档管理客户端的结构示意图;
图9是本发明实施例的XML文档管理服务器的结构示意图。
具体实施方式
本发明实施例提供了一种文档管理请求方法,客户端向服务器发送对多个文档或单个文档下的多个节点进行处理操作的文档管理批量处理请求,服务器在确定为文档管理批量处理请求时,进行相应文档管理批量处理操作。本发明 实施例子还提供了相应的XML文档管理方法、XML文档管理系统、XML文档管理客户端和XML文档管理服务器。下面分别进行详细描述。
参考图1,是本发明实施例的XML文档管理请求方法流程示意图,包括步骤:
A1、接收用户的文档管理批量处理请求指示。
此处,所述文档管理批量处理请求为文档管理批量增加/修改请求指示,或为文档管理批量查询请求指示,或为文档管理批量删除请求指示,或为文档管理批量移动请求指示。对应于现有的XML配置访问协议中定义的PUT(增加/修改)方法,所述文档管理批量增加/修改请求指示是指用户需要对多个文档或单个文档下的多个节点同时进行增加或删除的操作需求,XDMC可通过提供给用户的操作界面获取用户的批量增加/修改请求指示。对应于现有的XML配置访问协议中定义的GET(查询)方法,所述文档管理批量查询请求指示是指用户需要对多个文档或单个文档下的多个节点同时进行查询的操作需求,XDMC可通过提供给用户的操作界面获取用户的批量查询请求指示。对应于现有的XML配置访问协议中定义的DELETE(删除)方法,所述文档管理批量删除请求指示是指用户需要对多个文档或单个文档下的多个节点同时进行删除操作需求,XDMC可通过提供给用户的操作界面获取用户的批量增加/修改请求指示。在现有的XML文档管理方法中,实现单个节点的移动是通过PUT和DELETE两条信令消息实现的,本发明实施例所述的文档管理批量移动请求指示是指用户需要对多个文档或单个文档下的多个节点同时进行移动的操作需求,XDMC可通过提供给用户的操作界面获取用户的批量移动请求指示。
A2、根据所述文档管理批量处理请求指示生成文档管理批量处理请求。
此处,具体实现时,考虑到与现有的XML配置访问协议中定义‘PUT’、‘GET’以及‘DELETE’信令方法的结构相兼容,以及符合协议标准的定义习惯,本发明实施例所述的文档管理批量处理请求主要由以下几部分组成:
1、请求行
请求行包括:Method(方法名)、Request-URI、以及HTTP-Version(HTTP协议版本号)。
1)Method(方法名)描述与现有技术类似,本发明实施例中定义文档管理批量增加/修改处理请求的方法名为PUTS,文档管理批量查询处理请求的方法 名为GETS,文档管理批量删除处理请求的方法名为DELETES,文档管理批量移动处理请求的方法名为MOVE。显然以上方法名的定义主要是为了区别与现有的方法名以及具备一定的可读性,本领域技术人员应该明白,选用其他字符也是可以达到相同的目的的。
2)在现有技术中,标准XCAP信令Request-URI格式为:XCAP Root+AUID+“users”+XUI+filename。例如:http://xcap.example.com/org.openmobilealliance.user-profile/users/sip:zhangshan@huawei.com/index.xml,其中:XCAP Root为http://xcap.example.com/,AUID是org.openmobilealliance.user-profile,“users”是常量,表示接下来是用户信息(即XUI),XUI是sip:user@huawei.com(sip:表示XUI是tel uri,huawei.com是XDMS归属域名),文件名为index.xml。
为支持批量处理,本发明要求用一个批处理标记“batch”替代文件名(也可以用其它字符串标记)。如果需要同时操作多个业务,Request-URI中的AUID换成一个不表示任何具体业务的特定字符串,如“00”,把具体要操作的业务放到后面以“<xs:schema”开始的消息体中。若当前只操作一种业务,则可以在Request-URI中存放真实的业务标识。
基于上述机制,XCAP批处理请求行的Request-URI可以表示为:
http://xcap.example.com/00/users/sip:zhangshan@huawei.com/batch。
2、请求消息头
名称 | 类型 | 说明 |
Content-Type | media-type | 指定消息体的MIME类型。 |
Content-Length | 1*DIGIT | 消息体的长度, 参考[RFC2616]section 14.13。 |
每种XCAP批量处理请求的消息体格式不同,Content-Type也就不同。本发明约定几种批处理请求的Content-Type定义如下:
GETS:application/gets+xml(对应文档管理批量查询);
PUTS:application/puts+xml(对应文档管理批量增加/修改);
DELETES:application/deletes+xml(对应文档管理删除查询);
MOVE:application/move+xml(对应文档管理批量移动);
以上Content-Type也可以定义成其它值,但需区别于OMA已经定义的类型。
3、请求消息体
每种批量处理请求信令的请求消息体格式是不同的,后文对此将有相应描述。
批处理请求消息的命名空间(NameSpace和targetNamespace)在消息体起始部分描述。例如:
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:puts″ targetNamespace=″com:huawei:puts″
elementFormDefault=″qualified″>,将PUTS请求消息体的命名空间(NameSpace)为″com:huawei:puts″。
A3、将所述文档管理批量处理请求发送给服务器。
此处,XDMC可参考发送现有的其他类型的文档管理请求的方式将所述文档管理批量处理请求发送给XDMS。
通常XDMC会收到XDMS对文档管理批量处理请求的处理结果应答消息,在后续实施描述中,将会说明XDMS对文档管理批量处理请求的处理结果应答消息对应于不同类型的文档管理批量处理请求文档管理批量处理消息的消息格式是不同的,后文将在具体类型的文档管理批量处理的实施例描述中对XDMC对文档管理批量处理消息的接收以及处理过程进行相应描述。
参考图2,是本发明实施例的XML文档管理方法流程示意图,包括步骤:
B1、接收来自客户端的文档管理请求。
此步骤可参考现有文档管理请求的接收方法进行。
B2、确定所接收到的文档管理请求为文档管理批量处理请求。
此处,XDMS可根据与XDMC共同遵守的约定,通过解析收到的文档管理请求来确定其类型。例如文档管理批量处理请求采用新定义的方法名来标识,对应各种类型的文档管理批量处理请求定义有相应的方法名来标识。
B3、从所述文档管理批量处理信息中获取相应的文档管理批量处理信息。
此处,在确定收到的文档管理请求的类型为文档管理批量请求后,XDMS首先解析所述文档管理请求的消息头,通过识别Content-Type类型(每种类型的文档管理批量处理请求对应有唯一的Content-Type类型标识),以及根据XDMS与XDMC约定的对应该Content-Type类型的消息体格式解码所述文档管 理批量处理请求的消息体,获取相应的文档管理批量处理信息。
本发明实施例中不同类型的文档管理批量处理请求的消息体格式是不同的,对应具体类型的文档管理批量处理请求,XDMC基于与XDMS约定的消息体格式编码生成相应的文档管理批量处理请求,同时,XDMC通过消息头中的Content-Type类型标识消息体格式类型,XDMS接收到文档管理批量处理请求后,解析其消息头中的Content-Type类型标识,获取标识消息体格式类型,进而根据对应该消息格式类型的消息体格式解码所述文档管理批量处理请求的消息体。
B4、根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
B5、向客户端返回文档管理批量处理应答消息。
此处,基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息,并向文档管理客户端发送所述文档管理批量处理应答消息。
本发明实施例所述的文档管理批量处理应答消息主要由以下几部分组成:
1、应答状态行
2、应答消息头
名称 | 类型 | 说明 | 备注 |
Etag | entity-tag | 用于比较 同一资源的不 同实体 | 参考[RFC2616]section 14.19,14.24,14.26,14.44[XCAP]section 7.10,8.5 |
Content-Type | media-type | 指定消息 |
体的MIME类 型 | |||
Content-Length | 1*DIGIT | 消息体的 长度 | 参考 [RFC2616]section 14.13 |
本发明实施例描述的四种批处理信令的应答消息体Content-Type定义如下:
GETS:application/gets-result+xml
PUTS:application/puts-result+xml
DELETES:NA
MOVE:NA
以上MIME类型也可以约定其它标记。
Content-Length用“(...)”描述。
3、应答消息体
根据请求返回相应的内容,每种批处理信令的应答消息体格式在后文将有相应描述。
上述方法实施例中采用客户端将需要对多个文档或单个文档下的多个节点的批量处理操作指示,通过一条文档管理批量处理请求发送给服务端,服务端在确定为文档管理批量处理请求时,获取相应的文档管理批量处理信息并执行相应的文档管理批量处理操作;由于客户端只需要发送一条信令来进行多个文档或单个文档下的多个节点的批量处理操作,减小了操作时延,提高了操作效率,提高了数据操作的可靠性。
参考图3,是本发明实施例的XML文档管理批量增加/修改(PUTS)处理方法流程示意图,下面对其进行详细描述。
步骤401,XDMC向XDMS发送文档管理批量增加/修改处理请求。
所述文档管理批量增加/修改处理请求信令格式如下:
1、请求行
名称 | 类型 | 说明 |
Method | token | XCAP请求方法,取值PUTS |
Request-URI | HTTP URI | 指定请求操作的XCAP资源。 |
HTTP-Version | HTTP版本,取值HTTP/1.1 |
PUTS信令请求行如下:
PUTS http://xcap.example.com/00/users/sip:XXX@huawei.com/batchHTTP/1.1
其中,“batch”表示批量增加或修改文档,“00”是auid替代符,表示操作的具体业务在消息中定义,XXX表示发起请求的用户号码,“sip:”表示这是一个sip uri,“@huawei.com”为用户XXX归属的XDMS域名。
2、请求消息头
PUTS信令请求消息头如下:
Content-Type:application/puts+xml;
Content-Length:(...)
application/puts+xml是PUTS请求的消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、请求消息体
PUTS请求消息体格式:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:puts″ targetNamespace=″com:huawei:puts″
elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element name=″auid″ type=″auidType″
maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name=″auidType″>
<xs:sequence>
<xs:element name=″file″type=″fileType″maxOccurs=unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
<xs:complexType name=″fileType″>
<xs:sequence>
<xs:element name=″node″type=″nodetype″minOccurs=″0″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:strng″use=″required″/>
<xs:attribute name=″ctype″type=″xs:string″use=″required″/>
<xs:attribute name=″etag″type=″xs:string″use=″optional″/>
</xs:complexType>
<xs:complexType name=″nodetype″>
<xs:sequence>
<xs:any namespace=″##any″ processContents=″lax″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″uri″type=″xs:string″use=″require d″/>
</xs:complexType>
</xs:schema>
说明:
PUTS请求消息体是针对PUTS请求消息的批量处理特性定义的;
″com:huawei:puts″为PUTS请求消息体的命名空间(namespace),可以是其它约定值;
PUTS请求消息体分list、auid、file、node四级,可以是其它约定属性名:list为根节点,auid表示要处理的业务,file表示要处理的文档,node表示要处理的节点;
根据schema定义,可以对多个业务(用AUID表示)分别执行新增或修改多个文档的操作,也可以对同一篇文档执行增加或修改多个节点的操作;
对于同一请求的增加或修改操作信息,可以也必须在一个list标签中表达;
auidType:name为auid的名字;
fileType:name为文档名,ctype为文档的cType类型,etag为文档版本号。 对file中ctype属性的特别约定:ctype=″application/xcap-el+xml″表示修改节点元素,ctype=″application/xcap-att+xml″表示修改节点属性,也可以约定其它值。
nodetype:uri属性表示要插入或替换的结点在xml文档中的路径,uri值采用Xpath语法。
PUTS批量处理请求消息的一个示例如下:
PUTS请求消息
PUTS http://xcap.example.com/00/users/sip:13500012345@huawei.com/batchHTTP/1.1
Content-Type:″application/puts+xml″;
Content-Length:(...)
<list xmlns=″com:huawei:puts″>
<auid name=″ims-pim″>
<file name=″index.xml″ctype=″application/ims-pim+xml″>
<ims-pim xmlns=″com:huawei:ims-pim″>
<display-name>张三</display-name>
<tel>58012700</tel>
</ims-pim>
</file>
</auid>
<auid name=″resource-lists″>
<file name=″friend.xml″ctype=″application/xcap-el+xml″etag=″abbbbcc″>
<node uri=″/list/entry[@id=%22m_b6ZCx1%22]″>
<entry id=″m_b6ZCx1″xmlns=″com:huawei:resource-lists″>
<display-name>xiaoxiong</display-name>
</entry>
</node>
<node uri=″/list/entry[@uri=%2213509090999%22]″>
<entry uri=″13509090999″
xmlns=″com:huawei:resource-lists″>
<display-name>xiaomao</display-name>
</entry>
</node>
<node uri=″/list/entry[@id=%22m_b6ZA8j%22]″>
<entry id=″m_b6ZA8j″ uri=″13509090999″
xmlns=″com:huawei:resource-lists″>
<display-name>xiaoqiang</display-name>
</entry>
</node>
</file>
</auid>
</list>
说明:
此例表示用户13500012345请求修改ims-pim(个人信息的auid)的文档index.xml的同时,修改resource-lists(分组列表的auid)的文档friend.xml;
ims-pim的ctype为″application/ims-pim+xml″,这有别于消息体的″application/puts+xml″;
ims-pim的namespace为″com:huawei:ims-pim″,也有别于消息体的″com:huawei:puts″;
对index.xml的修改,未指定版本号etag,说明缺省有权限;
friend.xml的ctype为″application/xcap-el+xml″,表示修改节点;
friend.xml的etag为“abbbbcc”,表示服务端要做版本控制,版本号不同则不允许修改节点;
节点路径在通过node标签中的uri属性描述;
node下的每对entry描述的是resource-lists中的entry节点。
步骤402,对PUTS批量处理请求按照PUTS请求消息格式进行解码,获取PUTS批量处理信息。
XDMS解析PUTS批量处理请求的消息头,获取Content-Type类型为application/puts+xml,进而根据对应的PUTS消息体格式解码PUTS批量处理请求消息体,获取PUTS批量处理信息。
步骤s403,根据PUTS批量处理信息,执行PUTS批量处理操作,完成相应的文档信息批量增加或修改。
步骤s404,对PUTS批量处理的结果按照PUTS应答消息格式进行编码。
PUTS应答消息组成如下:
1、应答状态行
格式:HTTP-Version+Status-Code+Reason-Phrase
HTTP版本,HTTP-Version:HTTP/1.1
状态码,Status-Code:200或500
Reason-Phrase:Status-Code取200时为OK,取500时为NOK。
2、应答消息头
Content-Type:application/puts-result+xml
Content-Length:(...)
application/puts-result+xml是PUTS应答消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、应答消息体
PUTS应答消息体格式如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:puts-result″ xmlns:ns1=″com:huawei:puts-result″
targetNamespace=″com:huawei:puts-result″elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element name=″auid″type=″auidType″
maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name=″auidType″>
<xs:sequence>
<xs:element name=″file″type=″fileType″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
<xs:complexType name=″fileType″>
<xs:sequence>
<xs:element name=″result″type=″xs:string″/>
<xs:element name=″etag″type=″xs:string″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:schema>
说明:
PUTS应答消息体是针对PUTS应答消息的批处理特性定义的,是对OMAXCAP的补充;
“com:huawei:puts-resu/t”为PUTS应答消息的命名空间(NameSpace),可以是其它约定值;
PUTS应答消息体包含list、auid和file三级,list为根节点,auid描述业务信息,file描述文档信息,也可以是其它约定元素名;
auid节点:name为auid名字,ctype为auid对应的scnema;
file节点:name为文档名,result为每个文档操作的返回码(参考OMA XCAPPUT信令中对返回码的定义),etag为文档新的版本号;
创建文档或节点成功result取201,修改文档或节点成功result取200。
PUTS批量处理应答消息的一个示例如下:
HTTP/1.1200 OK
Content-Type:″application/puts-result+xml″;
Content-Length:(...)
<list xmlns=″com:huawei:puts-result″>
<auid name=″ims-pim″>
<file name=″index.xml″>
<result>201</result>
<etag>reeeedd</etag>
</file>
</auid>
<auid name=″resource-lists″>
<file name=″friend.xml″>
<result>200</result>
<etag>reeeedd</etag>
</file>
</auid>
</list>
从上例可以看出,创建和修改返回码(result)不同,在这点上遵从OMA定义。
步骤s405,向客户端返回应答消息。
参考图4,是本发明实施例的XML文档管理批量查询(GETS)处理方法流程示意图,下面对其进行详细描述。
步骤s501,发送GETS批量处理请求。
所述文档管理批量查询处理请求信令格式如下:
1、请求行
名称 | 类型 | 说明 |
Method | token | XCAP请求方法,取值GETS |
Request-URI | HTTP URI | 指定请求操作的XCAP资源。 |
HTTP-Version | HTTP版本, 取值HTTP/1.1 |
GETS信令请求行如下:
GETS http://xcap.example.com/00/users/sip:XXX@huawei.com/batchHTTP/1.1
其中,“batch”表示批量获取文档,“00”是auid替代符,表示操作的具体业务在消息中定义,XXX表示发起请求的用户号码,“sip:”表示这是一个sip uri,“@huawei.com”为用户XXX归属的XDMS域名。
2、请求消息头
GETS信令请求消息头如下:
Content-type:application/gets+xml
Content-Length:(...)
application/gets+xml是GETS请求的消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、请求消息体
GETS请求消息体格式:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:gets″ targetNamespace=″com:huawei:gets″
elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element name=″auid″type=″auidType″
maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name=″fileType″>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
<xs:complexType name=″auidType″>
<xs:sequence>
<xs:element name=″file″type=″fileType″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:schema>
说明:
GETS请求消息体是针对GETS请求消息的批处理特性定义的,是对OMAXCAP的补充;
″com:huawei:gets″为GETS请求消息体的命名空间(namespace),可以是其它约定值;
GETS请求消息体分list、auid、file三级,可用来描述一次性获取多个业务的多个文档。其中,list为根节点,auid表示要处理的业务,file表示要处理的文档;
auidType中name为auid的名字;
fileType中name为文档名,可以是通配符,如用“*”表示获取所有文档;
auid下既指定具体文档名又指定文档名为“*”时,则取该用户auid下的所有文档。
GETS批量处理请求消息的一个示例如下:
GETS请求消息
GETS http://xcap.example.com/00/users/sip:13500012345@huawei.com/batchHTTP/1.1
Content-type:application/gets+xml
Content-Length:(...)
<list xmlns=″com:huawei:gets″>
<auid name=″ims-pim″>
<file name=″index.xml″/>
</auid>
<auid name=″resource-lists″>
<file name=″file_001.xml″/>
<file name=″*″/>
</auid>
</list>
上例表示用户13500012345请求获取ims-pim下的index.xml和resource-lists下所有文档。
步骤s502,对GETS批量处理请求按照GETS请求消息格式进行解码,获取GETS批量处理信息。
XDMS解析GETS批量处理请求的消息头,获取Content-Type类型为application/gets+xml,进而根据对应的GETS消息体格式解码GETS批量处理请求消息体,获取GETS批量处理信息。
步骤s503,根据GETS批量处理信息,执行GETS批量处理操作,完成相应的文档信息批量查询。
步骤s504,对GETS批量处理的结果按照GETS应答消息格式进行编码。
GETS应答消息组成如下:
1、应答状态行
格式:HTTP-Version+Status-Code+Reason-Phrase
HTTP版本,HTTP-Version:HTTP/1.1
状态码,Status-Code:200或500
Reason-Phrase:Status-Code取200时为OK,取500时为NOK。
2、应答消息头
Content-Type:application/gets-result+xml
Content-Length:(...)
application/gets-result+xml是GETS应答消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、应答消息体
GETS应答消息体格式:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:gets-result″ targetNamespace=″com:huawei:gets-result″
elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element name=″auid″ type=″auidType″
maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=″file″>
<xs:complexType>
<xs:sequence>
<xs:any namespace=″##other″ processContents=″lax″
minOccurs=″0″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
<xs:attribute name=″etag″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:element>
<xs:complexType name=″auidType″>
<xs:sequence>
<xs:element ref=″file″maxOccurs=″unbounde d″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
<xs:attribute name=″ctype″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:schema>
说明:
GETS应答消息体是针对GETS应答消息的批处理特性定义的,是对OMAXCAP的补充;
″com:huawei:gets-result″为GETS应答消息体命名空间(NameSpace),可以是其它约定值;
GETS应答消息体消息体分list、auid和file三级,list为根节点,auid描述业务,file描述文档,也可以是其它约定名称;
auid节点:name为auid名字,ctype为auid对应的schema(即消息体格式);
file节点:name为文档名,etag为文档版本号。
GETS批量处理应答消息的一个示例如下:
GETS应答消息
HTTP/1.1200 OK
Content-Type:″application/gets-result+xml″
Content-Length:(...)
<list xmlns=″com:huawei:gets-result″>
<auid name=″ims-pim″ctype=″application/ims-pim+xml″>
<file name=″index.xml″etag=″dffffgg″>
<ims-pim xmlns=″com:huawei:ims-pim″>
<name>bob</name>
<tel>58012700</tel>
</ims-pim>
</file>
</auid>
<auid name=″resource-lists″ctype=″application/resource-lists+xml″>
<file name=″file_001.xml″etag=″reeeedd″>
<contact-profiles xmlns=″com:huawei:resource-lists″>
<name>tom</name>
<tel>58012701</tel>
</contact-profile>
</file>
<file name=″file_002.xml″etag=″rccccff″>
<contact-profiles xmlns=″com:huawei:resource-lists″>
<name>bill</name>
<tel>58012702</tel>
</contact-profiles>
</file>
</auid>
</list>
此例返回“ims-pim”中的index.xml,以及“resource-lists”中的仅有的两篇文档。
步骤s505,向客户端返回应答消息。
参考图5,是本发明实施例的XML文档管理批量删除(DELETES)处理方法流程示意图,下面对其进行详细描述。
步骤s601,发送DELETES批量处理请求。
所述文档管理批量删除处理请求信令格式如下:
1、请求行
名称 | 类型 | 说明 |
Method | token | XCAP请求方法,取值 DELETES |
Request-URI | HTTP URI | 指定请求操作的XCAP资源。 |
HTTP-Version | HTTP版本,取值HTTP/1.1 |
DELETES信令请求行如下:
DELETES http://xcap.example.com/00/users/sip:XXX@huawei.com/batchHTTP/1.1
其中,“batch”表示批量删除文档或节点,“00”是auid替代符,表示操作的具体业务在消息中定义,XXX表示发起请求的用户号码,“sip:”表示这是一个sip uri,“@huawei.com”为用户XXX归属的XDMS域名。
2、请求消息头
DELETES信令请求消息头如下:
Content-Type:application/deletes+xml;
Content-Length:(...)
application/deletes+xml是DELETES请求的消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、请求消息体
DELETES请求消息体格式:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:deletes″ targetNamespace=″com:huawei:deletes″
elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element name=″auid″ type=″auidType″
maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name=″fileType″>
<xs:sequence>
<xs:element name=″node″ type=″xs:string″ minOccurs=″0″
maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
<xs:attribute name=″etag″type=″xs:string″use=″optional″/>
</xs:complexType>
<xs:complexType name=″auidType″>
<xs:sequence>
<xs:element name=″file″type=″fileType″maxOccurs=unbounded″/>
</xs:sequence>
<xs:attribute name=″name″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:schema>
说明:
DELETES请求消息体是针对DELETES请求消息的批处理特性定义的。
″com:huawei:deletes″为DELETES请求消息的命名空间(NameSpace),可以是其它约定值;
DELETES请求消息体分list、auid、file、node四级,list为根节点,auid为业务标识,file表示删除的文档,node表示删除的节点;
按schema定义,可以同时删除多个业务的文档,也可以同时删除某业务下的多个文档或所有文档(如用通配符“*”作为文档名),或者删除一篇文档的多个节点;
auidType:name为auid的名字;
fileType:name为文档名,etag为文档版本号;
node:节点的XPATH路径。
DELETES批量处理请求消息的一个示例如下:
DELETES请求消息
DELETES
http://xcap.example.com/00/users/sip:13500012345@huawei.com/batch HTTP/1.1
Content-type:application/deletes+xml
Content-Length:(...)
<list xmlns=″com:huawei:deletes″>
<auid name=″resource-lists″/>
<file name=″file_001.xml″etag=″eddddkk″>
<node>/resource-lists/list[@name=″friends″]</node>
<node>/resource-lists/list[@name=″class″]</node>
</file>
<file name=″file_002.xml″etag=″abbbbcc″/>
</auid>
<auid name=″test″><file name=″file_003″etag=″addddee″/></auid>
<auid name=″test2″><file name=″*″/></auid>
</list>
说明:
此例表示用户13500012345请求执行文档批量删除操作;
在resource-lists中,删除文档file_002.xml和file_001.xml的两个节点,节点的XPATH路径分别为/resource-lists/list[@name=″friends″]和
/resource-lists/list[@name=″class″];
在test中,删除文档file_003;
在test2中,删除所有文档。
步骤s602,对DELETES批量处理请求按照DELETES请求消息格式进行解码,获取DELETES批量处理信息。
XDMS解析DELETES批量处理请求的消息头,获取Content-Type类型为application/deletes+xml,进而根据对应的DELETES消息体格式解码DELETES批量处理请求消息体,获取DELETES批量处理信息。
步骤s603,根据DELETES批量处理信息,执行DELETES批量处理操作,
完成相应的文档信息批量删除。
步骤s604,对DELETES批量处理的结果按照DELETES应答消息格式进行编码。
DELETES应答消息组成如下:
1、应答状态行
格式:HTTP-Version+Status-Code+Reason-Phrase
HTTP版本,HTTP-Version:HTTP/1.1
状态码,Status-Code:200或500
Reason-Phrase:Status-Code取200时为OK,取500时为NOK。
2、应答消息头
Etag:“reeeedd”
Content-Length:(...)
DELETES应答消息无消息体,因此不需要定义Content-Type。
DELETES应答消息示例如下:
DELETES应答消息
HTTP/1.1200OK
Etag:“reeeedd”
Content-Length:0
此应答消息表示批量删除成功,存在节点删除的文档新版本号为reeeedd。
步骤s605,向客户端返回应答消息
参考图6,是本发明实施例的XML文档管理批量移动(MOVE)处理方法流程示意图,下面对其进行详细描述。
步骤s701,发送MOVE批量处理请求。
所述文档管理批量移动处理请求信令格式如下:
1、请求行
名称 | 类型 | 说明 |
Method | token | XCAP请求方法,取值MOVE |
Request-URI | HTTP URI | 指定请求操作的XCAP资源。 |
HTTP-Version | HTTP版本,取值HTTP/1.1 |
MOVE信令请求行如下:
MOVE
http://xcap.example.com/resource-lists/users/sip:XXX@huawei.com/batch HTTP/1.1
其中,“batch”表示批量移动文档中的节点,resource-lists表示操作的具体业务,XXX表示发起请求的用户号码,“sip:”表示这是一个sip uri,“@huawei.com”为用户XXX归属的XDMS域名。
2、请求消息头
MOVE信令请求消息头如下:
Content-Type:application/move+xml
Content-Length:(...)
application/move+xml是MOVE请求的消息体格式。可以是其它标记,但须有别于OMA其它定义。
3、请求消息体
MOVE请求消息体格式:
<?xml version=″1.0″encoding=″UTF-8″?>
<xs:schema xmlns:xs=″http://www.w3.org/2001/XMLSchema″
xmlns=″com:huawei:move″ targetNamespace=″com:huawei:move″
elementFormDefault=″qualified″>
<xs:element name=″list″>
<xs:complexType>
<xs:sequence>
<xs:element ref=″node″maxOccurs=″unbounded″/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name=″node″>
<xs:complexType>
<xs:sequence>
<xs:element name=″from″type=″fromType″/>
<xs:element name=″to″type=″toType″/>
</xs:sequence>
<xs:attribute name=″seq″type=″xs:string″use=″required″/>
</xs:complexType>
</xs:element>
<xs:complexType name=″fromType″>
<xs:attribute name=″filename″type=″xs:string″use=″required″/>
<xs:attribute name=″etag″type=″xs:string″use=″optional″/>
</xs:complexType>
<xs:complexType name=″toType″>
<xs:attribute name=″filename″type=″xs:string″use=″required″/>
<xs:attribute name=″etag″type=″xs:string″use=″optional″/>
</xs:complexType>
</xs:schema>
说明:
MOVE请求消息体是针对MOVE请求消息的批处理特性定义的,是对OMAXCAP的补充;
″com:huawei:MOVE″是MOVE请求消息的命名空间(NameSpace),可以是其它约定值;
MOVE请求消息体由list和1~N个node节点构成,每个node包含序号(seq)、源路径(在from标签中,遵从XPATH语法)、目的路径(在to标签中,遵从XPATH语法),可以是其它约定名称;
from:filename为源文档名,etag为源文档版本号;
to:filename为目的文档名,etag为目的文档版本号;
MOVE信令可用于在不同文档之间移动节点,也可以在同一文档内部移动节点。
MOVE批量处理请求消息的一个示例如下:
MOVE请求消息
MOVE
http://xcap.example.com/resource-lists/users/sip:13500012345@huawei.com/batchHTTP/1.1
Content-Type:application/move+xml
Content-Length:(...)
<list xmlns=″com:huawei:move″>
<node seq=″1″>
<from filename=″list1.xml″etag=″abbbbcc″>
/resource-lists/list[@name=″friends″]/entry[@uri=″sip:petri@example.com″]
</from>
<to filename=″list2.xml″etag=″abbbbdd″>
/resource-lists/list[@name=″colleague″]/entry[@uri=″sip:petri@example.com″]
</to>
</node>
</list>
此例表示用户13500012345请求对“resource-lists”业务执行文档间节点移动操作,将list1.xml中分组名为“friends”的节点(uri=″sip:petri@example.com″)移动到文档list2.xml的“colleague”分组下。
步骤s702,对MOVE批量处理请求按照MOVE请求消息格式进行解码,获取MOVE批量处理信息。
XDMS解析MOVE批量处理请求的消息头,获取Content-Type类型为application/move+xml,进而根据对应的MOVE消息体格式解码MOVE批量处理请求消息体,获取MOVE批量处理信息。
步骤s703,根据MOVE批量处理信息,执行MOVE批量处理操作,完成相应的文档信息批量移动。
步骤s704,对MOVE批量处理的结果按照MOVE应答消息格式进行编码。
MOVE应答消息组成如下:
1、应答状态行
格式:HTTP-Version+Status-Code+Reason-Phrase
HTTP版本,HTTP-Version:HTTP/1.1
状态码,Status-Code:200或500
Reason-Phrase:Status-Code取200时为OK,取500时为NOK。
2、应答消息头
Etag:“reeeedd”
Content-Length:(...)
MOVE应答消息无消息体,因此不需要定义Content-Type。
MOVE应答消息的一个示例如下:
MOVE应答消息
HTTP/1.1200OK
Etag:“reeeedd”
Content-Length:0
步骤s705,向客户端返回应答消息。
下面对与上述方法实施例相应的XML文档管理系统、XML文档管理客户端以及XML文档管理服务器进行详细说明。
参考图7,是本发明实施例的XML文档管理系统的组成示意图,该XML文档管理系统可执行上述方法实施例中的XML文档管理请求方法以及XML文档管理方法,具体实施时,主要包括:
XML文档管理客户端1,用于根据用户输入的文档管理批量处理请求指示,生成文档管理批量处理请求,并向服务器2发送所述文档管理批量处理请求;在接收到来自服务器2的文档管理批量处理应答消息时,读取所述批量处理应答消息中携带的状态码,并根据所述批量处理应答消息的消息头识别是否存在消息体,若存在,则根据相应的批量处理应答消息体格式对消息体进行解码,获取文档管理批量处理结果信息;
XML文档管理服务器2,用于接收文档管理请求,确定所述文档管理请求为文档管理批量处理请求,从所述文档管理批量处理请求中获取相应的文档管理批量处理信息,并根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作;基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息,并向文档管理客户端1发送所述文档管理批量处理应答消息。
参考图8,是本发明实施例的XML文档管理客户端的结构示意图,该客户端可用于执行上述方法实施例中的XML文档管理请求方法,主要包括:
用户操作单元11,用于接收用户的批量处理请求指示;
请求生成单元12,用于根据所述文档管理批量处理请求指示生成文档管理 批量处理请求;
请求发送单元13,用于将所述文档管理批量处理请求发送给服务器;
应答消息接收单元14,用于接收来自服务器的批量处理应答消息;
应答消息处理单元15,用于读取所述批量处理应答消息中携带的状态码,并根据所述批量处理应答消息的消息头识别是否存在消息体,若存在,则根据相应的批量处理应答消息体格式对消息体进行解码,获取文档管理批量处理结果信息。
参考图9是本发明实施例的XML文档管理服务器的结构示意图,该服务器主要用于执行上述方法实施例中的XML文档管理方法,主要包括:
请求接收单元21,用于接收文档管理请求;
请求解析单元22,用于确定所述文档管理请求为文档管理批量处理请求,并从所述文档管理批量处理请求中获取相应的文档管理批量处理信息。所述请求解析单元22具体可包括:
消息体格式识别单元221,用于解析所述文档管理批量处理请求的消息头,以识别所述文档管理批量处理请求的消息体格式;
批量处理信息获取单元222,用于根据所述消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量处理信息。所述批量处理信息获取单元222具体可包括:
批量增加/修改处理信息获取子单元2221,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;
批量查询处理信息获取子单元2222,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;
批量删除处理信息获取子单元2223,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;
批量移动处理信息获取子单元2224,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息。
请求处理单元23,用于根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。所述请求处理单元具体可包括:
批量增加/修改请求处理子单元231,用于根据所述文档管理批量增加/修改处理信息,执行文档管理批量增加/修改处理操作;
批量查询请求处理子单元232,用于根据所述文档管理批量查询处理信息,执行文档管理批量查询处理操作;
批量删除请求处理子单元233,用于根据所述文档管理批量删除处理信息,执行文档管理批量删除处理操作;
批量移动请求处理子单元234,用于根据所述文档管理批量移动处理信息,执行文档管理批量移动处理操作。
应答处理单元24,用于基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息;向文档管理客户端发送所述文档管理批量处理应答消息。所述应答处理单元24具体可包括:
应答消息生成单元241,用于基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息;
应答消息发送单元242,用于向文档管理客户端发送所述文档管理批量处理应答消息。
通过上述实施例可以看出,本发明实施例采用客户端将需要对多个文档或单个文档下的多个节点的批量处理操作指示,通过一条文档管理批量处理请求发送给服务端,服务端在确定为文档管理批量处理请求时,获取相应的文档管理批量处理信息并执行相应的文档管理批量处理操作;由于客户端只需要发送一条信令来进行多个文档或单个文档下的多个节点的批量处理操作,减小了操作时延,提高了操作效率,提高了数据操作的可靠性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技 术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种可扩展标记语言文档管理方法,其特征在于,包括:
接收文档管理请求;
确定所接收到的文档管理请求为文档管理批量处理请求;
解析所述文档管理批量处理请求的消息头,以确定所述文档管理批量处理请求的消息体格式;
当所述消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;
当所述消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;
当所述消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;
当所述消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;
根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
2.如权利要求1所述的方法,其特征在于,所述确定文档管理请求为文档管理批量处理请求的步骤具体为:
根据所述文档管理请求的方法名确定所述文档管理请求为文档管理批量处理请求。
3.如权利要求1所述的方法,其特征在于,所述根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作的步骤之后还包括步骤:
基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息,并向所述文档管理请求的发送方发送所述文档管理批量处理应答消息。
4.一种可扩展标记语言文档管理服务器,其特征在于,包括:
请求接收单元,用于接收文档管理请求;
请求解析单元,用于确定所述文档管理请求为文档管理批量处理请求,并从所述文档管理批量处理请求中获取相应的文档管理批量处理信息;
该请求解析单元包括:
消息体格式识别单元,用于解析所述文档管理批量处理请求的消息头,以识别所述文档管理批量处理请求的消息体格式;
批量处理信息获取单元,用于根据所述消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量处理信息;
该批量处理信息获取单元包括:
批量增加/修改处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;
批量查询处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;
批量删除处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;
批量移动处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;
所述可扩展标记语言文档管理服务器还包括:
请求处理单元,用于根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
5.如权利要求4所述的服务器,其特征在于,所述请求处理单元包括:
批量增加/修改请求处理子单元,用于根据所述文档管理批量增加/修改处理信息,执行文档管理批量增加/修改处理操作;
批量查询请求处理子单元,用于根据所述文档管理批量查询处理信息,执行文档管理批量查询处理操作;
批量删除请求处理子单元,用于根据所述文档管理批量删除处理信息,执行文档管理批量删除处理操作;
批量移动请求处理子单元,用于根据所述文档管理批量移动处理信息,执行文档管理批量移动处理操作。
6.如权利要求4或5所述的服务器,其特征在于,所述服务器还包括:
应答处理单元,用于基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息;向文档管理客户端发送所述文档管理批量处理应答消息。
7.如权利要求6所述的服务器,其特征在于,所述应答处理单元包括:
应答消息生成单元,用于基于文档管理批量处理操作的执行结果信息,按照相应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息;
应答消息发送单元,用于向所述文档管理客户端发送所述文档管理批量处理应答消息。
8.一种可扩展标记语言文档管理系统,包括客户端和服务器,其特征在于,所述客户端包括:
用户操作单元,用于接收用户的文档管理请求指示;
请求生成单元,用于根据所述文档管理请求指示生成文档管理请求;
请求发送单元,用于将所述文档管理请求发送给服务器;
所述服务器包括:
请求接收单元,用于接收文档管理请求;
请求解析单元,用于确定所述文档管理请求为文档管理批量处理请求,并从所述文档管理批量处理请求中获取相应的文档管理批量处理信息;
该请求解析单元包括:
消息体格式识别单元,用于解析所述文档管理批量处理请求的消息头,以识别所述文档管理批量处理请求的消息体格式;
批量处理信息获取单元,用于根据所述消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量处理信息;
该批量处理信息获取单元包括:
批量增加/修改处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量增加/修改请求消息体格式时,根据所述文档管理批量增加/修改请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量增加/修改处理信息;
批量查询处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量查询请求消息体格式时,根据所述文档管理批量查询请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量查询处理信息;
批量删除处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量删除请求消息体格式时,根据所述文档管理批量删除请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量删除处理信息;
批量移动处理信息获取子单元,用于当所述消息体格式识别单元所识别的消息体格式为文档管理批量移动请求消息体格式时,根据所述文档管理批量移动请求消息体格式解码所述文档管理请求的消息体,获取相应的文档管理批量移动处理信息;
所述服务器还包括:
请求处理单元,用于根据所述文档管理批量处理信息,执行相应的文档管理批量处理操作。
9.如权利要求8所述的系统,其特征在于,所述服务器还包括:
应答处理单元,用于基于文档管理批量处理操作的执行结果信息,按照相 应的文档管理批量处理操作应答消息格式组装生成文档管理批量处理应答消息;向所述客户端发送所述文档管理批量处理应答消息。
10.如权利要求8或9所述的系统,其特征在于,所述客户端还包括:
应答消息接收单元,用于接收来自服务器的批量处理应答消息;
应答消息处理单元,用于读取所述批量处理应答消息中携带的状态码,并根据所述批量处理应答消息的消息头识别是否存在消息体,若存在,则根据相应的批量处理应答消息体格式对消息体进行解码,获取文档管理批量处理结果信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710032635XA CN101197827B (zh) | 2007-12-14 | 2007-12-14 | 一种文档管理方法、系统以及相关设备 |
PCT/CN2008/073482 WO2009076910A1 (zh) | 2007-12-14 | 2008-12-12 | 一种文档管理方法、系统及相关设备 |
EP08861879A EP2209264A4 (en) | 2007-12-14 | 2008-12-12 | DOCUMENT MANAGEMENT PROCEDURE, SYSTEM AND APPROPRIATE DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710032635XA CN101197827B (zh) | 2007-12-14 | 2007-12-14 | 一种文档管理方法、系统以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101197827A CN101197827A (zh) | 2008-06-11 |
CN101197827B true CN101197827B (zh) | 2010-12-08 |
Family
ID=39547976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710032635XA Expired - Fee Related CN101197827B (zh) | 2007-12-14 | 2007-12-14 | 一种文档管理方法、系统以及相关设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2209264A4 (zh) |
CN (1) | CN101197827B (zh) |
WO (1) | WO2009076910A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877484B2 (en) | 2004-04-23 | 2011-01-25 | International Business Machines Corporation | System and method for bulk processing of semi-structured result streams from multiple resources |
CN101197827B (zh) * | 2007-12-14 | 2010-12-08 | 华为技术有限公司 | 一种文档管理方法、系统以及相关设备 |
CN101741877B (zh) * | 2008-11-27 | 2013-01-23 | 华为技术有限公司 | 媒体资源的操作方法、系统和设备 |
CN101808073A (zh) * | 2009-02-13 | 2010-08-18 | 华为技术有限公司 | 一种获取节点信息的方法、服务器以及系统 |
CN102495889A (zh) * | 2011-03-22 | 2012-06-13 | 苏州阔地网络科技有限公司 | 一种文件批量处理方法、系统及服务器 |
CN103299298B (zh) * | 2011-12-31 | 2016-11-02 | 华为技术有限公司 | 处理业务的方法和系统 |
CN102883232B (zh) * | 2012-08-29 | 2015-04-15 | 四三九九网络股份有限公司 | 一种swf文件批量添加水印的方法及装置 |
CN103744665A (zh) * | 2013-12-26 | 2014-04-23 | 方正国际软件有限公司 | 漫画播放系统和漫画播放方法 |
CN105488018A (zh) * | 2015-11-24 | 2016-04-13 | 魅族科技(中国)有限公司 | 信息修改方法及终端 |
CN106846138A (zh) * | 2016-12-31 | 2017-06-13 | 融捷科技(武汉)有限公司 | 供应链金融平台文档管理系统 |
CN106777344A (zh) * | 2017-01-16 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种数据库集群的数据节点扩展方法及装置 |
CN112989288B (zh) * | 2021-04-16 | 2021-09-03 | 成都飞机工业(集团)有限责任公司 | 一种批量标定电子文档密级的系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1478235A (zh) * | 2000-10-12 | 2004-02-25 | �Ҵ���˾ | 用于xml查询的通用的输出构造器 |
CN1690969A (zh) * | 2004-04-23 | 2005-11-02 | 国际商业机器公司 | 用于批处理来自多种资源的半结构化结果流的系统和方法 |
CN1794692A (zh) * | 2005-11-25 | 2006-06-28 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937703B2 (en) * | 2005-09-27 | 2011-05-03 | International Business Machines Corporation | Stateless server-side automation of web service requests using dynamically generated web service interfaces |
US7650353B2 (en) * | 2005-12-16 | 2010-01-19 | Microsoft Corporation | XML specification for electronic data interchange (EDI) |
CN101197827B (zh) * | 2007-12-14 | 2010-12-08 | 华为技术有限公司 | 一种文档管理方法、系统以及相关设备 |
-
2007
- 2007-12-14 CN CN200710032635XA patent/CN101197827B/zh not_active Expired - Fee Related
-
2008
- 2008-12-12 EP EP08861879A patent/EP2209264A4/en not_active Withdrawn
- 2008-12-12 WO PCT/CN2008/073482 patent/WO2009076910A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1478235A (zh) * | 2000-10-12 | 2004-02-25 | �Ҵ���˾ | 用于xml查询的通用的输出构造器 |
CN1690969A (zh) * | 2004-04-23 | 2005-11-02 | 国际商业机器公司 | 用于批处理来自多种资源的半结构化结果流的系统和方法 |
CN1794692A (zh) * | 2005-11-25 | 2006-06-28 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2209264A1 (en) | 2010-07-21 |
WO2009076910A1 (zh) | 2009-06-25 |
EP2209264A4 (en) | 2010-10-27 |
CN101197827A (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101197827B (zh) | 一种文档管理方法、系统以及相关设备 | |
JP4749469B2 (ja) | Xdmサービス情報管理システム及び方法 | |
CN101299829B (zh) | 一种实现统一存储中管理媒体内容的方法和消息系统 | |
KR101331280B1 (ko) | Sip 기반의 메시지 서비스 시스템에서 신속 응답 서비스방법 | |
EP2052332B1 (en) | Xdm system and method for implementing xml document management function by using position description of xml document | |
KR100799559B1 (ko) | 단문 메시지 전송 서비스 시스템 및 그 방법 | |
Van de Sompel et al. | Generalizing the OpenURL framework beyond references to scholarly works | |
EP2045725A1 (en) | Method and system, client, server of managing xml document | |
Colgrave et al. | Using wsdl in a uddi registry, version 2.0. 2 | |
KR101498731B1 (ko) | 비통합 메시징 서비스와 인터워킹하기 위해 통합 메시징 서비스를 제공하는 서버 및 방법 및 이를 위한 시스템 | |
CN101179572B (zh) | 一种内容的复制方法、装置与系统 | |
US20130091287A1 (en) | System for contact subscription invitations in a cross-domain converged address book system | |
US9930000B2 (en) | Method for posing requests in a social networking site | |
Ilik et al. | InformationSharing Pipeline | |
Butler | Using capability profiles for appliance aggregation | |
CN101808073A (zh) | 一种获取节点信息的方法、服务器以及系统 | |
Saint-Andre et al. | Flexible Offline Message Retrieval | |
CN101873542A (zh) | 基于条件的统一资源标识的选择方法、服务器及通信系统 | |
EP2187307A1 (en) | Method and equipment for requesting and managing the xml document | |
Graham et al. | VOSpace service specification, Version 1.01 | |
Sompel et al. | Generalizing the OpenURL Framework beyond References to Scholarly Works, The Bison-Futé Model | |
CN101888347A (zh) | 用于系统整合的消息适配系统 | |
Klyne et al. | Identifying composite media features | |
Alliance | Enhanced Visual Call XDM Specification | |
Graham et al. | IVOA Recommendation: VOSpace specification Version 1.15 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20151214 |
|
EXPY | Termination of patent right or utility model |