JP2004295272A - Transaction control method - Google Patents

Transaction control method Download PDF

Info

Publication number
JP2004295272A
JP2004295272A JP2003084092A JP2003084092A JP2004295272A JP 2004295272 A JP2004295272 A JP 2004295272A JP 2003084092 A JP2003084092 A JP 2003084092A JP 2003084092 A JP2003084092 A JP 2003084092A JP 2004295272 A JP2004295272 A JP 2004295272A
Authority
JP
Japan
Prior art keywords
resource
transaction
manager
wrapper
resource adapter
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
Application number
JP2003084092A
Other languages
Japanese (ja)
Other versions
JP4311059B2 (en
Inventor
Nobuyuki Yamamoto
展之 山本
Tetsuya Hashimoto
哲也 橋本
Yuji Mizote
裕二 溝手
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 JP2003084092A priority Critical patent/JP4311059B2/en
Publication of JP2004295272A publication Critical patent/JP2004295272A/en
Application granted granted Critical
Publication of JP4311059B2 publication Critical patent/JP4311059B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the following problem: unnecessary two-phase commitment is executed to a transaction manager and a resource manager in a distributed transaction processing system wherein a plurality of resource adapters each having no nonvolatile storage shares the single resource manager. <P>SOLUTION: When wrapping the resource adapter by a resource adapter wrapper and when referring to information showing a group of the resource adapters sharing the single resource manager to register the resource adapter into the transaction manager, the resource adapter is registered as a single transaction branch to make the transaction manager to execute one-phase commitment, a settlement process is distributed to the resource adapter from the resource adapter wrapper, and the resource manager is wrapped by a resource manager wrapper doing nothing in the settlement process such that the resource adapter does not repeatedly call the settlement process of the resource manager. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、不揮発性記憶を持たないリソースアダプタが1つのリソースマネジャを共有する分散トランザクションシステムで一相コミットを最適化する方法および装置に関する。
【0002】
【従来の技術】
多くのデータ処理システムが導入している概念にトランザクションがある。トランザクションとは、データ処理のシーケンスを区切ってデータ処理の排他制御、障害回復などを行う管理単位である。1つのトランザクションは、処理のシーケンスの途中にトランザクション開始命令を発行した時点から、トランザクション終了命令を発行した時点までの処理のシーケンスである。トランザクション内で実行した処理はすべて実行されたか、全く実行されなかったか、のいずれかになることが保証される。これによりデータの整合性の保証が容易となる。
【0003】
例えば、1つのデータベース内で2つのレコードを更新する場合、トランザクションを開始し、2つのレコードを更新し、トランザクションを終了することで1つのトランザクションとなる。このとき、処理が成功して必ず2つのレコードが両方とも更新されるか、処理が失敗して必ず2つのレコードが両方とも更新されないかの、いずれかであり、1つのレコードが更新され他方のレコードが更新されないということがないことがトランザクションによって保証される。いずれの場合も2つのレコード間の整合性は保証されている。
【0004】
前記の例を実現するために、データベースはトランザクション中に行われた更新情報を主記憶上のバッファに蓄積し、トランザクション終了命令発行時にその更新情報を二次記憶に一度に書出して確定させる。途中で失敗した場合は更新情報を破棄してすべての更新を破棄し処理されなかったことにする。
【0005】
前記の例ではデータベースが1個であったが、データベースが複数ある場合はトランザクション処理を行うためにさらに別の処理が必要である。例えば、2つのデータベースのレコードをそれぞれ更新する場合、トランザクションを開始し、データベース1のレコード1を更新し、データベース2のレコード2を更新し、トランザクションを終了することで1つのトランザンクションとするにはトランザクションを調停するトランザクションマネジャを新たに導入し、次のような処理が必要である。各々のデータベースはトランザクション中に行われた更新情報を各々の主記憶上のバッファに蓄積する。
【0006】
トランザクション終了命令発行時には、トランザクションマネジャが調停を行う。まず、トランザクションマネジャから各々のデータベースに対してデータベースの更新情報を確定も取消しも可能な形で一旦二次記憶に一度に書出すように指示する。この処理をプリペアと呼ぶ。各々のデータベースはプリペアが成功したかどうかをトランザクションマネジャへ応答する。トランザクションマネジャは両方のデータベースのプリペアが成功した場合トランザクションログを二次記憶に書出してトランザクションが、成功したことを確定させる。
【0007】
次に、トランザクションマネジャから各々のデータベースに対してデータベースの更新を確定させるように指示する。この処理をコミットと呼ぶ。各々のデータベースがコミットを終了したことをトランザクションマネジャへ応答するとトランザクション終了命令の処理は完了する。このようにプリペアとコミットの2段階でトランザクション終了処理を行う手順を二相コミットと呼ぶ。
【0008】
二相コミット処理では、複数のデータベースの更新処理がすべて成功したか確認するためプリペアが必要であった。しかし、データベースが1個のみ存在する場合は、複数のデータベースについて確認する必要がないため、プリペアを省略して、トランザクションマネジャからデータベースにコミット処理するよう指示可能である。このときのコミット処理を一相コミットと呼び、一相コミットを実施することを一相コミット最適化と呼ぶ。一相コミット最適化を行った場合は、トランザクションマネジャがトランザクションログを二次記憶に書出す必要がなく、性能が向上する。
【0009】
このような二相コミット処理するためのモデルとして、以下に述べるモデルが広く使われている(例えば、非特許文献1参照)。このモデルでは、前記の例のデータベースを一般化して、リソースマネジャと呼び、前記の例のトランザクションをグローバルトランザクションと呼ぶ。グローバルトランザクションは複数存在するので一意な識別子をつけて区別する。この識別子をグローバルトランザクション識別子と呼ぶ。トランザクションマネジャが二相コミット処理を行う対象は個々のリソースマネジャまたは、リソースマネジャをグループ化した単位で行う。この単位をトランザクションブランチと呼ぶ。トランザクションブランチを区別する識別子をブランチ修飾子と呼ぶ。
【0010】
このモデルでは、リソースマネジャの処理をトランザクションとして行う場合リソースマネジャとトランザクションブランチを関連付けてから、リソースマネジャの処理を行う。この処理を関連付けと呼ぶ。リソースマネジャの行う一相コミット、プリペア、コミットの処理をまとめて決着と呼ぶ。関連付けはリソースマネジャごとに行われるが、決着はトランザクションブランチごとに行われる。そのため、トランザクションブランチに複数のリソースマネジャが含まれる場合は、トランザクションマネジャはそれらのリソースマネジャから任意の1つを選んで決着を行う。トランザクションに含まれるトランザクションブランチが1個場合は一相コミット最適化が実施される。
【0011】
【非特許文献1】
X/Open Snapshot Distributed Transaction Processing:The XA+ Specification Version 2、 X/Open Company Ltd.、1994、pp.3.
【0012】
【発明が解決しようとする課題】
本発明では、不揮発性記憶を持たず、別のリソースマネジャのデータをキャッシュするリソースマネジャをリソースアダプタと呼ぶ。複数のリソースアダプタが単一のリソースマネジャを共有して利用している構成では、実際に二次記憶に更新情報を書出す必要があるのは、単一のリソースマネジャのみであり、トランザクションマネジャのトランザクションログの書出しは不要である。従来の技術では、トランザクションマネジャが直接管理するリソースアダプタが複数存在すると、リソースアダプタの数だけトランザクションブランチが生成されて不要な二相コミット処理が行われるため、トランザクションマネジャのトランザクションログが出力され性能を低下させていた。
【0013】
本発明の目的はこのような場合に一相コミット最適化を可能にする方法及び装置を提供することにある。
【0014】
【課題を解決するための手段】
本発明では、以下の手順で本発明の目的を達成する。
【0015】
同じリソースに属するリソースマネジャをグループ化して管理する。リソースアダプタをリソースアダプタラッパでラップし、前記のグループに属するリソースマネジャを利用するリソースアダプタのリソースアダプタラッパが単一のトランザクションブランチに属するようにグループ化してトランザクションマネジャに登録する。トランザクションブランチが単一になるため一相コミット最適化が実施される。決着はトランザクションブランチに含まれる任意の1個のリソースアダプタに対して行われるので、リソースマネジャグループ管理部のグループ表を参照して決着処理の呼出をグループに属するリソースアダプタへ配布する。これによってリソースマネジャの決着処理が重複して呼出されないようにするため、リソースマネジャの決着処理を呼出すリソースアダプタについては対応するリソースマネジャを決着処理では何も処理しないリソースマネジャラッパでラップする。代わりに、リソースマネジャグループ管理部が決着用リソースマネジャの決着処理を呼出して決着処理が1回だけ呼出されるようにする。
【0016】
【発明の実施の形態】
本発明の実施形態について図面を用いて説明する。
【0017】
図1は、本実施例の概要の構成を示した図である。
【0018】
トランザクションマネジャ100はグローバルトランザクション識別子GTRID101項目と、リソースマネジャを識別するRAID102項目と、トランザクションブランチ修飾子BQUAL103項目を含み、レコード104はGTRID「T1」、RAID「RAW1」、BQUAL「B1」を格納し、レコード105はGTRID「T1」、RAID「RAW2」、BQUAL「B1」を格納し、レコード106はGTRID「T1」、RAID「RAW3」、BQUAL「B1」を格納する。トランザクションマネジャ100はリソースアダプタラッパを登録するリソース登録手続き107を含む。
【0019】
リソースアダプタラッパRAW1(110)、RAW2(115)、RAW3(117)は関連付け手続き111と、決着手続き112を含む。関連付け手続き111は対応するリソースアダプタの関連付け手続きを呼出す。決着手続き112は一相コミット処理、プリペア処理、コミット処理を含み、リソースマネジャグループ管理部130の表を参照して、対応するリソースアダプタの決着手続きを適宜呼出す。
【0020】
リソースマネジャグループ管理部130はリソースアダプタラッパを識別するラッパRAID131項目と、リソースアダプタの決着処理の呼出が要不要を表す決着132項目と、グループを識別するグループ133項目を含み、レコード134はラッパRAID「RAW1」、決着「不要」、グループ「G1」を格納し、レコード135はラッパRAID「RAW2」、決着「必要」、グループ「G1」を格納し、レコード136はラッパRAID「RAW3」、決着「必要」、グループ「G1」を格納する。リソースマネジャグループ管理部130はリソースマネジャグループを識別するグループ137項目と決着用リソースマネジャを識別する決着用RMID138項目を含み、レコード139はグループ「G1」、決着用RMID「RM4」を格納する。
【0021】
リソースアダプタRA1(140)は関連付け手続き141と、決着手続き142と、利用するリソースマネジャを識別する利用RMID143項目を含み、レコード144は利用RMID「RM1」を格納する。リソースアダプタRA1(140)はデータを含まないため、決着手続き142を呼出す必要はない。
【0022】
リソースアダプタRA2(150)は関連付け手続き151と、決着手続き152と、利用するリソースマネジャを識別する利用RMID153項目を含み、レコード154は利用RMID「RM2」を格納する。リソースアダプタRA2(150)は決着手続き152によって更新されるデータ155を含むため、決着手続き152を呼出す必要がある。
【0023】
リソースアダプタRA3(160)は関連付け手続き161と、決着手続き162と、利用するリソースマネジャを識別する利用RMID163項目を含み、レコード164は利用RMID「RMW1」を格納する。リソースアダプタRA3(160)は決着手続き162によって更新されるデータ165を含むため、決着手続き162を呼出す必要がある。
【0024】
リソースマネジャラッパRMW1(170)は関連付け手続き171と、決着手続き172と、ラップ先リソースマネジャを識別するラップ先RMID173項目を含み、レコード174はラップRMID「RM3」を格納する。
【0025】
リソースマネジャRM1(180)、RM2(185)、RM3(186)、RM4(187)は同一のリソース190に属し、関連付け手続き181と、決着手続き182を含む。
【0026】
図2は、リソース190がデータベースである場合の実施例を示した図である。リソース190に属するリソースマネジャRM1(180)、RM2(185)、RM3(186)、RM4(187)はデータベースアクセス制御200を通じて同一のデータベース210をアクセスする。データベースアクセス制御200は、グローバルトランザクションを識別するGTRID201項目と、データベースコネクションを識別するCID202項目を含み、レコード203はGTRID「T1」、CID「C1」を格納する。これにより複数のリソースマネジャが共通のリソースにアクセス可能である。
【0027】
図3は、装置の構成を示した図である。
【0028】
計算機301は、主記憶装置310、二次記憶装置320、CPU380、マウス381、ディスプレイ382、キーボード383、ネットワークインタフェース385、及びこれらを相互接続するバス370から構成される。そして、計算機301はネットワークインタフェース385を介して、ネットワーク390に接続される。主記憶装置310には、オペレーティングシステム311、トランザクションマネジャ100、リソースアダプタラッパRAW1(110)、RAW2(115)、RAW3(117)、リソースアダプタグループ管理部130、リソースアダプタRA1(140)、RA2(150)、RA3(160)、リソースマネジャラッパRMW1(170)、リソース190に属するリソースマネジャRM1(180)、RM2(185)、RM3(186)、RM4(187)とデータベースアクセス制御200を記憶している。二次記憶装置320には、データベース記憶域を記憶している。
【0029】
図4から図8を用いて、トランザクション処理の手順の詳細を示す。トランザクションマネジャ100はトランザクションの開始時にリソース登録手続き107を呼出して、リソースアダプタラッパRAW1(110)、RAW2(115)、RAW3(117)を登録する。このシーケンスは図4に示されている。トランザクションマネジャ100はトランザクションの終了時に図5に示す処理を行い、一相コミット最適化または二相コミット処理を行う。本実施例ではトランザクションマネジャ100が決着処理時にトランザクションブランチに含まれるリソースアダプタラッパRAW1(110)、RAW2(115)、RAW3(117)のうちリソースアダプタラッパRAW1(110)を選択したものとして説明する。図6に一相コミット処理でリソースアダプタラッパRAW1(110)が行う処理、図7にプリペア処理でリソースアダプタラッパRAW1(110)が行う処理、図8にコミット処理でリソースアダプタラッパRAW1(110)が行う処理、を示す。
【0030】
図4は、リソース登録手続き107の動作をフローチャートで示した図である。リソース登録手続き107は、動作中のグローバルトランザクションを識別するGTRIDと登録対象のリソースアダプタを識別するRAIDを入力とする。
【0031】
(ステップ401)トランザクションマネジャ100のテーブルに対して探索エントリを先頭に位置付ける。
【0032】
(ステップ402)探索が終了したかを判定する。
【0033】
(ステップ403)リソースアダプタグループ管理部130のテーブルのラッパRAID131項目とグループ133項目を参照して、登録対象のRAIDに対応するグループと探索エントリのRAID102項目に対応するグループを比較する。
【0034】
(ステップ404)新しいトランザクションブランチを生成するために、新しいBQUALを生成して設定BQUALとする。
【0035】
(ステップ405)比較結果が一致を示すかを判定する。
【0036】
(ステップ406)探索エントリを1つ進める。
【0037】
(ステップ407)現在の探索エントリのBQUALを得て設定BQUALとする。
【0038】
(ステップ408)GTRIDと登録対象のRMIDと設定BQUALをトランザクションマネジャのテーブルに登録する。
【0039】
図5は、トランザクションマネジャ100が行うトランザクションコミット処理をフローチャートで示した図である。
【0040】
(ステップ501)コミット対象のトランザクションに含まれるトランザクションブランチ数を数える。
【0041】
(ステップ502)トランザクションブランチ数が1かを判定する。
【0042】
(ステップ503)トランザクションブランチごとに任意のリソースアダプタラッパを選び、すべてプリペアする。本実施例ではリソースアダプタラッパRAW1(110)を選んでプリペアする。
【0043】
(ステップ504)任意のリソースアダプタラッパを選び、一相コミットする。本実施例ではリソースアダプタラッパRAW1(110)を選んで一相コミットする。
【0044】
(ステップ505)すべてプリペア成功応答かを判定する。
【0045】
(ステップ506)トランザクションブランチごとに任意のリソースアダプタラッパを選び、すべてコミット完了する。本実施例ではリソースアダプタラッパRAW1(110)を選んでコミット完了する。
【0046】
(ステップ507)トランザクションブランチごとに任意のリソースアダプタラッパを選び、すべてロールバック完了する。本実施例ではリソースアダプタラッパRAW1(110)を選んでロールバック完了する。
【0047】
図6は、リソースアダプタラッパRAW1(110)が一相コミットを行う動作をフローチャートで示した図である。
【0048】
(ステップ601)一相コミット指示を受取る。
【0049】
(ステップ602)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてプリペアする。
【0050】
(ステップ603)すべて成功したかを判定する。
【0051】
(ステップ604)決着用リソースマネジャRM4(187)をコミットする。
【0052】
(ステップ605)決着用リソースマネジャRM4(187)をロールバックする。
【0053】
(ステップ606)決着用リソースマネジャRM4(187)のコミットが成功したかを判定する。
【0054】
(ステップ607)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてコミットする。
【0055】
(ステップ608)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてロールバックする。
【0056】
(ステップ609)一相コミット成功応答を返す。
【0057】
(ステップ610)一相コミット失敗応答を返す。
【0058】
図7は、リソースアダプタラッパRAW1(110)がプリペアを行う動作をフローチャートで示した図である。
【0059】
(ステップ701)プリペア指示を受取る。
【0060】
(ステップ702)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてプリペアする。
【0061】
(ステップ703)すべて成功したかを判定する。
【0062】
(ステップ704)決着用リソースマネジャRM4(187)をプリペアする。
【0063】
(ステップ705)決着用リソースマネジャRM4(187)をロールバックする。
【0064】
(ステップ706)決着用リソースマネジャRM4(187)のプリペアが成功したか判定する。
【0065】
(ステップ707)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてロールバックする。
【0066】
(ステップ708)プリペア成功応答を返す。
【0067】
(ステップ709)プリペア失敗応答を返す。
【0068】
図8は、リソースアダプタラッパRAW1(110)がコミットを行う動作をフローチャートで示した図である。
【0069】
(ステップ801)コミット指示を受取る。
【0070】
(ステップ802)コミット指示の内容がコミットかを判定する。
【0071】
(ステップ803)決着用リソースマネジャRM4(187)をコミットする。
【0072】
(ステップ804)決着用リソースマネジャRM4(187)をロールバックする。
【0073】
(ステップ805)決着用リソースマネジャRM4(187)のコミットが成功したかを判定する。
【0074】
(ステップ806)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてコミットする。
【0075】
(ステップ807)グループ内で決着必要なリソースアダプタRA2(150)、RA3(160)をすべてロールバックする。
【0076】
(ステップ808)コミット成功応答を返す。
【0077】
(ステップ809)コミット失敗応答を返す。
【0078】
【発明の効果】
本発明により、永続記憶を持たない複数のリソースアダプタが単一のリソースマネジャを共有している場合、一相コミット最適化が可能である。
【図面の簡単な説明】
【図1】本実施例の概要の構成を示した図である。
【図2】リソース190がデータベースである場合の実施例を示した図である。
【図3】本実施例の装置の構成を示した図である。
【図4】リソース登録手続き107の動作をフローチャートで示した図である。
【図5】トランザクションマネジャ100が行うトランザクションコミット処理をフローチャートで示した図である。
【図6】リソースアダプタラッパが一相コミットを行う動作をフローチャートで示した図である。
【図7】リソースアダプタラッパがプリペアを行う動作をフローチャートで示した図である。
【図8】リソースアダプタラッパがコミットを行う動作をフローチャートで示した図である。
【符号の説明】
100:トランザクションマネジャ、110、115、117:リソースアダプタラッパ、130:リソースアダプタグループ管理部、140、150、160: リソースアダプタ、170:リソースマネジャラッパ、180、185、186、187:リソースマネジャ、300:計算機、310:主記憶装置、311:オペレーティングシステム、320:二次記憶装置、370:バス、380:CPU、381:マウス、382:ディスプレイ、383:キーボード、385:ネットワークインタフェース、390:ネットワーク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for optimizing one-phase commit in a distributed transaction system in which resource adapters without non-volatile storage share one resource manager.
[0002]
[Prior art]
Transactions are a concept introduced by many data processing systems. The transaction is a management unit for performing exclusive control of data processing, failure recovery, and the like by dividing the data processing sequence. One transaction is a processing sequence from when a transaction start instruction is issued in the middle of the processing sequence to when a transaction end instruction is issued. It is guaranteed that all the processing performed in the transaction has been performed or not performed at all. This makes it easy to guarantee data consistency.
[0003]
For example, when two records are updated in one database, one transaction is started by starting a transaction, updating two records, and ending the transaction. At this time, either the processing is successful and two records are always updated, or the processing fails and both records are not always updated. One record is updated and the other is updated. Transactions ensure that records are not updated. In any case, consistency between the two records is guaranteed.
[0004]
In order to realize the above example, the database accumulates the update information performed during the transaction in a buffer on the main memory, and at the time of issuing the transaction end instruction, writes the update information to the secondary memory at a time and fixes it. If a failure occurs in the middle, the update information is discarded, all updates are discarded, and it is determined that processing has not been performed.
[0005]
In the above example, the number of databases is one, but if there are a plurality of databases, further processing is required to perform transaction processing. For example, to update two records in two databases, start a transaction, update record 1 in database 1, update record 2 in database 2, and end the transaction to make one transaction. It is necessary to newly introduce a transaction manager that arbitrates transactions and perform the following processing. Each database stores update information performed during the transaction in a buffer on each main memory.
[0006]
When a transaction end instruction is issued, the transaction manager performs arbitration. First, the transaction manager instructs each database to write the update information of the database once to the secondary storage in a form that can be fixed or canceled. This process is called a prepare. Each database responds to the transaction manager whether the prepare was successful. If both databases are successfully prepared, the transaction manager writes the transaction log to secondary storage to determine that the transaction was successful.
[0007]
Next, the transaction manager instructs each database to determine the update of the database. This process is called a commit. Processing of the transaction end command is completed when each database responds to the transaction manager that the commit has been completed. Such a procedure of performing the transaction end processing in two stages of prepare and commit is called two-phase commit.
[0008]
In the two-phase commit process, a prepare was necessary to confirm whether all the update processes of a plurality of databases were successful. However, when there is only one database, there is no need to check a plurality of databases, so that the prepare can be omitted and the transaction manager can instruct to perform commit processing to the database. The commit process at this time is called a one-phase commit, and executing the one-phase commit is called a one-phase commit optimization. When the one-phase commit optimization is performed, the transaction manager does not need to write the transaction log to the secondary storage, and the performance is improved.
[0009]
As a model for performing such two-phase commit processing, a model described below is widely used (for example, see Non-Patent Document 1). In this model, the database of the above example is generalized to be called a resource manager, and the transaction of the above example is called a global transaction. Since there are a plurality of global transactions, they are distinguished by adding a unique identifier. This identifier is called a global transaction identifier. The target for which the transaction manager performs the two-phase commit process is an individual resource manager or a unit in which the resource managers are grouped. This unit is called a transaction branch. An identifier that distinguishes a transaction branch is called a branch qualifier.
[0010]
In this model, when the processing of the resource manager is performed as a transaction, the processing of the resource manager is performed after associating the resource manager with the transaction branch. This process is called association. The one-phase commit, prepare, and commit processes performed by the resource manager are collectively referred to as settlement. The association is made for each resource manager, but the settlement is made for each transaction branch. Therefore, when a plurality of resource managers are included in the transaction branch, the transaction manager selects any one of the resource managers and makes a decision. When a transaction includes one transaction branch, one-phase commit optimization is performed.
[0011]
[Non-patent document 1]
X / Open Snapshot Distributed Transaction Processing: The XA + Specification Version 2, X / Open Company Ltd. Pp. 1994. 3.
[0012]
[Problems to be solved by the invention]
In the present invention, a resource manager that has no nonvolatile storage and caches data of another resource manager is called a resource adapter. In a configuration in which multiple resource adapters share a single resource manager, only the single resource manager needs to actually write the update information to the secondary storage. There is no need to write the transaction log. In the conventional technology, when there are a plurality of resource adapters directly managed by the transaction manager, transaction branches are generated by the number of resource adapters and unnecessary two-phase commit processing is performed. Had been lowered.
[0013]
It is an object of the present invention to provide a method and apparatus that allows one-phase commit optimization in such cases.
[0014]
[Means for Solving the Problems]
In the present invention, the object of the present invention is achieved by the following procedure.
[0015]
Group and manage resource managers belonging to the same resource. The resource adapters are wrapped by a resource adapter wrapper, and the resource adapter wrappers of the resource adapters that use the resource managers belonging to the group are grouped so as to belong to a single transaction branch and registered in the transaction manager. Since there is a single transaction branch, one-phase commit optimization is performed. Since the settlement is performed for any one resource adapter included in the transaction branch, the call of the settlement processing is distributed to the resource adapters belonging to the group with reference to the group table of the resource manager group management unit. As a result, in order to prevent the resource manager's decision processing from being called twice, the corresponding resource manager for the resource adapter that calls the resource manager decision processing is wrapped by a resource manager wrapper that does nothing in the decision processing. Instead, the resource manager group management unit calls the settlement process of the settlement resource manager so that the settlement process is called only once.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to the drawings.
[0017]
FIG. 1 is a diagram showing a schematic configuration of the present embodiment.
[0018]
The transaction manager 100 includes a global transaction identifier GTRID101 item, a RAID102 item for identifying a resource manager, and a transaction branch qualifier BQUAL103 item, and the record 104 stores GTRID "T1", RAID "RAW1", BQUAL "B1", The record 105 stores GTRID "T1", RAID "RAW2", and BQUAL "B1", and the record 106 stores GTRID "T1", RAID "RAW3", and BQUAL "B1". The transaction manager 100 includes a resource registration procedure 107 for registering a resource adapter wrapper.
[0019]
The resource adapter wrappers RAW1 (110), RAW2 (115), and RAW3 (117) include an association procedure 111 and a settlement procedure 112. The association procedure 111 calls the association procedure of the corresponding resource adapter. The settlement procedure 112 includes one-phase commit processing, prepare processing, and commit processing, and refers to the table of the resource manager group management unit 130 to appropriately call the corresponding resource adapter's settlement procedure.
[0020]
The resource manager group management unit 130 includes a wrapper RAID item 131 for identifying a resource adapter wrapper, a decision item 132 for indicating whether or not it is necessary to call a resource adapter decision process, and a group 133 item for identifying a group. The record 135 stores “RAW1”, the result “unnecessary” and the group “G1”, the record 135 stores the wrapper RAID “RAW2”, the result “necessary” and the group “G1”, and the record 136 stores the wrapper RAID “RAW3” and the result “ Necessary "and group" G1 "are stored. The resource manager group management unit 130 includes a group 137 item for identifying the resource manager group and a settlement RMID 138 item for identifying the settlement resource manager, and the record 139 stores the group “G1” and the settlement RMID “RM4”.
[0021]
The resource adapter RA1 (140) includes an association procedure 141, a settlement procedure 142, and a usage RMID 143 item for identifying a resource manager to be used, and the record 144 stores a usage RMID “RM1”. Since the resource adapter RA1 (140) does not include data, there is no need to call the settlement procedure 142.
[0022]
The resource adapter RA2 (150) includes an association procedure 151, a settlement procedure 152, and a usage RMID 153 item for identifying a resource manager to be used, and the record 154 stores a usage RMID “RM2”. Since the resource adapter RA2 (150) includes the data 155 updated by the settlement procedure 152, it is necessary to call the settlement procedure 152.
[0023]
The resource adapter RA3 (160) includes an association procedure 161, a settlement procedure 162, and a used RMID 163 item for identifying a resource manager to be used, and the record 164 stores a used RMID "RMW1". Since the resource adapter RA3 (160) includes the data 165 updated by the settlement procedure 162, it is necessary to call the settlement procedure 162.
[0024]
The resource manager wrapper RMW1 (170) includes an association procedure 171, a settlement procedure 172, and a wrap destination RMID 173 item for identifying a wrap destination resource manager, and the record 174 stores the wrap RMID "RM3".
[0025]
The resource managers RM1 (180), RM2 (185), RM3 (186), and RM4 (187) belong to the same resource 190 and include an association procedure 181 and a settlement procedure 182.
[0026]
FIG. 2 is a diagram showing an embodiment when the resource 190 is a database. The resource managers RM1 (180), RM2 (185), RM3 (186), and RM4 (187) belonging to the resource 190 access the same database 210 through the database access control 200. The database access control 200 includes a GTRID 201 item for identifying a global transaction and a CID 202 item for identifying a database connection, and the record 203 stores GTRID “T1” and CID “C1”. This allows multiple resource managers to access a common resource.
[0027]
FIG. 3 is a diagram showing the configuration of the device.
[0028]
The computer 301 includes a main storage device 310, a secondary storage device 320, a CPU 380, a mouse 381, a display 382, a keyboard 383, a network interface 385, and a bus 370 interconnecting these. Then, the computer 301 is connected to the network 390 via the network interface 385. In the main storage device 310, the operating system 311, the transaction manager 100, the resource adapter wrappers RAW1 (110), RAW2 (115), RAW3 (117), the resource adapter group management unit 130, the resource adapters RA1 (140), RA2 (150) ), RA3 (160), resource manager wrapper RMW1 (170), resource manager RM1 (180) belonging to resource 190, RM2 (185), RM3 (186), RM4 (187), and database access control 200. . The secondary storage device 320 stores a database storage area.
[0029]
The details of the transaction processing procedure will be described with reference to FIGS. 4 to 8. At the start of a transaction, the transaction manager 100 calls the resource registration procedure 107 to register the resource adapter wrappers RAW1 (110), RAW2 (115), and RAW3 (117). This sequence is shown in FIG. The transaction manager 100 performs the processing shown in FIG. 5 at the end of the transaction, and performs one-phase commit optimization or two-phase commit processing. In this embodiment, it is assumed that the transaction manager 100 selects the resource adapter wrapper RAW1 (110) from the resource adapter wrappers RAW1 (110), RAW2 (115), and RAW3 (117) included in the transaction branch during the settlement processing. FIG. 6 shows a process performed by the resource adapter wrapper RAW1 (110) in the one-phase commit process, FIG. 7 shows a process performed by the resource adapter wrapper RAW1 (110) in the prepare process, and FIG. 8 shows a process performed by the resource adapter wrapper RAW1 (110) in the commit process. Processing to be performed.
[0030]
FIG. 4 is a flowchart showing the operation of the resource registration procedure 107. The resource registration procedure 107 receives a GTRID for identifying an active global transaction and a RAID for identifying a resource adapter to be registered.
[0031]
(Step 401) The search entry is positioned at the top of the table of the transaction manager 100.
[0032]
(Step 402) It is determined whether the search is completed.
[0033]
(Step 403) The group corresponding to the RAID to be registered and the group corresponding to the RAID 102 item of the search entry are compared with reference to the wrapper RAID 131 item and the group 133 item of the table of the resource adapter group management unit 130.
[0034]
(Step 404) In order to generate a new transaction branch, a new BQUAL is generated and set as a set BQUAL.
[0035]
(Step 405) It is determined whether the comparison result indicates a match.
[0036]
(Step 406) The search entry is advanced by one.
[0037]
(Step 407) The BQUAL of the current search entry is obtained and set as the set BQUAL.
[0038]
(Step 408) The GTRID, the RMID to be registered, and the set BQUAL are registered in the table of the transaction manager.
[0039]
FIG. 5 is a flowchart showing a transaction commit process performed by the transaction manager 100.
[0040]
(Step 501) The number of transaction branches included in the transaction to be committed is counted.
[0041]
(Step 502) It is determined whether the number of transaction branches is one.
[0042]
(Step 503) An arbitrary resource adapter wrapper is selected for each transaction branch, and all are prepared. In this embodiment, the resource adapter wrapper RAW1 (110) is selected and prepared.
[0043]
(Step 504) An arbitrary resource adapter wrapper is selected and one-phase commit is performed. In this embodiment, the resource adapter wrapper RAW1 (110) is selected and one-phase commit is performed.
[0044]
(Step 505) It is determined whether or not all are prepare success responses.
[0045]
(Step 506) An arbitrary resource adapter wrapper is selected for each transaction branch, and all commits are completed. In this embodiment, the commit is completed by selecting the resource adapter wrapper RAW1 (110).
[0046]
(Step 507) An arbitrary resource adapter wrapper is selected for each transaction branch, and all rollbacks are completed. In this embodiment, the rollback is completed by selecting the resource adapter wrapper RAW1 (110).
[0047]
FIG. 6 is a flowchart showing an operation in which the resource adapter wrapper RAW1 (110) performs one-phase commit.
[0048]
(Step 601) Receive a one-phase commit instruction.
[0049]
(Step 602) All resource adapters RA2 (150) and RA3 (160) that need to be settled in the group are prepared.
[0050]
(Step 603) It is determined whether or not all succeeded.
[0051]
(Step 604) Commit the settlement resource manager RM4 (187).
[0052]
(Step 605) Roll back the settlement resource manager RM4 (187).
[0053]
(Step 606) It is determined whether the commit of the settlement resource manager RM4 (187) is successful.
[0054]
(Step 607) Commit all resource adapters RA2 (150) and RA3 (160) required for settlement in the group.
[0055]
(Step 608) All resource adapters RA2 (150) and RA3 (160) that need to be settled in the group are rolled back.
[0056]
(Step 609) Return a one-phase commit success response.
[0057]
(Step 610) Return a one-phase commit failure response.
[0058]
FIG. 7 is a flowchart showing an operation in which the resource adapter wrapper RAW1 (110) performs a prepare.
[0059]
(Step 701) Receive a prepare instruction.
[0060]
(Step 702) All resource adapters RA2 (150) and RA3 (160) that need to be settled in the group are prepared.
[0061]
(Step 703) It is determined whether or not all succeeded.
[0062]
(Step 704) Prepare settlement resource manager RM4 (187).
[0063]
(Step 705) Rollback the settlement resource manager RM4 (187).
[0064]
(Step 706) It is determined whether or not the preparation of the settlement resource manager RM4 (187) is successful.
[0065]
(Step 707) All resource adapters RA2 (150) and RA3 (160) that need to be settled in the group are rolled back.
[0066]
(Step 708) Return a prepare success response.
[0067]
(Step 709) A prepare failure response is returned.
[0068]
FIG. 8 is a flowchart showing an operation in which the resource adapter wrapper RAW1 (110) performs a commit.
[0069]
(Step 801) Receive a commit instruction.
[0070]
(Step 802) It is determined whether the content of the commit instruction is a commit.
[0071]
(Step 803) Commit the settlement resource manager RM4 (187).
[0072]
(Step 804) The settlement resource manager RM4 (187) is rolled back.
[0073]
(Step 805) It is determined whether the commit of the settlement resource manager RM4 (187) is successful.
[0074]
(Step 806) Commit all resource adapters RA2 (150) and RA3 (160) that need to be settled in the group.
[0075]
(Step 807) Roll back all resource adapters RA2 (150) and RA3 (160) that need to be settled in the group.
[0076]
(Step 808) Return a commit success response.
[0077]
(Step 809) Return a commit failure response.
[0078]
【The invention's effect】
The present invention enables one-phase commit optimization when multiple resource adapters without persistent storage share a single resource manager.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of an embodiment.
FIG. 2 is a diagram showing an embodiment when a resource 190 is a database.
FIG. 3 is a diagram illustrating a configuration of an apparatus according to the present embodiment.
FIG. 4 is a flowchart showing an operation of a resource registration procedure 107.
FIG. 5 is a flowchart showing a transaction commit process performed by the transaction manager 100.
FIG. 6 is a flowchart illustrating an operation in which a resource adapter wrapper performs one-phase commit.
FIG. 7 is a flowchart illustrating an operation in which a resource adapter wrapper performs a prepare.
FIG. 8 is a flowchart showing an operation performed by the resource adapter wrapper to perform a commit.
[Explanation of symbols]
100: transaction manager, 110, 115, 117: resource adapter wrapper, 130: resource adapter group management unit, 140, 150, 160: resource adapter, 170: resource manager wrapper, 180, 185, 186, 187: resource manager, 300 : Computer, 310: main storage, 311: operating system, 320: secondary storage, 370: bus, 380: CPU, 381: mouse, 382: display, 383: keyboard, 385: network interface, 390: network

Claims (3)

トランザクションマネジャとトランザクション処理において二次記憶を利用しないリソースアダプタとリソースマネジャからなり、前記トランザクションマネジャが前記リソースアダプタを制御する分散トランザクション処理システムにおいて、トランザクションに参加する複数の前記リソースアダプタが利用する前記リソースマネジャが1つの前記リソースを共有する場合に一相コミット処理最適化を行うトランザクション制御方法であって、
前記リソースアダプタを各々ラップするリソースアダプタラッパと前記リソースを共有する前記リソースアダプタのグループを管理するリソースアダプタグループ管理部を有し、
前記トランザクションマネジャはトランザクションと登録された前記リソースアダプタラッパと二相コミットにおけるプリペア、コミットの処理単位であるトランザクションブランチの対応表を有し、
前記リソースアダプタラッパと前記リソースアダプタと前記リソースマネジャは、前記トランザクションブランチとの関連付け処理と、一相コミット処理と、プリペア処理と、コミット処理を有し、
前記リソースアダプタグループ管理部は前記リソースアダプタラッパと前記リソースアダプタラッパがラップする前記リソースアダプタの決着処理の要不要を示す情報と前記グループの対応表と、前記グループと決着用リソースマネジャの対応表を有し、
前記リソースアダプタの決着処理の要不要を示す情報は該当する前記リソースアダプタの決着処理が該当する前記リソースアダプタの内部状態を変更する場合は必要、内部状態を変更しない場合は不要、と構成され、
前記トランザクションマネジャに前記リソースアダプタラッパを登録するさいに同じ前記グループに対応する前記リソースアダプタが同じ前記トランザクションブランチになるように登録するステップと、
前記トランザクションマネジャに登録された前記リソースアダプタラッパに前記トランザクションブランチを関連付け、前記リソースアダプタラッパがラップする前記リソースアダプタに前記トランザクションブランチを関連付けるステップと、
前記トランザクションマネジャに登録された前記トランザクションブランチごとに任意の前記リソースアダプタラッパを1つ選んで、前記トランザクションブランチが1個か判定して1個の場合は前記リソースアダプタラッパに一相コミット処理を、前記トランザクションブランチが複数の場合は前記リソースアダプタラッパにプリペア処理とコミット処理を行うステップと、
前記リソースアダプタラッパの一相コミット処理が前記リソースアダプタラッパと同じ前記グループに属し決着処理の必要な前記リソースアダプタのプリペア処理、前記リソースアダプタラッパと同じ前記グループに対応する前記決着用リソースマネジャのコミット処理、前記リソースアダプタラッパと同じ前記グループに属し決着処理の必要な前記リソースアダプタのコミット処理、を順に呼出すステップと、
前記リソースアダプタラッパのプリペア処理が前記リソースアダプタラッパと同じ前記グループに属し決着処理の必要な前記リソースアダプタのプリペア処理、前記リソースアダプタラッパと同じ前記グループに対応する前記決着用リソースマネジャのプリペア処理、を順に呼出すステップと、
前記リソースアダプタラッパのコミット処理が前記決着用リソースマネジャのコミット処理、前記リソースアダプタラッパと同じ前記グループに属し決着処理の必要な前記リソースアダプタのコミット処理、を順に呼出すステップ、を含むことを特徴とするトランザクション制御方法。
In a distributed transaction processing system comprising a transaction manager and a resource adapter that does not use secondary storage in transaction processing and the resource manager, wherein the transaction manager controls the resource adapter, the resource used by a plurality of resource adapters participating in a transaction A transaction control method for optimizing one-phase commit processing when a manager shares one resource,
A resource adapter group management unit that manages a group of the resource adapters that share the resource with a resource adapter wrapper that wraps the resource adapters,
The transaction manager has a correspondence table of a transaction, a registered resource adapter wrapper, a prepare in two-phase commit, and a transaction branch which is a processing unit of commit.
The resource adapter wrapper, the resource adapter, and the resource manager have an association process with the transaction branch, a one-phase commit process, a prepare process, and a commit process,
The resource adapter group management unit stores the resource adapter wrapper, information indicating whether or not the resource adapter wrapper wraps the resource adapter is necessary or not, a correspondence table of the group, and a correspondence table of the group and the settlement resource manager. Have
The information indicating whether or not the resource adapter settlement process is required is configured when the decision process of the corresponding resource adapter changes the internal state of the corresponding resource adapter, and is unnecessary when the internal state is not changed.
Registering the resource adapter corresponding to the same group as the same transaction branch when registering the resource adapter wrapper with the transaction manager;
Associating the transaction branch with the resource adapter wrapper registered with the transaction manager, and associating the transaction branch with the resource adapter wrapped by the resource adapter wrapper;
One arbitrary resource adapter wrapper is selected for each transaction branch registered in the transaction manager, and it is determined whether there is one transaction branch. If there is one, a one-phase commit process is performed on the resource adapter wrapper. Performing a prepare process and a commit process on the resource adapter wrapper when there are a plurality of transaction branches;
A one-phase commit process of the resource adapter wrapper belongs to the same group as the resource adapter wrapper and prepares the resource adapter that requires a settlement process, and a commit of the settlement resource manager corresponding to the same group as the resource adapter wrapper. Process, sequentially calling commit processing of the resource adapter which belongs to the same group as the resource adapter wrapper and requires a settlement processing,
The resource adapter wrapper prepare process belongs to the same group as the resource adapter wrapper, and the resource adapter prepare process requires the finalization process, the resource manager wrapper prepare process corresponding to the same group as the resource adapter wrapper, Calling in order,
The commit process of the resource adapter wrapper includes a step of sequentially calling a commit process of the settlement resource manager, and a commit process of the resource adapter that belongs to the same group as the resource adapter wrapper and requires a settlement process. Transaction control method.
請求項1記載のトランザクション制御方法において、前記リソースアダプタのプリペア処理とコミット処理の少なくとも一方が前記リソースアダプタが利用する前記リソースマネジャのプリペア処理とコミット処理を呼出す場合、前記リソースマネジャをラップするリソースマネジャラッパを有し、前記リソースアダプタは前記リソースアダプタのかわりに前記リソースマネジャラッパを利用し、前記リソースマネジャラッパはプリペア処理とコミット処理で何もしないことを特徴とするトランザクション制御方法。2. The transaction control method according to claim 1, wherein when at least one of the prepare process and the commit process of the resource adapter calls the prepare process and the commit process of the resource manager used by the resource adapter, the resource manager wraps the resource manager. A transaction control method, comprising a wrapper, wherein the resource adapter uses the resource manager wrapper instead of the resource adapter, and the resource manager wrapper does nothing in a prepare process and a commit process. 不揮発性記憶を持たない複数のリソースアダプタが単一のリソースマネジャを共有する分散トランザクション処理システムにおいて、
リソースアダプタをリソースアダプタラッパでラップし、単一のリソースマネジャを共有するリソースアダプタのグループを表す情報を参照してリソースアダプタをトランザクションマネジャに登録する際に、単一のトランザクションブランチとして登録させることでトランザクションマネジャに対して一相コミットを行わせ、リソースアダプタラッパから決着処理をリソースアダプタに分配し、リソースアダプタがリソースマネジャの決着処理を重複して呼出さないように、決着処理で何もしないリソースマネジャラッパでリソースマネジャをラップすることを特徴とするトランザクション制御方法。
In a distributed transaction processing system in which multiple resource adapters without non-volatile storage share a single resource manager,
By wrapping a resource adapter with a resource adapter wrapper and referencing information representing a group of resource adapters that share a single resource manager, when registering the resource adapter with the transaction manager, register it as a single transaction branch. Make the transaction manager perform a one-phase commit, distribute the settlement process from the resource adapter wrapper to the resource adapter, and do nothing in the settlement process so that the resource adapter does not call the resource manager's decision process redundantly. A transaction control method comprising wrapping a resource manager in a manager wrapper.
JP2003084092A 2003-03-26 2003-03-26 Transaction control method Expired - Fee Related JP4311059B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003084092A JP4311059B2 (en) 2003-03-26 2003-03-26 Transaction control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003084092A JP4311059B2 (en) 2003-03-26 2003-03-26 Transaction control method

Publications (2)

Publication Number Publication Date
JP2004295272A true JP2004295272A (en) 2004-10-21
JP4311059B2 JP4311059B2 (en) 2009-08-12

Family

ID=33399325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003084092A Expired - Fee Related JP4311059B2 (en) 2003-03-26 2003-03-26 Transaction control method

Country Status (1)

Country Link
JP (1) JP4311059B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011550A (en) * 2005-06-29 2007-01-18 Hitachi Ltd Program control method, computer and computer control program
WO2008110115A1 (en) * 2007-03-14 2008-09-18 Huawei Technologies Co., Ltd. Transaction coordinator, resource using terminal, service terminal, and method of distributed transaction processing
US8073901B2 (en) 2007-08-21 2011-12-06 Hitachi, Ltd. Information update method and information update system
US9501312B2 (en) 2014-01-30 2016-11-22 Red Hat, Inc. Using compensation transactions for multiple one-phase commit participants
KR20160147909A (en) * 2014-04-28 2016-12-23 오라클 인터내셔날 코포레이션 System and method for supporting common transaction identifier (xid) optimization and transaction affinity based on resource manager (rm) instance awareness in a transactional environment
US9858312B2 (en) 2014-10-14 2018-01-02 Red Hat, Inc. Transaction compensation for single phase resources

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011550A (en) * 2005-06-29 2007-01-18 Hitachi Ltd Program control method, computer and computer control program
JP4676825B2 (en) * 2005-06-29 2011-04-27 株式会社日立製作所 Program control method, computer, and computer control program
WO2008110115A1 (en) * 2007-03-14 2008-09-18 Huawei Technologies Co., Ltd. Transaction coordinator, resource using terminal, service terminal, and method of distributed transaction processing
US8073901B2 (en) 2007-08-21 2011-12-06 Hitachi, Ltd. Information update method and information update system
US9501312B2 (en) 2014-01-30 2016-11-22 Red Hat, Inc. Using compensation transactions for multiple one-phase commit participants
KR20160147909A (en) * 2014-04-28 2016-12-23 오라클 인터내셔날 코포레이션 System and method for supporting common transaction identifier (xid) optimization and transaction affinity based on resource manager (rm) instance awareness in a transactional environment
JP2017514239A (en) * 2014-04-28 2017-06-01 オラクル・インターナショナル・コーポレイション System and method for supporting common transaction identifier (XID) optimization and transaction affinity based on resource manager (RM) instance detection in a transaction environment
KR102340296B1 (en) 2014-04-28 2021-12-17 오라클 인터내셔날 코포레이션 System and method for supporting common transaction identifier (xid) optimization and transaction affinity based on resource manager (rm) instance awareness in a transactional environment
US9858312B2 (en) 2014-10-14 2018-01-02 Red Hat, Inc. Transaction compensation for single phase resources
US11681683B2 (en) 2014-10-14 2023-06-20 Red Hat, Inc. Transaction compensation for single phase resources

Also Published As

Publication number Publication date
JP4311059B2 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
CA3121919C (en) System and method for augmenting database applications with blockchain technology
JP4237354B2 (en) Transaction processing method and transaction processing system
CA2436517C (en) Method and apparatus for data processing
CN104793988B (en) The implementation method and device of integration across database distributed transaction
US11132350B2 (en) Replicable differential store data structure
CN103593387B (en) The method and system of data and metadata is stored and retrieves efficiently in multiple stages
JPH1069418A (en) Hierarchized transaction processing method
JPH07175700A (en) Database management system
EP2825958A1 (en) Systems and methods for supporting transaction recovery based on a strict ordering of two-phase commit calls
JP2007241486A (en) Memory system
US9037539B2 (en) Data synchronization
JP4311059B2 (en) Transaction control method
JP2022521412A (en) Asynchronous storage management in distributed systems
US11151157B2 (en) Database management method
US10740320B2 (en) Systems and methods of operation lock management and system catalog overrides in database systems
US10169157B2 (en) Efficient state tracking for clusters
US20110214130A1 (en) Data processing system, data processing method, and data processing program
JP2013037669A (en) Database management method
JPH04199339A (en) Distributed transaction file control method for distributed processing system
JP3330006B2 (en) Network system including information storage system, input system of the system, and
CN107797885A (en) Electronic equipment and its control method
JP5832592B1 (en) Data management device
US8700566B2 (en) Offline restructuring of DEDB databases
CN116339931A (en) Distributed concurrency control method and system based on fine-granularity transaction repair
WO2004031957A1 (en) Database copying method, database copying apparatus, database creation method, and database creation apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050914

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090421

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090504

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees