JP2005310012A - データベースシステム、データベース不整合回避方法およびプログラム - Google Patents
データベースシステム、データベース不整合回避方法およびプログラム Download PDFInfo
- Publication number
- JP2005310012A JP2005310012A JP2004129170A JP2004129170A JP2005310012A JP 2005310012 A JP2005310012 A JP 2005310012A JP 2004129170 A JP2004129170 A JP 2004129170A JP 2004129170 A JP2004129170 A JP 2004129170A JP 2005310012 A JP2005310012 A JP 2005310012A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- database
- update
- transactions
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】 データベースサーバ100と101とはデータベースに同じデータを格納している。そして、データのロックに関するタイムアウト時間は、データベースサーバ101よりデータベースサーバ100の方が短く設定されている。データを更新しようとするトランザクションが競合すると、データベースサーバ100に対してロックをかけたトランザクション以外の競合トランザクションは、タイムアウト発生により更なるロックに失敗し、すでにかけたロックを解除する。このため、データベースサーバ100に対してロックをかけたトランザクションは、データベースサーバ101からロックを獲得でき、不整合を引き起こすことなくデータを更新することができる。
【選択図】 図1
Description
同一の内容が複製されている複数のデータベースを格納するデータベースシステムであって、
データを更新するトランザクションを受け付ける受け付け手段と、
前記受け付け手段で受け付けたトランザクションで指定されたデータに対応する各データベース上のデータを指定された順序でデータベース毎にロックする排他制御手段と、
前記排他制御手段でデータがロックされた場合に、ロックされたデータを更新するデータ更新手段と、
を具備し、
前記排他制御手段は、
前記受け付け手段において、ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、
該複数のトランザクションがデータをロックする順序が異なるか否かを判別し、
前記複数のトランザクションのデータをロックする順序が異なることを判別した場合に、さらに該複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、
該更新を許可すべきトランザクションのために前記データをロックすること、
を特徴とする。
前記排他制御手段は、該更新を許可すべきトランザクションでないトランザクションが前記データをロックしている場合には、そのロックを解除した後に、更新を許可すべきトランザクションのために前記データをロックする、ことが望ましい。
1つのデータベースに対し、データのロックに関し、他のデータベースと比較して短いタイムアウト時間が設定されていることが望ましい。
この場合、前記排他制御手段は、
データをロックする順序が異なることを、タイムアウトが発生したか否かにより判別し、
前記複数のトランザクションのうち、最も短いタイムアウト時間が設定されているデータベース上のデータをロックしているトランザクションを前記更新を許可すべきトランザクションとして判別する。
同一の内容が複製されている複数のデータベースを格納するデータベースシステムが、
データを更新するトランザクションを受け付ける受け付けステップと、
前記受け付けステップで受け付けたトランザクションで指定されたデータに対応する各データベース上のデータを指定された順序でデータベース毎にロックする排他制御ステップと、
前記排他制御ステップでデータがロックされた場合に、ロックされたデータを更新するデータ更新ステップと、
を備え、
前記排他制御ステップは、
前記受け付けステップにおいて、ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、該複数のトランザクションがデータをロックする順序が異なるか否かを判別し、
複数のトランザクションのデータをロックする順序が異なることを判別した場合に、該複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、該更新を許可すべきトランザクションのために前記データをロックすること、
を特徴とする。
同一の内容が複製されている複数のデータベースを格納するコンピュータ装置を、
データベースに格納されているデータを更新するトランザクションを受け付け、
前記トランザクションで指定されたデータベース上のデータを指定された順序でロックして、
ロックされたデータを更新する、
データベース装置であって、
ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、該複数のトランザクションのデータをロックする順序が異なるか否かを判別し、
ロックする順序が異なる場合に、
前記複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、
該更新を許可すべきトランザクションのために前記データをロックする、
データベース装置として機能させる。
以下、データベースの更新とは、フィールド値の更新、テーブルやレコード、フィールドの生成・追加・削除などのデータベースに格納されているデータの内容を変更すること一般を指すものとする。
トランザクション管理部111は、通信ネットワークCと通信制御部150とを介して、クライアント端末200と201とから送信されたトランザクションを受け付け、トランザクションの処理結果を送信してきたクライアント端末200あるいは201に返信する。参照トランザクションの場合には、トランザクション管理部111は、DB160からこの参照トランザクションで必要となるデータを読み出し、クライアント端末200あるいは201に送信する。更新トランザクションの場合には、DB160内の更新トランザクションで指定されたデータに対し、ロックをかけ、かけたロックをロック管理部112に管理させる。
クライアント端末201の構成はクライアント端末200の構成と同一である。
第1の動作例では、サーバ100の動作とサーバ101の動作とは同一である。
まず、端末200は、通信ネットワークCを介して、更新対象のデータのロックをサーバ100と101とに指示を出すとともに(図5:ステップS101)、更新するデータをサーバ100と101とに送信する。
第2の動作例は、第1の動作例で使用した図5、6と共に、図7を参照して説明する。図7は、サーバ101のデータ更新処理時の動作を示したフローチャートである。図7の各ステップにおいて、図6に示したステップと同じ処理には、下2桁に同じ数字を付している。以下、動作例1で説明したステップについては説明を省略する。
100、101 データベースサーバ
110 制御部
120 プログラム格納部
13 入力装置
130 入力制御部
14 出力装置
140 出力制御部
150 通信制御部
160 データベース
200、201 クライアント端末
21 制御部
22 記憶部
23 入力部
24 出力部
25 通信制御部
Claims (5)
- 同一の内容が複製されている複数のデータベースを格納するデータベースシステムであって、
データを更新するトランザクションを受け付ける受け付け手段と、
前記受け付け手段で受け付けたトランザクションで指定されたデータに対応する各データベース上のデータを指定された順序でデータベース毎にロックする排他制御手段と、
前記排他制御手段でデータがロックされた場合に、ロックされたデータを更新するデータ更新手段と、
を具備し、
前記排他制御手段は、
前記受け付け手段において、ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、
該複数のトランザクションがデータをロックする順序が異なるか否かを判別し、
前記複数のトランザクションのデータをロックする順序が異なることを判別した場合に、さらに該複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、
該更新を許可すべきトランザクションのために前記データをロックすること、
を特徴とするデータベースシステム。 - 前記排他制御手段は、該更新を許可すべきトランザクションでないトランザクションが前記データをロックしている場合には、そのロックを解除した後に、更新を許可すべきトランザクションのために前記データをロックする、ことを特徴とする請求項1に記載のデータベースシステム。
- 1つのデータベースに対し、データのロックに関し、他のデータベースと比較して短いタイムアウト時間が設定されており、
前記排他制御手段は、
データをロックする順序が異なることを、タイムアウトが発生したか否かにより判別し、
前記複数のトランザクションのうち、最も短いタイムアウト時間が設定されているデータベース上のデータをロックしているトランザクションを前記更新を許可すべきトランザクションとして判別するものであること、
を特徴とする請求項1または2に記載のデータベースシステム。 - 同一の内容が複製されている複数のデータベースを格納するデータベースシステムが、
データを更新するトランザクションを受け付ける受け付けステップと、
前記受け付けステップで受け付けたトランザクションで指定されたデータに対応する各データベース上のデータを指定された順序でデータベース毎にロックする排他制御ステップと、
前記排他制御ステップでデータがロックされた場合に、ロックされたデータを更新するデータ更新ステップと、
を備え、
前記排他制御ステップは、
前記受け付けステップにおいて、ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、該複数のトランザクションがデータをロックする順序が異なるか否かを判別し、
複数のトランザクションのデータをロックする順序が異なることを判別した場合に、該複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、該更新を許可すべきトランザクションのために前記データをロックすること、
を特徴とするデータベース不整合回避方法。 - 同一の内容が複製されている複数のデータベースを格納するコンピュータ装置を、
データベースに格納されているデータを更新するトランザクションを受け付け、
前記トランザクションで指定されたデータベース上のデータを指定された順序でロックして、
ロックされたデータを更新する、
データベース装置であって、
ほぼ同時に同一のデータを更新する複数のトランザクションを受け付けた場合に、該複数のトランザクションのデータをロックする順序が異なるか否かを判別し、
ロックする順序が異なる場合に、
前記複数のトランザクションのうち、所定の基準に従って、データの更新を許可すべきトランザクションを判別し、
該更新を許可すべきトランザクションのために前記データをロックする、
データベース装置として機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004129170A JP4476011B2 (ja) | 2004-04-26 | 2004-04-26 | データベースシステム、データベース不整合回避方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004129170A JP4476011B2 (ja) | 2004-04-26 | 2004-04-26 | データベースシステム、データベース不整合回避方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005310012A true JP2005310012A (ja) | 2005-11-04 |
JP4476011B2 JP4476011B2 (ja) | 2010-06-09 |
Family
ID=35438682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004129170A Expired - Fee Related JP4476011B2 (ja) | 2004-04-26 | 2004-04-26 | データベースシステム、データベース不整合回避方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4476011B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008276475A (ja) * | 2007-04-27 | 2008-11-13 | Daiwa Securities Group Inc | データ処理システム、端末装置及びプログラム |
US8701111B2 (en) | 2008-07-09 | 2014-04-15 | International Business Machines Corporation | Lock windows for reducing contention |
-
2004
- 2004-04-26 JP JP2004129170A patent/JP4476011B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008276475A (ja) * | 2007-04-27 | 2008-11-13 | Daiwa Securities Group Inc | データ処理システム、端末装置及びプログラム |
JP4486108B2 (ja) * | 2007-04-27 | 2010-06-23 | 株式会社大和証券グループ本社 | データ処理システム、端末装置及びプログラム |
US8701111B2 (en) | 2008-07-09 | 2014-04-15 | International Business Machines Corporation | Lock windows for reducing contention |
Also Published As
Publication number | Publication date |
---|---|
JP4476011B2 (ja) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4241940B2 (ja) | 分散形データベース内でトランザクションをするための方法 | |
US5802062A (en) | Preventing conflicts in distributed systems | |
US9229827B2 (en) | Storage management system for preserving consistency of remote copy data | |
US7693882B2 (en) | Replicating data across the nodes in a cluster environment | |
JP2022515949A (ja) | トランザクション処理方法、装置、機器並びにコンピュータプログラム | |
CN108710638B (zh) | 一种基于混合rdma操作的分布式并发控制方法及系统 | |
US10242027B2 (en) | Three phase commit for a distributed file system | |
US9411869B2 (en) | Replication between sites using keys associated with modified data | |
US10114848B2 (en) | Ensuring the same completion status for transactions after recovery in a synchronous replication environment | |
EP1386234A2 (en) | Resource action in clustered computer system incorporating prepare operation | |
EP3193256B1 (en) | A fault-tolerant data processing computer system and method for implementing a distributed two-tier state machine | |
KR20060043196A (ko) | 동적 피어-투-피어 환경에서 상호 배제 기술을 사용하는 방법 및 장치 | |
WO2022170979A1 (zh) | 日志执行方法、装置、计算机设备及存储介质 | |
JP3445797B2 (ja) | 最適化された同期化プロシージャ | |
CN115098229A (zh) | 事务处理方法、装置、节点设备及存储介质 | |
KR20140047230A (ko) | 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템 | |
CN112995262B (zh) | 分布式事务提交方法、系统及计算设备 | |
JPWO2006057061A1 (ja) | 分散トランザクション処理方法、装置、及びプログラム | |
JP4379369B2 (ja) | ファイル管理システム、監視サーバ、監視方法、及び、プログラム | |
CN115495495A (zh) | 事务处理方法、分布式数据库系统、集群及介质 | |
JP4476011B2 (ja) | データベースシステム、データベース不整合回避方法およびプログラム | |
US20080276117A1 (en) | End-to-end transactional protection for requests in a web application | |
JP2007264770A (ja) | データベースアクセス方法及び装置 | |
US6601069B2 (en) | Synchronization using commitment | |
US6772176B1 (en) | Coordinating a distributed transaction between participants unable to follow a two-phase commit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091218 |
|
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: 20100309 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4476011 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |