(57)【要約】【課題】不必要なデータの更新処理と、更新処理の負荷が１台の処理サーバに集中することと、を抑制可能なＤＢ管理システムおよびＤＢ管理方法を提供する。【解決手段】ＤＢ管理システムは、第１ＤＢ内の複数のデータの内の対象データについて対象データの複製と対象データの加工データとのいずれかである対応データを記憶する複数の第２ＤＢと、複数の第２ＤＢのいずれかを特定する第２ＤＢ特定情報と、特定された第２ＤＢに必要な対象データを特定するための対象データ特定情報を記憶する記憶手段と、第１ＤＢ内の複数のデータの更新にて、対象データ特定情報にて特定される対象データのうちの１つが更新された際に、更新された対象データを含む更新処理用データを作成する制御手段と、更新処理用データを用いて第１ＤＢでの対象データの更新を第２ＤＢ特定情報で特定される第２ＤＢの対応データに反映する更新処理を実行する処理サーバを含む。【選択図】図１
2014099037.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを記憶する第１データベースと、
前記第１データベース内の複数のデータのうちの対象データについて、当該対象データの複製と、当該対象データに所定の処理を施した加工データと、のいずれかである対応データを記憶する複数の第２データベースと、
前記複数の第２データベースのうちのいずれかを特定する第２データベース特定情報と、該第２データベース特定情報にて特定された第２データベースに必要な前記対象データを特定するための対象データ特定情報と、を記憶する記憶手段と、
前記第１データベースにおいて、前記複数のデータのうちの少なくとも１つが更新された際に、前記記憶手段内の対象データ特定情報にて特定される対象データのうちの１つが更新されたか判断し、前記対象データが更新された際に、更新された対象データを含む更新処理用データを作成する制御手段と、
前記更新処理用データを用いて、前記第１データベースでの対象データの更新を、前記第２データベース特定情報で特定される前記第２データベースの前記対応データに反映する更新処理を、実行する処理サーバと、を含むデータベース管理システム。
【請求項２】
請求項１に記載のデータベース管理システムにおいて、
前記第１データベースでは、各対象データは、他の１以上の対象データである関連対象データと関連づけられて記憶されており、
前記第２データベースでは、各対応データは、当該対応データの元となる対象データと関連づけられている関連対象データについての対応データである関連対応データと関連づけられて記憶されており、
前記対象データ特定情報では、前記対象データと前記関連対象データとが関連づけられており、
前記制御手段は、前記第１データベース内の前記対象データの更新に伴い、前記第１データベース内の、前記更新された対象データと、前記記憶手段内の対象データ特定情報にて特定される前記更新された対象データに関連づけられた対象データである関連対象データと、を含む更新処理用データを作成し、
前記処理サーバは、前記更新処理用データを取得し、前記第２データベースにおいて、前記関連対象データについての対応データに関連づけられている対応データを前記更新された対象データについての対応データに更新する更新処理を実行する、データベース管理システム。
【請求項３】
請求項２に記載のデータベース管理システムにおいて、
前記処理サーバは、前記更新の前の対象データについての対応データが、前記更新の前の対象データの複製である場合には、前記第２データベースにおいて前記関連対象データについての対応データに関連づけられている対応データを、前記更新された対象データの複製に更新し、前記更新の前の対象データについての対応データが、前記更新の前の対象データに前記所定の処理を施した加工データである場合には、前記第２データベースにおいて前記関連対象データについての対応データに関連づけられている対応データを、前記更新された対象データに前記所定の処理を施した加工データに更新する、データベース管理システム。
【請求項４】
請求項１から３のいずれか１項に記載のデータベース管理システムにおいて、
前記記憶手段は、各対象データについて、複数の前記処理サーバのうち、前記第１データベース内の当該対象データの更新を前記第２データベースに反映する更新処理を実行する処理サーバである実行処理サーバを指定するためのサーバ指定情報を記憶し、
前記複数の処理サーバの各々は、前記記憶手段内の前記サーバ指定情報に基づき、自サーバが前記実行処理サーバとして指定された特定対象データを含む前記更新処理用データを用いて前記更新処理を実行する、データベース管理システム。
【請求項５】
請求項４に記載のデータベース管理システムにおいて、
前記制御手段が作成した前記更新処理用データを格納する格納手段を含み、
前記複数の処理サーバの各々は、自サーバが前記サーバ指定情報にて前記実行処理サーバとして指定された前記特定対象データを含む前記更新処理用データが格納されている場合に、前記格納手段内の、前記特定対象データを含む前記更新処理用データを用いて、前記更新処理を実行する、データベース管理システム。
【請求項６】
請求項４または５に記載のデータベース管理システムにおいて、
前記複数の処理サーバの各々は、自サーバの稼働度が所定の稼働度よりも低い場合、前記複数の処理サーバのうちの他のサーバが前記実行処理サーバとして指定された対象データの更新結果を含む前記更新処理用データを用いて、前記他の処理サーバに代わって前記更新処理を実行する、データベース管理システム。
【請求項７】
請求項６に記載のデータベース管理システムにおいて、
前記他の処理サーバは、前記複数の処理サーバのうち、当該処理サーバに割り当てられた更新処理の未実施数が最も多い処理サーバ、または、前記複数の処理サーバのうち、前記稼働度が最も高い処理サーバである、データベース管理システム。
【請求項８】
請求項４または５に記載のデータベース管理システムにおいて、
前記複数の処理サーバの各々の稼働度を受け付ける確認手段と、
前記確認手段が受け付けた稼働度に基づいて、前記サーバ指定情報を設定または変更する設定手段と、を含むデータベース管理システム。
【請求項９】
請求項８に記載のデータベース管理システムにおいて、
前記設定手段は、前記複数の処理サーバの中に、前記稼働度が所定の稼働度よりも低い低稼働度処理サーバが存在する場合に、前記複数の処理サーバのうち当該処理サーバに割り当てられた更新処理の未実施数が最も多い処理サーバまたは前記複数の処理サーバのうち前記稼働度が最も高い処理サーバを前記実行処理サーバとして指定するためのサーバ指定情報を、前記低稼働度処理サーバを前記実行処理サーバとして指定するためのサーバ指定情報に変更する、データベース管理システム。
【請求項１０】
複数のデータを記憶する第１データベースと、前記第１データベース内の複数のデータのうちの対象データについて、当該対象データの複製と、当該対象データに所定の処理を施した加工データと、のいずれかである対応データを記憶する複数の第２データベースと、前記複数の第２データベースのうちのいずれかを特定する第２データベース特定情報と、該第２データベース特定情報にて特定された第２データベースに必要な前記対象データを特定するための対象データ特定情報と、を記憶する記憶手段と、制御手段と、処理サーバと、を含むデータベース管理システムが行うデータベース管理方法であって、
前記制御手段が、前記第１データベースにおいて、前記複数のデータのうちの少なくとも１つが更新された際に、前記記憶手段内の対象データ特定情報にて特定される対象データのうちの１つが更新されたか判断し、前記対象データが更新された際に、更新された対象データを含む更新処理用データを作成し、
前記処理サーバが、前記更新処理用データを用いて、前記第１データベースでの対象データの更新を、前記第２データベース特定情報で特定される前記第２データベースの前記対応データに反映する更新処理を、実行する、データベース管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理システムおよびデータベース管理方法に関する。
【背景技術】
【０００２】
マスタＤＢ（データベース）の複製（以下「レプリカ」と称する）を作成し、マスタＤＢでのデータの更新をレプリカに反映して、マスタＤＢ内のデータとレプリカ内のデータとを一致させるレプリケーション技術が知られている（特許文献１参照）。
【０００３】
レプリケーション技術では、マスタＤＢ内のデータとレプリカ内のデータとを一致させるために、マスタＤＢ内のデータの更新のすべてをレプリカに反映させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００４／０９０７２６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の箇所で別々に管理されているデータベースを、情報の共有化などの観点から、１つのデータベース（以下「統合データベース」と称する）にまとめる動きがある。
【０００６】
例えば、ある企業において各部門が個別に保有していたデータベースを統合データベースにまとめる場合が想定される。
【０００７】
この場合、各部門に統合データベースのレプリカを設け、統合データベースとレプリカとの間でレプリケーションが行われることが考えられる。
【０００８】
しかしながら、統合データベースが作成されても、各部門が必要するデータは、統合データベースのすべての項目のデータではなく、統合データベースの一部の項目のデータであることが多い。
【０００９】
このため、各部門に統合データベースのレプリカを作成し、統合データベースとレプリカとの間でレプリケーションが行われた場合、レプリカ内で不必要な項目についてデータの更新処理が行われるという課題が生じる。
【００１０】
本発明の目的は、上記課題を解決可能なデータベース管理システムおよびデータベース管理方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明のデータベース管理システムは、
複数のデータを記憶する第１データベースと、
前記第１データベース内の複数のデータのうちの対象データについて、当該対象データの複製と、当該対象データに所定の処理を施した加工データと、のいずれかである対応データを記憶する複数の第２データベースと、
前記複数の第２データベースのうちのいずれかを特定する第２データベース特定情報と、該第２データベース特定情報にて特定された第２データベースに必要な前記対象データを特定するための対象データ特定情報と、を記憶する記憶手段と、
前記第１データベースにおいて、前記複数のデータのうちの少なくとも１つが更新された際に、前記記憶手段内の対象データ特定情報にて特定される対象データのうちの１つが更新されたか判断し、前記対象データが更新された際に、更新された対象データを含む更新処理用データを作成する制御手段と、
前記更新処理用データを用いて、前記第１データベースでの対象データの更新を、前記第２データベース特定情報で特定される前記第２データベースの前記対応データに反映する更新処理を、実行する処理サーバと、を含む。
【００１２】
本発明のデータベース管理方法は、
複数のデータを記憶する第１データベースと、前記第１データベース内の複数のデータのうちの対象データについて、当該対象データの複製と、当該対象データに所定の処理を施した加工データと、のいずれかである対応データを記憶する複数の第２データベースと、前記複数の第２データベースのうちのいずれかを特定する第２データベース特定情報と、該第２データベース特定情報にて特定された第２データベースに必要な前記対象データを特定するための対象データ特定情報と、を記憶する記憶手段と、制御手段と、処理サーバと、を含むデータベース管理システムが行うデータベース管理方法であって、
前記制御手段が、前記第１データベースにおいて、前記複数のデータのうちの少なくとも１つが更新された際に、前記記憶手段内の対象データ特定情報にて特定される対象データのうちの１つが更新されたか判断し、前記対象データが更新された際に、更新された対象データを含む更新処理用データを作成し、
前記処理サーバが、前記更新処理用データを用いて、前記第１データベースでの対象データの更新を、前記第２データベース特定情報で特定される前記第２データベースの前記対応データに反映する更新処理を、実行する。
【発明の効果】
【００１３】
本発明によれば、不必要なデータの更新処理を抑制することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態のデータベース管理システム１００を示した図である。
【図２】複製元ＤＢ１０１内のデータの一例を示した図である。
【図３】複製先ＤＢ２１内のデータの一例を示した図である。
【図４】複製先ＤＢ２２内のデータの一例を示した図である。
【図５】管理情報１０３ａの一例を示した図である。
【図６】更新データ情報１０４ａの一例を示した図である。
【図７】各処理サーバがプロセスを立上げた状況を説明するための図である。
【図８】処理サーバによる更新データ情報の処理を表す図である。
【図９】処理サーバ３１〜３３の稼働率（稼働度）と、更新データ格納部１０４内の更新データ情報と、の一例を示した図である。
【図１０】処理サーバによる更新データ情報の代行処理を表す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について図面を参照して説明する。
【００１６】
図１は、本発明の一実施形態のデータベース管理システム１００を示した図である。
【００１７】
図１において、データベース管理システム１００は、管理システム１と、複製先ＤＢ２１および２２と、処理サーバ３１〜３ｉと、を含む。なお、ｉは１以上の整数である。
【００１８】
管理システム１は、複製元ＤＢ１０１と、更新部１０２と、記憶部１０３と、更新データ格納部１０４と、サーバ負荷確認部１０５と、制御部１０６と、を含む。
【００１９】
複製元ＤＢ１０１は、第１データベースの一例である。
【００２０】
複製元ＤＢ１０１は、複数の項目のデータ、例えばｍ（ｍは３以上の整数）個の項目のデータを記憶する。
【００２１】
図２は、複製元ＤＢ１０１内のデータの一例を示した図である。
【００２２】
図２において、複製元ＤＢ１０１は、テーブルＴＡ〜ＴＤを記憶する。
【００２３】
テーブルＴＡは、項目として、ＩＤ情報（ユーザのＩＤ）Ａ１とパスワードＡ２とを有する。テーブルＴＡには、ＩＤ情報Ａ１のデータＡ１Ｄごとに、ＩＤ情報Ａ１のデータＡ１ＤとパスワードＡ２のデータＡ２Ｄとが互いに関連づけて記憶される。なお、ＩＤ情報Ａ１は、データＡ１Ｄを特定するための情報である。また、パスワードＡ２は、データＡ２Ｄを特定するための情報である。
【００２４】
テーブルＴＢは、項目として、商品名Ｂ１と価格Ｂ２とを有する。テーブルＴＢには、商品名Ｂ１のデータＢ１Ｄごとに、商品名Ｂ１のデータＢ１Ｄと価格Ｂ２のデータＢ２Ｄとが互いに関連づけて記憶される。なお、商品名Ｂ１は、データＢ１Ｄを特定するための情報である。また、価格Ｂ２は、データＢ２Ｄを特定するための情報である。
【００２５】
テーブルＴＣは、項目として、住所情報Ｃ１と電話番号Ｃ２とを有する。テーブルＴＣには、住所情報Ｃ１のデータＣ１Ｄごとに、住所情報Ｃ１のデータＣ１Ｄと電話番号Ｃ２のデータＣ２Ｄとが互いに関連づけて記憶される。なお、住所情報Ｃ１は、データＣ１Ｄを特定するための情報である。また、電話番号Ｃ２は、データＣ２Ｄを特定するための情報である。
【００２６】
テーブルＴＤは、項目として、店舗名Ｄ１と在庫数Ｄ２とを有する。テーブルＴＤには、店舗名Ｄ１のデータＤ１Ｄごとに、店舗名Ｄ１のデータＤ１Ｄと在庫数Ｄ２のデータＤ２Ｄとが互いに関連づけて記憶される。なお、店舗名Ｄ１は、データＤ１Ｄを特定するための情報である。また、在庫数Ｄ２は、データＤ２Ｄを特定するための情報である。
【００２７】
住所情報Ｃ１のデータＣ１Ｄの各々は、ユーザ住所情報のデータＣ１Ｄ１と店舗住所情報のデータＣ１Ｄ２とのいずれかに分類される。
【００２８】
ユーザ住所情報のデータＣ１Ｄ１は、データＡ１Ｄとも関連づけられ、そのデータＡ１Ｄにて特定されるユーザの住所を表す。
【００２９】
店舗住所情報のデータＣ１Ｄ２は、データＤ１Ｄとも関連づけられ、そのデータＤ１Ｄにて特定される店舗の住所を表す。
【００３０】
在庫数Ｄ２のデータＤ２Ｄは、データＢ１Ｄとも関連づけられている。
【００３１】
データＡ１Ｄと、データＡ２Ｄと、データＢ１Ｄと、データＢ２Ｄと、データＣ１Ｄと、データＣ２Ｄと、データＤ１Ｄと、データＤ２Ｄとは、複製元ＤＢ１０１内の複数のデータの一例である。
【００３２】
なお、複製元ＤＢ１０１が記憶するテーブルおよびデータは、図２に示したテーブルおよびデータに限らず適宜変更可能である。
【００３３】
図１に戻って、複製先ＤＢ２１および２２は、それぞれ、第２データベースの一例である。
【００３４】
複製先ＤＢ２１は、複製元ＤＢ１０１内のｍ個の項目のデータのうちのｎ（ｎは２以上ｍ未満の整数）個の項目のデータ（以下「対象データ」と称する）の各々について、対象データの複製（コピー）と、対象データに予め定められた処理（所定の処理）を施した加工データと、のいずれかである対応データを記憶する。
【００３５】
複製先ＤＢ２２は、複製元ＤＢ１０１内のｍ個の項目のデータのうちのｐ（ｐは２以上ｍ未満の整数）個の項目の対象データの各々についての対応データを記憶する。
【００３６】
以下では、複製先ＤＢ２１および２２は、対象データの複製を対応データとして記憶する。
【００３７】
図３は、複製先ＤＢ２１内のデータの一例を示した図である。
【００３８】
複製先ＤＢ２１は、テーブルＴＥを記憶する。
【００３９】
テーブルＴＥは、項目として、テーブルＴＡ内のＩＤ情報Ａ１の複製であるＩＤ情報Ｅ１と、テーブルＴＣ内の住所情報Ｃ１の複製である住所情報Ｅ２と、を有する。テーブルＴＥには、ＩＤ情報Ｅ１のデータＥ１Ｄごとに、ＩＤ情報Ｅ１のデータＥ１Ｄと、住所情報Ｅ２のデータＥ２Ｄとが、互いに関連づけて記憶される。
【００４０】
なお、データＥ１Ｄは、テーブルＴＡ内のデータＡ１Ｄの複製（対応データ）である。データＥ２Ｄは、テーブルＴＣ内のユーザ住所情報のデータＣ１Ｄ１の複製（対応データ）である。
【００４１】
データＥ１Ｄは、そのデータＥ１Ｄにて特定されるユーザの住所を表す住所情報Ｅ２のデータＥ２Ｄと関連づけられている。
【００４２】
複製先ＤＢ２１に関しては、複製元ＤＢ１０１内のデータのうち、データＡ１Ｄとユーザ住所情報のデータＣ１Ｄ１が、対象データとなる。
【００４３】
また、複製元ＤＢ１０１では、対象データであるユーザ住所情報のデータＣ１Ｄ１は、関連対象データとなるデータＡ１Ｄと関連づけられている。また、複製元ＤＢ１０１では、対象データであるデータＡ１Ｄは、関連対象データとなるユーザ住所情報のデータＣ１Ｄ１と関連づけられている。
【００４４】
図４は、複製先ＤＢ２２内のデータの一例を示した図である。
【００４５】
複製先ＤＢ２２は、テーブルＴＦおよびＴＧを記憶する。
【００４６】
テーブルＴＦでのデータ構成は、テーブルＴＥでのデータ構成と同様である。
【００４７】
テーブルＴＦは、項目として、テーブルＴＢ内の商品名Ｂ１の複製である商品名Ｇ１と、テーブルＴＤ内の在庫数Ｄ２の複製である在庫数Ｇ２と、を有する。テーブルＴＧには、商品名Ｇ１のデータＧ１Ｄごとに、商品名Ｇ１のデータＧ１Ｄと、在庫数Ｇ２のデータＧ２Ｄとが、互いに関連づけて記憶される。
【００４８】
なお、データＧ１Ｄは、テーブルＴＢ内のデータＢ１Ｄの複製（対応データ）である。データＧ２Ｄは、テーブルＴＤ内のデータＤ２Ｄの複製（対応データ）である。
【００４９】
データＧ１Ｄは、そのデータＧ１Ｄにて特定される商品名の在庫数を表す在庫数Ｇ２のデータＧ２Ｄと関連づけられている。
【００５０】
複製先ＤＢ２２に関しては、複製元ＤＢ１０１内のデータのうち、データＡ１Ｄとユーザ住所情報のデータＣ１Ｄ１とデータＢ１ＤとデータＤ２Ｄが、対象データとなる。
【００５１】
また、複製元ＤＢ１０１では、対象データであるユーザ住所情報のデータＣ１Ｄ１は、関連対象データとなるデータＡ１Ｄと関連づけられている。また、複製元ＤＢ１０１では、対象データであるデータＡ１Ｄは、関連対象データとなるユーザ住所情報のデータＣ１Ｄ１と関連づけられている。
【００５２】
また、複製元ＤＢ１０１では、対象データであるデータＤ２Ｄは、関連対象データとなるデータＢ１Ｄと関連づけられている。また、複製元ＤＢ１０１では、対象データであるデータＢ１Ｄは、関連対象データとなるデータＤ２Ｄと関連づけられている。
【００５３】
なお、複製先ＤＢの数は２に限らず複数であればよい。
【００５４】
図１に戻って、更新部１０２は、利用者端末４からの更新依頼に従って複製元ＤＢ１０１内のデータを更新（例えば、登録、変更または削除）する。
【００５５】
記憶部１０３は、記憶手段の一例である。
【００５６】
記憶部１０３は、管理情報１０３ａと、処理サーバ負荷情報１０３ｂと、を記憶する。
【００５７】
管理情報１０３ａは、複製元ＤＢ１０１でのデータ更新を、複製先ＤＢ２１または２２に反映するための処理内容を示す。
【００５８】
図５は、管理情報１０３ａの一例を示した図である。
【００５９】
図５において、管理情報１０３ａは、管理情報Ｎｏ（番号）１０３ａ１と、論理データ名１０３ａ２と、複製先情報１０３ａ３と、論理データ１０３ａ４と、分散値１０３ａ５と、処理サーバ情報１０３ａ６と、を有する。管理情報１０３ａでは、管理情報Ｎｏ１０３ａ１と、論理データ名１０３ａ２と、複製先情報１０３ａ３と、論理データ１０３ａ４と、分散値１０３ａ５と、処理サーバ情報１０３ａ６とは、互いに関連づけられている。
【００６０】
管理情報Ｎｏ１０３ａ１は、管理情報１０３ａの番号を示す。
【００６１】
論理データ名１０３ａ２は、管理情報１０３ａが扱う論理データ１０３ａ４の名称を表す。
【００６２】
論理データ１０３ａ４は、対象データ特定情報の一例である。
【００６３】
論理データ１０３ａ４は、複製元ＤＢ１０１の複数のテーブル内のデータのうち、複製先ＤＢ２１または２２が必要とするデータ（対象データ）の組み合わせを、データの項目を用いて定義したデータである。
【００６４】
なお、複製先ＤＢ２１または２２が必要とするデータ（対象データ）は、複製先ＤＢ２１または２２に記憶されているデータでもある。
【００６５】
本実施形態では、以下の論理データＡおよびＢが用いられる。
【００６６】
論理データＡ：テーブルＴＡのＩＤ情報Ａ１＋テーブルＴＣの住所情報Ｃ１
論理データＢ：テーブルＴＢの商品名Ｂ１＋テーブルＴＤの在庫数Ｄ２
なお、論理データＡは、テーブルＴＡのＩＤ情報Ａ１（項目）のデータＡ１Ｄと、そのデータＡ１Ｄに関連づけられているテーブルＴＣの住所情報Ｃ１（項目）のデータＣ１Ｄとを特定する。
【００６７】
論理データＢは、テーブルＴＢの商品名Ｂ１（項目）のデータＢ１Ｄと、そのデータＢ１Ｄに関連づけられているテーブルＴＤの在庫数Ｄ２（項目）のデータＤ２Ｄとを特定する。
【００６８】
論理データは、論理データＡ、Ｂに限らず適宜変更可能である。例えば、以下の論理データＣが用いられてもよい。
【００６９】
論理データＣ：テーブルＴＣの住所情報Ｃ１＋テーブルＴＤの在庫情報Ｄ２
なお、論理データＣは、テーブルＴＣの住所情報Ｃ１（項目）のデータＣ１Ｄと、そのデータＣ１Ｄに関連づけられているテーブルＴＤの在庫情報Ｄ２（項目）のデータＤ２Ｄとを特定する。
【００７０】
また、複製元ＤＢ１０１での更新を複製先ＤＢ２１または２２に反映する際に、複製元ＤＢ１０１で更新されたデータを加工（例えば、住所を都道府県のみに加工）や変換（例えば、重さのデータがある場合、重さの値をｋｇからｇに変換）する所定の処理を施す必要があれば、対象データについて加工や変更（以下、まとめて加工と称する）の処理内容を表す処理情報が、論理データに追加される。
【００７１】
なお、図５においては、複製先ＤＢ２１が必要とするデータは、論理データＡにて定義され、複製先ＤＢ２２が必要とするデータは、論理データＡおよびＢにて定義される。
【００７２】
上記では、論理データ１０３ａ４にて特定される対象データの組み合わせを、２つの対象データの組み合わせとしたが、論理データ１０３ａ４にて特定される対象データの組み合わせを、３つ以上の対象データの組み合わせとしてもよい。
【００７３】
複製先情報１０３ａ３は、複製先ＤＢを表す。
【００７４】
分散値１０３ａ５は、論理データ１０３ａ４にて特定されるデータについての更新を１つの複製先ＤＢに反映する処理を行う処理サーバの数を定義する。
【００７５】
処理サーバ情報１０３ａ６は、論理データ１０３ａ４にて特定されるデータについての更新を複製先情報１０３ａ３が表す複製先ＤＢに反映する更新処理を行う処理サーバを指定する。
【００７６】
分散値１０３ａ５と処理サーバ情報１０３ａ６の組み合わせは、サーバ指定情報の一例となる。
【００７７】
図１に戻って、記憶部１０３内の処理サーバ負荷情報１０３ｂは、処理サーバ３１〜３ｉの各々の稼働度を表す。
【００７８】
更新データ格納部１０４は、格納手段の一例である。
【００７９】
サーバ負荷確認部１０５は、確認手段の一例である。
【００８０】
サーバ負荷確認部１０５は、処理サーバ３１〜３ｉの各々の稼働度を処理サーバ３１〜３ｉの各々から受け付ける。サーバ負荷確認部１０５は、処理サーバ３１〜３ｉの各々の稼働度に基づいて、処理サーバ負荷情報１０３ｂを作成し、処理サーバ負荷情報１０３ｂを記憶部１０３に記憶する。
【００８１】
制御部１０６は、制御手段および設定手段の一例である。
【００８２】
制御部１０６は、例えば、管理者端末５からの入力に基づいて管理情報１０３ａを作成し、管理情報１０３ａを記憶部１０３に記憶する。
【００８３】
また、制御部１０６は、複製元ＤＢ１０１内のデータが更新（例えば、登録、変更または削除）された際に、管理情報１０３ａを参照して、更新されたデータが対象データであるか否かを確認する。制御部１０６は、更新されたデータが対象データである場合、データの更新結果を含む更新データ情報を作成し、その更新データ情報を更新データ格納部１０４に記憶する。
【００８４】
図６は、更新データ情報１０４ａの一例を示した図である。
【００８５】
図６において、更新データ情報１０４ａは、項目として、処理Ｎｏ（番号）１０４ａ１と、論理データ名１０４ａ２と、複製先情報１０４ａ３と、複製データ１０４ａ４と、分散値１０４ａ５と、処理フラグ（Ｆ）１０４ａ６と、処理サーバ情報１０４ａ７と、を有する。
【００８６】
処理Ｎｏ１０４ａ１は、更新データ情報１０４ａの番号を示す。
【００８７】
論理データ名１０４ａ２は、記憶部１０３内の論理データ１０３ａ４のうち、更新された対象データの項目を含む論理データ１０３ａ４（以下「該当論理データ」と称する）の名称を表す。
【００８８】
複製先情報１０４ａ３は、管理情報１０３ａ内で該当論理データと関連づけられている複製先情報１０３ａ３を表す。
【００８９】
複製データ１０４ａ４は、該当論理データにて特定される対象データの組み合わせのうち、更新された対象データを含む組み合わせを表す。なお、複製データ１０４ａ４は、更新処理データの一例である。
【００９０】
分散値１０４ａ５は、管理情報１０３ａ内で該当論理データと関連づけられている分散値１０３ａ５を表す。
【００９１】
処理フラグ１０４ａ６は、更新データ情報１０４ａの処理状況を表すために用いられる。なお、更新データ情報１０４ａが作成された段階では、処理フラグ１０４ａ６には、「未処理」が定義される。
【００９２】
処理サーバ情報１０４ａ７は、管理情報１０３ａ内で該当論理データと関連づけられている処理サーバ情報１０３ａ６を表す。
【００９３】
図１に戻って、制御部１０６は、記憶部１０３内の処理サーバ負荷情報１０３ｂを確認し、処理サーバ３１〜３ｉの稼働度に基づいて、管理情報１０３ａ内の処理サーバ情報１０３ａ６を設定したり変更したりする。
【００９４】
処理サーバ３１〜３ｉは、記憶部１０３内の論理データ１０３ａ４を参照し、複製元ＤＢ１０１において記憶部１０３内の論理データ１０３ａ４にて特定される対象データのうちの１つが更新された際に、複製元ＤＢ１０１内の対象データのうち、更新された対象データを含む更新データ情報１０４ａ（特には、複製データ１０４ａ４）、を用いて複製元ＤＢ１０１での対象データの更新を複製先ＤＢ２１または２２に反映する更新処理を実行する。分散値１０３ａ５によって、２以上の処理サーバ３１〜３ｉを用いる場合には、更新処理を分散処理にて実行する。
【００９５】
処理サーバ３１〜３ｉは、それぞれ、記憶部３０１と、処理部３０２と、負荷状況確認部３０３と、を含む。
【００９６】
処理部３０２は、例えば、ＣＰＵ（Central Processing Unit）およびメモリを含む。
【００９７】
処理部３０２は、管理システム１内の記憶部１０３から管理情報１０３ａを取得し、管理情報１０３ａを、自処理サーバ内の記憶部３０１に記憶する。
【００９８】
処理部３０２は、記憶部３０１内の管理情報１０３ａを参照して、管理システム１内の更新データ格納部１０４から、自己が処理すべき情報（更新データ情報１０４ａ）を取得する。
【００９９】
処理部３０２は、更新データ格納部１０３から取得した更新データ情報１０４ａを用いて、複製元ＤＢ１０１での対象データの更新を、複製先ＤＢ２１または２２に反映する。
【０１００】
なお、処理部３０２は、管理情報１０３ａに、複製データについての所定の処理内容を表す処理情報が付加されている場合、その処理情報に基づいて複製データに対して所定の処理を施し、所定の処理が施された複製データを用いて、複製先ＤＢ２１または２２内のデータを更新する。
【０１０１】
負荷状況確認部３０３は、自処理サーバの稼働度（例えば、自処理サーバ内の処理部３０２に含まれるＣＰＵやメモリの使用率）を検出し、自処理サーバの稼働度をサーバ負荷確認部１０４に送信する。
【０１０２】
次に、動作を説明する。
【０１０３】
（１）管理情報１０３ａの設定
管理情報１０３ａの設定については、例えば、図５に示した管理情報１０３ａが管理者端末５から入力され、制御部１０６が、入力された管理情報１０３ａを記憶部１０３に記憶する。
【０１０４】
また、制御部１０６が、管理者端末５から、論理データごとに、論理データ名１０３ａ２と論理データ１０３ａ４と複製先情報１０３ａ３と分散数１０３ａ５とを受け付けると、論理データ名１０３ａ２と論理データ１０３ａ４と複製先情報１０３ａ３と分散値１０３ａ５とに基づいて、処理サーバ情報１０３ａ６の欄を空欄とする管理情報１０３ａをまず作成し、その後、処理サーバ情報１０３ａ６の欄に、処理サーバ３１〜３ｉを割り当ててもよい。
【０１０５】
例えば、論理データＡを表す論理データ名１０３ａ２と、論理データＡを表す論理データ１０３ａ４と、論理データＡにて特定される対象データの複製先として複製先ＤＢ２１を表す複製先情報１０３ａ３と、論理データＡにて特定される対象データの複製先として複製先ＤＢ２２を表す複製先情報１０３ａ３と、ＩＤ情報Ａ１のデータを基準にして論理データＡにて特定される対象データの組み合わせを２つに分ける旨の分散値１０３ａ５（例えば、ＩＤ００１〜ＩＤ５００を番号１／２とし、ＩＤ５０１〜ＩＤ９９９を番号２／２とする値）が、入力された場合、制御部１０６は、以下の４つの管理情報１０３ａ（図５参照）を作成する。
【０１０６】
管理情報Ｎｏ．１の管理情報１０３ａでは、論理データ１０３ａ４が論理データＡを表し、複製先情報１０３ａ３が複製先ＤＢ２１を表し、分散値１０３ａ５が、ＩＤ００１〜ＩＤ５００を番号１／２とする値を表し、処理サーバ情報１０３ａ６が処理サーバ３１を表す。
【０１０７】
管理情報Ｎｏ．２の管理情報１０３ａでは、論理データ１０３ａ４が論理データＡを表し、複製先情報１０３ａ３が複製先ＤＢ２２を表し、分散値１０３ａ５が、ＩＤ００１〜ＩＤ５００を番号１／２とする値を表し、処理サーバ情報１０３ａ６が処理サーバ３２を表す。
【０１０８】
管理情報Ｎｏ．３の管理情報１０３ａでは、論理データ１０３ａ４が論理データＡを表し、複製先情報１０３ａ３が複製先ＤＢ２１を表し、分散値１０３ａ５が、ＩＤ５０１〜ＩＤ９９９を番号２／２とする値を表し、処理サーバ情報１０３ａ６が処理サーバ３３を表す。
【０１０９】
管理情報Ｎｏ．４の管理情報１０３ａでは、論理データ１０３ａ４が論理データＡを表し、複製先情報１０３ａ３が複製先ＤＢ２２を表し、分散値１０３ａ５が、ＩＤ５０１〜ＩＤ９９９を番号２／２とする値を表し、処理サーバ情報１０３ａ６が処理サーバ３４を表す。
【０１１０】
なお、制御部１０６は、管理情報１０３ａ内の処理サーバ情報１０３ａ６を空欄で設定しておき、処理サーバ３１〜３ｉのいずれかが管理情報１０３ａを取得する際に、その処理サーバを表す処理サーバ情報１０３ａ６を設定してもよい。
【０１１１】
また、制御部１０６は、管理情報１０３ａ内の処理サーバ情報１０３ａ６を空欄で設定しておき、処理サーバ３１〜３ｉの稼働度が低い順に、その処理サーバを表す処理サーバ情報１０３ａ６を設定してもよい。
【０１１２】
制御部１０６は、作成された管理情報１０３ａを記憶部１０３に記憶する。
【０１１３】
（２）処理サーバによる事前処理
処理サーバ３１〜３ｉでは、それぞれ、処理部３０２は、管理システム１の記憶部１０３内のすべての管理情報１０３ａを読み取り、すべての管理情報１０３ａを記憶部３０１に記憶する。
【０１１４】
続いて、処理部３０２は、記憶部３０１内の管理情報１０３ａを参照して、一連の更新処理を実行するためのプロセスを立上げる。なお、一連の更新処理とは、自己が処理すべき更新データ情報を取得し、その更新データ情報を用いて複製元ＤＢ２１または２２内のデータを更新するという処理である。
【０１１５】
例えば、記憶部１０３に、図５に示した管理情報１０３ａが記憶されている場合、処理サーバ３１〜３４は、それぞれ、以下のようにプロセスを立ち上げて、更新処理を担当する。
【０１１６】
処理サーバ３１は、管理情報Ｎｏ．１を処理するためのプロセスと、管理情報Ｎｏ．５を処理するためのプロセスと、を立上げる。
【０１１７】
処理サーバ３２は、管理情報Ｎｏ．２を処理するためのプロセスと、管理情報Ｎｏ．６を処理するための各プロセスと、を立上げる。
【０１１８】
処理サーバ３３は、管理情報Ｎｏ．３を処理するためのプロセスと、管理情報Ｎｏ．７を処理するためのプロセスと、を立上げる。
【０１１９】
処理サーバ３４は、管理情報Ｎｏ．４を処理するためのプロセスを立上げる。
【０１２０】
図７は、処理サーバ３１が、管理情報Ｎｏ．１とＮｏ．５を処理するための各プロセスを立上げ、処理サーバ３２が、管理情報Ｎｏ．２とＮｏ．６を処理するための各プロセスを立上げ、処理サーバ３３が、管理情報Ｎｏ．３とＮｏ．７を処理するための各プロセスを立上げ、処理サーバ３４が、管理情報Ｎｏ．４を処理するためのプロセスを立上げた状況を説明するための図である。
【０１２１】
（３）更新処理
更新部１０２は、利用者端末４から、複製元ＤＢ１０１に対するデータの登録、変更または削除などの更新依頼を受け付けると、複製元ＤＢ１０１に対して更新依頼に応じた更新を行う。
【０１２２】
複製元ＤＢ１０１でデータの更新が発生すると、もしくは、定期的に、制御部１０６は、どのテーブルのデータが更新されたかを確認し、記憶部１０３内の管理情報１０３ａを参照し、更新されたデータが論理データ１０３ａ４にて定義されたテーブルのデータか否かを判断する。
【０１２３】
更新されたデータが、論理データ１０３ａ４にて定義されたテーブルのデータ（対象データ）である場合、制御部１０６は、複製元ＤＢ１０１から、更新されたデータと、論理データ１０３ａ４にてその更新されたデータと組になっているデータ（以下「関連対象データ」とも称する）と、の組み合わせを、複製データ１０４ａ４として抽出する。
【０１２４】
続いて、制御部１０６は、複製データ１０４ａ４を抽出する際に用いた論理データ１０３ａ４を含む管理情報１０３ａを参照して、複製データ１０４ａ４を用いて更新データ情報１０４ａを作成し、その更新データ情報１０４ａを更新データ格納部１０４に追加記憶する（図６参照）。
【０１２５】
例えば、論理データＡの分散値が、ＩＤ情報：ＩＤ００１〜ＩＤ５００が番号１／２、ＩＤ情報：ＩＤ５００〜ＩＤ９００が番号２／２を表す値である状況で、ＩＤ情報「ＩＤ００１」の利用者が、住所情報のデータを「東京都□□・・・」に更新し、ＩＤ情報「ＩＤ５６７」の利用者が、住所情報のデータを「千葉県□□・・・」に更新した場合、これらの更新は、論理データＡにて定義されたテーブルＴＣの住所情報のデータＣ１Ｄの更新に該当するので、制御部１０６は、これら更新されたデータは対象データであると判断し、それらの住所情報に対応する関連対象データであるＩＤ情報とともに、以下の４つの更新データ情報を作成する。
【０１２６】
１つ目の更新データ情報は、処理Ｎｏ１０４ａ１が「１」であり、論理データ名１０４ａ２が「論理テータＡ」であり、複製先情報１０４ａ３が「複製先ＤＢ２１」であり、複製データ１０４ａ４が「ＩＤ情報：ＩＤ００１＋住所情報：東京都□□・・・」であり、分散値１０４ａ５が「１／２（ＩＤ００１〜ＩＤ５００を番号１／２とする値）」であり、処理フラグ１０４ａ６が「未処理」であり、処理サーバ情報１０４ａ７が「処理サーバ３１」である更新データ情報である。
【０１２７】
２つ目の更新データ情報は、処理Ｎｏ１０４ａ１が「２」であり、論理データ名１０４ａ２が「論理テータＡ」であり、複製先情報１０４ａ３が「複製先ＤＢ２２」であり、複製データ１０４ａ４が「ＩＤ情報：ＩＤ００１＋住所情報：東京都□□・・・」であり、分散値１０４ａ５が「１／２（ＩＤ００１〜ＩＤ５００を番号１／２とする値）」であり、処理フラグ１０４ａ６が「未処理」であり、処理サーバ情報１０４ａ７が「処理サーバ３２」である更新データ情報である。
【０１２８】
３つ目の更新データ情報は、処理Ｎｏ１０４ａ１が「３」であり、論理データ名１０４ａ２が「論理テータＡ」であり、複製先情報１０４ａ３が「複製先ＤＢ２１」であり、複製データ１０４ａ４が「ＩＤ情報：ＩＤ５６７＋住所情報：千葉県□□・・・」であり、分散値１０４ａ５が「１／２（ＩＤ５０１〜ＩＤ９９９を番号１／２とする値）」であり、処理フラグ１０４ａ６が「未処理」であり、処理サーバ情報１０４ａ７が「処理サーバ３３」である更新データ情報である。
【０１２９】
４つ目の更新データ情報は、処理Ｎｏ１０４ａ１が「４」であり、論理データ名１０４ａ２が「論理テータＡ」であり、複製先情報１０４ａ３が「複製先ＤＢ２２」であり、複製データ１０４ａ４が「ＩＤ情報：ＩＤ５６７＋住所情報：千葉県□□・・・」であり、分散値１０４ａ５が「１／２（ＩＤ５０１〜ＩＤ９９９を番号１／２とする値）」であり、処理フラグ１０４ａ６が「未処理」であり、処理サーバ情報１０４ａ７が「処理サーバ３４」である更新データ情報である。
【０１３０】
もし、分散値が１／２だけに該当するデータ（対象データ）が更新された場合、処理Ｎｏ．１と処理Ｎｏ．２との更新データ情報が作成される。
【０１３１】
このとき、制御部１０６は、論理データ（例えば、論理データＡ）に処理情報が付加されている場合、その処理情報も更新データ情報に追加する。
【０１３２】
次に、処理サーバ３１〜３ｉが行う更新動作を説明する。
【０１３３】
処理サーバ３１〜３ｉでは、それぞれ、処理部３０２が、定期的に、もしくは、管理システム１（例えば、制御部１０６）が複製元ＤＢ１０１を更新した旨の更新通知を例えばブロードキャストで通知する際にはその更新通知を受信した場合、もしくは、現在処理中のプロセスが終了すると、更新データ格納部１０４に接続する。
【０１３４】
続いて、処理部３０２は、記憶部３０１内の管理情報１０３ａの処理サーバ情報１０３ａ６に基づいて、もしくは、更新データ情報１０４ａの処理サーバ情報１０４ａ７に基づいて、更新データ格納部１０４から、自処理サーバが処理する処理Ｎｏの更新データ情報１０４ａを取得する。
【０１３５】
なお、管理システム１では、制御部１０６は、更新データ格納部１０４内の更新データ情報１０４ａのうち、処理サーバにて取得された更新データ情報１０４ａについては、その更新データ情報１０４ａ内の処理フラグ１０４ａ６の状態を「処理中」に変更する。
【０１３６】
例えば、処理サーバ３３内の処理部３０２は、記憶部３０１内の管理情報１０３ａの処理サーバ情報１０３ａ６に基づいて、自装置の更新すべき更新データ情報を論理データ名や分散値など（論理データ名：論理データＡ＆分散値：２／２の更新データ情報、または、論理データ名：論理データＢ＆分散値：３／３の更新データ情報）で特定し、もしくは、更新データ格納部１０４内の更新データ情報１０４ａ（図６）を確認し、処理サーバ情報１０４ａ７に基づいて、自装置の更新すべき更新データ情報の処理Ｎｏ（処理Ｎｏ．３の更新データ情報）で特定し、更新データ格納部１０４内の更新データ情報１０４ａのうちの特定した更新データ情報の中から未処理の更新データ情報である処理Ｎｏ．３の更新データ情報１０４ａを、処理サーバ３３で処理すべき更新データ情報として取得する。
【０１３７】
続いて、処理サーバ３３内の処理部３０２は、処理Ｎｏ．３の更新データ情報１０４ａを処理サーバ３３で取得した旨の更新データ取得通知を、管理システム１内の制御部１０６に送信する。
【０１３８】
制御部１０６は、処理Ｎｏ．３の更新データ情報１０４ａを処理サーバ３３で取得した旨の更新データ取得通知を受信すると、更新データ取得通知にて指定された処理Ｎｏ．３の更新データ情報１０４ａ内の処理フラグ１０４ａ６が表す情報を「未処理」から「処理中」に変更する。
【０１３９】
処理部３０２は、更新データ情報１０４ａを取得すると、更新データ情報１０４ａに処理情報が付加されている場合、更新データ情報１０４ａ内の複製データ１０４ａ４に対して、処理情報に応じた所定の処理を施す。なお、処理部３０２が、予め対象データの項目ごとに処理情報を記憶し、複製データ１０４ａ４内の対象データに対して、その対象データの項目の処理情報に応じた所定の処理を施してもよい。
【０１４０】
続いて、処理部３０２は、取得された更新データ情報１０４ａに対応する管理情報１０３ａ内の複製先情報１０３ａ３にて指定された複製先ＤＢに、複製データまたは加工された複製データを送信し、その複製先ＤＢ内の対応データのうち、複製データ１０４ａ４内の関連対象データについての対応データに関連づけられている対応データを、複製データ１０４ａ４内の更新されたデータ（対応データ）、または、所定の処理が施された、更新されたデータに更新する。
【０１４１】
例えば、更新前の対象データについての対応データが、更新前の対象データの複製である場合（更新データ情報１０４ａに処理情報が付加されていない場合）には、処理部３０２は、複製先ＤＢにおいて関連対象データについての対応データに関連づけられている対応データを、更新された対象データの複製に更新する。
【０１４２】
また、更新前の対象データについての対応データが、更新前の対象データに所定の処理を施した加工データである場合（更新データ情報１０４ａに処理情報が付加されている場合）には、処理部３０２は、複製先ＤＢにおいて関連対象データについての対応データに関連づけられている対応データを、更新された対象データに所定の処理を施した加工データに更新する。
【０１４３】
続いて、処理部３０２は、更新処理が完了した処理Ｎｏの更新データ情報１０４ａについて、更新処理が完了した旨の処理完了の報告を、管理システム１内の制御部１０６に送信する。
【０１４４】
制御部１０６は、処理完了の報告を受信すると、処理完了の報告を受けた更新データ情報１０４ａ内の処理フラグ１０４ａ６の状態を「処理済」に変更する。
【０１４５】
図８は、処理サーバによる更新データ情報の処理を表す図である。
【０１４６】
また、処理サーバ３１〜３ｉでは、処理部３０２は、負荷状況確認部３０３を使用して、自サーバの稼働度を確認する。なお、稼働度（例えば、負荷）を確認するタイミングは、定期的、または、複製先ＤＢ内のデータを更新する処理を完了したときでもよい。
【０１４７】
処理部３０２は、自サーバの稼働度を確認すると、自サーバの稼働度が一定の閾値を下回っていた場合、追加プロセスを立上げ、その後、更新データ格納部１０４内の更新データ情報１０４ａの処理フラグ１０４ａ６を確認する。
【０１４８】
続いて、処理部３０２は、「未処理」を表す処理フラグ１０４ａ６を含む処理データ情報１０４ａの中から、１つを、自処理サーバで処理すべき更新データ情報１０４ａとして取得する。
【０１４９】
続いて、処理部３０２は、その更新データ情報１０４ａを自処理サーバで取得した旨の担当サーバ変更通知を、管理システム１内の制御部１０６に送信する。
【０１５０】
制御部１０６は、担当サーバ変更通知を受信すると、担当サーバ変更通知にて指定された更新データ情報１０４ａ内の処理サーバ情報１０４ａ７が表す処理サーバを、担当サーバ変更通知の送信元の処理サーバに変更し、その処理サーバ情報１０４ａ内の処理フラグ１０４ａ６を「処理中」に変更する。
【０１５１】
なお、処理部３０２は、処理フラグ１０４ａ６が「未処理」である更新データ情報１０４ａを、処理サーバ情報１０４ａ７にて指定される処理サーバごとにカウントし、最もカウント値が大きい処理サーバの未処理の案件（更新データ情報１０４ａ）の中から、処理が代行される更新データ情報１０４ａを選択してもよい。
【０１５２】
以下、一例をあげて説明する。
【０１５３】
図９は、処理サーバ３１〜３３の稼働率（稼働度）と、更新データ格納部１０４内の更新データ情報と、の一例を示した図である。
【０１５４】
図９において、処理サーバ３１の稼働率が７０％、処理サーバ３２の稼働率が６０％、処理サーバ３３の稼働率が２０％である状況で、閾値が３０％であるとする。
【０１５５】
この場合、処理サーバ３３内の処理部３０２は、更新データ格納部１０４内の更新データ情報１０４ａ（図９）を確認し、「未処理」の更新データ情報が最も多い処理サーバ（以下「処理サーバ３１」とする）の未処理の更新データ情報である処理Ｎｏ．１の更新データ情報１０４ａを、処理サーバ３３で処理すべき更新データ情報として取得する。
【０１５６】
続いて、処理サーバ３３内の処理部３０２は、処理Ｎｏ．１の更新データ情報１０４ａを処理サーバ３３で取得した旨の担当サーバ変更通知を、管理システム１内の制御部１０６に送信する。
【０１５７】
制御部１０６は、処理Ｎｏ．１の更新データ情報１０４ａを処理サーバ３３で取得した旨の担当サーバ変更通知を受信すると、担当サーバ変更通知にて指定された処理Ｎｏ．１の更新データ情報１０４ａ内の処理サーバ情報１０４ａ７が表す処理サーバを、担当サーバ変更通知の送信元の処理サーバ３３に変更し、処理Ｎｏ．１の更新データ情報１０４ａ内の処理フラグ１０４ａ６を「処理中」に変更する。
【０１５８】
図１０は、処理サーバによる更新データ情報の代行処理を表す図である。
【０１５９】
なお、処理サーバ３３内の処理部３０２が、稼働率が最も高い処理サーバの未処理の更新データ情報１０４ａのいずれかを、処理サーバ３３で処理すべき更新データ情報として取得してもよい。その場合、処理サーバ３１〜３ｉでは、負荷状況確認部３０３は、管理システム１内のサーバ負荷確認部１０５に、自処理サーバの稼働度を、定期的に、もしくは、更新データ情報１０４ａの取得時などに、通知する。サーバ負荷確認部１０５は、各処理サーバの稼働度を、処理サーバ負荷情報１０３ｂとして記憶する。
【０１６０】
次に、本実施形態の効果について説明する。
【０１６１】
本実施形態では、記憶部１０３は、対象データを特定するための論理データ（対象データ特定情報）を記憶する。
【０１６２】
処理サーバ３１〜３ｉは、記憶部１０３内の論理データを参照し、複製元ＤＢ１０１において論理データにて特定される対象データのうちの１つが更新された際に、複製元ＤＢ１０１内の対象データのうち、更新された対象データを含む複製データ（更新処理用データ）、を用いて複製元ＤＢ１０１での対象データの更新を複製先ＤＢ２１または２２に反映する更新処理を実行する。
【０１６３】
このため、複製元ＤＢ１０１内のデータのうち、複製先ＤＢ２１または２２での対応データの更新に必要となる更新処理用データだけが、大きなタイムラグなく、１以上の複製元ＤＢに提供される。
【０１６４】
複製元ＤＢ１０１内のデータのうち、複製先ＤＢ２１または２２での対象データの更新に必要となる更新処理用データだけが用いられることで、例えば、複製元ＤＢ１０１のテーブルの一箇所が更新された場合、複製元ＤＢ１０１のテーブル全てを複製しなくてもよくなる。また、論理データにて特定されるデータについて処理を行うことにより、複製対象となるデータ量（情報量）が絞られるため、データ通信の帯域の確保や処理サーバでの処理数の削減を行うことが可能になり、効率化を図ることが可能になる。
【０１６５】
したがって、不必要なデータの更新処理を抑制でき、かつ、更新処理の負荷が１台の処理サーバに集中することを抑制することが可能になる。
【０１６６】
本実施形態では、複製先ＤＢ１０１では、各対象データは、他の１以上の対象データ（関連対象データ）と関連づけられており、複製先ＤＢ２１および２２では、それぞれ、各対応データは、その対応データの元となる対象データと関連づけられている対象データ（関連対象データ）についての対応データである関連対応データと関連づけて記憶されている。複製データは、更新された対象データと、その更新された対象データに関連づけられた対象データである関連対象データと、を含む。
【０１６７】
処理サーバ３１〜３ｉは、複製先ＤＢ２１または２２において関連対象データについての対応データに関連づけられている対応データを、更新された対象データについての対応データに更新する、という更新処理を実行する。
【０１６８】
このため、複製先ＤＢ２１または２２で更新の対象となる対応データを、関連対象データを用いて特定することが可能になる。
【０１６９】
本実施形態では、記憶部１０３は、各対象データについて、複製元ＤＢ１０１内の該対象データの更新を複製元ＤＢ２１または２２に反映する更新処理を実行する処理サーバである実行処理サーバを指定するための処理サーバ情報（サーバ指定情報と分散値）を記憶する。
【０１７０】
処理サーバ３１〜３ｉの各々は、自サーバが処理サーバ情報にて実行処理サーバとして指定された特定対象データが更新された場合に、更新された特定対象データと、更新された特定対象データに関連づけられた関連対象データと、を用いて、更新処理を実行する。
【０１７１】
このため、対象データに対して実行処理サーバを指定することが可能になる。
【０１７２】
本実施形態では、制御部１０６は、複製元ＤＢ１０１内の対象データの更新に伴い、記憶部１０３内の論理データを参照して、複製元ＤＢ１０１内の、更新された対象データと、更新された対象データに関連づけられた関連対象データと、を互いに関連づけて更新データ格納部１０４に格納する。
【０１７３】
処理サーバ３１〜３ｉの各々は、自サーバが処理サーバ情報にて実行処理サーバとして指定された状況で特定対象データが更新された場合に、更新データ格納部１０４内の、更新された特定対象データと、更新された特定対象データに関連づけられた関連対象データと、を用いて更新処理を実行する。
【０１７４】
このため、制御部１０６が、更新処理に使用されるデータを準備し、処理サーバ３１〜３ｉの各々は、準備されたデータを用いて更新処理を行うことが可能になる。
【０１７５】
本実施形態では、処理サーバ３１〜３ｉの各々は、自サーバの稼働度が所定の稼働度よりも低い場合、他の処理サーバを実行処理サーバとして指定するための処理サーバ情報に対応する対象データの更新結果と、その対象データの更新結果と関連づけられた関連対象データと、を用いた更新処理を、他の処理サーバに代わって実行する。
【０１７６】
このため、処理サーバ間で負荷に差異がある場合、負荷の少ない処理サーバが未処理の複製データを処理することで、処理サーバ３１〜３ｉでの分散処理を効率的に行うことが可能になる。
【０１７７】
なお、他の処理サーバは、処理サーバ３１〜３ｉのうち、その処理サーバに割り当てられた更新処理の未実施数が最も多い処理サーバ、または、処理サーバ３１〜３ｉのうち、稼働度が最も高い処理サーバであることが望ましい。この場合、処理サーバ３１〜３ｉでの分散処理を効率的に行える。
【０１７８】
なお、処理サーバが、代行する更新処理を決定せずに、管理システム１（例えば、制御部１０６）が、各処理サーバの稼働度に基づいて、処理サーバ情報を変更してもよい。
【０１７９】
例えば、制御部１０６は、記憶部１０３内の処理サーバ負荷情報１０３ｂを参照し、処理サーバ３１〜３ｉの中に、定められた閾値よりも稼働度が低い処理サーバ（以下「低稼働処理サーバ」と称する）がある場合、更新データ情報のうち、更新データ情報の未処理の件数が多いまたは稼働度が高い処理サーバに割り当てられている更新データ情報を、低稼働処理サーバに割り当てるために、その更新データ情報内の処理サーバ情報が指定する処理サーバ、または、その処理サーバ情報を作成する際に使用した管理情報内の処理サーバ情報が指定する処理サーバを、低稼働処理サーバに変更する。
【０１８０】
この場合、処理サーバが、代行する更新処理を決定する処理を行う場合に比べて、処理サーバの負荷を低くすることが可能になる。
【０１８１】
なお、上記実施形態では、分散値として、ＩＤ００１〜ＩＤ５００を番号１／２とし、ＩＤ５０１〜ＩＤ９９９を２／２とする値を示したが、分散値は、適宜変更可能である。
【０１８２】
例えば、商品名のデータを３分割する場合、商品名が「あ」行で始まるデータから「さ」行で始まるデータまでを番号１／３とし、商品名が「た」行で始まるデータから「は」行で始まるデータまでを番号２／３とし、商品名が「ま」行で始まるデータから「わ」行で始まるデータまでを番号３／３とする値を、分散値として用いてもよい。
【０１８３】
また、更新処理を複数のサーバに分散させる手法は、分散ハッシュテーブルを用いたものなど適宜変更可能である。
【０１８４】
また、本実施形態では、１つの管理情報に対して１つの処理サーバが実行処理サーバとして割り当てられたが、冗長化のため、１つの管理情報に対して複数の処理サーバが実行処理サーバとして割り当てられてもよい。
【０１８５】
また、図１に示した管理システム１のうち、複製元ＤＢ１０１を除いたものは、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能なＣＤ−ＲＯＭ（Compact Disk Read Only Memory）のような記録媒体に記録されたプログラムを読込み実行することによって、更新部１０２、記憶部１０３、更新データ格納部１０４、サーバ負荷確認部１０５および制御部１０６として機能する。記録媒体は、ＣＤ−ＲＯＭに限らず適宜変更可能である。
【０１８６】
また、各処理サーバは、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能な記録媒体に記録されたプログラムを読込み実行することによって、記憶部３０１、処理部３０２および負荷状況確認部３０３として機能する。
【０１８７】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【符号の説明】
【０１８８】
１００      データベース管理システム
１      管理システム
１０１  複製元ＤＢ
１０２  更新部
１０３  記憶部
１０４  更新データ格納部
１０５  サーバ負荷確認部
１０６  制御部
２１、２２  複製先ＤＢ
３１〜３ｉ  処理サーバ
３０１  記憶部
３０２  処理部
３０３  負荷状況確認部
４      利用者端末
５      管理者端末
【図１】
2014099037.tif 000003
【図２】
2014099037.tif 000004
【図３】
2014099037.tif 000005
【図４】
2014099037.tif 000006
【図５】
2014099037.tif 000007
【図６】
2014099037.tif 000008
【図７】
2014099037.tif 000009
【図８】
2014099037.tif 000010
【図９】
2014099037.tif 000011
【図１０】
2014099037.tif 000012