JPH11161530A - トランザクション処理システム - Google Patents

トランザクション処理システム

Info

Publication number
JPH11161530A
JPH11161530A JP32567297A JP32567297A JPH11161530A JP H11161530 A JPH11161530 A JP H11161530A JP 32567297 A JP32567297 A JP 32567297A JP 32567297 A JP32567297 A JP 32567297A JP H11161530 A JPH11161530 A JP H11161530A
Authority
JP
Japan
Prior art keywords
processing
processing system
transaction
message
server process
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
JP32567297A
Other languages
English (en)
Inventor
Toshiyuki Inoue
利行 井上
Sadamasa Adachi
定昌 安達
Seiichi Kowada
誠一 古和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP32567297A priority Critical patent/JPH11161530A/ja
Publication of JPH11161530A publication Critical patent/JPH11161530A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数のリソース間での分散デッドロックの発
生を回避することが可能なトランザクション処理システ
ムを提供する。 【解決手段】 遅延更新管理処理43は、データベース
管理システムにトランザクション開始の宣言43aを行
い、未処理電文読込み43bに移行する。この処理43
bでは、仕向側データベース45内の電文テーブル49
にアクセスし、完了フラグが「未完了」の電文を検索し
未処理電文として読込む。該当する宛先への電文送信及
び結果受信43cの処理では、上記読込んだ未処理電文
を「送信元」と「電文ID」と共に、宛先とサービス名
とに従って処理装置F側に送信する。振替入金51での
処理結果が送信されるのを受信する。完了フラグを
「済」にするための更新43dでは、処理43cで受信
した該当電文に対する振替入金51での処理結果を電文
テーブル49の「完了フラグ」に書込む。正しく処理さ
れたときのみ「未完了」を「完了」に変更する。この処
理43dが終了するとデータベース管理システムに、ト
ランザクション完了の宣言43eを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、トランザクション
処理システムの改良に関するものである。以下、ユーザ
が銀行口座にオンラインで預金や振込等の取引を行う処
理を例にとり説明する。
【0002】
【従来の技術】従来、複数の処理装置を備えるオンライ
ントランザクション処理システムにおいて、データベー
ス等のリソースを各処理装置に分散した環境で各処理装
置により分散処理されるトランザクションの整合性を保
障するために、図1に示す2フェーズ(2相)コミット
方式を採用したシステムが知られている。
【0003】上記システムでは、システムを構成する複
数の端末(図示しない)のいずれかからトランザクショ
ンの要求が送信されると、それを複数の処理装置(符号
A、Bで示す2台のみ図示)のうちの処理装置Aが受付
ける。そして、一連の処理を実行すべく、処理装置Aの
業務アプリケーション(業務AP)である振替支払処理
1と、処理装置Bの業務APである振替入金処理7とが
起動する。
【0004】
【発明が解決しようとする課題】ところで、図1のシス
テムにおいては、トランザクションの原子性(トランザ
クションが分割できない1つの処理単位であるというこ
と)を保全するため、処理装置Bの処理が処理装置Aの
延長で同一トランザクションとして実行される。換言す
れば、振替支払処理1がリソースマネージャ3から振替
支払用テーブル5にアクセス(矢印2)して行う一連の
処理と、振替入金処理7がリソースマネージャ9から振
替入金用テーブル11にアクセス(矢印8)して行う一
連の処理とを、処理1から処理7への呼出し処理(矢印
6)により同期処理としている。
【0005】このように、処理装置A側の処理と処理装
置B側の処理とを同期処理としているので、処理装置A
側での一連の処理と処理装置B側での一連の処理とが共
に完了するまでは、関連する全ての環境が上記各一連の
処理のために運用可能でなければならない。よって、処
理装置A、Bは自己の処理を夫々独立して行うことがで
きない。そのため、処理装置A、Bのいずれか一方での
処理が不適切であったときは、トランザクションの要求
を発した端末に対し、応答できないという問題が生じ
る。
【0006】また、振替支払処理1と振替入金処理7と
を同期処理とするために必要なリソースマネージャ3、
9間の同期は、2相コミット方式により保障されてい
る。しかし、2相コミット方式では、コーディネータで
あるデータベース管理システム(DBMS)によって行
われる2相コミットメント処理が準備段階(仮更新)と
実施段階(実更新)との2相に分割される。
【0007】そのため、トランザクションのコミットフ
ェーズ中に、トランザクションコーディネータ10とリ
ソースマネージャ3及び9との間において夫々行われる
通信処理が、準備段階と実施段階とで各1往復ずつ、合
計2往復必要になる。また、各リソース(テーブル5、
11等)で準備段階と実施段階とで各1回ずつ、合計2
回のディスクアクセスを行わなくてはならない。よっ
て、コミット処理の負荷が大きくなる。
【0008】また、振替支払処理1がリソースマネージ
ャ3にアクセスするのみならず、振替入金処理7への呼
出し処理6によりリソースマネージャ9にもアクセスす
るため、リソースマネージャ3、9間で分散デッドロッ
クが発生する可能性があり、その場合はスループットが
低下する。分散デッドロックが発生するとスループット
が低下する理由は、以下のようである。即ち、2相コミ
ット方式では通常、分散デッドロックの検出にタイマを
用いるが、タイマによる分散デッドロックの検出には通
常数秒から数十秒もの時間(タイマが切れて分散デッド
ロックと見做されるまでに要する時間)を要する。OL
TPシステムではデッドロックとなったリソースに対し
ては、デッドロックが解決されるまで他のトランザクシ
ョンからアクセスすることができない。よってこれが原
因でシステムのスループットが著しく低下することがあ
る。
【0009】更に、分散デッドロックに陥ったトランザ
クションは、上記タイマが切れて分散デッドロックと見
做される上記数秒から数十秒が経過するまでの間、処理
を中断され、処理を完了させることができず、そのため
上記時間が経過するまでは端末に対して応答することが
できない。よって、分散デッドロック時のレスポンスが
遅いという問題もあった。
【0010】従って、本発明の目的は、複数のリソース
間での分散デッドロックの発生を回避することが可能な
トランザクション処理システムを提供することにある。
【0011】
【課題を解決するための手段】本発明の第1の側面に従
うトランザクション処理システムは、ネットワーク上の
複数のノードにサーバプロセスが分散されている環境に
おいて、各サーバプロセスが、夫々が存在するノード上
に置かれたリソースにのみアクセスする。
【0012】上記構成によれば、各サーバプロセスが、
夫々が存在するノード上に置かれたリソースにのみアク
セスするため、同一のリソースに複数の処理装置上のサ
ーバプロセスが同時にアクセスすることがなく、そのた
め、分散デッドロックの発生を防止できる。
【0013】本発明の第1の側面に係る好適な実施形態
では、サーバプロセスのうちの1つが、ネットワーク上
のクライアントから送出されるトランザクションの要求
を受けて所定の処理を実行し、他のサーバプロセスにト
ランザクションの要求を通知する。また、他のサーバプ
ロセスが、トランザクションの要求を通知したサーバプ
ロセスから独立して所定の処理を実行する。上述した1
つのサーバプロセスは、所定の処理が完了した時点で他
のサーバプロセスの処理結果如何に関わらず、処理結果
をクライアントに回答する。よって、クライアントへの
応答が大幅に遅延することがない。
【0014】本発明の第2の側面に従うトランザクショ
ン処理システムは、ネットワーク上の複数のノードにサ
ーバプロセスが分散されている環境において、1つのサ
ーバプロセスがリソースにアクセスした後に、別のサー
バプロセスがリソースにアクセスするよう、各サーバプ
ロセスのリソースに対するアクセスを規制する手段を備
える。
【0015】上記構成によれば、1つのサーバプロセス
がリソースにアクセスした後に、別のサーバプロセスが
リソースにアクセスするよう、各サーバプロセスのリソ
ースに対するアクセスを規制するので、仮に、複数のサ
ーバプロセスが同一のリソースにアクセスしようとして
も、規制手段によりアクセスが規制されるため、分散デ
ッドロックの発生を防止できる。
【0016】本発明の第2の側面に係る好適な実施形態
では、サーバプロセスのうちの1つが、ネットワーク上
のクライアントから送出されるトランザクションの要求
を受けたとき、リソースにアクセスし処理結果をクライ
アントに回答する。また、規制手段は、任意のタイミン
グで、又は定期的に起動される。別のサーバプロセス
は、規制手段から上記1つのサーバプロセスにおける処
理結果の通知を受けたとき、リソースにアクセスする。
【0017】また、上記実施形態では、各サーバプロセ
スが実行した処理結果が正常か否かを示すデータを保持
する手段を備える。規制手段は、各サーバプロセスが実
行した処理が正常か否かを判定して、その判定結果をデ
ータ保持手段に書込む。規制手段は、データ保持手段に
書込まれたデータから各サーバプロセスが実行した処理
結果中に正常でないものを見出したときに、対応するサ
ーバプロセスにその旨を再度通知する。
【0018】また、規制手段は、システムエラーが生じ
たときは、そのエラーが解消した後に再起動するように
なっている。そのため、システム回復後は、必ず処理が
実行される。なお、リソースについては、各ノードに分
散されていても良いし、同一のノードに備えられていて
も差支えない。
【0019】
【発明の実施の形態】以下、本発明の実施の形態を、図
面により詳細に説明する。
【0020】図2は、本発明の一実施形態に係るトラン
ザクション処理システムを示すブロック図である。
【0021】上記システムも、図1に示したシステムと
同様、複数の処理装置(符号C、Dで示す2台のみ図
示)と、オンラインを通じてこれらの処理装置C、Dに
接続される複数の端末(図示しない)とを備える。
【0022】処理装置C、Dは、各々に分散して割当て
られたデータベース等のリソースを各処理装置C、Dに
おいて個別に処理(分散処理)すべく設置されるもので
ある。処理装置Cには、業務APとしてインストールさ
れる振替支払のための一連の処理(振替支払)21と、
データベース中にリソースとして格納される振替支払用
テーブル25と、この振替支払用テーブル25を管理す
るためのリソースマネージャ23とを備える。一方、処
理装置Dには、業務APとしてインストールされる振替
入金のための一連の処理(振替入金)27と、データベ
ース中にリソースとして格納される振替入金用テーブル
31と、この振替入金用テーブル31を管理するための
リソースマネージャ29とを備える。
【0023】処理装置Cにおいて、振替支払21は、ト
ランザクション開始の宣言21aと、振替支払処理21
bと、振替入金処理用メッセージ送信21cと、トラン
ザクション完了の宣言21dの各処理を一連の処理とし
て含む。振替支払21において、複数の端末(図示しな
い)のいずれかがトランザクションの要求をオンライン
で送信することにより、リソースマネージャ23へのト
ランザクション開始の宣言21aを行う。次いで振替支
払処理21bを実行するときに、矢印22で示すように
リソースマネージャ23を通じて振替支払用テーブル2
5にアクセスする。更に、支払処理21bに続く振替入
金処理用メッセージ送信21cを実行するときに、処理
装置Cから処理装置Dに対するメッセージ送信26を行
う。
【0024】一方、処理装置Dにおいて、振替入金27
は、振替入金処理用メッセージ受信27aと、トランザ
クション開始の宣言27bと、振替入金処理27cと、
トランザクション完了の宣言27dの各処理を一連の処
理として含む。振替入金27は、振替入金処理用メッセ
ージ受信27aにおいて上記メッセージ送信26により
処理装置Cから送信された振替入金処理用メッセージを
受信することによって起動する。しかし、本実施形態で
は、図1のシステムのように2相コミット方式を採用し
ていないため、トランザクション開始27bに続く振替
入金処理27c以下の処理は、非同期処理で行われる。
【0025】ここで、非同期処理とは、振替支払処理2
1cにおいて行うリソースマネージャ23を通じた振替
支払用テーブル25へのアクセス22と、振替入金処理
27において行うリソースマネージャ29を通じた振替
支払用テーブル31へのアクセス28とが、非同期で行
われることをいう。
【0026】換言すれば、メッセージ送信26による処
理装置Dでの処理結果を、処理装置Cが受領すると否と
に関わらず、処理装置Cは処理装置Dから独立して振替
支払21に規定された処理を続行し、他方、処理装置D
は処理装置Cから独立して振替入金27に規定された処
理を続行する。
【0027】従って、処理装置Cは、処理装置Dにおけ
る振替入金処理27cの結果を受領しないときでも、振
替入金処理用メッセージ送信21cの処理が終了すると
リソースマネージャ23に対するトランザクション完了
の宣言21d以降の処理に移行する。一方、処理装置D
は、処理装置C側の処理とは全く無関係に任意のタイミ
ングで振替入金27の処理を実行し、振替入金処理27
cが完了した時点でタイミングを見計らって、その処理
結果を処理装置Cに通知し、リソースマネージャ29に
対するトランザクション完了の宣言27d以降の処理に
移行する。
【0028】上記システムでは、処理装置C側の業務A
Pである振替支払21は、処理装置C側のリソースであ
る振替支払用テーブル25のみにリソースマネージャ2
3を通じて1相コミット方式でアクセスして振替支払2
1に規定された一連の処理を1つのトランザクションと
して逐次実行する。また、処理装置D側の業務APであ
る振替入金27についても、処理装置D側のリソースで
ある振替入金用テーブル31のみにリソースマネージャ
29を通じて1相コミット方式でアクセスして振替入金
27に規定された一連の処理を別のトランザクションと
して逐次実行する。そのため、図1のシステムのよう
に、振替支払21と振替入金27とを1つのトランザク
ションとして処理する必要がないので、振替支払21が
振替入金27を通じて処理装置D側のリソースである振
替入金用テーブル31にアクセスすることがない。よっ
て、複数のリソース(この場合は、テーブル25、3
1)間での分散デッドロックの発生を防止でき、分散デ
ッドロックが原因でシステムのスループットが低下する
ことが防止できる。
【0029】また、振替支払21が振替支払用テーブル
25にアクセスして行う一連の処理と、振替入金27が
振替入金用テーブル31にアクセスして行う一連の処理
とは非同期であるため、処理装置C側のトランザクショ
ン処理については関連するリソースとして振替支払用テ
ーブル25のみが運用中であれば良い。同様に、処理装
置D側のトランザクション処理については関連するリソ
ースとして振替入金用テーブル31のみが運用中であれ
ば良いことになる。
【0030】更に、上記システムでは、処理装置Cが行
う処理(この場合は、振替支払21)と、処理装置Dが
行う処理(この場合は、振替入金27)とが独立してい
るので、処理装置Cでの処理が終了した時点で、処理装
置Cから端末(図示しない)に応答できる。そのため、
端末への応答が遅れるのを防止できる。そして、処理装
置Dでの処理は、処理装置Cでの処理が終了した後の任
意のタイミングで実行することができる。よって、処理
装置Dでの処理を、例えば処理装置(C、D)の負荷が
低いときを見計らって行うことができるので、システム
を効率的に運用することが可能になる。
【0031】図3は、本発明の一実施形態の変形例に係
るトランザクション処理システムのブロック図である。
【0032】図3のシステムは、遅延更新処理方式を採
用したもので、内部的に振替支払処理(仕向側処理)と
振替入金処理(被仕向側処理)とに分かれる銀行の振替
処理に適用されている例を示す。
【0033】図3において、複数の処理装置E、Fは、
各々が割当てられたリソースを分散処理する環境下に置
かれている。処理装置Eには、仕向側処理シーケンスを
実行するための適用業務APとして上記振替支払21と
略同様の振替支払41が、遅延更新管理処理シーケンス
を実行するための適用業務APとして遅延更新管理処理
43が、仕向側処理のデータベースとして仕向側データ
ベース45が、夫々備えられる。また、処理装置Fに
は、被仕向側処理シーケンスを実行するための適用業務
APとして上記振替入金27と略同様の振替入金51
が、被仕向側処理のデータベースとして被仕向側データ
ベース53が、夫々備えられる。
【0034】処理装置Eにおいて、振替支払41は、ト
ランザクション開始の宣言41aと、振替支払処理41
bと、電文挿入41cと、トランザクション完了の宣言
41dの各処理を一連の処理として含む。遅延更新管理
処理43は、トランザクション開始の宣言43aと、未
処理電文読込み43bと、該当する宛先への電文送信及
び結果受信43cと、完了フラグを「済」にするための
更新43dと、トランザクション完了の宣言43dの各
処理を一連の処理として含む。仕向側データベース45
は、データベース管理システム(図示しない)によって
管理されており、上述した振替支払用テーブル25と同
様の振替支払用テーブル47と、電文テーブル49とを
備える。
【0035】一方、処理装置Fにおいて、振替入金51
は、トランザクション開始の宣言51aと、2重実行チ
ェック51bと、振替入金処理51cと、電文ID登録
51dと、トランザクション完了の宣言51eの各処理
を一連の処理として含む。被仕向側データベース53
は、上述したデータベース管理システムとは別のデータ
ベース管理システム(図示しない)によって管理されて
おり、上述した振替入金用テーブル31と同様の振替入
金用テーブル55と、完了トランザクションテーブル5
7とを備える。
【0036】次に、仕向側処理シーケンスを説明する。
仕向側処理シーケンスは、処理装置E側の適用業務AP
である振替支払41によって実行されるシーケンスであ
る。
【0037】まず、オンラインで接続される複数の端末
(図示しない)のうちのいずれかから、トランザクショ
ンの要求(メッセージ)が送信されると、それを処理装
置Eが受信し、振替支払41が処理装置E側のデータベ
ース管理システム(図示しない)に対してトランザクシ
ョン開始の宣言41aを行う。
【0038】次に、振替支払側(仕向側)の処理である
振替支払処理41bに移行する。振替支払処理41bで
は、矢印42で示すようにデータベース管理システムを
通じて、仕向側データベース45内の振替支払用テーブ
ル47にアクセスし、振替支払処理41bを行うのに必
要な各種データの検索や、振替支払処理41bの結果得
られたデータによる従前のデータの更新処理を行う。こ
の処理に続いて電文挿入41cに移行する。
【0039】電文挿入41cでは、矢印44で示すよう
にデータベース管理システムを通じて、仕向側データベ
ース45内の電文テーブル49にアクセスし、電文テー
ブル49に電文IDや、宛先や、送信先サービス名や、
振替入金側(被仕向側)に送信したい電文や、完了フラ
グ「未完了」を挿入する処理を実行する。この電文挿入
41cの処理が終了すると、振替支払41は上述したデ
ータベース管理システム(図示しない)に対し、トラン
ザクション完了の宣言41dを行う。
【0040】ここで、上述した振替支払用テーブル47
と電文テーブル49とは、共に仕向側データベース45
内に格納されているため、同一のデータベース管理シス
テム(図示しない)によって管理されるので、これらの
テーブル47、49は一括して確定される。つまり、振
替支払処理41bが成功したときには、電文挿入41c
も必ず成功し、振替支払処理41bが失敗したときに
は、電文挿入41cも必ず失敗する。よって、電文テー
ブル49に電文挿入41cを行うのは、振替支払処理4
1bが成功して他の処理装置、即ち、処理装置Fで振替
入金51を行う必要が生じたときのみとなり、振替支払
処理41bが失敗したときには電文テーブル49への電
文挿入を行わない。
【0041】更に、振替支払41はトランザクション完
了の宣言41dを行った後、トランザクションの要求を
行った端末(図示しない)に対し、振替支払41の処理
結果を回答する。この回答では、端末(図示しない)に
は振替支払(仕向側処理)41の処理結果のみを通知
し、振替入金51(被仕向側処理)の処理結果は通知し
ない。従って、端末(図示しない)は、振替入金51
(被仕向側処理)の処理結果については関知しないこと
になる。
【0042】次に、遅延更新管理処理シーケンスを説明
する。この遅延更新管理処理シーケンスも、上述した仕
向側処理シーケンスと同様、処理装置E側の適用業務A
Pである遅延更新管理処理43によって実行されるシー
ケンスである。遅延更新管理処理シーケンスは、上述し
た仕向側処理シーケンスと後述する被仕向側処理シーケ
ンスとの間の連携をとるためのもので、例えば上記シス
テムの運用者により任意のタイミングで実行すること
も、タイマ等によって定期的に実行することも可能であ
る。
【0043】まず、上述したデータベース管理システム
と同一のデータベース管理システム(図示しない)に対
し、トランザクション開始の宣言43aを行う。次に、
未処理電文読込み43bに移行する。未処理電文読込み
43bでは、上記データベース管理システムを通じて、
仕向側データベース45内の電文テーブル49にアクセ
スする。そして、矢印46で示すように電文テーブル4
9から未処理電文、即ち完了フラグが「未完了」となっ
ている電文を検索し、読込む。電文の検索及び読込み処
理は、1件毎或いは複数件を纏めて同時に行われる。
【0044】次に、該当する宛先への電文送信及び結果
受信43cの処理に移行する。この処理43cでは、上
記未処理電文読込み43bにおいて電文テーブル49か
ら読込んだ未処理電文を「送信元」と「電文ID」と共
に、その宛先とサービス名とに従って該当する適用業務
APである処理装置F側の振替入金51に矢印50で示
すように送信する。上記「送信元」及び「電文ID」
は、被仕向側処理シーケンスである振替入金51の2重
実行チェック51bの処理を行うとき、使用される。そ
して、振替入金51での処理結果が矢印52で示すよう
に振替入金51から送信されるのを受信する。なお、電
文の送信及び結果受信は、1件毎に送受信しても良い
し、複数件纏めて送受信しても良い。
【0045】次に、完了フラグを「済」にするための更
新43d、即ち、完了フラグ書込みの処理に移行する。
この処理43dでは、処理43cで受信した上記該当電
文に対する振替入金51(被仕向側)での処理結果を、
矢印48で示すように電文テーブル49(仕向側)の
「完了フラグ」に書込む。書込みにおいて、振替入金5
1で正しく処理されたときのみ「未完了」を「完了」に
変更し、処理が失敗したときには上記変更は行わない。
この完了フラグの更新処理43dは、1件の電文毎に行
っても良いし、複数件の電文を一括して行っても良い。
この更新処理43dが終了すると、遅延更新管理処理4
3は、上述したデータベース管理システム(図示しな
い)に対し、トランザクション完了の宣言43eを行
う。
【0046】上述した遅延更新管理処理43によれば、
通信障害等が原因で遅延更新管理処理シーケンスが途中
で失敗しても、遅延更新管理処理シーケンスが次回に実
行されるときに、未処理の電文(処理が途中で失敗した
電文も含む)は再度処理対象となる。そのため、通信障
害等の過渡的な障害が発生しても、上記システムの信頼
性が損なわれることはない。但し、適用業務APにバグ
等の恒久的な障害が発生したときは、自動的に回復させ
ることができないために、オペレータ等により対処する
ことになる。
【0047】上述した遅延更新管理処理シーケンスを定
期的に実行することにより、通信エラーのような過渡的
なエラーが原因で一時的に未処理となっている電文があ
ったとしても、いずれ処理が実行され、上記システム内
のリソースの一貫性は自動的に復元される。但し、恒久
的なエラーが発生したときには、そのエラーの原因を除
去するための異常系処理を実行した後に、遅延更新管理
処理シーケンスを行う必要がある。
【0048】次に、被仕向側処理シーケンスを説明す
る。この被仕向側処理シーケンスは、処理装置F側の適
用業務APである振替入金51によって実行されるシー
ケンスである。
【0049】まず、遅延更新管理処理43から送信され
る矢印50で示したメッセージとして、上述した電文を
受信する。送信される電文が1件のときは1件毎に処理
し、送信される電文が複数件纏められているときは、そ
れらを1件毎に逐次処理するか、或いは、それらを並行
して同時処理することになる。
【0050】次に、処理装置F側のデータベース管理シ
ステム(図示しない)に対し、トランザクション開始の
宣言51aを行い、2重実行チェック51bの処理に移
行する。
【0051】この2重実行チェック51bでは、上記デ
ータベース管理システムを通じて、被仕向側データベー
ス53内の完了トランザクションテーブル57にアクセ
スする。そして、矢印58で示すように、上記テーブル
57に記録済みの、処理が完了したトランザクションの
「送信元」及び「電文ID」の一覧を読出し、その一覧
と、遅延更新管理処理43から受信した電文の「送信
元」及び「電文ID」との照合を行う。この照合によ
り、上述した該当電文が既に処理済みか、つまり、該当
電文が2重に実行されてしまう危険性があるか否かをチ
ェックする。このチェックの結果、既に処理済みのとき
は、「完了」として遅延更新管処理43に処理結果を回
答し、該当電文が2重に実行されるのを回避する。
【0052】次に、振替入金処理51cに移行する。こ
の振替入金処理51cでは、矢印54で示すように、上
記データベース管理システムを通じて被仕向側データベ
ース53内の振替入金用テーブル55にアクセスし、振
替処理のうちの入金側の処理を行う(支払側の処理につ
いては、振替支払41で説明した)。即ち、振替入金処
理51cを行うのに必要な各種データの検索や、振替入
金処理51cの結果得られたデータによる従前のデータ
の更新処理を行う。この処理に続いて電文ID登録51
dに移行する。
【0053】この電文ID登録51dでは、矢印56で
示すように、上記データベース管理システムを通じて完
了トランザクションテーブル57にアクセスし、テーブ
ル57に該当電文の「送信元」及び「電文ID」を登録
する。この電文ID登録51dが終了すると、振替入金
51は、上述したデータベース管理システム(図示しな
い)に対し、トランザクション完了の宣言51eを行
う。
【0054】更に、振替入金51はトランザクション完
了の宣言51eを行った後、遅延更新管理処理43に処
理結果を回答する。
【0055】図4は、図3の遅延更新処理方式を採用し
たトランザクション処理システムに用いられるデータベ
ースの説明図である。
【0056】電文テーブル49は、図3において説明し
た内容から明らかなように、被仕向側(受信側)として
の処理装置Fに送信する電文を格納するためのテーブル
であり、仕向側(送信側)としての処理装置Eのユーザ
データが書込まれる振替支払用テーブル47と同一のデ
ータベース内に配置される。よって、テーブル47、4
9が同一のデータベース管理システム(図示しない)に
より管理されるため、1つのトランザクションから両方
のテーブル47、49にアクセスしても、これらのデー
タ間の整合性は上記データベース管理システム(図示し
ない)が自動的に保障してくれる。
【0057】上述したように、電文テーブル49には、
仕向側の適用業務APである振替支払41により、被仕
向側に送信したい電文の「電文ID」「宛先」「送信先
のサービス名」「電文内容」が書込まれる。電文ID
は、電文を識別するためのもので、各処理装置E、Fが
各々電文を受付けたとき、各処理装置E、Fにより夫々
付与されるものである。遅延更新管理処理43によっ
て、完了フラグが「未完了」の電文が検索され、読込ま
れる。この電文が被仕向側に送信され、正常に処理が完
了すると、遅延更新管理処理43によって完了フラグに
「完了」が書込まれる。
【0058】完了トランザクションテーブル57は、完
了したトランザクションを記録するためのテーブルで、
被仕向側(受信側)としての処理装置Fのユーザデータ
が書込まれる振替入金用テーブル55と同一のデータベ
ース内に配置される。よって、テーブル55、57が同
一のデータベース管理システム(図示しない)により管
理されるため、1つのトランザクションから両方のテー
ブル55、57にアクセスしても、これらのデータ間の
整合性は上記データベース管理システム(図示しない)
が自動的に保障してくれる。
【0059】上述したように、完了トランザクションテ
ーブル57には、被仕向側の適用業務APである振替入
金51による被仕向側の処理に使用された電文の「送信
元」、「電文ID」が書込まれる。振替入金51によっ
て同一電文が過去に既に実行済みのものか否かをチェッ
クするため、テーブル57に同一「送信元」、同一「電
文ID」の電文が存在しているか否かが検索される。
【0060】上述した内容は、あくまで本発明の一実施
形態及びその変形例に関するものであって、本発明が上
記内容のみに限定されることを意味するものでないのは
勿論である。例えば、上述した実施形態では、振替支払
側のデータと振替入金側のデータとが異なるデータベー
スに格納されている場合を例にとって説明したが、これ
ら両データが同一のデータベースに格納されている場合
でも、本発明は適用可能である。また、上記内容は銀行
の振替処理に関するものであったが、本発明の適用範囲
は、銀行の振替処理に限定されないのは勿論である。
【0061】
【発明の効果】以上説明したように、本発明によれば、
複数のリソース間での分散デッドロックの発生を回避す
ることが可能なトランザクション処理システムを提供す
ることができる。
【図面の簡単な説明】
【図1】2相コミット方式を採用した従来のトランザク
ション処理システムのブロック図。
【図2】本発明の一実施形態に係るトランザクション処
理システムのブロック図。
【図3】一実施形態の変形例に係る、遅延更新処理方式
を採用したトランザクション処理システムのブロック
図。
【図4】図3の遅延更新処理方式に用いられるデータベ
ースの説明図。
【符号の説明】
C、D、E、F 処理装置 21、41 振替支払処理 23、29 リソースマネージャ 25、47 振替支払用テーブル 27、51 振替入金処理 31、55 振替入金用テーブル 43 遅延更新管理処理 45 仕向側データベース 49 電文テーブル 53 被仕向側データベース 57 完了トランザクションテーブル

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 ネットワーク上の複数のノードにサーバ
    プロセスが分散されている環境において、 各サーバプロセスが、夫々が存在するノード上に置かれ
    たリソースにのみアクセスすることを特徴とするトラン
    ザクション処理システム。
  2. 【請求項2】 請求項1記載のトランザクション処理シ
    ステムにおいて、 前記サーバプロセスのうちの1つが、前記ネットワーク
    上のクライアントから送出されるトランザクションの要
    求を受けて、他のサーバプロセスに前記トランザクショ
    ンの要求を通知することを特徴とするトランザクション
    処理システム。
  3. 【請求項3】 請求項1又は請求項2記載のトランザク
    ション処理システムにおいて、 他のサーバプロセスが、前記トランザクションの要求を
    通知したサーバプロセスから独立して所定の処理を実行
    することを特徴とするトランザクション処理システム。
  4. 【請求項4】 請求項2記載のトランザクション処理シ
    ステムにおいて、 前記1つのサーバプロセスが、所定の処理が完了した時
    点で他のサーバプロセスの処理結果如何に関わらず、処
    理結果を前記クライアントに回答することを特徴とする
    トランザクション処理システム。
  5. 【請求項5】 ネットワーク上の複数のノードにサーバ
    プロセスが分散されている環境において、 1つのサーバプロセスがリソースにアクセスした後に、
    別のサーバプロセスがリソースにアクセスするよう、各
    サーバプロセスのリソースに対するアクセスを規制する
    手段を備えることを特徴とするトランザクション処理シ
    ステム。
  6. 【請求項6】 請求項5記載のトランザクション処理シ
    ステムにおいて、 前記サーバプロセスのうちの1つが、前記ネットワーク
    上のクライアントから送出されるトランザクションの要
    求を受けたとき、リソースにアクセスし処理結果を前記
    クライアントに回答することを特徴とするトランザクシ
    ョン処理システム。
  7. 【請求項7】 請求項5記載のトランザクション処理シ
    ステムにおいて、 前記規制手段が、任意のタイミングで、又は定期的に起
    動することを特徴とするトランザクション処理システ
    ム。
  8. 【請求項8】 請求項5又は請求項6記載のトランザク
    ション処理システムにおいて、 前記別のサーバプロセスが、前記規制手段から前記1つ
    のサーバプロセスにおける処理結果の通知を受けたと
    き、リソースにアクセスすることを特徴とするトランザ
    クション処理システム。
  9. 【請求項9】 請求項5記載のトランザクション処理シ
    ステムにおいて、 各サーバプロセスが実行した処理結果が正常か否かを示
    すデータを保持する手段を備え、 前記規制手段が、前記各サーバプロセスが実行した処理
    が正常か否かを判定して、その判定結果を前記データ保
    持手段に書込むことを特徴とするトランザクション処理
    システム。
  10. 【請求項10】 請求項9記載のトランザクション処理
    システムにおいて、 前記規制手段が、前記データ保持手段に書込まれたデー
    タから各サーバプロセスが実行した処理結果中に正常で
    ないものを見出したとき、対応するサーバプロセスにそ
    の旨を再度通知することを特徴とするトランザクション
    処理システム。
  11. 【請求項11】 請求項5記載のトランザクション処理
    システムにおいて、 前記規制手段が、システムエラーが生じたときは、上記
    エラーが解消した後に再起動することを特徴とするトラ
    ンザクション処理システム。
  12. 【請求項12】 請求項5記載のトランザクション処理
    システムにおいて、 前記リソースが、各ノードに分散されていることを特徴
    とするトランザクション処理システム。
  13. 【請求項13】 請求項5記載のトランザクション処理
    システムにおいて、 前記リソースが、同一のノードに備えられることを特徴
    とするトランザクション処理システム。
