记录备份信息的方法和装置制造方法

文档序号:6486564阅读:164来源:国知局
记录备份信息的方法和装置制造方法
【专利摘要】本发明提供一种记录备份信息的方法和装置,所述方法包括:响应于数据集的备份操作,获取备份操作中已备份数据项的信息;在数据集的备份信息的数据项列表中包含所述已备份数据项,并确定出数据项列表中与已备份数据项对应的数据项;在备份信息中添加与备份操作对应的状态列表,使得在该列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。所述装置与上述方法对应。利用本发明实施例的方法和装置,能够对数据集备份过程中的备份信息进行记录,清楚示出数据集中的各个数据项在每次备份操作中的备份状态,为数据项的查询提供便利。
【专利说明】记录备份信息的方法和装置
【技术领域】
[0001]本发明涉及数据库中应用数据的备份和查询,更具体而言,涉及记录备份信息的 方法和装置。
【背景技术】
[0002]随着信息技术的快速发展,需要存储和处理的数据量越来越庞大。许多应用的数 据量可能达到几百G甚至更多。一般地,应用数据集往往包括许多个数据项,并具有一个索 引文件,该索引文件会记录数据集中各个数据项的信息。这些数据项信息可以包括:数据项 的创建时间,大小,存储位置等等。在应用数据集较为庞大的情况下,该索引文件的大小往 往也在IG以上。
[0003]另一方面,出于安全性的要求,往往需要将各种数据进行备份,以防止数据丢失的 风险。为完成数据备份,典型地,借助于备份工具将应用数据集备份到具有大容量存储空间 的服务器中。这样的备份可以定期规律地执行,也可以根据用户的设定来执行。在数据备 份过程中,备份工具将应用数据集连同其索引文件作为一个数据包一同备份到服务器中, 服务器将这样的数据包存储为一项元数据。对于每个这样的元数据,服务器会为其创建一 个描述文件,其中记录该元数据的创建时间、大小、存储位置等等。由此,服务器可以根据备 份时间记录各个备份版本的应用数据集的基本信息。基于上述基本信息,用户可以根据备 份时间查询并恢复特定版本的应用数据集。
[0004]然而,在许多情况下,用户仅仅想要查询应用数据集中特定的数据项。由于上述备 份和查询机制无法提供特定数据项的查询,而用户通常也无法确定地知道想要查询的数据 项的创建时间或备份时间,因此用户往往只能针对各个版本的数据集进行查询。具体地,用 户需要从服务器中恢复每个版本的数据集的索引文件,根据索引文件的内容获取数据项的 信息,基于这些信息找到想要查询的数据项。然而,在许多情况下,数据集的备份被设定为 以很短的周期规律地执行,尤其是在增量备份(incremental backup)的情况下,备份周期 经常是在半个小时甚至更短。这就产生了大量不同版本的数据集及其索引文件。如前所述, 在数据集较大的情况下,索引文件的大小经常也在IG以上。因此,从服务器恢复每个版本 的索引文件将花费大量的时间。并且,在恢复索引文件之后,仍然需要用户自己一一分析各 个索引文件才能找到想要查询的数据项。无疑,上述查询过程消耗用户大量的时间和精力。
[0005]因此,希望能有一种方案,能够改善数据项的备份和查询。

【发明内容】

[0006]鉴于以上提出的问题,提出本发明,旨在提供一种方案,能够对数据集备份过程中 的备份信息进行记录,以示出数据项的备份状态。
[0007]根据本发明一个实施例,提供一种记录备份信息的方法,包括:响应于数据集的备 份操作,获取所述备份操作中已备份数据项的信息;在数据集的备份信息的数据项列表中 包含所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;在所述备份信息中添加与所述备份操作对应的状态列表,使得在所述状态列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。
[0008]根据本发明另一实施例,提供一种记录备份信息的装置,包括:信息获取单元,配置为响应于数据集的备份操作,获取所述备份操作中已备份数据项的信息;数据项列表操作单元,配置为在数据集的备份信息的数据项列表中包含所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;状态列表操作单元,配置为在所述备份信息中添加与所述备份操作对应的状态列表,使得在所述状态列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。
[0009]利用本发明实施例的方法和装置,能够对数据集备份过程中的备份信息进行记录,从而示出数据集中的各个数据项在每次备份操作中的备份状态。上述备份信息的记录能够为数据项的查询提供极大的便利。
【专利附图】

【附图说明】
[0010]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0011]图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图;[0012]图2示出根据本发明一个实施例的记录备份信息的方法的流程图;[0013]图3不出根据一个实施例与首次备份对应的备份信息;[0014]图4示出根据一个实施例的步骤22的具体执行方式;[0015]图5示出扩增备份信息的例子;[0016]图6示出根据一个实施例的步骤22的子步骤;[0017]图7示出根据另一实施例的步骤22的子步骤;[0018]图8示出根据一个实施例的已备份数据项和备份信息;以及 [0019]图9示出根据一个实施例的记录备份信息的装置的示意框图。
【具体实施方式】
[0020]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0021]图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1 所示,计算机系统100可以包括:CPU (中央处理单元)10URAM (随机存取存储器)102,ROM (只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备 113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、R0M103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110 与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围 的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
[0022]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括 固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模 块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质 中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0023]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计 算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限 于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储 器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、 或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0024]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但 不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0025]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限 于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0026]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机 程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++, 还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以 完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部 分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在 涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或 广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提 供商来通过因特网连接)。
[0027]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或 框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方 框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专 用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指 令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中 规定的功能/操作的装置。
[0028]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置 以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一 个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
[0029]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备 上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计 算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图 和/或框图中的方框中规定的功能/操作的过程。
[0030]下面结合附图描述本发明的各个实施例。在这些实施例中,通过记录数据集备份 过程中的备份信息来改善数据的备份和查询。上述备份信息旨在记录数据集中的各个数据 项在每一次备份中的备份状态。基于这样的备份信息,便可以获知各个数据项在每个备份 版本中的状态,从而为数据项的快速查询提供可能。
[0031]现在参看图2,其示出根据本发明一个实施例的记录备份信息的方法的流程图。 如图2所示,本实施例的记录备份信息的方法包括:步骤20,响应于数据集的备份操作,获 取该备份操作中已备份数据项的信息;步骤22,在数据集的备份信息的数据项列表中包含 所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;以及步骤 24,在所述备份信息中添加与所述备份操作对应的状态列表,使得在所述状态列表中,所述 数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。下面结合具体例子描 述以上步骤的具体执行方式。
[0032]首先,在步骤20,响应于数据集的备份操作,获取在数据集的该备份操作中得到备 份的已备份数据项的相关信息。可以理解,该步骤由数据集的备份操作而触发。在一个实 施例中,数据集由备份工具根据预先的设定来进行备份,其中所述预先的设定例如是预定 的备份频率(例如,每隔一个小时进行一次备份),预定的备份事件(例如,每当更新了特定 数目的文件时进行一次备份),等等。在进行备份时,备份工具通常从数据集本地向服务器 发送备份请求并从服务器接收确认消息,此后才开始备份数据的传输。在一个实施例中,通 过检测这样的备份请求或者确认消息就可以检测到备份操作的执行,由此触发步骤20的 执行。除此之外,备份工具也可以根据用户的手动选择进行备份。此时,还可以通过检测用 户的选择输入来检测备份操作的执行,从而触发步骤20。
[0033]在步骤20中,一旦检测到数据集的备份操作,就获取与数据集中已备份数据项对 应的信息。已备份数据项的信息可以包含,在本次备份中进行了备份的各个数据项的名称、 其标识信息以及其他补充信息。在一个实施例中,可以通过扫描或检查备份的数据集来获 取上述已备份数据项信息。可以理解,数据集的索引文件往往也包含了与数据集中的当前 数据项有关的信息,因此可以作为获取已备份数据项信息的基础。在一个实施例中,可以直 接将上述备份操作中数据集的索引文件作为已备份数据项的信息。或者,在另一实施例中, 可以分析上述索引文件,基于从中提取出的所需信息来形成上述已备份数据项信息。
[0034]基于步骤20中获取的已备份数据项的信息,就可以执行接下来的对备份信息进 行记录的步骤。也就是,在步骤22,在数据集的备份信息的数据项列表包括所述已备份数据 项,并确定出所述数据项列表中与已备份数据项对应的数据项;以及步骤24,在备份信息 中添加与上述备份操作对应的状态列表,使得其中,数据项列表中与已备份数据项对应的 数据项具有已备份的状态标记。
[0035]以上的步骤22和步骤24在上述备份操作为数据集的首次备份操作的情况下具有 较为简单的执行方式。相应地,在一个实施例中,上述方法可以包括首先判断本次备份操作是否为数据集的首次备份操作的步骤。在一个例子中,该步骤通过设置一个备份计数器来 实现。每当检测到数据集的备份操作,该计数器的计数就增加I。由此,备份计数器的计数 不仅可以提供备份操作是否为首次备份的判断,还可以为之后的每次备份操作提供备份标 识,也就是可以用备份计数器的计数来表示和区分数据集不同的备份操作。另一方面,由于 备份信息的记录是响应于数据集的备份操作而进行的,因此,在本次备份操作是数据集的 首次备份的情况下,并不存在已有的备份信息,或者说备份信息为空。因此,也可以通过扫 描判断已有备份信息的状态来判断本次备份操作是否为首次备份操作。此外,本领域技术 人员还可以想到其他的判断方式,在此不进行一一举例。
[0036]如前所述,如果备份操作为数据集的首次备份操作,那么不存在已有备份信息,也 不存在已有的数据项列表。相应地,步骤22实际上等同于基于首次备份操作的已备份数据 项创建数据项列表,使得数据项列表包含首次备份的已备份数据项。这由此也创建了备份 信息。在一个实施例中,可以直接用已备份数据项构成备份信息中的数据项列表。由于此 时的数据项列表仅包含首次备份的已备份数据项,因此数据项列表中的数据项与已备份数 据项是一一对应的。因此,可以将数据项列表中的全部数据项确定为与已备份数据项对应 的数据项。
[0037]接着,在步骤24,为以上创建的备份信息添加与备份操作对应的状态列表。该列表 旨在指示出,数据项列表中的各个数据项在备份操作中是否进行了备份。对于进行了备份 的数据项,在状态列表中为其添加已备份的状态标记;对于未进行备份的数据项,在状态列 表中为其添加表不未备份的状态标记。
[0038]对于首次备份来说,步骤22中创建的数据项列表仅仅包含已备份数据项,也就是 在数据集的本次备份操作中进行了备份的数据项。因此,在步骤24中,在与本次备份操作 对应的状态列表中为数据项列表中的全部数据项添加已备份的状态标记。
[0039]图3示出根据一个实施例与首次备份操作对应的备份信息。图3左侧的示意表30 示出响应于数据集的首次备份操作而获取的已备份数据项的信息。通过示意表30可以看 到,在数据集的首次备份中,数据项IO到数据项15得到了备份。为了记录与该首次备份相 关的信息,生成右侧的备份信息31。备份信息31包含创建的数据项列表32和添加的状态 列表33。数据项列表32根据已备份数据项而创建,因此包含了本次备份操作的所有已备份 数据项,即数据项IO到数据项15。由于这些数据项都是本次备份操作中进行了备份的数据 项,因此,在与本次备份操作对应的状态列表33中,为数据项列表32中的所有数据项添加 了已备份的状态标识I。
[0040]可以理解,在图3的实施例中,将“I”作为已备份的状态标记。相应地,可以将“0” 作为未备份的状态标记。然而,状态标记的采用不限于此。在另一实施例中,将“T”(true) 作为已备份的状态标记,将“F”(false)作为未备份的状态标记。在另一实施例中,将“ V ” 作为已备份的状态标记,将“ X ”作为未备份的状态标记。本领域技术人员还可以采用各种 不同的状态标记,只要其能够示出已备份或者未备份两种不同备份状态。
[0041]在图3的例子中,与本次备份操作对应的状态列表33还包含了本次备份操作的标 识(备份I)。该标识基于如前所述的备份计数器。然而,可以理解,也可以采用其他的备份 标识,例如备份时间等。
[0042]在图3的例子中,已备份数据项和数据项列表仅仅包含数据项的名称。但是,在其他实施例中,根据需要,可以在已备份数据项和数据项列表包含更多与数据项的属性相关 的信息。在一个实施例中,还可以采用除名称之外的标识信息来标记各个数据项。
[0043]图3所示是与首次备份相对应的备份信息。该备份信息的记录较为简单。然而,在 首次备份操作之后,就存在了已有的备份信息。对于数据集后续的每次备份操作,就需要在 已有的备份信息的基础上进行扩增,针对每次备份操作添加新的状态列表。并且,为使得数 据项列表包含每次备份操作的已备份数据项,需要在必要时在数据项列表中增加新的数据 项。此时,数据项列表与已备份数据项不再一一对应,因此还需要确定出数据项列表中与已 备份数据项对应的数据项,为这些数据项添加已备份状态标记。通过不断扩增备份信息,使 得该备份信息能够记录各个数据项在每次备份操作中的备份状态。以下结合具体例子描述 在备份操作不是首次备份的情况下,用备份操作相关信息扩增备份信息的方法,也就是图2 的步骤22和24的具体执行。
[0044]图4示出根据一个实施例的步骤22的具体执行方式。如图4所示,在步骤221中, 将步骤20中获取的一个已备份数据项Ai与已有的备份信息中的数据项列表中的数据项Bj 进行对比。对于首次对比来说,j=0。接着,在步骤222中,判断两者是否对应。所述判断可 以基于数据项的名称或其他标识信息。如果两者对应,那么方法前进至步骤225,确定数据 项列表中的Bj为与Ai对应的数据项。如果步骤222的判断结果是不对应,那么前进至步 骤223,继续判断j是否等于数据项列表中的数据项数目n,也就是判断Bj是否为数据项列 表中的最后一个数据项。如果Bj不是最后一个数据项,那么在步骤224中将j增加1,也就 是前进至数据项列表中的下一数据项,然后回到步骤221将Ai与新的Bj进行对比。如果 Bj是数据项列表中的最后数据项,那就意味着,整个数据项列表中不存在与Ai对应的数据 项,或者说,已备份数据项Ai是本次备份操作新添加的数据项。这时,前进至步骤226,在 数据项列表中添加与Ai对应的数据项Bn+1,并且在步骤227中,确定数据项列表中的Bn+1 为与Ai对应的数据项。通过以上步骤,可以使得数据项列表包含已备份数据项Ai,并且可 以在数据项列表中确定出与Ai对应的数据项。
[0045]在针对已备份数据项Ai执行以上步骤之后,可以使得i增加1,也就是前进至下一 已备份数据项,类似地对其执行上述步骤。通过针对每个已备份数据项执行上述过程,可以 使得数据项列表包含所有已备份数据项,并且能够在数据项列表中确定出与已备份数据项 对应的数据项。
[0046]另一方面,在步骤24中,在备份信息中添加与本次备份操作对应的状态列表。在 该状态列表中,为已经确定出的数据项列表中与已备份数据项Ai对应的数据项(Bj或 Bn+1)添加已备份的状态标识。
[0047]在一个例子中,针对每一已备份数据项Ai执行图4的步骤之后,就执行步骤24,为 相应的数据项添加状态标识。或者,可以首先针对所有已备份数据项依次执行图4的步骤, 并且标记出数据项列表中对应的数据项。然后在步骤24中为这些标记出的数据项添加已 备份的状态标识。
[0048]图5示出扩增备份信息的例子。图5左侧的A表格示意性示出某次备份操作k(非 首次备份)中的已备份数据项。中间的B图示出现有的备份信息。可以看到,现有的备份 信息包含有数据项列表以及与备份操作I到备份操作k-1对应的状态列表。数据项列表中 包含了数据项IO到数据项19,状态列表中以状态标记(I或0)示出各个数据项在之前的备份操作I到备份操作k_l中的备份状态。为了在该现有备份信息的基础上记录本次备份操作k的相关信息,根据图4的方法,将各个已备份数据项与数据项列表进行对比。例如,对于第一个已备份数据项13,通过对比可以确定出数据项列表中的第四个数据项13与之对应。因此,在添加的与备份操作k对应的状态列表中,为数据项列表中的第四个数据项添加已备份的状态标识I。对于第二个已备份数据项110,通过遍历数据项列表可以确定出数据项列表中不存在与之对应的数据项。那么,在数据项列表中添加该新的数据项110,并且在与备份操作k对应的状态列表中为该数据项IlO添加已备份的状态标识I。通过对已备份数据项中的每一数据项执行上述过程,可以得到右侧C图所示的扩增的备份信息。在该备份信息中,数据项列表包含了本次备份操作的已备份数据项,并且数据项列表中与已备份数据项对应的数据项在与本次备份操作对应的状态列表中被添加了已备份的状态标识。
[0049]图4的方法通过多次遍历数据项列表来执行步骤22。为了进一步提高计算速度, 在另一种实施方式中,将已备份数据项和数据项列表都进行排序,依照次序将已备份数据项和数据项列表进行对比,从而减小对比的次数,提高效率。
[0050]具体地,在一个实施例中,步骤20中获取的已备份数据项的信息包括已备份数据项的创建时间。并且,在步骤20中,按照创建时间从早到晚的顺序排列已备份数据项。相应地,响应于数据集的备份而创建和维持数据项列表时,也使得数据项列表中的数据项按照创建时间的顺序进行排列。这为后续已备份数据项和数据项列表的对比提供了极大的便利。为了一般性的描述,假定本次备份操作中按照创建时间进行排序的已备份数据项为A0, Al…Am,对应的创建时间分别为T0,Tl,? ? ? Tm,并且T0〈T1〈…〈Tm。对应地,现有备份信息中的数据项列表包含B0,BI,…Bn,对应的创建时间为t0, tl,…tn,且t0〈tl〈…<tn。针对以上的已备份数据项Ai和数据项列表Bj,可以执行如下图6-7所示的方法,从而将已备份数据项映射到数据项列表中,也就是执行图2的步骤22。
[0051]具体地,图6示出根据一个实施例的步骤22的子步骤。在图6的方法中,在步骤 6221,首先将已备份数据项中最后一个数据项Tm设为当前比较的数据项,也就是使得i=m。 在步骤6222,比较已备份数据项Ai的创建时间Ti与数据项列表中最后一个数据项Bn的创建时间tn。如果Ti>tn,也就是数据项Ai的创建时间晚于数据项列表中最新的数据项,那么就说明,已备份数据项Ai是本次备份中新添加的数据项。因此,在步骤6223 JfAi放入新添加数据项集合。接着,在步骤6224,使得i=i_l,也就是将当前比较的已备份数据项设定为Am-1。然后回到步骤6222进行创建时间的比较。直到对于特定的i=i0,步骤6222的判断结果为否,本次对比结束。此时,新添加数据项集合包括数据项Am,Am-l,一AiO+l。通过图6的上述步骤,从末端向上将已备份数据项与数据项列表的最后一条数据项进行创建时间的比对,从而快速找出已备份数据项中新添加的数据项。将这些新添加的数据项按照创建时间先后顺序添加到数据项列表的末端,这样,数据项列表便包含所有已备份数据项。 并且,添加到数据项列表末端的这些数据项必然都是与已备份数据项对应的数据项,因此可以在步骤24中为其添加已备份的状态标识。
`[0052]图6的方法对于快速确定新添加的已备份数据项非常有利。在另一种实施方式中,从已备份数据项的顶端开始对比,从而记录备份信息,如图7所示。具体地,图7示出根据一个实施例的步骤22的子步骤。如图7所示,首先在步骤7220,将对比的起点设置在已备份数据项的顶端Ai=AO和数据项列表的第一条数据项Bj=B0。接着,在步骤7221,比较已备份数据项Ai的创建时间Ti与数据项列表中的数据项Bj的创建时间tj。由于不同数据项 必然具有不同的创建时间,因此通过创建时间可以唯一地识别出一个数据项。如果Ti=tj, 那就意味着,已备份数据项Ai与数据项列表中的数据项Bj是相同的数据项。因此,在步骤 7222中,响应于Ti=tj的判断结果,将Bj确定为与Ai对应的数据项。接着,在步骤7223, 判断j是否等于数据项列表中的数据项数目n,也就是判断是否已经进行到数据项列表的 最后一个记录。如果j=n,则结束本次对比。如果j〈n,那么在步骤7224中,将i和j都增 加1,然后返回到步骤7221,对下一已备份数据项和数据项列表中的下一条目进行判断。
[0053]如果在步骤7221中,Ti与tj并不相等,则前进至步骤7225,认为数据项列表中的 数据项Bj在本次备份操作中没有得到备份。为了使得已备份数据项Ai在数据项列表找到 对应数据项,就需要依次判断数据项列表中的下一条目。具体地,在步骤7226中,判断j是 否等于n。如果不相等,则前进至步骤7227,使得j增加1,然后回到步骤7221,使得上述Ai 与数据项列表中的下一条目进行对比,直到找到对应的Bj,或者j=n。因此,在图8的方法 中,对于任一已备份数据项Ai,存在两种结果。一种是如步骤7222所示,在数据项列表中找 到对应的数据项,这时,该已备份数据项是数据项列表中已经包含的数据项。另一种是对于 某个i=i0,直到j=n对比结束,也没有找到对应的数据项。那么,就可以认定,从i=i0开始 的已备份数据项都是新添加的数据项。
[0054]根据图7的方法,步骤7222可以确定出数据项列表中与已备份数据项对应的数据 项,步骤7225可以确定数据项列表已经包括、但在本次备份中没有进行备份的数据项(也 就是,数据项列表中不与已备份数据项对应的数据项)。对于无法通过图7的方法在数据项 列表中找到对应数据项的已备份数据项,可以将其认定为新添加的数据项。
[0055]根据图7对数据项列表中不同性质的数据项的区分,在步骤24中,可以容易地为 与已备份数据项对应的数据项添加已备份的状态标识。
[0056]下面结合具体的例子描述以上方法的执行过程。
[0057]图8示出根据一个实施例的已备份数据项和备份信息。图8左侧的示意性表格A 示出某次备份操作中获得的已备份数据项的信息。该信息不仅包括已备份数据项的名称, 还包括各个数据项的创建时间。并且,各个数据项按照创建时间的先后顺序进行排列。图8 中间的B图示出现有备份信息。在该备份信息的数据项列表中,不仅记录了历次备份涉及 的数据项10-19,还记录了这些数据项的创建时间。并且,类似地,这些数据项也按照创建时 间的先后顺序进行排列。
[0058]对于图8A所示的已备份数据项和图SB所示的数据项列表,可以通过图6的方法, 快速找到新添加的数据项。具体地,从图8A的已备份数据项底端开始与数据项列表的最后 一个条目19进行创建时间的比较。由于112,111,IlO的创建时间均晚于19,因此可以容 易地得出,110-112为新添加的数据项。
[0059]此外,也可以对以上数据项列表和已备份数据项执行图7的方法。根据该方法,分 别从已备份数据项和数据项列表的顶端从上而下开始进行创建时间的比对。通过对比可以 发现,第一个已备份数据项(即10)与数据项列表的第一条目相匹配,即AO=BO,第二个已备 份数据项与数据项列表的第二条目相匹配,即A1=B1。在继续比较A2和B2时可以发现,两 者不匹配,因此认为B2(即12)在本次备份过程中没有进行备份。于是沿着数据项列表向下 移动,继续判断A2和B3,A2和B4,直到获得匹配的B4。在A2与B4 (数据项14)匹配后,使得已备份数据项和数据项列表同时向下移动,判断A3与B5,直到移动到数据项列表末端。
[0060]通过图6和图7的方法,识别出新添加的已备份数据项,并将其添加到数据项列表 中。由此,数据项列表包含本次备份操作的已备份数据项。并且,上述方法还在数据项列表 中确定出与已备份数据项对应的数据项。通过在与本次备份操作对应的状态列表中为这些 数据项添加已备份的状态标识,可以获得图8C所示的针对本次备份操作扩增的备份信息。
[0061]以上结合图6和图7的方法描述了图SC的备份信息的记录过程。但是,图6和图 7也可以进行组合或修改。例如,在一个例子中,可以首先对获取的已备份数据项和数据项 列表执行图6的方法,以快速获取新添加的数据项,然后按照图7的方法从上到下进行比对 以判断其他数据项。在另一例子中,可以基于图6的步骤,继续执行从末端到顶端的对比。 对比的思路与图7类似,也就是,在排除新添加的数据项之后的已备份数据项中,对于末端 第一个已备份数据项Ai,从数据项列表末端Bn开始比对,如果二者匹配,则已备份数据项 和数据项列表同时向上移一个条目,继续比对;如果二者不匹配,则认为Bn在本次备份操 作中没有备份,继续对比Ai和Bn-1。在另一例子中,可以首先执行图7的方法,对于剩下的 已备份数据项继续执行图6的方法。因此,图6和图7的方法只是示例性示出,在已备份数 据项和数据项列表都按照创建时间进行排序的情况下,通过一次遍历来确定两者的对应关 系的思想。在这样的思想的指导下,可以对图6和图7进行多种扩展、修改和组合,从而获 得各种变体。这样的变体都应涵盖在本发明的发明构思之内。
[0062]此外,图6和图7的方法都是针对按照创建时间从先到后的顺序进行排列的已备 份数据项和数据项列表。然而,在其他实施例中,这些数据项也可以反向排列,也就是将创 建时间最早的数据项置于末端。在其他实施例中,也可以根据数据项的其他属性对已备份 数据项和数据项列表进行排序,只要该属性能够唯一标识出数据项,并且具有排序所需的 单调性。
[0063]可以理解,通过响应于每次备份操作而记录与该次备份有关的信息,可以不断扩 增备份信息,使其清楚示出各个数据项在每次备份操作中的备份状态,如图5C,图SC所示。 在图5C,图SC示例性示出的备份信息中,仅记录了每次备份操作的标识(备份1,备份2,等 等)。在其他实施例中,还可以在备份信息中示出每次备份的类型,例如全备份、增量备份、 差异备份等,从而使得备份信息更加全面而清楚。在一个实施例中,与添加有已备份的状态 标识的数据项相对比地,可以为数据项列表中的其他数据项添加未备份的状态标识O。并 且,对于新添加的数据项,还可以在与本次备份操作之前的每次备份操作对应的状态列表 中为其添加未备份的状态标识(如图5C所示的110)。或者,在一个实施例中,仅仅为备份的 数据项添加已备份状态标识,并将其他不具有已备份状态标识的数据项理解为未备份的数 据项。
[0064]在一个实施例中,上述备份信息可以记录和存储在数据集本地。在另一实施例中, 上述备份信息的记录和存储可以在服务端进行。或者,在数据集本地或服务端一方记录了 备份信息之后,可以将这样的备份信息提供给另一方。并且,备份信息可以以多种格式记录 和存储,例如以表格的形式、索引的形式等。
[0065]由于以上获得的备份信息能够清楚地示出每个数据项在历次备份操作中的备份 状态,因此对于数据项的查询非常有利。在一个实施例中,图2的方法还包括提供记录的备 份信息用于数据项的查询。利用如此提供的备份信息,可以快速查询并获取到与数据项的备份有关的信息,例如,特定数据项在某次备份中是否进行了备份,特定数据项在整个备份 过程中进行了几次修改(由增量备份或差异备份指示),特定数据项何时进行了最后一次备 份,等等。因此,上述备份信息的记录和提供可以为备份过程中数据项的查询提供便利,从 而提高查询效率。
[0066]基于同一发明构思,本发明还提供了记录备份信息的装置。图9示出根据一个实 施例的记录备份信息的装置的示意框图。如图9所示,该装置整体表示为90。具体地,装置 90包括:信息获取单元91,配置为,响应于数据集的备份操作,获取所述备份操作中已备份 数据项的信息;数据项列表操作单元92,配置为在数据集的备份信息的数据项列表中包含 所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;状态列表 操作单元93,配置为在所述备份信息中添加与所述备份操作对应的状态列表,使得在所述 状态列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。
[0067]以上各单元的具体执行方式可以参照以上结合具体例子对方法步骤的描述,在此 不再赘述。
[0068]在一个实施例中,装置90可以集成到现有的备份或查询工具中作为其功能的增 强。在另一实施例中,装置90可以作为独立的装置,将记录的备份信息提供给用户或者其 他工具。
[0069]利用以上所述的方法和装置,能够对数据集备份过程中的备份信息进行记录,从 而示出数据集中的各个数据项在每次备份操作中的备份状态。上述备份信息的记录和提供 为数据项的查询提供了极大便利。
[0070]可以理解,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法 和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个 方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一 个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中, 方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实 际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也 要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可 以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算 机指令的组合来实现。
[0071]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也 不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技 术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨 在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领 域的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种记录备份信息的方法,包括:响应于数据集的备份操作,获取所述备份操作中已备份数据项的信息;在数据集的备份信息的数据项列表中包含所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;在所述备份信息中添加与所述备份操作对应的状态列表,使得在所述状态列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状态标记。
2.根据权利要求1的方法,其中所述已备份数据项的信息基于所述备份操作中数据集的索引文件而获得。
3.根据权利要求1的方法,其中所述备份操作为数据集的首次备份操作,所述包含已备份数据项包括,基于所述已备份数据项创建数据项列表,所述添加与备份操作对应的状态列表包括,在所述状态列表中为创建的数据项列表中的全部数据项添加已备份的状态标记。
4.根据权利要求1的方法,其中所述包含已备份数据项包括:将所述已备份数据项与所述数据项列表中的数据项进行逐一对比以确定其是否对响应于在所述数据项列表中不存在与特定已备份数据项对应的数据项,将该特定已备份数据项添加到所述数据项列表中。
5.根据权利要求1的方法,其中所述已备份数据项的信息包括已备份数据项的创建时间,并且所述已备份数据项按照创建时间的顺序进行排列,所述数据项列表中的数据项同样按照创建时间的顺序进行排列。
6.根据权利要求5的方法,其中所述包含已备份数据项包括:从创建时间最晚的已备份数据项开始,将已备份数据项与数据项列表末端的最后数据项进行创建时间的对比,将创建时间晚于所述最后数据项的已备份数据项添加到数据项列表中。`
7.根据权利要求5的方法,其中所述包含已备份数据项包括:从所述已备份数据项和数据项列表的顶端开始,从上到下地对比已备份数据项和数据项列表中的数据项的创建时间,将数据项列表中与特定已备份数据项创建时间相等的数据项确定为与该特定已备份数据项对应的数据项。
8.根据权利要求5的方法,其中所述包含已备份数据项包括:从所述已备份数据项和数据项列表的末端开始,从下向上地对比已备份数据项和数据项列表中的数据项的创建时间,将数据项列表中与特定已备份数据项创建时间相等的数据项确定为与该特定已备份数据项对应的数据项。
9.根据权利要求1的方法,其中所述添加与备份操作对应的状态列表还包括,在与所述备份操作对应的状态列表中,为数据项列表中不与已备份数据项对应的数据项添加未备份的状态标记,所述方法还包括,在与所述备份操作之前的备份操作对应的状态列表中,为数据项列表中新添加的数据项添加未备份的状态标记。
10.根据权利要求1的方法,还包括:提供所述备份信息用于数据项的查询。
11.一种记录备份信息的装置,包括:信息获取单元,配置为响应于数据集的备份操作,获取所述备份操作中已备份数据项的信息;数据项列表操作单元,配置为在数据集的备份信息的数据项列表中包含所述已备份数据项,并确定出所述数据项列表中与已备份数据项对应的数据项;状态列表操作单元,配置为在所述备份信息中添加与所述备份操作对应的状态列表, 使得在所述状态列表中,所述数据项列表中与已备份数据项对应的数据项具有已备份的状柄T 己。
12.根据权利要求11的装置,其中所述信息获取单元配置为,基于所述备份操作中数据集的索引文件获得所述已备份数据项的信息。
13.根据权利要求11的装置,其中所述备份操作为数据集的首次备份操作,所述数据项列表操作单元配置为,基于所述已备份数据项创建数据项列表,所述状态列表操作单元配置为,在所述状态列表中为创建的数据项列表中的全部数据项添加已备份的状态标记。
14.根据权利要求11的装置,其中所述数据项列表操作单元配置为:将所述已备份数据项与所述数据项列表中的数据项进行逐一对比以确定其是否对响应于在所述数据项列表中不存在与特定已备份数据项对应的数据项,将该特定已备份数据项添加到所述数据项列表中。
15.根据权利要求11的装置,其中所述已备份数据项的信息包括已备份数据项的创建时间,并且所述已备份数据项按照创建时间的顺序进行排列,所述数据项列表中的数据项同样按照创建时间的顺序进行排列。
16.根据权利要求15的装置,其中所述数据项列表操作单元配置为:从创建时间最晚的已备份数据项开始,将已备份数据项与数据项列表末端的最后数据项进行创建时间的对比,将创建时间晚于所述最后数据项的已备份数据项添加到数据项列表中。
17.根据权利要求15的装置,其中所述数据项列表操作单元配置为:从所述已备份数据项和数据项列表的顶端开始,从上到下地对比已备份数据项和数据项列表中的数据项的创建时间,将数据项列表中与特定已备份数据项创建时间相等的数据项确定为与该特定已备份数据项对应的数据项。
18.根据权利要求15的装置,其中所述数据项列表操作单元配置为:从所述已备份数据项和数据项列表的末端开始,从下向上地对比已备份数据项和数据项列表中的数据项的创建时间,将数据项列表中与特定已备份数据项创建时间相等的数据项确定为与该特定已备份数据项对应的数据项。
19.根据权利要求11的装置,其中所述状态列表操作单元配置为,在与所述备份操作对应的状态列表中,为数据项列表中不与已备份数据项对应的数据项添加未备份的状态标记;在与所述备份操作之前的备份操作对应的状态列表中,为数据项列表中新添加的数据项添加未备份的状态标记。
20.根据权利要求11的装置,还包括提供单元,配置为提供所述备份信息用于数据项的查询。
【文档编号】G06F17/30GK103514064SQ201210219685
【公开日】2014年1月15日 申请日期:2012年6月28日 优先权日:2012年6月28日
【发明者】李雅洁, 李玉猛, 陈超, 秦炜 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1