(57)【要約】  【課題】  データベース（ＤＢ）への通常業務による連続アクセスを保証しながら、過去のある時点のＤＢの内容に基づく参照・更新処理を可能にする。  【解決手段】  データベース（ＤＢ）８を第１記憶エリア９、第２記憶エリア１０および第３記憶エリア１１に分割して管理する。ここで、第１記憶エリア９は、オンラインシステムの下で動作する通常のアプリケーション（ＵＡＰ）による現時点の最新データを記憶する。また、第２記憶エリア１０は、過去のある時点（ｔ0）で凍結すべきデータ（ｔ0データ）を記憶し、第３記憶エリア１１は、該ｔ0データを元に、新たなＵＡＰを実行した結果の更新後のデータ（ｔnデータ）を記憶する。ＤＢアクセス制御部５は、ＵＡＰ４から最新あるいは過去のある時点の指定を受けて、ＤＢ８の各記憶エリア９，１０，１１の参照・更新を制御する。【選択図】        図１
2007242061.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するデータベースと、オンラインシステムの下で動作するアプリケーション（以下、ＵＡＰと称す）からの要求により前記データベースのデータを参照および更新するデータベースアクセス制御部（以下、ＤＢアクセス制御部と称す）とを具備するオンラインデータベース管理システムにおいて、
前記データベースを、オンラインシステムの下で動作する通常のＵＡＰの処理ルート（以下、通常処理ルートと称す）による現時点での最新データを記憶する第１記憶エリアと、前記通常処理ルートの過去のある時点（以下、ｔ0時点と称す）でのデータ（以下、ｔ0データと称す）を記憶する第２記憶エリアと、前記ｔ0データを元に、新たなＵＡＰを実行する処理ルート（以下、別処理ルートと称す）による更新後のデータ（以下、ｔnデータと称す）を記憶する第３記憶エリアとで構成することを特徴とするオンラインデータベース管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意の時点のデータベースを別の領域に記憶し、そのデータベースの処理を行うデータベース管理技術に関する。
【背景技術】
【０００２】
一般にオンラインシステムのデータベース（以下、ＤＢと称す）の日次や月次の処理は、オンライン終了後に、あるいは、ＤＢを閉塞したうえでオンラインシステムから一時的に切り離した後に、バッチ処理で一括してＤＢを参照することで行っていた。
【０００３】
従来、連続無停止システムにおけるＤＢの更新・検索方法としては、特許文献１や特許文献２に記載のように、ＤＢの更新要求には直ちに対象情報が更新される一方、更新前の情報を保持して、それには更新の時系列情報を付与しておき、検索要求には要求時点の時系列情報に基づいて該当時点の情報を検索できるようにする方法がある。また、ＤＢの回復を容易にしたり、レコードの世代管理を容易にする方法としては、特許文献３に記載のように、レコードの更新時刻や更新前情報を履歴としてＤＢ内に内蔵させることで実現する方法がある。さらに、データセットのバックアップを取得する方法としては、特許文献４に記載のように、ＵＡＰ実行の保留時間を大幅に短縮しながらある時点で一貫性を持つデータセットのバックアップを取得する方法がある。しかし、これらはいずれも、ある時点でのＤＢの首尾一貫する内容を読み出すことが目的であり、直接更新することはできない。
【０００４】
【特許文献１】特開昭５８−６２７４４号公報
【特許文献２】特開平６−３５７７４号公報
【特許文献３】特開平１−１６６２３２号公報
【特許文献４】特開平５−２１０５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術では、ＤＢへの本来業務による連続アクセスを保証しながら、過去のある時点のＤＢの内容（以下、凍結データと称す）に基づいて別途更新処理等を行うためには、ある時点のＤＢのコピーを作成してからそれを更新することになる。また、オンラインシステム環境下でのＵＡＰ開発時は、ＤＢをそのバックアップから回復する作業がＵＡＰ実行に先駆けてその都度必要になっていた。
【０００６】
本発明の目的は、データベース管理システムにおける日次業務や月次業務などの更新処理を容易に可能とすることにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、ＤＢを複数の記憶エリアに分割して管理する。具体的には、オンラインシステムの通常業務のＵＡＰの処理ルート（通常処理ルート）による最新のデータのすべてを保持する第１記憶エリアを中軸にして、該通常処理ルートの過去のある時点（ｔ0時点）に遡るための更新前のデータ（ｔ0データ）を記憶する第２記憶エリアと、該ｔ0データを元に、過去のある時点から新たに別のＵＡＰの処理ルート（別処理ルート）を実行して得られる更新後のデータ（ｔnデータ）を記憶する第３記憶エリアに分割して管理する。
【０００８】
過去のある時点に遡る必要がなくなれば、第２記憶エリアや第３記憶エリアを切り離すだけでよい。また、新たな時点を設定する場合には、初期化した第２記憶エリアや第３記憶エリアを時系列あるいは並列に接続すればよい。これらの操作は、ＤＢの第１記憶エリアへの通常業務によるアクセスを妨げるものではない。したがって、ＤＢへの連続的なアクセスは保証される。
ＤＢを複数の記憶エリアに分割するのに対応して、ＤＢアクセス制御部では、ＵＡＰから最新あるいは過去のある時点の指定を受けて、参照要求に対しては所定の記憶エリアを検索する手段と、更新に際しては第１記憶エリアあるいは第３記憶エリアに更新後データを記憶する手段と、また、第１記憶エリアに記憶する際には必要に応じて第２記憶エリアに更新前のデータを退避する手段が組み合わせて用いられる。
【０００９】
このように処理することにより、所定条件を満たしたときのデータベースを格納した第２の記憶領域を入力とした処理の更新データを第３の記憶領域に格納できるため、連続運転を行うデータベース管理システムにおける日次業務や月次業務などの更新処理が容易に実現できる。また、ＤＢを複数の記憶エリアで構成して各目的のデータを一元管理するので、従来のように別ファイルにコピーして、重複したデータを持つ必要がない。このため、データの管理が容易になる。さらに、データの重複がないことから、ＤＢの格納スペース効率がよい、ＤＢのコピーに要する時間が節約になる等の効果がある。一方、システムの業務・運用面では、過去の複数の時点のＤＢの内容を後にまとめて参照できることから、統計処理やバックアップ処理が容易となる。また、ＤＢへの連続的なアクセスを保証しながら、過去のある時点を基点とする更新処理が複数の記憶エリアで多重化できることから、オンライン環境でのＵＡＰ開発（テスト作業等）でもＤＢのスペース量やリロード（再作成）回数を削除でき、効率良くＤＢを利用できる。
【発明の効果】
【００１０】
データベース管理システムにおける日次業務や月次業務などの処理が容易に実現できる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態の一例を説明する
まず、ＤＢを複数の記憶エリアに分割して管理する。具体的には、オンラインシステムの通常業務のＵＡＰの処理ルート（通常処理ルート）による最新のデータのすべてを保持する第１記憶エリアを中軸にして、該通常処理ルートの過去のある時点（ｔ0時点）に遡るための更新前のデータ（ｔ0データ）を記憶する第２記憶エリアと、該ｔ0データを元に、過去のある時点から新たに別のＵＡＰの処理ルート（別処理ルート）を実行して得られる更新後のデータ（ｔnデータ）を記憶する第３記憶エリアに分割して管理する。
【００１２】
次に、過去のある時点に遡る必要がなくなれば、第２記憶エリアや第３記憶エリアを切り離すだけでよい。また、新たな時点を設定する場合には、初期化した第２記憶エリアや第３記憶エリアを時系列あるいは並列に接続すればよい。これらの操作は、ＤＢの第１記憶エリアへの通常業務によるアクセスを妨げるものではない。したがって、ＤＢへの連続的なアクセスは保証される。
【００１３】
ＤＢを複数の記憶エリアに分割するのに対応して、ＤＢアクセス制御部では、ＵＡＰから最新あるいは過去のある時点の指定を受けて、参照要求に対しては所定の記憶エリアを検索する手段と、更新に際しては第１記憶エリアあるいは第３記憶エリアに更新後データを記憶する手段と、また、第１記憶エリアに記憶する際には必要に応じて第２記憶エリアに更新前のデータを退避する手段が組み合わせて用いられる。
【００１４】
以下に本発明の一実施例を図面により説明する。〈システム環境〉
図１に本実施例のデータベース管理システム（ＤＢＭＳ）が稼働するシステム環境を示す。図１において、中央処理装置（ＣＰＵ）１、端末群６、システムコンソール７およびデータベース（ＤＢ）８でオンラインシステムを構成している。ここで、ＣＰＵ１にはオペレーティングシステム（ＯＳ）２、トランザクション処理モニタ（ＴＰモニタ）３、ユーザアプリケーションプログラム（ＵＡＰ）４およびＤＢアクセス制御部５が含まれる。ＯＳ２はシステム全体を効率よく運用するソフトウェアである。ＴＰモニタ３は、端末群６から入力されたトランザクションをＯＳ２を介して受信し、目的の業務処理を実行するＵＡＰ４に引き渡す。ＵＡＰ４はＤＢアクセス制御部５を呼び出してデータの入出力処理を行う。ＤＢアクセス制御部５はＵＡＰ４からの参照や更新要求に応じてＤＢ８をアクセスする制御部であり、ＤＢ８の構成とともに中心的な部分である。ＤＢ８は、本オンラインシステムで動作する本来のＵＡＰの処理（通常の処理ルート）の現時点での最新データを記憶する第１記憶エリア９と、通常の処理ルートの過去のある時点（ｔ0）のデータ（ｔ0データ）を記憶する第２記憶エリア１０と、前記ｔ0データをベースに、新たに別のＵＡＰの処理（別の処理ルート）を実行して得られる更新後のデータ（ｔnデータ）を記憶する第３記憶エリア１１で構成される。第２および第３記憶エリア１０，１１は、実施例における特徴的な構成であり、それぞれの記憶エリア１０，１１には一つまたは複数のデータセットを割り当てることができるが、図１では説明を簡単にするため一つずつとしている。
【００１５】
システムコンソール７からはシステムオペレータによりＤＢアクセス制御部５への指令、いわゆる各記憶エリア９，１０，１１に対応するデータセットの動的な接続・切り離し等の指令が投入されるが、図１は接続された状態を示す。〈ＵＡＰおよびＤＢアクセス制御部の構成〉
ＵＡＰ４からＤＢアクセス制御部５に対してのＤＢ８をアクセスする要求は、参照系と更新系に大別される。具体的には、アクセスする単位をレコードとすると、参照系とはレコードの参照、更新系とはレコードの置換、レコードの追加、およびレコードの削除である。ここでは、置換・追加・削除の要求を総称して更新要求と呼ぶことにする。図２にＵＡＰ４およびＤＢアクセス制御部５の構成例を示す。
【００１６】
ＵＡＰ４には参照要求手段２１と更新要求手段２２が含まれる。さらに、参照要求手段２１には最新データ２１１、ｔ0データ２１２、およびｔnデータ２１３のいずれかを選択する項目が含まれる。更新要求手段２２には、最新データ２２１およびｔnデータ２２２のいずれかを選択する項目が含まれる。なお、更新要求手段２２にｔ0データを選択する項目がないのは、ｔ0データを更新した結果得られるのがｔnデータであり、ｔ0データ更新要求は即ちｔnデータ更新要求を意味することによる。
【００１７】
ＤＢアクセス制御部５は最新データ検索手段２３１、ｔ0データ検索手段２３２、ｔnデータ検索手段２３３の各検索手段と、最新データ記憶手段２４１、ｔ0データ記憶手段２４２、ｔnデータ記憶手段２４３の各記憶手段と、第１記憶エリア読み出し制御手段２５１、第２記憶エリア読み出し制御手段２５２、第３記憶エリア読み出し制御手段２５３の各読み出し手段と、第１記憶エリア書き込み制御手段２６１、第２記憶エリア書き込み制御手段２６２、第３記憶エリア書き込み制御手段２６３の各書き込み手段とからなる。実線は参照要求時の制御経路、破線は更新要求時の制御経路を示している。各データの参照要求や更新要求に対する動作については後述する。〈時点設定〉
ＵＡＰからのｔ0やｔnの時点設定の仕方には、イベントによる方法とスケジュールによる方法の二通りがある。
【００１８】
イベントによる方法とは、ＵＡＰから設定要求を発した時刻そのものが設定の時点となるもので、ｔ0データまたはｔnデータの記憶を開始する時点と解釈される。
【００１９】
スケジュールによる方法とは、ＵＡＰから設定要求を発した時刻よりも先のシステム時刻を指定する方法である。つまり、ＵＡＰからの予約受け付けを意味し、受付後にシステムが指定の時刻になった時、ＤＢＭＳは自動的にｔ0データまたはｔnデータの記憶を開始する。〈処理ルートとレコードの更新〉
図３（１）に、通常の処理ルートと別の処理ルートの基本ツリーを示す。ＤＢ作成時点３１においてＤＢの初期作成が行われた後に、通常処理ルート（実線で示す）は、該ＤＢ作成時点３１をベースとして３２の時点ｔ0が設定され、現時点３３に至っている。このルートが最新データをあらわす。一方、別処理ルート（破線で示す）は、３２の時点ｔ0が設定された後に、該時点ｔ0をベースとして３４時点ｔnが設定され、現時点３５に至る。この処理ルートがｔnデータをあらわす。
【００２０】
図３（２）に、それぞれの処理ルートによって一つのレコード（レコードＡ）が更新されてゆく様子を示す。ＤＢ作成時点３１の作成３６のレコードの内容はＡであり、その後、通常処理ルートの更新３７によってＢとなり、３２の時点ｔ0の設定の後の更新３８によってＣとなる。したがって、最新データはＣであり、ｔ0データはＢである。一方、ｔ0データのＢは、３４の時点ｔnからの別の処理ルートでの更新３９によってＤとなる。したがって、ｔnデータはＤである。
【００２１】
図３（３）に、さらにその後の様子を示す。即ち、３４の時点ｔnからの別の処理ルートで、更新３９１によってＤがＥとなる。一方、通常の処理ルートの最新データのＣは更新３８１によってＦとなる。この結果、現時点３３１および３５１での最新データはＦ、ｔ0データはＢ、ｔnデータはＥである。
【００２２】
上記時点ｔ0やｔnは各処理ルート上に時系列に複数設定してもよい。図４（１）は、時点ｔ0について２回設定した通常処理ルートツリーの例を示したものである。即ち、通常処理ルートは、ＤＢ作成時点４１の後、一回目の時点ｔ0［１］の設定４２、二回目の時点ｔ0［２］の設定４３、そして現時点４４に至っている。また、図４（２）は、時点ｔnについて２回設定した別処理ルートツリーの例を示したものである。即ち、これは、ＤＢ作成時点４５および時点ｔ0の設定４６の後、別の処理ルートが、時点ｔ0をベースとする一回目の時点ｔn［１］の設定４７、時点ｔn［１］をベースとする二回目の時点ｔn［２］の設定４８、そして現時点４９に至っている。なお、時点ｔ0、時点ｔnのいずれの場合も、３回以上の設定についても容易に類推できる。
【００２３】
図４は時点ｔ0やｔnを同じ処理ルート上に時系列に複数設定する例であったが、時点ｔ0をベースに別の処理ルートを複数設定することも可能である。
【００２４】
図５は、同一の時点ｔ0をベースに二つの時点ｔnを設定して二つの別処理ルートを走行させた例を示したものである。即ち、ＤＢ作成時点５１および時点ｔ0の設定５２の後、通常ルートとは別に、時点ｔ0５２をベースとする一つ目の時ｔn１を設定５３し、現時点５４に至る第１の別処理ルートがある。一方、同じ時点ｔ0５２をベースとする二つ目の時点ｔn２を設定５５し、現時点５６に至る第２の別処理ルートがある。これら二つの処理ルートは、ベースとする時点ｔ0は共通しているが、時点ｔn以降は独立した処理ルートを形成している。〈ＤＢアクセス制御部の動作〉
図６から図１１は、図２のＤＢアクセス制御部５の各手段の処理フローチャートを示したものである。
【００２５】
図６は、最新データの参照要求に対応して動作する最新データ検索手段２３１のフローチャートである。ＵＡＰ４から最新データの参照要求２１１があると、最新データ検索手段２３１は第１記憶エリア読み出し制御手段２５１を呼び出し（ステップ２３１１）、ＤＢ８の第１記憶エリア９をアクセスせしめて、目的の最新データを得る。その後、最新データ検索手段２３１はＵＡＰ４に制御を戻す。
【００２６】
図７は、最新データの更新要求に対応して動作する最新データ記憶手段２４１のフローチャートである。ＵＡＰ４から最新データの更新要求２２１があると、最新データ記憶手段２４１は、時点ｔ0が設定されているか判定し（ステップ２４１１）、設定されていなければ、直ちに第１記憶エリア書き込み制御手段２６１を呼び出し（ステップ２４１３）、ＤＢ８の第１記憶エリア９に目的の最新データを記憶せしめる。一方、ｔ0が設定されている場合は、まず、更新前のデータをｔ0データとして第２記憶エリア１０に記憶せしめるためにｔ0データ記憶手段２４２を呼び出し（ステップ２４１２）、該ｔ0データ記憶手段２４２の実行後、当該最新データ記憶手段２４１は第１記憶エリア書き込み制御手段２６１を呼び出す。そして、最新データの更新要求の処理が終了すると、最新データ記憶手段２４１は制御をＵＡＰ４に戻す。
【００２７】
図８は、上記最新データの更新要求に対応して動作するｔ0データ記憶手段２４２の詳細フローチャートである。最新データ記憶手段２４１から呼び出されたｔ0データ記憶手段２４２は、まず、ＤＢ８の第２記憶エリア１０に該当ｔ0データが記憶されているかを確認するために第２記憶エリア読み出し制御手段２５２を呼び出し（ステップ２４２１）、第２記憶エリア１０をアクセスせしめる。なお、第２記憶エリア１０が時系列ｔ0［１］〜ｔ0［ｎ］に分割されている時には、最後に時点設定ｔ0［ｎ］されたエリアが対象になる。そして、該当ｔ0データがあるかを判定し（ステップ２４２２）、あれば、なにもせずに最新データ記憶手段２４１に制御を戻す。一方、該当ｔ0データがない場合には、第１記憶エリア読み出し制御手段２５１を呼び出し（ステップ２４２３）、第１記憶エリア９をアクセスせしめる。即ち、第１記憶エリア９に該当データがあれば、それがｔ0データとなる。次に、第２記憶エリア書き込み制御手段２６２を呼び出し（ステップ２４２４）、第１記憶エリア９から読み出した更新前データをｔ0データとして第２記憶エリア１０に記憶せしめる。この場合も、第２記憶エリア１０が時系列ｔ0［１］〜ｔ0［ｎ］に分割されている時には最後に時点設定されたエリアが対象になる。また、第１記憶エリアへのレコード追加の場合には、第１記憶エリアにｔ0データが存在しないので、第２記憶エリアには、その旨を表す空ｔ0データ（後述の図１２のデータ部７２なし）を書き込む。その後、ｔ0データ記憶手段２４２は最新データ記憶手段２４１に制御を戻す。
【００２８】
図９は、ｔ0データの参照要求に対応して動作するｔ0データ検索手段２３２のフローチャートである。ＵＡＰ４からｔ0データの参照要求２１２があると、ｔ0データ検索手段２３２は、まず、第２記憶エリア読み出し制御手段２５２を呼び出し（ステップ２３２１）、ＤＢ８の第２記憶エリア１０をアクセスせしめて、該当データがあるかを判定する（ステップ２３２２）。第２記憶エリア１０に該当データがあれば、それが求めるｔ0データである。ｔ0データ検索手段２３２は、該第２記憶エリア１０から読み出されたｔ0データをＵＡＰ４に渡し、制御をＵＡＰ４に戻す。なお、第２記憶エリア１０が時系列ｔ0［１］〜ｔ0［ｎ］に分割されていて、ｔ0［１］より順に時点設定がされている場合には、時点ｔ0［ｉ］を指定する参照要求に対応して、該当データをｔ0［ｉ］→ｔ0［ｉ＋１］→・・・ｔ0［ｎ］の順で検索し、最初に見つかったところで検索を終了する。
【００２９】
第２記憶エリア１０に目的のｔ0データがない場合、ｔ0データ検索手段２３２は、第１記憶エリア読み出し制御手段２５１を呼び出し（ステップ２３２３）、ＤＢ８の第１記憶エリア１０をアクセスせしめる。即ち、第１記憶エリア１０に該当データがあれば、それが求めるｔ0データである。そこで、ｔ0データ検索手段２３２は、該第１記憶エリア９から読み出されたデータをｔ0データとして得て、制御をＵＡＰ４に戻す。
【００３０】
図１０は、ｔnデータの参照要求に対応して動作するｔnデータ記憶手段２３３のフローチャートである。ＵＡＰ４からｔnデータの参照要求２１３があると、ｔnデータ検索手段２３３は、まず、第３記憶エリア読み出し制御手段２５３を呼び出し（ステップ２３３１）、ＤＢ８の第３記憶エリア１１をアクセスせしめて、該当ｔnデータがあるかを判定する（ステップ２３３２）。第３記憶エリア１１に該当データがあれば、それが求めるｔnデータである。ｔnデータ検索手段２３３は、該第３記憶エリア１１から読み出されたｔnデータをＵＡＰ４に渡し、ＵＡＰ４に制御を戻す。なお、第３記憶エリア１１が時系列ｔn［１］〜ｔn［ｎ］に分割されていて、１より順にｎまで設定されている場合、ｔn［１］，ｔn［２］・・・ｔn［ｎ−１］は参照だけが行われるが、ｔn［ｎ］は参照と更新が行われるエリアとなる。今、ｔn［ｉ＋１］を指定した参照要求を受け付けたとすると、ｔn［ｉ］→ｔn［ｉ−１］→・・・ｔn［２］→ｔn［１］の順で該当データを検索し、最初に見つかったところで検索を終了する。最新のｔnデータの要求であれば、ｔn［ｎ］のエリアから検索をはじめる。
【００３１】
第３記憶エリア１１に目的のｔnデータがない場合、ｔnデータ検索手段２３３はｔ0データ検索手段２３２を呼び出し（ステップ２３３３）、図９で説明した如く、第２記憶エリア１０または更に第１記憶エリア９をアクセスせしめる。即ち、第２または第１記憶エリアに該当するｔ0データがあれば、それが求めるｔnデータである。ｔnデータ検索手段２３３は該ｔnデータをＵＡＰ４に渡し、ＵＡＰ４に制御を戻す。
【００３２】
図１１は、ｔnデータの更新要求に対応して動作するｔnデータ記憶手段２４３のフローチャートである。ＵＡＰ４からｔnデータの更新要求２２２があると、ｔnデータ記憶手段２４３は、第３記憶エリア書き込み制御手段２６３を呼び出し（ステップ２４３１）、ＤＢ８の第３記憶エリア１１に目的のｔnデータを記憶せしめる。なお、第３記憶エリア１１が時系列ｔn［１］〜ｔn［ｎ］に分割されていて、１より順にｎまで設定されている場合、ｔn［１］，ｔn［２］・・・ｔn［ｎ−１］は参照だけが行われるが、ｔn［ｎ］は参照と更新が行われるエリアとなる。したがって、ｔnデータはｔn［ｎ］のエリアに書き込まれる。
【００３３】
以下に、図３の（２）、（３）の例について、図６乃至図１１のフローチャートを用いてＤＢアクセス制御部５の動作を説明する。
【００３４】
ＤＢ作成時点３１の作成３６によって、レコードＡは既に第１記憶エリア９に記憶されているとする。更新３７のレコードＢは、時点ｔ0の設定前であるため、最新データ記憶手段２４１によって直ちに第１記憶エリア書き込み制御手段２６１に渡され、第１記憶エリア９に記憶される。即ち、第１記憶エリア９のデータはＡからＢに更新される。
【００３５】
時点ｔ0の設定３２以降は、参照要求および更新要求に対してＤＢアクセス制御部の動作は次のようになる。最新データの参照要求に対しては、最新データ検索手段２３１によって第１記憶エリア読み出し制御手段２５１が動作し、第１記憶エリア９からレコードＢを得る（図６：ステップ２３１１）。更新３８では、レコードＣの更新要求に対して、最新データ記憶手段２４１によってｔ0データ記憶手段２４２が呼び出される（図７：ステップ２４１２）。ｔ0データ記憶手段２４２は、第２記憶エリア読み出し制御手段２５２を呼び出すが、第２記憶エリア１０に更新前データが記憶されていない通知を該第２記憶エリア読み出し制御手段２５２より受けて（図８：ステップ２４２１，２４２２）、引き続いて第１記憶エリア読み出し制御手段２５１を呼び出し、更新前データであるレコードＢを該第１記憶エリア読み出し制御手段２５１から受け取って（図８：ステップ２４２３）、第２記憶エリア書き込み制御手段２６２に渡す（図８：ステップ２４２４）。これにより、第２記憶エリア１０にレコードＢがｔ0データとして記憶される。一方、更新後のデータであるレコードＣは、最新データ記憶手段２４１によって第１記憶エリア書き込み制御手段２６１に渡され（図７：ステップ２４１３）、第１記憶エリア９には、レコードＣが更新データとして記憶される。
【００３６】
次に、時点ｔnの設定３４があり、ｔnデータの参照要求が発生したとする。該ｔnデータの参照要求に対して、ｔnデータ検索手段２３３は、最初に第３記憶エリア読み出し制御手段２５３を呼び出すが、第３記憶エリア１１に該当データが記憶されていない通知を該第３記憶エリア読み出し制御手段２５３から受取り（図１０：ステップ２３３１，２３３２）、次にｔ0データ検索手段２３２を呼び出す（図１０：ステップ２３３３）。ｔ0データ検索手段２３２は、第２記憶エリア読み出し制御手段２５２を呼び出し、その結果、第２記憶エリア１０にｔ0データとして記憶されているレコードＢを該第２記憶エリア読み出し制御手段２５２から受け取り（図９：ステップ２３２１，２３２２（Ｙes））、これをｔnデータ検索手段２３３に渡す。こうして、レコードＢを得る。その後、ｔnデータの更新３９が発生すると、当該更新要求のレコードＤは、ｔnデータ記憶手段２４３が呼び出した第３記憶エリア書き込み制御手段２６３に渡され（図１１：ステップ２４３１）、第３記憶エリア１１に記憶される。
【００３７】
続いて、ｔnデータの参照および更新３９１が発生したとする。まず、ｔnデータの参照要求に対して、ｔnデータ検索手段２３３は、第３記憶エリア読み出し制御手段２５３を呼び出し、第３記憶エリア１１に該当データのレコードＤが記憶されていることを該第３記憶エリア読み出し制御手段２５３から受け取る（図１０：ステップ２３３１，２３３２（Ｙes））。この場合、第３記憶エリア１１の読み出しだけで、目的のレコードＤを得る。その後、更新３９１の更新要求のレコードＥは、ｔnデータ記憶手段２４３が呼び出した第３記憶エリア書き込み制御手段２６３に渡され（図１１：ステップ２４３１）、第３記憶エリア１１に記憶される。この結果、第３記憶エリア１１にはＥがＤに置き換わって記憶され、また、第１および第２記憶エリア９，１０には、それぞれＣ、Ｂが記憶されたままとなる。
【００３８】
最後に、最新データの更新３８１では、最新データ記憶手段２４１はｔ0データ記憶手段２４２を呼び出し（図７：ステップ２４１２）、ｔ0データ記憶手段２４２は、第２記憶エリア読み出し制御手段２５２を呼び出し、第２記憶エリア１０に更新前データが記憶されている旨の通知を受けるため（図８：ステップ２４２１，２４２２（Ｙes））、第２記憶エリア書き込み制御手段２６２の呼び出しをバイパスする。この点が先の更新３８の動作と異なる。その後、最新データ記憶手段２４１は第１記憶エリア書き込み制御手段２６１を呼び出す（図７：ステップ２４１３）。結果として、第１記憶エリア９には今回の更新要求のレコードＦが記憶され、第２記憶エリア１０にはレコードＢが記憶されたままとなる。〈第２および第３記憶エリアのデータ形式〉
第１記憶エリア９は、一般に知られている階層モデル、ネットワークモデル、あるいはリレーショナルモデルのＤＢに適用できる。そのデータの格納形式は、従来のＤＢのデータ形式そのもので実現できる。しかし、第２および第３記憶エリア１０，１１については、更新系のレコードアクセスに対して時系列のエリア管理をすべきことから、第１記憶エリア９とは異なるデータ形式が必要となる。すなわち、レコードの追加・削除に関する記録である。
【００３９】
具体的な一例として、図１２に第２および第３記憶エリア１０，１１のデータ形式を示す。これは、ヘッダ部７１をフラグフィールド７１１、キー長フィールド７１２、レコード長フィールド７１３およびキーフィールド７１４で構成し、データ部７２をレコードフィールド７２１だけで構成する。フラグフィールド７１１にはアクセスの種別として更新フラグ・追加フラグ・削除フラグを設定する。キー長フィールド７１２はキーフィールド７１４のサイズを表わし、レコード長フィールド７１３はレコードフィールド７２１のサイズを表わす。第１記憶エリアへのレコード追加に対しては、第２記憶エリアへはレコード長フィールドの値がゼロ、すなわちデータ部なしの情報をｔ0データとして記憶する。図８のｔ0データの記憶でも説明したように、ステップ２４２３において第１記憶エリアに該当データがないレコード追加の場合でもステップ２４２４のｔ0データ記憶が必要であり、データ部なしのｔ0データを書き出す。また、ｔ0データのレコード削除に対しては、やはり、レコード長フィールドの値がゼロの情報をｔnデータとして記憶する。図１１のステップ２４３１でデータ部なしのｔnデータを書き出すことになる。
【００４０】
このように、第２記憶エリアのｔ0データおよび第３記憶エリアのｔnデータはキーフィールド７１４によって第１記憶エリアのデータと論理的に関連付けされている。
【００４１】
なお、レコードのアクセス性能についても、各手段相互の連携によって向上させることができる。これには、バッファリング手法、あるいは連想による並列実行制御の手法が考えられる。また、第２あるい第３記憶エリアについては、必要に応じてヘッダ部７１のキーでの索引を持つ手法がある。また、第２や第３記憶エリアの場合、時系列にｎ分割しているならば連続する分割エリアを併合することで検索効率（同様にスペース格納効率も）を高めることができる。
【００４２】
以上説明したように、データベース管理システムでは、ＤＢを複数の記憶エリアで構成して各目的のデータを一元管理するので、従来のように別ファイルにコピーして、重複したデータを持つ必要がない。このため、データの管理が容易になる。さらに、データの重複がないことから、ＤＢの格納スペース効率がよい、ＤＢのコピーに要する時間が節約になる等の効果がある。一方、システムの業務・運用面では、過去の複数の時点のＤＢの内容を後にまとめて参照できることから、統計処理やバックアップ処理が容易となる。また、ＤＢへの連続的なアクセスを保証しながら、過去のある時点を基点とする更新処理が複数の記憶エリアで多重化できることから、オンライン環境でのＵＡＰ開発（テスト作業等）でもＤＢのスペース量やリロード（再作成）回数を削除でき、効率良くＤＢを利用できる。
【図面の簡単な説明】
【００４３】
【図１】本発明のオンラインデータベース管理システムが稼働するシステムの全体構成図である。
【図２】本発明によるＤＢアクセス制御部の一実施例の構成図及びＵＡＰとの関連を示した図である。
【図３】本発明による処理ルートツリーの例およびデータ更新の様子を示す図である。
【図４】処理ルート上に複数の時点設定した例を示す図である。
【図５】独立した複数の処理ルートを設定した例を示す図である。
【図６】ＤＢアクセス制御部の最新データ参照要求の処理フローチャートである。
【図７】ＤＢアクセス制御部の最新データ更新要求の処理フローチャートである。
【図８】ＤＢアクセス制御部のｔ0データ記憶の処理フローチャートである。
【図９】ＤＢアクセス制御部のｔ0データ参照要求の処理フローチャートである。
【図１０】ＤＢアクセス制御部のｔnデータ参照要求の処理フローチャートである。
【図１１】ＤＢアクセス制御部のｔnデータ更新要求の処理フローチャートである。
【図１２】第２および第３記憶エリアのデータ形式の例を示す図である。
【符号の説明】
【００４４】
１  中央処理装置（ＣＰＵ）
２  オペレーティングシステム（ＯＳ）
３  トランザクシヨン処理モニタ（ＴＰモニタ）
４  ユーザアプリケーションプログラム（ＵＡＰ）
５  データベースアクセス制御部
８  データベース（ＤＢ）
９  第１記憶エリア
１０  第２記憶エリア
１１  第３記憶エリア
【図１】
2007242061.tif 000003
【図２】
2007242061.tif 000004
【図３】
2007242061.tif 000005
【図４】
2007242061.tif 000006
【図５】
2007242061.tif 000007
【図６】
2007242061.tif 000008
【図７】
2007242061.tif 000009
【図８】
2007242061.tif 000010
【図９】
2007242061.tif 000011
【図１０】
2007242061.tif 000012
【図１１】
2007242061.tif 000013
【図１２】
2007242061.tif 000014
【手続補正書】
【提出日】平成19年7月12日(2007.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力された問合せの処理に用いるデータを格納する第１の記憶エリアと第２の記憶エリアと第３の記憶エリアとを少なくとも有し、前記各記憶エリアにアクセス可能なデータ処理装置におけるデータ処理方法において、
第１のプログラムの実行により送られた第１の問合せ要求の入力に応じて、前記第１の記憶エリアに格納されているデータをアクセスし、前記第１の問合せ要求を処理し、その処理結果を返信し、
所定のｔ時刻が経過した後、第１のプログラムの実行により送られた問合せ要求のうち前記第１の記憶エリアに格納されているデータを更新する場合は、該データを前記第２の記憶エリアに格納した後、該データを更新して第１の記憶エリアに格納し、
第２のプログラムの実行により第２の問合せ要求が送られた場合は、前記第２の記憶エリアについて該第２に問合せの処理に関係するデータを検索し、前記第２の記憶エリアに当該データが存在する場合は前記第２のデータに格納されている当該データをアクセスし、前記第２の記憶エリアに当該データが存在しない場合は、前記第１の記憶エリアについて該第２に問合せの処理に関係するデータを検索し当該データをアクセスすることを特徴とするデータ処理方法。
【請求項２】
前記第２のプログラムの実行により送られた問合せ要求に、更新要求が含まれる場合は、更新されたデータを第３の記憶エリアに格納することを特徴とする請求項１記載のデータ処理方法。
【請求項３】
入力された問合せの処理に用いるデータを格納する複数の記憶エリアにアクセス可能なデータ処理装置におけるデータ処理方法において、
前記データをアクセスする記憶エリアの優先順をプログラム毎に予め決定しておき、該プログラムの実行により送られた処理要求を入力すると、該処理要求に利用するデータを検索する記憶エリアを優先順位に基づいて検索することを特徴とするデータ処理方法。
【請求項４】
入力された問合せの処理に用いるデータを格納する第１の記憶エリアと第２の記憶エリアと第３の記憶エリアとを少なくとも有し、前記各記憶エリアにアクセス可能なデータ処理装置において、
第１のプログラムの実行により送られた第１の問合せ要求の入力に応じて、前記第１の記憶エリアに格納されているデータをアクセスし、前記第１の問合せ要求を処理し、その処理結果を返信する手段と、
所定のｔ時刻が経過した後、第１のプログラムの実行により送られた問合せ要求のうち前記第１の記憶エリアに格納されているデータを更新する場合は、該データを前記第２の記憶エリアに格納した後、該データを更新して第１の記憶エリアに格納する手段と、
第２のプログラムの実行により第２の問合せ要求が送られた場合は、前記第２の記憶エリアについて該第２に問合せの処理に関係するデータを検索し、前記第２の記憶エリアに当該データが存在する場合は前記第２のデータに格納されている当該データをアクセスし、前記第２の記憶エリアに当該データが存在しない場合は、前記第１の記憶エリアについて該第２に問合せの処理に関係するデータを検索し当該データをアクセスする手段とを備えたことを特徴とするデータ処理装置。
【請求項５】
前記第２のプログラムの実行により送られた問合せ要求に、更新要求が含まれる場合は、更新されたデータを第３の記憶エリアに格納することを特徴とする請求項４記載のデータ処理装置。
【請求項６】
入力された問合せの処理に用いるデータを格納する複数の記憶エリアにアクセス可能なデータ処理装置において、
前記データをアクセスする記憶エリアの優先順をプログラム毎に予め決定しておく手段と、該プログラムの実行により送られた処理要求を入力すると、該処理要求に利用するデータを検索する記憶エリアを優先順位に基づいて検索する手段とを備えたことを特徴とするデータ処理装置。