JPH08212119A - トランザクション処理システム及びトランザクションのコミット制御方法 - Google Patents

トランザクション処理システム及びトランザクションのコミット制御方法

Info

Publication number
JPH08212119A
JPH08212119A JP7015696A JP1569695A JPH08212119A JP H08212119 A JPH08212119 A JP H08212119A JP 7015696 A JP7015696 A JP 7015696A JP 1569695 A JP1569695 A JP 1569695A JP H08212119 A JPH08212119 A JP H08212119A
Authority
JP
Japan
Prior art keywords
commit
request
transaction
transactions
subsystem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7015696A
Other languages
English (en)
Inventor
Mitsunobu Tasaka
光伸 田坂
Motoaki Iwasaki
元昭 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7015696A priority Critical patent/JPH08212119A/ja
Publication of JPH08212119A publication Critical patent/JPH08212119A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】トランザクション処理システムにおいて、トラ
ンザクションを管理するサブシステムからデータ処理を
遂行するサブシステムへの、トランザクションのコミッ
ト制御の要求の受渡し回数を削減する。 【構成】トランザクション管理システム108は、トラ
ンザクション102〜106のコミット制御要求を受け
て、トランザクションテーブル114にそれを記録した
ときに、複数のトランザクションのコミット制御を要求
するコミット制御一括要求(124)を生成し、それを
リソース管理システム(116)に渡す手段として、一
括制御部(112)を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプログラムが投
入する要求を並行して処理し、前記プログラムが要求し
たデータ処理を遂行するサブシステムと、前記プログラ
ムが定義したトランザクションを管理するサブシステム
を含むようなトランザクション処理システムに関わるも
のである。
【0002】
【従来の技術】多くのデータ処理システムが導入してい
る概念にトランザクションがある。トランザクションと
は、アプリケーションプログラム(AP)が定義する処
理シーケンスである。データ処理システムは、データの
排他制御、障害回復などを、トランザクションを管理単
位として行なう。このようなデータ処理システムを、一
般に、トランザクション処理システムと呼ぶ。
【0003】トランザクション処理システムは、様々な
サブシステムから構成される。それらには、一般に、A
P が要求したデータ処理を遂行するシステム、APが
定義したトランザクションを管理するシステムなどがあ
る。以降では、データ処理を遂行するサブシステムのこ
とをリソース管理システム(RM)、トランザクション
を管理するサブシステムのことをトランザクション管理
システム(TM)と呼ぶ。
【0004】トランザクション処理システムは、複数の
トランザクションを並行して処理する。RMは、個々の
トランザクションが要求するデータ処理を遂行し、デー
タファイルを検索したり更新したりする。TMは、トラ
ンザクションの開始と終了を制御する。トランザクショ
ンは、自らが開始する時に、TMに対して、トランザク
ションの開始を宣言する。TMは、トランザクションに
対して一意な識別子を付与し、それを記録する。さら
に、TMは、そのトランザクションの開始を、RMに通
知する。
【0005】一方、トランザクションの終了には、二種
類の方法がある。一つ目の方法は、コミットと呼ばれ
る。コミットは、そのトランザクションが行なった全て
の処理を有効にすることを意味する。トランザクション
は、TMに対して、自らのコミットを要求し、TMは、
そのトランザクションのコミットをRMに要求する。二
つ目の方法は、ロールバックと呼ばれる。ロールバック
は、そのトランザクションが行なった全ての処理を無効
にすることを意味する。ロールバックには、さらに二つ
の方法がある。第一の方法は、トランザクションが、T
Mに対して、自らのロールバックを要求することであ
る。TMは、そのトランザクションのロールバックをR
Mに要求する。第二の方法は、TMが、トランザクショ
ンをロールバックすることを決定することである。これ
は、トランザクション処理システムに障害が発生した時
に用いられることがある。TMは、トランザクションの
ロールバックを決定すると、RMにロールバックを要求
する。トランザクション処理システムに障害が発生した
時、TMは、トランザクションのコミットを決定するこ
ともある。このような状況は、トランザクションが自ら
のコミットを要求した後、かつ、TMがそのトランザク
ションのコミットをRMに要求する前に、障害が発生し
た場合に発生する。この場合には、TMは、そのトラン
ザクションのコミットをRMに要求する。このようなト
ランザクションの終了の制御のことを、以降では、トラ
ンザクションのコミット制御と呼ぶことにする。また、
TMがRMに渡す、あるトランザクションについてのコ
ミットやロールバックの要求のことを、コミット制御要
求と呼ぶ。
【0006】このようなトランザクション処理システム
については、例えば、X/OpenCompany L
td.が、1991年に発行した”Distribut
ed Transaction Processin
g: The XA Specification”に
詳しく述べられている。上記のトランザクション処理シ
ステムにおいて、TMは、トランザクションのコミット
制御をRMに要求する必要が発生するたびに、個々のト
ランザクションごとに、そのコミット制御をRMに要求
する。
【0007】図2は、上述した従来技術によるトランザ
クション処理システムの例である。トランザクション処
理システム(100)は、複数のトランザクションを並
行処理する。図2は、トランザクションA (10
2)、B(104)、C (106)を並行処理する様
子を示している。トランザクション処理システム(10
0)は、TM(108)とRM (116)を持つ。T
M(108)は、トランザクション制御部(110)と
トランザクションテーブル(114)から成る。トラン
ザクションテーブルは、トランザクションの属性を記録
するテーブルである。トランザクションの属性には、ト
ランザクション識別子、トランザクション状態などがあ
る。トランザクション識別子とは、トランザクション処
理システムにおいて、トランザクションを一意に識別す
るための識別子である。トランザクション状態は、当該
トランザクションの処理の段階を示し、主に、障害が発
生したとき、トランザクションがいかなる状態にあった
かを判別するために用いられる。トランザクション制御
部(110)は、トランザクション(102〜106)
から、その開始要求を受けると、個々のトランザクショ
ンについて、トランザクションテーブルに、当該トラン
ザクションのためのエントリを作成し、RM(116)
に当該トランザクションの開始を通知する。さらに、ト
ランザクション制御部(110)は、トランザクション
(102〜106)からコミットやロールバックを要求
されたり、トランザクションのコミットやロールバック
を決定すると、個々のトランザクションについて、トラ
ンザクションテーブル(114)において当該トランザ
クションの状態を更新し、RM(116)に当該トラン
ザクションのコミットやロールバックの要求を示すコミ
ット制御要求(202)を渡す。
【0008】RM(116)は、データ処理部(11
8)とコミット制御部(120)から成る。データ処理
部(118)は、トランザクション(102〜106)
から、データ処理を要求されると、データファイル(1
22)の検索や更新を行なう。コミット制御部(12
0)は、TM(108)が発行した、あるトランザクシ
ョンについてのコミット制御要求(202)を受けと
り、データ処理部に渡す。データ処理部(118)は、
コミット制御要求の種類に応じて、当該トランザクショ
ンが行なった処理を有効、無効にするための処理を行な
う。
【0009】図2に示した矢印は、トランザクション
(102〜106)が、TM(108)にコミットやロ
ールバックを要求した時の、要求の受渡しや処理の流れ
を示している。いま、トランザクションA(102)、
B (104)、C(106)がコミットを要求し、そ
れらのコミットの処理が、トランザクション処理システ
ム(200)において並行して行なわれるとする。トラ
ンザクション制御部(110)は、これらのトランザク
ションを個別に処理する。つまり、例えば、A(10
2)について、トランザクションテーブル(114)を
更新して、RM(116)にAのコミットを要求し、B
(104)について、トランザクションテーブルを更新
して、RMにBのコミットを要求し、C(106)につ
いて、トランザクションテーブルを更新して、RMにC
のコミットを要求する、というように、それぞれのトラ
ンザクションを別々に処理する。RM(116)のコミ
ット制御部(120)は、トランザクションA (10
2)、B(104)、C(106)のコミット要求を、
コミット制御インタフェース(202)を介して、個別
に受けとる。ここで、コミット制御部(120)は、
A、B、Cのコミットを、データ処理部(118)に対
して、それぞれ個別に要求する。つまり、例えば、コミ
ット制御部は、A(102)のコミット要求を受けと
り、データ処理部にAのコミットを要求し、B(10
4)のコミット要求を受けとり、データ処理部にBのコ
ミットを要求し、C(106)のコミット要求を受けと
り、データ処理部にCのコミットを要求する、というよ
うに、それぞれのトランザクションを別々に処理する。
【0010】ここで、それぞれのトランザクションにつ
いてのコミット制御の処理は、時間的に、オーバーラッ
プして行なわれうることに注意されたい。つまり、トラ
ンザクション制御部(110)は、Aについて、トラン
ザクションテーブルを更新した後、Bについて、トラン
ザクションテーブルを更新し、その後に、RMにAのコ
ミットを要求するというように処理を行なうかもしれな
い。一方、TM(108)においては、RMへのA、
B、Cのコミット要求の発行の同期をとる手段がないこ
とにも留意して欲しい。トランザクション制御部(11
0)は、A、B、C、それぞれについて、RMへのコミ
ット要求を発行すべき時点がやってくると、それぞれに
ついて、RMへコミットを要求するのである。
【0011】さて、近年、図2のようなトランザクショ
ン処理システムで、RM(116)が管理するデータフ
ァイル(122)が、トランザクション(102〜10
6)及びTM(108)とは異なる計算機に存在するよ
うな構成を持つものが多くなってきている。そのような
システムでは、RMが、複数の計算機に分かれて動作す
る。つまり、データファイルを管理するために、データ
処理部(118)が、データファイルと同一の計算機に
存在し、コミット制御要求を、TMから受けるために、
コミット制御部(120)が、TMと同一の計算機に存
在する。この場合、TMからコミット制御を要求された
コミット制御部(120)は、通信ネットワークを介し
て、データ処理部(118)に、その要求を送信する。
【0012】
【発明が解決しようとする課題】上記のトランザクショ
ン処理システムでは、複数のトランザクションを並行処
理しているにもかかわらず、TMが、RMに対して、個
々のトランザクションごとに、コミット制御を要求する
ため、コミット制御のオーバヘッドが増加するという問
題があった。
【0013】すなわち、TMが、個々のトランザクショ
ンごとにコミット制御を要求すると、そのたびに、RM
へのコミット制御要求の引渡しと、RMにおける処理が
発生する。
【0014】先ず、トランザクション処理システムが単
一の計算機に存在する場合を考える。この場合、コミッ
ト制御要求により、RMの処理が発生すると、それまで
に行なっていた TMの処理を中断して、RMの処理を
行なうことになる。このような単一の計算機における異
なるサブシステム間の処理の切替えを、一般に、コンテ
クストスイッチと呼ぶ。コンテクストスイッチのオーバ
ヘッドは大きく、システムのスループットを劣化させる
ことが、よく知られている。しかも、個々のトランザク
ションごとにRMにおける処理が発生すると、個々のト
ランザクションごとにコンテクストスイッチが発生する
ことになる。
【0015】次に、トランザクション処理システムにお
いて、データファイルが異なる計算機に存在する場合を
考える。この場合、TMからRMへのコミット制御要求
が発生すると、RMにおいて、コミット制御部とデータ
処理部の間で、異なる計算機間の通信が発生することに
なる。マシンを跨いだ通信処理のオーバヘッドが大き
く、システムのスループットを劣化させることは、よく
知られている。しかも、個々のトランザクションごと
に、TMからRMへのコミット制御要求が発生するた
め、個々のトランザクションごとに、計算機間の通信が
発生することになる。
【0016】本発明の目的は、トランザクション処理シ
ステムにおいて、TMが、RMへ、複数のトランザクシ
ョンについてのコミット制御要求を、一回の要求によ
り、まとめて、引き渡すようにすることにより、TM
からRMへコミット制御を要求する際のオーバヘッドを
削減し、トランザクション処理システムのスループット
を向上することにある。
【0017】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明のトランザクション処理システムは、トラ
ンザクションを管理するサブシステムに、トランザクシ
ョンがコミット制御を要求したことを記録する手段と、
既にコミット制御を要求していた複数のトランザクショ
ンについてのコミット制御の要求を生成する手段と、前
記の複数のトランザクションについてのコミット制御要
求を、データ処理を遂行するサブシステムに渡す手段を
備える。
【0018】さらに、本発明のトランザクション処理シ
ステムは、データ処理を遂行するサブシステムに、トラ
ンザクションを管理するサブシステムから渡された、複
数のトランザクションについてのコミット制御の要求
を、個々のトランザクションについてのコミット制御要
求に分解する手段と、個々のトランザクションについて
のコミット制御要求を、当該サブシステムにおけるコミ
ット制御を行なう手段に渡す手段を備えてもよい。この
場合、データ処理を遂行するサブシステムは、前記の複
数のトランザクションについてのコミット制御要求に対
する応答を、前記のコミット制御を行なう手段が行なっ
た各トランザクションのコミット制御の結果に応じて生
成する手段と、前記の複数のトランザクションについて
のコミット制御要求に対する応答を、トランザクション
を管理するサブシステムに渡す手段を備える。
【0019】さらに、本発明のトランザクション処理シ
ステムは、データ処理を遂行するサブシステムに、トラ
ンザクションを管理するサブシステムから渡された、複
数のトランザクションについてのコミット制御要求に応
じて、複数のトランザクションを一括して処理するよう
な手段を備えてもよい。この場合、データ処理を遂行す
るサブシステムは、前記の複数のトランザクションにつ
いてのコミット制御要求に対する応答を、前記の一括処
理の結果に応じて生成する手段と、前記の複数のトラン
ザクションについてのコミット制御要求に対する応答
を、トランザクションを管理するサブシステムに渡す手
段を備える。
【0020】また、本発明のトランザクション処理シス
テムは、トランザクションを管理するサブシステムに、
データ処理を遂行するサブシステムから、前記の複数の
トランザクションについてのコミット制御要求に対する
応答を受けとり、前記の応答を、個々のトランザクショ
ンについてのコミット制御要求に対する応答に分解する
手段と、前記の個々のトランザクションについてのコミ
ット制御要求に対する応答を、コミット制御を要求した
トランザクションに返す手段を備える。
【0021】
【作用】本発明によれば、トランザクション処理システ
ムにおいて、トランザクション管理システム(TM)
は、個々のトランザクションごとに、リソース管理シス
テム(RM)にコミット制御の要求を引き渡すのではな
く、複数のトランザクションのコミット制御の要求を、
RMに一回で引き渡すことができるようになる。これに
より、TMからRMへのコミット制御の要求回数が削減
される。つまり、TMとRMの間のコンテクストスイッ
チの発生回数や、RMの内部において、通信回数の削減
などにより処理オーバヘッドを削減できるようになり、
トランザクション処理システムのスループットを向上で
きる。
【0022】
【実施例】図面を用いて、本発明の実施例を説明する。
以降では、トランザクション処理システムのことをTP
システム、トランザクションのことをTRと呼ぶこと
にする。
【0023】先ず、図1を用いて、本発明の第一の実施
例を説明する。本実施例は、本発明の原理を説明するた
めのものである。図1は、本発明を適用したTPシステ
ムの例である。図1で、TPシステム(100)は、複
数のTRを並行処理する。図1では、TR A(10
2)、B(104)、C(106)を並行処理している
様子を示している。TPシステム(100)は、TM
(108)とRM(116)から構成される。 TM
(108)は、TRの開始と終了を制御する。RM(1
16)は、TR が要求するデータファイル(122)
に対する検索や更新を遂行する。
【0024】TM(108)は、トランザクション制御
部(110)、一括制御部(112)、トランザクショ
ンテーブル(114)から構成される。以降、トランザ
クション制御部のことをTR制御部、トランザクション
テーブルのことをTRテーブルと呼ぶことにする。
【0025】TR制御部(110)は、TR(102〜
104)から開始の要求を受けると、 TRテーブル
に、それぞれのためのエントリを作成する。また、TR
制御部は、TR からコミットやロールバックの要求を
受けると、それを一括制御部(112)に渡す。また、
TR制御部は、一括制御部から、前記のコミットやロー
ルバックの要求に対する応答を受けると、その応答を要
求元のTRに返す。
【0026】一括制御部(112)は、本発明を実現す
るための主要な機能部である。一括制御部は、TR制御
部(110)から、あるTRについてのコミットやロー
ルバックの要求を受けると、当該TRについて、コミッ
トやロールバックの要求が発生したことを、TRテーブ
ル(114)に記録する。また、一括制御部は、あるT
R について、コミットやロールバックの要求の発生
を、TRテーブルに記録した時に、コミットやロールバ
ックの発生していたTR数が、ある一定数になると、前
記のコミットやロールバックの発生していたTR群につ
いてのコミット制御要求を作成する。以降では、前記の
コミットやロールバックの発生していたTRのことを、
コミット制御開始済みTRと呼ぶ。また、前記の一定数
のことを、一括要求基準値と呼ぶ。また、前記のコミッ
トやロールバックの発生していたTR群についてのコミ
ット制御要求を、コミット制御一括要求、または、単
に、一括要求と呼ぶ。図2では、コミット制御一括要求
は、一括制御部(112)とRM (116)の間の矢
印(124)で示されている。コミット制御一括要求を
作成した一括制御部は、RM(116)に、前記の一括
要求(124)を渡す。さらに、一括制御部は、 RM
(116)から、前記のコミット制御一括要求(12
4)に対する応答を受けとる。ここで、一括制御部は、
前記の応答を、個々のトランザクションについてのコミ
ット制御要求に対する応答に分解する。さらに、一括制
御部は、TRテーブル(114)から、前記の個々のト
ランザクションのエントリを削除する。さらに、一括制
御部は、トランザクション制御部(110)に、前記の
個々のトランザクションについてのコミット制御要求に
対する応答を渡す。
【0027】RM(116)は、データ処理部(11
8)、コミット制御部(120)から構成される。デー
タ処理部(118)は、TR(102〜106)からデ
ータ処理の要求を受けると、データファイル(122)
の検索や更新を行なって、結果や応答を、要求元のTR
に返す。また、データ処理部は、コミット制御部(12
0)から、コミット制御一括要求(124)を受けと
る。ここで、データ処理部は、前記の一括要求が示す個
々のTRに対するコミット制御の種類に応じて、それぞ
れのTRのコミットやロールバックを行なう。さらに、
データ処理部は、それぞれのTRのコミットやロールバ
ックの処理結果に基づいて、前記のコミット制御一括要
求(124)に対する応答を生成し、前記の応答をコミ
ット制御部(120)に返す。一方、コミット制御部
(120)は、TM(108)から、コミット制御一括
要求(124)を受けとり、データ処理部(118)に
渡す。さらに、コミット制御部は、データ処理部から、
前記のコミット制御一括要求(124)に対する応答を
受けとり、前記の応答を、TM(108)に渡す。
【0028】図1と図2の相違点は、一括制御部(11
2)にあることは明白である。図2の本発明の公知例の
TP システムでは、TM(108)は、TR(10
2〜106)からコミットやロールバックの要求を受
け、TR テーブル(114)に、当該TRのコミット
やロールバックの要求の発生を記録すると、直ちに、R
M(116)に、コミット制御要求(202)を発行す
るしかなかった。一方、図1の本発明の第一の実施例で
あるTPシステムでは、TM(108)は、TR(10
2〜106)からコミットやロールバックの要求を受
け、TRテーブル(114)に、当該TRのコミットや
ロールバックの要求の発生を記録したときに、RM
(116)にコミット制御要求(202)を発行しなく
てもよい。TMが、コミット制御開始済みTR数を監視
し、そのTR数が一括要求基準値になったときに、RM
(116)へコミット制御一括要求(124)を発行す
る手段を持つからである。
【0029】次に、図3から図7を用いて、本発明の第
二の実施例を説明する。本実施例は、本発明を適用した
TP システムの構成例と、コミット制御の一括要求
に伴う動作の様子を示すためのものである。
【0030】先ず、図3を説明する。図3は、本実施例
のTPシステムのシステム構成を示す。本実施例のTP
システム(100)は、計算機A(302)と計算機B
(304)が通信ネットワーク(300)で接続された
分散システムにおいて動作する。計算機Aには、複数の
トランザクションプロセス(305〜307)、コミッ
トプロセス(308)、及び、TRテーブル(114)
が存在する。一方、計算機Bには、RMサーバプロセス
(310)、及び、データファイル(122)が存在す
る。トランザクションプロセス(306)は、個々のT
Rを処理するプロセスである。図3では、3つのトラン
ザクションプロセス、1(305)、2(306)、3
(307)が、それぞれ、TR A(102)、B(1
04)、C (106)を処理している様子を示してい
る。コミットプロセス(308)は、 TRのコミット
制御を行なうプロセスである。RMサーバプロセス(3
10)は、データファイル(122)を管理するプロセ
スである。以下、トランザクションプロセスのことをT
Rプロセスと呼ぶ。
【0031】TM(108)は、TRプロセス(305
〜307)とコミットプロセス(308)に跨って存在
する。すなわち、TMを構成する機能部のうち、TR制
御部(110)は個々のTRプロセスにおいて動作し、
一括制御部(112)はコミットプロセスにおいて動作
する。一方、RM(116)は、コミットプロセス(3
08)とRMサーバプロセス(310)に跨って存在す
る。すなわち、コミット制御部(120)はコミットプ
ロセスにおいて動作し、データ処理部(118)はRM
サーバプロセスにおいて動作する。ここで、RM(11
6)は、複数の計算機A(302)、B(304)に跨
って動作していることに留意しておいて欲しい。つま
り、コミット制御部(120)は計算機Aにおいて、デ
ータ処理部(118)は計算機Bにおいて動作してい
る。
【0032】TRプロセス(305〜307)におい
て、TR(102〜106)は、RM(116)のデー
タ処理部(118)に対して、データ処理を要求する。
また、TR プロセスにおいて、TRは、TR制御部
(110)に対して、TRの開始や終了を要求する。T
R制御部(110)は、TRの開始を要求されると、T
Rテーブル(114)に当該TRのエントリを作成す
る。また、TR制御部は、コミットやロールバックを要
求されると、コミットプロセス(308)の一括制御部
(112)に、前記のコミットやロールバックの要求を
渡す。さらに、TR制御部は、一括制御部(112)か
ら、前記のコミットやロールバックの要求に対する応答
を受けとり、前記の応答を、TRに返す。
【0033】コミットプロセス(308)において、一
括制御部(112)は、トランザクションテーブル管理
部(1082)と一括要求処理部(1084)から構成
される。以降、トランザクションテーブル管理部のこと
を、TRテーブル管理部と呼ぶ。TRテーブル管理部
(1082)は、TRプロセス(305〜307)のT
R制御部(110)からTR(102〜106)のコミ
ットやロールバックの要求を受けとり、TRテーブル
(114)に、当該TRがコミットやロールバックを要
求されたことを記録する。さらに、TRテーブル管理部
(1082)は、TRテーブルを参照して、コミット制
御開始済みのTR数を調べ、前記のTR数が一括要求基
準値になっていれば、一括要求処理部(1084)にコ
ミット、あるいは、ロールバックの一括要求の発行処理
を行なうように命令する。一方、一括要求処理部(10
84)は、前記のコミット制御開始済みのTR群につい
てのコミット制御一括要求を生成し、RM(116)の
コミット制御部(120)に渡す。さらに、一括要求処
理部(1084)は、コミット制御部(120)から前
記のコミット制御一括要求に対する応答を受けとり、前
記の応答を、前記のコミット制御一括要求が対象とした
各TR (102〜106)のコミットやロールバック
の要求に対する応答に分解し、前記の各TRを処理して
いるTRプロセス(305〜307)のTR制御部(1
10)に渡す。
【0034】RM(116)のコミット制御部(12
0)は、一括要求処理部(1084)から、コミット制
御一括要求を受けとり、RMサーバプロセス(310)
のデータ処理部(118)に送信する。また、コミット
制御部は、データ諸理部(118)から、前記のコミッ
ト制御一括要求に対する応答を受けとる。
【0035】RMサーバプロセス(310)において、
データ処理部(118)は、TRプロセス(306)の
TR (102〜106)から、データ処理の要求を受
けとり、データファイル(122)を検索、更新する。
また、データ処理部は、コミットプロセス(308)の
コミット制御部(120)からコミット制御一括要求を
受けとり、前記の要求が示す複数トランザクションにつ
いて、前記の要求が示すコミット制御の処理を行なう。
さらに、データ処理部は、前記のコミット制御一括要求
に対する応答を、コミット制御部(120)に返す。
【0036】次に、図4を説明する。図4は、TRテー
ブル(114)の例である。TRテーブル(114)
は、TP システム(100)が処理している個々のT
Rについてのエントリ(400)、コミットチェインア
ンカー(408)、ロールバックチェインアンカー(4
12)から構成される。
【0037】TRテーブルのエントリ(400)は、4
つのフィールド(401)から構成される。トランザク
ション識別子(402)は、TPシステム(100)に
おいて、TRを一意に識別する識別子である。トランザ
クションプロセス番号(403)は、当該エントリのT
Rを処理するTRプロセスを識別する番号である。トラ
ンザクション状態(404)は、当該エントリのTRが
いかなる状態にあるかを示す。例えば、図4は、TR
A(102)が”COMMIT_REQUESTED”
なる状態にあり、TR B(104)が”PROCES
SING”なる状態にあることを示している。ここ
で、”COMMIT_REQUESTED”は、当該T
Rが、TM(108)に対して、既にコミットを要求し
たことを示し、”ROLLBACK_REQUESTE
D”は、当該TRが、TM(108)に対して、既にロ
ールバックを要求したことを示す。一方、”PROCE
SSING”は、当該TRがまだいかなるコミット制御
の要求も発行していないことを示す。エントリポインタ
(406)は、他のエントリの格納場所を示すデータで
ある。以降では、エントリポインタ(406)が持つデ
ータを、TRテーブル(114)内の矢印で現し、これ
をチェインと呼ぶ。また、このチェインによって、ある
エントリと他のエントリが結ばれることになるが、これ
をエントリがチェインにつながれている、と表現する。
TRテーブル(114)には、二種類のチェインが存
在する。コミットチェイン(416)は、既にコミット
を要求したTRをつないでおくチェインであり、ロール
バックチェイン(412)は、既にロールバックを要求
したTRをつないでおくチェインである。それぞれのチ
ェインの最後尾のエントリのエントリポインタ(40
6)は、”NULL”なるデータを持つ。
【0038】コミットチェインアンカー(408)は、
コミット要求済TR数(410)とエントリポインタ
(406)を持つデータである。コミット要求済TR数
(410)は、コミットチェイン(416)につながれ
ているTR数、つまり、既にコミットを要求したTRの
数を示す。コミットチェインアンカーのエントリポイン
タ(406)には、コミットチェインの先頭エントリを
つないでおくが、コミットチェインにいかなるエントリ
もつながれていないときには、このエントリポインタ
は”NULL”なるデータを持つ。ロールバックチェイ
ンアンカー(412)は、ロールバック要求済TR数
(410)とエントリポインタ(406)を持つデータ
である。ロールバック要求済TR数(410)は、ロー
ルバックチェイン(416)につながれているTR数、
つまり、既にロールバックを要求したTRの数を示す。
ロールバックチェインアンカーのエントリポインタ(4
06)には、ロールバックチェインの先頭エントリをつ
ないでおくが、ロールバックチェインにいかなるエント
リもつながれていないときには、このエントリポインタ
は”NULL”なるデータを持つ。
【0039】次に、図5を説明する。図5は、コミット
制御一括要求(124)の例である。コミット制御一括
要求(124)は、コミット制御種別(502)、トラ
ンザクション数(504)、及び、複数のトランザクシ
ョン識別子(506)から構成される。コミット制御種
別(502)は、当該一括要求が、コミットを要求する
ものかロールバックを要求するものかの区別を示す。図
5のコミット制御一括要求(124)は、コミットを示
す一括要求である。トランザクション数(504)は、
当該一括要求が一括するTRの数を示す。図5の一括要
求(124)では、3つのTRについての要求であるこ
とを示している。トランザクション識別子(506)
は、当該一括要求が含む各TRの識別子である。
【0040】次に、図6から図11を用いて、TRがコ
ミットを要求したときの本実施例のTPシステム(10
0)の動作を説明する。なお、以下では、一括要求基準
値を3として説明を進める。
【0041】先ず、図6を説明する。図6は、TR(1
02〜106)がコミットを要求したときの、TRプロ
セス(305〜307)におけるTR制御部(110)
の動作の流れを示している。TR制御部(110)は、
TRがコミット要求を発行すると、TRから前記のコ
ミット要求を受け取り(602)、当該TRのコミット
要求を、コミットプロセス(308)の一括制御部(1
12)に送信し(604)、前記コミット要求への応答
待ちに入る(606)。次に、TR制御部(110)
は、一括制御部(112)から、前記コミット要求への
応答を受信すると(608)、受信した応答を、当該T
Rプロセスが処理している TRへ返す(610)。
【0042】次に、図7を説明する。図7は、TR(1
02〜106)がコミットを要求したときの、コミット
プロセス(308)の一括制御部(112)におけるT
Rテーブル管理部(1082)の動作の流れを示す。T
Rテーブル管理部(1082)は、TR制御部(11
0)から、あるTR(102〜106)のコミット要求
が送信されてくるのを待っており(702)、TR制御
部(110)が図6のステップ604で送信したコミッ
ト要求を受信する(704)。次に、TRテーブル管理
部は、TRテーブル(114)において、当該コミット
要求を発行したTRのエントリを探す(706)。次
に、TRテーブル管理部は、ステップ706で見つけた
当該TRのエントリにおいて、トランザクション状態
(404)を”COMMIT_REQUESTED”に
更新する(708)。次に、TRテーブル管理部は、コ
ミットチェインアンカー(408)のエントリポインタ
(406)を出発点にして、コミットチェイン(41
6)をたどり(710)、コミットチェインの最後尾の
エントリを探す。そして、TRテーブル管理部は、ステ
ップ704で受信したコミット要求の発行元TRのエン
トリを、コミットチェインの最後尾につなげる(71
2)。このとき、コミットチェインアンカーのエントリ
ポインタがNULLである場合には、前記TRのエント
リを、コミットチェインアンカーに直接につなげること
になる。次に、TRテーブル管理部は、コミットチェイ
ンアンカー(408)のコミット要求済TR数(41
0)をインクリメントする(714)。さらに、TRテ
ーブル管理部は、前記のコミット要求済TR数が一括要
求基準値(本実施例では3)に達しているかを調べる
(716)。達していない場合には、ステップ702に
戻る。達している場合には、一括要求処理部(108
4)に、コミットを示す一括要求(124)の発行処理
を命令して(718)、ステップ702に戻る。
【0043】次に、図8を説明する。図8は、TR(1
02〜106)がコミットを要求したときの、コミット
プロセス(308)の一括制御部(112)における一
括要求処理部(1084)の動作の流れを示す。一括要
求処理部(1084)は、図7のステップ718でTR
テーブル管理部(1082)が発行した一括要求の発行
命令を受けて、以下の処理を開始する。先ず、一括要求
処理部は、TRテーブル(114)を参照し、コミット
チェイン(416)につながれた全エントリのTRをリ
ストアップし、それらについて、コミットを示すコミッ
ト制御一括要求(124)を生成する(802)。次
に、一括要求処理部は、生成した一括要求を、RM(1
16)のコミット制御部(120)に渡す(804)。
次に、一括要求処理部は、コミット制御部(120)か
ら、前記の一括要求に対する応答を受け(806)、ス
テップ802でリストアップしたTRそれぞれのコミッ
ト要求への応答に分解する(808)。次に、一括要求
処理部は、TRテーブル(114)において、コミット
チェインアンカー(408)のコミット要求済TR数を
0に更新し、コミットチェイン(416)につながって
いる全エントリを、コミットチェインからとりはずす
(810)。このとき、コミットチェインからとりはず
されたエントリのエントリポインタ(406)はNUL
Lに更新される。最後に、一括要求処理部は、ステップ
808で生成した各TRのコミット要求への応答を、そ
れぞれのTRを処理するTRプロセス(305〜30
7)のTR制御部(110)に送信する(812)。一
括要求処理部は、これを、TRテーブル(114)の各
TRのエントリのTRプロセス番号(403)を参照し
て、各TRを処理しているTRプロセスを識別すること
により行う。
【0044】次に、図4、及び、図9と図10を用い、
図7と図8で説明した、本実施例のTPシステム(10
0)におけるコミット制御一括要求の発行の制御メカニ
ズムについて、例を用いて具体的に説明する。先ず、T
Rテーブル(114)が図4に示した状態にあるとき
に、TR B(104)がコミットを要求したときの、
本実施例のTPシステム(100)の動作について説明
する。図4においては、TR A(102)のエントリ
のみがコミットチェイン(416)につながれている。
これは、コミット要求を発行した TRが、TR Aの
みであることを示す。さて、ここで、TR Bがコミッ
トを要求すると、TRテーブル管理部(1082)が、
図7のステップ708〜714で説明したような処理を
行って、TRテーブル(114)は、図9に示したよう
な状態になる。図9では、コミットチェイン(416)
には、TR AとBのエントリがコミットチェインにつ
ながれ、コミット要求済TR数(410)は2になって
いる。ここで、図7のステップ716で説明したよう
に、TRテーブル管理部がコミット要求済TR数と一括
要求基準値を比較する。本実施例における一括要求基準
値は3であるので、TRテーブル管理部は、TR Bの
コミット要求についての処理をひとまず中断して、再
び、TRプロセスからのコミット要求の受信待ちに入
る。
【0045】次に、TRテーブル(114)が図9に示
した状態にあるときに、TR C(106)がコミット
を要求したときの、本実施例のTPシステム(100)
の動作について説明する。TRテーブル管理部(108
2)が図7のステップ714の処理を行った時点で、T
Rテーブル(114)は図10のような状態になる。図
10では、コミットチェイン(416)には、TR
A、B、Cのエントリがコミットチェインにつながれ、
コミット要求済TR数(410)は3になっている。こ
こで、TRテーブル管理部が、図7のステップ716に
おいて、コミット要求済TR数が一括要求基準値に達し
たことを検出し、一括要求処理部(1084)にコミッ
ト制御一括要求の生成と発行を命令する。
【0046】次に、図11を説明する。図11は、TR
(102〜106)がコミットを要求したときの、RM
(116)の動作の流れを示す。先ず、コミットプロセ
ス(308)において、コミット制御部(120)がコ
ミット制御一括要求(124)を、一括制御部(11
2)から受け取り(1102)、RMサーバプロセス
(310)のデータ処理部(118)に送信する(11
04)。次に、データ処理部(118)は、コミット制
御部から前記のコミット制御一括要求を受信すると(1
106)、前記一括要求が示すTRについてのコミット
を実行する(1108)。次に、データ処理部(11
8)は、ステップ1108の処理結果に応じて、前記の
コミット制御一括要求(124)に対する応答を生成
し、コミット制御部(120)に送信する(111
0)。次に、コミット制御部(120)が、ステップ1
110でデータ処理部が送信した応答を受信し(111
2)、一括制御部(112)に、前記のコミット制御一
括要求に対する応答を渡す(1114)。
【0047】本発明の第二の実施例において、図6から
図11では、TR(102〜106)がコミットを要求
したときの動作を主に説明したが、TR(102〜10
6)がロールバックを要求したときの動作も同様であ
る。この場合、一括制御部(112)は、図7と図8に
おいて、コミットチェインアンカー(408)やコミッ
トチェイン(406)を用いて処理を行っていたのを、
かわりに、ロールバックチェインアンカー(412)や
ロールバックチェイン(416)を用いて処理を行う。
【0048】また、本発明の第二の実施例では、TRテ
ーブル(114)は、コミットチェインアンカー(40
8)やロールバックチェインアンカー(412)を一つ
ずつしか持っていなかったが、TRテーブル(114)
が、それらを複数個ずつ備えることもできる。この場
合、コミットチェインアンカーやロールバックチェイン
アンカーは、それぞれに空きがあるか一杯であるかを示
すフラグデータを持つ。ここで、一杯とは、コミット要
求済TR数(410)が一括要求基準値に達しているこ
と、空きとは、達していないことを意味する。TRテー
ブル管理部(1082)は、図7のステップ718で、
一括要求処理部(1084)に一括要求発行処理を命令
する前に、前記のフラグデータを一杯を示すように更新
しておく。TRテーブル管理部(1082)は、図7の
ステップ704で、TRからのコミット要求を受けたと
き、前記のフラグデータによって、複数のコミットチェ
インアンカーのうちで、空きがあるものを選択し、それ
を用いて以降の処理を行う。なお、この場合、一括要求
処理部は、図8のステップ810で、前記のフラグデー
タを空きであることを示すように更新する。
【0049】以上で説明した本発明の第二の実施例か
ら、本発明のTPシステムでは、複数のTR(102〜
106)がコミットを要求したとき、TM(112)
は、それぞれのTRのコミット要求を、ばらばらに、R
M(116)に要求するのではなく、前記の複数のTR
のコミットを、一つの要求、つまり、コミット制御一括
要求(124)をRMに渡すことにより、要求できるこ
とがわかる。さらに、これにより、RM(116)にお
いて、コミット制御部(120)が、個々のTRのコミ
ット要求を、ばらばらに、データ処理部(118)へ送
信するのではなく、前記のコミット制御一括要求を送信
できるようになることがわかる。つまり、複数のTRの
コミット制御において、計算機A(302)と計算機B
(304)の間の通信ネットワークを介した通信回数
を、TR数分の回数だけ発生させるのではなく、一回に
することができたのである。
【0050】次に、本発明の第三の実施例を説明する。
第二の実施例では、RMサーバプロセス(310)とデ
ータファイル(122)が計算機B(304)に存在し
ていたが、第三の実施例のTPシステムでは、RM サ
ーバプロセス(310)とデータファイル(122)が
計算機A(302)に存在する。第三の実施例のTPシ
ステムの動作は、第二の実施例で説明したものと同様で
ある。第三の実施例では、RM(116)のコミット制
御部(120)とデータ処理部(118)の間のコミッ
ト制御一括要求の受渡しによって、RMサーバプロセス
(310)における処理が発生し、コミットプロセス
(308)からRM サーバプロセス(310)へのコ
ンテクストスイッチが起こる。ここで、本発明の公知例
のTPシステムでは、前記のコンテクストスイッチが、
コミット制御部とデータ処理部の間のコミット制御要求
の受渡しの回数、つまり、コミットを要求したTR数分
の回数だけ発生する。これに対して、本発明のTP シ
ステムにおいては、前記のコンテクストスイッチの発生
を、複数のTRについて、コミット制御一括要求の受渡
しのさいの一回にすることができる。
【0051】次に、本発明の第四の実施例を説明する。
第二の実施例のTPシステムにおいて、TM(108)
は、コミットやロールバックを要求したTRが、ある一
定数に達したときに、それらのTRについてのコミット
制御一括要求を生成し、RM(116)に渡していた。
対して、第四の実施例のTPシステムでは、TM (1
08)の一括要求処理部(1084)が、定期的に、つ
まり、ある一定の時間間隔ごとに、繰り返し、コミット
チェイン(416)やロールバックチェイン(418)
につながれているエントリの TR群についてのコミッ
ト制御一括要求を生成、発行する。また、第四の実施例
において、一括要求処理部(1084)は、定期的に、
コミット要求済TR数(410)やロールバック要求済
TR数(414)を参照して、それらが一括要求基準値
以上になっていれば、コミット制御一括要求の生成、発
行を行なうこともできる。
【0052】次に、本発明の第五の実施例を説明する。
第二の実施例のTPシステムにおいて、TM(108)
は、 TR(102〜106)がコミットやロールバッ
クを要求したときに、図7と図8に示したような、コミ
ット制御一括要求を発行する処理を行なうようになって
いた。対して、第四の実施例のTPシステムでは、TM
(108)は、TRがコミットやロールバックを要求し
たときだけでなく、TPシステムに障害が発生し、TR
プロセス(305〜307)によるTRの処理、コミッ
トプロセス(308)によるコミット制御、RMサーバ
プロセスによるデータ処理やコミット制御などが中断し
たときに、前記TPシステムが処理しているTRをコミ
ットするかロールバックするかを決定し、複数のTRに
ついてのコミット制御一括要求(124)をRM(11
6)に渡すための処理を行なう。本実施例のTPシステ
ムでは、障害の発生後に、TRテーブル管理部(108
2)が、TRテーブル(114)を参照して、TRテー
ブルに登録されているTRのうち、処理が中断したもの
について、コミットするかロールバックするかを決定
し、それらをコミットチェイン(416)やロールバッ
クチェイン(418)につなぐ。その後、TRテーブル
管理部(1082)が、一括要求処理部(1084)に
一括要求の発行処理を命令する。一括要求処理部(10
84)は、第二の実施例における図8と同様の処理を行
なう。
【0053】次に、本発明の第六の実施例を説明する。
第二の実施例のTPシステムにおいては、TRが一つの
計算機、つまり、計算機A(302)のみに存在してい
た。対して、第六の実施例のTPシステムにおいては、
TRが複数の計算機に存在し、それぞれの計算機に、T
Rプロセス(305〜307)、TRテーブル(11
4)、コミットプロセス(308)が存在する。本実施
例において、データファイル(122)及びRMサーバ
プロセス(310)は、複数の計算機に存在してもよい
し、単一の計算機に存在してもよい。また、複数の計算
機のTR(102〜106)、及び、コミットプロセス
(308)のコミット制御部(120)は、どの計算機
のRMサーバプロセス(310)のデータ処理部(11
8)にデータ処理の要求やコミット制御一括要求を渡し
てもよい。
【0054】本実施例においては、異なる計算機に存在
する複数のTRが、親子関係を有する。例えば、計算機
A (302)のTR A(102)は、他の計算機に
子のTRを持つ。「子」とは、「親」のTRが何らかの
処理を要求した先のTRである。このような親子関係を
持つTR群のコミット制御においては、一般に、それら
全てのTRの終了状態を一致させなければならないこと
が知られている。すなわち、TR Aをコミットするな
らば、TR Aと親子関係を持つ全TRをコミットしな
ければならない。そのうち、一つのTRでもロールバッ
クすれば、各計算機において行なわれた各TRの処理の
間に矛盾が発生してしまうからである。このため、本実
施例のTPシステムでは、親TRがコミットやロールバ
ックを要求すると、当該TRを処理するTRプロセスの
TR制御部(110)が、子TRを処理するTRプロセ
スのTR制御部(110)にコミット制御の要求を送信
する。子TRを処理するTRプロセスのTR制御部(1
10)は、受信したコミット制御の要求を、子TRのコ
ミット制御の要求として扱う。また、本実施例におい
て、親TRを処理するTRプロセスのTR制御部(11
0)は、子TRが存在する計算機のコミットプロセス
(308)に、直接、前記の子TRのコミット制御の要
求を送信することもできる。この場合には、前記のコミ
ットプロセス(308)の一括制御部(112)が、受
信したコミット制御の要求を、前記の子TRのコミット
制御の要求として扱う。
【0055】本実施例のTPシステムの、各計算機にお
けるTM(108)及びRM(116)の動作は、第二
の実施例と同様である。本実施例から、本発明によれ
ば、複数の計算機で動作するトランザクション処理シス
テムで、複数の計算機に跨って分散するトランザクショ
ンを処理するようなシステムにおいても、各計算機にお
いて、TM(108)が、RM(116)に、複数のト
ランザクションについてのコミット制御一括要求を渡す
ことができるようになり、トランザクション処理システ
ムのスループットを向上できることがわかる。
【0056】
【発明の効果】本発明によれば、トランザクション処理
システムにおいて、複数のトランザクションが並行処理
されるとき、トランザクションを管理するサブシステム
が、データ処理を遂行するサブシステムに、トランザク
ションのコミットやロールバックを要求する回数を削減
できる。これにより、トランザクションのコミット制御
における処理オーバヘッドが削減され、トランザクショ
ン処理システムのスループットが向上する。
【図面の簡単な説明】
【図1】本発明のトランザクション処理システムの原理
を示すための図であり、第一の実施例のトランザクショ
ン処理システムの構成図である。
【図2】本発明の公知例のトランザクション処理システ
ムの構成図である。
【図3】第二の実施例のトランザクション処理システム
の構成図である。
【図4】第二の実施例の一時点におけるトランザクショ
ンテーブルの例である。
【図5】第二の実施例におけるコミット制御一括要求の
例である。
【図6】第二の実施例におけるトランザクション制御部
の動作の流れを示す。
【図7】第二の実施例におけるトランザクションテーブ
ル管理部の動作の流れを示す。
【図8】第二の実施例における一括要求処理部の動作の
流れを示す。
【図9】第二の実施例の一時点におけるトランザクショ
ンテーブルの例である。
【図10】第二の実施例の一時点におけるトランザクシ
ョンテーブルの例である。
【図11】第二の実施例におけるリソース管理部の動作
の流れを示す。
【符号の説明】
100…トランザクション処理システム、102、10
4、106…トランザクション、
108…トランザクション管理システム、
110…トランザク
ション制御部、112…一括制御部、
114…トランザクションテーブル、116…リソー
ス管理システム、 118…データ処理部、12
0…コミット制御部、 122…データフ
ァイル、124…コミット制御一括要求、 108
2…トランザクションテーブル管理部、
1084…一括要求処理部。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】複数のプログラムが投入する要求を並行し
    て処理し、前記プログラムが要求したデータ処理を遂行
    するサブシステムと、前記プログラムが定義したトラン
    ザクションを管理するサブシステムから構成されるよう
    なトランザクション処理システムであり、 前記のトランザクションを管理するサブシステムに、前
    記トランザクションのコミット制御の要求が発生したと
    きに、前記トランザクションのコミット制御の要求が発
    生したことを記録しておく手段と、コミット制御の要求
    が発生した複数のトランザクションについて、前記の複
    数のトランザクションのコミット制御の要求を示すデー
    タを生成し、前記データを、前記のデータ処理を遂行す
    るサブシステムに渡す手段と、前記の複数のトランザク
    ションについてのコミット制御の要求に対する応答を、
    前記のデータ処理を遂行するサブシステムから受けとる
    手段と、前記の応答に基づいて、前記の複数のトランザ
    クションそれぞれについての、前記プログラムが発行し
    たコミット制御の要求への応答を生成する手段を備える
    ことを特徴とするトランザクション処理システム。
  2. 【請求項2】請求項1記載のトランザクション処理シス
    テムであり、 前記のデータ処理を遂行するサブシステムに、トランザ
    クションを管理するサブシステムから渡された、複数の
    トランザクションについてのコミット制御の要求を、個
    々のトランザクションについての要求に分解する手段
    と、前記の個々のトランザクションについての要求を、
    当該サブシステムにおけるコミット制御を行なう手段に
    渡す手段と、前記の複数のトランザクションについての
    コミット制御の要求に対する応答を、前記のコミット制
    御を行なう手段が行なった各トランザクションのコミッ
    ト制御の結果に応じて生成する手段と、前記の複数のト
    ランザクションについてのコミット制御の要求に対する
    応答を、トランザクションを管理するサブシステムに渡
    す手段を備えることを特徴とするトランザクション処理
    システム。
  3. 【請求項3】請求項1記載のトランザクション処理シス
    テムであり、 前記のデータ処理を遂行するサブシステムに、トランザ
    クションを管理するサブシステムから渡された、複数の
    トランザクションについてのコミット制御の要求に応じ
    て、複数のトランザクションを一括して処理するような
    手段と、前記の複数のトランザクションについてのコミ
    ット制御の要求に対する応答を、前記の一括処理の結果
    に応じて生成する手段と、前記の複数のトランザクショ
    ンについてのコミット制御の要求に対する応答を、トラ
    ンザクションを管理するサブシステムに渡す手段を備え
    ることを特徴とするトランザクション処理システム。
  4. 【請求項4】請求項1記載のトランザクション処理シス
    テムであり、 前記のトランザクションを管理するサブシステムに、コ
    ミット制御の要求が発生したトランザクション数を監視
    し、前記のコミット制御の要求が発生したトランザクシ
    ョン数がある一定数以上になると、前記の複数のトラン
    ザクションのコミット制御の要求を生成し、前記のデー
    タ処理を遂行するサブシステムに渡す手段に、処理を行
    なうように命令する手段を備えることを特徴とするトラ
    ンザクション処理システム。
  5. 【請求項5】請求項1記載のトランザクション処理シス
    テムであり、 前記のトランザクションを管理するサブシステムに、あ
    る一定の時間間隔ごとに、前記の複数のトランザクショ
    ンのコミット制御の要求を生成し、前記のデータ処理を
    遂行するサブシステムに渡す手段に、処理を行なうよう
    に命令する手段を備えることを特徴とするトランザクシ
    ョン処理システム。
  6. 【請求項6】複数のプログラムが投入する要求を並行し
    て処理し、前記プログラムが要求したデータ処理を遂行
    するサブシステムと、前記プログラムが定義したトラン
    ザクションを管理するサブシステムから構成されるよう
    なトランザクション処理システムにおける、 前記のトランザクションを管理するサブシステムが、前
    記プログラムが前記トランザクションのコミットやロー
    ルバックを要求したときに、前記トランザクションのコ
    ミットやロールバックの要求が発生したことを記録して
    おき、コミットやロールバックの要求が発生した複数の
    トランザクションについて、前記の複数のトランザクシ
    ョンのコミットやロールバックの要求を示すデータを生
    成し、前記データを、前記のデータ処理を遂行するサブ
    システムに渡すことを特徴とするトランザクションのコ
    ミット制御方法。
  7. 【請求項7】複数の計算機が通信ネットワークで接続さ
    れた分散システムにおいて動作し、 複数のプログラムが投入する要求を並行して処理し、前
    記プログラムが要求したデータ処理を遂行するサブシス
    テムと、前記プログラムが定義したトランザクションを
    管理するサブシステムから構成されるシステムを、前記
    の各計算機に備えるようなトランザクション処理システ
    ムであり、 前記の各計算機において、前記のトランザクションを管
    理するサブシステムに、前記トランザクションのコミッ
    ト制御の要求が発生したときに、前記トランザクション
    のコミット制御の要求が発生したことを記録しておく手
    段と、コミット制御の要求が発生した複数のトランザク
    ションについて、前記の複数のトランザクションのコミ
    ット制御の要求を示すデータを生成し、前記データを、
    前記のデータ処理を遂行するサブシステムに渡す手段
    と、前記の複数のトランザクションについてのコミット
    制御の要求に対する応答を、前記のデータ処理を遂行す
    るサブシステムから受けとる手段と、前記の応答に基づ
    いて、前記の複数のトランザクションそれぞれについて
    の、前記プログラムが発行したコミット制御の要求への
    応答を生成する手段を備えることを特徴とするトランザ
    クション処理システム。
JP7015696A 1995-02-02 1995-02-02 トランザクション処理システム及びトランザクションのコミット制御方法 Pending JPH08212119A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7015696A JPH08212119A (ja) 1995-02-02 1995-02-02 トランザクション処理システム及びトランザクションのコミット制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7015696A JPH08212119A (ja) 1995-02-02 1995-02-02 トランザクション処理システム及びトランザクションのコミット制御方法

Publications (1)

Publication Number Publication Date
JPH08212119A true JPH08212119A (ja) 1996-08-20

Family

ID=11895943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7015696A Pending JPH08212119A (ja) 1995-02-02 1995-02-02 トランザクション処理システム及びトランザクションのコミット制御方法

Country Status (1)

Country Link
JP (1) JPH08212119A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235763A (ja) * 2005-02-22 2006-09-07 Ricoh Co Ltd データ送信装置、データ収集装置、データ送信方法、データ収集方法、データ送信プログラム、データ収集プログラムおよびコンピュータ読み取り可能な記録媒体
CN100435101C (zh) * 2003-06-10 2008-11-19 国际商业机器公司 在软件环境中用于保持资源完整性的装置和方法
JP2009223557A (ja) * 2008-03-14 2009-10-01 Canon Inc 情報送信装置及び送信状態管理装置
JP2011180649A (ja) * 2010-02-26 2011-09-15 Nec Corp データ処理システム、データ処理方法およびデータ処理プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100435101C (zh) * 2003-06-10 2008-11-19 国际商业机器公司 在软件环境中用于保持资源完整性的装置和方法
JP2006235763A (ja) * 2005-02-22 2006-09-07 Ricoh Co Ltd データ送信装置、データ収集装置、データ送信方法、データ収集方法、データ送信プログラム、データ収集プログラムおよびコンピュータ読み取り可能な記録媒体
JP2009223557A (ja) * 2008-03-14 2009-10-01 Canon Inc 情報送信装置及び送信状態管理装置
US8443061B2 (en) 2008-03-14 2013-05-14 Canon Kabushiki Kaisha Data transmission method and communication control apparatus
JP2011180649A (ja) * 2010-02-26 2011-09-15 Nec Corp データ処理システム、データ処理方法およびデータ処理プログラム

Similar Documents

Publication Publication Date Title
JPH08153027A (ja) 並列データベースにおける分散要求の管理システム及び方法
JP2005025432A (ja) トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
JPH06202996A (ja) 加入者分散2相コミット・プロトコルの拡張機能
JP2004152247A (ja) 移動コンピュータ環境におけるトランザクションキャッシュ一貫性維持システム及びその方法
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
KR20050035301A (ko) 이종의 프로세스들을 통합하도록 적응된 데이터 프로세싱시스템
JPH08212119A (ja) トランザクション処理システム及びトランザクションのコミット制御方法
CN111475480B (zh) 一种日志处理方法及系统
US7502899B2 (en) Write set boundary management in support of asynchronous update of secondary storage
JP2944123B2 (ja) データベースの検索方法
JP2000020619A (ja) トランザクション補償システム
JP3050322B2 (ja) データ等価方法および計算機システム
US20160011903A1 (en) Computer system, computer system management method and program
JPH06274432A (ja) 分散計算機システム管理方式およびその管理方法
JP3003759B2 (ja) ジョブ制御方式
JPH06110850A (ja) オンラインシステムの負荷分散方式
JP2001306380A (ja) 二相コミット回避方式およびそのプログラム記録媒体
JPH1185528A (ja) 情報処理装置、ソフトウエア配布方法および記録媒体
JP2002099510A (ja) 複数トランザクション処理システム
JP2000047986A (ja) トランザクション処理システム
JPH03196341A (ja) オンライン・システムにおけるデータ同期管理方式
JP2002082847A (ja) 計算機システムおよびネームサーバおよびサーバアドレスの応答方法
JP2743786B2 (ja) オンラインサブシステム実行システム
JPH02197948A (ja) ファイル転送方式
JPH08147203A (ja) トランザクション処理システム