JP2000047986A - Transaction processing system - Google Patents

Transaction processing system

Info

Publication number
JP2000047986A
JP2000047986A JP21101898A JP21101898A JP2000047986A JP 2000047986 A JP2000047986 A JP 2000047986A JP 21101898 A JP21101898 A JP 21101898A JP 21101898 A JP21101898 A JP 21101898A JP 2000047986 A JP2000047986 A JP 2000047986A
Authority
JP
Japan
Prior art keywords
message
manager
transaction
processing
processing system
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
JP21101898A
Other languages
Japanese (ja)
Inventor
Toshiyuki Inoue
利行 井上
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP21101898A priority Critical patent/JP2000047986A/en
Publication of JP2000047986A publication Critical patent/JP2000047986A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the message arrival waiting time in another process in the case of message transfer from one process to another process. SOLUTION: When a machine C receives a transaction message from a terminal, a transfer payment processing program 71 instructs a queue manager 75 and data base manager 77 to start (21) a distributed transaction through a transaction manager 72. The queue manager 75 enqueues (22) the message required for a machine D to perform transfer reception processing to a queue under the control of the queue manager 75. Next, the queue manager 75 performs transfer (221) of the said message immediately without waiting the completion of commit processing 244 as the processing of the second phase in two-phase commit processing of transfer payment transaction based on the transaction manager 72 according to the instruction from the transfer payment processing program 71.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のプロセスが
連携して処理を行う環境に適用されるトランザクション
処理システムに関するものである。
[0001] 1. Field of the Invention [0002] The present invention relates to a transaction processing system applied to an environment in which a plurality of processes cooperate to perform processing.

【0002】[0002]

【従来の技術】従来、トランザクション処理システムと
して、図1に示すような、銀行の振替処理業務に適用さ
れる2フェーズ(2相)コミット方式を採用したものが
知られている。上記システムは、図示しない端末からマ
シンAへのトランザクションメッセージを受け取ると振
替支払処理プログラム1がそれを受付け、トランザクシ
ョン(Tr)マネージャ3を通じてキュー(Q)マネー
ジャ5及びデータベース(DB)マネージャ7にトラン
ザクション開始を指示する。プログラム1からの指示に
よりQマネージャ5はその管理下のキューにマシンBで
の振替入金処理に必要なメッセージをエンキューし、D
Bマネージャ7は上記メッセージに基づきDB9に対し
振替支払処理を行う。Trマネージャ3はQマネージャ
5及びDBマネージャ7に対し2相コミットプロトコル
により分散トランザクションをコミットする(ステップ
S21〜S25)。Qマネージャ5が上記処理完了後の
メッセージをマシンBのQマネージャ15に転送する
と、メッセージはQマネージャ15の管理下のキューに
キューイングされる。マシンBでは振替入金処理プログ
ラム11がTrマネージャ13を通じてQマネージャ1
5及びDBマネージャ17にトランザクション開始を指
示する。プログラム11からの指示によりQマネージャ
15は上記キューから上記メッセージをデキューし、D
Bマネージャ17は上記メッセージに基づきDB19に
対し振替入金処理を行う。Trマネージャ13はQマネ
ージャ15及びDBマネージャ17に対し2相コミット
プロトコルにより分散トランザクションをコミットする
(ステップS26〜S30)。
2. Description of the Related Art Conventionally, there has been known a transaction processing system employing a two-phase (two-phase) commit method as shown in FIG. 1, which is applied to a bank transfer processing business. In the above system, upon receiving a transaction message from a terminal (not shown) to the machine A, the transfer payment processing program 1 accepts the transaction message and starts a transaction to the queue (Q) manager 5 and the database (DB) manager 7 through the transaction (Tr) manager 3. Instruct. In response to an instruction from the program 1, the Q manager 5 enqueues a message necessary for the transfer payment processing in the machine B into a queue under its management, and
The B manager 7 performs a transfer payment process to the DB 9 based on the message. The Tr manager 3 commits the distributed transaction to the Q manager 5 and the DB manager 7 using the two-phase commit protocol (steps S21 to S25). When the Q manager 5 transfers the processed message to the Q manager 15 of the machine B, the message is queued in a queue managed by the Q manager 15. In the machine B, the transfer payment processing program 11 sends the Q manager 1 through the Tr manager 13.
5 and the DB manager 17 are instructed to start a transaction. In response to an instruction from the program 11, the Q manager 15 dequeues the message from the queue,
The B manager 17 performs a transfer payment process to the DB 19 based on the message. The Tr manager 13 commits the distributed transaction to the Q manager 15 and the DB manager 17 using the two-phase commit protocol (steps S26 to S30).

【0003】[0003]

【発明が解決しようとする課題】ところで、上記構成の
システムにおいては、プログラム1(マシンA)側の処
理であるステップS21〜S25の処理動作が終了しな
ければ、ステップS26で示すマシンAからマシンBへ
のメッセージの転送が行われない。そのため、プログラ
ム11(マシンB)側の処理であるステップS28〜S
30の処理動作は、ステップS21〜S26の処理動作
が終了しない限り行うことができないという問題点があ
る。以下、図2及び図3により上記問題点を詳細に説明
する。
By the way, in the system having the above configuration, unless the processing operation of steps S21 to S25, which is the processing of the program 1 (machine A), is completed, the machine A is switched from the machine A shown in step S26. No message transfer to B is performed. Therefore, steps S28 to S28, which are processes on the program 11 (machine B) side,
There is a problem that the processing operation of 30 cannot be performed unless the processing operations of steps S21 to S26 are completed. Hereinafter, the above problem will be described in detail with reference to FIGS.

【0004】図2は、上記システムのより詳細な処理シ
ーケンスを示す説明図である。
FIG. 2 is an explanatory diagram showing a more detailed processing sequence of the above system.

【0005】図2に示すように、上記構成のシステムに
おいては、プログラム1がメッセージエンキュー(ステ
ップS23)を行っても、そのメッセージはQマネージ
ャ5の管理下に置かれるメモリ上のキューに蓄積される
だけであり、プログラム11がそのメッセージを受け取
ることはできない。また、メッセージ転送442(ステ
ップS26)は、分散トランザクションのコミット処理
(4)(ステップS25)の延長として行うキューへの
コミット(44)及びエンキューした上記メッセージの
ディスク6への書込み処理(441)まで完了しないと
開始されない。そのうえ、上記メッセージの転送時(ス
テップS26)に、マシンBにおいてQマネージャ15
がその管理下のディスク16に上記メッセージを書込む
処理(メッセージ書込み(443))が完了した後でな
いと、プログラム11による上記メッセージのデキュー
処理(ステップS28)を完了することができない。よ
って、マシンA側の振替支払処理とマシンB側の振替入
金処理とがシリアライズされてしまうため、上記2つの
処理を、並行処理とすることができない訳である。
As shown in FIG. 2, in the system configured as described above, even if the program 1 enqueues a message (step S23), the message is stored in a queue on a memory placed under the control of the Q manager 5. And the program 11 cannot receive the message. The message transfer 442 (step S26) extends to the commit (44) to the queue and the process of writing the enqueued message to the disk 6 (441) as an extension of the commit process (4) (step S25) of the distributed transaction. It must be completed before it can be started. In addition, when transferring the message (step S26), the Q manager 15
Until the process of writing the message to the managed disk 16 (message writing (443)) is completed, the dequeue process of the message by the program 11 (step S28) cannot be completed. Therefore, since the transfer payment processing on the machine A side and the transfer payment processing on the machine B side are serialized, the above two processings cannot be performed in parallel.

【0006】図3は、上記システムの処理動作を示すタ
イミングチャートである。
FIG. 3 is a timing chart showing the processing operation of the above system.

【0007】図3には、Trマネージャ3による上述し
たコミット処理(4)において、上記コミット(44)
及び及び上記書込み処理(441)まで完了してから、
マシンBへのメッセージ転送(ステップS26)が行わ
れ、その後にプログラム11によるメッセージデキュー
(応答)が開始されることが明示されている。換言すれ
ば、マシンA側で実行されるステップS21〜S25で
示した処理動作と、マシンA、Bの双方に関連するステ
ップS26で示した処理動作と、マシンB側で実行され
るステップS28の応答〜S30で示した処理動作と
は、時系列をなしていることが図3から明らかである。
[0007] In FIG. 3, in the commit process (4) by the Tr manager 3, the commit (44)
And and after the writing process (441) is completed,
It is specified that a message is transferred to the machine B (step S26), and then a message dequeue (response) by the program 11 is started. In other words, the processing operation shown in steps S21 to S25 executed on the machine A side, the processing operation shown in step S26 relating to both the machines A and B, and the processing operation shown in step S28 executed on the machine B side It is apparent from FIG. 3 that the processing operations shown in the response to S30 form a time series.

【0008】従って本発明の目的は、複数のプロセスが
連携して処理を行う環境において、1つのプロセスから
他のプロセスへのメッセージ転送に際し、他のプロセス
でのメッセージ到着待ち時間を減らすようにすることに
ある。
Accordingly, an object of the present invention is to reduce a message arrival waiting time in another process when transferring a message from one process to another process in an environment in which a plurality of processes cooperate with each other. It is in.

【0009】[0009]

【課題を解決するための手段】本発明の第1の側面に従
うトランザクション処理システムは、複数のプロセスが
連携して処理を行う環境に適用されるもので、プロセス
のうちの1つが、他のプロセスでの処理業務に係るメッ
セージを生成した後、遅くとも1つのプロセスで行うト
ランザクションの整合性を保証するための処理が終了す
る前に、メッセージを他のプロセスに転送するようにし
ている。
A transaction processing system according to a first aspect of the present invention is applied to an environment in which a plurality of processes cooperate with each other, and one of the processes is connected to another process. After the message relating to the processing operation in the above is generated, the message is transferred to another process at the latest before the processing for guaranteeing the consistency of the transaction performed in one process ends.

【0010】上記構成によれば、遅くとも1つのプロセ
スで行うトランザクションの整合性を保証するための処
理が終了する前に、他のプロセスでの処理業務に係るメ
ッセージが、プロセスのうちの1つから上記他のプロセ
スに転送される。そのため、他のプロセスでのメッセー
ジ到着待ち時間を従来よりも減らすことができる。
According to the above configuration, before the processing for guaranteeing the consistency of the transaction performed in one process at the latest, the message relating to the processing operation in the other process is sent from one of the processes. Transferred to the other processes described above. Therefore, the message arrival waiting time in other processes can be reduced as compared with the conventional case.

【0011】本発明の第1の側面に係る好適な実施形態
では、トランザクションの整合性を保証するための処理
として、2相コミット処理が採用されている。メッセー
ジの転送は、1つのプロセスで2相コミット処理を実行
する前に行われるようにしている。このようにすれば、
他のプロセスでのメッセージ到着待ち時間を極く短い時
間にすることができ、1つのプロセス側での処理と、他
のプロセス側での処理とを、並行処理とすることも可能
になる。
In a preferred embodiment according to the first aspect of the present invention, a two-phase commit process is employed as a process for guaranteeing transaction consistency. The message transfer is performed before executing the two-phase commit process in one process. If you do this,
The message arrival waiting time in another process can be made extremely short, and the processing on one process side and the processing on the other process side can be performed in parallel.

【0012】また、上記実施形態では、メッセージは、
1つのプロセス内のリソースの1つであるキューにエン
キューされてから前記他のプロセス内のリソースの1つ
であるキューに転送される。上記1つのプロセスは、そ
のキューにエンキューされたメッセージに対し2相コミ
ット処理中の2相目の処理であるコミット処理を行うの
と並行して、所定の処理を行った結果を他のプロセスの
キューに転送する。
In the above embodiment, the message is
After being enqueued in a queue that is one of the resources in one process, it is transferred to a queue that is one of the resources in the other process. The one process performs a predetermined process in parallel with performing the commit process, which is the second phase of the two-phase commit process, on the message enqueued in the queue, and compares the result of the predetermined process with the other process. Transfer to queue.

【0013】一方、他のプロセスは、そのキューに対し
て上記1つのプロセスのキューからメッセージが転送さ
れると略同時に、そのメッセージをデキュー可能なよう
に、且つ、そのメッセージを不揮発性記録媒体に書込む
ようにしている。これにより、上記1つのプロセスのキ
ューよりメッセージが転送されてから他のプロセスがそ
のメッセージをデキューするまでの時間を短縮すること
ができる。なお、上記メッセージが不揮発性記録媒体に
書込まれることで、メッセージの喪失が防止される。
On the other hand, the other process enables the message to be dequeued at the same time as the message is transferred from the queue of the one process to the queue, and transfers the message to the nonvolatile recording medium. I try to write it. As a result, the time from when a message is transferred from the queue of the one process to when the other process dequeues the message can be reduced. It is to be noted that loss of the message is prevented by writing the message on the non-volatile recording medium.

【0014】また、他のプロセスは、そのキューへ転送
されたメッセージに対して2相コミット処理中の1相目
の処理であるプリペア処理を行うのと略同時に、そのメ
ッセージの有効性の判定のために1つのプロセスから転
送される、そのプロセスでの処理結果をチェックするよ
うにしている。これは、上記処理結果が失敗であれば、
不揮発性記録媒体に書込んだメッセージが無効になって
しまうから是非必要な処理動作である。上述したチェッ
クの結果、上記1つのプロセスでの処理結果が成功であ
るときには、他のプロセスは、メッセージを有効と判定
してメッセージに対する上記プリペア処理を続行する。
一方、処理結果が失敗であるときには、他のプロセス
は、メッセージを無効と判定してメッセージに対する上
記プリペア処理を中止する。
At the same time as performing the prepare process, which is the first phase of the two-phase commit process, on the message transferred to the queue, the other processes determine the validity of the message. Therefore, the processing result transferred from one process and checked in that process is checked. This means that if the result of the above processing is
This is a necessary processing operation because the message written in the non-volatile recording medium becomes invalid. As a result of the above-described check, when the processing result in the one process is successful, the other process determines that the message is valid and continues the above-described prepare processing for the message.
On the other hand, when the processing result is unsuccessful, the other processes determine that the message is invalid and stop the above-described prepare processing for the message.

【0015】本発明の第2の側面に従うプログラム媒体
は、複数のプロセスが連携して処理を行う環境におい
て、プロセスのうちの1つが、他のプロセスでの処理業
務に係るメッセージを生成した後、遅くとも1つのプロ
セスで行うトランザクションの整合性を保証するための
処理が終了する前に、メッセージを他のプロセスに転送
するようにしたことを特徴とするトランザクション処理
システムにおける各プロセスとしてコンピュータを動作
させるためのコンピュータプログラムをコンピュータ読
取可能に担持する。
In a program medium according to a second aspect of the present invention, in an environment in which a plurality of processes cooperate with each other, after one of the processes generates a message related to a processing operation in another process, A computer is operated as each process in a transaction processing system characterized in that a message is transferred to another process before processing for guaranteeing transaction consistency performed by at least one process ends at the latest. Computer-readable program.

【0016】[0016]

【発明の実施の形態】次に、本発明の実施の形態を説明
するに先立ち、2相コミット方式を採用した一般的な分
散トランザクションの例を、図4及び図5により説明す
る。なお、2相コミット方式は、図1に示したような、
データベースやキュー等の複数のリソースに対して分散
処理するトランザクションの整合性を保障するためのも
のである。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing the embodiments of the present invention, an example of a general distributed transaction employing a two-phase commit method will be described with reference to FIGS. In the two-phase commit method, as shown in FIG.
This is to ensure the consistency of transactions that are distributed to a plurality of resources such as databases and queues.

【0017】図4は、2相コミット方式を採用した一般
的な分散トランザクション処理システムの構成を示す機
能ブロック図である。
FIG. 4 is a functional block diagram showing the configuration of a general distributed transaction processing system employing a two-phase commit method.

【0018】上記システムは、主な構成要素(モジュー
ル)として、図4に示すように業務を実行するための業
務処理プログラム41と、分散トランザクションの実行
を管理するトランザクションマネージャ(Trマネージ
ャ)43とを備える。上記システムは、上記各部に加え
て更に、メッセージ送受信を行うためのキュー(待ち行
列)を管理するリソース(キュー)マネージャ(Qマネ
ージャ)45と、データベースを管理するリソース(デ
ータベース)マネージャ(DBマネージャ)47をも備
える。
As shown in FIG. 4, the system includes a business processing program 41 for executing a business and a transaction manager (Tr manager) 43 for managing the execution of a distributed transaction as main components (modules). Prepare. The above system further includes a resource (queue) manager (Q manager) 45 for managing a queue (queue) for transmitting and receiving messages, and a resource (database) manager (DB manager) for managing a database in addition to the above-described units. 47 is also provided.

【0019】上記各モジュール間のインタフェースに
は、プログラム41からTrマネージャ43に対しトラ
ンザクション制御を指示するためのトランザクション制
御インタフェース49と、プログラム41とQマネージ
ャ45との間でメッセージの送受信を行うためのQアク
セスインタフェース51とがある。また、プログラム4
1とDBマネージャ47との間でメッセージの送受信を
行うためのSQL等のDBアクセスインタフェース53
もある。更に、プログラム41からTrマネージャ43
への制御依頼に応じて、Trマネージャ43が実際にQ
マネージャ45やDBマネージャ47との間で2相コミ
ットプロトコルに従いトランザクションの分散コミット
制御を行うためのXAインタフェース55、57もあ
る。なお、XAインタフェース55、57は、Trマネ
ージャ43と、Qマネージャ45やDBマネージャ47
等のリソースマネージャとの間のインタフェースとし
て、X/Openで規定されている。
The interfaces between the above modules include a transaction control interface 49 for instructing the Tr manager 43 to perform transaction control from the program 41, and a message transmission / reception between the program 41 and the Q manager 45. There is a Q access interface 51. Program 4
Database access interface 53 such as SQL for transmitting and receiving messages between the client 1 and the DB manager 47
There is also. Further, the Tr manager 43 is executed from the program 41.
Tr manager 43 actually responds to the control request to
There are also XA interfaces 55 and 57 for performing distributed commit control of transactions between the manager 45 and the DB manager 47 according to a two-phase commit protocol. The XA interfaces 55 and 57 are connected to the Tr manager 43, the Q manager 45 and the DB manager 47.
X / Open is defined as an interface with a resource manager such as this.

【0020】図5は、上述したシステムの処理シーケン
スを示す説明図である。図5に示す処理シーケンスは、
2つのDB間で振替処理を行うときのものである。
FIG. 5 is an explanatory diagram showing a processing sequence of the above-described system. The processing sequence shown in FIG.
This is when transfer processing is performed between two DBs.

【0021】図5において、プログラム41がTrマネ
ージャ43に対し「トランザクション開始」を指示する
と(ステップS61)、Trマネージャ43はその指示
により、DBマネージャA47、及びDBマネージャB
59に対し夫々トランザクション開始指示(11)を行
う。DBマネージャA47に対しては、トランザクショ
ン開始DB A(111)を、DBマネージャB59に
対しては、トランザクション開始DB B(112)を
行い、各々の処理結果をプログラム41に通知する。
In FIG. 5, when the program 41 instructs the “transaction start” to the Tr manager 43 (step S61), the Tr manager 43 responds to the instruction by the DB manager A 47 and the DB manager B.
A transaction start instruction (11) is issued to each of the processors 59. A transaction start DB A (111) is executed for the DB manager A47, and a transaction start DB B (112) is executed for the DB manager B59, and the processing results are notified to the program 41.

【0022】次に、プログラム41は、振替支払処理を
行うためにDBマネージャA47に対して「DB A更
新(12)」を指示する。DBマネージャA47では、
上記指示に基づき所定の処理を行い、その処理結果をプ
ログラム41に通知する(ステップS62)。同様に、
プログラム41は、振替入金処理を行うためにDBマネ
ージャB59に対して「DB B更新(13)」を指示
する。DBマネージャB59では、上記指示に基づき所
定の処理を行い、その処理結果をプログラム41に通知
する(ステップS63)。
Next, the program 41 instructs the DB manager A 47 to "update DB A (12)" to perform the transfer payment processing. In DB manager A47,
A predetermined process is performed based on the instruction, and the processing result is notified to the program 41 (step S62). Similarly,
The program 41 instructs the DB manager B59 to "update DB B (13)" in order to perform the transfer payment processing. The DB manager B59 performs predetermined processing based on the instruction, and notifies the program 41 of the processing result (step S63).

【0023】次に、プログラム41は、Trマネージャ
43に対して「トランザクションコミット(14)」を
指示する。Trマネージャ43はその指示により、DB
マネージャA47、及びDBマネージャB59に対して
以下に説明する一連のトランザクションコミット処理を
行う(ステップS64)。
Next, the program 41 instructs the Tr manager 43 to execute "transaction commit (14)". The Tr manager 43 sends the DB
A series of transaction commit processing described below is performed on the manager A 47 and the DB manager B 59 (step S64).

【0024】まず、Trマネージャ43は、DBマネー
ジャA47に対して、プリペア処理(141)を指示す
る。この指示を受けると、DBマネージャA47は2相
コミットプロトコルに従い、対応する振替支払トランザ
クションをコミットするための第1フェーズである「プ
リペア処理」を行う。この処理の中で、DBマネージャ
A47は、「該当振替支払トランザクションをコミット
するために必要な情報」及び「プリペア処理の結果(成
功/失敗)」をディスク等の不揮発性記録媒体にロギン
グする。その後、プリペア処理の結果をTrマネージャ
43に通知する。
First, the Tr manager 43 instructs the DB manager A 47 to perform a prepare process (141). Upon receiving this instruction, the DB manager A 47 performs a “prepare process”, which is the first phase for committing the corresponding transfer payment transaction, according to the two-phase commit protocol. In this process, the DB manager A47 logs “information necessary for committing the relevant transfer payment transaction” and “result of the prepare process (success / failure)” on a non-volatile recording medium such as a disk. After that, the Tr manager 43 is notified of the result of the prepare processing.

【0025】次に、Trマネージャ43は、DBマネー
ジャB59に対して、プリペア処理(142)を指示す
る。この指示を受けると、DBマネージャB59は2相
コミットプロトコルに従い、対応する振替入金トランザ
クションをコミットするための第1フェーズである「プ
リペア処理」を行う。この処理の中で、DBマネージャ
B59は、「該当振替入金トランザクションをコミット
するために必要な情報」及び「プリペア処理の結果(成
功/失敗)」をディスク等の不揮発性記録媒体にロギン
グする。その後、プリペア処理の結果をTrマネージャ
43に通知する。
Next, the Tr manager 43 instructs the DB manager B59 to perform a prepare process (142). Upon receiving this instruction, the DB manager B59 performs “prepare processing”, which is the first phase for committing the corresponding transfer deposit transaction, according to the two-phase commit protocol. In this process, the DB manager B59 logs “information necessary for committing the relevant transfer deposit transaction” and “result of the prepare process (success / failure)” to a non-volatile recording medium such as a disk. After that, the Tr manager 43 is notified of the result of the prepare processing.

【0026】次に、Trマネージャ43は、DBマネー
ジャA47、59から夫々通知されるプリペア処理の結
果に基づき、対応する振替トランザクションをコミット
するかロールバックするか(コミット/ロールバック)
の決定を行う(143)。即ち、DBマネージャA4
7、59に対するプリペア処理が共に成功した場合には
「コミット」とし、それ以外の場合は「ロールバック」
とする。また、Trマネージャ43は、決定した結果を
「デシジョンログ」としてディスク等の不揮発性記録媒
体に書込む。以下の説明では、該当振替トランザクショ
ンをコミットする場合を例にとり説明する。
Next, the Tr manager 43 commits or rolls back the corresponding transfer transaction based on the result of the prepare process notified from the DB managers A 47 and 59 (commit / roll back).
Is determined (143). That is, DB manager A4
If both of the prepare processes for 7, 59 are successful, "commit" is set; otherwise, "roll back" is set.
And Further, the Tr manager 43 writes the determined result as a “decision log” on a non-volatile recording medium such as a disk. In the following description, a case where the relevant transfer transaction is committed will be described as an example.

【0027】まず、Trマネージャ43は、DBマネー
ジャA47に対して、コミット処理(144)を指示す
る。DBマネージャA47は2相コミットプロトコルに
従い、該当振替支払トランザクションをコミットするた
めの第2フェーズである「コミット処理」を行う。この
処理の中で、DBマネージャA47は、該当振替支払ト
ランザクションをコミットし、コミット処理の結果をデ
ィスク等の不揮発性記録媒体にロギングする。その後、
コミット処理の結果をTrマネージャ43に通知する。
First, the Tr manager 43 instructs the DB manager A 47 to perform a commit process (144). In accordance with the two-phase commit protocol, the DB manager A 47 performs a "commit process", which is the second phase for committing the transfer payment transaction. During this process, the DB manager A47 commits the relevant transfer payment transaction and logs the result of the commit process on a non-volatile recording medium such as a disk. afterwards,
The result of the commit process is notified to the Tr manager 43.

【0028】次に、Trマネージャ43は、DBマネー
ジャB59に対して、コミット処理(145)を指示す
る。DBマネージャB59は2相コミットプロトコルに
従い、該当振替入金トランザクションをコミットするた
めの第2フェーズである「コミット処理」を行う。この
処理の中で、DBマネージャB59は、該当振替入金ト
ランザクションをコミットし、コミット処理の結果をデ
ィスク等の不揮発性記録媒体にロギングする。その後、
コミット処理の結果をTrマネージャ43に通知する。
Next, the Tr manager 43 instructs the DB manager B59 to perform a commit process (145). In accordance with the two-phase commit protocol, the DB manager B59 performs “commit processing”, which is the second phase for committing the transfer deposit transaction. In this process, the DB manager B59 commits the transfer transaction and logs the result of the commit process to a non-volatile recording medium such as a disk. afterwards,
The result of the commit process is notified to the Tr manager 43.

【0029】更に、Trマネージャ43は、DBマネー
ジャA47、B59から夫々通知されるコミット処理の
結果に基づき、対応する振替トランザクションの処理結
果のディスク等の不揮発性記録媒体への書込み(14
6)を行う。即ち、DBマネージャA47、59に対す
るコミット処理が共に成功した場合には「成功」とし、
それ以外の場合は、Trマネージャ43とDBマネージ
ャA47、59間でリカバリ処理が行われる。Trマネ
ージャ43は、一連の2相コミット処理が完了すると、
処理結果をプログラム41に通知する。
Further, the Tr manager 43 writes the processing result of the corresponding transfer transaction to a non-volatile recording medium such as a disk based on the commit processing result notified from the DB managers A 47 and B 59 (14).
Perform 6). That is, when the commit processing for the DB managers A 47 and 59 is both successful, it is determined as “success”,
In other cases, a recovery process is performed between the Tr manager 43 and the DB managers A 47 and 59. When the Tr manager 43 completes a series of two-phase commit processing,
The processing result is notified to the program 41.

【0030】以下、本発明の実施の形態を、図面により
詳細に説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

【0031】図6は、本発明の一実施形態に係るトラン
ザクション処理システムにおいて、振替支払処理が成功
したときの処理シーケンスを示す説明図である。
FIG. 6 is an explanatory diagram showing a processing sequence when the transfer payment processing is successful in the transaction processing system according to one embodiment of the present invention.

【0032】上記システムは、振替支払処理及び振替入
金処理を含む銀行の振替処理業務に適用されるもので、
2相コミット方式が採用されており、図示のように振替
支払処理を行うクライアントとして機能するマシンC、
及び振替入金処理を行うサーバとして機能するマシンD
を備えている。上記システムの構成は、図1に示した従
来のシステムの構成と基本的に同一である。
The above system is applied to a bank transfer processing business including a transfer payment processing and a transfer deposit processing.
A two-phase commit method is adopted, and a machine C that functions as a client that performs a transfer payment process as shown in the figure.
D that functions as a server that performs transfer and transfer payment processing
It has. The configuration of the above system is basically the same as the configuration of the conventional system shown in FIG.

【0033】マシンCには、振替支払処理プログラム7
1と、Trマネージャ72と、マネージャ72の管理下
に置かれるディスク73、74と、Qマネージャ75
と、マネージャ75の管理下に置かれるディスク76と
が搭載される。マシンCには、更に、DBマネージャ7
7と、マネージャ77の管理下でプログラム71及びT
rマネージャ72によりアクセスされるDB78、及び
ディスク79も搭載される。
The machine C has a transfer payment processing program 7
1, a Tr manager 72, disks 73 and 74 placed under the control of the manager 72, and a Q manager 75
And a disk 76 placed under the control of the manager 75. Machine C also has a DB manager 7
7 and programs 71 and T under the control of the manager 77
A DB 78 accessed by the r manager 72 and a disk 79 are also mounted.

【0034】一方、マシンDには、振替入金処理プログ
ラム81と、Trマネージャ82と、マネージャ82の
管理下に置かれるディスク83、84と、Qマネージャ
85と、マネージャ85の管理下に置かれるディスク8
6とが搭載される。マシンDには、更に、DBマネージ
ャ87と、マネージャ87の管理下でプログラム81及
びTrマネージャ82によりアクセスされるDB88、
及びディスク89も搭載される。
On the other hand, in the machine D, a transfer payment processing program 81, a Tr manager 82, disks 83 and 84 under the control of the manager 82, a Q manager 85, and a disk under the control of the manager 85 8
6 is mounted. The machine D further includes a DB manager 87, a DB 88 accessed by the program 81 and the Tr manager 82 under the control of the manager 87,
And a disk 89.

【0035】上記構成において、マシンCが端末(図示
しない)からのトランザクションメッセージを受け取る
と、プログラム71はTrマネージャ72を通じてQマ
ネージャ75及びDBマネージャ77に、分散トランザ
クションの開始(21)を指示する(ステップS9
1)。これにより、まず、Qマネージャ75はマシンD
で振替入金処理を行うのに必要なメッセージをQマネー
ジャ75の管理下にあるキューにエンキュー(22)す
る(ステップS92)。この処理動作が完了すると、Q
マネージャ75は、プログラム71からの指示により、
Trマネージヤ72による振替支払トランザクションで
の2相コミット処理中の2相目の処理であるコミット処
理(244)の完了を待つことなく直ちに上記メッセー
ジの転送(221)を行う。
In the above configuration, when the machine C receives a transaction message from a terminal (not shown), the program 71 instructs the Q manager 75 and the DB manager 77 through the Tr manager 72 to start a distributed transaction (21) ( Step S9
1). As a result, first, the Q manager 75
Enqueue (22) a message necessary for performing the transfer payment processing in a queue managed by the Q manager 75 (step S92). When this processing operation is completed, Q
The manager 75 receives an instruction from the program 71,
The message transfer (221) is immediately performed without waiting for the completion of the commit process (244), which is the second phase of the two-phase commit process in the transfer payment transaction by the Tr manager 72.

【0036】一方、プログラム81はTrマネージャ8
2を通じてQマネージャ85及びDBマネージャ87
に、分散トランザクションの開始(21)を指示する
(ステップS95)。上記メッセージがQマネージャ7
5のキューからQマネージャ85のキューへ到着するこ
とによって、上記メッセージは、直ちにプログラム81
によるメッセージデキュー(26)が可能な状態になる
(ステップS96)。上記メッセージデキューの処理
(26)と並行して、Qマネージャ85による上記メッ
セージのディスク(不揮発性記録媒体)86への書込み
処理(222)も行われる。なお、この書込み処理(2
22)が完了する以前に、マシンDのダウン等の不具合
に起因して上記メッセージが喪失したときには、マシン
C側のディスク(不揮発性記録媒体)76に保存される
情報(メッセージ)に基づき、マシンD側において上記
メッセージを復元することができる。
On the other hand, the program 81 is the Tr manager 8
2 through Q manager 85 and DB manager 87
Is instructed to start a distributed transaction (21) (step S95). The above message is Q Manager 7
5 arrives at the queue of the Q manager 85, the message is immediately sent to the program 81.
(Step S96). In parallel with the message dequeue process (26), the Q manager 85 also writes (222) the message to the disk (non-volatile recording medium) 86. Note that this write processing (2
If the above message is lost before the completion of 22) due to a malfunction such as a down of the machine D, the machine (C) determines the machine based on the information (message) stored in the disk (non-volatile recording medium) 76 on the machine C side. The message can be restored on the D side.

【0037】次に、プログラム81からの指示によりD
Bマネージャ87による上記メッセージに基づくDB8
8への振替入金処理が行われた後(ステップS97)、
Trマネージャ82はQマネージャ85及びDBマネー
ジャ87に対し2相コミットプロトコルにより分散トラ
ンザクションをコミットする(ステップS98)。即
ち、Qマネージャ85に対しては、プリペアQ(28
1)として該当するトランザクションのコミット処理の
第1相であるプリペア処理(2811)を行う。このと
き、Qマネージャ85は、Trマネージャ82が上記デ
キューしたメッセージが有効か否かを判定するために、
マシンCからQマネージャ75を通じて転送されるトラ
ンザクション処理結果(2441)を調査する。この調
査を行う理由は、Trマネージャ72が後述するように
トランザクション処理結果を失敗であるとしてロールバ
ックすると、プログラム81がデキューした上記メッセ
ージが無効になってしまうためである。なお、マシンC
から上記トランザクション処理結果(2441)が転送
されていなければ、Qマネージャ85は上記メッセージ
が転送されてくるまで待機する。
Next, according to an instruction from the program 81, D
DB8 based on the above message by B manager 87
After the transfer payment processing to No. 8 has been performed (step S97),
The Tr manager 82 commits the distributed transaction to the Q manager 85 and the DB manager 87 using a two-phase commit protocol (step S98). That is, for the Q manager 85, the prepare Q (28
As 1), a prepare process (2811), which is the first phase of the commit process of the corresponding transaction, is performed. At this time, the Q manager 85 determines whether the message dequeued by the Tr manager 82 is valid or not.
The transaction processing result (2441) transferred from the machine C through the Q manager 75 is examined. The reason for performing this check is that if the Tr manager 72 rolls back the transaction processing result as a failure as described later, the message dequeued by the program 81 becomes invalid. Note that machine C
If the transaction processing result (2441) has not been transferred from, the Q manager 85 waits until the message is transferred.

【0038】ここで、再びマシンCに戻って、プログラ
ム71からの指示によりDBマネージャ77による上記
メッセージに基づくDB78への振替支払処理が行われ
た後(ステップS93)、Trマネージャ72はQマネ
ージャ75及びDBマネージャ77に対し2相コミット
プロトコルにより分散トランザクションをコミットする
(ステップS94)。Qマネージャ75に対しては、コ
ミットQ(244)として該当するトランザクションの
コミット処理の第2相であるコミット処理、即ち、トラ
ンザクション処理結果の転送(コミット(成功)/ロー
ルバック(失敗))(2441)を行わせる。
Here, returning to the machine C again, after the transfer payment processing to the DB 78 based on the above message is performed by the DB manager 77 in accordance with the instruction from the program 71 (step S93), the Tr manager 72 becomes the Q manager 75. Then, the distributed transaction is committed to the DB manager 77 by the two-phase commit protocol (step S94). For the Q manager 75, the commit process which is the second phase of the commit process of the corresponding transaction as the commit Q (244), that is, the transfer of the transaction process result (commit (success) / rollback (fail)) (2441) ).

【0039】一方、マシンD側では、Qマネージャ75
から、トランザクション処理結果として「コミット(成
功)」が転送(2441)されてくると、Qマネージャ
85は、プリペアQ(281)の結果として、その旨を
Trマネージャ82に通知し、Trマネージャ82は、
上記デキューしたメッセージを有効と判定する。それに
よりQマネージャ85は、上記メッセージに対する上記
プリペア処理(2811)を続行することになる。Qマ
ネージャ85は、プリペアQ(281)の結果として、
上記プリペア処理(2811)の処理結果(成功)をT
rマネージャ82に通知し、その通知を受けた以後、T
rマネージャ82は通常の2相コミットプロトコル(2
84)〜(286)を実行する。
On the other hand, on the machine D side, the Q manager 75
Is transmitted (2441) as a transaction processing result, the Q manager 85 notifies the Tr manager 82 as a result of the prepare Q (281), and the Tr manager 82 ,
The dequeued message is determined to be valid. As a result, the Q manager 85 continues the prepare process (2811) for the message. The Q manager 85, as a result of the prepare Q (281),
The processing result (success) of the prepare processing (2811) is represented by T
r manager 82, and after receiving the notification, T
The r manager 82 uses the normal two-phase commit protocol (2
84) to (286) are executed.

【0040】図7は、上記システムにおける振替支払処
理が成功したときの処理動作を示すタイミングチャート
である。
FIG. 7 is a timing chart showing a processing operation when the transfer payment processing in the above system is successful.

【0041】図7によれば、マシンD側でのメッセージ
到着待ち時間は、プログラム81がステップS96でメ
ッセージデキューの要求(261)を出してから、Qマ
ネージャ75より転送されたメッセージ(221)が到
着するまでの時間であり、図3に示したメッセージ到着
時間と比較すれば極めて短いことが分る。
According to FIG. 7, the message arrival waiting time on the machine D side is determined by the message (221) transferred from the Q manager 75 after the program 81 issues the message dequeue request (261) in step S96. This is the time until the message arrives, and is extremely short as compared with the message arrival time shown in FIG.

【0042】図8は、上記振替支払処理側のQマネージ
ャ75と、従来の振替支払処理側のQマネージャ5と
が、夫々メッセージ転送及びトランザクション処理結果
転送を行うタイミングを比較した説明図である。
FIG. 8 is an explanatory diagram comparing the timing at which the transfer manager Q on the transfer payment side and the conventional Q manager 5 on the transfer payment side perform message transfer and transaction process result transfer, respectively.

【0043】図8に示すように、本実施形態では、マシ
ンDで振替入金処理を行うのに必要なメッセージのエン
キュー(22)が完了すると、直ちに上記メッセージの
転送(221)を行う点が従来と相違する。また、振替
支払側(マシンC側)でのトランザクション処理結果
を、Qマネージャ85に通知するために、トランザクシ
ョン処理結果(コミット/ロールバック)の転送処理
(2441)が新たに追加された点でも従来と相違す
る。
As shown in FIG. 8, the present embodiment differs from the prior art in that when the enqueue (22) of a message necessary for performing the transfer payment processing is completed in the machine D, the message transfer (221) is immediately performed. Is different from Also, in order to notify the Q manager 85 of the transaction processing result on the transfer payment side (machine C side), the transfer processing (commit / rollback) of the transaction processing result (commit / rollback) (2441) is newly added. Is different from

【0044】図9は、上記振替入金側のQマネージャ8
5と、従来の振替入金側のQマネージャ15とが、夫々
メッセージをデキューするタイミング及び上記メッセー
ジが有効か否かを判定するタイミングを比較した説明図
である。
FIG. 9 shows the Q manager 8 on the transfer deposit side.
FIG. 5 is an explanatory diagram comparing a timing at which a transfer manager 5 and a conventional transfer manager Q manager 15 dequeue a message and a timing at which it is determined whether or not the message is valid.

【0045】図9に示すように、本実施形態では、Qマ
ネージャ85のキューからのメッセージデキュー(2
6)と、上記キュー中のメッセージのディスク86への
書込み(222)とが並行処理される点が従来と相違す
る。また、転送されたトランザクション処理結果(24
41)のディスク86への書込み(2442)及びこれと
並行処理される上記プリペア処理(2811)の処理結
果のQマネージャ85による判定処理が追加された点で
も従来と相違する。
As shown in FIG. 9, in the present embodiment, the message dequeue (2
6) and the writing of the message in the queue to the disk 86 (222) is different from the prior art in that it is processed in parallel. Further, the transferred transaction processing result (24
This is also different from the related art in that a judgment process by the Q manager 85 of the result of the write process (2442) of the process 41) to the disk 86 (2442) and the process of the prepare process (2811) performed in parallel therewith is added.

【0046】図10は、マシンDにおけるQマネージャ
85と、プログラム81との間で行われる処理動作を示
すもので、振替支払トランザクションがコミット(成
功)したときの状態を示す説明図である。
FIG. 10 shows a processing operation performed between the Q manager 85 in the machine D and the program 81, and is an explanatory diagram showing a state when the transfer payment transaction is committed (successful).

【0047】図10に示すように、Qマネージャ85が
マシンC側から転送されたメッセージ(MsgA)を受
信すると(221)、MsgAはキューイングされた状
態でプログラム81によりデキューされる(26)。こ
の処理動作と略並行してMsgAのディスク86への書
込み(222)も行われる。
As shown in FIG. 10, when the Q manager 85 receives the message (MsgA) transferred from the machine C side (221), the MsgA is dequeued by the program 81 in a queued state (26). Substantially in parallel with this processing operation, MsgA is also written to the disk 86 (222).

