基于重复数据删除的数据压缩方法和装置制造方法及图纸

技术编号:8533148 阅读:188 留言:0更新日期:2013-04-04 16:20
本发明专利技术提供了一种基于重复数据删除的数据压缩方法,包括以下步骤:将原文件分割成多个数据块;使用MD5算法计算多个数据块的哈希指纹;在哈希表中查询哈希指纹;当哈希表中不存在哈希指纹时,使用lz77算法将多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在哈希表中;将数据块偏移量、数据块长度保存在.meta文件中;当所有的数据块均处理完成后,将至少包括文件名、数据块个数、.meta文件长度的信息作为元数据保存在.meta文件的尾部;将.meta文件追加到.data文件的尾部;以及重命名.data文件。

【技术实现步骤摘要】

本专利技术总体上涉及计算机领域,更具体地,涉及基于重复数据删除的数据压缩方法和装置
技术介绍
随着信息化技术的发展和深入,企业对数据的依赖不断增强。与此同吋,急速增长的数据量也给管理和使用都带来了全新的挑战。面对数据的爆炸性增长,仅仅提高系统运算能力和增加存储介质容量已经不能满足高速发展的各种数据应用,对高效数据缩减技术的需求已经逐步显现出来,并且越来越迫切。目前能够实现数据缩减的技术主要有两种数据压缩和重复数据删除。数据压缩技术通过对数据重新编码来降低其冗余度;而重复数据删除技术则着眼于删除重复出现的数据块。数据压缩的基本原理如下首先,数据中间常存在一些多余成分,既冗余度。如在一份计算机文件中,某些符号会重复出现、某些符号比其他符号出现得更频繁、某些字符总是在各数据块中可预见的位置上出现等,这些冗余部分便可在数据编码中除去或減少。冗余度压缩是ー个可逆过程,因此叫做无失真压缩,或称保持型编码。其次,数据中间尤其是相邻的数据之间,常存在着相关性。如图片中常常有色彩均匀的背影,电视信号的相邻两帧之间可能只有少量的变化影物是不同的,声音信号有时具有一定的规律性和周期性等等。因此,有可能利用某些变换来尽可能地去掉这些相关性。但这种变换有时会带来不可恢复的损失和误差,因此叫做不可逆压缩,或称有失真编码、摘压缩等。此外,人们在欣赏音像节目吋,由于耳、目对信号的时间变化和幅度变化的感受能力都有一定的极限,如人眼对影视节目有视觉暂留效应,人眼或人耳对低于某一极限的幅度变化已无法感知等,故可将信号中这部分感觉不出的分量压缩掉或“掩蔽棹”。这种压缩方法同样是ー种不可逆压缩。ー种数据缩减技术,通常用于基于磁盘的备份系统,g在减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。高度冗余的数据集(例如备份数据)从数据重复删除技术的获益极大;用户可以实现10比I至50比I的缩减比。而且,重复数据删除技术可以允许用户的不同站点之间进行高效,经济的备份数据复制。备份设备中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使磁盘上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。数据压缩技术可以降低数据块内部的冗余,重复数据删除技术可以降低数据块之间的冗余,然而,现有技术中并未披露过将两者有机结合的任何技术方案。
技术实现思路
为此,本专利技术提供了一种基于重复数据删除的数据压缩方法,包括以下步骤将原文件分割成多个数据块;使用MD5算法计算多个数据块的哈希指纹;在哈希表中查询哈希指纹;当哈希表中不存在哈希指纹时,使用lz77算法将多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在哈希表中;将数据块偏移量、数据块长度保存在.meta文件中;当所有的数据块均处理完成后,将至少包括文件名、数据块个数、 meta文件长度的信息作为元数据保存在.meta文件的尾部;将.meta文件追加到.data文件的尾部;以及重命名.data文件。 其中,当哈希表中存在哈希指纹时,直接将数据块偏移量、数据块长度保存在.meta文件中。其中,在将.meta文件追加到.data文件的尾部之后,删除.meta文件。其中,在进行解压操作时,根据元数据逐步解压多个数据块,将原文件还原。此外,还提供了一种基于重复数据删除的数据压缩装置,包括分割模块,用于将原文件分割成多个数据块;计算模块,用于使用MD5算法计算多个数据块的哈希指纹;查询模块,用于在哈希表中查询哈希指紋;第一保存模块,用于在哈希表中不存在哈希指纹时,使用lz77算法将多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在哈希表中;第二保存模块,用于将数据块偏移量、数据块长度保存在.meta文件中;第三保存模块,用于当所有的数据块均处理完成后,将至少包括文件名、数据块个数、.meta文件长度的信息作为元数据保存在.meta文件的尾部;追加模块,用于将.meta文件追加到.data文件的尾部;以及重命名模块,用于重命名.data文件。其中,当哈希表中存在哈希指纹时,直接通过第二保存模块将数据块偏移量、数据块长度保存在.meta文件中。其中,在将.meta文件追加到.data文件的尾部之后,删除.meta文件。其中,在进行解压操作时,根据元数据逐步解压多个数据块,将原文件还原。附图说明当结合附图进行阅读时,根据下面详细的描述可以更好地理解本专利技术。应该强调的是,根据エ业中的标准实践,各种部件没有被按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增加或减少图1是示出了根据本专利技术的示例性实施例的基于重复数据删除的数据压缩方法的流程图;以及图2是示出了根据本专利技术的示例性实施例的基于重复数据删除的数据压缩装置的框图。具体实施例方式为了实施本专利技术的不同部件,以下描述提供了许多不同的实施例或示例。以下描述元件和布置的特定示例以简化本专利技术。当然这些仅仅是示例并不打算限定。再者,以下描述中第一部件形成在第二部件上可包括其中第一和第二部件以直接接触形成的实施例,并且也可包括其中额外的部件形成插入到第一和第二部件中的实施例,使得第一和第二部件不直接接触。为了简明和清楚,可以任意地以不同的尺寸绘制各种部件。在本实施例中,如图1所示,提供了一种基于重复数据删除的数据压缩方法,包括以下步骤将原文件分割成多个数据块;使用MD5算法计算这些数据块的哈希指紋,即计算数据块的md5值;在哈希表hashtable中查询哈希指纹;当哈希表中不存在哈希指纹时,使用lz77算法将多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在哈希表中;将数据块偏移量、数据块长度保存在.meta文件中;当所有的数据块均处理完成后,将至少包括文件名、数据块个数、.meta文件长度的信息作为元数据保存在.meta文件的尾部;将.meta文件追加到.data文件的尾部;以及重命名.data文件。MD5算法即Message-Digest Algorithm 5 (信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。lz77算法是ー种基于字典的无损数据压缩算法。. meta文件是存放元数据信息的文件。. data文件是存放数据块的文件。优选地,当哈希表中存在哈希指纹时,直接将数据块偏移量、数据块长度保存在.meta文件中。优选地,在将.meta文件追加到.data文件的尾部之后,删除.meta文件。优选地,在进行解压操作时,根据元数据逐步解压多个数据块,将原文件还原。 此外,如图2所示,还提供了一种基于重复数据删除的数据压缩装置,包括分割模块201,用于将原文件分割成多个数据块;计算模块203,用于使用MD5算法计算多个数据块的哈希指纹;查询模块205,用于在哈希表中查询哈希指纹;第一保存模块207,用于在哈希表中不存在哈希指纹时,使用lz77算法将本文档来自技高网
...

【技术保护点】
一种基于重复数据删除的数据压缩方法,其特征在于,包括以下步骤:将原文件分割成多个数据块;使用MD5算法计算所述多个数据块的哈希指纹;在哈希表中查询所述哈希指纹;当所述哈希表中不存在所述哈希指纹时,使用lz77算法将所述多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在所述哈希表中;将数据块偏移量、数据块长度保存在.meta文件中;当所有的数据块均处理完成后,将至少包括文件名、数据块个数、.meta文件长度的信息作为元数据保存在.meta文件的尾部;将.meta文件追加到.data文件的尾部;以及重命名.data文件。

【技术特征摘要】
1.一种基于重复数据删除的数据压缩方法,其特征在于,包括以下步骤将原文件分割成多个数据块;使用MD5算法计算所述多个数据块的哈希指纹;在哈希表中查询所述哈希指纹;当所述哈希表中不存在所述哈希指纹时,使用1ζ77算法将所述多个数据块压缩后保存在.data文件中,并将至少包括指纹和数据块偏移量的信息保存在所述哈希表中;将数据块偏移量、数据块长度保存在.meta文件中;当所有的数据块均处理完成后,将至少包括文件名、数据块个数、.meta文件长度的信息作为元数据保存在.meta文件的尾部;将.meta文件追加到.data文件的尾部;以及重命名.data文件。2.根据权利要求1所述的方法,其特征在于,当所述哈希表中存在所述哈希指纹时,直接将数据块偏移量、数据块长度保存在.meta文件中。3.根据权利要求1所述的方法,其特征在于,在将.meta文件追加到.data文件的尾部之后,删除.meta文件。4.根据权利要求1所述的方法,其特征在于,在进行解压操作时,根据所述元数据逐步解压所述多个数据块,将所述原文件还原。5.一种基于重复数据删除的数据压缩装置,其特征在于,包括分割模块,用...

【专利技术属性】
技术研发人员:彭成付根希姜国梁苗艳超刘新春邵宗有
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1