[发明专利]XML数据的压缩有效
申请号: | 200980160715.0 | 申请日: | 2009-07-31 |
公开(公告)号: | CN102473175A | 公开(公告)日: | 2012-05-23 |
发明(设计)人: | D.B.埃尔津加;S.克里什纳穆尔蒂 | 申请(专利权)人: | 惠普开发有限公司 |
主分类号: | G06F17/21 | 分类号: | G06F17/21;G06F9/06 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 段俊峰;卢江 |
地址: | 美国德*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | xml 数据 压缩 | ||
背景技术
数据压缩涉及将原始数据编码成使用比原来的原始数据更少比特的表示。这种压缩是有用的,因为需要较少的资源来存储和/或传输压缩的数据。然而,只有压缩数据的创作者和压缩数据的用户二者都能够取得编码方案,压缩才是有用的。
XML(可扩展标记语言)是用于结构化数据的开放标准。XML将数据结构与数据内容分离,以及从而提供用于数据归档的基于标准的良好平台。然而,XML通常将原来的结构化数据的大小扩大10-20倍,除非XML数据被压缩。此外,标准的数据压缩技术倾向于将XML数据缩减到仅大约非压缩数据内容的原来大小。Lempel-Ziv (LZ)压缩是数据压缩技术的一个示例。
操纵、访问或以其他方式解析压缩XML文件一般要求该文件首先被解压缩。这通常导致需要将整个XML文件读入到存储器中,或者从该文件顺序地读取数据。示例解析技术包括DOM XML解析、SAX XML解析和VTD XML解析。
由于上述原因以及由于在阅读并理解本说明书后对本领域的技术人员将变得显而易见的其他原因,在本领域中存在对用于压缩XML数据的可选方法和装置的需求。
附图说明
图1示出了根据本公开实施例的适合于压缩XML源数据的示例性计算机系统100。
图2A-2C共同表示待用于描述本公开实施例的各个特征的XML源数据的示例。
图3A-3C共同表示根据本公开实施例的响应于图2A-2C的XML源数据而生成的压缩数据结构的示例。
图4是根据本公开实施例的用于生成图3C的压缩数据结构的样本压缩字典的表示。
图5描绘了根据本公开实施例的将图2A-2C的XML源数据的数据结构的层级表示为树索引。
图6A-6B表示根据本公开实施例的压缩文件结构。
具体实施方式
在下文对本实施例的详细描述中,参考形成其一部分的附图,并且在附图中通过图示方式示出了可以实践的本公开的特定实施例。对这些实施例进行了充分详细的描述,以使得本领域的技术人员能够实践本公开的主题,并且要理解的是,可以利用其他实施例并且可以做出过程、电或机械的改变而不脱离本公开的范围。因此,下文详细描述不要被理解为限制性含义,并且本公开的范围仅由随附的权利要求及其等效物限定。
XML(可扩展标记语言)是存储并传送数据的数据结构。XML包括根元素,所有其他元素依赖于该根元素。每个元素包括开始标签(例如,<Root_Element>)以及结束标签(例如,</Root_Element>)。每个元素在其开始和结束标签之间可以包括其他元素(即,子元素)或文本内容(即,数据内容)。包含子元素的任何元素将被视为该子元素的父元素。子元素将分成两类,即包含其他元素的那些元素以及仅包含数据内容的那些元素。
各种实施例提供了一种方法,该方法用于以高压缩比将XML数据归档并且同时实现对压缩XML数据的高速、随机访问而不需要读取或解压缩整个文件。各种实施例通过重组数据结构以将元素名称和数据内容分离来促进压缩和访问。首先识别XML数据的层级。将共享相同结构的数据层级的组物理地归集到一起作为父元素和仅包含数据内容的任何其子元素。为与表示父元素的元素名称相关的每个元素类型定义层级组。也就是说,作为一个或多个子元素的父元素的每个元素将表示元素类型,并且将与相同层级分组在一起。注意的是,特定层级组的元素类型可能进一步包含一个或多个包含其他元素的子元素,这对于进一步作为其他元素的父元素的每个这种子元素而言将导致不同元素类型的另一层级组。
通过将数据层级分组,可以将通常冗长的元素名称与数据内容分离,并且对该层级仅存储一次而非被重复,从而转换数据结构。为层级内的每个实例创建计数器,因为其被逻辑地移到相同层级的块。这允许解压缩复制层级之间的相对顺序。这一过程生成表示XML源数据文件的压缩版本的文件,例如纯文本文件。
对于某些实施例,创建跳转列表以促进压缩文件的随机访问。跳转列表可以包含指示与特定元素类型相关的元素名称的列表的位置和元素名称的长度,以及用于该元素类型的一个或多个实例的与跟该特定元素类型相关的元素名称对应的数据内容的位置的值。例如,跳转列表可以包含指示与特定元素类型相关的元素名称的列表在压缩文件中的位置的值以及指示该元素名称的列表的长度的值;指示表示该特定元素类型的第一实例的数据内容的数据值的列表在压缩文件中的位置和其长度的值;指示表示该特定元素类型的第二实例的数据内容的数据值的列表在压缩文件中的位置和其长度的值等。跳转列表可以与压缩文件分离,或者其可以被添加到压缩文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普开发有限公司,未经惠普开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980160715.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:收纳装置
- 下一篇:氮化物半导体装置及其制造方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置