(57)【要約】【課題】  非同期方式のレプリケーションにおいて、レプリカ側の更新遅延を検出し、遅延が発生した場合には遅延を解消することができるレプリケーションシステム及びレプリケーション方法を提供することを目的とする。【解決手段】  マスタ１００は、クライアントから更新要求を受け付けて、更新要求を格納する更新要求格納領域部１０１と、更新保留状態であるかどうかを判定した後、更新処理を実行する更新処理部１０２、更新処理部１０２によってファイル等に出力された更新差分データ及び更新時刻を記憶している記憶部１０３、更新保留状態であるか否かのフラグ情報を格納する更新保留状態格納領域１０４、遅延閾値とマスタ１００とレプリカ２００の更新時刻の差異により更新保留を決定する更新保留判定部１０６、遅延閾値を格納する遅延閾値格納領域１０５から構成される。レプリカ２００は更新処理部２０１と記憶部２０２とから構成される。【選択図】  図１
2006053737.tif 000002
【特許請求の範囲】
【請求項１】
複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーションシステムにおいて、
前記マスタデータベースは、クライアントからの更新要求を格納する更新要求格納手段と、
前記マスタデータベースの更新データと更新時刻を記憶した第１の記憶手段と、
前記レプリカデータベースの更新データと更新時刻を記憶した第２の記憶手段と、
前記マスタデータベースの更新時刻と前記レプリカデータベースの更新時刻との差異である遅延時刻を算出する算出手段と、
更新処理に遅延が発生したかを判断するための変更可能な閾値を格納した閾値格納手段と、
前記遅延時刻と前記閾値とを比較する比較手段と、
前記比較手段による比較結果により前記遅延時刻が前記閾値より大きかった場合には、
更新処理に遅延が発生したと判断し、前記クライアントからの更新要求を保留させると判定させる保留判定手段と、
前記保留判定手段によって、保留とされた更新要求を格納する更新保留状態格納手段とを有することを特徴とするレプリケーションシステム。
【請求項２】
複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーションシステムにおいて、
前記マスタデータベースは、クライアントからの更新要求を格納する更新要求格納手段と、
前記マスタデータベースの更新データと更新時刻とを記憶した第１の記憶手段と、
前記更新要求を保留とするか判定する保留判定手段とを備え、
前記レプリカデータベースは、更新データと更新時刻を記憶した第２の記憶手段と、
更新処理に遅延が発生したかを判断するための変更可能な閾値を格納した閾値格納手段と、
前記第１の記憶手段に記憶された更新時刻と第２の記憶手段に記憶された更新時刻とから更新時刻の差異である遅延時刻を算出する算出手段と、
前記遅延時刻と前記閾値とを比較する比較手段とを備え、
前記比較手段によって、前記遅延時刻が前記閾値より大きい場合には、更新処理に遅延が発生していると判断して、前記マスタデータベースが備える保留判定手段へ保留通知を送信し、クライアントからの更新要求を保留状態にすることを特徴とするレプリケーションシステム。
【請求項３】
前記比較手段によって、前記遅延時刻が閾値より小さい場合と判断された場合は、更新処理を実行させることを特徴とする請求項１または２記載のレプリケーションシステム。
【請求項４】
前記閾値格納手段は、閾値の設定を変更可能とする閾値設定手段を有することを特徴とする請求項１または２記載のレプリケーションシステム。
【請求項５】
複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーション方法において、
一定の範囲を超えると更新処理に遅延が発生したと判断される閾値の範囲を設定する工程と、
前記マスタデータベースの更新時刻と前記レプリカデータベースの更新時刻との差異である遅延時刻を算出する算出工程と、
前記遅延時刻と前記閾値とを比較する比較工程と、
前記比較工程によって前記遅延時刻が前記閾値より大きい場合には、クライアントからの更新要求を保留とする工程を有することを特徴とするレプリケーション方法。
【請求項６】
複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーション方法において、
前記マスタデータベースの更新時刻と前記レプリカデータベースの更新時刻との差異である遅延時刻を算出工程と、
一定の範囲を超えると更新処理に遅延が発生したと判断される閾値の範囲を設定する工程と、
前記遅延時刻と前記閾値とを比較する比較工程と、
前記比較工程によって前記遅延時刻が前記閾値より大きい場合には、更新処理に遅延が発生したと判断し、前記レプリカデータベースから前記マスタデータベースへ更新処理の保留の通知を行う工程とを有することを特徴とするレプリケーション方法。
【請求項７】
前記比較工程は、前記遅延時刻が閾値より小さいと判断された場合は、更新処理を実行させることを特徴とする請求項５または６記載のレプリケーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの更新処理を行うレプリケーションシステム及びレプリケーション方法に関し、特に、更新処理に遅延が発生した場合に遅延を解消するレプリケーションシステム及びレプリケーション方法に関する。
【背景技術】
【０００２】
複製元（マスタ）から複製先（レプリカ）に更新情報をレプリケーションするデータベースシステムにおいて、レプリケーション方式には同期式と非同期式がある。レプリケーション同期方式では、マスタへの更新操作はすべてのレプリカへの更新操作完了を待って更新完了とするため、マスタとレプリカのデータの同一性は保障されるが、すべてのレプリカへの更新を完了するまでの間、マスタの更新処理が待たされてしまう。
【０００３】
そこで、図８に示す従来のマスタとレプリカの構成図では、マスタ５００は、更新処理部５０１と更新差分データ及び更新時刻５０２から構成され、レプリカ６００は更新部６０１から構成されている。図８に示す構成のように、マスタ５００の更新前に更新差分データ５０２をファイル等に出力し、マスタ１００の更新処理と並行してレプリカに対して更新操作を実行する非同期方式のレプリケーションがある。
【０００４】
また、従来のデータベースシステムとして、以下に示すような技術が開示されている。
特許文献１に記載された発明では、上位装置に対して新規ソフトウェアの導入を必要とせず、サブシステムの機能で、データの整合性を保証でき、導入が容易かつメインセンタの性能低下が少ない、非同期型のリモートコピー機能を実現している。
【０００５】
特許文献２に記載された発明は、それぞれの情報処理装置のデータベースを複製元とする場合でも、データベースに対して二重更新を行うことなく、複製データベースの整合性を確保することができる複製データベースシステム、データベース装置及びそれに用いるデータベース更新方法並びにそのプログラムを提供している。
【０００６】
特許文献３に記載された発明は、分散型データベースシステムの一貫性管理のレベルを複数段階に分け、トランザクションの種類に応じて異なる一貫性管理を行うことができるようにすることにより、分散型データベースシステムの利便性の向上を図ることを目的としている。
【特許文献１】特開２００１−２０９５６５号公報
【特許文献２】特開２００４−０１３８６７号公報
【特許文献３】特開平１１−２１９３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記に例示した従来技術では、マスタでの更新処理時間は短縮されるが、ネットワークの遅延やレプリカの更新性能劣化による要因などでマスタからレプリカへの更新操作に時間がかかる場合に、マスタとレプリカとの間でデータに差異が生じる状態になってしまう。
【０００８】
また、特許文献１に記載された発明では、予め設定された一定時間で一時停止とその解除を繰り返すことによって、データの整合性を保つことができる理由が不明確であり、必ずしも一貫性の効果が期待できない。
【０００９】
特許文献２に記載された発明では、更新情報に付与されたタイムスタンプとデータベース内に更新情報とともに格納されているタイムスタンプを比較することによって、システム内の最新の更新情報を検出し、更新のループ、競合による二重更新を防ぐシステムであり、更新の遅延が発生した場合における対処に関しては記載されていない。
【００１０】
特許文献３に記載された発明では、予め緊急度を設定しておき、更新遅延許容日時を守れなかった場合には、緊急度、伝播方式を見直し、自動的に最適な方式を選択摺る方法であるが、一旦、更新遅延が発生した場合に遅延を解消する方法に関しては記載されていない。
【００１１】
本発明は係る問題に鑑みてなされたものであり、非同期方式のレプリケーションにおいて、レプリカ側の更新遅延を検出し、遅延が発生した場合には遅延を解消することができるレプリケーションシステム及びレプリケーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載のレプリケーションシステムは、複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーションシステムにおいて、マスタデータベースは、クライアントからの更新要求を格納する更新要求格納手段と、マスタデータベースの更新データと更新時刻を記憶した第１の記憶手段と、レプリカデータベースの更新データと更新時刻を記憶した第２の記憶手段と、マスタデータベースの更新時刻とレプリカデータベースの更新時刻との差異である遅延時刻を算出する算出手段と、更新処理に遅延が発生したかを判断するための変更可能な閾値を格納した閾値格納手段と、遅延時刻と閾値とを比較する比較手段と、比較手段による比較結果により遅延時刻が閾値より大きかった場合には、更新処理に遅延が発生したと判断し、クライアントからの更新要求を保留させると判定させる保留判定手段と、保留判定手段によって、保留とされた更新要求を格納する更新保留状態格納手段とを有することを特徴とする。
【００１３】
請求項２記載のレプリケーションシステムは、複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーションシステムにおいて、マスタデータベースは、クライアントからの更新要求を格納する更新要求格納手段と、マスタデータベースの更新データと更新時刻とを記憶した第１の記憶手段と、更新要求を保留とするか判定する保留判定手段とを備え、レプリカデータベースは、更新データと更新時刻を記憶した第２の記憶手段と、更新処理に遅延が発生したかを判断するための変更可能な閾値を格納した閾値格納手段と、第１の記憶手段に記憶された更新時刻と第２の記憶手段に記憶された更新時刻とから更新時刻の差異である遅延時刻を算出する算出手段と、遅延時刻と閾値とを比較する比較手段とを備え、比較手段によって、遅延時刻が閾値より大きい場合には、更新処理に遅延が発生していると判断して、マスタデータベースが備える保留判定手段へ保留通知を送信し、クライアントからの更新要求を保留状態にすることを特徴とする。
【００１４】
請求項３記載の発明は、請求項１または２記載のレプリケーションシステムであって、比較手段によって、遅延時刻が閾値より小さい場合と判断された場合は、更新処理を実行させることを特徴とする。
【００１５】
請求項４記載の発明は、請求項１または２記載のレプリケーションシステムであって、閾値格納手段は、閾値の設定を変更可能とする閾値設定手段を有することを特徴とする。
【００１６】
請求項５記載のレプリケーション方法は、複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーション方法において、一定の範囲を超えると更新処理に遅延が発生したと判断される閾値の範囲を設定する工程と、マスタデータベースの更新時刻とレプリカデータベースの更新時刻との差異である遅延時刻を算出する算出工程と、遅延時刻と閾値とを比較する比較工程と、比較工程によって遅延時刻が閾値より大きい場合には、クライアントからの更新要求を保留とする工程を有することを特徴とする。
【００１７】
請求項６記載のレプリケーション方法は、複製元となるマスタデータベースが更新されると、複製のレプリカデータベースを更新するレプリケーション方法において、マスタデータベースの更新時刻とレプリカデータベースの更新時刻との差異である遅延時刻を算出工程と、一定の範囲を超えると更新処理に遅延が発生したと判断される閾値の範囲を設定する工程と、遅延時刻と閾値とを比較する比較工程と、比較工程によって遅延時刻が閾値より大きい場合には、更新処理に遅延が発生したと判断し、レプリカデータベースからマスタデータベースへ更新処理の保留の通知を行う工程とを有することを特徴とする。
【００１８】
請求項７記載の発明は、請求項５または６記載のレプリケーション方法であって、比較工程は、遅延時刻が閾値より小さいと判断された場合は、更新処理を実行させることを特徴とする。
【発明の効果】
【００１９】
以上の説明から本発明のレプリケーションシステム及びレプリケーション方法は、非同期方式のレプリケーションシステム及びレプリケーション方法において、レプリケーションによる更新遅延を検出し、マスタデータベースに対する更新操作を抑制できるため、マスタデータベースの更新時刻から少なくとも閾値時間経過したあとでは、マスタデータベースとレプリカデータベースの更新内容の同一性を保証することができる。
【００２０】
また、レプリケーションによる遅延が発生した場合のみマスタデータベースへの更新操作を抑制し、通常は、同期方式のレプリケーションよりも更新処理時間の短い非同期方式のレプリケーションによる更新処理を実施できる。特にレプリカ数が多くデータ反映箇所が多い場合には有効となる。
【００２１】
さらに、レプリカ側に遅延とみなす閾値を設けることにより、遅延の判定基準を動的に変更でき、これにより、閾値を０に設定することで同期方式も実現可能となる。
【発明を実施するための最良の形態】
【００２２】
次に添付図面を参照して、本発明の実施形態を説明する。
図１は、本発明のレプリケーションシステムの構成を示した図である。
マスタ１００は、クライアントから更新要求を受け付けて、更新要求を格納する更新要求格納領域部１０１と、更新保留状態であるかどうかを判定した後、更新処理を実行する更新処理部１０２、更新処理部１０２によってファイル等に出力された更新差分データ及び更新時刻を記憶している記憶部１０３、更新保留状態であるか否かのフラグ情報を格納する更新保留状態格納領域１０４、遅延閾値とマスタ１００とレプリカ２００の更新時刻の差異により更新保留を決定する更新保留判定部１０６、遅延閾値を格納する遅延閾値格納領域１０５から構成される。レプリカ２００はマスタ１００からの更新操作を受け付けて更新処理を実行する更新処理部２０１と更新差分データと更新時刻を記憶した記憶部２０２とから構成される。
【実施例１】
【００２３】
次に、実施例１である図１に示す各ブロックの処理動作を説明する。
データベースシステムがレプリケーション構成である場合、通常、クライアントからのデータベース更新要求がマスタ１００に対して行われ、その後、マスタ１００からレプリカ２００へ反映される。そこで、以下では、クライアントからマスタ１００に対して更新要求がある場合を例に動作を説明する。
【００２４】
図３は、更新処理の処理動作を示したフローチャートである。
まず、マスタ１００は、更新要求を受け付けると、更新要求を更新要求格納領域部１０１に格納し、更新処理部１０２を実行させる。更新処理部１０２は、最初に更新を保留するかどうかの情報が格納されている更新保留状態格納領域１０４を参照し、更新保留状態であるかどうか判断する（ステップＳ１００）。
【００２５】
更新保留状態である場合は（ステップＳ１００／ＹＥＳ）、更新差分データが記憶部１０３に存在するかを判断する（ステップＳ１０１）。更新差分データが記憶部１０３に存在する場合は（ステップＳ１０１／ＹＥＳ）、レプリカ２００に未反映のデータが存在して遅延が発生していると判断し、その更新を保留する。また、更新差分データが記憶部１０３に存在しない場合は（ステップＳ１０１／ＮＯ）、更新保留状態を解除し（ステップＳ１０２）、現在の時刻を取得後（ステップＳ１０３）、更新差分データ及び更新時刻をファイルなどに出力し（ステップＳ１０４）、更新処理を実行する（ステップＳ１０５）。
【００２６】
更新要求を受けたレプリカ２００側では、マスタ１００から送られてくる更新差分データをもとに更新処理部１０２によって更新要求が処理される。更新処理実行後、更新結果とともに、更新時刻をマスタ１００へ通知する。
【００２７】
また、更新保留状態であるか否かの判断で、更新保留状態格納領域１０３を参照した結果、更新保留状態でない場合（ステップＳ１００／ＮＯ）、または、更新保留状態ではあるが更新差分データ１０２が存在しない場合は（ステップＳ１０１／ＮＯ）、更新を保留する必要はないと判断し、ステップＳ１０３へ進む。
【００２８】
次に、図４に示すフローチャートを参照して、更新保留の判定について説明する。
まず、マスタ１００の更新時刻とレプリカ２００の更新時刻との差を計算する（ステップＳ２００）。ここでは、更新保留判定部１０６は、マスタ１００の更新時刻とレプリカ２００側から送られてくる更新時刻との差異を計算する。次に、ステップＳ２００で計算した差異が遅延閾値より大きいかを判断する（ステップＳ２０１）。
【００２９】
ここでは、遅延閾値格納領域部１０５に格納されているレプリカ２００の遅延閾値とを比較して、更新保留状態にするか否かを判定する。図２に示すように、遅延閾値格納領域部１０５は、レプリカ単位で閾値が格納されており、ネットワーク帯域の違いやレプリカサーバマシンの処理能力の違いによる更新処理時間の違いを調整できるようになっている。
【００３０】
まず、差異が遅延閾値よりも大きい場合は（ステップＳ２０１／ＹＥＳ）、レプリカ２００側へ未反映の更新差分データが記憶部１０３に存在するか否かを判断する（ステップＳ２０２）。存在する場合には（ステップＳ２０２／ＹＥＳ）、更新保留状態格納領域部１０４を更新保留状態とする（ステップＳ２０３）。
また、差異が遅延閾値よりも小さい場合や（ステップＳ２０１／ＮＯ）、差異が遅延閾値よりも大きいがレプリカ側へ未反映の更新差分データが記憶部１０３に存在しない場合は（ステップＳ２０２／ＮＯ）、更新保留する必要はないと判断し、更新保留状態格納領域部１０４の値を更新保留しない状態とする（ステップＳ２０４）。
【００３１】
上記に示す処理動作を具体的な例を示して説明する。
レプリカ２００に対する遅延閾値が３０秒に設定されている場合を例とする。
マスタ１００側の更新時刻が午前１０時００分００秒であり、レプリカ２００側の更新時刻が午前１０時００分１０秒である場合、更新時間の差は１０秒であり遅延閾値よりも小さいため、更新保留状態領域部１０４には遅延保留なし状態が格納され、継続して更新処理が行われる。
【００３２】
マスタ１００側の更新時刻が午前１０時００分００秒であり、レプリカ２００側の更新時刻が午前１０時００分４０秒である場合、更新時間の差は４０秒であり、次の更新要求による更新差分データが記憶部１０３に存在すれば、遅延保留判定部１０６によって遅延が発生していると判断され、更新保留状態格納領域部１０４には遅延保留する状態が格納される。
【００３３】
この状態でマスタ１００に対して新たな更新要求があると、更新差分データがレプリカ２００側へ更新反映されてなくなるまでその更新を保留する。更新差分データがなくなればマスタ１００は更新処理を再開する。このように、遅延と判断しない場合には、非同期式の更新により更新結果を待たずに次々と更新が実行し、遅延が発生したと判断する場合にのみ、マスタ１００の更新を一時的に保留し、マスタ１００とレプリカ２００のデータの整合性を取るように動作することで非同期式の弱点であるデータの不整合状態の発生時間を短くすることが可能となる。
【００３４】
また、すべてのレプリカ２００に対する遅延閾値が０秒に設定されている場合では、マスタ１００とレプリカ２００の更新時刻に少しでも差異があれば、遅延保留判定部１０６によって遅延が発生しているとみなされる。つまり、１件の更新差分データがレプリカへ反映されるまでの間は更新保留する状態になることから、すべてのレプリカに対する遅延閾値を０に設定する場合は、同期型のデータ反映システムを実現できる。
【００３５】
これによって、マスタ１００からレプリカ２００への更新性能を求められる場合とマスタ１００とレプリカ２００との間のデータの整合性を求められる場合の両方をパラメータの設定のみによって実現可能なシステムとなっている。
【００３６】
本発明では、従来と比較して、更新保留状態格納領域部１０４と遅延閾値格納領域部１０５を設け、これらの情報をもとに更新処理部１０２と更新保留判定部１０６が更新を実行するか保留するかを制御することにより、非同期式のレプリケーションシステムの特徴をもちながら不整合状態の発生時間を短くすることが可能であり、遅延閾値の設定によっては同期式のレプリケーションシステムを実現できる。
【実施例２】
【００３７】
次に、実施例２について図５〜図７を参照して説明する。
図５に示すように、マスタ１００側に存在していた遅延閾値格納領域部がレプリカ２００側に存在し、レプリカ２００側に遅延判定部２０３に追加されていることが図１と異なる。レプリカ２００側で遅延状態を判定することにより、遅延が発生したと判断された場合のみレプリカからマスタへの通知を行うことになり、図１に示す構成よりもネットワーク通信量を削減することが可能となる。
【００３８】
図５に示すレプリケーションシステムの構成を説明する。
図５に示すように、マスタ１００には、クライアントからの更新要求を受け付け、更新要求を格納する更新要求格納領域部１０１と更新処理を実行する更新処理部１０２、更新処理部１０２によってファイルなどに出力された更新差分データと更新時刻を記憶している記憶部１０３、更新保留するかどうかの状態を格納する更新保留状態格納領域１０４、レプリカ２００からの更新保留状態フラグをもとに更新保留を決定する更新保留判定部１０５からなる。レプリカ２００は、マスタ１００からの更新を受け付けて更新処理を実行する更新処理部２０１、マスタ１００の更新時刻とレプリカ２００での更新時刻により遅延を判定する遅延判定部２０３、遅延を判定するために利用する遅延閾値格納領域部２０４、更新差分データおよび更新時刻を記憶している記憶部２０２から構成されている。
【００３９】
次に、図３、図６、図７を参照して、実施例２についての処理動作を説明する。
まず、更新保留状態であるか否かを判断する（ステップＳ１００）。ここでは、更新処理部１０２は、更新保留状態格納領域部１０４の情報と記憶部１０３に記憶された更新差分データの存在によって更新を保留するか否かを決定する。最初に更新を保留するかどうかの情報が格納されている更新保留状態格納領域部１０４を参照し、更新保留する状態であるかどうかを判断する。
【００４０】
更新保留する状態である場合には（ステップＳ１００／ＹＥＳ）、更新差分データが記憶部１０３に存在するかどうかを判断し（ステップＳ１０１）、存在する場合には（ステップＳ１０１／ＹＥＳ）、遅延が発生しておりレプリカ２００に未反映のデータが存在すると判断し、更新を保留する。
【００４１】
また、更新保留状態格納領域部１０４を参照した結果、更新保留する状態ではない場合（ステップＳ１００／ＮＯ）、また、更新保留する状態ではあるが記憶部１０３に更新差分データが存在しない場合は（ステップＳ１０１／ＮＯ）、更新を保留する必要はないと判断し、更新保留状態格納領域部１０４に更新保留しない状態を設定し（ステップＳ１０２）、現在の時刻を取得後（ステップＳ１０３）、更新差分データ及び更新時刻をファイルなどに出力し（ステップＳ１０４）、更新処理を実行する（ステップＳ１０５）。
【００４２】
次に、図６を参照して、更新要求を受けたレプリカ２００側の処理動作を説明する。
図６に示す処理動作では、マスタ１００から送られてくる更新差分データをもとに更新処理部１０２によって更新要求が処理される。更新処理実行後、マスタ１００の更新時刻とレプリカ２００の更新時刻は更新判定部２０３に渡される。
【００４３】
そこで、更新判定部２０３では、マスタ１００とレプリカ２００の更新時刻の差を求め（ステップＳ３００）、次に、更新時刻の差と遅延閾値格納領域部２０４に設定されている遅延閾値を比較する（ステップＳ３０１）。更新時刻の差が遅延閾値よりも大きい場合には（ステップＳ３０１／ＹＥＳ）、遅延が発生していると判断し、マスタ１００に更新保留をするように通知する（ステップＳ３０２）。また、更新時刻の差が遅延閾値よりも小さい場合には（ステップＳ３０１／ＮＯ）、遅延は発生していないと判断されマスタには何も通知しない。
【００４４】
次に、図７を参照して、マスタ１００がレプリカ２００から更新保留通知を受ける場合の処理動作を説明する。
マスタ１００はレプリカ２００から更新保留通知を受け取ると更新保留判定部１０５によって更新保留する状態かどうかを決定する。
まず、更新差分データに更新情報があるか判断する（ステップＳ４００）。ここでは、更新保留判定部１０５が記憶部１０３に更新差分データが存在するかどうかを判断する。更新情報があれば（ステップＳ４００／ＹＥＳ）、レプリカ２００に未反映のデータが存在するために更新保留状態格納領域部１０４に更新保留する状態を設定する（ステップＳ４０１）。更新情報が存在しなければ（ステップＳ４００／ＮＯ）、更新保留状態格納領域部１０４の更新保留しない状態を設定する（ステップＳ４０２）。
【００４５】
実施例２に示す処理動作をレプリカ２００の遅延閾値が３０秒に設定されている場合を例に具体的に説明する。
マスタ１００側の更新時刻が午前１０時００分００秒であり、レプリカ２００側の更新時刻が午前１０時００分００秒である場合、更新時間の差は１０秒であり、遅延閾値よりも小さいため、レプリカ２００は遅延判定部２０３によって遅延は発生していないと決定され、マスタ１００に対して特に通知はしない。マスタの更新時刻が午前１０時００分００秒であり、レプリカ２００側の更新時刻が午前１０時００分４０秒である場合、差が４０秒であるため、レプリカ２００側の遅延判定部２０３によって遅延が発生していると判断され、マスタ１００へ更新保留通知が送信される。マスタ１００は、更新保留判定部１０５によって、次に更新差分データが記憶部１０３に存在するかどうかを判断し、レプリカ２００に未反映の更新差分データが記憶部１０３に存在すれば、更新保留状態として交信保留格納領域部２０２に更新保留する状態を設定する。
【００４６】
この状態でマスタ１００に新たな更新要求が実行されたときには、マスタ１００は更新を保留する。そして、レプリカ２００が更新差分データの更新反映を完了し更新差分データがなくなれば、マスタ１００は更新保留格納領域部１０４に更新保留しない状態を設定し更新処理を再開する。
【００４７】
このように、遅延と判断しない場合には、非同期式の更新により更新結果を待たずに次々と更新が実行し、遅延が発生したと判断する場合にのみ、マスタの更新を一時的に保留し、マスタ１００とレプリカ２００とのデータの整合性を取るように動作することで非同期式の弱点であるデータの不整合状態の発生時間を短くすることが可能となる。
【００４８】
また、すべてのレプリカ２００の遅延閾値が０秒に設定されている場合では、マスタ１００とレプリカ２００の更新時刻に少しでも差異があれば、遅延保留判定部２０３によって遅延が発生しているとみなされる。つまり、１件の更新差分データがすべてのレプリカへ反映されるまでの間は更新保留状態になることから、すべてのレプリカに対する遅延閾値を０に設定する場合は、同期型のデータ反映システムを実現できる。これによって、マスタ１００からレプリカ２００への更新性能を求められる場合とマスタ１００とレプリカ２００間のデータの整合性を求められる場合の両方をパラメータの設定のみによって実現可能なシステムとなっている。
【００４９】
本発明では、従来と比較して、マスタ１００に更新保留状態格納領域部１０４とレプリカ２００に遅延閾値格納領域部２０４を設け、これらの情報をもとに更新処理部１０２と更新保留判定部１０５が更新を実行するか保留するかを制御することにより、非同期式のレプリケーションシステムの特徴を持ちながら不整合状態の発生時間を少なくすることが可能であり、遅延閾値の設定によっては同期式のレプリケーションシステムを実現できる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施例１におけるレプリケーションシステムの構成を示した図である。
【図２】本発明の実施形態における遅延閾値格納領域の構成を示した図である。
【図３】本発明の実施例１におけるレプリケーションシステムの処理動作を示したフローチャートである。
【図４】本発明の実施例１におけるレプリケーションシステムの処理動作を示したフローチャートである。
【図５】本発明の実施例２におけるレプリケーションシステムの構成を示した図である。
【図６】本発明の実施例２におけるレプリケーションシステムの処理動作を示した図である。
【図７】本発明の実施例２におけるレプリケーションシステムの処理動作を示した図である。
【図８】従来のレプリケーションシステムの構成を示した図である。
【符号の説明】
【００５１】
１００    マスタデータベース
１０１    更新要求格納領域部
１０２、２０１    更新処理部
１０３、２０２    記憶部
１０４    更新保留状態格納領域部
１０５、２０４    遅延閾値格納領域部
１０６    更新保留判定部
２０３    遅延判定部
【図１】
2006053737.tif 000003
【図２】
2006053737.tif 000004
【図３】
2006053737.tif 000005
【図４】
2006053737.tif 000006
【図５】
2006053737.tif 000007
【図６】
2006053737.tif 000008
【図７】
2006053737.tif 000009
【図８】
2006053737.tif 000010