用于数据备份的方法和系统的制作方法

文档序号:6487429阅读:150来源:国知局
用于数据备份的方法和系统的制作方法
【专利摘要】本发明涉及一种用于数据备份的方法和系统,所述方法包括:利用与原备份数据采用的分块方法相同的分块方法对现数据进行第一分块以得到当前块;计算当前块的哈希值;在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。由于最大化利用了原备份数据与现数据的相关性,能够有效提高重复数据删除方法执行的性能。
【专利说明】用于数据备份的方法和系统
【技术领域】
[0001]本发明涉及计算机领域,更具体地,本发明涉及一种用于数据备份的方法和系统。 【背景技术】
[0002]数据备份是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定情况 下,重新加以利用的一个过程。数据备份是存储领域的一个重要组成部分,其在存储系统中 的地位和作用都是不容忽视的。并且对一个IT系统而言,备份工作也是其中必不可少的组 成部分。因为它不仅可以防范意外事件的破坏,而且还能使历史数据以最佳方式保存归档, 即它为历史数据进行历史数据查询、统计和分析,以及重要信息归档保存提供了可能。
[0003]重复数据删除(De-duplication)技术通过删除数据集中重复的数据,只保留其中 一份,从而消除冗余数据,是一种目前主流且非常热门的存储技术。通常情况下,由于原始 数据中存在大量的重复数据,通过使用重复数据删除技术,可以得到用于存储的优化的数 据,显然,用于存储的优化的数据需要的存储空间大大减少。重复数据删除技术目前大量应 用于数据备份与归档系统,可以帮助应用程序降低数据存储量,节省网络带宽,提高存储效 率,从而节省成本。
[0004]重复数据删除技术的优劣衡量标准主要有两个,即重复数据删除率 (de-duplication ratio)和删除方法执行的性能。重复数据删除率由数据自身的特征和应 用模式所决定,而删除方法执行的性能取决于具体实现技术。现有的厂商已经提供可很多 种重复数据删除的方法,例如定长分块方法,不定长分块方法等等,为了提高重复数据删除 率或删除方法执行的性能,各个厂家都在不断研究新的重复数据删除方法和系统。

【发明内容】

[0005]本发明说明性实施例提供了一种能够提高删除方法执行的性能的数据备份的方 法和系统。
[0006]根据本发明的一个实施例,提供了一种用于数据备份的方法,其中存在原备份数 据和需要备份的现数据,所述方法包括:利用与原备份数据采用的分块方法相同的分块方 法对现数据进行第一分块以得到当前块;计算当前块的哈希值;以及在原备份数据的哈希 值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块 的数目加一。
[0007]根据本发明的另一个实施例,提供了一种用于数据备份的系统,其中存在原备份 数据和需要备份的现数据,所述系统包括:分块单元,配置为利用与原备份数据采用的分块 方法相同的分块方法对现数据进行第一分块以得到当前块;计算单元,配置为计算当前块 的哈希值;以及获取单元,配置为在原备份数据的哈希值表中获取其哈希值与计算出的当 前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。
[0008]根据本发明的一个实施例,还提供了用于数据备份的计算机程序产品。
[0009]利用本发明的一个或多个上述实施例,由于最大化利用了原备份数据与现数据的相关性,能够有效提高重复数据删除方法执行的性能,进而提高数据备份的性能。
【专利附图】

