JPS63298535A - キ−値による論理ロック方式 - Google Patents

キ−値による論理ロック方式

Info

Publication number
JPS63298535A
JPS63298535A JP13162087A JP13162087A JPS63298535A JP S63298535 A JPS63298535 A JP S63298535A JP 13162087 A JP13162087 A JP 13162087A JP 13162087 A JP13162087 A JP 13162087A JP S63298535 A JPS63298535 A JP S63298535A
Authority
JP
Japan
Prior art keywords
file
lock
key value
records
record
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
JP13162087A
Other languages
English (en)
Inventor
Yasushi Nakahara
中原 康
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP13162087A priority Critical patent/JPS63298535A/ja
Publication of JPS63298535A publication Critical patent/JPS63298535A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、ファイルアクセスの排他制御に好適なキー
値による論理ロック方式に関する。
(従来の技術) 補助記憶の大容量化に伴い、データレコードを高速にア
クセスできるファイルの形態としてデータレコードの一
部の内容をキーに、そのキー値でアクセス可能なインデ
ックスファイルのサポートが広く一般に行われるように
なった。一方、マルチタスク環境下でこれらのファイル
を共有/排他する際の排他制御のあり方は、データの保
全性の問題とアクセスの高速化の観点から極めて重要と
なってきている。
従来、ファイルの排他制御方式としては、通常のデータ
管理の延長として、ユーザがアクセスしている現レコー
ドまたは現ブロックにロックをかける方式が知られてい
る。
一方、集合演算処理などでは、以下に述べるようにファ
イル全体をロックする方式が知られている。周知のよう
に、キー値を持つインデックスファイルの存在は、リレ
ーショナルデータベースまたはリレーショナル演算の普
及に伴い、集合演算処理を可能とし、また、そのような
アプリケーションプログラムを支える技術として発展し
てきた。上記した集合演算を行う際におけるレコードの
排他制御は、ブロック番号やレコード番号による排他単
位では不可能であり、いきおい、ファイ層全体をロック
するといった方式で対処するのが一般的であった。
(発明が解決しようとする問題点) 上記したように、従来は、キー値によってグループ化さ
れた複数のレコードの処理(更新、削除など)や集合演
算等を行う場合、■処理性能を優先するためにレコード
/ブロック単位のロック方式を適用する方式、■データ
の保全性を優先するためにファイル全体をロックする方
式の2つが知られていた。しかし、■の方式では、対象
の数が不特定の場合もあるため実現が困難であり、たと
え実現できたとしてもデータの保全性が犠牲になるとい
う問題があった。一方、■の方式では、データの保全性
の点では問題はないものの、マルチタスク環境下では処
理効率が悪く、システム性能に悪影響を及ぼすという問
題があった。
この発明は上記事情に鑑みてなされたものでその目的は
、集合演算や複数レコードの処理が伴う際のファイルの
排他制御が、その対象となるキー値を指定することによ
りデータの保全性およびシステム性能の低下を招くこと
なく行なえる、キー値による論理ロック方式を提供する
ことにある。
[発明の構成] (問題点を解決するための手段) この発明は、オープンされたファイルを対象にキー値に
よるロックを指定するロック指定手段を設け、このロッ
ク指定手段によって指定されたファイルを構成するレコ
ードのうち、ロック指定手段によって指定されたキー値
を持つレコードの全てをロックするようにしたものであ
る。
(作用) 上記の構成によれば、1つのキー値の指定で不特定多数
のレコードを同時にロックできる。
(実施例) 第1図はこの発明の一実施例を示すブロック構成図であ
る。同図において、11はユーザタスク、12はユーザ
タスク11を制御するのに必要な情報領域であるタスク
制御情報域である。タスク制御情報域12は、タスク毎
に存在する。13は後述する0818がタスク(ユーザ
タスク11)の動作を管理するためのタスク制御ブロッ
ク(以下、TCBと称する)、14はユーザ毎のファイ
ルアクセス状況を示すためのファイルアクセスill 
illブロック(以下、FABと称する)である。T 
CB 13およびF A B 14は、タスク制御情報
域12上に置かれる。
15は各種ファイルを格納する補助記憶装置、16は補
助記憶装置15に格納されているインデックスファイル
、17はファイル(インデックスファイル16)の実体
を実現する補助記憶装置15上の領域であるファイルス
ペース(エクステント)である。
18はオペレーティングシステム(以下、O8と称する
)、19は0818を介してデータベース並びにファイ
ルの管理を行うデータベース/ファイル管理部、20は
ファイル管理用の各種制御ブロックを置く領域であるフ
ァイル制御ブロック域である。
21はファイル(インデックスファイル16)の補助記
憶装置15上でのスペース(ファイルスペース17)の
位置等、ファイル固有の情報を示すファイル制御ブロッ
ク(以下、PCBと称する)、22はファイルのオープ
ン状況を管理するファイルオープンテーブル(以下、0
PNTと称する)、23はファイル内のブロック/レコ
ード/キー値によるロックを管理するロック制御テーブ
ル(以下、LCKTと称する)である。FCB21.0
PNT22およびLCKT23は、ファイル制御ブロッ
ク域20上に置かれる。24は補助記憶装置15との間
で入出力を行う際に利用され、システムで共有される共
有(システム)バッフ7II域、25は共有バッフyf
&域24を用いないときの入出力用のバッファ領域であ
るユーザバッファ、26はユーザプログラムに従ってレ
コード単位の処理加工を行うレコード作業領域(ユーザ
レコード)である。
第2図は第1図の0PNT22およびしCKT23のエ
ントリ構造を示す。0PNT22の各エントリは、オー
プンファイルのファイル名を示すファイル識別子が設定
されるフィールド31、およびフィールド31で示され
るファイルの共有状態を管理するためのファイルオープ
ンカウンタフィールド32を有している。このフィール
ド32には、該当ファイルに対してオープンしているタ
スクの数が(す−ドのみ、リード/ライトなどのアクセ
ス宣言別に)設定される。また0PNT22の各エント
リは、フィールド31の示すファイルに関するロック情
報を管理するLCKT23内エントリへのリンク情報が
設定されるフィールド33、およびファイルの排他状況
(ライトのみの排他制御か、リード/ライトの排他制御
かなど)を示すファイル排他制御フラグが設定されるフ
ィールド34をも有している。
0PNT22の各エントリは更に、該当ファイルをロッ
クしているタスク(ユーザタスク)のタスク識別子が設
定されるフィールド35、および該当ファイルのFCB
21へのポインタ、カレント調整用情報等が設定される
フィールド36を有している。
一方、LCKT23の各エントリは、同一ファイルに関
するロック情報の次の存在を示す(後続するロック情報
の格納エントリを示す)ためのリンク情報が設定される
フィールド41、およびブロック/レコード/キーによ
る排他状況(ライトのみの排他制御か、リード/ライト
の排他II telかなど)を示すブロック/レコード
/キー排他制御フラグが設定されるフィールド42を有
している。LCKT23の各エントリは更に、ブロック
/レコード/キーによるロックを指定したタスクのタス
ク識別子が設定されるフィールド43、およびロックし
ているブロック/レコード/キーを示す情報が設定され
るフィールド44を有している。このフィールド44に
設定される情報としては、ロックブロック番号、ロック
レコード番号、キー値ポインタである。このキー値ポイ
ンタは、ロックキー値(論理キー値)の格納先を示すの
に用いられる。
次に、この発明の一実施例の動作を説明する。
■ファイルオープン 今、ユーザタスク11が補助記憶装置15上のインデッ
クスファイル16をアクセスする必要があるものとする
。この場合、ユーザタスク11は、FAB14の情報に
よって該当ファイル(インデックスファイル16)のオ
ープンを要求するオープン命令を○S18に対して発行
する。このオープン命令は081gからデータベース/
ファイル管理部19に伝えられる。データベース/ファ
イル管理部19は、上記オープン命令を受取ると、ファ
イル制御ブロック域20内の0PNT22を参照し、同
命令で指定されているアクセス対象ファイルのオープン
が排他制御も含め許可されるか否かを調べる。もし、許
可される場合には、データベース/ファイル管理部19
は、オープン対象ファイルに関する管理情報を0PNT
22に登録し、同ファイル(ここではインデックスファ
イル16)の属性、補助記憶装置15上でのファイルス
ペース17の位置等を示すファイル固有の情報を、FC
B21としてファイル制御ブロック域20上に作成する
。なお、FCB21が既に作成済みである場合には、単
に0PNT22とのリンクがとられるだけである。
以上の手続きにより、ユーザタスク11はFAB14、
F CB 21、レコード作業領域(ユーザレコード)
26、ユーザバッファ25など必要な制御情報を用いて
、OS 18にレコードアクセス命令を発行できるよう
になる。
■ブロック/レコード/キ一単位のロック指定ユーザタ
スク11は、ファイルアクセスの過程で排他制御が必要
となると、排他の単位(ブロック/レコード/キ一単位
)に従ったロック命令を上記のファイルオープン命令と
同様に発行する。この際、データベース/ファイル管理
部19は、ユーザタスク11からのロック命令で示され
ているファイルのロック状況を、次のようにして調べる
まず、データベース/ファイル管理部19は、0PNT
22のフィールド31をサーチして、該当ファイルのフ
ァイル識別子が登録されているエントリを捜し、同エン
トリのフィールド33に設定されているリンク情報(L
CKT23内エントリへのリンク情報)を取出す。次に
、データベース/ファイル管理部19は、0PNT22
から取出したリンク情報の指定するLCKT23内エン
トリ、および同エントリに(フィールド41に設定され
ているリンク情報によって)リンクされたLCKT23
内の他の幾つかのエントリを順次参照し、ユーザタスク
11からのロック命令の示すロック指定が、ファイルの
排他モードとユーザアクセスモード等において許される
ものであるか否かを判断する。
もし、上記のロック指定が許される場合には、データベ
ース/ファイル管理部19は、LCKT23内に新たな
エントリを確保して、同エントリにユーザタスク11か
ら要求されたロック内容を登録する。即ち、データベー
ス/ファイル管理部19は、確保したエントリのフィー
ルド42に(ユーザタスク11からのロック命令に対応
して)ブロック/レコード/キーによる排他状況を示す
フラグを設定し、フィールド43にユーザタスク11の
識別子を設定する。またデータベース/ファイル管理部
19は、確保したエントリのフィールド44に、ユーザ
タスク11からのロック命令の指定するロック対象を設
定する。このロック対象としては、アクセスしている現
ブロックまたは所望のブロックのブロック番号、アクセ
スしている現レコードまたは所望のレコードのレコード
番号の他に、キー値(論理キー値)を用いることも可能
である。但し、この実施例では、任意の長さのキー値指
定が可能なため、指定されたキー値についてはLCKT
23とは別の領域に格納し、このキー値格納先を示すポ
インタ(キー値ポインタ)を上記フィールド44に設定
するようにしている。なお、キー値としては、単なる文
字列だけでなく、先頭何文字までとか、ワイルドカード
(即ちメタキャラクタによる正規表現)による指定が可
能である。
■0PNT22.LCKT23にlづ<CIツク制tl
l上記したように、ユーザタスク11からの要求に応じ
て対応するロック情報がLCKT23内エントリに登録
され、その後、他のユーザタスク(他タスク)からのレ
コードアクセス(ユーザタスク11と共有的にオープン
されているファイルを対象とするレコードアクセス)が
あると、データベース/ファイル管理部19は0PNT
22およびLCKT23によって、該当ファイル(ここ
ではインデックスファイル16)のロック状況をチェッ
クし、該当するアクセス対象レコードがLCKT23に
登録されたロック対象に対応するか否かを判定する。例
えばキー値によるロック指定の場合であれば、上記の判
定は、該当レコードがロック指定キー値(キー範囲)に
対応しているか否かをチェックすることにより行われる
データベース/ファイル管理部19は、以上のチェック
により、上記した他タスクがアクセスしようとしている
レコードが(ユーザタスク11の)ロック対象となって
いることを判断すると、他タスクのレコードアクセスを
拒否する。そしてデータベース/ファイル管理部19は
、少なくとも該当レコードのロック状態が解除されるま
で、上記した池タスクのレコードアクセスを待たせたり
、或はエラーリターンさせる。
■ロック解除、ファイルクローズ ユーザタスク11は、インデックスファイル16を対象
とするブロック/レコード/キ一単位の排他iII I
Ilが不要となると、アンロック命令をロック命令と同
様にして発行する。データベース/ファイル管理部19
は、ユーザタスク11からのアンロック命令を0818
を介して受取ると、ロック命令に応じて確保したLCK
T23内エントリを解放する。
これにより、ユーザタスク11が指定したブロック/レ
コード/キ一単位のロック状態が解除される。
ユーザタスク11は、上記のロック状態解除を行うと、
今度はインデックスファイル16のりO−ズを要求する
クローズ命令を0818に発行する。
上記したように、この実施例では、従来のプロツク/レ
コードによるロックとは別に、論理キー値によるロック
機能を実現するようにしたので、■例えば集合演算を行
う場合に、その対象となるキー値に対して1つだけ論理
ロックをかけることで、このキー値を持つ全てのレコー
ドを同時にロックすることができる。■キー値を持たな
い残りのレコードについては、たとえ同一ブロック、同
一ファイルであってもロックの対象とならないため、他
のタスクからのアクセスが可能であり、マルチタスク環
境下での性能低下を招く恐れがない。
■不特定多数のレコードをロック対象としているにも拘
らず、ロックをかける資源としては1つの「キー値」の
みでよいため、ロック用のシステム資源の節約が図れ、
しかもデッドロック検出対策が容易となる。■キー値と
して、先頭何文字までとか、ワイルドカードによる指定
が可能なため、多様なグループ指定(範囲をもったキー
指定〉が可能である。
以上は、単にインデックスファイルの論理ロック方式に
ついて説明したが、この発明は、ファイルサーバやデー
タベースマシーンにおける論理ロック方式に応用可能で
ある。
[発明の効果〕 以上詳述したようにこの発明によれば、1つのキー値の
指定で不特定多数のレコードを同時にロックできるので
、集合演算や複数レコードの処理が伴う際のファイルの
排他制御が、データの保全性およびシステム性能の低下
を招くことなく行なえる。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すブロック構成図、第
2図は第1図のオープン制御テーブル(OPNT)22
およびロック制御テーブル(LCKT)23のエントリ
構造を示す図である。 11・・・ユーザタスク、16・・・インデックスファ
イル、19・・・データベース/ファイル管理部、21
・・・フッイル制御ブロック(FCB)、22・・・オ
ープン制御テーブル(OPNT)、23・・・ロック制
御テーブル(LCKT)。 出願人代理人 弁理士 鈴江武彦 1′2タスク制御情報域 第1図 第2図

Claims (1)

    【特許請求の範囲】
  1. オープンされたファイルを対象にキー値によるロックを
    指定するロック指定手段を設け、このロック指定手段に
    よつて指定されたファイルを構成するレコードのうち、
    上記ロック指定手段によって指定されたキー値を持つレ
    コードを全てロックするようにしたことを特徴とするキ
    ー値による論理ロック方式。
JP13162087A 1987-05-29 1987-05-29 キ−値による論理ロック方式 Pending JPS63298535A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13162087A JPS63298535A (ja) 1987-05-29 1987-05-29 キ−値による論理ロック方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13162087A JPS63298535A (ja) 1987-05-29 1987-05-29 キ−値による論理ロック方式

Publications (1)

Publication Number Publication Date
JPS63298535A true JPS63298535A (ja) 1988-12-06

Family

ID=15062314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13162087A Pending JPS63298535A (ja) 1987-05-29 1987-05-29 キ−値による論理ロック方式

Country Status (1)

Country Link
JP (1) JPS63298535A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204677A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd 連想ロック方式
JPH08263360A (ja) * 1995-03-27 1996-10-11 Nec Corp オブジェクト関連情報管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204677A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd 連想ロック方式
JPH08263360A (ja) * 1995-03-27 1996-10-11 Nec Corp オブジェクト関連情報管理システム

Similar Documents

Publication Publication Date Title
US5826268A (en) Secure multilevel object oriented database management system
AU2005316812B2 (en) Infrastructure for performing file operations by a database server
EP0455440B1 (en) Method of operating a data processing system to perform database transactions
US6587854B1 (en) Virtually partitioning user data in a database system
US8745707B2 (en) Method and apparatus providing optimistic locking of shared computer resources
US7958091B2 (en) Method for fast bulk loading data into a database while bypassing exit routines
US6850969B2 (en) Lock-free file system
US7260578B2 (en) Database-file link system and method therefor
US6728716B1 (en) Client-server filter computing system supporting relational database records and linked external files operable for distributed file system
US6065065A (en) Parallel computer system and file processing method using multiple I/O nodes
US7548918B2 (en) Techniques for maintaining consistency for different requestors of files in a database management system
JP4759570B2 (ja) データベース管理システムにおけるファイル操作のためのロックを提供するための手法
US6823514B1 (en) Method and system for caching across multiple contexts
EP0871134B1 (en) Accessing database information
JPS63298535A (ja) キ−値による論理ロック方式
US7716260B2 (en) Techniques for transaction semantics for a database server performing file operations
EP0100821B1 (en) Method and apparatus for managing a database
Schlageter Access synchronization and deadlock-analysis in database systems: An implementation-oriented approach
JP2610926B2 (ja) トランザクション制御方式
JPH0559463B2 (ja)
JPH03123946A (ja) データベースの排他制御方法
CA1191616A (en) Method and apparatus for online definition of database descriptors
JPH0293744A (ja) データベース管理方式
JPS62262171A (ja) 排他制御方式
JPH04102140A (ja) システム間ファイル共用方式