(57)【要約】【課題】  レプリケーション対象列数の増加時にも、更新差分情報取得処理を効率よく実施し、更新差分情報取得処理及び更新性能の劣化を防止できるような、データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムを提供する。【解決手段】  データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムにおいて、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段２０６と、ホスト変数処理手段２０６によって、メモリ上で連続すると確認されたホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段３０３と設け、マスタデータベース２０７の更新の際の更新履歴情報の抽出回数を削減する。【選択図】  図１
2005234780.tif 000002
【特許請求の範囲】
【請求項１】
マスタデータベースが更新されるとその複製のデータベースであるレプリカデータベースを更新するデータベースレプリケーション制御システムにおいて、
レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段と、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段とを備えて成ることを特徴とするデータベースレプリケーション制御システム。
【請求項２】
請求項１記載のデータベースレプリケーション制御システムにおいて、レプリケーション対象と列の順序の一致を確認する更新履歴抽出情報生成手段を備え、前記ホスト変数処理手段は、前記更新履歴抽出情報生成手段で前記レプリケーション対象と列の順序の一致を確認し一致する部分のレプリケーション対象に連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグが設定されたレプリケーション対象の情報を一括して抽出することを特徴とするデータベースレプリケーション制御システム。
【請求項３】
請求項１又は２記載のデータベースレプリケーション制御システムにおいて、前記ホスト変数処理手段はレプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分に連続のフラグを設定すると共に連続する部分の最終に連続終了のフラグを設定し、メモリ上で連続しない部分に非連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグから連続終了のフラグが設定されたホスト変数に対応するレプリケーション対象を一括抽出することを特徴とするデータベースレプリケーション制御システム。
【請求項４】
マスタデータベースが更新されるとその複製のデータベースであるレプリカデータベースを更新するデータベースレプリケーション制御システムにおいて、
レプリケーションサーバシステムにおけるホスト変数を処理するホスト変数処理手段を具備し、
アプリケーションプログラムでホスト変数を明示的に連続メモリ領域に割り当てて複数のレプリケーション対象の情報を一括して抽出することより、マスタデータベースの更新の際の更新履歴情報の抽出回数を削減することを特徴とするデータベースレプリケーション制御システム。
【請求項５】
請求項４記載のデータベースレプリケーション制御システムにおいて、ホスト変数に連続のメモリ領域を割り当てるホスト変数処理手段と、連続のメモリ領域を割り当てられた複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段とを具備することを特徴とするデータベースレプリケーション制御システム。
【請求項６】
請求項４又は５記載のデータベースレプリケーション制御システムにおいて、更に、マスタデータベースとレプリカデータベースとの間で同期をとるレプリケーション対象を定義づけるレプリケーション定義手段と、列情報及びレプリケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴抽出情報生成手段とを具備することを特徴とするデータベースレプリケーション制御システム。
【請求項７】
コンピュータを、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段と、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラム。
【請求項８】
コンピュータを、レプリケーション対象と列の順序の一致を確認する更新履歴抽出情報生成手段として機能させると共に、前記ホスト変数処理手段は、前記更新履歴抽出情報生成手段で前記レプリケーション対象と列の順序の一致を確認し一致する部分のレプリケーション対象に連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグが設定されたレプリケーション対象の情報を一括して抽出するように機能させることを特徴とする請求項７記載のプログラム。
【請求項９】
コンピュータを、前記ホスト変数処理手段はレプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分に連続のフラグを設定すると共に連続する部分の最終に連続終了のフラグを設定し、メモリ上で連続しない部分に非連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグから連続終了のフラグが設定されたホスト変数に対応するレプリケーション対象を一括抽出するように機能させることを特徴とする請求項７又は８記載のプログラム。
【請求項１０】
コンピュータを、アプリケーションプログラムでホスト変数を明示的に連続メモリ領域に割り当てるホスト変数処理手段と、連続メモリ領域に割り当てられたホスト変数に対応する複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラム。
【請求項１１】
コンピュータを、更に、マスタデータベースとレプリカデータベースとの間で同期をとるレプリケーション対象を定義づけるレプリケーション定義手段と、列情報及びレプレケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴抽出情報生成手段として機能させることを特徴とする請求項１０記載のプログラム。
【請求項１２】
コンピュータを、ホスト変数に連続のメモリ領域を割り当てるホスト変数処理手段と、複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース（以下、ＤＢと略す）レプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムに係わり、特に、レプリケーション対象列数の増加時にも、更新差分情報取得処理を効率よく実施し更新差分情報取得処理及び更新性能の劣化を防止できるような、データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムに関する。
【背景技術】
【０００２】
従来から、１つの情報処理装置が保有するマスターＤＢの複製を別の情報処理装置にレプリカＤＢとして作成し、マスターＤＢとレプリカＤＢとの整合性を維持するようなデータベースレプリケーション制御システムが知られている。このようなレプリケーション制御システム等に関する従来例としては、例えば、下記の特許文献１や特許文献２が知られている。
【０００３】
特許文献１はレプリケーションシステム及びレプリケーション制御方法に関するものであり、イベント発生条件として定義した更新情報を検出し検出されたイベント情報をキーとしてイベント発生時の操作が予め登録されているイベント情報ファイルから操作情報を読み込んで実行することなどにより、マスタＤＢの更新条件と同期して反映側のレプリカＤＢ側での運用操作を的確に行なうことを可能とした技術が開示されている。
【０００４】
また、特許文献２は、データベース管理システム（以下、ＤＢＭＳと略す）におけるホスト変数の処理方法に関するものであり、アプリケーションプログラム（以下、ＡＰと略す）の中に記述されたホスト変数宣言の並びとデータベースを構成するテーブル定義情報中のカラム指定の並びを比較し、部分的に連続性が一致するカラム群を検出し、連続するカラム群についてはテーブルの実体とＡＰ中のホスト変数間のデータ転送を一度に行うようにした技術が開示されている。
【０００５】
然しながら、特許文献１で開示されている技術は、ＤＢＭＳを検出、更新、削除する場合の入出力ホスト変数の処理を目的とし、ＤＢＭＳのみを対象とする構成になっている。このため、特許文献１で開示されている技術から得られる効果も、ＡＰとＤＢＭＳ間だけに対象が限定されるという問題があった。
また、特許文献２で開示されている技術は、マスタＤＢの更新情報のレプリカＤＢへの反映とマスタＤＢの更新に伴うイベントによる操作の同期を議論の対象とするレプリケーションシステム制御方法だけに限定されるという問題があった。
【０００６】
更に、従来のＤＢレプリケーションシステムにおいては、ＤＢが更新された際に、更新された列の情報を１列ずつ取得しなければならず、１件分の更新差分情報を取り出すためには、レプリケーションの対象となる列の数だけ更新情報を繰り返し取得する必要があった。そのため、レプリケーション対象列の数に比例して処理量が増加し、性能が悪化するという問題があった。
【０００７】
即ち、レプリケーション対象列の数分だけ繰り返し更新情報を取得する必要があるため、レプリケーション対象列の数に比例して更新差分情報を取り出す処理の性能が悪化するという問題があった。また、ＤＢＭＳの更新処理の延長で更新差分情報取得処理が動作するため、更新差分情報取得処理の性能悪化に伴って更新処理性能も悪化し、レプリケーション対象列の数に比例してＤＢＭＳの更新処理性能が悪化するという問題もあった。
【０００８】
【特許文献１】特開２０００−４７９１８号公報
【特許文献２】特開平６−１６１８４８号公報
【特許文献３】特開平１１−２３８０１２号公報
【特許文献４】特開２００２−３６６４０７号公報
【特許文献５】特開平１０−２５４７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上述のような従来技術の問題点などに鑑みてなされたものであり、その目的は、レプリケーション対象列数の増加時にも、更新差分情報取得処理を効率よく実施し、更新差分情報取得処理及び更新性能の劣化を防止できるような、データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明によれば、マスタデータベースが更新されるとその複製のデータベースであるレプリカデータベースを更新するデータベースレプリケーション制御システムにおいて、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段と、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段とを備えて成ることを特徴とするデータベースレプリケーション制御システムが提供される。
ホスト変数処理手段は、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認する。更新履歴抽出手段は、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する。
【００１１】
ここで、レプリケーション対象と列の順序の一致を確認する更新履歴抽出情報生成手段を備え、前記ホスト変数処理手段は、前記更新履歴抽出情報生成手段で前記レプリケーション対象と列の順序の一致を確認し一致する部分のレプリケーション対象に連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグが設定されたレプリケーション対象の情報を一括して抽出するように構成してもよい。
また、前記ホスト変数処理手段はレプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分に連続のフラグを設定すると共に連続する部分の最終に連続終了のフラグを設定し、メモリ上で連続しない部分に非連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグから連続終了のフラグが設定されたホスト変数に対応するレプリケーション対象を一括抽出するように構成してもよい。
【００１２】
また本発明によれば、マスタデータベースが更新されるとその複製のデータベースであるレプリカデータベースを更新するデータベースレプリケーション制御システムにおいて、レプリケーションサーバシステムにおけるホスト変数を処理するホスト変数処理手段を具備し、アプリケーションプログラムでホスト変数を明示的に連続メモリ領域に割り当てて複数のレプリケーション対象の情報を一括して抽出することより、マスタデータベースの更新の際の更新履歴情報の抽出回数を削減することを特徴とするデータベースレプリケーション制御システムが提供される。
【００１３】
ここで、ホスト変数に連続のメモリ領域を割り当てるホスト変数処理手段と、連続のメモリ領域を割り当てられた複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段とを具備するように構成してもよい。
また、更に、マスタデータベースとレプリカデータベースとの間で同期をとるレプリケーション対象を定義づけるレプリケーション定義手段と、列情報及びレプリケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴抽出情報生成手段とを具備するように構成してもよい。
【００１４】
また、本発明によれば、コンピュータを、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段と、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラムが提供される。
コンピュータは、プログラムを実行することにより、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段と、前記ホスト変数処理手段によってメモリ上で連続すると確認された前記ホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能する。
【００１５】
ここで、コンピュータを、レプリケーション対象と列の順序の一致を確認する更新履歴抽出情報生成手段として機能させると共に、前記ホスト変数処理手段は、前記更新履歴抽出情報生成手段で前記レプリケーション対象と列の順序の一致を確認し一致する部分のレプリケーション対象に連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグが設定されたレプリケーション対象の情報を一括して抽出するように機能させるように、プログラムを構成してもよい。
【００１６】
また、コンピュータを、前記ホスト変数処理手段はレプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分に連続のフラグを設定すると共に連続する部分の最終に連続終了のフラグを設定し、メモリ上で連続しない部分に非連続のフラグを設定し、前記更新履歴抽出手段は前記連続のフラグから連続終了のフラグが設定されたホスト変数に対応するレプリケーション対象を一括抽出するように機能させるように、プログラムを構成してもよい。
【００１７】
また、本発明によれば、コンピュータを、アプリケーションプログラムでホスト変数を明示的に連続メモリ領域に割り当てるホスト変数処理手段と、連続メモリ領域に割り当てられたホスト変数に対応する複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラムが提供される。
ここで、コンピュータを、更に、マスタデータベースとレプリカデータベースとの間で同期をとるレプリケーション対象を定義づけるレプリケーション定義手段と、列情報及びレプレケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴抽出情報生成手段として機能させるように、プログラムを構成してもよい。
また、本発明によれば、コンピュータを、ホスト変数に連続のメモリ領域を割り当てるホスト変数処理手段と、複数のレプリケーション対象の情報を一括して抽出する更新履歴抽出手段として機能させることを特徴とするプログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、マスタＤＢの更新の際の更新履歴情報の抽出回数を削減することができるため、データベースレプリケーション制御システムにおいて、高速なデータベースレプリケーションが実施可能となる。
また、ホスト変数の割り当てられたメモリ領域が連続であれば、抽出回数を更に削減することができるため、アプリケーションプログラムでホスト変数を明示的に連続メモリ領域に割り当てた際に更に高速なデータベースレプリケーションが実施可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図１は本実施形態に係わるデータベースレプリケーション制御システムの構成を示すブロック図である。この図において、本実施形態は、基幹サーバを構成するレプリケーションサーバシステム１０１と、クライアントを構成するレプリケーションクライアントシステム４０１とから構成されている。
【００２０】
レプリケーションサーバシステム１０１は、共有データとしてのデータベースを管理するＤＢＭＳ２０１と、マスタＤＢ２０７と、マスタＤＢレプリケーション制御システム３０１と、更新履歴抽出ファイル３０６とを有している。また、ＤＢＭＳ２０１は、ＤＢを参照処理するＤＢ参照処理手段２０２と、ＤＢ更新処理手段２０３と、ＤＢ管理システムがトランザクションを確定するトランザクション確定手段２０４と、ＤＢ管理システムがトランザクションを破棄するトランザクション破棄手段２０５と、レプリケーションサーバシステムにおけるホスト変数を処理するホスト変数処理手段２０６とを有しており、マスタＤＢレプリケーション制御システム３０１は、レプリケーション定義手段３０２と、更新されたデータを更新履歴として抽出する更新履歴抽出手段３０３と、更新履歴送信手段３０４と、列情報及びレプレケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴抽出情報生成手段３０５とを有している。
【００２１】
一方、レプリケーションクライアントシステム４０１は、レプリカＤＢを更新するレプリカＤＢレプリケーション制御システム４０２と、複製のＤＢであるレプリカＤＢ４０５とから構成され、レプリカＤＢレプリケーション制御システム４０２は、更新履歴受信手段４０３と、列情報及びレプレケーション対象情報を処理して更新履歴抽出情報を生成する更新履歴反映手段４０４とから構成されている。
尚、  レプリケーションサーバシステム１０１及びレプリケーションクライアントシステム４０１は、中央処理装置（ＣＰＵ）や記憶手段等を備えたコンピュータによって構成することができ、前記記憶手段に記憶したプログラムをＣＰＵで実行することによって後述する機能を実現できる。図１は、レプリケーションサーバシステム１０１及びレプリケーションクライアントシステム４０１の機能ブロック図を表している。
【００２２】
図２は本実施形態におけるホスト変数定義、列定義、レプリケーション対象定義を示す図である。図１及び図２において、ホスト変数ｋ１２０１は、ホスト変数処理手段２０６によって処理される対象であり、システムがサポートするＣＯＢＯＬ、Ｃ等のプログラミング言語により定義される。ホスト変数ｋ１２０１が割り当てられるシステムのメモリ領域は処理系依存であり、連続、非連続いずれの場合もあり得る。
【００２３】
また、ＤＢＭＳ２０１は、ホスト変数ｋ１２０１を、ユーザと値のやり取りを行うインタフェースとして利用し、マスタＤＢ２０７を更新する値はホスト変数ｋ１２０１を用いて指定する。列１２０２は、ＤＢＭＳ２０１の管理する最小の論理単位であり、複数の列が集まり１件のデータとして管理される。レプリケーション制御システム１０１においても、マスタＤＢ２０７とレプリカＤＢ４０５との間でデータの同期を取る際の、最小の論理単位となる。更に、レプリケーション対象１２０３は、レプリケーション定義手段３０２によって定義され、マスタＤＢ２０７とレプリカＤＢ４０５との間でデータの同期を取る対象列を示す。
【００２４】
図３は本実施形態の動作を示す流れ図である。図２及び図３において、更新履歴抽出情報生成手段３０５は、ステップ３０５１〜３０５６で、レプリケーション対象ｎ１２０３と列ｍ１２０２の順序の一致を確認し、順序が一致する部分に関してはレプリケーション対象ｎ１２０３に連続、連続終了のフラグを設定する。
即ち、ステップ３０５１はローカル変数ｉに初期値１を設定し、ステップ３０５２はｉの値を１ずつ加算し、ステップ３０５３はループの終了条件を判定する。ステップ３０５４は２つのレプリケーション対象ｎ１２０３に対応する列ｍ１２０２の順序の一致を確認し、一致していれば、ステップ３０５５、ステップ３０５６で連続、連続終了のフラグを設定する。  
【００２５】
図４も本実施形態の動作を示す流れ図である。この図において、ホスト変数処理手段２０６は、ステップ２０６１〜２０６８で、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分の最終に連続終了、メモリ上で連続しない部分に関しては非連続のフラグを設定する。
即ち、図４のステップ２０６１はローカル変数ｉに初期値１を設定し、ステップ２０６２はｉの値を１ずつ加算し、ステップ２０６３はループの終了条件を判定する。ステップ２０６４はレプリケーション対象ｉに連続のフラグが設定されていることを確認し、設定されていれば２０６５へ分岐する。
【００２６】
ステップ２０６５はレプリケーション対象ｉ−１に対応するホスト変数と、レプリケーション対象ｉに対応するホスト変数がメモリ上で連続に配置されていることを確認し、連続でなければステップ２０６６へ分岐し、レプリケーション対象ｉ−１に連続終了のフラグを設定する。ステップ２０６７はレプリケーション対象ｉに連続終了のフラグが設定されていることを確認し、設定されていればステップ２０６８へ分岐しレプリケーション対象ｉに非連続のフラグを設定する。
【００２７】
図５は本実施形態を実施するための定義例を示す図であり、図６は本実施形態を実施するためのアプリケーションプログラム例を示す図である。また、図７〜図９は本実施形態を実施するための処理例を示す図である。以下、図１〜図９を用いて、本実施態様における動作を更に詳しく説明する。
図５の定義例５０１は所定の表定義５０２及びレプリケーション定義５０３の一例であり、所定の表定義５０２は図１のＤＢＭＳ２０１によって処理され、レプリケーション定義５０３は図１のレプリケーション定義手段３０２によって処理され、図７において矢印で示すように列情報７０１とレプリケーション対象情報７０２の対応関係が生成される。
【００２８】
その後、図３で詳しく示した更新履歴抽出情報生成手段３０５によって、図７の列情報７０１及びレプリケーション対象情報７０２の情報が処理され、フラグ７０３、フラグ７０４、フラグ７０５、フラグ７０６の順にフラグが設定される。なお、フラグの初期値はフラグ７０３となっている。    
ステップ３０５１でｉ＝１の値が設定され、ステップ３０５２でｉに１加算され２の値が設定される。ステップ３０５３でレプリケーション対象の個数は４であるため、ｉと４を比較しステップ３０５４へ分岐する。ステップ３０５４でレプリケーション対象１に対応する列２とレプリケーション対象２に対応する列３の定義順序を比較し、連続しているためステップ３０５５へ分岐する。ステップ３０５５でフラグ１に連続が設定され、ステップ３０５６でフラグ２に連続終了が設定される。この時のフラグの状態がフラグ７０４となる。
【００２９】
ステップ３０５２へ処理を移した後、同様に２回目の処理を行うとフラグの状態が図７のフラグ７０５、３回目の処理を行うとフラグの状態がフラグ７０６となる。４回目の処理を行うと、ステップ３０５２でｉの値が５となり、ステップ３０５３の論理式が真となり、処理は終了する。
結果として得られたフラグ７０６の状態は、太線で示す連続から連続終了の部分まではレプリケーション対象の順序と列の順序が一致しており、列を処理する順番でレプリケーション対象を処理可能なことを示している。
【００３０】
さらに、図６のアプリケーションプログラム６０２はホスト変数定義の一例、アプリケーションプログラム６０３はＤＢＭＳへの更新命令の一例であり、アプリケーションプログラム実行時に、まず図８の破線の矢印で示すように、列情報７０１とホスト変数情報８０１の対応関係が生成される。
ホスト変数は、ＤＢＭＳとアプリケーションとの通信領域であり、アプリケーションプログラムが用いるプログラミング言語によって実行時にメモリ領域が確保される。それぞれのホスト変数が割り当てられるメモリ領域の連続性は、プログラミング言語の実装に依存し、一般的に連続性は保証されない。図８のホスト変数８０１では、ホスト変数１とホスト変数２、ホスト変数３とホスト変数４がそれぞれ連続領域に割り当てられたことを示す。
【００３１】
その後、図１の更新履歴抽出情報生成手段３０５により設定されたフラグ７０６の値が、ホスト変数処理手段２０６によって再設定される。即ち、図４のステップ２０６１でｉ＝１の値が設定され、ステップ２０６２でｉに１加算され２の値が設定される。ステップ２０６３でレプリケーション対象の個数は４であるため、ｉと４を比較しステップ２０６４へ分岐する。
ステップ２０６４でフラグ１に設定された値を確認し、連続であるためステップ２０６５へ分岐する。ステップ２０６５でレプリケーション対象１に対応するホスト変数２と、レプリケーション対象２に対応するホスト変数３が連続領域に割付けられているか否かを判定し、非連続領域であるためステップ２０６６へ分岐する。
【００３２】
ステップ２０６６でフラグ１に連続終了を設定する。ステップ２０６７でフラグ２が連続終了か否かを判定し、連続であるため、ステップ２０６２へ分岐する。この時のフラグの状態が図８のフラグ８０２となる。ステップ２０６２へ処理を移した後、同様に２回目の処理を行うとフラグの状態がフラグ８０３、３回目の処理を行うとフラグ８０４となる。４回目の処理を行うと、ステップ２０６３でｉの値が５となり、ステップ２０６３の論理式が真となり、処理は終了する。
【００３３】
結果として得られたフラグ８０４の状態は、図８の太線で示す連続から連続終了の部分まではレプリケーション対象の順序と列の順序が一致しており、かつ対応するホスト変数が連続領域であるため、ホスト変数から値を読み込んで列を処理する順番でレプリケーション対象を処理可能なことを示している。
その後、更新履歴抽出手段３０３によって、更新された値を図９の更新履歴９０１として抽出し、更新履歴抽出ファイル３０６へ格納する。その際にはフラグ８０４が連続から連続終了の部分までは処理を一括して抽出を行う。更新履歴９０１では、フラグ２とフラグ３に対応するホスト変数３とホスト変数４の部分を一括して抽出可能である。よって、レプリケーション対象４つが３回の処理で抽出可能となる。  
【００３４】
図１０は本発明の他の実施形態の構成を示すアプリケーションプログラム例であり、図１１は本発明の他の実施形態を実施するための処理例を示す図である。以下、図１０及び図１１を用い、本発明の他の実施形態として、ホスト変数を明示的に連続領域に割り当てた場合の効果について説明する。
ホスト変数はプログラミング言語によってメモリ領域が割り当てられるが、プログラミング言語によっては、割り当てる領域の連続性を保証することが可能である。図１０はＣＯＢＯＬ言語の例を示しており、アプリケーションプログラム例１００２のように集団項目としてホスト変数を宣言すると、図１１におけるホスト変数１１０１のように連続のメモリ領域に割り当てることが可能である。その際、フラグ１１０４によりフラグ１、フラグ２、フラグ３に対応するホスト変数２、ホスト変数３、ホスト変数４の部分を一括して抽出可能と判断される。このため、レプリケーション対象４つを２回の処理で抽出することが可能となる。
【００３５】
即ち、マスタデータベースが更新されるとその複製のデータベースであるレプリカデータベースを更新するデータベースレプリケーション制御システムにおいて、レプリケーションサーバシステム１０１におけるホスト変数を処理するホスト変数処理手段２０６を具備し、アプリケーションプログラムでホスト変数を連続メモリ領域に割り当てて複数のレプリケーション対象の情報を一括して抽出することより、マスタデータベース２０７の更新の際の更新履歴情報の抽出回数を削減することが可能になる。
【００３６】
以上述べたように、前記実施の形態によれば、データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムにおいて、レプリケーション対象に対応するホスト変数のメモリ上の連続性を確認するホスト変数処理手段２０６と、ホスト変数処理手段２０６によってメモリ上で連続すると確認されたホスト変数に対応するレプリケーション対象の情報を一括して抽出する更新履歴抽出手段３０３と設け、マスタデータベース２０７の更新の際の更新履歴情報の抽出回数を削減するようにしている。
【００３７】
また、レプリケーション対象と列の順序の一致を確認する更新履歴抽出情報生成手段３０５を備え、ホスト変数処理手段２０６は、更新履歴抽出情報生成手段３０５で前記レプリケーション対象と列の順序の一致を確認し一致する部分のレプリケーション対象に連続のフラグを設定し、更新履歴抽出手段３０３は前記連続のフラグが設定されたレプリケーション対象の情報を一括して抽出するようんしいている。
【００３８】
また、ホスト変数処理手段２０６はレプリケーション対象に対応するホスト変数のメモリ上の連続性を確認し、メモリ上で連続する部分に連続のフラグを設定すると共に連続する部分の最終に連続終了のフラグを設定し、メモリ上で連続しない部分に非連続のフラグを設定し、更新履歴抽出手段３０３は前記連続のフラグから連続終了のフラグが設定されたホスト変数に対応するレプリケーション対象を一括抽出するように構成している。
したがって、レプリケーション対象列数の増加時にも、更新差分情報取得処理を効率よく実施し、更新差分情報取得処理及び更新性能の劣化を防止できるような、データベースレプリケーション制御システム及びそのシステムをコンピュータで実行するプログラムを提供することが可能になる。
【産業上の利用可能性】
【００３９】
本発明によれば、ＤＢＭＳを更新する際に、更新履歴を他のＤＢＭＳに反映し複製を作成するレプリケーション制御システムなどの用途に適用できる。
また、ＤＢＭＳに限らず、ファイルやシステム情報をプログラムから操作する際に、別のシステムで同一情報を複製する用途にも適用できる。 
【図面の簡単な説明】
【００４０】
【図１】本発明の最良の実施形態に係わるデータベースレプリケーション制御システムの構成を示すブロック図である。
【図２】本発明の最良の実施形態におけるホスト変数定義、列定義、レプリケーション対象定義を示す図である。
【図３】本発明の最良の実施形態の動作を示す流れ図である。
【図４】本発明の最良の実施形態の動作を示す流れ図である。
【図５】本発明の最良の実施形態を実施するための定義例を示す図である。
【図６】本発明の最良の実施形態を実施するためのアプリケーションプログラム例を示す図である。
【図７】本発明の最良の実施形態を実施するための処理例を示す図である。
【図８】本発明の最良の実施形態を実施するための処理例を示す図である。
【図９】本発明の最良の実施形態を実施するための処理例を示す図である。
【図１０】本発明の他の実施形態の構成を示すアプリケーションプログラム例である。
【図１１】本発明の他の実施形態を実施するための処理例を示す図である。
【符号の説明】
【００４１】
１０１    レプリケーションサーバシステム
２０１    ＤＢＭＳ
２０２    ＤＢ参照処理手段
２０３    ＤＢ更新処理手段
２０４    トランザクション確定手段
２０５    トランザクション破棄手段
２０６    ホスト変数処理手段
２０７    マスタＤＢ
３０１    マスタＤＢレプリケーション制御システム
３０２    レプリケーション定義手段
３０３    更新履歴抽出手段
３０４    更新履歴送信手段
３０５    更新履歴抽出情報生成手段
３０６    更新履歴抽出ファイル
４０１    レプリケーションクライアントシステム
４０２    レプリカＤＢレプリケーション制御システム
４０３    更新履歴受信手段
４０４    更新履歴反映手段
４０５    レプリカＤＢ
５０１    定義例
６０１    アプリケーションプログラム例
１００１  アプリケーションプログラム例
１２０１  ホスト変数ｋ
１２０２  列ｍ
１２０３  レプリケーション対象ｎ
【図１】
2005234780.tif 000003
【図２】
2005234780.tif 000004
【図３】
2005234780.tif 000005
【図４】
2005234780.tif 000006
【図５】
2005234780.tif 000007
【図６】
2005234780.tif 000008
【図７】
2005234780.tif 000009
【図８】
2005234780.tif 000010
【図９】
2005234780.tif 000011
【図１０】
2005234780.tif 000012
【図１１】
2005234780.tif 000013