JP2003345610A - Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded - Google Patents

Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded

Info

Publication number
JP2003345610A
JP2003345610A JP2002152929A JP2002152929A JP2003345610A JP 2003345610 A JP2003345610 A JP 2003345610A JP 2002152929 A JP2002152929 A JP 2002152929A JP 2002152929 A JP2002152929 A JP 2002152929A JP 2003345610 A JP2003345610 A JP 2003345610A
Authority
JP
Japan
Prior art keywords
transaction
processing
scenario
cancellation
parallel
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
JP2002152929A
Other languages
Japanese (ja)
Inventor
Daishiro Yokozeki
大子郎 横関
Shunsuke Miyata
俊介 宮田
Koji Tokumaru
浩二 徳丸
Masataka Suzuki
将貴 鈴木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002152929A priority Critical patent/JP2003345610A/en
Publication of JP2003345610A publication Critical patent/JP2003345610A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a transaction processing apparatus capable of efficiently canceling transactions of a plurality of different scenarios which are called by the same scenario by branching and processed in parallel. <P>SOLUTION: The transaction processing apparatus when acquiring execution histories for each process in transaction execution defines canceling processes for each of their history elements. When the canceling processes are executed in the reverse order of the histories, the canceling processes are actuated on conditions that they are made to correspond to the history elements, thereby efficiently canceling the plurality of processes which are executed in parallel together at a time (canceling processes S<SB>11</SB>, S<SB>12</SB>, and S<SB>13</SB>by a canceling process S<SB>1</SB>', processes S<SB>21</SB>, S<SB>22</SB>, and S<SB>23</SB>by a canceling process S<SB>2</SB>', and processes S<SB>31</SB>and S<SB>32</SB>by a canceling process S<SB>3</SB>' together at a time in parallel). <P>COPYRIGHT: (C)2004,JPO

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、処理手順を記述
したシナリオに従って、一連の複数の処理から構成され
るトランザクションを処理するトランザクション処理装
置、同装置のトランザクション処理方法、トランザクシ
ョン処理プログラムおよび同プログラムを記録したコン
ピュータ読み取り可能な記録媒体に係り、特に、同一の
シナリオから分岐して呼び出され、並列処理された複数
の別のシナリオのトランザクションを効率的に打ち消す
ことを可能としたトランザクション処理装置、同装置の
トランザクション処理方法、トランザクション処理プロ
グラムおよび同プログラムを記録したコンピュータ読み
取り可能な記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a transaction processing apparatus for processing a transaction composed of a series of plural processes according to a scenario describing a processing procedure, a transaction processing method of the apparatus, a transaction processing program, and a program. The present invention relates to a recorded computer-readable recording medium, and more particularly to a transaction processing apparatus and a transaction processing apparatus capable of efficiently canceling a plurality of different scenarios of transactions that are called and branched from the same scenario and processed in parallel. Transaction processing method, a transaction processing program, and a computer-readable recording medium recording the program.

【0002】[0002]

【従来の技術】複数の電子計算機による処理の実行を可
能とするためには、まず、シナリオ記述言語を用いて、
各計算機の連携の仕方、各計算機が処理を行う順序、各
計算機の処理に対する入力情報、各計算機の処理の結果
である出力情報などを、シナリオと呼ばれるファイルや
データベースに保存される文書に記述する。そして、こ
のシナリオに基づき、シナリオエンジンと呼ばれる実行
管理用計算機に、各計算機を制御させる。
2. Description of the Related Art In order to enable execution of processing by a plurality of computers, first, a scenario description language is used.
Describe how computers cooperate, the order in which each computer performs processing, input information for each computer's processing, output information that is the result of each computer's processing, etc., in files called scenarios and documents stored in databases. . Then, based on this scenario, an execution management computer called a scenario engine controls each computer.

【0003】また、トランザクションとは、電子計算機
が実行する一連の処理であり、処理を実行しようとして
失敗した場合に、処理を実行する前と同じ状態であるこ
とを保証するために利用される。そして、たとえば他の
装置との間の非同期的な通信等、いわゆる非同期処理を
含む場合のトランザクション保証技術として、SAGA
が知られている(トランザクション処理技術入門(フィ
リップ・A・バーンスタイン、エリック・ニューカマー
著、日経BP社、ISBN 4−8222−8026−
8))。
[0003] A transaction is a series of processes executed by a computer, and is used to guarantee that when an attempt to execute a process fails, the state is the same as before the process was executed. For example, SAGA is a transaction guarantee technology in the case of including so-called asynchronous processing such as asynchronous communication with another device.
(Introduction to Transaction Processing Technology (by Philip A. Bernstein and Eric Newcomer, Nikkei BP, ISBN 4-8222-28026-)
8)).

【0004】このSAGAは、トランザクションを構成
する各処理の実行履歴情報をリストとして管理する。そ
して、障害発生時には、この実行履歴情報のリストを実
行順序の逆順に辿り、各処理を打ち消す補償処理を逐次
実行していく。
The SAGA manages the execution history information of each process constituting a transaction as a list. When a failure occurs, the execution history information list is traced in the reverse order of the execution order, and the compensation process for canceling each process is sequentially executed.

【0005】ここで、図8に示すようなシナリオに従っ
て、並列実行処理を実行する場合を考える。この場合、
図8(a)において分岐した各パス毎に並列に実行さ
れ、その実行履歴は図9に示す通り保持される。そし
て、図8(a)に示す処理の実行中に障害が発生した場
合は、この実行履歴の各要素を逆順に遡り、一つずつ打
消処理が図8(b)の順で実行される。
Here, consider a case where parallel execution processing is executed according to a scenario as shown in FIG. in this case,
The execution is performed in parallel for each path branched in FIG. 8A, and the execution history is held as shown in FIG. If a failure occurs during the execution of the processing shown in FIG. 8A, the elements of this execution history are traced in reverse order, and the cancellation processing is executed one by one in the order of FIG. 8B.

【0006】つまり、SAGA技術においては、分岐に
より並列に実行されたトランザクションの障害回復処理
の場合、子トランザクション打消処理時に、履歴に従い
一つずつ逐次的に打消処理が実行されるため、打消処理
の完了まで、多くの時間を要するという問題があった。
That is, in the SAGA technology, in the case of failure recovery processing of transactions executed in parallel by branching, at the time of child transaction cancellation processing, cancellation processing is executed one by one according to the history, so that the cancellation processing is not performed. There was a problem that it took a lot of time to complete.

【0007】一方、特開2000−163372号公報
の方式では、分岐により並列にトランザクションを実行
する場合、図10に示す通り、各トランザクションのパ
スにIDを付与し(P1,P2,P3)、図11に示す通り、該
トランザクションを構成する各処理の実行履歴情報にパ
スIDと処理名とを保存しておく。これにより、その並
列実行後の処理において障害が発生した場合、パスに付
与されたIDをキーとして、各パス毎に実行履歴情報を
逆順に辿り、打消処理の起動を並列に行うことを可能と
している(図10(b))。
On the other hand, according to the method disclosed in Japanese Patent Laid-Open No. 2000-163372, when transactions are executed in parallel by branching, IDs are assigned to the paths of the transactions (P1, P2, P3) as shown in FIG. As shown in 11, the path ID and the processing name are stored in the execution history information of each processing constituting the transaction. Thus, when a failure occurs in the processing after the parallel execution, the execution history information can be traced in reverse order for each path using the ID assigned to the path as a key, and the cancellation processing can be started in parallel. (FIG. 10B).

【0008】[0008]

【発明が解決しようとする課題】一般に、一連の処理の
どこで障害が発生したかに応じて、打ち消さなければな
らない処理が異なる。そのため、この障害発生のタイミ
ングに応じて異なる煩雑な打消手順を管理する手間があ
る。つまり、前述のような実行履歴による打消処理が有
効である理由は、ここにある。
Generally, the processing that must be canceled differs depending on where a failure has occurred in a series of processing. Therefore, there is a trouble to manage a complicated cancellation procedure different depending on the timing of the occurrence of the failure. That is, the reason why the cancellation processing based on the execution history as described above is effective is here.

【0009】しかしながら、前述の例において、並列な
トランザクション処理実行後に処理を打ち消す場合に
は、各トランザクションにおいて打ち消す手順が確定し
ているため、実行履歴に従わず、一括して打消処理を行
った方が高速に実行できる。にもかかわらず、特開20
00−163372号公報の方式では、実行完了後のト
ランザクションに対しても一様に履歴を用いた打消処理
を適用するため、その実行に時間を要してしまう。
However, in the above-described example, when the processing is canceled after executing the parallel transaction processing, the cancellation procedure is decided in each transaction, so that the cancellation processing is not performed according to the execution history. Can be executed at high speed. Nevertheless,
According to the method disclosed in Japanese Patent Application Laid-Open No. 00-163372, the cancellation process using the history is uniformly applied to the transaction after the execution is completed, so that it takes time to execute the cancellation process.

【0010】この発明は、このような事情を考慮してな
されたものであり、同一のシナリオから分岐して呼び出
され、並列処理された複数の別のシナリオのトランザク
ションを効率的に打ち消すことを可能としたトランザク
ション処理装置、同装置のトランザクション処理方法、
トランザクション処理プログラムおよび同プログラムを
記録したコンピュータ読み取り可能な記録媒体を提供す
ることを目的とする。
[0010] The present invention has been made in view of such circumstances, and can efficiently cancel transactions of a plurality of different scenarios that are called in a branch from the same scenario and are processed in parallel. Transaction processing device, transaction processing method of the device,
An object of the present invention is to provide a transaction processing program and a computer-readable recording medium on which the program is recorded.

【0011】[0011]

【課題を解決するための手段】前述した目的を達成する
ために、この発明は、処理手順を記述したシナリオに従
って、一連の複数の処理から構成されるトランザクショ
ンを処理するトランザクション処理装置において、同一
のシナリオから分岐して呼び出された複数の別のシナリ
オのトランザクションが並列処理された後、前記呼び出
し元のシナリオのトランザクション処理中において障害
が発生したときに、前記並列処理された別のシナリオの
トランザクションを構成する各処理を、各トランザクシ
ョンに対してそれぞれに予め一つずつ対応づけられた打
消処理を実行することにより一括して打ち消す打消処理
手段を具備することを特徴とする。
In order to achieve the above-mentioned object, the present invention provides a transaction processing apparatus for processing a transaction composed of a series of plural processes according to a scenario describing a processing procedure. After a plurality of transactions of another scenario called from the scenario are processed in parallel, when a failure occurs during the transaction processing of the scenario of the caller, the transaction of the another scenario processed in parallel is executed. The present invention is characterized by comprising a cancellation processing means for canceling the constituent processes collectively by executing a cancellation process associated with each transaction one by one in advance.

【0012】この発明においては、トランザクション実
行時に、各処理毎の実行履歴を取得する際、その履歴要
素毎に打消処理を定義する。そして、打消処理を履歴の
逆順に実行していく際、該履歴要素に対して打消処理が
対応づけられていれば、それを起動する。これにより、
並列に実行された複数の処理を一括して効率的に打ち消
すことを可能とする。
In the present invention, when an execution history for each process is acquired at the time of executing a transaction, a cancellation process is defined for each history element. Then, when the cancellation processing is performed in the reverse order of the history, if the cancellation processing is associated with the history element, it is activated. This allows
It is possible to efficiently cancel a plurality of processes executed in parallel collectively.

【0013】[0013]

【発明の実施の形態】以下、図面を参照してこの発明の
一実施形態を説明する。図1は、この発明の実施形態に
係るシナリオ制御システムの構成を示す図である。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing a configuration of a scenario control system according to an embodiment of the present invention.

【0014】この実施形態のシナリオ制御システムは、
業務処理手順が記述されたシナリオに従って、一連の複
数の処理から構成されるトランザクションを処理するも
のであり、図1に示すように、要求受付プログラム10
1、受信アダプタ102、メッセージ管理プログラム1
03、シナリオ制御プログラム104および送信アダプ
タ105の各処理部と、シナリオ管理用DBMS121
およびシナリオリポジトリ122の各データ部とを有し
ている。また、図中のサーバ130は、それぞれこのシ
ナリオ制御システムにより連携を行う対象である既存の
サーバシステムである。
[0014] The scenario control system according to this embodiment comprises:
According to a scenario in which a business processing procedure is described, a transaction composed of a series of plural processes is processed. As shown in FIG.
1, receiving adapter 102, message management program 1
03, each processing unit of the scenario control program 104 and the transmission adapter 105, and the scenario management DBMS 121
And each data section of the scenario repository 122. The servers 130 in the figure are existing server systems to be linked by the scenario control system.

【0015】要求受付プログラム101は、サーバ13
0から処理の要求メッセージを受け付け、この要求メッ
セージの中に含まれる識別子に応じて、適切な受信アダ
プタ102を選択し、その要求メッセージを選択した受
信アダプタ102に渡すプログラムである。一般に、要
求メッセージの中には、Service、Action等の識別子が
埋め込まれており、要求受付プログラム101は、この
識別子に応じた対応テーブル等により、受信アダプタ1
02を選択する。つまり、受信したメッセージの種別に
応じて、適切な受信アダプタ102が選択、起動され
る。
The request reception program 101
0 is a program that receives a request message for processing from 0, selects an appropriate receiving adapter 102 according to an identifier included in the request message, and passes the request message to the selected receiving adapter 102. Generally, identifiers such as Service and Action are embedded in the request message, and the request receiving program 101 uses a correspondence table or the like corresponding to the identifier to receive the reception adapter 1.
Select 02. That is, an appropriate receiving adapter 102 is selected and activated according to the type of the received message.

【0016】受信アダプタ102は、サーバ130から
送信されたメッセージを要求受付プログラム101より
受け取り、プロトコル変換等の処理を行った後、シナリ
オの起動要求や実行要求をメッセージ管理プログラム1
03経由でシナリオ制御プログラム104に送信するプ
ログラムである。この受信アダプタ102は、一般に複
数存在し、要求受付プログラム101によって起動され
る。なお、ここでシナリオとは、前述した通り、業務処
理の手順を記述した文書であり、シナリオは、名前によ
り一意に特定することが可能である。
The receiving adapter 102 receives the message transmitted from the server 130 from the request receiving program 101, performs a process such as protocol conversion, and then issues a scenario start request or an execution request to the message management program 1.
The program is transmitted to the scenario control program 104 via the program 03. Generally, a plurality of the receiving adapters 102 exist, and are activated by the request receiving program 101. As described above, a scenario is a document that describes a procedure of a business process, and a scenario can be uniquely specified by a name.

【0017】メッセージ管理プログラム103は、一般
に、MQ(Messaging Queue)として知られるプログラ
ムであり、送信されたメッセージを一時的に蓄積し、F
IFO(First In First Out)の順番で、指定された宛
先に送信するプログラムである。
The message management program 103 is a program generally known as an MQ (Messaging Queue), which temporarily stores transmitted messages, and
This is a program that transmits to a designated destination in the order of IFO (First In First Out).

【0018】シナリオ制御プログラム104は、このシ
ナリオ制御システム100の中核を担うプログラムであ
り、シナリオ・リポジトリ122にアクセスしてシナリ
オの記述情報を取得し、シナリオ実行に際して、使用さ
れる作業エリアであるシナリオ・インスタンス情報(以
下、インスタンス情報という)の管理やシナリオの起
動、実行、終了処理を行う。また、このシナリオ制御プ
ログラム104は、アクティビティ管理プログラム10
6、履歴管理プログラム107および打消処理制御プロ
グラム108を有している。
The scenario control program 104 is a program that plays a central role in the scenario control system 100. The scenario control program 104 accesses the scenario repository 122 to acquire description information of the scenario, and is a work area used when executing the scenario. -It manages instance information (hereinafter referred to as instance information) and starts, executes, and terminates scenarios. Further, the scenario control program 104 includes the activity management program 10
6, a history management program 107 and a cancellation processing control program 108.

【0019】アクティビティ管理プログラム106は、
トランザクションを構成する各処理(以下、アクティビ
ティという)を指し示す識別子と具体的に起動するプロ
グラムの物理名との対応を保持するプログラムである。
The activity management program 106
This is a program that holds a correspondence between an identifier indicating each process (hereinafter, referred to as an activity) constituting a transaction and a physical name of a program to be specifically activated.

【0020】履歴管理プログラム107は、アクティビ
ティ毎の実行履歴情報を、後述するインスタンスIDと
関連付けて保持するプログラムである。実行履歴情報
は、アクティビティに対して送信する要求メッセージや
結果として受け取った応答メッセージ、子履歴情報を参
照するための情報、履歴通番、シナリオ上での実行位置
(シナリオ名、状態名)から構成される。また、履歴通
番とは、各アクティビティの実行順序を示す番号であ
る。
The history management program 107 is a program that holds execution history information for each activity in association with an instance ID described later. The execution history information consists of a request message sent to the activity, a response message received as a result, information for referencing child history information, a history serial number, and an execution position (scenario name, state name) on the scenario. You. The history serial number is a number indicating the execution order of each activity.

【0021】打消処理制御プログラム108は、履歴管
理プログラム107から取得した履歴情報を評価し、打
消処理を実行していくプログラムである。
The cancellation processing control program 108 is a program for evaluating the history information acquired from the history management program 107 and executing the cancellation processing.

【0022】そして、送信アダプタ105は、サーバ1
30との間の通信を司るプログラムであり、一般に複数
存在する。この送信アダプタ105は、サーバ130の
プロトコルに合わせたプロトコル変換等を行い、該サー
バ130に対し、処理の依頼を行う。また、処理が同期
型の場合、処理結果である応答メッセージを取得する処
理も行う。
The transmission adapter 105 is connected to the server 1
30 is a program that governs communication with the system 30. Generally, a plurality of programs exist. The transmission adapter 105 performs protocol conversion or the like in accordance with the protocol of the server 130, and requests the server 130 for processing. If the processing is of the synchronous type, processing for acquiring a response message as a processing result is also performed.

【0023】前述したように、特開2000−1633
72号公報の方式では、実行パス毎に並列に、実行履歴
を逆順に遡り一つずつ打消処理を実行していた。つま
り、各トランザクションにおいて打ち消す手順が確定し
ていても、一様に履歴を用いた打消処理を適用するた
め、その実行に時間を要してしまっていた。
As described above, JP-A-2000-1633
In the method disclosed in Japanese Patent Application Publication No. 72-72, the cancellation processing is executed one by one by going backward in the execution history in parallel for each execution path. In other words, even if the canceling procedure is determined in each transaction, it takes a long time to execute the canceling process using the history uniformly, even if the procedure is fixed.

【0024】これに対して、このシナリオ制御システム
100では、図2に示すように、処理完了後のトランザ
クションに対しては、実行履歴によらず、一括して処理
を打ち消すことが可能な打消処理を実行するようにし、
複数の処理を一括して効率的に打ち消すことを可能とす
る(たとえば、S11,S12,S13の3つの処理をS1’ の1つ
の打消処理で打ち消す)。なお、図3は、この図2に対
する実行履歴情報の構成を示す図である。
On the other hand, in this scenario control system 100, as shown in FIG. 2, for a transaction after completion of the processing, a cancellation processing capable of canceling the processing altogether regardless of the execution history. And run
It is possible to efficiently cancel a plurality of processes collectively (for example, three processes of S11, S12, and S13 are canceled by one cancellation process of S1 '). FIG. 3 is a diagram showing the configuration of the execution history information for FIG.

【0025】また、図4は、本実施形態において例とし
て使用する業務処理手順を記述したシナリオの例であ
る。シナリオにはトランザクションを構成する各処理の
実行手順が記述される。
FIG. 4 is an example of a scenario describing a business processing procedure used as an example in the present embodiment. The scenario describes the execution procedure of each process constituting the transaction.

【0026】図中、各丸は状態を表す。この状態は、具
体的なアクティビティと関連付けられる。また、状態の
実行とは、状態に関連付けられたアクティビティの実行
を意味する。シナリオは、複数の状態から構成され、シ
ナリオ制御プログラム104により解釈、実行されてい
く。
In the figure, each circle represents a state. This state is associated with a specific activity. Further, execution of a state means execution of an activity associated with the state. A scenario is composed of a plurality of states, and is interpreted and executed by the scenario control program 104.

【0027】シナリオには、業務処理における手順(順
次、選択、反復)や、各アクティビティに対して送信さ
れる要求メッセージ、あるいは結果として受け取った応
答メッセージの評価方法が記述される。そして、応答メ
ッセージの評価の結果、次に実行するべき状態が決定
し、これらの繰り返しにより、一連の業務手順が達成さ
れていく。
The scenario describes a procedure (sequential, selection, repetition) in a business process, a method of evaluating a request message transmitted for each activity, or a response message received as a result. Then, as a result of the evaluation of the response message, a state to be executed next is determined, and a series of business procedures are achieved by repeating these.

【0028】この例では、はじめにシナリオF1の状態
Spが実行される。状態Spの実行は、シナリオF2を
呼び出し、状態S1,S2,S3にそれぞれ関連付けら
れたアクティビティを並列に起動する。また、この並列
実行においては、全てのアクティビティが終了するまで
の間、待ち合わせが行われる。
In this example, first, the state Sp of the scenario F1 is executed. The execution of the state Sp calls the scenario F2 and activates the activities respectively associated with the states S1, S2, and S3 in parallel. In this parallel execution, a wait is performed until all activities are completed.

【0029】各状態S1,S2,S3は、それぞれ子シ
ナリオの呼び出しを表し、シナリオF3,F4,F5を
起動する。そして、各シナリオF3,F4,F5は、そ
れぞれ順に、F3:S11→S12→S13、F4:S
21→S22→S23、F5:S31→S32と処理を
起動する。
Each of the states S1, S2, S3 represents a call of a child scenario, and activates scenarios F3, F4, F5. The scenarios F3, F4, and F5 are respectively F3: S11 → S12 → S13 and F4: S
The process is started in the order of 21 → S22 → S23, F5: S31 → S32.

【0030】また、各状態に対しては、正常時のアクテ
ィビティと同時に打消処理を示す状態と、それに関連付
けて打消処理プログラムの識別子が指定されている場合
もある。
For each state, a state indicating the cancellation processing at the same time as the activity in the normal state, and an identifier of the cancellation processing program may be specified in association with the state.

【0031】以下、本実施形態において使用するテーブ
ルを説明する。
Hereinafter, a table used in the present embodiment will be described.

【0032】<実行履歴情報管理テーブル>実行履歴情
報管理テーブルは、トランザクションを構成する処理を
実行した履歴を保持するテーブルであり、インスタンス
ID、通番、シナリオ名、状態名、要求メッセージおよ
び応答メッセージが保持される。また、本テーブルにお
ける1行を実行履歴要素と呼ぶものとする。
<Execution History Information Management Table> The execution history information management table is a table for holding a history of execution of the processing constituting the transaction, and includes an instance ID, a serial number, a scenario name, a state name, a request message and a response message. Will be retained. One row in this table is called an execution history element.

【0033】・インスタンスID:シナリオ生成時に、
シナリオを実行する際の作業領域(シナリオ・インスタ
ンス)に対して付与される一意な識別子。
Instance ID: At the time of scenario generation,
A unique identifier given to the work area (scenario instance) when executing the scenario.

【0034】・通番:実行履歴情報の各実行履歴要素に
対して付与される識別子。インスタンスIDに対して一
意である。処理の実行順を保持するために用いられる。
履歴要素を参照するための情報を持ち、単方向リストや
双方向リストを用いた実装も考えられる。
Sequence number: An identifier assigned to each execution history element of the execution history information. It is unique for the instance ID. It is used to maintain the execution order of processing.
It has information to refer to the history element, and implementation using a unidirectional list or bidirectional list is also conceivable.

【0035】・シナリオ名、状態名:本履歴書き込み時
点での実行した処理を示す。シナリオ名、状態名の組で
シナリオ上での位置を一意に特定可能である。実行履歴
要素中に、本値が書き込まれていない場合は、本処理が
まだ終了していないことを表す。
Scenario name, state name: Indicates the processing executed at the time of writing this history. The position on the scenario can be uniquely specified by a set of the scenario name and the state name. If this value is not written in the execution history element, it indicates that this processing has not been completed yet.

【0036】・要求メッセージ:シナリオによって与え
られる各処理に対する入力情報。入力パラメータ。
Request message: input information for each process given by the scenario. Input parameters.

【0037】・応答メッセージ:各処理(サーバ130
等)から返却された処理結果を表す出力情報。出力パラ
メータ。履歴情報に従って処理を打ち消す際に使用され
る取引ID等の情報が含まれる。
Response message: Each process (server 130
Etc.) and output information indicating the processing result returned from. Output parameters. Information such as a transaction ID used when canceling processing according to history information is included.

【0038】<実行履歴親子情報管理テーブル>実行履
歴親子情報管理テーブルは、実行履歴情報間の階層関係
を管理するテーブルであり、ある実行履歴情報に対し、
複数の実行履歴情報が子として関連付けられる。そし
て、この実行履歴親子情報管理テーブルでは、子インス
タンスIDおよびインスタンスIDが保持される。
<Execution History Parent-Child Information Management Table> The execution history parent-child information management table is a table for managing the hierarchical relationship between the execution history information.
A plurality of pieces of execution history information are associated as children. In the execution history parent-child information management table, a child instance ID and an instance ID are held.

【0039】・子インスタンスID:インスタンスID
の子である子インスタンスID。
Child instance ID: instance ID
The child instance ID that is a child of

【0040】・インスタンスID:実行履歴情報管理テ
ーブルにおけるインスタンスIDを参照するための情
報。
Instance ID: Information for referring to the instance ID in the execution history information management table.

【0041】次に、このシナリオ制御システム100の
全体の処理の流れを説明する。
Next, the overall processing flow of the scenario control system 100 will be described.

【0042】(1)要求受付 要求受付プログラム101は、サーバ130から処理の
要求メッセージを受け付け、その要求メッセージの中に
含まれる識別子に応じて、適切な受信アダプタ102を
選択する。
(1) Request reception The request reception program 101 receives a processing request message from the server 130, and selects an appropriate reception adapter 102 according to the identifier included in the request message.

【0043】(2)シナリオ起動要求 選択された受信アダプタ102は、シナリオ制御プログ
ラム104に対して、シナリオ名を入力とし、シナリオ
起動要求を行う。一方、シナリオ制御プログラム104
は、そのシナリオを実行する際の作業領域であるインス
タンス情報を確保する。この時、受信アダプタ102に
は、シナリオ起動要求の結果として、現在実行中のイン
スタンス情報を示す識別子が返却される。以下、該識別
子をキーとして、シナリオに対して実行要求を行う。
(2) Scenario activation request The selected receiving adapter 102 inputs a scenario name to the scenario control program 104 and issues a scenario activation request. On the other hand, the scenario control program 104
Secures instance information which is a work area when executing the scenario. At this time, an identifier indicating the currently executing instance information is returned to the receiving adapter 102 as a result of the scenario activation request. Hereinafter, an execution request is issued to the scenario using the identifier as a key.

【0044】(3)シナリオ起動 シナリオ制御プログラム104は、業務処理手順が記述
してあるシナリオの解釈を行い、シナリオの起動、停
止、実行等、シナリオの実行状態やトランザクション処
理の実行履歴を管理する。シナリオ起動要求を受けた場
合、シナリオ制御プログラム104は、シナリオを実行
する際の作業領域であるインスタンス情報を確保し、該
領域に対して一意な識別子(インスタンスID)を付与
する。そして、シナリオ制御プログラム104は、シナ
リオ・リポジトリ122より該シナリオに関する情報を
取得し、一番最初に実行する状態を取得し、そこを現在
の実行位置として保持する。
(3) Scenario Startup The scenario control program 104 interprets a scenario in which a business process procedure is described, and manages the execution state of the scenario, such as starting, stopping, and executing the scenario, and the execution history of transaction processing. . When a scenario start request is received, the scenario control program 104 secures instance information, which is a work area when executing a scenario, and assigns a unique identifier (instance ID) to the area. Then, the scenario control program 104 obtains information on the scenario from the scenario repository 122, obtains a state to be executed first, and holds this as a current execution position.

【0045】また、シナリオ制御プログラム104は、
該インスタンスに対応した実行履歴要素を作成し、実行
位置としてシナリオ名、状態名を書き込む。
The scenario control program 104 includes:
An execution history element corresponding to the instance is created, and a scenario name and a state name are written as an execution position.

【0046】(4)シナリオ実行 受信アダプタ102からのメッセージを受けたシナリオ
制御プログラム104は、以下の処理を行う。
(4) The scenario control program 104 which has received the message from the scenario execution receiving adapter 102 performs the following processing.

【0047】a.受信したメッセージが障害情報を含む
ものであるか判定する。受信したメッセージが障害情報
を含むものである場合、処理の失敗を表し、トランザク
ションのロールバック契機となり、「障害発生時の処
理」が開始される。
A. It is determined whether the received message includes failure information. If the received message includes the failure information, it indicates that the processing has failed, and the transaction rollback is triggered, and “processing when a failure occurs” is started.

【0048】b.現在の履歴位置に対し、該受信メッセ
ージを応答メッセージとして書き込む。
B. The received message is written as a response message to the current history position.

【0049】c.本メッセージの送信先であるシナリオ
Fをシナリオ・リポジトリ122より取得する。
C. The scenario F, which is the transmission destination of this message, is obtained from the scenario repository 122.

【0050】d.シナリオの記述に従ってメッセージの
評価を行い、条件分岐等の処理を行う。この結果、次に
実行するべき状態名が決定し、該状態に関連付けられた
プログラムに対する要求メッセージが決定する。
D. The message is evaluated according to the description of the scenario, and processing such as conditional branching is performed. As a result, a state name to be executed next is determined, and a request message for a program associated with the state is determined.

【0051】e.新しい実行履歴要素に識別子を付与
し、履歴情報に追加し、履歴要素に対して要求メッセー
ジを書き込む。
E. An identifier is assigned to the new execution history element, added to the history information, and a request message is written to the history element.

【0052】f.d.で決定した状態に関連付けられた
アクティビティの実行を行う。
F. d. Executes the activity associated with the state determined in.

【0053】g.実行履歴要素の該当行にシナリオ名、
状態名を書き込む。また、該状態に対し、打消処理が関
連付けられている場合、それも書き込む。
G. The scenario name,
Write the state name. If a cancellation process is associated with the state, that is also written.

【0054】(5)アクティビティ実行 シナリオ制御プログラム104は、状態Sに関連つけら
れたプログラム識別子をアクティビティ管理プログラム
に渡し、具体的なアクティビティ情報(実行するプログ
ラムの物理名や、アダプタのオブジェクト・リファレン
スなど)を取得する。アクティビティ実行の形態は、
「プログラム実行」、「(並列)シナリオ実行」、「復
帰」がある。
(5) The activity execution scenario control program 104 passes the program identifier associated with the state S to the activity management program, and sends specific activity information (physical name of the program to be executed, object reference of the adapter, etc.) ) To get. The form of activity execution is
There are “program execution”, “(parallel) scenario execution”, and “return”.

【0055】「プログラム実行」の場合、例えば、送信
アダプタ105を起動し、サーバ130に対してメッセ
ージを送信する。その結果として、同期処理の場合、応
答メッセージを取得する場合もある。
In the case of “execution of a program”, for example, the transmission adapter 105 is activated and a message is transmitted to the server 130. As a result, in the case of synchronous processing, a response message may be obtained.

【0056】「シナリオ実行」の場合、「シナリオ起
動」処理に従い、新規のインスタンスIDを払い出し、
新規の実行履歴情報を作成する。また、履歴情報の親子
関係を保持するために、実行履歴親子情報管理テーブル
に対し、親のインスタンスIDと新規に払い出したイン
スタンスIDを書き込む。
In the case of “scenario execution”, a new instance ID is issued according to the “scenario activation” process,
Create new execution history information. Further, in order to maintain the parent-child relationship of the history information, the parent instance ID and the newly issued instance ID are written in the execution history parent-child information management table.

【0057】「復帰」の場合、親のシナリオに対して応
答メッセージを送信する。
In the case of “return”, a response message is transmitted to the parent scenario.

【0058】(6)障害発生時の処理 図2に示したシナリオにより、上記処理内容に従って、
一連のトランザクションを実行した際の実行履歴情報管
理テーブルの例、実行履歴親子情報管理テーブルの例を
図5および図6に示す。図5に示すように、処理の実行
が完了していない(インスタンスID、通番)=(1,
2)の実行履歴情報要素に対するシナリオ名、状態名は
空値になっている。
(6) Processing at the time of occurrence of a failure According to the scenario shown in FIG.
FIGS. 5 and 6 show an example of the execution history information management table and an example of the execution history parent-child information management table when a series of transactions are executed. As shown in FIG. 5, the execution of the processing is not completed (instance ID, serial number) = (1,
The scenario name and state name for the execution history information element of 2) are null values.

【0059】また、図7に、障害発生時の処理のフロー
チャートを示す。
FIG. 7 shows a flowchart of a process when a failure occurs.

【0060】<障害発生時の処理1> 図4において状態Spに対する打消処理Sp’が定義さ
れている場合 図4に示すシナリオF1の状態Sに関連付けられた処理
の実行中に、例えば通信障害等の障害が発生した場合の
打消処理を説明する。
<Process 1 at the Time of Failure Occurrence> When the Cancellation Process Sp 'for the State Sp is Defined in FIG. 4 During the execution of the process associated with the state S of the scenario F1 shown in FIG. The following describes the cancellation processing when a failure occurs.

【0061】障害情報を含むメッセージは、サーバ13
0からメッセージとして、受信アダプタ102に通知さ
れる。通信障害等の場合は、例外情報を含むメッセージ
を受信アダプタ102が生成する場合もある。そして、
受信アダプタ102は、シナリオ制御プログラム104
に該障害情報を含むメッセージを送信する。以下、障害
情報を含むメッセージを単に例外と呼ぶ。例外は、トラ
ンザクション処理中の失敗を表し、トランザクション処
理のロールバック契機となる。
The message containing the failure information is sent to the server 13
0 is notified to the receiving adapter 102 as a message. In the case of a communication failure or the like, the receiving adapter 102 may generate a message including exception information. And
The reception adapter 102 has a scenario control program 104
A message containing the failure information. Hereinafter, a message including fault information is simply referred to as an exception. An exception indicates a failure during transaction processing, and is a trigger for rollback of transaction processing.

【0062】例外が通知されたシナリオ制御プログラム
104は、障害が起きた該インスタンスIDの打消処理
を行う打消処理制御プログラム108を起動する。
The scenario control program 104 to which the exception has been notified activates the cancellation processing control program 108 for canceling the failed instance ID.

【0063】打消処理制御プログラム108は、図5の
実行履歴情報管理テーブルの該インスタンスIDに対応
した通番を検索し、その最大値maxを取得し、現在の
実行位置posとする(ステップA1)。
The cancellation processing control program 108 searches the execution history information management table of FIG. 5 for a serial number corresponding to the instance ID, acquires the maximum value max, and sets the maximum value max as the current execution position pos (step A1).

