JPH10240553A - Exclusive control system and method for resource for distributed transaction processing system - Google Patents

Exclusive control system and method for resource for distributed transaction processing system

Info

Publication number
JPH10240553A
JPH10240553A JP9332684A JP33268497A JPH10240553A JP H10240553 A JPH10240553 A JP H10240553A JP 9332684 A JP9332684 A JP 9332684A JP 33268497 A JP33268497 A JP 33268497A JP H10240553 A JPH10240553 A JP H10240553A
Authority
JP
Japan
Prior art keywords
lock
transaction
resource
local
processes
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
JP9332684A
Other languages
Japanese (ja)
Inventor
Hiroaki Takahashi
宏明 高橋
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.)
N T T DATA TSUSHIN KK
NTT Data Group Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems 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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP9332684A priority Critical patent/JPH10240553A/en
Publication of JPH10240553A publication Critical patent/JPH10240553A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To evade locking contention between different processes relating to the same transaction in a system for distributing and processing the transaction by the plural processes. SOLUTION: Plural processors capable of performing communication with each other divide resources 15 and 18 and are in charge of them. The system is provided with a GTAP(global transaction application) 11 for issuing a locking request to the plural resources (a) and (c) to be updated/referred to by one transaction T, LTAPs(local transaction applications) 12, 13 and 16 for executing the locking processing of the resources (a) and (c) in response to the locking request and locking tables 14 and 17 for indicating a locking state for the respective resources. When the locking request is received, the respective LTAPs refer to the locking tables 14 and 17 first, check the presence/absence of the locking contention with the other LTAPs for processing the same transaction T for the resources (a) and (c) of a locking object, perform adjustment and perform locking.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、一般には銀行シス
テムや予約システムのようなトランザクション処理シス
テムに関わり、特に、一つのトランザクションを複数の
プロセスが分散して処理するトランザクション分散処理
システムにおいて、それら複数のプロセスが同一のリソ
ースに対してアクセスする際の排他制御の方式に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to a transaction processing system such as a banking system and a reservation system, and more particularly to a transaction distributed processing system in which one transaction is processed by a plurality of processes in a distributed manner. Of exclusive control when a process accesses the same resource.

【0002】[0002]

【従来の技術】1つの入力電文(トランザクション)を
複数のプロセス(又は複数の電文処理装置)が分散処理
するシステムでは、データベース内の同一リソースを複
数のプロセスが同時に更新しないように、リソースの排
他制御(つまり、排他状態の設定(ロック)及び解除
(アンロック))を行っているのが通常である。
2. Description of the Related Art In a system in which a plurality of processes (or a plurality of message processing devices) distribute and process one input message (transaction), resources are mutually exclusive so that a plurality of processes do not simultaneously update the same resource in a database. Normally, control (that is, setting (locking) and release (unlocking) of an exclusive state) is performed.

【0003】図1は従来のトランザクション分散処理シ
ステムにおける排他制御方式を示すブロック図である。
FIG. 1 is a block diagram showing an exclusive control system in a conventional transaction distributed processing system.

【0004】図1には、LAN(ローカル・エリア・ネ
ットワーク)を介して接続された3つの電文処理装置1
a,1b,1cの間で、ロック依頼と同依頼に対する処
理が行われる様子が示されている。ここに、ロック依頼
部2はアクセスしたいリソースに対するロックを依頼す
るプロセスであり、ロック処理部3a,3b,3cはロ
ック依頼に応答してリソースに対するロックを実行する
プロセスである。データベース5,7内のテーブルa,
b,cはリソースの排他制御できる最小単位を例示した
ものである。
FIG. 1 shows three message processing apparatuses 1 connected via a LAN (local area network).
The lock request and the processing for the request are performed among a, 1b, and 1c. Here, the lock request unit 2 is a process for requesting a lock on a resource to be accessed, and the lock processing units 3a, 3b, 3c are processes for executing a lock on the resource in response to the lock request. Tables a in databases 5 and 7
“b” and “c” are examples of the minimum unit in which exclusive control of resources can be performed.

【0005】このシステムにおいて、例えば第1の電文
処理装置1aが、1つのグローバルトランザクションを
実行するために、それを構成する3つのローカルトラン
ザクションT1,T2,T3のための3つのロック依頼
を第2及び第3の電文処理装置1b,1cに発行したと
する。そして、2つのローカルトランザクションT1,
T2のロック依頼は、第2の電文処理装置1b内のデー
タベース5の同一のテーブルaに対するものであったと
する。この場合、第2の電文処理装置1bでは、その2
つのロック依頼に応答した2つのロック処理部3,4
が、同一のテーブルaに対してロックを実行しようとす
るが、これらのロックは競合するため一方のロックは実
行不可能である。従って、2つのローカルトランザクシ
ョンT1,T2は、同じグローバルトランザクションか
ら派生したにも拘らず、その内の一方はアボート(ロー
ルバック)されてしまい、結果として、そのグローバル
トランザクションは絶対にコミットできない。
In this system, for example, in order to execute one global transaction, the first message processing device 1a sends three lock requests for three local transactions T1, T2, T3 constituting the same global transaction. And the third message processing device 1b, 1c. And two local transactions T1,
It is assumed that the lock request at T2 is for the same table a of the database 5 in the second message processing device 1b. In this case, the second message processing device 1b
Lock processing units 3 and 4 responding to one lock request
However, an attempt is made to execute locks on the same table a, but these locks conflict and one of the locks cannot be executed. Therefore, although two local transactions T1 and T2 are derived from the same global transaction, one of them is aborted (rolled back), and as a result, the global transaction cannot be committed.

【0006】ここで、グローバルトランザクションと
は、分散した複数のリソースに対する更新を伴うトラン
ザクションであり、複数のローカルトランザクションか
ら構成される。ローカルトランザクションとは、1つの
リソースのみに対するアクセス(つまり、更新又は参
照)を伴うトランザクションである。
Here, a global transaction is a transaction that involves updating a plurality of distributed resources, and is composed of a plurality of local transactions. A local transaction is a transaction that involves accessing (ie, updating or referencing) only one resource.

【0007】図2は、上記の問題を解決した従来の排他
制御方式を示すブロック図である。
FIG. 2 is a block diagram showing a conventional exclusive control system which solves the above-mentioned problem.

【0008】図2に示すシステムでは、第1の電文処理
装置1aは、2つのローカルトランザクションT1,T
2が同一テーブルaを更新するものである場合、その同
一テーブルaに対する2つのロック依頼を、第2の電文
処理装置1b内の単一のロック処理部3に対して送る。
その単一のロック処理部3は、その2つのロック依頼に
対し順次に応答して順次にロックを実行するので、ロッ
ク競合は起こらず、グローバルトランザクションは支障
無くコミットされる。
In the system shown in FIG. 2, the first message processing device 1a includes two local transactions T1, T
When 2 is for updating the same table a, two lock requests for the same table a are sent to a single lock processing unit 3 in the second message processing device 1b.
Since the single lock processing unit 3 sequentially executes the locks in response to the two lock requests sequentially, no lock conflict occurs, and the global transaction is committed without any trouble.

【0009】[0009]

【発明が解決しようとする課題】図2に示す排他制御方
式では、ロック依頼部2は、同一リソースに対するロッ
ク依頼を複数発行するとき、必ず単一のロック処理部を
指定しなければならない。そのため、予め各電文処理装
置内のリソースを意識してロック依頼部2のプログラム
を作成しなければならず、プログラム作成の手間が掛か
るという問題がある。
In the exclusive control system shown in FIG. 2, when issuing a plurality of lock requests for the same resource, the lock request unit 2 must always designate a single lock processing unit. For this reason, the program of the lock requesting unit 2 must be created in consideration of the resources in each message processing device in advance, and there is a problem that it takes time to create the program.

【0010】従って、本発明の目的は、複数のプロセス
が一つのトランザクションを分散して処理するシステム
において、簡単なプログラム構成で、同一トランザクシ
ョンを処理する異なるプロセス間でのロックの競合を回
避できるようにすることにある。
Accordingly, an object of the present invention is to provide a system in which a plurality of processes processes a single transaction in a distributed manner, thereby avoiding lock contention between different processes for processing the same transaction with a simple program configuration. It is to make.

【0011】[0011]

【課題を解決するための手段】本発明は、分散型トラン
ザクション処理システムのためのリソースに対するアク
セスの排他制御方式において、一つのトランザクション
で行われるべき複数のリソースアクセスに係る複数のロ
ック処理を個別に行う複数のロック処理手段と、前記リ
ソースのロック状態を示すロックテーブルとを備え、ロ
ック処理手段の各々が、特定のリソースに対するロック
依頼を受けて、ロックテーブルを参照することにより、
同一トランザクションに関連した他のロック処理手段に
よって、前記特定のリソースが既にロックされているか
否かを判断する手段と、この判断結果が肯定の場合、前
記他のロック処理手段へ、前記ロック依頼を転送する手
段と、上記判断結果が否定の場合、前記特定のリソース
をロックする手段とを有するリソースの排他制御方式を
提供する。
According to the present invention, there is provided an exclusive access control method for resources for a distributed transaction processing system, in which a plurality of lock processes relating to a plurality of resource accesses to be performed in one transaction are individually performed. A plurality of lock processing means for performing, and a lock table indicating a lock state of the resource, wherein each of the lock processing means receives a lock request for a specific resource and refers to the lock table,
Means for determining whether or not the specific resource has already been locked by another lock processing means associated with the same transaction; and, if the determination result is affirmative, the lock request is sent to the other lock processing means. An exclusive resource control method is provided that includes a transfer unit and a unit that locks the specific resource when the determination result is negative.

【0012】本発明はまた、分散型トランザクション処
理システムのためのリソースに対するアクセスの排他制
御方法において、一つのトランザクションで行われるべ
き複数のリソースアクセスに係る複数のロック処理を個
別に行う複数の複数のプロセスを備え、それらプロセス
の各々が、特定のリソースをロックしようとするとき、
同一トランザクションに関連する他のプロセスにより前
記特定のリソースが既にロックされているか否かを判断
するステップと、この判断結果が肯定の場合、前記他の
プロセスへ、前記特定のリソースのロックを依頼するス
テップと、上記判断結果が否定の場合、前記特定のリソ
ースをロックするステップとを有するリソースの排他制
御方法を提供する。
The present invention also relates to a method for exclusive control of access to resources for a distributed transaction processing system, wherein a plurality of lock processes for individually performing a plurality of lock processes relating to a plurality of resource accesses to be performed in one transaction. Comprises processes, each of which attempts to lock a particular resource,
Determining whether or not the specific resource is already locked by another process related to the same transaction; and, if the determination result is positive, requesting the other process to lock the specific resource. A resource exclusive control method comprising: a step of locking the specific resource when the result of the determination is negative.

【0013】さらに、本発明は、分散型トランザクショ
ン処理システムにおいて、グローバルトランザクション
を実行するためのグローバルトランザクション処理手段
と、グローバルトランザクションを構成する複数のロー
カルトランザクションを個別に実行するための複数のロ
ーカルトランザクション処理手段とを備え、グローバル
トランザクション処理手段は、グローバルトランザクシ
ョンにおいて行うべき複数のリソースアクセスのための
ロック依頼を、前記複数のローカルトランザクションに
対しそれぞれ発行する手段を有し、また、ローカルトラ
ンザクション処理手段の各々は、前記ロック依頼を受け
ると、同じグローバルトランザクションに係る他のロー
カルトランザクションを実行する他のローカルトランザ
クション処理手段との間で、同一のリソースについてロ
ックが競合してるか否かを判断する手段と、この判断の
結果が肯定の場合、自己が受けたロック依頼を前記他の
ローカルトランザクション処理手段に転送する手段とを
有する分散型トランザクション処理システムを提供す
る。
Further, in the distributed transaction processing system, the present invention provides a global transaction processing means for executing a global transaction and a plurality of local transaction processing for individually executing a plurality of local transactions constituting the global transaction. Means for issuing a lock request for a plurality of resource accesses to be performed in the global transaction to each of the plurality of local transactions, and wherein each of the local transaction processing means Receiving the lock request, executing another local transaction related to the same global transaction. Means for determining whether or not a lock is in conflict for the same resource, and means for transferring the lock request received by itself to the other local transaction processing means if the result of this determination is affirmative. And a distributed transaction processing system having:

【0014】またさらに本発明は、トランザクションの
分散処理方法において、グローバルトランザクションを
構成する複数のローカルトランザクションを個別に実行
する複数のプロセスを備え、それらプロセスの各々は、
各ローカルトランザクションのためのリソースのロック
を行おうとするとき、同じグローバルトランザクション
に係る他のローカルトランザクションを実行する他のプ
ロセスとの間で、同一のリソースについてロックが競合
してるか否かを判断するステップと、この判断の結果が
肯定の場合、前記他のプロセスに自己のローカルトラン
ザクションの実行を依頼するステップとを有するトラン
ザクション分散処理方法を提供する。
Still further, according to the present invention, in a transaction distributed processing method, there are provided a plurality of processes for individually executing a plurality of local transactions constituting a global transaction.
When trying to lock a resource for each local transaction, it is determined whether or not lock contention for the same resource is in conflict with another process executing another local transaction related to the same global transaction. And a step of requesting the other process to execute its own local transaction when the result of this determination is affirmative.

【0015】本発明によれば、ロック処理を実行する個
々のプロセスが、同一トランザクションに関わる他のプ
ロセス間での同一リソースに対するロック競合をチェッ
クして、ロック競合があれば、一方のプロセスがその競
合するロックを実行するように調整し合うので、ロック
競合が回避される。従って、ロック競合を回避するため
に、ロックを依頼する側のプロセスがリソースの競合を
意識している必要はない。本発明は典型的にはコンピュ
ータによって実現されるが、そのためのコンピュータプ
ログラムはディスク型ストレージ、半導体メモリ、通信
ネットワークなどの各種の媒体を通じてコンピュータに
インストール又はロードすることができる。
According to the present invention, individual processes that execute lock processing check for lock contention on the same resource between other processes involved in the same transaction, and if there is lock contention, one of the processes performs the lock contention. Lock contention is avoided by coordinating to perform conflicting locks. Therefore, in order to avoid lock contention, it is not necessary for the process requesting the lock to be aware of resource contention. The present invention is typically realized by a computer, and a computer program therefor can be installed or loaded on the computer through various media such as a disk storage, a semiconductor memory, and a communication network.

【0016】[0016]

【発明の実施の形態】図3は本発明の一実施形態に係る
分散型トランザクション処理システムのブロック図であ
る。この図3には、LANを介して接続された3つの電
文処理装置10a,10b,10c間で、ロック依頼及
びロック処理が行われる様子の具体例が示されている。
FIG. 3 is a block diagram of a distributed transaction processing system according to an embodiment of the present invention. FIG. 3 shows a specific example in which a lock request and a lock process are performed between three message processing devices 10a, 10b, and 10c connected via a LAN.

【0017】3つの電文処理装置10a,10b,10
cの各々は、各々が管理するデータテーブルと、各々の
データテーブルの各テーブル毎のロック状態を示すため
のロックテーブルと、グローバルトランザクションを実
行するためのアプリケーションであるGTAP(グロー
バルトランザクションアプリケーション)と、GTAP
からの依頼に応答して個々のローカルトランザクション
を実行するためのアプリケーションであるLTAP(ロ
ーカルトランザクションアプリケーション)とを有して
いる。
The three message processing devices 10a, 10b, 10
c, a data table managed by each, a lock table for indicating a lock state of each data table for each table, a GTAP (global transaction application) which is an application for executing a global transaction, GTAP
LTAP (local transaction application), which is an application for executing individual local transactions in response to a request from a local transaction.

【0018】図3の具体例では、第1の電文処理装置1
0a内のGTAP11が、あるグローバルトランザクシ
ョンTを実行するために、このグローバルトランザクシ
ョンTを構成する3つのローカルトランザクションT
1,T2,T3のための3つのロック依頼を第2及び第
3の電文処理装置10b,10cに発行している。この
うち、2つのローカルトランザクションT1,T2のた
めのロック依頼は、共に第2の電文処理装置10bのデ
ータテーブル15内の同一のテーブルaに対するもので
あり、共に第2の電文処理装置10bに送られている。
もう一つのロック依頼は、第3の電文処理装置10c内
のデータテーブル18内のテーブルcに対するものであ
るため、第3の電文処理装置10cに送られている。
In the specific example of FIG. 3, the first message processing device 1
In order to execute a certain global transaction T, three local transactions T constituting the global transaction T
Three lock requests for T1, T2 and T3 are issued to the second and third message processing devices 10b and 10c. Of these, the lock requests for the two local transactions T1 and T2 are both for the same table a in the data table 15 of the second message processing device 10b, and are both sent to the second message processing device 10b. Have been.
Another lock request is for the table c in the data table 18 in the third message processing device 10c, and is therefore sent to the third message processing device 10c.

【0019】第2の電文処理装置10bでは、上記2つ
のロック依頼にそれぞれ応答して、2つのLTAP(ロ
ーカルトランザクションアプリケーション)12,13
が稼働している。この2つのLTAP12,13はそれ
ぞれ、ロックテーブル14を参照して、各々がロックし
ようとしてる同一のテーブルaのロック状態をチェック
する。もし、LTAP12がLTAP13より早くにこ
のチェックを行ったならば、LTAP12はテーブルa
をロックする(具体的には、ロックテーブル14にテー
ブルaをロックした旨のロック情報を書込む)が、それ
により他方のLTAP13はテーブルaをロックするこ
とができなくなる。すると、LTAP13は、その同一
テーブルaをロックしたLTAP12が実行しているロ
ーカルトランザクションT1が、自己のローカルトラン
ザクションT2と同一のグローバルトランザクションT
から派生したものか否かをチェックする。その結果、同
一であるならば、LTAP13は自己の受信したロック
依頼を他方のLTAP12に転送する。この転送を受け
たLTAP12は、自己のローカルトランザクションT
1を実行した後に、転送されたロック依頼に応答してテ
ーブルaを再度ロックして、ローカルトランザクション
T2を実行する。従って、2つのローカルトランザクシ
ョンT1,T2は、ロック競合の問題を起こすこと無
く、コミットされる。
In the second message processing device 10b, two LTAPs (local transaction applications) 12, 13 respond to the two lock requests, respectively.
Is running. Each of the two LTAPs 12 and 13 refers to the lock table 14 and checks the lock state of the same table a to be locked. If LTAP 12 performs this check earlier than LTAP 13, LTAP 12
(Specifically, the lock information indicating that the table a is locked is written in the lock table 14), so that the other LTAP 13 cannot lock the table a. Then, the LTAP 13 determines that the local transaction T1 executed by the LTAP 12 that has locked the same table a is the same global transaction T as its own local transaction T2.
Check if it is derived from As a result, if they are the same, the LTAP 13 transfers the lock request received by itself to the other LTAP 12. The LTAP 12 that has received this transfer makes its own local transaction T
After executing step 1, the table a is locked again in response to the transferred lock request, and the local transaction T2 is executed. Therefore, the two local transactions T1 and T2 are committed without causing a lock contention problem.

【0020】第3の電文処理装置10cでは、上記ロッ
ク依頼に応答して、1つのLTAP16が起動し、この
LTAP16がテーブルcをロックして、ローカルトラ
ンザクションT3を実行する。
In the third message processing device 10c, one LTAP 16 is activated in response to the lock request, and the LTAP 16 locks the table c and executes the local transaction T3.

【0021】結果として、グローバルトランザクション
Tはコミットされる。
As a result, the global transaction T is committed.

【0022】図4及び図5は、本システムにおけるGT
APと、GATPからロック依頼を受けたLTAPの処
理の流れを示す。両図において、ブロック間を結ぶ細い
矢印線は処理の流れを、太い矢印線は電文の流れを示
す。
FIGS. 4 and 5 show the GT in this system.
7 shows a flow of processing of an AP and an LTAP that has received a lock request from GATP. In both figures, a thin arrow line connecting the blocks indicates the flow of processing, and a thick arrow line indicates the flow of a message.

【0023】図4に示すように、GTAPは、あるグロ
ーバルトランザクションを開始すると、まずステップS
1で、そのグローバルトランザクションを構成する個々
のローカルトランザクションのロック依頼電文を作成
し、このロック依頼電文を、ロック対象のリソースを受
け持っている電文処理装置のLTAPに対して発行す
る。ロック依頼電文を発行する際、その電文処理装置中
のどのLTAPに宛ててもよい、つまり特定のLTAP
を指定する必要はない。
As shown in FIG. 4, when a GTAP starts a certain global transaction, first, a step S
In step 1, a lock request message of each local transaction constituting the global transaction is created, and the lock request message is issued to the LTAP of the message processing device that is in charge of the resource to be locked. When issuing a lock request message, the message may be addressed to any LTAP in the message processing device, that is, a specific LTAP
Need not be specified.

【0024】ロック依頼電文を受けたLTAPは、ステ
ップS2で、ロック対象のリソースのロック状態をロッ
クテーブルから検索し、そしてステップS3で、ロック
が競合しているか否か、つまり、既にロックされている
か否か判断する。その結果、その対象リソースがまだロ
ックされていなければ、ステップS4で、その対象リソ
ースがロックされたことを示すロック情報をロックテー
ブル14に書き込む(つまり、その対象リソースをロッ
クする)。そして後述するステップS8に移行する。
The LTAP that has received the lock request message retrieves the lock state of the resource to be locked from the lock table in step S2, and determines in step S3 whether or not there is a lock conflict, that is, the lock has already been locked. It is determined whether or not. As a result, if the target resource has not been locked yet, in step S4, lock information indicating that the target resource has been locked is written to the lock table 14 (that is, the target resource is locked). Then, control goes to a step S8 described later.

【0025】一方、ステップS3の判断の結果、その対
象リソースが既にロックされている、つまり、ロックが
競合している場合には、LTAPはステップS5で、そ
の競合相手のローカルトランザクション(つまり、対象
リソースを今ロックしているローカルトランザクショ
ン)が自己のローカルトランザクションと同一のグロー
バルトランザクションに係るものであるか否か判断す
る。ロックテーブル14に書かれているロック情報に
は、そのロックを行ったローカルトランザクションの識
別子が含まれ、これには元となるグローバルトランザク
ションの識別子も含まれているから、このロック情報か
ら、同一のグローバルトランザクションに係るものか否
かが判断できる。
On the other hand, if the result of the determination in step S3 indicates that the target resource has already been locked, that is, if the lock is in conflict, the LTAP determines in step S5 that the local transaction (ie, the target It is determined whether or not the local transaction that is currently locking the resource) is related to the same global transaction as its own local transaction. The lock information written in the lock table 14 includes the identifier of the local transaction that has performed the lock, and also includes the identifier of the original global transaction. It can be determined whether or not the transaction is related to a global transaction.

【0026】この判断の結果、同一のグローバルトラン
ザクションに係るものでない場合は、LTAPは後述す
るステップS9に移行する。一方、同一のグローバルト
ランザクションに係るものである場合は、LTAPはス
テップS6で、そのロックが自プロセスが行ったロック
である否かを判断する(これも、ロック情報に含まれる
ローカルトランザクション識別子から判断できる)。そ
の結果、自プロセスが行ったロックであるときは、後述
するステップS8に移行する。
If the result of this determination is that they do not relate to the same global transaction, the LTAP moves to step S9, which will be described later. On the other hand, if the locks are related to the same global transaction, the LTAP determines in step S6 whether or not the lock is a lock performed by its own process (also determined from the local transaction identifier included in the lock information). it can). As a result, when the lock is performed by the own process, the process proceeds to step S8 described later.

【0027】ステップS6の判断の結果、他プロセスが
行ったロックであるときは、LTAPはステップS7
で、そのロックを行った他のLTAPに対して、自己が
受けたロック処理電文を転送する。この転送を受けた他
のLTAPは、今実行しているロックに係るローカルト
ランザクションの処理が終わった後に、転送されたロッ
ク依頼に応答してステップS2以下の処理を再び繰り返
す。
If the result of determination in step S6 is that the lock has been performed by another process, LTAP determines in step S7
Then, the lock processing message received by itself is transferred to the other LTAP that has performed the lock. The other LTAPs that have received the transfer repeat the processing of step S2 and subsequent steps again in response to the transferred lock request after the processing of the local transaction related to the lock currently being executed is completed.

【0028】ステップS8に進むと、LTAPは、ロッ
クが成功した旨のロック結果をそのロック依頼を発した
GTAPに通知する。ステップS9に進んだ場合は、L
TAPは、ロックが失敗した旨のロック結果をそのロッ
ク依頼を発したGTAPに通知する。いずれの場合も、
ロック結果には、そのロック処理を行ったLTAPの識
別が付加される。GTAPは、ステップS10でロック
結果を受信する。そのロック結果に付加かされたLTA
Pの識別により、GTAPはそのロック処理を実行した
LTAPを知ることができる。
In step S8, the LTAP notifies the GTAP that issued the lock request of a lock result indicating that the lock was successful. When proceeding to step S9, L
The TAP notifies the GTAP that issued the lock request of the lock result indicating that the lock has failed. In either case,
The identification of the LTAP that has performed the lock processing is added to the lock result. GTAP receives the lock result in step S10. LTA added to the lock result
By identifying P, the GTAP can know the LTAP that has executed the lock processing.

