JP2016095638A - トランザクション処理装置、トラザクション処理方法、及びプログラム - Google Patents
トランザクション処理装置、トラザクション処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2016095638A JP2016095638A JP2014230846A JP2014230846A JP2016095638A JP 2016095638 A JP2016095638 A JP 2016095638A JP 2014230846 A JP2014230846 A JP 2014230846A JP 2014230846 A JP2014230846 A JP 2014230846A JP 2016095638 A JP2016095638 A JP 2016095638A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- lock
- executed
- execution
- control method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 205
- 238000004458 analytical method Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 192
- 238000007726 management method Methods 0.000 abstract description 42
- 238000013500 data storage Methods 0.000 abstract description 30
- 230000006866 deterioration Effects 0.000 abstract 1
- 238000000605 extraction Methods 0.000 description 34
- 230000007717 exclusion Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】トランザクション処理装置100は、トランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、データ格納装置200上のトランザクションでアクセスされるデータを特定する、トランザクション解析部101と、トランザクションがロックを取得して動作する場合に、このトランザクションにロックを取得させる、ロック管理部102と、このトランザクション以外の別のトランザクションがロックを取得していないことを条件に、このトランザクションを実行し、実行結果に基づいて、アクセス対象のデータを更新する、トランザクション実行部103と、を備えている。
【選択図】図1
Description
前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ロック管理部と、
前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、トランザクション実行部と、を備えている、
ことを特徴とする。
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、を有する、
ことを特徴とする。
(a)実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、ステップと、
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、
を実行させることを特徴とする。
以下、本発明の実施の形態1における、トランザクション処理装置、トランザクション処理方法、及びプログラムについて、図1〜図9を参照しながら説明する。
次に、本実施の形態1におけるトランザクション処理装置100の動作について図3を用いて説明する。図3は、本発明の実施の形態1におけるトランザクション処理装置の動作を示すフロー図である。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態1では、トランザクション処理装置100を動作させることによって、トランザクション処理方法が実施される。よって、本実施の形態1におけるトランザクション処理方法の説明は、以下のトランザクション処理装置100の動作説明に代える。
続いて、図3に示した各ステップの実行時にデータ格納装置200で判定される排他違反の具体例について図5〜図8を用いて説明する。
最初に、図3に示すステップS202の実行後に、KVペアアクセス部201によって判定される排他違反について説明する。また、この場合の排他違反としては2つのケースが考えられる。各ケースについて、図5及び図6を用いて説明する。図5は、図3に示すステップS202の実行後に判定される排他違反の一例を説明するための説明図である。図6は、図3に示すステップS202の実行後に判定される排他違反の他の例を説明するための説明図である。
続いて、図3に示すステップS205の実行後に、KVペアアクセス部201によって判定される排他違反について説明する。また、この場合の排他違反としても、2つのケースが考えられる。各ケースについて図7及び図8を用いて説明する。図7は、図3に示すステップS205の実行後に判定される排他違反の一例を説明するための説明図である。図8は、図3に示すステップS205の実行後に判定される排他違反の他の例を説明するための説明図である。
続いて、図3に示したステップS102で、ロック管理部102によってキューに格納されたトランザクションの再実行処理について図9を用いて説明する。図9は、本発明の実施の形態1におけるトランザクション処理装置のトランザクション再実行処理時の動作を示すフロー図である。
本実施の形態1におけるプログラムは、コンピュータに、図3に示すステップS001〜S209、更には、図9に示すステップS301〜S305を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるトランザクション処理装置とトランザクション処理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、トランザクション解析部101、ロック管理部102、及びトランザクション実行部103として機能し、処理を行なう。
以上のように、本実施の形態1では、楽観的排他制御方式に沿って排他制御が行なわれる分散KVSにおいて、実行の対象となるトランザクションがアクセスするKVペアにロック情報を書き込むことで、当該トランザクションにロックを取得させることができる。この場合、同じKVペアにアクセスする他のトランザクションが存在していても、これに対して、トランザクションの待ち合わせを行なわせたり、アボートさせたりすることで、これを排除できる。
次に、本発明の実施の形態2における、トランザクション処理装置、トランザクション処理方法、及びプログラムについて、図10〜図12を参照しながら説明する。
次に、本実施の形態2におけるトランザクション処理装置110の動作について図12を用いて説明する。但し、本実施の形態2においては、排他制御方式設定部111による処理を除いて、実施の形態1と同様の処理が行なわれる。つまり、本実施の形態2においても、実施の形態1と同様に、図3に示すステップS001〜S209と、図9に示すステップS301〜S305とが実行される。従って、以下においては、排他制御方式設定部111の動作を中心に説明する。
本実施の形態2におけるプログラムは、コンピュータに、図3に示すステップS001〜S209、図9に示すステップS301〜S305、更には、図12に示すステップS401〜S404を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2におけるトランザクション処理装置とトランザクション処理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、トランザクション解析部101、ロック管理部102、トランザクション実行部103、及び排他制御方式設定部111として機能し、処理を行なう。
このように、本実施形態2では、ロックを取得しないで動作していたトランザクションを、設定条件に基づいて、ロックを取得して動作するトランザクションに変更することができる。このため、本実施の形態2によれば、トランザクションのリトライによるオーバーヘッドをより効率的に削減することができる。
次に、本発明の実施の形態3における、トランザクション処理装置、トランザクション処理方法、及びプログラムについて、図13を参照しながら説明する。図13は、は本発明の実施の形態3におけるトランザクション処理装置の具体的構成を示すブロック図である。
本実施の形態3におけるプログラムは、コンピュータに、図3に示すステップS001処理が追加されたステップS002、ステップS003〜S209、更には、図9に示すステップS301〜S305を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態3におけるトランザクション処理装置とトランザクション処理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、トランザクション解析部101、ロック管理部102、及びトランザクション実行部103として機能し、処理を行なう。
このように、本実施形態3では、クライアント500から入力される実行対象トランザクションが更新するKVペアの数が特定され、特定された数に応じて、実行対象トランザクションの排他制御方式が設定される。このため、本実施の形態3によれば、トランザクションのリトライによるオーバーヘッドをより効率的に削減することができる。
次に、本発明の実施の形態4における、トランザクション処理装置、トランザクション処理方法、及びプログラムについて、図14及び図15を参照しながら説明する。
次に、本実施の形態4におけるトランザクション処理装置130の動作について図15を用いて説明する。但し、本実施の形態4においては、トランザクションの再実行処理を除いて、実施の形態1と同様の処理が行なわれる。つまり、本実施の形態4においても、実施の形態1と同様に、図3に示すステップS001〜S209が実行される。従って、以下においては、トランザクションの再実行処理を中心に説明する。
本実施の形態4におけるプログラムは、コンピュータに、図3に示すステップS001〜S209、更には、図15に示すステップS501〜S507を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態4におけるトランザクション処理装置とトランザクション処理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、トランザクション解析部101、ロック管理部102、及びトランザクション実行部103として機能し、処理を行なう。
このように、本実施の形態4では、ロック取得を待っているトランザクションが長時間ロック取得に成功できない場合に、タイムアウトエラーとすることができるので、いつまでたってもクライアント500に結果が返らないという状況を回避できる。また、クライアント500は、タイムアウトエラーを受けて、トランザクションの再実行を遅らせるなどの対処を実行することが可能となる。
ここで、実施の形態1〜4におけるプログラムを実行することによって、トランザクション処理装置を実現するコンピュータについて図16を用いて説明する。図16は、本発明の実施の形態1〜4におけるトランザクション処理装置を実現するコンピュータの一例を示すブロック図である。
実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、トランザクション解析部と、
前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ロック管理部と、
前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、トランザクション実行部と、を備えている、
ことを特徴とするトランザクション処理装置。
前記ロック管理部が、特定された前記データに、ロック情報を付加することによって、前記トランザクションにロックを取得させる、
付記1に記載のトランザクション処理装置。
前記データベースが、トランザクションでアクセスされるデータと、それに対応するキーとを、ペアデータとして格納している場合に、
前記トランザクション解析部は、前記実行対象となるトランザクションでアクセスされるデータとそれに対応するキーとの前記ペアデータを特定し、
前記ロック管理部は、特定された前記ペアデータのキーを用いて、前記データベースに対して、特定された前記ペアデータの特定の領域に前記ロック情報を書き込むように指示を行ない、それによって前記トランザクションにロックを取得させ、
前記トランザクション実行部は、前記トランザクションの実行後に、特定された前記ペアデータのキーを用いて、前記データベースに格納されている前記ペアデータを更新する、
付記2に記載のトランザクション処理装置。
前記実行対象となるトランザクションについての実行時の排他制御方式を、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかに設定する、排他制御方式設定部を更に備え、
前記トランザクション実行部は、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記1〜3のいずれかに記載のトランザクション処理装置。
前記排他制御方式設定部が、前記第1の排他制御方式を設定している場合において、前記実行対象となるトランザクションの実行が完了せず、且つ、設定された条件が満たされていることを条件に、前記第1の排他制御方式に代えて、前記第2の排他制御方式を設定する、付記4に記載のトランザクション処理装置。
前記トランザクション解析部が、更に、前記実行対象となるトランザクションでアクセスされる前記データの数を特定し、
特定した前記データの数に応じて、前記実行対象となるトランザクションについての実行時の排他制御方式として、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかを設定し、
前記トランザクション実行部は、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記1〜3のいずれかに記載のトランザクション処理装置。
前記トランザクション解析部が、特定された前記データの数が1つの場合に、前記第1の排他制御方式を設定し、特定された前記データの数が2つ以上の場合に、前記第2の排他制御方式を設定する、
付記6に記載のトランザクション処理装置。
前記実行対象となっているが、実行が完了していないトランザクションについて、基準時からの経過時間が閾値を超えているどうかを判定し、判定の結果に基づいて、基準時からの経過時間が閾値を超えている、前記実行対象となるトランザクションを、実行対象から排除する、タイムアウト処理部を更に備えている、
付記1〜7のいずれかに記載のトランザクション処理装置。
(a)実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、ステップと、
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、を有する、
ことを特徴とするトランザクション処理方法。
前記(b)のステップにおいて、特定された前記データに、ロック情報を付加することによって、前記トランザクションにロックを取得させる、
付記9に記載のトランザクション処理方法。
前記データベースが、トランザクションでアクセスされるデータと、それに対応するキーとを、ペアデータとして格納している場合に、
前記(a)のステップにおいて、前記実行対象となるトランザクションでアクセスされるデータとそれに対応するキーとの前記ペアデータを特定し、
前記(b)のステップにおいて、特定された前記ペアデータのキーを用いて、前記データベースに対して、特定された前記ペアデータの特定の領域に前記ロック情報を書き込むように指示を行ない、それによって前記トランザクションにロックを取得させ、
前記(c)のステップにおいて、前記トランザクションの実行後に、特定された前記ペアデータのキーを用いて、前記データベースに格納されている前記ペアデータを更新する、
付記10に記載のトランザクション処理方法。
(d)前記実行対象となるトランザクションについての実行時の排他制御方式を、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかに設定する、ステップを更に有し、
前記(c)のステップにおいて、前記(d)のステップで設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記9〜11のいずれかに記載のトランザクション処理方法。
前記(d)のステップにおいて、前記第1の排他制御方式を設定している場合において、前記実行対象となるトランザクションの実行が完了せず、且つ、設定された条件が満たされていることを条件に、前記第1の排他制御方式に代えて、前記第2の排他制御方式を設定する、付記12に記載のトランザクション処理方法。
前記(a)のステップにおいて、前記実行対象となるトランザクションでアクセスされる前記データの数を特定し、
特定した前記データの数に応じて、前記実行対象となるトランザクションについての実行時の排他制御方式として、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかを設定し、
前記(c)のステップにおいて、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記9〜11のいずれかに記載のトランザクション処理方法。
前記(a)のステップにおいて、特定された前記データの数が1つの場合に、前記第1の排他制御方式を設定し、特定された前記データの数が2つ以上の場合に、前記第2の排他制御方式を設定する、
付記14に記載のトランザクション処理方法。
(e)前記実行対象となっているが、実行が完了していないトランザクションについて、基準時からの経過時間が閾値を超えているどうかを判定し、判定の結果に基づいて、基準時からの経過時間が閾値を超えている、前記実行対象となるトランザクションを、実行対象から排除する、ステップを更に有している、
付記9〜15のいずれかに記載のトランザクション処理方法。
コンピュータに、
(a)実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、ステップと、
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、
を実行させるプログラム。
前記(b)のステップにおいて、特定された前記データに、ロック情報を付加することによって、前記トランザクションにロックを取得させる、
付記17に記載のプログラム。
前記データベースが、トランザクションでアクセスされるデータと、それに対応するキーとを、ペアデータとして格納している場合に、
前記(a)のステップにおいて、前記実行対象となるトランザクションでアクセスされるデータとそれに対応するキーとの前記ペアデータを特定し、
前記(b)のステップにおいて、特定された前記ペアデータのキーを用いて、前記データベースに対して、特定された前記ペアデータの特定の領域に前記ロック情報を書き込むように指示を行ない、それによって前記トランザクションにロックを取得させ、
前記(c)のステップにおいて、前記トランザクションの実行後に、特定された前記ペアデータのキーを用いて、前記データベースに格納されている前記ペアデータを更新する、
付記18に記載のプログラム。
(d)前記実行対象となるトランザクションについての実行時の排他制御方式を、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかに設定する、ステップを、更に前記コンピュータに実行させ、
前記(c)のステップにおいて、前記(d)のステップで設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記17〜19のいずれかに記載のプログラム。
前記(d)のステップにおいて、前記第1の排他制御方式を設定している場合において、前記実行対象となるトランザクションの実行が完了せず、且つ、設定された条件が満たされていることを条件に、前記第1の排他制御方式に代えて、前記第2の排他制御方式を設定する、付記20に記載のプログラム。
前記(a)のステップにおいて、前記実行対象となるトランザクションでアクセスされる前記データの数を特定し、
特定した前記データの数に応じて、前記実行対象となるトランザクションについての実行時の排他制御方式として、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかを設定し、
前記(c)のステップにおいて、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
付記17〜19のいずれかに記載のプログラム。
前記(a)のステップにおいて、特定された前記データの数が1つの場合に、前記第1の排他制御方式を設定し、特定された前記データの数が2つ以上の場合に、前記第2の排他制御方式を設定する、
付記22に記載のプログラム。
(e)前記実行対象となっているが、実行が完了していないトランザクションについて、基準時からの経過時間が閾値を超えているどうかを判定し、判定の結果に基づいて、基準時からの経過時間が閾値を超えている、前記実行対象となるトランザクションを、実行対象から排除する、ステップを、更に前記コンピュータに実行させる、
付記17〜23のいずれかに記載のプログラム。
11 CPU
12 メインメモリ
13 記憶装置
14 入力インターフェイス
15 表示コントローラ
16 データリーダ/ライタ
17 通信インターフェイス
18 入力機器
19 ディスプレイ装置
20 記録媒体
21 バス
100 トランザクション処理装置(実施の形態1)
101 トランザクション解析部
102 ロック管理部
103 トランザクション実行部
104 ロック情報取出し部
105 ロック情報書き込み部
110 トランザクション処理装置(実施の形態2)
111 排他制御方式設定部
120 トランザクション処理装置(実施の形態3)
121 KVペアアクセス解析部
130 トランザクション処理装置(実施の形態4)
131 タイムアウト処理部
200 データ格納装置
201 KVペアアクセス部
202 KVペア記憶部
300 トランザクション処理装置
400 分散トランザクション処理システム
500 クライアント
600 ネットワーク
Claims (10)
- 実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、トランザクション解析部と、
前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ロック管理部と、
前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、トランザクション実行部と、を備えている、
ことを特徴とするトランザクション処理装置。 - 前記ロック管理部が、特定された前記データに、ロック情報を付加することによって、前記トランザクションにロックを取得させる、
請求項1に記載のトランザクション処理装置。 - 前記データベースが、トランザクションでアクセスされるデータと、それに対応するキーとを、ペアデータとして格納している場合に、
前記トランザクション解析部は、前記実行対象となるトランザクションでアクセスされるデータとそれに対応するキーとの前記ペアデータを特定し、
前記ロック管理部は、特定された前記ペアデータのキーを用いて、前記データベースに対して、特定された前記ペアデータの特定の領域に前記ロック情報を書き込むように指示を行ない、それによって前記トランザクションにロックを取得させ、
前記トランザクション実行部は、前記トランザクションの実行後に、特定された前記ペアデータのキーを用いて、前記データベースに格納されている前記ペアデータを更新する、
請求項2に記載のトランザクション処理装置。 - 前記実行対象となるトランザクションについての実行時の排他制御方式を、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかに設定する、排他制御方式設定部を更に備え、
前記トランザクション実行部は、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
請求項1〜3のいずれかに記載のトランザクション処理装置。 - 前記排他制御方式設定部が、前記第1の排他制御方式を設定している場合において、前記実行対象となるトランザクションの実行が完了せず、且つ、設定された条件が満たされていることを条件に、前記第1の排他制御方式に代えて、前記第2の排他制御方式を設定する、請求項4に記載のトランザクション処理装置。
- 前記トランザクション解析部が、更に、前記実行対象となるトランザクションでアクセスされる前記データの数を特定し、
特定した前記データの数に応じて、前記実行対象となるトランザクションについての実行時の排他制御方式として、ロックの取得を必要としない第1の排他制御方式、及びロックの取得を必要とする第2の排他制御方式のうちいずれかを設定し、
前記トランザクション実行部は、設定された排他制御方式に従って、前記実行対象となるトランザクションを実行する、
請求項1〜3のいずれかに記載のトランザクション処理装置。 - 前記トランザクション解析部が、特定された前記データの数が1つの場合に、前記第1の排他制御方式を設定し、特定された前記データの数が2つ以上の場合に、前記第2の排他制御方式を設定する、
請求項6に記載のトランザクション処理装置。 - 前記実行対象となっているが、実行が完了していないトランザクションについて、基準時からの経過時間が閾値を超えているどうかを判定し、判定の結果に基づいて、基準時からの経過時間が閾値を超えている、前記実行対象となるトランザクションを、実行対象から排除する、タイムアウト処理部を更に備えている、
請求項1〜7のいずれかに記載のトランザクション処理装置。 - (a)実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、ステップと、
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、を有する、
ことを特徴とするトランザクション処理方法。 - コンピュータに、
(a)実行対象となるトランザクションを解析して、前記実行対象となるトランザクションがロックを取得して動作するトランザクションであるかどうかを判定し、更に、データベース上の前記実行対象となるトランザクションでアクセスされるデータを特定する、ステップと、
(b)前記実行対象となるトランザクションが、ロックを取得して動作するトランザクションである場合に、前記実行対象となるトランザクションにロックを取得させる、ステップと、
(c)前記実行対象となるトランザクション以外の別のトランザクションがロックを取得していないことを条件に、前記実行対象となるトランザクションを実行し、実行結果に基づいて、前記実行対象となるトランザクションでアクセスされる、特定された前記データを更新する、ステップと、
を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014230846A JP6442996B2 (ja) | 2014-11-13 | 2014-11-13 | トランザクション処理装置、トラザクション処理方法、及びプログラム |
US14/938,971 US10303676B2 (en) | 2014-11-13 | 2015-11-12 | Transaction processing apparatus, transaction processing method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014230846A JP6442996B2 (ja) | 2014-11-13 | 2014-11-13 | トランザクション処理装置、トラザクション処理方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016095638A true JP2016095638A (ja) | 2016-05-26 |
JP6442996B2 JP6442996B2 (ja) | 2018-12-26 |
Family
ID=55961870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014230846A Active JP6442996B2 (ja) | 2014-11-13 | 2014-11-13 | トランザクション処理装置、トラザクション処理方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10303676B2 (ja) |
JP (1) | JP6442996B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7458512B2 (ja) | 2020-06-22 | 2024-03-29 | 中興通訊股▲ふん▼有限公司 | 分散トランザクション処理方法、端末およびコンピュータ読み取り可能な記憶媒体 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019125100A (ja) * | 2018-01-15 | 2019-07-25 | 富士通株式会社 | 情報処理装置、制御方法、及び制御プログラム |
CN110618893A (zh) * | 2019-09-26 | 2019-12-27 | 中国银行股份有限公司 | 交易控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619769A (ja) * | 1992-06-30 | 1994-01-28 | Oki Electric Ind Co Ltd | レコードロック制御方法 |
US20070118523A1 (en) * | 2005-11-18 | 2007-05-24 | Bresch Stefan O | Logical locking for Java Data Objects |
US20070239915A1 (en) * | 2006-03-29 | 2007-10-11 | Bratin Saha | Increasing functionality of a reader-writer lock |
JP2008165370A (ja) * | 2006-12-27 | 2008-07-17 | Internatl Business Mach Corp <Ibm> | オンライントランザクション処理を分割し、分散環境で実行するための方法および装置。 |
JP2009037544A (ja) * | 2007-08-03 | 2009-02-19 | Hitachi Ltd | データベース処理方法、その実施システム及びプログラム |
WO2013046883A1 (ja) * | 2011-09-30 | 2013-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理システム、方法及びプログラム |
JP2014178831A (ja) * | 2013-03-14 | 2014-09-25 | Nec Corp | 情報処理装置、データベースアクセス方法、及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257792A (ja) | 1992-03-13 | 1993-10-08 | Hitachi Ltd | 共通データアクセス方法および装置 |
US6625601B1 (en) * | 1999-01-07 | 2003-09-23 | Compaq Information Technologies Group, L.P. | Escrow-locking multithreaded process-pair resource manager dictionary |
US8996563B2 (en) * | 2010-04-06 | 2015-03-31 | Tokutek, Inc. | High-performance streaming dictionary |
-
2014
- 2014-11-13 JP JP2014230846A patent/JP6442996B2/ja active Active
-
2015
- 2015-11-12 US US14/938,971 patent/US10303676B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619769A (ja) * | 1992-06-30 | 1994-01-28 | Oki Electric Ind Co Ltd | レコードロック制御方法 |
US20070118523A1 (en) * | 2005-11-18 | 2007-05-24 | Bresch Stefan O | Logical locking for Java Data Objects |
US20070239915A1 (en) * | 2006-03-29 | 2007-10-11 | Bratin Saha | Increasing functionality of a reader-writer lock |
JP2008165370A (ja) * | 2006-12-27 | 2008-07-17 | Internatl Business Mach Corp <Ibm> | オンライントランザクション処理を分割し、分散環境で実行するための方法および装置。 |
JP2009037544A (ja) * | 2007-08-03 | 2009-02-19 | Hitachi Ltd | データベース処理方法、その実施システム及びプログラム |
WO2013046883A1 (ja) * | 2011-09-30 | 2013-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理システム、方法及びプログラム |
JP2014178831A (ja) * | 2013-03-14 | 2014-09-25 | Nec Corp | 情報処理装置、データベースアクセス方法、及びプログラム |
Non-Patent Citations (1)
Title |
---|
山本 真: "Web−DBシステム安定運用のための負荷テスト&性能検証の実践", DB MAGAZINE, vol. 第16巻,第4号, JPN6018024623, 1 August 2006 (2006-08-01), pages 87 - 99, ISSN: 0003826941 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7458512B2 (ja) | 2020-06-22 | 2024-03-29 | 中興通訊股▲ふん▼有限公司 | 分散トランザクション処理方法、端末およびコンピュータ読み取り可能な記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
US20160140160A1 (en) | 2016-05-19 |
JP6442996B2 (ja) | 2018-12-26 |
US10303676B2 (en) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9953050B2 (en) | Garbage collection of versions driving the garbage collection of multi-version concurrency control timestamps | |
US9251233B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
US10824361B2 (en) | Changing data reliability type within a storage system | |
US10007548B2 (en) | Transaction system | |
US8499004B2 (en) | File system with optimistic I/O operations on shared storage | |
US9063887B2 (en) | Restoring distributed shared memory data consistency within a recovery process from a cluster node failure | |
JP5949937B2 (ja) | トランザクションシステム | |
US9652492B2 (en) | Out-of-order execution of strictly-ordered transactional workloads | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
US11449241B2 (en) | Customizable lock management for distributed resources | |
WO2022048358A1 (zh) | 数据处理方法、装置及存储介质 | |
US20130311425A1 (en) | Database update notification method | |
JP6442996B2 (ja) | トランザクション処理装置、トラザクション処理方法、及びプログラム | |
US11853284B2 (en) | In-place updates with concurrent reads in a decomposed state | |
US20120059997A1 (en) | Apparatus and method for detecting data race | |
US10025521B2 (en) | Obtaining additional data storage from another data storage system | |
US20230161664A1 (en) | Method of responding to operation, electronic device, and storage medium | |
US20170177615A1 (en) | TRANSACTION MANAGEMENT METHOD FOR ENHANCING DATA STABILITY OF NoSQL DATABASE BASED ON DISTRIBUTED FILE SYSTEM | |
US10685014B1 (en) | Method of sharing read-only data pages among transactions in a database management system | |
US10866756B2 (en) | Control device and computer readable recording medium storing control program | |
JP2017111580A (ja) | 制御装置、管理装置、ストレージシステム、制御プログラム、管理プログラム、制御方法、および管理方法 | |
US8065489B1 (en) | Method and apparatus for managing concurrent access among computers to a bitmap stored on disk storage | |
US9342542B2 (en) | Analytics driven in-memory data grid (IMDG) hydration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180830 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6442996 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |