重复数据删除方法及装置制造方法及图纸

技术编号:11136154 阅读:122 留言:0更新日期:2015-03-12 13:10
本发明专利技术实施例公开了一种重复数据删除方法及装置。其中,重复数据删除方法,包括:将接收到的初始数据进行分块;获得每个数据分块的指纹;根据所有所述数据分块的指纹,生成所述初始数据的第一校验值;查找所述初始数据中的重复数据分块,删除所述重复数据分块;存储删除重复数据分块后的唯一块;根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验值;比较所述第一校验值和所述第二校验值,当所述第一校验值和所述第二校验值一致时,确定所述初始数据经过正确重复数据删除。通过本发明专利技术实施例,能够为重复数据删除过程中数据的准确性提供保证。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,特别是涉及一种重复数据删除方法及装置
技术介绍
重复数据删除技术是应用于存储系统的一种数据缩减技术,尤其常见于基于磁盘的备份系统中。该技术的工作方式是将备份系统中的数据进行等长或变长分成若干数据块,重复的数据块只保留其中一份,其它用指示符取代,从而消除冗余数据。现有技术,为了保证重复数据删除后存储数据的正确性,可以在底层存储采用RAID6防止双盘失效;或者,通过远程复制将当前数据再复制一份;另外,通过后台巡检定期检查重复数据删除后所存储数据的正确性。然而,在重复数据删除过程中,如果由于程序出现错误问题,或者程序受到外部攻击,可能导致重复数据删除过程中错误引用了分块,从而导致数据错误的扩大化,而重复数据删除的准确性只能通过后续的巡检操作进行确认。可见,上述现有技术中即使通过后台巡检也无法保证重复数据删除过程中数据处理的准确性。
技术实现思路
本专利技术实施例中提供了一种重复数据删除方法及装置,能够为重复数据删除过程中数据的准确性提供保证。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:一方面,提供一种重复数据删除方法,包括:将接收到的初始数据进行分块;获得每个数据分块的指纹;根据所有所述数据分块的指纹,生成所述初始数据的第一校验值;查找所述初始数据中的重复数据分块,删除所述重复数据分块;存储删除重复数据分块后的唯一块;根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验值;比较所述第一校验值和所述第二校验值,当所述第一校验值和所述第二校验值一致时,确定所述初始数据经过正确重复数据删除。结合上述一方面,在第一种可能的实现方式中,所述将接收到的初始数据进行分块,包括:将接收到的等容量的数据处理单元中的所述初始数据进行定长或变长分块,其中,所述初始数据在进行分块之前,首先划分为多个等容量的所述数据处理单元。结合上述一方面,和第一种可能的实现方式,在第二种可能的实现方式中,所述根据所有所述数据分块的指纹,生成所述初始数据的第一校验值,包括:根据各个所述数据处理单元中的所有数据分块的指纹,迭代生成对应各个所述数据处理单元的第一子校验值;将所有所述第一子校验值按照相同的迭代方式,生成所述初始数据的第一校验值。结合上述一方面,和第二种可能的实现方式,在第三种可能的实现方式中,所述存储删除重复数据分块后的唯一块,包括:将各个所述数据处理单元对应的删除重复数据分块后的唯一块存储于对应的容器中,并在所述容器中存储其中各个唯一块的指纹。结合上述一方面,和第二种可能的实现方式,在第四种可能的实现方式中,所述存储删除重复数据分块后的唯一块,包括:将各个所述数据处理单元对应的删除重复数据分块后的唯一块进行压缩处理;将完成压缩的唯一块存储于对应各个所述数据处理单元的容器中,并在所述容器中存储其中各个所述完成压缩的唯一块的指纹。结合上述一方面,和第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验值,包括:根据各个所述容器中的所有唯一块的指纹,迭代生成对应各个所述容器的第二子校验值;将所有所述第二子校验值按照相同的迭代方式,生成所述当前完成重复数据删除后数据的第二校验值。结合上述一方面,和第五种可能的实现方式,在第六种可能的实现方式中,还包括:当进行容器级巡检时,根据巡检时各个所述容器中的所有唯一块的指纹,迭代生成对应当前各个所述容器的第三子校验值;比较各个所述容器对应的所述第二子校验值和所述第三子校验值,当所述第二子校验值和所述第三子校验值不一致时,确定相应所述容器中数据破坏。结合上述一方面,和第五种或第六种可能的实现方式,在第七种可能的实现方式中,还包括:当进行空间回收检验时,根据检验时各个所述容器中的所有唯一块的指纹,迭代生成对应当前各个所述容器的第四子校验值;比较各个所述容器对应的所述第子二校验值和所述第四子校验值,当所述第二子校验值和所述第四子校验值不一致时,确定相应所述容器空间中的数据分块被错误回收。结合上述一方面,和第二种可能的实现方式,在第八种可能的实现方式中,所述根据各个所述数据处理单元中的所有数据分块的指纹,迭代生成对应各个所述数据处理单元的第一子校验值,包括:假设所述数据单元中按照初始数据组装顺序,包含N(N≥2)个数据分块,根据第一数据分块的第一指纹和第二分块的第二指纹,迭代生成第一子校验和;根据第三数据分块的第三指纹和所述第一子校验和,迭代生成第二子校验和;以此类推,直至根据第N数据分块的第N指纹和第(N-1)子校验和,迭代生成所述第一子校验值。结合上述一方面,和第八种可能的实现方式,在第九种可能的实现方式中,所述根据各个所述容器中的所有唯一块的指纹,迭代生成对应各个所述容器的第二子校验值,包括:假设所述容器中按照初始数据分块顺序,包含M(N>M≥2)个数据分块,根据第一数据分块的第一指纹和第二分块的第二指纹,迭代生成第一子校验和;根据第三数据分块的第三指纹和所述第一子校验和,迭代生成第二子校验和;以此类推,直至根据第M数据分块的第M指纹和第(M-1)子校验和,迭代生成所述第二子校验值。另一方面,提供一种重复数据删除装置,包括:数据分块模块,用于将接收到的初始数据进行分块;指纹获取模块,用于获得每个数据分块的指纹;第一校验值生成模块,用于根据所有所述数据分块的指纹,生成所述初始数据的第一校验值;重删模块,用于查找所述初始数据中的重复数据分块,删除所述重复数据分块;唯一块存储模块,用于存储删除重复数据分块后的唯一块;第二校验值生成模块,用于根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验值;校验值比较模块,用于比较所述第一校验值和所述第二校验值,当所述第一校验值和所述第二校验值一致时,确定所述初始数据经过正确重复数据删除。结合上述另一方面,在第一种可能的实现方式中,所述数据分块模块,具体将接收到的等容量的数据处理单元中的所述初始数据进行定长或变长分块,其中,所述初始数据在进行分块之前,首先划分为多个等容量的所述数据处理单元。结合上述一方面,和第一种可能的实现方式,在第二种可能的实现方式中,所述第一校验值生成模块,包括本文档来自技高网...
重复数据删除方法及装置

