JP5580754B2 - 排他制御装置および排他制御方法 - Google Patents
排他制御装置および排他制御方法 Download PDFInfo
- Publication number
- JP5580754B2 JP5580754B2 JP2011024881A JP2011024881A JP5580754B2 JP 5580754 B2 JP5580754 B2 JP 5580754B2 JP 2011024881 A JP2011024881 A JP 2011024881A JP 2011024881 A JP2011024881 A JP 2011024881A JP 5580754 B2 JP5580754 B2 JP 5580754B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- exclusive control
- graph
- transaction
- access
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
例えば、特許文献1は、複数のノード(計算機)間にレプリケートされたデータを、レプリケートされていることを保証しながら各ノードで自由に排他更新することができる分散ノード間排他更新装置を開示する。
特許文献2は、データベースサーバとデータベースのデータを記憶する記憶装置に接続されており、データベースサーバが今後アクセスするデータを予測し、予測の結果に基づいて、データの先読みを記憶装置に指示するプリフェッチサーバを開示する。
グラフの操作はノード間のリンクの整合性を保つためにトランザクション間でアトミックに実行する必要があり、トランザクションが異なるリソースに対してアクセスした場合でもグラフを操作している間はトランザクションが直列に処理される。そのため、排他制御処理がボトルネックとなり、トランザクションのスループットが向上しない問題がある。
データベースへのアクセス方法が変わると、トランザクション間の排他特性が変わる。限られた特定のリソースにアクセスするトランザクションは排他するリソースの範囲も限られており、短時間のトランザクションはリソースを排他する時間も短い。
複数のクライアントによるデータベースへのアクセスについて排他制御する排他制御装置であって、
前記各クライアントの要求に応じて前記データベースに格納されているリソースにアクセスするために発行された各トランザクションのアクセス要求と、前記データベースに格納されている複数のリソースとの対応を示すリソース管理情報を管理するリソース管理手段と、
前記リソース管理手段によって管理されているリソース管理情報に基づいて前記各トランザクションの前記各リソースに対する排他と待ちの状態を示すグラフを作成し、前記各リソースへの所定のアクセス状態に応じて、前記グラフから、当該グラフに含まれるトランザクションの排他制御に伴うグラフのアトミック操作が発生する場合にも当該アトミック操作の影響を受けることなくトランザクションの排他制御を行うことができるサブグラフを分割し、分割後の前記グラフと前記サブグラフに基づいて排他制御する排他制御手段と、
を備える。
前記排他制御手段が、アクセスされる頻度の高いリソースが存在する場合に、当該アクセスされる頻度の高いリソースをサブグラフに分割する。
前記排他制御手段が、アクセス状態の関連性の強い2つのリソースが存在する場合に、当該アクセス状態の関連性の強い2つのリソースをサブグラフに分割する。
複数のクライアントによるデータベースへのアクセスについて排他制御する排他制御方法であって、
前記各クライアントの要求に応じて前記データベースに格納されているリソースにアクセスするために発行された各トランザクションのアクセス要求と、前記データベースに格納されている複数のリソースとの対応を示すリソース管理情報を管理するリソース管理ステップと、
前記リソース管理ステップにおいて管理されるリソース管理情報に基づいて前記各トランザクションの前記各リソースに対する排他と待ちの状態を示すグラフを作成し、前記各リソースへの所定のアクセス状態に応じて、前記グラフから、当該グラフに含まれるトランザクションの排他制御に伴うグラフのアトミック操作が発生する場合にも当該アトミック操作の影響を受けることなくトランザクションの排他制御を行うことができるサブグラフを分割し、分割後の前記グラフと前記サブグラフに基づいて排他制御する排他制御ステップと、
を備える。
図1は、本発明の実施形態に係る排他制御機構を備えたデータベースシステム101の構成の一例を示す図である。
データベースシステム101には、データベース102が接続されている。また、データベースシステム101は、ネットワーク104を介してクライアント103a,103b,103nと通信することができる。
メモリは、RAM(Random Access Memory)やROM(Read Only Memory)等を含む。メモリはデータベース管理プログラムを記憶している。
CPUがデータベース管理プログラムを実行することにより、トランザクション管理部106と、リソース管理部107と、排他制御部108の各機能が実現される。
トランザクション管理部106は、クライアント103a,103b,103nからの処理要求に対してトランザクションを生成して各要求間の整合性を管理し、各トランザクションをトランザクションIDによって管理する。
リソース管理部107は、データベースの内部状態を管理し、トランザクションからの要求に応じてデータベースへのアクセスを制御する。
排他制御部108は、競合するデータベース中のリソースに対してトランザクション間の排他制御を行なう。
データベース102は、データ表105a,105b,105n等のデータベースシステム101が管理対象とするデータを格納している。
なお、クライアントの数は3つに限らず、2つでも4つ以上でも良い。また、複数のクライアントの機能を実現するためのプログラムが1台のコンピュータで実行されており、1台のコンピュータが複数のクライアントを含んでいても良い。
クライアント103a,103b,103nがそれぞれデータベースシステム101へアクセスすると、トランザクション管理部106はそれぞれの要求に対してそれぞれトランザクションを発行する。そして、トランザクション管理部106は、トランザクションを管理するため、内部にトランザクション管理情報201を生成し、クライアントの識別子(クライアントID)とトランザクションの識別子(トランザクションID)の対応表を格納する。
次に、トランザクション管理部106は、クライアント103a,103b,103nの要求に応じてデータベース102へのアクセスをリソース管理部107へ要求する。
図2に示すように、排他制御部108は、クライアント103a(トランザクションtrn1)がリソースt1r1にアクセス可能であるため、グラフ管理情報204中の該当レコードに「排他」状態を設定する。一方、クライアント103b(トランザクションtrn2)はリソースt1r1が既にクライアント103a(トランザクションtrn1)によって排他されているためアクセス不可となり、排他制御部108はグラフ管理情報204中の該当レコードには「待ち」状態を設定する。
トランザクションtrn1はリソースt1r1を排他しているため、トランザクションtrn2は待ち状態になる。トランザクションtrn3はトランザクションtrn1とトランザクションtrn2とは競合しないリソースt1r2を排他している。
グラフID402はリソースID403が示すリソースがどのグラフまたはサブグラフに属しているかを示し、アクセス頻度404はリソースID403が示すリソースがアクセスされる頻度(所定の期間、例えば1分間にアクセスされる回数の平均)を示す。
排他制御部108は、所定の期間ごとに各リソースがアクセスされる回数を集計し、アクセス頻度管理情報401を更新する。
図4(B)に示すように、排他制御部108は、グラフの分割条件を満たしていないリソースt1r1とリソースt1r2はグラフ1(411)に属したままとし、グラフの分割条件を満たしたリソースt1r3は新設したサブグラフ1(412)に属するように変更する。リソースt1r3のリソースIDにはサブクラス1に属していることを示す情報(s1)を付加し(413)、アクセス頻度404を0に初期化する(414)。
排他制御部108は、グラフの分割要否を決定するためアクセス頻度管理情報401中の全てのリソースについてアクセス頻度404を検査する(501、502)。排他制御部108は、アクセス頻度404が予め設定されたしきい値を下回っている場合は何も行なわない(502:偽)(図4のリソースt1r1およびリソースt1r2に該当する)。アクセス頻度404がしきい値以上である場合(502:真)は以下の処理を実行することでリソースをサブグラフに格納する。
以上でアトミック操作が終了するので、排他制御部108はグラフをアンロックする(508)。その後、排他制御部108は、506で変更したリソースIDを排他制御部108からリソース管理部107へ通知する(509)。
グラフID602は、リソースID603が示すリソースがどのグラフまたはサブグラフに属しているかを示す。関連リソースID604は、リソースID603が示すリソースと同一のトランザクションによってアクセスされるリソースを示す。関連度605は、リソースID603が示すリソースと関連リソースID604が示すリソースの関連度(例えば、同一のトランザクションによってアクセスされた回数)を示す。
例として、グラフの分割条件を関連度50以上と設定した場合、関連度の低いリソースt1r1とリソースt1r4からなるサブグラフと関連度の高いリソースt1r2とリソースt1r3からなるサブグラフに分割される。
排他制御部108は、グラフの分割要否を決定するため、リソース関連度管理情報601中の全てのリソースと関連リソースについて関連度を検査する(701,702,703)。排他制御部108は、関連度が予め設定されたしきい値を下回っている場合は何も行なわない(703:偽)(図6のリソースt1r1とリソースt1r4に該当する)。排他制御部108は、関連度がしきい値以上である場合(703:真)は以下の処理を実行することでリソースをサブグラフに格納する。
リソース管理部107はデータベース102へのアクセスに先立って、トランザクションIDとリソースIDを指定して排他制御部108に該当リソースがアクセス可能であるかどうかを問い合わせる。
排他制御部108は、リソース管理部107から問い合わせがあったリソースのリソースIDにサブグラフIDが含まれているかどうかを判断し、排他制御により操作対象とするグラフまたはサブグラフを決定する(801)。リソースIDにサブグラフIDが含まれている場合(801:真)、排他制御部108はリソースIDから操作対象のサブグラフを決定する(802,803)。リソースIDにサブグラフIDが含まれていない場合(801:偽)、排他制御部108は分割前のグラフを操作対象とする(804)。
102…データベース
103a,103b,103n…クライアント
104…ネットワーク
105a,105b,105n…データベース中のデータ(表)
106…トランザクション管理部
107…リソース管理部
108…排他制御部
201…トランザクション管理情報
202a…データベースリソース(表)
202b,202c,202n…データベースリソース(行)
203…リソース管理情報
204…グラフ管理情報
401…アクセス頻度管理情報
402,411,412…リソースが属するグラフのID
403,413…リソースID
404,405,414…リソースのアクセス頻度
601…リソース関連度管理情報
602,611,612…リソースが属するグラフのID
603,613…リソースID
604,614…関連リソースID
605,606,615…リソースと関連リソース間のリソース関連度
Claims (4)
- 複数のクライアントによるデータベースへのアクセスについて排他制御する排他制御装置であって、
前記各クライアントの要求に応じて前記データベースに格納されているリソースにアクセスするために発行された各トランザクションのアクセス要求と、前記データベースに格納されている複数のリソースとの対応を示すリソース管理情報を管理するリソース管理手段と、
前記リソース管理手段によって管理されているリソース管理情報に基づいて前記各トランザクションの前記各リソースに対する排他と待ちの状態を示すグラフを作成し、前記各リソースへの所定のアクセス状態に応じて、前記グラフから、当該グラフに含まれるトランザクションの排他制御に伴うグラフのアトミック操作が発生する場合にも当該アトミック操作の影響を受けることなくトランザクションの排他制御を行うことができるサブグラフを分割し、分割後の前記グラフと前記サブグラフに基づいて排他制御する排他制御手段と、
を備えることを特徴とする排他制御装置。 - 前記排他制御手段が、アクセスされる頻度の高いリソースが存在する場合に、当該アクセスされる頻度の高いリソースをサブグラフに分割することを特徴とする請求項1に記載の排他制御装置。
- 前記排他制御手段が、アクセス状態の関連性の強い2つのリソースが存在する場合に、当該アクセス状態の関連性の強い2つのリソースをサブグラフに分割することを特徴とする請求項1に記載の排他制御装置。
- 複数のクライアントによるデータベースへのアクセスについて排他制御する排他制御方法であって、
前記各クライアントの要求に応じて前記データベースに格納されているリソースにアクセスするために発行された各トランザクションのアクセス要求と、前記データベースに格納されている複数のリソースとの対応を示すリソース管理情報を管理するリソース管理ステップと、
前記リソース管理ステップにおいて管理されるリソース管理情報に基づいて前記各トランザクションの前記各リソースに対する排他と待ちの状態を示すグラフを作成し、前記各リソースへの所定のアクセス状態に応じて、前記グラフから、当該グラフに含まれるトランザクションの排他制御に伴うグラフのアトミック操作が発生する場合にも当該アトミック操作の影響を受けることなくトランザクションの排他制御を行うことができるサブグラフを分割し、分割後の前記グラフと前記サブグラフに基づいて排他制御する排他制御ステップと、
を備えることを特徴とする排他制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011024881A JP5580754B2 (ja) | 2011-02-08 | 2011-02-08 | 排他制御装置および排他制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011024881A JP5580754B2 (ja) | 2011-02-08 | 2011-02-08 | 排他制御装置および排他制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012164190A JP2012164190A (ja) | 2012-08-30 |
JP5580754B2 true JP5580754B2 (ja) | 2014-08-27 |
Family
ID=46843514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011024881A Expired - Fee Related JP5580754B2 (ja) | 2011-02-08 | 2011-02-08 | 排他制御装置および排他制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5580754B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014016998A1 (ja) | 2012-07-24 | 2014-01-30 | 日本電気株式会社 | ルール管理装置、ルール管理方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06259478A (ja) * | 1993-03-02 | 1994-09-16 | Toshiba Corp | 分散データベースのデータ再配置方式 |
JP2001134476A (ja) * | 1999-11-08 | 2001-05-18 | Hitachi Ltd | データベース一括更新方法 |
JP5170408B2 (ja) * | 2008-03-31 | 2013-03-27 | 日本電気株式会社 | 自動分散化システム及び自動分散化方法 |
-
2011
- 2011-02-08 JP JP2011024881A patent/JP5580754B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012164190A (ja) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262218B2 (en) | Methods and apparatus for resource management in cluster computing | |
US9197703B2 (en) | System and method to maximize server resource utilization and performance of metadata operations | |
US8117641B2 (en) | Control device and control method for information system | |
US9092266B2 (en) | Scalable scheduling for distributed data processing | |
JP6241300B2 (ja) | ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム | |
US10606649B2 (en) | Workload identification and display of workload-specific metrics | |
US10505832B2 (en) | Resource coordinate system for data centers | |
JP2017199439A (ja) | データ記憶サービスを実装するシステム及び方法 | |
US8996469B2 (en) | Methods and apparatus for job state tracking in cluster computing | |
CN117370029A (zh) | 分布式计算系统中的集群资源管理 | |
US10158709B1 (en) | Identifying data store requests for asynchronous processing | |
CN105786603A (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN102360314A (zh) | 一种数据中心资源管理系统和方法 | |
US20230327875A1 (en) | Data flow control in distributed computing systems | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
US11403026B2 (en) | Method, device and computer program product for managing storage system | |
JP2011192049A (ja) | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム | |
CN113535087A (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
JP5580754B2 (ja) | 排他制御装置および排他制御方法 | |
CN106202271A (zh) | Ota的产品数据库的读取方法 | |
US11561777B2 (en) | System and method for intelligent update flow across inter and intra update dependencies | |
JP2010152435A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
US20220414577A1 (en) | System and method for performance-centric workload placement in a hybrid cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140310 |
|
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: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5580754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |