JPH07191898A - データベース排他制御装置 - Google Patents

データベース排他制御装置

Info

Publication number
JPH07191898A
JPH07191898A JP5331219A JP33121993A JPH07191898A JP H07191898 A JPH07191898 A JP H07191898A JP 5331219 A JP5331219 A JP 5331219A JP 33121993 A JP33121993 A JP 33121993A JP H07191898 A JPH07191898 A JP H07191898A
Authority
JP
Japan
Prior art keywords
exclusive control
item
value
input
data
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.)
Withdrawn
Application number
JP5331219A
Other languages
English (en)
Inventor
Ryohei Tawara
良平 田原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5331219A priority Critical patent/JPH07191898A/ja
Publication of JPH07191898A publication Critical patent/JPH07191898A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 データベースのトランザクション処理におけ
る排他制御に関し、必要最少限度のデータを排他制御
し、データベースの処理効率向上を目的とする。 【構成】 予め決められた排他制御用の項目を登録す
る排他制御用テーブル(1)を設け、当該項目の値が書
込みモードで入力されたとき、既に当該排他制御用テー
ブル(1)に登録されているかどうかチェックし、登録
されていなければ登録し、データベースを更新し、登録
されていれば当該書込みモードで入力したユーザのデー
タベース更新を抑止し、当該項目の値が読出しモードで
入力されたとき、既に当該排他制御用テーブル(1)に
登録されているかどうかチェックし、登録されていなけ
ればデータベースを読出し、登録されていれば当該読出
しモードで入力したユーザのデータベースの該当箇所の
読出しを抑止する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベースアクセスの
排他制御に関する。
【0002】
【従来の技術】一般に、プログラムの開発・運用に当た
って、そのプログラムが使用する記憶容量を増大させる
とそのプログラムの性能は向上し、使用記憶容量を減少
させると性能は低下する傾向にある。
【0003】オンラインデータベースアクセスプログラ
ムも、以下に説明するように排他制御用の記憶領域(D
ASDのスペース)を増大させると当該プログラムのレ
スポンスタイムは改善し、当該排他制御用の記憶領域を
減少させるとレスポンスタイムは悪化する傾向にある。
従来は、レスポンスタイムを重視するか、又は記憶領域
の大小を重視するかの選択であった。
【0004】排他制御には次のようなモードがある。但
し、更新はデータの「書込み」或いは「抹消」を意味す
るものとする。 a.或るユーザがデータベースのある箇所を更新中の
時、他のユーザの当該箇所の更新を抑止する。
【0005】b.或るユーザがデータベースのある箇所
を更新中の時、他のユーザの当該箇所の読出しを抑止す
る。 c.或るユーザがデータベースのある箇所を読出し中の
時、他のユーザの当該箇所への更新を抑止する。(本モ
ードは現実には余り実施されていない。) 上記の排他制御を実現する手段としては、次のようなも
のがある。
【0006】A.OSの一部であるデータベース管理シ
ステムの排他制御機能を利用する。 B.アプリケーションプログラムが排他制御機能を具備
し、データベース管理システムはデータの読出し/書込
みの制御のみを行う。
【0007】また、一般にデータベースは、下記のよう
な階層構造を有している。 .データベースは1個以上のファイルから構成されて
いる。 .ファイルは1個以上のテーブルから構成されてい
る。
【0008】.テーブルは1個以上のページから構成
されている。ここで、1ページは一般に数キロバイト
(例えば、4096バイト)である。 .ページは1個以上のレコード(以下「行」と称す
る。)から構成されている。一般に、データベース全体
で行の数は数十万〜数百万行である。
【0009】.レコードは1個以上の項目から構成さ
れている。 .同一項目に関して、1個以上の行にわたって集めた
ものを「列」とする。一般に、データベース全体で列
(項目)の数は数ケ〜数百である。
【0010】.テーブル間は或る列の項目の値により
関係付けられている(リンクしている)場合もある。 .或る行と或る列とが交叉した箇所が項目でもある。
【0011】排他制御はこの階層──ファイル,テーブ
ル,ページ,行,列──単位で行い、各単位毎に排他制
御用の記憶領域を設け、その領域に排他制御中のマーク
を付けることにより実施されている。
【0012】例えば、排他制御を前記aモードのファイ
ル単位で行う場合には、「各ファイルに対して1ケの排
他制御用の記憶領域を設け、或るユーザが或るファイル
を更新中の時、その領域に排他制御中のマークを付け、
他のユーザの当該ファイルの更新を抑止する。」ことに
なる。この場合には、排他制御用の記憶領域は他の階層
を排他制御するときの記憶領域に比べて、最少ですむ。
【0013】しかし、ファイル全体が排他制御の対象と
なるため、他のユーザがそのファイルの本来排他制御の
対象とならない部分をアクセスしようとしても、アクセ
ス出来ず、レスポンスタイムは悪化する。
【0014】又、行単位に排他制御用の記憶領域を設け
た場合には、レスポンスタインムは改善するが、当該記
憶領域は数十万〜数百万行に渡って最も多く必要とす
る。さらに、この場合でも、或る項目の値と他の項目の
値とがリンク構造(階層構造)となっているような場合
には、「末広がり」的に排他制御の対象項目が広がり、
余分なデータまで排他制御の対象となり、レスポンスタ
イムは悪化する。
【0015】実際の排他制御は前記手段A,Bと上記階
層〜の組み合わせで実施されており、幾つかの公知
文献も存在する。列単位の排他制御を行う文献として
「特公昭63−191248」、行単位又は列毎に排他
制御用の領域を設けるる文献として「特公平4−178
847」、データベース管理システムの行単位の排他制
御機能を利用した文献として「特公平1−21762
0」、ページ単位の排他制御を行う文献として「特公平
4−333142」がある。
【0016】以下、更に詳細に従来技術を説明する。図
3は、従来技術によるシステム構成例(その1)であ
る。2a,3aはデータテーブル、5aはデータベース
(以下「DB」と省略する。)、61aはDB管理シス
テムのDB読込/書込み部、62aはDB管理システム
のDBアクセス順決定部、70,70a,70bは各ア
プリケーションプログラム(以下「アプリ」と省略す
る。)の排他制御項目確認作成部、71,71a,71
bは各アプリの入出力部、8,8a,8bは各ユーザで
ある。
【0017】DB管理システムは、DB管理システムの
DB読込/書込み部61aと、DBアクセス順決定部6
2aとから構成されている。各排他制御項目確認作成部
70,70a,70bと各入出力部71,71a,71
bとは各々対となって各アプリを構成している。
【0018】尚、排他制御用の領域を各テーブル2a,
3aの各行に設けている。つまり、排他制御用の列を設
けている。各排他制御項目確認作成部70,70a,7
0bは排他制御を行い、DBアクセス順決定部62aは
各排他制御項目確認作成部70,70a,70bが要求
するDBアクセスを到着順にDB読込/書込み部61a
に送付する。
【0019】DB読込/書込み部61aは外部記憶装置
から読み込んだデータをアプリの入出力部71に送付す
る。或いは、DB読込/書込み部61aはアプリの入出
力部71から書込み要求のあったデータを外部記憶装置
へ書き込む。
【0020】処理手順は以下のようになる。 1.各アプリ70,71、70a,71a、70b,7
1bは、各ユーザ8,8a,8b毎にローディングさ
れ、実行される。
【0021】2.各アプリは、各ユーザ8,8a,8b
が要求するデータをDB管理システムを経由して、DB
5aにアクセスする。3.各ユーザ8,8a,8bは各
アプリの入出力部71,71a,71bにデータベース
5aのデータを更新したい旨を入力する。
【0022】4.各入出力部71,71a,71bは、
各々DBアクセス順決定部62aに対して、データベー
ス5aのデータの更新要求を通知する。DBアクセス順
決定部62aは、各入出力部71,71a,71bのD
Bアクセス要求を到着順に並べてDB読込/書込み部6
1aに送付する。
【0023】5.各入出力部71,71a,71bは、
各ユーザ8,8a,8bから指定された行のデータを受
取り、各排他制御項目確認作成部70,70a,70b
は該当する行の排他制御項目をチェックし、排他制御項
目のマークが「書込み中」でなければ、「書込み中」の
マークを付け、データを更新する。
【0024】このときDBアクセス順決定部62aは、
各アプリの各排他制御項目確認作成部70,70a,7
0bに指定された行を単に送付するだけである。送付し
た時点で当該行の排他制御項目のマークが「書込み中」
でなければ、当該データを受け取った各アプリの各排他
制御項目確認作成部70,70a,70bは各々排他制
御項目に「書込み中」のマークを付けることが可能であ
る。
【0025】従って、同一の行に対して2ケ以上のアプ
リの各排他制御項目確認作成部70,70aが「書込み
中」のマークを付け、データを更新する可能性がある。
所謂、「二重書込み」の発生である。
【0026】「二重書込み」には次に説明するように二
つのケースがある。第一のケースは、2ケ以上のアプリ
がデータを更新した場合であり、最後に更新したデータ
のみが有効データとしてデータベースに残る「上書き」
である。
【0027】第二のケースは、新規データ登録の場合で
あり、全く同じデータが登録される「重複登録」であ
り、ユニーク性が失われることになる。送付された排他
制御項目のマークが「書込み中」であれば、その「書込
み中」のマークを付けたユーザ8のデータ処理が完了す
る迄、他のユーザ8aは「待ち状態」となる。
【0028】このことは、当該他のユーザ8aのレスポ
ンスタイムがユーザ8のデータ処理に依存することを意
味し、ユーザ8が離席したような場合には、レスポンス
タイムが非常に悪化することになる。
【0029】「書込み中」のマークを付ける場合、或る
項目と他の項目とがリンクしている場合には、リンク先
も「書込み中」のマークを付ける。例えば、データテー
ブル2aの項目Cと、データテーブル3aの項目Kとが
リンクしている場合を考える。
【0030】項目Cの値が「10」である行に「書込み
中」のマークを付けた場合には、項目Kの値が「10」
である全ての行にも「書込み中」のマークを付ける。こ
れは「末広がり」的に「書込み中」のマークが付くこと
を意味する。
【0031】これにより、過剰な排他制御が行われ、本
来他のユーザがデータベースアクセス可能であるにも関
わらず、アクセス出来なくなることを意味し、レスポン
スタイムの悪化に繋がる。
【0032】尚、データベースの一部のコピーが各ユー
ザのアプリケーションプログラム毎に存在するため、排
他制御を極力確実に行うためには、データベースの更新
や排他制御マークのオンオフ処理は当該データベースが
存在する外部記憶装置を毎回必ずアクセスして行う必要
がある。
【0033】6.各アプリの各排他制御項目確認作成部
70,70a,70bは、データの更新処理完了後、排
他制御項目の「書込み中」のマークを消去する。 7.上記5で、排他制御項目のマークが「書込み中」で
あれば、各アプリの入出力部71,71a,71bはデ
ータの更新作業を中断し、当該ユーザ8,8a,8bに
更新作業が「不可」であることを表示する。
【0034】8.各ユーザ8,8a,8bはDB5aの
データを検索(読出)したい場合には、その旨を入力す
る。DBアクセス順決定部62aは、各入出力部71,
71a,71bのDBアクセス要求を到着順に並べてD
B読込/書込み部61aに読出を要求する。
【0035】9.各入出力部71,71a,71bは、
各ユーザ8,8a,8bから指定された行のデータを受
取り、各排他制御項目確認作成部70,70a,70b
は該当する行の排他制御項目をチェックし、排他制御項
目のマークが「書込み中」でなければ、読み込んだデー
タをアレンジして表示する。
【0036】10.上記9で、排他制御項目のマークが
「書込み中」であれば、各アプリの入出力部71,71
a,71bはデータのアレンジ処理を中断し、各ユーザ
8,8a,8bに検索作業が「不可」であることを表示
する。
【0037】次に、従来の他の実現例について述べる。
図4は、従来技術によるシステム構成例(その2)であ
る。この例では、DB管理システムは各アプリから共通
にアクセスされる1ケの共有プログラムとなる。この共
有プログラが各アプリからの更新要求を到着順に処理す
ることになる。
【0038】このため、前述したような「二重書込み」
を回避することが可能となる。又、DBの一部のコピー
が共有プログラムと共に、実際には主記憶装置上に存在
し、各アプリからの処理依頼がある度に毎回外部記憶装
置をアクセスする必要がなくなることから、レスポンス
タイムが改善される。
【0039】2b,3bはデータテーブル、5bはデー
タベース、6bはデータベース管理システム、72,7
2a,72bは各アプリケーションプログラムの入出力
部、8,8a,8bは各ユーザである。当該データベー
ス管理システム6bは、DB読込/書込み部61bと、
DBアクセス順決定部62bと、制御項目作成確認部6
3bとから構成されている。
【0040】この例では、前記従来技術によるシステム
構成例(その1)と同様に排他制御用の領域を各テーブ
ル2b,3bの各行に設けている。各入出力部72,7
2a,72bは主として、ユーザとのデータ授受を行
い、データベース管理システム6bは排他制御とデータ
の読出し/書込みの制御を行う。
【0041】処理手順は以下のようになる。 (1).各入出力部72,72a,72bは、各ユーザ
8,8a,8bが要求するデータをDB管理システム6
bを経由して、DB5bにアクセスする。
【0042】各ユーザ8,8a,8bが入力すべきパラ
メータは全ての項目の値である。 例:項目A=「1」,項目B=「100」,項目C=
「10」,項目K=「10」,項目L=「200」,項
目M=「a」, DBアクセス順決定部62bは、全ての項目の値が一致
する行を探す。
【0043】(2).各ユーザ8,8a,8bは各入出
力部72,72a,72bにデータベース5bのデータ
を更新したい旨を入力する。 (3).各入出力部71,71a,71bは、各々DB
アクセス順決定部62bに対して、データベース5bの
データの更新要求を通知する。
【0044】DBアクセス順決定部62bは、各入出力
部71,71a,71bのDBアクセス要求を到着順に
並べてDB読込/書込み部61bに送付する。 (4).制御項目作成確認部63bは、該当する行の排
他制御項目をチェックし、排他制御項目のマークが「書
込み中」でなければ、「書込み中」のマークを付け、デ
ータを更新する。「書込み中」であれば、処理を中断
し、その旨を当該入出力部に通知する。当該入出力部は
データの更新作業を中断し、当該ユーザに更新作業が
「不可」であることを表示する。
【0045】このように、「チェック」と「マーク付
け」が対になって到着順に処理される。このため、前述
したような「二重書込み」は回避可能となる。
【0046】ここで、更新作業が「不可」となるような
ケースを考えると、前記(1)で述べたように、或るユ
ーザ8は全ての項目の値を入力するのであるが、もし一
部の項目の値のみが排他制御すべきものであったとする
と、排他制御すべき項目以外の項目の値を入力したこと
は無駄となってしまう。
【0047】例えば、項目M=「a」のみを排他制御す
べきものとすると、項目M=「a」である複数の行が排
他制御の対象となる。これは、本来項目Mの値のみを先
に入力してチェックすべきものである。
【0048】(5).制御項目作成確認部63bは、デ
ータの更新処理完了後、排他制御項目の「書込み中」の
マークを消去する。 (6).各ユーザ8,8a,8bはDB5bのデータを
検索(読出)したい場合には、その旨を入力する。
【0049】各入出力部72,72a,72bは、指定
された行のデータの読み込みをDBアクセス順決定部6
2bに依頼する。 (7).制御項目作成確認部63bは、該当する行の排
他制御項目をチェックし、排他制御項目のマークが「書
込み中」でなければ、読み込んだデータを当該入出力部
に送付する。
【0050】(7).上記(6)で、排他制御項目のマ
ークが「書込み中」であれば、制御項目作成確認部63
bは処理を中断し、当該入出力部にその旨を通知する。
当該入出力部は当該ユーザに検索作業が「不可」である
ことを表示する。
【0051】
【発明が解決しようとする課題】以上述べたように、前
記従来技術(その1)においては、下記のような問題点
が存在する。 1−1.レスポンスタイムの悪化。 (1).排他制御項目をチェックするために、毎回実際
にデータベースが存在する外部記憶装置をアクセスしな
ければならない。 (2).レスポンスタイムは他ユーザの端末操作や処理
に依存する。 (3).過剰排他制御によるレスポンスタイムの悪化。 1−2.「二重書込み」の発生。
【0052】(1).最後に入力したデータのみが残
り、それ以前のデータが消失するデータの「上書き」発
生。 (2).同一データが二重に登録されるユニーク性の喪
失。 1−3.数十万〜数百万行に相当する多量の排他制御用
の記憶領域が必要。
【0053】尤も、上記問題点1−1(3)や1−3
は、アプリケーションプログラムを工夫することにより
解決することは可能である。又、前記従来技術(その
2)においては、上記従来技術(その1)の課題の一部
「二重書込み」問題は解決されるが、以下のような問題
点が依然として存在する。 2−1.レスポンスタイムの悪化。 (1).レスポンスタイムは他ユーザの端末操作や処理
に依存する。 (2).「末広がり」的に排他制御され、過剰排他制御
によるレスポンスタイムが悪化する。 2−2.数十万〜数百万行に相当する多量の排他制御用
の記憶領域が必要。 2−3.無駄なデータ入力操作の発生。
【0054】本発明はこのような点にかんがみて、必要
最小限の排他制御用領域を確保し、必要最小限のデータ
を排他制御することにより、レスポンスタイムを改善
し、ユーザに必要最小限のパラメータを入力させ、チェ
ックすることにより無駄な入力作業を防止する手段を提
供することを目的とする。
【0055】
【課題を解決するための手段】上記の課題は下記の如く
に構成されたデータベース管理装置によって解決され
る。
【0056】図1は、本発明の原理構成図である。 1.1種類以上の項目から成るレコードを1ケ以上有す
るDB5と、排他制御機能を有するDB管理システム6
と、複数個の入出力手段7,7a,7bとから構成され
るDB排他制御装置において、排他制御すべき一種類以
上の項目を予め決定し、当該予め決定された排他制御用
の項目の値を登録する排他制御用テーブル1を設け、当
該排他制御すべき項目の値が当該入出力手段7,7a,
7bを経由して当該DB管理システム6に送付されたと
き、当該DB管理システム6は、送付された当該項目の
値が既に当該排他制御用テーブル1に登録されているか
どうかチェックし、排他制御するように構成する。
【0057】尚、この排他制御用テーブル1は、DB内
に設けてもよいし、DBとは別に独立して設けてもよ
い。 2.前記1のDB管理システム6は、DB読込/書込み
手段61と、DBアクセス順決定手段62と、制御テー
ブル生成確認手段63とから構成される。
【0058】3.前記1において、当該DB管理システ
ム6は、排他制御用テーブル1に当該項目の値を登録す
る時にユーザ8,8a,8bの識別番号を登録し、 当
該DBのアクセスを抑止した時に、当該登録した識別番
号を当該入出力手段7,7a,7bに送付するように構
成する。
【0059】4.前記1において、当該DB管理システ
ム6の排他制御機能を外部記憶装置の制御部に具備する
ように構成する。
【0060】
【作用】本発明は、前述したように、従来相反すると考
えられていた課題「排他制御用記憶領域の縮小」と「レ
スポンスタイムの改善」とを共に解決するものである。
【0061】これは、排他制御専用のテーブル1を設
け、複数のアプリケーションプログラムが共通に使用す
る1ケのDB管理システムでシリアルに──つまり、読
み込んだ後に書き込む、或いは書き込んだ後に読み込む
──その排他制御専用のテーブル1をアクセスして、処
理を行うことにより、排他制御が可能となる。
【0062】前記のような共通にDB管理システムを使
用する方法では、複数のユーザが同時にDBのアクセス
を要求しても、DB管理システムはユーザのアクセス要
求を到着順に並べ代える言わばパラレル─シリアル変換
を行う機能を本質的に有している。
【0063】即ち、ユーザが端末を同時に使用しても、
CPUは時分割(例えば、数ミリ秒毎)で各アプリやD
B管理システムに割当てられ、CPUが各アプリの処理
を行うわけであるから、時間的には必ずシリアルな処理
となる。
【0064】この考え方は、2台以上のCPUのシステ
ム構成であっても、1ケのOS(DB管理システムも1
ケ)である限り、変わらない。また、排他制御用テーブ
ル1には、排他条件を満足する必要最小限の項目を登録
するようにすれば、ユーザはまずその必要最小限の項目
の値を入力し、全て一致する値が既に登録されていたな
らば、その時点でそれ以後の入力を中止する。一致しな
ければ、継続してそれ以外のデータを入力する。
【0065】このようにすることにより、データの入力
作業の無駄も省くことが可能となる。なおかつ、この排
他制御用テーブル1の必要最小限の排他制御項目によ
り、過剰な排他制御が回避でき、レスポンスタイムも従
来技術(その2)よりも更に改善される。
【0066】排他制御用テーブル1に必要最小限の排他
制御項目以外にユーザ識別番号を登録するようにすれ
ば、最初に或るユーザが或る行を更新したとき、他のユ
ーザが同一の行をアクセスした場合に、先にアクセスし
ているユーザ名を当該他のユーザに通知することが可能
となる。
【0067】1台以上のCPUで、且つ2ケ以上のOS
が共通にアクセスする共有DASDの場合にも、当該共
有DASDの制御部に前記1のDB管理システム6の、
DB読込/書込み手段61、DBアクセス順決定手段6
2、制御テーブル生成確認手段63に相当する機能を具
備すれば、共有DBアクセスが可能となる。
【0068】
【実施例】以下に述べる実施例は、前述したように、従
来相反すると考えられていた課題「排他制御用記憶領域
の縮小」と「レスポンスタイムの改善」とを共に解決す
るものである。
【0069】図2は、本発明の実施例である。1は排他
制御用テーブル、2,3,はDBを構成するデータテー
ブル、5はDB、6はDB管理システム、7,7a,7
bは入出力手段、8,8a,8bはユーザである。
【0070】各入出力手段7,7a,7bは主として、
ユーザとのデータ授受を行い、DB管理システム6は排
他制御とデータの読出し/書込みの制御を行い、DB読
込/書込み手段61と、DBアクセス順決定手段62
と、制御テーブル生成確認手段63とから構成される。
【0071】本実施例のDBは、以下に述べるように階
層型ネットワーク構造を表現することが可能である。テ
ーブル2とテーブル3とはリンクしており、項目Cの値
と項目Kの値とが同一のとき関係付けられることとす
る。このようにすることにより、階層構造を表現するこ
とができる。
【0072】例えば、項目Cの値が「10」であるテー
ブル2の第一行目は、項目Kの値が「10」であるテー
ブル3の第一行目と第二行目とが関係付けられている。
これにより、言わば「末広がり」の状態を表現すること
が可能となる。
【0073】又、或るテーブルの或る項目の値が当該テ
ーブルの或る行を表示しているように構成することによ
って、ネットワーク構造を表現することが出来る。例え
ば、項目Bの値が「100」であるテーブル2の第一行
目は、テーブル2の項目Aの値が「100」であるテー
ブル2の第100行目と関係付けられているようにも構
成することが出来る。これにより、言わば「接続」関係
を表現することが可能となる。
【0074】処理手順は以下のようになる。 1.各入出力手段7,7a,7bの開発時に、排他制御
用テーブル1には排他制御すべき最小限の項目と、ユー
ザの識別番号を登録することを決定し、DB管理システ
ム6が具備するDBアクセス言語(例えば、SQL)で
プログラム化する。
【0075】これにより、排他制御用テーブル1の大き
さは、たかだか (排他制御すべき最小限の項目数+1ユーザの識別番号
登録領域)×同時に使用するユーザ数 でよいことになり、数十万〜数百万行に相当する領域に
比べ大幅に減少する。
【0076】又、当然のことながら開発時ではなく、運
用に先立って排他制御すべき最小限の項目と、ユーザの
識別番号を登録するようにしてもよい。本実施例では、
項目A、項目C、項目Kを最小限の項目とする。この項
目A、項目C、項目Kの値が一致するときのみ排他制御
される。
【0077】項目B,項目L,項目Mは排他制御に対し
ては付随的項目とする。項目Cと項目Kとは関係付けら
れているものとする。つまり、項目Cの値=項目Kの値
のとき、テーブル2の該当する行とテーブル3の該当す
る行とは関係付けられることになる。 2.各ユーザ8,8a,8bは各々の入出力手段7,7
a,7bに対して、自己の識別番号を入力する。
【0078】本実施例では、ユーザ8は識別番号「U
1」を入力する。3.各ユーザ8,8a,8bは各入出
力手段7,7a,7bに対して、まず必要最小限の項目
A.C.Kの値を入力する。 4.各入出力手段7,7a,7bは、各ユーザ8,8
a,8bが要求するデータをDBアクセス順決定手段6
2を経由してDB5にアクセスする。 5.上記3において、制御テーブル生成確認手段63
は、データアクセスがデータの更新モードのときには、
既に排他制御用テーブル1に登録されているかどうかを
チェックする。
【0079】例えば、ユーザ8(入出力手段7)が更新
モードで、 ・項目Aの値=「1」 ・項目Cの値=「10」 ・項目Kの値=「10」(項目Cの値=項目Kの値) ・識別番号の値=「U1」 を入力したとする。 6.登録されていなければ当該排他制御用テーブル1に
上記の値を登録する。
【0080】図2のテーブル1のようになる。テーブル
1の2行目が空白であるのは、この時点で当該DBの更
新を要求する他のユーザがいないからである。制御テー
ブル生成確認手段63は登録後、更新可能であることを
ユーザ8に通知する。
【0081】ユーザ8は、更新したい項目の値を入力す
る。例えば、 ・項目Bの値=「100」 ・項目Lの値=「200」,「201」 と入力する。 7.DBアクセス順決定手段62は該当する項目の値を
更新する。
【0082】上記の値の例を適用すると、以下のように
なる。 .テーブル2において、項目Aの値=「1」、項目C
の値=「10」である行を探す。
【0083】.該当する行があれば(複数行の場合も
存在する。)、その該当する行の他の項目を指定された
値に更新する。テーブル2の第一行目が該当し、項目B
の値を「100」と更新する。
【0084】又、テーブル3の第一行目と第二行目が該
当し、項目Lの値を「200」,「201」と更新す
る。 .該当する行が存在しない場合には、新規追加とな
り、新しく行を追加する。 8.DBアクセス順決定手段62は制御テーブル生成確
認手段63に対して更新完了を通知し、制御テーブル生
成確認手段63は当該排他制御用テーブル1から当該登
録された値を抹消する。
【0085】上記の値の例を適用すると、排他制御用テ
ーブル1の第一行目を抹消(「0」クリア)する。 9.既に、登録されていれば当該書込みモードで入力し
たユーザのDB更新要求を抑止し、その旨を入出力手段
7に通知する。
【0086】このとき、前記5の例で説明したようにユ
ーザ識別名も登録されていることから当該ユーザ識別名
も入出力手段7に送付する。入出力手段7は、外部にD
B更新が「不可」であることを表示するとともに、当該
ユーザ識別名も表示する。
【0087】このようにすることにより、DB更新が
「不可」であることを表示されたユーザはどのユーザが
DB更新中であるかを知ることが出来る。 10.前記4において、制御テーブル生成確認手段63
は、データアクセスがデータの読出しモードで入力され
たときは、既に当該排他制御用テーブル1に登録されて
いるかどうかチェックし、登録されていなければ該当す
る項目の値を読出し、登録されていれば当該読出しモー
ドで入力したユーザのDB読出し要求を抑止し、その旨
を入出力手段7に通知する。
【0088】又、前記9と同様にユーザ識別名も入出力
手段7に送付する。入出力手段7は、外部にDB読出が
「不可」であることを表示するとともに、当該ユーザ識
別名も表示する。
【0089】以上のような処理は、JISやISOで規
定されているデータベース問い合わせ言語SQL(St
ructured Query Language)を
用いて容易に実現可能である。(JIS X 3005
データベース言語SQL,ISO 9075 Dat
abase Language SQL) また、複数OSがアクセスする共有DASDのような場
合には、下記のように行えば排他制御が可能となる。
【0090】・各OSのDB管理システムは、排他制御
用テーブル1を必ず毎回DASDに読込み/書込みを行
う。 ・DASD制御部は、各OSのDB管理システムの排他
制御用テーブル1のアクセス要求を到着順に並べて、処
理を行う。この処理は、DASD制御部のバッファメモ
リを使用しても良い。
【0091】
【発明の効果】以上の説明から明らかなように本発明に
よれば、必要最小限の排他制御用の領域と、必要最小限
の排他制御項目とすることが可能となり、レスポンスタ
イムの改善や排他制御のための入力データ量を必要最小
限に出来るという効果がある。
【図面の簡単な説明】
【図1】 本発明の原理構成図
【図2】 本発明の実施例
【図3】 従来技術によるシステム構成例(その1)
【図4】 従来技術によるシステム構成例(その2)
【符号の説明】
1 排他制御用テーブル 2,2a,2b,3,3a,3b データテーブル 5,5a,5b テータベース 6,6a,6b DB管理システム 61,61a,61b DB読込/書込み部 62,62a,62b DBアクセス順決定部 63 制御テーブル生成確認部 63b 制御項目作成確認部 7,7a,7b 入出力手段 70,70a,70b 排他制御項目確認部 71,71a,71b 入出力部 72,72a,72b 入出力手段 8,8a,8b ユーザ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 1種類以上の項目から成るレコードを1
    ケ以上有するデータベース(5)と、 排他制御機能を有するデータベース管理システム(6)
    と、 複数個の入出力手段(7,7a,7b)とから構成され
    るデータベース排他制御装置において、 排他制御すべき1種類以上の項目を予め決定し、 当該項目の値を登録する排他制御用テーブル(1)を設
    け、 当該排他制御すべき項目の値が当該入出力手段(7,7
    a,7b)を経由して当該データベース管理システム
    (6)に送付されたとき、 当該データベース管理システム(6)は、送付された当
    該項目の値が既に当該排他制御用テーブル(1)に登録
    されているかどうかチェックし、排他制御することを特
    徴とするデータベース排他制御装置。
  2. 【請求項2】 前記請求項1において、当該データベー
    ス管理システム(6)は、排他制御用テーブル(1)に
    当該項目の値を登録する時にユーザ(8,8a,8b)
    の識別番号を登録し、 当該データベースのアクセスを抑止した時に、当該登録
    した識別番号を当該入出力手段(7,7a,7b)に送
    付し、当該入出力手段(7,7a,7b)は外部に当該
    識別番号を表示することを特徴とするデータベース排他
    制御装置。
  3. 【請求項3】 前記請求項1において、当該データベー
    ス管理システム(6)の排他制御機能を外部記憶装置の
    制御部に具備したことを特徴とするデータベース排他制
    御装置。
JP5331219A 1993-12-27 1993-12-27 データベース排他制御装置 Withdrawn JPH07191898A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5331219A JPH07191898A (ja) 1993-12-27 1993-12-27 データベース排他制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5331219A JPH07191898A (ja) 1993-12-27 1993-12-27 データベース排他制御装置

Publications (1)

Publication Number Publication Date
JPH07191898A true JPH07191898A (ja) 1995-07-28

Family

ID=18241233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5331219A Withdrawn JPH07191898A (ja) 1993-12-27 1993-12-27 データベース排他制御装置

Country Status (1)

Country Link
JP (1) JPH07191898A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890153A (en) * 1995-11-20 1999-03-30 Hitachi, Ltd. Database lock control method
JPWO2009147705A1 (ja) * 2008-06-04 2011-10-20 株式会社アテナテレコムラボ データベース接続プログラムおよび装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890153A (en) * 1995-11-20 1999-03-30 Hitachi, Ltd. Database lock control method
JPWO2009147705A1 (ja) * 2008-06-04 2011-10-20 株式会社アテナテレコムラボ データベース接続プログラムおよび装置

Similar Documents

Publication Publication Date Title
CA2436517C (en) Method and apparatus for data processing
US7139783B2 (en) Materialized view system and method
JP5154200B2 (ja) データ読出し方法、データ管理システム及びストレージシステム
JP2001357062A (ja) データベース検索方法及びデータベース検索システム並びにデータベース検索プログラムを記録した記録媒体
US20020116376A1 (en) Routine executing method in database system
JP2006277756A (ja) データベースへのアクセスを制御するための方法及び装置
JP4104281B2 (ja) データベースアクセス方法
JP2781092B2 (ja) システム間排他制御方式
JP2853608B2 (ja) 並列処理システムのファイルアクセス制御方式
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
JPH0816396A (ja) データ管理システム
JPH07191898A (ja) データベース排他制御装置
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US20130006921A1 (en) Method For Transferring Data into Database Systems
JP4306023B2 (ja) トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ
JP3330006B2 (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
JP3085141B2 (ja) マスタデータ管理方法
US7149935B1 (en) Method and system for managing detected corruption in stored data
JPH1011464A (ja) クライアント/サーバ型のデータベース・システム
JP2641399B2 (ja) フアイル管理装置
US20220342753A1 (en) Method, electronic device and computer program product for storage management
JP2000123038A (ja) データベース装置、データベースアクセス方法及びデータベースアクセスプログラムを記録した記録媒体
JP2000082005A (ja) システム間データベース共用システムのデータ処理方式
JP3027782B2 (ja) データベース回復方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306