JPH0448333A - ロールバック後の自動制御移行方式 - Google Patents

ロールバック後の自動制御移行方式

Info

Publication number
JPH0448333A
JPH0448333A JP2159141A JP15914190A JPH0448333A JP H0448333 A JPH0448333 A JP H0448333A JP 2159141 A JP2159141 A JP 2159141A JP 15914190 A JP15914190 A JP 15914190A JP H0448333 A JPH0448333 A JP H0448333A
Authority
JP
Japan
Prior art keywords
stack
commit
time point
rollback
instruction
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
JP2159141A
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 JP2159141A priority Critical patent/JPH0448333A/ja
Publication of JPH0448333A publication Critical patent/JPH0448333A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はロールバック後の自動制御移行方式に関し、特
に業務プログラムにおいてデータベースファイルの使用
時にデッドロックが発生した場合のリカバリ処理に当っ
てデッドロック直前のコミットからの処理を再実行する
ロールバック後の自動制御移行方式に関する。
〔従来の技術〕
従来、この種のデッドロック発生後のリカバリ処理を行
うロールバック後の自動制御移行方式は、プログラムの
中でデッドロックエラーをユーザ自身で判定した時、ロ
ールバック命令を実行した後に現在処理中のトランザク
ションをやり直す為に制御の移行を行なっていた。すな
わち、従来のリカバリ処理は特にそのトランザクション
を再実行させる場合において、ユーザにその分岐先を指
定されていた。
〔発明が解決しようとする課題〕
上述した従来のロールバック後の自動制御移行方式は、
これに従って実施されるデッドロック発生後のリカバリ
処理において、再実行の為の分岐先は一般にトランザク
ションの切れ目で行なわれている直前のコミットの直後
に分岐される必要があるが、コミット命令が複数箇所に
記述されていたり、またプログラムが複数モジュールか
ら構成されている時にコミットを実行するモジュールと
デッドロックを検出してロールバックを実行するモジュ
ールとが異なる場合、ロールバック後の処理の再開の為
の制御の移行のプログラムが難かしくなり、生産性の低
下の要因となっている。
〔課題を解決するための手段〕
本発明のロールバック後の自動制御移行方式は、コンパ
イラ及びリンカによって生成されるオブジェクトプログ
ラムと、前記オブジェクトプログラムでデータベースの
コミット要求が行なわれた時に呼び出されるコミット機
構と、前記コミット機構から呼び出されるスタックセー
ブ機構と、前記オブジェクトプログラムで自動的にデッ
ドロックの発生を検出した時に呼び出されるロールバッ
ク機構と、前記ロールバック機構から呼び出されるスタ
ックリストア機構と、翻訳単位の前記オブジェクトプロ
グラム内のモジュール間のコールメカニズムの制御に使
用されるスタック機構と、前記スタック領域をセーブす
るスタックセーブ領域とを備えて構成される。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を示すブロック図であ
る。本実施例は、オブジェクトプログラム1と、コミッ
ト機構2と、ロールバック機構3と、スタックセーブ機
構4と、スタックリストア機構5と、スタック領域6と
、スタックセーブ領域7とからその主要部が構成されて
いる。また、第2図は本実施例の動作を示す説明図、第
3図(a)および(b)はそれぞれスタックセーブ領域
およびスタック領域の状態を示す説明図である。そして
、オブジェクトプログラム1は主プログラム11と副プ
ログラム12とからなり、プログラム実行の各時点をP
、〜P8で示している。
それらの各時点に対応したスタックの遷移を61〜66
で示している。
ここで、このように構成されたロールバック後の自動制
御移行方式の動作について説明する。
オブジェクトプログラム1の主プログラム11のモジュ
ール内でコミットが実行されると、コミット機構2が呼
び出され実行時点P1のときスタック領域6は状態遷移
61に示すように、主プログラム11とコミット機構2
のモジュールとのスタックの2個が格納されている。コ
ミット機構2の中では、データベースファイルの静止点
の確立とファイルの現在指示子の保存やユーザデータの
メモリのセーブ等を行なった後、スタックセーブ機構4
を呼び出す。実行時点P2ではスタック領域6は62で
示す状態であるが、スタックセーブ機構内で主プログラ
ムのスタックとコミット機構のスタックをスタックセー
ブ領域7にセーブする。各スタック中にはそのモジュー
ルを呼び出したモジュールの戻り点のアドレスがコール
メカニズムにより格納される為、この時コミット機構2
のスタックにはコミット機構2を呼び出した主プログラ
ム11の中のユニット命令の直後のアドレスが格納され
る。
次に実行時点P3では主プログラム11から副プログラ
ム12を呼び出している為、スタックは63の状態とな
り副プログラム12内でデータベースをアクセスした際
にデッドロックステータスを検出した場合、ロールバッ
ク命令の実行によりロールバック機構3が呼び出される
。従って実行時点P4ではスタックは64の状態となり
、ロールバック機構3の中で、直前のコミット実行以降
に実行したデータベースファイルの更新を無効にすると
ともに、データベースファイルの現在指示子、ユーザデ
ータのメモリを直前のコミット実行時点に戻した後スタ
ックリストア機構5を呼び出す。よって実行時点P5で
はスタック6は65の状態となっているがスタックリス
トア機構5でスタックセーブ領域7の内容をスタック領
域6に移送することにより、実行時点P6の実行スタッ
クは66の状態となる。この状態で、スタックリストア
機構5から呼び出し元のモジュールに戻ると、現在のス
タック(コミット機構のスタックとなっている)の戻り
アドレスは主プログラム11の中のコミット命令の直後
となっている為そこに戻ることとなる。
上記のように、コミット命令は何度記述されていてもま
たどのモジュールで実行されていても、最後に実行した
コミット命令の時点のスタックがスタックセーブ領域7
にセーブされる為、ロールバックリストア機構5により
必ず直前のコミット命令の直後に制御を戻すことができ
る。
〔発明の効果〕
以上説明したように本発明は、コミット命令実行時にス
タックセーブ機構によりその時点のスタックをスタック
領域に保存し、ロールバック命令実行時に、スタックリ
ストア機構によりその時点のスタックの内容をコミット
時点に保存したスタックの内容でリストアすることによ
り、直前に実行したコミット命令の直後にシステムで自
動的に制御を移行することができ、ユーザ自身でロール
バック後の制御の移行を行なう必要がないようにした。
このことにより、デッドロックが発生した後にシステム
で自動的にロールバックを行ない、更に直前のコミット
の直後に制御も戻すことでユーザからはデッドロックが
あたかも発生し、なかったかのように動作させることが
可能となり、プログラムの生産性を大きく向上させるこ
とができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本実施例のロールバック後の各実行時点のスタッ
クの状態遷移を示す説明図、第3図(a)はスタックの
セーブ領域を示す説明図、第3図(b)はスタック領域
の状態を示す説明図。 1・・・オブジェクトプログラム、2・・・コミット機
構、3・・・ロールバック機構、4・・・スタックセー
ブ機構、5・・・スタックリストア機構、6・・・スタ
ック領域、7・・・スタックセーブ領域。

Claims (1)

    【特許請求の範囲】
  1. コンパイラ及びリンカによって生成されるオブジェクト
    プログラムと、前記オブジェクトプログラムでデータベ
    ースのコミット要求が行なわれた時に呼び出されるコミ
    ット機構と、前記コミット機構から呼び出されるスタッ
    クセーブ機構と、前記オブジェクトプログラムで自動的
    にデッドロックの発生を検出した時に呼び出されるロー
    ルバック機構と、前記ロールバック機構から呼び出され
    るスタックリストア機構と、翻訳単位の前記オブジェク
    トプログラム内のモジュール間のコールメカニズムの制
    御に使用されるスタック機構と、前記スタック領域をセ
    ーブするスタックセーブ領域とを備えて成ることを特徴
    とするロールバック後の自動制御移行方式。
JP2159141A 1990-06-18 1990-06-18 ロールバック後の自動制御移行方式 Pending JPH0448333A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2159141A JPH0448333A (ja) 1990-06-18 1990-06-18 ロールバック後の自動制御移行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2159141A JPH0448333A (ja) 1990-06-18 1990-06-18 ロールバック後の自動制御移行方式

Publications (1)

Publication Number Publication Date
JPH0448333A true JPH0448333A (ja) 1992-02-18

Family

ID=15687149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2159141A Pending JPH0448333A (ja) 1990-06-18 1990-06-18 ロールバック後の自動制御移行方式

Country Status (1)

Country Link
JP (1) JPH0448333A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117955A (ja) * 2009-09-15 2013-06-13 Chicago Mercantile Exchange Inc フォールトトレラント動作をする金融取引所用突き合わせサーバ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63228245A (ja) * 1987-03-17 1988-09-22 Nec Corp デ−タベ−ス自動復旧方式
JPS642151A (en) * 1987-06-25 1989-01-06 Nec Corp File data abnormality evading system
JPH02109141A (ja) * 1988-10-19 1990-04-20 Nec Corp トランザクション制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63228245A (ja) * 1987-03-17 1988-09-22 Nec Corp デ−タベ−ス自動復旧方式
JPS642151A (en) * 1987-06-25 1989-01-06 Nec Corp File data abnormality evading system
JPH02109141A (ja) * 1988-10-19 1990-04-20 Nec Corp トランザクション制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013117955A (ja) * 2009-09-15 2013-06-13 Chicago Mercantile Exchange Inc フォールトトレラント動作をする金融取引所用突き合わせサーバ

Similar Documents

Publication Publication Date Title
CA1273434A (en) Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
US8473783B2 (en) Fault tolerance in distributed systems
Kalaiselvi et al. A survey of checkpointing algorithms for parallel and distributed computers
US20060089975A1 (en) Online system recovery system, method and program
US5734896A (en) Recovery of a remotely initiated distributed prepared transaction by status report from a second database to an external coordinator
CN1099631C (zh) 双执行部件处理器的反回逻辑线路
JPH06324885A (ja) 例外条件処理方法及び装置
US20020073409A1 (en) Telecommunications platform with processor cluster and method of operation thereof
CN111176907B (zh) 硬件数据库回滚方法、软件数据库回滚方法及装置
US6092084A (en) One system of a multisystem environment taking over log entries owned by another system
JPH0448333A (ja) ロールバック後の自動制御移行方式
JPH02148223A (ja) レジスタ退避復活装置
US6076095A (en) Method of one system of a multisystem environment taking over log entries owned by another system
Garbacki et al. Transparent fault tolerance for grid applications
JP2001034595A (ja) 複数システム間業務統合方法および装置
JP2005107819A (ja) コンピュータネットワークシステムのフェイルセーフ方法
JPH01217635A (ja) レジスタ退避方式
JPH03286230A (ja) メモリ領域の自動退避/復元方式
JP4604032B2 (ja) 非共有データベースシステムにおける1段階コミット
JPH03265951A (ja) 故障回復型計算機
JPH0628199A (ja) 並行処理の同期方法
JPH02178855A (ja) データベースのデッドロック処理方式
JPH0259837A (ja) データリカバリ処理方式
JP2757768B2 (ja) 会話処理におけるデータベース条件検索結果引継ぎ方式