JP2000293416A - データベース処理装置、および、記憶媒体 - Google Patents
データベース処理装置、および、記憶媒体Info
- Publication number
- JP2000293416A JP2000293416A JP11097882A JP9788299A JP2000293416A JP 2000293416 A JP2000293416 A JP 2000293416A JP 11097882 A JP11097882 A JP 11097882A JP 9788299 A JP9788299 A JP 9788299A JP 2000293416 A JP2000293416 A JP 2000293416A
- Authority
- JP
- Japan
- Prior art keywords
- update
- database
- data
- processing
- series
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 データベース内のデータを、複数のアプリケ
ーションプログラムによって連続して更新するデータベ
ース処理装置において、更新処理中に異常が発生した場
合に、データベース復旧後の処理を容易にする。 【解決手段】 複数のデータベース更新処理を連続して
実行することによってデータベース10内の複数のデー
タを更新する一連の更新処理を行うデータベース処理装
置1において、複数のデータベース更新処理を1つのト
ランザクションとして、トランザクションの最初のデー
タベース更新処理を行う際にトランザクションIDを生
成する。そして、トランザクション中は、データベース
更新処理が切り替わる毎にトランザクションIDが引き
継がれ、このトランザクションIDが引き継がれていな
いデータベース更新処理の実行は制限される。また、ト
ランザクション中はデータベースの更新内容は暫定的に
確定され、トランザクションが正常に終了した後で完全
に確定される。
ーションプログラムによって連続して更新するデータベ
ース処理装置において、更新処理中に異常が発生した場
合に、データベース復旧後の処理を容易にする。 【解決手段】 複数のデータベース更新処理を連続して
実行することによってデータベース10内の複数のデー
タを更新する一連の更新処理を行うデータベース処理装
置1において、複数のデータベース更新処理を1つのト
ランザクションとして、トランザクションの最初のデー
タベース更新処理を行う際にトランザクションIDを生
成する。そして、トランザクション中は、データベース
更新処理が切り替わる毎にトランザクションIDが引き
継がれ、このトランザクションIDが引き継がれていな
いデータベース更新処理の実行は制限される。また、ト
ランザクション中はデータベースの更新内容は暫定的に
確定され、トランザクションが正常に終了した後で完全
に確定される。
Description
【0001】
【発明の属する技術分野】本発明は、データベースの更
新処理を行うデータベース処理装置に係り、詳細には、
データベースの更新が正常に処理されなかった場合にデ
ータベースの復旧を行うデータベース処理装置、およ
び、その制御プログラムを格納した記憶媒体に関する。
新処理を行うデータベース処理装置に係り、詳細には、
データベースの更新が正常に処理されなかった場合にデ
ータベースの復旧を行うデータベース処理装置、およ
び、その制御プログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】複数のアプリケーションプログラムによ
る処理で利用されるデータベースとして、RDBMS
(Relational DataBase Management System )と呼ばれ
るデータベースが広く利用されている。このRDBMS
は、通常のデータベース管理システムと同様、更新処理
中に異常が発生してファイルが破壊された場合に、ファ
イルを復旧する機能を備えている。
る処理で利用されるデータベースとして、RDBMS
(Relational DataBase Management System )と呼ばれ
るデータベースが広く利用されている。このRDBMS
は、通常のデータベース管理システムと同様、更新処理
中に異常が発生してファイルが破壊された場合に、ファ
イルを復旧する機能を備えている。
【0003】ファイルの復旧方法として、これまで一般
的に行われてきた方法としては、アプリケーションプロ
グラムによる削除、追記等の各処理によってデータベー
ス内のデータが更新される際に更新内容を一時的に記憶
し、異常が発生した場合には記憶しておいた更新内容を
もとにファイルを復元するロールバックと呼ばれる方法
があった。
的に行われてきた方法としては、アプリケーションプロ
グラムによる削除、追記等の各処理によってデータベー
ス内のデータが更新される際に更新内容を一時的に記憶
し、異常が発生した場合には記憶しておいた更新内容を
もとにファイルを復元するロールバックと呼ばれる方法
があった。
【0004】上記のRDBMSを含め、データベース内
のデータを更新する処理は、一般に「トランザクショ
ン」と呼ばれる単位で実行される。通常、トランザクシ
ョンは、アプリケーションプログラムによるデータベー
ス内のデータの更新処理開始から当該アプリケーション
プログラムの処理終了までの間を指し、このトランザク
ションの間は、データベースを他のアプリケーションプ
ログラムで操作することはできない。
のデータを更新する処理は、一般に「トランザクショ
ン」と呼ばれる単位で実行される。通常、トランザクシ
ョンは、アプリケーションプログラムによるデータベー
ス内のデータの更新処理開始から当該アプリケーション
プログラムの処理終了までの間を指し、このトランザク
ションの間は、データベースを他のアプリケーションプ
ログラムで操作することはできない。
【0005】従来のデータベースでは、ロールバック法
による復旧はトランザクション毎に行われていた。即
ち、異常が発生したトランザクションで更新された部分
を当該トランザクションの前の状態に戻すことで復旧を
行っていた。
による復旧はトランザクション毎に行われていた。即
ち、異常が発生したトランザクションで更新された部分
を当該トランザクションの前の状態に戻すことで復旧を
行っていた。
【0006】
【発明が解決しようとする課題】ところが、RDBMS
内のデータについて、複数のアプリケーションプログラ
ムによる処理を連続して行った場合に上記従来の方法で
データベースを復旧すると、異常が発生したアプリケー
ションプログラムの更新処理前の状態でデータベースが
復元される。このため、復旧後に処理を継続する際の手
間がかかるという問題点があった。
内のデータについて、複数のアプリケーションプログラ
ムによる処理を連続して行った場合に上記従来の方法で
データベースを復旧すると、異常が発生したアプリケー
ションプログラムの更新処理前の状態でデータベースが
復元される。このため、復旧後に処理を継続する際の手
間がかかるという問題点があった。
【0007】データベースの処理を行う操作者は、複数
のアプリケーションプログラムによって連続して処理を
行ってデータベース内の関連する複数のデータを更新す
る一連の処理を、1つのまとまった処理として操作する
のが一般的である。しかし、上記従来の方法でデータベ
ースを復旧すると、あくまでトランザクション毎に、正
常終了したか否かが判別され、異常発生時には復旧が行
われる。このため、異常発生後に復旧されたデータベー
スは、複数のアプリケーションプログラムのうち、いず
れかのアプリケーションプログラムによる処理が反映さ
れ、異常が発生したアプリケーションプログラム以降の
処理が反映されない状態になる。これでは、データベー
スが復旧されても、どのアプリケーションプログラムか
ら処理を再開すればよいかがわかりにくく、異常発生後
の作業負担の増大を招いていた。
のアプリケーションプログラムによって連続して処理を
行ってデータベース内の関連する複数のデータを更新す
る一連の処理を、1つのまとまった処理として操作する
のが一般的である。しかし、上記従来の方法でデータベ
ースを復旧すると、あくまでトランザクション毎に、正
常終了したか否かが判別され、異常発生時には復旧が行
われる。このため、異常発生後に復旧されたデータベー
スは、複数のアプリケーションプログラムのうち、いず
れかのアプリケーションプログラムによる処理が反映さ
れ、異常が発生したアプリケーションプログラム以降の
処理が反映されない状態になる。これでは、データベー
スが復旧されても、どのアプリケーションプログラムか
ら処理を再開すればよいかがわかりにくく、異常発生後
の作業負担の増大を招いていた。
【0008】また、従来のデータベースでは1つのアプ
リケーションプログラムの処理が終了すると同時にトラ
ンザクションが終了するので、1つのアプリケーション
プログラムによる処理が終了した時点で、無関係なアプ
リケーションプログラムによる処理が可能となってい
た。このため、連続して処理すべき複数のアプリケーシ
ョンプログラムの合間に、無関係なアプリケーションプ
ログラムによる処理が行われ、データベース内のデータ
が整合性を失って、データに矛盾を生じる恐れがあっ
た。
リケーションプログラムの処理が終了すると同時にトラ
ンザクションが終了するので、1つのアプリケーション
プログラムによる処理が終了した時点で、無関係なアプ
リケーションプログラムによる処理が可能となってい
た。このため、連続して処理すべき複数のアプリケーシ
ョンプログラムの合間に、無関係なアプリケーションプ
ログラムによる処理が行われ、データベース内のデータ
が整合性を失って、データに矛盾を生じる恐れがあっ
た。
【0009】この発明は、上記問題点を解決するため、
データベース内のデータを複数のアプリケーションプロ
グラムによって更新するデータベース処理装置におい
て、更新処理中に異常が発生した場合に、データベース
復旧後の処理を容易にすることを目的とする。
データベース内のデータを複数のアプリケーションプロ
グラムによって更新するデータベース処理装置におい
て、更新処理中に異常が発生した場合に、データベース
復旧後の処理を容易にすることを目的とする。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、請求項1記載の発明は、データベース内のデータを
更新する複数の更新手段を備え、これら複数の更新手段
のうち指定された複数の更新手段によって、前記データ
ベース内の複数のデータを更新する一連の更新処理を行
うデータベース処理装置において、前記一連の更新処理
が実行されている間は、前記指定された複数の更新手段
以外の前記更新手段による更新処理を制限する更新制御
手段と、前記一連の更新処理における更新内容を記憶す
る記憶手段と、前記一連の更新処理が正常に終了した際
に、前記記憶手段に記憶された更新内容に従って前記デ
ータベース内のデータを確定するデータ確定手段と、前
記一連の更新処理中に異常が発生した場合には、前記記
憶手段に記憶された更新内容をもとに前記データベース
内のデータを前記一連の更新処理以前の状態に復旧する
データ復旧手段と、を備えることを特徴としている。
め、請求項1記載の発明は、データベース内のデータを
更新する複数の更新手段を備え、これら複数の更新手段
のうち指定された複数の更新手段によって、前記データ
ベース内の複数のデータを更新する一連の更新処理を行
うデータベース処理装置において、前記一連の更新処理
が実行されている間は、前記指定された複数の更新手段
以外の前記更新手段による更新処理を制限する更新制御
手段と、前記一連の更新処理における更新内容を記憶す
る記憶手段と、前記一連の更新処理が正常に終了した際
に、前記記憶手段に記憶された更新内容に従って前記デ
ータベース内のデータを確定するデータ確定手段と、前
記一連の更新処理中に異常が発生した場合には、前記記
憶手段に記憶された更新内容をもとに前記データベース
内のデータを前記一連の更新処理以前の状態に復旧する
データ復旧手段と、を備えることを特徴としている。
【0011】この請求項1記載の発明によれば、指定さ
れた複数の更新手段によってデータベース内のデータを
更新する一連の更新処理を行う場合に、この一連の更新
処理を行う更新手段として指定されていない更新手段に
よるデータの更新を制限するので、複数のデータを連続
して更新している最中に無関係なデータが更新される等
の事態を避けることができる。これにより、データベー
ス内のデータの矛盾を防ぎ、データベースの信頼性を高
めることができる。また、更新手段によって更新された
更新内容は一連の更新処理が終了してから確定されるの
で、異常が発生した場合には、一連の更新処理が行われ
る前の状態にデータベースが復旧される。従って、デー
タベースが一連の更新処理の途中の状態に戻されること
がないので、復旧後は一連の更新処理を最初から実行す
ればよく、復旧後の処理が非常に容易で、作業負担を軽
減することができる。
れた複数の更新手段によってデータベース内のデータを
更新する一連の更新処理を行う場合に、この一連の更新
処理を行う更新手段として指定されていない更新手段に
よるデータの更新を制限するので、複数のデータを連続
して更新している最中に無関係なデータが更新される等
の事態を避けることができる。これにより、データベー
ス内のデータの矛盾を防ぎ、データベースの信頼性を高
めることができる。また、更新手段によって更新された
更新内容は一連の更新処理が終了してから確定されるの
で、異常が発生した場合には、一連の更新処理が行われ
る前の状態にデータベースが復旧される。従って、デー
タベースが一連の更新処理の途中の状態に戻されること
がないので、復旧後は一連の更新処理を最初から実行す
ればよく、復旧後の処理が非常に容易で、作業負担を軽
減することができる。
【0012】また、請求項4記載の発明は、データベー
ス内のデータを更新する複数の更新手段を備え、これら
複数の更新手段のうち指定された複数の更新手段によっ
て、前記データベース内の複数のデータを更新する一連
の更新処理を行うデータベース処理装置において、前記
一連の更新処理の最初の前記更新手段によりデータが更
新される際に、当該一連の更新処理に対応する識別符号
を生成して当該更新手段に取得させる識別符号生成手段
と、前記一連の更新処理中、前記更新手段によるデータ
の更新が終了して次の前記更新手段によるデータの更新
が行われる際には、先に更新を行った前記更新手段が取
得した前記識別符号を次の前記更新手段に取得させる識
別符号制御手段と、前記一連の更新処理中は、当該一連
の更新処理に対応する識別符号を取得していない前記更
新手段による更新処理を制限する更新制御手段と、前記
一連の更新処理における更新内容を記憶する記憶手段
と、前記一連の更新処理が正常に終了した際に、前記記
憶手段に記憶された更新内容に従って前記データベース
内のデータを確定するデータ確定手段と、前記一連の更
新処理中に異常が発生した場合には、前記記憶手段に記
憶された更新内容をもとに前記データベース内のデータ
を前記一連の更新処理以前の状態に復旧するデータ復旧
手段と、を備えることを特徴としている。
ス内のデータを更新する複数の更新手段を備え、これら
複数の更新手段のうち指定された複数の更新手段によっ
て、前記データベース内の複数のデータを更新する一連
の更新処理を行うデータベース処理装置において、前記
一連の更新処理の最初の前記更新手段によりデータが更
新される際に、当該一連の更新処理に対応する識別符号
を生成して当該更新手段に取得させる識別符号生成手段
と、前記一連の更新処理中、前記更新手段によるデータ
の更新が終了して次の前記更新手段によるデータの更新
が行われる際には、先に更新を行った前記更新手段が取
得した前記識別符号を次の前記更新手段に取得させる識
別符号制御手段と、前記一連の更新処理中は、当該一連
の更新処理に対応する識別符号を取得していない前記更
新手段による更新処理を制限する更新制御手段と、前記
一連の更新処理における更新内容を記憶する記憶手段
と、前記一連の更新処理が正常に終了した際に、前記記
憶手段に記憶された更新内容に従って前記データベース
内のデータを確定するデータ確定手段と、前記一連の更
新処理中に異常が発生した場合には、前記記憶手段に記
憶された更新内容をもとに前記データベース内のデータ
を前記一連の更新処理以前の状態に復旧するデータ復旧
手段と、を備えることを特徴としている。
【0013】この請求項4記載の発明によれば、一連の
更新処理の最初の更新手段による更新が行われる際に、
当該一連の更新処理に対応する識別符号が生成され、こ
の識別符号を取得していない更新手段による処理を制限
するので、無関係なデータの更新を確実に防止して、デ
ータベースの信頼性を向上させることができる。また、
一連の更新処理中に更新手段が切り換えられる際には、
先に更新を行った更新手段から次の更新手段に識別符号
が引き継がれるので、無関係な更新手段を容易に判別す
ることができる。従って、容易に、かつ確実に、データ
ベースの信頼性を向上させることができる。
更新処理の最初の更新手段による更新が行われる際に、
当該一連の更新処理に対応する識別符号が生成され、こ
の識別符号を取得していない更新手段による処理を制限
するので、無関係なデータの更新を確実に防止して、デ
ータベースの信頼性を向上させることができる。また、
一連の更新処理中に更新手段が切り換えられる際には、
先に更新を行った更新手段から次の更新手段に識別符号
が引き継がれるので、無関係な更新手段を容易に判別す
ることができる。従って、容易に、かつ確実に、データ
ベースの信頼性を向上させることができる。
【0014】
【発明の実施の形態】以下、この発明の実施の形態につ
いて、図1〜図7の図面を参照しながら説明する。
いて、図1〜図7の図面を参照しながら説明する。
【0015】[第1の実施の形態]まず、構成を説明す
る。図1は、本発明の第1の実施の形態におけるデータ
ベース処理装置1の構成を示す図である。この図1に示
すように、データベース処理装置1は、CPU(Centra
l Processing Unit )2、RAM(Random Access Memo
ry)3、ROM(Read Only Memory)4、記憶装置5、
記憶装置5が有する記憶媒体6、入力装置7、表示装置
8、印刷装置9およびデータベース10により構成さ
れ、記憶媒体6を除く各部はバス11により接続されて
いる。
る。図1は、本発明の第1の実施の形態におけるデータ
ベース処理装置1の構成を示す図である。この図1に示
すように、データベース処理装置1は、CPU(Centra
l Processing Unit )2、RAM(Random Access Memo
ry)3、ROM(Read Only Memory)4、記憶装置5、
記憶装置5が有する記憶媒体6、入力装置7、表示装置
8、印刷装置9およびデータベース10により構成さ
れ、記憶媒体6を除く各部はバス11により接続されて
いる。
【0016】なお、本第1の実施の形態において、CP
U2は図2に示す処理を実行することによって請求項記
載の更新手段に対応し、同様に、図3のステップS12
3に示す処理を実行することによって更新制御手段に対
応し、図3のステップS130〜ステップS131に示
す処理を実行することによりデータ確定手段に対応し、
ステップS126〜ステップS128に示す処理を実行
することによってデータ復旧手段に対応する。また、C
PU2によってステップS124あるいはステップS1
35に示す処理が実行されることにより、記憶装置5は
記憶手段に対応する。また、CPU2は、図3のステッ
プS134に示す処理を実行することによって識別符号
生成手段に対応し、図2のステップS106〜ステップ
S107に示す処理を実行することによって識別符号制
御手段に対応する。
U2は図2に示す処理を実行することによって請求項記
載の更新手段に対応し、同様に、図3のステップS12
3に示す処理を実行することによって更新制御手段に対
応し、図3のステップS130〜ステップS131に示
す処理を実行することによりデータ確定手段に対応し、
ステップS126〜ステップS128に示す処理を実行
することによってデータ復旧手段に対応する。また、C
PU2によってステップS124あるいはステップS1
35に示す処理が実行されることにより、記憶装置5は
記憶手段に対応する。また、CPU2は、図3のステッ
プS134に示す処理を実行することによって識別符号
生成手段に対応し、図2のステップS106〜ステップ
S107に示す処理を実行することによって識別符号制
御手段に対応する。
【0017】CPU2は、入力装置7における指示入力
に従って、ROM4内に格納される基本制御プログラム
や記憶装置5内に格納された各種アプリケーションプロ
グラムを読み込み、RAM3内に設けられたメモリエリ
アに展開して実行する。具体的には、CPU2は、RO
M4内に格納された基本制御プログラムを実行すること
によってデータベース処理装置1の各部を初期状態に移
行させる等の制御を行う。また、CPU2は、記憶装置
5内に格納された各種アプリケーションプログラムを読
み込んで実行することにより、後述するデータベース更
新処理(図2)を実行してデータベース10内のデータ
の削除、追加あるいは更新等の各種処理を実行する。
に従って、ROM4内に格納される基本制御プログラム
や記憶装置5内に格納された各種アプリケーションプロ
グラムを読み込み、RAM3内に設けられたメモリエリ
アに展開して実行する。具体的には、CPU2は、RO
M4内に格納された基本制御プログラムを実行すること
によってデータベース処理装置1の各部を初期状態に移
行させる等の制御を行う。また、CPU2は、記憶装置
5内に格納された各種アプリケーションプログラムを読
み込んで実行することにより、後述するデータベース更
新処理(図2)を実行してデータベース10内のデータ
の削除、追加あるいは更新等の各種処理を実行する。
【0018】また、CPU2は、後述するデータベース
制御プログラムを記憶装置5から読み込んで実行するこ
とで後述するデータベース制御処理(図3)を実行し、
アプリケーションプログラムの実行に伴ってデータベー
ス10内に格納されたデータが更新される際に、データ
ベース10の更新内容のバックアップデータを生成して
記憶装置5に記憶させ、暫定コミットを行う。さらに、
トランザクションが終了するまでの間の各種アプリケー
ションプログラムによってデータベース10内のデータ
が更新される度に、随時暫定コミットを行う。そして、
完全コミットが指定された場合、或いは、トランザクシ
ョンが終了する場合には、暫定コミットされていたデー
タの更新内容を完全に確定する完全コミットを実行す
る。
制御プログラムを記憶装置5から読み込んで実行するこ
とで後述するデータベース制御処理(図3)を実行し、
アプリケーションプログラムの実行に伴ってデータベー
ス10内に格納されたデータが更新される際に、データ
ベース10の更新内容のバックアップデータを生成して
記憶装置5に記憶させ、暫定コミットを行う。さらに、
トランザクションが終了するまでの間の各種アプリケー
ションプログラムによってデータベース10内のデータ
が更新される度に、随時暫定コミットを行う。そして、
完全コミットが指定された場合、或いは、トランザクシ
ョンが終了する場合には、暫定コミットされていたデー
タの更新内容を完全に確定する完全コミットを実行す
る。
【0019】さらに、CPU2は、入力装置7からの指
示入力に従って、データベース10の内容や更新処理の
進行状況等の各種情報を表示するための表示データを生
成して表示装置8に出力し、表示装置8の表示画面上に
表示させる。また、表示装置8に表示される内容を印刷
するための印刷データを生成して印刷装置9に出力し、
印刷を実行させる。
示入力に従って、データベース10の内容や更新処理の
進行状況等の各種情報を表示するための表示データを生
成して表示装置8に出力し、表示装置8の表示画面上に
表示させる。また、表示装置8に表示される内容を印刷
するための印刷データを生成して印刷装置9に出力し、
印刷を実行させる。
【0020】RAM3は、CPU2により処理される各
種プログラムや、その処理に係るデータを一時的に格納
するメモリエリアを形成する。
種プログラムや、その処理に係るデータを一時的に格納
するメモリエリアを形成する。
【0021】ROM4は、CPUが実行する一連の処理
を実行するための各種基本制御プログラムを格納する。
このROM4内の各基本制御プログラムは、CPU2が
読み取り可能なプログラムコードの形態で記憶されてい
る。
を実行するための各種基本制御プログラムを格納する。
このROM4内の各基本制御プログラムは、CPU2が
読み取り可能なプログラムコードの形態で記憶されてい
る。
【0022】記憶装置5は、プログラムやデータ等が記
憶される記憶媒体6を有し、この記憶媒体6は磁気的、
光学的記録媒体、若しくは半導体メモリで構成されてい
る。この記憶媒体6は記憶装置5に固定的に設けたも
の、若しくは着脱自在に装着するものであり、CPU2
により実行される各種アプリケーションプログラムやこ
れら各種アプリケーションプログラムに係るデータ等を
格納する。
憶される記憶媒体6を有し、この記憶媒体6は磁気的、
光学的記録媒体、若しくは半導体メモリで構成されてい
る。この記憶媒体6は記憶装置5に固定的に設けたも
の、若しくは着脱自在に装着するものであり、CPU2
により実行される各種アプリケーションプログラムやこ
れら各種アプリケーションプログラムに係るデータ等を
格納する。
【0023】また、上記の記憶媒体6に記憶されるデー
タ等は、通信回線等を介して接続された他の機器から受
信して記憶する構成にしてもよく、さらに、通信回線等
を介して接続された他の機器側に上記記憶媒体を備えた
記憶装置を設け、この記憶媒体6に記憶されているプロ
グラムやデータを通信回線を介して使用する構成として
も良い。
タ等は、通信回線等を介して接続された他の機器から受
信して記憶する構成にしてもよく、さらに、通信回線等
を介して接続された他の機器側に上記記憶媒体を備えた
記憶装置を設け、この記憶媒体6に記憶されているプロ
グラムやデータを通信回線を介して使用する構成として
も良い。
【0024】入力装置7は、カーソルキー、数字入力キ
ーおよび各種機能キーを備えたキーボードや、マウス等
のポインティングデバイスを備えている。そして、入力
装置7は、キーボードが操作されると押下されたキーに
対応する押下信号を生成してCPU2に出力し、マウス
等のポインティングデバイスが操作されると、クリック
信号等の操作信号とともに、この操作により指定された
座標を示す相対座標データをCPU2に出力する。
ーおよび各種機能キーを備えたキーボードや、マウス等
のポインティングデバイスを備えている。そして、入力
装置7は、キーボードが操作されると押下されたキーに
対応する押下信号を生成してCPU2に出力し、マウス
等のポインティングデバイスが操作されると、クリック
信号等の操作信号とともに、この操作により指定された
座標を示す相対座標データをCPU2に出力する。
【0025】表示装置8は、CRT(Cathode Ray Tub
e)やLCD(Liquid Crystal Display:液晶表示画
面)等により構成され、CPU2から入力される表示デ
ータに基づいて各種画面を表示する。
e)やLCD(Liquid Crystal Display:液晶表示画
面)等により構成され、CPU2から入力される表示デ
ータに基づいて各種画面を表示する。
【0026】印刷装置9は各種プリンタを備えており、
CPU2から入力される印刷データに従って、各種文書
を印刷して出力する。
CPU2から入力される印刷データに従って、各種文書
を印刷して出力する。
【0027】データベース10は、データベース処理装
置1により処理される各種のデータが格納されたデータ
ベースであり、記憶媒体6と同様の、磁気的、光学的記
憶媒体若しくは半導体記憶素子等によってなる記憶媒体
内に格納される。このデータベース10内のデータは、
CPU2により実行される各種アプリケーションプログ
ラムのデータ更新処理により、データベース制御処理に
従って更新される。なお、データベース10を格納する
記憶媒体は、記憶装置5および記憶媒体6と別体として
データベース処理装置1に備えられる構成としても良い
し、或いは記憶媒体6内に設けられた記憶領域内にデー
タベース10が格納される構成としても良い。
置1により処理される各種のデータが格納されたデータ
ベースであり、記憶媒体6と同様の、磁気的、光学的記
憶媒体若しくは半導体記憶素子等によってなる記憶媒体
内に格納される。このデータベース10内のデータは、
CPU2により実行される各種アプリケーションプログ
ラムのデータ更新処理により、データベース制御処理に
従って更新される。なお、データベース10を格納する
記憶媒体は、記憶装置5および記憶媒体6と別体として
データベース処理装置1に備えられる構成としても良い
し、或いは記憶媒体6内に設けられた記憶領域内にデー
タベース10が格納される構成としても良い。
【0028】続いて、本発明の第1の実施の形態におけ
るデータベース処理装置1の動作について説明する。
るデータベース処理装置1の動作について説明する。
【0029】なお、以下に述べるデータベース処理装置
1の動作においては、複数のアプリケーションプログラ
ムを連続して実行し、関連する複数のデータをそれぞれ
更新する一連の処理を、1つのトランザクションとして
取り扱う。即ち、1つのアプリケーションプログラムに
よるデータベース更新処理が終了しても、続いて他のア
プリケーションプログラムによって関連するデータの更
新処理が行われる場合には、トランザクションは終了し
ないで継続される。そして、複数のアプリケーションプ
ログラムによる連続した更新処理が実行された後に、1
つのトランザクションが終了する。
1の動作においては、複数のアプリケーションプログラ
ムを連続して実行し、関連する複数のデータをそれぞれ
更新する一連の処理を、1つのトランザクションとして
取り扱う。即ち、1つのアプリケーションプログラムに
よるデータベース更新処理が終了しても、続いて他のア
プリケーションプログラムによって関連するデータの更
新処理が行われる場合には、トランザクションは終了し
ないで継続される。そして、複数のアプリケーションプ
ログラムによる連続した更新処理が実行された後に、1
つのトランザクションが終了する。
【0030】このような処理を実現するため、データベ
ース処理装置1ではトランザクションIDを用いる。ト
ランザクションIDとは、開始されたトランザクション
を複数のアプリケーションプログラムに渡って継続する
ための符号であり、トランザクションの最初のアプリケ
ーションプログラムの実行に際して発行される。また、
同一トランザクション中で、アプリケーションプログラ
ムによる処理が終了して次のアプリケーションプログラ
ムの処理が開始される際に、トランザクションIDがア
プリケーション間で引き継がれる。
ース処理装置1ではトランザクションIDを用いる。ト
ランザクションIDとは、開始されたトランザクション
を複数のアプリケーションプログラムに渡って継続する
ための符号であり、トランザクションの最初のアプリケ
ーションプログラムの実行に際して発行される。また、
同一トランザクション中で、アプリケーションプログラ
ムによる処理が終了して次のアプリケーションプログラ
ムの処理が開始される際に、トランザクションIDがア
プリケーション間で引き継がれる。
【0031】そして、トランザクション中に次のアプリ
ケーションプログラムの処理に移行する際には、このト
ランザクションIDによる認証が行われるので、正しい
トランザクションIDを取得したアプリケーションプロ
グラムによってのみデータベースの更新が可能となる。
これによって、当該トランザクションと無関係なアプリ
ケーションプログラムによるデータベース10の更新処
理は不可能となり、データベース10内のデータに矛盾
や不整合が生じることがない。
ケーションプログラムの処理に移行する際には、このト
ランザクションIDによる認証が行われるので、正しい
トランザクションIDを取得したアプリケーションプロ
グラムによってのみデータベースの更新が可能となる。
これによって、当該トランザクションと無関係なアプリ
ケーションプログラムによるデータベース10の更新処
理は不可能となり、データベース10内のデータに矛盾
や不整合が生じることがない。
【0032】また、以下に述べるデータベース処理装置
1の動作においては、アプリケーションプログラムによ
るデータベース更新処理で更新されたデータベース10
の更新内容は、完全な確定が指示されるまでの間、容易
に復旧可能な状態で暫定的に確定される。この暫定的な
確定処理を、以下、「暫定コミット」と呼ぶ。この暫定
コミットでは、データベース10の更新内容のバックア
ップデータが生成されて記憶装置5に記憶されるので、
このバックアップデータをもとにデータベース10を暫
定コミット前の状態に容易に復旧できる。
1の動作においては、アプリケーションプログラムによ
るデータベース更新処理で更新されたデータベース10
の更新内容は、完全な確定が指示されるまでの間、容易
に復旧可能な状態で暫定的に確定される。この暫定的な
確定処理を、以下、「暫定コミット」と呼ぶ。この暫定
コミットでは、データベース10の更新内容のバックア
ップデータが生成されて記憶装置5に記憶されるので、
このバックアップデータをもとにデータベース10を暫
定コミット前の状態に容易に復旧できる。
【0033】この暫定コミットに対して、更新されたデ
ータを完全に確定する処理を、以下、「完全コミット」
と呼ぶ。この完全コミットは、後述するデータベース更
新処理中に完全コミットが指示された場合に実行され
る。更新内容が完全コミットされた後は、ロールバック
等の復旧処理が行われてもデータベース10には更新内
容が反映されるので、更新前の状態に復旧する必要が無
くなった際には有用である。
ータを完全に確定する処理を、以下、「完全コミット」
と呼ぶ。この完全コミットは、後述するデータベース更
新処理中に完全コミットが指示された場合に実行され
る。更新内容が完全コミットされた後は、ロールバック
等の復旧処理が行われてもデータベース10には更新内
容が反映されるので、更新前の状態に復旧する必要が無
くなった際には有用である。
【0034】はじめに、データベース10内のデータを
更新するアプリケーションプログラムをCPU2によっ
て実行した際の動作について説明する。
更新するアプリケーションプログラムをCPU2によっ
て実行した際の動作について説明する。
【0035】図2は、データベース処理装置1により実
行されるデータベース更新処理を示すフローチャートで
ある。この図2に示すデータベース更新処理は、記憶装
置5内に格納された各種アプリケーションプログラムが
実行され、データベース10の内容が更新される際の処
理である。
行されるデータベース更新処理を示すフローチャートで
ある。この図2に示すデータベース更新処理は、記憶装
置5内に格納された各種アプリケーションプログラムが
実行され、データベース10の内容が更新される際の処
理である。
【0036】データベース更新処理において、まず、C
PU2は、実行中のアプリケーションプログラムがトラ
ンザクション中の最初のアプリケーションプログラムで
あるか否かを判別する(ステップS101)。ここで、
実行中のアプリケーションプログラムがトランザクショ
ンの最初のアプリケーションプログラムである場合に
は、ステップS102に移行して、入力装置7からの入
力内容に従ってデータベース10内のデータを更新す
る。
PU2は、実行中のアプリケーションプログラムがトラ
ンザクション中の最初のアプリケーションプログラムで
あるか否かを判別する(ステップS101)。ここで、
実行中のアプリケーションプログラムがトランザクショ
ンの最初のアプリケーションプログラムである場合に
は、ステップS102に移行して、入力装置7からの入
力内容に従ってデータベース10内のデータを更新す
る。
【0037】ステップS103で、CPU2は、ステッ
プS102の更新内容について暫定コミットを指定す
る。ステップS103で暫定コミットが指定されること
により、データベース制御処理(図3)では、ステップ
S102での更新内容のバックアップデータが生成さ
れ、記憶装置5に記憶される。そして、この図2に示す
データベース更新処理が正常に終了しなかった場合に
は、一時的に記憶装置5に記憶された更新内容のバック
アップデータをもとにデータベース10の復旧が行われ
る。
プS102の更新内容について暫定コミットを指定す
る。ステップS103で暫定コミットが指定されること
により、データベース制御処理(図3)では、ステップ
S102での更新内容のバックアップデータが生成さ
れ、記憶装置5に記憶される。そして、この図2に示す
データベース更新処理が正常に終了しなかった場合に
は、一時的に記憶装置5に記憶された更新内容のバック
アップデータをもとにデータベース10の復旧が行われ
る。
【0038】その後、データベース制御処理(図3)に
よりトランザクションIDが発行されるので、発行され
たトランザクションIDを取得する(ステップS10
4)。
よりトランザクションIDが発行されるので、発行され
たトランザクションIDを取得する(ステップS10
4)。
【0039】ステップS104でトランザクションID
が取得された後は、入力装置7からの入力指示によっ
て、必要に応じた各種コミットの指定が行われる(ステ
ップS105)。例えば、部分的に完全コミットしてし
まいたいデータがある場合や、ここまで暫定コミットさ
れてきた全てのデータを完全コミットするには、ここで
入力装置7から完全コミットする旨の指示入力が行われ
る。
が取得された後は、入力装置7からの入力指示によっ
て、必要に応じた各種コミットの指定が行われる(ステ
ップS105)。例えば、部分的に完全コミットしてし
まいたいデータがある場合や、ここまで暫定コミットさ
れてきた全てのデータを完全コミットするには、ここで
入力装置7から完全コミットする旨の指示入力が行われ
る。
【0040】そして、ステップS104で取得したトラ
ンザクションIDを、同一トランザクション内で次に実
行されるアプリケーションプログラムに引き継いで(ス
テップS106)、処理を終了する。
ンザクションIDを、同一トランザクション内で次に実
行されるアプリケーションプログラムに引き継いで(ス
テップS106)、処理を終了する。
【0041】引き続いて他のアプリケーションプログラ
ムによるデータベース更新処理が開始すると、データベ
ース更新処理(図2)ではステップS101からステッ
プS107へ移行し、直前に実行されたアプリケーショ
ンプログラムからトランザクションIDを取得する。
ムによるデータベース更新処理が開始すると、データベ
ース更新処理(図2)ではステップS101からステッ
プS107へ移行し、直前に実行されたアプリケーショ
ンプログラムからトランザクションIDを取得する。
【0042】そして、CPU2は、ステップS107で
取得したトランザクションIDを指定する(ステップS
108)。ここで指定されたトランザクションIDは、
データベース制御処理(図3)で発行されたトランザク
ションIDと対照され、一致した場合にのみデータベー
ス10のデータの更新が可能となる。
取得したトランザクションIDを指定する(ステップS
108)。ここで指定されたトランザクションIDは、
データベース制御処理(図3)で発行されたトランザク
ションIDと対照され、一致した場合にのみデータベー
ス10のデータの更新が可能となる。
【0043】ステップS109では、入力装置7からの
指示入力に従ってデータベース10内のデータを更新し
て(ステップS109)、その後、実行中のアプリケー
ションプログラムがトランザクションの最後のアプリケ
ーションプログラムか否かを判別する(ステップS11
0)。実行中のアプリケーションプログラムの後に、引
き続いてトランザクションを継続するアプリケーション
プログラムがある場合には、ステップS105へ移行す
る。
指示入力に従ってデータベース10内のデータを更新し
て(ステップS109)、その後、実行中のアプリケー
ションプログラムがトランザクションの最後のアプリケ
ーションプログラムか否かを判別する(ステップS11
0)。実行中のアプリケーションプログラムの後に、引
き続いてトランザクションを継続するアプリケーション
プログラムがある場合には、ステップS105へ移行す
る。
【0044】また、実行中のアプリケーションプログラ
ムがトランザクションの最後のアプリケーションプログ
ラムである場合には、ステップS111に移行して、更
新されたデータの完全コミットを指定して、処理を終了
する。これにより、データベース制御処理(図3)で
は、トランザクション中に暫定コミットされた更新内容
が全て完全コミットされ、記憶装置5に記憶されていた
更新内容のバックアップデータが消去される。
ムがトランザクションの最後のアプリケーションプログ
ラムである場合には、ステップS111に移行して、更
新されたデータの完全コミットを指定して、処理を終了
する。これにより、データベース制御処理(図3)で
は、トランザクション中に暫定コミットされた更新内容
が全て完全コミットされ、記憶装置5に記憶されていた
更新内容のバックアップデータが消去される。
【0045】次に、上記のアプリケーションプログラム
によるデータ更新処理(図2)に応じて、データベース
10内のデータ更新を制御するために実行されるデータ
ベース制御処理について説明する。
によるデータ更新処理(図2)に応じて、データベース
10内のデータ更新を制御するために実行されるデータ
ベース制御処理について説明する。
【0046】図3は、データベース処理装置1により実
行されるデータベース制御処理を示すフローチャートで
ある。この図3に示すデータベース制御処理において、
まずCPU2は、データベース更新処理(図2)を行う
アプリケーションプログラムに対して、既にトランザク
ションIDを発行したか否かを判別する(ステップS1
21)。
行されるデータベース制御処理を示すフローチャートで
ある。この図3に示すデータベース制御処理において、
まずCPU2は、データベース更新処理(図2)を行う
アプリケーションプログラムに対して、既にトランザク
ションIDを発行したか否かを判別する(ステップS1
21)。
【0047】このステップS121でトランザクション
IDをまだ発行していないと判別した場合はトランザク
ションが開始されていないことになるので、ステップS
122に移行してトランザクションを開始し、その後ス
テップS124へ移行する。
IDをまだ発行していないと判別した場合はトランザク
ションが開始されていないことになるので、ステップS
122に移行してトランザクションを開始し、その後ス
テップS124へ移行する。
【0048】また、トランザクションIDが既に発行さ
れている場合には、既に他のアプリケーションプログラ
ムの実行に際して開始されたトランザクションが継続さ
れているので、実行中のアプリケーションプログラムが
ステップS108(図2)で指定したトランザクション
IDが、トランザクション開始時にデータベース制御処
理によって発行されたトランザクションIDであるか否
かを判別する(ステップS123)。ここで、トランザ
クションIDが一致した場合には、ステップS124へ
移行し、一致しない場合にはそのまま処理を終了する。
れている場合には、既に他のアプリケーションプログラ
ムの実行に際して開始されたトランザクションが継続さ
れているので、実行中のアプリケーションプログラムが
ステップS108(図2)で指定したトランザクション
IDが、トランザクション開始時にデータベース制御処
理によって発行されたトランザクションIDであるか否
かを判別する(ステップS123)。ここで、トランザ
クションIDが一致した場合には、ステップS124へ
移行し、一致しない場合にはそのまま処理を終了する。
【0049】上述のように、トランザクションが開始さ
れると、データベース制御処理によってトランザクショ
ンIDが発行され、このトランザクションIDがアプリ
ケーションプログラムによるデータベース更新処理にお
いて取得される。このトランザクションIDは、アプリ
ケーションプログラムによる処理が終了した際に同一ト
ランザクション中の次のアプリケーションプログラムに
引き継がれる。従って、1つのトランザクション中に実
行される全てのアプリケーションプログラムには、順
次、同じトランザクションIDが引き継がれる。
れると、データベース制御処理によってトランザクショ
ンIDが発行され、このトランザクションIDがアプリ
ケーションプログラムによるデータベース更新処理にお
いて取得される。このトランザクションIDは、アプリ
ケーションプログラムによる処理が終了した際に同一ト
ランザクション中の次のアプリケーションプログラムに
引き継がれる。従って、1つのトランザクション中に実
行される全てのアプリケーションプログラムには、順
次、同じトランザクションIDが引き継がれる。
【0050】従って、アプリケーションプログラムが指
定したトランザクションIDとデータベース制御処理で
発行されたトランザクションIDとがが一致しない場合
には、継続中のトランザクションとは無関係のアプリケ
ーションプログラムによる処理が実行されようとしてい
るので、CPU2はデータベースの更新を拒否してその
まま処理を終了する。
定したトランザクションIDとデータベース制御処理で
発行されたトランザクションIDとがが一致しない場合
には、継続中のトランザクションとは無関係のアプリケ
ーションプログラムによる処理が実行されようとしてい
るので、CPU2はデータベースの更新を拒否してその
まま処理を終了する。
【0051】ステップS124では、ステップS102
(図2)又はステップS109(図2)での動作に対応
してデータベース10内のデータを更新する。なお、こ
のステップS124で更新されるデータベース10の更
新内容は、一時的に記憶装置5に記憶され、暫定コミッ
トはされない。
(図2)又はステップS109(図2)での動作に対応
してデータベース10内のデータを更新する。なお、こ
のステップS124で更新されるデータベース10の更
新内容は、一時的に記憶装置5に記憶され、暫定コミッ
トはされない。
【0052】続くステップS125では、データベース
10内のデータの更新処理が正常に終了したか否かを判
別する。データの更新処理が正常に終了していれば、後
述するステップS129へ移行する。また、データベー
ス10内のデータ更新が正常に終了しなかった場合には
ステップS126へ移行して、記憶装置5に一時的に記
憶された更新内容をもとにロールバックによるデータベ
ース10の復旧を実行する。
10内のデータの更新処理が正常に終了したか否かを判
別する。データの更新処理が正常に終了していれば、後
述するステップS129へ移行する。また、データベー
ス10内のデータ更新が正常に終了しなかった場合には
ステップS126へ移行して、記憶装置5に一時的に記
憶された更新内容をもとにロールバックによるデータベ
ース10の復旧を実行する。
【0053】CPU2は、ステップS126でデータベ
ース10を復旧した後、さらにステップS127で、ト
ランザクションが開始されてから暫定コミットになって
いるデータがあるか否かを判別する。そして、暫定コミ
ットされた状態の更新内容がある場合には、記憶装置5
内にバックアップされた更新内容をもとにデータベース
10のロールバックを行う(ステップS128)。な
お、ステップS127で、暫定コミット中のデータがな
い場合には、そのまま処理を終了する。
ース10を復旧した後、さらにステップS127で、ト
ランザクションが開始されてから暫定コミットになって
いるデータがあるか否かを判別する。そして、暫定コミ
ットされた状態の更新内容がある場合には、記憶装置5
内にバックアップされた更新内容をもとにデータベース
10のロールバックを行う(ステップS128)。な
お、ステップS127で、暫定コミット中のデータがな
い場合には、そのまま処理を終了する。
【0054】つまり、トランザクションが開始されてか
ら2番目以降のアプリケーションプログラムを処理する
際には、同一トランザクション内で先に実行されたアプ
リケーションプログラムによるデータベース更新処理で
暫定コミットされたバックアップデータが記憶されてい
る。従って、全ての暫定コミット中の更新内容のバック
アップデータをもとにロールバックを行うことにより、
データの更新時に異常が発生した場合には、トランザク
ションの全てのデータ更新が行われる前の状態へデータ
ベース10を復旧することができる。
ら2番目以降のアプリケーションプログラムを処理する
際には、同一トランザクション内で先に実行されたアプ
リケーションプログラムによるデータベース更新処理で
暫定コミットされたバックアップデータが記憶されてい
る。従って、全ての暫定コミット中の更新内容のバック
アップデータをもとにロールバックを行うことにより、
データの更新時に異常が発生した場合には、トランザク
ションの全てのデータ更新が行われる前の状態へデータ
ベース10を復旧することができる。
【0055】一方、ステップS125で、データベース
10内のデータの更新処理が正常に終了したと判別され
た場合には、ステップS129に移行して、入力装置7
からの指示入力によって完全コミットが指定されたか否
かを判別する。
10内のデータの更新処理が正常に終了したと判別され
た場合には、ステップS129に移行して、入力装置7
からの指示入力によって完全コミットが指定されたか否
かを判別する。
【0056】そして、データベース更新処理(図2)の
ステップS111で完全コミットが指定された場合に
は、CPU2はステップS130へ移行し、暫定コミッ
トされている更新内容を完全に確定するとともに、記憶
装置5に記憶された更新内容のバックアップデータを破
棄する(ステップS131)。その後、トランザクショ
ンを終了して、一連の処理を終了する。
ステップS111で完全コミットが指定された場合に
は、CPU2はステップS130へ移行し、暫定コミッ
トされている更新内容を完全に確定するとともに、記憶
装置5に記憶された更新内容のバックアップデータを破
棄する(ステップS131)。その後、トランザクショ
ンを終了して、一連の処理を終了する。
【0057】さらに、ステップS129で、ステップS
111(図2)で完全コミットが指定されなかったと判
別した場合には、そのままトランザクションが継続され
るので、CPU2は、トランザクションIDが既に発行
されたか否かを判別する(ステップS133)。既にト
ランザクションIDが発行されていれば、データベース
更新処理(図2)のステップS106で、次のアプリケ
ーションプログラムにトランザクションIDが引き継が
れるので、ステップS135へ移行する。また、トラン
ザクションIDがまだ発行されていないのであれば、ス
テップS134でトランザクションIDを発行してステ
ップS135へ移行する。
111(図2)で完全コミットが指定されなかったと判
別した場合には、そのままトランザクションが継続され
るので、CPU2は、トランザクションIDが既に発行
されたか否かを判別する(ステップS133)。既にト
ランザクションIDが発行されていれば、データベース
更新処理(図2)のステップS106で、次のアプリケ
ーションプログラムにトランザクションIDが引き継が
れるので、ステップS135へ移行する。また、トラン
ザクションIDがまだ発行されていないのであれば、ス
テップS134でトランザクションIDを発行してステ
ップS135へ移行する。
【0058】ステップS135では、ステップS124
で行われたデータベース10の更新内容を暫定コミット
して、更新内容のバックアップデータを生成して記憶装
置5に記憶し、処理を終了する。
で行われたデータベース10の更新内容を暫定コミット
して、更新内容のバックアップデータを生成して記憶装
置5に記憶し、処理を終了する。
【0059】その後、トランザクションの最後のアプリ
ケーションプログラムによるデータベース更新処理(図
2)が行われた場合には、ステップS111で完全コミ
ット指定が行われるので、ステップS129(図3)で
は完全コミットが行われ、暫定コミットされた状態の更
新内容が完全に確定される。
ケーションプログラムによるデータベース更新処理(図
2)が行われた場合には、ステップS111で完全コミ
ット指定が行われるので、ステップS129(図3)で
は完全コミットが行われ、暫定コミットされた状態の更
新内容が完全に確定される。
【0060】以上のように、本発明の第1の実施の形態
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによってデータベース10内のデータ
を更新するデータベース更新処理が開始されると、この
データベース更新処理に応じてで制御処理を開始し、ト
ランザクションを開始してデータベース10内のデータ
の更新を行うとともに、更新内容を一時的に記憶装置5
に記憶する。そして、トランザクション毎に固有のトラ
ンザクションIDを発行し、データベース10の更新内
容を示すバックアップデータを生成して記憶させること
で暫定コミット処理を実行する。また、実行中のアプリ
ケーションプログラムの処理が終了して次のアプリケー
ションプログラムにトランザクションIDが引き継がれ
ると、アプリケーションプログラムが取得したトランザ
クションIDと、発行されたトランザクションIDとを
照合して認証を行い、トランザクションIDが一致しな
い場合にはデータベース10の更新をせずに処理を終了
する。また、トランザクションIDが一致した場合には
データベース10の更新を実行する。さらに、トランザ
クションIDの最後のアプリケーションプログラムによ
る処理が終了する際には、暫定コミットされていた更新
内容を完全に確定して完全コミット処理を実行する。そ
して、データベース10の更新処理中に異常が発生した
場合には、記憶装置5に一時的に記憶された更新内容お
よび暫定コミットされた更新内容を全てロールバックし
てデータベース10を復旧し、全てのアプリケーション
プログラムの処理が終了すると、記憶装置5に一時的に
記憶された更新内容および暫定コミットされた更新内容
を全て完全コミットして処理を終了する。
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによってデータベース10内のデータ
を更新するデータベース更新処理が開始されると、この
データベース更新処理に応じてで制御処理を開始し、ト
ランザクションを開始してデータベース10内のデータ
の更新を行うとともに、更新内容を一時的に記憶装置5
に記憶する。そして、トランザクション毎に固有のトラ
ンザクションIDを発行し、データベース10の更新内
容を示すバックアップデータを生成して記憶させること
で暫定コミット処理を実行する。また、実行中のアプリ
ケーションプログラムの処理が終了して次のアプリケー
ションプログラムにトランザクションIDが引き継がれ
ると、アプリケーションプログラムが取得したトランザ
クションIDと、発行されたトランザクションIDとを
照合して認証を行い、トランザクションIDが一致しな
い場合にはデータベース10の更新をせずに処理を終了
する。また、トランザクションIDが一致した場合には
データベース10の更新を実行する。さらに、トランザ
クションIDの最後のアプリケーションプログラムによ
る処理が終了する際には、暫定コミットされていた更新
内容を完全に確定して完全コミット処理を実行する。そ
して、データベース10の更新処理中に異常が発生した
場合には、記憶装置5に一時的に記憶された更新内容お
よび暫定コミットされた更新内容を全てロールバックし
てデータベース10を復旧し、全てのアプリケーション
プログラムの処理が終了すると、記憶装置5に一時的に
記憶された更新内容および暫定コミットされた更新内容
を全て完全コミットして処理を終了する。
【0061】これによって、データベース10内のデー
タを更新する際に、複数のアプリケーションにより複数
の関連するデータを更新する場合も、全てのアプリケー
ションプログラムによる処理を含む1回のトランザクシ
ョンとして実行することができ、トランザクション中の
更新内容は暫定コミットとしてバックアップされる。こ
のため、データベース10の更新処理中に異常が発生し
た場合には、異常が発生したアプリケーションプログラ
ムによる更新の前でなく、1回のトランザクションが行
われる前の時点での状態でデータベース10を復旧する
ことができる。
タを更新する際に、複数のアプリケーションにより複数
の関連するデータを更新する場合も、全てのアプリケー
ションプログラムによる処理を含む1回のトランザクシ
ョンとして実行することができ、トランザクション中の
更新内容は暫定コミットとしてバックアップされる。こ
のため、データベース10の更新処理中に異常が発生し
た場合には、異常が発生したアプリケーションプログラ
ムによる更新の前でなく、1回のトランザクションが行
われる前の時点での状態でデータベース10を復旧する
ことができる。
【0062】従って、複数のアプリケーションプログラ
ムによりデータベース10の内容を更新した場合に異常
が発生しても、データベース10が復旧された後に、再
度、最初から複数のアプリケーションプログラムによる
更新処理を実行すれば良く、データベース10が中途半
端に更新された状態になってしまうことがない。
ムによりデータベース10の内容を更新した場合に異常
が発生しても、データベース10が復旧された後に、再
度、最初から複数のアプリケーションプログラムによる
更新処理を実行すれば良く、データベース10が中途半
端に更新された状態になってしまうことがない。
【0063】また、トランザクションが実行されている
間は、データベース制御処理で発行されたトランザクシ
ョンIDを取得していないアプリケーションプログラム
によるデータベース10の更新を拒否することができる
ので、複数のアプリケーションプログラムにより処理の
合間に関係のないアプリケーションプログラムにより処
理が行われることが無い。このため、データベース10
の内容に矛盾や不整合が生じる事態を確実に避けること
ができる。
間は、データベース制御処理で発行されたトランザクシ
ョンIDを取得していないアプリケーションプログラム
によるデータベース10の更新を拒否することができる
ので、複数のアプリケーションプログラムにより処理の
合間に関係のないアプリケーションプログラムにより処
理が行われることが無い。このため、データベース10
の内容に矛盾や不整合が生じる事態を確実に避けること
ができる。
【0064】このため、上記第1の実施の形態における
データベース処理装置1によれば、データベース10の
更新処理を効率よく実行することができ、さらに、デー
タベース10内のデータの信頼性を向上させることがで
きる。
データベース処理装置1によれば、データベース10の
更新処理を効率よく実行することができ、さらに、デー
タベース10内のデータの信頼性を向上させることがで
きる。
【0065】なお、上記第1の実施の形態のデータベー
ス処理装置1においては、図2に示すデータベース更新
処理において、トランザクションの最初のアプリケーシ
ョンプログラムによる処理が終了すると、更新内容が全
て暫定コミットされて、次のアプリケーションプログラ
ムにトランザクションIDが引き渡される構成とした
が、本発明はこれに限定されるものではなく、例えば、
トランザクションが1つのアプリケーションプログラム
によって完結する場合に対応するように、最初のアプリ
ケーションプログラムによる処理が終了した時点でデー
タベース10の更新内容を完全コミットしてトランザク
ションを終了できるようにしても良い。
ス処理装置1においては、図2に示すデータベース更新
処理において、トランザクションの最初のアプリケーシ
ョンプログラムによる処理が終了すると、更新内容が全
て暫定コミットされて、次のアプリケーションプログラ
ムにトランザクションIDが引き渡される構成とした
が、本発明はこれに限定されるものではなく、例えば、
トランザクションが1つのアプリケーションプログラム
によって完結する場合に対応するように、最初のアプリ
ケーションプログラムによる処理が終了した時点でデー
タベース10の更新内容を完全コミットしてトランザク
ションを終了できるようにしても良い。
【0066】[第2の実施の形態]図4は、本発明の第
2の実施の形態におけるデータベース処理装置1により
実行されるデータベース部分別制御処理を示すフローチ
ャートである。なお、本第2の実施の形態におけるデー
タベース処理装置1は上記第1の実施の形態と同様の構
成によってなるので、その構成についての説明および図
示を省略する。
2の実施の形態におけるデータベース処理装置1により
実行されるデータベース部分別制御処理を示すフローチ
ャートである。なお、本第2の実施の形態におけるデー
タベース処理装置1は上記第1の実施の形態と同様の構
成によってなるので、その構成についての説明および図
示を省略する。
【0067】なお、本第2の実施の形態において、CP
U2は、図4のステップS218に示す処理を実行する
ことによって請求項記載の確定制御手段に対応する。ま
た、入力装置7は、CPU2によって図2のステップS
105および図4のステップS217に示す処理が実行
されることにより、種別指定手段に対応する。
U2は、図4のステップS218に示す処理を実行する
ことによって請求項記載の確定制御手段に対応する。ま
た、入力装置7は、CPU2によって図2のステップS
105および図4のステップS217に示す処理が実行
されることにより、種別指定手段に対応する。
【0068】また、本第2の実施の形態におけるデータ
ベース処理装置1によって、アプリケーションプログラ
ムを実行した際のデータベース更新処理は、上記第1の
実施の形態におけるデータベース更新処理(図2)と同
様の処理であり、説明を省略する。
ベース処理装置1によって、アプリケーションプログラ
ムを実行した際のデータベース更新処理は、上記第1の
実施の形態におけるデータベース更新処理(図2)と同
様の処理であり、説明を省略する。
【0069】図4に示すデータベース部分別制御処理で
は、まずCPU2は、トランザクションIDが既に発行
されているか否かを判別する。トランザクションIDが
まだ発行されていなければ、データベース更新処理(図
2)を行うアプリケーションプログラムはトランザクシ
ョン中の最初のアプリケーションプログラムであるの
で、ステップS202に移行してトランザクションを開
始し、ステップS204に移行する。
は、まずCPU2は、トランザクションIDが既に発行
されているか否かを判別する。トランザクションIDが
まだ発行されていなければ、データベース更新処理(図
2)を行うアプリケーションプログラムはトランザクシ
ョン中の最初のアプリケーションプログラムであるの
で、ステップS202に移行してトランザクションを開
始し、ステップS204に移行する。
【0070】ステップS204で、CPU2は、ステッ
プS102(図2)の動作に応じてデータベース10内
のデータの更新を行う。なお、ステップS204でのデ
ータベース10の更新内容は一時的に記憶装置5に記憶
され、暫定コミットされない。続くステップS205で
は、ステップS204でのデータベース10の更新が正
常に終了したか否かを判別する。
プS102(図2)の動作に応じてデータベース10内
のデータの更新を行う。なお、ステップS204でのデ
ータベース10の更新内容は一時的に記憶装置5に記憶
され、暫定コミットされない。続くステップS205で
は、ステップS204でのデータベース10の更新が正
常に終了したか否かを判別する。
【0071】一方、ステップS201でトランザクショ
ンIDが既に発行されていると判別された場合には、既
に他のアプリケーションプログラムの実行に際して開始
されたトランザクションが継続されているので、実行中
のアプリケーションプログラムがステップS108(図
2)で指定したトランザクションIDが、トランザクシ
ョン開始時にデータベース制御処理によって発行された
トランザクションIDであるか否かを判別する(ステッ
プS203)。ここで、トランザクションIDが一致し
た場合には、ステップS204へ移行し、一致しない場
合にはそのまま処理を終了する。そして、ステップS2
04では、ステップS109(図2)の動作に応じてデ
ータベース10内のデータの更新を実行し、ステップS
205へ移行する。
ンIDが既に発行されていると判別された場合には、既
に他のアプリケーションプログラムの実行に際して開始
されたトランザクションが継続されているので、実行中
のアプリケーションプログラムがステップS108(図
2)で指定したトランザクションIDが、トランザクシ
ョン開始時にデータベース制御処理によって発行された
トランザクションIDであるか否かを判別する(ステッ
プS203)。ここで、トランザクションIDが一致し
た場合には、ステップS204へ移行し、一致しない場
合にはそのまま処理を終了する。そして、ステップS2
04では、ステップS109(図2)の動作に応じてデ
ータベース10内のデータの更新を実行し、ステップS
205へ移行する。
【0072】ステップS205で、データベース10の
更新が正常に終了しなかった場合には、ステップS20
6へ移行し、ステップS204での更新内容をロールバ
ックすることによってデータベース10を復旧する。さ
らに、ステップS207で暫定コミットされた状態のバ
ックアップデータがあるか否かを判別し、暫定コミット
されたバックアップデータが無い場合には処理を終了
し、バックアップデータがある場合には、そのバックア
ップデータをもとにロールバックを行ってデータベース
10をトランザクションの前の状態に復旧して、処理を
終了する。
更新が正常に終了しなかった場合には、ステップS20
6へ移行し、ステップS204での更新内容をロールバ
ックすることによってデータベース10を復旧する。さ
らに、ステップS207で暫定コミットされた状態のバ
ックアップデータがあるか否かを判別し、暫定コミット
されたバックアップデータが無い場合には処理を終了
し、バックアップデータがある場合には、そのバックア
ップデータをもとにロールバックを行ってデータベース
10をトランザクションの前の状態に復旧して、処理を
終了する。
【0073】また、ステップS205で、ステップS2
04でのデータベース10の更新処理が正常に終了した
と判別した場合には、ステップS209へ移行し、アプ
リケーションプログラムによるデータベース更新処理
(図2)のステップS111で完全コミットが指定され
たか否かを判別する。完全コミットが指定された場合に
は、ステップS204で記憶装置5に一時的に記憶され
た更新内容を完全に確定し(ステップS210)、続い
て、暫定コミットされた状態にある更新内容を全て完全
コミットして(ステップS211)、トランザクション
を終了する(ステップS212)。
04でのデータベース10の更新処理が正常に終了した
と判別した場合には、ステップS209へ移行し、アプ
リケーションプログラムによるデータベース更新処理
(図2)のステップS111で完全コミットが指定され
たか否かを判別する。完全コミットが指定された場合に
は、ステップS204で記憶装置5に一時的に記憶され
た更新内容を完全に確定し(ステップS210)、続い
て、暫定コミットされた状態にある更新内容を全て完全
コミットして(ステップS211)、トランザクション
を終了する(ステップS212)。
【0074】一方、ステップS209で、完全コミット
が指定されなかったと判別した場合には、ステップS2
13に移行して、トランザクションIDが既に発行され
ているか否かを判別する。トランザクションIDがまだ
発行されていない場合には、ステップS214でトラン
ザクションIDを発行してステップS215へ移行し、
トランザクションIDが既に発行されている場合には、
そのままステップS215へ移行する。
が指定されなかったと判別した場合には、ステップS2
13に移行して、トランザクションIDが既に発行され
ているか否かを判別する。トランザクションIDがまだ
発行されていない場合には、ステップS214でトラン
ザクションIDを発行してステップS215へ移行し、
トランザクションIDが既に発行されている場合には、
そのままステップS215へ移行する。
【0075】ステップS215では、ステップS204
で記憶装置5に一時的に記憶された更新内容を暫定コミ
ットして、更新内容のバックアップデータを生成して記
憶装置5に記憶させる。続くステップS216では、暫
定コミットした更新内容毎にコミットIDを発行する。
このコミットIDは、暫定コミットされた全ての更新内
容の中から特定の更新内容を指定するために用いられる
符号である。
で記憶装置5に一時的に記憶された更新内容を暫定コミ
ットして、更新内容のバックアップデータを生成して記
憶装置5に記憶させる。続くステップS216では、暫
定コミットした更新内容毎にコミットIDを発行する。
このコミットIDは、暫定コミットされた全ての更新内
容の中から特定の更新内容を指定するために用いられる
符号である。
【0076】そして、ステップS217へ移行して、ア
プリケーションプログラムによるデータベース更新処理
(図2)のステップS105で、コミットIDによる部
分的完全コミットが指定されたか否かを判別する。
プリケーションプログラムによるデータベース更新処理
(図2)のステップS105で、コミットIDによる部
分的完全コミットが指定されたか否かを判別する。
【0077】部分的完全コミットは、暫定コミットされ
た更新内容の中で指定された一部の更新内容のみが完全
コミットされる処理である。この部分的完全コミットは
図2のデータベース更新処理においてステップS105
で指定され、指定された更新内容は、同一トランザクシ
ョン内の処理に異常が発生した場合であってもロールバ
ックしないようにすることができる。
た更新内容の中で指定された一部の更新内容のみが完全
コミットされる処理である。この部分的完全コミットは
図2のデータベース更新処理においてステップS105
で指定され、指定された更新内容は、同一トランザクシ
ョン内の処理に異常が発生した場合であってもロールバ
ックしないようにすることができる。
【0078】更新内容が暫定コミットされた状態のまま
では、同一トランザクション内のその後の処理で異常が
発生した場合にロールバックされるので、復旧後のデー
タベース10はトランザクションの前の状態となってし
まう。しかし、部分的完全コミットで指定された更新内
容はトランザクションの終了を待たずに完全コミットさ
れるので、ロールバックによってデータベース10が復
旧されても、指定された更新内容はデータベース10の
内容に反映される。
では、同一トランザクション内のその後の処理で異常が
発生した場合にロールバックされるので、復旧後のデー
タベース10はトランザクションの前の状態となってし
まう。しかし、部分的完全コミットで指定された更新内
容はトランザクションの終了を待たずに完全コミットさ
れるので、ロールバックによってデータベース10が復
旧されても、指定された更新内容はデータベース10の
内容に反映される。
【0079】ステップS217で、ステップS105
(図2)でコミットIDによる部分的完全コミットが指
定されたと判別した場合には、ステップS218に移行
して、指定されたコミットIDに該当する更新内容を完
全コミットし、バックアップデータを消去して、ステッ
プS219へ移行する。また、ステップS217で部分
的完全コミットが指定されなかったと判別した場合に
は、ステップS219へ移行する。
(図2)でコミットIDによる部分的完全コミットが指
定されたと判別した場合には、ステップS218に移行
して、指定されたコミットIDに該当する更新内容を完
全コミットし、バックアップデータを消去して、ステッ
プS219へ移行する。また、ステップS217で部分
的完全コミットが指定されなかったと判別した場合に
は、ステップS219へ移行する。
【0080】ステップS219では、引き続き同一のア
プリケーションプログラムによってデータベース10の
更新が行われるか否かを判別し、他のデータの更新が行
われる場合にはステップS204へ戻り、実行中のアプ
リケーションプログラムによるデータベース10の更新
が終了したのであれば、処理を終了する。
プリケーションプログラムによってデータベース10の
更新が行われるか否かを判別し、他のデータの更新が行
われる場合にはステップS204へ戻り、実行中のアプ
リケーションプログラムによるデータベース10の更新
が終了したのであれば、処理を終了する。
【0081】その後、トランザクションの最後のアプリ
ケーションプログラムによるデータベース更新処理(図
2)が行われた場合には、ステップS111で完全コミ
ット指定が行われるので、ステップS211(図4)で
は完全コミットが行われ、暫定コミットされた状態の更
新内容が完全に確定されて、トランザクションが終了さ
れる。
ケーションプログラムによるデータベース更新処理(図
2)が行われた場合には、ステップS111で完全コミ
ット指定が行われるので、ステップS211(図4)で
は完全コミットが行われ、暫定コミットされた状態の更
新内容が完全に確定されて、トランザクションが終了さ
れる。
【0082】以上のように、本発明の第2の実施の形態
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによりデータベース更新処理が行われ
た際に、データベース制御処理においてデータベース1
0の更新内容を暫定コミットするとともに、暫定コミッ
トされた更新内容毎にコミットIDを発行し、このコミ
ットIDによって部分的完全コミットが指定されると、
指定されたコミットIDに対応する更新内容のみを完全
コミットする。
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによりデータベース更新処理が行われ
た際に、データベース制御処理においてデータベース1
0の更新内容を暫定コミットするとともに、暫定コミッ
トされた更新内容毎にコミットIDを発行し、このコミ
ットIDによって部分的完全コミットが指定されると、
指定されたコミットIDに対応する更新内容のみを完全
コミットする。
【0083】これにより、複数のアプリケーションプロ
グラムによってデータベース10内の関連する複数のデ
ータを更新する際に、これら複数のアプリケーションプ
ログラムによる更新内容毎にコミットIDを付与するこ
とにより、トランザクションが終了する前であっても、
特定の更新内容のみを完全コミットさせることができ
る。従って、データベース10の更新処理中に異常が発
生した場合に復旧されるデータベース10の状態を、任
意の更新処理のみが反映された状態にすることができ
る。例えば、同一トランザクション中の他のアプリケー
ションプログラムによる変更内容とは関連が薄く、独立
して完全コミットしても問題のない更新内容について
は、異常発生時に復旧されるデータベース10に反映さ
れるようにすることができる。このため、データベース
10の更新処理中に異常が発生した場合に復旧されるデ
ータベース10の状態を所望の状態にすることができ
る。このため、データベース10が復旧された後の作業
を減らすことができ、データベース10内のデータにお
ける矛盾や不整合を確実に防止しながら、データベース
10の更新処理をより効率よく行うことができる。
グラムによってデータベース10内の関連する複数のデ
ータを更新する際に、これら複数のアプリケーションプ
ログラムによる更新内容毎にコミットIDを付与するこ
とにより、トランザクションが終了する前であっても、
特定の更新内容のみを完全コミットさせることができ
る。従って、データベース10の更新処理中に異常が発
生した場合に復旧されるデータベース10の状態を、任
意の更新処理のみが反映された状態にすることができ
る。例えば、同一トランザクション中の他のアプリケー
ションプログラムによる変更内容とは関連が薄く、独立
して完全コミットしても問題のない更新内容について
は、異常発生時に復旧されるデータベース10に反映さ
れるようにすることができる。このため、データベース
10の更新処理中に異常が発生した場合に復旧されるデ
ータベース10の状態を所望の状態にすることができ
る。このため、データベース10が復旧された後の作業
を減らすことができ、データベース10内のデータにお
ける矛盾や不整合を確実に防止しながら、データベース
10の更新処理をより効率よく行うことができる。
【0084】[第3の実施の形態]図5は、本発明の第
3の実施の形態におけるデータベース処理装置1により
実行されるデータベース処理別制御処理を示すフローチ
ャートである。また、図6は、図5のステップS304
に示す処理種別更新処理をより詳細に示すフローチャー
トであり、図7は、図5のステップS317に示す処理
別完全コミット処理をより詳細に示すフローチャートで
ある。以下、これら図5〜図7に従って、本発明の第3
の実施の形態におけるデータベース処理装置1の動作に
ついて説明する。
3の実施の形態におけるデータベース処理装置1により
実行されるデータベース処理別制御処理を示すフローチ
ャートである。また、図6は、図5のステップS304
に示す処理種別更新処理をより詳細に示すフローチャー
トであり、図7は、図5のステップS317に示す処理
別完全コミット処理をより詳細に示すフローチャートで
ある。以下、これら図5〜図7に従って、本発明の第3
の実施の形態におけるデータベース処理装置1の動作に
ついて説明する。
【0085】なお、本第3の実施の形態において、CP
U2は、図6のステップS321に示す処理を実行する
ことによって請求項記載の判定手段に対応し、同様に、
ステップS322〜ステップS324に示す処理を実行
することにより記憶制御手段に対応し、図7のステップ
S331〜ステップS334に示す処理を実行すること
によって種別毎確定制御手段に対応する。また、入力装
置7は、CPU2によって図2のステップS105およ
び図5のステップS316に示す処理が実行されること
により、種別指定手段に対応する。
U2は、図6のステップS321に示す処理を実行する
ことによって請求項記載の判定手段に対応し、同様に、
ステップS322〜ステップS324に示す処理を実行
することにより記憶制御手段に対応し、図7のステップ
S331〜ステップS334に示す処理を実行すること
によって種別毎確定制御手段に対応する。また、入力装
置7は、CPU2によって図2のステップS105およ
び図5のステップS316に示す処理が実行されること
により、種別指定手段に対応する。
【0086】後述するように、本第3の実施の形態にお
けるデータベース処理種別制御処理では、データベース
10の更新処理の種別を判定する。データベース10内
のデータを更新する際の処理の種別としては、例えば、
新しい項目のデータを追加するデータ挿入(INSER
T)処理、古いデータを同じ項目の新しいデータに書き
換えるデータ更新(UPDATE)処理、不要になった
データを削除するデータ削除(DELETE)処理が挙
げられる。以下、本第3の実施の形態では、これら3種
類の処理について、データベース処理別制御処理が実行
されるものとして説明する。
けるデータベース処理種別制御処理では、データベース
10の更新処理の種別を判定する。データベース10内
のデータを更新する際の処理の種別としては、例えば、
新しい項目のデータを追加するデータ挿入(INSER
T)処理、古いデータを同じ項目の新しいデータに書き
換えるデータ更新(UPDATE)処理、不要になった
データを削除するデータ削除(DELETE)処理が挙
げられる。以下、本第3の実施の形態では、これら3種
類の処理について、データベース処理別制御処理が実行
されるものとして説明する。
【0087】従って、記憶装置5内には、上記3種類の
処理に対応づけて、データ挿入処理が登録されるINS
ERT処理群、データ更新処理が登録されるUPDAT
E処理群、データ削除処理が登録されるDELETE処
理群の3つのテーブルが格納される構成とする。
処理に対応づけて、データ挿入処理が登録されるINS
ERT処理群、データ更新処理が登録されるUPDAT
E処理群、データ削除処理が登録されるDELETE処
理群の3つのテーブルが格納される構成とする。
【0088】なお、本第3の実施の形態におけるデータ
ベース処理装置1の上記記憶装置5の内部構成を除く各
部は上記第1および第2の実施の形態と同様の構成によ
ってなるので、その構成についての説明および図示を省
略する。また、本第3の実施の形態におけるデータベー
ス処理装置1によって、アプリケーションプログラムを
実行した際のデータベース更新処理は、上記第1の実施
の形態におけるデータベース更新処理(図2)と同様の
処理であり、説明を省略する。
ベース処理装置1の上記記憶装置5の内部構成を除く各
部は上記第1および第2の実施の形態と同様の構成によ
ってなるので、その構成についての説明および図示を省
略する。また、本第3の実施の形態におけるデータベー
ス処理装置1によって、アプリケーションプログラムを
実行した際のデータベース更新処理は、上記第1の実施
の形態におけるデータベース更新処理(図2)と同様の
処理であり、説明を省略する。
【0089】図5に示すデータベース処理別制御処理に
おいて、CPU2は、まずトランザクションIDが既に
発行されたか否かを判別する(ステップS301)。ト
ランザクションIDがまだ発行されていなければ、デー
タベース更新処理(図2)を行うアプリケーションプロ
グラムはトランザクション中の最初のアプリケーション
プログラムであるので、ステップS302に移行してト
ランザクションを開始し、ステップS304に移行す
る。
おいて、CPU2は、まずトランザクションIDが既に
発行されたか否かを判別する(ステップS301)。ト
ランザクションIDがまだ発行されていなければ、デー
タベース更新処理(図2)を行うアプリケーションプロ
グラムはトランザクション中の最初のアプリケーション
プログラムであるので、ステップS302に移行してト
ランザクションを開始し、ステップS304に移行す
る。
【0090】ステップS304で、CPU2は、ステッ
プS102(図2)の動作に応じてデータベース10内
のデータの処理種別更新処理を行ってステップS305
へ移行する。
プS102(図2)の動作に応じてデータベース10内
のデータの処理種別更新処理を行ってステップS305
へ移行する。
【0091】ステップS304での処理種別更新処理
は、後述するように、データベース処理装置1の内容を
更新する処理を、INSERT(挿入)、UPDATE
(更新)、DELETE(削除)の3種に分類した上で
実行する処理である。なお、このステップS304での
更新内容は、暫定コミットされずに、記憶装置5に一時
的に記憶される。
は、後述するように、データベース処理装置1の内容を
更新する処理を、INSERT(挿入)、UPDATE
(更新)、DELETE(削除)の3種に分類した上で
実行する処理である。なお、このステップS304での
更新内容は、暫定コミットされずに、記憶装置5に一時
的に記憶される。
【0092】一方、ステップS301でトランザクショ
ンIDが既に発行されていると判別された場合には、既
に他のアプリケーションプログラムの実行に際して開始
されたトランザクションが継続されているので、実行中
のアプリケーションプログラムがステップS108(図
2)で指定したトランザクションIDが、トランザクシ
ョン開始時にデータベース制御処理によって発行された
トランザクションIDであるか否かを判別する(ステッ
プS303)。ここで、トランザクションIDが一致し
た場合には、ステップS304へ移行し、一致しない場
合にはそのまま処理を終了する。そして、ステップS3
04では、ステップS109(図2)の動作に応じて処
理種別更新処理を実行し、ステップS305へ移行す
る。
ンIDが既に発行されていると判別された場合には、既
に他のアプリケーションプログラムの実行に際して開始
されたトランザクションが継続されているので、実行中
のアプリケーションプログラムがステップS108(図
2)で指定したトランザクションIDが、トランザクシ
ョン開始時にデータベース制御処理によって発行された
トランザクションIDであるか否かを判別する(ステッ
プS303)。ここで、トランザクションIDが一致し
た場合には、ステップS304へ移行し、一致しない場
合にはそのまま処理を終了する。そして、ステップS3
04では、ステップS109(図2)の動作に応じて処
理種別更新処理を実行し、ステップS305へ移行す
る。
【0093】ステップS305では、ステップS304
でのデータベース10の更新が正常に終了したか否かを
判別する。このステップS305で、データベース10
の更新が正常に終了しなかったと判別された場合には、
ステップS306へ移行し、ステップS304での更新
内容をロールバックすることによってデータベース10
を復旧する。さらに、ステップS307で暫定コミット
された状態のバックアップデータがあるか否かを判別
し、暫定コミットされたバックアップデータが無い場合
には処理を終了し、バックアップデータがある場合に
は、そのバックアップデータをもとにロールバックを行
ってデータベース10をトランザクションの前の状態に
復旧して、処理を終了する。
でのデータベース10の更新が正常に終了したか否かを
判別する。このステップS305で、データベース10
の更新が正常に終了しなかったと判別された場合には、
ステップS306へ移行し、ステップS304での更新
内容をロールバックすることによってデータベース10
を復旧する。さらに、ステップS307で暫定コミット
された状態のバックアップデータがあるか否かを判別
し、暫定コミットされたバックアップデータが無い場合
には処理を終了し、バックアップデータがある場合に
は、そのバックアップデータをもとにロールバックを行
ってデータベース10をトランザクションの前の状態に
復旧して、処理を終了する。
【0094】また、ステップS305で、ステップS3
04でのデータベース10の更新処理が正常に終了した
と判別した場合には、ステップS109へ移行し、アプ
リケーションプログラムによるデータベース更新処理
(図2)のステップS111で完全コミットが指定され
たか否かを判別する。完全コミットが指定された場合に
は、ステップS304で記憶装置5に一時的に記憶され
た更新内容を完全に確定し(ステップS310)、続い
て、暫定コミットされた状態にある更新内容を全て完全
コミットして(ステップS311)、トランザクション
を終了する(ステップS312)。
04でのデータベース10の更新処理が正常に終了した
と判別した場合には、ステップS109へ移行し、アプ
リケーションプログラムによるデータベース更新処理
(図2)のステップS111で完全コミットが指定され
たか否かを判別する。完全コミットが指定された場合に
は、ステップS304で記憶装置5に一時的に記憶され
た更新内容を完全に確定し(ステップS310)、続い
て、暫定コミットされた状態にある更新内容を全て完全
コミットして(ステップS311)、トランザクション
を終了する(ステップS312)。
【0095】一方、ステップS309で、完全コミット
が指定されなかったと判別した場合には、ステップS3
13に移行して、トランザクションIDが既に発行され
ているか否かを判別する。トランザクションIDがまだ
発行されていない場合には、ステップS314でトラン
ザクションIDを発行してステップS315へ移行し、
トランザクションIDが既に発行されている場合には、
そのままステップS315へ移行する。
が指定されなかったと判別した場合には、ステップS3
13に移行して、トランザクションIDが既に発行され
ているか否かを判別する。トランザクションIDがまだ
発行されていない場合には、ステップS314でトラン
ザクションIDを発行してステップS315へ移行し、
トランザクションIDが既に発行されている場合には、
そのままステップS315へ移行する。
【0096】ステップS315では、ステップS304
で記憶装置5に一時的に記憶された更新内容を暫定コミ
ットして、更新内容のバックアップデータを生成して記
憶装置5に記憶させる。
で記憶装置5に一時的に記憶された更新内容を暫定コミ
ットして、更新内容のバックアップデータを生成して記
憶装置5に記憶させる。
【0097】そして、ステップS316へ移行して、ア
プリケーションプログラムによるデータベース更新処理
(図2)のステップS105で、処理別コミット指定が
行われたか否かを判別する。このステップS316で処
理別コミット指定が行われたと判別された場合には、ス
テップS317に移行して、後述する処理別完全コミッ
ト処理を実行して、ステップS318へ移行する。
プリケーションプログラムによるデータベース更新処理
(図2)のステップS105で、処理別コミット指定が
行われたか否かを判別する。このステップS316で処
理別コミット指定が行われたと判別された場合には、ス
テップS317に移行して、後述する処理別完全コミッ
ト処理を実行して、ステップS318へ移行する。
【0098】ここで、処理別コミット指定とは、ステッ
プS304の処理種別更新処理の際に判別された、IN
SERT、UPDATE、DELETEのそれぞれの種
類毎に、完全コミットするか否かを指定するものであ
る。例えば、ステップS105(図2)でINSERT
の処理のみを完全コミットすると指定された場合には、
ステップS317では、指定されたINSERTの処理
に係る更新内容を完全コミットする。
プS304の処理種別更新処理の際に判別された、IN
SERT、UPDATE、DELETEのそれぞれの種
類毎に、完全コミットするか否かを指定するものであ
る。例えば、ステップS105(図2)でINSERT
の処理のみを完全コミットすると指定された場合には、
ステップS317では、指定されたINSERTの処理
に係る更新内容を完全コミットする。
【0099】また、ステップS316で、処理別完全コ
ミット指定が行われなかったと判別された場合には、ス
テップS318に移行する。ステップS318では、引
き続き同一のアプリケーションプログラムによってデー
タベース10の更新が行われるか否かを判別し、他のデ
ータの更新が行われる場合にはステップS304へ戻
り、実行中のアプリケーションプログラムによるデータ
ベース10の更新が終了したのであれば、処理を終了す
る。
ミット指定が行われなかったと判別された場合には、ス
テップS318に移行する。ステップS318では、引
き続き同一のアプリケーションプログラムによってデー
タベース10の更新が行われるか否かを判別し、他のデ
ータの更新が行われる場合にはステップS304へ戻
り、実行中のアプリケーションプログラムによるデータ
ベース10の更新が終了したのであれば、処理を終了す
る。
【0100】図6は、図5のステップS304で実行さ
れる処理種別更新処理をより詳細に示すフローチャート
である。この図6に示すように、処理種別更新処理にお
いてCPU2は、まずデータベース10の更新の種別を
判定する(ステップS321)。
れる処理種別更新処理をより詳細に示すフローチャート
である。この図6に示すように、処理種別更新処理にお
いてCPU2は、まずデータベース10の更新の種別を
判定する(ステップS321)。
【0101】ステップS321では、ステップS102
(図2)又はステップS109(図2)で指示された処
理が、上記3種類の処理のいずれの処理に該当するかを
判別する。このステップS321で、指示された処理が
データ挿入処理であると判別した場合には、ステップS
322に移行して、指定されたデータ挿入処理の内容を
示す更新情報を、記憶装置5内に格納されたINSER
T処理群に登録する。その後、CPU2は、ステップS
305(図5)の処理へ移行する。
(図2)又はステップS109(図2)で指示された処
理が、上記3種類の処理のいずれの処理に該当するかを
判別する。このステップS321で、指示された処理が
データ挿入処理であると判別した場合には、ステップS
322に移行して、指定されたデータ挿入処理の内容を
示す更新情報を、記憶装置5内に格納されたINSER
T処理群に登録する。その後、CPU2は、ステップS
305(図5)の処理へ移行する。
【0102】また、ステップS321で、指示された処
理がデータ更新処理であると判別した場合には、ステッ
プS323に移行して、指定されたデータ更新処理の内
容を示す更新情報を、記憶装置5内に格納されたUPD
ATE処理群に登録して、ステップS305(図5)の
処理へ移行する。
理がデータ更新処理であると判別した場合には、ステッ
プS323に移行して、指定されたデータ更新処理の内
容を示す更新情報を、記憶装置5内に格納されたUPD
ATE処理群に登録して、ステップS305(図5)の
処理へ移行する。
【0103】さらに、ステップS321で、指示された
処理がデータ削除処理であると判別した場合には、ステ
ップS324に移行して、指定されたデータ削除処理の
内容を示す更新情報を、記憶装置5内に格納されたDE
LETE処理群に登録して、ステップS305(図5)
の処理へ移行する。
処理がデータ削除処理であると判別した場合には、ステ
ップS324に移行して、指定されたデータ削除処理の
内容を示す更新情報を、記憶装置5内に格納されたDE
LETE処理群に登録して、ステップS305(図5)
の処理へ移行する。
【0104】図7は、図5のステップS317で実行さ
れる処理別完全コミット処理をより詳細に示すフローチ
ャートである。この図7に示すように、処理別コミット
処理においてCPU2は、まずステップS105で指定
された処理の種別を判定する(ステップS331)。
れる処理別完全コミット処理をより詳細に示すフローチ
ャートである。この図7に示すように、処理別コミット
処理においてCPU2は、まずステップS105で指定
された処理の種別を判定する(ステップS331)。
【0105】ステップS331では、ステップS105
(図2)で指定された処理が、上記INSERT、UP
DATE、DELETEの3種類の処理のいずれの処理
であるかを判別する。このステップS331で、指定さ
れた処理がデータ挿入処理(INSERT)であると判
別した場合には、ステップS332に移行して、記憶装
置5内に格納されたINSERT処理群に登録されてい
る全ての更新情報を完全コミットする。その後、CPU
2は、ステップS319(図5)の処理へ移行する。
(図2)で指定された処理が、上記INSERT、UP
DATE、DELETEの3種類の処理のいずれの処理
であるかを判別する。このステップS331で、指定さ
れた処理がデータ挿入処理(INSERT)であると判
別した場合には、ステップS332に移行して、記憶装
置5内に格納されたINSERT処理群に登録されてい
る全ての更新情報を完全コミットする。その後、CPU
2は、ステップS319(図5)の処理へ移行する。
【0106】また、ステップS331で、指定された処
理がデータ更新処理(UPDATE)であると判別した
場合には、ステップS333に移行して、記憶装置5内
に格納されたUPDATE処理群に登録された更新情報
を完全コミットして、ステップS319(図5)の処理
へ移行する。
理がデータ更新処理(UPDATE)であると判別した
場合には、ステップS333に移行して、記憶装置5内
に格納されたUPDATE処理群に登録された更新情報
を完全コミットして、ステップS319(図5)の処理
へ移行する。
【0107】さらに、ステップS331で、指定された
処理がデータ削除処理(DELETE)であると判別し
た場合には、ステップS334に移行して、記憶装置5
内に格納されたDELETE処理群に登録された更新情
報を完全コミットして、ステップS319(図5)の処
理へ移行する。
処理がデータ削除処理(DELETE)であると判別し
た場合には、ステップS334に移行して、記憶装置5
内に格納されたDELETE処理群に登録された更新情
報を完全コミットして、ステップS319(図5)の処
理へ移行する。
【0108】従って、ステップS105(図2)で処理
の種別を指定して処理別完全コミット処理を指示するこ
とで、特定の種類の処理だけを完全コミットすることが
できる。
の種別を指定して処理別完全コミット処理を指示するこ
とで、特定の種類の処理だけを完全コミットすることが
できる。
【0109】以上のように、本発明の第3の実施の形態
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによりデータベース10の内容が更新
される際に、更新内容の処理種別を、データ挿入処理
(INSERT)、データ更新処理(UPDATE)、
或いはデータ削除処理(DELETE)のいずれに該当
するかを判別し、各更新内容を示す更新情報を、記憶装
置5内に備えるINSERT処理群、UPDATE処理
群、DELETE処理群の各テーブルに登録する。そし
て、これらの処理種別のうち、特定の処理種別が指定さ
れ、完全コミットが指示された場合には、指定された処
理種別の更新内容を全て完全コミットする。これによ
り、データベース10を更新する処理の種別毎に、トラ
ンザクションが終了する前であっても完全コミットする
ことができるので、データベース10の更新処理中に異
常が発生した場合に復旧されるデータベース10の状態
を、任意の状態にすることができる。
におけるデータベース処理装置1によれば、アプリケー
ションプログラムによりデータベース10の内容が更新
される際に、更新内容の処理種別を、データ挿入処理
(INSERT)、データ更新処理(UPDATE)、
或いはデータ削除処理(DELETE)のいずれに該当
するかを判別し、各更新内容を示す更新情報を、記憶装
置5内に備えるINSERT処理群、UPDATE処理
群、DELETE処理群の各テーブルに登録する。そし
て、これらの処理種別のうち、特定の処理種別が指定さ
れ、完全コミットが指示された場合には、指定された処
理種別の更新内容を全て完全コミットする。これによ
り、データベース10を更新する処理の種別毎に、トラ
ンザクションが終了する前であっても完全コミットする
ことができるので、データベース10の更新処理中に異
常が発生した場合に復旧されるデータベース10の状態
を、任意の状態にすることができる。
【0110】従って、データベース10が復旧された後
の作業を減らすことができ、データベース10内のデー
タにおける矛盾や不整合を確実に防止しながら、データ
ベース10の更新処理をより効率よく行うことができ
る。
の作業を減らすことができ、データベース10内のデー
タにおける矛盾や不整合を確実に防止しながら、データ
ベース10の更新処理をより効率よく行うことができ
る。
【0111】なお、上記第3の実施の形態におけるデー
タベース処理装置1においては、データベース10の更
新処理の種別を、INSERT、UPDATE、DEL
ETEの3種に分けて処理を行う構成としたが、本発明
はこれに限定されるものではなく、データベース10の
構成に応じて、種別をさらに増加させることも可能であ
る。
タベース処理装置1においては、データベース10の更
新処理の種別を、INSERT、UPDATE、DEL
ETEの3種に分けて処理を行う構成としたが、本発明
はこれに限定されるものではなく、データベース10の
構成に応じて、種別をさらに増加させることも可能であ
る。
【0112】
【発明の効果】請求項1記載の発明のデータベース処理
装置、および、請求項5記載の記憶媒体によれば、指定
された複数の更新手段によってデータベース内のデータ
を更新する一連の更新処理を行う場合に、この一連の更
新処理を行う更新手段として指定されていない更新手段
によるデータの更新を制限するので、複数のデータを連
続して更新している最中に無関係なデータが更新される
等の事態を避けることができる。これにより、データベ
ース内のデータの矛盾を防ぎ、データベースの信頼性を
高めることができる。また、更新手段によって更新され
た更新内容は一連の更新処理が終了してから確定される
ので、異常が発生した場合には、一連の更新処理が行わ
れる前の状態にデータベースが復旧される。従って、デ
ータベースが一連の更新処理の途中の状態に戻されるこ
とがないので、復旧後は一連の更新処理を最初から実行
すればよく、復旧後の処理が非常に容易で、作業負担を
軽減することができる。
装置、および、請求項5記載の記憶媒体によれば、指定
された複数の更新手段によってデータベース内のデータ
を更新する一連の更新処理を行う場合に、この一連の更
新処理を行う更新手段として指定されていない更新手段
によるデータの更新を制限するので、複数のデータを連
続して更新している最中に無関係なデータが更新される
等の事態を避けることができる。これにより、データベ
ース内のデータの矛盾を防ぎ、データベースの信頼性を
高めることができる。また、更新手段によって更新され
た更新内容は一連の更新処理が終了してから確定される
ので、異常が発生した場合には、一連の更新処理が行わ
れる前の状態にデータベースが復旧される。従って、デ
ータベースが一連の更新処理の途中の状態に戻されるこ
とがないので、復旧後は一連の更新処理を最初から実行
すればよく、復旧後の処理が非常に容易で、作業負担を
軽減することができる。
【0113】請求項2記載の発明のデータベース処理装
置によれば、一連の更新処理における各更新手段による
更新内容がそれぞれ記憶手段に記憶され、これらの更新
内容のうち指定した更新内容のみを確定させることがで
きる。これにより、確定したい更新内容のみを先に確定
させ、その後で異常が起こっても復旧されないようにす
ることができる。従って、非常に複雑な更新内容や、取
り扱うデータ量が非常に多い場合など、同じ更新処理を
再度実行すると負担が大きい更新内容については復旧の
際に元に戻さないようにすることができ、更新処理の内
容に応じた復旧を行うことができるので、データベース
内のデータの信頼性を向上させながら作業効率の低下を
防止することができる。
置によれば、一連の更新処理における各更新手段による
更新内容がそれぞれ記憶手段に記憶され、これらの更新
内容のうち指定した更新内容のみを確定させることがで
きる。これにより、確定したい更新内容のみを先に確定
させ、その後で異常が起こっても復旧されないようにす
ることができる。従って、非常に複雑な更新内容や、取
り扱うデータ量が非常に多い場合など、同じ更新処理を
再度実行すると負担が大きい更新内容については復旧の
際に元に戻さないようにすることができ、更新処理の内
容に応じた復旧を行うことができるので、データベース
内のデータの信頼性を向上させながら作業効率の低下を
防止することができる。
【0114】請求項3記載の発明のデータベース処理装
置によれば、一連の更新処理における更新内容をその種
別毎に記憶して、記憶された更新内容のうち、指定した
種別の更新内容を確定させることができる。従って、新
たにデータを追加する更新内容のみを確定させ、データ
を削除する更新内容については確定せずに復旧可能な状
態にしておく等の操作が可能であり、復旧時の作業量が
大きい更新内容や、ミスの発生に備えて復旧可能な状態
にしておきたい種別の更新内容など、更新内容の種別の
特徴に応じた復旧をすることができる。これにより、デ
ータベース内のデータの信頼性を向上させながら、作業
効率の低下を防止することができる。
置によれば、一連の更新処理における更新内容をその種
別毎に記憶して、記憶された更新内容のうち、指定した
種別の更新内容を確定させることができる。従って、新
たにデータを追加する更新内容のみを確定させ、データ
を削除する更新内容については確定せずに復旧可能な状
態にしておく等の操作が可能であり、復旧時の作業量が
大きい更新内容や、ミスの発生に備えて復旧可能な状態
にしておきたい種別の更新内容など、更新内容の種別の
特徴に応じた復旧をすることができる。これにより、デ
ータベース内のデータの信頼性を向上させながら、作業
効率の低下を防止することができる。
【0115】請求項4記載の発明のデータベース処理装
置、および請求項6記載の記憶媒体によれば、一連の更
新処理の最初の更新手段による更新が行われる際に、当
該一連の更新処理に対応する識別符号が生成され、この
識別符号を取得していない更新手段による処理を制限す
るので、無関係なデータの更新を確実に防止して、デー
タベースの信頼性を向上させることができる。また、一
連の更新処理中に更新手段が切り換えられる際には、先
に更新を行った更新手段から次の更新手段に識別符号が
引き継がれるので、無関係な更新手段を容易に判別する
ことができる。従って、容易に、かつ確実に、データベ
ースの信頼性を向上させることができる。
置、および請求項6記載の記憶媒体によれば、一連の更
新処理の最初の更新手段による更新が行われる際に、当
該一連の更新処理に対応する識別符号が生成され、この
識別符号を取得していない更新手段による処理を制限す
るので、無関係なデータの更新を確実に防止して、デー
タベースの信頼性を向上させることができる。また、一
連の更新処理中に更新手段が切り換えられる際には、先
に更新を行った更新手段から次の更新手段に識別符号が
引き継がれるので、無関係な更新手段を容易に判別する
ことができる。従って、容易に、かつ確実に、データベ
ースの信頼性を向上させることができる。
【図1】本発明の第1の実施の形態におけるデータベー
ス処理装置1の概略構成を示すブロック図である。
ス処理装置1の概略構成を示すブロック図である。
【図2】図1に示すデータベース処理装置1により実行
されるアプリケーションプログラムのデータベース更新
処理を示すフローチャートである。
されるアプリケーションプログラムのデータベース更新
処理を示すフローチャートである。
【図3】図2に示すデータベース更新処理に応じてデー
タベース処理装置1により実行されるデータベース制御
処理を示すフローチャートである。
タベース処理装置1により実行されるデータベース制御
処理を示すフローチャートである。
【図4】本発明の第2の実施の形態におけるデータベー
ス処理装置1により実行されるデータベース部分別制御
処理を示すフローチャートである。
ス処理装置1により実行されるデータベース部分別制御
処理を示すフローチャートである。
【図5】本発明の第3の実施の形態におけるデータベー
ス処理装置1により実行されるデータベース処理別制御
処理を示すフローチャートである。
ス処理装置1により実行されるデータベース処理別制御
処理を示すフローチャートである。
【図6】図5のステップS304に示す処理種別更新処
理をより詳細に示すフローチャートである。
理をより詳細に示すフローチャートである。
【図7】図5のステップS317に示す処理別完全コミ
ット処理をより詳細に示すフローチャートである。
ット処理をより詳細に示すフローチャートである。
1 データベース処理装置 2 CPU(更新制御手段;データ確定手段;データ復
旧手段;確定制御手段;判定手段;記憶制御手段;種別
毎確定制御手段;識別符号生成手段;識別符号制御手
段) 3 RAM 4 ROM 5 記憶装置(記憶手段) 6 記憶媒体 7 入力装置(指定手段;種別指定手段) 8 表示装置 9 印刷装置 10 データベース 11 バス
旧手段;確定制御手段;判定手段;記憶制御手段;種別
毎確定制御手段;識別符号生成手段;識別符号制御手
段) 3 RAM 4 ROM 5 記憶装置(記憶手段) 6 記憶媒体 7 入力装置(指定手段;種別指定手段) 8 表示装置 9 印刷装置 10 データベース 11 バス
Claims (6)
- 【請求項1】データベース内のデータを更新する複数の
更新手段を備え、これら複数の更新手段のうち指定され
た複数の更新手段によって、前記データベース内の複数
のデータを更新する一連の更新処理を行うデータベース
処理装置において、 前記一連の更新処理が実行されている間は、前記指定さ
れた複数の更新手段以外の前記更新手段による更新処理
を制限する更新制御手段と、 前記一連の更新処理における更新内容を記憶する記憶手
段と、 前記一連の更新処理が正常に終了した際に、前記記憶手
段に記憶された更新内容に従って前記データベース内の
データを確定するデータ確定手段と、 前記一連の更新処理中に異常が発生した場合には、前記
記憶手段に記憶された更新内容をもとに前記データベー
ス内のデータを前記一連の更新処理以前の状態に復旧す
るデータ復旧手段と、 を備えることを特徴とするデータベース処理装置。 - 【請求項2】前記記憶手段は、前記一連の更新処理にお
ける更新内容を、前記指定された複数の更新手段毎にそ
れぞれ記憶する記憶手段であって、 前記記憶手段に記憶された更新内容のうち、特定の前記
更新手段による更新内容を指定する指定手段と、 この指定手段により指定された更新内容に従って、前記
データベース内のデータを前記データ確定手段により確
定させる確定制御手段と、をさらに備えること、 を特徴とする請求項1記載のデータベース処理装置。 - 【請求項3】前記一連の更新処理における更新内容の種
別をそれぞれ判定する判定手段と、 この判定手段により判定された種別毎に、前記更新内容
を前記記憶手段に記憶させる記憶制御手段と、 前記記憶手段に記憶された更新内容のうち、特定の種別
の更新内容を指定する種別指定手段と、 この種別指定手段により指定された種別の更新内容に従
って、前記データベース内のデータを前記データ確定手
段により確定させる種別毎確定制御手段と、 をさらに備えることを特徴とする請求項1記載のデータ
ベース処理装置。 - 【請求項4】データベース内のデータを更新する複数の
更新手段を備え、これら複数の更新手段のうち指定され
た複数の更新手段によって、前記データベース内の複数
のデータを更新する一連の更新処理を行うデータベース
処理装置において、 前記一連の更新処理の最初の前記更新手段によってデー
タが更新される際に、当該一連の更新処理に対応する識
別符号を生成して前記最初の更新手段に取得させる識別
符号生成手段と、 前記一連の更新処理中、前記更新手段によるデータの更
新が終了して次の前記更新手段によるデータの更新が行
われる際には、先に更新を行った前記更新手段が取得し
た前記識別符号を次の前記更新手段に取得させる識別符
号制御手段と、 前記一連の更新処理中は、当該一連の更新処理に対応す
る識別符号を取得していない前記更新手段による更新処
理を制限する更新制御手段と、 前記一連の更新処理における更新内容を記憶する記憶手
段と、 前記一連の更新処理が正常に終了した際に、前記記憶手
段に記憶された更新内容に従って前記データベース内の
データを確定するデータ確定手段と、 前記一連の更新処理中に異常が発生した場合には、前記
記憶手段に記憶された更新内容をもとに前記データベー
ス内のデータを前記一連の更新処理以前の状態に復旧す
るデータ復旧手段と、 を備えることを特徴とするデータベース処理装置。 - 【請求項5】指定された複数の更新処理プログラムを連
続して実行することにより、前記データベース内の複数
のデータを更新する一連の更新処理を行うコンピュータ
が実行可能なプログラムを格納した記憶媒体であって、 前記一連の更新処理が実行されている間は前記指定され
た更新処理プログラム以外の更新処理プログラムによる
更新処理を制限するためのコンピュータが実行可能なプ
ログラムコードと、 前記一連の更新処理における更新内容を記憶手段に記憶
させるためのコンピュータが実行可能なプログラムコー
ドと、 前記一連の更新処理が正常に終了した際に、前記記憶手
段に記憶された更新内容に従って前記データベース内の
データを確定させるためのコンピュータが実行可能なプ
ログラムコードと、 前記一連の更新処理中に異常が発生した場合には、前記
記憶手段に記憶された更新内容をもとに前記データベー
ス内のデータを前記一連の更新処理以前の状態に復旧さ
せるためのコンピュータが実行可能なプログラムコード
と、 を含むプログラムを格納したことを特徴とする記憶媒
体。 - 【請求項6】指定された複数のデータ更新処理プログラ
ムを連続して実行することにより、前記データベース内
の複数のデータを更新する一連の更新処理を行うコンピ
ュータが実行可能なプログラムを格納した記憶媒体であ
って、 前記一連の更新処理の最初の前記データ更新処理プログ
ラムが実行される際に、当該一連の更新処理に対応する
識別符号を生成して当該データ更新処理プログラムで取
得させるためのコンピュータが実行可能なプログラムコ
ードと、 前記一連の更新処理中、前記更新処理プログラムが終了
して次の前記データ更新処理プログラムによる処理が開
始される際に、先に実行された前記データ更新処理プロ
グラムで取得された前記識別符号を次の前記データ更新
処理プログラムで取得させるためのコンピュータが実行
可能なプログラムコードと、 前記一連の更新処理中は、当該一連の更新処理に対応す
る識別符号を取得していない前記データ更新処理プログ
ラムの実行を制限するためのコンピュータが実行可能な
プログラムコードと、 前記一連の更新処理における更新内容を記憶手段に記憶
させるためのコンピュータが実行可能なプログラムコー
ドと、 前記一連の更新処理が正常に終了した際に、前記記憶手
段に記憶された更新内容に従って前記データベース内の
データを確定させるためのコンピュータが実行可能なプ
ログラムコードと、 前記一連の更新処理中に異常が発生した場合には、前記
記憶手段に記憶された更新内容をもとに前記データベー
ス内のデータを前記一連の更新処理以前の状態に復旧さ
せるためのコンピュータが実行可能なプログラムコード
と、 を含むプログラムを格納したことを特徴とする記憶媒
体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11097882A JP2000293416A (ja) | 1999-04-05 | 1999-04-05 | データベース処理装置、および、記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11097882A JP2000293416A (ja) | 1999-04-05 | 1999-04-05 | データベース処理装置、および、記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000293416A true JP2000293416A (ja) | 2000-10-20 |
Family
ID=14204128
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11097882A Abandoned JP2000293416A (ja) | 1999-04-05 | 1999-04-05 | データベース処理装置、および、記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000293416A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006260121A (ja) * | 2005-03-17 | 2006-09-28 | Nomura Research Institute Ltd | Dbmsに格納されたデータの整合性を担保するためのシステム |
| US7120913B2 (en) | 2001-04-04 | 2006-10-10 | Denso Corporation | Processing execution apparatus having data reference limiting function |
-
1999
- 1999-04-05 JP JP11097882A patent/JP2000293416A/ja not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7120913B2 (en) | 2001-04-04 | 2006-10-10 | Denso Corporation | Processing execution apparatus having data reference limiting function |
| JP2006260121A (ja) * | 2005-03-17 | 2006-09-28 | Nomura Research Institute Ltd | Dbmsに格納されたデータの整合性を担保するためのシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3094888B2 (ja) | 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム | |
| US20060004882A1 (en) | Custom Atomic Transactions in Programming Environments | |
| US5745674A (en) | Management of units of work on a computer system log | |
| US6330686B1 (en) | Handling protected conversation messages across IMS restart in shared queues environment | |
| US20030208489A1 (en) | Method for ordering parallel operations in a resource manager | |
| JP2000293416A (ja) | データベース処理装置、および、記憶媒体 | |
| JPH1063557A (ja) | 分散ファイルの同期方式 | |
| JP2001356946A (ja) | ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体 | |
| CN113868340B (zh) | 分布式事务的处理方法、装置及电子设备 | |
| CN110765144B (zh) | 分布式异构数据库数据处理方法及装置 | |
| JP2006146589A (ja) | 処理システムおよび調停サーバ | |
| JPH07319674A (ja) | 情報ファイル更新支援方法及び情報ファイル更新支援方式 | |
| JP2000348113A (ja) | 履歴情報管理装置、及び記憶媒体 | |
| JP2610972B2 (ja) | データベースのデータ保全方式 | |
| JPH09114673A (ja) | プログラムロード装置と方法 | |
| JPH10508968A (ja) | 共用環境におけるデータ・セットのバックアップ方法及び装置 | |
| JP2000315190A (ja) | ジョブのリカバリ方式 | |
| JP2509936B2 (ja) | 出力制御装置 | |
| JPH096660A (ja) | 複数部門における共通データの相関チェック方法 | |
| JPH08115412A (ja) | 作成データ提示装置およびその提示方法 | |
| CN119621253A (zh) | 全局可串行化的多数据库事务控制方法及系统 | |
| JPH09305684A (ja) | フォーム管理方法及びこの方法を実行する情報処理システム | |
| JPH07230389A (ja) | エラー処理方法及びそれを用いた情報処理装置 | |
| JP3771753B2 (ja) | 統合リソース管理方法 | |
| JPH0324648A (ja) | ファイル同時アクセス制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070904 |
|
| A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20071029 |