1、本科毕业设计论文届论文题目重复数据删除中的可变分块算法所在学院专业班级信息管理与信息系统学生姓名学号指导教师职称完成日期年月日重复数据删除中的可变分块算法摘要重复数据删除技术对缩减数据占用空间、提高存储设备利用率、削减存储成本、减轻网络负载有十分重要的意义。本文针对这种现状,分析了现在重复数据删除技术的现状,并着重分析了可变分块算法。本次毕业设计主要通过对可变分块的重复数据删除技术的基本定义、算法思想、应用情况进行研究,了解了现今数据存储方面的现状,同时了解了当今重复数据删除技术的主流方法和主要的优缺点,分析得出了重复数据删除技术在实际应用方面的意义和一些不足。关键词重复数据删除;可变分块;应
2、用VARIABLELENGTHBLOCKALGORITHMOFDATADEDUPLICATIONABSTRACTDATADEDUPLICATIONTECHNOLOGYISVERYIMPORTANTTOREDUCETHEDATAFOOTPRINT,IMPROVETHESTORAGEUTILIZATION,REDUCESTORAGECOSTSANDREDUCETHENETWORKLOADTHISPAPERANALYSESTHECURRENTSTATUSOFTHEDATADEDUPLICATIONTECHNOLOGYUNDERTHECURRENTSITUATIONANDANALYSESTHEVARI
3、ABLELENGTHBLOCKALGORITHMTHEGRADUATIONDESIGNMAINLYTHROUGHVARIABLEPARTITIONREPEATINGDATADELETEDTHEBASICDEFINITION,ALGORITHMTECHNICALIDEAS,APPLICATIONANDSTUDY,UNDERSTANDTHENOWDATASTORAGETHESTATUS,ANDUNDERSTANDTHECURRENTREPEATINGDATADELETEDTHEMAINSTREAMMETHODANDMAINTECHNICALADVANTAGESANDDISADVANTAGESOFR
4、EPETITIONANDANALYSISINPRACTICALAPPLICATIONDATADELETEDTECHNOLOGYOFMEANINGANDSOMESHORTAGEKEYWORDSDATADEDUPLICATIONVARIABLEBLOCKAPPLICATION目录1引言111重复数据删除技术的背景和意义112重复数据删除的定义、分类113重复数据删除技术的国内外现状2131国外现状2132国内状况314主要任务和目标315全篇论文的主要内容32重复数据删除技术421重复数据删除的流程422检测技术4221相同文件检测技术4222基于内容算法的检测技术4223定长块的切分5224变长
5、块的切分5225滑动块检测技术623对于数据块进行HASH值计算724消除重复73重复数据删除中的可变分块算法831文件分块和记录指纹832计算数据块HASH值933重复数据比较934数据存储1035新文件的指纹以及已分数据块HASH值的保存114重复数据删除技术的应用1241重复数据删除的主要应用特点12411数据备份系统12412归档存储系统12413远程灾备系统1242重复数据删除技术的实践例证1343删除备份数据重复部分1344不能脱离存储系统单独使用1345重复数据删除技术的主要不足145总结与展望15致谢15参考文献16本科毕业论文(设计)11引言11重复数据删除技术的背景和意义随
6、着数字图书馆、电子商务、科学计算、多媒体等应用的不断发展,数据从万亿字节TB急速增长到千万亿字节PB,甚至到一百亿亿字节EB。据IDC国际数据公司统计显示,去年全球产生的数字信息量共计161EB字节,世界上有足够存储185EB字节的存储设备,到2010年,世界上将有能够存储601EB字节的设备。然而到2010年,全球所产生的数码信息量将由现在的161EB字节猛增到988EB字节1。由于信息的海量增长,磁盘备份设备的容量已经趋于饱和,在数据中心需要不停地增加硬盘来备份PB级别的数据,在这种情况下,在我们希望将备份数据保存一个月时,却只能保存两到三天,硬盘里的数据开始变得臃肿和庞大。当对这些数据进
7、行仔细分析时,却不难发现其中有太多的重复数据,因此重复数据删除技术开始受到工业与学术界的关注2。为了缓解存储系统的空间增长问题、缩减数据占用空间、降低成本、最大程度的利用已有资源,我们需要对重复数据删除技术进行研究。一方面,利用重复数据删除技术,可以对存储空间的利用率进行优化。因传统的数据压缩技术主要根据一些固定的模式利用传统的数据分析工具和技术来消除重复数据,不能有效地改善基于磁盘数据的成本效益3,所以我们需要通过探究重复数据的特性,利用相应的重复数据删除技术,以消除分布在存储系统中的相同文件或者数据块。另一方面,利用重复数据删除技术,可以减少在网络中传输的数据量,进而降低能量消耗和网络成本
8、。由于重复数据删除技术的目标是消除分布在存储系统中的相同及相似文件或者数据块,因此能够减少大量的磁盘消耗,并且为数据复制大大节省网络带宽。12重复数据删除的定义、分类一种数据缩减技术,通常用于基于磁盘的备份系统,旨在减少存储系统中使用的存储容量,它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块,这就是重复数据删除技术的定义。重复数据删除技术的宗旨就是为企业用户提供重复数据的备份解决方案,增加有效存储空间,提高存储效率,使企业备份解决方案更加完善、高效。按照部署位置的不同,重复数据删除可分为源端重复数据删除和目标端重复数据删除。源端重复数据删除是先删除重复数据,再将数据传
9、到备份设备。目标端重复数据删除是先将数据传到备份设备,存储时再删除重复数据。按照检查重复数据的算法不同,重复数据删除可以分为对象/文件级和块级的重复数据删除。对象级的重复数据删除保证文件不重复。块级重复数据删除则将文件分成数据块进行比较。根据切分数据块方法的不同,又可分为定长块和变长块的重复数据删除技术。变长块的重复数本科毕业论文(设计)2据删除,数据块的长度是变动的。定长块的重复数据删除,数据块的长度是固定的。根据应用场合的不同,可以分为通用型重复数据删除系统和专用型重复数据删除系统。通用型重复数据删除系统是指厂商提供通用的重复数据删除产品,而不是和特定虚拟磁带库或备份设备相联系。专用型重复
10、数据删除系统是和特定虚拟磁带或备份设备相联系,一般采取目标端重复数删除方式4。根据目前的研究现状,我们可以分析得出,随着重复数据删除技术的研究与应用,其理论将得到不断地发展和完善,人们对重复数据删除的认识也会越来越清晰。但是,如何充分挖掘数据的内在特性,将其应用到已有的技术中,发挥各技术的优势,将是一个可深入探究的领域;从重复数据删除技术的可靠性研究角度,如何在吸收现有成果的同时,引入其他机制打破现有技术的局限性是一个需要更深入研究的区域;从重复数据删除技术的性能研究角度,如何融合各种现有技术,同时提供通用性、可扩展性和自适应性也是一个需要更深入研究的方面。13重复数据删除技术的国内外现状13
11、1国外现状重复数据删除作为一种文件间的无损压缩技术,在数据备份领域,特别是数据灾难备份领域得到广泛的运用,因为可以跨文件压缩,并且能达到较高的压缩比,因此国外诸多的研究机构都对它做了较为深入的研究,而且设计开发了较为成熟的系统,比如RSYNC和LBFS等。1311RSYNC系统RSYNC5算法由ATRIDGELL于1999年在他的博士论文中提出,它通过检测、传输新旧文件的差异部分,可以实现快速、高效的文件同步。RSYNC算法也有一定的缺陷首先,RSYNC使用固定分块的方法,这种分块方法对数据变化非常敏感,因为当文件内部数据有部分变化时,紧接着的一系列文件块会跟着相应地改变。其次,其中对于数据相
12、似性检测的方法与文件目录结构有关,所以倘若目录结构有所改变,但相应文件内容未做修改,其也会当作新文件处理,产生多余的网络流量。1312LBFS系统LBFS6是麻省理工学院于2001年由ATHICHAMUTHITACHAROEN,BENJIECHEN等人开发的一款文件系统,该系统使用RABINFINGERPRINT算法来实现变长分块,该方法对文件数据变化不敏感,是一种基于内容的分块方法,同时使用SHA1(安全散列算法)值作为指示符,向服务器进行块存储校验,以判断数据块是否已存储,若已存在则不用发送数据块,以此达到了减小传输带宽的目的。该系统作为一款文件系统提出,但是其中使用到了文件分块处理,以及
13、文件块单一实例化存储的思想,使得该系统在重复数据删除技术中一直被作为经典系统进行引用研究。本科毕业论文(设计)3132国内状况国内有清华大学网络存储实验室和华中科技大学计算机科学与技术学院两家科研机构对重复数据删除领域进行了深入的研究,并分别开发了ADMAD和FBBM系统。1321ADMAD系统清华大学计算机系网络存储实验室与明尼苏达大学共同合作开发了ADMAD7归档备份系统,使用不同等级I/O通道的元数据信息把文件分成有一定意义的文件块,以此来削减文件间的重复数据,该系统同样使用变长分块的方式。1322FBBM系统FBBM8系统由华中科技大学计算机科学与技术学院开发的一款文件备份系统,它把文
14、件使用变长分块算法,分成多个数据块,然后使用描点分级的策略进行重复数据块的发现检测,同时根据文件块内容建立一个哈希表,以此来实现文件块存储的唯一性,然后把唯一的数据块存入一次性写入的RAID设备中。14主要任务和目标为了缓解存储系统的空间增长问题、缩减数据占用空间、降低成本、最大程度的利用已有资源,我们需要对重复数据删除技术进行研究。重复数据删除技术可以有效提高存储设备的利用率,减少存储容量。同时在重复数据删除技术中存在一种可变分块算法,这种算法允许某些数据片段进行伸缩,而不影响后面的数据块,有助于提高系统查找重复数据块的能力,从而达到大幅节省空间的目的。同时这种算法对于数据的敏感性不高,所以
15、对于数据的一些小的改变不会引起数据的大规模的改变。例如该算法对于插入问题和删除问题处理高效。无论是插入还是删除一小部分字节,只会影响一到两个块,其余的块保持不变。这种算法对于数据的重复冗余有着更多的清理和检测。本课题设计了算法的流程来实现数据块的可变长切分,并将其应用于重复数据删除软件中,检验算法的性能。15全篇论文的主要内容论文主要分析了当前重复数据删除技术的主要方法,及各自的优缺点,同时主要分析了可变分块算法的主要过程以及算法实现的思想。同时阐述了重复数据删除技术在时下社会的的应用及主要不足。论文最后是对于重复数据删除技术进行展望和总结。本科毕业论文(设计)42重复数据删除技术国外经过多年
16、的发展,重复数据删除技术己形成完整的运作体系。鉴于一般过程达到共识,本章主要分析重复数据删除主要运用的关键技术。21重复数据删除的流程重复数据删除数据的流程如图21所示分块HASH计算HASHKEY比较图21重复数据删除数据的一般流程如图所示,需要先对于文件进行分块,然后对于分块并进行文件HASH值的计算,再比较所得的HASH值,最后实现对于重复数据的删除。22检测技术本节介绍了相同数据检测的4种技术。从前面的讨论我们可以看出,重复数据的存在形式中有很大一部分是完全相同的数据,文献采用具有不同相关性的数据集评估了相同文件(WHOLEFILEDETECTION,WFD)、固定分块(FIXEDSI
17、ZEDPARTITION,FSP)、可变分块检测技术(CONTENTDEFINEDCHUNKING,CDC)和滑动块检测技术,并给出了在变化的数据类型上使用这些方法所获得的益处。221相同文件检测技术相同文件检测技术WFD是在文件级别的粒度下查找重复数据的方法。该方法是通过对整个文件进行HASH9计算,然后将该值和已存储的HASH值进行比较,如果检测到相同的值,则仅将文件用指针替换,不进行实际的存储,否则存储新的文件。通过研究表明,基于HASH算法的相同文件检测技术具有以下两方面的优势(1)在普通硬件条件下计算速度很快,加州大学的研究表明10,SHA1是83MB/S,而MD5是227MB/S;
18、(2)可以检测到所有完全相同的文件,节省存储空间较大。但是这种方法也有两个主要的缺点(1)因该方法是对所有的文件HASH值进行比较,对于较大的数据集,需要比较的范围大,时间消耗也多;(2)即使不同文件内部存在很多相同的数据,也不能被检测并实现冗余消除。222基于内容算法的检测技术基于内容识别的重复检测技术的基本原理是对记录的数据格式进行比对。在备份数据时,该技术会读取数据并从中提取出每组备份集以及备份集中数据对象的元数据,存入到内嵌文件系统的数据库内。当有新的数据进入时则对新的元数据与数据库中的元数据进行版本比对。基于内容的算法可以减少计算量,并可以利用元数据之间的联系更快地查找重复数据,但需
19、要针对不同情况分别提文件子块HASHKEY重复删除本科毕业论文(设计)5取不同的元数据,实现起来比较复杂。223定长块的切分相同文件检测技术不能用于文件内部的重复数据查找,使得数据占用空间没有充分缩减,因此研究者们将目光集中于更细粒度块级别的重复数据检测上来11。固定分块检测技术(FSP)是使用固定大小的分块策略在存储系统中识别相同数据的一种方法,如图22所示,该方法分为三个步骤(1)固定大小的分块技术提供一个预先已经定义好的块的大小(该值独立于所存取的数据内容),所有文件均按照这个固定的块大小进行划分;(2)每个划分好的数据块均通过哈希算法(MD5或SHA1)得到一个指纹值;(3)将该值和已
20、存储的块指纹值进行比对,如果检测到相同的值,则删除其代表的数据块,否则存储新的数据块。文件SHA1HASHSHA1HASHSHA1HASH否是图22固定分块检测技术通过研究发现,固定分块检测技术已应用在很多领域,并具有如下两个特征(1)缩减存储空间针对数据归档的网络存储系统VENTI应用该技术减少了大约30的存储空间。(2)减少网络传输的数据量虚拟机优化系统通过该技术加速了在低宽带网络上的数据传输并改进了内存的性能。此外,固定分块检测技术还可以提供很高的处理速度,适合于在交互性的环境中应用12。但是它也具有一定的局限性在删除重复数据时该技术对编辑和修改的序列很敏感,对于插入问题(在原来的数据流
21、中某处插入少量新字节,其它部分不变)和删除问题(在原来的数据流中某处删除少量新字节,其它部分不变)处理十分低效,即该技术不能智能的根据文件自身内容的变化和文件之间的关联关系进行调整与优化,这也是基于固定分块检测技术的一个劣势。224变长块的切分为了弥补固定块大小划分技术的局限性,更加灵活的找到重复数据,研究者们提出了可变块大小划分的检测技术。这是一种基于内容CONTENTDEFINEDCHUNKINGCDC技术的分块方法,与固定分块不同的是它的块断点不以一个预设值来确定,而是以其文件内容进行计算,当满足一定的标准之后方认为其为块断点。在实现变长分块前,我们先建立一种弱HASH的机制,满足两个规
22、则(1)HASH值相同的时候内容不一定相同,HASH值不同的时候内容一定不同。(2)HASH的冲突尽可能的频繁,这样可与已存储的HASH比较匹配储存HASH值更新文件本科毕业论文(设计)6以避免文件块变得异常的大。我们使用这种HASH函数,对文件进行计算,当HASH值满足一定条件,比如等于一个预定义值的时候我们便认为此时该内容所在的地方为一个块断点。根据CDC算法的特性,我们可以发现基于CDC算法检测技术的特点是对于插入问题和删除问题处理高效。无论是插入还是删除一小部分字节,只会影响一到两个块,其余的块保持不变,即CDC方法在两个相似对象(只相差几个字节)之间可以检测出更多的冗余。但是CDC算
23、法也存在一定的局限性,它划分的粒度绝大部分取决于期望块的设定,如果该值设置的较小,虽然粒度较细,重复数据查找较为精确,但是额外存储每块信息的开销很大,相反,如果该值设置的较大,则粒度过粗,重复数据删除的效果不好。所以,如何权衡取舍是一个难点。225滑动块检测技术可变分块检测技术对一个文件间小的随机改变检测效果不佳。针对这一问题,一些研究者将滑动块技术引入到相同数据检测中来,以期更好的检测到变化的数据。滑动块技术结合了固定块大小检测技术和可变块大小检测技术的优点,块大小固定,管理简单。通过测试发现,对大的簇,CDC的重复数据检测性能较好,而滑动块技术对细粒度匹配更适用。基于滑动块技术的相同块检测
24、过程有4步,如图23所示(1)一个文件用RSYNC求和校验(CHECKSUM)函数和固定块大小的滑动窗口来计算文件对象的每个重叠块的求和校验值;(2)对于每个块,将计算出的求和校验值与先前存储的值进行比较;(3)如果匹配,则利用更严格的SHA1算法对块进行HASH计算,并将SHA1HASH值与先前存储的值进行比较,从而进行冗余检测。如果检测到数据冗余,将其记录后,滑动窗口越过这个冗余块继续前进。而且对于在先前的已经被划分的块和最近被检测到冗余之前的这个碎片,需要被记录并且存储;(4)如果求和校验值或HASH值不能匹配,则滑动窗口继续向前。如果滑动窗口已经行驶了一个块大小的距离,但是仍然无法匹配
25、到任何已经被存储的块,则需要对这个块进行求和校验和SHA1HASH计算,并存储在各自的表中,用作今后块的比较对象。本科毕业论文(设计)7文件校验校验否是否图23滑动块检测技术根据滑动块技术的特性,我们可知该技术的特点是对于插入问题和删除问题处理高效,并能始终检测到更多的冗余数据。(1)插入问题如果一小部分字节被插入到一个对象中,只有周围的块会改变,接下来的块将仍然会被识别出来并被该算法匹配,并且一个长度等于插入的字节数的碎片会被产生出来。(2)删除问题删除一小部分字节也会产生一个长度等于块大小减去被删除部分字节长度的碎片,其它的块不受影响。但该技术也存在一个不足在插入和删除问题中都会引入碎片,
26、如何能够准确识别改变的数据,不影响匹配数据块,从而不产生额外的碎片将是一个研究的难点。23对于数据块进行HASH值计算文件被切分成数据块之后,需要对每个数据块的内容计算HASH值,保存下数据块的各个HASH值,以便为以后的数据进行比较。内容不同,HASH值不同。内容相同,HASH相同。对于数据块进行HASH值的计算,使得数据块的存在不同时,HASH值不同,使得数据重复检测成为可能。24消除重复首先对于保存的HASH值进行检索,根据HASH值的不同,判断数据块的重复性,对于数据进行进一步的删除、修改、插入,使得重复数据得到删除。使得数据能够得到单一化存储,同时将更新的文件进一步保存和对其进行指纹
27、和数据块的计算,保存下新的HASH值和指纹。SHA1HASH和已存储的校验值比较匹配滑动窗口和已存储的HASH值比较匹配更新文件本科毕业论文(设计)83重复数据删除中的可变分块算法本算法可以分为文件分块和记录指纹,计算数据块HASH值,重复数据比较,数据存储四个部分,如图31。本章将对于这四个部分进行分别介绍。图31重复数据删除可变分块算法模型31文件分块和记录指纹文件分块是本算法的关键,是该算法体现文件可变分块的具体体现。主要体现它与固定分块的区别。文件被分为大小可变的数据块,数据块的大小在一个规定的最小值和最大值之间。可变大小的数据块用一个滑动窗口来划分,当滑动窗口的HASH值与一个基准值
28、相匹配时就创建一个分块,这样数据块的尺寸分布就可达到一个希望的情形。对于文件的分块计算反而带来便利。基准值可以采用RABIN指纹RABIN指纹生成算法由美国哈佛大学教授RABIN提出的算法进行计算,首先要定一个数据块的最大值与最小值,使得数据块不会太小或太大,有利于数据的比较。一般将这个范围定于1K到8K之间。预先定义一个D与R(例如可以定义D32,R0,这样使得数据块的平均大小在2K左右),在文件数据块达到最小标准后,用一个固定大小滑动窗口在文件上滑动,并计算其滑动时的指纹的HASH值,当该处窗口内的数据的HASH值在与K处满足模D等于R时即为该文件的一个块断点,记录下来这个块断点,或者当文
29、件达到8K是硬性定为一个断点,这时的数据块的大小为8K即使不满足指纹处HASH值模D等于R。同时在文件大小不足1K时,将整个文件当做一个数据块,作为一个数据块。然后窗口继续滑动,重复上述动作,在每个分块点的位置上记录下来。在文件结束处,将剩余的数据块作为一个数据块,但是最后一个可能不满足上述要求,文件被分为N块,同时有N1个指纹值。将指纹值记录下来。过程如图3213本科毕业论文(设计)9文件FINGERPRINT是否图32文件分块过程32计算数据块HASH值在第一个部分中已经将文件分为了各个数据块,现在要将各个分好的数据块进行MD5运算出其HASH值。记录下每个分块点的位置,以及每个数据块的H
30、ASH值,保存下来,作为原文件的文件记录。系统会通过分块点和HASH值来判断文件的异同。MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。对MD5算法简要的叙述可以为MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。MD5的典型应用是对一段MESSAGE字节串产生FINGERPRINT指纹,以防止被“篡改”。举个例子,你将一段话写在一个叫READMETXT文件中,并对这个READMETXT产生一个MD5的值并记录在案,然后你可以传播这个文件给
31、别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现两个MD5值不相同。33重复数据比较(1)将新文件的属性信息与所有已备份文件的信息进行比较,看是否有相同文件或名称不同内容相同的文件。如果有,则不需要实际的传输数据,只需更新文件信息库内容,将新文件信息索引指向已存的相同文件;(2)如果没有发现重复文件,则用RABIN指纹算法来对新文件进行扫描分块,计算数据块的HASH值,并与已有的文件指纹库和相对应的偏移位置进行比较。标记所有发生了变化的数据块;(3)如果变化的数据量小或者带宽充足,则直接同步对应的数据块内容即可,如图33所示。IFF/DR此处为指纹记录数据块HASH值
32、继续滑动窗口本科毕业论文(设计)10S1C1C2C3C4C5C6C7S2C1C2C3C8C5C6C7S3C1C2C3C8C9C10C6C7S4C1C11C8C9C10C6C7图33直接同步数据块假设文件A在初始状态S1生成了备份文件A,当文件A发生插入修改S2,S3,删除修改后S4,生成新备份文件A(1)文件A根据RABIN指纹算法,生成6个指纹,文件被划分为7个数据块,指纹以M1,M2,M6表示,数据块以C1,C2,C3,C4,C5,C6,C7表示;(2)发生插入修改,如S2所示,新插入的数据位于C4中,如果C4新插入的数据块经过RABIN指纹计算,为一个CHUNK未产生新的指纹,仅需传输C
33、8数据块,在服务端更新版本库和指纹库,得到A;(3)插入修改,如S3所示,如果插入的数据导致原来一个CHUNK划分为两个CHUNK,仅需传输C9和C10两个数据块,在服务端更新版本库和指纹库,得到A;(4)删除修改,如S4所示,如果删除的数据块影响了一个指纹,导致原来两个CHUNK合并为一个CHUNK,则仅需传输C11,在服务端更新版本库和指纹库后,得到A。34数据存储对于存储数据而言,需要记录下更新文件以后的MD5的值,以及分块点的位置,可以做成一个的二元组,那么在用户下次再更新数据时就相当方便。在下次更新时就不用对原文进行处理了,而在下一次更新时获得方便的同时对于文件数据有一定的记录作用。
34、如图34所示本科毕业论文(设计)11图34重复数据检测流程在文件存储方面主要是要保持文件以及分块的单一性,保证重复数据的正确删除,和对于数据的分块信息的即使备份。方便在下一更新是对于更新文件进行比较。35新文件的指纹以及已分数据块HASH值的保存对于新文件的保存主要分为以下几步完成(1)对于原文件和更新文件进行各个分块的HASH值对比,找出HASH值相同的部分,并记录下下两个文件相同的分块的分块点在什么位置;(2)然后对于不同部分进行同步,等到新的文件数据库;(3)对于新的文件数据进行分块,记录新的分块点保存下来。整个的流程如下图35图35文件指纹和已分数据块HASH值保存流程待存储文件,分块
35、,删除相同的块,只保留一个实例,对剩下的块,计算MD5值把与MD5对应的文件块,和它所在文件的位置偏移量发送给服务器判断一系列MD5,在服务器中存在与否添加MD5到哈希表,并存储偏移量本科毕业论文(设计)124重复数据删除技术的应用在基础架构中的多个不同位置部署重复数据删除技术,以解决存在大量冗余数据的问题。重复数据的作用包括以下几方面(1)降低成本。重复数据删除带来了资源效率和成本节约,包括数据中心耗电量以及存储容量、网络带宽和IT管理人员的减少。(2)提高备份和恢复级别。重复数据删除可大大提高备份性能,从而可以在有限的备份时间窗口内完成备份。重复数据删除技术还可以充分利用随机存取磁盘存储,
36、与顺序存取(磁带)方法相比提高了恢复性能。(3)改变磁盘相对于磁带的经济性。重复数据删除使基于磁盘的备份适用于更多的应用程序。磁带之所以仍在数据中心的数据备份存储中扮演着重要角色,是由于其经济性和易于归档特性。然而在与重复数据删除配合使用时每GB成本将降低,从而使磁盘的成本等于甚至小于磁带成本。(4)重复数据删除降低了数据存储在电源、冷却和空间方面的需求,降低能源消耗,因而减少了二氧化碳排放,承担起环保责任。41重复数据删除的主要应用特点411数据备份系统重复数据删除技术为数据保护领域带来革命性突破,有效地改善了磁盘数据保护的成本效益。因为在传统数据保护中无法实现重复数据删除,往往采用廉价的磁
37、带库作为备份设备,而磁带备份在备份窗口、恢复速度方面难以满足用户的需求。现在,基于磁盘的数据保护方案如虚拟磁盘库VTL被广泛采用,并且在未来会继续增长。备份到VTL或其他基于磁盘的备份已经缩小了备份窗口,改善了备份和恢复能力,但由于数据量的不断增加,人们所要备份的数据越来越多,面临容量膨胀的压力。重复数据删除技术的出现,为最小化存储容量找到有效的方法。412归档存储系统重复数据删除技术对归档存储非常重要。由于参考数据的数量不断增长,而法规遵从要求数据在线保留的时间更长,并且由于高性能需求需要采用磁盘进行归档,因此,企业一旦真正开始进行数据的存储归档就面临成本问题。理想的归档存储系统应能满足长期
38、保存归档数据的需求,并且总拥有成本也要低于生产环境。重复数据删除技术通过消除冗余实现高效率的归档存储,从而实现最低的成本。目前,归档存储系统的重复数据删除技术主要是基于HASH的方法。413远程灾备系统在远程灾备系统中,需要将大量的数据迁移到异地的系统中。随着数据量的不断增长,数据传输的压力越来越大,通过重复数据删除技术在数据传输前检测并删除重复的数据,可以有效地减少传输的数据量,提高传输数据速度,例如飞康的MICROSCAN软件就采用了该技术。本科毕业论文(设计)1342重复数据删除技术的实践例证在IT方面,中国人民银行郑州中心支行(简称郑州支行)有十多个应用系统为工作提供技术保障,包括账户
39、系统、财务系统、报表系统、办公自动化系统、会计核算系统、事后监督系统、国库会计核算系统、同城清算系统、公文传输系统、总行邮件系统、事后影响系统、综合管理平台系统等等。每一个系统都流动着非常重要的数据,因此,数据备份是一件及其重要的工作。根据每个应用系统的不同要求,有的需要每天备份,保留最少7天的数据;有的需要每天备份,保留一年的数据;有的需要分别保留最近12个月、最近四周和最近7天的数据。随着人民银行业务信息系统的不断升级和完善,数据保护问题面临着越来越大的挑战。各业务系统的数据采用分散的模式各自独立保存,其数据备份方式一般采用磁盘、磁带、光盘、移动介质等方式,且大多在本地保存,很难满足数据异
40、地备份需要。郑州中支的数据总量相对较大,保存期复杂,因此,如果采用传统的备份方式,无论数据总量和备份窗口都很成问题。随后,郑州中支把目光投向了重复数据删除技术,并采用了EMC公司基于重复数据删除技术的磁盘备份技术方案。EMCAVAMAR重复数据删除解决方案的部署很简单,地市中心支行不需要部署硬件,只要在业务系统服务器上安装备份代理即可;在中心支行部署两个AVAMAR节点,完成双节点的冗余、互备、复制和负载均衡。而且,安装备份代理没有数量限制,只要备份服务器节点的数量不超出,就可以无限扩展。郑州中支的分支机构众多,应用服务器的数量比较大,总共安装了近100个备份代理。在郑州中支的应用环境中,经过
41、测算,郑州中支所有设备(包括地市中支)初次完全备份下来的重复数据删除率为31,之后的备份由于有基础数据,重复数据删除率大大提高,达到了3001的水平。这样,不仅节省了大量的备份空间,而且节省了广域网带宽,使异地备份和恢复成为可能。43删除备份数据重复部分重复数据删除软件技术是对备份数据内容进行比对、切分处理以后,将重复的内容删除掉的一种数据处理技术。而那些经过软件技术处理以后,被判定为不重复的数据或者数据片段将被完整保存。它不是一种数据压缩行为,而是根据备份系统保存数据和数据副本的特点,以及保存这些数据内容对存储空间的使用方式特点,利用重复数据软件及功能实现的一种针对备份数据和副本的压缩效果。
42、所以没有备份操作的信息系统以及那些数据量不大的信息系统是没有必要使用这种软件技术的。44不能脱离存储系统单独使用重复数据删除技术的核心功能是处理数据,它自身并不能完成数据的长期存储。它必须借助其它存储技术的帮助,通过集成实现一体化的重复数据删除备份系统存储设备,才能使其在信息系统本科毕业论文(设计)14的备份系统当中发挥完整的效用。从数据处理效率和软件技术性能方面分析,为了满足信息系统对备份系统数据吞吐能力的需求,通常情况下,重复数据删除软件技术主要与硬盘存储技术进行集成来实现其综合应用目的。45重复数据删除技术的主要不足重复数据删除作为存储的一个新技术方向,有着广泛的应用前景,全面应用于主存
43、储系统和归档存储系统中。未来发展的方向将是从定长分块向智能变长分块发展;从传统HASH算法向速度更快、冲突更小的HASH算法发展;从静态HASH检索到动态分布式HASH检索方向发展。从目前的研究来看,我们可以得出如下结论(1)近年来,随着重复数据删除技术的应用,其理论不断得到发展和加强,人们对重复数据删除的认识也越来越清晰。但是,如何挖掘不同类型的数据特性,快速准确的检测到重复数据,高效结合已有的技术仍然存在着可探究的空间,因此也需要研究者进行更深入的探索。(2)因重复数据检测技术自身设计上均存在有一定的局限性,如何在融合各技术特征的同时,通过结合统计学和数据挖掘领域的各种技术,对数据特性进行
44、充分的分析和挖掘,找到其规律性的认识来弥补重复数据删除技术上的不足,提高整体系统的性能,也是一个需要深入探究的方面;(3)因新的压缩理论或更有效的数学模型不断出现,压缩技术发展非常迅速,如何通过引进压缩算法开发新的技术与已有技术结合在一起,有效地优化存储空间也是一个需要研究的问题;(4)重复数据删除技术的应用尽管节约了存储空间,但也降低了系统的可靠性。当前研究表明,已有的可靠性技术是基于增加冗余数据的。虽然这样的技术模型具有简单高效的特点,但在存储开销和系统性能方面存在一定的局限性。因此如何针对不同的数据类型,设计有效的度量方式,适度的增加冗余数据来高效的提高系统的可靠性或引入其他机制的可靠性
45、设计是一个需要更深入研究的方面。(5)在重复数据删除的过程中,额外增加的系统开销是不可忽略的,而当前采用的减少系统各项开销的技术均有一定的局限性。通常,在实际应用过程中,我们常常需要在简单性和复杂性两方面做出折中选择。因此如何融合各种现有技术的同时,提高通用性、可扩展性和自适应性,尽可能减少重复数据检测和删除所带来的系统开销也有待深入研究14。本科毕业论文(设计)155总结与展望通过重复数据删除中的可变分块算法的编写大致了解了现今数据存储方面的现状,同时了解了当今重复数据删除技术的主流方法和主要的优缺点近年来,随着重复数据删除技术的应用,其理论不断得到发展和加强,人们对重复数据删除的认识也越来
46、越清晰。但是,如何挖掘不同类型的数据特性,快速准确的检测到重复数据,高效结合已有的技术仍然存在着可探究的空间,因此也需要研究者进行更深入的探索。因重复数据检测技术自身设计上均存在一定的局限性,如何在融合各技术特征的同时,通过结合统计学和数据挖掘领域的各种技术,对数据特性进行充分的分析和挖掘,找到其规律性的认识来弥补重复数据删除技术上的不足,提高整体系统的性能,也是一个需要深入探究的方面。重复数据删除技术的应用尽管节约了存储空间,但也降低了系统的可靠性。当前研究表明,已有的可靠性技术是基于增加冗余数据的。虽然这样的技术模型具有简单高效的特点,但在存储开销和系统性能方面存在一定的局限性。面对当今社
47、会信息的爆炸式的增长,重复数据删除算法技术越来越成为主流的技术方法。同时重复数据删除中的可变分块算法在对于插入问题和删除问题处理高效性必然会使其成为重复数据中的主流算法。同时CDC算法也存在一定的局限性,它划分的粒度绝大部分取决于期望块的设定,如果该值设置的较小,虽然粒度较细,重复数据查找较为精确,但是额外存储每块信息的开销很大,相反,如果该值设置的较大,则粒度过粗,重复数据删除的效果不好的缺点也局限了其适用范围,所以在以后的发展过程中必然要注意这方面的改进。由于HASH算法不关心数据块的内容,因此已经压缩的数据,比如ZIP,JPEG,GIF以及各种媒体数据对这种算法技术的重复数据删除技术来说
48、是极大的困难。因此,基于HASH算法的重复数据删除软件要么在自身核心技术方面取得突破,要么打破技术壁垒与内容已知软件技术实现合作,取长补短才能更有发展前途。所以面对这些问题,重复数据删除算法如何融合各种现有技术的同时,提供通用性、可扩展性和自适应性是重中之重。同时也要减小重复数据在检测和删除过程中的系统开销。本科毕业论文(设计)16参考文献1程菊生重复数据删除技术的研究J华赛科技,2008,48112DOUGLIS,F,IYENGAR,AAPPLICATIONSPECIFICDELTAENCODINGVIARESEMBLANCEDETECTIONCINUSENIXANNUALTECHNICAL
49、CONFERENCE,SANANTONIO,TEXASUSENIXASSOCIATION,20031131263刘俊辉HASH消息摘要算法实现及改进J福建电脑,2007,492934颜军重复数据删除带来集群架构革命J计算机世界技术与应用,2008,62440415范涛网络存储技术的研究与应用J福建电脑,2008,690936佟乐重复数据删除的前世今生J福建电脑,2007,492937蔡盛鑫一种基于重复数据删除的备份系统D北京邮电大学硕士论文,20068JMCKNIGHT,TASARO,BBABINEAUDIGITALARCHIVINGENDUSERSURVEYANDMARKETFORECASTJTHEENTERPRISESTRATEGYGROUP,200630359ATHICHAMUTHITACHAROEN,BENJIECHEN,DAVIDMAZIERESALOWBANDWIDTHNETWORKFILESYSTEMCINPROCEEDINGSOFTHESYMPOSIUMONOPERATINGSYSTEMSPRINCIPLESSOSP01CHATEAULAKELOUISE,BANFF,CANADAACMASSOCIATION,200117418710SAVAGES,WETHERALLD,KARLINA,ETALNETWO