重复数据删除的数据区块切分方法与新增方法技术

技术编号:7373066 阅读:245 留言:0更新日期:2012-05-28 02:27
本发明专利技术公开了一种重复数据删除的数据区块切分方法与新增方法将输入文件进行文件切割为多个数据区块。切分方法包括:利用固定长度的滑动窗口在输入文件中移动,记录输入文件的起始位置,另记录滑动窗口位于输入文件的尾端位置,将起始位置与尾端位置间的长度定义为分块长度;根据滑动窗口对输入文件的固定长度的所涵盖范围进行指纹特征程序,产生指纹特征值;重复滑动窗口的移动,直至滑动窗口符合切分条件时;根据各分块长度产生相应的数据区块,并重复执行产生数据区块的步骤,直至完成输入文件中的所有数据区块为止,且产生指纹特征值的索引文件。

【技术实现步骤摘要】

本专利技术公开了一种重复数据删除的处理方法特别有关于一种。
技术介绍
重复数据删除是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。为能判断存除系统中数据区块是否重复,因此现有技术中以定长切分 (fixed-size partition)或内容定义切分(content-defined chunking,CDC)作为判断的依据。定长切分算法采用预先定义好的数据区块110大小对输入文件100进行切分。定长分块算法的优点是简单、性能高,但它对数据插入和删除非常敏感,处理十分低效,不能根据内容变化作调整和优化。请参考图IA所示,其为现有技术的定长切分示意图。内容定义切分算法是一种变长分块算法它应用指纹数据(如Rabin指纹)将文件分割成长度大小不等的分块策略。与定长切分算法不同,内容定义切分算法是基于文件内容进行数据区块110切分的,因此数据区块110大小是可变化的。在算法执行过程中,内容定义切分算法是使用一个固定大小(如48字节)的滑动窗口对文件数据计算数据指纹。如果指纹满足特定条件(例如当值模特定的整数等于预先设定的数时)则把窗口位置作为数据区块110的边界。但是内容定义切分算法可能会出现错误切分的情况。换言之,当指纹条件不能满足,数据区块110的边界就不能确定,这样将导致数据区块110的容量过大。请参考图IB所示,其为现有技术的内容定义切分示意图。
技术实现思路
鉴于以上的问题,本专利技术的主要目的在于提供一种重复数据删除的数据区块切分方法,应用在文件备份程序中,用以将输入文件进行文件切割为多个数据区块。为达上述目的,本专利技术所公开的重复数据删除的数据区块切分方法包括以下步骤载入输入文件;利用固定长度的滑动窗口在输入文件中循序移动,并记录滑动窗口于输入文件的起始位置,且同时记录当前滑动窗口位于输入文件的尾端位置,将起始位置与尾端位置间的长度定义为分块长度;根据滑动窗口对输入文件的固定长度的所涵盖范围进行指纹特征程序,用以产生指纹特征值;重复滑动窗口的移动,直至滑动窗口符合切分条件时,则停止滑动窗口的移动,再根据输入文件的分块长度产生相应的数据区块;依据滑动窗口在前一数据区块的尾端位置作为新的滑动窗口的起始位置,并重复执行产生数据区块的步骤,直至完成输入文件中的所有数据区块为止,且产生指纹特征值的索引文件。其中,切分条件中更包括判断指纹特征值符合切分数值;若指纹特征符合切分数值,则停止滑动窗的滑动;若指纹特征不符合切分数值,则判断分块长度是否符合预设长度;若分块长度符合预设长度,则停止滑动窗口的滑动;若分块长度不符合预设长度,移动滑动窗口并重复判断切分条件。透过上述的数据区块切分方法的处理后,本专利技术另提出一种应用上述切分方法的重复数据删除的数据区块新增方法。为达上述目的,本专利技术所公开的一种重复数据删除的数据区块新增方法包括以下步骤载入新增过数据区块的该输入文件;对输入文件进行数据区块切分程序,产生多组数据区块;对每一数据区块进行哈希程序,计算每一数据区块所相应的哈希值;依序比对每一哈希值是否与这些指纹特征值相同;当哈希值与指纹特征值不相同时,则在索引文件中将哈希值插入前一相同数据区块的指纹特征值之后;重复比对哈希值与这些指纹特征值,直至完成所有的哈希值的比对为止。本专利技术以不同的数据长度动态的产生不同大小数据区块,并且透过相应的新增方法将新的数据写入对应的数据区块后。因此,本专利技术可以有效的降低数据的储存量,并且亦可对现有的数据做相应的新增。有关本专利技术的特征与实作,配合附图作最佳实施例详细说明如下。 附图说明图IA为现有技术的定长切分示意图;图IB为现有技术的内容定义切分示意图;图2为本专利技术的切分运作流程示意图;图3为本专利技术的数据区块切分示意图;图4A为本专利技术的分块长度运作示意图;图4B为本专利技术的切分位置示意图;图5为本专利技术新增数据的运作流程示意图;图6A为本专利技术新增数据的数据区块分解示意图;图6B为本专利技术新增数据的数据区块分解示意图;图6C为本专利技术新增数据的数据区块分解示意图。其中,附图标记输入文件100数据区块110输入文件310数据区块32O滑动窗口330具体实施例方式本专利技术应用于具有处理重复数据删除程序的计算机,例如个人电脑、笔记型电脑、服务器或应用在客户端与服务端架构中。为能清楚本专利技术运作流程与实际数据区块的划分方式,还请同时参考图2与图3所示,其分别为本专利技术的切分运作流程示意图与数据区块切分示意图。本专利技术包括以下步骤步骤S210 载入输入文件;步骤S220 利用固定长度的滑动窗口在输入文件中循序移动,并记录滑动窗口于输入文件的起始位置,且同时记录当前滑动窗口位于输入文件的尾端位置,将起始位置与尾端位置间的长度定义为分块长度;步骤S230 根据滑动窗口对输入文件的固定长度的所涵盖范围进行指纹特征程序,用以产生指纹特征值;步骤S240 重复滑动窗口的移动,直至滑动窗口符合切分条件时,则停止滑动窗口的移动,再根据输入文件的分块长度产生相应的数据区块;以及步骤S250 依据滑动窗口在前一数据区块的尾端位置作为新的滑动窗口的起始位置,并重复执行产生数据区块的步骤,直至完成输入文件中的所有数据区块为止,且产生指纹特征值的索引文件。首先,将输入文件310载入相应的计算机装置中,而对欲进行切分的数据区块320 的分块长度定义为L (图3中左起第一个与第二个为已完成切分的数据区块320,而第三个为欲进行切分的数据区块320),滑动窗口 330的长度为W(如图3所示中虚线框)。接着, 滑动窗口 330的起始位置对齐于输入文件310的起始位置。滑动窗口 330以固定长度的字节在输入文件310中循序地移动。举例来说,若是滑动窗口 330每次以一个字节作为移动单位时,则滑动窗口 330会每次以一个字节在输入文件310中依序移动。换言之,第一次的滑动窗口 330的起始位置与第二次滑动窗口 330相差一个字节。若是以五个字节作为移动单位,则滑动窗口 330会每次移动五个字节的间隔在输入文件310中移动。在滑动窗口 330移动的过程中,另外会记录滑动窗口 330位于输入文件310的尾端位置,在每次移动时会计算一个哈希值。而起始位置与尾端位置间的长度就是为分块长度L。本专利技术为避免滑动窗口 330无终止的滑动,所以以下列步骤作为分块长度决定依据,请参考图4A所示,其为本专利技术的分块长度运作示意图。分块长度的决定包括以下步骤步骤S231 对指纹特征值进行模数处理,并判断处理结果是否符合第一切分数值;步骤S232 若指纹特征符合第一切分数值,则停止滑动窗口的滑动并进行切分;步骤S233 若指纹特征不符合第一切分数值,则判断指纹特征是否符合第二切分数值;步骤S234:若指纹特征不符合第二切分数值,则开始移动滑动窗口并本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:朱明胜王云松陈志丰
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术