数据区块的切分方法

文档序号:6338749阅读:330来源:国知局
专利名称:数据区块的切分方法
技术领域
本发明涉及一种数据区块的切分方法,尤其涉及一种重复数据删除程序的数据区块切分方法。
背景技术
重复数据删除程序是一种数据缩减技术,通常用于基于磁盘的备份系统,主要目的在于减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符号取代。由于存储系统中总是充斥着大量的冗余数据。为了解决这个问题,节省更多空间,“重复删除”技术便顺理成章地成了人们关注的焦点。采用“重复删除”技术可以将存储的数据缩减为原来的1/20,从而让出更多的备份空间,不仅可以使存储系统上的备份数据保存更长的时间,而且还可以节约离线存储时所需的大量的带宽。为能判断存除系统中数据区块是否重复,因此现有技术中是以定长切分 (fixed-size partition)或内容定义切分(content-defined chunking,CDC)作为判断的依据。在经过上述的切分处理后,会将每一个切分后的数据区块依序的存放至特定的文件结构中,以下为能清楚说明将此一文件结构定义为文件结构块(Tank)。请参考图1所示, 其为现有技术的数据区块的文件结构之示意图。每一个文件结构块100都是相等大小的容量。重复数据删除程序只需检查相同的文件结构块100中的每一数据区块110是否重复。在文件结构块100中依序存放已切分的数据区块110与相应的指纹信息120 (fingerprint)。现有技术的存储方式虽然方便,但这样的存储方式可能会在不同的文件结构块 100中存在着相同的数据区块。如此一来,将无法有效的达到重复数据删除的目的。

发明内容
本发明所要解决的技术问题在于提供一种数据区块的切分方法,应用在重复数据删除的程序中,对输入文件进行文件切割为多个数据区块。本发明所揭露的数据区块的切分方法包括下列步骤将第一滑动窗口依序在输入文件进行移动,用以产生相应于第一滑动窗口的长度的文件结构块与相应文件结构块的结构块特征值;利用第二滑动窗口在第一滑动窗口的范围内依序对输入文件进行数据区块切分程序,产生相应第二滑动窗口的输入文件的数据区块与指纹特征值;在每一文件结构块中记录所属的数据区块及相应数据区块的指纹特征值;将新生成的数据区块定义为目标数据区块;将目标数据区块与现有的文件结构块进行比对,用以查找是否存在重复的指纹特征值;若现有的文件结构块中存在与目标数据区块重复的指纹特征值时,则判断重复的指纹特征值是否为所属的文件结构块的第一个数据区块;若数据区块为文件结构块的第一个数据区块时,则计算目标数据区块所相应的文件结构块与结构块特征值,并比对此一数据区块与目标数据区块的结构块特征值是否相同;若此一数据区块与目标数据区块的结构块特征值相同时,则移动第一滑动窗口 ;若此一数据区块与目标数据区块的结构块特征值不相同时,则删除目标数据区块并重复数据区块的比对,直至完成输入文件为止。其中,该第一滑动窗口以不重迭的方式于该输入文件中移动。其中,若现有的该些文件结构块中不存在与该目标数据区块重复的该指纹特征值时,则删除该目标数据区块并重复该数据区块的比对。其中,若该数据区块不是该文件结构块的第一个该数据区块时,则删除该目标数据区块并重复该数据区块的比对。其中,该文件结构块中更包括一元数据,该元数据用以记录相应的该数据区块于该输入文件的位置信息。本发明提供一种重复数据删除的数据区块的切分处理方法,除了以数据区块作为重复数据的判断外,另根据文件结构块作为重复数据的判定。由于文件结构块的文件长度大于数据区块的文件长度,所以可以更快速的比对到重复数据,进而提高存储的容量。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为现有技术的数据区块的文件结构的示意图;图2分别为本发明的切分运作流程示意图;图3为本发明第一滑动窗口与第二滑动窗口的示意图;图4为本发明的第二滑动窗口与数据区块的示意图;图5为本发明的文件结构块的组成示意图。其中,附图标记100:文件结构块110:数据区块120:指纹信息300 输入文件311:第一滑动窗口312:第二滑动窗口320 数据区块510 文件结构块520 元数据530 结构块特征值
具体实施例方式本发明可以应用在具有处理重复数据删除程序的计算器之中,例如个人计算机、 笔记型计算机、服务器或应用在客户端与伺服端架构中。为能清楚本发明运作流程与实际数据区块的划分方式,还请同时参考图2所示,其分别为本发明的切分运作流程示意图。本发明包括以下步骤步骤S210 将第一滑动窗口依序在输入文件进行移动,用以产生相应于第一滑动窗口的长度的文件结构块;步骤S220 利用第二滑动窗口在第一滑动窗口的范围内依序对输入文件进行数据区块切分程序,产生相应第二滑动窗口的数据区块与指纹特征值;步骤S230 在每一文件结构块中记录所属的数据区块及相应数据区块的指纹特征值,并根据数据区块计算其相应的结构块特征值;步骤S240 将新生成的数据区块定义为目标数据区块;步骤S250 将目标数据区块与现有的文件结构块进行比对,用以查找是否存在重复的指纹特征值;步骤S260 若现有的文件结构块中存在与目标数据区块重复的指纹特征值时,则判断重复的指纹特征值是否为所属的文件结构块的第一个数据区块,若现有的文件结构块中不存在与目标数据区块重复的指纹特征值时,则执行步骤S290 ;步骤S270 若数据区块为文件结构块的第一个数据区块时,则计算目标数据区块所相应的文件结构块与结构块特征值,并比对此一数据区块与目标数据区块的结构块特征值是否相同,若数据区块不是文件结构块的第一个数据区块时,则执行步骤S290 ;步骤S280 若此一数据区块与目标数据区块的结构块特征值相同时,则删除目标数据区块并重复数据区块的比对,直至完成输入文件为止,若数据区块与目标数据区块的结构块特征值不相同,则执行步骤S290 ;以及步骤S290 若此一数据区块与目标数据区块的结构块特征值不相同时,则记录目标数据区块至相应的文件结构块中,并继续移动第一滑动窗口并重复数据区块的比对,直至完成输入文件为止。首先将输入文件300加载至运行有重复数据删除程序的计算器中。在本发明的重复删除程序中分别会运行两个长度相异的滑动窗口,在此分别定义为第一滑动窗口 311与第二滑动窗口 312,且第一滑动窗口 311的长度小于(或等于)第二滑动窗口 312的长度。 第一滑动窗口 311与第二滑动窗口 312会在输入文件300中依序移动,并将滑动窗口所涵盖的范围进行指纹特征值的运算(其计算方式请参考后文所述),用以判断是否进行切分的依据。请参考图3所示,其为本发明第一滑动窗口 311与第二滑动窗口 312的示意图。第一滑动窗口 311在输入文件300中会依照固定长度且不重迭的方式进行移动, 并根据第一滑动窗口 311位于输入文件300的位置上产生相应的文件结构块。接着,计算该文件结构块所涵盖的部分输入文件300的指纹特征值,在此将此一指纹特征值定义为结构块特征值。接下来,第二滑动窗口 312会在第一滑动窗口 311所涵盖的范围中依照固定的间距进行移动。举例来说,若是滑动窗口每次以一个字节作为移动单位时,则滑动窗口会每次以一个字节在第一滑动窗口 311中依序移动。换言之,第一次的第二滑动窗口 312的起始位置与第二次的第二滑动窗口 312的起始位置相差一个字节。若是以五个字节作为移动单位,则第二滑动窗口 312会每次移动五个字节的间隔在第一滑动窗口 311中移动。在开始移动第二滑动窗口 312时,会先记录第二滑动窗口 312在输入文件300中的起始位置。接着,对第二滑动窗口 312所涵盖的部分的输入文件300计算相应的指纹特征值,并判断指纹特征值是否与切分条件相符合。当指纹特征值是否与切分条件相符合,则将第二滑动窗口 312在于输入文件300中的起始位置与尾端位置间的长度定义为数据区块 320的分块长度。请参考图4所示,其为本发明的第二滑动窗口与数据区块的示意图。当指纹特征值是否与切分条件不符合时,则继续重复第二滑动窗口 312的移动,直至所涵盖的范围的指纹特征值符合切分条件时,才停止滑动窗口的移动。因此,每一次第二滑动窗口 312在输入文件300中所涵盖长度都并非等长。所以,每一个数据区块320也不一定是相同的长度。在每产生一个数据区块320后,重复数据删除程序会依序的将数据区块320与相应的指纹特征值记录至相应的文件结构块中。举例来说,在第一个文件结构块所涵盖的输入文件300的范围内所产生的数据区块320,会依照其产生的顺序逐一的记录至文件结构块中。所以每一个文件结构块510都记录着若干个数据区块320、元数据(meta-data)与结构块特征值530,请配合图5所示,其为本发明的文件结构块的组成示意图。其中,不同的元数据520用以记录相应的数据区块320的指纹特征值。所以当进行读取文件时,系统会先读取经过重复数据删除的文件。然后根据元数据520的序列,从存储系统中取出相应数据块,还原成输入文件300。本发明在每次产生新的数据区块320时,除了会比对之前是否已经存在重复的数据区块320外,也会同时比对结构块特征值530是否重复。为能清楚说明不同数据区块320 间的比对对象,所以将新生成的数据区块320定义为目标数据区块(未绘示),而其它的数据区块320则称为已存在数据区块(未绘示)。当目标数据区块产生时,会将目标数据区块与现有的文件结构块510中的数据区块320比对指纹特征值是否存在重复。若是从现有的文件结构块510中查找不到有重复的指纹特征值,则将目标数据区块记录至相应的文件结构中。若现有的文件结构块510中存在与目标数据区块重复的指纹特征值时,则判断所查找到的重复的指纹特征值是否为其所属的文件结构块510的第一个数据区块320。若数据区块320不是其所属的文件结构块510的第一个数据区块320,则直接删除目标数据区块并进行相应的重复数据删除的记录。若是数据区块320为其所属的文件结构块510的第一个数据区块320时,则计算目标数据区块所相应的文件结构块510与结构块特征值530。接着,比对此一数据区块320的结构块特征值530与目标数据区块的结构块特征值530是否相同。换言之,就是比对两个数据区块320各所属的结构块特征值530是否相同。如果两个结构块特征值530是一致的话,则代表目标数据区块之后的已存在数据区块也是重复的。所以在本发明中就不再对目标数据区块后续的已存在数据区块进行计算,而是根据已存在文件结构块510作为目标数据区块的重复数据来加以记录。因为在同一个输入文件300中,可能出现多个相同的文件结构块510。如果通过数据区块320的逐一比对,虽然也可以达到重复数据的删除处理。但是要完全的比对所有的数据区块320,需要耗费的更多时间。若是两个结构块特征值530不同,则代表目标数据区块之后的数据区块320与已存在文件结构块510不一样,所以只针对目标数据区块进行重复数据删除的处理。再完成目标数据区块的处理后,重复数据删除程序判断是否已经到达输入文件 300的文件尾端。若是已经到输入文件300的尾端,则完成此一文件的重复数据删除的处理。反之,则继续数据区块320的生成与判断。本发明提供一种重复数据删除的数据区块320的切分处理方法,除了以数据区块作为重复数据的判断外,另根据文件结构块510作为重复数据的判定。由于文件结构块510的文件长度大于数据区块的文件长度,所以可以更快速的比对到重复数据,进而提高存储
的容量。 当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。
权利要求
1.一种数据区块的切分方法,应用在一重复数据删除程序中,对一输入文件进行文件切割为多个数据区块,其特征在于,该数据区块的切分方法包括以下步骤将一第一滑动窗口依序在该输入文件进行移动,用以产生相应于该第一滑动窗口的长度的一文件结构块;利用一第二滑动窗口在该第一滑动窗口的范围内依序对该输入文件进行一数据区块切分程序,产生该些数据区块与相应的一指纹特征值;在每一该文件结构块中记录所属的该些数据区块及相应该数据区块的该指纹特征值, 并根据该些数据区块计算其相应的一结构块特征值;将新生成的该数据区块定义为一目标数据区块,再对该目标数据区块与已存在的该些文件结构块进行比对,用以查找是否存在重复的该指纹特征值;若已存在的该些文件结构块中存在与该目标数据区块重复的该指纹特征值时,则判断重复的该指纹特征值是否为所属的该文件结构块的第一个该数据区块;若该数据区块为该文件结构块的第一个该数据区块时,则计算该目标数据区块所相应的该文件结构块与该结构块特征值,并比对该数据区块与该目标数据区块的该结构块特征值是否相同;若该数据区块与该目标数据区块的该结构块特征值相同时,则移动该第一滑动窗口 ;以及若该数据区块与该目标数据区块的该结构块特征值不相同时,则删除该目标数据区块并重复该数据区块的比对,直至完成该输入文件为止。
2.根据权利要求1所述的数据区块的切分方法,其特征在于,该第一滑动窗口以不重迭的方式于该输入文件中移动。
3.根据权利要求1所述的数据区块的切分方法,其特征在于,若现有的该些文件结构块中不存在与该目标数据区块重复的该指纹特征值时,则删除该目标数据区块并重复该数据区块的比对。
4.根据权利要求1所述的数据区块的切分方法,其特征在于,若该数据区块不是该文件结构块的第一个该数据区块时,则删除该目标数据区块并重复该数据区块的比对。
5.根据权利要求1所述的数据区块的切分方法,其特征在于,该文件结构块中更包括一元数据,该元数据用以记录相应的该数据区块于该输入文件的位置信息。
全文摘要
本发明公开了一种数据区块的切分方法,应用在重复数据删除的程序之中。数据区块的切分方法包括对输入文件进行文件结构块切分程序与数据区块切分程序;将生成的数据区块的指纹特征值与已完成的文件结构块所记录的指纹特征值进行比对;若是在其它文件结构块中存在重复的指纹特征值时,则判断重复的数据区块是否为已存在的文件结构块的第一个数据区块若是此一数据区块与已存在的文件结构块的第一个数据区块相同时,则进一步判断两个数据区块的文件结构块的结构块特征值是否相同;若是两者相同时,则删除欲比对的数据区块。
文档编号G06F17/30GK102479245SQ20101058956
公开日2012年5月30日 申请日期2010年11月30日 优先权日2010年11月30日
发明者朱明胜, 陈志丰 申请人:英业达股份有限公司, 英业达集团(天津)电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1