经重复消除的数据的备份的制作方法

文档序号:6348267阅读:176来源:国知局
专利名称:经重复消除的数据的备份的制作方法
技术领域
本发明涉及数据重复消除,并且更特别地,涉及向数据存储介质备份经重复消除的数据。
背景技术
计算机系统采用通常部分地采用不时更新数据的应用。该数据继而通常被存储, 可能首先是被存储到诸如存储器或者盘的存储库,随后被存储到诸如可拆卸介质的数据存储介质,其示例包括磁带、光盘、盒式磁盘、盒式存储器,等等。如本领域中已知的,向储存库和向数据存储介质的存储可以被称为数据的备份,并且由备份/恢复应用来进行。例如,一个用户或者一组用户可能希望向储存库备份定期(例如,每天或者每周)备份特定应用的数据或者在其计算机上存储的所有数据,以作为针对重要数据可能的崩溃、损坏或者意外删除的预防措施。对数据流的部分更新可能源自各更新应用中的每个应用仅使用该数据流的一部分。在一个示例中,一个应用或者用户将使用和更新包括数据流一部分的一个或者多个数据集或者虚拟卷,而另一应用或者用户将使用和更新包括数据流的另一部分的一个或者多个数据集或者虚拟卷。在任一情况下,常常只有所备份的数据流中的数据集或者虚拟卷的小部分已被更新,因此当前数据的大部分可能已经存在于储存库中,只有少量改变。用于减少储存库中所存储的相同数据的量的过程被称为数据重复消除,并且各种技术是本领域技术人员所已知的。数据重复消除最终结果是对于相同的数据部分,该数据部分的一个拷贝被存储为第一拷贝,而将其他拷贝替换为指向第一拷贝的指针。在此,用于数据给定部分的每个第一拷贝和指向第一拷贝的任何指针中的每一个被称为针对该数据的重复消除的“引用”。数据的没有相同拷贝的唯一的部分也被称为针对该数据的重复消除的“引用”。由此,经重复消除的虚拟卷可以包括唯一的数据块与或者是第一拷贝或者是指向第一拷贝的指针的数据块的组合。依赖于用来创建重复消除的技术,数据块可以具有一致的或者可变的尺寸。如本领域技术人员所知,经重复消除的数据通常始于以重复消除形式向储存库 “备份”,并且通常被存储在诸如RAID之类的硬盘驱动系统上。RAID系统使用奇偶校验系统来确保数据不被丢失,即使数据的大部分可能变得被损坏等。数据可以被格式化以模仿磁带或者其他形式的可拆卸介质,但是按照可以快速恢复原始数据的方式被布置在硬盘驱动系统上。包括虚拟卷的数据流可以作为完整原始数据流而存在,并且在其被备份到储存库时被重复消除;或者它可以被重复消除并且以经重复消除形式被存储在例如临时存储中, 并且继而被备份到储存库。备份储存库本身必须不时地备份以便避免过高的成本,并且备份通常是向实际的可拆卸介质(例如磁带库)。为了恢复原始数据通常需要访问数据,并且一个库维护可拆卸介质以供快速访问,尽管它比盘驱动系统的访问更慢。当向物理带传送数据时,可以对数据进行重建以用于传送,在这种情况下其扩展和消耗大量的带,例如,扩展因子可以是10或者20。

发明内容
方法和和系统备份经重复消除的数据,该经重复消除的数据包括针对重复消除而被引用的多个数据块。在一个实施方式中,一个步骤包括确定存在对每个数据块的多次引用;并且一个步骤包括存储具有对其的多次引用的至少每个数据块的至少两个拷贝,其中向独立的数据存储介质存储数据块的每个拷贝。在另一实施方式中,一个步骤包括确定对每个数据块的引用;一个步骤包括比较该引用与引用阈值;一个步骤包括在引用阈值未被超过的情况下存储每个数据块的单个拷贝;以及一个步骤包括在引用阈值被超过的情况下存储每个数据块的多个拷贝。在又一实施方式中,多个拷贝存储步骤包括向独立数据存储介质的每一个存储数据块的多个拷贝中的每个拷贝。在又一实施方式中,引用阈值包括对数据块的引用次数。在又一实施方式中,其中经重复消除的数据被布置在数据卷中,其中至少一个数据卷包括多个数据块,确定步骤所确定的对数据块的引用不包括对相同数据卷中的数据块的多次引用。在另一实施方式中,其中经重复消除的数据被布置在数据卷中,其中至少一个数据卷包括多个数据块,确定步骤所确定的对数据块的引用包括对相同数据卷中的数据块的多次引用。在又一实施方式中,引用阈值次数是对数据块的一次引用。在另一实施方式中,引用阈值包括大于1的基于风险的阈值。在又一实施方式中,备份经重复消除的数据包括包括确定例如上下文中对每个数据块的引用的步骤;包括将上下文中的多次引用总数与百分比阈值进行比较的步骤;以及包括在百分比阈值被超过的情况下存储上下文的所有数据块的步骤。在又一实施方式中,其中经重复消除的数据布置在卷中,而至少一个数据卷包括多个数据块;百分比阈值包括具有对数据块的多次引用的卷的数据百分比;并且存储步骤包括存储卷的所有数据块。在另一实施方式中,百分比阈值包括卷的数据块的数目百分比。在另一实施方式中,引用阈值包括数据流的数据块的数目百分比。在又一实施方式中,其中经重复消除的数据包括限定的数据流,该数据流包括多个数据卷;百分比阈值包括上下文的数据的数量百分比;并且存储步骤包括存储上下文的所有数据。在又一实施方式中,引用阈值包括卷的经重复消除的数据的数量百分比。在又一实施方式中,引用阈值包括数据流的经重复消除的数据的数量百分比。在又一实施方式中,备份经重复消除的数据包括包括确定对每个数据块的引用的步骤;包括比较引用与第一阈值的步骤;包括比较引用与第二阈值的步骤;包括在第一阈值被超过的情况下存储至少每个数据块的第二拷贝的步骤;以及包括在第二阈值被超过的情况下存储至少每个数据块的第二拷贝以及附加拷贝的步骤。在又一实施方式中,多个拷贝存储步骤包括向每个独立的数据存储介质存储数据块的第二拷贝的每个拷贝和数据块的附加拷贝的每个拷贝。在本发明的第一方面,现在提供一种用于备份来自重复消除的数据源的经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,该方法包括由处理系统执行的包括确定存在对每个所述数据块的多次引用的步骤;以及由处理系统执行的包括存储具有对其的多次引用的至少每个所述数据块的至少两个拷贝的步骤,其中向独立的数据存储介质存储所述数据块的每个拷贝。在本发明的第二方面,现在提供一种用于备份来自经重复消除的数据源的经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,该方法包括由处理系统执行的包括确定对每个所述数据块的引用的步骤;由处理系统执行的包括比较所述引用与引用阈值的步骤;由处理系统执行的包括在所述引用阈值未被超过的情况下存储每个所述数据块的单个拷贝的步骤;以及由处理系统执行的包括在所述引用阈值被超过的情况下存储每个所述数据块的多个拷贝的步骤。在本发明的第三方面,现在提供一种用于备份来自经重复消除的数据源的经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,该方法包括由处理系统执行的包括确定在上下文中对每个所述数据块的引用的步骤;由处理系统执行的包括对所述上下文中的多次所述引用的总数与百分比阈值进行比较的步骤;以及由处理系统执行的包括在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块的步骤。在本发明的第四方面,现在提供一种用于备份来自经重复消除的数据源的经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,该方法包括由处理系统执行的包括确定在上下文中对每个所述数据块的引用的数据的量的步骤;由处理系统执行的包括对所述上下文的数据的量与百分比阈值进行比较的步骤; 以及由处理系统执行的包括在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块的步骤。在本发明的第五方面,现在提供一种用于备份来自经重复消除的数据源的经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,该方法包括由处理系统执行的包括确定对每个所述数据块的引用的步骤;
7
由处理系统执行的包括对所述引用与第一阈值进行比较的步骤;由处理系统执行的包括对所述引用与第二阈值进行比较的步骤;由处理系统执行的包括在所述第一阈值被超过的情况下存储至少每个所述数据块的第二拷贝的步骤;以及由处理系统执行的包括在所述第二阈值被超过的情况下存储至少每个所述数据块的所述第二拷贝以及附加拷贝的步骤。在本发明的第六方面,现在提供一种系统,该系统包括至少一个数据存储驱动器,配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动器向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,所述处理器系统被配置用于针对每个所述数据块确定关于所述数据块是否存在多次所述引用;以及存储具有对其的多次引用的至少每个所述数据块的至少两个拷贝,其中所述数据块的每个拷贝被存储到独立的数据存储介质。在本发明的第七方面,现在提供一种系统,该系统包括至少一个数据存储驱动器,配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动器向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,所述处理器系统被配置用于确定对每个所述数据块的引用;对所述引用与引用阈值进行比较;在所述引用阈值未被超过的情况下向每个所述数据块的数据存储介质存储单个拷贝;以及在所述引用阈值被超过的情况下向每个所述数据块的每个独立的数据存储介质存储独立拷贝。在本发明的第八方面,现在提供一种系统,该系统包括至少一个数据存储驱动器,器配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动器向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,所述处理器系统被配置用于
在上下文中确定对每个所述数据块的引用;对所述上下文中的多次所述引用的总数与百分比阈值进行比较;以及在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块。在本发明的第九方面,现在提供一种系统,该系统包括至少一个数据存储驱动器,配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动器向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,所述处理器系统被配置用于确定在上下文中对每个所述数据块的引用的数据的量;
对所述上下文的数据的量与百分比阈值进行比较;以及在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块。在本发明的第十方面,现在提供一种系统,该系统包括至少一个数据存储驱动器,配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动其向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,所述处理器系统被配置用于确定对每个所述数据块的引用;对所述引用与第一阈值进行比较; 对所述引用与第二阈值进行比较;在所述第一阈值被超过的情况下向所述独立的数据存储介质存储至少每个所述数据块的第二拷贝;以及在所述第二阈值被超过的情况下向至少每个所述数据块的所述独立的数据存储介质存储所述第二拷贝以及附加拷贝。为了更充分地理解本发明,应当参照结合附图进行的以下详细描述。


图1是根据本发明的实施方式的数据重复消除源以及用于备份经重复消除的数据的系统的示意框图;图2是描绘用于备份经重复消除的数据的本发明的实施方式的流程图;图3是描绘用于备份经重复消除的数据的本发明的实施方式的流程图;图4A、图4B和图4C是图示经重复消除的数据和备份经重复消除的数据的示图;图5是图示经重复消除的数据的属性的图;图6A和图6B是图示根据本发明的备份经重复消除的数据的实施方式的示图;图7A和图7B是图示根据本发明的备份经重复消除的数据的实施方式的示图;图8A和图8B是图示根据本发明的备份经重复消除的数据的实施方式的示图;图9A和图9B是图示经重复消除的数据和备份经重复消除的数据的实施方式的示图;图IOA和图IOB是图示根据本发明的备份经重复消除的数据的实施方式的示图;图11是描绘图1的示例性处理器系统的框图;图12A和图12B是图1的数据存储驱动器的前等距图和后等距图;以及图13是图1的数据存储介质盒的等距图。
具体实施例方式参照其中相似标号表示相同或者相似单元的附图在以下描述中在优选实施方式中描述本发明。尽管按照用于实现本发明的目的最佳模式描述本发明,但是本领域技术人员将领会可以按照这些教示实现变化而不背离本发明的精神或范围。参照图1,系统100被配置用于从数据重复消除源103接收或者获得经重复消除的数据。数据重复消除源可以包括任何适当类型的主机系统或者储存库,该主机系统或者储存库生成或者提供如下经重复消除的虚拟卷,这些虚拟卷如上文讨论的那样可以包括唯一的数据块与或者是第一拷贝或者指向第一拷贝的指针的数据块的组合。根据重复消除选择和技术,数据块可以尺寸相同或者相似或者可以包括各种尺寸。主机系统或者储存库103 的示例包括能够与其他设备通信的用户计算机系统、应用服务器、存储服务器等。 系统100包括能够通过一个或者多个通信链路106进行与数据重复消除源103有关的通信的处理器系统105。处理器系统105包括如此后讨论的一个或多个处理器以及相关联的系统、设备或元件,用于处理经重复消除的数据,以及例如通过数据存储驱动器112 而使数据存储在数据存储介质110上。在一个示例中,在自动化数据存储库中每次一个地向单个数据存储驱动器112提供或者基本上同时向多个数据存储驱动器或者以二者的组合方式提供数据存储介质110。备选地,数据存储驱动器112可以是独立的或者是系统(诸如架式系统)的一部分,并且使用自动或者人工加载以在数据存储驱动器中放置数据存储介质110。数据存储介质110可以包括在其上可以存储数据的任何类型的介质(包括但不限于磁介质(诸如磁带或者磁盘)、光介质(诸如光带或者光盘)、电介质(诸如PR0M、EEPR0M、 快速 raOM、CompactFlash TM、Smartmedia TM、Memory Stick TM 等)或者其他适合的介质)。例如在用于海量数据存储的自动化数据存储库中广泛使用的可拆卸介质的示例是在其中介质为磁带的磁带盒。数据存储驱动器112适合于向数据存储介质110存储数据和从数据存储介质110 获取数据,并且可以是与介质独立的单元或者可以是与介质通用的单元。独立单元的示例包括磁带驱动和可拆卸磁带盒,通用单元的示例包括可拆卸硬盘驱动器。如上文讨论的那样,数据重复消除包括各种用于减少存储在储存库中的相同数据的量的技术。数据重复消除的最终结果是对于相同的数据部分,将该数据部分的一个拷贝存储为第一部分,而将其他拷贝替换为指向第一拷贝的指针。在此,用于给定的数据部分的每个第一拷贝和指向第一拷贝的每个任何指针被称为用于该数据重复消除的“引用”。数据的唯一部分(无相同拷贝)也被称为用于该数据的 “引用”,但是将是单次引用。因此,经重复消除的虚拟卷可以包括唯一的数据块与或者是第一拷贝或者指向第一拷贝的指针的数据块的组合。依赖于用来创建重复消除技术,数据块可以是一致的或者可变的尺寸。经重复消除的数据可以被存储在储存库中并且可以被视为“被备份”,但是储存库不可能保持覆盖延长时段的数据流的整个连续体。作为替代,数据流例如向海量数据储存器(诸如磁带库)或者向磁带系统偶尔或者定期自行备份。对于被备份的数据(包括重复消除的数据)来说也存在着丢失的风险,尽管这种风险通常较小。如果向诸如可拆卸介质的多个数据存储介质备份数据,则该风险通常被限制在个别数据存储介质。如果重复消除的数据在未被重建的情况下存储,则例如包含一条实际数据(在数据流的所有其余部分内的对象指向该条数据)的单个数据存储介质的丢失有可能妨碍那些对象的重建,从而实质上妨碍整个数据流的重建。参照图1和图2,其呈现用于备份经重复消除的数据而不重建该数据、并且例如在丢失个别数据存储介质的一些或者所有该数据时具有减小的丢失可能性的本发明实施方式。在一个实施方式中,步骤120、123和125 —起包括确定存在对从数据重复消除源 103接收的数据流的每个数据块的多次引用的单个步骤。如果仅存在单次引用,则数据块是特定于数据流的,并且在步骤130中存储数据块的单个拷贝。然而,如果存在对数据块的多次引用,则在一些可选步骤之后,例如在步骤135中,存储具有对其的多次 引用的至少每个数据块的至少两个拷贝,并且每个拷贝被存储到独立的数据存储介质110。此外,参照图4A、图4B和图4C,图4A图示了在卷145中布置的示例性数据流140 的表示。该表示可以是原始数据流在重复消除之前的表示。备选地,该表示可以是用于数据流的引用的表示。在该示例中,数据流140包括对56个数据块147(其中许多为重复数据块)的引用总数。图4B表示组成数据流140 (包括15个数据块)的每个数据块149的单个拷贝。图4A也可以表示经重复消除的数据流,其中每个数据块147是对拷贝149之一的引用。如果向磁带写入每个数据块149的单个拷贝,则磁带可以表现为图4C的磁带150。参照图1、图2、图4A和图5,在步骤120中,处理器系统105确定对每个数据块的引用。在图5中,列表155表示如下步骤120,其中列举数据块149并且也列举来自步骤120 的对每个数据块的引用次数158。在一个实施方式中,引用次数160不包括相同卷145中的多个相同引用147这样的引用。作为替代,将多次引用计数为一次引用。在另一实施方式中,引用次数163包括相同卷145中的多个相同引用147这样的引用。此外,参照图6A和6B,表示步骤123和步骤125,这些步骤包括比较引用与引用阈值以及是否超过阈值。针对每个数据块149确定引用次数147,并且在不包括相同卷中的多次引用的针对引用的列160中图示该次数,而且在包括相同卷中的多次引用的针对引用的列163中图示该次数。例如,块D在卷000中被引用一次、在卷002中被引用三次、在卷004 中被引用两次并且在卷005中被引用一次。因此,在步骤120中针对块D确定的引用在每卷计数一次的列160中为4次,而在对每次引用进行计数的列163中为7次。可以在步骤170中设置步骤123(在可选步骤中)的阈值。具有最小风险的阈值为“1”(这意味着任何时候均超过阈值)、“2”或者更大,向数据存储介质存储数据块的至少两个拷贝(向独立的数据存储介质存储每个拷贝)。因此,如果在数据存储介质之一上的数据变为被受损等,则卷145之一可能会丢失,但是另一拷贝可用于确保其他卷保持完整。 例如,图6A表示包括11个数据块的每个如下数据块149的第二拷贝173,这些数据块的引用超过步骤123和步骤125的阈值“1”(不包括相同卷中的多次引用)。在步骤135中获得的合成数据存储介质在图6B中图示为数据存储介质175,其中存储所有数据块149的第一组拷贝,继而为具有相同卷以外的多次引用的所有数据块173的一组第二拷贝。在基于风险的方式中,步骤170可以例如由用户用来通过设置更高次数来减少数据存储介质的数目。该风险在于单个数据存储介质的丢失可能影响多个卷。下文将讨论示例。此外,参照图7A和图7B,表示步骤123和步骤125,这些步骤包括比较引用与引用阈值以及是否超过阈值,其中对包括卷内多次引用的每次引用进行计数。针对每个数据块149确定引用次数147,并且在包括相同卷中的多次引用的针对引用的列163中图示该次数。例如,块M在卷005 145中被引用两次而在任何其他卷中未被引用。因此,在步骤120 中针对块M确定的引用在每卷计数一次的列160中为1次,而在对每次引用进行计数的列 163中为2次。因此,在步骤123的阈值为“1”时,如果不包括多次引用则未超过阈值,但是如果对每次引用进行计数则超过阈值。图7A表示包括12个数据块(现在包括数据块M)的每个如下数据块149的第二拷贝180,这些数据块的引用超过步骤123的阈值“1”(包括相同卷中的多次引用)。在步骤135中获得的合成数据存储介质在图7B中图示为数据存储介质 185,其中存储所有数据块149的第一组拷贝,继而为具有多次完全引用的所有数据块180 的一组第二拷贝。在备选实施方式中,参照图1、图3、图4A、图8A和图8B,在步骤220中,处理器系统105确定例如上下文中对每个数据块的引用。在一个实施方式中,上下文为卷145。在另一实施方式中,上下文为整个数据流。在步骤223和步骤225中,比较上下文中的多次引用总数与百分比阈值。在一个示例中,阈值可以是数据块的50%。在图8A中,列表255代表如下步骤220,其中列举所用上下文(例如卷245)并且也列举来自步骤220的在每个卷的上下文中对数据块的多次引用的次数258。a.例如,使用百分比阈值50 %,仅卷002具有超过阈值的多次引用总数,如图4A 的147中所示,其中对于共计八次引用之中的共计五次而言,有对数据块D的三次引用和对数据块L的两次引用。根据一个实施方式,与重建上下文的数据相比,如果在步骤260中向数据存储介质直接复制整个数据上下文,则数据的潜在恢复将容易和快得多。步骤260包括存储上下文的所有数据块。图8B表示数据存储介质273,其中卷002的上下文的所有数据块的直接拷贝278 存储在“磁带5”中和“磁带6”中。步骤225指示其他卷未超过阈值,并且在步骤280随需存储其拷贝。在一个示例中,根据图2的实施方式之一处理用于其余卷的拷贝。在一个示例中,在步骤135中获得的合成数据存储介质在图8B中图示为数据存储介质285,其中所有数据块149的第一组拷贝被存储,其后是除具有相同卷外部的多次引用的存储在介质278 中的数据块之外的所有数据块173的存储在数据存储介质287上的第二拷贝的组。在另一实施方式中,百分比阈值上下文可以包括图4A的整个数据流147,并且百分比可以使得对数据的多次引用的很大百分比被采用。在被超过时,阈值将要求存储整个数据流。备选的百分比阈值可以包括诸如数据卷或者数据流的上下文的经重复消除的数据的数量百分比。附加地,参照图9A和图9B,将数据流290的卷001图示为具有异常数据量的块J。例如,该块可以包括如在步骤220中确定的卷数量的35%以上。在步骤223和步骤22 5中,比较上下文中的个别引用的数据总量与百分比阈值。在一个示例中,该阈值可以是上下文的数据的量的30%。在图9A中,使用百分比阈值30%, 卷001具有数据的量超过阈值的块。根据一个实施方式,与重建上下文的数据相比,如果在步骤260中向数据存储介质直接复制整个数据上下文,则数据的潜在恢复将容易和快得多。步骤260包括向数据存储介质存储上下文的所有数据块。
图9B表示数据存储介质293,其中卷001的上下文的所有数据块的直接拷贝298 存储在“磁带5”中和“磁带6”中。步骤225指示其他卷未超过阈值,并且在步骤280中随需存储其拷贝。在一个示例中,根据图2的实施方式之一处理用于其余卷的拷贝。在一个示例中,在图9B中将在步骤135中获得的合成数据存储介质图示为数据存储介质285,其中存储所有数据块的第一组拷贝,其后是具有相同卷外部的多次引用的除了存储在介质298 中的数据块之外的所有数据块290的存储在数据存储介质299上的第二拷贝的组。参照图1、图2、图5、图IOA和图10B,可以在一个实施方式中使用两个阈值。超过步骤125的第一阈值可以导致步骤305,在此比较引用与第二阈值。在一个实施方式中,超过第一阈值可以涉及步骤135,在此存储块的第二拷贝,并且向与第一拷贝独立的数据存储介质存储第二拷贝。在步骤310中超过第二阈值可以导致步骤325,仍然向独立的数据存储介质存储块的附加拷贝。在图5中,一个示例中的第一阈值可以包括“1”,并且通过具有对数据块的多次引用而超过阈值,从而使得将存储具有对其的多次引用的至少每个数据块的至少两个拷贝。用于步骤305和步骤310的阈值可以例如包括“4”,从而仅在存在对数据块的五次或者更多引用(不包括卷内的多次引用)时超过阈值。 在图IOA中,例如块A和块B是具有超过阈值的引用次数的仅有块,并且在步骤 325中,如图IOB的介质330的数据存储介质328所示,向仍然独立的数据存储介质110存储每个拷贝。第一阈值和第二阈值可以包括按照任何顺序的在此讨论的任何阈值。图IOA也图示例如可以由用户在图2的步骤170中选择的基于风险的阈值。就基于风险的阈值而言,该阈值大于“1”意味着仅向数据存储介质存储被引用多次,但是等于或者少于阈值的每个数据块的单个拷贝。因此,如果在数据存储介质之一上的数据变为被损坏等,则有可能的是卷145的多个可能丢失,因为无其他拷贝可用于确保其他卷保持完整。例如,图IOA表示仅有的块A和块B,其中存在其引用超过步骤123和步骤 125的“4”阈值这一示例性阈值(不包括相同卷中的多次引用)的每个数据块149的第二拷贝173。基于风险的方式可能需要明显更少的数据存储介质并且减少成本。权衡减少的成本与单个数据存储介质的丢失可能影响多卷的风险可能在一些情况中是值得的。参照图1和图11,处理器系统可以采用许多不同形式,并且可以例如包括但不限于嵌入式系统、分布式控制系统、个人计算机或者工作站。实质上,如在此所用术语“处理器系统”在它的最广泛意义上意指如此类术语在此定义的包含至少一个处理器的设备。图 11示出了处理器系统105的示例,该处理器系统105具有处理器402、RAM(随机存取存储器)403、非易失性存储器404和I/O接口 405。在一些实施方式中,处理器系统105还可以包括设备特定的电路401。备选地,RAM 403和/或非易失性存储器404可以如设备特定的电路401和I/O接口 405可以的那样包含在处理器402中。处理器402可以例如包括现货供应的微处理器、定制处理器、FPGA (现场可编程门阵列)、ASIC (专用集成电路)、离散逻辑等。RAM(随机存取存储器)403通常用来保持变量数据、堆栈数据、可执行指令等。非易失性存储器404可以包括任何类型的非易失性存储器(诸如但不限于EEPR0M(电可擦除可编程只读存储器)、快速PR0M(可编程只读存储器)、电池备用RAM和硬盘驱动)。非易失性存储器404通常用来保持可执行固件和任何非易失性数据。I/O接口 405包括允许处理器402与处理器系统外部的设备通信的通信接口。示例可以包括但不限于诸如RS-232之类的串行接口、USB(通用串行总线)或者SCSI (小型计算机系统接口)。设备特定的电路 401提供支持处理器系统105执行特定的功能(诸如但不限于操作自动化数据存储库的单元)的附加硬件。设备特定的电路401可以包括如下电子器件,这些电子器件提供例如但不限于,脉宽调制(PWM)控制、模数转换(ADC)、数模转换(DAC)等。此外,设备特定的电路 401的全部或者部分可以驻留在处理器系统105之外。图 12A和图12B图示了数据存储设备112的前面501和后面502的一个实施方式。在该示例中,数据存储驱动器包括磁带驱动器。这仅为示例而并非意味着将本发明限制到磁带驱动器。备选数据存储驱动112的示例可以包括光盘驱动器、热交换磁盘驱动器、 软盘驱动器等。在该示例中,磁带数据存储盒可以在开口 503处放入数据存储驱动器112 中。数据存储驱动器被用来读取和/或写入与数据存储介质110有关的数据,并且附加地与处理器系统105通信。数据存储驱动器附加地可以与如下存储器通信,该存储器与介质独立并且位于盒内。图13图示了诸如数据存储盒之类的数据存储介质110的一个实施方式。数据存储盒的介质可以包括在其上可以存储数据的任何类型介质,包括但不限于磁介质(诸如磁带或者磁盘)、光介质(诸如光带或者光盘)、电子介质(诸如PROM、EEPR0M、快速PR0M、 CompactFlashT\Memory Stick 等或者其他适合的介质。在用于海量数据存储的自动化数据存储库中使用的数据存储介质的示例是磁带盒的磁带介质620。磁带盒也可以包括与磁带介质620独立的盒存储器610。盒存储器通常存储关于该盒的信息,并且该信息可以包括该盒正在存储经重复消除的数据。本发明可以包括采用计算机可用或者计算机可读存储介质形式的计算机程序产品,该介质提供用于由计算机或者任何指令执行系统使用或者与计算机或者任何指令执行系统结合使用的程序代码。该介质可以是电子、磁、光、电磁、红外线或者半导体系统(或者装置或者设备)。计算机可读存储介质的示例包括半导体或者固态存储器、磁带、可拆卸计算机软盘和随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括光盘_只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。本领域技术人员将理解可以关于上文讨论的方法进行改变(包括对步骤顺序的改变)。另外,本领域技术人员将理解可以使用与这里说明的具体组件布置不同的具体组件布置。尽管已经详细说明了本发明的优选实施方式,但是应当清楚本领域技术人员可以想到并未脱离本发明范围的对那些实施方式的修改和适应。
权利要求
1.一种用于从经重复消除的数据源备份经重复消除的数据的方法,所述经重复消除的数据包括为了重复消除而被引用的多个数据块,包括由处理系统执行的包括确定在上下文中对每个所述数据块的引用的步骤;以及由处理系统执行的包括根据所述确定步骤而存储每个所述数据块的至少一个拷贝的步骤。
2.根据权利要求1所述的方法,其中所述存储步骤包括存储具有对其的多次引用的至少每个所述数据块的至少两个拷贝,其中所述数据块的每个拷贝被存储到独立的数据存储介质。
3.根据权利要求1所述的方法,其中所述确定步骤包括由处理系统执行的包括对所述引用与引用阈值进行比较的步骤;并且所述存储步骤包括由处理系统执行的包括在所述引用阈值未被超过的情况下存储每个所述数据块的单个拷贝的步骤,以及由处理系统执行的包括在所述引用阈值被超过的情况下存储每个所述数据块的多个拷贝的步骤。
4.根据权利要求3所述的方法,其中由处理系统执行的所述多个拷贝存储步骤包括将数据块的所述多个拷贝中的每个拷贝存储到独立的数据存储介质的每一个。
5.根据权利要求4所述的方法,其中所述引用阈值包括对数据块的引用次数。
6.根据权利要求5所述的方法,其中所述经重复消除的数据被布置在数据卷中,至少一个所述数据卷包括多个所述数据块,并且其中所述确定步骤的所述确定的对数据块的引用不包括对相同所述数据卷中的数据块的多次引用。
7.根据权利要求5所述的方法,其中所述经重复消除的数据被布置在数据卷中,至少一个所述数据卷包括多个所述数据块,并且其中所述确定步骤的所述确定的对数据块的引用包括对相同所述数据卷中的数据块的多次引用。
8.根据权利要求5所述的方法,其中所述引用阈值次数是对数据块的一次引用。
9.根据权利要求4所述的方法,其中所述引用阈值包括大于1的基于风险的阈值。
10.根据权利要求1所述的方法,其中所述确定步骤包括由处理系统执行的包括对所述上下文中的多次所述引用的总数与百分比阈值进行比较的步骤,并且所述存储步骤包括由处理系统执行的包括在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块的步骤。
11.根据权利要求10所述的方法,其中所述经重复消除的数据被布置在数据卷中,至少一个所述数据卷包括多个所述数据块;其中所述百分比阈值包括具有对数据块的多次引用的卷的数据的百分比;并且其中由处理系统执行的所述存储步骤包括存储所述卷的所有所述数据块。
12.根据权利要求11所述的方法,其中所述百分比阈值包括所述卷的所述数据块的数目的百分比。
13.根据权利要求10所述的方法,其中所述经重复消除的数据包括限定的数据流,所述数据流包括多个数据卷;其中所述百分比阈值包括具有对数据块的多次引用的所述数据流的数据的百分比;并且其中由处理系统执行的所述存储步骤包括存储所述数据流的所有所述数据。
14.根据权利要求1所述的方法,其中所述确定步骤包括由处理系统执行的包括对所述上下文的数据的量与百分比阈值进行比较,并且所述存储步骤包括由处理系统执行的包括在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块的步骤。
15.根据权利要求14所述的方法,其中所述经重复消除的数据被布置在数据卷中;其中所述百分比阈值包括卷的数据的量的百分比;并且其中由处理系统执行的所述存储步骤包括存储所述卷的所有所述数据块。
16.根据权利要求14所述的方法,其中所述经重复消除的数据包括限定的数据流,所述数据流包括多个数据卷;其中所述百分比阈值包括所述数据流的经重复消除的数据的量的百分比;并且由处理系统执行的所述存储步骤包括存储所述数据流的所有所述数据。
17.根据权利要求1所述的方法,其中所述确定步骤包括由处理系统执行的包括对所述引用与第一阈值进行的步骤,以及由处理系统执行的包括对所述引用与第二阈值进行比较的步骤;并且所述存储步骤包括由处理系统执行的包括在所述第一阈值被超过的情况下存储至少每个所述数据块的第二拷贝的步骤,以及由处理系统执行的包括在所述第二阈值被超过的情况下存储至少每个所述数据块的所述第二拷贝以及附加拷贝的步骤。
18.根据权利要求17所述的方法,其中由处理系统执行的所述多个拷贝存储步骤包括向独立的数据存储介质的每一个存储数据块的所述第二拷贝的每个拷贝以及数据块的所述附加拷贝的每个拷贝。
19.一种系统,包括至少一个数据存储驱动器,配置用于向至少一个数据存储介质存储数据;以及处理器系统,配置用于经由所述至少一个数据存储驱动向多个独立的数据存储介质备份经重复消除的数据,所述经重复消除的数据包括为了重复消除而被引用的多个数据块, 所述处理器系统被配置用于针对每个所述数据块而确定是否存在与所述数据块相关的多个所述引用;以及基于所述确定步骤而存储每个所述数据块的至少一个拷贝。
20.根据权利要求19所述的系统,其中所述处理器系统被配置用于针对每个所述数据块而确定是否存在与所述数据块有关的多个所述引用;以及存储具有对其的多次引用的至少每个所述数据块的至少两个拷贝,其中所述数据块的每个拷贝被存储到独立的数据存储介质。
21.根据权利要求19所述的系统,其中所述处理器系统被配置用于确定对每个所述数据块的引用;对所述引用与引用阈值进行比较;在向所述阈值未被超过的情况下向每个所述数据块的数据存储介质存储单个拷贝;以及在所述阈值被超过的情况下向所述每个数据块的独立的数据存储介质的每一个存储独立拷贝。
22.根据权利要求21所述的系统,其中所述引用阈值包括对数据块的引用次数;其中所述经重复消除的数据被布置在数据卷中,至少一个所述数据卷包括多个所述数据块,并且其中所述处理器系统被配置用于确定对数据块的引用,其不包括对相同所述数据卷中的数据块的多次引用。
23.根据权利要求21所述的系统,其中所述引用阈值包括对数据块的引用次数;其中所述经重复消除的数据被布置在数据卷中,至少一个所述数据卷包括多个所述数据块,并且其中所述处理器系统被配置用于确定对数据块的引用,其包括对相同所述数据卷中的数据块的多次引用。
24.根据权利要求19所述的系统,其中所述处理器系统被配置用于确定在上下文中对每个所述数据块的引用;对所述上下文中的多次所述引用的总数与百分比阈值进行比较;以及在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块。
25.根据权利要求M所述的系统,其中所述经重复消除的数据被布置在所述卷中,至少一个所述数据卷包括多个所述数据块;其中所述百分比阈值包括具有对所述数据块的多次引用的卷的数据的百分比;并且其中所述处理器系统被配置用于在超过所述百分比阈值时存储所述卷的所有所述数据块。
26.根据权利要求25所述的系统,其中所述百分比阈值包括所述卷的所述数据块的数目百分比。
27.根据权利要求M所述的系统,其中所述经重复消除的数据包括限定的数据流,所述数据流包括多个数据卷;其中所述百分比阈值包括具有对数据块的多次引用的所述数据流的数据的百分比;并且其中所述处理系统被配置用于在所述百分比阈值被超过的情况下存储所述数据流的所有所述数据。
28.根据权利要求19所述的系统,其中所述处理器系统被配置用于在上下文中确定对每个所述数据块的引用的数据的量;对所述上下文的数据的量与百分比阈值进行比较;以及在所述百分比阈值被超过的情况下存储所述上下文的所有所述数据块。
29.根据权利要求观所述的系统,其中所述经重复消除的数据被布置在数据卷中;其中所述百分比阈值包括卷的数据的量的百分比;并且其中所述处理器系统被配置用于在所述百分比阈值被超过的情况下存储所述卷的所有所述数据块。
30.根据权利要求观所述的系统,其中所述经重复消除的数据包括限定的数据流,所述数据流包括多个数据卷;其中所述百分比阈值包括所述数据流的经重复消除的数据的量的百分比;并且其中所述处理器系统被配置用于在所述百分比阈值被超过的情况下存储所述数据流的所有所述数据。
31.根据权利要求19所述的系统,其中所述处理器系统被配置用于确定对每个所述数据块的引用;对所述引用与第一阈值进行比较;对所述引用与第二阈值进行比较;在所述第一阈值被超过的情况下,向所述独立的数据存储介质存储至少每个所述数据块的第二拷贝;以及在所述第二阈值被超过的情况下向至少每个所述数据块的所述独立的数据存储介质存储所述第二拷贝以及附加拷贝。
全文摘要
方法和系统向数据存储介质备份经重复消除的数据,该经重复消除的数据包括为了重复消除而被引用的多个数据块。在一个实施方式中,确定对存在对每个数据块的多次引用;并且存储具有对其的多次引用的至少每个数据块的至少两个拷贝,每个被存储到独立的数据存储介质。在另一实施方式中,确定对每个数据块的引用;比较多次引用的总数与百分比阈值;并且在百分比阈值被超过的情况下针对所有数据块存储多个拷贝。
文档编号G06F11/14GK102308288SQ201080006849
公开日2012年1月4日 申请日期2010年1月19日 优先权日2009年2月6日
发明者G·T·基施 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1