1、10申请公布号CN102323958A43申请公布日20120118CN102323958ACN102323958A21申请号201110330421722申请日20111027G06F17/3020060171申请人上海文广互动电视有限公司地址200041上海市静安区南京西路651号广电大厦23楼72发明人安然谈川玉卢宝丰74专利代理机构上海唯源专利代理有限公司31229代理人曾耀先54发明名称重复数据删除方法57摘要本发明公开了一种重复数据删除方法,包括写入文件,对所述文件进行变长分块,形成不同长度的复数个数据块并计算所述数据块的哈希值;通过对所述哈希值进行抽样,形成所述文件的抽样数据;通
2、过比较所述文件的抽样数据与现有文件的抽样数据,定位所述文件的一相似性组;通过比较所述文件的哈希值和一元数据库中所述相似性组的哈希值,确定重复数据块;去重保存非重复数据块;生成元文件,并将所述非重复数据块的哈希值保存至所述元数据库中。由于采用了本发明的一种重复数据删除方法,实现了可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,对系统在线业务的影响降至最低,具有可靠性高、稳定性好、去重率更高的特点。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书6页附图2页CN102323968A1/1页21一种重复数据删除方法,其特征在于,包括以下步骤写入文件,对所
3、述文件进行变长分块,形成不同长度的复数个数据块并计算所述数据块的哈希值;通过对所述哈希值进行抽样,形成所述文件的抽样数据;通过比较所述文件的抽样数据与现有文件的抽样数据,定位所述文件的一相似性组;通过比较所述文件的哈希值和一元数据库中所述相似性组的哈希值,确定重复数据块;去重保存非重复数据块;生成元文件,并将所述非重复数据块的哈希值保存至所述元数据库中。2根据权利要求1所述的重复数据删除方法,其特征在于,所述变长分块采用滑动窗口技术,根据文件内容进行数据切分。3根据权利要求2所述的重复数据删除方法,其特征在于,当计算所述数据块的哈希值时,通过所述滑动窗口技术中一滑动窗口滑动前的哈希值,滑入字节
4、值和滑出字节值计算所述滑动窗口滑动后的内部字节数组的哈希值。4根据权利要求1所述的重复数据删除方法,其特征在于,当计算所述数据块的哈希值时,限定一所述数据块大小的最小值,从所述数据块头部最小值区间内的数据不进行哈希值计算。5根据权利要求1所述的重复数据删除方法,其特征在于,当在比较所述文件的抽样数据与现有文件的抽样数据时,若所述文件的抽样数据与当前现有文件的抽样数据的相似度超过一定数值,则确定当前现有文件的抽样数据对应的数据组为所述文件的一相似性组。6根据权利要求1所述的重复数据删除方法,其特征在于,所述数据块按照似性组分组保存。7根据权利要求1所述的重复数据删除方法,其特征在于,所述元文件是
5、原文件的数据描述,包含了原文件的各项文件属性等内容,并记录了原文件各数据块的存放位置。8根据权利要求1所述的重复数据删除方法,其特征在于,当系统收到一读写请求时,进一步包括以下步骤判断目标文件是否为经过重删操作的文件;若所述目标文件未经过重删操作,直接读写所述目标文件;若所述目标文件经过重删操作,则对所述目标文件的元文件进行解析,定位读写请求的目标数据块;完成读写等操作。9根据权利要求1所述的重复数据删除方法,其特征在于,所述去重步骤的周期可调。权利要求书CN102323958ACN102323968A1/6页3重复数据删除方法技术领域0001本发明涉及一种数据删除方法,尤指一种重复数据删除方
6、法。背景技术0002重复数据删除DEDUPLICATION是一种数据缩减技术,旨在减少存储系统中使用的存储容量。它通过删除存储系统中重复的数据,只保留其中的一份,从而消除冗余数据。重复数据删除技术可以很大程度上减少对物理存储空间的消耗。0003重复数据删除技术根据数据处理方式可分为在线处理方式INLINE与后处理方式POSTPROCESS。0004在线处理方式的重复数据删除方法是在数据写入磁盘之前执行重复数据删除。在线处理的重复数据删除在一定程度上减少了数据量,但同时也存在一个问题,去重操作本身会降低数据吞吐速率,造成业务性能的降低。另外,由于重复数据删除是在写入到磁盘之前进行的,因此重复数据
7、删除处理过程本身就是一个单点故障。0005后处理方式的重复数据删除方法是在数据写到磁盘后再执行重复数据删除。数据先被写入到临时的磁盘空间,之后再开始重复数据删除,最后将经过重复数据删除的数据写入磁盘。由于重复数据删除是数据写入磁盘后再在单独的存储设备上执行的,因此一般对正常业务处理几乎不产生影响。但由于目前的后处理方式不能对系统资源的占用进行动态调整,也不具备优先保障在线业务性能的功能,当系统占用率过大时,还是会对系统在线业务造成影响。0006重复数据删除技术根据去重粒度可以分为文件级、文件块级、字节级。0007文件级的重复数据删除以文件为单位来检测、删除重复数据。该方式的优点是算法简单,计算
8、速度快,缺点是去重率低。0008文件块级的重复数据删除将一个文件按不同的方式划分成数据块,以数据块为单位进行检测。该方法的优点是计算速度快、对数据变化较敏感。0009文件块级重删按照分块方式的不同又分为定长分块与变长分块方式。0010请参阅图3,定长分块方式将文件划分为固定长度的块,但此方法对数据的插入和删除非常敏感,实际应用中数据重复度非常低,重删效果十分有限。0011字节级的重复数据删除从字节层次查找和删除重复的内容,一般通过差异压缩策略生成差异部分内容。字节级去重的优点是去重率较高,缺点是去重速度较慢。0012另外,传统重复数据删除方法,通过单个物理设备提供数据业务,进行重复数据删除时,
9、会形成故障单点,对系统可靠性带来了挑战。发明内容0013本发明的目的在于克服现有技术的缺陷,而提供一种重复数据删除方法,实现了可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,对系统在线业务的影响降至最低的重复数据删除方法,具有可靠性高、稳定性好、去重率更高,性能优的特点。说明书CN102323958ACN102323968A2/6页40014实现上述目的的技术方案是0015本发明的一种重复数据删除方法,包括0016写入文件,对所述文件进行变长分块,形成不同长度的复数个数据块并计算所述数据块的哈希值;0017通过对所述哈希值进行抽样,形成所述文件的抽样数据;0018通过比较所述文件的
10、抽样数据与现有文件的抽样数据,定位所述文件的一相似性组;0019通过比较所述文件的哈希值和一元数据库中所述相似性组的哈希值,确定重复数据块;0020去重保存非重复数据块;0021生成元文件,并将所述非重复数据块的哈希值保存至所述元数据库中。0022上述变长分块采用滑动窗口技术,根据文件内容进行数据切分,该技术对文件内容变化不敏感,插入或删除数据只会影响到较少的数据块,其余数据块不受影响。0023当计算上述数据块的哈希值时,通过所述滑动窗口技术中一滑动窗口滑动前的哈希值,滑入字节值和滑出字节值计算所述滑动窗口滑动后的内部字节数组的哈希值,提高了重删操作的运算效率。0024当计算上述数据块的哈希值
11、时,限定一所述数据块大小的最小值,从所述数据块头部最小值区间内的数据不进行哈希值计算,降低了计算开销,提高了重删操作的运行效率。0025当在比较上述文件的抽样数据与现有文件的抽样数据时,若所述文件的抽样数据与当前现有文件的抽样数据的相似度超过一定数值,则确定当前现有文件的抽样数据对应的数据组为所述文件的一相似性组。0026上述数据块按照似性组分组保存。0027上述元文件是原文件的数据描述,包含了原文件的各项文件属性等内容,并记录了原文件各数据块的存放位置。0028当系统收到一读写请求时,进一步包括以下步骤0029判断目标文件是否为经过重删操作的文件;0030若所述目标文件未经过重删操作,直接读
12、写所述目标文件;0031若所述目标文件经过重删操作,则对所述目标文件的元文件进行解析,定位读写请求的目标数据块;0032完成读写等操作。0033上述去重步骤的周期可调。0034本发明由于采用了以上技术方案,使其具有以下有益效果是0035本发明中的重复数据删除基于策略的后处理式重删技术。用户可自定义重删操作的周期,控制重删操作的启动时机。重复数据删除操作在系统后台运行,对业务完全透明,可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,对系统在线业务的影响降至最低。滑动窗口技术对文件内容变化不敏感,插入或删除数据只会影响到较少的数据块,其余数据块不受影响。读写重删文件写时,无需将该文件所
13、有的数据块全部解析出来,只需定位出此次写操作影响的数据块,进行小范围的数据操作,这些措施在最大程度上说明书CN102323958ACN102323968A3/6页5保障了开启重删功能系统的业务读写性能。实现了可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,对系统在线业务的影响降至最低的重复数据删除方法,具有可靠性高、稳定性好、去重率更高,性能优的特点。附图说明0036图1为本发明一种重复数据删除方法的流程图;0037图2为本发明一种重复数据删除方法的变长分块技术原理图;0038图3为现有技术的定长分块技术原理图;0039图4为现有技术的相似性检测技术原理图。具体实施方式0040下面
14、结合附图和具体实施例对本发明作进一步说明。0041请参阅图1,本发明的一种重复数据删除方法,包括以下步骤0042首先,写入文件,对该文件进行变长分块,形成不同长度的复数个数据块并计算数据块的哈希值;0043通过对哈希值进行抽样,形成该文件的抽样数据;0044通过比较文件的抽样数据与现有文件的抽样数据,定位文件的一相似性组;0045若文件的抽样数据与当前现有文件的抽样数据的相似度超过一定数值,则确定当前现有文件的抽样数据对应的数据组为文件的一相似性组。0046通过比较文件的哈希值和一元数据库中相似性组的哈希值,确定重复数据块;0047去重保存非重复数据块;0048生成元文件,并将非重复数据块的哈
15、希值保存至元数据库中。0049元文件是原文件的数据描述,包含了原文件的各项文件属性等内容,并记录了原文件各数据块的存放位置。0050数据块按照似性组分组保存。0051当系统收到一读写请求时,进一步包括以下步骤0052判断目标文件是否为经过重删操作的文件;0053若目标文件未经过重删操作,直接读写目标文件;0054若目标文件经过重删操作,则对目标文件的元文件进行解析,定位读写请求的目标数据块;0055完成读写等操作。0056上述去重步骤的周期可调。0057请参阅图2,变长分块采用滑动窗口技术,根据文件内容进行数据切分,该技术对文件内容变化不敏感,插入或删除数据只会影响到较少的数据块,其余数据块不
16、受影响。0058当计算上述数据块的哈希值时,通过滑动窗口技术中一滑动窗口滑动前的哈希值,滑入字节值和滑出字节值计算滑动窗口滑动后的内部字节数组的哈希值,提高了重删操作的运算效率。0059采用双阈值双除数算法TTTD,对重删操作进行了进一步的性能优化。当计算上述数据块的哈希值时,限定一数据块大小的最小值,从数据块头部最小值区间内的数据不说明书CN102323958ACN102323968A4/6页6进行哈希值计算,降低了计算开销,提高了重删操作的运行效率。0060方法通过一定的算法对文件数据块的哈希值HASH进行抽样,将这些抽样值与当前系统中已有数据块的哈希值对比确定文件的相似性。根据文件的相似
17、度,可将重删后的文件分成不同的相似性组。每个相似性组中,各文件的抽样HASH构成了该组的相似性索引。同一相似性组中的所有文件分块HASH保存在该组的元数据库中,供新文件写入时进行HASH比对。0061有文件需要进行重删时,先将该文件的抽样HASH值与各相似性组中文件的相似性索引进行比较,若该文件与某一相似性组的相似度超过一定数值,则确定该文件归属于该组,最后再将该文件中各个分块的HASH值与该组元数据库中HASH值相比较,存储不重复的数据块,并刷新相应的元数据。0062这种技术降低了识别重复数据过程中的数据查询次数,与传统的在线数据重删技术相比,大大提升了重复数据删除的性能。0063重复数据删
18、除功能模块部署在系统中每个集群节点上,集群中任意一个节点或数个节点故障,重删业务及用户读写业务均不会受到影响。0064重删可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,可以智能调整重删操作对系统资源的占用。重删采用了文件变长分块技术,利用了滑动分块技术以及高效的ADTER算法及TTTD算法,在文件分块运算效率上优于传统重复数据删除技术。另外,重删使用领先的文件相似性检测技术检测重复数据,这种技术通过相似性检测算法将存储系统中的文件分为多个相似性组,在组内进行数据比对,更有利于重复数据的识别,并且减少了数据比对次数。0065请参阅图4,本发明的重复数据删除使用获专利的文件相似性检测
19、技术来进行重复数据的识别。这种检测技术通过一定的算法对文件数据块的HASH值进行抽样,将这些抽样HASH值与当前系统中已有数据块的HASH值对比确定文件的相似性。根据文件的相似度,可将重删后的文件分成不同的相似性组。每个相似性组中,各文件的抽样HASH构成了该组的相似性索引。同一相似性组中的所有文件分块HASH保存在该组的元数据库中,供新文件写入时进行HASH比对。0066有文件需要进行重删时,先将该文件的抽样HASH值与各相似性组中文件的相似性索引进行比较,若该文件与某一相似性组的相似度超过一定数值,则确定该文件归属于该组,最后再将该文件中各个分块的HASH值与该组元数据库中HASH值相比较
20、,存储唯一的数据块,并刷新相应的元数据。0067这种技术降低了识别重复数据过程中的数据查询次数,与传统的在线数据重删技术相比,大大提升了重复数据删除的性能。0068我们通常使用重复数据删除比率简称重删比来衡量重复数据删除的效果。若用重删前的总数据量表示在传统存储系统中存储数据所需的空间大小,用重删后的总数据量表示在带重删的存储系统中存储相同数据所需的空间大小。这两个数值间的差异率即是重复数据删除比率。0069重复数据删除比率等于重删前的总数据量与重删后的总数据量;0070通过重复数据删除特性对文件系统中的数据进行处理时,数据集内重复数据段的数量会因为数据性质的不同而存在很大的差异,这通常取决于
21、数据文件的类型以及创建这说明书CN102323958ACN102323968A5/6页7些文件的应用程序。对具体应用场景的分析有助于我们了解重复数据删除特性在这些场景中的应用效果与价值。0071在某些特定的应用场景下,例如来自特定数据库的一组备份映像,将数据写入文件系统中时,重复数据删除的优势往往非常明显,因为每个新的写入操作只会写入该操作引入的新数据段,而在传统的数据库备份应用中,两个备份之间的数据段级差异时常只有12,尽管高变化率也会存在。在这样的应用场景下,高效的重删比将令投资者满怀信心。0072相反,在另一种应用场景下,例如保存数万份照片的素材库,重复数据删除能够取得的效果则差强人意。
22、因为不同的照片间能够找到的重复数据段数量极为有限。这将最终体现为低效的重删比。0073因此,在应用重复数据删除技术时,需要针对具体应用场景进行具体的分析。我们推荐在两种应用场景中开启重复数据删除功能,一是备份应用场景,此种场景下,数据的重复率极高,重删效果十分明显;二是虚拟机应用场景,此种场景下,存储系统中会存放大量虚拟机文件及这些文件的拷贝,数据重复率高,重删效果明显。0074重复数据删除使用了多种技术优化性能,对系统在线业务的性能几乎不会带来任何影响。0075首先,重删可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,可以智能调整重删操作对系统资源的占用。0076其次,重删采用了
23、领先的文件变长分块技术,利用了滑动分块技术以及高效的ADTER算法及TTTD算法,在文件分块运算效率上优于传统重复数据删除技术。0077另外,重删使用领先的文件相似性检测技术检测重复数据,这种技术通过相似性检测算法将存储系统中的文件分为多个相似性组,在组内进行数据比对,更有利于重复数据的识别,并且减少了数据比对次数。与传统重复数据删除技术相比,去重率更高,性能更优。0078传统重复数据删除产品中,通过单个物理设备提供数据业务,此时,重复数据删除软件以及承载该软件的物理设备都会成为故障单点,对系统可靠性带来了挑战。0079本发明将重复数据删除与ACTIVEACTIVE集群技术相结合,提供了系统级
24、的可靠性。在多节点的集群环境中,只要系统中任意一个节点仍然在正常运行,那么重复数据删除及重删数据的读写都能够顺利执行,保障了客户业务的连续性。0080本发明的重复数据删除功能通过消除数据存储空间中的冗余数据,用户可从存储空间效率上获益。这将直接体现为初期存储采购成本的降低,并且,重复数据删除功能可有效控制数据增长,也延缓了后继的存储扩容需求。另外,存储空间需求的降低使得用户无需管理大量的存储设备,带来了空间、电力、制冷及维护管理等运维成本的降低。最大限度降低TCO。0081本发明中的重复数据删除技术应用于备份应用场景时,去重效果极为明显。这种应用场景中,备份服务器将用户数据备份到NAS存储空间
25、中,通过一定的备份策略,进行全备、增备,数据重复度高。0082本发明中的重复数据删除在虚拟机应用场景中也具有较大的优势。在这种应用中,用户将大量虚拟机文件存放在存储设备中,这些文件通常包含相同的OS系统,这就意说明书CN102323958ACN102323968A6/6页8味着大量的重复数据。重删针对虚拟机文件进行了优化,可高效识别此类文件中的重复数据。0083重复数据删除是基于策略的后处理式重删技术。用户可自定义重删操作的周期,控制重删操作的启动时机。重复数据删除操作在系统后台运行,对业务完全透明。另外,与传统后处理式在线数据重删技术不同的是,本发明中的重删可动态调整重删操作对系统资源的占用,优先保障在线业务的性能,对系统在线业务的影响降至最低。0084以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。说明书CN102323958ACN102323968A1/2页9图1图2说明书附图CN102323958ACN102323968A2/2页10图3图4说明书附图CN102323958A
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1