重复数据删除技术.docx

上传人:b****3 文档编号:5424908 上传时间:2022-12-16 格式:DOCX 页数:19 大小:80.10KB
下载 相关 举报
重复数据删除技术.docx_第1页
第1页 / 共19页
重复数据删除技术.docx_第2页
第2页 / 共19页
重复数据删除技术.docx_第3页
第3页 / 共19页
重复数据删除技术.docx_第4页
第4页 / 共19页
重复数据删除技术.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

重复数据删除技术.docx

《重复数据删除技术.docx》由会员分享,可在线阅读,更多相关《重复数据删除技术.docx(19页珍藏版)》请在冰豆网上搜索。

重复数据删除技术.docx

重复数据删除技术

ISSN1000-9825,CODENRUXUEWE-mail:

jos@

JournalofSoftware,Vol.21,No.5,May2010,pp.916−929doi:

10.3724/SP.J.1001.2010.03761Tel/Fax:

+86-10-62562563

©byInstituteofSoftware,theChineseAcademyofSciences.Allrightsreserved.

重复数据删除技术

敖莉1,舒继武1,2+,李明强1

1(清华大学计算机科学与技术系,北京100084

2(清华大学信息科学与技术国家实验室(筹,北京100084

DataDeduplicationTechniques

AOLi1,SHUJi-Wu1,2+,LIMing-Qiang1

1(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084,China

2(NationalLaboratoryforInformationScienceandTechnology(TNList,TsinghuaUniversity,Beijing100084,China

+Correspondingauthor:

E-mail:

shujw@

AoL,ShuJW,LiMQ.Datadeduplicationtechniques.JournalofSoftware,2010,21(5:

916−929.

Abstract:

Datadeduplicationtechnologiescanbedividedintotwocategories:

aidenticaldatadetection

techniques,andbsimilardatadetectionandencodingtechniques.Thispaperpresentsasystematicsurveyonthese

twocategoriesofdatadeduplicationtechnologiesandanalyzestheiradvantagesanddisadvantages.Besides,since

datadeduplicationtechnologiescanaffectthereliabilityandperformanceofstoragesystems,thispaperalso

surveysvariouskindsoftechnologiesproposedtocopewiththesetwoaspectsofproblems.Basedontheanalysisof

thecurrentstateofresearchondatadeduplicationtechnologies,thispapermakesseveralconclusionsasfollows:

aHowtominedatacharacteristicinformationindatadeduplicationhasnotbeencompletelysolved,andhowto

usedatacharacteristicinformationtoeffectivelyeliminateduplicatedataalsoneedsfurtherstudy;bFromthe

perspectiveofstoragesystemdesign,itstillneedsfurtherstudyhowtointroducepropermechanismstoovercome

thereliabilitylimitationsofdatadeduplicationtechniquesandreducetheadditionalsystemoverheadscausedby

datadeduplicationtechniques.

Keywords:

networkstoragesystem;duplicatedata;dataelimination;reliability;performance

摘要:

重复数据删除技术主要分为两类:

相同数据的检测技术和相似数据的检测与编码技术,系统地总结了

这两类技术,并分析了其优缺点.此外,由于重复数据删除技术会影响存储系统的可靠性和性能,又总结了针对这

两方面的问题提出的各种技术.通过对重复数据删除技术当前研究现状的分析,得出如下结论:

a重复数据删除

中的数据特性挖掘问题还未得到完全解决,如何利用数据特征信息有效地消除重复数据还需要更深入的研

究;b从存储系统设计的角度,如何引入恰当的机制打破重复数据删除技术的可靠性局限并减少重复数据删除

∗SupportedbytheNationalNaturalScienceFoundationofChinaunderGrantNo.60873066(国家自然科学基金;theNational

High-TechResearchandDevelopmentPlanofChinaunderGrantNo.2009AA01A403(国家高技术研究发展计划(863;theSpecialized

ResearchFundfortheDoctoralProgramofHigherEducationofChinaunderGrantNo.200800030027(高等学校博士学科点专项科研

基金

Received2008-06-04;Revised2008-12-29;Accepted2009-10-09

敖莉等:

重复数据删除技术917

技术带来的额外系统开销也是一个需要深入研究的方面.

关键词:

网络存储系统;重复数据;数据删除;可靠性;性能

中图法分类号:

TP311文献标识码:

A

随着数字信息量的爆炸式增长,数据占用空间越来越大;在过去的10年里,很多行业提供的存储系统容量从数十GB发展到数百TB,甚至数PB[1].随着数据的指数级增长,企业面临的快速备份和恢复的时间点越来越多,管理保存数据的成本及数据中心空间和能耗也变得越来越严重.研究发现,应用系统所保存的数据中高达60%是冗余的,而且随着时间的推移越来越多[1].为了缓解存储系统的空间增长问题,缩减数据占用空间,降低成本,最大程度地利用已有资源,重复数据删除技术已成为一个热门的研究课题.一方面,利用重复数据删除技术可以对存储空间的利用率进行优化,以消除分布在存储系统中的相同文件或者数据块.另一方面,利用重复数据删除技术可以减少在网络中传输的数据量,进而降低能量消耗和网络成本[2],并为数据复制大量节省网络带宽.

随着重复数据删除技术的发展,该技术大量应用于存储备份和归档系统中,该系统中的重复数据删除模块负责对数据内容进行比对分析,查找出冗余数据,并将其元数据反馈给存储服务接口,最后将不重复的数据存入到存储介质中.重复数据删除技术主要分为以下两大类:

(1相同数据检测技术.相同数据主要包括相同文件及相同数据块两个层次.完全文件检测(wholefiledetection,简称WFD技术主要通过hash技术[3]进行数据挖掘;细粒度的相同数据块主要通过固定分块(fixed-sizedpartition,简称FSP检测技术[4]、可变分块(content-definedchunking,简称CDC检测技术[4−7]、滑动块(slidingblock技术[8]进行重复数据的查找与删除.

(2相似数据检测和编码技术.利用数据自身的相似性特点,通过shingle技术[8−12]、bloomfilter技术[6,13−15]和模式匹配技术[16,17]挖掘出相同数据检测技术不能识别的重复数据;对相似数据采用delta技术[10,11,18,19]进行编码并最小化压缩相似数据,以进一步缩减存储空间和网络带宽的占用.

上述这些技术使得共享数据块的文件之间产生了依赖性,几个关键数据块的丢失或错误可能导致多个文件的丢失和错误发生,因此它同时又会降低存储系统的可靠性,为此,一些研究者又引入了冗余复制技术[7,20]和纠删码技术[12]等来提高重复数据删除系统的可靠性.另外,因数据的检测对比等过程导致大量的计算开销,重复数据删除技术对存储系统的性能影响也很大,为此,一些研究者提出了一些关键技术,如减轻磁盘瓶颈技术[21]、提高数据搜索速度的技术[22]和提高相似数据编码速度的技术[19].

基于目前的研究现状,还有一些需要深入研究的方面,比如,如何充分挖掘数据的内在特性,提出更为高效的重复数据删除技术,如何提高重复数据删除系统的可靠性,如何提高重复数据删除技术的性能,如何融合各种现有技术,提高重复数据删除技术的通用性、可扩展性和自适应性,等等.

本文第1节讨论相同数据检测的各项技术,并分析各技术的优缺点和适用性.第2节首先讨论用于相似数据检测的各项技术及其特点,然后介绍对相似数据进行编码的delta技术.第3节介绍目前重复数据删除技术的可靠性研究,并分析每种技术的特点.第4节讨论重复数据删除技术的性能研究,分析为平衡系统空间和时间开销所采用的一些技术方案及特点.第5节对本文进行总结.

1相同数据检测技术

相同数据检测技术是将数据进行划分,找出相同的部分,并且以指针取代相同数据的存储.

1.1完全文件检测技术

WFD技术是以文件为粒度查找重复数据的方法.如图1所示,首先对整个文件进行hash计算,然后将该值与已存储的hash值进行比较,如果检测到相同的值,则仅将文件用指针替换,不进行实际存储,否则存储新文件.

研究者将hash算法引入到重复数据删除技术中,是利用了hash值可以唯一地表征特定的数据实体,通过hash技术,数据被标志为一个固定大小的值,比较该值,就可以判别数据的重复性.目前MD5和SHA1是应用最

918

JournalofSoftware软件学报Vol.21,No.5,May2010

广泛的Hash算法[10,11],两者的抗冲突性都比较好.

Fig.1WFDtechnique

图1WFD技术

Windows2000的SIS(singleinstancestorage[3]应用该技术对具有20个不同WindowsNT映像的服务器进行测试,结果表明总共节省了58%的存储空间.

基于hash算法的完全文件检测技术具有两个优势:

(1在普通硬件下计算速度很快,加州大学研究表明[23],SHA-1是83MB/S,而MD5是227MB/S;(2可以检测到所有完全相同的文件,节省存储空间较大.但是,该方法也有两个主要缺点:

(1对于较大的数据集,需要比较的范围大,耗时多;(2不能检测不同文件内部的相同数据.

1.2基于FSP算法的块检测技术

完全文件检测技术不能用于文件内部的重复数据查找,因此有研究者提出了更细粒度——块级别的重复数据检测.基于固定尺寸划分算法(FSP的相同数据块检测技术是使用固定大小的分块策略在存储系统中识别相同数据的方法,如图2所示.该方法分3个步骤:

(1提供一个已经预先定义好的块的大小(该值独立于所存取的数据内容,所有文件均按照这个固定的块大小进行划分[4];(2每个划分好的数据块均通过哈希算法(MD5或SHA1得到一个指纹值;(3将该值与已存储的块指纹值进行比对,如果检测到相同的值,则删除其代表的数据块,否则存储新的数据块.

Fig.2IdenticaldatachunkdetectiontechniquebasedonFSPalgorithm[7]

图2基于FSP算法的相同数据块检测技术[7]

基于FSP算法的相同数据块检测技术已应用在很多领域,并具有如下两个特征:

(1缩减存储空间,如针对数据归档的网络存储系统Venti[24]应用该技术减少了大约30%的存储空间;(2减少网络传输的数据量,如虚拟机优化系统[25]通过该技术加速了在低带宽网络上的数据传输并改进了内存的性能.

此外,基于FSP算法的相同数据检测技术还可以提供很高的处理速度,适合于在交互性的环境中应用[5].但是它也具有一定的局限性:

对编辑和修改的序列很敏感,对于插入问题(在原来的数据流中某处插入少量新字节,其他部分不变和删除问题(在原来的数据流中某处删除少量新字节处理十分低效,不能智能地根据文件自身内容的变化和文件之间的关联关系进行调整与优化,基于此,研究者们提出了可变块大小划分的检测技术.

1.3可变分块检测技术

1.3.1基于CDC算法的检测技术

CDC算法是应用Rabin指纹将文件分割成长度大小不一的分块策略[4,20].与固定分块策略不同的是,它对文…Files…

SHA-1hashSHA-1hashSHA-1hashComparetostoredhashvaluesMatchfound?

StorehashvalueDuplicate

detectedNoYes

敖莉等:

重复数据删除技术919件进行块划分的方法是基于文件内容的,因此数据块大小是可变的,如图3所示,其过程有两步:

(1一个文件按照CDC算法分为若干数据块.图3显示了一个数据流或一个文件以及由虚垂直线表示的块边界.CDC算法首先从文件头开始,将固定大小(互相重叠的滑动窗口中的数据看成组成文件的各个部分.在窗口的每个位置,该窗口中数据的一个指纹(Fingerprint被计算出来.在实际中,鉴于Rabin指纹[26]计算的高效性及Rabin指纹函数的随机性(对任意数据呈现出均匀分布,研究者们多使用其计算滑动窗口内容的指纹值.当指纹满足某个条件时,如当它的值模某个指定的整除数为0时,则把此时窗口的位置作为块的边界.重复这个过程,直到整个文件数据都被分为块.(2划分出的每个块用hash函数(MD5[27],SHA-1[28]或更高的SHA标准[29]函数计算出它的指纹值并与已存储的数据块进行对比,如果检测到相同的指纹值,则删除其代表的数据块,否则存储新的数据块.

Fig.3IdenticaldatachunkdetectiontechniquebasedonCDCalgorithm[7]

图3基于CDC算法的相同数据块检测技术[7]

当前可变分块检测技术已应用在P2P文件系统Pasta[30]、Pastiche备份系统[31]、基于值的网络缓存系统[32]、DeepStore归档存储系统[23]和低带宽网络系统LBFS[2]中.在LBFS中,系统针对数据分块可能出现的病态现象(滑动窗口数据的指纹值不能符合条件,因此块的边界不能确定,导致块过大进行了改进,将块大小进行了限定,给出数据大小分块的上、下限.

综上,根据CDC算法的特性,无论是插入还是删除一小部分字节,都只会影响一到两个块,其余的块保持不变,即CDC方法在两个相似对象(只相差几个字节之间可以检测出更多的冗余.

但是,CDC算法也存在一定的局限性,它划分的粒度绝大部分取决于期望块的设定.如果该值设置得较小,那么,虽然粒度较细,重复数据查找较为精确,但是额外存储每块信息的开销很大;反之,如果该值设置得较大,则粒度过粗,重复数据删除的效果不好.所以,如何权衡精确查找和额外开销是一个难点.

1.3.2基于fingerdiff算法的检测技术

为了弥补CDC算法额外存储空间开销大的缺陷,研究者提出了fingerdiff算法[4],其核心思想是将没有变化的块尽可能地合并,以减少各个数据块的元数据占用的存储空间.应用fingerdiff算法进行相同数据块检测过程包含3个步骤:

(1一个文件按照CDC算法进行子块∗∗

的划分.(2每个子块按照fingerdiff设置的最大子块数进行合并.(3每个块用hash函数计算出它的指纹值,然后对比已存储的数据块指纹值,如果检测到相同的指纹值,则删除其对应的数据块;否则将大块进行拆分,找到最小的不同数据块进行存储,其余块仍然保持合并状态.

以上CDC算法和fingerdiff算法的检测技术存在两个不足之处:

(1在可变分块检测过程中,对于一个文件对间较小的随机改变,效果不好,两种算法的适应性很差;(2两种技术中数据块的划分都是根据内容可变的,但该值在很大程度上取决于算法中期望块大小的设定,而期望块大小的选择依赖于文件相似性程度和文件修改的位置,这对相同数据检测的性能影响很大.因此,可以通过深入挖掘数据特征规律,自适应地调整数据块的大小,选择符合数据特征和性能指标的最佳块大小.

∗∗子块是组成块的单位.在fingerdiff算法中用CDC算法划分出的块称为子块,之后子块合并生成的块称为块.…Files…Fingerprint

Comparetostored

hashvaluesChunkbreakpoint?

StorehashvalueDuplicate

detectedNo

YesSlidewindowNoMatchfound?

SHA-1hash

Yes

920

JournalofSoftware软件学报Vol.21,No.5,May2010

1.4滑动块检测技术滑动块检测技术结合了固定块大小检测技术和可变块大小检测技术的优点,块大小固定,管理简单[4].文献

[6]通过测试发现,对大的簇,CDC的重复数据检测性能较好,而滑动块技术对细粒度匹配更适用.如图4所示,基于滑动块技术的相同块检测过程有4步:

(1一个文件用rsync求和校验(checksum函数[33]和固定块大小的滑动窗口来计算文件对象的每个重叠块的求和校验值.(2对于每个块,比较求和校验值与先前存储的值.(3若匹配,则利用更严格的SHA-1算法对块进行hash计算,并将SHA-1hash值与先前存储的值进行比较,从而进行冗余检测.如果检测到数据冗余,将其记录后,滑动窗口越过这个冗余块继续前移.而且先前已经被划分的块和最近被检测到冗余之前的这个碎片需要被记录并且存储.(4如果求和校验值或hash值不能匹配,则滑动窗口继续前移.如果滑动窗口已经移动了一个块大小的距离,但是仍然无法匹配到任何已经被存储的块,则需要对这个块进行求和校验和SHA-1hash计算,并存储在各自的表中,用作以后块的比较对象.

Fig.4Identicaldatachunkdetectiontechniquebasedonslidingblockingmethod[7]

图4基于滑动分块方法的相同数据块检测技术[7]

滑动块检测技术的特点是对插入问题和删除问题处理高效,并能检测到更多的冗余数据.(1插入问题:

如果一小部分字节被插入到一个对象中,则只有周围的块会改变,其他的块仍将被识别出来并被匹配,并且一个长度等于插入的字节数的碎片会产生出来.(2删除问题:

删除一小部分字节也会产生一个长度等于块大小减去被删除部分字节长度的碎片,其他块不受影响.但滑动块检测技术也存在一个不足:

在插入和删除问题中都会引入碎片,如何能够准确识别改变的数据,不影响匹配数据块,从而少产生额外的碎片将是一个研究的难点.

1.5小结

本节介绍了相同数据检测的5种技术,重复数据的存在形式中有很大一部分是完全相同的数据.文献[5]采用具有不同相关性的数据集评估了完全文件(WFD、固定分块(基于FSP算法、可变分块检测技术(基于CDC算法检测相同数据的效果,并给出了在变化的数据类型上使用这些方法所获得的效果.如图5所示,针对不同的测试集,WFD技术、基于FSP的检测技术、基于CDC的检测技术在数据类型比较分散的数据集上检测效果都不佳,仅检测到17%~30%的相同数据,而在有潜在关联关系的数据集中,基于CDC的检测技术可检测到60%左右的相同数据,但WFD技术和基于FSP的检测技术仅检测到20%~30%的相同数据.

同时,文献[7]针对块级别的相同数据检测技术,在IBM实验室真实数据集上测试,给出了基于FSP的检测技术、基于CDC的检测技术和滑动块检测技术(slidingblock的性能比较,如图6所示,针对6种不同测试集,Slidingblock技术在冗余度检测和网络存储节省量上达到最优,基于CDC的检测技术次之,基于FSP的检测技术相对最差.而在额外存储开销方面(storageoverhead,Slidingblock技术为提取数据所引入的元数据等额外存储开销最多,最高达60%左右,基于FSP的检测技术次之,最多引入50%的额外存储开销,基于CDC的检测技术效果最佳,引入的存储开销相对最低.

综上所述,目前还没有一种方法可以在所有数据集上都产生较好的结果,同时每种技术所需要的额外处理和存储空间以及具体数据集的使用模式和典型的负载,都对检测技术的选择起着至关重要的影响.

…Files…Checksum

Comparetostored

hashvaluesComparetostoredchecksumvaluesMatchfound?

Duplicate

detectedNoYes

SlidewindowNoMatchfound?

SHA-1hash

Yes

1.00.80.60.40.2

Rateofduplicatebytesdetected

Datesetwithstrong

correlated

Datesetwithhighdiversity

WFDFSPCDC

Fig.5PerformancecomparisonofWFDtechniqueandidenticaldatachunkdetectiontechniques

basedonFSPalgorithmandCDCalgorithm[5]

图5WFD技术与基于FSP算法和基于CDC算法的相同数据块检测技术的性能比较[5]

DuplicatesdetectedBlocksizeofexpectedchunksize(KB

4

8163235302520151050

Duplicatesdetected(Percentoftotalbytes

DuplicatesdetectedContenttchunkingSimpletblocking

Storageoverhead

Blocksizeofexpectedc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1