JPH08115244A - Distributed transaction processing system and transaction control system - Google Patents

Distributed transaction processing system and transaction control system

Info

Publication number
JPH08115244A
JPH08115244A JP6249082A JP24908294A JPH08115244A JP H08115244 A JPH08115244 A JP H08115244A JP 6249082 A JP6249082 A JP 6249082A JP 24908294 A JP24908294 A JP 24908294A JP H08115244 A JPH08115244 A JP H08115244A
Authority
JP
Japan
Prior art keywords
transaction
branch
message
computer
distributed
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
JP6249082A
Other languages
Japanese (ja)
Inventor
Tomoyumi Niwa
智弓 丹羽
Mitsunobu Tasaka
光伸 田坂
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 JP6249082A priority Critical patent/JPH08115244A/en
Publication of JPH08115244A publication Critical patent/JPH08115244A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To improve the performance of transaction control in a distributed transaction processing system. CONSTITUTION: In this distributed transaction processing system 110, a message reception optimization part 109 is provided, and when a transaction branch 103 receives a message for the transaction control, the message reception optimization part 109 is provided with a means for generating and transmitting the message which is the same kind as the message to the transaction branch belonging to the same transaction present in a computer where the transaction branch 103 is present. Further, by providing the means and providing information for indicating the computer where the transaction branch which is the ancestor of the transaction branch is present for the respective transaction branches, a message transmission optimization part 108 is provided and the message transmission optimization part 108 is provided with the means for controlling the message to a slave branch present in a computer name recorded in the information.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数の計算機が通信ネ
ットワークで接続さた分散システムにおいて、前記の複
数の計算機が協調してトランザクション処理を遂行する
ような分散トランザクション処理システムに係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed transaction processing system in which, in a distributed system in which a plurality of computers are connected by a communication network, the plurality of computers cooperatively perform transaction processing.

【0002】[0002]

【従来の技術】多くのデータ処理システムが導入してい
る概念にトランザクションがある。トランザクションと
は、アプリケーションプログラム(AP)が定義する処理シ
ーケンスである。データ処理システムは、データの排他
制御、障害回復などを、トランザクションを管理単位と
して行なう。このようなデータ処理システムを、トラン
ザクション管理システムと呼ぶ。トランザクション管理
システムでは、複数のトランザクションが並列に処理さ
れる。また、トランザクション管理システムは、前記の
複数トランザクションの情報を記録・管理する。複数の
計算機が通信ネットワークで接続され、前記の通信ネッ
トワークを通して複数計算機間でメッセージの送受信が
行なわれるような分散システムで、かつ、各計算機がト
ランザクション管理システムを持つような分散システム
を、分散トランザクション処理システムと呼ぶ。
Transactions are a concept introduced by many data processing systems. A transaction is a processing sequence defined by an application program (AP). The data processing system performs exclusive control of data, failure recovery, and the like with a transaction as a management unit. Such a data processing system is called a transaction management system. In a transaction management system, multiple transactions are processed in parallel. Further, the transaction management system records and manages information on the above-mentioned plurality of transactions. Distributed transaction processing in a distributed system in which a plurality of computers are connected by a communication network and messages are transmitted and received between the computers through the communication network, and a distributed system in which each computer has a transaction management system Called the system.

【0003】図2は、分散トランザクション処理システ
ムにおけるトランザクションを説明するための図であ
る。分散トランザクション処理システムにおいて、1つ
のトランザクション201は、複数の計算機202に分
散して処理される。このように1つのトランザクション
が分散して構成されるトリー構造を、トランザクション
トリー203と呼び、トランザクションの各計算機に分
散した部分の1つ1つを、トランザクションブランチ2
04と呼ぶ。あるAPにより開始されたトランザクション
の先頭にあたるトランザクションブランチを、ルートブ
ランチ205と呼ぶ。また、あるトランザクションブラ
ンチが分岐した先のトランザクションブランチを、子ブ
ランチと呼び、分岐元のトランザクションブランチを、
そのトランザクションブランチの親ブランチと呼ぶ。ま
た、ルートブランチからトランザクションが分散し、あ
るトランザクションブランチに到達するまでの分岐元の
親ブランチとなる全てのトランザクションブランチを、
先祖のトランザクションブランチと呼ぶ。また、トラン
ザクションブランチは、複数の計算機に分散するが、同
じトランザクションに属するトランザクションブランチ
が、同一計算機内に複数存在することも、十分あり得
る。
FIG. 2 is a diagram for explaining a transaction in the distributed transaction processing system. In the distributed transaction processing system, one transaction 201 is distributed to and processed by a plurality of computers 202. Such a tree structure in which one transaction is distributed is called a transaction tree 203, and each of the distributed portions of the transaction in each computer is referred to as a transaction branch 2
Call 04. A transaction branch that is the head of a transaction started by a certain AP is called a root branch 205. In addition, the transaction branch to which a certain transaction branch has branched is called a child branch, and the branch source transaction branch is
It is called the parent branch of the transaction branch. In addition, the transaction is distributed from the root branch, and all transaction branches that are parent branches of the branch source until reaching a certain transaction branch are
Called the ancestor's transaction branch. Moreover, although the transaction branches are distributed to a plurality of computers, it is quite possible that a plurality of transaction branches belonging to the same transaction exist in the same computer.

【0004】図2のように、複数計算機に分散したトラ
ンザクションについては、分散した全てのトランザクシ
ョンブランチの処理が成功すれば、このトランザクショ
ン全体を有効とできる。また、いずれか1つのトランザ
クションブランチが失敗すれば、他のトランザクション
ブランチがたとえ成功しても、トランザクション全体を
無効とし、全てのトランザクションブランチを失敗にし
なければならない。このような制御を行なう処理方式
は、トランザクション制御方式と呼ばれる。従来から用
いられているトランザクション制御方式については、Mo
han、 et al:”Efficiant Commit Protocols for the T
ree of Processes Model of Distributed Transactio
n、”ACM Proceedings of the 2nd SIGACT/SIGOPS Symp
osium on Principles of Distributed Computing、 pp.
76-88、 1983.に記されている。
As shown in FIG. 2, for a transaction distributed to a plurality of computers, the entire transaction can be validated if all distributed transaction branches are successfully processed. Also, if any one transaction branch fails, the entire transaction must be invalidated and all transaction branches failed, even if the other transaction branches succeed. A processing method for performing such control is called a transaction control method. For the transaction control method used conventionally, see Mo
han, et al: ”Efficiant Commit Protocols for the T
ree of Processes Model of Distributed Transactio
n, “ACM Proceedings of the 2nd SIGACT / SIGOPS Symp
osium on Principles of Distributed Computing, pp.
76-88, 1983.

【0005】上記の公知例で用いられるトランザクショ
ン制御方式は、2フェーズコミット(2PC)と呼ばれる。
この2PCについて、以下に説明する。
The transaction control method used in the above-mentioned known example is called two-phase commit (2PC).
This 2PC will be described below.

【0006】APがコミットを要求すると、ルートブラン
チは、トランザクショントリーに沿って、子ブランチ
へ、コミット準備要求メッセージを送信する。そのコミ
ット準備要求メッセージを受信したトランザクションブ
ランチは、さらに、自分の子ブランチにコミット準備要
求メッセージを送信し、子ブランチを持たないトランザ
クションブランチは、親ブランチに対して、自分の処理
がコミット準備が完了したかどうかの応答メッセージを
返す。子ブランチからの応答メッセージを受けたブラン
チは、自分の処理もコミット準備が完了したかどうかの
応答メッセージを子ブランチからの応答メッセージと併
せて、親ブランチに返す。同様に、順々に、親ブランチ
へ応答メッセージが返されていくと、最終的には、ルー
トブランチへ、応答メッセージが返される。
When the AP requests a commit, the root branch sends a commit prepare request message to the child branches along the transaction tree. The transaction branch that has received the commit preparation request message further sends a commit preparation request message to its own child branch, and a transaction branch having no child branch has its own processing ready for commit to the parent branch. Returns a response message as to whether or not it has been done. The branch receiving the response message from the child branch returns a response message indicating whether or not its own processing is ready for committing together with the response message from the child branch to the parent branch. Similarly, when the response message is returned to the parent branch in sequence, the response message is finally returned to the root branch.

【0007】前記のルートブランチが受けた応答メッセ
ージには、このトランザクションのすべてのトランザク
ションブランチのコミット準備完了の応答メッセージが
反映されているので、全トランザクションブランチがコ
ミット準備完了なら、ルートブランチは、このトランザ
クション全体のコミットを決定し、コミット要求メッセ
ージを送信し、前記のコミット準備要求メッセージと同
様に、子ブランチへコミット要求メッセージを順々に送
信する。また、ルートブランチは、コミット準備完了の
応答メッセージに、1つでも完了できなかったトランザ
クションブランチがあったという応答メッセージが返っ
ていたら、このトランザクション全体のアボートを決定
し、アボート要求メッセージを送信し、コミット準備要
求メッセージと同様に、アボート要求メッセージが子ブ
ランチへ伝達される。ルートブランチは、コミット(又
はアボート)要求メッセージに対する応答メッセージを
受信すると、このトランザクションに対する処理を終了
する。
The response message received by the root branch reflects the response message indicating that all transaction branches of this transaction are ready for commit. Therefore, if all transaction branches are ready for commit, the root branch receives It decides to commit the entire transaction, sends a commit request message, and sends commit request messages to child branches in sequence, similar to the commit prepare request message above. In addition, if the root branch returns a response message that there is a transaction branch that could not be completed in the response message of the commit preparation completion, it decides to abort this entire transaction and sends an abort request message, Like the commit preparation request message, the abort request message is transmitted to the child branch. When receiving the response message to the commit (or abort) request message, the root branch ends the process for this transaction.

【0008】[0008]

【発明が解決しようとする課題】まず、第1の課題につ
いて説明する。分散トランザクション処理システムにお
ける2PCでは、ある処理を示す1つの要求メッセージ
が、ルートブランチからトランザクショントリーに沿っ
て、子ブランチへ順々と伝達され、子ブランチから、親
ブランチへ前記要求メッセージへの応答メッセージが返
され、最終的にルートブランチに到着すると、ルートブ
ランチは、次の処理を示す要求メッセージを送信する。
子ブランチは、親ブランチからの要求メッセージを受信
するまで、次の処理を開始することができないので、ト
ランザクションブランチの分岐が多くなるにつれて、親
ブランチからのメッセージ受信待ち時間が大きくなって
しまう。よって、このようなメッセージ待ち時間による
性能劣化の解決が課題となる。
First, the first problem will be described. In 2PC in the distributed transaction processing system, one request message indicating a certain process is sequentially transmitted from the root branch to the child branch along the transaction tree, and from the child branch to the parent branch, a response message to the request message. Is returned and finally arrives at the root branch, the root branch sends a request message indicating the next processing.
Since the child branch cannot start the next processing until the request message from the parent branch is received, the message reception waiting time from the parent branch increases as the number of branches of the transaction branch increases. Therefore, it is an issue to solve the performance deterioration due to such message waiting time.

【0009】次に、第2の課題について説明する。2P
Cでは、複数計算機間に跨って、多くのメッセージが送
受信される。しかし、計算機間をまたがるメッセージ送
信は、オーバヘッドが大きいため、分散トランザクショ
ン処理システム全体のスループットの劣化を招くため、
計算機間を跨るメッセージ数の削減が課題となる。
Next, the second problem will be described. 2P
In C, many messages are transmitted and received across a plurality of computers. However, message transmission between computers has a large overhead, which leads to deterioration of throughput of the distributed transaction processing system as a whole.
Reducing the number of messages across computers is an issue.

【0010】[0010]

【課題を解決するための手段】まず、第1の課題を解決
する手段について説明する。本発明の分散トランザクシ
ョン処理システムは、個々の計算機に存在するトランザ
クションブランチに対して、トランザクション制御のた
めのメッセージを受信した時、当該計算機内に存在し、
かつ前記メッセージが対象とするトランザクションブラ
ンチと同一のトランザクションに属するトランザクショ
ンブランチを判別する手段と、前記の判別手段により判
別されたトランザクションブランチについて、前記メッ
セージと同一種類のメッセージを生成する手段と、前記
の判別手段により判別されたトランザクションブランチ
に、前記で生成したメッセージを渡す手段を備える。
Means for Solving the Problem First, the means for solving the first problem will be described. The distributed transaction processing system of the present invention exists in a computer when a message for transaction control is received with respect to a transaction branch existing in each computer,
And a means for discriminating a transaction branch belonging to the same transaction as the transaction branch targeted by the message, a means for generating a message of the same type as the message for the transaction branch discriminated by the discrimination means, The transaction branch discriminated by the discriminating means is provided with means for passing the above-generated message.

【0011】次に、第2の課題を解決する手段につい
て、説明する。本発明の分散トランザクション処理シス
テムは、各トランザクションブランチに対して、前記ト
ランザクションブランチの先祖のトランザクションブラ
ンチが存在する計算機名を示す情報を備え、さらに個々
の計算機に存在するトランザクションブランチがトラン
ザクション制御のためのメッセージを受信したとき、前
記の情報により、先祖のトランザクションブランチの存
在する計算機に存在する子ブランチを判別する機能と、
子ブランチへのメッセージ送信の必要性を判断する手段
を備える。
Next, means for solving the second problem will be described. The distributed transaction processing system of the present invention includes, for each transaction branch, information indicating a computer name in which a transaction branch of an ancestor of the transaction branch exists, and the transaction branch existing in each computer is used for transaction control. When a message is received, a function of discriminating a child branch existing in a computer in which an ancestor transaction branch exists, based on the above information,
Means are provided for determining the need to send a message to the child branch.

【0012】[0012]

【作用】本発明では、第1の課題の解決手段により、個
々の計算機のトランザクション管理システムは、トラン
ザクション制御のためのメッセージを受信したとき、当
該計算機内に存在し、かつ前記メッセージが対象とする
トランザクションブランチと同一のトランザクションに
属するトランザクションブランチを判別し、判別された
トランザクションブランチへ、前記メッセージと同一種
類のメッセージを生成し、送信する。これにより、全て
のトランザクションブランチへ、早期にメッセージを伝
達することができ、メッセージの待ち時間による性能劣
化を防ぐことができる。
According to the present invention, by the means for solving the first problem, the transaction management system of each computer exists in the computer when the message for transaction control is received, and the message is targeted. A transaction branch belonging to the same transaction as the transaction branch is discriminated, and a message of the same type as the message is generated and transmitted to the discriminated transaction branch. As a result, the message can be transmitted to all the transaction branches at an early stage, and the performance deterioration due to the message waiting time can be prevented.

【0013】第2の課題に対しては、第1の課題の解決
手段より、ある計算機に存在するトランザクションブラ
ンチがトランザクション制御のためのメッセージを受信
すると、前記トランザクションブランチの存在する計算
機内の同一トランザクションに属するトランザクション
ブランチにも、前記メッセージと同一種類のメッセージ
が送信される。そのため、前記メッセージを受信したト
ランザクションブランチの先祖のトランザクションブラ
ンチが存在する計算機においても、当該トランザクショ
ンに属するトランザクションブランチは、メッセージを
既に受信済みである。これにより、前記メッセージを受
信したトランザクションブランチは、子ブランチへのメ
ッセージを送信する際に、先祖のトランザクションブラ
ンチの存在する計算機を記録した情報を参照することに
より、前記情報に記録された先祖のトランザクションブ
ランチが存在する計算機に存在する子ブランチに対して
は、メッセージの送信を行なわない。これにより、計算
機間を跨るメッセージ数を削減できる。
With respect to the second problem, when a transaction branch existing in a computer receives a message for transaction control from the means for solving the first problem, the same transaction in the computer including the transaction branch is received. The same kind of message as the above message is also transmitted to the transaction branch belonging to. Therefore, even in a computer having a transaction branch that is an ancestor of the transaction branch that has received the message, the transaction branch belonging to the transaction has already received the message. As a result, the transaction branch that received the message refers to the information recorded in the computer in which the transaction branch of the ancestor exists when transmitting the message to the child branch, so that the transaction of the ancestor recorded in the information is referred to. The message is not transmitted to the child branch existing in the computer in which the branch exists. As a result, the number of messages spanning computers can be reduced.

【0014】[0014]

【実施例】本発明の実施例を、図面を用いて説明する。Embodiments of the present invention will be described with reference to the drawings.

【0015】図1では、分散トランザクション処理シス
テムの構成を表す。分散トランザクション処理システム
110は、トランザクション管理システム102を持つ
複数の計算機100が通信ネットワーク101により接
続されている。トランザクション管理システム102で
は、複数のトランザクションブランチ103が並列に処
理される。トランザクションテーブル106には、トラ
ンザクション管理システム102内に存在するトランザ
クションブランチに関するさまざまな情報が記録されて
いる。このトランザクションテーブル106には、計算
機内に同一トランザクションに属するトランザクション
ブランチが存在するかを判別するための十分な情報が記
録されている。複数トランザクションの2PCの制御を行
なうのが、トランザクション制御機能部107である。
また、通信機能部105は、複数計算機間の通信を制御
する。
FIG. 1 shows the configuration of the distributed transaction processing system. In the distributed transaction processing system 110, a plurality of computers 100 having a transaction management system 102 are connected by a communication network 101. In the transaction management system 102, a plurality of transaction branches 103 are processed in parallel. The transaction table 106 records various information regarding transaction branches existing in the transaction management system 102. In this transaction table 106, sufficient information for discriminating whether or not there is a transaction branch belonging to the same transaction in the computer is recorded. The transaction control function unit 107 controls 2PC of a plurality of transactions.
The communication function unit 105 also controls communication between a plurality of computers.

【0016】まず、第1の課題であるメッセージの待ち
時間による性能劣化を解決する方法の実施例について説
明する。本発明を実現するために、図1に示すメッセー
ジ受信最適化部109を設ける。メッセージ受信最適化
部109は、トランザクションブランチがメッセージを
受信すると、計算機内に同一トランザクションに属する
トランザクションブランチが存在しているかどうかを、
トランザクションテーブル106を参照することにより
判別し、前記メッセージと同一種類のメッセージを生成
し、判別されたトランザクションブランチへ、前記メッ
セージを送信する。
First, an embodiment of a method for solving the first problem, that is, the performance deterioration due to the message waiting time will be described. In order to realize the present invention, the message reception optimization unit 109 shown in FIG. 1 is provided. When the transaction branch receives the message, the message reception optimizing unit 109 determines whether or not there is a transaction branch belonging to the same transaction in the computer.
It is determined by referring to the transaction table 106, a message of the same type as the message is generated, and the message is transmitted to the determined transaction branch.

【0017】図3は、図2の複数計算機に分散したトラ
ンザクションの一部分であるが、ルートブランチ310
から子ブランチへと順々にメッセージが伝達されていく
様子を示している。計算機A300には、同一トランザ
クションに属するトランザクションブランチa312と
トランザクションブランチb314が存在している。メ
ッセージA320、メッセージB322、メッセージC3
24、メッセージD326、メッセージE328、メッセ
ージF330、メッセージG332は、全て同一種類のメ
ッセージである。
FIG. 3 shows a part of the transaction distributed to the plurality of computers in FIG.
It shows how messages are transmitted in sequence from to child branch. The computer A300 has a transaction branch a312 and a transaction branch b314 that belong to the same transaction. Message A320, Message B322, Message C3
24, the message D326, the message E328, the message F330, and the message G332 are all the same type of message.

【0018】図5は、本発明の第1の課題を解決する方
法の処理フローを記す。図3を用いて、図5の処理フロ
ーを説明する。例えば、ステップ500では、トランザ
クションブランチa312がメッセージA320を受信し
たとする。ステップ502で、メッセージ受信最適化部
109は、トランザクションテーブル106より、前記
トランザクションブランチと同一トランザクションに属
するトランザクションブランチb314を判別する。ス
テップ506では、メッセージ受信最適化部109は、
判別したトランザクションブランチb314へ、前記メ
ッセージA320と同一種類のメッセージD326を生成
し、トランザクションブランチb314へ、前記メッセ
ージD326を送信する。ステップ508では、前記メ
ッセージ320AとメッセージD326をそれぞれ受信し
たトランザクションブランチa312とトランザクショ
ンブランチb314は、各子ブランチへ、通信機能部1
05を介して、前記メッセージと同一種類のメッセージ
を送信する。トランザクションブランチa312の子ブ
ランチに対しては、メッセージB322とメッセージC3
24が送信され、トランザクションブランチb314の
子ブランチに対しては、メッセージG332が送信され
る。
FIG. 5 shows a processing flow of a method for solving the first problem of the present invention. The processing flow of FIG. 5 will be described with reference to FIG. For example, in step 500, transaction branch a312 receives message A320. In step 502, the message reception optimizing unit 109 discriminates the transaction branch b 314 belonging to the same transaction as the transaction branch from the transaction table 106. In step 506, the message reception optimization unit 109
The message D326 of the same type as the message A320 is generated in the determined transaction branch b314, and the message D326 is transmitted to the transaction branch b314. In step 508, the transaction branch a 312 and the transaction branch b 314, which have received the message 320A and the message D 326, respectively, are transferred to the respective child branches to the communication function unit 1.
A message of the same type as the above message is transmitted via 05. For child branches of transaction branch a312, message B322 and message C3
24 is transmitted, and the message G332 is transmitted to the child branch of the transaction branch b314.

【0019】もう一つの例では、ステップ500におい
て、計算機C304に存在するトランザクションブラン
チC316がメッセージB322を受信すると、ステップ
502では、メッセージ送信最適化部108は、トラン
ザクションテーブル106を探索し、ステップ504で
は、計算機C304に存在する前記トランザクションブ
ランチと同一トランザクションに属するトランザクショ
ンブランチを判別する。判別した結果、該当するトラン
ザクションブランチが存在しなかったので、ステップ5
08では、トランザクションブランチc316の子ブラ
ンチであるトランザクションブランチd318へ、メッ
セージE328を送信する。
In another example, when the transaction branch C316 existing in the computer C304 receives the message B322 in step 500, the message transmission optimizing unit 108 searches the transaction table 106 in step 502, and in step 504. , A transaction branch belonging to the same transaction as the transaction branch existing in the computer C304 is determined. As a result of the determination, there is no corresponding transaction branch, so step 5
At 08, the message E328 is transmitted to the transaction branch d318 which is a child branch of the transaction branch c316.

【0020】次に、第2の課題である、計算機間を跨る
メッセージ数を削減するための方法の実施例を説明す
る。この方法は、本発明の第1の課題の解決手段を行な
った上で有効となる。
Next, an embodiment of a method for reducing the number of messages across computers, which is the second problem, will be described. This method is effective after carrying out the means for solving the first problem of the present invention.

【0021】本発明を実現するために、各トランザクシ
ョンブランチについて、前記トランザクションブランチ
の先祖のトランザクションブランチが存在する計算機名
を示す情報を備える。この前記情報を、経路情報104
と呼ぶ。
In order to implement the present invention, each transaction branch is provided with information indicating the computer name in which the transaction branch of the ancestor of the transaction branch exists. This information is used as the route information 104.
Call.

【0022】また、図1に示すメッセージ送信最適化部
108を設け、このメッセージ送信最適化部108は、
あるトランザクションブランチが子ブランチへメッセー
ジを送信する際に、メッセージの送信先である子ブラン
チの存在する計算機と同じ計算機名が経路情報104に
含まれているかどうかを判別し、経路情報に含まれてい
た計算機に存在する子ブランチへのメッセージの送信を
行なわない。
Further, the message transmission optimizing unit 108 shown in FIG. 1 is provided, and the message transmission optimizing unit 108 is
When a transaction branch sends a message to a child branch, it is determined whether the same computer name as the computer having the child branch to which the message is sent is included in the route information 104. Does not send the message to the child branch existing in the computer.

【0023】図4は、図3と同様に複数計算機に分散し
たトランザクションの一部分であるが、ルートブランチ
310から子ブランチへと順々にメッセージが伝達され
ていく様子を示している。計算機A300には、同一ト
ランザクションに属するトランザクションブランチa3
12とトランザクションブランチb314が存在してい
る。メッセージA320、メッセージB322、メッセー
ジC324、メッセージD326、メッセージE328、
メッセージF330、メッセージG332は、全て同一種
類のメッセージである。
FIG. 4 shows a part of a transaction distributed to a plurality of computers as in FIG. 3, but shows how messages are sequentially transmitted from the root branch 310 to child branches. The computer A300 has a transaction branch a3 belonging to the same transaction.
12 and transaction branch b314 exist. Message A320, Message B322, Message C324, Message D326, Message E328,
The message F330 and the message G332 are all the same type of message.

【0024】経路情報B402を用いて、経路情報の記
録方法について、説明する。ルートブランチ310から
トランザクションがトランザクションブランチa312
に分散し、さらにトランザクションブランチc316へ
と分散する。このとき、分岐元の計算機は、計算機B、
計算機Aであり、すなわち、これらの前記計算機に先祖
トランザクションブランチが存在することを示している
ため、経路情報B402には、「B、A」が記録される。
A method of recording the route information will be described using the route information B402. The transaction from the root branch 310 is transaction branch a312
To the transaction branch c316. At this time, the branch source computer is computer B,
Since it is the computer A, that is, the ancestor transaction branch exists in these computers, "B, A" is recorded in the route information B402.

【0025】図6は、本発明の第2の課題を解決する方
法の処理フローを表す。図4を用いて、図6の処理フロ
ーを説明する。例えば、ステップ600では、計算機A
300に存在するトランザクションブランチa312が
メッセージA320を受信したとする。ステップ602
では、メッセージ送信最適化部108が、経路情報40
0に、前記トランザクションブランチa312の子ブラ
ンチの存在する計算機名が記録されているか、判別す
る。トランザクションブランチa312の子ブランチ
は、計算機C304と計算機E308に存在するが、経路
情報400に記録されている計算機名は計算機B302
のみであるので、ステップ602に一致しない。そのた
め、ステップ606では、トランザクションブランチa
312は、通信機能部105を介して、メッセージB3
22、メッセージC324を送信する。
FIG. 6 shows a processing flow of a method for solving the second problem of the present invention. The processing flow of FIG. 6 will be described with reference to FIG. For example, in step 600, computer A
It is assumed that the transaction branch a312 existing in 300 receives the message A320. Step 602
Then, the message transmission optimization unit 108 determines that the route information 40
In 0, it is determined whether or not the computer name in which the child branch of the transaction branch a312 exists is recorded. The child branch of the transaction branch a312 exists in the computer C304 and the computer E308, but the computer name recorded in the path information 400 is the computer B302.
Since it is only, it does not coincide with step 602. Therefore, in step 606, the transaction branch a
A message B3 312 is sent via the communication function unit 105.
22, message C324 is transmitted.

【0026】本発明では、第1の課題の解決手段の実施
例において、分散トランザクション処理システムでは、
メッセージ受信最適化部109を設け、トランザクショ
ンブランチa312がメッセージA320を受信すると、
メッセージ受信最適化部109がトランザクションテー
ブル106を探索することにより、前記トランザクショ
ンブランチa312と同一トランザクションに属するト
ランザクションブランチb314を判別し、前記トラン
ザクションブランチb314へ、前記メッセージ320
と同一種類のメッセージ326を生成し、送信する。
In the present invention, in the embodiment of the means for solving the first problem, in the distributed transaction processing system,
When the message reception optimization unit 109 is provided and the transaction branch a 312 receives the message A 320,
The message reception optimizing unit 109 searches the transaction table 106 to determine a transaction branch b314 that belongs to the same transaction as the transaction branch a312 and sends the message 320 to the transaction branch b314.
The same type of message 326 is generated and transmitted.

【0027】次に、図6の処理フローのもう一つの例と
して、トランザクションブランチc316が受信した場
合について説明する。ステップ600では、計算機C3
04に存在するトランザクションブランチc316がメ
ッセージB322を受信する。ステップ602では、メ
ッセージ送信最適化部108は、経路情報402に、ト
ランザクションブランチc316の子ブランチの存在す
る計算機名が記録されているか、判別する。経路情報に
記録されている計算機に存在する同一トランザクション
に属するトランザクションブランチは、第1の課題の解
決方法により、すでに同一種類のメッセージを受信して
いるので、経路情報を参照することより、すでにメッセ
ージを受信しているトランザクションブランチを判別で
きる。トランザクションブランチc316の子ブランチ
は、計算機D306、計算機A300に存在しており、経
路情報402には、計算機B、計算機Aの名前が記録され
ているため、ステップ604では、経路情報402に記
録されており、かつ子ブランチが存在している計算機A
には、すでにメッセージが伝達されており、計算機Aに
存在する子ブランチであるトランザクションブランチb
314には、メッセージF330を送信しない。また、
計算機D306は、経路情報402に記録されていない
ため、トランザクションブランチc316の子ブランチ
であり、計算機D306に存在するトランザクションブ
ランチd318へは、通信機能部106を介して、メッ
セージE328を送信する。
Next, as another example of the processing flow of FIG. 6, a case where the transaction branch c316 receives the transaction will be described. In step 600, computer C3
The transaction branch c316 existing in 04 receives the message B322. In step 602, the message transmission optimizing unit 108 determines whether or not the computer name of the child branch of the transaction branch c316 is recorded in the route information 402. The transaction branches belonging to the same transaction existing in the computer recorded in the route information have already received the same type of message by the solution method of the first problem. Can determine which transaction branch is receiving The child branch of the transaction branch c316 exists in the computer D306 and the computer A300, and the names of the computer B and the computer A are recorded in the route information 402. Therefore, in step 604, it is recorded in the route information 402. Calculator A with a child branch
Message is already transmitted to the transaction branch b, which is a child branch existing in the computer A.
The message F330 is not transmitted to 314. Also,
Since the computer D306 is not recorded in the route information 402, it is a child branch of the transaction branch c316, and sends the message E328 to the transaction branch d318 existing in the computer D306 via the communication function unit 106.

【0028】[0028]

【発明の効果】本発明によれば、第1の課題に対して
は、分散トランザクション処理システムにおいて、2PC
により分散したトランザクションのメッセージ待ち時間
を削減することができ、トランザクションの処理性能を
向上することができる。
According to the present invention, in order to solve the first problem, in the distributed transaction processing system, 2PC
Thus, the message waiting time of distributed transactions can be reduced and the transaction processing performance can be improved.

【0029】また、第2の課題に対しては、複数計算機
間において、メッセージの送受信回数を減らすことが可
能となり、システム全体のスループットを向上すること
ができる。
With respect to the second problem, it is possible to reduce the number of times messages are transmitted and received among a plurality of computers, and it is possible to improve the throughput of the entire system.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を適用した分散トランザクション処理シ
ステムのシステム構成を示す。
FIG. 1 shows a system configuration of a distributed transaction processing system to which the present invention is applied.

【図2】分散トランザクション処理システムにおけるト
ランザクションについての説明を示す。
FIG. 2 shows a description of transactions in a distributed transaction processing system.

【図3】本発明の第1の実施例におけるメッセージの早
期送信方法を示す。
FIG. 3 shows a method for early transmission of a message in the first embodiment of the present invention.

【図4】本発明の第2の実施例における、経路情報を利
用したメッセージ数削減方法を示す。
FIG. 4 shows a method for reducing the number of messages using route information according to the second embodiment of the present invention.

【図5】本発明の第1の実施例における処理フローを示
す。
FIG. 5 shows a processing flow in the first embodiment of the present invention.

【図6】本発明の第2の実施例における処理フローを示
す。
FIG. 6 shows a processing flow in a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

102…トランザクション管理システム、103…トラ
ンザクションブランチ、 104…経路情報、105…
通信機能部、 106…トランザクションテーブル、1
07…トランザクション制御機能部、 108…メッセ
ージ送信最適化部、109…メッセージ受信最適化部、
110…分散トランザクション処理システム。
102 ... Transaction management system, 103 ... Transaction branch, 104 ... Path information, 105 ...
Communication function unit, 106 ... Transaction table, 1
07 ... Transaction control function unit, 108 ... Message transmission optimization unit, 109 ... Message reception optimization unit,
110 ... Distributed transaction processing system.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】複数の計算機が通信ネットワークで接続さ
れ、各計算機がトランザクションを処理するような分散
トランザクション処理システムであり、かつ、1つのト
ランザクションが複数のトランザクションブランチに分
割されて処理されるような分散トランザクション処理シ
ステムであり、かつ、個々のトランザクションブランチ
が他のトランザクションブランチから分岐して生成さ
れ、それらのトランザクションブランチ間に親子関係が
存在するような分散トランザクション処理システムであ
り、かつ、前記トランザクションブランチが、個々の計
算機で処理されるような分散トランザクション処理シス
テムであって、 あるトランザクションブランチが、トランザクション制
御メッセージを受信した時、前記トランザクションブラ
ンチが存在する計算機内に存在し、かつ前記メッセージ
が対象とするトランザクションブランチと同一のトラン
ザクションに属するトランザクションブランチを判別す
る手段を備え、前記の判別手段により判別されたトラン
ザクションブランチについて、前記メッセージと同一種
類のメッセージを生成する手段と、前記の判別手段によ
り判別されたトランザクションブランチに、前記で生成
したメッセージを渡す手段を備えることを特徴とする分
散トランザクション処理システム。
1. A distributed transaction processing system in which a plurality of computers are connected by a communication network and each computer processes a transaction, and one transaction is divided into a plurality of transaction branches for processing. A distributed transaction processing system, in which individual transaction branches are created by branching from other transaction branches, and a parent-child relationship exists between those transaction branches, and the transaction branch Is a distributed transaction processing system in which each transaction branch is processed by an individual computer. When a transaction branch receives a transaction control message, the transaction branch A transaction branch that exists in the computer in which the message exists and that belongs to the same transaction as the transaction branch targeted by the message, and the transaction branch determined by the determining means has the same type as the message. A distributed transaction processing system, comprising: a means for generating the message and a means for passing the generated message to the transaction branch discriminated by the discrimination means.
【請求項2】請求項1記載の分散トランザクション処理
システムであり、個々のトランザクションブランチにつ
いて、当該トランザクションブランチの先祖のトランザ
クションブランチの存在する計算機を示す情報を備え、
個々の計算機に、あるトランザクションブランチについ
て、親トランザクションブランチからのトランザクショ
ン制御メッセージを受信した時に、前記の情報を参照
し、前記の先祖トランザクションブランチの存在する計
算機に存在する子トランザクションブランチを判別する
手段と、前記の子トランザクションブランチへのメッセ
ージ送信の必要性を判断する手段を備えることを特徴と
する分散トランザクション処理システム。
2. The distributed transaction processing system according to claim 1, further comprising, for each transaction branch, information indicating a computer in which a transaction branch of an ancestor of the transaction branch exists.
With respect to a certain transaction branch, the individual computer refers to the above information when a transaction control message from the parent transaction branch is received, and means for determining a child transaction branch existing in the computer in which the ancestor transaction branch exists. , A distributed transaction processing system comprising means for determining the necessity of message transmission to the child transaction branch.
【請求項3】複数の計算機が通信ネットワークで接続さ
れ、各計算機がトランザクションを処理するような分散
トランザクション処理システムであり、かつ、1つのト
ランザクションが複数のトランザクションブランチに分
割されて処理されるような分散トランザクション処理シ
ステムであり、かつ、個々のトランザクションブランチ
が他のトランザクションブランチから分岐して生成さ
れ、それらのトランザクションブランチ間に親子関係が
存在するような分散トランザクション処理システムであ
り、かつ、前記トランザクションブランチが、個々の計
算機で処理されるような分散トランザクション処理シス
テムにおいて、 あるトランザクションブランチが、トランザクション制
御メッセージを受信した時、前記トランザクションブラ
ンチが存在する計算機内に存在し、かつ前記メッセージ
が対象とするトランザクションブランチと同一のトラン
ザクションに属するトランザクションブランチを判別
し、前記より判別されたトランザクションブランチにつ
いて、前記メッセージと同一種類のメッセージを生成
し、前記より判別されたトランザクションブランチに、
前記で生成したメッセージを渡すトランザクション制御
方式。
3. A distributed transaction processing system in which a plurality of computers are connected by a communication network and each computer processes a transaction, and one transaction is divided into a plurality of transaction branches for processing. A distributed transaction processing system, in which individual transaction branches are created by branching from other transaction branches, and a parent-child relationship exists between those transaction branches, and the transaction branch However, in a distributed transaction processing system in which each transaction branch is processed by an individual computer, when a transaction branch receives a transaction control message, the transaction branch Exists in the computer in which exists, and determines a transaction branch that belongs to the same transaction as the transaction branch targeted by the message, and for the transaction branch determined from the above, generates a message of the same type as the message, In the transaction branch determined from the above,
A transaction control method for passing the message generated above.
【請求項4】請求項3記載のトランザクション制御方式
であり、個々のトランザクションブランチについて、当
該トランザクションブランチの先祖のトランザクション
ブランチの存在する計算機を示す情報を備え、個々の計
算機に、あるトランザクションブランチについて、親ト
ランザクションブランチからのトランザクション制御メ
ッセージを受信した時に、前記の情報を参照し、前記の
先祖トランザクションブランチの存在する計算機に存在
する子トランザクションブランチを判別し、前記の子ト
ランザクションブランチへのメッセージ送信の必要性を
判断するトランザクション制御方式。
4. The transaction control method according to claim 3, comprising, for each transaction branch, information indicating a computer in which a transaction branch that is an ancestor of the transaction branch exists, and each transaction branch is provided in each computer. When the transaction control message from the parent transaction branch is received, it is necessary to refer to the above information, determine the child transaction branch existing in the computer in which the ancestor transaction branch exists, and send the message to the child transaction branch. A transaction control method that determines the sex.
JP6249082A 1994-10-14 1994-10-14 Distributed transaction processing system and transaction control system Pending JPH08115244A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6249082A JPH08115244A (en) 1994-10-14 1994-10-14 Distributed transaction processing system and transaction control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6249082A JPH08115244A (en) 1994-10-14 1994-10-14 Distributed transaction processing system and transaction control system

Publications (1)

Publication Number Publication Date
JPH08115244A true JPH08115244A (en) 1996-05-07

Family

ID=17187737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6249082A Pending JPH08115244A (en) 1994-10-14 1994-10-14 Distributed transaction processing system and transaction control system

Country Status (1)

Country Link
JP (1) JPH08115244A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132521A (en) * 1998-08-12 2000-05-12 Concord Solutions Method and device for shifting data item between different sources and for hierarchical object-oriented expression
US20100082762A1 (en) * 2008-09-29 2010-04-01 Fujitsu Limited Message tying processing method and apparatus
JP2010102683A (en) * 2008-09-29 2010-05-06 Fujitsu Ltd Message tying processing program, method and apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132521A (en) * 1998-08-12 2000-05-12 Concord Solutions Method and device for shifting data item between different sources and for hierarchical object-oriented expression
US20100082762A1 (en) * 2008-09-29 2010-04-01 Fujitsu Limited Message tying processing method and apparatus
JP2010102683A (en) * 2008-09-29 2010-05-06 Fujitsu Ltd Message tying processing program, method and apparatus
US8539035B2 (en) 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus

Similar Documents

Publication Publication Date Title
US5987502A (en) Workload management in an asynchronous client/server computer system
US5140689A (en) Data recovery system and method of distributed transaction processing system
EP0006216A1 (en) Improvements in digital data processing systems
JP4763405B2 (en) Network-on-chip semi-automatic communication architecture for data flow applications
JPH035846A (en) Remote-application execution system
JPS63181063A (en) Transaction processing
CN111277639B (en) Method and device for maintaining data consistency
WO2012000997A1 (en) An apparatus for processing a batched unit of work
JP2014522513A (en) Method and system for synchronization mechanism in multi-server reservation system
CN112615793A (en) Data current limiting method and device
JP2005025432A (en) Transaction processing method, transaction controller, and transaction control program
CN110363663B (en) Block chain-based data batch processing method, device, equipment and storage medium
US5734897A (en) Reduction of logging in distributed systems
JP2005317010A (en) Transaction processing method, implementing device thereof, and medium recording its processing program
US6421741B1 (en) Switching between active-replication and active-standby for data synchronization in virtual synchrony
JP2006133894A (en) Application flow controller
US6510465B1 (en) Dual communication services interface for distributed transaction processing
US20040170432A1 (en) Method and system for multi-initiator support to streaming devices in a fibre channel network
JPH08115244A (en) Distributed transaction processing system and transaction control system
CN116414527A (en) Method and system for greatly improving performance of distributed transaction coordinator
US7636821B2 (en) Asynchronous hybrid mirroring system
JP2001265726A (en) Automated application and procedure capable of performing high speed recovery and rearrangement of computer work load
JP3330006B2 (en) Network system including information storage system, input system of the system, and
CN101185056A (en) Data pipeline management system and method for using the system
JPH07168704A (en) Job execution control system