JPH0820987B2 - ファイルの同時更新回避方式 - Google Patents
ファイルの同時更新回避方式Info
- Publication number
- JPH0820987B2 JPH0820987B2 JP63045016A JP4501688A JPH0820987B2 JP H0820987 B2 JPH0820987 B2 JP H0820987B2 JP 63045016 A JP63045016 A JP 63045016A JP 4501688 A JP4501688 A JP 4501688A JP H0820987 B2 JPH0820987 B2 JP H0820987B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- file
- program
- lock
- deadlock
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title description 19
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はファイルの同時更新回避方式に関し、特に情
報処理システムにおける複数プログラムによるファイル
の同時更新を回避するファイルの同時更新回避方式に関
する。
報処理システムにおける複数プログラムによるファイル
の同時更新を回避するファイルの同時更新回避方式に関
する。
ファイルの同時更新回避方式は、ファイル更新を行う
プログラムからのロック要求により、要求されたファイ
ルのブロックをそのプログラムだけが更新できるように
ロック状態にし、そのプログラムの更新終了後のロック
解除要求により、そのロック状態を解除している。
プログラムからのロック要求により、要求されたファイ
ルのブロックをそのプログラムだけが更新できるように
ロック状態にし、そのプログラムの更新終了後のロック
解除要求により、そのロック状態を解除している。
また、ファイルの仮更新機能は、ファイルを使用する
プログラムのデバッグを行うとき、デバッグをするプロ
グラムにより、そのファイルが壊されないように保護す
るため、そのファイルに対する読出しをするが書込みを
しないで書込み情報を別途記憶することにより、仮の更
新動作である疑似更新の動作を行わせる機能である。
プログラムのデバッグを行うとき、デバッグをするプロ
グラムにより、そのファイルが壊されないように保護す
るため、そのファイルに対する読出しをするが書込みを
しないで書込み情報を別途記憶することにより、仮の更
新動作である疑似更新の動作を行わせる機能である。
従来のファイルの同時更新回避方式は、仮更新機能を
使用してファイルアクセスのテスト動作を行う仮更新プ
ログラムと、仮更新機能を使用せずにファイルを更新す
る実更新プログラムとによるファイルの同時アクセスに
ついても、ファイルの実内容を更新する実更新プログラ
ム同士の排他制御と同じ制御を行うか、あるいは、仮更
新機能を使用するプログラムは排他制御を行わずにファ
イルを更新する実更新プログラムと同時に動作させる方
法を用いている。
使用してファイルアクセスのテスト動作を行う仮更新プ
ログラムと、仮更新機能を使用せずにファイルを更新す
る実更新プログラムとによるファイルの同時アクセスに
ついても、ファイルの実内容を更新する実更新プログラ
ム同士の排他制御と同じ制御を行うか、あるいは、仮更
新機能を使用するプログラムは排他制御を行わずにファ
イルを更新する実更新プログラムと同時に動作させる方
法を用いている。
上述した従来のファイルの同時更新回避方式では、デ
バッグ中の仮更新プログラムと、実更新プログラムとの
排他制御を行う場合は、仮更新プログラムのために、実
更新プログラムが長時間待たされり、デッドロック状態
(デンドロック状態とは、例えば、仮更新プログラムが
ファイルのブロックaをロック状態にし、実更新プログ
ラムがファイルのブロックbをロック状態にしている状
態で、仮更新プログラムがファイルのブロックbをロッ
ク要求をし、実更新プログラムがファイルのブロックa
をロック要求をした場合など、以後の動作が進まない状
態のことをいう)になってしまったりするという問題点
がある。
バッグ中の仮更新プログラムと、実更新プログラムとの
排他制御を行う場合は、仮更新プログラムのために、実
更新プログラムが長時間待たされり、デッドロック状態
(デンドロック状態とは、例えば、仮更新プログラムが
ファイルのブロックaをロック状態にし、実更新プログ
ラムがファイルのブロックbをロック状態にしている状
態で、仮更新プログラムがファイルのブロックbをロッ
ク要求をし、実更新プログラムがファイルのブロックa
をロック要求をした場合など、以後の動作が進まない状
態のことをいう)になってしまったりするという問題点
がある。
また、仮更新プログラムの排他制御を行わずに実更新
プログラムと同時に動作させる場合は、実更新プログラ
ムによるファイル内容の更新により、そのファイル内容
を読出して処理している仮更新プログラムの動作に矛盾
が生ずることがあるという問題点がある。
プログラムと同時に動作させる場合は、実更新プログラ
ムによるファイル内容の更新により、そのファイル内容
を読出して処理している仮更新プログラムの動作に矛盾
が生ずることがあるという問題点がある。
本発明の目的は、仮更新プログラムのために、実更新
プログラムが長時間待たされたり、デッドロック状態で
停止することがなく、また、仮更新プログラムも実更新
プログラムによるファイル内容の更新に影響されずに矛
盾なく動作を遂行できるファイルの同時更新回避方式を
提供することである。
プログラムが長時間待たされたり、デッドロック状態で
停止することがなく、また、仮更新プログラムも実更新
プログラムによるファイル内容の更新に影響されずに矛
盾なく動作を遂行できるファイルの同時更新回避方式を
提供することである。
本発明のファイルの同時更新回避方式は、 (A)ブロックごとに保存情報を記憶するファイル、 (B)前記ファイルの実内容を更新することなく、前記
ファイルの疑似更新の動作を行わせることによりプログ
ラムのデバックを支援するための仮更新機能を使用して
動作する仮更新プログラムを含む少なくとも一つの仮更
新処理手段、 (C)前記仮更新プログラムに同時に並行して動作する
ことができ、前記仮更新機能を使用せず前記ファイルの
実内容を更新する実更新プログラムを含む少なくとも一
つの実更新処理手段、 (D)前記仮更新プログラムおよび前記実更新プログラ
ムなどの複数プログラムによる同時アクセスの排他制御
であるロック処理およびアンロック処理を前記ファイル
のブロックごとに行い、そのロック処理でデッドロック
が検出されたとき、まずそのデッドロックに関係するロ
ック要求をした前記仮更新プログラムにデッドロック通
知を送ってアンロック要求を促し、そのデッドロックに
関係するロック要求をした前記仮更新プログラムがなけ
ればそのデッドロックになるロック要求をした前記実更
新プログラムにデッドロック通知を行ってアンロック要
求を促し、アンロック要求が行われたとき、アンロック
を待っている前記実更新プログラムのロック要求を優先
的に受けてロック処理を行い、前記実更新プログラムに
よる前記ファイルの更新を可能にする同時更新回避手
段、 を備えて構成されている。
ファイルの疑似更新の動作を行わせることによりプログ
ラムのデバックを支援するための仮更新機能を使用して
動作する仮更新プログラムを含む少なくとも一つの仮更
新処理手段、 (C)前記仮更新プログラムに同時に並行して動作する
ことができ、前記仮更新機能を使用せず前記ファイルの
実内容を更新する実更新プログラムを含む少なくとも一
つの実更新処理手段、 (D)前記仮更新プログラムおよび前記実更新プログラ
ムなどの複数プログラムによる同時アクセスの排他制御
であるロック処理およびアンロック処理を前記ファイル
のブロックごとに行い、そのロック処理でデッドロック
が検出されたとき、まずそのデッドロックに関係するロ
ック要求をした前記仮更新プログラムにデッドロック通
知を送ってアンロック要求を促し、そのデッドロックに
関係するロック要求をした前記仮更新プログラムがなけ
ればそのデッドロックになるロック要求をした前記実更
新プログラムにデッドロック通知を行ってアンロック要
求を促し、アンロック要求が行われたとき、アンロック
を待っている前記実更新プログラムのロック要求を優先
的に受けてロック処理を行い、前記実更新プログラムに
よる前記ファイルの更新を可能にする同時更新回避手
段、 を備えて構成されている。
次に本発明の実施例について図面を参照して説明す
る。
る。
第1図は本発明のファイルの同時更新回避方式の一実
施例を示すブロック図である。
施例を示すブロック図である。
第1図において、ファイル1は、ブロックごとに保存
情報を記憶している。
情報を記憶している。
仮更新処理手段2は、ファイル1の実内容を更新する
ことなく、ファイル1の疑似更新の動作を行わせること
によりプログラムのデバッグを支援するための仮更新機
能を使用して動作する仮更新プログラムを含むいくつか
の仮更新処理手段の中の一つである。また、実更新処理
手段3は、仮更新処理手段2に同時に並行して動作する
ことができ、仮更新機能を使用せずにファイル1の実内
容を更新する実更新プログラムを含むいくつかの実更新
処理手段の中の一つである。
ことなく、ファイル1の疑似更新の動作を行わせること
によりプログラムのデバッグを支援するための仮更新機
能を使用して動作する仮更新プログラムを含むいくつか
の仮更新処理手段の中の一つである。また、実更新処理
手段3は、仮更新処理手段2に同時に並行して動作する
ことができ、仮更新機能を使用せずにファイル1の実内
容を更新する実更新プログラムを含むいくつかの実更新
処理手段の中の一つである。
一方、同時更新回避手段4は、仮更新処理手段2およ
び実更新処理手段3などからの複数プログラムによる同
時アクセスの排他制御であるロック処理およびアンロッ
ク処理をファイル1のブロックごとに行っている。
び実更新処理手段3などからの複数プログラムによる同
時アクセスの排他制御であるロック処理およびアンロッ
ク処理をファイル1のブロックごとに行っている。
そして、同時更新回避手段4は、そのロック処理でデ
ッドロックが検出されたとき、まず、そのデッドロック
に関係するロック要求をした仮更新処理手段2があれ
ば、その仮更新処理手段2にデッドロック通知を送って
アンロック要求を促す。
ッドロックが検出されたとき、まず、そのデッドロック
に関係するロック要求をした仮更新処理手段2があれ
ば、その仮更新処理手段2にデッドロック通知を送って
アンロック要求を促す。
アンロック要求を促された仮更新処理手段2は、その
仮更新プログラムの一つ前のチェックポイントまで戻る
ことにより、同時更新回避手段4にアンロック要求を行
ったとき、同時更新回避手段4は、アンロックを待って
いる実更新処理手段3のロック要求を優先的に受けてロ
ック処理を行い、実更新処理手段3によるファイル1の
更新を可能にする。
仮更新プログラムの一つ前のチェックポイントまで戻る
ことにより、同時更新回避手段4にアンロック要求を行
ったとき、同時更新回避手段4は、アンロックを待って
いる実更新処理手段3のロック要求を優先的に受けてロ
ック処理を行い、実更新処理手段3によるファイル1の
更新を可能にする。
また、デッドロックに関係するロック要求をした仮更
新処理手段がなければ、同時更新回避手段4は、そのデ
ッドロックになるロック要求をした実更新処理手段3に
デッドロック通知を行ってアンロック要求を促す。
新処理手段がなければ、同時更新回避手段4は、そのデ
ッドロックになるロック要求をした実更新処理手段3に
デッドロック通知を行ってアンロック要求を促す。
アンロック要求を促された実更新処理手段3は、その
実更新プログラムの一つ前のチェックポイントまで戻る
ことにより、同時更新回避手段4にアンロック要求を行
ったとき、同時更新回避手段4は、アンロックを待って
いる他の実更新処理手段のロック要求を優先的に受けて
そのロック処理を行い、その実更新処理手段によるファ
イル1の更新を可能にする。
実更新プログラムの一つ前のチェックポイントまで戻る
ことにより、同時更新回避手段4にアンロック要求を行
ったとき、同時更新回避手段4は、アンロックを待って
いる他の実更新処理手段のロック要求を優先的に受けて
そのロック処理を行い、その実更新処理手段によるファ
イル1の更新を可能にする。
第2図は本実施例における同時更新回避手段内のロッ
ク処理を示す流れ図である。
ク処理を示す流れ図である。
第2図に示すように、仮更新プログラムまたは実更新
プログラムから要求があったとき、ステップS1で、ロッ
ク要求があったファイルのブロックがロック可能かどう
かを判断し、ロック可能(可)であれば、ステップS2
で、ロック状態として、ステップS3で、ロック要求をし
たプログラムにロック完了を通知し、そのプログラムを
実行させる。
プログラムから要求があったとき、ステップS1で、ロッ
ク要求があったファイルのブロックがロック可能かどう
かを判断し、ロック可能(可)であれば、ステップS2
で、ロック状態として、ステップS3で、ロック要求をし
たプログラムにロック完了を通知し、そのプログラムを
実行させる。
また、ステップS1で、ロック要求があったファイルの
ブロックがすでに他のプログラムによりロック状態であ
るが、デッドロック状態ではなく、待ちが必要(待ち)
であれば、ステップS4で、そのロック要求がステップS1
のロック可に対する待ち状態となる。
ブロックがすでに他のプログラムによりロック状態であ
るが、デッドロック状態ではなく、待ちが必要(待ち)
であれば、ステップS4で、そのロック要求がステップS1
のロック可に対する待ち状態となる。
一方、ステップS1で、ロック要求があったファイルの
ブロックがすでに他のプログラムによりロック状態にあ
り、そのロック状態にした他のプログラムもロック要求
をしたプログラムによる別のロック状態の解除を待って
いるなどのデッドロック状態(デッドロック)であれ
ば、次に、ステップS5で、ロック要求をしたプログラム
を含めてロック状態にしたプログラムの中に、仮更新プ
ログラムがあるかどうかを判定する。
ブロックがすでに他のプログラムによりロック状態にあ
り、そのロック状態にした他のプログラムもロック要求
をしたプログラムによる別のロック状態の解除を待って
いるなどのデッドロック状態(デッドロック)であれ
ば、次に、ステップS5で、ロック要求をしたプログラム
を含めてロック状態にしたプログラムの中に、仮更新プ
ログラムがあるかどうかを判定する。
ステップS5で、仮更新プログラムがあり、それが要求
元以外、(有…要求元以外)ならば、ステップS6で、そ
の仮更新プログラムへデッドロックを通知してアンロッ
ク要求を促し、ステップS7で、ステップS1のロック可に
対する待ち状態となる。
元以外、(有…要求元以外)ならば、ステップS6で、そ
の仮更新プログラムへデッドロックを通知してアンロッ
ク要求を促し、ステップS7で、ステップS1のロック可に
対する待ち状態となる。
また、ステップS5で、仮更新プログラムがない(無)
ならば、ステップS8で、ロック要求をした実更新プログ
ラムにデッドロックを通知して、ロック処理を終了す
る。さらに、ステップS5で、仮更新プログラムがあり、
それが要求元(有…要求元)ならば、ステップS9で、ロ
ック要求をした仮更新プログラムにデッドロックを通知
して、ロック処理を終了する。
ならば、ステップS8で、ロック要求をした実更新プログ
ラムにデッドロックを通知して、ロック処理を終了す
る。さらに、ステップS5で、仮更新プログラムがあり、
それが要求元(有…要求元)ならば、ステップS9で、ロ
ック要求をした仮更新プログラムにデッドロックを通知
して、ロック処理を終了する。
一方、第3図は本実施例におけく同時更新回避手段内
のアンロック処理を示す流れ図である。
のアンロック処理を示す流れ図である。
第3図に示すように、デッドロックの通知を受けた仮
更新プログラムまたは実更新プログラムが自己のファイ
ル処理を中断して、以前に行ったロックに対するアンロ
ック要求を行ったときには、ステップT1で、アンロック
要求があったファイルのブロックのロック状態を解除す
る。
更新プログラムまたは実更新プログラムが自己のファイ
ル処理を中断して、以前に行ったロックに対するアンロ
ック要求を行ったときには、ステップT1で、アンロック
要求があったファイルのブロックのロック状態を解除す
る。
続いて、ステップT2で、アンロックを待って待ち状態
のプログラムがあるかどうかを判断し、待ち状態のプロ
グラムがある(YES)場合のみ、ステップT3で、待ち状
態のプログラムに対する待ち状態を解除する。
のプログラムがあるかどうかを判断し、待ち状態のプロ
グラムがある(YES)場合のみ、ステップT3で、待ち状
態のプログラムに対する待ち状態を解除する。
次に、ステップT4で、アンロック要求をしたプログラ
ムにアンロック完了を通知し、アンロック処理を終了す
る。
ムにアンロック完了を通知し、アンロック処理を終了す
る。
以上述べたように、本実施例のファイルの同時更新回
避方式は、デバッグ中の仮更新プログラムと、実更新プ
ログラムとが同一のファイルを並行して使用する場合に
排他制御によるデッドロック状態が発生しても、まず仮
更新プログラムにアンロック要求を促し、そのデッドロ
ックに関係するロック要求をした仮更新プログラムがな
ければそのデッドロックになるロック要求をした実更新
プログラムにアンロック要求を促すことにより、そのデ
ッドロックの解除となるアンロック要求が行われたと
き、アンロックを待っている実業務を行う実更新プログ
ラムを優先的に動作させることができる。
避方式は、デバッグ中の仮更新プログラムと、実更新プ
ログラムとが同一のファイルを並行して使用する場合に
排他制御によるデッドロック状態が発生しても、まず仮
更新プログラムにアンロック要求を促し、そのデッドロ
ックに関係するロック要求をした仮更新プログラムがな
ければそのデッドロックになるロック要求をした実更新
プログラムにアンロック要求を促すことにより、そのデ
ッドロックの解除となるアンロック要求が行われたと
き、アンロックを待っている実業務を行う実更新プログ
ラムを優先的に動作させることができる。
以上説明したように、本発明のファイルの同時更新回
避方式は、仮更新プログラムのために、実更新プログラ
ムが長時間待たされり、デッドロック状態で停止するこ
とがなく、また、仮更新プログラムも実更新プログラム
によるファイル内容の更新に影響されずに矛盾なく動作
を遂行できるという効果を有している。
避方式は、仮更新プログラムのために、実更新プログラ
ムが長時間待たされり、デッドロック状態で停止するこ
とがなく、また、仮更新プログラムも実更新プログラム
によるファイル内容の更新に影響されずに矛盾なく動作
を遂行できるという効果を有している。
第1図は本発明のファイルの同時更新回避方式の一実施
例を示すブロック図、第2図は本実施例における同時更
新回避手段内のロック処理を示す流れ図、第3図は本実
施例における同時更新回避手段内のアンロック処理を示
す流れ図である。 1……ファイル、2……仮更新処理手段、3……実更新
処理手段、4……同時更新回避手段。
例を示すブロック図、第2図は本実施例における同時更
新回避手段内のロック処理を示す流れ図、第3図は本実
施例における同時更新回避手段内のアンロック処理を示
す流れ図である。 1……ファイル、2……仮更新処理手段、3……実更新
処理手段、4……同時更新回避手段。
Claims (1)
- 【請求項1】(A)ブロックごとに保存情報を記憶する
ファイル、 (B)前記ファイルの実内容を更新することなく、前記
ファイルの疑似更新の動作を行わせることによりプログ
ラムのデバッグを支援するための仮更新機能を使用して
動作する仮更新プログラムを含む少なくとも一つの仮更
新処理手段、 (C)前記仮更新プログラムに同時に並行して動作する
ことができ、前記仮更新機能を使用せず前記ファイルの
実内容を更新する実更新プログラムを含む少なくとも一
つの実更新処理手段、 (D)前記仮更新プログラムおよび前記実更新プログラ
ムなどの複数プログラムによる同時アクセスの排他制御
であるロック処理およびアンロック処理を前記ファイル
のブロックごとに行い、そのロック処理でデッドロック
が検出されたとき、まずそのデッドロックに関係するロ
ック要求をした前記仮更新プログラムにデッドロック通
知を送ってアンロック要求を促し、そのデッドロックに
関係するロック要求をした前記仮更新プログラムがなけ
ればそのデッドロックになるロック要求をした前記実更
新プログラムにデッドロック通知を行ってアンロック要
求を促し、アンロック要求が行われたとき、アンロック
を待っている前記実更新プログラムのロック要求を優先
的に受けてロック処理を行い、前記実更新プログラムに
よる前記ファイルの更新を可能にする同時更新回避手
段、 を備えることを特徴とするファイルの同時更新回避方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63045016A JPH0820987B2 (ja) | 1988-02-26 | 1988-02-26 | ファイルの同時更新回避方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63045016A JPH0820987B2 (ja) | 1988-02-26 | 1988-02-26 | ファイルの同時更新回避方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01217652A JPH01217652A (ja) | 1989-08-31 |
| JPH0820987B2 true JPH0820987B2 (ja) | 1996-03-04 |
Family
ID=12707557
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63045016A Expired - Lifetime JPH0820987B2 (ja) | 1988-02-26 | 1988-02-26 | ファイルの同時更新回避方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0820987B2 (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0621995B2 (ja) * | 1985-08-13 | 1994-03-23 | 日本電気株式会社 | ファイル同時アクセス制御システム |
| JPS62204351A (ja) * | 1986-03-04 | 1987-09-09 | Nec Corp | デツドロツク解除方式 |
-
1988
- 1988-02-26 JP JP63045016A patent/JPH0820987B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01217652A (ja) | 1989-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4791554A (en) | Method and apparatus for preventing deadlock in a data base management system | |
| JP2793399B2 (ja) | バッファ装置 | |
| JPH0713813B2 (ja) | データアクセス方法及びデータ処理システム | |
| JPH1165863A (ja) | 共有資源管理方法 | |
| JPH0833863B2 (ja) | データベース管理装置及び方法 | |
| JPH03224036A (ja) | 資源の排他制御方式 | |
| JPS63225851A (ja) | 複数データ処理装置間フアイル共有方式 | |
| US6502122B1 (en) | Method and apparatus for executing transaction programs in parallel | |
| JPH1115793A (ja) | 資源の保全性を保護する方法 | |
| JP3701816B2 (ja) | タスク終了を通知する方法および装置 | |
| JP3621433B2 (ja) | データベース排他制御方法 | |
| JPH01217652A (ja) | ファイルの同時更新回避方式 | |
| JP3107094B2 (ja) | 共用バッファのロック期間短縮処理方法及び装置 | |
| EP0049423A2 (en) | Multiprocessor system | |
| US7234142B1 (en) | Task processing system | |
| CN114138728B (zh) | 一种修改共享文件内容的方法、装置、设备、存储介质 | |
| JPH0588954A (ja) | データベースの更新方法 | |
| JPS6320634A (ja) | 計算機資源排他制御方式 | |
| JPH08137923A (ja) | Cadシステムの設計データ管理方式 | |
| CN118260051A (zh) | 线程访问控制设备、方法与计算设备 | |
| JPH09269912A (ja) | 情報処理方法とその装置 | |
| JPS62251939A (ja) | フアイル同時アクセス制御方式 | |
| JPH0644129A (ja) | 情報処理装置 | |
| JPS63196956A (ja) | フアイル排他方式 | |
| JPH01140250A (ja) | デッドロック情報収集方式 |