JPS63193243A - デ−タベ−ス処理方式 - Google Patents

デ−タベ−ス処理方式

Info

Publication number
JPS63193243A
JPS63193243A JP62024862A JP2486287A JPS63193243A JP S63193243 A JPS63193243 A JP S63193243A JP 62024862 A JP62024862 A JP 62024862A JP 2486287 A JP2486287 A JP 2486287A JP S63193243 A JPS63193243 A JP S63193243A
Authority
JP
Japan
Prior art keywords
database
deadlock
request
processing
resource
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
JP62024862A
Other languages
English (en)
Inventor
Isao Kamoi
鴨井 功
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP62024862A priority Critical patent/JPS63193243A/ja
Publication of JPS63193243A publication Critical patent/JPS63193243A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データベース処理方式に関するものである。
〔従来の技術〕
近年、複数の作業単位によって共同使用されるデータベ
ースシステムが開発されている。
この種のデータベースシステムでは、複数の作業単位に
よる同一レコードの同時更新に伴う誤処理を防止するた
め、資源の排他制御手段が設けられている。ここで2作
業単位とは、同一データに対して、同時には矛盾した更
新要求を発することのない更新要求源(単一のジョブや
単一の端末装置等)から発せらるる更新内容の最小単位
をいう。
例えば2口座Aから口座BにY円を振込むという更新内
容等が上記作業単位に該当する。
上記資源の排他制御では、データ内容の矛盾を引き起こ
すような要求に対しては処理要求を待たせたシ、拒否す
ることで、誤処理の回避を実現している。例えば、第2
図は二つの独立な作業単位が同一のデータベースをアク
セスし、デッドロック状態を引き起こしている一例であ
る。第2図を参照すると2口座Aからの引き出し処理を
行う作業単位1と2口座Bから引き出し2口座Aへの預
は入れ処理を行う作業単位2とが、同゛時に実行されて
いる。ここで2口座Aに対する処理要求が同時に発生し
ているので、排他制御処理は口座Aに対する1作業卓位
1と作業単位2の処理が順番に行われるように制御を行
う。この制御を見ると。
同時に発生した両作業単位からのREAD口座A要求(
ステラf201)に対して、参照ロック状態が設定され
る。その後1作業卓位1が行う口座Aマイナス20万円
の更新処理で、他の作業単位が口座Aを参照ロック中な
ので、待ちが発生する(ステツf202)。
ここで1作業車位2が口座Aの参照処理のみで終了した
場合1作業卓位1の待ちが解けて口座Aの内容が80万
円に変更される。しかしながら。
この例では1作業車位2でも口座A+80万円の更新処
理を要求している為1作業卓位1と同様に待ちになるが
、待ちの原因を作っている作業単位で、自分で待ってい
るので1作業車位2も待ちにした場合に1両方の作業単
位が永久に待ち状態というデフドロックに落ち入る。そ
の為、この要求は拒否される(ステップ203)。デー
タベースアクセス要求だ於いて、排他制御による拒否ス
テータスを受は取った作業単位は、デッドロック状態を
回避する為に、自作業単位が持っている全ての資源を解
放しなければならない。この解放は。
自作業単位の処理を予め設定しである再開始点(第2図
の例では口座Bからの引き出し処理の前)まで後戻り(
データベースに対して変更処理を行っている場合にはそ
の復元処理も行う・・データベースのロールパックと言
う)させる処理を行うことで可能になる。全資源の解放
を行うことで、デッドロック状態が回避(自作業単位の
資源を待っていた別作業単位が動き出す)されるので、
自作業単位の処理を、再開始点から再開することが出来
る。第2図の例では、同時にスタートした作業単位1と
作業単位2の処理に於いて、先ず1作業卓位1が待ちに
入シ(ステップ202)、その後。
作業単位2Vc拒否ステータスが戻され(ステップ20
3)、その結果1作業卓位2の処理が一旦白紙に戻され
(ステップ204)、作業単位1の待ちが解除され(ス
テップ205)、口座Aの内容が80万円に変更される
(ステラf206)。作業単位2が再開始される時(ス
テップ207)には1作業卓位1の終了によシ1ロ座A
に設定されたロックが解けているので8作業卓位1の更
新結果である口座Aの内容の80万円が読み込まれ(ス
テラ7’208)、作業単位2の処理+80万円が行わ
れ、最終状態として160万円がデータベースに書き込
まれる(ステップ209)。
臥下糸日 〔発明が解決しようとする問題点〕 上記従来のデータベースンステムでは、同一データの同
時更新要求における。データの誤った更新を避ける為の
排他制御に於いて、デッドロックステータスが戻された
場合、デッドロック状態を回避する為に予め設定してお
いた再開始点以降の処理を取シ消し、再開始点からの処
理のやり直しが必要になる。しかしながら、デッドロッ
ク状態を回避する為に、必ずしも再開始点以降の処理を
全て取り消す必要はなく、デッドロック状態が該当作業
単位で発行した最終のデータベースアクセス要求内に閉
じている場合には、デッドロック状態を検出した最新の
データベースアクセス要求のみの取り消しで充分である
例えば、第2図の実例ではステップ202に於いてデッ
ドロックを検出した時、デッドロックの原因は最終アク
セス要求内に閉じているので1作業車位2の口座A変更
処理のみを取り消し、それ以前の処理はそのままで、デ
ッドロック状態を回避出来る。このように、デッドロッ
ク発生時の処理取シ消し範囲を最小にすることだよって
、データベースの同時更新時のアクセス競合から生じる
オーバヘッドを低減でき、結果的だ各作業単位の処理速
度を向上させることが出来る。
〔問題点を解決するための手段〕
上記従来技術の問題点を解決する本発明のデータベース
処理方式は、データベースアクセス要求の実行で必要に
なるデータベース資源の確保で。
デッドロック状態が検出された時、該要求の実行の中で
確保された資源に起因して発生したか否かの判定を、資
源管理簿に設定された確保ステータスを参照して行える
資源管理手段と、該資源管理手段から、該要求で確保し
た資源に起因したデッドロックであると通知された場合
に、該要求のみの復元と再始動を行い、それ以外は予め
設定された再開始点まで逆上る通常の復元処理と再始動
を行うデータベースアクセス手段と、該要求のみの復元
が要求された場合、該要求のみの復元処理と。
該要求で新たて確保した資源のみの解放を行う部分復元
手段とを備えるよって構成されている。
〔実施例〕
以下1本発明の実施例について図面を参照して説明する
第1図は1本発明の一実施例によるデータベースシステ
ムの構成を示すブロック図である。このシステムは複数
の作業単位によって共同使用されるデータベース1と2
作業単位から検索/更新要求を受けてデータベース操作
を行うデータベースアクセス処理部10と、資源の排他
制御を行う資源管理部20と、各作業単位が確保してい
る資源を記録する資源管理簿21と、デッドロックの発
生時に作業単位の取シ消し処理を行う通常の復元処理部
30と、最新のデータベースアクセス要求の取シ消し処
理のみを行う部分復元処理部40と。
復元に使われるデータベース更新ログが記録されている
ログファイル50を備えている。
以下、このシステムの動作をデータベースのアクセス処
理、資源の排他制御及びアクセス要求の復元処理に分け
て順次説明する。
以下余日 ■データベースアクセス処理 第3図はデータベースアクセス処理部10によるアクセ
ス処理の一例を示すフローチャートである。
データベースアクセス処理部10はいずれかの作業単位
から発せられたデータベースアクセス要求を受は取ると
、データベースアクセス処理を開始する(ステノア’3
01)。データベースアクセス処理部10はデータベー
スアクセス処理に於いてデータベース資源のロック要求
を資源管理部20に発行しくステップ302)アクセス
の許可を得ながら処理を進める。資源管理部20から許
可ステータスを受は取ると1次の処理要求へ進めるが(
ステップ303)、拒否ステータスが戻された場合、そ
のステータスが該当データベースアクセスに閉じたデッ
ドロックか、別データベースアクセスだ渡るデッドロッ
クかを資源管理部からのステータスで判定しくステップ
304)、前者であった場合は部分復元処理部40を呼
び出しくステップ306.)、該当データベースアクセ
スだけの取シ消し処理を行い、該尚データベースアクセ
ス要求の先頭から処理を再開させる(ステラ7’308
)。また、前記のデッドロックステータスが後者であっ
た場合には通常の復元処理部30を呼び(ステップ30
5)、処理を予め設定された再開始点から再開させる(
ステラ7’307)。
データベースアクセス処理が正常に終了した場合に資源
管理部20に対し処理の終了を通知しくステップ309
)、作業単位に制御を戻す。
■資源の排他制御 第4図は資源管理部20による資源の排他制御の一例を
示すフローチャートである。
資源管理部20は現在実行中の各作業単位がどのような
資源をどのようなモードで確保しているかを資源管理簿
21に記録している。資源管理簿には資源の名前、確保
モード(排他/共有)、確保ステータスが含まれている
(第6図参照)。資源管理部20はデータベースアクセ
ス処理部10からの資源確保要求を受は取ると、デッド
ロックチェックを行い(ステノア’401)、確保可の
判定が出来た場合(ステラ7’402)、新規資源は資
源管理簿にその資源名を登録すると共に確保ステータス
に” 1 ” (現在のアクセス要求で確保したことを
示す)を設定する(ステップ406)。
この確保ステータスは後続の資源確保要求でデッドロッ
クが発生した場合に、その状態の回避が現在のデータベ
ースアクセス要求のみの取シ消して回避可能か否かの判
定に使われる。データベースアクセス処理部10からの
資源確保要求がデッドロック状態を引き起こすと判定し
た場合、この情報によって、別作業単位が待っている資
源が現在のデータベースアクセス要求で登録した資源で
あることが分かると、データベースアクセス処理部10
に対するデッドロックステータスの返却時に該当データ
ベースアクセスに閉じたデッドロックであることを通知
する(ステツ7″405)。また、別のデータベースア
クセス要求で登録した資源であった場合は通常のデッド
ロックステータスを返却する(ステラ7”404)。該
当作業単位が抱える資源管1簿中に埋め込まれた現在の
データベースアクセス要求によって登録された資源であ
ることを示す確保ステータスは、データベースアクセス
処理部10から通知される処理の終了指示でN OI+
に設定される。
■アクセス要求の取り消し処理 第5図は部分復元処理部40によるアクセス要求の取シ
消し処理の一例を示すフローチャートであるO 部分復元処理部40はアクセス要求の取り消し処理の内
容を評価しくステップ501 )、更新処理であった場
合8該当作業単位の処理の取シ消しを可能にする為に収
集されているデータベース更新の更新前イメージを入力
しくステップ502 )。
更新前イメージファイル上での現在位置から前方向に復
元処理を行い(ステップ504)、該当データベース更
新処理の開始レコードを検出した時点(ステップ503
)でデータベースの復元処理を終了させ、該蟲アクセス
要求で確保した資源を解放しくステップ505)、アク
セス要求の取)消し処理を終了する。また、アクセス要
求の取シ消し処理の内容が検索処理であった場合、デー
タベースの復元処理は必要ないので、該当アクセス要求
で確保した資源を解放するだけ(ステップ505)でア
クセス要求の取シ消し処理は終了する。
〔発明の効果〕
以上詳細に説明したように1本発明のデータベース処理
方式は、複数の作業単位による同一データベースの同時
アクセス環境において発生するアクセス競合によるデッ
ドロック回避の為に予め設定された再開始点までの復元
を行う必要のない状況を判定できる構成を持っている為
、デッドロックによる作業単位の後戻シを抑制すること
が出来。
システム全体としての処理能力が向上するという効果を
奏する。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示す機能ブロック図
、第2図は二つの独立な作業単位が同一のデータベース
をアクセスし、デッドロック状態を引き起こす一例を示
す図、第3図は第1図のデータベースアクセス処理部1
0の動作の一例を説明するフローチャート、第4図は第
1図の資源管理部20の動作の一例を説明するフローチ
ャート。 第5図は第1図の部分復元処理部40の動作の一例を説
明するフローチャート、第6図は資源管理簿の形式を示
す図である。 1・・・データベース、10・・・データベースアクセ
ス処理部、20・・・資源管理部、30・・・復元処理
部。 40・・・部分復元処理部、50・・・ログファイル。 丁)11 、+、、、 、、j、jl\ 代理人(7783)弁理士池田憲保()\ニア、7 第5図 第6図

Claims (1)

    【特許請求の範囲】
  1. 1、複数の作業単位によって共同使用されるデータベー
    スの同時更新を可能にする為に、アクセス競合を検出す
    るデータベース資源の排他制御処理と、競合状態を解消
    する為に、指定作業単位の復元処理を行うデータベース
    システムにおいて、データベースアクセス要求の実行で
    必要になるデータベース資源の確保で、デッドロック状
    態が検出された時、該要求の実行の中で確保された資源
    に起因して発生したか否かの判定を、資源管理簿に設定
    された確保ステータスを参照して行える資源管理手段と
    、該資源管理手段から、該要求で確保した資源に起因し
    たデッドロックであると通知された場合に、該要求のみ
    の復元と再始動を行い、それ以外は予め設定された再開
    始点まで逆上る通常の復元処理と再始動を行うデータベ
    ースアクセス手段と、該要求のみの復元が要求された場
    合、該要求のみの復元処理と、該要求で新たに確保した
    資源のみの解放を行う部分復元手段とを備えたことを特
    徴とするデータベース処理方式。
JP62024862A 1987-02-06 1987-02-06 デ−タベ−ス処理方式 Pending JPS63193243A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62024862A JPS63193243A (ja) 1987-02-06 1987-02-06 デ−タベ−ス処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62024862A JPS63193243A (ja) 1987-02-06 1987-02-06 デ−タベ−ス処理方式

Publications (1)

Publication Number Publication Date
JPS63193243A true JPS63193243A (ja) 1988-08-10

Family

ID=12150026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62024862A Pending JPS63193243A (ja) 1987-02-06 1987-02-06 デ−タベ−ス処理方式

Country Status (1)

Country Link
JP (1) JPS63193243A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524054A (ja) * 2007-03-30 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション エミュレートされた処理環境でメモリ・アクセスを管理する方法、システム、およびそのためのコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524054A (ja) * 2007-03-30 2010-07-15 インターナショナル・ビジネス・マシーンズ・コーポレーション エミュレートされた処理環境でメモリ・アクセスを管理する方法、システム、およびそのためのコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
US20090300017A1 (en) Transaction Parallel Control Method, and Database Managemet System
US9418135B2 (en) Primary database system, replication database system and method for replicating data of a primary database system
US5761659A (en) Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters
JP2533266B2 (ja) 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法
JP2001527242A (ja) ロックグループを用いた楽観的並行処理制御のためのきめ細やかな整合性をもたらす仕組み
JPH0836513A (ja) データ管理方法及びデータ管理エラー回復方法
JPH03222048A (ja) システム間データベース共用方式
CN114282074B (zh) 数据库操作方法、装置、设备及存储介质
US20030208489A1 (en) Method for ordering parallel operations in a resource manager
US20020042850A1 (en) System and method for deadlock management in database systems with demultiplexed connections
US6988112B2 (en) Multi-program processing system and rollback method for file used therefor
JP3042600B2 (ja) 分散ファイルの同期方式
JPS63193243A (ja) デ−タベ−ス処理方式
CN116266101A (zh) 一种分布式对象存储系统处理方法及装置、存储介质
JP3781007B2 (ja) 計算機間のデータ引き継ぎ方法
JP2610926B2 (ja) トランザクション制御方式
JP3741388B2 (ja) データベースの予約アクセス処理方法
CN117667869B (zh) 一种全局事务并发控制方法、装置及设备
JP2843748B2 (ja) 排他制御方式
JPH1049420A (ja) データベース管理方法
JP3460265B2 (ja) 計算機間のデータ引き継ぎ方法
JPH09269912A (ja) 情報処理方法とその装置
JPH03123946A (ja) データベースの排他制御方法
JP2787107B2 (ja) バッファ制御方式及び装置
CN115454581A (zh) 一种分布式锁管理方法、装置、电子设备及存储介质