JPH0546452A - コミツトメント制御システム - Google Patents

コミツトメント制御システム

Info

Publication number
JPH0546452A
JPH0546452A JP3222092A JP22209291A JPH0546452A JP H0546452 A JPH0546452 A JP H0546452A JP 3222092 A JP3222092 A JP 3222092A JP 22209291 A JP22209291 A JP 22209291A JP H0546452 A JPH0546452 A JP H0546452A
Authority
JP
Japan
Prior art keywords
commit
database
commitment
execution
rollback
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.)
Pending
Application number
JP3222092A
Other languages
English (en)
Inventor
Kunio Ito
邦夫 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3222092A priority Critical patent/JPH0546452A/ja
Publication of JPH0546452A publication Critical patent/JPH0546452A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 データベースファイルに対する適切なコミッ
ト時点をシステムで自動的に判定し、自動的にコミット
実行を制御する。 【構成】 コミット条件判定テーブル9を設けておく。
そして、プログラムのオブジェクト1のトランザクショ
ンの切れ目にコミットオブジェクト2を埋込んでおく。
このコミットオブジェクト2により、コミット条件判定
テーブル9を参照してコミット実行の判定を行ってコミ
ット実行が必要なとき、データベースコミット手段8を
呼出して起動する。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は、コミットメント制御システムに
関し、特にデータベースファイルのレコードのロック管
理を行うコミットメント制御方式に関する。
【0002】
【従来技術】データベースファイル上のレコードを更新
したり、データベースファイルにレコードを追加したり
する場合、1つのトランザクションで処理されるレコー
ドの入出力がすべて完了した後に、データベースファイ
ルに更新または追加されたレコードの実出力を行わなけ
ればデータ更新に矛盾を生じることがある。そこで、デ
ータベースシステムでは、データベースファイルのレコ
ードのロック管理を行うコミットメント制御方式が採用
されている。
【0003】また、データベースシステムでは、一般
に、レコードの更新または追加を行う場合には、更新ま
たは追加されたレコードをジャーナルファイルに一旦書
出しておき、トランザクションで処理されるレコードの
入出力がすべて完了した時点でデータベースファイルの
レコードを一括更新する方式がとられている。
【0004】そして、データベースファイルを一括実更
新するために、データベースファイルの実更新を行いす
べてのレコードロックを解放するとともに、データベー
スファイルの静止点を確立するコミット命令や、直前の
静止点以降に実行されたデータベースファイルへの更新
要求を無効にするとともに、データベースファイルの状
態を直前の静止点に戻すロールバック命令が、COBOL ,
RPG 等の言語処理プログラムに設けられている。
【0005】しかし、従来のデータベースシステムで
は、利用者プログラムの中でコミット命令をユーザが適
切と思われる時点で実行する必要がある。つまり、シス
テムの状態に依存した制御を行うことができないことに
なる。
【0006】上述した従来のデータベースシステムで
は、コミット命令やロールバック命令をユーザ自身でプ
ログラミングする必要があるが、コミット命令を必要以
上に実行すると、性能低下を招いたり、不十分に実行す
ると、デッドロックが多発したりする。そのために、適
切な時点の判断が非常に難しく、プログラマの感や経験
に依存している。
【0007】また、システムの状態変化に対してもプロ
グラムは静的な条件でコミットを実行しているため、適
切なコミット実行時点を決めることが困難である。これ
は適切なデータベースシステムの運用に大きな障害とな
るという欠点がある。
【0008】
【発明の目的】本発明の目的は、データベースファイル
に対して適切なコミット時点をシステムで自動的に判定
し、システムで自動的にコミットを実行することができ
るコミットメント制御システムを提供することである。
【0009】本発明の他の目的は、デッドロックが発生
した場合にシステムで自動的にロールバックを行い、か
つシステムで自動判定するためのコミットメント条件を
動的に変更するようにして、システムの動的な状態変化
に対してプログラムを変更する必要がないコミットメン
ト制御システムを提供することである。
【0010】
【発明の構成】本発明によれば、データベースファイル
のレコードのロック管理を行うコミットメント制御シス
テムであって、予めコミットの判定条件を記録したコミ
ット判定条件テーブルと、データベースの利用状態を格
納した利用状態テーブルと、利用者プログラムのオブジ
ェクトのトランザクションの切れ目に予め埋込まれたコ
ミットオブジェクトと、前記コミット判定条件テーブル
及び前記利用状態テーブルを参照してコミット実行のタ
イミングを判定する判定手段と、前記データベースのコ
ミットを実行制御する実行手段と、前記コミットオブジ
ェクトに設けられ前記判定手段を呼出す手段と、前記コ
ミットオブジェクトに設けられ前記実行手段を呼出す手
段とを含み、前記判定手段による判定の結果、コミット
の実施が必要であると判定されたときに前記実行手段を
呼出す手段を起動するようにしたことを特徴とするコミ
ットメント制御システムが得られる。
【0011】
【実施例】次に、本発明の実施例について図面を参照し
て詳細に説明する。
【0012】図1は本発明の自動コミットの自動判定制
御システムの一実施例の構成を示すブロック図である。
【0013】本実施例の自動コミットの自動判定制御シ
ステムは、利用者プログラムのオブジェクト1と、利用
者プログラムのオブジェクト1に含まれるコミットオブ
ジェクト2と、コミットオブジェクト2に含まれるデー
タベーステストコミット制御手段の呼出し3と、データ
ベースコミット制御手段の呼出し4と、利用者プログラ
ムのオブジェクト1に含まれるデータベースロールバッ
ク制御手段の呼出し6と、データベーステストコミット
制御手段7と、データベースコミット制御手段8と、デ
ータベーステストコミット制御手段7がコミットの実行
時点を判断するために参照するコミット判定条件テーブ
ル9と、データベースロールバック制御手段10と、デ
ータベースファイル11と、データベーステストコミッ
ト制御手段7が現在のデータベースシステムの状態を調
べるために呼出すデータベースファイル利用状態通知機
構12とから構成されている。
【0014】次に、このように構成された本実施例の自
動コミットの自動判定制御システムの動作について説明
する。
【0015】利用者プログラムのオブジェクト1はコン
パイラによってトランザクションの切れ目(トランザク
ションファイルの入力の直前)にコミットオブジェクト
2が自動生成されている。
【0016】また、デッドロックが発生した場合に自動
的にロールバックが実行されるように、ロールバックオ
ブジェクト5がコンパイラによって自動生成されてい
る。
【0017】コミットオブジェクト3はトランザクショ
ンの切れ目で毎回コミットを実行すべきか否か、データ
ベーステストコミット制御手段7を呼出し、データベー
ステストコミット制御手段7からリータンコードを受取
り、判断する。
【0018】コミットを実行する必要があると判断した
場合、データベースベースコミット制御手段の呼出し4
によって、データベースコミット制御手段8を呼出しコ
ミットを実際に実行する。
【0019】また、コミットを実行する必要がないと判
断した場合、データベースコミット制御手段の呼出し4
を実行せずに、次の処理(トランザクションファイルの
入力)を実行する。
【0020】また、利用者プログラムのオブジェクト1
の中でデッドロックを検出した場合、ロールバックオブ
ジェクト5の中で、データベースロールバック制御手段
の呼出し6を実行し、データベースロールバック制御手
段10を実行する。
【0021】次に、データベーステストコミット制御手
段7と、データベースロールバック制御手段10と、コ
ミット判定条件テーブル9とデータベースファイル利用
状態通知機構12との関係について図2を用いて説明す
る。
【0022】データベーステストコミット制御手段7は
利用者プログラムのオブジェクト1から呼出されると、
データベースファイル利用状態通知機構12を呼出し、
このプログラムの直前のコミット時点から以降に出力し
たシステム全体のジャーナル量がジャーナルファイルの
何%を使用しているか、またこのプログラムの直前のコ
ミット時点から以降に使用したロックリストテーブル
(データベースファイルのレコードロック管理を行うた
めにデータベースモニタが使用するテーブル)の使用量
がロックリストテーブル全体の何%を占めているか、ま
たこのプログラムによって、現在ロック待ちしている他
のタスクが何個あるの通知を受取る。
【0023】また、利用者プログラムのオブジェクトか
ら、直前のコミット以降に処理したトランザクションの
件数を通知してもらい、コミット判定条件テーブル9の
判定値と比較し、いずれかの条件を満足した場合に、利
用者プログラムのオブジェクト1にコミットを発行する
必要性があるという通知を返却する。
【0024】コミットオブジェクト2は、データベース
テストコミット制御手段7から返却された通知を参照し
てデータベースコミット制御手段の呼出し4を実行する
か否かを判断する。
【0025】コミット判定条件テーブル9の判定値はシ
ステム生成時に既定値が決定されている。しかし、利用
者プログラムの中でデットロックが発生した場合、利用
者プログラムのオブジェクト1のなかのデータベースロ
ールバック制御手段の呼出し6によって、データベース
ロールバック制御手段10が呼出され実行されるが、デ
ータベースファイル11をロールバックした後、コミッ
ト条件判定テーブル9の判定値は(例えばトランザクシ
ョン件数を100 から50に消滅する)を変更する。
【0026】これにより、利用者プログラムのオブジェ
クト1の、データベーステストコミット制御手段のコミ
ット判定の基準値が変わることになり、トランザクショ
ンの切れ目で実行されるコミットの間隔が短くなり、デ
ットロックの発生する確率を減少させることができる。
【0027】
【発明の効果】以上述べた如く、本発明によれば、プロ
グラム実行時におけるコミットのタイミングをシステム
で自動的に検出するようにしたので、ユーザプログラム
でコミット命令が不要になるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のシステムブロック図である。
【図2】本発明の実施例の処理動作を具体的に説明する
ための図である。
【符号の説明】
1 利用者プログラムのオブジェクト 2 コミットオブジェクト 3 データベーステストコミット制御手段の呼出し 4 データベースコミット制御手段の呼出し 5 ロールバックオブジェクト 6 データベースロールバック制御手段の呼出し 7 データベーステストコミット制御手段 8 データベースコミット制御手段 9 コミット判定条件テーブル 10 データベースロールバック制御手段 11 データベースファイル 12 データベースファイル使用状態通知機構

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データベースファイルのレコードのロッ
    ク管理を行うコミットメント制御システムであって、予
    めコミットの判定条件を記録したコミット判定条件テー
    ブルと、データベースの利用状態を格納した利用状態テ
    ーブルと、利用者プログラムのオブジェクトのトランザ
    クションの切れ目に予め埋込まれたコミットオブジェク
    トと、前記コミット判定条件テーブル及び前記利用状態
    テーブルを参照してコミット実行のタイミングを判定す
    る判定手段と、前記データベースのコミットを実行制御
    する実行手段と、前記コミットオブジェクトに設けられ
    前記判定手段を呼出す手段と、前記コミットオブジェク
    トに設けられ前記実行手段を呼出す手段とを含み、前記
    判定手段による判定の結果、コミットの実施が必要であ
    ると判定されたときに前記実行手段を呼出す手段を起動
    するようにしたことを特徴とするコミットメント制御シ
    ステム。
  2. 【請求項2】 前記利用者プログラムのオブジェクトに
    おいてデッドロックが発生したときに実行される部分に
    埋め込まれたロールバックオブジェクトと、データベー
    スのロールバックをなすロールバック制御手段と、前記
    ロールバックオブジェクトに設けられ前記ロールバック
    制御手段を呼出す手段とを含み、このロールバックの後
    に前記コミット条件判定テーブルの判定値を変更するよ
    うにしたことを特徴とする請求項1記載のコミットメン
    ト制御システム。
JP3222092A 1991-08-07 1991-08-07 コミツトメント制御システム Pending JPH0546452A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3222092A JPH0546452A (ja) 1991-08-07 1991-08-07 コミツトメント制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3222092A JPH0546452A (ja) 1991-08-07 1991-08-07 コミツトメント制御システム

Publications (1)

Publication Number Publication Date
JPH0546452A true JPH0546452A (ja) 1993-02-26

Family

ID=16777007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3222092A Pending JPH0546452A (ja) 1991-08-07 1991-08-07 コミツトメント制御システム

Country Status (1)

Country Link
JP (1) JPH0546452A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06280940A (ja) * 1985-04-15 1994-10-07 Luk Lamellen & Kupplungsbau Gmbh トルク伝達装置
JP2021501936A (ja) * 2017-11-07 2021-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションの長期実行がレコード・ロックを保持することの防止

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06280940A (ja) * 1985-04-15 1994-10-07 Luk Lamellen & Kupplungsbau Gmbh トルク伝達装置
JP2021501936A (ja) * 2017-11-07 2021-01-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクションの長期実行がレコード・ロックを保持することの防止
US11347712B2 (en) 2017-11-07 2022-05-31 International Business Machines Corporation Preventing long running transactions from holding record locks

Similar Documents

Publication Publication Date Title
US5625821A (en) Asynchronous or synchronous operation of event signaller by event management services in a computer system
US5305454A (en) Notification of event handlers in broadcast or propagation mode by event management services in a computer system
US5237684A (en) Customized and versatile event monitor within event management services of a computer system
US5355484A (en) Dynamically established event monitors in event management services of a computer system
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JP4436036B2 (ja) 情報処理装置、トレース処理方法、プログラム及び記録媒体
JPH0728679A (ja) チェックイン・チェックアウトモデルにおける施錠方式
US6009414A (en) Computer system with checkpoint facility and accounting facility indicating charges payable for processes
CN112559496B (zh) 一种分布式数据库事务原子性实现方法及装置
JPH0546452A (ja) コミツトメント制御システム
CN106537342B (zh) 事务中寄存器的动态保存
JPH03196222A (ja) プログラム入替え方法
JP3330006B2 (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに
JPH09269912A (ja) 情報処理方法とその装置
JP2834036B2 (ja) ロック制御器
JPH0827751B2 (ja) トランザクション資源動的更新方式
JPH0816431A (ja) 利用者プログラムのデバッグ処理システム
JPH02310733A (ja) 汎用端末機システムにおけるプログラムの実行制御方式
JPH01297741A (ja) データベースシステムの動的チェックポイント制御方式
JPH10198589A (ja) 関係データベース遅延制約チェック方式
JPH02139630A (ja) オンラインタスク入替え装置
JPH1153241A (ja) データベース排他制御方法及びシステム及びデータベース排他制御プログラムを格納した記憶媒体
JPH09106363A (ja) ユーザコマンド自動実行方式
JPS6234251A (ja) フアイル復元方式
JPH07141207A (ja) 情報処理システム