(57)【要約】【課題】  本発明は、マスタデータサーバとレプリカデータサーバの間のデータレプリケーションを並列化して行い、レプリケーション処理を高速に実現することができる技術を提供するものである。【解決手段】  データベース差分確認手段は、マスタデータベース更新履歴データベースに記録されたグルーピングIDと最新の履歴通番値のリストと、データベース差分確認手段を介して、レプリカデータベース更新履歴データベースに記録された、グルーピングIDと最新の履歴通番値のリストを比較する。その結果、差分があることを検出した場合は、データベース差分確認手段は、データベース差分送信手段にレプリカデータベースへの更新を要求する。データベース差分送信手段、データベース差分受信手段、レプリカデータベース更新手段は、グルーピングIDの種類分、複数存在し、グルーピングIDごとに、並列のレプリカデータベースへの更新を行う。【選択図】図１
2006277158.tif 000002
【特許請求の範囲】
【請求項１】
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、
前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部と、
前記データベースの複製であるレプリカデータベースと、
前記レプリカデータベースのデータの更新に関する更新情報が履歴で記憶されているレプリカデータベース更新履歴記憶部と、
前記更新履歴情報記憶部の更新情報と前記レプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データに基づいて、前記レプリカデータベースを更新する更新手段と
を有し、
前記更新手段は、グループの種類の数と同一の個数分設けられており、各更新手段は自身に対応付けられているグループが割り付けられている更新データに基づいて前記レプリカデータベースを更新することを特徴とするデータ更新システム。
【請求項２】
前記レプリカデータベースが複数設けられている場合、全てのレプリカデータベースが更新されたかを確認する確認手段を有することを特徴とする請求項１に記載の更新システム。
【請求項３】
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、
前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部と、
前記更新履歴情報記憶部の更新情報と、前記データベースの複製であるレプリカデータベースのレプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データを送信する送信手段と
を有し、
前記送信手段は、グループの種類の数と同一の個数分設けられており、各送信手段に対応付けられているグループが割りつけられている更新データを送信することを特徴とするサーバ。
【請求項４】
前記レプリカデータベースが複数構成されている場合、全てのレプリカデータベースが更新されたかを確認する確認手段を有することを特徴とする請求項３に記載のサーバ。
【請求項５】
送信された更新データに基づいてデータベースを更新するサーバであって、
各種データが記憶されているデータベースと、
送信された更新データを受信し、この受信した更新データに基づいてデータベースを更新する更新手段と
を有し、
前記更新手段は、前記更新データに割り付けられているグループの種類の数と同一の個数分設けられており、各更新手段に対応付けられているグループが割り付けられている更新データを受信することを特徴とするサーバ。
【請求項６】
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部とを有するマスタサーバと、
前記データベースの複製であるレプリカデータベースと、前記レプリカデータベースのデータの更新に関する更新情報が履歴で記憶されているレプリカデータベース更新履歴記憶部とを有するレプリカサーバとを有するシステムのプログラムであって、前記プログラムは前記システムを、
前記更新履歴情報記憶部の更新情報と前記レプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データに基づいて、前記レプリカデータベースを更新する更新手段として機能させ、
前記更新手段は、各更新手段は自身に対応付けられているグループが割り付けられている更新データに基づいて前記レプリカデータベースを更新する手段として機能させることを特徴とするプログラム。
【請求項７】
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部とを有するサーバのプログラムであって、前記プログラムは前記サーバを、
前記更新履歴情報記憶部の更新情報と、前記データベースの複製であるレプリカデータベースのレプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データを送信する送信手段と
して機能させ、
前記送信手段は、各送信手段に対応付けられているグループが割りつけられている更新データを送信する手段として機能させることを特徴とするプログラム。
【請求項８】
各種データが記憶されているデータベースを有し、送信された更新データに基づいて前記データベースを更新するサーバのプログラムであって、前記プログラムは前記サーバを、
送信された更新データを受信し、この受信した更新データに基づいてデータベースを更新する更新手段として機能させ、
前記更新手段は、各更新手段に対応付けられているグループが割り付けられている更新データを受信する手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースとこのデータベースの複製であるレプリカデータベースとを有するシステムのデータベースの更新技術に関する。
【背景技術】
【０００２】
一般に、データベース管理システムの負荷分散のために、データベースのレプリカ（複製）を設け、データベースのデータが更新された場合、レプリカのデータベースも更新するレプリケーション技術がある。
【０００３】
従来のデータベースのレプリケーション技術は、マスタデータベース更新履歴データベース、および、レプリカデータベース更新履歴データベースの差分を検出した際、マスタデータベースサーバからレプリカデータベースサーバへのデータ送受信及びレプリカデータベースへの更新は、単数の手段により直列に行われている。
【０００４】
しかし、この従来技術には、次のような問題点があった。
【０００５】
マスタデータベースサーバからレプリカデータベースサーバへのデータ送受信、および、レプリカデータベースへの更新が直列に行われるため、マスタデータベースの多数のレコードに対して同時に更新トランザクションが発生した場合に、レプリカデータベースへの更新に際して処理の待ちが発生し、処理時間が伸びてしまうということである。
【０００６】
特許文献１には処理時間を短縮するための技術として、レプリカデータベースの更新と、レプリカデータベース更新履歴データベースの更新とを並列に行う技術が記載されている。
【０００７】
しかしながら、特許文献１に記載されている技術を用いた場合、短時間に処理が集中してしまい、システム全体の処理能力が低下してしまう可能性がある。
【特許文献１】特開平１１−３１２１１２
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、上記問題点を解決することにあり、マスタデータベースサーバにおいて多量のデータの更新が発生した場合に、レプリカデータベースサーバへのデータレプリケーションを高速に行える技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するための第１の発明は、
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、
前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部と、
前記データベースの複製であるレプリカデータベースと、
前記レプリカデータベースのデータの更新に関する更新情報が履歴で記憶されているレプリカデータベース更新履歴記憶部と、
前記更新履歴情報記憶部の更新情報と前記レプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データに基づいて、前記レプリカデータベースを更新する更新手段とを有し、
前記更新手段は、グループの種類の数と同一の個数分設けられており、各更新手段は自身に対応付けられているグループが割り付けられている更新データに基づいて前記レプリカデータベースを更新することを特徴とする。
【００１０】
上記課題を解決するための第２の発明は、第１の発明において、
前記レプリカデータベースが複数設けられている場合、全てのレプリカデータベースが更新されたかを確認する確認手段を有することを特徴とする。
【００１１】
上記課題を解決するための第３の発明は、
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、
前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部と、
前記更新履歴情報記憶部の更新情報と、前記データベースの複製であるレプリカデータベースのレプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データを送信する送信手段と
を有し、
前記送信手段は、グループの種類の数と同一の個数分設けられており、各送信手段に対応付けられているグループが割りつけられている更新データを送信することを特徴とする。
【００１２】
上記課題を解決するための第４の発明は、上記第３の発明において、
前記レプリカデータベースが複数構成されている場合、全てのレプリカデータベースが更新されたかを確認する確認手段を有することを特徴とする。
【００１３】
上記課題を解決するための第５の発明は、
送信された更新データに基づいてデータベースを更新するサーバであって、
各種データが記憶されているデータベースと、
送信された更新データを受信し、この受信した更新データに基づいてデータベースを更新する更新手段と
を有し、
前記更新手段は、前記更新データに割り付けられているグループの種類の数と同一の個数分設けられており、各更新手段に対応付けられているグループが割り付けられている更新データを受信することを特徴とする。
【００１４】
上記課題を解決するための第６の発明は、
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部とを有するマスタサーバと、
前記データベースの複製であるレプリカデータベースと、前記レプリカデータベースのデータの更新に関する更新情報が履歴で記憶されているレプリカデータベース更新履歴記憶部とを有するレプリカサーバとを有するシステムのプログラムであって、前記プログラムは前記システムを、
前記更新履歴情報記憶部の更新情報と前記レプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データに基づいて、前記レプリカデータベースを更新する更新手段として機能させ、
前記更新手段は、各更新手段は自身に対応付けられているグループが割り付けられている更新データに基づいて前記レプリカデータベースを更新する手段として機能させることを特徴とする。
【００１５】
上記課題を解決するための第７の発明は、
各種データが記憶されており、このデータにデータの種類に応じてグループが割り付けられているデータベースと、前記データベースのデータの更新に関する更新情報が履歴で記憶されている更新履歴記憶部とを有するサーバのプログラムであって、前記プログラムは前記サーバを、
前記更新履歴情報記憶部の更新情報と、前記データベースの複製であるレプリカデータベースのレプリカデータベース更新履歴記憶部の更新情報との差分を検出し、検出した差分の更新情報に基づいて更新データを検索する検索手段と、
前記検索した更新データを送信する送信手段と
して機能させ、
前記送信手段は、各送信手段に対応付けられているグループが割りつけられている更新データを送信する手段として機能させることを特徴とする。
【００１６】
上記課題を解決するための第８の発明は、
各種データが記憶されているデータベースを有し、送信された更新データに基づいて前記データベースを更新するサーバのプログラムであって、前記プログラムは前記サーバを、
送信された更新データを受信し、この受信した更新データに基づいてデータベースを更新する更新手段として機能させ、
前記更新手段は、各更新手段に対応付けられているグループが割り付けられている更新データを受信する手段として機能させることを特徴とする。
【００１７】
本発明は、マスタデータを保持するマスタデータベースサーバと、参照用データを保持するレプリカデータベースサーバによって構成されたデータベースシステムにおいて、マスタデータサーバとレプリカデータサーバの間のデータレプリケーションを並列化して行い、レプリケーション処理を高速に実現することができる方式を提供するものである。
【００１８】
図1において、データベース差分確認手段104は、マスタデータベース更新履歴データベース102に記録された、グルーピングIDと最新の履歴通番値のリストと、データベース差分確認手段114を介して、レプリカデータベース更新履歴データベース112に記録された、グルーピングIDと最新の履歴通番値のリストを比較する。その結果、差分があることを検出した場合は、データベース差分確認手段104は、データベース差分送信手段105にレプリカデータベース111への更新を要求する。データベース差分送信手段105、データベース差分受信手段115、レプリカデータベース更新手段116は、グルーピングIDの種類分、複数存在し、グルーピングIDごとに、並列のレプリカデータベース111への更新を行う。
【００１９】
このようにして、マスタデータベースサーバとレプリカデータベースサーバの間のレプリケーション処理を高速化させ、マスタデータベースサーバに対して大量データの更新トランザクションが発生した場合にも、レプリカデータベースサーバ上との差分が発生している時間を短縮させることを可能にする。これに伴い、レプリカデータベースサーバを用いた参照トランザクションの信頼性を向上させることを可能にする。
【発明の効果】
【００２０】
本発明によると、マスタデータベースサーバにおいて、多量のデータに対して更新処理が発生した場合に、レプリカデータベースサーバへのデータレプリケーションを高速に実現できる。
【００２１】
その理由は、データをいくつかのグループに分類し、そのグループ単位に、マスタデータベースでの更新履歴及びレプリカデータベースでの更新履歴を持つことで、マスタデータベースからレプリカデータベースへのデータレプリケーションを、グループ単位に並列に実行するためである。
【発明を実施するための最良の形態】
【００２２】
図1を参照すると、本発明のデータをグルーピングすることによるデータベースレプリケーションの並列化方式一実施例は、マスタデータベースサーバ100と、レプリカデータベースサーバ110とから構成されている。
【００２３】
マスタデータベースサーバ100は、マスタデータベース101と、マスタデータベース更新履歴データベース102と、マスタデータベース更新手段103と、データベース差分確認手段104と、データベース差分送信手段105とを含む。
【００２４】
レプリカデータベースサーバ110は、レプリカデータベース111と、レプリカデータベース更新履歴データベース112と、レプリカデータベース参照手段113と、データベース差分確認手段114と、データベース差分受信手段115と、レプリカデータベース更新手段116とを含む。
【００２５】
各構成部について説明する。
【００２６】
マスタデータベース101には、各種データが管理されている。マスタデータベース101が管理する各種データはグルーピング（グループ化）されている。グルーピングはデータの種類によって決定され、各データにはグルーピングＩＤが割り付けられている。データのグルーピング単位としては、「データ更新順序に依存関係のあるレコード群を同一グループとして扱う」ことになる。例えば、「会社TABLE」と「部署TABLE」のように、「部署TABLEに存在するレコードに紐付く会社名は、会社TABLEに必ず存在する」といったような親子関係が成り立つ構成のケースを考える。
【００２７】
ここで、
（１）会社TABLEに会社Aを追加する。
（２）会社Aの部署として、部署a1と部署a2の情報を部署TABLEに追加する。
（３）会社TABLEに会社Bを追加する。
（４）会社Bの部署として、部署b1と部署b2の情報を部署TABLEに追加する。
というデータ操作を行なう場合、データ操作の順序としては、
ａ  （１）、（２）の順序で操作を行なう必要がある。
ｂ  （３）、（４）の順序で操作を行なう必要がある。
ｃ  (（１）、（２）)と（（３）、（４））の間にはデータ操作順序の依存性はない。
ことになる。
【００２８】
レプリカサーバへの通信およびレプリカサーバでのデータ更新を並列で行なう場合、マスタサーバ側でのデータ操作順序とレプリカサーバ側でのデータ反映順序は、必ずしも一致しませんが、上記のaおよびbの順序性は保証する必要があるため、複数存在するデータ反映パスのうち、（１）と（２）を同一の反映パスで、（３）と（４）を同一の反映パスで行なうことになる。この「同一反映パスで行なう」ものがデータのグルーピング単位になる。同一反映パス内では、通信および反映がシーケンシャルに実行されます。
【００２９】
一方、cのように順序依存がないものについては、異なる反映パスでよいため、これについて、レプリカサーバへの並列通信、並列データ更新が行なえる。
【００３０】
上記の例では、理論上、会社が異なるものはすべて異なる反映パスで並列にデータレプリケーションできるため、言い換えれば、会社1つ1つをグルーピング単位とすることができます。ただし実際はハードウェアリソースを考慮する必要もあるため、「あ行の会社」、「か行の会社」のようなグルーピング単位としてもよい。
【００３１】
マスタデータベース更新履歴データベース102は、マスタデータベース101に対する更新処理の履歴情報を保持する。このマスタデータベース更新履歴データベース102は、図2のような形式の表で構成されている。図2は、マスタデータベース101の更新対象となったデータのレコードキーと、更新対象となったデータに割り付けられているグルーピングIDと、履歴通番値とを保持する。履歴通番値は、グルーピングID内で一意に定まる値であり、同一グルーピングＩＤのデータが更新されるたびに付される。
【００３２】
マスタデータベース更新手段103は、マスタデータベース更新要求を受信すると、マスタデータベース101のデータを更新する。データを更新すると、更新処理の履歴情報をマスタデータベース更新履歴データベース102に記録する。
【００３３】
データベース差分確認手段104は、データベース差分確認手段114へ差分確認呼を発信し、マスタデータベース更新履歴データベース102と、レプリカデータベース更新履歴データベース112に差分があるか確認する。このマスタデータベース101とレプリカデータベース102の格納情報の差分確認処理は、タイマに設定された一定の周期で行われる。差分がある場合は、データベース差分送信手段105に対して、データベース差分をデータベース差分受信手段115へ送信するように要求する。
【００３４】
データベース差分送信手段105は、データベース差分確認手段104からの要求を受け、データベース差分受信手段115へ差分である更新データを送信する。データベース差分送信手段105は、グルーピングの種類の数と同じ数だけ設けられており、自身に対応付けられているグループが割り付けられている更新データを送信する。
【００３５】
レプリカデータベース111は、マスタデータベース101と同じデータを保持する。
【００３６】
レプリカデータベース更新履歴データベース112は、レプリカデータベースに対する更新処理の履歴情報を保持する。このレプリカデータベース更新履歴データベース112は、図2のような形式の表で構成されている。図2は、レプリカデータベース112の更新対象となったデータのレコードキーと、更新対象となったデータに割り付けられているグルーピングIDと、グルーピングID内で一意に定まる履歴通番値とを保持する。
【００３７】
レプリカデータベース参照手段103は、レプリカデータベース参照要求を受信すると、レプリカデータベース111のデータを参照する。
【００３８】
データベース差分確認手段114は、データベース差分確認手段104から差分確認呼を受信し、レプリカデータベース更新履歴データベース112から最新の更新履歴を取得し、データベース差分確認手段104へ最新の更新履歴を応答する。
【００３９】
データベース差分受信手段115は、データベース差分送信手段105から更新データを受け、レプリカデータベース更新手段116に対して、データベース差分である更新データをレプリカデータベース111に更新するように要求する。データベース差分受信手段115は、グルーピングの種類の数と同じ数だけ設けられており、自身に対応付けられているグループが割り付けられている更新データを受信する。
【００４０】
レプリカデータベース更新手段116は、データベース差分受信手段115から更新データを受け、この更新データに基づいてレプリカデータベース111を更新する。レプリカデータベース更新手段116は、グルーピングの種類の数と同じ数だけ設けられており、自身に対応付けられているグループが割り付けられている更新データに基づいて更新する。
【００４１】
次に、図１及び図３を参照して本実施例の全体の動作について詳細に説明する。
【００４２】
図３は、動作を説明するためのフローチャートである。
【００４３】
まず、マスタデータベースサーバ100がマスタデータベースの更新要求を受信すると、マスタデータベース更新手段103はマスタデータベース101に保持されている要求対象レコードを更新する。マスタデータベース更新手段103は要求対象レコードを更新後、マスタデータベース更新履歴データベース102に対して、マスタデータベース101の更新処理の履歴情報レコードを登録する。この履歴情報レコードには、マスタデータベース101の更新対象となったレコードのキーと、更新対象となったレコードのグルーピングIDと、グルーピングID内で一意に定まる履歴通番値とを対応付けて登録する(図3のステップS01)。
【００４４】
次に、データベース差分確認手段104は、マスタデータベース101とマスタデータベース更新履歴データベース102の格納情報に差分がないか確認する。具体的には、データベース差分確認手段104はマスタデータベース更新履歴データベース102を検索し、グルーピングIDと最新の履歴通番値のリストを取得する(図3のステップS02)。
【００４５】
次に、データベース差分確認手段104は、データベース差分確認手段114に対して、レプリカデータベース更新履歴データベース112に記録されている、グルーピングIDと最新の履歴通番値のリストとを取得するよう要求する(図3のステップS03)。
【００４６】
次に、データベース差分確認手段114は、データベース差分確認手段104からの要求に従い、レプリカデータベース更新履歴データベース112を検索し、グルーピングIDと最新の履歴通番値のリストとを取得し、データベース差分確認手段104に対して、グルーピングIDと最新の履歴通番値のリストとを応答する。(図3のステップS04)。
【００４７】
次に、データベース差分確認手段104は、マスタデータベース更新履歴データベース102のグルーピングID及び履歴通番値のリストと、レプリカデータベース更新履歴データベース112のグルーピングID及び履歴通番値のリストとを比較する(図3のステップS05)。
【００４８】
比較した結果、マスタデータベース更新履歴データベース102から取得したリストと、レプリカデータベース更新履歴データベース112から取得したリストに差分が存在する場合、マスタデータベース101では更新されて、尚且つレプリカデータベース102では未更新であるレコードが存在することを示す。この、データベース差分確認手段104による、マスタデータベース101とレプリカデータベース102の格納情報の差分確認処理は、一定周期単位にタイマ起動される。
【００４９】
次に、データベース差分確認手段104は、マスタデータベース101とレプリカデータベース102との格納情報に差分があることを検出した場合、データベース差分確認手段104は、差分であるグルーピングIDの履歴通番値に対応付けられているレコードキーに基づいて、更新されたデータのレコードをマスタデータベース101から検索する。差分であるグルーピングIDに対応しているデータベース差分送信手段105に対して、マスタデータベース101から検索したレコードの情報（更新データ）を、データベース差分受信手段115へ送信するように要求する(図3のステップS06)。
【００５０】
次に、データベース差分送信手段105は、データベース差分確認手段104からの要求に従い、データベース差分受信手段115に対して、差分であるレコード情報を送信する。データベース差分送信手段105とデータベース差分受信手段115とは同じ数だけ存在し、1つのデータベース差分送信手段105は、1つのデータベース差分受信手段115と1対1に対応し、そのデータベース差分受信手段115に対して、差分レコード情報を送信する(図3のステップS07)。
【００５１】
次に、データベース差分受信手段115は、データベース差分送信手段105からの要求に従い、レプリカデータベース更新手段116に対して、データベース差分送信手段105から受信した差分について、レプリカデータベースサーバ102に更新を行うように要求する。レプリカデータベースサーバ更新手段116は、データベース差分受信手段115と同じ数だけ存在し、1つのデータベース差分受信手段は、1つのレプリカデータベース更新手段116と1対1に対応し、そのレプリカデータベースサーバ更新手段116に対して、差分レコードの更新を要求する(図3のステップS08)。
【００５２】
次に、レプリカデータベース更新手段116は、データベース差分受信手段115からの要求に従い、レプリカデータベース111に保持されている差分対象レコードを更新し、同時に、レプリカデータベースサーバ更新履歴データベース112に対して、レプリカデータベース111に対する更新処理の履歴情報レコードを登録する。この履歴情報レコードには、マスタデータベース更新履歴データベース102に登録したものと等しい、グルーピングIDと履歴通番値を登録する。レプリカデータベース更新履歴データベース112に履歴情報を登録した時点で、マスタデータベース101からレプリカデータベース111へのレプリケーション処理が完了したことを示す(図3のステップS09)。
【００５３】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。尚、第１の実施の形態と同様の構成は同一番号を付し、詳細な説明は省略する。
【００５４】
図4を参照すると、本実施の形態は、レプリカデータベースサーバ110のサーバ台数が第１の実施の形態と異なる。また、複数あるレプリカデータベースサーバの全てのレプリカデータベースが更新されたかを確認する確認手段を有することを特徴とする。
【００５５】
レプリカデータベースサーバ110の装置台数は、制限はなく任意である。レプリカデータベースサーバ110を増設することにより、レプリカデータベースサーバ1台あたりの、参照要求トランザクション量を軽減させることができ、参照性能を向上させることを可能とする。
【００５６】
次に、図5のフローチャートを参照して、本実施例の全体の動作について詳細に説明する。
【００５７】
まず、マスタデータベースサーバ100がマスタデータベースの更新要求を受け付けると、マスタデータベース更新手段103は、マスタデータベース101に保持されている要求対象レコードを更新し、同時に、マスタデータベース更新履歴データベース102に対して、マスタデータベース101に対する更新処理の履歴情報レコードを登録する。この履歴情報レコードには、マスタデータベース101の更新対象となったレコードのグルーピングIDと、グルーピングID内で一意に定まる履歴通番値を割り当てておく(図5のステップS11)。
【００５８】
次に、データベース差分確認手段104は、マスタデータベース101とレプリカデータベース102の格納情報に差分がないか確認する。具体的には、データベース差分確認手段104はマスタデータベース更新履歴データベース102を検索し、グルーピングIDと最新の履歴通番値のリストを取得する(図5のステップS12)。
【００５９】
次に、データベース差分確認手段104は、データベース差分確認手段114に対して、レプリカデータベース更新履歴データベース112に記録されている、グルーピングIDと最新の履歴通番値のリストを取得するよう要求する(図5のステップS13)。
【００６０】
次に、データベース差分確認手段114は、データベース差分確認手段104からの要求に従い、レプリカデータベース更新履歴データベース112を検索し、グルーピングIDと最新の履歴通番値のリストを取得し、データベース差分確認手段104に対して、グルーピングIDと最新の履歴通番値のリストを応答する。(図5のステップS14)。
【００６１】
次に、データベース差分確認手段104は、マスタデータベース更新履歴データベース102から取得した、グルーピングIDと最新の履歴通番値のリストと、レプリカデータベース更新履歴データベース112から取得した、グルーピングIDと最新の履歴通番値のリストを比較する(図5のステップS15)。
【００６２】
比較した結果、マスタデータベース更新履歴データベース102から取得したリストと、レプリカデータベース更新履歴データベース112から取得したリストに差分が存在する場合、マスタデータベース101では更新されて、レプリカデータベース102では未更新であるレコードが存在することを示す。この、データベース差分確認手段104による、マスタデータベース101とレプリカデータベース102の格納情報の差分確認処理は、一定周期単位にタイマ起動される。
【００６３】
次に、データベース差分確認手段104は、マスタデータベース101とレプリカデータベース102の格納情報に差分があることを検出した場合、データベース差分確認手段104は、差分対象であるグルーピングIDの履歴通番値に合致するレコードをマスタデータベース101から検索し、データベース差分送信手段105に対して、マスタデータベース101から検索したレコード情報を、データベース差分受信手段115へ送信するように要求する。データベース差分送信手段105は、グルーピングIDの種類分存在し、1つのデータベース差分送信手段105は、1つのグルーピングIDに対応するレコード情報の送信を行う(図5のステップS16)。
【００６４】
次に、データベース差分送信手段105は、データベース差分確認手段104からの要求に従い、データベース差分受信手段115に対して、差分レコード情報を送信する。データベース差分送信手段105とデータベース差分受信手段115は同じ数だけ存在し、1つのデータベース差分送信手段105は、1つのデータベース差分受信手段115と1対1に対応し、そのデータベース差分受信手段115に対して、差分レコード情報を送信する(図5のステップS17)。
次に、データベース差分受信手段115は、データベース差分送信手段105からの要求に従い、レプリカデータベース更新手段116に対して、データベース差分送信手段105から受信した差分について、レプリカデータベースサーバ102に更新を行うように要求する。レプリカデータベースサーバ更新手段116は、データベース差分受信手段115と同じ数だけ存在し、1つのデータベース差分受信手段は、1つのレプリカデータベース更新手段116と1対1に対応し、そのレプリカデータベースサーバ更新手段116に対して、差分レコードの更新を要求する(図5のステップS18)。
【００６５】
次に、レプリカデータベース更新手段116は、データベース差分受信手段115からの要求に従い、レプリカデータベース111に保持されている差分対象レコードを更新し、同時に、レプリカデータベースサーバ更新履歴データベース112に対して、レプリカデータベース111に対する更新処理の履歴情報レコードを登録する。この履歴情報レコードには、マスタデータベース更新履歴データベース102に登録したものと等しい、グルーピングIDと履歴通番値を登録する。レプリカデータベース更新履歴データベース112に履歴情報を登録した時点で、マスタデータベース101からレプリカデータベース111へのレプリケーション処理が完了したことを示す(図5のステップS19)。
【００６６】
次に、データベース差分確認手段104は、システムを構成するすべてのレプリカデータベースサーバ110のレプリカデータベース111にデータレプリケーションが完了したかチェックし(図5のステップS20)、まだ完了していないレプリカデータベースサーバ110が存在する場合は、データベース差分送信手段105に対して、差分情報を、データベース差分受信手段115へ送信するように要求する(図5のステップS16)。
【００６７】
このように、システムを構成するすべてのレプリカデータベースサーバ110のレプリカデータベース111にデータレプリケーションが完了するまで、図5のステップS17、図5のステップS18、図5のステップS19、図5のステップS20を繰り返し、すべてのレプリカデータベースサーバ110に対してデータレプリケーションが完了した時点で処理を終了する。
【図面の簡単な説明】
【００６８】
【図１】図１は、本発明の第１の実施の形態の本発明の構成を示すブロック図である。
【図２】図２は、更新履歴データベースの構成例である。
【図３】図３は、第１の実施の形態を説明するためのフローチャートである。
【図４】図４は、本発明の第２の実施の形態の構成を示すブロック図である。
【図５】図５は、第２の実施の形態を説明するためのフローチャートである。
【符号の説明】
【００６９】
１００                マスタデータベースサーバ
１０１                マスタデータベース
１０２                マスタデータベース更新履歴データベース
１０３                マスタデータベース更新手段
１０４                データベース差分確認手段
１０５                データベース差分送信手段
１１０                レプリカデータベースサーバ
１１１                レプリカデータベース
１１２                レプリカデータベース更新履歴データベース
１１３                レプリカデータベース参照手段
１１４                データベース差分確認手段
１１５                データベース差分受信手段
１１６                レプリカデータベース更新手段
【図１】
2006277158.tif 000003
【図２】
2006277158.tif 000004
【図３】
2006277158.tif 000005
【図４】
2006277158.tif 000006
【図５】
2006277158.tif 000007