JPH0762833B2 - 共用デ−タセットの排他制御方式 - Google Patents
共用デ−タセットの排他制御方式Info
- Publication number
- JPH0762833B2 JPH0762833B2 JP58124172A JP12417283A JPH0762833B2 JP H0762833 B2 JPH0762833 B2 JP H0762833B2 JP 58124172 A JP58124172 A JP 58124172A JP 12417283 A JP12417283 A JP 12417283A JP H0762833 B2 JPH0762833 B2 JP H0762833B2
- Authority
- JP
- Japan
- Prior art keywords
- division
- access
- data
- exclusive control
- data set
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】 〔発明の技術分野〕 本発明は、共用データセットの排他制御方式に関し、特
にオンラインシステムにおいて複数の利用者により共用
されるVSAMデータセットなどのデータセットへのアクセ
スを、高いオンライン処理効率で排他制御する方式に関
する。
にオンラインシステムにおいて複数の利用者により共用
されるVSAMデータセットなどのデータセットへのアクセ
スを、高いオンライン処理効率で排他制御する方式に関
する。
はじめに、本発明の対象となるVSAMデータセットの例に
ついて簡単に説明する。
ついて簡単に説明する。
VSAM(Virtual Storage Access Method)のデータセッ
トは、データ転送単位となるコントロールインターバル
と、複数のコントロールインターバルで構成されるコン
トロールエリアを管理単位としている。
トは、データ転送単位となるコントロールインターバル
と、複数のコントロールインターバルで構成されるコン
トロールエリアを管理単位としている。
コントロールインターバル(以後CIと呼ぶ)の長さは、
データセットごとに決定され、最大32,768バイトの大き
さまで設定可能である。利用者のアクセス単位であるレ
コードは、原則として1つのCIに収容されるが、2つ以
上のCIにまたがる場合もある。
データセットごとに決定され、最大32,768バイトの大き
さまで設定可能である。利用者のアクセス単位であるレ
コードは、原則として1つのCIに収容されるが、2つ以
上のCIにまたがる場合もある。
コントロールエリア(以後CAと呼ぶ)の大きさは最大1
シリンダであり、データセットを拡張する場合の最小単
位となるものである。第1図は、CAおよびCIによるデー
タセット構成を概念的に示したものである。
シリンダであり、データセットを拡張する場合の最小単
位となるものである。第1図は、CAおよびCIによるデー
タセット構成を概念的に示したものである。
なお、VSAMによりサポートできるデータセットの種別
は、キー順データセットKSDS、エントリ順データセット
ESDS、相対レコードデータセットRRDSの3つである。
は、キー順データセットKSDS、エントリ順データセット
ESDS、相対レコードデータセットRRDSの3つである。
次に、VSAMデータセットを利用したデータベースシステ
ムの例を、第2図により説明する。
ムの例を、第2図により説明する。
第2図において、1−1,1−2はオンライン端末、2は
ホスト、3−1,3−2は業務プログラム、4はオンライ
ンデータベース処理システムのAIM(Advanced Informat
ion Manager)、4aは排他制御部、5はVSAM、5aは排他
制御部、6はディスク装置などのファイル装置に格納さ
れたデータベースを表す。データベース6はVSAMデータ
セットであり、図示のCI1乃至CI9とCA7乃至CI9は、CA2
内の相対的なCI番号で表すと、CI1乃至CI3となる。
ホスト、3−1,3−2は業務プログラム、4はオンライ
ンデータベース処理システムのAIM(Advanced Informat
ion Manager)、4aは排他制御部、5はVSAM、5aは排他
制御部、6はディスク装置などのファイル装置に格納さ
れたデータベースを表す。データベース6はVSAMデータ
セットであり、図示のCI1乃至CI9とCA7乃至CI9は、CA2
内の相対的なCI番号で表すと、CI1乃至CI3となる。
オンライン端末1−1,1−2の利用者は、自己の業務を
処理するために、それぞれ業務プログラム3−1,3−2
を呼び出し、データベース6を利用するトランザクショ
ンを投入する。
処理するために、それぞれ業務プログラム3−1,3−2
を呼び出し、データベース6を利用するトランザクショ
ンを投入する。
AIMはトランザクションを解析し、必要とするレコード
について、データベース6をアクセスする。データベー
ス6のアクセスは、VSAMを介して該当するCIをアクセス
することにより行われる。
について、データベース6をアクセスする。データベー
ス6のアクセスは、VSAMを介して該当するCIをアクセス
することにより行われる。
あるデータアクセスが、更新あるいは追加を目的とする
ものである場合、他のデータ利用者に対して、データの
最新性、つまりデータが最新に更新されたものであるこ
とを保証し、また各利用者間で使用するデータの更新レ
ベルについて同期をとるため、そのデータアクセスが終
了するまで、他の利用者に対して同一データに対するア
クセスを禁止する必要がある。
ものである場合、他のデータ利用者に対して、データの
最新性、つまりデータが最新に更新されたものであるこ
とを保証し、また各利用者間で使用するデータの更新レ
ベルについて同期をとるため、そのデータアクセスが終
了するまで、他の利用者に対して同一データに対するア
クセスを禁止する必要がある。
このため、VSAMの排他制御部5aは、CI単位での排他制御
機能をもち、ある1つのCIについてデータ更新あるいは
データ追加の処理を行っている間は、そのCIに対する他
のアクセスを全て禁止するようにしている。しかし、1
つのトランザクションから、複数のCIに対してアクセス
要求が生じる場合がある。このため、AIMは、トランザ
クション単位のデータの保証を管理し、また複数のトラ
ンザクション間でデータアクセス順序が競合して、デッ
ドロック状態が生じても検知できる。排他制御部4aは、
この目的で設けられている。
機能をもち、ある1つのCIについてデータ更新あるいは
データ追加の処理を行っている間は、そのCIに対する他
のアクセスを全て禁止するようにしている。しかし、1
つのトランザクションから、複数のCIに対してアクセス
要求が生じる場合がある。このため、AIMは、トランザ
クション単位のデータの保証を管理し、また複数のトラ
ンザクション間でデータアクセス順序が競合して、デッ
ドロック状態が生じても検知できる。排他制御部4aは、
この目的で設けられている。
なお、VSAMのみの排他制御によりトランザクション単位
でのデータ保証が得られない例を第2図に説明すると、
図中に例示されているように、業務プログラム3−1が
CI1→CI2の順序でのアクセス要求をもち、業務プログラ
ム3−2がCI2→CI3の順序でのアクセス要求をもってい
る場合、VSAMの排他制御では、業務プログラム3−1の
CI1をアクセスしている間、業務プログラム3−2のCI2
アクセスは排他されず、たとえば更新できる。このた
め、業務プログラム3−1のCI2アクセスは、業務プロ
グラム3−2により更新された後のCI2データへのアク
セスとなり、CI1データとの更新レベルの整合性(ある
いは同期性)を失うことになる。
でのデータ保証が得られない例を第2図に説明すると、
図中に例示されているように、業務プログラム3−1が
CI1→CI2の順序でのアクセス要求をもち、業務プログラ
ム3−2がCI2→CI3の順序でのアクセス要求をもってい
る場合、VSAMの排他制御では、業務プログラム3−1の
CI1をアクセスしている間、業務プログラム3−2のCI2
アクセスは排他されず、たとえば更新できる。このた
め、業務プログラム3−1のCI2アクセスは、業務プロ
グラム3−2により更新された後のCI2データへのアク
セスとなり、CI1データとの更新レベルの整合性(ある
いは同期性)を失うことになる。
従来のAIMの排他制御部4aは、上述したようなトランザ
クション単位でのデータ保証問題を解決するため、CA単
位での排他制御を行っている。すなわち、AIM-VSAMにお
いてはCAにレコードが収容しきれなくなったときに、新
しいCAの切り出し(CA分割と呼ばれる)が行われる。そ
してその際、データの終了位置が変わるため、このデー
タ終了位置をEOD(End of Data)情報として、同一デー
タセットにアクセスしている他の業務プログラムに反映
させ、データの最新性の保証をしている。しかしこの場
合、CA分割がいつ行われるかは予測できないため、ある
CIにデータの更新/追加が行われているとき、そのCIを
含むCA全体を、同一CA内のどのCIにアクセスする業務プ
ログラムに対しても、一律にアクセス禁止するものであ
る。
クション単位でのデータ保証問題を解決するため、CA単
位での排他制御を行っている。すなわち、AIM-VSAMにお
いてはCAにレコードが収容しきれなくなったときに、新
しいCAの切り出し(CA分割と呼ばれる)が行われる。そ
してその際、データの終了位置が変わるため、このデー
タ終了位置をEOD(End of Data)情報として、同一デー
タセットにアクセスしている他の業務プログラムに反映
させ、データの最新性の保証をしている。しかしこの場
合、CA分割がいつ行われるかは予測できないため、ある
CIにデータの更新/追加が行われているとき、そのCIを
含むCA全体を、同一CA内のどのCIにアクセスする業務プ
ログラムに対しても、一律にアクセス禁止するものであ
る。
しかし、上記のようなCA単位での排他制御を行った場
合、たとえば第2図の例では、業務プログラム3−1と
3−2のアクセス対象CIはいずれも同じCA1内に含まれ
るため、一方の業務プログラムのアクセス要求が受け付
けられると、そのトランザクション処理が完了するまで
他方の業務プログラムのアクセス要求は待たされること
になる。これは、互いのアクセス対象CIがまったく競合
していない場合であっても、同一CA内にある限り排他さ
れ、従来、オンライン処理効率を低下させる1つの原因
となっていた。
合、たとえば第2図の例では、業務プログラム3−1と
3−2のアクセス対象CIはいずれも同じCA1内に含まれ
るため、一方の業務プログラムのアクセス要求が受け付
けられると、そのトランザクション処理が完了するまで
他方の業務プログラムのアクセス要求は待たされること
になる。これは、互いのアクセス対象CIがまったく競合
していない場合であっても、同一CA内にある限り排他さ
れ、従来、オンライン処理効率を低下させる1つの原因
となっていた。
さらに、従来の方式では、EODの反映は、CPENでEOD情報
を取り込み、CLOSEでEOD情報を反映する方法をとってい
た。しかし、たとえばオンライン業務の場合通常朝一番
に業務をたちあげ、夕方業務終了となるので、業務プロ
グラムはOPEN時点である朝一番の状況をEOD情報として
保持している。これでは、データの最新性が保証されな
い。従って従来方式ではCA分割によりEOD情報が替わる
可能性があるならば、いったん業務プログラムをCLOSE
で終了させて、再度OPENさせる必要があった。この様に
最新データを知るにはOPEN〜CLOSEを繰り返す必要があ
り、OPEN処理の初期設定は時間がかかるため、オンライ
ン業務には向いていなかった。
を取り込み、CLOSEでEOD情報を反映する方法をとってい
た。しかし、たとえばオンライン業務の場合通常朝一番
に業務をたちあげ、夕方業務終了となるので、業務プロ
グラムはOPEN時点である朝一番の状況をEOD情報として
保持している。これでは、データの最新性が保証されな
い。従って従来方式ではCA分割によりEOD情報が替わる
可能性があるならば、いったん業務プログラムをCLOSE
で終了させて、再度OPENさせる必要があった。この様に
最新データを知るにはOPEN〜CLOSEを繰り返す必要があ
り、OPEN処理の初期設定は時間がかかるため、オンライ
ン業務には向いていなかった。
本発明の目的は、従来の排他制御方式において設定され
ている排他対象データの範囲を、より有効性の高いもの
に縮小する手段を提供することにより、無用なアクセス
遅延を減少させることにあり、そのため、アクセスの競
合関係をより精密にチェックし、またCA分割について
は、時間的に限定した対応手段をとることにより、目的
を達成するものである。
ている排他対象データの範囲を、より有効性の高いもの
に縮小する手段を提供することにより、無用なアクセス
遅延を減少させることにあり、そのため、アクセスの競
合関係をより精密にチェックし、またCA分割について
は、時間的に限定した対応手段をとることにより、目的
を達成するものである。
それにより本発明の構成は、複数のオンライン端末と、
データベース6と、データベース6のデータセットを転
送単位となる第1分割単位CIおよび該第1分割単位CIよ
りも上位レベルの第2分割単位CAにより階層化して管理
し、第1分割単位CIごとに排他制御を行うデータ管理手
段5と、オンライン端末から投入されたトランザクショ
ンを解析し、データベース6の共用データセットのアク
セス制御を行うオンライン処理手段4とをそなえ、上記
オンライン処理手段4は、通常、トランザクションがア
クセスしている上記第2分割単位CAであってかつ、その
中の上記第1分割単位CIに共用データセットの排他制御
を行い、そして上記データ管理手段5が第2分割単位CA
を分割処理している間のみ、該第2分割単位CA内の第1
分割単位CIに対するアクセスを、第2分割単位CAで排他
制御することを特徴としている。
データベース6と、データベース6のデータセットを転
送単位となる第1分割単位CIおよび該第1分割単位CIよ
りも上位レベルの第2分割単位CAにより階層化して管理
し、第1分割単位CIごとに排他制御を行うデータ管理手
段5と、オンライン端末から投入されたトランザクショ
ンを解析し、データベース6の共用データセットのアク
セス制御を行うオンライン処理手段4とをそなえ、上記
オンライン処理手段4は、通常、トランザクションがア
クセスしている上記第2分割単位CAであってかつ、その
中の上記第1分割単位CIに共用データセットの排他制御
を行い、そして上記データ管理手段5が第2分割単位CA
を分割処理している間のみ、該第2分割単位CA内の第1
分割単位CIに対するアクセスを、第2分割単位CAで排他
制御することを特徴としている。
以下に、本発明の詳細を実施例にしたがって説明する。
第3図は、本発明の1実施例システムの構成図であり、
第2図で説明したデータベースシステムを改良したもの
である。本図において、3−1,3−2はそれぞれ業務プ
ログラム、4はAIM、4a′は排他制御部、4bはトランザ
クション解析部、5はVSAM、5aは排他制御部、5bはCA分
割処理部、6はディスク装置などのファイル装置に格納
されているデータベース、7はメモリの共通領域に設け
られたCI管理テーブル、8はメモリの共通領域に設けら
れているEOD情報を表す。ここでCI管理テーブル7は業
務プログラムごと及びトランザクションごとに排他する
CIを指示するために用いられ、トランザクションでアク
セスするデータセットのCA番号とCI番号がアクセス順に
登録される。またEOD情報8は、データセットのデータ
終了位置をCA番号とCI番号によって示し、データセット
の更新によりデータ終了位置が変化したとき更新され
る。EOD情報8の更新があると、その内容は対応するデ
ータセットを使用する各業務プログラムに通知される。
各業務プログラムは従来と同様に、OPEN処理時にその時
点でのEOD情報8を取り込んでおり、新しいEOD情報を通
知されたときそれを更新する。なお、第2図の構成要素
と機能的に対応するものには同一の参照番号が用いられ
ている。
第2図で説明したデータベースシステムを改良したもの
である。本図において、3−1,3−2はそれぞれ業務プ
ログラム、4はAIM、4a′は排他制御部、4bはトランザ
クション解析部、5はVSAM、5aは排他制御部、5bはCA分
割処理部、6はディスク装置などのファイル装置に格納
されているデータベース、7はメモリの共通領域に設け
られたCI管理テーブル、8はメモリの共通領域に設けら
れているEOD情報を表す。ここでCI管理テーブル7は業
務プログラムごと及びトランザクションごとに排他する
CIを指示するために用いられ、トランザクションでアク
セスするデータセットのCA番号とCI番号がアクセス順に
登録される。またEOD情報8は、データセットのデータ
終了位置をCA番号とCI番号によって示し、データセット
の更新によりデータ終了位置が変化したとき更新され
る。EOD情報8の更新があると、その内容は対応するデ
ータセットを使用する各業務プログラムに通知される。
各業務プログラムは従来と同様に、OPEN処理時にその時
点でのEOD情報8を取り込んでおり、新しいEOD情報を通
知されたときそれを更新する。なお、第2図の構成要素
と機能的に対応するものには同一の参照番号が用いられ
ている。
AIMのトランザクション解析部4bは、受け付けられた業
務プログラムのトランザクション単位にデータアクセス
要求を解析し、対応するCA番号+該当CAのCI番号をCI管
理テーブル7に登録する。業務プログラム(3−1)が
CA1のCI1,CI2のデータを得て処理している間に業務プロ
グラム(3−2)がCA1にレコードの追加をすること
で、CA1が満杯になり、CA分割が発生した場合、つまり
第3図の例ではCA1にCI7〜CI9を追加しようとしたがCA1
に空きスペースがなくCA分割が発生した場合、CA2が作
成される。この追加されるCI7〜CI9のデータはCA2+CI1
〜CA2+CI3としてCA2内の相対的なCI番号に変換され、C
I管理テーブル7のテーブルに登録される。尚、このCA
分割中においては、CI7〜CI9に相当するデータは実存し
ているが、業務プログラム3−1が現時点で取得してい
るEOD情報によりアクセスするとそのレコードが無いこ
とになるので、CA分割が完了するまで待たす。またCA分
割が発生した事でデータセットのデータ終了位置(EO
D)は変化するが、データ終了位置の変化はCA分割を生
じさせるアクセスを行った業務プログラム(3−1)に
しか認識できないので、分割完了後、直ちにデータ終了
位置の情報を他の業務プログラム(3−2)にも判るよ
うに通知し(第3図のEOD情報8による)、データの最
新性(アクセスデータが最新に更新されたデータである
こと)を保証するよう制御する。従来はOPEN時にEOD情
報を取り込んでデータセットの終了位置を認識し、EOD
情報の更新はCLOSE時に行っていたので、トランザクシ
ョン処理中にEODの変化を他の業務プログラムに通知す
ることができなかったため、業務プログラム(3−1)
が終了し、再度業務プログラム(3−2)を立ち上げな
いと、CA分割後の最新のデータセットの状態を他の業務
プログラム(3−2)に反映できず、データの最新性の
保証が出来なかった。
務プログラムのトランザクション単位にデータアクセス
要求を解析し、対応するCA番号+該当CAのCI番号をCI管
理テーブル7に登録する。業務プログラム(3−1)が
CA1のCI1,CI2のデータを得て処理している間に業務プロ
グラム(3−2)がCA1にレコードの追加をすること
で、CA1が満杯になり、CA分割が発生した場合、つまり
第3図の例ではCA1にCI7〜CI9を追加しようとしたがCA1
に空きスペースがなくCA分割が発生した場合、CA2が作
成される。この追加されるCI7〜CI9のデータはCA2+CI1
〜CA2+CI3としてCA2内の相対的なCI番号に変換され、C
I管理テーブル7のテーブルに登録される。尚、このCA
分割中においては、CI7〜CI9に相当するデータは実存し
ているが、業務プログラム3−1が現時点で取得してい
るEOD情報によりアクセスするとそのレコードが無いこ
とになるので、CA分割が完了するまで待たす。またCA分
割が発生した事でデータセットのデータ終了位置(EO
D)は変化するが、データ終了位置の変化はCA分割を生
じさせるアクセスを行った業務プログラム(3−1)に
しか認識できないので、分割完了後、直ちにデータ終了
位置の情報を他の業務プログラム(3−2)にも判るよ
うに通知し(第3図のEOD情報8による)、データの最
新性(アクセスデータが最新に更新されたデータである
こと)を保証するよう制御する。従来はOPEN時にEOD情
報を取り込んでデータセットの終了位置を認識し、EOD
情報の更新はCLOSE時に行っていたので、トランザクシ
ョン処理中にEODの変化を他の業務プログラムに通知す
ることができなかったため、業務プログラム(3−1)
が終了し、再度業務プログラム(3−2)を立ち上げな
いと、CA分割後の最新のデータセットの状態を他の業務
プログラム(3−2)に反映できず、データの最新性の
保証が出来なかった。
排他制御部4a′は第2図の従来例の排他制御部4aの機能
を改良したものであり、CI管理テーブル7を参照し、か
つVSAMのCA分割処理部5bからCA分割処理中の情報(たと
えば開始と終了の通知)を得て、排他制御を実行する。
を改良したものであり、CI管理テーブル7を参照し、か
つVSAMのCA分割処理部5bからCA分割処理中の情報(たと
えば開始と終了の通知)を得て、排他制御を実行する。
第4図は、排他制御部4a′の制御フローの1例を示した
ものである。以下ステップa乃至eにしたがって説明す
る。
ものである。以下ステップa乃至eにしたがって説明す
る。
ステップaでは、当該トランザクションがアクセスしよ
うとするCAを他のトランザクションが使用中か否かにつ
いて、第3図の排他情報(CI管理テーブル7)のCA番号
と比較し、一次的判定を行う。ここで当該トランザクシ
ョンのCAが他のトランザクションによって使用されてい
なければ、当該CAの全データをアクセスして良い。しか
し当該CAを他の業務プログラムが使用しているときに
は、次のステップbにおいてCI単位に他のトランザクシ
ョンが使用中か否かを二次的に判定する。
うとするCAを他のトランザクションが使用中か否かにつ
いて、第3図の排他情報(CI管理テーブル7)のCA番号
と比較し、一次的判定を行う。ここで当該トランザクシ
ョンのCAが他のトランザクションによって使用されてい
なければ、当該CAの全データをアクセスして良い。しか
し当該CAを他の業務プログラムが使用しているときに
は、次のステップbにおいてCI単位に他のトランザクシ
ョンが使用中か否かを二次的に判定する。
ステップcでは、他のトランザクションが当該CIを先行
してアクセス中であれば、このアクセスの終了を待ち、
終了したときアクセスさせる。
してアクセス中であれば、このアクセスの終了を待ち、
終了したときアクセスさせる。
ステップdおよびステップeは、CA分割中の場合の排他
処理であり、ステップdで、VSAMのCA分割処理部5bから
CA分割中の通知があった場合、ステップeでそのCAが自
CAと同じであるか否かを判定する。Noであれば実行し、
Yesであればステップdへ戻り、CA分割処理が終わるま
で待機する。CA分割処理が終了すれば実行に入る。さら
に詳しくいうと、CA分割時にCA分割処理部5bから通知さ
れるのは分割開始通知と分割完了通知であり、これらを
もとに“CA分割中”の判定を行う。
処理であり、ステップdで、VSAMのCA分割処理部5bから
CA分割中の通知があった場合、ステップeでそのCAが自
CAと同じであるか否かを判定する。Noであれば実行し、
Yesであればステップdへ戻り、CA分割処理が終わるま
で待機する。CA分割処理が終了すれば実行に入る。さら
に詳しくいうと、CA分割時にCA分割処理部5bから通知さ
れるのは分割開始通知と分割完了通知であり、これらを
もとに“CA分割中”の判定を行う。
つまりCA分割中とは、分割処理が開始されていて、分割
完了通知が未だ無い状態の事である。
完了通知が未だ無い状態の事である。
また、CA分割中はこの分割開始時と分割完了時の通知情
報により、分割が完了するまで、各アクセスを待ちに
し、分割完了後にアクセスを実行している。
報により、分割が完了するまで、各アクセスを待ちに
し、分割完了後にアクセスを実行している。
第5図は、それぞれ本実施例を適用した2つの排他制御
例を示している。図の左側は2つの業務プログラムAPL
1,APL2のCIアクセス要求内容を、右側はその排他制御結
果を表す。同図(a)の例では、APL1とAPL2に同じCI2
が含まれているため、先行APL1のCI2のアクセス完了後
にAPL2のCI2が実行される。同図(b)の例はCI1がAPL1
とAPL2の間で共通に使用される場合である。この場合、
APL1とAPL2のどちらが先行してCI1にアクセスするか
は、APL1とAPL2の各トランザクションの受け付けタイミ
ング、各APLのトランザクション内でのCI1のアクセス順
序などによって決まる。
例を示している。図の左側は2つの業務プログラムAPL
1,APL2のCIアクセス要求内容を、右側はその排他制御結
果を表す。同図(a)の例では、APL1とAPL2に同じCI2
が含まれているため、先行APL1のCI2のアクセス完了後
にAPL2のCI2が実行される。同図(b)の例はCI1がAPL1
とAPL2の間で共通に使用される場合である。この場合、
APL1とAPL2のどちらが先行してCI1にアクセスするか
は、APL1とAPL2の各トランザクションの受け付けタイミ
ング、各APLのトランザクション内でのCI1のアクセス順
序などによって決まる。
APL1,APL2のどちらが先行してCI1を使用しているかを知
るためには、例えばAPL2がCI1をアクセスする場合、自
分以外のトランザクション(APL1)が同一CIを使用して
いるか否かを判定すれば良い。CI1をアクセスしている
他のトランザクション(APL1)があれば、このトランザ
クション(APL1)がCI1のアクセスを終了して排他が解
除されるまでアクセスを待たす。これによりAPL2では、
CI3のアクセスを完了した段階でCI1をアクセスしている
APL1のトランザクションのCI1アクセス終了を待てば良
く、並行アクセスが実現される。
るためには、例えばAPL2がCI1をアクセスする場合、自
分以外のトランザクション(APL1)が同一CIを使用して
いるか否かを判定すれば良い。CI1をアクセスしている
他のトランザクション(APL1)があれば、このトランザ
クション(APL1)がCI1のアクセスを終了して排他が解
除されるまでアクセスを待たす。これによりAPL2では、
CI3のアクセスを完了した段階でCI1をアクセスしている
APL1のトランザクションのCI1アクセス終了を待てば良
く、並行アクセスが実現される。
次に、APL1,APL2が同じCA1をアクセスしている時にCA分
割が発生した場合の排他制御について説明する。
割が発生した場合の排他制御について説明する。
たとえばAPL2がCI3をアクセス中の時、APL1がCI1をアク
セスしているものとする。この時にCA分割が発生し、新
たなCAを切り出す場合は、・CI1でのレコード追加によ
りCA1にレコードが格納しきれないか、または・CI3のレ
コード追加でCA1にレコードが格納しきれない場合であ
る。
セスしているものとする。この時にCA分割が発生し、新
たなCAを切り出す場合は、・CI1でのレコード追加によ
りCA1にレコードが格納しきれないか、または・CI3のレ
コード追加でCA1にレコードが格納しきれない場合であ
る。
この時点でCA1だけでは格納領域が不足のため、CA分割
が発生し、CA2の格納域を確保する。この場合、第4図
のdにおいて『CA分割中の判定』をしており、CA分割中
ならば、CA分割が完了するまで、当該CAのアクセスを待
たし、分割完了時にEOD情報を反映して、その後にCIア
クセスを実行する(第4図の最下ステップ)ように制御
が行われる。APL2のCI3のレコード追加時の延長でCA分
割が生じた場合の例を次に示す。
が発生し、CA2の格納域を確保する。この場合、第4図
のdにおいて『CA分割中の判定』をしており、CA分割中
ならば、CA分割が完了するまで、当該CAのアクセスを待
たし、分割完了時にEOD情報を反映して、その後にCIア
クセスを実行する(第4図の最下ステップ)ように制御
が行われる。APL2のCI3のレコード追加時の延長でCA分
割が生じた場合の例を次に示す。
a)APL1のCI1アクセスにおける排他情報はCA1+CI1で
あり、この箇所にアクセスできるのは、この排他情報を
保持しているAPL1だけである。APL2がCI1をアクセスし
ようとしても、別トランザクションであるAPL1の排他情
報により待ちになる。
あり、この箇所にアクセスできるのは、この排他情報を
保持しているAPL1だけである。APL2がCI1をアクセスし
ようとしても、別トランザクションであるAPL1の排他情
報により待ちになる。
b)APL2のCI3でのデータ追加で分割が発生した場合
は、APL2はCA1+CI3の排他情報を持った後、CI3をアク
セスして、この延長で新たなCA2のCI7が生成される。こ
のCA2を確保する間がアクセスの抑止期間となる。その
後CA2のCI7(CA2内相対CI番号ではCI1)にデータが格納
される。その結果APL2の排他情報はCA1+CI3とCA2+CI7
となる。APL1はCI1をアクセスしようとするが、CA分割
中の抑止期間は待ちとなる。この時の抑止情報は“CA
1",“CA2"と“分割中”の情報である。
は、APL2はCA1+CI3の排他情報を持った後、CI3をアク
セスして、この延長で新たなCA2のCI7が生成される。こ
のCA2を確保する間がアクセスの抑止期間となる。その
後CA2のCI7(CA2内相対CI番号ではCI1)にデータが格納
される。その結果APL2の排他情報はCA1+CI3とCA2+CI7
となる。APL1はCI1をアクセスしようとするが、CA分割
中の抑止期間は待ちとなる。この時の抑止情報は“CA
1",“CA2"と“分割中”の情報である。
c)CA分割完了後、EOD情報を更新し、直ちにAPL1,APL2
に通知する事で、APL1とAPL2ともにEODの認識はCA2+CI
7となり一致する。
に通知する事で、APL1とAPL2ともにEODの認識はCA2+CI
7となり一致する。
d)CA分割完了後、APL1のアクセス抑止を解除し、CI1
をアクセスする。APL1の排他情報は変更の必要がない。
をアクセスする。APL1の排他情報は変更の必要がない。
e)APL2は通知されたEOD情報に基づいてCI7を認識する
ことができ、同一トランザクションの処理中においても
CI7のを参照、更新可能である。またEOD情報の通知によ
りAPL1もCI7のアクセスが可能となる。
ことができ、同一トランザクションの処理中においても
CI7のを参照、更新可能である。またEOD情報の通知によ
りAPL1もCI7のアクセスが可能となる。
次に上述した処理例におけるAPL1とAPL2のEOD認識の変
化は次のようになる。
化は次のようになる。
APL1のOPEN処理ではCI6までのデータしか分からな
い。したがってAPL1には、CI1〜CI6までのデータしか無
いと言うEOD情報が設定される。
い。したがってAPL1には、CI1〜CI6までのデータしか無
いと言うEOD情報が設定される。
OPEN時点でも同様にCI1〜CI6のデータしか無いと認
識する。
識する。
APL1のアクセス中に、CA1でAPL2のレコード追加に
よりCA分割が発生しCA2が生成され、CI7が作成された。
よりCA分割が発生しCA2が生成され、CI7が作成された。
上記状態でのAPL1がCI1をアクセス後、APL2により生
成されたCI7は、APL1のEOD情報としてCI6しかないのでA
PL1がCI7をアクセスするとデータ無しとなる。
成されたCI7は、APL1のEOD情報としてCI6しかないのでA
PL1がCI7をアクセスするとデータ無しとなる。
しかし、APL2の契機でCA分割が発生し、CI7が生成され
た時にCA分割完了時に、APL1にEOD情報の変更通知をす
る。このEOD情報をAPL1に反映する事でAPL1は最新デー
タまで(即ちCI7まで)のアクセスが可能となる。
た時にCA分割完了時に、APL1にEOD情報の変更通知をす
る。このEOD情報をAPL1に反映する事でAPL1は最新デー
タまで(即ちCI7まで)のアクセスが可能となる。
以上のように、本発明によれば、複数のオンライン端末
からの共用データへのアクセス効率が改善され、応答時
間を短縮することができる。
からの共用データへのアクセス効率が改善され、応答時
間を短縮することができる。
第1図はVSAMデータセットの構成の概念図、第2図は従
来の排他制御方式を説明するためのデータベースシステ
ムの構成図、第3図は本発明の実施例システムの構成
図、第4図は排他制御のフロー図、第5図は本実施例の
適用例を示す図である。 図中、3−1,3−2は業務プログラム、4はオンライン
処理システムのAIM、4a′は排他制御部、4bはトランザ
クション解析部、5はデータ管理システムのVSAM、5aは
排他制御部、5bはCA分割処理部、6はデータベース、7
はCI管理テーブルを表す。
来の排他制御方式を説明するためのデータベースシステ
ムの構成図、第3図は本発明の実施例システムの構成
図、第4図は排他制御のフロー図、第5図は本実施例の
適用例を示す図である。 図中、3−1,3−2は業務プログラム、4はオンライン
処理システムのAIM、4a′は排他制御部、4bはトランザ
クション解析部、5はデータ管理システムのVSAM、5aは
排他制御部、5bはCA分割処理部、6はデータベース、7
はCI管理テーブルを表す。
Claims (1)
- 【請求項1】複数のオンライン端末と、データベース
(6)と、データベース(6)のデータセットを転送単
位となる第1分割単位(CI)および該第1分割単位(C
I)よりも上位レベルの第2分割単位(CA)により階層
化して管理し、第1分割単位(CI)ごとに排他制御を行
うデータ管理手段(5)と、オンライン端末から投入さ
れたトランザクションを解析し、データベース(6)の
共用データセットのアクセス制御を行うオンライン処理
手段(4)とをそなえ、上記オンライン処理手段(4)
は、通常、トランザクションがアクセスしている上記第
2分割単位(CA)であってかつ、その中の上記第1分割
単位(CI)に共用データセットの排他制御を行い、そし
て上記データ管理手段(5)が第2分割単位(CA)を分
割処理している間のみ、該第2分割単位(CA)内の第1
分割単位(CI)に対するアクセスを、第2分割単位(C
A)で排他制御することを特徴とする共用データセット
の排他制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58124172A JPH0762833B2 (ja) | 1983-07-08 | 1983-07-08 | 共用デ−タセットの排他制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58124172A JPH0762833B2 (ja) | 1983-07-08 | 1983-07-08 | 共用デ−タセットの排他制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6015755A JPS6015755A (ja) | 1985-01-26 |
| JPH0762833B2 true JPH0762833B2 (ja) | 1995-07-05 |
Family
ID=14878738
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58124172A Expired - Fee Related JPH0762833B2 (ja) | 1983-07-08 | 1983-07-08 | 共用デ−タセットの排他制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0762833B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62145441A (ja) * | 1985-12-20 | 1987-06-29 | Fujitsu Ltd | キ−順デ−タセツトの更新処理方式 |
| JPS63250750A (ja) * | 1987-04-07 | 1988-10-18 | Nec Corp | フアイルのアクセス方式 |
| JP2734022B2 (ja) * | 1988-11-09 | 1998-03-30 | 日本電気株式会社 | 共用ファイル排他制御方式 |
-
1983
- 1983-07-08 JP JP58124172A patent/JPH0762833B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6015755A (ja) | 1985-01-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7302520B2 (en) | Method and apparatus for data storage using striping | |
| CN114328018B (zh) | 快照的创建方法、计算设备及存储介质 | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| JP2023541298A (ja) | トランザクション処理方法、システム、装置、機器、及びプログラム | |
| WO2024230779A1 (zh) | 一种文件访问方法、系统、电子设备及机器可读存储介质 | |
| CN112099908A (zh) | 虚拟机热迁移方法、装置和计算机设备 | |
| CN107704603A (zh) | 一种实现读写分离的方法及装置 | |
| JPH0622015B2 (ja) | データ処理システムの制御方法 | |
| US11288263B2 (en) | Change service for shared database object | |
| CN121188060A (zh) | 数据库的重分片方法、数据库平台及计算设备 | |
| JPH0762833B2 (ja) | 共用デ−タセットの排他制御方式 | |
| CN119166062A (zh) | 短停写时长的分区管理方法及装置、电子设备及存储介质 | |
| CN116467270B (zh) | 数据管理系统、数据更新方法及装置 | |
| CN120162319A (zh) | 数据库快照的数据处理方法、装置、电子设备、存储介质 | |
| JP2830826B2 (ja) | 分散ファイルの同期システムと方法 | |
| JP4286857B2 (ja) | ノード間共用ファイル制御方法 | |
| JPH0456344B2 (ja) | ||
| CN111510497A (zh) | 一种边缘存储的处理方法和系统 | |
| JP2787107B2 (ja) | バッファ制御方式及び装置 | |
| JPH0337748A (ja) | 主記憶を利用した外部記憶アクセス方式 | |
| CN120803970A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
| CN120973752A (zh) | 分布式存储数据一致性处理方法及装置 | |
| CN120386486A (zh) | 一种基于多维度指标及逻辑数据分区的存储架构 | |
| JPH04139545A (ja) | データベース更新処理方式 | |
| CN121579167A (zh) | 基于numa架构的数据调度方法、装置、介质和产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |