(57)【要約】  整合性のとれたバックアップの取得を可能とする処理要求装置等が開示される。係る処理要求装置は、記憶装置の更新を要求する更新要求手段と、関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する。
2016117322.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置の更新を要求する更新要求手段と、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、
前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
処理要求装置。
【請求項２】
前記更新要求手段は、前記不整合がある場合、前記記憶装置を更新した情報よりも先に前記処理された情報に基づいて、前記記憶装置の更新を要求する
請求項１記載の処理要求装置。
【請求項３】
前記更新要求手段は、コミットされたトランザクションに関するログを格納する前記処理装置に対して、該処理装置が前記ログに基づいて前記記憶装置を更新することを要求し、
前記不整合判断手段は、前記処理装置が前記ログに基づいて前記記憶装置を更新した結果から、トランザクションがコミットされた順と、該トランザクションに関するログに基づいて前記記憶装置が更新された順とに不整合があるか否かを判断する
請求項１または請求項２記載の処理要求装置。
【請求項４】
前記更新要求手段は、所定の命令に応じて、自装置から要求された以外の情報に基づく前記記憶装置の更新の中断を、前記処理装置に対して指示し、当該命令を受けるまでにコミットされたトランザクションに関するログに基づく前記記憶装置の更新を、前記処理装置に要求する
請求項３記載の処理要求装置。
【請求項５】
関連する情報を格納する格納手段と、
通信可能な処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段と
を備えた処理装置。
【請求項６】
前記更新制御手段は、前記更新を要求された情報よりも先に処理されたが前記記憶装置を更新していない未更新情報がある場合、前記更新を要求された情報と共に該未更新情報に基づいて、前記記憶装置を更新する
請求項５記載の処理装置。
【請求項７】
処理要求装置と、該処理要求装置と通信可能であって関連する情報をそれぞれが格納する複数の処理装置とを備えたデータベースシステムであって、
前記処理要求装置は、
記憶装置の更新を要求する更新要求手段と、
前記処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、
前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求し、
前記処理装置は、
前記関連する情報を格納する格納手段と、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受け取ると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段と
を備えた
データベースシステム。
【請求項８】
前記更新要求手段は、前記不整合がある場合、前記記憶装置を更新した情報よりも先に前記処理された情報に基づく前記記憶装置の更新を要求する
請求項７記載のデータベースシステム。
【請求項９】
通信可能な処理要求装置から、関連する情報を取得すると共に、該情報を格納する格納手段と、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、該情報を複製する順と前記情報に関する処理の順とが整合するように、前記情報を複製すると共に、該複製した情報をバックアップ装置に格納する複製制御手段とを備えた
処理装置。
【請求項１０】
請求項９記載の処理装置と、
前記処理装置により複製された情報を格納する複製情報格納手段と、
所定の命令に応じて、前記処理装置の前記格納手段に格納される情報のバックアップを、自装置のバックアップ格納手段に格納するバックアップ手段と、
前記バックアップの格納が終了すると、前記複製情報格納手段に格納された情報に基づいて、前記バックアップ格納手段を更新する複製情報反映手段とを備えた前記バックアップ装置と
を備えたデータベースシステム。
【請求項１１】
記憶装置の更新を要求し、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
更新管理方法。
【請求項１２】
通信可能な処理要求装置から、関連する情報を格納する格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する
更新方法。
【請求項１３】
記憶装置の更新を要求し、
前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新し、
前記更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
データベース更新方法。
【請求項１４】
通信可能な処理要求装置から、関連する情報を取得すると共に、該情報を格納手段に格納し、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、該情報を複製する順と前記情報に関する処理の順とが整合するように、前記情報を複製すると共に、該複製した情報を複製情報格納手段に格納し、
所定の命令に応じて、前記格納手段に格納される情報のバックアップを、バックアップ格納手段に格納し、
前記バックアップの格納が終了すると、前記複製情報格納手段に格納された情報に基づいて、前記バックアップ格納手段を更新する
データベース更新方法。
【請求項１５】
記憶装置の更新を要求する処理と、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する処理と、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する処理と
を、コンピュータに実行させる更新管理プログラムを記録するプログラム記録媒体。
【請求項１６】
関連する情報を格納手段に格納する処理と、
通信可能な処理要求装置から、前記格納手段に格納された情報で記憶装置を更新する要求を受けると、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する処理と
を、コンピュータに実行させる更新プログラムを記録するプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、整合性のとれたバックアップの取得技術に関する。
【背景技術】
【０００２】
近年、Ｗｅｂアプリケーションの実行基盤として、データセンター内の多数のコンピュータを用いるクラウドコンピューティングが注目されている。このクラウドコンピューティングのインフラストラクチャの一つとして、Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅが知られている。Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅは、キーと値とのペアで構成されるレコードを管理するデータベースである。【０００３】
Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅでは、単一のレコードに対するデータ操作についてはアトミック性がサポートされている。したがって、Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅを用いてトランザクション処理を実行する場合、アトミック性を担保するためには単一のレコードごとにトランザクション処理が実行される必要がある。そのため、処理効率が低下してしまう。【０００４】
これに対して、例えば、特許文献１には、Ｋｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅに格納される値を、特定の値ごとにグループ分けすると共に、同じグループごとのトランザクション処理をサポートする技術が開示される。【０００５】
このような技術を実現するために、例えば、ＳＱＬ処理とデータの取得・更新を行う層（以降、「ＳＱＬエンジン」と称する）、トランザクションのＷＡＬ（Ｗｒｉｔｅ  Ａｈｅａｄ  Ｌｏｇ）の記録と排他を行う層（以降、「トランザクションエンジン」と称する）、および永続データを保存するＫｅｙ−Ｖａｌｕｅ  Ｓｔｏｒｅ層（以降、「ＫＶＳ」と称する）を構成するノードを備えたデータベースシステムがある。【０００６】
上記システムは、データを格納するテーブルの特定列の値（すなわちトランザクションキー）を元にデータをグループ分けし、そのグループごとの整合性を保証するトランザクション処理を提供している。【０００７】
ここで、トランザクションエンジンを担うノードが分散される場合に上記のようなグループごとの整合性を保証するために、トランザクションキー値ごとに、どのノードがそのトランザクションキー値に関するグループの排他処理を担当するかが決められている。【０００８】
ＳＱＬエンジンは、データ更新時に、トランザクションエンジンからトランザクションキー値ごとに一つのＫＶペアをなすＷＡＬを取得する。あるいは、トランザクションエンジンにＷＡＬが存在しない場合は、ＳＱＬエンジンは、ＫＶＳからデータを取得する。ＳＱＬエンジンは、データを更新したあと、トランザクションキー値ごとに一つのＫＶペアを、そのトランザクションキー値の排他を担当するトランザクションエンジンに、格納する。【０００９】
トランザクションエンジンは、上記ＫＶペアであるＷＡＬをアトミックに更新する。トランザクションエンジンに格納されたＷＡＬは、非同期でＫＶＳに書き込まれる。このＫＶＳに書き込む処理や、最後にこのような書き込み処理が行われた時点を、一般に、チェックポイントと称する。【００１０】
ここで、上記のシステムは、トランザクションエンジンを担うノード（以降、「トランザクションエンジンノード」と称する）が分散されている。したがって、システム全体の順序を保ったまま、チェックポイントにおけるデータとしてＷＡＬをＫＶＳに書き込むことができない。【００１１】
すなわち、それぞれのＳＱＬエンジンでコミットされた順序にしたがったＳＱＬエンジンごとの順序関係と、トランザクションキー値により分けられたグループごとの順序関係は成立するのに対して、ＫＶＳに格納されるデータは常に整合性がとれているわけではない。つまり、システム全体のグローバルな順序関係は成立しない。よって、例えば特定時点においてＫＶＳのスナップショットを取得したとしても、それがシステム全体の整合性のとれたバックアップである保証はない。【００１２】
このように、ＫＶＳは、トランザクションキー値ごとに分けられたグループごとの整合性を保証する一方、システム全体的には結果整合性のみを保証する。【００１３】
例えば、あるユーザが、物品データＡに関する情報を挿入するトランザクションを実行し、そのあとに、物品データＡに関わる取引内容を挿入するトランザクションを実行したとする。このとき、上記２つのトランザクションのトランザクションキーが異なる場合、ＫＶＳには、物品データＡに関わる取引内容を示すデータは存在するが物品データＡに関する情報はまだ存在しないという事態が生じうる。【００１４】
このような不整合を防ぎ、システム全体で結果整合性を維持するためには、システムに対する問い合せの受け付けを停止すると共に、トランザクションエンジンにおける全てのＷＡＬを、ＫＶＳに書き込む必要がある。【００１５】
しかしながら、ミッションクリティカルな分野で使われるシステムの場合、システムの停止が許されない場合が多いため、無停止で整合性がとれたバックアップの取得が必要である。【００１６】
ここで、図５Ａ乃至図５Ｃを参照して、ＫＶＳに格納されるデータに不整合が起こる場合について説明する。図５Ａ乃至図５Ｃにおいて、ａ乃至ｄは、トランザクションキー値を示す。ｐ１、ｐ２は、ＳＱＬエンジンの識別情報を示す。Ｔ１乃至Ｔ４は、トランザクションエンジンの識別情報を示す。Ｔ１乃至Ｔ４により示されるトランザクションエンジンは、それぞれトランザクションキー値ａ乃至ｄに関するトランザクションを実行する。【００１７】
図５Ａは、ＳＱＬエンジンｐ１、ｐ２がそれぞれ順にコミットするトランザクションの識別情報を示す図である。トランザクションの識別情報は、「ＳＱＬエンジンのノードＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）−実行順（キー値）」の形式で示される。例えば、「ｐ１−ｃ１（ｄ）」は、ＳＱＬエンジン「ｐ１」において「１」番目にコミットされたトランザクションキー値「ｄ」に関するトランザクションであることを示す。図５Ｂは、トランザクションエンジンＴ１乃至Ｔ４に各トランザクションが格納された順を示す図である。【００１８】
図５Ｃは、システム全体でコミットされたトランザクションを時系列で表現した図である。図５Ｃにおいて、”ａ”，”ｄ”等は、その値をキーとするトランザクションのコミットのタイミングを示す。【００１９】
図５Ａおよび図５Ｂに網掛けで示すトランザクションは、ＫＶＳに書き込み済みであることを示す。各トランザクションエンジンがそれぞれＫＶＳに書き込む場合、図５Ａに示すように、複数のトランザクション間で、先にコミットされた方が、後にＫＶＳに書き込まれるという状態が生じ得る。具体的には、図５Ｂに示すように、ｐ１−ｃ３（ｂ）およびｐ２−ｃ２（ｂ）、ｐ２−ｃ１（ｃ）、ｐ１−ｃ１（ｄ）に関しては、それぞれＴ２、Ｔ３、Ｔ４によりＫＶＳに書き込まれたが、ｐ１−ｃ２（ａ）に関しては、図５Ａに示すようにｐ１において２番目にコミットされたにも関わらずＴ１によりＫＶＳに書き込まれていない。【００２０】
この場合、ＫＶＳには、図５Ｃの線Ｌを境として斜線で示したトランザクションまで書き込まれている。すなわち、ＳＱＬエンジンｐ１において実行された、キー値ｄ、ｂに関するトランザクションはＫＶＳに書き込まれたが、キー値ａに関するトランザクションはＫＶＳに書き込まれていない。つまり、ＳＱＬエンジンｐ１において実行されたトランザクションのＫＶＳは、整合性が取れていない。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２０１２−２３８０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
上述のように、特許文献１では、テーブルの特定の列の値ごとにグループ分けし、グループごとに決められた、分散されたトランザクションエンジンノードにＷＡＬを記録すると共に、非同期でＫＶＳに書き込むことでデータの結果整合性を保証している。このようなシステムでは、以下の課題がある。【００２３】
すなわち、上記システムは、トランザクションエンジンノートが分散されているので、システム全体の順序関係を保ちながらＷＡＬをＫＶＳに書き込むことができない。よって、特定時点のＫＶＳのスナップショットを取得したとしても、それが整合性のとれたバックアップである保証がないという課題がある。【００２４】
本願発明は、上記課題を鑑みてなされたものであり、整合性のとれたバックアップの取得が可能なデータベースシステム等を提供することを主要な目的とする。
【課題を解決するための手段】
【００２５】
本発明の第１の処理要求装置は、記憶装置の更新を要求する更新要求手段と、関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する。【００２６】
本発明の第１の処理装置は、関連する情報を格納する格納手段と、通信可能な処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段とを備える。【００２７】
本発明の第１のデータベースシステムは、処理要求装置と、該処理要求装置と通信可能であって関連する情報をそれぞれが格納する複数の処理装置とを備えたデータベースシステムであって、前記処理要求装置は、記憶装置の更新を要求する更新要求手段と、処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求し、前記処理装置は、前記関連する情報を格納する格納手段と、前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受け取ると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段とを備える。【００２８】
本発明の第２の処理装置は、通信可能な処理要求装置から、関連する情報を取得すると共に、該情報を格納する格納手段と、前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、該情報を複製する順と前記情報に関する処理の順とが整合するように、前記情報を複製すると共に、該複製した情報をバックアップ装置に格納する複製制御手段とを備える。【００２９】
本発明の第１の更新管理方法は、記憶装置の更新を要求し、関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報で前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する。【００３０】
本発明の第１の更新方法は、通信可能な処理要求装置から、関連する情報を格納する格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する。【００３１】
本発明の第１のデータベース更新方法は、記憶装置の更新を要求し、前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新し、前記更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する。【００３２】
なお同目的は、上記の各構成を有する更新管理方法および更新方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３３】
本願発明によれば、データベースシステムにおいて、整合性のとれたバックアップの取得が可能になるという効果が得られる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１の実施形態に係るデータベースシステムの構成を示す図である。
【図２】本発明の第１の実施形態に係るデータベースシステムに含まれるノードの構成を模式的に示す図である。
【図３Ａ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットのタイミングについて説明する図である。
【図３Ｂ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のチェックポイントのタイミングについて説明する図である。
【図３Ｃ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットとチェックポイントのタイミングについて説明する図である。
【図４Ａ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットのタイミングについて説明する図である。
【図４Ｂ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のチェックポイントのタイミングについて説明する図である。
【図４Ｃ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットとチェックポイントのタイミングについて説明する図である。
【図５Ａ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットのタイミングについて説明する図である。
【図５Ｂ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のチェックポイントのタイミングについて説明する図である。
【図５Ｃ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットとチェックポイントのタイミングについて説明する図である。
【図６Ａ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットのタイミングについて説明する図である。
【図６Ｂ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のチェックポイントのタイミングについて説明する図である。
【図６Ｃ】本発明の第１の実施形態に係るデータベースシステムがバックアップ準備命令を受けた際のコミットとチェックポイントのタイミングについて説明する図である。
【図７】本発明の第１の実施形態に係るデータベースシステムにおいてバックアップ準備命令を受けたＳＱＬエンジンの動作を示す図である。
【図８】本発明の第１の実施形態に係るデータベースシステムにおいてバックアップ準備命令を受けたＳＱＬエンジンの動作を示す図である。
【図９】本発明の第１の実施形態に係るデータベースシステムにおいてバックアップ準備命令を受けていないＳＱＬエンジンの動作を示す図である。
【図１０】本発明の第１の実施形態に係るデータベースシステムにおけるトランザクションエンジンの動作を示す図である。
【図１１】本発明の第２の実施形態に係るデータベースシステムの構成を示す図である。
【図１２】本発明の第２の実施形態に係るデータベースシステムのバックアップ層の動作を示すフローチャートである。
【図１３】本発明の第２の実施形態に係るデータベースシステムのトランザクションエンジンの動作を示すフローチャートである。
【図１４】本発明の第３の実施形態に係るデータベースシステムの構成を示す図である。
【図１５】本発明の第３の実施形態に係るデータベースシステムにおける各装置の構成を示すブロック図である。
【図１６】本発明の第４の実施形態に係る情報処理装置の構成を示す図である。
【図１７】本発明の各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００３６】
第１の実施形態
図１は、本発明の第１の実施形態に係るデータベースシステム１００の構成を示す図である。データベースシステム１００は、ＳＱＬエンジン１２０、トランザクションエンジン１４０、ＫＶＳ１６０およびバックアップ層１８０を構成するノードを備える。図２は、データベースシステム１００に含まれるノード（装置）の配置を示す図である。本実施形態では、ＳＱＬエンジン１２０となるノードｐ１，ｐ２、トランザクションエンジン１４０となるノードＴ１，Ｔ２，Ｔ３，Ｔ４、ＫＶＳ１６０となるノードが、分散配置されるシステムについて説明する。
【００３７】
ＳＱＬエンジン１２０は、問い合せを受け付け、必要に応じてデータを取得または更新する機能を持つ装置である。図１に示すように、ＳＱＬエンジン１２０は、ＳＱＬ処理部１３０およびコミットログ記憶部１３７を備える。ＳＱＬ処理部１３０は、データ取得部１３１、データ処理部１３２、コミット管理部１３３およびバックアップ制御部（更新要求手段）１３６を備える。コミット管理部１３３は、さらに、コミットログ管理部１３４および不整合判断部１３５を備える。
【００３８】
トランザクションエンジン１４０は、ＷＡＬの排他チェック、管理を行う機能を持つ。トランザクションエンジン１４０は、また、後述する永続データ記憶部１６１にＷＡＬを書き込む機能を持つ。永続データ記憶部１６１にＷＡＬを書き込むとは、コミットされたトランザクションに関するログ（ＷＡＬ）に基づくデータで、記憶領域（ここでは永続データ記憶部１６１）を更新する操作である。この更新の時点または更新の処理がチェックポイントである。トランザクションエンジン１４０は、トランザクション処理部１５０、ＷＡＬ記憶部（格納手段）１５３およびＷＡＬ制御部（更新制御手段）１５４を備える。トランザクション処理部１５０は、ＷＡＬ管理部１５１および排他チェック処理部１５２を備える。
【００３９】
ＫＶＳ１６０は、キーと値とのペアで構成されるレコードを管理するデータベースである。ＫＶＳ１６０は、そのレコードを格納する永続データ記憶部１６１を備える。バックアップ層１８０は、永続データ記憶部１６１に格納されるデータのバックアップを取得する装置である。バックアップ層１８０は、データ複製部１８１およびバックアップデータ記憶部（バックアップ格納手段）１８２を備える。
【００４０】
データベースシステム１００は、ＳＱＬエンジン１２０から実行したクエリをテーブルの特定の列の値（トランザクションキー値）ごとにグループ分けする。そして、データベースシステム１００は、グループ毎に、分散されたノードにＷＡＬの記録と排他を行うと共に、非同期でＫＶＳ１６０に書き込む。また、トランザクションキー値ごとに、どのトランザクションエンジンノードがそのキー値に関するグループの排他処理を担当するかが決められている。以下、データベースシステム１００の構成について、具体的に説明する。
【００４１】
データベースシステム１００の各構成要素の概要について説明する。
【００４２】
ＳＱＬエンジン１２０は、ＳＱＬ処理部１３０において、問い合わせを受け付け、必要に応じてデータの取得または更新を行う。ＳＱＬ処理部１３０のデータ取得部１３１は、問い合わせに応じて、トランザクションエンジン１４０のトランザクション処理部１５０を介してＷＡＬ記憶部１５３に格納されるＷＡＬを取得する。ＷＡＬ記憶部１５３には、ＳＱＬ処理部１３０によりトランザクションがコミットされる毎に、そのトランザクションに関するＷＡＬ（ログ）が格納される。ＷＡＬ記憶部１５３に対象となるＷＡＬがない場合、データ取得部１３１は、ＫＶＳ１６０の永続データ記憶部１６１から対象となるデータを取得する。
【００４３】
データ処理部１３２は、上記問い合わせが更新指示である場合、データ取得部１３１が取得したデータを更新すると共に、更新したデータをトランザクションエンジン１４０に通知する。このとき、データ処理部１３２は、更新したデータと共に、ＳＱＬエンジン１２０のノードＩＤを含むコミットＩＤ（詳細は後述する）を、トランザクションエンジン１４０に通知する。また、データ処理部１３２は、上記コミットＩＤを、コミット管理部１３３に通知する。
【００４４】
コミット管理部１３３は、コミットログ管理部１３４において、取得したコミットＩＤをコミットログ記憶部１３７に記録する。コミットログ管理部１３４は、また、ＷＡＬ制御部１５４から受信した永続データ記憶部１６１への書き込み済みＷＡＬのリストに基づいて、ＷＡＬが永続化されたコミットＩＤをコミットログ記憶部１３７に記録する。
【００４５】
バックアップ制御部１３６は、ユーザ等からの所定の命令に応じて、ＷＡＬ制御部１５４に通常の書き込み（詳細は後述する）の中断メッセージを送信する。また、バックアップの終了に応じて、通常の書き込みの再開メッセージをＷＡＬ制御部１５４に送信する。ここで、所定の命令とは、バックアップ準備命令である。ユーザは、永続データ記憶部１６１に格納されるデータのバックアップを取得する際に、その取得の準備のためのバックアップ準備命令をＳＱＬエンジン１２０に送る。
【００４６】
トランザクションエンジン１４０は、トランザクション処理部１５０においてＷＡＬの記録等を行う。トランザクション処理部１５０のＷＡＬ管理部１５１は、データ取得部１３１から受け付けた格納指示に応じてＷＡＬをＷＡＬ記憶部１５３に格納したり、データ処理部１３２から受け付けた更新指示に応じてＷＡＬを更新したりする。排他チェック処理部１５２は、ＷＡＬ管理部１５１によるＷＡＬの格納および更新の際に、ＷＡＬ記憶部１５３の排他制御を行う。
【００４７】
ＷＡＬ制御部１５４は、ＷＡＬ記憶部１５３に記録されたＷＡＬを、非同期でＫＶＳ１６０の永続データ記憶部１６１に書き込むことにより、ＷＡＬ記憶部１５３に記録されたＷＡＬを永続化する。ＷＡＬ制御部１５４は、書き込みを実施したら、ＳＱＬエンジン１２０のコミット管理部１３３に、書き込み済みＷＡＬのリストを送信する。
【００４８】
ＫＶＳ１６０の永続データ記憶部１６１は、ＷＡＬ制御部１５４により書き込まれたＷＡＬを永続データとして格納する。データ複製部１８１は、永続データ記憶部１６１からデータを読み出すと共にそのデータを複製し、記憶装置であるバックアップデータ記憶部１８２に格納する。
【００４９】
次に、データベースシステム１００の動作について説明する。
【００５０】
図３Ａないし図６Ｃは、データベースシステム１００がバックアップ準備命令を受けた際のコミットと書き込み（チェックポイント）のタイミングについて説明する図である。バックアップ準備命令とは、永続データ記憶部１６１に格納されるデータのバックアップ取得の準備のためにユーザ等から送られる命令である。図３Ｃ、図４Ｃ、図５Ｃおよび図６Ｃは、システム全体で処理（コミット）された各キー値に関するトランザクションを時系列に表現した図である。図３Ｃ、図４Ｃ、図５Ｃおよび図６Ｃにおいて、”ａ”，”ｄ”等は、その値をキーとするトランザクションのコミットのタイミングを示す。また、キー値ごとに分けられたトランザクションのグループ内の順序関係を点線で示す。
【００５１】
図３Ａ、図４Ａ、図５Ａおよび図６Ａは、ＳＱＬエンジンｐ１、ｐ２がそれぞれ順にコミットするトランザクションの識別情報（コミットＩＤ）を示す図である。コミットＩＤは、「ＳＱＬエンジンのノードＩＤ−実行順（キー値）」の形式で示される。コミットＩＤは、ＳＱＬエンジン１２０のコミットログ記憶部１３７に格納される。
【００５２】
図３Ｂ、図４Ｂ、図５Ｂおよび図６Ｂは、ＳＱＬエンジン１２０で処理（コミット）されてトランザクションエンジンＴ１乃至Ｔ４に格納されたトランザクションの順を示す図である。
【００５３】
図７乃至図１０は、データベースシステム１００の動作に関するフローチャートである。図７および図８は、複数のＳＱＬエンジンのうち、バックアップ準備命令を受けたＳＱＬエンジンの動作を示す図である。図９は、バックアップ準備命令を受けていないＳＱＬエンジンの動作を示す図である。図１０は、トランザクションエンジンＴ１乃至Ｔ４の動作を示す図である。
【００５４】
図３Ａないし図１０を参照して、データベースシステム１００の動作について説明する。なお、ＳＱＬエンジン１２０およびトランザクションエンジン１４０は互いにメッセージのやり取りを行うので、以降の説明において、データベースシステム１００全体の動作を説明するために、図をまたいで説明する場合がある。図７ないし図１０における符号Ｈ，Ｉ，Ｊは、ＳＱＬエンジン１２０とトランザクションエンジン１４０（Ｔ１乃至Ｔ４）との間の処理シーケンスの推移を明示するための結合子である。
【００５５】
図３Ｃに示すように、ＳＱＬエンジンｐ２がキー値ｃ、ｂに関するトランザクションのコミット実行後にバックアップ準備命令を受けたと仮定する。図３Ｂは、このときの書き込み状況を示す。図３Ｂ、図４Ｂ、図５Ｂおよび図６Ｂでは、網掛けされたコミットＩＤは、書き込み済みであることを示す。なお、図４Ｃ、図５Ｃおよび図６Ｃでは、線Ｌを境として斜線で示したコミットまで書き込みされていることを示す。
【００５６】
ユーザがバックアップ準備命令をＳＱＬエンジンｐ２に与えると、ＳＱＬエンジンｐ２は、ＳＱＬ処理部１３０においてバックアップ準備命令を受け取る（図７のＳ２０１）。コミット管理部１３３のコミットログ管理部１３４は、バックアップ準備命令に応じて、バックアップ準備命令直前までにコミットしたトランザクションの識別情報、すなわちコミットＩＤをコミットログ記憶部１３７から読み出し、そのコミットＩＤのリスト（コミットＩＤリスト）を生成する。コミットログ記憶部１３７は、上述したように、コミットしたトランザクションの情報を保持している。ここでは、図４Ａのｐ２−ｃ１（ｃ）、ｐ２−ｃ２（ｂ）が、バックアップ準備命令直前までにコミットされたトランザクションである。図４Ａおよび図５Ａでは、コミットされたコミットＩＤを太字かつ下線で示す。
【００５７】
バックアップ制御部１３６は、バックアップ準備命令と、上記コミットＩＤリストを、すべてのトランザクションエンジンＴ１乃至Ｔ４に送信する（図７のＳ２０２から「Ｈ」を介して図１０のＳ４０１へ）。
【００５８】
トランザクションエンジンＴ１乃至Ｔ４は、それぞれコミットＩＤリスト（および書き込み要求）とバックアップ準備命令を受信すると、ＷＡＬ制御部１５４において、通常の書き込みを中断する（図１０のＳ４０１）。ここで、ＷＡＬ制御部１５４は、所定のタイミングでＷＡＬ記憶部１５３のＷＡＬを永続データ記憶部１６１に書き込んでおり、この書き込みを「通常の書き込み」と称する。トランザクションエンジンＴ１乃至Ｔ４は、バックアップ準備命令を受信すると、ＳＱＬエンジン１２０から要求される以外の書き込みを中断する。
【００５９】
そして、ＷＡＬ制御部１５４は、コミットＩＤリストに含まれるトランザクションに関するＷＡＬを書き込む。このとき、ＷＡＬ制御部１５４は、トランザクションのグループの整合性が保証されるように永続データ記憶部１６１に書き込む必要がある（図１０のＳ４０２）。
【００６０】
ここで、整合性が保証されているとは、トランザクションが処理（コミット）された順（すなわちＷＡＬがＷＡＬ記憶部１５３に格納された順）と、ＷＡＬが永続データ記憶部１６１に書き込まれた順との整合がとれていることを指す。
【００６１】
図３Ｂの例では、上記コミットＩＤリストに基づいて、トランザクションエンジンＴ３のＷＡＬ制御部１５４は、ｐ２−ｃ１（ｃ）のＷＡＬを永続データ記憶部１６１に書き込む。トランザクションエンジンＴ２のＷＡＬ制御部１５４は、上記コミットＩＤリストに基づいて、ｐ２−ｃ２（ｂ）のＷＡＬを永続データ記憶部１６１に書き込む。ここで、トランザクションエンジンＴ２のＷＡＬ制御部１５４は、グループの整合性を保証するために、ｐ１−ｃ３（ｂ）も永続データ記憶部１６１に書き込む。つまり、ＷＡＬ制御部１５４は、書き込みを要求されたＷＡＬよりも先にＳＱＬエンジン１２０でコミットされ（ＷＡＬ記憶部１５３に格納され）たＷＡＬ（未書き込みＷＡＬ）がある場合、書き込みを要求されたＷＡＬと共に未書き込みＷＡＬを永続データ記憶部１６１に書き込む。ここでは、トランザクションエンジンＴ２のＷＡＬ制御部１５４は、ｐ１−ｃ３（ｂ）およびｐ２−ｃ２（ｂ）を書き込む。
【００６２】
ＷＡＬ制御部１５４は、上記のように書き込みした結果を、書き込み済みリストとして、すべてのＳＱＬエンジンに送信し（図１０のＳ４０３）、メッセージ受信を待機する（図１０のＳ４０４）。
【００６３】
各ＳＱＬエンジン１２０は、トランザクションエンジン１４０（図１０に示すＳ４０３の「Ｉ」）からメッセージを受信すると（図７のＳ２０３）、メッセージを確認する。全メッセージが準備完了メッセージでない場合（図７のＳ２０４においてＮｏ）、各ＳＱＬエンジン１２０は、書き込み済みリストを受信する（図７のＳ２０５）。なお、バックアップ準備命令を受信していないＳＱＬエンジン１２０の動作を示した図９のＳ３０１に示すように、バックアップ準備命令を受信していないＳＱＬエンジン１２０も、トランザクションエンジン１４０から書き込み済みリストを受信する。
【００６４】
ＳＱＬエンジン１２０のコミットログ管理部１３４は、受信した書き込み済みリストに含まれるコミットＩＤに基づいて、書き込み済みのコミットＩＤをコミットログ記憶部１３７に記録する（図７のＳ２０６、図９のＳ３０２）。ここでは、図５Ａの網掛けに示すように、ＳＱＬエンジンｐ１はｐ１−ｃ１（ｄ）、ｐ１−ｃ３（ｂ）を、ＳＱＬエンジンｐ２はｐ２−ｃ１（ｃ）、ｐ２−ｃ２（ｂ）を、それぞれ書き込み済みとしてコミットログ記憶部１３７に記録する。また、各トランザクションエンジン１４０では、図５Ｂの網掛けに示すトランザクションが書き込み済みである。
【００６５】
続いて、コミット管理部１３３の不整合判断部１３５は、自ＳＱＬエンジン１２０における順序関係の整合処理を行う（図７のＳ２０７）。具体的には、図８に示すように、自ＳＱＬエンジン１２０における順序関係の整合性が保証されているか（不整合があるか否か）を調べる（図８のＳ２１１）。整合性が保証されているとは、ＳＱＬエンジン１２０においてトランザクションが処理（コミット）された順に、該トランザクションに関するＷＡＬが永続データ記憶部１６１に書き込みされていることを指す。
【００６６】
不整合判断部１３５は、上記整合性が保証されていない（不整合が有る）場合、整合のために書き込みの実施が必要なコミットＩＤのリストと、追加書き込み要求を、トランザクションエンジンＴ１乃至Ｔ４に送る（図８のＳ２１３から「Ｊ」を介して図１０のＳ４０５へ）。整合のために書き込みの実施が必要なコミットＩＤとは、書き込みされたトランザクションよりも先に自ＳＱＬエンジン１２０でコミットされたトランザクションの識別情報を意味する。ここでは、図５Ａに示すｐ１−ｃ２（ａ）が該当する。
【００６７】
一方、ＳＱＬエンジン１２０における順序関係の整合性が保証される場合、不整合判断部１３５は、トランザクションエンジンＴ１乃至Ｔ４に、追加書き込み不要メッセージを送る（図８のＳ２１２から「Ｊ」を介して図１０のＳ４０５へ）。続いて、不整合判断部１３５は、ＳＱＬエンジン１２０から書き込み済みリストの受信を待機する（図８のＳ２１４）。なお、図９に示すＳ３０３乃至Ｓ３０６は、図８に示すＳ２１１乃至Ｓ２１４と同様の処理である。
【００６８】
トランザクションエンジンＴ１乃至Ｔ４は、図１０に示すように、図８または図９に示すＳ２１３、Ｓ３０４から「Ｊ」を介して送信されたメッセージを受信すると、そのメッセージが書き込み要求であるか否かを調べ、書き込み要求である場合（図１０のＳ４０５においてＹｅｓ）、Ｓ４０２以降の処理を上記と同様に行う。すなわち、ＳＱＬエンジン１２０における順序関係の整合性が保証されるまで、Ｓ２０３乃至Ｓ２０７およびＳ４０２乃至Ｓ４０５の処理が繰り返される。
【００６９】
ここでは、図６Ｂに示すように、ＳＱＬエンジン１２０からの追加書き込み要求に応じて、トランザクションエンジンＴ１が、ｐ１−ｃ２（ａ）を書き込むと共に、そのｐ１−ｃ２（ａ）を書き込み済みリストとしてすべてのＳＱＬエンジン１２０に送信する。
【００７０】
ＳＱＬエンジンｐ１は、コミットログ管理部１３４において、トランザクションエンジンＴ１から送信された書き込み済みリストに基づいて、図６Ａに示すように、ｐ１−ｃ２（ａ）が書き込みされたことを、コミットログ記憶部１３７に記録する。
【００７１】
（バックアップ準備命令を受信していない）ＳＱＬエンジンｐ１は、順序関係の整合性がとれたので、図９のＳ３０５に示すように、不整合判断部１３５からトランザクションエンジンＴ１に、追加書き込み不要メッセージを送る。
【００７２】
上記手順で、トランザクションエンジンＴ１乃至Ｔ４は、ＷＡＬ制御部１５４において、すべてのＳＱＬエンジン１２０から追加書き込み不要メッセージ（図８、図９のＳ２１２、Ｓ３０５）を受けると（図１０のＳ４０５においてＮｏ）、バックアップ準備命令を送信したＳＱＬエンジン１２０に、バックアップ準備完了メッセージを送信する（図１０のＳ４０６）。そして、ＷＡＬ制御部１５４は、ＳＱＬエンジン１２０からバックアップ完了メッセージを受信するまで、書き込みを中断する（図１０のＳ４０７）。
【００７３】
一方、ＳＱＬエンジン１２０は、図７に示すように、すべてのトランザクションエンジンＴ１乃至Ｔ４からバックアップ準備完了メッセージを受信すると（Ｓ２０４においてＹｅｓ）、ユーザ等から送られたバックアップ準備命令に対して、バックアップ準備完了メッセージを返す（Ｓ２０９）。
【００７４】
ユーザは、バックアップ準備完了メッセージに応じて、バックアップを実施する。すなわち、ユーザは、データ複製部１８１を用いて永続データ記憶部１６１から読み出したデータを複製し、バックアップデータ記憶部１８２に格納する。
【００７５】
ユーザは、上記バックアップが完了すると、バックアップ完了メッセージをＳＱＬエンジン１２０に送信する。ＳＱＬエンジン１２０は、バックアップ制御部１３６においてバックアップ完了メッセージを受け取ると、すべてのトランザクションエンジンＴ１乃至Ｔ４に、バックアップ完了メッセージを送信する（Ｓ２１０）。
【００７６】
トランザクションエンジンＴ１乃至Ｔ４は、バックアップ完了メッセージを受信すると、Ｓ４０１において中断していた通常の書き込みを再開する。
【００７７】
以上のように、本第１の実施形態によれば、ＳＱＬエンジン１２０は、コミットしたトランザクションの書き込み要求をトランザクションエンジン１４０に送信する。トランザクションエンジン１４０は、要求された書き込みとトランザクショングループの整合性を保証するための書き込みを実施する。ＳＱＬエンジン１２０は、トランザクションエンジン１４０により実施された書き込みに基づいて、自装置における順序関係の不整合の有無を調べ、不整合が有る場合は整合に必要な追加書き込みをトランザクションエンジン１４０に要求する。上記処理を繰り返すことにより、コミットと永続データ記憶部１６１への書き込みの順序関係に関する不整合がなくなったらバックアップ準備完了とする。
【００７８】
上記構成を採用することにより、本第１の実施形態によれば、システム全体の順序関係を保ちながらＷＡＬをＫＶＳに書き込むことができるので、システムを停止することなく整合性のとれたバックアップの取得が可能となるという効果が得られる。
【００７９】
第２の実施形態
次に、上述した第１の実施形態を基礎とする第２の実施形態について説明する。以下の説明では、第１の実施形態と同様の構成については同じ参照番号を付与することにより、重複する説明は省略する。
【００８０】
図１１は、本発明の第２の実施形態に係るデータベースシステム２００の構成を示す図である。データベースシステム２００は、第１の実施形態において説明したデータベースシステム１００に加えて、トランザクションエンジン１４０におけるＷＡＬ複製部（複製制御手段）２１０、バックアップ層（バックアップ装置）１８０におけるＷＡＬバックアップデータ記憶部（複製情報格納手段）２２０、ＷＡＬ反映部（複製情報反映手段）２３０をそれぞれ備える。なお、図１１に示すモジュール間の点線は、線の交差により各モジュール間の関係が不明確になることを防ぐために異ならせているが、点線ごとの特別な意味はない。
【００８１】
データベースシステム２００は、第１の実施形態において説明したバックアップ準備命令に応じて中断する通常の書き込みの中断時間を短縮するシステムである。
【００８２】
各構成要素の動作の概要は以下の通りである。
【００８３】
ＷＡＬ複製部２１０は、コミットログ管理部１３４からコミットＩＤリストと書き込み要求を受信し、コミットＩＤリストに含まれるコミットに関するＷＡＬを、ＷＡＬバックアップデータ記憶部２２０に複製する。
【００８４】
ＷＡＬ反映部２３０は、ＷＡＬバックアップデータ記憶部２２０に格納されるＷＡＬを、バックアップデータ記憶部（バックアップ格納手段）１８２に書き込む。
【００８５】
図１２は、本実施形態に係るデータベースシステム２００のバックアップ層１８０の動作を示すフローチャートである。図１３は、本実施形態に係るデータベースシステム２００のトランザクションエンジン１４０の動作を示すフローチャートである。なお、ＳＱＬエンジン１２０は、以下に説明する動作以外は、第１の実施形態において説明した動作と同様に動作する。図１１乃至図１３を参照して、本実施形態に係るデータベースシステム２００の動作について説明する。
【００８６】
データベースシステム２００のＳＱＬエンジン１２０およびトランザクションエンジン１４０は、第１の実施形態にて説明した通常の書き込みを中断させる動作まで、すなわち、図７のＳ２０１、図１０のＳ４０１までは、第１の実施形態と同様の動作を行う。
【００８７】
ＳＱＬエンジン１２０のバックアップ制御部１３６は、バックアップ準備命令をトランザクションエンジン１４０に送信する際に、バックアップ層１８０のデータ複製部（バックアップ手段）１８１に、複製開始メッセージを送信する。
【００８８】
データ複製部１８１は、複製開始メッセージを受信すると（図１２のＳ５０１）、ＫＶＳ１６０の永続データ記憶部１６１から、バックアップデータ記憶部１８２にデータを複製する（図１２のＳ５０２）。
【００８９】
一方、トランザクションエンジン１４０では、図１３に示すように、ＷＡＬ制御部１５４は、バックアップ準備命令を受信し、通常書き込みを中断し（図１３のＳ４０１）、その後、既に書き込み済みのコミットのリストをＳＱＬエンジン１２０に送信する（図１３のＳ６０１）。
【００９０】
その後、トランザクションエンジン１４０はメッセージの受信を待機し（図１３のＳ６０２）、コミットログ管理部１３４からトランザクションの書き込み要求が送信されると（図１３のＳ６０３においてＹｅｓ）、第１の実施形態ではＷＡＬ制御部１５４がその書き込み要求を受信したのに対して、本第２の実施形態では、ＷＡＬ複製部２１０が受信する（図１３のＳ６０６）。
【００９１】
ＷＡＬ複製部２１０は、バックアップ層１８０のＷＡＬバックアップデータ記憶部２２０に、書き込み要求されたトランザクションに関するＷＡＬを複製する（図１３のＳ６０７）。このとき、ＷＡＬ複製部２１０は、図１０のＳ４０２と同様に、トランザクションのグループの整合性が保証されるように複製する。すなわち、トランザクションエンジン１４０にトランザクションが格納された順と、上記複製を実施した順との整合がとれるように、複製を実施する。ＷＡＬ複製部２１０は、ＷＡＬを複製済みのトランザクションのリストを全ＳＱＬエンジン１２０に送信する（図１３のＳ６０８）。そして、ＷＡＬ複製部２１０はメッセージ受信を待機する（図１３のＳ６０９）。
【００９２】
このように、本第２の実施形態では、永続データ記憶部１６１からバックアップデータ記憶部１８２へのデータ複製が行われる間、ＷＡＬ制御部１５４は永続データ記憶部１６１へのＷＡＬの書き込みを行わない。それに代えて、ＷＡＬ複製部２１０は、ＷＡＬをＷＡＬバックアップデータ記憶部２２０に複製する。
【００９３】
ここで、図１３のＳ４０１において中断されたＷＡＬ制御部１５４の通常書き込みは、永続データ記憶部１６１からバックアップデータ記憶部１８２へのデータの複製が終了すれば、再開可能となる。したがって、データ複製部１８１は、複製が終了すると（図１２のＳ５０３においてＹｅｓ）、ＳＱＬエンジン１２０に複製終了メッセージを送信する（図１２のＳ５０４）。
【００９４】
ＳＱＬエンジン１２０は、バックアップ制御部１３６において複製終了メッセージを受信すると、トランザクションエンジン１４０のＷＡＬ制御部１５４に、書き込み再開メッセージを送信する（図１３の「Ｋ」に示す）。バックアップ制御部１３６はまた、バックアップ層１８０のＷＡＬ反映部２３０に、ＷＡＬの書き込み開始メッセージを送信する（図１２の「Ｍ」に示す）。
【００９５】
トランザクションエンジン１４０のＷＡＬ制御部１５４は、上記書き込み再開メッセージを受信すると（図１３のＳ６０４においてＹｅｓ）、通常書き込みを再開する（図１３のＳ６０５）。
【００９６】
バックアップ層１８０のＷＡＬ反映部２３０は、上記ＷＡＬの書き込み開始メッセージを受信すると（図１２のＳ５０５、およびＳ５０６においてＹｅｓ）、ＷＡＬバックアップデータ記憶部２２０のＷＡＬをバックアップデータ記憶部１８２に書き込む（図１２のＳ５０７）。このように、本第２の実施形態では、ＷＡＬ反映部２３０がバックアップデータ記憶部１８２に対して書き込みをするので、整合されたバックアップがバックアップデータ記憶部１８２において取得される。
【００９７】
バックアップは、データ複製部１８１による永続データ記憶部１６１からバックアップデータ記憶部１８２へのデータの複製、およびＷＡＬ反映部２３０によるＷＡＬバックアップデータ記憶部２２０からバックアップデータ記憶部１８２への書き込みが、それぞれ終了した時点で、完了する。
【００９８】
以上のように、本第２の実施形態によれば、ＷＡＬ制御部１５４による通常書き込みの中断後、データ複製部１８１は、永続データ記憶部１６１のデータをバックアップデータ記憶部１８２に複製する。ＷＡＬ複製部２１０は、ＷＡＬ制御部１５４の代わりに整合処理を行う。したがって、永続データ記憶部１６１のデータの整合性が確定する前にデータ複製部１８１により複製が可能であると共に、当該複製が終了した時点で、ＷＡＬ制御部１５４による通常書き込みの再開が可能である。よって、本第２の実施形態によれば、書き込みが中断される時間が短縮できるので、バックアップ取得に起因したシステムへの影響を削減できるという効果が得られる。
【００９９】
第３の実施形態
次に、上述した第１の実施形態を基礎とする第３の実施形態について説明する。上記第１の実施形態では、トランザクションを実施すると共にそのログに基づくデータのバックアップを、システムを停止することなく整合性を保ちながら取得する構成について説明した。本第３の実施形態では、分散された複数の処理装置により永続化されたデータのバックアップを、システムを停止することなく整合性を保ちながら取得する構成について説明する。
【０１００】
図１４は、本発明の第３の実施形態に係るデータベースシステム３００の構成を示す図である。図１４に示すように、第３の実施形態に係るデータベースシステム３００は、処理要求装置３１０ａ、３１０ｂ、処理装置３５０ａ乃至３５０ｄ、永続データ記憶部３７０およびバックアップ装置３８０を備える。処理装置３５０ａ乃至３５０ｄは、それぞれキャッシュ３５１ａ乃至３５１ｄを備える。バックアップ装置３８０は、バックアップ取得部３８１およびバックアップデータ記憶部３８２を備える。
【０１０１】
処理要求装置３１０ａ、３１０ｂは、上記第１の実施形態において図２を参照して説明したＳＱＬエンジンｐ１，ｐ２にそれぞれ相当する。処理装置３５０ａ乃至３５０ｄは、同じくトランザクションエンジンＴ１乃至Ｔ４にそれぞれ相当する。
【０１０２】
処理装置３５０ａ乃至３５０ｄは、第１の実施形態におけるトランザクションエンジン１４０のように、関連するデータのグループをそれぞれがキャッシュ３５１ａ乃至３５１ｄに保持する。処理要求装置３１０ａ、３１０ｂは、関連するデータのグループを保持するいずれかの処理装置に対して、データの取得、更新、削除等の処理要求を行う。ここで、関連するデータのグループとは、例えばヘッダデータと明細データのようにアトミックな操作が必要な複数のデータであってよい。
【０１０３】
処理装置３５０ａ乃至３５０ｄは、所定のタイミングで、キャッシュ３５１ａ乃至３５１ｄに格納されるデータを、永続データ記憶部３７０に書き出すことにより、データを永続化する。
【０１０４】
本実施形態に係るデータベースシステム３００では、上記第１の実施形態と同様に、永続データ記憶部３７０に書き出されたデータのバックアップを、システムを停止することなく整合性を保ちながら、バックアップ装置３８０に取得することができる。
【０１０５】
図１５は、図１４における処理要求装置３１０ａおよび処理装置３５０ａの詳細な構成を示すブロック図である。図１５では、処理要求装置３１０ａ、処理装置３５０ａの構成について示すが、処理要求装置３１０ｂ、処理装置３５０ｂ乃至３５０ｄも、それぞれ処理要求装置３１０ａ、処理装置３５０ａと同様の構成を有する。
【０１０６】
図１５に示すように、処理要求装置３１０ａは、処理部３２０、不整合判断部３２１および更新要求部３２２を備える。
【０１０７】
処理装置３５０ａは、キャッシュ３５１ａ、処理部３５２および更新制御部３５３を備える。
【０１０８】
処理要求装置３１０ａ、３１０ｂは、処理部３２０または更新要求部３２２により、関連するデータのグループを保持するいずれかの処理装置に対して、データの取得、更新、削除等の処理要求を行う。
【０１０９】
処理装置３５０ａ乃至３５０ｄは、更新制御部３５３により、キャッシュ３５１ａ乃至３５１ｄに格納されるデータで、永続データ記憶部３７０を更新する。この永続データ記憶部３７０の更新は、上記第１の実施形態における「書き込み」に相当する。この更新により、キャッシュ３５１ａ乃至３５１ｄに格納されるデータが永続化される。
【０１１０】
バックアップ装置３８０は、永続データ記憶部３７０に格納されるデータのバックアップを格納する。すなわち、バックアップ取得部３８１は、永続データ記憶部３７０に格納されるデータを読み出すと共に複製し、複製したデータをバックアップデータ記憶部３８２に格納する。
【０１１１】
永続データ記憶部３７０に格納されるデータのバックアップを取得する際のデータベースシステム３００の動作について説明する。このバックアップの取得に際し、処理要求装置３１０ａおよび処理装置３５０ａは、それぞれ上記第１の実施形態において説明したＳＱＬエンジン１２０およびトランザクションエンジン１４０と同様の動作を行う。
【０１１２】
すなわち、処理要求装置３１０ａの不整合判断部３２１、更新要求部３２２は、それぞれ上記第１の実施形態におけるＳＱＬエンジン１２０の不整合判断部１３５、バックアップ制御部１３６に相当する動作を行う。処理装置３５０ａのキャッシュ３５１ａ、更新制御部３５３は、それぞれ上記第１の実施形態におけるトランザクションエンジン１４０のＷＡＬ記憶部１５３、ＷＡＬ制御部１５４に相当する動作を行う。そこで、本第３の実施形態では、第１の実施形態に相当する動作の詳細な説明は省略し、データベースシステム３００における第１の実施形態とは異なる動作について説明する。
【０１１３】
処理要求装置３１０ａがバックアップ準備命令を受けたと仮定する。処理要求装置３１０ａは、バックアップ準備命令に応じて、更新要求部３２２から処理装置３５０ａ乃至３５０ｄに対して、永続データ記憶部３７０への更新を中断する指示を出す。また更新要求部３２２は、バックアップ準備命令までに要求した処理に関するデータで永続データ記憶部３７０を更新することを、処理装置３５０ａ乃至３５０ｄに要求する。
【０１１４】
なお、処理要求装置３１０ａ、３１０ｂは、処理装置３５０ａ乃至３５０ｄの更新制御部３５３が永続データ記憶部３７０を更新したデータ（すなわち永続化されたデータ）を示す情報を、図示しない記憶領域に保持している。
【０１１５】
処理装置３５０ａ乃至３５０ｄは、それぞれ、更新制御部３５３により、更新を要求されたデータで永続データ記憶部３７０を更新する。このとき、更新制御部３５３は、データに関する処理の順（すなわち処理要求装置３１０ａまたは処理要求装置３１０ｂから取得してキャッシュを更新した順）と、永続データ記憶部３７０を更新する順とが整合するように、永続データ記憶部３７０を更新する。つまり、更新を要求されたデータよりも先に処理されたが永続データ記憶部３７０を更新していないデータ（未更新データ）がある場合、更新制御部３５３は、更新を要求されたデータと共に、その未更新データで、永続データ記憶部３７０を更新する（上記第１の実施形態における図１０のＳ４０２の動作に相当する）。
【０１１６】
処理装置３５０ａ乃至３５０ｄは、それぞれ、更新制御部３５３により、更新済みのデータのリストを処理要求装置３１０ａ、３１０ｂに送る。処理要求装置３１０ａ、３１０ｂは、それぞれ、不整合判断部３２１により、更新済みのデータのリストに基づいて、順序関係の整合処理を行う（上記第１の実施形態における図８に示す動作に相当する）。すなわち、不整合判断部３２１は、自装置における処理の順（すなわち処理装置３５０ａ乃至３５０ｄに対して更新要求した順）と、永続データ記憶部３７０が更新された順とに不整合があるか否かを判断する。
【０１１７】
不整合がある場合、不整合判断部３２１は、上記順が整合するように（整合に必要なデータで）永続データ記憶部３７０を更新することを、処理装置に要求する。すなわち、不整合判断部３２１は、永続データ記憶部３７０を更新したデータよりも先に処理された（処理装置３５０ａ乃至３５０ｄに対して更新要求された）データで、永続データ記憶部３７０をさらに更新することを、処理装置に要求する。
【０１１８】
上記要求を受けた処理装置は、上記と同様に、更新制御部３５３により、要求されたデータで永続データ記憶部３７０を更新する。その際、更新制御部３５３は、上記と同様に、データに関する処理の順と、永続データ記憶部３７０を更新する順とが整合するように、永続データ記憶部３７０を更新する。このように、処理要求装置３１０ａ、３１０ｂにおける順序関係の整合性が保証されるまで、上記第１の実施形態における図７のＳ２０３乃至Ｓ２０７および図１０のＳ４０２乃至Ｓ４０５に相当する処理が繰り返される。
【０１１９】
上記手順で、順序関係の整合性が保証されると、処理要求装置３１０ａ、３１０ｂは、ユーザ等から送られたバックアップ準備命令に対して、バックアップ準備完了メッセージを返す。
【０１２０】
ユーザは、バックアップ準備完了メッセージに応じて、バックアップ取得を実施する。すなわち、ユーザは、バックアップ取得部３８１を用いて永続データ記憶部３７０から読み出したデータを複製し、複製したデータをバックアップデータ記憶部３８２に格納する。
【０１２１】
以上のように、本第３の実施形態によれば、永続データ記憶部３７０に格納されるデータのバックアップ取得に際し、処理装置３５０ａ乃至３５０ｄは、処理要求装置３１０ａ、３１０ｂからの要求に応じて、処理された順と、永続データ記憶部３７０を更新する順とが整合するように、キャッシュ３５１ａ乃至３５１ｄに格納されるデータで永続データ記憶部３７０を更新する。
【０１２２】
処理要求装置３１０ａ、３１０ｂは、上記更新の結果、自装置における処理の順と、永続データ記憶部３７０を更新した順とに不整合がある場合、整合に必要なデータで永続データ記憶部３７０を更新することを、処理装置に要求する。
【０１２３】
上記構成を採用することにより、本第３の実施形態によれば、分散された処理装置３５０ａ乃至３５０ｄが保持するデータが永続化された永続化データのバックアップを、システムを停止することなく整合性を保ちながら取得することができるという効果が得られる。
【０１２４】
なお、更新要求部３２２および不整合判断部３２１は、処理要求装置３１０ａ、３１０ｂが備えてもよいし、処理要求装置３１０ａ、３１０ｂと通信可能な管理装置等が備えてもよい。
【０１２５】
第４の実施形態
図１６は、本発明の第４の実施形態に係る処理要求装置７００の構成を示す図である。
【０１２６】
図１６に示すように、処理要求装置７００は、更新要求部７１０および不整合判断部７２０を備える。
【０１２７】
更新要求部７１０は、記憶装置の更新を要求する。
【０１２８】
不整合判断部７２０は、関連する情報をそれぞれが格納する複数の処理装置が、要求に応じて、その情報に基づいて記憶装置を更新する順とその情報に関する処理の順とが整合するように、その情報に基づいて記憶装置を更新した結果から、その情報に関する処理の順と、記憶装置が更新された順とに不整合があるか否かを判断する。
【０１２９】
更新要求部７１０は、不整合がある場合、整合に必要な情報に基づく記憶装置の更新を要求する。
【０１３０】
なお、処理要求装置７００は、第１の実施形態におけるＳＱＬエンジン１２０に相当し、処理装置は、同じくトランザクションエンジン１４０に相当し、記憶装置は、同じくＫＶＳ１６０に相当する。また、更新要求部７１０は、同じくバックアップ制御部１３６に相当する。
【０１３１】
また、処理装置が格納する情報は、第１の実施形態におけるトランザクションに関するＷＡＬ、および第３の実施形態における処理装置が処理要求装置から取得したデータに相当する。
【０１３２】
上記構成を採用することにより、本第４の実施形態によれば、整合性のとれたバックアップの取得が可能となるという効果が得られる。
【０１３３】
なお、図１等に示した各種装置の各部は、例えば図１７に示すハードウエア資源において実現される。すなわち、図１７に示す構成は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、外部接続インタフェース１３および記憶媒体１４を備える。ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ１１に読み出して実行することにより、各種装置の全体的な動作を司る。すなわち、上記各実施形態において、ＣＰＵ１０は、ＲＯＭ１２または記憶媒体１４を適宜参照しながら、装置が備える各機能（各部）を実行するソフトウエア・プログラムを実行する。
【０１３４】
また、上述した各実施形態では、図１等に示した各種装置における各ブロックに示す機能を、図１７に示すＣＰＵ１０が実行する一例として、ソフトウエア・プログラムによって実現する場合について説明した。しかしながら、図１等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【０１３５】
また、各実施形態を例に説明した本発明は、各種装置に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、ＣＰＵ１０がＲＡＭ１１に読み出して実行することによって達成される。
【０１３６】
また、係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【０１３７】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１３８】
この出願は、２０１５年１月２２日に出願された日本出願特願２０１５−０１０４０５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３９】
本発明は、例えば、データやトランザクション処理に関するＷＡＬを格納する装置が分散配置されたデータベースシステム等に適用できる。
【符号の説明】
【０１４０】
１０  ＣＰＵ
１１  ＲＡＭ
１２  ＲＯＭ
１３  外部接続インタフェース
１４  記憶媒体
１００、２００  データベースシステム
１２０  ＳＱＬエンジン
１３０  ＳＱＬ処理部
１３１  データ取得部
１３２  データ処理部
１３３  コミット管理部
１３４  コミットログ管理部
１３５  不整合判断部
１３６  バックアップ制御部
１３７  コミットログ記憶部
１４０  トランザクションエンジン
１５０  トランザクション処理部
１５１  ＷＡＬ管理部
１５２  排他チェック処理部
１５３  ＷＡＬ記憶部
１５４  ＷＡＬ制御部
１６０  ＫＶＳ
１６１  永続データ記憶部
１８０  バックアップ層
１８１  データ複製部
１８２  バックアップデータ記憶部
２１０  ＷＡＬ複製部
２２０  ＷＡＬバックアップデータ記憶部
２３０  ＷＡＬ反映部
【図１】
2016117322.tif 000003
【図２】
2016117322.tif 000004
【図３Ａ】
2016117322.tif 000005
【図３Ｂ】
2016117322.tif 000006
【図３Ｃ】
2016117322.tif 000007
【図４Ａ】
2016117322.tif 000008
【図４Ｂ】
2016117322.tif 000009
【図４Ｃ】
2016117322.tif 000010
【図５Ａ】
2016117322.tif 000011
【図５Ｂ】
2016117322.tif 000012
【図５Ｃ】
2016117322.tif 000013
【図６Ａ】
2016117322.tif 000014
【図６Ｂ】
2016117322.tif 000015
【図６Ｃ】
2016117322.tif 000016
【図７】
2016117322.tif 000017
【図８】
2016117322.tif 000018
【図９】
2016117322.tif 000019
【図１０】
2016117322.tif 000020
【図１１】
2016117322.tif 000021
【図１２】
2016117322.tif 000022
【図１３】
2016117322.tif 000023
【図１４】
2016117322.tif 000024
【図１５】
2016117322.tif 000025
【図１６】
2016117322.tif 000026
【図１７】
2016117322.tif 000027
【手続補正書】
【提出日】平成29年7月13日(2017.7.13)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶装置の更新を要求する更新要求手段と、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、
前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
処理要求装置。
【請求項２】
前記更新要求手段は、前記不整合がある場合、前記記憶装置を更新した情報よりも先に前記処理された情報に基づいて、前記記憶装置の更新を要求する
請求項１記載の処理要求装置。
【請求項３】
前記更新要求手段は、コミットされたトランザクションに関するログを格納する前記処理装置に対して、該処理装置が前記ログに基づいて前記記憶装置を更新することを要求し、
前記不整合判断手段は、前記処理装置が前記ログに基づいて前記記憶装置を更新した結果から、トランザクションがコミットされた順と、該トランザクションに関するログに基づいて前記記憶装置が更新された順とに不整合があるか否かを判断する
請求項１または請求項２記載の処理要求装置。
【請求項４】
前記更新要求手段は、所定の命令に応じて、自装置から要求された以外の情報に基づく前記記憶装置の更新の中断を、前記処理装置に対して指示し、当該命令を受けるまでにコミットされたトランザクションに関するログに基づく前記記憶装置の更新を、前記処理装置に要求する
請求項３記載の処理要求装置。
【請求項５】
関連する情報を格納する格納手段と、
通信可能な処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段と
を備えた処理装置。
【請求項６】
前記更新制御手段は、前記更新を要求された情報よりも先に処理されたが前記記憶装置を更新していない未更新情報がある場合、前記更新を要求された情報と共に該未更新情報に基づいて、前記記憶装置を更新する
請求項５記載の処理装置。
【請求項７】
処理要求装置と、該処理要求装置と通信可能であって関連する情報をそれぞれが格納する複数の処理装置とを備えたデータベースシステムであって、
前記処理要求装置は、
記憶装置の更新を要求する更新要求手段と、
前記処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する不整合判断手段とを備え、
前記更新要求手段は、前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求し、
前記処理装置は、
前記関連する情報を格納する格納手段と、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受け取ると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する更新制御手段と
を備えた
データベースシステム。
【請求項８】
前記更新要求手段は、前記不整合がある場合、前記記憶装置を更新した情報よりも先に前記処理された情報に基づく前記記憶装置の更新を要求する
請求項７記載のデータベースシステム。
【請求項９】
通信可能な処理要求装置から、関連する情報を取得すると共に、該情報を格納する格納手段と、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、該情報を複製する順と前記情報に関する処理の順とが整合するように、前記情報を複製すると共に、該複製した情報をバックアップ装置に格納する複製制御手段とを備えた
処理装置。
【請求項１０】
請求項９記載の処理装置と、
前記処理装置により複製された情報を格納する複製情報格納手段と、
所定の命令に応じて、前記処理装置の前記格納手段に格納される情報のバックアップを、自装置のバックアップ格納手段に格納するバックアップ手段と、
前記バックアップの格納が終了すると、前記複製情報格納手段に格納された情報に基づいて、前記バックアップ格納手段を更新する複製情報反映手段とを備えた前記バックアップ装置と
を備えたデータベースシステム。
【請求項１１】
記憶装置の更新を要求し、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
更新管理方法。
【請求項１２】
通信可能な処理要求装置から、関連する情報を格納する格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する
更新方法。
【請求項１３】
記憶装置の更新を要求し、
前記要求に応じて、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新し、
前記更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断し、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する
データベース更新方法。
【請求項１４】
通信可能な処理要求装置から、関連する情報を取得すると共に、該情報を格納手段に格納し、
前記処理要求装置から、前記格納手段に格納された情報に基づく記憶装置の更新の要求を受けると、該情報を複製する順と前記情報に関する処理の順とが整合するように、前記情報を複製すると共に、該複製した情報を複製情報格納手段に格納し、
所定の命令に応じて、前記格納手段に格納される情報のバックアップを、バックアップ格納手段に格納し、
前記バックアップの格納が終了すると、前記複製情報格納手段に格納された情報に基づいて、前記バックアップ格納手段を更新する
データベース更新方法。
【請求項１５】
記憶装置の更新を要求する処理と、
関連する情報をそれぞれが格納する複数の処理装置が、前記要求に応じて、前記情報に基づいて前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新した結果から、前記情報に関する処理の順と、前記記憶装置が更新された順とに不整合があるか否かを判断する処理と、
前記不整合がある場合、整合に必要な情報に基づく前記記憶装置の更新を要求する処理と
を、コンピュータに実行させる更新管理プログラム。
【請求項１６】
関連する情報を格納手段に格納する処理と、
通信可能な処理要求装置から、前記格納手段に格納された情報で記憶装置を更新する要求を受けると、前記情報で前記記憶装置を更新する順と前記情報に関する処理の順とが整合するように、前記情報に基づいて前記記憶装置を更新する処理と
を、コンピュータに実行させる更新プログラム。
【国際調査報告】
2016117322.tif 000028
2016117322.tif 000029