CN103324699B - 一种适应大数据应用的快速重复数据删除方法 - Google Patents
一种适应大数据应用的快速重复数据删除方法 Download PDFInfo
- Publication number
- CN103324699B CN103324699B CN201310228696.9A CN201310228696A CN103324699B CN 103324699 B CN103324699 B CN 103324699B CN 201310228696 A CN201310228696 A CN 201310228696A CN 103324699 B CN103324699 B CN 103324699B
- Authority
- CN
- China
- Prior art keywords
- duplicate removal
- factor
- window
- data
- backup
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种适应大数据应用的快速重复数据删除方法,适用于大数据应用下的备份去重系统,解决传统基于内容识别的变长分块算法去重速率低,不能快速识别冗余数据问题;本发明在分块过程中通过调节去重因子和加速因子,在确保去重率的前提下大幅提高去重速率,能够快速进行去重检测,平衡了去重率和去重速率之间的矛盾,降低了备份窗口,节约了网络带宽和存储空间。
Description
技术领域
本发明属于计算机信息存储技术领域,特别涉及一种适应大数据应用的快速重复数据删除方法。
背景技术
信息时代,随着数据的裂变式增长,导致大数据时代来临。所谓大数据,即满足以下特点:数据体量巨大、类型繁多、价值密度低和产生速度快等。大数据时代,在数据的备份和存储过程中存在着大量冗余数据,如何消除备份过程中的重复数据以减少存储空间和网络带宽消耗已经成为存储领域一个热门研究课题。
消除备份过程中的冗余数据最有效的方式是采用重复数据删除技术。一般认为,重复数据删除技术包括面向文件级别的全文件去重技术和面向块级别的固定长度分块技术及变长分块去重技术。全文件去重技术通过比较文件的元数据信息,对整个文件进行去重检测,仅存储多个相同文件中的一个副本,冗余文件通过指针映射到该副本文件。其仅能识别文件之间的冗余数据,去重速率快但去重率低,较适用于E-mail系统、文件系统等存在大量相同文件的应用环境中。固定长度分块去重技术通告一个固定长度对文件流进行分块,计算分块后的hash值,然后通过查找hash表对hash值进行去重检测,存储节点仅存储hash值不存在的数据块。其可同时识别文件内部和文件之间的冗余数据,但对数据修改敏感,即数据一经修改便无法有效检测出冗余信息,去重速率快但去重率仍偏低。变长分块技术主要是指一种基于内容识别的分块技术,它由一个固定大小窗口按字节在文件流上滑动,每滑动一个字节计算一次该窗口内数据的弱hash值,同时判断该弱hash值是否满足预先设定的条件,若满足,则记录该偏移位置,并且设其为一个边界点;否则,继续滑动窗口。直到找到两个边界点,取两个边界点之间的数据形成一个数据块,计算该数据块的强hash值,然后对该强hash值进行去重检测,仅存储该hash值不存在的数据块且更新hash表。其针对易修改数据,能够有效检测出冗余数据,但由于窗口滑动过程中频繁计算指纹值,去重速率低,不适宜大数据应用环境。
综上所述,上述去重方法均有自己的局限性,单一的去重方法不能有效适应复杂多变的应用环境。
发明内容
本发明针对复杂多变的备份应用环境,提出了一种适应大数据应用的快速重复数据删除方法,通过调节去重因子和加速因子,可以快速消除文件内部和文件之间的冗余数据,从而降低了备份去重系统的备份窗口和存储开销。
为了实现上述目的,本发明采用如下技术方案:
一种适应大数据应用的快速重复数据删除方法,包括以下步骤:
(1)用户定制备份任务,形成备份文件流;
(2)通过一个固定长度窗口在备份文件流上按字节进行滑动,每滑动一个字节就采用RabinHash函数计算一次窗口内数据指纹值,记为rhashvalue;
(3)判断步骤(2)所计算的指纹值是否满足边界点条件:rhashvalue%D=r;其中,D为除数,其值随机确定;r为模数,取值为D-1;若不满足,则转入步骤(2)继续进行滑动窗口;若满足,则转入步骤(4);
(4)以步骤(3)找到的满足边界点条件的窗口位置为界对备份文件流进行划分,形成CDC变长块,同时记录变长块个数以及当前边界点位置,同时进入步骤(5)和(8);
(5)判断备份文件流是否划分结束,若结束,则整个分块过程结束;若未结束,则进入步骤(6);
(6)判断CDC变长块个数是否等于去重因子,若不相等,则转入步骤(2)继续滑动窗口;若相等,则进入步骤(7);
(7)清零CDC变长块个数,即重新开始计数,并且从上一个划分的块的边界点位置开始按加速因子进行固定长度分块,同时进入步骤(5)和步骤(8);
(8)计算CDC变长块或定长块hash值,并进入步骤(9)去重检测过程;
(9)检索hash表,查询hash值是否存在,若存在,则更新hash表对应hash值引用次数;若不存在,则存储hash值及相应数据块内容。
本发明进一步的改进在于:步骤(2)中所述固定长度窗口的长度为48bytes或50bytes。
本发明进一步的改进在于:步骤(6)中所述去重因子为1、2、3或4。
本发明进一步的改进在于:步骤(7)中所述加速因子为4KB、8KB、16KB、32KB、64KB或128KB。
本发明一种适应大数据应用的快速重复数据删除方法中分块具体为:
(1)在定制备份任务过程中,用户根据其当前应用环境设置不同的去重因子和加速因子(去重因子范围为1~4,与去重率成正比;加速因子范围为8KB~128KB,与备份窗口成反比);
(2)对备份文件流进行基于内容识别的变长分块,同时记录变长分块的个数及最后一个变长块的后边界点位置lbp(lastbreakpoint);
(3)若该变长块个数等于用户预先设定的去重因子,进入(4),否则,继续(2);
(4)以lbp为起点重新进行固定长度分块,固定长度大小等于预先设置的加速因子,并且记录下该分块结束位置fp(fixed-sizeposition);
(5)滑动窗口从fp位置处继续滑动进行基于内容识别的变长分块,转到(2),继续进行如上分块过程;
(6)依次类推,每出现固定个数变长块,其后便紧跟着一个固定块,若剩余文件长度小于加速因子,则把剩余内容划为一块,并结束。
本发明能快速识别文件中的修改部分,并且能够保证对所有文件进行快速去重检测。在备份应用中,根据用户对备份窗口和存储空间利用率的要求不同,通过自适应调整去重因子和加速因子,既能确保识别出备份数据中的冗余信息,又能对备份数据流进行快速去重检测。然而,去重因子和加速因子是相互矛盾的:去重因子越大,识别出的冗余数据就越多,达到的去重率就越高,而去重速率就越慢;加速因子越大,去重速率就越快,备份窗口就越小,而去重率就越低。同时,当去重因子较大(小于6)或者加速因子为0时,该算法退化为完全基于内容识别的变长分块算法,可以达到较高的去重率,但去重速率会降低;当去重因子较小(不大于2)或者加速因子较大(远远大于平均分块大小)时,该算法基本退化为基于固定长度的分块算法,可以获得较高的去重速率,但去重率会降低。因此,根据备份应用场景,对于备份窗口要求较高的用户,为了达到较高的去重速率,可设置较大去重因子及适当的加速因子;对于备份窗口要求不高的用户,为了达到节约存储空间,可以设置较大的加速因子和适当的去重因子。
相对于现有技术,本发明具有以下优点:
(1)本发明通过设置去重因子,能够有效识别出数据存在修改时的冗余信息,适用于存在修改的应用环境。
(2)本发明通过设置加速因子,可减少窗口滑动的次数和hash计算的次数,进而减少去重检测过程中指纹值比较的次数,因此,可以快速进行分块去重。
(3)本发明同时适用于文件之间和文件内部的冗余数据检测,具有基于内容识别的变长分块算法和基于固定长度分块算法的共同优点,可同时获得较高的去重率和去重速率。
(4)本发明根据用户应用需求,可调整去重因子和加速因子,对于追求备份窗口的用户,可设置较大的加速因子,满足其性能要求;对于追求去重率的用户,可以设置较大的去重因子,满足其节约存储空间要求。
(5)本发明适用于大数据应用环境,由于大数据应用对处理速度的要求,可以通过调节参数(去重因子和加速因子),确保去重率的前提下,达到较高的处理速度。
综上所述,本发明通过设置加速因子和去重因子,不仅可以达到较高的去重速率,而且还能达到较高的去重率,同时,通过用户调节加速因子和去重因子两个参数,使其能够自适应不同的备份应用环境。因此,本发明可以快速进行去重检测,可以有效降低备份窗口,同时节约存储空间和网络带宽。
附图说明
图1是本发明快速重复数据删除方法的具体过程示意图。
图2是本发明整体流程示意图。
具体实施方式
下面参照说明书附图对本发明的方法作以下详细地说明。
请参阅图1至图2所示,本发明是针对备份过程中存在的冗余数据进行重复数据删除,考虑到大数据应用下现存去重方法对备份窗口的影响以及适应范围受限的问题,结合变成分块和固定长度分块算法的优点,采用去重因子和加速因子,来确保重复数据删除率且大幅提升去重速率,本发明方法的具体思想如图1所示。
重复数据删除适用于存在大量冗余数据的应用环境,例如备份系统、E-mail系统、数据迁移和灾备等,在这些应用环境下能够达到较高的去重率。然而,冗余数据的类型可分为文件之间和文件内部两类,前者是相同文件造成的冗余,它一般产生于应用操作方式,例如周期性的全备份,同一邮件的频繁转发等;后者是相似文件造成的冗余,它是在文件本身的修改过程中形成的。由于传统的去重方法仅能适应一种应用环境,例如全文件去重和固定长度分块去重适合相同文件去重检测,基于内容识别的变长分块适合相似文件去重检测,采用本发明方法可以通过设置算法参数(去重因子和加速因子),使其能够自动适应不同应用环境。例如在备份应用中,当用户对备份窗口要求较高时,可设置较大的加速因子和较小的去重因子,从而确保在较短的时间内完成对备份数据的去重检测;当用户需求节约存储空间而又对备份窗口要求不高时,可设置较大的去重因子和较小的加速因子,从而提高系统去重率。
本发明方法中的去重因子取值的范围为{1,2,3,4},加速因子的取值范围为{4KB,8KB,16KB,32KB,64KB,128KB}。当去重因子为0或者加速因子很大(远大于平均分块长度)时,其已经变成固定长度分块去重算法,该算法去重率主要受加速因子的影响,一般来说,加速因子越大,去重速率越快,而去重率就越低;反之,则相反。当去重因子较大(一般大于4)或加速因子很小时,该算法退变成基于内容识别的变长分块,其能够检测出绝大部分冗余信息,从而获得较高去重率。经大量测试实验表明,当去重因子取值在一定范围内,例如1~4,此时加速因子为某一确定值,去重率与去重因子成正比,然而当去重因子达到某一个阀值(如6)时,去重率不再变化。因此,为确保系统去重率同时提高去重速率,我们设置去重因子的取值范围为1~4,加速因子的取值范围为4KB~128KB。
本发明的方法对应的流程图如图2,其具体包括以下步骤:
(1)用户定制备份任务,形成备份文件流;
(2)通过一个固定长度(48bytes或50bytes)窗口在备份文件流上按字节进行滑动,每滑动一个字节就采用RabinHash函数计算一次窗口内数据指纹值,记为rhashvalue;
(3)判断该指纹值是否满足边界点条件rhashvalue%D=r(其中,D为除数,其值随机确定;r为模数,一般取值为D-1),若不满足,则转入步骤(2)继续进行滑动窗口;若满足,则转入步骤(4);
(4)以步骤(3)找到的满足边界点条件的窗口位置为界对备份文件流进行划分,形成CDC变长块,同时记录变长块个数以及当前边界点位置lbp(lastbreakpoint),同时进入步骤(5)和(8);
(5)判断备份文件流是否划分结束,若结束,则整个分块过程结束;若未结束,则进入步骤(6);
(6)判断CDC变长块个数是否等于去重因子{1,2,3,4},若不相等,则转入步骤(2)继续滑动窗口;若相等,则进入步骤(7);
(7)清零CDC变长块个数,即重新开始计数,并且从上一个划分的块的边界点位置lbp开始按加速因子{4KB,8KB,16KB,32KB,64KB,128KB}进行固定长度分块,同时进入步骤(5)和步骤(8)。
(8)计算CDC变长块或定长块hash值,并进入步骤(9)去重检测过程。
(9)检索hash表,查询hash值是否存在,若存在,则表明该hash值对应数据块重复,只需要更新hash表对应hash值引用次数;若不存在,则表明该hash值对应数据块为新块,需要存储hash值及相应数据块内容。
Claims (2)
1.一种适应大数据应用的快速重复数据删除方法,其特征在于,包括以下步骤:
(1)用户定制备份任务,形成备份文件流;
(2)通过一个固定长度窗口在备份文件流上按字节进行滑动,每滑动一个字节就采用RabinHash函数计算一次窗口内数据指纹值,记为rhashvalue;
(3)判断步骤(2)所计算的指纹值是否满足边界点条件:rhashvalue%D=r;其中,D为除数,其值随机确定;r为模数,取值为D-1;若不满足,则转入步骤(2)继续进行滑动窗口;若满足,则转入步骤(4);
(4)以步骤(3)找到的满足边界点条件的窗口位置为界对备份文件流进行划分,形成CDC变长块,同时记录变长块个数以及当前边界点位置,同时进入步骤(5)和(8);
(5)判断备份文件流是否划分结束,若结束,则整个分块过程结束;若未结束,则进入步骤(6);
(6)判断CDC变长块个数是否等于去重因子,若不相等,则转入步骤(2)继续滑动窗口;若相等,则进入步骤(7);
(7)清零CDC变长块个数,即重新开始计数,并且从上一个划分的块的边界点位置开始按加速因子进行固定长度分块,同时进入步骤(5)和步骤(8);
(8)计算CDC变长块或定长块hash值,并进入步骤(9)去重检测过程;
(9)检索hash表,查询hash值是否存在,若存在,则更新hash表对应hash值引用次数;若不存在,则存储hash值及相应数据块内容;
步骤(6)中所述去重因子为1、2、3或4;
步骤(7)中所述加速因子为4KB、8KB、16KB、32KB、64KB或128KB。
2.根据权利要求1所述的一种适应大数据应用的快速重复数据删除方法,其特征在于,步骤(2)中所述固定长度窗口的长度为48bytes或50bytes。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228696.9A CN103324699B (zh) | 2013-06-08 | 2013-06-08 | 一种适应大数据应用的快速重复数据删除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310228696.9A CN103324699B (zh) | 2013-06-08 | 2013-06-08 | 一种适应大数据应用的快速重复数据删除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324699A CN103324699A (zh) | 2013-09-25 |
CN103324699B true CN103324699B (zh) | 2016-03-02 |
Family
ID=49193442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310228696.9A Active CN103324699B (zh) | 2013-06-08 | 2013-06-08 | 一种适应大数据应用的快速重复数据删除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324699B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809379B2 (en) | 2019-11-19 | 2023-11-07 | International Business Machines Corporation | Storage tiering for deduplicated storage environments |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101912727B1 (ko) | 2014-02-14 | 2018-10-29 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 흐름 분할 포인트를 검색하기 위한 서버 기반 방법, 및 서버 |
CN106095971B (zh) * | 2014-02-14 | 2019-08-13 | 华为技术有限公司 | 一种基于服务器查找数据流分割点的方法及服务器 |
CN105095300A (zh) * | 2014-05-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种数据库备份方法及系统 |
CN105446964B (zh) | 2014-05-30 | 2019-04-26 | 国际商业机器公司 | 用于文件的重复数据删除的方法及装置 |
CN105206054B (zh) * | 2015-09-22 | 2017-09-29 | 杭州麟云科技有限公司 | 基于大数据分析的浮动车轨迹重复挖掘方法 |
CN105468686A (zh) * | 2015-11-17 | 2016-04-06 | 北京奇虎科技有限公司 | 减少冗余数据的方法及装置 |
CN106610794B (zh) * | 2016-11-21 | 2020-05-15 | 深信服科技股份有限公司 | 数据去重的收敛分块方法及装置 |
CN106775501B (zh) * | 2017-02-14 | 2019-06-11 | 华南师范大学 | 基于非易失内存设备的数据去冗余系统 |
CN110083743B (zh) * | 2019-03-28 | 2021-11-16 | 哈尔滨工业大学(深圳) | 一种基于统一采样的快速相似数据检测方法 |
CN113076059B (zh) * | 2021-03-05 | 2022-08-02 | 南瑞集团有限公司 | 一种基于ram分块算法的控制分块大小的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706825A (zh) * | 2009-12-10 | 2010-05-12 | 华中科技大学 | 一种基于文件内容类型的重复数据删除方法 |
CN102467571A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 重复数据删除的数据区块切分方法与新增方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110069833A1 (en) * | 2007-09-12 | 2011-03-24 | Smith Micro Software, Inc. | Efficient near-duplicate data identification and ordering via attribute weighting and learning |
-
2013
- 2013-06-08 CN CN201310228696.9A patent/CN103324699B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706825A (zh) * | 2009-12-10 | 2010-05-12 | 华中科技大学 | 一种基于文件内容类型的重复数据删除方法 |
CN102467571A (zh) * | 2010-11-17 | 2012-05-23 | 英业达股份有限公司 | 重复数据删除的数据区块切分方法与新增方法 |
Non-Patent Citations (1)
Title |
---|
重复数据删除关键技术研究进展;付印金等;《计算机研究与发展》;20120131;第49卷(第1期);第12-20页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809379B2 (en) | 2019-11-19 | 2023-11-07 | International Business Machines Corporation | Storage tiering for deduplicated storage environments |
Also Published As
Publication number | Publication date |
---|---|
CN103324699A (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324699B (zh) | 一种适应大数据应用的快速重复数据删除方法 | |
US11593313B2 (en) | Processing device configured for efficient generation of data reduction estimates for combinations of datasets | |
US9223660B2 (en) | Storage device to backup content based on a deduplication system | |
US9851917B2 (en) | Method for de-duplicating data and apparatus therefor | |
WO2015180432A1 (zh) | 一种聚簇存储方法及装置 | |
Park et al. | Characterizing datasets for data deduplication in backup applications | |
US8627026B2 (en) | Storage apparatus and additional data writing method | |
US10191934B2 (en) | De-duplication system and method thereof | |
Romański et al. | Anchor-driven subchunk deduplication | |
EP3316150B1 (en) | Method and apparatus for file compaction in key-value storage system | |
CN103488709A (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN102323958A (zh) | 重复数据删除方法 | |
CN106293525B (zh) | 一种提高缓存使用效率的方法及系统 | |
WO2016070529A1 (zh) | 一种实现重复数据删除的方法及装置 | |
US20190026191A1 (en) | Managing Data in a Storage System | |
CN103678158B (zh) | 一种数据布局优化方法及系统 | |
JP6690829B2 (ja) | 計算機システム、省電力化方法及び計算機 | |
WO2015027731A1 (zh) | 布隆过滤器生成方法和装置 | |
CN105824881A (zh) | 一种基于负载均衡的重复数据删除数据放置方法器 | |
CN104850564A (zh) | 数据文件的索引查找方法和系统 | |
CN108093024B (zh) | 一种基于数据频度的分类路由方法及装置 | |
CN102722450B (zh) | 一种基于位置敏感哈希的删冗块设备存储方法 | |
US11307788B2 (en) | Sampling fingerprints in bins | |
US10282127B2 (en) | Managing data in a storage system | |
CN113672170A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210113 Address after: Room 2003, 1801, 1804, No.13-1, Hai'an Road, Tianhe District, Guangzhou, Guangdong 510627 Patentee after: HEYU HEALTH TECHNOLOGY Co.,Ltd. Address before: 710049 No. 28 West Xianning Road, Shaanxi, Xi'an Patentee before: XI'AN JIAOTONG University |
|
TR01 | Transfer of patent right |