【0048】また、Qマネージャ85がマシンC側から
転送されたトランザクション処理結果(2441)を受
信すると、その処理結果(メッセージステータス)がコ
ミットAとしてプログラム81でプリペア処理(281
1)とコミット処理(2841)とを含むトランザクショ
ンコミット処理(28)が行われる。これと並行して上
記処理結果のディスク86への書込み処理(2442)
も行われる。
When the Q manager 85 receives the transaction processing result (2441) transferred from the machine C side, the processing result (message status) is set as commit A by the program 81 in the prepare processing (281).
Transaction commit processing (28) including 1) and commit processing (2841) is performed. In parallel with this, the above processing result is written to the disk 86 (2442).
Is also performed.

【0049】図11は、本発明の一実施形態に係るトラ
ンザクション処理システムにおいて、振替支払処理が失
敗したときの処理シーケンスを示す説明図である。
FIG. 11 is an explanatory diagram showing a processing sequence when the transfer payment processing has failed in the transaction processing system according to one embodiment of the present invention.

【0050】図11に示す処理シーケンスは、Trマネ
ージャ82が、デキューしたメッセージが有効か否かを
判定するために、Qマネージャ85にマシンAからのト
ランザクション処理結果(2441)を調査させる点ま
では、図6で説明した処理シーケンスと全く同一であ
る。よって、以下では、上記トランザクション処理結果
として「ロールバック(失敗)」が転送(2441)さ
れてきたときの処理シーケンスについて説明する。
The processing sequence shown in FIG. 11 is performed until the Tr manager 82 causes the Q manager 85 to examine the transaction processing result (2441) from the machine A in order to determine whether the dequeued message is valid. , The processing sequence described with reference to FIG. Therefore, hereinafter, a processing sequence when “rollback (failure)” is transferred (2441) as the transaction processing result will be described.

【0051】マシンA側のQマネージャ75からQマネ
ージャ85に、トランザクション処理結果として「ロー
ルバック(失敗)」が転送(2441)されてくると、
Qマネージャ85は、上記デキューしたメッセージ(2
6)を無効と判定する。それによりQマネージャ85
は、上記メッセージに対する上記プリペア処理(281
1)を中止すると共に、上記プリペア処理(2811)の
処理結果(失敗)をTrマネージャ82に通知する。そ
の通知を受けると、Trマネージャ82は振替入金トラ
ンザクションに関して2つあるリソース(つまり、デー
タベースとキュー)のうちの1つであるキューへのプリ
ペア処理(2相コミット処理中の第1相の処理)が失敗
したとして上記トランザクションをロールバックするこ
とになる。上記のように、マシンA側からQマネージャ
85に転送されるトランザクション処理結果の(コミッ
ト(成功)/ロールバック(失敗))(2441)に応
じて夫々異なる処理動作を実行することで、例えば図4
で示したXAインタフェース(55、57)などの2相
コミットプロトコルとの適合性を維持している。
When “Rollback (failure)” is transferred (2441) from the Q manager 75 on the machine A side to the Q manager 85 as a transaction processing result,
The Q manager 85 sends the dequeued message (2
6) is determined to be invalid. The Q manager 85
Is the prepare process (281) for the message.
1) is stopped, and the processing result (failure) of the prepare processing (2811) is notified to the Tr manager 82. Upon receiving the notification, the Tr manager 82 prepares the transfer deposit transaction for the queue which is one of the two resources (that is, the database and the queue) (the first phase process during the two-phase commit process). Will fail and roll back the transaction. As described above, by executing different processing operations according to (commit (success) / rollback (failure)) (2441) of the transaction processing result transferred from the machine A to the Q manager 85, for example, 4
The compatibility with the two-phase commit protocol such as the XA interface (55, 57) shown in FIG.

【0052】図12は、マシンDにおけるQマネージャ
85と、プログラム81との間で行われる処理動作を示
すもので、振替支払トランザクションがロールバック
(失敗)したときの状態を示す説明図である。
FIG. 12 shows a processing operation performed between the Q manager 85 and the program 81 in the machine D, and is an explanatory diagram showing a state when the transfer payment transaction is rolled back (failed).

【0053】図12に示すように、マシンC側から転送
されたメッセージ(MsgA)をQマネージャ85が受
信すると(221)、MsgAはキューイングされた状
態でプログラム81によりデキューされる(26)。こ
の処理動作と略並行してMsgAのディスク86への書
込み(222)も行われる。
As shown in FIG. 12, when the Q manager 85 receives the message (MsgA) transferred from the machine C side (221), the MsgA is dequeued by the program 81 in a queued state (26). Substantially in parallel with this processing operation, MsgA is also written to the disk 86 (222).

【0054】次に、Qマネージャ85がマシンC側から
転送された振替支払トランザクション処理結果(メッセ
ージステータス)(2441)としてロールバックAを
受信すると、その処理結果のディスク86への書込み
(2442)と並行して以下に述べるトランザクション
コミット処理(28)が行われる。即ち、プログラム8
1において、NGのプリペア処理(2811)とディス
ク86へ書込んだMsgAや振替支払トランザクション
処理結果のロールバック処理(2841)が行われるこ
とになる。
Next, when the Q manager 85 receives the rollback A as the transfer payment transaction processing result (message status) (2441) transferred from the machine C side, the Q manager 85 writes the processing result to the disk 86 (2442). In parallel, a transaction commit process (28) described below is performed. That is, program 8
In 1, the NG prepare process (2811) and the rollback process (2841) of the MsgA written to the disk 86 and the result of the transfer payment transaction process are performed.

【0055】図13は、マシンDにおいて行われるメッ
セージのリカバリ処理を示す説明図である。
FIG. 13 is an explanatory diagram showing a message recovery process performed in the machine D.

【0056】図13において、Qマネージャ85がマシ
ンC側からメッセージMsgAの受信を完了(221)
した後、ディスク86へのMsgAの書込みが完了する
以前にマシンDが何らかの原因によってダウンすると、
上記MsgAは喪失されてしまう。この場合には、マシ
ンDが正常な状態に復帰した後に、例えばマシンC側の
ディスク76から上記MsgAを再転送してもらうこと
により、MsgAの復元を図ることになる。また、Qマ
ネージャ85がマシンC側から振替支払トランザクショ
ン処理結果の受信を完了(2442)した後、ディスク
86への上記処理結果の書込みが完了する以前にマシン
Dが何らかの原因によってダウンすると、上記処理結果
は喪失されてしまう。この場合には、マシンDが正常な
状態に復帰した後に、例えばマシンC側のディスク76
から上記処理結果を再転送してもらうことにより、上記
処理結果の復元を図ることになる。
In FIG. 13, the Q manager 85 completes receiving the message MsgA from the machine C side (221).
After that, if the machine D goes down for some reason before the writing of MsgA to the disk 86 is completed,
The MsgA is lost. In this case, after the machine D returns to the normal state, the MsgA is restored by, for example, having the MsgA re-transferred from the disk 76 on the machine C side. Also, after the Q manager 85 completes the reception of the transfer payment transaction processing result from the machine C side (2442), if the machine D goes down for some reason before the writing of the processing result to the disk 86 is completed, the above processing is performed. The result is lost. In this case, after the machine D returns to a normal state, for example, the disk 76 on the machine C side
, The processing result is re-transferred, thereby restoring the processing result.

【0057】図14は、マシンDにおいて行われるメッ
セージのリカバリ処理の別の態様を示す説明図である。
図14は、図13において、振替支払トランザクション
処理結果の書込みが完了する以前に、マシンDが何らか
の原因によってダウンした後の再起動時のリカバリ処理
の例を示している。
FIG. 14 is an explanatory diagram showing another mode of the message recovery processing performed in the machine D.
FIG. 14 shows an example of the recovery processing at the time of restarting after the machine D goes down for some reason before the writing of the transfer payment transaction processing result is completed in FIG.

