一种压缩、解压及查询文档的方法、装置制造方法及图纸

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

【技术实现步骤摘要】

本专利技术涉及计算机应用
,尤其涉及一种压缩、解压及查询文档的方法、装置
技术介绍
可扩展标记语言(Extensible Markup language, XML)作为一种常用的数据存储语言,已经被广泛使用。由于在XML文档中存在着大量的数据冗余,因此,在使用过程中人们通常通过专门的XML压缩方法对XML文档进行数据压缩。常用的XML压缩方法主要分为两种:第一种,为不支持查询的压缩方法;如果想要从使用该方法压缩得到的XML文档中查询并得到部分XML数据,需要先将整个XML文档解压缩,然后进行查询,并获取查询后的结果; 第二种,为支持查询的XML压缩方法;该方法支持直接从压缩后的XML文档中查询并得到部分XML数据。该方法使用XPath、XQuery等来作为查询已压缩的XML文档的查询语言,该查询语言是基于路径从XML文档查找信息的语言工具;路径为在XML文档的结构中从某一节点开始定位到目标节点所经过的所有节点构成的序列,一般会采用所经过节点的名字与一些特殊符号组合成一个字符串来表示。其中XPath并没有着眼于XML数据的文本表征,而是对其中抽象的逻辑结构树进行操作,其名称正是来源于其使用一种类似于统一资源标识符(Uniform Resource Identifier,.〗)中路径表示方式来在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文档的结构内容和数据内容;其次,分别确定节点的路径编码和数据内容的路径编码;最后,对节点的路径编码、数据内容的路径编码以及数据内容分别进行压缩;如图本文档来自技高网
...

【技术保护点】
一种对有对应Schema的XML文档的压缩方法,其特征在于,所述方法包括:分离出XML文档的结构内容和数据内容,所述结构内容为XML文档中的标签中除属性值以及标签间的内容之外的其他内容;确定所述结构内容中的节点的路径编码;根据预先保存的所述节点的先序号,确定所述节点所对应的数据内容;所述节点的路径编码通过所述节点和所述结构内容中的其他节点标识该节点在结构内容中的存储位置;按照预先设置的方法对所述结构内容中的节点以及节点的路径编码进行处理,并将处理后的节点、节点的路径编码和所述数据内容分别进行压缩。

【技术特征摘要】

【专利技术属性】
技术研发人员:仇睿恒胡薇
申请(专利权)人:北大方正集团有限公司北京方正阿帕比技术有限公司北京大学
类型:发明
国别省市:

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

1