【0064】該履歴要素行から打消処理プログラムの識
別子の取得を試みる。打消処理プログラムの識別子の取
得が出来た場合(ステップA2のYES)、アクティビ
ティ管理プログラム106から該識別子に対応した打消
プログラムを取得し、実行する(ステップA3)。打消
プログラムは、該実行履歴要素に参照するための情報が
与えられ、その中の要求メッセージ、応答メッセージを
利用して、打消処理を実行する。典型的には、応答メッ
セージ中には、サーバ130から返却された取引IDが
保存されており、打消プログラムは、該取引IDをキー
として、サーバ130に対して打消処理を依頼する。そ
して、本例の場合は、打消処理プログラム識別子Sp’
が定義されているので、Sp’に関連付けられたアクテ
ィビティを実行する。
An attempt is made to obtain an identifier of the cancellation processing program from the history element line. When the identifier of the cancellation processing program can be obtained (YES in step A2), a cancellation program corresponding to the identifier is obtained from the activity management program 106 and executed (step A3). The cancellation program is provided with information for referring to the execution history element, and executes a cancellation process using the request message and the response message in the information. Typically, the transaction ID returned from the server 130 is stored in the response message, and the cancellation program requests the server 130 for cancellation processing using the transaction ID as a key. In the case of this example, the cancellation processing program identifier Sp ′
Is defined, the activity associated with Sp ′ is executed.

【0065】その後、履歴情報上での現在位置posか
ら1を引き(ステップA7)、履歴情報の先頭まで上記
処理を繰り返す。履歴情報の先頭まで打消処理を実行し
た場合(ステップA8のYES)、本インスタンスの親
インスタンスに対して、例外情報を通知する(ステップ
A9)。なお、シナリオの親子階層上の最上位である場
合は、特になにもせずに終了する。
Thereafter, 1 is subtracted from the current position pos on the history information (step A7), and the above processing is repeated until the beginning of the history information. If the cancellation processing has been executed up to the top of the history information (YES in step A8), exception information is notified to the parent instance of this instance (step A9). If the scenario is at the top of the parent-child hierarchy, the process ends without doing anything.

【0066】<障害発生時の処理2> 状態Spに対する打消処理Sp’が定義されていない場
合 例外が通知されたシナリオ制御プログラムは、障害が起
きた該インスタンスIDの打消処理を行う打消処理制御
プログラムを実行する。
<Process 2 when Failure Occurs> When the cancellation process Sp ′ for the state Sp is not defined, the scenario control program to which an exception has been notified is a cancellation process control program for performing the cancellation process for the instance ID in which the failure has occurred. Execute

【0067】打消処理制御プログラムは、図5の実行履
歴情報管理テーブルの該インスタンスIDに対応した通
番を検索し、その最大値maxを取得し、を現在の実行
位置posとする(ステップA1)。
The cancellation processing control program searches the execution history information management table of FIG. 5 for the serial number corresponding to the instance ID, acquires the maximum value max, and sets the maximum value max as the current execution position pos (step A1).

【0068】該履歴要素行から打消処理プログラムの識
別子の取得を試みる。打消処理プログラムの識別子の取
得が出来ない場合(ステップA2のNO)、子シナリオ
に対する実行済みの処理の打消しを行う。
An attempt is made to obtain an identifier of the cancellation processing program from the history element line. If the identifier of the cancellation processing program cannot be obtained (NO in step A2), the executed processing for the child scenario is canceled.

【0069】そこで、図6に示す実行履歴親子情報管理
テーブルのインスタンスID1、通番1に対応した子イ
ンスタンスIDのリストを取得し(ステップA4)、各
インスタンスIDを打ち消す処理を起動する。本例の場
合、インスタンスID1、通番1に対応した子インスタ
ンスIDは2、3、4の3つである。以下、この3つに
対して並列に打消処理の実行を行う。並列の実装は、例
えば、スレッドを複数起こす方法がある。
Therefore, a list of the child instance IDs corresponding to the instance ID 1 and the serial number 1 in the execution history parent-child information management table shown in FIG. 6 is obtained (step A4), and a process for canceling each instance ID is started. In the case of this example, there are three child instance IDs 2, 3, and 4 corresponding to the instance ID 1 and the serial number 1. Hereinafter, cancellation processing is performed on these three in parallel. For parallel implementation, for example, there is a method of starting a plurality of threads.

【0070】以下、同様にインスタンスID2,3,4
に対して障害発生時の処理を適用していく。ここでは、
インスタンスID2に関する処理を説明する。
Hereinafter, similarly, the instance IDs 2, 3, and 4
The processing at the time of the failure occurrence is applied to. here,
The process related to the instance ID 2 will be described.

【0071】打消処理制御プログラムは、図5の実行履
歴情報管理テーブルの該インスタンスIDに対応した通
番を検索し、その最大値max=1を取得し、現在の実
行位置とする。次に、該当履歴行に対し、打消処理プロ
グラム識別子が定義されているか調べる(ステップA
2)。
The cancellation processing control program searches the execution history information management table of FIG. 5 for a serial number corresponding to the instance ID, acquires the maximum value max = 1, and sets the maximum value max = 1 as the current execution position. Next, it is checked whether a cancellation processing program identifier is defined for the corresponding history line (step A).
2).

【0072】本例の場合、S1’が定義されているの
で、それに対応した打消処理プログラムを起動する。
In this example, since S1 'is defined, a cancellation processing program corresponding to S1' is started.

【0073】履歴情報上での現在位置posから1を引
き、履歴情報の先頭まで上記処理を繰り返す。履歴情報
の先頭まで打消処理を実行した場合、本インスタンスの
親インスタンスに対して、例外情報を通知する。
The above process is repeated until 1 is subtracted from the current position pos on the history information and the beginning of the history information. When the cancellation process is executed up to the beginning of the history information, exception information is notified to the parent instance of this instance.

【0074】このように、このシナリオ制御システム1
00では、打消処理プログラムの識別子の定義の有無に
よって、履歴を使用するか、あるいは一括打消処理を行
うかが決定される。つまり、このシナリオ制御システム
100によれば、一様に履歴によらずに、複数の処理を
一括して効率的に打ち消すことも可能である。
As described above, the scenario control system 1
In the case of 00, whether to use the history or to perform the batch cancellation processing is determined depending on whether or not the identifier of the cancellation processing program is defined. That is, according to the scenario control system 100, it is also possible to collectively and efficiently cancel a plurality of processes without depending on the history.

【0075】なお、本願発明は、前記実施形態に限定さ
れるものではなく、実施段階ではその要旨を逸脱しない
範囲で種々に変形することが可能である。更に、前記実
施形態には種々の段階の発明が含まれており、開示され
る複数の構成要件における適宜な組み合わせにより種々
の発明が抽出され得る。たとえば、実施形態に示される
全構成要件から幾つかの構成要件が削除されても、発明
が解決しようとする課題の欄で述べた課題が解決でき、
発明の効果の欄で述べられている効果が得られる場合に
は、この構成要件が削除された構成が発明として抽出さ
れ得る。
The present invention is not limited to the above-described embodiment, and can be variously modified in the implementation stage without departing from the gist of the invention. Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some components are deleted from all the components shown in the embodiment, the problem described in the section of the problem to be solved by the invention can be solved.
In the case where the effects described in the section of the effects of the invention are obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.

【0076】[0076]

【発明の効果】以上のように、この発明によれば、トラ
ンザクション実行時に、各処理毎の実行履歴を取得する
際、その履歴要素毎に打消処理を定義する。そして、打
消処理を履歴の逆順に実行していく際に、該履歴要素に
対して、打消処理が対応付けられていれば、それを起動
する。これにより、並列に実行される複数の処理を一括
して打ち消す処理の起動を可能とする。
As described above, according to the present invention, at the time of executing a transaction, when the execution history of each process is acquired, the cancellation process is defined for each history element. Then, when the cancellation processing is performed in the reverse order of the history, if the cancellation processing is associated with the history element, it is activated. This makes it possible to activate a process for canceling a plurality of processes executed in parallel at once.

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

【図1】この発明の実施形態に係るシナリオ制御システ
ムの構成を示す図。
FIG. 1 is a diagram showing a configuration of a scenario control system according to an embodiment of the present invention.

【図2】同実施形態における並列実行処理を含む階層的
に構成されたトランザクションの例を示す図。
FIG. 2 is an exemplary view showing an example of a hierarchically structured transaction including parallel execution processing according to the embodiment;

【図3】図2に対する実行履歴情報の構成を示す図。FIG. 3 is a diagram showing a configuration of execution history information for FIG. 2;

【図4】同実施形態において例として使用する業務処理
手順を記述したシナリオの例を示す図。
FIG. 4 is an exemplary view showing an example of a scenario describing a business processing procedure used as an example in the embodiment;

【図5】同実施形態のシナリオ制御システムが一連のト
ランザクションを実行した際の実行履歴情報管理テーブ
ルを例示する図。
FIG. 5 is an exemplary view showing an example of an execution history information management table when the scenario control system of the embodiment executes a series of transactions.

【図6】同実施形態のシナリオ制御システムが一連のト
ランザクションを実行した際の実行履歴親子情報管理テ
ーブルを例示する図。
FIG. 6 is an exemplary view showing an execution history parent-child information management table when the scenario control system according to the embodiment executes a series of transactions.

【図7】同実施形態のシナリオ制御システムにおける障
害発生時の処理の流れを示すフローチャート。
FIG. 7 is an exemplary flowchart showing the flow of processing when a failure occurs in the scenario control system of the embodiment.

【図8】従来の並列実行処理と実行履歴に従った第1の
打消処理の例を説明するための第1の図。
FIG. 8 is a first diagram illustrating an example of a conventional parallel execution process and a first cancellation process according to an execution history.

【図9】従来の並列実行処理と実行履歴に従った第1の
打消処理の例を説明するための第2の図。
FIG. 9 is a second diagram illustrating an example of a conventional parallel execution process and a first cancellation process according to an execution history.

【図10】従来の並列実行処理と実行履歴に従った第2
の打消処理の例を説明するための第1の図。
FIG. 10 shows a conventional parallel execution process and a second process according to an execution history.
FIG. 7 is a first diagram for explaining an example of the cancellation processing of FIG.

【図11】従来の並列実行処理と実行履歴に従った第2
の打消処理の例を説明するための第2の図。
FIG. 11 shows a conventional parallel execution process and a second process according to an execution history.
FIG. 9 is a second diagram for describing an example of the cancellation processing of FIG.

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

100…シナリオ制御システム 101…要求受付プログラム 102…受信アダプタ 103…メッセージ管理プログラム 104…シナリオ制御プログラム 105…送信アダプタ 121…シナリオ管理用DBMS 122…シナリオリポジトリ 130…サーバ 100 ... scenario control system 101 ... request reception program 102 ... Reception adapter 103: Message management program 104: scenario control program 105 ... Transmission adapter 121: Scenario management DBMS 122 ... Scenario repository 130 ... Server

───────────────────────────────────────────────────── フロントページの続き (72)発明者 徳丸 浩二 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 鈴木 将貴 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5B085 AA08 AC03 AC16 BA07 BG04 BG07 5B098 GA04 GC16 JJ02 JJ06 JJ08   ────────────────────────────────────────────────── ─── Continuation of front page    (72) Inventor Koji Tokumaru             2-3-1 Otemachi, Chiyoda-ku, Tokyo Sun             Within the Telegraph and Telephone Corporation (72) Inventor Masaki Suzuki             2-3-1 Otemachi, Chiyoda-ku, Tokyo Sun             Within the Telegraph and Telephone Corporation F term (reference) 5B085 AA08 AC03 AC16 BA07 BG04                       BG07                 5B098 GA04 GC16 JJ02 JJ06 JJ08

Claims (24)

【特許請求の範囲】[Claims] 【請求項1】 処理手順を記述したシナリオに従って、
一連の複数の処理から構成されるトランザクションを処
理するトランザクション処理装置において、同一のシナ
リオから分岐して呼び出された複数の別のシナリオのト
ランザクションが並列処理された後、前記呼び出し元の
シナリオのトランザクション処理中において障害が発生
したときに、前記並列処理された別のシナリオのトラン
ザクションを構成する各処理を、各トランザクションに
対してそれぞれに予め一つずつ対応づけられた打消処理
を実行することにより一括して打ち消す打消処理手段を
具備することを特徴とするトランザクション処理装置。
According to a scenario describing a processing procedure,
In a transaction processing apparatus that processes a transaction composed of a series of multiple processes, after a plurality of different scenarios of a transaction that are called from the same scenario are processed in parallel, the transaction processing of the calling scenario is performed. When a failure occurs, the processes constituting the transactions of the different parallel-processed scenarios are collectively executed by executing a cancellation process associated with each transaction one by one in advance. A transaction processing device comprising a cancellation processing means for canceling the transaction.
【請求項2】 前記打消処理手段は、前記並列処理され
た別のシナリオのトランザクションそれぞれに対応づけ
られた打消処理を並列に起動することを特徴とする請求
項1記載のトランザクション処理装置。
2. The transaction processing apparatus according to claim 1, wherein the cancellation processing means starts the cancellation processing associated with each of the transactions of the different scenarios that have been processed in parallel.
【請求項3】 前記打消処理手段は、前記並列処理され
た別のシナリオのトランザクション中に打消処理が対応
づけられていないトランザクションが存在するときに、
そのトランザクションの実行履歴に従い、そのトランザ
クションを構成する各処理に予め対応づけられた打消処
理を逆順に実行していくことを特徴とする請求項1また
は2記載のトランザクション処理装置。
3. The cancellation processing means according to claim 1, wherein, when there is a transaction to which cancellation processing is not associated among the transactions of another scenario processed in parallel.
3. The transaction processing apparatus according to claim 1, wherein a cancellation process previously associated with each process constituting the transaction is executed in reverse order according to the execution history of the transaction.
【請求項4】 前記打消処理手段は、前記呼び出し元の
トランザクションに対応づけられた打消処理により、前
記並列処理された別のシナリオのトランザクションすべ
てを一括して打ち消す手段を有することを特徴とする請
求項1記載のトランザクション処理装置。
4. The method according to claim 1, wherein said cancellation processing means includes means for collectively canceling all the transactions of another scenario that have been processed in parallel by a cancellation processing associated with the transaction of the caller. Item 2. The transaction processing device according to Item 1.
【請求項5】 前記打消処理手段は、前記並列処理され
た別のシナリオのトランザクションのうち、その処理が
完了したトランザクションについては、そのトランザク
ションに対応づけられた打消処理により、そのトランザ
クションを構成する各処理を一括して打ち消し、その処
理が完了していないトランザクションについては、その
トランザクションを構成する各処理に予め対応づけられ
た打消処理により、当該各処理を一つずつ逆順に打ち消
していくことを特徴とする請求項1記載のトランザクシ
ョン処理装置。
5. The cancellation processing means, for a transaction for which the processing has been completed among the transactions of another scenario processed in parallel, performs each of the transactions constituting the transaction by a cancellation processing associated with the transaction. The processing is collectively canceled, and for a transaction that has not been completed, the respective processing is canceled one by one in the reverse order by the cancellation processing previously associated with each processing constituting the transaction. The transaction processing device according to claim 1, wherein
【請求項6】 処理手順を記述したシナリオに従って、
一連の複数の処理から構成されるトランザクションを処
理するトランザクション処理装置において、同一のシナ
リオから分岐して別のシナリオが複数呼び出された際、
各分岐先で並列処理されるトランザクションの実行履歴
を取得するときに、そのトランザクションを構成する各
処理を一括して打ち消すための打消処理を指し示す識別
子を当該トランザクション処理の実行履歴要素として記
録する履歴管理手段と、 前記別のシナリオのトランザクションが並列処理された
後、前記呼び出し元のトランザクション処理中において
障害が発生したときに、前記履歴管理手段により取得さ
れた実行履歴中の識別子で指し示される打消処理を用い
て、前記並列処理された別のシナリオのトランザクショ
ンを構成する各処理を一括して打ち消す打消手段とを具
備することを特徴とするトランザクション処理装置。
6. According to a scenario describing a processing procedure,
In a transaction processing device that processes a transaction consisting of a series of multiple processes, when a different scenario is called multiple times from the same scenario,
When acquiring the execution history of a transaction that is processed in parallel at each branch destination, history management that records, as an execution history element of the transaction process, an identifier indicating a cancellation process for collectively canceling processes constituting the transaction. Means for executing a cancellation process indicated by an identifier in the execution history acquired by the history management means when a failure occurs during the transaction processing of the caller after the transactions of the another scenario are processed in parallel. And a canceling means for collectively canceling each process constituting a transaction of another scenario which has been processed in parallel by using the transaction processing device.
【請求項7】 処理手順を記述したシナリオに従って、
一連の複数の処理から構成されるトランザクションを処
理するトランザクション処理装置のトランザクション処
理方法において、 同一のシナリオから分岐して呼び出された複数の別のシ
ナリオのトランザクションが並列処理された後、前記呼
び出し元のシナリオのトランザクション処理中において
障害が発生したときに、前記並列処理された別のシナリ
オのトランザクションを構成する各処理を、各トランザ
クションに対してそれぞれに予め一つずつ対応づけられ
た打消処理を実行することにより一括して打ち消す打消
処理ステップを具備することを特徴とするトランザクシ
ョン処理方法。
7. According to a scenario describing a processing procedure,
In a transaction processing method of a transaction processing device for processing a transaction composed of a series of plural processes, after a plurality of transactions of another scenario called in a branch from the same scenario are processed in parallel, When a failure occurs during the transaction processing of the scenario, the processing that constitutes the transaction of another scenario that has been processed in parallel is executed with a cancellation processing that is previously associated with each transaction. A transaction processing method, comprising a cancellation processing step of canceling all at once.
【請求項8】 前記打消処理ステップは、前記並列処理
された別のシナリオのトランザクションそれぞれに対応
づけられた打消処理を並列に起動することを特徴とする
請求項7記載のトランザクション処理方法。
8. The transaction processing method according to claim 7, wherein in the cancellation processing step, a cancellation processing associated with each of the transactions of the another scenario that has been processed in parallel is started in parallel.
【請求項9】 前記打消処理ステップは、前記並列処理
された別のシナリオのトランザクション中に打消処理が
対応づけられていないトランザクションが存在するとき
に、そのトランザクションの実行履歴に従い、そのトラ
ンザクションを構成する各処理に予め対応づけられた打
消処理を逆順に実行していくことを特徴とする請求項7
または8記載のトランザクション処理方法。
9. The cancellation processing step comprises, when a transaction to which cancellation processing is not associated exists in another parallel-processed transaction of another scenario, configuring the transaction according to the execution history of the transaction. 8. The method according to claim 7, wherein the canceling process associated with each process is executed in reverse order.
Or the transaction processing method according to 8.
【請求項10】 前記打消処理ステップは、前記呼び出
し元のトランザクションに対応づけられた打消処理によ
り、前記並列処理された別のシナリオのトランザクショ
ンすべてを一括して打ち消す手段を有することを特徴と
する請求項7記載のトランザクション処理方法。
10. The method according to claim 1, wherein the cancellation processing step includes means for simultaneously canceling all the transactions of the different scenario which have been processed in parallel by the cancellation processing associated with the transaction of the caller. Item 8. The transaction processing method according to Item 7.
【請求項11】 前記打消処理ステップは、前記並列処
理された別のシナリオのトランザクションのうち、その
処理が完了したトランザクションについては、そのトラ
ンザクションに対応づけられた打消処理により、そのト
ランザクションを構成する各処理を一括して打ち消し、
その処理が完了していないトランザクションについて
は、そのトランザクションを構成する各処理に予め対応
づけられた打消処理により、当該各処理を一つずつ逆順
に打ち消していくことを特徴とする請求項1記載のトラ
ンザクション処理方法。
11. The cancellation processing step includes, among the transactions of another scenario that have been processed in parallel, for a transaction whose processing has been completed, each of the transactions constituting the transaction is executed by a cancellation processing associated with the transaction. Negatively cancel processing,
2. The transaction according to claim 1, wherein, for a transaction for which the processing has not been completed, the respective processing is canceled one by one in a reverse order by a cancellation processing previously associated with each processing constituting the transaction. Transaction processing method.
【請求項12】 処理手順を記述したシナリオに従っ
て、一連の複数の処理から構成されるトランザクション
を処理するトランザクション実行装置のトランザクショ
ン処理方法において、 同一のシナリオから分岐して別のシナリオが複数呼び出
された際、各分岐先で並列処理されるトランザクション
の実行履歴を取得するときに、そのトランザクションを
構成する各処理を一括して打ち消すための打消処理を指
し示す識別子を当該トランザクション処理の実行履歴要
素として記録する履歴管理ステップと、前記別のシナリ
オのトランザクションが並列処理された後、前記呼び出
し元のトランザクション処理中において障害が発生した
ときに、前記履歴管理手段により取得された実行履歴中
の識別子で指し示される打消処理を用いて、前記並列処
理された別のシナリオのトランザクションを構成する各
処理を一括して打ち消す打消ステップとを具備すること
を特徴とするトランザクション処理方法。
12. A transaction processing method of a transaction execution device for processing a transaction composed of a series of plural processes according to a scenario describing a processing procedure, wherein a plurality of different scenarios are called by branching from the same scenario. At this time, when acquiring the execution history of a transaction that is processed in parallel at each branch destination, an identifier indicating a cancellation process for canceling each process constituting the transaction at once is recorded as an execution history element of the transaction process. After a transaction of the different scenario is processed in parallel with the history management step, when a failure occurs during the transaction processing of the caller, the failure is indicated by an identifier in the execution history acquired by the history management unit. Using the cancellation process, Transaction processing method characterized by comprising the bucking step of canceling collectively each process configuring the transaction management has been another scenario.
【請求項13】 処理手順を記述したシナリオに従っ
て、一連の複数の処理から構成されるトランザクション
を処理するトランザクション処理装置に適用されるプロ
グラムであって、 前記トランザクション処理装置を、 同一のシナリオから分岐して呼び出された複数の別のシ
ナリオのトランザクションが並列処理された後、前記呼
び出し元のシナリオのトランザクション処理中において
障害が発生したときに、前記並列処理された別のシナリ
オのトランザクションを構成する各処理を、各トランザ
クションに対してそれぞれに予め一つずつ対応づけられ
た打消処理を実行することにより一括して打ち消す打消
処理手段として機能させるためのプログラム。
13. A program applied to a transaction processing device that processes a transaction composed of a series of plural processes according to a scenario describing a processing procedure, wherein the transaction processing device branches from the same scenario. After a plurality of transactions of another scenario called in parallel are processed in parallel, when a failure occurs during the transaction processing of the scenario of the caller, each process constituting the transaction of the another scenario processed in parallel For executing a cancellation process associated with each transaction in advance by executing a cancellation process associated with each transaction one by one.
【請求項14】 前記打消処理手段に、前記並列処理さ
れた別のシナリオのトランザクションそれぞれに対応づ
けられた打消処理を並列に起動させることを特徴とする
請求項13記載のプログラム。
14. The non-transitory storage medium according to claim 13, wherein the cancellation processing unit activates, in parallel, cancellation processing associated with each of the transactions of the different scenario that have been processed in parallel.
【請求項15】 前記打消処理手段に、前記並列処理さ
れた別のシナリオのトランザクション中に打消処理が対
応づけられていないトランザクションが存在するとき
に、そのトランザクションの実行履歴に従い、そのトラ
ンザクションを構成する各処理に予め対応づけられた打
消処理を逆順に実行させることを特徴とする請求項13
または14記載のプログラム。
15. When the cancellation processing means includes a transaction to which cancellation processing is not associated in another parallel-processed transaction of another scenario, configures the transaction according to the execution history of the transaction. 14. The method according to claim 13, wherein a cancellation process associated with each process is executed in reverse order.
Or the program according to 14.
【請求項16】 前記打消処理手段に、前記呼び出し元
のトランザクションに対応づけられた打消処理により、
前記並列処理された別のシナリオのトランザクションす
べてを一括して打ち消させることを特徴とする請求項1
3記載のプログラム。
16. The cancellation processing means according to the cancellation processing associated with the transaction of the caller,
2. The method according to claim 1, wherein all of the transactions of the different scenario processed in parallel are canceled collectively.
3. The program according to 3.
【請求項17】 前記打消処理手段に、前記並列処理さ
れた別のシナリオのトランザクションのうち、その処理
が完了したトランザクションについては、そのトランザ
クションに対応づけられた打消処理により、そのトラン
ザクションを構成する各処理を一括して打ち消させ、そ
の処理が完了していないトランザクションについては、
そのトランザクションを構成する各処理に予め対応づけ
られた打消処理により、当該各処理を一つずつ逆順に打
ち消させることを特徴とする請求項13載のプログラ
ム。
17. The transaction processing unit according to claim 13, wherein, among the transactions of the different scenario processed in parallel, the transaction for which the processing has been completed is executed by the cancellation processing associated with the transaction. If a transaction is canceled in batches and the transaction is not completed,
14. The program according to claim 13, wherein the respective processes are canceled one by one in a reverse order by a cancellation process previously associated with each process constituting the transaction.
【請求項18】 処理手順を記述したシナリオに従っ
て、一連の複数の処理から構成されるトランザクション
を処理するトランザクション処理装置に適用されるプロ
グラムであって、 前記トランザクション装置を、 同一のシナリオから分岐して別のシナリオが複数呼び出
された際、各分岐先で並列処理されるトランザクション
の実行履歴を取得するときに、そのトランザクションを
構成する各処理を一括して打ち消すための打消処理を指
し示す識別子を当該トランザクション処理の実行履歴要
素として記録する履歴管理手段、 前記別のシナリオのトランザクションが並列処理された
後、前記呼び出し元のトランザクション処理中において
障害が発生したときに、前記履歴管理手段により取得さ
れた実行履歴中の識別子で指し示される打消処理を用い
て、前記並列処理された別のシナリオのトランザクショ
ンを構成する各処理を一括して打ち消す打消手段として
機能させるためのプログラム。
18. A program applied to a transaction processing device that processes a transaction composed of a series of plural processes in accordance with a scenario describing a processing procedure, wherein the transaction device is branched from the same scenario. When a plurality of different scenarios are called, when acquiring the execution history of a transaction that is processed in parallel at each branch destination, an identifier indicating a cancellation process for canceling each process constituting the transaction at once is referred to as the transaction. History management means for recording as an execution history element of processing; execution history acquired by the history management means when a failure occurs during transaction processing of the caller after the transactions of the different scenario are processed in parallel. Cancellation process indicated by the identifier in And a program for functioning as a canceling means for collectively canceling each process constituting a transaction of another scenario which has been processed in parallel.
【請求項19】 処理手順を記述したシナリオに従っ
て、一連の複数の処理から構成されるトランザクション
を処理するトランザクション実行装置に適用されるプロ
グラムであって、 前記トランザクション装置を、 同一のシナリオから分岐して呼び出された複数の別のシ
ナリオのトランザクションが並列処理された後、前記呼
び出し元のシナリオのトランザクション処理中において
障害が発生したときに、前記並列処理された別のシナリ
オのトランザクションを構成する各処理を、各トランザ
クションに対してそれぞれに予め一つずつ対応づけられ
た打消処理を実行することにより一括して打ち消す打消
処理手段として機能させるためのプログラムを記録した
コンピュータ読み取り可能な記録媒体。
19. A program applied to a transaction execution device that processes a transaction composed of a series of multiple processes in accordance with a scenario describing a processing procedure, wherein the transaction device is branched from the same scenario. After a plurality of called transactions of the different scenarios are processed in parallel, when a failure occurs during the transaction processing of the calling scenario, each of the processes constituting the transactions of the another processed parallel scenario is executed. A computer-readable recording medium in which a program for executing a cancellation process means for executing a cancellation process associated with each transaction one by one in advance to collectively cancel each transaction is recorded.
【請求項20】 前記プログラムは、前記打消処理手段
に、前記並列処理された別のシナリオのトランザクショ
ンそれぞれに対応づけられた打消処理を並列に起動させ
ることを特徴とする請求項19記載のコンピュータ読み
取り可能な記録媒体。
20. The computer-readable medium according to claim 19, wherein said program causes said cancellation processing means to activate in parallel the cancellation processing associated with each of said transactions of said another scenario that has been processed in parallel. Possible recording medium.
【請求項21】 前記プログラムは、前記打消処理手段
に、前記並列処理された別のシナリオのトランザクショ
ン中に打消処理が対応づけられていないトランザクショ
ンが存在するときに、そのトランザクションの実行履歴
に従い、そのトランザクションを構成する各処理に予め
対応づけられた打消処理を逆順に実行させることを特徴
とする請求項19または20記載のコンピュータ読み取
り可能な記録媒体。
21. The program according to claim 16, wherein, when there is a transaction to which cancellation processing is not associated among the parallel-processed transactions of another scenario, the cancellation processing means executes the transaction in accordance with the execution history of the transaction. 21. The computer-readable recording medium according to claim 19, wherein a canceling process previously associated with each process constituting a transaction is executed in reverse order.
【請求項22】 前記プログラムは、前記打消処理手段
に、前記呼び出し元のトランザクションに対応づけられ
た打消処理により、前記並列処理された別のシナリオの
トランザクションすべてを一括して打ち消させることを
特徴とする請求項19記載のコンピュータ読み取り可能
な記録媒体。
22. The program, wherein the cancel processing means causes the cancel processing associated with the transaction of the caller to collectively cancel all the transactions of the different scenario that have been processed in parallel. 20. The computer-readable recording medium according to claim 19, wherein:
【請求項23】 前記プログラムは、前記打消処理手段
に、前記並列処理された別のシナリオのトランザクショ
ンのうち、その処理が完了したトランザクションについ
ては、そのトランザクションに対応づけられた打消処理
により、そのトランザクションを構成する各処理を一括
して打ち消させ、その処理が完了していないトランザク
ションについては、そのトランザクションを構成する各
処理に予め対応づけられた打消処理により、当該各処理
を一つずつ逆順に打ち消させることを特徴とする請求項
1記載のトランザクション処理装置。
23. The program instructs the cancellation processing means to execute, for a transaction whose processing has been completed among the transactions of the another scenario processed in parallel, the cancellation processing associated with the transaction. Of the transactions that have not been completed, the respective processes are canceled one by one in the reverse order by the cancellation process previously associated with each process that constitutes the transaction. 2. The transaction processing apparatus according to claim 1, wherein
【請求項24】 処理手順を記述したシナリオに従っ
て、一連の複数の処理から構成されるトランザクション
を処理するトランザクション実行装置に適用されるプロ
グラムであって、 前記トランザクション装置を、 同一のシナリオから分岐して別のシナリオが複数呼び出
された際、各分岐先で並列処理されるトランザクション
の実行履歴を取得するときに、そのトランザクションを
構成する各処理を一括して打ち消すための打消処理を指
し示す識別子を当該トランザクション処理の実行履歴要
素として記録する履歴管理手段、 前記別のシナリオのトランザクションが並列処理された
後、前記呼び出し元のトランザクション処理中において
障害が発生したときに、前記履歴管理手段により取得さ
れた実行履歴中の識別子で指し示される打消処理を用い
て、前記並列処理された別のシナリオのトランザクショ
ンを構成する各処理を一括して打ち消す打消手段として
機能させるためのプログラムを記録したコンピュータ読
み取り可能な記録媒体。
24. A program applied to a transaction execution device that processes a transaction composed of a series of plural processes according to a scenario describing a processing procedure, wherein the transaction device is branched from the same scenario. When a plurality of different scenarios are called, when acquiring the execution history of a transaction that is processed in parallel at each branch destination, an identifier indicating a cancellation process for canceling each process constituting the transaction at once is referred to as the transaction. History management means for recording as an execution history element of processing; execution history acquired by the history management means when a failure occurs during transaction processing of the caller after the transactions of the different scenario are processed in parallel. Cancellation process indicated by the identifier in And a computer-readable recording medium storing a program for functioning as a canceling means for collectively canceling each process constituting a transaction of another scenario which has been processed in parallel.
JP2002152929A 2002-05-27 2002-05-27 Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded Pending JP2003345610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002152929A JP2003345610A (en) 2002-05-27 2002-05-27 Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002152929A JP2003345610A (en) 2002-05-27 2002-05-27 Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded

Publications (1)

Publication Number Publication Date
JP2003345610A true JP2003345610A (en) 2003-12-05

Family

ID=29770140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002152929A Pending JP2003345610A (en) 2002-05-27 2002-05-27 Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded

Country Status (1)

Country Link
JP (1) JP2003345610A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072450A (en) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp System, method, and program for information processing
JP2010534891A (en) * 2007-07-26 2010-11-11 アビニシオ テクノロジー エルエルシー Graphical computation of transactions with error handling

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072450A (en) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp System, method, and program for information processing
JP4575088B2 (en) * 2004-08-31 2010-11-04 三菱電機株式会社 Information processing system, information processing method, and information processing program
JP2010534891A (en) * 2007-07-26 2010-11-11 アビニシオ テクノロジー エルエルシー Graphical computation of transactions with error handling

Similar Documents

Publication Publication Date Title
CN107688500B (en) Distributed task processing method, device, system and equipment
CN109684057B (en) Task processing method and device and storage medium
JP6223569B2 (en) Computer apparatus, method and apparatus for scheduling business flows
US7328213B2 (en) Transaction processing method, transaction control apparatus and program thereof
US10951542B2 (en) Method for managing operational schedules of cloud-based systems
US9432455B2 (en) Synchronizing events between mobile devices and servers
US8418191B2 (en) Application flow control apparatus
WO2018145559A1 (en) Method and system for generating continuous integration pipeline
JP5619179B2 (en) Computer system, job execution management method, and program
CN112114894A (en) Process processing method and device based on Activiti process engine and electronic equipment
CN112700219A (en) ACTIVITI-based process management platform
JP2006338197A (en) Transaction control program, transaction control method, and transaction processing system
WO2021082925A1 (en) Transaction processing method and apparatus
CN109491767A (en) The processing method and distributed system of distributed transaction
CN112686580A (en) Workflow definition method and system capable of customizing flow
JP2000348111A (en) Workflow managing method and its implementing device, and recording medium where processing program thereof is recorded
JP2003345610A (en) Transaction processing apparatus, transaction processing method for the apparatus, transaction processing program and computer-readable recording medium where the program is recorded
CN111367995A (en) Data synchronization method and device based on service lock, electronic equipment and storage medium
CN112825525A (en) Method and apparatus for processing transactions
CN111625323A (en) Distributed task processing method, device, equipment and computer readable storage medium
KR101888131B1 (en) Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
US7433875B2 (en) Web store events
CN112418796A (en) Sub-process node activation method and device, electronic equipment and storage medium
JP4262932B2 (en) Transaction processing apparatus, transaction processing method for the same, transaction processing program, and computer-readable recording medium recording the program
CN116028544B (en) Timing task dynamic adding method based on OPENSTACK

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Written amendment

Effective date: 20051003

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060725

RD02 Notification of acceptance of power of attorney

Effective date: 20060731

Free format text: JAPANESE INTERMEDIATE CODE: A7422

A912 Removal of reconsideration by examiner before appeal (zenchi)

Effective date: 20070105

Free format text: JAPANESE INTERMEDIATE CODE: A912

RD04 Notification of resignation of power of attorney

Effective date: 20070119

Free format text: JAPANESE INTERMEDIATE CODE: A7424