JP2010033398A - トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム - Google Patents
トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム Download PDFInfo
- Publication number
- JP2010033398A JP2010033398A JP2008195777A JP2008195777A JP2010033398A JP 2010033398 A JP2010033398 A JP 2010033398A JP 2008195777 A JP2008195777 A JP 2008195777A JP 2008195777 A JP2008195777 A JP 2008195777A JP 2010033398 A JP2010033398 A JP 2010033398A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- update data
- production system
- data
- surrogate
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2038—Error 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 processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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 processing functionality is redundant
- G06F11/2048—Error 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 processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
Abstract
【解決手段】代行システムは、本番システムで処理されたトランザクションについてのデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、少なくとも1の更新データを含むデータを取得し、取得したデータを代行システムの記憶部にコピーする復元部と、更新データと静止点を識別可能にする情報とを蓄積するメッセージ・キューから、静止点を識別可能にする情報を用いて選択され、且つ静止点以降にコミットされた更新データを代行システムの記憶部にコピーするコピー部と、コピー終了に応じて、トランザクションの受付キューから少なくとも1のトランザクションを取得し、取得したトランザクションの処理を開始するトランザクション処理部とを含む。
【選択図】図1
Description
下記特許文献2は、ファイルバックアップとリモートレプリケーションとを行う機能を統合して、統合ストレージシステムを備えたコンピュータプライマリデータストレージシステムを記載する。
該代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを上記代行システムの記憶部にコピーする復元部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
上記本番システムは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信する第2送信部と
を含む。
上記代行システムは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを前記メッセージ・キューから上記代行システムの記憶部にコピーするコピー部と、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む。
該方法は、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている上記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
代行システムから本番システムへの切り替え命令に応答して、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とを、上記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
を含む。
該方法は、上記本番システムに下記ステップを実行させる。該ステップは、
上記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
上記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを本番システムの記憶部に格納するステップと、
上記更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含む上記データを上記代行システムに送信するステップと、
を含む。
該方法はまた、上記代行システムに下記ステップを実行させる。該ステップは、
上記本番システムから送信された上記少なくとも1の更新データを含むデータを代行システムの記憶部に格納するステップと、
上記静止点を識別可能にする情報を用いて選択され且つ上記静止点以降にコミットされたところの更新データを上記メッセージ・キューから上記代行システムの記憶部にコピーするステップと、
上記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む。
上記代行システムから上記本番システムへの切り替え命令に応答して、
上記静止点を設定するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ上記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
上記代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを上記本番システムに送信するステップであって、上記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、上記送信するステップと
を含む。
上記代行システムから送信された上記少なくとも1の更新データを含むデータを上記本番システムの記憶部に格納するステップと、
上記メッセージ・キューから送信された更新データを上記本番システムの記憶部にコピーするステップと
を含む。
上記選択された更新データを上記本番システムに送信後に、上記代行システムから上記本番システムにトランザクションの処理を切り替えるステップ
を含む。
静止点は、本番−代行システムによって又は本番−代行システムの管理者によって、ログの相対バイト・アドレス又はマイクロ秒単位の時間で設定されうる。該設定は、例えばバックアップからデータを回復する機能を提供するユーティリティに対して行う。
上記管理者が静止点を例えばシステムによって表示されるポップアップウインドウに入力することによって設定する場合、本番−代行システムは、更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間を自動で設定しうる。該自動で設定する時間は、例えば、上記静止点から本番−代行システムで設定できる最長のトランザクション処理時間を引いた時間より早い時間である。
上記管理者が、静止点を設定し且つ、上記更新データ及び上記情報をメッセージ・キューへ送信することを開始する時間をも設定する場合、管理者は、該静止点及び該時間を、例えばシステムによって表示されるポップアップウインドウに入力することによって設定しうる。ここで、該静止点及び該時間の間隔は、本番−代行システムで設定できる最長のトランザクション処理時間より大きい間隔である。
「静止点前」とは、静止点より前にコミットされたトランザクションのうち最後にコミットされたトランザクションがコミットされた時点を指す。
本番システム(101)は、平常時の運用においてトランザクションを処理するシステムである。代行システム(105)は、例えば本番システム(101)を保守作業のために停止する際に、本番システム(101)の代わりに、トランザクションを処理するシステムである。代行システム(105)は、トランザクションの処理に関して、本番システム(101)と同じ機能を有する。処理受付キュー(109)は、トランザクションを蓄積するキューであり、本番システム(101)又は代行システム(105)に該トランザクションを送る。処理受付キュー(109)は、本番システム(101)及び代行システム(105)とは別のシステム上にある。処理受付キュー(109)は、本番システム(101)及び代行システム(105)がともに停止している場合も、トランザクションの受付を行うことができる。トランザクションは、例えばエンド・ユーザのコンピュータ(図示せず)から、処理受付キュー(109)に蓄積される。本番システム(101)又は代行システム(105)は、処理受付キュー(109)からトランザクションを取得する。代替的に、処理受付キュー(109)を制御するシステムが、本番システム(101)又は代行システム(105)にトランザクションを送信するようにしてもよい。トランザクションは、本番システム(101)又は代行システム(105)が管理するデータを更新する処理を含む。トランザクションは、トランザクション処理部であるアプリケーションサーバ(102、106)で処理される。更新データを含むデータは、格納部(104、108)に記録される。復元部(103、107)は、格納部(104、108)に記録された該データのバックアップ・データの作成及び復元を行う。なお、格納部(104、108)は、データベースとすることもできる。格納部(104、108)をデータベースとした場合、復元部(103、107)をデータベース管理システムとすることもできる。データベース管理システム(103、107)は、データベースに関する制御を行う。
本番システム(101)から代行システム(105)に切り替える場合におけるシステム構成は以下の通りである。本番システム(101)の復元部(103)は、上記トランザクションから更新データを取得する。本番システム(101)の復元部(103)は、更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報(以下キューに入れる情報)を作成する。本番システム(101)の復元部(103)は、本番システム(101)の格納部(104)に記録された更新データを含むデータのバックアップ・データを作成する。本番システム(101)の復元部(103)は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。本番システム(101)の復元部(103)は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)に送信する。図1では、メッセージ・キュー(110)は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー(110)は、本番システム(101)に含まれていてもよいし、本番システム(101)と独立に存在していてもよい。送信部は、上記バックアップを代行システム(105)に送信する。本番システム(101)の送信部によって代行システム(105)に送信されたバックアップ・データは、代行システム(105)の復元部(107)によって取得され、代行システム(105)の格納部(108)に復元される。復元部(103、107)は、コピー部を含みうる。代行システム(105)のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得する。代替的に、本番システム(101)のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー(110)から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。代行システム(105)のコピー部は、選択された更新データを代行システム(105)の格納部(108)にコピーする。監視部(111)は、メッセージ・キュー(110)を監視する。監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、本番システム(101)のアプリケーションサーバ(102)にトランザクション停止の要求を通知する。本番システム(101)のアプリケーションサーバ(102)は、該通知を受けると、トランザクションの取得を停止する。また監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、受付キュー(109)にトランザクション停止の要求を通知するようにしてもよい。受付キュー(109)は、該通知を受けると、トランザクションの送信を停止する。監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、代行システム(105)のアプリケーションサーバ(106)にトランザクション開始の許可を通知する。メッセージ・キュー(110)内の上記更新データは、本番システム(101)によって行われるトランザクション処理の全てに対応する更新データを含む。代行システム(105)のアプリケーションサーバ(106)は、該通知を受けると、処理受付キュー(109)からトランザクションの取得を開始する。また監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、処理受付キュー(109)にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー(109)は、該通知を受けると、代行システム(105)にトランザクションの送信を開始する。
代行システム(105)から本番システム(101)に切り替える場合におけるシステム構成は以下の通りである。代行システム(105)の復元部(107)は、上記トランザクションから更新データを取得する。代行システム(105)の復元部(107)は、上記キューに入れる情報を作成する。代行システム(105)の復元部(107)は、代行システム(105)の格納部(108)に記録された更新データを含むデータのバックアップ・データを作成する。代行システム(105)の復元部(107)は、バックアップ・データについての静止点を識別可能にする情報を作成する。該情報は、上記キューに入れる情報又はバックアップ・データに含める。代行システム(105)の復元部(107)は、送信部を含みうる。該送信部は、上記更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)に送信する。送信部は上記バックアップを本番システム(101)に送信する。図1では、メッセージ・キュー(110)は、本番システムと代行システムと共通であるように示されているが、メッセージ・キュー(110)は、代行システム(105)に含まれていてもよいし、代行システム(105)と独立に存在していてもよい。代行システム(105)の送信部によって本番システム(101)に送信されたバックアップ・データは、本番システム(101)の復元部(103)によって取得され、本番システム(101)の格納部(104)に復元される。復元部(103、107)は、コピー部を含みうる。本番システム(101)のコピー部は、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得する。代替的に、代行システム(105)のコピー部が、更新データ及び上記キューに入れる情報が記載されたログをメッセージ・キュー(110)から取得してもよい。該取得によって、更新データ及び上記キューに入れる情報が記載されたログは、メッセージ・キュー(110)から削除されうる。該コピー部は、上記キューに入れる情報及び上記バックアップ・データについての静止点を識別可能にする情報を用いて更新データを選択する。本番システム(101)コピー部は、選択された更新データを本番システム(101)の格納部(104)にコピーする。監視部(111)は、メッセージ・キュー(110)を監視する。監視部(111)は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、代行システム(105)のアプリケーションサーバ(106)にトランザクション停止の要求を通知する。代行システム(105)のアプリケーションサーバ(106)は、該通知を受けると、トランザクションの取得を停止する。また監視部は、メッセージ・キュー(110)内の更新データがほぼ空になることに応じて、受付キュー(109)にトランザクション停止の要求を通知するとしてもよい。受付キュー(109)は、該通知を受けると、トランザクションの送信を停止する。監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、本番システム(101)のアプリケーションサーバ(102)にトランザクション開始の許可を通知する。メッセージ・キュー(110)内の上記更新データは、代行システム(105)によって行われるトランザクション処理の全てに対応する更新データを含む。本番システム(101)のアプリケーションサーバ(102)は、該通知を受けると、処理受付キュー(109)からトランザクションの取得を開始する。また監視部(111)は、メッセージ・キュー(110)内の更新データが無くなることに応じて、処理受付キュー(109)にトランザクションの切り替えを通知するようにしてもよい。処理受付キュー(109)は、該通知を受けると、本番システム(105)にトランザクションの送信を開始する。
従来の方法において、本番−代行システムは、本番システムから代行システムへデータベースをコピーしている間及びシステムの切り替えの間、システムの処理を停止する。一方、本発明の実施態様において、本番−代行システムは、上記データベースをコピーする処理に該当する間、システムの処理をほとんど停止させない。システムの処理が停止するのは、システムの切り替えに必要な数秒のみである。よって、本発明の実施態様による方法は、従来の方法に比べて、システムの停止時間が大幅に短縮される。また、本発明の実施態様において、トランザクションの受付キューが設けられ、該受付キューがシステムの処理停止中も受付を行うので、トランザクションの処理は見掛け上停止しない。
ユーザからのトランザクション(311)は、処理受付キュー(309)に蓄えられる。処理受付キュー(309)は、トランザクション(311)を本番システム(301)に送信する。本番システム(301)は、処理受付キュー(309)からトランザクション(311)を取得する。本番システム(301)は、取得したトランザクション(311)を処理する。本番システム(301)が、該トランザクション(311)についてのコミットを実行することで、該処理が確定する。該処理の結果は、データベース(304)に反映される。なお、代行システム(305)は停止中である。
本番システム(301)は、キューレプリケーションにより、メッセージ・キュー(310)へ更新内容の送信(312)を開始する。ここで、更新内容は、トランザクションについての更新データと上記メッセージ・キュー(310)に入れる情報が記載されたログとを含む。キューレプリケーションは、データベースの更新内容をメッセージ・キューに送信することにより、一方のシステムでのデータベースの更新内容を他のシステムに反映できるユーティリティである。キューレプリケーションは例えば、IBM WebSphere Replication Serverとして製品化されている。管理者は、メッセージ・キューを代行システムに接続させるために、代行システム(305)を立ち上げる。ただし、メッセージ・キュー(310)へ更新内容の送信(312)を開始した時点では、まだ代行システム(305)はキューレプリケーションによる更新内容の反映(図示せず)を開始しない。また、本番システム(301)はまだ運用を停止しない。
本番システム(301)は、バックアップ・ユーティリティにより、本番システムのデータベースのバックアップ・データ(313)を取得する。バックアップ・ユーティリティは、本番システムの更新業務を停止させずにバックアップを一度に取得するユーティリティである。該バックアップは高速で取得できることが好ましい。該バックアップ・ユーティリティの例としては、IBM DB2として製品化済みであるBACKUP SYSTEM UTILITYがある。DB2とは、IBMが提供する関係データベース管理システム製品及び関連製品群である。BACKUP SYSTEM UTILITYは、IBMのディスクサブシステムであるESSなどが有する機能であるFLASHCOPYと呼ばれる高速コピー機能と兼用することでデータベース・システム全体のコピーを高速に取得できる。該取得は、FLASHCOPYにより数十秒で終了する。本番システム(301)は、上記バックアップ・ユーティリティによりデータベースのバックアップ・データ(313)を取得している間も、処理を続行することができる。ここで取得されるバックアップ・データ(313)は、静止点の時点でコミット済みのトランザクションによる更新データを含み、静止点の時点でコミットされていないトランザクションによる更新データを含まない。バックアップ(313)の取得の際に、本番システム(301)は、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに、上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム(DBMS)(303)が管理するデータセットに対して行い、これをバックアップ・データ(313)に含めてもよい。データセットは、上記キューに入れる情報を記載するログと同じフォーマットとすることができる。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行することで確定され、本番システム(301)が該確定された静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを取得できる。BACKUP SYSTEM UTILITYは、バックアップを取得するためのユーティリティであるが、BACKUP SYSTEM UTILITYの実行でバックアップとあわせて静止点に関する情報を得ることができる。本番システム(301)は、バックアップ・データ(313)の取得を、上記キューレプリケーション開始の数分後に行う。本番システム(301)がバックアップ・データ(313)の取得を開始する時間は、バックアップ・データ(313)取得時に処理中であろうトランザクションが開始する前に、キューレプリケーションが開始されているような時間から決定する。一例として本番システム(301)は、キューレプリケーションの開始後、システムで設定できる最長のトランザクション処理時間より間隔をあけて、バックアップ・データ(313)を取得する。例えば、600秒以内にトランザクションが終了しない場合、該トランザクションが取り消されるよう設定された本番システム(301)であれば、キューレプリケーションの開始から600秒よりも後にバックアップ・データ(313)の取得を行う。詳細には、本番システム(301)は、キューレプリケーションの開始から601秒後にバックアップ・データ(313)の取得を行う。このようにすれば、キューレプリケーションの開始前に開始したトランザクションは、バックアップ・データ(313)取得の前に全て終了していることになるので、バックアップ・データ(313)の取得処理の自動化が可能になる。バックアップ・ユーティリティによるバックアップ・データの取得時に、本番システム(301)は運用を停止しない。
代行システム(305)は、本番システム(301)から、バックアップ・データ(313)をコピーして取得する。該コピーにより、バックアップ・データ(313)は、代行システム(305)が利用可能な状態に復元される。例えば、代行システム(305)は、データベースを復元できる復元ユーティリティを使用して、静止点前であってトランザクションがコミットされた最後の時点における、更新データを含むデータのデータベースをバックアップ・データ(313)から復元する。復元ユーティリティは例えば、RESTORE SYSTEM UTILITYであり、IBM DB2として製品化済みである。RESTORE SYSTEM UTILITYは、BACKUP SYSTEM UTILITYで取得したバックアップ・データからDB2システム、データベースを復元するユーティリティである。
ログ(317)は、領域(318A〜320A)及び領域(318B〜320B)で示されるように、相対バイト・アドレス(RBA)、タイム・スタンプ及び処理内容の3項目の繰り返しで構成される。また、ログ(317)は、リカバリ情報(321)を有することもできる。該リカバリ情報(321)は例えば、復元するデータベースの保存先のアドレス、及び代行システムにおけるデータベースの復元時間を含む。
以下に、トランザクション(315)についてのログ(317)の出力の例を示す。トランザクション(315)は、更新処理(316A)及びコミット処理(316B)で構成されるトランザクションである。トランザクション(315)が開始されると、最初に更新処理(316A)が実行される。実行された更新処理(316A)が格納された相対バイト・アドレスは、ログ(317)の領域(318A)に書き出される。実行された更新処理(316A)の実行時間であるタイム・スタンプは、ログ(317)の領域(319A)に書き出される。該時間は、例えば更新処理(316A)を開始した時間及び終了した時間である。実行された更新処理(316A)の処理内容は、ログ(317)の領域(320A)に書き出される。該処理内容は例えば、更新処理(316A)に対応するSQL文、更新処理(316A)に対応する更新されたデータである。次に、更新処理(316B)が実行される。実行されたコミット処理(316B)が格納された相対バイト・アドレスは、ログ(317)の領域(318B)に書き出される。実行されたコミット処理(316B)の実行時間であるタイム・スタンプは、ログ(317)の領域(319B)に書き出される。実行されたコミット処理(316B)の処理内容は、ログ(317)の領域(320B)に書き出される。該処理内容は例えば、コミット処理(316B)に対応するSQL文、コミット処理(316B)に対応する確定されたデータである。
静止点以降にコミットされた更新内容は、メッセージ・キュー(310)に蓄積されている。代行システム(305)は、データベース復元後にメッセージ・キュー(310)から更新内容を取得し、更新内容の反映(314)を開始する。メッセージ・キュー(310)から更新内容の反映(314)をする際に、代行システム(305)は、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを上記キューから取得したログ又はバックアップ・データに付随するデータセットから読み込む。また代行システム(305)は、更新データに関連付けられ且つ静止点を識別可能にする情報を、更新内容に含まれる上記キューから取得したログから読み込む。代行システム(305)は、上記読み込んだ更新データに関連付けられ且つ静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(301)で復元されたデータベースに反映する。該反映については後述する。
更新内容の選択は、本番システム(301)が実行しても良い。代行システム(305)に代わって本番システム(301)が更新内容の選択を実行する場合、本番システム(301)は、図3Bの説明において述べた更新データの送信の開始をせず、図3Cの説明において述べた静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、代行システム(305)に送信する。代行システム(305)は送信されてきた更新データを全て、代行システム(305)で復元されたデータベースに反映する。
また本番システムでは、運用を継続するとともに、更新内容の送信(312)も続ける。
このように、バックアップ・ユーティリティによる静止点でのバックアップの取得と同期して、キューレプリケーションによる更新内容の反映をすることにより、管理者は、トランザクションの処理を実質的には停止させずに代行システムへの切り替えを実現することができる。
本番システムは、上記キューに入れる情報を記載するログへの書き込み及びキューレプリケーションでの更新内容の送信を、更新のつど行う。データベースの更新はトランザクションのコミット処理が行われた時点で、トランザクション単位で確定する。システムが、静止点を用いてデータベースをバックアップ及び復元すると、静止点でコミット済みのトランザクションの更新は有効になる。また静止点でコミットされていないトランザクションの更新はロールバックされ、データは更新前の状態に戻る。本発明の実施態様では、キューレプリケーションからの更新内容の反映時に、静止点以降でコミットされたトランザクションを選択して更新内容を反映することにより、バックアップと同期した更新内容の反映を実現する。また、静止点以降で開始されたトランザクションは無条件で反映される。
図の矢印(322A〜324A、322B〜324B及び322C〜324C)は、トランザクションを示す。矢印の始点(左側)がトランザクションの開始を表し、矢印の終点(右側)がトランザクションの終了を表す。矢印の下にある三角形はトランザクション中の処理を表す。該処理には、更新及びコミットがある。矢印の終点の下にある三角形がコミットを表し、その他の三角形が更新を表す。
トランザクション(322A〜324A)は、本番システムで受け付けたトランザクションの例である。トランザクション(322A)は、本番システムでのトランザクション処理中に、キューレプリケーションが開始された例である。また、トランザクション(322A)は、静止点でのバックアップ取得の実行前にコミットが終了している。トランザクション(322A)は、メッセージ・キュー内において、キューレプリケーション開始以前の処理を含まないので、トランザクション(322B)で表されるように部分の情報しか有しない。また、トランザクション(322A)は、バックアップにおいて、静止点前にトランザクションがコミットされているため、トランザクション(322C)で表されるように全トランザクションの情報を有する。代行システムは、例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較する。代替的に、本番システムが例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(322B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも早い。よって、トランザクション(322A)は、静止点前にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(322B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも前にある。よって、トランザクション(322A)は、静止点前にコミットが終了しているトランザクションであると判断される。よって、トランザクション(322A)は、代行システムにおいて、メッセージ・キューの内容が反映されず、バックアップから状態が復元される。
トランザクション(323A)は、本番システムでのトランザクション処理中に、静止点でのバックアップ取得が実行された例である。トランザクション(323A)は、メッセージ・キュー内において、トランザクション(323B)で表されるように全トランザクションの情報を有する。またトランザクション(323A)は、バックアップにおいて、静止点後にトランザクションがコミットされているため、トランザクション(323C)で表されるように静止点前のトランザクションの情報しか有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(323B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション(323A)は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(323B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション(323A)は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション(323A)は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
トランザクション(324A)は、本番システムでのトランザクション処理が、静止点でのバックアップ取得後に開始された例である。トランザクション(324A)は、メッセージ・キュー内において、トランザクション(324B)で表されるように全トランザクションの情報を有する。また、トランザクション(324A)は、バックアップにおいて、静止点後にトランザクションが開始されているため、トランザクション(324C)で表されるようにトランザクションの情報を有さず、復元の対象とはならない。代行システムは例えば、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプとを比較する。代替的に、本番システムが、上記と同様にして、静止点についてのタイム・スタンプと、コミット処理についてのタイム・スタンプを比較してもよい。トランザクション(324B)において、コミット処理についてのタイム・スタンプの示す時間は、静止点についてのタイム・スタンプの示す時間よりも遅い。よって、トランザクション(324A)は、静止点以降にコミットが終了しているトランザクションであると判断される。別の方法として、代行システムは、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較する。代替的に、本番システムが、上記と同様にして、静止点についての相対バイト・アドレスと、コミット処理についての相対バイト・アドレスを比較してもよい。トランザクション(324B)において、コミット処理についての相対バイト・アドレスの示すアドレスは、静止点についての相対バイト・アドレスの示すアドレスよりも後にある。よって、トランザクション(324A)は、静止点以降にコミットが終了しているトランザクションであると判断される。よって、トランザクション(324A)は、代行システムにおいて、バックアップから状態は復元されず、メッセージ・キューの内容が反映されることにより復元される。
すなわち、代行システムは、データベースのバックアップから、静止点でコミット済みのデータを復元(325)する。また、代行システムは、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択(326)して更新を反映する。代替的に、本番システムが、上記と同様にして、キューレプリケーションでの更新内容から、静止点以降でコミットされたトランザクションを選択(326)して更新を反映する。上記方法により、代行システムは、整合性のあるデータベースを復元できる。
処理受付キュー(309)は、代行システム(305)側で更新内容の反映(314)が進み、メッセージ・キュー(310)がほぼ空になった段階で、本番システム(301)側へのトランザクション(327)の投入を停止する。処理受付キュー(309)は、本番システム(301)側のトランザクション処理が完了し、更新内容の反映(314)が終わるのを待って、代行システム(305)側へのトランザクション(328)の投入を開始する。上記例において、処理受付キュー(309)は、トランザクション処理の数及びメッセージ・キューに蓄積された更新内容の数を監視する機能を有する。該監視する機能は監視部によって実現され該監視部は、任意のシステムに含まれうる。代行システム(305)への切り替えの間、本番システム(301)及び代行システム(305)は通常数秒間の処理停止となる。該処理停止中は、処理受け付けキュー(309)が、トランザクション(311)をキューイングする。該キューイングにより、ユーザからみて、サービスの中断はない。
管理者は、本番システム(301)を停止し、必要な保守作業を行う。処理受付キュー(309)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを代行システム(305)に送信する。代行システム(305)は、上記キューイングされたトランザクション及び新たに発生したトランザクションを順次処理する。該処理の結果は、データベース(308)に反映される。
なお、該保守作業は例えば、システムにおけるハードウェアの交換、及びソフトウェアのバージョンアップを含む。
以下は、切り戻しの概略を示す。
1.代行システムは、キューレプリケーションにより、メッセージ・キューへ更新内容の送信を開始する。該更新内容は、更新データと、上記キューに入れる情報とが記載されたログを含む。
2.代行システムは、バックアップ・ユーティリティにより、データベースのバックアップ・データを取得する。代行システムは、該取得時の静止点を、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスとともに上記キューに入れる情報を記載するログに登録する。該登録は、代替的に、データベース管理システム(DBMS)が管理するデータセットに対して行い、これをバックアップ・データに含めてもよい。静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスは、ログ・サスペンド・コマンド又はBACKUP SYSTEM UTILITYを実行することで確定され、代行システムが取得できる。
3.本番システムは、復元ユーティリティを使用して、データベースをバックアップ・データから復元する。本番システムは、メッセージ・キューから上記更新内容の取得を開始する。本番システムは、上記ログもしくはバックアップ・データに付随するデータセットより、データベースのバックアップについての静止点を識別可能にする情報を取得する。本番システムはさらに、上記ログより、上記キューに入れる情報を取得する。本番システムは、データベースのバックアップについての静止点を識別可能にする情報及び上記キューに入れる情報を用いて、静止点以降にコミットされたトランザクションによる更新データを本番システムのデータベースに反映させる。
更新内容の選択は、代行システムが実行してもよい。本番システムに代わって代行システムが更新内容の選択を実行する場合、代行システムは上記1.において更新データの送信の開始をせず、上記2.において静止点が確定した後、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いて、静止点以降にコミットされた更新が反映されるように、更新データを選択し、本番システムに送信する。本番システムは、送信されてきた更新データの全てを、本番システムで復元されたデータベースに反映する。
4.監視部である処理受付キューは、本番システムでのデータベースへの更新データの反映が進み、メッセージ・キューがほぼ空になった段階で、代行システムへのトランザクションの投入を停止する。処理受付キューは、代行システムでのトランザクション処理が完了し、本番システムでのデータベースへの更新データの反映が終わるのを待って、本番システムへのトランザクションの投入を開始する。
1.本番システムから代行システムへの切り替え
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ401)。
代行システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータを取得し、該取得したデータを代行システムの記憶部に復元する。ここで該データは、静止点の時点でバックアップ・ユーティリティを使用して作成されたバックアップ・データである。代行システムは、該取得及び該復元を、復元ユーティリティを使用して行う(ステップ402)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に本番システムが実行してもよい。該選択を本番システムが行う場合、本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、本番システムで選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ403)。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ404)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクション受け付けを開始する。代行システムは、トランザクション処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ405)。
2.代行システムから本番システムへの切り替え
システムの管理者は、本番システムのメンテナンスの終了後、代行システムから本番システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。該設定は、例えばバックアップを取得する機能を提供するユーティリティに対して行う。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合、代行システムは、まだ設定されていない静止点又は該時間を設定する(ステップ406)。
代行システムは、更新データ及び上記キューに入れる情報の作成を開始する。代行システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ407)。
代行システムは、代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。代行システムは、該バックアップ・データを本番システムに送信する。該送信は、本番システムで実行される復元ユーティリティによって行われる。代行システムは、バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。該キューに入れる情報は、メッセージ・キューに送信される(ステップ408)。
本番システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。なお、上記更新データの選択は、代替的に代行システムが実行してもよい。該選択を代行システムが行う場合、代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、代行システムで選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ409)。
代行システムは、本番システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、本番システムに切り替えられる(ステップ410)。
システムの管理者は、本番システムにおいてメンテナンスを行うために、本番システムから代行システムへの切り替えを行う。システムの管理者は、静止点又は更新データとキューに入れる情報をメッセージ・キューへ送信することを開始する時間のどちらか一方もしくは両方をあらかじめ設定しておく。システムの管理者が、静止点と該時間のどちらか一方のみを設定した場合において、本番システムは、まだ設定されていない静止点又は該時間を設定する(ステップ411)。
本番システムは、受付キューからトランザクションを受信している。該トランザクションは本番システムで処理され、該処理の結果は、本番システムの記憶部に格納されたデータに反映される(ステップ412)。
本番システムは、更新データ及び上記キューに入れる情報の作成を開始する。本番システムは、該更新データ及び該情報を作成の都度メッセージ・キューに送信する(ステップ413)。
本番システムは、本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、上記少なくとも1の更新データを含むデータであるバックアップ・データをバックアップ・ユーティリティを使用して作成する。本番システムは、該バックアップ・データを代行システムに送信する。該送信は、代行システムで実行される復元ユーティリティによって行われる。本番システムは、該バックアップ・データ作成時に、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを、上記キューに入れる情報に登録する。本番システムは、該キューに入れる情報を、メッセージ・キューに送信する(ステップ414)。
本番システムは、代行システムの準備が完了したのち、トランザクションの受付を停止する。該停止は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。トランザクションの送信は、代行システムに切り替えられる(ステップ415)。
代行システムは、ステップ414において作成された、本番システムのバックアップ・データを取得し、該取得したデータを代行システムの記憶部に復元する(ステップ416)。
代行システムは、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。代行システムは、静止点以降にコミットされた更新データを選択する。代行システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。代行システムは、選択された更新データを取得する。代行システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する(ステップ417)。なお上記取得は、代替的に本番システムが実行してもよい。該取得を本番システムが実行する場合、本番システムが、上記復元が終了した後、メッセージ・キューに接続し、更新データ及びキューに入れる情報の取得を開始する。本番システムは、静止点以降にコミットされた更新データを選択する。本番システムは、該選択に、上記キューに入れる情報に含まれる静止点を識別可能にする情報、静止点、静止点についてのタイム・スタンプ又は静止点についての相対バイト・アドレスを用いる。本番システムは、選択された更新データを取得する。本番システムは、更新データ及び上記キューに入れる情報を、メッセージ・キューから削除する。
代行システムは、上記選択して取得した更新データを上記復元したバックアップ・データに反映させる(ステップ418)。
代行システムは、該反映が全て終了することに応じて、受付キューからのトランザクションの受け付けを開始する。代行システムは、トランザクションの処理を開始する。該受け付け及び処理の開始は、メッセージ・キュー、本番システム及び代行システムを監視するシステムから指示される。該トランザクションの結果は、上記選択して取得した更新データが反映済みである復元したバックアップ・データに反映される(ステップ419)。
Claims (23)
- トランザクションを処理する本番システムのバックアップ・システムである代行システムであって、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを取得し、該取得したデータを前記代行システムの記憶部にコピーする復元部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記代行システム。 - 前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ又は前記コミットに関連付けられた相対バイト・アドレスである、請求項1に記載の代行システム。
- 前記メッセージ・キューに蓄積されるデータが、更新データと該更新データのコミットに関連付けられたタイム・スタンプ又は該更新データのコミットに関連付けられた相対バイト・アドレスとを含む、請求項1に記載の代行システム。
- 前記静止点を識別可能にする情報が、ログ・サスペンド・コマンドを実行して取得される、請求項1に記載の代行システム。
- 前記トランザクションの取得の開始が、前記受付キューから前記本番システムに送られたトランザクションについての処理が全て終了していることを確認することをさらに含む、請求項1に記載の代行システム。
- 前記代行システムの記憶部が、前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも1の更新データを含むデータをさらに格納する、請求項1に記載の代行システム。
- 代行システムのトランザクションについての更新データを格納する該代行システムの記憶部から、静止点直前でトランザクションがコミットされた最後の時点における、代行システムの前記少なくとも1の更新データを含む前記データを前記本番システムに送信する送信部をさらに含む、請求項1に記載の代行システム。
- 前記代行システムの前記トランザクション処理部で処理されたトランザクションについての少なくとも1つの更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とを、メッセージ・キューに送信する送信部をさらに含む、請求項6に記載の代行システム。
- トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信する第2送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。 - トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替える方法であって、
本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータが格納されている前記本番システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを取得し、該取得したデータを該代行システムの記憶部にコピーするステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを蓄積するメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を含む、前記方法。 - 前記代行システムで処理されたトランザクションについての少なくとも1の更新データを前記代行システムの記憶部に格納するステップをさらに含む、請求項10に記載の方法。
- 代行システムから本番システムへの切り替え命令に応答して、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とを、前記代行システムに関連付けられたメッセージ・キューに蓄積するステップ
をさらに含む、請求項11に記載の方法。 - 前記代行システムの記憶部から、静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを、前記本番システムに送信するステップ
をさらに含む、請求項12に記載の方法。 - 前記代行システムに関連付けられたメッセージ・キューから、前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記本番システムに送信するステップ
をさらに含む、請求項13に記載の方法。 - 前記選択された更新データの全てを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップをさらに含む、請求項14に記載の方法。
- トランザクションを処理する本番システムと、該本番システムのバックアップ・システムである代行システムと、トランザクションが処理される本番システム又は代行システムに接続されうる、トランザクションを受け付ける受付キューとを含む本番−代行システムにおいて、前記本番システムと前記代行システムとの間でトランザクションの処理を切り替える方法であって、
前記本番システムが、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するステップと、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを本番システムの記憶部に格納するステップと、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信するステップと、
を実行し、
前記代行システムが、
前記本番システムから送信された上記少なくとも1の更新データを含むデータを代行システムの記憶部にコピーするステップと、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするステップと、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するステップと
を実行する、前記方法。 - 前記本番システムから前記代行システムへの切り替え命令に応答して、
前記本番システムが、前記静止点を設定するステップをさらに実行する、請求項16に記載の方法。 - 前記最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信するステップが、前記更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信することが開始されることに応じて実行される、請求項16に記載の方法。
- 前記選択された更新データのコピーが終了する前に、
前記受付キューから前記本番システムへのトランザクションの送信を停止するステップをさらに含む、請求項16に記載の方法。 - 前記代行システムから前記本番システムへの切り替え命令に応答して、
前記代行システムが、
前記静止点を設定するステップと、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データと該更新データのそれぞれに関連付けられ且つ前記静止点を識別可能にする情報とをメッセージ・キューに送信するステップと、
前記代行システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを前記本番システムに送信するステップであって、前記更新データは、静止点前であってトランザクションがコミットされた最後の時点における更新データである、前記送信するステップと
をさらに実行する、請求項16に記載の方法。 - 前記本番システムが、
前記代行システムから送信された上記少なくとも1の更新データを含むデータを前記本番システムの記憶部にコピーするステップと、
前記メッセージ・キューから送信された更新データを前記本番システムの記憶部にコピーするステップと
をさらに実行し、
前記代行システムが、
前記選択された更新データを前記本番システムに送信後に、前記代行システムから前記本番システムにトランザクションの処理を切り替えるステップ
をさらに実行する、請求項20に記載の方法。 - トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システムであって、
トランザクションを受け付ける受付キューであって、該受付キューは、該トランザクションを処理する本番システム又は代行システムに接続されうる、前記受付キューを含み、
前記本番システムは、
前記受付キューからトランザクションを受信し、該受信したトランザクションを処理するトランザクション処理部と、
前記本番システムで処理されたトランザクションについての少なくとも1の更新データを含むデータを格納する記憶部と、
前記更新データと該更新データのそれぞれに関連付けられ且つ静止点を識別可能にする情報とをメッセージ・キューに送信する第1送信部であって、前記静止点を識別可能にする情報が、前記コミットに関連付けられたタイム・スタンプ若しくは前記コミットに関連付けられた相対バイト・アドレスであり又はログ・サスペンド・コマンドを実行して取得される、前記第1送信部と、
静止点前であってトランザクションがコミットされた最後の時点における、前記少なくとも1の更新データを含む前記データを前記代行システムに送信する第2送信部と
を含み、
前記代行システムは、
前記本番システムから送信された前記少なくとも1の更新データを含むデータを取得し、該取得したデータを格納する代行システムの記憶部と、
前記静止点を識別可能にする情報を用いて選択され且つ前記静止点以降にコミットされたところの更新データを前記メッセージ・キューから前記代行システムの記憶部にコピーするコピー部と、
前記選択された更新データのコピーが終了することに応じて、トランザクションの処理を受け付ける受付キューから少なくとも1のトランザクションを取得し、そして該取得したトランザクションの処理を開始するトランザクション処理部と
を含む、前記本番−代行システム。 - トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとの間でトランザクションの処理を切り替えるコンピュータ・プログラムであって、前記代行システムに、請求項10〜15のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008195777A JP5467625B2 (ja) | 2008-07-30 | 2008-07-30 | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム |
US12/510,322 US20100030826A1 (en) | 2008-07-30 | 2009-07-28 | Production-alternate system including production system for processing transactions and alternate system as a backup system of the production system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008195777A JP5467625B2 (ja) | 2008-07-30 | 2008-07-30 | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010033398A true JP2010033398A (ja) | 2010-02-12 |
JP5467625B2 JP5467625B2 (ja) | 2014-04-09 |
Family
ID=41609414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008195777A Expired - Fee Related JP5467625B2 (ja) | 2008-07-30 | 2008-07-30 | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100030826A1 (ja) |
JP (1) | JP5467625B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015191451A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8584145B1 (en) | 2010-08-06 | 2013-11-12 | Open Invention Network, Llc | System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications |
US9043640B1 (en) * | 2005-08-26 | 2015-05-26 | Open Invention Network, LLP | System and method for event-driven live migration of multi-process applications |
US8621275B1 (en) | 2010-08-06 | 2013-12-31 | Open Invention Network, Llc | System and method for event-driven live migration of multi-process applications |
US8286030B1 (en) | 2009-02-09 | 2012-10-09 | American Megatrends, Inc. | Information lifecycle management assisted asynchronous replication |
JP5537181B2 (ja) * | 2010-02-17 | 2014-07-02 | 株式会社日立製作所 | メッセージシステム |
JP5460486B2 (ja) * | 2010-06-23 | 2014-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをソートする装置及び方法 |
US10296517B1 (en) * | 2011-06-30 | 2019-05-21 | EMC IP Holding Company LLC | Taking a back-up software agnostic consistent backup during asynchronous replication |
US11392557B1 (en) * | 2012-10-15 | 2022-07-19 | Google Llc | Efficient data backup in a distributed storage system |
US11762849B2 (en) * | 2013-01-14 | 2023-09-19 | Mastercard International Incorporated | Systems and methods for managing offline database access |
CN104601448B (zh) * | 2015-01-12 | 2017-11-28 | 腾讯科技(深圳)有限公司 | 一种对虚拟卡片进行处理的方法和装置 |
CN109871360A (zh) * | 2018-12-28 | 2019-06-11 | 宁波瓜瓜农业科技有限公司 | 生产系统的监控方法和监控系统 |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101044A (ja) * | 1999-09-29 | 2001-04-13 | Toshiba Corp | トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム |
JP2001337844A (ja) * | 2000-05-26 | 2001-12-07 | Nec Software Chubu Ltd | 無停止オンラインサービスのシステム、方法、及び記録媒体 |
JP2001350736A (ja) * | 2000-06-08 | 2001-12-21 | Hitachi Ltd | オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
JP2005055995A (ja) * | 2003-08-07 | 2005-03-03 | Hitachi Ltd | ストレージ制御方法、および、冗長化機能を有するサーバシステム |
JP2005222110A (ja) * | 2004-02-03 | 2005-08-18 | Hitachi Ltd | ストレージサブシステム |
JP2005538470A (ja) * | 2002-09-10 | 2005-12-15 | イグザグリッド システムズ, インコーポレイテッド | ノーダルフェイルオーバを用いるプライマリーデータバックアップおよびリモートデータバックアップ |
JP2006189964A (ja) * | 2004-12-28 | 2006-07-20 | Hitachi Ltd | メッセージ配布方法、待機系ノード装置およびプログラム |
JP2006268740A (ja) * | 2005-03-25 | 2006-10-05 | Nec Corp | レプリケーションシステムと方法 |
JP2007501468A (ja) * | 2003-08-06 | 2007-01-25 | オラクル・インターナショナル・コーポレイション | 効率的なバージョン制御を有するデータベース管理システム |
JP2007241325A (ja) * | 2004-12-21 | 2007-09-20 | Nippon Telegr & Teleph Corp <Ntt> | 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870537A (en) * | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US6714980B1 (en) * | 2000-02-11 | 2004-03-30 | Terraspring, Inc. | Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device |
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
US6934725B1 (en) * | 2001-12-28 | 2005-08-23 | Emc Corporation | Management of file extent mapping to hasten mirror breaking in file level mirrored backups |
US6957221B1 (en) * | 2002-09-05 | 2005-10-18 | Unisys Corporation | Method for capturing a physically consistent mirrored snapshot of an online database from a remote database backup system |
US7774565B2 (en) * | 2005-12-21 | 2010-08-10 | Emc Israel Development Center, Ltd. | Methods and apparatus for point in time data access and recovery |
US8099387B2 (en) * | 2008-06-02 | 2012-01-17 | International Business Machines Corporation | Managing consistency groups using heterogeneous replication engines |
-
2008
- 2008-07-30 JP JP2008195777A patent/JP5467625B2/ja not_active Expired - Fee Related
-
2009
- 2009-07-28 US US12/510,322 patent/US20100030826A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001101044A (ja) * | 1999-09-29 | 2001-04-13 | Toshiba Corp | トランザクショナルファイル管理方法、トランザクショナルファイルシステム及び複合トランザクショナルファイルシステム |
JP2001337844A (ja) * | 2000-05-26 | 2001-12-07 | Nec Software Chubu Ltd | 無停止オンラインサービスのシステム、方法、及び記録媒体 |
JP2001350736A (ja) * | 2000-06-08 | 2001-12-21 | Hitachi Ltd | オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
JP2005538470A (ja) * | 2002-09-10 | 2005-12-15 | イグザグリッド システムズ, インコーポレイテッド | ノーダルフェイルオーバを用いるプライマリーデータバックアップおよびリモートデータバックアップ |
JP2007501468A (ja) * | 2003-08-06 | 2007-01-25 | オラクル・インターナショナル・コーポレイション | 効率的なバージョン制御を有するデータベース管理システム |
JP2005055995A (ja) * | 2003-08-07 | 2005-03-03 | Hitachi Ltd | ストレージ制御方法、および、冗長化機能を有するサーバシステム |
JP2005222110A (ja) * | 2004-02-03 | 2005-08-18 | Hitachi Ltd | ストレージサブシステム |
JP2007241325A (ja) * | 2004-12-21 | 2007-09-20 | Nippon Telegr & Teleph Corp <Ntt> | 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム |
JP2006189964A (ja) * | 2004-12-28 | 2006-07-20 | Hitachi Ltd | メッセージ配布方法、待機系ノード装置およびプログラム |
JP2006268740A (ja) * | 2005-03-25 | 2006-10-05 | Nec Corp | レプリケーションシステムと方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015191451A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
US9715522B2 (en) | 2014-03-28 | 2017-07-25 | Fujitsu Limited | Information processing apparatus and control method |
Also Published As
Publication number | Publication date |
---|---|
US20100030826A1 (en) | 2010-02-04 |
JP5467625B2 (ja) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5467625B2 (ja) | トランザクションを処理する本番システムと該本番システムのバックアップ・システムである代行システムとを含む本番−代行システム | |
JP4283576B2 (ja) | トランザクション同期方法、データベースシステム及びデータベース装置 | |
JP4301849B2 (ja) | 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法 | |
US7293194B2 (en) | Method and device for switching database access part from for-standby to currently in use | |
JP4291060B2 (ja) | トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム | |
KR101662212B1 (ko) | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 | |
US9251008B2 (en) | Client object replication between a first backup server and a second backup server | |
JP4224126B1 (ja) | データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム | |
JP6220851B2 (ja) | 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法 | |
US7954003B2 (en) | Fault management system in multistage copy configuration | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
US10095444B1 (en) | Tape emulation alternate data path | |
JP2014532932A (ja) | 非同期複製システムにおける災害復旧中のメッセージ調整のための方法、システム、およびコンピュータ・プログラム | |
US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
JP4289056B2 (ja) | 計算機システム間のデータ二重化制御方法 | |
US8601209B1 (en) | Maintaining dasd and tape continuous availability | |
JP4870190B2 (ja) | データ処理方法、計算機、及びデータ処理プログラム | |
JP2006338145A (ja) | 多重化データベースシステム及びその同期化方法、仲介装置、仲介プログラム | |
JP2007058506A (ja) | 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体 | |
US8942073B1 (en) | Maintaining tape emulation consistency | |
JP2009217587A (ja) | バッチ処理装置及び方法 | |
JP5480046B2 (ja) | 分散トランザクション処理システム、装置、方法およびプログラム | |
JP4804653B2 (ja) | 処理要求復旧システム | |
US9026849B2 (en) | System and method for providing reliable storage | |
US20080002743A1 (en) | System and method for synchronizing in-memory caches while being updated by a high rate data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130515 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20131209 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131209 |
|
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: 20140107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140108 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20140108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |