(57)【特許請求の範囲】
【請求項１】
データを複数のデータ保持装置で冗長化して保持するデータ保持システムであって、
前記データ保持装置は、
実データと当該実データから生成された付随データを記憶する記憶手段と、
実データあるいは実データと付随データを含む更新データを受信する受信手段と、
前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させる更新手段と、
前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信する複製手段と、を備えること
を特徴とするデータ保持システム。
【請求項２】
前記データ保持装置は、前記記憶手段、前記受信手段、前記更新手段、前記複製手段を有するデータ保持部を複数個備えるものであって、
データを受信して更新した前記データ保持部は、同一データ保持装置内の別の前記データ保持部に前記更新データを送信することを特徴とする請求項１記載のデータ保持システム。
【請求項３】
データを受信して保持するデータ保持装置であって、
実データと当該実データから生成された付随データを記憶する記憶手段と、
実データあるいは実データと付随データを含む更新データを受信する受信手段と、
前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させる更新手段と、
前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信する複製手段と、を備えること
を特徴とするデータ保持装置。
【請求項４】
前記データ保持装置は、前記記憶手段、前記受信手段、前記更新手段、前記複製手段を有するデータ保持部を複数個備えるものであって、
データを受信して更新した前記データ保持部は、同一データ保持装置内の別の前記データ保持部に前記更新データを送信することを特徴とする請求項３記載のデータ保持装置。
【請求項５】
実データと当該実データから生成された付随データを記憶する記憶手段を備えたデータ保持装置がデータを受信して保持するデータ保持方法であって、
受信手段による、実データあるいは実データと付随データを含む更新データを受信するステップと、
更新手段による、前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させるステップと、
複製手段による、前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信するステップと、を有すること
を特徴とするデータ保持方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを冗長化する技術に関する。
【背景技術】
【０００２】
複数のサーバで同じデータを保持してデータを冗長化する方法がある。例えば、サーバの構成をＡＣＴ−ＳＢＹとし、ＡＣＴ系とＳＢＹ系とでメモリの内容を一致させる。また、このような構成のサーバを複数台用意し、複数のサーバ間でもメモリの内容を一致させる方法がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０７０６３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
あるサーバが停止しても、別のサーバが代わりに動作することを保証するためには、データを冗長化する際に、サーバ間でのメモリの内容の正確な一致が必要となる。具体的には、各サーバは保持対象のデータの他に、検索のためのハッシュテーブルやシノニムテーブルを保持するので、これらのデータもサーバ間で一致させる必要がある。
【０００５】
従来技術として、レプリケーションにおいて、保持対象のデータのみをサーバ間でコピーし、コピー先のサーバでハッシュテーブルやシノニムテーブルを構築する技術があるが、レプリケーションに際し、ハッシュテーブルやシノニムテーブルの構築の時間がかかるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであり、データの効率的なレプリケーション手法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明に係るデータ保持システムは、データを複数のデータ保持装置で冗長化して保持するデータ保持システムであって、前記データ保持装置は、実データと当該実データから生成された付随データを記憶する記憶手段と、実データあるいは実データと付随データを含む更新データを受信する受信手段と、前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させる更新手段と、前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信する複製手段と、を備えることを特徴とする。
【０００８】
上記データ保持システムにおいて、前記データ保持装置は、前記記憶手段、前記受信手段、前記更新手段、前記複製手段を有するデータ保持部を複数個備えるものであって、データを受信して更新した前記データ保持部は、同一データ保持装置内の別の前記データ保持部に前記更新データを送信することを特徴とする。
【０００９】
第２の本発明に係るデータ保持装置は、データを受信して保持するデータ保持装置であって、実データと当該実データから生成された付随データを記憶する記憶手段と、実データあるいは実データと付随データを含む更新データを受信する受信手段と、前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させる更新手段と、前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信する複製手段と、を備えることを特徴とする。
【００１０】
第３の本発明に係るデータ保持方法は、実データと当該実データから生成された付随データを記憶する記憶手段を備えたデータ保持装置がデータを受信して保持するデータ保持方法であって、受信手段による、実データあるいは実データと付随データを含む更新データを受信するステップと、更新手段による、前記受信手段が実データを受信した場合は、当該実データを前記記憶手段に記憶させるとともに、当該実データに付随する付随データを生成して前記記憶手段に記憶させ、前記受信手段が更新データを受信した場合は、当該更新データに含まれる実データと付随データを前記記憶手段に記憶させるステップと、複製手段による、前記更新手段が実データと付随データを前記記憶手段に記憶させたときに、前記記憶手段から前記実データと前記付随データを読み出して更新データとして別の前記データ保持装置に送信するステップと、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、データの効率的なレプリケーション手法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態におけるデータ保持システムの構成を示す機能ブロック図である。
【図２】本実施の形態におけるデータ保持システムがデータを更新する処理の流れを示すシーケンス図である。
【図３】本実施の形態における別のデータ保持システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を用いて説明する。
【００１４】
図１は、本実施の形態におけるデータ保持システムの構成を示す機能ブロック図である。図１に示すデータ保持システムは、複数のデータ保持装置１Ａ，１Ｂを備え、データ投入端末２から送信されるデータをデータ保持装置１Ａ，１Ｂそれぞれで保持し、いずれかのデータ保持装置１Ａが停止しても別のデータ保持装置１Ｂが代わりに動作することができる。データ投入端末２から送信されるデータは、データ保持システムのうちの１つのデータ保持装置１Ａが受信し、受信したデータ保持装置１Ａが他のデータ保持装置１Ｂに更新データを送信することでデータ保持装置１Ａ，１Ｂそれぞれでデータ投入端末２から送信されるデータを保持する。データ保持装置１Ａ，１Ｂが備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはデータ保持装置１Ａ，１Ｂが備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。以下、データ保持装置１Ａの構成について説明する。
【００１５】
データ保持装置１Ａは、送受信部１１１、データ更新部１１２、レプリケーション部１１３、及び記憶部１１４を備えたデータ保持部１１を有する。
【００１６】
送受信部１１１は、データ投入端末２からデータを受信してデータ更新部１１２に送り、データの更新が完了したときに更新結果をデータ投入端末２へ返信する。
【００１７】
データ更新部１１２は、送受信部１１１が受信したデータに基づいて記憶部１１４が保持するデータを更新する。データ投入端末２からデータを受信したときは、受信したデータで実データを更新し、仮登録データ、ハッシュ、シノニム等の実データに付随するデータを生成して記憶部１１４が保持するデータを更新する。データ更新部１１２は、記憶部１１４が保持するデータを更新すると、レプリケーション部１１３にレプリケーション依頼を送信する。
【００１８】
レプリケーション部１１３は、レプリケーション依頼を受信すると、記憶部１１４からレプリケーション対象のデータを読み出して更新データとして別のデータ保持装置１Ｂに送信した後、データ保持装置１Ｂから更新結果を受信して送受信部１１１へ通知する。レプリケーション対象のデータは、実データと実データから生成された実データに付随するデータである。レプリケーション対象のデータは予め決められている。本実施の形態では、記憶部１１４に記憶された実データ、仮登録データ、ハッシュ、シノニムがレプリケーション対象のデータであり、データ更新部１１２によって更新された、実データ、仮登録データ、ハッシュ、シノニムをまとめて更新データとする。
【００１９】
記憶部１１４は、実データと実データに付随するデータを保持する。図１では、記憶部１１４が保持するデータとして、実データ、仮登録データ、ハッシュ、シノニムを図示している。
【００２０】
データ保持装置１Ａに接続されたデータ保持装置１Ｂもデータ保持装置１Ａと同様のデータ保持部１１を備える。データ保持装置１Ｂは、データ投入端末２から直接データを受信するのではなく、データ保持装置１Ａから更新データを受信する。データ保持装置１Ｂのデータ更新部１１２は、受信した更新データに実データ以外の付随するデータが含まれているので、実データから付随するデータを生成するのではなく、受信した更新データを記憶部１１４に記憶させてデータを更新し、データ保持装置１Ａ，１Ｂ間で記憶部１１４の内容を一致させる。データ保持装置１Ｂは、データの更新が完了するとデータ保持装置１Ａに更新結果を返信する。
【００２１】
なお、データ保持装置１Ａにさらに別のデータ保持装置が接続されている場合は、データ保持装置１Ａのレプリケーション部１１３は、そのデータ保持装置にも更新データを送信して更新結果を受信する。このとき、データ保持装置１Ａは、更新データを送信した全てのデータ保持装置から更新結果を受信した後、データ投入端末２に更新結果を返信する。
【００２２】
次に、本実施の形態におけるデータ保持システムの処理の流れについて説明する。
【００２３】
図２は、本実施の形態におけるデータ保持システムがデータを更新する処理の流れを示すシーケンス図である。
【００２４】
データ保持装置１Ａの送受信部１１１は、データ投入端末２からデータを受信し（ステップＳ１１）、受信したデータをデータ更新部１１２へ送信する（ステップＳ１２）。
【００２５】
データ更新部１１２は、受信したデータで記憶部１１４上のデータを更新する（ステップＳ１３）。
【００２６】
データの更新が完了すると、データ更新部１１２は、レプリケーション依頼をレプリケーション部１１３に送信する（ステップＳ１４）。
【００２７】
レプリケーション部１１３は、レプリケーション依頼を受信すると、記憶部１１４からデータを取得し（ステップＳ１５）、取得したデータを更新データとしてデータ保持装置１Ｂに送信する（ステップＳ１６）。
【００２８】
データ保持装置１Ｂは、更新データを受信し、受信した更新データで自身のデータ保持部１１の記憶部１１４が保持するデータを更新する（ステップＳ１７）。データの更新が完了すると、更新結果をデータ保持装置１Ａに返信する（ステップＳ１８）。
【００２９】
更新データを送信した全てのデータ保持装置１Ｂから更新結果を受信すると全データ保持装置のデータの更新が完了したと判定し（ステップＳ１９）、送受信部１１１を介して更新結果をデータ投入端末２に返信する（ステップＳ２０，Ｓ２１）。
【００３０】
次に、本実施の形態における別のデータ保持システムについて説明する。
【００３１】
図３は、本実施の形態における別のデータ保持システムの構成を示すブロック図である。図３に示すデータ保持システムは、データ保持装置１Ａ，１Ｂ，１Ｃそれぞれが複数のデータ保持部１１を備える点で図１に示すものと異なる。
【００３２】
データ保持装置１Ａは、データ投入端末２からデータを受信すると、データ保持装置１Ｂに更新データを送信するとともに、データ保持装置１Ａが備えたもう一方のデータ保持部１１にも更新データを送信する。これにより、データ保持装置１Ａの２つのデータ保持部１１には同じデータが保持される。その結果、一方のデータ保持部１１が停止してももう一方のデータ保持部１１により動作を継続することができる。
【００３３】
また、データ保持装置１Ｂ，１Ｃも同様に、データ保持装置１Ａから更新データを受信したデータ保持部１１は、同じデータ保持装置１Ｂ，１Ｃ内の他のデータ保持部１１にも更新データを送信し、更新結果を受信する。各データ保持装置１Ｂ，１Ｃは、全てのデータ保持部１１から更新結果を受信するとデータ保持装置１Ａに更新結果を返信する。
【００３４】
データ保持部１１を複数有することで、いずれかのデータ保持部１１がデータの更新に失敗した場合でも、他のデータ保持部１１のいずれかがデータの更新に成功していればデータ保持装置１Ａ，１Ｂ，１Ｃとしてはデータの更新が成功しているので、データの更新が失敗したデータ保持部１１のデータの更新の成功を待つことなく更新結果を返信し、データの更新を速くできる。
【００３５】
以上説明したように、本実施の形態によれば、レプリケーション部１１３が記憶部１１４から実データに加えて実データから生成された仮登録データ、ハッシュ、シノニムなどのデータを取得して更新データとして別のデータ保持装置１Ｂに送信し、データ保持装置１Ｂが更新データにより記憶部１１４のデータを更新することで、データ保持装置１Ｂで実データに付随するデータを生成する必要がなくなるので、効率的にデータ保持装置１Ａ，１Ｂの記憶部１１４の内容を正確に一致させることができる。
【符号の説明】
【００３６】
１Ａ，１Ｂ，１Ｃ…データ保持装置
１１…データ保持部
１１１…送受信部
１１２…データ更新部
１１３…レプリケーション部
１１４…記憶部
２…データ投入端末
【図１】
0005432959.tif 000002
【図２】
0005432959.tif 000003
【図３】
0005432959.tif 000004