用于数据备份的装置和方法

文档序号:6574439阅读:250来源:国知局
专利名称:用于数据备份的装置和方法
技术领域
本发明涉及用于将记录媒体中记录的数据备份到另一记录媒体的装置等。特别地,其涉及标识在需要备份的数据中实际应该备份哪部分数据并且接着备份所标识部分的数据的装置等。
背景技术
在诸如磁盘之类的记录媒体上记录的数据由于故障等原因被破坏的情况下,需要大量的工作来恢复数据。避免这种问题的一般惯例是在非工作时间中的某个时间执行备份作业,并且因此将重要数据复制(备份)到诸如磁带之类的记录媒体(备份媒体)。这样,即使数据万一被破坏,也可以通过使用复制到备份媒体的数据来恢复被破坏的数据。
迄今为止,已经提出了多种方法作为这样的备份方法。
其中的第一方法是差别备份。差别备份允许备份在短时间内结束。具体地,在每个备份作业中,在需要备份的数据中,自上一次的备份作业之后已经发生改变的无论哪部分数据都被提取,并且接着被复制到诸如磁带之类的记录媒体。更加具体地,差别备份被执行为下述过程1)在第一备份作业中,创建需要备份的所有数据的备份(完整备份)。
2)在第二和后续的备份作业中,当前的数据与上一次备份作业时的数据之间的差异被提取,并且接着创建差别备份。此处,可以通过使用文件时间戳、数据的版本号等等来提取差异。版本号由文件系统或者由盘设备进行管理,其方式为将版本号中的每一个分配给每个文件块。
然而,在通过使用这种方法创建备份的情况下,数据的恢复需要繁重的工作量。这是因为其必须首先恢复在第一备份作业中创建的完整备份,并且接着顺序地恢复在第二和后续备份作业中创建的差别备份。另外,在这种方法中,需要恢复的各备份数据片分散在大量的存储媒体上。相应地,存在由于任何媒体的丢失或损坏而导致可能不能恢复数据的风险。
降低必需工作量和风险的一般惯例是利用这样的方法(第二方法),其中每隔若干次备份作业创建一次完整备份。例如,每星期创建一次完整备份,并且在其他的日子里创建差别备份。
然而,作为第三种方法,存在一种方法,其中每个都通过使用级别规定的差别备份被组合,如在UNIX(商标)中使用“dump”命令的情况那样。在该方法中,差异级别之一(例如每月备份、每星期备份和每日备份)被分配给每个备份,并且根据分配的级别执行每个备份。在每个备份中,使用级别来控制实际应该被备份的数据中的差异的提取。例如,在每星期备份的情况下,自上一次每星期备份或每月备份之后已经发生改变的无论哪部分数据都被提取,而不管在每日备份中是否已经创建了该部分的备份。接着,将该部分复制到备份媒体。
在该方法中,数据的恢复如下。首先,通过使用每月备份将数据恢复到最近一个月的状态。此后,通过使用每周备份来恢复与上述状态中不同的数据片,并且接着通过使用每日备份最终以在每日基础上的精度恢复数据片。
使用不同精度的备份的组合的该方法可以略微减少恢复所需的备份媒体的数目。
此外,作为第四方法,涉及备份调度的各种技术已经是总所周知的(参见,例如,日本专利申请公开待审No.2002-297427和日本专利申请公开待审No.2005-149285)。
其中,日本专利申请公开待审No.2002-297427描述了一种方法,其中根据需要备份的数据的重要性并且根据保存数据的存储设备的可靠性来创建和/或编辑用于备份的调度表,并且其中遵从用于备份的调度表中记录的调度来执行备份过程。
另一方面,日本专利申请公开待审N0.2005-149285描述了一种方法,其中通过使用备份周期或最低限度量的累积数据片作为参数来控制备份定时,使得越重要的数据被备份得越频繁,而越不重要的数据被备份得越不频繁。

发明内容
在近些年,随社会情况发生改变,商业运行每天24小时每周7天。因此,期望即使在周末期间也避免花费不必要的时间来执行备份。
然而,首先第三种方法不能提供满意的解决方案以满足这种社会需求。这是因为这些方法中的任意一种需要执行完整备份的一个日子。换言之,在执行差别备份的日子中备份可以在短时间内结束,但是在执行完整备份的日子中花费很长的时间来执行备份。目前,进行完整备份所需的时间变成了设计备份系统时的瓶颈。
为了克服这种情况,需要消除执行需要超长时间来执行的备份(诸如完整备份)的日子。还需要尽可能地对每日备份之间的备份所需的时间进行平均。然而,到现在为止,没有任何已知的满足这种需求的有效的解决方案。此外,在专利文档1和2中描述的第四种方法的情况下,也没有提供任何满足上述需求的方法,尽管其没有明确指出存在执行完整备份的日子。这是因为这些文档没有公开用于对每日备份之间的备份所需的时间进行平均的配置。
为了解决上述技术问题,作出了本发明。本发明的目的是减少每个备份所需的时间,并且对备份与备份之间的备份时间进行平均,同时将进行恢复所需的媒体的数目保持在预定数目内。
为了实现上述目的,根据本发明,对备份数据片给出了终止(expiration)时期。接着,对已经备份但是不再有效的数据片以及自上一次备份作业之后已经更新的数据片执行备份。在这种方式中,每个数据片的备份确实在作为终止时期的时期组期间的任何一个日子中被创建。此外,数据片的备份被创建,其分布到作为终止时期的时期组内的日子中。
例如,在终止时期被设为七天的情况下,所有的数据片的备份被安全地存储,其分布在最近的七天中的备份媒体中。换言之,尽管在完整备份机制中在这七天中的一个日子会出现备份高峰,但是该备份高峰可以消除,并且可以将备份分布在七天中。实际上,在对所有的数据片随机执行写操作的情况下,期望对每日备份之间的备份的时间进行平均。
另外,在对数据片执行的写操作不是随机的而是规律性的情况下,例如甚至在存在几乎不执行写操作的数据片的情况下,可以利用下面的方法。具体地,其上的数据几乎不执行写操作的数据部分被预先分为若干个片,并且在第一次备份时分别在不同的日子备份这些分成的片。这使得能够从第二次备份开始分布针对这些分成的片的备份的日子。
执行这种备份方法的本发明的一种装置包括在执行备份作业的系统中,其用于将需要备份的数据的整体或者仅一部分复制到媒体。该装置具有下面的配置。具体地,该装置包括获得部件和确定部件。获得部件获得关于已经执行的备份作业的管理信息。确定部件根据管理信息来标识在预定时期内还没复制到媒体的数据部分。接着,确定部件确定应该将该部分复制到媒体。
另外,该装置还可以包括存储部件,其存储管理信息,该管理信息指示该数据部分与关于该部分已经被复制到媒体的备份作业的标识信息之间的对应关系。
此外,该装置还可以包括擦除部件,其响应于该数据部分的更新而擦除管理信息中对应于该部分的标识信息。接着,如果标识信息已经被擦除,则确定部件可以确定应该将该部分复制到媒体。
可以将本发明看作用于将数据备份到媒体的方法。在该情况下,本发明的方法包括以下步骤确定在上一次备份之后流逝的时期是否已经达到预定时期;并且在确定该流逝的时期达到预定时期的情况下将数据备份到媒体。
此外,可以将本发明看作一种程序产品,其使得计算机实现某些功能。在该情况下,本发明的程序产品被用在执行用于复制需要备份到媒体中的数据中的一部分或者所有的备份作业的系统中。接着,该程序产品使得构成该系统的计算机实现获得关于已经执行的备份作业的管理信息的功能。该程序产品还使得计算机实现下述功能根据管理信息标识在预定时期内还没复制到媒体的数据部分,并且接着确定应该将标识的部分复制到媒体。
根据本发明,能够减少每次备份所需的时间,并且对备份与备份之间的备份时间进行平均,同时将进行恢复所需的媒体的数目保持在预定数目内。


为了更完整地理解本发明及其优点,现在结合附图参考以下描述。
图1是用于解释本发明的实施例的概要的示图。
图2是用于解释本发明的实施例的概要的示图。
图3是用于解释本发明的实施例的概要的示图。
图4是示出本发明的第一实施例的系统的功能配置的框图。
图5是示出用在本发明的第一实施例中的管理信息的例子的示图。
图6是示出在本发明的第一实施例中用于确定实际应该备份哪个数据集合的操作的流程图。
图7是示出在本发明的第一实施例中用于在管理信息中反映数据集合的更新的操作的流程图。
图8是示出在本发明的第一实施例中用于恢复数据集合的操作的流程图。
图9是示出本发明的第二实施例的系统的功能配置的框图。
图10是示出用在本发明的第二实施例中的管理信息的例子的示图。
图11是示出在本发明的第二实施例中用于确定实际应该备份哪个数据集合的操作的流程图。
图12是示出在本发明的第二实施例中用于恢复数据集合的操作的流程图。
图13是用于解释本发明的实施例中的管理信息的转变的示图。
图14是示出本发明的实施例中的计算机的硬件配置的框图。
具体实施例方式
在下文中,将通过参考附图来详细描述用于执行本发明的最佳模式(以下称为实施例)。
图1到图3是用于解释本发明的实施例中的备份概要的示图。
在这些图中,图1示出了在14天中数据集合#1到#12中的每个的转换。此处,每个数据集合的生成通过使用不同程度的阴影线密度来表示(无论每个数据集合是否被重写都被表示)。更加精确地,如果白色的数据集合被更新,则将该数据集合表示为具有细阴影线区域的数据集合。接着,如果该数据集合再次被更新,则将该数据集合表示为具有粗阴影线区域的数据集合。再次,如果该数据集合又一次被更新,则将该数据集合表示为具有全黑区域的数据集合。例如,数据集合#1在第5天、第10天和第11天被重写,而数据集合#2在第1天和第6天被重写。数据集合#9、#11和#12在这14天中没有被重写。
注意,在该描述中,数据集合指任意一种数据单元,例如数据块或者文件,只要该数据单元是可被当作一个单元的某种数据的单元。
此处,图2示出了在使用描述为传统技术的方法的情况中实际备份每个数据的日子,在该方法中,完整备份每星期执行一次,而在其他的日子里执行差别备份。
在该方法中,如从图2可清楚看出的,在第0天、第7天和第14天备份所有的数据集合。在除这三天之外的每个其他日子里,仅备份在每天更新的一个或多个数据集合。例如,因为数据集合#1在第5天、第10天和第11天被重写,所以除了第0天、第7天和第14天之外在这些日子里也备份数据集合#1。类似地,因为数据集合#2在第1天和第6天被重写,所以除了第0天、第7天和第14天之外在这些日子里也备份数据集合#2。
另一方面,图3示出了在使用本实施例的方法的情况中实际备份每个数据集合的日子。此处,终止时期被设置为七天。
例如,因为数据集合#1在第5天、第10天和第11天被重写,所以在这些天备份数据集合#1。然而,不会因为终止时期结束而导致数据集合#1的备份。这是因为数据集合#1总是在七天内也就是在终止时期内被重写。
另外,因为数据集合#2在第1天和第6天被重写,所以在这些天备份数据集合#2。数据集合#2不会在其第6天的重写之后被重写,并且接着在从那开始过去了七天也就是终止时期之后被重写。因此,数据集合#2在终止时期结束时即第13天进行备份。
每个其他的数据集合也在每个数据集合被重写的日子里进行备份。另外,这些数据集合中的每一个也在从其上一次备份之后过去七天的情况下进行备份。例如,这些备份在第11天针对数据集合#3执行,在第9天针对数据集合#5执行,在第7天针对数据集合#8执行,在第7天和第14天针对数据集合#9执行,在第7天针对数据集合#10执行,在第7天和第14天针对数据集合#11执行,并且在第7天和第14天针对数据集合#12执行。
如从图2与图3之间的比较可以清楚看出的,该实施例不需要在第7天和第14天执行完整备份,在传统方法中在第7天和第14天中的每一天执行完整备份。简而言之,该实施例减少了每个每日备份所需的时间,并且对每日备份之间的备份时间进行了平均。
此后,将给出系统配置和操作的描述,其中通过使用该实施例的方法来备份数据。注意,作为系统的实施例,存在以下两种可能的实施例。在一实施例中,更新数据集合的功能和确定应该进行备份的数据集合的功能彼此交互,而在另一实施例中,这些功能彼此间不会交互。此次,给出的描述将前者称为第一实施例,而将后者称为第二实施例。
第一实施例图4是示出该实施例中的系统配置的框图。
如图4所示,该实施例的系统包括数据存储部件11、应用程序产品(此后称为AP)12、第一访问部件13、第二访问部件14和备份媒体15。
数据存储部件11是用于存储需要备份的数据的存储媒体,并且可以例如由磁盘设备构成。AP 12是使得特定过程被执行的程序产品,并且该特定过程包括更新存储在数据存储部件11中的数据的过程。根据来自AP 12的更新指令,第一访问部件13更新存储在数据存储部件11中的数据。另外,在备份的时候,第一访问部件13从数据存储部件11读取数据,并且将数据传输到第二访问部件14。在恢复的时候,第一访问部件13从第二访问部件14接收数据,并且将因此接收的数据写在数据存储部件11中。
另一方面,在备份的时候,第二访问部件14从第一访问部件13接收数据,并且将因此接收的数据写到备份媒体15。在恢复的时候,第二访问部件14从备份媒体15读取数据,并且将数据写到第一访问部件13。而且,备份媒体15是用于备份数据的记录媒体,并且例如磁带可以被用作备份媒体15。
注意,第一访问部件13和第二访问部件14联合在一起可以被看作“传输部件”,因为它们将数据从数据存储部件11传输到备份媒体15。
除此之外,该实施例具有确定在存储在数据存储部件11中的数据中实际应该备份哪部分数据的功能。特别地,在第一实施例中,该功能与第一访问部件13相关联。更加准确地,在该功能的实现中涉及信息存储部件16、获得部件17、确定部件18和更新部件19。
在它们之中,信息存储部件16存储用于确定实际应该备份哪部分数据的管理信息,并且例如磁盘设备可以用来形成该部件。另外,获得部件17从信息存储部件16获得管理信息,并且确定部件18根据该管理信息确定实际应该备份哪部分数据。而且,更新部件19根据需要更新管理信息。更新管理信息的操作包括擦除或重写备份作业的版本号的操作。当仅关注擦除操作时,可以将更新部件19看作“擦除部件”。
此处,将给出对存储在信息存储部件16中的管理信息的描述。
图5示出了管理信息,尽管仅从中提取了直接涉及本实施例的部分。换言之,管理信息包括文件系统的元数据、磁盘设备的块信息管理表等,并且在这种管理信息中,对应关系的管理如图5所示。更具体地,信息存储部件16在管理信息中记录每个数据集合的号码以及执行数据集合的上一次备份的备份执行的号码(此后,称作为版本号)。
注意,管理信息可以包括诸如终止时期E(将在后文对其进行描述)和上一次备份作业的版本号之类的信息。
下面将给出对在该实施例的系统中的操作的描述。附带地,在本实施例中,备份作业每天执行一次,如图3示出的例子的情况一样。换言之,在该情况下,终止时期等同于直到备份数据变为无效时备份作业执行的次数。
首先,将给出对确定在该系统中实际应该备份哪部分数据的操作的描述。
图6是示出在此期间的操作流的流程图。
一旦指示开始备份作业,则获得部件17获得版本号M(步骤S101)。此处,版本号是这样的值,每次执行备份作业,该值加一。优选地,版本号能够提供在系统的使用期间不能超出的值的范围。为此,优选地,当构建系统时可以将版本号设置为初始值(例如,零),并且将一个足够大的整数值设置为最大值。附带地,下面示出用于获得版本号的可能方法的例子。在该例子中,当上一次备份作业完成时,备份作业的版本号被存储在预定的存储区域,并且通过对存储在存储区域中的版本号加一而获得的值被用作当前备份作业的版本号。
另外,获得部件17获得用于备份数据的终止时期E,并且计算其中在执行当前备份作业时终止的数据已经被备份的备份作业的版本号N(步骤S102)。此处,终止时期E是当配置系统时作为配置信息的一部分通过来自用户的指令设置的值。而且,在版本号N的备份作业中备份的数据在执行当前备份作业(版本号M)时终止,当前备份作业是在版本号N的备份作业之后的第E个备份作业。因为这个原因,通过计算等式N=M-E可以得到版本号N。
注意,因为确定部件18使用该信息来确定是否备份每个数据集合,所以将该信息传输到确定部件18。
随后,执行确定过程以确定是否备份每个数据集合。接着,在确定要备份数据集合的情况下,执行复制过程,并且因此将数据集合复制到备份媒体15。
更加精确地,获得部件17从信息存储部件16获得已经执行所关注的数据集合的上一次备份的备份作业的版本号D(步骤S103)。版本号D被包括在所关注的数据集合的管理信息中。接着,获得部件17还将该信息传输到确定部件18。
响应于此,确定部件18确定在步骤S103中是否已经获得版本号D(步骤S104)。在该数据集合从没被备份过的情况下,版本号D不存在。而且,如稍后将描述的,对于自上一次备份作业之后已经更新的数据集合,版本号被擦除。因此,在步骤S104中,确定部件18确定所关注的数据集合是否对应于以上的任何一种情况。
作为结果,如果不能获得版本号D,则该数据集合对应于如上所述的该数据集合从没被备份过的情况和在上一次备份作业之后该数据集合已经更新的情况中的任何一种。因为这个原因,在该情况下应该备份该数据集合。因此,从数据存储部件11读取所关注的数据集合,并且将其复制到备份媒体15(步骤S106)。具体地,第一访问部件13从数据存储部件11读取所关注的数据集合,并且将读出的数据集合传输到第二访问部件14。接着,第二访问部件14将该数据集合写到备份媒体15。此时,更新部件19在存储在信息存储部件16中的管理信息中,用当前备份作业的版本号M盖写所存储的相应于所关注的数据集合的版本号(步骤S107)。
相反,如果可以获得版本号D,则确定版本号D是否等于或小于版本号N(步骤S105)。
此处,如果版本号D等于或小于版本号N,则由上一次备份获得的数据已经变得那么旧,以至于该数据应该被再次备份。因此,从数据存储部件11读取所关注的数据集合,并且将其复制到备份媒体15(步骤S106)。具体地,第一访问部件13从数据存储部件11读取所关注的数据集合,并且将读出的数据集合传输到第二访问部件14。接着,第二访问部件14将该数据集合写到备份媒体15。此时,更新部件19在存储在信息存储部件16中的管理信息中,用当前备份作业的版本号M盖写所存储的相应于所关注的数据集合的版本号(S107)。
另一方面,如果版本号D大于版本号N,则不执行对该数据集合的备份。接着,无论关于备份的必需性的确定结果为何,都确定是否存在下一个数据集合(步骤S108)。如果存在下一个数据集合,则该过程回到步骤S103。如果不存在,则该过程结束。
下一步,将给出对用于反映在该系统中的管理信息中的数据集合的更新的操作的描述。
图7是示出在此期间的操作流的流程图。
一旦第一访问部件13响应于来自AP 12的指令而更新存储在数据存储部件11中的某个数据集合,则该操作开始。
首先,更新部件19从第一访问部件13接收指定被更新数据集合的信息(步骤S111)。
接着,更新部件19在存储在信息存储部件16中的管理信息中擦除所存储的对应于所考虑的数据集合的版本号(步骤S112)。
最后,将给出对用于通过使用如上所述已经备份的数据集合进行恢复的操作的描述。
图8是示出在此期间的操作流的流程图。
首先,获得部件17获得对应于期望恢复的数据状态的日子的备份作业的版本号J(步骤S121)。例如,从上述的存储版本号的存储区域取出最近一次的版本号,并且该取出的版本号可以被用作版本号J。
接着,获得部件17获得用于备份数据的终止时期E,并且通过从版本号J减去终止时期E得到版本号(J-E)。接着,通知用户在从版本号(J-E)到版本号J的备份作业中使用的备份媒体15已准备好用于恢复(步骤S122)。
之后,作为初始值,将版本号(J-E)设置为索引L,其对备份媒体15的版本号进行计数(步骤S123)。接着,通过使用每个备份媒体15来执行恢复数据的过程。
具体地,第二访问部件14通过使用在版本号L的备份作业中已经备份的数据集合来恢复数据(步骤S124)。更加精确地,第二访问部件14从对应于索引L的备份媒体15读取数据集合,并且将读出的数据集合传输到第一访问部件13。接着,第一访问部件13将该数据集合写到数据存储部件11。
而且,更新部件19在存储在信息存储部件16中的管理信息中存储版本号L作为所恢复的数据集合的版本号(步骤S125)。
随后,对版本号L加一(步骤S126),并且接着确定所得的版本号L是否等于或小于版本号J(步骤S127)。
此处,如果版本号L等于或小于版本号J,则过程回到步骤S124。相反,如果版本号L大于版本号J,则该过程结束。
以这种方式,本发明的第一实施例中的操作结束。
在该实施例中,关于自上一次备份执行之后是否已经过了终止时期的确定基于备份作业执行的次数,并且版本号被用于确定备份作业执行的次数。然而,有可能使用除版本号之外的任何一种信息,只要该信息能够标识每个备份作业。替代于使用备份作业执行的次数,关于是否已经过了终止时期的确定可以仅基于关于日期的信息。
另外,该实施例采用了这样的方式,当更新数据集合时,擦除对应于该数据集合、并且存储在信息存储部件16中的版本号。然而,上述方式不一定是可以采用的唯一的方式。具体地,在另一种可能的方式中,可以将版本号改为通常不可能的版本号,以便指示数据集合的更新。注意,因为更新部件19此时改变了存储在信息存储部件16中的版本号,所以当仅关注该改变功能时可以将更新部件19看作“改变部件”。
此外,该实施例使用了以下方式进行确定。首先,将已经执行上一次备份的备份作业的版本号D与通过从当前备份作业的版本号M减去终止时期E获得的值N进行比较。接着,如果值D等于或小于值N,则确定执行备份。然而,用于确定的该方式只是一个示例,并且可以使用任何一种用于确定的方式。例如,在可以使用的一种方式中,存储对应于备份数据集合的终止时期E,并且在每次备份作业执行时从该终止时期减一。以这种方式,当终止时期变为零时,可以确定终止时期结束。
如上所述,在该实施例中,对备份数据给出了终止时期。接着,在每次备份作业中,不再有效的数据以及已经更新的数据被备份。利用这种配置,该实施例能够减少每次备份所需的时间并且对备份与备份之间的备份时间进行平均,同时将恢复所需的媒体的数目保持在预定数目内。
换言之,在作为传统技术描述的第一方法的情况下,在某种程度上,可以减少备份时间,并且对备份与备份之间的备份时间进行平均,但是该方法不能满足将备份媒体的数目保持在预定数目内的需求。另外,第二方法和第三方法都可以将备份媒体的数目减少到某种程度,但是它们不能满足在备份与备份之间对备份时间进行平均的需求。与这些传统方法相反,本实施例可以满足所有的这些需求。
此外,在本实施例中,响应于数据的更新,关于更新的信息被反映在管理信息中,该管理信息用于确定实际应该备份的数据。这导致实现了对将已经更新的数据确定为实际应该备份的数据的快速处理。
第二实施例图9是示出本实施例的系统配置的框图。
如图9所示,该实施例的系统包括数据存储部件11、AP 12、第一访问部件13、第二访问部件14和备份媒体15。附带地,因为该配置与第一实施例中描述的配置相同,所以在此省略对其的描述。
除了上述配置之外,该实施例具有确定在存储在数据存储部件11中的数据中实际应该备份哪部分数据的功能。特别地,在第二实施例中,该功能与第二访问部件14相关联。更加准确地,该功能涉及信息存储部件16、获得部件17、确定部件18和更新部件19。
在这些部件之中,信息存储部件16(例如可以由磁盘设备来形成)存储用于确定实际应该备份哪部分数据的管理信息。另外,获得部件17从信息存储部件16获得管理信息,并且确定部件18根据该管理信息确定实际应该备份哪片数据。而且,更新部件19根据需要更新管理信息。
此处,将给出对存储在信息存储部件16中的管理信息的描述。
图10示出了一部分管理信息。所提取的并且在图10中示出的部分是直接涉及本实施例的部分。换言之,管理信息包括文件系统的元数据、磁盘设备的块信息管理表等,并且在每种这样的管理信息中,对应关系的管理如图10所示。更具体地,信息存储部件16在管理信息中记录每个数据集合的号码。信息存储部件16还记录指示执行每个数据集合的上一次备份的备份执行的号码的备份执行的号码(此后,称作为版本号)。信息存储部件16还记录指示每个数据集合的上一次备份的日期和时间的时间戳。
注意,管理信息可以包括诸如终止时期E(将在后文对其进行描述)和上一次备份作业的版本号之类的信息。
下面将给出对在该实施例的系统中的操作的描述。附带地,同样在本实施例中,备份作业每天执行一次,如图3示出的例子的情况一样。换言之,在该情况下,终止时期等同于直到备份数据变为无效时备份作业执行的次数。
首先,将给出对确定在该系统中实际应该备份哪些数据的操作的描述。
图11是示出在此期间的操作流的流程图。
一旦指示开始备份作业,则获得部件17获得版本号M(步骤S131)。另外,获得部件17获得用于备份数据的终止时期E,并且计算其中在执行当前备份作业时终止的数据片已经被备份的备份作业的版本号N(步骤S132)。附带地,用于获得版本号M和版本号N的方法与第一实施例中的方法相同。
此外,在该实施例中,获得部件17获得指示需要通过第一访问部件13和第二访问部件14进行备份的更新数据的日期和时间的时间戳(步骤S133)。
注意,因为确定部件18使用该信息来确定是否备份每个数据集合,所以将该信息传输到确定部件18。
随后,执行确定过程以确定是否备份每个数据集合。接着,在确定要备份数据集合的情况下,执行复制过程,并且因此将数据集合复制到备份媒体15。
更加精确地,获得部件17从信息存储部件16获得包括在关于所关注的数据集合的管理信息中的版本号D(步骤S134)。在版本号D的备份作业中,已经执行了所关注的数据集合的上一次备份。获得部件17获得时间戳,其指示上一次备份的日期和时间,并且其被包括在上述的管理信息中。接着,获得部件17还将该信息传输到确定部件18。
通过使用该信息,确定部件18确定在步骤S133中获得的时间戳是否与在步骤S134中获得时间戳相同(步骤135)。在该数据集合从没被备份过的情况下,或者在上一次备份之后该数据集合已经更新的情况下,在步骤S133中获得的时间戳示出比在步骤S134中获得的时间戳稍后的日期和时间。那就是为什么在步骤S135中要确定两个时间戳是否相同。注意,当在确定数据集合是否已经更新时,在本实施例中该确定是基于时间戳的,而与第一实施例中的情况不同。这是因为本实施例中的配置不允许数据集合的更新被立即反映到信息存储部件16中,该数据集合的更新是通过第一访问部件13在数据存储部件11中执行的。
作为结果,如果数据集合的两个时间戳不相同,则该数据集合对应于如上所述的该数据集合从没被备份过的情况和在上一次备份作业之后该数据集合已经更新的情况中的任何一种。因为这个原因,在该情况下实际应该备份该数据集合。因此,从数据存储部件11读取所关注的数据集合,并且将其复制到备份媒体15(步骤S137)。具体地,第一访问部件13从数据存储部件11读取所关注的数据集合,并且将读出的数据集合传输到第二访问部件14。接着,第二访问部件14将该数据集合写到备份媒体15。此时,更新部件19在存储在信息存储部件16中的管理信息中,分别用当前备份作业的版本号M和时间戳盖写所存储的相应于所关注的数据集合的版本号和时间戳(步骤S138)。
相反,如果这些时间戳相同,则确定版本号D是否等于或小于版本号N(步骤S136)。
此处,如果版本号D等于或小于版本号N,则由上一次备份获得的数据已经变得那么旧,以至于该数据应该进行最新备份。因此,从数据存储部件11读取所关注的数据集合,并且将其复制到备份媒体15(步骤S137)。具体地,第一访问部件13从数据存储部件11读取所关注的数据集合,并且将读出的数据集合传输到第二访问部件14。接着,第二访问部件14将该数据集合写到备份媒体15。此时,更新部件19在存储在信息存储部件16中的管理信息中,分别用当前备份作业的版本号M和时间戳盖写所存储的相应于所关注的数据集合的版本号和时间戳(S138)。
另一方面,如果版本号D大于版本号N,则不执行对该数据集合的任何备份。接着,无论关于备份的必需性的确定结果为何,都确定是否存在下一个数据集合(步骤S139)。如果存在下一个数据集合,则该过程回到步骤S134。如果不存在,则该过程结束。
下一步,将给出对用于通过使用因此备份的数据集合进行恢复的操作的描述。
图12是在此期间的操作流的流程图。
首先,获得部件17获得对应于期望恢复的数据状态的日子的备份作业的版本号J(步骤S141)。接着,通知用户在从版本号(J-E)到版本号J的备份作业中使用的备份媒体15已准备好用于恢复(步骤S142)。注意,用于获得版本号J和版本号(J-E)的方法与第一实施例中的方法相同。
之后,作为初始值,将版本号(J-E)设置为索引L,其对备份媒体15的版本号进行计数(步骤S143)。接着,通过使用每个备份媒体15来执行恢复数据的过程。
换言之,第二访问部件14通过使用在版本号L的备份作业中已经备份的数据集合来恢复数据(步骤S144)。更加精确地,第二访问部件14从对应于索引L的备份媒体15读取数据集合,并且将读出的数据集合传输到第一访问部件13。接着,第一访问部件13将该数据集合写到数据存储部件11。
而且,更新部件19在存储在信息存储部件16中的管理信息中存储版本号L作为所恢复的数据集合的版本号,并且存储该恢复日期作为时间戳(步骤S145)。
随后,对版本号L加一(步骤S146),并且接着确定所得的版本号L是否等于或小于版本号J(步骤S147)。
此处,如果版本号L等于或小于版本号J,则该过程回到步骤S144。相反,如果版本号L大于版本号J,则该过程结束。
以这种方式,本发明的第二实施例中的操作结束。
在该实施例中,关于自上一次备份执行之后是否已经过了终止时期的确定基于备份作业执行的次数,并且关于执行次数的确定基于版本号。然而,有可能使用除版本号之外的任何一种信息,只要该信息能够标识每个备份作业。关于是否已经过了终止时期的确定可以仅基于关于日期的信息,以替代备份作业执行的次数。
而且,在该实施例中,以以下方式执行关于备份数据片的确定。首先,将已经执行上一次备份的备份作业的版本号D与通过从当前备份作业的版本号M减去终止时期E获得的值N进行比较。接着,如果值D等于或小于值N,则确定执行备份。然而,用于确定的该方式只是一个示例,并且可以用任何一种方式来代替。例如,存储对应于备份数据集合的终止时期E,并且在每次备份作业执行时从该终止时期减一。以这种方式,当终止时期变为零时,可以确定备份数据集合不再有效。
如上所述,在该实施例中,对每个备份数据片给出了终止时期。接着,在每次备份作业中,除了已经更新的数据片之外,不再有效的数据片也被备份。利用这种配置,该实施例能够减少每次备份所需的时间并且对备份与备份之间所需的时间进行平均,同时将恢复所需的媒体的数目保持在预定数目内。
换言之,在作为传统技术描述的第一方法的情况下,对于从第二备份作业开始的每个备份作业,在某种程度上,可以减少备份时间,并且可以在备份与备份之间对备份所需的时间进行平均。然而,通过该方法不能满足将备份媒体的数目保持在预定数目内的需求。同时,通过第二方法和第三方法可以将备份媒体的数目减少到某种程度。然而,通过以上两种方法不能满足对备份与备份之间的时间进行平均的需求。与这些传统方法相反,本实施例的方法可以满足所有的以上三种需求。
前文已经给出对本发明的第一和第二实施例的描述。接着,下文中,将给出具体的备份作业的执行在存储在信息存储部件16中的管理信息中改变每个数据集合号码与相应的版本号之间的对应关系的方式。
图13A到13D是示出在数据集合如图1所示进行更新的情况下数据集合#1到#12的数据集合号码与其各自的版本号之间的对应关系的转换的示图。在图13A到13D中,“DS-NO”表示数据集合号码,而“V-NO”表示版本号。而且,在此处,终止时期同样被设为7天。
首先,图13A示出了在第0天执行备份作业之前,即在初始状态下,数据集合号码与版本号之间的对应关系。如图13A所示,在初始状态,没有一个数据集合具有其自己的版本号。在该状态,因为在图6的步骤S104中对于所有的数据集合都确定是“否”,所以执行完整备份。接着,在图6的步骤S107中,为每个数据集合存储版本号0。注意,在图11中,通过比较时间戳来确定完整备份的执行,并且接着在图11示出的步骤S138中为每个数据集合存储版本号0。
图13B示出了在第6天执行备份作业之前,数据集合号码与版本号之间的对应关系。
数据集合#1、#3、#5和#7分别在第5天、第4天、第2天和第三天在备份作业中进行了更新,并且因此存储5、4、2和3作为各自的版本号。
数据集合#2、#4和#6在第6天进行了更新,并且因此擦除版本号。
数据集合#8到#12保持与在第0天的备份作业中备份的数据相同,并且因此版本号仍然是0。
当在该状态下在第6天执行备份作业时,在图6的步骤S104中针对数据集合#2、#4和#6中每一个的确定为“否”。因此,执行对这些数据集合的备份。接着,为这些数据集合中的每一个存储版本号6。注意,在图11中,通过比较时间戳来确定对数据集合#2、#4和#6的备份,并且接着在步骤S138中为这些数据集合中的每一个存储版本号6。
而且,在图6的步骤S105中或者在图11的步骤S136中针对所有数据集合的确定为“否”。这是因为用于得到N的计算结果是-1(N=M-E=6-7=-1),并且因此为所有各个数据集合存储的版本号大于该值-1。
另外,图13C示出了在第7天执行备份作业之前,数据集合号码与版本号之间的对应关系。
数据集合#1、#2和#3分别在第5天、第6天和第4天在备份作业中进行了备份,并且因此存储5、6和4作为各自的版本号。
数据集合#4在第7天进行了更新,并且因此版本号被擦除。
数据集合#5、#6和#7在第2天、第6天和第3天在备份作业中进行了备份,并且因此存储2、6和3作为各自的版本号。
数据集合#8到#12保持与在第0天的备份作业中备份的数据相同,并且因此版本号仍然是0。
当在该状态下在第7天执行备份作业时,在图6的步骤S104中针对数据集合#4的确定为“否”。因此,执行对数据集合#4的备份。接着,在图6的步骤S107中,为数据集合#4存储版本号7。注意,在图11的例子中,通过比较时间戳来确定是否备份数据集合#4,并且接着在图11的步骤S138中为数据集合#4存储版本号7。
而且,在图6的步骤S105中或者在图11的步骤S136中针对数据集合#8到#12的确定为“是”。这是因为用于得到N的计算结果是零(N=M-E=7-7=0),并且因此为数据集合#8到#12中的每一个存储的版本号等于或小于该值零。因此,备份数据集合#8到#12。接着,在图6的步骤S107或者图11的步骤S138中,为这些数据集合中的每一个存储版本号7。
此外,图13D示出了在第9天执行备份作业之前,数据集合号码与版本号之间的对应关系。
数据集合#1、#2、#3、#4、#5和#6分别在第5天、第6天、第4天、第8天、第2天和第6天在备份作业中进行了备份,并且因此存储5、6、4、8、2和6作为各自的版本号。
数据集合#7和#10在第9天进行了更新,并且因此版本号被擦除。所有的数据集合#8、#9、#11和#12在第7天的备份作业中进行了备份,并且因此存储7作为这些数据集合中的每一个的版本号。
当在该状态下在第9天执行备份作业时,在图6的步骤S104中针对数据集合#7和#10的确定为“否”,并且因此备份这些数据集合。接着,在图6的步骤S107中,为这些数据集合中的每一个存储版本号9。注意,在图11的例子中,通过比较时间戳来确定是否备份数据集合#7和#10,并且接着在图11的步骤S138中为这些数据集合中的每一个存储版本号9。
关于数据集合#5,在图6的步骤S105或者图11的步骤S136中,确定为“是”。这是因为用于得到N的计算结果是2(N=M-E=9-7=2),并且因此针对数据集合#5存储的版本号小于该值2。因此,备份数据集合#5。接着,在图6的步骤107中,或者在图11的步骤S138中,为数据集合#5存储版本号9。
最后,下面将给出用于每个实施例的系统的优选硬件配置的描述。
图14是示出这种计算机的硬件配置的一个例子的示意图。
图14示出的计算机包括作为计算装置的CPU(中央处理单元)10a。该计算机还包括经由M/B(主板)芯片组10b和CPU总线连接到CPU 10a的主存储器10c,以及类似地经由M/B芯片组10b和AGP(加速图形端口)连接到CPU 10a的视频卡10d。另外,该计算机还包括磁盘设备(HDD)10e和网络接口10g,这两者都经由PCI(外设组件互连)总线连接到M/B芯片组10b。而且,该计算机还包括软盘驱动器10h和键盘/鼠标10i,所有这些都经由PCI总线、桥电路10f和低速总线连接到M/B芯片组10b。
注意,图14仅说明了实现该实施例的计算机的可能的硬件配置的例子,并且在各种配置中的任何一种配置只要可以应用上述的实施例就可被利用。例如,可以利用这样的配置,其中视频存储器安装在视频卡10d的位置,从而视频存储器和CPU 10a可以处理图像数据。还可以利用这样的配置,其中经由诸如ATA(AT附件)和SCSI(小型计算机系统接口)的接口提供了CD-R(可记录致密盘)驱动器,或者DCD-RAM(随机存取存储器数字多用盘)驱动器作为外部存储装置。
此处,本发明的全部可以通过仅使用硬件来实现,或者通过仅使用软件来实现。作为替代,本发明可以通过使用硬件和软件二者来实现。
具体地,本发明可被实现为计算机、数据处理系统和计算机程序产品。计算机程序产品可以通过存储在计算机可读的媒体中来提供。此处,可能的媒体是电的、磁的、光的、电磁的、红外的或半导体系统(设备或器具),或者传播媒体。此外,计算机可读媒体的例子包括半导体、固态存储设备、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前例子包括只读存储器致密盘(CD-ROM)、可写致密盘(CD-R/W)和DVD。
尽管已经详细描述了本发明的优选实施例,但是应该明白在不偏离如权利要求书所限定的本发明的精神的情况下,可以在其中进行各种改变、置换和替代。
权利要求
1.一种在执行备份作业的系统中的装置,用于将需要备份的数据的整体或者仅一部分复制到媒体,所述装置包括获得部件,用于获得关于已经执行的备份作业的管理信息;以及确定部件,用于根据所述管理信息来标识在预定时期内还没复制的数据部分,并且用于确定所述部分将被复制到媒体。
2.根据权利要求1所述的装置,进一步包括存储部件,用于存储管理信息,所述管理信息指示数据部分与关于所述部分实际被复制到媒体的备份作业的标识信息之间的对应关系。
3.根据权利要求2所述的装置,其中所述标识信息是一个数目,每次执行备份作业,所述数目加一。
4.根据权利要求2所述的装置,进一步包括擦除部件,其响应于数据部分的更新而擦除管理信息中对应于该数据部分的标识信息,其中,在所述标识信息被擦除的情况下,所述确定部件确定所述部分将被复制到媒体。
5.根据权利要求2所述的装置,进一步包括更新部件,其响应于数据部分的更新,将所述管理信息中对应于所述部分的标识信息改变为预定的信息,其中在所述标识信息被改变为所述预定信息的情况下,所述确定部件确定所述部分将被复制到媒体。
6.根据权利要求1所述的装置,其中所述确定部件标识在该部分被复制到媒体之后更新过的数据部分,并且确定所述数据部分将被复制到媒体。
7.根据权利要求1所述的装置,进一步包括传输部件,用于将确定要复制到媒体的部分传输到媒体。
8.一种将数据备份到媒体的方法,包括以下步骤确定在上一次数据备份之后流逝的时期是否达到预定时期;以及在确定所述流逝的时期达到预定时期的情况下,将所述数据备份到媒体。
9.根据权利要求8所述的方法,其中所述流逝的时期和预定时期通过备份作业执行的次数来表示,在每个备份作业执行中所述数据被备份到媒体。
10.根据权利要求8所述的方法,进一步包括确定自上一次备份之后所述数据是否已经被更新的步骤,其中在所述数据已经被更新的情况下,在所述备份步骤中将所述数据备份到媒体。
全文摘要
一种系统提供有确定实际应该备份哪个数据集合的功能,该系统包括数据存储部件,用于存储要备份的数据集合;备份媒体,用于记录备份数据;以及第一访问部件和第二访问部件,用于在数据存储部件和备份媒体之间备份和恢复数据。该功能包括信息存储部件,其存储关于已经执行的备份作业的管理信息;获得部件,其获得管理信息;确定部件,其根据管理信息标识在预定时期内还没备份的数据集合,并且其确定该数据被备份;以及更新部件,其更新管理信息。
文档编号G06F11/14GK101030156SQ20071008614
公开日2007年9月5日 申请日期2007年3月2日 优先权日2006年3月3日
发明者稻垣猛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1