(57)【要約】【課題】データベース管理システムにおいてシステムの終了処理時間を短縮すること。【解決手段】実行系装置２ａのシステム停止部２３が、システムを停止するときに、ＤＢ管理部２４により通知した分散範囲とストレージＩＤとの対応情報をもとに、分散範囲が示すメモリＤＢデータ２５の部分データを、ストレージＩＤが示すストレージ装置３にデータ出力するように、各待機系装置２ｂのＤＢデータ出力部２８に対して指示し、複数の待機系装置２ｂのＤＢデータ出力部２８が、システム停止部２３からのデータ出力の指示に従い、互いに並列にストレージ装置３へのデータ出力処理を実行することを特徴とする。【選択図】図２
2010134583.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間で冗長化を実行し、前記第１の装置が受け付けたデータ更新要求に従って、メモリＤＢデータのデータを更新するデータベースシステムによるデータベース処理方法であって、
前記第１の装置は、システム定義情報とデータ分散定義情報とを記憶部に記憶するとともに、ＤＢ管理部とシステム停止部とを有し、
前記システム定義情報には、前記第２の装置の装置ＩＤと、その第２の装置からアクセス可能なストレージ装置のストレージＩＤとが対応づけられており、
前記データ分散定義情報には、前記メモリＤＢデータのデータ範囲を示す分散範囲と、その分散範囲のデータの格納先を示す前記ストレージ装置のストレージＩＤとが対応づけられており、
前記第２の装置は、前記メモリＤＢデータのデータを自装置からアクセス可能な前記ストレージ装置へと出力するＤＢデータ出力部を有し、
前記第１の装置の前記ＤＢ管理部は、前記データ分散定義情報に記述される分散範囲ごとに、対応するストレージＩＤの前記ストレージ装置をアクセスする前記第２の装置を前記システム定義情報から検索し、検索した前記第２の装置に対して、分散範囲とストレージＩＤとの対応情報を通知し、
前記第１の装置の前記システム停止部は、あらかじめ指定されているシステム停止開始時刻、または、前記システム停止開始時刻に先立って前記ストレージ装置にデータ出力を開始する先行出力開始時刻に、前記ＤＢ管理部により通知した分散範囲とストレージＩＤとの対応情報をもとに、分散範囲が示す前記メモリＤＢデータの部分データを、ストレージＩＤが示す前記ストレージ装置にデータ出力するように、各前記第２の装置の前記ＤＢデータ出力部に対して指示し、
複数の前記第２の装置の前記ＤＢデータ出力部は、前記システム停止部からのデータ出力の指示に従い、互いに並列に前記ストレージ装置へのデータ出力処理を実行することを特徴とする
データベース処理方法。
【請求項２】
前記システム定義情報には、ストレージＩＤが示す前記ストレージ装置の性能情報がさらに対応づけられており、
前記第１の装置は、前記システム定義情報の性能情報を参照して、高性能の前記ストレージ装置であるほど、割り当てる分散範囲のデータサイズが多くなるように、前記データ分散定義情報を作成することを特徴とする
請求項１に記載のデータベース処理方法。
【請求項３】
前記第１の装置は、複数の前記ストレージ装置にそれぞれ割り当てられる分散範囲の数が均等になるように、前記データ分散定義情報を作成することを特徴とする
請求項１に記載のデータベース処理方法。
【請求項４】
前記ストレージ装置は、さらに、データ管理装置からアクセス可能であり、
前記第１の装置は、データ管理装置が管理する前記ストレージ装置内のデータ範囲に従って、前記データ分散定義情報を作成することを特徴とする
請求項１に記載のデータベース処理方法。
【請求項５】
前記ＤＢデータ出力部は、前記ストレージ装置へのデータ出力処理について、オンライン停止予定時刻を予想して前記先行出力開始時刻時点でのデータ内容を出力する先行出力処理を前記先行出力開始時刻に実行し、その先行出力処理を終えた後に、前記先行出力開始時刻以降に更新されたデータ内容を出力する追加出力処理を実行することを特徴とする
請求項１ないし請求項４のいずれか１項に記載のデータベース処理方法。
【請求項６】
前記ＤＢデータ出力部は、前記ストレージ装置へのデータ出力処理について、前記先行出力開始時刻時点でのデータ内容を出力する先行出力処理を前記先行出力開始時刻に実行するとともに、前記先行出力開始時刻以降に更新されたデータ内容を出力する追加出力処理を実行することを特徴とする
請求項１ないし請求項４のいずれか１項に記載のデータベース処理方法。
【請求項７】
前記第１の装置は冗長化における実行系装置であり、前記第２の装置は冗長化における待機系装置であることを特徴とする
請求項１ないし請求項４のいずれか１項に記載のデータベース処理方法。
【請求項８】
前記第１の装置は冗長化における実行系装置であり、前記第２の装置は冗長化における前記第１の装置とは別の実行系装置であることを特徴とする
請求項１ないし請求項４のいずれか１項に記載のデータベース処理方法。
【請求項９】
請求項１ないし請求項８のいずれか１項に記載のデータベース処理方法を、コンピュータである前記第１の装置および前記第２の装置にそれぞれ実行させるための
データベース処理プログラム。
【請求項１０】
データベース指示装置とデータベース出力装置との間で冗長化を実行し、前記データベース指示装置が受け付けたデータ更新要求に従って、メモリＤＢデータのデータを更新するデータベースシステムに用いられるデータベース指示装置であって、
前記データベース指示装置は、システム定義情報とデータ分散定義情報とを記憶部に記憶するとともに、ＤＢ管理部とシステム停止部とを有し、
前記システム定義情報には、前記データベース出力装置の装置ＩＤと、そのデータベース出力装置からアクセス可能なストレージ装置のストレージＩＤとが対応づけられており、
前記データ分散定義情報には、前記メモリＤＢデータのデータ範囲を示す分散範囲と、その分散範囲のデータの格納先を示す前記ストレージ装置のストレージＩＤとが対応づけられており、
前記データベース指示装置の前記ＤＢ管理部は、前記データ分散定義情報に記述される分散範囲ごとに、対応するストレージＩＤの前記ストレージ装置をアクセスする前記データベース出力装置を前記システム定義情報から検索し、検索した前記データベース出力装置に対して、分散範囲とストレージＩＤとの対応情報を通知し、
前記データベース指示装置の前記システム停止部は、あらかじめ指定されているシステム停止開始時刻、または、前記システム停止開始時刻に先立って前記ストレージ装置にデータ出力を開始する先行出力開始時刻に、前記ＤＢ管理部により通知した分散範囲とストレージＩＤとの対応情報をもとに、分散範囲が示す前記メモリＤＢデータの部分データを、ストレージＩＤが示す前記ストレージ装置にデータ出力するように、各前記データベース出力装置の前記ＤＢデータ出力部に対して並列に指示することを特徴とする
データベース指示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース処理方法、データベース処理プログラム、および、データベース指示装置に関する。
【背景技術】
【０００２】
情報化社会の発展に伴い、大量のトラフィックに対応可能なオンラインシステムを構築するための手段として、メモリデータベース技術が注目を集めている。メモリデータベースとはデータベースを主記憶装置上に構築し、ストレージ装置との入出力を削減することで高速なデータ更新およびデータアクセスを可能とするデータベースである。
【０００３】
メモリデータベースのように主記憶装置上にデータベースを構築するシステムでは、主記憶装置上のデータを保持する場合、システムの終了時に主記憶装置上のデータをストレージ装置に出力する。このとき、ストレージ装置へのデータ出力に要する時間は、主記憶装置上のデータ量が増加するにつれて長くなる。
【０００４】
特許文献１では、ストレージ装置へのデータ出力に要する時間を短縮する方法として、主記憶装置上にあるデータベース内のテーブルをストレージ装置に格納し、主記憶装置上にあるデータベース内のテーブルに対する更新後ログを取得し、トランザクション決着ごとに更新後ログをストレージ上のテーブルに反映する方法を開示している。
【０００５】
特許文献１の方法によれば、システム終了時に主記憶装置上からストレージ装置へと反映するデータ量が少なくなるため、システム終了処理を高速に実施することができる。
【特許文献１】特開平８−７７０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、オンラインシステムにおいて、トランザクションの決着ごとにストレージ装置との入出力が発生すると、オンラインシステムのスループットに大きな影響がでる。そして、システム終了時に主記憶装置上のデータをストレージ装置に出力する時間が、取り扱う情報量に比例して長くかかってしまう。特許文献１の方法では、トランザクション決着ごとに書き出し処理が発生するため、大量のトラフィックを扱うことは、実運用上困難である。
【０００７】
そのため、トランザクション決着ごとではなく、システムの終了時に主記憶装置上のデータをストレージ装置に出力するようなオンラインシステムが、大量のトラフィックに対応可能なシステムとして運用される。しかし、大量のトラフィックに対応した結果、システムの終了時のストレージ装置へのデータ出力処理が、高負荷になってしまう。
【０００８】
そこで、本発明は、前記した問題を解決し、データベース管理システムにおいてシステムの終了処理時間を短縮することを、主な目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明は、第１の装置と第２の装置との間で冗長化を実行し、前記第１の装置が受け付けたデータ更新要求に従って、メモリＤＢデータのデータを更新するデータベースシステムによるデータベース処理方法であって、
前記第１の装置が、システム定義情報とデータ分散定義情報とを記憶部に記憶するとともに、ＤＢ管理部とシステム停止部とを有し、
前記システム定義情報には、前記第２の装置の装置ＩＤと、その第２の装置からアクセス可能なストレージ装置のストレージＩＤとが対応づけられており、
前記データ分散定義情報には、前記メモリＤＢデータのデータ範囲を示す分散範囲と、その分散範囲のデータの格納先を示す前記ストレージ装置のストレージＩＤとが対応づけられており、
前記第２の装置が、前記メモリＤＢデータのデータを自装置からアクセス可能な前記ストレージ装置へと出力するＤＢデータ出力部を有し、
前記第１の装置の前記ＤＢ管理部が、前記データ分散定義情報に記述される分散範囲ごとに、対応するストレージＩＤの前記ストレージ装置をアクセスする前記第２の装置を前記システム定義情報から検索し、検索した前記第２の装置に対して、分散範囲とストレージＩＤとの対応情報を通知し、
前記第１の装置の前記システム停止部が、あらかじめ指定されているシステム停止開始時刻、または、前記システム停止開始時刻に先立って前記ストレージ装置にデータ出力を開始する先行出力開始時刻に、前記ＤＢ管理部により通知した分散範囲とストレージＩＤとの対応情報をもとに、分散範囲が示す前記メモリＤＢデータの部分データを、ストレージＩＤが示す前記ストレージ装置にデータ出力するように、各前記第２の装置の前記ＤＢデータ出力部に対して指示し、
複数の前記第２の装置の前記ＤＢデータ出力部が、前記システム停止部からのデータ出力の指示に従い、互いに並列に前記ストレージ装置へのデータ出力処理を実行することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【００１０】
本発明によれば、データベース管理システムにおいてシステムの終了処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明が適用されるデータベースシステムの一実施形態について、図面を参照しながら説明する。
【００１２】
図１は、データベースシステムの構成例を示す構成図である。データベースシステムは、主記憶装置９２ａ内にデータベースが構築され、そのデータベースのデータ内容を書き出すデータベース更新システムと、その書き出されたデータベースのデータ内容を利用するデータベース利用システムとを含めて構成される。なお、データベース利用システムは、省略してもよい。
【００１３】
データベース更新システムは、ユーザ端末１と、実行系装置２ａと、待機系装置２ｂと、がネットワーク９でアクセス可能に接続されて、構成される。
ユーザ端末１は、実行系装置２ａに対して、データベース操作要求を送信する。
実行系装置２ａは、ユーザ端末１からのデータベース操作要求を受け、主記憶装置９２ａ内のデータを操作する。ストレージ装置３への操作結果やデータの反映は、例えば、システム終了時もしくはユーザ端末１からのデータベース出力命令を契機に行う。
待機系装置２ｂは、実行系装置２ａに対する冗長系として動作する。つまり、実行系装置２ａが現用系として動作している間は待機し、実行系装置２ａに障害が発生すると、実行系装置２ａの処理を代行する。待機系装置２ｂは、実行系装置２ａの処理を代行するため、少なくとも実行系装置２ａの構成要素と同じ構成要素を有する。
このように、１台の実行系装置２ａおよび１台以上の待機系装置２ｂは、互いに冗長系装置として動作する。以下、実行系装置２ａおよび待機系装置２ｂを、冗長系装置と総称する。
【００１４】
実行系装置２ａは、ＣＰＵ（中央演算装置、Central Processing Unit）９１ａ、主記憶装置９２ａ、および、通信インタフェースを備えるコンピュータとして構成される。
待機系装置２ｂは、ＣＰＵ（中央演算装置、Central Processing Unit）９１ｂ、主記憶装置９２ｂ、および、通信インタフェースを備えるコンピュータとして構成される。
これらの冗長系装置には、それぞれ１台以上のストレージ装置３がアクセス可能に接続されている。各冗長系装置は、収容するストレージ装置３のデータを管理するデータベース管理システムとして動作する。
【００１５】
データベース利用システムは、利用端末６と、データ受付装置であるＦＥＳ（Front End Server）５と、データ管理装置であるＢＥＳ（Back End Server）４と、がネットワークで通信可能に接続されて構成される。
利用端末６は、ＦＥＳ５に対して、データベースアクセス要求を送信する。
ＦＥＳ５は、ユーザ端末１からのデータベースアクセス要求を受け、担当ＢＥＳ定義情報４１（詳細は後記）を参照して、その要求で指定されたデータを格納するストレージ装置３を特定し、そのストレージ装置３を収容するＢＥＳ４に対して、データベースアクセス要求を転送する。
ＢＥＳ４は、ＦＥＳ５からのデータベースアクセス要求を受け、ストレージ装置３にデータアクセスする。本実施形態でのＢＥＳ４と、ＦＥＳ５とで、ＤＢＭＳ（DataBase Management System）として機能する。ＢＥＳ４には、それぞれ１台以上のストレージ装置３がアクセス可能に接続されている。
【００１６】
図２は、冗長系装置の詳細を示す構成図である。
実行系装置２ａの主記憶装置９２ａには、システム停止部２３ａと、ＤＢ管理部２４ａと、更新ログ管理部２６ａと、ＤＢデータ出力部２８ａと、を構成するための、ＣＰＵ９１ａによって実行されるプログラムが記録される。
実行系装置２ａの主記憶装置９２ａには、システム定義情報２１と、データ分散定義情報２２ａと、メモリＤＢデータ２５ａと、実行系更新ログ２７ａと、がデータとして記録される。
【００１７】
待機系装置２ｂの主記憶装置９２ｂには、システム停止部２３ｂと、ＤＢ管理部２４ｂと、更新ログ反映部２６ｂと、ＤＢデータ出力部２８ｂと、を構成するための、ＣＰＵ９１ｂによって実行されるプログラムが記録される。
待機系装置２ｂの主記憶装置９２ｂには、データ分散定義情報２２ｂと、メモリＤＢデータ２５ｂと、待機系更新ログ２７ｂと、がデータとして記録される。
【００１８】
さらに、主記憶装置９２ａ，９２ｂには、時刻情報として、入力されるシステム停止開始時刻と、そのシステム停止開始時刻をもとに計算される先行出力開始時刻と、ＤＢデータ出力部２８ａ，２８ｂがストレージ装置３内のデータベースの格納領域３１へデータ出力を終えた後のシステム停止時刻と、が記録される（各時刻の詳細は、後記する図８〜図１２を参照）。
【００１９】
データ分散定義情報２２ａには、各待機系装置２ｂが処理するデータ分散定義情報２２ｂが統合されている。実行系装置２ａは、データ分散定義情報２２ａを作成した後、各待機系装置２ｂに対してそれぞれの処理範囲の分のデータ分散定義情報２２ｂを送信する。
【００２０】
実行系更新ログ２７ａは、実行系装置２ａによって最新の内容に更新された後、各待機系装置２ｂの待機系更新ログ２７ｂとデータの同一化（データ同期）が行われる。
【００２１】
以下、図３〜図１２を参照して、図２の各構成要素の詳細を明らかにする。
【００２２】
図３は、システム定義情報２１の一例を示す構成図である。システム定義情報２１には、装置ＩＤと、装置状態と、ストレージＩＤと、ストレージ性能と、格納領域ＩＤとが、対応づけられている。
「装置ＩＤ」は、データベース更新システムの冗長系装置のＩＤである。
「装置状態」は、装置ＩＤが示す装置の状態を示す。
「動作（冗長系維持）」は、待機系装置２ｂが実行系装置２ａの障害発生時に備えて代行できるように準備している状態を示す。「動作（待機中）」は、待機系装置２ｂがストレージ装置３へのデータ出力に備えて待機している状態を示す。冗長性維持用の待機系装置２ｂには、例えば、収容するストレージ装置３の残りディスク容量が少ない待機系装置２ｂが選択される。
【００２３】
「ストレージＩＤ」は、装置ＩＤが示す装置からアクセス可能に構成（外部接続または内包）されているストレージ装置３のＩＤである。
「ストレージ性能」は、ストレージＩＤが示すストレージ装置３の性能を示す。図３では、性能指標の一例として、書き込み速度を記述している。
「格納領域ＩＤ」は、ストレージ装置３内の格納領域３１を特定するＩＤである。
【００２４】
システム定義情報２１の「装置状態」は、各待機系装置２ｂから実行系装置２ａに対して、最新の状態が随時通知されて更新されるパラメータである。
システム定義情報２１の「装置状態」以外のパラメータは、システムスペックであるので、例えばデータベースシステムの管理者によって、あらかじめ登録される。なお、「ストレージ性能」は、ストレージ装置３の仕様による数値でも、ストレージ装置３に対する平均的な書き込み速度でもよい。
【００２５】
以上説明した図３のシステム定義情報２１は、あくまで一例であり、装置の台数などの記載事項をこの一例だけに限定するものではない。よって、待機系装置２ｂの台数は１台以上の任意の数でよいし、各装置が収容するストレージ装置３の台数は１台以上の任意の数でよい。そして、各装置間で収容するストレージ装置３の台数やストレージ性能（書き込み速度や、格納可能なデータサイズなど）が同じでも異なっていてもよい。
【００２６】
図４は、データ分散定義情報２２ａの一例を示す構成図である。データ分散定義情報２２ａは、分散ＩＤと、分散範囲と、ストレージＩＤと、格納領域ＩＤと、を対応づけて管理するデータである。
例えば、メモリＤＢデータ２５のうちの、分散ＩＤ「Ｄ１」が示す分散範囲「テーブルＴ１」のデータは、ストレージＩＤ「ストレージＳｔ１」のストレージ装置３内の格納領域ＩＤ「領域Ｒ１」の格納領域３１に格納される。
【００２７】
ＤＢ管理部２４ａは、管理するメモリＤＢデータ２５に格納される各データについて、システム定義情報２１を参照して、格納先（ストレージＩＤと格納領域ＩＤとの組み合わせ）ごとにその一部を分散範囲として指定することにより、データ分散定義情報２２ａを作成する。
なお、分散範囲を格納先に割り当てる処理は、例えば、システム定義情報２１に記述されているストレージ装置３のストレージ性能（書き込み速度）に比例して、分散範囲のデータ量を決定する手法が、用いられる。この手法により、高性能のストレージ装置３には多くのデータを割り当てるとともに、低性能のストレージ装置３には少ないデータを割り当てることで、各ストレージ装置３のデータ書き込み時間を均一化することができる。
【００２８】
図５は、データ分散定義情報２２ａの別の一例を示す構成図である。この図５の例は、１つのテーブルを複数の部分テーブルに分割し、その部分テーブルごとに分散範囲とする点が、図４と異なる。
分散範囲として、テーブルＴ１内の列の内、キー列に格納されているデータ値の範囲（いわゆる、キーレンジ）が、部分テーブルのエントリを特定する情報に用いられている。例えば、キー列の値が「２０００」であるＴ１の所定レコードは、分散ＩＤ「Ｄ３」に該当するので、ストレージＳｔ３内の領域Ｒ３に格納される。
【００２９】
以上、図４および図５で示したように、データ分散定義情報２２ａの分散範囲には、メモリＤＢデータ２５内のデータ範囲を特定する任意の情報を定義することができる。例えば、分散範囲は、アドレスの先頭と末尾、ハッシュ値、列名称などを用いて、定義される。
【００３０】
図６は、担当ＢＥＳ定義情報４１の一例を示す構成図である。担当ＢＥＳ定義情報４１は、担当ＢＥＳと、分散範囲と、ストレージＩＤと、格納領域ＩＤとを対応づけて管理する。
メモリＤＢデータ２５の部分データ（分散範囲）を、格納先（ストレージＩＤ、格納領域ＩＤ）へ割り当てる旨は、担当ＢＥＳ定義情報４１と、データ分散定義情報２２ａとで共通する。一方、担当ＢＥＳ定義情報４１には、格納先（ストレージＩＤ、格納領域ＩＤ）の管理を担当するＢＥＳ４の特定情報として、「担当ＢＥＳ」がさらに対応づけられている。
【００３１】
データ分散定義情報２２ａと、担当ＢＥＳ定義情報４１との関係について、説明する。データ分散定義情報２２ａは実行系装置２ａ（ＤＢ管理部２４ａ）によって作成され、データベース利用システムのデータベース設計者などにより、作成される。一方、両定義情報が示す格納先のデータベースは、ともにストレージ装置３内で共用されている（図１参照）。
そこで、ストレージ装置３内の格納領域３１のデータ内容を示すデータ分散定義情報２２ａと、担当ＢＥＳ定義情報４１とを整合化する必要がある。整合化処理は、実行系装置２ａが、以下に示す第１〜第３の整合化処理のいずれかを実行することによって、実現される。
【００３２】
第１の整合化処理として、データ分散定義情報２２ａの作成前に、担当ＢＥＳ定義情報４１が既に作成されていたときには、実行系装置２ａ（ＤＢ管理部２４ａ）は、担当ＢＥＳ定義情報４１から分散範囲と、ストレージＩＤと、格納領域ＩＤとの対応づけ情報を読み取り、新しく作成するデータ分散定義情報２２ａにコピーする。このコピー処理において、ＤＢ管理部２４ａは、各対応付け情報に対して、一意の分散ＩＤを発行する。
【００３３】
第２の整合化処理として、データ分散定義情報２２ａの作成前に、担当ＢＥＳ定義情報４１が存在しないときには、実行系装置２ａ（ＤＢ管理部２４ａ）は、図４で説明したように、ストレージ性能に比例した分散範囲と、ストレージＩＤと、格納領域ＩＤとの対応づけ情報を作成し、一意の分散ＩＤを付加してデータ分散定義情報２２ａを作成する。
そして、データ分散定義情報２２ａの作成後に担当ＢＥＳ定義情報４１が登録されたときには、ＤＢ管理部２４ａは、データ分散定義情報２２ａが示す分散範囲と格納先との対応付けを、担当ＢＥＳ定義情報４１が示す分散範囲と格納先との対応付けになるように、データ分散定義情報２２ａを書き換えるとともに、その書き換えに伴ってストレージ装置３の格納領域３１に格納されたデータの再配置を実行する。
【００３４】
第３の整合化処理として、データ分散定義情報２２ａの作成前に、担当ＢＥＳ定義情報４１が存在しないときには、実行系装置２ａ（ＤＢ管理部２４ａ）は、図４で説明したように、ストレージ性能に比例した分散範囲と、ストレージＩＤと、格納領域ＩＤとの対応づけ情報を作成し、一意の分散ＩＤを付加してデータ分散定義情報２２ａを作成する。
そして、データ分散定義情報２２ａの作成後に、そのデータ分散定義情報２２ａの対応づけ情報を、担当ＢＥＳ定義情報４１にコピーする。これにより、第２の整合化処理でのデータの再配置が不要になる。
【００３５】
図７は、冗長系装置の処理の概要を示す説明図である。
実行系装置２ａは、図４で説明したように、システム定義情報２１のストレージ性能に比例した分散範囲と、格納領域ＩＤとの対応づけを実行し、その結果をデータ分散定義情報２２に格納する。その結果、データ分散定義情報２２において、高性能（60.0MB/sec）のストレージ装置３の領域Ｒ３には多くのデータ量（301〜600=600MB）が割り当てられ、低性能（20.0MB/sec）のストレージ装置３の領域Ｒ２には少ないデータ量（201〜300=100MB）が割り当てられる。
【００３６】
実行系装置２ａは、作成したデータ分散定義情報２２ａを各待機系装置２ｂに該当部分を分配する。例えば、システム定義情報２１を参照すると、待機系装置２ｂ（Ａ）には領域Ｒ１，Ｒ２が収容されているので、データ分散定義情報２２ｂの領域Ｒ１，Ｒ２のレコード分が分配される。
【００３７】
待機系装置２ｂ（Ａ）は、受信したデータ分散定義情報２２ｂの分散範囲が示すメモリＤＢデータ２５のデータを、データ分散定義情報２２ｂの格納領域ＩＤが示すストレージ装置３の格納領域３１へと書き出す。
【００３８】
図８は、待機系装置２ｂが、ストレージ装置３の格納領域３１へとデータを書き出すときの、タイミングを示す説明図である。
３台の待機系装置２ｂ（Ａ，Ｂ，Ｃ）は、システム停止開始時刻になった時点で、データ並列処理として、データ出力を実行している。そして、データ分散定義情報２２には、データ出力先を示す「格納領域３１」が互いに重複しないように設定されているので、データ出力間の衝突は発生しない。
そして、各待機系装置２ｂは、自装置の担当分のデータ出力タスクを実行した後、他装置のデータ出力の終了を待たずに、システムを停止する。よって、全システムが停止した時刻（システム停止時刻）は、システム停止開始時刻からの時間経過が少なくて済む。
【００３９】
図９は、実行系装置２ａが、ストレージ装置３の格納領域３１へとデータを書き出すときの、タイミングを示す説明図である。３つのデータ出力タスク（Ｄ１，Ｄ２，Ｄ３）を直列処理（順次処理）として実行するため、図８のデータ並列処理と比較すると、システム停止開始時刻からシステム停止時刻までにかかる時間は、長期化してしまう。
【００４０】
図１０は、図８で示したデータ並列処理の、別の形態を示す説明図である。図８との違いは、図８における１つのデータ出力タスク（Ｄ１など）を、１つの先行出力と、１つの追加出力とに分割している点である。
「先行出力」とは、システム停止開始時刻の前である先行出力開始時刻の時点におけるメモリＤＢデータ２５のデータ内容を、格納領域３１へと書き出す処理である。
「追加出力」とは、先行出力開始時刻の後に更新されたメモリＤＢデータ２５のデータ内容を、格納領域３１へと書き出す処理である。
このように、図１０のデータ出力処理は、図８と比較すると、システム停止開始時刻より前の先行出力開始時刻から、前倒しでデータ出力（先行出力）を開始するため、システム停止開始時刻からシステム停止時刻までの、見かけ上のシステム停止時間を短縮することができる。
【００４１】
図１１は、図１０で示したデータ並列処理の、別の形態を示す説明図である。図１０との違いは、図１０における追加出力を、先行出力後の１回とする代わりに、先行出力開始時刻の後に更新データが発生するたびに、先行出力と並列して実行する点である。
これにより、図１０のデータ出力処理よりも、さらに、見かけ上のシステム停止時間を短縮することができる。
【００４２】
図１２は、図１０の先行出力および追加出力において、待機系装置２ｂの各構成要素間のタイミングを示すシーケンス図である。
先行出力開始時刻に、ＤＢデータ出力部２８は、先行出力タスクを起動し、先行出力開始時刻の時点におけるメモリＤＢデータ２５のデータ内容を、格納領域３１へと書き出す。システム停止開始時刻よりも前に先行出力タスクが終了するように、先行出力開始時刻が設定されることが、望ましい。
システム停止開始時刻に、システム停止部２３は、ＤＢデータ出力部２８に対して、システム停止に伴う追加出力の開始を指示する。ＤＢデータ出力部２８は、その指示を受け、追加出力タスクを起動し、先行出力開始時刻以降に更新されたメモリＤＢデータ２５のデータ内容を、格納領域３１へと書き出す。
ＤＢデータ出力部２８は、追加出力タスクからの終了通知を受けると、システム停止部２３に対してデータ出力を終了した旨を通知する。システム停止部２３は、データ出力の終了通知を受け、システム（自装置の待機系装置２ｂ）を停止する。
【００４３】
図１３は、実行系装置２ａのＤＢデータ出力部２８ｂの処理手順を示すフローチャートである。このフローチャートの実行中に、実行系装置２ａのＤＢ管理部２４ａは、ユーザ端末１からのデータアクセス要求に対応する処理を継続的に実行する。具体的には、ＤＢ管理部２４ａは、管理するメモリＤＢデータ２５ａに対するデータアクセス要求をユーザ端末１から受け、そのデータアクセス要求の内容をメモリＤＢデータ２５ａに反映するとともに、更新ログ管理部２６ａに対して、データアクセス要求の内容を更新ログとして実行系更新ログ２７ａに保持させる。
【００４４】
Ｓ１０１ａにおいて、データ同期処理として、更新ログ管理部２６ａは、自装置の実行系更新ログ２７ａのデータ内容と、他装置の待機系更新ログ２７ｂのデータ内容を同一化するため、実行系更新ログ２７ａのうち、未送信の更新ログを、他装置の更新ログ反映部２６ｂに対して送信する。なお、ここでの他装置とは、１台以上の待機系装置２ｂであるため、複数台の待機系装置２ｂにデータ送信するときには、マルチキャスト通信などで一括して送信することが、通信効率の上で望ましい。
Ｓ１０１ｂにおいて、データ同期処理として、更新ログを受信した更新ログ反映部２６ｂは、待機系更新ログ２７ｂにその受信した更新ログを記録する。
【００４５】
Ｓ１０２において、ＤＢ管理部２４ａは、システム定義情報２１に登録されている各冗長系装置から、分散対象の冗長系装置を選択する。以下が、冗長系装置の選択方法の一例である。
・装置状態が「動作（待機中）」である装置が２台以上存在するときには、その存在する２台以上の待機系装置２ｂを、分散対象の冗長系装置として選択する。
・装置状態が「動作（待機中）」である装置が１台存在するときには、その存在する１台の待機系装置２ｂ、および、データ分散定義情報２２ａに登録されている実行系装置２ａの合計２台を、分散対象の冗長系装置として選択する。
・装置状態が「動作（待機中）」である装置が存在しないときには、待機系装置２ｂによるデータの分散出力をせずに、実行系装置２ａがシステム停止開始時刻になった後に、データを出力する（図９参照）。
【００４６】
Ｓ１０３ａにおいて、実行系装置２ａのＤＢ管理部２４ａは、分散定義処理を実行することでデータ分散定義情報２２ａを作成し、そのデータ分散定義情報２２ａの担当部分ごとに、Ｓ１０２で選択された分散対象の各待機系装置２ｂに送信する（図７参照）。Ｓ１０３ａで実行される分散定義処理は、後記する図１４〜図１６でそれぞれ示される処理のうち、いずれか１つの図面が示す処理である。
データ分散定義情報２２ａの担当部分は、次のようにして取得する。まず、システム定義情報２１の「装置ＩＤ」に対応する「ストレージＩＤ」を取得する。次に、取得した「ストレージＩＤ」に一致する、データ分散定義情報２２の「ストレージＩＤ」のレコードを検索し、検索されたレコードが、担当部分である。
Ｓ１０３ｂにおいて、各待機系装置２ｂは、受信したデータ分散定義情報２２ａの担当部分のレコードを、データ分散定義情報２２ｂに格納する。
【００４７】
Ｓ１０４ａにおいて、実行系装置２ａのシステム停止部２３は、先行出力開始時刻を計算する。例えば、以下の式に示すように、データ分散定義情報２２に格納されている分散範囲ごとの先行出力時間を求め、その最長時間を元に、先行出力開始時刻を計算する。
（分散範囲ごとの先行出力時間）＝（データ分散定義情報２２の分散範囲が示すデータ量）÷（データ分散定義情報２２の分散範囲に対応するストレージ装置３についてのシステム定義情報２１で示される書き込み速度）
（先行出力開始時刻）＝（システム停止開始時刻）−（分散範囲ごとの先行出力時間の最長時間）
Ｓ１０４ｂにおいて、待機系装置２ｂは、実行系装置２ａからＳ１０４ａの計算結果である先行出力開始時刻を受信し、自装置の主記憶装置９２ｂに格納する。
【００４８】
以下に説明する処理（Ｓ１１１〜Ｓ１１４）は、分散対象の各冗長系装置によって、それぞれ並列処理される。
【００４９】
Ｓ１１１において、各冗長系装置は、先行時刻になるまで待機する。
Ｓ１１２において、各冗長系装置は、Ｓ１０３ａで作成されたデータ分散定義情報２２ａに、自装置が収容するストレージ装置３のデータ出力担当部分があるか否かを判定する。担当部分がないときには（Ｓ１１２，Ｎｏ）、処理を終了する。
【００５０】
Ｓ１１３において、ＤＢデータ出力部２８は、図１７で後記する先行出力処理を実行する。
Ｓ１１４において、ＤＢデータ出力部２８は、図１８または図１９で後記する追加出力処理を実行する。なお、先行出力処理（Ｓ１１３）と追加出力処理（Ｓ１１４）は、直列に開始してもよいし（図１０参照）、並列に開始してもよい（図１１参照）。
【００５１】
図１４は、ＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第１例を示すフローチャートである。このフローチャートを開始する前に、データ分散定義情報２２には、分散ＩＤとその分散範囲とがあらかじめ入力されている。
【００５２】
Ｓ２０１において、データ分散定義情報２２の分散ＩＤを順に選択するループを開始する。
Ｓ２０２において、システム定義情報２１のストレージＩＤを順に選択するループを開始する。このループで選択中のストレージＩＤで示されるストレージ装置３を「選択中ストレージ」と呼ぶことにする。
【００５３】
Ｓ２０３において、以下の式により、選択中ストレージの書き込み時間を計算する。
（選択中ストレージの書き込み時間）＝（（ループで選択中の分散ＩＤに対応する分散範囲のデータ量）＋（選択中ストレージの既に割り当て済みのデータ量））÷（選択中ストレージのシステム定義情報２１で示される書き込み速度）
Ｓ２０４において、Ｓ２０３で既に計算した「選択中ストレージの書き込み時間」のうち、最短時間を、選択中ストレージのストレージＩＤと対応づけて保持する。
【００５４】
Ｓ２０５において、Ｓ２０３で計算した「選択中ストレージの書き込み時間」が「平均書き込み時間」以下であるか否かを判定する。判定条件を満たすときにはＳ２０６へ、満たさないときにはＳ２０７へ、それぞれ進む。なお、平均書き込み時間は、以下の式により計算できる。
（平均書き込み速度）＝（システム定義情報２１に記述されている各ストレージ装置３の書き込み速度の総和）÷（ストレージ装置３の台数）
（平均書き込み時間）＝（データ分散定義情報２２に記述されている分散範囲のデータ量の総和）÷（平均書き込み速度）
【００５５】
Ｓ２０６において、ループで選択中の分散ＩＤに対応する分散範囲のデータを、選択中ストレージに割り当てる旨を決定する。
Ｓ２０７において、Ｓ２０２からのループを終了する。
Ｓ２０８において、ループで選択中の分散ＩＤに対して、選択中ストレージが割り当てられたか（つまり、Ｓ２０６が実行されたか）否かを判定する。判定条件を満たすときにはＳ２１０へ、満たさないときにはＳ２０９へ、それぞれ進む。
Ｓ２０９において、ループで選択中の分散ＩＤに対応する分散範囲のデータを、Ｓ２０４で保持した「選択中ストレージの書き込み時間」が最短時間であるストレージ装置３に割り当てる旨を決定する。
Ｓ２１０において、Ｓ２０１からのループを終了する。以上により、データ分散定義情報２２の分散範囲は、ストレージＩＤと対応づけられる。そして、ＤＢ管理部２４ａは、システム定義情報２１を参照し、ストレージＩＤと格納領域ＩＤとの対応付けを、データ分散定義情報２２に反映する。
【００５６】
図１５は、ＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第２例を示すフローチャートである。このフローチャートを開始する前に、データ分散定義情報２２には、分散ＩＤとその分散範囲とがあらかじめ入力されている。
なお、図１５のステップを示す符号は、図１４と同じ処理については、同じ符号を付ける。
【００５７】
Ｓ２０１において、データ分散定義情報２２の分散ＩＤを順に選択するループを開始する。
Ｓ２０２において、システム定義情報２１のストレージＩＤを順に選択するループを開始する。このループで選択中のストレージＩＤで示されるストレージ装置３を「選択中ストレージ」と呼ぶことにする。
【００５８】
Ｓ２０３ａにおいて、データ分散定義情報２２を参照し、選択中ストレージに対して既に割り当てられている分散ＩＤの数を計算する。
Ｓ２０４ａにおいて、Ｓ２０３ａで既に計算した「既に割り当てられている分散ＩＤの数」のうち、最小の数を、選択中ストレージのストレージＩＤと対応づけて保持する。
Ｓ２０７において、Ｓ２０２からのループを終了する。
Ｓ２０９ａにおいて、ループで選択中の分散ＩＤに対応する分散範囲のデータを、Ｓ２０４ａで保持した「既に割り当てられている分散ＩＤの数」が最小数であるストレージ装置３に割り当てる旨を決定する。
Ｓ２１０において、Ｓ２０１からのループを終了する。以上により、データ分散定義情報２２の分散範囲は、ストレージＩＤと対応づけられる。そして、ＤＢ管理部２４ａは、システム定義情報２１を参照し、ストレージＩＤと格納領域ＩＤとの対応付けを、データ分散定義情報２２に反映する。
【００５９】
図１６は、ＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第３例を示すフローチャートである。このフローチャートを開始する前に、データ分散定義情報２２には、分散ＩＤとその分散範囲とがあらかじめ入力されているとともに、担当ＢＥＳ定義情報４１があらかじめ作成されている。
なお、図１６のステップを示す符号は、図１４および図１５と同じ処理については、同じ符号を付ける。
【００６０】
Ｓ２２１において、担当ＢＥＳ定義情報４１の担当ＢＥＳを順に選択するループを開始する。
Ｓ２０１ｂにおいて、ループで選択中の担当ＢＥＳに対応する担当ＢＥＳ定義情報４１の格納領域ＩＤと一致するデータ分散定義情報２２の格納領域ＩＤを特定する。そして、その特定したデータ分散定義情報２２の格納領域ＩＤに対応するデータ分散定義情報２２の分散ＩＤを順に選択するループを開始する。
Ｓ２０２ｂにおいて、ループで選択中の担当ＢＥＳに対応する担当ＢＥＳ定義情報４１のストレージＩＤと一致するシステム定義情報２１のストレージＩＤを特定する。そして、その特定したシステム定義情報２１のストレージＩＤを順に選択するループを開始する。このループで選択中のストレージＩＤで示されるストレージ装置３を「選択中ストレージ」と呼ぶことにする。
【００６１】
Ｓ２０３ａにおいて、データ分散定義情報２２を参照し、選択中ストレージに対して既に割り当てられている分散ＩＤの数を計算する。
Ｓ２０４ａにおいて、Ｓ２０３ａで既に計算した「既に割り当てられている分散ＩＤの数」のうち、最小の数を、選択中ストレージのストレージＩＤと対応づけて保持する。
Ｓ２０７において、Ｓ２０２ｂからのループを終了する。
【００６２】
Ｓ２０９ａにおいて、ループで選択中の分散ＩＤに対応する分散範囲のデータを、Ｓ２０４ａで保持した「既に割り当てられている分散ＩＤの数」が最小数であるストレージ装置３に割り当てる旨を決定する。
Ｓ２１０において、Ｓ２０１ｂからのループを終了する。
Ｓ２２２において、Ｓ２２１からのループを終了する。以上により、データ分散定義情報２２の分散範囲は、ストレージＩＤと対応づけられる。そして、ＤＢ管理部２４ａは、システム定義情報２１を参照し、ストレージＩＤと格納領域ＩＤとの対応付けを、データ分散定義情報２２に反映する。
【００６３】
図１７は、先行出力処理（Ｓ１１３）の処理手順を示すフローチャートである。本フローチャートの処理は、Ｓ１０２で決定された各分散対象の冗長系装置によって、それぞれ実行される。
本フローチャートの説明では、システム停止部２３ｂが実行する先行出力処理の詳細を説明するが、システム停止部２３ａが実行する先行出力処理も、動作の主体およびデータの格納位置が異なるだけであり、情報処理の内容は同じである。
【００６４】
Ｓ３０１において、システム停止部２３ｂは、更新ログ反映部２６ｂに対して、先行出力開始時刻後に到着した待機系更新ログ２７ｂをメモリＤＢデータ２５に反映する処理を停止し、保持し続けるように指示する。
【００６５】
Ｓ３０２において、システム停止部２３ｂは、データ分散定義情報２２ｂから各レコードの値（分散ＩＤ、分散範囲、ストレージＩＤ、格納領域ＩＤ）を取得する。
【００６６】
Ｓ３０３において、システム停止部２３ｂは、Ｓ３０２でデータ分散定義情報２２ｂから取得した分散ＩＤごとに、ループを開始する。このループで、分散ＩＤに対応するデータ（分散範囲、ストレージＩＤ、格納領域ＩＤ）は、Ｓ３０２で取得したデータである。
【００６７】
Ｓ３０４において、システム停止部２３ｂは、ループで選択中の分散ＩＤに対応する分散範囲のデータ内容をメモリＤＢデータ２５から読み取り、分散ＩＤに対応するストレージＩＤが示すストレージ装置３内の、分散ＩＤに対応する格納領域ＩＤが示す格納領域３１へと書き出す。ここで、書き出し先のストレージ装置３が起動されていないときには、前準備としてストレージ装置３を起動して入出力可能な状態にする。
【００６８】
なお、Ｓ３０４の書き出し処理は、書き出し処理を実行する待機系装置２ｂ（システム停止部２３ｂ）と、他の待機系装置２ｂとの間で、書き出し対象のデータ（分散範囲）に処理の依存関係が発生しない。よって、複数の待機系装置２ｂ間で、Ｓ３０４の処理は、データ並列処理とすることができる（図１０参照）。
【００６９】
ここで、Ｓ３０４におけるある分散範囲のデータ書き出し処理と、別の分散範囲のデータ書き出し処理とは、互いに独立処理が可能であるので、Ｓ３０４の処理は、ある分散範囲のデータ書き出し処理の完了を待つ代わりに、ある分散範囲のデータ書き出し処理を実行するためのタスクやプロセスを起動し、その起動したタスクやプロセスの完了をまたずに、Ｓ３０４の処理を終了してもよい。
【００７０】
Ｓ３０５において、Ｓ３０３からのループを終了する。
【００７１】
図１８は、第１例の追加出力処理（Ｓ１１４）の処理手順を示すフローチャートである。この第１例は、先行出力開始時刻後に到着した待機系更新ログ２７ｂを、メモリＤＢデータ２５に反映せずに、差分形式のログデータとしてそのままストレージ装置３に書き出す方法である。この第１例によれば、差分反映処理を実行しないため、先行出力開始時刻からシステム停止時刻までの時間を短縮化することができる。
【００７２】
Ｓ４０１において、システム停止部２３ｂは、先行出力開始時刻後に到着した待機系更新ログ２７ｂの待避先となるストレージ装置３を選択する。待避先のストレージ装置３の選択方法は、例えば、データ分散定義情報２２ｂの中で、最も大きな分散範囲に対応づけられているストレージＩＤのストレージ装置３を、入出力速度が最も速いストレージ装置３と判断して選択する方法がある。
【００７３】
Ｓ４０２において、システム停止部２３ｂは、実行系装置２ａの実行系更新ログ２７ａのうち、待機系更新ログ２７ｂを介して待機系装置２ｂのメモリＤＢデータ２５ｂにまだ反映されていないデータが存在するか否かを判定する。判定条件を満たすときにはＳ４０３へ、満たさないときにはＳ４０４へ、それぞれ進む。この判定処理は、例えば、システム停止部２３ｂがシステム停止部２３ａに対して、実行系更新ログ２７ａの問い合わせ要求を送信し、システム停止部２３ａからの応答通知によって判断する。
【００７４】
Ｓ４０３において、システム停止部２３ｂは、先行出力開始時刻後に到着した待機系更新ログ２７ｂ（Ｓ４０２の問い合わせ結果や、その問い合わせ前に既に保持していたデータ）を、Ｓ４０１で決定した待避先のストレージ装置３へと書き出す。
【００７５】
Ｓ４０４において、システム停止部２３ｂは、自装置（待機系装置２ｂ）のシステム停止をするか否かを判断する。この判断は、例えば、所定時間連続して実行系更新ログ２７ａから待機系更新ログ２７ｂへのログ送信が行われなかったときに、システム停止をすることとしてもよいし、実行系装置２ａから明示的なシステム停止信号を受信したときに、システム停止をすることとしてもよい。判定条件を満たすときにはＳ４０５へ、満たさないときにはＳ４０６へ、それぞれ進む。
【００７６】
Ｓ４０５において、システム停止部２３ｂは、自装置（待機系装置２ｂ）およびその自装置が収容するストレージ装置３の電源制御（電源オフや、休止状態への移行など）を実行することで、システムを停止する。
【００７７】
Ｓ４０６において、システム停止部２３ｂは、更新ログ反映部２６ｂに対して、Ｓ４０３で待避した待機系更新ログ２７ｂを、メモリＤＢデータ２５ｂに反映する処理を再開するように通知する。
更新ログ反映部２６ｂは、再開の通知を受け、メモリＤＢデータ２５ｂを更新するとともに、その更新結果を、格納領域３１へ書き出すよう、ＤＢデータ出力部２８に指示する。
【００７８】
図１９は、第２例の追加出力処理（Ｓ１１４）の処理手順を示すフローチャートである。この第２例は、先行出力開始時刻後に到着した待機系更新ログ２７ｂを、メモリＤＢデータ２５に反映してから、そのメモリＤＢデータ２５をストレージ装置３に書き出す方法である。この第２例によれば、ストレージ装置３には差分形式のログデータが書き込まれないため、データベース利用システム（ＢＥＳ４、ＦＥＳ５、利用端末６）は、データアクセスを効率的に実行することができる。
【００７９】
Ｓ４１１において、システム停止部２３ｂは、更新ログ反映部２６ｂに対して、先行出力開始時刻後に到着した待機系更新ログ２７ｂを、メモリＤＢデータ２５に反映するとともに、その反映位置を記録するように指示する。
【００８０】
Ｓ４１２において、システム停止部２３ｂは、更新ログ反映部２６ｂから待機系更新ログ２７ｂの反映結果として記録された反映位置を取得し、その反映位置と、データ分散定義情報２２の分散範囲とを照合し、反映位置に対応するデータ分散定義情報２２の分散ＩＤを取得する。
【００８１】
Ｓ４１３において、システム停止部２３ｂは、Ｓ４１１で反映された反映位置におけるデータ内容を、Ｓ４１２で取得した分散ＩＤに対応するストレージ装置３内の、分散ＩＤに対応する格納領域ＩＤが示す格納領域３１へと書き出す。ここで、書き出し先のストレージ装置３が起動されていないときには、前準備としてストレージ装置３を起動して入出力可能な状態にする。なお、Ｓ４１３の書き出し処理は、データ分散定義情報２２の分散範囲が示すデータ内容の全体を書き出してもよいし、反映位置に対応する変更箇所のデータ内容だけを書き出してもよい。
【００８２】
Ｓ４１４において、システム停止部２３ｂは、自装置（待機系装置２ｂ）のシステム停止をするか否かを判断する。この判断は、例えば、所定時間連続して実行系更新ログ２７ａから待機系更新ログ２７ｂへのログ送信が行われなかったときに、システム停止をすることとしてもよいし、実行系装置２ａから明示的なシステム停止信号を受信したときに、システム停止をすることとしてもよい。
【００８３】
Ｓ４１５において、システム停止部２３ｂは、自装置（待機系装置２ｂ）およびその自装置が収容するストレージ装置３の電源制御（電源オフや、休止状態など）を実行することで、システムを停止する。
【００８４】
図２０は、冗長系装置の詳細を示す第２の構成図である。
実行系装置２ａの主記憶装置９２ａには、システム停止部２３ａと、ＤＢ管理部２４ａと、更新ログ管理部２６ａと、更新ログ反映部２６ｂと、ＤＢデータ出力部２８ａと、を構成するための、ＣＰＵ９１ａによって実行されるプログラムが記録される。
実行系装置２ａの主記憶装置９２ａには、システム定義情報２１と、データ分散定義情報２２ａと、メモリＤＢデータ２５ａと、実行系更新ログ２７ａと、待機系更新ログ２７ｂと、がデータとして記録される。
【００８５】
さらに、主記憶装置９２ａには、時刻情報として、入力されるシステム停止開始時刻と、そのシステム停止開始時刻をもとに計算される先行出力開始時刻と、ＤＢデータ出力部２８ａがストレージ装置３内のデータベースの格納領域３１へデータ出力を終えた後のシステム停止時刻と、が記録される（各時刻の詳細は、図８〜図１２を参照）。
【００８６】
データ分散定義情報２２ａには、実行系装置２ａが処理するデータ分散定義情報２２ｂが統合されている。実行系装置２ａは、データ分散定義情報２２ａを作成した後、他の実行系装置２ａに対してそれぞれの処理範囲の分のデータ分散定義情報２２ｂを送信する。
【００８７】
実行系更新ログ２７ａは、実行系装置２ａによって最新の内容に更新された後、他の実行系装置２ａの待機系更新ログ２７ｂとデータの同一化（データ同期）が行われる（図２０の各構成要素の詳細は図３〜図１２を参照）。
【００８８】
以上説明した本実施形態では、実行系装置２ａおよび待機系装置２ｂ上のメモリＤＢデータ２５を、ストレージ装置３の格納領域３１へと書き出すときに、データ分散定義情報２２において、各装置のデータ出力の範囲として設定した分散範囲の分を、各装置がそれぞれデータ並列処理として書き出すことを主な特徴とする。これにより、データの書き出しに必要な時間が短縮化される。
さらに、実行系装置２ａおよび待機系装置２ｂは、システム停止開始時刻より前の先行出力開始時刻において、その先行出力開始時刻におけるデータ内容の書き出しを開始することにより、システム停止開始時刻からシステム停止時刻までの時間を短縮することができる。
そして、実行系装置２ａおよび待機系装置２ｂは、ストレージ装置３に対して、データ内容そのものを書き出してもよいし、データ内容を更新するための更新ログ（ＳＱＬの命令など）を、データ内容の代わりに書き出してもよい。
【００８９】
以上説明した本実施形態と、請求項に記載された本願発明とは、以下のように用語が対応する。
本実施形態における「図２の実行系装置２ａ」および「図２０の実行系装置２ａ（左側）」は、それぞれ本願発明の「第１の装置」および「データベース指示装置」に対応する。
本実施形態における「図２の待機系装置２ｂ」および「図２０の実行系装置２ａ（右側）」は、それぞれ本願発明の「第２の装置」および「データベース出力装置」に対応する。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態に関するデータベースシステムの構成例を示す構成図である。
【図２】本発明の一実施形態に関する冗長系装置の詳細を示す構成図である。
【図３】本発明の一実施形態に関するシステム定義情報２１の一例を示す構成図である。
【図４】本発明の一実施形態に関するデータ分散定義情報２２ａの一例を示す構成図である。
【図５】本発明の一実施形態に関するデータ分散定義情報２２ａの別の一例を示す構成図である。
【図６】本発明の一実施形態に関する担当ＢＥＳ定義情報４１の一例を示す構成図である。
【図７】本発明の一実施形態に関する冗長系装置の処理の概要を示す説明図である。
【図８】本発明の一実施形態に関する待機系装置２ｂが、ストレージ装置３の格納領域３１へとデータを書き出すときの、タイミングを示す説明図である。
【図９】本発明の一実施形態に関する実行系装置２ａが、ストレージ装置３の格納領域３１へとデータを書き出すときの、タイミングを示す説明図である。
【図１０】本発明の一実施形態に関する図８で示したデータ並列処理の、別の形態を示す説明図である。
【図１１】本発明の一実施形態に関する図１０で示したデータ並列処理の、別の形態を示す説明図である。
【図１２】本発明の一実施形態に関する図１０の先行出力および追加出力において、待機系装置２ｂの各構成要素間のタイミングを示すシーケンス図である。
【図１３】本発明の一実施形態に関する実行系装置２ａのＤＢデータ出力部２８ｂの処理手順を示すフローチャートである。
【図１４】本発明の一実施形態に関するＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第１例を示すフローチャートである。
【図１５】本発明の一実施形態に関するＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第２例を示すフローチャートである。
【図１６】本発明の一実施形態に関するＤＢ管理部２４ａが実行する、データ分散定義処理（Ｓ１０３ａ）の第３例を示すフローチャートである。
【図１７】本発明の一実施形態に関する先行出力処理（Ｓ１１３）の処理手順を示すフローチャートである。
【図１８】本発明の一実施形態に関する第１例の追加出力処理（Ｓ１１４）の処理手順を示すフローチャートである。
【図１９】本発明の一実施形態に関する第２例の追加出力処理（Ｓ１１４）の処理手順を示すフローチャートである。
【図２０】本発明の一実施形態に関する冗長系装置の別の詳細を示す構成図である。
【符号の説明】
【００９１】
１      ユーザ端末
２ａ    実行系装置
２ｂ    待機系装置
３      ストレージ装置
４      ＢＥＳ
５      ＦＥＳ
６      利用端末
９      ネットワーク
２１ａ，２１ｂ  システム定義情報
２２ａ，２２ｂ  データ分散定義情報
２３ａ，２３ｂ  システム停止部
２４ａ，２４ｂ  ＤＢ管理部
２５ａ，２５ｂ  メモリＤＢデータ
２６ａ  更新ログ管理部
２６ｂ  更新ログ反映部
２７ａ  実行系更新ログ
２７ｂ  待機系更新ログ
２８ａ，２８ｂ  ＤＢデータ出力部
３１    格納領域
４１    担当ＢＥＳ定義情報
９１ａ，９１ｂ    ＣＰＵ
９２ａ，９２ｂ    主記憶装置
【図１】
2010134583.tif 000003
【図２】
2010134583.tif 000004
【図３】
2010134583.tif 000005
【図４】
2010134583.tif 000006
【図５】
2010134583.tif 000007
【図６】
2010134583.tif 000008
【図７】
2010134583.tif 000009
【図８】
2010134583.tif 000010
【図９】
2010134583.tif 000011
【図１０】
2010134583.tif 000012
【図１１】
2010134583.tif 000013
【図１２】
2010134583.tif 000014
【図１３】
2010134583.tif 000015
【図１４】
2010134583.tif 000016
【図１５】
2010134583.tif 000017
【図１６】
2010134583.tif 000018
【図１７】
2010134583.tif 000019
【図１８】
2010134583.tif 000020
【図１９】
2010134583.tif 000021
【図２０】
2010134583.tif 000022