CN102460398B - 用于在备份操作中执行去重复的源分类 - Google Patents
用于在备份操作中执行去重复的源分类 Download PDFInfo
- Publication number
- CN102460398B CN102460398B CN201080024491.3A CN201080024491A CN102460398B CN 102460398 B CN102460398 B CN 102460398B CN 201080024491 A CN201080024491 A CN 201080024491A CN 102460398 B CN102460398 B CN 102460398B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- data
- backup
- buffer memory
- fingerprints
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在此披露了一种用于使用去重复将数据从备份源备份到中央资料库的计算机实施的系统、方法以及计算机程序产品,其中该数据包括多个源数据段。接收一个指纹缓存,该指纹缓存包括存储在该中央资料库中的多个数据段的多个指纹,其中这些数据段是先前从该备份源备份的。生成多个源数据指纹,这些源数据指纹包括这些源数据段的多个指纹(例如多个散列值)。将这些源数据指纹与该指纹缓存中的这些指纹进行比较。与未在该指纹缓存中的多个指纹相对应的这些源数据段当前可以未存储在该中央资料库中。在进一步查询了该中央资料库后,响应于该比较而将这些源数据段中的一个或多个发送到该中央资料库用于存储。
Description
技术领域
本发明总体上涉及对数字数据进行备份。
背景技术
在一种包括若干客户端计算机的环境中,诸如企业局域网(LAN),常采用一种集中式备份系统。该集中式备份系统由系统管理员来配置以便自动地在这些客户端计算机的存储装置上对数据进行备份。该集中式备份系统可以包括一个备份服务器,该备份服务器通过将数据段(例如多个文件或文件的多个部分)从这些客户端计算机的存储装置拷贝到中央资料库来周期性地对每个客户端计算机进行备份。这个中央资料库具有足够大的存储容量并且通常被定位于远离该备份服务器(以及客户端计算机)。其结果是,常需要在一段显著的距离上通过一个可以受限的带宽链路来传输有待备份的数据段。
一种减少传输到并存储在中央资料库中的数据量的技术被称为“去重复”。采用去重复的备份系统利用了以下事实:备份期间在一个客户端计算机中找到的一个数据段可以已经被存储在中央资料库中。因为在前一次备份期间它已从客户端计算机中备份并且从那时起在该客户端计算机上的数据段尚未被修改,所以它可以已经在中央资料库中。因为先前已从具有相同数据段的另一个客户端计算机中备份过该数据段,所以它也可以已经在中央资料库中。
当使用去重复从一个客户端计算机中备份一个数据段时,备份服务器生成了对该数据段进行识别的信息。备份服务器将这个识别信息传输到中央资料库并且中央资料库发送一个响应来表明它是否已经包含所识别的数据段。只有该响应表明该数据段尚未包含在资料库中,备份服务器然后才将实际的数据段传输到中央资料库。其结果是,减少了传输到中央资料库的数据段的数目。
然而,因为备份服务器要为每个数据段将识别信息传输到中央资料库,所以在备份中仍有涉及大量使用计算和网络资源。同样,对于每个数据段中央资料库都要使用计算资源来生成一个响应并且中央资料库将该响应传输到备份服务器。因此,在本领域中对于使用去重复来减少备份所需要的计算和网络资源的方法存在一种需要。
发明内容
上述需要可以由一种用于使用去重复将数据从备份源备份到中央资料库的计算机实施的系统、方法以及计算机程序产品来满足,其中该数据包括多个源数据段。在一个实施方案中,接收一个指纹缓存,该指纹缓存包括存储在该中央资料库中的多个数据段的多个指纹,其中这些数据段是先前从该备份源备份的。生成多个源数据指纹,这些源数据指纹包括这些源数据段的多个指纹(例如多个散列值)。将这些源数据指纹与该指纹缓存中的这些指纹进行比较。与未在该指纹缓存中的多个指纹相对应的这些源数据段当前可以未存储在该中央资料库中。在进一步查询了该中央资料库后,响应于该比较而将这些源数据段中的一个或多个发送到该中央资料库用于存储。
附图说明
图1是一个高级图,展示了在一个实施方案中的包括用于使用去重复来有效地对多个客户端进行备份的备份服务器和中央资料库的一种网络环境。
图2是一个框图,展示了在一个实施方案中的能够作为客户端、备份服务器或中央资料库的实施方案的一种计算机。
图3展示了在一个实施方案中的用于对多个客户端存储装置进行备份的的备份服务器的一个逻辑视图。
图4展示了在一个实施方案中的用于对从多个客户端存储装置备份的数据段进行存储的中央资料库的一个逻辑视图。
图5是一个流程图,展示了在一个实施方案中的用于使用去重复将数据从一个客户端存储装置备份到中央资料库的一种方法。
图6是一个流程图,展示了在一个实施方案中的用于使用去重复在中央资料库对数据进行备份的一种方法。
这些图示仅为展示的目的而描绘了一种实施方案。本领域的普通技术人员将容易地从以下说明中认识到,可以使用在此所展示的这些结构以及方法的替代实施方案而不背离在此说明的原理。
具体实施方式
图1是一个高级图,展示了在一个实施方案中的包括用于使用去重复来有效地对多个客户端102进行备份的备份服务器108和中央资料库114的网络环境100。备份服务器108与客户端102由局域网106来连接。虽然图中仅示出了两个客户端102,但在网络106中可以有若干个。备份服务器108还可以通过的广域网110(诸如互联网)而连接到中央资料库114上。相比广域网110而言,局域网106允许更高的带宽以及更便宜的通信。在一个实施方案中,备份服务器108与多个客户端102的定位在物理上非常接近,而中央资料库114定位在其他地方。在一个实施方案中,多个备份服务器108与中央资料库114进行通信。
这些客户端102是不同的计算装置,诸如局域网106上的用户工作站、服务器(例如网络或应用服务器)或路由器。这些客户端102具有多个客户端存储装置104,诸如硬盘驱动器。在一个实施方案中(未示出),一些客户端存储装置104被直接连接到网络106上。这些客户端存储装置104包含可以在一个文件系统中被存储为多个文件的数据。令人希望的是周期性地对来自客户端存储装置104的数据进行备份以防数据丢失。某些类型的文件(诸如操作系统文件)极少随着时间的推移而变化并且它们在环境100中的多个客户端存储装置104上作为完全相同的副本而存在。一个客户端102或客户端存储装置104也被称为一个备份源。
备份服务器108周期性地(例如每天)在客户端存储装置104上进行不同类型的数据备份。有待从一个特定的客户端存储装置104备份的数据可以作为一个流(也被称为一个备份流)而由备份服务器108在局域网106上访问。这个备份流可以由备份服务器108划分为多个数据段,其中一个数据段(例如)对应于一个文件、一个文件的一部分或者一个磁盘扇区。如果数据段尚未存储在中央资料库中,那么备份服务器108采用多种去重复技术将这些数据段发送到该中央资料库114中用于存储。备份服务器108通过对当前存储在该中央资料库中的可以在该当前备份流中遇到的多个数据段进行识别而从中央资料库114中检索一个指纹缓存以完成此动作。备份服务器108使用这个指纹缓存来确定在该当前备份流中的哪些数据段应被发送到中央资料库114中,而无须针对每个数据段来查询该中央资料库。
中央资料库114在备份操作期间对从备份服务器108中接收的多个数据段的副本进行存储。中央资料库114可以对最初来自数千个客户端存储装置104的数百万个数据段进行存储。在必须将所备份的数据恢复到客户端存储装置104中的情况下可以访问存储在中央资料库114中的这些数据段。因为该备份操作采用了去重复,所以在中央资料库114中的一个单一的数据段当前可以存在于多个客户端存储装置104上。为了支持使用去重复的备份操作,中央资料库114将关于哪些数据段当前被存储在该资料库中的信息提供给备份服务器108。
图2是根据一个实施方案的用作客户端102、备份服务器108、和/或中央资料库114的计算机200的高级框图。所展示的是至少一个处理器202连接到芯片组204上。同样连接到芯片组204上的是存储器206、存储装置208、键盘210、图形适配器212、定点装置214以及网络适配器216。显示器218连接到图形适配器212上。在一个实施方案中,由存储器控制器集线器220与I/O控制器集线器222来提供芯片组204的功能。在另一个实施方案中,存储器206直接连接到处理器202上而不是芯片组204上。
存储装置208是任何计算机可读存储媒质,诸如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD或者固态存储器装置。在一个实施方案中,客户端102的存储装置208是客户端存储装置104。存储器206保存由处理器202使用的指令与数据。定点装置214可以是鼠标、轨迹球、或其他类型的定点装置,并且与键盘210一起使用以便将数据输入计算机系统200中。图形适配器212在显示器218上显示图像和其他信息。网络适配器216将计算机系统200连接到一个局域或广域网上。
如在本领域中所知的,计算机200可具有不同于图2所示的部件和/或其他部件。另外,计算机200可以缺少所展示的某些部件。在一个实施方案中,用作备份服务器108的计算机200缺少键盘210、定点装置214、图形适配器212、和/或显示器218。此外,存储装置208可以在定位于计算机200中和/或使其与之远离(诸如实施在一个存储区域网络(SAN)内)。
如本领域中所知的,计算机200被适配为执行多个计算机程序模块用于提供在此所述的功能。如在此所使用的,术语“模块”是指用来提供特定功能的计算机程序逻辑。这样,模块可以在硬件、固件和/或软件中实施。在一个实施方案中,多个程序模块存储在存储装置208上,加载到存储器206中,并且由处理器202来执行。
在此所述的这些实体的实施方案可以包括其他的和/或与在此所述不同的模块。另外,归因于这些模块的功能可以在其他的实施方案中由其他的或不同的模块来执行。而且,为了明晰与方便的目的,这种描述偶尔省略了术语“模块”。
图3展示了在一个实施方案中的用于对多个客户端存储装置104进行备份的备份服务器108的一个逻辑视图。备份服务器108基于多种备份规范310来进行备份。备份规范310包括该备份源的标识,诸如网络协议(IP)地址或客户端102的主机名称。备份规范310还可以包括表明该备份是否是全备份或增量备份的备份类型。备份规范310还可以包括进一步限定关于该备份的细节的备份策略。该备份策略可以表明有待备份的文件类型(例如,文本文件或不可执行文件)。它可以表明应该对该文件系统中某些位置处(例如,在某些目录中)的文件进行备份。该备份策略可以指定该备份是原始格式备份(例如,其中数据段对应于磁盘扇区而不是文件)。
备份规范310可以由系统管理员输入到备份服务器108中并且可以被存储在该备份服务器上。备份服务器108可以被配置为根据多种备份规范310来进行多个备份,以便对多个客户端102进行备份和/或在一个特定的客户端上进行不同类型的备份。备份服务器108还可以被配置为以一个指定的频率(例如,每天)根据每种备份规范310来进行备份。备份规范310也被称为源分类,因为它对所备份的数据的源进行分类。
备份模块304在一个实施方案中被配置为基于备份规范310使用去重复来进行一次备份。备份模块304从客户端存储装置104创建一个备份流,其中该客户端存储装置(或相关联的客户端102)是在备份规范310中识别的备份源。备份模块304将该备份流分割为多个数据段。该备份流的内容以及该备份流的分割是基于在备份规范310中的备份类型和备份策略。该备份流可以是不受限制的并且包括任何数据量并且具有任何数目的段。
指纹模块302创建一个当前指纹集312,该指纹集包含该备份流的数据段的多个指纹。一个数据段的一个指纹是一片数据,该片数据唯一地标识该数据段但是它显著地小于该数据段本身。在一个实施方案中,一个数据段的一个指纹是基于该数据段的内容的一个散列的值。可以通过将一个散列函数(诸如消息摘要算法5(MD5))应用到该数据段上而从一个数据段中生成一个指纹。
资料库通信模块308从中央资料库114=请求一个指纹缓存。该请求包括当前备份规范310,该规范可以包括备份源、类型和策略。中央资料库114可以通过提供由资料库通信模块308接收的一个指纹缓存306来响应。在指纹缓存306中的全部指纹对应于当前存储在中央资料库114中的多个数据段。
指纹缓存306是存储在中央资料库114上的指纹(可能是数百万计的)的一个子集。如以下在中央资料库的描述中所进一步讨论的,指纹缓存306是由中央资料库114基于当前的备份规范310选择的。简言之,使用与在当前备份中相同或相似的备份规范310来选择指纹缓存306以包含与在先前的备份中遇到的多个数据段相对应的多个指纹。其结果是,所接收的指纹缓存306可以对应于在该当前备份中的这些数据段。如果备份规范310对于中央资料库114而言是未知的,那么它可以用一个空指纹缓存306来响应。
段处理模块314对在当前指纹集312中的和在指纹缓存306中的指纹进行比较。如果来自当前指纹集312的一个指纹也出现在指纹缓存306中,那么对应于该指纹的数据段已经存储在中央资料库114中并且不需要被发送到那里。该数据段从使用相同备份规范的前一个备份起可以一直是未改变的(例如,在客户端存储装置104上的从该客户端存储装置的上次备份起就未改变的一个文件)。
如果来自当前指纹集312的一个指纹未出现在指纹缓存306中,那么仍有坑的是对应于该指纹的数据段已存储在中央资料库114中。虽然先前未使用当前备份规范310对该数据段进行备份,但是可以先前已经使用不同的备份规范对其进行了备份(例如,从一个不同的客户端存储装置中被备份)。
段处理模块314致使资料库通信模块308将多个请求发送到中央资料库114,这些请求包含来自当前指纹集312的、未出现在指纹缓存306中的多个指纹。在一个实施方案中,包含全部这些指纹的一个单一请求被发送到中央资料库114以降低网络带宽。不管相关的备份规范,中央资料库114进行一次搜索来确定它是否包含与这些指纹相对应的数据段。
中央资料库114发送一个响应(或多个响应)来表明哪些指纹对应于当前存储在该中央资料库中的数据段。如果该响应表明一个指纹已存储在该中央资料库中,那么无需由备份服务器108对该指纹做进一步处理。然而,如果该响应表明一个指纹未存储在该中央资料库114中,那么资料库通信模块308将与该指纹相对应的数据段发送到该中央资料库用于存储。
由于使用了指纹缓存306用于去重复,通常关于多个单独指纹的仅有较小数目的请求从备份服务器108中被发送到中央资料库114。指纹缓存306常常包含当前指纹集312中的大部分指纹。这是因为对于一个给定的备份规范310(例如,一个给定的客户端与备份类型),包括一个备份的数据段从一个备份到下一个典型地不会变化太大,尤其是如果是时常进行备份的话。如上所述的备份服务器108利用了这一备份历史来减少指纹请求的数目。跨广域网110的网络带宽也可以被减少。使用指纹缓存306可以减少到中央资料库114的关于多个单独指纹的请求的发送以及来自该中央资料库的多个响应的接收。另外地,在备份服务器108和中央资料库114上用于生成请求、响应请求以及处理响应的处理资源可以被减少。
如果在从中央资料库114接收的指纹缓存306中的一个指纹不在当前指纹集312中,那么该指纹可以对应于不再与当前备份规范310相关的一个数据段。例如,从客户端存储装置104的上次备份起一个文件可以已经从该客户端存储装置中被删除。在一个实施方案中,段处理模块314使资料库通信模块308发送一个通知报文到中央资料库114,该通知报文识别在指纹缓存306中的但不在当前指纹集312的多个指纹。该报文可以由中央资料库114使用来更新其多个数据库并且删除不再需要的已存储的多个数据段。
在这些指纹与指纹缓存306中的指纹进行比较之前,指纹模块302并不一定要创建一个包含在该备份流中的全部数据段的指纹的当前指纹集312。如上面所提及的,该备份流是不受限制的并且可以具有很多数据段。一个基于流的处理途径可以被使用,其中当这些数据段从客户端102被接收时由指纹模块302创建这些数据段的指纹。这些指纹可被传输到段处理模块314中是因为它们被创建用于与指纹缓存306的比较。当有需要时关于多个特定指纹的请求可被发送到中央资料库114中。在一个实施方案中,在多个数据段的基于流的处理开始之前从中央资料库114中接收指纹缓存306。
在一个实施方案中,对应于一种备份规范310的一系列指纹缓存306响应于对于一个指纹缓存的请求由资料库通信模块308从中央资料库114中来发送。这可以被完成来限制被发送到备份服务器108的每个指纹缓存306的大小,该备份服务器可以具有有限的存储器和处理资源。在此实施方案中,一个第一指纹缓存306可以覆盖该备份流的初始部分(例如,最初的10,000个数据段)。一旦段处理模块314已处理了该备份流的初始部分,则一个请求可被发送到中央资料库114中用于在该系列中的下一个指纹缓存,并且该备份流的下一部分可被处理,以此类推。
在一个实施方案中,如图3中所展示的某些模块可以被定位于一个客户端102而不是备份服务器108上。例如,指纹模块302可被定位在每个客户端102上。其中,指纹集312被创建在客户端102上并且被发送到备份服务器108中用于进一步地处理。在此实施方案中,由于所传输的是指纹而不是实际的数据段,因此较少数据可以在局域网106上被传输。然而,局域网106典型地是一个高带宽网络,在其中进行通信是不昂贵的,因此在该网络上传输数据段是可以接受的。在一个实施方案中,备份服务器108的全部部件都在一个客户端102上。在此实施方案中,客户端102直接与中央资料库114进行通信,并且一个单独的备份服务器108并不用于该备份操作。
图4展示了在一个实施方案中的用于存储来自客户端存储装置104的被备份的数据段的中央资料库114的一个逻辑视图。段存储器402包含被备份的数据段并且可以包括数百万个数据段。指纹存储器410包含与在段存储器402中每个段相对应的指纹。
在一个实施方案中,数据库404包括对在段存储器402中的数据段以及对在指纹存储器410中对应指纹的多个索引,这些索引基于多种备份规范参数使能多个查询。例如,一个查询可以包括带有一个特定备份类型(例如,全备份)和策略(例如,非可执行文件)的一个特定备份源(例如,客户端主机名称)。数据库404返回与备份规范310相关的指纹和/或数据段。数据库404还能够有效地确定一个被查询的特定指纹是否被包含在指纹存储器410中。数据库404还可以保有对每个数据段以及相应指纹的参引计数来表明当前具有每个数据段的客户端存储装置104的数目。如果一个参引计数达到零,那么该数据段以及指纹可分别从段存储器402与指纹存储器410中被去除。
备份服务器通信模块408处理与备份服务器108的通信。一种类型的通信是基于一种备份规范310的对于一个指纹从备份服务器108中接收的请求。备份服务器通信模块408将此请求传输到指纹缓存发生器406中。
指纹缓存发生器406用备份规范310的这些参数来查询数据库404以生成一组指纹。指纹缓存发生器406将该组指纹作为指纹缓存306发送到备份服务器通信模块408中,该备份服务器通信模块将其发送给备份服务器108。在一个实施方案中,指纹缓存发生器406创建一系列如上述被发送给该备份服务器的大小有限的指纹高速度缓存306。
如果用一个新的备份规范的一次备份已被执行,那么用备份规范310的参数的数据库404的查询可以导致无匹配。其中,指纹缓存发生器406可生成一个空的指纹缓存306。在一个实施方案中,取代返回一个空的指纹缓存306,指纹缓存发生器406初始化一个包含多个指纹的新的指纹缓存,这些指纹可以会包含在该备份中。数据库404的一个查询可使用少于备份规范310的全部参数来执行或可使用不同但相似的参数来执行。
备份服务器通信模块408还处理来自备份服务器108的多个请求,用于确定特定的指纹是否出现在中央资料库114中。备份服务器通信模块408可查询带有多个特定指纹的数据库404并且将这些结果发送给备份服务器108。并且,备份服务器通信模块408可将这些指纹传输到更新模块412中用于对数据库404进行更新。如果备份服务器108确定数据段需要被加入到中央资料库114中,那么备份服务器通信模块408还可从备份服务器108中接收实际的数据段。备份服务器通信模块408将这些数据段传输到更新模块412中。并且,备份服务器通信模块408可从备份服务器108中接收出现在指纹缓存306中但不在当前指纹集312中的一个指纹列表。备份服务器通信模块408将这些指纹传输到更新模块412中。
更新模块412基于从备份服务器108接收的通信对数据库404、段存储器402和指纹存储器410进行更新。如上述所提及的,这些通信从备份服务器通信模块408中被传输到更新模块412中。来自备份服务器108的关于特定指纹的存在的一个请求表明由于这些特定的指纹不在所提供的指纹缓存306中所以它们当前与当前备份规范310无关。这些特定的指纹中的一些可以已经在指纹存储器410中(相对应的数据段在段存储器402中)。对于这些指纹,更新模块412对数据库404进行更新,这样使得这些指纹与当前备份规范310的参数相关,同时保留与已经相关的备份规范的参数的关联。
当备份服务器108将一个数据段发送到中央资料库114用于存储时,更新模块412将该段加入到段存储器402中并且将一个相对应的指纹加入到指纹存储器410中。这个指纹可以已经随同该数据段被发送或者可以由中央资料库114中的一个指纹模块302(未示出)来生成。更新模块412还对数据库404进行更新,这样使得这些当前备份规范参数参引了新加入的数据段和指纹。
来自备份服务器108的包含一个指纹列表(该指纹列表包含在指纹缓存306中但在该备份流的数据段中找不到)的一个报文表明这些指纹与当前备份规范310不再有关联。更新模块412可以去除这些当前备份规范参数与在数据库404中所识别的指纹之间的关联。由该更新模块执行的这一维护操作可以有益地防止了多个旧指纹被包括在指纹缓存中。
备份服务器108和中央资料库114还可以包含用于在客户端102上执行备份存储操作的多个模块。这些模块在此就不做描述了但是它们可使用本领域中皆知的技术来实现。
图5是展示了在一个实施方案中的用于使用去重复将数据从客户端存储装置104备份到中央资料库114的方法的一个流程图。在502中,一种备份规范310由备份服务器108来接收。这个备份规范310可以已由系统管理员创建并且可以识别备份源、备份类型以及备份策略。资料库通信模块308基于备份规范310请求来自中央资料库114的一个指纹缓存。中央资料库114响应,并且在504中一个指纹缓存306被接收。备份模块304基于备份规范310启动来自一个客户端存储装置104的一个备份流,并且在506中,指纹模块302生成在该备份流中的数据段的多个指纹。
这些数据段的指纹与指纹缓存306中的指纹进行比较,并且在508中确定在该缓存中未找到的这些数据段指纹。在510中,资料库通信模块308通过将一个请求发送给中央资料库114来关于这些数据段指纹对该中央资料库进行查询。中央资料库114响应该请求来表明哪些数据段指纹对应于已存储在该中央资料库中的数据段。在512中,该备份服务器将其他的数据段(即,尚未存储在该中央资料库中的这些数据段)发送到中央资料库114中用于存储。
图6是展示了在一个实施方案中的用于使用去重复在一个中央资料库114备份数据的方法的一个流程图。在602中,中央资料库114接收来自备份服务器108的一种备份规范。在604中,指纹缓存发生器406通过用来自备份规范310的参数查询数据库404来生成一个指纹缓存306。在606中,备份服务器通信模块408将该指纹缓存发送给备份服务器108。备份服务器108处理指纹缓存306,并且在608中,发送关于多个单独指纹的由中央资料库114接收的多个查询。在610中,备份服务器通信模块408在这些单独指纹的数据库404中进行一次查找并且将一个响应发送给备份服务器108。备份服务器108处理该响应,并且在612中将被接收并存储的多个数据段发送给中央资料库114。更新模块412基于关于单独指纹的这些查询以及所接收的数据段对数据库404进行更新。
以上说明被包括用以展示优选实施方案的操作并且它无意限制本发明的范围。本发明的范围仅由以下权利要求限定。从以上讨论中,很多变体对于相关领域的技术人员将是清楚的,这些变体仍应被本发明的精神和范围所涵盖。
Claims (8)
1.一种用于使用去重复将数据从备份源备份到中央资料库的计算机实施的方法,该数据包括多个源数据段,该方法包括:
接收具有多个参数的一种备份规范,这些参数对该备份源、一种备份类型以及一种备份策略进行识别;
响应于该备份规范的这些参数从该中央资料库中请求一个指纹缓存,该中央资料库被适配为通过响应于该备份规范的这些参数查询一个数据库来生成该指纹缓存,以便生成与该备份规范相关联的一组指纹并且形成该指纹缓存;
响应于该请求而接收该指纹缓存,该指纹缓存包括存储在该中央资料库中的多个数据段的多个指纹;
生成多个源数据指纹,这些源数据指纹包括这些源数据段的多个指纹;
将这些源数据指纹与该指纹缓存中的这些指纹进行比较;
从所比较的多个源数据指纹,确定在所述指纹缓存中并不出现的源数据指纹;
查询带有所识别的源数据指纹的中央资料库,以确定与所识别的源数据指纹相对应的一个数据段是否被存储在该中央资料库中;并且
响应于与所识别的源数据指纹相对应的所述数据段未存储在该中央资料库中,将对应的所述源数据段发送到该中央资料库用于存储。
2.如权利要求1所述的计算机实施的方法,其中一个数据段的一个指纹包括该数据段的一个散列值。
3.如权利要求1所述的计算机实施的方法,其中接收了一系列指纹缓存,该系列指纹缓存中的每一个均包括先前从该备份源备份的多个数据段的指纹的一部分,并且其中对这些源数据指纹的不同部分与该系列指纹缓存中的每一个进行比较。
4.如权利要求1所述的计算机实施的方法,进一步包括:
将该指纹缓存中的、未在这些源数据指纹中找到的指纹发送到该中央资料库用于对该中央资料库的数据库进行更新。
5.一种用于使用去重复将数据从备份源备份到中央资料库的计算机系统,该数据包括多个源数据段,该系统包括:
用于接收一种备份规范的装置,该备份规范具有多个参数,这些参数对该备份源、一种备份类型以及一种备份策略进行识别;
用于响应于该备份规范的这些参数从该中央资料库中请求一个指纹缓存的装置,该中央资料库被适配为通过响应于该备份规范的这些参数查询一个数据库来生成该指纹缓存,以便生成与该备份规范相关联的一组指纹,并且形成该指纹缓存;
用于响应于该请求而接收该指纹缓存的装置,该指纹缓存包括存储在该中央资料库中的多个数据段的多个指纹;
用于生成多个源数据指纹的装置,这些源数据指纹包括这些源数据段的多个指纹;
用于将这些源数据指纹与该指纹缓存中的这些指纹进行比较的装置;
用于从所比较的多个源数据指纹,确定在所述指纹缓存中并不存在的源数据指纹的装置;
用于查询带有所识别的源数据指纹的中央资料库,以确定与所识别的源数据指纹相对应的一个数据段是否被存储在该中央资料库中的装置;以及
用于响应于与所识别的源数据指纹相对应的所述数据段未存储在该中央资料库中,将对应的所述源数据段发送到该中央资料库用于存储的装置。
6.如权利要求5所述的计算机系统,其中一个数据段的一个指纹包括该数据段的一个散列值。
7.如权利要求5所述的计算机系统,其中用于接收该指纹缓存的装置接收了一系列指纹缓存,该系列指纹缓存中的每一个均包括先前从该备份源备份的多个数据段的指纹的一部分,并且用于比较这些源数据指纹的装置将这些源数据指纹的不同部分与该系列指纹缓存中的每一个进行比较。
8.如权利要求5所述的计算机系统,进一步包括:
用于将该指纹缓存中的、未在这些源数据指纹中找到的指纹发送到该中央资料库用于对该中央资料库的一个数据库进行更新的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/480587 | 2009-06-08 | ||
US12/480,587 US8255365B2 (en) | 2009-06-08 | 2009-06-08 | Source classification for performing deduplication in a backup operation |
PCT/US2010/036260 WO2010144260A1 (en) | 2009-06-08 | 2010-05-26 | Source classification for performing deduplication in a backup operation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102460398A CN102460398A (zh) | 2012-05-16 |
CN102460398B true CN102460398B (zh) | 2015-05-27 |
Family
ID=42543153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080024491.3A Active CN102460398B (zh) | 2009-06-08 | 2010-05-26 | 用于在备份操作中执行去重复的源分类 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8255365B2 (zh) |
EP (1) | EP2441002B1 (zh) |
JP (1) | JP5207260B2 (zh) |
CN (1) | CN102460398B (zh) |
WO (1) | WO2010144260A1 (zh) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
US8572163B1 (en) * | 2009-08-31 | 2013-10-29 | Symantec Corporation | Systems and methods for deduplicating data based on performance of a deduplication system |
US8458131B2 (en) * | 2010-02-26 | 2013-06-04 | Microsoft Corporation | Opportunistic asynchronous de-duplication in block level backups |
US9053032B2 (en) | 2010-05-05 | 2015-06-09 | Microsoft Technology Licensing, Llc | Fast and low-RAM-footprint indexing for data deduplication |
US8935487B2 (en) * | 2010-05-05 | 2015-01-13 | Microsoft Corporation | Fast and low-RAM-footprint indexing for data deduplication |
US20110276744A1 (en) | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
US8214428B1 (en) * | 2010-05-18 | 2012-07-03 | Symantec Corporation | Optimized prepopulation of a client side cache in a deduplication environment |
US8578109B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8364652B2 (en) | 2010-09-30 | 2013-01-29 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US8577850B1 (en) * | 2010-11-15 | 2013-11-05 | Symantec Corporation | Techniques for global data deduplication |
US8280860B2 (en) * | 2010-11-15 | 2012-10-02 | Quantum Corporation | Method for increasing deduplication speed on data streams fragmented by shuffling |
US8682873B2 (en) * | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US8954446B2 (en) | 2010-12-14 | 2015-02-10 | Comm Vault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
TWI420306B (zh) * | 2010-12-22 | 2013-12-21 | Inventec Corp | 支援重複數據刪除程序的數據區塊查詢方法 |
US9110936B2 (en) | 2010-12-28 | 2015-08-18 | Microsoft Technology Licensing, Llc | Using index partitioning and reconciliation for data deduplication |
US8874520B2 (en) | 2011-02-11 | 2014-10-28 | Symantec Corporation | Processes and methods for client-side fingerprint caching to improve deduplication system backup performance |
FR2972546B1 (fr) * | 2011-03-07 | 2013-03-08 | Bull Sas | Procedes, dispositifs et programmes d'ordinateur pour optimiser la replication de donnees dans des systemes informatiques |
CN102810075B (zh) * | 2011-06-01 | 2014-11-19 | 英业达股份有限公司 | 事务型系统处理方法 |
US8515922B2 (en) | 2011-06-17 | 2013-08-20 | International Business Machines Corporation | Deduplicated caching of queries for green IT management |
US8725970B2 (en) * | 2011-08-23 | 2014-05-13 | Ca, Inc. | System and method for backing up data |
CN102523112B (zh) * | 2011-12-14 | 2015-09-09 | 华为技术有限公司 | 信息处理方法及设备 |
US8667032B1 (en) | 2011-12-22 | 2014-03-04 | Emc Corporation | Efficient content meta-data collection and trace generation from deduplicated storage |
US8914338B1 (en) | 2011-12-22 | 2014-12-16 | Emc Corporation | Out-of-core similarity matching |
US8631052B1 (en) | 2011-12-22 | 2014-01-14 | Emc Corporation | Efficient content meta-data collection and trace generation from deduplicated storage |
US9256609B2 (en) * | 2012-03-08 | 2016-02-09 | Dell Products L.P. | Fixed size extents for variable size deduplication segments |
US9645944B2 (en) | 2012-05-07 | 2017-05-09 | International Business Machines Corporation | Enhancing data caching performance |
US9110815B2 (en) | 2012-05-07 | 2015-08-18 | International Business Machines Corporation | Enhancing data processing performance by cache management of fingerprint index |
US9021203B2 (en) | 2012-05-07 | 2015-04-28 | International Business Machines Corporation | Enhancing tiering storage performance |
US9218376B2 (en) | 2012-06-13 | 2015-12-22 | Commvault Systems, Inc. | Intelligent data sourcing in a networked storage system |
JP2014048750A (ja) * | 2012-08-29 | 2014-03-17 | Fujitsu Ltd | 情報資源管理プログラム、方法、及び装置 |
US9298723B1 (en) * | 2012-09-19 | 2016-03-29 | Amazon Technologies, Inc. | Deduplication architecture |
CN103685420B (zh) * | 2012-09-24 | 2017-06-27 | 华为技术有限公司 | 一种媒体文件消重的方法、服务器及系统 |
US9495379B2 (en) | 2012-10-08 | 2016-11-15 | Veritas Technologies Llc | Locality aware, two-level fingerprint caching |
WO2014087508A1 (ja) * | 2012-12-05 | 2014-06-12 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
CN103873507A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 数据分块上传与存储系统及方法 |
US9665591B2 (en) | 2013-01-11 | 2017-05-30 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US20140214768A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Reducing backup bandwidth by remembering downloads |
US9594643B2 (en) * | 2013-03-06 | 2017-03-14 | Quest Software Inc. | Handling restores in an incremental backup storage system |
CN104205097B (zh) * | 2013-12-31 | 2017-08-25 | 华为技术有限公司 | 一种去重方法装置与系统 |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US20170046093A1 (en) * | 2014-05-29 | 2017-02-16 | Hewlett Packard Enterprise Development Lp | Backup storage |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
CN107077456B (zh) * | 2014-09-25 | 2020-06-26 | 慧与发展有限责任合伙企业 | 用于存储数据的装置、方法和存储介质 |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US20170193003A1 (en) | 2015-12-30 | 2017-07-06 | Commvault Systems, Inc. | Redundant and robust distributed deduplication data storage system |
CN107133552B (zh) * | 2016-02-29 | 2021-11-16 | 宇龙计算机通信科技(深圳)有限公司 | 一种指纹信息备份方法及装置 |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10846024B2 (en) | 2016-05-16 | 2020-11-24 | Commvault Systems, Inc. | Global de-duplication of virtual disks in a storage platform |
US10795577B2 (en) | 2016-05-16 | 2020-10-06 | Commvault Systems, Inc. | De-duplication of client-side data cache for virtual disks |
WO2017211651A1 (en) * | 2016-06-08 | 2017-12-14 | Thomson Licensing | Devices and methods for core dump deduplication |
CN106407933A (zh) * | 2016-09-21 | 2017-02-15 | 国网四川省电力公司电力科学研究院 | 一种电力系统标准化数据整合系统 |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
WO2018226228A1 (en) * | 2017-06-08 | 2018-12-13 | Hitachi Data Systems Corporation | Deduplicating distributed erasure coded objects |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US20190034306A1 (en) * | 2017-07-31 | 2019-01-31 | Intel Corporation | Computer System, Computer System Host, First Storage Device, Second Storage Device, Controllers, Methods, Apparatuses and Computer Programs |
US20200034244A1 (en) * | 2018-07-26 | 2020-01-30 | EMC IP Holding Company LLC | Detecting server pages within backups |
CN109101365A (zh) * | 2018-08-01 | 2018-12-28 | 南京壹进制信息技术股份有限公司 | 一种基于源端数据重删的数据备份和恢复方法 |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
US11940956B2 (en) | 2019-04-02 | 2024-03-26 | Hewlett Packard Enterprise Development Lp | Container index persistent item tags |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US11520744B1 (en) * | 2019-08-21 | 2022-12-06 | EMC IP Holding Company LLC | Utilizing data source identifiers to obtain deduplication efficiency within a clustered storage environment |
US20210173811A1 (en) | 2019-12-04 | 2021-06-10 | Commvault Systems, Inc. | Optimizing the restoration of deduplicated data stored in multi-node replicated file systems |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453325B1 (en) * | 1995-05-24 | 2002-09-17 | International Business Machines Corporation | Method and means for backup and restoration of a database system linked to a system for filing data |
US5873101A (en) * | 1997-02-10 | 1999-02-16 | Oracle Corporation | Database backup/restore and bulk data transfer |
JP4176181B2 (ja) * | 1998-03-13 | 2008-11-05 | 富士通株式会社 | 電子財布管理システム、端末装置及び電子財布管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4446738B2 (ja) * | 2001-08-20 | 2010-04-07 | データセンターテクノロジーズ エヌ.ヴイ. | コンピュータファイルを効率的にバックアップするシステムと方法 |
US8205009B2 (en) * | 2002-04-25 | 2012-06-19 | Emc Israel Development Center, Ltd. | Apparatus for continuous compression of large volumes of data |
US6928526B1 (en) * | 2002-12-20 | 2005-08-09 | Datadomain, Inc. | Efficient data storage system |
US7065619B1 (en) * | 2002-12-20 | 2006-06-20 | Data Domain, Inc. | Efficient data storage system |
US7318076B2 (en) * | 2003-01-22 | 2008-01-08 | Intelitrac, Inc. | Memory-resident database management system and implementation thereof |
ATE457493T1 (de) * | 2004-01-09 | 2010-02-15 | T W Storage Inc | Verfahren und vorrichtung zum durchsuchen von backup-daten auf der basis von inhalt und attributen |
US20050223277A1 (en) * | 2004-03-23 | 2005-10-06 | Eacceleration Corporation | Online storage system |
US7277905B2 (en) * | 2004-03-31 | 2007-10-02 | Microsoft Corporation | System and method for a consistency check of a database backup |
US7814056B2 (en) * | 2004-05-21 | 2010-10-12 | Computer Associates Think, Inc. | Method and apparatus for data backup using data blocks |
EP1967952B1 (en) | 2004-05-21 | 2011-01-19 | Computer Associates Think, Inc. | Method and apparatus for storage backup |
US7627776B2 (en) * | 2004-11-16 | 2009-12-01 | Petruzzo Stephen E | Data backup method |
US7440979B2 (en) * | 2005-03-30 | 2008-10-21 | Sap Ag | Snapshots for instant backup in a database management system |
US7840539B2 (en) * | 2006-01-24 | 2010-11-23 | International Business Machines Corporation | Method and system for building a database from backup data images |
US7562186B2 (en) * | 2006-04-11 | 2009-07-14 | Data Domain, Inc. | Efficient data storage using resemblance of data segments |
US7441092B2 (en) * | 2006-04-20 | 2008-10-21 | Microsoft Corporation | Multi-client cluster-based backup and restore |
JP4977554B2 (ja) * | 2007-08-22 | 2012-07-18 | 株式会社日立製作所 | キャッシュメモリ上のデータをバックアップする機能を備えたストレージシステム |
US7814074B2 (en) * | 2008-03-14 | 2010-10-12 | International Business Machines Corporation | Method and system for assuring integrity of deduplicated data |
US8060715B2 (en) * | 2009-03-31 | 2011-11-15 | Symantec Corporation | Systems and methods for controlling initialization of a fingerprint cache for data deduplication |
US8965852B2 (en) * | 2009-11-24 | 2015-02-24 | Dell Products L.P. | Methods and apparatus for network efficient deduplication |
-
2009
- 2009-06-08 US US12/480,587 patent/US8255365B2/en active Active
-
2010
- 2010-05-26 WO PCT/US2010/036260 patent/WO2010144260A1/en active Application Filing
- 2010-05-26 JP JP2012513987A patent/JP5207260B2/ja not_active Expired - Fee Related
- 2010-05-26 EP EP10726739.5A patent/EP2441002B1/en active Active
- 2010-05-26 CN CN201080024491.3A patent/CN102460398B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102460398A (zh) | 2012-05-16 |
EP2441002A1 (en) | 2012-04-18 |
US8255365B2 (en) | 2012-08-28 |
JP5207260B2 (ja) | 2013-06-12 |
WO2010144260A1 (en) | 2010-12-16 |
EP2441002B1 (en) | 2013-04-24 |
US20100312752A1 (en) | 2010-12-09 |
JP2012529684A (ja) | 2012-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460398B (zh) | 用于在备份操作中执行去重复的源分类 | |
US7934262B1 (en) | Methods and apparatus for virus detection using journal data | |
US10169385B2 (en) | Managing replicated data | |
US20190095291A1 (en) | Systems and methods for restoring data from network attached storage | |
US8108634B1 (en) | Replicating a thin logical unit | |
US9305072B2 (en) | Information storage system and data replication method thereof | |
CN102253869B (zh) | 可缩放的容错元数据服务 | |
US8060714B1 (en) | Initializing volumes in a replication system | |
JP5075736B2 (ja) | 仮想サーバのシステム障害回復方法及びそのシステム | |
US8572055B1 (en) | Method and system for efficiently handling small files in a single instance storage data store | |
US8255366B1 (en) | Segment-based method for efficient file restoration | |
CN105302675A (zh) | 数据备份的方法和装置 | |
JP2012053903A (ja) | 分散型検索方法、アーキテクチャ、システム、およびソフトウェア | |
US8769224B1 (en) | Discovering new physical machines for physical to virtual conversion | |
WO2021108344A1 (en) | Methods and systems for scalable deduplication | |
US11086649B2 (en) | Minimizing downtime of highly available virtual machines | |
JP5466740B2 (ja) | 仮想サーバのシステム障害回復方法及びそのシステム | |
CN113965582A (zh) | 一种模式转换方法和系统,及存储介质 | |
US11675668B2 (en) | Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation | |
US8990612B2 (en) | Recovery of a document serving environment | |
US12066901B2 (en) | Protecting databases in a clusterless availability group | |
CN116340425A (zh) | Mha高可用架构的数据管理方法、装置、介质及计算设备 | |
US20120257246A1 (en) | Receiving individual documents to serve |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |