在存在重现的霍夫曼树的情况下加速解压缩的方法和系统技术方案

技术编号:11374514 阅读:70 留言:0更新日期:2015-04-30 12:05
本公开涉及在存在重现的霍夫曼树的情况下加速解压缩的方法和系统。为了在存在重现的霍夫曼树的情况下加速解压缩,比较霍夫曼树的紧束描述和最近使用的霍夫曼树紧束,以识别匹配,而不是根据各个数据块的压缩块的头部重构霍夫曼树,以避免霍夫曼树重构的开销。

【技术实现步骤摘要】
在存在重现的霍夫曼树的情况下加速解压缩的方法和系统
本专利技术涉及计算机,更具体地,涉及在计算存储环境中,在存在重现的霍夫曼树的情况下,加速解压缩。
技术介绍
在当今社会,计算机系统很常见。可在工作场所、家里或者学校见到计算机系统。计算机系统可包括数据存储系统或磁盘存储系统,以处理和存储数据。近年来,软件技术和硬件技术都已经历令人惊异的发展。借助新技术,增加了越来越多的功能,并为这些电子设备的使用提供更大的便利。最新的计算机技术引入的最值得注意的变化之一是图像、视频和音频的包含,以增强计算系统的能力。在多媒体时代,待处理的信息量大大增加。处理大数据文件的一种普遍方法是压缩数据,以便存储或传输。于是,处理非常大量的信息是要解决的关键问题。于是,需要提高数据压缩的效率。
技术实现思路
在一个实施例中,提供一种在计算环境中,在存在重现(reoccurring)的霍夫曼树的情况下,加速解压缩的方法。在一个实施例中,只是作为例子,比较霍夫曼树的紧束描述和最近使用的霍夫曼树紧束(compaction),以便识别匹配,而不是根据每个数据块的压缩块的头部重构霍夫曼树,从而避免霍夫曼树重构的开销。在另一个实施例中,提供一种在计算环境中,利用至少一个处理器设备,在存在重现的霍夫曼树的情况下,加速解压缩的计算机系统。计算机系统包括计算机可读介质和与计算机可读介质操作通信的处理器。在一个实施例中,只是作为例子,处理器设备中的至少一个处理器设备比较霍夫曼树的紧束描述和最近使用的霍夫曼树紧束,以便识别匹配,而不是根据每个数据块的压缩块的头部重构霍夫曼树,从而避免霍夫曼树重构的开销。在另一个实施例中,提供一种在计算环境中,利用至少一个处理器设备,在存在重现的霍夫曼树的情况下,加速解压缩的计算机程序产品。计算机可读存储介质具有保存在上面的计算机可读程序代码部分。计算机可读程序代码部分包括比较霍夫曼树的紧束描述和最近使用的霍夫曼树紧束,以便识别匹配,而不是根据每个数据块的压缩块的头部重构霍夫曼树,从而避免霍夫曼树重构的开销的可执行部分。除了上述例证方法实施例之外,提供其它的例证系统和计算机产品实施例,所述其它的例证系统和计算机产品实施例提供相关的优点。提供以上的
技术实现思路
,从而简化地介绍下面在具体实施方式中进一步说明的原理的选择。
技术实现思路
部分并不打算识别要求保护的主题的关键特征或基本特征,也不意图帮助确定要求保护的主题的范围。要求保护的主题并不局限于解决在
技术介绍
中提及的任意或所有缺陷的实现。附图说明为了易于理解本专利技术的优点,将参考在附图中图解说明的具体实施例,更详细地说明上面简述的专利技术。显然,这些附图描述本专利技术的实施例,于是不应视为对本专利技术范围的限制,通过利用附图,更特定和详细地说明和解释本专利技术,附图中:图1图解说明具有其中可实现本专利技术的各个方面的例证存储设备的计算机存储环境;图2A图解说明表示其中可实现本专利技术的各个方面的计算机系统中的数据压缩系统的硬件结构的例证方框图;图2B图解说明表示其中可实现本专利技术的各个方面的计算机系统中的数据存储系统的硬件结构的例证方框图;图3是图解说明其中可实现本专利技术的各个方面的,在存在重现的霍夫曼树的情况下,加速Inflate速度的例证方法的流程图;图4是图解说明其中可实现本专利技术的各个方面的,在存在重现的霍夫曼树的情况下,加速Inflate速度的另一种例证方法的流程图;图5是图解说明其中可实现本专利技术的各个方面的,在存在重现的霍夫曼树的情况下,加速Inflate速度的另一种例证方法的流程图。具体实施方式随着对更快、更强大和更高效的信息存储方式的需求日益增大,存储技术的优化正在变成关键挑战。逻辑数据对象(数据文件、图像文件、数据块等)可被压缩,以便传输和/或存储。数据压缩技术可用于减少待保存和/或传送的数据量,以便分别降低存储容量和/或传输时间。在一个实施例中,霍夫曼树可被反复使用,这降低计算效率,产生利用一组有限/重新出现的霍夫曼树压缩的数据的缓慢解压缩。从而,需要在计算环境中,在存在重现的霍夫曼树的情况下,加速解压缩。换句话说,本专利技术提供利用多组有限和/或重新出现的霍夫曼树压缩的数据的解压缩的显著改善。在一个实施例中,使用Deflate,Deflate是在具有由各种浏览器和加速器支持的压缩/解压缩标准的RFC1951中定义的无损数据压缩算法。Deflate利用消除重复的Lempel-Ziv算法(LZ77)和霍夫曼编码的组合。在一个实施例中,提供利用软件和硬件的Deflate标准的各种实现(例如,Zlib压缩器)。Deflate标准由顺序采用两种不同的压缩算法组成:首先采用重复查找Lempel-Ziv算法(LZ77)类压缩,之后采用霍夫曼编码压缩。霍夫曼编码是基于“霍夫曼树”的熵编码。为了对数据进行霍夫曼编码和解码,系统必须预先知道正在使用霍夫曼树。为了适应解压缩(例如,“Inflate”操作),所述霍夫曼树被编写在每个压缩块的头部。在一个实施例中,在Deflate标准中,对于霍夫曼树,存在两种选项。一个选项是“静态”树,它是为所有压缩器和解压缩器所知的单一硬编码霍夫曼树。利用静态树的优点在于其描述不必被写入压缩块的头部,并且为即时解压缩作好准备。另一方面,“动态”树专用于在手头的数据块,于是,动态树的准确描述必须被写入输出中。在一个实施例中,霍夫曼编码可利用基于熵的变长码表对源符号编码,并且如前所述,被定义成静态的或动态的。在静态霍夫曼编码中,利用在RFC中定义的固定表(SHT),编码各个文字(literal)或距离。不过,在动态霍夫曼编码中,构成特殊编码表,以更好地适应被压缩数据的统计信息。在多数情况下,与SHT相比,利用DHT获得更好的压缩比(例如,质量),代价是降低压缩率(例如,性能)和增大设计复杂性。静态和动态霍夫曼编码方法最好地反映压缩率和压缩比之间的内在折衷。静态霍夫曼方法实现比可能的压缩比低的压缩比。这归因于不管输入数据块的内容地利用固定编码表。例如,随机数据和四字母DNA序列常常利用相同的霍夫曼表编码。与利用静态霍夫曼编码相比,利用动态霍夫曼编码可提高压缩比,但是一般费时,并且需要复杂的硬件。在维持有效率的性能的同时提高压缩比的一种解决方案是分析到来数据流的第一部分,并投机性地选择将对整个数据使用的预定的预置字典(而不是通用静态字典)。找出具有相似性质的文件(例如,两个英文文本文件)的统计信息之间的高相关度。这种相关度被用于构成预定的DHT预置。匹配的预置产生两全其美的结果:接近于DHT的压缩比和接近于SHT的压缩率。这种方法提供一种具有使用的一组有限的重新出现的霍夫曼树的设置。应注意,每个数据块具有头部,所述头部(除了其它以外)还指示该数据块是利用动态树还是利用静态树进行霍夫曼编码。如果树是动态树,那么所述头部还包括将用于关于对应块的Inflate的霍夫曼树的紧束描述。Deflate标准紧束地编写霍夫曼树(以优化总的输出大小)。在Inflate(例如,解压缩)期间,首先读取紧束的树描述,随后张开紧束的树,并准备适当的数据结构,以便利用霍夫曼树,只有这样才能够开始实际的解压缩处理。这种树建立和准备过程费时,于是,与利用静态树压缩的数据相比,利用动态树压缩的数据往往具有明显更低的解压缩本文档来自技高网
...
在存在重现的霍夫曼树的情况下加速解压缩的方法和系统

