JP2002342138A - System and method for controlling on-line transaction - Google Patents

System and method for controlling on-line transaction

Info

Publication number
JP2002342138A
JP2002342138A JP2001143203A JP2001143203A JP2002342138A JP 2002342138 A JP2002342138 A JP 2002342138A JP 2001143203 A JP2001143203 A JP 2001143203A JP 2001143203 A JP2001143203 A JP 2001143203A JP 2002342138 A JP2002342138 A JP 2002342138A
Authority
JP
Japan
Prior art keywords
transaction
derived
derivation
management
processing
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.)
Granted
Application number
JP2001143203A
Other languages
Japanese (ja)
Other versions
JP3732113B2 (en
Inventor
Masayoshi Ishii
雅由 石井
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.)
HACHIJUNI BANK Ltd
Original Assignee
HACHIJUNI BANK 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 HACHIJUNI BANK Ltd filed Critical HACHIJUNI BANK Ltd
Priority to JP2001143203A priority Critical patent/JP3732113B2/en
Publication of JP2002342138A publication Critical patent/JP2002342138A/en
Application granted granted Critical
Publication of JP3732113B2 publication Critical patent/JP3732113B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To realize various processings while securing responsiveness of on-line processing. SOLUTION: A system is provided with an on-line responding part 10 for processing a business processing request inputted from terminals 1A and 1B, etc., an on-line transaction according to a message inputted from a message inputting means 8 and also controls to output the processing results as a response to the terminals. An operating means 4 is provided with a derived transaction managing part 12 for managing a derived transaction that processes auxiliary business related to a derived start transaction subjected to a start request as a portion of performance processing of the derived start transaction being an on-line transaction or a prescribed derived transaction. The derived transaction managing part 12 commits the derived start transaction without waiting for the derived transaction to be committed.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、オンライントラン
ザクション制御システム及びその方法に関する。
[0001] The present invention relates to an online transaction control system and method.

【0002】[0002]

【従来の技術】従来より、大規模なデータベースに対し
て正確で一貫性があり障害に対して確実な復旧を可能と
する処理を実現する手法として、トランザクション処理
が利用されている。トランザクションは、データベース
(DB)に対する処理の単位として用いられる。トラン
ザクションは、DBに一又は複数の更新を行う。このと
き、トランザクションは、その性質によって、全体とし
て成功するか又は全体として失敗するかのいずれかであ
ることが保証される。DBへの全ての更新に成功した場
合に、トランザクションは同期点(syncpoint)に達す
る。すなわち、トランザクションはコミット(commit)す
る。一般的なトランザクション管理システムでは、同期
点に達したトランザクションによる更新はログに記録さ
れ、このDBへの更新は障害に対して耐久性(Durabili
ty)を有する。
2. Description of the Related Art Conventionally, transaction processing has been used as a technique for realizing processing that is accurate, consistent, and can reliably recover from a failure in a large-scale database. A transaction is used as a unit of processing for a database (DB). The transaction makes one or more updates to the DB. At this time, the nature of the transaction guarantees that it either succeeds as a whole or fails as a whole. If all updates to the DB are successful, the transaction reaches a syncpoint. That is, the transaction commits. In a general transaction management system, updates by transactions that have reached a synchronization point are recorded in a log, and updates to this DB are durable against failures (Durabili
ty).

【0003】一方、トランザクションに含まれる処理の
うち一つでも成立しなかった場合には、そのトランザク
ションはアボート(abort)される。トランザクションが
アボートされると、そのトランザクションが行った全て
の更新は取り消される。すなわち、トランザクションが
アボートされると、トランザクション管理システムは、
その時までに実行された全ての更新をロールバックす
る。このため、トランザクションは、一又は複数のプロ
グラムを実行し、複数の更新を行っていても、全ての更
新を正常に実行しコミットするか、又は、ロールバック
によりなにも処理しないかのいずれかである。トランザ
クションは、アプリケーションにとって処理の最小単位
となることから、これをトランザクションの原子性(ア
トミック性,Atomicity)という。
On the other hand, if at least one of the processes included in a transaction does not hold, the transaction is aborted. When a transaction is aborted, all updates made by that transaction are undone. That is, when a transaction is aborted, the transaction management system
Roll back all updates performed up to that point. For this reason, a transaction executes one or more programs and performs multiple updates, and either executes all updates normally and commits, or does not process anything by rollback It is. Since a transaction is the smallest unit of processing for an application, this is called the atomicity of the transaction.

【0004】トランザクションは原子性を有するから、
プログラマは、DBの更新に際して一貫性・整合性(Co
nsistency)を保つことができる。適用業務プログラム
(アプリケーション,APPL)のプログラマは、他の
トランザクションによって参照されるべきではない中間
的なデータの算出処理と、この中間的なデータを正常な
データへと変換又は関連させる処理とを1つのトランザ
クションとして包み込むことで、DBの整合性、データ
の一貫性を保つことができる。正常なデータへ変換され
たことを条件としてコミットするため、中間的なデータ
の状態でDBに格納され、他のトランザクションによっ
てこの中間的なデータが参照されることはない。一方、
正常なデータに変換されない場合には、トランザクショ
ンがアボートされるため、中間的なデータの算出及び更
新もロールバックにより取り消される。
[0004] Since transactions have atomicity,
When updating the DB, the programmer must
nsistency). A programmer of an application program (application, APPL) performs a process of calculating intermediate data that should not be referred to by another transaction and a process of converting or relating the intermediate data to normal data. By encapsulating as one transaction, it is possible to maintain the consistency of the DB and the consistency of the data. Since the commit is performed on condition that the data is converted to normal data, the data is stored in the DB in an intermediate data state, and the intermediate data is not referred to by other transactions. on the other hand,
If the data is not converted to normal data, the transaction is aborted, and the calculation and update of intermediate data are also canceled by rollback.

【0005】例えば、口座振替(資金移動)は、ある口
座Aからの数値の減算(出金)と、他の口座Bへの数値
の加算(入金)とからなる処理である。中間的なデータ
は、例えばある口座Aからの数値の減算である。この数
値の減算処理と加算処理とを1つのトランザクションと
して包み込むことで、口座振替に成功するか、または失
敗するかのいずれかであることが保証される。この場
合、数値の減算のみ又は加算のみが行われることはな
い。すなわち、出金と入金とを1つのトランザクション
として処理すると、出金だけが行われ、入金なされない
という事態は生じない。
[0005] For example, account transfer (fund transfer) is a process comprising subtraction of a numerical value from one account A (withdrawal) and addition of a numerical value to another account B (payment). The intermediate data is, for example, the subtraction of a numerical value from a certain account A. By enclosing the subtraction process and the addition process of this numerical value as one transaction, it is guaranteed that the account transfer is either successful or failed. In this case, only the subtraction or the addition of the numerical values is not performed. That is, if the dispensing and the deposit are processed as one transaction, only the dispensing is performed and the situation that the deposit is not made does not occur.

【0006】また、トランザクション間での前後関係を
明確に保ち、トランザクション処理中のデータを他のト
ランザクションが参照できないようにすることで、複数
のトランザクションを並行して処理することができる。
このように、並列処理や分散処理を行うためには、トラ
ンザクション間で扱うデータを相互に隔離(Isolatio
n)しなければならない。このデータの隔離(分離)に
はロックが有効である。トランザクションが更新の可能
性を持ってデータにアクセスした場合には、そのトラン
ザクションは、そのデータ項目をロックし、必要な更新
を行った後に、そのロックを解除する。トランザクショ
ンは、ロックされているデータにアクセスしようとする
と、そのロックが他のトランザクションによって解除さ
れるまで待機する。これにより、トランザクションの直
列性を確保し、トランザクションに隔離性を与え、トラ
ンザクションの並列処理・分散処理が可能となる。
In addition, by keeping the context between transactions clear and preventing other transactions from referring to the data being processed, a plurality of transactions can be processed in parallel.
As described above, in order to perform parallel processing and distributed processing, data handled between transactions is isolated from each other (Isolatio
n) Must do. A lock is effective for isolating (separating) this data. If the transaction accesses the data with the possibility of updating, the transaction locks the data item, makes the necessary updates, and then releases the lock. When a transaction attempts to access locked data, it waits until the lock is released by another transaction. As a result, the seriality of the transaction is secured, the transaction is isolated, and the transaction can be processed in parallel and distributed.

【0007】ロックを用いることで、トランザクション
の直列性を維持しながら並列処理を行うことができる
が、ロックの粒度(競合の単位)が大きい場合には、ロ
ックの解除を待機する頻度が増大し、そして待機時間が
長くなる傾向となる。また、ロックを使用する例では、
各トランザクションのDBの読み込み順序によっては、
デッドロックが発生する。例えば、DBxとDByがあ
るとき、トランザクションT1がDBxを読み、続い
て、DByを読み出そうとするが、このDByはトラン
ザクションT2によってロックされているとする。この
場合、トランザクションT1は、DBxをロックしたま
ま、DByのロックが解除されるまで待機する。トラン
ザクションT2がDByを読み出した後、DBxを読み
出そうとしていると、デッドロックが生じる。このよう
に、トランザクションT1がT2の処理完了を待機し、
トランザクションT2がT1の処理完了を待機する場合
に、デッドロックが生じる。デッドロックは、すべての
トランザクションでDBの読み込み順序を同一とするこ
となどで回避することができる。
By using a lock, parallel processing can be performed while maintaining the seriality of a transaction. However, when the granularity of the lock (contention unit) is large, the frequency of waiting for the release of the lock increases. , And the waiting time tends to be longer. Also, in the example using locks,
Depending on the reading order of DB of each transaction,
Deadlock occurs. For example, when there are DBx and DBy, it is assumed that the transaction T1 reads DBx and then tries to read DBy, and this DBy is locked by the transaction T2. In this case, the transaction T1 waits until the lock on DBy is released with the lock on DBx. If the transaction T2 tries to read DBx after reading DBy, a deadlock occurs. Thus, the transaction T1 waits for the completion of the processing of T2,
Deadlock occurs when the transaction T2 waits for the completion of the processing of T1. Deadlock can be avoided by making the reading order of the DB the same in all transactions.

【0008】さて、トランザクションは原子性、一貫
性、隔離性、耐久性のACID特性を有する。この特性
によるトランザクション処理を用いると、厳密で強固な
システムを構築することができる。従って、トランザク
ション処理システムは、金融機関での勘定系システム
や、航空機等の運行や発券等の管理システムや、各種産
業の製造工程の管理システムや、通信の制御システムな
ど、幅広い分野で利用されている。このようなシステム
は、オンライン処理とバッチ処理とを実行する。例え
ば、従来の勘定系システムでは、日中はATM等の端末
や行内の営業店端末からの業務処理要求をオンライント
ランザクションとして処理し、オンラインを停止した夜
間から早朝にかけて口座振替などをバッチで処理してい
た。しかしながら、今日では、バッチ処理を最大限少な
くし、24時間連続運用を行うことが求められている。
[0008] Now, transactions have ACID properties of atomicity, consistency, isolation and durability. By using the transaction processing based on this characteristic, a strict and robust system can be constructed. Therefore, the transaction processing system is used in a wide range of fields, such as an accounting system in a financial institution, a management system for operation and ticketing of aircraft, a manufacturing system management system in various industries, and a communication control system. I have. Such a system performs online processing and batch processing. For example, in a conventional accounting system, during the daytime, business processing requests from terminals such as ATMs and branch office terminals are processed as online transactions, and bank transfers and the like are processed in batches from the night when online was stopped until early in the morning. I was However, today, there is a demand for minimizing batch processing and performing continuous operation for 24 hours.

【0009】ACID特性を有するトランザクションで
実行できる業務は、比較的単純な処理に限られていた。
これは、1つのトランザクションで複雑な処理の実行を
図ると、ロックが多数生じ、オンライン処理の応答性を
悪化させてしまうことによる。また、1つのトランザク
ションでは処理が不可能なデータ量などがある。従来の
トランザクション処理では、一般的に、オンラインでの
業務処理要求を受信して即座に実行し、直ちにコミット
するようにプログラムされている。
The tasks that can be executed by a transaction having ACID characteristics have been limited to relatively simple processing.
This is because if one transaction attempts to execute a complicated process, many locks are generated and the responsiveness of the online process is deteriorated. In addition, there is an amount of data that cannot be processed by one transaction. In conventional transaction processing, it is generally programmed to receive an online business processing request, immediately execute the request, and immediately commit.

【0010】トランザクション間の直列性を管理するた
めのロッキングを行わなければ、応答性は向上するが、
一方、DBの一貫性を厳格に管理することができなくな
る。優れた設計には英知に従った妥協が存在するが、こ
のオンラインの応答性の確保と、より複雑な処理の実現
との両立に関しては、近年、種々模索されている。この
対立は、トランザクションの並列処理と、厳格な原子性
とをどのように調和させるのかという点と関連する。並
列処理を有効に機能させることができれば、オンライン
トランザクションの応答性は良好に確保される。
If the locking for managing the seriality between transactions is not performed, the responsiveness is improved.
On the other hand, the DB consistency cannot be strictly managed. Although good design involves wisdom-based compromises, various attempts have been made in recent years to achieve both on-line responsiveness and more complex processing. This conflict is related to how to balance transaction parallelism with strict atomicity. If the parallel processing can function effectively, the responsiveness of the online transaction can be ensured well.

【0011】この課題に対するいくつかの手法は、例え
ば、“トランザクション処理システム入門”フィリップ
・A・バーンスタイン,エリック・ニューカマー著,日
経BP社刊(Principles of Transaction Processing,
Philip Bernstein, Eric Newcomer)や、“CORB
A,Encinaによるエンタープライズ・トランザク
ション”イアン・ゴートン著,ピアソン・エデュケーシ
ョン刊(Enterprise Transaction Processing Systems:
Putting the CORBA OTS, Encina++ and OrbixOTM to W
ork, Ian Gorton)に記載されている。
Some approaches to this problem are described in, for example, "Introduction to Transaction Processing Systems," by Philip A. Bernstein and Eric Newcomer, published by Nikkei BP (Principles of Transaction Processing,
Philip Bernstein, Eric Newcomer) and "CORB
A, Enterprise Transactions by Encina, "Ian Gorton, Pearson Education (Enterprise Transaction Processing Systems:
Putting the CORBA OTS, Encina ++ and OrbixOTM to W
ork, Ian Gorton).

【0012】ACID特性による単純なトランザクショ
ン管理を越える手法として、セーブポイント(save poi
nt)がある。これは、トランザクションの実行途中です
べてのリソースの状態を保存するものである。これによ
り、障害が発生した場合に、トランザクションの途中か
らの再開が可能となる。永続セーブポイントでは、トラ
ンザクションの原子性を抜きにして耐久性を与える。こ
れにより、処理に長時間を要するトランザクションにつ
いて、全体をアボートするのではなく、途中からの再開
を可能とする。セーブポイントを用いた手法は、例え
ば、特開2000−10810号公報に開示されてい
る。一般的に、セーブポイントを利用しても、そのセー
ブポイント時でトランザクションが取り扱っているデー
タは他のトランザクションから隔離されるため、ロック
による競合を減らすことはできない。
As a technique that goes beyond simple transaction management based on ACID characteristics, save poi
nt). This is to save the state of all resources during the execution of a transaction. As a result, when a failure occurs, it is possible to restart the transaction from the middle. Persistent savepoints provide durability by eliminating the atomicity of transactions. As a result, a transaction that requires a long time for processing can be restarted from the middle instead of being aborted. A method using save points is disclosed in, for example, Japanese Patent Application Laid-Open No. 2000-10810. In general, even if a save point is used, data being handled by a transaction at the time of the save point is isolated from other transactions, so that lock contention cannot be reduced.

【0013】複数のトランザクションを関連させる手法
として、入れ子トランザクション(例えば、Transarc社
のEncina TPモニタ)や、連鎖トランザクション(例え
ば、IBM社のMQシリーズ)がある。入れ子トランザクシ
ョンは、トランザクションに親子関係を与えることで、
トランザクション実行中に他のトランザクションを呼び
出すことを可能とする。最初に起動されるトランザクシ
ョンは親トランザクションとなる。この親トランザクシ
ョンが呼び出したトランザクションは、副トランザクシ
ョンとなる。副トランザクションは、親トランザクショ
ンに対してACID特性を有するが、他のトランザクシ
ョンに対しては耐久性を有さない。副トランザクション
が最終的にコミットするのは、親トランザクションがコ
ミットした場合である。副トランザクションは、同じ親
を持つ他の副トランザクションに対して原子的であり、
また、他のトランザクションや同じ親を持つ副トランザ
クションから隔離される。
As a method of relating a plurality of transactions, there are a nested transaction (for example, Encina TP monitor of Transarc) and a chained transaction (for example, MQ series of IBM). Nested transactions give a transaction a parent-child relationship,
Allows another transaction to be called during transaction execution. The transaction started first becomes the parent transaction. The transaction called by this parent transaction becomes a sub-transaction. The sub-transaction has an ACID property for the parent transaction, but is not durable for other transactions. The sub-transaction commits eventually when the parent transaction commits. A subtransaction is atomic with respect to other subtransactions with the same parent,
It is isolated from other transactions and sub-transactions having the same parent.

【0014】この入れ子トランザクションモデルを用い
ると、振替処理という親トランザクションが、出金処理
という副トランザクションと、入金処理という副トラン
ザクションとを起動することができる。出金処理という
副トランザクションがコミットすると、その結果は入金
処理から参照することができる。一方、出金処理である
副トランザクションのコミットによって、そのロックの
管理者は親トランザクションに移る。このため、親トラ
ンザクションがコミットするまでは、その副トランザク
ション以外の他のトランザクションは出金処理の結果を
参照することができない。従って、入金処理が何らかの
理由でアボートされた場合には、親トランザクションが
アボートされ、出金処理もロールバックすることができ
る。この入れ子トランザクションモデルは、オブジェク
ト指向プログラミングとの相性が良いとされている。
Using this nested transaction model, a parent transaction called a transfer process can start a sub-transaction called a pay-out process and a sub-transaction called a deposit process. When the sub-transaction of the payment processing is committed, the result can be referred to from the payment processing. On the other hand, by committing the sub-transaction that is the payment processing, the administrator of the lock moves to the parent transaction. Therefore, until the parent transaction commits, transactions other than the sub-transaction cannot refer to the result of the payment processing. Therefore, if the payment processing is aborted for any reason, the parent transaction is aborted, and the payment processing can also be rolled back. This nested transaction model is said to be compatible with object-oriented programming.

【0015】入れ子トランザクションモデルを用いる
と、複雑なデータ構造や処理をクラス階層で定義し、オ
ブジェクトのメッセージと振る舞いを定義することでシ
ステムの開発をすることができるが、副トランザクショ
ンは実際には親トランザクションがコミットするまで耐
久性が与えられないため、ロックの増大が生じる可能性
がある。すなわち、入れ子トランザクションモデルで
は、副トランザクションを含んだ大きなトランザクショ
ンを実行しており、その大域のトランザクションは他の
トランザクションに対してACID特性を有する。従っ
て、入れ子トランザクションは、プログラムの再利用性
を高める点で役に立つが、親トランザクションを単位と
したロックの競合を減少させることはない。
When the nested transaction model is used, a complex data structure and processing can be defined in a class hierarchy, and a system can be developed by defining the message and behavior of an object. Locks can grow because they are not durable until the transaction commits. That is, in the nested transaction model, a large transaction including a sub-transaction is executed, and the global transaction has ACID characteristics with respect to other transactions. Thus, nested transactions are useful in increasing program reusability, but do not reduce lock contention on a parent transaction basis.

【0016】「連鎖(chain)」という用語は、種々の文
脈で用いられている。特開平10−69418号公報で
は、連鎖トランザクションについて段落0060以下に
記述されている。これによると、連鎖トランザクション
モデルでは、メンバトランザクションT3が別のメンバ
トランザクションT4を起動する。メンバトランザクシ
ョンT4の起動処理は、起動側のメンバトランザクショ
ンT3の原子性に包まれる。従って、起動側のメンバト
ランザクションT3がコミットする場合のみ別のメンバ
トランザクションT4が起動される。起動されたメンバ
トランザクションT4のアボートは、トランザクション
T3に波及しない。
The term "chain" is used in various contexts. In Japanese Patent Application Laid-Open No. H10-69418, a chained transaction is described in paragraph 0060 and subsequent paragraphs. According to this, in the chained transaction model, a member transaction T3 activates another member transaction T4. The activation process of the member transaction T4 is wrapped in the atomicity of the activation member transaction T3. Therefore, another member transaction T4 is started only when the starting member transaction T3 commits. The abort of the activated member transaction T4 does not extend to the transaction T3.

【0017】連鎖トランザクション方式による再起動の
扱いは、最近にコミットされたメンバトランザクション
のコミットの状態を再び確立することによって実行され
る。この連鎖トランザクションモデルでは、トランザク
ションT3のコミットを早めることができる。すなわ
ち、トランザクションT3は、トランザクションT4の
コミットを待機せずにコミットすることができる。従っ
て、トランザクションT3のロックはトランザクション
T4のコミット前に解除される。このため、トランザク
ションT3の応答性を高めることができる。一方、連鎖
トランザクションモデルでは、大域のトランザクション
はACID特性を有さない。従って、連鎖トランザクシ
ョンモデルでは原子性は厳密ではなくなる。
The handling of the restart by the chained transaction method is executed by re-establishing the commit state of the recently committed member transaction. In this chained transaction model, the transaction T3 can be committed earlier. That is, the transaction T3 can commit without waiting for the commit of the transaction T4. Therefore, the lock of the transaction T3 is released before the commit of the transaction T4. Therefore, the responsiveness of the transaction T3 can be improved. On the other hand, in the chained transaction model, global transactions do not have ACID characteristics. Therefore, atomicity is not strict in the chained transaction model.

【0018】オンライン応答性の確保を始めとする処理
速度の向上を図る手法として、高速パス(Fast Path,
FP)方式がある。例えば、特開平6−195250号
公報には、IBM社のIMS上に高速パスシステムを実
装したシステムにて、障害時の回復のためにアクティブ
なデータベースの複製をバックアップシステムに連続的
に維持するための手法が開示されている。FPは、特に
金融機関でのオンラインシステムにて応答性を向上する
ために用いられており、処理速度を向上させる目的で、
リソースに関して種々の制限を行っている。例えば、F
Pでは、IMSデータベースで一般的に使用されている
一時的な記憶領域であるルックアサイド・データベース
・バッファを使用しておらず、そして、1トランザクシ
ョンで使用できるデータベースバッファ数も制限されて
いる。さらに、IMSでは、業務処理要求であるメッセ
ージはメッセージ・キューに格納されるが、FPではこ
のキューイング・システムをバイパスして、端末からよ
り簡易な待ち行列(回復可能ではない)を介してトラン
ザクションプログラムに送信することができる。これら
により、オンライン応答性を高めている。
As a technique for improving the processing speed including securing online responsiveness, a fast path (Fast Path,
FP) method. For example, Japanese Patent Application Laid-Open No. HEI 6-195250 discloses a system in which a high-speed path system is mounted on an IMS of IBM, in order to continuously maintain an active database copy in a backup system for recovery from a failure. Is disclosed. FP is used to improve responsiveness especially in online systems at financial institutions, and for the purpose of improving processing speed,
There are various restrictions on resources. For example, F
P does not use a look-aside database buffer, which is a temporary storage area generally used in an IMS database, and also limits the number of database buffers that can be used in one transaction. Furthermore, in IMS, messages that are business processing requests are stored in a message queue, whereas in FP, this queuing system is bypassed and transactions are made from terminals via simpler queues (which are not recoverable). Can be sent to the program. These enhance online responsiveness.

【0019】[0019]

【発明が解決しようとする課題】近年のオンラインシス
テムは、24時間365日の連続稼働が求められてい
る。従って、バッチ処理をオンライン処理と並行して処
理することが望まれる。すなわち、従来のバッチ処理を
オンライン処理として再構築することが要請される。一
般的には、バッチ処理はDBの静的状態を前提として実
行されるため、オンライン応答によってDBの内容が変
化している最中に、バッチ処理そのものを実行すること
はできない。静的な状態を前提としていた処理を、動的
な状態で実行しようとする場合には、連鎖的アボートと
同様の事態が生じ得る。
In recent online systems, continuous operation is required for 24 hours and 365 days. Therefore, it is desired to perform batch processing in parallel with online processing. That is, it is required to reconstruct a conventional batch process as an online process. In general, batch processing is executed on the premise of the static state of the DB, so that the batch processing itself cannot be executed while the contents of the DB are being changed by an online response. If a process that assumes a static state is to be executed in a dynamic state, a situation similar to a chain abort may occur.

【0020】連鎖的アボート(cascading abort)は、ト
ランザクションの一貫性、直列性が失われた場合の弊害
である。例えば、DBの値がxからyへと更新されたの
ち、その更新された値であるyに基づいて複数のトラン
ザクションが実行されたとする。その後、このxからy
への更新が取り消されたとする。または、yからzへと
更新されたとする。すると、yを前提として成立したト
ランザクションは全て取り消して再実行しなければなら
なくなる。トランザクションのアボートが生じると、さ
らに次のトランザクションのアボートを連鎖的に生じさ
せる。このような事態は避けなければならない。しか
し、バッチ処理を日中にオンラインと並行して処理しよ
うとする場合には、このような連鎖的アボートと同様な
事態が生じ得る。例えば、前日の最終残高に基づいて行
う口座振替を、前日の日中に処理する場合には、前提と
していた前日の最終残高が変化する可能性がある。口座
振替処理後に口座残高に異動があると、一見、連鎖的ア
ボートが生じる事態と同様の状態となり得る。
A cascading abort is an adverse effect when transaction consistency and seriality are lost. For example, it is assumed that after the value of the DB is updated from x to y, a plurality of transactions are executed based on the updated value y. Then, from x to y
Suppose the update to was canceled. Alternatively, it is assumed that y has been updated to z. Then, all transactions established on the premise of y must be canceled and re-executed. When a transaction is aborted, the next transaction is aborted. Such a situation must be avoided. However, if batch processing is to be performed during the day in parallel with online processing, a situation similar to such a chained abort may occur. For example, if the account transfer performed based on the final balance of the previous day is processed during the day of the previous day, the final balance of the previous day may change. If there is a change in the account balance after the account transfer processing, it may seem at first glance that the situation is similar to a situation where a chained abort occurs.

【0021】このように、バッチ処理を日中のオンライ
ン処理として実行しようとすると、DBが静止していな
い状態で種々の処理を行う必要があるため、一貫性及び
直列性を厳密に管理する必要が生じる。この課題は、口
座振替のみならず、種々の応用分野でバッチ処理を日中
のオンライン処理として実行しようとする開発での共通
した課題である。
As described above, when trying to execute batch processing as online processing during the day, it is necessary to perform various processing in a state where the DB is not stationary, and it is necessary to strictly manage consistency and seriality. Occurs. This problem is a common problem in the development of trying to execute batch processing as daytime online processing in various application fields as well as in account transfer.

【0022】連鎖トランザクションモデルは、端末へ応
答する処理をコミットさせておき、その後に別のトラン
ザクションを実行することができるため、オンラインの
応答性と複雑な処理の実現とを両立させることができ
る。しかしながら、バッチ処理のオンライン化という点
では、処理要求が集中した場合の対策や、上述した連鎖
的アボートとなりえる状況への対策が必要となる。ま
た、連鎖トランザクションモデルは標準化されておら
ず、すべてのトランザクション管理システムで利用でき
るとは限らない。
In the chained transaction model, a process for responding to a terminal can be committed, and then another transaction can be executed. Therefore, both online responsiveness and realization of a complicated process can be achieved. However, in terms of bringing the batch processing online, it is necessary to take a countermeasure when the processing requests are concentrated and a countermeasure against the above-mentioned situation that can be a chained abort. In addition, the chained transaction model is not standardized and cannot be used in all transaction management systems.

【0023】上記特開平10−69418号公報には、
連鎖トランザクションモデルを階層化して用いつつ、大
域トランザクションにACID特性を付する旨開示され
ているが、メンバ・トランザクションのアボートと大域
トランザクションの原子性との関係については開示され
ていない。
In the above-mentioned Japanese Patent Application Laid-Open No. 10-69418,
It discloses that the global transaction is provided with an ACID characteristic while using the chained transaction model in a hierarchical manner, but does not disclose the relationship between the abort of the member transaction and the atomicity of the global transaction.

【0024】オンラインの応答性を確保するには、高速
パス(FP)などの採用が望ましい。しかしながら、F
Pを用いると、データベースのバッファ数に制限があ
り、また、キューからの回復ができないなどの一定の制
限があるため、例えば、ACID特性を有する1トラン
ザクションで処理可能な処理量が制限されてしまう。例
えば、入れ子トランザクションと同様に1つのトランザ
クション内で複数の処理を連動させる連動トランザクシ
ョンについて、FPを採用している場合には、1トラン
ザクションで実行可能な連動回数に制限がある。
In order to ensure online responsiveness, it is desirable to employ a high-speed path (FP) or the like. However, F
If P is used, the number of buffers in the database is limited, and there is a certain limit such as the inability to recover from the queue. For example, the processing amount that can be processed by one transaction having ACID characteristics is limited. . For example, as with the nested transaction, as for a linked transaction that links a plurality of processes in one transaction, when the FP is adopted, there is a limit to the number of linked operations that can be executed in one transaction.

【0025】[0025]

【発明の目的】本発明は、係る従来例の有する不都合を
改善し、特に、オンライン処理の応答性を確保しつつ多
様な処理を実現することのできるオンライントランザク
ション制御システム及び方法を提供することを、その目
的とする。
SUMMARY OF THE INVENTION It is an object of the present invention to provide an online transaction control system and method which can solve the inconveniences of the prior art and, in particular, can realize various processes while ensuring the responsiveness of the online process. And its purpose.

【0026】[0026]

【課題を解決するための手段】本発明では、派生トラン
ザクションモデルを用いる。派生トランザクションは、
主取引に付随する業務を実行する。付随業務を処理する
ためのトランザクションモデルを用意することで、適用
業務プログラムのプログラマは、業務処理(主業務)
を、オンライン応答に無関係な付随業務を除いて通常の
ACID特性を有するトランザクションとしてプログラ
ムを構築し、主業務に付随する付随業務を派生トランザ
クションとしてプログラムを構築することができる。そ
して、業務処理を実行するトランザクションは、その実
行中に派生トランザクションを起動要求依頼した後、派
生トランザクションの処理完了を待たずに端末に応答を
返す。
SUMMARY OF THE INVENTION The present invention uses a derived transaction model. Derived transactions are:
Perform tasks associated with the main transaction. By preparing a transaction model for processing the incidental tasks, the application programmer can execute the task processing (main task).
A program can be constructed as a transaction having ordinary ACID characteristics excluding ancillary business unrelated to the online response, and an ancillary business accompanying the main business can be constructed as a derived transaction. Then, the transaction for executing the business process returns a response to the terminal without waiting for the completion of the processing of the derived transaction after requesting a start request of the derived transaction during the execution.

【0027】本発明では、端末等からネットワークを介
して入力される業務処理要求を受信する受信手段と、こ
の受信手段にて受信した業務処理要求を処理する演算手
段と、この演算手段による業務処理要求の処理結果を記
録するファイルとを備えている。そして、演算手段は、
前記端末等から入力される業務処理要求をオンライント
ランザクションとして処理させると共に当該処理結果を
前記端末への応答として出力する制御をするオンライン
応答部と、前記オンライントランザクション又は所定の
派生トランザクションである派生起動トランザクション
の実行処理の一部として起動要求され当該派生起動トラ
ンザクションによる業務処理と関連した付随業務を処理
する派生トランザクションを管理する派生トランザクシ
ョン管理部とを備えている。さらに、派生トランザクシ
ョン管理部は、前記派生トランザクションのコミットを
待機せずに前記派生起動トランザクションをコミットさ
せる派生起動管理機能を備えた、という構成を採ってい
る。これにより前述した課題を解決しようとするもので
ある。
According to the present invention, a receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, and a business processing by the arithmetic means And a file for recording a processing result of the request. And the calculating means is:
An online response unit that controls a business process request input from the terminal or the like as an online transaction and outputs the processing result as a response to the terminal; and a derivative activation transaction that is the online transaction or a predetermined derivative transaction. And a derived transaction management unit that manages a derived transaction that processes a related business related to a business process by the derived start transaction that is requested to be started as a part of the execution process of the derived transaction. Furthermore, the derived transaction management unit is configured to have a derived activation management function of committing the derived activation transaction without waiting for the derivation transaction to commit. This aims to solve the above-mentioned problem.

【0028】オンライン応答部は、業務処理要求をオン
ライントランザクションとして処理させ、その応答を端
末へ出力する。オンライントランザクションは、顧客が
使用する端末の操作によって生じた業務処理要求の処理
でも良いし、内部的な従来バッチ処理で行っていた処理
に相当する業務処理要求でも良い。「処理結果を端末へ
の応答として出力する」というのは、オンライントラン
ザクションの実行の一部として端末(又は擬似的な端
末)への出力が要求されている場合に応答を端末に出力
するのであって、全てのトランザクションが端末に応答
を返すとは限らない。
The online response section processes the business processing request as an online transaction and outputs the response to the terminal. The online transaction may be the processing of a business processing request generated by operating a terminal used by a customer, or may be a business processing request corresponding to processing that has been performed internally in conventional batch processing. “Outputting the processing result as a response to the terminal” means that when the output to the terminal (or pseudo terminal) is requested as a part of the execution of the online transaction, the response is output to the terminal. Therefore, not all transactions return a response to the terminal.

【0029】派生トランザクションは、オンライントラ
ンザクションによる業務処理と関連した付随業務を処理
する。付随業務は、オンライントランザクションのオン
ライン応答を行う必要のない業務であり、一般的には主
業務に付随する業務であるが、主業務側が付随的で付随
業務が実際に必要な処理を行う場合もある。派生トラン
ザクションは、オンライントランザクションの実行中
に、プログラムによって起動される。また、派生トラン
ザクションがさらに別の派生トランザクションを起動す
るようにしても良い。派生起動管理機能は、派生トラン
ザクションのコミットを待機せずに前記派生起動トラン
ザクションをコミットさせる。すなわち、付随業務の完
了を待たずに業務処理を完了させる。派生トランザクシ
ョンがアボートした場合であっても、派生起動トランザ
クションが取り消されることはない。
The derived transaction processes ancillary business related to business processing by an online transaction. Ancillary business is a business that does not require an online response to an online transaction, and is generally a business that accompanies the main business. is there. A derived transaction is activated by a program during the execution of an online transaction. Further, the derived transaction may start another derived transaction. The derived activation management function commits the derived activation transaction without waiting for the commit of the derived transaction. That is, the business process is completed without waiting for the completion of the associated business. Even if the derived transaction aborts, the derived start transaction is not canceled.

【0030】このように、本発明では、連鎖トランザク
ションモデルを、主業務となる業務処理と、付随的な業
務処理との区分けに応用している。これにより、オンラ
イン応答に必要な処理をオンライントランザクションで
処理し、オンライン応答に必要のない付随処理を派生ト
ランザクションとして処理することで、オンライントラ
ンザクションを早期にコミットさせることができる。す
なわち、オンラインの応答性を確保しつつ、付随的な業
務のみを事後的に派生トランザクションとして処理する
ことで、全体として複雑な処理を行うことができる。
As described above, in the present invention, the chained transaction model is applied to the distinction between the main business process and the auxiliary business process. As a result, the processing required for the online response is processed by the online transaction, and the accompanying processing not required for the online response is processed as the derived transaction, so that the online transaction can be committed early. That is, by processing only ancillary tasks as derived transactions afterwards while securing online responsiveness, complex processing can be performed as a whole.

【0031】また、状況によっては、派生トランザクシ
ョンは、派生起動トランザクションとなることができ
る。この場合、付随的な業務を1トランザクションで処
理することなく、派生トランザクションの繰り返しで実
行する。この派生トランザクションを繰り返し起動・実
行する例では、個々の派生トランザクションは個別にコ
ミットするため、1つのトランザクションが処理する処
理量は比較的少なく、そして、コミットによって一旦ロ
ックが解放される。このため、複雑な付随業務を行いつ
つシステムに高負荷をもたらすことがない。
Also, in some situations, a derived transaction can be a derived activation transaction. In this case, the subsidiary business is executed in a repetition of the derived transaction without being processed in one transaction. In the example in which the derived transaction is repeatedly started and executed, each derived transaction commits individually, so that the processing amount processed by one transaction is relatively small, and the lock is released once by the commit. For this reason, there is no high load on the system while performing complicated incidental tasks.

【0032】派生起動トランザクションと、派生トラン
ザクションとからなる処理(派生利用トランザクショ
ン)は、ACID特性を満たさない。すなわち、派生起
動トランザクションがコミットしたが、派生トランザク
ションがアボートされる、という状況はあり得る。一
方、派生起動トランザクションがコミットしない場合に
は、派生トランザクションを実行しない。すなわち、付
随業務が必要となる業務処理自体が未成立であるのに、
付随業務のみを成立させることはない。業務処理が成立
し、付随業務が未成立となった場合には、その付随業務
を処理する派生トランザクションを再起動する。これら
の仕組みを実現するために、好ましい実施形態では、派
生トランザクション管理部が、前記派生トランザクショ
ンの起動要求に関連する派生起動情報を前記ファイルに
格納した後に前記派生起動トランザクションをコミット
させる派生起動情報格納制御機能と、派生起動トランザ
クションがアボートされる場合には前記派生トランザク
ションの開始又はコミットをしない制御をする直列性管
理機能と、派生起動トランザクションがコミットした後
に前記派生トランザクションがアボートした場合には前
記派生起動情報に基づいて当該派生トランザクションを
再起動させる派生再起動制御機能とを備える。
The process consisting of the derived start transaction and the derived transaction (derived use transaction) does not satisfy the ACID characteristic. That is, there may be situations where the derived activation transaction has committed but the derived transaction has been aborted. On the other hand, if the derived start transaction does not commit, the derived transaction is not executed. In other words, although the business process itself that requires ancillary business has not been established,
We do not establish only the incidental work. When the business process is established and the associated business is not established, the derived transaction for processing the associated business is restarted. In order to realize these mechanisms, in a preferred embodiment, the derived transaction management unit stores the derived activation information related to the activation request of the derived transaction in the file and then commits the derived activation transaction. A control function; a serialization management function for controlling not starting or committing the derived transaction when the derived transaction is aborted; and a derivation when the derived transaction aborts after the derived transaction is committed. A derived restart control function for restarting the derived transaction based on the start information.

【0033】派生起動情報格納制御機能は、派生トラン
ザクションの起動要求があった場合には当該起動要求を
している派生起動トランザクションとこの派生起動トラ
ンザクションから派生トランザクションに渡されるデー
タ等を派生起動情報としてファイルに格納する。この派
生起動情報は、正常な処理では利用せず、派生トランザ
クションがアボートし派生トランザクションのみを再起
動する場合に利用される。すなわち、派生再起動制御機
能は、派生起動トランザクションがコミットした後に前
記派生トランザクションがアボートした場合には前記派
生起動情報に基づいて当該派生トランザクションを再起
動させる。
When there is a derived transaction activation request, the derived activation information storage control function uses the derived activation transaction making the activation request and data passed from the derived activation transaction to the derived transaction as derived activation information. Store it in a file. This derived activation information is not used in normal processing, but is used when the derived transaction aborts and only the derived transaction is restarted. That is, the derived restart control function restarts the derived transaction based on the derived start information when the derived transaction aborts after the derived started transaction commits.

【0034】派生起動情報格納制御機能等を有する本発
明では、一般的な障害発生等によるトランザクションの
アボート時の再起動処理とは別に、派生トランザクショ
ンの再起動を制御する機能を備えている。これは、派生
起動トランザクションと派生トランザクションとを一体
と考えた場合にはACID特性を有しないことから、派
生トランザクションのアボート時の取り扱いをより厳格
に行うものである。派生トランザクションは、派生起動
情報に基づいて起動される。従って、この派生起動情報
を耐久性を持った状態でファイルに格納しておくと、当
初起動時と完全に同一の状態で派生トランザクションを
再起動することができる。また、キューイング・モデル
やログによる再起動と比較して、再起動処理の対象の発
見が容易で、さらに、派生トランザクションのアプリケ
ーションのバグなどによるアボートであっても、アプリ
ケーションプログラムの修正後の再実行が可能であるな
ど、取り扱いを柔軟に定めることができる。また、派生
トランザクションは付随業務を処理するため、状況によ
っては再起動が不要である場合も想定できる。このよう
な再起動の要否をオペレータが判断する場合であって
も、派生起動情報に派生トランザクションの起動に関す
る種々の情報を含めることで、再起動の要否を判断する
際にオペレータの端末に表示する等の処理が可能とな
る。
The present invention having the function of controlling the storage of the derived activation information has a function of controlling the restart of the derived transaction, in addition to the restart processing when the transaction is aborted due to the occurrence of a general failure. This is because the derived transaction does not have an ACID characteristic when the derived transaction and the derived transaction are considered as one, so that the derived transaction is more strictly handled when aborting. The derived transaction is activated based on the derived activation information. Therefore, if the derived activation information is stored in a file in a durable state, the derived transaction can be restarted completely in the same state as at the time of initial activation. In addition, compared to the queuing model and log-based restart, it is easier to find the target of the restart process, and even if an abort is caused by a bug in the application of a derived transaction, the restart after the application program is modified Handling can be flexibly determined, such as execution is possible. In addition, since the derived transaction processes the associated business, it may be assumed that the restart is unnecessary depending on the situation. Even when the operator determines whether or not such a restart is necessary, by including various information related to the start of the derived transaction in the derived start information, the operator's terminal can be used when determining whether or not the restart is necessary. Processing such as display can be performed.

【0035】派生トランザクションモデルでは、派生起
動トランザクションがコミットし、派生トランザクショ
ンがアボートされる事態の発生を許容することで、オン
ラインの応答性を確保している。従って、派生トランザ
クションの再起動を厳密に管理できることがシステム運
用の安定性に寄与する。
In the derived transaction model, online responsiveness is ensured by permitting the occurrence of a situation in which the derived activation transaction commits and the derived transaction is aborted. Therefore, the ability to strictly manage the restart of the derived transaction contributes to the stability of the system operation.

【0036】また、本発明では、演算手段が、前記オン
ライン応答部及び派生トランザクション管理部によって
実行が管理されるトランザクションの総量に応じて前記
派生トランザクションの起動を制限させる総量制御部を
備えるようにすると良い。これにより、派生トランザク
ションの滞留によってオンライン応答が必要なオンライ
ントランザクションを遅らせることがなくなる。「派生
トランザクションの起動の制限」は、例えば、派生起動
トランザクションとなる業務処理要求のうち、内部的な
業務処理要求についてその入力を待機させたり、また、
業務処理要求を実行しつつ、派生トランザクションの起
動を中止したり、さらに、派生起動トランザクションの
実行をエラーとする処理などを含む。起動が中止された
派生トランザクションは、トランザクションの滞留が減
少するなどシステムの負荷が軽減された段階で、再起動
することができる。
[0036] In the present invention, the calculation means may include a total amount control unit for restricting activation of the derived transaction in accordance with the total amount of transactions whose execution is managed by the online response unit and the derived transaction management unit. good. This prevents an online transaction requiring an online response from being delayed due to the stagnation of a derived transaction. "Restriction on activation of derived transaction" means, for example, that among business processing requests that are derived activation transactions, the input of an internal business processing request is waited for,
This includes processing to stop the activation of the derived transaction while executing the business processing request, and further to make the execution of the derived activation transaction an error. The derived transaction whose activation has been canceled can be restarted at a stage where the load on the system is reduced, such as a reduction in transaction stagnation.

【0037】派生トランザクションモデルでは、即時の
オンライン応答を行わない付随業務を派生トランザクシ
ョンとして実行させるため、派生トランザクションは、
オンライントランザクションと比較して、実行を待機さ
せることができる時間が長い。このため、総量制御部
は、実行されているトランザクションの総量が多い場合
には、派生トランザクションの起動を制限させる処理を
行う。これにより、オンライン応答が必要なオンライン
トランザクションの処理を優先する。総量制御部を有す
る実施形態では、この付随的な業務を処理する派生トラ
ンザクションの起動制限により、システムの能力を最大
限活用し、複雑な処理を実行しつつ、オンラインの応答
性を確保することができる。これにより、バッチ処理の
日中処理化を安定して、厳格に実現することができる。
In the derived transaction model, a subsidiary transaction that does not make an immediate online response is executed as a derived transaction.
Compared to online transactions, the time that execution can wait is longer. Therefore, when the total amount of executed transactions is large, the total amount control unit performs a process of restricting the activation of the derived transaction. This gives priority to the processing of an online transaction that requires an online response. In the embodiment having the total amount control unit, by limiting the invocation of the derived transaction for processing the ancillary business, online responsiveness can be ensured while maximizing the capacity of the system and executing complicated processing. it can. As a result, the daytime processing of the batch processing can be stably and strictly realized.

【0038】[0038]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。本発明は、3つの実施形態
を有する。第1実施形態は、派生トランザクションモデ
ルの構造と利用法とを開示する。第2実施形態では、派
生トランザクションの特性をDBに対するロックを用い
て実現する手法を開示する。第3実施形態では、第2実
施形態のうち、例外的なデッドロックを回避するための
手法を開示する。
Embodiments of the present invention will be described below with reference to the drawings. The present invention has three embodiments. The first embodiment discloses the structure and usage of a derived transaction model. The second embodiment discloses a technique for realizing the characteristics of a derived transaction using a lock on a DB. In the third embodiment, a method for avoiding an exceptional deadlock in the second embodiment will be disclosed.

【0039】[0039]

【第1実施形態】図1は第1実施形態によるオンライン
トランザクション制御システムの構成を示すブロック図
である。図1に示す例では、オンライントランザクショ
ン制御システムは、端末等1A,1Bからネットワーク
3を介して入力される業務処理要求を受信する受信手段
2と、この受信手段2にて受信した業務処理要求を処理
する演算手段4と、この演算手段4による業務処理要求
の処理結果を記録するファイル6とを備えている。端末
1Aは、例えば顧客が使用する端末で、ATMやパーソ
ナルコンピュータなどである。端末1Bは内部のオペレ
ータが使用する端末で、例えば営業店端末と呼ぶ。ま
た、コンソール端末2Aは、システムの運用管理や業務
処理要求の入力を指示するコマンドを入力する端末であ
る。業務処理要求は、端末1A,1B又は2Aから入力
される。図1に示す例では、受信手段2で受信した業務
処理要求は、メッセージ入力手段8を介して演算手段4
に入力される。メッセージ入力手段8は、業務処理要求
であるメッセージを一時的に格納する待ち行列を備える
と良い。図1に示す例では、業務処理要求が通信規格等
に応じて種々の形式を採用しているとしても、メッセー
ジ入力手段8が入力するメッセージは演算手段4によっ
て解釈可能な形式とする。また、メッセージ入力手段8
は、複数のメッセージをブロッキングして一括した入力
を行うようにしてもよい。
FIG. 1 is a block diagram showing the configuration of an online transaction control system according to a first embodiment. In the example illustrated in FIG. 1, the online transaction control system includes a receiving unit 2 that receives a business processing request input from a terminal 1A or 1B via a network 3, and a business processing request received by the receiving unit 2. It comprises an arithmetic means 4 for processing and a file 6 for recording the processing result of the business processing request by the arithmetic means 4. The terminal 1A is, for example, a terminal used by a customer, such as an ATM or a personal computer. The terminal 1B is a terminal used by an internal operator, and is called, for example, a branch office terminal. The console terminal 2A is a terminal for inputting a command for instructing operation management of the system or input of a business process request. The business process request is input from the terminal 1A, 1B or 2A. In the example shown in FIG. 1, the business process request received by the receiving unit 2 is transmitted to the arithmetic unit 4 via the message input unit 8.
Is input to The message input means 8 may include a queue for temporarily storing a message as a business process request. In the example shown in FIG. 1, the message input by the message input unit 8 is in a format that can be interpreted by the arithmetic unit 4 even if the business process request adopts various formats according to the communication standard and the like. Message input means 8
, A plurality of messages may be blocked and a batch input may be performed.

【0040】前記演算手段4は、前記端末等1A,1B
から入力される業務処理要求をメッセージ入力手段8か
ら入力されるメッセージに従ってオンライントランザク
ションとして処理させると共に、当該処理結果を前記端
末への応答として出力する制御をするオンライン応答部
10を備えている。また、演算手段4は、オンライント
ランザクション又は所定の派生トランザクションである
派生起動トランザクションの実行処理の一部として起動
要求され当該派生起動トランザクションと関連した付随
業務を処理する派生トランザクションを管理する派生ト
ランザクション管理部12を備えている。演算手段4
は、オンライントランザクションや、派生トランザクシ
ョンや、またはバッチ処理を実行するトランザクション
実行部16を備えている。トランザクション実行部16
は、ファイル6に格納された各種のDBに対する操作を
行う。
The arithmetic means 4 is provided with the terminals 1A, 1B
An online response unit 10 is provided to process a business process request input from the terminal as an online transaction in accordance with a message input from the message input unit 8 and to output the processing result as a response to the terminal. Further, the calculation means 4 is a derived transaction management unit that manages a derived transaction that is requested to be started as a part of the execution process of an online transaction or a derived startup transaction that is a predetermined derived transaction and that processes an associated task related to the derived startup transaction. 12 are provided. Calculation means 4
Has a transaction execution unit 16 for executing an online transaction, a derived transaction, or a batch process. Transaction execution unit 16
Performs operations on various DBs stored in the file 6.

【0041】端末1Aから入力される現金の入金や、端
末1Bから入力される融資に関する情報の登録などは、
オンライントランザクションとして処理される。ここで
は、オンライントランザクションの実行と並行して実行
される一括処理も、オンライントランザクションと呼
ぶ。例えばオンライン稼働中の口座振替処理などは、オ
ンライントランザクションである。オンライントランザ
クションではないトランザクションは、例えば、夜間バ
ッチである。
Deposit of cash input from the terminal 1A, registration of information related to financing input from the terminal 1B, etc.
Processed as an online transaction. Here, the batch processing executed in parallel with the execution of the online transaction is also called an online transaction. For example, an account transfer process during online operation is an online transaction. A transaction that is not an online transaction is, for example, a nightly batch.

【0042】派生トランザクションは、端末からの業務
処理要求としてではなく、他のトランザクションのプロ
グラムから起動要求される。派生トランザクションの起
動要求をそのプログラムの実行に従って依頼するトラン
ザクションを、ここでは派生起動トランザクションと呼
ぶ。そして、派生起動トランザクションによって起動さ
れた派生トランザクション(T1)が、さらに別の派生
トランザクション(T2)を起動することがある。この
場合、派生トランザクション(T1)は派生起動トラン
ザクションである。
The derived transaction is requested not to be a business process request from the terminal but to be started by a program of another transaction. A transaction requesting a start request for a derived transaction in accordance with the execution of the program is referred to as a derived start transaction herein. Then, the derived transaction (T1) activated by the derived activation transaction may activate another derived transaction (T2). In this case, the derived transaction (T1) is a derived activation transaction.

【0043】オンライントランザクションは、オンライ
ンでの応答に必要な処理を行い、そして、付随処理の必
要性を判定し、付随処理が必要な場合には派生トランザ
クションの起動要求を依頼する。派生トランザクション
の起動要求依頼があった場合には、派生トランザクショ
ン管理部12の派生起動管理機能20は、前記派生トラ
ンザクションのコミットを待機せずに前記派生起動トラ
ンザクションをコミットさせる。派生起動管理機能が、
派生トランザクションの完了を待たずに派生起動トラン
ザクションをコミットさせるため、オンライントランザ
クションを早期に完了させ、ロックの解放を促し、そし
てオンラインの応答性を良好に維持する。すなわち、業
務処理要求を要求した端末1A,1Bは、付随処理の完
了を待たずにオンライントランザクションの処理結果を
得ることができる。派生起動管理機能20が、派生トラ
ンザクションのコミットを待機せずに派生起動トランザ
クションをコミットするため、派生起動トランザクショ
ンのコミットの後に派生トランザクションがアボートさ
れる可能性がある。本実施形態では、派生トランザクシ
ョンのアボートがあった場合の再起動を制御する機能を
具備することで、派生起動トランザクションと派生トラ
ンザクションとを有する処理の実際上の原子性と特別な
直列性とを確保している。
The online transaction performs processing necessary for an online response, determines the necessity of ancillary processing, and requests an activation request for a derived transaction when the ancillary processing is required. When there is a request to start a derived transaction, the derived start managing function 20 of the derived transaction management unit 12 commits the derived started transaction without waiting for the commit of the derived transaction. Derived launch management function,
In order to commit the derived start transaction without waiting for the completion of the derived transaction, the online transaction is completed early, prompting the release of the lock, and maintaining good online responsiveness. That is, the terminals 1A and 1B that have requested the business processing request can obtain the processing result of the online transaction without waiting for the completion of the associated processing. Since the derived activation management function 20 commits the derived activation transaction without waiting for the commit of the derived transaction, the derived transaction may be aborted after the commit of the derived activation transaction. In the present embodiment, by providing a function for controlling the restart when the derived transaction is aborted, the actual atomicity and the special seriality of the process having the derived start transaction and the derived transaction are ensured. are doing.

【0044】図1を参照すると、派生トランザクション
管理部12は、前記派生トランザクションの起動要求に
関連する派生起動情報を前記ファイルに格納した後に前
記派生起動トランザクションをコミットさせる派生起動
情報格納制御機能22と、派生起動トランザクションが
アボートされる場合には前記派生トランザクションの開
始又はコミットをしない制御をする直列性管理機能24
と、派生起動トランザクションがコミットした後に前記
派生トランザクションがアボートした場合には前記派生
起動情報に基づいて当該派生トランザクションを再起動
させる派生再起動制御機能25とを備えている。
Referring to FIG. 1, the derived transaction management unit 12 stores a derived activation information associated with the activation request of the derived transaction in the file, and then commits the derived activation transaction, and then controls the derived activation information storage control function 22. A serialization management function 24 for controlling not to start or commit the derived transaction when the derived start transaction is aborted.
And a derived restart control function 25 for restarting the derived transaction based on the derived start information when the derived transaction aborts after the derived started transaction commits.

【0045】派生起動情報は、派生起動トランザクショ
ンから渡されるデータや、付随業務の種類や、派生起動
情報のファイルへの格納位置や、派生トランザクション
の起動時刻(エントリー時刻)など、派生トランザクシ
ョンの起動や管理に必要な情報である。派生トランザク
ションを実行するための派生メッセージは、この派生起
動情報又はその元となる各データに基づいて作成され
る。派生トランザクションは派生トランザクション管理
部12によってその性質及び実行が管理される。ファイ
ル6に格納される派生起動情報は、派生トランザクショ
ンがアボートした場合の再起動に用いられる。
The derived start information includes data passed from the derived start transaction, the type of ancillary work, the storage location of the derived start information in a file, and the start time (entry time) of the derived transaction. This is information necessary for management. A derived message for executing the derived transaction is created based on the derived activation information or each data as a source thereof. The properties and execution of the derived transaction are managed by the derived transaction management unit 12. The derived activation information stored in the file 6 is used for restarting when the derived transaction is aborted.

【0046】派生起動情報格納制御機能22は、派生ト
ランザクションの再起動を確実且つ容易とするために、
派生起動情報を格納する。直列性管理機能24は、派生
起動トランザクションがアボートされた場合に、派生ト
ランザクションが起動又は実行される事態の発生を防止
する。派生トランザクションは派生起動トランザクショ
ンがコミットした場合に開始又は実行されるため、派生
トランザクションがアボートされた場合には、派生起動
トランザクションは既にコミットしている。従って、派
生起動トランザクションを再起動する必要なく、派生ト
ランザクションのみを再起動すればよい。派生再起動制
御機能25は、派生トランザクションの再起動要求等を
受信したときに、ファイル6に格納された派生起動情報
に基づいて、派生トランザクションを再起動する。
The derivation start information storage control function 22 is used to reliably and easily restart the derivation transaction.
Stores derived activation information. The seriality management function 24 prevents a situation in which a derived transaction is started or executed when the derived start transaction is aborted. Since the derived transaction is started or executed when the derived start transaction commits, when the derived transaction is aborted, the derived start transaction has already committed. Therefore, only the derived transaction need be restarted without having to restart the derived start transaction. The derivation restart control function 25 restarts the derivation transaction based on the derivation start information stored in the file 6 when receiving a derivation request for restarting the derivation transaction.

【0047】このように、本実施形態では、派生起動ト
ランザクションと派生トランザクションとは次のように
定義される。 (1)個別ACID 派生起動トランザクション、派生トランザクションはそ
れぞれACID特性を満たす。派生トランザクション
は、派生起動トランザクションとして、さらに別の派生
トランザクションを起動することもできる。 (2)拡張された直列性 派生起動トランザクションがコミットした場合にのみ派
生トランザクションはコミットする。派生起動トランザ
クションがコミットした場合に、派生トランザクション
の動作が開始するとしても良い。 (3)拡張された原子性 派生トランザクションのアボートは派生起動トランザク
ションに及ばない。(2)と(3)によると、一方通行
の原子性という性質が明らかになる。派生トランザクシ
ョンのコミットの条件の一つは派生起動トランザクショ
ンのコミットである。一方、派生起動トランザクション
は、派生トランザクションの運命に関わらずコミットす
る。派生起動トランザクションと派生トランザクション
を一体とした派生利用トランザクションを考えると、派
生利用トランザクションは原子的でない。(3)拡張さ
れた原子性の効用は、派生起動トランザクションを早期
にコミットし、そのロックを解放させ、派生起動トラン
ザクションの応答性を高める点にある。派生トランザク
ションをリアルタイムに近い状態で実行することができ
るため、従来バッチ処理で行っていたような処理を派生
トランザクションとしてオンライン応答に多少遅れて、
しかしほぼ同時に、他のオンライントランザクションと
並行して実行することができる。 (4)拡張された隔離性 派生起動トランザクションが扱ったデータやその結果を
派生トランザクションに渡すことができる。これは、派
生トランザクションの起動の仕方に依存する。派生トラ
ンザクションの結果を派生起動トランザクションが待機
することはない。派生起動トランザクションから派生ト
ランザクションへ渡されるデータは、他のトランザクシ
ョンからは隔離されている。一方、派生起動トランザク
ションのコミットによって、そのリソースは、派生トラ
ンザクションを含めた他のトランザクションからアクセ
ス可能となる。 (5)拡張された一貫性(オプション) 派生起動トランザクションはACID特性を満たすか
ら、そのトランザクションによってデータベースの内容
等はアプリケーションにとって一貫性のある状態とな
る。しかし、派生トランザクションモデルでは、この一
貫性は、システムレベルの一貫性であって、業務レベル
での一貫性である必要はない。すなわち、派生トランザ
クションモデルでは、業務レベルでの一貫性を、付随業
務を処理する派生トランザクションの実行で確保するよ
うにしてもよい。派生トランザクションを活用する一例
としては、業務レベルで失われる一貫性を、システムレ
ベルでは厳格に一貫性ある状態とするために、業務レベ
ルでの中間的なデータを耐久性のある状態で記録するデ
ータ構造を用いることができる。例えば、端末へのオン
ライン応答に必要なデータと、オンライントランザクシ
ョンの処理を行った結果、数秒後や次の日までに整理又
は最適化しておくべきデータとがある場合には、派生起
動トランザクションは、オンライン応答に必要なデータ
を更新し、次の日までに必要なデータについては、業務
レベルでの一貫性に欠ける中間的なデータとして耐久性
を持って格納する。そして、派生起動トランザクション
は、この中間的なデータを格納した段階でコミットす
る。次の日までに整理等が必要なデータについては、派
生トランザクションを用いてオンライン応答の完了後に
処理することができる。
As described above, in the present embodiment, the derived activation transaction and the derived transaction are defined as follows. (1) Individual ACID The derived activation transaction and the derived transaction each satisfy the ACID characteristics. A derived transaction can also start another derived transaction as a derived start transaction. (2) Extended seriality The derived transaction commits only when the derived activation transaction commits. The operation of the derived transaction may start when the derived activation transaction commits. (3) Extended atomicity Aborting a derived transaction does not extend to a derived activation transaction. According to (2) and (3), the property of one-way atomicity becomes apparent. One of the conditions for committing the derived transaction is to commit the derived start transaction. On the other hand, the derived start transaction commits regardless of the fate of the derived transaction. Considering a derived use transaction that combines a derived start transaction and a derived transaction, the derived use transaction is not atomic. (3) The advantage of the extended atomicity is that the derived start transaction is committed early, its lock is released, and the responsiveness of the derived start transaction is improved. Because the derived transaction can be executed in near real time, the process that was conventionally performed in batch processing is slightly delayed as a derived transaction to online response,
But at about the same time, they can be run in parallel with other online transactions. (4) Extended isolation The data handled by the derived activation transaction and the result can be passed to the derived transaction. This depends on how the derived transaction is started. The derived transaction does not wait for the result of the derived transaction. Data passed from a derived transaction to a derived transaction is isolated from other transactions. On the other hand, the commit of the derived start transaction makes the resource accessible from other transactions including the derived transaction. (5) Extended Consistency (Optional) Since the derived activation transaction satisfies the ACID characteristics, the transaction brings the contents of the database into a consistent state for the application. However, in the derived transaction model, this consistency is system-level consistency and need not be business-level consistency. In other words, in the derived transaction model, consistency at the business level may be ensured by executing a derived transaction for processing the associated business. An example of the use of derived transactions is data that records intermediate data at the business level in a durable state so that consistency lost at the business level is strictly consistent at the system level. Structures can be used. For example, if there is data necessary for online response to the terminal and data that should be organized or optimized after a few seconds or by the next day as a result of processing the online transaction, the derivative activation transaction is The data required for online response is updated, and the data required by the next day is stored durably as intermediate data that lacks consistency at the business level. Then, the derived activation transaction commits at the stage of storing the intermediate data. Data that needs to be organized by the next day can be processed after completion of the online response using the derived transaction.

【0048】図2は、派生トランザクションの性質を説
明する説明図であり、図2(A)は、派生起動トランザ
クションから派生トランザクションの起動要求がなされ
る例を示す図である。図2(A)に示すように、業務処
理要求があると、オンライントランザクションは派生起
動トランザクションS1として実行され、派生トランザ
クションを派生起動要求した上でコミットC1する。そ
の後、派生トランザクションS2が実行され、コミット
C2する。
FIG. 2 is an explanatory diagram for explaining the nature of the derived transaction. FIG. 2A is a diagram showing an example in which a derived transaction activation request is issued from the derived activation transaction. As shown in FIG. 2A, when there is a business process request, the online transaction is executed as a derived activation transaction S1, and the derived transaction is requested to be derived and then committed C1. Thereafter, the derived transaction S2 is executed, and the commit C2 is performed.

【0049】オンライントランザクション制御システム
を用いて派生トランザクションを管理する方法は、端末
等から入力される業務処理要求をオンライントランザク
ションとして実行させる工程(S1A,オンライン応答
部10)と、このオンライントランザクション実行処理
の一部として派生トランザクションの起動が要求された
場合には当該派生トランザクションの起動に必要な派生
起動情報を前記ファイル6に格納する工程(S1B,派
生起動情報格納制御機能22)とを備える。さらに、派
生トランザクション管理方法は、派生トランザクション
の実行開始又はコミットを待機せずに当該派生トランザ
クションを起動したオンライントランザクションをコミ
ットさせる工程(C1,派生起動管理機能20)と、オ
ンライントランザクションがアボートした場合には前記
派生トランザクションの開始又はコミットをさせない制
御をする工程(S2A,直列性管理機能24)とを備え
る。
A method of managing a derived transaction using the online transaction control system includes a step of executing a business processing request input from a terminal or the like as an online transaction (S1A, online response unit 10), and a step of executing this online transaction execution processing. A step (S1B, derived activation information storage control function 22) of storing, in a file 6, derived activation information necessary for activating the derived transaction when the activation of the derived transaction is requested. Furthermore, the derived transaction management method includes a step of committing the online transaction that has started the derived transaction without waiting for the execution start or commit of the derived transaction (C1, the derived activation management function 20), and a method of performing the process when the online transaction is aborted. (S2A, serialization management function 24) for controlling not to start or commit the derived transaction.

【0050】図2(B)は、派生起動トランザクション
が連動トランザクションである場合を示す図である。1
つのトランザクション内で複数の業務を実行する仕組み
を、ここでは連動と呼ぶ。連動起動業務S3Aと連動受
動業務S3Bとは1つのトランザクションとして実行さ
れるため、双方が成功するか否かの原子性が保証され
る。勘定系システムを例にすると、連動起動業務S3A
は、例えば電気料の引落であり、この場合、連動受動業
務S3Bは、普通預金からの出金である。連動トランザ
クションは1つのトランザクションとして実行されるた
め、電気料の支払に成功する一方、その金額が普通預金
から出金されていないといった一貫性のない状態は発生
しない。図2(B)に示す例では、連動起動業務S3A
が連動受動業務S3Bに普通預金の出金を依頼し、連動
受動業務S3Bでは出金を行うと連動起動業務S3Aに
処理を戻す。連動戻りを受けた連動起動業務S3Aは、
他の処理を行った後にコミットする。そして、普通預金
の口座残高に異動があった場合に、即時にオンライン応
答する必要のない付随業務がある場合には、連動受動業
務S3Bは、派生トランザクションS4を起動する。
FIG. 2B is a diagram showing a case where the derived activation transaction is a linked transaction. 1
A mechanism for executing a plurality of tasks in one transaction is referred to herein as interlocking. Since the linked startup task S3A and the linked passive task S3B are executed as one transaction, the atomicity of whether or not both are successful is guaranteed. Taking the accounting system as an example, the linked startup business S3A
Is, for example, a withdrawal of an electricity fee. In this case, the interlocked passive business S3B is a withdrawal from an ordinary deposit. Since the linked transaction is executed as one transaction, the payment of the electricity bill is successful, but there is no inconsistent state that the amount is not withdrawn from the savings account. In the example shown in FIG. 2B, the linked start operation S3A
Requests the withdrawal of the ordinary deposit from the interlocking passive business S3B. When the withdrawal is performed in the interlocking passive business S3B, the process returns to the interlocking activation business S3A. Upon receiving the interlock return, the interlock start operation S3A
Commit after doing other processing. Then, when there is a change in the account balance of the ordinary deposit, if there is an accompanying task that does not require an immediate online response, the linked passive task S3B activates the derived transaction S4.

【0051】図2(C)は、派生トランザクションが自
らを派生トランザクションとして起動要求する例を示す
図である。本実施形態では、派生トランザクション自身
が派生起動トランザクションとなることができる。ま
た、派生トランザクションは、派生起動トランザクショ
ンを派生トランザクションとして起動することもでき
る。図2に示す例では、派生起動トランザクションのコ
ミット後に派生トランザクションがアボートした場合に
は、前記派生起動情報に基づいて当該派生トランザクシ
ョンを再起動させる。この図2に示す各態様を組み合わ
せて利用することで、種々の特性を有する業務処理を実
現することができる。
FIG. 2C is a diagram showing an example in which a derived transaction requests activation as a derived transaction. In this embodiment, the derived transaction itself can be a derived activation transaction. The derived transaction can also start the derived start transaction as a derived transaction. In the example shown in FIG. 2, when the derived transaction is aborted after the commit of the derived activation transaction, the derived transaction is restarted based on the derived activation information. By combining and using the respective modes shown in FIG. 2, business processes having various characteristics can be realized.

【0052】図1に示す構成及び図2に示す仕組みは、
所定のプログラムを演算手段が実行することで実現する
ことができる。演算手段4は、所定のプログラム(指
令)に従って各種の演算を行うCPUを備えている。C
PUは、業務処理要求(メッセージ)に従ってオンライ
ントランザクションをスケジュール(ルーティング)す
ると共に、その実行結果を端末1A,1Bに戻すための
指令や、派生トランザクションの性質を管理するための
指令等のオンライントランザクション制御用プログラム
を実行することで、図1に示すオンライン応答部10
や、派生トランザクション管理部12として動作する。
これらのプログラムはCPUに併設されたプログラム記
憶部に格納される。また、基本的な入出力を行うオペレ
ーティングシステムや、データベースの管理やログによ
る復帰や、一般的なトランザクションの管理や、DBの
ロックなどを行うプログラム群についても、このプログ
ラム記憶部に格納されている。
The configuration shown in FIG. 1 and the mechanism shown in FIG.
This can be realized by executing a predetermined program by the arithmetic means. The calculation means 4 includes a CPU that performs various calculations according to a predetermined program (command). C
The PU schedules (routes) an online transaction according to a business process request (message), and controls online transactions such as a command for returning the execution result to the terminals 1A and 1B and a command for managing the nature of the derived transaction. By executing the application program, the online response unit 10 shown in FIG.
Also, it operates as the derived transaction management unit 12.
These programs are stored in a program storage unit provided with the CPU. In addition, an operating system that performs basic input / output, and a group of programs that perform management of a database and restoration by logs, management of general transactions, locking of a DB, and the like are also stored in the program storage unit. .

【0053】このようなオンライントランザクション制
御用プログラムは、CPU(演算手段)を動作させる指
令を備える。例えば、オンライントランザクション制御
用プログラムは、端末等から入力される業務処理要求を
オンライントランザクションとして実行させる指令と、
このオンライントランザクションの実行処理の一部とし
て派生トランザクションの起動が要求された場合には当
該派生トランザクションの起動に必要な派生起動情報を
前記ファイルに格納させる指令と、派生トランザクショ
ンの実行開始又はコミットを待機せずに当該派生トラン
ザクションを起動したオンライントランザクションをコ
ミットさせる指令と、オンライントランザクションがア
ボートした場合には前記派生トランザクションの開始又
はコミットさせない制御をする指令とを備えている。演
算手段4は、これらの指令を実行することで、派生起動
管理機能20や、派生起動情報格納制御機能22として
動作する。また、オンライントランザクション制御用プ
ログラムは、派生起動トランザクションがコミットした
後に前記派生トランザクションがアボートした場合には
前記派生起動情報に基づいて当該派生トランザクション
を再起動させる指令を備える。その他、オンライントラ
ンザクション制御システムや、オンラインシステムにて
実現すべき各手段、各部又は各機能や、フローチャート
の各工程に応じた指令を備えることで、CPUは種々の
機能を有する演算手段4として動作する。
Such an online transaction control program includes a command for operating a CPU (arithmetic means). For example, the online transaction control program includes a command to execute a business process request input from a terminal or the like as an online transaction,
When the activation of a derived transaction is requested as a part of the execution processing of the online transaction, a command to store the derived activation information necessary for the activation of the derived transaction in the file and wait for the execution start or commit of the derived transaction There is provided a command to commit the online transaction that has started the derived transaction without performing the command, and a command to start or to not commit the derived transaction when the online transaction is aborted. The arithmetic unit 4 operates as a derivative activation management function 20 and a derivative activation information storage control function 22 by executing these commands. Further, the online transaction control program includes a command to restart the derived transaction based on the derived activation information when the derived transaction is aborted after the derived activation transaction commits. In addition, the CPU operates as the arithmetic unit 4 having various functions by providing the online transaction control system, each unit to be realized by the online system, each unit or each function, and instructions according to each step of the flowchart. .

【0054】オンライントランザクション制御用プログ
ラムは、磁気テープ(MT)やディスク等の記録媒体1
1Aに格納されて搬送され、媒体読取部11によって読
み取られる。記録媒体に格納されていたオンライントラ
ンザクション制御用プログラムは、媒体読取部11にて
読み取られた後、プログラム記憶部に格納される。ま
た、他のホスト装置から通信回線を経由してプログラム
記憶部にプログラムを提供することもできる。
The online transaction control program is stored in a recording medium 1 such as a magnetic tape (MT) or a disk.
1A, transported, and read by the medium reading unit 11. The online transaction control program stored in the recording medium is read by the medium reading unit 11 and then stored in the program storage unit. Also, a program can be provided from another host device to the program storage unit via a communication line.

【0055】プログラムについて、CPU(演算手段)
を「動作させる指令」というときには、各指令のみでC
PUを動作させる指令と、プログラム記憶部に予め格納
されているオペレーティングシステム等の他のプログラ
ムに依存して当該CPUを動作させる指令とのいずれか
または双方を含む。ここでは、「オペレーティングシス
テム」は広義に解釈している。トランザクションマネー
ジャや、データベースマネージャ等を含む。従って、I
MS,FP及びSAILなども便宜上OSと考える。
About the program, CPU (arithmetic means)
Is referred to as a "command to operate".
The command includes one or both of a command for operating the PU and a command for operating the CPU depending on another program such as an operating system stored in the program storage unit in advance. Here, “operating system” is interpreted in a broad sense. Includes transaction manager, database manager, etc. Therefore, I
MS, FP, SAIL, etc. are also considered OS for convenience.

【0056】派生起動情報格納制御指令は、派生起動情
報の格納先をオペレーティングシステムに引き渡す指令
のみでもよい。このように、当該オンライントランザク
ション制御用プログラムを記憶する記録媒体11Aであ
って、当該プログラムをユーザへ搬送する用途の記録媒
体11Aには、例えば「派生起動情報の格納先をオペレ
ーティングシステムに引き渡す指令」のみが格納され、
実際のデータの格納等はオペレーティングシステムによ
って行われる場合がある。これは、動作させようとする
コンピュータのオペレーティングシステム等との関係で
定まる。この点、通信回線を介してプログラム(指令)
を提供する場合も同様である。
The derivative activation information storage control command may be only a command for transferring the storage destination of the derivative activation information to the operating system. As described above, the recording medium 11A for storing the online transaction control program, which is used for transporting the program to the user, includes, for example, a "command to transfer the storage destination of the derived activation information to the operating system". Only stored,
Actual storage of data and the like may be performed by the operating system. This is determined by the relationship with the operating system of the computer to be operated. In this regard, program (command) via communication line
The same applies to the case of providing

【0057】このプログラムとシステム又は方法、搬送
媒体等に関する説明は後述する実施形態においても同様
である。特に、同一の名前が付されている機能、工程、
指令のそれぞれが対応する点は、各実施形態においても
同様である。例えば、オンライントランザクション制御
用プログラムは、派生起動情報格納制御機能を実現する
には、その機能を実現するための派生起動情報格納制御
指令を備える。
The description of the program, the system or method, the transport medium, etc. is the same in the embodiments described later. In particular, functions, processes,
The point that each command corresponds is the same in each embodiment. For example, in order to implement the derived activation information storage control function, the online transaction control program includes a derived activation information storage control command for implementing the function.

【0058】次に、オンラインシステムでの派生トラン
ザクションの利用法を説明する。図3(A)は派生トラ
ンザクションの利用法に応じた端末応答等を説明するた
めの説明図である。端末1(1A又は1B)は、業務処
理要求を演算手段4に入力する。派生トランザクション
モデルでは、主業務をオンライントランザクションS1
1として実行し、付随業務を派生トランザクションS1
2として実行する。すなわち、トランザクション実行部
16は、前記業務処理要求に関連した付随業務を前記派
生トランザクションとして実行する。図3(A)に示す
例では、主業務は付随業務を派生起動しているため、派
生起動トランザクション(派生起動T)である。派生起
動トランザクションと派生トランザクションとは個別に
コミットする。派生起動トランザクションは、付随業務
の完了を待機せずに端末1に応答を返す。
Next, how to use the derived transaction in the online system will be described. FIG. 3A is an explanatory diagram for explaining a terminal response and the like according to the usage of the derived transaction. The terminal 1 (1 </ b> A or 1 </ b> B) inputs a task processing request to the arithmetic unit 4. In the derived transaction model, the main business is the online transaction S1
1 and the associated business is derived transaction S1
Run as 2. That is, the transaction execution unit 16 executes the associated business related to the business process request as the derived transaction. In the example shown in FIG. 3A, the main task is a derivative start transaction (derivative start T) because the subsidiary task is derived and started. Commit the derived startup transaction and the derived transaction separately. The derived start transaction returns a response to the terminal 1 without waiting for the completion of the associated task.

【0059】勘定系システムを例とすると、図3(A)
に示す利用法としては、口座を新設した場合の名寄せ処
理がある。勘定系システムで顧客を単位とした口座体系
を採用する場合、営業店201で口座を有する顧客が営
業店202でも口座を新設した場合には、この2つの口
座を関連させる名寄せ処理を行う。名寄せ処理は、例え
ば、同一氏名で住所が同一の場合に行う。このため、新
規口座開設があると、その口座氏名と同一氏名の口座を
全営業店の全口座から探索しなければならない。そし
て、口座の開設自体は、名寄せ処理を行わなくても完了
させることができる。このため、口座の開設処理をオン
ライントランザクションとして構築し、名寄せ処理をこ
の口座開設処理の付随業務として構築する。これによ
り、口座開設を早期にコミットさせつつ、バッチ処理を
用いずに名寄せ処理を行うことができる。
Taking the accounting system as an example, FIG.
Is a name identification process when an account is newly established. In the case where the account system adopts an account system in units of customers, and when a customer who has an account in the branch 201 also newly establishes an account in the branch 202, a merging process for associating the two accounts is performed. The name identification process is performed, for example, when the same name and the same address are used. Therefore, when a new account is opened, it is necessary to search for an account having the same name as the account name from all accounts at all business offices. The opening of the account itself can be completed without performing the name identification process. For this reason, the account opening process is constructed as an online transaction, and the name identification process is constructed as a task associated with the account opening process. As a result, it is possible to perform the merging process without using the batch process while committing the account opening early.

【0060】図3(A)に示す他の利用法として、用途
に応じたデータの二重化を行う処理がある。例えば、融
資に関する情報を全営業店の通し番号である融資先番号
を単位として融資マスタDBに格納しているとする。こ
の融資マスタDBには、融資の実行予定日を指定した予
約オペレーションにより、融資先番号を単位として予約
セグメントが作成される。融資の実行に本部の決裁が必
要な場合には、稟議書作成オペレーションにより稟議書
を作成し、本部に送付する。本部では、融資の内容に応
じて決裁又は否認のオペレーションを行う。営業店で
は、融資の実行予定日に、本部決裁された案件をあわせ
て融資実行のオペレーションを行い、融資先番号で特定
できる融資先の口座に入金する。営業店では、融資実行
のオペレーションを行うために、その日に実行すべき案
件の一覧を照会する必要があるが、融資マスタDBから
照会を行うと、融資先番号は店別でなく全店通し番号で
採番されているため、全融資先を検索しなければなら
ず、この場合、分単位の処理時間が必要となってしま
う。そこで、営業店での照会用に、融資マスタDBとは
別の稟議DBを構築することで、予約セグメント等の二
重化を行う。稟議DBは営業店の店番単位に、実行予定
日順に予約セグメントを保有するデータ構造とし、店別
の照会を短時間で行えるようにした。稟議DBへの予約
セグメントの登録は、店番の下に多くのセグメントが存
在し、かつ、追加される場所は実行予定日によって異な
り、常に最終位置とは限らないため、必ずしも短時間で
終了するというわけではない。一方、主業務である予約
オペレーションは短時間で終了させたい。このため、本
実施形態では、予約オペレーション等を主業務とする。
そして、稟議DBへの予約セグメントの登録を付随業務
として派生トランザクションで実行することとした。図
3(A)に示す例では、ステップS11にて融資マスタ
DBへ予約セグメントを登録するための予約オペレーシ
ョンを実行し、付随業務を派生トランザクションS12
として起動する。予約オペレーションを実行する派生起
動トランザクションS11は、付随業務S12のコミッ
トを待たずにコミットする。これにより、予約オペレー
ションは短時間で終了する。付随業務S12では、予約
オペレーションに少し遅れて、稟議DBへの予約セグメ
ントの登録処理を行う。
As another use method shown in FIG. 3A, there is a process of duplicating data according to the use. For example, it is assumed that information on financing is stored in the financing master DB in units of borrower numbers, which are serial numbers of all business offices. In the loan master DB, a reservation segment is created in units of a borrower number by a reservation operation specifying a scheduled loan execution date. If the approval of the headquarters is required to execute the loan, a request for approval is created by the request for approval request creation operation and sent to the headquarters. At the headquarters, an approval or denial operation is performed depending on the content of the loan. At the sales office, on the scheduled execution date of the loan, the loan execution operation is performed together with the case approved by the headquarters, and the loan is paid to the account of the borrower identified by the borrower number. At the sales office, it is necessary to inquire the list of projects to be executed on that day in order to perform the operation of financing execution. Therefore, all lenders must be searched, and in this case, processing time in minutes is required. Therefore, by making a separate approval DB different from the loan master DB for inquiries at the branch office, the reservation segments and the like are duplicated. The decision-making DB has a data structure in which reserved segments are stored in order of scheduled execution dates for each branch number of each branch, so that inquiries by store can be performed in a short time. Registration of a reserved segment in the decision making DB is completed in a short time because there are many segments below the store number and the location to be added depends on the scheduled execution date and is not always the final position. Do not mean. On the other hand, we want to finish the reservation operation, which is the main task, in a short time. For this reason, in the present embodiment, the main operation is a reservation operation and the like.
Then, the registration of the reservation segment in the Decision DB is executed as a subsidiary business in a derived transaction. In the example shown in FIG. 3A, a reservation operation for registering a reservation segment in the loan master DB is executed in step S11, and the associated business is changed to a derivative transaction S12.
Start as The derivative activation transaction S11 that executes the reservation operation commits without waiting for the commit of the associated task S12. Thereby, the reservation operation is completed in a short time. In the incidental task S12, registration processing of the reservation segment in the approval request DB is performed slightly after the reservation operation.

【0061】図3(B)は、付随業務として先日付完結
処理システムでの取消再カットメインを実行する例を示
す説明図である。先日付完結処理システムは、従来バッ
チ処理で行っていた口座振替等の決済をオンライントラ
ンザクションとして日中に処理するための手法であり、
その詳細は同一出願人により別途出願されている。ここ
では、その概要を説明する。口座振替等の口座処理は、
勘定日を有している。先日付完結処理システムでは、現
在の残高に基づいて次営業日以降(先日付)の勘定日の
口座処理を実行し、その勘定日の残高を算出しておく。
このため、先日付完結処理システムでは、演算日の残高
と、将来の勘定日の残高とを保有する。例えば、10日
に30,000の残高があり、10日にて11日を勘定
日とする電気料の引落10,000を実行し、10日の
残高を30,000としたまま、11日(先日付)の残
高を20,000とする。10日に現金出金等の口座処
理要求(業務処理要求)があった場合には、10日の残
高である30,000を参照する。一方、日付が変更さ
れた場合には、11日の残高を参照する。11日の残高
はすでに電気料の引落が完了した残高となっているた
め、日付変更時になんら処理を行う必要がない。このた
め、先日付完結処理は、先日付で口座振替等を処理した
時点で、その処理が完結している。
FIG. 3B is an explanatory diagram showing an example of executing the cancellation / recut main in the future-end completion processing system as an incidental task. The future completion processing system is a method for processing settlements such as fund transfers that were conventionally performed in batch processing as online transactions during the day,
The details have been separately filed by the same applicant. Here, the outline will be described. Account processing such as fund transfer,
Have an account date. In the future-end completion processing system, account processing is performed on account days on and after the next business day (future date) based on the current balance, and the balance on that account day is calculated.
For this reason, the future-end completion processing system holds the balance on the calculation day and the balance on the future account date. For example, there is a balance of 30,000 on the 10th, an electricity charge withdrawal of 10,000 on the 10th is executed on the 10th, and the balance on the 10th is kept at 30,000 for 11th ( The balance of the future date) is 20,000. If there is an account processing request (business processing request) such as cash withdrawal on the 10th, the balance on the 10th is 30,000. On the other hand, if the date is changed, the balance on the 11th is referred to. Since the balance on the eleventh day has already been deducted from the electricity charge, there is no need to perform any processing when the date is changed. For this reason, the future date completion processing is completed when the account transfer and the like are processed on the future date.

【0062】さて、電気料の引落を先日付にて処理した
後、10日の口座残高に異動があったとする。例えば2
5,000の出金があるとする。10日の残高は30,
000であるため出金可能で、出金後は5,000とな
る。11日の残高については、20,000から25,
000減算すると、マイナス5,000となる。残高が
マイナスとなるのは自動融資等の契約によらない限り、
業務上ありえないため、11日の残高を不足として電気
料の引落を取り消さなければならない。電気料の引落を
取り消すと、11日の残高は5,000となる。続い
て、この未成立であった電気料の引落がある場合に、例
えば10日を勘定日として6,000の入金があると、
11日の残高は11,000となり、電気料の引落が可
能となる。この場合、勘定日の残高から電気料を口座振
替するという契約に従って、電気料の引落を再実行(再
カット)する。
Now, it is assumed that the account balance has been changed on the 10th after the payment of the electricity charge has been processed on the previous date. For example, 2
Suppose you have 5,000 withdrawals. The balance on the 10th is 30,
Since it is 000, withdrawal is possible, and after withdrawal, it becomes 5,000. For the balance on the 11th, from 20,000 to 25,
Subtracting 000 results in minus 5,000. Unless the balance is negative, unless it is based on a contract such as automatic financing,
Since it is impossible for business, the balance on the 11th must be deducted and the withdrawal of electricity charges canceled. Withdrawing the electricity bill, the balance on the 11th will be 5,000. Subsequently, when there is a deduction of the unsettled electricity charge, for example, if there is a deposit of 6,000 with the 10th as an account date,
The balance on the 11th will be 11,000, and electricity charges can be deducted. In this case, the debit of the electric charge is re-executed (re-cut) according to the contract of transferring the electric charge from the balance on the account date.

【0063】このように、先日付完結処理では、その口
座残高を最終残高とした場合の先日付の決済を実行す
る。口座に異動があった場合には、再度先日付の決済を
調整する。これにより、口座振替等の決済の夜間バッチ
を日中に処理することができる。この口座振替の日中処
理を、ここではセンター一括処理ともいう。センター一
括処理は、バッチ処理ではなく、コンソール端末2Aか
らのコマンド入力により開始されるオンライン処理であ
る。
As described above, in the future completion processing, the future settlement is executed when the account balance is set as the final balance. If there is a change in the account, the future payment will be adjusted again. As a result, a night batch of settlement such as account transfer can be processed during the day. The daytime processing of the account transfer is also referred to as a center batch processing herein. The center batch process is not a batch process but an online process started by a command input from the console terminal 2A.

【0064】オンライントランザクションによる当日の
口座残高の異動と、この異動によって生じる取消、再カ
ットとを1つのトランザクションで実行しようとする
と、種々の弊害が生じる。第1に、1つのトランザクシ
ョンの実行時間が長くなるため、オンラインの応答性が
悪化する。第2に、取消や再カットすべき口座処理要求
の数が予測できないため、例えば連動回数の制限などに
よって実際上処理できなくなる可能性がある。このた
め、先日付完結処理では、派生トランザクションモデル
の採用が望ましい。
[0086] If the transfer of the account balance on the day due to the online transaction and the cancellation and re-cut caused by the transfer are to be executed in one transaction, various adverse effects occur. First, since the execution time of one transaction becomes longer, online responsiveness deteriorates. Second, since the number of account processing requests to be canceled or recut cannot be predicted, there is a possibility that the processing cannot be actually performed due to, for example, a limitation on the number of interlocking operations. For this reason, it is desirable to adopt a derived transaction model in the future completion processing.

【0065】上述したように、派生トランザクションモ
デルでは、拡張された一貫性を用いることができる。派
生起動トランザクションはACID特性を満たすから、
そのトランザクションによってデータベースの内容等は
アプリケーションにとって一貫性のある状態となる。し
かし、この一貫性はシステムレベルの一貫性であって、
業務レベルでの一貫性である必要はない。
As mentioned above, the derived transaction model allows for enhanced consistency. Since the derived start transaction satisfies the ACID property,
The transaction brings the contents of the database into a consistent state for the application. However, this consistency is system-level consistency,
It does not need to be business-level consistency.

【0066】業務レベルでの一貫性に欠けるデータは、
例えば、先日付での出金可能額のマイナスを許容したデ
ータ構造である。出金可能額がマイナスである状態は、
最終的には、マイナスの勘定日を迎えるまでに解消すれ
ば良い(実際には、派生トランザクションによって数秒
以内にマイナスの状態が解消される)。先日付完結処理
での派生トランザクションモデルの利用方法を図3
(B)に示す。上記の例で、10日に25,000の出
金要求があると、主業務(オンライントランザクショ
ン)S17Aは10日の残高を参照して25,000の
出金を行い、10日の残高と11日の残高を更新する。
11日の残高はマイナス5,000となる。そして、口
座残高に異動が生じたため、取消再カットメインを派生
トランザクションとして起動する。マイナス5,000
をファイルに格納し、取消再カットメインS18Aを派
生トランザクションとして起動すると、その後の処理は
オンライン応答とは無関係であるため、主業務S17A
はコミットし、出金処理を完了させる。すなわち、取消
再カットメインの完了を待たずに現金出金処理をコミッ
トさせる。先日付の決済の再調整は、口座残高の異動と
いう主業務に対する付随業務として、派生トランザクシ
ョンで処理するのである。
Data that is inconsistent at the business level is
For example, it has a data structure that allows minus of the withdrawable amount on the future date. If the amount that can be withdrawn is negative,
Eventually, it will only need to be resolved before the negative accounting date is reached (actually, the derived transaction will clear the negative state within seconds). Figure 3 shows how to use the derived transaction model in future completion processing
It is shown in (B). In the above example, if there is a 25,000 withdrawal request on the 10th, the main business (online transaction) S17A refers to the balance on the 10th and makes a 25,000 withdrawal, and the balance on the 10th and 11th. Update your daily balance.
The balance on the 11th will be minus 5,000. Then, since a change has occurred in the account balance, the cancellation re-cut main is started as a derived transaction. Minus 5,000
Is stored in a file, and the re-cancel main S18A is started as a derived transaction. Since the subsequent processing is not related to the online response, the main business S17A
Commits and completes the withdrawal process. That is, the cash dispensing process is committed without waiting for the completion of the cancellation / recut main. The re-adjustment of the future settlement is handled in a derivative transaction as an additional business to the main business of transferring the account balance.

【0067】取消再カットメインS18Aでは、11日
のマイナス5,000という残高に基づいて、取り消す
べき口座処理の特定を行う。11日に成立している口座
処理が電気料引落のみであるとすると、取消再カットメ
イン(派生T)は、電気料引落の取消を派生トランザク
ションとして起動する。ステップS17Bでは、電気料
引落の取消を行い、11日の残高を更新する。電気料引
落の取消処理S17Bは、口座に異動が生じたため、再
度取消再カットメインS18Bを派生トランザクション
として起動する。取消再カットメインS18Bは、11
日の口座残高がプラスとなったため取り消しの対象はな
いと判定し、また未成立の取引も存在しないため処理を
完了する。
In the cancellation re-cut main S18A, the account processing to be canceled is specified based on the balance of minus 5,000 on the 11th. If the account processing established on the 11th is only electricity charge withdrawal, the cancellation recut main (derivation T) starts the cancellation of electricity charge withdrawal as a derivative transaction. In step S17B, the electricity charge withdrawal is canceled, and the balance on the 11th is updated. In the electricity charge withdrawal cancellation process S17B, the account is changed, so the cancellation / recut main S18B is started again as a derived transaction. Cancel re-cut main S18B is 11
Since the day's account balance has become positive, it is determined that there is no cancellation target, and the processing is completed because there are no uncompleted transactions.

【0068】先日付完結処理システムでは、派生トラン
ザクションモデルを採用し、当日の口座処理要求に関し
てはオンライントランザクションとして処理し、口座の
異動に伴う先日付の口座処理の調整については、派生ト
ランザクションを用いる。これにより、オンラインの良
好な応答性を確保しつつ、口座振替等の日中処理を実現
する。この先日付完結処理システムは、先日付の決済に
は決済完了性がない(勘定日を迎えるまで取り消しが可
能である)ことを利用して、口座処理間の優先順位に従
った取消再カットを行うことで、口座処理を優先順位に
従って並べ替えることができる。
In the future-end completion processing system, a derived transaction model is adopted. An account processing request on the day is processed as an online transaction, and a derived transaction is used to adjust future-day account processing accompanying an account transfer. As a result, daytime processing such as fund transfer is realized while ensuring good online responsiveness. This future-end completion processing system performs cancellation re-cutting in accordance with the priority between account processings, utilizing the fact that the settlement of the future date has no settlement completion (cancellation is possible until the account date is reached). This allows account processing to be sorted according to priority.

【0069】図4は、優先順位に従った口座処理の入れ
替えを行う取消再カットメインの構成を示す説明図であ
る。図4に示した技術の詳細は、同一出願人による特願
2001−078306号の「先日付完結処理システム
及びその方法」の明細書及び図面に記述されている。こ
こでは、その概要を説明する。図3を参照すると、取消
再カットメインは、主業務を起動し、さらにその主業務
は取消再カットメインを起動している。この派生トラン
ザクションの繰り返し起動による処理を、スパイラル処
理と呼ぶ。各取消再カットメインS18A,S18Bは
それぞれACID特性を満たす独立したトランザクショ
ンであるから、内部的な情報を使用して繰り返しによる
連続的な処理を実現することはできない。このため、ス
パイラル処理では、取消再カットメインの判定及び処理
の連続性を保つための派生管理フラグを用いる。
FIG. 4 is an explanatory diagram showing the configuration of a cancel / recut main that exchanges account processing according to priority. The details of the technique shown in FIG. 4 are described in the specification and drawings of “A system and a method for completion of a future date” of Japanese Patent Application No. 2001-078306 filed by the same applicant. Here, the outline will be described. Referring to FIG. 3, the cancel recut main activates the main task, and the main task activates the cancel recut main. Processing by repeatedly invoking this derived transaction is called spiral processing. Since each of the cancellation / recut mains S18A and S18B is an independent transaction that satisfies the ACID characteristic, continuous processing cannot be realized by repetition using internal information. Therefore, in the spiral processing, a derivation management flag for maintaining the continuity of the determination and the processing of the cancellation / recut main is used.

【0070】図4を参照すると、派生起動トランザクシ
ョンは図2(B)に示すような連動取引を利用してい
る。連動起動処理では、口座処理の取消や、再カットを
行う。この口座処理の取消と連動して、連動受動処理側
では普通預金への入金や、出金を行う。例えばS31で
は電気料引落の取消を行い、自動振替を管理するDBに
決済不能である旨を格納する。そして、連動受動処理で
は、その勘定日の普通預金の残高に取消金額を入金す
る。電気料引落の取り消しと、普通預金への取消金額の
入金とは連動するため、1トランザクションとして実行
される。従って、取消及び入金とは原子性を有する。こ
の連動起動処理S31及び連動受動処理S32は、連動
受動処理が成立し、その成立に応じた処理が起動処理側
で完了したときに、同期点に達する(C35)。
Referring to FIG. 4, the derivative activation transaction utilizes a linked transaction as shown in FIG. 2 (B). In the linked start-up process, the account process is canceled or cut again. In conjunction with the cancellation of the account processing, the linked passive processing side deposits and withdraws money from the ordinary deposit. For example, in S31, the withdrawal of the electricity charge is canceled, and the fact that settlement is impossible is stored in the DB that manages the automatic transfer. Then, in the interlocking passive processing, the cancellation amount is deposited in the balance of the ordinary deposit on the account day. Since the cancellation of the withdrawal of electricity charges and the payment of the cancellation amount to the ordinary deposit are linked, they are executed as one transaction. Therefore, cancellations and deposits are atomic. The linked start processing S31 and the linked passive processing S32 reach the synchronization point when the linked passive processing is established and the processing corresponding to the establishment is completed on the start processing side (C35).

【0071】取消再カットメインは、派生管理フラグ
と、マイナスを許容した先日付の残高明細や、成立した
取引を記録する取引明細や、未成立の取引を記録する残
不足明細などのセグメントを参照して、口座を最適化
(または、業務としての一貫性の回復)のためにどのよ
うな処理をすべきかを判定し、その判定結果に従って、
取消処理や、修正再カット処理や、再カット処理を派生
トランザクションとして起動する。取消再カットメイン
は、まず、先日付の勘定日にて出金可能額がマイナスと
なっているか否かを判定する。そして、マイナスとなっ
ている場合には(分岐B1)、マイナスとなっている勘
定日での優先順位が最も低い口座処理要求を取り消す取
消処理を、派生トランザクションとして起動する。取消
処理を派生起動すると、取消再カットメインは同期点に
達し(C31)、終了する。
The cancellation re-cut main refers to a segment such as a derivation management flag, a balance statement of a future date that allows minus, a transaction statement that records a completed transaction, and a remaining shortage statement that records an unsuccessful transaction. To determine what action should be taken to optimize the account (or restore business consistency),
Invoke cancellation processing, modified recut processing, and recut processing as derived transactions. The cancellation re-cut main first determines whether or not the withdrawable amount is negative on the account date of the future date. If it is negative (branch B1), a cancellation process for canceling the account processing request with the lowest priority on the negative account date is started as a derived transaction. When the cancellation process is derived and started, the cancellation re-cut main reaches the synchronization point (C31) and ends.

【0072】連動起動処理S31及び連動受動処理S3
2の連動によって取消が行われ、取り消された金額分口
座残高が更新された後に、取消再カットメインは再度出
金可能額を確認し、マイナスであれば、この時点で最も
優先順位の低い口座処理要求の取消処理を派生起動し、
その後コミットする(C31)。この取消処理の繰り返
しを、ここでは取消スパイラルSP1と呼ぶ。取消スパ
イラルSP1は、出金可能額のマイナスがなくなると終
了する(分岐B2)。
The linked start process S31 and the linked passive process S3
After the cancellation is performed by the interlocking of 2 and the account balance is updated by the amount of the cancellation, the cancellation recut main again checks the amount that can be withdrawn, and if it is negative, the account with the lowest priority at this time Derived start of process request cancellation process,
After that, commit (C31). This repetition of the cancellation process is herein referred to as a cancellation spiral SP1. The cancellation spiral SP1 ends when there is no longer a minus in the withdrawable amount (branch B2).

【0073】口座残高が増額された場合や、出金可能額
のマイナスがなくなった場合には(分岐B2)、修正再
カットの可否を判定する。修正再カットは、先日付の勘
定日について、成立済みの口座処理と未成立の口座処理
とを入れ替えることで、その勘定日にて成立させる口座
処理を予め定められた優先順位の順序とする処理であ
る。具体的には、未成立の口座処理要求のうち最も優先
順位の高い口座処理要求を最高位の口座処理要求とし、
この口座処理要求よりも優先順位が低く成立済みの口座
処理要求で利用している出金額を合計し、さらに残高を
加算することで修正出金可能額を算出する。最高位の口
座処理要求が修正出金可能額よりも小さければ(分岐B
3)、最高位の口座処理要求の修正再カットを実行する
(S34)。修正再カットを実行すると、その勘定日の
残高はマイナスとなる。従って、次に起動される取消再
カットメインでは、出金可能額がプラスとなるまで優先
順位の低い順に成立済みの口座処理要求を取り消す。
When the account balance is increased or when the possible amount of withdrawal is no longer negative (branch B2), it is determined whether or not a re-cut is necessary. Correction re-cut is a process in which the account processing to be completed on that account date is in a predetermined priority order by exchanging the completed account processing and the uncompleted account processing for the future date. It is. Specifically, the highest priority account processing request among the uncompleted account processing requests is regarded as the highest account processing request,
The corrected withdrawal amount is calculated by summing up the withdrawal amounts used in the established account processing requests having a lower priority than the account processing request and adding the balance. If the highest account processing request is smaller than the corrected withdrawable amount (Branch B
3), a correction re-cut of the highest account processing request is executed (S34). When the re-cut is performed, the balance on that account day becomes negative. Accordingly, in the cancellation re-cut main to be started next, the account processing requests that have been satisfied are canceled in the order of lower priority until the possible withdrawal amount becomes positive.

【0074】修正再カットを繰り返すと、取引明細に格
納された口座処理要求の優先順位が、残不足明細に格納
された口座処理要求群の優先順位よりも高くなる。この
状態では、修正出金可能額の算出ができなくなるため、
修正再カットは不要と判定される(分岐B4)。
When the correction re-cut is repeated, the priority of the account processing requests stored in the transaction details becomes higher than the priority of the group of account processing requests stored in the remaining shortage details. In this state, the corrected withdrawal amount cannot be calculated,
It is determined that the correction re-cut is unnecessary (branch B4).

【0075】修正再カットができない口座処理要求が、
再カットされることはない。再カットの判定では、修正
再カットの対象となっていない口座処理要求の再カット
を検討する。例えば、修正再カットは取消を前提とする
ため、口座処理の取消を行わない当日の口座処理要求の
再カットや、修正再カットを行わないと判定された優先
順位の低い口座処理要求の再カットの可否を判定する。
再カットは、処理対象とする勘定日(例えば、演算日当
日)を勘定日とする未成立の口座処理要求のうち、最も
優先順位の高い口座処理要求の取引金額(出金額)と対
象勘定日の出金可能額とを比較する。取引金額が出金可
能額より小さければ、再カット可能であるため、その口
座処理要求の再カットを派生トランザクションとして起
動し、コミットする(C33)。
An account processing request that cannot be corrected and recut is
It will not be recut. In the determination of re-cut, re-cut of an account processing request that is not a target of the correction re-cut is considered. For example, since re-cutting is premised on cancellation, re-cutting of account processing requests on the day without canceling account processing or re-cutting of low-priority account processing requests determined not to perform re-cutting Is determined.
The re-cut is performed based on the transaction amount (withdrawal amount) of the account processing request having the highest priority among the uncompleted account processing requests whose account date is the account date to be processed (for example, the calculation date) and the target account sunrise. Compare with possible amount of money. If the transaction amount is smaller than the possible withdrawal amount, the recut is possible, so the recut of the account processing request is started as a derived transaction and committed (C33).

【0076】連動起動処理S37及び連動受動処理S3
8は連動して再カット処理を行い、同期点に達した後に
再度取消再カットメインが起動される。出金可能額にマ
イナスがなく、修正再カットが完了し、再カットの対象
がない場合には、取消再カットメインは処理を完了す
る。一般的には、残高が減少した場合には取消スパイラ
ルSP1が動作し、残高が増加した場合には修正再カッ
ト及び再カットスパイラルSP2が動作する。取消再カ
ットメインが、派生トランザクションを活用して口座処
理の最適化を順次実行するため、先日付での取消の発生
を前提とした先日付完結処理を厳格に実行することがで
き、さらには、優先順位による決済という複雑な処理を
安定して実現することができ、また、先日付完結処理で
あるため、優先順位に基づいた処理を行いつつ、24時
間連続稼働を行うことができる。さらに、取消再カット
メインが、口座残高に異動が生じるごとに口座処理要求
の優先順位に基づいた最適化を実行するため、バッチ処
理と比較して、口座処理要求の実行順序が限定されるこ
とがなくなる。
Synchronized start processing S37 and interlocked passive processing S3
8 performs the re-cutting process in conjunction with it, and after reaching the synchronization point, the cancellation re-cut main is activated again. If there is no minus in the possible withdrawal amount, the modified recut is completed, and there is no recut target, the cancellation recut main completes the processing. Generally, when the balance decreases, the cancellation spiral SP1 operates, and when the balance increases, the modified recut and recut spiral SP2 operate. Since the cancellation recut main performs the optimization of the account processing sequentially using the derived transaction, it is possible to strictly execute the future completion processing assuming the occurrence of the cancellation at the future date, and furthermore, Complex processing of settlement by priority can be stably realized, and since the processing is completed at a future date, continuous operation can be performed for 24 hours while performing processing based on priority. Furthermore, since the cancellation re-cut main performs optimization based on the priority of the account processing request each time the account balance changes, the execution order of the account processing request is limited compared to the batch processing. Disappears.

【0077】この口座処理の並べ替えや、先日付を用い
た夜間バッチの日中処理化は、勘定系システムに関わら
ず、種々のオンラインシステムで利用可能である。例え
ば、チケットや宿泊施設の予約に関する優先順位の反映
や、商品販売をインターネット等を介して行う場合の売
価や商品の変更や、注文があった場合の各種の情報の更
新などである。また、販売と在庫管理と需要予測と発注
とを関連させたシステムでは、販売と在庫管理とを連動
させたオンライントランザクションとして実行し、発注
に必要な処理を派生トランザクションとして起動する。
発注の有無は販売とは無関係であるため、オンライント
ランザクションは在庫を参照して販売を記録した時点で
コミットする。派生トランザクションは、在庫数や需要
予測に応じて発注の有無を判定する。この場合、販売及
び在庫管理が業務処理(主業務)であり、発注が付随処
理(付随業務)となる。また、販売の成立によって、配
送や請求の手配が必要となる。販売をトリガとする配送
や請求の手配も、派生トランザクションの起動とするこ
ともできる。このように、オンラインシステムで応答性
の確保と、複雑な処理の自動化と、処理の厳密さとを同
時に達成すべき場合には、本実施形態による派生トラン
ザクションモデルを利用することができる。
The reordering of the account processing and the daytime processing of the night batch using the future date can be used in various online systems regardless of the accounting system. For example, reflection of priorities regarding reservations of tickets and accommodation facilities, changes in selling prices and commodities when selling commodities via the Internet or the like, and updating of various kinds of information when an order is placed are made. In a system in which sales, inventory management, demand forecasting, and ordering are related, sales and inventory management are executed as linked online transactions, and processing required for ordering is started as a derived transaction.
Since the presence or absence of an order is not related to the sale, the online transaction commits when the sale is recorded with reference to the stock. The derived transaction determines the presence or absence of an order according to the stock quantity or demand forecast. In this case, sales and inventory management are business processes (main business), and ordering is an incidental process (auxiliary business). In addition, delivery and billing arrangements are required depending on the sale. Arrangement of delivery or billing triggered by sales can also be a trigger of a derived transaction. As described above, when the responsiveness, the automation of complicated processing, and the strictness of processing are to be simultaneously achieved in the online system, the derived transaction model according to the present embodiment can be used.

【0078】本実施形態による派生トランザクションモ
デルを利用すると、派生起動トランザクションの実行に
よって業務上の一貫性に関して中間的なデータが生じる
場合には当該中間的なデータについて耐久性を持った状
態で前記ファイル6に格納し、この業務処理要求の実行
によって生じた業務上の一貫性に関する中間的な状態を
解消して業務上の一貫性を保つための判定及び実行を前
記派生トランザクションとして実行する。これにより、
オンラインの応答性の向上と複雑な処理の厳密な実行と
を両立させることができる。
When the derived transaction model according to the present embodiment is used, if the execution of the derived startup transaction generates intermediate data regarding business consistency, the intermediate data has durability with respect to the file. 6 to determine and execute the derivative transaction to eliminate an intermediate state relating to business consistency caused by execution of the business processing request and to maintain business consistency. This allows
It is possible to achieve both improved online responsiveness and strict execution of complicated processing.

【0079】図5は端末折り返し連続処理に派生トラン
ザクションを用いた例を示す説明図である。派生トラン
ザクションは、付随業務の処理に用いる。付随業務の特
殊な例として、端末折り返し連続処理がある。端末折り
返し連続処理は、端末から入力されたトランザクション
の処理がシステムの各種制限の関係で端末とのデータの
送受信を繰り返さなければ完成しない処理に関連する。
端末とのデータの送受信を行うと、一般に演算速度より
も通信速度の方が遅いため、CPUを通信の間待機させ
なければならなくなる。
FIG. 5 is an explanatory diagram showing an example in which a derived transaction is used in the terminal return continuous processing. Derived transactions are used for processing related services. As a special example of the incidental work, there is a terminal return continuous processing. The terminal return continuous processing is related to processing that is not completed unless the processing of a transaction input from the terminal is repeated by transmitting and receiving data to and from the terminal due to various restrictions of the system.
When transmitting / receiving data to / from a terminal, the communication speed is generally slower than the calculation speed, and the CPU must wait for communication.

【0080】例えば、積立定期の出金処理では、毎月1
0年間の積立で120明細となるなど支払うべき明細数
が多くなることがある。この場合、システム資源に制約
があるため、1トランザクションで全明細を処理できる
とは限らない。従って、例えば、1トランザクションで
5明細処理することとする。5明細の処理が完了する毎
に端末にダミー応答を送信し、端末からの継続処理要求
を受信したら、また5明細処理することを繰り返す。し
かし、端末とホストのデータ送受信には、一般的に2秒
程度を要するため、例えば100明細処理するのには、
40秒(2秒×20回)必要になる。CPUが5明細を
処理するのに要する時間は、メッセージの送受信を除く
と0.1秒程度である。
For example, in withdrawal processing at the time of funding regular,
In some cases, the number of payable items may increase, for example, 120 items can be paid for in 0 years. In this case, due to the restrictions on system resources, not all transactions can be processed in one transaction. Therefore, for example, five items are processed in one transaction. A dummy response is transmitted to the terminal every time the processing of the five details is completed, and when the continuation processing request is received from the terminal, the processing of the five details is repeated. However, data transmission / reception between a terminal and a host generally requires about 2 seconds.
40 seconds (2 seconds x 20 times) are required. The time required for the CPU to process the five specifications is about 0.1 second, excluding transmission and reception of messages.

【0081】このため、図5に示す例では、端末折り返
し連続処理となる業務処理要求を主業務とする場合、実
際に利息を含めた支払内容の算出を付随業務と考えて、
派生トランザクションの繰り返しを用いることで、端末
との通信によるレスポンスの悪化を防止する。すなわ
ち、端末折り返し連続処理では、付随業務側が実際の処
理を行い、主業務は端末応答を受け持つ。図5に示す例
では、積立定期の出金要求を受信すると、主業務S13
Aは、支払うべき明細を特定して、最初の5明細の支払
処理を行う。そして、主業務S13Aは、利息を含めた
支払内容を取引明細としてファイル6の取引明細に登録
する。主業務S13Aは、さらに、図5に示す端末制御
DBの処理中フラグをONとする。そして、主業務S1
3Aは、支払処理S14Aを派生トランザクションとし
て起動する。端末に対しては、まだ処理中であるとの情
報をセットしたダミー応答を送信する。ここで、主業務
S13Aは同期点に達する。
For this reason, in the example shown in FIG. 5, when the business process request that is the terminal return continuous process is the main business, the actual calculation of the payment contents including the interest is considered as the incidental business.
By using the repetition of the derived transaction, deterioration of the response due to communication with the terminal is prevented. That is, in the terminal return continuous processing, the associated task performs the actual processing, and the main task takes charge of the terminal response. In the example shown in FIG. 5, when receiving the withdrawal request for the funding period, the main business S13
A specifies a statement to be paid and performs payment processing on the first five statements. Then, the main business S13A registers the payment contents including the interest in the transaction statement of the file 6 as the transaction statement. The main task S13A further turns on the processing flag in the terminal control DB shown in FIG. And the main business S1
3A activates payment processing S14A as a derived transaction. A dummy response in which information that processing is still being performed is transmitted to the terminal. Here, the main task S13A reaches the synchronization point.

【0082】支払処理S14Aは、主業務S13Aから
渡された支払うべき明細のキーをもとに、5明細の支払
処理を行う。利息を含めた支払内容は、上記取引明細に
計上し、更新する。そして、同一の処理を行う支払処理
S14Bを起動する。ステップS14Bでは、ステップ
S14Aと同様に、支払処理S14Aから渡された支払
うべき明細のキーをもとに、次の5明細の支払処理を行
う。これを繰り返し、支払処理S15にて支払処理が完
了すると、端末制御DB7の処理中フラグをOFFにす
る。
In the payment process S14A, the payment process for five items is performed based on the key of the item to be paid passed from the main business S13A. The details of payment, including interest, will be recorded and updated in the above statement. Then, the payment processing S14B for performing the same processing is started. In step S14B, similar to step S14A, the payment processing of the following five items is performed based on the key of the item to be paid passed from payment process S14A. This is repeated, and when the payment process is completed in the payment process S15, the processing flag in the terminal control DB 7 is turned off.

【0083】支払処理はACID特性を有する派生トラ
ンザクションとして繰り返し起動されている。これとは
別に、端末から状況確認を受信すると、主業務S13B
は端末制御DB7をチェックする。端末制御DB7の処
理中フラグがONであれば、ダミー応答を端末に送信す
る。さらに、状況確認要求を受信し、端末制御DB7の
処理中フラグがOFFとなっている場合には、主業務S
16は、取引明細から支払伝票への印字データを作成
し、送信する。
The payment process has been repeatedly invoked as a derived transaction having ACID characteristics. Separately, when a status confirmation is received from the terminal, the main task S13B
Checks the terminal control DB7. If the processing flag in the terminal control DB 7 is ON, a dummy response is transmitted to the terminal. Further, when the status confirmation request is received and the processing flag in the terminal control DB 7 is OFF, the main task S
Reference numeral 16 creates and transmits print data to the payment slip from the transaction details.

【0084】このように、端末折り返し連続処理では、
トランザクション実行部16は、業務処理要求を処理す
る主業務トランザクションが派生トランザクションを起
動し(S13A)、派生トランザクションは処理対象が
無くなるまで当該派生トランザクションを繰り返し起動
する(S14A,S14B,S14C,S14D,S1
5)。一方、主業務トランザクションは前記派生トラン
ザクションの繰り返し起動によって処理が完了するまで
前記端末にダミー応答を繰り返す(ステップS13
B)。派生トランザクション(支払処理)の繰り返し起
動により処理対象の処理が完了した後に、前記主業務ト
ランザクションは前記端末に応答を返す。
As described above, in the terminal return continuous processing,
The transaction execution unit 16 activates the derived transaction when the main business transaction that processes the business processing request activates the derived transaction (S13A), and repeatedly activates the derived transaction until there is no more processing target (S14A, S14B, S14C, S14D, S1).
5). On the other hand, the main business transaction repeats a dummy response to the terminal until the processing is completed by repeatedly invoking the derivative transaction (step S13).
B). The main business transaction returns a response to the terminal after the process to be processed is completed by repeatedly invoking the derived transaction (payment process).

【0085】この図5に示す例では、例えば100明細
で派生トランザクションが19回実行され、その所要時
間は1.9秒(0.1秒×19回)となり、ダミー応答
を送信してから次の要求(状況確認)を受信するまでの
2秒の間に全ての支払処理は完了し、全体のレスポンス
時間は4秒ということになる。これは、端末への応答を
行う場合の1/10である。
In the example shown in FIG. 5, for example, the derived transaction is executed 19 times in 100 items, and the required time is 1.9 seconds (0.1 seconds × 19 times). All payment processing is completed within 2 seconds until the request (status confirmation) is received, and the overall response time is 4 seconds. This is 1/10 of the case of responding to the terminal.

【0086】また、連続した多数の処理を行う場合に、
派生トランザクションを用いることでオペレーションを
簡略化し、全体的な処理速度の向上を図ることもでき
る。例えば、ある処理を実際に実行させるには管理者の
承認が必要な業務がある。例えば、為替振込処理につい
て、管理者の承認が必要であるとする。この場合、その
処理の内容を電文DBに登録しておき、管理者の承認を
得た段階で、実際の振込を行う。承認を得たことを個別
に通知すると、振込件数分のオペレーションと端末との
データの送受信が必要となる。一方、振込全件を1トラ
ンザクションで実行しようとすると、処理時間が長くな
り、システムのリソース不足が生じる可能性もある。こ
のため、派生トランザクションを利用する。
When performing a large number of continuous processes,
By using derived transactions, operations can be simplified and overall processing speed can be improved. For example, there are tasks that require the approval of an administrator to actually execute a certain process. For example, suppose that the administrator needs to approve the exchange transfer processing. In this case, the contents of the process are registered in the message DB, and the actual transfer is performed at the stage when the approval of the administrator is obtained. If the individual is notified that the approval has been obtained, it is necessary to perform operations for the number of transfers and transmit and receive data to and from the terminal. On the other hand, if it is attempted to execute the entire transfer in one transaction, the processing time becomes longer, and there is a possibility that the resources of the system become insufficient. Therefore, use a derived transaction.

【0087】顧客から振込依頼書を受け付けると、オペ
レータは、振込依頼書に基づいて振込内容登録のオペレ
ーションを行う。この時点では、実際の振込は行わな
い。この振込内容登録の内容は、伝票に印字される。振
込内容の登録数がある程度まとまった時点で、オペレー
タは管理者の承認を求める。管理者は、振込依頼書と伝
票の印字内容とが一致していることを確認し、伝票に検
印を行う。伝票に検印されると、オペレータは、承認通
知処理を行う。この承認通知処理により、振込処理が実
行される。承認通知処理は、最初の電文番号と件数を入
力することで、1オペレーションで最大22件までの振
込を処理する。
Upon receiving a transfer request form from the customer, the operator performs a transfer content registration operation based on the transfer request form. At this point, no actual transfer is performed. The contents of the transfer content registration are printed on a slip. When the number of registered transfer details has reached a certain level, the operator requests approval from the administrator. The administrator confirms that the transfer request form matches the print content of the slip, and stamps the slip. When the slip is stamped, the operator performs approval notification processing. The transfer processing is executed by this approval notification processing. In the approval notification processing, a maximum of 22 transfers are processed in one operation by inputting the first message number and the number of cases.

【0088】承認通知処理では、まず、オンライントラ
ンザクションとして、入力された最初の電文番号で電文
DBを読み込み、正当であれば入金処理を行った後に、
次の電文番号をセットして、承認通知処理を派生トラン
ザクションとして起動する。派生された派生トランザク
ションでは、前処理から渡された電文番号に基づいて同
じ処理を行い、次の電文番号をセットして、派生トラン
ザクションを起動する。この図2(C)に示すような派
生トランザクションを入力された件数に達するまで繰り
返すことで、1度のオペレーションで最大22トランザ
クションを実行する。これにより、端末応答を省略しつ
つ、システム負荷を減らすことができる。
In the approval notification process, first, as an online transaction, the message DB is read with the first message number input, and if valid, a deposit process is performed.
Set the next message number and start the approval notification process as a derived transaction. In the derived transaction that is derived, the same processing is performed based on the message number passed from the preprocessing, the next message number is set, and the derived transaction is started. By repeating the derived transactions as shown in FIG. 2C until the number of cases is reached, a maximum of 22 transactions are executed in one operation. This makes it possible to reduce the system load while omitting a terminal response.

【0089】このように、本実施形態では、「派生トラ
ンザクション」に関して次の2通りの用い方がある。
(1)オンライントランザクションを直接要求された業
務とし、このオンライン時に応答する必要はないが、こ
のオンライントランザクションの処理結果に応じて処理
しなければならない業務処理を派生トランザクションと
して処理する。この(1)は、従来バッチ処理で行って
いた処理、又はバッチ処理をオンライン化したことによ
り必要となる処理を派生トランザクションとして実行す
ることで、オンラインの応答性を確保する。(2)端末
とCPUとの通信時間を減少させるために、オンライン
応答自体を処理せずに、主体的な業務を派生トランザク
ションの繰り返しで処理する。この(2)は、端末折り
返し連続処理や、承認通知処理などが該当する。
As described above, in the present embodiment, the following two methods are used for the “derived transaction”.
(1) The online transaction is a directly requested task, and it is not necessary to respond at the time of the online transaction, but the task processing that must be processed according to the processing result of the online transaction is processed as a derived transaction. In (1), online responsiveness is ensured by executing, as a derived transaction, processing that has conventionally been performed in batch processing or processing that is required by bringing the batch processing online. (2) In order to reduce the communication time between the terminal and the CPU, the main task is processed by repeating derived transactions without processing the online response itself. This (2) corresponds to a terminal return continuous process, an approval notification process, and the like.

【0090】次に、派生トランザクションモデルにて、
CPUの負荷に応じて派生トランザクションの実行を制
限する手法を説明する。派生トランザクションは、派生
起動トランザクションと同期して実行される必要はな
い。このため、派生起動トランザクションであるオンラ
イントランザクションのみをコミットし、一方、派生ト
ランザクションの実行については中止することもでき
る。派生トランザクションの実行を中止すると、CPU
の負荷は軽減され、オンライン処理の応答性を良好に維
持することができる。中止された派生トランザクション
は、CPUの負荷が軽減された状態で、再起動すればよ
い。さらに、センター一括処理など、派生トランザクシ
ョンが起動される可能性があり、且つ、内部的な処理に
ついては、CPUの負荷が多い場合にその入力を中断す
るようにしても良い。このように、本実施形態では、付
随業務によってオンラインの応答が悪化する事態を最大
限防止しつつ、複雑な業務を実行している。
Next, in the derived transaction model,
A method for restricting the execution of the derived transaction according to the load on the CPU will be described. Derived transactions do not need to be executed synchronously with derived start transactions. For this reason, it is also possible to commit only the online transaction which is a derived start transaction, and to abort the execution of the derived transaction. When the execution of the derived transaction is stopped, the CPU
Is reduced, and the responsiveness of online processing can be maintained satisfactorily. The suspended derived transaction may be restarted while the load on the CPU is reduced. Further, when there is a possibility that a derivative transaction such as a central batch process may be activated, and for internal processing, the input may be interrupted when the CPU load is heavy. As described above, in the present embodiment, a complicated task is executed while maximally preventing a situation in which the online response is deteriorated by the accompanying task.

【0091】再度図1を参照すると、演算手段4は、前
記オンライン応答部10及び派生トランザクション管理
部12によって実行が管理されるトランザクションの総
量に応じて前記派生トランザクションの起動を制限させ
る総量制御部14を備えている。派生トランザクション
の起動の制限は、例えば、派生起動トランザクションと
なる業務処理要求のうち、内部的な業務処理要求につい
てその入力を待機(中断)させたり、また、業務処理要
求を実行しつつ、派生トランザクションの起動を中止し
たり、さらに、派生起動トランザクションの実行をエラ
ーとする処理などを含む。
Referring again to FIG. 1, the calculating means 4 includes a total amount control unit 14 for restricting the activation of the derived transaction according to the total amount of transactions whose execution is managed by the online response unit 10 and the derived transaction management unit 12. It has. The restriction on the activation of the derived transaction is, for example, to suspend (interrupt) the input of the internal business processing request among the business processing requests to be the derived activation transaction, or to execute the derived transaction while executing the business processing request. This includes a process for stopping the activation of the application, and a process for causing the execution of the derived activation transaction to be an error.

【0092】この例では、総量制御部14は、実行を待
機しているトランザクションの総数を監視する実行状況
監視機能26と、この実行状況監視機能26によって実
行待機中のトランザクション数が予め定められた第1レ
ベルの数を超えたと判定された場合には派生起動トラン
ザクションとなる業務処理要求の入力を中断させる派生
起動取引入力中断制御機能28とを備える。また、総量
制御部14は、実行状況監視機能26によって実行待機
中のトランザクション数が予め定められた第2レベルの
数を超えたと判定された場合には、前記派生起動情報が
ファイルに登録された状態で派生トランザクションの起
動を中止する派生起動中止制御機能30を備えるように
してもよい。
In this example, the total amount control unit 14 has an execution status monitoring function 26 for monitoring the total number of transactions waiting for execution, and the number of transactions waiting for execution is predetermined by the execution status monitoring function 26. A derivation start transaction input interruption control function 28 for interrupting the input of a business process request as a derivation start transaction when it is determined that the number of the first level has been exceeded is provided. When the execution status monitoring function 26 determines that the number of transactions waiting to be executed has exceeded a predetermined second-level number, the total amount control unit 14 registers the derivative activation information in a file. A derivative activation suspension control function 30 for suspending the activation of the derivative transaction in the state may be provided.

【0093】図1に示す例では、実行を待機しているト
ランザクション(業務処理要求の要求メッセージ)の数
に基づいて総量制御をする。業務処理要求の数は、例え
ば待ち行列に格納された要求メッセージの数である。こ
こでは、派生トランザクションの起動の減少を促す第1
のレベルと、直ちに派生起動を中止する第2のレベルと
の2段階の制御を行う。派生起動取引入力中断制御機能
28は、待機中のトランザクション数が第1のレベルを
超えたときに、例えば先日付完結処理システムでのセン
ター一括処理を要求する業務処理要求の入力を中断す
る。派生起動中止制御機能30は、第2のレベルを超え
たときに、実行中の派生起動トランザクションから起動
要求される派生トランザクションの実行開始を中止す
る。これにより、CPUの負荷が大きくなる状態であっ
ても、オンライントランザクションの応答性の悪化を防
止する。
In the example shown in FIG. 1, the total amount is controlled based on the number of transactions (request messages of business processing requests) waiting to be executed. The number of business processing requests is, for example, the number of request messages stored in the queue. Here, the first to promote the reduction of the invocation of derived transactions
And a second level for immediately stopping the derivation start. When the number of waiting transactions exceeds the first level, the derived activation transaction input interruption control function 28 interrupts the input of a business processing request for requesting the central batch processing in, for example, the future completion processing system. The derived activation suspension control function 30 suspends the execution start of the derived transaction requested to be activated from the running derived activation transaction when the second level is exceeded. This prevents the responsiveness of the online transaction from deteriorating even when the load on the CPU increases.

【0094】図6は2段階の総量制御を行う総量制御処
理の構成を示すフローチャートである。ここでは、第1
のレベル<第2のレベルとする。まず、トランザクショ
ンの滞留又は実行状況を調査する(ステップS41)。
待ち行列等に格納されたトランザクションの総数が第1
のレベルを越えている場合には、派生起動トランザクシ
ョンの入力を中断させる(ステップS42)。さらに、
第2のレベルを越えた滞留がある場合には、現に実行し
ている派生起動トランザクションによる新たな派生トラ
ンザクションの起動を中止させる。これは、派生起動情
報をファイル6に格納した後、派生起動メッセージを出
力しないことで行うと良い。
FIG. 6 is a flowchart showing the configuration of the total amount control process for performing the total amount control in two stages. Here, the first
Level <second level. First, the stagnation or execution status of the transaction is checked (step S41).
The total number of transactions stored in the queue etc. is the first
If the level exceeds the level, the input of the derived activation transaction is interrupted (step S42). further,
If there is a stay exceeding the second level, the activation of a new derived transaction by the currently executing derived activation transaction is stopped. This is preferably performed by storing the derived activation information in the file 6 and not outputting the derived activation message.

【0095】一方、待ち行列に登録されている業務処理
要求が第1レベルよりも少ない場合に(ステップS4
6)、派生トランザクションに関する中断及び中止の継
続中であれば(ステップS47)、滞留数が0であるか
否かを確認し、滞留数が0であれば、派生起動トランザ
クションとなる業務処理要求の入力再開や、派生トラン
ザクションの再実行を制御する(ステップS48)。ス
テップS48では、再開(再実行)が可能となった旨を
端末に表示し、再開(再実行)のコマンド入力を促すよ
うにしても良いし、滞留数が0となったことやその後一
定時間が経過したことをトリガとして自動的に再開(再
実行)制御を行うようにしても良い。
On the other hand, if the number of business process requests registered in the queue is smaller than the first level (step S4).
6) If the suspension and suspension of the derived transaction are ongoing (step S47), it is checked whether the number of stays is 0. It controls input restart and re-execution of the derived transaction (step S48). In step S48, a message indicating that restart (re-execution) has become possible may be displayed on the terminal to prompt the user to input a command for re-start (re-execution). The resumption (re-execution) control may be automatically performed with the passage of time as a trigger.

【0096】本実施形態では、派生トランザクションの
起動を中止した場合であっても、ファイル6に格納した
派生起動情報に基づいて再起動を管理するため、派生ト
ランザクションの再起動が確実で、且つ容易である。こ
のように、本実施形態では、付随業務を派生トランザク
ションとすることで、派生起動トランザクションである
オンライントランザクションを早期に同期点に至らせる
ことで直接にオンラインの応答性を良好に保ち、さら
に、CPUの処理能力との関係で滞留しているトランザ
クション数が増加した場合には、内部的な派生起動トラ
ンザクションの入力の中断や、派生トランザクションの
起動中止を行うことで、間接的にオンライントランザク
ションの応答性の悪化を防止する。これにより。予測で
きないような業務処理要求の集中があった場合や、種々
の業務集中日であっても、自動的にオンラインの応答性
を一定の水準に維持することができる。
In this embodiment, even when the activation of the derived transaction is stopped, the restart is managed based on the derived activation information stored in the file 6, so that the restart of the derived transaction is reliable and easy. It is. As described above, in the present embodiment, by making the associated transaction a derived transaction, the online transaction, which is a derived startup transaction, is brought to the synchronization point early, thereby directly maintaining good online responsiveness. When the number of stagnated transactions increases due to the processing capacity of the online transaction, the input of the internal derived transaction is interrupted, and the activation of the derived transaction is stopped to indirectly respond to the online transaction. To prevent deterioration. By this. Even when there is an unpredictable concentration of business processing requests or on various business concentration days, online responsiveness can be automatically maintained at a certain level.

【0097】上述したように本実施形態によると、派生
トランザクションモデルを活用することで、派生起動ト
ランザクションを早期にコミットさせつつ、仮に派生ト
ランザクションがアボートした場合であっても確実に再
起動を制御できる安定性を提供できるため、オンライン
応答を良好に保ちつつ複雑な処理を実現することがで
き、さらに、総量制御を行う場合には、CPUの能力に
応じて派生トランザクションの実行数を制限して間接的
にオンライントランザクションの応答性を確保すること
ができる。これにより、例えば、従来夜間バッチ処理で
行っていたような業務を日中処理に再構築することがで
きる。ほとんどの局面で、派生トランザクションは限り
なくオンライン・リアルタイムに近い処理を可能とす
る。例えば、勘定系システムを例にすると、残不足で未
成立の口座処理がある場合に、ATMでの入金を行った
とする。入金処理が派生起動トランザクションであるた
め、早期にコミットし、入金による残高を通帳に記帳す
る。この通帳記帳を行っている間に、派生トランザクシ
ョンによる未成立の口座処理の再カットが完了する。こ
のため、通帳には再カットされた後の残高を続けて印刷
することができる。
As described above, according to the present embodiment, by utilizing the derived transaction model, the derived activation transaction can be committed early, and the restart can be reliably controlled even if the derived transaction is aborted. Because stability can be provided, complicated processing can be realized while maintaining good online response. In addition, in the case of controlling the total amount, indirect execution is performed by limiting the number of executions of the derived transaction according to the capacity of the CPU. Responsiveness of the online transaction can be ensured. This makes it possible to reconstruct, for example, daytime batch processing, which was conventionally performed in nighttime batch processing. In most aspects, derived transactions allow for near real-time online processing. For example, in the case of an accounting system, it is assumed that payment is made at an ATM when there is an unsatisfied account process due to a shortage of funds. Since the deposit processing is a derivative activation transaction, commit early and record the balance of the deposit in the passbook. While this passbook entry is being made, the re-cut of the unsettled account processing by the derived transaction is completed. Therefore, the balance after the re-cut can be continuously printed on the passbook.

【0098】このように、派生トランザクションは、通
常はほぼオンライン・リアルタイムに近い状態で処理さ
れ、一方、例外的に処理が長くなる場合や、CPUの負
荷が大きい場合には数十秒後に処理され、また、付随業
務のアプリケーションに問題があってエラーとなった場
合であっても、オンラインの応答を完了しつつ、アプリ
ケーションの修正を行い、事後的に付随業務のみを再実
行することもできる。このように、派生トランザクショ
ンモデルでは、1つのトランザクションで多数の処理を
行う場合の弊害からプログラマとシステムとを解放する
ことができ、特に、通常のトランザクションモデルでは
実現を断念しがちな複雑な処理のシステム開発が可能と
なる。
As described above, the derived transaction is usually processed in a state close to online / real time. On the other hand, when the processing is exceptionally long or when the load on the CPU is large, it is processed after several tens of seconds. In addition, even when an error occurs due to a problem with the application of the associated business, the application can be corrected while completing the online response, and only the associated business can be re-executed afterwards. As described above, in the derived transaction model, the programmer and the system can be freed from the adverse effects of performing a large number of processes in one transaction. System development becomes possible.

【0099】[0099]

【第2実施形態】第1実施形態にて開示したように、派
生トランザクションモデルはオンラインの応答性と複雑
な業務処理の実現との優れた調和をもたらす。しかし、
派生トランザクションモデルや、連鎖トランザクション
モデルは標準化されていないため、使用するトランザク
ション管理システム(TPモニタ,トランザクションマ
ネージャ)によっては、その機構は提供されない。しか
し、派生トランザクションの特性は、DBに対するロッ
ク機構を用いることで確保することができる。第2実施
形態では、この派生トランザクションの特性を管理する
ために2つのデータベースを用いる例を開示する。この
第2実施形態を適用することで、通常のトランザクショ
ンのACID特性を管理できる。すなわち、DBのロッ
キングによる直列性の確保を行うことができるシステム
であれば、派生トランザクションモデルを構築すること
ができる。この第2実施形態が2つのデータベースを用
いる理由は種々あるが、その一つはこの2つのDBの再
編成処理を不要とするためである。従って、2つのDB
を用いるようにしても、システム管理上の負荷が増える
ことはない。
Second Embodiment As disclosed in the first embodiment, the derived transaction model provides excellent harmony between online responsiveness and realization of complicated business processing. But,
Since the derived transaction model and the chained transaction model are not standardized, the mechanism is not provided depending on the transaction management system (TP monitor, transaction manager) used. However, the characteristics of the derived transaction can be secured by using a lock mechanism for the DB. The second embodiment discloses an example in which two databases are used to manage the characteristics of the derived transaction. By applying the second embodiment, the ACID characteristics of a normal transaction can be managed. In other words, a derived transaction model can be constructed as long as the system can secure seriality by locking the DB. There are various reasons for using the two databases in the second embodiment. One of the reasons is that the two DBs do not need to be reorganized. Therefore, two DBs
Is used, the load on system management does not increase.

【0100】<派生トランザクション管理>図7は、本
実施形態による勘定系システムを構成するオンライント
ランザクション管理システム(又は、オンラインシステ
ム)の構成の概要を示すブロック図である。オンライン
システムは、端末等1A,1B,…,1Gからネットワ
ーク3A,3Bを介して入力される業務処理要求を受信
する受信手段2と、この受信手段2にて受信した業務処
理要求を処理する演算手段4と、この演算手段4による
業務処理要求の処理結果を記録するファイル6とを備え
ている。受信手段2は、図7に示す例では、通信制御装
置52である。
<Derived Transaction Management> FIG. 7 is a block diagram showing an outline of the configuration of an online transaction management system (or online system) constituting the accounting system according to the present embodiment. The online system includes a receiving means 2 for receiving a business processing request input from terminals 1A, 1B,..., 1G via the networks 3A, 3B, Means 4; The receiving means 2 is the communication control device 52 in the example shown in FIG.

【0101】通信制御装置52は、内部(行内)ネット
ワーク3Aや、対外ネットワーク3Bと接続されてい
る。各ネットワーク3A,3Bは、物理的、論理的に多
数のネットワークを含むようにしても良い。通信制御装
置52は、内部ネットワーク3Aを介して、顧客とのオ
ンライン取引に用いられるCD/ATM1Aや、営業店
内に配置され営業店の担当者によって操作される営業店
端末1Bや、顧客からの電話による取引を遂行するため
のテレフォンバンキングセンタ1Cと接続されている。
The communication control device 52 is connected to the internal (in-line) network 3A and the external network 3B. Each of the networks 3A and 3B may include a large number of networks physically and logically. The communication control device 52 includes, via the internal network 3A, a CD / ATM 1A used for online transactions with a customer, a sales office terminal 1B located in a sales office and operated by a sales representative, and a telephone call from the customer. Is connected to a telephone banking center 1C for carrying out transactions by.

【0102】また、通信制御装置52は、対外ネットワ
ーク3Bを介して他の金融機関との為替等の通信を制御
する全銀センタ1Dや、その他の外部センタ1Eや、フ
ァームバンキングやインターネットバンキングを行う顧
客のパーソナルコンピュータ等の顧客PC1Fや、携帯
電話等の顧客携帯端末1Gと接続されている。
The communication control unit 52 performs a Zengin Center 1D for controlling communication such as exchange with another financial institution via the external network 3B, another external center 1E, and performs firm banking and internet banking. It is connected to a customer PC 1F such as a customer personal computer and a customer portable terminal 1G such as a mobile phone.

【0103】各端末1A,1B,1C,1F,1Gや、
センタ1D,1E等から、通信制御装置52を介してC
PUに入金や出金の要求が入力される。また、通信制御
装置52には、センター一括処理の開始を要求するコマ
ンド(業務処理要求)や、アボートされた派生トランザ
クションの再起動を要求するコマンドを入力するコンソ
ール端末2Aが接続されている。全銀センタ1Dは、全
国銀行データ通信システムのセンタである。個人情報セ
ンタや、他行コンピュータセンタと接続されている。振
込、送金等の為替取引を行う要求指令(電文)が送受信
される。
Each terminal 1A, 1B, 1C, 1F, 1G,
C from the centers 1D, 1E, etc. via the communication control device 52
A request for deposit or withdrawal is input to the PU. Further, the communication control device 52 is connected to a console terminal 2A for inputting a command for requesting the start of the central batch processing (business processing request) and a command for requesting the restart of the aborted derived transaction. Zengin Center 1D is a center of the national bank data communication system. It is connected to a personal information center and another-line computer center. A request command (telegram) for performing exchange transactions such as transfer and remittance is transmitted and received.

【0104】外部センタ1Eは、金融機関の業態別に構
築された各種のネットワーク(地方銀行のACS,都市
銀行のBANCS,全国キャッシュサービスのMICS
等)のセンタや、ファームバンキング(FB)やエレク
トロニックバンキング(EB)や、テレフォンバンキン
グに必要なデータの送受信を行うためのセンタ(例え
ば、ANSER)や、販売店のPOSシステムやクレジ
ットカード決済用の端末との通信を行うためのセンタ
(例えば、CAFISやDCS)である。この外部セン
タからは、通知、照会、資金移動など、金融機関窓口で
可能な種々の取引を行う要求指令(電文)が入力され
る。
The external center 1E includes various networks (ACS of regional banks, BANCS of city banks, and MICS of nationwide cash services) constructed according to the type of business of the financial institution.
Etc.), a firm bank (FB), an electronic banking (EB), a center for transmitting and receiving data necessary for telephone banking (for example, ANSER), a POS system of a store, and a credit card settlement system. It is a center (for example, CAFIS or DCS) for communicating with terminals. From this external center, a request command (telegram) for performing various transactions that can be made at a financial institution window, such as notification, inquiry, and fund transfer, is input.

【0105】通信制御装置52は、それぞれのプロトコ
ルに従って要求指令を受信し、演算手段4を構成するC
PUに入力する。CPUは、各端末からそれぞれの形態
で入力される要求指令を予め定められた形式の口座処理
要求に変換して、口座処理を行うプログラムに引き渡
す。
The communication control device 52 receives the request command according to each protocol, and
Input to PU. The CPU converts a request command input in each form from each terminal into an account processing request in a predetermined format and delivers the account processing request to a program for performing account processing.

【0106】また、公共料金の振替等(外部自振)は、
持ち込み媒体54にて持ち込まれる。CPUは、媒体読
取部56によって読み取られた外部自振原データと他の
データベース(DB)を用いて業務処理要求を生成す
る。図7に示す例では、勘定系システムは、持ち込み媒
体54から読み出したデータや、予め登録した自振契約
や融資返済等に関するデータを記録する自振関連DB5
0と、この自振関連DBに格納されたデータに基づいて
口座振替等の自動振替を行うため業務処理要求群である
自振入力ファイルを生成する自振入力ファイル生成手段
60と、この自振入力ファイル生成手段60によって生
成された自振入力ファイルであるセンターカット電文を
コンソール端末2Aのオペレーションに応じてトランザ
クション管理部64に入力するセンターカット電文入力
手段62とを備えている。センターカット電文は、セン
ター一括処理を指示する電文であり、自振の処理要求を
複数ブロッキングした電文である。自振の処理要求を5
つブロッキングした場合、このセンターカット電文によ
るトランザクションは自動振替を5つ処理する。
In addition, transfer of utility charges (external self-oscillation)
It is carried by the carry-in medium 54. The CPU generates a business processing request using the external self-oscillation original data read by the medium reading unit 56 and another database (DB). In the example illustrated in FIG. 7, the accounting system includes a self-vibration-related DB 5 that records data read from the carry-in medium 54 and data about a pre-registered self-financing contract, loan repayment, and the like.
0, a self-oscillation input file generating means 60 for generating a self-oscillation input file, which is a group of business processing requests, for performing an automatic transfer such as an account transfer based on the data stored in the self-oscillation-related DB, A center cut message input means 62 for inputting a center cut message, which is a self-oscillation input file generated by the input file generating means 60, to the transaction management unit 64 in accordance with the operation of the console terminal 2A. The center cut message is a message instructing the batch processing of the center, and is a message in which a plurality of self-oscillation processing requests are blocked. 5 processing requests for self-oscillation
In the case of blocking, the transaction by this center cut message processes five automatic transfers.

【0107】ファイル6は、図7に示す例では、派生ト
ランザクションの派生起動情報を派生管理通番毎に記録
する派生管理DB70と、この派生管理DB70のキー
となる派生管理通番毎に派生管理DBが使用中であるか
否かを指示するインデックス情報を記録する派生インデ
ックスDB68とを備えている。また、ファイル6は、
トランザクションの滞留に応じたシステムの状況を示す
ビット(派生起動取引中断ビット等)などを記録するシ
ステム状況DB83を備えている。本実施形態では、派
生管理DB70に派生起動情報を格納する。そして、こ
の派生起動情報の振る舞いを利用して、派生トランザク
ションの特性を管理する。
In the example shown in FIG. 7, the file 6 includes a derivation management DB 70 for recording derivation start information of a derivation transaction for each derivation management serial number, and a derivation management DB for each derivation management serial number serving as a key of the derivation management DB 70. A derived index DB 68 for recording index information indicating whether or not it is in use. File 6 is
A system status DB 83 is provided for recording bits indicating the status of the system corresponding to the stagnation of the transaction (such as a derivation start transaction interruption bit). In the present embodiment, the derivation activation information is stored in the derivation management DB 70. Then, the characteristics of the derived transaction are managed using the behavior of the derived activation information.

【0108】派生起動トランザクションは派生起動情報
を格納する。しかし、派生起動トランザクションがアボ
ートされた場合には、ロールバックにより派生起動情報
の更新がなかったこととされる。従って、派生トランザ
クションは、起動開始直後にこの派生起動情報の読み込
みを行うことで、派生起動トランザクションがコミット
したか又はアボートしたかを知ることができる。例え
ば、派生起動情報に使用中フラグを含める例では、派生
起動トランザクションがコミットすれば、この使用中フ
ラグは「使用中」(例えば、キャラクターの“1”)で
ある。一方、アボートされた場合には、派生起動トラン
ザクションによる使用中フラグの「使用中」への更新が
あったとしても、その更新はロールバックされる。この
ため、派生トランザクションは、派生起動情報の使用中
フラグが「使用可」(例えば、キャラクターの“0”)
である場合には、その派生起動トランザクションがアボ
ートされたと判定することができる。これにより、派生
起動トランザクションがコミットした場合にのみ派生ト
ランザクションがコミットするという条件を満たすこと
ができる。
The derived activation transaction stores derived activation information. However, when the derived activation transaction is aborted, it is determined that the derived activation information has not been updated by rollback. Therefore, the derived transaction can read whether the derived activation transaction has committed or aborted by reading the derived activation information immediately after starting the activation. For example, in the example where the in-use flag is included in the derived activation information, if the derived activation transaction commits, the in-use flag is “in use” (for example, “1” of the character). On the other hand, when aborted, even if the in-use flag is updated to “in use” by the derived activation transaction, the update is rolled back. Therefore, in the derived transaction, the in-use flag of the derived activation information is “usable” (for example, “0” of the character).
If so, it can be determined that the derived activation transaction has been aborted. This satisfies the condition that the derived transaction commits only when the derived activation transaction commits.

【0109】また、派生トランザクションは、派生起動
トランザクションの実行中に起動要求依頼される。従っ
て、派生起動トランザクションのコミット前に、派生ト
ランザクションがスケジュールされ、処理を開始してし
まうことがある。これを防止するために、派生トランザ
クションは、その開始直後に派生起動情報を読みに行
く。派生起動トランザクションがコミットするまでは、
この派生起動情報はロックされているため、派生トラン
ザクションは、そのロックが解除されるまで待機する。
すなわち、派生トランザクションは、その開始時に派生
起動情報を読み取ることで、派生起動トランザクション
のコミットを待機する。これにより、派生起動トランザ
クションと派生トランザクションとの直列性を管理す
る。
Further, the derived transaction is requested to be activated during the execution of the derived activation transaction. Therefore, before the derived activation transaction is committed, the derived transaction may be scheduled and start processing. To prevent this, the derived transaction goes to read the derived activation information immediately after its start. Until the derived startup transaction commits,
Since the derived activation information is locked, the derived transaction waits until the lock is released.
That is, the derived transaction reads the derived activation information at the time of its start, and waits for the derived activation transaction to commit. This manages the seriality between the derived start transaction and the derived transaction.

【0110】このように、派生起動トランザクションが
その一部として派生起動情報を格納し、派生トランザク
ションが処理の開始時に派生起動情報を読み取ること
で、拡張された直列性という派生トランザクションの特
性を実現することができる。
As described above, the derived activation transaction stores the derived activation information as a part thereof, and the derived transaction reads the derived activation information at the start of processing, thereby realizing the characteristic of the derived transaction of extended seriality. be able to.

【0111】また、派生管理DB70のみとして、派生
インデックスDB68を用いないことも可能であるが、
派生インデックスDB68を用いると、派生管理DB7
0の再編成を不要とし、データの削除等のメンテナンス
を行うことなく24時間連続稼働させることができる。
派生インデックスDB68は、派生管理通番の状態(使
用中又は使用可)を管理する。トランザクション管理部
64が使用可の派生管理通番を使用するとき、派生トラ
ンザクションの正常なコミットによって不要となった派
生起動情報を消去し、新たな派生起動情報を記録する。
従って、不要となった派生起動情報は次々と上書きされ
るため、派生管理DBの再編成処理を行う必要がなくな
る。この派生起動情報を上書きする例では、派生インデ
ックスDB等を用いて消去しても良い派生起動情報を格
納したセグメントを示す派生管理通番を特定する。従っ
て、データを格納しているという点では、派生管理DB
は未使用であるとは限らない。データが格納されていて
も、その派生起動情報は役割を終えて消去可能な状態で
ある。この消去可能な状態を、「使用可」という。
It is also possible not to use the derivation index DB 68 only as the derivation management DB 70,
If the derived index DB 68 is used, the derived management DB 7
Zero reorganization is not required, and the system can be operated continuously for 24 hours without performing maintenance such as deletion of data.
The derivative index DB 68 manages the state of the derivative management serial number (in use or available). When the transaction management unit 64 uses the available derivation management serial number, it deletes the derivation activation information that is no longer required due to the normal commit of the derivation transaction, and records new derivation activation information.
Therefore, the derivation start information that is no longer needed is successively overwritten, so that the derivation management DB need not be reorganized. In the example of overwriting the derivative activation information, the derivative management serial number indicating the segment storing the derivative activation information that may be deleted using the derivative index DB or the like is specified. Therefore, in terms of storing data, the derivation management DB
Is not always unused. Even if the data is stored, the derived activation information has finished its role and is in an erasable state. This erasable state is called “usable”.

【0112】図7に示す例では、ファイル6はさらに、
センター一括処理を要求する電文(業務処理要求群)を
生成するための自振関連DBや、取引明細や、融資に関
連する情報などを格納する各種のマスタDBを備えてい
る。
In the example shown in FIG. 7, the file 6 further includes
A self-oscillation-related DB for generating a message (a group of business processing requests) requesting the central batch processing, and various master DBs for storing transaction details, information related to financing, and the like are provided.

【0113】演算手段4は、前記端末等から入力される
業務処理要求をオンライントランザクションとして処理
させると共に当該処理結果を前記端末への応答として出
力する制御をするオンライン応答部58と、前記オンラ
イントランザクション又は所定の派生トランザクション
の実行処理の一部として起動要求される派生トランザク
ションを管理すると共に前記オンライントランザクショ
ンを管理するトランザクション管理部64とを備えてい
る。
The operation means 4 processes the business processing request input from the terminal or the like as an online transaction and controls the output of the processing result as a response to the terminal. A transaction management unit 64 that manages a derivative transaction requested to be activated as a part of a predetermined derivative transaction execution process and manages the online transaction.

【0114】本実施形態では特に、トランザクション管
理部64が、派生インデックスDBを参照して使用可の
派生管理通番を特定する派生管理通番特定機能101
と、特定された派生管理通番のセグメントに派生起動情
報を格納する派生起動情報格納制御機能102と、この
派生起動情報の格納後に派生トランザクションをコミッ
トさせる派生起動トランザクションコミット処理機能1
03と、派生起動トランザクションがアボートした場合
には派生トランザクションの処理を開始させずに終了さ
せる直列性制御機能104と、派生トランザクションを
コミットさせると共に使用した派生管理通番等を使用可
に更新する派生トランザクションコミット処理機能10
5とを備えている。また、トランザクション管理部64
は、アボートされた派生トランザクションの再起動を制
御する派生再起動制御機能106とを備えている。
In the present embodiment, in particular, the transaction management section 64 refers to the derived index DB to specify a usable derived management serial number.
And a derived activation information storage control function 102 for storing the derived activation information in the specified segment of the derived management serial number, and a derived activation transaction commit processing function 1 for committing the derived transaction after storing the derived activation information.
03, a serialization control function 104 for terminating the process of the derived transaction without starting when the derived start transaction is aborted, and a derived transaction for committing the derived transaction and updating the used derivation management serial number to be usable. Commit processing function 10
5 is provided. The transaction management unit 64
Has a derived restart control function 106 for controlling the restart of the aborted derived transaction.

【0115】派生管理通番特定機能101は、オンライ
ントランザクション又は派生トランザクションである派
生起動トランザクションから派生トランザクションの起
動要求依頼があったときに、前記派生インデックスDB
68のインデックス情報を特定すると共に、当該特定し
たインデックス情報に基づいて前記派生管理DBの使用
可の派生管理通番を特定する。並列に実行されている全
てのトランザクションが一つのインデックス情報を読み
取る仕組みとすると、このインデックス情報へのコンテ
ンションが増大してしまう。このため、本実施形態で
は、派生管理通番特定機能101は、なんらかの条件に
従って起動要求依頼を発行した派生起動トランザクショ
ンが利用できるインデックス情報を特定する。インデッ
クス情報を特定できると、そのインデックス情報を参照
して使用可の派生管理通番を特定する。派生管理DBへ
のアクセスは、派生管理通番をキーとして行うため、意
図しないコンテンションは発生しない。
The derivation management serial number specifying function 101 is configured to execute the derivation index DB when a derivation transaction activation request request is issued from an on-line transaction or a derivation activation transaction which is a derivation transaction.
At the same time as specifying the index information 68, based on the specified index information, a usable derivative management serial number of the derivative management DB is specified. If all the transactions executed in parallel read one piece of index information, contention to this index information would increase. For this reason, in the present embodiment, the derivative management serial number specifying function 101 specifies index information that can be used by a derived start transaction that has issued a start request request according to some condition. When the index information can be specified, a usable derivative management serial number is specified with reference to the index information. Since access to the derivation management DB is performed using the derivation management serial number as a key, unintended contention does not occur.

【0116】派生起動情報格納制御機能102は、派生
管理通番特定機能101によって特定された派生管理通
番のセグメントに前記派生起動トランザクションによる
派生トランザクションの起動要求依頼に関する派生起動
情報を格納する。派生起動情報格納制御機能102は、
この派生起動情報の格納後に、派生トランザクションを
起動する。
The derived activation information storage control function 102 stores the derived activation information relating to the derived transaction activation request request by the derived activation transaction in the segment of the derived management serial number specified by the derived management serial number specifying function 101. The derived activation information storage control function 102
After storing the derived activation information, the derived transaction is activated.

【0117】派生起動トランザクションコミット処理機
能103は、派生起動情報を与えられた派生管理通番の
セグメントに格納した後で、当該派生起動トランザクシ
ョンの各処理が正常終了した場合に、当該派生起動トラ
ンザクションをコミットさせる。第1実施形態と同様
に、派生起動トランザクションは派生トランザクション
の運命に関わらず早期に同期点に達する。そして、直列
性制御機能104は、派生トランザクションの開始時に
前記派生起動情報をロック可能な状態での正常な読み出
しに成功した場合に当該派生トランザクションの各処理
を開始させる。「正常な読み出し」は、派生起動トラン
ザクションによって格納された状態での読み出しを意味
する。すなわち、直列性制御機能104は、派生起動ト
ランザクションがアボートされ、この派生起動トランザ
クションによって格納された派生起動情報がロールバッ
クにより無かったものとされている場合には、正常な読
み出しができなかったとして、派生トランザクションの
起動を行わない。
The derivative activation transaction commit processing function 103 commits the derivative activation transaction when each of the operations of the derivative activation transaction ends normally after the derivative activation information is stored in the given segment of the derivation management serial number. Let it. As in the first embodiment, the derived activation transaction reaches the synchronization point early regardless of the fate of the derived transaction. Then, the seriality control function 104 starts each process of the derived transaction when the derived startup information is successfully read normally in a lockable state at the start of the derived transaction. “Normal reading” means reading in the state stored by the derived startup transaction. That is, when the derived activation transaction is aborted and the derived activation information stored by the derived activation transaction is not rolled back, the seriality control function 104 determines that normal reading has not been performed. , Do not start derived transactions.

【0118】派生トランザクションコミット処理機能1
05は、派生トランザクションの各処理が正常終了した
場合に、使用した派生管理通番について前記派生インデ
ックスDB68及び前記派生管理DB70を使用可に更
新させる。この派生インデックスDB及び派生管理DB
を使用可に更新する処理と前後して、当該派生トランザ
クションをコミットさせる。派生インデックスDBを使
用可に更新する処理は、派生トランザクションの一部と
して実行しても良いし、また、第3実施形態で詳述する
ように別のトランザクション(派生DB制御処理)にて
行うようにしても良い。
Derived transaction commit processing function 1
In step 05, when each process of the derived transaction ends normally, the derived index DB 68 and the derived management DB 70 are updated to be usable with the used derived management serial number. Derived index DB and derived management DB
Commit the derived transaction before and after the process of updating to enable. The process of updating the derived index DB to be usable may be performed as a part of the derived transaction, or may be performed in another transaction (derived DB control process) as described in detail in the third embodiment. You may do it.

【0119】派生再起動制御機能106は、派生トラン
ザクションがアボートされた場合に、派生管理DBに格
納した派生起動情報に基づいた再起動を制御する。再起
動は、自動的に行うようにしても良いし、再起動を指示
する業務処理要求を受信したときに実行するようにして
も良い。
The derivation restart control function controls the restart based on the derivation start information stored in the derivation management DB when the derivation transaction is aborted. The restart may be performed automatically or may be performed when a business process request instructing the restart is received.

【0120】図8は、JOBと派生インデックスDB等
との関係を示す説明図である。TPモニタの一種である
CICSやIMSでは、リージョン(region)と呼ばれ
る抽象化を提供している。リージョンは、複数の処理を
実行できるアドレス空間である。リージョンは資源を保
有する単位であり、アプリケーション実行時の障害はリ
ージョン内に局所化される。業務処理要求は、リージョ
ンにスケジュールされる。例えばリージョンを50個起
動する場合には、JOB番号0から49までのトランザ
クションが並行して動作する。JOB番号は、予め固定
された番号とする。このように、リージョン数が予め定
められており、且つ、使用するJOB番号(例えば、J
OB名の下三桁の数値)が予め定められた範囲内の数値
である場合には、派生インデックスDB68のインデッ
クス情報をJOB番号を単位として構築すると良い。こ
の場合、別のリージョンで並行して実行されているトラ
ンザクションとインデックス情報の読み取りで競合する
ことがない。リージョンの概念を用いないシステムであ
っても、並列して実行されるトランザクションを識別す
るための番号は必ず存在する。この場合、JOB番号と
してトランザクションID又はこれを編集した番号を用
いる。JOB番号は、並列して実行されるトランザクシ
ョン又はプロセス間でユニークで、且つ、その番号が予
め定められた範囲内の数値であれば良い。
FIG. 8 is an explanatory diagram showing the relationship between JOB and derived index DB and the like. CICS and IMS, which are types of TP monitors, provide an abstraction called a region. A region is an address space that can execute a plurality of processes. A region is a unit that holds resources, and failures during application execution are localized in the region. The business process request is scheduled in the region. For example, when activating 50 regions, transactions with JOB numbers 0 to 49 operate in parallel. The job number is a fixed number in advance. As described above, the number of regions is predetermined, and the JOB number (for example, J
If the last three digits of the OB name are numerical values within a predetermined range, the index information of the derived index DB 68 may be constructed using the JOB number as a unit. In this case, there is no conflict between a transaction executed in parallel in another region and reading of index information. Even in a system that does not use the concept of a region, there are always numbers for identifying transactions executed in parallel. In this case, a transaction ID or a number obtained by editing the transaction ID is used as the JOB number. The job number may be unique among transactions or processes executed in parallel, and the number may be a numerical value within a predetermined range.

【0121】図8に示す例では、派生起動トランザクシ
ョンは、予め定められたJOB番号群の中のいずれかの
JOB番号で実行される。そして、派生インデックスD
Bが、前記トランザクションのJOB番号をキー値とな
るインデックス領域番号88として当該インデックス領
域番号88毎にインデックスビットマップ68を有す
る。そして、図8に示す例では、派生インデックスDB
は、前記インデックス情報を前記インデックス領域番号
毎のビットマップとして保有している。リージョン0で
は、JOBFP000がスケジュールされ、実行してい
る。JOBFP000のトランザクションがインデック
ス情報(ビットマップ)を読み取る場合には、このJO
B名の下三桁の数値である「000」をキー値として派
生インデックスDBにアクセスする。すると、インデッ
クス領域番号が「000」であるビットマップにアクセ
スする。このビットマップでは、先頭から「11100
…」となっている。同様に、リージョン1で動作するト
ランザクションはインデックス領域番号が「001」の
ビットマップにアクセスする。このビットマップは、先
頭から「0100…」となっている。
In the example shown in FIG. 8, the derived activation transaction is executed with one of the JOB numbers in a predetermined group of JOB numbers. And derived index D
B has an index bitmap 68 for each index area number 88 with the transaction JOB number as an index area number 88 serving as a key value. Then, in the example shown in FIG.
Holds the index information as a bitmap for each index area number. In region 0, JOBFP000 is scheduled and running. When the transaction of JOBFP000 reads the index information (bitmap),
The derived index DB is accessed using “000”, which is the last three digits of the B name, as a key value. Then, the bit map having the index area number “000” is accessed. In this bitmap, “11100
… ”. Similarly, a transaction operating in region 1 accesses a bitmap with an index area number of “001”. This bitmap is "0100 ..." from the top.

【0122】インデックス情報をビットマップとする例
では、ビットのON(1),OFF(0)で派生管理通
番が使用中であるか否かを示し、そのビットの位置で派
生管理通番を特定する。ここでは、一例として、1つの
リージョンから利用できる派生管理通番を400個とす
る。この場合、ビットマップは、400ビットある。す
なわち、1バイトを単位とする場合には長さが50とな
る。リージョン0を例とすると、派生管理通番000
1,0002,0003は使用中で、それ以降が使用可
である。この3つの派生管理通番が使用中であるという
ことは、リージョン0から起動要求された3つの派生ト
ランザクションがそれぞれコミットしていないことを意
味する。
In the example where the index information is a bitmap, the bit ON (1) and OFF (0) indicate whether or not the derived management serial number is in use, and the derived management serial number is specified by the position of the bit. . Here, as an example, it is assumed that 400 derived management serial numbers can be used from one region. In this case, the bitmap has 400 bits. That is, the length is 50 when one byte is used as a unit. Taking Region 0 as an example, the derived management serial number 000
1,0002,0003 are in use and the rest can be used. The fact that the three derived management serial numbers are in use means that the three derived transactions requested to be activated from the region 0 have not been committed.

【0123】派生管理通番特定機能101は、例えば、
ビットマップを順に先頭から読み出し、「0」であるビ
ットのビット位置を特定する。そして、このビット位置
から派生管理通番を求める。例えば、リージョン0の場
合、先頭から4番目のビットが「0」であるため、特定
する派生管理通番は0004となる。リージョン1の場
合、派生管理通番は0401から開始するため、ビット
マップの先頭を特定した場合には、派生管理通番は04
01となる。
The derivative management serial number specifying function 101 is, for example,
The bit map is sequentially read from the head, and the bit position of the bit “0” is specified. Then, a derived management serial number is obtained from this bit position. For example, in the case of region 0, since the fourth bit from the beginning is “0”, the specified derivation management serial number is 0004. In the case of region 1, the derivation management serial number starts from 0401. Therefore, when the head of the bitmap is specified, the derivation management serial number is 04.
01.

【0124】このように、好ましい実施形態では、派生
管理通番特定機能101が、前記インデックス領域番号
88と前記ビットマップのビット位置とに基づいて前記
派生管理DB70の派生管理通番を特定する機能を備え
る。
As described above, in the preferred embodiment, the derivation management serial number specifying function 101 has a function of specifying the derivation management serial number of the derivation management DB 70 based on the index area number 88 and the bit position of the bitmap. .

【0125】図9は、この場合の派生DBのデータ項目
を例示する説明図であり、図9(A)は派生インデック
スDBの項目例を示す図である。Nは例えば125、M
は400とする。派生インデックスDB68は、その項
目として、インデックス領域番号(各ビットマップに付
されJOB番号と同一の数値)と、ビットマップ(イン
デックス・ビットマップ)とを備えている。また、派生
インデックスDBは、そのビットマップが特定する派生
管理通番の残り個数と派生件数とを格納する。例えば、
残り個数が0であれば派生トランザクションの起動を待
機する等の処理を行う。図9(A)の残り個数の初期値
Mは、上記の例では400である。
FIG. 9 is an explanatory diagram exemplifying the data items of the derived DB in this case, and FIG. 9A is a diagram showing an example of the items of the derived index DB. N is for example 125, M
Is 400. The derived index DB 68 includes, as its items, an index area number (a numerical value assigned to each bitmap and the same as the JOB number) and a bitmap (index bitmap). Further, the derivative index DB stores the remaining number of derivative management serial numbers and the number of derivative cases specified by the bitmap. For example,
If the remaining number is 0, processing such as waiting for activation of a derived transaction is performed. The initial value M of the remaining number in FIG. 9A is 400 in the above example.

【0126】図9(B)は派生管理DBの項目例を示す
図である。派生管理DBは、キー値として派生管理通番
を有する。その他の項目は派生起動情報の詳細である。
派生起動トランザクションのAPPL IDと、派生ト
ランザクションのAPPLIDとを保持することで、ど
の主業務がどの付随業務を派生起動したのかを記録す
る。派生編集番号は、入出力の形式を特定するために利
用する。エントリー日付及び時刻は、アボートされた派
生トランザクションの探索に利用する。使用中フラグ
は、派生トランザクションが派生起動トランザクション
がコミットされたか否かを知るために用いる。FIFO
保存とあるのは、派生起動トランザクションが派生トラ
ンザクションを起動するために用意した各種のデータ内
容の保存領域である。
FIG. 9B is a diagram showing an example of items in the derivation management DB. The derivation management DB has a derivation management serial number as a key value. Other items are details of the derived activation information.
By holding the APPL ID of the derived activation transaction and the APPLID of the derived transaction, it is recorded which main business has derived and activated the associated business. The derived edit number is used to specify the input / output format. The entry date and time are used for searching for an aborted derived transaction. The in-use flag is used by the derived transaction to know whether the derived activation transaction has been committed. FIFO
“Save” is a storage area for various data contents prepared by the derived activation transaction to activate the derived transaction.

【0127】本明細書では、FIFOというときには、
定型入出力情報域(Formatted Input Formatted Outpu
t)を意味する。先入れ先出し方式の略語としては用い
ない。FIFOは、IMS/ESAオンライン適用業務
開発/運用支援プログラムであるSAILによって提供
される抽象化である。端末等からの全ての入力は、その
業務に応じてFIFOという情報域に編集され、セット
される。このため、適用業務プログラムは、端末等から
入力の形式によらず、予め定義したFIFOでの位置に
特定の項目のデータがセットされている前提で開発する
ことができる。すなわち、FIFOを用いることで、入
出力メッセージの形式によらず、適用業務プログラムを
開発することができる。入出力メッセージとFIFOと
は、編集定義を用いて関連させる。例えば、派生起動ト
ランザクションが派生トランザクションを起動する場合
には、派生トランザクションの実行に必要なデータをF
IFOにセットし、派生起動要求依頼を行う。すると、
SAILは、派生編集番号に従ってFIFOから派生メ
ッセージを生成する。端末からの業務処理要求の入力
や、端末への出力メッセージについても同様に業務毎の
編集定義を用いる。
In this specification, the term FIFO is used to
Formatted Input Formatted Outpu
t). It is not used as an abbreviation for first-in first-out. FIFO is an abstraction provided by SAIL, an IMS / ESA online application development / operation support program. All inputs from terminals and the like are edited and set in an information area called FIFO according to the task. For this reason, the application program can be developed on the premise that data of a specific item is set at a predefined position in the FIFO irrespective of the format of input from a terminal or the like. That is, by using the FIFO, an application program can be developed regardless of the format of the input / output message. The input / output message and the FIFO are associated using an edit definition. For example, when a derived start transaction starts a derived transaction, data necessary for executing the derived transaction is set to F.
It is set in the IFO, and a derived activation request request is made. Then
SAIL generates a derived message from the FIFO according to the derived edit number. Similarly, the edit definition for each job is used for input of a job processing request from the terminal and output messages to the terminal.

【0128】図10は、JOB番号と、派生インデック
スDB68のインデックス領域番号88と、ビット位置
と、符号89で示す派生管理通番との関係を例示する説
明図である。図10(A)に示すように、JOB番号0
00で実行されているトランザクションによって読み出
されるインデックス・ビットマップの番号(インデック
ス領域番号)は、「000」である。図10(A)に示
す例では、ビット位置1及び5が使用中である。この場
合、派生管理DBの内容は図10(B)に示す如くとな
る。派生起動トランザクション側では、インデックス・
ビットマップのビット(派生インデックスビットと呼
ぶ)と、使用中フラグとは、原子性に包まれていること
が望ましい。
FIG. 10 is an explanatory diagram exemplifying the relationship among the JOB number, the index area number 88 of the derived index DB 68, the bit position, and the derived management serial number indicated by reference numeral 89. As shown in FIG.
The number of the index bitmap (index area number) read by the transaction executed at 00 is “000”. In the example shown in FIG. 10A, bit positions 1 and 5 are in use. In this case, the contents of the derivation management DB are as shown in FIG. On the derived start transaction side, the index
It is desirable that the bits of the bitmap (referred to as derived index bits) and the in-use flag be wrapped in atomicity.

【0129】図10(C)及び(D)に示すように、1
つのインデックス・ビットマップが特定する派生管理通
番の数Mが定められていると、インデックス領域番号8
8とビット位置とに基づいて派生管理通番を特定するこ
とができる。
As shown in FIGS. 10C and 10D, 1
If the number M of the derived management serial numbers specified by one index bitmap is determined, the index area number 8
The derivative management serial number can be specified based on 8 and the bit position.

【0130】図11は、派生トランザクションの要求を
管理するための派生要求管理処理の一例を示すフローチ
ャートである。図12は、派生トランザクションの特性
を管理するための派生特性管理処理の一例を示すフロー
チャートである。図11に示す派生要求共通処理は、派
生起動トランザクションの一部として実行される。図1
2に示す派生特性管理共通処理は、派生トランザクショ
ンの一部として、または別の処理として実行する。
FIG. 11 is a flowchart showing an example of a derivation request management process for managing a derivation transaction request. FIG. 12 is a flowchart illustrating an example of a derived characteristic management process for managing the characteristics of a derived transaction. The derivation request common process shown in FIG. 11 is executed as a part of the derivation start transaction. FIG.
The derived characteristic management common process shown in FIG. 2 is executed as a part of a derived transaction or as another process.

【0131】図11を参照すると、派生要求共通処理
は、派生起動トランザクションから派生起動要求依頼を
受けると、まず、そのJOB番号(すなわち、インデッ
クス領域番号)をキー値として派生インデックスDBを
読み込む(ステップS52)。そして、インデックス領
域番号での残り個数フィールドをチェックし(ステップ
S52)、空きがあれば、インデックス・ビットマップ
から空き(インデックスビットが0)のビット位置を特
定する。ステップS52にて空きが無い場合には、予備
の派生インデックスDBを読み込み、残り個数フィール
ドをチェックする(ステップS62)。予備の派生管理
通番まで使用中である場合には、異常終了する。
Referring to FIG. 11, when a derivation start request is received from a derivation start transaction, the derivation request common process first reads the derivation index DB using the JOB number (that is, index area number) as a key value (step). S52). Then, the remaining number field in the index area number is checked (step S52), and if there is a space, the bit position of the space (index bit is 0) is specified from the index bit map. If there is no free space in step S52, the spare derived index DB is read, and the remaining number field is checked (step S62). If the spare derivation management serial number is being used, the process ends abnormally.

【0132】空きの派生インデックスビットを特定する
と、そのビット位置に基づいて派生管理通番を算出す
る。そして、この派生管理通番を派生起動トランザクシ
ョンが動作しているリージョンのFIFOにセットす
る。さらに、派生インデックスビットをON(対応する
派生管理通番が使用中)を示す「1」に更新する(ステ
ップS54)。
When a free derived index bit is specified, a derived management serial number is calculated based on the bit position. Then, the derivation management serial number is set in the FIFO of the region in which the derivation start transaction is operating. Further, the derived index bit is updated to “1” indicating ON (the corresponding derived management serial number is in use) (step S54).

【0133】続いて、派生管理通番をキー値として、派
生管理DBを読み込み(ステップS55)、派生インデ
ックスDB68の残り個数フィールドと、派生件数フィ
ールドとを更新する(ステップS56)。そして、派生
管理DBに派生起動情報を登録し、派生管理DB70の
使用中フラグを「使用中」とする(ステップS57)。
続いて、派生トランザクションの起動を制御する(ステ
ップS58)。例えば、SAILは、派生起動トランザ
クションのFIFOから派生メッセージを生成し、待ち
行列に登録する。続いて、派生起動トランザクションは
コミットする。
Subsequently, the derivation management DB is read using the derivation management serial number as a key value (step S55), and the remaining number field and the derivation number field of the derivation index DB 68 are updated (step S56). Then, the derivative activation information is registered in the derivative management DB, and the in-use flag of the derivative management DB 70 is set to “in use” (step S57).
Subsequently, the activation of the derived transaction is controlled (step S58). For example, SAIL generates a derived message from the FIFO of the derived activation transaction and enqueues it. Subsequently, the derived activation transaction commits.

【0134】図12は、派生トランザクションの開始及
び終了時等の処理を示すフローチャートである。派生特
性管理共通処理では、まず、派生トランザクションがい
ずれかのリージョンにスケジュールされると、まず、派
生起動メッセージの派生管理通番をキー値として派生管
理DB70を読み込む。派生起動トランザクションがコ
ミットしていない段階では、派生管理DB70の当該派
生管理通番のセグメントはロックされているため、ステ
ップS71では、派生起動トランザクションがコミット
又はアボートし、このロックが解除されるまで待機す
る。
FIG. 12 is a flow chart showing processing at the start and end of a derived transaction. In the derived characteristic management common processing, first, when a derived transaction is scheduled in any region, first, the derived management DB 70 is read using the derived management serial number of the derived activation message as a key value. At the stage where the derived start transaction has not been committed, the segment of the derived management sequence number in the derived management DB 70 is locked. Therefore, in step S71, the derived started transaction commits or aborts and waits until this lock is released. .

【0135】派生トランザクションは、派生管理DBの
内容の読み出しに成功すると、まず、使用中フラグをチ
ェックする。使用中フラグは、派生起動トランザクショ
ンによってステップS57によって使用中を示す1に更
新にされている。派生起動トランザクションがコミット
した場合、この使用中フラグは「使用中」のままであ
る。一方、派生起動トランザクションがステップS58
以後にアボートした場合、ロールバックによって、派生
起動トランザクションによる使用中フラグの「使用中」
への更新が取り消され、使用中フラグは使用可を示す0
となっている。従って、ステップS72では、使用中フ
ラグが使用可の場合には、派生起動トランザクションが
コミットした場合にのみ派生トランザクションがコミッ
トするという派生トランザクションの性質に従って、派
生トランザクションの適用業務プログラムを実行せずに
終了する(ステップS74)。
When the derivation transaction succeeds in reading the contents of the derivation management DB, first, the in-use flag is checked. The busy flag has been updated to 1 indicating busy in step S57 by the derived activation transaction. If the derived start transaction commits, this in-use flag remains "in use". On the other hand, the derived activation transaction is executed in step S58.
If aborted later, rollback causes the "in use" flag of the in-use flag to be used by the derived startup transaction.
Update is canceled, and the in-use flag indicates that use is possible 0
It has become. Therefore, in step S72, if the in-use flag is usable, the process is terminated without executing the application program of the derived transaction according to the nature of the derived transaction that the derived transaction commits only when the derived startup transaction commits. (Step S74).

【0136】派生起動トランザクションが正常にコミッ
トしている場合、使用中フラグは「使用中」であるた
め、派生トランザクションの適用業務プログラムを呼び
出し、実行を制御する(ステップS75)。この適用業
務プログラムの実行が完了すると、派生特性管理共通処
理では、派生管理通番をキーとして派生管理DBを読み
込む(ステップS76)。そして、使用中フラグを使用
可に更新する(ステップS77)。このとき、派生イン
デックスDBの派生インデックスビットも使用中のまま
となっている。このため、派生トランザクションの一部
として、又は別のトランザクションを用いて、派生イン
デックスDB78の派生インデックスビットをオフに更
新する。この派生インデックスビットの更新に前後し
て、派生トランザクションはコミットする。
When the derived start transaction has committed normally, the application flag of the derived transaction is called and the execution is controlled because the in-use flag is “in use” (step S75). When the execution of the application program is completed, in the derived characteristic management common process, the derived management DB is read using the derived management serial number as a key (step S76). Then, the in-use flag is updated to be usable (step S77). At this time, the derived index bit of the derived index DB also remains in use. Therefore, the derived index bit of the derived index DB 78 is updated to off as part of the derived transaction or by using another transaction. Before and after updating the derived index bit, the derived transaction commits.

【0137】また、図12に示す派生特性管理共通処理
によってその特性が管理される派生トランザクション
が、別の派生トランザクションを起動する場合には、こ
の派生トランザクションをコミットさせる前に、図11
に示す処理を実行する。
When a derived transaction whose characteristics are managed by the derived characteristics management common process shown in FIG. 12 activates another derived transaction, before the derived transaction is committed, FIG.
The processing shown in is performed.

【0138】ここで、図7に示す各機能と、図11及び
図12に示す各工程との関係を説明する。図7に示すト
ランザクション管理システムの各機能101,102,
103,104,105,106は、第1実施形態の場
合と同様に、CPUが、派生管理通番特定機能101を
実現するための派生管理通番特定指令や、派生起動情報
格納制御指令などを実行することで実現できる。
Here, the relationship between each function shown in FIG. 7 and each process shown in FIGS. 11 and 12 will be described. Each function 101, 102, of the transaction management system shown in FIG.
As in the first embodiment, the CPUs 103, 104, 105, and 106 execute a derivative management serial number specifying command for realizing the derivative management serial number specifying function 101, a derivative start information storage control command, and the like. This can be achieved by:

【0139】例えば、このプログラムは、オンライント
ランザクション又は派生トランザクションである派生起
動トランザクションから派生トランザクションの起動要
求依頼があったときに前記派生インデックスDBのイン
デックス情報を特定させると共に当該特定したインデッ
クス情報に基づいて前記派生管理DBの使用可の派生管
理通番を特定させる派生管理通番特定指令を備えてい
る。この指令を実行すると、CPUは派生管理通番特定
機能101として動作する。図11に示す例では、この
派生管理通番特定指令を実行すると、CPUはステップ
S51,52,S53及びS54等の工程を実現する。
For example, this program specifies the index information of the derived index DB when there is a request to start a derived transaction from a derived transaction which is an online transaction or a derived transaction, and based on the specified index information. A derivative management serial number specifying command for specifying a usable derivative management serial number in the derivative management DB is provided. When this command is executed, the CPU operates as the derivative management serial number specifying function 101. In the example shown in FIG. 11, when the derivation management serial number specifying command is executed, the CPU realizes steps S51, 52, S53, S54 and the like.

【0140】また、このプログラムは、派生管理通番特
定指令に応じて特定された派生管理通番のセグメントに
前記派生起動トランザクションによる派生トランザクシ
ョンの起動要求依頼に関する派生起動情報を格納させる
と共に当該派生起動情報を格納した後に当該派生トラン
ザクションを起動させる派生起動情報格納制御指令を備
える。CPUは、この指令を実行することで派生起動情
報格納機能102として動作する。図11に示す例で
は、ステップS54,S55,S56,S57の工程を
処理する。
Further, the program causes the segment of the derived management serial number specified in accordance with the derived management serial number specifying command to store the derived startup information relating to the request for starting the derived transaction by the derived startup transaction and to store the derived startup information. A derivative activation information storage control command for activating the derivative transaction after the storage is provided. The CPU operates as the derived activation information storage function 102 by executing this command. In the example shown in FIG. 11, the processes of steps S54, S55, S56, and S57 are processed.

【0141】プログラムは、さらに、派生起動情報の格
納後で当該派生起動トランザクションの各処理が正常終
了した場合に当該派生起動トランザクションをコミット
させる派生起動トランザクションコミット処理指令を備
える。これにより、CPUは、派生起動トランザクショ
ンコミット処理機能103として動作する。ステップS
11では、最後の工程である。
The program further includes a derivative activation transaction commit processing command for committing the derivative activation transaction when each process of the derivative activation transaction ends normally after storing the derivative activation information. Thus, the CPU operates as the derived activation transaction commit processing function 103. Step S
11 is the last step.

【0142】また、プログラムは、前記派生トランザク
ションの開始時に前記派生起動情報をロック可能な状態
での正常な読み出しに成功した場合に当該派生トランザ
クションの各処理を開始させる直列性制御指令を備え
る。図12に示す例では、これは、ステップS12の派
生起動情報の読み取り工程S71によって、この直列性
の制御を実現する。直列性制御指令を実行するCPU
は、直列性制御機能104として、図12に示すステッ
プS71からS75の処理を行う。
Further, the program includes a seriality control command for starting each processing of the derived transaction when the derived start information is successfully read normally in a lockable state at the start of the derived transaction. In the example shown in FIG. 12, this realizes the control of the seriality by the step S71 of reading the derived activation information in step S12. CPU for executing serial control command
Performs the processing of steps S71 to S75 shown in FIG.

【0143】派生トランザクション管理用プログラムは
さらに、派生トランザクションの各処理が正常終了した
場合に使用した派生管理通番について前記派生インデッ
クスDB及び前記派生管理DBを使用可に更新させると
共に当該派生トランザクションをコミットさせる派生ト
ランザクションコミット処理指令を備える。この指令を
実行するCPUは、派生トランザクションコミット処理
機能105として、図12に示すS76,S77,S7
8,S79の処理を行う。第3実施形態では、デッドロ
ックの発生を防止するために、派生トランザクションと
は別のトランザクションとしてS78及びS79による
派生インデックスDBの更新を行う。
The derived transaction management program further updates the derived index DB and the derived management DB to be usable and commits the derived transaction with respect to the derived management serial number used when each process of the derived transaction is normally completed. A derivative transaction commit processing command is provided. The CPU that executes this command performs S76, S77, and S7 shown in FIG.
8. The processing of S79 is performed. In the third embodiment, in order to prevent the occurrence of a deadlock, the derived index DB is updated in S78 and S79 as a separate transaction from the derived transaction.

【0144】また、このプログラムは、派生トランザク
ションがアボートされた場合には前記派生管理DBに格
納した派生起動情報に基づいた再起動を制御する派生再
起動制御指令を備える。この派生再起動制御指令を実行
するCPUは、派生再起動制御機能106として機能す
る。実際の再起動処理は、派生再起動制御部77が行う
ようにしても良い。このように、図7に示す各部や図1
1,図12等のフローチャートに示す各工程は、それぞ
れの処理を行うプログラムを実行することによって実現
できる。これは、総量制御処理や(図19)、派生再起
動要否判定処理(図22)や、派生再起動制御処理(図
23)の各フローチャートに示す工程についても同様で
ある。
Further, the program includes a derived restart control command for controlling a restart based on the derived activation information stored in the derived management DB when the derived transaction is aborted. The CPU that executes the derivative restart control command functions as the derivative restart control function 106. The actual restart process may be performed by the derivative restart control unit 77. As described above, each part shown in FIG.
Each step shown in the flowcharts of FIG. 1 and FIG. 12 can be realized by executing a program for performing each processing. The same applies to the steps shown in the flowcharts of the total amount control processing (FIG. 19), the derivation restart necessity determination processing (FIG. 22), and the derivation restart control processing (FIG. 23).

【0145】このように、図11及び図12に示す例で
は、派生インデックスDB68が、前記インデックス領
域番号88毎のビットマップを派生インデックスビット
の列として有すると共に、当該派生インデックスビット
のON又はOFFに応じて当該ビットのビット位置に対
応する派生管理DB70の使用状態を記録している。そ
して、派生管理DB70は、派生管理通番毎に当該派生
管理通番の使用状態を使用中又は使用可として記録する
使用中フラグを有する。
As described above, in the example shown in FIGS. 11 and 12, the derived index DB 68 has a bit map for each of the index area numbers 88 as a column of the derived index bits, and sets the derived index bits to ON or OFF. Accordingly, the usage state of the derivation management DB 70 corresponding to the bit position of the bit is recorded. The derivation management DB 70 has an in-use flag that records the use state of the derivation management serial number as being used or available for each derivation management serial number.

【0146】さらに、派生管理通番特定機能101は、
使用可を示すOFF(0)の派生インデックスビット及
び使用可(0)の派生管理通番を特定したときに、当該
派生インデックスビットについて使用中を示すON
(1)へと更新する(ステップS54)。続いて、派生
起動情報格納制御機能102は、派生起動情報を格納し
たときに当該派生管理通番の使用中フラグについて使用
中(1)へと更新する(ステップS57)。そして、直
列性制御機能104は、前記派生起動トランザクション
から渡された派生管理通番の使用中フラグが使用可
(0)であった場合には当該起動要求されている派生ト
ランザクションを起動せずに処理を終了させ(ステップ
S74)、派生トランザクションコミット制御機能10
5は、当該派生トランザクションの完了時又は完了後に
前記派生インデックスビット及び前記使用中フラグにつ
いて使用可の状態(0)へと更新する(ステップS7
7,S79)。すなわち、派生インデックスビットをO
FF(0)とし、使用中フラグを使用可(0)とする。
Furthermore, the derivation management serial number specifying function 101
When a derived index bit of OFF (0) indicating availability and a derivation management serial number of available (0) are specified, ON indicating that the derived index bit is in use.
Update to (1) (step S54). Subsequently, the derivative activation information storage control function 102 updates the in-use flag of the derivative management serial number to “in use” (1) when the derivative activation information is stored (step S57). Then, when the in-use flag of the derivation management serial number passed from the derivation start transaction is usable (0), the seriality control function 104 performs processing without starting the derivation transaction requested to be started. Is terminated (step S74), and the derived transaction commit control function 10
5 updates the derived index bit and the in-use flag to a usable state (0) at or after completion of the derived transaction (step S7).
7, S79). That is, the derived index bit is set to O
FF (0), and the in-use flag is enabled (0).

【0147】このように、派生起動トランザクションと
派生トランザクション間の派生起動情報のコンテンショ
ンを利用することで、派生トランザクションの性質を一
般的なDBのロック機構を用いて実現することができ
る。
As described above, by using the content of the derived activation information between the derived transaction and the derived transaction, the properties of the derived transaction can be realized by using a general DB lock mechanism.

【0148】次に、先日付完結処理システムでの取消再
カットメインを例として派生トランザクション管理の一
例を説明する。トランザクションのコミットのタイミン
グをプログラム中に記述しない方が、そのプログラムの
再利用性は高まる。このため、トランザクションの実行
を管理するプログラムが、適用業務プログラム(APP
L)を呼び出し、実行し、正常に終了した段階でコミッ
トを与える仕組みとすると、APPLを種々の態様で利
用することができる。トランザクションの管理を行うプ
ログラムを、ここでは業務メインと呼ぶ。また、APP
Lの実行形態として、端末から初回に入力された場合
や、連続して繰り返し処理する場合や、連動処理として
呼び出された場合や、派生トランザクションとして起動
された場合や、センター一括処理として入力される場合
などがある。これらの取引の態様が異なっても、プログ
ラムの一部または全体が共通する場合がある。このた
め、プログラムを細分化しておき、起動の形態に応じて
適切なプログラムを特定する仕組みとすると、プログラ
ムの再利用性が高まり、全体の行数を少なくすることが
できる。
Next, an example of the derived transaction management will be described with reference to the cancellation / recut main in the future completion processing system. If the timing of transaction commit is not described in the program, the reusability of the program is enhanced. For this reason, the program that manages the execution of the transaction is executed by the application program (APP)
If L) is called, executed, and a commit is given at the stage when the process is completed normally, the APPL can be used in various modes. The program that manages the transaction is referred to as a business main here. Also, APP
As an execution form of L, the case where it is input from the terminal for the first time, the case where it is continuously and repeatedly processed, the case where it is called as an interlocked process, the case where it is started as a derived transaction, or the case where it is input as a center batch process There are cases. Even if these transaction modes are different, some or all of the programs may be common. For this reason, if the program is subdivided and an appropriate program is specified according to the mode of activation, the reusability of the program is enhanced, and the total number of lines can be reduced.

【0149】図13は、このような仕組みを提供するた
めのオペコードテーブルの一例を示す説明図である。業
務処理要求や、派生トランザクションの内容は、オペコ
ードで特定される。例えば、普通預金の出金処理のオペ
コードは01001である。そして、端末初回入力の場
合には、プログラム01,02,03をこの順に呼び出
して実行する。同様に、連動処理の依頼を受けた場合に
は、プログラム06,07,08をこの順に実行する。
SAILは、業務処理要求(オペコードを含む)を受信
すると、その業務に応じた編集定義を特定し、編集定義
に基づいてFIFOを組み立てると共に、業務メインを
呼び出す。業務メインは、オペコードテーブルのプログ
ラムリストに従ってプログラム(APPL)を呼び出
す。
FIG. 13 is an explanatory diagram showing an example of an operation code table for providing such a mechanism. The business process request and the contents of the derived transaction are specified by the operation code. For example, the operation code of the ordinary deposit withdrawal process is 01001. Then, in the case of the terminal first input, the programs 01, 02, and 03 are called and executed in this order. Similarly, when the request for the interlocking process is received, the programs 06, 07, and 08 are executed in this order.
Upon receiving a business process request (including an operation code), the SAIL specifies an edit definition corresponding to the business, assembles a FIFO based on the edit definition, and calls the business main. The business main calls the program (APPL) according to the program list in the operation code table.

【0150】さらに、業務メインは、派生トランザクシ
ョンの起動要求依頼を受けた場合には、図11に示す処
理を実行するプログラムを呼び出す。一方、派生トラン
ザクションの起動に際しては、派生トランザクションの
オペコードによるAPPLの呼び出しの前後に、図12
に示す処理を実行する。
Further, when the business main receives a request to start a derived transaction, it calls a program for executing the processing shown in FIG. On the other hand, when starting the derived transaction, before and after the APPL is called by the operation code of the derived transaction, FIG.
The processing shown in is performed.

【0151】図13に示すように、普通預金出金のオペ
コードは、01001である。先日付完結処理システム
では、この普通預金出金は取り消されることがある。こ
の取消については、すべてのオペコードについて一定値
(図13に示す例では、500)を加算する体系として
いる。これにより、ある取引を取り消す場合にオペコー
ドを探索する必要がなくなる。図13に示すように、普
通預金の出金は、定積入金(03001)や、定期入金
(04001)から連動起動又は派生起動なされる。
As shown in FIG. 13, the operation code of the ordinary deposit and withdrawal is 01001. This savings withdrawal may be canceled in a future-dated closing system. For this cancellation, a system is used in which a constant value (500 in the example shown in FIG. 13) is added to all the operation codes. This eliminates the need to search for an opcode when canceling a transaction. As shown in FIG. 13, withdrawal of the ordinary deposit is started in conjunction with or derived from fixed deposit (03001) or regular deposit (04001).

【0152】図14は、取消再カットメインでの処理例
を示す説明図であり、図14(A)は口座処理による電
気料引落(内部自振)の取消を行う例を示す図で、図1
4(B)はその処理による残高の推移を示す図である。
図14(B)に示すように、6日の残高が60,000
で、7日を勘定日とした電気料の引落(自振通番123
45)20,000が先日付完結処理により実行され、
7日の残高が40,000となっているとする。この状
態で、ATMを用いて普通預金から定期預金への入金が
あると、定期入金処理S21は、オペコード01001
の普通預金出金S22を連動起動する。普通預金出金で
は、6日の残高は60,000であるため、50,00
0の出金が可能であることから、50,000の出金を
行い、成立した旨を定期入金に伝える(連動戻り)。
FIG. 14 is an explanatory diagram showing an example of processing in the cancellation re-cut main. FIG. 14A is a diagram showing an example of canceling an electricity charge withdrawal (internal self-generation) by account processing. 1
FIG. 4 (B) is a diagram showing the transition of the balance due to the processing.
As shown in FIG. 14B, the balance on the 6th is 60,000.
Then, the deduction of electricity charges with the 7th as the accounting date (self-oscillation serial number 123
45) 20,000 is executed by the post-date completion processing,
Assume that the balance on the 7th is 40,000. In this state, if there is a deposit from the ordinary deposit to the time deposit using the ATM, the term deposit processing S21 is performed with the operation code 01001.
Of the ordinary deposit and withdrawal S22 are started in conjunction with each other. In savings account withdrawal, the balance on the 6th is 60,000, so 50,000
Since the withdrawal of 0 is possible, the withdrawal of 50,000 is made, and the fact that the withdrawal is established is sent to the periodic deposit (interlocked return).

【0153】定期入金では定期預金マスタ等に記録し、
ATMに定期入金が完了した旨の応答を出力する。一
方、普通預金出金S22では、6日の残高の更新後に、
先日付の勘定日である7日の残高も更新する。7日の残
高は、マイナス10,000となる。普通預金出金S2
2は、7日の残高がマイナスとなったことから、7日を
勘定日として取消再カットメインを起動する。取消再カ
ットメインは、出金可能額のマイナスが解消するまで7
日にて成立している口座処理を取り消す制御をする。こ
こでは、電気料の引落を取り消しを起動する。ステップ
S24では、電気料の引落の取消(オペコード0200
1+500=02501)を行い、普通出金の取消に連
動する。普通出金の取消(オペコード01001+50
0=01501)は、20,000の出金の取消を行う
ため、7日の残高に20,000を加算する。そして、
7日の口座残高に異動が生じたため、再度取消再カット
メインを派生トランザクションとして起動する。取消再
カットメインS26は、図4に示す処理を行い、取消再
カットの必要性がないことから、なんら起動せずに処理
を終了する。
In the time deposit, it is recorded in a time deposit master or the like,
A response to the effect that the periodic payment has been completed is output to the ATM. On the other hand, in the ordinary deposit withdrawal S22, after updating the balance on the 6th,
The balance on the 7th, which is the account date of the future date, is also updated. The balance on the 7th will be minus 10,000. Deposit withdrawal S2
In the case of No. 2, since the balance on the 7th is minus, the cancellation recut main is started with the 7th as the account date. Cancel re-cut main is 7 until the minus of the withdrawable amount disappears
Control to cancel the account processing established on the day. Here, the cancellation of the withdrawal of the electricity fee is started. In step S24, the withdrawal of the electricity charge is canceled (operation code 0200).
1 + 500 = 02501), and is linked to the cancellation of ordinary withdrawal. Cancel normal withdrawal (Opcode 01001 + 50
In the case of 0 = 0501), 20,000 is added to the balance on the 7th to cancel the withdrawal of 20,000. And
Since a change has occurred in the account balance on the 7th, the recancellation recut main is started again as a derived transaction. The cancellation / recut main S26 performs the processing shown in FIG. 4, and ends the processing without any activation since there is no need for the cancellation / recut.

【0154】図14(A)に示すように、定期入金と普
通出金は連動しており、1つのトランザクションT1で
ある。これが、リージョン0にスケジュールされ、JO
B番号が「000」であるとする。普通出金が派生トラ
ンザクションの起動要求依頼をしたとき、トランザクシ
ョンT1はコミットしていない。高速パス(FP)を用
いたシステムでは、トランザクションT1のコミットの
前に派生トランザクションがスケジュールされる。リー
ジョン0は派生起動トランザクションT1によって使用
されているため、派生トランザクションである取消再カ
ットメインは、例えばリージョン1にスケジュールされ
る。この場合、取消再カットメインのJOB番号は「0
01」となる。取消再カットメインS23は、種々の判
定処理を行った後に電気料引落の取消を派生トランザク
ションとして起動する。
As shown in FIG. 14A, the regular payment and the ordinary payment are linked, and are one transaction T1. This is scheduled for Region 0, and JO
Assume that the B number is “000”. When the ordinary withdrawal requests the activation request of the derived transaction, the transaction T1 has not committed. In a system using the fast path (FP), a derived transaction is scheduled before the commit of transaction T1. Since region 0 is used by the derived start transaction T1, the derived transaction, ie, the cancellation recut main, is scheduled in, for example, region 1. In this case, the job number of the cancel / recut main is “0”.
01 ". The cancellation re-cut main S23 activates cancellation of the electricity charge as a derived transaction after performing various determination processes.

【0155】取消再カットメインS23が派生起動トラ
ンザクションT2として電気料引落の取消処理を起動さ
せたとき、定期入金及び普通出金のトランザクションT
1は既にコミットしている可能性が高い。すなわち、派
生起動トランザクションT1はその付随業務である取消
再カットメインである派生トランザクションT2のコミ
ットを待機せずにコミットする。トランザクションT1
がコミットしていると、リージョン0は空いているた
め、電気料引落の取消を行う派生トランザクションT3
は、リージョン0にスケジュールされることがある。
When the cancellation re-cut main S23 activates the cancellation processing of the electricity charge withdrawal as the derivative activation transaction T2, the transaction T for the regular deposit and the normal withdrawal is executed.
1 is highly likely to have already committed. That is, the derivative activation transaction T1 commits without waiting for the commit of the derivative transaction T2 that is the cancellation / recut main, which is an associated task. Transaction T1
Is committed, since region 0 is vacant, a derived transaction T3 that cancels the electricity charge withdrawal
May be scheduled in Region 0.

【0156】図15乃至図17は、この状態での派生起
動情報の格納及び派生メッセージの出力や、FIFOの
推移を説明するための説明図である。この例では、IB
M社のMVSで動作するIMSをFPで高速化し、さら
にSAILによるFIFO及び編集定義を使用し、そし
て、業務メインによりオペコードテーブルを用いて各ト
ランザクションを管理する。この例では、第2実施形態
で説明している派生インデックスDB及び派生管理DB
を用いている。
FIGS. 15 to 17 are explanatory diagrams for explaining the storage of the derived activation information, the output of the derived message, and the transition of the FIFO in this state. In this example, IB
The IMS operating on the MVS of M company is speeded up by the FP, the FIFO and the edit definition by SAIL are used, and each transaction is managed by the operation main using the operation code table. In this example, the derivation index DB and the derivation management DB described in the second embodiment
Is used.

【0157】業務メインは、ATMから定期入金の業務
処理要求を、図15の符号M1で示す入力メッセージの
形式で受信する。入力メッセージM1中、Hはヘッダ
ー、オペコードは定期入金を示す04001(図13参
照)、金額は50,000であり、ここでは、普通預金
の店番211の口座21yyyyから出金して、210
店番の口座3000xxxxxに入金する処理を要求す
る。IMSは、入力メッセージM1を待ち行列から取り
出すと、空いているリージョン0へスケジュールし、ト
ランザクションを開始させる。SAIL及び業務メイン
は、図17に示すように、このリージョン0内に、入力
メッセージM1から所定の入力編集定義を用いて定期入
金のFIFO86Aを展開する。図15に示すように、
FIFO86Aには、予め定められた位置に、オペコー
ドや、定期入金する店番や、入金金額等が格納される。
そして、業務メインは、定期入金のオペコードテーブル
を参照して所定のプログラムを呼び出し、実行させる。
定期入金プログラムは、普通預金からの出金を依頼する
ために、オペコード01001への連動を起動する。こ
のとき、連動編集定義に基づいて、普通出金用のFIF
O86Bがセットされる。結果コードは、普通預金から
の出金に成功するか否かを示すコードである。
The business main receives a business processing request for periodic payment from the ATM in the form of an input message indicated by reference numeral M1 in FIG. In the input message M1, H is the header, the opcode is 04001 (see FIG. 13), which indicates regular payment, and the amount is 50,000.
Request the process of depositing the account 3000xxxx of the store number. When the IMS removes the input message M1 from the queue, it schedules it to an empty region 0 and starts a transaction. As shown in FIG. 17, the SAIL and the business main develop a FIFO 86A for regular payment using a predetermined input edit definition from the input message M1 in this region 0. As shown in FIG.
In the FIFO 86A, an operation code, a store number for regular payment, a deposit amount, and the like are stored at predetermined positions.
Then, the business main calls up and executes a predetermined program with reference to the operation code table of the periodic payment.
The term deposit program activates interlocking with opcode 01001 to request a withdrawal from the ordinary deposit. At this time, based on the linked editing definition, the FIF for ordinary withdrawal
O86B is set. The result code is a code indicating whether or not the withdrawal from the ordinary deposit is successful.

【0158】普通預金出金は、FIFOにセットされた
2001/3/6を勘定日とする残高を参照し、出金が
可能であるか否かを判定し、出金が可能であれば、6日
の残高を10,000に更新する。そして、先日付の勘
定日が存在するため、7日の残高も更新する。7日の残
高がマイナスとなったため、取消再カットメインを処理
する開始日(派生日付)を2001/3/7にセットし
て、派生起動要求依頼を業務メインに渡す。例えば、派
生起動のマクロを実行する。SAILは、普通出金FI
FOの内容から派生編集定義を用いて派生メッセージ
(取消再カットメイン)M2を生成する。このとき、業
務メインは、図11に示す処理を呼び出す。図11に示
すように、呼び出された派生要求共通処理は、普通出金
FIFOの内容を派生管理DBに格納する。この例で
は、JOB番号が「000」であるため、図17に示す
ようにインデックス領域1のインデックス・ビットマッ
プを読み取り先頭が「0」であったことから、派生管理
通番を1とする。そして、このエントリー日付や時刻等
と共に、図15に示す普通出金FIFO86Bの内容を
派生管理DB70の派生管理通番1のセグメントに記録
する。普通出金FIFOが記録された状態では、図17
に示すように、インデックス・ビットマップの先頭の派
生インデックスビットがON(1)であり、また、派生
管理通番1の使用中フラグが使用中(1)となる。
[0158] The ordinary deposit withdrawal refers to the balance set in the FIFO with the account date of 2001/3/6, determines whether or not withdrawal is possible, and if the withdrawal is possible, Update the balance on the 6th to 10,000. Then, since there is a future date, the balance on the 7th is also updated. Since the balance on the 7th became minus, the start date (derivation date) for processing the cancellation / recut main is set to 2001/3/7, and the derivation start request request is passed to the business main. For example, the macro of the derivative start is executed. SAIL is a regular withdrawal FI
A derived message (cancellation / recut main) M2 is generated from the contents of the FO using the derived editing definition. At this time, the business main calls the processing shown in FIG. As shown in FIG. 11, the called derivation request common process stores the contents of the ordinary withdrawal FIFO in the derivation management DB. In this example, since the JOB number is “000”, the index bitmap of the index area 1 is read as shown in FIG. Then, together with the entry date and time, the contents of the ordinary dispensing FIFO 86B shown in FIG. In the state where the ordinary withdrawal FIFO is recorded, FIG.
As shown in (1), the derived index bit at the head of the index bitmap is ON (1), and the in-use flag of the derived management serial number 1 is in use (1).

【0159】図15に示すように、普通預金の出金に成
功すると、連動戻り編集定義を用いて、連動戻りブロッ
クに出金に成功した旨を示す結果コード(0000)を
記録する。定期入金処理は、定期入金に成功したため、
定期入金FIFOから出力編集定義を用いて出力メッセ
ージを生成し、ATMに送信させる。これにより、JO
BFP000のトランザクションT1はコミットする。
As shown in FIG. 15, when the savings are successfully dispensed, a result code (0000) indicating that the dispensing was successful is recorded in the interlocked return block using the interlocked return edit definition. The recurring payment process was successful because
An output message is generated from the periodic deposit FIFO using the output edit definition and transmitted to the ATM. With this, JO
Transaction T1 of BFP000 commits.

【0160】IMSは、派生メッセージM2をリージョ
ン1にスケジュールし、SAILは、派生メッセージか
ら取消再カットFIFO86Dをセットする。取消再カ
ットメインは、派生トランザクションであるため、業務
メインは、まず図12に示す処理を行う。すなわち、派
生特性管理共通処理として、派生管理通番をキー値とし
た派生管理DBの読み込みを行う。ここでは、派生管理
通番1のセグメントを読み取る。すなわち、派生管理D
B70に格納された普通出金FIFO86Bを読み出
す。これにより、トランザクションT1のコミットを待
機すると共に、T1のアボートの有無の確認を行う。普
通出金を含むトランザクションT1が正常にコミットし
た後、ステップS75に示すように、適用業務プログラ
ムを呼び出す。ここでは、派生メッセージのオペコード
である05001(取消再カットメイン)を構成するプ
ログラムを呼び出す。取消再カットメインは、取消の対
象を特定し、その自振通番(123456)や、取消金
額等を取消再カットFIFO86Dにセットし、派生起
動要求依頼を行う。業務メインは、図11に示す派生要
求共通処理を実行させる。このとき、取消再カットメイ
ンはJOB番号001で動作しているため、図17に示
すように、派生管理通番は401となる。このため、F
IFO86Dの派生管理通番の項目を1から401へと
更新し、このFIFO86Dを派生管理通番401のセ
グメントに格納する。そして、派生編集定義に従って、
図16に示す派生メッセージM3を生成する。
The IMS schedules the derived message M2 in Region 1, and SAIL sets the Cancel Recut FIFO 86D from the derived message. Since the cancellation / recut main is a derived transaction, the business main first performs the processing shown in FIG. That is, as the derived characteristic management common processing, the derivation management DB using the derived management serial number as a key value is read. Here, the segment of the derivation management serial number 1 is read. That is, derivation management D
The normal withdrawal FIFO 86B stored in B70 is read. As a result, while waiting for the commit of the transaction T1, the presence or absence of the abort of the T1 is confirmed. After the transaction T1 including the normal withdrawal is normally committed, the application program is called as shown in step S75. Here, a program constituting 05001 (cancellation / recut main) which is the operation code of the derived message is called. The cancellation / recut main specifies the object of cancellation, sets its self-oscillation serial number (123456), the cancellation amount, and the like in the cancellation / recut FIFO 86D, and makes a derivative activation request request. The business main executes the derivation request common process shown in FIG. At this time, since the cancellation / recut main operates with the job number 001, the derivative management serial number is 401 as shown in FIG. Therefore, F
The item of the derivative management serial number of the FIFO 86D is updated from 1 to 401, and the FIFO 86D is stored in the segment of the derivative management serial number 401. And, according to the derived edit definition,
A derived message M3 shown in FIG. 16 is generated.

【0161】派生メッセージM3は自振(電気料引落)
の取消であり、オペコードは02501である。トラン
ザクションT3は連動取引を用いてこの自振取消を行
い、連動受動業務である普通出金取消処理は派生メッセ
ージM4を出力させる。このとき、トランザクションT
3がリージョン0にスケジュールされたとする。
Derived message M3 is self-oscillation (withdrawal of electricity)
And the operation code is 02501. The transaction T3 cancels the self-vibration using the interlocking transaction, and the ordinary withdrawal canceling process, which is the interlocking passive operation, outputs the derived message M4. At this time, the transaction T
Suppose that 3 is scheduled in region 0.

【0162】図17に示す例では、トランザクションT
2の派生要求共通処理が派生メッセージを出力させた時
点では、トランザクションT1がコミットしている。こ
れは、派生起動トランザクションT1は派生トランザク
ションT2のコミットを待機せずに早期にコミットする
ことで、ここでは定期入金処理の応答性を確保している
ことによる。一方、派生メッセージ(自振取消)M3
は、トランザクションT2がコミットする前にスケジュ
ールされる。このため、自振取消を主業務とするトラン
ザクションT3はリージョン0にスケジュールされた。
トランザクションT3では、まず、取消再カットメイン
であるトランザクションT2のコミットを待機するため
に、派生管理通番401の派生管理情報を読み出そうと
する。
In the example shown in FIG.
When the second derivation request common process outputs a derivation message, the transaction T1 has committed. This is because the derivative activation transaction T1 commits early without waiting for the commit of the derivative transaction T2, and here, the responsiveness of the periodic deposit process is secured. On the other hand, a derived message (self-cancel cancellation) M3
Is scheduled before transaction T2 commits. Therefore, the transaction T3 whose main task is to cancel self-vibration is scheduled in the region 0.
In the transaction T3, first, in order to wait for the commit of the transaction T2, which is the cancellation / recut main, the derivation management information of the derivation management serial number 401 is read.

【0163】トランザクションT2がコミットすると、
図12に示すように、業務メインは、派生特性管理共通
処理(S76,S77)をトランザクションT2の一部
として実行する。さらに、S78及びS79もトランザ
クションT2の一部として実行する例では、インデック
ス領域1の先頭の派生インデックスビットがOFFに更
新された後に、派生トランザクションT2がコミットす
る。この場合、トランザクションT3が派生トランザク
ションを起動する時には、すでに派生管理通番1が空い
ている。
When transaction T2 commits,
As shown in FIG. 12, the business main executes the derived characteristic management common processing (S76, S77) as a part of the transaction T2. Further, in the example where S78 and S79 are also executed as a part of the transaction T2, the derived transaction T2 commits after the head derived index bit of the index area 1 is updated to OFF. In this case, when the transaction T3 starts the derived transaction, the derived management serial number 1 is already empty.

【0164】図17に示す例では、派生インデックスD
BのOFF(対応する派生管理通番が使用可)への更新
を別トランザクションとして起動する。この場合、ステ
ップS77が終了した段階でトランザクションT2はコ
ミットする。このとき、トランザクションT3は派生管
理通番401の読み出しに成功し、さらに普通預金出金
取消が完了すると、再度取消再カットメインを起動しよ
うとする。このとき、トランザクションT2によって起
動された派生インデックスビットのOFFへの更新処理
(派生DB制御処理)が完了していないと、インデック
ス領域1の先頭の派生インデックスビットは1のままで
ある。このため、次に空いているビット位置が2の派生
インデックスビットを特定する。トランザクションT3
からの派生起動情報は、普通出金取消FIFO等であ
り、これが派生管理通番2のセグメントに格納される。
In the example shown in FIG.
The update of B to OFF (the corresponding derivation management serial number can be used) is started as a separate transaction. In this case, the transaction T2 commits when step S77 ends. At this time, in the transaction T3, when the derivation management serial number 401 is successfully read, and when the savings / withdrawal of the ordinary deposit is completed, the transaction T3 attempts to activate the cancellation / recut main again. At this time, if the process of updating the derived index bit to OFF (derived DB control process) started by the transaction T2 is not completed, the derived index bit at the head of the index area 1 remains 1. For this reason, the next unused bit position specifies the derived index bit of 2. Transaction T3
Is a normal withdrawal cancellation FIFO or the like, which is stored in the segment of the derivation management serial number 2.

【0165】トランザクションT2によって起動された
派生DB制御処理が当該インデックスビットを更新する
と、インデックス領域1のインデックスビットの先頭ビ
ットは0となる。このため、次にリージョン0で実行さ
れるトランザクションが派生トランザクションを起動す
る場合には、派生管理通番1が利用される。このように
派生管理通番を繰り返し利用するため、本実施形態で
は、派生管理DB及び派生インデックスDBの再編成処
理が不要である。
When the derived DB control process started by the transaction T2 updates the index bit, the leading bit of the index bit in the index area 1 becomes 0. Therefore, when the next transaction executed in the region 0 activates the derived transaction, the derived management serial number 1 is used. As described above, since the derivation management serial number is repeatedly used, the reorganization process of the derivation management DB and the derivation index DB is unnecessary in the present embodiment.

【0166】図15乃至図17に示す例では、各リージ
ョンは、一般トランザクションと派生トランザクション
の双方を実行するものとして説明したが、図18に示す
ように、JOB番号(リージョン)を一般トランザクシ
ョンと派生トランザクションとに別々に割り当てるよう
にしても良い。図18に示す例では、全てのJOBが派
生トランザクションによって使用されるという可能性が
なくなるため、オンラインの応答性の悪化を防止するこ
とができる。そして、業務処理要求(メッセージ)の取
り扱いを容易にするために、図18に示す例では、オン
ラインシステムが、待ち行列13として、オンライント
ランザクションやセンター一括処理の実行を要求するメ
ッセージ(電文)を一時的に記憶する一般待ち行列13
Aと、派生トランザクションの実行を要求する派生メッ
セージを一時的に記憶する派生待ち行列とを備えてい
る。2種類の待ち行列を併用することで、トランザクシ
ョンの総量制御が容易となる。
In the examples shown in FIGS. 15 to 17, each region has been described as executing both a general transaction and a derived transaction. However, as shown in FIG. 18, a JOB number (region) is derived from a general transaction and a derived transaction. You may make it allocate to a transaction separately. In the example shown in FIG. 18, since there is no possibility that all JOBs are used by a derived transaction, it is possible to prevent the deterioration of online responsiveness. In order to facilitate the handling of business process requests (messages), in the example shown in FIG. 18, the online system temporarily stores a message (telegram) requesting execution of an online transaction or center batch processing as a queue 13. General queue 13 for storing information
A and a derivation queue for temporarily storing a derivation message requesting execution of a derivation transaction. By using two types of queues together, it becomes easy to control the total amount of transactions.

【0167】<総量制御>再度図7を参照すると、オン
ラインシステム(または、トランザクション制御システ
ム)は、図18に示す一般待ち行列13A及び派生待ち
行列13Bで滞留しているトランザクション数を監視す
る滞留監視部78と、この滞留監視部78によって監視
される各待ち行列でのトランザクションの滞留数に応じ
て前記派生起動トランザクション又は前記派生トランザ
クションの起動を制御する総量制御部79とを備えてい
る。
<Total Volume Control> Referring again to FIG. 7, the online system (or transaction control system) monitors the number of transactions stagnating in the general queue 13A and the derivative queue 13B shown in FIG. A unit 78 and a total amount control unit 79 for controlling the activation of the derivative activation transaction or the derivative transaction in accordance with the number of transactions remaining in each queue monitored by the retention monitoring unit 78.

【0168】図19は、滞留監視処理の一例を示すフロ
ーチャートである。滞留監視部78は、前記一般待ち行
列又は派生待ち行列の滞留数が予め定められた第1レベ
ル以上である場合には(ステップS81,S83)、派
生起動取引中断ビットをONとする(ステップS82,
S84)。図19に示す例では、それぞれの待ち行列1
3A,13Bに格納されたメッセージ数が200を越え
た場合に、派生起動取引中断ビットをONとしている。
そして、前記派生待ち行列に滞留しているトランザクシ
ョン数が前記第1レベル(200)よりも多い数にて予
め設定された第2レベル(500)以上である場合には
(ステップS85)、派生中止ビットをONとする(ス
テップS86)。一方、上記各ビットがONとなった後
に、それぞれの待ち行列の滞留数が0となった場合には
(ステップS87)、各ビットをOFFとする(ステッ
プS88)。この滞留監視部78による監視処理は、所
定の監視時間間隔で、例えば30秒ごとに繰り返し実行
する。滞留監視部78は、派生起動取引中断ビットや、
派生中止ビットを図7に示すシステム状況DB83に格
納する。
FIG. 19 is a flowchart showing an example of the stay monitoring process. When the number of stays in the general queue or the derivative queue is equal to or higher than a predetermined first level (steps S81 and S83), the stay monitoring unit 78 turns on the derivative activation transaction interruption bit (step S82). ,
S84). In the example shown in FIG.
When the number of messages stored in 3A and 13B exceeds 200, the derivative activation transaction interruption bit is set to ON.
If the number of transactions staying in the derivation queue is greater than or equal to the second level (500) set in advance by a number greater than the first level (200) (step S85), the derivation is stopped. The bit is turned on (step S86). On the other hand, if the number of stays in each queue becomes 0 after each bit is turned on (step S87), each bit is turned off (step S88). The monitoring process by the stay monitoring unit 78 is repeatedly executed at predetermined monitoring time intervals, for example, every 30 seconds. The retention monitoring unit 78 outputs a derivative activation transaction interruption bit,
The derivation stop bit is stored in the system status DB 83 shown in FIG.

【0169】図20は、派生トランザクションの実行を
待機させる処理の一例を示す図表である。総量制御部7
9は、前記派生起動取引中断ビットがONである場合に
は前記派生トランザクションを起動する業務処理要求の
入力を中断させる派生起動取引入力中断制御機能28を
備える。派生トランザクションを起動する業務処理要求
としては、例えばセンター一括処理がある。派生起動取
引入力中断制御機能28は、本実施形態では、例えば、
センター一括処理を要求するセンターカット電文を入力
するとき(例えば、SAILのEXIT処理時)、シス
テム状況DB83に格納された派生起動取引中断ビット
を参照し、派生起動取引中断ビットがONであると、セ
ンターカット電文の入力を中断する。従って、センター
一括処理自体を待機させることでシステム負荷を軽減
し、且つ、センター一括処理は取消再カットメインを派
生トランザクションとして起動する可能性があるため、
派生トランザクションの起動を抑制することができる。
FIG. 20 is a chart showing an example of a process for waiting for the execution of a derived transaction. Total control unit 7
9 is provided with a derivative activation transaction input interruption control function 28 for interrupting the input of a business process request for activating the derivative transaction when the derivative activation transaction interruption bit is ON. An example of a business process request that starts a derived transaction is a center batch process. In the present embodiment, the derivative activation transaction input interruption control function 28 includes, for example,
When the center cut message requesting the center batch processing is input (for example, at the time of EXIT processing of SAIL), the derived activation transaction interruption bit stored in the system status DB 83 is referred to, and if the derived activation transaction interruption bit is ON, Interrupt the input of the center cut message. Therefore, the system load may be reduced by waiting the center batch process itself, and the center batch process may start the cancellation / recut main as a derived transaction.
Invocation of derived transactions can be suppressed.

【0170】また、総量制御部79は、システム状況D
B83に格納された派生中止ビットがONである場合
に、派生起動要求があった時には、当該派生起動情報を
前記派生管理DBに登録後、派生トランザクションの起
動を行わない派生起動中止制御機能30を備える。図1
8に示す例では、派生起動トランザクションを管理する
派生起動要求共通処理は、派生起動情報を登録後、派生
中止ビットがONである場合には、派生メッセージを出
力しない。すると、派生起動トランザクションがコミッ
トし、派生トランザクションがアボートされたのと同様
の状態となる。すなわち、派生起動中止制御機能30
は、派生メッセージの出力処理時にシステム状況DB8
3の派生中止ビットを参照し、派生中止ビットがONで
ある場合には付随処理である派生トランザクションを起
動しない。
Further, the total amount control unit 79 determines whether the system status D
If the derivation abort bit stored in B83 is ON and there is a derivation start request, after the derivation start information is registered in the derivation management DB, the derivation start abort control function 30 that does not start the derivation transaction is executed. Prepare. FIG.
In the example shown in FIG. 8, the derivation start request common process that manages the derivation start transaction does not output the derivation message if the derivation stop bit is ON after the derivation start information is registered. Then, the derived start transaction commits, and the state becomes the same as when the derived transaction is aborted. That is, the derivative activation suspension control function 30
Is the system status DB8 during the output processing of the derived message
With reference to the derivation abort bit of No. 3, if the derivation abort bit is ON, a derivation transaction which is an accompanying process is not started.

【0171】また、総量制御部79は、前記派生中止ビ
ットがONである場合に業務処理要求を受信した場合で
あって、当該業務処理要求に滞留時停止指定がある場合
には、当該業務処理要求の処理を不能としてエラー出力
する滞留時エラー制御機能31を備えるようにしても良
い。図13を参照すると、動作環境指定として、オペコ
ードに続いて滞留=No,センター一括=Yes等の指
定がある。この動作環境指定で滞留=Yesとなってい
るオペコードの処理を要求されたときに、派生中止ビッ
トがONとなっている場合には、滞留時エラー制御機能
31を備える例では、当該メッセージを処理不能として
エラーを出力する。
When the derivation stop bit is ON, the total amount control unit 79 receives the business process request, and if the business process request specifies stoppage during stay, the total amount control unit 79 A staying error control function 31 that disables the processing of the request and outputs an error may be provided. Referring to FIG. 13, as the operation environment specification, following the operation code, there is a specification such as stay = No, center batch = Yes. In the case where the derivation stop bit is ON when the processing of the operation code of “Stay = Yes” is requested in the operation environment specification, in the example including the stay-time error control function 31, the message is processed. Output an error as impossible.

【0172】<派生再起動>次に、派生トランザクショ
ンの再起動について説明する。派生トランザクション
は、アボートされた場合や、派生トランザクション実行
中にシステム障害が発生した場合や、派生トランザクシ
ョンの起動が中止された場合に、事後的に再起動を行
う。派生トランザクションの再起動の手順を明確にする
ことで、派生起動トランザクションと派生トランザクシ
ョンとを利用した派生利用トランザクションの実際上の
原子性を保つことができる。
<Derived Restart> Next, restart of a derived transaction will be described. The derived transaction is restarted afterwards when it is aborted, when a system failure occurs during execution of the derived transaction, or when the activation of the derived transaction is stopped. By clarifying the procedure for restarting the derived transaction, the actual atomicity of the derived use transaction using the derived start transaction and the derived transaction can be maintained.

【0173】再度図7を参照すると、演算手段4は、前
記派生インデックスDB68及び派生管理DB70を参
照して派生インデックスビット及び使用中フラグがON
で且つ派生管理DBに派生起動情報を格納した後予め定
められた時間以上経過している派生管理通番を派生再起
動要と判定する派生再起動要否監視部76と、派生再起
動要否監視部76によって再起動要と判定された派生管
理通番を再起動する場合には、当該派生管理通番によっ
て特定される派生起動情報に基づいて派生トランザクシ
ョンを起動すると共に当該派生管理通番へ派生起動情報
を格納した時刻を更新する派生再起動制御部77とを備
えている。
Referring again to FIG. 7, the calculating means 4 refers to the derived index DB 68 and the derived management DB 70 and turns on the derived index bit and the busy flag.
And a derivation restart necessity monitoring unit 76 for judging a derivation management serial number that has passed a predetermined time or more after derivation start information is stored in the derivation management DB as a derivation restart necessary, and a derivation restart necessity monitoring When restarting the derivative management serial number determined to be necessary for restart by the unit 76, the derivative transaction is activated based on the derivative activation information specified by the derivative management serial number, and the derivative activation information is transmitted to the derivative management serial number. And a derived restart control unit 77 for updating the stored time.

【0174】まず、アボートの態様を説明する。派生起
動トランザクションがアボートした場合、派生起動情報
が一旦格納されていたとしてもロールバックによりその
更新が無効となるため、派生管理通番の使用中フラグが
オフとなる。このため、派生トランザクションは起動し
ない(図12,S74)。従って、派生起動トランザク
ションのアボートでは派生トランザクションの再起動が
必要となることはない。
First, the mode of the abort will be described. When the derived activation transaction is aborted, even if the derived activation information is once stored, the update is invalidated by rollback, so that the in-use flag of the derived management serial number is turned off. Therefore, the derived transaction does not start (FIG. 12, S74). Therefore, the abort of the derived start transaction does not require a restart of the derived transaction.

【0175】派生トランザクションがアボートした場
合、使用中フラグを使用可に更新していたとしても、こ
の使用可への更新はロールバックにより取り消される。
従って、派生トランザクションの原子性により、派生ト
ランザクションがアボートした場合には使用中フラグが
使用中となっていることが保証される。従って、派生再
起動要否監視部76は、派生インデックスビット及び使
用中フラグがONで且つ派生管理DBに派生起動情報を
格納した後予め定められた時間以上経過している派生管
理通番を派生再起動要と判定することができる。デッド
ロックの発見に処理開始後の経過時間による判定が極め
て有効であるのと同様に、本実施形態では、派生トラン
ザクションのアボートの判定に派生起動情報のエントリ
ー後の経過時間を用いることで、確実に派生トランザク
ションのアボートを検索する。
When the derived transaction aborts, even if the busy flag is updated to be usable, the update to the usable state is canceled by rollback.
Therefore, due to the atomicity of the derived transaction, when the derived transaction aborts, it is guaranteed that the busy flag is in use. Therefore, the derivation restart necessity monitoring unit 76 determines the derivation management serial number for which the derivation index bit and the busy flag are ON and the derivation management DB has stored the derivation start information in the derivation management DB for a predetermined time or more. It can be determined that activation is required. In the same manner as the determination based on the elapsed time after the start of the process is extremely effective in finding a deadlock, in the present embodiment, the determination of the abort of the derived transaction is performed by using the elapsed time after the entry of the derived activation information. To find the abort of the derived transaction.

【0176】また、派生トランザクションの終了処理に
て、派生インデックスビットを派生DB制御処理にて実
行する場合、この派生DB制御処理がアボートしたとき
には、派生トランザクションによる使用中フラグの更新
は成功し、すでにコミットしているため、使用中フラグ
がオフで、派生インデックスビットがONとなる。この
場合、派生トランザクションの付随業務の内容は正常に
コミットしているため、派生トランザクションを再起動
する必要はない。
In the termination processing of the derived transaction, when the derived index bit is executed in the derived DB control processing, when the derived DB control processing is aborted, the update of the busy flag by the derived transaction succeeds, and Since the commit has been performed, the in-use flag is off, and the derived index bit is on. In this case, it is not necessary to restart the derived transaction because the contents of the associated business of the derived transaction have been committed normally.

【0177】派生再起動制御部77は、派生再起動要否
監視部76によって再起動要と判定された派生管理通番
を再起動する場合には、当該派生管理通番によって特定
される派生起動情報に基づいて派生トランザクションを
起動すると共に当該派生管理通番での派生起動情報を格
納した時刻を更新する。本実施形態では、自動的な再起
動を行うのではなく、アボートした派生トランザクショ
ンの存在をオペレータに表示し、オペレータからの再起
動の要求を待って再起動処理を行う。このとき、派生再
起動制御部77は、派生トランザクションの再起動時に
エントリー時刻を更新する。
When restarting the derived management serial number determined to be necessary for restart by the derived restart necessity monitoring unit 76, the derived restart control unit 77 adds the derived start information specified by the derived management serial number. A derived transaction is activated based on the information, and the time at which the derived activation information is stored in the derived management serial number is updated. In the present embodiment, instead of performing the automatic restart, the existence of the aborted derived transaction is displayed to the operator, and the restart processing is performed after the restart request from the operator. At this time, the derived restart control unit 77 updates the entry time when the derived transaction is restarted.

【0178】図21は、派生トランザクションの再実行
を派生管理業務により行う構成を示すブロック図であ
る。コンソール端末2Aから派生再実行要求90を受信
すると、そのコマンドを解析し、特定の派生トランザク
ションを再起動するか、又は、アボートした全派生トラ
ンザクションを一括して再起動するかの判定を行う。派
生管理通番で指定された一件の派生トランザクションを
再起動する場合、派生管理業務92は、派生管理通番か
ら派生管理DBに格納されているFIFOを特定し、こ
のFIFOを派生管理業務92のFIFOへセットす
る。そして、この派生管理業務のFIFOに基づいて派
生トランザクションの起動処理を行う。派生受動業務9
3として、派生トランザクションが再起動される。
FIG. 21 is a block diagram showing a configuration in which re-execution of a derived transaction is performed by a derived management task. When the derivation re-execution request 90 is received from the console terminal 2A, the command is analyzed, and it is determined whether to restart a specific derivation transaction or collectively restart all aborted derivation transactions. When restarting one derived transaction specified by the derived management serial number, the derived management business 92 specifies the FIFO stored in the derived management DB from the derived management serial number, and then uses this FIFO as the FIFO of the derived management business 92. Set to Then, a derivative transaction activation process is performed based on the FIFO of the derivative management task. Derived passive business 9
As 3, the derived transaction is restarted.

【0179】全トランザクションを再起動する場合、派
生管理業務92は、予め定められた数の派生トランザク
ションを起動すると、図2(C)に示すような形式で、
派生管理業務95を派生起動する。派生管理業務95
も、予め定められた数の派生トランザクションを起動す
ると、派生管理業務を派生トランザクションとして起動
する。各派生管理業務が予め定められた数の再起動しか
行わないのは、1つのJOB番号から起動できる派生ト
ランザクションの数が派生管理通番の数である図8乃至
図10に示すM(例えば、400+予備)以下に制限さ
れるためである。
When restarting all the transactions, the derivation management business 92 activates a predetermined number of derivation transactions, and in a form as shown in FIG.
The derivative management task 95 is derived and activated. Derivation management work 95
Also, when a predetermined number of derivative transactions are activated, the derivative management task is activated as a derivative transaction. Each derivation management task performs only a predetermined number of restarts because the number of derivation transactions that can be started from one JOB number is the number of derivation management serial numbers M (for example, 400+ This is because it is limited to the following.

【0180】図22は、派生再起動要否監視部76によ
る派生再起動要否判定処理の詳細構成を示すフローチャ
ートである。この派生再起動要否判定処理は、アボート
され、且つ再起動が必要な派生トランザクションの有無
を監視する処理である。この派生再起動要否判定処理
は、コンソール端末2Aからのコマンド入力により実行
する。また、一定時間間隔で自動的に起動するようにし
ても良い。コマンド入力により実行する場合、日付変更
を行う前や、また、ある処理の終了時刻の前などに実行
する。また、トランザクションがアボートされるとコン
ソール端末2Aにその旨が表示されるため、この表示が
あったときに実行するようにしても良い。勘定系システ
ムを例とすると、例えば他の金融機関への振込処理はあ
る時間までに完了させなければならないため、この為替
の中断を指示する為替中断コマンドの入力前に、この派
生再起動要否判定処理を実行することでアボートされた
派生トランザクションの有無の確認を行う。例えば、上
述した承認通知処理は派生トランザクションを利用する
が、この派生トランザクションがアボートされていない
ことを確認する。また、日付変更時には再起動が必要な
派生トランザクション(付随処理)が一件もないことが
必要であるため、この日付変更コマンドの入力前に派生
再起動要否判定処理をコマンド入力により起動する。図
22を参照すると、派生再起動要否監視部76は、ま
ず、対象インデックス領域番号を0にセットする(ステ
ップS91)。続いて、派生インデックスDB78のイ
ンデックス・ビットマップを「読み取りのみ」のモード
で読み込む(ステップS92)。これは、通常の派生起
動トランザクションとのインデックス・ビットマップに
関するコンテンションの発生を防止するためである。続
いて、インデックスビットの位置を先頭(1番目)にセ
ットする(ステップS93)。そして、セットされた位
置のビットを読み取り、この派生インデックスビットが
ON(使用中)であるか否かを判定する(ステップS9
4)。派生インデックスビットがONであれば、派生管
理DBの内容を読み取る(ステップS95)。そして、
派生起動情報のエントリー時刻を参照し、派生取引起動
時刻から30秒以上経過しているか否かを判定する(ス
テップS96)。30秒以上経過している場合には、再
派生不要ビットがONか、又は派生管理DBの使用中フ
ラグが使用可(0)であるか否かを確認する(ステップ
S97A)。再派生不要ビットは、例えば端末折り返し
連続処理などでONとされている。派生インデックスビ
ットが使用中で、派生管理DBの使用中フラグがOFF
であるのは、派生トランザクションがコミットし、派生
DB制御処理がアボートした場合であるため、派生トラ
ンザクションの再起動は不要である。ステップS97A
でノーであれば、その派生管理通番で起動された派生ト
ランザクションについて再派生が必要と判定し、コンソ
ール端末2Aに、派生管理通番や、起動業務の識別コー
ドや、派生受動業務のオペコードや、派生起動情報のエ
ントリー日付及び時刻や、当初の業務処理要求の入力店
番や端末番号や、さらに、派生取引対象口座の店番や口
座番号等を出力する(ステップS97B)。この再派生
関連情報を参照して、オペレータは、当該派生管理通番
で管理される派生トランザクションを再起動するか否か
判定する。
FIG. 22 is a flowchart showing the detailed configuration of the derivation restart necessity determination processing by the derivation restart necessity monitoring unit 76. This derivation restart necessity determination process is a process of monitoring whether there is a derivation transaction that has been aborted and needs to be restarted. This derivation restart necessity determination processing is executed by a command input from the console terminal 2A. Alternatively, it may be automatically started at a fixed time interval. When the processing is executed by inputting a command, the processing is executed before the date is changed or before the end time of a certain process. Further, when the transaction is aborted, a message to that effect is displayed on the console terminal 2A. In the case of a banking system, for example, the transfer process to another financial institution must be completed by a certain time. By executing the judgment processing, the existence of the aborted derived transaction is confirmed. For example, the above-described approval notification process uses a derived transaction, but confirms that the derived transaction has not been aborted. In addition, when the date is changed, it is necessary that there is no derivative transaction (accompanying process) requiring a restart. Therefore, before the date change command is input, the derivative restart necessity determination process is started by inputting a command. Referring to FIG. 22, the derivation restart necessity monitoring unit 76 first sets the target index area number to 0 (step S91). Subsequently, the index bitmap of the derived index DB 78 is read in the "read only" mode (step S92). This is to prevent the occurrence of contention on the index bitmap with the normal derived start transaction. Subsequently, the position of the index bit is set to the head (first) (step S93). Then, the bit at the set position is read, and it is determined whether or not the derived index bit is ON (in use) (step S9).
4). If the derived index bit is ON, the content of the derived management DB is read (step S95). And
With reference to the entry time of the derivative activation information, it is determined whether 30 seconds or more have elapsed from the derivative transaction activation time (step S96). If 30 seconds or more have elapsed, it is checked whether the re-derivation unnecessary bit is ON or whether the in-use flag of the derivation management DB is available (0) (step S97A). The re-derivation unnecessary bit is turned ON, for example, in the terminal return continuous processing. Derived index bit is in use and in use flag in derivation management DB is OFF
Since the derived transaction commits and the derived DB control process aborts, it is not necessary to restart the derived transaction. Step S97A
If the answer is no, it is determined that re-derivation is necessary for the derived transaction started with the derived management serial number, and the derived management serial number, the identification code of the startup business, the operation code of the derived passive business, the The entry date and time of the start-up information, the input store number and terminal number of the initial business process request, and the store number and account number of the account for the derivative transaction are output (step S97B). With reference to the re-derivation related information, the operator determines whether to restart the derived transaction managed by the derivation management serial number.

【0181】派生インデックスビットがOFFである場
合や(ステップS94,ノー)、ONであったとしても
派生取引起動時刻から30秒以上経過していない場合に
は(ステップS96,ノー)ステップS98A,S98
Bを経由して次のインデックスビット(次の派生管理通
番)の判定を行う。そして、派生取引起動時刻から30
秒以上経過していても、再派生不要ビットがONであっ
たり、また、派生トランザクションがコミットしたもの
の派生DB制御処理がアボートした場合(派生管理DB
70の使用中フラグが使用可)であるときも(ステップ
S97A,イエス)、次のインデックスビットの判定を
行う。ステップS98Aでは、インデックスビット位置
が最終であるか否かを確認する。最終位置でなければ、
ビット位置を1つずらして対応する次の派生管理通番を
処理対象にセットし(ステップS98B)、ステップS
94に処理を移す。一方、インデックスビットの位置が
最終であれば、次のリージョンに対応するインデックス
領域番号を判定対象とするため、対象インデックス領域
番号に1を加算してセットし、ステップS92に処理を
移す。一方、ステップS99Aにて、すべてのインデッ
クス領域(リージョン)の探索が完了している場合に
は、この派生再起動要否判定処理を終了する。
If the derived index bit is OFF (step S94, NO), or if it is ON but not more than 30 seconds from the derivative transaction start time (step S96, NO), steps S98A, S98
The next index bit (the next derivative management serial number) is determined via B. And 30 from the derivative transaction start time
Even if more than one second has elapsed, the re-derivation unnecessary bit is ON or if the derived transaction has been committed but the derived DB control processing has been aborted (derivation management DB
Also, when the in-use flag of 70 is usable (step S97A, Yes), the next index bit is determined. In step S98A, it is determined whether or not the index bit position is at the end. If not the last position,
The next derivation management serial number corresponding to the next derivation management number is set as a processing target by shifting the bit position by one (step S98B), and step S98 is performed.
Move the process to 94. On the other hand, if the position of the index bit is the last, the index region number corresponding to the next region is set as a determination target by adding 1 to the target index region number, and the process proceeds to step S92. On the other hand, if the search of all index areas (regions) has been completed in step S99A, the derivative restart necessity determination processing ends.

【0182】図23は、アボート又は起動中止された全
ての派生トランザクションを一度のコマンドで順に再起
動する処理例を示すフローチャートである。図23に示
す例では、派生再起動制御部77は、まず、初回起動時
に対象インデックス領域番号として0をセットする(ス
テップS101)。続いて、対象インデックス領域番号
のインデックス・ビットマップのうち、使用中のビット
位置を探索する(ステップS102)。使用中のビット
がある場合には、その対象インデックス領域番号とビッ
ト位置とから派生管理通番を算出し、派生管理DBに格
納された内容を読み込む(ステップS103)。そし
て、使用中フラグがON(使用中)で、且つ派生トラン
ザクションの起動時刻(派生起動情報のエントリー時
刻)から5分以上経過しているか否かを判定する(ステ
ップS104)。5分以上の経過がなければ、次に使用
中である派生インデックスビットを探索する(ステップ
S102)。
FIG. 23 is a flow chart showing an example of a process for sequentially restarting all the aborted or aborted derivative transactions with a single command. In the example illustrated in FIG. 23, the derived restart control unit 77 first sets 0 as the target index area number at the time of the first startup (step S101). Next, a search is made for a bit position being used in the index bitmap of the target index area number (step S102). If there is a bit being used, a derivation management serial number is calculated from the target index area number and the bit position, and the content stored in the derivation management DB is read (step S103). Then, it is determined whether or not the in-use flag is ON (in use) and five minutes or more have elapsed since the activation time of the derived transaction (entry time of the derived activation information) (step S104). If five minutes or more have not elapsed, a search is made for a derived index bit that is being used next (step S102).

【0183】派生管理DBの使用中フラグが「使用中」
で、且つ派生起動情報のエントリーから5分以上経過し
ている場合には、派生管理DB70に格納されている派
生起動情報に基づいて派生トランザクションの起動を制
御する(ステップS105)。具体的には、派生管理D
B70に格納されたFIFOをセットし、派生管理DB
70に格納された派生編集番号に応じて当該FIFOか
ら派生メッセージを生成する。派生起動制御を行うと、
再派生処理回数をインクリメントする(ステップS10
6)。そして、派生取引起動時刻を現時刻に変更して派
生管理DBを更新する。続いて、次の使用中のインデッ
クスビットを探索する(ステップS102)。対象イン
デックス領域番号のインデックス・ビットマップを全て
確認した場合には(ステップS102)、次の派生イン
デックスビットについて検討するため、対象インデック
ス領域番号に1を加算してセットする(ステップS10
8)。このとき、再派生処理回数(起動した派生トラン
ザクションの数)が一定数(例えば、80)を越えてい
る場合には、再派生処理回数を0にクリアして、派生再
起動処理を派生トランザクションとして起動する(ステ
ップS111)。再起動された派生再起動処理では、初
回起動時ではないためステップS101をパスし、セッ
トされたインデックス領域番号のインデックス・ビット
マップの派生トランザクションの再起動を検討する。
The in-use flag of the derivation management DB is “in use”
If 5 minutes or more have passed since the entry of the derivative activation information, the activation of the derivative transaction is controlled based on the derivative activation information stored in the derivative management DB 70 (step S105). Specifically, derivation management D
The FIFO stored in B70 is set, and the derivation management DB
A derived message is generated from the FIFO in accordance with the derived edit number stored in 70. When the derived activation control is performed,
Increment the number of re-derivation processes (step S10)
6). Then, the derivative transaction start time is changed to the current time, and the derivative management DB is updated. Subsequently, a search is made for the next in-use index bit (step S102). When all the index bitmaps of the target index area number have been confirmed (step S102), 1 is added to the target index area number and set in order to examine the next derived index bit (step S10).
8). At this time, if the number of re-derivation processes (the number of activated derivation transactions) exceeds a certain number (for example, 80), the number of re-derivation processes is cleared to 0, and the derivation restart process is defined as a derivation transaction. Activate (step S111). In the restarted derivation restart process, since it is not the first start, the process skips step S101 and considers restarting the derivation transaction of the index bitmap of the set index area number.

【0184】ステップS108にて、再派生処理回数が
一定数を越えていない場合には、全てのインデックス領
域番号(インデックス・ビットマップ)の探索が完了し
たか否かを確認し(ステップS110)、未検討のイン
デックス・ビットマップが残っている場合には、対象イ
ンデックス領域番号に1を加算して、ステップS102
に処理を移す。これにより、全てのインデックス・ビッ
トマップについてアボートされた派生トランザクション
の有無を探索することができる。
If the number of re-derivation processes does not exceed a certain number in step S108, it is confirmed whether or not the search for all index area numbers (index bitmaps) has been completed (step S110). If an unexamined index bitmap remains, 1 is added to the target index area number, and step S102 is performed.
Transfer processing to As a result, it is possible to search all index bitmaps for aborted derived transactions.

【0185】上述したように第2実施形態によると、派
生インデックスDBをJOB番号毎にアクセス可能と
し、さらに、派生起動情報を派生管理DBに格納するた
め、並列に処理されているトランザクション間のコンテ
ンション防止し、デッドロックの発生を防止し、さらに
派生管理DBの再編成不要としつつ、一般的なDBのロ
ック機構を用いて派生トランザクションの特性を管理す
ることができる。
As described above, according to the second embodiment, the derivative index DB can be accessed for each JOB number, and the derivative activation information is stored in the derivative management DB. It is possible to manage the characteristics of the derived transaction using a general DB locking mechanism while preventing tension, preventing the occurrence of deadlock, and eliminating the need to reorganize the derived management DB.

【0186】[0186]

【第3実施形態】図12に示す派生特性管理共通処理に
て、ステップS79を派生トランザクション内の処理と
すると、デッドロックが発生する可能性がある。このデ
ッドロックは、プログラムの構築の仕方によって回避す
ることができるが、その回避のために適用業務プログラ
ムのプログラマが留意すべき事項は、複雑である。この
ため、第3実施形態では、第2実施形態を拡張するもの
として、派生DBを用いつつもデッドロックの発生を回
避することができる仕組みを開示する。具体的には、ス
テップS79を派生トランザクションとは別のトランザ
クション(派生DB制御処理)として実行するものであ
る。
Third Embodiment In the derived characteristic management common process shown in FIG. 12, if step S79 is a process in a derived transaction, deadlock may occur. This deadlock can be avoided by the way the program is constructed, but the matters that the programmer of the application program should pay attention to in order to avoid the deadlock are complicated. For this reason, the third embodiment discloses, as an extension of the second embodiment, a mechanism that can avoid the occurrence of a deadlock while using a derived DB. Specifically, step S79 is executed as a transaction (derived DB control processing) different from the derived transaction.

【0187】図24は、本実施形態の構成を示すブロッ
ク図である。図24に示すオンラインシステムは、AT
M等の端末1A及び営業店端末1Bからネットワークを
介して入力される業務処理要求を受信すると共に、コン
ソール端末2Aから入力される業務処理要求(コマン
ド)を受信する受信手段2と、この受信手段2にて受信
した業務処理要求をオンライントランザクションとして
処理する演算手段4と、この演算手段4による業務処理
要求の結果を記録するファイル6とを備えている。
FIG. 24 is a block diagram showing the configuration of the present embodiment. The online system shown in FIG.
Receiving means 2 for receiving a business processing request input from the terminal 1A such as the M and the branch office terminal 1B via the network, and receiving a business processing request (command) input from the console terminal 2A; 2 comprises a computing means 4 for processing the business processing request received at 2 as an online transaction, and a file 6 for recording the result of the business processing request by the calculating means 4.

【0188】そして、ファイル6は、前記オンライント
ランザクション又は所定の派生トランザクションである
派生起動トランザクションの実行の一部として起動され
る派生トランザクションの派生起動情報を派生管理通番
毎に記録すると共に当該派生管理通番が使用中であるか
否かを示す使用中フラグを有する派生管理DB70と、
この派生管理DB68での派生管理通番を前記トランザ
クションのJOB番号を単位とした複数の派生管理通番
から使用可の派生管理通番を特定すると共に前記派生管
理通番が使用中であるか否かを示す派生インデックスビ
ットを前記JOB番号毎に複数有する派生インデックス
DB68とを備えている。この派生インデックスDB及
び派生管理DB70の構成及び役割については、上記第
2実施形態と同様である。従って、好ましい例ではJO
B番号からインデックス・ビットマップを特定し、この
インデックス・ビットマップを参照して使用可の派生管
理通番(派生インデックスビットのビット位置)を特定
する。
The file 6 records, for each of the derivation management serial numbers, the derivation start information of the online transaction or a derivation transaction started as a part of the execution of the derivation start transaction which is a predetermined derivation transaction. A derivation management DB 70 having an in-use flag indicating whether or not is in use;
The derivation management serial number in the derivation management DB 68 specifies a usable derivation management serial number from a plurality of derivation management serial numbers in units of the JOB number of the transaction, and a derivation indicating whether or not the derivation management serial number is in use. And a derived index DB 68 having a plurality of index bits for each JOB number. The configurations and roles of the derived index DB and the derived management DB 70 are the same as in the second embodiment. Therefore, in a preferred example, JO
An index bitmap is specified from the B number, and a usable derivation management serial number (bit position of a derived index bit) is specified with reference to the index bitmap.

【0189】図24に示す例では、演算手段4が、前記
オンライントランザクション又は派生トランザクション
の種類を特定するオペコードに応じて当該トランザクシ
ョンを構成するプログラムの実行を管理する業務メイン
処理部100と、この業務メイン処理部100によって
呼び出されたプログラムを実行する業務処理部110と
を備えている。ここでは、演算手段4の構成を、実際の
プログラムの配分に従って、各プログラムをトランザク
ションとして管理する業務メイン処理部100と、実際
にプログラムを実行する業務処理部110とに機能分け
をする。
In the example shown in FIG. 24, the operation means 4 comprises a business main processing unit 100 for managing the execution of a program constituting the transaction in accordance with an operation code for specifying the type of the online transaction or the derived transaction, A job processing unit 110 for executing a program called by the main processing unit 100; Here, the configuration of the arithmetic unit 4 is divided into a function of a business main processing unit 100 that manages each program as a transaction and a business processing unit 110 that actually executes the program, according to the actual program distribution.

【0190】演算手段4では、IMS上でFP及びSA
ILが各種のサービスを提供しているとする。図24に
示すメッセージ入力手段8(例えば、SAILの入力イ
ンタフェース)は、業務処理要求(入力メッセージ)を
受信すると、入力メッセージ上の業務識別コード、媒体
タイプ、入力編集番号をもとに入力編集定義テーブルを
特定する。本実施形態では、業務識別コードと入力編集
番号とはオペコードから変換する。入力インタフェース
は、入力編集定義テーブルに従って、メッセージ上のデ
ータを指定された編集を行い、編集後のデータを指定さ
れたFIFOのフィールドへセットする。この編集の完
了後、SAILは業務識別コードに対応した適用業務プ
ログラムを呼び出す。本実施形態では、全業務に共通の
業務メインと呼ばれるプログラムを呼び出す。
In the calculating means 4, the FP and the SA on the IMS
It is assumed that the IL provides various services. Upon receiving a business process request (input message), the message input means 8 (for example, a SAIL input interface) shown in FIG. Identify the table. In the present embodiment, the operation identification code and the input edit number are converted from the operation code. The input interface performs the specified editing of the data on the message according to the input editing definition table, and sets the edited data in the specified FIFO field. After completing the editing, SAIL calls the application program corresponding to the job identification code. In the present embodiment, a program called a task main common to all tasks is called.

【0191】業務メイン処理部100は、図25に示す
ように、業務メインの(1)開始処理を実行する。そし
て、例えば図13に示すようなオペコードテーブルに基
づいて適用業務プログラムを特定し、呼び出す。図25
に示す例では、業務メインは、派生起動トランザクショ
ンの一部となる派生起動APPLを呼び出す。すると、
業務処理部110は、この派生起動APPLを実行す
る。この実行中に、業務処理部110は、派生起動要求
依頼(マクロを用いる場合には、派生要求マクロ)を業
務メインに入力する。
As shown in FIG. 25, the business main processing section 100 executes a business main (1) start process. Then, for example, the application program is specified and called based on the operation code table as shown in FIG. FIG.
In the example shown in (1), the business main calls a derived activation APPL that is a part of the derived activation transaction. Then
The task processing unit 110 executes the derived activation APPL. During this execution, the business processing unit 110 inputs a derivation start request request (when using a macro, a derivation request macro) to the business main.

【0192】業務メインは、派生起動要求依頼を受信し
た場合には、派生要求共通処理を呼び出す。すなわち、
業務メイン処理部100は、派生起動トランザクション
の実行によって派生起動要求依頼を受信した場合には派
生要求共通処理を当該派生起動トランザクションの一部
として実行する派生要求共通処理呼び出し機能102を
備えている。派生要求共通処理は、例えば図11に示す
処理である。業務処理部110は、この派生要求共通処
理を実行する派生要求共通処理機能112を備える。派
生要求共通処理機能112は、例えば、CPUが、図2
5に示す派生要求共通処理指令112Aを実行すること
で実現する。
When the business main receives the derived activation request request, it calls the derived request common processing. That is,
The business main processing unit 100 includes a derivation request common process calling function 102 that executes a derivation request common process as a part of the derivation startup transaction when a derivation startup request request is received by executing the derivation startup transaction. The derivation request common process is, for example, the process illustrated in FIG. The business processing unit 110 includes a derivation request common processing function 112 that executes the derivation request common processing. The derivation request common processing function 112 may be implemented, for example, by the CPU shown in FIG.
This is realized by executing the derivation request common processing command 112A shown in FIG.

【0193】派生要求共通処理機能112は、図25に
示すように、派生要求共通処理が呼び出されて処理を開
始すると(1)、当該派生起動APPL111Aがスケ
ジュールされているリージョンでの当該トランザクショ
ンのJOB番号を特定し(2)、前記派生インデックス
DBを参照する(3)。この参照により、前記派生管理
DBの派生管理通番を特定して派生インデックスビット
をON(使用中)にする(4)。そして、ビット位置か
ら派生管理通番を算出し、これを当該リージョン内のF
IFOにセットする(6)。そして、派生インデックス
DB68の残り個数及び派生件数を更新する(7)。さ
らに、派生管理通番のセグメントに派生起動情報を格納
し、使用中フラグを使用中に更新する(8)。そして、
派生要求共通処理は、システム状況DB83に格納され
た派生中止ビットを参照し、派生中止ビットがOFFで
あればSAIL(OSの一部)に派生起動要求(派生要
求マクロ)を入力する(9)。その後、業務メインに戻
る(10)。派生中止ビットがONであれば、派生要求
マクロを入力せず、派生起動トランザクションをコミッ
トさせる。
As shown in FIG. 25, when the derivation request common processing function 112 is called to start processing (1), the derivation request common processing function 112 executes the JOB of the transaction in the region where the derivation activation APPL 111A is scheduled. The number is specified (2), and the derived index DB is referred to (3). With this reference, the derivative management serial number of the derivative management DB is specified, and the derivative index bit is turned ON (in use) (4). Then, a derived management serial number is calculated from the bit position, and this is
Set to IFO (6). Then, the remaining number and the number of derived items in the derived index DB 68 are updated (7). Further, the derivative activation information is stored in the segment of the derivative management serial number, and the busy flag is updated to busy (8). And
The derivation request common process refers to the derivation stop bit stored in the system status DB 83, and if the derivation stop bit is OFF, inputs a derivation start request (derivation request macro) to SAIL (part of OS) (9). . Thereafter, the process returns to the business main (10). If the derivation stop bit is ON, the derivation start macro is committed without inputting the derivation request macro.

【0194】派生要求マクロが出力されると、SAIL
の連動インタフェースは、起動業務識別コード・プログ
ラムで指定した受動業務識別コード・編集番号から、派
生編集定義テーブルを特定する。本実施形態では、受動
業務識別コードと派生編集番号は派生受動処理(派生ト
ランザクション)のオペコードから変換する。連動イン
タフェースは、派生編集定義テーブルに従って、指定さ
れた派生起動業務側FIFO上のデータを、指定された
編集を行って派生メッセージへセットする。連動インタ
フェースは、派生メッセージを受信すると、入力メッセ
ージ上の起動業務識別コード・受動業務識別コード・派
生編集番号をもとに派生編集定義テーブルを特定する。
連動インタフェースは、派生編集定義テーブルに従っ
て、派生メッセージ上のデータを、指定された編集を行
った後指定されたFIFOのフィールドへセットする。
この編集完了後、SAILは業務メインを呼び出す。こ
れにより、派生トランザクションの処理が開始される。
呼び出された業務メインは、図25に示す例では、派生
特性管理共通処理指令104Aを実行する。
When the derivation request macro is output, SAIL
The interworking interface specifies a derived edit definition table from the passive business identification code / edit number specified by the startup business identification code / program. In the present embodiment, the passive work identification code and the derived edit number are converted from the operation code of the derived passive process (derived transaction). The interlocking interface performs the specified editing and sets the derived message on the derived starting business side FIFO in the derived message according to the derived editing definition table. Upon receiving the derived message, the interlocking interface specifies the derived editing definition table based on the starting business identification code, the passive business identification code, and the derived editing number on the input message.
The linking interface sets the data on the derived message to the specified FIFO field after performing the specified editing according to the derived editing definition table.
After this editing is completed, SAIL calls the business main. As a result, the processing of the derived transaction is started.
In the example shown in FIG. 25, the called business main executes the derived characteristic management common processing command 104A.

【0195】図25に示す本実施形態では、「派生特性
管理共通処理104A」は、例えば図12に示す処理の
うち、派生インデックスビットを使用可に更新する処理
を除いた部分である。図24及び図25に示す例では、
業務メイン処理部100が派生特性管理共通処理104
Aを実行する派生特性管理共通処理機能104を備え
る。
In the present embodiment shown in FIG. 25, the “derivative characteristic management common process 104A” is, for example, a portion of the process shown in FIG. 12 except for the process of updating the derived index bit to be usable. In the examples shown in FIGS. 24 and 25,
The business main processing unit 100 performs the derived characteristic management common processing 104
A derived characteristic management common processing function 104 for executing A is provided.

【0196】派生特性管理共通処理機能104は、図2
5に示すように、派生特性管理共通処理104Aを開始
すると(1)、まず、派生管理通番をキー値として派生
管理DBの読み込みを試みることで(2)、派生起動ト
ランザクションとの直列性を保つ。派生管理情報の読み
込みに成功すると、使用中フラグをチェックする。使用
中フラグがOFFであれば、派生起動トランザクション
がアボートされたとして、派生受動APPLを呼び出さ
ずに業務メインを終了する(4)。一方、この派生管理
通番の使用中フラグが使用中である場合には、当該派生
トランザクションのオペコードに応じた派生受動業務プ
ログラムを呼び出して実行させる(4)。
The derived characteristic management common processing function 104 is shown in FIG.
As shown in FIG. 5, when the derivation characteristic management common processing 104A is started (1), first, the derivation management DB is read using the derivation management serial number as a key value (2) to maintain seriality with the derivation start transaction. . If the derivation management information is successfully read, the in-use flag is checked. If the in-use flag is OFF, it is determined that the derived activation transaction has been aborted, and the business main is terminated without calling the derived passive APPL (4). On the other hand, if the in-use flag of the derived management serial number is being used, the derived passive business program corresponding to the operation code of the derived transaction is called and executed (4).

【0197】業務処理部110は、派生受動APPLを
実行し、終了すると、業務メインに処理を戻す。派生特
性管理共通処理は、派生受動APPLが終了した後に、
前記派生管理DBの使用中フラグをオフに更新して
(6)、さらに所定の派生DB制御処理を派生トランザ
クションとして起動させる(7)。SAILは、派生ト
ランザクションのFIFOを参照して所定の編集定義に
基づいて派生メッセージを出力する。派生メッセージが
スケジュールされると、派生DB制御処理が実行され
る。
The business processing unit 110 executes the derived passive APPL, and upon completion, returns the processing to the business main. Derived characteristic management common processing is that after the derived passive APPL is completed,
The in-use flag of the derivation management DB is updated to off (6), and a predetermined derivation DB control process is started as a derivation transaction (7). SAIL outputs a derived message based on a predetermined edit definition with reference to the FIFO of the derived transaction. When a derived message is scheduled, a derived DB control process is executed.

【0198】前記業務処理部110は、派生インデック
スビットを使用可へと更新する派生DB制御処理を派生
トランザクションとはさらに別のトランザクションとし
て実行する派生DB制御処理機能114を備えている。
派生DB制御処理機能114は、CPUが派生DB制御
処理指令114Aを実行することで実現する。派生DB
制御処理114Aでは、まず、派生管理通番から派生イ
ンデックスDB68のインデックス領域番号とビット位
置とを算出する(2)。そして、算出したインデックス
領域番号をキー値として派生インデックスDB68のイ
ンデックス・ビットマップを読み込む(3)。続いて、
派生管理通番をキー値として派生管理DB70を読み込
む(4)。この派生管理DBの読み込みにより、派生特
性管理共通処理112Aとの直列性が維持される。そし
て、派生管理DBの使用中フラグがOFFであるか否か
を確認し、OFFの場合に派生インデックスビットをO
FF(使用可)にして派生インデックスDBを更新す
る。
The business processing unit 110 has a derived DB control processing function 114 for executing a derived DB control process for updating a derived index bit to usable as a separate transaction from a derived transaction.
The derived DB control processing function 114 is realized when the CPU executes the derived DB control processing command 114A. Derived DB
In the control processing 114A, first, the index area number and the bit position of the derived index DB 68 are calculated from the derived management serial number (2). Then, the index bitmap of the derived index DB 68 is read using the calculated index area number as a key value (3). continue,
The derivation management DB 70 is read using the derivation management serial number as a key value (4). By reading the derivation management DB, the seriality with the derivation characteristic management common process 112A is maintained. Then, it is determined whether or not the in-use flag of the derivation management DB is OFF.
The derived index DB is updated to FF (usable).

【0199】図26は、派生トランザクションの一部と
して、派生トランザクションの完了時に派生インデック
スDBの派生インデックスビットをOFFとした場合
に、生じる可能性があるデッドロックの一例を示す説明
図である。すなわち、派生インデックスDB68を用い
て派生管理通番を特定する派生DB制御処理を派生トラ
ンザクションと別のトランザクションとしない場合に生
じる可能性のあるデッドロックの態様の一例を示す図で
ある。
FIG. 26 is an explanatory diagram showing an example of a deadlock that may occur when the derived index bit of the derived index DB is turned off when the derived transaction is completed as a part of the derived transaction. That is, it is a diagram illustrating an example of a deadlock state that may occur when the derived DB control processing for specifying the derived management serial number using the derived index DB 68 is not a separate transaction from the derived transaction.

【0200】デッドロックは、2つのトランザクション
が相互に相手方の処理の完了を待機する場合に生じる。
例えば、トランザクションT1がDBxを読み込み、こ
れをロックした後、次に派生インデックスDB68を読
み込もうとする。一方、トランザクションT2が派生イ
ンデックスDB68を読み込み、これをロックした後、
次にDBxを読み込もうとしたとする。トランザクショ
ンT1が派生インデックスDB68を読み込もうとした
ときに、この派生インデックスDB68がトランザクシ
ョンT2によってロックされている場合に、トランザク
ションT1とT2はデッドロックとなる。
A deadlock occurs when two transactions wait for each other to complete processing.
For example, the transaction T1 reads DBx, locks it, and then tries to read the derived index DB68. On the other hand, after the transaction T2 reads the derived index DB 68 and locks it,
Next, it is assumed that DBx is to be read. When the transaction T1 attempts to read the derived index DB 68 and the derived index DB 68 is locked by the transaction T2, the transactions T1 and T2 are deadlocked.

【0201】図26に示す例では、まず、JOBFP0
00から派生起動要求が出力され、この派生トランザク
ションT2はJOBFP001にスケジュールされた。
トランザクションT2では、別のオペコードに連動する
が、連動先ではあるDBxをキーyで読み込む。トラン
ザクションT2は連動処理が完了してから、派生トラン
ザクションの後処理(派生特性管理共通処理)として、
派生管理DBの使用中フラグをOFFとし、派生インデ
ックスDBの派生インデックスビットをOFFとする。
このとき、派生インデックスDBのキー値は、インデッ
クス領域番号であるから、トランザクション1のJOB
番号である0がキー値となる。派生管理DBのキー値
(派生管理通番)は、ここでは1とする。
In the example shown in FIG. 26, first, JOBFP0
00, a derived activation request is output, and the derived transaction T2 has been scheduled to JOBFP001.
In the transaction T2, although linked with another operation code, the linked DBx is read with the key y. After the interlocking process is completed, the transaction T2 is executed as a post-process of the derived transaction (derivative characteristic management common process).
The in-use flag of the derivation management DB is turned off, and the derivation index bit of the derivation index DB is turned off.
At this time, since the key value of the derived index DB is the index area number,
The number 0 is the key value. The key value (derivation management serial number) of the derivation management DB is set to 1 here.

【0202】トランザクションT2の処理中に、トラン
ザクションT3がJOBFP000でスケジュールされ
た。トランザクションT3では、別オペコードに連動す
るが、連動先では派生トランザクションを起動するた
め、派生インデックスDBをキー値を0として読み、派
生管理DBの派生管理通番1のセグメントに派生起動情
報を格納する。トランザクションT3では、連動処理が
完了してから、DBxを読み込む。
During the processing of transaction T2, transaction T3 was scheduled in JOBFP000. In the transaction T3, the operation is linked to another operation code. However, in order to start the derived transaction at the link destination, the derived index DB is read with the key value being 0, and the derived start information is stored in the segment of the derived management serial number 1 in the derived management DB. In transaction T3, DBx is read after the interlocking process is completed.

【0203】さて、トランザクションT2では、DBx
を読み取った後、派生インデックスDBをキー値0とし
て読み取ろうとする。トランザクション3では、派生イ
ンデックスDBを読み取った後、DBxを読みに行く。
このため、トランザクションT2にて連動受動処理がD
Bxを読み込んでロックした後、派生インデックスDB
を読み取る前のタイミングで、トランザクションT3が
派生インデックスDBを読み取ると、デッドロックとな
る。また、トランザクションT3が派生インデックスD
Bを読み取った後、連動処理が完了してDBxを読み取
る前のタイミングで、トランザクションT2がDBxを
読み取ると、デッドロックが生じる。
Now, in transaction T2, DBx
After that, an attempt is made to read the derived index DB as the key value 0. In transaction 3, after reading the derived index DB, go to DBx.
For this reason, the interlocked passive processing is
After reading and locking Bx, derived index DB
If the transaction T3 reads the derived index DB at a timing before the data is read, a deadlock occurs. Transaction T3 is derived index D
After reading B, if the transaction T2 reads DBx at the timing before the interlocking process is completed and before reading DBx, deadlock occurs.

【0204】デッドロックの発生を完全に防止する手法
は、並列処理を行わないことであるが、これは採用でき
ない。ロックに関しては、並列処理の直列化を維持する
ために、あるトランザクションは、ロックを取得するフ
ェーズと、ロックを解放するフェーズとの2相ロッキン
グプロトコルに従う必要がある。従って、一度ロックを
解放すると、そのトランザクションはロックを取得して
はならない。この2相ロッキングプロトコルの要件によ
ると、デッドロックが生じた場合には一方のトランザク
ションをアボートしなければならない。
A method for completely preventing the occurrence of a deadlock is to perform no parallel processing, but this cannot be adopted. With respect to locks, in order to maintain serialization of parallelism, some transactions must follow a two-phase locking protocol: a phase to acquire a lock and a phase to release a lock. Therefore, once a lock is released, the transaction must not acquire the lock. According to the requirements of this two-phase locking protocol, one transaction must be aborted if a deadlock occurs.

【0205】デッドロックを回避しつつ、並列性も維持
する方法は、トランザクションのロックの順序を調整す
ることである。例えば、全てのトランザクションが同一
の順序でロックを要求すれば、デッドロックを回避する
ことができる。しかし、これはプログラマにとって厳し
い制限となる。また、トランザクションが使用する全て
のロックをその開始時に取得してから、実際の処理を行
うことによっても、デッドロックの発生を回避すること
ができるが、この場合、限りなく直列処理に近くなり、
並列処理の利点が減少する。
A method of maintaining the parallelism while avoiding the deadlock is to adjust the lock order of the transactions. For example, if all transactions request locks in the same order, deadlock can be avoided. However, this is a severe limitation for programmers. Also, by acquiring all locks used by the transaction at the start of the transaction and then performing the actual processing, it is possible to avoid the occurrence of deadlock, but in this case, it becomes as close as possible to serial processing,
The benefits of parallel processing are reduced.

【0206】これらの標準的な手法でデッドロックを回
避するためには、「派生トランザクションを起動する可
能性がある連動受動処理に連動する前に、連動後に読む
DBを連動前に読んでおく」必要がある。これにより、
実行順序が同一となる。全ての連動起動処理がこの条件
を満たすのであれば、図26に示すデッドロックの発生
を回避することができる。しかしながら、連動起動業務
の開発者が、このDBの読み込み順序を守るよう意識す
るのは、負担が大きく、困難である。
In order to avoid deadlock by using these standard techniques, "before linking to a linked passive process that may start a derived transaction, read the DB read after linking before linking" There is a need. This allows
The execution order is the same. If all the linked activation processes satisfy this condition, the occurrence of the deadlock shown in FIG. 26 can be avoided. However, it is difficult for the developer of the linked startup task to be conscious of observing the reading order of the DB because the burden is large.

【0207】このため、第3実施形態では、派生DB制
御処理として、派生インデックスDBの派生インデック
スビットをOFFにする処理を別トランザクションとし
ている。このため、派生特性管理共通処理では、派生イ
ンデックスDBの派生インデックスビットの更新を行わ
ない。従って、1つのトランザクション内でDBxのロ
ックと派生インデックスDBのロックとを行うことがな
くなる。派生DB制御処理は、派生DB(派生管理DB
と派生インデックスDB)以外のDBを読み込まないた
め、デッドロックは生じない。
For this reason, in the third embodiment, as the derived DB control processing, the processing of turning off the derived index bit of the derived index DB is a separate transaction. Therefore, in the derived characteristic management common processing, the derived index bit of the derived index DB is not updated. Therefore, it is not necessary to lock the DBx and the derived index DB within one transaction. The derived DB control process is performed in a derived DB (derived management DB).
No deadlock occurs because the database other than the index DB and the derived index DB) is not read.

【0208】再度図25を参照して、本実施形態での派
生トランザクション管理方法を説明する。派生トランザ
クション管理方法は、派生起動トランザクション(派生
起動APPL111A)を実行すると共に、当該派生起
動トランザクションによって起動要求依頼される派生ト
ランザクション(派生受動APPL113A)のコミッ
トを待機せずに当該派生起動トランザクションをコミッ
トさせる派生起動トランザクション管理工程(100
A,112A)と、派生起動APPL111Aによって
起動要求依頼された派生トランザクションを管理する派
生トランザクション管理工程(派生特性管理共通処理1
04A)と、この派生トランザクション管理工程にて派
生トランザクションとして起動される派生DB管理工程
(派生DB制御処理114A)とを備えている。
Referring to FIG. 25 again, the derived transaction management method in the present embodiment will be described. The derived transaction management method executes the derived start transaction (derived start APPL 111A) and commits the derived start transaction without waiting for the commit of the derived transaction (derived passive APPL 113A) requested to be started by the derived start transaction. Derived startup transaction management process (100
A, 112A) and a derived transaction management process (derived characteristic management common process 1) for managing a derived transaction requested to be activated by the derived activation APPL 111A.
04A) and a derived DB management process (derived DB control process 114A) started as a derived transaction in the derived transaction management process.

【0209】前記派生起動トランザクション管理工程
は、当該派生起動トランザクションの一部として、当該
派生起動トランザクションのJOB番号に応じて前記派
生インデックスDBを参照し、前記派生管理DBの派生
管理通番を特定し、当該派生管理通番のセグメントに派
生起動情報を格納し、当該使用した派生管理通番に対応
する前記インデックスビット及び使用中フラグをそれぞ
れ使用中に更新して、当該派生トランザクションを起動
させる派生要求共通処理工程(派生要求共通処理112
A)を備えている。
[0209] The derivative activation transaction management step refers to the derivative index DB according to the JOB number of the derivative activation transaction as a part of the derivative activation transaction, and specifies the derivative management serial number of the derivative management DB. Derivation request common processing step of storing the derivation start information in the segment of the derivation management serial number, updating the index bit and the busy flag corresponding to the used derivation management serial number to "in use", and starting the derivation transaction (Derived request common processing 112
A) is provided.

【0210】そして、派生トランザクション管理工程
は、前記派生トランザクションの一部として、派生要求
共通処理工程112Aにて派生トランザクションが起動
されスケジュールされた場合に、当該派生トランザクシ
ョンに与えられた派生管理通番をキー値として派生管理
DBを読み込み、当該派生管理通番の使用中フラグが使
用中である場合には当該派生トランザクションのオペコ
ードに応じた派生受動業務プログラムを実行させ、この
派生受動業務プログラムが終了した後に前記派生管理D
Bの使用中フラグをオフに更新して、さらに所定の派生
DB制御処理を派生トランザクションとして起動させる
派生特性管理共通処理工程(派生特性管理共通処理指令
104A)を備えている。この派生特性管理共通処理工
程にて、インデックス・ビットマップの更新を行わない
ため、図26に示すデッドロックが生じない。
When the derived transaction is activated and scheduled in the derived request common processing step 112A as a part of the derived transaction, the derived transaction management step uses the derived management serial number given to the derived transaction as a key. The derived management DB is read as a value, and if the in-use flag of the derived management serial number is in use, the derived passive business program corresponding to the operation code of the derived transaction is executed. Derivation management D
It further includes a derived characteristic management common processing step (derived characteristic management common processing command 104A) for updating the in-use flag of B to off and starting a predetermined derived DB control processing as a derived transaction. Since the index / bitmap is not updated in the derived characteristic management common processing step, the deadlock shown in FIG. 26 does not occur.

【0211】そして、派生DB管理工程は、前記派生D
B制御処理がスケジュールされた場合に、前記派生受動
業務プログラムを含む派生トランザクションを再起動す
るための派生起動情報が格納された派生管理DBの派生
管理通番に対応する前記派生インデックスDBの前記派
生インデックスビットを使用可に更新する派生DB制御
処理工程(派生DB制御処理指令114A)を備える。
派生DB制御処理工程では、1つのとして、インデック
ス・ビットマップの更新のみを行うため、他のトランザ
クションのロックの待機を行うことはあっても、デッド
ロックを生じることはない。また、派生DB制御処理に
よる派生DB制御トランザクションは、図25に示す例
では、派生特性管理共通処理104Aによって指定され
た派生管理通番にて派生管理DB70を読み取るため、
派生特性管理共通処理104Aとの直列性を有する。す
なわち、派生特性管理共通処理が正常にコミットした後
に、インデックス・ビットマップを更新する。従って、
並列処理によってシステム的な一貫性が失われることは
ない。
Then, the derived DB management step is performed in the aforementioned derived D
When the B control process is scheduled, the derived index of the derived index DB corresponding to the derived management serial number of the derived management DB in which the derived startup information for restarting the derived transaction including the derived passive business program is stored. A derived DB control processing step (derived DB control processing command 114A) for updating bits to be usable is provided.
In the derived DB control process, as one of them, only the update of the index / bitmap is performed, so that the lock of another transaction may be waited, but no deadlock occurs. In the example shown in FIG. 25, the derived DB control transaction by the derived DB control process reads the derived management DB 70 with the derived management serial number designated by the derived characteristic management common process 104A.
It has seriality with the derived characteristic management common processing 104A. In other words, the index / bitmap is updated after the derived characteristic management common process has successfully committed. Therefore,
Parallel processing does not result in loss of system consistency.

【0212】また、図24に示すように、第3実施形態
においても総量制御部14の各構成を備えるようにして
も良い。第3実施形態では、システム負荷が大きい場合
には、派生DB制御処理の起動を中止し、滞留の解消後
に一括して派生インデックスビットをオフにする処理を
行うようにしても良い。
Further, as shown in FIG. 24, each component of the total amount control section 14 may be provided in the third embodiment. In the third embodiment, when the system load is large, the activation of the derived DB control process may be stopped, and the process of turning off the derived index bits collectively after the elimination of the stay may be performed.

【0213】第3実施形態では、アボートされた派生ト
ランザクションの再起動は、第2実施形態と同様であ
る。業務メイン100A,派生起動APPLがアボート
した場合には、使用中フラグ,派生インデックスビット
共に使用可のままであり、派生トランザクションの起動
要求もなされない。派生要求共通処理112Aにて派生
DB68,70の更新後、派生起動要求の出力前にアボ
ートされた場合には、使用中フラグ及び派生インデック
スビットは更新されるものの、ロールバックによってこ
の更新がなかったものとなる。そして、派生トランザク
ションもスケジュールされない。
In the third embodiment, the restart of the aborted derived transaction is the same as in the second embodiment. When the business main 100A and the derivation start APPL are aborted, both the in-use flag and the derivation index bit remain usable, and no derivation start request is made. When the abort is performed before the output of the derivation start request after the update of the derivation DBs 68 and 70 in the derivation request common process 112A, the in-use flag and the derivation index bit are updated, but the update is not performed by the rollback. It will be. And no derived transactions are scheduled.

【0214】派生起動要求の出力後に派生要求共通処理
112Aや、業務メイン100Aや、派生起動APPL
111Aが連動受動業務の場合で連動戻り後の連動起動
業務の処理がアボートした場合にも、ロールバックによ
って派生要求共通処理のDBへの更新が無かったものと
なる。しかし、派生メッセージはスケジュールされてい
る可能性がある。この場合、派生特性管理共通処理10
4A(3)にて使用中フラグをチェックする。使用中フ
ラグを読み込めた時には派生起動トランザクションはア
ボートしている。このため、ロールバックによって更新
されない状態の使用中フラグを読み取ることとなる。従
って、派生特性管理共通処理104A(3)では、使用
中フラグが「使用可」であるため、派生受動APPLを
呼び出さずに処理を終了する。この場合、派生起動トラ
ンザクションも派生トランザクションも無かったことと
なる。
After the derivation start request is output, the derivation request common processing 112A, the business main 100A, and the derivation start APPL
Even when 111A is a linked passive task and the process of the linked startup task after the linked return is aborted, there is no update of the derived request common processing to the DB due to rollback. However, derived messages may be scheduled. In this case, the derived characteristic management common processing 10
At 4A (3), the busy flag is checked. When the busy flag can be read, the derived start transaction is aborted. Therefore, the in-use flag that is not updated by the rollback is read. Therefore, in the derived characteristic management common process 104A (3), the in-use flag is “usable”, and thus the process is terminated without calling the derived passive APPL. In this case, there is no derived start transaction or derived transaction.

【0215】派生起動トランザクションがコミットする
と、使用中フラグが「使用中」の状態で派生管理DBに
耐久性を持って記録される。派生特性管理共通処理10
4Aの(1)から(5)までと、派生受動APPLのア
ボートの場合、派生管理DBの使用中フラグは使用中の
ままであり、派生インデックスDBも使用中のままであ
る。派生受動APPLが完了後、派生特性管理共通処理
が使用中フラグをオフにした後にアボートした場合や、
さらに派生トランザクションを起動するための派生要求
共通処理112A等の処理中にアボートした場合には、
ロールバックによって派生特性管理共通処理の更新が無
かったものとなる。従って、使用中フラグは使用中
(1)のままである。
When the derivation start transaction commits, it is recorded in the derivation management DB with durability while the in-use flag is “in use”. Derived characteristic management common processing 10
In the case of 4A (1) to (5) and the abort of the derived passive APPL, the in-use flag of the derivation management DB remains in use, and the derivation index DB remains in use. After the derived passive APPL is completed, the derived characteristic management common process aborts after turning off the busy flag,
Further, when aborted during processing such as the derivation request common processing 112A for starting a derived transaction,
There is no update of the derived characteristic management common process by rollback. Therefore, the in-use flag remains in use (1).

【0216】派生特性管理共通処理がコミットした後、
派生DB制御処理がアボートしたとする。この場合、使
用中フラグはオフとなっている。しかし、派生インデッ
クスDBの派生インデックスビットはONのままであ
る。このように、(1).派生起動トランザクションの
アボートの場合には、派生トランザクションは起動しな
い。(2).派生トランザクションがコミットしたが、
派生受動APPL113Aや派生特性管理共通処理10
4Aがアボートした場合には、使用中フラグ及び派生イ
ンデックスビットが共に使用中のままである。(3).
派生トランザクションもコミットしたが、派生DB制御
処理114Aがアボートした場合には、使用中フラグが
使用可で、派生インデックスビットがONの状態であ
る。
After the derived characteristic management common processing commits,
It is assumed that the derived DB control processing has been aborted. In this case, the in-use flag is off. However, the derived index bit of the derived index DB remains ON. Thus, (1). In the case of aborted derived transaction, the derived transaction is not started. (2). The derived transaction has committed,
Derived passive APPL 113A and derived characteristic management common processing 10
If 4A aborts, both the busy flag and the derived index bit remain busy. (3).
When the derived transaction is committed but the derived DB control processing 114A is aborted, the in-use flag is available and the derived index bit is ON.

【0217】派生トランザクションの再起動が必要とな
るのは、(2).の場合である。従って、使用中フラグ
がONで、起動と一定時間が経過している処理を探索す
ることで、再起動の要否を判定すべき派生トランザクシ
ョンを特定することができる。(3).の派生DB制御
処理114Aのアボートの場合には、派生受動APPL
及び派生特性管理共通処理104Aは正常にコミットし
ているため、派生トランザクションを再起動する必要は
ない。
It is necessary to restart the derived transaction as described in (2). Is the case. Therefore, by searching for a process in which the in-use flag is ON and a predetermined time has elapsed since the start, it is possible to specify a derivative transaction for which the necessity of restart is to be determined. (3). In the case of the abort of the derived DB control processing 114A, the derived passive APPL
Since the derived characteristic management common process 104A has committed normally, there is no need to restart the derived transaction.

【0218】上述したように本実施形態によると、派生
と連動とが複雑に絡み合った状態で生じるデッドロック
を派生DB制御処理によって回避することができるた
め、開発者がプログラム作成上の調整を行う必要がなく
なる。
As described above, according to the present embodiment, it is possible to avoid a deadlock that occurs in a state where derivation and interlocking are intertwined in a complicated manner by the derivation DB control processing. Eliminates the need.

【0219】[0219]

【発明の効果】本発明は、その構成によって、オンライ
ン応答が必要なオンライントランザクションと、オンラ
イントランザクション等に付随した処理を実行する派生
トランザクションとに区分けされて実行される。このた
め、オンライン応答に必要な処理をオンライントランザ
クションとして処理し、オンライン応答に必要のない付
随処理を派生トランザクションとして処理する。従っ
て、オンライントランザクションを早期にコミットさせ
ることができる。これにより、すなわち、オンラインの
応答性を確保しつつ、付随的な業務のみを事後的に派生
トランザクションとして処理することができる。従っ
て、従来バッチ処理で行っていたような処理について派
生トランザクションを利用してオンライントランザクシ
ョンと並行した処理が可能となる。このように、本発明
によると、派生トランザクションモデルを用いること
で、従来バッチ処理等で実現していた処理や、1つのト
ランザクションとしては処理量が多くなる処理を実行し
つつ、オンラインの応答性を確保することができる、と
いうオンライントランザクション制御システムを実現す
ることができる。総量制御部を備えた本発明では、実行
中のトランザクション数がシステムの能力との関係で多
くなった場合には、即時のオンライン応答が必要ない派
生トランザクションの起動を制限し、システム負荷を軽
減するため、オンライントランザクションの処理を優先
し、派生トランザクションの実行は時間的に平準化する
ことができ、これによっても、オンラインの応答性を常
に確保しつつ、複雑な処理を実現することができる。
According to the present invention, the present invention is divided into an online transaction which requires an online response and a derivative transaction which executes processing accompanying the online transaction. Therefore, processing necessary for an online response is processed as an online transaction, and associated processing not required for an online response is processed as a derived transaction. Therefore, the online transaction can be committed early. As a result, it is possible to process only ancillary business as a derived transaction afterwards while ensuring online responsiveness. Therefore, it is possible to perform a process parallel to the online transaction by using the derived transaction for the process that has been conventionally performed in the batch process. As described above, according to the present invention, by using the derived transaction model, online responsiveness can be improved while executing processing conventionally realized by batch processing or the like and processing that requires a large amount of processing as one transaction. It is possible to realize an online transaction control system that can secure the transaction. According to the present invention having the total amount control unit, when the number of transactions being executed becomes large in relation to the capacity of the system, activation of a derived transaction that does not require an immediate online response is limited, and the system load is reduced. Therefore, the priority is given to the processing of the online transaction, and the execution of the derived transaction can be leveled in time. As a result, complicated processing can be realized while always ensuring online responsiveness.

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

【図1】図1は本実施形態によるオンライントランザク
ション制御システムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an online transaction control system according to the present embodiment.

【図2】図2は、派生トランザクションの性質を説明す
る説明図であり、図2(A)は、派生起動トランザクシ
ョンから派生トランザクションの起動要求がなされる例
を示す図で、図2(B)は、派生起動トランザクション
が連動トランザクションである場合を示す図で、図2
(C)は、派生トランザクションが自らを派生トランザ
クションとして起動要求する例を示す図である。
FIG. 2 is an explanatory diagram for explaining the nature of a derived transaction. FIG. 2A is a diagram showing an example in which a derived transaction activation request is issued from a derived activation transaction, and FIG. FIG. 2 is a diagram showing a case where the derived activation transaction is a linked transaction, and FIG.
(C) is a diagram illustrating an example in which a derived transaction requests activation as a derived transaction.

【図3】図3は派生トランザクションの利用法に応じた
端末応答等を説明するための説明図であり、図3(A)
は、付随業務の場合を示す図で、図3(B)は取消再カ
ットメインの場合を示す図である。
FIG. 3 is an explanatory diagram for explaining a terminal response and the like according to a usage method of a derived transaction, and FIG.
FIG. 3B is a diagram showing the case of the incidental work, and FIG. 3B is a diagram showing the case of the cancel / recut main.

【図4】図4は、取消再カットメインの動作例を示す説
明図である。
FIG. 4 is an explanatory diagram showing an operation example of the cancellation / recut main;

【図5】図5は端末折り返し連続処理に派生トランザク
ションを用いた例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example in which a derived transaction is used in the terminal return continuous processing.

【図6】図6は、トランザクションの総量制御の一例を
示すフローチャートである。
FIG. 6 is a flowchart illustrating an example of total transaction control.

【図7】図7は、第2実施形態の構成を示すブロック図
である。
FIG. 7 is a block diagram illustrating a configuration of a second embodiment.

【図8】図8は、JOBと派生インデックスDB等との
関係を示す説明図である。
FIG. 8 is an explanatory diagram illustrating a relationship between a job and a derived index DB and the like.

【図9】図9は、派生DBのデータ項目を例示する説明
図であり、図9(A)は派生インデックスDBの項目例
を示す図で、図9(B)は派生管理DBの項目例を示す
図である。
FIG. 9 is an explanatory diagram illustrating data items of a derived DB; FIG. 9 (A) is a diagram showing an example of items of a derived index DB; FIG. 9 (B) is an example of items of a derived management DB; FIG.

【図10】図10は、JOB IDと、派生インデック
スDBのインデックス領域番号と、ビット位置と、派生
管理通番との関係を例示する説明図であり、図10
(A)はJOB ID000で実行されているトランザ
クションによって読み出される派生インデックスDBと
そのビット位置及び派生管理通番の関係を示す図で、図
10(B)はこの場合の派生管理DBの内容の例を示す
図で、図10(C)はJOB ID001で実行されて
いるトランザクションによって読み出される派生インデ
ックスDBとそのビット位置及び派生管理通番の関係を
示す図で、図10(D)はこの場合の派生管理DBの内
容例を示す図である。
FIG. 10 is an explanatory diagram exemplifying a relationship among a job ID, an index area number of a derived index DB, a bit position, and a derived management serial number;
FIG. 10A is a diagram showing a relationship between a derived index DB read by a transaction executed by JOB ID000, its bit position, and a derived management serial number, and FIG. FIG. 10C is a diagram showing the relationship between the derived index DB read by the transaction executed with JOB ID 001, its bit position and the derived management serial number, and FIG. 10D is the derived management in this case. It is a figure showing the example of contents of DB.

【図11】図11は、派生トランザクションの要求を管
理するための派生要求管理処理の一例を示すフローチャ
ートである。
FIG. 11 is a flowchart illustrating an example of a derived request management process for managing a derived transaction request.

【図12】図12は、派生トランザクションの特性を管
理するための派生特性管理処理の一例を示すフローチャ
ートである。
FIG. 12 is a flowchart illustrating an example of a derived characteristic management process for managing the characteristics of a derived transaction.

【図13】図13は、オペコードテーブルの一例を示す
図で、ここでは普通預金のオペコードテーブルを例示す
る。
FIG. 13 is a diagram showing an example of an operation code table. Here, an operation code table of an ordinary deposit is illustrated.

【図14】図14は、取消再カットメインでの処理例を
示す説明図であり、図14(A)は口座処理による電気
料引落(内部自振)の取消を行う例を示す図で、図14
(B)はその処理による残高の推移を示す図である。
FIG. 14 is an explanatory diagram showing an example of processing in cancellation re-cut main. FIG. 14 (A) is a diagram showing an example of canceling electricity charge withdrawal (internal self-generation) by account processing. FIG.
(B) is a diagram showing the transition of the balance by the processing.

【図15】図15は、図14に示した処理でのFIFO
推移及び派生メッセージの例を示す説明図である。
FIG. 15 is a diagram showing a FIFO in the process shown in FIG. 14;
It is explanatory drawing which shows the example of a transition and a derived message.

【図16】図16は、図15に続くFIFO等の推移を
示す説明図である。
FIG. 16 is an explanatory diagram showing transition of FIFO and the like following FIG. 15;

【図17】図17は、図14及び図15に示す例での派
生DBの利用例を示す説明図である。
FIG. 17 is an explanatory diagram showing an example of using a derived DB in the examples shown in FIGS. 14 and 15;

【図18】図18は、JOBを一般トランザクションと
派生トランザクションとに別々に割り当てる例を示す説
明図である。
FIG. 18 is an explanatory diagram illustrating an example in which a job is separately allocated to a general transaction and a derived transaction.

【図19】図19は、滞留監視処理の一例を示すフロー
チャートである。
FIG. 19 is a flowchart illustrating an example of a stay monitoring process.

【図20】図20は、派生トランザクションの実行を待
機させる総量制御処理の例を示す図表である。
FIG. 20 is a chart illustrating an example of a total amount control process for waiting for execution of a derived transaction;

【図21】図21は、アボートされた派生トランザクシ
ョンの再起動処理の一例を示すブロック図である。
FIG. 21 is a block diagram illustrating an example of a restart process of an aborted derived transaction;

【図22】図22は、派生トランザクションの再起動の
要否を判定する処理の一例を示すフローチャートであ
る。
FIG. 22 is a flowchart illustrating an example of a process of determining whether to restart a derived transaction.

【図23】図23は、派生トランザクションの再起動処
理の一例を示すフローチャートである。
FIG. 23 is a flowchart illustrating an example of a process of restarting a derived transaction.

【図24】図24は、第3実施形態の構成を示すブロッ
ク図である、
FIG. 24 is a block diagram showing a configuration of a third embodiment;

【図25】図25は、派生管理処理の構成を示す説明図
である。
FIG. 25 is an explanatory diagram illustrating a configuration of a derivation management process;

【図26】図26は、派生DB制御処理を別トランザク
ションとしない場合に生じる可能性のあるデッドロック
の態様の一例を示す説明図である。
FIG. 26 is an explanatory diagram illustrating an example of a deadlock state that may occur when the derived DB control processing is not performed as another transaction;

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

2 受信手段 4 演算手段 6 ファイル 8 メッセージ入力手段 10 オンライン応答部 12 派生トランザクション管理部 14 総量制御部 16 トランザクション実行部 2 Receiving unit 4 Computing unit 6 File 8 Message input unit 10 Online response unit 12 Derived transaction management unit 14 Total amount control unit 16 Transaction execution unit

Claims (25)

【特許請求の範囲】[Claims] 【請求項1】 端末等からネットワークを介して入力さ
れる業務処理要求を受信する受信手段と、この受信手段
にて受信した業務処理要求を処理する演算手段と、この
演算手段による業務処理要求の処理結果を記録するファ
イルとを備え、 前記演算手段は、前記端末等から入力される業務処理要
求をオンライントランザクションとして処理させると共
に当該処理結果を前記端末への応答として出力する制御
をするオンライン応答部と、前記オンライントランザク
ション又は所定の派生トランザクションである派生起動
トランザクションの実行処理の一部として起動要求され
当該派生起動トランザクションによる業務処理と関連し
た付随業務を処理する派生トランザクションを管理する
派生トランザクション管理部とを備え、 前記派生トランザクション管理部は、前記派生トランザ
クションのコミットを待機せずに前記派生起動トランザ
クションをコミットさせる派生起動管理機能を備えたこ
とを特徴とするオンライントランザクション制御システ
ム。
1. A receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, A file for recording a processing result, wherein the computing means causes the business processing request input from the terminal or the like to be processed as an online transaction and controls the output of the processing result as a response to the terminal. A derived transaction management unit that manages a derived transaction that is requested to be started as part of the execution process of the online transaction or a derived start transaction that is a predetermined derived transaction and that processes a subsidiary business related to business processing by the derived start transaction; The derived transa Deployment management unit, online transaction control system comprising the derivation startup control function to commit the derived start transaction without waiting for commit of the derived transaction.
【請求項2】 前記派生トランザクション管理部は、前
記派生トランザクションの起動要求に関連する派生起動
情報を前記ファイルに格納した後に前記派生起動トラン
ザクションをコミットさせる派生起動情報格納制御機能
と、 前記派生起動トランザクションがアボートされる場合に
は前記派生トランザクションの開始又はコミットをしな
い制御をする直列性管理機能と、 前記派生起動トランザクションがコミットした後に前記
派生トランザクションがアボートした場合には前記派生
起動情報に基づいて当該派生トランザクションを再起動
させる派生再起動制御機能とを備えたことを特徴とする
請求項1記載のオンライントランザクション制御システ
ム。
2. A derived activation information storage control function for committing the derived activation transaction after storing the derived activation information relating to the activation request of the derived transaction in the file, and the derived activation transaction. If aborted, the serialization management function that controls not to start or commit the derived transaction, and if the derived transaction aborts after the derived startup transaction commits, 2. The online transaction control system according to claim 1, further comprising a derived restart control function for restarting the derived transaction.
【請求項3】 前記演算手段は、前記オンライン応答部
及び派生トランザクション管理部によって実行が管理さ
れるトランザクションの総量に応じて前記派生トランザ
クションの起動を制限させる総量制御部を備えたことを
特徴とする請求項1又は2記載のオンライントランザク
ション制御システム。
3. The computer according to claim 1, wherein the calculating unit includes a total amount control unit that restricts activation of the derived transaction in accordance with a total amount of transactions whose execution is managed by the online response unit and the derived transaction management unit. The online transaction control system according to claim 1.
【請求項4】 前記総量制御部は、実行を待機している
トランザクションの総数を監視する実行状況監視機能
と、この実行状況監視機能によって実行待機中のトラン
ザクション数が予め定められた第1レベルの数を超えた
と判定された場合には派生起動トランザクションとなる
業務処理要求の入力を中断させる派生起動取引入力中断
制御機能とを備えたことを特徴とする請求項3記載のオ
ンライントランザクション制御システム。
4. An execution status monitoring function for monitoring the total number of transactions waiting to be executed, and the total amount control unit includes: 4. The online transaction control system according to claim 3, further comprising a derivative activation transaction input interruption control function for interrupting the input of a business process request as a derivative activation transaction when it is determined that the number exceeds the number.
【請求項5】 前記総量制御部は、前記実行状況監視機
能によって実行待機中のトランザクション数が予め定め
られた第2レベルの数を超えたと判定された場合には、
前記派生起動情報がファイルに登録された状態で派生ト
ランザクションの起動を中止する派生起動中止制御機能
を備えたことを特徴とする請求項4記載のオンライント
ランザクション制御システム。
5. The total amount control unit, when the execution status monitoring function determines that the number of transactions waiting to be executed exceeds a predetermined second level number,
5. The online transaction control system according to claim 4, further comprising a derivative start suspension control function for suspending the start of the derived transaction in a state where the derived start information is registered in a file.
【請求項6】 端末等からネットワークを介して入力さ
れる業務処理要求を受信する受信手段と、この受信手段
にて受信した業務処理要求を処理する演算手段と、この
演算手段による業務処理要求の処理結果を記録するファ
イルとを備え、 前記演算手段は、前記端末等から入力される業務処理要
求をオンライントランザクションとして処理させると共
に当該処理結果を前記端末への応答として出力する制御
をするオンライン応答部と、前記オンライントランザク
ション又は所定の派生トランザクションである派生起動
トランザクションの実行処理の一部として起動要求され
る派生トランザクションを管理する派生トランザクショ
ン管理部と、前記オンライントランザクション及び前記
派生トランザクションを実行するトランザクション実行
部とを備え、 前記派生トランザクション管理部は、前記派生トランザ
クションを起動する際に、当該起動する派生トランザク
ションに関連する派生起動情報を前記ファイルに格納す
る派生起動情報格納制御機能と、前記派生起動情報が前
記ファイルに格納された後に前記派生トランザクション
のコミットを待機せずに前記派生起動トランザクション
をコミットさせる派生起動管理機能と、前記派生起動ト
ランザクションがアボートされる場合には前記派生トラ
ンザクションをコミットしない制御をする直列性管理機
能と、前記派生起動トランザクションがコミットした後
に前記派生トランザクションがアボートした場合には当
該アボートした派生トランザクションに対する所定の派
生再起動要求に応じて前記派生起動情報に基づいて当該
派生トランザクションを再起動させる派生再起動制御機
能とを備え、 前記トランザクション実行部が、前記業務処理要求に関
連した付随業務を前記派生トランザクションとして実行
することを特徴とするオンラインシステム。
6. A receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, A file for recording a processing result, wherein the computing means causes the business processing request input from the terminal or the like to be processed as an online transaction and controls the output of the processing result as a response to the terminal. A derived transaction management unit that manages a derived transaction that is requested to be started as a part of execution processing of the online transaction or a derived startup transaction that is a predetermined derived transaction, and a transaction execution unit that executes the online transaction and the derived transaction The derivative transaction management unit, when the derivative transaction is activated, the derivative activation information storage control function for storing the derivative activation information related to the derivative transaction to be activated in the file, and the derivative activation information includes: A derivative activation management function for committing the derivative activation transaction without waiting for the commit of the derivative transaction after being stored in a file, and a serial control for controlling not to commit the derivative transaction when the derivative activation transaction is aborted. If the derived transaction aborts after the derived management transaction commits, the derived transaction is performed based on the derived start information in response to a predetermined derived restart request for the aborted derived transaction. And a derivation restart control function for restarting the Nzakushon, online system where the transaction execution section, and executes the associated operations associated with the business process request as the derived transaction.
【請求項7】 前記トランザクション実行部は、 前記派生起動トランザクションの実行によって業務上の
一貫性に関して中間的なデータが生じる場合には当該中
間的なデータについて耐久性を持った状態で前記ファイ
ルに格納し、 この業務処理要求の実行によって生じた業務上の一貫性
に関する中間的な状態を解消して業務上の一貫性を保つ
ための判定及び実行を前記派生トランザクションとして
実行することを特徴とする請求項6記載のオンラインシ
ステム。
7. The transaction execution unit, when intermediate data regarding business consistency is generated by execution of the derived startup transaction, stores the intermediate data in the file with durability. And determining and executing the intermediate transaction relating to business consistency caused by execution of the business processing request to maintain business consistency as the derived transaction. Item 7. An online system according to Item 6.
【請求項8】 前記トランザクション実行部では、 業務処理要求を処理する主業務トランザクションが派生
トランザクションを起動し、 派生トランザクションは処理対象が無くなるまで当該派
生トランザクションを繰り返し起動し、 主業務トランザクションは前記派生トランザクションの
繰り返し起動によって処理が完了するまで前記端末にダ
ミー応答を繰り返し、 前記派生トランザクションの繰り返し起動により処理対
象の処理が完了した後に、前記主業務トランザクション
は前記端末に応答を返すことを特徴とする請求項6記載
のオンラインシステム。
8. In the transaction execution unit, a main business transaction that processes a business processing request starts a derived transaction, and the derived transaction repeatedly starts the derived transaction until there is no more processing target. Repeating a dummy response to the terminal until the process is completed by repeatedly invoking, and after the process to be processed is completed by repeatedly invoking the derived transaction, the main business transaction returns a response to the terminal. Item 7. An online system according to Item 6.
【請求項9】 端末等からネットワークを介して入力さ
れる業務処理要求を受信する受信手段と、この受信手段
にて受信した業務処理要求を処理する演算手段と、この
演算手段による業務処理要求の処理結果を記録するファ
イルとを備えたオンライントランザクション制御システ
ムの前記演算手段を使用してトランザクションを管理す
るオンライントランザクション制御方法であって、 前記端末等から入力される業務処理要求をオンライント
ランザクションとして実行させる工程と、 このオンライントランザクション実行処理の一部として
派生トランザクションの起動が要求された場合には当該
派生トランザクションの起動に必要な派生起動情報を前
記ファイルに格納する工程と、 前記派生トランザクションの実行開始又はコミットを待
機せずに当該派生トランザクションを起動したオンライ
ントランザクションをコミットさせる工程と、 前記オンライントランザクションがアボートした場合に
は前記派生トランザクションの開始又はコミットをさせ
ない制御をする工程と、 前記派生起動トランザクションがコミットした後に派生
トランザクションがアボートした場合には前記派生起動
情報に基づいて当該派生トランザクションを再起動させ
る工程とを備えたことを特徴とするオンライントランザ
クション制御方法。
9. A receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, An online transaction control method for managing transactions using the arithmetic means of an online transaction control system including a file for recording processing results, wherein a business process request input from the terminal or the like is executed as an online transaction. A step of, when the activation of the derived transaction is requested as a part of the online transaction execution processing, storing the derived activation information necessary for the activation of the derived transaction in the file; Wait for commit Committing the online transaction that has activated the derived transaction without starting the transaction, controlling the start or the commit of the derived transaction when the online transaction has aborted, and the derived transaction after the derived activated transaction has committed And restarting the derived transaction based on the derived activation information when is aborted.
【請求項10】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理する演算手段と、こ
の演算手段による業務処理要求の処理結果を記録するフ
ァイルとを備えたオンライントランザクション制御シス
テムの前記演算手段を使用してトランザクションを管理
するためのオンライントランザクション制御用プログラ
ムであって、記録媒体に格納され、 当該オンライントランザクション制御用プログラムは前
記演算手段を動作させる指令として、 前記端末等から入力される業務処理要求をオンライント
ランザクションとして実行させる指令と、 このオンライントランザクションの実行処理の一部とし
て派生トランザクションの起動が要求された場合には当
該派生トランザクションの起動に必要な派生起動情報を
前記ファイルに格納させる指令と、 前記派生トランザクションの実行開始又はコミットを待
機せずに当該派生トランザクションを起動したオンライ
ントランザクションをコミットさせる指令と、 前記オンライントランザクションがアボートした場合に
は前記派生トランザクションの開始又はコミットさせな
い制御をする指令と、 前記派生起動トランザクションがコミットした後に前記
派生トランザクションがアボートした場合には前記派生
起動情報に基づいて当該派生トランザクションを再起動
させる指令とを備えたことを特徴とするオンライントラ
ンザクション制御用プログラム。
10. A receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, An online transaction control program for managing a transaction using the arithmetic means of the online transaction control system including a file for recording a processing result, the program being stored in a recording medium. As a command to operate the arithmetic unit, a command to execute a business process request input from the terminal or the like as an online transaction; Derived tran A command for storing derived activation information necessary for activating a transaction in the file; a command for committing an online transaction that has started the derived transaction without waiting for execution start or commit of the derived transaction; and an abort of the online transaction. A command to control the start or the commit of the derived transaction if not, and a command to restart the derived transaction based on the derived start information if the derived transaction is aborted after the derived start transaction is committed. An online transaction control program characterized by comprising:
【請求項11】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理する演算手段と、こ
の演算手段による業務処理要求の処理結果を記録するフ
ァイルとを備え、 前記ファイルが、派生トランザクションの派生起動情報
を派生管理通番毎に記録する派生管理DBと、この派生
管理DBのキーとなる派生管理通番毎に派生管理DBが
使用中であるか否かを指示するインデックス情報を記録
する派生インデックスDBとを備え、 前記演算手段が、前記端末等から入力される業務処理要
求をオンライントランザクションとして処理させると共
に当該処理結果を前記端末への応答として出力する制御
をするオンライン応答部と、前記オンライントランザク
ション又は所定の派生トランザクションの実行処理の一
部として起動要求される派生トランザクションを管理す
ると共に前記オンライントランザクションを管理するト
ランザクション管理部とを備え、 前記トランザクション管理部が、前記オンライントラン
ザクション又は派生トランザクションである派生起動ト
ランザクションから派生トランザクションの起動要求依
頼があったときに前記派生インデックスDBのインデッ
クス情報を特定すると共に当該特定したインデックス情
報に基づいて前記派生管理DBの使用可な派生管理通番
を特定する派生管理通番特定機能と、 この派生管理通番特定機能によって特定された派生管理
通番のセグメントに前記派生起動トランザクションによ
る派生トランザクションの起動要求依頼に関する派生起
動情報を格納すると共に当該派生起動情報を格納した後
に当該派生トランザクションを起動する派生起動情報格
納制御機能と、 前記派生起動情報の格納後で当該派生起動トランザクシ
ョンの各処理が正常終了した場合に当該派生起動トラン
ザクションをコミットさせる派生起動トランザクション
コミット処理機能と、 前記派生トランザクションの開始時に前記派生起動情報
をロック可能な状態での正常な読み出しに成功した場合
に当該派生トランザクションの各処理を開始させる直列
性制御機能と、 前記派生トランザクションの各処理が正常終了した場合
に使用した派生管理通番について前記派生インデックス
DB及び前記派生管理DBを使用可に更新させると共に
当該派生トランザクションをコミットさせる派生トラン
ザクションコミット処理機能と、 前記派生トランザクションがアボートされた場合には前
記派生管理DBに格納した派生起動情報に基づいた再起
動を制御する派生再起動制御機能とを備えたことを特徴
とするオンライントランザクション制御システム。
11. A receiving means for receiving a business processing request input from a terminal or the like via a network, an arithmetic means for processing the business processing request received by the receiving means, A file for recording a processing result, wherein the file includes: a derivation management DB that records derivation start information of the derivation transaction for each derivation management serial number; and a derivation management DB for each derivation management serial number that is a key of the derivation management DB. A derivative index DB for recording index information indicating whether the terminal is in use or not, wherein the arithmetic means causes a business process request input from the terminal or the like to be processed as an online transaction, and the processing result is transmitted to the terminal. An online response unit that controls output to a response to the online transaction or a predetermined A transaction management unit that manages a derived transaction that is requested to be activated as part of a raw transaction execution process, and that manages the online transaction, wherein the transaction management unit is configured to execute the online transaction or a derived transaction that is a derived transaction. A derivation management serial number specifying function of specifying index information of the derivation index DB when a request for starting a derivation transaction is made, and specifying a usable derivation management serial number of the derivation management DB based on the specified index information; Derivation start information relating to a request to start a derived transaction by the derived start transaction is stored in the segment of the derived management serial number specified by the derived management serial number specifying function. In both cases, the derived activation information storage control function activates the derived transaction after storing the derived activation information, and commits the derived activation transaction when each process of the derived activation transaction ends normally after storing the derived activation information. A derived startup transaction commit processing function to be performed; a seriality control function to start each processing of the derived transaction when the derived startup information is successfully read normally in a lockable state at the start of the derived transaction; A derivative transaction commit processing function of updating the derivative index DB and the derivative management DB to be usable with respect to the derivative management serial number used when each process of the derivative transaction has been normally completed, and committing the derivative transaction; An online transaction control system comprising: a derived restart control function for controlling a restart based on the derived start information stored in the derived management DB when a derived transaction is aborted.
【請求項12】 前記派生起動トランザクションが、予
め定められたJOB番号群の中のいずれかのJOB番号
で実行され、 前記派生インデックスDBが、前記トランザクションの
JOB番号をキー値となるインデックス領域番号として
当該インデックス領域番号毎に前記インデックス情報を
有することを特徴とした請求項11記載のオンライント
ランザクション制御システム。
12. The derivation start transaction is executed with any JOB number in a predetermined JOB number group, and the derivation index DB uses the JOB number of the transaction as an index area number serving as a key value. 12. The online transaction control system according to claim 11, wherein said index information is provided for each index area number.
【請求項13】 前記派生インデックスDBが、前記イ
ンデックス情報を前記インデックス領域番号毎のビット
マップとして保有し、 前記派生管理通番特定機能が、前記インデックス領域番
号と前記ビットマップのビット位置とに基づいて前記派
生管理DBの派生管理通番を特定する機能を備えたこと
を特徴とする請求項12記載のオンライントランザクシ
ョン制御システム。
13. The derivative index DB holds the index information as a bitmap for each index area number, and the derivation management serial number specifying function performs a function based on the index area number and a bit position of the bitmap. 13. The online transaction control system according to claim 12, further comprising a function of specifying a derivative management serial number of the derivative management DB.
【請求項14】 前記派生インデックスDBが、前記イ
ンデックス領域番号毎のビットマップを派生インデック
スビットとして有すると共に、当該派生インデックスビ
ットのON又はOFFに応じて当該ビットのビット位置
に対応する派生管理DBの使用状態を記録し、 前記派生管理DBが、前記派生管理通番毎に当該派生管
理通番の使用状態を使用中又は使用可として記録する使
用中フラグを有し、 前記派生管理通番特定機能が、OFFとなっている派生
インデックスビット及び当該使用可となっている派生管
理通番を特定したときに当該派生インデックスビットに
ついて使用中を示すONへと更新し、 前記派生起動情報格納制御機能が、前記派生起動情報を
格納したときに当該派生管理通番の使用中フラグを「使
用中」へと更新し、 前記直列性制御機能は、前記派生起動トランザクション
から渡された派生管理通番の使用中フラグが使用可であ
った場合には当該起動要求されている派生トランザクシ
ョンを起動せずに処理を終了させ、 派生トランザクションコミット制御機能は、当該派生ト
ランザクションの完了時又は完了後に前記派生インデッ
クスビット及び前記使用中フラグについて使用可へと更
新することを特徴とする請求項13記載のオンライント
ランザクション制御システム。
14. The derivation index DB has a bitmap for each index area number as a derivation index bit, and the derivation management DB corresponding to a bit position of the bit in accordance with ON or OFF of the derivation index bit. Recording a use state, the derivation management DB has a use flag for recording the use state of the derivation management serial number as being used or available for each of the derivation management serial numbers, and the derivation management serial number specifying function is OFF. When the derived index bit and the available derivative management serial number are identified, the derived index bit is updated to ON indicating that the derived index bit is being used, and the derived activation information storage control function performs the derived activation. When the information is stored, the used flag of the derivative management serial number is updated to “in use”, and the When the in-use flag of the derivation management serial number passed from the derivation start transaction is usable, the serialization control function terminates the process without starting the derivation transaction requested to be started, 14. The online transaction control system according to claim 13, wherein the commit control function updates the derived index bit and the in-use flag to usable at or after completion of the derived transaction.
【請求項15】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理する演算手段と、こ
の演算手段による業務処理要求の処理結果を記録するフ
ァイルとを備え、 前記ファイルが、派生トランザクションの派生起動情報
を派生管理通番毎に記録する派生管理DBと、この派生
管理DBのキーとなる派生管理通番毎に派生管理DBが
使用中であるか否かを指示するインデックス情報を記録
する派生インデックスDBとを備えたオンライントラン
ザクション制御システムを利用してオンライントランザ
クション又は所定の派生トランザクションの実行処理の
一部として起動要求される派生トランザクションを管理
する派生トランザクション管理方法であって、 前記オンライントランザクション又は派生トランザクシ
ョンである派生起動トランザクションから派生トランザ
クションの起動要求依頼があったときに前記派生インデ
ックスDBのインデックス情報を特定すると共に当該特
定したインデックス情報に基づいて前記派生管理DBの
使用可となっている派生管理通番を特定する派生管理通
番特定工程と、 この派生管理通番特定工程にて特定された派生管理通番
のセグメントに前記派生起動トランザクションによる派
生トランザクションの起動要求依頼に関する派生起動情
報を格納すると共に当該派生起動情報を格納した後に当
該派生トランザクションを起動する派生起動情報格納制
御工程と、 前記派生起動情報の格納後で当該派生起動トランザクシ
ョンの各処理が正常終了した場合に当該派生起動トラン
ザクションをコミットさせる派生起動トランザクション
コミット処理工程と、 前記派生トランザクションの開始時に前記派生起動情報
をロック可能な状態での正常な読み出しに成功した場合
に当該派生トランザクションの各処理を開始させる直列
性制御工程と、 前記派生トランザクションの各処理が正常終了した場合
に使用した派生管理通番について前記派生インデックス
DB及び前記派生管理DBを使用可に更新させると共に
当該派生トランザクションをコミットさせる派生トラン
ザクションコミット処理工程と、 前記派生トランザクションがアボートされた場合には前
記派生管理DBに格納した派生起動情報に基づいた再起
動を制御する派生再起動制御工程とを備えたことを特徴
とする派生トランザクション管理方法。
15. A receiving means for receiving a business processing request input from a terminal or the like via a network, a calculating means for processing the business processing request received by the receiving means, and a processing means for processing the business processing request received by the calculating means. A file for recording a processing result, wherein the file includes: a derivation management DB that records derivation start information of the derivation transaction for each derivation management serial number; and a derivation management DB for each derivation management serial number that is a key of the derivation management DB. A derived transaction that is requested to be started as part of execution processing of an online transaction or a predetermined derived transaction using an online transaction control system including a derived index DB that records index information indicating whether or not it is in use A derivative transaction management method for managing When there is a request to start a derived transaction from a derived startup transaction that is an in-transaction or a derived transaction, the index information of the derived index DB is specified, and the derived management DB becomes usable based on the specified index information. Derivation management serial number specifying step for specifying the derived management serial number, and the derived startup information related to the derived transaction start request request by the derived startup transaction is stored in the segment of the derived management serial number specified in the derived management serial number specifying step. And a derivative activation information storage control step of activating the derivative transaction after storing the derivative activation information together with the derivative activation information. If each process of the derivative activation transaction ends normally after storing the derivative activation information, the derivative activation transaction is controlled. Derived startup transaction commit processing step for committing the transaction, and serialization control step for starting each processing of the derived transaction when the derived startup information is successfully read normally in a lockable state at the start of the derived transaction A derivative transaction commit processing step of updating the derivative index DB and the derivative management DB to be usable for the derivative management serial number used when each process of the derivative transaction has been normally completed, and committing the derivative transaction; A derivation restart control step of controlling a restart based on the derivation activation information stored in the derivation management DB when the derivation transaction is aborted.
【請求項16】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理する演算手段と、こ
の演算手段による業務処理要求の処理結果を記録するフ
ァイルとを備え、 前記ファイルが、派生トランザクションの派生起動情報
を派生管理通番毎に記録する派生管理DBと、この派生
管理DBのキーとなる派生管理通番毎に派生管理DBが
使用中であるか否かを指示するインデックス情報を記録
する派生インデックスDBとを備えたオンライントラン
ザクション制御システムを利用してオンライントランザ
クション又は所定の派生トランザクションの実行処理の
一部として起動要求される派生トランザクションを管理
する派生トランザクション管理用プログラムであって、
記録媒体に格納され、 前記オンライントランザクション又は派生トランザクシ
ョンである派生起動トランザクションから派生トランザ
クションの起動要求依頼があったときに前記派生インデ
ックスDBのインデックス情報を特定させると共に当該
特定したインデックス情報に基づいて前記派生管理DB
の使用可の派生管理通番を特定させる派生管理通番特定
指令と、 この派生管理通番特定指令に応じて特定された派生管理
通番のセグメントに前記派生起動トランザクションによ
る派生トランザクションの起動要求依頼に関する派生起
動情報を格納させると共に当該派生起動情報を格納した
後に当該派生トランザクションを起動させる派生起動情
報格納制御指令と、 前記派生起動情報の格納後で当該派生起動トランザクシ
ョンの各処理が正常終了した場合に当該派生起動トラン
ザクションをコミットさせる派生起動トランザクション
コミット処理指令と、 前記派生トランザクションの開始時に前記派生起動情報
をロック可能な状態での正常な読み出しに成功した場合
に当該派生トランザクションの各処理を開始させる直列
性制御指令と、 前記派生トランザクションの各処理が正常終了した場合
に使用した派生管理通番について前記派生インデックス
DB及び前記派生管理DBを使用可に更新させると共に
当該派生トランザクションをコミットさせる派生トラン
ザクションコミット処理指令と、 前記派生トランザクションがアボートされた場合には前
記派生管理DBに格納した派生起動情報に基づいた再起
動を制御する派生再起動制御指令とを備えたことを特徴
とする派生トランザクション管理用プログラム。
16. A receiving means for receiving a business processing request input from a terminal or the like via a network, a calculating means for processing the business processing request received by the receiving means, and a processing means for processing the business processing request by the calculating means. A derivation management DB for recording derivation start information of the derivation transaction for each derivation management serial number, and a derivation management DB for each derivation management serial number serving as a key of the derivation management DB. A derived transaction that is requested to be started as a part of execution processing of an online transaction or a predetermined derived transaction using an online transaction control system including a derived index DB that records index information indicating whether or not it is in use Derived transaction management program that manages
When a request for starting a derived transaction is made from the derived transaction which is the online transaction or a derived transaction, the index information of the derived index DB is specified and stored on a recording medium, and the derivation is performed based on the specified index information. Management DB
Derivation management sequence number specifying command for specifying a usable derivation management sequence number, and derivation start information relating to a request for starting a derivation transaction by the derivation start transaction in the segment of the derivation management sequence number specified according to the derivation management sequence number specification command And a derivative activation information storage control command for activating the derivative transaction after storing the derivative activation information, and the derivative activation when each process of the derivative activation transaction ends normally after storing the derivative activation information. A derived activation transaction commit processing command for committing a transaction, and a seriality control command for starting each processing of the derived transaction when the derived activation information is successfully read normally in a lockable state at the start of the derived transaction And said A derivative transaction commit processing command for updating the derivative index DB and the derivative management DB to be usable with respect to the derivative management serial number used when each process of the derivative transaction is normally completed, and for committing the derivative transaction; A derivation restart control command for controlling a restart based on the derivation activation information stored in the derivation management DB when aborted.
【請求項17】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理するオンライントラ
ンザクション及び所定の派生トランザクションを予め定
められた数のJOB番号を単位に並列して処理する演算
手段と、この演算手段による業務処理要求の処理結果を
記録するファイルと、前記演算手段の前記JOB番号へ
とスケジュールされるトランザクションを一時的に格納
する待ち行列とを備え、 前記ファイルが、所定の派生トランザクションの派生起
動情報を派生管理通番毎に記録する派生管理DBと、こ
の派生管理DBのキーとなる派生管理通番毎に派生管理
DBが使用中であるか否かを指示するインデックス情報
を前記演算手段でのJOB番号毎に記録する派生インデ
ックスDBとを備え、 前記待ち行列が、前記業務処理要求を処理する一般トラ
ンザクション要求を一時的に格納する一般待ち行列と、
前記派生トランザクション要求を一時的に格納する派生
待ち行列とを有し、 前記演算手段が、前記端末から要求される一般トランザ
クションをオンライントランザクションとして処理させ
ると共に当該処理結果を前記端末への応答として出力す
る制御をするオンライン応答部と、前記オンライントラ
ンザクション又は所定の派生トランザクションの実行処
理の一部として起動要求される派生トランザクションを
管理するトランザクション管理部とを備えると共に、 前記トランザクション管理部が、前記派生起動トランザ
クションが派生トランザクションを起動要求する場合に
当該派生起動トランザクションがスケジュールされたJ
OB番号に応じて前記派生インデックスDBを参照して
前記派生管理DB中の使用可の派生管理通番を特定する
と共に、当該派生管理通番のセグメントに当該派生トラ
ンザクションの派生起動情報を格納する派生起動情報格
納制御機能と、この派生起動情報格納制御機能による派
生起動情報の格納後、当該起動した派生トランザクショ
ンのコミットを待機せずに当該派生起動トランザクショ
ンをコミットさせる派生起動トランザクションコミット
処理機能とを備え、 前記演算手段が、前記一般待ち行列及び派生待ち行列で
滞留しているトランザクション数を監視する滞留監視部
と、この滞留監視部によって監視される各待ち行列での
トランザクションの滞留数に応じて前記派生起動トラン
ザクション又は前記派生トランザクションの起動を制御
する総量制御部とを備えたことを特徴とするオンライン
トランザクション制御システム。
17. A receiving means for receiving a business processing request input from a terminal or the like via a network, and a predetermined online transaction and a predetermined derivative transaction for processing the business processing request received by the receiving means. Calculating means for processing a number of job numbers in parallel, a file for recording the processing result of a business processing request by the calculating means, and a transaction scheduled to the job number of the calculating means are temporarily stored. A derivation management DB in which the file records the derivation start information of a predetermined derivation transaction for each derivation management serial number, and a derivation management DB for each derivation management serial number serving as a key of the derivation management DB. Derivation for recording index information indicating whether or not the job is in progress for each JOB number in the arithmetic means And a index DB, the queue, and the general queue for storing general transaction request for processing the business processing request temporarily,
A derivation queue for temporarily storing the derivation transaction request, wherein the arithmetic means causes a general transaction requested from the terminal to be processed as an online transaction and outputs the processing result as a response to the terminal An on-line response unit for controlling, and a transaction management unit for managing a derivation transaction requested to be started as a part of the execution processing of the on-line transaction or a predetermined derivation transaction; When the request for starting a derived transaction is made by J
Derivation activation information for identifying a usable derivation management serial number in the derivation management DB by referring to the derivation index DB according to the OB number, and storing derivation activation information of the derivation transaction in the segment of the derivation management serial number A storage control function, and a derivative activation transaction commit processing function of committing the derivative activation transaction without waiting for the commit of the activated derivative transaction after storing the derivative activation information by the derivative activation information storage control function, A calculating means for monitoring the number of transactions stagnating in the general queue and the derivation queue; and a derivation start-up in accordance with the number of stagnating transactions in each queue monitored by the detention monitoring part. Control the start of the transaction or the derivative transaction An online transaction control system, comprising:
【請求項18】 前記滞留監視部は、前記一般待ち行列
又は派生待ち行列の滞留数が予め定められた第1レベル
以上である場合には、派生起動取引中断ビットをONと
し、前記派生待ち行列に滞留しているトランザクション
数が前記第1レベルよりも多い数にて予め設定された第
2レベル以上である場合には派生中止ビットをONと
し、 前記総量制御部は、前記派生起動取引中断ビットがON
である場合には前記派生トランザクションを起動する業
務処理要求の入力を中断させる派生起動取引入力中断制
御機能と、前記派生中止ビットがONである場合には派
生起動要求があった時には当該派生起動情報を前記派生
管理DBに登録後派生トランザクションの起動を行わな
い派生起動中止制御機能とを備えたことを特徴とする請
求項17記載のオンライントランザクション制御システ
ム。
18. The detention monitoring unit, when the number of detentions in the general queue or the derivation queue is equal to or higher than a predetermined first level, sets a derivation start transaction interruption bit to ON and outputs the derivation queue. If the number of transactions staying at the second level is greater than or equal to the first level and is greater than or equal to the second level that is set in advance, the derivation stop bit is turned on. Is ON
If the derivation start bit is ON, a derivation start transaction input interruption control function for interrupting the input of a business process request to activate the derivation transaction; 18. The online transaction control system according to claim 17, further comprising a derivation start suspension control function that does not start the derivation transaction after registering the derivation in the derivation management DB.
【請求項19】 前記総量制御部は、前記派生中止ビッ
トがONである場合に業務処理要求を受信した場合であ
って、当該業務処理要求に滞留時停止指定がある場合に
は、当該業務処理要求の処理を不能としてエラー出力す
る滞留時エラー制御機能を備えたことを特徴とする請求
項18記載のオンライントランザクション制御システ
ム。
19. The total amount control unit, when the business process request is received when the derivation stop bit is ON, and when the business process request specifies stoppage during stay, the total amount control unit 19. The online transaction control system according to claim 18, further comprising a stay-time error control function for outputting an error by disabling the processing of the request.
【請求項20】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求を処理する演算手段と、こ
の演算手段による業務処理要求の処理結果を記録するフ
ァイルとを備え、 前記ファイルが、派生トランザクションの派生起動情報
を派生管理通番毎に記録すると共に各派生管理通番が使
用中であるか否かを示す使用中フラグを当該派生管理通
番毎に有する派生管理DBと、この派生管理DBのキー
となる派生管理通番毎に派生管理DBが使用中であるか
否かを指示するインデックス情報を記録する派生インデ
ックスDBとを備え、 前記演算手段が、前記端末等から入力される業務処理要
求をオンライントランザクションとして処理させると共
に当該処理結果を前記端末への応答として出力する制御
をするオンライン応答部と、前記オンライントランザク
ション又は所定の派生トランザクションの実行処理の一
部として起動要求される派生トランザクションを管理す
ると共に前記オンライントランザクションを管理するト
ランザクション管理部とを備え、 前記トランザクション管理部が、前記オンライントラン
ザクション又は派生トランザクションである派生起動ト
ランザクションから派生トランザクションの起動要求依
頼があったときに前記派生インデックスDBに基づいて
前記派生管理DBの使用可の派生管理通番を特定すると
共に特定したインデックスビットをONに更新する派生
管理通番特定機能と、 この派生管理通番特定機能によって特定された派生管理
通番のセグメントに前記派生起動トランザクションによ
る派生トランザクションの起動要求依頼に関する情報及
び起動時刻を派生起動情報として格納すると共に当該派
生管理通番の使用中フラグをONに更新して当該派生ト
ランザクションを起動する派生起動情報格納制御機能
と、 前記派生トランザクションの各処理が正常終了した場合
に使用した派生管理通番について前記派生管理DBの使
用中フラグ及び前記派生インデックスDBのインデック
スビットを使用可に更新させると共に当該派生トランザ
クションをコミットさせる派生トランザクションコミッ
ト処理機能とを備え、 前記演算手段は、前記派生インデックスDB及び前記派
生管理DBを参照して派生インデックスビット及び使用
中フラグが使用中を示し且つ派生管理DBに派生起動情
報を格納した後予め定められた時間以上経過している派
生管理通番を派生再起動要と判定する派生再起動要否監
視部を備えたことを特徴とするオンライントランザクシ
ョン制御システム。
20. Receiving means for receiving a business processing request input from a terminal or the like via a network, processing means for processing the business processing request received by the receiving means, and processing of the business processing request by the processing means. A file for recording a processing result, wherein the file records the derivation start information of the derivation transaction for each derivation management serial number and sets an in-use flag indicating whether or not each derivation management serial number is in use. A derivation management DB provided for each serial number, and a derivation index DB for recording index information indicating whether or not the derivation management DB is in use for each derivation management serial number serving as a key of the derivation management DB; Means for processing a business processing request input from the terminal or the like as an online transaction, and responding the processing result to the terminal. An online response unit that performs control to output the online transaction, and a transaction management unit that manages the online transaction or a derived transaction that is requested to be activated as part of execution processing of a predetermined derived transaction, and that manages the online transaction, The transaction management unit specifies a derivative management serial number that can be used in the derivative management DB based on the derivative index DB when a derivative transaction activation request request is issued from the derivative transaction that is the online transaction or the derivative transaction. A derivation management serial number specifying function for updating the specified index bit to ON; and a derivation start transaction for the derivation management serial number segment specified by the derivation management serial number specification function A derivation activation information storage control function for storing information relating to a derivation request request for a derivation transaction and the activation time as derivation activation information, and updating the in-use flag of the derivation management serial number to ON to activate the derivation transaction; Derived transaction commit processing function for updating the in-use flag of the derivation management DB and the index bit of the derivation index DB to usable for the derivation management serial number used when each processing of the transaction is completed normally, and committing the derivation transaction. The arithmetic means refers to the derivative index DB and the derivative management DB, indicates that the derivative index bit and the in-use flag are in use, and stores the derivative activation information in the derivative management DB, and is predetermined. More than time Online transaction control system comprising the derivative restart essential and determines a derived restart necessity monitoring unit derived management serial number you are.
【請求項21】 前記演算手段は、前記派生再起動要否
監視部によって再起動要と判定された派生管理通番を再
起動する場合には、当該派生管理通番によって特定され
る派生起動情報に基づいて派生トランザクションを起動
すると共に当該派生管理通番へ派生起動情報を格納した
時刻を更新する派生再起動制御部とを備えたことを特徴
とする請求項20記載のオンライントランザクション制
御システム。
21. When restarting the derivative management serial number determined to be necessary for restart by the derivative restart necessity monitoring unit, the arithmetic unit is configured to execute the restart based on the derivative start information specified by the derivative management serial number. 21. The online transaction control system according to claim 20, further comprising: a derivation restart control unit that activates a derivation transaction and updates a time at which the derivation start information is stored in the derivation management serial number.
【請求項22】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求をオンライントランザクシ
ョンとして処理する演算手段と、この演算手段による業
務処理要求の結果を記録するファイルとを備え、 前記ファイルが、前記オンライントランザクション又は
所定の派生トランザクションである派生起動トランザク
ションの実行の一部として起動される派生トランザクシ
ョンの派生起動情報を派生管理通番毎に記録すると共に
当該派生管理通番が使用中であるか又は使用可であるか
を示す使用中フラグを有する派生管理DBと、この派生
管理DBでの派生管理通番を前記トランザクションのJ
OB番号を単位とした複数の派生管理通番から使用可の
派生管理通番を特定すると共に前記派生管理通番が使用
中であるか否かをビットのON又はOFFにて示す派生
インデックスビットを前記JOB番号毎に複数有する派
生インデックスDBとを備え、 前記演算手段が、前記オンライントランザクション又は
派生トランザクションの種類を特定するオペコードに応
じて当該トランザクションを構成するプログラムの実行
をトランザクションとして管理する業務メイン処理部
と、この業務メイン処理部によって管理されるプログラ
ムを実行する業務処理部とを備え、 前記業務メイン処理部は、前記プログラムの実行によっ
て派生起動要求依頼を受信した場合には派生要求共通処
理を当該派生起動要求依頼を行った派生起動トランザク
ションの一部として実行する派生要求共通処理呼び出し
機能を備え、 前記業務処理部は、前記派生要求共通処理が呼び出され
た場合に当該派生起動トランザクションのJOB番号に
応じて前記派生インデックスDBを参照し、前記派生管
理DBの派生管理通番を特定し、当該派生管理通番のセ
グメントに派生起動情報を格納し、当該使用した派生管
理通番に対応する前記インデックスビット及び使用中フ
ラグをそれぞれ使用中の状態に更新して、当該派生トラ
ンザクションを起動させる派生要求共通処理機能を備
え、 前記業務メイン処理部は、前記派生要求共通処理機能に
よって起動が制御された派生トランザクションの一部と
して、当該派生トランザクションに与えられた派生管理
通番をキー値として派生管理DBを読み込み、当該派生
管理通番の使用中フラグが使用中である場合には当該派
生トランザクションのオペコードに応じた派生受動業務
プログラムを実行させ、この派生受動業務プログラムが
終了した後に前記派生管理DBの使用中フラグを使用可
に更新して、さらに所定の派生DB制御処理を派生トラ
ンザクションとして起動させる派生特性管理共通処理機
能を備え、 前記業務処理部は、前記派生DB制御処理がスケジュー
ルされた場合に、前記派生受動業務プログラムを含む派
生トランザクションを再起動するための派生起動情報が
格納された派生管理DBの派生管理通番に対応する前記
派生インデックスDBの前記派生インデックスビットを
使用可を示すOFFへ更新する派生DB制御処理機能を
備えたことを特徴とする派生トランザクション管理シス
テム。
22. A receiving means for receiving a business processing request input from a terminal or the like via a network, a calculating means for processing the business processing request received by the receiving means as an online transaction, and a business by the calculating means. A file for recording a result of the processing request, wherein the file is used for each of the derivation management serial numbers. A derivation management DB that records and has an in-use flag indicating whether the derivation management serial number is in use or available, and a derivation management serial number in the derivation management DB,
An available derivation management serial number is specified from a plurality of derivation management serial numbers in units of OB numbers, and a derivation index bit indicating whether or not the derivation management serial number is being used is indicated by the ON or OFF of the JOB number. A business main processing unit comprising: a plurality of derived index DBs, each of which includes a plurality of derived index DBs, wherein the arithmetic unit manages, as a transaction, execution of a program configuring the transaction in accordance with an operation code specifying the type of the online transaction or the derived transaction; A job processing unit that executes a program managed by the job main processing unit. The job main processing unit executes a derivation request common process when a derivation start request request is received by executing the program. Derived startup transaction that made the request A derivation request common process call function to be executed as a part, wherein the business processing unit refers to the derivation index DB according to a JOB number of the derivation start transaction when the derivation request common process is called, Derivation management serial number of the derivation management DB is specified, derivation start information is stored in the segment of the derivation management serial number, and the index bit and the in-use flag corresponding to the used derivation management serial number are updated to a used state. The business main processing unit includes a derivation request common processing function for activating the derivation transaction, wherein the business main processing unit performs the derivation given to the derivation transaction as a part of the derivation transaction whose activation is controlled by the derivation request common processing function. The derivation management DB is read using the management serial number as a key value, and the derivation management serial number is read. If the in-use flag is in use, the derived passive business program corresponding to the operation code of the derived transaction is executed, and after the derived passive business program ends, the in-use flag of the derivation management DB is updated to be usable. And a derivation characteristic management common processing function for starting a predetermined derivation DB control process as a derivation transaction. The business processing unit includes a derivation process including the derivation passive business program when the derivation DB control process is scheduled. A derived DB control processing function is provided for updating the derived index bit of the derived index DB corresponding to the derived management serial number of the derived management DB in which the derived activation information for restarting the transaction is stored to OFF indicating that the transaction can be used. A derived transaction management system, characterized in that:
【請求項23】 前記派生インデックスDBが、前記派
生インデックスビットを前記JOB番号を単位としたビ
ットマップとして保有すると共に当該ビットマップのビ
ット位置で前記派生管理通番を特定し、 前記派生DB制御処理機能が、前記派生管理通番から前
記ビットマップ及びビット位置を算出することを特徴と
する請求項22記載の派生トランザクション管理システ
ム。
23. The derivative DB control processing function, wherein the derivative index DB holds the derivative index bits as a bitmap in units of the JOB number and specifies the derivative management serial number at a bit position of the bitmap. Calculating the bit map and the bit position from the derivation management serial number.
【請求項24】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求をオンライントランザクシ
ョンとして処理する演算手段と、この演算手段による業
務処理要求の結果を記録するファイルとを備え、 前記ファイルが、前記オンライントランザクション又は
所定の派生トランザクションである派生起動トランザク
ションの実行の一部として起動される派生トランザクシ
ョンの派生起動情報を派生管理通番毎に記録すると共に
当該派生管理通番が使用中であるか否かを示す使用中フ
ラグを有する派生管理DBと、この派生管理DBでの派
生管理通番を前記トランザクションのJOB番号を単位
とした複数の派生管理通番から使用可の派生管理通番を
特定すると共に前記派生管理通番が使用中であるか否か
を示す派生インデックスビットを前記JOB番号毎に複
数有する派生インデックスDBとを備えたオンラインシ
ステムの前記演算手段を使用して派生トランザクション
を管理する派生トランザクション管理方法であって、 派生起動トランザクションを実行すると共に当該派生起
動トランザクションによって起動要求依頼される派生ト
ランザクションのコミットを待機せずに当該派生起動ト
ランザクションをコミットさせる派生起動トランザクシ
ョン管理工程と、 前記派生起動トランザクションによって起動要求依頼さ
れた派生トランザクションを管理する派生トランザクシ
ョン管理工程と、 この派生トランザクション管理工程にて派生トランザク
ションとして起動される派生DB管理工程とを備え、 前記派生起動トランザクション管理工程は、当該派生起
動トランザクションの一部として、当該派生起動トラン
ザクションのJOB番号に応じて前記派生インデックス
DBを参照し、前記派生管理DBの派生管理通番を特定
し、当該派生管理通番のセグメントに派生起動情報を格
納し、当該使用した派生管理通番に対応する前記インデ
ックスビット及び使用中フラグをそれぞれ使用中の状態
に更新して、当該派生トランザクションを起動させる派
生要求共通処理工程を備え、 前記派生トランザクション管理工程は、前記派生トラン
ザクションの一部として、前記派生要求共通処理工程に
て派生トランザクションが起動されスケジュールされた
場合に、当該派生トランザクションに与えられた派生管
理通番をキー値として派生管理DBを読み込み、当該派
生管理通番の使用中フラグが使用中である場合には当該
派生トランザクションのオペコードに応じた派生受動業
務プログラムを実行させ、この派生受動業務プログラム
が終了した後に前記派生管理DBの使用中フラグを使用
可に更新して、さらに所定の派生DB制御処理を派生ト
ランザクションとして起動させる派生特性管理共通処理
工程を備え、 前記派生DB管理工程は、前記派生DB制御処理がスケ
ジュールされた場合に、前記派生受動業務プログラムを
含む派生トランザクションを再起動するための派生起動
情報が格納された派生管理DBの派生管理通番に対応す
る前記派生インデックスDBの前記派生インデックスビ
ットを使用可を示すOFFに更新する派生DB制御処理
工程を備えたことを特徴とする派生トランザクション管
理方法。
24. A receiving means for receiving a business processing request input from a terminal or the like via a network, a calculating means for processing the business processing request received by the receiving means as an online transaction, and a business by the calculating means. A file for recording a result of the processing request, wherein the file is used for each of the derivation management serial numbers. A derivation management DB that records and has an in-use flag indicating whether the derivation management serial number is in use, and a plurality of derivation managements in which the derivation management serial number in the derivation management DB is set in units of the job number of the transaction Derivation management serial number that can be used from serial number A derived transaction management method for managing a derived transaction using the arithmetic means of an online system including a derived index DB having a plurality of derived index bits for each JOB number indicating whether or not a logical sequence number is in use. A derived start transaction management step of executing the derived start transaction and committing the derived start transaction without waiting for the commit of the derived transaction requested to be started by the derived start transaction; and a start request by the derived start transaction. A derived transaction management step of managing the requested derived transaction; and a derived DB management step started as a derived transaction in the derived transaction management step. The dynamic transaction management step refers to the derivative index DB according to the JOB number of the derivative start transaction as a part of the derivative start transaction, specifies the derivative management serial number of the derivative management DB, and Derivation start information is stored in the segment, and the index bit and the in-use flag corresponding to the used derivation management serial number are updated to a used state, and a derivation request common processing step of starting the derivation transaction is provided, The derivative transaction management step includes, when a derivative transaction is started and scheduled in the derivative request common processing step as a part of the derivative transaction, the derivative management serial number given to the derivative transaction is used as a key value. Read the DB and If the in-use flag of the raw management serial number is in use, a derived passive business program corresponding to the operation code of the derived transaction is executed, and after the derived passive business program ends, the in-use flag of the derived management DB is used. And a derivation characteristic management common processing step of starting a predetermined derivation DB control process as a derivation transaction, wherein the derivation DB management process is performed when the derivation DB control process is scheduled. Derived DB control for updating the derived index bit of the derived index DB corresponding to the derived management serial number of the derived management DB storing the derived startup information for restarting the derived transaction including the business program to OFF indicating that it is usable Derived transaction management characterized by processing steps Law.
【請求項25】 端末等からネットワークを介して入力
される業務処理要求を受信する受信手段と、この受信手
段にて受信した業務処理要求をオンライントランザクシ
ョンとして処理する演算手段と、この演算手段による業
務処理要求の結果を記録するファイルとを備え、 前記ファイルが、前記オンライントランザクション又は
所定の派生トランザクションである派生起動トランザク
ションの実行の一部として起動される派生トランザクシ
ョンの派生起動情報を派生管理通番毎に記録すると共に
当該派生管理通番が使用中であるか否かを示す使用中フ
ラグを有する派生管理DBと、この派生管理DBでの派
生管理通番を前記トランザクションのJOB番号を単位
とした複数の派生管理通番から使用可の派生管理通番を
特定すると共に前記派生管理通番が使用中であるか否か
を示す派生インデックスビットを前記JOB番号毎に複
数有する派生インデックスDBとを備えたオンラインシ
ステムの前記演算手段を使用して派生トランザクション
を管理する派生トランザクション管理用プログラムであ
って、記録媒体に格納され、 この派生トランザクション管理用プログラムは前記演算
手段を動作させる指令として、 派生起動トランザクションの一部として実行される指令
であって、当該派生起動トランザクションのJOB番号
に応じて前記派生インデックスDBを参照し、前記派生
管理DBの派生管理通番を特定し、当該派生管理通番の
セグメントに派生起動情報を格納し、当該使用した派生
管理通番に対応する前記インデックスビット及び使用中
フラグをそれぞれ使用中の状態に更新して、当該派生ト
ランザクションを起動させる派生要求共通処理指令と、 前記派生トランザクションの一部として実行される指令
であって、前記派生要求共通処理指令に応じて派生トラ
ンザクションが起動されスケジュールされた場合に、当
該派生トランザクションに与えられた派生管理通番をキ
ー値として派生管理DBを読み込み、当該派生管理通番
の使用中フラグが使用中である場合には当該派生トラン
ザクションのオペコードに応じた派生受動業務プログラ
ムを実行させ、この派生受動業務プログラムが終了した
後に前記派生管理DBの使用中フラグを使用可に更新し
て、さらに所定の派生DB制御処理を派生トランザクシ
ョンとして起動させる派生特性管理共通処理指令と、 この派生特性管理共通指令を実行する派生トランザクシ
ョンとは別の派生トランザクションとして実行される指
令であって、前記派生受動業務プログラムを含む派生ト
ランザクションを再起動するための派生起動情報が格納
された派生管理DBの派生管理通番に対応する前記派生
インデックスDBの前記派生インデックスビットを使用
可を示すOFFに更新する派生DB制御処理指令とを備
えたことを特徴とする派生トランザクション管理用プロ
グラム。
25. A receiving means for receiving a business processing request input from a terminal or the like via a network, a calculating means for processing the business processing request received by the receiving means as an online transaction, and a business by the calculating means. A file for recording a result of the processing request, wherein the file is used for each of the derivation management serial numbers. A derivation management DB that records and has an in-use flag indicating whether the derivation management serial number is in use, and a plurality of derivation managements in which the derivation management serial number in the derivation management DB is set in units of the job number of the transaction Derivation management serial number that can be used from serial number Derived transaction management program for managing a derived transaction using the calculating means of an online system including a derived index DB having a plurality of derived index bits for each JOB number indicating whether or not a logical sequence number is in use Stored in a recording medium, and the derivative transaction management program is a command to be executed as a part of a derivative start transaction as a command for operating the arithmetic means, and is executed in accordance with a JOB number of the derivative start transaction. The derived index DB is referenced to specify the derived management serial number of the derived management DB, the derived startup information is stored in the segment of the derived management serial number, and the index bit corresponding to the used derived management serial number and the in use status are stored. Update flags to in-use status A derivative request common processing command that activates the derivative transaction, and a command that is executed as a part of the derivative transaction, wherein the derivative transaction is activated and scheduled according to the derivative request common processing command, The derived management DB is read using the derived management serial number given to the derived transaction as a key value, and when the in-use flag of the derived management serial number is being used, the derived passive business program corresponding to the operation code of the derived transaction is executed. After the derived passive business program is completed, the in-use flag of the derived management DB is updated to be usable, and a derived characteristic management common processing command for starting a predetermined derived DB control process as a derived transaction is further provided. Derived transaction that executes the characteristic management common directive And a derivation command corresponding to a derivation management serial number of a derivation management DB in which derivation start information for restarting a derivation transaction including the derivation passive business program is stored. A derivative DB control processing command for updating the derived index bit of the index DB to OFF indicating that the derived index bit is usable.
JP2001143203A 2001-05-14 2001-05-14 Transaction control system, method and program Expired - Lifetime JP3732113B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001143203A JP3732113B2 (en) 2001-05-14 2001-05-14 Transaction control system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001143203A JP3732113B2 (en) 2001-05-14 2001-05-14 Transaction control system, method and program

Publications (2)

Publication Number Publication Date
JP2002342138A true JP2002342138A (en) 2002-11-29
JP3732113B2 JP3732113B2 (en) 2006-01-05

Family

ID=18989382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001143203A Expired - Lifetime JP3732113B2 (en) 2001-05-14 2001-05-14 Transaction control system, method and program

Country Status (1)

Country Link
JP (1) JP3732113B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040094A (en) * 2004-07-29 2006-02-09 Ns Solutions Corp Unit, system and method for data processing, and its program
JP2007188119A (en) * 2006-01-11 2007-07-26 Nec Corp System adopting hot standby system and synchronization method to be used for the same
JP2008097476A (en) * 2006-10-16 2008-04-24 Hitachi Ltd Batch system of sequential processing mode
JP2009020765A (en) * 2007-07-12 2009-01-29 Hitachi Computer Peripherals Co Ltd Read/write method and computer system using the read/write method
JP2010039948A (en) * 2008-08-07 2010-02-18 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processing apparatus and program
JP4462504B1 (en) * 2009-09-23 2010-05-12 修平 西山 A multi-transaction control system with update access counters owned by the transaction process that is the starting point for maintaining consistency
JP2010532052A (en) * 2007-06-27 2010-09-30 マイクロソフト コーポレーション Dealing with incorrect parent transaction failures
WO2010134437A1 (en) * 2009-05-18 2010-11-25 Nishiyama Shuhei Meta-information sharing distributed database system in virtual single memory storage
JP2012064251A (en) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processor
JP2013145606A (en) * 2013-04-30 2013-07-25 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processing device
US9411635B2 (en) 2007-09-18 2016-08-09 Microsoft Technology Licensing, Llc Parallel nested transactions in transactional memory
CN116993505A (en) * 2023-09-25 2023-11-03 腾讯科技(深圳)有限公司 Transaction processing method, device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118841A (en) * 1988-10-28 1990-05-07 Nec Corp Input queue control system
JPH02212962A (en) * 1989-02-14 1990-08-24 Nec Corp Transaction message output control system
JPH08212163A (en) * 1995-02-06 1996-08-20 Nec Corp System for detecting program loop spread over transactions
JPH1069418A (en) * 1996-07-02 1998-03-10 Internatl Business Mach Corp <Ibm> Hierarchized transaction processing method
JP2002056182A (en) * 2000-08-10 2002-02-20 Hachijuni Bank Ltd System and method for antedated completion processing
JP2002279191A (en) * 2001-03-19 2002-09-27 Hachijuni Bank Ltd Predated completing process system and its method
JP2002536732A (en) * 1999-01-28 2002-10-29 エア フランケル How to operate infrastructure and applications for encryption-supported services

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118841A (en) * 1988-10-28 1990-05-07 Nec Corp Input queue control system
JPH02212962A (en) * 1989-02-14 1990-08-24 Nec Corp Transaction message output control system
JPH08212163A (en) * 1995-02-06 1996-08-20 Nec Corp System for detecting program loop spread over transactions
JPH1069418A (en) * 1996-07-02 1998-03-10 Internatl Business Mach Corp <Ibm> Hierarchized transaction processing method
JP2002536732A (en) * 1999-01-28 2002-10-29 エア フランケル How to operate infrastructure and applications for encryption-supported services
JP2002056182A (en) * 2000-08-10 2002-02-20 Hachijuni Bank Ltd System and method for antedated completion processing
JP2002279191A (en) * 2001-03-19 2002-09-27 Hachijuni Bank Ltd Predated completing process system and its method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040094A (en) * 2004-07-29 2006-02-09 Ns Solutions Corp Unit, system and method for data processing, and its program
JP4555624B2 (en) * 2004-07-29 2010-10-06 新日鉄ソリューションズ株式会社 Data processing system, data processing method and program thereof
JP2007188119A (en) * 2006-01-11 2007-07-26 Nec Corp System adopting hot standby system and synchronization method to be used for the same
JP2008097476A (en) * 2006-10-16 2008-04-24 Hitachi Ltd Batch system of sequential processing mode
JP2010532052A (en) * 2007-06-27 2010-09-30 マイクロソフト コーポレーション Dealing with incorrect parent transaction failures
JP2009020765A (en) * 2007-07-12 2009-01-29 Hitachi Computer Peripherals Co Ltd Read/write method and computer system using the read/write method
US9411635B2 (en) 2007-09-18 2016-08-09 Microsoft Technology Licensing, Llc Parallel nested transactions in transactional memory
JP2010039948A (en) * 2008-08-07 2010-02-18 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processing apparatus and program
WO2010134437A1 (en) * 2009-05-18 2010-11-25 Nishiyama Shuhei Meta-information sharing distributed database system in virtual single memory storage
US8140498B2 (en) 2009-05-18 2012-03-20 Shuhei Nishiyama Distributed database system by sharing or replicating the meta information on memory caches
CN102725739A (en) * 2009-05-18 2012-10-10 西山修平 Distributed database system by sharing or replicating the meta information on memory caches
JP2011070242A (en) * 2009-09-23 2011-04-07 Shuhei Nishiyama Multi-transaction control system by update access-counter included in transaction-process as starting point of consistency maintenance
JP4462504B1 (en) * 2009-09-23 2010-05-12 修平 西山 A multi-transaction control system with update access counters owned by the transaction process that is the starting point for maintaining consistency
JP2012064251A (en) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processor
JP2013145606A (en) * 2013-04-30 2013-07-25 Bank Of Tokyo-Mitsubishi Ufj Ltd Data processing device
CN116993505A (en) * 2023-09-25 2023-11-03 腾讯科技(深圳)有限公司 Transaction processing method, device, electronic equipment and storage medium
CN116993505B (en) * 2023-09-25 2024-01-16 腾讯科技(深圳)有限公司 Transaction processing method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP3732113B2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
US7380166B2 (en) Compensation framework for long running transactions
US9756469B2 (en) System with multiple conditional commit databases
US6625602B1 (en) Method and system for hierarchical transactions and compensation
US7103597B2 (en) Adaptive transaction manager for complex transactions and business process
US20040158549A1 (en) Method and apparatus for online transaction processing
US6526416B1 (en) Compensating resource managers
US9805088B2 (en) Constraint-based consistency with snapshot isolation
US6061708A (en) System and method for supporting mixed-phase transactions in an object-oriented environment
US20020178395A1 (en) Multi-agent cooperative transaction method and system
US6381617B1 (en) Multiple database client transparency system and method therefor
US6389431B1 (en) Message-efficient client transparency system and method therefor
JPH05197604A (en) Multiprocessor computer and operating method thereof
JPH06301581A (en) Mistake permission transaction directivity data processing
JP3732113B2 (en) Transaction control system, method and program
JP2011003200A (en) Method and system for managing long running transaction
US20090240742A1 (en) Transaction Log Management
Frank Evaluation of the basic remote backup and replication methods for high availability databases
JP3471728B2 (en) Future date completion processing system and method
US20060294006A1 (en) Business transaction process controller for composite transactions
JP3903471B2 (en) Complete processing system with date and time
JPH0844670A (en) File managing method, computer system using the same and operating method for computer system
JPH10232809A (en) Transaction processing system
JP3611110B2 (en) System, method and program for completion process of the previous date, program for cancel / recut main process used therefor, resource optimization system, program and program for cancel / reexecute main process used therefor
JP3941946B2 (en) A recording medium recording a program for completion processing of a previous date and a program for canceling / recutting main processing
JP3550289B2 (en) Operation information management method in multi-cluster system, multi-cluster system and program storage medium for online operation information management

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051011

R150 Certificate of patent or registration of utility model

Ref document number: 3732113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term