【0029】次に、図5に示すように、GTAPはステ
ップS11で、発行した全てのロック依頼に対するロッ
ク結果を受信して、それら全てのロック結果がロック成
功であるか否かを判断し、全てロック成功の場合は、ス
テップS12に進み、ロックされた各リソースに対する
更新/参照を実行するための更新/参照要求電文を作成
して、その電文をそのリソースのロックを実行したLT
AP(ロック結果に含まれていたLTAP識別により特
定される)へ送信する。
Next, as shown in FIG. 5, in step S11, the GTAP receives the lock results for all the issued lock requests, and determines whether all the lock results are successful in locking. If all locks have succeeded, the process proceeds to step S12, in which an update / reference request message for executing update / reference to each locked resource is created, and the message is transferred to the LT that has locked the resource.
Send to AP (specified by LTAP identification included in lock result).

【0030】更新/参照要求電文を受信したLTAP
は、ステップS13で該当のリソースに対する更新/参
照を実行し、そして、ステップS14で更新/参照結果
をGTAPに返送する。GTAPは、ステップS15で
各LTAPから更新/参照結果を受け取り、全ての更新
/参照結果が成功であれば、ステップS16で各ローカ
ルトランザクションのコミット電文を作成して、更新/
参照を行った各LATPに送信する。
LTAP receiving update / reference request message
Executes the update / reference for the corresponding resource in step S13, and returns the update / reference result to the GTAP in step S14. The GTAP receives the update / reference result from each LTAP in step S15, and if all the update / reference results are successful, creates a commit message for each local transaction in step S16, and
It transmits to each referenced LATP.

【0031】コミット電文を受け取った各LTAPは、
ステップS17で各々のローカルトランザクションのコ
ミットを実行し、そして、各々のリソースのアンロック
を実行し(つまり、ロックテーブルからロック情報を削
除する、又はロックテーブルにアンロック情報を書き込
む)、その後、ステップS18でコミット結果をGTA
Pに通知する。GTAPは、ステップS19でコミット
結果を受信し、全てのローカルトランザクションのコミ
ット結果を受信したなら当該グローバルトランザクショ
ンを終了する。
Each LTAP receiving the commit message,
In step S17, the commit of each local transaction is executed, and the unlock of each resource is executed (that is, the lock information is deleted from the lock table or the unlock information is written in the lock table). GTA the commit result in S18
Notify P. The GTAP receives the commit result in step S19, and ends the global transaction if it receives the commit results of all the local transactions.

【0032】なお、ステップS11で、いずれか一つの
リソースでもロック失敗と判断された場合は、GTAP
はステップS20で当該グローバルトランザクションの
ロールバック処理に移行し、ステップS16で全てのロ
ーカルトランザクションのロールバック電文を作成して
それぞれのLTAPへ送信する。以後の、ステップS1
7以下の処理内容は、既に説明したコミット時の処理の
「コミット」を「ロールバック」に読み代えた内容とな
る。
If it is determined in step S11 that any one of the resources has failed in locking, the GTAP
Shifts to the rollback processing of the global transaction in step S20, creates a rollback message of all the local transactions in step S16, and sends it to each LTAP. Subsequent step S1
The processing contents 7 and below are contents in which “commit” of the processing at the time of commit described above is replaced with “rollback”.

【0033】本システムによれば、ロック処理(又はロ
ーカルトランザクション)を実行するプロセス(LTA
P)が、ロックを行う前に、同一のグローバルトランザ
クション内でのロック競合を検出し、競合した場合には
先にロックを行った他のプロセス(LTAP)にロック
依頼を転送する。そのため、ロックを依頼する側のプロ
セス(GTAP)がリソースの競合を意識しなくてもロ
ック競合を回避できるので、プログラムの作成が従来よ
り容易である。
According to the present system, a process (LTA) for executing lock processing (or local transaction)
P) detects a lock conflict within the same global transaction before performing the lock, and transfers the lock request to another process (LTAP) that has previously locked the lock if the conflict occurs. Therefore, since the process (GTAP) requesting the lock can avoid the lock conflict without being aware of the resource conflict, it is easier to create a program than before.

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

【図1】従来例に係る分散型トランザクション処理シス
テムの排他制御方式を示すブロック図である。
FIG. 1 is a block diagram showing an exclusive control method of a distributed transaction processing system according to a conventional example.

【図2】他の従来例に係る分散型トランザクション処理
システムの排他制御方式を示すブロック図である。
FIG. 2 is a block diagram showing an exclusive control method of a distributed transaction processing system according to another conventional example.

【図3】本発明の一実施形態に係る分散型トランザクシ
ョン処理システムの排他制御方式を示すブロック図であ
る。
FIG. 3 is a block diagram illustrating an exclusive control method of the distributed transaction processing system according to the embodiment of the present invention.

【図4】図3に示すシステムにおける処理の流れ図の前
半部分である。
FIG. 4 is a first half of a process flow chart in the system shown in FIG. 3;

【図5】図3に示すシステムにおける処理の流れ図の後
半部分である。
FIG. 5 is a latter half of a process flow chart in the system shown in FIG. 3;

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

10a 第1の電文処理装置 10b 第2の電文処理装置 10c 第3の電文処理装置 11 GTAP 12、13、16 LTAP 14、17 ロックテーブル 15、18 データテーブル 10a First message processing device 10b Second message processing device 10c Third message processing device 11 GTAP 12, 13, 16 LTAP 14, 17 Lock table 15, 18 Data table

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 分散型トランザクション処理システムの
ためのリソースに対するアクセスの排他制御方式におい
て、 一つのトランザクションで行われるべき複数のリソース
アクセスに係る複数のロック処理を個別に行う複数のロ
ック処理手段と、前記リソースのロック状態を示すロッ
クテーブルとを備え、 前記ロック処理手段の各々が、 特定のリソースに対するロック依頼を受けて、前記ロッ
クテーブルを参照することにより、同一トランザクショ
ンに関連した他のロック処理手段によって、前記特定の
リソースが既にロックされているか否かを判断する手段
と、 前記判断結果が肯定の場合、前記他のロック処理手段
へ、前記ロック依頼を転送する手段と、 前記判断結果が否定の場合、前記特定のリソースをロッ
クする手段とを有するリソースの排他制御方式。
An exclusive control method for access to resources for a distributed transaction processing system, comprising: a plurality of lock processing means for individually performing a plurality of lock processes relating to a plurality of resource accesses to be performed in one transaction; A lock table indicating a lock state of the resource, wherein each of the lock processing means receives a lock request for a specific resource, and refers to the lock table to thereby obtain another lock processing means related to the same transaction. Means for determining whether the specific resource is already locked, means for transferring the lock request to the other lock processing means if the result of the determination is affirmative, and means for negating the result of the determination The means for locking the specific resource. Vinegar exclusive control system.
【請求項2】 分散型トランザクション処理システムの
ためのリソースに対するアクセスの排他制御方法におい
て、 一つのトランザクションで行われるべき複数のリソース
アクセスに係る複数のロック処理を個別に行う複数のプ
ロセスを備え、 前記複数のプロセスの各々が、 特定のリソースをロックしようとするとき、同一トラン
ザクションに関連する他のプロセスにより前記特定のリ
ソースが既にロックされているか否かを判断するステッ
プと、 前記判断結果が肯定の場合、前記他のプロセスへ、前記
特定のリソースのロックを依頼するステップと、 前記判断結果が否定の場合、前記特定のリソースをロッ
クするステップとを有するリソースの排他制御方法。
2. A method for exclusive control of access to resources for a distributed transaction processing system, comprising: a plurality of processes for individually performing a plurality of lock processes related to a plurality of resource accesses to be performed in one transaction; Each of a plurality of processes, when trying to lock a specific resource, determining whether or not the specific resource is already locked by another process associated with the same transaction; and In this case, a resource exclusive control method comprising: requesting the other process to lock the specific resource; and locking the specific resource when the result of the determination is negative.
【請求項3】 分散型トランザクション処理システムに
おいて、 グローバルトランザクションを実行するためのグローバ
ルトランザクション処理手段と、 前記グローバルトランザクションを構成する複数のロー
カルトランザクションを個別に実行するための複数のロ
ーカルトランザクション処理手段と、 を備え、 前記グローバルトランザクション処理手段は、前記グロ
ーバルトランザクションにおいて行うべき複数のリソー
スアクセスのためのロック依頼を、前記複数のローカル
トランザクションに対しそれぞれ発行する手段を有し、 前記ローカルトランザクション処理手段の各々は、 前記ロック依頼を受けると、同じグローバルトランザク
ションに係る他のローカルトランザクションを実行する
他のローカルトランザクション処理手段との間で、同一
のリソースについてロックが競合してるか否かを判断す
る手段と、 前記判断の結果が肯定の場合、前記受けたロック依頼を
前記他のローカルトランザクション処理手段に転送する
手段とを有する分散型トランザクション処理システム。
3. In a distributed transaction processing system, a global transaction processing means for executing a global transaction, a plurality of local transaction processing means for individually executing a plurality of local transactions constituting the global transaction, The global transaction processing means has means for issuing a lock request for a plurality of resource accesses to be performed in the global transaction to the plurality of local transactions, respectively, wherein each of the local transaction processing means When receiving the lock request, another local transaction processing means for executing another local transaction related to the same global transaction, Means for judging whether or not lock conflicts occur for the same resource, and means for transferring the received lock request to the other local transaction processing means if the result of the judgment is affirmative. Distributed transaction processing system.
【請求項4】 トランザクションの分散処理方法におい
て、 グローバルトランザクションを構成する複数のローカル
トランザクションを個別に実行する複数のプロセスを備
え、 前記プロセスの各々は、 各ローカルトランザクションのためのリソースのロック
を行おうとするとき、同じグローバルトランザクション
に係る他のローカルトランザクションを実行する他のプ
ロセスとの間で、同一のリソースについてロックが競合
してるか否かを判断するステップと、 前記判断の結果が肯定の場合、前記他のプロセスに自己
のローカルトランザクションの実行を依頼するステップ
とを有するトランザクション分散処理方法。
4. A distributed transaction processing method, comprising a plurality of processes for individually executing a plurality of local transactions constituting a global transaction, wherein each of the processes attempts to lock resources for each local transaction. When to determine, between another process executing another local transaction related to the same global transaction, a step of determining whether or not lock contention for the same resource, If the result of the determination is affirmative, Requesting the other process to execute its own local transaction.
【請求項5】 分散型トランザクション処理システムの
ためのリソースに対するアクセスの排他制御方法をコン
ピュータに実行させるためのプログラムを担持したコン
ピュータ読取り可能な記録媒体において、前記方法が、 一つのトランザクションで行われるべき複数のリソース
アクセスに係る複数のロック処理を個別に行う複数のプ
ロセスを備え、 前記複数のプロセスの各々が、 特定のリソースをロックしようとするとき、同一トラン
ザクションに関連する他のプロセスにより前記特定のリ
ソースが既にロックされているか否かを判断するステッ
プと、 前記判断結果が肯定の場合、前記他のプロセスへ、前記
特定のリソースのロックを依頼するステップと、 前記判断結果が否定の場合、前記特定のリソースをロッ
クするステップとを有する記録媒体。
5. A computer-readable recording medium having a program for causing a computer to execute a method for exclusive control of access to resources for a distributed transaction processing system, wherein the method should be performed in one transaction. A plurality of processes that individually perform a plurality of lock processes related to a plurality of resource accesses, wherein each of the plurality of processes is to lock a specific resource by another process associated with the same transaction. A step of determining whether or not the resource is already locked; and a step of, if the determination result is affirmative, requesting the other process to lock the specific resource; and a step of, if the determination result is negative, the Locking specific resources Recording medium.
【請求項6】 トランザクションの分散処理方法をコン
ピュータに実行させるためのプログラムを担持したコン
ピュータ読取り可能な記録媒体において、前記方法が、 グローバルトランザクションを構成する複数のローカル
トランザクションを個別に実行する複数のプロセスを備
え、 前記プロセスの各々は、 各ローカルトランザクションのためのリソースのロック
を行おうとするとき、同じグローバルトランザクション
に係る他のローカルトランザクションを実行する他のプ
ロセスとの間で、同一のリソースについてロックが競合
してるか否かを判断するステップと、 前記判断の結果が肯定の場合、前記他のプロセスに自己
のローカルトランザクションの実行を依頼するステップ
とを有する記録媒体。
6. A computer-readable recording medium carrying a program for causing a computer to execute a distributed transaction processing method, the method comprising: a plurality of processes for individually executing a plurality of local transactions constituting a global transaction Each of the processes, when trying to lock resources for each local transaction, has a lock on the same resource with another process executing another local transaction related to the same global transaction. A recording medium comprising: a step of determining whether or not there is a conflict; and, if the result of the determination is affirmative, requesting the other process to execute its own local transaction.
JP9332684A 1996-12-27 1997-12-03 Exclusive control system and method for resource for distributed transaction processing system Pending JPH10240553A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9332684A JPH10240553A (en) 1996-12-27 1997-12-03 Exclusive control system and method for resource for distributed transaction processing system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP35032196 1996-12-27
JP8-350321 1996-12-27
JP9332684A JPH10240553A (en) 1996-12-27 1997-12-03 Exclusive control system and method for resource for distributed transaction processing system

Publications (1)

Publication Number Publication Date
JPH10240553A true JPH10240553A (en) 1998-09-11

Family

ID=26574265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9332684A Pending JPH10240553A (en) 1996-12-27 1997-12-03 Exclusive control system and method for resource for distributed transaction processing system

Country Status (1)

Country Link
JP (1) JPH10240553A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525573A (en) * 2003-05-01 2006-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Managing locks and transactions
JP2017515229A (en) * 2014-04-30 2017-06-08 オラクル・インターナショナル・コーポレイション System and method for providing distributed transaction locks in a transaction middleware machine environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006525573A (en) * 2003-05-01 2006-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Managing locks and transactions
JP2017515229A (en) * 2014-04-30 2017-06-08 オラクル・インターナショナル・コーポレイション System and method for providing distributed transaction locks in a transaction middleware machine environment

Similar Documents

Publication Publication Date Title
US7325064B2 (en) Distributed locking protocol with asynchronous token prefetch and relinquish
US5454108A (en) Distributed lock manager using a passive, state-full control-server
US8224977B2 (en) Using local locks for global synchronization in multi-node systems
US5586310A (en) System for distributed database replicated read with exclusive central server transfer of primary copies
WO2018077073A1 (en) Distributed database system, transaction processing method, lock server and storage medium
US6412034B1 (en) Transaction-based locking approach
US8745707B2 (en) Method and apparatus providing optimistic locking of shared computer resources
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US7281050B2 (en) Distributed token manager with transactional properties
US7600063B2 (en) Techniques for improved read-write concurrency
JPH0552973B2 (en)
WO2005124547A1 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
US6718349B2 (en) Intelligent, optimistic concurrency database access scheme
CN112099961A (en) Realization method of distributed lock manager based on lock state cache
JPH04284548A (en) Data base exclusive controlling system
JPH10240553A (en) Exclusive control system and method for resource for distributed transaction processing system
US20060123069A1 (en) Method and system for deferred synchronisation of data
JPH0962556A (en) File synchronizing system
JPH06119227A (en) Distributed data base control system
JP2514671B2 (en) Data access control method
EP0600458B1 (en) Distributed data processing system with replication of data across the system
JPS592159A (en) Data controlling system
JPS6265137A (en) Control system for priority of user task
JP2001175522A (en) Method and system for exclusive control
JPH05233564A (en) Tuple space securing system for linda of dispersed environment

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20040903