JP32567297A 1997-11-27 1997-11-27 トランザクション処理システム Pending JPH11161530A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32567297A JPH11161530A (ja) 1997-11-27 1997-11-27 トランザクション処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32567297A JPH11161530A (ja) 1997-11-27 1997-11-27 トランザクション処理システム

Publications (1)

Publication Number Publication Date
JPH11161530A true JPH11161530A (ja) 1999-06-18

Family

ID=18179435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32567297A Pending JPH11161530A (ja) 1997-11-27 1997-11-27 トランザクション処理システム

Country Status (1)

Country Link
JP (1) JPH11161530A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076861A (ja) * 2001-08-31 2003-03-14 Ufj Bank Ltd 外国為替取引処理システム及び処理方法及び並びコンピュータ・ソフトウエア
JP2006185130A (ja) * 2004-12-27 2006-07-13 Sumitomo Mitsui Banking Corp 金融商品提供システムおよび方法
JP2008227703A (ja) * 2007-03-09 2008-09-25 Hitachi Ltd メッセージ送受信システム及び送受信方法
JP2011227713A (ja) * 2010-04-20 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> データ投入方法及びデータ投入システム
JP2013137714A (ja) * 2011-12-28 2013-07-11 Oki Electric Ind Co Ltd 振込管理システム、振込管理サーバ、方法、およびプログラム
US8527501B2 (en) 2010-07-01 2013-09-03 International Business Machines Corporation Method, system, and program for combining and processing transactions
WO2016157359A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 口座データ管理システム
CN112383588A (zh) * 2020-10-23 2021-02-19 汇智点亮科技(北京)有限公司 一种调整资源顺序延迟执行方法、系统及云平台
US11853980B2 (en) 2018-09-14 2023-12-26 Jpmorgan Chase Bank, N.A. System and method for implementing transaction processing ecosystems

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076861A (ja) * 2001-08-31 2003-03-14 Ufj Bank Ltd 外国為替取引処理システム及び処理方法及び並びコンピュータ・ソフトウエア
JP2006185130A (ja) * 2004-12-27 2006-07-13 Sumitomo Mitsui Banking Corp 金融商品提供システムおよび方法
JP2008227703A (ja) * 2007-03-09 2008-09-25 Hitachi Ltd メッセージ送受信システム及び送受信方法
JP2011227713A (ja) * 2010-04-20 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> データ投入方法及びデータ投入システム
US8527501B2 (en) 2010-07-01 2013-09-03 International Business Machines Corporation Method, system, and program for combining and processing transactions
JP2013137714A (ja) * 2011-12-28 2013-07-11 Oki Electric Ind Co Ltd 振込管理システム、振込管理サーバ、方法、およびプログラム
WO2016157359A1 (ja) * 2015-03-30 2016-10-06 株式会社野村総合研究所 口座データ管理システム
JPWO2016157359A1 (ja) * 2015-03-30 2018-01-18 株式会社野村総合研究所 口座データ管理システム
RU2673098C1 (ru) * 2015-03-30 2018-11-22 Номура Рисерч Инститьют, Лтд. Система управления данными счетов
US10726402B2 (en) 2015-03-30 2020-07-28 Nomura Research Institute, Ltd. Account data management system
US11853980B2 (en) 2018-09-14 2023-12-26 Jpmorgan Chase Bank, N.A. System and method for implementing transaction processing ecosystems
CN112383588A (zh) * 2020-10-23 2021-02-19 汇智点亮科技(北京)有限公司 一种调整资源顺序延迟执行方法、系统及云平台
CN112383588B (zh) * 2020-10-23 2023-09-29 汇智点亮科技(北京)有限公司 一种调整资源顺序延迟执行方法、系统及云平台

Similar Documents

Publication Publication Date Title
US5802062A (en) Preventing conflicts in distributed systems
CA2344311C (en) Protocol for replicated servers
US5504900A (en) Commitment ordering for guaranteeing serializability across distributed transactions
US8418191B2 (en) Application flow control apparatus
US20020035590A1 (en) Guaranteed end-to-end transaction execution in a client/server environment
US9189303B2 (en) Shadow queues for recovery of messages
JPH09251412A (ja) 分散データベーストランザクションのコミットメント方法
CN102971711A (zh) 用于处理批工作单元的设备
JP5686034B2 (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
US6389431B1 (en) Message-efficient client transparency system and method therefor
US8606833B2 (en) Method and system of committing operations of a synchronized transaction
CN112671827B (zh) 一种分布式事务最终一致性方法
CN104065636A (zh) 数据处理方法和系统
US8301750B2 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
JPH11161530A (ja) トランザクション処理システム
EP0747814A1 (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
CN110941622A (zh) 一种数据处理方法及装置
US20050265362A1 (en) Message relay program and message relay device
JP3627619B2 (ja) 二相コミット回避方式およびそのプログラム記録媒体
CN113867984A (zh) 一种分布式事务处理方法、装置和设备
JP2000194624A (ja) 計算機システムおよび通信回復方法
Swanson et al. MVS/ESA coupled-systems considerations
EP1197856A2 (en) Guaranteed end-to-end transaction execution in a client/server environment
CN113849278A (zh) 全局事务处理方法及系统
JP2002099510A (ja) 複数トランザクション処理システム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20040903