JPH09305469A - File exclusive control system - Google Patents

File exclusive control system

Info

Publication number
JPH09305469A
JPH09305469A JP8143549A JP14354996A JPH09305469A JP H09305469 A JPH09305469 A JP H09305469A JP 8143549 A JP8143549 A JP 8143549A JP 14354996 A JP14354996 A JP 14354996A JP H09305469 A JPH09305469 A JP H09305469A
Authority
JP
Japan
Prior art keywords
file
block
deadlock
checkpoint
job
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
JP8143549A
Other languages
Japanese (ja)
Other versions
JP2933011B2 (en
Inventor
Kenichi Kikuchi
謙一 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8143549A priority Critical patent/JP2933011B2/en
Publication of JPH09305469A publication Critical patent/JPH09305469A/en
Application granted granted Critical
Publication of JP2933011B2 publication Critical patent/JP2933011B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a file exclusive control system which advances the execution of jobs while evading a scramble for a block with other jobs when a job which cames to a deadlock restarts its process. SOLUTION: This system is provided with a lock management means 12 which registers a block in a block number list 21 and decides whether the block can be locked or comes to a deadlock, an image gathering means 13 which gathers block contents before update, a check point file 31 which stores the block contents before update and a program at check point time, a check point means 15 which makes the block list empty at the check point time and stores the program contents, and a rollback means 16 which writes the data file and program contents back at deadlock time. When the job restarts accessing the data file from the last check point after coming to the deadlock, block groups up to the deadlock occurrence time registered in the block number list are locked collectively at the start.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明が属する技術分野】本発明は、複数のジョブが同
じデータファイルを同時に矛盾無くアクセスすることが
可能なファイルの排他制御システムに関し、特にデッド
ロック発生後の処理を速やかに再開することを可能とす
るファイルの排他制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a file exclusive control system in which a plurality of jobs can simultaneously access the same data file without any contradiction, and in particular, it is possible to promptly restart processing after a deadlock. Related to the exclusive control method of the file.

【0002】[0002]

【従来の技術】従来、この種のファイルの排他制御シス
テムとしては、例えば特開平3−24648号公報に開
示されるものがある。この特開平3−24648号公報
の排他制御システムは、ファイル保全を図ると共にデッ
ドロックその他の障害に対する処理時間を短縮すること
を目的とし、同時アクセス制御手段と、大容量バッファ
管理手段と、更新後イメージ収集手段と、チェックポイ
ント手段と、更新後イメージ退避手段と、ロールバック
手段と、リカバリ手段とから構成される。
2. Description of the Related Art Conventionally, as an exclusive control system of this kind of file, there is one disclosed in, for example, Japanese Patent Laid-Open No. 24-48648. The exclusive control system disclosed in Japanese Unexamined Patent Publication No. 3-24648 aims to preserve the file and shorten the processing time for deadlocks and other failures, and has a simultaneous access control means, a large capacity buffer management means, and a post-update function. The image collecting unit, the checkpoint unit, the updated image saving unit, the rollback unit, and the recovery unit are included.

【0003】同時アクセス制御手段はジョブに対して排
他制御を実行すると共にデッドロック発生を検出し、大
容量バッファ管理手段は参照・更新されるブロックをデ
ータファイルから主記憶領域に読み込み、更新されるブ
ロックに対して更新前イメージバッファと更新後イメー
ジバッファを保持する。更新後イメージ収集手段はジョ
ブから与えられる更新後イメージを各ジョブ毎に割り当
てられた更新後イメージ格納ファイルに格納する。
The simultaneous access control means executes exclusive control for the job and detects the occurrence of deadlock, and the large capacity buffer management means reads the referenced / updated block from the data file into the main storage area and updates it. The pre-update image buffer and the post-update image buffer are retained for the block. The post-update image collecting means stores the post-update image given from the job in the post-update image storage file allocated for each job.

【0004】チェックポイント手段は、チェックポイン
トが要求された場合に、主記憶領域の更新後イメージバ
ッファの内容をデータファイルに書き出し、更新前イメ
ージバッファを破棄すると共に、更新後イメージ格納フ
ァイルのスペース記述子をシステム内共通更新後イメー
ジ格納ファイルの一部として登録して利用者プログラム
から切り離す。
When a checkpoint is requested, the checkpoint means writes the contents of the post-update image buffer in the main storage area to a data file, discards the pre-update image buffer, and describes the space of the post-update image storage file. Register the child as part of the post-update common image storage file in the system and separate it from the user program.

【0005】更新後イメージ退避手段は、システム内共
通更新後イメージ格納ファイルが一定量を越えた場合
に、更新後イメージ退避用テープにシステム内共通更新
後イメージ格納ファイルの内容を退避してファイルスペ
ースを解放する。
The post-update image saving means saves the contents of the common post-update image storage file in the system to the post-update image save tape when the amount of the common post-update image storage file in the system exceeds a certain amount, and saves the file space. To release.

【0006】ロールバック手段は、デッドロック等の障
害発生時に、主記憶領域の更新前イメージバッファの内
容を更新後イメージバッファに書き込み、更新フラグを
削除すると共に、更新後イメージ格納ファイルを空にす
る。また、リ力バリ手段は、チェックポイント処理中に
異常終了したジョブに対して更新後イメージ格納ファイ
ルの内容からデータファイルの内容を回復すると共に、
チェックポイント処理を完結させる。
When a failure such as a deadlock occurs, the rollback means writes the contents of the pre-update image buffer in the main storage area to the post-update image buffer, deletes the update flag, and empties the post-update image storage file. . In addition, the recovery means recovers the contents of the data file from the contents of the post-update image storage file for the job that ended abnormally during checkpoint processing, and
Complete the checkpoint process.

【0007】[0007]

【発明が解決しようとする課題】上述した従来のファイ
ルの排他制御システムにおいては、全てのジョブが同等
に扱われるために、デッドロックが発生したジョブの実
行が遅れる可能性があるという問題点があった。その理
由は、デッドロックが発生してジョブが直前のチェック
ポイントから処理をやり直すことになり、かつジョブの
実行が遅れることが明らかな場合でも、単にファイルを
同時にアクセスするジョブの1つであるとして扱われ、
そのジョブを優先させる手段を提供していないためであ
る。
In the conventional file exclusive control system described above, since all jobs are treated equally, there is a problem that execution of a job in which a deadlock occurs may be delayed. there were. The reason is that even if a deadlock occurs and the job starts over from the previous checkpoint, and it is obvious that the job execution will be delayed, it is simply one of the jobs that simultaneously accesses the file. Treated,
This is because it does not provide a means for prioritizing the job.

【0008】本発明の目的は、デッドロックが発生した
ジョブが処理を再開する時に、デッドロック発生時まで
にロックしていたブロック及びロックしようとしたブロ
ックを一括してロックすることで、デッドロックが発生
した時点までのアクセスに関して、他ジョブとのブロッ
クの奪い合いを避けてジョブの実行を進めさせることの
できるファイルの排他制御システムを提供することにあ
る。
It is an object of the present invention to, when a job in which a deadlock has occurred restart processing, collectively lock the block that was locked and the block that was attempted to be locked by the time the deadlock occurred. The object of the present invention is to provide a file exclusive control system capable of advancing the execution of a job while avoiding contention for a block with another job with respect to access up to the time when the error occurs.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
め本発明は、データファイルを一定の大きさのブロック
に分割し、ブロックを単位とした排他制御によって複数
のジョブが同じデータファイルを同時に矛盾無くアクセ
スできるようにしたファイルの排他制御システムにおい
て、前記ジョブによるデータファイルのアクセス又はチ
ェックポイントの取得の際に、必要な制御手段を動作さ
せるファイル更新手段と、チェックポイントの間にアク
セスしようとしたブロック番号を登録するブロック番号
リストと、アクセスしようとするブロックをブロック番
号リストに登録して当該ブロックがロック可能か又はデ
ッドロックが発生するかを判定するロック管理手段と、
前記データファイルが更新される場合に、更新に先立っ
て更新前のブロック内容を収集するイメージ収集手段
と、前記イメージ収集手段に収集された更新前のブロッ
ク内容及びチェックポイントを取った時点のプログラム
内容を保存するチェックポイントファイルと、前記デー
タファイルの読み書きを行なうファイル入出力手段と、
チェックポイント時にブロック番号リストに登録されて
いるブロック番号を空にしてプログラム内容を保存する
チェックポイント手段と、デッドロック発生時に、前記
チェックポイントファイルからデータファイルとプログ
ラム内容を書き戻すロールバック手段とから構成され、
デッドロック発生後にジョブが直前のチェックポイント
からデータファイルのアクセスを再開する場合に、前記
ブロック番号リストに登録されたデッドロック発生時点
までのブロック群を最初に一括してロックすることによ
り、デッドロックに陥ったジョブの実行及びデータファ
イルのアクセスを優先できるようにしたことを特徴とす
る。
To achieve the above object, the present invention divides a data file into blocks of a certain size, and a plurality of jobs simultaneously copy the same data file by exclusive control in block units. In a file exclusive control system that can be accessed without contradiction, when the data file is accessed or the checkpoint is acquired by the job, an attempt is made to access between the file update means for operating the necessary control means and the checkpoint. A block number list for registering the block number, and a lock management unit for registering the block to be accessed in the block number list and determining whether the block can be locked or deadlock occurs,
When the data file is updated, an image collection unit that collects the block contents before the update prior to the update, the block contents before the update collected by the image collection unit, and the program contents at the time when a checkpoint is taken A checkpoint file for storing the data, and a file input / output means for reading / writing the data file,
From the checkpoint means that saves the program content by emptying the block numbers registered in the block number list at checkpoint, and the rollback means that writes back the data file and program content from the checkpoint file when a deadlock occurs. Composed,
When a job resumes access to a data file from the previous checkpoint after a deadlock occurs, the deadlock is achieved by first locking all the blocks registered in the block number list up to the deadlock occurrence time. The feature is that the execution of the job that falls into the above and the access of the data file can be prioritized.

【0010】請求項2の本発明によれば、前記ロック管
理手段は、デッドロック発生直後の最初のファイルアク
セスかどうかを判定し、最初のファイルアクセスであれ
ばブロック番号リストに登録されたブロック群を一括し
てロックすることを特徴とする。
According to the present invention of claim 2, the lock management means judges whether or not it is the first file access immediately after the occurrence of the deadlock, and if it is the first file access, the block group registered in the block number list. It is characterized by locking all at once.

【0011】請求項3の本発明によれば、前記ロック管
理手段は、デッドロックを検出した場合に、前記ブロッ
ク番号リストにデッドロックの発生を示す情報を記すと
共に、前記ロールバック手段を動作させることを特徴と
する。
According to the present invention of claim 3, when the deadlock is detected, the lock management means writes the information indicating the occurrence of the deadlock in the block number list and operates the rollback means. It is characterized by

【0012】また、請求項4の本発明によれば、ロック
管理手段は、デッドロック発生直後の最初のファイルア
クセスかどうかを判定し、最初のファイルアクセスであ
れば、登録されているブロック群を一括してロックし、
かつ前記ブロック番号リストに記されているデッドロッ
ク発生を示す情報を消去することを特徴とする。
According to the present invention of claim 4, the lock management means judges whether or not it is the first file access immediately after the occurrence of the deadlock, and if it is the first file access, the registered block group is selected. Lock them all together,
Further, it is characterized in that the information indicating the deadlock occurrence described in the block number list is erased.

【0013】[0013]

【発明の実施の形態】以下、本発明の第1の実施の形態
について図面を参照して詳細に説明する。図1は、本発
明の実施の形態によるファイルの排他制御システムの構
成を示すブロック図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a file exclusive control system according to an embodiment of the present invention.

【0014】図1を参照すると、このファイルの排他制
御システムは、プログラム制御によりファイルのアクセ
スを行なうデータ処理装置10と、半導体で構成される
主記憶装置20と、ディスク装置等で構成される補助記
憶装置30と、複数のジョブ41〜43からなるジョブ
群40と、複数のブロック51〜55からなるデータフ
ァイル50を含む。
Referring to FIG. 1, the file exclusive control system includes a data processing device 10 for accessing a file by program control, a main memory device 20 made of a semiconductor, and an auxiliary device made of a disk device or the like. The storage device 30 includes a job group 40 including a plurality of jobs 41 to 43, and a data file 50 including a plurality of blocks 51 to 55.

【0015】そして、上記データ処理装置10は、ジョ
ブがデータファイル50をアクセスしたりチェックポイ
ントを取る場合に、下位の必要な手段を動作させるファ
イル更新手段11と、アクセスしようとするブロックが
ロック可能か又はデッドロックが発生するかを判定する
ロック管理手段12と、データファイル50が更新され
る場合はそれに先立って更新前のブロック内容を収集す
るビフォアイメージ収集手段13と、データファイル5
0に対する入出力を行なうファイルI/O手段14と、
チェックポイント時にブロック番号リストに登録してい
たブロック番号を空にしてプログラム内容を保存するチ
ェックポイント手段15と、デッドロック発生時にチェ
ックポイントファイルからデータファイルとプログラム
を書き戻すロールバック手段16とを備える。
When the job accesses the data file 50 or takes a checkpoint, the data processing apparatus 10 can lock the file updating means 11 for activating necessary lower means and the block to be accessed. Lock management means 12 for determining whether or not a deadlock occurs, before-image collection means 13 for collecting the block contents before update when the data file 50 is updated, and the data file 5.
A file I / O means 14 for inputting and outputting to and from 0,
A checkpoint unit 15 for saving the program contents by emptying the block numbers registered in the block number list at the checkpoint, and a rollback unit 16 for writing back the data file and the program from the checkpoint file when a deadlock occurs. .

【0016】主記憶装置20は、チェックポイントの間
にアクセスしようとしたブロック番号を登録しておくブ
ロック番号リスト21を備える。
The main storage device 20 is provided with a block number list 21 for registering the block numbers to be accessed during the checkpoint.

【0017】補助記憶装置30は、収集された更新前の
ブロック内容及びチェックポイントを取得した時点のプ
ログラム内容を保存しておくチェックポイントファイル
31を備える。なお、チェックポイントファイル31
は、ジョブ毎に準備することが望ましいが、この実施の
形態では説明を簡単にするために各ジョブで共通に使用
される構成とした。
The auxiliary storage device 30 includes a checkpoint file 31 for storing the collected block contents before update and the program contents at the time when the checkpoint is acquired. The checkpoint file 31
Is preferably prepared for each job, but in the present embodiment, the configuration is commonly used for each job in order to simplify the description.

【0018】ジョブがデータファイル50をアクセスす
る時、ファイル更新手段11は、最初にロック管理手段
12を動作させる。ロック管理手段12は、アクセス対
象となるデータファイル50のブロック51〜55の番
号をブロック番号リスト21に登録し、そのブロックが
ロック可能か否か、又は他ジョブとの間でデッドロック
が発生するか否かを判定する。
When a job accesses the data file 50, the file updating means 11 first activates the lock managing means 12. The lock management unit 12 registers the numbers of the blocks 51 to 55 of the data file 50 to be accessed in the block number list 21 and determines whether the block can be locked or deadlock occurs with another job. Or not.

【0019】ブロックのロック可能な場合、ファイル更
新手段11は、ジョブによるデータファイルの読み込み
又は書き出し要求に応じて、ファイルI/O手段14又
はビフォアイメージ収集手段13を動作させる。
When the block can be locked, the file updating means 11 operates the file I / O means 14 or the before image collecting means 13 in response to a read or write request of the data file by the job.

【0020】ビフォアイメージ収集手段13は、データ
ファイル50のブロックが書き出される前に、該当ブロ
ックの内容をチェックポイントファイル31に保存す
る。この後、ファイル更新手段11は読み込み要求の場
合と同じく、ファイルI/O手段14を動作させる。フ
ァイルI/O手段14は、ジョブの要求が読み込みか書
き出しかに応じて、該当ブロックの内容の読み込み処理
又は書き出し処理を実行する。
Before-image collecting means 13 stores the contents of the block in the checkpoint file 31 before the block of the data file 50 is written. After that, the file updating means 11 operates the file I / O means 14 as in the case of the read request. The file I / O unit 14 executes the reading process or the writing process of the contents of the block according to whether the job request is reading or writing.

【0021】ジョブがチェックポイントを取る時、ファ
イル更新手段11は、チェックポイント手段15を動作
させる。チェックポイント手段15は、チェックポイン
トファイル31に保存していたブロック群の内容を削除
し、ジョブのプログラムイメージをチェックポイントフ
ァイル31に保存する。また同時に、ブロック番号リス
ト21に登録していたブロック番号を削除する。
When the job takes a checkpoint, the file updating means 11 operates the checkpointing means 15. The checkpoint means 15 deletes the contents of the block group stored in the checkpoint file 31 and stores the program image of the job in the checkpoint file 31. At the same time, the block numbers registered in the block number list 21 are deleted.

【0022】ロック管理手段12では、デッドロック発
生を検出した場合、ブロック番号リスト21にデッドロ
ックが発生したことを示す情報(フラグ等)を記し、ロ
ールバック手段16を動作させる。ロールバック手段1
6は、チェックポイントファイル31からジョブのプロ
グラムイメージとデータファイル50のブロックをそれ
ぞれ書き戻し、直前のチェックポイントからの再実行を
可能とする。
When the deadlock is detected, the lock management means 12 writes information (flag or the like) indicating that the deadlock has occurred in the block number list 21 and operates the rollback means 16. Rollback means 1
Reference numeral 6 writes back the program image of the job and the block of the data file 50 from the checkpoint file 31 and enables re-execution from the immediately preceding checkpoint.

【0023】本発明の第1の実施の形態における特徴
は、ロック管理手段12が、以下のような制御を実行す
ることにある。すなわち、デッドロック発生直後の最初
のファイルアクセスかどうかを判定し、そうであればブ
ロック番号リスト21に登録されたブロック群を一括し
てロックすることである。
A feature of the first embodiment of the present invention is that the lock management means 12 executes the following control. That is, it is determined whether or not it is the first file access immediately after the occurrence of the deadlock, and if so, the blocks registered in the block number list 21 are collectively locked.

【0024】ロック管理手段12は、ブロック番号リス
ト21にデッドロック発生を示す情報が記されている場
合に、登録されているブロック群を一括してロックし、
ブロック番号リスト21のデッドロック発生の情報を消
去する。
When the block number list 21 contains information indicating that a deadlock has occurred, the lock management means 12 locks the registered block groups collectively,
The information on the occurrence of deadlock in the block number list 21 is deleted.

【0025】次に、図1及び図2から図7を参照して、
本発明の第1の実施の形態の動作について説明する。
Next, referring to FIGS. 1 and 2 to 7,
The operation of the first embodiment of the present invention will be described.

【0026】ジョブがデータファイル50をアクセスし
たり、チェックポイントを取ろうとする要求は、ファイ
ル更新手段11が受け取る。図2に示すように、ファイ
ル更新手段11では、この要求内容を判定し(ステップ
201)、ファイルアクセス要求ならばロック管理手段
12を、そうでなければチェックポイント手段15を動
作させる(ステップ202又はステップ207)。
A request for a job to access the data file 50 or take a checkpoint is received by the file updating means 11. As shown in FIG. 2, the file updating means 11 determines the content of this request (step 201), and if it is a file access request, operates the lock management means 12 and otherwise operates the checkpoint means 15 (step 202 or Step 207).

【0027】図3に示すように、ロック管理手段12
は、まずブロック番号リスト21にデッドロック発生の
情報が記されていないかを判定する(ステップ30
1)。記されていなければ、次に、今回アクセスしよう
とするブロックの番号が既にブロック番号リスト21に
登録されていないかを判定する(ステップ302)。
As shown in FIG. 3, the lock management means 12
First, it is determined whether or not the information on the occurrence of deadlock is written in the block number list 21 (step 30).
1). If not, then it is determined whether the block number to be accessed this time is already registered in the block number list 21 (step 302).

【0028】デッドロックの情報が記されておらず、ブ
ロック番号が登録されていれば、直ちにファイル更新手
段11の制御に戻る。
If the deadlock information is not written and the block number is registered, the process immediately returns to the control of the file updating means 11.

【0029】デッドロックの情報が記されておらず、か
つブロック番号が登録されていなければ、ブロック番号
をブロック番号リスト21に登録し(ステップ30
3)、そのブロックをロックできるか否かを判定し(ス
テップ304)、またデッドロックが発生しないかどう
かを判定する(ステップ306)。
If the deadlock information is not written and the block number is not registered, the block number is registered in the block number list 21 (step 30
3) It is determined whether the block can be locked (step 304), and whether deadlock occurs (step 306).

【0030】ロック可能であればブロックをロックし
(ステップ305)、ファイル更新手段11に戻る。ブ
ロックのロックはできないが、デッドロックは発生しな
い場合、他のジョブがそのブロックを解放するのを待っ
て(ステップ307)、再びロックできるかどうかを判
定する(ステップ304)。
If the lock is possible, the block is locked (step 305) and the process returns to the file updating means 11. If the block cannot be locked but deadlock does not occur, it waits for another job to release the block (step 307) and then determines whether it can be locked again (step 304).

【0031】ブロックをロックできずに、しかもブロッ
クの解放を待つとデッドロックが発生する場合は、ブロ
ック番号リスト21にデッドロック発生の情報を記し
(ステップ308)、ロールバック手段16を動作させ
る(ステップ309)。ロック管理手段12では、ロー
ルバック手段16から戻った後、デッドロックが発生し
たことを通知してファイル更新手段11に戻る。
If the block cannot be locked and a deadlock occurs when waiting for the release of the block, information on the occurrence of the deadlock is written in the block number list 21 (step 308) and the rollback means 16 is operated (step 308). Step 309). After returning from the rollback means 16, the lock management means 12 notifies that the deadlock has occurred and returns to the file update means 11.

【0032】図2に示すように、ファイル更新手段11
では、デッドロック発生の通知が無ければ、ファイルア
クセスの種別が読み込みか書き出しかを判定し(ステッ
プ203、204)、読み込みなろばファイルI/O手
段14を動作させる(ステップ206)。書き出しなら
ば、まずビフォアイメージ収集手段13を動作させ、次
にファイルI/O手段14を動作させて(ステップ20
5、ステップ206)、ジョブの要求を満足させてジョ
ブに戻る。
As shown in FIG. 2, the file updating means 11
Then, if there is no notification of the occurrence of deadlock, it is determined whether the file access type is read or write (steps 203 and 204), and the read agate file I / O means 14 is operated (step 206). If writing, first the before image collecting means 13 is operated, and then the file I / O means 14 is operated (step 20).
5, step 206), satisfy the job request and return to the job.

【0033】図4に示すように、ビフォアイメージ収集
手段13では、更新前のブロックイメージを保存するた
め、そのブロックがまだチェックポイントファイル31
に書き出されていなければ、データファイル50から更
新対象となるブロックを読み込んで、チェックボイント
ファイル31に書き出す(ステップ401からステップ
403)。
As shown in FIG. 4, since the before image collecting means 13 stores the block image before updating, the block still has the checkpoint file 31.
If not, the block to be updated is read from the data file 50 and written to the checkpoint file 31 (step 401 to step 403).

【0034】また、図5に示すように、ファイルI/O
手段14では、ファイルアクセスの種別が読み込みか書
き出しかに応じて、データファイル50から対象のブロ
ックを読み込むか又はデータファイル50に対象のブロ
ックを書き出す(ステップ501からステップ50
3)。
Further, as shown in FIG. 5, file I / O
The means 14 reads the target block from the data file 50 or writes the target block to the data file 50 depending on whether the file access type is read or write (step 501 to step 50).
3).

【0035】図2のステップ201においてジョブから
の要求がチェックポイントであれば、ファイル更新手段
11は、チェックポイント手段15を動作させる(ステ
ップ207)。
If the request from the job is a checkpoint in step 201 of FIG. 2, the file updating means 11 operates the checkpoint means 15 (step 207).

【0036】ここで、チェックポイント手段15は、図
6に示すように、ブロック番号リスト21に登録された
ブロック番号と、チェックポイントファイル31に書き
出されていた更新前のブロックイメージを削除し(ステ
ップ601、ステップ602)、プログラムイメージを
チェックポイントファイル31に退避する(ステップ6
03)。その後、ファイル更新手段11に戻り、そこか
らジョブに戻る。
Here, as shown in FIG. 6, the checkpoint means 15 deletes the block numbers registered in the block number list 21 and the block image before update written in the checkpoint file 31 ( Steps 601 and 602), the program image is saved in the checkpoint file 31 (step 6).
03). After that, the process returns to the file updating means 11 and returns to the job from there.

【0037】ロック管理手段12でデッドロックが発生
すると判定された場合、図7に示すように、ロールバッ
ク手段16は、データファイル50とジョブを直前のチ
ェックポイントの状態に戻すために、チェックポイント
ファイル31に書き出されていたブロックを全てデータ
ファイル50に書き戻し(ステップ701からステップ
704)、かつプログラムイメージを書き戻す(ステッ
プ705、ステップ706)。この後ロック管理手段1
2からファイル更新手段11にデッドロック発生が通知
される。
If the lock management means 12 determines that a deadlock will occur, the rollback means 16 checks the data file 50 and the job in order to restore them to the state of the previous checkpoint, as shown in FIG. All the blocks written in the file 31 are written back to the data file 50 (steps 701 to 704), and the program image is written back (steps 705, 706). After this, lock management means 1
2 notifies the file updating means 11 of the occurrence of deadlock.

【0038】ファイル更新手段11では、デッドロック
発生が通知された場合は、直ちにジョブに戻る。ジョブ
のプログラムイメージは、ロールバック手段16によっ
て直前のチェックポイントの時点に復元されており、ジ
ョブはそこから処理を再開することになり、先と同じ順
序でデータファイル50をアクセスする。
The file updating means 11 immediately returns to the job when the occurrence of the deadlock is notified. The program image of the job has been restored by the rollback means 16 at the time of the immediately preceding checkpoint, and the job will resume processing from there, and the data file 50 is accessed in the same order as before.

【0039】ロック管理手段12では、図3に示すよう
に、ブロック番号リスト21にデッドロック発生の情報
が記されていると、ブロック番号リスト21に登録され
ている全てのブロック番号を一括してロックすると共に
(ステップ310からステップ312)、ブロック番号
リスト21のデッドロック発生の情報を消去する(ステ
ップ313)。
As shown in FIG. 3, in the lock management means 12, when the information on the occurrence of deadlock is written in the block number list 21, all the block numbers registered in the block number list 21 are collectively shown. At the same time as locking (steps 310 to 312), the information on the occurrence of deadlock in the block number list 21 is erased (step 313).

【0040】本発明の実施の形態によるファイルの排他
制御システムは、上記のように動作するため、デッドロ
ックが発生して直前のチェックポイントから処理を再開
する場合に、最初のファイルアクセス時にデッドロック
が発生した時点までにアクセスしたブロック及びアクセ
スしようとしたブロックを一括してロックするので、通
常は、異なるブロックをアクセスする度に発生するロッ
ク処理が不要となる。このため、前回デッドロックが発
生した時点よりも前に他ジョブとの間で再びデッドロッ
クに陥ることがなくなり、処理を速やかに回復し更に先
へ進ませることができるようになる。
Since the file exclusive control system according to the embodiment of the present invention operates as described above, when a deadlock occurs and the processing is restarted from the immediately preceding checkpoint, the deadlock is performed at the first file access. Since the blocks that have been accessed and the blocks that have tried to access are collectively locked by the time when occurs, normally, the locking process that occurs each time a different block is accessed becomes unnecessary. Therefore, the deadlock with another job does not occur again before the deadlock occurs last time, and the process can be promptly recovered and further advanced.

【0041】次に、本発明の実施の形態の具体的な動作
例について詳細に説明する。図8と図9は、それぞれジ
ョブ群40のジョブ41とジョブ42とが、ブロック5
1からブロック55の5つのブロックで構成されるデー
タファイル50をアクセスしている場合におけるブロッ
ク番号リスト21とチェックポイントファイル31の内
容を示している。
Next, a specific operation example of the embodiment of the present invention will be described in detail. In FIG. 8 and FIG. 9, the job 41 and the job 42 of the job group 40 are shown in block 5 respectively.
The contents of the block number list 21 and the checkpoint file 31 when the data file 50 composed of five blocks 1 to 55 are being accessed are shown.

【0042】ここで、ジョブ41は、ブロック51を読
み込み、ブロック52を書き出している。また、ブロッ
ク53への書き出しは、ジョブ42がブロック53を読
み込んでいるために待たされている。ジョブ42は、ブ
ロック53を読み込み、ブロック54を書き出してい
る。また、ジョブ42は、これ以前にチェックポイント
を取得している。
Here, the job 41 reads the block 51 and writes the block 52. Further, the writing to the block 53 is awaited because the job 42 is reading the block 53. The job 42 reads the block 53 and writes the block 54. Further, the job 42 has acquired a checkpoint before this.

【0043】図8、図9の状態から、ジョブ42がブロ
ック55を書き出そうとする時、ファイル更新手段11
は、まずロック管理手段12を動作させる(図2のステ
ップ201、202)。ロック管理手段12は、図8の
状態のブロック番号リスト21から判断して(図3のス
テップ301、302)、ブロック55をブロック番号
リスト21に登録し、ロックする(図3のステップ30
4、305)。
From the state shown in FIGS. 8 and 9, when the job 42 tries to write out the block 55, the file updating means 11
First operates the lock management means 12 (steps 201 and 202 in FIG. 2). The lock management means 12 judges from the block number list 21 in the state of FIG. 8 (steps 301 and 302 in FIG. 3), registers the block 55 in the block number list 21, and locks it (step 30 in FIG. 3).
4, 305).

【0044】続いて、ファイル更新手段11はビフォア
イメージ収集手段13を動作させる(図2のステップ2
03から205)。ビフォアイメージ収集手段13は、
ブロック55をデータファイル50から読み込み、チェ
ックポイントファイル31に書き出す(図4のステップ
401から403)。最後に、ファイル更新手段11
は、ファイルI/O手段14を動作させ(図2のステッ
プ206)、ファイルI/O手段14が、ブロック55
をデータファイル50に書き出して(ステップ図5のス
テップ502)、その後ジョブ42に戻る。
Subsequently, the file updating means 11 operates the before image collecting means 13 (step 2 in FIG. 2).
03-205). Before image collecting means 13
The block 55 is read from the data file 50 and written to the checkpoint file 31 (steps 401 to 403 in FIG. 4). Finally, the file updating means 11
Causes the file I / O means 14 to operate (step 206 in FIG. 2), and the file I / O means 14 causes the block 55
Is written in the data file 50 (step 502 in FIG. 5), and then the process returns to the job 42.

【0045】図8、図9の状態から、ジョブ42がチェ
ックポイントを取る時、ファイル更新手段11は、チェ
ックポイント手段15を動作させる(図2のステップ2
07)。チェックポイント手段15では、ブロック番号
リスト21から、ジョブ42に対して登録されているブ
ロック53とブロック54を削除する(図6のステップ
601)。
When the job 42 takes a checkpoint from the states shown in FIGS. 8 and 9, the file updating means 11 operates the checkpoint means 15 (step 2 in FIG. 2).
07). The checkpoint unit 15 deletes the blocks 53 and 54 registered for the job 42 from the block number list 21 (step 601 in FIG. 6).

【0046】また、ジョブ42がブロック54を書き出
しているため、チェックポイント手段15は、チェック
ポイントファイル31から更新前のブロック54の内容
を削除する(図6のステップ602)。最後に、チェッ
クポイント手段15は、ジョブ42のプログラムイメー
ジをチェックポイントファイル31に書き出して(図6
のステップ603)、ジョブ42に戻る。
Further, since the job 42 has written the block 54, the checkpoint means 15 deletes the contents of the block 54 before the update from the checkpoint file 31 (step 602 in FIG. 6). Finally, the checkpoint means 15 writes the program image of the job 42 to the checkpoint file 31 (see FIG. 6).
Step 603), and the process returns to the job 42.

【0047】図8、図9の状態から、ジョブ42がブロ
ック52を書き出そうとした場合を想定する。この場
合、ロック管理手段12では、ブロック52をブロック
番号リスト21に登録する(図3のステップ303)。
この後、ロック管理手段12は、ブロック番号リスト2
1から、ジョブ41が既にブロック52をロックしてい
るが、ジョブ41が既にジョブ42によって待たされて
いるため、デッドロックを検出して(図3のステップ3
04、306)、ブロック番号リスト21にデッドロッ
クの情報を記し、ロールバック手段16を動作させる
(図3のステップ308、309)。
It is assumed that the job 42 tries to write out the block 52 from the states shown in FIGS. In this case, the lock management means 12 registers the block 52 in the block number list 21 (step 303 in FIG. 3).
After this, the lock management means 12 uses the block number list 2
From FIG. 1, the job 41 has already locked the block 52, but the job 41 has already been made to wait by the job 42, so a deadlock is detected (step 3 in FIG. 3).
04, 306), the deadlock information is written in the block number list 21, and the rollback means 16 is operated (steps 308, 309 in FIG. 3).

【0048】ロールバック手段16は、まずジョブ42
が更新したブロックの内容を全て、チェックポイントフ
ァイル31からデータファイル50に書き戻す(図4の
ステップ401から404)。図8、図9では、ブロッ
ク54が書き戻される。次に、ロールバック手段16
は、チェックポイントファイル31から、ジョブ42が
前回チェックポイントを取った時の状態で、ジョブ42
自身を書き戻す(図4のステップ405、406)。こ
れにより、次にジョブ42は前回のチェックポイント時
点から処理を再開するようになる。
The roll-back means 16 first executes the job 42.
All the contents of the updated block are written back from the checkpoint file 31 to the data file 50 (steps 401 to 404 in FIG. 4). In FIGS. 8 and 9, the block 54 is written back. Next, the rollback means 16
Is the state when the job 42 took the checkpoint last time from the checkpoint file 31.
It writes back itself (steps 405 and 406 in FIG. 4). This causes the job 42 to resume processing from the time of the previous checkpoint.

【0049】また、ジョブ42にデッドロックが返され
ると、ブロック53は解放される。これにより、待ち合
わせていたジョブ41も処理を継続できるようになる。
ここでは、ジョブ41はブロック53を書き出して終了
するものとし、また、新しくジョブ43が、ジョブ41
と同じ順序でデータファイル50のブロックを更新し始
めるものとする。
When the deadlock is returned to the job 42, the block 53 is released. As a result, the waiting job 41 can also continue processing.
Here, it is assumed that the job 41 ends by writing the block 53, and the new job 43 is the job 41.
Let us begin to update the blocks of the data file 50 in the same order as.

【0050】ジョブ42は、処理を再開すると、まずブ
ロック53を読み込もうとする。この場合、ロック管理
手段12は、ブロック番号リスト21に記されたデッド
ロック発生の情報を確認して、そこに登録されているブ
ロック群を一括してロックし、最後にデッドロック発生
の情報を消去する(図3のステップ301、ステップ3
10から313)。この例では、ブロック53、ブロッ
ク54及び先にデッドロックが発生したブロック52が
一括してロックされる。
When the job 42 resumes processing, it first tries to read the block 53. In this case, the lock management means 12 confirms the information on the deadlock occurrence described in the block number list 21, locks the blocks registered therein collectively, and finally obtains the information on the deadlock occurrence. Erase (step 301, step 3 in FIG. 3)
10 to 313). In this example, the block 53, the block 54, and the block 52 in which the deadlock has previously occurred are locked together.

【0051】一方、ジョブ43では、ブロック51を読
み込んだ後で、ブロック52を書き出そうとするが、ブ
ロック52は既にジョブ42がロックしているため、ジ
ョブ3が待たされ、ジョブ42は処理を継続できる。こ
れにより、ジョブ42はブロック54の書き出し、及び
ブロック52の書き出しを、ジョブ43を待たせたまま
で、先に進ませることができる。
On the other hand, the job 43 attempts to write out the block 52 after reading the block 51. However, since the job 42 is already locked in the block 52, the job 3 is kept waiting and the job 42 is processed. Can continue. As a result, the job 42 can proceed with the writing of the block 54 and the writing of the block 52, with the job 43 kept waiting.

【0052】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments.

【0053】[0053]

【発明の効果】以上説明したように本発明によれば、デ
ッドロック後の最初のファイルアクセス時に、ブッドロ
ックが発生した時点までのブロック群を一括してロック
するため、デッドロックが返されたジョブが、直前のチ
ェックポイントから処理をやり直す場合に、ファイルア
クセスが優先され、処理を速やかに再開できる効果が得
られる。
As described above, according to the present invention, at the time of the first file access after the deadlock, the blocks up to the time when the bad lock occurs are collectively locked, so the job for which the deadlock is returned is returned. However, when the process is restarted from the immediately preceding checkpoint, the file access is prioritized and the process can be restarted promptly.

【0054】すなわち、デッドロックが発生して直前の
チェックポイントから処理を再開する場合に、最初のフ
ァイルアクセス時にデッドロックが発生した時点までに
アクセスしたブロック及びアクセスしようとしたブロッ
クを一括してロックするので、異なるブロックをアクセ
スする度に発生するロック処理が不要となる。このた
め、前回デッドロックが発生した時点よりも前に他ジョ
ブとの間で再びデッドロックに陥ることがなくなり、処
理を速やかに回復し更に先へ進ませることができるよう
になる。
That is, when a deadlock occurs and the processing is restarted from the immediately preceding checkpoint, the blocks accessed up to the time when the deadlock occurs at the time of the first file access are collectively locked Therefore, the lock process that occurs each time a different block is accessed becomes unnecessary. Therefore, the deadlock with another job does not occur again before the deadlock occurs last time, and the process can be promptly recovered and further advanced.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の実施の形態によるファイルの排他制
御システムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a file exclusive control system according to an embodiment of the present invention.

【図2】 ファイル更新手段による動作を説明するため
のフローチャートである。
FIG. 2 is a flowchart for explaining an operation of a file updating unit.

【図3】 ロック管理手段による動作を説明するための
フローチャートである。
FIG. 3 is a flowchart for explaining the operation of the lock management means.

【図4】 ビフォアイメージ収集手段による動作を説明
するためのフローチャートである。
FIG. 4 is a flowchart for explaining the operation of the before image collecting means.

【図5】 ファイルI/O手段による動作を説明するた
めのフローチャートである。
FIG. 5 is a flowchart for explaining the operation of the file I / O means.

【図6】 チェックポイント手段による動作を説明する
ためのフローチャートである。
FIG. 6 is a flowchart for explaining the operation of the checkpoint means.

【図7】 ロールバック手段による動作を説明するため
のフローチャートである。
FIG. 7 is a flowchart for explaining the operation of the rollback means.

【図8】 ブロック番号リストの内容例を示す図であ
る。
FIG. 8 is a diagram showing an example of contents of a block number list.

【図9】 チェックポイントファイルの内容例を示す図
である。
FIG. 9 is a diagram showing an example of the contents of a checkpoint file.

【符号の説明】[Explanation of symbols]

10 データ処理装置 11 ファイル更新手段 12 ロック管理手段 13 ビフォアイメージ収集手段 14 ファイルI/O手段 15 チェックポイント手段 16 ロールバック手段 20 主記憶装置 21 ブロック番号リスト 30 補助記憶装置 31 チェックポイントファイル 40 ジョブ群 41〜43 ジョブ 50 データファイル 51〜55 ブロック 10 data processing device 11 file updating means 12 lock managing means 13 before image collecting means 14 file I / O means 15 checkpoint means 16 rollback means 20 main memory 21 block number list 30 auxiliary memory 31 checkpoint file 40 job group 41 to 43 jobs 50 data files 51 to 55 blocks

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 データファイルを一定の大きさのブロッ
クに分割し、ブロックを単位とした排他制御によって複
数のジョブが同じデータファイルを同時に矛盾無くアク
セスできるようにしたファイルの排他制御システムにお
いて、 前記ジョブによるデータファイルのアクセス又はチェッ
クポイントの取得の際に、必要な制御手段を動作させる
ファイル更新手段と、 チェックポイントの間にアクセスしようとしたブロック
番号を登録するブロック番号リストと、 アクセスしようとするブロックをブロック番号リストに
登録して当該ブロックがロック可能か又はデッドロック
が発生するかを判定するロック管理手段と、 前記データファイルが更新される場合に、更新に先立っ
て更新前のブロック内容を収集するイメージ収集手段
と、 前記イメージ収集手段に収集された更新前のブロック内
容及びチェックポイントを取った時点のプログラム内容
を保存するチェックポイントファイルと、 前記データファイルの読み書きを行なうファイル入出力
手段と、 チェックポイント時に前記ブロック番号リストに登録さ
れているブロック番号を空にしてプログラム内容を保存
するチェックポイント手段と、 デッドロック発生時に、前記チェックポイントファイル
からデータファイルとプログラム内容を書き戻すロール
バック手段とから構成され、 デッドロック発生後にジョブが直前のチェックポイント
からデータファイルのアクセスを再開する場合に、前記
ブロック番号リストに登録されたデッドロック発生時点
までのブロック群を最初に一括してロックすることによ
り、デッドロックに陥ったジョブの実行及びデータファ
イルのアクセスを優先できるようにしたことを特徴とす
るファイルの排他制御システム。
1. A file exclusive control system in which a data file is divided into blocks of a certain size, and a plurality of jobs can simultaneously access the same data file without contradiction by exclusive control in block units, When a data file is accessed or a checkpoint is acquired by a job, a file updating means that operates the necessary control means, a block number list that registers the block number that was attempted to be accessed during the checkpoint, and an attempt to access Lock management means for registering a block in the block number list to determine whether the block can be locked or deadlock occurs, and when the data file is updated, the block contents before the update are updated before the update. Image collecting means for collecting, and the image A checkpoint file for storing the block contents before update collected in the collecting means and the program contents at the time when the checkpoint is taken, a file input / output means for reading and writing the data file, and a block number list for the checkpoint It consists of a checkpoint means that saves the program contents by emptying the registered block number, and a rollback means that writes back the data file and the program contents from the checkpoint file when a deadlock occurs. When the job resumes access to the data file from the last checkpoint, the block group registered up to the deadlock point registered in the block number list was locked at the beginning, resulting in a deadlock. Exclusive control system files, characterized in that the access of job execution and data files to allow priority.
【請求項2】 前記ロック管理手段は、デッドロック発
生直後の最初のファイルアクセスかどうかを判定し、最
初のファイルアクセスであればブロック番号リストに登
録されたブロック群を一括してロックすることを特徴と
する請求項1に記載のファイルの排他制御システム。
2. The lock management means determines whether or not it is the first file access immediately after the occurrence of the deadlock, and if it is the first file access, locks the block groups registered in the block number list all together. The exclusive control system for a file according to claim 1, wherein the exclusive control system is for a file.
【請求項3】 前記ロック管理手段は、デッドロックを
検出した場合に、前記ブロック番号リストにデッドロッ
クの発生を示す情報を記すと共に、前記ロールバック手
段を動作させることを特徴とする請求項1に記載のファ
イルの排他制御システム。
3. The lock management means, when detecting a deadlock, writes information indicating the occurrence of the deadlock in the block number list and operates the rollback means. File exclusive control system described in.
【請求項4】 ロック管理手段は、デッドロック発生直
後の最初のファイルアクセスかどうかを判定し、最初の
ファイルアクセスであれば、登録されているブロック群
を一括してロックし、かつ前記ブロック番号リストに記
されているデッドロック発生を示す情報を消去すること
を特徴とする請求項3に記載のファイルの排他制御シス
テム。
4. The lock management means determines whether or not it is the first file access immediately after the occurrence of the deadlock, and if it is the first file access, locks the registered block group at a time, and further, the block number. 4. The file exclusive control system according to claim 3, wherein information indicating occurrence of deadlock in the list is deleted.
JP8143549A 1996-05-13 1996-05-13 Exclusive file control system Expired - Fee Related JP2933011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8143549A JP2933011B2 (en) 1996-05-13 1996-05-13 Exclusive file control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8143549A JP2933011B2 (en) 1996-05-13 1996-05-13 Exclusive file control system

Publications (2)

Publication Number Publication Date
JPH09305469A true JPH09305469A (en) 1997-11-28
JP2933011B2 JP2933011B2 (en) 1999-08-09

Family

ID=15341337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8143549A Expired - Fee Related JP2933011B2 (en) 1996-05-13 1996-05-13 Exclusive file control system

Country Status (1)

Country Link
JP (1) JP2933011B2 (en)

Also Published As

Publication number Publication date
JP2933011B2 (en) 1999-08-09

Similar Documents

Publication Publication Date Title
JP4363676B2 (en) Computer system
US6493837B1 (en) Using log buffers to trace an event in a computer system
JP3763992B2 (en) Data processing apparatus and recording medium
US5369757A (en) Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
JP3197382B2 (en) Method and system for incremental time zero backup copy of data
JP2557172B2 (en) Method and system for secondary file status polling in a time zero backup copy process
JP2703479B2 (en) Data processing method and system having security function of time zero backup session
EP0268865A2 (en) Method and apparatus to provide faster update time during an improved subsystem checkpoint cycle
US5752268A (en) Minimum-delay recoverable disk control system using checkpoints and nonvolatile memory
US20070043975A1 (en) Methods and apparatus for recovering from fatal errors in a system
JPH0683679A (en) Method and system for simultaneous access in backup copy of data
JPH0683687A (en) Data processing system and method thereof
EP1556795A2 (en) Apparatus and method for hardware-based file system
US5715447A (en) Method of and an apparatus for shortening a lock period of a shared buffer
JP5012628B2 (en) Memory database, memory database system, and memory database update method
JPH05210555A (en) Method and device for zero time data-backup-copy
JP3070453B2 (en) Memory failure recovery method and recovery system for computer system
JP3107094B2 (en) Method and apparatus for shortening shared buffer lock period
JP2933011B2 (en) Exclusive file control system
JPH0816881B2 (en) Database update method
JP3450154B2 (en) File access processing system
JP2973425B2 (en) Fault handling method and device therefor
JPH0324648A (en) Simultaneous file access control system
JPH0443441A (en) Log control processing system for data base
JPH0816880B2 (en) Database system and processing method thereof

Legal Events

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