JPS60247746A - デッドロックの検出方法 - Google Patents
デッドロックの検出方法Info
- Publication number
- JPS60247746A JPS60247746A JP10424884A JP10424884A JPS60247746A JP S60247746 A JPS60247746 A JP S60247746A JP 10424884 A JP10424884 A JP 10424884A JP 10424884 A JP10424884 A JP 10424884A JP S60247746 A JPS60247746 A JP S60247746A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- deadlock
- time
- route
- 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
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は共用データを利用する複合データ処理装置シス
テムに発生するデッドロックの検出方法に関するもので
ある。
テムに発生するデッドロックの検出方法に関するもので
ある。
kl) 産業上の利用分野
複数のジョブで使用され、目的が同じデータは1つのフ
ァイルとし、又複数のシステムで使用されるファイルで
も、共用することによってシステム資源を有効に利用で
きることから、共用データを用いることが複合データ処
理装置システムに適用されている。
ァイルとし、又複数のシステムで使用されるファイルで
も、共用することによってシステム資源を有効に利用で
きることから、共用データを用いることが複合データ処
理装置システムに適用されている。
(bl 従来の技術
単一データ処理装置システムにてもデータを共用すると
使用す3データを占有宣言を行い、特定のジョブやタス
クが一定時間占有して使用している。ところが此の占有
のために、デッドロック現象が発生し、データ処理装置
システムの運用を妨げる。特に、複数のデータ処理装置
から構成される複合システムにおいては、トランザクシ
ョンの待ち関係は第2図に示すように複数のシステムが
絡み合い複雑なネットワーク構造を持っている。
使用す3データを占有宣言を行い、特定のジョブやタス
クが一定時間占有して使用している。ところが此の占有
のために、デッドロック現象が発生し、データ処理装置
システムの運用を妨げる。特に、複数のデータ処理装置
から構成される複合システムにおいては、トランザクシ
ョンの待ち関係は第2図に示すように複数のシステムが
絡み合い複雑なネットワーク構造を持っている。
(C) 発明が解決しようとする問題点このネットワー
ク構造をくまな(検索することによってループになった
ルート、即ちデッドロックを検出することが可能である
。しかしながら全ルートを検索するのには其の処理にデ
ータ処理装置が運用され、データ処理装置のオーバヘッ
ドが生じるといった問題がある。
ク構造をくまな(検索することによってループになった
ルート、即ちデッドロックを検出することが可能である
。しかしながら全ルートを検索するのには其の処理にデ
ータ処理装置が運用され、データ処理装置のオーバヘッ
ドが生じるといった問題がある。
本発明は上記したような問題点を除去して、効率良くデ
ッドロックの検出の行えるデッドロックの検出方法を提
案するものである。
ッドロックの検出の行えるデッドロックの検出方法を提
案するものである。
(d) 問題点を解決するた°めの手段この提案は、共
用データを利用する複合データ処理装置システムにおい
て、前記各データ処理装置のデータ管理部に制御テーブ
ルを備え、前記制御テーブルに待ち状態にあるトランザ
クション名と待ち状態になりたる時刻と要求システム名
を記載して、当該トランザクションのデッドロック検出
を前記制御テーブルの最も旧い時刻に連なるトランザク
ションから順次連なるトランザクションを検索してルー
トを作成し、旧い時刻から順次新しい時刻のルート作成
を繰り返し、前記ルートが閉ルートとなりたる際に該閉
ルートのトランザクションをデッドロックと認識するこ
とである。
用データを利用する複合データ処理装置システムにおい
て、前記各データ処理装置のデータ管理部に制御テーブ
ルを備え、前記制御テーブルに待ち状態にあるトランザ
クション名と待ち状態になりたる時刻と要求システム名
を記載して、当該トランザクションのデッドロック検出
を前記制御テーブルの最も旧い時刻に連なるトランザク
ションから順次連なるトランザクションを検索してルー
トを作成し、旧い時刻から順次新しい時刻のルート作成
を繰り返し、前記ルートが閉ルートとなりたる際に該閉
ルートのトランザクションをデッドロックと認識するこ
とである。
(el 作用
即ち、待ち状態にあるトランザクションを待ち発生要因
と発生時刻とで管理して、各トランザクションにおける
待ち時刻の旧い時刻順にルートを検索して、閉ルートを
検出すると当該トランザクションをデッドロックと認識
するのである。
と発生時刻とで管理して、各トランザクションにおける
待ち時刻の旧い時刻順にルートを検索して、閉ルートを
検出すると当該トランザクションをデッドロックと認識
するのである。
(f) 実施例
以下、図によって本発明の要旨を具体的に説明する。
第1図は本発明によるデッドロックの検出方法の一実施
例のブロック図、第3図は本発明のフローチャートを示
す。
例のブロック図、第3図は本発明のフローチャートを示
す。
データ処理装置1と2と3は共用データを格納する共用
ファイル4を共用利用している。各データ処理装置1,
2.3のデータ管理部11,21.31にそれぞれ制御
テーブル12,22.32を設ける。制御テーブル12
.22.32には図に示すようにトランザクション、待
ち発生時刻、要因、カウント欄等が設けである。第4図
の待ちネットワークにおいて、例えば、データ処理装置
lにて、トランザクションA1がデータBを使用しよう
として、例えば時刻8゜00に占有宣言が行われたが、
データBは既にトランザクションA2によって占有され
ているので、図に示すように待ち状態にあり、この時デ
ッドロック検出が開始される一契機となる。
ファイル4を共用利用している。各データ処理装置1,
2.3のデータ管理部11,21.31にそれぞれ制御
テーブル12,22.32を設ける。制御テーブル12
.22.32には図に示すようにトランザクション、待
ち発生時刻、要因、カウント欄等が設けである。第4図
の待ちネットワークにおいて、例えば、データ処理装置
lにて、トランザクションA1がデータBを使用しよう
として、例えば時刻8゜00に占有宣言が行われたが、
データBは既にトランザクションA2によって占有され
ているので、図に示すように待ち状態にあり、この時デ
ッドロック検出が開始される一契機となる。
この状態を制御テーブル12に記録する。即ちトランザ
クション名にA1.要因欄にB1発生時刻に8゜OO等
のように記録される。勿論此の記録はデータの管理を行
っているデータ管理部11が行う。他のデータ処理装置
2と3も同一動作を行う。なお、各データ処理装置1,
2.3はそれぞれ他装置に自装置の待ち状態を報告する
。
クション名にA1.要因欄にB1発生時刻に8゜OO等
のように記録される。勿論此の記録はデータの管理を行
っているデータ管理部11が行う。他のデータ処理装置
2と3も同一動作を行う。なお、各データ処理装置1,
2.3はそれぞれ他装置に自装置の待ち状態を報告する
。
デッドロック検出の方法を第3図のフローチャートを用
いて説明する。
いて説明する。
以後データ処理装置1に付いて説明を行う。データ管理
部11はデッドロック検出をトランザクション^1にて
開始する場合には、例えばトへンザクシリン八1がデッ
ドロック検出を行われた回数を示す図示しないデンドロ
ツク検出カウンタの値、例えば9をカウントアツプ+1
した10の値とループ列の順序を示す図示しないシーケ
ンシャルカウンタを0° とそれぞれのカウンタをセン
トしてループ検出にそなえる。第3図fi+の状態であ
る。
部11はデッドロック検出をトランザクション^1にて
開始する場合には、例えばトへンザクシリン八1がデッ
ドロック検出を行われた回数を示す図示しないデンドロ
ツク検出カウンタの値、例えば9をカウントアツプ+1
した10の値とループ列の順序を示す図示しないシーケ
ンシャルカウンタを0° とそれぞれのカウンタをセン
トしてループ検出にそなえる。第3図fi+の状態であ
る。
以後第3図の状態は括弧付き数字で示す。上記した両カ
ウンタの値は例えば10−0と記す。上記初期条件にて
、デッドロック検出を続行すると(2)データ管理部1
1は、トランザクションA1からルート検出を継続し、
先ずループ検出の順序の最初であることを示すシーケン
シャルカウンタを+1とし、即ち10−1として制御テ
ーブル12めトランザクションA1欄に記載する(3)
。説明を分りやすくするために第4図に付記する。デー
タ管理部11は制御テーブル12のトランザクションA
が待ち状態になった要因(即ちデータB)を占有してい
るトランザクションの中から最も旧い時刻の付けられた
次のトランザクション八2を選び出す(4)。
ウンタの値は例えば10−0と記す。上記初期条件にて
、デッドロック検出を続行すると(2)データ管理部1
1は、トランザクションA1からルート検出を継続し、
先ずループ検出の順序の最初であることを示すシーケン
シャルカウンタを+1とし、即ち10−1として制御テ
ーブル12めトランザクションA1欄に記載する(3)
。説明を分りやすくするために第4図に付記する。デー
タ管理部11は制御テーブル12のトランザクションA
が待ち状態になった要因(即ちデータB)を占有してい
るトランザクションの中から最も旧い時刻の付けられた
次のトランザクション八2を選び出す(4)。
このトランザクション牝は勿論10−2として記載され
、トランザクション^2は動作中であるか(デッドロッ
クで無い)、成るデータに対して待ち状態であるかの判
定を行い、更に待ち状態の場合には、そのデータが他シ
ステムの固有のデータであるかの判定を行い、固有デー
タであれば他システムに対し、他システムの固有データ
の占有状態の検査を依頼しく5)、待ち状態であれば、
更に次のトランザクションA3について、上記(2)乃
至(5)の工程を繰り返し行う。此の繰り返しは10−
n巡行われ、繰り返しを行う工程中にデッドロック判定
を行う(2)。
、トランザクション^2は動作中であるか(デッドロッ
クで無い)、成るデータに対して待ち状態であるかの判
定を行い、更に待ち状態の場合には、そのデータが他シ
ステムの固有のデータであるかの判定を行い、固有デー
タであれば他システムに対し、他システムの固有データ
の占有状態の検査を依頼しく5)、待ち状態であれば、
更に次のトランザクションA3について、上記(2)乃
至(5)の工程を繰り返し行う。此の繰り返しは10−
n巡行われ、繰り返しを行う工程中にデッドロック判定
を行う(2)。
即ちルート検出中に発生した10−1乃至10−nと同
−両カウンタ値に達すると閉ループは完成しており、こ
のループの最小シーケンシャルのトランザクションがデ
ッドロックと判定される。若し既に相当大きなデッドロ
ック検出カウンタ値が付与されたトランザクションで有
れば、デッドロック検出を中止する。上記した既に大き
なカウンタ値が付与される場合は、トランザクションが
他システムに対し他システムの固有のデータの占有状態
の検査を依頼して、デッドロック検出を中止中に新たな
デッドロック検出を行う時である。
−両カウンタ値に達すると閉ループは完成しており、こ
のループの最小シーケンシャルのトランザクションがデ
ッドロックと判定される。若し既に相当大きなデッドロ
ック検出カウンタ値が付与されたトランザクションで有
れば、デッドロック検出を中止する。上記した既に大き
なカウンタ値が付与される場合は、トランザクションが
他システムに対し他システムの固有のデータの占有状態
の検査を依頼して、デッドロック検出を中止中に新たな
デッドロック検出を行う時である。
勿論、新たなデッドロック検出を例えば、第4図トラン
ザクションB1が成るデータを使用しようとした時、待
ち状態となったので、データ管理部11はデッドロック
検出をトランザクションB1にて開始し、制御テーブル
12のトランザクションB1欄に11−1として記載す
る。更に上記(2)乃至(4)の工程を行い、次のトラ
ンザクションとしてA1が選定されると、トランザクシ
ョン八1は1O−1を11−2で書き替えられ同様なル
ープ検出が行われる。尚各トランザクションに於けるル
ープ検出は旧い時刻のものから順次所要時に行ってゆく
。
ザクションB1が成るデータを使用しようとした時、待
ち状態となったので、データ管理部11はデッドロック
検出をトランザクションB1にて開始し、制御テーブル
12のトランザクションB1欄に11−1として記載す
る。更に上記(2)乃至(4)の工程を行い、次のトラ
ンザクションとしてA1が選定されると、トランザクシ
ョン八1は1O−1を11−2で書き替えられ同様なル
ープ検出が行われる。尚各トランザクションに於けるル
ープ検出は旧い時刻のものから順次所要時に行ってゆく
。
なお以上の説明はデータ処理装置1に付いて行ったがデ
ータ処理装置2と3にても同様に行われる。
ータ処理装置2と3にても同様に行われる。
(gl 発明の詳細
な説明のように本発明においては、トランザクションの
待ち時刻の旧いものから系統だでてルート検出を行い、
閉ルートをデッドロック検出とする効率の良い検出方法
となり、データ処理装置のデッドロック検出時間を短縮
する利点がある。
待ち時刻の旧いものから系統だでてルート検出を行い、
閉ルートをデッドロック検出とする効率の良い検出方法
となり、データ処理装置のデッドロック検出時間を短縮
する利点がある。
第1図は本発明によるデッドロックの検出方法の一実施
例のブロック図、 第2図はトランザクション待ち状態を示す模式第3図は
本発明のフローチャート、 第4図は本発明を説明するためのトランザクション状態
を示す模式図、 をそれぞれ示す。 −1において、1と2と3はデータ処理装置、4は共用
ファイル、11と21と31はデータ管理部、12と2
2と32は制御テーブルをそれぞれ示す。 第1図
例のブロック図、 第2図はトランザクション待ち状態を示す模式第3図は
本発明のフローチャート、 第4図は本発明を説明するためのトランザクション状態
を示す模式図、 をそれぞれ示す。 −1において、1と2と3はデータ処理装置、4は共用
ファイル、11と21と31はデータ管理部、12と2
2と32は制御テーブルをそれぞれ示す。 第1図
Claims (1)
- 【特許請求の範囲】 共用データを利用する複合データ処理装置システムにお
いて、前記各データ処理装置のデータ管理部に制御テー
ブルを備え、前記制御テーブルに待ち状態にあるトラン
ザクション名と待ち状態になりたる時刻と要求システム
名を記載して、当該トランザクションのデッドロック検
出を前記制御テーブルの最も旧い時刻に連なるトランザ
クションから順次連なるトランザクションを検索してル
ートを作成し、旧い時刻から順次新しい時刻のルート作
成を繰り返し、前記ルートが閉ルートとなりたる際に該
閉゛ルートのトランザクションをデンク ドロフクと認識することを特徴とするデッドロブの検出
方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10424884A JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10424884A JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60247746A true JPS60247746A (ja) | 1985-12-07 |
| JPH0443303B2 JPH0443303B2 (ja) | 1992-07-16 |
Family
ID=14375631
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10424884A Granted JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60247746A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5377351A (en) * | 1990-06-20 | 1994-12-27 | Oki Electric Industry Co., Ltd. | Device for controlling multiple transactions contending concurrently for the same resource in a distributed database system |
-
1984
- 1984-05-22 JP JP10424884A patent/JPS60247746A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5377351A (en) * | 1990-06-20 | 1994-12-27 | Oki Electric Industry Co., Ltd. | Device for controlling multiple transactions contending concurrently for the same resource in a distributed database system |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0443303B2 (ja) | 1992-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0454610B1 (en) | Method and device for concurrency control of shared data updates and queries | |
| DE69606648T2 (de) | Verfahren und vorrichtung zur ablauffolgen von multiprozessoren mit starker affinität | |
| US5285528A (en) | Data structures and algorithms for managing lock states of addressable element ranges | |
| JPS61233849A (ja) | デ−タベ−ス排他制御方法 | |
| JPH0552972B2 (ja) | ||
| JPH0423144A (ja) | データ管理システムおよびデータ管理方法 | |
| JPH10116259A (ja) | 2ノード分散型コンピュータ・システムにおけるクオラム機構 | |
| CN112965951A (zh) | 用于数据库中数据重分布的系统和方法 | |
| CN108089926A (zh) | 一种获取分布式锁的方法、装置、设备及可读存储介质 | |
| Tang et al. | Toward coordination-free and reconfigurable mixed concurrency control | |
| JPS60247746A (ja) | デッドロックの検出方法 | |
| CN106933657A (zh) | 数据库死锁处理方法及装置 | |
| JPH04153764A (ja) | 分散cpuの処理高速化方式 | |
| JPS63307553A (ja) | ファイル制御方式 | |
| JPH0814800B2 (ja) | データベース排他制御方法 | |
| JP2610926B2 (ja) | トランザクション制御方式 | |
| CN120743885B (zh) | 一种在线删除数据库分区的方法、装置、设备及存储介质 | |
| JPH045212B2 (ja) | ||
| JPS62173535A (ja) | 共有資源のアクセス制御方式 | |
| JPH04274533A (ja) | データベース更新装置 | |
| JPS63307538A (ja) | ファイル同時アクセス制御方式 | |
| Adhikari et al. | Lockless Blockchain Sharding | |
| JP2787107B2 (ja) | バッファ制御方式及び装置 | |
| JPS6246016B2 (ja) | ||
| KR0139724B1 (ko) | 유닉스 환경의 dbms에서 좀비 트랜잭션의 발견 및 처리 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |