JP2002207603A - 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体 - Google Patents

排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体

Info

Publication number
JP2002207603A
JP2002207603A JP2001002835A JP2001002835A JP2002207603A JP 2002207603 A JP2002207603 A JP 2002207603A JP 2001002835 A JP2001002835 A JP 2001002835A JP 2001002835 A JP2001002835 A JP 2001002835A JP 2002207603 A JP2002207603 A JP 2002207603A
Authority
JP
Japan
Prior art keywords
job
block
exclusive control
lock
updated
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
JP2001002835A
Other languages
English (en)
Inventor
Seiji Sugiyama
誠治 杉山
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 JP2001002835A priority Critical patent/JP2002207603A/ja
Publication of JP2002207603A publication Critical patent/JP2002207603A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】スループットを低下させることなくデータ間の
論理的整合性をとってデータを参照することができる排
他制御方式を提供する。 【解決手段】ファイル中の何れかのブロックについてジ
ョブからの更新要求を受け付けた場合は、当該ブロック
を更新中ロックして更新前の当該ブロックの内容を保存
し、更新が完了した場合は、更新済ロックに変更し、チ
ェックポイント時にはアンロックする排他制御方式であ
って、前記ブロックについてジョブからの強制参照要求
を受け付け、当該ブロックが他のジョブにより更新済ロ
ックされている場合は、保存されている当該ブロックの
更新前の内容を当該ジョブに返却し、当該ブロックが他
のジョブにより更新中ロックされている場合には、更新
済ロックに変更されるまで待ち合わせ、更新済ロックに
変更されたときに、保存されている当該ブロックの更新
前の内容を当該ジョブに返却することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、排他制御方式、排
他制御方法および排他制御用プログラムを記録した記録
媒体に関し、特に、スループットを低下させることなく
データ間の論理的整合性をとってデータを参照すること
ができる排他制御方式、排他制御方法および排他制御用
プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】従来、複数のジョブが同一のデータファ
イルにアクセスする場合、同時更新等が発生しないよう
に排他制御されていた。すなわち、あるジョブがデータ
ファイルのあるブロックを更新している場合には、別の
ジョブはそのブロックを参照できず、同様にあるジョブ
がデータファイルのあるブロックを参照している場合に
は、別のジョブはそのブロックを更新することができな
いこととすることにより排他制御を行っていた。
【0003】しかし、このような排他制御はジョブの待
ちが発生するため、スループットが低下していた。
【0004】これを解決するための技術として特開平0
2−224152があるが、この技術は、あるジョブが
データファイルのあるブロックを更新している場合に
は、実際の更新中(実際にファイルI/Oを行っている
瞬間)を除き、別のジョブからそのブロックを参照でき
るようにしたものであった。
【0005】
【発明が解決しようとする課題】しかし、従来の技術で
は、スループットは向上するものの、データファイルの
内容が、あるブロックでは別ジョブによる更新前のイメ
ージ、他のブロックでは更新後のイメージとなる等、デ
ータ間の論理的整合性がとれなくなってしまうという問
題点があった。
【0006】本発明の目的は、スループットを低下させ
ることなくデータ間の論理的整合性をとってデータを参
照することができる排他制御方式を提供することにあ
る。
【0007】
【課題を解決するための手段】本発明の第1の排他制御
方式は、ファイル中の何れかのブロックについてジョブ
からの強制参照要求を受け付け、当該ブロックが他のジ
ョブに更新された状態であって、かつ当該他のジョブの
チェックポイント前である場合には、当該ブロックの更
新前の内容を当該ジョブに返却することを特徴とする。
【0008】本発明の第2の排他制御方式は、ファイル
中の何れかのブロックについてジョブからの更新要求を
受け付け、当該ブロックが他のジョブによりロックされ
ていない場合は、当該ブロックを更新中ロックして更新
前の当該ブロックの内容を保存し、更新が完了した場合
は、更新済ロックに変更し、チェックポイント時にはア
ンロックする排他制御方式であって、前記ブロックを強
制参照ロックする旨の指示を受け付け、当該ブロックが
他のジョブにより更新済ロックされている場合は、当該
ブロックを強制参照ロックし、当該ブロックが他のジョ
ブにより更新中ロックされている場合には、更新済ロッ
クに変更されるまで待ち合わせ、更新済ロックに変更さ
れたときに、当該ブロックを強制参照ロックする排他制
御手段と、前記ブロックについてジョブからの強制参照
要求を受け付け、前記排他制御手段を起動して当該ブロ
ックを強制参照ロックし、他のジョブにより当該ブロッ
クが更新済ロックされている場合には、当該他のジョブ
により保存された当該ブロックの更新前の内容を返却す
るファイルアクセス手段とを備えたことを特徴とする。
【0009】本発明の第3の排他制御方式は、第2の排
他制御方式において、前記排他制御手段は、前記ジョブ
がロックしていた全てのブロックをアンロックする旨の
指示を受け付けた場合は、当該全てのブロックをアンロ
ックし、当該ジョブが更新したブロックを他のジョブが
強制参照ロックしているか否かを調べる旨の指示を受け
付けた場合には、当該ブロックを他のジョブが強制参照
ロックしているか否かを調べてその結果を返却し、前記
ファイルアクセス手段は、前記ジョブからのチェックポ
イント要求を受け付け、当該ジョブが前記ブロックの更
新前の内容を保存しているか否かを調べ、保存していな
い場合は、前記排他制御手段を起動して当該ジョブがロ
ックしていた全てのブロックをアンロックし、保存して
いる場合には、前記排他制御手段を起動して当該ジョブ
が更新したブロックを他のジョブが強制参照ロックして
いるか否かを調べ、強制参照ロックしていないときは、
保存した前記ブロックの更新前の内容をクリアするとと
もに、前記排他制御手段を起動して当該ジョブがロック
していた全てのブロックをアンロックし、強制参照ロッ
クしているときには、保存した前記ブロックの更新前の
内容をクリアせずに、前記排他制御手段を起動して当該
ジョブがロックしていた全てのブロックをアンロックす
ることを特徴とする。
【0010】本発明の第4の排他制御方式は、第2また
は第3の排他制御方式において、前記ファイル中のブロ
ックの更新前の内容の保存場所となる収集ファイルと、
前記ファイルのファイル名および当該ファイル中のブロ
ックの位置と、当該ブロックの更新前の内容が保存され
る前記収集ファイルのファイル名および当該収集ファイ
ル中の保存位置との対応関係の格納場所となる収集情報
テーブルと、前記ブロックにアクセスするジョブのジョ
ブ名とロック種別をブロック単位に管理するための情報
である排他情報と、当該ジョブが前記収集ファイルに保
存されている当該ブロックの更新前の内容をアクセスし
たか否かを示す情報であるジョブ情報の格納場所となる
排他制御テーブルと、前記ブロックの更新前の内容を前
記収集ファイルに保存するとともに、当該ファイルのフ
ァイル名および当該ファイル中のブロックの位置と、当
該収集ファイルのファイル名および当該収集ファイル中
の保存位置との対応関係を前記収集情報テーブルに格納
する更新前イメージ収集手段とを備え、前記排他制御手
段は、前記ブロックを更新中ロックする旨の要求を受け
付けた場合は、更新要求したジョブが当該ブロックを更
新中ロックする旨を前記排他制御テーブルの排他情報に
登録し、前記ブロックを更新済ロックする旨の要求を受
け付けた場合は、前記排他制御テーブルの排他情報を更
新要求したジョブの当該ブロックについて更新済ロック
に変更し、前記ブロックを強制参照ロックする旨の要求
を受け付けた場合には、前記排他制御テーブルを参照し
て当該ブロックを他のジョブがロックしているか否かを
調べ、他のジョブが当該ブロックを更新済ロックしてい
るときは、強制参照要求したジョブが当該ブロックを強
制参照ロックする旨を前記排他制御テーブルの排他情報
に登録するとともに、前記排他制御テーブルのジョブ情
報に当該ジョブが前記収集ファイルに保存されている当
該ブロックの更新前の内容をアクセスする旨を登録し、
他のジョブが当該ブロックを更新中ロックしているとき
には、更新済ロックに変更されるまで待ち合わせ、更新
済ロックに変更されたときに、強制参照要求したジョブ
が当該ブロックを強制参照ロックする旨を前記排他制御
テーブルの排他情報に登録するとともに、前記排他制御
テーブルのジョブ情報に当該ジョブが前記収集ファイル
に保存されている当該ブロックの更新前の内容をアクセ
スする旨を登録し、前記ファイルアクセス手段は、前記
ブロックについてジョブからの更新要求を受け付けた場
合は、前記排他制御手段を起動して当該ブロックを更新
中ロックし、前記更新前イメージ収集手段を起動して当
該ブロックの更新前の内容を前記収集ファイルに保存
し、当該ブロックを当該ジョブからの更新要求に基づい
て更新し、前記排他制御手段を起動して当該ブロックを
更新済ロックに変更するとともに、前記ブロックについ
てジョブからの強制参照要求を受け付けた場合には、前
記排他制御手段を起動して当該ブロックを強制参照ロッ
クし、他のジョブにより当該ブロックが更新済ロックさ
れているときには、当該他のジョブにより前記収集ファ
イルに保存された当該ブロックの更新前の内容を当該ジ
ョブに返却することを特徴とする。
【0011】本発明の第5の排他制御方式は、第4の排
他制御方式において、前記収集情報テーブルは、前記ブ
ロックについて更新要求したジョブのジョブ名となる保
存ジョブ名と、当該ブロックの更新前の内容が有効か否
かを示す有効性識別とが格納され、前記更新前イメージ
収集手段は、前記対応関係を前記収集情報テーブルに格
納する際に、前記保存ジョブ名に前記ブロックについて
更新要求したジョブのジョブ名を、前記有効性識別に当
該ブロックの更新前の内容が有効である旨を格納し、前
記排他制御手段は、前記ジョブがロックしていた全ての
ブロックをアンロックする旨の要求を受け付けた場合
は、前記排他制御テーブルを前記ジョブについてクリア
するとともに、前記ジョブが更新したブロックを他のジ
ョブが強制参照ロックをしているか否かを調べる要求を
受け付けた場合には、前記排他制御テーブルを参照して
前記ジョブが更新したブロックを他のジョブが強制参照
ロックしているか否かを調べてその結果を返却し、前記
ジョブからのチェックポイント要求を受け付け、保存ジ
ョブ名が当該ジョブのジョブ名である収集情報テーブル
があるか否かを調べ、無い場合は、前記排他制御手段を
起動して当該ジョブがロックしていた全てのブロックを
アンロックし、ある場合には、前記排他制御手段を起動
して当該ジョブが更新したブロックを他のジョブが強制
参照ロックしているか否かを調べ、強制参照ロックして
いないときは、前記保存ジョブ名が当該ジョブのジョブ
名である収集情報テーブルと、当該収集情報テーブルに
登録されている保存位置にある当該ジョブが更新したブ
ロックの更新前の内容とをクリアするとともに、前記排
他制御手段を起動して当該ジョブがロックしていた全て
のブロックをアンロックし、強制参照ロックしていると
きには、前記保存ジョブ名を当該ブロックを強制参照し
ているジョブのジョブ名に変更するとともに、前記有効
性識別を無効である旨に変更し、前記排他制御手段を起
動して当該ジョブがロックしていた全てのブロックをア
ンロックするチェックポイント手段を備えたことを特徴
とする。
【0012】本発明の第6の排他制御方式は、第5の排
他制御方式において、前記ジョブが異常終了した場合
に、前記保存ジョブ名が当該異常終了したジョブのジョ
ブ名である収集情報テーブルがあるか否かを調べ、ある
場合には、当該収集情報テーブルに登録されている対応
関係に基づいて、前記収集ファイルに保存されているブ
ロックの更新前の内容を当該ブロックに書き戻し、前記
排他制御手段を起動して当該ジョブがロックしていた全
てのブロックをアンロックする旨の要求を行って前期排
他制御テーブルをクリアするロールバック手段を備えた
ことを特徴とする。
【0013】本発明の第1の排他制御方法は、ファイル
中の何れかのブロックについてジョブからの強制参照要
求を受け付け、当該ブロックが他のジョブに更新された
状態であって、かつ当該他のジョブのチェックポイント
前である場合には、当該ブロックの更新前の内容を当該
ジョブに返却することを特徴とする。
【0014】本発明の第2の排他制御方法は、ファイル
中の何れかのブロックについてジョブからの更新要求を
受け付け、当該ブロックが他のジョブによりロックされ
ていない場合は、当該ブロックを更新中ロックして更新
前の当該ブロックの内容を保存し、当該ブロックの更新
が完了した場合は、更新済ロックに変更し、チェックポ
イント時にはアンロックする排他制御方法であって、前
記ブロックについてジョブからの強制参照要求を受け付
け、当該ブロックが他のジョブにより更新済ロックされ
ている場合は、当該ブロックを強制参照ロックし、当該
ブロックが他のジョブにより更新中ロックされている場
合には、更新済ロックに変更されるまで待ち合わせ、更
新済ロックに変更されたときに、当該ブロックを強制参
照ロックし、当該他のジョブにより当該ブロックが更新
済ロックされている場合には、当該他のジョブにより保
存された当該ブロックの更新前の内容を返却することを
特徴とする。
【0015】本発明の第3の排他制御方法は、第2の排
他制御方法において、前記ジョブからのチェックポイン
ト要求を受け付け、前記ジョブが前記ブロックの更新前
の内容を保存しているか否かを調べ、保存していない場
合は、当該ジョブがロックしていた全てのブロックをア
ンロックし、保存している場合には、当該ジョブが更新
したブロックを他のジョブが強制参照ロックしているか
否かを調べ、強制参照ロックしていないときは、保存し
た当該ブロックの更新前の内容をクリアするとともに、
当該ジョブがロックしていた全てのブロックをアンロッ
クし、強制参照ロックしているときには、保存した当該
ブロックの更新前の内容をクリアせずに、当該ジョブが
ロックしていた全てのブロックをアンロックすることを
特徴とする。
【0016】本発明の第4の排他制御方法は、第2また
は第3の排他制御方法において、前記ブロックについて
ジョブからの更新要求を受け付け、ブロックにアクセス
するジョブのジョブ名とロック種別をブロック単位に管
理するための情報である排他情報と、前記ブロックの更
新前の内容の保存場所となる収集ファイルに保存されて
いる当該ブロックの更新前の内容を当該ジョブがアクセ
スしたか否かを示す情報であるジョブ情報の格納場所と
なる排他制御テーブルの当該排他情報に、更新要求した
ジョブが前記ブロックを更新中ロックする旨を登録し、
前記ブロックの更新前の内容を前記収集ファイルに保存
するとともに、前記ファイルのファイル名および当該フ
ァイル中のブロックの位置と、当該収集ファイルのファ
イル名および当該収集ファイル中の保存位置との対応関
係を収集情報テーブルに格納し、前記ブロックを前記ジ
ョブからの更新要求に基づいて更新し、前記排他制御テ
ーブルの排他情報を前記ジョブの前記ブロックについて
更新済ロックに変更する排他制御方法であって、前記ブ
ロックについてジョブからの強制参照要求を受け付け、
前記排他制御テーブルを参照して前記ブロックを他のジ
ョブがロックしているか否かを調べ、他のジョブが当該
ブロックを更新済ロックしているときは、強制参照要求
した前記ジョブが当該ブロックを強制参照ロックする旨
を前記排他制御テーブルの排他情報に登録するととも
に、前記排他制御テーブルのジョブ情報に当該ジョブが
前記収集ファイルに保存されている当該ブロックの更新
前の内容をアクセスする旨を登録し、他のジョブが当該
ブロックを更新中ロックしているときには、更新済ロッ
クに変更されるまで待ち合わせ、更新済ロックに変更さ
れたときに、強制参照要求した前記ジョブが当該ブロッ
クを強制参照ロックする旨を前記排他制御テーブルの排
他情報に登録するとともに、前記排他制御テーブルのジ
ョブ情報に当該ジョブが前記収集ファイルに保存されて
いる当該ブロックの更新前の内容をアクセスした旨を登
録し、他のジョブにより当該ブロックが更新済ロックさ
れているときには、当該他のジョブにより前記収集ファ
イルに保存された当該ブロックの更新前の内容を当該ジ
ョブに返却することを特徴とする。
【0017】本発明の第5の排他制御方法は、第4の排
他制御方法において、前記対応関係を前記収集情報テー
ブルに格納する際に、前記ブロックについて更新要求し
たジョブのジョブ名を保存ジョブ名として、当該ブロッ
クの更新前の内容が有効である旨を有効性識別として前
記収集情報テーブル格納する排他制御方法であって、ジ
ョブからのチェックポイント要求を受け付け、前記保存
ジョブ名がチェックポイント要求をした前記ジョブのジ
ョブ名である収集情報テーブルがあるか否かを調べ、無
い場合は、前記排他制御テーブルを当該ジョブについて
クリアすることにより当該ジョブがロックしていた全て
のブロックをアンロックし、ある場合には、前記排他制
御テーブルを参照して当該ジョブが更新したブロックを
他のジョブが強制参照ロックしているか否かを調べ、強
制参照ロックしていないときは、前記保存ジョブ名が当
該ジョブのジョブ名である収集情報テーブルと、当該収
集情報テーブルに登録されている保存位置にある当該ジ
ョブが更新したブロックの更新前の内容とをクリアする
とともに、前記排他制御テーブルを当該ジョブについて
クリアすることにより当該ジョブがロックしていた全て
のブロックをアンロックし、強制参照ロックしていると
きには、前記保存ジョブ名を当該ブロックを強制参照し
ているジョブのジョブ名に変更するとともに、前記有効
性識別を無効である旨に変更し、前記排他制御テーブル
を当該ジョブについてクリアすることにより当該ジョブ
がロックしていた全てのブロックをアンロックすること
を特徴とする。
【0018】本発明の第6の排他制御方法は、第5の排
他制御方法において、前記ジョブが異常終了した場合
に、前記保存ジョブ名が異常終了した当該ジョブのジョ
ブ名である収集情報テーブルがあるか否かを調べ、ある
場合には、当該収集情報テーブルに登録されている対応
関係に基づいて、前記収集ファイルに保存されているブ
ロックの更新前の内容を当該ブロックに書き戻し、前記
排他制御テーブルを前記ジョブについてクリアすること
により当該ジョブがロックしていた全てのブロックをア
ンロックする旨の要求を行って前期排他制御テーブルを
クリアすることを特徴とする。
【0019】本発明の第1の記録媒体は、ファイル中の
何れかのブロックについてジョブからの強制参照要求を
受け付け、当該ブロックが他のジョブに更新された状態
であって、かつ当該他のジョブのチェックポイント前で
ある場合には、当該ブロックの更新前の内容を当該ジョ
ブに返却する排他制御処理をコンピュータに実行させる
プログラムを記録したことを特徴とする。
【0020】本発明の第2の記録媒体は、ファイル中の
何れかのブロックについてジョブからの更新要求を受け
付け、当該ブロックが他のジョブによりロックされてい
ない場合は、当該ブロックを更新中ロックして更新前の
当該ブロックの内容を保存し、当該ブロックの更新が完
了した場合は、更新済ロックに変更し、チェックポイン
ト時にはアンロックする排他制御処理であって、前記ブ
ロックについてジョブからの強制参照要求を受け付け、
当該ブロックが他のジョブにより更新済ロックされてい
る場合は、当該ブロックを強制参照ロックし、当該ブロ
ックが他のジョブにより更新中ロックされている場合に
は、更新済ロックに変更されるまで待ち合わせ、更新済
ロックに変更されたときに、当該ブロックを強制参照ロ
ックし、当該他のジョブにより当該ブロックが更新済ロ
ックされている場合には、当該他のジョブにより保存さ
れた当該ブロックの更新前の内容を返却する排他制御処
理をコンピュータに実行させるプログラムを記録したこ
とを特徴とする。
【0021】本発明の第3の記録媒体は、第2の記録媒
体において、前記ジョブからのチェックポイント要求を
受け付け、前記ジョブが前記ブロックの更新前の内容を
保存しているか否かを調べ、保存していない場合は、当
該ジョブがロックしていた全てのブロックをアンロック
し、保存している場合には、当該ジョブが更新したブロ
ックを他のジョブが強制参照ロックしているか否かを調
べ、強制参照ロックしていないときは、保存した当該ブ
ロックの更新前の内容をクリアするとともに、当該ジョ
ブがロックしていた全てのブロックをアンロックし、強
制参照ロックしているときには、保存した当該ブロック
の更新前の内容をクリアせずに、当該ジョブがロックし
ていた全てのブロックをアンロックする排他制御処理を
コンピュータに実行させるプログラムを記録したことを
特徴とする。
【0022】本発明の第4の記録媒体は、第2または第
3の記録媒体において、前記ブロックについてジョブか
らの更新要求を受け付け、ブロックにアクセスするジョ
ブのジョブ名とロック種別をブロック単位に管理するた
めの情報である排他情報と、前記ブロックの更新前の内
容の保存場所となる収集ファイルに保存されている当該
ブロックの更新前の内容を当該ジョブがアクセスしたか
否かを示す情報であるジョブ情報の格納場所となる排他
制御テーブルの当該排他情報に、更新要求したジョブが
前記ブロックを更新中ロックする旨を登録し、前記ブロ
ックの更新前の内容を前記収集ファイルに保存するとと
もに、前記ファイルのファイル名および当該ファイル中
のブロックの位置と、当該収集ファイルのファイル名お
よび当該収集ファイル中の保存位置との対応関係を収集
情報テーブルに格納し、前記ブロックを前記ジョブから
の更新要求に基づいて更新し、前記排他制御テーブルの
排他情報を前記ジョブの前記ブロックについて更新済ロ
ックに変更する排他制御方法であって、前記ブロックに
ついてジョブからの強制参照要求を受け付け、前記排他
制御テーブルを参照して前記ブロックを他のジョブがロ
ックしているか否かを調べ、他のジョブが当該ブロック
を更新済ロックしているときは、強制参照要求した前記
ジョブが当該ブロックを強制参照ロックする旨を前記排
他制御テーブルの排他情報に登録するとともに、前記排
他制御テーブルのジョブ情報に当該ジョブが前記収集フ
ァイルに保存されている当該ブロックの更新前の内容を
アクセスする旨を登録し、他のジョブが当該ブロックを
更新中ロックしているときには、更新済ロックに変更さ
れるまで待ち合わせ、更新済ロックに変更されたとき
に、強制参照要求した前記ジョブが当該ブロックを強制
参照ロックする旨を前記排他制御テーブルの排他情報に
登録するとともに、前記排他制御テーブルのジョブ情報
に当該ジョブが前記収集ファイルに保存されている当該
ブロックの更新前の内容をアクセスした旨を登録し、他
のジョブにより当該ブロックが更新済ロックされている
ときには、当該他のジョブにより前記収集ファイルに保
存された当該ブロックの更新前の内容を当該ジョブに返
却する排他制御処理をコンピュータに実行させるプログ
ラムを記録したことを特徴とする。
【0023】本発明の第5の記録媒体は、第4の記録媒
体において、前記対応関係を前記収集情報テーブルに格
納する際に、前記ブロックについて更新要求したジョブ
のジョブ名を保存ジョブ名として、当該ブロックの更新
前の内容が有効である旨を有効性識別として前記収集情
報テーブル格納する排他制御処理であって、ジョブから
のチェックポイント要求を受け付け、前記保存ジョブ名
がチェックポイント要求をした前記ジョブのジョブ名で
ある収集情報テーブルがあるか否かを調べ、無い場合
は、前記排他制御テーブルを当該ジョブについてクリア
することにより当該ジョブがロックしていた全てのブロ
ックをアンロックし、ある場合には、前記排他制御テー
ブルを参照して当該ジョブが更新したブロックを他のジ
ョブが強制参照ロックしているか否かを調べ、強制参照
ロックしていないときは、前記保存ジョブ名が当該ジョ
ブのジョブ名である収集情報テーブルと、当該収集情報
テーブルに登録されている保存位置にある当該ジョブが
更新したブロックの更新前の内容とをクリアするととも
に、前記排他制御テーブルを当該ジョブについてクリア
することにより当該ジョブがロックしていた全てのブロ
ックをアンロックし、強制参照ロックしているときに
は、前記保存ジョブ名を当該ブロックを強制参照してい
るジョブのジョブ名に変更するとともに、前記有効性識
別を無効である旨に変更し、前記排他制御テーブルを当
該ジョブについてクリアすることにより当該ジョブがロ
ックしていた全てのブロックをアンロックする排他制御
処理をコンピュータに実行させるプログラムを記録した
ことを特徴とする。
【0024】本発明の第6の記録媒体は、第5の記録媒
体において、前記ジョブが異常終了した場合に、前記保
存ジョブ名が異常終了した当該ジョブのジョブ名である
収集情報テーブルがあるか否かを調べ、ある場合には、
当該収集情報テーブルに登録されている対応関係に基づ
いて、前記収集ファイルに保存されているブロックの更
新前の内容を当該ブロックに書き戻し、前記排他制御テ
ーブルを前記ジョブについてクリアすることにより当該
ジョブがロックしていた全てのブロックをアンロックす
る旨の要求を行って前期排他制御テーブルをクリアする
排他制御処理をコンピュータに実行させるプログラムを
記録したことを特徴とする。
【0025】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0026】まず、本発明の第1の実施の形態について
詳細に説明する。
【0027】図1を参照すると、本発明の第1の実施の
形態は、データ処理装置1と、主記憶装置2と、補助記
憶装置3とから構成されている。
【0028】データ処理装置1は、ジョブ4と、ファイ
ルアクセス手段5と、排他制御手段6と、チェックポイ
ント手段7と、更新前イメージ収集手段8と、ファイル
I/O手段9と、ロールバック手段10とを含み、当該
データ処理装置1は、プログラム制御により動作する。
【0029】主記憶装置2は、排他制御テーブル11
と、収集情報テーブル12とを含む。
【0030】補助記憶装置3は、収集ファイル13と、
データファイル14とを含む。
【0031】ジョブ4は、データファイル14へのI/
Oを発行する時、データファイル14に対するアクセス
(参照、更新、強制参照のいずれか)をファイルアクセ
ス手段5に指示する。強制参照を行うジョブは、できる
限り早くデータを照会するというジョブの特性から、強
制参照のみを行うことを想定している。ここで、強制参
照とは、他のジョブが更新中のブロックでも参照を可能
にする特殊な参照をいう。
【0032】ファイルアクセス手段5は、ジョブ4から
の指示に基づいて、排他制御手段6を動作させ、指示さ
れたアクセスが可能ならばファイルI/O手段9を動作
させてデータファイル14へのI/Oを行う。このと
き、強制参照ならばI/Oを行う前に収集情報テーブル
12の情報を取得し、更新ならばI/O前に更新前イメ
ージ収集手段8を動作させてデータファイル14の更新
前イメージを収集ファイル13に保存しておく。
【0033】排他制御手段6は、参照、更新、強制参照
の各アクセスに対して、アクセスするブロックがアクセ
ス可能かを排他制御テーブル11を参照して判断し、ア
クセス可能ならば該当ブロックをロックする。アクセス
不可能ならばアクセス可能になるまで待ち合わせる。ま
た、チェックポイント処理時には該当ジョブのロックし
てあるブロックを全てアンロックする。
【0034】チェックポイント手段7は、ジョブ4から
チェックポイントを指示された時やジョブ4が正常終了
した時、収集情報テーブル12や収集ファイル13をク
リアして収集した更新前イメージを破棄し、排他制御手
段6に対してアンロックを指示して、ロックしていたブ
ロックを他ジョブからアクセス可能にする。チェックポ
イントとは、データファイルに対する参照、更新、強制
参照等が一通り完了し、データファイルの内容が論理的
に正しく、排他制御のロックを解除(アンロック)して
他のジョブがデータファイルをアクセスしてもよい状態
になった時にジョブが発行するものである。
【0035】更新前イメージ収集手段8は、データファ
イル14の更新に先立って、更新前イメージをデータフ
ァイル14から収集ファイル13にコピーする。
【0036】ファイルI/O手段9は、ファイルアクセ
ス手段5からの指示に従ってデータファイル14、ある
いは収集ファイル13を参照、更新する。
【0037】ロールバック手段10は、ジョブ4が異常
終了した場合、それまで収集ファイル13に収集した更
新前イメージを全てデータファイル14に書き戻し、チ
ェックポイント手段7を呼び出して収集情報テーブルの
クリアや、排他制御手段6に対するアンロック等の処理
を行い、最新のチェックポイント(チェックポイントを
行っていない場合はジョブ開始時)以後の更新をなかっ
たものとする。
【0038】排他制御テーブル11は、データファイル
14の排他情報、即ち、データファイル14のファイル
名、ロックしているブロックのブロック番号、ロックし
ているジョブ、参照、更新等のロックの状態を示すロッ
ク種別等を格納している。ロック種別は更新中ロック、
更新済ロック、参照ロック、強制参照ロックの4種類が
ある。更新中ロックは実際のデータファイルのI/Oを
実行中の状態であり、同一ブロックに対する他ジョブか
らの全てのアクセス要求を拒否する。実I/Oが完了し
た時点で更新済ロックに変更される。更新済ロックは同
一ブロックに対する他ジョブからのアクセスは強制参照
要求のみ可能とする状態である。参照ロックは参照時の
ロックであり、同一ブロックに対する他ジョブからのア
クセスは参照及び強制参照のみ可能とする。強制参照ロ
ックは強制参照時のロックであり、同一ブロックに対す
る他ジョブからのアクセスは更新を含む全てが可能であ
る。これらのロック状態はあるブロックに関して唯一の
ものではなく、図15のように同一ブロックをそれぞれ
異なるジョブがロックすることもある。チェックポイン
トを実行することによってロック状態はアンロックされ
る。また、データファイル14の排他情報とは別に、実
行中の全てのジョブのそれぞれが収集ファイルにアクセ
スをしたかどうかを示すジョブ情報を有し、これはチェ
ックポイント時に収集ファイルの内容を破棄してよいか
どうかの判断に利用される。
【0039】データファイル14は、データが格納され
ているファイルであり、一定の大きさのブロックに分割
されて、参照、更新、排他制御や更新前イメージの収集
が行われる。
【0040】収集ファイル13は、データファイル14
の更新前イメージを格納しておくファイルであり、実行
されるジョブ毎に、それぞれのジョブがアクセスする各
データファイル14に対して1ファイルずつ作成され
る。
【0041】収集情報テーブル12は、収集ファイル1
3の管理情報をする。データファイル14のファイル名
と、データファイル14のブロック番号と、データファ
イル14のブロックの更新前イメージを格納した収集フ
ァイル13のブロック番号及びその収集したイメージが
有効かどうかの情報と、収集ファイル13を作成したジ
ョブ4のジョブ名と、収集ファイル13のファイル名と
を格納している。この有効か無効かの情報はロールバッ
クを行う場合に必要であり、有効な場合にロールバック
するようにする。
【0042】次に、図1および図2〜図10のフローチ
ャートを参照して本実施の形態の全体の動作について詳
細に説明する。なお、説明を簡単にする為、データファ
イルは一つ、ジョブは一つまたは二つとする。
【0043】ジョブ4がデータファイル14のあるブロ
ックに対して更新要求を出す場合を説明する。ファイル
アクセス手段5はジョブ4からアクセス要求を受ける
と、まず排他制御手段6を動作させる(ステップA
1)。排他制御手段6は要求が更新かを調べ(ステップ
B1)、更新の場合は該当ブロックが他ジョブによるロ
ック中かを排他制御テーブル11から調べる(ステップ
B2)。強制参照ロック以外のロックが他ジョブによっ
てロックされていた場合は(ステップB3)更新できな
いのでアンロックを待ち合わせ(ステップB4)、他ジ
ョブによる強制参照ロック中または他ジョブからはロッ
クされていない場合は該当ブロックを更新中ロックし
(ステップB5)、排他制御手段6は終了する。ファイ
ルアクセス手段5は排他制御手段6から制御が戻った
後、更新の場合(ステップA2、A7)は更新前イメー
ジ収集手段8を動作させる(ステップA8)。更新前イ
メージ収集手段8は該当ブロックの更新前イメージを収
集済みかどうかを収集情報テーブル12から調べ(ステ
ップG1)、収集してない場合は該当ブロックの内容を
データファイル14から読み込み(ステップG2)、収
集ファイル13に書き出し(ステップG3)、該当ブロ
ックの情報を収集情報テーブル12に格納して(ステッ
プG4)終了する。該当ブロックを収集済みの場合は
(ステップG1)何もせずに終了する。ファイルアクセ
ス手段5は更新前イメージ収集手段8から制御が戻った
らファイルI/O手段9を動作させる(ステップA
9)。ファイルI/O手段9はジョブ4から要求された
実際のI/O(ステップH1)を行うため、データファ
イル14の該当ブロックの内容を更新して(ステップH
6)終了する。ファイルアクセス手段5はファイルI/
O手段9から制御が戻ったら排他制御手段6を動作させ
て実I/O完了通知を行う(ステップA10)。排他制
御手段6は排他制御テーブル11上該当ブロックの更新
中ロックを更新済ロックに変更する(ステップE1)。
【0044】ジョブ4がデータファイル14のあるブロ
ックに参照要求を出す場合を説明する。ファイルアクセ
ス手段5はジョブ4からアクセス要求を受けると、まず
排他制御手段6を動作させる(ステップA1)。排他制
御手段6は要求が更新かを調べ(ステップB1、B
6)、参照の場合は該当ブロックが他ジョブによるロッ
ク中かを排他制御テーブル11から調べる(ステップB
7)。他ジョブによる更新中ロックか更新済ロック中な
らば(ステップB8)アンロックを待ち合わせ(ステッ
プB9)、強制参照ロック、参照ロック、あるいはロッ
クされていない場合は、要求発行元ジョブが更新済ロッ
クしてない場合に(ステップB10)該当ブロックを参
照ロックし(ステップB11)、排他制御手段6は終了
する。要求発行元ジョブが更新済ロックをしていた場合
は(ステップB10)該当ブロックを参照ロックせずに
排他制御手段6は終了する。ファイルアクセス手段5は
排他制御手段6から制御が戻った後、参照の場合は(ス
テップA2、A7)ファイルI/O手段9を動作させる
(ステップA6)。ファイルI/O手段9はジョブ4か
ら要求された実際のI/Oを行うため(ステップH1、
H2)、データファイル14の該当ブロックの内容を参
照し(ステップH5)、ファイルアクセス手段5は、そ
の内容をジョブ4に返却して処理を終了する。ジョブ4
がデータファイル14のあるブロックに強制参照要求を
出す場合を説明する。ファイルアクセス手段5はジョブ
4からアクセス要求を受けると、まず排他制御手段6を
動作させる。排他制御手段6は要求が強制参照かを調べ
(ステップB1、B6)、強制参照の場合は該当ブロッ
クが他ジョブによるロック中かを排他制御テーブル11
から調べる(ステップB12)。更新中ロックならば
(ステップB13)更新の完了を待ち合わせ(ステップ
B14)、更新済ロック、強制参照ロック、参照ロッ
ク、あるいはロックされていない場合は強制参照処理を
進める。該当ブロックが更新済ロックかを調べ(ステッ
プB15)、排他制御テーブル11上収集ファイルアク
セス経験ありにする(ステップB16)。最後に該当ブ
ロックを強制参照ロックにし(ステップB17)、排他
制御手段6は終了する。他ジョブが更新済ロックをして
いなかった場合は、排他制御テーブル11上該当ブロッ
クを強制参照ロックにし(ステップB17)、排他制御
手段6は終了する。ファイルアクセス手段5は排他制御
手段6から制御が戻った後、強制参照の場合(ステップ
A2)、他ジョブが更新済ロック中か(ステップA3)
あるいは収集情報テーブル12に要求発行元ジョブが収
集した該当ブロックが存在する場合(ステップA4)
は、自ジョブが作成した収集情報テーブル12がある場
合は、当該収集情報テーブル12を対象の収集情報テー
ブル12として特定し、自ジョブが収集情報テーブルを
作成していない場合には、収集データが有効な収集情報
テーブル12を対象の収集情報テーブル12として特定
する。そして、データファイル14のアクセスしようと
するブロックが収集ファイル13内のどのブロックに対
応するかを特定した収集情報テーブル12より特定し
(ステップA5)、ファイルI/O手段9を動作させる
(ステップA6)。ファイルI/O手段9はジョブから
要求された実際のI/Oを行うが、ファイルアクセス手
段5から収集ファイル13を参照するよう指示されてい
た場合(ステップH1、H2、H3)は、ファイルアク
セス手段5で特定した収集ファイルのブロックを参照し
(ステップH4)、そうでない場合はデータファイル1
4の該当ブロックの内容を参照して(ステップH5)、
ファイルアクセス手段5は、その内容をジョブ4に返却
して処理を終了する。
【0045】ジョブ4がチェックポイント要求を出す場
合を説明する。チェックポイント手段7は収集情報テー
ブル12を参照して、要求発行元ジョブが収集したブロ
ックがあるかどうかを調べ(ステップI1)、あった場
合は排他制御手段6を動作させる(ステップI2)。排
他制御手段6は排他制御テーブル11を参照して、収集
されているブロックが他ジョブから強制参照されている
ものがあるかどうかを調べ(ステップF1)、さらにあ
る場合はそのジョブが収集ファイルアクセス経験がある
かを調べる(ステップF2)。収集ファイルアクセス経
験がある場合は強制参照ロック中の他ジョブがありとし
(ステップF3)、いずれにも該当しない場合は強制参
照ロック中の他ジョブがなしとする(ステップF4)。
チェックポイント手段7は上記排他制御手段6の結果、
強制参照ロック中の他ジョブがある場合は(ステップI
3)収集情報テーブル12、収集ファイル13がどのジ
ョブに対応しているかの情報をチェックポイント要求を
出したジョブから強制参照ロックしているジョブに変更
し(ステップI4)、強制参照を収集ファイルから行わ
せるようにする。さらに収集情報テーブル12上収集フ
ァイルを無効化し(ステップI5)、ロールバックを行
わせないようにする。この時、以後の強制参照でも収集
ファイルを用いるため、収集ファイル13及び収集情報
テーブル12をリフレッシュ(更新前イメージを廃棄)
しない。その後、排他制御手段6を動作させ(ステップ
I6)、ロックしていたブロックを全てアンロックし
(ステップD1)、収集ファイルアクセス経験をなしに
変更して(ステップD2)終了する。他ジョブが強制参
照ロックしていない場合は(ステップI3)収集ファイ
ル13及び収集情報テーブル12をリフレッシュし(ス
テップI7)、排他制御手段6を動作させて(ステップ
I6)アンロック処理をして終了する。要求発行元ジョ
ブが収集したブロックを持たない場合は(ステップI
1)、排他制御手段6を動作させて(ステップI6)ア
ンロック処理をして終了する。
【0046】ジョブ4が異常終了する場合の動作を説明
する。ジョブ4からロールバック手段10が呼び出さ
れ,ロールバック手段10は収集情報テーブル12を参
照し、収集ファイル13があるかを調べる(ステップJ
1)。収集ファイル13がある場合、収集情報テーブル
12が有効ならば(ステップJ2)、収集ファイル13
に収集した更新前イメージを全てデータファイル14に
書き戻す(ステップJ3)。その後、チェックポイント
手段7を呼び出し(ステップJ4)、収集情報のリフレ
ッシュと排他制御のアンロックを行う。チェックポイン
ト手段7の動作は既に説明している為、ここでは省略す
る。収集ファイル13がない場合や、収集情報テーブル
12上有効でない場合は、更新前イメージをデータファ
イル14に書き戻さず、チェックポイント手段7を動作
させて(ステップJ4)終了する。
【0047】次に、具体例を用いて説明する。
【0048】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4aが
データファイル14のブロック番号1に対して更新を行
う場合を説明する。ファイルアクセス手段5は排他制御
手段6を動作させて(ステップA1)アクセス可能か調
べる。排他制御手段6は排他制御テーブル11を参照し
て、ブロック番号1がロック中かを調べる(ステップB
1、B2)。排他制御テーブル11上ロックされていな
いのでブロック番号1を図12のように更新中ロックに
し(ステップB5)、ファイルアクセス手段5に戻る。
ファイルアクセス手段5は更新なので(ステップA7)
更新前イメージ収集手段8を動作させる(ステップA
8)。更新前イメージ収集手段8はブロック番号1の更
新前イメージはまだ収集されていない為(ステップG
1)、データファイル14からブロック番号1の内容を
読み込み(ステップG2)、その内容を収集ファイル1
3aのブロック番号2に書き出し(ステップG3)、収
集情報テーブル12aを図20のように更新する(ステ
ップG4)。ファイルアクセス手段5は次にファイルI
/O手段9を動作させる。ファイルI/O手段9は更新
なので(ステップH1)、データファイル14のブロッ
ク番号1に情報を書き出す(ステップH6)。ファイル
アクセス手段5は排他制御手段6を動作させ(ステップ
A10)、実I/O完了通知を行う。排他制御手段6は
排他制御テーブル11を図13のように更新し、更新中
ロックを更新済ロックに変更する(ステップE1)。
【0049】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4aが
データファイル14のブロック番号1に対して参照を行
う場合を説明する。ファイルアクセス手段5はまず排他
制御手段6を動作させて(ステップA1)アクセス可能
か調べる。排他制御手段6は排他制御テーブル11を参
照して、ブロック番号1がロック中か調べる(ステップ
B1、B6、B7)。排他制御テーブル11上要求発行
元ジョブ4aからも他ジョブからもロックされていない
ので(ステップB7、B10)ブロック番号1を図14
のように参照ロックにし(ステップB11)、ファイル
アクセス手段5に戻る。ファイルアクセス手段5はその
後ファイルI/O手段9を動作させ(ステップA2、A
7、A6)、参照なので(ステップH1、H2)データ
ファイル14のブロック番号1の内容を読み込む(ステ
ップH5)。
【0050】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4bが
データファイル14のブロック番号3に対して強制参照
を行う場合を説明する。ファイルアクセス手段5は排他
制御手段6を動作させて(ステップA1) アクセス可
能か調べる。排他制御手段6は排他制御テーブル11を
参照して、ブロック番号3がロック中か調べる(ステッ
プB1、B6、B12)。排他制御テーブル11上ブロ
ック番号3は更新済ロックなので(ステップB13、B
15)、排他制御テーブル11上図15のように収集フ
ァイルアクセス経験あり (ステップB16)、強制参
照ロックに更新する(ステップB17)。ファイルアク
セス手段5は更新済ロック中だった為(ステップA2、
A3)、収集情報テーブル12aを参照して収集ファイ
ル13a上の対応するブロック番号を特定し(ステップ
A5)、ファイルI/O手段9を動作させる(ステップ
A6)。この場合はデータファイル14のブロック番号
3に対応するのは収集ファイル13aのブロック番号1
である。ファイルI/O手段9は強制参照で(ステップ
H1、H2)収集ファイル13aから該当するブロッ
ク、すなわちブロック番号1を読み込む(ステップH
3、H4)。
【0051】排他制御テーブル11、収集情報テーブル
12がそれぞれ図15、19の状態の時、ジョブ4aが
チェックポイントを行う場合を説明する。チェックポイ
ント手段7は収集情報テーブル12aを参照して、要求
元ジョブが収集したブロックがあるかを調べる(ステッ
プI1)。収集したブロックがある為、排他制御手段6
を動作させ、他ジョブが強制参照しているかを調べる
(ステップI2)。排他制御手段6は排他制御テーブル
11を参照して、ジョブ4aが収集したブロックを他ジ
ョブが強制参照しているかを調べる(ステップF1)。
ジョブ4bがブロック番号3を強制参照し、しかも収集
ファイルアクセス経験ありのため(ステップF2)、強
制参照ロックジョブありとして(ステップF3)チェッ
クポイント手段7に制御を戻す。チェックポイント手段
7は強制参照ロックジョブがあった為(ステップI
3)、図21のようの収集情報テーブル12aの情報を
強制参照しているジョブ4bに変更し(ステップI
4)、収集ファイル13aの情報をロールバックされな
いように無効化する(ステップI5)。最後に排他制御
手段6を動作させ(ステップI6)、アンロックする。
排他制御手段6は図16のようにジョブ4aがロックし
ていたブロックの全てを削除し(ステップD1)、収集
ファイルアクセス経験をなしにして(ステップD2)終
了する。
【0052】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4aが
チェックポイントを行う場合を説明する。チェックポイ
ント手段7は収集情報テーブル12aを調べ、要求発行
元ジョブ4aが収集したブロックがあるかを調べる(ス
テップI1)。収集したブロックがある為、排他制御手
段6を動作させて収集したブロックが他ジョブに強制参
照されているかを調べる(ステップI2)排他制御手段
6は排他制御テーブル11を参照して、収集されている
ブロックで他ジョブが強制参照ロックをしているものが
あるかを調べ(ステップF1)、ないので強制参照ロッ
クジョブなしとして(ステップF4)終了する。チェッ
クポイント手段7は強制参照ロックジョブがない為(ス
テップI3)、収集情報テーブル12aを図22のよう
にリフレッシュし(ステップI7)、最後に排他制御手
段6を動作させて(ステップI6)アンロックする。排
他制御手段6は図17のようにジョブ4aがロックして
いたブロックの全てを削除し(ステップD1)、収集フ
ァイルアクセス経験をなしにして(ステップD2)終了
する。
【0053】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4bが
データファイル14のブロック番号2に対して更新を行
う場合を説明する。ファイルアクセス手段5は排他制御
手段6を動作させて(ステップA1)アクセス可能か調
べる。排他制御手段6は排他制御テーブル11を参照し
て、ブロック番号2がロック中か調べる(ステップB
1、B2)。排他制御テーブル11上ブロック番号2は
ジョブ4aによって参照ロックされているので(ステッ
プB3)ブロック番号2がアンロックされるまで待ち合
わせる(ステップB4)。アンロックされた後の動作は
最初に説明した更新と同様であるので省略する。
【0054】排他制御テーブル11、収集情報テーブル
12がそれぞれ図16、21の状態の時、ジョブ4bが
データファイル14のブロック番号1に対して強制参照
を行う場合を説明する。ファイルアクセス手段5は排他
制御手段6を動作させて(ステップA1)アクセス可能
か調べる。排他制御手段6は排他制御テーブル11を参
照して、ブロック番号1がロック中か調べる(ステップ
B1、B6)。排他制御テーブル11上ブロック番号1
はロックされていないので(ステップB12)、図18
のようにブロック番号1を強制参照ロックにして(ステ
ップB18)ファイルアクセス手段5に制御を戻す。フ
ァイルアクセス手段5は強制参照であり(ステップA
2)、ブロック番号1は他ジョブが更新済ロック中では
なかったが(ステップA3)、収集情報テーブル12a
上ジョブ4bが収集したブロックにブロック番号1が存
在するため(ステップA4)、収集情報テーブル12a
を参照して収集ファイル13a上の対応するブロック番
号を特定し(ステップA5)、ファイルI/O手段9を
動作させる(ステップA6)。この場合はデータファイ
ル14のブロック番号1に対応するのは収集ファイル1
3aのブロック番号2である。ファイルI/O手段9は
強制参照で(ステップH1、H2)収集ファイル13a
から該当するブロック、すなわちブロック番号2を読み
込む(ステップH3、H4)。
【0055】排他制御テーブル11、収集情報テーブル
12がそれぞれ図11、19の状態の時、ジョブ4aが
異常終了する場合を説明する。ロールバック手段10は
収集情報テーブル12aから、収集ファイルがあり(ス
テップJ1)、有効である(ステップJ2)為、収集フ
ァイル13aにある更新前イメージを全てデータファイ
ル14に書き戻す(ステップJ3)。ここでは収集ファ
イル4aのブロック番号1を読み込み、データファイル
14のブロック番号3にその内容を書き出す。その後、
チェックポイント手段7を動作させ(ステップJ4)、
収集情報のリフレッシュと排他制御のアンロックを行
う。チェックポイント手段7は収集情報テーブル12a
上収集したブロックがある為(ステップI1)、排他制
御手段6を動作させ、他ジョブが強制参照しているか調
査する(ステップI2)。排他制御テーブル10上強制
参照している他ジョブはない為(ステップF1)、強制
参照ロックジョブなしとして終了する(ステップF
4)。チェックポイント手段7は上記の結果から、強制
参照ロックジョブはない為(ステップI3)、収集情報
テーブルを図22のようにリフレッシュし(ステップI
7)、排他制御手段6を動作させて(ステップI6)、
ロックしていたブロックを全てアンロックする。排他制
御手段6は、図17のようにジョブ4aがロックしてい
たブロックを全て削除し(ステップD1)、収集ファイ
ルアクセス経験なしにする(ステップD2)。
【0056】排他制御テーブル11、収集情報テーブル
12がそれぞれ図16、21の状態の時、ジョブ4bが
異常終了する場合を説明する。ロールバック手段10は
収集情報テーブル12aから、収集ファイルがあるが
(ステップJ1)、無効である(ステップJ2)為、収
集ファイル13aにある更新前イメージはデータファイ
ル14に書き戻さず、チェックポイント手段7を動作さ
せ(ステップJ4)、収集情報のリフレッシュと排他制
御のアンロックを行う。チェックポイント手段7は収集
情報テーブル12a上収集したブロックがある為(ステ
ップI1)、排他制御手段6を動作させ、他ジョブが強
制参照しているか調査する(ステップI2)。排他制御
テーブル10上強制参照している他ジョブはない為(ス
テップF1)、強制参照ロックジョブなしとして終了
(ステップF4)。チェックポイント手段7は上記の結
果から、強制参照ロックジョブはない為(ステップI
3)、収集情報テーブルを図22のようにリフレッシュ
し(ステップI7)、排他制御手段6を動作させて(ス
テップI6)、ロックしていたブロックを全てアンロッ
クする。排他制御手段6は図17のように、ジョブ4b
がロックしていたブロックを全て削除し(ステップD
1)、収集ファイルアクセス経験なしにする(ステップ
D2)。
【0057】次に、本発明の第2の実施の形態について
図面を参照して説明する。
【0058】図23を参照すると、本発明の第2の実施
の形態は、排他制御用プログラムを記録した記録媒体2
0を備える。この記録媒体20はフロッピー(登録商
標)ディスク、磁気ディスク、半導体メモリその他の記
録媒体であってよい。排他制御用プログラムは、記録媒
体20から読み込まれ、データ処理装置1の動作を制御
する。データ処理装置1は排他制御用プログラムの制御
により上述の処理、すなわち第1の実施の形態における
処理と同一の処理を実行する。
【0059】
【発明の効果】以上説明したように、本発明の排他制御
方式によれば、参照しようとするブロックが別のジョブ
により更新されていても、更新前の内容を参照するよう
にしたので、スループットを低下させることなくデータ
間の論理的整合性をとってブロックを参照することがで
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示す示すブ
ロック図である。
【図2】本発明の第1の実施の形態のファイルアクセス
手段の動作を示す流れ図である。
【図3】本発明の第1の実施の形態の排他制御手段のロ
ック処理の動作を示す流れ図である。
【図4】本発明の第1の実施の形態の排他制御手段のア
ンロック処理の動作を示す流れ図である。
【図5】本発明の第1の実施の形態の排他制御手段の実
I/O完了通知の動作を示す流れ図である。
【図6】本発明の第1の実施の形態の排他制御手段の他
ジョブの強制参照チェックの動作を示す流れ図である。
【図7】本発明の第1の実施の形態の更新前イメージ収
集手段の動作を示す流れ図である。
【図8】本発明の第1の実施の形態のファイルI/O手
段の動作を示す流れ図である。
【図9】本発明の第1の実施の形態のチェックポイント
手段の動作を示す流れ図である。
【図10】本発明の第1の実施の形態のロールバック手
段の動作を示す流れ図である。
【図11】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図12】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図13】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図14】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図15】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図16】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図17】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図18】本発明の第1の実施の形態の排他制御テーブ
ルの具体例である。
【図19】本発明の第1の実施の形態の収集情報テーブ
ルの具体例である。
【図20】本発明の第1の実施の形態の収集情報テーブ
ルの具体例である。
【図21】本発明の第1の実施の形態の収集情報テーブ
ルの具体例である。
【図22】本発明の第1の実施の形態の収集情報テーブ
ルの具体例である。
【図23】本発明の第2の実施の形態の構成を示す示す
ブロック図である。
【符号の説明】
1 データ処理装置 2 主記憶装置 3 補助記憶装置 4 ジョブ 5 ファイルアクセス手段 6 排他制御手段 7 チェックポイント手段 8 更新前イメージ収集手段 9 ファイルI/O手段 10 ロールバック手段 11 排他制御テーブル 12 収集情報テーブル 13 収集ファイル 14 データファイル 20 記録媒体

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 ファイル中の何れかのブロックについて
    ジョブからの強制参照要求を受け付け、当該ブロックが
    他のジョブに更新された状態であって、かつ当該他のジ
    ョブのチェックポイント前である場合には、当該ブロッ
    クの更新前の内容を当該ジョブに返却することを特徴と
    する排他制御方式。
  2. 【請求項2】 ファイル中の何れかのブロックについて
    ジョブからの更新要求を受け付け、当該ブロックが他の
    ジョブによりロックされていない場合は、当該ブロック
    を更新中ロックして更新前の当該ブロックの内容を保存
    し、更新が完了した場合は、更新済ロックに変更し、チ
    ェックポイント時にはアンロックする排他制御方式であ
    って、 前記ブロックを強制参照ロックする旨の指示を受け付
    け、当該ブロックが他のジョブにより更新済ロックされ
    ている場合は、当該ブロックを強制参照ロックし、当該
    ブロックが他のジョブにより更新中ロックされている場
    合には、更新済ロックに変更されるまで待ち合わせ、更
    新済ロックに変更されたときに、当該ブロックを強制参
    照ロックする排他制御手段と、 前記ブロックについてジョブからの強制参照要求を受け
    付け、前記排他制御手段を起動して当該ブロックを強制
    参照ロックし、他のジョブにより当該ブロックが更新済
    ロックされている場合には、当該他のジョブにより保存
    された当該ブロックの更新前の内容を返却するファイル
    アクセス手段とを備えたことを特徴とする排他制御方
    式。
  3. 【請求項3】 前記排他制御手段は、前記ジョブがロッ
    クしていた全てのブロックをアンロックする旨の指示を
    受け付けた場合は、当該全てのブロックをアンロック
    し、当該ジョブが更新したブロックを他のジョブが強制
    参照ロックしているか否かを調べる旨の指示を受け付け
    た場合には、当該ブロックを他のジョブが強制参照ロッ
    クしているか否かを調べてその結果を返却し、 前記ファイルアクセス手段は、前記ジョブからのチェッ
    クポイント要求を受け付け、当該ジョブが前記ブロック
    の更新前の内容を保存しているか否かを調べ、保存して
    いない場合は、前記排他制御手段を起動して当該ジョブ
    がロックしていた全てのブロックをアンロックし、保存
    している場合には、前記排他制御手段を起動して当該ジ
    ョブが更新したブロックを他のジョブが強制参照ロック
    しているか否かを調べ、強制参照ロックしていないとき
    は、保存した前記ブロックの更新前の内容をクリアする
    とともに、前記排他制御手段を起動して当該ジョブがロ
    ックしていた全てのブロックをアンロックし、強制参照
    ロックしているときには、保存した前記ブロックの更新
    前の内容をクリアせずに、前記排他制御手段を起動して
    当該ジョブがロックしていた全てのブロックをアンロッ
    クすることを特徴とする請求項2記載の排他制御方式。
  4. 【請求項4】 前記ファイル中のブロックの更新前の内
    容の保存場所となる収集ファイルと、 前記ファイルのファイル名および当該ファイル中のブロ
    ックの位置と、当該ブロックの更新前の内容が保存され
    る前記収集ファイルのファイル名および当該収集ファイ
    ル中の保存位置との対応関係の格納場所となる収集情報
    テーブルと、 前記ブロックにアクセスするジョブのジョブ名とロック
    種別をブロック単位に管理するための情報である排他情
    報と、当該ジョブが前記収集ファイルに保存されている
    当該ブロックの更新前の内容をアクセスしたか否かを示
    す情報であるジョブ情報の格納場所となる排他制御テー
    ブルと、 前記ブロックの更新前の内容を前記収集ファイルに保存
    するとともに、当該ファイルのファイル名および当該フ
    ァイル中のブロックの位置と、当該収集ファイルのファ
    イル名および当該収集ファイル中の保存位置との対応関
    係を前記収集情報テーブルに格納する更新前イメージ収
    集手段とを備え、 前記排他制御手段は、前記ブロックを更新中ロックする
    旨の要求を受け付けた場合は、更新要求したジョブが当
    該ブロックを更新中ロックする旨を前記排他制御テーブ
    ルの排他情報に登録し、前記ブロックを更新済ロックす
    る旨の要求を受け付けた場合は、前記排他制御テーブル
    の排他情報を更新要求したジョブの当該ブロックについ
    て更新済ロックに変更し、前記ブロックを強制参照ロッ
    クする旨の要求を受け付けた場合には、前記排他制御テ
    ーブルを参照して当該ブロックを他のジョブがロックし
    ているか否かを調べ、他のジョブが当該ブロックを更新
    済ロックしているときは、強制参照要求したジョブが当
    該ブロックを強制参照ロックする旨を前記排他制御テー
    ブルの排他情報に登録するとともに、前記排他制御テー
    ブルのジョブ情報に当該ジョブが前記収集ファイルに保
    存されている当該ブロックの更新前の内容をアクセスす
    る旨を登録し、他のジョブが当該ブロックを更新中ロッ
    クしているときには、更新済ロックに変更されるまで待
    ち合わせ、更新済ロックに変更されたときに、強制参照
    要求したジョブが当該ブロックを強制参照ロックする旨
    を前記排他制御テーブルの排他情報に登録するととも
    に、前記排他制御テーブルのジョブ情報に当該ジョブが
    前記収集ファイルに保存されている当該ブロックの更新
    前の内容をアクセスする旨を登録し、 前記ファイルアクセス手段は、前記ブロックについてジ
    ョブからの更新要求を受け付けた場合は、前記排他制御
    手段を起動して当該ブロックを更新中ロックし、前記更
    新前イメージ収集手段を起動して当該ブロックの更新前
    の内容を前記収集ファイルに保存し、当該ブロックを当
    該ジョブからの更新要求に基づいて更新し、前記排他制
    御手段を起動して当該ブロックを更新済ロックに変更す
    るとともに、前記ブロックについてジョブからの強制参
    照要求を受け付けた場合には、前記排他制御手段を起動
    して当該ブロックを強制参照ロックし、他のジョブによ
    り当該ブロックが更新済ロックされているときには、当
    該他のジョブにより前記収集ファイルに保存された当該
    ブロックの更新前の内容を当該ジョブに返却することを
    特徴とする請求項2または請求項3記載の排他制御方
    式。
  5. 【請求項5】 前記収集情報テーブルは、前記ブロック
    について更新要求したジョブのジョブ名となる保存ジョ
    ブ名と、当該ブロックの更新前の内容が有効か否かを示
    す有効性識別とが格納され、 前記更新前イメージ収集手段は、前記対応関係を前記収
    集情報テーブルに格納する際に、前記保存ジョブ名に前
    記ブロックについて更新要求したジョブのジョブ名を、
    前記有効性識別に当該ブロックの更新前の内容が有効で
    ある旨を格納し、 前記排他制御手段は、前記ジョブがロックしていた全て
    のブロックをアンロックする旨の要求を受け付けた場合
    は、前記排他制御テーブルを前記ジョブについてクリア
    するとともに、前記ジョブが更新したブロックを他のジ
    ョブが強制参照ロックをしているか否かを調べる要求を
    受け付けた場合には、前記排他制御テーブルを参照して
    前記ジョブが更新したブロックを他のジョブが強制参照
    ロックしているか否かを調べてその結果を返却し、 前記ジョブからのチェックポイント要求を受け付け、保
    存ジョブ名が当該ジョブのジョブ名である収集情報テー
    ブルがあるか否かを調べ、無い場合は、前記排他制御手
    段を起動して当該ジョブがロックしていた全てのブロッ
    クをアンロックし、ある場合には、前記排他制御手段を
    起動して当該ジョブが更新したブロックを他のジョブが
    強制参照ロックしているか否かを調べ、強制参照ロック
    していないときは、前記保存ジョブ名が当該ジョブのジ
    ョブ名である収集情報テーブルと、当該収集情報テーブ
    ルに登録されている保存位置にある当該ジョブが更新し
    たブロックの更新前の内容とをクリアするとともに、前
    記排他制御手段を起動して当該ジョブがロックしていた
    全てのブロックをアンロックし、強制参照ロックしてい
    るときには、前記保存ジョブ名を当該ブロックを強制参
    照しているジョブのジョブ名に変更するとともに、前記
    有効性識別を無効である旨に変更し、前記排他制御手段
    を起動して当該ジョブがロックしていた全てのブロック
    をアンロックするチェックポイント手段を備えたことを
    特徴とする請求項4記載の排他制御方式。
  6. 【請求項6】 前記ジョブが異常終了した場合に、前記
    保存ジョブ名が当該異常終了したジョブのジョブ名であ
    る収集情報テーブルがあるか否かを調べ、ある場合に
    は、当該収集情報テーブルに登録されている対応関係に
    基づいて、前記収集ファイルに保存されているブロック
    の更新前の内容を当該ブロックに書き戻し、前記排他制
    御手段を起動して当該ジョブがロックしていた全てのブ
    ロックをアンロックする旨の要求を行って前期排他制御
    テーブルをクリアするロールバック手段を備えたことを
    特徴とする請求項5記載の排他制御方式。
  7. 【請求項7】 ファイル中の何れかのブロックについて
    ジョブからの強制参照要求を受け付け、当該ブロックが
    他のジョブに更新された状態であって、かつ当該他のジ
    ョブのチェックポイント前である場合には、当該ブロッ
    クの更新前の内容を当該ジョブに返却することを特徴と
    する排他制御方法。
  8. 【請求項8】 ファイル中の何れかのブロックについて
    ジョブからの更新要求を受け付け、当該ブロックが他の
    ジョブによりロックされていない場合は、当該ブロック
    を更新中ロックして更新前の当該ブロックの内容を保存
    し、当該ブロックの更新が完了した場合は、更新済ロッ
    クに変更し、チェックポイント時にはアンロックする排
    他制御方法であって、 前記ブロックについてジョブからの強制参照要求を受け
    付け、当該ブロックが他のジョブにより更新済ロックさ
    れている場合は、当該ブロックを強制参照ロックし、当
    該ブロックが他のジョブにより更新中ロックされている
    場合には、更新済ロックに変更されるまで待ち合わせ、
    更新済ロックに変更されたときに、当該ブロックを強制
    参照ロックし、当該他のジョブにより当該ブロックが更
    新済ロックされている場合には、当該他のジョブにより
    保存された当該ブロックの更新前の内容を返却すること
    を特徴とする排他制御方法。
  9. 【請求項9】 前記ジョブからのチェックポイント要求
    を受け付け、 前記ジョブが前記ブロックの更新前の内容を保存してい
    るか否かを調べ、保存していない場合は、当該ジョブが
    ロックしていた全てのブロックをアンロックし、保存し
    ている場合には、当該ジョブが更新したブロックを他の
    ジョブが強制参照ロックしているか否かを調べ、強制参
    照ロックしていないときは、保存した当該ブロックの更
    新前の内容をクリアするとともに、当該ジョブがロック
    していた全てのブロックをアンロックし、強制参照ロッ
    クしているときには、保存した当該ブロックの更新前の
    内容をクリアせずに、当該ジョブがロックしていた全て
    のブロックをアンロックすることを特徴とする請求項8
    記載の排他制御方法。
  10. 【請求項10】 前記ブロックについてジョブからの更
    新要求を受け付け、 ブロックにアクセスするジョブのジョブ名とロック種別
    をブロック単位に管理するための情報である排他情報
    と、前記ブロックの更新前の内容の保存場所となる収集
    ファイルに保存されている当該ブロックの更新前の内容
    を当該ジョブがアクセスしたか否かを示す情報であるジ
    ョブ情報の格納場所となる排他制御テーブルの当該排他
    情報に、更新要求したジョブが前記ブロックを更新中ロ
    ックする旨を登録し、 前記ブロックの更新前の内容を前記収集ファイルに保存
    するとともに、前記ファイルのファイル名および当該フ
    ァイル中のブロックの位置と、当該収集ファイルのファ
    イル名および当該収集ファイル中の保存位置との対応関
    係を収集情報テーブルに格納し、 前記ブロックを前記ジョブからの更新要求に基づいて更
    新し、 前記排他制御テーブルの排他情報を前記ジョブの前記ブ
    ロックについて更新済ロックに変更する排他制御方法で
    あって、 前記ブロックについてジョブからの強制参照要求を受け
    付け、 前記排他制御テーブルを参照して前記ブロックを他のジ
    ョブがロックしているか否かを調べ、他のジョブが当該
    ブロックを更新済ロックしているときは、強制参照要求
    した前記ジョブが当該ブロックを強制参照ロックする旨
    を前記排他制御テーブルの排他情報に登録するととも
    に、前記排他制御テーブルのジョブ情報に当該ジョブが
    前記収集ファイルに保存されている当該ブロックの更新
    前の内容をアクセスする旨を登録し、他のジョブが当該
    ブロックを更新中ロックしているときには、更新済ロッ
    クに変更されるまで待ち合わせ、更新済ロックに変更さ
    れたときに、強制参照要求した前記ジョブが当該ブロッ
    クを強制参照ロックする旨を前記排他制御テーブルの排
    他情報に登録するとともに、前記排他制御テーブルのジ
    ョブ情報に当該ジョブが前記収集ファイルに保存されて
    いる当該ブロックの更新前の内容をアクセスした旨を登
    録し、他のジョブにより当該ブロックが更新済ロックさ
    れているときには、当該他のジョブにより前記収集ファ
    イルに保存された当該ブロックの更新前の内容を当該ジ
    ョブに返却することを特徴とする請求項8または請求項
    9記載の排他制御方法。
  11. 【請求項11】 前記対応関係を前記収集情報テーブル
    に格納する際に、前記ブロックについて更新要求したジ
    ョブのジョブ名を保存ジョブ名として、当該ブロックの
    更新前の内容が有効である旨を有効性識別として前記収
    集情報テーブル格納する排他制御方法であって、 ジョブからのチェックポイント要求を受け付け、前記保
    存ジョブ名がチェックポイント要求をした前記ジョブの
    ジョブ名である収集情報テーブルがあるか否かを調べ、
    無い場合は、前記排他制御テーブルを当該ジョブについ
    てクリアすることにより当該ジョブがロックしていた全
    てのブロックをアンロックし、ある場合には、前記排他
    制御テーブルを参照して当該ジョブが更新したブロック
    を他のジョブが強制参照ロックしているか否かを調べ、
    強制参照ロックしていないときは、前記保存ジョブ名が
    当該ジョブのジョブ名である収集情報テーブルと、当該
    収集情報テーブルに登録されている保存位置にある当該
    ジョブが更新したブロックの更新前の内容とをクリアす
    るとともに、前記排他制御テーブルを当該ジョブについ
    てクリアすることにより当該ジョブがロックしていた全
    てのブロックをアンロックし、強制参照ロックしている
    ときには、前記保存ジョブ名を当該ブロックを強制参照
    しているジョブのジョブ名に変更するとともに、前記有
    効性識別を無効である旨に変更し、前記排他制御テーブ
    ルを当該ジョブについてクリアすることにより当該ジョ
    ブがロックしていた全てのブロックをアンロックするこ
    とを特徴とする請求項10記載の排他制御方法。
  12. 【請求項12】 前記ジョブが異常終了した場合に、前
    記保存ジョブ名が異常終了した当該ジョブのジョブ名で
    ある収集情報テーブルがあるか否かを調べ、ある場合に
    は、当該収集情報テーブルに登録されている対応関係に
    基づいて、前記収集ファイルに保存されているブロック
    の更新前の内容を当該ブロックに書き戻し、前記排他制
    御テーブルを前記ジョブについてクリアすることにより
    当該ジョブがロックしていた全てのブロックをアンロッ
    クする旨の要求を行って前期排他制御テーブルをクリア
    することを特徴とする請求項11記載の排他制御方法。
  13. 【請求項13】 ファイル中の何れかのブロックについ
    てジョブからの強制参照要求を受け付け、当該ブロック
    が他のジョブに更新された状態であって、かつ当該他の
    ジョブのチェックポイント前である場合には、当該ブロ
    ックの更新前の内容を当該ジョブに返却する排他制御処
    理をコンピュータに実行させるプログラムを記録したこ
    とを特徴とする記録媒体。
  14. 【請求項14】 ファイル中の何れかのブロックについ
    てジョブからの更新要求を受け付け、当該ブロックが他
    のジョブによりロックされていない場合は、当該ブロッ
    クを更新中ロックして更新前の当該ブロックの内容を保
    存し、当該ブロックの更新が完了した場合は、更新済ロ
    ックに変更し、チェックポイント時にはアンロックする
    排他制御処理であって、 前記ブロックについてジョブからの強制参照要求を受け
    付け、当該ブロックが他のジョブにより更新済ロックさ
    れている場合は、当該ブロックを強制参照ロックし、当
    該ブロックが他のジョブにより更新中ロックされている
    場合には、更新済ロックに変更されるまで待ち合わせ、
    更新済ロックに変更されたときに、当該ブロックを強制
    参照ロックし、当該他のジョブにより当該ブロックが更
    新済ロックされている場合には、当該他のジョブにより
    保存された当該ブロックの更新前の内容を返却する排他
    制御処理をコンピュータに実行させるプログラムを記録
    したことを特徴とする記録媒体。
  15. 【請求項15】 前記ジョブからのチェックポイント要
    求を受け付け、 前記ジョブが前記ブロックの更新前の内容を保存してい
    るか否かを調べ、保存していない場合は、当該ジョブが
    ロックしていた全てのブロックをアンロックし、保存し
    ている場合には、当該ジョブが更新したブロックを他の
    ジョブが強制参照ロックしているか否かを調べ、強制参
    照ロックしていないときは、保存した当該ブロックの更
    新前の内容をクリアするとともに、当該ジョブがロック
    していた全てのブロックをアンロックし、強制参照ロッ
    クしているときには、保存した当該ブロックの更新前の
    内容をクリアせずに、当該ジョブがロックしていた全て
    のブロックをアンロックする排他制御処理をコンピュー
    タに実行させるプログラムを記録したことを特徴とする
    請求項14記載の記録媒体。
  16. 【請求項16】 前記ブロックについてジョブからの更
    新要求を受け付け、 ブロックにアクセスするジョブのジョブ名とロック種別
    をブロック単位に管理するための情報である排他情報
    と、前記ブロックの更新前の内容の保存場所となる収集
    ファイルに保存されている当該ブロックの更新前の内容
    を当該ジョブがアクセスしたか否かを示す情報であるジ
    ョブ情報の格納場所となる排他制御テーブルの当該排他
    情報に、更新要求したジョブが前記ブロックを更新中ロ
    ックする旨を登録し、 前記ブロックの更新前の内容を前記収集ファイルに保存
    するとともに、前記ファイルのファイル名および当該フ
    ァイル中のブロックの位置と、当該収集ファイルのファ
    イル名および当該収集ファイル中の保存位置との対応関
    係を収集情報テーブルに格納し、 前記ブロックを前記ジョブからの更新要求に基づいて更
    新し、 前記排他制御テーブルの排他情報を前記ジョブの前記ブ
    ロックについて更新済ロックに変更する排他制御方法で
    あって、 前記ブロックについてジョブからの強制参照要求を受け
    付け、 前記排他制御テーブルを参照して前記ブロックを他のジ
    ョブがロックしているか否かを調べ、他のジョブが当該
    ブロックを更新済ロックしているときは、強制参照要求
    した前記ジョブが当該ブロックを強制参照ロックする旨
    を前記排他制御テーブルの排他情報に登録するととも
    に、前記排他制御テーブルのジョブ情報に当該ジョブが
    前記収集ファイルに保存されている当該ブロックの更新
    前の内容をアクセスする旨を登録し、他のジョブが当該
    ブロックを更新中ロックしているときには、更新済ロッ
    クに変更されるまで待ち合わせ、更新済ロックに変更さ
    れたときに、強制参照要求した前記ジョブが当該ブロッ
    クを強制参照ロックする旨を前記排他制御テーブルの排
    他情報に登録するとともに、前記排他制御テーブルのジ
    ョブ情報に当該ジョブが前記収集ファイルに保存されて
    いる当該ブロックの更新前の内容をアクセスした旨を登
    録し、他のジョブにより当該ブロックが更新済ロックさ
    れているときには、当該他のジョブにより前記収集ファ
    イルに保存された当該ブロックの更新前の内容を当該ジ
    ョブに返却する排他制御処理をコンピュータに実行させ
    るプログラムを記録したことを特徴とする請求項14ま
    たは請求項15記載の記録媒体。
  17. 【請求項17】 前記対応関係を前記収集情報テーブル
    に格納する際に、前記ブロックについて更新要求したジ
    ョブのジョブ名を保存ジョブ名として、当該ブロックの
    更新前の内容が有効である旨を有効性識別として前記収
    集情報テーブル格納する排他制御処理であって、 ジョブからのチェックポイント要求を受け付け、前記保
    存ジョブ名がチェックポイント要求をした前記ジョブの
    ジョブ名である収集情報テーブルがあるか否かを調べ、
    無い場合は、前記排他制御テーブルを当該ジョブについ
    てクリアすることにより当該ジョブがロックしていた全
    てのブロックをアンロックし、ある場合には、前記排他
    制御テーブルを参照して当該ジョブが更新したブロック
    を他のジョブが強制参照ロックしているか否かを調べ、
    強制参照ロックしていないときは、前記保存ジョブ名が
    当該ジョブのジョブ名である収集情報テーブルと、当該
    収集情報テーブルに登録されている保存位置にある当該
    ジョブが更新したブロックの更新前の内容とをクリアす
    るとともに、前記排他制御テーブルを当該ジョブについ
    てクリアすることにより当該ジョブがロックしていた全
    てのブロックをアンロックし、強制参照ロックしている
    ときには、前記保存ジョブ名を当該ブロックを強制参照
    しているジョブのジョブ名に変更するとともに、前記有
    効性識別を無効である旨に変更し、前記排他制御テーブ
    ルを当該ジョブについてクリアすることにより当該ジョ
    ブがロックしていた全てのブロックをアンロックする排
    他制御処理をコンピュータに実行させるプログラムを記
    録したことを特徴とする請求項16記載の記録媒体。
  18. 【請求項18】 前記ジョブが異常終了した場合に、前
    記保存ジョブ名が異常終了した当該ジョブのジョブ名で
    ある収集情報テーブルがあるか否かを調べ、ある場合に
    は、当該収集情報テーブルに登録されている対応関係に
    基づいて、前記収集ファイルに保存されているブロック
    の更新前の内容を当該ブロックに書き戻し、前記排他制
    御テーブルを前記ジョブについてクリアすることにより
    当該ジョブがロックしていた全てのブロックをアンロッ
    クする旨の要求を行って前期排他制御テーブルをクリア
    する排他制御処理をコンピュータに実行させるプログラ
    ムを記録したことを特徴とする請求項17記載の記録媒
    体。
JP2001002835A 2001-01-10 2001-01-10 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体 Pending JP2002207603A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001002835A JP2002207603A (ja) 2001-01-10 2001-01-10 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001002835A JP2002207603A (ja) 2001-01-10 2001-01-10 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2002207603A true JP2002207603A (ja) 2002-07-26

Family

ID=18871274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001002835A Pending JP2002207603A (ja) 2001-01-10 2001-01-10 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2002207603A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004038721A1 (ja) * 2002-10-28 2004-05-06 Sony Corporation 情報記録再生処理装置、および方法、並びにコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004038721A1 (ja) * 2002-10-28 2004-05-06 Sony Corporation 情報記録再生処理装置、および方法、並びにコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
US5276835A (en) Non-blocking serialization for caching data in a shared cache
US7801855B2 (en) Method and apparatus for merging log entries in a database management system
US5287473A (en) Non-blocking serialization for removing data from a shared cache
JP2559959B2 (ja) 複数の非同期的プロセスによりレコードを更新する方法
US7240057B2 (en) System and method for implementing journaling in a multi-node environment
US8868577B2 (en) Generic database manipulator
US10754854B2 (en) Consistent query of local indexes
US20040049636A1 (en) Technique for data transfer
US9576038B1 (en) Consistent query of local indexes
KR20080086875A (ko) 데이터베이스를 관리하기 위한 컴퓨터 구현 방법, 및데이터베이스에 지향되는 트랜잭션들을 관리하기 위한컴퓨터 구현 방법
US20090106248A1 (en) Optimistic locking method and system for committing transactions on a file system
JPH056297A (ja) トランザクシヨン処理方法およびシステム
JP2004227569A (ja) 永続フレームワーク用単一キャッシュによる事象駆動型トランザクション状態の管理
US20120290547A1 (en) Transaction processing device, transaction processing method, and transaction processing program
US8095731B2 (en) Mutable object caching
US7444349B1 (en) Control of concurrent access to a partitioned data file
US7822933B1 (en) Enabling off-host data migration using volume translation mappings, snappoint maps and linked volume technologies
US6732239B2 (en) Concurrent access scheme for exclusive mode cache
US7051051B1 (en) Recovering from failed operations in a database system
JP2002207603A (ja) 排他制御方式、排他制御方法および排他制御用プログラムを記録した記録媒体
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
JP3450154B2 (ja) ファイルアクセス処理システム
JP4131579B2 (ja) データ管理システムおよびデータ管理方法
JP4245282B2 (ja) 書き込み遅延データベース管理方法、装置、プログラム、及び記録媒体
JP2000305832A (ja) 複数ホストから構成されるクラスタシステムにおけるメモリの共有装置と方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051018