CN102629258B - 重复数据删除方法和装置 - Google Patents

重复数据删除方法和装置 Download PDF

Info

Publication number
CN102629258B
CN102629258B CN201210050119.0A CN201210050119A CN102629258B CN 102629258 B CN102629258 B CN 102629258B CN 201210050119 A CN201210050119 A CN 201210050119A CN 102629258 B CN102629258 B CN 102629258B
Authority
CN
China
Prior art keywords
data
data block
duplication
fingerprint
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210050119.0A
Other languages
English (en)
Other versions
CN102629258A (zh
Inventor
张砚波
周龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201210050119.0A priority Critical patent/CN102629258B/zh
Publication of CN102629258A publication Critical patent/CN102629258A/zh
Application granted granted Critical
Publication of CN102629258B publication Critical patent/CN102629258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种重复数据删除方法和装置。涉及计算机应用领域;解决了重复数据删除过程中误删的问题。该方法包括:生成各数据块的指纹;当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。本发明提供的技术方案适用于大规模数据存储,实现了准确的数据删除。

Description

重复数据删除方法和装置
技术领域
本发明涉及计算机应用领域,尤其涉及一种重复数据删除方法和装置。
背景技术
伴随着数据存储的TB甚至是PB级方式高速增长,提出了基于重复数据删除的绿色存储的概念。重复数据删除可以降低存储系统的采购成本、节约电力、减少散热。随着存储虚拟化的发展,基于块级的重复数据删除技术成为主流技术。重复数据删除的过程是需要使用哈希算法生成数据块的指纹,然后进行指纹的对比进行判断是否是重复的数据块,将指纹相同的数据块认定为同样的数据块,为相同的数据块建立一个索引,将新的数据块指向已经存在的相同数据块上;不同的数据块就需要重新在主存储上进行存储操作。
然而,现在的重复数据删除中,主要在方案、性能以及安全上存在上如下缺点:
1、数据安全问题:存储架构中软件和硬件有可能是不同厂商生产的,如果两者有一个损坏,就很有可能造成数据的丢失,还有就是在重复数据删除策略中,两个不同的数据块有可能经过哈希算法生成相同的指纹(哈希值),如果发生就会将唯一的数据块删除。
2、主存性能问题:在块级的重复数据删除技术中,重复数据删除的比率和性能与系统中分的数据块的粒度有很大关系。细致的粒度(数据块比较小)会带来更高的重复数据删除比率。但是,细致的粒度也意味着重复数据删除过程中会生成大量的指纹值,建立更多的索引,消耗更多的计算资源,造成重复数据删除性能下降,存储过程漫长的问题。
综上,现有的重复数据删除技术准确性较差,运算效率较低。
发明内容
本发明提供了一种重复数据删除方法和装置,解决了重复数据删除过程中误删的问题。
一种重复数据删除方法,包括:
生成各数据块的指纹;
当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;
在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。
优选的,所述当存在多个指纹相同的数据块时,从后端存储中调出所述数据块进行比较的步骤之后,还包括:
在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块。
优选的,所述生成各数据块的指纹的步骤之前,还包括:
将存储数据分成不固定大小的数据块。
优选的,所述将存储数据分成不固定大小的数据块具体为:
将存储数据分成64字节(byte)以下的不固定大小的数据块。
优选的,所述生成各数据块的指纹具体为:
利用哈希算法计算各数据块的指纹。
优选的,生成各数据块的指纹的步骤之后,还包括:
将不大于56byte的数据块分为一组,将大于56byte且小于64byte的数据块分为另一组。
本发明还提供了一种重复数据删除装置,包括:
指纹生成模块,用于生成各数据块的指纹;
比较模块,用于当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;
删除执行模块,用于在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。
优选的,上述重复数据删除装置还包括:
数据保留模块,用于在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块。
优选的,上述重复数据删除装置还包括:
数据块划分模块,用于将存储数据分成不固定大小的数据块,具体将存储数据分成64字节(byte)以下的不固定大小的数据块。
优选的,所述数据块划分模块,还用于将不大于56byte的数据块分为一组,将大于56byte且小于64byte的数据块分为另一组。
本发明提供了一种重复数据删除方法和装置,生成各数据块的指纹,当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较,在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除,避免了重复数据删除过程中的误删,解决了现有的重复数据删除技术准确性较差,运算效率较低的问题。
附图说明
图1为本发明的实施例一提供的一种重复数据删除方法的流程图;
图2为本发明的实施例中所使用的一种改进的哈希算法流程图;
图3为重删过程策略改进流程图;
图4为本发明的实施例三提供的一种重复数据删除装置的结构示意图。
具体实施方式
现有的重复数据删除技术中,容易出现误删、系统运算压力大等问题。为了解决上述问题,本发明的实施例提供了一种重复数据删除方法。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
首先对本发明的实施例一进行说明。
本发明的实施例提供了一种高效、安全的重复数据删除方法,使用该方法完成重复数据删除的流程如图1所示,包括:
步骤101、将存储数据分成不固定大小的数据块;
图2为改进的哈希算法流程图,从该图可以看出,存储的数据按照是否大于64byte进行不确定性大小的分块,当数据≤64byte时就不需要进行循环的切割分组处理,将不大于56byte时分成一组,大于56byte小于64byte时分成一组。
步骤102、生成各数据块的指纹;
本步骤中,为步骤101划分得到的各个分块分别生成指纹。本发明实施例所采用的指纹计算方法为:
通过内容识别之后将数据进行分组处理,按照不确定大小的分块进行分组,以长度64byte为是否再次划分组的标准进行,这种方法可以将大量的计算和查找操作直接用相应值代替,可以降低系统资源的利用,降低CPU的消耗,提供更高的性能。本发明实施例所使用的指纹计算方法分块的粒度小,保证重复数据删除的力度,同时结合产品的性能,不会造成系统压力过大
步骤103、当存在多个指纹相同的数据块时,从后端存储中调出所述数据块进行比较;
本步骤中,首先按照存储数据的日期/时间戳记信息进行有规律的不固定分块,利用上面提到的哈希算法计算指纹,在内存里先把指纹值进行比较,指纹值相同时,为了保证重删的安全性,需要到存储中把这个指纹值的块调出来,与这个数据块做一次二进制比较。
步骤104、在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除;
如果步骤103的比较结果为两个数据块相同就需要删除。
步骤105、在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块;
如果步骤103的比较结果为两个数据块不同,则将两个数据块均存储到后端存储阵列中。
优选的,本步骤采用双机存储索引表来增加安全性和读取性能。
下面结合附图,对本发明的实施例二进行说明。
本发明提供了一种重复数据删除方法,图3是重删过程策略改进流程图,当用户需要存储新的数据时,首先按照数据的日期/时间戳记信息进行不固定的分块,选定一个分组标准,再利用如图2所示的改进的哈希算法进行指纹计算,将计算出来的指纹值跟内存中索引进行第一次比较,如果指纹值在内存中没有索引记录,直接进行存储,在索引表中插入新的索引即可;如果指纹值在索引表中有记录,这就表明这个块数据很有可能存储过,但是为了保证数据的安全,防止误删操作的发生,需要进行按照二进制进行比对,如果第二次比对结果还一样,就可以进行数据的删除,将删除数据块的指针指向已经存在的相同块的索引,结果不一样,存储即可。
为了保护索引表的安全性,消除单点故障问题,建立一种双机的索引表保护机制,在这两台机器中都保留了自己的Hash索引,当其中的一台发生故障,另外一台可以接管索引表的维护工作,这样不仅增加了安全性,还可以为用户提供双倍的吞吐及处理能力,对重复数据删除的效率也不会产生降低。
下面结合附图,对本发明的实施例三进行说明。
本发明实施例提供了一种重复数据删除装置,其结构如图4所示,包括:
指纹生成模块401,用于生成各数据块的指纹;
比较模块402,用于当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;
删除执行模块403,用于在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。
优选的,上述重复数据删除装置还包括:
数据保留模块404,用于在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块。
优选的,上述重复数据删除装置还包括:
数据块划分模块405,用于将存储数据分成不固定大小的数据块,具体将存储数据分成64字节(byte)以下的不固定大小的数据块。
优选的,所述数据块划分模块405,还用于将不大于56byte的数据块分为一组,将大于56byte且小于64byte的数据块分为另一组。
本发明的实施例提供了一种重复数据删除方法和装置,生成各数据块的指纹,当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较,在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除,避免了重复数据删除过程中的误删,解决了现有的重复数据删除技术准确性较差,运算效率较低的问题。
在主存储设备上,利用改进的哈希算法和双机共同存储索引表的机制满足对重复数据的高效存储、安全的需求。
在数据往存储设备上进行存储时,根据数据的日期/时间戳记信息进行不确定大小的分块,生成指纹值,按照重复数据删除的安全策略进行数据的存储,对索引表实现双机共同存储的机制,保护重要数据。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

Claims (5)

1.一种重复数据删除方法,其特征在于,包括:
将存储数据分成不固定大小的数据块,具体为:将存储数据分成64字节以下的不固定大小的数据块;
生成各数据块的指纹;
将不大于56字节的数据块分为一组,将大于56字节且小于64字节的数据块分为另一组;
当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;
在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。
2.根据权利要求1所述的重复数据删除方法,其特征在于,所述当存在多个指纹相同的数据块时,从后端存储中调出所述数据块进行比较的步骤之后,还包括:
在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块。
3.根据权利要求1所述的重复数据删除方法,其特征在于,所述生成各数据块的指纹具体为:
利用哈希算法计算各数据块的指纹。
4.一种重复数据删除装置,其特征在于,包括:
数据块划分模块,用于将存储数据分成不固定大小的数据块,具体将存储数据分成64字节以下的不固定大小的数据块;还用于将不大于56字节的数据块分为一组,将大于56字节且小于64字节的数据块分为另一组;
指纹生成模块,用于生成各数据块的指纹;
比较模块,用于当存在多个指纹相同的数据块时,从后端存储中调出所述多个指纹相同的数据块进行比较;
删除执行模块,用于在所述多个指纹相同的数据块也全部相同时,对所述数据块执行重复数据删除。
5.根据权利要求4所述的重复数据删除装置,其特征在于,该装置还包括:
数据保留模块,用于在所述多个指纹相同的数据块中存在与其他数据块不同的数据块时,保留该与其他数据块不同的数据块。
CN201210050119.0A 2012-02-29 2012-02-29 重复数据删除方法和装置 Active CN102629258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210050119.0A CN102629258B (zh) 2012-02-29 2012-02-29 重复数据删除方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210050119.0A CN102629258B (zh) 2012-02-29 2012-02-29 重复数据删除方法和装置

Publications (2)

Publication Number Publication Date
CN102629258A CN102629258A (zh) 2012-08-08
CN102629258B true CN102629258B (zh) 2013-12-18

Family

ID=46587518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210050119.0A Active CN102629258B (zh) 2012-02-29 2012-02-29 重复数据删除方法和装置

Country Status (1)

Country Link
CN (1) CN102629258B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981969A (zh) * 2012-11-21 2013-03-20 记忆科技(深圳)有限公司 重复数据删除的方法及其固态硬盘
CN103473179B (zh) * 2013-08-09 2017-04-19 记忆科技(深圳)有限公司 后台系统及其删除固态硬盘重复数据的方法
WO2015061995A1 (zh) * 2013-10-30 2015-05-07 华为技术有限公司 数据处理方法、装置及重删处理器
WO2015089728A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 重复数据处理方法、装置及存储控制器和存储节点
CN107077456B (zh) 2014-09-25 2020-06-26 慧与发展有限责任合伙企业 用于存储数据的装置、方法和存储介质
CN104408111B (zh) * 2014-11-24 2017-12-15 浙江宇视科技有限公司 一种删除重复数据的方法及装置
CN104484402B (zh) * 2014-12-15 2018-02-09 新华三技术有限公司 一种删除重复数据的方法及装置
CN105260133B (zh) * 2015-09-22 2019-04-30 Tcl移动通信科技(宁波)有限公司 一种移动终端emmc的数据写入方法及系统
CN105786651B (zh) * 2016-02-29 2018-12-04 北京航空航天大学 一种面向备份任务的重复数据删除方法
US10417202B2 (en) 2016-12-21 2019-09-17 Hewlett Packard Enterprise Development Lp Storage system deduplication
CN106790653B (zh) * 2017-01-17 2020-04-24 上海泓智信息科技有限公司 文件传输处理方法及装置
CN106990914B (zh) * 2017-02-17 2020-06-12 北京同有飞骥科技股份有限公司 数据删除方法及装置
JP7048289B2 (ja) * 2017-12-08 2022-04-05 キオクシア株式会社 情報処理装置および方法
CN110348269B (zh) * 2018-04-02 2021-07-20 杭州海康威视数字技术股份有限公司 一种指纹录入方法、装置、系统及电子设备
CN109408475B (zh) * 2018-10-19 2019-07-26 广州鼎甲计算机科技有限公司 重复数据删除过程中的数据处理方法和系统
CN109951490A (zh) * 2019-03-27 2019-06-28 远光软件股份有限公司 基于区块链的网页防篡改方法、系统及电子设备
CN110245130A (zh) * 2019-04-23 2019-09-17 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备及存储介质
CN110427348B (zh) * 2019-07-31 2021-01-12 江西融合科技有限责任公司 基于大数据的智慧安防系统数据共享方法
CN110618789B (zh) * 2019-08-14 2021-08-20 华为技术有限公司 一种重复数据的删除方法及装置
CN110445257A (zh) * 2019-08-16 2019-11-12 佳源科技有限公司 一种基于物联网架构的智能变电站辅助系统综合监控平台
CN112783417A (zh) * 2019-11-01 2021-05-11 华为技术有限公司 数据缩减的方法、装置、计算设备和存储介质
CN111090397B (zh) * 2019-12-12 2021-10-22 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882141A (zh) * 2009-05-08 2010-11-10 北京众志和达信息技术有限公司 一种实现重复数据数据删除的方法和系统
CN102156727A (zh) * 2011-04-01 2011-08-17 华中科技大学 一种采用双指纹哈希校验的重复数据删除方法
CN102185889A (zh) * 2011-03-28 2011-09-14 北京邮电大学 基于iSCSI的重复数据删除方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882141A (zh) * 2009-05-08 2010-11-10 北京众志和达信息技术有限公司 一种实现重复数据数据删除的方法和系统
CN102185889A (zh) * 2011-03-28 2011-09-14 北京邮电大学 基于iSCSI的重复数据删除方法
CN102156727A (zh) * 2011-04-01 2011-08-17 华中科技大学 一种采用双指纹哈希校验的重复数据删除方法

Also Published As

Publication number Publication date
CN102629258A (zh) 2012-08-08

Similar Documents

Publication Publication Date Title
CN102629258B (zh) 重复数据删除方法和装置
US10120751B2 (en) Techniques to recover data using exclusive OR (XOR) parity information
CN102222085B (zh) 一种基于相似性与局部性结合的重复数据删除方法
CN101777017B (zh) 一种连续数据保护系统的快速恢复方法
US20190042571A1 (en) Update-Insert for Key-Value Storage Interface
US20170123995A1 (en) Efficient redundant array of independent disks (raid) write hole solutions
CN102841759B (zh) 一种针对超大规模虚拟机集群的存储系统
US20180089074A1 (en) Techniques to Manage Key-Value Storage at a Memory or Storage Device
CN106663047A (zh) 用于优化的签名比较和数据复制的系统和方法
CN103019887B (zh) 数据备份方法及装置
CN103631538A (zh) 冷热数据识别门限值计算方法、装置和系统
EP3316150B1 (en) Method and apparatus for file compaction in key-value storage system
CN105224237A (zh) 一种数据存储方法及装置
CN108027713A (zh) 用于固态驱动器控制器的重复数据删除
CN103942292A (zh) 虚拟机镜像文件处理方法、装置及系统
CN103870514A (zh) 重复数据删除方法和装置
KR101341507B1 (ko) 수정된 b+트리 노드 검색 방법 및 장치
CN104050057B (zh) 一种历史感知的数据去重碎片消除方法与系统
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN107422989A (zh) 一种Server SAN系统多副本读取方法及存储架构
CN109460406A (zh) 一种数据处理方法及装置
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
CN107423425A (zh) 一种对k/v格式的数据快速存储和查询方法
CN103645995B (zh) 写数据的方法及装置
CN107003932A (zh) 多核处理器系统的缓存目录处理方法和目录控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant