[go: up one dir, main page]

JPH04130936A - Control system for simultaneous access to file - Google Patents

Control system for simultaneous access to file

Info

Publication number
JPH04130936A
JPH04130936A JP2250251A JP25025190A JPH04130936A JP H04130936 A JPH04130936 A JP H04130936A JP 2250251 A JP2250251 A JP 2250251A JP 25025190 A JP25025190 A JP 25025190A JP H04130936 A JPH04130936 A JP H04130936A
Authority
JP
Japan
Prior art keywords
file
record
control means
buffer
update
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
JP2250251A
Other languages
Japanese (ja)
Inventor
Yoshio Kariya
刈谷 善雄
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 JP2250251A priority Critical patent/JPH04130936A/en
Publication of JPH04130936A publication Critical patent/JPH04130936A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To improve the through-put of the whole system by storing updated contents by means of an updated journal record without directly updating the block of a data file developed in a buffer of a memory, and at the time of setting up a check point, reflecting the updated contents for the buffer and rewriting the reflected contents in the data file. CONSTITUTION:A user program 1 requests the reference/updating of a record in the data file 8 which is occasionally required in its processing process to a data access program 2. The request from the program 1 is inputted to an exclusive control means 3 in the program 2 and the means 3 decides whether the request is to be received, to be waited because of being used by another program, or to be rejected because of the generation of deadlock with another program in accordance with a known method, and in the case of reception, transfers the input of a reference request to a buffer control means 4 or transfers the input of an updating request to an updated journal control means 5.

Description

【発明の詳細な説明】 [産業上の利用分野〕 本発明はファイル同時アクセス制御方式に関し、特にレ
コード単位の排他制御方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a simultaneous file access control system, and particularly to a record-based exclusive control system.

〔従来の技術〕[Conventional technology]

複数のプロセス(プログラム)によってデータファイル
を共用する場合、データの内容に矛盾が生じないように
アクセス制W(排他制御)を行う必要がある。
When a data file is shared by a plurality of processes (programs), it is necessary to perform access control W (exclusive control) to prevent conflicts in data contents.

ところで、アクセス制御はその管理の容易さからデータ
ファイルの入出力単位であるブロックを単位にして行わ
れることが多いが、これによると1つのプロセスによっ
て占有される範囲が広く、他のプロセスの待ち合わせが
多く発生する等、処理性能に影響を与えることから、ブ
ロックよりも小さなレコードを単位としてアクセス制御
を行うのが望ましい。
By the way, access control is often performed in units of blocks, which are input/output units of data files, for ease of management, but according to this, the area occupied by one process is wide, and it is difficult to wait for other processes. It is desirable to perform access control in units of records smaller than blocks, since this affects processing performance.

このようなことから、レコード単位にアクセス制御を行
うようにしたシステムが提供されている。
For this reason, systems have been provided that control access on a record-by-record basis.

〔発明が解決しようとする課題] 上述したように、レコード単位にアクセス制御を行う場
合は1つのプロセスにより占有される範囲が狭く、好ま
しいものであるが、デッドロックや異常終了時のファイ
ルロールバックを可能とするために更新後ジャーナルの
みならず更新前ジャーナルも収集しなければならず、こ
の更新前ジャーナルの収集のためにかえって処理性能が
低下してしまうという欠点があった。
[Problems to be Solved by the Invention] As mentioned above, when access control is performed on a record-by-record basis, the range occupied by one process is narrow, which is preferable, but file rollback in the event of deadlock or abnormal termination is In order to make this possible, it is necessary to collect not only post-update journals but also pre-update journals, and this collection of pre-update journals has the drawback of reducing processing performance.

すなわち、一般にデータファイルの参照・更新は、デー
タファイルから必要なブロックをメモリ上のバッファに
読み込み、その上で参照・更新が行われるものであり、
ブロック単位のアクセス制御ではバッファ上のブロック
全体についての更新ヲ=効にすることによりファイルロ
ールバックが可能であるが、レコード単位のアクセス制
御では1つのブロック内に有効な更新レコードと無効に
すべき更新レコードとが混在することになり、無効にす
るレコードを元の内容に戻すために更新前ジャーナルが
必要となる。
In other words, in general, when referencing and updating a data file, the necessary blocks are read from the data file into a buffer in memory, and then referenced and updated.
With block-based access control, file rollback is possible by enabling updates for the entire block on the buffer, but with record-based access control, update records that are valid within one block must be disabled. This results in a mixture of updated records, and a pre-update journal is required to restore the invalidated records to their original contents.

本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、更新前ジャーナルを収集することな
く効率の良いレコード単位のアクセス制御を可能とし、
システム全体のスループットの向上を図ることのできる
ファイル同時アクセス制御方式を提供することにある。
The present invention has been proposed in view of the above points, and its purpose is to enable efficient record-based access control without collecting pre-update journals,
The object of the present invention is to provide a file simultaneous access control method that can improve the throughput of the entire system.

〔課題を解決するための手段〕[Means to solve the problem]

本発明は上記の目的を達成するため、データファイル内
のレコードに対し複数のプロセスから参照・更新を行う
ために必要な同時アクセスを管理する排他制御手段と、 大規模メモリ空間を管理し、複数のプロセスに対してデ
ータファイルのブロック単位にバッファの割り当て・解
放・物理入出力を行うバッファ制御手段と、 更新に際し、メモリ上に対応する更新後ジャーナルレコ
ードがなければ更新後ジャーナルレコードを生成し、あ
れば更新後ジャーナルレコードに対して更新を行い、チ
ェックポイントまたはファイルロールパンクの実行まで
各ブロック対応に該当プロセスの識別子とともにメモリ
上で管理する更新後ジャーナル制御手段と、 チェックポイント要求に従い該当プロセスの更新後ジャ
ーナルレコードを更新後ジャーナル蓄積ファイルへ出力
すると共にバッファに反映した後、バッファ内容をデー
タファイルへ出力して静止点を設定するチェックポイン
ト手段とを備えるようにしている。
In order to achieve the above object, the present invention provides exclusive control means for managing simultaneous access necessary for referencing and updating records in a data file from multiple processes, and for managing a large-scale memory space and for managing multiple a buffer control means that allocates, releases, and performs physical input/output of buffers in block units of data files for the process; and a buffer control means that generates an updated journal record if there is no corresponding updated journal record in memory when updating; a post-update journal control means that updates the post-update journal record, if any, and manages it in memory along with the identifier of the process for each block until execution of a checkpoint or file roll puncture; The apparatus includes checkpoint means for outputting the updated journal record to the updated journal storage file and reflecting it in the buffer, and then outputting the buffer contents to the data file to set a static point.

〔作用〕[Effect]

本発明のファイル同時アクセス制御方式にあっては、排
他制御手段がデータファイル内のレコードに対し複数の
プロセスから参照・更新を行うために必要な同時アクセ
スを管理し、バッファ制御手段が大規模メモリ空間を管
理し、複数のプロセスに対してデータファイルのブロッ
ク単位にバッファの割り当て・解放・物理入出力を行い
、更新に際し更新後ジャーナル制御手段がメモリ上に対
応する更新後ジャーナルレコードがなければ更新後ジャ
ーナルレコードを生成し、あれば更新後ジャーナルレコ
ードに対して更新を行い、チェックポイントまたはファ
イルロールハックの実行まで各ブロック対応に該当プロ
セスの識別子とともにメモリ上で管理し、チェックポイ
ント要求に従いチェックポイント手段が該当プロセスの
更新後ジャーナルレコードを更新後ジャーナル蓄積ファ
イルへ出力すると共にバッファに反映した後、バッファ
内容をデータファイルへ出力して静止点を設定する。
In the file simultaneous access control method of the present invention, the exclusive control means manages simultaneous access necessary for referencing and updating records in the data file from multiple processes, and the buffer control means manages the large-scale memory It manages the space, allocates/releases buffers, and performs physical input/output for multiple processes in block units of data files, and when updating, if the post-update journal control means does not have a corresponding post-update journal record in memory, it updates the data file. Generates a post-journal record, updates the post-update journal record if any, and manages each block in memory along with the corresponding process identifier until a checkpoint or file roll hack is executed, and performs a checkpoint according to a checkpoint request. The means outputs the updated journal record of the corresponding process to the updated journal accumulation file and reflects it in the buffer, and then outputs the buffer contents to the data file to set a quiescent point.

〔実施例〕〔Example〕

以下、本発明の実施例につき図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.

第1図は本発明のファイル同時アクセス制御方式の一実
施例を示す構成図である。
FIG. 1 is a block diagram showing an embodiment of the simultaneous file access control method of the present invention.

第1図において、本実施例は、利用者プログラム1と、
データアクセスプログラム2と、データファイル8と、
更新後ジャーナル蓄積ファイル9とから構成されている
。また、データアクセスプログラム2は、排他制御手段
3と、バッファ制御手段4と、更新後ジャーナル制御手
段5と、チェックポイント手段6と、ファイルロールバ
ック手段7とを含んでいる。
In FIG. 1, this embodiment has a user program 1,
data access program 2, data file 8,
It is composed of an updated journal accumulation file 9. The data access program 2 also includes exclusive control means 3, buffer control means 4, post-update journal control means 5, checkpoint means 6, and file rollback means 7.

各部の機能等の概略は次の通りである。The functions of each part are outlined below.

利用者プログラム1;データファイル8内のレコードに
対する参照・更新を含む業務プログラムである。
User program 1: This is a business program that includes references and updates to records in the data file 8.

データアクセスプログラム2;利用者プログラム1から
の要求に応してデータファイル8に対するアクセスをj
テうプログラムである。
Data access program 2: Accesses data file 8 in response to a request from user program 1.
This is a very useful program.

排他制御手段3;データファイル8内のレコードに対し
複数のプロセス(利用者プログラム1)から参照・更新
を行うために必要な同時アクセスを管理する部分である
Exclusive control means 3: This is a part that manages simultaneous access necessary for referencing and updating records in the data file 8 from a plurality of processes (user programs 1).

バッファ制御手段4;大規模メモリ空間(図示せず)を
管理し、複数のプロセスに対してデータファイル8のブ
ロック単位にバッファの割り当て・解放・物理入出力を
行う部分である。処理の詳細は第2図に示す通りである
Buffer control means 4: This is a part that manages a large-scale memory space (not shown) and performs buffer allocation, release, and physical input/output for each block of the data file 8 for a plurality of processes. The details of the process are as shown in FIG.

更新後ジャーナル制御手段5;更新に際し、メモリ上に
対応する更新後ジャーナルレコードがなければ更新後ジ
ャーナルレコードを生成し、あれば更新後ジャーナルレ
コードに対して更新を行い、チェックポイントまたはフ
ァイルロールバックの実行まで各ブロック対応に該当プ
ロセスの識別子とともに更新後ジャーナルレコードをメ
モリ上で管理する部分である。処理の詳細は第3図に示
す通りである。
Post-update journal control means 5: When updating, if there is no corresponding post-update journal record on the memory, a post-update journal record is generated, and if there is, it updates the post-update journal record, and performs a checkpoint or file rollback. This is the part that manages updated journal records in memory along with the identifier of the corresponding process for each block until execution. The details of the process are as shown in FIG.

チェックポイント手段6:利用者プログラム1からのチ
ェックポイント要求に従い該当プロセスの更新後ジャー
ナルレコードを更新後ジャーナル蓄積ファイル9へ出力
すると共にバッファに反映した後、バッファ内容をデー
タファイル8へ出力して静止点を設定する部分である。
Checkpoint means 6: In accordance with the checkpoint request from the user program 1, outputs the updated journal record of the corresponding process to the updated journal accumulation file 9, reflects it in the buffer, outputs the buffer contents to the data file 8, and stops it. This is the part where you set the points.

処理の詳細は第4図に示す通りである。The details of the process are shown in FIG.

ファイルロールハック手段7:プログラムアボートまた
はデッドロック発生時にメモリ上に保持された該当プロ
セスの更新後ジャーナルレコードを廃棄して直前の静止
点におけるファイル内容を保証する部分である。処理の
詳細は第5図に示す通りである。
File roll hacking means 7: This is a part that discards the updated journal record of the corresponding process held in the memory when a program abort or deadlock occurs, and guarantees the file contents at the immediately previous quiescent point. The details of the process are as shown in FIG.

データファイル8;参照・更新の対象となるファイルで
ある。
Data file 8: This is a file to be referenced and updated.

更新後ジャーナル蓄積ファイル9;更新後ジャーナルレ
コードを蓄積するファイルである。
Post-update journal accumulation file 9: This is a file that accumulates post-update journal records.

以下、第1図ないし第5図を参照して上記の実施例の動
作を説明する。
The operation of the above embodiment will be described below with reference to FIGS. 1 to 5.

第1図において、利用者プログラム1は、その処理過程
で随時必要となったデータファイル8内のレコードの参
照・更新をデータアクセスプログラム2に対して要求す
る。なお、更新要求に際しては、レコードポインタと更
新後レコードイメージとをデータアクセスプログラム2
へ渡す。
In FIG. 1, a user program 1 requests a data access program 2 to refer to and update records in a data file 8 as necessary during the processing process. In addition, when making an update request, the record pointer and the updated record image are sent to the data access program 2.
pass it on to

利用者プログラム1からの要求はデータアクセスプログ
ラム2の排他制御手段3に取り込まれ、排他制御手段3
は、周知の方式に従って、この要求を受は入れるべきか
、他プログラムにて使用中のため待たせるべきか、他プ
ログラムとの間でデッドロックが発生するため拒否すべ
きであるかを判断し、受は入れる場合には、参照要求で
あればその旨をバッファ制御手段4へ、更新要求であれ
ばその旨を更新後ジャーナル制御手段5へ渡す。
The request from the user program 1 is taken into the exclusive control means 3 of the data access program 2, and the exclusive control means 3
uses a well-known method to determine whether to accept this request, make it wait because it is being used by another program, or reject it because a deadlock will occur with another program. , when accepting, if it is a reference request, that fact is passed to the buffer control means 4, and if it is an update request, that fact is passed to the post-update journal control means 5.

他プログラムにて使用中の資源であった場合には、その
資源が解放されるまで利用者プログラム1を一時停止さ
せ、資源が解放された時点で要求を受は入れ、参照要求
であればその旨をバッファ制御手段4へ、更新要求であ
ればその旨を更新後ジャーナル制御手段5へ渡す。
If the resource is being used by another program, user program 1 is suspended until the resource is released, and the request is accepted when the resource is released. If it is an update request, it is passed to the post-update journal control means 5.

他プログラムとの間でデッドロック状態が成立した場合
にはその旨を利用者プログラム1へ通知する。
If a deadlock state is established with another program, the user program 1 is notified of this fact.

利用者プログラム1からの参照要求が受は入れられた場
合のバッファ制御手段4の処理を第2図を参照して以下
に説明する。
The processing of the buffer control means 4 when the reference request from the user program 1 is accepted will be explained below with reference to FIG.

通知(資源確保通知)を受は取ったバッファ制御手段4
は、データファイル8の要求されたレコードを含むブロ
ックが既にメモリ上のハソファに存在するか否かを調べ
(ステップ41)、存在する場合(ステップ41のYE
S)には、このブロックに関連して利用者プログラム1
の更新にかかる更新後ジャーナルレコードを検索し、要
求されたレコードに対応するものを探しくステップ42
)あるか否かを判断する(ステップ43)。
Buffer control means 4 that received the notification (resource reservation notification)
checks whether a block containing the requested record of data file 8 already exists in the memory sofa (step 41), and if it does exist (YES in step 41).
S) has user program 1 associated with this block.
Step 42: Search the updated journal records related to the update and find one that corresponds to the requested record.
) is present (step 43).

対応する更新後ジャーナルレコードが見つかった場合(
ステップ43のYES)には1、その更新後ジャーナル
レコードへのポインタを記憶しくステップ44)、利用
者プログラム1へ戻る。
If a corresponding post-update journal record is found (
If YES in step 43), the pointer to the updated journal record is stored and the process returns to user program 1 in step 44).

対応する更新後ジャーナルレコードが見つからなかった
場合(ステップ43のNo)には、ブロック内の該当す
るレコードへのポインタを記憶しくステップ45)、利
用者プログラム1へ戻る。
If the corresponding updated journal record is not found (No in step 43), a pointer to the corresponding record in the block is stored (step 45), and the process returns to the user program 1.

また、要求されたデータファイル8のレコードを含むブ
ロックがメモリ上のへソファに存在していない場合(ス
テップ41のNo)には、新たなバッファ領域を確保し
、データファイル内の該当するブロックを読み込み(ス
テップ46)、そのブロック内の要求されたレコードへ
のポインタを記憶しくステップ45)、利用者プログラ
ム1へ戻る。
Furthermore, if the block containing the requested record of data file 8 does not exist in the memory (No in step 41), a new buffer area is secured and the corresponding block in the data file is Read (step 46), store the pointer to the requested record in the block (step 45), and return to user program 1.

次に、利用者プログラム1からの更新要求が受は入れら
れた場合の更新後ジャーナル制御手段5の処理を第3図
を参照して以下に説明する。
Next, the processing of the post-update journal control means 5 when the update request from the user program 1 is accepted will be explained below with reference to FIG.

更新要求を受は取った更新後ジャーナル制御手段5は、
要求されたレコードが更新後ジャーナルレコードとして
登録されているか否かを判断する(ステップ51)。
The post-update journal control means 5 that has received the update request,
It is determined whether the requested record is registered as an updated journal record (step 51).

更新後ジャーナルレコードとして登録されていない場合
(ステップ51のYES)には、メモリ上に新たな領域
を確保しくステップ52)、更新後ジャーナルレコード
を生成して登録しくステップ53)、利用者プログラム
へ戻る。
If it is not registered as an updated journal record (YES in step 51), a new area is secured in the memory (step 52), an updated journal record is generated and registered (step 53), and the user program is return.

更新後ジャーナルレコードとしてメモリ上に登録されて
いる場合(ステップ51のNo)には、その更新後ジャ
ーナルレコードの内容を、利用者プログラム1から更新
要求とともに受は取った更新後レコードイメージで置き
換え(ステップ54)利用者プログラムへ戻る。
If it is registered in the memory as a post-update journal record (No in step 51), the content of the post-update journal record is replaced with the post-update record image received along with the update request from the user program 1 ( Step 54) Return to user program.

次に、第4図を参照してチェックポイント処理について
説明する。
Next, checkpoint processing will be explained with reference to FIG.

利用者プログラム1は一連の処理に区切りが付いた時点
で、静止点の確立と他プログラムのための資源解放とを
目的としたチェックポイント手段を発行する。
When a series of processing ends, the user program 1 issues a checkpoint means for establishing a stopping point and releasing resources for other programs.

この要求はデータアクセスプログラム2のチェックポイ
ント手段6によって受は付けられ、チェックポイント手
段6は、その利用者プログラム1によってなされた更新
をデータファイル8に反映させる。
This request is accepted by the checkpoint means 6 of the data access program 2, which causes the data file 8 to reflect the updates made by the user program 1.

すなわち、チェックポイント手段6は、第4図に示すよ
うに、バッファ領域の先頭ブロックを取り出しくステッ
プ61)、ブロックの存在を判断する(ステップ62)
That is, as shown in FIG. 4, the checkpoint means 6 extracts the first block of the buffer area (step 61) and determines the existence of the block (step 62).
.

存在しない場合(ステップ62のNo)には、排他制御
手段3へ資源の解放要求を発行しくステップ69)、チ
ェックポイント処理を完了する。
If it does not exist (No in step 62), a resource release request is issued to the exclusive control means 3 (step 69), and the checkpoint process is completed.

一方、ブロックが存在する場合(ステップ62のYES
)には、その利用者プログラムlによって登録された更
新後ジャーナルレコードが存在するか否かを調べる(ス
テップ63)。
On the other hand, if the block exists (YES in step 62)
), it is checked whether there is an updated journal record registered by the user program l (step 63).

存在する場合(ステップ63のYES)には、バッファ
上のブロックの更新後ジャーナルレコードに対応するレ
コードの内容を更新後ジャーナルレコードの内容で1き
換え(ステップ64)、更新後ジャーナルレコードを更
新後ジャーナル蓄積ファイル9へ書き出しくステップ6
5)、そのブロックをデータファイル8へ書き出しくス
テップ66)、更新後ジャーナルレコードを消去する(
ステップ67)。
If it exists (YES in step 63), the contents of the record corresponding to the updated journal record of the block on the buffer are replaced by the contents of the updated journal record (step 64), and the updated journal record is replaced with the updated journal record. Step 6: Export to journal storage file 9
5), write the block to the data file 8 (step 66), delete the journal record after update (
Step 67).

そして、バッファ領域から次のブロックを取り出しくス
テップ68)、ステップ62に戻る。
Then, step 68) takes out the next block from the buffer area, and the process returns to step 62.

一方、その利用者プログラム1によって登録された更新
後ジャーナルレコードが存在しない場合(ステップ63
のNO)には、ステップ64〜67は行わない。
On the other hand, if the updated journal record registered by the user program 1 does not exist (step 63
(NO), steps 64 to 67 are not performed.

次に、第5図を参照してファイルロールハック処理につ
いて説明する。
Next, file roll hack processing will be explained with reference to FIG.

利用者プログラム1は排他制御手段3からデンドロツク
による要求の拒否通知を受けたり、異常終了したりした
場合、直前の静止点以降に行ったデータ更新の無効化を
目的としたファイルロールハック要求を発行する。
When the user program 1 receives a request rejection notification from the exclusive control means 3 or terminates abnormally, it issues a file roll hack request for the purpose of invalidating data updates made after the previous quiescent point. do.

この要求はデータアクセスプログラム2のファイルロー
ルハック手段7によって受は付けられ、ファイルロール
バンク手段7は、その利用者プログラム1によってなさ
れた更新を取り消す。
This request is accepted by the file roll hack means 7 of the data access program 2, and the file roll bank means 7 cancels the updates made by the user program 1.

すなわち、ファイルロールバック手段7は、第5図に示
すように、バッファ領域の先頭プロ、りを取り出しくス
テップ71)、ブロックの存在を判断する(ステップ7
2)。
That is, as shown in FIG. 5, the file rollback means 7 extracts the first program in the buffer area (step 71) and determines the existence of a block (step 7).
2).

ブロックが存在しない場合(ステップ72のNO)には
、排他制御手段3へ資源の解放要求を発行シ(ステップ
76)、ファイルロールハック処理を完了する。
If the block does not exist (NO in step 72), a resource release request is issued to the exclusive control means 3 (step 76), and the file roll hack processing is completed.

一方、ブロックが存在する場合(ステップ72のYES
)には、その利用者プログラム1によって登録された更
新後ジャーナルレコードが存在するか否かを調べる(ス
テップ73)。
On the other hand, if the block exists (YES in step 72)
), it is checked whether there is an updated journal record registered by the user program 1 (step 73).

存在する場合(ステップ73のYES)には、その更新
後ジャーナルレコードを消去する(ステップ74)。ま
た、更新後ジャーナルレコードが存在しない場合(ステ
ップ73のNO)には、ステップ74は行わない。
If it exists (YES in step 73), the updated journal record is deleted (step 74). Further, if the updated journal record does not exist (NO in step 73), step 74 is not performed.

そして、バッファ領域から次のブロックを取り出しくス
テップ75)、ステップ72に戻る。
Then, step 75) takes out the next block from the buffer area, and the process returns to step 72.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明のファイル同時アクセス制
御方式にあっては、複数のプロセスがレコード単位でデ
ータファイルを共有しながら動作する場合において、メ
モリ上のバッファに展開したデータファイルのブロック
に対して直接に更新を行うのではなく、更新後ジャーナ
ルレコードを用いて更新内容を保持して行き、チェック
ポイントの設定時にバッファに反映してデータファイル
へ書き戻すようにしているので、ファイルロールハック
に際しては更新後ジャーナルレコードを消去するだけで
済み、ファイルロールハックに備えて更新前ジャーナル
を収集する必要がなく、システム全体のスルーブツトを
向上できるという効果がある。
As explained above, in the file simultaneous access control method of the present invention, when multiple processes operate while sharing a data file on a record basis, blocks of the data file developed in a buffer in memory are Rather than updating directly, the updated content is retained using a journal record after the update, and when a checkpoint is set, it is reflected in the buffer and written back to the data file. , it is only necessary to delete the journal records after the update, and there is no need to collect the journal before the update in case of a file roll hack, which has the effect of improving the throughput of the entire system.

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

第1図は本発明のファイル同時アクセス制御方式の一実
施例を示す構成図、 第2図は第1図におけるバッファ制御手段の処理を示す
フローチャート、 第3図は第1図における更新後ジャーナル制御手段の処
理を示すフローチャート、 第4図は第1図におけるチェックポイント手段の処理を
示すフローチャートおよび、 第5図は第1図におけるファイルロールハック手段の処
理を示すフローチャートである。 図において、 l・・・・・・利用者プログラム 2・・・・・・データアクセスプログラム3・・・・・
・排他制御手段 4・・・・・・バッファ制御手段 5・・・・・・更新後ジャーナル制御手段6・・・・・
・チェックポイント手段 7・・・・・・ファイルロールハック手段8・・・・・
・データファイル
FIG. 1 is a block diagram showing an embodiment of the file simultaneous access control method of the present invention, FIG. 2 is a flowchart showing the processing of the buffer control means in FIG. 1, and FIG. 3 is the post-update journal control in FIG. 1. FIG. 4 is a flowchart showing the processing of the checkpoint means in FIG. 1; FIG. 5 is a flowchart showing the processing of the file roll hacking means in FIG. 1. In the figure, l...User program 2...Data access program 3...
・Exclusive control means 4... Buffer control means 5... Post-update journal control means 6...
・Checkpoint method 7...File roll hack method 8...
·data file

Claims (2)

【特許請求の範囲】[Claims] (1)データファイル内のレコードに対し複数のプロセ
スから参照・更新を行うために必要な同時アクセスを管
理する排他制御手段と、 大規模メモリ空間を管理し、複数のプロセスに対してデ
ータファイルのブロック単位にバッファの割り当て・解
放・物理入出力を行うバッファ制御手段と、 更新に際し、メモリ上に対応する更新後ジャーナルレコ
ードがなければ更新後ジャーナルレコードを生成し、あ
れば更新後ジャーナルレコードに対して更新を行い、チ
ェックポイントまたはファイルロールバックの実行まで
各ブロック対応に該当プロセスの識別子とともにメモリ
上で管理する更新後ジャーナル制御手段と、 チェックポイント要求に従い該当プロセスの更新後ジャ
ーナルレコードを更新後ジャーナル蓄積ファイルへ出力
すると共にバッファに反映した後、バッファ内容をデー
タファイルへ出力して静止点を設定するチェックポイン
ト手段とを備えたことを特徴とするファイル同時アクセ
ス制御方式。
(1) An exclusive control means that manages the simultaneous access necessary for multiple processes to refer to and update records in a data file, and a large memory space that manages the data file for multiple processes. A buffer control means that allocates, releases, and physically inputs/outputs buffers in block units, and generates an updated journal record if there is no corresponding updated journal record in memory when updating; A post-update journal control means that updates the post-update journal record for each block and manages it in memory along with the ID of the process until a checkpoint or file rollback is executed; A simultaneous file access control method comprising checkpoint means for outputting to a storage file and reflecting in a buffer, and then outputting the buffer contents to a data file to set a static point.
(2)プログラムアボートまたはデッドロック発生時に
メモリ上に保持された該当プロセスの更新後ジャーナル
レコードを廃棄して直前の静止点におけるファイル内容
を保証するファイルロールバック手段を備えたことを特
徴とする請求項1記載のファイル同時アクセス制御方式
(2) A claim characterized by having a file rollback means that discards the updated journal record of the relevant process held in memory when a program abort or deadlock occurs to guarantee the file contents at the previous quiescent point. File simultaneous access control method described in Section 1.
JP2250251A 1990-09-21 1990-09-21 Control system for simultaneous access to file Pending JPH04130936A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2250251A JPH04130936A (en) 1990-09-21 1990-09-21 Control system for simultaneous access to file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2250251A JPH04130936A (en) 1990-09-21 1990-09-21 Control system for simultaneous access to file

Publications (1)

Publication Number Publication Date
JPH04130936A true JPH04130936A (en) 1992-05-01

Family

ID=17205098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2250251A Pending JPH04130936A (en) 1990-09-21 1990-09-21 Control system for simultaneous access to file

Country Status (1)

Country Link
JP (1) JPH04130936A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014735A (en) * 2011-10-04 2012-01-19 Hitachi Ltd Storage device system and data restoring method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014735A (en) * 2011-10-04 2012-01-19 Hitachi Ltd Storage device system and data restoring method

Similar Documents

Publication Publication Date Title
JP2505939B2 (en) How to control data castout
US5276835A (en) Non-blocking serialization for caching data in a shared cache
US5355477A (en) Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning
JP2603369B2 (en) How to ensure consistency between common pages in the local cache
US5574902A (en) Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store
US5946711A (en) System for locking data in a shared cache
US5537574A (en) Sysplex shared data coherency method
JP2575543B2 (en) Simultaneous access management method
US5920872A (en) Resource management using resource domains
EP0389242B1 (en) Data base processing system using multiprocessor system
US20040049636A1 (en) Technique for data transfer
US5715447A (en) Method of and an apparatus for shortening a lock period of a shared buffer
JP4746838B2 (en) Partitioning database ownership between different database servers to control access to the database
JPH05128072A (en) Inter-system exclusive control method
JP2829115B2 (en) File sharing method
JP2001282599A (en) Data management method and apparatus, and recording medium storing data management program
JP4286857B2 (en) Internode shared file control method
JP2685530B2 (en) How to manage shared data
JPH04130936A (en) Control system for simultaneous access to file
JP3107094B2 (en) Method and apparatus for shortening shared buffer lock period
JP3866448B2 (en) Internode shared file control method
KR0152714B1 (en) Buffer Management Method Using Buffer Locking Technique in Storage System in Multi-User Environment
JPH01112444A (en) Data access system
JPH0588954A (en) Data base updating method
JP2933011B2 (en) Exclusive file control system