JPS59111564A - 巡回式2フエ−ズコミツトメント制御方式 - Google Patents

巡回式2フエ−ズコミツトメント制御方式

Info

Publication number
JPS59111564A
JPS59111564A JP57221657A JP22165782A JPS59111564A JP S59111564 A JPS59111564 A JP S59111564A JP 57221657 A JP57221657 A JP 57221657A JP 22165782 A JP22165782 A JP 22165782A JP S59111564 A JPS59111564 A JP S59111564A
Authority
JP
Japan
Prior art keywords
message
commit
slave
commitment
slaves
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
JP57221657A
Other languages
English (en)
Inventor
Yasuo Yamane
康男 山根
Susumu Adachi
安達 進
Masayoshi Tezuka
手塚 正義
Teruo Nakada
中田 輝生
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 JP57221657A priority Critical patent/JPS59111564A/ja
Publication of JPS59111564A publication Critical patent/JPS59111564A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (8)発明の技術分野 本発明は巡回式2フ工−ズコミツトメント制御方式、特
に分散データベースの処理システムにおいて、全スレー
ブのコミット承認を確認するために送出されるメツセー
ジ数を減少できるようにした巡回式2フ工−ズコミツト
メント制御方式に関するものである。
IBI  技術の背景 才1図は一般的な分散データベース処理システムの例を
示す。図中、1は通信網、2−1ないし2−5はプロセ
ッサ、3−1ないし3−5はデータベース、4−1.4
−2は端末を表わす。
分散データベース処理システムにおいては、各プロセッ
サ2−1〜2−5はそれぞれデータベース3−1〜3−
5を有し1通信網1を介して通信可能となっている。例
えば、端末4−1か′□ら全データベース3−1〜3−
5に関連するトランザクションが投入されると、プロセ
ッサ2−1がマスクとなり、他のプロセッサ2−2〜2
−5がスレーブとなって、マスクからスレーブに対して
2通信網1を介してメツセージを送出することにより。
処理の依頼がなされる。
例えは、検索の処理の高速化のために、各データベース
3−1〜3−5が同じ情報を保持することがある。この
場合、いかなることがあっても。
各データベース3−1〜3−5の内容が、他のデータベ
ースの内容と矛盾しないようにすることが要請される。
すなわち1例えば各データベース3−1〜3−5がAと
いう情報を保持するとき、AをA′に変更するトランザ
クションに対して、全サイトでA′に更新されるか、ま
たは障害等によりどこかのサイトで更新不可能な場合に
、全サイトでAのまま情報が維持されなければならない
。トランザクションに対して、全サイトで更新する処理
を、コミット(commit)といい、更新をキャンセ
ルし全サイトで更新しないようにする処理をアポー′ト
(αbort )という。
上記コミットおよびアポートの処理のために。
各サイトはログ・ファイル上で更新すべき情報を記憶し
、データベースを仮の更新状態にするlV1の処理フェ
ーズと、ログ・ファイルの情報をデータベースに転記す
るなどして、データベースを実際に更新する第2の処理
フェーズとを有しでいる。
コミットの場合には、牙2の処理フェーズを実施し、ア
ポートの場合には、木1の処理フェーズによるログ・フ
ァイルの情報を棄却する。
第2図および第3図は従来のコミットメント制御の説明
図を示す。
第2図は1ステツプ・コミットメントと呼ばれる比較的
単純な制御方式である。マスクがスレーブ81〜StL
に対しで、それぞれトランザクションの処理の一部を依
頼したとする。各スレーブ81〜Snは処理がうまくい
った場合、マスクに“yes”の処理終了通知を行い、
そうでなければ’no”を通知する。マスタはすさての
スレーブから# ylla 1′が返ってきた時に限り
、コミットせよというメツセージ’ commit ”
を全スレーブに送出し、そうでない場合には、アポート
せよというメツセージ〆αbort ’を全スレーブに
送出する。
スレーブが処理依頼を受は取ってから、処理終了通知を
するまでが、処理結果を単にログ・ファイル上に記憶す
る第1フエーズであ’j + ’ 60mm1t”を受
は取ってからが、ログ・ファイル上の情報をデータベー
ス上に反映させる第2フエーズである。
才1フェーズから第2フエーズまでの間は、スレーブ自
身が自己の判断でアポートを選択することもコミットを
選択することもできない不安定な状態であり、クリティ
カル・ピリオドと呼ばれる。
もし、こ4の期間に例えば障害が発生してマスクや他の
スレーブと通信不能になるとアポートすべきかコミット
すべきかが不明となるので、データベースはブロン、り
されて、完全なリカバリがなされるまで、データベース
へのアクセスが禁止される。
従って、このクリティカル・ピリオドは、できるだけ短
いほうが危険度が少ない。しかし、第2図に示した1ス
テツプ・コミットメントによれば。
トランザクションの処理時間は各スレーブで異なるため
、あるスレーブにおいてはクリティカル・ピリオドが非
常に長くなるという問題がある。
そこで、この欠点を解決するものとして、第3図図示の
・如ぎ2ステツプ・コミットメントが用いられている。
2ステツプ・コミットメントにおいては、マスクはすべ
てのスレーブ81〜Snから処理終了通知を受けたとき
に、それらがすべて’yes”であれば、コミットの準
備をせよというメツセージ’ prepare ”  
を全スレーブに送出する。各スレーブは’ prepa
re”を受は取ると、支障がない場合に限り承認したと
いうメツセージ1αak”をマスクニ返す。支障がある
場合には承認できないという意味のメツセージ“nac
k’を返す。マスクは、全スレーブから1αak”を受
は取ったときに限り、全スレーブに’ commit 
”を指示し、そうでない場合には、′αhart”を指
示する。この方式によれば、各スレーブが処理終了通知
後+  ’prepαr#”に対してdαck”を応答
するまでは、任意にアポートを選択することができる。
すなわち、支障があった場合に*  ” prapcL
ra”に対して1αc、k”を応答しなければよい。従
って、クリティカル・ピリオドの期間は。
全スレーブについて一様に短縮されることとなる。
(C)  従来技術と問題点 第4図は従来方式の問題点説明図を示す。図中。
Mはマスタ、Sl−Snはスレーブを表わす。
従来、第3図で説明した“prepare ” 、“a
ak”のメツセージ通信を行う場合、マスタMは、各ス
レーブ81〜Ssに対して1個々に’ prepare
”のメツセージを送出し、また各スレーブS1〜Snは
、マスタMに対し、それぞれ1αck”のメツセージを
応答するようにされていた。従って、コミット承認を確
認するためのメツセージ数は、スレーブの数が外側ある
とすると、全部で2・n個必要となる。現在、メツセー
ジ通信は、コストのかかるものとなっており、できるだ
けメツセージ数を減少させることが望まれている。また
、メツセージ数が多ければ、それだけ回線障害等の障害
に遭遇する確率も高くなる。
fDl  発明の目的と構成 本発明は上記問題点の解決を図り、システムの□信頼性
を低下させることなく、2フエーズコミツトメント制御
におけるコミット承認を確認するためのメツセージ数を
減少させることを目的としている。そのため1本発明は
分散データベースにおける2フエーズコミツトメント・
プロトコルにおいて、今まで別々に送られていたメツセ
ージを一緒にしかも巡回させて送るようにしたものであ
る。
すなわち1本発明の巡回式2フ工−ズコミツトメント制
御方式は9分散データ・ベースをそれぞれ保持する複数
のプロセッサのうち1つのプロセッサがマスクとなり、
他のプロセッサがスレーブとなってトランザクションを
処理する分散データベース処理システムであって、上記
マスクはコミット準備指示に対してすべての上記スレー
ブからの  ′コミット承認を確認した後にコミット処
理を指示するようにされた2フエーズコミツトメント制
御を行う処理システムにおいで、上記マスクはコミット
準備指示とコミット承認とを複合させたメツセージを1
つの上記スレーブに送出するよう構成されるとともに、
上記各スレーブは上記複合メツセージを受信したときに
コミット可能であれば当該複合メツセージを順次他のス
レーブに転送し。
最終のスレーブは当該複合メツセージを上記マスクに転
送するよう構成され、上記コミット準備指示とコミット
承認とを複合させたメツセージを巡回させることによっ
てコミット承認を確認することを特徴としている。以下
図面を参照しつつ説明する。
(El  発明の実施例 第5図は本発明の詳細な説明図、第6図は本発明の一実
施例システム構成図、オフ図は第6図図示135 スレー7 本発明による場合,第5図図示の如く,マスクMは,t
べてのスレーブ5l−8nから,依頼したトランザクシ
ョンの処理終了通知として*  ’i7#II”の応答
を受は取ったときに,コミットの準備を指示する’ p
repare”のメツセージと. 本1スレーブ側から
マスタヘコミット承認を通知する目的で使用されるメツ
セージ1αek#とを組み合わせたメツセージ例えば’
 prepara − aak ’を用意し,1番目の
スレーブS1に送る。スレーブS1は+ ’pr#pa
f#−αck″を受は取ると,コミットしでよいかどう
かを判断し,コミットしてよい場合に+  ’prap
rLr4−αck” のメツセージを次のスレーブS2
に送る。
同様にスレーブS2は,コミットしてよい場合に。
”prepare − ack ”のメツセージを次の
スレーブS3に送る。こうしてe  ’ ptLlpn
rd−α6&”のメツセージを順次巡回させ,最後のス
レーブSnは.コミットを承認する場合ζ島 prap
ara−αck”のメツセージを,マ久りMに戻す。マ
スタMは,この“prepare−aak”のメツセー
ジを受は取ることにより,全部のスレーブ81〜Snが
コミットを承認したことを確認することができる。各ス
レーブは’ prepare −aak”を受は取った
時,もしコミットを承認できなければマスクに直接’n
o.ck’を返す。 この間,もしマスタMに“nac
k” のメツセージが戻るか、または所定の時間内に1
pγgpα7g−αh Jlのメツセージが到着しない
ときには、マスタMは’ commit ”のメツセー
ジを送らないで、′αbort”のメツセージを送る。
こうすれば、214図図示の場合、2・n回必要であっ
たコミット承認の確認のためのメツセージ転送が・ ?
L+1回で済むことになる。スレーブが多いほど、メッ
セージ数減少の効果は大きい。
なお、マスクとなるべきプロセッサ、およびスレーブと
なるべきプロセッサは、予め固定的に決まっているわけ
ではなく9通常、論理的に1まとまりの処理であるトラ
ンザクションが投入されたプロセッサが、マスクとなり
、他のプロセッサがスレーブとなる。分散された各デー
タベースの管理単位は、サイトと呼ばれる。オ6図は本
発明に係る1つのサイトのシステム構成例を示している
オ6図中、2はプロセッサ、3はデータベース。
4は端末、10はログ・ファイル、11は通信処理部、
12は障害管理部、13はコミットメント処理部、14
はマスタ部、15はスレーブ部、16は構文解析部、1
7は意味解析部、18は最適化部、19は実行部を表わ
す。
プロセッサ2は、主記憶上の命令をフェッチして実行す
る処理装置である。例えば、端末4からチー fi ヘ
ー スに対スる処理要求のトランザクションが投入され
ると、プロセッサ2がマスクとなる。
他のプロセッサから、ネットワークを介して、トランザ
クションの一部の処理依頼がなされると。
スレーブとなる。プロセッサ2がスレーブである場合に
は、コミットメント処理部13のスレーブ部15のみが
稼動する。マスクである場合には。
マスク部14が稼動するが・′プロセッサ2が自己のデ
ータベース3に対する処理が必要なときに。
スレーブ部15も稼動する。
端末4または通信処理部11を介して他のプロセッサか
らデータベース3に対する処理要求があると、構文解析
部16が起動される。構文解析部16は、処理要求コマ
ンドまたはメツセージのシンタックス・チェックを行い
、 解析結果ヲ意味解析部17に引き渡す。意味解析部
17は処理要求内容を解読し、最適化部18を呼び出す
。最適化。
部18は、データベース処理の最適スケジュールを行い
、実行部19に制御を渡す。実行部19は。
データベースの処理実行にあたって、コミットメント処
理が必要であるかどうかを判断する。もし。
データベースを参照するだけで、更新しない場合には、
コミットメント処理は不要である。コミットメント処理
が必要な場合には、コミットメント処理部13を呼び出
す。
コミットメント処理部13は、牙7図およびオ8図を参
照して後述する如く、コミットメントの処理を実行する
。なお、実行部19は、データベース3を更新するとぎ
に、A117エーズにおいては、ログ・ファイル10上
で仮更新する。このログ情報は、データベース3更新の
履歴情報ともなるもので、データベース3が破損した場
合には。
その復元に利用することができる。第2フエーズにおい
て、ログ・ファイル10上のログ情報をデータベース3
に反映させて、データベース3を実更新する。
通信処理部11は、コミットメント処理部13゜実行部
19等の通信処理依頼に対して、ネットワークを介して
、他のプロセッサとのメツセージの送受を処理するもの
である。回線障害等の障害があり、メツセージ通信がう
まく行がない場合には。
障害管理部12によって2通信依頼元に、その旨伝達さ
れる。
マスク部147よ、コミットメントを行うにあたって、
オフ図図示の如く制御する。スレーブのプロセッサに対
してなされたトランザクションの一部の処理依頼に対し
て、全スレーブから’yes”の通知があったがどうか
を、″)v7図図示処理3oによって1判定する。もし
、全スレーブがらt、、8mの通知がないときには処理
34によって、全スレーブに1αbort”のメツセー
ジを送る。
すべてのスレーブから’yes”の応答があれば。
処理31によって9次のサイト、すなわち第1番目のス
レーブに’ prepare −ack ’のメツセー
ジを送る。なお、メツセージを巡回させる順番は、予め
固定的にテーブルに記憶しでおいでもよいが、メツセー
ジ通信のコストがもつとも小さくなるよう。
最適化を行うとさらによい。次に処理32によって、最
終順番のスレーブからの’ prepare −aok
”のメツセージを待つ。もし+  ’nack”を受は
取るかまたは所定の時間内に’ prepare−αh
 IIのメツセージが到着しない場合には、処理34に
よって、全スレーブに’ abort ”を送出する。
’ prepare −ack”を受は取ったならば、
処理33によって、全スレーブに’commit”を送
る。
スレーブ部15は、第8図図示の如く制御する。
マスクから依頼されたトランザクションの一部の処理が
、正常に終了したかどうかを、第8図図示処理40によ
って判定する。正常に終了しない場合には、処理46に
よって′tLO″のメツセージをマスクに送り、処理4
7によってアポートして、依頼されたトランザクション
を無効にする。
処理が正常に終了したならば、処理41によって+  
”1iaB’のメツセージをマスクに送る。次に処[4
2i:よって、メツセージを待つ、到着シタメツセージ
が1αbort ”であれば、処理47により。
ログ・ファイル上の仮更新情報を無効にすることによっ
て、アポートを実施する。’ prepare −ac
k ”のメツセージが到着し、コミットすることについ
て支障がなければ、処理43によって1次のサイトに’
 prepare−ack”を転送し、処理44によっ
て次のメツセージを待つ。そして+  ’ 60tnf
nL1 ”のメツセージが到着したならば、処理45に
よって。
ログ・ファイル10の仮更新情報をデータベースに反映
させてコミットを実施する。′αbort”のメツセー
ジが到着したならば、処理47によってアポートする。
(F)  発明の詳細 な説明した如く本発明によれば、n台のスレーブがある
とき、2フエーズコミツトメントInにおけるコミット
承認を確認するためのメツセージの転送が、従来2・竹
回必要であったのに対し。
本発明によればn+1回でよく、メツセージの転送コス
トを大幅に減少させることができる。
【図面の簡単な説明】
第1図は一般的な分散データベース処理システムの例、
第2図および第3図は従来のコミットメント制御の説明
図、第4図は従来方式の問題点説明図、第5図は本発明
の詳細な説明図9才6図は本発明の一実施例システム構
成図、オフ図はオ6図図示マスク部の制御説明図、第8
図はオ6図図示スレーブ部の制御説明図を示す。 図中、2はプロセッサ、3はデータベース、4は端末、
10はログ・ファイル、13はコミットメント処理部、
14はマスタ部、15はスレーブ部を表わす。 特許出願人 富士通株式会社

Claims (1)

  1. 【特許請求の範囲】 分散データベースをそれぞれ保持する複数のプロセッサ
    のうち1つのプロセッサがマスクとなり。 他のプロセッサがスレーブとなってトランザクションを
    処理する分散データベース処理システムであって、上記
    マスクはコミット準備指示に対してすべての上記スレー
    ブからのコミット承認を確認した後にコミット処理を指
    示するようにされた2フエーズコミツトメント制御を行
    う処理システムにおいで、上記マスクはコミット準備指
    示とコミット承認とを複合させたメツセージを1つの上
    記スレーブに送出するよう構成されるとともに、上記各
    スレーブは上記複合メツセージを受信したときにコミッ
    ト可能であれば当該複合メツセージを順次能のスレーブ
    に転送し、最終のスレーブは当該複合メツセージを上記
    マスクに転送するよう構成され、上記コミット準備指示
    とコミット承認とを複合させたメツセージを巡回させる
    ことによっでコミット承認を確認することを特徴とする
    巡回式2フ工−ズコミツトメント制御方式。
JP57221657A 1982-12-17 1982-12-17 巡回式2フエ−ズコミツトメント制御方式 Pending JPS59111564A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57221657A JPS59111564A (ja) 1982-12-17 1982-12-17 巡回式2フエ−ズコミツトメント制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57221657A JPS59111564A (ja) 1982-12-17 1982-12-17 巡回式2フエ−ズコミツトメント制御方式

Publications (1)

Publication Number Publication Date
JPS59111564A true JPS59111564A (ja) 1984-06-27

Family

ID=16770206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57221657A Pending JPS59111564A (ja) 1982-12-17 1982-12-17 巡回式2フエ−ズコミツトメント制御方式

Country Status (1)

Country Link
JP (1) JPS59111564A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279154A (ja) * 1988-09-14 1990-03-19 Hitachi Ltd 分散システムにおけるトランザクション整合性保証制御方法
JPH02122362A (ja) * 1988-10-31 1990-05-10 Hitachi Ltd 分散データ管理システム
JPH0392945A (ja) * 1989-09-06 1991-04-18 Hitachi Ltd トランザクション処理の終了方法
JPH047778A (ja) * 1990-04-26 1992-01-13 Nec Corp 同期制御方式
JPH0581099A (ja) * 1990-02-23 1993-04-02 Digital Equip Internatl Ltd トランザクシヨン コントロール

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279154A (ja) * 1988-09-14 1990-03-19 Hitachi Ltd 分散システムにおけるトランザクション整合性保証制御方法
JPH02122362A (ja) * 1988-10-31 1990-05-10 Hitachi Ltd 分散データ管理システム
JPH0392945A (ja) * 1989-09-06 1991-04-18 Hitachi Ltd トランザクション処理の終了方法
JPH0581099A (ja) * 1990-02-23 1993-04-02 Digital Equip Internatl Ltd トランザクシヨン コントロール
JPH047778A (ja) * 1990-04-26 1992-01-13 Nec Corp 同期制御方式

Similar Documents

Publication Publication Date Title
JP3268534B2 (ja) 保護された資源の同期点管理を行うコンピュータ・システム
EP0436559B1 (en) Data processing network
US20050210081A1 (en) Data synchronization method
JPH04229359A (ja) コンピュータ・ネットワーク
JPH04229332A (ja) コミット手順におけるエラー・コードおよびエラー記述情報の処理装置および方法
US20070143368A1 (en) Conflict resolution in highly available network element
JPH04229358A (ja) 同期点回復手段を有するコンピュータ装置
JPH06244942A (ja) 翻訳方法とその装置、及びネットワーク
JPH04347733A (ja) 計算機プログラム保守方式
US6421741B1 (en) Switching between active-replication and active-standby for data synchronization in virtual synchrony
JPS59111564A (ja) 巡回式2フエ−ズコミツトメント制御方式
US7533132B2 (en) Parallel replication mechanism for state information produced by serialized processing
JP2002366381A (ja) オブジェクトの動的入替え処理方法
JPH1074157A (ja) 分散処理装置及び分散処理方法
JP2650907B2 (ja) 資源同期制御方法
JPH11338834A (ja) 同期型並列処理システムおよび同期型並列処理方法
JPS61145660A (ja) 分散デ−タベ−ス制御処理方式
JPH03273727A (ja) ネットワーク構成変更方式
US20030229724A1 (en) Systems and methods for synchronzing processes
JPH0756783A (ja) 分散型電文処理システム
JPS63311555A (ja) マルチプロセッサシステムにおける共有デ−タ制御方式
JPH1185595A (ja) 分散データベース管理システムおよび分散データベース管理方法
JPH02122362A (ja) 分散データ管理システム
JPH02130049A (ja) 通信ノードのアドレス決定管理方式
JPH03282660A (ja) 制御情報更新方式