【技术保护点】
一种重复数据删除方法,其特征在于,包括:将接收到的初始数据进行分块;获得每个数据分块的指纹;根据所有所述数据分块的指纹,生成所述初始数据的第一校验值;查找所述初始数据中的重复数据分块,删除所述重复数据分块;存储删除重复数据分块后的唯一块;根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验值;比较所述第一校验值和所述第二校验值,当所述第一校验值和所述第二校验值一致时,确定所述初始数据经过正确重复数据删除。

【技术特征摘要】
1.一种重复数据删除方法,其特征在于,包括:
将接收到的初始数据进行分块;
获得每个数据分块的指纹;
根据所有所述数据分块的指纹,生成所述初始数据的第一校验值;
查找所述初始数据中的重复数据分块,删除所述重复数据分块;
存储删除重复数据分块后的唯一块;
根据所有所述唯一块的指纹,采用与所述第一校验值相同的生成方式,生成当前完
成重复数据删除后数据的第二校验值;
比较所述第一校验值和所述第二校验值,当所述第一校验值和所述第二校验值一致
时,确定所述初始数据经过正确重复数据删除。
2.根据权利要求1所述的方法,其特征在于,所述将接收到的初始数据进行分块,
包括:
将接收到的等容量的数据处理单元中的所述初始数据进行定长或变长分块,其中,
所述初始数据在进行分块之前,首先划分为多个等容量的所述数据处理单元。
3.根据权利要求2所述的方法,其特征在于,所述根据所有所述数据分块的指纹,
生成所述初始数据的第一校验值,包括:
根据各个所述数据处理单元中的所有数据分块的指纹,迭代生成对应各个所述数据
处理单元的第一子校验值;
将所有所述第一子校验值按照相同的迭代方式,生成所述初始数据的第一校验值。
4.根据权利要求3所述的方法,其特征在于,所述存储删除重复数据分块后的唯一
块,包括:
将各个所述数据处理单元对应的删除重复数据分块后的唯一块存储于对应的容器
中,并在所述容器中存储其中各个唯一块的指纹。
5.根据权利要求3所述的方法,其特征在于,所述存储删除重复数据分块后的唯一
块,包括:
将各个所述数据处理单元对应的删除重复数据分块后的唯一块进行压缩处理;
将完成压缩的唯一块存储于对应各个所述数据处理单元的容器中,并在所述容器中
存储其中各个所述完成压缩的唯一块的指纹。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所有所述唯一块的指纹,
采用与所述第一校验值相同的生成方式,生成当前完成重复数据删除后数据的第二校验
值,包括:
根据各个所述容器中的所有唯一块的指纹,迭代生成对应各个所述容器的第二子校
验值;
将所有所述第二子校验值按照相同的迭代方式,生成所述当前完成重复数据删除后

\t数据的第二校验值。
7.根据权利要求6所述的方法,其特征在于,还包括:
当进行容器级巡检时,根据巡检时各个所述容器中的所有唯一块的指纹,迭代生成
对应当前各个所述容器的第三子校验值;
比较各个所述容器对应的所述第二子校验值和所述第三子校验值,当所述第二子校
验值和所述第三子校验值不一致时,确定相应所述容器中数据破坏。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
当进行空间回收检验时,根据检验时各个所述容器中的所有唯一块的指纹,迭代生
成对应当前各个所述容器的第四子校验值;
比较各个所述容器对应的所述第子二校验值和所述第四子校验值,当所述第二子校
验值和所述第四子校验值不一致时,确定相应所述容器空间中的数据分块被错误回收。
9.根据权利要求3所述的方法,其特征在于,所述根据各个所述数据处理单元中的
所有数据分块的指纹,迭代生成对应各个所述数据处理单元的第一子校验值,包括:
假设所述数据单元中按照初始数据组装顺序,包含N(N≥2)个数据分块,根据第
一数据分块的第一指纹和第二分块的第二指纹,迭代生成第一子校验和;
根据第三数据分块的第三指纹和所述第一子校验和,迭代生成第二子校验和;
以此类推,直至根据第N数据分块的第N指纹和第(N-1)子校验和,迭代生成所
述第一子校验值。
10.根据权利要求9所述的方法,其特征在于,所述根据各个所述容器中的所有唯
一块的指纹,迭代生成对应各个所...

【专利技术属性】
技术研发人员:余健钟延辉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1