JPH06101017B2 - デ−タ・ベ−スのアクセス・モ−ド動的変更方式 - Google Patents
デ−タ・ベ−スのアクセス・モ−ド動的変更方式Info
- Publication number
- JPH06101017B2 JPH06101017B2 JP55105545A JP10554580A JPH06101017B2 JP H06101017 B2 JPH06101017 B2 JP H06101017B2 JP 55105545 A JP55105545 A JP 55105545A JP 10554580 A JP10554580 A JP 10554580A JP H06101017 B2 JPH06101017 B2 JP H06101017B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- data
- exclusive
- memory
- macro
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 本発明は、データ・ベースを複数のデータ・ベース検索
プログラム又は更新プログラムが共同利用するデータ・
ベース・システムにおいて、上記プログラムから発行さ
れたデータ・ベース操作処理に基づいて動的に排他制御
モードを決定し、その後に上位モードの排他制御モード
を要求するデータ・ベース操作処理が発生したときに、
この排他制御モードを上位モードに切換えるようにした
データ・ベースのアクセス・モード動的変更方式に関す
るものである。
プログラム又は更新プログラムが共同利用するデータ・
ベース・システムにおいて、上記プログラムから発行さ
れたデータ・ベース操作処理に基づいて動的に排他制御
モードを決定し、その後に上位モードの排他制御モード
を要求するデータ・ベース操作処理が発生したときに、
この排他制御モードを上位モードに切換えるようにした
データ・ベースのアクセス・モード動的変更方式に関す
るものである。
従来よりデータ・ベースをデータ・ベース検索プログラ
ムおよび更新プログラムがデータ・ベースのレコード又
はデータ・ベースのレコードの一部のデータを検索又は
更新する環境において排他制御を行うことが公知であ
り、以下のようなもので代表される。
ムおよび更新プログラムがデータ・ベースのレコード又
はデータ・ベースのレコードの一部のデータを検索又は
更新する環境において排他制御を行うことが公知であ
り、以下のようなもので代表される。
(1)データ・ベースをアクセスするプログラムに対応付
けて排他制御モードをあらかじめ決めておき、それらの
プログラムの実行中アクセス範囲をその排他制御モード
で排他制御するか、或いはプログラム開始時に全アクセ
ス範囲を排他制御する。
けて排他制御モードをあらかじめ決めておき、それらの
プログラムの実行中アクセス範囲をその排他制御モード
で排他制御するか、或いはプログラム開始時に全アクセ
ス範囲を排他制御する。
(2)データ・ベースをアクセスするプログラムの走行時
にデータ・ベース操作マクロのオペランドに排他制御モ
ードを指定するか、或いは排他制御用マクロをプログラ
ムから発行する。
にデータ・ベース操作マクロのオペランドに排他制御モ
ードを指定するか、或いは排他制御用マクロをプログラ
ムから発行する。
(3)データ・ベースのアクセス時点でアクセス操作に応
じた排他制御をシステムが自動的に行う。
じた排他制御をシステムが自動的に行う。
(1)の方式の場合、データ・ベースの検索のみを行うプ
ログラムは同時アクセス可モード、データ・ベースを1
個所でも更新するプログラムは同時アクセス不可モード
の排他制御モードを用いることにより、排他制御を実施
する。このため、同時に走行できるプログラムは、更新
を一回も行わないプログラム同士と言うことになる。一
般にはこの程度の同時走行性で十分な場合もあるが、更
新プログラムの実行が長時間にわたる場合はその更新プ
ログラムが単に参照している部分も排他され、本来なら
ば同時走行可能な点が無視されることになり、検索プロ
グラムが必要もないのに排他待ちになることがある。ま
た、1個の親プログラムが数多くのデータ・ベース・ア
クセス・プログラムを動的に選んで実行する場合を考え
ると、実行時までデータ・ベース・アクセス子プログラ
ムの排他制御モードが不明であるために全体として更新
系プログラムとせざるを得ない。即ち、親プログラムが
動的に子プログラムを選択してアクセスすると、子プロ
グラムが検索か更新かは動的に決まるため、全体として
は安全な方法を選択して更新の排他モードとせざるを得
ない。
ログラムは同時アクセス可モード、データ・ベースを1
個所でも更新するプログラムは同時アクセス不可モード
の排他制御モードを用いることにより、排他制御を実施
する。このため、同時に走行できるプログラムは、更新
を一回も行わないプログラム同士と言うことになる。一
般にはこの程度の同時走行性で十分な場合もあるが、更
新プログラムの実行が長時間にわたる場合はその更新プ
ログラムが単に参照している部分も排他され、本来なら
ば同時走行可能な点が無視されることになり、検索プロ
グラムが必要もないのに排他待ちになることがある。ま
た、1個の親プログラムが数多くのデータ・ベース・ア
クセス・プログラムを動的に選んで実行する場合を考え
ると、実行時までデータ・ベース・アクセス子プログラ
ムの排他制御モードが不明であるために全体として更新
系プログラムとせざるを得ない。即ち、親プログラムが
動的に子プログラムを選択してアクセスすると、子プロ
グラムが検索か更新かは動的に決まるため、全体として
は安全な方法を選択して更新の排他モードとせざるを得
ない。
上記の(2)の方式は、プログラムのオペランドで排他制
御モードを指定することによりデータ・ベース操作命令
単位に排他制御モードを決めることができ、さらにプロ
グラムに排他制御用のLOCKマクロを使用すればきめ細か
な効率の良い排他制御が可能となるが、この方式は、プ
ログラムにアクセスの方式を取り込んでいるためプログ
ラムの独立性を失い、プログラムのメンテナンス・コス
トが高くなると共に、互換性の問題も生ずる。即ち、プ
ログラムに排他モードを陽に記述すると、データ・ベー
ス操作命令を変更した場合に、それに対応した排他制御
命令も変更せざるを得ないため、プログラムのメンテナ
ンス・コストが高くなり、互換性の問題も生ずる。ま
た、この方式であっても1データ・ベース操作マクロの
中で行われているデータ・ベース・アクセスの排他制御
モードは制御できない。すなわち、マクロの外で排他モ
ードを設定しても、マクロの中で検索モードや更新モー
ドに動的に排他モードが変わると制御できない。
御モードを指定することによりデータ・ベース操作命令
単位に排他制御モードを決めることができ、さらにプロ
グラムに排他制御用のLOCKマクロを使用すればきめ細か
な効率の良い排他制御が可能となるが、この方式は、プ
ログラムにアクセスの方式を取り込んでいるためプログ
ラムの独立性を失い、プログラムのメンテナンス・コス
トが高くなると共に、互換性の問題も生ずる。即ち、プ
ログラムに排他モードを陽に記述すると、データ・ベー
ス操作命令を変更した場合に、それに対応した排他制御
命令も変更せざるを得ないため、プログラムのメンテナ
ンス・コストが高くなり、互換性の問題も生ずる。ま
た、この方式であっても1データ・ベース操作マクロの
中で行われているデータ・ベース・アクセスの排他制御
モードは制御できない。すなわち、マクロの外で排他モ
ードを設定しても、マクロの中で検索モードや更新モー
ドに動的に排他モードが変わると制御できない。
上記(3)の方式は、プログラムからデータ・ベース操作
マクロが発行され、システムがデータ・ベースをアクセ
スする間、システムが自動的に排他制御を決定してアク
セスするため、極めてきめ細かい排他制御を行うことが
でき、高い同時走行性が達成されるが、自動的に排他制
御を実施する場合、排他制御モードを決定する要素がな
いため、データの参照水準を下げる(例えば、データ・
ベースを変更中でも参照を可能とする要求)ような処理
が不可能になる。データ・ベース更新中でも参照とは、
一見矛盾しているように思われるが、実際にデータ・ベ
ースを共用運用する場合には、このような機能が必要と
なる。
マクロが発行され、システムがデータ・ベースをアクセ
スする間、システムが自動的に排他制御を決定してアク
セスするため、極めてきめ細かい排他制御を行うことが
でき、高い同時走行性が達成されるが、自動的に排他制
御を実施する場合、排他制御モードを決定する要素がな
いため、データの参照水準を下げる(例えば、データ・
ベースを変更中でも参照を可能とする要求)ような処理
が不可能になる。データ・ベース更新中でも参照とは、
一見矛盾しているように思われるが、実際にデータ・ベ
ースを共用運用する場合には、このような機能が必要と
なる。
本発明は、上記の従来方式の欠点を除去するものであっ
て、プログラムの独立性を保ちながら同時走行性を向上
させ、これにより排他制御を効率的に行い得るようにし
たデータ・ベースのアクセス・モードの動的変更方式を
提供することを目的としている。
て、プログラムの独立性を保ちながら同時走行性を向上
させ、これにより排他制御を効率的に行い得るようにし
たデータ・ベースのアクセス・モードの動的変更方式を
提供することを目的としている。
そしてそのため、本発明のデータ・ベースのアクセス・
モード動的変更方式は、複数のデータ・ベース検索プロ
グラムおよび更新プログラムがデータ・ベースを共用
し、データ・ベースのレコードまたはデータ・ベースの
レコードの一部のデータの検索および更新を行い、読込
み専用モード,排他的読込みモード,完全排他的読込み
モード,データ内容更新モードおよびデータ構造更新モ
ードを持ち、完全排他的読込みモードで専有されている
ページに対して、読込み専用モード又は排他的読込みモ
ード又は完全排他的読込みモードの他の応用プログラム
がアクセスすることが出来るが、データ内容更新モード
又はデータ構造更新モードの他の応用プログラムがアク
セスできないようにされ、1トランザクション内で排他
制御モードを動的に変更できるようになったデータ・ベ
ース・システムであって、 データ・ベース記憶媒体と、 排他登録テーブルを持つ排他制御手段と、 応用プログラムから渡されたデータ・ベース操作マクロ
の解析,排他制御手段への占有登録の依頼,データ・ベ
ース記憶媒体からのデータの読出し、データ・ベース記
憶媒体へのデータ・ベースの書込みなどを行うデータ・
ベース制御手段と、 ページのデータを記憶するマクロ・データ・メモリと、 マクロ・データ・メモリに記憶されたページに関して、
排他範囲情報及び排他制御モード情報を記憶する分離エ
クステント制御メモリと、 応用プログラムの基本アクセス・モードを記憶する資源
メモリと、 応用プログラムによって指定される排他範囲を、レン
ジ,ページあるいは物理情報に変換するための情報を記
憶するシステム・メモリと を具備し、 上記データ・ベース制御手段は、 データ・ベース操作マクロを実行する際に必要となる
レコードを含むページがマクロ・データ・メモリの中に
存在するか否かを調べ、必要なページがマクロ・データ
・メモリに存在しない場合にはに進み、必要となるペ
ージがマクロ・データ・メモリに既に存在する場合には
に進み、 排他範囲情報及びデータ・ベース記憶媒体の中のアク
セスすべきページを決定し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理がデータ・ベースの検索である
場合には排他制御モードを完全排他的読込みモードと決
定し、基本アクセス・モードがデータ内容更新モード又
はデータ構造更新モードである応用プログラムから発行
されたデータ・ベース操作マクロに基づいて実際に行わ
れるデータ・ベース操作処理が検索であるが以後の更新
の可能性大である場合には排他制御モードを基本アクセ
ス・モードと決定し、基本アクセス・モードがデータ内
容更新モード又はデータ構造更新モードである応用プロ
グラムから発行されたデータ・ベース操作マクロに基づ
いて実際に行われるデータ・ベース操作処理がデータ・
ベース更新直前の検索である場合には排他制御モードを
基本アクセス・モードと決定し、次にに進み、 排他制御手段に対して排他制御モード情報及び排他範
囲情報を指定して占有登録の依頼を行い、次にに進
み、 排他制御手段からの占有登録完了を受け取ったときに
は、上記排他制御手段に送った情報と同一の情報を分離
エクステント制御メモリに記憶させ、次にに進み、 データ・ベース記憶媒体から該当するページのデータ
を読み出して、マクロ・データ・メモリに記憶させ、 分離エクステント制御メモリから該当ページの排他制
御モード情報を読み出し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理が検索であるが以後の更新の可
能性大であり且つ分離エクステント制御メモリから読出
された排他制御モード情報が完全排他的読込みモードの
場合には当該データ・ベース操作範囲の排他制御モード
を基本アクセス・モードに切換え、基本アクセス・モー
ドがデータ内容更新モード又はデータ構造更新モードで
ある応用プログラムから発行されたデータ・ベース操作
マクロに基づいて実際に行われるデータ・ベース操作処
理が更新直前の検索であり且つ分離エクステント制御メ
モリから読出された排他制御モード情報が完全排他的読
込みモードの場合には当該データ・ベース操作範囲の排
他制御モードを基本アクセス・モードに切換え、次に
に進み、 排他制御モードの切換えが必要な場合には、排他制御
手段に対して排他制御モード及び排他範囲情報を指定し
て占有登録の依頼を行うと共に、同一情報を分離エクス
テント制御メモリに記憶させる ように構成されている ことを特徴とするものである。以下、本発明を図面を参
照しつつ説明する。
モード動的変更方式は、複数のデータ・ベース検索プロ
グラムおよび更新プログラムがデータ・ベースを共用
し、データ・ベースのレコードまたはデータ・ベースの
レコードの一部のデータの検索および更新を行い、読込
み専用モード,排他的読込みモード,完全排他的読込み
モード,データ内容更新モードおよびデータ構造更新モ
ードを持ち、完全排他的読込みモードで専有されている
ページに対して、読込み専用モード又は排他的読込みモ
ード又は完全排他的読込みモードの他の応用プログラム
がアクセスすることが出来るが、データ内容更新モード
又はデータ構造更新モードの他の応用プログラムがアク
セスできないようにされ、1トランザクション内で排他
制御モードを動的に変更できるようになったデータ・ベ
ース・システムであって、 データ・ベース記憶媒体と、 排他登録テーブルを持つ排他制御手段と、 応用プログラムから渡されたデータ・ベース操作マクロ
の解析,排他制御手段への占有登録の依頼,データ・ベ
ース記憶媒体からのデータの読出し、データ・ベース記
憶媒体へのデータ・ベースの書込みなどを行うデータ・
ベース制御手段と、 ページのデータを記憶するマクロ・データ・メモリと、 マクロ・データ・メモリに記憶されたページに関して、
排他範囲情報及び排他制御モード情報を記憶する分離エ
クステント制御メモリと、 応用プログラムの基本アクセス・モードを記憶する資源
メモリと、 応用プログラムによって指定される排他範囲を、レン
ジ,ページあるいは物理情報に変換するための情報を記
憶するシステム・メモリと を具備し、 上記データ・ベース制御手段は、 データ・ベース操作マクロを実行する際に必要となる
レコードを含むページがマクロ・データ・メモリの中に
存在するか否かを調べ、必要なページがマクロ・データ
・メモリに存在しない場合にはに進み、必要となるペ
ージがマクロ・データ・メモリに既に存在する場合には
に進み、 排他範囲情報及びデータ・ベース記憶媒体の中のアク
セスすべきページを決定し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理がデータ・ベースの検索である
場合には排他制御モードを完全排他的読込みモードと決
定し、基本アクセス・モードがデータ内容更新モード又
はデータ構造更新モードである応用プログラムから発行
されたデータ・ベース操作マクロに基づいて実際に行わ
れるデータ・ベース操作処理が検索であるが以後の更新
の可能性大である場合には排他制御モードを基本アクセ
ス・モードと決定し、基本アクセス・モードがデータ内
容更新モード又はデータ構造更新モードである応用プロ
グラムから発行されたデータ・ベース操作マクロに基づ
いて実際に行われるデータ・ベース操作処理がデータ・
ベース更新直前の検索である場合には排他制御モードを
基本アクセス・モードと決定し、次にに進み、 排他制御手段に対して排他制御モード情報及び排他範
囲情報を指定して占有登録の依頼を行い、次にに進
み、 排他制御手段からの占有登録完了を受け取ったときに
は、上記排他制御手段に送った情報と同一の情報を分離
エクステント制御メモリに記憶させ、次にに進み、 データ・ベース記憶媒体から該当するページのデータ
を読み出して、マクロ・データ・メモリに記憶させ、 分離エクステント制御メモリから該当ページの排他制
御モード情報を読み出し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理が検索であるが以後の更新の可
能性大であり且つ分離エクステント制御メモリから読出
された排他制御モード情報が完全排他的読込みモードの
場合には当該データ・ベース操作範囲の排他制御モード
を基本アクセス・モードに切換え、基本アクセス・モー
ドがデータ内容更新モード又はデータ構造更新モードで
ある応用プログラムから発行されたデータ・ベース操作
マクロに基づいて実際に行われるデータ・ベース操作処
理が更新直前の検索であり且つ分離エクステント制御メ
モリから読出された排他制御モード情報が完全排他的読
込みモードの場合には当該データ・ベース操作範囲の排
他制御モードを基本アクセス・モードに切換え、次に
に進み、 排他制御モードの切換えが必要な場合には、排他制御
手段に対して排他制御モード及び排他範囲情報を指定し
て占有登録の依頼を行うと共に、同一情報を分離エクス
テント制御メモリに記憶させる ように構成されている ことを特徴とするものである。以下、本発明を図面を参
照しつつ説明する。
本発明の実施例においては動的アクセス・モードの決定
変更の対象データ・ベースをネットワーク型データ・ベ
ース・モデルとしている。データ・ベース操作マクロお
よびトランザクション操作マクロを以下のものとする。
変更の対象データ・ベースをネットワーク型データ・ベ
ース・モデルとしている。データ・ベース操作マクロお
よびトランザクション操作マクロを以下のものとする。
(1)GET ANY ‘RECORD' (2)GET NEXT WITHIN ‘SET' (3)GET OWNER WITHIN ‘SET' (4)STORE ‘RECORD' TO ‘SET' (5)MODIFY ‘RECORD' (6)ERASE ‘RECORD'〔ALL〕 (7)TRANSACTION START (8)TRANSACTION END 上記の(1)はキーを指定して特定データ・ベース・レコ
ードを直接検索するマクロ、(2)はセット・オカレンス
を辿りセットのメンバ・レコードを検索するマクロ、
(3)はセット・オカレンスを辿りセットのオーナ・レコ
ードを検索するマクロ、(4)はレコードを格納した後で
現セット・オカレンスに結合するマクロ、(5)は現レコ
ードのデータを変更するマクロ、(6)は現レコードもし
くはALLの時は配下の全てのレコードを削除するマク
ロ、(7)はトランザクション開始マクロ、(8)はトランザ
クション終了マクロを示している。TRANSACTION START
(以下、TSと略す)/TRANSACTION END(以下、TEと略
す)は、GET ANY ‘RECORD'発行時に毎回発行されるも
のとする。この処理の切れ目をトランザクション・ポイ
ントと呼ぶ。
ードを直接検索するマクロ、(2)はセット・オカレンス
を辿りセットのメンバ・レコードを検索するマクロ、
(3)はセット・オカレンスを辿りセットのオーナ・レコ
ードを検索するマクロ、(4)はレコードを格納した後で
現セット・オカレンスに結合するマクロ、(5)は現レコ
ードのデータを変更するマクロ、(6)は現レコードもし
くはALLの時は配下の全てのレコードを削除するマク
ロ、(7)はトランザクション開始マクロ、(8)はトランザ
クション終了マクロを示している。TRANSACTION START
(以下、TSと略す)/TRANSACTION END(以下、TEと略
す)は、GET ANY ‘RECORD'発行時に毎回発行されるも
のとする。この処理の切れ目をトランザクション・ポイ
ントと呼ぶ。
第1図はネットワーク型データ・ベースの論理構造を表
し、図の四角はデータ・ベースのレコード・タイプを表
し、A〜Dはそのレコード・タイプの種類を表す。四角
の間の実線は、親子集合タイプ(セット)を表し、s1〜
s4はそのセットの種類を表す。また、破線で仕切られた
部分は、レンジと呼ばれ、R1〜R3はレンジの種類を表
す。レンジとは、AIM/DBの用語であり、複数のレコード
・タイプを同一のデータ・ベース記憶装置に配置する場
合の範囲である。
し、図の四角はデータ・ベースのレコード・タイプを表
し、A〜Dはそのレコード・タイプの種類を表す。四角
の間の実線は、親子集合タイプ(セット)を表し、s1〜
s4はそのセットの種類を表す。また、破線で仕切られた
部分は、レンジと呼ばれ、R1〜R3はレンジの種類を表
す。レンジとは、AIM/DBの用語であり、複数のレコード
・タイプを同一のデータ・ベース記憶装置に配置する場
合の範囲である。
論理構造は定義だけの構造であり、データ・ベースに実
際に収容(格納)されるのはレコードの実現値(レコー
ド・タイプの一つの実現値で、単にレコードと省略す
る)である。同様に、レコード間の関係は、セット又は
親子集合実現値(セット・タイプの実現値で、単にセッ
トと省略する)によって実現される。AIM/DBの場合は、
セットはポインタ又はアレイによって実現されている。
際に収容(格納)されるのはレコードの実現値(レコー
ド・タイプの一つの実現値で、単にレコードと省略す
る)である。同様に、レコード間の関係は、セット又は
親子集合実現値(セット・タイプの実現値で、単にセッ
トと省略する)によって実現される。AIM/DBの場合は、
セットはポインタ又はアレイによって実現されている。
第2図の○印はレコードを表す。実線及び点線(セット
・タイプs4の実現値は図の判り易さのために、点線にし
てある)は、セット実現値である。
・タイプs4の実現値は図の判り易さのために、点線にし
てある)は、セット実現値である。
第2図のa1,b2及びc3,d4,d5,d7が収容されている1
0,1,2の数字が付加されている枠はページと呼ばれ、デ
ータ・ベースの入出力装置とのI/Oの単位となる。付加
されている番号は、レンジ内の相対番号である。例え
ば、第1図のR3のページは、第2図の0から5までのペ
ージで構成されている。ページは、また排他範囲の最小
単位でもある。プログラムがレンジの全ページを処理す
ることが分かっている場合は、ページ単位に排他を依頼
することにより、一度に全ページを排他する方が効率的
な場合もあるため、排他範囲には1ページと複数のペー
ジ単位がある。排他範囲は、応用プログラム単位に排他
範囲情報として外部から指定される。従って、指定によ
り、データ・ベースの記憶媒体からアクセスする単位で
あるページより広い範囲をあらかじめ排他する場合もあ
る。
0,1,2の数字が付加されている枠はページと呼ばれ、デ
ータ・ベースの入出力装置とのI/Oの単位となる。付加
されている番号は、レンジ内の相対番号である。例え
ば、第1図のR3のページは、第2図の0から5までのペ
ージで構成されている。ページは、また排他範囲の最小
単位でもある。プログラムがレンジの全ページを処理す
ることが分かっている場合は、ページ単位に排他を依頼
することにより、一度に全ページを排他する方が効率的
な場合もあるため、排他範囲には1ページと複数のペー
ジ単位がある。排他範囲は、応用プログラム単位に排他
範囲情報として外部から指定される。従って、指定によ
り、データ・ベースの記憶媒体からアクセスする単位で
あるページより広い範囲をあらかじめ排他する場合もあ
る。
第3図は、データ・ベースを使用するプログラムの2種
類の例を示す。図中のGET ANYは、データ・ベースのレ
コードをキーにより一意に検索する命令である。GET NE
XTは、親から子レコードをセットによって検索する命令
である。GET OWNERは、セットによって子から親を検索
する命令である。STORE命令は、レコードを格納する命
令である。MODIFY命令は、レコードを更新する命令であ
る。
類の例を示す。図中のGET ANYは、データ・ベースのレ
コードをキーにより一意に検索する命令である。GET NE
XTは、親から子レコードをセットによって検索する命令
である。GET OWNERは、セットによって子から親を検索
する命令である。STORE命令は、レコードを格納する命
令である。MODIFY命令は、レコードを更新する命令であ
る。
第4図はデータ・ベースのレコードの排他制御モードの
マトリックスであり、第4図(イ)のRO〜UPは各排他制
御モードの種類を示す。第4図(ロ)は、各モード間の
排他のコンパティビリティを示す。○印は排他待ちにな
らない事を示し、×は排他待ちになることを示す。
マトリックスであり、第4図(イ)のRO〜UPは各排他制
御モードの種類を示す。第4図(ロ)は、各モード間の
排他のコンパティビリティを示す。○印は排他待ちにな
らない事を示し、×は排他待ちになることを示す。
ERとCERは以下の違いがある。
(a)CERは、MDと排他的であるが、 (b)ERはMDと排他的ではない。
したがって、ERでアクセス中のデータはMDによって途中
更新される可能性を持っているが、このような中間状態
でも、参照したいと言う要求がユーザにあるため、この
ためのモードが設定された。CERでは更新系の排他モー
ドと排他的であるため、それらのモードが同時走行(更
新したデータを参照)することはない。
更新される可能性を持っているが、このような中間状態
でも、参照したいと言う要求がユーザにあるため、この
ためのモードが設定された。CERでは更新系の排他モー
ドと排他的であるため、それらのモードが同時走行(更
新したデータを参照)することはない。
第5図は第3図の条件1のもとにプログラムAを動作さ
せ、同時にプログラムBを動作させた場合のDBMS(デー
タ・ベース管理システム)が取る排他モードを示す。図
中、基本アクセス・モードとは、アクセスするデータ・
ベース操作命令中で考えられる最強のアクセス・モード
である。〜に示すデータ・ベース操作命令の最右欄
のCER,UP,ERは、特定のデータ・ベース操作命令が与え
られた場合のDBMSが採用する排他モードの種類を示す。
せ、同時にプログラムBを動作させた場合のDBMS(デー
タ・ベース管理システム)が取る排他モードを示す。図
中、基本アクセス・モードとは、アクセスするデータ・
ベース操作命令中で考えられる最強のアクセス・モード
である。〜に示すデータ・ベース操作命令の最右欄
のCER,UP,ERは、特定のデータ・ベース操作命令が与え
られた場合のDBMSが採用する排他モードの種類を示す。
基本アクセス・モードとは、プログラムがアクセスする
データ・ベースに対して行うトランザクション命令(TR
ANSACTION STARTおよびTRANSACTION END)を除くデータ
・ベース操作命令の種類によって決まるアクセス・モー
ドであり、以下のように決定される。このモードは、デ
ータ・ベースの利用者が指定する。
データ・ベースに対して行うトランザクション命令(TR
ANSACTION STARTおよびTRANSACTION END)を除くデータ
・ベース操作命令の種類によって決まるアクセス・モー
ドであり、以下のように決定される。このモードは、デ
ータ・ベースの利用者が指定する。
(1)プログラムに含まれるデータ・ベース操作命令がGET
命令のみで、データ構造を更新中(STORE命令又はERASE
命令実行中)でも参照する:RO (2)プログラムに含まれるデータ・ベース操作命令がGET
命令のみで、データ内容更新中(MODIFY命令実行中)で
も参照する:ER (3)プログラムに含まれるデータ・ベース操作命令がGET
命令のみで、更新中(MODIFY命令,STORE命令,ERASE命令
実行中)は、参照しない:CER (4)プログラムに含まれるデータ・ベース操作命令がGET
命令とMODIFY命令の組合せの場合、他のプログラムへの
ERモードによる参照は許す:MD (5)プログラムに含まれるデータ・ベース操作命令がGET
命令とMODIFY命令の組合せの場合、他のプログラムへの
ROモードによる参照は許すが、ERモードによるレコード
の参照は許さない:UP (6)プログラムに含まれるデータ・ベース操作命令が下
記の組合せの場合で、ROモード以外によるレコードの参
照は許さない:UP STORE命令 GET命令とERASE命令の組合せ GET命令と、STORE命令又はERASE命令の組合せ GET命令と、STORE命令及びERASE命令の組合せ GET命令及びMODIFY命令と、STORE命令又はERASE命令
の組合せ GET命令及びMODIFY命令と、STORE命令及びERASE命令
の組合せ 第6図のトランザクションとは、データ・ベースの排他
制御及び異常時の救済(リカバリ)の単位であり、デー
タ・ベース・システムでは一般的な概念である。第6図
は、トランザクション,データ・ベース操作,排他制
御,I/Oアクセスの相互タイミングを表すチャートであ
る。第6図では、トランザクションが開始後、応用プロ
グラムからマクロが発行され、その直後、排他制御を行
い、,I/Oアクセスを行い、それ以降の更新系のマクロST
OREの発行時点で、排他制御モードをCERからUPに変更し
てデータを格納するためのI/O読込みを実施している例
を示す。但し、データの書出しは、バッファのメモリ容
量を越えない限り、トランザクション終了時まで待たさ
れる。
命令のみで、データ構造を更新中(STORE命令又はERASE
命令実行中)でも参照する:RO (2)プログラムに含まれるデータ・ベース操作命令がGET
命令のみで、データ内容更新中(MODIFY命令実行中)で
も参照する:ER (3)プログラムに含まれるデータ・ベース操作命令がGET
命令のみで、更新中(MODIFY命令,STORE命令,ERASE命令
実行中)は、参照しない:CER (4)プログラムに含まれるデータ・ベース操作命令がGET
命令とMODIFY命令の組合せの場合、他のプログラムへの
ERモードによる参照は許す:MD (5)プログラムに含まれるデータ・ベース操作命令がGET
命令とMODIFY命令の組合せの場合、他のプログラムへの
ROモードによる参照は許すが、ERモードによるレコード
の参照は許さない:UP (6)プログラムに含まれるデータ・ベース操作命令が下
記の組合せの場合で、ROモード以外によるレコードの参
照は許さない:UP STORE命令 GET命令とERASE命令の組合せ GET命令と、STORE命令又はERASE命令の組合せ GET命令と、STORE命令及びERASE命令の組合せ GET命令及びMODIFY命令と、STORE命令又はERASE命令
の組合せ GET命令及びMODIFY命令と、STORE命令及びERASE命令
の組合せ 第6図のトランザクションとは、データ・ベースの排他
制御及び異常時の救済(リカバリ)の単位であり、デー
タ・ベース・システムでは一般的な概念である。第6図
は、トランザクション,データ・ベース操作,排他制
御,I/Oアクセスの相互タイミングを表すチャートであ
る。第6図では、トランザクションが開始後、応用プロ
グラムからマクロが発行され、その直後、排他制御を行
い、,I/Oアクセスを行い、それ以降の更新系のマクロST
OREの発行時点で、排他制御モードをCERからUPに変更し
てデータを格納するためのI/O読込みを実施している例
を示す。但し、データの書出しは、バッファのメモリ容
量を越えない限り、トランザクション終了時まで待たさ
れる。
第1図に示すようにデータ・ベースの論理構造が分かれ
ているときに、第2図のようなレコードが各レンジの各
ページに格納されているものとする。このような状態の
下で、第3図のようなプログラムAとBが走行すると、
本発明によりプログラムAとプログラムBの同時走行が
可能となる。プログラムAはAレコードにエントリ後、
S1,S2,S3を辿りながら、最終的にDレコードの格納(PR
OCESS1),削除(PROCESS2)或いはDレコードのデータ
変更を行い、或る条件の下ではBレコード以下を全て削
除する更新系プログラムである。
ているときに、第2図のようなレコードが各レンジの各
ページに格納されているものとする。このような状態の
下で、第3図のようなプログラムAとBが走行すると、
本発明によりプログラムAとプログラムBの同時走行が
可能となる。プログラムAはAレコードにエントリ後、
S1,S2,S3を辿りながら、最終的にDレコードの格納(PR
OCESS1),削除(PROCESS2)或いはDレコードのデータ
変更を行い、或る条件の下ではBレコード以下を全て削
除する更新系プログラムである。
いま、条件1のもとにプログラムAは、a1レコード,b1
レコード,b2レコード,c3レコード,d4レコードおよび
d5レコードを順に検索し、c3の新メンバ・レコードとし
てd7を格納しようとしているものとし、プログラムBは
e2レコードにエントリ後、b2レコードを検索し、そのオ
ーナ・レコードであるa1レコードを検索しようとしてい
るものとする。このとき第5図に示すような排他制御が
行われる。なお、基本アクセス・モードとは、そのプロ
グラムが必要となる最上位のアクセス・モードである。
第5図の黒丸で示すように、R2−1ページ(レンジ2の
ページ1)をプログラムAはCER、プログラムBはERで
アクセスする。第5図のステップでステップで排他
済のR3−2を更新するため、このページをCERからUPに
排他制御モードを変更している。
レコード,b2レコード,c3レコード,d4レコードおよび
d5レコードを順に検索し、c3の新メンバ・レコードとし
てd7を格納しようとしているものとし、プログラムBは
e2レコードにエントリ後、b2レコードを検索し、そのオ
ーナ・レコードであるa1レコードを検索しようとしてい
るものとする。このとき第5図に示すような排他制御が
行われる。なお、基本アクセス・モードとは、そのプロ
グラムが必要となる最上位のアクセス・モードである。
第5図の黒丸で示すように、R2−1ページ(レンジ2の
ページ1)をプログラムAはCER、プログラムBはERで
アクセスする。第5図のステップでステップで排他
済のR3−2を更新するため、このページをCERからUPに
排他制御モードを変更している。
第7図は排他制御モードの自動決定と変更を行う機構を
示すものである。応用プログラムはAPUで表されてお
り、このユニットからマクロGET ANYに基づきTRANSACTI
ON ENDがAPU−Oから発行される。多重APUのうち作動中
APUのSには入力が与えられている。APU−IIはAPUへの
情報入力であり、、APU−IOはAPUが求めた情報出力であ
る。Cは全てのユニットに共通な同期信号である。
示すものである。応用プログラムはAPUで表されてお
り、このユニットからマクロGET ANYに基づきTRANSACTI
ON ENDがAPU−Oから発行される。多重APUのうち作動中
APUのSには入力が与えられている。APU−IIはAPUへの
情報入力であり、、APU−IOはAPUが求めた情報出力であ
る。Cは全てのユニットに共通な同期信号である。
APUは、マクロ実行順序をアプリケーション手続メモリA
PPMのMCに制御を与え、アプリケーション手続メモリAPP
MのMOから取出す。また、応用プログラムAPUの作動中は
APUの操作資源情報を持つ資源メモリRMに出力可信号をA
PUのRMCから資源メモリRMのMC1に与える。資源メモリRM
には、排他を行うレコードのタイプと、このレコード・
タイプが収容されるデータ・ベースのレンジと、データ
・ベースの収容装置に関する情報が収容される。APUが
Oから発するマクロと共に情報入力がされる場合、例え
ばGET ANYのキー値はAPU−P1に出力する。また、逆に情
報が出力されるマクロ(GETの全て)では、APUのGIに情
報が返される。APUのPIからはGET ANYのキー値を供給す
る。また、逆にAPUのGIにはキー値に対応するデータを
受け取る。APUには、これらの情報を処理するエンコー
ダとデコーダが内蔵されている。APU−P1から出力され
た情報は、アプリケーション・データ・メモリADMのI
に入力されて、記憶される。
PPMのMCに制御を与え、アプリケーション手続メモリAPP
MのMOから取出す。また、応用プログラムAPUの作動中は
APUの操作資源情報を持つ資源メモリRMに出力可信号をA
PUのRMCから資源メモリRMのMC1に与える。資源メモリRM
には、排他を行うレコードのタイプと、このレコード・
タイプが収容されるデータ・ベースのレンジと、データ
・ベースの収容装置に関する情報が収容される。APUが
Oから発するマクロと共に情報入力がされる場合、例え
ばGET ANYのキー値はAPU−P1に出力する。また、逆に情
報が出力されるマクロ(GETの全て)では、APUのGIに情
報が返される。APUのPIからはGET ANYのキー値を供給す
る。また、逆にAPUのGIにはキー値に対応するデータを
受け取る。APUには、これらの情報を処理するエンコー
ダとデコーダが内蔵されている。APU−P1から出力され
た情報は、アプリケーション・データ・メモリADMのI
に入力されて、記憶される。
APUから発行されたマクロはプログラム・アナライザPRA
NのIIに入力され、プログラム・アナライザPRANはこれ
を分析し、トランザクション制御マクロか、データ・ベ
ース操作マクロかに分けてそれぞれTO,Mに出力すると共
に、TPにはそのマクロがトランザクション制御マクロで
あるときにトランザクション状態変更パルスを出力す
る。マクロの内容がエラーのときはEOからAPUのERにエ
ラー信号を返す。
NのIIに入力され、プログラム・アナライザPRANはこれ
を分析し、トランザクション制御マクロか、データ・ベ
ース操作マクロかに分けてそれぞれTO,Mに出力すると共
に、TPにはそのマクロがトランザクション制御マクロで
あるときにトランザクション状態変更パルスを出力す
る。マクロの内容がエラーのときはEOからAPUのERにエ
ラー信号を返す。
PRANのTPからの信号は、トランザクション・メモリTMの
Iに入力される。トランザクション・メモリTMは、Iか
らの信号によりトランザクション状態、即ちスタート/
エンドを表示する。また、TPにはトランザクション・ポ
イントとなった時にパルスが出力され、各メモリのリセ
ット信号として利用される。TO,Mから出力されたトラン
ザクション制御命令やデータ・ベース操作命令は、デー
タ・ベース制御ユニットDBCUのTO,Mに入力される。
Iに入力される。トランザクション・メモリTMは、Iか
らの信号によりトランザクション状態、即ちスタート/
エンドを表示する。また、TPにはトランザクション・ポ
イントとなった時にパルスが出力され、各メモリのリセ
ット信号として利用される。TO,Mから出力されたトラン
ザクション制御命令やデータ・ベース操作命令は、デー
タ・ベース制御ユニットDBCUのTO,Mに入力される。
データ・ベース制御ユニットDBCUに入力されたトランザ
クション制御命令やデータ・ベース操作命令はデータ・
ベース制御手続メモリDBCPMによって解析され、さらに
細かな実行単位になり、順次実行される。何れのマクロ
もデータ・ベースのレコード又はデータ・ベースのレコ
ードの一部のデータを処理の対象とする。このため、デ
ータ・ベースへのアクセスが生ずる。ただし、データ・
ベースへのアクセスが必要か否かはマクロ・データ・メ
モリMDMに必要なデータ又はデータ・レコードが当該ト
ランザクションで読み込まれているか否かによる。この
ため、先ずマクロ・データ・メモリMDMのMCにMDCを通し
て制御を与え、既入力であるか否かを調べる。既入力で
あれば、データ・ベースからのI/Oアクセスはない。
クション制御命令やデータ・ベース操作命令はデータ・
ベース制御手続メモリDBCPMによって解析され、さらに
細かな実行単位になり、順次実行される。何れのマクロ
もデータ・ベースのレコード又はデータ・ベースのレコ
ードの一部のデータを処理の対象とする。このため、デ
ータ・ベースへのアクセスが生ずる。ただし、データ・
ベースへのアクセスが必要か否かはマクロ・データ・メ
モリMDMに必要なデータ又はデータ・レコードが当該ト
ランザクションで読み込まれているか否かによる。この
ため、先ずマクロ・データ・メモリMDMのMCにMDCを通し
て制御を与え、既入力であるか否かを調べる。既入力で
あれば、データ・ベースからのI/Oアクセスはない。
I/Oアクセスが要求されるときは、排他制御を行うため
に、先ずAPUにより決まった資源メモリRMのMC2にRMCか
ら制御を与えて資源メモリRMのMOからの出力を参照し、
排他範囲を決定し、システム・メモリSMのIに制御を与
えて、排他範囲のレンジ、ページあるいは物理情報をシ
ステム・メモリSMのOからSMOに得る。システム・メモ
リSMには、システム内のグローバルなデータ、すなわち
排他制御の待ち関係を表す情報を保有する。待ち関係と
は、どのトランザクションがどのトランザクションの排
他のために待ち状態になっているか、また、どのような
資源を対象に待ちになっているかを表す情報を待つ。以
上の処理の後で、Mに入力されたデータ・ベース操作命
令とデータ・ベースのアクセス処理内容により、排他制
御モードを決定する。
に、先ずAPUにより決まった資源メモリRMのMC2にRMCか
ら制御を与えて資源メモリRMのMOからの出力を参照し、
排他範囲を決定し、システム・メモリSMのIに制御を与
えて、排他範囲のレンジ、ページあるいは物理情報をシ
ステム・メモリSMのOからSMOに得る。システム・メモ
リSMには、システム内のグローバルなデータ、すなわち
排他制御の待ち関係を表す情報を保有する。待ち関係と
は、どのトランザクションがどのトランザクションの排
他のために待ち状態になっているか、また、どのような
資源を対象に待ちになっているかを表す情報を待つ。以
上の処理の後で、Mに入力されたデータ・ベース操作命
令とデータ・ベースのアクセス処理内容により、排他制
御モードを決定する。
排他制御モードを決定した後、排他制御ユニットEXCCU
に占有登録する。このときデータ・ベース制御ユニット
DBCUのO,E,C,M,Uの何れかに信号出力して排他制御モー
ドを指定すると共に、IEには排他範囲情報を出力する。
これらは排他制御ユニットEXCCUのU,M,C,E,OとISにそれ
ぞれ入力され、排他制御ユニットEXCCUはこれをロック
処理と共に内部の排他登録テーブルに登録する。登録が
完了しないときは、制御をいったん戻し、データ・ベー
ス制御ユニットDBCUのWTにWT信号を返す。また、登録が
完了すれば待ちメモリWMのIにPOST信号を与える。POST
を待ちメモリWTのOより知ったデータ・ベース制御ユニ
ットDBCUは、待ちメモリWMをリセットする。排他範囲と
排他制御モード情報は、同時に分離エクステント制御メ
モリIECMのEI,EMに入力され、記憶される。
に占有登録する。このときデータ・ベース制御ユニット
DBCUのO,E,C,M,Uの何れかに信号出力して排他制御モー
ドを指定すると共に、IEには排他範囲情報を出力する。
これらは排他制御ユニットEXCCUのU,M,C,E,OとISにそれ
ぞれ入力され、排他制御ユニットEXCCUはこれをロック
処理と共に内部の排他登録テーブルに登録する。登録が
完了しないときは、制御をいったん戻し、データ・ベー
ス制御ユニットDBCUのWTにWT信号を返す。また、登録が
完了すれば待ちメモリWMのIにPOST信号を与える。POST
を待ちメモリWTのOより知ったデータ・ベース制御ユニ
ットDBCUは、待ちメモリWMをリセットする。排他範囲と
排他制御モード情報は、同時に分離エクステント制御メ
モリIECMのEI,EMに入力され、記憶される。
排他処理完了後、ページ読込み要求はデータ・ベース制
御ユニットDBCUのRIからデータ・ベース管理ユニットDM
UのRIに与えられ、データ・ベース記憶媒体からデータ
がデータ・ベース管理ユニットDMUのRDを通して得ら
れ、マクロ・データ・メモリMDMのMIに出力され、記憶
される。ページ書出し時には、排他制御は読込み時に完
了しているために行われず、単にWIからデータ・ベース
管理ユニットDMUのWIに書出し要求を行い、マクロ・デ
ータ・メモリMDMのMOからデータ・ベース管理ユニットD
MUのWDにデータを転送する。すなわち、排他制御は読込
み時に行われ、データ・ベースをバッファMDM上で更新
する時には排他モードを変更し、トランザクションが継
続する間保持するため、書込み時(トランザクションの
終了時に書込みを行う)は排他制御はない。なお、ペー
ジ・アクセス時の上記排他制御モードの決定は第8図の
ようにして行われる。第8図は基本アクセス・モードが
MD未満(RO〜CER)とMD以上(MD,UP)によって、検索時
の排他制御モードが決まることを示す。すなわち、基本
アクセス・モードがRO,ER,CERの場合は、プログラムに
含まれるデータ・ベース操作命令はGET命令のみである
ため、検索時の排他制御モードを基本アクセス・モード
とする。基本アクセス・モードがMD,UPの場合は、後にM
ODIFY命令,STORE命令,ERASE命令の何れかのマクロが発
行される可能性があるため、CERにする。CERにする理由
は、MODIFY命令,STORE命令,ERASE命令動作中に同時に実
行して得たページの内容は、その後に内容が更新される
可能性がある(STORE命令の動作中と言えども、STORE命
令はページを更新する処理だけではなく、ページを更新
するための前処理もあるため、レコードが追加される将
に直前の状態を参照している可能性がある)ため、これ
らの命令の実行中に得たページの内容を用いてMODIFY命
令,STORE命令,ERASE命令を実行すると、それ以前の更新
結果を消滅させることになるため、実際に更新を行う前
に、再度その時点の状態を読み直し(バッファのパー
ジ)が必要となることを回避するためである。基本アク
セス・モードはプログラム単位で決まる最上位のアクセ
ス・モードであり、資源メモリRMのMOから得られる。
御ユニットDBCUのRIからデータ・ベース管理ユニットDM
UのRIに与えられ、データ・ベース記憶媒体からデータ
がデータ・ベース管理ユニットDMUのRDを通して得ら
れ、マクロ・データ・メモリMDMのMIに出力され、記憶
される。ページ書出し時には、排他制御は読込み時に完
了しているために行われず、単にWIからデータ・ベース
管理ユニットDMUのWIに書出し要求を行い、マクロ・デ
ータ・メモリMDMのMOからデータ・ベース管理ユニットD
MUのWDにデータを転送する。すなわち、排他制御は読込
み時に行われ、データ・ベースをバッファMDM上で更新
する時には排他モードを変更し、トランザクションが継
続する間保持するため、書込み時(トランザクションの
終了時に書込みを行う)は排他制御はない。なお、ペー
ジ・アクセス時の上記排他制御モードの決定は第8図の
ようにして行われる。第8図は基本アクセス・モードが
MD未満(RO〜CER)とMD以上(MD,UP)によって、検索時
の排他制御モードが決まることを示す。すなわち、基本
アクセス・モードがRO,ER,CERの場合は、プログラムに
含まれるデータ・ベース操作命令はGET命令のみである
ため、検索時の排他制御モードを基本アクセス・モード
とする。基本アクセス・モードがMD,UPの場合は、後にM
ODIFY命令,STORE命令,ERASE命令の何れかのマクロが発
行される可能性があるため、CERにする。CERにする理由
は、MODIFY命令,STORE命令,ERASE命令動作中に同時に実
行して得たページの内容は、その後に内容が更新される
可能性がある(STORE命令の動作中と言えども、STORE命
令はページを更新する処理だけではなく、ページを更新
するための前処理もあるため、レコードが追加される将
に直前の状態を参照している可能性がある)ため、これ
らの命令の実行中に得たページの内容を用いてMODIFY命
令,STORE命令,ERASE命令を実行すると、それ以前の更新
結果を消滅させることになるため、実際に更新を行う前
に、再度その時点の状態を読み直し(バッファのパー
ジ)が必要となることを回避するためである。基本アク
セス・モードはプログラム単位で決まる最上位のアクセ
ス・モードであり、資源メモリRMのMOから得られる。
マクロ・データ・メモリMDMに求めるページが既にあっ
た場合には、データ・ベース制御ユニットDBCUのIMCか
ら分離エクステント制御メモリIECMのMCに信号を与え、
既読込みページの排他状態を調べる。先に排他占有時に
分離エクステント制御メモリIECMに登録された排他範囲
と排他制御モード情報をIECMのMOから取出し、データ・
ベース制御ユニットDBCUのIMOに得ると共に、この情報
を分離モード・デコータIMDにより、それぞれSO,SE,SC,
SM,SUに得る。この情報に基づいて排他モードの動的切
換えが必要であるか否かを判断する。第9図に動的排他
制御モード切換えの必要な状況を示す。基本アクセス・
モードがER,ROの場合は、データ・ベースに対する操作
はGET命令のみであり、検索操作以外を実施することは
ないため、切換えを行う必要がない。切り換えるアクセ
ス・モードは、CER→基本アクセス・モード(MD又はU
P)の一段階とし、例えば、基本アクセス・モードがUP
の場合にMODIFY命令が先に実行され、次にSTORE命令又
はERASE命令が実行される場合に、CER→MD→UPのよう
に、CERからMODIFY命令の更新処理時にMDに、STORE命令
又はERASE命令の更新時に更にUPに切り換えるような多
段階にはしない。この理由は、切換え回数を2段にする
ことのメリットと1段にすることのメリットのトレード
・オフによって、実施例ではこの方法を用いたに過ぎ
ず、本質的なことではない。
た場合には、データ・ベース制御ユニットDBCUのIMCか
ら分離エクステント制御メモリIECMのMCに信号を与え、
既読込みページの排他状態を調べる。先に排他占有時に
分離エクステント制御メモリIECMに登録された排他範囲
と排他制御モード情報をIECMのMOから取出し、データ・
ベース制御ユニットDBCUのIMOに得ると共に、この情報
を分離モード・デコータIMDにより、それぞれSO,SE,SC,
SM,SUに得る。この情報に基づいて排他モードの動的切
換えが必要であるか否かを判断する。第9図に動的排他
制御モード切換えの必要な状況を示す。基本アクセス・
モードがER,ROの場合は、データ・ベースに対する操作
はGET命令のみであり、検索操作以外を実施することは
ないため、切換えを行う必要がない。切り換えるアクセ
ス・モードは、CER→基本アクセス・モード(MD又はU
P)の一段階とし、例えば、基本アクセス・モードがUP
の場合にMODIFY命令が先に実行され、次にSTORE命令又
はERASE命令が実行される場合に、CER→MD→UPのよう
に、CERからMODIFY命令の更新処理時にMDに、STORE命令
又はERASE命令の更新時に更にUPに切り換えるような多
段階にはしない。この理由は、切換え回数を2段にする
ことのメリットと1段にすることのメリットのトレード
・オフによって、実施例ではこの方法を用いたに過ぎ
ず、本質的なことではない。
第8図および第9図の「データ・ベースの検索であるが
以後の更新可能性大」,「データ・ベース更新直前検
索」の意味について説明する。
以後の更新可能性大」,「データ・ベース更新直前検
索」の意味について説明する。
(a)「データ・ベースの検索であるが以後の更新可能
性大」 以下の条件のとき、この状態であると判断する。
性大」 以下の条件のとき、この状態であると判断する。
(1)データ・ベースのGET命令の場合、かつ (2)データ・ベース資源メモリRMのGET命令の対象レコー
ド・タイプに、対象プログラムのMODIFY命令,STORE命
令,ERASE命令の使用フラグ情報がONになっている。な
お、このフラグ情報は、プログラムが対象レコード・タ
イプを指定していると、フラグがONになっている。基本
アクセス・モードと同時に、資源メモリRMのMOから得ら
れる。
ド・タイプに、対象プログラムのMODIFY命令,STORE命
令,ERASE命令の使用フラグ情報がONになっている。な
お、このフラグ情報は、プログラムが対象レコード・タ
イプを指定していると、フラグがONになっている。基本
アクセス・モードと同時に、資源メモリRMのMOから得ら
れる。
(b)「データ・ベース更新直前検索」 以下の条件のとき、この状態であると判断する。
(1)データ・ベースのMODIFY命令実行中である。かつ (2)MODIFY命令の対象レコード・ページ参照(レコード
更新のためのページ参照) あるいは、 (1)データ・ベースのSTORE命令実行中である。かつ (2)STORE命令のレコード格納ページの検索処理(格納可
能か否かの検査) あるいは、 (1)データ・ベースのERASE命令実行中である。かつ (2)ERASE命令の対象レコードの存在ページの検索処理
(レコード削除のためのページ参照) 切換えが必要な場合には、データ・ベース制御ユニット
DBCUのIEとMもしくはUに出力を与え、排他制御ユニッ
トEXCCUのISとMもしくはUに排他切換え登録を行った
後に、分離エクステント制御メモリIECMのEI,EMにも入
力を与え、分離エクステント制御メモリIECMのCにはデ
ータ・ベース制御ユニットDBCUのCGから排他制御モード
切換信号を与える。なお、分離エクステント制御メモリ
IECMの内容は、マクロ・データ・メモリMDMの対応ペー
ジがページ入力のために消失した時にデータ・ベース制
御ユニットDBCUのIMCから分離エクステント制御メモリI
ECMのMO,Rに信号を与えることにより、対応ページの排
他制御情報がリセットされる。トランザクション・ポイ
ントでも同様にリセットされる。
更新のためのページ参照) あるいは、 (1)データ・ベースのSTORE命令実行中である。かつ (2)STORE命令のレコード格納ページの検索処理(格納可
能か否かの検査) あるいは、 (1)データ・ベースのERASE命令実行中である。かつ (2)ERASE命令の対象レコードの存在ページの検索処理
(レコード削除のためのページ参照) 切換えが必要な場合には、データ・ベース制御ユニット
DBCUのIEとMもしくはUに出力を与え、排他制御ユニッ
トEXCCUのISとMもしくはUに排他切換え登録を行った
後に、分離エクステント制御メモリIECMのEI,EMにも入
力を与え、分離エクステント制御メモリIECMのCにはデ
ータ・ベース制御ユニットDBCUのCGから排他制御モード
切換信号を与える。なお、分離エクステント制御メモリ
IECMの内容は、マクロ・データ・メモリMDMの対応ペー
ジがページ入力のために消失した時にデータ・ベース制
御ユニットDBCUのIMCから分離エクステント制御メモリI
ECMのMO,Rに信号を与えることにより、対応ページの排
他制御情報がリセットされる。トランザクション・ポイ
ントでも同様にリセットされる。
アプリケーション・データ・メモリADMのMIとMO、マク
ロ・データ・メモリMDMのOとIは次のように使用され
る。GETのようにデータ・ベースの内容を検索する場合
はMDMにページ検索後、マクロ・データ・メモリMDMのO
からアプリケーション・データ・メモリADMのMIにデー
タが転送される。
ロ・データ・メモリMDMのOとIは次のように使用され
る。GETのようにデータ・ベースの内容を検索する場合
はMDMにページ検索後、マクロ・データ・メモリMDMのO
からアプリケーション・データ・メモリADMのMIにデー
タが転送される。
また、STOREやMODIFYのようにデータ・ベースにデータ
を転送するマクロでは、アプリケーション・データ・メ
モリADMに入力されたデータが、アプリケーション・デ
ータ・メモリMDMのMOからマクロ・データ・メモリMDMの
Iに転送された後にデータ・ベースへの書込みが行われ
る。アプリケーション・データ・メモリADMのRやマク
ロ・データ・メモリMDMのMは、データ・ベース制御ユ
ニットDBCUがアプリケーション・データ・メモリADMと
マクロ・データ・メモリMDMの内容を比較するために用
いられる。
を転送するマクロでは、アプリケーション・データ・メ
モリADMに入力されたデータが、アプリケーション・デ
ータ・メモリMDMのMOからマクロ・データ・メモリMDMの
Iに転送された後にデータ・ベースへの書込みが行われ
る。アプリケーション・データ・メモリADMのRやマク
ロ・データ・メモリMDMのMは、データ・ベース制御ユ
ニットDBCUがアプリケーション・データ・メモリADMと
マクロ・データ・メモリMDMの内容を比較するために用
いられる。
以上の説明から明らかなように、本発明によれば、プロ
グラムの独立性を保ちながら同時走行性を高めることが
でき、データ・ベースにおける排他制御を効率的に実行
することが出来る。
グラムの独立性を保ちながら同時走行性を高めることが
でき、データ・ベースにおける排他制御を効率的に実行
することが出来る。
第1図はデータ・ベースの論理格納構造の1例を示す
図、第2図はレコードとセット・オカレンスとページと
を示す図、第3図はプログラムの例を示す図、第4図は
本発明で用いられる排他制御モードを説明する図、第5
図は第2図に示すようなデータ・ベースを第3図のプロ
グラムA,Bが同時アクセスしようとした場合の排他制御
を説明する図、第6図は第5図の処理をタイムチャート
で表現した図、第7図は本発明の1実施例のブロック
図、第8図はページ・アクセス前の排他制御モードの決
定を説明する図、第9図は排他制御モードの切換えを示
す図である。 APU……応用プログラム、APPM……アプリケーション手
続メモリ、RM……資源メモリ、PRAN……プログラム・ア
ナライザ、ADM……アプリケーション・データ・メモ
リ、MDM……マクロ・データ・メモリ、TM……トランザ
クション・メモリ、DBCPM……データ・ベース制御手続
メモリ、DBCU……データ・ベース制御ユニット、SM……
システム・メモリ、WM……待ちメモリ、EXCCU……排他
制御ユニット、DMU……データ・ベース管理ユニット、I
ECM……分離エクステント制御メモリ、IMD……分離モー
ド・デコーダ。
図、第2図はレコードとセット・オカレンスとページと
を示す図、第3図はプログラムの例を示す図、第4図は
本発明で用いられる排他制御モードを説明する図、第5
図は第2図に示すようなデータ・ベースを第3図のプロ
グラムA,Bが同時アクセスしようとした場合の排他制御
を説明する図、第6図は第5図の処理をタイムチャート
で表現した図、第7図は本発明の1実施例のブロック
図、第8図はページ・アクセス前の排他制御モードの決
定を説明する図、第9図は排他制御モードの切換えを示
す図である。 APU……応用プログラム、APPM……アプリケーション手
続メモリ、RM……資源メモリ、PRAN……プログラム・ア
ナライザ、ADM……アプリケーション・データ・メモ
リ、MDM……マクロ・データ・メモリ、TM……トランザ
クション・メモリ、DBCPM……データ・ベース制御手続
メモリ、DBCU……データ・ベース制御ユニット、SM……
システム・メモリ、WM……待ちメモリ、EXCCU……排他
制御ユニット、DMU……データ・ベース管理ユニット、I
ECM……分離エクステント制御メモリ、IMD……分離モー
ド・デコーダ。
Claims (1)
- 【請求項1】複数のデータ・ベース検索プログラムおよ
び更新プログラムがデータ・ベースを共用し、データ・
ベースのレコード又はデータ・ベースのレコードの一部
のデータの検索および更新を行い、読込み専用モード,
排他的読込みモード,完全排他的読込みモード,データ
内容更新モードおよびデータ構造更新モードを持ち、完
全排他的読込みモードで専有されているページに対し
て、読込み専用モード又は排他的読込みモード又は完全
排他的読込みモードの他の応用プログラムがアクセスす
ることが出来るが、データ内容更新モード又はデータ構
造更新モードの他の応用プログラムがアクセスできない
ようにされ、1トランザクション内で排他制御モードを
動的に変更できるようになったデータ・ベース・システ
ムであって、 データ・ベース記憶媒体と、 排他登録テーブルを持つ排他制御手段と、 応用プログラムから渡されたデータ・ベース操作マクロ
の解析,排他制御手段への占有登録の依頼,データ・ベ
ース記憶媒体からのデータの読出し、データ・ベース記
憶媒体へのデータ・ベースの書込みなどを行うデータ・
ベース制御手段と、 ページのデータを記憶するマクロ・データ・メモリと、 マクロ・データ・メモリに記憶されたページに関して、
排他範囲情報及び排他制御モード情報を記憶する分離エ
クステント制御メモリと、 応用プログラムの基本アクセス・モードを記憶する資源
メモリと、 応用プログラムによって指定される排他範囲を、レン
ジ,ページあるいは物理情報に変換するための情報を記
憶するシステム・メモリと を具備し、 上記データ・ベース制御手段は、 データ・ベース操作マクロを実行する際に必要となる
レコードを含むページがマクロ・データ・メモリの中に
存在するか否かを調べ、必要なページがマクロ・データ
・メモリに存在しない場合にはに進み、必要となるペ
ージがマクロ・データ・メモリに既に存在する場合には
に進み、 排他範囲情報及びデータ・ベース記憶媒体の中のアク
セスすべきページを決定し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理がデータ・ベースの検索である
場合には排他制御モードを完全排他的読込みモードと決
定し、基本アクセス・モードがデータ内容更新モード又
はデータ構造更新モードである応用プログラムから発行
されたデータ・ベース操作マクロに基づいて実際に行わ
れるデータ・ベース操作処理が検索であるが以後の更新
の可能性大である場合には排他制御モードを基本アクセ
ス・モードと決定し、基本アクセス・モードがデータ内
容更新モード又はデータ構造更新モードである応用プロ
グラムから発行されたデータ・ベース操作マクロに基づ
いて実際に行われるデータ・ベース操作処理がデータ・
ベース更新直前の検索である場合には排他制御モードを
基本アクセス・モードと決定し、次にに進み、 排他制御手段に対して排他制御モード情報及び排他範
囲情報を指定して占有登録の依頼を行い、次にに進
み、 排他制御手段からの占有登録完了を受け取ったときに
は、上記排他制御手段に送った情報と同一の情報を分離
エクステント制御メモリに記憶させ、次にに進み、 データ・ベース記憶媒体から該当するページのデータ
を読み出して、マクロ・データ・メモリに記憶させ、 分離エクステント制御メモリから該当ページの排他制
御モード情報を読み出し、次にに進み、 基本アクセス・モードがデータ内容更新モード又はデ
ータ構造更新モードである応用プログラムから発行され
たデータ・ベース操作マクロに基づいて実際に行われる
データ・ベース操作処理が検索であるが以後の更新の可
能性大であり且つ分離エクステント制御メモリから読出
された排他制御モード情報が完全排他的読込みモードの
場合には当該データ・ベース操作範囲の排他制御モード
を基本アクセス・モードに切換え、基本アクセス・モー
ドがデータ内容更新モード又はデータ構造更新モードで
ある応用プログラムから発行されたデータ・ベース操作
マクロに基づいて実際に行われるデータ・ベース操作処
理が更新直前の検索であり且つ分離エクステント制御メ
モリから読出された排他制御モード情報が完全排他的読
込みモードの場合には当該データ・ベース操作範囲の排
他制御モードを基本アクセス・モードに切換え、次に
に進み、 排他制御モードの切換えが必要な場合には、排他制御
手段に対して排他制御モード及び排他範囲情報を指定し
て占有登録の依頼を行うと共に、同一情報を分離エクス
テント制御メモリに記憶させる ように構成されている ことを特徴とするデータ・ベースのアクセス・モード動
的変更方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55105545A JPH06101017B2 (ja) | 1980-07-31 | 1980-07-31 | デ−タ・ベ−スのアクセス・モ−ド動的変更方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55105545A JPH06101017B2 (ja) | 1980-07-31 | 1980-07-31 | デ−タ・ベ−スのアクセス・モ−ド動的変更方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5730035A JPS5730035A (en) | 1982-02-18 |
JPH06101017B2 true JPH06101017B2 (ja) | 1994-12-12 |
Family
ID=14410548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55105545A Expired - Lifetime JPH06101017B2 (ja) | 1980-07-31 | 1980-07-31 | デ−タ・ベ−スのアクセス・モ−ド動的変更方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06101017B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS605191A (ja) * | 1983-06-24 | 1985-01-11 | 松下電器産業株式会社 | ミシン針定位置停止装置 |
JPS6083151A (ja) * | 1983-10-14 | 1985-05-11 | Fujitsu Ltd | デ−タ処理レベル制御方式 |
JPS60250448A (ja) * | 1984-05-24 | 1985-12-11 | Fujitsu Ltd | 論理的な資源管理方法 |
-
1980
- 1980-07-31 JP JP55105545A patent/JPH06101017B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
植村俊亮著「データベースシステムの基礎」(株)オーム社(昭54−5−30)P.36−46,78−85 |
穂鷹良介著「データベース入門」(株)オーム社(昭54−7−20)P.156−168 |
Also Published As
Publication number | Publication date |
---|---|
JPS5730035A (en) | 1982-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101495976B (zh) | 用于直接更新软件事务存储器的方法和系统 | |
US5142676A (en) | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory | |
JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
JPH01500377A (ja) | 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法 | |
US5794244A (en) | Data storage system with table-driven device selector | |
JPH0229849A (ja) | コンピュータ、メモリシステム、情報蓄積装置 | |
JP5108252B2 (ja) | インデクス更新方法及びそのシステム | |
US5729738A (en) | Data management system utilizing behavioral objects with linking relationships | |
JPH06101017B2 (ja) | デ−タ・ベ−スのアクセス・モ−ド動的変更方式 | |
JPS6122817B2 (ja) | ||
JP2516609B2 (ja) | 循環コンテクストアドレス指定可能メモリ | |
US5129081A (en) | System for processing data using logic language | |
US7685107B2 (en) | Apparatus, system, and method for scanning a partitioned data set | |
JP2018085042A (ja) | データベース管理装置、情報処理システム、データベース管理方法及びデータベース管理プログラム | |
US3731285A (en) | Homogeneous memory for digital computer systems | |
JPS5856277A (ja) | 情報処理装置ならびに方法 | |
JPH04260141A (ja) | データ共有処理装置 | |
JPH07192005A (ja) | 学習記憶制御装置 | |
KR960004060B1 (ko) | 다중 메모리 뱅크 구조를 가지는 시스템의 뱅크 선택 프리 어셈블링 방법 | |
JP3077141B2 (ja) | 画像処理装置 | |
JP2755646B2 (ja) | データ駆動型データ処理装置 | |
JPH05165756A (ja) | マクロ処理機能付チャネル制御装置 | |
JPH03260849A (ja) | ファイル領域管理処理方法 | |
JPH01263819A (ja) | 集積回路 | |
JPH05216718A (ja) | デバッグ方法 |