JPH035843A - ファイルのブロック排他方式 - Google Patents
ファイルのブロック排他方式Info
- Publication number
- JPH035843A JPH035843A JP1140360A JP14036089A JPH035843A JP H035843 A JPH035843 A JP H035843A JP 1140360 A JP1140360 A JP 1140360A JP 14036089 A JP14036089 A JP 14036089A JP H035843 A JPH035843 A JP H035843A
- Authority
- JP
- Japan
- Prior art keywords
- program
- block
- file
- buffer
- processing
- 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
Links
- 239000000872 buffer Substances 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 abstract description 25
- 238000012360 testing method Methods 0.000 abstract description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、先行のプログラムにより更新処理されたレコ
ードの内容を、後続のプログラムの更新処理によって破
壊されないようにし、かつプログラドのコーディングを
容易にできるようにしたファイルのブロック排他方式に
関するものである。
ードの内容を、後続のプログラムの更新処理によって破
壊されないようにし、かつプログラドのコーディングを
容易にできるようにしたファイルのブロック排他方式に
関するものである。
従来のファイルのブロック排他方式では、プログラムか
ら任意のレコードに対する参照要求が出されると、その
レコードを含むブロックをロック状態にし、レコードに
対する処理が完結するまで他のプロゲラ14からの要求
は、待たされていた。
ら任意のレコードに対する参照要求が出されると、その
レコードを含むブロックをロック状態にし、レコードに
対する処理が完結するまで他のプロゲラ14からの要求
は、待たされていた。
又、2本以上のプログラムが互いに待たされるとプツト
ロック状態となり、処理が停止していた。
ロック状態となり、処理が停止していた。
この状態の回避は、プログラムの処理やオペレータに委
ねるのが一般的であった。
ねるのが一般的であった。
従来のプログラムのブロック排、他方式では、複数のプ
ログラムが同時に同一ブロックに対する要求を出した時
に、先行のプログラムが更新処理する前のブロックの情
報で、後続プログラムが更新処理を行うと、先行のプロ
グラムが更新した内容が保障されない現象をプログラム
にブロックから情報を受け取った時点から更新処理が完
了するまでそのブロックに対する他のプログラムからの
要求を待たせることで解決していた。
ログラムが同時に同一ブロックに対する要求を出した時
に、先行のプログラムが更新処理する前のブロックの情
報で、後続プログラムが更新処理を行うと、先行のプロ
グラムが更新した内容が保障されない現象をプログラム
にブロックから情報を受け取った時点から更新処理が完
了するまでそのブロックに対する他のプログラムからの
要求を待たせることで解決していた。
しかし、上記の方法だけでは、複数のプログラムが互い
に待ち合わせの状態が発生するという問題点がある。従
来この問題点はプログラムの処理やオペレータに委ねて
いたが、発生する頻度が非常に少なく、テストの環境を
設定するのは困難であるため、テストが不十分となり後
々で現象が発生する要因が多分にあった。
に待ち合わせの状態が発生するという問題点がある。従
来この問題点はプログラムの処理やオペレータに委ねて
いたが、発生する頻度が非常に少なく、テストの環境を
設定するのは困難であるため、テストが不十分となり後
々で現象が発生する要因が多分にあった。
本発明は、プログラムのブロック排他制御に関する処理
を全てシステム化する事で上記の欠点を解決し、システ
ムの設計フェーズからプログラム製造・テストのフェー
ズ上で、ファイルのブロック排他制御を意識する事を省
き、各フェーズの作業能率を高める上、ファイルの信頼
性を向上させる事を目的としている。そのため本発明に
おけるファイルのブロック排他制御方式では、ファイル
装置からプログラムにデータを受け渡すバッファの管理
手段と、プログラムの要求するブロックがバッファ内に
存在するか判断する手段と、そのブロックのロック状態
を解析し、ロックの設定・解除を行う手段と、他のプロ
グラノ・から参照要求されているブロックに対して参照
要求するプログラムを参照要求時点に戻すためにプログ
ラム環境及びファイルのデータを保存・復元する手段と
を(+iffえ、プロゲラl、で処理単位の開始と終了
を指定することでデータの破壊を起こさない制御を利用
できることを特徴としている。
を全てシステム化する事で上記の欠点を解決し、システ
ムの設計フェーズからプログラム製造・テストのフェー
ズ上で、ファイルのブロック排他制御を意識する事を省
き、各フェーズの作業能率を高める上、ファイルの信頼
性を向上させる事を目的としている。そのため本発明に
おけるファイルのブロック排他制御方式では、ファイル
装置からプログラムにデータを受け渡すバッファの管理
手段と、プログラムの要求するブロックがバッファ内に
存在するか判断する手段と、そのブロックのロック状態
を解析し、ロックの設定・解除を行う手段と、他のプロ
グラノ・から参照要求されているブロックに対して参照
要求するプログラムを参照要求時点に戻すためにプログ
ラム環境及びファイルのデータを保存・復元する手段と
を(+iffえ、プロゲラl、で処理単位の開始と終了
を指定することでデータの破壊を起こさない制御を利用
できることを特徴としている。
次に、本発明について図面を参照して説明する。
第1図および第2図はそれぞれ本発明の一実施例のフロ
ーチャートおよび概略図である。第2図中、′2−1は
ファイル装置、2−2はブロック、2−3はレコード、
2−4はバッファ、2−5はプログラム、2−6はプロ
グラムエリア、2−7はブロック排他制御部、2−8は
ジャーナルを表わす。バッファ2−4内はファイル装置
2−4と同様にブロック2−2とレコード2−3で構成
されている。
ーチャートおよび概略図である。第2図中、′2−1は
ファイル装置、2−2はブロック、2−3はレコード、
2−4はバッファ、2−5はプログラム、2−6はプロ
グラムエリア、2−7はブロック排他制御部、2−8は
ジャーナルを表わす。バッファ2−4内はファイル装置
2−4と同様にブロック2−2とレコード2−3で構成
されている。
第1図のフローチャートに基づいてブロック排他制御部
2−7の動作について説明する。
2−7の動作について説明する。
プログラム2−5からファイル装置2−1に資源要求を
出すとブロック排他制御部2−7では、要求がプログラ
ムの処理単位に関する要求か判断する。処理単位に関す
る要求の場合は、ステップ1−1で、処理単位の開始と
終了の処理を行う。
出すとブロック排他制御部2−7では、要求がプログラ
ムの処理単位に関する要求か判断する。処理単位に関す
る要求の場合は、ステップ1−1で、処理単位の開始と
終了の処理を行う。
処理単位の開始の場合は、プログラムの環境であるプロ
グラムのワークエリア・使用しているファイルの現在位
置・プログラム命令の現在位置をジャーナル2−8に保
存する。この処理により処理単位の途中どの位置からで
も処理単位の開始にプログラムの環境を戻すことができ
る。処理単位の終了の場合は、要求を出したプログラム
の更新ロック状態のブロックをファイル装置2−1に転
送した後で、そのプログラムがロックしているブロック
のロックを全て解除する。
グラムのワークエリア・使用しているファイルの現在位
置・プログラム命令の現在位置をジャーナル2−8に保
存する。この処理により処理単位の途中どの位置からで
も処理単位の開始にプログラムの環境を戻すことができ
る。処理単位の終了の場合は、要求を出したプログラム
の更新ロック状態のブロックをファイル装置2−1に転
送した後で、そのプログラムがロックしているブロック
のロックを全て解除する。
要求が資源に対する入出力要求の場合は、ステップ1−
2のバッファ管理でプログラムから要求されたブロック
がバッファ内に存在するか検索する処理と、プログラム
・ファイル単位で参照ロックされているブロックを1つ
にする処理を行う。
2のバッファ管理でプログラムから要求されたブロック
がバッファ内に存在するか検索する処理と、プログラム
・ファイル単位で参照ロックされているブロックを1つ
にする処理を行う。
上記の処理は、バッファ2−4上の各ブロックを第3図
に示すプログラム単位のテーブルを用いて管理する。第
3図のテーブルは、バッファ内の各ブロックがファイル
装置2−1に格納されている位置3−1とプログラム毎
にブロックをロックし°〔いる状況3−2により構成さ
れている。バッファ管理の同一ブロックの検索は、ファ
イル装置の格納位置3−1から検索することができる。
に示すプログラム単位のテーブルを用いて管理する。第
3図のテーブルは、バッファ内の各ブロックがファイル
装置2−1に格納されている位置3−1とプログラム毎
にブロックをロックし°〔いる状況3−2により構成さ
れている。バッファ管理の同一ブロックの検索は、ファ
イル装置の格納位置3−1から検索することができる。
又、プログラム・ファイル単位に参照ロックを1つにす
る処理は、ファイル装置の格納位置3−1とプログラム
毎のブロックロック状況3−2により処理することがで
きる。
る処理は、ファイル装置の格納位置3−1とプログラム
毎のブロックロック状況3−2により処理することがで
きる。
バッファ管理によりバッファ内に同一ブロックが存在し
ないと判断された場合は、ステップ1−3のブロックの
ロック処理で、ブロックの内容を変更しない参照要求の
場合は参照ロックを設定する。一方、ブロックの内容を
変更する登録・更新・削除要求の場合は更新ロックを設
定した後で、変更したブロック内のレコードをジャーナ
ル2−8に出力する。
ないと判断された場合は、ステップ1−3のブロックの
ロック処理で、ブロックの内容を変更しない参照要求の
場合は参照ロックを設定する。一方、ブロックの内容を
変更する登録・更新・削除要求の場合は更新ロックを設
定した後で、変更したブロック内のレコードをジャーナ
ル2−8に出力する。
バッファ管理よりバッファ2−4内に同一ブロックが存
在すると判断された場合は、要求されたブロックの状態
を確認する。ブロックの状態が参照ロックの場合は、ス
テップ1−4参照ロツク処理で参照要求はプログラムに
データを転送されるが登録・更新・削除の要求は、持た
せる。但し参照ロックを設定したプログラムからの要求
は実行し、ブロックのロックを設定する。ブロックの状
態が更新ロックの場合は、ステップ2−5更新ロツクの
処理で更新ロックを設定したプログラムからの全ての要
求は実行されるが、他のプログラムからの参照要求は待
たせ、更新要求は処理単位の開始にプログラムの環境及
び更新したデータを戻し、そのプログラムがロックして
いるブロックのロックを解除する。
在すると判断された場合は、要求されたブロックの状態
を確認する。ブロックの状態が参照ロックの場合は、ス
テップ1−4参照ロツク処理で参照要求はプログラムに
データを転送されるが登録・更新・削除の要求は、持た
せる。但し参照ロックを設定したプログラムからの要求
は実行し、ブロックのロックを設定する。ブロックの状
態が更新ロックの場合は、ステップ2−5更新ロツクの
処理で更新ロックを設定したプログラムからの全ての要
求は実行されるが、他のプログラムからの参照要求は待
たせ、更新要求は処理単位の開始にプログラムの環境及
び更新したデータを戻し、そのプログラムがロックして
いるブロックのロックを解除する。
以上説明したように本発明によれば、従来のブロック排
他制御で行われていなかったデフ)ロックの回避処理を
ブロック排他制御に含めることにより、プログラム開発
の各フェーズでデフトロツタ回避処理の考慮が不必要と
なり、プログラムの製造・テストが容易になる。又支障
時には、ジャーナルからのデータ復元も可能である。
他制御で行われていなかったデフ)ロックの回避処理を
ブロック排他制御に含めることにより、プログラム開発
の各フェーズでデフトロツタ回避処理の考慮が不必要と
なり、プログラムの製造・テストが容易になる。又支障
時には、ジャーナルからのデータ復元も可能である。
第1図および第2図はそれぞれ本発明の一実施例の動作
を表わすフローチャートおよび概略ブロック図、第3図
はバッファ2−4のブロックを管理するためのテーブル
を示す図である。 2−1・・・・・・ファイル装置、2−2・・・・・・
ブロック、2−3・・・・・・レコード、2−4・・・
・・・バッファ、2−5・・・・・・プログラム、2−
6・・・・・・プログラムのエリア、2−7・・・・・
・ブロック排他制御部 2−8・・・・・・ジャーナル 2−4のバッファ内は、ファイル装置2−1と同様にブ
ロック2−2とレコード2−3で構成されている。 巣 1 父
を表わすフローチャートおよび概略ブロック図、第3図
はバッファ2−4のブロックを管理するためのテーブル
を示す図である。 2−1・・・・・・ファイル装置、2−2・・・・・・
ブロック、2−3・・・・・・レコード、2−4・・・
・・・バッファ、2−5・・・・・・プログラム、2−
6・・・・・・プログラムのエリア、2−7・・・・・
・ブロック排他制御部 2−8・・・・・・ジャーナル 2−4のバッファ内は、ファイル装置2−1と同様にブ
ロック2−2とレコード2−3で構成されている。 巣 1 父
Claims (1)
- ファイル内のレコードを参照・登録・更新・削除の処理
を行う場合、複数レコードを1回の物理的な入出力単位
として資源要求を行い記憶装置に格納するファイル装置
と、このファイル装置からプログラムにデータ受け渡し
を行うバッファの管理手段と、バッファ内の物理的な入
出力単位であるブロックを検索する手段と、ブロックの
ロック状況を解析し設定/解除を行う手段と、プログラ
ムの環境及びファイルの保存/復元を行う手段とを含む
ことを特徴とするファイルのブロック排他方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1140360A JPH035843A (ja) | 1989-06-01 | 1989-06-01 | ファイルのブロック排他方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1140360A JPH035843A (ja) | 1989-06-01 | 1989-06-01 | ファイルのブロック排他方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH035843A true JPH035843A (ja) | 1991-01-11 |
Family
ID=15267014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1140360A Pending JPH035843A (ja) | 1989-06-01 | 1989-06-01 | ファイルのブロック排他方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH035843A (ja) |
-
1989
- 1989-06-01 JP JP1140360A patent/JPH035843A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260578B2 (en) | Database-file link system and method therefor | |
US7600063B2 (en) | Techniques for improved read-write concurrency | |
EP2356560B1 (en) | Atomic multiple modification of data in a distributed storage system | |
US6341308B1 (en) | Input/output device information management system for multi-computer system | |
US4498145A (en) | Method for assuring atomicity of multi-row update operations in a database system | |
KR100398753B1 (ko) | 효과적인 파일 갱신 처리 및 복구 처리를 이용하는트랜잭션 처리 시스템 | |
JP2505040B2 (ja) | 索引木への並列アクセスのためのデ―タ・アクセス方法およびデ―タ処理システム | |
US8745707B2 (en) | Method and apparatus providing optimistic locking of shared computer resources | |
US8417742B2 (en) | Information processing apparatus and information processing method | |
US20030217058A1 (en) | Lock-free file system | |
JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
JP3222125B2 (ja) | システム間データベース共用方式 | |
US20030041069A1 (en) | System and method for managing bi-directional relationships between objects | |
CN112789606A (zh) | 数据重分布方法、装置及系统 | |
JPH1063557A (ja) | 分散ファイルの同期方式 | |
EP0097239A2 (en) | Method and apparatus for restoring data in a computing system | |
JPH035843A (ja) | ファイルのブロック排他方式 | |
US10459810B2 (en) | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery | |
JP2610926B2 (ja) | トランザクション制御方式 | |
JPS63159949A (ja) | フアイルのアクセス方法 | |
CN113448710B (zh) | 基于业务资源的分布式应用系统 | |
JP2980610B2 (ja) | トランザクション管理装置 | |
JPH08129501A (ja) | データベースの予約アクセス処理方法 | |
JPH09171480A (ja) | 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに自動運用システム、および該ネットワークシステムの自動運用方法 | |
JPH03255549A (ja) | レコード排他方式 |