JPH0520269A - 排他制御方式 - Google Patents
排他制御方式Info
- Publication number
- JPH0520269A JPH0520269A JP17261891A JP17261891A JPH0520269A JP H0520269 A JPH0520269 A JP H0520269A JP 17261891 A JP17261891 A JP 17261891A JP 17261891 A JP17261891 A JP 17261891A JP H0520269 A JPH0520269 A JP H0520269A
- Authority
- JP
- Japan
- Prior art keywords
- occupancy
- processing program
- exclusive
- processing
- identifier
- 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
Links
Abstract
(57)【要約】 (修正有)
【目的】同一のオンライン処理を構成する1つ以上のト
ランザクション処理プログラムが、競合管理を必要とす
る共用資源を占有することができる排他制御を実現す
る。 【構成】共用ファイル8を占有できるオンライン処理を
識別するための占有情報が登録されている占有管理テー
ブル9と、このテーブル9を参照し、共用ファイル8の
占有要求を発行したトランザクション処理プログラム3
−1〜3−nが共用ファイル8を占有できるプログラム
であると判定した場合に、この処理プログラムに占有許
可を通知する占有手段5と、占有管理テーブル9を参照
し、共用ファイル8の占有解除要求を発行したトランザ
クション処理プログラム3−1〜3−nが共用ファイル
8を占有しているオンライン処理を構成する処理プログ
ラムであると判定した場合に、この処理プログラム3−
1〜3−nに占有解除許可を通知する占有解除手段6と
を設けている。
ランザクション処理プログラムが、競合管理を必要とす
る共用資源を占有することができる排他制御を実現す
る。 【構成】共用ファイル8を占有できるオンライン処理を
識別するための占有情報が登録されている占有管理テー
ブル9と、このテーブル9を参照し、共用ファイル8の
占有要求を発行したトランザクション処理プログラム3
−1〜3−nが共用ファイル8を占有できるプログラム
であると判定した場合に、この処理プログラムに占有許
可を通知する占有手段5と、占有管理テーブル9を参照
し、共用ファイル8の占有解除要求を発行したトランザ
クション処理プログラム3−1〜3−nが共用ファイル
8を占有しているオンライン処理を構成する処理プログ
ラムであると判定した場合に、この処理プログラム3−
1〜3−nに占有解除許可を通知する占有解除手段6と
を設けている。
Description
【0001】
【産業上の利用分野】本発明は、オンライン計算機シス
テムにおける共用資源の排他制御方式に関する。
テムにおける共用資源の排他制御方式に関する。
【0002】
【従来の技術】共用ファイルを設置した計算機システム
と複数の端末とが通信路を介して接続されているオンラ
イン計算機システムにおいて、共用ファイル中のデータ
を、複数の端末から起動された複数のトランザクション
(以下、TRと称す。)処理プログラム処理で処理する
場合に、従来、共用ファイルの排他制御は、オペレーテ
ィングシステム(以下、OSと称す。)の排他制御手段
により行われており、1つのTR処理プログラムが共用
ファイルにアクセスする際に、他のTR処理プログラム
に対して該共用ファイルの排他制御を行うことができる
のは、該共用ファイルの占有要求を発行してから解除す
るまでの期間、すなわち、1つのTR処理プログラムが
終了するまでの期間である。
と複数の端末とが通信路を介して接続されているオンラ
イン計算機システムにおいて、共用ファイル中のデータ
を、複数の端末から起動された複数のトランザクション
(以下、TRと称す。)処理プログラム処理で処理する
場合に、従来、共用ファイルの排他制御は、オペレーテ
ィングシステム(以下、OSと称す。)の排他制御手段
により行われており、1つのTR処理プログラムが共用
ファイルにアクセスする際に、他のTR処理プログラム
に対して該共用ファイルの排他制御を行うことができる
のは、該共用ファイルの占有要求を発行してから解除す
るまでの期間、すなわち、1つのTR処理プログラムが
終了するまでの期間である。
【0003】TR処理プログラムは、ひとまとまりの処
理を実行するプログラムパッケージであり、オンライン
処理が、自処理に関連するTR処理プログラムに対して
処理要求を発行することにより、OSを介して起動され
る。
理を実行するプログラムパッケージであり、オンライン
処理が、自処理に関連するTR処理プログラムに対して
処理要求を発行することにより、OSを介して起動され
る。
【0004】そこで、オンライン計算機システムにおい
ては、1つのTR処理プログラムにより1つのオンライ
ン処理が完結する場合と、複数のTR処理プログラムに
より1つのオンライン処理が完結する場合とがある。前
者の場合は、従来の排他制御方式で十分である。しか
し、後者の場合は、複数の端末から起動された複数のT
R処理プログラムが同時進行し、アクセス対象となる共
用ファイルが競合すると、共用ファイルの更新内容が誤
ったものとなる不都合が生じる。
ては、1つのTR処理プログラムにより1つのオンライ
ン処理が完結する場合と、複数のTR処理プログラムに
より1つのオンライン処理が完結する場合とがある。前
者の場合は、従来の排他制御方式で十分である。しか
し、後者の場合は、複数の端末から起動された複数のT
R処理プログラムが同時進行し、アクセス対象となる共
用ファイルが競合すると、共用ファイルの更新内容が誤
ったものとなる不都合が生じる。
【0005】このため、例えば、特開昭63−3100
41号公報に記載されているように、端末識別名を用い
て、同一端末から起動された複数のTR処理プログラム
を識別し、これらのTR処理プログラムに対してのみ、
共用ファイルの排他的アクセスを許可することが実現さ
れている。
41号公報に記載されているように、端末識別名を用い
て、同一端末から起動された複数のTR処理プログラム
を識別し、これらのTR処理プログラムに対してのみ、
共用ファイルの排他的アクセスを許可することが実現さ
れている。
【0006】
【発明が解決しようとする課題】特に、マルチプログラ
ミングやタイムシェアリングシステムのOSは、同一端
末においても、複数のオンライン処理を並行して処理で
きる。このような並列処理方式を採用した際に、同一端
末から複数のオンライン処理を構成する複数のTR処理
プログラムが同時に起動された場合には、上述したよう
な端末識別名に依存する従来の排他制御方式を導入する
と、処理の対象となる共用ファイルへの競合が発生し、
共用ファイルの更新内容が誤ったものとなる不都合が生
じるという問題点がある。この問題点の例を図5を用い
て説明する。
ミングやタイムシェアリングシステムのOSは、同一端
末においても、複数のオンライン処理を並行して処理で
きる。このような並列処理方式を採用した際に、同一端
末から複数のオンライン処理を構成する複数のTR処理
プログラムが同時に起動された場合には、上述したよう
な端末識別名に依存する従来の排他制御方式を導入する
と、処理の対象となる共用ファイルへの競合が発生し、
共用ファイルの更新内容が誤ったものとなる不都合が生
じるという問題点がある。この問題点の例を図5を用い
て説明する。
【0007】図5は従来方式の問題点を説明する図であ
る。
る。
【0008】図5において、1はTR処理プログラムを
起動する同一端末、3−1,3−2,3−11,3−1
2はTR処理プログラム、8は共用ファイル、80は共
用ファイル8内のレコードである。
起動する同一端末、3−1,3−2,3−11,3−1
2はTR処理プログラム、8は共用ファイル、80は共
用ファイル8内のレコードである。
【0009】TR処理プログラム3−1およびTR処理
プログラム3−2により1つのオンライン処理が構成さ
れ、TR処理プログラム3−11およびTR処理プログ
ラム3−12により1つのオンライン処理が構成されて
いる。これらのオンライン処理は、共に、共用ファイル
8内のレコード80に対する何らかの処理を行うもので
ある。
プログラム3−2により1つのオンライン処理が構成さ
れ、TR処理プログラム3−11およびTR処理プログ
ラム3−12により1つのオンライン処理が構成されて
いる。これらのオンライン処理は、共に、共用ファイル
8内のレコード80に対する何らかの処理を行うもので
ある。
【0010】同図は、端末1から起動されたTR処理プ
ログラム3−1,3−2,3−11,3−12が共用フ
ァイル8にアクセスする際の入出力状態を時系列に示し
ている。
ログラム3−1,3−2,3−11,3−12が共用フ
ァイル8にアクセスする際の入出力状態を時系列に示し
ている。
【0011】時刻t0で、端末1からTR処理プログラ
ム3−1が起動され、TR処理プログラム3−1によっ
て共用ファイル8内のレコード80が読み込まれ、時刻
t1で、読み込まれた結果が端末1に表示され、続い
て、端末1からTR処理プログラム3−2が起動され
る。TR処理プログラム3−2によって同じレコード8
0が更新される以前に、ほぼ同時刻の時刻t1で、端末
1からTR処理プログラム3−11が起動され、TR処
理プログラム3−11によって同じレコード80が読み
込まれ、時刻t2で、読み込まれた結果が端末1に表示
され、続いて、端末1からTR処理プログラム3−12
が起動される。TR処理プログラム3−12が起動され
た後、ほぼ同時刻のt2で、TR処理プログラム3−2
によって同じレコード80が更新され、時刻t3で、更
新された結果が端末1に表示された後、ほぼ同時刻の時
刻t3で、TR処理プログラム3−12によって同じレ
コード80が更新され、時刻t4で、更新された結果が
端末1に表示される。
ム3−1が起動され、TR処理プログラム3−1によっ
て共用ファイル8内のレコード80が読み込まれ、時刻
t1で、読み込まれた結果が端末1に表示され、続い
て、端末1からTR処理プログラム3−2が起動され
る。TR処理プログラム3−2によって同じレコード8
0が更新される以前に、ほぼ同時刻の時刻t1で、端末
1からTR処理プログラム3−11が起動され、TR処
理プログラム3−11によって同じレコード80が読み
込まれ、時刻t2で、読み込まれた結果が端末1に表示
され、続いて、端末1からTR処理プログラム3−12
が起動される。TR処理プログラム3−12が起動され
た後、ほぼ同時刻のt2で、TR処理プログラム3−2
によって同じレコード80が更新され、時刻t3で、更
新された結果が端末1に表示された後、ほぼ同時刻の時
刻t3で、TR処理プログラム3−12によって同じレ
コード80が更新され、時刻t4で、更新された結果が
端末1に表示される。
【0012】このような場合に、時刻t1で起動された
TR処理プログラム3−2によるレコード80の更新処
理は、時刻t2で起動されたTR処理プログラム3−1
2によるレコード80の更新処理によって、無効なもの
となってしまう。
TR処理プログラム3−2によるレコード80の更新処
理は、時刻t2で起動されたTR処理プログラム3−1
2によるレコード80の更新処理によって、無効なもの
となってしまう。
【0013】これは、従来の排他制御方式では、並列処
理方式を採用した際に、同一端末から複数のオンライン
処理を構成する複数のTR処理プログラムが同時に起動
された場合に、各TR処理プログラムが構成するオンラ
イン処理を特定し識別することが困難であるからであ
る。
理方式を採用した際に、同一端末から複数のオンライン
処理を構成する複数のTR処理プログラムが同時に起動
された場合に、各TR処理プログラムが構成するオンラ
イン処理を特定し識別することが困難であるからであ
る。
【0014】本発明の目的は、上記問題点を解決するた
めになされたものであり、オンライン処理を構成する複
数のTR処理プログラムを認識することにより、該複数
のTR処理プログラムが共用資源を連続して占有できる
排他制御方式を提供することにある。
めになされたものであり、オンライン処理を構成する複
数のTR処理プログラムを認識することにより、該複数
のTR処理プログラムが共用資源を連続して占有できる
排他制御方式を提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、本発明の排他制御方式は、1つ以上のTR処理プロ
グラムにより構成される複数のオンライン処理を並列処
理することができるオンライン計算機システムにおい
て、オンライン処理を識別するための識別子を用いるこ
とにより、同一のオンライン処理を構成する1つ以上の
TR処理プログラムが、共用資源を占有し、他のオンラ
イン処理を構成する1つ以上のTR処理プログラムとの
間で排他制御を行うようにしている。
に、本発明の排他制御方式は、1つ以上のTR処理プロ
グラムにより構成される複数のオンライン処理を並列処
理することができるオンライン計算機システムにおい
て、オンライン処理を識別するための識別子を用いるこ
とにより、同一のオンライン処理を構成する1つ以上の
TR処理プログラムが、共用資源を占有し、他のオンラ
イン処理を構成する1つ以上のTR処理プログラムとの
間で排他制御を行うようにしている。
【0016】すなわち、本発明は、共用資源を有する計
算機システムと複数の端末とが通信路を介して接続さ
れ、上記端末との間の上記共用資源に対するアクセス要
求を含むオンライン処理を複数のTR処理プログラムの
実行によって行い、オンライン処理を複数個並列処理す
ることができるオンライン計算機システムにおいて、共
用資源を占有しているオンライン処理を識別するための
識別子を登録するための占有管理テーブルを設けてい
る。
算機システムと複数の端末とが通信路を介して接続さ
れ、上記端末との間の上記共用資源に対するアクセス要
求を含むオンライン処理を複数のTR処理プログラムの
実行によって行い、オンライン処理を複数個並列処理す
ることができるオンライン計算機システムにおいて、共
用資源を占有しているオンライン処理を識別するための
識別子を登録するための占有管理テーブルを設けてい
る。
【0017】そして、オンライン処理ごとに割り当てら
れた識別子を、該オンライン処理を構成するTR処理プ
ログラムに付与する識別子付与手段と、TR処理プログ
ラムから識別子を含む占有要求を受けると、上記占有管
理テーブルに上記識別子が登録されているか否かを調
べ、登録されていないときには、該占有要求に含まれた
識別子を上記占有管理テーブルに登録して、要求元のT
R処理プログラムに占有許可を通知し、登録されている
ときには、登録されている識別子と該占有要求に含まれ
た識別子とを比較し、両者が等しい場合は、要求元のT
R処理プログラムに占有許可を通知し、両者が等しくな
い場合は、要求元のTR処理プログラムに占有不許可を
通知する占有手段と、TR処理プログラムから識別子を
含む占有解除要求を受けると、該占有解除要求に含まれ
た識別子とを比較し、両者が等しいならば、要求元のT
R処理プログラムに占有解除許可を通知し、両者が等し
くないならば、要求元のTR処理プログラムに占有解除
不許可を通知する占有解除手段とを備えるようにしてい
る。
れた識別子を、該オンライン処理を構成するTR処理プ
ログラムに付与する識別子付与手段と、TR処理プログ
ラムから識別子を含む占有要求を受けると、上記占有管
理テーブルに上記識別子が登録されているか否かを調
べ、登録されていないときには、該占有要求に含まれた
識別子を上記占有管理テーブルに登録して、要求元のT
R処理プログラムに占有許可を通知し、登録されている
ときには、登録されている識別子と該占有要求に含まれ
た識別子とを比較し、両者が等しい場合は、要求元のT
R処理プログラムに占有許可を通知し、両者が等しくな
い場合は、要求元のTR処理プログラムに占有不許可を
通知する占有手段と、TR処理プログラムから識別子を
含む占有解除要求を受けると、該占有解除要求に含まれ
た識別子とを比較し、両者が等しいならば、要求元のT
R処理プログラムに占有解除許可を通知し、両者が等し
くないならば、要求元のTR処理プログラムに占有解除
不許可を通知する占有解除手段とを備えるようにしてい
る。
【0018】上記占有解除手段は、上記共用資源を占有
しているオンライン処理を構成するTR処理プログラム
のうちで、実際に共用資源を占有しているTR処理プロ
グラムがなくなると、上記占有管理テーブルに登録され
ている識別子を取り消すようにする。
しているオンライン処理を構成するTR処理プログラム
のうちで、実際に共用資源を占有しているTR処理プロ
グラムがなくなると、上記占有管理テーブルに登録され
ている識別子を取り消すようにする。
【0019】なお、上記共用資源を占有しているオンラ
イン処理を構成するTR処理プログラムのうちで、実際
に共用資源を占有しているTR処理プログラムがなくな
ったことを判定するために、上記占有管理テーブルに、
上記共用資源を占有しているTR処理プログラムの数を
登録するための占有累積値を設け、上記占有手段は、上
記共用資源を占有しているTR処理プログラムの数をカ
ウントアップし、上記占有解除手段は、カウントダウン
するようにする。これにより、上記占有解除手段は、カ
ウントダウンした結果、上記占有累積値が初期値になる
と、実際に共用資源を占有しているTR処理プログラム
がなくなったと判定することができ、このとき、上記占
有管理テーブルに登録されている識別子を取り消すよう
にすればよい。
イン処理を構成するTR処理プログラムのうちで、実際
に共用資源を占有しているTR処理プログラムがなくな
ったことを判定するために、上記占有管理テーブルに、
上記共用資源を占有しているTR処理プログラムの数を
登録するための占有累積値を設け、上記占有手段は、上
記共用資源を占有しているTR処理プログラムの数をカ
ウントアップし、上記占有解除手段は、カウントダウン
するようにする。これにより、上記占有解除手段は、カ
ウントダウンした結果、上記占有累積値が初期値になる
と、実際に共用資源を占有しているTR処理プログラム
がなくなったと判定することができ、このとき、上記占
有管理テーブルに登録されている識別子を取り消すよう
にすればよい。
【0020】また、上記占有手段および上記占有解除手
段は、上述した処理を行っている間は、他のTR処理プ
ログラムがらの占有要求および占有解除要求を受けて
も、占有不許可および占有解除不許可を通知する。
段は、上述した処理を行っている間は、他のTR処理プ
ログラムがらの占有要求および占有解除要求を受けて
も、占有不許可および占有解除不許可を通知する。
【0021】なお、上記共用資源内の同一情報へアクセ
スできるTR処理プログラムを1つに制御する従来の排
他制御手段は、そのまま動作するようにする。
スできるTR処理プログラムを1つに制御する従来の排
他制御手段は、そのまま動作するようにする。
【0022】すなわち、例えば、上記共用資源が共用フ
ァイルである場合に、上記排他制御手段は、共用ファイ
ル内の情報ごとに、該情報がTR処理プログラムにより
アクセスされているか否かの情報を登録するための排他
制御テーブルを有し、TR処理プログラムから上記共用
ファイル内の情報の指定を含むアクセス要求を受ける
と、上記排他制御テーブルを参照し、該アクセス要求に
含まれた情報が他のTR処理プログラムによりアクセス
されているか否かを調べ、アクセスされていないときに
は、上記排他制御テーブルに、該アクセス要求に含まれ
た情報がアクセスされていることを示す情報を登録し、
要求元のTR処理プログラムにアクセス許可を通知し、
アクセスされているときには、要求元のTR処理プログ
ラムにアクセス不許可を通知し、また、TR処理プログ
ラムから上記共用資源内の情報の指定を含むアクセス解
除要求を受けると、上記排他制御テーブルに、該アクセ
ス解除要求に含まれた情報がアクセスされていないこと
を示す情報を登録する。
ァイルである場合に、上記排他制御手段は、共用ファイ
ル内の情報ごとに、該情報がTR処理プログラムにより
アクセスされているか否かの情報を登録するための排他
制御テーブルを有し、TR処理プログラムから上記共用
ファイル内の情報の指定を含むアクセス要求を受ける
と、上記排他制御テーブルを参照し、該アクセス要求に
含まれた情報が他のTR処理プログラムによりアクセス
されているか否かを調べ、アクセスされていないときに
は、上記排他制御テーブルに、該アクセス要求に含まれ
た情報がアクセスされていることを示す情報を登録し、
要求元のTR処理プログラムにアクセス許可を通知し、
アクセスされているときには、要求元のTR処理プログ
ラムにアクセス不許可を通知し、また、TR処理プログ
ラムから上記共用資源内の情報の指定を含むアクセス解
除要求を受けると、上記排他制御テーブルに、該アクセ
ス解除要求に含まれた情報がアクセスされていないこと
を示す情報を登録する。
【0023】本発明においては、上記占有手段および上
記占有解除手段により、同一のオンライン処理を構成す
るTR処理プログラムのみが、上記共用資源を占有して
いるので、上記排他制御手段は、同一のオンライン処理
を構成するTR処理プログラムの間で排他制御を行うこ
ととなる。
記占有解除手段により、同一のオンライン処理を構成す
るTR処理プログラムのみが、上記共用資源を占有して
いるので、上記排他制御手段は、同一のオンライン処理
を構成するTR処理プログラムの間で排他制御を行うこ
ととなる。
【0024】
【作用】例えば、上記共用資源が共用ファイルである場
合に、TR処理プログラムが共用ファイルの占有要求を
発行すると、上記占有手段は、該TR処理プログラムに
付与された識別子と上記占有管理テーブルに登録されて
いる識別子とを比較し、該TR処理プログラムが共用フ
ァイルを占有できるオンライン処理を構成するものであ
るか否かを判定する。
合に、TR処理プログラムが共用ファイルの占有要求を
発行すると、上記占有手段は、該TR処理プログラムに
付与された識別子と上記占有管理テーブルに登録されて
いる識別子とを比較し、該TR処理プログラムが共用フ
ァイルを占有できるオンライン処理を構成するものであ
るか否かを判定する。
【0025】共用ファイルを占有できるオンライン処理
を構成するTR処理プログラムであると判定した場合
は、占有許可を通知する。該TR処理プログラムは、占
有許可を通知されると、共用ファイル内のレコードアド
レスを含むアクセス要求を発行することにより、共用フ
ァイル内のレコードの更新/追加/削除/参照/問い合
わせ等の処理を行うことができる。
を構成するTR処理プログラムであると判定した場合
は、占有許可を通知する。該TR処理プログラムは、占
有許可を通知されると、共用ファイル内のレコードアド
レスを含むアクセス要求を発行することにより、共用フ
ァイル内のレコードの更新/追加/削除/参照/問い合
わせ等の処理を行うことができる。
【0026】なお、共用ファイルを占有できるオンライ
ン処理を構成するTR処理プログラムであっても、同一
のデータが同時にアクセスされることがないよう、上記
排他制御手段により排他制御される。
ン処理を構成するTR処理プログラムであっても、同一
のデータが同時にアクセスされることがないよう、上記
排他制御手段により排他制御される。
【0027】また、共用ファイルを占有できるオンライ
ン処理を構成するTR処理プログラムでないと判定した
場合は、占有不許可を通知する。
ン処理を構成するTR処理プログラムでないと判定した
場合は、占有不許可を通知する。
【0028】なお、共用ファイルを占有できるオンライ
ン処理を構成するTR処理プログラムのうち、最初に占
有要求を発行したTR処理プログラムである場合には、
上記占有管理テーブルに、該TR処理プログラムに付与
されている識別子を登録する。最初に占有要求を発行し
たTR処理プログラムであるか否かの判定は、上記占有
管理テーブルに識別子が登録されているか否か、すなわ
ち、識別子が初期値であるか否かを判定することによ
り、行うことができる。
ン処理を構成するTR処理プログラムのうち、最初に占
有要求を発行したTR処理プログラムである場合には、
上記占有管理テーブルに、該TR処理プログラムに付与
されている識別子を登録する。最初に占有要求を発行し
たTR処理プログラムであるか否かの判定は、上記占有
管理テーブルに識別子が登録されているか否か、すなわ
ち、識別子が初期値であるか否かを判定することによ
り、行うことができる。
【0029】一方、TR処理プログラムが共用ファイル
の占有解除要求を発行すると、上記占有解除手段は、該
TR処理プログラムに付与されている識別子と上記占有
管理テーブルに登録されている識別子とを比較し、該T
R処理プログラムが共用ファイルを占有できるオンライ
ン処理を構成するものであるか否かを判定する。共用フ
ァイルを占有できるオンライン処理を構成するTR処理
プログラムであると判定した場合は、占有解除許可を通
知する。
の占有解除要求を発行すると、上記占有解除手段は、該
TR処理プログラムに付与されている識別子と上記占有
管理テーブルに登録されている識別子とを比較し、該T
R処理プログラムが共用ファイルを占有できるオンライ
ン処理を構成するものであるか否かを判定する。共用フ
ァイルを占有できるオンライン処理を構成するTR処理
プログラムであると判定した場合は、占有解除許可を通
知する。
【0030】また、共用ファイルを占有できるオンライ
ン処理を構成するTR処理プログラムでないと判定した
場合は、占有解除不許可を通知する。
ン処理を構成するTR処理プログラムでないと判定した
場合は、占有解除不許可を通知する。
【0031】なお、共用ファイルを占有できるオンライ
ン処理を構成するTR処理プログラムのうち、最後に占
有解除要求を発行したTR処理プログラムである場合に
は、占有管理テーブルに登録されている識別子を初期値
に戻す。
ン処理を構成するTR処理プログラムのうち、最後に占
有解除要求を発行したTR処理プログラムである場合に
は、占有管理テーブルに登録されている識別子を初期値
に戻す。
【0032】これにより、同一のオンライン処理を構成
する複数のTR処理プログラムが、連続して共用ファイ
ルの占有および占有された共用ファイルの占有解除を行
うことができる。
する複数のTR処理プログラムが、連続して共用ファイ
ルの占有および占有された共用ファイルの占有解除を行
うことができる。
【0033】
【実施例】以下、本発明の一実施例を図面を用いて説明
する。
する。
【0034】図1は、本発明の一実施例の排他制御方式
を適用したオンライン計算機システムの構成を示すブロ
ック図である。
を適用したオンライン計算機システムの構成を示すブロ
ック図である。
【0035】図中、1は端末、2は計算機システム、3
−1〜3−nはTR処理プログラム、4はOS、5は占
有手段、6は占有解除手段、7は排他制御手段、8は共
用ファイル、9は占有管理テーブルである。
−1〜3−nはTR処理プログラム、4はOS、5は占
有手段、6は占有解除手段、7は排他制御手段、8は共
用ファイル、9は占有管理テーブルである。
【0036】オンライン処理は、1つ以上のTR処理プ
ログラム3−1〜3−nにより構成されており、本実施
例では、オンライン処理ごとに割り当てられた識別子
を、該オンライン処理を構成する全てのTR処理プログ
ラム3−1〜3−nに付与するようにしている。この識
別子は、全オンライン処理の中で一意に識別できるもの
であり、各TR処理プログラムが起動されるたびに、自
ら生成するか、または、OS4より取得する。
ログラム3−1〜3−nにより構成されており、本実施
例では、オンライン処理ごとに割り当てられた識別子
を、該オンライン処理を構成する全てのTR処理プログ
ラム3−1〜3−nに付与するようにしている。この識
別子は、全オンライン処理の中で一意に識別できるもの
であり、各TR処理プログラムが起動されるたびに、自
ら生成するか、または、OS4より取得する。
【0037】図2は占有管理テーブル9の構成を示す図
である。
である。
【0038】図中、10は占有情報、11は識別子値、
12は占有累積値である。
12は占有累積値である。
【0039】占有管理テーブル9は、TR処理プログラ
ム3−1〜3−nが発行した共用ファイル8の占有要求
または占有解除要求に対して、占有手段5または占有解
除手段6が許可/不許可を判定する占有処理/占有解除
処理に用いられる。
ム3−1〜3−nが発行した共用ファイル8の占有要求
または占有解除要求に対して、占有手段5または占有解
除手段6が許可/不許可を判定する占有処理/占有解除
処理に用いられる。
【0040】詳しくは、識別子値11は、共用ファイル
8を占有しているオンライン処理を示すために用いら
れ、占有累積値12は、共用ファイル8を占有している
TR処理プログラムの数を数えるために用いられる。
8を占有しているオンライン処理を示すために用いら
れ、占有累積値12は、共用ファイル8を占有している
TR処理プログラムの数を数えるために用いられる。
【0041】そして、占有手段5は、TR処理プログラ
ムが発行した占有要求を受けた場合に、識別子値11が
初期値であるならば、該TR処理プログラムに付与され
ている識別子を登録し、占有累積値12をインクリメン
トし、該TR処理プログラムに占有許可を通知する。こ
れにより、共用ファイル8を占有できるオンライン処理
を特定し識別することができるようになる。
ムが発行した占有要求を受けた場合に、識別子値11が
初期値であるならば、該TR処理プログラムに付与され
ている識別子を登録し、占有累積値12をインクリメン
トし、該TR処理プログラムに占有許可を通知する。こ
れにより、共用ファイル8を占有できるオンライン処理
を特定し識別することができるようになる。
【0042】また、占有手段5は、TR処理プログラム
が発行した占有要求を受けた場合に、識別子値11が登
録されているならば、登録されている識別子値11と該
TR処理プログラムに付与されている識別子とを比較
し、両者が等しいならば、占有累積値12をインクリメ
ントし、該TR処理プログラムに占有許可を通知し、両
者が等しくないならば、該TR処理プログラムに占有不
許可を通知する。これにより、共用ファイル8を占有で
きるオンライン処理を構成するTR処理プログラムにの
み、占有許可を通知することができるようになる。
が発行した占有要求を受けた場合に、識別子値11が登
録されているならば、登録されている識別子値11と該
TR処理プログラムに付与されている識別子とを比較
し、両者が等しいならば、占有累積値12をインクリメ
ントし、該TR処理プログラムに占有許可を通知し、両
者が等しくないならば、該TR処理プログラムに占有不
許可を通知する。これにより、共用ファイル8を占有で
きるオンライン処理を構成するTR処理プログラムにの
み、占有許可を通知することができるようになる。
【0043】占有解除手段6は、TR処理プログラムが
発行した占有解除要求を受けた場合に、登録されている
識別子値11と該TR処理プログラムに付与されている
識別子とを比較し、両者が等しいならば、占有累積値1
2をデクリメントし、該TR処理プログラムに占有解除
許可を通知し、両者が等しくないならば、該TR処理プ
ログラムに占有解除不許可を通知する。これにより、共
用ファイル8を占有できるオンライン処理を構成するT
R処理プログラムにのみ、占有解除許可を通知すること
ができるようになる。
発行した占有解除要求を受けた場合に、登録されている
識別子値11と該TR処理プログラムに付与されている
識別子とを比較し、両者が等しいならば、占有累積値1
2をデクリメントし、該TR処理プログラムに占有解除
許可を通知し、両者が等しくないならば、該TR処理プ
ログラムに占有解除不許可を通知する。これにより、共
用ファイル8を占有できるオンライン処理を構成するT
R処理プログラムにのみ、占有解除許可を通知すること
ができるようになる。
【0044】また、占有解除手段6は、占有累積値12
をデクリメントした結果、占有累積値12が初期値にな
ったならば、登録されている識別子値11を初期値に戻
す。これにより、共用ファイル8を占有しているTR処
理プログラムがなくなるまでは、異なるオンライン処理
を構成するTR処理プログラムが発行した占有要求を排
除することができるようになる。
をデクリメントした結果、占有累積値12が初期値にな
ったならば、登録されている識別子値11を初期値に戻
す。これにより、共用ファイル8を占有しているTR処
理プログラムがなくなるまでは、異なるオンライン処理
を構成するTR処理プログラムが発行した占有要求を排
除することができるようになる。
【0045】以下、本実施例の動作を詳細に説明する。
【0046】例えば、先発のオンライン処理はTR処理
プログラム3−1およびTR処理プログラム3−2によ
り構成され、後発のオンライン処理はTR処理プログラ
ム3−11およびTR処理プログラム3−12により構
成されているものとする。
プログラム3−1およびTR処理プログラム3−2によ
り構成され、後発のオンライン処理はTR処理プログラ
ム3−11およびTR処理プログラム3−12により構
成されているものとする。
【0047】同一のオンライン処理を構成する各TR処
理プログラムは、該オンライン処理が起動された時点
で、占有要求を発行し、該オンライン処理が完結した時
点で、占有解除要求を発行する。
理プログラムは、該オンライン処理が起動された時点
で、占有要求を発行し、該オンライン処理が完結した時
点で、占有解除要求を発行する。
【0048】図3は占有手段5による占有処理の処理手
順を示すフローチャートである。
順を示すフローチャートである。
【0049】図3において、端末1で先発のオンライン
処理が起動されると、まず、TR処理プログラム3−1
が共有ファイル8の占有要求を発行し、占有手段5は、
OS4の排他制御手段7を用いて、占有管理テーブル9
の占有状態をチェックする(ステップ30)、他のTR
処理プログラムが占有処理または占有解除処理の手続き
中であると、占有管理テーブル9が占有されているの
で、この場合は、要求元のTR処理プログラム3−1に
占有不許可を通知する(ステップ39)。
処理が起動されると、まず、TR処理プログラム3−1
が共有ファイル8の占有要求を発行し、占有手段5は、
OS4の排他制御手段7を用いて、占有管理テーブル9
の占有状態をチェックする(ステップ30)、他のTR
処理プログラムが占有処理または占有解除処理の手続き
中であると、占有管理テーブル9が占有されているの
で、この場合は、要求元のTR処理プログラム3−1に
占有不許可を通知する(ステップ39)。
【0050】他のTR処理プログラムが占有管理テーブ
ル9を占有していない場合は、OS4の排他制御手段7
を用いて、占有管理テーブル9の占有処理中を宣言し
(ステップ31)、次に示す処理を行った後、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有処
理終了を宣言し(ステップ36)、占有処理を終了す
る。
ル9を占有していない場合は、OS4の排他制御手段7
を用いて、占有管理テーブル9の占有処理中を宣言し
(ステップ31)、次に示す処理を行った後、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有処
理終了を宣言し(ステップ36)、占有処理を終了す
る。
【0051】すなわち、占有手段5は、まず、OS4の
排他制御手段7を用いて、要求元のTR処理プログラム
3−1が、オンライン処理を構成する全てのTR処理プ
ログラムのうちで、共用ファイル8の占有要求を最初に
発行したものであるか否かを判定する(ステップ3
2)。この判定は、占有管理テーブル9の占有情報10
内の識別子値11が初期値と等しいか否かを判定するこ
とにより、行うことができる。
排他制御手段7を用いて、要求元のTR処理プログラム
3−1が、オンライン処理を構成する全てのTR処理プ
ログラムのうちで、共用ファイル8の占有要求を最初に
発行したものであるか否かを判定する(ステップ3
2)。この判定は、占有管理テーブル9の占有情報10
内の識別子値11が初期値と等しいか否かを判定するこ
とにより、行うことができる。
【0052】本例では、要求元のTR処理プログラム3
−1は、オンライン処理を構成する全てのTR処理プロ
グラムのうちで、共用ファイル8の占有要求を最初に発
行したものであるので、続いて、OS4の排他制御手段
7を用いて、占有管理テーブル9の占有情報10内の識
別子値11に、TR処理プログラム3−1に付与されて
いる識別子を登録し(ステップ37)、占有管理テーブ
ル9の占有情報10内の占有累積値12をインクリメン
トする(ステップ34)。その後、占有手段5は、要求
元のTR処理プログラム3−1に占有許可を通知する
(ステップ35)。
−1は、オンライン処理を構成する全てのTR処理プロ
グラムのうちで、共用ファイル8の占有要求を最初に発
行したものであるので、続いて、OS4の排他制御手段
7を用いて、占有管理テーブル9の占有情報10内の識
別子値11に、TR処理プログラム3−1に付与されて
いる識別子を登録し(ステップ37)、占有管理テーブ
ル9の占有情報10内の占有累積値12をインクリメン
トする(ステップ34)。その後、占有手段5は、要求
元のTR処理プログラム3−1に占有許可を通知する
(ステップ35)。
【0053】占有許可を通知されたTR処理プログラム
3−1は、共用ファイル8内のレコードアドレスを含む
アクセス要求を発行することにより、共用ファイル8内
のレコードにアクセスすることができる。
3−1は、共用ファイル8内のレコードアドレスを含む
アクセス要求を発行することにより、共用ファイル8内
のレコードにアクセスすることができる。
【0054】さて、TR処理プログラム3−1が占有処
理を終了して、共用ファイル8を占有している間、TR
処理プログラム3−1と同一のオンライン処理を構成す
るTR処理プログラム3−2が続いて共用ファイル8の
占有要求を発行すると、占有手段5は、OS4の排他制
御手段7を用いて、占有管理テーブル9の占有状態をチ
ェックする(ステップ30)。
理を終了して、共用ファイル8を占有している間、TR
処理プログラム3−1と同一のオンライン処理を構成す
るTR処理プログラム3−2が続いて共用ファイル8の
占有要求を発行すると、占有手段5は、OS4の排他制
御手段7を用いて、占有管理テーブル9の占有状態をチ
ェックする(ステップ30)。
【0055】本例では、他のTR処理プログラムが占有
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、要求元のTR処理プログラム
3−2が、オンライン処理を構成する全てのTR処理プ
ログラムのうちで、共用ファイル8の占有要求を最初に
発行したものであるか否かを判定する(ステップ3
2)。
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、要求元のTR処理プログラム
3−2が、オンライン処理を構成する全てのTR処理プ
ログラムのうちで、共用ファイル8の占有要求を最初に
発行したものであるか否かを判定する(ステップ3
2)。
【0056】本例では、既に、TR処理プログラム3−
1が占有要求を発行した際に、占有管理テーブル9に占
有情報10を登録した後であることから、要求元のTR
処理プログラム3−2は、オンライン処理を構成する全
てのTR処理プログラムのうちで、共用ファイル8の占
有要求を最初に発行したものでないと判定され、続い
て、OS4の排他制御手段7を用いて、占有管理テーブ
ル9の占有情報10内の識別子値11と、TR処理プロ
グラム3−2に付与されている識別子とが等しいか否か
を判定する(ステップ33)。
1が占有要求を発行した際に、占有管理テーブル9に占
有情報10を登録した後であることから、要求元のTR
処理プログラム3−2は、オンライン処理を構成する全
てのTR処理プログラムのうちで、共用ファイル8の占
有要求を最初に発行したものでないと判定され、続い
て、OS4の排他制御手段7を用いて、占有管理テーブ
ル9の占有情報10内の識別子値11と、TR処理プロ
グラム3−2に付与されている識別子とが等しいか否か
を判定する(ステップ33)。
【0057】本例では、占有管理テーブル9の占有情報
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
2に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をインクリ
メントする(ステップ34)。その後、占有手段5は、
要求元のTR処理プログラム3−2に占有許可を通知す
る(ステップ35)。
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
2に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をインクリ
メントする(ステップ34)。その後、占有手段5は、
要求元のTR処理プログラム3−2に占有許可を通知す
る(ステップ35)。
【0058】占有許可を通知されたTR処理プログラム
3−2は、共用ファイル8内のレコードアドレスを含む
アクセス要求を発行することにより、共用ファイル8内
のレコードにアクセスすることができる。
3−2は、共用ファイル8内のレコードアドレスを含む
アクセス要求を発行することにより、共用ファイル8内
のレコードにアクセスすることができる。
【0059】なお、同一のオンライン処理を構成するT
R処理プログラムであっても、他のTR処理プログラム
がアクセスしている共用ファイル8のレコードにアクセ
スすることはできず、これは、排他制御手段7により、
従来と同様にして、排他制御される。
R処理プログラムであっても、他のTR処理プログラム
がアクセスしている共用ファイル8のレコードにアクセ
スすることはできず、これは、排他制御手段7により、
従来と同様にして、排他制御される。
【0060】排他制御手段7の動作を簡単に説明する。
【0061】図6は排他制御テーブル13の構成を示す
図である。
図である。
【0062】図中、14はレコードアドレス、15はア
クセスフラグである。
クセスフラグである。
【0063】排他制御テーブル13は、図1においては
示していないが、排他制御手段7が共用ファイル8内の
同一レコードへアクセスできるTR処理プログラムを1
つに制御する排他制御処理に用いられ、共用ファイル8
内のレコードごとに、該レコードがTR処理プログラム
によりアクセスされているか否かの情報を格納する。
示していないが、排他制御手段7が共用ファイル8内の
同一レコードへアクセスできるTR処理プログラムを1
つに制御する排他制御処理に用いられ、共用ファイル8
内のレコードごとに、該レコードがTR処理プログラム
によりアクセスされているか否かの情報を格納する。
【0064】排他制御手段7は、TR処理プログラムか
ら共用ファイル8内のレコードアドレスを含むアクセス
要求を受けると、排他制御テーブル13を参照し、該ア
クセス要求に含まれたレコードアドレスに対応するアク
セスフラグ15を調べ、他のTR処理プログラムにより
アクセスされていないときは、アクセスフラグ15を登
録し、要求元のTR処理プログラムにアクセス許可を通
知し、アクセスされているときには、要求元のTR処理
プログラムにアクセス不許可を通知する。また、TR処
理プログラムから共用ファイル8内のレコードアドレス
を含むアクセス解除要求を受けると、該アクセス解除要
求に含まれたレコードアドレスに対応するアクセスフラ
グ15を解除する。
ら共用ファイル8内のレコードアドレスを含むアクセス
要求を受けると、排他制御テーブル13を参照し、該ア
クセス要求に含まれたレコードアドレスに対応するアク
セスフラグ15を調べ、他のTR処理プログラムにより
アクセスされていないときは、アクセスフラグ15を登
録し、要求元のTR処理プログラムにアクセス許可を通
知し、アクセスされているときには、要求元のTR処理
プログラムにアクセス不許可を通知する。また、TR処
理プログラムから共用ファイル8内のレコードアドレス
を含むアクセス解除要求を受けると、該アクセス解除要
求に含まれたレコードアドレスに対応するアクセスフラ
グ15を解除する。
【0065】なお、排他制御手段7は、占有手段5およ
び占有解除手段6により、同一のオンライン処理を構成
するTR処理プログラムのみが、共用ファイル8を占有
することとなるので、同一のオンライン処理を構成する
TR処理プログラムの間で排他制御を行うこととなる。
び占有解除手段6により、同一のオンライン処理を構成
するTR処理プログラムのみが、共用ファイル8を占有
することとなるので、同一のオンライン処理を構成する
TR処理プログラムの間で排他制御を行うこととなる。
【0066】本例では、TR処理プログラム3−1およ
びTR処理プログラム3−2が共に共用ファイル8を占
有しているが、TR処理プログラム3−1がアクセスし
ているレコードに対して、TR処理プログラム3−2が
アクセスしようとしても、排他制御手段7の動作によ
り、TR処理プログラム3−1のアクセスが終了するま
で、TR処理プログラム3−2は待たされることとな
る。
びTR処理プログラム3−2が共に共用ファイル8を占
有しているが、TR処理プログラム3−1がアクセスし
ているレコードに対して、TR処理プログラム3−2が
アクセスしようとしても、排他制御手段7の動作によ
り、TR処理プログラム3−1のアクセスが終了するま
で、TR処理プログラム3−2は待たされることとな
る。
【0067】一方、TR処理プログラム3−1が占有処
理を終了して、共用ファイル8を占有している間、後発
のオンライン処理が起動され、後発のオンライン処理を
構成するTR処理プログラム3−11が共用ファイル8
の占有要求を発行すると、占有手段5は、OS4の排他
制御手段7を用いて、占有管理テーブル9の占有状態を
チェックする(ステップ30)。
理を終了して、共用ファイル8を占有している間、後発
のオンライン処理が起動され、後発のオンライン処理を
構成するTR処理プログラム3−11が共用ファイル8
の占有要求を発行すると、占有手段5は、OS4の排他
制御手段7を用いて、占有管理テーブル9の占有状態を
チェックする(ステップ30)。
【0068】本例では、他のTR処理プログラムが占有
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、要求元のTR処理プログラム
3−11が、オンライン処理を構成する全てのTR処理
プログラムのうちで、共用ファイル8の占有要求を最初
に発行したものであるか否かを判定する(ステップ3
2)。
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、要求元のTR処理プログラム
3−11が、オンライン処理を構成する全てのTR処理
プログラムのうちで、共用ファイル8の占有要求を最初
に発行したものであるか否かを判定する(ステップ3
2)。
【0069】本例では、既に、先発のオンライン処理を
構成するTR処理プログラム3−1が占有要求を発行し
た際に、占有管理テーブル9に占有情報10を登録した
後であることから、要求元のTR処理プログラム3−1
1は、オンライン処理を構成する全てのTR処理プログ
ラムのうちで、共用ファイル8の占有要求を最初に発行
したものでないと判定され、続いて、OS4の排他制御
手段7を用いて、占有管理テーブル9の占有情報10内
の識別子値11と、TR処理プログラム3−11に付与
されている識別子とが等しいか否かを判定する(ステッ
プ33)。
構成するTR処理プログラム3−1が占有要求を発行し
た際に、占有管理テーブル9に占有情報10を登録した
後であることから、要求元のTR処理プログラム3−1
1は、オンライン処理を構成する全てのTR処理プログ
ラムのうちで、共用ファイル8の占有要求を最初に発行
したものでないと判定され、続いて、OS4の排他制御
手段7を用いて、占有管理テーブル9の占有情報10内
の識別子値11と、TR処理プログラム3−11に付与
されている識別子とが等しいか否かを判定する(ステッ
プ33)。
【0070】本例では、占有管理テーブル9の占有情報
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
11に付与された識別子と等しくないと判定される。そ
こで、占有手段5は、要求元のTR処理プログラム3−
11に占有不許可を通知する(ステップ38)。
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
11に付与された識別子と等しくないと判定される。そ
こで、占有手段5は、要求元のTR処理プログラム3−
11に占有不許可を通知する(ステップ38)。
【0071】占有不許可を通知されたTR処理プログラ
ム3−11は、アクセス要求を発行することができな
い。
ム3−11は、アクセス要求を発行することができな
い。
【0072】図4は、占有解除手段6による占有解除処
理の処理手順を示すフローチャートである。
理の処理手順を示すフローチャートである。
【0073】図4において、端末1で実行されている先
発のオンライン処理が完結し、まず、TR処理プログラ
ム3−1が共有ファイル8に占有解除要求を発行する
と、占有解除手段6は、OS4の排他制御手段7を用い
て、他のTR処理プログラムによる占有管理テーブル9
の占有状態のチェックを行い(ステップ40)、他のT
R処理プログラムが占有処理または占有解除処理の手続
き中であると、占有管理テーブル9が占有されているの
で、この場合は、要求元のTR処理プログラム3−1に
占有解除不許可を通知する(ステップ48)。
発のオンライン処理が完結し、まず、TR処理プログラ
ム3−1が共有ファイル8に占有解除要求を発行する
と、占有解除手段6は、OS4の排他制御手段7を用い
て、他のTR処理プログラムによる占有管理テーブル9
の占有状態のチェックを行い(ステップ40)、他のT
R処理プログラムが占有処理または占有解除処理の手続
き中であると、占有管理テーブル9が占有されているの
で、この場合は、要求元のTR処理プログラム3−1に
占有解除不許可を通知する(ステップ48)。
【0074】他のTR処理プログラムが占有管理テーブ
ル9を占有していない場合は、OS4の排他制御手段7
を用いて、占有管理テーブル9の占有処理中を宣言し
(ステップ41)、次に示す処理を行った後、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有処
理終了を宣言し(ステップ47)、占有解除処理を終了
する。
ル9を占有していない場合は、OS4の排他制御手段7
を用いて、占有管理テーブル9の占有処理中を宣言し
(ステップ41)、次に示す処理を行った後、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有処
理終了を宣言し(ステップ47)、占有解除処理を終了
する。
【0075】すなわち、占有解除手段6は、まず、OS
4の排他制御手段7を用いて、占有管理テーブル9の占
有情報10内の識別子値11と、TR処理プログラム3
−1に付与されている識別子とが等しいか否かを判定す
る(ステップ42)。
4の排他制御手段7を用いて、占有管理テーブル9の占
有情報10内の識別子値11と、TR処理プログラム3
−1に付与されている識別子とが等しいか否かを判定す
る(ステップ42)。
【0076】本例では、占有管理テーブル9の占有情報
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
1に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をデクリメ
ントする(ステップ43)。その後、占有解除手段6
は、要求元のTR処理プログラム3−1に占有解除許可
を通知する(ステップ46)。
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
1に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をデクリメ
ントする(ステップ43)。その後、占有解除手段6
は、要求元のTR処理プログラム3−1に占有解除許可
を通知する(ステップ46)。
【0077】さて、TR処理プログラム3−1が占有解
除処理を終了した後、TR処理プログラム3−1と同一
のオンライン処理を構成するTR処理プログラム3−2
が続いて占有解除要求を発行すると、占有解除手段6
は、OS4の排他制御手段7を用いて、占有管理テーブ
ル9の占有状態をチェックする(ステップ40)。
除処理を終了した後、TR処理プログラム3−1と同一
のオンライン処理を構成するTR処理プログラム3−2
が続いて占有解除要求を発行すると、占有解除手段6
は、OS4の排他制御手段7を用いて、占有管理テーブ
ル9の占有状態をチェックする(ステップ40)。
【0078】本例では、他のTR処理プログラムが占有
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有情
報10内の識別子値11と、TR処理プログラム3−1
1に付与されている識別子とが等しいか否かを判定する
(ステップ42)。
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有情
報10内の識別子値11と、TR処理プログラム3−1
1に付与されている識別子とが等しいか否かを判定する
(ステップ42)。
【0079】本例では、占有管理テーブル9の占有情報
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
2に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をデクリメ
ントする(ステップ43)。
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
2に付与された識別子と等しいと判定され、占有管理テ
ーブル9の占有情報10内の占有累積値12をデクリメ
ントする(ステップ43)。
【0080】このとき、占有累積値12が初期値と等し
くなり(ステップ44)、オンライン処理を構成する全
てのTR処理プログラムによる共用ファイル8の占有が
解除されるので、占有管理テーブル9の占有情報10内
の識別子値11を初期値に戻し、占有管理テーブル9の
占有情報10を取り消す(ステップ45)。その後、占
有解除手段6は、要求元のTR処理プログラム3−2に
占有解除許可を通知する(ステップ46)。
くなり(ステップ44)、オンライン処理を構成する全
てのTR処理プログラムによる共用ファイル8の占有が
解除されるので、占有管理テーブル9の占有情報10内
の識別子値11を初期値に戻し、占有管理テーブル9の
占有情報10を取り消す(ステップ45)。その後、占
有解除手段6は、要求元のTR処理プログラム3−2に
占有解除許可を通知する(ステップ46)。
【0081】占有管理テーブル9の占有情報10が取り
消されると、後発のオンライン処理を構成するTR処理
プログラム3−11による共用ファイル8の占有が可能
になる。
消されると、後発のオンライン処理を構成するTR処理
プログラム3−11による共用ファイル8の占有が可能
になる。
【0082】一方、占有管理テーブル9の占有情報10
が取り消される前に、後発のオンライン処理を構成する
TR処理プログラム3−11が共用ファイル8の占有解
除要求を発行すると、占有解除手段6は、まず、OS4
の排他制御手段7を用いて、占有管理テーブル9の占有
状態をチェックする(ステップ40)。
が取り消される前に、後発のオンライン処理を構成する
TR処理プログラム3−11が共用ファイル8の占有解
除要求を発行すると、占有解除手段6は、まず、OS4
の排他制御手段7を用いて、占有管理テーブル9の占有
状態をチェックする(ステップ40)。
【0083】本例では、他のTR処理プログラムが占有
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有情
報10内の識別子値11と、TR処理プログラム3−1
1に付与されている識別子とが等しいか否かを判定する
(ステップ42)。
管理テーブル9を占有していないので、まず、OS4の
排他制御手段7を用いて、占有管理テーブル9の占有情
報10内の識別子値11と、TR処理プログラム3−1
1に付与されている識別子とが等しいか否かを判定する
(ステップ42)。
【0084】本例では、占有管理テーブル9の占有情報
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
11に付与された識別子と等しくないと判定される。そ
こで、占有解除手段6は、要求元のTR処理プログラム
3−11に占有解除不許可を通知する(ステップ4
9)。
10内の識別子値11は、TR処理プログラム3−1に
付与された識別子であるので、TR処理プログラム3−
11に付与された識別子と等しくないと判定される。そ
こで、占有解除手段6は、要求元のTR処理プログラム
3−11に占有解除不許可を通知する(ステップ4
9)。
【0085】以上説明したように、本実施例によれば、
占有管理テーブル9を用いることにより、同一のオンラ
イン処理を構成する複数のTR処理プログラム3−1〜
3−nのみが、該オンライン処理が完結するまで、共用
ファイル8を占有することができ、異なるオンライン処
理を構成するTR処理プログラム3−1〜3−nは、共
用ファイル8を占有することができないようにすること
ができる。そこで、並列処理方式を採用した際に、複数
のオンライン処理を構成する複数のTR処理プログラム
3−1〜3−nが起動された場合でも、オンライン処理
間で、共用ファイル8の競合を防止することが可能とな
る。
占有管理テーブル9を用いることにより、同一のオンラ
イン処理を構成する複数のTR処理プログラム3−1〜
3−nのみが、該オンライン処理が完結するまで、共用
ファイル8を占有することができ、異なるオンライン処
理を構成するTR処理プログラム3−1〜3−nは、共
用ファイル8を占有することができないようにすること
ができる。そこで、並列処理方式を採用した際に、複数
のオンライン処理を構成する複数のTR処理プログラム
3−1〜3−nが起動された場合でも、オンライン処理
間で、共用ファイル8の競合を防止することが可能とな
る。
【0086】
【発明の効果】以上説明したように、本発明によれば、
同一のオンライン処理を構成するTR処理プログラムの
みが、共用資源を占有できるので、並列処理方式を採用
した際に、複数のオンライン処理を構成する複数のTR
処理プログラムが同時に起動された場合でも、競合管理
を必要とする共用資源の排他制御が可能となるので、オ
ンライン処理の信頼性が向上するという効果がある。
同一のオンライン処理を構成するTR処理プログラムの
みが、共用資源を占有できるので、並列処理方式を採用
した際に、複数のオンライン処理を構成する複数のTR
処理プログラムが同時に起動された場合でも、競合管理
を必要とする共用資源の排他制御が可能となるので、オ
ンライン処理の信頼性が向上するという効果がある。
【図1】本実施例の排他制御方式を適用した計算機シス
テムの構成を示すブロック図。
テムの構成を示すブロック図。
【図2】占有管理テーブルの構成図。
【図3】占有手段による占有処理の処理手順を示すフロ
ーチャート。
ーチャート。
【図4】占有解除手段による占有解除処理の処理手順を
示すフローチャート。
示すフローチャート。
【図5】従来方式の問題点を示す説明図。
【図6】排他制御テーブルの構成図。
1…端末、2…計算機システム、3−1〜3−n…TR
処理プログラム、4…OS、5…占有手段、6…占有解
除手段、7…排他制御手段、8…共用ファイル、9…占
有管理テーブル、10…占有情報、11…識別子値、1
2…占有累積値、13…排他制御テーブル、14…レコ
ードアドレス、15…アクセスフラグ。
処理プログラム、4…OS、5…占有手段、6…占有解
除手段、7…排他制御手段、8…共用ファイル、9…占
有管理テーブル、10…占有情報、11…識別子値、1
2…占有累積値、13…排他制御テーブル、14…レコ
ードアドレス、15…アクセスフラグ。
Claims (5)
- 【請求項1】共用資源を有する計算機システムと複数の
端末とが通信路を介して接続され、上記端末との間の上
記共用資源に対するアクセス要求を含むオンライン処理
を複数のトランザクション処理プログラムの実行によっ
て行い、該オンライン処理を複数個並列処理することが
できるオンライン計算機システムにおいて、 上記共用資源を占有しているオンライン処理を識別する
ための識別子を登録するための占有管理テーブルと、 オンライン処理ごとに割り当てられた識別子を、該オン
ライン処理を構成するトランザクション処理プログラム
に付与する識別子付与手段と、 トランザクション処理プログラムから上記識別子を含む
占有要求を受けると、上記占有管理テーブルに上記識別
子が登録されているか否かを調べ、登録されていないと
きには、該占有要求に含まれた識別子を上記占有管理テ
ーブルに登録して、要求元のトランザクション処理プロ
グラムに占有許可を通知し、登録されているときには、
登録されている識別子と該占有要求に含まれた識別子と
を比較し、両者が等しい場合は、要求元のトランザクシ
ョン処理プログラムに占有許可を通知し、両者が等しく
ない場合は、要求元のトランザクション処理プログラム
に占有不許可を通知する占有手段と、 トランザクション処理プログラムから上記識別子を含む
占有解除要求を受けると、該占有解除要求に含まれた識
別子とを比較し、両者が等しい場合は、要求元のトラン
ザクション処理プログラムに占有解除許可を通知する占
有解除手段とを備えたことを特徴とする排他制御方式。 - 【請求項2】請求項1記載の排他制御方式において、 上記共用資源内の同一情報へアクセスできるトランザク
ション処理プログラムを1つに制御する排他制御手段
を、さらに備えたことを特徴とする排他制御方式。 - 【請求項3】請求項1または2記載の排他制御方式にお
いて、 上記占有解除手段は、上記共用資源を占有しているオン
ライン処理を構成するトランザクション処理プログラム
のうちで、実際に共用資源を占有しているトランザクシ
ョン処理プログラムがなくなると、上記占有管理テーブ
ルに登録されている識別子を取り消すことを特徴とする
排他制御方式。 - 【請求項4】請求項1または2記載の排他制御方式にお
いて、 上記占有管理テーブルは、上記共用資源を占有している
トランザクション処理プログラムの数を登録するための
占有累積値を有し、 上記占有手段は、上記共用資源を占有しているトランザ
クション処理プログラムの数をカウントアップし、 上記占有解除手段は、上記共用資源を占有しているトラ
ンザクション処理プログラムの数をカウントダウンし、
カウントダウンした結果、上記占有累積値が初期値にな
ったときに、上記占有管理テーブルに登録されている識
別子を取り消すことを特徴とする排他制御方式。 - 【請求項5】請求項1,2,3または4記載の排他制御
方式において、 上記占有手段および上記占有解除手段は、その動作中
に、他のトランザクション処理プログラムがらの占有要
求および占有解除要求を受けた場合は、該トランザクシ
ョン処理プログラムに占有不許可および占有解除不許可
を通知することを特徴とする排他制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17261891A JPH0520269A (ja) | 1991-07-12 | 1991-07-12 | 排他制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17261891A JPH0520269A (ja) | 1991-07-12 | 1991-07-12 | 排他制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0520269A true JPH0520269A (ja) | 1993-01-29 |
Family
ID=15945218
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17261891A Pending JPH0520269A (ja) | 1991-07-12 | 1991-07-12 | 排他制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0520269A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001229058A (ja) * | 2000-02-16 | 2001-08-24 | Hitachi Ltd | データベースサーバ処理方法 |
| US6332160B1 (en) | 1997-06-27 | 2001-12-18 | Nec Corporation | Method for matching distributed transactions and machine-readable recording medium with method programs |
| US8337215B2 (en) | 2010-07-30 | 2012-12-25 | Tyco Electronics Holdings (Bermuda) No. 7 Limited | Card-edge connector |
-
1991
- 1991-07-12 JP JP17261891A patent/JPH0520269A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6332160B1 (en) | 1997-06-27 | 2001-12-18 | Nec Corporation | Method for matching distributed transactions and machine-readable recording medium with method programs |
| JP2001229058A (ja) * | 2000-02-16 | 2001-08-24 | Hitachi Ltd | データベースサーバ処理方法 |
| US8337215B2 (en) | 2010-07-30 | 2012-12-25 | Tyco Electronics Holdings (Bermuda) No. 7 Limited | Card-edge connector |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5502840A (en) | Method and apparatus for advising a requesting process of a contention scheme to employ to access a shared resource | |
| US5459862A (en) | Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer | |
| US5450592A (en) | Shared resource control using a deferred operations list | |
| US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
| EP0665495A2 (en) | A distributed lock manager using a passive, state-full control-server | |
| JPH1165863A (ja) | 共有資源管理方法 | |
| JP2699600B2 (ja) | 資源の排他制御方式 | |
| JPH07319714A (ja) | 適切なオブジェクト・オーナシップ・モデルを選択的に適用する方法およびシステム | |
| EP0365728B1 (en) | Resource access for a multiprocessing computer system | |
| JPH1115793A (ja) | 資源の保全性を保護する方法 | |
| JPH04182858A (ja) | 共有メモリ管理方式 | |
| US6430641B1 (en) | Methods, arbiters, and computer program products that can improve the performance of a pipelined dual bus data processing system | |
| JPH08129492A (ja) | 資源排他チェックシステム及び資源排他チェック方法 | |
| JPH08328884A (ja) | 資源管理装置 | |
| JPH09330240A (ja) | 資源排他制御方式 | |
| JP2588175B2 (ja) | ハツシユ・テ−ブル・エントリ排他処理装置 | |
| JPH0367342A (ja) | オペレーテイングシステムのフアイルアクセス管理方式 | |
| JP2518268B2 (ja) | 共用資源プ−ル管理方式 | |
| JPH06161861A (ja) | ファイル処理制御システム | |
| JPH02242363A (ja) | 共用資源制御方式 | |
| JPH03116261A (ja) | マルチプロセッサ制御方式 | |
| CN121833142A (zh) | 分布式事务处理方法、系统、设备、存储介质和程序产品 | |
| JP2806360B2 (ja) | ジョブ管理装置 | |
| JPH02194442A (ja) | 共有資源制御装置 | |
| JPS6324442A (ja) | デ−タベ−ス排他制御方式 |