计算机系统、现用系统计算机和待机系统计算机转让专利

申请号 : CN201080065267.9

文献号 : CN102792287B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 竹本平

申请人 : 日本电气株式会社

摘要 :

当接收到预先通知时,利用待机系统计算机执行业务应用的现用系统计算机停止业务应用,并依次将发送开始信息、在发送队列118中排队的数据以及发送完成信息发送至待机系统计算机,其中所述发送开始信息指示了数据发送的开始,所述发送完成信息指示了数据发送的完成。待机系统计算机在接收到发送开始信息时产生和保持第一可靠性保证信息,在接收到在完成数据发送之后发送的发送完成信息时产生和保持第二可靠性保证信息,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。因此,在采用异步复制来进行数据复制的同时,保证了在故障时待机系统计算机上备份的数据的可靠性。

权利要求 :

1.一种计算机系统,包括:

现用系统计算机,在所述现用系统计算机上执行业务应用;以及待机系统计算机,利用现用系统计算机在所述待机系统计算机上执行对数据的异步复制,所述数据是通过在现用系统计算机上执行业务应用而产生的,其中所述现用系统计算机包括:

存储设备,业务应用向所述存储设备中写入数据;

接收装置,接收用于给出故障预测的预先通知;

控制装置,当接收装置接收到预先通知时停止业务应用的执行;以及发送装置,在通过业务应用写入存储设备的数据之中,对尚未发送至待机系统计算机的数据在发送队列中进行排队,以及当接收装置接收到预先通知时,依次将发送开始信息、在发送队列中排队的数据以及发送完成信息发送至待机系统计算机,其中所述发送开始信息指示了数据发送的开始以避免故障,所述发送完成信息指示了数据发送的完成,所述待机系统计算机包括:存储设备;以及

备份装置,将来自现用系统计算机的数据与异步复制一起写入存储设备;并且所述备份装置:在接收到发送开始信息时,将在发送开始信息之后接收到的数据写入存储设备并产生和保持第一可靠性保证信息,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据;以及在接收到发送完成信息时,产生和保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。

2.根据权利要求1所述的计算机系统,其中,

发送开始信息包括在现用系统计算机中的发送队列的首部排队的数据之前产生的前一数据的写入时间;

发送完成信息包括在发送队列的末尾排队的数据的写入时间,并且待机系统计算机中的备份装置保持发送开始信息和发送完成信息中包含的写入时间分别作为第一可靠性保证信息和第二可靠性保证信息。

3.一种现用系统计算机,在所述现用系统计算机上执行业务应用,利用待机系统计算机对通过执行业务应用而产生的数据执行异步复制,所述现用系统计算机包括:存储设备,业务应用向所述存储设备中写入数据;

接收装置,接收用于给出故障预测的预先通知;

控制装置,当接收装置接收到预先通知时停止业务应用的执行;以及发送装置,在通过业务应用写入存储设备的数据之中,对尚未发送至待机系统计算机的数据在发送队列中进行排队,以及当接收装置接收到预先通知时,依次将发送开始信息、在发送队列中排队的数据以及发送完成信息发送至待机系统计算机,其中所述发送开始信息指示了数据发送的开始以避免故障,所述发送完成信息指示了数据发送的完成。

4.根据权利要求3所述的现用系统计算机,其中,

发送开始信息包括在发送队列的首部排队的数据之前产生的前一数据的写入时间;并且发送完成信息包括在发送队列的末尾排队的数据的写入时间。

5.一种待机系统计算机,利用现用系统计算机在所述待机系统计算机上执行对数据的异步复制,所述数据是通过在现用系统计算机上执行业务应用而产生的,所述待机系统计算机包括:存储设备;以及

备份装置,将来自现用系统计算机的数据与异步复制一起写入存储设备;并且所述备份装置:在从现用系统计算机接收到发送开始信息时,将在发送开始信息之后接收到的数据写入存储设备并产生和保持第一可靠性保证信息,所述发送开始信息指示当现用系统计算机接收到用于给出故障预测的预先通知时为了避免故障而执行的数据发送以及对于尚未发送至待机系统计算机的数据的发送的开始,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据;以及在现用系统计算机接收到在完成数据发送之后发送的发送完成信息时,产生和保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。

6.根据权利要求5所述的待机系统计算机,其中,

发送开始信息包括在发送队列的首部排队的数据之前产生的前一数据的写入时间;

发送完成信息包括在发送队列的末尾排队的数据的写入时间;并且备份装置保持发送开始信息和发送完成信息中包含的写入时间分别作为第一可靠性保证信息和第二可靠性保证信息。

7.根据权利要求5所述的待机系统计算机,还包括与所述存储设备不同的另一存储设备,其中所述备份装置通过向所述另一存储设备中写入来保存所述第一可靠性保证信息和所述第二可靠性保证信息。

8.根据权利要求6所述的待机系统计算机,还包括与所述存储设备不同的另一存储设备,其中所述备份装置通过向所述另一存储设备中写入来保存所述第一可靠性保证信息和所述第二可靠性保证信息。

9.一种由现用系统计算机执行的方法,执行业务应用的所述现用系统计算机接收用于给出故障预测的预先通知,利用待机系统计算机对通过执行业务应用而产生的数据执行异步复制,所述方法包括:当接收到预先通知时,

停止业务应用的执行;以及

依次将发送开始信息、在通过业务应用而存储到存储设备的数据之中尚未发送至待机系统计算机的数据、以及发送完成信息发送至待机系统计算机,其中所述发送开始信息指示了数据发送的开始以避免故障,所述发送完成信息指示了数据发送的完成。

10.一种由待机系统计算机执行的方法,在所述待机系统计算机上,利用现用系统计算机对通过在现用系统计算机上执行业务应用而产生的数据执行异步复制,所述方法包括:在从现用系统计算机接收到发送开始信息时,将在发送开始信息之后接收到的数据写入存储设备并产生和保持第一可靠性保证信息,其中所述发送开始信息指示当现用系统计算机接收到用于给出故障预测的预先通知时为了避免故障而执行的数据发送以及对于尚未发送至待机系统计算机的数据的发送的开始,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据;以及在现用系统计算机接收到在完成数据发送之后发送的发送完成信息时,产生和保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。

说明书 :

计算机系统、现用系统计算机和待机系统计算机

技术领域

[0001] 本发明涉及计算机系统中的数据备份技术,所述计算机系统复制数据,特别是以异步方法来复制数据。

背景技术

[0002] 在包括多个计算机的计算机系统领域中,在抵抗故障方面,从不同角度推荐了多种技术。
[0003] 例如,专利文献1中公开的计算机系统包括用于预测计算机中的故障的故障预测装置,所述故障预测装置正常停止在预测为产生故障的计算机上运行的所有服务,并在另一计算机上执行这些服务。在另一计算机上重新执行了所有这些服务之后,故障预测装置停止预测为产生故障的计算机。
[0004] 这种计算机系统被解释为:在预测为产生故障的计算机上发生故障之前转移在该计算机上运行的服务,并正常停止预测为产生故障的计算机,而无需系统管理员的干预。
[0005] 此外,在专利文献2公开的计算机备份系统中,业务计算机(现用系统计算机)包括:异常检测传感器,用于检测计算机中的出错标记,并当检测到该标记时经由网络将应当备份的电子信息发送到备份计算机。当备份计算机从业务计算机接收到所述电子信息时,备份计算机将所述电子信息保存到包含在该备份计算机中的存储介质中。
[0006] 这种备份计算机被解释为:在灾害发生之前立即保存在业务计算机上创建的电子信息。
[0007] 此外,在专利文献3公开的数据库系统中,现用系统设备包括:现用系统TM(交易管理器),用于处理交易;以及现用系统DBMS(数据库管理系统),用于反映由交易而产生的更新数据。待机系统设备包括:待机系统TM,其中从现用系统TM将更新数据通知给所述待机系统TM;以及待机系统DBMS,将存储的数据内容与现用系统DBMS同步。现用系统TM将通过执行交易而产生的更新数据通知给现用系统DBMS,并通过同步通信来通知待机系统。现用系统DBMS将由现用系统TM通知的更新数据反映在由现用系统DBMS自身来管理的数据库中,并通过异步通信将更新数据通知给待机系统DBMS。待机系统TM将通知的更新数据存储到差分文件中,在预定的触发点从所述差分文件读取更新数据,并通知待机系统DBM。待机系统DBMS将从现用系统DBMS或待机系统TM获得的更新数据反映在由该待机系统DBMS管理的数据库中。
[0008] 根据该数据库系统,在数据库同步技术中,一个计算机组织和发送更新数据以及更新数据的控制信息,而另一计算机基于控制信息来汇编更新数据,如果在组织更新数据的过程中一个计算机发生故障,就将更新数据返回到交易单元并反映在另一数据库中,当使用这种数据库同步技术时,已经说过可以解决一个计算机上的数据库和另一计算机上的数据库无法同步的问题,从而提高了数据库同步的可靠性。
[0009] 注意,尽管在专利文献1和专利文献2公开的系统中,现用系统计算机中故障的发生可以被例如专利文献4中公开的包含在系统中的异常检测传感器或故障预测装置获知,然而已知这种技术是通过接收灾害通知信息来获知故障发生的,所述灾害通知信息通知了预测到会发生灾害。
[0010] 现有技术文献
[0011] 专利文献
[0012] 专利文献1:日本待审专利申请公开No.2004-334713
[0013] 专利文献2:日本待审专利申请公开No.2004-326365
[0014] 专利文献3:日本待审专利申请公开No.2008-310517
[0015] 专利文献4:日本待审专利申请公开No.2007-094925

发明内容

[0016] 本发明要解决的技术问题
[0017] 本文关注于为了避免故障而对数据的复制(下文中称作数据复制)。为了避免故障,需要执行前述的数据复制,以将通过在现用系统计算机上执行业务应用而产生的新数据备份到待机系统计算机。
[0018] 作为在现用系统计算机和待机系统计算机之间的数据复制,同步复制和异步复制是两种主要技术。
[0019] 同步复制是指:现用系统计算机与待更新数据的产生同步,将数据发送至待机系统计算机,并使待机系统计算机保存该数据。
[0020] 异步复制是指:在将所产生的待更新数据发送至待机系统计算机之前,将控制返回到执行写入的应用,然后将待更新数据发送至待机系统计算机,而不是在与待更新数据的产生同步之后将控制返回到执行写入的应用并将数据发送至待机系统计算机。可以临时累积所产生的待更新数据,并在预定的触发点将累积的数据集中发送至待机系统计算机。
[0021] 根据使用异步复制来进行数据复制的系统,优点在于可以减小现用系统计算机中数据复制的通信延迟。然而在发生故障时会存在以下问题:尚未从现用系统计算机发送至待机系统计算机的数据丢失,当稍后通过将待机系统计算机切换成现用系统计算机来执行业务操作时,需要针对丢失的数据执行恢复过程,从而花费长时间来恢复操作。
[0022] 专利文献1公开的技术停止在预测为产生故障的计算机上执行的所有服务,并且在这些服务在另一计算机上被再次执行之后将预测为产生故障的计算机停止。尽管专利文献1中没有关于数据复制的特定记载,假定使用异步复制来进行数据复制,那么就需要在预测到故障时的时间点处才对尚未发送至另一计算机的数据进行发送,以重新执行在预测为产生故障的计算机上执行的所有服务。
[0023] 然而当在完成上述过程之前就发生故障时,没有办法获知预测为产生故障的计算机上的数据的发送程度,从而在另一计算机上恢复服务时产生问题。
[0024] 此外,专利文献2公开的技术在异常检测传感器检测到业务计算机中的出错标记时,将业务计算机中的数据发送至备份计算机。该技术可能是基本的异步复制。当在从检测业务计算机中的出错标记到完成向备份计算机的数据发送的这段时间内发送故障时,该技术也具有与在说明根据对比文献1的技术时提到的问题相同的问题。
[0025] 专利文献3公开的技术通过使用同步复制和异步复制两者来进行数据复制基本上解决了异步复制的上述问题。然而这产生的问题是限制了异步复制的优点。
[0026] 基于上述观点而提出了本发明,本发明提供了一种复制技术,其在数据复制中采用异步复制,并且还在故障时保证了待机系统计算机上备份的数据的可靠性。
[0027] 解决问题的技术手段
[0028] 本发明一方面涉及一种现用系统计算机,在所述现用系统计算机上执行业务应用,在现用系统计算机和待机系统计算机之间对通过执行业务应用而产生的数据执行异步复制。
[0029] 现用系统计算机包括:存储设备,用于业务应用向所述存储设备中写入数据;发送队列、接收单元、控制单元和发送单元。
[0030] 发送队列在通过业务应用写入存储设备的数据之中,对尚未发送至待机系统计算机的数据进行排队。接收装置,接收用于给出故障预测的预先通知。
[0031] 在接收装置接收到预先通知时,控制装置停止业务应用的执行。
[0032] 当接收装置接收到预先通知时,发送装置依次将发送开始信息、在发送队列中排队的数据以及发送完成信息发送至待机系统计算机,其中所述发送开始信息指示了数据发送的开始以避免故障,所述发送完成信息指示了数据发送的完成。
[0033] 本发明的另一方面涉及一种待机系统计算机,在所述待机系统计算机上利用执行业务应用的现用系统计算机执行对数据的异步复制,所述数据是通过在现用系统计算机上执行业务应用而产生的。
[0034] 待机系统计算机包括存储设备和备份装置,所述备份装置将来自现用系统计算机的数据与异步复制一起写入存储设备。
[0035] 备份装置在接收到发送开始信息时,将在发送开始信息之后接收到的数据写入存储设备并产生和保持第一可靠性保证信息,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据。所述发送开始信息是指示以下内容的信息:当现用系统计算机接收到用于给出故障预测的预先通知时为了避免故障而执行的“数据发送”的开始;以及意味着对尚未发送至待机系统计算机的数据进行发送的“数据发送”的开始。
[0036] 此外,备份单元在接收到在完成数据发送之后发送的发送完成信息时,产生和保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。
[0037] 注意,代替根据上述方面的现用系统计算机或待机系统计算机的方法、设备或系统;使计算机执行现用系统计算机或待机系统计算机的操作的程序;记录所述程序的计算机可读介质;包括现用系统计算机和待机系统计算机的计算机系统等等也可以作为本发明的方面。
[0038] 本发明的有益效果
[0039] 根据本发明的技术,可以在数据复制中采用异步复制,还在故障时保证了备份在待机系统计算机上的数据的可靠性。

附图说明

[0040] 图1是示出了用于说明根据本发明的技术原理的计算机系统的图;
[0041] 图2是说明了图1所示计算机系统中诸如发送开始信息等的含义的图;
[0042] 图3是示出了根据本发明示例实施例的计算机系统的图;
[0043] 图4是示出了图3所示计算机系统中每个计算机的配置的图;
[0044] 图5是说明了图4所示计算机的发送队列中排队的写入信息的写入时间与临时保持时间信息之间的关系的图;
[0045] 图6是说明了发送队列中排队的附加时间信息以及写入数据的图;
[0046] 图7是说明了图3所示计算机系统中的同步开始分组的含义的图;
[0047] 图8是示出了图3所示计算机系统中现用系统计算机的处理的流程图;
[0048] 图9是示出了图3所示计算机系统中待机系统计算机的处理的流程图;以及[0049] 图10是说明了图3所示计算机系统中在故障之后的切换的图。

具体实施方式

[0050] 为了清楚地进行说明,对以下说明进行了适当的省略和简化。此外,图中以执行各种处理的功能块的形式示出的每个组件可以作为硬件的CPU、存储器和其他电路来配置,并且可以由作为软件加载到存储器中的程序来实现。因此,本领域技术人员将理解,这些功能块可以仅由硬件、软件来实现或以二者组合的形式来实现,并且不限于这些形式中的任何一种。此外,例如可以通过执行从存储设备读出的程序来实现以下图中所示的每个设备的配置。此外,使用任何类型的非暂时性计算机可读介质将这些程序存储并提供至计算机。非暂时性计算机可读介质包括任何类型的实体存储介质。非暂时性计算机可读介质的示例包括磁存储介质(如,软盘、磁带、硬盘驱动器等等)、光磁存储介质(磁光盘)、CD-ROM(光盘只读存储器)以及半导体存储器(如,掩模ROM、PROM(可编程ROM)、EPROM(可擦PROM)、闪速ROM、RAM(随机存取存储器)等等)。可以使用任何类型的暂时性计算机可读介质将程序提供给计算机。暂时性计算机可读介质的示例包括电信号、光信号和电磁波。暂时性计算机可读介质可以经由有线通信线路(例如,电线和光纤)或无线通信线路将程序提供给计算机。
[0051] 在说明本发明的特定示例实施例之前,首先参考图1所示的计算机系统100来说明根据本发明的技术原理。
[0052] 如图1所示,计算机系统100包括通信连接的现用系统计算机100和待机系统计算机130。
[0053] 现用系统计算机100是执行业务应用的计算机,利用待机系统130对通过执行现用系统计算机110中的业务应用而产生的数据进行异步复制。
[0054] 如上所述,数据的异步复制是指:与向待机系统计算机发送数据的过程异步地向业务应用返回写入控制,并将数据发送至待机系统计算机,从而用于备份,而不是在产生数据时向待机系统计算机发送数据并在发送完成之后将控制返回到业务应用。可以临时累积所产生的数据,并且可以在预定触发点(例如,以预定的时间间隔)或者当现用计算机的处理负载较小时将累积的数据集中发送至待机系统计算机。此外,待机系统计算机可以每当从现用系统计算机接收到数据就向包含在该待机系统计算机中的存储设备进行写入,或者可以将数据累积在差分文件中并在预定触发点从所述差分文件中集中读取所述数据以写入所述存储设备。
[0055] 在计算机系统100中,在现用系统计算机110和待机系统计算机130之间执行的数据复制可以是任何常规已知的异步复制技术。因此,省略了异步复制的细节以及对异步复制所需的功能块的说明,其中说明根据本发明的技术所需的点除外。
[0056] 如图1所示,计算机系统100包括存储设备112、应用执行单元114、主处理单元115、发送单元116、发送队列118、接收单元120以及控制单元122。
[0057] 应用执行单元114对业务应用的执行和停止加以控制。
[0058] 主处理单元115将通过执行业务应用而产生的写入数据写入存储设备112,并将与写入到存储设备112的数据相同的数据累积在发送队列118中。
[0059] 存储设备112是诸如硬盘之类的存储介质,其存储由主处理单元115写入的数据。
[0060] 发送单元116将与主处理单元115写入存储设备112的数据相同的数据发送至待机系统计算机130,由发送单元116执行的数据发送与由主处理单元115向存储设备112的写入同步。具体地,发送单元116包括发送队列118,将与主处理单元115写入到存储设备112的数据相同的数据累积在发送队列118中,并在可发送时顺序地发送至待机系统计算机130。取代在可发送时顺序发送的方法,可以在预定的触发点集中向待机系统计算机130发送。
[0061] 接收单元120用于接收给出故障预测的预先通知,并相应地在接收到预先通知时通知控制单元122。
[0062] “预先通知”用于预测现用系统计算机110中的故障,并且可以是预测在现用系统计算机110中发生故障的任何信息。例如,“预先通知”可以是来自故障预测组织的信息或来自装置的信息,所述故障预测组织预测在现用系统计算机110的安装位置处的包括地震在内的灾害,所述装置例如使用现用系统计算机110的存储器和CPU的监控状态结果来预测故障。
[0063] 当接收单元120接收到预先通知时,控制单元122对应用执行单元114和主处理单元115执行用于避免故障的控制。
[0064] 具体地,当从接收单元120接收到预先通知时,控制单元122使应用执行单元114停止执行业务应用。此外,控制主处理单元115,使得按照发送开始信息、数据发送和发送完成信息这一顺序来执行向待机系统计算机130的发送。
[0065] 上述“数据发送”指的是顺序地将存储到发送队列118中的数据发送至待机系统计算机130以避免故障。此外,“发送开始信息”和“发送完成信息”是分别对上述数据发送的开始和结束加以指示的信息。
[0066] 待机系统计算机130包括存储设备132和备份单元140。存储设备132是诸如硬盘之类的记录介质,所述记录介质存储由备份单元140写入的数据。备份单元140通过数据的异步复制将来自现用系统计算机110的数据写入存储设备132,在从现用系统计算机110接收到前述发送开始信息时,将在发送开始信息之后接收到的数据写入存储设备132,并且还产生和保持第一可靠性保证信息,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据。随后,当从现用系统计算机110接收到发送完成信息时,产生和保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。
[0067] 前述发送开始信息和发送结束信息可以是任何格式的,只要可以由现用系统计算机110通知“数据传输”的开始和完成以避免故障。例如,发送开始信息可以是同步开始分组,所述同步开始分组指示前述“数据发送”的开始,或者在前述“数据发送”的发送队列中累积的数据的首队列的时间信息;发送完成信息可以是同步完成分组,所述同步完成分组指示前述“数据发送”的完成,以及在前述“数据发送”的发送队列中累积的数据的上一队列的时间信息。
[0068] 第一可靠性保证信息可以是任何格式的,只要该第一可靠性保证信息能够指示在发送开始信息之前接收到的数据是可靠数据。例如,第一可靠性保证信息可以是对发送开始信息之前最后一次接收到的数据加以指示的信息。
[0069] 即,在计算机系统100中,在现用系统计算机110的接收单元120接收到预先通知之前,在现用系统计算机110和待机系统计算机130之间对现用系统计算机110上执行的业务应用所产生的数据进行异步复制,并且在现用系统计算机110的发送队列118中累积等待发送至待机系统计算机130的数据。在可发送时将发送队列118中累积的数据顺序地发送至待机系统计算机130。当现用系统计算机110的接收单元120接收到预先通知时,启动“数据发送”以避免故障,所述“数据发送”将发送队列118中累积的数据发送至待机系统计算机130。在该数据发送开始时和完成时分别发送开始信息和发送完成信息。此外,在待机系统计算机130中,当接收到发送开始信息时,保持第一可靠性保证信息,所述第一可靠性保证信息指示在发送开始信息之前接收到的数据是可靠数据;当接收到发送完成信息时,保持第二可靠性保证信息,所述第二可靠性保证信息指示在发送完成信息之前接收到的数据是可靠数据。
[0070] 参考图2来说明发送开始信息、发送完成信息、第一可靠性保证信息和第二可靠性保证信息的含义。在图2中,对于发送开始信息和发送完成信息,“○”表示“被待机系统计算机130接收到”,“×”表示“没有被待机系统计算机130接收到”。此外,对于第一可靠性保证信息和第二可靠性保证信息,“○”表示“被保持到待机系统计算机130”,“×”表示“没有被保持到待机系统计算机130”。
[0071] 情况1
[0072] 如图2所示,当待机系统计算机130尚未接收到来自现用系统计算机110的发送开始信息时(当然,也尚未接收到发送完成信息),第一可靠性保证信息和第二可靠性保证信息也没有被保持到待机系统计算机130中。这种情况是:当没有接收到用于给出现用系统计算机110中的故障预测的预先通知时,例如当执行正常异步复制时的情况。
[0073] 情况2
[0074] 同时,当待机系统计算机130已经接收到来自现用系统计算机110的发送开始信息但没有接收到发送完成信息时,第一可靠性保证信息被保持到待机系统计算机130中而第二可靠性保证信息没有被保持到待机系统计算机130中。这种情况是:当现用系统计算机110已经接收到预先通知并且执行了将尚未发送的数据发送至待机系统计算机130的数据发送(下文中可以称作“数据同步”)但尚未完整执行数据同步时,例如,当数据同步期间发生故障时的情况。
[0075] 情况3
[0076] 此外,当待机系统计算机130已经从现用系统计算机110接收到发送开始信息和发送完成信息两者时,第一可靠性保证信息和第二可靠性保证信息均被保持到待机系统计算机130。这种情况是:在现用系统计算机110已经接收到预先通知之后执行了数据同步并且完整地执行了该数据同步的情况。
[0077] 因此,在将待机系统计算机130切换到现用系统计算机以执行业务应用时,可以确认在待机系统计算机130的存储设备132上备份的数据的可靠性,并采取措施,例如从哪里开始执行业务应用。
[0078] 例如,在保持了“第一可靠性保证信息”而没有保持“第二可靠性保证信息”的前述情况2中,可以看出在发送开始信息之前接收到的数据是可靠数据,可以从可靠数据之中最后一次接收到的数据开始来执行业务应用。
[0079] 此外,在保持了“第一可靠性保证信息”和“第二可靠性保证信息”前述情况3中,可以看出在发送完成信息之前接收到的数据是可靠数据,并且可以从所述可靠数据之中最后一次接收到的数据开始来执行业务应用。
[0080] 计算机系统100的这种配置使得可以在现用系统计算机110和待机系统计算机130进行数据的异步复制,直到现用系统计算机110接收到预先通知。当现用系统计算机
110接收到预先通知时,在现用系统计算机110和待机系统计算机130之间执行数据同步,由待机系统计算机130产生数据同步是否完成(即,数据可靠程度)的信息(第一可靠性保证信息和第二可靠性保证信息)并将该信息保持到待机系统计算机130。因此,在数据复制中采用异步复制的同时,可以在故障时保证待机系统计算机上备份的数据的可靠性。
[0081] 此外,在计算机系统100中,现用系统计算机110可以通过上述数据同步来减小发送至接收单元120的数据量,而通过停止正在执行的业务应用来提高完成数据同步的概率。
[0082] 接下来说明采用上述原理的示例实施例。图3示出了根据北方那么示例实施例的计算机系统200。该计算机系统200包括多个计算机(在图中仅以两个计算机210和220为例)和故障预测服务设备240。这些计算机和故障预测设备240经由诸如LAN和WAN之类的网络230相连。
[0083] 该示例实施例的计算机系统200中包含的这多个计算机具有相似的配置。如图3所示,计算机210安装有操作系统(下文中称作OS)214、复制软件216和业务应用(下文中称作AP)218,并且包括用于从中读取软件数据和向其写入软件数据的第一存储设备212以及与第一存储设备212不同的第二存储设备213。类似地,计算机220安装有OS 224、复制软件226和AP 228,并且包括用于从中读取软件数据和向其写入软件数据的第一存储设备222以及与第一存储设备222不同的第二存储设备223。
[0084] 在图3所示示例中,安装在计算机210上的AP 218和安装在220上的AP 228是相同的业务应用,由实线框表示的AP 218正在执行,而由虚线框表示的AP 228被停止。即,在这种情况下,计算机210是现用系统计算机,而计算机220是待机系统计算机。此外,通过异步复制,将通过执行AP 218而产生的数据发送至计算机220并备份在计算机220上。
[0085] 故障预测服务设备240经由控制信道连接单元230向计算机发送用于给出故障预测的预先通知。在该示例实施例中,例如,故障预测服务设备240用于给出可能在计算机中产生故障的诸如地震之类的自然灾害的预测,并且被安装在预测灾害的组织等中。
[0086] 在计算机系统200中,现用系统计算机和待机系统计算机通常执行异步数据布置。该异步复制是由安装在现用系统计算机和待机系统计算机上的复制软件来执行的。当接收到预先通知时,现用系统计算机停止正在执行的业务应用,并开始数据同步,待机系统计算机将数据同步过程中从现用系统计算机发送的数据备份到该待机系统计算机自己的存储设备中。
[0087] 图4示出了计算机系统200中每个计算机的特定配置。注意,图4仅示出了与前述“数据同步”相关的部分,而省略了其他部分的描述和说明。此外,在该示例实施例中,由于每个计算机具有相同的配置,所以以计算机210为代表来进行说明。
[0088] 如图4所示,计算机210包括第一存储设备212、第二存储设备213、收发机单元300、控制单元302、主处理单元310、I/O请求队列312、发送队列314、解压缩单元316、压缩单元318以及差分存储单元320。这些功能块是由包含在计算机210中的硬件和安装在计算机210中的软件协同实现的。
[0089] 计算机210可以是现用系统计算机和待机系统计算机中的任何一个。在图4中,每个功能块之间的实现指示当计算机210是现用系统计算机时的数据流和信号,虚线指示当计算机210是待机系统计算机时的数据流和信号。
[0090] 主处理单元310包括用于执行业务应用的功能和备份功能。当计算机210是现用系统计算机时,执行用于执行业务应用的功能;当计算机210是待机系统计算机时,执行备份功能。即,当计算机210是现用系统计算机时,主处理单元310可以作为应用执行单元来操作;当计算机210是待机系统计算机时,主处理单元310可以作为备份单元来操作。
[0091] 下文中,说明计算机210中每个功能块的操作,将计算机210是现用系统计算机的情况和计算机210是待机系统计算机的情况分开。
[0092] <计算机210是现用系统计算机的情况>
[0093] 在这种情况下,主处理单元310在I/O请求队列312和发送队列314中对通过执行业务应用而产生的写入数据进行排队。当在发送队列314中进行排队时,在对临时保持时间信息(稍后将作为附加时间信息来描述该临时保持时间信息)与写入数据一起进行排队的同时,以该写入发生时间(下文中称作写入时间)来更新临时保持时间信息。
[0094] 参考图5来说明数据写入时间和临时保持时间信息之间的关系。作为示例,按时间顺序产生数据0、数据1和数据2的写入,并假定数据的写入时间分别是时间0、时间1、时间2和时间3。
[0095] 主处理单元310保持最后一次写入发生时间作为临时保持时间信息。如图5所示,在时间0处产生数据0的写入,将时间0保存为临时保持时间数据。
[0096] 接下来,由于在时间1处产生数据1的写入,以时间1来更新临时保持时间数据。
[0097] 之后,当写入数据2时,以时间2来更新临时保持时间信息,当写入数据3时,以时间3来更新临时保持时间信息。
[0098] 当主处理单元115在发送队列314中对写入数据进行排队时,将更新之前的临时保持时间信息与要排队的数据相关联。参考图6来说明这一点。
[0099] 正在保持的临时保持时间信息是数据0的写入时间(时间0),所述数据0的写入时间紧接在数据1的写入时间(时间1)之前。因此,在时间1,将数据1与要作为时间0的附加时间信息一起在发送队列314中排队。相应地,以时间1来更新临时保持时间信息。
[0100] 类似地,由于临时保持时间信息是紧接在数据2的写入时间(时间2)之前的时间1,所以在时间2,将数据2与要作为时间1的附加时间信息一起在发送队列314中排队。相应地,以时间2来更新临时保持时间信息。
[0101] 此外,由于临时保持时间信息是紧接在数据3的写入时间(时间3)之前的时间2,所以在时间3,将数据3与要作为时间2的附加时间信息一起在发送队列314中排队。相应地,以时间3来更新临时保持时间信息。
[0102] 即,在该示例实施例中,写入数据和前一写入数据的写入时间相关联,并且在发送队列314中排队。
[0103] I/O请求队列312将排队的数据顺序地出列到第一存储设备212。第一存储设备212存储来自I/O请求队列312的数据。
[0104] 此外,发送队列314将排队的写入数据顺序地出列到压缩单元318中。压缩单元318压缩来自发送队列314的数据并将数据输出到收发机单元300。收发机单元300经由网络230将来自压缩单元318的数据(下文中称作压缩数据)顺序地输出到待机系统计算机(在这种情况下是计算机220)。
[0105] 根据异步复制规则对数据执行每个上述过程,在此省略了详细说明。
[0106] 注意,在无法与待机系统计算机通信的情况下,主处理单元310不在发送队列314中对数据进行排队,而是将数据存储到差分存储单元320。伺候,当可以与待机系统计算机通信时,将存储到差分存储单元320的数据在发送队列314中进行排队。
[0107] 如上所述,在该示例实施例中,经由网络230来发送来自故障预测服务设备240的预先通知。即,计算机210的收发机单元300还用作接收该预先通知的接收单元。
[0108] 当接收到预先通知时,收发机单元300相应地通知控制单元302。
[0109] 在通知了控制单元302从控制单元302接收到预先通知时,控制单元302向主处理单元310输出数据同步的开始指令,并与数据同步的开始指令异步地输出业务应用的停止指令。输出数据同步的开始指令而不等待业务应用停止使得可以即刻开始数据同步过程并即刻将第一可靠性保证信息通知给待机系统。
[0110] 当接收到业务应用的停止指令时,主处理单元310停止业务应用。那么,业务应用不产生新的数据。
[0111] 当接收到数据同步的开始指令时,主处理单元310如下操作。首先,主处理单元310中断在发送队列314中累积的发送数据,并使收发机单元300发送对数据同步的开始加以指示的“同步开始分组”。在发送队列314中累积的数据的首队列的附加时间信息包含在该同步开始分组中。该附加时间信息是排队到发送队列314首部的写入数据的时间信息,即,前一写入数据的写入时间。
[0112] 然后,控制发送队列314、压缩单元318和收发机单元300,使得在前述“同步数据分组”之后顺序地发送发送队列314中累积的写入数据。
[0113] 当发送队列314中累积的所有数据都被压缩和发送之后,主处理单元310使收发机单元300发送对数据同步的完成加以指示的“同步完成分组”。该同步完成分组是当前的临时保持时间信息,即,发送队列314中累积的数据的尾队列的写入时间。
[0114] 换言之,当在计算机210是现用系统计算机的情况下接收到给出故障预测(在该示例实施例中是灾害预测)的预先通知时,在计算机210中停止正在执行的业务应用,并且从计算机210发送同步开始分组、在发送队列314中排队的数据的压缩数据以及同步完成分组。
[0115] <计算机210是待机系统计算机的情况>
[0116] 在这种情况下,收发机单元300将来自现用系统计算机的数据与数据的异步复制一起接收。该数据是在现用系统计算机中的执行期间产生的数据的压缩数据。
[0117] 主处理单元310使解压缩单元316对收发机单元300接收到的压缩数据进行解压缩。解压缩单元316将解压缩的数据输出至I/O请求队列312。
[0118] I/O请求队列312将来自解压缩单元316的数据顺序地出列到第一存储设备212。第一存储设备212存储来自I/O请求队列312的数据。
[0119] 前述过程是在执行数据的异步时由待机系统计算机侧执行的过程,在此省略了详细说明。
[0120] 当收发机单元300接收到“同步开始分组”时,主处理单元310将同步开始分组中包含的附加时间信息作为第一可靠性保证信息输出至I/O请求队列312。此外,控制I/O请求队列312将该附加时间信息出列到第二存储设备213。
[0121] 此外,主处理单元310使解压缩单元316对收发机单元300在“同步开始分组之后”接收到的每个数据顺序地解压缩,并将该数据输出至I/O请求队列312。主处理单元310控制I/O请求队列312将该数据出列到第一存储设备212。
[0122] 此外,当收发机单元300接收到“同步完成分组”时,主处理单元310将同步完成分组中包含的临时保持时间信息作为第二可靠性保证信息输出至I/O请求队列312。此外,控制I/O请求队列312将该临时保持时间信息出列到第二存储设备213。
[0123] 参考图7来说明该示例实施例中同步开始分组、同步完成分组、第一可靠性保证信息和第二可靠性保证信息的含义。与图2中的方式相类似,在图7中,对于同步开始分组和同步完成分组,“○”表示“被待机系统计算机接收到”,“×”表示“没有被待机系统计算机接收到”。此外,对于第一可靠性保证信息(在此是包含在同步开始分组中的附加时间信息)和第二可靠性保证信息(在此是包含在同步完成分组中的临时保持时间信息),“○”表示“被记录在待机系统计算机的存储设备上”,“×”表示“没有被记录在待机系统计算机的存储设备上”。
[0124] 情况1
[0125] 如图7所示,当待机系统计算机尚未接收到来自现用系统计算机的同步开始分组时(当然,也尚未接收到同步完成分组),不将包含在同步开始分组中的附加时间信息和包含在同步完成分组中的临时保持时间信息记录在待机系统计算机的第二存储设备上。这种情况是:现用系统计算机尚未接收到给出故障预测的预先通知时,例如当执行正常异步复制时的情况。
[0126] 情况2
[0127] 另一方面,当待机系统计算机已经接收到同步开始分组但没有接收到同步完成分组时,将包含在同步开始分组中的附加时间信息记录在待机系统计算机的第二存储设备上,而将不包含在同步完成分组中的临时保持时间信息记录在待机系统计算机的第二存储设备上。这种情况是:当现用系统计算机已经接收到预先通知并且执行了将尚未发送的数据发送至待机系统计算机的数据发送(下文中可以称作“数据同步”)但尚未完整执行数据同步时,例如,当数据同步期间发生故障时的情况。
[0128] 情况3
[0129] 此外,当待机系统计算机已经从现用系统计算机接收到同步开始分组和同步完成分组两者时,将包含在同步开始分组中的附加时间信息和包含在同步完成分组中的临时保持时间信息均记录在待机系统计算机的第二存储设备上。这种情况是:在现用系统计算机已经接收到预先通知之后执行了数据同步并且完整地执行了该数据同步的情况。
[0130] 图8是示出了计算机系统200中的现用系统计算机的处理流程的流程图。
[0131] 如图8所示,现用系统计算机执行业务应用,并且利用待机系统计算机对通过执行业务应用而产生的数据执行异步复制,直到接收到预先通知(S100:否;S102)。步骤S102中数据的异步复制具体是以下过程:与向待机系统计算机发送数据的过程异步地将写入控制返回给业务应用,压缩发送队列中累积的数据,并将数据发送至待机系统计算机。
[0132] 在现用系统计算机中,当接收到预先通知时,控制单元发起业务应用停止指令以及数据同步开始指令(步骤S110和S120)。
[0133] 当接收到业务应用停止指令时,现用系统计算机的主处理单元停止正在执行的业务应用(S112)。
[0134] 此外,当接收到数据同步开始指令时,现用系统计算机的主处理单元使收发机单元向待机系统计算机发送同步开始分组,所述同步开始分组包含在发送队列中累积的数据的首队列的附加时间信息;然后压缩并发送发送队列中累积的数据,直到发送队列为空(S124;S126:否;以及在S124之后)
[0135] 当发送队列中所有数据的压缩和发送都完成之后,主处理单元使发送单元将包括临时保持时间信息的同步完成分组发送至待机系统计算机。
[0136] 图9是示出了计算机系统200中待机系统计算机中的处理流程的流程图。
[0137] 如图9所示,待机系统计算机备份来自现用系统计算机的数据(压缩数据),直到接收到来自现用系统计算机的同步开始分组(S150:否;以及S152)。步骤S152中的备份具体为:解压缩来自现用系统计算机的压缩数据,在I/O请求队列中进行排队,以及从I/O请求队列向第一存储设备出列)。
[0138] 当接收到同步开始分组时,待机系统计算机的主处理单元经由I/O请求队列将同步开始分组中包含的附加时间信息作为第一可靠性保证信息记录在第二存储设备上,备份来自现用系统计算机的压缩数据,并将压缩数据写入第一存储设备,直到接收到同步完成分组(S150:是;S160:否;以及在S164之后)。
[0139] 当接收到同步完成分组时,待机系统计算机的主处理单元经由I/O请求队列将同步完成分组中包含的临时保持时间信息作为第二可靠性保证信息记录在第二存储设备上(S162:是;以及S170)。
[0140] 图10是示出了在发生故障之后执行业务应用的计算机的手动或自动切换的示例。
[0141] 图10示出了将HA群软件与复制软件一起安装在每个计算机上的示例。安装在每个计算机上的HA群软件监控每个其他计算机的状态,并排他地执行业务应用。安装有业务应用并且执行业务应用的计算机与没有执行的计算机之间,复制软件执行异步数据复制。HA群软件还在执行业务应用的计算机中发生故障时切换计算机来执行业务应用。可以在自动设置或手动设置中选择这种切换。
[0142] 如图10所示,该示例是在计算机210是现用系统计算机而计算机220是待机系统计算机时切换的示例。
[0143] 在故障发生之后,将曾经是现用系统的计算机210停止。计算机220中的HA群软件227执行AP 228。然后,将曾经是待机系统的计算机220切换成现用系统。注意,在执行AP 228时,HA群软件227检验同步开始分组中包含的附加时间信息和同步完成分组中包含的临时保持时间信息是否被记录在计算机220的第二存储设备223上,并基于检验结果来确定AP 228的执行起始点。
[0144] 具体地,当只有包含在同步开始分组中的附加时间信息被记录在第二存储设备223上时,HA群软件227在发送时间之前发送和接收的数据(是存储到第一存储设备222的可靠数据)之中获得最后一个数据时的时间点处执行AP 228。同时,当同步开始分组中包含的附加时间信息和同步完成分组中包含的临时保持时间信息均被记录在第二存储设备
223上时,HA群软件227在同步完成分组之前接收到的数据(是存储到第一存储设备222的可靠数据)之中获得最后一个数据时的时间点处执行AP228。
[0145] 该示例实施例的计算机系统200是体现图1所示计算机系统的示例,可以实现计算机系统100的每个效果。
[0146] 此外,在计算机系统200中,由于数据被压缩以在现用系统计算机与待机系统计算机之间传输,所以可以减少流经网络230的数据量。
[0147] 此外,读取与第一存储设备不同的第二存储设备上的第一可靠性保证信息和第二可靠性保证信息使得待机系统计算机可以匹配现用系统计算机和待机系统计算机的第一存储设备中的数据。
[0148] 目前为止基于示例实施例说明了本发明。这些示例实施例是示例,在不脱离本发明的范围的前提下可以对上述每一个实施例进行各种修改、增加、减少和组合。本领域技术人员将理解,这些修改、增加、减少和组合在本发明的范围之内。
[0149] 例如,在计算机系统200中,在每个计算机上都安装了现用系统计算机的功能和待机系统计算机的功能两者。然而,上述两个功能也可以仅安装在例如要作为服务器的计算机上。此外,在这种情况下,可以仅将现用系统计算机的功能安装在现用系统服务器上,可以仅将待机系统计算机的功能安装在待机系统服务器上。
[0150] 此外,可以按照以下方式来执行操作:将现用系统计算机的功能安装在现用系统共享存储装置上,将待机系统计算机的功能也安装在待机系统共享存储装置上。
[0151] 此外,尽管将计算机系统200描述为经由网络来接收预先通知,然而可以通过任何通信系统(如,射频)来接收预先通知,只要能接收到预先通知即可。
[0152] 本发明要求2010年3月8日在日本专利局提交的日本专利申请No.2010-050784的优先权并且基于该申请,其全部公开一并在此作为参考。
[0153] 工业应用
[0154] 本发明可以用于计算机系统中数据的备份,所述计算机系统复制数据,特别是以异步的方式来复制数据。
[0155] 附图标记的说明
[0156] 100 计算机系统 110现用系统计算机
[0157] 112 存储设备 114应用执行单元
[0158] 115 主处理单元 116发送单元
[0159] 118 发送队列 120接收单元
[0160] 122 控制单元 130待机系统计算机
[0161] 132 存储设备 140备份单元
[0162] 200 计算机系统 210计算机
[0163] 212 第一存储设备 213第二存储设备
[0164] 214 OS 216复制软件
[0165] 217 HA群软件 218应用
[0166] 220 计算机 222第一存储设备
[0167] 223 第二存储设备 224OS
[0168] 226 复制软件 227HA群软件
[0169] 228 应用 230网络
[0170] 240 故障预测服务设备 300收发机单元
[0171] 302 控制单元 310主处理单元
[0172] 312 I/O请求队列 314发送队列
[0173] 316 解压缩单元 318压缩单元
[0174] 320 差分存储单元