CN103186611B - 一种压缩、解压及查询文档的方法、装置 - Google Patents

一种压缩、解压及查询文档的方法、装置 Download PDF

Info

Publication number
CN103186611B
CN103186611B CN201110456661.1A CN201110456661A CN103186611B CN 103186611 B CN103186611 B CN 103186611B CN 201110456661 A CN201110456661 A CN 201110456661A CN 103186611 B CN103186611 B CN 103186611B
Authority
CN
China
Prior art keywords
node
path code
path
data content
compression
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
Application number
CN201110456661.1A
Other languages
English (en)
Other versions
CN103186611A (zh
Inventor
仇睿恒
胡薇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Pku Founder Information Industry Group Co ltd
Peking University
Peking University Founder Group Co Ltd
Founder Apabi Technology Ltd
Original Assignee
Peking University
Founder Information Industry Holdings Co Ltd
Peking University Founder Group Co Ltd
Beijing Founder Apabi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University, Founder Information Industry Holdings Co Ltd, Peking University Founder Group Co Ltd, Beijing Founder Apabi Technology Co Ltd filed Critical Peking University
Priority to CN201110456661.1A priority Critical patent/CN103186611B/zh
Priority to US14/119,172 priority patent/US8768900B2/en
Priority to KR1020137030777A priority patent/KR101499441B1/ko
Priority to JP2014519409A priority patent/JP5800441B2/ja
Priority to EP12863927.5A priority patent/EP2697728A4/en
Priority to PCT/CN2012/088009 priority patent/WO2013097802A1/en
Publication of CN103186611A publication Critical patent/CN103186611A/zh
Application granted granted Critical
Publication of CN103186611B publication Critical patent/CN103186611B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/707Structured documents, e.g. XML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing

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)
  • Computational Linguistics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机应用技术领域,尤其涉及一种压缩、解压及查询文档的方法、装置,用于解决如何通过Schema提高对XML文档进行压缩的效率;该方法包括:分离出XML文档的结构内容和数据内容;结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;确定结构内容中的节点的路径编码;根据预先保存的节点的先序号,确定节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。可见,从用该方法能够通过Schema提高对XML文档进行压缩的效率。

Description

一种压缩、解压及查询文档的方法、装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种压缩、解压及查询文档的方法、装置。
背景技术
可扩展标记语言(ExtensibleMarkuplanguage,XML)作为一种常用的数据存储语言,已经被广泛使用。由于在XML文档中存在着大量的数据冗余,因此,在使用过程中人们通常通过专门的XML压缩方法对XML文档进行数据压缩。常用的XML压缩方法主要分为两种:
第一种,为不支持查询的压缩方法;如果想要从使用该方法压缩得到的XML文档中查询并得到部分XML数据,需要先将整个XML文档解压缩,然后进行查询,并获取查询后的结果;
第二种,为支持查询的XML压缩方法;该方法支持直接从压缩后的XML文档中查询并得到部分XML数据。该方法使用XPath、XQuery等来作为查询已压缩的XML文档的查询语言,该查询语言是基于路径从XML文档查找信息的语言工具;路径为在XML文档的结构中从某一节点开始定位到目标节点所经过的所有节点构成的序列,一般会采用所经过节点的名字与一些特殊符号组合成一个字符串来表示。其中XPath并没有着眼于XML数据的文本表征,而是对其中抽象的逻辑结构树进行操作,其名称正是来源于其使用一种类似于统一资源标识符(UniformResourceIdentifier,URI)中路径表示方式来在XML数据的层次结构中进行游历、定位;其主要目的是用于定位XML文档中的某个具体的数据片段。为了达到这个目的,在XPath规范中提供了基本的字符串、数值以及布尔的处理功能。
本发明人发现,现有技术中无法实现对有对应Schema的XML文档进行压缩、解压和支持在压缩状态下的查询操作。
发明内容
本发明实施例提供一种对有对应Schema的XML文档的压缩方法,用于解决无法对有对应Schema的XML文档进行压缩操作的问题。
一种对有对应Schema的XML文档的压缩方法,所述方法包括:
分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。
一种对有对应Schema的XML文档的压缩的装置,所述装置包括:
分离单元,用于分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
确定单元,用于确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
压缩单元,用于按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。
本发明实施例提供一种对使用上述压缩方法进行压缩后的XML文档解压缩的方法,用于解决无法对压缩后的有对应Schema的XML文档进行解压操作的问题:
一种对使用上述压缩方法进行压缩后的XML文档解压缩的方法,该方法包括:
获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
对压缩后的所述节点的路径编码进行解压操作,并输出解压后的路径编码所对应的节点;
对压缩后的所述文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容,解压并输出确定的数据内容。
一种对使用上述压缩方法后进行压缩后的XML文档解压缩的装置,该装置包括:
获取单元,用于获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
解压单元,用于对压缩后的所述节点的路径编码进行解压操作;
所述数据确定单元,用于根据所述解压单元解压后的文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容;
输出单元,用于输出所述解压单元解压后的路径编码所对应的节点;输出所述数据确定单元确定的数据内容。
可见,采用上述解压方法,在获取并解压压缩后的节点的路径编码、压缩后的数据内容的路径编码和压缩后的文档结构信息后,输出解压后的路径编码所对应的节点;根据解压后的文档结构信息确定路径编码与解压后的节点的路径编码相同的压缩后的数据内容,解压并输出确定的数据内容;可见,该方法可以对使用上述压缩方法对压缩后的XML文档进行解压缩的操作。
本发明实施例提供一种使用上述的压缩方法进行压缩后的XML文档查询的方法,用于解决无法对压缩后的有对应Schema的XML文档进行查询的问题:
一种对使用上述压缩方法进行压缩后的XML文档查询的方法,该方法包括:
按照预先设置的转换方法,将输入的查询路径转换为路径编码;
在压缩后的XML文档中查找转换后的路径编码所对应的节点,将查找到的节点作为查询结果进行输出;或者,在压缩后的XML文档中查找转换后的路径编码所对应的节点、以及查找到的节点所对应的数据内容,将查找到的节点和数据内容作为查询结果进行输出。
一种对使用上述压缩方法进行压缩后的XML文档查询的装置,该装置包括:
转换单元,用于按照预先设置的转换方法,将输入的查询路径转换为路径编码;
节点查找单元,用于在压缩后的XML文档中查找转换后的路径编码所对应的节点;
数据查找单元,用于查找所述节点查找单元查找出的节点所对应的数据内容;
查找输出单元,用于将所述节点查找单元查找到的节点作为查询结果进行输出;或者,将所述查找单元查找到的节点和所述数据查找单元查找到的数据内容作为查询结果进行输出。
可见,采用上述查询方法,由于按上述方法压缩后有对应Schema的XML文档中的节点和/或数据内容的存储路径为路径编码;因此,将查询路径转换为路径编码后,可对节点和/或数据内容进行查找,并将查找到的节点和/或数据内容作为查询结果进行输出;因此,通过该查询方法可对按上述压缩方法压缩后有对应Schema的XML文档进行查询的操作。
附图说明
图1为本发明实施例提供的一种对有对应Schema的XML文档的压缩方法流程示意图;
图2为本发明实施例提供的一种使用本发明实施例提供的压缩方法进行压缩后的XML文档解压缩的方法流程示意图;
图3为本发明实施例提供的一种使用本发明实施例提供的压缩方法进行压缩后的XML文档查询的方法流程示意图;
图4为XML文档的Schema结构示意图;
图5为本发明实施例所使用的XML文档的Schema结构示意图;
图6为本发明实施例提供的一种对有对应Schema的XML文档的压缩的装置的结构示意图;
图7为本发明实施例提供的一种使用本发明实施例提供的压缩方法进行压缩后的XML文档解压缩的装置的结构示意图;
图8为本发明实施例提供的一种对使用本发明实施例提供的压缩方法进行压缩后的XML文档查询的装置的结构示意图。
具体实施方式
本发明实施例提供一种对有对应Schema的XML文档的压缩方法,该方法首先分离出XML文档的结构内容和数据内容;其次,分别确定节点的路径编码和数据内容的路径编码;最后,对节点的路径编码、数据内容的路径编码以及数据内容分别进行压缩;如图1所述,该方法的具体过程如下:
步骤11,分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
步骤12,确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
步骤13,按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。
具体的,实现步骤12的方法包括:
将所述结构内容中的节点对应的实际路径中所包含的各节点,替换为相应节点对应的节点编码;将替换后得到的路径作为所述结构内容中的节点的路径编码;所述节点的实际路径通过该节点以及结构内容中的其他节点标识所述节点在结构内容中的实际存储路径。
较佳的,为了方便后续的解压缩操作,在上述压缩过程中还可生成XML文档的文档结构信息,并对该文档结构信息进行压缩;该文档结构信息包括节点的先序号以及数据的先序号。
本发明实施例还提供一种使用上述压缩方法进行压缩后的XML文档解压缩的方法,该方法可在获取并解压压缩后的节点的路径编码、压缩后的数据内容的路径编码和压缩后的文档结构信息后,输出解压后的路径编码所对应的节点;根据解压后的文档结构信息确定路径编码与解压后的节点的路径编码相同的压缩后的数据内容,解压并输出确定的数据内容;如图2所示,该方法的具体过程如下:
步骤21,获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
步骤22,对压缩后的所述节点的路径编码进行解压操作,并输出解压后的路径编码所对应的节点;
步骤23,对压缩后的所述文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容,解压并输出确定的数据内容。
由于按上述压缩方法压缩后的XML文档中包括节点的先序号和数据内容的先序号,因此,步骤23中的根据解压后的文档结构信息以及输出的节点确定压缩后的数据的方法具体包括:
当与解压后的所述节点的路径编码相同的路径编码所对应的数据内容的先序号序列长度不为0时,将与解压后的所述节点的先序号之差为1的先序号所对应的压缩后的数据内容,确定为与解压后的所述节点的路径编码相同的压缩后的数据内容。
本发明实施例提供一种对使用上述压缩方法进行压缩后的XML文档查询的方法,由于按上述方法压缩后有对应Schema的XML文档中的节点和/或数据内容的存储路径为路径编码;因此,将查询路径转换为路径编码后,可对节点和/或数据内容进行查找,并将查找到的节点和/或数据内容作为查询结果进行输出;如图3所示,该方法具体包括:
步骤31,按照预先设置的转换方法,将输入的查询路径转换为路径编码;
步骤32,在压缩后的XML文档中查找转换后的路径编码所对应的节点,将查找到的节点作为查询结果进行输出;或者,在压缩后的XML文档中查找转换后的路径编码所对应的节点、以及查找到的节点所对应的数据内容,将查找到的节点和数据内容作为查询结果进行输出。
具体的,步骤31包括如下方法:
将所述查询路径中所包含的节点转换为与该节点对应的节点编码,并将转换后的路径作为所述查询路径的路径编码;
由于按上述压缩方法压缩后的XML文档中包括数据内容的先序号,因此步骤32中在压缩后的XML文档中查找转换后的路径编码所对应的节点的方法包括:
当转换后的路径编码中的最后一个节点编码带有谓语时,在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的节点;若查找到的节点为一个、且该查找到的节点为第一路径编码所确定的节点时,则将查找到的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,则根据所述谓语从多个节点中确定一个或多个节点,并将确定的一个或多个节点作为转换后的路径编码所对应的节点,所述谓语用于表示第一路径编码所对应的一个或多个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码;或者,
当转换后的路径编码中除最后一个节点之外的节点带有谓语时,在压缩后的XML文档的中查找与第一路径编码相同的路径编码所对应的节点;若查找到的节点为一个,且该查找到的节点为第一路径编码所确定的节点时,在压缩后的XML文档中查找与转换后的路径编码相同、且包含查找到的节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,根据所述谓语从多个节点中确定一个或多个节点;在压缩后的XML文档中查找与转换后的路径编码相同、且包含从多个节点中确定的一个或多个节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点。
由于按上述压缩方法压缩后的XML文档中还包括节点的先序号,因此,步骤32中的查找转换后的路径编码所对应的数据内容的方法包括:
在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的数据内容;
若查找到的数据内容为一项,则将查找到的数据内容作为转换后的路径编码所对应的数据内容;
若查找到的数据内容为多项,则从查找出的多项数据内容中确定与查找到的节点的先序号之差为1的先序号所对应的数据内容,将确定的数据内容作为转换后的路径编码所对应的数据内容。
Schema结构中包括点(site)节点、范围(regions)节点、名称(namerica)节点、项目(item)节点、编号(id)节点、位置(location)节点、类型(categories)节点,全类型(complexType)节点,连续指示器sequence、选择指示器choice,例如某一有对应Schema的XML文档的Schema结构如下:
在该schema中,存在一个包含choice指示器的sequence指示器和一个没有子节点的sequence指示器,在choice指示器中包含三个子节点为第一子节点e1、第二子节点e2和第三子节点e3均为可选节点,该schema结构所对应的树形结构如图4所示。
以下以具体实施例进行介绍:
为了方便介绍,以下所有实施例以拥有图5所示的结构的XML文档为例,其中第一数据节点对应的数据内容为item0、第二数据节点对应的数据内容为us、第三数据节点对应的数据内容为item1、第四数据节点对应的数据内容为item2、第五数据节点对应的数据内容为CA;并对该结构进行先序号遍历,得到所有节点的先序号,如图5所示;该XML有对应的Schema结构,所述Schema结构中包含Schema节点。
实施例一:
本实施例一提供一种对有对应Schema的XML文档的压缩方法,该方法首先分离出XML文档的结构内容和数据内容;其次,分别确定节点的路径编码和数据内容的路径编码;最后,对节点的路径编码、数据内容的路径编码以及数据内容分别进行压缩;具体步骤如下:
步骤A,按照预先设置的分离方法,分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;所述数据内容包括XML文档中的标签中的属性值以及标签间的内容;
步骤B,为Schema节点中的site、regions、namerica、item、id、location、categories、category节点分别分配预先设置好的节点编号;所述节点编号与Schema节点一一对应;例如,为site、regions、namerica、item、id、location、categories、category节点分配的节点编码分别为1、2、3、4、5、6;
步骤C,确定所述结构内容中的所有节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;与节点的先序号与该节点所对应的数据内容的先序号之差为1;因此,在数据内容的路径编码与该数据内容的节点的路径编码相同;
所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
较佳的,本步骤中确定结构内容中的所有节点的路径编码包括:
将所述结构内容中的节点对应的实际路径中所包含的各节点,替换为相应节点对应的节点编码;将替换后得到的路径作为所述结构内容中的节点的路径编码;所述节点的实际路径通过该节点以及结构内容中的其他节点标识所述节点在结构内容中的实际存储路径;例如,获得“namerica”节点的实际路径为“/site/regions/namerica”,根据步骤C中预先设置的节点编号,则该“namerica”节点的路径编码为“/1/2/3”;根据该路径编码可确定该“namerica”节点的先序号为3,对该先序号进行差值编码操作后获得编码先序号为3;以相同的方法,获得所有Schema节点的路径编码、先序号以及编码先序号;
Location节点所对应的数据内容的实际路径为“/site/regions/namerica/item/location”时,该实际路径的路径编码为“/1/2/3/4/6”,根据该路径编码可确定该路径编码对应的数据内容为“CA”和“US”,该路径编码对应的先序号为42和8;
通过上述方法,对获取所有节点和数据内容的实际路径、路径编码、先序号、编码先序号;获取结果如表1所示。
表1
步骤D,对所述节点的路径编码、节点、以及节点对应的数据内容分别进行压缩;例如,可使用现有技术对数据内容进行压缩;
步骤E,将压缩后的数据内容、节点的路径编码等其他信息保存到压缩后的XML文档中。
较佳的,为了更好的简化XML文档的结构,步骤A之前还可包括:按照预先设置的优化方式,对XML文档的Schema结构进行优化;并将优化后的信息存储在bsg文件中;所述bsg文件中包含Schema节点的节点名称、该Schema节点的子节点个数、该Schema节点的类型,所述类型包括数据类型和节点类型;该Schema节点的指示器的类型、该指示器出现的次数、结构内容和XML文档中的数据;所述指示器的类型包括all指示器、choice指示器以及sequence指示器;
较佳的,为了获得较好的压缩效果,在步骤C和步骤D之间还可进一步包括:按照预先设置的方法对数据内容进行预处理;所述预先设置的方法为现有技术,例如LZW方法;
具体的,按照预先设置的处理方法对结构内容进行处理包括,在压缩过程中生成的文档结构信息,并对所述文档结构信息进行压缩;所述文档结构信息包括数据内容的先序号序列长度;所述文档结构信息包括、且顺序为:路径的先序号序列长度、路径的先序号序列、该路径对应的数据内容的先序号序列长度、以及该路径的非确定性结构内容;所述路径的先序号序列为该路径中所有节点的先序号的组合;所述非确定性结构内容包括所述非确定性结构内容的长度、该路径中节点的指示器出现的次数、该路径中节点的子节点的个数,且当该节点包含多个子节点时,所述多个子节点按照该子节点的先序号的大小顺序排列;所述路径的先序号序列用于决定每一Schema节点的节点结构内容在结构内容中的排列顺序;
较佳的,为了保证更好的压缩效率,所述路径的先序号序列为该路径中所有节点的编码先序号的组合;
例如,图4中的优化后的XML文档的二叉树结构如图5所示;并且对该二叉树进行先序遍历,则该XML文档的部分文档结构信息为:
1103201;12013;1300;3417170......
在XML压缩文件中预先按顺序保存每个节点的路径的路径序列,此处路径可以为实际路径也可以为路径编码,如使用路径编码则可大大节省存储空间,为了方便介绍,以下简称路径;所述路径序列中包含路径的先序号序列编码,以及该先序号序列所对应的路径;该先序号序列为该路径中所有节点的编码先序号的组合;例如/site路径的先序号序列为1;/site/regions路径的先序号序列为2;/site/regions/namerica路径的先序号序列为3;
“1103201”表示:路径先序号序列长度为1,则读取路径的先序号序列为1,即/site路径,该路径对应的数据内容的先序号序列长度0,即没有与该路径对应的数据内容;所述路径的非确定性结构内容的长度为3,则读取非确定性结构内容长度为3的三个数据内容“201”;根据bsg文件可知该路径中节点的指示器为choice指示器,则“201”表示,该choice指示器出现了2次,第一次选择了site节点的第一个子节点,即regions节点,第二次选择了site节点的第二个子节点,即categories节点;
“12013”表示:路径先序号序列长度为1,则读取路径的先序号序列为2,即/site/regions路径;该路径对应的数据内容的先序号序列长度0,即该没有与该路径对应的数据内容;该路径的非确定性的结构内容长度为1,则读取非确定性的结构内容长度为1的1个数据内容“3”;根据bsg文件可知路径中节点的指示器为sequence指示器,则“3”表示,该sequence指示器出现了3次;
“1300”表示:路径的先序号序列长度为1,则读取该路径的先序号序列为3,即/site/regions/namerica路径;该路径对应的数据内容的先序号序列长度0,即没有与该路径对应的数据内容;该路径的非确定性的结构内容长度为0,则读取非确定性的结构内容长度为1的1个数据内容“3”;根据bsg文件可知该路径中节点的指示器为sequence指示器,则“3”表示,该sequence指示器出现了3次。
实施例二:
本发明实施例二提供一种对使用上述压缩方法进行压缩后的XML文档解压缩的方法,在获取并解压压缩后的节点的路径编码、压缩后的数据内容和压缩后的文档结构信息后,输出解压后的路径编码所对应的节点;根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容,解压并输出确定的数据内容的方法具体包括如下过程:
步骤一,判断所述XML文档是否带有二进制Schema图(Binaryschemagraph,bsg)文件,在确定有时,转向步骤二;所述bsg文件中包含Schema节点的节点名称、该节点的子节点个数、该节点的类型,所述类型包括数据内容类型和节点类型;该节点的指示器的类型、该指示器出现的次数、结构内容和数据内容;所述指示器的类型包括all指示器、choice指示器以及sequence指示器;
步骤二,对bsg文件进行解析,并从压缩后的Xml文件中获取压缩后的所述节点的路径编码、压缩后的所述数据内容和压缩后的文档结构信息;
步骤三,对压缩后的所述节点的路径编码进行解压操作,并输出解压后的路径编码所对应的节点;为了方便介绍,以解压所述XML文档中site节点及其子节点为例,根据site节点的路径编码输出该site节点,以及该site节点对应的标签信息,例如<site>和<site>;根据所述结构内容“1103201”,确定该site节点带有两个子节点,并分别输出这两个子节点对应的标签信息,依次输出该site节点的其余子节点所对应的标签信息;
步骤四,对压缩后的所述文档结构信息进行解压操作,根据解压后的文档结构信息确定路径编码与解压后的所述节点的路径编码相同的压缩后的数据内容,解压并输出确定的数据内容;本步骤中根据解压后的文档结构信息以及输出的节点确定压缩后的数据内容的方法为:
由于XML文档中包括节点的先序号和数据内容的先序号;因此,当与解压后的所述节点的路径编码相同的路径编码所对应的数据内容的先序号序列长度不为0时,将与解压后的所述节点的先序号之差为1的先序号所对应的压缩后的数据内容,确定为与解压后的所述节点的路径编码相同的压缩后的数据内容;例如,某一解压后的节点的路径编码为/1/2/3/4/6,根据文档结构信息确定该路径编码对应的数据内容的先序号序列长度不为0,且确定该路径编码所对应的节点的先序号为7,则在查找出拥有该路径编码/1/2/3/4/6的数据内容为“US”和“CA”,并且“US”的先序号为8,“CA”的先序号为42,节点的数据内容的先序号为节点的先序号加1,因此,将先序号“8”所对应的数据内容“US”作为需要的数据内容。
实施例三:
本实施例三提供一种对使用上述的压缩方法进行压缩后的XML文档查询的方法,由于按上述方法压缩后有对应Schema的XML文档中的节点和/或数据内容的存储路径为路径编码;因此,将查询路径转换为路径编码后,可对节点和/或数据内容进行查找,并将查找到的节点和/或数据内容作为查询结果进行输出;本步骤中,XML文档自带bsg文件,所述bsg文件中包含Schema节点的节点名称、该Schema节点的子节点个数、该Schema节点的类型,所述类型包括数据内容类型和节点类型;该Schema节点的指示器的类型、该指示器出现的次数、结构内容和数据内容;所述指示器的类型包括all指示器、choice指示器以及sequence指示器;所述bsg文件中还包含与Schema节点对应的起始标签和结束标签;该查询方法包括如下步骤:
步骤①,按照预先设置的转换方法,将输入的查询路径转换为路径编码;即将所述查询路径中所包含的节点转换为与该节点对应的节点编码,并将转换后的路径作为所述查询路径的路径编码;以为site、regions、namerica、item、id、location、categories、category节点分配的节点编码分别为1、2、3、4、5、6为例;
本步骤中,当所述查询路径为简单查询时,例如/site/regions/namerica/item/location,并将该路径中的节点转换为与该节点对应的节点编码,则转换后的路径编码为1/2/3/4/6;
当所述查询路径带有谓语时,例如/site/regions/namerica/item[2]/location,并将该路径中的节点转换为与该节点对应的节点编码,则转换后的路径编码为1/2/3/4[2]/6;所述谓语用于表示第一路径编码所对应的一个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码,例如第一路径为1/2/3/4,则谓语为[2]/;
当所述查询路径为非确定查询时,例如//items,则转换后的路径编码为//4;在二叉树中遍历查找时,所有对应节点为item节点的路径均为查询的结果,例如路径/1/2/3/4;
步骤②,在压缩后的XML文档中查找转换后的路径编码所对应的节点,将查找到的节点作为查询结果进行输出;
当带查询路径为简单路径时,按照如下方式进行查找:
在表1中的结构内容中查找拥有所述路径编码“1/2/3/4/6”的待查询location节点,当根据文档结构信息确定该待查询location节点没有子节点时,输出与该待查询节点对应的标签信息,例如,<location></location>。
当待查询路径带有谓语时,按照如下方式查询:
第一,当转换后的路径编码中的最后一个节点编码带有谓语时,在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的节点;若查找到的节点为一个、且该查找到的节点为第一路径编码所确定的节点时,则将查找到的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,则根据所述谓语从多个节点中确定一个或多个节点,并将确定的一个或多个节点作为转换后的路径编码所对应的节点,所述谓语用于表示第一路径编码所对应的一个或多个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码;例如,当带查询路径的路径编码为/1/2/3/4[2]时,选线根据/1/2/3/4查询到与该路径编码对应的节点,即三个item节点,根据谓语从查找到的所有item节点中,查找到第二个item节点,则将查找到的第二个item节点作为转换后的路径编码所对应的节点;
第二,当转换后的路径编码中除最后一个节点之外的节点带有谓语时,在压缩后的XML文档的中查找与第一路径编码相同的路径编码所对应的节点;若查找到的节点为一个,且该查找到的节点为第一路径编码所确定的节点时,在压缩后的XML文档中查找与转换后的路径编码相同、且包含查找到的节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,根据所述谓语从多个节点中确定一个或多个节点;在压缩后的XML文档中查找与转换后的路径编码相同、且包含从多个节点中确定的一个或多个节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点。例如,当带查询路径的路径编码为/1/2/3/4[2]/5时,选线根据/1/2/3/4查询到与该路径编码对应的节点,即三个item节点,根据谓语从查找到的所有item节点中,查找到第二个item节点,并确定包含查找到的第二个item节点的编码路径为/1/2/3/4/5,因此,确定/1/2/3/4[2]/5所对应的节点为id节点,将查找到的id节点作为转换后的路径编码所对应的节点;
当带查询的路径编码为/1/2/3/4[2]/6时,根据表1中的内容可知,该item节点的先序号为21,且该节点的子节点的先序号在21到38之间,因此,在先序号为21至38之间,查找是否存在节点为location的子节点,当不存在时查找失败;
当待查询路径为非确定查询路径时,查找路径中最后一个节点为item节点的所有路径;然后按照简单查询路径中查询子节点的方式,对item节点的所有子节点进行查询并输出查询结果。
当根据文档结构信息确定存在与待查找的路径编码对应的数据内容时,则查找转换后的路径编码所对应的数据内容,具体方法为:
在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的数据内容;
若查找到的数据内容为一项,则将查找到的数据内容作为转换后的路径编码所对应的数据内容;
若查找到的数据内容为多项,则从查找出的多项数据内容中确定与查找到的节点的先序号之差为1的先序号所对应的数据内容,将确定的数据内容作为转换后的路径编码所对应的数据内容,具体过程可参见实施例二。
如图6所示,本发明实施例提供一种对有对应Schema的XML文档的压缩的装置,所述装置包括:
分离单元61,用于分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
确定单元62,用于确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
压缩单元63,用于按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。
所述确定单元62用于:
将所述结构内容中的节点对应的实际路径中所包含的各节点,替换为相应节点对应的节点编码;将替换后得到的路径作为所述结构内容中的节点的路径编码;所述节点的实际路径通过该节点以及结构内容中的其他节点标识所述节点在结构内容中的实际存储路径。
所述装置还包括:
生成单元64,用于在压缩过程中生成的文档结构信息;所述文档结构信息包括数据内容的先序号序列长度以及数据的先序号;
所述压缩单元63还用于,对所述生成单元64生成的文档结构信息进行压缩。
如图7所示,本发明实施例提供一种对使用上述压缩方法进行压缩后的XML文档解压缩的装置,该装置包括:
获取单元71,用于获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
解压单元72,用于对压缩后的所述节点的路径编码进行解压操作;
所述数据确定单元73,用于根据所述解压单元72解压后的文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容;
输出单元74,用于输出所述解压单元72解压后的路径编码所对应的节点;输出所述数据确定单元73确定的数据内容。
所述XML文档中包括节点的先序号和数据内容的先序号;所述数据确定单元73具体用于:
当与解压后的所述节点的路径编码相同的路径编码所对应的数据内容的先序号序列长度不为0时,将先序号大于所述节点且小于该路径中该节点下一个节点的先序号的数据内容,确定为与解压后所述节点对应的数据内容。
如图8所述,本发明实施例提供一种对使用上述压缩方法进行压缩后的XML文档查询的装置,该装置包括:
转换单元81,用于按照预先设置的转换方法,将输入的查询路径转换为路径编码;
节点查找单元82,用于在压缩后的XML文档中查找转换后的路径编码所对应的节点;
数据查找单元83,用于查找所述节点查找单元查找出的节点所对应的数据内容;
查找输出单元84,用于将所述节点查找单元82查找到的节点作为查询结果进行输出;或者,将所述查找单元查找到的节点和所述数据查找单元83查找到的数据内容作为查询结果进行输出。
所述转换单元81具体用于:
将所述查询路径中所包含的节点转换为与该节点对应的节点编码,并将转换后的路径作为所述查询路径的路径编码。
所述节点查找单元82具体用于:
当转换后的路径编码中的最后一个节点编码带有谓语时,在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的节点;若查找到的节点为一个、且该查找到的节点为第一路径编码所确定的节点时,则将查找到的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,则根据所述谓语从多个节点中确定一个或多个节点,并将确定的一个或多个节点作为转换后的路径编码所对应的节点,所述谓语用于表示第一路径编码所对应的一个或多个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码;或者,
当转换后的路径编码中除最后一个节点之外的节点带有谓语时,在压缩后的XML文档的中查找与第一路径编码相同的路径编码所对应的节点;若查找到的节点为一个,且该查找到的节点为第一路径编码所确定的节点时,在压缩后的XML文档中查找与转换后的路径编码相同、且包含查找到的节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,根据所述谓语从多个节点中确定一个或多个节点;在压缩后的XML文档中查找与转换后的路径编码相同、且包含从多个节点中确定的一个或多个节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点。
所述数据查找单元83具体用于:
在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的数据内容;
若查找到的数据内容为一项,则将查找到的数据内容作为转换后的路径编码所对应的数据内容;
若查找到的数据内容为多项,则从查找出的多项数据内容中确定与查找到的节点的先序号之差为1的先序号所对应的数据内容,将确定的数据内容作为转换后的路径编码所对应的数据内容。
综上所述,有益效果:
采用本发明实施例提供的压缩方法,首先分离出XML文档的结构内容和数据内容;其次,分别确定节点的路径编码和数据内容的路径编码;最后,对节点的路径编码、数据内容的路径编码以及数据内容分别进行压缩;可见,该方法可实现对有对应Schema的XML文档进行压缩的操作;
采用本发明实施例提供的解压方法,在获取并解压压缩后的节点的路径编码、压缩后的数据内容的路径编码和压缩后的文档结构信息后,输出解压后的路径编码所对应的节点;根据解压后的文档结构信息确定路径编码与解压后的节点的路径编码相同的压缩后的数据内容,解压并输出确定的数据内容;可见,该方法可以对使用上述压缩方法进行压缩后的XML文档进行解压缩的操作;
采用本发明实施例提供的查询方法,由于按上述方法压缩后有对应Schema的XML文档中的节点和/或数据内容的存储路径为路径编码;因此,将查询路径转换为路径编码后,可对节点和/或数据内容进行查找,并将查找到的节点和/或数据内容作为查询结果进行输出;因此,通过该查询方法可对按上述压缩方法压缩后有对应Schema的XML文档进行查询的操作。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种对有对应Schema的XML文档的压缩方法,其特征在于,所述方法包括:
分离出XML文档的结构内容和数据内容,所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩;
其中,所述确定所述结构内容中的节点的路径编码包括:
将所述结构内容中的节点对应的实际路径中所包含的各节点,替换为相应节点对应的节点编码;将替换后得到的路径作为所述结构内容中的节点的路径编码;所述节点的实际路径通过该节点以及结构内容中的其他节点标识所述节点在结构内容中的实际存储路径。
2.如权利要求1中所述的方法,其特征在于,在将处理后的节点、节点的路径编码和所述数据内容分别进行压缩之后,进一步包括:
在压缩过程中生成的文档结构信息,并对所述文档结构信息进行压缩;所述文档结构信息包括节点的先序号以及数据内容的先序号。
3.一种对使用权利要求2所述的压缩方法进行压缩后的XML文档解压缩的方法,其特征在于,该方法包括:
获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
对压缩后的所述节点的路径编码进行解压操作,并输出解压后的路径编码所对应的节点;
对压缩后的所述文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容,解压并输出确定的数据内容。
4.如权利要求3所述的方法,其特征在于,所述根据解压后的文档结构信息以及输出的节点确定压缩后的数据内容包括:
当与解压后的所述节点的路径编码相同的路径编码所对应的数据内容的先序号序列长度不为0时,将先序号大于所述节点且小于该路径中该节点下一个节点的先序号的数据内容,确定为与解压后所述节点对应的数据内容。
5.一种对使用权利要求1所述的压缩方法进行压缩后的XML文档查询的方法,其特征在于,该方法包括:
按照预先设置的转换方法,将输入的查询路径转换为路径编码;
在压缩后的XML文档中查找转换后的路径编码所对应的节点,将查找到的节点作为查询结果进行输出;或者,在压缩后的XML文档中查找转换后的路径编码所对应的节点、以及查找到的节点所对应的数据内容,将查找到的节点和数据内容作为查询结果进行输出。
6.如权利要求5所述的方法,其特征在于,所述按照预先设置的转换方法,将输入的查询路径转换为路径编码包括:
将所述查询路径中所包含的节点转换为与该节点对应的节点编码,并将转换后的路径作为所述查询路径的路径编码。
7.如权利要求6所述的方法,其特征在于,所述压缩后的XML文档中包含数据内容的先序号;所述在压缩后的XML文档中查找转换后的路径编码所对应的节点包括:
当转换后的路径编码中的最后一个节点编码带有谓语时,在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的节点;若查找到的节点为一个、且该查找到的节点为第一路径编码所确定的节点时,则将查找到的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,则根据所述谓语从多个节点中确定一个或多个节点,并将确定的一个或多个节点作为转换后的路径编码所对应的节点,所述谓语用于表示第一路径编码所对应的一个或多个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码;或者,
当转换后的路径编码中除最后一个节点之外的节点带有谓语时,在压缩后的XML文档的中查找与第一路径编码相同的路径编码所对应的节点;若查找到的节点为一个,且该查找到的节点为第一路径编码所确定的节点时,在压缩后的XML文档中查找与转换后的路径编码相同、且包含查找到的节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,根据所述谓语从多个节点中确定一个或多个节点;在压缩后的XML文档中查找与转换后的路径编码相同、且包含从多个节点中确定的一个或多个节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点。
8.如权利要求7或6所述的方法,其特征在于,所述XML文档中包括节点的先序号和数据内容的先序号;所述查找转换后的路径编码所对应的数据内容包括:
在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的数据内容;
若查找到的数据内容为一项,则将查找到的数据内容作为转换后的路径编码所对应的数据内容;
若查找到的数据内容为多项,则从查找出的多项数据内容中确定与查找到的节点的先序号之差为1的先序号所对应的数据内容,将确定的数据内容作为转换后的路径编码所对应的数据内容。
9.一种对有对应Schema的XML文档的压缩的装置,其特征在于,所述装置包括:
分离单元,用于分离出XML文档的结构内容和数据内容;所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;
确定单元,用于确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;
压缩单元,用于按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩;
其中,所述确定单元用于:
将所述结构内容中的节点对应的实际路径中所包含的各节点,替换为相应节点对应的节点编码;将替换后得到的路径作为所述结构内容中的节点的路径编码;所述节点的实际路径通过该节点以及结构内容中的其他节点标识所述节点在结构内容中的实际存储路径。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
生成单元,用于在压缩过程中生成的文档结构信息;所述文档结构信息包括数据内容的先序号序列长度以及数据内容的先序号;
所述压缩单元还用于,对所述生成单元生成的文档结构信息进行压缩。
11.一种对使用权利要求10所述的装置进行压缩后的XML文档解压缩的装置,其特征在于,该装置包括:
获取单元,用于获取压缩后的所述节点的路径编码和压缩后的文档结构信息;
解压单元,用于对压缩后的所述节点的路径编码进行解压操作;
所述数据确定单元,用于根据所述解压单元解压后的文档结构信息进行解压操作,根据解压后的文档结构信息确定解压后的节点对应的压缩后的数据内容;
输出单元,用于输出所述解压单元解压后的路径编码所对应的节点;输出所述数据确定单元确定的数据内容。
12.如权利要求11所述的装置,其特征在于,所述数据确定单元具体用于:
当与解压后的所述节点的路径编码相同的路径编码所对应的数据内容的先序号序列长度不为0时,将先序号大于所述节点且小于该路径中该节点下一个节点的先序号的数据内容,确定为与解压后所述节点对应的数据内容。
13.一种对使用权利要求9所述的装置进行压缩后的XML文档查询的装置,其特征在于,该装置包括:
转换单元,用于按照预先设置的转换方法,将输入的查询路径转换为路径编码;
节点查找单元,用于在压缩后的XML文档中查找转换后的路径编码所对应的节点;
数据查找单元,用于查找所述节点查找单元查找出的节点所对应的数据内容;
查找输出单元,用于将所述节点查找单元查找到的节点作为查询结果进行输出;或者,将所述查找单元查找到的节点和所述数据查找单元查找到的数据内容作为查询结果进行输出。
14.如权利要求13所述的装置,其特征在于,所述转换单元具体用于:
将所述查询路径中所包含的节点转换为与该节点对应的节点编码,并将转换后的路径作为所述查询路径的路径编码。
15.如权利要求14所述的装置,其特征在于,所述压缩后的XML文档中包含数据内容的先序号;所述节点查找单元具体用于:
当转换后的路径编码中的最后一个节点编码带有谓语时,在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的节点;若查找到的节点为一个、且该查找到的节点为第一路径编码所确定的节点时,则将查找到的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,则根据所述谓语从多个节点中确定一个或多个节点,并将确定的一个或多个节点作为转换后的路径编码所对应的节点,所述谓语用于表示第一路径编码所对应的一个或多个节点,第一路径编码是由转换后的路径编码中带有所述谓语的节点编码与该带有所述谓语的节点编码之前的各节点编码所确定的路径编码;或者,
当转换后的路径编码中除最后一个节点之外的节点带有谓语时,在压缩后的XML文档的中查找与第一路径编码相同的路径编码所对应的节点;若查找到的节点为一个,且该查找到的节点为第一路径编码所确定的节点时,在压缩后的XML文档中查找与转换后的路径编码相同、且包含查找到的节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点;若查找到的节点为多个,根据所述谓语从多个节点中确定一个或多个节点;在压缩后的XML文档中查找与转换后的路径编码相同、且包含从多个节点中确定的一个或多个节点所对应的节点编码的路径编码;将该查找到的路径编码所对应的节点作为转换后的路径编码所对应的节点。
16.如权利要求12或14所述的装置,其特征在于,所述XML文档中包括节点的先序号和数据内容的先序号;所述数据查找单元具体用于:
在压缩后的XML文档的中查找与转换后的路径编码相同的路径编码所对应的数据内容;
若查找到的数据内容为一项,则将查找到的数据内容作为转换后的路径编码所对应的数据内容;
若查找到的数据内容为多项,则从查找出的多项数据内容中确定与查找到的节点的先序号之差为1的先序号所对应的数据内容,将确定的数据内容作为转换后的路径编码所对应的数据内容。
CN201110456661.1A 2011-12-30 2011-12-30 一种压缩、解压及查询文档的方法、装置 Expired - Fee Related CN103186611B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201110456661.1A CN103186611B (zh) 2011-12-30 2011-12-30 一种压缩、解压及查询文档的方法、装置
US14/119,172 US8768900B2 (en) 2011-12-30 2012-12-31 Method and device for compressing, decompressing and querying document
KR1020137030777A KR101499441B1 (ko) 2011-12-30 2012-12-31 문서를 압축, 역압축 및 조회하는 방법 및 장치
JP2014519409A JP5800441B2 (ja) 2011-12-30 2012-12-31 文書の圧縮、解凍及び照会のための方法及び装置
EP12863927.5A EP2697728A4 (en) 2011-12-30 2012-12-31 METHOD AND APPARATUS FOR COMPRESSION, DECOMPRESSION AND DOCUMENT INTERROGATION
PCT/CN2012/088009 WO2013097802A1 (en) 2011-12-30 2012-12-31 Method and device for compressing, decompressing and querying document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110456661.1A CN103186611B (zh) 2011-12-30 2011-12-30 一种压缩、解压及查询文档的方法、装置

Publications (2)

Publication Number Publication Date
CN103186611A CN103186611A (zh) 2013-07-03
CN103186611B true CN103186611B (zh) 2016-03-30

Family

ID=48677780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110456661.1A Expired - Fee Related CN103186611B (zh) 2011-12-30 2011-12-30 一种压缩、解压及查询文档的方法、装置

Country Status (6)

Country Link
US (1) US8768900B2 (zh)
EP (1) EP2697728A4 (zh)
JP (1) JP5800441B2 (zh)
KR (1) KR101499441B1 (zh)
CN (1) CN103186611B (zh)
WO (1) WO2013097802A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2605481A1 (de) * 2011-12-13 2013-06-19 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Filtern von Netzwerkverkehr
US9104730B2 (en) * 2012-06-11 2015-08-11 International Business Machines Corporation Indexing and retrieval of structured documents
CN105095237B (zh) 2014-04-30 2018-07-17 国际商业机器公司 用于生成非关系数据库的模式的方法和设备
CN106372042B (zh) * 2016-08-31 2019-09-24 北京奇艺世纪科技有限公司 一种文档内容获取方法和装置
CN107609072B (zh) * 2017-09-01 2020-11-20 联想(北京)有限公司 一种数据处理方法及装置
CN109241498B (zh) * 2018-06-26 2023-08-15 中国建设银行股份有限公司 Xml文件处理方法、设备和存储介质
CN112329281A (zh) * 2019-07-31 2021-02-05 比亚迪股份有限公司 文件查错方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073663A (zh) * 2009-11-24 2011-05-25 北大方正集团有限公司 一种快速处理xml压缩数据的方法及其装置
CN102214170A (zh) * 2010-04-06 2011-10-12 北京大学 一种xml数据压缩和解压缩方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084341A (ja) * 1999-06-21 2008-04-10 Fujitsu Ltd 構造化文書の圧縮方法および圧縮装置並びに構造化文書圧縮プログラムを記録したコンピュータ読取可能な記録媒体
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
JP3832807B2 (ja) * 2001-06-28 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
US7415665B2 (en) * 2003-01-15 2008-08-19 At&T Delaware Intellectual Property, Inc. Methods and systems for compressing markup language files
KR20040070894A (ko) * 2003-02-05 2004-08-11 삼성전자주식회사 Xml 데이터의 압축 방법 및 압축된 xml 데이터의복원 방법
KR100803285B1 (ko) * 2003-10-21 2008-02-13 한국과학기술원 역 산술 부호화와 타입 추론 엔진을 이용한 질의 가능 엑스-엠-엘 압축 방법
CN1314208C (zh) 2003-11-28 2007-05-02 北京大学 可扩展标记语言数据流压缩器及其压缩方法
US20050144556A1 (en) * 2003-12-31 2005-06-30 Petersen Peter H. XML schema token extension for XML document compression
US7630997B2 (en) * 2005-03-23 2009-12-08 Microsoft Corporation Systems and methods for efficiently compressing and decompressing markup language
US7593949B2 (en) * 2006-01-09 2009-09-22 Microsoft Corporation Compression of structured documents
JP2009543243A (ja) * 2006-07-12 2009-12-03 エクスプウェイ 構造化文書の圧縮のための方法と装置
JP2010287052A (ja) * 2009-06-11 2010-12-24 Fujitsu Ltd 検索システムおよび記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073663A (zh) * 2009-11-24 2011-05-25 北大方正集团有限公司 一种快速处理xml压缩数据的方法及其装置
CN102214170A (zh) * 2010-04-06 2011-10-12 北京大学 一种xml数据压缩和解压缩方法及系统

