JPH09204341A - 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム - Google Patents

採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム

Info

Publication number
JPH09204341A
JPH09204341A JP8012059A JP1205996A JPH09204341A JP H09204341 A JPH09204341 A JP H09204341A JP 8012059 A JP8012059 A JP 8012059A JP 1205996 A JP1205996 A JP 1205996A JP H09204341 A JPH09204341 A JP H09204341A
Authority
JP
Japan
Prior art keywords
transaction
site
numbering
distributed
processing system
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.)
Granted
Application number
JP8012059A
Other languages
English (en)
Other versions
JP3094888B2 (ja
Inventor
Shohei Matsuda
昇平 松田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP08012059A priority Critical patent/JP3094888B2/ja
Publication of JPH09204341A publication Critical patent/JPH09204341A/ja
Application granted granted Critical
Publication of JP3094888B2 publication Critical patent/JP3094888B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 複数の計算機からなる分散システムでトラン
ザクション処理を行なう場合に、計算機間に渡る障害発
生時に、一方の計算機が相手計算機の状態確認できるま
でロックされることを回避しつつ、障害復旧後にデータ
の一貫性を回復することができる。 【解決手段】 トランザクションのロールバックでも戻
されず、また採番後コミットまでの間ロックされること
もない採番のプログラムインターフェース機構と、メモ
リの情報が失われるようなシステム障害の発生後はファ
イルに残った順序番号+N以上の順序番号を復元するこ
とにより、仮に障害が発生しても、業務プログラムに最
後に返した順序番号より大きい順序番号から採番を再開
する採番回復機構とからなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、採番機構、データ
整合性確認機構、トランザクション再実行機構及び分散
トランザクション処理システムに係り、詳しくは、複数
の計算機に渡る分散トランザクション処理を行なう情報
処理システムに適用することができ、特に、分散トラン
ザクション処理を行なう際、高い可用性と高いデータ整
合性を維持して構築することができる分散トランザクシ
ョン処理システムに関する。
【0002】
【従来の技術】従来、分散トランザクション処理を行う
計算機システムでは、計算機間に渡る障害、例えば1台
以上の計算機のクラッシュや通信路障害が発生した場
合、その時点でインダウト状態のトランザクションに対
する処置を以下の(イ)、(ロ)の処置のうちの何れか
で行っている。インダウト状態は、2フェイズ・コミッ
トのプリペア要求に対してプリペア完了を通知して、コ
ミット/ロールバック指示を待っている状態のことを言
い、そのトランザクションだけでは、最終的にコミット
すべきか、あるいはロールバックすべきかを決定するこ
とができない。
【0003】(イ)インダウト状態のトランザクション
に対する処置は、障害が復旧するまでコミット/ロール
バック指示を待ち続ける。特に、インダウト状態のトラ
ンザクションを含む計算機がクラッシュした場合は、計
算機の再ブート後、コミット/ロールバック指示待ち状
態を再現して待ち続ける。このような機構は、例えば米
国Oracle Corporationのデータベー
ス管理システムであるOracle7に設けられてい
る。例えば日本オラクル株式会社発行「Oracle7
Server概要」部品番号6693−70−129
2.ja3の22−19「2フェイズ・コミットにおけ
る障害」によれば、Oracle7には自動回復の機能
があると記載されている。
【0004】(ロ)インダウト状態のトランザクション
に対する処置は、コミット/ロールバック指示待ちを打
切り、ユーザの判断(ヒューリスティック決定)により
処理を継続する。ユーザがシステム状態を確認すること
ができないままヒューリスティック決定を行なった場合
は、データの整合性が失われることがある。そこで、障
害復旧後、システムがグローバル・トランザクションI
Dをキーにして、各分散トランザクション構成要素間の
コミット/ロールバックの整合性をチェックしてレポー
トするヒューリスティック・レポートシステムが挙げら
れる。例えば、前述した「Oracle7 Serve
r概要」22−20によれば、Oracle7は、間違
った決定を自動的に検出する。但し、この場合、ヒュー
リスティック・レポートは、システムの振るグローバル
・トランザクションID(GTID)で問題トランザク
ションを通知するので、ユーザは、グローバル・トラン
ザクションGTIDから実際の対応を決めなければなら
ない。
【0005】従来、(ロ)の処置で、ヒューリスティッ
ク・レポートを利用せずに処置する場合として、業務ア
プリケーションでの通番管理で整合性を確認する分散ト
ランザクション処理システムが挙げられる。以下に、こ
の従来の分散トランザクション処理システムについて、
図面を用いて説明する。図32は従来の分散トランザク
ション処理システムの構成を示すブロック図であり、図
33は図32に示す分散トランザクション処理システム
上のサイトAのトランザクションTA1の処理フローを
示すフローチャートである。図32では、RPCを用い
て2つのサイトA、Bでデータベースを同期的に更新す
るシステムの例を示している。図33では、同期の状態
を従来のユーザ通番で管理する場合、RPCを用いて2
つのサイトA、Bでデータベースを同期的に更新するト
ランザクションの処理内容を示している。図32のDB
Aは、サイトAの注文データベース(マスタ)であり、
DBBはサイトBの注文データベース(レプリカ)であ
る。各データベースの注文レコードRECA、RECB
は、注文番号Keyをキーとして注文情報Dataをカ
ラムとして持つ。図33のトランザクションTA1は、
端末から入力された注文情報に対して注文レコードを作
り、各データベースに挿入処理を行なう。
【0006】図34は図32に示す分散トランザクショ
ンシステムによりサイトAとサイトBのデータの不整合
が検出される様子を示す図である。ここでは、親トラン
ザクションがコミットしたのに子トランザクションがロ
ールバックした場合、従来の方法で、ユーザの通番でデ
ータの整合性が崩れていることが検出される例を示して
いる。サイトAの注文データベース(マスタ)DBAと
サイトBの注文データベース(レプリカ)DBBの構造
は、図32に示した通りである。サイトAのトランザク
ションTA1は、端末から入力される注文情報’AA
A’を受信すると(ステップS1001)、データベー
ス上に注文番号’101’を採番し(ステップS100
2)、ここで一旦ローカルにコミットする(ステップS
1003)。次に、サイトAのトランザクションは、注
文番号をキーとして端末から入力される注文情報’AA
A’を内容とする注文レコードRECAを作成して、サ
イトAの注文データベース(マスタ)DBAに書き出す
(ステップS1004)。
【0007】続いて、サイトAのトランザクションは、
サイトBに対して、注文番号(Key)、注文情報(D
ata)を引数として手続きp1をRPC(Remot
ePrecedure Call)する(ステップS1
005)。この時、サイトAのトランザクションは、サ
イトBのトランザクションへ注文番号と注文情報を送信
する。この時のパラメータは、注文番号(Key)の’
101’と、注文情報(Data)の’AAA’であ
る。サイトBのトランザクションは、サイトAのトラン
ザクションから送信されるパラメータに従って注文レコ
ードRECBを作成し、注文データベース(レプリカ)
DBBに書き出し(ステップS1006)、制御をサイ
トAのトランザクションに戻す(ステップS100
7)。
【0008】サイトAのトランザクションは、コミット
処理を行なうためにサイトBの手続きp1にプリペア要
求を送る(ステップS1008)。サイトBの手続きp
1は、プリペア要求を受けると、そのプリペア要求に対
してログ採取機構LAによりプリペア・ログを採取して
プリペアを実施し、その後、レディー通知(プリペア完
了通知)をサイトAのトランザクションに返す(ステッ
プS1009)。サイトAのトランザクションは、サイ
トBからレディー通知を受けると、ローカルなコミット
を実行し、サイトBにコミット指示を送信する(ステッ
プS1008)。この直後、サイトAのトランザクショ
ンは、サイトBがコミット指示を受け取る前にシステム
・クラッシュしたとし、その結果を端末へ送信する(ス
テップS1010)。
【0009】サイトBの手続きでは、障害原因解決後、
システムの再起動が行われる。この例では、障害発生時
にプリペア状態だったトランザクションは、ヒューリス
ティック決定によりロールバックされ、どのトランザク
ションがロールバックされたかについては、ロールバッ
クされたレコードの内容とともに通知するものとする。
ユーザは、通知された情報中のレコード・キーを参照し
てサイトAの同レコードを確認する。これにより、ユー
ザは、該当レコードがあるので、データの不整合が発生
していることが判る。
【0010】
【発明が解決しようとする課題】上記した従来の分散ト
ランザクション処理システムでは、(イ)のトランザク
ション処置を採用した場合、データの整合性を完全に維
持することができるが、データベース等のリソースが障
害復旧するまでロックされてしまうため、システムの可
用性が低下するという問題があった。一例として挙げた
Oracle7の場合でも、障害回復までに時間がかか
りそうな場合等は、手動でヒューリスティック決定を行
なうことを勧めている。これについては、「Oracl
e7 Server 管理者ガイド」部品番号6644
−70−1292.ja4の15−15「分散トランザ
クションの問題を解決する」中、「インダウト・トラン
ザクションを手動で置き換える」の項で言及している。
また、この方式は、実装も運用も複雑であり、サポート
していないデータベース管理システムがある。
【0011】これとは逆に、(ロ)を採用した場合は、
リソースが直ちに解放され、可用性の点では問題はない
が、ユーザが他の計算機のトランザクションの状態を確
認することができないとデータの整合性が失われる恐れ
がある。これについては、同じく、「Oracle7
Server 管理者ガイド」の同項で、間違った決定
がデータベースの矛盾を引き起こし得ることに言及して
いる。従来の方式では、たとえヒューリスティック・レ
ポートでデータの不整合が判るとしても、その情報は、
業務とは直接関係なく、また、具体的な復旧処置は、ユ
ーザに任されているので、システム設計、アプリケーシ
ョン設計上の負担が大きい。
【0012】更に、前述したユーザの通番で管理する方
法は、採番した時点で業務とは関係なしにコミットが必
要である。仮に、コミットを行なわないと、採番もロー
ルバックもされることになり、図35に示すように、後
から別のトランザクションが同一通番を再度採番する
と、整合性の検出に使えない。図35は、従来の方法
で、ユーザの通番自体がロールバックされると整合性が
検出することができなくなる例を示している。
【0013】そこで、本発明は、2フェイズ・コミット
中の障害に対する複雑な運用と、同障害に際してデータ
がロックされ続けることによるシステム可用性の低下を
回避することができるととに、データベース管理システ
ム自体が障害状態の再現による完全なデータ整合性維持
をサポートしていない場合でも、システム全体としてデ
ータの整合性を維持することができ、しかもデータベー
ス管理システムがヒューリスティック・レポートをサポ
ートしていない場合でも、システム全体としてデータの
整合性の状態を容易に確認することができる採番機構、
データ整合性確認機構、トランザクション再実行機構及
び分散トランザクション処理システムを提供することを
目的とする。
【0014】
【課題を解決するための手段】ヒューリスティック決定
を行なってデータの不整合が発生しても、現実的には後
から適切な回復トランザクションを投入することで整合
性を回復することができる場合がほとんどである。そこ
で、可用性の低下を回避するために、ヒューリスティッ
ク決定を行なうものとし、必要に応じて後で、元の分散
トランザクションの一部であったプログラムまたは回復
用トランザクションを分散処理と関係しないローカル・
トランザクションとして再実行するものとする。この場
合、ローカル・トランザクションとして実行するのであ
るから、元のプログラムで通信処理をする部分は、受信
処理を除いてNOPとする。受信データは、各トランザ
クションにとってユニークな情報を含んでいるので、通
常の分散トランザクション実行中にログとして採取する
ものとする。ローカル・トランザクションとしての再実
行時には、受信処理はこのログからの読み込みで再現す
る。また、採番に関する部分も、ログから読み込んで再
現する。
【0015】具体的なシステム障害からの回復処理とし
ては、先ずログから整合性を失わせた可能性のあるトラ
ンザクション、即ち、ヒューリスティック決定の対象と
なったトランザクションを抽出する。ヒューリスティッ
ク・レポートが用意されている分散処理システムでは、
これを利用してデータ整合性を崩したトランザクション
を特定して、対応するトランザクションID付きで対応
する回復用トランザクションを投入する。ヒューリステ
ィック・レポートがない分散処理システムでは、ロール
バックやシステム障害で後戻りしないことが保証される
採番機構による通番を元にしたDBのレコードの突き合
わせにより、両系のデータ整合性が維持されているかを
判断する。以下、請求項毎に本発明の解決手段を示す。
【0016】本発明に係る採番機構は、順序番号をメモ
リとファイルに保持し、業務プログラムからの採番命令
呼び出しによりメモリ上の順序番号をカウント・アップ
して業務プログラムに返し、計算機全体で既定値または
定義により与えられた回数N回に一度は最新の順序番号
をファイルに書き出し、トランザクションのロールバッ
クで戻されず、かつ採番後コミットまでの間ロックされ
ることがない採番のプログラムインタフェース機構と、
メモリの情報が失われるシステム障害の発生後はファイ
ルに残った順序番号+N以上の順序番号を復元すること
により、仮に障害が発生しても、業務プログラムに最後
に返した順序番号より大きい順序番号から採番を再開さ
せる採番回復機構とを有することを特徴とするものであ
る。
【0017】本発明に係るデータ整合性確認機構は、分
散トランザクション処理において、コーディネータとな
るトランザクションの分散ノードに設けた請求項1の採
番機構による通番をキーとするレコードを書き込むデー
タベースと、サブオーディネートとなる分散ノードに設
けた同通番を遅くともプリペア・ログと同時にログに書
き込むログ採取機構と、データ整合性確認の際に突き合
わせるべきデータの所在、判断方法を指定した整合性判
断定義と、障害時のヒューリスティック決定によるデー
タ不整合を、インダウトのプリペア・ログはあるがコー
ディネータの指示によるコミット/ロールバックがされ
ていないトランザクションに対して、ログ中の通番に対
応したレコードがあるかを整合性判断定義情報に従って
突き合わせることにより検出するデータ不整合検出機構
とを有することを特徴とするものである。
【0018】本発明に係るトランザクション再実行機構
は、分散トランザクション処理の1分散ノードであるプ
ログラムを、通常実行時には、受信処理及び請求項1に
よる採番処理は回復用ログに採取しつつ実行し、再実行
時には、そのプログラムまたはそれに対応する回復用プ
ログラムを、元のトランザクションID付きでローカル
なトランザクションとして再投入して、プログラムの受
信処理以外の通信処理をNOP化し、受信処理及び請求
項1による採番処理は、通常実行時にはログに書き出
し、トランザクションIDに基づいてはログからの読み
出しにより再現し、トランザクションとしてはローカル
トランザクションとして処理するプログラムインタフェ
ース機構を有することを特徴とするものである。
【0019】本発明に係る分散トランザクション処理シ
ステムは、以下のa)〜f)に示す構成要素からなり、
子トランザクションを起動する側の親トランザクション
が2フェイズ・コミット上でコーディネータになり、
b)でのヒューリスティック決定としてロールバックを
行なうもので、e)のデータ整合性確認機構としてヒュ
ーリスティック・レポートを備えており、f)のトラン
ザクション再実行機構による再実行トランザクションと
して、元の子トランザクションそのものを投入すること
により、計算機間に渡る障害の発生後一時的にプリペア
状態のトランザクションをロールバックし、後で子トラ
ンザクションを必要に応じてローカル・トランザクショ
ンとして再投入して計算機間の整合性を回復することを
特徴とするものである。 a)ログ採取機構、 b)障害発生時に相手トランザクションからのコミット
/ロールバック決定待ちのトランザクションを、ローカ
ルなヒューリスティック決定でコミット/ロールバック
するヒューリスティック決定機構、 c)プリペア・ログのみあって、コミット・ログ及びロ
ールバック・ログがないトランザクションを回復候補と
して抽出する回復候補トランザクション抽出機構、 d)あるトランザクションが回復候補になった場合に、
どのトランザクションを投入すればいいかを示す投入指
示情報、 e)ヒューリスティック決定によってコミット/ロール
バックされたトランザクションと、相手トランザクショ
ンとの間のデータ整合性が崩れていないかどうかを、障
害の復旧後に確認するデータ整合性確認機構、 f)請求項3のトランザクション再実行機構。
【0020】本発明に係る分散トランザクション処理シ
ステムは、請求項4のa)〜f)に示す構成要素からな
り、子トランザクションが2フェイズ・コミット上でコ
ーディネータになり、b)でのヒューリスティック決定
としてロールバックを行なうもので、e)のデータ整合
性確認機構としてヒューリスティック・レポートを備え
ており、f)のトランザクション再実行機構による再実
行トランザクションとして、元の親トランザクションそ
のものを投入することにより、計算機間に渡る障害の発
生後一時的にプリペア状態のトランザクションをロール
バックし、後で親トランザクションを必要に応じてロー
カル・トランザクションとして再投入して計算機間の整
合性を回復することを特徴とするものである。
【0021】本発明に係る分散トランザクション処理シ
ステムは、請求項4のa)〜f)に示す構成要素からな
り、子トランザクションを起動する側の親トランザクシ
ョンが2フェイズ・コミット上でコーディネータにな
り、b)でのヒューリスティック決定としてコミットを
行なうもので、e)のデータ整合性確認機構としてヒュ
ーリスティック・レポートを備えており、f)のトラン
ザクション再実行機構として請求項3を備え、元の子ト
ランザクションに対応した回復用トランザクションを投
入することにより、計算機間に渡る障害の発生後一時的
にプリペア状態のトランザクションをコミットし、後で
回復用トランザクションを必要に応じてローカル・トラ
ンザクションとして再投入して計算機間の整合性を回復
することを特徴とするものである。
【0022】本発明に係る分散トランザクション処理シ
ステムは、請求項4のa)〜f)に示すの構成要素から
なり、子トランザクションが2フェイズ・コミット上で
コーディネータになり、b)でのヒューリスティック決
定としてコミットを行なうもので、e)のデータ整合性
確認機構としてヒューリスティック・レポートを備えて
おり、f)のトランザクション再実行機構として請求項
3を備え、元の親トランザクションに対応した回復用ト
ランザクションを投入することにより、計算機間に渡る
障害の発生後一時的にプリペア状態のトランザクション
をコミットし、後で回復用トランザクションを必要に応
じてローカル・トランザクションとして再投入して計算
機間の整合性を回復することを特徴とするものである。
【0023】本発明に係る分散トランザクション処理シ
ステムは、請求項4の分散トランザクション処理システ
ムにおいて、データ整合性確認機構は、請求項4のe)
のデータ整合性確認機構を請求項2のデータ整合性確認
機構に変更したものであることを特徴とするものであ
る。
【0024】本発明に係る分散トランザクション処理シ
ステムは、請求項5の分散トランザクション処理システ
ムにおいて、データ整合性確認機構は、請求項5のe)
のデータ整合性確認機構を請求項2のデータ整合性確認
機構に変更したものであることを特徴とする分散トラン
ザクション処理システム。
【0025】本発明に係る分散トランザクション処理シ
ステムは、請求項6の分散トランザクション処理システ
ムにおいて、データ整合性確認機構は、請求項6のe)
のデータ整合性確認機構を請求項2のデータ整合性確認
機構に変更したものであることを特徴とするものであ
る。
【0026】本発明に係る分散トランザクション処理シ
ステムは、請求項7の分散トランザクション処理システ
ムにおいて、データ整合性確認機構は、請求項7のe)
のデータ整合性確認機構を請求項2のデータ整合性確認
機構に変更したものであることを特徴とする分散トラン
ザクション処理システム。
【0027】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。 実施の形態1.本実施の形態は、ロールバックやシステ
ム障害が生じても後戻りしない採番機構による通番を、
アプリケーションの正常/異常終了通知に使用した例で
ある。以下、図面を参照しながら本実施の形態を説明す
る。図1は本発明に係る実施の形態1の採番機構を用い
たトランザクションの処理フローを示すフローチャート
である。採番機構は、まず、端末から入力される注文情
報を受信すると(ステップS1)、その注文毎に採番を
行い(ステップS2)、この採番を行った結果、即ち処
理確認情報を端末へ送信する(ステップS3)。端末オ
ペレータは、採番機構から送信される処理確認情報を端
末の画面に出力し、以降自分の投入した業務を記録し
て、この通番をキーとして参照することができる。これ
により、端末オペレーターは、このトランザクション処
理が例えば20番であると判る。
【0028】採番機構は、実際に業務処理を行い(ステ
ップS4)、エラーがあるかどうかを判断し、エラーが
なく正常終了であると判断すると(ステップS5)、こ
の通番を含んだ正常終了メッセージを出力し(ステップ
S6)、コミットする。一方、採番機構は、エラーがあ
り異常終了であると判断すると(ステップS5)、通番
を含んだ異常終了メッセージを出力し(ステップS
8)、ロールバックする(ステップS9)。端末オペレ
ータは、出力される正常終了/異常終了メッセージを参
照することにより、自分の投入した業務の20番が異常
なく終わったかどうかを判断することができる。ここ
で、仮に通番もロールバックされると、次の業務投入に
よって同じ通番が再使用されるため、業務の識別に使え
ない。
【0029】次に、図2は本発明に係る実施の形態1の
採番機構の処理フローを示すフローチャートである。こ
こでは、採番機構が採番してアプリケーションに結果を
返す処理内容を示している。採番機構は、アプリケーシ
ョンから転送される採番要求情報を受信すると(ステッ
プS11)、メモリ上の現在の採番のエリアをロックし
(ステップS12)、メモリ上の現在の採番に+1を加
えて、採番を書き換える(ステップS13)。採番機構
は、例えばメモリ上の19番のエリアをロックし、その
19番の採番を20番に書き換える。その後、採番機構
は、採番がNの倍数であるかどうかを判断し、採番がN
の倍数であると判断すると(ステップS14)、メモリ
上の採番を不揮発性媒体にストアし(ステップS1
5)、メモリ上の現在の採番をアンロックした後(ステ
ップS16)、その採番結果をアプリケーションに戻す
(ステップS17)。
【0030】一方、採番機構は、採番がNの倍数でない
と判断すると(ステップS14)、メモリ上の採番を不
揮発性媒体にストアしないでメモリ上の現在の採番をア
ンロックし(ステップS16)、その採番結果をアプリ
ケーションに戻す(ステップS17)。採番機構は、例
えば10回に1回メモリ上に書き出すとし、今採番が2
0番になると、メモリ上に20番の採番を書き出す。こ
れにより、カウンタが20まで進んでいることがディス
ク上で保証される。採番機構は、例えば採番が21にな
った時、採番をメモリ上で進めアンロックしてアプリケ
ーションに戻す。
【0031】次に、図3は本発明に係る実施の形態1の
採番機構の採番の回復処理フローを示すフローチャート
である。ここでは、システム・クラッシュ等のメモリ内
容を失わせる障害発生後の採番機構による現在の採番の
回復処理内容を示している。採番機構は、不揮発性媒体
から現在の採番を回復し(ステップS21)、現在の採
番に+Nを加える。採番機構は、例えば採番が15番に
なったところでシステム・クラッシュ等が生じると、採
番をメモリ上に持っているため、メモリ上の情報が全て
失われてしまうので、不揮発性媒体にしか頼るものがな
い。不揮発性媒体には、例えば今、採番15よりも小さ
い採番10が入っているとし、採番10から使い始める
と、既に19まで進んでいる可能性があるので、同じも
のを使用してしまうことがある。これを避けるため、例
えば現在の採番に+10を加えてやると、先に進んでい
たとしても10回に1回は書き出している。このため、
採番が今の+10回で20回になり、採番20回から使
用すればよいので、採番が後戻りしないことを保証する
ことができる。従って、このような処理を行なうことに
より、この採番機構による通番は飛び出ることはあって
も、重複をなくすことができる。
【0032】このように、本実施の形態では、順序番号
をメモリと不揮発性媒体上のファイルに保持し、業務プ
ログラムからの採番命令呼び出しによりメモリ上の順序
番号をカウント・アップして業務プログラムに返し、計
算機全体で既定値または定義により与えられた回数N回
に一度は最新の順序番号をファイルに書き出し、トラン
ザクションのロールバックでも戻されず、かつ採番後コ
ミットまでの間ロックされることもない採番のプログラ
ムインターフェース機構を設けたため、要求があってア
プリケーションに返るまではロックされているが、この
後コミットまではこの採番を自由に使用することができ
る。このため、他のトランザクションが来てもカウント
アップして使用することができる。
【0033】本実施の形態は、メモリの情報が失われる
システム障害の発生後にファイルに残った順序番号+N
以上の順序番号を復元することにより、仮に障害が発生
しても、業務プログラムに最後に返した順序番号より大
きい順序番号から採番を再開させる採番回復機構を設け
たため、ファイルに残った方から回復することによっ
て、例えば採番19を返した時にクラッシュが起こって
も、採番20番以上から返すので、重複なく採番を得る
ことができる。
【0034】本実施の形態によれば、ユーザが各トラン
ザクションの識別情報を得たい場合に、データベースや
ファイルを用いることなく、また、重複なく採番を得る
ことができる。また、図2のフローチャートから明らか
なように、このような採番が処理のシリアライズのため
に行なうロックは採番する間だけであり、データベース
を使った場合のように、ロックがコミットまで保持され
ることがないようにできる。しかも、I/Oはトランザ
クションN件に1度であるため、システムの可用性を向
上させることができる。
【0035】実施の形態2.本実施の形態は、2つの計
算機間に渡る分散トランザクション処理システムでのデ
ータ整合性確認機構であり、一方のサイトで端末から受
けた注文情報に対して注文番号を採番し、この採番した
注文番号をキーとして注文データをサイトAの注文デー
タベース(マスタ)に書き込むとともに、RPC(Re
mote Procedure Call)p1により
サイトBの注文データベース(レプリカ)に書き込むト
ランザクションへの適用例である。サイトBのシステム
のクラッシュ後、データの整合性がどのように確認され
るかについて、以下、図面を参照しながら本実施の形態
を説明する。
【0036】図4は本発明に係る実施の形態2の分散ト
ランザクション処理システムの構成を示すブロック図で
ある。ここでは、RPCを用いて2つのサイトA、Bで
データベースを同期的に更新するシステムの例を示して
いる。図4において、1、2は計算機であり、3、4は
注文データベースであり、5、6はログ採取機構であ
り、7は採番機構である。8はアプリケーションであ
り、9は端末であり、10、11は注文レコードであ
る。各注文データベース3、4の注文レコード10、1
1は、注文番号(Key)をキーとし、注文情報(Da
ta)をカラムとして持つ。サイトA側の計算機1に
は、注文データベース(マスタ)3、ログ採取機構5、
採番機構7、アプリケーション8等が設けられている。
サイトB側の計算機2には、採番機構が設けられておら
ず、注文データベース(レプリカ)4、ログ採取機構6
等が設けられている。本実施の形態では、サイトA側の
計算機1のアプリケーション8で更新する時、サイトA
側の注文データベース3とサイトB側の注文データベー
ス4を同期的に更新させる。サイトA側の更新を確定す
る時は、サイトB側の更新を確定させ、サイトA側の更
新を取り止める時は、サイトB側の更新を取り止めると
いう具合に、処理を同期的にコミット乃至ロールバック
に設定する。
【0037】次に、図5は図4に示す分散トランザクシ
ョン処理システムのトランザクション処理フローを示す
フローチャートである。ここでは、RPCを用いて2つ
のサイトA、Bで各々のデータベース3、4を同期的に
更新するトランザクションの処理内容を示している。サ
イトA側の計算機1は、端末9から入力される注文情報
を受信すると(ステップS31)、実施の形態1と同じ
採番を行ってその採番で注文番号を採取し(ステップS
32)、この採取した注文番号をキーとしてサイトA側
の注文データベース3に注文情報を挿入する(ステップ
S33)。サイトA側の計算機1は、サイトAの注文デ
ータベース3に挿入した注文番号(Key)と注文情報
(Data)を引数としてサイトBの計算機2へRPC
を行う(ステップS34)。
【0038】サイトB側の計算機2は、サイトA側の計
算機1から転送されるサイトA側と同じ注文番号をキー
としてサイトB側の注文データベース4に注文情報を挿
入し(ステップS35)、呼び出し元のサイトA側の計
算機1へ制御を戻す(ステップS36)。このように、
サイトA側の計算機1は、採番を行った注文番号と注文
情報で更新を行い、この更新を行った注文番号と注文情
報をサイトB側の計算機2へ送信する。サイトB側の計
算機2は、計算機1から送信される注文番号と注文情報
で更新を行う。
【0039】サイトA側の計算機1は、RPC終了後、
サイトB側の計算機2へプリペア要求情報を送信し(ス
テップS37)、サイトB側の計算機2は、計算機1か
ら送信されるプリペア要求情報を受信すると、プリペア
を行い、サイトA側の計算機1へプリペア完了情報を送
信する(ステップS38)。サイトA側の計算機1は、
計算機2から送信されるプリペア完了情報を受信する
と、コミットを行い、サイトB側の計算機2へコミット
要求情報を送信するとともに(ステップS37)、端末
9へコミットを行った結果を送信する(ステップS3
9)。サイトB側の計算機2は、計算機1から送信され
るコミット要求情報を受信すると、コミットを行う(ス
テップS38)。
【0040】次に、図6、7は図4に示す分散トランザ
クション処理システムのサイトAとサイトBのデータの
整合性が確認される様子を示すシーケンス図である。図
6では、不整合のない場合のサイトA、Bの両サイトの
データの整合性が確認される様子を示しており、図7で
は、不整合のある場合のサイトA、Bの両サイトのデー
タの整合性が確認される様子を示している。図6に示す
ように、サイトA、Bのトランザクションは、端末9か
ら入力される注文情報に対して注文レコード10、11
を作成し、作成した注文レコード10、11を各注文デ
ータベース3、4に挿入処理する。
【0041】各注文データベース3、4の構造は、図4
に示した通りである。まず、サイトAのコーディネータ
側がロールバックされて不整合が起こらない場合を図6
を用いて説明し、次に、サイトAのコーディネータ側が
コミットされて不整合が起こる場合を図7を用いて説明
する。
【0042】サイトA側の計算機1は、端末9から送信
される入力情報’AAA’に対して、実施の形態1の採
番機構を用いて注文番号’101’を採番する。この採
番を行った注文番号’101’をキーとし、端末9から
送信される入力情報’AAA’を内容とする注文レコー
ド10を作成して注文データベース3に書き出す。
【0043】次に、サイトA側の計算機1は、サイトB
側の計算機2に対して、手続きp9をRPCする。この
時、サイトBの計算機2には、サイトA側の計算機1か
ら手続きp9を行うためのパラメータ、即ちサイトA側
で採番を行った注文番号(Key)の’101’と、注
文情報(Data)の’AAA’が送信される。
【0044】サイトB側の計算機2は、サイトA側の計
算機1から送信される注文番号と注文情報のパラメータ
を受信すると、この注文番号と注文情報のパラメータに
従って注文レコード11を作成し、注文データベース4
に書き出し、制御をサイトA側の計算機1に戻す。サイ
トA側の計算機1は、コミット処理を行なうためにサイ
トB側の計算機2へプリペア要求情報を送信する。
【0045】サイトB側の計算機2は、サイトA側の計
算機1から送信されるプリペア要求情報を受信すると、
サイトBのログ採取機構6により注文番号を含めてプリ
ペア・ログを採取する。プリペア・ログの内容には、図
8に示すように、トランザクションIDを示すTID
と、プリペア・ログを示すフラグを示すPと、RPC手
続き名と、RPCパラメータのKey(注文番号;注文
データベースのキー)とData(注文情報)とが含ま
れる。
【0046】サイトB側の計算機2は、このプリペア・
ログ採取後、レディー(準備完了)情報をサイトAの計
算機1へ送信しないうちにシステム・クラッシュしたと
する。サイトB側の計算機2は、プリペア・ログ採取
後、サイトA側の計算機1からコミットまたはロールバ
ックの指示が来るのを待つ状態になっており、コミット
していいのか、あるいはロールバックしていいのかを自
分で決めることができない。サイトB側の計算機2は、
コミット/ロールバックの指示が来るのを待っている時
にシステム・クラッシュしたとする。
【0047】サイトA側の計算機1は、サイトB側の計
算機2からレディー情報が送信されないため、タイムア
ウトを起こし、ロールバックされる。即ち、注文データ
ベース3への注文レコード10のレコード書き出しは、
取り消さ、注文データベース3は、元に戻る。
【0048】一方、サイトBでは、障害原因解決後、シ
ステムの再起動が行われる。この例では、障害発生時に
プリペア状態だったトランザクションは、ヒューリステ
ィック決定によりロールバックされるものとする。
【0049】次に、サイトAとの通信路が復旧した後、
ヒューリスティック決定をしたトランザクションについ
て、整合性確認機構が以下に説明する図10に示すフロ
ーチャートに従って処理を行なう。ここでは、ヒューリ
スティック決定を行ったトランザクションに対して整合
性確認をどのように行っているかを示している。整合性
確認機構は、該当するトランザクションの判断定義情報
を読み(ステップS41)、読んだ判断定義情報に示さ
れたログ中の通番情報を読んだ後(ステップS42)、
判断定義情報に示された相手データベースのログ中の通
番情報をキーに持つレコードを探す(ステップS4
3)。
【0050】整合性確認機構は、図8、9に示すよう
に、まず、プリペア・ログ内の通番情報のキーを読み、
このキーに突き合わせた相手のデータベースを読みに行
く。図8は、確認機構としてプリペア・ログの内容を示
しており、当然RPCパラメータのキーの所に情報が入
っていないと、確認することができない。図9は、どれ
とどれを突き合わせればよいかの情報を示している。図
9に示すRPC1は、プリペア・ログ内のキーの情報を
相手のサイトAの注文データベースの注文番号と突き合
わせる処理である。ヒューリスティック決定としては、
自分の側がロールバックされると示している。
【0051】整合性確認機構は、相手のレコードを探し
てあった場合(ステップS44)、こちらのヒューリス
ティック決定がコミットであるかを判断し、こちらのヒ
ューリスティック決定がコミットであると判断すると
(ステップS45)、不整合はないと判定する。整合性
確認機構は、相手のレコードがあってこちらのヒューリ
スティック決定がロールバックであると判断すると(ス
テップS44、45)、不整合であると判定する。整合
性確認機構は、相手のレコードを探してなかった場合
(ステップS44)、こちらのヒューリスティック決定
がコミットであるかを判断し、こちらのヒューリスティ
ック決定がコミットであると判断すると(ステップS4
6)、不整合であると判定する。整合性確認機構は、相
手のレコードがなくてこちらのヒューリスティック決定
がロールバックであると判断すると(ステップS44、
46)、不整合はないと判定する。
【0052】この整合性確認機構は、まず、ログを確認
し、注文番号’101’を得る。これに対応するサイト
Aの注文データベース3の同キーのレコードを探すが、
これは、ロールバックされていてないので、不整合は発
生していないことが検出される。ログ中のどのフィール
ドと、どのサイトのどのデータベースのレコードを比較
すべきかは、予め図9に示すようなトランザクション毎
の判断定義として、整合性確認機構に与えておく。
【0053】サイトAは、サイトBがクラッシュする
と、サイトBからレディーが通知されないので、ロール
バックされる。サイトAのデータベース3は、ロールバ
ックするので、元に戻る。次のトランザクションは、ロ
ールバックしたからといって採番機構は後戻りはしない
ので、’102’から探す。’101’は、探してもな
い状態である。サイトBは、その続きで立ち上がった時
に、ヒューリスティック決定により整合性が取れるかど
うか判らないが、とにかくロールバックと決めておき、
その後ログを見に行って’101’がインダウトである
ことが判る。要は、どっちに設定していい情報かが判ら
ない。それで、サイトBは、どっちに設定すべきかを知
るために、サイトAに問い合わせる。サイトBの整合性
確認機構は、’101’を探してもないので、ロールバ
ックされていることが判る。
【0054】同じ例で、今度は図7に示す通り、サイト
B側の計算機2は、システム・クラッシュがレディー通
知を送った直後に起こったとする。サイトA側の計算機
1では、計算機2からレディー通知が来るため、コミッ
トを実行し、’101’のレコード10ができる。その
後、サイトA側の計算機1は、サイトB側の計算機2へ
コミット要求情報を送信するが、サイトB側の計算機2
は、クラッシュしているので、このコミット要求は無視
される。一方、サイトB側の計算機2では、障害原因解
決後、システムの再起動が行われる。図6の場合と同
様、プリペア状態のトランザクションは、ヒューリステ
ィック決定によりロールバックされる。
【0055】次に、サイトA側の計算機1との通信路が
復旧した後、ヒューリスティック決定したトランザクシ
ョンについて説明する。整合性確認機構は、ログを確認
し、図6と同様、注文番号’101’を得る。これに対
応するサイトA側の計算機1の注文データベース3の同
キーのレコードを探すが、今度はコミットされているの
で、不整合が発生していることが判る。以上の手順によ
り、システム・クラッシュ後、どのような場合も両サイ
トの整合性を確認することができる。
【0056】このように、本実施の形態では、 分散ト
ランザクション処理において、コーディネータとなるト
ランザクションの分散ノードのサイトAに設けた、実施
の形態1と同じ採番機構7による通番をキーとする注文
レコード10を書き込む注文データベース3と、サブオ
ーディネートとなる分散ノードのサイトBに設けた、同
通番を遅くともプリペア・ログの前にログに書き込むロ
グ採取機構6と、データ整合性確認の際に突き合わせる
べきデータの所在、判断方法を指定した整合性判断定義
と、障害時のヒューリスティック決定によるデータ不整
合を、インダウトのプリペア・ログはあるがコーディネ
ータの指示によるコミット/ロールバックがされていな
いトランザクションに対して、ログ中の通番に対応した
レコードがあるかを整合性判断定義情報に従って突き合
わせることにより、検出できて、ユーザがグローバル・
トランザクションIDを意識する必要のないデータ不整
合検出機構とを有するように構成している。このため、
2つの計算機1、2からなる分散システムでトランザク
ション処理を行う場合のシステム障害時のデータ整合性
確認において、ヒューリスティック・レポートやグロー
バルIDに頼ることなく整合性を確認することができ
る。また、従来、ヒューリスティック決定がされた後
に、ヒューリスティック・レポートを行うシステムで
は、IDは判るが、業務と関係のないトランザクション
毎に振れられたIDであるので、業務的に確認すること
ができなかったが、このような問題も解消することがで
きる。
【0057】実施の形態3.本実施の形態は、2つの計
算機間に渡る分散トランザクション処理システムでのト
ランザクション再実行機構であり、サイトAで端末から
受けた注文情報に対して注文データを作成して、分散ト
ランザクション起動によりサイトBの注文データベース
に書き込み、分散トランザクションの結果として支払い
情報をサイトAで貰って伝票をプリントする処理への適
用例である。この分散トランザクション処理システムで
は、注文データベースは、サイトBだけにあり、コミッ
トは、サイトBだけで行われるものとする。以下、図面
を参照しながら本実施の形態を説明する。
【0058】図11は本発明に係る実施の形態3の分散
トランザクション処理システムの通常実行時の構成を示
すブロック図であり、図12は本発明に係る実施の形態
3の分散トランザクション処理システムの再実行時の構
成を示すブロック図である。図12に示す点線の部分
は、通常実行時には関与し、再実行時には関与しない部
分である。図11、12において、図4と同一符号は同
一又は相当部分を示し、21、22はトランザクション
であり、23は再実行機構であり、24、25は管理端
末であり、26はプリンタである。本実施の形態は、分
散トランザクション自体は同じであるが、サイトAのト
ランザクション21とサイトBのトランザクション22
で会話を行い、サイトBの注文データベース4を更新し
て結果を貰ってプリンタ26でプリントアウトする処理
を行う。この処理を行うのに、あるタイミングでサイト
Bがシステムクラッシュした時、即ち注文データベース
4の更新を終了した後にシステムクラッシュした時に、
サイトAだけで処理を行う。
【0059】次に、図13は図11に示す分散トランザ
クション処理システムのサイトAのトランザクション2
1とサイトBのトランザクション22の通常実行での処
理フローを示すフローチャートである。ここでは、分散
トランザクションを用いてリモート・データベースを更
新するとともに、ローカルに帳票を出力するトランザク
ションの処理内容(通常実行時)を示している。サイト
Aのトランザクション21は、端末9から起動される
と、端末9から送信される注文情報を受信して端末受信
ログを採取した後(ステップS51)、注文番号を採番
して採番ログを採取する(ステップS52)。
【0060】サイトAのトランザクション21は、採番
を行った注文番号(Key)と注文情報(Data)を
引数として起動してサイトBのトランザクション22へ
送信する(ステップS53)。サイトBのトランザクシ
ョン22は、トランザクション21から送信される注文
番号と注文情報を受信すると、受信した注文番号をキー
として注文データベース4に受信した注文情報を挿入し
て更新する(ステップS54)。サイトBのトランザク
ション22は、注文データベースを更新すると、支払情
報を結果としてサイトAのトランザクション21へ送信
した後(ステップS55)、ローカルにコミットする
(ステップS56)。
【0061】サイトAのトランザクション21は、トラ
ンザクション22から送信される支払情報を受信すると
(ステップS57)、終了通知をサイトBのトランザク
ション22へ送信する(ステップS58)。サイトBの
トランザクション22は、トランザクション21から送
信される終了通知を受信すると(ステップS59)、正
常受信であるかを判定し、正常受信である場合(ステッ
プS60)、終了し、正常受信でない場合(ステップS
60)、管理端末25にトランザクションIDを表示す
る(ステップS61)。サイトAのトランザクション2
1は、終了通知をサイトAへ送信後、注文番号と支払情
報を含む帳票をプリンタ26で出力した後(ステップS
62)、端末9へ結果を送信する(ステップS63)。
【0062】次に、図14は図12に示す分散トランザ
クション処理システムのサイトAでのローカル再実行処
理フローを示すフローチャートである。ここでは、分散
トランザクションを用いてリモート・データベースを更
新するとともに、ローカルに帳票を出力するトランザク
ションの処理内容(再実行時)を示している。ここで
は、サイトAのシステムクラッシュで出力されないまま
になっていた帳票が、サイトAでのトランザクション再
実行によって、サイトBに影響を与えることなく出力さ
れる様子を、図12も参照しながら説明する。図11の
通常実行時には、前述したように、サイトAのトランザ
クション21は、業務端末9から起動され、サイトBの
トランザクション22を起動して処理結果をプリンタに
出力する。サイトBのトランザクション22を起動直後
にサイトAでシステム・クラッシュが発生したとする。
【0063】このように、サイトBのトランザクション
22を起動直後、サイトAでシステム・クラッシュが発
生したとすると、サイトBの終了通知受信は、異常終了
するため、サイトBの管理端末25に問題の発生したト
ランザクションIDが表示される。再実行時には、図1
2に示すように、管理端末25からトランザクションI
Dによって再実行機構23に対して起動が指示され、こ
れによって後述する図14のフローに従ってサイトAだ
けで処理が行われる。この場合、同トランザクション2
1、22をそのまま再実行したのでは、サイトBのデー
タベース4が二重に更新されてしまい、また、採番も取
り直される。
【0064】そこで、図13に示すように、通常実行時
に受信情報と採番情報をログに記録しておき、図14に
示すように、再実行時にはこれらはログから読むものと
し、他の送信処理は、NOPとすれば、必要な帳票が正
しく出力され、サイトBや端末9には影響を及ぼさな
い。サイトAのトランザクション21は、再実行時、端
末9からの起動を行うことなく、管理端末25から再起
動要求があると、端末9からログに書いてある注文番号
を採取し(ステップS71、S72)、その採番を用い
てサイトB側に要求しなくてもよいので、NOPにして
(ステップS73)、受信処理をログする(ステップS
74)。その後、サイトAのトランザクション21は、
終了通知をNOPにし(ステップS75)、注文番号と
支払情報を含む帳票出力を実行した後(ステップS7
6)、結果送信をNOPにして(ステップS77)、終
了する。
【0065】このように、本実施の形態では、分散トラ
ンザクション処理の1分散ノードであるプログラムを、
通常実行時には、受信処理及び実施の形態1による採番
処理は回復用ログに採取しつつ実行し、再実行時には、
そのプログラムまたはそれに対応する回復用プログラム
を、元のトランザクションID付きでローカルなトラン
ザクションとして再投入して、プログラムの受信処理以
外の通信処理をNOP化し、受信処理及び実施の形態1
による採番処理は、通常実行時にはログに書き出し、ト
ランザクションIDに基づいてはログからの読み出しに
より再現し、トランザクションとしてはローカルトラン
ザクションとして処理するプログラムインタフェース機
構を有するように構成している。このため、再実行時に
はこれらはログから読むものとし、他の送信処理はNO
Pとすることにより、必要な帳票を正しく出力すること
ができるので、サイトBや端末には影響を及ぼさないよ
うにすることができる。従って、複数の計算機1、2か
らなる分散システムで、複数のトランザクション21、
22で連携して処理を行う場合に、障害等で特定のトラ
ンザクション21だけで再実行したい場合に、容易に再
実行することができる。
【0066】実施の形態4.本実施の形態は、2つの計
算機間に渡る分散トランザクション処理システムであ
り、サイトAで端末から受けた注文情報をサイトAの注
文データベース(マスタ)に書き込むとともに、RPC
p1によりサイトBの注文データベース(レプリカ)に
書き込むトランザクションへの適用例である。サイトB
のシステムクラッシュ後、データの整合性がどのように
回復されるかについて、以下、図面を参照しながら本実
施の形態を説明する。
【0067】図15は本発明に係る実施の形態4の分散
トランザクション処理システムの構成を示すブロック図
である。図14において、図4、11と同一符号は同一
又は相当部分を示し、31は障害発生時に相手のサイト
Aのトランザクション21からのコミット/ロールバッ
ク決定待ちだったサイトBのトランザクション22を、
ひとまずローカルなヒューリスティック決定でコミット
/ロールバックするヒューリスティック決定機構であ
り、32はプリペア・ログだけあって、コミット・ログ
もロールバック・ログもないトランザクションを回復候
補として抽出する回復候補トランザクション抽出機構で
ある。33、34はヒューリスティック決定によってコ
ミット/ロールバックされたサイトBのトランザクショ
ン22と、相手のサイトAのトランザクション21との
間のデータ整合性が崩れていないかどうかを、障害の復
旧後に確認するデータ整合性確認機構である。本実施の
形態の分散トランザクション処理システムは、ログ採取
機構5と、ヒューリスティック決定機構31と、回復候
補トランザクション抽出機構32と、あるトランザクシ
ョンが回復候補になった場合に、どのトランザクション
を投入すればいいかを示す投入指示情報と、データ整合
性確認機構33、34と、実施の形態3と同様のトラン
ザクション再実行機構23とを有する。
【0068】本実施の形態の分散トランザクション処理
システムは、以上のような構成要素からなり、特にサイ
トBのトランザクション22を起動する側のサイトAの
トランザクション21が2フェイズ・コミットの上でも
コーディネータになり、ヒューリスティック決定機構3
1でのヒューリスティック決定としてロールバックを行
なうもので、データ整合性確認機構33としてヒューリ
スティック・レポートを備えており、トランザクション
再実行機構23による再実行トランザクションとして、
サイトBのトランザクション22そのものを投入するこ
とにより、計算機1、2間に渡る障害の発生後、一時的
にプリペア状態のトランザクションをロールバックし、
後でサイトBのトランザクション22を必要に応じてロ
ーカル・トランザクションとして再投入して計算機1、
2間の整合性を回復するシステムである。実施の形態2
では、整合性確認までを行う場合を説明したが、本実施
の形態の分散トランザクション処理システムでは、整合
性確認を行った後、更に整合性を回復する処理を行うよ
うに構成している。
【0069】次に、図16は図15に示す分散トランザ
クション処理システム上のトランザクション処理フロー
を示すフローチャートである。ここでは、RPCを用い
て2つのサイトA、Bで各々のデータベース3、4を同
期的に更新するトランザクションの処理内容を示してい
る。サイトA側のトランザクション21は、端末9から
入力される注文情報を受信すると(ステップS81)、
実施の形態1と同じ採番を行ってその採番で注文番号を
採取し(ステップS82)、この採取した注文番号をキ
ーとしてサイトA側の注文データベース3に注文情報を
挿入する(ステップS83)。
【0070】サイトA側のトランザクション21は、サ
イトAの注文データベース3に挿入した注文番号(Ke
y)と注文情報(Data)を引数としてサイトBのト
ランザクション22へRPCを行う(ステップS8
4)。サイトB側のトランザクション22は、サイトA
側のトランザクション21から転送されるサイトA側と
同じ注文番号をキーとしてサイトB側の注文データベー
ス4に注文情報を挿入し(ステップS85)、呼び出し
元のサイトA側のトランザクション21へ制御を戻す
(ステップS86)。
【0071】このように、サイトA側のトランザクショ
ン21は、採番を行った注文番号と注文情報で更新を行
い、この更新を行った注文番号と注文情報をサイトB側
のトランザクション22へ送信する。サイトB側のトラ
ンザクション22は、トランザクション21から送信さ
れる注文番号と注文情報で更新を行う。サイトA側のト
ランザクション21は、RPC終了後、サイトB側のト
ランザクション22へプリペア要求情報を送信し(ステ
ップS87)、サイトB側のトランザクション22は、
トランザクション21から送信されるプリペア要求情報
を受信すると、プリペアを行い、サイトA側のトランザ
クション21へプリペア完了情報を送信する(ステップ
S88)。
【0072】サイトA側のトランザクション21は、ト
ランザクション22から送信されるプリペア完了情報を
受信すると、コミットを行い、サイトB側のトランザク
ション22へコミット要求情報を送信するとともに(ス
テップS87)、端末9へコミットを行った結果を送信
する(ステップS89)。サイトB側のトランザクショ
ン22は、トランザクション21から送信されるコミッ
ト要求情報を受信すると、コミットを行う(ステップS
88)。
【0073】次に、図17、18は図15に示す分散ト
ランザクション処理システムにより引き起こされる通信
とデータベースの変更の様子を示すシーケンス図であ
る。図17、18では、両サイトのデータの整合性が維
持される様子を示しており、図17では、親のサイトA
がロールバックした場合に両サイト共ロールバックする
様子を示しており、図18では、親のサイトAがコミッ
トした場合に両サイト共コミットする様子を示してい
る。図17に示すように、サイトA、Bのトランザクシ
ョン21、22は、端末9から入力される注文情報に対
して注文レコード10、11を作成し、作成した注文レ
コード10、11を各注文データベース3、4に挿入処
理する。
【0074】各注文データベース3、4の構造は、図1
5に示した通りである。まず、サイトAのコーディネー
タ側がロールバックされ両サイトA、Bがロールバック
されて整合性が維持される場合を図17を用いて説明
し、次に、サイトAのコーディネータ側がコミットされ
両サイトA、Bがコミットされて整合性が維持される場
合を図18を用いて説明する。
【0075】サイトA側の計算機1は、端末9から送信
される入力情報’AAA’に対して、実施の形態1の採
番機構を用いて注文番号’101’を採番する。この採
番を行った注文番号’101’をキーとし、端末9から
送信される入力情報’AAA’を内容とする注文レコー
ド10を作成して注文データベース3に書き出す。
【0076】次に、サイトA側の計算機1は、サイトB
側の計算機2に対して、手続きp18をRPCする。こ
の時、サイトBの計算機2には、サイトA側の計算機1
から手続きを行うためのパラメータ、即ちサイトA側で
採番を行った注文番号(Key)の’101’と、注文
情報(Data)の’AAA’が送信される。
【0077】サイトB側の計算機2は、サイトA側の計
算機1から送信される注文番号と注文情報のパラメータ
を受信すると、この注文番号と注文情報のパラメータに
従って注文レコード11を作成し、注文データベース4
に書き出し、制御をサイトA側の計算機1に戻す。サイ
トA側の計算機1は、コミット処理を行なうためにサイ
トB側の計算機2へプリペア要求情報を送信する。
【0078】サイトB側の計算機2は、サイトA側の計
算機1から送信されるプリペア要求情報を受信すると、
サイトBのログ採取機構6によりグローバル・トランザ
クションID(GTID)と、受信情報としてRPCの
パラメータを含めてプリペア・ログを採取する。プリペ
ア・ログの内容には、図19に示すように、グローバル
・トランザクションIDを示すGTIDと、プリペア・
ログを示すフラグを示すPと、RPC手続き名と、RP
CパラメータのKey(注文番号;注文データベースの
キー)と、Data(注文情報)とが含まれる。
【0079】サイトB側の計算機2は、このプリペア・
ログ採取後、図17に示すように、レディー(準備完
了)情報をサイトAの計算機1へ送信しないうちにシス
テム・クラッシュしたとする。サイトB側の計算機2
は、プリペア・ログ採取後、サイトA側の計算機1から
コミットまたはロールバックの指示が来るのを待つ状態
になっており、コミットしていいのか、あるいはロール
バックしていいのかを自分で決めることができない。サ
イトB側の計算機2は、コミット/ロールバックの指示
が来るのを待っている時にシステム・クラッシュしたと
する。
【0080】サイトA側の計算機1は、サイトB側の計
算機2からレディー情報が送信されないため、タイムア
ウトを起こし、トランザクション21がロールバックさ
れる。即ち、注文データベース3への注文レコード10
のレコード書き出しは、取り消さ、注文データベース3
は、元に戻る。一方、サイトBでは、障害原因解決後、
システムの再起動が行われる。この例では、障害発生時
にプリペア状態だったトランザクションは、ヒューリス
ティック決定機構31によりロールバックされるものと
する。
【0081】まず、回復候補トランザクション抽出機構
32は、プリペア・ログだけあって、コミットもロール
バックもされていないトランザクションのプリペア・ロ
グを回復候補として抽出する。この時、グローバル・ト
ランザクションGTID=iの手続きp18のプリペア
・ログが該当するので抽出される。
【0082】次に、サイトAとの通信路が復旧した後、
ヒューリスティック・レポートによるサイトAのデータ
整合性確認機構33とサイトBのデータ整合性確認機構
34が交信して、グローバル・トランザクションGTI
D=iの親トランザクション21の状態を確認する。こ
の場合、上述した通り親もロールバックされているの
で、再投入は行われず、サイトA、サイトB共ロールバ
ックされた状態なので、データの整合性が維持される。
【0083】同じ例で、今度は図18に示す通り、サイ
トB側の計算機2は、システム・クラッシュがレディー
通知を送った直後に起こったとする。サイトA側の計算
機1では、計算機2からレディー通知が来るため、コミ
ットを実行し、’101’のレコード10ができる。そ
の後、サイトA側の計算機1は、サイトB側の計算機2
へコミット要求情報を送信するが、サイトB側の計算機
2は、クラッシュしているので、このコミット要求は無
視される。
【0084】一方、サイトB側の計算機2では、障害原
因解決後、システムの再起動が行われる。図17の場合
と同様、プリペア状態のトランザクションは、ヒューリ
スティック決定機構31によりロールバックされ、回復
候補トランザクション抽出機構32により、手続きp1
8のプリペア・ログが抽出される。
【0085】次に、サイトAとの通信路が復旧した後、
サイトB側の計算機2は、ヒューリスティック・レポー
トによりサイトAのデータ整合性確認機構33とサイト
Bのデータ整合性確認機構34が更新して、グローバル
・トランザクションGTID=iの親トランザクション
21の状態を確認する。今度は、上述した通り親のトラ
ンザクション21は、コミットされているので、手続き
p18がトランザクション再実行機構23によりローカ
ルトランザクションとして再投入される。手続きp18
は、パラメータに従ってレコードを書き出すので、キ
ー’0101’、データ’AAA’のレコードができ
る。これで両サイト共同じレコードができて整合性が維
持される。このように、本実施の形態では、プリペア状
態のデータがロールバックされ、回復候補トランザクシ
ョン抽出機構32によりトランザクションをログから洗
い出し、再度投入するための情報を洗い出す。ヒューリ
スティック・レポートによる整合性確認機構33、34
により整合性確認を行い、整合性が一致している場合、
再起動を行わず、一方、整合性が一致していない場合、
再起動を行う。このため、整合性は、整合性が崩れてい
れば再投入するので、維持することができる。
【0086】次に、図20は図17、18に示す整合性
の確認と再投入の処理フローを示すフローチャートであ
る。回復候補トランザクション抽出機構32は、再投入
候補トランザクションの中で未処置のものがあるかを判
定し、未処置のものがある場合(ステップS91)、そ
の処置対象のトランザクションをTとし(ステップS9
2)、一方、未処置のものがない場合(ステップS9
1)、ループを抜けて処理を終了する。データ整合性確
認機構33、34は、トランザクションTに対してグロ
ーバル・トランザクションGTIDとヒューリスティッ
ク・レポートにより整合性が維持されているかを検査し
(ステップS93)、整合性が崩れている場合(ステッ
プS94)、トランザクションTのRPC名とパラメー
タを設定する(ステップS95)。
【0087】データ整合性確認機構33、34は、整合
性が崩れていない場合(ステップS94)、トランザク
ションTを処地済みとして次のトランザクションのステ
ップS91へ戻る(ステップS96)。サイトA側のト
ランザクション21は、RPC名とパラメータ設定後、
サイトBのトランザクション22のRPCを呼び出し
(ステップS97)、サイトB側のトランザクション2
2は、サイトAからRPCの要求があると、各RPCの
処理を行い(ステップS98)、呼び出し元のサイトA
のトランザクション21へ制御を戻す(ステップS9
9)。サイトAのトランザクション21は、前述したサ
イトBのトランザクション22のRPCの呼び出しを行
うとともに、サイトBのトランザクション22へコミッ
ト要求を行う(ステップS100)。サイトBのトラン
ザクション22は、サイトAからコミット要求を受ける
と、ローカルなコミット処理を行う(ステップS10
1)。
【0088】このように、本実施の形態では、サイトB
のトランザクション22を起動する側の親のサイトAの
トランザクション21が2フェイズ・コミット上でコー
ディネータになり、ヒューリスティック決定機構31で
のヒューリスティック決定としてロールバックを行なう
もので、データ整合性確認機構33、34としてヒュー
リスティック・レポートを備えており、トランザクショ
ン再実行機構23による再実行トランザクションとし
て、元の子トランザクションそのものを投入することに
より、計算機1、2間に渡る障害の発生後、一時的にプ
リペア状態のトランザクションをロールバックし、後で
子トランザクションを必要に応じてローカル・トランザ
クションとして再投入して計算機1、2間の整合性を回
復するように構成している。このため、システム・クラ
ッシュ後どのような場合も両サイトの整合性を維持する
ことができる。
【0089】本実施の形態では、複数の計算機1、2か
らなる分散システムでトランザクション処理を行なう場
合のうち、特に以下の(1)、(2)、(3)に該当す
る場合に、計算機1、2間に渡る障害発生時にシステム
が排他制御によってロックされることを回避しつつ、障
害復旧後にデータの整合性を回復する手段を提供するこ
とで、システムの可用性を高め運用を単純化しつつ、シ
ステムの信頼性を高めることができる。 (1)子トランザクション21(起動される側)が2フ
ェイズ・コミットの上でコーディネータになる、(2)
結果が不明(in−doubt)のトランザクション
は、ヒューリスティック決定としてコミットを行なう方
が好ましい、(3)データ整合性確認機構33、34と
してヒューリスティック・レポートを備えている。
【0090】なお、上記実施の形態4の分散トランザク
ション処理システムにおいて、実施の形態4で用いたデ
ータ整合性確認機構を実施の形態2で用いたデータ整合
性確認機構に変更して構成してもよい。その他の構成
は、実施の形態4と同じにする。この構成の場合も、ヒ
ューリスティック・レポートを備えていないシステムで
実施の形態4と同様の効果を得ることができる。
【0091】実施の形態5.本実施の形態は、業務内容
とデータベース構成、ヒューリスティック決定がロール
バックであることは上記実施例4と同じであるが、コー
ディネータが起動する側の親トランザクション21では
なく、起動される側の子トランザクション22である例
である。
【0092】図21は本発明に係る実施の形態4の分散
トランザクション処理システムの構成を示すブロック図
である。図21において、図15と同一符号は同一又は
相当部分を示す。実施の形態4では、トランザクション
再実行機構23と、ヒューリスティック決定機構31
と、回復候補トランザクション抽出機構32をサイトB
側の計算機2に設けた場合を説明したが、本実施の形態
では、トランザクション再実行機構23と、ヒューリス
ティック決定機構31と、回復候補トランザクション抽
出機構32をサイトA側の計算機1に設けて構成してい
る。
【0093】本実施の形態の分散トランザクション処理
システムは、特にサイトAのトランザクション21によ
って起動される側のサイトBのトランザクション22が
2フェイズ・コミットの上でコーディネータになり、ヒ
ューリスティック決定機構31でのヒューリスティック
決定としてロールバックを行なうもので、データ整合性
確認機構33としてヒューリスティック・レポートを備
えており、トランザクション再実行機構23による再実
行トランザクションとして、サイトAのトランザクショ
ン21そのものを投入することにより、計算機1、2間
に渡る障害の発生後、一時的にプリペア状態のトランザ
クションをロールバックし、後でサイトAのトランザク
ション21を必要に応じてローカル・トランザクション
として再投入して計算機1、2間の整合性を回復するシ
ステムである。
【0094】次に、図22は図21に示す分散トランザ
クション処理システム上のトランザクション処理フロー
を示すフローチャートである。実施の形態4の図16と
異なり、コーディネータは、起動されたRPC側であ
る。ここでは、RPCを用いて2つのサイトA、Bで各
々のデータベース3、4を同期的に更新するトランザク
ションの処理内容を示している。サイトA側のトランザ
クション21は、端末9から入力される注文情報を受信
すると(ステップS111)、実施の形態1と同じ採番
を行ってその採番で注文番号を採取し(ステップS11
2)、この採取した注文番号をキーとしてサイトA側の
注文データベース3に注文情報を挿入する(ステップS
113)。
【0095】サイトA側のトランザクション21は、サ
イトAの注文データベース3に挿入した注文番号(Ke
y)と注文情報(Data)を引数としてサイトBのト
ランザクション22へRPCを行う(ステップS11
4)。サイトB側のトランザクション22は、サイトA
側のトランザクション21から転送されるサイトA側と
同じ注文番号をキーとしてサイトB側の注文データベー
ス4に注文情報を挿入し(ステップS115)、呼び出
し元のサイトA側のトランザクション21へ制御を戻す
(ステップS116)。
【0096】このように、サイトA側のトランザクショ
ン21は、採番を行った注文番号と注文情報で更新を行
い、この更新を行った注文番号と注文情報をサイトB側
のトランザクション22へ送信する。サイトB側のトラ
ンザクション22は、トランザクション21から送信さ
れる注文番号と注文情報で更新を行う。サイトA側のト
ランザクション21は、RPC終了後、トランザクショ
ン終了情報をサイトB側のトランザクション22へ送信
する(ステップS117)。
【0097】コーディネータとなるサイトB側のトラン
ザクション22は、トランザクション21から送信され
るトランザクション終了情報を受信すると(ステップS
118)、サイトA側のトランザクション21へプリペ
ア要求情報を送信し(ステップS119)、サイトA側
のトランザクション21は、トランザクション22から
送信されるプリペア要求情報を受信すると、プリペアを
行い、サイトB側のトランザクション22へプリペア完
了情報を送信する(ステップS120)。
【0098】サイトB側のトランザクション22は、ト
ランザクション21から送信されるプリペア完了情報を
受信すると、コミットを行い、サイトA側のトランザク
ション21へコミット要求情報を送信する(ステップS
119)。サイトA側のトランザクション21は、トラ
ンザクション22から送信されるコミット要求情報を受
信すると、コミットを行い(ステップS120)、その
結果を端末9へ送信する(ステップS121)。
【0099】次に、図23は図21に示す分散トランザ
クション処理システムのサイトAとサイトBのデータの
整合性が両サイトA、B共コミットされて維持されるて
いる様子を示すシーケンス図である。サイトAのトラン
ザクション21がサイトBの手続きp23をRPCする
ところまでは、実施の形態4と同様とする。この後、サ
イトB側のトランザクション22は、RPC処理の終了
に伴って制御を呼び出し元のサイトAのトランザクショ
ン21へ戻し、その後、サイトAのトランザクション2
1から送信されるトランザクション終了情報を受信する
と、プリペア要求情報をサイトAのトランザクション2
1へ送信する。
【0100】サイトAのトランザクション21は、レデ
ィー通知をサイトBのトランザクション22へ返し、サ
イトBのトランザクション22は、ローカル・コミット
を実行した直後、コミット指示をサイトAのトランザク
ション21へ返す前にサイトBの計算機2がシステム・
クラッシュしたとする。
【0101】サイトA側のトランザクション21は、サ
イトB側のトランザクション22からコミット指示が来
ないため、サイトBのコミット指示待ちがタイムアウト
した後、ヒューリスティック決定機構31によりロール
バックされる。サイトAのトランザクション21は、回
復候補トランザクション抽出機構32により回復候補と
して保持される。
【0102】一方、サイトBでは、障害原因解決後、シ
ステムの再起動が行われる。この後、サイトAとサイト
Bとの通信路が復旧した後、ヒューリスティック・レポ
ートによるサイトA、Bの整合性確認機構33、34に
よりサイトAのトランザクション21の状態を確認す
る。この場合、上述の通り、サイトBのトランザクショ
ン22は、コミットされているのにサイトAではロール
バックされているので、不整合が発生しており、トラン
ザクション再実行機構23によりトランザクション21
が実行される。この際、後述する図24のフローに示す
ように、サイトAのトランザクション21は、ローカル
なトランザクションとして実行される。以上の手順によ
り、本実施の形態では、システム・クラッシュ後も両サ
イトA、Bの整合性を維持することができる。
【0103】図24は図21に示す分散トランザクショ
ン処理システムのサイトAのトランザクションの再実行
処理フローを示すフローチャートである。サイトAのト
ランザクション21は、端末9から送信される注文情報
を受信すると(ステップS131)、その注文情報を基
に採番を行い(ステップS132)、採番を行った注文
情報をキーとしてサイトAの注文データベースに注文情
報を挿入する(ステップS133)。
【0104】サイトAのトランザクション21は、採番
を行った注文番号と注文情報を引数としてサイトBのト
ランザクション22へRPCする。この時、サイトAの
サイトBへの呼び出しは、NOPとし、RPCの結果
は、ログから入力する。その後、サイトAのトランザク
ション21は、トランザクション終了情報をサイトAの
トランザクション21へ送信し(ステップS13
5)、、ローカル・トランザクションとしてコミットし
た後(ステップS136)、端末9への結果送信をNO
Pにする(ステップS137)。
【0105】このように、本実施の形態では、複数の計
算機1、2からなる分散システムでトランザクション処
理を行なう場合のうち、特に以下の(1)、(2)、
(3)に該当する場合に、計算機1、2間に渡る障害発
生時にシステムが排他制御によってロックされることを
回避しつつ、障害復旧後にデータの整合性を回復する手
段を提供することで、システムの可用性を高め運用を単
純化しつつ、システムの信頼性を高めることができる。 (1)サイトAの親トランザクション21により起動さ
れるサイトBの子トランザクション22が2フェイズ・
コミットの上でコーディネータになる、(2)結果が不
明(in−doubt)のトランザクションは、ヒュー
リスティック決定としてロールバックを行なう方が好ま
しい、(3)データ整合性確認機構33、34としてヒ
ューリスティック・レポートを備えている。
【0106】なお、上記実施の形態5の分散トランザク
ション処理システムにおいて、実施の形態5で用いたデ
ータ整合性確認機構を実施の形態2で用いたデータ整合
性確認機構に変更して構成してもよい。その他の構成
は、実施の形態5と同じにする。この構成の場合も、ヒ
ューリスティック・レポートを備えていないシステムで
実施の形態5と同様の効果を得ることができる。
【0107】実施の形態6.本実施の形態は、業務内容
とデータベース構成は、上記実施の形態4と同じである
が、障害発生時にプリペア状態だったトランザクション
は、実施の形態4とは逆に、ヒューリスティック決定に
よりひとまずコミットされる例である。図25は本発明
に係る実施の形態6の分散トランザクション処理システ
ムの構成を示すブロック図である。図25において、図
15、21と同一符号は同一又は相当部分を示す。本実
施の形態では、実施の形態4の構成に更にサイトB側に
投入指示情報が追加されている。
【0108】本実施の形態の分散トランザクション処理
システムは、特にサイトBのトランザクション22を起
動する側のサイトAのトランザクション21が2フェイ
ズ・コミットの上でコーディネータになり、ヒューリス
ティック決定機構31でのヒューリスティック決定とし
てコミットを行なうもので、データ整合性確認機構3
3、34としてヒューリスティック・レポートを備えて
おり、トランザクション再実行機構23として実施の形
態3と同じものを備え、元のサイトBのトランザクショ
ン22に対応した回復用トランザクションを投入するこ
とにより、計算機1、2間に渡る障害の発生後、一時的
にプリペア状態のトランザクションをコミットし、後で
回復用トランザクションを必要に応じてローカル・トラ
ンザクションとして再投入して計算機1、2間の整合性
を回復するシステムである。本実施の形態の分散トラン
ザクション処理システム上のトランザクション処理フロ
ーは、実施の形態4の図16と同様である。本実施の形
態では、更に図27に示すキャンセル・トランザクショ
ンq27を設ける。また、実施の形態4の構成に加え
て、図27に示す投入指示情報を用いる。
【0109】図26は図25に示す分散トランザクショ
ン処理システムの取り消し手続きフローを示すフローチ
ャートである。サイトBのトランザクション22は、K
eyをキーとして注文データベース4のレコードを削除
した後(ステップS141)、コミットする(ステップ
S142)。投入指示情報には、図27に示すように、
元のトランザクション名(RPC名)と、投入トランザ
クション名/RPC名(パラメータ)と、パラメータの
対応の情報が書かれている。
【0110】次に、図28は図25に示す分散トランザ
クション処理システムのサイトAとサイトBのデータの
整合性が維持される様子を示すシーケンス図である。こ
こでは、両サイトA、Bがロールバックされる場合を説
明する。サイトAのトランザクション21がサイトBの
手続きp18をRPCし、その後サイトBでプリペア・
ログが採られるところまでは、実施の形態4と同様とす
る。この直後、図28に示すように、サイトBのトラン
ザクション22がレディー(準備完了)通知をサイトA
のトランザクション21へ送信しないうちにサイトBの
計算機2がシステム・クラッシュしたとする。サイトA
のトランザクション21がロールバックされるのは、実
施の形態4と同様である。
【0111】一方、サイトBでは障害原因解決後、シス
テムの再起動が行われる。この例では、実施の形態4と
は逆に、障害発生時にプリペア状態だったトランザクシ
ョンは、ヒューリスティック決定機構31によりコミッ
トされるものとする。まず、実施の形態4と同様、回復
候補トランザクション抽出機構32により手続きp1の
プリペア・ログが抽出される。
【0112】次に、サイトAとの通信路が復旧した後、
ヒューリスティック・レポートを得て、トランザクショ
ン再実行機構23が、GTID=iの親トランザクショ
ンの状態を確認する。この場合、上述の通りサイトAの
親トランザクション21は、ロールバックされているの
に、サイトBでは、コミットしてしまったので、不整合
である。JBの投入指示情報には、図27に示すよう
に、p18のRPC名に対するキャンセル・トランザク
ションq27及びキャンセル・トランザクションq27
のパラメータとRPC名のp18のパラメータの関係が
定義してある。トランザクション再実行機構23は、こ
れにより、キャンセル・トランザクションq27の投入
を行う。キャンセル・トランザクションq27は、RP
C名p18のパラメータを流用して、p18が行った処
理をキャンセルする。この場合、キー’0101’のレ
コードを削除する。これで両サイトA、B共キー’01
01’のレコードはない状態なので、データの整合性が
維持される。
【0113】コーディネータとなるサイトAのトランザ
クション22がコミット後にシステム・クラッシュが起
こった場合は、整合性確認の結果、両サイトA、Bの整
合性は、崩れていないことが判るので、キャンセル・ト
ランザクションq27の投入は行われない。以上の手順
により、本実施の形態では、システム・クラッシュ後も
両サイトの整合性を維持することができる。
【0114】このように、本実施の形態では、複数の計
算機1、2からなる分散システムでトランザクション処
理を行なう場合のうち、特に以下の(1)、(2)、
(3)に該当する場合に、計算機1、2間に渡る障害発
生時にシステムが排他制御によってロックされることを
回避しつつ、障害復旧後にデータの整合性を回復する手
段を提供することで、システムの可用性を高め運用を単
純化しつつ、システムの信頼性を高めることができる。 (1)サイトBのトランザクション22を起動する側の
サイトAのトランザクション21が2フェイズ・コミッ
トの上でもコーディネータになる、(2)結果が不明
(in−doubt)のトランザクションは、ヒューリ
スティック決定としてコミットを行なう方が好ましい、
(3)データ整合性確認機構33、34としてヒューリ
スティック・レポートを備えている。
【0115】なお、上記実施の形態6の分散トランザク
ション処理システムにおいて、実施の形態6で用いたデ
ータ整合性確認機構を実施の形態2で用いたデータ整合
性確認機構に変更して構成してもよい。その他の構成
は、実施の形態6と同じにする。この例では、整合性確
認のための判断定義と、回復用トランザクションの定義
を、図29に示すように、統合することができる。この
構成の場合も、ヒューリスティック・レポートを備えて
いないシステムで実施の形態6と同様の効果を得ること
ができる。
【0116】実施の形態7.本実施の形態は、業務内容
とデータベース構成は、上記実施の形態5と同じであ
り、ヒューリスティック決定での処置がコミットで、コ
ーディネータがサイトAのトランザクション21により
起動されるサイトBのトランザクション22である例で
ある。本実施の形態の分散トランザクション処理システ
ムの構成は、実施の形態5の図25に示す構成と同様で
ある。
【0117】本実施の形態の分散トランザクション処理
システムは、特にサイトAのトランザクション21によ
り起動される側のサイトBのトランザクション22が2
フェイズ・コミットの上でコーディネータになり、ヒュ
ーリスティック決定機構31でのヒューリスティック決
定としてコミットを行なうもので、データ整合性確認機
構33、34としてヒューリスティック・レポートを備
えており、トランザクション再実行機構23として実施
の形態3と同じものを備え、元のサイトAのトランザク
ション21に対応した回復用トランザクションを投入す
ることにより、計算機1、2間に渡る障害の発生後、一
時的にプリペア状態のトランザクションをコミットし、
後で回復用トランザクションを必要に応じてローカル・
トランザクションとして再投入して、計算機1、2間の
整合性を回復するシステムである。本実施の形態の分散
トランザクション処理システム上のトランザクション処
理フローは、実施の形態5の図22と同様である。本実
施の形態では、更に図30に示すサイトAのトランザク
ション21に対して用いる回復用トランザクションUA
30を設ける。また、実施の形態4の構成に加えて、図
31に示す投入指示情報を用いる。
【0118】図30は本実施の形態の分散トランザクシ
ョン処理システムのサイトAのトランザクションに対し
て用いる回復用トランザクションUA30の処理フロー
を示すフローチャートである。サイトAのトランザクシ
ョン21は、端末9から送信される注文情報を受信する
と(ステップS151)、注文番号のKeyをキーとし
て注文データベース3のレコードを削除した後(ステッ
プS152)、ローカル・コミットする(ステップS1
53)。投入指示情報には、図31に示すように、元の
トランザクション名(RPC名)と、投入トランザクシ
ョン名/RPC名(パラメータ)と、起動情報の対応の
情報が書かれている。
【0119】本実施の形態では、実施の形態6と同様、
サイトAのトランザクション21により整合性が崩れて
いると判断すると、トランザクション再実行機構23
は、図31の投入指示情報を参照してトランザクション
21に対応する回復用トランザクションUA30を投入
する。回復用トランザクションUA30は、図30に示
すように、ローカル・トランザクションとして動作して
サイトAのトランザクション21の行った処理を打ち消
す。これにより、本実施の形態では、両サイトA、Bで
のデータ整合性を維持することができる。
【0120】このように、本実施の形態では、複数の計
算機1、2からなる分散システムでトランザクション処
理を行なう場合のうち、特に以下の(1)、(2)、
(3)に該当する場合に、計算機1、2間に渡る障害発
生時にシステムが排他制御によってロックされることを
回避しつつ障害復旧後にデータの整合性を回復する手段
を提供することで、システムの可用性を高め運用を単純
化しつつ、システムの信頼性を高めることができる。 (1)サイトAのトランザクション22により起動され
るサイトBのトランザクション22が2フェイズ・コミ
ットの上でコーディネータになる、(2)結果が不明
(in−doubt)のトランザクションは、ヒューリ
スティック決定としてコミットを行なう方が好ましい、
(3)データ整合性確認機構33、34としてヒューリ
スティック・レポートを備えいる。なお、上記実施の形
態7の分散トランザクション処理システムにおいて、実
施の形態7で用いたデータ整合性確認機構を実施の形態
2で用いたデータ整合性確認機構に変更して構成しても
よい。その他の構成は、実施の形態7と同じにする。こ
の構成の場合も、ヒューリスティック・レポートを備え
ていないシステムで実施の形態7と同様の効果を得るこ
とができる。
【0121】
【図面の簡単な説明】
【図1】 本発明に係る実施の形態1の採番機構のトラ
ンザクション処理フローを示すフローチャートである。
【図2】 本発明に係る実施の形態1の採番機構の処理
フローを示すフローチャートである。
【図3】 本発明に係る実施の形態1の採番機構の採番
の回復処理フローを示すフローチャートである。
【図4】 本発明に係る実施の形態2の分散トランザク
ション処理システムの構成を示すブロック図である。
【図5】 図4に示す分散トランザクション処理システ
ムのトランザクション処理フロー示すフローチャートで
ある。
【図6】 図4に示す分散トランザクション処理システ
ムのサイトAとサイトBのデータの整合性が確認される
様子を示すシーケンス図である。
【図7】 図4に示す分散トランザクション処理システ
ムのサイトAとサイトBのデータの整合性が確認される
様子を示すシーケンス図である。
【図8】 図4に示す分散トランザクション処理システ
ムで採取されるログの内容を示す図である。
【図9】 図4に示す分散トランザクション処理システ
ムの整合性確認機構が突き合わせるべき情報の所在を識
別するのに用いる整合性判断定義情報を示す図である。
【図10】 図4に示す分散トランザクション処理シス
テムの整合性確認機構の処理フローを示すフローチャー
トである。
【図11】 本発明に係る実施の形態3の分散トランザ
クション処理システムの通常実行時の構成を示すブロッ
ク図である。
【図12】 本発明に係る実施の形態3の分散トランザ
クション処理システムの再実行時の構成を示すブロック
図である。
【図13】 図11に示す分散トランザクション処理シ
ステムのサイトA、Bのトランザクションの通常実行時
での処理フローを示すフローチャートである。
【図14】 図12に示す分散トランザクション処理シ
ステムのサイトAでのローカル再実行処理フローを示す
フローチャートである。
【図15】 本発明に係る実施の形態4の分散トランザ
クション処理システムの構成を示すブロック図である。
【図16】 図15に示す分散トランザクション処理シ
ステム上のトランザクション処理フローを示すフローチ
ャートである。
【図17】 図15に示す分散トランザクション処理シ
ステムにより引き起こされる通信とデータベースの変更
の様子を示すシーケンス図である。
【図18】 図15に示す分散トランザクション処理シ
ステムにより引き起こされる通信とデータベースの変更
の様子を示すシーケンス図である。
【図19】 図15に示す分散トランザクション処理シ
ステムにより採取されるプリペア・ログの内容を示す図
である。
【図20】 図17、18に示す整合性の確認と再投入
の処理フローを示すフローチャートである。
【図21】 本発明に係る実施の形態4の分散トランザ
クション処理システムの構成を示すブロック図である。
【図22】 図21に示す分散トランザクション処理シ
ステム上のトランザクション処理フローを示すフローチ
ャートである。
【図23】 図21に示す分散トランザクション処理シ
ステムのサイトA、Bのデータ整合性が両サイト共コミ
ットされて維持されている様子を示すシーケンス図であ
る。
【図24】 図21に示す分散トランザクション処理シ
ステムのサイトAのトランザクションの再実行処理フロ
ーを示すフローチャートである。
【図25】 本発明に係る実施の形態6の分散トランザ
クション処理システムの構成を示すブロック図である。
【図26】 図25に示す分散トランザクション処理シ
ステムの取り消し手続きフローを示すフローチャートで
ある。
【図27】 図25に示す分散トランザクション処理シ
ステムに使用される投入指示情報を示す図である。
【図28】 図25に示す分散トランザクション処理シ
ステムの両サイトA、Bのデータ整合性が維持される様
子を示すシーケンス図である。
【図29】 整合性判断定義とマージされた投入指示情
報の内容を示す図である。
【図30】 本発明に係る実施の形態7の分散トランザ
クション処理システムのサイトAのトランザクションに
対して用いる回復用トランザクションの処理フローを示
すフローチャートである。
【図31】 本発明に係る実施の形態7の分散トランザ
クション処理システムに用いられる投入指示情報の内容
を示す図である。
【図32】 従来の分散トランザクション処理システム
の構成を示すブロック図である。
【図33】 図32に示す分散トランザクション処理シ
ステム上のサイトAのトランザクション処理フローを示
すフローチャートである。
【図34】 図32に示す分散トランザクション処理シ
ステムによりサイトAとサイトBのデータ不整合が検出
される様子を示す図である。
【図35】 従来の方法でユーザの通番自体がロールバ
ックされると整合性の検出ができなくなる様子を示す図
である。
【符号の説明】
1、2 計算機、3、4 注文データベース、5、6
ログ採取機構、7 採番機構、8 アプリケーション、
9 端末、10、11 注文レコード、21、22 ト
ランザクション、23 トランザクション再実行機構、
24、25 管理端末、26 プリンタ、31 ヒュー
リスティック決定機構、32 回復候補トランザクショ
ン抽出機構、33、34 データ整合性確認機構。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 順序番号をメモリとファイルに保持し、
    業務プログラムからの採番命令呼び出しによりメモリ上
    の順序番号をカウント・アップして業務プログラムに返
    し、計算機全体で既定値または定義により与えられた回
    数N回に一度は最新の順序番号を不揮発性媒体上のファ
    イルに書き出し、トランザクションのロールバックで戻
    されず、かつ採番後コミットまでの間ロックされること
    がない採番のプログラムインタフェース機構と、メモリ
    の情報が失われるシステム障害の発生後はファイルに残
    った順序番号+N以上の順序番号を復元することによ
    り、仮に障害が発生しても、業務プログラムに最後に返
    した順序番号より大きい順序番号から採番を再開させる
    採番回復機構とを有することを特徴とする採番機構。
  2. 【請求項2】 分散トランザクション処理において、コ
    ーディネータとなるトランザクションの分散ノードに設
    けた請求項1の採番機構による通番をキーとするレコー
    ドを書き込むデータベースと、サブオーディネートとな
    る分散ノードに設けた同通番を遅くともプリペア・ログ
    と同時にログに書き込むログ採取機構と、データ整合性
    確認の際に突き合わせるべきデータの所在、判断方法を
    指定した整合性判断定義と、障害時のヒューリスティッ
    ク決定によるデータ不整合を、インダウトのプリペア・
    ログはあるがコーディネータの指示によるコミット/ロ
    ールバックがされていないトランザクションに対して、
    ログ中の通番に対応したレコードがあるかを整合性判断
    定義情報に従って突き合わせることにより検出するデー
    タ不整合検出機構とを有することを特徴とするデータ整
    合性確認機構。
  3. 【請求項3】 分散トランザクション処理の1分散ノー
    ドであるプログラムを、通常実行時には、受信処理及び
    請求項1による採番処理は回復用ログに採取しつつ実行
    し、再実行時には、そのプログラムまたはそれに対応す
    る回復用プログラムを、元のトランザクションID付き
    でローカルなトランザクションとして再投入して、プロ
    グラムの受信処理以外の通信処理をNOP化し、受信処
    理及び請求項1による採番処理は、通常実行時にはログ
    に書き出し、トランザクションIDに基づいてはログか
    らの読み出しにより再現し、トランザクションとしては
    ローカルトランザクションとして処理するプログラムイ
    ンタフェース機構を有することを特徴とするトランザク
    ション再実行機構。
  4. 【請求項4】 以下のa)〜f)に示す構成要素からな
    り、子トランザクションを起動する側の親トランザクシ
    ョンが2フェイズ・コミット上でコーディネータにな
    り、b)でのヒューリスティック決定としてロールバッ
    クを行なうもので、e)のデータ整合性確認機構として
    ヒューリスティック・レポートを備えており、f)のト
    ランザクション再実行機構による再実行トランザクショ
    ンとして、元の子トランザクションそのものを投入する
    ことにより、計算機間に渡る障害の発生後一時的にプリ
    ペア状態のトランザクションをロールバックし、後で子
    トランザクションを必要に応じてローカル・トランザク
    ションとして再投入して計算機間の整合性を回復するこ
    とを特徴とする分散トランザクション処理システム。 a)ログ採取機構、 b)障害発生時に相手トランザクションからのコミット
    /ロールバック決定待ちのトランザクションを、ローカ
    ルなヒューリスティック決定でコミット/ロールバック
    するヒューリスティック決定機構、 c)プリペア・ログのみあって、コミット・ログ及びロ
    ールバック・ログがないトランザクションを回復候補と
    して抽出する回復候補トランザクション抽出機構、 d)あるトランザクションが回復候補になった場合に、
    どのトランザクションを投入すればいいかを示す投入指
    示情報、 e)ヒューリスティック決定によってコミット/ロール
    バックされたトランザクションと、相手トランザクショ
    ンとの間のデータ整合性が崩れていないかどうかを、障
    害の復旧後に確認するデータ整合性確認機構、 f)請求項3のトランザクション再実行機構。
  5. 【請求項5】 請求項4のa)〜f)に示す構成要素か
    らなり、子トランザクションが2フェイズ・コミット上
    でコーディネータになり、b)でのヒューリスティック
    決定としてロールバックを行なうもので、e)のデータ
    整合性確認機構としてヒューリスティック・レポートを
    備えており、f)のトランザクション再実行機構による
    再実行トランザクションとして、元の親トランザクショ
    ンそのものを投入することにより、計算機間に渡る障害
    の発生後一時的にプリペア状態のトランザクションをロ
    ールバックし、後で親トランザクションを必要に応じて
    ローカル・トランザクションとして再投入して計算機間
    の整合性を回復することを特徴とする分散トランザクシ
    ョン処理システム。
  6. 【請求項6】 請求項4のa)〜f)に示す構成要素か
    らなり、子トランザクションを起動する側の親トランザ
    クションが2フェイズ・コミット上でコーディネータに
    なり、b)でのヒューリスティック決定としてコミット
    を行なうもので、e)のデータ整合性確認機構としてヒ
    ューリスティック・レポートを備えており、f)のトラ
    ンザクション再実行機構として請求項3を備え、元の子
    トランザクションに対応した回復用トランザクションを
    投入することにより、計算機間に渡る障害の発生後一時
    的にプリペア状態のトランザクションをコミットし、後
    で回復用トランザクションを必要に応じてローカル・ト
    ランザクションとして再投入して計算機間の整合性を回
    復することを特徴とする分散トランザクション処理シス
    テム。
  7. 【請求項7】 請求項4のa)〜f)に示す構成要素か
    らなり、子トランザクションが2フェイズ・コミット上
    でコーディネータになり、b)でのヒューリスティック
    決定としてコミットを行なうもので、e)のデータ整合
    性確認機構としてヒューリスティック・レポートを備え
    ており、f)のトランザクション再実行機構として請求
    項3を備え、元の親トランザクションに対応した回復用
    トランザクションを投入することにより、計算機間に渡
    る障害の発生後一時的にプリペア状態のトランザクショ
    ンをコミットし、後で回復用トランザクションを必要に
    応じてローカル・トランザクションとして再投入して計
    算機間の整合性を回復することを特徴とする分散トラン
    ザクション処理システム。
  8. 【請求項8】 請求項4の分散トランザクション処理シ
    ステムにおいて、データ整合性確認機構は、請求項4の
    e)のデータ整合性確認機構を請求項2のデータ整合性
    確認機構に変更したものであることを特徴とする分散ト
    ランザクション処理システム。
  9. 【請求項9】 請求項5の分散トランザクション処理シ
    ステムにおいて、データ整合性確認機構は、請求項5の
    e)のデータ整合性確認機構を請求項2のデータ整合性
    確認機構に変更したものであることを特徴とする分散ト
    ランザクション処理システム。
  10. 【請求項10】 請求項6の分散トランザクション処理
    システムにおいて、データ整合性確認機構は、請求項6
    のe)のデータ整合性確認機構を請求項2のデータ整合
    性確認機構に変更したものであることを特徴とする分散
    トランザクション処理システム。
  11. 【請求項11】 請求項7の分散トランザクション処理
    システムにおいて、データ整合性確認機構は、請求項7
    のe)のデータ整合性確認機構を請求項2のデータ整合
    性確認機構に変更したものであることを特徴とする分散
    トランザクション処理システム。
JP08012059A 1996-01-26 1996-01-26 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム Expired - Fee Related JP3094888B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08012059A JP3094888B2 (ja) 1996-01-26 1996-01-26 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08012059A JP3094888B2 (ja) 1996-01-26 1996-01-26 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム

Publications (2)

Publication Number Publication Date
JPH09204341A true JPH09204341A (ja) 1997-08-05
JP3094888B2 JP3094888B2 (ja) 2000-10-03

Family

ID=11795038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08012059A Expired - Fee Related JP3094888B2 (ja) 1996-01-26 1996-01-26 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム

Country Status (1)

Country Link
JP (1) JP3094888B2 (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120017A (ja) * 1997-10-20 1999-04-30 Mitsubishi Electric Corp 自動採番システム、二重系システム、クラスタシステム
JP2005004754A (ja) * 2003-06-10 2005-01-06 Internatl Business Mach Corp <Ibm> ソフトウェア環境において統合トランザクション・マネージャなしでリソース保全性を維持するための装置及び方法
JP2009282790A (ja) * 2008-05-22 2009-12-03 Fujitsu Ltd 分散トランザクションの2相コミットプロトコルにおけるインダウト状態の解決方法
JP2013161200A (ja) * 2012-02-03 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理システムおよびその動作方法
KR20170013319A (ko) * 2014-05-30 2017-02-06 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
JP2018163671A (ja) * 2014-09-10 2018-10-18 アマゾン・テクノロジーズ・インコーポレーテッド 拡張縮小可能なログベーストランザクション管理
US10346434B1 (en) 2015-08-21 2019-07-09 Amazon Technologies, Inc. Partitioned data materialization in journal-based storage systems
US10373247B2 (en) 2014-09-19 2019-08-06 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US10866968B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Compact snapshots of journal-based storage systems
US10866865B1 (en) * 2015-06-29 2020-12-15 Amazon Technologies, Inc. Storage system journal entry redaction
CN112632117A (zh) * 2020-12-30 2021-04-09 广州华多网络科技有限公司 编号数据的处理方法、装置、电子设备及存储介质
US11048669B2 (en) 2015-12-29 2021-06-29 Amazon Technologies, Inc. Replicated state management using journal-based registers
US11308127B2 (en) 2015-03-13 2022-04-19 Amazon Technologies, Inc. Log-based distributed transaction management
US11341115B2 (en) 2014-06-26 2022-05-24 Amazon Technologies, Inc. Multi-database log with multi-item transaction support
US11397709B2 (en) 2014-09-19 2022-07-26 Amazon Technologies, Inc. Automated configuration of log-coordinated storage groups
US11599520B1 (en) 2015-06-29 2023-03-07 Amazon Technologies, Inc. Consistency management using query restrictions in journal-based storage systems
US11609890B1 (en) 2015-06-29 2023-03-21 Amazon Technologies, Inc. Schema management for journal-based storage systems
US11625700B2 (en) 2014-09-19 2023-04-11 Amazon Technologies, Inc. Cross-data-store operations in log-coordinated storage systems
US11960464B2 (en) 2015-08-21 2024-04-16 Amazon Technologies, Inc. Customer-related partitioning of journal-based storage systems

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH058556U (ja) * 1991-07-18 1993-02-05 旭光学工業株式会社 投影装置

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120017A (ja) * 1997-10-20 1999-04-30 Mitsubishi Electric Corp 自動採番システム、二重系システム、クラスタシステム
JP2005004754A (ja) * 2003-06-10 2005-01-06 Internatl Business Mach Corp <Ibm> ソフトウェア環境において統合トランザクション・マネージャなしでリソース保全性を維持するための装置及び方法
US7346905B2 (en) 2003-06-10 2008-03-18 International Business Machines Corporation Apparatus and method for maintaining resource integrity without a unified transaction manager in a software environment
US7448035B2 (en) 2003-06-10 2008-11-04 International Business Machines Corporation Apparatus for maintaining resource integrity without a unified transaction manager in a software environment
JP2009282790A (ja) * 2008-05-22 2009-12-03 Fujitsu Ltd 分散トランザクションの2相コミットプロトコルにおけるインダウト状態の解決方法
US8433676B2 (en) 2008-05-22 2013-04-30 Fujitsu Limited Solution method of in-doubt state in two-phase commit protocol of distributed transaction
JP2013161200A (ja) * 2012-02-03 2013-08-19 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理システムおよびその動作方法
KR20170013319A (ko) * 2014-05-30 2017-02-06 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
US10379977B2 (en) 2014-05-30 2019-08-13 Huawei Technologies Co., Ltd. Data management method, node, and system for database cluster
US10860447B2 (en) 2014-05-30 2020-12-08 Huawei Technologies Co., Ltd. Database cluster architecture based on dual port solid state disk
US11995066B2 (en) 2014-06-26 2024-05-28 Amazon Technologies, Inc. Multi-database log with multi-item transaction support
US11341115B2 (en) 2014-06-26 2022-05-24 Amazon Technologies, Inc. Multi-database log with multi-item transaction support
JP2018163671A (ja) * 2014-09-10 2018-10-18 アマゾン・テクノロジーズ・インコーポレーテッド 拡張縮小可能なログベーストランザクション管理
US10373247B2 (en) 2014-09-19 2019-08-06 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
US11625700B2 (en) 2014-09-19 2023-04-11 Amazon Technologies, Inc. Cross-data-store operations in log-coordinated storage systems
US11397709B2 (en) 2014-09-19 2022-07-26 Amazon Technologies, Inc. Automated configuration of log-coordinated storage groups
US10698767B1 (en) 2014-12-22 2020-06-30 Amazon Technologies, Inc. Decentralized management of multi-service workflows
US11308127B2 (en) 2015-03-13 2022-04-19 Amazon Technologies, Inc. Log-based distributed transaction management
US11860900B2 (en) 2015-03-13 2024-01-02 Amazon Technologies, Inc. Log-based distributed transaction management
US10866865B1 (en) * 2015-06-29 2020-12-15 Amazon Technologies, Inc. Storage system journal entry redaction
US11599520B1 (en) 2015-06-29 2023-03-07 Amazon Technologies, Inc. Consistency management using query restrictions in journal-based storage systems
US11609890B1 (en) 2015-06-29 2023-03-21 Amazon Technologies, Inc. Schema management for journal-based storage systems
US10866968B1 (en) 2015-06-29 2020-12-15 Amazon Technologies, Inc. Compact snapshots of journal-based storage systems
US11960464B2 (en) 2015-08-21 2024-04-16 Amazon Technologies, Inc. Customer-related partitioning of journal-based storage systems
US10346434B1 (en) 2015-08-21 2019-07-09 Amazon Technologies, Inc. Partitioned data materialization in journal-based storage systems
US11048669B2 (en) 2015-12-29 2021-06-29 Amazon Technologies, Inc. Replicated state management using journal-based registers
CN112632117A (zh) * 2020-12-30 2021-04-09 广州华多网络科技有限公司 编号数据的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP3094888B2 (ja) 2000-10-03

Similar Documents

Publication Publication Date Title
JP3094888B2 (ja) 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム
CN108459919B (zh) 一种分布式事务处理方法及装置
US7003694B1 (en) Reliable standby database failover
US10942823B2 (en) Transaction processing system, recovery subsystem and method for operating a recovery subsystem
US7636741B2 (en) Online page restore from a database mirror
US6233585B1 (en) Isolation levels and compensating transactions in an information system
US7549079B2 (en) System and method of configuring a database system with replicated data and automatic failover and recovery
EP0673528B1 (en) A system for taking backup in a data base
CN100435101C (zh) 在软件环境中用于保持资源完整性的装置和方法
US5845082A (en) Distributed system having an improved method and apparatus for checkpoint taking
CN111753013B (zh) 分布式事务处理方法及装置
US9159050B2 (en) Providing atomicity for a unit of work
US6389431B1 (en) Message-efficient client transparency system and method therefor
JPS633341B2 (ja)
KR101278818B1 (ko) 트랜잭션 일관 및 문제 상태
JP2785998B2 (ja) 計算機システム
CN112148436B (zh) 去中心化的tcc事务管理方法、装置、设备及系统
WO1996041263A1 (en) Management of units of work on a computer system log
US6330686B1 (en) Handling protected conversation messages across IMS restart in shared queues environment
US8135686B2 (en) Computer program, computer, and messaging system for returning a data item to a requestor
US5530800A (en) Method for relations recovery of a data base in case of errors
JPH08286964A (ja) 分散トランザクション処理方法
CN114356888A (zh) 事务处理方法及装置、存储介质及电子设备
JP5515286B2 (ja) 分散トランザクション処理システム、サーバ装置及びそれらに用いる分散トランザクションの障害復旧方法
JP3290182B2 (ja) 共用環境におけるデータ・セットのバックアップ方法及び装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees