CN106855866A - Xml文档存储方法及装置 - Google Patents
Xml文档存储方法及装置 Download PDFInfo
- Publication number
- CN106855866A CN106855866A CN201510906388.6A CN201510906388A CN106855866A CN 106855866 A CN106855866 A CN 106855866A CN 201510906388 A CN201510906388 A CN 201510906388A CN 106855866 A CN106855866 A CN 106855866A
- Authority
- CN
- China
- Prior art keywords
- fragment
- xml document
- target
- decomposed
- searched
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种XML文档存储方法及装置。该方法包括:将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;对所述多个片段分别进行存储,以使每个片段作为一个存储空间;从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。本发明实施例通过将XML文档分解为多个片段,每个片段包括多个节点,并以片段为查询单位,查找该片段中的目标节点,相比于通篇查找整个XML文档提高了查找速度,相比于XML文档以若干个节点的形式进行存储,节省了大量的存储空间。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种XML文档存储方法及装置。
背景技术
目前XML文档以二进制数据的形式存储在以Oracle,Postgresql为代表的传统关系型数据库中,另外,XML文档被分解为节点存储在以Founder XMLDB,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)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种XML文档存储方法,其特征在于,包括:
将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;
对所述多个片段分别进行存储,以使每个片段作为一个存储空间;
从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。
2.根据权利要求1所述的方法,其特征在于,所述将XML文档分解为多个片段,包括:
依据所述XML文档的大小和用户设定的片段大小将所述XML文档平均分为多个片段。
3.根据权利要求2所述的方法,其特征在于,所述将XML文档分解为多个片段之后,还包括:
更新所述片段的内容。
4.根据权利要求3所述的方法,其特征在于,所述将XML文档分解为多个片段之后,还包括:
为所述多个片段中的每个片段设置一个标识号。
5.根据权利要求4所述的方法,其特征在于,所述从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点包括:
依据所述目标片段对应的标识号从所述多个片段中查找目标片段;
对所述目标片段进行解析获得所述目标节点。
6.一种XML文档存储装置,其特征在于,包括:
分解模块,用于将XML文档分解为多个片段,所述片段包括多个节点,每个节点的开始标记和结束标记在同一片段中;
存储模块,用于对所述多个片段分别进行存储,以使每个片段作为一个存储空间;
查找模块,用于从所述多个片段中查找目标片段,并从所述目标片段中查找目标节点。
7.根据权利要求6所述的XML文档存储装置,其特征在于,所述分解模块具体用于依据所述XML文档的大小和用户设定的片段大小将所述XML文档平均分为多个片段。
8.根据权利要求7所述的XML文档存储装置,其特征在于,还包括:
更新模块,用于更新所述片段的内容。
9.根据权利要求8所述的XML文档存储装置,其特征在于,还包括:
标识模块,用于为所述多个片段中的每个片段设置一个标识号。
10.根据权利要求9所述的XML文档存储装置,其特征在于,所述查找模块具体用于依据所述目标片段对应的标识号从所述多个片段中查找目标片段;对所述目标片段进行解析获得所述目标节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906388.6A CN106855866A (zh) | 2015-12-09 | 2015-12-09 | Xml文档存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906388.6A CN106855866A (zh) | 2015-12-09 | 2015-12-09 | Xml文档存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106855866A true CN106855866A (zh) | 2017-06-16 |
Family
ID=59132058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906388.6A Pending CN106855866A (zh) | 2015-12-09 | 2015-12-09 | Xml文档存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106855866A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918369A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 数据存储方法及装置 |
CN110297947A (zh) * | 2019-05-17 | 2019-10-01 | 深圳市元征科技股份有限公司 | 一种数据调用方法、装置及电子设备 |
CN111563065A (zh) * | 2020-07-09 | 2020-08-21 | 北京联想协同科技有限公司 | 一种文档保存方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627297A (zh) * | 2003-12-13 | 2005-06-15 | 三星电子株式会社 | 管理用标记语言写的数据的方法及其设备 |
CN101196916A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 一种分段存储文件的方法及装置 |
CN101369268A (zh) * | 2007-08-15 | 2009-02-18 | 北京书生国际信息技术有限公司 | 一种文档库系统中文档数据的存储方法 |
CN102325161A (zh) * | 2011-07-18 | 2012-01-18 | 北京航空航天大学 | 一种基于查询工作量估算的xml分片方法 |
-
2015
- 2015-12-09 CN CN201510906388.6A patent/CN106855866A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627297A (zh) * | 2003-12-13 | 2005-06-15 | 三星电子株式会社 | 管理用标记语言写的数据的方法及其设备 |
CN101369268A (zh) * | 2007-08-15 | 2009-02-18 | 北京书生国际信息技术有限公司 | 一种文档库系统中文档数据的存储方法 |
CN101196916A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 一种分段存储文件的方法及装置 |
CN102325161A (zh) * | 2011-07-18 | 2012-01-18 | 北京航空航天大学 | 一种基于查询工作量估算的xml分片方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918369A (zh) * | 2017-12-13 | 2019-06-21 | 中兴通讯股份有限公司 | 数据存储方法及装置 |
CN109918369B (zh) * | 2017-12-13 | 2024-01-23 | 金篆信科有限责任公司 | 数据存储方法及装置 |
CN110297947A (zh) * | 2019-05-17 | 2019-10-01 | 深圳市元征科技股份有限公司 | 一种数据调用方法、装置及电子设备 |
CN111563065A (zh) * | 2020-07-09 | 2020-08-21 | 北京联想协同科技有限公司 | 一种文档保存方法、装置及计算机可读存储介质 |
CN111563065B (zh) * | 2020-07-09 | 2020-12-11 | 北京联想协同科技有限公司 | 一种文档保存方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132346B2 (en) | Information processing method and apparatus | |
CN102402605B (zh) | 用于搜索引擎索引的混合分布模型 | |
EP2924594B1 (en) | Data encoding and corresponding data structure in a column-store database | |
CN108875064B (zh) | 基于FPGA的OpenFlow多维数据匹配查找方法 | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN102024046B (zh) | 数据重复性校验方法和装置及系统 | |
US9852453B2 (en) | High-throughput message generation | |
CN105589894B (zh) | 文档索引建立方法和装置、文档检索方法和装置 | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
CN103559301A (zh) | 更新数据的方法、数据库触发器和搜索引擎 | |
JP2009512099A (ja) | トライでの再始動可能なハッシュの方法及び装置 | |
CN104021123A (zh) | 用于数据迁移的方法和系统 | |
US20220005546A1 (en) | Non-redundant gene set clustering method and system, and electronic device | |
CN103714086A (zh) | 用于生成非关系数据库的模式的方法和设备 | |
CN106649368A (zh) | 数据存储方法、装置和数据查询方法、装置 | |
CN102867049A (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
CN106855866A (zh) | Xml文档存储方法及装置 | |
KR20220011055A (ko) | 해시 테이블 게놈 매핑을 위한 플렉시블 시드 확장 | |
Alipanahi et al. | Succinct dynamic de Bruijn graphs | |
CN106649800A (zh) | 一种基于Solr的中文检索方法 | |
Faro et al. | On the longest common Cartesian substring problem | |
CN105574031A (zh) | 用于数据库索引的方法和系统 | |
CN102725754B (zh) | 一种索引数据处理方法及设备 | |
CN104598485A (zh) | 处理数据库表的方法和设备 | |
CN107943981A (zh) | HBase行分页方法、服务器及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170616 |