JPH0324648A - ファイル同時アクセス制御方式 - Google Patents

ファイル同時アクセス制御方式

Info

Publication number
JPH0324648A
JPH0324648A JP1158890A JP15889089A JPH0324648A JP H0324648 A JPH0324648 A JP H0324648A JP 1158890 A JP1158890 A JP 1158890A JP 15889089 A JP15889089 A JP 15889089A JP H0324648 A JPH0324648 A JP H0324648A
Authority
JP
Japan
Prior art keywords
update
file
user program
data
buffer
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
JP1158890A
Other languages
English (en)
Inventor
Hideki Iida
飯田 秀樹
Eiichi Higashiyama
東山 栄一
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP1158890A priority Critical patent/JPH0324648A/ja
Publication of JPH0324648A publication Critical patent/JPH0324648A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、同一のデータファイルを使用する複数の利用
者プログラムを同時に実行可能とした情報処理システム
におけるファイル同時アクセス制in方式に関し、特に
大容量メモリ搭載システムにおけるファイル同時アクセ
ス制御方式に関するものである. 〔従来の技術〕 この種のファイル同時アクセス制御方式では、データの
矛盾発生を防ぐために排他制御を基本的に採用している
.すなわち、ある利用者プログラムが使用しているデー
タファイルのデータブロックに対して他の利用者プログ
ラムから使用の要求があった場合には、後から要求をし
た利用者プロダラムの実行を停止し、使用が可能になる
まで待たせるという制御を行うものである. ところで、上記の排他制御は複数の利用者プログラムが
同時に実行される環境においてはデータの矛盾発生を防
ぐために必要不可欠なものであるが、゜デッドロックと
呼ばれる処理継続が不可能となる状態が発生する必然性
を有している.例えば、ある利用者プログラムIAがデ
ータファイルのデータブロックを参照・更新しようとし
たときに、他の利用者プログラムIBがそのデータブロ
ックを使用中であり、更に利用者プログラムIBが利用
者プログラムIAが使用中の他のデータブロックを参照
・更新しようとすると、それぞれの利用者プログラムが
相手方の使用終了を待つこととなり、処理が完全にスト
ップしてしまうこととなる.従って、この種のファイル
同時アクセスIlfil方式では、上記のデッドロック
を一種の障害として扱い、デッドロックが発生した場合
の対策を講している.また、複数の利用者プログラムが
同時に実行される場合に限らず、ソフトウェアあるいは
ハードウェアに起因した障害により利用者プログラムの
異常終了やシステムダウン等が発生する可能性があり、
それらについても対策が講じられている. 従来、デッドロックその他の障害に対する措置としては
、次のものが存在していた. ■ロールバック処理 ■リカバリ処理 ■磁気テープへの更新後イメージ退避 ここで、ロールバック処理とは、利用者プログラムの一
連の処理の区切りにチェックポイントと呼ばれる正常で
あることが確認されている時点を設け、その後にデッド
ロック等の障害が発生した場合にそのチェックポイント
以降の更新を取り消して直前のチェックポイントの状態
に戻すものである.具体的には、利用者プログラムがデ
ータファイルのデータブロックに対して更新を行う場合
、データファイルそのものに対して行うのではなく、更
新の対象となるデータブロックをデータファイルから大
規模記憶領域のデータバッファに読み込み、このデータ
バッフ1に対して更新を行い、処理の区切りにチェソク
ポイント処理としてそのデータバッファの内容をデータ
ファイルのデータブロックに書き込む.そして、その後
の処理の途中でデッドロック等の障害が発生した場合に
は大規模記゛憶wI域に展開されたデータバソファを破
棄することで直前のチエ・冫クポイントまで状態を戻す
なお、再度そのデータプロツクに対して参照・更新の処
理を行う場合にはデータファイルから大規模記憶領域に
対してデータブロックの読み込みを行う. また、リカバリ処理とは、上記のロールパック処理で回
復できない場合、例えばチェックポイント処理中に利用
者プログラムの異常終了やシステムダウンが発生した場
合等の処理であり、通常時に更新後イメージを更新の都
度に更新後イメージ格納ファイルに格納しておき、障害
発生後にその更新後イメージをロールフォワードで利用
してデータファイルを正常な状態に回復するものである
.なお、前述したロールパック処理が行われた後は既に
出力された更新後イメージは不要となるが、従来は更新
後イメージを更新後イメージ格納ファイルとして連続し
て収集するようにしていたため、直前のチェックポイン
ト以降の更新が無効であることの印を更新後イメージ格
納ファイルに記録する等の処理を行っていた. また、磁気テープへの更新後イメージ退避は、データフ
ァイルを格納する磁気ディスク装置等が障害となった場
合等に備え、システム内共通更新後イメージ格納ファイ
ルとして各利用者プログラムの更新後イメージを全て収
集し、磁気テープにジャーナルとして蓄積しておくもの
であり、破壊されたデータファイルをその情報をもとに
復元するものである. 〔発明が解決しようとする課題〕 従来のファイル同時アクセス制御方式は上述したように
デッドロックその他の障害に対処していたが、それらの
処理に要する時間が長く、システム全体としての性能向
上が図れないという欠点があった.すなわち、次の点で
処理時間が無視できないものであった. ■デッドロック等が発生した場合のロールバ・冫ク処理
において大規模記憶領域上に存在する既に更新の行われ
た全てのデータバッファを破棄し、再びデータファイル
からそれらのデータブロックを読み込む必要があるため
、その入力動作に多くの時間がかかる. ■リカバリ処理に際し、連続して収集された更新後イメ
ージ格納ファイルをロールフォワードで利用してデータ
″ファイルを正常な状態に回復するのに、その更新後イ
メージが有効か無効かの判断等を行わなければならず、
その処理に時間がかかる. ■磁気テープに更新後イメージを退避させる前段階とし
てシステム内共通更新後イメージ格納ファイルとして各
利用者プログラムの更新後イメージを全て収集するため
に、各利用者プログラム毎に設けられた更新後イメージ
格納ファイルからデータ転送を行わなければならず、そ
の入出力動作に多くの時間がかかる.本発明は上記の点
に鑑み提案されたものであり、その目的とするところは
、充分なファイル保全が図れると共に、デッドロックそ
の他の障害に対する処理時間を極力短縮することのでき
るファイル同時アクセス制御方式を提供することにある
.〔課題を解決するための手段〕 本発明は上記の目的を達威するため、同一のデータファ
イルを使用する複数の利用者プログラムを同時に実行可
能とした情報処理システムにおけるファイル同時アクセ
ス制御方式において、利用者プログラムに対して排他制
御を実行すると共にデッドロックの発生を検出する同時
アクセス制御手段と、 参照・更新の要求のあったデータブロックをデータファ
イルから大規模記憶領域に読み込み、更新の要求のあっ
たデータブロンクに対し更新前イメージバッファと更新
後イメージバンファとを保持する大容量バッファ管理手
段と、 利用者プログラムから与えられる更新後イメージを各利
用者プログラム毎に割り当てられた更新後イメージ格納
ファイルに格納する更新後イメージ収集手段と、 利用者プログラムからチェックポイント処理の要求がさ
れた場合に大規模記憶領域の更新後イメージバッファの
内容をデータファイルに書き出し、更新゛前イメージバ
ッファを破棄すると共に、更新後イメージ格納ファイル
のスペース記述子をシステム内共通更新後イメージ格納
ファイルの一部として登録して利用者プログラムから切
り離すチェックポイント手段と、 システム内共通更新後イメージ格納ファイルが一定のサ
イズを越えた場合に更新後イメージ退避用磁気テープに
システム内共通更新後イメージ格納ファイルの内容を順
次書き出してファイルスペースを解放する更新後イメー
ジ退避手段と、デッドロック等の障害発生時に大規模記
憶領域の更新前イメージバッファの内容を更新後イメー
ジバッファに書き込み、更新フラグを削除すると共に、
更新後イメージ格納ファイルを空の状態とするロールバ
ック手段と、 チェノクポイント処理中に異常終了あるいはシステムダ
ウンが発生した利用者プログラムに対して更新後イメー
ジ椙納ファイルの内容を用いてデータファイルの内容を
回復すると共に、チェックポイント処理を完結させるリ
カバリ手段とを備えるようにしている. 〔作用〕 本発明のファイル同時アクセス制御方式にあっては、同
時アクセス制御手段が利用者プログラムに対して排他制
御を実行すると共にデッドロックの発生を検出し、大容
量バフファ管理手段が参照・更新の要求のあったデータ
ブロックをデータファイルから大規模記憶sI城に読み
込み、更新の要求のあったデータブロックに対し更新前
イメージバ7ファと更新後イメージバッファとを保持し
、更新後イメージ収集手段が利用者プログラムから与え
られる更新後イメージを各利用者プログラム毎に割り当
てられた更新後イメージ格納ファイルに格納し、チェッ
クポイント手段が利月者プログラムからチェックポイン
ト処理の要求がされた場合に大規模記憶領域の更新後イ
メージバッファの内容をデータファイルに書き出し、更
新前イメージバッファを破棄すると共に、更新後イメー
ジ格納ファイルのスペース記述子をシステム内共通更新
後イメージ格納ファイルの一部として登録して利用“者
プログラムから切り離し、更新後イメージ退避手段がシ
ステム内共通更新後イメージ格納ファイルが一定のサイ
ズを越えた場合に更新後イメージ退避用磁気テープにシ
ステム内共通更新後イメージ格納ファイルの内容を順次
書き出してファイルスペースを解放し、ロールバック手
段がデッドロック等の障害発生時に大規模記憶領域の更
新前イメージバフファの内容を更新後イメージバッファ
に書き込み、更新フラグを削除すると共に、更新後イメ
ージ格納ファイルを空の状態とし、リカバリ手段がチェ
ックポイント処理中に異常終了あるいはシステムダウン
が発生した利用者プログラムに対して更新後イメージ格
納ファイルの内容を用いてデータファイルの内容を回復
すると共に、チェックポイント処理を完結させる. 〔実施例〕 以下、本発明の実施例につき図面を参照して説明する. 第l図は本発明のファイル同時アクセス制御方式の一実
施例を示す構威図である.第1図において、利用者プロ
グラムLA,IB,・・・は同一のデータファイルDF
を使用(参照・更新)するプログラムであり、所定の規
則に基づいてCPU時間が分配され、マクロ的に見て同
時に実行されるものである.なお、これらの利用者プロ
グラムLA,IB,・・・が本発明のファイル同時アク
セス制御方式の制御の対象となるプログラムである.一
方、本実施例の機能部分は、同時アクセス制御手段2と
、大容量バッファ管理手段3と、更新後イメージ収集手
段4と、チェックポイント千段5と、更新後イメージ退
避手段6と、ロールバ・ノク手段7と、リカバリ千段8
とから構成されている.また、MAは大規模記憶領域(
メモリ)、DBは大規模記憶領域MA上のデータバツフ
ァ、UFは更新後イメージ格納ファイル、SFはシステ
ム内共通更新後イメージ格納ファイル、MTは更新後イ
メージ退避用磁気テープである。
以下、各部の機能につき説明する. 第2図は利用者プログラム(IA,  IB,・・・)
の処理をフローチャートで示したものである.第2図゛
において、利用者プログラムは、データファイルDFに
対して参照・更新を行う場合、先ず、読み込もうとする
データプロンクが他の利用者プログラムと競合するか否
かを同時アクセス制御千段2に問い合わせる(ステップ
101)。同時アクセス制御手段2の応答は3種類あり
、競合しなければ許可がされ(特別の通知をしないこと
で可)、競合する場合は利用者プログラムは停止され、
デッドロックを発生する場合はその旨が通知される.そ
して、同時アクセス制御手段2の応答が判断され(ステ
ップ102)、デッドロツクの発生の通知の場合(ステ
ップ102のYES)にはロールバソク手段7を起動し
て大規模記憶領域MAのデータバッファDB上のデータ
ブロックの状態を直前のチエ・冫クポイント時点まで戻
させ(ステップ103)、再び最初の処理に戻る.また
、同時アクセス制御手段2の応答が許可である場合(ス
テップ102のNo)には後続のステップ104に移行
する.停止の場合は、その利用者プログラムは再び起動
されるまで待ち状熊となる.続いて、データプロツクの
読み込みを許可された場合は、大容量バフファ管理千段
3に対してデータプロツクの読み込みを指示し(ステン
ブl04)、大容量バッファ管理手段3にデータブロソ
クの読み込みを行わせる.大容量バッファ管理手段3か
らはデータブロソクの内容を読み込んだデータバソファ
DBの存在場所が通知され、利用者プログラムはその情
報を用いて更新すべきデータを確認する(ステップ10
5), この状態で、そのデータに対して更新をする場合、大容
量バッファ管理千段3に対して更新を宣言する(ステッ
プ106).次いで、更新後イメージ収集千段4に対し
て更新後イメージを渡す〈ステップ107).そして、
既に大容量バッファ管理手段3から渡されているデータ
バッファDBの存在場所の情報を用いてデータバソファ
DBに対して更新を行う(ステップ108)。
更新の後、一連の処理が終了したか否かを判断し(ステ
ップ109)、終了している場合(ステップ109のY
ES)にはチェックポイント千段5を゛起動し、データ
バッファDB内のデータをデータファイルDFへ書き出
させる(ステップ110)。そして、全ての処理が終了
するまで上記と同様の処理を繰り返す. 次に、第3図は第1図における同時アクセス制御千段2
の処理をフローチャートで示したものである.なお、こ
の同時アクセス制御手段2は利用者プログラムからの問
い合わせ(第2図のステップ101)に応して動作する
ものである.第3図において、同時アクセス制御手段2
は、要求がデータブロンクの読み込みを行うためのデー
タブロック確保要求であるか否かを判断し(ステソブ2
01)、データブロンク確保要求でない場合(ステップ
201のNO)、すなわちデータブロック解放要求であ
る場合にはデータブロックの解放を行うと共に、このデ
ータプロックを待っている利用者プログラムがあればそ
れを起動する(ステップ202).また、データブロッ
ク確保要求である場合(ステンプ201のYES)には
、指示されたデータブロックを他の利用者プログラムが
使用中であるか否かを判断し(ステップ203)、使用
中でない場合(ステップ203のNo)には何もしない
で、すなわち読み込み許可ということで処理を終了する
.一方、他の利用者プログラムがそのデータブロソクを
使用中である場合(ステップ203のYES)には、そ
の使用中の利用者プログラムと今問い合わせをしてきて
いる利用者プログラムの確保済みのデータブロックとが
競合しているか否かを判断し(ステップ204)、競合
していない場合(ステップ204のNo)には要求され
たデータブロックが既に使用されているということでそ
の利用者プログラムを待ち状態にして停止させる(ステ
ップ205),また、競合している場合(ステソプ20
4のYES)には、デッドロックが発生したものとして
、その旨を利用者プログラムに通知し(ステップ206
L処理を終了する. 次に、第4図および第5図は第1図における大容量バソ
ファ管理手段3の処理をフローチャートで示したもので
ある.なお、この大容量バンファ管理手段3は利用者プ
ログラムからデータプロ,クの読み込みを指示された場
合(第2図のステノブ104)および更新を宣言された
場合(第2図のステップ106)に動作するものである
第4図はデータブロックの読み込みを指示された場合の
フローチャートであり、大容量バノファ管理千段3は、
要求されたデータブロックが既に大規模記憶領域(メモ
リ)MA上に存在するか否かを判断し(ステップ301
)、存在しない場合(ステソプ301のNo)には大規
模記憶領域MAにデータバッファ領域を確保して要求さ
れたデータブロックをデータファイルDFから読み込む
(ステップ302).また、既に存在する場合(ステッ
プ301のYES)にはステップ302を省略する.次
いで、新たに確保したデータバ・7ファもしくは既に存
在していたデータバソファの存在場所を利用者プログラ
ムに対して通知し(ステップ303)、処理を終了する
. 第5図はデータブロックの更新を宣言された場合のフロ
ーチャートであり、大容量バッファ管理手段3は、既に
同し更新がされているか否かを判断し(ステップ304
)、更新されている場合(ステップ304のYES)に
は処理を終了する。
また、更新されていない場合(ステップ304のNo)
にはその更新がこの利用者プログラムで直前のチェック
ポイント後の初めての更新であるか否かを判断し(ステ
ップ305)、初めてである場合(ステップ305のY
ES)には更新後イメージ格納ファイルUFを割り当て
る(ステップ306).また、初めてでない場合(ステ
ップ305のNo)にはステップ30Gを省略する.次
いで、大規模記憶領域MA上に更新前ブロックイメージ
用のデータバッファ(更新前イメージバッファ)を確保
し、読み込み済みのデータバッファ(更新後イメージバ
ッファ)の内容を更新前イメージバソファにコピーする
(ステソブ307),そして、更新後イメージバンファ
に更新フラグをセットし(ステップ30B)、処理を終
了する.なお、更新フラグとは当該データバッフ1が更
新の対象となっていることを示すものである.次に、第
6図は第l図における更新後イメージ収集手段4の処理
をフローチャートで示したものである.なお、この更新
後イメージ収集千段4は利用者プログラムから更新後イ
メージを渡された際(第2図のステップ107)に動作
するものである. 第6図において、更新後イメージ収集千段4は、利用者
プログラムから渡された更新後イメージを各利用者プロ
グラム毎に割り当てられた更新後イメージ格納ファイル
UFへ追加書き出しする(ステップ401). 第7図は第1図におけるチェックポイント手段5の処理
をフローチャートで示したものである.なお、このチェ
ックポイント手段5は利用者プログラムにおいて一連の
処理が完了して呼び出された場合(第2図のステップ1
10)に動作するものである. 第7図において、チェックポイント千段5は、チェック
ポイント処理を要求してきた利用者プログラムに関する
データバッファDBを捜し(ステッ7’501)、デー
タバッファDBが存在するか否かを判断する(ステップ
502).データバッファDBが存在する場合(ステッ
プ502のYES)にはそのデータバッファDBの更新
フラグがセットされているか否かを判断し(ステップ5
o3)、セットされている場合(ステップ503のYE
S)にはデータバッファDBの内容をデータファイルD
Fへ書き出した後、更新前ブロックイメーシ用ハッファ
(更新前イメージバッファ)を廃棄する(ステップ50
4).なお、更新フラグがセットされていない場合(ス
テップ503のNO)、すなわちそのデータバッファに
つき更新が行われていない場合にはステンブ504を省
略する.そして、次のデータバッファDBを捜し(ステ
ップ505)、ステップ502に戻って同じ処理を繰り
返す. 一方、ステソプ502でデータバッファDBが存在しな
い場合(ステップ502〜505の実行により存在しな
くなることがほとんど)は、更新後イメージ格納ファイ
ルUFの格納場所を示すスベー気記述子をシステム内共
通更新後イメージ椙納ファイルSFの一部として登録し
、利用者プログラムから切り離す(ステップ506).
次いで、システム内共通更新後イメージ格納ファイルS
Fが一定のサイズを越えたか否かを判断し(ステップ5
07)、越えている場合(ステップ507のYES)に
は更新後イメージ退避千段6に動作開始を指示して更新
後イメージ退避用磁気テープMTに退避させる(ステソ
ブ508).なお、一定のサイズを越えていない場合(
ステップ507のNo)にはステップ508を省略する
.次いで、同時アクセス制9n手段2に対して当該利用
者プログラムが確保していたデータブロツクの解放を指
示し(ステップ509)、データブロックを解放させて
処理を終了する. 次に、第8図は第1図における更新後イメージ退避千段
6の処理をフローチャートで示したものである.なお、
この更新後イメージ退避千段6はシステム内共通更新後
イメージ格納ファイルSFのサイズが一定値を越えたと
してチェックポイント千段5に呼び出された場合(第7
図のステップ508)および同様にリカバリ手段8に呼
び出された場合(後述する第lO図のステップ807)
に動作するものである. 第8図において、更新後イメージ退避手段6は、システ
ム内共通更新後イメージ格納ファイルSFの内容を順次
更新後イメージ退避用磁気テープMT上にコピーし(ス
テップ601)、その後、システム内共通更新後イメー
ジ格納ファイルSFのファイルスペースを解放し(ステ
ップ602)、処理を終了する. 次に、第9図は第1図におけるロールバック千段7の処
理をフローチャートで示したものである.なお、このロ
ールバック手段7はデッドロック発生時に利用者プログ
ラムから呼び出された場合(第2図のステップ103)
およびチエ・7クポイント処理中以外に異常終了した場
合等に動作するものである. 第9図において、ロールバソク手段7は、ロールバック
処理を要求した利用者プログラムに関するデニタバッフ
ァを大規模記憶領域MAから捜し(ステップ701)、
データバッファが存在するか否かを判断する(ステップ
702)。データバッファが存在する場合(ステンプ7
02のYES)には、そのデータバソファの更新フラグ
がセントされているか否かを判断し(ステノプ703)
、セットされている場合(ステップ703のYES)に
は、更新前プロソクイメージ用データバンファ(更新前
イメージバッファ)の内容を更新後ブロックイメージ用
データバッファ(更新後イメージバッファ)ヘコピーシ
(ステップ704)、mいてデータバッファの更新フラ
グを削除し(ステンブ705)、次のデータバッファを
捜し(ステップ706)、ステップ702に戻る.なお
、更新フラグがセットされていない場合(ステップ70
3のNo)にはステップ704,705を省略する. 一方、大規模記憶領域MA上にデータバンファDBが存
在しない場合(ステップ702のNo)には、更新後イ
メージ格納ファイルUFが割り付けられているか否かを
判断し(ステップ707)、割り付けられている場合(
ステップ707のYES)にはその更新後イメージ格納
ファイルUFを空の状態とし(ステップ708)、同時
アクセス制御千段2にデータブロックの解放を指示し(
ステップ709)、処理を終了する.なお、更新後イメ
ージ格納ファイルUPが割り付けられていない場合(ス
テップ707のNo)にはステップ708を省略する. 次に、第10図は第1図におけるリカバリ千段8の処理
をフローチャートで示したものである。
なお、このリカバリ手段8は、利用者プログラムの異常
終了時あるいはシステムダウン時に呼び出されて動作す
るものである. 第10図において、リカバリ手段8は、呼び出された原
因がプログラム異常終了であるか否かを判断し(ステッ
プ80l)、プログラム異常終了でない場合(ステップ
801のNo)には続いて未リカバリでシステムダウン
時に動作していた利用者プログラムがあるか否かを判断
し(ステップ802)、ない場合(ステップ802のN
O)には処理を終了する.また、プログラム異常終了と
して呼び出された場合(ステンプ801のYES)およ
び未リカバリでシステムダウン時に動作していた利用者
プログラムがある場合(ステップ802のYES)には
、そのプログラム異常終了もしくはシステムダウンがチ
ェンクポイント処理の途中であったか否かを判断し(ス
テップ803)、チェックポイント処理の途中であった
場合(ステップ803のYES)には更新後イメージ格
納ファイルOFの内容を用いてデータファイルDFを更
新し(ステップ804)、続いて更新後イメージ格納フ
ァイルUFのスペース記述子をシステム内共通更新後イ
メージ格納ファイルSFの一部として登録し(スペース
805)、次いで、システム内共通更新後イメージ格納
ファイルSFが一定のサイズを越えたか否かを判断し(
ステップ806)、越えている場合(ステップ806の
YES)には更新後イメージ退避手段6に動作開始を指
示し(ステップ807)、更新後イメージ退避用磁気テ
ープMTに退避させる.なお、一定のサイズを越えてい
ない場合(ステップ806のNo)にはステップ807
を省略する.一方、プログラム異常終了もしくはシステ
ムダウンがチェックポイント処理の途中でない場合(ス
テンブ803のNO)にはステップ804〜807を省
略する.その後、プログラム異常終了として呼び出され
たか否かを再度判断し(ステップ80B)、プログラム
異常終了の場合(ステップ808のYES)には処理を
終了し、それ以外の場合はステップ802に戻って同様
の処理を繰り返す. 以下、上記の実施例につき、より具体的に動作を説明す
る. 第11図はデータブロックの読み込み要求に対する処理
を図式的に示したものである.すなわち、利用者プログ
ラムIAが同時アクセス制御手段2に対してデータファ
イルDFのデータブロックaの使用を宣言して他の利用
者プログラムと競合するか否かを問い合わせると、競合
しなければ使用許可が与えられる.続いて、利用者プロ
グラムlAが大容量バッファ管理千段3に対してデータ
ブロックaの読み込みを要求すると、大容量バッファ管
理手段3はデータファイルDFから該当するデータブロ
ックaの内容を大規模記憶領域MAに読み込み、データ
バッファDBaに格納し、データバッファDBaの格納
場所を示すポインタを利用者プログラムIAに通知する
. 第12図はデータブロソクの更新要求に対する処理を図
式的に示したものである.すなわち、第11図の状態に
引き続いて、利用者プログラムlAがデータブロックb
の使用を行う場合、利用者プログラムIAが同時アクセ
ス制御手段2に対してデータファイルDFのデータブロ
ックbの使用を宣言して他の利用者プログラムと競合す
るか否かを問い合わせると、競合しなければ使用許可が
与えられ、次いで利用者プログラムIAが大容量バソフ
ァ管理手段3に対してデータプロックbの読み込みを要
求すると、大容量バッファ管理手段3はデータファイノ
レDFから該当するデータフ゛ロックbの内容を大規模
記憶領域MAに読み込み、データバッファDBbに格納
し、データバッファDBbの格納場所を示すポインタを
利用者プログラムIAに通知する.続いて、利用者プロ
グラムIAが大容量バッファ管理手段3に対してデータ
ブロックbの更新を宣言すると、大容量バッファ管理手
段3は新たなデータバッファ(更新前イメージバッファ
)DBb’を確保し、そこにデータバツファ(更新後イ
メージバツファ)DBbの内容をコピーし、更新後イメ
ージバッファDBbの更新フラグ(図示せず)をセット
する.また、利用者プログラムIAについての更新後イ
メージ格納ファイルUFを確保する. 第13図は更新処理を図式的に示したものである.すな
わち、第12図の状態に引き続いてデータブロンクbに
更新を行う場合、先ず、利用者ブログラムlAから更新
後イメージ収集千段4に更新後イメージが与えられ、更
新後イメージ収集手段4はその更新後イメージを更新後
イメージ格納ファイルUFに格納する.続いて、利用者
プログラムIAは、大規模記憶領域MA上の更新後イメ
ージバッファDBbに対して更新を行う。
第14図はチェックポイント処理を図式的に示したもの
である.すなわち、第13図の更新が終わり、その時点
で一連の処理の区切りとなった場合、利用者プログラム
IAはチェンクポイント千段5にチェックポイント処理
を要求する。チェノクポイント千段5は大容量バッファ
管理千段3を用いて、既に更新が行われているデータバ
ッファDBbについてデータファイルDFの対応するデ
ータブロックbに内容を書き出す。また、これと同時に
更新前イメージバッファDB b’ は破棄する.次い
で、更新後イメージ格納ファイルUFの格納場所を示す
スペース記述子をシステム内共通更新後イメージ椙納フ
ァイルSFの一部として登録する.また、使用していた
データブロックについて使用権の解放を同時アクセス制
御千段2に要求する. 第15図は更新後イメージ退避処理を図式的に示したも
のである.すなわち、前述した第1411fflのチェ
ックポイント処理および後述する第18図.第19図の
リカバリ処理において更新後イメージ格納ファイルUF
のスペース記述子をシステム内共通更新後イメージ格納
ファイルSFの一部として登録したことによりシステム
内共通更新後イメージ格納ファイルSFのサイズが一定
値を越えてしまった場合、更新後イメージ退避手段6が
動作し、システム内共通更新後イメージ格納ファイルS
Fの内容を更新後イメージ退避用磁気テープMTに順次
出力し、システム内共通更新後イメージ格納ファイルS
Fの不要になったスペースを解放する. 第16図はロールバック処理を図式的に示したものであ
る.ここでは、第13図の更新処理の終了後に、利用者
プログラムIAがデータブロックCの使用を宣言した際
に、他の利用者プログラム1Bとの関係でデッドロック
を起こした場合を仮定する.なお、第17図,は上記の
デッドロック状態となる例を示したものであり、利用者
プログラムIBがデータブロックCの使用を許可され、
利用者プログラムIAがデータブロックa,bの使用を
許可されている状態で、利用者プログラムIBがデータ
ブロックbを要求すると、利用者プログラムIBは待ち
状態となる.そして、この状態で待ち状態となっている
利用者プログラムIBが使用しているデータブロックC
を利用者プログラムIAが使用を要求すると、相互に待
ち状熊となってデッドロックが発生する. 第16図において、デッドロックの発生によりロールバ
ック手段7が起動されると、ロールバック手段7は大規
模記憶領域MAの更新前イメージバッファDBb’の内
容を更新後イメージバッファDBbにコピーし、更新前
イメージバッファDBb’を破棄すると共に更新後イメ
ージバッファDBbの更新フラグを削除する.また、更
新後イメージ格納ファイルUFの次の更新後イメージを
格納すべき場所を示すポインタを更新後イメージ格納フ
ァイルUFの先頭を示す値に書き換えることにより空の
状態とし、データバソファおよび更新後イメージ格納フ
ァイルOFの内容を直前のチェンクポイントの状態に戻
す.また、不要になったデータブロックの使用権の解放
を同時アクセス制御千段2に要求する. 第18図はチェックポイント処理中に異常終了した利用
者プログラムに対するリカバリ処理を図式的に示したも
のである。すなわち、第13図の更新処理の後のチェッ
クポイント処理の途中で利用者プログラムlAが異常終
了してしまった場合、リカバリ手段8が起動される.リ
カバリ千段8はその時点で保持されている更新後イメー
ジ格納ファイルUFの内容である更新後イメージを利用
し、データファイルDFからデータブロックbを大規模
記憶領域MAに読み込んで更新を行い、再びデータファ
イルDFに書き戻すという処理を行い、全ての更新後イ
メージをデータファイルDFに反映させる.また、更新
後イメージ格納ファイルUFのスペース記述子をシステ
ム内共通更新後イメージ格納ファイルSFの一部として
登録し、未完了であったチェックポイント処理を完結さ
せる.第19図は動作中にシステムダウンが発生した利
用者プログラムに対する再立ち上げ時のリカバリ処理を
図式的に示したものである.例えば、利用者プログラム
lAはその際にチェックポイント処理中であり、利用者
プログラムIBはチェックポイント処理中でなかったと
すると、利用者プログラムIAについては第18図で説
明した通りリカバリ処理が行われる.そして、利用者プ
ログラムIBについては、更新後イメージ格納ファイル
UFが存在すれば、その解放が行われる.〔発明の効果
〕 以上説明したように、本発明のファイル同時アクセス制
御方式にあっては、 ■大規模記憶領域に更新前イメージバッファと更新後イ
メージバッファとを保持しているため、デッドロック等
の発生に対するロールバック処理において更新後イメー
ジバッファの内容のみを破棄し、更新前イメージバッフ
プの内容を大規模記憶領域内で更新後イメージバッファ
に複写するだけで処理を再開できるため、データファイ
ルからの入力動作を伴わず、処理時間が大幅に短縮でき
る. ■チェンクポイント処理中に異常終了あるいはシステム
ダウンした場合に存在する更新後イメージ格納ファイル
は有効なもののみであり、無効なものは含まれていない
ため、有効.無効を判断する必要もなく、その分だけ処
理時間が短縮できる. ■更新後イメージ格納ファイルのスペース記述子をシス
テム内共通更新後イメージ格納ファイルに登録するのみ
で蓄積のための更新後イメージが収集できるため、更新
後イメージ格納ファイルの内容をシステム内共通更新後
イメージ格納ファイルにデータ転送する必要がなく、デ
ータ転送に必要な時間が短縮できる.等の効果があり、
情報処理システム全体の処理能力を大幅に向上させるこ
とができる.
【図面の簡単な説明】
第1図は本発明のファイル同時アクセス制御方弐の一実
施例を示す構成図、 第2図は第1図における利用者プログラムの処理のフロ
ーチャート、 第3図は第1図における同時アクセス制御手段の処理の
フローチャート、 第4図は第1図における大容量バッファ管理手段のデー
タブロノク読み込みの処理のフローチャート、 第5図は大容量バソファ管理手段のデータブロック更新
の処理のフローチャート、 第6図は第l図における更新後イメージ収集手段の処理
のフローチャート、 第7図は第1図におけるチェックポイント手段の処理の
フローチャート、 第8図は第1図における更新後イメージ退避手段の処理
のフローチャート、 第9図は第l図におけるロールバック手段の処理のフロ
ーチャート、 第lO図は第1図におけるリカバリ手段の処理のフロー
チャート、 第11図はデータブロソクの読み込み要求に対する処理
の説明図、 第12図はデータブロックの更新宣言に対する処理の説
明図、 第13図は更新処理の説明図、 第14図はチェックポイント処理の説明図、第15図は
更新後イメージ退避処理の説明図、第16図はロールバ
ンク処理の説明図、第17図はデッドロックの発生の例
を示す図、第18図はチェックポイント処理中に異常終
了した利用者プログラムに対するリカバリ処理の説明図
および、 第19図は動作中にシステムダウンが発生した利用者プ
ログラムに対するリカバリ処理の説明図である. 図において、 IA,IB・・・利用者プログラム 2・・・・・・同時アクセス制御手段 3・・・・・・大容量バソファ管理手段4・・・・・・
更新後イメージ収集手段5・・・・・・チェックポイン
ト手段 6・・・・・・更新後イメージ退避手段7・・・・・・
ロールバック手段 8・・・・・・リカバリ手段 MA・・・大規模記憶領域 DB・・・データバノファ DF・・・データファイル UP・・・更新後イメージ格納ファイルSF・・・シス
テム内共通更新後イメージ格納ファイル

Claims (1)

  1. 【特許請求の範囲】 同一のデータファイルを使用する複数の利用者プログラ
    ムを同時に実行可能とした情報処理システムにおけるフ
    ァイル同時アクセス制御方式において、 利用者プログラムに対して排他制御を実行すると共にデ
    ッドロックの発生を検出する同時アクセス制御手段と、 参照・更新の要求のあったデータブロックをデータファ
    イルから大規模記憶領域に読み込み、更新の要求のあっ
    たデータブロックに対し更新前イメージバッファと更新
    後イメージバッファとを保持する大容量バッファ管理手
    段と、 利用者プログラムから与えられる更新後イメージを各利
    用者プログラム毎に割り当てられた更新後イメージ格納
    ファイルに格納する更新後イメージ収集手段と、 利用者プログラムからチェックポイント処理の要求がさ
    れた場合に大規模記憶領域の更新後イメージバッファの
    内容をデータファイルに書き出し、更新前イメージバッ
    ファを破棄すると共に、更新後イメージ格納ファイルの
    スペース記述子をシステム内共通更新後イメージ格納フ
    ァイルの一部として登録して利用者プログラムから切り
    離すチェックポイント手段と、 システム内共通更新後イメージ格納ファイルが一定のサ
    イズを越えた場合に更新後イメージ退避用磁気テープに
    システム内共通更新後イメージ格納ファイルの内容を順
    次書き出してファイルスペースを解放する更新後イメー
    ジ退避手段と、デッドロック等の障害発生時に大規模記
    憶領域の更新前イメージバッファの内容を更新後イメー
    ジバッファに書き込み、更新フラグを削除すると共に、
    更新後イメージ格納ファイルを空の状態とするロールバ
    ック手段と、 チェックポイント処理中に異常終了あるいはシステムダ
    ウンが発生した利用者プログラムに対して更新後イメー
    ジ格納ファイルの内容を用いてデータファイルの内容を
    回復すると共に、チェックポイント処理を完結させるリ
    カバリ手段とを備えたことを特徴とするファイル同時ア
    クセス制御方式。
JP1158890A 1989-06-21 1989-06-21 ファイル同時アクセス制御方式 Pending JPH0324648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1158890A JPH0324648A (ja) 1989-06-21 1989-06-21 ファイル同時アクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1158890A JPH0324648A (ja) 1989-06-21 1989-06-21 ファイル同時アクセス制御方式

Publications (1)

Publication Number Publication Date
JPH0324648A true JPH0324648A (ja) 1991-02-01

Family

ID=15681618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1158890A Pending JPH0324648A (ja) 1989-06-21 1989-06-21 ファイル同時アクセス制御方式

Country Status (1)

Country Link
JP (1) JPH0324648A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793200A (ja) * 1993-09-27 1995-04-07 Nec Corp ファイル管理システム
JPH07182216A (ja) * 1993-12-22 1995-07-21 Nec Corp データベースのバックアップ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793200A (ja) * 1993-09-27 1995-04-07 Nec Corp ファイル管理システム
JPH07182216A (ja) * 1993-12-22 1995-07-21 Nec Corp データベースのバックアップ装置

Similar Documents

Publication Publication Date Title
JP3763992B2 (ja) データ処理装置及び記録媒体
US5065311A (en) Distributed data base system of composite subsystem type, and method fault recovery for the system
US5778388A (en) Method of processing a synchronization point in a database management system to assure a database version using update logs from accumulated transactions
EP0762302B1 (en) Single transaction technique for a journaling file system of a computer operating system
Chan et al. The implementation of an integrated concurrency control and recovery scheme
JP2679779B2 (ja) トランザクション処理方法及び装置
US6205449B1 (en) System and method for providing hot spare redundancy and recovery for a very large database management system
JPH0827750B2 (ja) 複数コンピュータ・データ共用システムにおける共用記憶の障害からのデータベースの回復方法
JPH06318165A (ja) 故障後の再起動中でのトランザクション適応システムにおいてデータを利用可能にする方法
JPH0560617B2 (ja)
JPH06332778A (ja) トランザクション管理方法
JPH07175700A (ja) データベース管理方式
EP0295424B1 (en) Method for managing subpage concurrency control and partial transaction rollback in a transaction-oriented system of the write-ahead logging type
JPH05210555A (ja) ゼロ時間データ・バックアップ・コピーの方法及び装置
JP3135714B2 (ja) チェックポイントリスタート方式
JP4095139B2 (ja) コンピュータシステムおよびファイル管理方法
JP3785004B2 (ja) トランザクション管理方法及びトランザクション管理装置
JPH0324648A (ja) ファイル同時アクセス制御方式
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
JP4139642B2 (ja) データベース管理方法およびシステム
JPH0588954A (ja) データベースの更新方法
JP3450154B2 (ja) ファイルアクセス処理システム
JP2933011B2 (ja) ファイルの排他制御システム
JPH0991183A (ja) データベースリカバリ装置
JPH07101399B2 (ja) データベースのデッドロック処理方式