JP7079573B2 - 楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム - Google Patents
楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム Download PDFInfo
- Publication number
- JP7079573B2 JP7079573B2 JP2017139183A JP2017139183A JP7079573B2 JP 7079573 B2 JP7079573 B2 JP 7079573B2 JP 2017139183 A JP2017139183 A JP 2017139183A JP 2017139183 A JP2017139183 A JP 2017139183A JP 7079573 B2 JP7079573 B2 JP 7079573B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- target data
- update
- target
- execution
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
トランザクション自体にロックを取得して動作するか否かの属性を予め設定しておく必要があるだけでなく、ロックを取得しないで動作するトランザクション同士の間では、通常の楽観的排他制御になってしまうという課題があった。
まず、図1から図4を参照して、従来のデータベース更新処理の一例について説明する。図1は、複数人による同時更新の一例を示す図である。図2は、悲観的排他処理の一例を示す図である。図3および図4は、楽観的排他処理の一例を示す図である。
本実施形態に係る楽観的排他処理直列化装置100の構成の一例について、図5を参照して説明する。図5は、楽観的排他処理直列化装置100の構成の一例を示すブロック図である。
本実施形態の具体例について、図6から図13を参照して説明する。
ここで、図6を参照して、本実施形態における楽観的排他処理直列化の一例について説明する。図6は、本実施形態における楽観的排他処理直列化装置100の処理の一例を示すフローチャートである。
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
102 制御部
102a トランザクション実行部
102b 排他チェック部
102c 待機部
102d トランザクション確定部
102e 待機解除部
102f 通知部
102g 上書更新対象特定部
102h 更新部
102i 制限部
104 通信インターフェース部
106 記憶部
106a 対象データデータベース
108 入出力インターフェース部
112 入力装置
114 出力装置
200 サーバ
300 ネットワーク
Claims (5)
- 記憶部と制御部とを備えた楽観的排他処理直列化装置であって、
前記記憶部は、
対象データを記憶する対象データ記憶手段、
を備え、
前記制御部は、
前記対象データ記憶手段に記憶された前記対象データに対するトランザクションを実行させるトランザクション実行手段と、
前記対象データ記憶手段に記憶された前記対象データに対する前記トランザクションとは別の別トランザクションを実行させる別トランザクション実行手段と、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記トランザクション内でオブジェクトが作成された場合、前記別トランザクション内での当該オブジェクトと同名の同名オブジェクトの作成要求を検出する排他チェック手段と、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記排他チェック手段により前記別トランザクション内で前記同名オブジェクトの作成要求が検出された場合、当該別トランザクションの実行を中断させて待機させる待機手段と、
前記別トランザクションのユーザに対して、前記トランザクションの実行対象である前記対象データの対象リストを通知する通知手段と、
前記トランザクション実行手段により前記トランザクションの実行が完了した場合、当該トランザクションをコミットさせ、前記トランザクション実行手段により前記トランザクションの実行にエラーが生じた場合、当該トランザクションをロールバックさせるトランザクション確定手段と、
前記トランザクション確定手段により前記トランザクションがコミットまたはロールバックされた場合、前記待機手段による前記別トランザクションの待機を解除する待機解除手段と、
前記トランザクションがコミットされた場合、当該トランザクションに基づいて、前記対象データ記憶手段に記憶された前記対象データを更新する更新手段と、
前記更新手段により更新された前記対象データに対する更新を制限する制限手段と、
前記通知手段により通知された前記対象リストに含まれる前記対象データが前記ユーザにより上書更新対象として選択された場合、当該上書更新対象の前記対象データを特定する上書更新対象特定手段と、
を備え、
前記更新手段は、
更に、前記上書更新対象特定手段により前記上書更新対象の対象データが特定された場合、前記制限手段による制限を解除し、前記別トランザクションに基づいて、前記対象データ記憶手段に記憶された当該上書更新対象の対象データを更新することを特徴とする楽観的排他処理直列化装置。 - 前記トランザクション確定手段は、
更に、前記トランザクション実行手段により前記トランザクションの実行が完了した場合、前記オブジェクトを削除することを特徴とする請求項1に記載の楽観的排他処理直列化装置。 - 前記トランザクション確定手段は、
更に、前記トランザクション実行手段により前記トランザクションの実行にエラーが生じた場合、前記オブジェクトを削除することを特徴とする請求項1または2に記載の楽観的排他処理直列化装置。 - 記憶部と制御部とを備えた楽観的排他処理直列化装置に実行させるための楽観的排他処理直列化方法であって、
前記記憶部は、
対象データを記憶する対象データ記憶手段、
を備え、
前記制御部で実行させる、
前記対象データ記憶手段に記憶された前記対象データに対するトランザクションを実行させるトランザクション実行ステップと、
前記対象データ記憶手段に記憶された前記対象データに対する前記トランザクションとは別の別トランザクションを実行させる別トランザクション実行ステップと、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記トランザクション内でオブジェクトが作成された場合、前記別トランザクション内での当該オブジェクトと同名の同名オブジェクトの作成要求を検出する排他チェックステップと、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記排他チェックステップにて前記別トランザクション内で前記同名オブジェクトの作成要求が検出された場合、当該別トランザクションの実行を中断させて待機させる待機ステップと、
前記別トランザクションのユーザに対して、前記トランザクションの実行対象である前記対象データの対象リストを通知する通知ステップと、
前記トランザクションの実行が完了した場合、当該トランザクションをコミットさせ、前記トランザクションの実行にエラーが生じた場合、当該トランザクションをロールバックさせるトランザクション確定ステップと、
前記トランザクション確定ステップにて前記トランザクションがコミットまたはロールバックされた場合、前記別トランザクションの待機を解除する待機解除ステップと、
前記トランザクションがコミットされた場合、当該トランザクションに基づいて、前記対象データ記憶手段に記憶された前記対象データを更新する更新ステップと、
前記更新ステップにて更新された前記対象データに対する更新を制限する制限ステップと、
前記通知ステップにて通知された前記対象リストに含まれる前記対象データが前記ユーザにより上書更新対象として選択された場合、当該上書更新対象の前記対象データを特定する上書更新対象特定ステップと、
を含み、
前記更新ステップにおいて、
更に、前記上書更新対象特定ステップにて前記上書更新対象の対象データが特定された場合、前記制限ステップにおける制限を解除し、前記別トランザクションに基づいて、前記対象データ記憶手段に記憶された当該上書更新対象の対象データを更新することを特徴とする楽観的排他処理直列化方法。 - 記憶部と制御部とを備えた楽観的排他処理直列化装置に実行させるための楽観的排他処理直列化プログラムであって、
前記記憶部は、
対象データを記憶する対象データ記憶手段、
を備え、
前記制御部において、
前記対象データ記憶手段に記憶された前記対象データに対するトランザクションを実行させるトランザクション実行ステップと、
前記対象データ記憶手段に記憶された前記対象データに対する前記トランザクションとは別の別トランザクションを実行させる別トランザクション実行ステップと、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記トランザクション内でオブジェクトが作成された場合、前記別トランザクション内での当該オブジェクトと同名の同名オブジェクトの作成要求を検出する排他チェックステップと、
前記トランザクションおよび前記別トランザクションに基づく前記対象データの更新の完了前に、前記排他チェックステップにて前記別トランザクション内で前記同名オブジェクトの作成要求が検出された場合、当該別トランザクションの実行を中断させて待機させる待機ステップと、
前記別トランザクションのユーザに対して、前記トランザクションの実行対象である前記対象データの対象リストを通知する通知ステップと、
前記トランザクションの実行が完了した場合、当該トランザクションをコミットさせ、前記トランザクションの実行にエラーが生じた場合、当該トランザクションをロールバックさせるトランザクション確定ステップと、
前記トランザクション確定ステップにて前記トランザクションがコミットまたはロールバックされた場合、前記別トランザクションの待機を解除する待機解除ステップと、
前記トランザクションがコミットされた場合、当該トランザクションに基づいて、前記対象データ記憶手段に記憶された前記対象データを更新する更新ステップと、
前記更新ステップにて更新された前記対象データに対する更新を制限する制限ステップと、
前記通知ステップにて通知された前記対象リストに含まれる前記対象データが前記ユーザにより上書更新対象として選択された場合、当該上書更新対象の前記対象データを特定する上書更新対象特定ステップと、
を実行させ、
前記更新ステップにおいて、
更に、前記上書更新対象特定ステップにて前記上書更新対象の対象データが特定された場合、前記制限ステップにおける制限を解除し、前記別トランザクションに基づいて、前記対象データ記憶手段に記憶された当該上書更新対象の対象データを更新するための楽観的排他処理直列化プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017139183A JP7079573B2 (ja) | 2017-07-18 | 2017-07-18 | 楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017139183A JP7079573B2 (ja) | 2017-07-18 | 2017-07-18 | 楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019021043A JP2019021043A (ja) | 2019-02-07 |
| JP7079573B2 true JP7079573B2 (ja) | 2022-06-02 |
Family
ID=65355643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017139183A Active JP7079573B2 (ja) | 2017-07-18 | 2017-07-18 | 楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7079573B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12197382B2 (en) * | 2020-02-03 | 2025-01-14 | Oracle International Corporation | Handling faulted database transaction records |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012155498A (ja) | 2011-01-25 | 2012-08-16 | Fujitsu Ltd | データベースサーバ装置、データベース更新方法及びデータベース更新プログラム |
| JP2016066333A (ja) | 2014-09-26 | 2016-04-28 | 株式会社野村総合研究所 | データベースのロック制御システム及び方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3621433B2 (ja) * | 1993-05-24 | 2005-02-16 | 日本電信電話株式会社 | データベース排他制御方法 |
| JP2654612B2 (ja) * | 1995-02-23 | 1997-09-17 | 日本電気株式会社 | 排他ウエイト削減制御方法 |
-
2017
- 2017-07-18 JP JP2017139183A patent/JP7079573B2/ja active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012155498A (ja) | 2011-01-25 | 2012-08-16 | Fujitsu Ltd | データベースサーバ装置、データベース更新方法及びデータベース更新プログラム |
| JP2016066333A (ja) | 2014-09-26 | 2016-04-28 | 株式会社野村総合研究所 | データベースのロック制御システム及び方法 |
Non-Patent Citations (1)
| Title |
|---|
| 速水治夫ほか,データベースの実装とシステム運用管理,初版,株式会社コロナ社,2010年10月08日,pp.19-31 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019021043A (ja) | 2019-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101099199B1 (ko) | 데이터베이스 복구 중의 스냅샷 질의를 위한 시스템 및 방법 | |
| TW396306B (en) | A method of executing perform locked operation instructions for supporting recovery of data consistency if lost due to processor failure, and a method of recovering the data consistency after processor failure | |
| US10198452B2 (en) | Document tracking for safe save operations | |
| US7200617B2 (en) | Program for managing external storage, recording medium, management device, and computing system | |
| KR101099297B1 (ko) | 전자파일의 제1 버전과 제2 버전을 동기화하기 위한 방법 및 컴퓨터 판독가능 기록 매체 | |
| US5924102A (en) | System and method for managing critical files | |
| US8768966B2 (en) | Method for managing simultaneous modification of database objects during development | |
| JP2004528636A (ja) | 自動データ更新 | |
| WO1993018454A1 (en) | Distributed transaction processing system | |
| US7016920B2 (en) | Method for tracking relationships between specified file name and particular program used for subsequent access in a database | |
| WO2020060629A1 (en) | Techniques for updating big data tables using snapshot isolation | |
| CN102214088A (zh) | 文件解锁的方法和装置 | |
| US8381104B2 (en) | Systems and methods for providing context recognition | |
| JP2001092702A (ja) | 情報処理システム、サーバ装置、クライアント装置、及び記録媒体 | |
| US11113251B2 (en) | Transaction manager | |
| EP1517261A2 (en) | Work-flow system and work-flow system management method | |
| JP7079573B2 (ja) | 楽観的排他処理直列化装置、楽観的排他処理直列化方法、および、楽観的排他処理直列化プログラム | |
| US8918370B2 (en) | Dynamic allocation of program libraries | |
| JP5057481B2 (ja) | ワークフローシステム、制御方法、およびプログラム | |
| JP4432087B2 (ja) | データベース更新管理システム、プログラムおよび方法 | |
| US8868511B2 (en) | Archiving—safe replication of relational data | |
| JP2006244177A (ja) | データベース装置 | |
| JPH09146762A (ja) | システムファイルのバックアップ方法及び復元方法 | |
| JP2019185234A (ja) | 推奨処置通知プログラム、推奨処置通知方法、及び情報処理装置 | |
| US9846695B2 (en) | Information processing apparatus, control method, and storage medium storing program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200702 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210409 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210427 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210623 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211207 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220216 |
|
| C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220216 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220228 |
|
| C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220301 |
|
| 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: 20220426 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220523 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7079573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |