JPH07129452A - 排他制御方式 - Google Patents
排他制御方式Info
- Publication number
- JPH07129452A JPH07129452A JP5291549A JP29154993A JPH07129452A JP H07129452 A JPH07129452 A JP H07129452A JP 5291549 A JP5291549 A JP 5291549A JP 29154993 A JP29154993 A JP 29154993A JP H07129452 A JPH07129452 A JP H07129452A
- Authority
- JP
- Japan
- Prior art keywords
- program
- priority
- information
- update
- exclusive
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ることのない排他制御を実現する。 【構成】 排他解除待ち判定手段6は、利用者指定情報
1中の判定時点情報によって示される時点において、解
除待ちプログラムの有無を判定する。プライオリティ判
定手段7は、解除待ちプログラムが存在する場合に、プ
ライオリティ記憶手段3に記憶されているプライオリテ
ィに基づいて解除待ちプログラムと制御対象プログラム
との間の優先度を判定する。プライオリティ判定手段7
により「解除待ちプログラムを優先させるべきである」
と判定された場合に、トランザクションバックアウト手
段8は制御対象プログラムによって更新されたデータレ
コードの更新前レコードイメージをジャーナルファイル
9からデータベースファイル10に戻し、排他制御手段
4は解除待ちプログラムの待ち状態を解除する。
Description
ば、データベースファイル)内のデータレコードを複数
のプログラムが同時に検索/更新しようとする場合の排
他制御をデータレコードの集合であるブロック単位で行
う排他制御方式に関する。
に示すような構成要素によって次のような排他制御が行
われていた。
ログラム等)内のデータレコード検索/更新手段32
は、利用者指定情報31(処理対象のデータレコードを
特定する情報と処理内容(「検索」または「更新」)を
示す情報とからなる情報)に基づき、排他制御の対象で
あるデータファイル(データベースファイル35)内の
データレコードに対する検索/更新処理(検索処理また
は更新処理)を行う。
れる際に、データレコード検索/更新手段32はオペレ
ーティングシステムの管理下にある排他制御手段33を
呼び出す。
4に記憶されているブロック毎の排他情報(そのブロッ
クの排他状態(ロックされているか否か等)を示す情報
等)に基づき、処理対象のデータレコードが含まれるブ
ロック(以下、「処理対象ブロック」という)が他のプ
ログラム(データレコード検索/更新手段32を有する
プログラム以外のプログラム)によりロックされている
か否か(排他状態であるか否か)を判定する。
が他のプログラムによりロックされていない」と判定し
た場合には、データレコード検索/更新手段32に検索
/更新処理を行わせる。
ロックが他のプログラムによりロックされている」と判
定した場合には、当該他のプログラムのロックの解除後
にデータレコード検索/更新手段32に検索/更新処理
を行わせる。
御方式では、複数のプログラムによる同一のブロックに
対するデータレコードの検索/更新処理が競合する場合
に、そのブロック内のデータレコードを先にアクセスし
たプログラムに係る処理が優先的に行われるので、後続
のプログラムに係る処理の方が緊急性を有する(優先す
べきである)場合でも、先行のプログラムに係る処理が
開始された後には先行のプログラムがロックを解除する
まで後続のプログラムに係る処理は待たされることにな
るという欠点があった。すなわち、緊急性を有するプロ
グラムの性能が劣化することになるという欠点があっ
た。
ブロック内のデータレコードを検索/更新する複数のプ
ログラムの各々のプライオリティ(排他制御に関する処
理の優先度)の判断を行い、プライオリティの高いプロ
グラム(緊急性を有するプログラム)が後続のプログラ
ムであっても優先的にそのプログラムの処理を行わせる
ことにより、緊急性を有するプログラムの性能を劣化さ
せない排他制御を実現する排他制御方式を提供すること
にある。
ての排他制御に関する従来技術としては、「特開平3−
288235号(計算機資源の排他制御方式)」が公表
されている。しかし、この従来技術は、待ち状態にある
プログラムやタスク間の競合資源のスケジューリングに
関する排他制御であり、すでに処理が開始されているプ
ログラム(先行のプログラム)と待ち状態にあるプログ
ラム(後続のプログラム)との間の排他制御に関する技
術である本発明とはその構成および着眼点等を異にする
ものである。
は、データファイルに格納されたデータレコードが複数
のプログラムによって検索/更新される情報処理システ
ムにおける排他制御方式において、利用者指定情報中の
プライオリティ更新情報を反映して各プログラムのプラ
イオリティを記憶するプライオリティ記憶手段と、前記
データファイルにおけるブロック毎の排他情報を記憶す
る排他情報記憶手段と、利用者指定情報に基づいて前記
データファイル内のデータレコードの検索/更新処理を
行いデータレコードの更新処理を行った場合に更新前レ
コードイメージをジャーナルファイルに格納するデータ
レコード検索/更新手段と、利用者指定情報中の判定時
点情報によって示される時点において解除待ちプログラ
ムが存在するか否かを判定する排他解除待ち判定手段
と、この排他解除待ち判定手段により「解除待ちプログ
ラムが存在する」と判定された場合に解除待ちプログラ
ムと制御対象プログラムとのどちらを優先させるべきで
あるかを前記プライオリティ記憶手段に記憶されている
プライオリティに基づいて判定するプライオリティ判定
手段と、このプライオリティ判定手段により「解除待ち
プログラムを優先させるべきである」と判定された場合
に制御対象プログラムにより更新されたデータレコード
の更新前レコードイメージを前記ジャーナルファイルか
ら前記データファイルに戻すトランザクションバックア
ウト手段と、前記データレコード検索/更新手段から呼
び出され前記排他情報記憶手段に記憶されている排他情
報および前記プライオリティ判定手段の判定結果を使用
して前記データファイルに対する排他制御をブロック単
位で行う排他制御手段とを有する。
説明する。
の構成を示すブロック図である。
報1と、データレコード検索/更新手段2と、プライオ
リティ記憶手段3と、排他制御手段4と、排他情報記憶
手段5と、排他解除待ち判定手段6と、プライオリティ
判定手段7と、トランザクションバックアウト手段8
と、ジャーナルファイル9と、データベースファイル1
0(排他制御の対象であるデータファイル)とを含んで
構成されている。ここで、データレコード検索/更新手
段2は、データベースファイル10に対する検索/更新
処理を行う複数のプログラムの各々に存在する手段であ
る。また、3〜9の符号で示される手段等は、データベ
ースファイル10に関する情報処理システムのオペレー
ティングシステムの管理下にある手段等である。なお、
利用者指定情報1は、プログラムの利用者等によって指
定される情報である。
示す流れ図である。この処理は、利用者指定情報入力ス
テップ201と、プライオリティ更新ステップ202
と、排他状態問い合わせステップ203と、排他状態判
定ステップ204と、データレコード検索/更新処理ス
テップ205と、判定時点当否判定ステップ206と、
解除待ちプログラム有無判定ステップ207と、プライ
オリティ比較ステップ208と、更新前レコードイメー
ジ書戻しステップ209と、解除待ちプログラムロック
ステップ210と、制御対象プログラムロックステップ
211とからなる。
他制御方式の動作について説明する。
プログラム(以下、制御対象プログラムという)の処理
の過程で、データベースファイル10内のデータレコー
ドの検索/更新処理が必要になると、制御対象プログラ
ムの利用者等によって利用者指定情報1が指定される
(利用者指定情報1は、データレコード検索/更新手段
2,プライオリティ記憶手段3および排他解除待ち判定
手段6によって入力される)(ステップ201)。
コードを指定する情報と、処理内容(「検索」または
「更新」)を示す情報と、プライオリティ更新情報と、
判定時点情報とを含んでいる。なお、本実施例は請求項
2記載の発明に対応するものであり、利用者指定情報1
中の判定時点情報はデータレコード件数であるものとす
る(このデータレコード件数分の処理が終了した時点で
排他解除待ち判定手段6による判定が行われる)。ちな
みに、請求項1記載の発明における判定時点情報は、経
過時間等のデータレコード件数以外の情報であってもか
まわない。
各プログラムのプライオリティ(排他制御に関する処理
の優先度)を記憶しているが、利用者指定情報1中のプ
ライオリティ更新情報に基づいて制御対象プログラムの
プライオリティを更新する(ステップ202)。なお、
プライオリティ更新情報が「更新不要」を示している場
合には、ステップ202の処理は行われない。
者指定情報1に基づき、データベースファイル10内の
あるブロック中の複数のデータレコードの検索/更新処
理を行う(1件のデータレコードずつ逐次に当該処理を
繰り返す)。その際に、データレコード検索/更新手段
2は、排他制御手段4を呼び出し、処理対象のデータレ
コード群を含むブロック(以下、「処理対象ブロック」
という)が他のプログラム(制御対象プログラム以外の
プログラム)によってロックされているか否かという排
他状態を排他制御手段4に問い合わせる(ステップ20
3)。
記憶されているブロック毎の排他情報(「そのブロック
の排他状態を示す情報」および「そのブロックに対する
ロックが解除されるのを待っているプログラムを特定す
る情報」を有する情報)に基づき、処理対象ブロックが
他のプログラムによってロックされているか否かを判定
する(ステップ204)。
理対象ブロックが他のプログラムによってロックされて
いる」と判定した場合には、処理対象ブロックのロック
が解除されるまで待ち合わせる(一定の時隔でステップ
204の判定を繰り返す)。
で「他のプログラムによりロックされていない」と判定
した場合には、制御対象プログラムのために処理対象ブ
ロックをロックする制御を行い、データレコード検索/
更新手段2に1件のデータレコードの検索/更新処理を
行わせる(ステップ205)。なお、データレコード検
索/更新手段2は、データレコードの更新処理を行った
場合には、更新前レコードイメージ(処理対象のデータ
レコードの更新前の内容)をジャーナルファイル9に格
納しておく。
ド検索/更新手段2による1件のデータレコードの検索
/更新処理が終了すると、利用者指定情報1中の判定時
点情報によって指定されたデータレコード件数分の処理
が終了したか否か(ステップ207の判定を行う時点で
あるか否か)を判定する(ステップ206)。
6で「指定されたデータレコード件数分の処理が終了し
ていない」と判定した場合には、ステップ207の判定
を行う時点に至っていないことを認識し、ステップ20
5に制御を戻す(データレコード検索/更新手段2は次
の1件のデータレコードの検索/更新処理を行う)。
6で「指定されたデータレコード件数分の処理が終了し
た」と判定した場合には、排他情報記憶手段5内の排他
情報に基づいて処理対象ブロックに対するロックの解除
待ち状態にある他のプログラム(以下、「解除待ちプロ
グラム」という)が存在するか否かを判定する(ステッ
プ207)。なお、請求項1記載の発明におけるこの判
定(解除待ちプログラムが存在するか否かの判定)は、
判定時点情報の内容に応じた所定の時点において行われ
る。
7で「解除待ちプログラムが存在しない」と判定した場
合には、ステップ205に制御を戻す。
プ207で「解除待ちプログラムが存在する」と判定し
た場合には、プライオリティ判定手段7に制御を渡す。
ティ記憶手段3に記憶されている解除待ちプログラムの
プライオリティと制御対象プログラムのプライオリティ
とを比較し、どちらのプログラムに係る処理を優先させ
るべきであるかを判定する(ステップ208)。
08で「解除待ちプログラムのプライオリティよりも制
御対象プログラムのプライオリティの方が高い(制御対
象プログラムを優先させるべきである)」と判定した場
合には、ステップ205に制御を戻す。
08で「解除待ちプログラムのプライオリティの方が制
御対象プログラムのプライオリティよりも高い(解除待
ちプログラムを優先させるべきである)」と判定した場
合には、トランザクションバックアウト手段8および排
他制御手段4に制御を渡す。
データレコード検索/更新手段2によってジャーナルフ
ァイル9に出力されている更新前レコードイメージをデ
ータベースファイル10に書き戻す(ステップ20
9)。また、排他制御手段4は、解除待ちプログラムの
処理対象ブロックに係る待ち状態を解除し、解除待ちプ
ログラムのために処理対象ブロックをロックする制御を
行う(ステップ210)。これにより、緊急性を有する
解除待ちプログラムに係る処理を制御対象プログラムに
係る処理よりも優先させることができる。
よる処理対象ブロックに対する処理が完了した時点で、
制御対象プログラムのために処理対象ブロックをロック
する制御を行い(ステップ211)、データレコード検
索/更新手段2にあらためて処理対象ブロック内のデー
タレコードの検索/更新処理を行わせる(ステップ20
5)。
「データレコードの検索/更新処理」の全てが終了した
場合には、データレコード検索/更新手段2は図2に示
す処理を終了させる。
リティに基づいて制御対象プログラムと解除待ちプログ
ラムとの間の排他制御を行うこと等により、緊急性を有
するプログラムに係る処理を優先的に稼働することがで
き、緊急性を有するプログラムの処理性能を劣化させる
ことがなくなるという効果がある。
ファイルをアクセスするオンライン業務アプリケーショ
ンプログラムとバッチジョブプログラムとが起動されて
いる場合に、オンライン業務アプリケーションプログラ
ムのプライオリティをバッチジョブプログラムのプライ
オリティよりも高く設定しておけばオンライン業務アプ
リケーションプログラムが優先的に稼働するので、オン
ライン業務アプリケーションプログラムの性能を劣化さ
せることがなくなるという効果がある。
る。
ある。
ク図である。
Claims (2)
- 【請求項1】 データファイルに格納されたデータレコ
ードが複数のプログラムによって検索/更新される情報
処理システムにおける排他制御方式において、 利用者指定情報中のプライオリティ更新情報を反映して
各プログラムのプライオリティを記憶するプライオリテ
ィ記憶手段と、 前記データファイルにおけるブロック毎の排他情報を記
憶する排他情報記憶手段と、 利用者指定情報に基づいて前記データファイル内のデー
タレコードの検索/更新処理を行い、データレコードの
更新処理を行った場合に更新前レコードイメージをジャ
ーナルファイルに格納するデータレコード検索/更新手
段と、 利用者指定情報中の判定時点情報によって示される時点
において解除待ちプログラムが存在するか否かを判定す
る排他解除待ち判定手段と、 この排他解除待ち判定手段により「解除待ちプログラム
が存在する」と判定された場合に、解除待ちプログラム
と制御対象プログラムとのどちらを優先させるべきであ
るかを前記プライオリティ記憶手段に記憶されているプ
ライオリティに基づいて判定するプライオリティ判定手
段と、 このプライオリティ判定手段により「解除待ちプログラ
ムを優先させるべきである」と判定された場合に、制御
対象プログラムにより更新されたデータレコードの更新
前レコードイメージを前記ジャーナルファイルから前記
データファイルに戻すトランザクションバックアウト手
段と、 前記データレコード検索/更新手段から呼び出され、前
記排他情報記憶手段に記憶されている排他情報および前
記プライオリティ判定手段の判定結果を使用して前記デ
ータファイルに対する排他制御をブロック単位で行う排
他制御手段とを有することを特徴とする排他制御方式。 - 【請求項2】 利用者指定情報中の判定時点情報がデー
タレコード件数であり、前記排他解除待ち判定手段によ
る判定が行われる時点が当該データレコード件数分の処
理が終了した時点であることを特徴とする請求項1記載
の排他制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5291549A JP2843748B2 (ja) | 1993-10-28 | 1993-10-28 | 排他制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5291549A JP2843748B2 (ja) | 1993-10-28 | 1993-10-28 | 排他制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07129452A true JPH07129452A (ja) | 1995-05-19 |
JP2843748B2 JP2843748B2 (ja) | 1999-01-06 |
Family
ID=17770357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5291549A Expired - Fee Related JP2843748B2 (ja) | 1993-10-28 | 1993-10-28 | 排他制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2843748B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415556B2 (en) | 2002-10-31 | 2008-08-19 | International Business Machines Corporation | Exclusion control |
JP2009543226A (ja) * | 2006-06-29 | 2009-12-03 | ストラタヴィア コーポレーション | データベース管理における標準操作手順の自動化 |
US8738753B2 (en) | 2006-06-29 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Standard operating procedure automation in database administration |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63292456A (ja) * | 1987-05-26 | 1988-11-29 | Nec Corp | 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式 |
JPH03235130A (ja) * | 1990-02-13 | 1991-10-21 | Hitachi Ltd | 排他優先制御方式 |
JPH0485632A (ja) * | 1990-07-30 | 1992-03-18 | Nec Corp | デッドロック回避方式 |
-
1993
- 1993-10-28 JP JP5291549A patent/JP2843748B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63292456A (ja) * | 1987-05-26 | 1988-11-29 | Nec Corp | 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式 |
JPH03235130A (ja) * | 1990-02-13 | 1991-10-21 | Hitachi Ltd | 排他優先制御方式 |
JPH0485632A (ja) * | 1990-07-30 | 1992-03-18 | Nec Corp | デッドロック回避方式 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415556B2 (en) | 2002-10-31 | 2008-08-19 | International Business Machines Corporation | Exclusion control |
US7793023B2 (en) | 2002-10-31 | 2010-09-07 | International Business Machines Corporation | Exclusion control |
JP2009543226A (ja) * | 2006-06-29 | 2009-12-03 | ストラタヴィア コーポレーション | データベース管理における標準操作手順の自動化 |
US8738753B2 (en) | 2006-06-29 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Standard operating procedure automation in database administration |
Also Published As
Publication number | Publication date |
---|---|
JP2843748B2 (ja) | 1999-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956712A (en) | Byte range locking in a distributed environment | |
US6070170A (en) | Non-blocking drain method and apparatus used to reorganize data in a database | |
KR101099199B1 (ko) | 데이터베이스 복구 중의 스냅샷 질의를 위한 시스템 및 방법 | |
US6138118A (en) | Method and system for reconciling concurrent streams of transactions in a database | |
AU600755B2 (en) | Apparatus for distributing data processing across a plurality of loci of control | |
US8244675B2 (en) | Method and apparatus for updating a database using table staging and queued relocation and deletion | |
US20030084063A1 (en) | Method, system, and program for performing an impact analysis of program statements in at least one source code file | |
JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
JPH0296839A (ja) | Tpキューレポジトリ用シングルキー式索引ファイル | |
US9348660B2 (en) | Apparatus and method for serializing process instance access to information stored redundantly in at least two datastores | |
JPH08328933A (ja) | 並列処理システムのファイルアクセス制御方式 | |
EP1850250A1 (en) | Method and system for renewing an index | |
JPH07129452A (ja) | 排他制御方式 | |
JP3484440B2 (ja) | 分散型データベース更新方法 | |
US7606789B2 (en) | Data access and retrieval mechanism | |
JPH05307478A (ja) | データベース管理システムの構成法 | |
JPH03123946A (ja) | データベースの排他制御方法 | |
JPS63196956A (ja) | フアイル排他方式 | |
JPH04139545A (ja) | データベース更新処理方式 | |
JPH0962554A (ja) | 静止点セーブ作成方式 | |
EP1750222A1 (en) | Process instance serialization | |
JPH08129501A (ja) | データベースの予約アクセス処理方法 | |
JP2003316560A (ja) | ジョブ処理装置 | |
CN116257519A (zh) | 一种数据读写的方法、装置、计算机设备及存储介质 | |
JPH03116252A (ja) | ソースプログラムの世代管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19961015 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980922 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071023 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081023 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091023 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |