(57)【特許請求の範囲】
【請求項１】
互いに関連する複数のデータを、データ毎に更新時刻を示すタイムスタンプと対応づけて分散記憶する分散データベースサーバと、
前記複数のデータが互いに整合しているタイミングにおいて、前記互いに関連する複数のデータを、前記分散データベースサーバから取得して記憶し、当該記憶した時刻であるバックアップ時刻を制御装置に通知するバックアップサーバと、
前記バックアップ時刻を記憶する前記制御装置と、を備え、
前記制御装置は、
前記バックアップサーバに記憶された前記複数のデータのうち、バックアップ対象データを除く各データのタイムスタンプと前記バックアップ時刻とを比較し、少なくとも１つのデータのタイムスタンプが前記バックアップ時刻より後の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合しない可能性があると判定し、
前記バックアップ対象データを除く全てのデータのタイムスタンプが、前記バックアップ時刻以前の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合すると判定すること
を特徴とするデータ分散管理システム。
【請求項２】
前記バックアップサーバは、前記複数のデータが互いに整合すると判定された場合、前記バックアップ対象データを前記分散データベースサーバに送信して記憶させる
ことを特徴とする請求項１記載のデータ分散管理システム。
【請求項３】
データ分散管理システムの動作方法であって、
前記データ分散管理システムは、互いに関連する複数のデータを、データ毎に更新時刻を示すタイムスタンプと対応づけて分散記憶する分散データベースサーバと、前記複数のデータが互いに整合しているタイミングにおいて、前記互いに関連する複数のデータを、前記分散データベースサーバから取得して記憶し、当該記憶した時刻であるバックアップ時刻を制御装置に通知するバックアップサーバと、前記バックアップ時刻を記憶する前記制御装置と、を備え、
前記制御装置は、
前記バックアップサーバに記憶された前記複数のデータのうち、バックアップ対象データを除く各データのタイムスタンプと前記バックアップ時刻とを比較し、
少なくとも１つのデータのタイムスタンプが前記バックアップ時刻より後の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合しない可能性があると判定し、
前記バックアップ対象データを除く全てのデータのタイムスタンプが、前記バックアップ時刻以前の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合すると判定すること
を特徴とするデータ分散管理システムの動作方法。
【請求項４】
前記バックアップサーバが、前記複数のデータが互いに整合すると判定された場合、前記バックアップ対象データを前記分散データベースサーバに送信して記憶させる
ことを特徴とする請求項３記載のデータ分散管理システムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分散管理システムとその動作方法に関する。
【背景技術】
【０００２】
従来においては、例えば、複数のデータを分散データベースサーバに分散記憶し、バックアップサーバにバックアップする。分散データベースサーバにおいて、あるデータを記憶した記憶装置の故障によりデータを紛失し、その後、記憶装置が復旧した場合、バックアップサーバにバックアップしたデータを分散データベースサーバに送信し、レストアする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２８２７６１号公報
【特許文献２】特開２００１−１５６７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えば故障中に他のデータが更新され、これにより、レストアしたデータが相対的に古いものとなり、すなわち、各データが互いに整合しないこととなる可能性がある。
【０００５】
この場合、レストアしたデータが更新され、新しいものとなったときに、各データが互いに整合することとなる。
【０００６】
よって、それまでは、データをサービス提供等に使用できないという不都合がある。
【０００７】
本発明は、上記従来の課題に鑑みてなされたものであり、複数のデータの一部をレストアした場合においてデータが互いに整合しない可能性があるか否かを判定可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、第１の本発明であるデータ分散管理システムは、互いに関連する複数のデータを、データ毎に更新時刻を示すタイムスタンプと対応づけて分散記憶する分散データベースサーバと、 前記複数のデータが互いに整合しているタイミングにおいて、前記互いに関連する複数のデータを、前記分散データベースサーバから取得して記憶し、当該記憶した時刻であるバックアップ時刻を制御装置に通知するバックアップサーバと、 前記バックアップ時刻を記憶する前記制御装置と、を備え、前記制御装置は、前記バックアップサーバに記憶された前記複数のデータのうち、バックアップ対象データを除く各データのタイムスタンプと前記バックアップ時刻とを比較し、少なくとも１つのデータのタイムスタンプが前記バックアップ時刻より後の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合しない可能性があると判定し、前記バックアップ対象データを除く全てのデータのタイムスタンプが、前記バックアップ時刻以前の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合すると判定することを特徴とする。
【０００９】
第２の本発明であるデータ分散管理システムの動作方法は、前記データ分散管理システムは、互いに関連する複数のデータを、データ毎に更新時刻を示すタイムスタンプと対応づけて分散記憶する分散データベースサーバと、前記複数のデータが互いに整合しているタイミングにおいて、前記互いに関連する複数のデータを、前記分散データベースサーバから取得して記憶し、当該記憶した時刻であるバックアップ時刻を制御装置に通知するバックアップサーバと、前記バックアップ時刻を記憶する前記制御装置と、を備え、前記制御装置は、前記バックアップサーバに記憶された前記複数のデータのうち、バックアップ対象データを除く各データのタイムスタンプと前記バックアップ時刻とを比較し、少なくとも１つのデータのタイムスタンプが前記バックアップ時刻より後の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合しない可能性があると判定し、前記バックアップ対象データを除く全てのデータのタイムスタンプが、前記バックアップ時刻以前の時刻の場合、前記バックアップ対象データを前記分散データベースサーバに記憶した場合に、前記複数のデータが互いに整合すると判定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数のデータの一部をレストアした場合においてデータが互いに整合しない可能性があるか否かを判定できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係わるデータ分散管理システムを示す図である。
【図２】互いに関連する複数のデータを分散させて記憶する例を示す図である。
【図３】データとタイムスタンプの例を示す図である。
【図４】データ分散管理システムの動作の例を示すシーケンス図である。
【図５】図４におけるステップＳ６１の判定方法を示すフローチャートである。
【図６】データが互いに整合しない可能性があるか否か判定できる理由を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明の実施の形態に係わるデータ分散管理システムを示す図である。
【００１４】
データ分散管理システム１は、分散データベースサーバ１１、バックアップサーバ１２及び制御装置１３を通信回線で接続したものであり、分散データベースサーバ１１は、サービス提供装置２に通信回線を介して接続される。
【００１５】
分散データベースサーバ１１は、複数の記憶装置Ａ１、Ａ２、Ａ３、…を備え、バックアップサーバ１２も、複数の記憶装置Ｂ１、Ｂ２、Ｂ３、…を備える。
【００１６】
分散データベースサーバ１１は、互いに関連する複数のデータを記憶装置Ａ１、Ａ２、Ａ３、…に分散させて記憶する。分散データベースサーバ１１は、このような複数のデータを複数記憶する。分散データベースサーバ１１は、サービス提供装置２からデータを要求されたならば、要求されたデータをサービス提供装置２に送信する。このデータにより、サービス提供装置２は、ユーザに対してサービスを提供する。サービスは、例えば、通信サービスなどであるが、他のサービスでもよい。
【００１７】
バックアップサーバ１２は、分散データベースサーバ１１が記憶した互いに関連する複数のデータを受信し、バックアップとして、記憶装置Ｂ１、Ｂ２、Ｂ３、…に分散させて記憶する。バックアップサーバ１２は、分散データベースサーバ１１の記憶装置の故障によりデータが紛失し、その後、記憶装置が復旧した場合、バックアップとして記憶したデータを分散データベースサーバ１１に送信し、データをレストアする。
【００１８】
図２は、互いに関連する複数のデータを分散させて記憶する例を示す図である。
【００１９】
記憶装置Ａ１は、互いに関連するデータＤ１、Ｄ２、Ｄ３、Ｄ４のうちのデータＤ１を記憶する。記憶装置Ａ２は、データＤ２を記憶し、記憶装置Ａ３は、データＤ３、Ｄ４を記憶する。
【００２０】
記憶装置Ｂ１は、データＤ１、Ｄ２を記憶する。記憶装置Ｂ２は、データＤ３を記憶し、記憶装置Ｂ３は、データＤ４を記憶する。
【００２１】
なお、これは互いに関連する複数のデータの１組についての例示であり、他のものについても同じとする必要はない。記憶装置数も３に限らない。
【００２２】
図３は、データとタイムスタンプの例を示す図である。
【００２３】
分散データベースサーバ１１において各データは、データの更新タイミングを示すタイムスタンプに対応づけて記憶される。図は、データＤ１が、１０月１日の１０時００分に更新されたことを示すタイムスタンプに対応づけて記憶される様子を示す。なお、タイムスタンプの粒度は任意であり、秒まで示すものであってもよい。
【００２４】
図４は、データ分散管理システムの動作の例を示すシーケンス図である。
【００２５】
分散データベースサーバ１１は、図２に示すようにデータＤ１〜Ｄ４を記憶し、データにはタイムスタンプが対応づけられていることする。この時点でデータＤ１〜Ｄ４は互いに整合していることとする（Ｓ１）。
【００２６】
例えば、記憶装置Ａ１でデータＤ１およびタイムスタンプが更新され（Ｓ３）、これにより、例えば、データＤ１〜Ｄ４は互いに整合しないこととなる（Ｓ５）。
【００２７】
次に、記憶装置Ａ２でデータＤ２およびタイムスタンプが更新される（Ｓ１３）。例えば、データＤ１〜Ｄ４は互いに整合しないままである（Ｓ５）。
【００２８】
次に、記憶装置Ａ３でデータＤ３、Ｄ４およびタイムスタンプが更新され（Ｓ２３）、これにより、例えば、データＤ１〜Ｄ４は互いに整合する（Ｓ２５）。
【００２９】
バックアップサーバ１２は、このようにデータＤ１〜Ｄ４が互いに整合しているタイミングにバックアップを行う。つまり、分散データベースサーバ１１は、データＤ１〜Ｄ４をバックアップサーバ１２に送信し（Ｓ３１）、バックアップサーバ１２は、データＤ１〜Ｄ４を受信する（Ｓ３３）。データにタイムスタンプを対応づけて送受信するか否かは任意である。また、データが互いに整合しているタイミングで毎回バックアップを行わなくてもよい。
【００３０】
例えば、図２に示すように、記憶装置Ｂ１はデータＤ１、Ｄ２を記憶し（Ｓ３５）、記憶装置Ｂ２はデータＤ３を記憶し（Ｓ３７）、記憶装置Ｂ３はデータＤ４を記憶する（Ｓ３９）。
【００３１】
バックアップサーバ１２は、データがバックアップサーバ１２に記憶されたタイミングであるバックアップタイミングを制御装置１３に通知し（Ｓ４１）、制御装置１３は、バックアップタイミングを記憶する（Ｓ４３）。
【００３２】
一方、分散データベースサーバ１１では、例えば、記憶装置Ａ２が故障してデータＤ２が紛失する（Ｓ５１）。その後、記憶装置Ａ２が復旧するが（Ｓ５３）、記憶装置Ａ２にはデータＤ２がまだリストアされてない（存在しない）。
【００３３】
分散データベースサーバ１１は、データＤ２を記憶装置Ａ２に記憶させるべく、制御装置１３に対し、データＤ２を除く各データＤ１、Ｄ３、Ｄ４に対応づけられたタイムスタンプ（３つのタイムスタンプ）を含むレストア要求（データＤ２のレストア要求）を送信する（Ｓ５５）。
【００３４】
制御装置１３は、レストア要求を受信し、仮にデータＤ２をバックアップサーバ１２から分散データベースサーバ１１に送信して記憶させた場合（仮にレストアした場合）においてはデータが整合しない可能性があるか否かを判定する（Ｓ６１）。この判定の詳細については後述する。
【００３５】
制御装置１３は、例えば、データＤ２をレストアした場合においてはデータが互いに整合すると判定したなら、制御装置１３にデータＤ２のレストア命令を送信する（Ｓ６３）。
【００３６】
バックアップサーバ１２は、レストア命令により、データＤ２を分散データベースサーバ１１に送信し（Ｓ７１）、分散データベースサーバ１１はデータＤ２を受信する（Ｓ７３）。
【００３７】
記憶装置Ａ２は、受信したデータＤ２を記憶する（Ｓ７５）。判定どおり、データＤ１〜Ｄ４は互いに整合する（Ｓ７７）。
【００３８】
例えば、分散データベースサーバ１１は、サービス提供装置２に対し要求されたデータを送信し、サービス提供を可能とする。
【００３９】
なお、ステップＳ６１の判定は、ステップＳ７５まで終了してから行ってもよい。このステップＳ６１でデータが互いに整合すると判定された場合は、例えば、分散データベースサーバ１１は、サービス提供装置２に対し、要求されたデータを送信し、サービス提供を可能とする。一方、データが互いに整合しない可能性があると判定されたなら、分散データベースサーバ１１は、データ送信を行わず、これにより、不整合に起因する問題の発生を防止できる。
【００４０】
図５は、図４におけるステップＳ６１の判定方法を示すフローチャートである。
【００４１】
まず、レストア要求内の１つのタイムスタンプにつき、タイムスタンプのタイミングとバックアップタイミングを比較し、タイムスタンプがバックアップタイミングより後のタイミングを示すか否かを判定する（Ｔ１）。タイムスタンプがバックアップタイミングより後のタイミングを示すならば（Ｔ１：ＹＥＳ）、データをレストアした場合においてはデータが互いに整合しない可能性があると判定し（Ｔ３）、処理を終える。
【００４２】
一方、タイムスタンプがバックアップタイミング以前のタイミングを示すならば（Ｔ１：ＮＯ）、レストア要求内にステップＴ１の判定を行っていないタイムスタンプがあるか否かを判定する（Ｔ５）。レストア要求内にステップＴ１の判定を行っていないタイムスタンプがあるならば（Ｔ５：ＹＥＳ）、ステップＴ１に戻り、その１つにつき判定する（Ｔ１）。一方、レストア要求内にステップＴ１の判定を行っていないタイムスタンプがないならば（Ｔ５：ＮＯ）、データをレストアした場合においてはデータが互いに整合すると判定し（Ｔ７）、処理を終える。
【００４３】
図６は、データが互いに整合しない可能性があるか否か判定できる理由を示す図である。
【００４４】
図６（ａ）は、データが互いに整合しない可能性がある場合の一例を示す。
【００４５】
ステップＳ２３で更新されたデータＤ３、Ｄ４のタイムスタンプ（ｔ）は、１０月１日１０時００分を示すものとする。
【００４６】
また、ステップＳ４３で記憶したバックアップタイミング（Ｔ）は、１０月２日０時００分を示すものとする。
【００４７】
また、その後、データＤ１が更新され、そのタイムスタンプ（ｔ）は、１０月２日８時００分を示すものとする（Ｓ３０１）。データＤ１の更新により、例えば、データＤ１〜Ｄ４は互いに整合しないこととなる（Ｓ３０３）。
【００４８】
この場合、図５のステップＴ１では、ステップ３０１のタイムスタンプ（ｔ＝１０月２日８時００分）がバックアップタイミング（Ｔ＝１０月２日０時００分）より後のタイミングを示すので（Ｔ１：ＹＥＳ）、データＤ２をレストアした場合においてはデータＤ１〜Ｄ４が互いに整合しない可能性があると判定する（Ｔ３）。すなわち、正しい判定が行われる。
【００４９】
この場合は、分散データベースサーバ１１は、例えば、サービス提供装置２にデータ送信を行わず、これにより、不整合に起因する問題の発生を防止できる。
【００５０】
なお、Ｓ３０１でのデータＤ１が更新されても、データＤ１〜Ｄ４が互いに整合したままである場合も考えられる。しかし、本実施の形態では、安全策として、データが互いに整合しない可能性があるとする。
【００５１】
図６（ｂ）は、データが互いに整合する場合の一例を示す。
【００５２】
ステップＳ３で更新されたデータＤ１のタイムスタンプ（ｔ）は、１０月１日８時００分を示すものとする。
【００５３】
ステップＳ２３で更新されたデータＤ３、Ｄ４のタイムスタンプ（ｔ）は、１０月１日１０時００分を示すものとする。
【００５４】
また、ステップＳ４３で記憶したバックアップタイミング（Ｔ）は、１０月２日０時００分を示すものとする。
【００５５】
その後は、データ更新がなく（Ｓ４０１）、データＤ１〜Ｄ４は互いに整合している（Ｓ４０３）。
【００５６】
この場合、図５のステップＴ１では、ステップＳ３のタイムスタンプ（ｔ＝１０月１日８時００分）がバックアップタイミング（Ｔ＝１０月２日０時００分）以前のタイミングを示し（Ｔ１：ＮＯ）、ステップＳ２３のタイムスタンプ（ｔ＝１０月１日１０時００分）がバックアップタイミング（Ｔ＝１０月２日０時００分）以前のタイミングを示しているので（Ｔ１：ＮＯ）、データＤ２をレストアした場合においてはデータＤ１〜Ｄ４が互いに整合すると判定する（Ｔ７）。すなわち、正しい判定が行われる。
【００５７】
よって、この場合には、例えば、実際にデータＤ２のレストア（Ｓ６３〜Ｓ７５）が行われ、データＤ１〜Ｄ４が互いに整合する（Ｓ７７）。
【００５８】
データが互いに整合するので、分散データベースサーバ１１は、要求されたデータをサービス提供装置２に送信でき、このデータにより、サービス提供装置２は、ユーザに対してサービスを提供できる。
【００５９】
以上のように、本実施の形態のデータ分散管理システムによれば、複数のデータ（Ｄ１〜Ｄ４）を各データの更新タイミングを示すタイムスタンプに対応づけて分散記憶する（Ｓ３、Ｓ１３、Ｓ２３）分散データベースサーバ１１と、複数のデータが互いに整合している（Ｓ２５）タイミングにおいて少なくとも１つのデータであるバックアップ対象データ（Ｄ２）を分散データベースサーバ１１から取得して記憶し（Ｓ３３〜Ｓ３９）、後にバックアップ対象データ（Ｄ２）を分散データベースサーバ１１に送信して記憶させる（Ｓ７１）バックアップサーバ１２と、バックアップ対象データ（Ｄ２）がバックアップサーバ１２に記憶されたタイミングであるバックアップタイミングを記憶し（Ｓ４３）、バックアップ対象データ（Ｄ２）を除く各データのタイムスタンプのタイミングとバックアップタイミングとを比較し（Ｔ１）、少なくとも１つのタイムスタンプがバックアップタイミングより後のタイミングを示すならば（Ｔ１：ＹＥＳ）、バックアップ対象データ（Ｄ２）を分散データベースサーバ１１に送信して記憶させた場合（レストアした場合）においてはデータが互いに整合しない可能性があると判定する（Ｔ３）一方、各タイムスタンプがバックアップタイミング以前のタイミングを示すならば（Ｔ５：ＮＯ）、バックアップ対象データ（Ｄ２）を分散データベースサーバ１１に送信して記憶させた場合（レストアした場合）においてはデータが互いに整合すると判定する（Ｔ７）制御装置１３とを備えるので、複数のデータの一部をレストアした場合においてデータが互いに整合しない可能性があるか否かを判定できる。
【００６０】
なお、本実施の形態においては、データＤ１〜Ｄ４の全てをバックアップした、つまり、全てがバックアップ対象データだが、バックアップ対象データは全てでなくてもよい。例えば、故障の可能性の高い記憶装置に記憶されるデータ（例えば、データＤ２）だけをバックアップ対象データとしてバックアップし、レストアしてもよい。
【００６１】
また、ステップＳ６１の判定は、分散データベースサーバ１１やバックアップサーバ１２が行ってもよい。
【００６２】
また、分散データベースサーバ１１やバックアップサーバ１２や制御装置１３としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００６３】
１  データ分散管理システム
１１  分散データベースサーバ
１２  バックアップサーバ
１３  制御装置
Ａ１〜Ａ３、Ｂ１〜Ｂ２  記憶装置
Ｄ１〜Ｄ４  データ
【図１】
0006325494.tif 000002
【図２】
0006325494.tif 000003
【図３】
0006325494.tif 000004
【図４】
0006325494.tif 000005
【図５】
0006325494.tif 000006
【図６】
0006325494.tif 000007