【附图说明】
[0010]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。
[0011]图1显示了适于用来实现本发明实施方式的示例性计算系统100的框图;
[0012]图2a_2c显示了根据本发明一个或多个实施例的用于数据备份的方法200的流程 图;
[0013]图3显示了根据本发明一个或多个实施例的用于数据备份的系统300的框图。 【具体实施方式】
[0014]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整的传达给本领域的技术人员。
[0015]图1显示了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1 所示,计算机系统100可以包括:CPU (中央处理单元)10URAM (随机存取存储器)102,ROM (只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并 行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备 113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、R0M103、硬盘 控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110 与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控 制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制 器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围 的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
[0016]所属【技术领域】的技术人员知道,本公开可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括 固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模 块”或“系统”。此外,在一些实施例中,本公开还可以实现为在一个或多个计算机可读介质 中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0017]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计 算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限 于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储 器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、 或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。[0018]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0019]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0020]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0021]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0022]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
[0023]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0024]在常见的重复数据删除的应用场景中,通常只有数据文件的一部分发生变化,也就是说,备份数据的连续版本之间具有很大的相似性。基于这样的应用场景,根据本发明的构思,在利用传统的重复数据删除方法对数据进行分块时增加对数据分块的预测,即在原备份数据中寻找匹配的数据块。通过寻找匹配的数据块并在连续匹配数据块超过一定阈值的情况下直接利用原备份数据对现数据进行分块,从而能够节省分块操作的时间,从而有效提高重复数据删除方法执行的性能。
[0025]根据本发明的一个实施例的用于数据备份的方法中,存在原备份数据Dtl和需要备份的现数据Dp如前所述,在常见的重复数据删除的应用场景中,Dtl和D1之间具有很大的相关性。当然,这里只是以Dtl和D1之间具有很大相关性的情况为例进行说明,应该理解,本发明的应用范围并不仅限于上面描述的情况。下面将结合图2进一步说明根据本发明的一个实施例的用于数据备份的方法200。
[0026]参见图2a,其中显示了根据本发明一个实施例的用于数据备份的方法200的流程图。方法200从步骤202开始。
[0027]接下来,方法200进入步骤204,其中利用与原备份数据采用的分块方法相同的分块方法对现数据进行第一分块以得到当前块。假设原备份数据Dtl采用的是基于内容定义的分块方法(CDC),那么对需要备份的现数据D1采用同样的分块方法进行第一分块,并将经过第一分块之后得到的数据块作为当前块Q。
[0028]接下来,方法200进入步骤206,其中计算当前块的哈希值。可以利用现有技术中的任意方法来计算当前块C1的哈希值氏。这里不再赘述。
[0029]接下来,方法200进入步骤208,其中在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。哈希值表中记录了备份数据的各个数据块的标识符及其哈希值。根据本发明的一个实施例,利用当前块C1的哈希值H1在原备份数据Dtl的哈希值表T1中寻找具有相同的哈希值H1的数据块作为匹配块M1,进而获取匹配块M1的标识符。这里,预先设置一个变量Cm (其初始值为零)来记录连续匹配块的数目,以便在后续过程中使用。当利用当前块C1的哈希值H1在原备份数据Dtl的哈希表T1中找到了具有相同的哈希值H1的数据块之后,将连续匹配块的数目,即变量Cm的值加一。
[0030]通过利用与原备份数据采用的分块方法对需要备份的现数据进行分块并从原备份数据中寻找匹配块,使得能够利用分块的方式对原备份数据和现数据进行比较,相比于现有技术的方法,能够提高重复数据删除方法执行的性能,进而提高数据备份的性能。
[0031]下面结合图2a_2c对根据本发明的一个或多个其他实施例的用于数据备份的方法200进行介绍。图2a-2c中利用虚线框表示这些其他的实施例所涉及的步骤。
[0032]继续参见图2a,根据本发明的一个实施例,在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一之后,方法200进入步骤210,其中判断连续匹配块的数目是否超过阈值。这里,阈值是一个预先设定的值,如果连续匹配块的数目CM超过该预先设定的值则认为:需要备份的现数据D1的当前块之后的数据块与原备份数据Dtl中的匹配块之后的数据块相同。
[0033]接下来,响应于连续匹配块的数目未超过阈值,方法200进入步骤214 (图2b),其中利用与原备份数据采用的分块方法相同的分块方法继续对现数据进行第二分块以得到新当前块,计算新当前块的哈希值。假设原备份数据Dtl采用的是基于内容定义的分块方法(CDC),那么继续对需要备份的现数据D1经过第一分块后剩下的部分采用同样的分块方法进行第二分块,并将经过第二分块之后得到的数据块作为新当前块C2。然后,计算新当前块C2的哈希值H2。
[0034]根据本发明的一个实施例,方法200进一步包括响应于计算出新当前块C2的哈希值H2进入步骤216(图2b),其中在原备份数据的哈希值表中获取匹配块的下一块的哈希值并比较新当前块的哈希值与匹配块的下一块的哈希值。这里,通过在原备份数据Dtl的哈希值表T1中获取匹配块M1的下一块M2的哈希值并将其与新当前块C2的哈希值比较来确定新当前块C2是否与匹配块M1的下一块M2相同。
[0035]接下来,响应于新当前块的哈希值与匹配块的下一块的哈希值相同,方法200进入步骤218(图2b),其中将连续匹配块的数目加一;将匹配块的下一块作为新匹配块;并且返回判断连续匹配块的数目是否超过阈值(步骤212)。这里,如果新当前块(:2的哈希值与匹配块M1的下一块M2的哈希值相同,则说明新当前块C2与匹配块M1的下一块M2也匹配,因此,将连续匹配块的数目,即变量Cm的值加一,并将匹配块M1的下一块M2作为新匹配块M/,然后返回判断连续匹配块的数目Cm是否超过阈值的步骤。
[0036]根据本发明的一个实施例,响应于新当前块的哈希值与匹配块的下一块的哈希值不同,方法200进入步骤220 (图2b),其中将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符的步骤(步骤208)。如果新当前块C2的哈希值与匹配块M1的下一块M2的哈希值不同,则说明新当前块C2与匹配块M1的下一块M2不匹配,也就是说,需要重新从原备份数据Dtl中寻找其哈希值与计算出的当前块(:2的哈希值相同的匹配块M/的标识符,并且将连续匹配块的数目清零重新开始计算。
[0037]根据本发明的一个实施例,在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一之后,方法200进入步骤210,其中判断连续匹配块的数目是否超过阈值。
[0038]接下来,响应于连续匹配块的数目超过阈值,方法200进入步骤222 (图2c),其中获取匹配块的下一块的标识符对应的数据块的长度。
[0039]接下来,根据本发明的一个实施例,方法200进入步骤224 (图2c),其中利用获取的匹配块的下一块的标识符对应的数据块的长度继续对现数据进行第三分块以得到新当前块;计算新当前块的哈希值;并在原备份数据的哈希值表中获取匹配块的下一块的哈希值。根据阈值的含义,如果连续匹配块的数目超过了阈值,那么认为需要备份的现数据D1的当前块(对应于连续匹配块超过阈值时现数据D1的当前块Ct)之后的数据块与原备份数据Dtl中的匹配块(对应于连续匹配块超过阈值时原备份数据Dtl的匹配块Mt)之后的数据块相同。因此,可以利用原备份数据Dtl中的数据块的长度对现数据进行分块。也就是说,通过在原备份数据Dtl的哈希值表T1中获取匹配块Mt的下一块Mt+1的标识符,并进一步获取匹配块Mt的下一块Mt+1的标识符对应的数据块的长度,进而利用获取的匹配块Mt的下一块Mt+1的标识符对应的数据块的长度对现数据经过第一分块和第二分块后剩下的部分进行第三分块以得到新当前块c3。同时,为了确保第三分块得到的新当前块C3与原备份数据Dtl中的匹配块Mt之后的数据块相同,需要计算新当前块C3的哈希值H3,并将其哈希值H3与匹配块吣的下一块Mt+1的哈希值相比较进行验证。
[0040]接下来,根据本发明的一个实施例,方法200进入步骤226 (图2c),其中比较新当前块的哈希值与匹配块的下一块的哈希值。响应于新当前块的哈希值与匹配块的下一块的哈希值相同,方法200进入步骤228 (图2c),其中:将匹配块的下一块作为新匹配块;返回在原备份数据的哈希值表中获取匹配块的下一块的标识符。响应于新当前块的哈希值与匹配块的下一块的哈希值不同,方法进入步骤230 (图2c),其中将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取与计算出的当前块的哈希值相同的匹配块的标识符。[0041 ] 如前所述,为了确保第三分块得到的新当前块C3与原备份数据Dtl中的匹配块Mt之后的数据块相同,需要计算新当前块C3的哈希值H3,并将其哈希值H3与匹配块Mt的下一块Mt+1的哈希值相比较进行验证。如果新当前块C3的哈希值H3与匹配块Mt的下一块Mt+1的哈希值相同,则说明新当前块C3与匹配块Mt的下一块Mt+1也匹配,因此将匹配块Mt的下一块Μτ+1作为新匹配块M/,返回在原备份数据Dtl的哈希值表T1中获取匹配块的下一块的标识符的步骤(步骤222)。如果新当前块C3的哈希值H3与匹配块Mt的下一块Μτ+1的哈希值不同,则说明新当前块C3与匹配块Mt的下一块Μτ+1不匹配,也就是说,需要重新从原备份数据Dtl中寻找其哈希值与计算出的新当前块C3的哈希值相同的匹配块M/的标识符,并且将连续匹配块的数目清零重新开始计算。
[0042]以上通过结合图2a_2c对根据本发明的一个或多个实施例进行了详细的描述,应当理解,上面的描述仅仅是出于示例性说明的目的,并不能理解为对本发明要求保护的范围的限制。
[0043]下面结合图3对根据本发明的一个或多个实施例的用于数据备份的系统300进行介绍。图3中的虚线框表示根据本发明的一个或多个其他实施例涉及的系统的可选结构。
[0044]如图3所示,根据本发明的一个实施例的用于数据备份的系统300包括:分块单元302,配置为利用与原备份数据采用的分块方法相同的分块方法对现数据进行第一分块以得到当前块;计算单元304,配置为计算当前块的哈希值;获取单元306,配置为在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。
[0045]根据本发明的一个实施例,用于数据备份的系统300还包括:判断单元308,配置为判断连续匹配块的数目是否超过阈值并且,响应于未超过阈值:分块单元302进一步配置为利用与原备份数据采用的分块方法相同的分块方法继续对现数据进行第二分块以得到新当前块;计算单元304进一步配置为计算新当前块的哈希值。
[0046]根据本发明的一个实施例,用于数据备份的系统300还包括:获取单元306进一步配置为在原备份数据的哈希值表中获取匹配块的下一块的哈希值;比较单元310,配置为比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同,所述系统300进一步配置为:将连续匹配块的数目加一;将匹配块的下一块作为新匹配块;返回判断连续匹配块的数目是否超过阈值。响应于新当前块的哈希值与匹配块的下一块的哈希值不同,所述系统300进一步配置为:将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。
[0047]根据本发明的一个实施例,用于数据备份的系统300还包括:判断单元308,配置为判断连续匹配块的数目是否超过阈值并且,响应于超过阈值:获取单元306进一步配置为获取匹配块的下一块的标识符对应的数据块的长度。
[0048]根据本发明的一个实施例,用于数据备份的系统300还包括:分块单元302进一步配置为利用获取的匹配块的下一块的标识符对应的数据块的长度继续对现数据进行第三分块以得到新当前块;计算单元304进一步配置为计算新当前块的哈希值;获取单元306进一步配置为在原备份数据的哈希值表中获取匹配块的下一块的哈希值;比较单元310进一步配置为比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同,所述系统300进一步配置为:将匹配块的下一块作为新匹配块;返回在原备份数据的哈希值表中获取匹配块的下一块的标识符;响应于新当前块的哈希值与匹配块的下一块的哈希值不同,所述系统300进一步配置为:将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。
[0049]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0050]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种用于数据备份的方法,其中存在原备份数据和需要备份的现数据,所述方法包括:利用与原备份数据采用的分块方法相同的分块方法对现数据进行第一分块以得到当前块;计算当前块的哈希值;以及在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。
2.根据权利要求1的方法,进一步包括:判断连续匹配块的数目是否超过阈值并且,响应于未超过阈值:利用与原备份数据采用的分块方法相同的分块方法继续对现数据进行第二分块以得到新当前块;计算新当前块的哈希值。
3.根据权利要求2的方法,进一步包括:在原备份数据的哈希值表中获取匹配块的下一块的哈希值;比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同:将连续匹配块的数目加一;将匹配块的下一块作为新匹 配块;返回判断连续匹配块的数目是否超过阈值;响应于新当前块的哈希值与匹配块的下一块的哈希值不同:将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。
4.根据权利要求1的方法,进一步包括:判断连续匹配块的数目是否超过阈值并且,响应于超过阈值:获取匹配块的下一块的标识符对应的数据块的长度。
5.根据权利要求4的方法,进一步包括:利用获取的匹配块的下一块的标识符对应的数据块的长度继续对现数据进行第三分块以得到新当前块;计算新当前块的哈希值;在原备份数据的哈希值表中获取匹配块的下一块的哈希值;比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同:将匹配块的下一块作为新匹配块;返回在原备份数据的哈希值表中获取匹配块的下一块的标识符;响应于新当前块的哈希值与匹配块的下一块的哈希值不同:将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。
6.一种用于数据备份的系统,其中存在原备份数据和需要备份的现数据,所述系统包括:分块单元,配置为利用与原备份数据采用的分块方法相同的分块方法对现数据进行第一分块以得到当前块;计算单元,配置为计算当前块的哈希值;以及获取单元,配置为在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符并将连续匹配块的数目加一。
7.根据权利要求6的系统,进一步包括:判断单元,配置为判断连续匹配块的数目是否超过阈值并且,响应于未超过阈值: 分块单元进一步配置为利用与原备份数据采用的分块方法相同的分块方法继续对现数据进行第二分块以得到新当前块;计算单元进一步配置为计算新当前块的哈希值。
8.根据权利要求7的系统,其中:获取单元进一步配置 为在原备份数据的哈希值表中获取匹配块的下一块的哈希值;比较单元,配置为比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同,所述系统进一步配置为:将连续匹配块的数目加一;将匹配块的下一块作为新匹配块;返回判断连续匹配块的数目是否超过阈值;响应于新当前块的哈希值与匹配块的下一块的哈希值不同,所述系统进一步配置为: 将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。
9.根据权利要求6的系统,进一步包括:判断单元,配置为判断连续匹配块的数目是否超过阈值并且,响应于超过阈值:获取单元进一步配置为获取匹配块的下一块的标识符对应的数据块的长度。
10.根据权利要求9的系统,进一步包括:分块单元进一步配置为利用获取的匹配块的下一块的标识符对应的数据块的长度继续对现数据进行第三分块以得到新当前块;计算单元进一步配置为计算新当前块的哈希值;获取单元进一步配置为在原备份数据的哈希值表中获取匹配块的下一块的哈希值; 比较单元进一步配置为比较新当前块的哈希值与匹配块的下一块的哈希值,并且:响应于新当前块的哈希值与匹配块的下一块的哈希值相同,所述系统进一步配置为: 将匹配块的下一块作为新匹配块;返回在原备份数据的哈希值表中获取匹配块的下一块的标识符;响应于新当前块的哈希值与匹配块的下一块的哈希值不同,所述系统进一步配置为: 将连续匹配块的数目清零;返回在原备份数据的哈希值表中获取其哈希值与计算出的当前块的哈希值相同的匹配块的标识符。·
【文档编号】G06F11/14GK103577278SQ201210266482
【公开日】2014年2月12日 申请日期:2012年7月30日 优先权日:2012年7月30日
【发明者】李玉猛, 李雅洁, 麦克西斯, 熊殷翔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1