JPH06208497A - データベース管理方法 - Google Patents

データベース管理方法

Info

Publication number
JPH06208497A
JPH06208497A JP3262642A JP26264291A JPH06208497A JP H06208497 A JPH06208497 A JP H06208497A JP 3262642 A JP3262642 A JP 3262642A JP 26264291 A JP26264291 A JP 26264291A JP H06208497 A JPH06208497 A JP H06208497A
Authority
JP
Japan
Prior art keywords
lock
bucket
database
exclusive
management
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
JP3262642A
Other languages
English (en)
Inventor
Saeko Suzuki
佐江子 鈴木
Nobuhiro Kurashiki
信宏 倉敷
Yasushi Tamayama
恭 玉山
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.)
Hitachi Information Systems Ltd
Original Assignee
Hitachi Information Systems Ltd
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 Hitachi Information Systems Ltd filed Critical Hitachi Information Systems Ltd
Priority to JP3262642A priority Critical patent/JPH06208497A/ja
Publication of JPH06208497A publication Critical patent/JPH06208497A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 DB資源のロック状態を管理する排他管理テ
ーブルをDB実データ表の行入出力手段で検索可能とす
ることにより、専用のファイル管理システムを不要とす
る。 【構成】 排他管理テーブルは、主メモリ上の排他管理
メモリ190とそのあふれテーブルである外部メモリ上
の排他管理表170とにより構成される。テーブルの検
索は、資源の識別子により求めたハッシュ値に基いて対
応するバケットを探すことで行う。排他管理表170
は、実データ表180と同一データ構造をとっているの
で、実データと同一の入出力手段により排他管理表17
0の操作を行うことができ、専用のファイル管理システ
ムは不要となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチユーザ環境に対
応するデータベース管理システムに係り、特に、データ
ベース資源のロック状態を管理する排他管理テーブルを
用いたデータベース管理方法に関する。
【0002】
【従来の技術】マルチユーザをサポートするデータベー
ス管理システムにおいては、各ユーザのトランザクショ
ンが操作する表、行等のデータベース資源をそのユーザ
のトランザクションが終了するまで他のユーザが入れな
いようにロックする排他制御が必要となる。
【0003】従来技術を用いた排他制御方式として、例
えば特開昭60−254342号公報「使用中資源管理
方式」に記載されているように、あるユーザからデータ
ベース資源の獲得要求があると、この資源の資源名(識
別子)によるハッシングを行って、そのハッシュ値によ
りロック中資源管理テーブルを検索する方式が知られて
いる。この方式では、資源のロック状態を示すロックエ
ントリを、排他管理テーブル(ロック中資源管理テーブ
ル)内の前記ハッシュ値に対応する位置に格納してい
る。
【0004】ハッシュ方式による排他管理テーブルは、
例えば「プリンシプルズ・オブ・データベース・システ
ムズ」J.D.アルマン著,1980年コンピュータ・
サイエンス・プレス社発行("Principles of Database
Systems",J.D.Ullman,1980年,Computer Science P
ress, Inc.)、第24頁〜第31頁に記載されているよ
うに、メインテーブルとオーバフローテーブルからな
る。該オーバフローテーブルには、前記メインテーブル
からオーバフローした情報が格納される。また、メイン
テーブルは主記憶装置上に、オーバフローテーブルは外
部記憶装置上に設けられている。
【0005】図8は前記従来技術を用いたロックエント
リ及び排他管理テーブルの構造を示すデータ構造の一例
であり、図9は図8におけるバケットの詳細を示す図で
ある。
【0006】図9でロックエントリ200は、データベ
ース資源の識別子201,トランザクションの識別子2
02,及びロック種別203等からなり、データベース
資源のロック状態を示す。
【0007】図8で、排他管理テーブル220は、主記
憶装置上の前記メインテーブルである排他管理メモリ1
90と、外部記憶装置上の前記オーバフローテーブルで
ある排他管理ファイル420とからなる。排他管理メモ
リ190及び排他管理ファイル420は、いずれも複数
のバケット191に分割されており、各バケット191
には、バケット191の状態を管理するための空き領域
サイズ193,エントリ数194,及び次バケット番号
195からなるバケットヘッダ192と、ロックエント
リ200のデータベース資源の識別子201をハッシュ
関数210によりハッシングした結果、ロック要求され
た資源と同一のハッシュ値230となるロックエントリ
200が格納されている。
【0008】また、排他管理ファイル420のバケット
191には、排他管理メモリ190内のバット191に
格納し切れないロックエントリ200が格納され、排他
管理メモリ190内のバケット191と排他管理ファイ
ル420内のバケット191とは、バケット191内に
設けられた連結ポインタである次バケット番号195
(必ずしも連結番号とは限らない。次に繋がるバケット
の番号の趣旨である。)により連結されている。連結さ
れたバケット同志(矢印のチェインで示す)のハッシュ
値は同一である。
【0009】図7は従来技術を用いた排他制御を実現す
る一実施例のシステム構成を示した図である。
【0010】図7において、データベース管理システム
110は、トランザクション制御部120,排他制御部
130,ハッシング処理部131,検索処理部132,
排他管理メモリ190,バケットバッファ400,デー
タ操作部140,レコード入出力処理部410,及び入
出力処理部150から構成される。
【0011】トランザクション制御部120は、各ユー
ザによる各トランザクション中のデータ操作要求10
0,及び101の実行制御を行う。次に、データ操作部
140は、データ操作要求100,及び101に基づい
てデータベース資源のロック要求を排他制御部130に
対して行うことで、データの整合性を保証し、かつ実デ
ータ表180(生のデータ)からの指定された行の読み
込み及び書き込み等の処理を行入出力処理部150に要
求して行うことで、行の検索,更新,削除,及び挿入等
の処理制御を行う。
【0012】排他制御部130は、データベース資源の
識別子201,トランザクションの識別子202,及び
ロック種別203等からなるロック要求を受けると、デ
ータベース資源の識別子201をハッシング処理部13
1によりハッシングして、ロック要求されたデータベー
ス資源と同一のハッシュ値を持つロックエントリ200
が格納されている排他管理メモリ190内のバケット1
91を特定するハッツシュ値230を得る。
【0013】そして、検索処理部132により、ロック
要求と、前記排他管理メモリ内のバケット191のロッ
ク要求と同一の資源に対応するロックエントリ200と
を比較してロックの可否を判定する。前記排他管理メモ
リ190内のバケット191に比較判定の対象となるロ
ックエントリ200がない場合は、レコード入出力処理
部410によって、バケット191内のバケットヘッダ
192の次バケット番号195により直結された、排他
管理ファイル420内の次バケット191を、バケット
バッファ400に読み込み、同様の比較判定を行う。前
記動作をロック可否の判定が出るまで行い、比較判定の
結果、ロック可能であるか(例えば共用ロックのよう
に、登録されていても入れる場合がある。)、または、
比較判定の対象となるロックエントリ200が発見され
なかった場合、前記バケット191内の空き領域196
に、前記ロック要求から作成したロックエントリ200
を格納することで、ロックを要求されたデータベース資
源をロックする。
【0014】なお、データベース資源に対するトランザ
クションが終了すれば、ロックエントリを削除すること
でロックは解除される。
【0015】
【発明が解決しようとする課題】上記従来技術は、外部
記憶装置に格納するデータベース資源のロック状態を示
すロックエントリを管理するために、実データ表の行入
出力手段と重複する機能が多いにもかかわらず、専用の
排他管理ファイル及びそのレコード入出力手段を設けて
いるので、データベース管理システムの規模が大きくな
るという問題があった。
【0016】従って、本発明の目的は、上記従来技術の
問題点を解消し、データベース資源のロック状態を管理
するのに専用のファイルやその入出力手段を設ける必要
なく、ロック状態を示す排他管理テーブルの入出力を実
データの入出力と同一の入出力手段により実行できるよ
うにして、システムの規模を低減するデータベース管理
方法を提供することにある。
【0017】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、データベース資源のロック状態を示すロ
ックエントリを格納するメインテーブル、及び該メイン
テーブルからオーバフローしたロックエントリを格納す
るオーバフローテーブルからなる排他管理テーブルを有
し、データベース資源のロック要求を受けたとき、ハッ
シュ値に基づいて前記排他管理テーブルを検索し、格納
されたロックエントリをしらべて前記ロック要求を受け
たデータベース資源のロックの可否を判断し、可能なと
きそのロックを行う排他制御機能を有するデータベース
管理システムにおいて、前記オーバフローテーブを格納
するデータベースの表を実データ表と同一構造で設け、
前記オーバフローテーブルの操作を、実データ表の行を
操作する行入出力手段で実行するように構成したもので
ある。
【0018】
【作用】上記構成に基づく作用を説明する。
【0019】本発明によれば、オーバフローテーブルを
格納するデータベースの表を実データ表と同一データ構
造で設け、このオーバフローテーブルの操作を、実デー
タ表の行を操作する行入出力手段で実行できるように構
成したので、従来技術による排他管理テーブル(メイン
テーブル及びオーバファイルテーブルからなる)を管理
するための専用のファイル及びそのレコード入出力処理
手段が不要となり、この種の排他制御機能を有するデー
タベース管理システムの規模を低減することができる。
【0020】
【実施例】以下に、本発明の一実施例を図面により詳細
に説明する。
【0021】図2は、本発明の実施例によるロックエン
トリ及び排他管理テーブルのデータ構造図であり、図3
は図2のバケット行の詳細なデータ構造図である。
【0022】ロックエントリ200(図3)は、データ
ベース資源の識別子201,トランザクションの識別子
202,及びロック種別203等からなる。これれらの
情報によりどのデータベース資源がどのトランザクショ
ンによってロックされているのか、また、データの参照
のみ可能な共用ロックか、参照及び変更も可能である排
他ロックのいずれであるかが特定され、データベース資
源の管理を行う。
【0023】排他管理テーブル220(図2)は、主記
憶装置上の排他管理メモリ190とデータベース(外部
記憶装置)上の排他管理表170とからなる。排他管理
メモリ190は、複数のバケット191に分割されてお
り、各バケット191にはバケット191の状態を管理
するための空き領域サイズ193,エントリ数194,
及び次バケット行番号195からなるバケットヘッダ1
92と、ロック要求に基いて、ロックエントリ200の
データベース資源の識別子201をハッシュ関数210
によりハッシングした結果、ロック要求された資源と同
一のハッシュ値230となるロックエントリ200がデ
ータベース資源の識別子201の昇順に格納されてい
る。データベース上の排他管理表170は、表管理情報
部171及びバケット行172からなり、また、前記バ
ケット行172は、行管理情報部173及び前記排他管
理メモリ190内のバケット191と同様のバケット1
91からなっている。
【0024】図2及び図3を、図8及び図9と対比して
明らかなように、本実施例によるバケット行172は、
内容的には従来技術のバケットと同じであるが、ヘッダ
として行管理情報部173を付加したことにより、実デ
ータ行と同じような行(すなわちレコード)扱いができ
るようにした点に特徴がある。
【0025】図4は、実データ表180のデータ構造図
である。
【0026】実データ表180は、表管理情報部181
及び実データ行182からなり、また、前記実データ行
182は、行管理情報部183及び実データ184から
なっている。このデータ表180は、従来技術と同様な
データ構造である。そして、本実施例の特徴として、排
他管理表170は、実データ表180と同一の構造を有
するデータベースの表である。
【0027】図1は本発明の一実施例のシステム構成を
示した図である。
【0028】図1において、データベース管理システム
110は、トランザクション制御部120,排他制御部
130,ハッシング処理部131,検索処理部132,
排他管理メモリ190,バケット行バッファ133,デ
ータ操作部140,及び行入出力処理部150から構成
される。
【0029】トランザクション制御部120は、各ユー
ザによるトランザクション中のデータ操作要求100,
及び101の実行制御を行う。次に、データ操作部14
0は、行の検索,更新,削除等の処理を行う。また、行
入出力処理部150は、データベース160中の排他管
理表170,及び実データ表180から指定された行の
入出力処理を行う。
【0030】次に、本発明における資源の排他制御方式
の一実施例の具体的動作を図5及び図6のフローチャー
トにより説明する。
【0031】本実施例では、メインメモリの検索方法
は、従来技術と同様であるが、外部記憶装置上のオーバ
フローテーブルの検索の仕方に特徴があるものである。
また、本実施例では、以下に述べたように、目的バケッ
トを探すのはハッシュ値によって行われるが、その目的
バケット内の目的ロックエントリを探すのは、識別子2
01,202及び種別203によって行われる。
【0032】まず、排他制御部130は、データ操作部
140から、ロックエントリ200の形でロック要求を
受け取る(ステップ301)。
【0033】ハッシング処理制御部131によりロック
エントリ200のデータベース資源の識別子(資料名)
201を用いてハッシングし、ハッシュ値230を得る
(ステップ302)。
【0034】前記ハッシュ値230に基づいて、排他管
理メモリ190内の検索バケット191を求める(ステ
ップ303)。
【0035】前記検索バケット191に格納済のロック
エントリ200と、ロック要求エントリ200のデータ
ベース資源の識別子201及びトランザクションの識別
子202とを比較し、一致するか、又はそれより大とな
るものを持つロックエントリ200の位置が得られるま
で、前記比較を検索バケット191内のエントリ数19
4の回数分行う(ステップ304,305,306,3
09,310,311)。なお、ステップ304のカウ
ンタは、各検索バケット毎に、その中のエントリ数を予
めセットする減算カウンタである。ステップ305のi
は、エントリ番号である。ステップ306でNoの場合
(カウンタ値が0となる場合)は、ある検索バケット行
内のロックエントリをすべて調べた場合である。ステッ
プ310及び311はロックエントリの更新である。ス
テップ309で、iが要求エントリと一致する場合だけ
でなく、大きい場合を含むのは、バケット行に格納され
ているエントリ番号が飛び飛びになっていることがある
ためである。
【0036】前記検索バケット191内に目的とするロ
ックエントリ200がない場合は、次バケット行番号1
95により、排他管理表170内のチェインバケット行
172を求め、行入出力処理部150によりバケット行
バッファ133に読み込み、検索を続行する(ステップ
304,305,306,307,308)。なお、ス
テップ307及び308は、未検索の次バケット行があ
るとき、バケット行を更新するステップである。
【0037】検索の結果、目的とするロックエントリ2
00が見つかれば、トランザクション識別子202,及
びロック種別203によりロックが可能であるか否かの
判断を行う(ステップ312)。
【0038】逆に、最終バケット191の最終ロックエ
ントリ200となっても目的とするロックエントリ20
0が見つからない場合は、未ロックであるため、無条件
でロック可能となる(ステップ307)。
【0039】ロック可能であり、ロック種別203を変
更する場合は、ロックエントリ200の更新を行う(ス
テップ313,314)。
【0040】または、ロックエントリ200を追加する
場合、ステップ309で求めた、データベース資源の識
別子201,及びトランザクションの識別子202の昇
順となる位置にロックエントリ200を格納する(ステ
ップ313,315,316)。
【0041】このとき、ロックエントリ200を格納す
べきバケット191内に十分な空きがない場合は、前後
のバケット191内の空き領域193を用いて格納する
か、新バケット191を作成して、格納する(ステップ
313,315,317)。
【0042】ステップ312でロック不可と判断された
ら、ロック失敗(ステップ319)とし、ロック可能と
判断されるか、ロックエントリが格納されたらロック成
功(ステップ318)とし、終了する(ステップ32
0)。
【0043】
【発明の効果】以上詳しく述べたように、本発明によれ
ば、データベース資源のロック状態を示すロックエント
リ等からなるオーバフローテーブル(バケット行の集
り)を格納するためのデータベースの表を実データ表と
同一構造で設け、前記オーバフローテーブルの操作を、
実データ表の行を操作するデータベース管理システムの
行入出力手段で実行するように構成したので、従来技術
による前記オーバフローテーブルを管理するための専用
のファイル及びそのレコード入出力手段が不要となるた
め、システム規模の削減を図ることができる効果があ
る。
【図面の簡単な説明】
【図1】本発明の一実施例による排他制御機能を有する
データベース管理システムの構成図である。
【図2】本発明の一実施例による排他管理テーブルのデ
ータ構造図である。
【図3】図2におけるバケット行の詳細を示すデータ構
造図である。
【図4】実データ表のデータ構造図である。
【図5】本発明の一実施例による排他制御の動作の一部
を示すフローチャートてである。
【図6】本発明の一実施例による排他制御の動作の他部
を示すフローチャートである。
【図7】従来の排他制御機能を有するデータベース管理
システムの構成図である。
【図8】従来の排他管理テーブルのデータ構造図であ
る。
【図9】図8におけるバケットの詳細を示すデータ構造
図である。
【符号の説明】 100,101 各ユーザによるデータ操作要求 120 トランザクション制御部 130 排他制御部 131 ハッシング処理部 132 検索処理部 133 バケット行バッファ 140 データ操作部 150 行入出力処理部 160 データベース 170 排他管理表 171 表管理情報部 172 バケット行 173 行管理情報部 180 実データ表 181 表管理情報部 182 実データ行 183 行管理情報部 184 実データ 190 排他管理メモリ 191 バケット 192 バケットヘッダ 193 空き領域サイズ 194 エントリ数 195 次バケット行番号 196 空き領域 200 ロックエントリ 201 データベース資源の識別子 202 トランザクションの識別子 203 ロック種別 210 ハッシュ関数 230 ハッシュ値

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データベース資源のロック状態を示すロ
    ックエントリを格納するメインテーブル、及び該メイン
    テーブルからオーバフローしたロックエントリを格納す
    るオーバフローテーブルからなる排他管理テーブルを有
    し、データベース資源のロック要求を受けたとき、ハッ
    シュ値に基いて前記排他管理テーブルを検索し、格納さ
    れたロックエントリをしらべて前記ロック要求を受けた
    データベース資源のロックの可否を判断し、可能なとき
    そのロックを行う排他制御機能を有するデータベース管
    理システムにおいて、前記オーバフローテーブルを格納
    するデータベースの表を実データ表と同一構造で設け、
    前記オーバフローテーブルの操作を、実データ表の行を
    操作する行入出力手段により実行するように構成したこ
    とを特徴とするデータベース管理方法。
JP3262642A 1991-09-17 1991-09-17 データベース管理方法 Pending JPH06208497A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3262642A JPH06208497A (ja) 1991-09-17 1991-09-17 データベース管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3262642A JPH06208497A (ja) 1991-09-17 1991-09-17 データベース管理方法

Publications (1)

Publication Number Publication Date
JPH06208497A true JPH06208497A (ja) 1994-07-26

Family

ID=17378622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3262642A Pending JPH06208497A (ja) 1991-09-17 1991-09-17 データベース管理方法

Country Status (1)

Country Link
JP (1) JPH06208497A (ja)

Similar Documents

Publication Publication Date Title
US6341308B1 (en) Input/output device information management system for multi-computer system
JP2781092B2 (ja) システム間排他制御方式
US6606631B1 (en) IMS on-line reorganization utility
JPH06208497A (ja) データベース管理方法
JP2005234945A (ja) 同時実行制御方法及び装置
JPH07319742A (ja) 論理削除データ物理削除方式
JPS62131349A (ja) デ−タベ−ス処理方式
JP2980610B2 (ja) トランザクション管理装置
JPS60254342A (ja) 使用中資源管理方式
JP2787107B2 (ja) バッファ制御方式及び装置
JP2643850B2 (ja) ファイル処理装置
JP3318787B2 (ja) データ管理方法およびその装置
JP2658097B2 (ja) 二次ファイル作成方式
JP3087701B2 (ja) 排他制御装置
JPS63150724A (ja) デ−タアクセス処理方式
KR20240114380A (ko) 차량용 단말기의 미디어 메타 데이터 인덱싱 장치 및 방법
JPH03282966A (ja) ハッシュエントリ領域管理方法
JPH03255549A (ja) レコード排他方式
JPH04102140A (ja) システム間ファイル共用方式
JPH06214849A (ja) データベースシステム
JPS63239540A (ja) 記憶媒体におけるデ−タ管理方式
JPH0797345B2 (ja) ファイル制御方式
JPS6327927A (ja) 予約情報検索システムにおけるインデツクス作成方式
JPS63285631A (ja) 索引ファイル更新処理方式
JPH0916445A (ja) 元帳ファイルアクセス方法及びそれを適用したバンキングシステム