Also Published As

Publication number Publication date
EP2697728A4 (en) 2014-04-09
CN103186611A (zh) 2013-07-03
WO2013097802A1 (en) 2013-07-04
US8768900B2 (en) 2014-07-01
EP2697728A1 (en) 2014-02-19
KR101499441B1 (ko) 2015-03-06
KR20140056172A (ko) 2014-05-09
US20140089277A1 (en) 2014-03-27
JP5800441B2 (ja) 2015-10-28
JP2014521159A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
CN103186611B (zh) 一种压缩、解压及查询文档的方法、装置
CN102033954B (zh) 关系数据库中可扩展标记语言文档全文检索查询索引方法
Olteanu et al. XPath: looking forward
CN101719156B (zh) 一种在关系型数据库中无缝集成纯xml查询引擎的系统
EP1580671A2 (en) Data mapping with nested tables
CN102650992A (zh) 用于二进制xml数据的生成及其节点定位的方法和装置
US20090222419A1 (en) Succinct index structure for xml
CN111831626A (zh) 数据库逻辑关系的图结构生成方法、数据查询方法及装置
CN101216824B (zh) 一种将树型结构数据库发布为分布式xml数据库的方法
CN101833588B (zh) 一种xml文档索引结构
Reggiori et al. Indexing and retrieving Semantic Web resources: the RDFStore model
Hsu et al. UCIS-X: an updatable compact indexing scheme for efficient extensible markup language document updating and query evaluation
KR20110071651A (ko) 무선 방송 스트림에서 xml 질의 처리 방법
CN110321456B (zh) 一种海量不确定xml近似查询方法
US11074401B2 (en) Merging delta object notation documents
CN104679775A (zh) 一种基于Huffman表的数据处理方法
CN102831151B (zh) 电子文档的生成方法和装置
Arora et al. Iterative method for recreating a binary tree from its traversals
Amin et al. Labeling schemes to support dynamic updates on XML trees: A technical review
CN102867054A (zh) 一种xml关键字查询方法
Wei et al. A new and effective approach to GML documents compression
Deng et al. LAF: a new XML encoding and indexing strategy for keyword‐based XML search
Zhang et al. An approach of domain ontology construction based on resource model and Jena
이준희 Space-efficient Representation of Semi-structured Document Formats Utilizing Succinct Data Structures
JP5374456B2 (ja) 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FOUNDER INFORMATION INDUSTRY HOLDING CO., LTD. BEI