【技术保护点】
一种在计算存储环境中利用处理器设备在存在重现的霍夫曼树的情况下加速解压缩的方法,所述方法包括:比较霍夫曼树的紧束描述和最近使用的霍夫曼树紧束,以便识别匹配,而不是根据每个数据块的压缩块的头部重构霍夫曼树,从而避免霍夫曼树重构的开销。

【技术特征摘要】
2013.10.21 US 14/059,4041.一种在计算存储环境中利用处理器设备在存在重现的霍夫曼树的情况下加速解压缩的方法,所述方法包括:比较霍夫曼树的紧束描述和在先霍夫曼树紧束,以便识别匹配,而不是根据每个数据块的压缩块的头部重构霍夫曼树,从而避免霍夫曼树重构的开销,以及如果在霍夫曼树的紧束描述和在先霍夫曼树紧束之一之间识别出匹配,那么利用在先霍夫曼树解压缩新的数据块。2.按照权利要求1所述的方法,还包括检查压缩块的头部,以判定所述头部是否指示编码是利用动态霍夫曼树进行的。3.按照权利要求2所述的方法,还包括进行下述至少之一:如果所述头部指示编码是利用动态霍夫曼树进行的,那么在读取在先霍夫曼树的紧束描述之前,判定在用于Inflate操作的存储器中,是否存在在先霍夫曼树,和如果在用于Inflate操作的存储器中存在在先霍夫曼树,那么比较在先霍夫曼树的紧束描述和新的数据块的头部中的紧束描述。4.按照权利要求1所述的方法,还包括进行下述至少之一:按照所述头部准备新的霍夫曼树,并保持新的数据块的头部的紧束描述的参考,和在准备新的霍夫曼树时,保存树紧束的长度。5.按照权利要求1所述的方法,还包括进行下述至少之一:松散树紧束的霍夫曼树,和比较树紧束的长度和从新的数据块的头部中的指定位置起的相同数目的比特,以确保匹配严格,并且返回关于任何两个不相同霍夫曼树的任意失配。6.按照权利要求1所述的方法,还包括把在先霍夫曼树保持在高速缓存中,以及比较头部中的新的霍夫曼树的紧束与保存在高速缓存中的在先霍夫曼树的各个紧束。7.按照权利要求6所述的方法,还包括为保存在高速缓存中的在...

【专利技术属性】
技术研发人员:D·哈尼克E·卡哈特齐恩S·马伦科夫D·索特尼科夫
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1