JPH1074155A - トランザクションのリカバリ方法及びプログラム記憶媒体 - Google Patents

トランザクションのリカバリ方法及びプログラム記憶媒体

Info

Publication number
JPH1074155A
JPH1074155A JP9102928A JP10292897A JPH1074155A JP H1074155 A JPH1074155 A JP H1074155A JP 9102928 A JP9102928 A JP 9102928A JP 10292897 A JP10292897 A JP 10292897A JP H1074155 A JPH1074155 A JP H1074155A
Authority
JP
Japan
Prior art keywords
transaction
manager
recovery
local
processing
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.)
Withdrawn
Application number
JP9102928A
Other languages
English (en)
Inventor
Shigeyasu Kobayashi
重康 小林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9102928A priority Critical patent/JPH1074155A/ja
Publication of JPH1074155A publication Critical patent/JPH1074155A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】本発明は、分散トランザクション処理システム
で実行されるトランザクションのリカバリ方法に関し、
データ処理の効率を低下させることなく、トランザクシ
ョンのリカバリ処理を実行できるようにすることを目的
とする。 【解決手段】複数のトランザクションマネージャが同一
のリソースマネージャを共用する構成を採る場合に、障
害から復帰したトランザクションマネージャが、先ず最
初に、リソースマネージャからトランザクション情報を
入手し、続いて、自分以外のトランザクションマネージ
ャの最大トランザクション時間の経過を待ち、続いて、
リソースマネージャから再度トランザクション情報を入
手し、続いて、入手した2つのトランザクション情報か
ら自分の処理すべきローカルトランザクションを特定し
て、それに対して完了処理を実行するように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散トランザクシ
ョン処理システムで実行されるトランザクションのリカ
バリ方法と、それを実現するプログラムを記憶するプロ
グラム記憶媒体とに関し、特に、データ処理の効率を低
下させることなく、しかも、冗長な資源を要求されるこ
となく、トランザクションのリカバリ処理を実行できる
ようにするトランザクションのリカバリ方法と、それを
実現するプログラムを記憶するプログラム記憶媒体とに
関する。
【0002】
【従来の技術】X/Openが提唱している分散トランザク
ション処理システムでは、図8に示すように、システム
を、業務を遂行するアプリケーションプログラム(A
P)と、グローバルトランザクションを管理するトラン
ザクションマネージャ(TM)と、データベース等の共
用資源を管理するとともに、ローカルトランザクション
を管理するリソースマネージャ(RM)という3つのコ
ンポーネントに分類し、更に、トランザクションマネー
ジャとリソースマネージャとの間のインタフェースとし
て、XAインタフェースを規約化するとともに、トラン
ザクションマネージャとアプリケーションプログラムと
の間のインタフェースとしてTXインタフェースを規約
化している。
【0003】ここで、グローバルトランザクションと
は、例えば、飛行機を予約するというローカルトランザ
クションと、ホテルを予約するというローカルトランザ
クションとがある場合に、飛行機とホテルとをセットに
して予約するというようなトランザクションを言う。
【0004】このトランザクションマネージャは、障害
から復帰するときに、障害発生時に処理中であったグロ
ーバルトランザクションやローカルトランザクションの
完了処理(トランザクションのステータスに応じた処理
を行う)を実行する必要があるが、ローカルトランザク
ションについてはリソースマネージャが管理責任を持つ
ので、完了処理の対象としてどのようなローカルトラン
ザクションがあるのかをリソースマネージャに問い合わ
せる必要がある。
【0005】一方、このような分散トランザクション処
理システムでは、図9に示すように、複数のトランザク
ションマネージャが1つのリソースマネージャを共用す
る構成を採る場合がある。
【0006】このような構成を採る場合、障害から復帰
したトランザクションマネージャが、完了処理の対象と
してどのようなローカルトランザクションがあるのかを
リソースマネージャに問い合わせると、その応答として
返されるローカルマネージャの中に、他のトランザクシ
ョンマネージャが完了処理を実行すべきものが含まれて
しまうことになる。
【0007】これから、従来では、複数のトランザクシ
ョンマネージャが1つのリソースマネージャを共用する
構成を採る場合には、障害復帰したトランザクションマ
ネージャ以外のトランザクションマネージャを停止させ
ることで、それらのトランザクションマネージャが完了
処理を実行すべきローカルトランザクションをリソース
マネージャから消去して、その後、障害復帰したトラン
ザクションマネージャが、完了処理の対象としてどのよ
うなローカルトランザクションがあるのかをリソースマ
ネージャに問い合わせることで、自分が完了処理を実行
すべきローカルトランザクションを得ていくという方法
を採っていた。
【0008】図9の例で説明するならば、トランザクシ
ョンマネージャTM1が障害から復帰するときに、トラ
ンザクションマネージャTM2とアプリケーションプロ
グラムAP2とを停止させることで、トランザクション
マネージャTM2が完了処理を実行すべきローカルトラ
ンザクションをリソースマネージャRMから消去して、
その後、トランザクションマネージャTM1が、完了処
理の対象としてどのようなローカルトランザクションが
あるのかをリソースマネージャRMに問い合わせること
で、自分が完了処理を実行すべきローカルトランザクシ
ョンを得ていくのである。
【0009】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術に従っていると、本来正常運用が可能なト
ランザクションマネージャやアプリケーションプログラ
ムを停止させる必要があることから、そのアプリケーシ
ョンプログラムで遂行している業務を停止させなくては
ならないという問題点がある。
【0010】図9の例で説明するならば、トランザクシ
ョンマネージャTM1が障害から復帰するときに、この
トランザクションマネージャTM1がリカバリ処理を行
うときには、アプリケーションプログラムAP2で遂行
している業務を停止させなくてはならないのである。
【0011】これを解決するための1つの方法として、
X/Openの規約を超えて、トランザクションマネージャ
がローカルトランザクションについても管理する構成を
採って、それに基づいて、ローカルトランザクションの
リカバリ処理を実行するという方法を採ることが考えら
れる。
【0012】しかしながら、このような方法を採ると、
トランザクションマネージャは、X/Openの規約以上の
冗長な処理を実行しなければならないとともに、X/Op
enの規約以上の資源を使用しなければならないという新
たな問題点が出てくることになる。
【0013】本発明はかかる事情に鑑みてなされたもの
であって、分散トランザクション処理システムにおい
て、データ処理の効率を低下させることなく、しかも、
冗長な資源を要求されることなく、トランザクションの
リカバリ処理を実行できるようにする新たなトランザク
ションのリカバリ方法の提供と、それを実現するプログ
ラムを記憶するプログラム記憶媒体の提供とを目的とす
る。
【0014】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は分散トランザクション処理シス
テムを構成する複数のトランザクションマネージャ、1
aは障害から復帰したトランザクションマネージャ1を
表す障害復帰トランザクションマネージャ、2はトラン
ザクションマネージャ1から共用される形で設けられる
分散トランザクション処理システムを構成するリソース
マネージャである。
【0015】トランザクションマネージャ1は、グロー
バルトランザクションを管理し、リソースマネージャ2
は、ローカルトランザクションを管理する管理手段20
を備えることで、ローカルトランザクションを管理す
る。
【0016】本発明を実現する場合、障害復帰トランザ
クションマネージャ1aは、リソースマネージャ2の管
理手段20の管理するトランザクション情報を入手する
入手手段10と、時間経過を検出する検出手段11と、
トランザクションのリカバリ処理を実行する実行手段1
2とを備える。
【0017】ここで、障害復帰トランザクションマネー
ジャ1aに展開される入手手段10/検出手段11/実
行手段12の機能は、具体的にはプログラムで実現され
るものであり、このプログラムは媒体で提供され、トラ
ンザクションマネージャ1(すなわち、障害復帰トラン
ザクションマネージャ1a)にインストールされてメモ
リ上で動作することで、本発明を実現することになる。
【0018】このように構成される本発明の分散トラン
ザクション処理システムでは、障害復帰トランザクショ
ンマネージャ1aは、障害から復帰すると、先ず最初
に、入手手段10を起動して、リソースマネージャ2か
らトランザクション情報(トランザクションのステータ
ス情報)を入手する。
【0019】このトランザクション情報の入手が完了す
ると、続いて、検出手段11を起動して、自分以外のト
ランザクションマネージャ1の最大トランザクション時
間の経過を待つ。
【0020】この時間経過を検出すると、続いて、再び
入手手段10を起動して、リソースマネージャ2からト
ランザクション情報を入手する。この2度目のトランザ
クション情報の入手が完了すると、続いて、実行手段1
2を起動して、入手した2つのトランザクション情報の
両方に含まれるローカルトランザクションを自分の処理
すべきローカルトランザクションとして特定して、それ
に対して完了処理を実行することでリカバリ処理を実行
する。
【0021】このように、本発明によれば、障害復帰ト
ランザクションマネージャ1aは、他のトランザクショ
ンマネージャ1を停止させることなくローカルトランザ
クションのリカバリ処理を実行できるようになるととも
に、トランザクションマネージャ1がローカルトランザ
クションについても管理する構成を採らずに、ローカル
トランザクションのリカバリ処理を実行できるようにな
る。
【0022】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。図2に、本発明の適用される分散ト
ランザクション処理システムのシステム構成例を図示す
る。
【0023】この図に示す分散トランザクション処理シ
ステムは、グローバルトランザクションを管理する2つ
のトランザクションマネージャ1-1,2と、この2つのト
ランザクションマネージャ1-1,2のどちらからもアクセ
スされて、ローカルトランザクションを管理するリソー
スマネージャ2と、トランザクションマネージャ1-1と
リソースマネージャ2とを使って業務を遂行するアプリ
ケーションプログラム3-1と、トランザクションマネー
ジャ1-2とリソースマネージャ2とを使って業務を遂行
するアプリケーションプログラム3-2とで構成される。
【0024】このトランザクションマネージャ1-1は、
トランザクションのリカバリ処理を実行するトランザク
ションリカバリ手段100-1と、トランザクションマネ
ージャ1-2に対してリカバリ処理実行の承認を発行する
リカバリ承認手段101-1とを備え、一方、トランザク
ションマネージャ1-2は、トランザクションのリカバリ
処理を実行するトランザクションリカバリ手段100-2
と、トランザクションマネージャ1-1に対してリカバリ
処理実行の承認を発行するリカバリ承認手段101-2と
を備える。
【0025】また、リソースマネージャ2は、ローカル
トランザクションを管理するローカルトランザクション
管理手段200を備える。以下に述べる実施例では、ト
ランザクションマネージャ1-1に障害が発生することを
想定し、トランザクションリカバリ手段100-1がリカ
バリ処理を実行することを想定する。
【0026】図3及び図4に、トランザクションマネー
ジャ1-1のトランザクションリカバリ手段100-1の実
行する処理フローの一実施例、図5に、トランザクショ
ンマネージャ1-2のリカバリ承認手段101-2の実行す
る処理フローの一実施例を図示する。
【0027】ここで、これらの処理フローは、媒体で提
供され、トランザクションマネージャ1-1,2にインスト
ールされてメモリ上で動作することで、本発明を実現す
ることになる。
【0028】なお、トランザクションマネージャ1-2に
障害が発生する場合には、トランザクションマネージャ
1-2のトランザクションリカバリ手段100-2が、この
図3及び図4の処理フローを実行し、トランザクション
マネージャ1-1のリカバリ承認手段101-1が、この図
5の処理フローを実行することになる。
【0029】次に、これらの処理フローに従って本発明
について詳細に説明する。トランザクションマネージャ
1-1が障害から復帰すると、トランザクションマネージ
ャ1-1のトランザクションリカバリ手段100-1は、リ
カバリ処理に入って、図3及び図4の処理フローに示す
ように、先ず最初に、ステップ1で、リソースマネージ
ャ2のローカルトランザクション管理手段200に対し
て、トランザクション・リスト要求(図中のA)を発行
し、続くステップ2で、この要求に応答して送られてく
るトランザクション・リスト(以下、トランザクション
・リストBと称する)を受理する。
【0030】この送られてくるトランザクション・リス
トBには、トランザクションマネージャ1-1が障害発生
時に処理していたトランザクション群と、トランザクシ
ョンマネージャ1-2で処理中のトランザクション群の両
方が含まれている。なお、後述するように、トランザク
ションマネージャ1-2が障害から復帰してリカバリ処理
を委任してくる場合には、トランザクション・リストB
には、トランザクションマネージャ1-2が障害発生時に
処理していたトランザクション群も含まれることにな
る。
【0031】トランザクション・リストBを受け取る
と、続いて、ステップ3で、トランザクションマネージ
ャ1-2のリカバリ承認手段101-2に対して、リカバリ
承認依頼(図中のC)を発行し、続くステップ4で、こ
の承認依頼に対しての応答(図中のD)を受け取る。
【0032】図5の処理フローで説明するように、リカ
バリ承認手段101-2は、この応答として、トランザク
ションマネージャ1-2が正常運用であるときには、「リ
カバリ承認」を通知し、障害が発生して既にリカバリ処
理に入っているときには、「リカバリ不承認」を通知
し、障害が発生してリカバリ処理に入っていないときに
は、自分の処理すべきグローバルトランザクションを完
了してから、「リカバリ委任」を通知してくるので、こ
のステップ4では、この「リカバリ承認」か、「リカバ
リ不承認」か、「リカバリ委任」を受け取ることにな
る。
【0033】続いて、ステップ5で、ステップ4で受け
取った応答が「リカバリ不承認」であるのか否かを判断
して、「リカバリ不承認」であることを判断するときに
は、そのまま処理を終了する。なお、このときには、必
要に応じて再度リカバリ処理を行うことになる。
【0034】一方、ステップ4で受け取った応答が「リ
カバリ承認」か「リカバリ委任」であることを判断する
ときには、リカバリ処理を続行すべく、ステップ6に進
んで、トランザクションマネージャ1-2の最大トランザ
クション時間が経過するまでリカバリ処理を中断し、そ
の時間経過後、続くステップ7で、リソースマネージャ
2のローカルトランザクション管理手段200に対し
て、再びトランザクション・リスト要求(図中のE)を
発行し、続くステップ8で、この要求に応答して送られ
てくるトランザクション・リスト(以下、トランザクシ
ョン・リストFと称する)を受理する。
【0035】この送られてくるトランザクション・リス
トFには、トランザクションマネージャ1-1が障害発生
時に処理していたトランザクション群と、トランザクシ
ョンマネージャ1-2で処理中のトランザクション群の両
方が含まれている。なお、後述するように、トランザク
ションマネージャ1-2が障害から復帰してリカバリ処理
を委任してくる場合には、トランザクション・リストF
には、トランザクションマネージャ1-2が障害発生時に
処理していたトランザクション群も含まれることにな
る。
【0036】トランザクション・リストFを受け取る
と、続いて、ステップ9で、再びトランザクションマネ
ージャ1-2のリカバリ承認手段101-2に対して、リカ
バリ承認依頼(図中のG)を発行し、続くステップ10
で、この承認依頼に対しての応答(図中のH)を受け取
る。
【0037】図5の処理フローで説明するように、リカ
バリ承認手段101-2は、この応答として、「リカバリ
承認」か、「リカバリ不承認」か、「リカバリ委任」を
通知するので、続いて、ステップ11で、ステップ10
で受け取った応答がどれであるのかを判断して、「リカ
バリ不承認」を受け取ったことを判断するときには、そ
のまま処理を終了する。なお、このときには、必要に応
じて再度リカバリ処理を行うことになる。
【0038】一方、ステップ11で、ステップ10で受
け取った応答が「リカバリ委任」であることを判断する
ときに、トランザクションマネージャ1-2からリカバリ
処理の委任を受けたことで、ステップ6の処理を再実行
する必要があるので、ステップ12に進んで、トランザ
クション・リストFをトランザクション・リストBに複
写することで、トランザクション・リストBをトランザ
クション・リストFに書き換えてから、ステップ6に戻
っていく。
【0039】一方、ステップ11で、ステップ10で受
け取った応答が「リカバリ承認」であることを判断する
ときに、リカバリ処理を続行すべく、ステップ13に進
んで、トランザクション・リストBとトランザクション
リストFとを比較して、その両方に含まれるトランザク
ションを抽出することで、トランザクション・マネージ
ャ1-1がリカバリすべきトランザクション群を特定す
る。
【0040】ここで、トランザクション・リストBに含
まれるトランザクションマネージャ1-1が障害時に処理
していたトランザクション群は、完了処理が行われてい
ないことから、トランザクション・リストFにもそのま
ま存在することになる。一方、トランザクション・リス
トBに含まれるトランザクションマネージャ1-2が処理
していたトランザクション群は、最大トランザクション
時間が経過していることから、トランザクション・リス
トFには存在しないことになる。
【0041】これから、ステップ13で、トランザクシ
ョン・リストBとトランザクションリストFとを比較し
て、その両方に含まれるトランザクションを抽出するこ
とで、トランザクション・マネージャ1-1がリカバリす
べきトランザクション群を特定するのである。
【0042】なお、後述するように、トランザクション
マネージャ1-2がリカバリ処理を委任してくる場合に
は、トランザクション・リストBに含まれるトランザク
ションマネージャ1-2が障害発生時に処理していたトラ
ンザクションの内、トランザクションマネージャ1-2が
障害復帰時に完了できなかったトランザクション群(図
5の処理フローのステップ6で完了できないトランザク
ション群)についても、トランザクション・リストFに
含まれることになる。
【0043】このようにして、ステップ13で、リカバ
リ処理すべきトランザクション群を抽出すると、ステッ
プ14に進んで、リソースマネージャ2のローカルトラ
ンザクション管理手段200に対して、その抽出したト
ランザクション群の完了指令(図中のI)を発行するこ
とで、リカバリ処理を終了する。
【0044】一方、トランザクションマネージャ1-2の
リカバリ承認手段101-2は、トランザクションマネー
ジャ1-1のトランザクションリカバリ手段100-1か
ら、リカバリ承認依頼を受け取ると、図5の処理フロー
に示すように、先ず最初に、ステップ1で、その承認依
頼を受理し、続くステップ2で、自分のトランザクショ
ンマネージャ1-2が正常運用しているのか否かを判断し
て、正常運用していることを判断するときには、ステッ
プ3に進んで、トランザクションマネージャ1-1に返す
応答として「リカバリ承認」を設定する。
【0045】一方、ステップ2で、正常運用していない
ことを判断するときには、ステップ4に進んで、自分の
トランザクションマネージャ1-2が障害から復帰してリ
カバリ処理を開始済みなのか否かを判断して、開始済み
であることを判断するときには、ステップ5に進んで、
トランザクションマネージャ1-1に返す応答として「リ
カバリ不承認」を設定する。
【0046】一方、ステップ4で、リカバリ処理を開始
済みでないことを判断するときには、ステップ6に進ん
で、リソースマネージャ2のローカルトランザクション
管理手段200に対して、自分のトランザクションマネ
ージャ1-2で管理するグローバルトランザクションの完
了指令(図中のJ)を発行し、続くステップ7で、運用
状態を正常運用に設定してから、続くステップ8で、ト
ランザクションマネージャ1-1に返す応答として「リカ
バリ委任」を設定する。
【0047】そして、ステップ3/ステップ5/ステッ
プ8でトランザクションマネージャ1-1に返す応答を設
定すると、ステップ9に進んで、設定した応答を、トラ
ンザクションマネージャ1-1のトランザクションリカバ
リ手段100-1に通知して処理を終了する。
【0048】次に、具体例に従って、以上に説明した本
発明の処理について説明する。最初に、トランザクショ
ンマネージャ1-1に障害が発生し、トランザクションマ
ネージャ1-2には障害が発生しない場合について説明す
る。
【0049】トランザクションマネージャ1-1では、障
害発生時に、G1〔L1,L2〕と、L3というトラン
ザクションを処理していたとする。ここで、G1〔L
1,L2〕は、トランザクションマネージャ1-1で管理
が必要なグローバルトランザクションであって、リソー
スマネージャ2で管理されているローカルトランザクシ
ョンL1,L2からなる。また、L3は、リソースマネ
ージャ2でのみ管理されているローカルトランザクショ
ンである。
【0050】トランザクションマネージャ1-1は、リカ
バリ処理の開始時には、自分自身で管理しているグロー
バルトランザクションのG1〔L1,L2〕については
知ることができる。
【0051】トランザクションマネージャ1-1は、リカ
バリ処理に入ると、上述したように、先ず最初に、リソ
ースマネージャ2からトランザクション・リストBを入
手する。このとき、トランザクションマネージャ1-2が
ローカルトランザクションL11,L12を処理してい
たとすると、トランザクション・リストBには、「L
1,L2,L3,L11,L12」というローカルトラ
ンザクションが含まれることになる。
【0052】但し、ローカルトランザクションはリソー
スマネージャ2が管理していることから、トランザクシ
ョンマネージャ1-1は、これらのローカルトランザクシ
ョンの内、自分の処理していたものがどれで、トランザ
クションマネージャ1-2が現在処理しているものがどれ
であるのかということは区別がつかない。
【0053】トランザクションマネージャ1-1は、続い
て、トランザクションマネージャ1-2に対してリカバリ
承認依頼を発行する。このとき、トランザクションマネ
ージャ1-2は、正常運用していることから、図5の処理
フローで示したように、トランザクションマネージャ1
-1に対して、「リカバリ承認」を通知する。
【0054】トランザクションマネージャ1-1は、この
「リカバリ承認」を受け取ると、続いて、トランザクシ
ョンマネージャ1-2の最大トランザクション時間の経過
を待ってから、上述したように、リソースマネージャ2
からトランザクション・リストFを入手する。このと
き、トランザクションマネージャ1-2がローカルトラン
ザクションL11,L12の処理を終了して、次のロー
カルトランザクションL13,L14を処理していたと
すると、トランザクション・リストFには、「L1,L
2,L3,L13,L14」というローカルトランザク
ションが含まれることになる。
【0055】このトランザクション・リストBとトラン
ザクション・リストFとを受けて、トランザクションマ
ネージャ1-1は、その両方に含まれるローカルトランザ
クションL1,L2,L3を抽出することで、トランザ
クション・マネージャ1-1がリカバリ処理すべきローカ
ルトランザクションとして、「L1,L2,L3」があ
ることを特定して、それらに対して完了処理を実行す
る。
【0056】このようにして、トランザクションマネー
ジャ1-1は、障害から復帰するときに、障害発生時に処
理していたローカルトランザクションL1,L2,L3
を特定してそのリカバリ処理を実行できるようになる。
【0057】次に、トランザクションマネージャ1-1と
トランザクションマネージャ1-2とに障害が発生し、両
方が障害から復帰したときに、トランザクションマネー
ジャ1-1がリカバリ処理を実行する場合について説明す
る。
【0058】トランザクションマネージャ1-1では、障
害発生時に、G1〔L1,L2〕と、L3というトラン
ザクションを処理していたとする。また、トランザクシ
ョンマネージャ1-2では、障害発生時に、G11〔L1
1,L12〕と、L13というトランザクションを処理
していたとする。ここで、G1〔L1,L2〕は、トラ
ンザクションマネージャ1-1で管理が必要なグローバル
トランザクション、G11〔L11,L12〕は、トラ
ンザクションマネージャ1-2で管理が必要なグローバル
トランザクションである。
【0059】トランザクションマネージャ1-1は、リカ
バリ処理に入ると、上述したように、先ず最初に、リソ
ースマネージャ2からトランザクション・リストBを入
手する。このとき入手するトランザクション・リストB
には、「L1,L2,L3,L11,L12,L13」
というローカルトランザクションが含まれることにな
る。
【0060】但し、ローカルトランザクションはリソー
スマネージャ2が管理していることから、トランザクシ
ョンマネージャ1-1は、これらのローカルトランザクシ
ョンの内、自分の処理していたものがどれで、トランザ
クションマネージャ1-2の処理していたものがどれであ
るのかということは区別がつかない。
【0061】トランザクションマネージャ1-1は、続い
て、トランザクションマネージャ1-2に対してリカバリ
承認の依頼を発行する。このとき、トランザクションマ
ネージャ1-2もまた、障害復帰をしていて、リカバリ処
理には入っていないとすると、このリカバリ承認依頼の
発行に対して、トランザクションマネージャ1-2は、図
5の処理フローで示したように、自分の管理しているグ
ローバルトランザクションG11〔L11,L12〕を
完了させてから、トランザクションマネージャ1-1に対
して、「リカバリ委任」を通知する。この結果、リソー
スマネージャ2の管理するローカルトランザクション
は、「L1,L2,L3,L13」となる。
【0062】トランザクションマネージャ1-1は、この
「リカバリ委任」を受け取ると、続いて、トランザクシ
ョンマネージャ1-2の最大トランザクション時間の経過
を待ってから、上述したように、リソースマネージャ2
からトランザクション・リストFを入手する。このと
き、トランザクションマネージャ1-2が次のローカルト
ランザクションL21,L22を処理していたとする
と、トランザクション・リストFには、「L1,L2,
L3,L13,L21,L22」というローカルトラン
ザクションが含まれることになる。
【0063】このトランザクション・リストBとトラン
ザクション・リストFとを受けて、トランザクションマ
ネージャ1-1は、その両方に含まれるローカルトランザ
クションL1,L2,L3,L13を抽出することで、
トランザクション・マネージャ1-1がリカバリ処理すべ
きローカルトランザクションとして、自分が処理してい
たローカルトランザクションL1,L2,L3と、リカ
バリ委任の発行元のトランザクションマネージャ1-2が
処理していたL13があることを特定して、それらに対
して完了処理を実行する。
【0064】このようにして、トランザクションマネー
ジャ1-1は、障害から復帰するときに、障害発生時に処
理していたローカルトランザクションL1,L2,L3
と、障害から復帰したトランザクションマネージャ1-2
が障害発生時に処理していたローカルトランザクション
L13とを特定してそのリカバリ処理を実行できるよう
になる。
【0065】なお、この後者の具体例から分かるよう
に、分散トランザクション処理システムを構成する複数
のトランザクションマネージャの全てに障害が発生し
て、それらが復帰するときに、リカバリ処理を実行する
トランザクションマネージャが、他のトランザクション
マネージャの全てから「リカバリ委任」を受け取るとき
には、あえて、最大トランザクション時間の経過を待つ
ことなく、トランザクション・リストFをリソースマネ
ージャから入手し、トランザクション・リストBとトラ
ンザクション・リストFの両方に含まれるローカルトラ
ンザクションを抽出することで、リカバリ処理すべきロ
ーカルトランザクションとして特定できることになる。
【0066】図示実施例に従って本発明を説明したが、
本発明はこれに限定されるものではない。例えば、実施
例では、2つのトランザクションマネージャが1つのリ
ソースマネージャを共用することで説明したが、本発明
はこれに限られることなく、図6に示すように、3つ以
上のトランザクションマネージャが1つのリソースマネ
ージャを共用するときに対しても、そのまま適用できる
のである。
【0067】また、実施例では、トランザクションマネ
ージャが複数のもので説明したが、図7に示すように、
1つのトランザクションマネージャが複数のクラスタに
分散するような形態を採ることで、実質的に複数となる
構成を採るときに対しても、そのまま適用できるのであ
る。
【0068】
【発明の効果】以上説明したように、本発明によれば、
分散トランザクション処理システムにおいて、障害から
復帰したトランザクションマネージャは、他のトランザ
クションマネージャを停止させることなくローカルトラ
ンザクションのリカバリ処理を実行できるようになると
ともに、トランザクションマネージャがローカルトラン
ザクションについても管理する構成を採らずに、ローカ
ルトランザクションのリカバリ処理を実行できるように
なる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の適用される分散トランザクション処理
システムのシステム構成例である。
【図3】トランザクションリカバリ手段の実行する処理
フローの一実施例である。
【図4】トランザクションリカバリ手段の実行する処理
フローの一実施例である。
【図5】リカバリ承認手段の実行する処理フローの一実
施例である。
【図6】本発明の適用される分散トランザクション処理
システムの他のシステム構成例である。
【図7】本発明の適用される分散トランザクション処理
システムの他のシステム構成例である。
【図8】分散トランザクション処理システムの説明図で
ある。
【図9】分散トランザクション処理システムのシステム
構成例である。
【符号の説明】
1 トランザクションマネージャ 1a 障害復帰トランザクションマネージャ 2 リソースマネージャ 10 入手手段 11 検出手段 12 実行手段 20 管理手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のトランザクションマネージャが同
    一のリソースマネージャを共用する構成を採り、かつ、
    該トランザクションマネージャがグローバルトランザク
    ションを管理し、該リソースマネージャがローカルトラ
    ンザクションを管理する構成を採る分散トランザクショ
    ン処理システムで実行されるトランザクションのリカバ
    リ方法において、 障害から復帰したトランザクションマネージャが、先ず
    最初に、リソースマネージャからトランザクション情報
    を入手し、 続いて、自分以外のトランザクションマネージャの最大
    トランザクション時間の経過を待ち、 続いて、リソースマネージャから再度トランザクション
    情報を入手し、 続いて、入手した2つのトランザクション情報から自分
    の処理すべきローカルトランザクションを特定して、そ
    れに対して完了処理を実行することを、 特徴とするトランザクションのリカバリ方法。
  2. 【請求項2】 請求項1記載のトランザクションのリカ
    バリ方法において、 他のトランザクションマネージャが障害から復帰する場
    合に、該トランザクションマネージャの処理すべきロー
    カルトランザクションについても自分の処理すべきロー
    カルトランザクションとして特定するよう処理すること
    を、 特徴とするトランザクションのリカバリ方法。
  3. 【請求項3】 複数のトランザクションマネージャが同
    一のリソースマネージャを共用する構成を採り、かつ、
    該トランザクションマネージャがグローバルトランザク
    ションを管理し、該リソースマネージャがローカルトラ
    ンザクションを管理する構成を採る分散トランザクショ
    ン処理システムで実行されるトランザクションのリカバ
    リ方法を実現するプログラムが記憶されるプログラム記
    憶媒体であって、 障害から復帰したトランザクションマネージャに対し
    て、先ず最初に、リソースマネージャからトランザクシ
    ョン情報を入手させ、 続いて、自分以外のトランザクションマネージャの最大
    トランザクション時間の経過を待たせ、 続いて、リソースマネージャから再度トランザクション
    情報を入手させ、 続いて、入手させた2つのトランザクション情報から自
    分の処理すべきローカルトランザクションを特定させ
    て、それに対して完了処理を実行させることを実現する
    プログラムが記憶されることを、 特徴とするプログラム記憶媒体。
