JP5201133B2 - 二重化システム、システム制御方法およびシステム制御プログラム - Google Patents

二重化システム、システム制御方法およびシステム制御プログラム Download PDF

Info

Publication number
JP5201133B2
JP5201133B2 JP2009510658A JP2009510658A JP5201133B2 JP 5201133 B2 JP5201133 B2 JP 5201133B2 JP 2009510658 A JP2009510658 A JP 2009510658A JP 2009510658 A JP2009510658 A JP 2009510658A JP 5201133 B2 JP5201133 B2 JP 5201133B2
Authority
JP
Japan
Prior art keywords
change history
node
active node
database
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009510658A
Other languages
English (en)
Other versions
JPWO2008129620A1 (ja
Inventor
善章 照田
晃幸 後藤
和博 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008129620A1 publication Critical patent/JPWO2008129620A1/ja
Application granted granted Critical
Publication of JP5201133B2 publication Critical patent/JP5201133B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Description

この発明は、ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成され、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開する二重化システム、システム制御方法およびシステム制御プログラムに関する。
従来より、データベースの絶対的な安定稼動の維持を目的として、ストレージなどの共用部分を持たない完全二重化システムが企業などにより利用されている(例えば、特許文献1参照)。すなわち、この完全二重化システムは、運用ノードと待機ノードとの間でストレージなどの共用部分を持たないので、運用ノードでどのような機器の障害が発生したとしても待機ノードへ切り替えてシステムを再構築することが可能となる。
ところで、この完全二重化システムでは、運用ノードと待機ノードとの間でストレージなどの機器を共有していないため、各ノード内に備えられたデータベースの整合性を合わせた状態で保持している。
特開2001−318801号公報
しかしながら、上記した従来の完全二重化システムは、システムを再構築する場合にオンライン業務の停止時間が長くなる恐れがあるという問題点があった。
すなわち、完全二重化システムは、障害の発生により一時切り離された旧運用ノードを新待機ノードとして組み込んでシステムを再構築する場合には、新待機ノード内のデータベースと、新運用ノード内のデータベースとの整合性が取れていない恐れがあるので、新運用ノード内のディスクに記録されている全てのデータを、新待機系ノードとしてシステム内に組み込まれる旧運用ノード内のディスクにあらかじめ複写していた。そのため、複写されるデータの規模に比例してオンライン業務の停止時間が長くなる恐れがあるという問題点があった。
また、このようにしてシステムを再構築する場合には、新運用ノード内のディスクに記録されている全てのデータを複写するための退避領域を、待機系ノードとしてシステム内に組み込まれる旧運用ノード内のディスクに確保する必要があるとともに、搬送コストを考慮しなければならない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、障害の発生により一時切り離された旧運用ノードを新待機ノードとして組み込んでシステムを再構築する場合に、オンライン業務の停止時間を無くすことが可能な完全二重化システム、システム制御方法およびシステム制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成され、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開する完全二重化システムであって、前記オンライン業務が再開されるまでの旧運用系ノード内のデータベースに対する変更の履歴を記憶する変更履歴記憶手段と、前記変更履歴記憶手段に記憶されている変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を記憶する変更履歴補正情報記憶手段と、前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶手段に記憶されている変更の履歴を補正する変更履歴補正手段と、前記変更履歴補正手段により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、旧運用系ノード内のデータベースを復元するデータベース復元手段と、を備えたことを特徴とする。
また、本発明は、上記の発明において、前記変更履歴補正手段は、前記変更履歴記憶手段により記憶されている変更の履歴と、前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報とを比較した結果、当該変更の履歴が先行している場合には、当該変更の履歴において先行している箇所を無効化することにより当該変更の履歴を補正することを特徴とする。
また、本発明は、上記の発明において、前記変更履歴補正手段は、前記変更履歴記憶手段により記憶されている変更の履歴と、前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報とを比較した結果、当該変更履歴補正情報が先行している場合には、当該変更履歴補正情報において先行している箇所を当該変更の履歴に補完することにより補正することを特徴とする。
また、本発明は、上記の発明において、前記データベース復元手段によりデータベースが復元された旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築する場合に、前記オンライン業務の再開後システムを再構築するまでに発生した前記新運用系ノード内のデータベースに対する変更を前記新待機系ノード内のデータベースに反映する変更反映手段をさらに備えたことを特徴とする。
また、本発明は、ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成される完全二重化システムにおいて、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開するように制御するシステム制御方法であって、前記オンライン業務が再開されるまでの旧運用系ノード内のデータベースに対する変更の履歴を記憶部に記憶する変更履歴記憶工程と、前記変更履歴記憶工程により記憶部に記憶されている変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を記憶部に記憶する変更履歴補正情報記憶工程と、前記変更履歴補正情報記憶工程により記憶部に記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶工程により記憶部に記憶されている変更の履歴を補正する変更履歴補正工程と、前記変更履歴補正工程により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、旧運用系ノード内のデータベースを復元するデータベース復元工程と、を含んだことを特徴とする。
また、本発明は、ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成される完全二重化システムにおいて、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開するように制御する処理をコンピュータに実行させるシステム制御プログラムであって、前記オンライン業務が再開されるまでの旧運用系ノード内のデータベースに対する変更の履歴を記憶部に記憶する変更履歴記憶手順と、前記変更履歴記憶手順により記憶部に記憶されている変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を記憶部に記憶する変更履歴補正情報記憶手順と、前記変更履歴補正情報記憶手順により記憶部に記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶手順により記憶部に記憶されている変更の履歴を補正する変更履歴補正手順と、前記変更履歴補正手順により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、旧運用系ノード内のデータベースを復元するデータベース復元手順と、をコンピュータに実行させることを特徴とする。
本発明によれば、オンライン業務が再開されるまでの旧運用系ノード内のデータベースに対する変更の履歴を記憶し(例えば、ユーザからの指示内容やコミットされたデータベースへの変更など、ユーザの要求に応じて実行したオンラインの業務に関する情報をトランザクションごとに記憶する)、記憶されている変更の履歴をオンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を記憶し、変更履歴補正情報を用いて、オンライン業務の再開時点の状態にまで変更の履歴を補正し、補正された変更の履歴に基づいて、オンライン業務の再開時点の状態にまで、旧運用系ノード内のデータベースを復元するので、業務を引き続いて処理する新運用系ノードによるオンライン業務の再開時点の状態まで、旧運用系ノードに備えられたデータベースを簡易な方法で新運用系ノード内のデータベースと等価にする(データの整合性を取る)ことが可能である。また、オンライン業務の再開時点の状態にまでデータベースを簡易な方法で等価にすることが可能である結果、運用系ノードにおける障害の発生に起因したシステムの再構築を実行する場合に、オンライン業務の停止時間を無くすことが可能である。
また、本発明によれば、記憶されている変更の履歴と変更履歴補正情報とを比較した結果、変更の履歴に記憶されている情報が先行している場合には、先行している情報を無効化することにより変更の履歴を補正し、変更履歴補正情報に記憶されている情報が先行している場合には、先行している情報を変更の履歴に補完することにより補正するので、変更履歴補正情報を基準とすることで、オンライン業務再開時点の状態にまで、変更の履歴を簡易な方法で補正することが可能である。
また、本発明によれば、オンライン業務の再開時点の状態にまでデータベースが復元された旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築し、オンライン業務の再開後、システムが再構築されるまでに発生した新運用系ノード内のデータベースに対する変更を新待機系ノード内のデータベースに反映するので、オンライン業務の再開後、システム再構築以前までに新運用系ノード内のデータベースに発生した変更について、漏らさずに新運用形ノード内のデータベースに反映することができ、データベースの冗長化を担保することが可能である。
以下に添付図面を参照して、本発明に係る完全二重化システム、システム制御方法およびシステム制御プログラムの実施例を詳細に説明する。なお、以下では、本発明に係る完全二重化システムについて実施例1として説明した後に、本発明に係る他の実施例を説明する。
以下の実施例1では、実施例1に係る完全二重化システムの概要および特徴、完全二重化システムを構成する各ノード構成および処理を順に説明し、最後に実施例1による効果を説明する。
[完全二重化システムの概要および特徴(実施例1)]
まず最初に、図1〜図6を用いて、実施例1に係る完全二重化システムの概要および特徴を説明する。図1〜図6は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。
実施例1に係る完全二重化システムは、ユーザからの要求に応じたオンライン業務を実行する運用ノード、および当該運用ノードをリカバリするための待機ノードを含んで構成され、当該運用ノードに障害が発生した場合には、当該待機ノードを新運用ノードとして切り替えてからオンライン業務を再開することを概要とする。そして、本発明に係る完全二重化システムは、障害の発生により一時切り離された旧運用ノードを新待機ノードとして組み込んでシステムを再構築する場合に、オンライン業務の停止時間を無くすことが可能である点に主たる特徴がある。
まず、実施例1に係る完全二重化システムの通常の運用状態時における処理について説明する。図1に示すように、実施例1に係る完全二重化システムは、APサーバ10からの要求に応じたオンライン業務に関する処理を実行する運用ノード20、および運用ノード20をリカバリするための待機ノード30で二重化され、APサーバ10とネットワークなどにより通信可能に接続される。
APサーバ10には、オンライン業務に対応した業務アプリケーション11および接続装置12が含まれる。そして、APサーバ10は、ユーザからの操作を受け付けて、その操作内容に応じたオンライン業務に関する要求(例えば、一連の処理単位であるトランザクションの処理要求)を接続装置12から運用ノード20に通知する。
運用ノード20は、DB(データベース)サーバ21およびストレージ22を含んで構成される。このうち、DBサーバ21は、ストレージ22に対するアクセス等を管理制御するDBMS(DataBase Management System)21aと、各ノード(運用ノード20および待機ノード30)に備えられたデータベース間の整合性を合わせる(同値性を保証する)ための複製制御装置21bとから構成される。
ストレージ22は、オンライン業務に関する処理データを記憶するDB(データベース)22aと、ユーザからの要求に応じたオンライン業務に関する処理の履歴(例えば、ユーザからの指示内容やコミットされたデータベースへの変更など、ユーザの要求に応じて実行したオンラインの業務に関するトランザクションごとの情報、以下、「リカバリログ」と記す)をファイル形式で記憶するリカバリログ記憶部22bと、運用ノード20が異常となり、待機ノード30でオンライン業務を再開した以降にDB32aの更新結果をDB22aに反映するためのログ(以下、「差分ログ」と記す)をファイル形式で記憶する差分ログ記憶部22cとから構成される。
また、ストレージ32に配置されている差分ログ記憶部32cは、差分ログ記憶部22cと同様に、通常はDB22aの更新結果をDB32aに反映するために利用される。さらに、差分ログ記憶部32cは、異常となった運用ノード20を新たな待機ノードとして組み込むときには、リカバリログ記憶部22bに記憶されているリカバリログを補正するためのログとしても利用される。なお、差分ログには、各ノードに備えられたデータベース間の整合性(同値性)を保証するための情報と、自己のデータベースをリカバリするための情報とを含んで構成されている。
待機ノード30は、運用ノード20と同様の構成であり、DBサーバ31およびストレージ32から構成される。同様に、DBサーバ31は、DBMS31aおよび複製制御装置31bから構成され、ストレージ32は、DB32a、リカバリログ記憶部32bおよび差分ログ記憶部32cとから構成される。
このような構成のもと、通常の運用時において、運用ノード20のDBサーバ21は、APサーバ10から通知されるユーザからの要求に応じたオンライン業務に関する処理を実行するとともに、その処理内容に関するログを取得して、リカバリログ記憶部22bにリカバリログとして格納する(図1の(1)参照)。また、DBサーバ21は、取得したログを差分ログとして、複製制御装置21bを介して、待機ノード30における差分ログ記憶部32cに格納する(図1の(2)参照)。さらに、待機ノード30のDBサーバ31は、差分ログ記憶部32cに記憶されている差分ログの内容についてDBMS31aに更新依頼を行う。この延長でDBMS31aおよび複製制御装置31bは、リカバリログ記憶部32bに記憶されているリカバリログに差分ログの内容を反映させるとともに、DBMS31aは、リカバリログ記憶部32bに記憶されているリカバリログに基づいてDB32aを更新する(図1の(3)参照)。
次に、運用ノードに障害が発生した場合の運用状態について説明する。図2に示すように、運用ノード20に障害が発生すると、運用ノード20をシステムから切り離すとともに、待機ノード30を新運用ノードに切り替える処理を実行する。この場合において、待機ノード30のDBサーバ31は、差分ログ記憶部32cに記憶されている差分ログの中から、コミットされている(トランザクションの処理が確定している)差分ログの内容についてDBMS31aに更新依頼を行う。この延長でDBMS31aおよび複製制御装置31bは、リカバリログ記憶部32b内のリカバリログに差分ログの内容を反映させるとともに、DBMS31aは、リカバリログ記憶部32bに記憶されているリカバリログに基づいてDB32aを更新する。
そして、新運用ノード30’のDBサーバ31’は、図3に示すように、APサーバ10から通知されるユーザからの要求に応じたオンライン業務に関する処理を引き継いで実行する前に、その処理内容に関するログを取得した場合には、旧運用ノード20’のストレージ22’の差分ログ記憶部22c’に差分ログとして格納する準備を整える(図3の(1)参照)。その後、新運用ノード30’のDBサーバ31’は、オンライン業務に関する処理を再開する(図3の(2)参照)。
このようにして、実施例1に係る完全二重化システムは、通常の運用状態および障害発生時の運用状態の処理を実行するが、以下に説明するように、旧運用ノード20’を新待機ノードとして組み込んでシステムを再構築する場合の処理に主たる特徴がある。
すなわち、図4に示すように、旧運用ノード20’のDBサーバ21’は、差分ログ記憶部32c’に記憶されている差分ログを用いて、リカバリログ記憶部22b’に記憶されているリカバリログを補正する。具体的に説明すると、複製制御装置21b’およびDBMS21a’は、差分ログ記憶部32c’に記憶されている差分ログファイルの最終通番(以下、「最終差分ログ通番」と記す)と、リカバリログ記憶部22b’に記憶されているリカバリログファイルの最終通番(以下、「最終リカバリログ通番」と記す)との比較結果に応じて、リカバリログファイルの内容を補正する。
ここで、補正の内容について具体的に説明する。複製制御装置21b’およびDBMS21a’は、最終差分ログ通番と最終リカバリログ通番とを比較した結果、最終差分ログ通番が先行している場合には、リカバリログファイルに記憶されていないログの内容を差分ログファイルから補完することにより、リカバリログファイルの内容を補正する。一方、最終差分ログ通番と最終リカバリログ通番とを比較した結果、最終リカバリログ通番が先行している場合には、リカバリログファイルに記憶されているリカバリログの内、最終差分ログ通番より新しいものを全て無効化する(リカバリログファイルの中から削除する)。なお、最終差分ログ通番と最終リカバリログ通番とが一致する場合には特に補正は行わない。
複製制御装置21b’およびDBMS21a’によりリカバリログファイルの内容が補正された後、旧運用ノード20’のDBMS21a’は、図5に示すように、リカバリログ記憶部22b’に記憶されている補正されたリカバリログに基づいてDB22a’を更新する。このようにして、旧運用ノード22’のDB22a’は、障害の発生により、待機ノード30を新運用ノード30’に切替えてオンライン業務を再開した場合、ノードを切替えた時点でDB22a‘とDB32a’の内容が不整合な状態になったとしても、オンライン業務再開時の新運用ノード30’のDB32a’の状態にまで復元される。
そして、実施例1に係る完全二重化システムは、旧運用ノード20’を新待機ノードとして組み込んでシステムを再構築する。この場合において、DBサーバ21’は、図6に示すように、新運用ノード30’によるオンライン業務の再開後システムを再構築するまでに、差分ログ記憶部22c’に格納された差分ログの内容(業務の再開により新たに発生したDB変更等の処理内容)についてDBMS21a’に更新依頼を行う。この延長でDBMS21a’および複製制御装置21b’は、リカバリログ記憶部22b’に記憶されているリカバリログに差分ログの内容を反映させるとともに、DBMS21a’は、差分ログの内容が反映されたリカバリログ記憶部22’に記憶されているリカバリログに基づいてDB22a’の更新を開始する。つまり、新運用ノード30’および旧運用ノード20’にそれぞれ備えられたDB32aとDB22a’との間の整合性を合わせた上で(同値性を保証した上で)、システムを再構築する趣旨である。
このようなことから、実施例1に係る完全二重化システムは、障害の発生により一時切り離された旧運用ノードを新待機ノードとして組み込んでシステムを再構築する場合に、オンライン業務の停止時間を無くすことが可能である。
[各ノードの構成(実施例1)]
次に、図7を用いて、実施例1に係る完全二重化システムを構成する各ノードの構成を説明する。図7は、実施例1に係る各ノード構成を示すブロック図である。なお、同図では、実施例1に係る各ノードを説明する上で密接に関連する処理構成部のみを記載し、その他の処理構成部については記載を省略する。
同図に示すように、実施例1に係る各ノード(運用ノードおよび待機ノード)は、DBサーバおよびストレージを含んで構成される。
このうち、ストレージは、オンライン業務に関するデータおよびプログラムを記憶する。そして、このストレージは、特に本発明に密接に関連するものとして、オンライン業務に関する処理データを記憶するDB(データベース)と、ユーザからの要求に応じたオンライン業務に関する処理の履歴(以下、「リカバリログ」と記す)をファイル形式で記憶するリカバリログ記憶部と、リカバリログ記憶部に記憶されているリカバリログを補正するためのログ(以下、「差分ログ」と記す)をファイル形式で記憶する差分ログ記憶部とを含んで構成される。
DBサーバは、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、このDBサーバは、特に本発明に密接に関連するものとして、ストレージに対するアクセス等を管理制御するDBMS(DataBase Management System)と、各ノード(運用ノードおよび待機ノード)に備えられたデータベース間の整合性を合わせる(同値性を保証する)ための複製制御装置とを含んで構成される。
このうち、複製制御装置は、本発明に密接に関連するものとして、差分ログ読込処理部と、リカバリログ読込処理部と、リカバリログ補正処理部と、差分ログ反映処理部とから構成される。なお、以下では、旧運用ノードを新待機ノードとして組み込む処理において必要とされるリカバリログの補正処理を中心に説明する。
旧運用ノードの差分ログ読込処理部は、新運用ノードの差分ログ記憶部に記憶されている差分ログファイルを順に一つずつ最後まで読み込んだ後、最後の差分ログファイルに付与されている差分ログ通番を最終差分ログ通番として設定して、旧運用ノードのリカバリログ補正処理部に通知する。また、旧運用ノードの差分ログ読込処理部は、旧運用ノードのリカバリログ読込処理部から最終リカバリログ通番を受け付けると、最終リカバリログ通番以降の差分ログファイルを新運用ノードの差分ログ記憶部から順に一つずつ最後まで読み込む。
旧運用ノードのリカバリログ読込処理部は、旧運用ノードのリカバリログ記憶部に記憶されているリカバリログファイルを順に一つずつ最後まで読み込んだ後、最後のリカバリログファイルに付与されているリカバリログ通番を最終リカバリログ通番として設定して、旧運用ノードの差分ログ読込処理部、および旧運用ノードのリカバリログ補正処理部に通知する。
旧運用ノードのリカバリログ補正処理部およびDBMSは、旧運用ノードの差分ログ読込処理部から受け付けた最終差分ログ通番と、旧運用ノードのリカバリログ読込処理部から受け付けた最終リカバリログ通番とを用いて、旧運用ノードのリカバリログ記憶部に記憶されているリカバリログを補正する。
具体的に説明すると、旧運用ノードのリカバリログ補正処理部およびDBMSは、最終差分ログ通番および最終リカバリログ通番をそれぞれ受け付けると、最終差分ログ通番と最終リカバリログ通番とを比較して、最終差分ログ通番が先行しているか否か検証する。
検証の結果、最終差分ログ通番が先行している場合には、旧運用ノードのリカバリログ補正処理部およびDBMSは、先行している差分ログファイルを順に一つずつ読み込む。次に、旧運用ノードのリカバリログ補正処理部およびDBMSは、読み込んだ差分ログファイルをリカバリログファイルに補完して、リカバリログファイルの内容を補正する(図8参照)。
そして、旧運用ノードのリカバリログ補正処理部およびDBMSは、読み込んだ差分ログファイルの差分ログ通番が最終差分ログ通番であるか否か判定する。判定の結果、最終差分ログ通番である場合には、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイル補正処理を終了する。これとは反対に、読み込んだ差分ログファイルの差分ログ通番が最終差分ログ通番ではない場合には、旧運用ノードのリカバリログ補正処理部およびDBMSは、次の差分ログファイルを読み込む。
旧運用ノードのリカバリログ補正処理部およびDBMSは、最終差分ログ通番と最終リカバリログ通番とを比較した結果、最終リカバリログ通番が先行していない場合には、最終リカバリログ通番が先行しているか否か検証する。検証の結果、最終リカバリログ通番が先行している場合には、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイルに記憶されているリカバリログの内、最終差分ログ通番より新しいものを全て無効化する(リカバリログファイルの中から削除する、図9参照)。これとは反対に、検証の結果、最終リカバリログ通番が先行していない場合(すなわち、最終差分ログ通番と最終リカバリログ通番とが一致する場合)には、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイル補正処理を終了する。
旧運用ノードのDBMSは、旧運用ノードのリカバリログ補正処理部およびDBMSによりリカバリログファイルの内容が補正された後、旧運用ノードのリカバリログ記憶部に記憶されている補正されたリカバリログに基づいて、旧運用ノードのDBを更新する(図5参照)。このようにして、旧運用ノードのDBは、障害の発生により、待機ノードを新運用ノードに切替えてオンライン業務を再開した場合、ノードを切替えた時点でDB間の内容が不整合な状態になったとしても、オンライン業務再開時の新運用ノードのDBの状態にまで復元される。
そして、DBサーバからの更新依頼を受け付けて、旧運用ノードの差分ログ反映処理部およびDBMSは、新運用ノードによるオンライン業務の再開後システムを再構築するまでに、差分ログ記憶部に格納された差分ログの内容(業務の再開により新たに発生したDB変更等の処理内容)をリカバリログ記憶部に記憶されているリカバリログに反映させる。その後、旧運用ノードのDBMSは、差分ログの内容が反映されたリカバリログに基づいて、旧運用ノードのDBの更新を開始する。このようにして、業務の再開により新たに発生した新運用ノードにおけるDB変更等の処理内容を旧運用ノードのDBに反映させる。つまり、新運用ノードおよび新待機ノードにそれぞれ備えられたDB間の整合性を合わせた上で(同値性を保証した上で)、システムを再構築する趣旨である。
このようにして、新運用ノードのDBと整合性を合わせたDBを備える旧運用ノードを新待機ノードとして組み込んでシステムの再構築を完了する。
なお、上述してきた差分ログ読込処理部、リカバリログ読込処理部、リカバリログ補正処理部、およびリカバリログ反映処理部における処理は、効率的に処理が行えるように、それぞれが非同期に行われる。
[各ノードによる処理(実施例1)]
続いて、図10〜図14を用いて、実施例1に係る各ノードによる処理を説明する。図10は、実施例1に係る差分ログファイル読込処理の流れを示すフローチャートであり、図11は、実施例1に係るリカバリログファイル読込処理の流れを示すフローチャートであり、図12は、実施例1に係るリカバリログファイル補正処理の流れを示すフローチャートであり、図13は、実施例1に係るシステム再構築処理の流れを示すフローチャートである。
[ログファイル読込処理(実施例1)]
まず、図10を用いて、実施例1に係るログファイル読込処理の流れを説明する。
同図に示すように、旧運用ノードの差分ログ読込処理部は、新運用ノードの差分ログ記憶部に記憶されている差分ログファイルを順に一つずつ読み込み(ステップS1001)、読み込んだファイルが最後の差分ログファイルであるか否か確認する(ステップS1002)。確認の結果、読み込んだファイルが最後の差分ログファイルである場合には(ステップS1002肯定)、旧運用ノードの差分ログ読込処理部は、最後の差分ログファイルに付与されている差分ログ通番を最終差分ログ通番として設定して、旧運用ノードのリカバリログ補正処理部に通知する(ステップS1003)。一方、読み込んだファイルが最後の差分ログファイルではない場合には(ステップS1002否定)、旧運用ノードの差分ログ読込処理部は、差分ログ記憶部から次の差分ログファイルを読み込む。
[リカバリログファイル読込処理(実施例1)]
次に、図12を用いて、実施例1に係るリカバリログファイル読込処理の流れを説明する。
同図に示すように、旧運用ノードのリカバリログ読込処理部は、リカバリログ記憶部に記憶されているリカバリログファイルを順に一つずつ読み込み(ステップS1201)、読み込んだファイルが最後のリカバリログファイルであるか否か確認する(ステップS1202)。確認の結果、読み込んだファイルが最後のリカバリログファイルである場合には(ステップS1202肯定)、旧運用ノードのリカバリログ読込処理部は、最後のリカバリログファイルに付与されているリカバリログ通番を最終リカバリログ通番として設定して、旧運用ノードのリカバリログ補正処理部に通知する(ステップS1203)。一方、読み込んだファイルが最後のリカバリログファイルではない場合には(ステップS1202否定)、旧運用ノードのリカバリログ読込処理部は、リカバリログ記憶部から次のリカバリログファイルを読み込む。
[リカバリログファイル補正処理(実施例1)]
続いて、図12を用いて、実施例1に係るリカバリログファイル補正処理の流れを説明する。
旧運用ノードのリカバリログ補正処理部およびDBMSは、旧運用ノードの差分ログ読込処理部から受け付けた最終差分ログ通番と、旧運用ノードのリカバリログ読込処理部から受け付けた最終リカバリログ通番とを用いて、旧運用ノードのリカバリログ記憶部に記憶されているリカバリログを補正する。
すなわち、同図に示すように、旧運用ノードのリカバリログ補正処理部およびDBMSは、最終差分ログ通番および最終リカバリログ通番をそれぞれ受け付けると(ステップS1201肯定)、最終差分ログ通番と最終リカバリログ通番とを比較して(ステップS1202)、最終差分ログ通番が先行しているか否か検証する(ステップS1203)。
検証の結果、最終差分ログ通番が先行している場合には(ステップS1203肯定)、旧運用ノードのリカバリログ補正処理部およびDBMSは、先行している差分ログファイルを順に一つずつ読み込む(ステップS1204)。次に、旧運用ノードのリカバリログ補正処理部およびDBMSは、読み込んだ差分ログファイルをリカバリログファイルに補完して(ステップS1205)、リカバリログファイルの内容を補正する(図8参照)。
そして、旧運用ノードのリカバリログ補正処理部およびDBMSは、読み込んだ差分ログファイルの差分ログ通番が最終差分ログ通番であるか否か判定する(ステップS1206)。判定の結果、最終差分ログ通番である場合には(ステップS1206肯定)、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイル補正処理を終了する。これとは反対に、読み込んだ差分ログファイルの差分ログ通番が最終差分ログ通番ではない場合には(ステップS1206否定)、旧運用ノードのリカバリログ補正処理部およびDBMSは、次の差分ログファイルを読み込む。
再び、ステップS1203の説明に戻ると、旧運用ノードのリカバリログ補正処理部およびDBMSは、最終差分ログ通番と最終リカバリログ通番とを比較した結果、最終リカバリログ通番が先行していない場合には(ステップS1203否定)、最終リカバリログ通番が先行しているか否か検証する(ステップS1207)。検証の結果、最終リカバリログ通番が先行している場合には(ステップS1207肯定)、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイルに記憶されているリカバリログの内、最終差分ログ通番より新しいものを全て無効化する(リカバリログファイルの中から削除する、図9参照)(ステップS1208)。これとは反対に、検証の結果、最終リカバリログ通番が先行していない場合(すなわち、最終差分ログ通番と最終リカバリログ通番とが一致する場合)には(ステップS1207否定)、旧運用ノードのリカバリログ補正処理部およびDBMSは、リカバリログファイル補正処理を終了する。
[システム再構築処理(実施例1)]
最後に、図13を用いて、実施例1に係るシステム再構築処理の流れを説明する。
同図に示すように、旧運用ノードのDBMSは、旧運用ノードのリカバリログ補正処理部およびDBMSによりリカバリログファイルの内容が補正された後、旧運用ノードのリカバリログ記憶部に記憶されている補正されたリカバリログに基づいて、旧運用ノードのDBを更新する(ステップS1301)。このようにして、旧運用ノードのDBは、障害の発生により、待機ノードを新運用ノードに切替えてオンライン業務を再開した場合、ノードを切替えた時点でDB22a‘とDB32a’の内容が不整合な状態になったとしても、オンライン業務再開時の新待機ノードのDBの状態にまで復元される。
そして、DBサーバからの更新依頼を受け付けて、旧運用ノードの差分ログ反映処理部およびDBMSは、新運用ノードによるオンライン業務の再開後システムを再構築するまでに、差分ログ記憶部に格納された差分ログの内容(業務の再開により新たに発生したDB変更等の処理内容)をリカバリログ記憶部に記憶されているリカバリログに反映させる。その後、旧運用ノードのDBMSは、差分ログの内容が反映されたリカバリログに基づいて、旧運用ノードのDBの更新を開始する。このようにして、業務の再開により新たに発生した新運用ノードにおけるDB変更等の処理内容を旧運用ノードのDBに反映させる。(ステップS1302)。つまり、新運用ノードおよび旧運用ノードにそれぞれ備えられたDB間の整合性を合わせた上で(同値性を保証した上で)、システムを再構築する趣旨である。
このようにして、新運用ノードのDBと整合性を合わせたDBを備える旧運用ノードを新待機ノードとして組み込んでシステムの再構築を完了する。
[実施例1による効果]
上述してきたように、実施例1によれば、オンライン業務が再開されるまでの旧運用ノード内のデータベースに対する変更の履歴であるリカバリログを記憶し(例えば、ユーザからの指示内容やコミットされたデータベースへの変更など、ユーザの要求に応じて実行したオンラインの業務に関する情報をトランザクションごとに記憶する)、記憶されているリカバリログをオンライン業務の再開時点の状態にまで補正するために用いる差分ログを記憶し、記憶されている差分ログを用いて、オンライン業務の再開時点の状態にまで、リカバリログを補正し、補正されたリカバリログに基づいて、オンライン業務の再開時点の状態にまで、旧運用系ノード内のデータベースを復元するので、業務を引き続いて処理する新運用系ノードによるオンライン業務の再開時点の状態まで、旧運用系ノードに備えられたデータベースを簡易な方法で新運用系ノード内のデータベースと等価にする(データの整合性を取る)ことが可能である。また、オンライン業務の再開時点の状態にまでデータベースを簡易な方法で等価にすることが可能である結果、運用系ノードにおける障害の発生に起因したシステムの再構築を実行する場合に、オンライン業務の停止時間を無くすことが可能である。
また、実施例1によれば、記憶されているリカバリログと差分ログとを比較した結果、リカバリログに記憶されている情報が先行している場合には、先行している情報を無効化することによりリカバリログを補正し、差分ログに記憶されている情報が先行している場合には、先行している情報をリカバリログに補完することにより補正するので、差分ログを基準とすることで、オンライン業務再開時点の状態にまで、リカバリログを簡易な方法で補正することが可能である。
また、実施例1によれば、オンライン業務の再開時点の状態にまでデータベースが復元された旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築する場合に、オンライン業務の再開後、システムが再構築されるまでに発生した新運用系ノード内のデータベースに対する変更を新待機系ノード内のデータベースに反映するので、オンライン業務の再開後、システム再構築以前までに新運用系ノード内のデータベースに発生した変更について、漏らさずに新運用形ノード内のデータベースに反映することができ、データベースの冗長化を担保することが可能である。
また、上記の実施例1では、運用ノードにおいて記憶されているリカバリログを補正するための差分ログを待機ノードにおいて保存する場合を説明したが、本発明はこれに限定されるものではなく、運用ノードにおいて差分ログを保存して待機ノード側に転送するとともに、転送されてきた差分ログを待機ノード側でさらに保存するようにしてもよい。
また、上記の実施例1において、運用ノードでコミット処理を実行した場合に、リカバリログおよび差分ログの書き込みが完了した旨の書き込み確認通知のやり取りや、書き込み完了情報の参照などにより、リカバリログおよび差分ログの書き込み保証を行うようにしてもよく、ノード間の差分転送を同期モードで転送しても、非同期モードで転送してもよい。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明の含まれる他の実施例を説明する。
(1)装置構成等
図7に示した複製制御装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、リカバリログ補正処理部と差分ログ反映処理部とを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、複製制御装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(2)システム制御プログラム
ところで、上記の実施例で説明した各種の処理(例えば、図13および図14参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、図15を用いて、上記の実施例と同様の機能を有するシステム制御プログラムを実行するコンピュータの一例を説明する。図15は、システム制御プログラムを実行するコンピュータを示す図である。
同図に示すように、複製制御装置としてコンピュータ40は、通信制御I/F部41、HDD42、RAM43、ROM44およびCPU45をバス50で接続して構成される。
そして、ROM44には、上記の実施例に示した複製制御装置と同様の機能を発揮するシステム制御プログラム、つまり、図15に示すように、リカバリログファイル読込処理プログラム44a、差分ログファイル読込処理プログラム44b、リカバリログファイル補正処理プログラム44cおよび差分ログファイル反映処理プログラム44dがあらかじめ記憶されている。なお、これらのプログラム44a、44b、44cおよび44dについては、図7に示した複製制御装置の各構成要素と同様、適宜統合または分散してもよい。なお、ROM44は、不揮発性の「RAM」でもよい。
そして、CPU45が、これらのプログラム44a、44b、44cおよび44dをROM44から読み出して実行することで、図15に示すように、各プログラム44a、44b、44cおよび44dは、リカバリログファイル読込処理プロセス45a、差分ログファイル読込処理プロセス45b、リカバリログファイル補正処理プロセス45cおよび差分ログファイル反映処理プロセス45dとして機能するようになる。なお、各プロセス45a、45b、45cおよび45dは、図7に示した複製制御装置のリカバリログ読込処理部、差分ログ読込処理部、リカバリログ補正処理部および差分ログ反映処理部にそれぞれ対応する。
また、HDD42には、図15に示すように、リカバリログファイルデータテーブル42a、差分ログファイルデータテーブル42bおよびデータベースデータテーブル42cがそれぞれ設けられる。なお、リカバリログファイルデータテーブル42a、差分ログファイルデータテーブル42bおよびデータベースデータテーブル42cは、図7に示したリカバリログ記憶部、差分ログ記憶部およびDBにそれぞれ対応する。そして、CPU45は、リカバリログファイルデータテーブル42a、差分ログファイルデータテーブル42bおよびデータベースデータテーブル42cから、リカバリログファイルデータ43a、差分ログファイルデータ43bおよびデータベースデータ43cをそれぞれ読み出してRAM43に格納し、RAM43に格納されたリカバリログファイルデータ43a、差分ログファイルデータ43bおよびデータベースデータ43cに基づいて処理を実行する。
なお、上記した各プログラム44a、44b、44cおよび44dについては、必ずしも最初からROM44に記憶させておく必要はなく、例えば、コンピュータ40に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ40の内外に備えられるHDDなどの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ40に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ40がこれらから各プログラムを読み出して実行するようにしてもよい。
図1は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図2は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図3は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図4は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図5は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図6は、実施例1に係る完全二重化システムの概要および特徴を説明するための図である。 図7は、実施例1に係る各ノード構成を示すブロック図である。 図8は、実施例1に係るリカバリログファイルの補正例を示す図である。 図9は、実施例1に係るリカバリログファイルの補正例を示す図である。 図10は、実施例1に係る差分ログファイル読込処理の流れを示すフローチャートである。 図11は、実施例1に係るリカバリログファイル読込処理の流れを示すフローチャートである。 図12は、実施例1に係るリカバリログファイル補正処理の流れを示すフローチャートである。 図13は、実施例1に係るシステム再構築処理の流れを示すフローチャートである。 図14は、システム制御プログラムを実行するコンピュータを示す図である。
10 APサーバ
11 業務アプリケーション
12 接続装置
20 運用ノード
21 DBサーバ
21a DBMS
21b 複製制御装置
22 ストレージ
22a DB
22b リカバリログ記憶部
22c 差分ログ記憶部
30 待機ノード
31 DBサーバ
31a DBMS
31b 複製制御装置
32 ストレージ
32a DB
32b リカバリログ記憶部
32c 差分ログ記憶部
40 コンピュータ
41 通信制御I/F部
42 HDD(Hard Disk Drive)
43 RAM(Random Access Memory)
44 ROM(Read Only Memory)
45 CPU(Central Processing Unit)
50 バス

Claims (12)

  1. ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成され、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開する二重化システムであって、
    前記新運用系ノードは、
    前記オンライン業務が再開されるまでの前記運用系ノードである旧運用系ノード内のデータベースに対する変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を記憶する変更履歴補正情報記憶手段
    を備え、
    前記旧運用系ノードは、
    前記オンライン業務が再開されるまでの前記旧運用系ノード内のデータベースに対する変更の履歴を記憶する変更履歴記憶手段と、
    前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶手段に記憶されている変更の履歴を補正する変更履歴補正手段と、
    前記変更履歴補正手段により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、前記旧運用系ノード内のデータベースを復元するデータベース復元手段と、
    前記データベース復元手段により前記旧運用系ノード内のデータベースを復元後、前記旧運用系ノードを新待機系ノードとして前記二重化システムに組み込む制御手段と、
    を備えた
    ことを特徴とする二重化システム。
  2. 前記変更履歴補正手段は、前記変更履歴記憶手段により記憶されている変更の履歴と、前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報とを比較した結果、当該変更の履歴が先行している場合には、当該変更の履歴において先行している箇所を無効化することにより当該変更の履歴を補正する
    ことを特徴とする請求項1に記載の二重化システム。
  3. 前記変更履歴補正手段は、前記変更履歴記憶手段により記憶されている変更の履歴と、前記変更履歴補正情報記憶手段により記憶されている前記変更履歴補正情報とを比較した結果、当該変更履歴補正情報が先行している場合には、当該変更履歴補正情報において先
    行している箇所を当該変更の履歴に補完することにより補正する
    ことを特徴とする請求項1に記載の二重化システム。
  4. 前記旧運用系ノードは、
    前記データベース復元手段によりデータベースが復元された前記旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築する場合に、前記オンライン業務の再開後システムを再構築するまでに発生した前記新運用系ノード内のデータベースに対する変更を前記新待機系ノードとしての前記旧運用系ノード内のデータベースに反映する変更反映手段
    をさらに備えたことを特徴とする請求項1に記載の二重化システム。
  5. ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成される二重化システムにおいて、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開するように制御するシステム制御方法であって、
    前記運用系ノードである旧運用系ノードが、
    前記オンライン業務が再開されるまでの前記旧運用系ノード内のデータベースに対する変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を前記新運用系ノードが備える変更履歴補正情報記憶部に記憶する変更履歴補正情報記憶工程と、
    前記オンライン業務が再開されるまでの前記旧運用系ノード内のデータベースに対する変更の履歴を自ノードが備える変更履歴記憶部に記憶する変更履歴記憶工程と、
    前記変更履歴補正情報記憶工程により前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶工程により前記変更履歴記憶部に記憶されている変更の履歴を補正する変更履歴補正工程と、
    前記変更履歴補正工程により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、前記旧運用系ノード内のデータベースを復元するデータベース復元工程と、
    前記データベース復元工程により前記旧運用系ノード内のデータベースを復元後、前記旧運用系ノードを新待機系ノードとして前記二重化システムに組み込む制御工程と、
    を実行することを特徴とするシステム制御方法。
  6. さらに、
    前記旧運用系ノードは、
    前記変更履歴補正工程において、自ノードが備える前記変更履歴記憶部に記憶されている変更の履歴と、前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報とを比較した結果、当該変更の履歴が先行している場合には、当該変更の履歴において先行している箇所を無効化することにより当該変更の履歴を補正する
    ことを特徴とする請求項5に記載のシステム制御方法。
  7. さらに、
    前記旧運用系ノードは、
    前記変更履歴補正工程において、自ノードが備える前記変更履歴記憶部に記憶されている変更の履歴と、前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報とを比較した結果、当該変更履歴補正情報が先行している場合には、当該変更履歴補正情報において先行している箇所を当該変更の履歴に補完することにより補正する
    ことを特徴とする請求項5に記載のシステム制御方法。
  8. さらに、
    前記旧運用系ノードは、
    前記データベース復元工程によりデータベースが復元された前記旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築する場合に、前記新待機系ノードとして、前記オンライン業務の再開後システムを再構築するまでに発生した前記新運用系ノード内のデータベースに対する変更を前記新待機系ノード内のデータベースに反映する変更反映工程
    を実行することを特徴とする請求項5に記載のシステム制御方法。
  9. ユーザからの要求に応じたオンライン業務を実行する運用系ノード、および当該運用系ノードをリカバリするための待機系ノードを含んで構成される二重化システムにおいて、当該運用系ノードに障害が発生した場合には、当該待機系ノードを新運用系ノードとして切り替えてからオンライン業務を再開するように制御する処理を各ノードとしてのコンピュータに実行させるシステム制御プログラムであって、
    前記コンピュータに、
    前記新運用系ノードとして、前記オンライン業務が再開されるまでの前記運用系ノードである旧運用系ノード内のデータベースに対する変更の履歴を、前記オンライン業務の再開時点の状態にまで補正するために用いる変更履歴補正情報を自ノードが備える変更履歴補正情報記憶部に記憶する変更履歴補正情報記憶手順と、
    前記旧運用系ノードとして、前記オンライン業務が再開されるまでの前記旧運用系ノード内のデータベースに対する変更の履歴を自ノードが備える変更履歴記憶部に記憶する変更履歴記憶手順と、
    前記旧運用系ノードとして、前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報を用いて、前記オンライン業務の再開時点の状態にまで、前記変更履歴記憶手順により前記変更履歴記憶部に記憶されている変更の履歴を補正する変更履歴補正手順と、
    前記旧運用系ノードとして、前記変更履歴補正手順により補正された変更の履歴に基づいて、前記オンライン業務の再開時点の状態にまで、前記旧運用系ノード内のデータベースを復元するデータベース復元手順と、
    前記データベース復元手順により前記旧運用系ノード内のデータベースを復元後、前記旧運用系ノードを新待機系ノードとして前記二重化システムに組み込む制御手順と、
    の各処理を実行させることを特徴とするシステム制御プログラム。
  10. さらに、
    前記コンピュータに、
    前記変更履歴補正手順において、自ノードが備える前記変更履歴記憶部に記憶されている変更の履歴と、前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報とを比較した結果、当該変更の履歴が先行している場合には、当該変更の履歴において先行している箇所を無効化することにより当該変更の履歴を補正する
    処理を実行させることを特徴とする請求項9に記載のシステム制御プログラム。
  11. さらに、
    前記コンピュータに、
    前記変更履歴補正手順において、自ノードが備える前記変更履歴記記憶部に記憶されている変更の履歴と、前記新運用系ノードが備える前記変更履歴補正情報記憶部に記憶されている前記変更履歴補正情報とを比較した結果、当該変更履歴補正情報が先行している場合には、当該変更履歴補正情報において先行している箇所を当該変更の履歴に補完することにより補正する
    処理を実行させることを特徴とする請求項9に記載のシステム制御プログラム。
  12. さらに、
    前記コンピュータに、
    前記データベース復元手順によりデータベースが復元された前記旧運用系ノードを新待機系ノードとして組み込みこんでシステムを再構築する場合に、前記新待機系ノードとして、前記オンライン業務の再開後システムを再構築するまでに発生した前記新運用系ノード内のデータベースに対する変更を前記新待機系ノード内のデータベースに反映する変更反映手順
    処理を実行させることを特徴とする請求項9に記載のシステム制御プログラム。
JP2009510658A 2007-04-09 2007-04-09 二重化システム、システム制御方法およびシステム制御プログラム Active JP5201133B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/057853 WO2008129620A1 (ja) 2007-04-09 2007-04-09 完全二重化システム、システム制御方法およびシステム制御プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012275172A Division JP5488681B2 (ja) 2012-12-17 2012-12-17 二重化システム、制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2008129620A1 JPWO2008129620A1 (ja) 2010-07-22
JP5201133B2 true JP5201133B2 (ja) 2013-06-05

Family

ID=39875168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009510658A Active JP5201133B2 (ja) 2007-04-09 2007-04-09 二重化システム、システム制御方法およびシステム制御プログラム

Country Status (3)

Country Link
US (1) US20100017648A1 (ja)
JP (1) JP5201133B2 (ja)
WO (1) WO2008129620A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677294A (zh) * 2019-09-27 2020-01-10 新华三信息安全技术有限公司 网元设备重启判断方法、装置、控制器及可读存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308536B (zh) * 2009-02-09 2015-10-07 日本电气株式会社 通信系统、通信单元、控制单元和控制方法
WO2010095177A1 (ja) * 2009-02-20 2010-08-26 富士通株式会社 情報処理装置及び制御方法
JP5669179B2 (ja) * 2010-09-03 2015-02-12 日本電気株式会社 情報処理システム
JP2012164075A (ja) * 2011-02-04 2012-08-30 Nippon Telegr & Teleph Corp <Ntt> ストレージ同期システム及び仮想マシン及びストレージ同期方法及びプログラム
JP5863259B2 (ja) * 2011-03-24 2016-02-16 株式会社日立国際電気 ビデオサーバシステム
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
JP7120985B2 (ja) * 2019-12-16 2022-08-17 ヤフー株式会社 データベース管理システム、データベース管理方法、およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216697A (ja) * 1992-02-04 1993-08-27 Nippon Telegr & Teleph Corp <Ntt> 計算機システムの障害回復方法
JP2000250771A (ja) * 1999-02-25 2000-09-14 Nec Corp サーバ二重化方式
JP2001290687A (ja) * 2000-04-04 2001-10-19 Nec Eng Ltd データ同期化制御方式
JP2001337939A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd データ多重化方法およびデータ多重化システム
JP2001344141A (ja) * 2000-03-29 2001-12-14 Fuji Photo Film Co Ltd データバックアップ機能を備えた分散処理システムおよびその処理方法
JP2002132531A (ja) * 2000-10-23 2002-05-10 Nec Corp 二重化システムにおけるデータメンテナンス方式および方法
JP2002183088A (ja) * 2000-12-15 2002-06-28 Hitachi Ltd オンラインシステム回復方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US20020107837A1 (en) * 1998-03-31 2002-08-08 Brian Osborne Method and apparatus for logically reconstructing incomplete records in a database using a transaction log
US6308284B1 (en) * 1998-08-28 2001-10-23 Emc Corporation Method and apparatus for maintaining data coherency
US6397351B1 (en) * 1998-09-28 2002-05-28 International Business Machines Corporation Method and apparatus for rapid data restoration including on-demand output of sorted logged changes
EP1139235B1 (en) * 2000-03-29 2006-05-24 Fuji Photo Film Co., Ltd. Distributed data processing system and method of processing data in distributed data processing system
US7111189B1 (en) * 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
US6862689B2 (en) * 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6480970B1 (en) * 2000-05-17 2002-11-12 Lsi Logic Corporation Method of verifying data consistency between local and remote mirrored data storage systems
US6981177B2 (en) * 2002-04-19 2005-12-27 Computer Associates Think, Inc. Method and system for disaster recovery
GB0227786D0 (en) * 2002-11-29 2003-01-08 Ibm Improved remote copy synchronization in disaster recovery computer systems
US7149919B2 (en) * 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization
US7694177B2 (en) * 2003-07-15 2010-04-06 International Business Machines Corporation Method and system for resynchronizing data between a primary and mirror data storage system
US7620786B2 (en) * 2003-09-12 2009-11-17 Lsi Corporation Storage recovery using a delta log
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US7774646B2 (en) * 2007-07-23 2010-08-10 Netapp, Inc. Surviving storage system takeover by replaying operations in an operations log mirror

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216697A (ja) * 1992-02-04 1993-08-27 Nippon Telegr & Teleph Corp <Ntt> 計算機システムの障害回復方法
JP2000250771A (ja) * 1999-02-25 2000-09-14 Nec Corp サーバ二重化方式
JP2001344141A (ja) * 2000-03-29 2001-12-14 Fuji Photo Film Co Ltd データバックアップ機能を備えた分散処理システムおよびその処理方法
JP2001290687A (ja) * 2000-04-04 2001-10-19 Nec Eng Ltd データ同期化制御方式
JP2001337939A (ja) * 2000-05-25 2001-12-07 Hitachi Ltd データ多重化方法およびデータ多重化システム
JP2002132531A (ja) * 2000-10-23 2002-05-10 Nec Corp 二重化システムにおけるデータメンテナンス方式および方法
JP2002183088A (ja) * 2000-12-15 2002-06-28 Hitachi Ltd オンラインシステム回復方法及びその実施装置並びにその処理プログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677294A (zh) * 2019-09-27 2020-01-10 新华三信息安全技术有限公司 网元设备重启判断方法、装置、控制器及可读存储介质

Also Published As

Publication number Publication date
JPWO2008129620A1 (ja) 2010-07-22
US20100017648A1 (en) 2010-01-21
WO2008129620A1 (ja) 2008-10-30

Similar Documents

Publication Publication Date Title
JP5201133B2 (ja) 二重化システム、システム制御方法およびシステム制御プログラム
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
US7779295B1 (en) Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints
US7353335B2 (en) Storage control method for database recovery in logless mode
CN100440155C (zh) 用于创建虚拟数据拷贝的方法和系统
CN101243446B (zh) 从数据库镜像进行在线页还原
JP4484618B2 (ja) ディザスタリカバリシステム、プログラム及びデータの複製方法
US20070220059A1 (en) Data processing node
US20030097533A1 (en) Storage device, backup method and computer program code of this storage device
US20080140963A1 (en) Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
CN101460930A (zh) 维护数据库与文件系统之间的链接级一致性
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
CN110515557B (zh) 一种集群管理方法、装置、设备及可读存储介质
CN101441582A (zh) 计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品
JP2008217306A (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
CN104750755A (zh) 一种数据库主备切换后的数据回补方法及系统
US10613923B2 (en) Recovering log-structured filesystems from physical replicas
JP2014106567A (ja) ストレージ装置、復旧方法、および復旧プログラム
US10078558B2 (en) Database system control method and database system
US8677088B1 (en) Systems and methods for recovering primary sites after failovers to remote secondary sites
US10235256B2 (en) Systems and methods for highly-available file storage with fast online recovery
JP5488681B2 (ja) 二重化システム、制御方法および制御プログラム
JP2007293821A (ja) データベースシステム管理方法及びデータベースシステム
JP6251965B2 (ja) 情報システムおよびデータベース復旧方法
US8751443B1 (en) Online mirror state transitions for good quality of service and high availability in databases

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5201133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3