JP2004078464A - リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 - Google Patents
リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 Download PDFInfo
- Publication number
- JP2004078464A JP2004078464A JP2002236430A JP2002236430A JP2004078464A JP 2004078464 A JP2004078464 A JP 2004078464A JP 2002236430 A JP2002236430 A JP 2002236430A JP 2002236430 A JP2002236430 A JP 2002236430A JP 2004078464 A JP2004078464 A JP 2004078464A
- Authority
- JP
- Japan
- Prior art keywords
- database
- update
- information
- log
- program
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 title claims description 44
- 230000003068 static effect Effects 0.000 claims abstract description 33
- 239000000284 extract Substances 0.000 claims abstract description 4
- 230000010365 information processing Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 abstract description 45
- 230000010076 replication Effects 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】静的レプリケーションでは、データベースをコピーする間、データベースの更新処理を停止する必要があり、クレジットカードやデビットカード、あるいは、ATMなどの利用者に24時間稼動のサービスを提供することができない。
【解決手段】切替プログラム13は、データベースの更新ログ14に、指定時刻を示す切替制御レコードを記録する。差分抽出プログラム15は、更新ログ14から更新差分データを抽出するが、切替制御レコードを検出すると、更新差分データに切替情報を含め、更新差分データの抽出を停止する。差分反映プログラム31は、データベース32に更新差分データを反映するが、切替情報を検出すると、更新差分データの反映を停止して、静的データベース保存プログラム33を起動する。
【選択図】 図1
【解決手段】切替プログラム13は、データベースの更新ログ14に、指定時刻を示す切替制御レコードを記録する。差分抽出プログラム15は、更新ログ14から更新差分データを抽出するが、切替制御レコードを検出すると、更新差分データに切替情報を含め、更新差分データの抽出を停止する。差分反映プログラム31は、データベース32に更新差分データを反映するが、切替情報を検出すると、更新差分データの反映を停止して、静的データベース保存プログラム33を起動する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明はデータベースの作成方法およびその情報処理装置に関し、例えば、リアルタイム更新差分抽出によるデータベース作成に関する。
【0002】
【従来の技術】
コンピュータによって作成、更新される企業の基幹業務のデータベースを、異なるコンピュータのデータベースへ抽出するレプリケーション(複製)技術に対する需要が、データウェアハウスの構築、あるいは、データマイニングやウェブ対応を行うオープン系資源へデータを供給する基盤技術の一つとして高まっている。
【0003】
データベースを複製する際は、オリジナルの基幹システムを変更することなく、コピー先のデータベースを常に最新の状態に保つことが望まれる。オリジナルのデータベースの更新を停止した状態でオリジナルのデータベースを複製する静的レプリケーションでは、オリジナルのデータベースの更新がリアルタイムにコピー先のデータベースに反映されることはない。従って、コピー先のデータベースの鮮度を維持するには、コピープログラムを定期的に実行する必要がある。しかし、基幹業務のデータベースは大容量で、コピーには時間を要し、何度も繰り返しコピーを実行することはできない。
【0004】
【発明が解決しようとする課題】
金融業などの24時間稼動するシステムにおいては、日付切替時などのデータを、整合性がとれた状態のデータベースとして保存する必要がある。オリジナルのデータベースの更新を行いながら、複製を作成する動的レプリケーションの手法が、例えば特開2000−132435公報に開示されているが、データベースの更新が継続されるため、ある特定時点のデータを保持することはできず、例えば日付切替時のデータベースといった静的なデータベースを保証することができない。
【0005】
さらに、静的レプリケーションでは、データベースをコピーする間、データベースの更新処理を停止する必要があり、例えばクレジットカードやデビットカード、あるいは、ATMなどの利用者に24時間稼動のサービスを提供することはできない。
【0006】
また、特開平10−207754号公報は、更新中のデータベースから、任意の時点におけるデータベースを複製する手段を開示する。しかし、同公報に開示されたレプリケーションは、同一機種における、同一種類のデータベースのレプリケーションに限定される。さらに、更新中のデータベースの複写を第一のプロセスとして行い、更新データジャーナルの選別を第二のプロセスとして行うので、第一のプロセスから第二のプロセスへデータ抽出範囲などを通知する必要がある。その通知の後、第一のプロセスで複写作成した複写データベースの内容を、第二のプロセスで選別された更新データジャーナルの内容により更新する。
【0007】
言い換えれば、特開平10−207754号公報に開示されたレプリケーションは、一旦、データベースを複写した後、更新情報を上書きするもので、複写を行う第一のプロセス、および、第一のプロセスから第二のプロセスへの通知が必要で、処理が複雑になり、基幹業務であるデータベース更新処理への影響が大きい。
【0008】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、更新中のデータベースから、任意の時点における静的データベースを作成することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0010】
本発明にかかる情報処理装置は、リアルタイム更新差分抽出によってデータベースを作成する情報処理装置であって、データベースを更新して、その更新ログを生成する更新手段と、静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録する記録手段と、前記更新ログから前記データベースの更新情報を抽出する抽出手段と、前記更新情報を前記データベースの複製データベースに反映する反映手段とを有し、前記抽出手段は、前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、前記反映手段は、前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする。
【0011】
本発明にかかるデータベースの作成方法は、リアルタイム更新差分抽出によるデータベースの作成方法であって、データベースを更新して、その更新ログを生成し、静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録し、前記更新ログから前記データベースの更新情報を抽出し、前記更新情報を前記データベースの複製データベースに反映し、前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする。
【0012】
【発明の実施の形態】
本発明にかかる一実施形態の情報処理を図面を参照して詳細に説明する。
【0013】
[概要]
本実施形態は、異機種間の、異なる種類のデータベース間で動的レプリケーションを実施する際、指定のタイミング(例えば日付切替時刻)に基づき、データベースの更新情報を更新差分データに反映する処理を停止して、複製のデータベースの静的な状態を確保する。なお、異なる種類のデータベースとしては、例えばネットワーク型データベース、リレーショナルデータベースなどがある。
【0014】
[構成]
図1は実施形態のデータベースのレプリケーションを行う情報処理システムの構成例を示すブロック図である。
【0015】
オリジナルのデータベース11が稼動する装置(以下「オリジナル機」と呼ぶ)1のデータベース更新プログラム12は、データベース11の更新情報を更新ログ14に記録する。オリジナル機1の差分抽出プログラム15は、読み込んだ更新ログ14を編集して、更新差分データを抽出し、共有ディスク2に格納する。
【0016】
複製のデータベース32が稼動する装置(以下「コピー先機」と呼ぶ)3の差分反映プログラム31は、共有ディスク2から更新差分データを読み込み、更新差分データが示す更新情報(差分)をデータベース32に反映する。
【0017】
日付切替など、静的データベース34の作成時刻(指定時刻)になると、オリジナル機1では、タイマ指定によって切替プログラム13が自動的に起動し、切替制御レコードを更新ログ14に記録する。差分抽出プログラム15は、更新ログ14に記録された切替制御レコードを検出すると、差分抽出の終了処理を行い、切替制御レコードを検出したことを示す切替情報を含む更新差分データを共有ディスク2に格納した後、自己(差分抽出プログラム15)を停止する。なお、この後も、オリジナル機1のデータベース更新プログラム12は停止することなく動作して、更新ログ14に更新情報が記録される。
【0018】
差分反映プログラム31は、切替情報を含む更新差分データを検出すると、未処理の更新差分データをデータベース32に反映し、更新差分データの反映を終了する。反映終了時点のデータベース32は、指定時刻における静的データベースになる。そして、差分反映プログラム31は、静的データベース保存プログラム33や、日時処理、月次処理などの処理を起動する。
【0019】
詳細は後述するが、静的データベース34の保存、必要に応じて起動された日時処理、月次処理などの処理がすべて終了すると、差分抽出プログラム15は、自己(差分抽出プログラム15)の停止を解除して、前回自己を停止した以降の、動的レプリケーションを、遅延処理で再開する。
【0020】
従って、異機種であるオリジナル機1とコピー先機3との間の、種類が異なるデータベース11とデータベース32との間の動的レプリケーションにおける、特定時刻の静的データベース34の作成が、オリジナル機1のデータベース11の更新処理を継続したままで容易に実現される。勿論、異機種間の、同一種類のデータベース間、または、同一機種間の、同一種類のデータベース間であっても、同様に、特定時刻の静的データベース作成が実現される。
【0021】
データベース11を二重化しておき、指定時刻に二重化した一方を切り離して、静的データベース34を作成する方法もあるが、指定時刻前に更新されたが未だコミットされていないデータがある場合は、後処理により、このようなデータを更新前の状態に戻す必要がある。この場合、処理が確定しているか否かを判別して、確定していなければ更新前の状態へ戻す、というような複雑な処理を行わなければならない。
【0022】
実施形態の静的データベースの作成方法によれば、このような複雑な処理を必要としない。すなわち、コミットレコードを検出したところで、トランザクション単位に編集して、共有ディスク2に更新差分データとして書き出すので、切替制御レコードを検出したときは、更新されたが未だコミットされていないデータは、更新差分データとして書き出されていないためである。言い換えれば、実施形態の静的データベースの作成方法は、指定時刻にデータベース11を切り離して、静的データベース34を作成する方法に比べて、指定時刻前後のコミット前データに関する整合を取る、という複雑な処理を必要としない。
【0023】
また、差分抽出プログラム15を停止して静的データベース34を作成するので、コピー先機3における静的データベース34の保存、日時処理、月次処理などの時間的な制約が緩和される。また、差分抽出プログラム15、および、差分反映プログラム31の処理を再開するだけで、容易にレプリケーションが再開される。
【0024】
なお、図1には示さないが、オリジナル機1とコピー先機3とは所定のインタフェイス、ネットワーク、専用線を介して接続されていてもよい。また、共有ディスク2は、オリジナル機1またはコピー先機3に接続されたハードディスクでもよいし、ネットワークを介して接続されるサーバのリソースでもよい。
【0025】
なお、コミットとは、トランザクション処理が成功したときに、その結果を確定させる操作である。トランザクション処理の結果は「すべて成功」か「すべて失敗」のどちらかに限られるため、一連の処理がすべて終了するまで成功か失敗かを判断することができない。例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。従って、出金処理が終了しても、入金処理が終るまでは、その処理が「成功」か「失敗」かは不明なままである。出金・入金双方の処理がどちらも成功して始めて、資金を本当に移動させることが決定される。この資金移動を確定させる操作がコミットである(e−Words情報・通信事典より)。
【0026】
また、ロールバックとは、トランザクションの処理中に何か異常が起こり、正常に処理を完了できなかった場合、関連する処理を中止し、関連する情報を処理前の状態に戻す操作である(日経BP社Find’Xより)。
【0027】
[差分抽出処理]
図2は差分抽出プログラム15の処理を説明するフローチャートである。
【0028】
差分抽出プログラム15は、まず、更新ログ14からログデータをレコード単位に読み込み(S11)、読み込んだログデータを記憶する(S12)。そして、ログデータの後述する更新種別に基づき、記憶したログデータが切替制御レコードか否か(S13)、コミットまたはロールバックレコードか否か(S14)を判定する。
【0029】
図5はログデータの形式を説明する図である。「トランザクション識別名」はトランザクションの単位を表す記号、「更新種別」は更新、追加、削除、コミット、ロールバック、日付切替などの処理を表すコード、「コミット順序」はオリジナル機1が複数あり、同一のデータベースをシェアしている場合に、異なるオリジナル機間におけるコミットの順序を確定する順序数、「更新前(または後)レコード」はデータベースの更新前(または後)のレコードの内容である。
【0030】
ログデータがコミットの場合は、ログデータをトランザクション(処理)単位に編集して、コミット済みのデータを抽出し、共有ディスク2に更新差分データとして書き出す(S15)。具体的には、不要項目の削除、更新順にソート、コピー先機3の文字コードへの変換、バイナリ数値の数字文字列への変換などを行い、その結果を更新差分データとして書き出す。そして、書き出した更新差分データに対応する、記憶したログデータを削除する(S16)。また、ログデータがロールバックの場合は更新差分データを出力せずに、記憶したログデータを削除する(S16)。その後、処理はステップS11へ戻り、ステップS11からS16の処理を繰り返す。
【0031】
前述したように、指定時刻になると、オリジナル機1において、タイマ指定によって切替プログラム13が自動的に起動して、更新ログ14に切替制御レコードを記録する。差分抽出プログラム15は、切替制御レコードを検出すると(S13)、更新ログ14の未処理部分の位置、つまり処理再開時のログデータの読み込みを開始する位置を共有ディスク2などにファイルとして書き出す(S17)。
【0032】
図3に一例を示す更新ログ14における、処理再開時のログデータの読み込み開始位置は、図3にAおよびCで示す、切替制御レコード検出時に仕掛かり中のトランザクションのうちの最初のレコード、つまりAで示す「更新1」になる。なお、図3にBで示す更新1および更新2は、切替制御レコードの前でコミットされているので、処理再開時の更新対象にはならない。
【0033】
次に、差分抽出プログラム15は、記憶したログデータを消去し(S18)、日付切替などを示す切替情報を更新差分データとして共有ディスク2へ書き出す(S19)。
【0034】
この後、差分抽出プログラム15は、自己(差分抽出プログラム15)の処理を停止するが、差分抽出プログラム15の停止後も、オリジナル機1のデータベース更新プログラム12は停止することなく動作して、データベース11の更新情報は更新ログ14に記録され続ける。
【0035】
[差分反映処理]
図4は差分反映プログラム31の処理を説明するフローチャートである。
【0036】
差分反映プログラム31は、共有ディスク2に新たに書き込まれた更新差分データがあるか否かを所定の時間間隔で調べ(S21)、該当するデータがある場合は、その更新差分データを読み込み(S22)、更新差分データが切替情報か否かを判定する(S23)。
【0037】
切替情報ではない場合、差分反映プログラム31は、更新差分データが示す更新情報をデータベース32に反映し(S24)、処理をステップS21へ戻し、ステップS21からS23を繰り返す。
【0038】
また、切替情報の場合、データベース32はオリジナル機1の指定時刻における静的データベースのレプリケーションになっているので、差分反映プログラム31は、静的データベース保存プログラム33や、必要に応じて日時処理、月次処理などの処理を起動し(S25)、その後、自己(差分反映プログラム31)の処理を停止するとともに、プロセス間通信によりオリジナル機1の運用管理機能に、差分抽出プログラム15の処理の再開指示を通知する。この通知を受けたオリジナル機1の運用管理機能は、差分抽出プログラム15の処理を再開させる。
【0039】
コピー先機3の運用管理機能は、差分反映プログラム31の処理が停止した後、静的データベース34の保存や、必要に応じて起動された日時処理、月次処理などの処理がすべて終了したことを検出すると、差分反映プログラム31の処理を再開させる。
【0040】
これ以降、差分抽出プログラム15の処理が前回停止した以降の、動的レプリケーションが遅延処理で再開される。
【0041】
[変形例]
上記では、オリジナル機1およびコピー先機3が、共有ディスク2を使用して更新差分データの受渡しをする例を説明した。しかし、共有ディスク2を使用しない受渡しも考えられる。例えば、ネットワークを使用して、オリジナル機1からコピー先機3へ更新差分データをファイル転送してもよい。この場合、転送するファイルに次に送信予定のファイル名を含める。コピー先機3の差分反映プログラム31は、所定の時間間隔で、次のファイルを受信したか否かを判定し、該当するファイルがある場合、その更新差分データを読み込み、データベース32に更新を反映する。なお、コピー先機3の差分反映プログラム31が、受信したファイルから切替情報を読み込んだ以降の処理は、共有ディスク2を使用する場合と同様である。
【0042】
このように、本実施形態は、切替制御レコードを記録し、切替制御レコードを検出することでレプリケーションを行うため、更新中のデータベースの複写を行う必要がなく、遅延処理によって更新情報の反映だけを行えばよい。従って、特開平10−207754号公報のレプリケーションに比べて、処理負荷が軽くし、基幹業務であるデータベース更新処理への影響を小さくする効果がある。
【0043】
【発明の効果】
以上説明したように、本発明によれば、更新中のデータベースから、任意の時点における静的データベースを作成することができる。
【図面の簡単な説明】
【図1】データベースのレプリケーションを行う情報処理システムの構成例を示すブロック図、
【図2】差分抽出プログラムの処理を説明するフローチャート、
【図3】更新ログの一例を示す図、
【図4】差分反映プログラムの処理を説明するフローチャート、
【図5】ログデータの形式を説明する図である。
【発明の属する技術分野】
本発明はデータベースの作成方法およびその情報処理装置に関し、例えば、リアルタイム更新差分抽出によるデータベース作成に関する。
【0002】
【従来の技術】
コンピュータによって作成、更新される企業の基幹業務のデータベースを、異なるコンピュータのデータベースへ抽出するレプリケーション(複製)技術に対する需要が、データウェアハウスの構築、あるいは、データマイニングやウェブ対応を行うオープン系資源へデータを供給する基盤技術の一つとして高まっている。
【0003】
データベースを複製する際は、オリジナルの基幹システムを変更することなく、コピー先のデータベースを常に最新の状態に保つことが望まれる。オリジナルのデータベースの更新を停止した状態でオリジナルのデータベースを複製する静的レプリケーションでは、オリジナルのデータベースの更新がリアルタイムにコピー先のデータベースに反映されることはない。従って、コピー先のデータベースの鮮度を維持するには、コピープログラムを定期的に実行する必要がある。しかし、基幹業務のデータベースは大容量で、コピーには時間を要し、何度も繰り返しコピーを実行することはできない。
【0004】
【発明が解決しようとする課題】
金融業などの24時間稼動するシステムにおいては、日付切替時などのデータを、整合性がとれた状態のデータベースとして保存する必要がある。オリジナルのデータベースの更新を行いながら、複製を作成する動的レプリケーションの手法が、例えば特開2000−132435公報に開示されているが、データベースの更新が継続されるため、ある特定時点のデータを保持することはできず、例えば日付切替時のデータベースといった静的なデータベースを保証することができない。
【0005】
さらに、静的レプリケーションでは、データベースをコピーする間、データベースの更新処理を停止する必要があり、例えばクレジットカードやデビットカード、あるいは、ATMなどの利用者に24時間稼動のサービスを提供することはできない。
【0006】
また、特開平10−207754号公報は、更新中のデータベースから、任意の時点におけるデータベースを複製する手段を開示する。しかし、同公報に開示されたレプリケーションは、同一機種における、同一種類のデータベースのレプリケーションに限定される。さらに、更新中のデータベースの複写を第一のプロセスとして行い、更新データジャーナルの選別を第二のプロセスとして行うので、第一のプロセスから第二のプロセスへデータ抽出範囲などを通知する必要がある。その通知の後、第一のプロセスで複写作成した複写データベースの内容を、第二のプロセスで選別された更新データジャーナルの内容により更新する。
【0007】
言い換えれば、特開平10−207754号公報に開示されたレプリケーションは、一旦、データベースを複写した後、更新情報を上書きするもので、複写を行う第一のプロセス、および、第一のプロセスから第二のプロセスへの通知が必要で、処理が複雑になり、基幹業務であるデータベース更新処理への影響が大きい。
【0008】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、更新中のデータベースから、任意の時点における静的データベースを作成することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0010】
本発明にかかる情報処理装置は、リアルタイム更新差分抽出によってデータベースを作成する情報処理装置であって、データベースを更新して、その更新ログを生成する更新手段と、静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録する記録手段と、前記更新ログから前記データベースの更新情報を抽出する抽出手段と、前記更新情報を前記データベースの複製データベースに反映する反映手段とを有し、前記抽出手段は、前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、前記反映手段は、前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする。
【0011】
本発明にかかるデータベースの作成方法は、リアルタイム更新差分抽出によるデータベースの作成方法であって、データベースを更新して、その更新ログを生成し、静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録し、前記更新ログから前記データベースの更新情報を抽出し、前記更新情報を前記データベースの複製データベースに反映し、前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする。
【0012】
【発明の実施の形態】
本発明にかかる一実施形態の情報処理を図面を参照して詳細に説明する。
【0013】
[概要]
本実施形態は、異機種間の、異なる種類のデータベース間で動的レプリケーションを実施する際、指定のタイミング(例えば日付切替時刻)に基づき、データベースの更新情報を更新差分データに反映する処理を停止して、複製のデータベースの静的な状態を確保する。なお、異なる種類のデータベースとしては、例えばネットワーク型データベース、リレーショナルデータベースなどがある。
【0014】
[構成]
図1は実施形態のデータベースのレプリケーションを行う情報処理システムの構成例を示すブロック図である。
【0015】
オリジナルのデータベース11が稼動する装置(以下「オリジナル機」と呼ぶ)1のデータベース更新プログラム12は、データベース11の更新情報を更新ログ14に記録する。オリジナル機1の差分抽出プログラム15は、読み込んだ更新ログ14を編集して、更新差分データを抽出し、共有ディスク2に格納する。
【0016】
複製のデータベース32が稼動する装置(以下「コピー先機」と呼ぶ)3の差分反映プログラム31は、共有ディスク2から更新差分データを読み込み、更新差分データが示す更新情報(差分)をデータベース32に反映する。
【0017】
日付切替など、静的データベース34の作成時刻(指定時刻)になると、オリジナル機1では、タイマ指定によって切替プログラム13が自動的に起動し、切替制御レコードを更新ログ14に記録する。差分抽出プログラム15は、更新ログ14に記録された切替制御レコードを検出すると、差分抽出の終了処理を行い、切替制御レコードを検出したことを示す切替情報を含む更新差分データを共有ディスク2に格納した後、自己(差分抽出プログラム15)を停止する。なお、この後も、オリジナル機1のデータベース更新プログラム12は停止することなく動作して、更新ログ14に更新情報が記録される。
【0018】
差分反映プログラム31は、切替情報を含む更新差分データを検出すると、未処理の更新差分データをデータベース32に反映し、更新差分データの反映を終了する。反映終了時点のデータベース32は、指定時刻における静的データベースになる。そして、差分反映プログラム31は、静的データベース保存プログラム33や、日時処理、月次処理などの処理を起動する。
【0019】
詳細は後述するが、静的データベース34の保存、必要に応じて起動された日時処理、月次処理などの処理がすべて終了すると、差分抽出プログラム15は、自己(差分抽出プログラム15)の停止を解除して、前回自己を停止した以降の、動的レプリケーションを、遅延処理で再開する。
【0020】
従って、異機種であるオリジナル機1とコピー先機3との間の、種類が異なるデータベース11とデータベース32との間の動的レプリケーションにおける、特定時刻の静的データベース34の作成が、オリジナル機1のデータベース11の更新処理を継続したままで容易に実現される。勿論、異機種間の、同一種類のデータベース間、または、同一機種間の、同一種類のデータベース間であっても、同様に、特定時刻の静的データベース作成が実現される。
【0021】
データベース11を二重化しておき、指定時刻に二重化した一方を切り離して、静的データベース34を作成する方法もあるが、指定時刻前に更新されたが未だコミットされていないデータがある場合は、後処理により、このようなデータを更新前の状態に戻す必要がある。この場合、処理が確定しているか否かを判別して、確定していなければ更新前の状態へ戻す、というような複雑な処理を行わなければならない。
【0022】
実施形態の静的データベースの作成方法によれば、このような複雑な処理を必要としない。すなわち、コミットレコードを検出したところで、トランザクション単位に編集して、共有ディスク2に更新差分データとして書き出すので、切替制御レコードを検出したときは、更新されたが未だコミットされていないデータは、更新差分データとして書き出されていないためである。言い換えれば、実施形態の静的データベースの作成方法は、指定時刻にデータベース11を切り離して、静的データベース34を作成する方法に比べて、指定時刻前後のコミット前データに関する整合を取る、という複雑な処理を必要としない。
【0023】
また、差分抽出プログラム15を停止して静的データベース34を作成するので、コピー先機3における静的データベース34の保存、日時処理、月次処理などの時間的な制約が緩和される。また、差分抽出プログラム15、および、差分反映プログラム31の処理を再開するだけで、容易にレプリケーションが再開される。
【0024】
なお、図1には示さないが、オリジナル機1とコピー先機3とは所定のインタフェイス、ネットワーク、専用線を介して接続されていてもよい。また、共有ディスク2は、オリジナル機1またはコピー先機3に接続されたハードディスクでもよいし、ネットワークを介して接続されるサーバのリソースでもよい。
【0025】
なお、コミットとは、トランザクション処理が成功したときに、その結果を確定させる操作である。トランザクション処理の結果は「すべて成功」か「すべて失敗」のどちらかに限られるため、一連の処理がすべて終了するまで成功か失敗かを判断することができない。例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。従って、出金処理が終了しても、入金処理が終るまでは、その処理が「成功」か「失敗」かは不明なままである。出金・入金双方の処理がどちらも成功して始めて、資金を本当に移動させることが決定される。この資金移動を確定させる操作がコミットである(e−Words情報・通信事典より)。
【0026】
また、ロールバックとは、トランザクションの処理中に何か異常が起こり、正常に処理を完了できなかった場合、関連する処理を中止し、関連する情報を処理前の状態に戻す操作である(日経BP社Find’Xより)。
【0027】
[差分抽出処理]
図2は差分抽出プログラム15の処理を説明するフローチャートである。
【0028】
差分抽出プログラム15は、まず、更新ログ14からログデータをレコード単位に読み込み(S11)、読み込んだログデータを記憶する(S12)。そして、ログデータの後述する更新種別に基づき、記憶したログデータが切替制御レコードか否か(S13)、コミットまたはロールバックレコードか否か(S14)を判定する。
【0029】
図5はログデータの形式を説明する図である。「トランザクション識別名」はトランザクションの単位を表す記号、「更新種別」は更新、追加、削除、コミット、ロールバック、日付切替などの処理を表すコード、「コミット順序」はオリジナル機1が複数あり、同一のデータベースをシェアしている場合に、異なるオリジナル機間におけるコミットの順序を確定する順序数、「更新前(または後)レコード」はデータベースの更新前(または後)のレコードの内容である。
【0030】
ログデータがコミットの場合は、ログデータをトランザクション(処理)単位に編集して、コミット済みのデータを抽出し、共有ディスク2に更新差分データとして書き出す(S15)。具体的には、不要項目の削除、更新順にソート、コピー先機3の文字コードへの変換、バイナリ数値の数字文字列への変換などを行い、その結果を更新差分データとして書き出す。そして、書き出した更新差分データに対応する、記憶したログデータを削除する(S16)。また、ログデータがロールバックの場合は更新差分データを出力せずに、記憶したログデータを削除する(S16)。その後、処理はステップS11へ戻り、ステップS11からS16の処理を繰り返す。
【0031】
前述したように、指定時刻になると、オリジナル機1において、タイマ指定によって切替プログラム13が自動的に起動して、更新ログ14に切替制御レコードを記録する。差分抽出プログラム15は、切替制御レコードを検出すると(S13)、更新ログ14の未処理部分の位置、つまり処理再開時のログデータの読み込みを開始する位置を共有ディスク2などにファイルとして書き出す(S17)。
【0032】
図3に一例を示す更新ログ14における、処理再開時のログデータの読み込み開始位置は、図3にAおよびCで示す、切替制御レコード検出時に仕掛かり中のトランザクションのうちの最初のレコード、つまりAで示す「更新1」になる。なお、図3にBで示す更新1および更新2は、切替制御レコードの前でコミットされているので、処理再開時の更新対象にはならない。
【0033】
次に、差分抽出プログラム15は、記憶したログデータを消去し(S18)、日付切替などを示す切替情報を更新差分データとして共有ディスク2へ書き出す(S19)。
【0034】
この後、差分抽出プログラム15は、自己(差分抽出プログラム15)の処理を停止するが、差分抽出プログラム15の停止後も、オリジナル機1のデータベース更新プログラム12は停止することなく動作して、データベース11の更新情報は更新ログ14に記録され続ける。
【0035】
[差分反映処理]
図4は差分反映プログラム31の処理を説明するフローチャートである。
【0036】
差分反映プログラム31は、共有ディスク2に新たに書き込まれた更新差分データがあるか否かを所定の時間間隔で調べ(S21)、該当するデータがある場合は、その更新差分データを読み込み(S22)、更新差分データが切替情報か否かを判定する(S23)。
【0037】
切替情報ではない場合、差分反映プログラム31は、更新差分データが示す更新情報をデータベース32に反映し(S24)、処理をステップS21へ戻し、ステップS21からS23を繰り返す。
【0038】
また、切替情報の場合、データベース32はオリジナル機1の指定時刻における静的データベースのレプリケーションになっているので、差分反映プログラム31は、静的データベース保存プログラム33や、必要に応じて日時処理、月次処理などの処理を起動し(S25)、その後、自己(差分反映プログラム31)の処理を停止するとともに、プロセス間通信によりオリジナル機1の運用管理機能に、差分抽出プログラム15の処理の再開指示を通知する。この通知を受けたオリジナル機1の運用管理機能は、差分抽出プログラム15の処理を再開させる。
【0039】
コピー先機3の運用管理機能は、差分反映プログラム31の処理が停止した後、静的データベース34の保存や、必要に応じて起動された日時処理、月次処理などの処理がすべて終了したことを検出すると、差分反映プログラム31の処理を再開させる。
【0040】
これ以降、差分抽出プログラム15の処理が前回停止した以降の、動的レプリケーションが遅延処理で再開される。
【0041】
[変形例]
上記では、オリジナル機1およびコピー先機3が、共有ディスク2を使用して更新差分データの受渡しをする例を説明した。しかし、共有ディスク2を使用しない受渡しも考えられる。例えば、ネットワークを使用して、オリジナル機1からコピー先機3へ更新差分データをファイル転送してもよい。この場合、転送するファイルに次に送信予定のファイル名を含める。コピー先機3の差分反映プログラム31は、所定の時間間隔で、次のファイルを受信したか否かを判定し、該当するファイルがある場合、その更新差分データを読み込み、データベース32に更新を反映する。なお、コピー先機3の差分反映プログラム31が、受信したファイルから切替情報を読み込んだ以降の処理は、共有ディスク2を使用する場合と同様である。
【0042】
このように、本実施形態は、切替制御レコードを記録し、切替制御レコードを検出することでレプリケーションを行うため、更新中のデータベースの複写を行う必要がなく、遅延処理によって更新情報の反映だけを行えばよい。従って、特開平10−207754号公報のレプリケーションに比べて、処理負荷が軽くし、基幹業務であるデータベース更新処理への影響を小さくする効果がある。
【0043】
【発明の効果】
以上説明したように、本発明によれば、更新中のデータベースから、任意の時点における静的データベースを作成することができる。
【図面の簡単な説明】
【図1】データベースのレプリケーションを行う情報処理システムの構成例を示すブロック図、
【図2】差分抽出プログラムの処理を説明するフローチャート、
【図3】更新ログの一例を示す図、
【図4】差分反映プログラムの処理を説明するフローチャート、
【図5】ログデータの形式を説明する図である。
Claims (7)
- リアルタイム更新差分抽出によってデータベースを作成する情報処理装置であって、
データベースを更新して、その更新ログを生成する更新手段と、
静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録する記録手段と、
前記更新ログから前記データベースの更新情報を抽出する抽出手段と、
前記更新情報を前記データベースの複製データベースに反映する反映手段とを有し、
前記抽出手段は、前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、
前記反映手段は、前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする情報処理装置。 - 前記静的データベースの作成が終了した後、前記反映手段は前記更新情報の反映を再開し、前記抽出手段は前記更新情報の抽出を再開することを特徴とする請求項1に記載された情報処理装置。
- 前記更新手段は、前記静的データベースの作成とは無関係に、前記データベースの更新および前記更新ログの生成を継続することを特徴とする請求項1に記載された情報処理装置。
- 前記反映手段は、前記更新情報が前記タイミング情報を示す場合、前記複製データベースに対する日次処理および/または月次処理を実行することを特徴とする請求項1に記載された情報処理装置。
- リアルタイム更新差分抽出によるデータベースの作成方法であって、
データベースを更新して、その更新ログを生成し、
静的データベースの生成タイミングを示すタイミング情報を、前記更新ログに記録し、
前記更新ログから前記データベースの更新情報を抽出し、
前記更新情報を前記データベースの複製データベースに反映し、
前記更新ログから前記タイミング情報を検出すると、前記タイミング情報を前記更新情報として抽出して、前記更新情報の抽出を停止し、
前記更新情報が前記タイミング情報を示す場合、前記更新情報の反映を停止して、前記複製データベースから前記静的データベースを作成することを特徴とする作成方法。 - 情報処理装置を制御して、請求項5に記載されたデータベースの作成を実行することを特徴とするプログラム。
- 請求項6に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002236430A JP2004078464A (ja) | 2002-08-14 | 2002-08-14 | リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002236430A JP2004078464A (ja) | 2002-08-14 | 2002-08-14 | リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078464A true JP2004078464A (ja) | 2004-03-11 |
JP2004078464A5 JP2004078464A5 (ja) | 2005-04-07 |
Family
ID=32020599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002236430A Pending JP2004078464A (ja) | 2002-08-14 | 2002-08-14 | リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004078464A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277424A (ja) * | 2005-03-30 | 2006-10-12 | Sysmex Corp | 分析システム、データ処理装置、測定装置、及びアプリケーションプログラム |
JP2011086241A (ja) * | 2009-10-19 | 2011-04-28 | Internatl Business Mach Corp <Ibm> | データベースの複製を生成する装置及び方法 |
JP2017068342A (ja) * | 2015-09-28 | 2017-04-06 | 富士通株式会社 | 制御プログラム、制御方法、及び、情報処理装置 |
-
2002
- 2002-08-14 JP JP2002236430A patent/JP2004078464A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277424A (ja) * | 2005-03-30 | 2006-10-12 | Sysmex Corp | 分析システム、データ処理装置、測定装置、及びアプリケーションプログラム |
JP2011086241A (ja) * | 2009-10-19 | 2011-04-28 | Internatl Business Mach Corp <Ibm> | データベースの複製を生成する装置及び方法 |
US8775386B2 (en) | 2009-10-19 | 2014-07-08 | International Business Machines Corporation | Device and method for generating copy of database |
US8799232B2 (en) | 2009-10-19 | 2014-08-05 | International Business Machines Corporation | Method for generating copy of database |
JP2017068342A (ja) * | 2015-09-28 | 2017-04-06 | 富士通株式会社 | 制御プログラム、制御方法、及び、情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2933790C (en) | Apparatus and method for creating a real time database replica | |
TW522320B (en) | Apparatus and method for recovering a failed database data set | |
CN100476710C (zh) | 在数据存储器中保持临时数据的系统和方法 | |
CN101221573B (zh) | 将储存库还原到先前状态的方法 | |
US7107294B2 (en) | Method and apparatus for interrupting updates to a database to provide read-only access | |
US8572037B2 (en) | Database server, replication server and method for replicating data of a database server by at least one replication server | |
CN109241185A (zh) | 一种数据同步的方法以及数据同步装置 | |
US11010256B1 (en) | Method and system for implementing current, consistent, and complete backup copy by rolling a change log backwards against a storage device | |
JP5201133B2 (ja) | 二重化システム、システム制御方法およびシステム制御プログラム | |
US6636876B1 (en) | Database copy apparatus, database copy method and recording medium recorded with database copy program | |
CN100594480C (zh) | 复制设备、复制方法和块标识数据获取方法 | |
JP2004078464A (ja) | リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置 | |
US7831782B1 (en) | Roll-back log to provide data consistency | |
JP4428887B2 (ja) | データベースシステム | |
CN113391933A (zh) | 一种处理资金的方法 | |
JP2012185686A (ja) | ファイルシステム | |
JPH11327988A (ja) | 複数計算機間のデータベースレプリケーション制御方法 | |
JPH1153239A (ja) | データベースのロールバック処理方法及び前記ロールバック処理方法の手順を記録した記録媒体 | |
JP2004199264A (ja) | データベース処理方法及びその実施装置並びにその処理プログラム | |
JP4636008B2 (ja) | データレプリケーションシステム、データレプリケーション方法、データレプリケーションプログラム | |
JP4434117B2 (ja) | 複製ボリュームの再同期化システムと方法、ストレージ装置、コンピュータ、及びプログラム | |
JP2006503372A (ja) | システムオブジェクトをジャーナリングする方法、システム及びソフトウェア | |
WO2004097648A1 (ja) | データベース制御方法 | |
CN116860770A (zh) | 用于OpenGauss数据库的DDL逻辑复制方法和系统 | |
JP2004133511A (ja) | データ処理システム及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040601 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070827 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071217 |