Free format text: FORMER OWNER: BEIJING FOUNDER APABI TECHNOLOGY CO., LTD. BEIJING UNIV.

Effective date: 20130904

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130904

Address after: 100871 Beijing, Haidian District into the house road, founder of the building on the 9 floor, No. 298

Applicant after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Applicant after: FOUNDER INFORMATION INDUSTRY HOLDINGS Co.,Ltd.

Applicant after: FOUNDER APABI TECHNOLOGY Ltd.

Applicant after: Peking University

Address before: 100871 Beijing, Haidian District into the house road, founder of the building on the 9 floor, No. 298

Applicant before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Applicant before: FOUNDER APABI TECHNOLOGY Ltd.

Applicant before: Peking University

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee after: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee after: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Patentee after: Peking University

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: FOUNDER INFORMATION INDUSTRY HOLDINGS Co.,Ltd.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: Peking University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220915

Address after: 3007, Hengqin international financial center building, No. 58, Huajin street, Hengqin new area, Zhuhai, Guangdong 519031

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: FOUNDER APABI TECHNOLOGY Ltd.

Patentee after: Peking University

Address before: 100871, Beijing, Haidian District Cheng Fu Road 298, founder building, 9 floor

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: PKU FOUNDER INFORMATION INDUSTRY GROUP CO.,LTD.

Patentee before: FOUNDER APABI TECHNOLOGY Ltd.

Patentee before: Peking University

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160330