XML文档存储方法及装置与流程

文档序号:12612258阅读:366来源:国知局
XML文档存储方法及装置与流程

本发明实施例涉及计算机技术领域,尤其涉及一种XML文档存储方法及装置。



背景技术:

目前XML文档以二进制数据的形式存储在以Oracle,Postgresql为代表的传统关系型数据库中,另外,XML文档被分解为节点存储在以Founder XML DB,berkeley XML DB为代表的专门为XML开发的数据库中。

在Oracle数据库中,XML文档以整体形式存储,查找XML文档中某一节点的时候需要通篇查找整个XML文档,导致查找速度低;在Founder XML DB数据库中,XML文档以若干个节点的形式进行存储,导致数据库大量的存储空间被占用。

现有技术中,XML文档的存储形式存在查找速度低、占用大量存储空间的问题。



技术实现要素:

本发明实施例提供一种XML文档存储方法及装置,以提高XML文档的查找速度,节省存储空间。

本发明实施例的一个方面是提供一种XML文档存储方法,包括:

将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;

对所述多个片段分别进行存储,以使每个片段作为一个存储空间;

从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。

本发明实施例的另一个方面是提供一种XML文档存储装置,包括:

分解模块,用于将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;

存储模块,用于对所述多个片段分别进行存储,以使每个片段作为一个存储空间;

查找模块,用于从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。

本发明实施例提供的XML文档存储方法及装置,通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间。

附图说明

图1为本发明实施例提供的XML文档存储方法流程图;

图2为本发明实施例提供的XML文档存储装置的结构图;

图3为本发明另一实施例提供的XML文档存储装置的结构图。

具体实施方式

图1为本发明实施例提供的XML文档存储方法流程图。本发明实施例针对XML文档的存储形式存在查找速度低、占用大量存储空间的问题,提供了XML文档存储方法,该方法具体步骤如下:

步骤S101、将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;

在本发明实施例中,将整个XML文档分解为多个片段,每个片段包括多个节点,每个节点的开始标记和结束标记不能分割到不同的两个片段中,例如一个XML文档包括<bid_tuple>……</bid_tuple>,则<bid_tuple>需要在一个片段中,</bid_tuple>也需要在一个片段中,不能出现<bid_在一个片段中,tuple>在另一个片段中。

步骤S102、对所述多个片段分别进行存储,以使每个片段作为一个存储空间;

以每个片段为存储单元对所述多个片段分别进行存储,以使每个片段作为一个存储空间。

步骤S103、从所述多个片段中查找目标片段,并从所述目标片段中查找 目标节点。

将XML文档分解为多个片段后,对每个片段分配一个标识号,依据标识号可查找到相应的片段,具体的,将XML文档的分片信息存储到分片表中,即分片表中记录有多个条目,每个条目包括一个片段的标识号、片段的大小、片段的起始符号和结束符号;依据目标片段的标识号可从分片表中搜索到目标片段,对目标片段进行解析即可得到该目标片段中的目标节点。

本发明实施例通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间。

在上述实施例的基础上,所述将XML文档分解为多个片段,包括:依据所述XML文档的大小和用户设定的片段大小将所述XML文档平均分为多个片段。

在本发明实施例中,每个片段的大小依据用户设定的片段大小确定,对XML文档进行分解后获得的片段的个数根据XML文档的大小和用户设定的片段大小确定,具体的,片段的个数等于XML文档的大小除以用户设定的片段大小。另外,所述将XML文档分解为多个片段之后,还包括:更新所述片段的内容。

在本发明实施例中,若要更新XML文档的内容,只需更新该内容所在的片段,而无需更新整个XML文档。

所述将XML文档分解为多个片段之后,还包括:为所述多个片段中的每个片段设置一个标识号。

将XML文档分解为多个片段之后,为所述每个片段设置一个标识号,即每个片段唯一对应一个标识号。

所述从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点包括:依据所述目标片段对应的标识号从所述多个片段中查找目标片段;对所述目标片段进行解析获得所述目标节点。

将XML文档分解为多个片段后,对每个片段分配一个标识号,依据标识号可查找到相应的片段,具体的,将XML文档的分片信息存储到分片表中,即分片表中记录有多个条目,每个条目包括一个片段的标识号、片段的大小、 片段的起始符号和结束符号;依据目标片段的标识号可从分片表中搜索到目标片段,对目标片段进行解析即可得到该目标片段中的目标节点。

本发明实施例通过更新片段的内容避免更新整个XML文档,提高了对整个XML文档的更新操作,通过为每个片段设置一个标识号,查找标识号指示的片段中的目标节点,提高了查找效率。

图2为本发明实施例提供的XML文档存储装置的结构图。本发明实施例提供的XML文档存储装置可以执行XML文档存储方法实施例提供的处理流程,如图2所示,XML文档存储装置20包括分解模块21、存储模块22和查找模块23,其中,分解模块21用于将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;存储模块22用于对所述多个片段分别进行存储,以使每个片段作为一个存储空间;查找模块23用于从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。

本发明实施例通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间。

图3为本发明另一实施例提供的XML文档存储装置的结构图。在上述实施例的基础上,分解模块21具体用于依据所述XML文档的大小和用户设定的片段大小将所述XML文档平均分为多个片段。

XML文档存储装置20还包括更新模块24,更新模块24用于更新所述片段的内容。

XML文档存储装置20还包括标识模块25,标识模块25用于为所述多个片段中的每个片段设置一个标识号。

查找模块23具体用于依据所述目标片段对应的标识号从所述多个片段中查找目标片段;对所述目标片段进行解析获得所述目标节点。

本发明实施例提供的XML文档存储装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过更新片段的内容避免更新整个XML文档,提高了对整个XML文档的更新操作,通过为每个片段设置一个标识号,查找标识号指示的片段中的目标节点,提高了查找效率。

综上所述,本发明实施例通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间;通过更新片段的内容避免更新整个XML文档,提高了对整个XML文档的更新操作,通过为每个片段设置一个标识号,查找标识号指示的片段中的目标节点,提高了查找效率。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分 配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1