JP9102928A 1996-04-22 1997-04-21 トランザクションのリカバリ方法及びプログラム記憶媒体 Withdrawn JPH1074155A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9102928A JPH1074155A (ja) 1996-04-22 1997-04-21 トランザクションのリカバリ方法及びプログラム記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9973396 1996-04-22
JP8-99733 1996-04-22
JP9102928A JPH1074155A (ja) 1996-04-22 1997-04-21 トランザクションのリカバリ方法及びプログラム記憶媒体

Publications (1)

Publication Number Publication Date
JPH1074155A true JPH1074155A (ja) 1998-03-17

Family

ID=26440839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9102928A Withdrawn JPH1074155A (ja) 1996-04-22 1997-04-21 トランザクションのリカバリ方法及びプログラム記憶媒体

Country Status (1)

Country Link
JP (1) JPH1074155A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146134A (ja) * 2008-12-17 2010-07-01 Nec Corp 分散トランザクション処理システム、サーバ装置及びそれらに用いる分散トランザクションの障害復旧方法
JP2015514248A (ja) * 2012-03-16 2015-05-18 オラクル・インターナショナル・コーポレイション 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146134A (ja) * 2008-12-17 2010-07-01 Nec Corp 分散トランザクション処理システム、サーバ装置及びそれらに用いる分散トランザクションの障害復旧方法
JP2015514248A (ja) * 2012-03-16 2015-05-18 オラクル・インターナショナル・コーポレイション 2フェーズコミットコールの厳密な順序付けに基づいたトランザクションリカバリをサポートするためのシステムおよび方法

Similar Documents

Publication Publication Date Title
US5712971A (en) Methods and systems for reconstructing the state of a computation
US7475127B2 (en) Real composite objects for providing high availability of resources on networked systems
CN106790694B (zh) 分布式系统及分布式系统中目标对象的调度方法
US6578159B1 (en) Transaction processing method and apparatus
US5799305A (en) Method of commitment in a distributed database transaction
TWI438689B (zh) 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品
US5065311A (en) Distributed data base system of composite subsystem type, and method fault recovery for the system
KR100987746B1 (ko) 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
JPH10124371A (ja) 取引処理方法及びシステム
CN101103337A (zh) 管理、录入或重放执行应用进程时的非确定性操作的方法
CN111488255A (zh) 多线程并发监控方法、装置、设备及存储介质
JPH09138754A (ja) 分散チェックポイント生成方法および同方法が適用される計算機システム
CN111400139A (zh) 多数据中心批量作业的管控和调度系统、方法及存储介质
JP2004348701A (ja) 計算機システム間のデータ二重化制御方法
JP3809858B2 (ja) 分散トランザクションの効率的同期点処理を実現する方法、システム、及びプログラム・プロダクト
JP2005538460A (ja) データ処理システム及び方法(非同種プロセスを統合するように適合されたデータ処理システム)
Warren et al. A model for dynamic configuration which preserves application integrity
JPH1074155A (ja) トランザクションのリカバリ方法及びプログラム記憶媒体
CN109062686A (zh) 多进程管理方法、存储介质、电子设备及系统
KR19980049353A (ko) 분산 트랜잭션의 회복방법
JP2002099510A (ja) 複数トランザクション処理システム
JPH08255130A (ja) バッチジョブ制御システム
JPS6239789B2 (ja)
JP2763956B2 (ja) ファイルオープン環境の回収処理方式
CN118312569A (en) Micro-service connection pool and method for establishing connection between micro-service connection pool and database cluster

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040706