一种针对无损压缩文件的数据去重方法

文档序号:10552978阅读:937来源:国知局
一种针对无损压缩文件的数据去重方法
【专利摘要】本发明提出一种针对无损压缩文件的数据去重方法。该方法利用压缩文件本身存在的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名(File Signature)来识别重复的压缩文件。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名来识别重复文件。若压缩文件本身不存在校验码,则通过计算提取校验码或者使用哈希算法计算出哈希值作为文件签名进行重复文件的识别。该方法还可以与已有的重复数据删除技术结合起来,填补无法对压缩文件进行数据去重的技术空白。
【专利说明】
一种针对无损压缩文件的数据去重方法
技术领域
[0001]本发明属于计算机信息存储技术领域,具体涉及一种针对无损压缩文件的数据去重方法。
【背景技术】
[0002]在信息存储技术领域,数据压缩是用于缩减数据量的常用手段。数据压缩包含无损压缩和有损压缩。无损压缩主要通过在一定的范围内统计原始数据的冗余信息,利用冗余统计信息对原始数据进行重新编码,去除冗余数据,以此达到减少数据量的目的。不同的无损压缩算法有着不同的编码方法。无损压缩广泛应用于文本数据、程序和特殊应用场合的图像数据等需要精确存储数据的压缩。有损压缩方法则利用了人类视觉、听觉对图像、声音中的某些频率成分不敏感的特性,允许压缩的过程中损失一定的信息。有损压缩广泛应用于语音、图像和视频数据的压缩。
[0003]随着数据量的爆炸性增长,除了数据压缩之外,重复数据删除技术在最近十年内跃然成为另一种缩减数据量的有力工具。重复数据删除技术是指对数据流进行分块,通过发现并去除冗余数据块来达到缩减数据量的目的。一般来说,数据块的平均大小在4K至32K,甚至更大。重复数据删除技术是一种新兴的无损压缩方法,主要应用在大规模存储系统,弥补了传统的无损数据压缩方法无法在数据块级别去除冗余数据的缺陷。
[0004]在现有的存储系统中,重复数据删除已被视为一个常规性的功能部件出现存储系统中。但是,对于压缩文件(即采用传统的压缩方法压缩过的文件),重复数据删除并不能发现其潜在的冗余数据。这主要是因为相同或相似的文件,通过采用不同的压缩算法进行压缩之后,会得到与原始文件完全不同的数据流,导致重复数据删除技术无法识别其潜在的冗余数据。而在存储系统中,为了缩减数据量,很多文件都采用压缩文件的形式进行传输和存储,无法识别压缩文件潜在的冗余数据是重复数据删除技术的一大缺陷。本发明提出一种针对无损压缩文件的数据去重方法,该方法能有效地识别和去除压缩文件中的冗余数据,填补了无法对压缩文件进行数据去重的技术空白。

【发明内容】

[0005]本发明提出一种针对无损压缩文件的数据去重方法。该方法利用压缩文件本身存在的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名(File Signature)来识别重复的压缩文件,若两个文件的校验码相同,则认为这两个压缩文件相同,以此去除重复文件。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名来识别重复文件。若压缩文件本身不存在校验码,则通过计算提取校验码或者使用哈希算法计算出哈希值作为文件签名进行重复文件的识别。同时,该方法还可以与已有的重复数据删除技术结合起来,加强重复数据删除技术的去重效果,填补了无法对压缩文件进行数据去重的技术空白。
[0006]本发明提出一种针对无损压缩文件的数据去重方法。具体步骤为:
[0007](I)提取压缩包里每个压缩文件的文件签名(File Signature),具体步骤为:
[0008](1.1)提取每个压缩文件现有的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名。
[0009](1.2)若压缩文件本身不存在校验码,则计算压缩文件(压缩之前的原始文件)的校验码作为文件签名。
[0010](1.3)除了使用校验码之外,也可以采用哈希算法,如MD5,SHA-1等,计算压缩文件(压缩之前的原始文件)的哈希值作为文件签名。
[0011](2)若存在两个文件的文件签名相同,则标记为重复文件,否则标记为非重复文件。具体步骤为:
[0012](2.1)在文件签名库(File Signature store)里查找是否具有(I)得出的文件签名。
[0013](2.2)若在文件签名库里找到(I)得到的文件签名,则标识(I)中的对应的文件为重复文件,不需要存储或传输该文件内容。
[0014](2.3)若在文件签名库里没有找到(I)得到的文件签名,则标识(I)中的对应的文件为非重复文件,并将(I)得到的文件签名存储至文件签名库。
[0015](2.4)若和已有的重复数据删除方法相结合,则(2.1)、(2.2)和(2.3)可以使用已有的重复数据删除方法的文件签名库。
[0016](3)去除(2)中识别出的重复文件,构建新的压缩包以及压缩包谱。其中新压缩包是指在(I)所指的压缩包中去除(2.2)识别出的重复文件之后重新构建的新压缩包。压缩包谱则描述(I)所指的压缩包由哪些文件组成,方便以后恢复(I)所指的压缩包。
[0017](4)若和系统已有的重复数据删除方法相结合,则转入已有的重复数据删除步骤,否则,去重过程结束。
【附图说明】
[0018]图1为本发明的模块结构示意图;
[0019]图2为本发明的流程示意图;
【具体实施方式】
[0020]本发明涉及的主体有客户端和存储服务器。【具体实施方式】包括两种:I)独立处理模式:客户端向存储服务器传送压缩文件,存储服务器对压缩文件进行处理。2)协作模式:客户端和存储服务器互相协作对压缩文件进行处理。
[0021]图1为本发明的模块结构示意图。主要包含五部分:文件签名提取模块101,重复文件识别模块102,文件签名库管理模块103,压缩包和压缩包谱构建模块104,重复数据删除模块105。文件签名提取模块101用于提取压缩包里每个压缩文件的文件签名;重复文件识别模块102通过咨询文件签名库,查找出重复的文件;文件签名库管理模块103用于管理存储文件签名的文件签名库;压缩包和压缩包谱构建模块用于构建新的不包含重复文件的压缩包以及对应的压缩包谱。重复数据删除模块105是指系统已有的用于删除重复数据的重复数据删除模块。在独立处理模式的实施方式中,上述所有的模块均存在存储服务器上;而在协作处理模式中,文件签名提取模块101与压缩包和压缩包谱构建模块104在客户端上,重复文件识别模块102与文件签名库管理模块103在存储服务器上,重复数据删除模块则根据系统已有的方式既可以存在客户端上,也可以存在存储服务器上。
[0022]图2为本发明的流程示意图,其中使用循坏冗余校验码(CRC校验码)作为压缩文件的数据完整性校验码。具体为:
[0023](I)读取压缩包文件;
[0024](2)查看压缩包里的一个压缩文件,文件签名提取模块101提取该压缩文件的文件签名,具体步骤为:
[0025](2.1)查看该压缩文件是否存在CRC校验码,若存在CRC校验码,则采用该CRC校验码作为文件签名;若不存在该校验码,则重新计算该压缩文件(压缩之前的原始文件)的CRC校验码作为文件签名。另外,在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和CRC校验码一起作为文件签名;(2.2)若与已有的重复数据删除方法相结合,也可以采用哈希算法计算文件哈希值作为该压缩文件的文件签名;
[0026](3)重复文件识别模块102在文件签名库中查找步骤(2)得到的文件签名,若找到相同的文件签名,则标记步骤(2)查看的压缩文件为重复文件;否则,标记步骤(2)查看的压缩文件为非重复文件;
[0027](4)文件签名库管理模块103将步骤(3)标记的非重复文件的文件签名写入文件签名库中;
[0028](5)查看该压缩包是否还有未识别的压缩文件,若有,则转步骤(2),否则进入下一步骤;
[0029](6)压缩包和压缩包谱构建模块104重新构建压缩包和对应的压缩包谱,去除步骤
(3)标记的重复文件;
[0030](7)若系统已有重复数据删除方法,已有的重复数据删除模块105将处理(6)得到的新压缩包和压缩包谱;否则,针对压缩文件的去重过程结束。
【主权项】
1.本发明提出一种针对无损压缩文件的数据去重方法。具体步骤为: (1)提取压缩包里每个压缩文件的文件签名(FileSignature),具体步骤为: (1.1)提取每个压缩文件现有的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名。 (1.2)若压缩文件本身不存在校验码,则计算压缩文件(压缩之前的原始文件)的校验码作为文件签名。 (1.3)除了使用校验码之外,也可以采用哈希算法,如MD5,SHA-1等,计算压缩文件(压缩之前的原始文件)的哈希值作为文件签名。 (2)若存在两个文件的文件签名相同,则标记为重复文件,否则标记为非重复文件。具体步骤为: (2.1)在文件签名库(File Signature store)里查找是否具有(I)得出的文件签名。 (2.2)若在文件签名库里找到(I)得到的文件签名,则标识(I)中的对应的文件为重复文件,不需要存储或传输该文件内容。 (2.3)若在文件签名库里没有找到(I)得到的文件签名,则标识(I)中的对应的文件为非重复文件,并将(I)得到的文件签名存储至文件签名库。 (2.4)若和已有的重复数据删除方法相结合,则(2.1)、(2.2)和(2.3)可以使用已有的重复数据删除方法的文件签名库。 (3)去除(2)中识别出的重复文件,构建新的压缩包以及压缩包谱。其中新压缩包是指在(I)所指的压缩包中去除(2.2)识别出的重复文件之后重新构建的新压缩包。压缩包谱则描述(I)所指的压缩包由哪些文件组成,方便以后恢复(I)所指的压缩包。 (4)若和系统已有的重复数据删除方法相结合,则转入已有的重复数据删除步骤,否贝IJ,去重过程结束。
【文档编号】G06F17/30GK105912622SQ201610213219
【公开日】2016年8月31日
【申请日】2016年4月5日
【发明人】谭玉娟, 晏志超
【申请人】重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1