持续保护数据的装置、系统和方法

文档序号:6569914阅读:199来源:国知局
专利名称:持续保护数据的装置、系统和方法
技术领域
本发明涉及保护数据,更具体地,涉及连续保护数字数据。
技术背景数据处理系统在数据存储装置上存储并处理大量有价值的数据,例如金融交易记录、发货和库存记录以;sj良务事务记录。如果数据存储装置出 现故障,则数据可能丟失,或者如果错误地输入数据,则数据会被破坏。 由于丟失数据的代价很高,所以数据处理系统可采用冗余数据存储装置来 提高数据可用性和防止数据丟失。例如,数据处理系统可包括独立磁盘冗余阵列("RAID")存储系统,用以在多个盘上冗余地存储数据。即使 RAID系统中的盘数据存储装置出现故障,数据处理系统也可以继续存储 和检索数据。数据处理系统还可以a数据,以防止数据丢失。例如,数据处理系 统可以定期地(例如在每天夜里)将一个或多个数据存储装置的内容^M^ 到磁带等。如果数据在l^从数据存储装置中丢失,则可恢复在备除时的 数据实例(instance)。不幸地是,在数据丢失时数据处理系统的数据与备 份数据之间通常存在很大不同。因此,数据备份并不能完全防止数据丢失。结果,数据处理系统可通过将数据复制到M数据存储装置来进行频 繁的数据快速备除。由于在快速备份之间的时间间隔通常很小,所以快速 备除进一步减少了不可恢复地丢失的数据量。不幸地是,由于被破坏或错误输入的数据(以下称为破坏数据),所 以频繁的快速*仅能较少地防止数据丢失。数据可被重复表项、错误表 项、软件病毒和未授权表项所破坏。破坏数据在被发现之前会持续存在于数据处理系统中一段时间。结果,当去除破坏数据时,快速备除不能足以 保护有效的数据。根据以上的讨论,应该清楚,需要一种持续保护数据的装置、系统和 方法。有益地,此类装置、系统和方法将使得所有数据实例可用于恢复到 数据处理系统。发明内容响应于本领域的情况,具体地,响应于还没有被当前可用的数据保护 方法完全解决的在本领域中的问题和需求,开发了本发明。相应地,已经 开发的本发明提供了一种用于持续数据保护的装置、系统和方法,其解决 了本领域中的上文讨论的许多或所有缺点。持续保护数据的装置配备有多个模块,所述多个模块配置为从功能上执行以下必要步骤,包括镜像主记录集、累积记录更改的日志、选#^己 录更改和应用所选择的记录更改。在所述实施例中的这些模块包括镜像 模块、日志模块、更改选择模块和更改应用模块。镜像模块镜像或产生主记录集到基本记录集的完全副本。主记录集包 括驻留在主巻上的多个记录。主巻可以是包含一个或多个数据存储装置(例 如硬盘驱动器)的多个分区的逻辑巻。镜像模块将主记录集镜像到备份巻, 所镜像的副本形成基本记录集。基本记录集等同于在镜像主记录集时的主 记录集实例。日志模块累积对主记录集的记录更改的日志。在一个实施例中,每一 个记录更改包括一致性组。每一个一致性组包括用于跟踪向记录的写入、 对日志的写入更新和表示记录更改完成的写入完成的数据。日志可累积在 将主记录集镜像到基本记录集之后对主记录集作出的每一个记录更改。更改选择模块从日志选#^己录更改。在一个实施例中,用户选择记录 更改。用户可选择在指定恢复时间之前的时间发生的记录更改。此外,用 户也可选择在指定恢复时间之后的时间发生的记录更改。在一个实施例中, 用户可选择和取消选择记录更改。更改应用模块将所选择的记录更改应用到基本记录集,以形成恢复后 的记录集。例如,更改应用模块可通过将所选记录更改包含的数据写入复 制到如记录更改所记录的主记录集,来应用所选择的记录更改,其中通过 基本记录集来复制数据写入。具有所应用的记录更改的基本记录集包括恢 复后的记录集。在一个实施例中,恢复后的记录集等同于在指定恢复时间 的主记录集。该装置通过维护从中可恢复主记录集的多个实例的基本记录 集和日志来持续保护数据。本发明还提供了 一种持续保护数据的系统。该系统可以在一个或多个数据存储系统中实现。具体地,在一个实施例中,该系统包括主巻、主 控制器、备除巻和备份控制器。此外,*控制器还可包括镜4"莫块、 日志模块、更改选择模块和更改应用模块。在一个实施例中,主巻存储作为用于一个或多个主^L系统的主记录集 的数据。主机系统可以是计算机工作站、服务器或大型计算机。在某一实 施例中,主巻与主机系统集成。主控制器管理主巻。例如,主控制器可对 主巻执行维护操作、向主巻写入数据或从主巻读取数据。备份巻存储用于恢复主记录集的数据。在一个实施例中,备除巻包括 基本记录集和日志。*控制器管理^#巻。镜^^莫块将主记录集镜像到 基本记录集。日志模块将对主记录集的每一个记录更改累积到日志中。使 用基本记录集和日志模块,系统可恢复主记录集的多个实例。更改选择模块从日志选择记录更改。更改选择模块将所选择的记录更 改应用到基本记录集,以形成恢复后的记录集。恢复后的记录集是主记录 集的指定实例。系统通过允许恢复多个主记录集实例的连续集来持续保护 数据。此外,系统允许选择性恢复主记录集的记录,以避免破坏数据。本发明还提供了 一种持续保护数据的方法。在公开实施例中的方法实 质上包括用以执行有关上述装置和系统的操作的功能所必须的步骤。在一 个实施例中,该方法包括镜像主记录集、累积记录更改的日志、选择记 录更改和应用所选择的记录更改。镜像才莫块将主记录集镜像到基本记录集。日志模块将对主记录集的每8一个记录更改累积到日志中。更改选择模块从日志选择记录更改。更改应 用模块将所选择的记录更改应用到基本记录集,以形成恢复后的记录集。 该方法通过支持恢复持续的多个主记录集实例来持续保护数据。本说明书中对功能、优点的参考或类似语言并非暗示可以与本发明一 起实现的所有功能和优点应在本发明的任何单个实施例中。相反,应当理 解,引用所述功能和优点的语言指与实施例一起描述的特定功能、优点或 特性包括在本发明的至少一个实施例中。因此,本"^兑明书中对功能、优点 的讨论和类似语言可以(但并不一定)指同一实施例。此外,本发明的所述功能、优点和特性可以以任何适当的方式组合在 一个或多个实施例中。相关领域的技术人员将认识到,可以在没有特定实 施例的一个或多个特定功能或优点的情况下实现本发明。在其他情况下, 可以在特定实施例中认识到可能不存在于本发明的所有实施例中的其他功 能和优点。本发明的实施例将主记录集镜像到基本记录集,并且将对主记录集的 每一个记录更改累积到日志中。此外,本发明的实施例从日志选择记录更 改,并将选择的记录更改应用到基本记录集,以形成恢复后的记录集,其 中恢复后的记录集是包含无破坏数据的实例的主记录集的期望实例。从以 下说明和所附权利要求,本发明的这些功能和优点将变得更加显而易见, 或者通过实现如下文所述的本发明,可以了解本发明的这些功能和优点。


现在将仅通过实例的方式参照附图描述本发明的 一个或多个实施例,其中图1是示出根据本发明的基础数据处理系统的一个实施例的示意性框图;图2a是示出根据本发明的扩展数据处理系统的一个实施例的示意性框图;意性框图;图3是示出本发明的数据巻的一个实施例的示意性框图; 图4是示出本发明的持续保护装置的一个实施例的示例性框图; 图5是示出本发明的控制器的一个实施例的示意性框图; 图6是示出本发明的持续保护方法的一个实施例的示意性流程图; 图7是示出本发明的恢复方法的一个实施例的示意性流程图; 图8是示出本发明的选择修改方法的一个实施例的示意性流程图; 图9是示出本发明的快速*方法的一个实施例的示意性流程图;和 图10是示出本发明的基本记录集/日志初始化方法的一个实施例的示 意性流程图。M实施方式将本说明书中描述的多个功能单元标记为模块,以便更具体地强调它 们的实现无关性。例如,模块可以被实现为包括定制VLSI电路或门阵列、 诸如逻辑芯片、晶体管或其他分离组件之类的现用半导体的硬件电路。模 块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备之 类的可编程硬件i殳备中实现。模块还可以在软件中实现,以便由各种类型的处理器执行。例如,标 识的可执行代码的模块可以包括一个或多个物理或逻辑的计算机指令块, 所述块可以例如組织为对象、过程或函数。然而,标识的模块的可执行代 码不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,当所述指令被逻辑地结合时,将包括所述模块并实现模块的所述目的。实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可 以分布在数个不同的代码段上、多个不同的程序中,以及跨多个存储器设 备。同样,操作lt据可以在模块中被标识和在此示出,并且可以包括在任 何适当的形式中并组织在任何适当类型的数据结构中。操作数据可以被收 集为单个数据集,或可以分布在包括不同存储i殳备的不同位置上,并且可 以至少部分地仅作为电子信号存在于系统或网络中。本说明书中对"一个实施例"、"实施例"或类似语言的引用指结合该实施例描述的特定功能、结构或特性;陂包括在本发明的至少一个实施例 中。因此,本说明书中出现的短语"在一个实施例中"、"在实施例中" 和类似语言可以(但是并非一定)都指相同的实施例。所提及的信号承载介质可以采取任何能够生成信号、导致信号生成、 或导致在数字处理装置上执行机器可读指令的程序的形式。信号承载介质 可以通过传输线、光盘、数字视盘、磁带、贝努利驱动器、磁盘、穿孔卡 片、闪存、集成电路,或其他数字处理装置存储器设备来实现。此外,本发明的所述功能、结构或特性可以以任何适当的形式组合在一 个或多个实施例中。在以下说明中,提供了大量特定的详细信息,如编程、 软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、 硬件电路、硬件芯片等的实例,以便彻底理解本发明的实施例。但是,本 领域的技术人员将认识到,可以在没有一个或多个特定的细节的情况下实 现本发明,或者可以通过其他方法、组件、材料等实现本发明。在其他情 况下,未详细示出或描述公知的结构、材料或操作以避免使本发明的各方 面变得模糊不清。图1是示出根据本发明的数据处理系统100的一个实施例的示意性框 图。系统100包括 一个或多个主机105、主存储子系统130、 ^#存储子 系统135、代替存储子系统140和时间服务器145。主存储子系统130包括 主巻110和主控制器115a。 4^存储子系统135包括备份巻112和^^控 制器115b。代替存储子系统140包括代替巻114和代替控制器115c。虽然 将系统100描述为具有2个主机105、 l个主存储子系统130、 l个^f^存 储子系统135和1个代替存储子系统140 ,但是可采用任意数目的主机105 和存储子系统130、 135、 140。此外,每一个存储子系统130、 135、 140 可包括一个或多个控制器115和一个或多个巻110。在一个实施例中,时间服务器145向主机105提供标准时间。此外, 时间服务器145可向每一个控制器115提供标准时间。例如,时间服务器 145可提供用于对系统100中的数据加盖时间戳的时间。可将每一个巻110、 112、 114配置为逻辑巻。在一个实施例中,每一 个巻IIO、 112、 114包括一个或多个存储装置(例如,硬盘驱动器、光存 储装置、磁带驱动器、半导体存储装置和微机械存储装置)的一个或多个 逻辑分区。例如,主巻110可包括一个或多个硬盘驱动器的逻辑分区,而 备份巻112可包括一个或多个磁带的一个或多个逻辑分区。每一个逻辑分 区可包括存储介质(例如,硬盘、磁带或微机械存储阵列)的一个或多个 物理分区。主机105可以在主巻110上存储数据。在一个实施例中,主存储子系 统130通过网络与主机105通信。在另一实施例中,主才几105可以与主存 储子系统130集成,以及通过内部数据总线与主存储子系统130通信。主控制器115a管理主巻110。在一个实施例中,主控制器115a是专 用存储控制器。在另一实施例中,主控制器115a与由主巻110包含的一个 或多个存储装置集成。主控制器115a可以向主巻110写入数据,以及可以 从主巻110读取数据。此外,主控制器115a可以对主巻110执行一个或多 个维护操作。例如,主控制器115a可以向主巻110添加逻辑分区。*存储子系统135通过通信通道140与主存储子系统130通信。通 信通道140可以是分组交换网络连接、专用光纤通信线路等。*存储子 系统135可以与主存储子系统130位于一起,或位于远程站点。例如,备 份存储子系统135可以位于与主存储子系统130较远的物理距离,以降低 系统故障、自然灾害和与主存储子系统130的位置相关的政治动荡的风险。可将主巻110的内容复制到备除巻112,以保护在主巻110上存储的 数据。因此,如果主巻IIO的数据丢失或被破坏,则备阶巻112可用于恢 复在复制主巻110时存在的主巻110的数据的实例。在一个实施例中,将 来自备份巻的数据恢复到代替存储子系统140的代替巻114。主机105可 通过通信介质150从代替巻114访问所恢复的数据。不幸地是,如果主机105在将主巻110复制到备除巻112之后修改了 主巻110中的任一数据,则在再次将主巻110的数据复制到备份巻112之 前就不能保护所修改的数据。本发明的实施例通过累积对主巻110的所有12更改,并允许对主巻110的每一个实例进行恢复,来持续保护主巻110的数据。图2a是示出才艮据本发明的扩展数据处理系统200的一个实施例的示意 性框图。系统200包括图1的一个或多个单元,其中对同样的单元进行同 样的编号。 一个或多个主机105通过网络225 (例如局域网或互联网)与 存^i殳备205通信。存^i殳备205通过第一内部网络210a与主存储子系统 130通信。此外,存储设备205还通过通信通道140和第二内部网络210b 与M存储子系统135通信。时间服务器145可向存储设备205提供标准 时间。此外,时间服务器145可为主存储子系统130和*存储子系统135 提供标准时间。主存储子系统130包括第一和第二主控制器115a、 115c。 *存储子 系统135也净皮描述为包括第一和第二^^控制器115b、 115d。每一个控制 器115管理一个或多个存储装置215。每一个存储子系统130、 135可采用 任意数目的控制器115和存储装置215。在一个实施例中,控制器115通 过数据通道220与存储装置215通信。数据通道220可以是光纤通道、小 型计算机系统接口 ( "SCSI")通道等。控制器115可管理对本领域普通技术人员已知的存储装置215的格式 化、对巻IIO的逻辑分区的分配以及例如擦除之类的维护操作。例如,第 一主控制器115a可从一个或多个存储装置215的一个或多个逻辑分区组织 图1的主巻110。同样,第二*控制器115d可从一个或多个存储装置215 的一个或多个逻辑分区組织图1的a巻112。图2b是示出根据本发明的另 一扩展数据处理系统250的一个实施例的 示意性框图。系统250包括图l和图2a的单元,同样的标号表示同样的单 元。此外,系统250增加了多个存储设备205、主存储子系统130和4^ 存储子系统135。为了简单,将不描述在主存储子系统130和^#存储子系统135内部 的单元,但是这些单元等同于在图2a的主存储子系统130和*存储子系 统135内部的单元。虽然示出了 3个主存储子系统130、 3个存储设备205和2个*存储子系统135,但是可采用任意数目的主存储子系统130、存 储设备205和#存储子系统135。可以跨一个或多个存^f^i殳备205将记录集从主存储子系统130复制或 镜像到M存储子系统135。例如,可以跨第一、第二和第三存储设备205a-c 将第一主存储子系统130a的主巻110中存储的记录集镜像到第二4^存储 子系统135b。同样,可以跨第二存^i殳备205b将第三主存储子系统130c 的主巻110中存储的记录集镜像到第一*存储子系统135a。图3是示出本发明的数据巻300的一个实施例的示意性框图。巻300 的描述引用图1和图2的单元,同样的标号表示同样的单元。将主巻110 描述为包含主记录集320。主记录集320可以是由一个或多个主机105存 储在主巻110上的数据。在一个实施例中,主记录集包括一个或多个记录。 每一个记录可以是数据字、包含一个或多个数据字的数据块等。例如,每 一个记录可以是具有相邻地址的五百一十二 (512)个数据字。将备除巻112描述为包含基本记录集305、日志310和快速记录集315。 基本记录集305可以是在特定时间情况下主记录集320的每一个记录的全 部镜像。例如,可将主记录集320的每一个记录复制到基本记录集305的 对应记录。此外,主记录集320和基本记录集305可共享寻址方案,从而 对主记录集320的指定记录寻址的一部分地址也可以对基本记录集305的 指定记录的副本寻址。日志310 #:配置为累积记录更改。在一个实施例中,日志310累积在 将主记录集320镜像到基本记录集305之后发生的记录更改。每一个记录 更改描述了对主记录集320的记录的更改。例如,如果向记录写入数据, 则记录更 文描述了数据的写入,从而可使用该描述来重复写入操作。在一 个实施例中,记录更改包括记录的地址和向记录写入的数据。快速记录集315表示主记录集320的实例。在一个实施例中,快速记 录集315是主记录集320的临时实例,例如在指定时间的主记录集320的 副本。在另一实施例中,快速记录集315是主记录集320的逻辑实例,例 如主记录集320的所有未破坏的记录。可将主记录集320直接复制到快速记录集315。本发明的实施例还支持从基本记录集305和日志310创建快 速记录集315,这允许将快速记录集315配置为主记录集320的任意临时 或逻辑实例。如果主记录集320丢失或净皮破坏,则本发明的实施例还从基本记录集 305和日志310恢复主记录集320的实例作为恢复后的记录集325。在所描 述的实施例中,将恢复后的记录集325存储在代替巻114。例如,如果主 巻110出现故障,并且主巻110包括第一和第二存储装置215a和215b, 则第一主控制器115可以从第三和第四存储装置215c、 215d的多个逻辑分 区创建代替巻114。控制器115 (例如第一a控制器115b)可以从基本 记录集305和日志310将主记录集320的实例恢复到恢复后的记录集325。图4是示出本发明的持续保护装置400的一个实施例的示例性框图。 装置400的描述引用图l-3的单元,同样的标号表示同样的单元。装置400 包括镜像模块405、日志模块410、更改选择模块415、更改应用模块420、 状态数据集模块425、控制数据集模块430和快速复制模块435。在一个实施例中,在一个或多个控制器115上执行的一个或多个软件 处理包括镜#^莫块405、日志模块410、更改选择模块415、更改应用模 块420、状态数据集模块425、控制数据集模块430和快速复制模块435。 在另 一实施例中,主机105或存储设备205可执行包括以下模块的软件处 理,即镜#^莫块405、日志模块410、更改选择模块415、更改应用模块 420、状态数据集模块425、控制数据集模块430和快速复制模块435。镜像4莫块405将主记录集320镜像到基本记录集305。基本记录集305 等同于在镜^f象主记录集320时存在的主记录集320的实例。镜傳^莫块405 可通过将主记录集320的每一个记录复制到基本记录集305来镜像主记录 集320。或者,镜^^莫块405可通过从日志310将更改记录应用到基本记 录集305的第 一 实例来将主记录集320镜像到基本记录集305的第二实例。曰志;漠块410累积对主记录集320的记录更改的日志310。在一个实 施例中,每一个记录更改包括一致性组(consistency group)。每个一致 性组可包括用以跟踪向记录写入、向日志310写入更新和表示记录更改完成的写入完成的数据。在一个实施例中,日志模块410累积包含对主记录 集320的每一个记录更改的按时间排序的一致性组,作为日志310。更改选择模块415从日志310选择记录更改。在一个实施例中,用户 指示记录更改的选择。用户可选择在指定恢复时间之前发生的记录更改。 此外,用户也可选择在指定恢复时间之后发生的记录更改。在一个实施例 中,用户可选择和取消选择记录更改。更改应用模块420将选择的记录更改应用到基本记录集305,以形成 恢复后的记录集325。例如,更改应用^t块420可通过如记录更改所记录 的数据写入那样重复对主记录集320的数据写入,来应用所选择的记录更 改,即通过基本记录集305来重复数据写入或对基本记录集305应用数据 写入。在一个实施例中,更改应用模块420将选择的记录更改应用到基本 记录集305的副本。例如,更改应用模块420可将基本记录集305复制到 恢复巻114,以及将选择的记录更改应用到基本记录集305的副本,以形 成恢复后的记录集325。基本记录集305和应用记录更改的实例包括恢复后的记录集325。恢 复后的记录集325等同于主记录集320的指定逻辑和/或临时实例。因此, 可将主记录集320的任意逻辑或临时实例恢复到恢复后的记录集325。在一个实施例中,状态数据集才莫块425将主记录集320的巻110或主 巻100映射到基本记录集305和日志310的巻110或务除巻112。例如, 状态数据集模块425可选择具有足够容量的备盼巻112,以支持主记录集 320。在一个实施例中,控制数据集模块430跟踪每一个记录更改的状态 (status)。在某一实施例中,控制数据集模块430跟踪通过每一个记录更 改所实现的 一致性组的状态。在一个实施例中,快速复制模块435从基本记录305和日志310创建 快速记录集315。例如,快速复制模块435可创建快速记录集315,作为在 指定时间的主记录集320的实例。快速复制模块435可将快速记录集315 复制到档案存储介质(例如磁带),以保存主记录集320的时间点副本。 装置400通过维护基本记录集305和日志310以及支持多个主记录集32016的实例的恢复,来持续保护数据。图5是示出本发明的控制器115的一个实施例的示意性框图。控制器 115的描述引用图1-4的单元,同样的标号表示同样的单元。控制器115 包括处理器模块505、存储器模块510、桥接器模块515、网络接口模块 520和存储接口才莫块525。此外,还描述了与控制器115通信的存储设备 205和存储装置215。处理器模块505、存储器模块510、桥接器模块515、网络接口模块520 和存储接口模块525可由一个或多个半导体衬底上的半导体栅极来制造。每一个半导体衬底可封装于在电路板上设置的一个或多个半导体器件中。 在处理器模块505、存储器模块510、桥接器模块515、网络接口模块520 和存储接口模块525之间的连接可经过半导体金属层、衬底与衬底的配线、 或连接半导体器件的电路板路线或布线。存储器模块510存储软件指令和数据。如本领域普通技术人员已知的, 处理器模块505执行软件指令并操作数据。处理器模块505通过桥接器模 块515与网络接口模块520和存储接口模块525通信。在一个实施例中,存储器模块510存储包括图4的镜像模块405、日 志模块410、更改选择模块415、更改应用模块420、状态数据集模块425、 控制数据集;f莫块430和快速复制;f莫块435的一个或多个软件处理,而处理 器模块505执行所述的一个或多个软件处理。例如,执行包括镜4^漢块405 的一个或多个软件处理的处理器模块505可经过存^i殳备205、网络接口 520和存储接口模块525将主记录集320镜像到存储装置215的备份巻112 , 以作为基本记录集305。同样,执行包括日志模块410的一个或多个软件 处理的处理器模块505可经过存储设备205将一个或多个记录更改复制到 存储装置215,以累积记录更改,作为驻留在存储装置215上的日志310。此外,执行包括更改选择模块415和更改应用模块420的一个或多个 软件处理的处理器模块505可经过存储接口模块525从日志310选择记录 更改,以及经过存储接口模块525将选择的记录更改应用到驻留在存储装 置215的基本记录集305。控制器115通过维护基本记录集305和日志310以及通过将记录更改从日志310应用到基本记录集,以形成恢复后的记录 集325,来支持持续的数据保护。通常作为逻辑流程图提出以下的示意性流程图。因此,所示顺序和标 记的步骤指示所提供方法的一个实施例。可以构想其他步骤和方法,它们 在功能、逻辑或效果上与所示方法的一个或多个步骤或其各部分等效。另 外,提供所使用的格式和符号以说明所述方法的逻辑步骤,并且应理解它 们并非限制所述方法的范围。尽管可以在流程图中使用不同的箭头类型和 线条类型,但是应理解,它们并非限制相应方法的范围。实际上,某些箭 头或其他连接器可用来仅指示所述方法的逻辑流。例如,箭头可以指示所 述方法的列出步骤之间的未指定持续时间的等待或监视周期。另外,发生 特定方法的顺序可以或可以不严格地依照所示的相应步骤的顺序。图6是示出本发明的持续保护方法600的一个实施例的示意性流程图。 方法600实质上包括用以执行上文中有关图1-4的所述系统100、 200、巻 300和装置400的操作的功能所必须的步骤。方法600的描述引用图1-5 的单元,同样的标号表示同样的单元。方法600开始,在一个实施例中,状态数据集模块425将主巻110映 射(605)到备份巻112。在另一实施例中,状态数据集模块425将多个主 巻110映射(605)到备份巻112。在某一实施例中,状态数据集模块425 具备份以描述主存储子系统130和*存储子系统135的数据。状态数据 集模块425可使用该数据将主巻110映射(605 )到*巻112。例如,状 态数据集模块425可以知道主巻110的容量是100千兆字节(100GB)。 在这种情形下,状态数据集模块425可将主巻110映射(605)到具有主巻 110a容量的百分之二百(200% )或200千兆字节(200GB)的备除巻112。镜像模块405将主巻110的主记录集320镜像(610 )到备份巻112 的基本记录集305。主记录集320可存储在一个或多个主巻110中。此外, 主巻110可位于一个或多个主存储子系统120中。在一个实施例中,镜像 模块405可通过将主记录集320的每一个记录复制到基本记录集305来镜 像(610)主记录集320。镜#^莫块405可作为定期调度的*操作的一部18分来镜像(610)主记录集320。或者,镜像才莫块405可以在由用户指示时 镜像(610)主记录集320。在某一实施例中,镜#^莫块405镜像(610) 多个主记录集320实例作为多个基本记录集305。
在一个实施例中,主机105更改(615)主记录集320的记录。主机 105可向记录写入数据以便更改记录。在某一实施例中,控制数据集模块 430跟踪(620)每一个记录更改的状态。在某一实施例中,控制数据集模 块430跟踪(620)由每一个记录更改实现的一致性组的状态。例如,控制 数据集模块430可跟踪(620)向记录的写入、将记录更改累积到日志310 和记录更改的完成。此外,控制数据集模块430可跟踪(620)所有记录更 改,直到每一个记录更改完成并累积到日志310中为止。在一个实施例中, 从时间服务器145对由控制数据集模块430跟踪(620 )的所有数据加盖时 间戳。
曰志模块410将对主记录集320的每一个记录更改累积(625 )到日志 310中。在一个实施例中,日志模块410累积(625)记录更改,作为按时 间排序的一致性组。例如,在日志310中首先累积(625 )用以记录到主记 录集320的第一写入的第一一致性组,逻辑上在第一一致性组之后,累积 (625 )用以记录到主记录集320的第二写入的第二一致性组。
在一个实施例中,日志模块410从多个主巻110累积(625)记录更改。 此外,日志模块410可跨多个存^&备205累积(625)更改记录。例如, 曰志模块410可累积(625 )对在图2b的第一主存储子系统130a中存储的 主巻110以及在图2b的第二和第三主存储子系统130b-c中存储的主巻110 中实现的主记录集320的记录更改,其中日志;溪块410从跨图2b的第一、 第二和第三存储i免备205a-c的主巻110累积(625 )记录更改。
在一个实施例中,日志模块410判定(630)是否终止持续保护。日志 模块410可响应于来自用户的指示来判定(630 )是否终止持续保护。或者, 曰志模块410可才艮据主记录集320的参数来判定(630 )是否终止持续保护。 如果不终止持续保护,则方法600循环,并且主机105更改(615 )记录。 如果日志模块410判定(630)终止持续保护,则方法600终止。方法600通过维护基本记录集305和日志310来持续保护主记录集320的数据。
图7是示出本发明的恢复方法700的一个实施例的示意性流程图。方 法700实质上包括用以执行上文中有关图1-4的所述系统100、 200、巻300 和装置400的操作的功能所必须的步骤。方法700的描述引用图1-5的单 元,同样的标号表示同样的单元。
方法700开始,在一个实施例中,更改选择模块415选择(705 )恢复 实例。恢复实例表示主记录集320的逻辑和临时实例。例如,恢复实例可 指定在指定时间的主记录集320的实例或临时实例。
此外,恢复实例可指定从主记录集320的临时实例忽略一个或多个记 录更改或通过主记录集320的临时实例包括一个或多个记录更改。例如, 恢复实例可指定从2008年7月31日午夜开始的主记录集320的临时实例, 且从所述临时实例忽略从指定第一主机105a提交的每一个记录更改。在一 个实施例中,用户通过更改选择模块415指示恢复实例的选择(705)。在 另 一实施例中,例如操作系统或软件应用的软件处理通过更改选择模块 415指示恢复实例的选择(705)。
在一个实施例中,更改选择模块415选择(710)基本记录集305。更 改选择模块415可选择(710 )基本记录集305作为唯一的基本记录集305。 或者,更改选择才莫块415可以从多个基本记录集305选择(710 )基本记录 集305的实例。更改选择模块415可响应于恢复实例而选择(710 )基本记 录集305。例如,更改选择才莫块415可选择(710)在由恢复实例指定的时 间之前最先创建的基本记录集305。
更改选择模块415从日志310选择(715 )记录更改。在一个实施例中, 更改选择才莫块415响应于恢复实例而选择(715 )记录更改。例如,如果恢 复实例指定在l: 04 p.m.东部夏令时间("EDT")的主记录集320的实 例,则更改选择模块415可以选择(715)从创建选择的基本记录集305 直到1: 04p.m.EDT为止累积的每一个记录更改。
在一个实施例中, 一致性组实现记录更改。 一致性组可包括用于记录 更改的数据时间戳。时间服务器14可提供时间戳数据,从而所有单元使用一致的时间。更改选择模块415可通过将数据时间戳与恢复实例相比较来 选择(715)记录更改。因此,如果在以上实例中在12: OOp.m.EDT创建 选择的基本记录集305,并且第一记录更改包括12: 15 p.m. EDT的数据 时间戳,则更改选择模块415将选择(715)第一记录更改。
更改应用模块420将选择的记录更改应用(720 )到选择的基本记录集 305,以形成恢复后的记录集325,并且方法700终止。在一个实施例中, 更改应用模块420通过将记录更改应用到基本记录集305来重复对主记录 集320的原始记录更改。此外,更改应用模块420可将多个记录更改应用 (720)到选择的基本记录集305,以形成恢复后的记录集325。在某一实 施例中,更改应用模块420将选择的记录更改应用(720)到基本记录集 305的副本。
在一个实施例中,更改应用模块420保存(725 )恢复后的记录集325。 更改应用模块420可将恢复后的记录集保存(725)到代替巻114。或者, 更改应用模块420可将恢复后的记录集保存(725)到备除巻112或主巻 110。
通过将一个或多个选择的记录更改应用到基本记录集305,方法700 可形成主记录集320的^f壬意实例,以作为恢复^己录集325。例如,方法700 可形成主记录集320的每一个临时实例。方法700还可通过选择性地忽略 或包括一个或多个记录更改来形成主记录集320的每一个临时实例的多个 逻辑实例。此外,方法700可重复传统的时间点备盼或事件调度备除,其 中时间点务盼是主记录集320的实例。更改应用模块420还可创建以特定 应用(例如规定档案复制、异地档案复制以及与商业伙伴或其它第三方实 体共享的复制)为目标的多个恢复记录集325。
图8是示出本发明的选择修改方法800的一个实施例的示意性流程图。 方法800实质上包括用以执行上文中有关图1-4的所述系统100、 200、巻 300和装置400的操作的功能所必须的步骤。方法800的描述引用图1-5 的单元,同样的标号表示同样的单元。
方法800开始,在一个实施例中,更改选择^f莫块415向用户呈现(805)记录更改。更改选择模块415可进一步呈现(805 )多个记录更改。在某一 实施例中,更改选择模块415通过主机105向用户呈现(805 )记录更改。 例如,主机105可以是与更改选择模块415通信的计算机工作站。
更改选择模块415可呈现(805 )聚合在一个或多个组中的一个或多个 记录更改。例如,更改选择模块415可按时间、按更改的源、按数据库中 的数据列、按更改类型等来聚合数据更改。此外,更改选择模块415可呈 现(805)分层次聚合的更改。例如,记录更改可首先按更改的源来分类, 然后按更改的时间分类。
在一个实施例中,更改选择模块415标记(810 )每一个选择的记录更 改。可以如图7的步骤715所述来选择所选择的记录更改。在另一实施例 中,更改选择才莫块415标记(810)每一个未选择的记录更改。主机105 可显示所标记的和未标记的记录更改。
在某一实施例中,更改选择模块415从主机105接收(815 )用户修改。 用户修改可指示记录更改的选择或未选择状态。例如,用户修改可指示记 录更改被选择或未被选择。或者,用户修改可指定记录更改的已更改状态。 因此,如果记录更改4皮选择,并且更改选择模块415接收指定了已更改状 态的用户修改,则用户修改指示记录更改未被选择。
在一个实施例中,更改选择模块415响应于用户修改而更新(820)记 录更改选择,并且方法800终止。方法800允许用户选择用于恢复到恢复 后的记录集325的主记录集320的不同临时和逻辑实例,包括主记录集320 的每一个临时实例和来自主记录集320的每一个临时实例的多个导出结 果。
图9是示出本发明的快速务除方法900的一个实施例的示意性流程图。 方法卯O实质上包括用以执行上文中有关图1-4的所述系统100、 200、巻 300和装置400的操作的功能所必须的步骤。方法900的描述引用图1-5 的单元,同样的标号表示同样的单元。
方法卯O开始,在一个实施例中,快速复制模块435指示更改选择模 块415以选择(905 )快速实例。快速实例表示主记录集230的逻辑和临时
22实例。例如,快速实例可指定主记录集230的临时实例。
在一个实施例中,快速复制模块435指示更改选择模块415,以选择 (910 )基本记录集305。更改选择模块415可选择(910)基本记录集305 作为唯一的基本记录集305。或者,更改选择模块415可从多个基本记录 集305选择(910 )基本记录集305的实例。更改选择模块415可响应于快 速实例而选择(910 )基本记录集305。例如,更改选择模块415可选择(910 ) 在由快速实例指定的时间之前最先创建的基本记录集305。
在一个实施例中,快速复制模块435指示更改选择模块415,以从日 志310选择(915 )记录更改。更改选择模块415可响应于快速实例而选择 (915)记录更改。例如,如果快速实例指定12: 01 a.m. EDT的主记录集 320的实例,则更改选择才莫块415可选择(915)从创建选择的基本记录集 305直到12: 01 a.m. EDT为止累积的每一个记录更改。
在一个实施例中,快速复制模块435指示更改应用模块420,以将所 选择的记录更改应用(920)到所选择的基本记录集305,以形成快速记录 集315,并且方法900终止。在一个实施例中,更改应用模块420对于基 本记录集305重复对主记录集320的原始记录更改。此外,更改应用模块 420可将多个记录更改应用(920)到选择的基本记录集305,以形成快速 记录集315。在某一实施例中,更改应用模块420将选择的记录更改应用 (920 )到基本记录集305的副本。
在一个实施例中,快速复制模块435保存(925 )快速记录集315,并 且方法卯O终止。例如,快速复制模块435可将快速记录集315复制到档 案存储介质(例如磁带),以保存主记录集320的时间点副本。方法900 保存主记录集320的实例,以作为快速记录集315。
图10是示出本发明的基本记录集/日志初始化方法1000的一个实施例 的示意性流程图。方法1000实质上包括用以执行上文中有关图1-4的所述 系统IOO、 200、巻300和装置400的操作的功能所必须的步骤。方法700 的描述引用图l-5的单元,同样的标号表示同样的单元。
方法1000开始,在一个实施例中,快速复制模块435将基本记录集320的第一实例存档(1005 )。快速复制才莫块435可通过将基本记录集320 的第一实例复制到档案存储介质(例如磁带)来将基本记录集320的第一 实例存档(1005)。此外,快速复制模块435可将日志310存档(1010)。 例如,快速复制模块435也可以将日志310复制到磁带。
在一个实施例中,如图6的步骤610所述,镜像模块405将主记录集 320镜像(1015 )到基本记录集305的第二实例。此外。日志模块410清 除(1020 )日志310,从而日志310不包含记录更改,并且方法1000终止。 方法1000初始化基本记录集320和日志310。
本发明的实施例将主记录集320镜像(610 )到基本记录集305,并且 将对主记录集320的每一个记录更改累积(625 )到日志310中。此外,本 发明的实施例从日志310选择(715 )记录更改,并将所选择的记录更改应 用(720)到基本记录集320,以形成恢复后的记录集325,其中恢复后的 记录集325是包含无破坏数据的实例的主记录集320的期望实例。
可以在不脱离本发明的精神或实质特征的情况下以其它具体形式实现 本发明。所描述的实施例可被认为,在所有方面都仅是示例性的,而不是 限制性的。因此,本发明的范围将由所附权利要求指定,而并非由以上说 明指定。
权利要求
1.一种持续保护数据的装置,该装置包括镜像模块,配置为将主记录集镜像到基本记录集;日志模块,配置为累积对所述主记录集的记录更改的日志,其中每一个记录更改包括一致性组;更改选择模块,配置为选择记录更改;和更改应用模块,配置为将所选择的记录更改应用到所述基本记录集,以形成恢复后的记录集。
2. 根据权利要求1的装置,其中所述一致性组包括从一个公共时 钟源加盖时间戳的数据,该数据用于跟踪写入、写入更新和所述记录更改 的写入完成。
3. 根据权利要求2的装置,其中跨多个主M储所述主记录集,并 且所述日志模块还配置为,从跨所述多个主巻的所述主记录集来累积记录 更改的日志。
4. 根据权利要求3的装置,所述日志模块还配置为,跨多个存储设 备累积所述记录更改。
5. 根据权利要求1的装置,还包括控制数据集模块,配置为跟踪 所述记录更改的状态。
6. 根据权利要求1的装置,还包括状态数据集模块,配置为将包 含所述主记录集的巻映射到包含所述基本记录集和所述日志的巻。
7. 根据权利要求1的装置,还包括快速复制模块,配置为将所述 记录更改应用到所述基本记录集,以形成快速记录集。
8. —种持续保护数据的计算机程序产品,所述计算机程序产品当加 栽到计算机中时使得计算机执行以下步骤将主记录集镜像到基本记录集;累积对所述主记录集的记录更改的日志,其中每一个记录更改包括一 致性组,并且其中在备份巻中累积所述日志;选择记录更改;和将所选择的记录更改应用到所述基本记录集,以形成恢复后的记录集。
9. 根据权利要求8的计算机程序产品,其中所述记录更改来自附加 到至少 一个存储子系统的至少 一个主巻。
10. 根据权利要求9的计算机程序产品,其中所述指令还包括将所 述至少 一个主巻映射到所述务盼巻的操作。
11. 根据权利要求8的计算机程序产品,其中所述一致性组包括从 一个公共时钟源加盖时间戳的数据,该数据用于跟踪写入、写入更新和所 述记录更改的写入完成。
12. 根据权利要求11的计算机程序产品,其中在多个主巻中存储所 述主记录集,并且从所述多个主巻累积记录更改的日志。
13. 根据权利要求12的计算机程序产品,其中跨多个存储设备累积 记录更改的日 /志o
14. 根据权利要求8的计算机程序产品,其中所述指令还包括跟踪 所述记录更改的状态的操作。
15. 根据权利要求8的计算机程序产品,其中所述指令还包括选择 在指定恢复实例之前的时间发生的记录更改的操作。
16. 根据权利要求8的计算机程序产品,其中所述指令还包括选择 在指定恢复实例之后的时间发生的记录更改的操作。
17. 根据权利要求8的计算机程序产品,其中所述指令还包括用户 选择和取消选择所述记录更改的操作。
18. 根据权利要求8的计算机程序产品,其中所述指令还包括将所 述记录更改应用到所述基本记录集以形成快速记录集的操作。
19. 根据权利要求18的计算机程序产品,其中所述快速记录集包括 在从指定时间点和指定事件选择的指定终止符之前应用于所述基本记录集 的一个或多个记录更改。
20. 根据权利要求19的计算机程序产品,其中所述快速记录集存储 在不同的存储子系统上。
21. —种持续保护数据的系统,该系统包括 主巻,用于存储主记录集;主控制器,配置为管理所述主巻;备份巻,用于存储基本记录集和曰志;*控制器,配置为管理所述备盼巻,并且包括镜^^莫块,配置为将所述主记录集镜像到所述基本记录集;日志才莫块,配置为将对所述主记录集的记录更改累积到所述日志中,其中每一个记录更改配置为一致性组,所述一致性组包括从一个公共时钟源加盖时间戳的数据,该数据用于跟踪写入、写入更新和 所述记录更改的写入完成;更改选择才莫块,配置为选择记录更改;和更改应用模块,配置为将所选择的记录更改应用到所述基本记录 集,以形成恢复后的记录集。
22. 根据权利要求21的系统,还包括多个主巻和多个存^i殳备, 其中所述主记录集存储在所述多个主巻中,并且所述日志模块还配置为, 跨所述多个主巻以及跨所述多个存储设备从所述主记录集来累积记录更改 的曰志。
23. 根据权利要求21的系统,还包括控制数据集模块,配置为跟 踪所述记录更改的状态。
24. 根据权利要求21的系统,还包括状态数据集模块,配置为将 所述主巻映射到所述##巻。
25. 根据权利要求21的系统,还包括快速复制模块,配置为将所 述记录更改应用到所述基本记录集,以形成快速记录集。
26. —种用于部署计算机J^出设施的方法,包括将计算机可读代码 集成到计算系统中,其中与所述计算系统结合的所述代码能执行以下步骤将跨多个主巻存储的主记录集镜像到基本记录集; 跨所述多个主巻以及跨多个存储设备来累积对所述主记录集的记录更 改的日志,其中每一个记录更改配置为一致性组,所述一致性组包括从一个公共时钟源加盖时间戳的数据,该数据用于跟踪写入、写入更新和所述记录更改的写入完成; 选择记录更改;和将所选择的记录更改应用到所述基本记录集,以形成恢复后的记录集。
27. 根据权利要求26的方法,其中用户能够选择和取消选择所述记 录更改。
28. 根据权利要求26的方法,还包括选择在指定恢复时间之后的 记录更改。
29. —种持续保护数据的装置,该装置包括 用于将主巻映射到务盼巻的装置;用于将所述主巻的主记录集镜像到所述务除巻的基本记录集的装置;用于累积对所述主记录集的记录更改的日志的装置,其中所述日志存 储在所述备盼巻中,并且每一个记录更改配置为一致性组,所述一致性组 包括从一个公共时钟源加盖时间戳的数据,该数据用于跟踪写入、写入 更新和所述记录更改的写入完成;用于跟踪每一个记录更改的状态的装置;用于选择记录更改的装置;和将所选择的记录更改应用到所述基本记录集以形成恢复后的记录集的装置。
30. 根据权利要求29的装置,还包括用于将多个主巻映射到所述备 份巻的装置,其中跨所述多个主巻存储所述主记录集;和用于跨所述多个 主巻以及跨多个存储设备累积对所述主记录集的记录更改的日志的装置。
全文摘要
公开了一种持续保护数据的装置、系统和方法。镜像模块将主记录集镜像到基本记录集。日志模块将对所述主记录集的每一个记录更改累积到日志中。更改选择模块从所述日志选择记录更改。更改应用模块将所选择的记录更改应用到所述基本记录集,以形成恢复后的记录集。
文档编号G06F11/14GK101326496SQ200680046103
公开日2008年12月17日 申请日期2006年11月21日 优先权日2005年12月7日
发明者D·M·沙克尔福德, G·E·麦克布赖德, J·T·小弗林, K·W·博伊德, R·F·科恩, W·F·米奇卡 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1