JPH0778093A - デッドロックリトライ方式 - Google Patents

デッドロックリトライ方式

Info

Publication number
JPH0778093A
JPH0778093A JP5223104A JP22310493A JPH0778093A JP H0778093 A JPH0778093 A JP H0778093A JP 5223104 A JP5223104 A JP 5223104A JP 22310493 A JP22310493 A JP 22310493A JP H0778093 A JPH0778093 A JP H0778093A
Authority
JP
Japan
Prior art keywords
transaction
deadlock
transactions
database
resources
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
Application number
JP5223104A
Other languages
English (en)
Inventor
Yoshitaka Kawamura
義孝 河村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5223104A priority Critical patent/JPH0778093A/ja
Publication of JPH0778093A publication Critical patent/JPH0778093A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】本発明は、データベース管理システムにおい
て、デッドロックが発生した場合、処理を取り消すトラ
ンザクションをデータベースの更新系と参照系の資源確
保要求に応じた重みづけを付与して、取り消すトランザ
クション決定することにより、計算機システム内でデー
タベースを更新した量が多いトランザクションを極力バ
ックアウトさせないようにして、取り消されたトランザ
クションを再スケジュールし、再び同量の処理を再実行
することによる負荷を増大を防止し、システム全体の処
理効率の低下を最小にすることを目的とする。 【構成】図1は、排他資源を管理する排他制御部4、デ
ータベース操作処理部6、トランザクションを管理する
データコミュニケーション制御部5、及び、トランザク
ション毎にデータベースの更新量と参照量を情報として
記憶する手段としてのデータベース資源管理テーブル3
から構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベース管理システ
ムにおけるデッドロック障害のリトライ方式に関する。
【0002】
【従来の技術】従来の方式では、排他制御によりデッド
ロックを検知するとデッドロックとなった一方のトラン
ザクションをバックアウトさせることにより、専有中の
すべての資源を解放させるが、どちらか一方のトランザ
クションをバックアウトさせるかは、トランザクション
のプライオリティ(優先順位)によるものと同一プライ
オリティ内では、トランザクション起動順で最後のトラ
ンザクション、または、トランザクションが専有した資
源数の少ない方をバックアウト対象とする方式であっ
た。
【0003】
【発明が解決しようとする課題】上記の従来のデッドロ
ック障害のリトライ方式では、トランザクションが専有
した資源数の多い方を優先して当該トランザクションが
デッドロックまでに処理したすべての内容をバックアウ
トする方式を採っている。しかし、上記従来技術では、
専有した資源がデータベース更新処理で専有されたの
か、参照処理で専有されたかという点についての考慮は
されておらず、同一資源数であれば、多くの更新を行っ
ているトランザクションであってもバックアウトの対象
となり、デッドロック時のバックアウト処理及び再実行
処理に要する時間を大きくするという問題点があった。
同様に、デッドロックの発生時点における一つのトラン
ザクションで確保した資源数が、別のトランザクション
で確保した資源数より少ない場合は、上記従来技術で
は、前者のトランザクションがバックアウトの対象とな
るが、確保した資源数が少なくても更新した量が、後者
のトランザクションよりも多い場合は、バックアウト及
び再処理時間を考慮すると後者のトランザクションをバ
ックアウトするように働きかけなければならない。一
方、前記従来技術では、デッドロック発生時一つのトラ
ンザクションの更新量が他のトランザクションの更新量
よりも少ない場合でも、前者の検索処理量が多い場合は
バックアウト時間は少なくても、当該トランザクション
の再実行時間が長くなるという問題点があった。そこ
で、本発明では、トランザクションが確保する資源のタ
イプ毎に更新系を参照系よりも大きく、また、更新量が
少なくても大量の参照処理を行うトランザクションの重
みづけを行うことにより、極力更新量が多い方をバック
アウトがさせられることがないようにすることにより、
システム全体の処理効率の低下を最小にすることを目的
としたデッドロック障害のリトライ方式を提供するもの
である。
【0004】
【課題を解決するための手段】本発明のデッドロックリ
トライ方式は、排他資源を管理する排他制御部、データ
ベース操作処理部、トランザクションを管理するデータ
コミュニケーション制御部、及び、トランザクション毎
に使用したデータベースの資源量及び重みの合計値を情
報として記憶する手段、及び、デッドロック発生時にバ
ックアウトすべき対象を決定するためのバックアウトト
ランザクション決定処理手段から構成される。
【0005】
【作用】計算機システム内でデータベースの参照更新を
行う複数のトランザクションがトランザクションを管理
するデータコミュニケーション制御部によって実行され
ると、排他資源を管理する排他制御部により各トランザ
クション処理で使用する資源の排他専有を行う。この
時、トランザクション毎に使用したデータベースの資源
量及び重みの合計値を情報として記憶する手段は、トラ
ンザクション毎に確保される資源毎に重みづけを行った
結果をトランザクション単位に集計した結果を記憶する
という動作をし、デッドロックが発生するとデッドロッ
ク発生時にバックアウトすべき対象を決定するためのバ
ックアウトトランザクション決定処理手段が、前記手段
によって得られた資源量及び重みを参照することによ
り、重みの少ない方のトランザクションをバックアウト
させ、バックアウト時間及びバックアウトにより戻され
たトランザクションの再実行時間を最小にするという作
用がある。
【0006】
【実施例】次に本発明の一実施例について図面で説明す
る。図1は本発明によるオンラインデータベースシステ
ムの構成例である。電子計算機1には、データベース操
作処理部6と業務プログラム2が存在し、業務プログラ
ム2は端末8よりメッセージを受け取ることによってト
ランザクションが起動されるようにデータコミュニケー
ション制御部5に制御されている。また、データコミュ
ニケーション制御部5は業務プログラム2が要求したデ
ータベースの更新量と参照量をデータベース資源管理テ
ーブル3に格納している。業務プログラム2がデータベ
ースに資源のアクセス要求するとデータベース操作処理
部6が要求された資源が他のトランザクションからアク
セスされないように予め排他制御部4に資源名を連絡し
て排他要求する。このとき、他のトランザクションで使
用されていない場合は、排他できるが他のトランザクシ
ョンによって使用されている場合は排他待ちとなる。同
時に異なる資源に対し先に資源を確保し、他のトランザ
クションを排他待ちの状態となっていないか排他制御部
4は一定周期で監視している。排他制御部4の監視によ
ってデッドロックを検知した場合、排他制御部4はデー
タコミュニケーション制御部5に対しデッドロックとな
ったトランザクションID10を通知する、データコミ
ュニケーション制御部5は通知のあったトランザクショ
ンに対してデータベース資源管理テーブル3を検索して
データベースの更新量11と参照量12でトランザクシ
ョンの重み13を計算し、トランザクションの重み13
の少ないトランザクションに対応する業務プログラム2
をバックアウトさせる。
【0007】図2はトランザクションID10とデータ
ベースの更新量11と参照量12とトランザクションの
重み13とが格納されているデータベース資源管理テー
ブル9の構成例である。本実施例では、トランザクショ
ンの重みづけを仮に更新量が多いトランザクションがバ
ックアウトされる場合、デッドロックが発生するまでに
更新した処理とバックアウトによる処理及び再び同量の
処理を繰り返して実行することを考慮して、予め更新系
と参照系の重みの比率が3:1になるようにした例であ
る。
【0008】図3はデータベース資源管理テーブル9の
資源名14の管理方法の例である。
【0009】図4は本発明によるデッドロック障害時の
処理フローの例である。排他制御部4は、一定周期でデ
ッドロックが発生していないか監視している(15)、
もし、デッドロックが発生している場合、その旨、デー
タコミュニケーション管理部のデッドロック障害処理に
トランザクションIDを通知する(16)、データコミ
ュニケーション管理部はデッドロックの発生とトランザ
クションIDを受け取るとそのトランザクションIDで
データベース資源管理テーブルを検索して各々のトラン
ザクションの重みを得る(17)、次にそのトランザク
ションの重みを比較して(18)、トランザクションの
重みの少ないトランザクションに対して、処理を取消し
て資源の解放を行う。(19) 本実施例によれば、トランザクションIDに対応するデ
ータベースの更新量と参照量からトランザクションの重
みづけするようにしたので、データベースの更新の多い
トランザクションがデッドロックによって処理を取り消
されることを極力防止でき、システムの処理効率の低下
を最小することができる。
【0010】
【発明の効果】以上説明したように、本発明によれば、
デッドロックが発生した場合にどちらか一方のトランザ
クションを取り消すかを資源数によってのみバックアウ
トすべきトランザクションを決定せず、バックアウト処
理に要する時間と再実行に要するコストを重みづけする
ことにより、バックアウトすべきトランザクションを決
定するため、デッドロックが発生した場合のバックアウ
ト時間及び再実行時間を最小にするという効果があり、
オンラインデータベースマネジメントシステムにおける
トランザクションスループットを向上させるという効果
がある。
【図面の簡単な説明】
【図1】本発明によるオンラインデータベースシステム
の構成例を示す図である。
【図2】デーダベース資源管理テーブルの内容の一例を
示す図である。
【図3】資源名の管理方式の一例を示す図である。
【図4】本発明によるデッドロックリトライ方式の処理
フロー例を示す図である。
【符号の説明】
1…電子計算機、 2…業務プログラム、 3…データベース資源管理テーブル、 4…排他制御部、 5…データコミュニケーション管理部、 6…データベース操作処理部、 7…データベース、 8…端末、 9…データベース資源管理テーブル、 10…トランザクションID、 11…データベース更新量、 12…データベース参照量、 13…トランザクションの重み、 14…資源名。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】電子計算機で保有する資源を複数のトラン
    ザクションで共有するデータベースにおいて、トランザ
    クションの更新内容を保証するため、複数のトランザク
    ションが同時に同一の資源を更新することを防ぐ目的で
    他の一方のトランザクションの更新を待たせるように排
    他制御を行うデータベース管理システムと、複数のトラ
    ンザクションが複数の資源を異なった順序で専有しよう
    としたとき、互いに他のトランザクションの資源の専有
    の解除を待つデッドロック状態が発生し、どちらか一方
    のトランザクションの処理を取り消すことにより専有中
    の資源を解放し、資源の解放を待っている他のトランザ
    クションに資源を渡して処理を続行できるようにトラン
    ザクション制御を行うデータコミュニケーション管理シ
    ステムにおいて、データベース処理要求を更新系と参照
    系に分類し、更新系と参照系の資源確保要求に応じた重
    みづけを付与する手段と、トランザクション毎にデータ
    ベースの更新量と参照量を情報として記憶する手段を持
    ち、取り消すトランザクション決定することにより、デ
    ッドロック発生時のシステム処理効率の低下を最小にす
    ることを特徴としたデッドロックリトライ方式。
JP5223104A 1993-09-08 1993-09-08 デッドロックリトライ方式 Pending JPH0778093A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5223104A JPH0778093A (ja) 1993-09-08 1993-09-08 デッドロックリトライ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5223104A JPH0778093A (ja) 1993-09-08 1993-09-08 デッドロックリトライ方式

Publications (1)

Publication Number Publication Date
JPH0778093A true JPH0778093A (ja) 1995-03-20

Family

ID=16792894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5223104A Pending JPH0778093A (ja) 1993-09-08 1993-09-08 デッドロックリトライ方式

Country Status (1)

Country Link
JP (1) JPH0778093A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4771378B2 (ja) * 2004-09-01 2011-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイル・システム逐次化再初期設定の装置、システム、および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4771378B2 (ja) * 2004-09-01 2011-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ファイル・システム逐次化再初期設定の装置、システム、および方法

Similar Documents

Publication Publication Date Title
JP3066693B2 (ja) 分散データ処理システム
US5974462A (en) Method and apparatus for controlling the number of servers in a client/server system
EP0657813B1 (en) Distributed database management
US6732123B1 (en) Database recovery to any point in time in an online environment utilizing disaster recovery technology
US5845117A (en) Deadlock detecting device
US6230183B1 (en) Method and apparatus for controlling the number of servers in a multisystem cluster
EP0264568B1 (en) Serialisation of system events in a multiprocessing system
US5377352A (en) Method of scheduling tasks with priority to interrupted task locking shared resource
US6816860B2 (en) Database load distribution processing method and recording medium storing a database load distribution processing program
US9767135B2 (en) Data processing system and method of handling requests
EP0428006A2 (en) Multilevel locking system and method
US20080276239A1 (en) Recovery and restart of a batch application
US7992148B2 (en) Issuing syncpoints during execution of a batch application to minimize or eliminate periods of record unavailability due to batch related record locking
JPH04310148A (ja) データの単位を高速度でアクセスする方法
US20080052712A1 (en) Method and system for selecting optimal clusters for batch job submissions
Bestavros et al. Value-cognizant speculative concurrency control
US20030033386A1 (en) Method, system and program products for modifying coupling facility structures
US20100251248A1 (en) Job processing method, computer-readable recording medium having stored job processing program and job processing system
US6604160B1 (en) Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
US5485573A (en) Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
US5553280A (en) Method for providing critical time reactive management of database transactions for systems process
US6807540B2 (en) System and method for deadlock management in database systems with demultiplexed connections
US5613133A (en) Microcode loading with continued program execution
US7523088B2 (en) Method for increasing system resource availability in database management systems
JPH0778093A (ja) デッドロックリトライ方式