JP7377305B2 - 分散トランザクション制御システム及び分散トランザクション制御方法 - Google Patents
分散トランザクション制御システム及び分散トランザクション制御方法 Download PDFInfo
- Publication number
- JP7377305B2 JP7377305B2 JP2022055670A JP2022055670A JP7377305B2 JP 7377305 B2 JP7377305 B2 JP 7377305B2 JP 2022055670 A JP2022055670 A JP 2022055670A JP 2022055670 A JP2022055670 A JP 2022055670A JP 7377305 B2 JP7377305 B2 JP 7377305B2
- Authority
- JP
- Japan
- Prior art keywords
- participant
- input
- vote
- distributed
- determination
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 53
- 238000012545 processing Methods 0.000 claims description 59
- 239000003999 initiator Substances 0.000 claims description 47
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
例えば、二相コミットの単一障害点の課題を解決する技術として、非特許文献1及び非特許文献2に示すものが存在する。これらが示す技術においては、トランザクション調停者を分散合意で冗長化することで、単一障害点の課題解決を試みている。
また、分散アプリケーション呼出トポロジに沿って二相コミットを行うため、枝部分が単一障害点となる、通信時間増加によりDBロック期間が増加し並行性を阻害する、という課題も存在する。
また、本発明の分散トランザクション制御方法は、トランザクションのコミット又はロールバックを決定するトランザクション決着に伴い、プリペア投票者たる参加者の参加者装置からの入力投票を待ち合わせて判定する判定部と、前記判定部の判定結果を決定する分散合意処理部と、前記決定の結果に基づいて当該トランザクションのコミットかロールバックかを決定する決着部とをそれぞれ有する、冗長化された調停者装置を含むシステムにおいて、前記調停者装置における、前記判定部が、前記入力投票がタイムアウトした場合、プリペア失敗の投票に置換し、全ての入力投票がプリペア成功の投票の場合、コミットに判定し、各入力投票のうち一つでもプリペア失敗の投票を含む場合、ロールバックに判定し、当該判定の内容を分散合意処理部へ入力し、前記分散合意処理部が、複数の前記判定部からの入力である前記判定の内容を、分散合意にて一つに決定し、前記決着部が、前記分散合意処理部の出力を決着結果として前記参加者装置に通知する、ことを特徴とする。
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の
分散トランザクション制御システム10を含むネットワーク構成図である。図1に示す分散トランザクション制御システム10は、二相コミットに起因する不整合と業務停滞を適宜に抑制可能とするコンピュータシステムである。
ブル1101や、参加者装置200からの入力投票を集約する投票テーブル1102を保持、管理する。
<ハードウェア構成>
また、本実施形態の分散トランザクション制御システム10を構成する、各装置らのハードウェア構成例を図2に示す。ここで対象とする装置は、調停者装置100、参加者装置200、及び開始者装置300となる。
<前提となる概念や処理>
ここで、本実施形態における分散トランザクション制御の基本的な概念やその処理について説明しておく。既に述べたように、分散トランザクションではXA準拠の二相コミット技術が普及しているが、トランザクション調停者が単一障害点となることや、通信遅延によりヒューリスティック不整合や業務停滞が発生する課題があった。
<フロー例:調停者装置の判定部>
以下、本実施形態における分散トランザクション制御方法の実際手順について図に基づき説明する。以下で説明する分散トランザクション制御方法に対応する各種動作は、分散トランザクション制御システム10を構成する各装置らがメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
ット処理はツリー形状ではなく、トランザクションの調停者装置100が行う。このために、調停者装置100は参加者一覧を入力情報として受取り使用することとなる。
<フロー例:動的なアプリケーション呼出しトポロジの場合における、調停者装置の判定部>
続いて、調停者装置100の判定部110における処理フローについて、図5A~図5Cに基づき説明する。動的なアプリケーション呼出しトポロジの場合、各枝は、枝の上側と直下のノードとの関係などの部分的な情報しか持たないため、調停者装置100に部分的な情報を集約して、トポロジ全体を再構築して、参加者一覧を得るものとする。
<フロー例:開始者装置の参加者一覧送信>
上述のように参加者一覧テーブルを管理する開始者装置300は、それを図7で示すフローのように、最終的に調停者装置100に送信する。
<参加者装置のフロー>
続いて、参加者装置200における、プリペア成否の投票を行うフローについて、図8に基づき説明する。この場合、参加者装置200は、トランザクション処理の完了を、例えば、当該参加者装置と処理の入出力関係がある一連の参加者それぞれでの処理が完了したタイミングと認識し(s51、s52)、プリペア投票を調停者装置100に送信する(s53)。
ツリー形状二相コミットの課題を解決するため、コミット処理はツリー形状ではなく、参加者一覧を入力情報としてトランザクション調停者が行うことが可能となる。
10 分散トランザクション制御システム
50 計算機
51 記憶装置
512 プログラム
513 各種データ
53 メモリ
54 演算装置
55 通信装置
100 調停者装置
110 判定部
1101 投票テーブル
111 分散合意処理部
112 決着部
200 参加者装置
210 トランザクション管理部
211 プリペア処理部
212 合意確定部
213 コミット・ロールバック処理部
225 枝情報
300 開始者装置
310 参加者一覧管理部
3101 参加者一覧
311 トランザクション管理部
325 枝情報
Claims (14)
- トランザクションのコミット又はロールバックを決定するトランザクション決着に伴い、プリペア投票者たる参加者の参加者装置からの入力投票を待ち合わせて判定する判定部と、前記判定部の判定結果を決定する分散合意処理部と、前記決定の結果に基づいて当該トランザクションのコミットかロールバックかを決定する決着部とをそれぞれ有する、冗長化された調停者装置を含むシステムであって、
前記判定部は、前記入力投票がタイムアウトした場合、プリペア失敗の投票に置換し、全ての入力投票がプリペア成功の投票の場合、コミットに判定し、各入力投票のうち一つでもプリペア失敗の投票を含む場合、ロールバックに判定し、当該判定の内容を分散合意処理部へ入力し、
前記分散合意処理部は、複数の前記判定部からの入力である前記判定の内容を、分散合意にて一つに決定し、
前記決着部は、前記分散合意処理部の出力を決着結果として前記参加者装置に通知するものである、
ことを特徴とする分散トランザクション制御システム。 - 前記トランザクションの開始者装置は、
前記トランザクション決着に参加する参加者一覧を管理する参加者一覧管理部を有し、
前記参加者一覧管理部は、前記参加者一覧を前記調停者装置それぞれの判定部へ送信し、
前記調停者装置それぞれにおける前記判定部は、前記入力投票について判定する際、タイムアウト前に完成している前記参加者一覧に基づき、全ての参加者からの入力投票が得られていることを前提に、前記判定を行うものである、
ことを特徴とする請求項1に記載の分散トランザクション制御システム。 - 前記開始者装置の前記参加者一覧管理部は、
予め保持する枝情報を取得して前記参加者一覧を生成するものである、
ことを特徴とする請求項2に記載の分散トランザクション制御システム。 - 前記判定部は、
前記開始者装置にて予め保持する枝情報及び前記参加者装置が保持する枝情報を、それぞれ取得して前記参加者一覧を生成するものである、
ことを特徴とする請求項2に記載の分散トランザクション制御システム。 - 前記開始者装置は、
トランザクション処理の完了を前記参加者一覧の確定にて認識し、当該参加者一覧を前記調停者装置に送信して、決着投票を開始指示するものである、
ことを特徴とする請求項2に記載の分散トランザクション制御システム。 - 前記参加者装置は、トランザクション処理の完了を、当該参加者と処理の入出力関係がある一連の参加者それぞれでの処理が完了したタイミングと認識し、プリペア投票を行うものである、
ことを特徴とする請求項1に記載の分散トランザクション制御システム。 - 前記参加者装置は、トランザクション処理の結果に関与しない場合、棄権投票を行い、
前記調停者装置の判定部は、前記参加者装置からの入力投票が前記棄権投票の場合、当該参加者装置からの入力投票を前記判定から除外するものである、
ことを特徴とする請求項1に記載の分散トランザクション制御システム。 - トランザクションのコミット又はロールバックを決定するトランザクション決着に伴い、プリペア投票者たる参加者の参加者装置からの入力投票を待ち合わせて判定する判定部と、前記判定部の判定結果を決定する分散合意処理部と、前記決定の結果に基づいて当該トランザクションのコミットかロールバックかを決定する決着部とをそれぞれ有する、冗長化された調停者装置を含むシステムにおいて、
前記調停者装置における、
前記判定部が、前記入力投票がタイムアウトした場合、プリペア失敗の投票に置換し、全ての入力投票がプリペア成功の投票の場合、コミットに判定し、各入力投票のうち一つでもプリペア失敗の投票を含む場合、ロールバックに判定し、当該判定の内容を分散合意処理部へ入力し、
前記分散合意処理部が、複数の前記判定部からの入力である前記判定の内容を、分散合意にて一つに決定し、
前記決着部が、前記分散合意処理部の出力を決着結果として前記参加者装置に通知する、
ことを特徴とする分散トランザクション制御方法。 - 前記トランザクションの開始者装置において、
前記トランザクション決着に参加する参加者一覧を管理する参加者一覧管理部が、
前記参加者一覧を前記調停者装置それぞれの判定部へ送信し、
前記調停者装置それぞれにおける前記判定部が、
前記入力投票について判定する際、タイムアウト前に完成している前記参加者一覧に基づき、全ての参加者からの入力投票が得られていることを前提に、前記判定を行う、
ことを特徴とする請求項8に記載の分散トランザクション制御方法。 - 前記開始者装置の前記参加者一覧管理部が、
予め保持する枝情報を取得して前記参加者一覧を生成する、
ことを特徴とする請求項9に記載の分散トランザクション制御方法。 - 前記判定部が、
前記開始者装置にて予め保持する枝情報及び前記参加者装置が保持する枝情報を、それぞれ取得して前記参加者一覧を生成する、
ことを特徴とする請求項9に記載の分散トランザクション制御方法。 - 前記開始者装置が、
トランザクション処理の完了を前記参加者一覧の確定にて認識し、当該参加者一覧を前記調停者装置に送信して、決着投票を開始指示する、
ことを特徴とする請求項9に記載の分散トランザクション制御方法。 - 前記参加者装置が、
トランザクション処理の完了を、当該参加者と処理の入出力関係がある一連の参加者それぞれでの処理が完了したタイミングと認識し、プリペア投票を行う、
ことを特徴とする請求項8に記載の分散トランザクション制御方法。 - 前記参加者装置が、
トランザクション処理の結果に関与しない場合、棄権投票を行い、
前記調停者装置の判定部が、前記参加者装置からの入力投票が前記棄権投票の場合、当該参加者装置からの入力投票を前記判定から除外する、
ことを特徴とする請求項8に記載の分散トランザクション制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022055670A JP7377305B2 (ja) | 2022-03-30 | 2022-03-30 | 分散トランザクション制御システム及び分散トランザクション制御方法 |
US17/950,589 US20230315754A1 (en) | 2022-03-30 | 2022-09-22 | Distributed transaction control system and distributed transaction control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022055670A JP7377305B2 (ja) | 2022-03-30 | 2022-03-30 | 分散トランザクション制御システム及び分散トランザクション制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023147903A JP2023147903A (ja) | 2023-10-13 |
JP7377305B2 true JP7377305B2 (ja) | 2023-11-09 |
Family
ID=88194546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022055670A Active JP7377305B2 (ja) | 2022-03-30 | 2022-03-30 | 分散トランザクション制御システム及び分散トランザクション制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230315754A1 (ja) |
JP (1) | JP7377305B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884327A (en) | 1996-09-25 | 1999-03-16 | International Business Machines Corporation | System, method and program for performing two-phase commit with a coordinator that performs no logging |
US6138143A (en) | 1999-01-28 | 2000-10-24 | Genrad, Inc. | Method and apparatus for asynchronous transaction processing |
JP2016071526A (ja) | 2014-09-29 | 2016-05-09 | Necソリューションイノベータ株式会社 | 分散データベースシステムおよびレプリケーション方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8271448B2 (en) * | 2005-01-28 | 2012-09-18 | Oracle International Corporation | Method for strategizing protocol presumptions in two phase commit coordinator |
US9159050B2 (en) * | 2005-04-12 | 2015-10-13 | International Business Machines Corporation | Providing atomicity for a unit of work |
US7725446B2 (en) * | 2005-12-19 | 2010-05-25 | International Business Machines Corporation | Commitment of transactions in a distributed system |
US9384229B2 (en) * | 2012-11-29 | 2016-07-05 | International Business Machines Corporation | Data readiness using initiator region last commit selection |
US20150149344A1 (en) * | 2013-11-26 | 2015-05-28 | International Business Machines Corporation | Synchronous split payment transaction management |
US11314544B2 (en) * | 2015-02-09 | 2022-04-26 | Red Hat, Inc. | Transaction log for audit purposes |
US10108632B2 (en) * | 2016-05-02 | 2018-10-23 | Google Llc | Splitting and moving ranges in a distributed system |
CN115244526A (zh) * | 2019-08-16 | 2022-10-25 | 泽乌科技公司 | 用于去中心化事务通信协议的方法和系统 |
-
2022
- 2022-03-30 JP JP2022055670A patent/JP7377305B2/ja active Active
- 2022-09-22 US US17/950,589 patent/US20230315754A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884327A (en) | 1996-09-25 | 1999-03-16 | International Business Machines Corporation | System, method and program for performing two-phase commit with a coordinator that performs no logging |
US6138143A (en) | 1999-01-28 | 2000-10-24 | Genrad, Inc. | Method and apparatus for asynchronous transaction processing |
JP2016071526A (ja) | 2014-09-29 | 2016-05-09 | Necソリューションイノベータ株式会社 | 分散データベースシステムおよびレプリケーション方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2023147903A (ja) | 2023-10-13 |
US20230315754A1 (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573828B (zh) | 一种操作处理方法及装置 | |
US11620277B2 (en) | Transaction processing at non-relational databases | |
CN100452707C (zh) | 一种保持数据一致性的方法及系统 | |
US20080209416A1 (en) | Workflow Definition and Management System | |
JP2001084320A (ja) | ワークフロー管理システム | |
US9582314B2 (en) | Managing data consistency between loosely coupled components in a distributed computing system | |
CN108701157A (zh) | 分布式事务处理系统中有保证的提交结果 | |
JPH1069418A (ja) | 階層化トランザクション処理方法 | |
JP4694610B2 (ja) | 承認者決定装置及び当該承認者決定装置を有するファクシミリ装置 | |
CN108845866B (zh) | 处理分布式事务的方法和装置 | |
US5706500A (en) | Selective transaction oriented recovery and restart for message-driven business applications | |
US6330686B1 (en) | Handling protected conversation messages across IMS restart in shared queues environment | |
CN112527901A (zh) | 数据存储系统、方法、计算设备及计算机存储介质 | |
JP7377305B2 (ja) | 分散トランザクション制御システム及び分散トランザクション制御方法 | |
CN102413166A (zh) | 分布式交易方法及其系统 | |
US20080040729A1 (en) | Method for Resolving a Unit of Work | |
CN108924240B (zh) | 基于一致性协议的分布式处理方法、装置及存储介质 | |
JP2000132625A (ja) | ワークフロー管理システム | |
US9635135B1 (en) | Systems and methods for handling replies to transaction requests | |
CN112598520B (zh) | 交易管理的方法、装置、电子设备以及存储介质 | |
CN114579260A (zh) | 一种事务处理方法及系统 | |
CN107045453A (zh) | 用于分布式事务的两阶段提交协议混合 | |
WO2017094096A1 (ja) | トランザクション処理システムおよびトランザクション制御方法 | |
CN108572959B (zh) | 一种与数据库交互数据的方法和装置 | |
JP2011039626A (ja) | ワークフローシステム、制御方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230809 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7377305 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |