JPH02252036A - ファイルのアクセス制御方式 - Google Patents
ファイルのアクセス制御方式Info
- Publication number
- JPH02252036A JPH02252036A JP1071691A JP7169189A JPH02252036A JP H02252036 A JPH02252036 A JP H02252036A JP 1071691 A JP1071691 A JP 1071691A JP 7169189 A JP7169189 A JP 7169189A JP H02252036 A JPH02252036 A JP H02252036A
- Authority
- JP
- Japan
- Prior art keywords
- block
- index
- lock
- data
- file
- 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
- 238000000034 method Methods 0.000 claims description 39
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、階層構造を有する索引を持った索引順編成フ
ァイルのアクセス制御方式に関する。
ァイルのアクセス制御方式に関する。
(従来の技術)
コンピュータシステム等において、データが格納された
ファイルを複数のジョブが同時にアクセスしようとする
場合、これらの複数のジョブに対し、排他制御が行なわ
れる。この排他制御は、1つのジョブがアクセスしてい
るとき、他のジョブからのアクセスを禁止し、ファイル
の破壊を防止するための制御である。このような排他制
御は、階層構造を有する索引順編成ファイルについては
、次のようにして行なわれていた。
ファイルを複数のジョブが同時にアクセスしようとする
場合、これらの複数のジョブに対し、排他制御が行なわ
れる。この排他制御は、1つのジョブがアクセスしてい
るとき、他のジョブからのアクセスを禁止し、ファイル
の破壊を防止するための制御である。このような排他制
御は、階層構造を有する索引順編成ファイルについては
、次のようにして行なわれていた。
第2図は、階層構造を有する索引を持つ索引順編成ファ
イルの構成図である。
イルの構成図である。
図示のファイルは、データ21と、索引22とから成る
。
。
データ21は、磁気ディスク等に格納されたものである
。このデータ21は、複数のデータブロック26から成
る。これらのデータブロック26のアドレスは、索引2
2に記憶されている。
。このデータ21は、複数のデータブロック26から成
る。これらのデータブロック26のアドレスは、索引2
2に記憶されている。
索引22も、データ21と同様に磁気ディスク等に格納
されたものである。この索引22は、階層構造、即ちい
わゆる木構造を有している。
されたものである。この索引22は、階層構造、即ちい
わゆる木構造を有している。
即ち、索引22は、葉ブロック23と、節ブロック24
と、根ブロック25とから成る。
と、根ブロック25とから成る。
葉ブロック23は、データブロック26のアドレスを記
憶したものである。
憶したものである。
節ブロック24は、連続した複数の葉ブロック23をま
とめて管理するためのものである。
とめて管理するためのものである。
根ブロック25は、連続した複数の節プロ、ツク24を
まとめて管理するためのものである。
まとめて管理するためのものである。
以上の索引順編成ファイルを排他制御するため、1つの
ジョブのアクセスに対してブロックごとにロックが行な
われる。ロックとは、1つのジョブが特定のブロックを
占有して他のジョブからのアクセスを禁止することをい
う、このロックは、従来のファイルアクセス制御方式に
おいては、次のようにして行なわれていた。
ジョブのアクセスに対してブロックごとにロックが行な
われる。ロックとは、1つのジョブが特定のブロックを
占有して他のジョブからのアクセスを禁止することをい
う、このロックは、従来のファイルアクセス制御方式に
おいては、次のようにして行なわれていた。
第3図は、従来のファイルアクセス制御方式を適用した
装置のブロック図である。
装置のブロック図である。
図示の装置は、複数のプロセッサ11及び12と、主記
憶装置13と、ファイル14とから成る。
憶装置13と、ファイル14とから成る。
プロセッサ11及び12は、ファイル13内のデータを
アクセスして主記憶装置14上に転送し、当該データを
処理し、ファイル13に戻す等の処理や制御を行なうた
めのものである。
アクセスして主記憶装置14上に転送し、当該データを
処理し、ファイル13に戻す等の処理や制御を行なうた
めのものである。
ファイル13は、磁気ディスク等から成るものであり、
第2図に示す索引順編成ファイルを格納している。
第2図に示す索引順編成ファイルを格納している。
主記憶装置14は、ランダム・アクセス・メモリ等から
成るものあり、ファイル13内のデータが転記されると
ともに、ファイル13のアクセス制御のための情報が記
憶される。この情報は、図示のように、ロック管理テー
ブル30と、ロックテーブルレ31と、参照ロック用テ
ーブル32等から成る。
成るものあり、ファイル13内のデータが転記されると
ともに、ファイル13のアクセス制御のための情報が記
憶される。この情報は、図示のように、ロック管理テー
ブル30と、ロックテーブルレ31と、参照ロック用テ
ーブル32等から成る。
ロック管理テーブル30は、システムに1つだけ設けら
れるものである。このロック管理テーブル30には、フ
ァイル13と主記憶装置14との間のデータ転送の単位
であるブロックのブロック番号に対し、ロックテーブル
31が割当て済か否かが記憶される。
れるものである。このロック管理テーブル30には、フ
ァイル13と主記憶装置14との間のデータ転送の単位
であるブロックのブロック番号に対し、ロックテーブル
31が割当て済か否かが記憶される。
ロックテーブル31は、ジョブがブロックを参照または
更新する場合に、そのジョブに対して割当てられるもの
である。
更新する場合に、そのジョブに対して割当てられるもの
である。
参照ロック用テーブル32は、あるジョブがあるブロッ
クを参照しているときに、他のジョブが当該ブロックを
参照する場合に、他のジョブに対して割当てられるもの
である。
クを参照しているときに、他のジョブが当該ブロックを
参照する場合に、他のジョブに対して割当てられるもの
である。
次に、上述した第3図の主記憶装置14内の情報の設定
手順を説明する。
手順を説明する。
ジョブ1が特定のブロックをアクセスする場合は、まず
、ロック管理テーブル30において、アクセスの対象で
あるブロック番号を検索する。
、ロック管理テーブル30において、アクセスの対象で
あるブロック番号を検索する。
今、ジョブ1が当該特定のブロックに対するアクセスの
競合時に、一番最初にアクセスをしたジョブであるとす
る。この場合、システムによってジョブ1に対し、ロッ
クテーブル31が割当てられる。このとき、ロック管理
テーブル30には、アクセスの対象であるブロック番号
に対し、ロックテーブル31が割当て済である旨が記憶
される。また、ロックテーブル31には、アクセスが参
照か更新かが記憶される。
競合時に、一番最初にアクセスをしたジョブであるとす
る。この場合、システムによってジョブ1に対し、ロッ
クテーブル31が割当てられる。このとき、ロック管理
テーブル30には、アクセスの対象であるブロック番号
に対し、ロックテーブル31が割当て済である旨が記憶
される。また、ロックテーブル31には、アクセスが参
照か更新かが記憶される。
ファイル13の参照時に、ブロックのロックが行なわれ
ることを参照ロックという、参照ロックされれば、ロッ
クテーブル31にアクセスが参照である旨が記憶される
。この場合、他のジョブは、ブロックの参照はできるが
、更新はできない。
ることを参照ロックという、参照ロックされれば、ロッ
クテーブル31にアクセスが参照である旨が記憶される
。この場合、他のジョブは、ブロックの参照はできるが
、更新はできない。
一方、ファイル13の更新時に、ロックが行なわれるこ
とを更新ロックという。更新ロックされれば、ロックテ
ーブル31にアクセスが更新である旨が記憶される。こ
の場合、他のジョブは、ブロックの参照も更新もできな
い。
とを更新ロックという。更新ロックされれば、ロックテ
ーブル31にアクセスが更新である旨が記憶される。こ
の場合、他のジョブは、ブロックの参照も更新もできな
い。
ジョブ1のテーブル33には、ロックテーブル31がチ
エインされる。また、このロックテーブル31は、ロッ
ク管理テーブル30にもチエインされる。
エインされる。また、このロックテーブル31は、ロッ
ク管理テーブル30にもチエインされる。
ジョブ1が特定のブロックを参照している状態で、ジョ
ブ2がジョブ1と同じ特定のブロックを参照しようとす
るときは、次のような情報が以下の手順で設定される。
ブ2がジョブ1と同じ特定のブロックを参照しようとす
るときは、次のような情報が以下の手順で設定される。
まず、ジョブ2は、口・νり管理テーブル30において
、ジョブ1と同じブロック番号を検索する。この場合、
当該ブロックに対し、ロックテーブル31が割当て済で
あるので、システムによって、ジョブ2に対し、参照ロ
ック用テーブル32が割当てられる。この参照ロック用
テーブル32は、ジョブ2のテーブル34にチエインさ
れる。また、参照ロック用テーブル32は、ロックテー
ブル31にチエインされる。ジョブ2は、複数存在する
場合もあり、この場合、ロックテーブル31にチエイン
される参照ロック用テーブル32は複数となる。
、ジョブ1と同じブロック番号を検索する。この場合、
当該ブロックに対し、ロックテーブル31が割当て済で
あるので、システムによって、ジョブ2に対し、参照ロ
ック用テーブル32が割当てられる。この参照ロック用
テーブル32は、ジョブ2のテーブル34にチエインさ
れる。また、参照ロック用テーブル32は、ロックテー
ブル31にチエインされる。ジョブ2は、複数存在する
場合もあり、この場合、ロックテーブル31にチエイン
される参照ロック用テーブル32は複数となる。
このようにして、参照ロクク時は、複数のジョブが同時
に参照を行なうことができる。
に参照を行なうことができる。
一方、更新ロック時は、参照ロック用テーブル32は割
当てられず、ロックテーブル31のみが割当てられる。
当てられず、ロックテーブル31のみが割当てられる。
このようにして、ジョブ1のみが更新を行なうようにさ
れる。
れる。
尚、あるジョブが参照ロックを行なっているときに、他
のジョブは更新ロックをすることができないが、その参
照ロックを行なっているジョブ自身は、他のジョブが参
照ロックを行なっていないときに限り、更新ロックをす
ることができる。即ち、システムは、あるジョブが特定
のブロックを更新ロックしようとする場合に、当該ブロ
ックにロックテーブル31が割当てられているときは、
そのジョブ自身がロックしているか否かを判別する。そ
のジョブ自身がロックしている場合には、そのロックが
参照ロックであれば、参照ロック用テーブル32がチエ
インされていないかどうかを判別する。参照ロック用テ
ーブル32がチエインされていない場合には、参照ロッ
クを更新ロックに変更する。また、そのロックが更新ロ
ックであれば、その状態を維持する。
のジョブは更新ロックをすることができないが、その参
照ロックを行なっているジョブ自身は、他のジョブが参
照ロックを行なっていないときに限り、更新ロックをす
ることができる。即ち、システムは、あるジョブが特定
のブロックを更新ロックしようとする場合に、当該ブロ
ックにロックテーブル31が割当てられているときは、
そのジョブ自身がロックしているか否かを判別する。そ
のジョブ自身がロックしている場合には、そのロックが
参照ロックであれば、参照ロック用テーブル32がチエ
インされていないかどうかを判別する。参照ロック用テ
ーブル32がチエインされていない場合には、参照ロッ
クを更新ロックに変更する。また、そのロックが更新ロ
ックであれば、その状態を維持する。
第4図は、従来のファイルのアクセス制御方式の装置の
動作を示すフローチャートである。
動作を示すフローチャートである。
[参照時の動作]
ジョブによるファイル13の参照時は、第4図(a)に
示すように、まず;第2図の根ブロック25に参照ロッ
クをかける(ステップ541)。
示すように、まず;第2図の根ブロック25に参照ロッ
クをかける(ステップ541)。
そして、参照ロックされたか否かが判別される(ステッ
プ542)。この根ブロック25が参照ロックされなか
ったならば、本処理を終了する。
プ542)。この根ブロック25が参照ロックされなか
ったならば、本処理を終了する。
一方、この根ブロック25が参照ロックされたならば、
索引ブロックの参照、即ち根ブロック25の参照が行な
われる(ステップ543)。
索引ブロックの参照、即ち根ブロック25の参照が行な
われる(ステップ543)。
次に、ステップ343で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ544)。今の場
合、ステップS43で参照された索引ブロックは、根ブ
ロック25であるので、この根ブロック25より下位の
階層のブロックである節ブロック24に参照ロックをか
ける(ステップ545)。
ロックか否かが判別される(ステップ544)。今の場
合、ステップS43で参照された索引ブロックは、根ブ
ロック25であるので、この根ブロック25より下位の
階層のブロックである節ブロック24に参照ロックをか
ける(ステップ545)。
次に、ステップS42に戻り、節ブロック24が参照ロ
ックされたか否かが判別される。今の場合、根ブロック
25が参照ロックできたのであるから、これより下位の
階層のブロックは、すべて参照ロックできる。
ックされたか否かが判別される。今の場合、根ブロック
25が参照ロックできたのであるから、これより下位の
階層のブロックは、すべて参照ロックできる。
従って、次にステップS43に進み、索引ブロックの参
照、即ち節ブロック24の参照が行なわれる。
照、即ち節ブロック24の参照が行なわれる。
次に、ステップS43で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ544)、今の場
合、ステップS43で参照された索引ブロックは、節ブ
ロック24であるので、この節ブロック24より下位の
階層のブロックである葉ブロック23に参照ロックをか
ける(ステップ545)。
ロックか否かが判別される(ステップ544)、今の場
合、ステップS43で参照された索引ブロックは、節ブ
ロック24であるので、この節ブロック24より下位の
階層のブロックである葉ブロック23に参照ロックをか
ける(ステップ545)。
次に、ステップS42に戻り、葉ブロック23が参照ロ
ックされたか否かが判別される。今の場合、根ブロック
25及び節ブロック24が参照ロックできたのであるか
ら、これより下位の階層のブロックである葉ブロック2
3も、参照ロックできる。
ックされたか否かが判別される。今の場合、根ブロック
25及び節ブロック24が参照ロックできたのであるか
ら、これより下位の階層のブロックである葉ブロック2
3も、参照ロックできる。
従って、次にステップS43に進み、索引ブロックの参
照、即ち葉ブロック23の参照が行なわれる。
照、即ち葉ブロック23の参照が行なわれる。
次に、ステップS43で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ544)、今の場
合、ステップS43で参照された索引ブロックは、葉ブ
ロック23であるので、本処理を終了する。
ロックか否かが判別される(ステップ544)、今の場
合、ステップS43で参照された索引ブロックは、葉ブ
ロック23であるので、本処理を終了する。
このようにして、参照の対象であるデータ21内のデー
タブロック26を参照するための根ブロック25、節ブ
ロック24及び葉ブロック23のすべてに参照ロックが
かけられる。そして、データ21内のデータブロック2
6の参照が終了した後、システムによりこれらのブロッ
クにかけられた参照ロックが解除される。
タブロック26を参照するための根ブロック25、節ブ
ロック24及び葉ブロック23のすべてに参照ロックが
かけられる。そして、データ21内のデータブロック2
6の参照が終了した後、システムによりこれらのブロッ
クにかけられた参照ロックが解除される。
[更新時の手順]
ジョブによるファイルの更新時は、第4図(b)に示す
ように、参照ロックと同様の手順で、更新の対象である
データ21内のデータブロック26を更新するための根
ブロック25、節ブロック24及び葉ブロック23のす
べてに更新ロックがかけられる(ステップS51〜55
5)、そして、データ21内のデータブロック26の更
新が行なわれる。
ように、参照ロックと同様の手順で、更新の対象である
データ21内のデータブロック26を更新するための根
ブロック25、節ブロック24及び葉ブロック23のす
べてに更新ロックがかけられる(ステップS51〜55
5)、そして、データ21内のデータブロック26の更
新が行なわれる。
このような更新には、データブロックの追加や削除が含
まれる。そして、データブロックの追加や削除があった
場合は、索引22を更新する必要がある。従って、この
場合、ステップS56及びS57が実行される。
まれる。そして、データブロックの追加や削除があった
場合は、索引22を更新する必要がある。従って、この
場合、ステップS56及びS57が実行される。
ステップS56では、葉ブロック23を更新する。即ち
、新たなデータブロックが追加された場合は、その新た
なデータブロックのアドレスを葉ブロックに追加する。
、新たなデータブロックが追加された場合は、その新た
なデータブロックのアドレスを葉ブロックに追加する。
また、データブロックが削除された場合は、そのデータ
ブロックのアドレスを葉ブロックから削除する。そして
、ステップS57では、上位の階層のブロックの更新が
必要か否かを判別する。即ち、葉ブロック23の更新に
より、新たな葉ブロックの追加等が必要となる場合があ
る。この場合、節ブロック24の更新が必要となる。ま
た、同様な理由から、根ブロック25の更新が必要とな
ることもある。従って、更新が必要な上位の階層のブロ
ックをすべて更新する(ステップS56及び557)。
ブロックのアドレスを葉ブロックから削除する。そして
、ステップS57では、上位の階層のブロックの更新が
必要か否かを判別する。即ち、葉ブロック23の更新に
より、新たな葉ブロックの追加等が必要となる場合があ
る。この場合、節ブロック24の更新が必要となる。ま
た、同様な理由から、根ブロック25の更新が必要とな
ることもある。従って、更新が必要な上位の階層のブロ
ックをすべて更新する(ステップS56及び557)。
その後、システムにより、根ブロック25、節ブロック
24及び葉ブロック23にかけられた更新ロックが解除
される。
24及び葉ブロック23にかけられた更新ロックが解除
される。
(発明が解決しようとする課題)
ところが、以上のようなファイルのアクセス制御方式に
は、次のような問題点があった。
は、次のような問題点があった。
即ち、あるジョブがデータを参照する時は、根ブロック
25、節ブロック24及び葉ブロック23のすべてにつ
いて、参照ロックをかけ、データの参照中は、参照ロッ
クが解除されないようになっていたので、このジョブの
参照動作が終了するまでは、他のジョブは、データの更
新ができなくなることが多かった。また、あるジョブが
データを更新する時は、根ブロック25、節ブロック2
.4及び葉ブロック23のすべてについて、更新ロック
をかけ、データの更新中は、更新ロックが解除されない
ようになっていたので、このジョブの更新動作が終了す
るまでは、他のジョ、ブは、データの参照も更新もでき
なくなることが多かった。従って、ファイルのアクセス
については、ジョブの同時実行性が極めて低くなるとい
う問題があった。特に、第2図に示すように、1つのフ
ァイルについて、根ブロック25が1つしかない場合に
は、根ブロック25をロックすることによってファイル
全体をロックすることになってしまうという問題があっ
た。
25、節ブロック24及び葉ブロック23のすべてにつ
いて、参照ロックをかけ、データの参照中は、参照ロッ
クが解除されないようになっていたので、このジョブの
参照動作が終了するまでは、他のジョブは、データの更
新ができなくなることが多かった。また、あるジョブが
データを更新する時は、根ブロック25、節ブロック2
.4及び葉ブロック23のすべてについて、更新ロック
をかけ、データの更新中は、更新ロックが解除されない
ようになっていたので、このジョブの更新動作が終了す
るまでは、他のジョ、ブは、データの参照も更新もでき
なくなることが多かった。従って、ファイルのアクセス
については、ジョブの同時実行性が極めて低くなるとい
う問題があった。特に、第2図に示すように、1つのフ
ァイルについて、根ブロック25が1つしかない場合に
は、根ブロック25をロックすることによってファイル
全体をロックすることになってしまうという問題があっ
た。
本発明は以上の点に着目してなされたもので、階層構造
を有する索引を持つファイルに対するアクセスの同時実
行性を高めるようにしたファイルのアクセス制御方式を
提供することを目的とするものである。
を有する索引を持つファイルに対するアクセスの同時実
行性を高めるようにしたファイルのアクセス制御方式を
提供することを目的とするものである。
(課題を解決するための手段)
本発明のファイルの制御方式は、階層構造を有する索引
を使用してデータを検索する、索引順編成ファイルを参
照する場合において、上位の階層の索引から下位の階層
の索引を順に検索しながら、各索引をそのつどロックし
、最下位の階層の索引を検索して当該索引をロックした
とき、当該最下位の索引を除く上位の索引のロックを解
除すること、及び階層構造を有する索引を使用してデー
タを検索する、索引順編成ファイルを更新する場合にお
いて、上位の階層の索引から下位の階層の索引を順に検
索しながら、各索引をそのつどロックし、最下位の階層
の索引を検索して当該索引をロックした後、当該最下位
の階層の索引から上位の階層の索引に向ってその内容を
順に更新し、所定の階層よりも上位の階層の索引が更新
不要のときは、前記所定の階層より上位の階層の索引の
ロックを解除することを特徴とするものである。
を使用してデータを検索する、索引順編成ファイルを参
照する場合において、上位の階層の索引から下位の階層
の索引を順に検索しながら、各索引をそのつどロックし
、最下位の階層の索引を検索して当該索引をロックした
とき、当該最下位の索引を除く上位の索引のロックを解
除すること、及び階層構造を有する索引を使用してデー
タを検索する、索引順編成ファイルを更新する場合にお
いて、上位の階層の索引から下位の階層の索引を順に検
索しながら、各索引をそのつどロックし、最下位の階層
の索引を検索して当該索引をロックした後、当該最下位
の階層の索引から上位の階層の索引に向ってその内容を
順に更新し、所定の階層よりも上位の階層の索引が更新
不要のときは、前記所定の階層より上位の階層の索引の
ロックを解除することを特徴とするものである。
(作用)
以上の方式においては、ファイルの参照時は、最下位の
階層の索引をロックしたときは、最下位の索引より上位
の索引は、ロックが解除される。
階層の索引をロックしたときは、最下位の索引より上位
の索引は、ロックが解除される。
従って、データの参照中においても、上位の階層の索引
から別の最下位の索引を介して検索されるデータの更新
を行なうことができる。
から別の最下位の索引を介して検索されるデータの更新
を行なうことができる。
一方、ファイルの更新時は、最下位の階層の索引をロッ
クしたときは、最下位の階層の索引が更新され、当該最
下位の階層の索引を含めて上位の階層の索引が下位の階
層の索引から上位の階層の索引に向って順に更新される
。そして、所定の階層よりも上位の階層の索引が更新不
要のときは、前記所定の階層より上位の階層の索引のロ
ックが解除される。従って、データの参照中においても
、上位の階層の索引から別の最下位の索引を介して検索
されるデータの更新を行なうことができる。
クしたときは、最下位の階層の索引が更新され、当該最
下位の階層の索引を含めて上位の階層の索引が下位の階
層の索引から上位の階層の索引に向って順に更新される
。そして、所定の階層よりも上位の階層の索引が更新不
要のときは、前記所定の階層より上位の階層の索引のロ
ックが解除される。従って、データの参照中においても
、上位の階層の索引から別の最下位の索引を介して検索
されるデータの更新を行なうことができる。
(実施例)
第1図は、本発明のファイルアクセス制御方式を適用し
た情報処理装置のブロック図である。
た情報処理装置のブロック図である。
図示の装置は、複数のプロセッサ11及び12と、主記
憶装置13と、ファイル14とから成る。プロセッサ1
1及び12と、ファイル13とは、第3図に示すものと
同様である。
憶装置13と、ファイル14とから成る。プロセッサ1
1及び12と、ファイル13とは、第3図に示すものと
同様である。
即ち、プロセッサ11及び12は、ファイル13内のデ
ータをアクセスして主記憶装置14上に転送し、当該デ
ータを処理し、ファイル13に戻す等の処理や制御を行
なうためのものである。
ータをアクセスして主記憶装置14上に転送し、当該デ
ータを処理し、ファイル13に戻す等の処理や制御を行
なうためのものである。
そして、ファイル13は、磁気ディスク等から成るもの
であり、第2図に示す索引順編成ファイルを格納してい
る。
であり、第2図に示す索引順編成ファイルを格納してい
る。
主記憶装置14は、ランダム・アクセス・メモリ等から
成るものあり、ファイル13内のデータが転記されると
ともに、ファイル13のアクセス制御のための情報が記
憶される。この情報は、図示のように、ロック管理テー
ブル30と、ロックテーブル31と、参照ロック用テー
ブル32等から成る。
成るものあり、ファイル13内のデータが転記されると
ともに、ファイル13のアクセス制御のための情報が記
憶される。この情報は、図示のように、ロック管理テー
ブル30と、ロックテーブル31と、参照ロック用テー
ブル32等から成る。
ロック管理テーブル30は、第3図に示すものと同様に
、システムに1つだけ設けられるものであり、ファイル
13と主記憶装置14との間のデータ転送の単位である
ブロックのブロック番号に対し、ロックテーブル31が
割当て済か否かが記憶される。
、システムに1つだけ設けられるものであり、ファイル
13と主記憶装置14との間のデータ転送の単位である
ブロックのブロック番号に対し、ロックテーブル31が
割当て済か否かが記憶される。
ロックテーブル31は、第3図に示すものと同様に、プ
ロセッサ11または12で実行されるジョブがブロック
を参照または更新する場合に、そのジョブに対して割当
てられるものである。このロックテーブル31には、参
照または更新のいずれであるかの旨が記憶されるととも
に、当該ロックがデータ21のアクセスの終了まで行な
われる通常のロックか、データ21のアクセスの終了以
前に解除される短期的なロックかが記憶される。短期的
な参照ロックを短期参照ロックといい、短期的な更新ロ
ックを短期更新ロックという。
ロセッサ11または12で実行されるジョブがブロック
を参照または更新する場合に、そのジョブに対して割当
てられるものである。このロックテーブル31には、参
照または更新のいずれであるかの旨が記憶されるととも
に、当該ロックがデータ21のアクセスの終了まで行な
われる通常のロックか、データ21のアクセスの終了以
前に解除される短期的なロックかが記憶される。短期的
な参照ロックを短期参照ロックといい、短期的な更新ロ
ックを短期更新ロックという。
参照ロック用テーブル32は、第3図に示すものと同様
に、あるジョブがあるブロックを参照しているときに、
他のジョブが当該ブロックを参照する場合に、他のジョ
ブに対して割当てられるものである。この参照ロック用
テーブル32にも、ロックテーブル31と同様に、当該
参照ロックがデータ21のアクセスの終了まで行なわれ
る通常のロックか、データ21のアクセスの終了以前に
解除される短期的な参照ロックかが記憶される。
に、あるジョブがあるブロックを参照しているときに、
他のジョブが当該ブロックを参照する場合に、他のジョ
ブに対して割当てられるものである。この参照ロック用
テーブル32にも、ロックテーブル31と同様に、当該
参照ロックがデータ21のアクセスの終了まで行なわれ
る通常のロックか、データ21のアクセスの終了以前に
解除される短期的な参照ロックかが記憶される。
上述した第1図の主記憶装置14内の情報の設定手順は
、第3図の主記憶装置14内の情報の設定手順とほぼ同
様であるが、短期的なロックのためのロックテーブル3
1及び参照ロック用テーブル32は、ファイル13内の
データのアクセス終了以前に解除される。即ち、ジョブ
からのチエインが取り除かれる。
、第3図の主記憶装置14内の情報の設定手順とほぼ同
様であるが、短期的なロックのためのロックテーブル3
1及び参照ロック用テーブル32は、ファイル13内の
データのアクセス終了以前に解除される。即ち、ジョブ
からのチエインが取り除かれる。
第5図は、本発明のファイルのアクセス制御方式を適用
した装置の動作を示すフローチャートである。
した装置の動作を示すフローチャートである。
[参照時の動作]
ジョブによるファイルの参照時は、第5図(a)に示す
ように、まず、第2図の根ブロック25に短期参照ロッ
クをかける(ステップ561)、そして、短期参照ロッ
クされたか否かが判別される(ステップ562)、この
根ブロック25が短期参照ロックされなかったならば、
本処理を終了する。
ように、まず、第2図の根ブロック25に短期参照ロッ
クをかける(ステップ561)、そして、短期参照ロッ
クされたか否かが判別される(ステップ562)、この
根ブロック25が短期参照ロックされなかったならば、
本処理を終了する。
一方、この根ブロック25が参照ロックされたならば、
索引ブロックの参照、即ち根ブロック25の参照が行な
われる(ステップ563)。
索引ブロックの参照、即ち根ブロック25の参照が行な
われる(ステップ563)。
次に、ステップS63で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ564)、今の場
合、ステップS63で参照された索引ブロックは、根ブ
ロック25であるので、この根ブロック25より下位の
階層のブロックである節ブロック24に短期参照ロック
をかける(ステップ565)。
ロックか否かが判別される(ステップ564)、今の場
合、ステップS63で参照された索引ブロックは、根ブ
ロック25であるので、この根ブロック25より下位の
階層のブロックである節ブロック24に短期参照ロック
をかける(ステップ565)。
次に、ステップS62に戻り、節ブロック24が短期参
照ロックされたか否かが判別される。本発明においては
、根ブロック25が短期参照ロックできても、節ブロッ
ク24が短期参照ロックできないことがある。これは、
後述する第5図(b)に示すように、データ21のアク
セスの終了前に、下位の階層の更新ロックが維持され、
上位の階層の短期更新ロックが解除される場合があるた
めである。
照ロックされたか否かが判別される。本発明においては
、根ブロック25が短期参照ロックできても、節ブロッ
ク24が短期参照ロックできないことがある。これは、
後述する第5図(b)に示すように、データ21のアク
セスの終了前に、下位の階層の更新ロックが維持され、
上位の階層の短期更新ロックが解除される場合があるた
めである。
節ブロック24が短期参照ロックされなかったときは、
根ブロック25の短期参照ロックを解除しくステップ5
66)、本処理を終了する。
根ブロック25の短期参照ロックを解除しくステップ5
66)、本処理を終了する。
節ブロック24が短期参照ロックされたときは、次にス
テップS63に進み、索引ブロックの参照、即ち節ブロ
ック24の参照が行なわれる。
テップS63に進み、索引ブロックの参照、即ち節ブロ
ック24の参照が行なわれる。
次に、ステップS63で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ564)、今の場
合、ステップS63で参照された索引ブロックは、節ブ
ロック24であるので、この節ブロック24より下位の
階層のブロックである葉ブロック23に短期参照ロック
をかける(ステップ565)。
ロックか否かが判別される(ステップ564)、今の場
合、ステップS63で参照された索引ブロックは、節ブ
ロック24であるので、この節ブロック24より下位の
階層のブロックである葉ブロック23に短期参照ロック
をかける(ステップ565)。
次に、ステップS62に戻り、葉ブロック23が短期参
照ロックされたか否かが判別される0本発明においては
、根ブロック25及び節ブロック24が短期参照ロック
できても、下位の階層の更新ロックが維持され、上位の
階層の短期更新ロックが解除される場合があるので、葉
ブロック23が短期参照ロックされないことがある。
照ロックされたか否かが判別される0本発明においては
、根ブロック25及び節ブロック24が短期参照ロック
できても、下位の階層の更新ロックが維持され、上位の
階層の短期更新ロックが解除される場合があるので、葉
ブロック23が短期参照ロックされないことがある。
葉ブロック23が短期参照ロックされなかったときは、
根ブロック25及び節ブロック24の短期参照ロックを
解除しくステップ566) 、本処理を終了する。
根ブロック25及び節ブロック24の短期参照ロックを
解除しくステップ566) 、本処理を終了する。
葉ブロック23が短期参照ロックされたときは、次にス
テップS63に進み、索引ブロックの参照、即ち葉ブロ
ック23の参照が行なわれる。
テップS63に進み、索引ブロックの参照、即ち葉ブロ
ック23の参照が行なわれる。
次に、ステップS63で参照された索引ブロックが葉ブ
ロックか否かが判別される(ステップ564)、今の場
合、ステップ363で参照された索引ブロックは、葉ブ
ロック23であるので、葉ブロック23に参照ロックを
かける(ステップ567)、即ち、第1図に示すロック
テーブル31または参照ロック用テーブル32の短期的
なロックである旨の表示を解除する。その後、短期参照
ロックを解除する(ステップ568)、即ち、根ブロッ
ク25及び節ブロック24の短期参照ロックを解除する
。その後、本処理を終了する。
ロックか否かが判別される(ステップ564)、今の場
合、ステップ363で参照された索引ブロックは、葉ブ
ロック23であるので、葉ブロック23に参照ロックを
かける(ステップ567)、即ち、第1図に示すロック
テーブル31または参照ロック用テーブル32の短期的
なロックである旨の表示を解除する。その後、短期参照
ロックを解除する(ステップ568)、即ち、根ブロッ
ク25及び節ブロック24の短期参照ロックを解除する
。その後、本処理を終了する。
このようにして、参照の対象であるデータ21内のデー
タブロック26を参照するための葉ブロック23のみに
参照ロックがかけられる。そして、データ21内のデー
タブロック26の参照が終了した後、システムにより葉
ブロック23にかけられた参照ロックが解除される。
タブロック26を参照するための葉ブロック23のみに
参照ロックがかけられる。そして、データ21内のデー
タブロック26の参照が終了した後、システムにより葉
ブロック23にかけられた参照ロックが解除される。
[更新時の動作]
ジョブによるファイル13の更新時は、第5図(b)に
示すように、参照ロックと同様の手順で、更新の対象で
あるデータ21内のデータブロック26を更新するため
の根ブロック25及び節ブロック24に短期更新ロック
がかけられ、葉ブロック23のみに更新ロックがかけら
れる(ステップS71〜577)、そして、索引22の
葉ブロック23を更新する(ステップ878)。その後
、上位の階層のブロックの更新が必要か否かが判別され
る(ステップ579)。データ21内のデータブロック
26の更新時にデータブロックの追加や削除が行なわれ
ない場合には、上位の階層のブロックの更新は、必要で
ない。このため、上位の階層にある根ブロック25及び
節ブロック24の短期更新ロックを解除しくステップ5
80)、本処理を終了する。
示すように、参照ロックと同様の手順で、更新の対象で
あるデータ21内のデータブロック26を更新するため
の根ブロック25及び節ブロック24に短期更新ロック
がかけられ、葉ブロック23のみに更新ロックがかけら
れる(ステップS71〜577)、そして、索引22の
葉ブロック23を更新する(ステップ878)。その後
、上位の階層のブロックの更新が必要か否かが判別され
る(ステップ579)。データ21内のデータブロック
26の更新時にデータブロックの追加や削除が行なわれ
ない場合には、上位の階層のブロックの更新は、必要で
ない。このため、上位の階層にある根ブロック25及び
節ブロック24の短期更新ロックを解除しくステップ5
80)、本処理を終了する。
そして、ファイル13に格納されたデータ21内のデー
タブロック26及び索引22内の葉ブロック23の更新
が行なわれた後、葉ブロック23の更新ロックが解除さ
れる。
タブロック26及び索引22内の葉ブロック23の更新
が行なわれた後、葉ブロック23の更新ロックが解除さ
れる。
一方、データ21内のデータブロック26の更新時にデ
ータブロックの追加や削除が行なわれる場合には、索引
22の節ブロック24や根ブロック25を更新し、更新
したブロックに更新ロックをかける(ステップS78、
S79.581)。
ータブロックの追加や削除が行なわれる場合には、索引
22の節ブロック24や根ブロック25を更新し、更新
したブロックに更新ロックをかける(ステップS78、
S79.581)。
そして、ファイル13に格納されたデータ21内のデー
タブロック26及び索引22内の葉ブロック23並びに
節ブロック24あるいは根ブロック25の更新が行なわ
れた後、葉ブロック23及び節ブロック24あるいは葉
ブロック25の更新ロックが解除される。
タブロック26及び索引22内の葉ブロック23並びに
節ブロック24あるいは根ブロック25の更新が行なわ
れた後、葉ブロック23及び節ブロック24あるいは葉
ブロック25の更新ロックが解除される。
本発明のファイルのアクセス制御方式は、以上の実施例
に限定されない。
に限定されない。
即ち、上述した実施例においては、索引22を葉ブロッ
ク23、節ブロック24及び根ブロック25の3つの階
層のブロックにより構成したが、これに限らず、2つの
階層のブロックにより構成しても、4つ以上の階層の構
成にしても差し支え無い。
ク23、節ブロック24及び根ブロック25の3つの階
層のブロックにより構成したが、これに限らず、2つの
階層のブロックにより構成しても、4つ以上の階層の構
成にしても差し支え無い。
(発明の効果)
以上のような本発明のファイルのアクセス制御方式は、
複数の階層を有する索引を持つファイルの上位の階層の
索引のロックをファイルのアクセスが終了する前に、解
除するようにしたので、次のような効果がある。
複数の階層を有する索引を持つファイルの上位の階層の
索引のロックをファイルのアクセスが終了する前に、解
除するようにしたので、次のような効果がある。
即ち、あるジョブがファイル内の特定の最上位の階層の
索引でアクセスされるデータをアクセスしている最中に
、他のジョブがこれと同一の最上位の階層の索引でアク
セスされるデータをアクセスすることができる。従って
、ファイルのアクセスについてのジョブの同時実行性を
向上させることができる。
索引でアクセスされるデータをアクセスしている最中に
、他のジョブがこれと同一の最上位の階層の索引でアク
セスされるデータをアクセスすることができる。従って
、ファイルのアクセスについてのジョブの同時実行性を
向上させることができる。
また、ロックの解除率が高まるので、ロックするのに必
要な情報を記憶するメモリの容量を節約することが可能
になる。
要な情報を記憶するメモリの容量を節約することが可能
になる。
第1図は本発明のファイルのアクセス制御方式を適用し
た装置のブロック図、第2図は索引順編成ファイルの構
成図、第3図は従来のファイルのアクセス制御方式を適
用した装置のブロック図、第4図は従来のアクセス制御
方式の装置の動作を説明するフローチャート、第5図は
本発明のアクセス制御方式の動作を説明するフローチャ
ートである。 1.2・・・ジョブ、11.12・・・プロセッサ、1
3・・・ファイル、14・・・主記憶装置、21・・・
データ、22・・・索引、23・・・葉ブロック、24
・・・節ブロック、25・・・根ブロック、30・・・
ロック管理テーブル、 31・・・ロックテーブル、 32・・・参照用ロックテーブル。 (a) (b) 従来の方式のHTlの動作 第4図 (a) (b) 本発明の方式の装置の動作 第 5 図
た装置のブロック図、第2図は索引順編成ファイルの構
成図、第3図は従来のファイルのアクセス制御方式を適
用した装置のブロック図、第4図は従来のアクセス制御
方式の装置の動作を説明するフローチャート、第5図は
本発明のアクセス制御方式の動作を説明するフローチャ
ートである。 1.2・・・ジョブ、11.12・・・プロセッサ、1
3・・・ファイル、14・・・主記憶装置、21・・・
データ、22・・・索引、23・・・葉ブロック、24
・・・節ブロック、25・・・根ブロック、30・・・
ロック管理テーブル、 31・・・ロックテーブル、 32・・・参照用ロックテーブル。 (a) (b) 従来の方式のHTlの動作 第4図 (a) (b) 本発明の方式の装置の動作 第 5 図
Claims (1)
- 【特許請求の範囲】 1、階層構造を有する索引を使用してデータを検索する
、索引順編成ファイルを参照する場合において、 上位の階層の索引から下位の階層の索引を順に検索しな
がら、各索引をそのつどロックし、最下位の階層の索引
を検索して当該索引をロックしたとき、 当該最下位の索引を除く上位の索引のロックを解除する
ことを特徴とするファイルのアクセス制御方式。 2、階層構造を有する索引を使用してデータを検索する
、索引順編成ファイルを更新する場合において、 上位の階層の索引から下位の階層の索引を順に検索しな
がら、各索引をそのつどロックし、最下位の階層の索引
を検索して当該索引をロックした後、 当該最下位の階層の索引から上位の階層の索引に向つて
その内容を順に更新し、 所定の階層よりも上位の階層の索引が更新不要のときは
、前記所定の階層より上位の階層の索引のロックを解除
することを特徴とするファイルのアクセス制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1071691A JPH02252036A (ja) | 1989-03-27 | 1989-03-27 | ファイルのアクセス制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1071691A JPH02252036A (ja) | 1989-03-27 | 1989-03-27 | ファイルのアクセス制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02252036A true JPH02252036A (ja) | 1990-10-09 |
Family
ID=13467824
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1071691A Pending JPH02252036A (ja) | 1989-03-27 | 1989-03-27 | ファイルのアクセス制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02252036A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249222A (ja) * | 1995-03-14 | 1996-09-27 | Nippon Telegr & Teleph Corp <Ntt> | データベース整合性チェック方法および装置 |
-
1989
- 1989-03-27 JP JP1071691A patent/JPH02252036A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08249222A (ja) * | 1995-03-14 | 1996-09-27 | Nippon Telegr & Teleph Corp <Ntt> | データベース整合性チェック方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR930002331B1 (ko) | 키 레코드를 페치, 삽입 및 삭제하는 방법 | |
| KR920000395B1 (ko) | 키 레코드 데이타 페칭 및 삽입, 삭제 방법 | |
| CA2302981C (en) | Online database table reorganization | |
| US6490666B1 (en) | Buffering data in a hierarchical data storage environment | |
| US6457021B1 (en) | In-memory database system | |
| US6457102B1 (en) | Cache using multiple LRU's | |
| CA1288521C (en) | Device for enabling concurrent access of indexed sequential data files | |
| JP2505939B2 (ja) | デ―タのキャストアウトを制御する方法 | |
| US5218696A (en) | Method for dynamically expanding and rapidly accessing file directories | |
| US5835906A (en) | Methods and apparatus for sharing stored data objects in a computer system | |
| EP0455440B1 (en) | Method of operating a data processing system to perform database transactions | |
| JP2002525755A (ja) | アクティブdbmsテーブルを再編成するための方法及び装置 | |
| JPH01112443A (ja) | スペース管理システム | |
| JPH0679285B2 (ja) | トランザクション処理方法およびシステム | |
| WO2023165374A1 (zh) | 数据库操作方法、装置、设备及存储介质 | |
| CN112867999A (zh) | 基于版本的表锁定 | |
| US7444349B1 (en) | Control of concurrent access to a partitioned data file | |
| US20100115203A1 (en) | Mutable object caching | |
| EP0410210A2 (en) | Method for dynamically expanding and rapidly accessing file directories | |
| JPH02252036A (ja) | ファイルのアクセス制御方式 | |
| JP2924786B2 (ja) | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 | |
| KR100507782B1 (ko) | 데이터베이스 관리시스템 및 그 시스템에서 시스템테이블에 대한 동시성 제어 방법 | |
| JP3087701B2 (ja) | 排他制御装置 | |
| KR100568145B1 (ko) | 다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를이용한 교착 상태 방지방법 | |
| JP3085260B2 (ja) | 排他制御装置 |