CN103229147B - 用于去重存储系统内的合成备份的方法和系统 - Google Patents
用于去重存储系统内的合成备份的方法和系统 Download PDFInfo
- Publication number
- CN103229147B CN103229147B CN201180057803.5A CN201180057803A CN103229147B CN 103229147 B CN103229147 B CN 103229147B CN 201180057803 A CN201180057803 A CN 201180057803A CN 103229147 B CN103229147 B CN 103229147B
- Authority
- CN
- China
- Prior art keywords
- duplicate removal
- data
- input data
- newly
- segmentation
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Abstract
一种去重存储系统使得新输入数据能够与已构建的合成备份的数据去重,并且出于该目的而基于合成备份所引用的数据的已有摘要针对正在构建的合成备份计算去重摘要。对于正在构建的合成备份的多个输入数据分段中的每个输入数据分段,从索引中检索输入数据分段所引用的存储数据分段的多个去重摘要。每个输入数据分段被划分为多个固定大小的数据子分段中的每一个。执行产生数据子分段的去重摘要的计算,其中该计算基于输入数据子分段引用的多个存储数据子分段的所检索的去重摘要。
Description
技术领域
本发明总体上涉及计算机,更特别地,涉及在计算存储环境中促成(facilitate)去重存储系统内的合成备份。
背景技术
数据去重是指减少和/或消除冗余数据。在数据去重处理中,数据的重复拷贝被减少或消除,分别留下最小数量的冗余拷贝或者单个数据拷贝。使用去重处理提供了各种好处,诸如所要求的存储容量的减小以及网络带宽的减小。由于这些和其它好处,去重在近年来已经成为了计算存储系统中非常重要的技术领域。提供去重功能的挑战包括多个方面,诸如在一般大型存储仓库中有效找出重复的数据模式,以及以高效的去重存储方式存储数据模式。
发明内容
在备份环境中,完整备份(fullbackup)包含所备份的整个数据集合。增量备份(incrementalbackup)仅包含从最近一次备份的时间起修改了的数据集合部分(通常以文件为分辨率),最近一次备份可以是完整备份或增量备份。差异备份仅包含从最近一次完整备份起修改了的数据集合部分。增量备份和差异备份的优势在于,由于它们比完整备份包含更少的数据,所以它们在存储和处理时间方面效率更高。
为了将所备份的数据集合完全恢复至特定时间点,通常恢复该时间之前的完整备份,然后直到该时间点的所有后续增量备份以它们的时间顺序被恢复。使用差异备份进行类似的处理,然而在该情况下,在恢复了完整备份之后,一般仅应恢复一个差异备份。明显地,这样的恢复操作是耗时的,并且比恢复单个备份更为复杂。
为了降低上述恢复处理的复杂度,引入了合成备份的概念。合成备份由使用如下处理的备份应用构建,该处理中来自完整备份及其后续增量备份(直到特定时间点)的数据被合并到合成备份中。所创建的合成备份实际上是对应于该时间点的完整备份。这样的备份被称作“合成”,这是因为它不是由从源读取数据并将其存储为备份的常规备份处理所创建的,而是由已存在的备份的数据用于构建合成备份的“合成”处理所创建的。恢复合成备份就像恢复完整备份一样简单,并且比恢复之前所述的增量备份或差异备份的处理更快地执行。合成备份的其他优势在于,相对于创建在数据方面相同的完整备份而言,更快地创建合成备份。
由于效率的优势以及合成备份所提供的其它特性,所以期望将合成备份功能与相关架构整合到去重存储系统中。因此,提供了各种实施例以用于促成在去重存储系统中构造合成备份。仅作为示例,在一实施例中,去重存储系统从备份应用接收描述源和目标数据分段的紧凑元数据指令的序列,去重存储系统基于该序列,通过将对已有备份的数据的引用添加至为正在构建的合成备份创建的元数据结构中,来有效构建合成备份。仅作为示例,在另外的实施例中,去重存储系统使新输入数据能够与已构建的合成备份的数据去重,并且出于该目的而基于合成备份所引用数据的已有摘要(digest)计算用于正构建的合成备份的去重摘要。对于正构建的合成备份的多个输入数据分段中的每个输入数据分段,从索引检索输入数据分段所引用的、所存储的数据分段的多个去重摘要。每个输入数据分段被划分为多个固定大小数据子分段中的每个,并且多个输入数据子分段中的每个可引用多个所存储的数据子分段。对于多个输入数据子分段中的每个,执行计算,产生用于输入数据子分段的去重摘要,其中该计算基于输入数据子分段所引用的多个存储数据子分段的所检索的去重摘要。多个子分段去重摘要被整合以生成每个输入数据分段的去重摘要。每个输入数据分段的去重摘要形成合成备份的去重摘要。
除了以上示例性方法实施例之外,还提供了其它的示例性系统和计算机产品实施例并且提供相关优点。
附图说明
现在将参考附图以示例方式描述本发明的实施例,附图中:
图1示出示例性合成备份架构;
图2示出合成备份的示例性构造流程;
图3示出数据模式中的示例性引用方式;
图4示出在去重存储系统中使用的构建合成备份的示例性方法;
图5示出示例性去重处理;
图6示出示例性最大和移位数据块;
图7示出输入数据分段的k和m区分特性的示例性计算;
图8示出示例性区分特性(DC)和存储标识符(SI)索引;
图9示出输入子分段与所存储子分段的示例性映射;
图10A和10B共同示出用于计算合成备份中的数据分段的区分特性的示例性方法;以及
图11示出可在其中实施所示实施例的各方面的包括处理器设备的去重系统的示例性部分。
具体实施方式
图1示出示例性合成备份架构10。如所示,架构10跨时间线12实施。在最早时间点生成完整备份14。从此时起,如所示,在后续间段执行增量备份16、18和20。如所示以及随后将进一步描述的那样,完整备份14以及增量备份16、18和20中的每个可被合并到合成备份22中。
合成备份诸如合成备份22的构建通常包括从已有备份14、16、18和20复制数据到合成备份22中。复制可由备份应用进行,从源备份读取数据分段并且将这些数据分段写入目标合成备份中;或者更有效地由存储系统利用备份应用提供的标识源和目标数据分段的信息来进行复制。
随后,图2在合成备份的示例性构建流程30中示出这两种情形。在第一种情形中,如前所述,备份应用32通过与存储服务器36进行通信而从源备份读取数据分段并将这些数据分段写入目标合成备份中,存储服务器36与存储设备40进行通信,如所示的那样。在第二种情形中,也如前所述,与存储设备42进行通信的存储服务器38使用从备份应用34获取的识别源和目标数据分段的元数据信息在合成备份的构建中复制数据,亦如所示。
所示实施例的机制提供了去重存储系统内合成备份的有效构造。去重存储系统通常被设计为关于已有数据的分段来高效地表达新输入数据的分段。输入数据被处理以找出存储中的匹配分段,其然后在存储新数据的处理中被引用(而不是存储数据本身)。仅未匹配的数据分段作为实际数据被写入到存储。引用可针对存储为实际数据(没有引用)的物理数据模式,或针对物理和逻辑数据模式,其中后者本身是对物理和逻辑模式的引用集合。
所示的用于有效构造合成备份的实施例的第一方面是备份应用可以向去重存储系统发出紧凑元数据指令的序列,而不是使用数据复制操作构建合成备份,其中每个指令指定现有(源)备份的数据分段及其在被构造的(目标)合成备份中的指定位置。所示实施例提供这些指令在去重存储系统内用于构造合成备份的有效处理。
在所示实施例之一中,在去重存储系统内,有效地处理每个这样的指令,使得与指令所引用的数据分段相关联的元数据得以被检索,并且基于该信息创建对已有备份数据分段的引用,并将其添加至所构造的合成备份的元数据。另外,备份应用发出的输入指令可以由存储系统进行优化以提高处理效率。一个示例是合并引用相邻的源数据分段的指令以改善该处理中存储访问的效率。利用该方法,使用引用操作而以高度有效的处理构造合成备份,该引用操作是通常去重存储系统本来就支持的内部快速元数据操作。
所示实施例的机制还使得新输入数据能够与合成备份的数据去重。这可以通过计算合成备份的数据的摘要而实现,该摘要用于在去重处理期间搜索存储中的相似数据分段,并且将该摘要插入到去重促成索引中,该索引在这里被称作摘要索引。当新输入数据被处理时,计算输入数据的摘要并在摘要索引中搜索它。如果在索引中找到匹配摘要(均指向存储中的相似数据分段),则使用附加处理来精炼(refine)和识别存储中的准确匹配数据分段。以这种方式,合成备份的数据可以稍后在去重处理内与新输入数据匹配。
另外,在所示实施例的机制中,基于合成备份所引用的数据分段的已有和已存储摘要有效地计算合成备份的数据的摘要,而不是基于合成备份的数据本身重新计算。这使得能够在构造合成备份期间减少对合成备份数据的访问,并且进一步使得能够减少基于数据本身的摘要计算。所示实施例的机制使合成备份的去重摘要的计算明显加速,因此明显改善了合成备份的总体构造时间。能够在其中可实现所示实施例的各方面的去重存储系统的一个示例性实施例中实施的用于计算和使用用于去重的数据摘要的方法在题为“SystemsandMethodsforEfficientDataSearching,StorageandReduction”的美国专利序列号7523098中有具体说明,其相关部分通过引用结合于此。
所示实施例的一个方面概述如下。对于合成备份的输入数据分段,从索引中检索输入数据分段所引用的存储数据分段的细粒(fine-grained)去重摘要。输入数据分段被划分为固定大小的子分段,这些子分段中的每个可引用多个所存储的子分段(根据对准)。对于每个输入子分段,执行计算,为输入子分段产生去重摘要,其中该计算基于输入子分段所引用的存储子分段的所检索的去重摘要。在该计算无法完成的某些情况下,基于输入子分段的数据计算去重摘要。然而,这些情况的频率相对于计算能够完成的情况而言一般是低的。所计算的输入子分段的摘要随后被整合以产生输入数据分段的去重摘要。合成备份的所有数据分段的去重摘要形成整个合成备份的去重摘要。
去重存储系统所固有的是关于已有数据的分段表达新输入数据的分段的能力。对输入数据进行处理以找出存储中的匹配分段,其随后在存储新数据的处理中被引用(而不是存储数据本身)。仅未匹配的数据分段作为实际数据被写入到存储。
有若干种实施引用功能的方式。通常,可以基于物理数据模式或逻辑数据模式实施引用。在第一种选择中,新数据模式引用作为实际数据存储(没有引用)并且能够使用一些类型的存储标识符而被引用的数据模式。这样的数据模式被称作物理数据模式。在第二种选择中,新数据模式可以引用物理数据模式以及逻辑数据模式二者,其中逻辑数据模式本身就是对物理和逻辑模式的这种引用的集合。
随后,两种引用方式52、54在图3中被共同图示为引用模式50。在针对物理数据模式的引用而图示的情形(A)中,如所示,新数据模式56、58引用作为物理数据模式60-74存储的数据模式(即,实际数据)。在针对逻辑数据模式的引用而图示的情形(B)中,如所示,新数据模式76引用逻辑数据模式78、80以及物理数据模式82-96二者。
在所示实施例之一中,去重数据作为物理数据模式被存储在存储块(block)中,每个存储块具有相关联的引用计数属性。为了存储新的数据分段,新分段与已有数据分段匹配(使用用于找出匹配数据的单独方法,其可以使用各种方式来实施),匹配数据分段的元数据被检索,然后为新数据模式创建引用,其指向被匹配数据分段引用的存储块(包含物理数据模式)。这些引用被封装到为新数据模式所创建的源数据文件内的记录中。存储块可以整体或部分地被引用,该信息指示在元数据记录中。为了存储不与任何已有数据分段匹配的新数据分段,其数据被存储在存储块中,对这些块创建引用并将引用添加至其元数据文件。当存储块被引用时,其引用计数属性的值依据对该块生成的新引用的数量而增加。当存储块被解除引用(例如通过删除引用该块的数据分段)时,其引用计数属性的值依据所去除的引用的数量而减小。只要存储块的引用计数属性的值大于零,块就必须保存在存储中。当该值变为零时,块可以从存储移除。
现在转向图4,描绘了构建用于在去重存储系统中使用的合成备份的示例性方法100。在一实施例中,方法100可以使用去重系统组件或者计算环境中的其它处理、联网和存储组件来实施。如本领域技术人员将会意识到的那样,方法100中的各个步骤可以以不同方式来实施以适于特定应用。此外,所描述的方法可以通过各种手段来实施,诸如在计算环境上操作或以其它方式与之相关联的硬件、软件、固件或其组合。例如,方法100以及以下所示的示例性方法可以整体或部分地作为计算机程序产品来实施,包括具有存储于其中的计算机可读程序代码部分的计算机可读存储介质。计算机可读存储介质可包括盘驱动器、闪存、数字万用盘(DVD)、致密盘(CD)以及之前已经描述过的其它类型的存储介质。
方法100始于(步骤102)在存储中创建用于所构建的合成备份的元数据文件(步骤104)。与合成备份相关的连续指令被进行可应用的优化和合并以提高处理效率。特别地,引用相邻的源数据分段的指令被合并,以提高对元数据进行访问的效率。创建优化指令序列(步骤106)。考虑第一优化指令(步骤108)。对于每个优化指令,从存储检索与指令所指示的源数据分段相关联的元数据分段。该元数据信息通常包含对存储块(包含构成源数据分段的数据模式)的引用(步骤110)。
该元数据分段按照要求进行调整以仅反映源数据分段(步骤112)。特别地,例如,对处于源数据分段的边缘的存储块的引用可以被调整以指示所引用的块的更短部分。经调整的元数据分段被复制(附加)到合成备份的元数据文件(步骤114)。对于每个块,该元数据分段所引用的存储块的引用计数属性的值根据元数据分段内对该块的引用数量而增加(步骤116)。如果存在其他优化指令(步骤118),方法100返回到步骤110以进行额外处理。否则,方法100随后结束(步骤120)。通过使用前述示例性方法,使用引用操作以高效处理构建合成备份,引用操作是去重存储系统一般本来就支持的内部快速元数据操作。
在所示实施例的一个方面,合成备份一旦创建就独立于其起源备份,并且可被备份应用如此认为。也就是说,如果其数据被引用以构建合成备份的一些或所有备份被删除,则合成备份保持完好。这是因为在所示实施例的一个方面,合成备份实质上以与存储常规备份相同的方式存储在去重存储系统中。特别地,为合成和常规备份创建类似的元数据结构,并且对于合成和常规备份以相同方式引用存储块。以上特性的固有好处在于,合成备份能够在构建新的合成备份时被备份应用所引用。
另外,有利的是使新输入数据能够与合成备份中包含的数据去重,特别是在从其构造合成备份的一些或所有备份已经从存储中删除的情况下(注意,只要合成备份保持可用,其引用的存储块就保持可用)。为了实现这种去重,合成备份中包含的数据应可用于与新备份数据的匹配。该可用性的实施方式取决于用来实现数据去重处理中新数据和已有数据的匹配处理的具体方法。
在所示实施例的各方面结合于其中的示例性去重存储系统中,使存储数据可用于与新输入数据的去重是通过计算数据的摘要并将该摘要插入到这里称作摘要索引的去重促成索引中来实现的,该摘要用于在去重处理期间在存储中搜索相似数据分段。随后,当对新输入数据进行处理时,计算输入数据的摘要并在摘要索引中搜索它。在给出新数据的摘要的情况下,该索引使得能够搜索存储数据的匹配摘要。如果在索引中找到了匹配的摘要(均指向存储中的相似数据分段),则使用附加处理来精炼和识别存储中的准确匹配数据分段。随后,输入数据的摘要被插入到摘要索引中(因此使新数据能够与当前输入数据匹配),其可能由与输入数据匹配的存储数据的部分或全部摘要的索引代替。
随后,图5示出与上面的描述相结合的示例性去重处理130。方法130始于(步骤132)计算新来数据的相应摘要(步骤134)。在摘要索引(149)中搜索存储数据的匹配摘要(步骤136)。如果找到匹配(步骤138),则从存储中的存储数据150检索匹配的数据分段(步骤142)。使用所检索的数据和摘要信息,精炼并识别存储中的准确匹配数据分段(步骤144)。使用准确匹配的信息,新来数据被存储为对已存储数据的引用的集合(基于匹配)加上未匹配的数据(步骤146)。新来数据的摘要存储中摘要索引中,如果存在匹配数据分段的摘要,则可能取代它们(步骤148)。返回到步骤138,如果没有找到匹配,则新来数据被存储而没有对已存储数据的引用(步骤140)。方法130然后结束(步骤152)。
通过计算合成备份的数据的摘要并将其插入到摘要索引中,合成备份的数据随后能够在去重处理中与新输入数据匹配。用于计算合成备份的数据的摘要的可行方法是在构建合成备份期间从存储中检索该数据,并且基于该数据计算摘要。然而,在所示实施例的一个方面,由于合成数据仅利用元数据操作进行构建而不对数据本身进行任何访问(也就是说,备份应用向存储系统提供元数据指令,存储系统然后仅执行元数据操作来构建合成备份),并且由于对数据的访问和操作明显比对元数据的访问和操作更慢(因为数据大小通常远大于其相关联的元数据的大小),因此在合成备份的构建处理中访问和检索数据会使得该处理明显放慢并且可能降低其效率。
为了解决这一问题,所示实施例的一个方面提供一种用于有效计算合成备份的数据的摘要的方法,其使得对数据本身的访问最小化。就此而言,基于合成备份所引用的数据分段的已有存储摘要有效地计算合成备份的数据的摘要(而不是基于数据本身重新计算)。该方法通常可应用于作为更精细粒度的摘要的集合而计算的摘要。
在下文中,提供数据的去重摘要的示例性计算。作为第一步骤,输入数据被划分为分段,每个分段被去重处理。在一实施例中,每个这样的数据分段的大小为16MB。对于每个这样的分段,使用下面图7所示的示例性方法170计算k和m区分特性,k和m区分特性分别构成分段的用于搜索和表示的去重摘要。k的值通常是低的(例如,数十),m的值可低于10。
方法170始于(步骤172)计算输入数据分段中的每个块的散列值,这些块的大小实质上小于输入数据分段的大小(例如,4KB),并且块交叠,也就是假定块在输入数据分段中始于位置l(关于字节指定该位置),下一块的位置始于位置l+1(步骤174)。在一实施例中,使用滚动散列函数来计算这些散列值。利用这样的散列函数,基于数据的连续块有效地计算散列值,使得每个块在前一块的起始字节一个字节之后开始。滚动散列函数的优点在于,一旦数据块的散列值已知,则下一块(在前一块的起始字节的一个字节之后开始)的散列值的计算能够在O(1)运算中完成。
前一步骤中针对数据分段所生成的散列值中的k个最大散列值被选择并以其值的降序排列,该顺序称作重要性顺序(orderofsignificance)。被称作k个最大块的与k个最大散列值对应的块在逻辑上以与最大散列值相同的顺序排列(用于计算中的下一步骤)(步骤176)。以一字节跟随最大块(与k个最大散列值相关联)的块被选择,并且在逻辑上以与最大块相同的顺序排列。这些块被称作移位块。之前的图6示出了情形160,其描绘了最大块162、其相应位置166、其相应移位块164及其相应移位位置168。
再转向图7,作为下一个步骤,移位块的k个散列值出于相似性搜索的目的而被选择为输入数据分段的区分特性(步骤180)。这些区分特性随后被用来搜索摘要索引以找到存储中的相似数据分段。在新输入数据分段的相似性搜索期间,可能在摘要索引中搜索多达k个区分特性。最后,前m个移位块的散列值(其中m<k,以其有效性(significance)为序)被选择为输入数据分段的区分特性,以用于在摘要索引中的表示(步骤182)。这些区分特性随后存储在摘要索引中以表示输入数据分段并使得随后的新输入数据分段能够在相似性搜索期间找出该输入数据分段。方法170然后结束(步骤184)。
注意,最大值具有非均匀的数字分布。然而,使用良好的散列函数,该步骤中选择的区分特性的数字分布非常接近于均匀,因此以这种方式选择的区分特性在唯一地标识数据分段方面更有效。还应注意,散列值的任何可重复选择标准可应用于图7中的步骤176。例如,选择k个最小散列值,或者与针对数据分段所计算的所有散列值的中值最接近的k个散列值,或者与某一预定常数最接近的k个散列值。此外,代替使用与最大散列值对应的块的一字节移位,能够使用一些其它的预定和可重复移位,或者有可能根据位置和/或所计算的散列值而不同的移位。使用最大散列值和一字节移位是示例性实施例。
以上的示例性方法170针对给定数据分段产生了在很大程度上唯一、健壮、良好扩展开且可重复的区分特性。唯一意味着两个不同的数据分段将以足够高的概率被分配两个不同的特性集合。健壮意味着在数据分段经历有限改变的情况下(例如,其内容的25%以内)分配给数据分段的特性将保持相当恒定。良好扩展开意味着特性位置通常在数据分段上均匀展开。可重复意味着特定形式的数据分段将始终产生相同的分布特性值。
使用k区分特性用于相似性搜索和m区分特性用于摘要索引中的表示的原因在于,新数据分段相对于其相似的已存储数据分段的修改可能导致对最大散列值的两种可能影响。第一种影响是最大散列值可能因为包括其对应块的数据已经被修改而消失。第二种影响是所修改的数据可能引入更高的最大散列值,因此替代之前的最大散列值。为了解决第二种影响,使用k区分特性进行相似性搜索,而使用m区分特性表示数据分段。
在一实施例中,输入数据分段被划分为多个固定大小的子分段。所述子分段的固定大小的可行值可以是数十或数百千字节,例如512KB。假设k的值小于子分段的固定大小。虽然针对整个数据分段计算用于相似性搜索的k个区分特性,但是针对每个子分段以及对于整个数据分段计算m个区分特性,以用于存储在摘要索引中。
另外,在一实施例中,摘要索引提供了两种函数(可能具有两种内部索引结构)。在被称为区分特性索引或DC索引的第一函数中,索引存储整个数据分段的m个区分特性,以及用于搜索的区分特性的给定值,使得能够找出所存储数据分段的匹配区分特性。匹配的区分特性的每个索引记录还包括到其相应数据分段的存储位置的指针以及区分特性在其相应数据分段内的具体位置。在被称作存储标识符索引或SI索引的第二函数中,索引存储数据子分段的m个区分特性,以及子分段的给定存储标识符(其中存储标识符实质上标识其相应数据子分段在存储中的位置),使得能够找出所指定的子分段的区分特性。所检索的区分特性的每个索引记录包括其值、与该区分特性相关联的最大散列值以及该区分特性的存储位置。
图8示出示例性区分特性(DC)和存储标识符(SI)索引,以及使用索引的示例性方法190。在框192中,搜索输入数据分段的k区分特性。这些在框194中被提供至DC索引,其存储每个数据分段的m区分特性。在框196中搜索结果被示出,包含相似已存储数据分段的匹配区分特性。在框198中,使用存储子分段的存储标识符/位置进行搜索。这些在框200中被提供至SI索引,其存储每个数据子分段的m区分特性。在框202中搜索结果被示出,包含指定的存储数据子分段的区分特性。
DC索引用在输入数据分段的相似性搜索处理中,以找出其在存储中的相似数据分段。SI索引用于若干目的,包括(1)如以下将详细描述的合成备份的区分特性的优化计算;(2)当从存储中删除数据分段的集合时,从SI索引检索这些数据分段的区分特性并随后从DC索引(使用来自SI索引的信息)和SI索引二者中删除它们;以及(3)当数据分段的区分特性应当从DC索引中移除时(例如,为了利用更新的数据分段的区分特性代替它们),其区分特性被从SI索引中检索且然后从DC索引中移除。
现在转向图10A和10B,共同示出基于已有区分特性计算合成备份中的数据分段的区分特性的示例性方法200。方法200始于(步骤202)确定输入数据分段所引用的已存储数据子分段(步骤204)。这基于备份应用所提供的元数据指令来进行,合成备份中的数据分段通过该备份应用而构建。这些元数据指令指定了要被用来构建给定分段的已存储数据。存储系统从该信息推断出输入数据分段引用的已存储子分段(及其存储标识符)。
从SI索引检索被引用子分段的区分特性(每个子分段的m区分特性)(步骤206)。来自合成备份的输入数据分段被划分为固定大小的子分段,其大小等于所存储子分段的大小(步骤208)。考虑第一输入子分段(步骤210)。对于输入子分段中的每个子分段执行以下步骤。输入子分段引用至少一个且多达f个所存储子分段。假设子分段的大小小于合成备份所引用的存储中的数据分段的最小大小,则根据输入子分段与所存储子分段的对准,输入子分段可以引用一至四个所存储子分段。这之前在图9中有所图示。在该图中,输入子分段在其引用的存储子分段上方示出,垂直实线指示子分段的对准边界。该图的部分(a)和(b)示出引用连续的存储分段的输入子分段,部分(c)-(e)示出引用两个单独存储分段的输入子分段。如果假设子分段的大小可以大于合成备份所引用的存储中的数据分段的最小大小,则输入子分段可以引用多达f个存储子分段,其中f等于输入子分段的大小除以合成备份所引用的存储数据分段的最小大小并且乘以2(因为每个引用可以与两个存储子分段相关联)。
返回图10A,输入子分段所引用的存储子分段的数量被表示为r。每个被引用子分段与从SI索引检索到的m个区分特性相关联(如图9所示),如下考虑这些r×m个区分特性。考虑与每个所述区分特性相关联的最大散列值。注意,在从SI索引检索到的每个区分特性的记录中,还包括其相关联的最大散列值。与存储中的r个被引用子分段的子分段j的区分特性相关联的最大散列值的集合被表示为阈值散列值被计算为 (步骤212)。
如果输入子分段引用多于单个存储分段(如图9的部分(c)-(e)中所例示的那样),并且如果还基于子分段的最后块的字节来计算子分段的区分特性,则输入子分段中与两个被引用存储分段之间的分离出现的位置相邻的数据块(在分离位置两侧,图9中指示为块b1和b2)被加载,并且使用之前所指定的方法针对块b1的每个字节偏移计算散列值(步骤214)。使用以下方法,从包括与所引用子分段的r×m个区分特性相关联的最大散列值的散列值集合以及之前步骤中所计算的散列值计算候选散列值的子集。如果一散列值的数值等于或大于hT并且其存储位置处于输入子分段的边界之内,则该散列值包括在所述散列值的子集中。
如果候选散列值的集合中的散列值数量等于或大于m(步骤218),则执行以下步骤。该集合的散列值以其值的降序排列(步骤222)。前(即,最大的)m个散列值用来计算m个区分特性,使得对于每个散列值v而言,其区分特性被选择为相对于与散列值v关联的块移位一个字节的块的散列值(步骤224)。如果所考虑的散列值v与来自所引用子分段的r×m个区分特性的集合的区分特性相关联,则其区分特性的值可以从自SI索引检索到的相应记录而容易地获得。如果所考虑的散列值v是步骤214中计算的散列值,则其区分特性可从步骤214中计算的散列值的集合容易地获得。之前步骤中所计算的m个区分特性被指定为输入子分段的m个区分特性(步骤226)。所指定的区分特性随后被存储在SI索引中(与其相应的输入子分段相关联);并且还用作计算整个输入数据分段的m个区分特性的基础(如以下详细描述的那样),后面将被存储在DC索引中。步骤228查询输入分段中是否存在附加子分段,如果有,则方法200返回步骤212以进行进一步处理。
返回步骤218,如果候选散列值的集合中的散列值数量低于m,则执行以下步骤。从存储中检索输入子分段的相应数据,并且基于该数据计算其区分特性(步骤220)。在这种情况下,子分段的m个区分特性无法基于已有区分特性来计算。然而,基于区分特性在其存储位置方面的预期均匀分布,这种情况的频率相对于输入子分段的m个区分特性能够基于已有区分特性计算的情形而言应当是低的。再一次地,方法200返回到步骤228,并且到步骤212以用于进一步处理,如果可应用的话。
如果在步骤228,不存在附加子分段,则使用以下方法来计算输入数据分段的m个区分特性。假设在输入分段中存在s个子分段,则考虑针对输入分段的所有子分段而计算的s×m个区分特性的集合。该集合的区分特性以其相应最大散列值的降序进行排列(步骤230)。该集合中以该顺序的前m个区分特性(即,具有最大的相应最大散列值的m个区分特性)被选择为输入数据分段的m个区分特性(步骤232)。这些区分特性随后被存储在DC索引中(与其相应输入数据分段相关联)。方法200随后结束(步骤234)。
以上所指定的用于基于合成备份所引用的数据分段的现有和所存储摘要而有效计算合成备份的数据的摘要的方法200使得在计算处理期间对数据本身的访问最小化,因此使得摘要计算处理和合成备份的总体构建时间明显加速。
图11示出之前的去重系统250的示例性部分252,包括可以在其中实施所示实施例的各方面的处理器设备。去重系统250的部分252可在计算机环境中操作为其一部分,其中可以实现下述实施例的机制。然而,应当意识到的是,图11仅是示例性的而并非意在指出或暗示对其中可实施各实施例的示例性方面的特定架构的任何限制。可以在不背离以下描述和请求保护的主题的范围和精神的情况下对图11中所描绘的架构进行许多修改。
部分252包括处理器254和存储器256,诸如随机存取存储器(RAM)。去重系统250可操作上耦合至为了便利而未示出的若干组件,包括显示器、键盘、鼠标、打印机等,显示器在图形用户界面上向用户呈现诸如窗口的图像。当然,本领域技术人员将会认识到,可以与去重系统250一起使用以上组件或者任意数量的不同组件、外设以及其他设备的任意组合。
在所示实施例中,去重系统250和/或部分252在存储于存储器256中的操作系统(OS)258(例如,z/OS、OS/2、LINUX、UNIX、WINDOWS、MACOS)的控制下进行操作,并且与用户进行接口联系以接受输入和命令并呈现结果。在本发明的一实施例中,OS258促成根据本发明的合成备份功能。为此,OS258包括任务调度模块264,其可适于执行以下所描述的示例性方法中的各种处理和机制。
去重系统250和/或部分252可以实施编译器262,其允许以编程语言诸如COBOL、PL/1、C、C++、JAVA、ADA、BASIC、VISUALBASIC或任何其它编程语言编写的应用程序260被转换为可被处理器254读取的代码。在完成之后,应用程序260使用利用编译器262所生成的关系和逻辑来访问并操控去重系统250和/或部分252的存储器256中所存储的数据。
为了进一步实施并执行根据本发明的机制和处理,OS258可以结合存储器256、处理器254、应用程序260以及其他计算机处理、联网和存储组件来实施附加模块(其出于便利的目的而并未图示)以执行并促进合成备份功能。如本领域技术人员将会意识到的那样,这些附加模块的机制可以如当前所图示的那样以各种形式和架构实施。因此,当前示图中的任务调度模块264的图示同样意在演示去重系统250和/或部分252中的可能计算组件之间的逻辑关系,而并不暗示特定的物理结构或关系。
在一实施例中,实施操作系统258、应用程序260和编译器262以及任务调度模块264和附加模块的指令以计算机可读介质来有形地体现,其可以包括一个或多个固定或可移动的数据储存设备,诸如zip驱动器、盘、硬驱动器、DVD/CD-ROM、数字带、SSD等。另外,操作系统258和应用程序260包括指令,当被去重系统250和/或部分252所读取并执行时,该指令使去重系统250和/或部分252执行实施和/或使用本发明所必需的步骤。应用程序260和/或操作系统258的指令还能以存储器256有形地体现和/或经由各种组件通过网络功能进行传送或者被访问。这样,如这里所使用的术语“制造品”、“程序储存设备”和“计算机程序产品”意在包含可从任何计算机可读设备或介质访问和/或操作的计算机程序。
本发明的实施例可以包括一个或多个相关联的软件应用程序260,其例如包括用于管理分布式计算机系统的功能,该分布式计算机系统包括计算设备的网络,诸如存储区域网络(SAN)。因此,处理器254可以包括一个或多个存储管理处理器(SMP)或其它专用设备。应用程序260可以在单个计算机和/或去重系统250内进行操作,或者作为包括计算设备的网络的分布式计算机系统的一部分进行操作。该网络可以包含一个或多个计算机,它们经由局域网和/或互联网连接(其可以是公共或安全的,例如通过虚拟私有网络(VPN)连接)进行连接,或者经由光纤通道SAN或如本领域技术人员将会理解的其它已知网络类型进行连接。(注意,光纤通道SAN通常仅用于计算机与存储系统进行通信而不用于计算机互相通信)。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上面已经参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(articleofmanufacture)。计算机程序指令还可以加载到计算机、其他可编程数据处理装置、或者其他设备上以使得一系列操作步骤在计算机、其他可编程数据处理装置或其他设备上被执行,以产生计算机实施的处理,从而在计算机或其他可编程装置上执行的指令提供用于实施流程图和/或框图的一个或多个框中规定的功能/动作的处理。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然已经对本发明的一个或多个实施例进行了详细说明,但是本领域技术人员将会意识到的是,可以在不背离如以下权利要求中所给出的本发明的范围的情况下针对那些实施例进行修改和调适。
Claims (16)
1.一种通过处理器设备针对去重存储系统中的多个新的输入数据分段促成合成备份的构建的方法,该方法包括:
针对多个新的输入数据分段中的每个新的输入数据分段,检索新的输入数据分段所引用的已存储数据分段的多个已存储去重摘要;
将每个新的输入数据分段划分为多个固定大小数据子分段中的每一个;
在构建合成备份期间,针对所述多个数据子分段中的每一个,基于所检索的多个已存储去重摘要计算多个输入去重摘要中的每一个;
对所述多个子分段去重摘要中的每一个进行整合以生成每个新的输入数据分段的去重摘要,其中每个新的输入数据分段的去重摘要形成所述合成备份的去重摘要,以及
通过将已存储数据分段的多个已存储去重摘要相对于多个输入去重摘要进行匹配以对每个新的输入数据分段进行去重。
2.根据权利要求1的方法,还包括在匹配之后,将多个输入去重摘要存储在索引中,其中与多个输入去重摘要中的至少一个输入去重摘要相匹配的多个已存储去重摘要中的至少一个已存储去重摘要可以被所述至少一个输入去重摘要所替代。
3.根据权利要求1的方法,还包括构建所述合成备份。
4.根据权利要求3的方法,其中,构建合成备份进一步包括在去重存储系统中创建元数据文件,以及对连续存储指令进行优化。
5.根据权利要求4的方法,还包括,针对每个优化的存储指令:
检索与优化存储指令所指示的新的输入数据分段相关联的元数据分段,
调整元数据分段以唯一地引用新的输入数据分段,
将经调整的元数据分段复制到合成备份的元数据文件,以及
针对元数据分段所引用的每个存储块,增大引用计数值。
6.根据任一前述权利要求的方法,其中,计算多个子分段去重摘要中的每一个包括:
计算多个新的输入数据分段中以字节偏移的每个块的散列值,
根据重要性顺序以降序排列所选择的多个最大散列值,
将相对于与最大散列值相关联的块在确定位置的块识别为移位块,
选择移位块的散列值的子集用于多个新的输入数据子分段的至少一个第一区分特性,以及
选择移位块的散列值的另一子集用于多个新的输入数据分段的至少一个第二区分特性。
7.根据权利要求6的方法,还包括为多个新的输入数据分段配置区分特性(DC)索引以用于存储至少一个第二区分特性,以及为多个新的输入数据子分段配置存储标识符(SI)索引以用于存储至少一个第一区分特性。
8.根据权利要求7的方法,还包括计算至少一个第一和第二区分特性。
9.一种通过处理器设备针对去重存储系统中的多个新的输入数据分段促成合成备份的构建的系统,该系统包括:
第一装置,被配置为针对多个新的输入数据分段中的每个新的输入数据分段,检索新的输入数据分段所引用的已存储数据分段的多个已存储去重摘要;
第二装置,被配置为将每个新的输入数据分段划分为多个固定大小数据子分段中的每一个;
第三装置,被配置为在构建合成备份期间,针对所述多个数据子分段中的每一个,基于所检索的多个已存储去重摘要计算多个输入去重摘要中的每一个;
第四装置,被配置为对所述多个子分段去重摘要中的每一个进行整合以生成每个新的输入数据分段的去重摘要,其中每个新的输入数据分段的去重摘要形成所述合成备份的去重摘要;以及
第五装置,被配置为通过将已存储数据分段的多个已存储去重摘要相对于多个输入去重摘要进行匹配以对每个新的输入数据分段进行去重。
10.根据权利要求9的系统,还包括第六装置,被配置为在匹配之后,将多个输入去重摘要存储在索引中,其中与多个输入去重摘要中的至少一个输入去重摘要相匹配的多个已存储去重摘要中的至少一个已存储去重摘要可以被所述至少一个输入去重摘要所替代。
11.根据权利要求9的系统,还包括第七装置,被配置为构建所述合成备份。
12.根据权利要求11的系统,其中,第七装置被进一步配置为在去重存储系统中创建元数据文件,以及对连续存储指令进行优化。
13.根据权利要求12的系统,还包括第八装置,被配置为针对每个优化的存储指令:
检索与优化存储指令所指示的新的输入数据分段相关联的元数据分段,
调整元数据分段以唯一地引用新的输入数据分段,
将经调整的元数据分段复制到合成备份的元数据文件,以及
针对元数据分段所引用的每个存储块,增大引用计数值。
14.根据任一前述权利要求的系统,其中,第三装置被进一步配置为:
计算多个新的输入数据分段中以字节偏移的每个块的散列值,
根据重要性顺序以降序排列所选择的多个最大散列值,
将相对于与最大散列值相关联的块在确定位置的块识别为移位块,
选择移位块的散列值的子集用于多个新的输入数据子分段的至少一个第一区分特性,以及
选择移位块的散列值的另一子集用于多个新的输入数据分段的至少一个第二区分特性。
15.根据权利要求14的系统,还包括第九装置,被配置为为多个新的输入数据分段配置区分特性(DC)索引以用于存储至少一个第二区分特性,以及为多个新的输入数据子分段配置存储标识符(SI)索引以用于存储至少一个第一区分特性。
16.根据权利要求15的系统,还包括第十装置,被配置为计算至少一个第一和第二区分特性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/958,205 US8682873B2 (en) | 2010-12-01 | 2010-12-01 | Efficient construction of synthetic backups within deduplication storage system |
US12/958,205 | 2010-12-01 | ||
PCT/EP2011/070290 WO2012072419A1 (en) | 2010-12-01 | 2011-11-16 | Synthetic backups within deduplication storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103229147A CN103229147A (zh) | 2013-07-31 |
CN103229147B true CN103229147B (zh) | 2016-03-16 |
Family
ID=45033951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180057803.5A Active CN103229147B (zh) | 2010-12-01 | 2011-11-16 | 用于去重存储系统内的合成备份的方法和系统 |
Country Status (8)
Country | Link |
---|---|
US (9) | US8682873B2 (zh) |
EP (1) | EP2646915B1 (zh) |
JP (1) | JP5878548B2 (zh) |
KR (1) | KR101599113B1 (zh) |
CN (1) | CN103229147B (zh) |
AU (1) | AU2011335219B2 (zh) |
CA (1) | CA2817119C (zh) |
WO (1) | WO2012072419A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8731190B2 (en) * | 2009-06-09 | 2014-05-20 | Emc Corporation | Segment deduplication system with encryption and compression of segments |
US8401181B2 (en) * | 2009-06-09 | 2013-03-19 | Emc Corporation | Segment deduplication system with encryption of segments |
US8762348B2 (en) * | 2009-06-09 | 2014-06-24 | Emc Corporation | Segment deduplication system with compression of segments |
US8495022B1 (en) * | 2010-05-13 | 2013-07-23 | Symantec Corporation | Systems and methods for synthetic backups |
US8682873B2 (en) | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US8495304B1 (en) * | 2010-12-23 | 2013-07-23 | Emc Corporation | Multi source wire deduplication |
CN102810108A (zh) * | 2011-06-02 | 2012-12-05 | 英业达股份有限公司 | 重复数据的处理方法 |
US9026496B1 (en) * | 2011-09-30 | 2015-05-05 | Emc Corporation | Efficient building of restore list |
US8442945B1 (en) * | 2012-01-03 | 2013-05-14 | Don Doerner | No touch synthetic full backup |
US8719234B2 (en) * | 2012-01-25 | 2014-05-06 | International Business Machines Corporation | Handling rewrites in deduplication systems using data parsers |
US9880771B2 (en) * | 2012-06-19 | 2018-01-30 | International Business Machines Corporation | Packing deduplicated data into finite-sized containers |
US8904147B2 (en) * | 2012-09-11 | 2014-12-02 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Method for generating a delta for compressed data |
US9594643B2 (en) * | 2013-03-06 | 2017-03-14 | Quest Software Inc. | Handling restores in an incremental backup storage system |
KR101505263B1 (ko) | 2013-03-07 | 2015-03-24 | 포항공과대학교 산학협력단 | 데이터 중복 제거 방법 및 장치 |
US9483494B1 (en) * | 2013-03-14 | 2016-11-01 | Emc Corporation | Opportunistic fragmentation repair |
US9244937B2 (en) | 2013-03-15 | 2016-01-26 | International Business Machines Corporation | Efficient calculation of similarity search values and digest block boundaries for data deduplication |
US9547662B2 (en) * | 2013-03-15 | 2017-01-17 | International Business Machines Corporation | Digest retrieval based on similarity search in data deduplication |
US9430332B1 (en) * | 2013-04-29 | 2016-08-30 | Veritas Technologies Llc | Systems and methods for enabling efficient access to incremental backups |
US9286314B2 (en) | 2013-07-15 | 2016-03-15 | International Business Machines Corporation | Applying a maximum size bound on content defined segmentation of data |
US10789213B2 (en) | 2013-07-15 | 2020-09-29 | International Business Machines Corporation | Calculation of digest segmentations for input data using similar data in a data deduplication system |
US9594766B2 (en) | 2013-07-15 | 2017-03-14 | International Business Machines Corporation | Reducing activation of similarity search in a data deduplication system |
US10229132B2 (en) * | 2013-07-15 | 2019-03-12 | International Business Machines Corporation | Optimizing digest based data matching in similarity based deduplication |
US10229131B2 (en) * | 2013-07-15 | 2019-03-12 | International Business Machines Corporation | Digest block segmentation based on reference segmentation in a data deduplication system |
US10133502B2 (en) | 2013-07-15 | 2018-11-20 | International Business Machines Corporation | Compatibility and inclusion of similarity element resolutions |
US9892127B2 (en) * | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Global digests caching in a data deduplication system |
US9268786B2 (en) | 2013-07-15 | 2016-02-23 | International Business Machines Corporation | Applying a minimum size bound on content defined segmentation of data |
US10296597B2 (en) | 2013-07-15 | 2019-05-21 | International Business Machines Corporation | Read ahead of digests in similarity based data deduplicaton |
US10339109B2 (en) | 2013-07-15 | 2019-07-02 | International Business Machines Corporation | Optimizing hash table structure for digest matching in a data deduplication system |
US9891857B2 (en) | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Utilizing global digests caching in similarity based data deduplication |
US10296598B2 (en) | 2013-07-15 | 2019-05-21 | International Business Machines Corporation | Digest based data matching in similarity based deduplication |
US9922042B2 (en) | 2013-07-15 | 2018-03-20 | International Business Machines Corporation | Producing alternative segmentations of data into blocks in a data deduplication system |
US9892048B2 (en) | 2013-07-15 | 2018-02-13 | International Business Machines Corporation | Tuning global digests caching in a data deduplication system |
US9836474B2 (en) | 2013-07-15 | 2017-12-05 | International Business Machines Corporation | Data structures for digests matching in a data deduplication system |
US9244830B2 (en) | 2013-07-15 | 2016-01-26 | Globalfoundries Inc. | Hierarchical content defined segmentation of data |
US10073853B2 (en) | 2013-07-17 | 2018-09-11 | International Business Machines Corporation | Adaptive similarity search resolution in a data deduplication system |
US9519805B2 (en) * | 2013-08-01 | 2016-12-13 | Cellco Partnership | Digest obfuscation for data cryptography |
US20150066976A1 (en) * | 2013-08-27 | 2015-03-05 | Lighthouse Document Technologies, Inc. (d/b/a Lighthouse eDiscovery) | Automated identification of recurring text |
US9785643B1 (en) * | 2013-09-06 | 2017-10-10 | Veritas Technologies Llc | Systems and methods for reclaiming storage space in deduplicating data systems |
US9336260B2 (en) | 2013-10-16 | 2016-05-10 | Netapp, Inc. | Technique for global deduplication across datacenters with minimal coordination |
CN104714859B (zh) * | 2013-12-17 | 2017-10-03 | 南京壹进制信息技术股份有限公司 | 一种海量文件的快速备份与恢复的方法 |
US10229056B1 (en) * | 2014-03-25 | 2019-03-12 | EMC IP Holding Company LLC | Alignment fixing on a storage system during continuous data replication to deduplicated storage |
TWI511037B (zh) * | 2014-05-09 | 2015-12-01 | Wistron Corp | 儲存叢集化系統與提供對叢集式儲存的存取的方法 |
US9645888B1 (en) | 2014-06-02 | 2017-05-09 | EMC IP Holding Company LLC | Caching of backup chunks |
WO2016003481A1 (en) * | 2014-07-04 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Data deduplication |
US10496496B2 (en) | 2014-10-29 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Data restoration using allocation maps |
EP4040297A1 (en) * | 2015-05-27 | 2022-08-10 | Google LLC | System and method for automatic cloud-based full-data backup and restore on mobile devices |
US10621151B2 (en) * | 2015-09-25 | 2020-04-14 | Netapp Inc. | Elastic, ephemeral in-line deduplication service |
US10255288B2 (en) | 2016-01-12 | 2019-04-09 | International Business Machines Corporation | Distributed data deduplication in a grid of processors |
US10261946B2 (en) | 2016-01-12 | 2019-04-16 | International Business Machines Corporation | Rebalancing distributed metadata |
US10242021B2 (en) | 2016-01-12 | 2019-03-26 | International Business Machines Corporation | Storing data deduplication metadata in a grid of processors |
US11599505B2 (en) * | 2016-07-19 | 2023-03-07 | Western Digital Technologies, Inc. | Reference set construction for data deduplication |
US11644992B2 (en) * | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
KR102306672B1 (ko) * | 2016-11-23 | 2021-09-29 | 삼성전자주식회사 | 데이터 중복 제거를 수행하는 스토리지 시스템, 스토리지 시스템 및 데이터 처리 시스템의 동작방법 |
EP3659043B1 (en) * | 2017-08-25 | 2023-02-22 | Huawei Technologies Co., Ltd. | Apparatus and method for storing received data blocks as deduplicated data blocks |
CN109726037B (zh) | 2017-10-27 | 2023-07-21 | 伊姆西Ip控股有限责任公司 | 用于备份数据的方法、设备和计算机程序产品 |
US20200034244A1 (en) * | 2018-07-26 | 2020-01-30 | EMC IP Holding Company LLC | Detecting server pages within backups |
US11269733B2 (en) * | 2018-11-13 | 2022-03-08 | Exagrid Systems, Inc. | Synthetic full backups and deduplication backup storage with landing zone |
US20200349012A1 (en) * | 2019-05-01 | 2020-11-05 | EMC IP Holding Company LLC | Method and system for full restore point creation using incremental backups |
US11429573B2 (en) * | 2019-10-16 | 2022-08-30 | Dell Products L.P. | Data deduplication system |
US20210191821A1 (en) | 2019-12-20 | 2021-06-24 | EMC IP Holding Company LLC | Method and system for generating conversation specific user data backups of limited-access user data |
CN113448491A (zh) * | 2020-03-26 | 2021-09-28 | 伊姆西Ip控股有限责任公司 | 存储系统的数据迁移 |
US20220398169A1 (en) * | 2021-06-11 | 2022-12-15 | Qnap Systems, Inc. | Method, system and computer-readable medium for synthetic incremental data backup |
TWI789984B (zh) * | 2021-06-11 | 2023-01-11 | 威聯通科技股份有限公司 | 合成增量資料備份方法、系統及電腦可讀取儲存媒體 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415280B1 (en) * | 1995-04-11 | 2002-07-02 | Kinetech, Inc. | Identifying and requesting data in network using identifiers which are based on contents of data |
CN101084499A (zh) * | 2004-09-15 | 2007-12-05 | 迪利根特技术公司 | 用于搜索和存储数据的系统和方法 |
CN101430691A (zh) * | 2007-03-30 | 2009-05-13 | 赛门铁克公司 | 直接将数据从去重复存储器导出到非去重复存储器的系统和方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204966A (en) * | 1990-03-09 | 1993-04-20 | Digital Equipment Corporation | System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords |
WO1995001599A1 (en) * | 1993-07-01 | 1995-01-12 | Legent Corporation | System and method for distributed storage management on networked computer systems |
US5990810A (en) * | 1995-02-17 | 1999-11-23 | Williams; Ross Neil | Method for partitioning a block of data into subblocks and for storing and communcating such subblocks |
JP3597697B2 (ja) | 1998-03-20 | 2004-12-08 | 富士通株式会社 | 文書要約装置およびその方法 |
US6374266B1 (en) * | 1998-07-28 | 2002-04-16 | Ralph Shnelvar | Method and apparatus for storing information in a data processing system |
US6487561B1 (en) | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US8311946B1 (en) * | 1999-10-15 | 2012-11-13 | Ebrary | Method and apparatus for improved information transactions |
US6667700B1 (en) * | 2002-10-30 | 2003-12-23 | Nbt Technology, Inc. | Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation |
US7065619B1 (en) | 2002-12-20 | 2006-06-20 | Data Domain, Inc. | Efficient data storage system |
US7055008B2 (en) * | 2003-01-22 | 2006-05-30 | Falconstor Software, Inc. | System and method for backing up data |
US8938595B2 (en) | 2003-08-05 | 2015-01-20 | Sepaton, Inc. | Emulated storage system |
US8280926B2 (en) | 2003-08-05 | 2012-10-02 | Sepaton, Inc. | Scalable de-duplication mechanism |
US7814056B2 (en) | 2004-05-21 | 2010-10-12 | Computer Associates Think, Inc. | Method and apparatus for data backup using data blocks |
US8725705B2 (en) * | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US7756833B2 (en) | 2004-09-22 | 2010-07-13 | Microsoft Corporation | Method and system for synthetic backup and restore |
US8352692B1 (en) * | 2007-03-30 | 2013-01-08 | Symantec Corporation | Utilizing peer-to-peer services with single instance storage techniques |
US7844117B2 (en) * | 2007-09-07 | 2010-11-30 | Xerox Corporation | Method for identifying images under distortion via noise characterization and bregman optimal matrix approximations |
US7962452B2 (en) * | 2007-12-28 | 2011-06-14 | International Business Machines Corporation | Data deduplication by separating data from meta data |
US8447938B2 (en) * | 2008-01-04 | 2013-05-21 | International Business Machines Corporation | Backing up a deduplicated filesystem to disjoint media |
CN101939737A (zh) * | 2008-01-16 | 2011-01-05 | 赛帕顿有限公司 | 可扩展的重复数据删除机构 |
US8041679B1 (en) * | 2008-06-04 | 2011-10-18 | Symantec Operating Corporation | Synthetic differential backups creation for a database using binary log conversion |
US8244681B2 (en) * | 2008-06-09 | 2012-08-14 | Symantec Operating Corporation | Creating synthetic backup images on a remote computer system |
US8099572B1 (en) * | 2008-09-30 | 2012-01-17 | Emc Corporation | Efficient backup and restore of storage objects in a version set |
US8751462B2 (en) * | 2008-11-14 | 2014-06-10 | Emc Corporation | Delta compression after identity deduplication |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8315985B1 (en) * | 2008-12-18 | 2012-11-20 | Symantec Corporation | Optimizing the de-duplication rate for a backup stream |
US8200926B1 (en) * | 2009-05-28 | 2012-06-12 | Symantec Corporation | Methods and systems for creating full backups |
US8255365B2 (en) * | 2009-06-08 | 2012-08-28 | Symantec Corporation | Source classification for performing deduplication in a backup operation |
US8904125B1 (en) * | 2009-09-03 | 2014-12-02 | Symantec Corporation | Systems and methods for creating reference-based synthetic backups |
US8346787B1 (en) * | 2009-09-15 | 2013-01-01 | Symantec Corporation | Method and apparatus for continuous data protection |
US8311964B1 (en) * | 2009-11-12 | 2012-11-13 | Symantec Corporation | Progressive sampling for deduplication indexing |
US8380678B2 (en) | 2009-11-24 | 2013-02-19 | Symantec Corporation | Tracking files which have been processed by a backup or a restore operation |
US8156306B1 (en) | 2009-12-18 | 2012-04-10 | Emc Corporation | Systems and methods for using thin provisioning to reclaim space identified by data reduction processes |
US8694469B2 (en) * | 2009-12-28 | 2014-04-08 | Riverbed Technology, Inc. | Cloud synthetic backups |
US20120011101A1 (en) | 2010-07-12 | 2012-01-12 | Computer Associates Think, Inc. | Integrating client and server deduplication systems |
US8682873B2 (en) * | 2010-12-01 | 2014-03-25 | International Business Machines Corporation | Efficient construction of synthetic backups within deduplication storage system |
US8442945B1 (en) * | 2012-01-03 | 2013-05-14 | Don Doerner | No touch synthetic full backup |
-
2010
- 2010-12-01 US US12/958,205 patent/US8682873B2/en active Active
-
2011
- 2011-11-16 WO PCT/EP2011/070290 patent/WO2012072419A1/en active Application Filing
- 2011-11-16 JP JP2013541283A patent/JP5878548B2/ja active Active
- 2011-11-16 CN CN201180057803.5A patent/CN103229147B/zh active Active
- 2011-11-16 AU AU2011335219A patent/AU2011335219B2/en active Active
- 2011-11-16 KR KR1020137016583A patent/KR101599113B1/ko active IP Right Grant
- 2011-11-16 CA CA2817119A patent/CA2817119C/en active Active
- 2011-11-16 EP EP11787825.6A patent/EP2646915B1/en active Active
-
2012
- 2012-06-04 US US13/488,180 patent/US8682854B2/en active Active
-
2013
- 2013-03-13 US US13/801,756 patent/US9697222B2/en active Active
- 2013-03-13 US US13/801,785 patent/US9031921B2/en not_active Expired - Fee Related
- 2013-03-13 US US13/801,765 patent/US9852145B2/en active Active
- 2013-03-13 US US13/801,774 patent/US9858286B2/en active Active
-
2015
- 2015-04-21 US US14/691,787 patent/US9575983B2/en active Active
-
2017
- 2017-11-17 US US15/816,205 patent/US10585857B2/en active Active
- 2017-11-29 US US15/825,272 patent/US10621142B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415280B1 (en) * | 1995-04-11 | 2002-07-02 | Kinetech, Inc. | Identifying and requesting data in network using identifiers which are based on contents of data |
CN101084499A (zh) * | 2004-09-15 | 2007-12-05 | 迪利根特技术公司 | 用于搜索和存储数据的系统和方法 |
CN101430691A (zh) * | 2007-03-30 | 2009-05-13 | 赛门铁克公司 | 直接将数据从去重复存储器导出到非去重复存储器的系统和方法 |
Non-Patent Citations (2)
Title |
---|
"合成"在手 数据速有——增量合成备份新技术应用感受;颜军;《微电脑世界》;20040430(第8期);100-101 * |
最新备份技术现状分析;W.Curtis Preston;《华南金融电脑》;20100430(第4期);40-43 * |
Also Published As
Publication number | Publication date |
---|---|
AU2011335219A1 (en) | 2013-04-04 |
US8682854B2 (en) | 2014-03-25 |
AU2011335219B2 (en) | 2015-06-04 |
US20150227545A1 (en) | 2015-08-13 |
US20180081898A1 (en) | 2018-03-22 |
US20130232119A1 (en) | 2013-09-05 |
KR20130123410A (ko) | 2013-11-12 |
US10585857B2 (en) | 2020-03-10 |
US20130232117A1 (en) | 2013-09-05 |
EP2646915A1 (en) | 2013-10-09 |
JP5878548B2 (ja) | 2016-03-08 |
CN103229147A (zh) | 2013-07-31 |
US20130232116A1 (en) | 2013-09-05 |
US20180095986A1 (en) | 2018-04-05 |
US20120239625A1 (en) | 2012-09-20 |
CA2817119A1 (en) | 2012-06-07 |
US20120143835A1 (en) | 2012-06-07 |
JP2014503886A (ja) | 2014-02-13 |
EP2646915B1 (en) | 2017-09-13 |
US9031921B2 (en) | 2015-05-12 |
US8682873B2 (en) | 2014-03-25 |
KR101599113B1 (ko) | 2016-03-14 |
US9697222B2 (en) | 2017-07-04 |
WO2012072419A1 (en) | 2012-06-07 |
US9852145B2 (en) | 2017-12-26 |
US9575983B2 (en) | 2017-02-21 |
US20130232120A1 (en) | 2013-09-05 |
CA2817119C (en) | 2019-09-10 |
US10621142B2 (en) | 2020-04-14 |
US9858286B2 (en) | 2018-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103229147B (zh) | 用于去重存储系统内的合成备份的方法和系统 | |
US8443000B2 (en) | Storage of data with composite hashes in backup systems | |
CN107003935A (zh) | 优化数据库去重 | |
US11409616B2 (en) | Recovery of in-memory databases after a system crash | |
CN104239443B (zh) | 一种序列化数据操作日志的存储方法 | |
KR20110032343A (ko) | 비휘발성 메모리를 이용한 로깅 최적화 장치 및 방법 | |
US8190614B2 (en) | Index compression |
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 |