XML文档存储方法及装置制造方法及图纸

技术编号:15650023 阅读:44 留言:0更新日期:2017-06-17 02:56
本发明专利技术实施例提供一种XML文档存储方法及装置。该方法包括:将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;对所述多个片段分别进行存储,以使每个片段作为一个存储空间;从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。本发明专利技术实施例通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间。

【技术实现步骤摘要】
XML文档存储方法及装置
本专利技术实施例涉及计算机
,尤其涉及一种XML文档存储方法及装置。
技术介绍
目前XML文档以二进制数据的形式存储在以Oracle,Postgresql为代表的传统关系型数据库中,另外,XML文档被分解为节点存储在以FounderXMLDB,berkeleyXMLDB为代表的专门为XML开发的数据库中。在Oracle数据库中,XML文档以整体形式存储,查找XML文档中某一节点的时候需要通篇查找整个XML文档,导致查找速度低;在FounderXMLDB数据库中,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文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;对所述多个片段分别进行存储,以使每个片段作为一个存储空间;从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。

【技术特征摘要】
1.一种XML文档存储方法,其特征在于,包括:将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;对所述多个片段分别进行存储,以使每个片段作为一个存储空间;从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。2.根据权利要求1所述的方法,其特征在于,所述将XML文档分解为多个片段,包括:依据所述XML文档的大小和用户设定的片段大小将所述XML文档平均分为多个片段。3.根据权利要求2所述的方法,其特征在于,所述将XML文档分解为多个片段之后,还包括:更新所述片段的内容。4.根据权利要求3所述的方法,其特征在于,所述将XML文档分解为多个片段之后,还包括:为所述多个片段中的每个片段设置一个标识号。5.根据权利要求4所述的方法,其特征在于,所述从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点包括:依据所述目标片段对应的标识号从所述多个片段中查找目标片段;对所述目标片段进行解析获得所述目标...

【专利技术属性】
技术研发人员:刘雨洋
申请(专利权)人:北大方正集团有限公司北大方正信息产业集团有限公司上海方正数字出版技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1