【0058】図14において、システムが再起動する
と、マシンD側のQマネージャ85がメッセージの読込
み(31)を行うと共に振替支払トランザクション処理
結果の読込み(32)を行うことにより、マシンC側の
Qマネージャ75に振替支払トランザクション処理結果
の送信依頼(33)を行う。Qマネージャ75は、その
送信依頼を受信(51)すると、ディスク76からロー
ルバックBを含む振替支払トランザクション処理結果を
読出して(52)、その処理結果をQマネージャ85に
送信(53)する。Qマネージャ85は、その処理結果
を受信(34)すると、Qマネージャ85の管理下に置
かれるキューに、その処理結果をエンキュー(35)
し、更にその処理結果をディスク86へ書込む処理(3
5)を実行する。
In FIG. 14, when the system is restarted, the Q manager 85 of the machine D reads the message (31) and reads the result of the transfer payment transaction processing (32), thereby obtaining the Q of the machine C. A transmission request (33) of the transfer payment transaction processing result is made to the manager 75. Upon receiving the transmission request (51), the Q manager 75 reads the transfer payment transaction processing result including the rollback B from the disk 76 (52), and transmits the processing result to the Q manager 85 (53). Upon receiving the processing result (34), the Q manager 85 enqueues the processing result into a queue placed under the control of the Q manager 85 (35).
And further writes the processing result to the disk 86 (3
Execute 5).

【0059】なお、上述したシステムにおいて、トラン
ザクション処理が開始されてから、コミット処理が開始
されるまでの間にマシン(C、D)がダウンする等の障
害が発生した場合には、QマネージャやDBマネージャ
等のリソースマネージャの責任において自動的にロール
バック処理が行われる。また、トランザクション処理の
2相コミット処理が開始されてから、2相コミット処理
が完了するまでの間にマシン(C、D)がダウンする等
の障害が発生した場合には、2相コミットプロトコルに
従ってTrマネージャとリソースマネージャとが協調し
てリカバリ処理を行う。
In the above-described system, if a failure such as a machine (C, D) failure occurs between the start of transaction processing and the start of commit processing, the Q manager and Rollback processing is automatically performed under the responsibility of a resource manager such as a DB manager. Further, if a failure such as a machine (C, D) down occurs between the start of the two-phase commit processing of the transaction processing and the completion of the two-phase commit processing, the two-phase commit protocol is used. The Tr manager and the resource manager cooperate to perform a recovery process.

【0060】以上説明したように、本発明の一実施形態
によれば、複数台のマシンに分散して配置したデータベ
ース等に対するトランザクションを実行する際に、2相
コミットプロトコルとの適合性を保持しつつ、各マシン
においてサブトランザクションを実行する際の遅延時間
を減少させることができる。そして、これにより、複数
のマシン間においてトランザクションを構成するサブト
ランザクションの同時実行性を高めることができる。
As described above, according to the embodiment of the present invention, when executing a transaction for a database or the like distributed on a plurality of machines, compatibility with the two-phase commit protocol is maintained. In addition, it is possible to reduce the delay time when executing a subtransaction in each machine. As a result, it is possible to enhance the concurrent execution of sub-transactions constituting a transaction between a plurality of machines.

【0061】なお、上述した内容は、あくまで本発明の
一実施形態に関するものであって、本発明が上記内容の
みに限定されることを意味するものでないのは勿論であ
る。
It should be noted that the above-mentioned contents relate to one embodiment of the present invention, and do not mean that the present invention is limited to only the above-described contents.

【0062】[0062]

【発明の効果】以上説明したように、本発明によれば、
複数のプロセスが連携して処理を行う環境において、1
つのプロセスから他のプロセスへのメッセージ転送に際
し、他のプロセスでのメッセージ到着待ち時間を減らす
ようにすることができる。
As described above, according to the present invention,
In an environment where multiple processes cooperate and process,
When transferring a message from one process to another process, the waiting time for message arrival in another process can be reduced.

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

【図1】従来のトランザクション処理システムの一例を
示すブロック図。
FIG. 1 is a block diagram showing an example of a conventional transaction processing system.

【図2】図1に記載したシステムの詳細な処理シーケン
スを示す説明図。
FIG. 2 is an explanatory diagram showing a detailed processing sequence of the system shown in FIG. 1;

【図3】図1に記載したシステムの処理動作を示すタイ
ミングチャート。
FIG. 3 is a timing chart showing a processing operation of the system described in FIG. 1;

【図4】2フェーズ(2相)コミット方式を採用した一
般的なトランザクション処理システムの構成を示す機能
ブロック図。
FIG. 4 is a functional block diagram showing a configuration of a general transaction processing system employing a two-phase (two-phase) commit method.

【図5】図4に記載したシステムの処理シーケンスを示
す説明図。
FIG. 5 is an explanatory diagram showing a processing sequence of the system described in FIG. 4;

【図6】本発明の一実施形態に係るトランザクション処
理システムにおいて、振替支払処理が成功したときの処
理シーケンスを示す説明図。
FIG. 6 is an explanatory diagram showing a processing sequence when the transfer payment processing is successful in the transaction processing system according to the embodiment of the present invention.

【図7】図6に記載したシステムにおける振替支払処理
が成功したときの処理動作を示すタイミングチャート。
FIG. 7 is a timing chart showing a processing operation when the transfer payment processing in the system shown in FIG. 6 is successful.

【図8】図6の振替支払処理側キューマネージャと、図
1の振替支払処理側キューマネージャとが、夫々メッセ
ージ転送及びトランザクション処理結果転送を行うタイ
ミングを比較した説明図。
FIG. 8 is an explanatory diagram comparing timings at which the transfer payment processing side queue manager of FIG. 6 and the transfer payment processing side queue manager of FIG. 1 perform message transfer and transaction processing result transfer, respectively;

【図9】図6の振替入金処理側キューマネージャと、図
1の振替入金処理側キューマネージャとが、夫々メッセ
ージをデキューするタイミング及びメッセージが有効か
否かを判定するタイミングを比較した説明図。
9 is an explanatory diagram comparing the timing of dequeuing a message and the timing of judging whether or not a message is valid, respectively, between the transfer deposit processing side queue manager of FIG. 6 and the transfer deposit processing side queue manager of FIG. 1;

【図10】振替入金処理側マシンにおけるキューマネー
ジャと、振替入金処理プログラムとの間で行われる処理
動作を示す説明図。
FIG. 10 is an explanatory diagram showing a processing operation performed between a queue manager in a transfer payment processing machine and a transfer payment processing program.

【図11】本発明の一実施形態に係るトランザクション
処理システムにおいて、振替支払処理が失敗したときの
処理シーケンスを示す説明図。
FIG. 11 is an explanatory diagram showing a processing sequence when transfer payment processing has failed in the transaction processing system according to one embodiment of the present invention.

【図12】振替入金処理側マシンにおけるキューマネー
ジャと、振替入金処理プログラムとの間で行われる処理
動作を示す他の説明図。
FIG. 12 is another explanatory diagram showing a processing operation performed between a queue manager in the transfer payment processing machine and a transfer payment processing program.

【図13】振替入金処理側マシンにおいて行われるメッ
セージのリカバリ処理を示す説明図。
FIG. 13 is an explanatory diagram showing a message recovery process performed in the transfer payment processing machine.

【図14】振替入金処理側マシンにおいて行われるメッ
セージのリカバリ処理の別の態様を示す説明図。
FIG. 14 is an explanatory view showing another mode of the message recovery process performed in the transfer payment processing machine.

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

71 振替支払処理プログラム(プログラム) 72、82 トランザクションマネージャ(Trマネー
ジャ) 73、74、76、79 ディスク 75、85 キューマネージャ(Qマネージャ) 77、87 データベースマネージャ(DBマネージ
ャ) 78、88 データベース(DB) 81 振替入金処理プログラム(プログラム) 83、84、86、89 ディスク
71 Transfer payment processing program (program) 72, 82 Transaction manager (Tr manager) 73, 74, 76, 79 Disk 75, 85 Queue manager (Q manager) 77, 87 Database manager (DB manager) 78, 88 Database (DB) 81 Transfer payment processing program (program) 83, 84, 86, 89 Disk

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 19/00 G06F 15/30 360 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 19/00 G06F 15/30 360

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセスが連携して処理を行う環
境において、 前記複数のプロセスのうちの1つが、他のプロセスでの
処理業務に係るメッセージを生成した後、遅くとも前記
1つのプロセスで行うトランザクションの整合性を保証
するための処理が終了する前に、前記メッセージを他の
プロセスに転送するようにしたことを特徴とするトラン
ザクション処理システム。
In an environment in which a plurality of processes cooperate with each other, one of the plurality of processes generates a message related to a processing operation in another process, and then performs the message in the one process at the latest. A transaction processing system wherein the message is transferred to another process before a process for guaranteeing transaction consistency is completed.
【請求項2】 請求項1記載のトランザクション処理シ
ステムにおいて、 前記トランザクションの整合性を保証するための処理
が、2相コミット処理であることを特徴とするトランザ
クション処理システム。
2. The transaction processing system according to claim 1, wherein the process for ensuring the consistency of the transaction is a two-phase commit process.
【請求項3】 請求項2記載のトランザクション処理シ
ステムにおいて、 前記メッセージの転送が、前記1つのプロセスで2相コ
ミット処理を実行する前に行われるようにしたことを特
徴とするトランザクション処理システム。
3. The transaction processing system according to claim 2, wherein the transfer of the message is performed before the one process executes a two-phase commit process.
【請求項4】 請求項1記載のトランザクション処理シ
ステムにおいて、 前記メッセージが、前記1つのプロセス内のリソースの
1つであるキューにエンキューされてから前記他のプロ
セス内のリソースの1つであるキューに転送されること
を特徴とするトランザクション処理システム。
4. The transaction processing system according to claim 1, wherein the message is enqueued in a queue that is one of resources in the one process and then is a queue that is one of resources in the other process. A transaction processing system characterized by being transferred to a transaction processing system.
【請求項5】 請求項1乃至請求項4のいずれか1項記
載のトランザクション処理システムにおいて、 前記1つのプロセスが、そのキューにエンキューされた
メッセージに対し2相コミット処理中の2相目の処理で
あるコミット処理を行うのと並行して、所定の処理を行
った結果を前記他のプロセスのキューに転送することを
特徴とするトランザクション処理システム。
5. The transaction processing system according to claim 1, wherein said one process is in a second phase of a two-phase commit process for a message enqueued in the queue. A transaction processing system, wherein a result of performing a predetermined process is transferred to a queue of the other process in parallel with performing the commit process.
【請求項6】 請求項1乃至請求項5のいずれか1項記
載のトランザクション処理システムにおいて、 前記他のプロセスが、そのキューに対して前記1つのプ
ロセスのキューから前記メッセージが転送されると略同
時に、そのメッセージをデキュー可能なように、且つ、
そのメッセージを不揮発性記録媒体に書込むようにした
ことを特徴とするトランザクション処理システム。
6. The transaction processing system according to claim 1, wherein the other process is configured such that when the message is transferred from a queue of the one process to a queue of the other process. At the same time, so that the message can be dequeued, and
A transaction processing system wherein the message is written to a non-volatile recording medium.
【請求項7】 請求項1乃至請求項6のいずれか1項記
載のトランザクション処理システムにおいて、 前記他のプロセスが、そのキューへ転送された前記メッ
セージに対して2相コミット処理中の1相目の処理であ
るプリペア処理を行うのと略同時に、前記メッセージの
有効性の判定のために前記1つのプロセスから転送され
る前記1つのプロセスでの処理結果をチェックするよう
にしたことを特徴とするトランザクション処理システ
ム。
7. The transaction processing system according to claim 1, wherein the other process is in a first phase during a two-phase commit process for the message transferred to the queue. Substantially at the same time as performing the prepare process, the process result of the one process transferred from the one process is checked to determine the validity of the message. Transaction processing system.
【請求項8】 請求項7記載のトランザクション処理シ
ステムにおいて、 前記他のプロセスが、前記1つのプロセスでの処理結果
が成功であるとき、前記メッセージを有効と判定して前
記メッセージに対する前記プリペア処理を続行すること
を特徴とするトランザクション処理システム。
8. The transaction processing system according to claim 7, wherein the other process determines that the message is valid when the processing result of the one process is successful, and performs the prepare process on the message. A transaction processing system characterized by continuing.
【請求項9】 請求項7記載のトランザクション処理シ
ステムにおいて、 前記他のプロセスが、前記1つのプロセスでの処理結果
が失敗であるとき、前記メッセージを無効と判定して前
記メッセージに対する前記プリペア処理を中止すること
を特徴とするトランザクション処理システム。
9. The transaction processing system according to claim 7, wherein the other process determines that the message is invalid when the processing result of the one process is unsuccessful, and performs the prepare process on the message. A transaction processing system characterized by canceling.
【請求項10】 複数のプロセスが連携して処理を行う
環境において、 前記複数のプロセスのうちの1つが、他のプロセスでの
処理業務に係るメッセージを生成した後、遅くとも前記
1つのプロセスで行うトランザクションの整合性を保証
するための処理が終了する前に、前記メッセージを他の
プロセスに転送するようにしたことを特徴とするトラン
ザクション処理システムにおける前記各プロセスとして
コンピュータを動作させるためのコンピュータプログラ
ムを担持したコンピュータ読取可能なプログラム媒体。
10. In an environment in which a plurality of processes cooperate to perform processing, one of the plurality of processes generates a message relating to a processing job in another process, and then performs the message in the one process at the latest. A computer program for operating a computer as each of the processes in the transaction processing system, characterized in that the message is transferred to another process before the process for guaranteeing transaction consistency is completed. A computer readable program medium carried.
JP21101898A 1998-07-27 1998-07-27 Transaction processing system Pending JP2000047986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21101898A JP2000047986A (en) 1998-07-27 1998-07-27 Transaction processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21101898A JP2000047986A (en) 1998-07-27 1998-07-27 Transaction processing system

Publications (1)

Publication Number Publication Date
JP2000047986A true JP2000047986A (en) 2000-02-18

Family

ID=16598996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21101898A Pending JP2000047986A (en) 1998-07-27 1998-07-27 Transaction processing system

Country Status (1)

Country Link
JP (1) JP2000047986A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171401B2 (en) 2001-03-30 2007-01-30 International Business Machines Corporation Data processing system and method having high availability
JPWO2006057061A1 (en) * 2004-11-29 2008-06-05 富士通株式会社 Distributed transaction processing method, apparatus, and program
JPWO2016157359A1 (en) * 2015-03-30 2018-01-18 株式会社野村総合研究所 Account data management system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171401B2 (en) 2001-03-30 2007-01-30 International Business Machines Corporation Data processing system and method having high availability
JPWO2006057061A1 (en) * 2004-11-29 2008-06-05 富士通株式会社 Distributed transaction processing method, apparatus, and program
US7836338B2 (en) 2004-11-29 2010-11-16 Fujitsu Limited Distributed transaction processing method, distributed transaction processing system, transaction management device, and computer product
JPWO2016157359A1 (en) * 2015-03-30 2018-01-18 株式会社野村総合研究所 Account data management system

Similar Documents

Publication Publication Date Title
FI101432B (en) Fault-tolerant computer system
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
JP2691081B2 (en) Computer network
JP2691080B2 (en) Computer device having sync point recovery means
JP3268534B2 (en) Computer system for managing syncpoints of protected resources
JP5241722B2 (en) Data processing system and method for request processing
US7865763B2 (en) Data replication method
EP1533701A1 (en) System and method for failover
JPH0831043B2 (en) Device and method for asynchronous resynchronization of commit procedure
JPH04229334A (en) Computer network
JPH04229335A (en) Optimizing method for commiting procesure
JPH087690B2 (en) Apparatus and method for processing error code and error description information in commit procedure
JPH0793271A (en) Computer system for adjustment of comit range so as to match work unit
EP0834122B1 (en) Synchronisation procedure in a routing node
US6330686B1 (en) Handling protected conversation messages across IMS restart in shared queues environment
KR20050035301A (en) A data processing system adapted to integrating non-homogeneous processes
WO2008058898A1 (en) Throttling an asynchronous remote copying system
US20040236990A1 (en) Transaction branch management to ensure maximum branch completion in the face of failure
JP2000047986A (en) Transaction processing system
US7240043B2 (en) Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same
CN113342511A (en) Distributed task management system and method
US6539434B1 (en) UOWE's retry process in shared queues environment
JP3006491B2 (en) Transaction execution state management system, management method, and medium for storing management program
KR19980049353A (en) How to recover distributed transactions
JP3494788B2 (en) Program execution management system and program execution management method

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20040903