JP2002099510A - Plural transactions processing system - Google Patents

Plural transactions processing system

Info

Publication number
JP2002099510A
JP2002099510A JP2000295444A JP2000295444A JP2002099510A JP 2002099510 A JP2002099510 A JP 2002099510A JP 2000295444 A JP2000295444 A JP 2000295444A JP 2000295444 A JP2000295444 A JP 2000295444A JP 2002099510 A JP2002099510 A JP 2002099510A
Authority
JP
Japan
Prior art keywords
transaction
processing
workflow
failure
program
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
JP2000295444A
Other languages
Japanese (ja)
Inventor
Yutaka Nakamura
豊 中村
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 JP2000295444A priority Critical patent/JP2002099510A/en
Publication of JP2002099510A publication Critical patent/JP2002099510A/en
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique that can perform recovery processing depending on the content of a transaction and the content of a fault when a fault has occurred in a workflow processing system that executes a series of transactions complying with a workflow. SOLUTION: This system sets a fault dealing method for the content of a fault for every transaction. If a fault has occurred during execution of the workflow, this system executes a fault recovery processing complying with the fault dealing method set depending on the fault event. The fault dealing method includes a rerun of the transaction that becomes faulty due to a temporary fault, a temporary stop in a status where the last executed transaction is completed, if a series of transactions that proceed to a fault occurrence time due to a permanent fault can not be cancelled, and an execution of compensation processing of each transaction, if the cancellation is possible.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ワークフローに従
って一連のトランザクション処理を実行する複数トラン
ザクション処理システムに関し、トランザクション実行
中に障害が発生した場合に回復処理を行う複数トランザ
クション処理システムに適用して有効な障害回復方法に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multi-transaction processing system for executing a series of transaction processes in accordance with a workflow, and is effective when applied to a multi-transaction processing system for performing a recovery process when a failure occurs during the execution of a transaction. It relates to a failure recovery method.

【0002】[0002]

【従来の技術】ホテルと航空券の予約が必要な旅行予約
システムや、複数の銀行の口座間で送金をする様なシス
テムにおいては、チャネルからの要求に対して複数のサ
ーバにアクセスしてトランザクション処理を行う必要が
ある。
2. Description of the Related Art In a travel reservation system that requires reservation of a hotel and an airline ticket, or a system in which money is transferred between a plurality of bank accounts, a plurality of servers are accessed in response to a request from a channel and transactions are performed. Processing needs to be performed.

【0003】一連の処理を一つのトランザクションで実
行しようとすると、各サーバにおいてトランザクション
が終了するまでの期間、該当するデータをロックしてお
く必要がある。この為、他の処理が長時間待たされ、性
能上問題となる場合がある。そこで一連の処理を各サー
バへのアクセス毎のトランザクションに分割し、複数の
トランザクションから成るワークフローとして実行する
ことが一般的に行われる。
In order to execute a series of processes in one transaction, it is necessary to lock the corresponding data in each server until the transaction is completed. For this reason, other processes are kept waiting for a long time, which may cause performance problems. Therefore, it is common practice to divide a series of processes into transactions for each access to each server, and execute them as a workflow including a plurality of transactions.

【0004】この様なシステムにおいては、ワークフロ
ーの実行中に障害が発生した場合、障害発生時点までに
行った一連のトランザクション処理を取消す等の回復処
理が必要である。この為従来は各トランザクションにお
いて行った処理の内容を履歴としてキューに登録し、障
害発生時にはこのキューの後尾から一つずつ順に履歴情
報を取出して各トランザクションに対する補償処理を行
っていた。この様なシステムは、例えば「トランザクシ
ョン処理システム入門」(フィリップ・A・バーンスタ
イン、エリック・ニューカマー著、日経BP社、111
頁)で紹介されている。
In such a system, when a failure occurs during the execution of a workflow, it is necessary to perform a recovery process such as canceling a series of transaction processes performed up to the time when the failure occurred. For this reason, conventionally, the contents of the processing performed in each transaction are registered in a queue as a history, and when a failure occurs, history information is sequentially extracted one by one from the tail of the queue to perform compensation processing for each transaction. Such a system is described, for example, in "Introduction to Transaction Processing Systems" (by Philip A. Bernstein and Eric Newcomer, Nikkei BP, 111
Page).

【0005】また、補償処理によってトランザクション
が取消されるまでの間に別のトランザクションが同じサ
ーバに対して処理を行った場合、そのトランザクション
は取消されるべきトランザクションの結果に影響を受け
ることになる。従って、回復処理に要する時間はできる
だけ短いほうが望ましい。
If another transaction processes the same server before the transaction is canceled by the compensation processing, the transaction is affected by the result of the transaction to be canceled. Therefore, it is desirable that the time required for the recovery process be as short as possible.

【0006】このため、特開2000−163372に
記載のように、障害回復を行う為の回復処理フローをト
ランザクション実行時に登録し、トランザクション実行
中に障害が発生した場合に、前記登録した回復処理フロ
ーに従って一連の補償処理を並列に実行することで、ト
ランザクション実行中に分岐処理により並列に実行され
た部分は補償処理でも並列に実行され、回復処理の効率
を向上させていた。
For this reason, as described in JP-A-2000-163372, a recovery processing flow for performing failure recovery is registered at the time of executing a transaction, and when a failure occurs during the execution of the transaction, the registered recovery processing flow is registered. , A portion executed in parallel by the branching process during execution of the transaction is also executed in parallel by the compensation process, thereby improving the efficiency of the recovery process.

【0007】[0007]

【発明が解決しようとする課題】前記従来の方式におい
て、トランザクションの内容および障害の内容によって
は単に補償処理を実行することが有効でない場合があ
る。例えば、複数の銀行のシステムから送金を行うトラ
ンザクションにおいて、送金元のシステムAで送金元の
口座からお金を引き出すトランザクションと、送金先の
システムBで送金先の口座に入金するトランザクション
を実行する場合を考える。従来の方式では、入金するト
ランザクションが障害となったときは、引き出すトラン
ザクションの補償処理としてシステムAに「入金」する
トランザクションを実行することで回復処理できる。
In the above-mentioned conventional system, it may not be effective to simply execute the compensation processing depending on the contents of the transaction and the contents of the failure. For example, in a transaction for remittance from a plurality of bank systems, a transaction for withdrawing money from a remittance source account in a remittance source system A and a transaction for depositing money in a remittance destination account in a remittance destination system B are executed. Think. In the conventional method, when a transaction to be paid out becomes a failure, a recovery process can be performed by executing a transaction to “pay-in” the system A as a compensation process for a transaction to be withdrawn.

【0008】しかし、送金元のシステムAに対し口座を
調べる監査を行う別のトランザクションを実行した場
合、そのトランザクションの結果が上記補償処理の実行
前後で異なってしまう。この場合には、システムAから
引き出すトランザクションを実行した時点で一度実行を
停止させ、障害要因を取り除いた後、システムBへ入金
するトランザクションから再開させた方がよいと考えら
れる。
[0008] However, when another transaction for checking the account of the remittance source system A is executed, the result of the transaction differs before and after the execution of the compensation processing. In this case, it is considered better to stop the execution once when the transaction drawn from the system A is executed, remove the cause of the failure, and then restart the transaction to be paid into the system B.

【0009】また、障害の要因が送金先のシステムBの
輻輳によるものであれば、時間をおいてシステムBから
入金するトランザクションを再実行すれば一連の送金処
理が正常に終了させた方がよいと考えられる。
If the cause of the failure is due to the congestion of the remittance destination system B, it is better to end the series of remittance processing normally by re-executing the transaction received from the system B after a while. it is conceivable that.

【0010】以上のように、障害発生時に単に補償処理
を実行するよりも、トランザクションの内容や障害内容
によって異なる回復処理を実行することにより、より信
頼性の高いトランザクション処理システムを構築でき
る。
As described above, a more reliable transaction processing system can be constructed by executing different recovery processing depending on the contents of a transaction and the contents of a failure, rather than simply executing compensation processing when a failure occurs.

