JPH03269740A - Transaction processing system - Google Patents

Transaction processing system

Info

Publication number
JPH03269740A
JPH03269740A JP2068395A JP6839590A JPH03269740A JP H03269740 A JPH03269740 A JP H03269740A JP 2068395 A JP2068395 A JP 2068395A JP 6839590 A JP6839590 A JP 6839590A JP H03269740 A JPH03269740 A JP H03269740A
Authority
JP
Japan
Prior art keywords
transaction
graph
parallel
fundamental
processings
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
JP2068395A
Other languages
Japanese (ja)
Inventor
Haruo Yokota
治夫 横田
Hajime Kitagami
北上 始
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2068395A priority Critical patent/JPH03269740A/en
Publication of JPH03269740A publication Critical patent/JPH03269740A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To shorten the response time of each transaction and to improve the throughput of a system by executing fundamental processings in juxtaposition or parallel in accordance with dependence relations of data and control among fundamental processings. CONSTITUTION:An inputted transaction ignites a corresponding node in a graph in a fundamental processing unit dependence relation graph 2 from a user interface part 1, and a graph execution part 4 executes the node of the graph by the indication from a suspend/resume mechanism part 3. That is, dependence relations of data and control among fundamental processing units are expressed with the graph, and fundamental processings are suspended (interrupted)/resumed (restarted) in accordance with the graph to simultaneously advance plural transaction processings. Thus, an unnecessary waiting time is eliminated because fundamental processings are operated in parallel (juxtaposition) in accordance with the data flow and the control flow among fundamental processings, and the response time of each transaction is shortened and the throughput of the system is improved.

Description

【発明の詳細な説明】 [概 要コ 同時実行制御を行なうトランザクション処理システムに
関し、 各トランザクションのレスポンスタイムやシステムのス
ルーブツトを向上せしめることを目的とし、 計算機によるトランザクション処理において、トランザ
クションを基本処理単位に分解する手段と、該基本処理
間のデータおよび制御の依存関係に従って基本処理を並
列もしくは平行に実行する手段とを設けることにより構
成する。
[Detailed Description of the Invention] [Overview] Regarding a transaction processing system that performs simultaneous execution control, the purpose is to improve the response time of each transaction and the throughput of the system. It is constructed by providing means for decomposing the basic processes and means for executing the basic processes in parallel or in parallel according to the dependence relationship of data and control between the basic processes.

[産業上の利用分野コ 本発明は情報処理装置(電子計算機)におけるトランザ
クションの同時実行制御に関する、計算機のトランザク
ション処理では、同時実行制御の方法がシステムの性能
に大きく影響を与える。本発明は、このような同時実行
制御を効率良く、かつ、柔軟に行なうことの可能なトラ
ンザクション処理システムに係る。
[Industrial Field of Application] The present invention relates to control of concurrent execution of transactions in an information processing device (electronic computer). In transaction processing of a computer, the method of controlling concurrency greatly affects the performance of the system. The present invention relates to a transaction processing system that can perform such concurrent execution control efficiently and flexibly.

[従来の技術] 逐次計算機であっても並列計算機であっても、外部記憶
(以下ディスクとして記述する)のアクセス速度とCP
Uの処理速度との差が大きいため、トランザクションを
同時に複数受は付けて、ディスク・アクセスとCPUの
処理を並列に行ない、システムのスルーブツトを上げる
のが一般的である。
[Prior art] Whether it is a sequential computer or a parallel computer, the access speed and CP of external storage (hereinafter referred to as disk) are important.
Since there is a large difference in the processing speed of U, it is common to accept multiple transactions at the same time and perform disk access and CPU processing in parallel to increase system throughput.

この時、データベースの1つのレコード(テーブルまた
はページでもよい、以下の記述でレコードはテーブル、
ページで置き換え可能)を複数のトランザクションでほ
ぼ同時に更新するような場合、ロックを用いて排他制御
を行なって、更新した内容が重ね書きによって消されな
い(データ破壊が起きない)ようにしている。
At this time, one record in the database (it can be a table or a page; in the following description, a record is a table,
When multiple transactions (which can be replaced by pages) are updated almost simultaneously by multiple transactions, locks are used to perform exclusive control to prevent the updated content from being overwritten (data destruction).

このような制御をトランザクションの同時実行制御とい
う。
This kind of control is called transaction concurrency control.

同時実行制御の方式によって、システムのレスポンス・
タイムやスループットが変わる。
Concurrency control method improves system response and
Time and throughput will change.

すなわち、あるトランザクションがあるレコードにロッ
クをかけると、それ以外のトランザクションはそのロッ
クが解除されるまでそのレコードに対する処理を中断す
る必要が生じる。
That is, when a certain transaction locks a certain record, other transactions must suspend processing on that record until the lock is released.

いくつかのレコードに対する処理がプログラムによって
規定されて、トランザクション中で逐次に実行されてい
くような場合には、この中断により、1つ1つのトラン
ザクションのレスポンスタイムが悪くなるうえ、システ
ムのスルーブツトも落ちる。
If processing for several records is specified by a program and executed sequentially in a transaction, this interruption will not only worsen the response time of each transaction but also reduce system throughput. .

その場合、ロックされる可能性の高いレコードと低いレ
コードのどちらを先に処理するかで、ディスクに対して
先読みが可能かどうかが変わり、処理速度に差が出てく
る。
In this case, whether records with a high or low probability of being locked are processed first determines whether or not read-ahead can be performed on the disk, resulting in a difference in processing speed.

[発明が解決しようとする課題] 上述のように、同時実行制御においては、ロックされる
可能性の高いレコードとロックされる可能性の低いレコ
ードのどちらを先に処理するかで処理速度が変わる。そ
のため、従来、処理性能を向上させるため、ロックの依
存関係を解析して、適切な順番でレコードにアクセスす
るように処理をスケジューリングする方法が取られるこ
とが多かった。しかし、処理が複雑になるとロックの依
存関係の解析が難しくなり、システム作成に多大な労力
を必要とするようになる。また、そのようなシステムの
スケジューリングは汎用性がなく、調整の対象となった
アプリケーションにしか利用できないという問題点があ
った。
[Problem to be solved by the invention] As mentioned above, in concurrency control, processing speed changes depending on whether records that are more likely to be locked or records that are less likely to be locked are processed first. . Therefore, conventionally, in order to improve processing performance, a method has often been adopted in which lock dependencies are analyzed and processing is scheduled so that records are accessed in an appropriate order. However, as the processing becomes more complex, it becomes difficult to analyze lock dependencies, and a great deal of effort is required to create the system. Furthermore, the scheduling of such a system is not versatile and can only be used for the application targeted for adjustment.

[課題を解決するための手段] 本発明によれば、上述の目的は、前記特許請求の範囲に
記載した手段により達成される。
[Means for Solving the Problems] According to the present invention, the above objects are achieved by the means described in the claims.

すなわち、本発明は、電子計算機によるトランザクショ
ン処理において、トランザクションを基本処理単位に分
解する手段と、該基本処理間のデータおよび制御の依存
関係に従って基本処理を並列もしくは平行に実行する手
段とを設けたトランザクション処理システムである。
That is, in transaction processing by an electronic computer, the present invention provides means for decomposing a transaction into basic processing units, and means for executing basic processing in parallel or in parallel according to data and control dependencies between the basic processing. It is a transaction processing system.

[作 用] 本発明は同時実行制御を柔軟に効率よく行なうため、ト
ランザクションを基本処理単位に分解し、その基本処理
単位で並列(平行〉に実行させる方法を提案するもので
ある。ここで、基本処理とは、レコードのロック、読み
出し、内容変更、書き込みなどを指す。
[Function] In order to perform concurrent execution control flexibly and efficiently, the present invention proposes a method of decomposing a transaction into basic processing units and executing the transactions in parallel (parallel) in the basic processing units. Basic processing refers to locking, reading, changing contents, writing, etc. of records.

効率的な並列(平行)処理のため、その基本処理単位間
のデータおよび制御の依存関係をグラフにし、グラフに
従って基本処理をサスペンド(中断)/レジューム(再
開)させ、複数のトランザクション処理を同時に進める
。このグラフは、データフローと制御フローを表現して
いる。
For efficient parallel processing, graph the data and control dependencies between basic processing units, suspend/resume basic processing according to the graph, and proceed with multiple transaction processing simultaneously. . This graph represents data flow and control flow.

このようにグラフに従って基本処理を実行することによ
り、動的に最適の実行順位が定まる。
By executing basic processing according to the graph in this way, the optimal execution order is dynamically determined.

このため、ロック待ちの必要でない処理は、処理のネッ
クとなっているロックが解除されるまで持つことなく、
先行させることができる。
Therefore, processes that do not need to wait for a lock will not wait until the lock that is the bottleneck for the process is released.
It can be advanced.

つまり、ロックの依存関係を考慮したスケジューリング
をプログラムに盛り込む必要がなくなる。また、アプリ
ケーションごとにグラフを作成することができるため、
汎用性も高くなる。
In other words, there is no need to include scheduling in consideration of lock dependencies in the program. Also, since you can create graphs for each application,
It also becomes more versatile.

サスペンド/レジューム機構を持った並列言語(GHC
,Parlog、 Concurrent Prolo
gなど)によってトランザクション処理を基本処理単位
で記述することにより、上記のようなトランザクション
処理システムを容易に実現することができる。
Parallel language with suspend/resume mechanism (GHC)
, Parlog, Concurrent Prolo
By describing transaction processing in basic processing units using (e.g.), the transaction processing system described above can be easily realized.

[実施例] 本発明の一実施例の基本構成を第1図に示す。[Example] The basic configuration of an embodiment of the present invention is shown in FIG.

同図において、入ってきたトランザクションは、ユーザ
インタフェース部1から、基本処理単位依存関係グラフ
2内にある予め用意されたグラフ中の対応するノードを
発火する(トランザクションが入った時点でグラフを作
成する方法も考えられる〉。
In the figure, an incoming transaction fires a corresponding node in a graph prepared in advance in the basic processing unit dependency graph 2 from the user interface unit 1 (a graph is created at the time a transaction enters). There are other ways to do this.

サスペンド/レジューム機構部3では、グラフのノード
が発火しているかどうかをチエツクし、発火しているグ
ラフのノードをグラフ実行部4に知らせる。
The suspend/resume mechanism section 3 checks whether or not a graph node is firing, and notifies the graph execution section 4 of the fired graph node.

グラフ実行部4では、サスペンド/レジューム機構部3
からの指示によってグラフのノードを実行する。グラフ
中のデータベース・アクセス・ノードを実行する場合に
は、データベース7にアクセスするため、データベース
検索/更新部5にアクセス要求を出す。
In the graph execution unit 4, the suspend/resume mechanism unit 3
Executes nodes in the graph according to instructions from When executing a database access node in the graph, an access request is issued to the database search/update section 5 in order to access the database 7.

処理結果は、ユーザインタフェース部1を通して返され
る。排他制御でロックが必要な場合には、ロック機構部
6にロック要求を出す。このとき、既に、ロックがかけ
られている場合には、ロックの解除を待つ。デッドロッ
クについては、デッドロックをロック機構部6で検出し
、遅く開始したトランザクションをロールバックする方
法がある。
Processing results are returned through the user interface section 1. If a lock is required for exclusive control, a lock request is issued to the lock mechanism section 6. At this time, if it is already locked, it waits for the lock to be released. Regarding deadlock, there is a method of detecting the deadlock using the locking mechanism section 6 and rolling back a transaction that started late.

グラフのノードが、その時のシステムの状態で動的に実
行されていくため、不要な待ちの少ない効率的な処理が
可能となる。
Since nodes in the graph are executed dynamically based on the system state at that time, efficient processing with less unnecessary waiting is possible.

次に第2図を参照しながら典型的なトランザクション処
理の例を考える。第2図において、8は基本処理、9は
レコード、10はロック関係、11で示す矢印は制御の
流れ、12で示す矢印はデータの流れを表わしている。
Next, consider an example of typical transaction processing with reference to FIG. In FIG. 2, 8 represents basic processing, 9 records, 10 lock relations, arrows 11 represent control flow, and arrows 12 represent data flow.

同図に示すようにa、b、cの3つのデータベース中の
IDがそれぞれI+  j+ kの3つのレコードに対
してそれぞれdeltaを加えるという更新をかけるよ
うなトランザクションを考える。各レコードには別のト
ランザクションからアクセスされることがあるため、ロ
ックをかける。
As shown in the figure, consider a transaction in which three records with IDs I+j+k in three databases a, b, and c are updated by adding delta to each record. Lock each record because it may be accessed by another transaction.

トランザクション内を逐次的に記述すると、次のように
なる。
If you write the transaction sequentially, it will look like this:

5tart  Transaction;1ock (
a、 i) ; x:=find (a、 i); x: = x+ delta; replace (a、i、x); 1ock (b、 j) ; y:=ftnd (b、J); y:” N−delta; replace (b、j、y); 1ock (c、 k) ; z:= z+ delta; replace (c、に、z); unlock (a、i): unlock (b、j); unlock (c、k); Comm1t  Transactlon;ここで、各
レコードに対するunlockは2相ロツク法に従って
すべての1ockが終わった後に行なう必要がある。
5tart Transaction; 1ock (
a, i); x:=find (a, i); x: = x+ delta; replace (a, i, x); 1ock (b, j); y:=ftnd (b, J); y:” N-delta; replace (b, j, y); 1lock (c, k); z:= z+ delta; replace (c, ni, z); unlock (a, i): unlock (b, j); unlock (c, k); Commit Transactlon; Here, each record must be unlocked after all 1locks are completed according to the two-phase lock method.

同様のトランザクションが同時に複数走っていて、同じ
レコードをアクセスする場合、1ockの処理の部分で
待たされることになる。特に、トランザクションの最初
のほうで1ockをかけたレコード(この例でいうと、
aというデータベースのIDがiのレコード、以下では
a、lレコードと記述する)の競合確率が高い場合、そ
のロックが解除されてからそれ以降の処理をするため、
トランザクションのレスポンスが悪くなる。 b、」レ
コードやc、にレコードにはロックがかかりづらい場合
は、a、lレコードのロック解除を持つ間に処理を進め
て時間のかかるディスクアクセスをしておくことが可能
である。しかし、逐次的に処理が進む場合には、a、l
レコードのロック解除を侍って、残りの2つのレコード
についてディスク・アクセスにいくため、処理に時間が
かかることになる。
If multiple similar transactions are running at the same time and access the same record, they will have to wait for the 1ock processing part. In particular, the record that was 1ocked at the beginning of the transaction (in this example,
If the conflict probability is high for the record with ID i in database a (hereinafter written as a, l record), the subsequent processing will be performed after that lock is released.
Transaction response becomes poor. If it is difficult to lock the records b and c, it is possible to proceed with the process and perform time-consuming disk access while unlocking the a and l records. However, when processing proceeds sequentially, a, l
Processing takes time because the record is unlocked and the remaining two records are accessed from the disk.

そこで、動的に実行順序を変更する方法を考える。前出
の例のトランザクションの基本処理単位の依存関係をグ
ラフにしたものを11E3図に示す。同図において、8
は基本処理、9はレコード、10で示す双方向の矢印は
ロック関係、11で示す矢印は制御の流れ、12で示す
矢印はデータの流れを示しており、これらは第2図の場
合と同様である。また5ync13は同期を取るための
もので、そのノードへのすべての入力が入ってきた時点
で出力を出す。
Therefore, we will consider a method to dynamically change the execution order. A graph of the dependencies of the basic processing units of the transactions in the above example is shown in Figure 11E3. In the same figure, 8
is the basic processing, 9 is the record, the bidirectional arrow 10 is related to locking, the arrow 11 is the control flow, and the arrow 12 is the data flow, and these are the same as in the case of Figure 2. It is. 5ync13 is for synchronization, and outputs when all inputs to that node are received.

実際の更新はコミット時に行なう必要があるため、トラ
ンザクション中のすべてのロック処理の終了を待って更
新を行ない、すべての更新が終わったところでロックを
解除する。このため、同期が必要となる。
Since the actual update must be performed at commit time, the update is performed after all lock processing in the transaction is completed, and the lock is released when all updates are completed. For this reason, synchronization is required.

第3図から判るように、a、lレコードの検索と、 b
、lレコード、 c、にレコードの検索は、他のレコー
ドのロックとは独立に並列に行なうことができる。この
ため、競合が少ないレコードについては、自動的に先読
みできるようになる。
As can be seen from Figure 3, searching for a and l records, and b
, l record, The search for the record in c can be done in parallel, independent of the locking of other records. Therefore, records with few conflicts can be automatically prefetched.

このグラフを実行するため、サスペンド/レジューム機
構を持った並列言語を利用する方法を考える。このとき
のシステムの機構を第4図に示す。つまり、基本構成図
のユーザインタフェース部、基本処理単位依存関係グラ
フ、サスペンド/レジューム機構、グラフ実行の部分を
GHC処理系14で置き換えたものである。
In order to execute this graph, we will consider a method using a parallel language with a suspend/resume mechanism. The mechanism of the system at this time is shown in FIG. That is, the user interface section, basic processing unit dependency relationship graph, suspend/resume mechanism, and graph execution portions of the basic configuration diagram are replaced with the GHC processing system 14.

このようなシステム構成にした場合の、第3図のトラン
ザクション例に対するGHCプログラムは、以下のよう
になる。なお、GHCのプログラムでは、大文字で始ま
るストリングは変数を示し、;マーク以降の処理は、入
力変数の値が決まったものから並列(平行)に実行可能
である。
In the case of such a system configuration, the GHC program for the transaction example shown in FIG. 3 is as follows. In the GHC program, a string starting with a capital letter indicates a variable, and the processing after the ; mark can be executed in parallel (parallel) starting from the determined value of the input variable.

transaction (1,J、に、Delta)
ニーget  time  of  day  (Ti
me  stamp):1ock (a、 I、 Ti
me  stamp、^−1ock)。
transaction (1,J,Delta)
knee get time of day (Ti
me stamp): 1ock (a, I, Ti
me stamp, ^-1ock).

1ock(b、J、Time  stamp、B  1
ock)。
1ock (b, J, Time stamp, B 1
ock).

1ock (c、に、Time  stamp、C1o
ck)。
1ock (c, ni, Time stamp, C1o
ck).

find (^−1ock、 a、 I、^−data
) 。
find (^-1ock, a, I, ^-data
).

find(B  1ock、b、J、B  data)
find(B 1ock, b, J, B data)
.

find (C1ock、c、に、Cdata)。find (C1ock, c, to, Cdata).

modify (^−data、 Delta、八−d
ata  new)。
modify (^-data, Delta, 8-d
ata new).

modify (B  data、 Delta、 B
  data  new)。
modify (B data, Delta, B
data new).

modify(Cdata、Delta、Cdata 
 new)。
modify(Cdata, Delta, Cdata
new).

ync ([^−1ock、B  1ock、C1ock]、 
 L  5ync)。
ync ([^-1ock, B 1ock, C1ock],
L5ync).

replace (L  5ync、a、I、^−data  new、
八−5txt)。
replace (L 5ync, a, I, ^-data new,
8-5txt).

replice (L  5ync、bj、B  data  new、
B  5tat)。
reprise (L 5ync, bj, B data new,
B5tat).

replace (L  5ync、 c、 K、 Cdata  ne
w、 C5tat)。
replace (L 5ync, c, K, Cdata ne
w, C5tat).

ync ([^−5tat、 B  5tat、 C5tat]
、  S  5ync)。
ync ([^-5tat, B 5tat, C5tat]
, S5ync).

unlock(S  5ync、a、I)。unlock (S 5 sync, a, I).

unlock(S  5ync、 b、 J)+unl
ock(S  5ync、c、に)。
unlock (S 5ync, b, J) + unl
ock(S 5ync, c, to).

デッドロックが生じた場合に、早く開始したトランザク
ションを判別するために、開始時にタイム・スタンプを
取り(get  tile  of  day) 、ロ
ック機構部に渡すようにしている。この時、遅く開始し
たトランザクションは、ロールパックして最初から処理
を再開する。また、5yncは汎用性を持たせるために
2引き数とし、第1引き数に同期を取るべき変数のリス
トを渡している。
In order to determine which transaction started earlier when a deadlock occurs, a time stamp is taken at the time of start (get tile of day) and passed to the locking mechanism. At this time, transactions that started late are roll packed and processing is restarted from the beginning. In addition, 5sync has two arguments to provide versatility, and a list of variables to be synchronized is passed as the first argument.

本プログラムは、1.J、に$よびDeltaが与えら
れた時点で、動作を開始する。GHCのサスペンド/レ
ジューム機構により、各基本処理は動的な順番で実行さ
れることになる。
This program consists of 1. The operation starts when $ and Delta are given to J. GHC's suspend/resume mechanism causes each basic process to be executed in a dynamic order.

[発明の効果コ 以上説明したように、本発明によれば、トランザクショ
ン処理において、基本処理間のデータフローと制御フロ
ーに従って基本処理を並列(平行)に動作させることに
より、不要な待ち時間がなくなるので、各トランザクシ
ョンのレスポンスタイムやシステムのスル−プットが向
上する。第5図は本発明の詳細な説明する図であって複
数トランザクションの場合のタイムテーブルを示してお
り、(a)が本発明の方式による場合を、(b)が従来
の方式による場合を示している。
[Effects of the Invention] As explained above, according to the present invention, in transaction processing, unnecessary waiting time is eliminated by operating basic processes in parallel according to the data flow and control flow between the basic processes. Therefore, the response time of each transaction and the system throughput are improved. FIG. 5 is a diagram explaining the present invention in detail and shows a timetable in the case of multiple transactions, where (a) shows the case according to the method of the present invention and (b) shows the case according to the conventional method. ing.

そして、ロックの依存関係にしたがって実行順序を指定
する必要がないからプログラミングが容易になり、汎用
性も増す。一方、サスペンド/レジューム機構を持つ並
列言語システムを使うことにより、システムの構成が容
易になると共に、並列言語を使うと、システム全体を並
列化する場合に、並列化が容易になり、また、プロセス
スイッチのオーバヘッドが少ない並列言語を使うことに
よって、処理効率が上がる利点がある。
Furthermore, since there is no need to specify the execution order according to lock dependencies, programming becomes easier and versatility increases. On the other hand, by using a parallel language system that has a suspend/resume mechanism, system configuration becomes easier. Using a parallel language with less switching overhead has the advantage of increasing processing efficiency.

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

第1図は本発明の一実施例の基本構成を示す図、第2図
はトランザクション処理の例を示す図、第3図は依存関
係のグラフの例を示す図、第4図はGHCを使用した構
成を示す図、第5図は本発明の効果について説明する図
である。 1・・・・・・ユーザインタフェース部、2・・・・・
・基本処理単位依存関係グラフ、3・・・・・・サスペ
ンド/レジューム機構部、4・・・・・・グラフ実行部
、5・・・・・・データベース検索/更新部、6・・・
・・・ロック機構部、7・・・・・・データベース、8
・・・・・・基本処理、9・・・・・・レコード、lO
・・・・・・ロック関係、11・・・・・・制御の流れ
、12・・・・・・データの流れ、13・・・・・・5
ync。 14・・・・・・GHC処理系
Figure 1 shows the basic configuration of an embodiment of the present invention, Figure 2 shows an example of transaction processing, Figure 3 shows an example of a dependency graph, and Figure 4 uses GHC. FIG. 5 is a diagram illustrating the effect of the present invention. 1...User interface section, 2...
- Basic processing unit dependency graph, 3... Suspend/resume mechanism section, 4... Graph execution section, 5... Database search/update section, 6...
... Lock mechanism section, 7 ... Database, 8
...Basic processing, 9...Record, lO
... Lock related, 11 ... Control flow, 12 ... Data flow, 13 ...5
ync. 14...GHC processing system

Claims (1)

【特許請求の範囲】 1、電子計算機によるトランザクション処理において、
トランザクションを基本処理単位に分解する手段と、該
基本処理間のデータおよび制御の依存関係に従って基本
処理を並列もしくは平行に実行する手段とを設けたこと
を特徴とするトランザクション処理システム。 2、トランザクションの基本処理間のデータおよび制御
の依存関係をグラフ化し、該グラフに従って基本処理を
サスペンド/レジュームさせることによって、複数の基
本処理を並列もしくは平行に実行させる請求項1記載の
トランザクション処理システム。 3、システムの構成が、ユーザインタフェース部と、基
本処理単位依存関係グラフと、グラフ実行部と、ロック
機構部と、サスペンド/レジューム機構部と、データベ
ース検索/更新部と、データベースとから成る請求項1
および2記載のトランザクション処理システム。 4、ロック機構部でデッドロックを検出し、タイムスタ
ンプにより遅く開始したトランザクションを判別し、ロ
ールバックを行なう請求項3記載のトランザクション処
理システム。 5、サスペンド/レジューム機構部をサスペンド/レジ
ューム機構を持つ並列言語を用いて実現した請求項3お
よび請求項4記載のトランザクション処理システム。
[Claims] 1. In transaction processing by an electronic computer,
A transaction processing system comprising: means for decomposing transactions into basic processing units; and means for executing the basic processes in parallel or in parallel according to data and control dependencies between the basic processes. 2. The transaction processing system according to claim 1, wherein a plurality of basic processes are executed in parallel or in parallel by graphing data and control dependencies between basic processes of a transaction and suspending/resuming the basic processes according to the graph. . 3. Claim in which the system configuration comprises a user interface section, a basic processing unit dependency graph, a graph execution section, a lock mechanism section, a suspend/resume mechanism section, a database search/update section, and a database. 1
and the transaction processing system described in 2. 4. The transaction processing system according to claim 3, wherein the locking mechanism detects deadlock, determines a transaction that started late based on a time stamp, and rolls back the transaction. 5. The transaction processing system according to claim 3, wherein the suspend/resume mechanism section is implemented using a parallel language having a suspend/resume mechanism.
JP2068395A 1990-03-20 1990-03-20 Transaction processing system Pending JPH03269740A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2068395A JPH03269740A (en) 1990-03-20 1990-03-20 Transaction processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2068395A JPH03269740A (en) 1990-03-20 1990-03-20 Transaction processing system

Publications (1)

Publication Number Publication Date
JPH03269740A true JPH03269740A (en) 1991-12-02

Family

ID=13372473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2068395A Pending JPH03269740A (en) 1990-03-20 1990-03-20 Transaction processing system

Country Status (1)

Country Link
JP (1) JPH03269740A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683677A (en) * 1992-04-20 1994-03-25 Internatl Business Mach Corp <Ibm> Method and system for increment time-zero backup copy of data
JP2014052705A (en) * 2012-09-05 2014-03-20 Toshiba Tec Corp Handy terminal device, control method, and control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683677A (en) * 1992-04-20 1994-03-25 Internatl Business Mach Corp <Ibm> Method and system for increment time-zero backup copy of data
JP2014052705A (en) * 2012-09-05 2014-03-20 Toshiba Tec Corp Handy terminal device, control method, and control program

Similar Documents

Publication Publication Date Title
US9569254B2 (en) Automatic checkpointing and partial rollback in software transaction memory
US7395383B2 (en) Realtime-safe read copy update with per-processor read/write locks
EP0454610B1 (en) Method and device for concurrency control of shared data updates and queries
US7426511B2 (en) Efficient support of consistent cyclic search with read-copy-update
US7761434B2 (en) Multiversion concurrency control in in-memory tree-based data structures
US5778388A (en) Method of processing a synchronization point in a database management system to assure a database version using update logs from accumulated transactions
US8666952B2 (en) Optimized deletion and insertion for high-performance resizable RCU-protected hash tables
Qadah et al. Quecc: A queue-oriented, control-free concurrency architecture
Son et al. Hybrid protocols using dynamic adjustment of serialization order for real-time concurrency control
JP2009271665A (en) Transaction processing system for database using multi-operation processing equipped with simultaneous execution control of transaction
US5561794A (en) Early commit optimistic projection-based computer database protocol
JPH08328933A (en) File access control system for parallel processing system
US5752026A (en) Early commit locking computer database protocol
Dong et al. Optimistic transaction processing in deterministic database
JPH03269740A (en) Transaction processing system
Zhang et al. Efficient distributed transaction processing in heterogeneous networks
Alonso et al. Reducing recovery constraints on locking based protocols
JPH05307478A (en) Constituting method for data base management system
Wolfson The virtues of locking by symbolic names
Gold et al. The power of the private workspace model
Shu et al. Versioning concurrency control for hard real-time systems
JPH0619769A (en) Record lock control method
JPH04360265A (en) Parallel transaction processing system for processing data distribution
Attiya et al. Staleness and Local Progress in Transactional Memory
JPH03123946A (en) Exclusive control method for data base