【0011】本発明の目的は上記課題を解決するため、
ワークフロー実行中の障害発生時、障害となったトラン
ザクションの内容および障害の内容に応じて回復処理を
行うことが可能な技術を提供することにある。
An object of the present invention is to solve the above-mentioned problems.
An object of the present invention is to provide a technology capable of performing a recovery process according to the content of a failed transaction and the content of the failure when a failure occurs during the execution of a workflow.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するため
に、トランザクション毎に障害の内容に対する障害対応
方法を設定する。ワークフローの実行中に障害が発生し
た場合、障害内容から設定された障害対応方法に応じた
障害回復処理を行う。障害対応方法としては、一時的な
障害に対する障害となったトランザクションの再実行、
障害発生時点までに行った一連のトランザクション処理
を取消すことが有効でない場合には、最後に実行したト
ランザクションを完了した状態での一時停止、取消すこ
とが有効な場合には、各トランザクションの補償処理の
実行がある。
In order to achieve the above object, a failure handling method for the content of a failure is set for each transaction. If a failure occurs during the execution of the workflow, failure recovery processing is performed according to the failure handling method set based on the failure content. Failure response methods include re-executing failed transactions for temporary failures,
If it is not effective to cancel a series of transaction processing performed up to the time of the failure, it is necessary to suspend the last executed transaction in a completed state. There is execution.

【0013】以上のように本発明のトランザクション処
理システムによれば、ワークフロー中のトランザクショ
ン毎に障害内容に対する障害対応方法を設定できるの
で、ワークフローの実行中に障害が発生した場合でも最
適な障害回復を行うことが可能であり、より信頼性の高
いトランザクション処理システムを構築できる。
As described above, according to the transaction processing system of the present invention, it is possible to set a failure handling method for the content of a failure for each transaction in a workflow, so that even if a failure occurs during execution of the workflow, optimal failure recovery can be performed. And a more reliable transaction processing system can be constructed.

【0014】[0014]

【発明の実施の形態】図1は、本発明を適用するトラン
ザクション処理システムの一例を示すソフトウェア構成
を示す図である。
FIG. 1 is a diagram showing a software configuration showing an example of a transaction processing system to which the present invention is applied.

【0015】図2は本実施形態のトランザクション処理
システムのハードウェア構成を示す図である。本実施形
態のシステムは、ワークフロー制御システム201と、
このシステムにネットワーク214〜217で接続され
たチャネル209及びサーバ210〜212とで構成さ
れる。
FIG. 2 is a diagram showing a hardware configuration of the transaction processing system of the present embodiment. The system of the present embodiment includes a workflow control system 201,
The system includes a channel 209 and servers 210 to 212 connected to networks 214 to 217.

【0016】ワークフロー制御システム201は、チャ
ネル209からの要求メッセージを解釈し、サーバ21
0〜212に対してトランザクションを要求しながら、
チャネル209からの要求を満たす為の処理を行うシス
テムである。チャネル209は、ユーザからの要求に従
ってワークフロー制御システム201に要求メッセージ
を送信するシステムである。サーバ210〜212は、
ワークフロー制御システム201からの要求に従ってト
ランザクションを実行するシステムである。ここでは、
サーバ210〜212がそれぞれ別のサービスを提供し
ていると仮定する。本実施形態では、チャネルが1つと
サーバが3つ接続された構成を示しているが、より多く
のチャネル及びサーバを接続した構成としても良い。
The workflow control system 201 interprets the request message from the channel 209 and
While requesting a transaction from 0 to 212,
This is a system that performs processing for satisfying a request from the channel 209. The channel 209 is a system that transmits a request message to the workflow control system 201 according to a request from a user. The servers 210 to 212
This is a system that executes a transaction according to a request from the workflow control system 201. here,
It is assumed that each of the servers 210 to 212 is providing a different service. In the present embodiment, a configuration in which one channel and three servers are connected is shown, but a configuration in which more channels and servers are connected may be adopted.

【0017】ワークフロー制御システム201は、CP
U202、メモリ203、ハードディスク装置204、
ネットワーク・インタフェース・コントローラ205〜
208、入出力装置213で構成される。ハードディス
ク装置204には、ワークフローに従って処理を行う為
のソフトウェア群が保存されており、これらのソフトウ
ェアはメモリ203にロードされてCPU202により
実行される。ネットワーク・インタフェース・コントロ
ーラ205〜208は、ネットワーク214〜217に
対するインタフェースを制御し、チャネル209及びサ
ーバ210〜212と接続する。
The workflow control system 201 includes a CP
U202, memory 203, hard disk drive 204,
Network interface controller 205-
208 and an input / output device 213. The hard disk device 204 stores a group of software for performing processing in accordance with the workflow. The software is loaded into the memory 203 and executed by the CPU 202. Network interface controllers 205 to 208 control interfaces to networks 214 to 217 and connect to channels 209 and servers 210 to 212.

【0018】次に本実施形態のワークフロー制御システ
ム201のソフトウェア構成について図1を用いて説明
する。ワークフロー制御システム201は、トランザク
ション制御プログラム101と、トレーダ107と、ア
ダプタ103〜106と、通番管理プログラム108
と、ワークフロー実行プログラム102と、ワークフロ
ー登録プログラム109とで構成される。
Next, the software configuration of the workflow control system 201 of the present embodiment will be described with reference to FIG. The workflow control system 201 includes a transaction control program 101, a trader 107, adapters 103 to 106, a serial number management program 108
, A workflow execution program 102, and a workflow registration program 109.

【0019】トランザクション制御プログラム101
は、各コンポーネント間の要求メッセージと応答メッセ
ージの送受信を可能にする機構を提供する。ワークフロ
ー制御システム201内の各コンポーネントは、トラン
ザクション制御プログラム101を使用して他のコンポ
ーネントとの間で通信を行う。
Transaction control program 101
Provides a mechanism that allows transmission and reception of request and response messages between components. Each component in the workflow control system 201 uses the transaction control program 101 to communicate with other components.

【0020】トレーダ107は、各コンポーネントのサ
ービス内容からオブジェクトを検索する為の仕組みを提
供する。アダプタ103〜106、ワークフロー実行プ
ログラム102は、自分の提供するサービス内容をトレ
ーダ107に登録する。また、メッセージ送信時にはト
レーダ107によりサービスを検索して送信先のオブジ
ェクト・リファレンスを受け取る。オブジェクト・リフ
ァレンスは、対象になるオブジェクトを一意に識別する
為の情報を含んだデータである。各オブジェクトは、オ
ブジェクト・リファレンスを使用して対象となるオブジ
ェクトへメッセージの送信をトランザクション制御プロ
グラムに要求する。
The trader 107 provides a mechanism for searching for an object from the service content of each component. The adapters 103 to 106 and the workflow execution program 102 register the service contents provided by themselves in the trader 107. When transmitting a message, the trader 107 searches for a service and receives a destination object reference. The object reference is data including information for uniquely identifying a target object. Each object requests the transaction control program to send a message to the target object using the object reference.

【0021】アダプタ103〜106は、チャネル20
9及びサーバ210〜212と、ワークフロー実行プロ
グラム102との間でのメッセージの転送を行うコンポ
ーネントである。アダプタ103〜106は、それぞれ
異なるプロトコルでチャネル209やサーバ210〜2
12と接続されており、ネットワーク215〜218を
介してチャネル209やサーバ210〜212と接続す
る為のプロトコルの制御及びメッセージフォーマットの
変換を行う。
The adapters 103 to 106 are connected to the channel 20
9 is a component that transfers messages between the workflow execution program 102 and the servers 210 to 212 and the workflow execution program 102. The adapters 103 to 106 communicate with the channels 209 and the servers 210 to 2 using different protocols.
12 and controls a protocol for connecting to the channel 209 and the servers 210 to 212 via the networks 215 to 218 and converts a message format.

【0022】通番管理プログラム108は、ワークフロ
ー制御システム201内で転送されるメッセージに固有
の番号を与える為のコンポーネントである。通番管理プ
ログラム108では、シーケンシャルに番号を管理して
おり、各コンポーネントからの要求を受けてワークフロ
ー制御システム201内で一意な番号を返す。各コンポ
ーネントは、通番管理プログラム108から受け取った
通番でメッセージに番号を付ける。
The serial number management program 108 is a component for giving a unique number to a message transferred in the workflow control system 201. The serial number management program 108 sequentially manages numbers, and returns a unique number within the workflow control system 201 in response to a request from each component. Each component numbers the message with the serial number received from the serial number management program 108.

【0023】ワークフロー実行プログラム102は、チ
ャネル209から要求メッセージを受信し、ワークフロ
ーに従ってサーバ210〜212にトランザクションの
処理を依頼してチャネル209からの要求を処理するコ
ンポーネントである。
The workflow execution program 102 is a component that receives a request message from the channel 209, requests the servers 210 to 212 to process transactions according to the workflow, and processes the request from the channel 209.

【0024】ワークフロー実行プログラム102は、要
求内容や処理の中間データを保存する為の業務DB11
0と、ワークフローに従ってトランザクションを起動す
るワークフロー制御プログラム111と、ワークフロー
を保存する為のワークフロー管理DB118と、ワーク
フロー制御プログラム111から起動され、サーバ21
0〜212に対して処理を要求するトランザクション処
理プログラム112〜114と、ワークフロー制御プロ
グラム111から起動され、チャネル209へ応答メッ
セージを送信する応答処理プログラム115と、ワーク
フローの実行中に障害が発生した場合に回復処理を行う
回復処理プログラム116と、各トランザクションの実
行履歴を保存するための履歴情報保存キュー117と、
障害発生時の回復方法を示す障害対応表120とで構成
される。
The work flow execution program 102 is a business DB 11 for storing request contents and intermediate data of processing.
0, a workflow control program 111 for starting a transaction in accordance with the workflow, a workflow management DB 118 for storing the workflow, and the server 21
Transaction processing programs 112 to 114 for requesting processing to the process 0 to 212, a response processing program 115 started by the workflow control program 111 and transmitting a response message to the channel 209, and when a failure occurs during the execution of the workflow A recovery processing program 116 for performing recovery processing, a history information storage queue 117 for storing the execution history of each transaction,
And a failure correspondence table 120 indicating a recovery method when a failure occurs.

【0025】図3は本実施形態のトランザクション処理
プログラム112〜114及び応答処理プログラム11
5の概略構成を示す図である。図3のトランザクション
処理プログラム301に示す様にトランザクション処理
プログラム112〜114及び応答処理プログラム11
5は、サーバ210〜212に対してトランザクション
を要求する為の正常処理部302と、正常に実行された
トランザクションを取消す為の補償処理部303とで構
成される。
FIG. 3 shows the transaction processing programs 112 to 114 and the response processing program 11 of this embodiment.
FIG. 5 is a diagram showing a schematic configuration of No. 5; As shown in the transaction processing program 301 of FIG. 3, the transaction processing programs 112 to 114 and the response processing program 11
5 includes a normal processing unit 302 for requesting a transaction to the servers 210 to 212, and a compensation processing unit 303 for canceling a normally executed transaction.

【0026】正常処理部302は、実行したトランザク
ションの内容を示す履歴情報をトランザクションの実行
時に登録する処理部である。補償処理部303は、トラ
ンザクション実行中に障害が発生した場合に前記履歴情
報を取出し、前記履歴情報中に登録されたトランザクシ
ョンの内容毎に補償トランザクションを実行する処理部
である。図3で示すとおり、それぞれ各トランザクショ
ンに対応したトランザクション処理と補償トランザクシ
ョン処理をあらかじめ定義しておく。
The normal processing section 302 is a processing section for registering history information indicating the content of the executed transaction at the time of executing the transaction. The compensation processing unit 303 is a processing unit that retrieves the history information when a failure occurs during the execution of the transaction, and executes a compensation transaction for each transaction registered in the history information. As shown in FIG. 3, a transaction process and a compensation transaction process corresponding to each transaction are defined in advance.

【0027】ワークフロー管理DB118及び業務DB
110は、ハードディスク装置204に保存される。ワ
ークフロー管理DB118には、正常時のワークフロー
を記述した正常処理フロー119が保存される。業務D
B110には図4に示す様な業務DBテーブルが保存さ
れる。
Workflow management DB 118 and business DB
110 is stored in the hard disk device 204. The workflow management DB 118 stores a normal processing flow 119 describing a normal workflow. Business D
A business DB table as shown in FIG. 4 is stored in B110.

【0028】図4は本実施形態の業務DBテーブルの一
例を示す図である。業務DB110内には、図4の様な
業務DBテーブル400が保存される。業務DBテーブ
ル400は、要求通番401と、要求内容402と、正
常処理フローID403と、キューID404を保存す
る為の列を含んでいる。キューID404は、履歴情報
保存キュー117を識別する為のIDである。
FIG. 4 is a diagram showing an example of the business DB table according to the present embodiment. The business DB 110 stores a business DB table 400 as shown in FIG. The business DB table 400 includes columns for storing a request serial number 401, a request content 402, a normal processing flow ID 403, and a queue ID 404. The queue ID 404 is an ID for identifying the history information storage queue 117.

【0029】ワークフロー登録処理プログラム109
は、ワークフロー管理DB118にワークフローを登録
する為のプログラムである。ワークフロー制御システム
201の運用者は、予め入力装置213から正常処理フ
ロー119を登録する。ワークフロー登録処理プログラ
ム109は、ワークフローを登録する為のコマンドやG
UIを提供し、入力されたワークフローをワークフロー
管理DB118の正常処理フロー119に登録する。ワ
ークフローの登録時に運用者は、ワークフローを一意に
識別する為の正常処理フローID403を付ける。この
IDによりワークフロー制御プログラム111は、正常
処理フロー119に登録された複数のワークフローを管
理することができる。また、ワークフロー制御プログラ
ム111は、登録するワークフローを自分の提供するサ
ービスとしてトレーダ107に登録する。この様にして
定義された正常処理フロー119の例を図5に示す。
Workflow registration processing program 109
Is a program for registering a workflow in the workflow management DB 118. The operator of the workflow control system 201 registers the normal processing flow 119 from the input device 213 in advance. The workflow registration processing program 109 includes a command for registering a workflow and G
The UI is provided, and the input workflow is registered in the normal processing flow 119 of the workflow management DB 118. When registering a workflow, the operator attaches a normal processing flow ID 403 for uniquely identifying the workflow. With this ID, the workflow control program 111 can manage a plurality of workflows registered in the normal processing flow 119. Further, the workflow control program 111 registers the registered workflow in the trader 107 as a service provided by itself. FIG. 5 shows an example of the normal processing flow 119 defined in this way.

【0030】図13はトレーダ107が管理するルーテ
ィング情報121の一例を示す図である。トレーダ10
7はこれを元にサービスの登録と検索を行う。ルーティ
ング情報121は、サービス1301とサービスID1
302とオブジェクト・リファレンス1303より構成
される。本実施形態では、サービスID1302の内容
は、アダプタの場合はアダプタが接続するサーバを識別
する為の送信先IDであり、ワークフロー実行プログラ
ムの場合は正常処理フローを識別する為の正常処理フロ
ーIDである。
FIG. 13 is a diagram showing an example of the routing information 121 managed by the trader 107. Trader 10
7 performs service registration and search based on this. The routing information 121 includes the service 1301 and the service ID 1
302 and an object reference 1303. In the present embodiment, the content of the service ID 1302 is a transmission destination ID for identifying a server to which the adapter is connected in the case of an adapter, and a normal processing flow ID for identifying a normal processing flow in the case of a workflow execution program. is there.

【0031】図5は本実施形態の正常処理フロー119
の一例を示す図である。ワークフロー中のトランザクシ
ョンを記述したノード501,505,506及び51
2には、対応するトランザクションを実行する為のプロ
グラムを定義する。
FIG. 5 shows a normal processing flow 119 of this embodiment.
It is a figure showing an example of. Nodes 501, 505, 506, and 51 describing a transaction in a workflow
In 2, a program for executing the corresponding transaction is defined.

【0032】本実施形態では、各トランザクションに対
応してトランザクション処理プログラム301を用意
し、その正常処理部302を各ノードで起動するオブジ
ェクトとして定義する。
In the present embodiment, a transaction processing program 301 is prepared for each transaction, and its normal processing section 302 is defined as an object to be activated on each node.

【0033】以下では、チャネル209から要求メッセ
ージを受信し、図5に示したワークフローに従って処理
を行う場合の動作について説明する。アダプタ103
は、チャネル209から要求メッセージを受信し、通番
管理プログラム108により要求メッセージに対する通
番を取得し、メッセージに付加する。次にトレーダ10
7により、要求メッセージの内容を元に要求サービスか
らワークフロー制御プログラム111のオブジェクト・
リファレンスを取得し、そのオブジェクト・リファレン
スを使用してワークフロー制御プログラム111へ要求
メッセージを送信する。
The operation in the case where a request message is received from the channel 209 and processing is performed according to the workflow shown in FIG. 5 will be described below. Adapter 103
Receives the request message from the channel 209, acquires the serial number for the request message by the serial number management program 108, and adds it to the message. Next, Trader 10
7, the object of the workflow control program 111 is transmitted from the request service based on the contents of the request message.
The reference is acquired, and a request message is transmitted to the workflow control program 111 using the object reference.

【0034】ワークフロー制御プログラム111は、ア
ダプタ103から要求メッセージを受信し、業務DBテ
ーブル400に要求通番401及び要求内容402を登
録する。そして、要求サービスに対応する正常処理フロ
ー119を識別する為の正常処理フローID403を登
録する。また履歴情報保存キュー117を識別する為の
キューID404を生成して登録する。
The workflow control program 111 receives the request message from the adapter 103 and registers a request serial number 401 and a request content 402 in the business DB table 400. Then, a normal processing flow ID 403 for identifying the normal processing flow 119 corresponding to the requested service is registered. Further, a queue ID 404 for identifying the history information storage queue 117 is generated and registered.

【0035】さらにワークフロー制御プログラム111
は、要求されたワークフローをワークフロー管理DB1
18から読み出し、図5の様な正常処理フロー119に
記述された内容に従って処理を進める。ワークフロー制
御プログラム111は、ワークフロー中に記述された順
にトランザクションを実行し、判定を行い、分岐、待合
せ処理を行う。ワークフロー中のトランザクションノー
ドには、そのトランザクションで起動すべき正常処理部
302が定義されており、ワークフロー制御プログラム
111は、定義されている正常処理部302をトランザ
クションの実行時に起動する。
Further, the workflow control program 111
Stores the requested workflow in the workflow management DB 1
18 and proceed according to the contents described in the normal processing flow 119 as shown in FIG. The workflow control program 111 executes transactions in the order described in the workflow, makes a determination, and performs branching and queuing processing. A normal processing unit 302 to be started in the transaction is defined in a transaction node in the workflow, and the workflow control program 111 starts the defined normal processing unit 302 when executing the transaction.

【0036】図5の正常処理フロー119に従って、ワ
ークフロー制御プログラム111は、ワークフローの実
行を開始し、トランザクション1を実行する為にトラン
ザクション1処理プログラム112の正常処理部302
を起動する(ノード501)。
According to the normal processing flow 119 shown in FIG. 5, the workflow control program 111 starts the execution of the workflow, and executes the transaction 1 to execute the transaction 1.
Is started (node 501).

【0037】図6は本実施形態のトランザクション処理
プログラム112〜114の正常処理部302の処理手
順を示すフローチャートである。正常処理部302は図
6の手順に従って処理を行う。ここで図6を用いて正常
処理部302の処理手順について説明する。
FIG. 6 is a flowchart showing the processing procedure of the normal processing unit 302 of the transaction processing programs 112 to 114 according to this embodiment. The normal processing unit 302 performs processing according to the procedure of FIG. Here, the processing procedure of the normal processing unit 302 will be described with reference to FIG.

【0038】ワークフロー制御プログラム111は、入
力として要求通番401を正常処理部302へ渡す。正
常処理部302は、業務DBテーブル400の要求通番
401に該当する行の内容を読み出し、要求された処理
に必要なサービスへの要求メッセージを作成する。そし
て、必要なサービスを提供するサーバに接続しているア
ダプタのオブジェクト・リファレンスをトレーダ107
により取得して、要求メッセージを送信する(ステップ
601)。
The workflow control program 111 passes the request serial number 401 to the normal processing unit 302 as an input. The normal processing unit 302 reads the contents of the row corresponding to the request serial number 401 of the business DB table 400, and creates a request message for a service required for the requested processing. Then, the object reference of the adapter connected to the server providing the required service is stored in the trader 107.
And a request message is transmitted (step 601).

【0039】アダプタ104は、要求メッセージを受信
すると、ネットワーク216を介してサーバ210にそ
のメッセージを送信する。サーバ210は、要求メッセ
ージを受信し、要求された処理を行った後、サーバ21
0で付けた処理番号と処理結果のデータを含む応答メッ
セージをアダプタ104に送信する。アダプタ104
は、サーバ210からの応答メッセージを受信し、トラ
ンザクション1処理プログラム112の正常処理部30
2に送信する。サーバ210の応答が無いまたは障害に
よるエラー応答を受信した場合など障害を検出した場合
は、その障害内容と共にトランザクション1処理プログ
ラム112の正常処理部302にエラー応答する。
Upon receiving the request message, the adapter 104 transmits the message to the server 210 via the network 216. After receiving the request message and performing the requested processing, the server 210
A response message including the processing number assigned to “0” and the data of the processing result is transmitted to the adapter 104. Adapter 104
Receives the response message from the server 210, and executes the normal processing unit 30 of the transaction 1 processing program 112.
Send to 2. When a failure is detected, such as when there is no response from the server 210 or when an error response due to the failure is received, an error response is sent to the normal processing unit 302 of the transaction 1 processing program 112 together with the details of the failure.

【0040】正常処理部302は、アダプタ104から
応答メッセージを受信する(ステップ602)。
The normal processing section 302 receives a response message from the adapter 104 (step 602).

【0041】次に正常処理部302は、要求メッセージ
に対する処理が正常に終了したかどうかを判定する(ス
テップ603)。正常に終了している場合に正常処理部
302は、トランザクションに関する履歴情報を履歴情
報保存キュー117に登録する(ステップ604)。
Next, the normal processing section 302 determines whether the processing for the request message has been completed normally (step 603). If the processing has been completed normally, the normal processing unit 302 registers history information on the transaction in the history information storage queue 117 (step 604).

【0042】最後に正常処理部302は、正常終了をワ
ークフロー制御プログラム111に報告して(ステップ
605)、処理を終了する。
Finally, the normal processing section 302 reports the normal end to the workflow control program 111 (step 605), and ends the processing.

【0043】ステップ603で判定した結果、サーバ2
10に対する要求が正常に終了していなかった場合、正
常処理部302は、異常終了をワークフロー制御プログ
ラム111に報告して処理を終了する(ステップ60
6)。
As a result of the determination in step 603, the server 2
If the request for the job 10 has not been completed normally, the normal processing unit 302 reports the abnormal end to the workflow control program 111 and ends the process (step 60).
6).

【0044】ここで図5の正常処理フロー119に戻っ
て説明を続ける。トランザクション1(ノード501)
の処理が上で説明した様に終了すると、ワークフロー制
御プログラム111は、トランザクション処理プログラ
ム301からの終了報告を判定し、正常終了の場合には
分岐処理を行う(ノード503)。トランザクション処
理プログラム301が異常終了している場合には回復処
理を実行する。回復処理については後で説明する。
Here, returning to the normal processing flow 119 of FIG. 5, the description will be continued. Transaction 1 (node 501)
Is completed as described above, the workflow control program 111 determines an end report from the transaction processing program 301, and performs a branching process if the processing is completed normally (node 503). If the transaction processing program 301 has terminated abnormally, recovery processing is executed. The recovery process will be described later.

【0045】ワークフロー制御プログラム111は、ト
ランザクション2(ノード505)においてトランザク
ション2処理プログラム113を起動し、トランザクシ
ョン3(ノード506)においてトランザクション3処
理プログラム114を起動する。両トランザクション処
理プログラムは図6と同様の手順で処理を行う。トラン
ザクション2処理プログラム113は、サーバ211が
提供するサービスをアダプタ105経由で要求し、トラ
ンザクション3処理プログラム114は、サーバ212
が提供するサービスをアダプタ106経由で要求する。
The workflow control program 111 activates the transaction 2 processing program 113 in transaction 2 (node 505) and activates the transaction 3 processing program 114 in transaction 3 (node 506). Both transaction processing programs perform processing in the same procedure as in FIG. The transaction 2 processing program 113 requests the service provided by the server 211 via the adapter 105, and the transaction 3 processing program 114
Is requested via the adapter 106.

【0046】各トランザクションが正常に終了場合、ト
ランザクション1(ノード501)のときと同じ様にト
ランザクションに関する履歴情報が履歴情報保存キュー
117中に保存される。
When each transaction ends normally, the history information relating to the transaction is stored in the history information storage queue 117 in the same manner as in transaction 1 (node 501).

【0047】図5で両トランザクションの処理が終了す
ると、ワークフロー制御プログラム111はそれぞれの
トランザクションに関して判定を行う。判定の結果、ト
ランザクションが正常終了している場合には、待合せを
行う(ノード509)。待合せ処理において、ワークフ
ロー制御プログラム111は、二つの判定処理の両方が
正常に終了したことを検出すると、次のトランザクショ
ンを処理する(ノード512)。トランザクション2ま
たはトランザクション3が異常終了した場合について
は、後で説明する。
When the processing of both transactions is completed in FIG. 5, the workflow control program 111 makes a judgment on each transaction. If the result of the determination is that the transaction has ended normally, a wait is performed (node 509). In the waiting process, when the workflow control program 111 detects that both of the two determination processes have been completed normally, it processes the next transaction (node 512). The case where the transaction 2 or the transaction 3 ends abnormally will be described later.

【0048】トランザクション4(ノード512)に
は、チャネル209への応答処理が定義されている。応
答処理プログラム115は図3に示したトランザクショ
ン処理プログラム301と同様に、正常処理部302と
補償処理部303とで構成される。但しトランザクショ
ン処理プログラムにおける正常処理部302及び補償処
理部303とは動作が異なる。ワークフロー制御プログ
ラム111は応答処理プログラム115における正常処
理部302を起動する。
The transaction 4 (node 512) defines a response process to the channel 209. The response processing program 115 includes a normal processing unit 302 and a compensation processing unit 303, similarly to the transaction processing program 301 shown in FIG. However, the operations are different from those of the normal processing unit 302 and the compensation processing unit 303 in the transaction processing program. The workflow control program 111 activates the normal processing unit 302 in the response processing program 115.

【0049】図7は本実施形態の応答処理プログラム1
15における正常処理部302の処理手順を示すフロー
チャートである。応答処理プログラム115における正
常処理部302は、図7の手順に従って処理を行う。こ
こで図7を用いて応答処理プログラム115における正
常処理部302の処理について説明する。
FIG. 7 shows a response processing program 1 according to this embodiment.
15 is a flowchart illustrating the processing procedure of the normal processing unit 302 in FIG. The normal processing unit 302 in the response processing program 115 performs processing according to the procedure of FIG. Here, the processing of the normal processing unit 302 in the response processing program 115 will be described with reference to FIG.

【0050】ワークフロー制御プログラム111は、入
力として要求通番401を正常処理部302へ渡す。正
常処理部302は、要求通番401に該当する業務DB
110の内容を読み出し、それらのデータを元にチャネ
ル209への応答メッセージを生成し、通番管理プログ
ラム108に要求してメッセージに応答通番を付ける
(ステップ701)。次に正常処理部302は、生成し
た応答メッセージをアダプタ103に送信する(ステッ
プ702)。アダプタ103はネットワーク215経由
でチャネル209へ応答メッセージを送信する。
The workflow control program 111 passes the request serial number 401 to the normal processing section 302 as an input. The normal processing unit 302 stores the business DB corresponding to the request serial number 401.
The contents of the data 110 are read, a response message to the channel 209 is generated based on the data, and a response serial number is given to the message by requesting the serial number management program 108 (step 701). Next, the normal processing unit 302 transmits the generated response message to the adapter 103 (Step 702). The adapter 103 transmits a response message to the channel 209 via the network 215.

【0051】次に正常処理部302は、これらの処理が
正常に終了したかどうかを判定する(ステップ70
3)。正常に終了した場合には、履歴情報保存キュー1
17に応答処理に関する履歴情報を保存する(ステップ
704)。そして正常終了をワークフロー制御プログラ
ム111に報告して(ステップ705)処理を終了す
る。ステップ703の判定で異常が発生していると判断
した場合には、異常終了をワークフロー制御プログラム
111に報告して(ステップ706)処理を終了する。
Next, the normal processing section 302 determines whether or not these processes have been completed normally (step 70).
3). If the process is normally completed, the history information storage queue 1
The history information relating to the response process is stored in step 17 (step 704). Then, the normal end is reported to the workflow control program 111 (step 705), and the process ends. If it is determined in step 703 that an error has occurred, an abnormal end is reported to the workflow control program 111 (step 706), and the process ends.

【0052】図5でトランザクション4の処理が終了す
ると、ワークフロー制御プログラム111は判定を行う
(ノード513)。判定の結果、トランザクション4が
正常終了している場合には、ワークフロー制御プログラ
ム111は処理を終了する。トランザクション4で異常
終了した場合の処理については後で説明する。
When the processing of transaction 4 is completed in FIG. 5, the workflow control program 111 makes a determination (node 513). If the result of the determination is that transaction 4 has ended normally, the workflow control program 111 ends the processing. The processing when the transaction 4 ends abnormally will be described later.

【0053】図8は本実施形態の履歴情報保存キュー1
17の内容例を示す図である。図8では正常処理フロー
119の実行が正常に終了した時点での履歴情報保存キ
ュー117の内容を表している。履歴情報保存キュー1
17は、First In Last Out型のキュー
である。
FIG. 8 shows the history information storage queue 1 of this embodiment.
17 is a diagram illustrating a content example of No. 17. FIG. 8 shows the contents of the history information storage queue 117 when the execution of the normal processing flow 119 ends normally. History information storage queue 1
Reference numeral 17 denotes a First In Last Out type queue.

【0054】トランザクション処理プログラム112〜
114によって保存された履歴情報は、図8の履歴情報
801,802及び803である。また応答処理プログ
ラム115によって保存された履歴情報は履歴情報80
4である。なおトランザクション2とトランザクション
3は並列に実行される為、トランザクション2に関する
履歴情報802とトランザクション3に関する履歴情報
803の順番は、各トランザクションに関する正常処理
が終了したタイミングによって異なる。
Transaction processing program 112-
The history information saved by 114 is history information 801, 802, and 803 in FIG. The history information stored by the response processing program 115 is the history information 80.
4. Since the transaction 2 and the transaction 3 are executed in parallel, the order of the history information 802 related to the transaction 2 and the history information 803 related to the transaction 3 differs depending on the timing at which the normal processing related to each transaction ends.

【0055】トランザクション処理プログラム112〜
114は、図6のステップ604において、各トランザ
クション要求処理を識別する為の処理IDと、要求メッ
セージを送信したサーバを識別する為の送信先IDと、
サーバ210〜212において各トランザクションに付
けられた処理番号と、各サーバからの応答内容に関する
データから構成される履歴情報を保存する。
Transaction processing program 112-
Reference numeral 114 denotes a process ID for identifying each transaction request process in step 604 of FIG. 6, a transmission destination ID for identifying the server that transmitted the request message,
In the servers 210 to 212, history information including the processing number assigned to each transaction and data on the response content from each server is stored.

【0056】また応答処理プログラム115は、図7の
ステップ704において、応答処理を識別する為の処理
IDと、応答メッセージを送信したチャネル209を識
別する為の送信先IDと、応答メッセージに付けた応答
通番と、応答メッセージの内容に関するデータから構成
される履歴情報を保存する。
In step 704 of FIG. 7, the response processing program 115 attaches the processing ID for identifying the response processing, the transmission destination ID for identifying the channel 209 that transmitted the response message, and the response message. The history information including the response serial number and the data on the content of the response message is stored.

【0057】障害発生時には、この様にして保存された
履歴情報を利用して回復処理を行う。
When a failure occurs, recovery processing is performed using the history information thus stored.

【0058】次に、トランザクションが異常終了した場
合の処理について説明する。トランザクション処理ノー
ド501,505,506及び512においてトランザ
クションが異常終了した場合、ワークフロー制御プログ
ラム111は、回復処理プログラム116を起動する。
Next, the processing when a transaction ends abnormally will be described. When the transaction ends abnormally in the transaction processing nodes 501, 505, 506 and 512, the workflow control program 111 activates the recovery processing program 116.

【0059】このときワークフロー制御プログラム11
1は、業務DBテーブル400に保存されているキュー
ID404とトランザクション処理プログラム112〜
114および応答処理プログラム115の正常処理部3
02から渡された障害内容を回復処理プログラム116
へ入力として渡す。回復処理プログラム116は、キュ
ーID404で識別される履歴情報保存キュー117内
の履歴情報を取出し、障害対応表120を参照しなが
ら、図10に示す処理手順に従って処理を行う。図9は
本実施形態の障害対応表120の一例を示す図である。
障害対応表120は、トランザクション処理ID901
と、障害内容902と、回復動作903とで構成され
る。
At this time, the workflow control program 11
Reference numeral 1 denotes a queue ID 404 stored in the business DB table 400 and the transaction processing programs 112 to
114 and the normal processing unit 3 of the response processing program 115
02 and the recovery processing program 116
Pass as input to. The recovery processing program 116 extracts the history information in the history information storage queue 117 identified by the queue ID 404, and performs the processing according to the processing procedure illustrated in FIG. FIG. 9 is a diagram illustrating an example of the failure correspondence table 120 according to the present embodiment.
The failure handling table 120 has a transaction processing ID 901
, A failure content 902, and a recovery operation 903.

【0060】障害内容902は、検出した障害の内容に
より分類してもよい。例えば、サーバ210〜212か
らリソース不足によるエラー応答を受信した場合は再実
行可能な障害とし、通信障害等サーバ210〜212か
らの応答が無い場合は再実行不可な障害として分類す
る。
The fault content 902 may be classified according to the content of the detected fault. For example, when an error response due to resource shortage is received from the servers 210 to 212, it is classified as a re-executable failure, and when there is no response from the servers 210 to 212 such as a communication failure, the failure is classified as a non-re-executable failure.

【0061】回復動作903は、障害となったトランザ
クション処理を再度実行する「再実行」と、障害発生時
点までに行ったトランザクション処理に対する補償処理
を実行する「回復」と、障害発生時点でワークフローを
停止する「停止」がある。
The recovery operation 903 includes “re-execution” for re-executing a failed transaction process, “recovery” for executing a compensation process for the transaction process performed up to the time of occurrence of the failure, and execution of a workflow at the time of occurrence of the failure. There is a "stop" to stop.

【0062】図10は本実施形態の回復処理プログラム
116の処理手順を示すフローチャートである。以下、
回復処理プログラム116の処理について図10を用い
て説明する。回復処理プログラム116は、障害となっ
たトランザクションと障害内容より、障害対応表120
を元に回復動作を選択する(ステップ1001)。
FIG. 10 is a flowchart showing the processing procedure of the recovery processing program 116 according to this embodiment. Less than,
The processing of the recovery processing program 116 will be described with reference to FIG. The recovery processing program 116 calculates a failure handling table 120 based on the failed transaction and the content of the failure.
(Step 1001).

【0063】回復動作が「再実行」の場合(ステップ1
002)、障害となったトランザクション処理の再実行
をワークフロー制御プログラム111に報告(ステップ
1003)し、処理を終了する。
When the recovery operation is "re-execute" (step 1)
002), the re-execution of the failed transaction process is reported to the workflow control program 111 (step 1003), and the process ends.

【0064】ワークフロー制御プログラム111は、障
害となったトランザクションに対応するトランザクショ
ン処理プログラム112〜114および応答処理プログ
ラム115の正常処理部302を再度起動する。
The workflow control program 111 restarts the transaction processing programs 112 to 114 corresponding to the failed transaction and the normal processing section 302 of the response processing program 115.

【0065】このとき、一定時間間隔を空けて再起動し
たり、同一サービスを提供する異なるサーバに対してト
ランザクションを再実行することもできる。
At this time, it is also possible to restart at a fixed time interval or to re-execute a transaction to a different server providing the same service.

【0066】回復動作が「停止」の場合(ステップ10
04)、障害となった時点でワークフローを停止するよ
うワークフロー制御プログラム111に報告(ステップ
1005)し、処理を終了する。
When the recovery operation is "stop" (step 10)
04), the workflow control program 111 is notified to stop the workflow when a failure occurs (step 1005), and the process ends.

【0067】ワークフロー制御プログラム111は、ワ
ークフローが異常終了したことを示すメッセージを入出
力装置213に表示する。
The workflow control program 111 displays on the input / output device 213 a message indicating that the workflow has terminated abnormally.

【0068】このとき、障害となったトランザクション
処理IDと要求通番と障害内容を表示することで、運用
者が、障害要因を取り除いた後、入出力装置213から
ワークフロー制御プログラムに対して要求通番に対する
ワークフローの再開を要求する様にして、障害となった
ワークフローを効率よく再開することもできる。
At this time, by displaying the failed transaction processing ID, the request serial number, and the content of the failure, the operator removes the cause of the failure, and then the input / output device 213 sends the workflow control program to the workflow control program in response to the request serial number. By requesting the restart of the workflow, the failed workflow can be efficiently restarted.

【0069】回復動作が「回復」の場合、キューID4
04で識別される履歴情報保存キュー117内に履歴情
報があるかどうかを判定する(ステップ1006)。履
歴情報が履歴情報保存キュー117に存在しない場合に
は、回復処理の正常終了をワークフロー制御プログラム
111に報告(ステップ1007)し、処理を終了す
る。履歴情報が存在する場合には履歴情報を取出し、処
理IDで識別されるトランザクション処理プログラム1
12〜114と応答処理プログラム115の補償処理部
303を起動する(ステップ1008)。
When the recovery operation is “recovery”, the queue ID 4
It is determined whether there is history information in the history information storage queue 117 identified by 04 (step 1006). If the history information does not exist in the history information storage queue 117, the normal end of the recovery process is reported to the workflow control program 111 (step 1007), and the process ends. If the history information exists, the history information is extracted and the transaction processing program 1 identified by the process ID
12 to 114 and the compensation processing unit 303 of the response processing program 115 are started (step 1008).

【0070】次に補償処理が正常に終了したかどうかを
判定する(ステップ1009)。正常に終了している場
合には、ステップ1006に戻り、処理を続行する。異
常終了した場合には、ワークフロー制御プログラム11
1に報告し、処理を終了する(ステップ1010)。
Next, it is determined whether the compensation processing has been completed normally (step 1009). If the processing has been completed normally, the flow returns to step 1006 to continue the processing. In the case of abnormal termination, the workflow control program 11
1 and end the process (step 1010).

【0071】このように障害発生時点までに行ったトラ
ンザクション処理に対する補償処理を実行する。
As described above, the compensation processing for the transaction processing performed up to the point of occurrence of the failure is executed.

【0072】ワークフロー制御プログラム111は、正
常終了したと判定すると処理を終了し、異常終了したと
判定すると異常終了処理を行う。異常終了処理でワーク
フロー制御プログラム111は、回復処理が異常終了し
たことを示すメッセージを出力装置214に表示する。
The workflow control program 111 terminates the process when it determines that the process has been completed normally, and performs an abnormal termination process when it determines that it has completed abnormally. In the abnormal termination processing, the workflow control program 111 displays on the output device 214 a message indicating that the recovery processing has terminated abnormally.

【0073】以上で説明した回復処理プログラム116
の処理によって起動される補償処理部302の処理手順
を図11及び図12に示す。補償処理部302は、トラ
ンザクション処理プログラム112〜114と応答処理
プログラム115とで処理手順が異なる。
The recovery processing program 116 described above
11 and 12 show the processing procedure of the compensation processing unit 302 started by the above processing. The processing procedure of the compensation processing unit 302 differs between the transaction processing programs 112 to 114 and the response processing program 115.

【0074】図11は本実施形態のトランザクション要
求処理プログラム112〜114の補償処理部302の
処理手順を示すフローチャートである。先ずトランザク
ション要求処理プログラム112〜114における補償
処理部302の処理手順について図11を用いて説明す
る。
FIG. 11 is a flowchart showing a processing procedure of the compensation processing unit 302 of the transaction request processing programs 112 to 114 of this embodiment. First, the processing procedure of the compensation processing unit 302 in the transaction request processing programs 112 to 114 will be described with reference to FIG.

【0075】回復処理プログラム116は、履歴情報保
存キュー117から取出した履歴情報を補償処理部30
2に入力として渡す。補償処理部302は、履歴情報を
元に処理番号に対応する処理をキャンセルする為のメッ
セージを生成し、送信先IDで識別されるサーバ210
〜212に接続されているアダプタ104〜106へキ
ャンセル要求メッセージを送信する(ステップ110
1)。
The recovery processing program 116 converts the history information extracted from the history information storage queue 117 into the compensation processing unit 30.
Pass to 2 as input. The compensation processing unit 302 generates a message for canceling the processing corresponding to the processing number based on the history information, and generates a message for the server 210 identified by the transmission destination ID.
Send a cancel request message to the adapters 104 to 106 connected to
1).

【0076】次に、そのアダプタ104〜106から、
サーバ210〜212で行われたキャンセル処理に関す
る応答メッセージを受信する(ステップ1102)。そ
してキャンセル処理が正常に終了したかどうかを判定す
る(ステップ1103)。正常に終了している場合、回
復処理プログラム116に報告して終了する(ステップ
1104)。キャンセル処理が正常に終了しなかった場
合、異常終了を回復処理プログラム116に報告して処
理を終了する(ステップ1105)。
Next, from the adapters 104 to 106,
A response message relating to the cancellation processing performed by the servers 210 to 212 is received (step 1102). Then, it is determined whether or not the cancel processing has been completed normally (step 1103). If the processing has been completed normally, it is reported to the recovery processing program 116 and the processing ends (step 1104). If the cancel processing has not been completed normally, the abnormal end is reported to the recovery processing program 116 and the processing is terminated (step 1105).

【0077】図12は本実施形態の応答処理プログラム
115の補償処理部302の処理手順を示すフローチャ
ートである。次に応答処理プログラム115における補
償処理部302の処理について図12を用いて説明す
る。
FIG. 12 is a flowchart showing a processing procedure of the compensation processing unit 302 of the response processing program 115 of the present embodiment. Next, the processing of the compensation processing unit 302 in the response processing program 115 will be described with reference to FIG.

【0078】回復処理プログラム115は、履歴情報保
存キュー117から取出した履歴情報を補償処理部30
2へ入力として渡す。補償処理部302は、履歴情報を
元に処理番号に対応する処理をキャンセルする為のメッ
セージを生成し、送信先IDで識別されるチャネル20
9に接続されているアダプタ103へキャンセル要求メ
ッセージを送信する(ステップ1201)。
The recovery processing program 115 converts the history information extracted from the history information storage queue 117 into the compensation processing unit 30.
Pass to 2 as input. The compensation processing unit 302 generates a message for canceling the process corresponding to the process number based on the history information, and generates a message for the channel 20 identified by the transmission destination ID.
A cancel request message is transmitted to the adapter 103 connected to No. 9 (step 1201).

【0079】次に、キャンセル要求メッセージの送信処
理が正常に終了したかどうかを判定する(ステップ12
02)。正常に終了している場合、回復処理プログラム
116に報告して終了する(ステップ1203)。正常
に終了しなかった場合、異常終了を回復処理プログラム
116に報告して処理を終了する(ステップ120
4)。
Next, it is determined whether the transmission processing of the cancel request message has been completed normally (step 12).
02). If the processing has been completed normally, it is reported to the recovery processing program 116 and the processing ends (step 1203). If the processing has not ended normally, the abnormal end is reported to the recovery processing program 116 and the processing is ended (step 120).
4).

【0080】以上で説明した様に本実施形態では、ワー
クフロー実行中に障害により何れかのトランザクション
が異常終了した場合には、トランザクションと障害内容
により、障害対応表から回復動作を決定し、それに従っ
て回復処理を実行する。
As described above, in this embodiment, if any transaction ends abnormally due to a failure during the execution of a workflow, the recovery operation is determined from the failure correspondence table according to the transaction and the content of the failure, and the recovery operation is determined accordingly. Perform recovery processing.

【0081】従って本実施形態のワークフロー処理シス
テムによれば、障害発生時のトランザクションと障害内
容に応じた回復処理を行うことが可能な、信頼性の高い
複数トランザクション処理システムを構築することがで
きる。
Therefore, according to the workflow processing system of the present embodiment, it is possible to construct a highly reliable multiple transaction processing system capable of performing a transaction when a failure occurs and a recovery process according to the content of the failure.

【0082】[0082]

【発明の効果】本発明によればワークフローの実行中の
障害発生時、トランザクションと障害内容により、障害
対応表から回復動作を決定し、それに従って回復処理を
実行するので、障害発生時のトランザクションと障害内
容に応じた回復処理を行うことが可能な、信頼性の高い
複数トランザクション処理システムを構築することがで
きる。
According to the present invention, when a failure occurs during execution of a workflow, a recovery operation is determined from a failure correspondence table based on the transaction and the content of the failure, and a recovery process is executed in accordance therewith. A highly reliable multiple transaction processing system capable of performing a recovery process according to the content of a failure can be constructed.

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

【図1】ワークフロー制御システムのソフトウエア構成
を示す図。
FIG. 1 is a diagram showing a software configuration of a workflow control system.

【図2】ワークフロー制御システムのハードウエア構成
を示す図。
FIG. 2 is a diagram showing a hardware configuration of a workflow control system.

【図3】トランザクション要求処理プログラム112〜
114の概略構成を示す図。
FIG. 3 shows a transaction request processing program 112 to
FIG.

【図4】業務DBテーブルの一例を示す図。FIG. 4 is a diagram showing an example of a business DB table.

【図5】正常処理フロー119の一例を示す図。FIG. 5 is a diagram showing an example of a normal processing flow 119.

【図6】トランザクション処理プログラム112〜11
4の正常処理部302の処理フローの一例を示す図。
FIG. 6 shows transaction processing programs 112 to 11.
4 is a diagram showing an example of a processing flow of a normal processing unit 302 of FIG.

【図7】応答処理プログラム115の正常処理部302
の処理フローの一例を示す図。
FIG. 7 shows a normal processing unit 302 of the response processing program 115.
The figure which shows an example of the processing flow of FIG.

【図8】履歴情報保存キュー117の内容例を示す図。FIG. 8 is a diagram showing an example of the contents of a history information storage queue 117.

【図9】障害対応表120の一例を示す図。FIG. 9 is a diagram showing an example of a failure correspondence table 120.

【図10】回復処理プログラム116の処理フローの一
例を示す図。
FIG. 10 is a diagram showing an example of a processing flow of a recovery processing program 116.

【図11】トランザクション処理プログラム112〜1
14の補償処理部303の処理フローの一例を示す図。
FIG. 11 shows transaction processing programs 112-1.
The figure which shows an example of the processing flow of 14 compensation processing parts 303.

【図12】応答処理プログラム115の補償処理部30
3の処理フローの一例を示す図。
FIG. 12 shows a compensation processing unit 30 of the response processing program 115.
The figure which shows an example of the processing flow of No. 3.

【図13】ルーティング情報121の一例を示す図。FIG. 13 is a diagram showing an example of routing information 121.

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

101…トランザクション制御プログラム、102…ワ
ークフロー実行プログラム、103〜106…アダプ
タ、107…トレーダ、108…通番管理プログラム、
109…ワークフロー登録処理プログラム、110…業
務DB、111…ワークフロー制御プログラム、112
〜114…トランザクション処理プログラム、115…
応答処理プログラム、116…回復処理プログラム、1
17…履歴情報保存キュー、118…ワークフロー管理
DB、119…正常処理フロー、120…障害対応表、
121…ルーティング情報、201…ワークフロー制御
システム、209…チャネル、210〜212…サー
バ、213…入出力装置、214〜217…ネットワー
ク、400…業務DBテーブル。
101: transaction control program, 102: workflow execution program, 103 to 106: adapter, 107: trader, 108: serial number management program
109: Workflow registration processing program, 110: Business DB, 111: Workflow control program, 112
~ 114 ... transaction processing program, 115 ...
Response processing program, 116: recovery processing program, 1
17: history information storage queue, 118: workflow management DB, 119: normal processing flow, 120: failure correspondence table,
121: routing information, 201: workflow control system, 209: channel, 210 to 212: server, 213: input / output device, 214 to 217: network, 400: business DB table.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ワークフローに従って一連のトランザク
ションを実行するトランザクション処理方法において、
トランザクション実行中に障害が発生した場合に、トラ
ンザクションの内容および障害の内容に応じて障害回復
処理を実行することを特徴とする複数トランザクション
処理システム。
1. A transaction processing method for executing a series of transactions according to a workflow,
A multi-transaction processing system, wherein when a failure occurs during execution of a transaction, a failure recovery process is executed in accordance with the content of the transaction and the content of the failure.
【請求項2】 請求項1記載の複数トランザクション処
理システムにおいて、トランザクション毎にあらかじめ
設定された障害の内容と障害回復動作に応じた回復処理
を実行することを特徴とする複数トランザクション処理
システム。
2. The multiple transaction processing system according to claim 1, wherein a recovery process is performed in accordance with the content of the failure set in advance for each transaction and a failure recovery operation.
【請求項3】 請求項1または請求項2のいずれかに記
載の複数トランザクション処理システムにおいて、障害
の内容を各トランザクションが再実行可能か否かにより
分類し、それぞれ異なる回復処理を実行することを特徴
とする複数トランザクション処理システム。
3. The multiple transaction processing system according to claim 1, wherein the contents of the failure are classified according to whether each transaction can be re-executed, and different recovery processing is executed. Characteristic multiple transaction processing system.
【請求項4】 請求項1乃至請求項3のいずれか1項に
記載の複数トランザクション処理システムにおいて、障
害発生時の回復処理を障害となったトランザクションの
再実行と既に実行したトランザクションに対する補償処
理の実行と障害時点でのワークフロー一時停止との3つ
に分類して回復処理を実行することを特徴とする複数ト
ランザクション処理システム。
4. The multi-transaction processing system according to claim 1, wherein the recovery processing at the time of occurrence of the failure includes re-execution of the failed transaction and compensation processing for the already executed transaction. A multi-transaction processing system wherein recovery processing is executed by classifying the recovery processing into three types: execution and workflow suspension at the time of failure.
【請求項5】 請求項1乃至請求項4のいずれか1項に
記載の複数トランザクション処理システムにおいて、ク
ライアントからの要求メッセージに対して通番を付与
し、該通番と履歴情報の識別子とを保存して要求メッセ
ージに対応する履歴情報を管理することを特徴とする複
数トランザクション処理システム。
5. The multiple transaction processing system according to claim 1, wherein a serial number is assigned to a request message from a client, and the serial number and an identifier of history information are stored. A plurality of transaction processing systems for managing history information corresponding to request messages.
JP2000295444A 2000-09-25 2000-09-25 Plural transactions processing system Pending JP2002099510A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000295444A JP2002099510A (en) 2000-09-25 2000-09-25 Plural transactions processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000295444A JP2002099510A (en) 2000-09-25 2000-09-25 Plural transactions processing system

Publications (1)

Publication Number Publication Date
JP2002099510A true JP2002099510A (en) 2002-04-05

Family

ID=18777868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000295444A Pending JP2002099510A (en) 2000-09-25 2000-09-25 Plural transactions processing system

Country Status (1)

Country Link
JP (1) JP2002099510A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259009A (en) * 2008-04-17 2009-11-05 Internatl Business Mach Corp <Ibm> Device and method for controlling execution of transaction
JP2010086460A (en) * 2008-10-02 2010-04-15 Fuji Xerox Co Ltd Work management device, and work management program
US8599404B2 (en) 2005-06-03 2013-12-03 Konica Minolta Business Technologies, Inc. Network image processing system, network image processing apparatus, and network image processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599404B2 (en) 2005-06-03 2013-12-03 Konica Minolta Business Technologies, Inc. Network image processing system, network image processing apparatus, and network image processing method
JP2009259009A (en) * 2008-04-17 2009-11-05 Internatl Business Mach Corp <Ibm> Device and method for controlling execution of transaction
JP2010086460A (en) * 2008-10-02 2010-04-15 Fuji Xerox Co Ltd Work management device, and work management program

Similar Documents

Publication Publication Date Title
JP2000163372A (en) Method and device for transaction processing and medium where processing program thereof is recorded
CN100435101C (en) Apparatus and method for maintaining resource integrity in a software environment
US7293194B2 (en) Method and device for switching database access part from for-standby to currently in use
US5878205A (en) Method and system for processing complex recovery using polling signals in a shared medium
US7669074B2 (en) Method for fault handling in a co-operative workflow environment
JP4246176B2 (en) Transaction processing method, apparatus for executing the same, and medium storing the processing program
US7694178B2 (en) Method, apparatus and computer program product for transaction recovery
US20060092834A1 (en) Application flow control apparatus
US7899897B2 (en) System and program for dual agent processes and dual active server processes
US20120011100A1 (en) Snapshot acquisition processing technique
US20080288812A1 (en) Cluster system and an error recovery method thereof
US6141679A (en) High performance distributed transaction processing methods and apparatus
US20060184947A1 (en) Distributed system, computer and state transition control method for distributed system
JPH06243072A (en) Distributed transaction commitment control system for distributed processing system
JPWO2006057061A1 (en) Distributed transaction processing method, apparatus, and program
US8201017B2 (en) Method for queuing message and program recording medium thereof
US8180846B1 (en) Method and apparatus for obtaining agent status in a network management application
JP2009157786A (en) Message transmission control method, message transmission control device, and message transmission control program
JP2002099510A (en) Plural transactions processing system
JP5086820B2 (en) Service management method, system and program
US20120191645A1 (en) Information processing apparatus and database system
CN112596867A (en) Suspension transaction processing method and distributed database system
JP2001306380A (en) Two-phase commitment evading system and its program recording medium
JPH04213126A (en) Software test system
JP2007316719A (en) Message communication method, device and program