JP2011164918A - データベース管理装置、データベース管理方法、及びプログラム - Google Patents

データベース管理装置、データベース管理方法、及びプログラム Download PDF

Info

Publication number
JP2011164918A
JP2011164918A JP2010026751A JP2010026751A JP2011164918A JP 2011164918 A JP2011164918 A JP 2011164918A JP 2010026751 A JP2010026751 A JP 2010026751A JP 2010026751 A JP2010026751 A JP 2010026751A JP 2011164918 A JP2011164918 A JP 2011164918A
Authority
JP
Japan
Prior art keywords
client
communication
lock
database
session
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
JP2010026751A
Other languages
English (en)
Inventor
Keita Iwano
桂太 岩野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010026751A priority Critical patent/JP2011164918A/ja
Publication of JP2011164918A publication Critical patent/JP2011164918A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】余分な機能の追加や通信を発生させずに、クライアントの障害時のロック解除漏れを防止するデータベース管理装置を提供する。
【解決手段】データベース11を管理するデータベース管理部15と、クライアント20との通信の状態を監視する通信監視部12と、通信監視部12による監視結果に基づいて、データベース11のロック取得中にクライアント20からの通信が一定時間発生していな場合には、クライアント20に障害が発生していると判断する障害判定部13と、障害判定部13においてクライアント20に障害が発生していると判断された場合に、クライアント20が取得しているロックを強制的に解除するロック解除操作部14と、を備える。
【選択図】図1

Description

本発明は、データベース管理装置、データベース管理方法、及びプログラムに関する。
データベースシステムは、クライアントからアクセスを受けた際、リソースを一時的に占有させる排他ロックを実施することで、複数のクライアントからの同時アクセスが発生した場合にも不整合が発生しないよう一貫性を保っている。
しかし、クライアントが何らかの障害によりロックを取得したまま解放できない場合、他のクライアントはデータベースを参照することができなくなることが問題となる。
クライアントプロセスがロックを取得したまま無応答になった場合のロック解除手段としては、オペレーティングシステムによる通信のタイムアウト判定や、データベースシステムが提供するプローブパケット送出により障害と判定する方法があった。前者については、一般的にタイムアウト判定を行うのには長時間必要である。また、タイムアウト判定の調整はオペレーティングシステムの設定変更により行うため、同じシステム上で動作する通信プログラム等、データベースプログラム以外のプログラムにも影響を及ぼすため、適用可能な場面が限られる。後者については、プローブパケット送出機能を持つデータベースプログラムを前もって選定する必要があり、通信も余分に発生する。
特許文献1には、ファイルを記憶するファイル記憶手段と、ファイルに対するアクセスがあった場合に当該ファイルをロックし、当該ファイルへのアクセスが終了した場合にロックを解除するロック制御手段と、から構成されるファイルサーバと、ファイルサーバのファイル記憶手段に記憶されたファイルにアクセスするクライアントと、クライアントが動作しているか否かを監視するクライアント監視手段と、クライアント監視手段が動作していないクライアントを検出した場合、当該クライアントが使用していたファイルサーバに、当該クライアントを特定するための通知情報を送信する通知手段と、から構成されるロック監視サーバと、から構成され、ロック制御手段は通知情報を受け取った場合にロックを解除するファイル管理システムが開示されている。
特開2006−285867号公報
特許文献1に記載された方法では、クライアント監視手段がクライアントに定期的に問い合わせをおこない、応答が返ってこなければクライアントの障害が発生したと判断するため、ファイルサーバからクライアントへの監視のための通信が発生する。また、クライアント側も、監視のための通信に応答する機能を有する必要がある。
そこで、本発明の目的は、余分な機能の追加や通信を発生させずに、クライアントの障害時のロック解除漏れを防止することである。
本発明に係るデータベース管理装置は、クライアントとの通信の状態を監視する通信監視部と、前記通信監視部による監視結果に基づいて、データベースのロック取得中に前記クライアントからの通信が一定時間発生していな場合には、前記クライアントに障害が発生していると判断する障害判定部と、 前記障害判定部において前記クライアントに障害が発生していると判断された場合に、前記クライアントが取得しているロックを強制的に解除するロック解除操作部と、を備えている。
本発明によれば、余分な機能の追加や通信を発生させずに、クライアントの障害時のロック解除漏れを防止することができる。
本発明の実施の形態によるデータベース管理装置の構成を示すブロック図である。 本発明の実施の形態による通信監視部の構成を示すブロック図である。 本発明の実施の形態によるデータベース管理装置の動作のフローチャートである。 本発明の実施の形態によるデータベース管理装置の動作のフローチャートである。 本発明の実施の形態によるデータベース管理装置の動作のフローチャートである。
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
図1は、本発明の実施の形態によるデータベース管理装置10の構成を示すブロック図である。
図に示すように、データベース管理装置10は、クライアント20と通信回線50を介して接続されている。
データベース管理装置10は、データベース11、通信監視部12、障害判定部13、ロック解除操作部14、データベース管理部15を備えている。
通信監視部12、障害判定部13、ロック解除操作部14、データベース管理部15は、プログラムに従ってコンピュータのプロセッサが行う動作をモジュールとして表しており、これらは一体としてデータベース管理装置10の機能を構成する。
図2は、通信監視部12の構成を示すブロック図である。図に示すように、通信監視部12は、通信内容取得部121、通信内容解析部122、セッション情報テーブル123を備えている。通信内容取得部121及び通信内容解析部122はプログラムに従ってコンピュータのプロセッサが行う動作をモジュールとして表している。セッション情報テーブル123はメモリ、ハードディスク等の記憶装置によって実現される。
データベース11は、ハードディスク等の記憶装置によって実現されるリレーショナルデータベース等である。
通信監視部12は、クライアント20とデータベース管理装置10の通信を監視する。具体的には、通信監視部12は、クライアント20のプロセスとデータベース管理装置10のプロセスの間で確立されているセッションの状態を監視し、セッション内で発生した通信の状況をセッション情報テーブル123に蓄積する。
表1は、セッション情報テーブル123に蓄積された情報の例を示している。セッション情報テーブル123には、クライアントプロセスとデータベースプロセスを結びつけるセッション情報が格納されており、具体的にはクライアントプロセスを識別する情報(例えば、TCP/IP通信ならIPアドレスとポート番号)、データベースプロセスを識別する情報(例えば、ポート番号、プロセスID等)、データベース11のロック取得状態を表わすフラグ、最終通信時刻が格納されている。なお、表1の例は、TCP/IPのセッションとデータベースセッションが1対1で対応している場合の例である。
Figure 2011164918
表2も表1と同様にセッション情報テーブル123に蓄積された情報の例を示しているが、表2は、同一TCP/IPセッション内で複数のデータベースセッションが存在している場合の例である。この場合には、さらにセッションを識別する情報(例えば、プロセスID等)が追加される。
Figure 2011164918
障害判定部13は、通信監視部12による監視結果に基づいて、データベース11のロック取得中にクライアント20からの通信が一定時間発生していな場合には、クライアント20に障害が発生していると判断する。障害判定部13は、セッション情報テーブル123に蓄積されている情報に基づいて、データベース11のロックを取得したままの状態で、障害が発生したクライアント20のプロセスが無いかを判定する。障害が発生したと判断された場合には、そのプロセスの情報をロック解除操作部14に通知する。
ロック解除操作部14は、障害判定部13においてクライアント20のプロセスに障害が発生していると判断された場合に、障害判定部13からそのプロセスの情報を受け、クライアント20が取得しているロックを強制的に解除する。
データベース管理部15は、データベース11の管理やデータベース11内のデータに対する処理を実行する。データベース管理部15は、既存のリレーショナル型等のデータベース管理装置と同様のものである。
次に、データベース管理装置10の動作について図3〜5のフローチャートを用いて説明する。
まず、通信監視部12の通信内容取得部121は、外部からの通信のうち、データベースプロセスにアクセスしてくる通信(監視対象の通信)を特定する情報を取得する。(図3のステップS301)。通信を特定するための情報は、データベースプロセスに関連付いている情報(例えばポート番号等)である。
次に、通信監視部12は、外部からの通信の内容を取得する(ステップS302)。
さらに、通信監視部12は、ステップS202で取得した通信が監視対象の通信であるか否かをステップS301で取得した情報に基づいて判断し(ステップS303)、監視対象であれば(Y)、通信内容を通信内容解析部122に送信する。通信内容には、クライアントプロセスを識別する情報と、クライアントプロセスがアクセスしているデータベースプロセスを識別する情報が含まれる。
次に、通信内容解析部122は、通信監視部12から通信内容を取得すると(図4のステップS401)、クライアントプロセスを識別する情報とデータベースプロセスを識別する情報から、その通信がセッション情報テーブル123に登録されているセッションの通信か否かを判断する(ステップS402)。
通信内容解析部122は、ステップS402でセッション情報テーブル123に登録されていないセッションの通信であると判断された場合には(Y)、セッション情報テーブル123に新たなセッションとして、クライアントプロセスを識別する情報とデータベースプロセスを識別する情報を登録する。また、ロック状態には「OFF」を登録し、最終通信時刻に現在時刻を登録する(ステップS403)。
一方、ステップS402でセッション情報テーブル123に既に登録されているセッションの通信であると判断された場合には(N)、該当するセッションの最終通信時刻を現在時刻に更新する(ステップS404)。
次に、通信内容解析部122は、通信の内容からデータベース11のロック状態が開始されると判断できる場合には(ステップS405:Y)、該当するセッションのロック状態を「ON」にする(ステップS406)。ロック状態の開始か否かは、例えば通信内容に含まれるSQLなどに基づいて判断することができる。
次に、通信内容解析部122は、通信の内容からデータベース11のロック状態が解除されると判断できる場合には(ステップS407:Y)、該当するセッションのロック状態を「OFF」にする(ステップS408)。ロック状態の解除か否かは、例えば通信内容に含まれるSQLなどに基づいて判断することができる。
次に、通信内容解析部122は、通信の内容からクライアントプロセスとデータベースプロセスの接続が終了されると判断できる場合には(ステップS409:Y)、該当するセッションのレコードをセッション情報テーブル123から削除する(ステップS410)。接続終了か否かは、例えば通信内容に含まれるSQLなどに基づいて判断することができる。
障害判定部13は、定期的にセッション情報テーブル123を確認する。
確認の際には、まずセッション情報テーブル123の先頭の行(レコード)のセッション情報を取得する(図5のステップS501、S502)。
取得したセッション情報のロック状態が「ON」の場合(ステップS503:Y)、障害判定部13は、最終通信時刻が現在時刻より一定時間以上遅れているか否かを判定し(ステップS504)、遅れている場合には(Y)、該当するセッションの情報をロック解除操作部14に通知する(ステップS505)。さらに、当該セッションのレコードをセッション情報テーブル123から削除する(ステップS506)。
障害判定部13は、当該セッション情報がセッション情報テーブル123の最後のレコードである場合には(ステップS507:Y)、セッション情報テーブル123の先頭の行に移動し(ステップS508)、ステップS502へ戻る。また、セッション情報テーブル123の最後のレコードでは無い場合には(ステップS507:N)、次の行のレコードに移動し(ステップS509)、ステップS502へ戻る。
ロック解除操作部14は、障害判定部13からセッション情報の通知を受信すると、データベース管理部15を操作してデータベース11の管理情報にアクセスする。受信したセッション情報と管理情報を照らし合わせて対象のデータベースセッションを特定したら、そのセッションを破棄するなどの方法によりロックを強制的に解除する。
以上のように、本実施形態によれば、障害判定部13が、セッション情報テーブル123を定期的に監視し、ロック取得中にクライアント20からの通信が一定時間以上検知されていない場合には、当該クライアント20に障害が発生したと判断し、ロック解除操作部14によってロックを強制的に解除するようにしたので、データベース管理装置10からクライアント20へ障害発生確認のための監視用通信を行わずに障害の発生を判断することができる。
また、クライアント20側にも、監視用通信に応答を返す仕組みを設ける必要がない。
また、クライアント20とデータベース管理装置10の間のセッションの監視は、データベース管理装置10のネットワークインタフェイスを監視することで実施できるため、既に稼動しているデータベース管理システムにも適用可能であり、データベースプログラムの種類も問わない。
このように、本実施形態によれば、余分な機能の追加や通信を発生させずに、クライアントの障害時のロック解除漏れを防止することができる。これにより、ロックの期間を最小限にして、データベースの利用効率低下を防止することができる。
10 データベース管理装置、11 データベース、12 通信監視部、13 障害判定部、14 ロック解除操作部、15 データベース管理部、20 クライアント、50 通信回線、121 通信内容取得部、122 通信内容解析部、123 セッション情報テーブル

Claims (4)

  1. クライアントとの通信の状態を監視する通信監視部と、
    前記通信監視部による監視結果に基づいて、データベースのロック取得中に前記クライアントからの通信が一定時間発生していな場合には、前記クライアントに障害が発生していると判断する障害判定部と、
    前記障害判定部において前記クライアントに障害が発生していると判断された場合に、前記クライアントが取得しているロックを強制的に解除するロック解除操作部と、を備えたデータベース管理装置。
  2. 前記通信監視部は、前記クライアントのプロセスと前記データベースのプロセスの間で確立されているセッションの状態を監視し、セッション内で発生した前記クライアントからの最後の通信時刻と、そのセッションのロック状態をセッション情報テーブルに蓄積し、
    前記障害判定部は、前記セッション情報テーブルを定期的に監視し、前記データベースのロック取得中で、かつ前記クライアントからの最後の通信時刻が現在時刻から一定時間以上遅れているセッションの情報を前記ロック解除操作部に通知し、
    ロック解除操作部は、前記障害判定部から通知されたセッションを破棄してロックを強制的に解除することを特徴とする請求項1に記載のデータベース管理装置。
  3. クライアントとの通信状態を監視し、
    データベースのロック取得中に前記クライアントからの通信が一定時間発生していな場合には、前記クライアントに障害が発生していると判断し、
    前記クライアントに障害が発生していると判断された場合に、前記クライアントが取得しているロックを強制的に解除する、データベース管理方法。
  4. コンピュータを、
    クライアントとの通信の状態を監視する通信監視部と、
    前記通信監視部による監視結果に基づいて、データベースのロック取得中に前記クライアントからの通信が一定時間発生していな場合には、前記クライアントに障害が発生していると判断する障害判定部と、
    前記障害判定部において前記クライアントに障害が発生していると判断された場合に、前記クライアントが取得しているロックを強制的に解除するロック解除操作部として機能させるプログラム。
JP2010026751A 2010-02-09 2010-02-09 データベース管理装置、データベース管理方法、及びプログラム Pending JP2011164918A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010026751A JP2011164918A (ja) 2010-02-09 2010-02-09 データベース管理装置、データベース管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010026751A JP2011164918A (ja) 2010-02-09 2010-02-09 データベース管理装置、データベース管理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011164918A true JP2011164918A (ja) 2011-08-25

Family

ID=44595528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010026751A Pending JP2011164918A (ja) 2010-02-09 2010-02-09 データベース管理装置、データベース管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2011164918A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013061722A1 (ja) * 2011-10-26 2013-05-02 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームサーバ、ゲームサーバの制御方法および記録媒体
CN109716419A (zh) * 2016-10-28 2019-05-03 国立大学法人大阪大学 导管-模拟器用内脏器官模型

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301658A (ja) * 1993-04-14 1994-10-28 Nec Corp 疎結合電子計算機システムのリカバリ方式
JPH11338754A (ja) * 1998-05-22 1999-12-10 Mitsubishi Electric Corp 共有ファイル管理システム
JP2002324047A (ja) * 2001-02-12 2002-11-08 Internatl Business Mach Corp <Ibm> 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。
JP2004094850A (ja) * 2002-09-04 2004-03-25 Nec Corp 排他制御装置および排他制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301658A (ja) * 1993-04-14 1994-10-28 Nec Corp 疎結合電子計算機システムのリカバリ方式
JPH11338754A (ja) * 1998-05-22 1999-12-10 Mitsubishi Electric Corp 共有ファイル管理システム
JP2002324047A (ja) * 2001-02-12 2002-11-08 Internatl Business Mach Corp <Ibm> 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。
JP2004094850A (ja) * 2002-09-04 2004-03-25 Nec Corp 排他制御装置および排他制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013061722A1 (ja) * 2011-10-26 2013-05-02 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームサーバ、ゲームサーバの制御方法および記録媒体
JP2013176533A (ja) * 2011-10-26 2013-09-09 Konami Digital Entertainment Co Ltd ゲームシステム、ゲームサーバおよび制御方法
US9600972B2 (en) 2011-10-26 2017-03-21 Konami Digital Entertainment Co., Ltd. Game system, game server therefor, control method for game server, and computer readable recording medium
US9779586B2 (en) 2011-10-26 2017-10-03 Konami Digital Entertainment Co., Ltd. Game server, control method therefor, and computer readable recording medium
CN109716419A (zh) * 2016-10-28 2019-05-03 国立大学法人大阪大学 导管-模拟器用内脏器官模型
US11195436B2 (en) 2016-10-28 2021-12-07 Osaka University Organ model for catheter simulator

Similar Documents

Publication Publication Date Title
US20210176143A1 (en) Monitoring wireless access point events
CN109960634B (zh) 一种应用程序监控方法、装置及系统
EP2921955A1 (en) Capability monitoring in a service oriented architecture
US20120297059A1 (en) Automated creation of monitoring configuration templates for cloud server images
US20160371122A1 (en) File processing workflow management
US9900385B2 (en) Connection management device, communication system, connection management method, and computer program product
US11218541B2 (en) Data storage method, storage server, and storage medium and system
CN106411629B (zh) 一种用于监控cdn节点的状态的方法和设备
EP2908497B1 (en) Method, device and system for remote management of terminal peripheral
US11283638B1 (en) Determining the status of a node based on a distributed system
JP2006011888A (ja) 遠隔管理システム
KR101211207B1 (ko) 캐시 클라우드 구조를 이용한 캐시 시스템 및 캐싱 서비스 제공 방법
JP2013097548A (ja) 情報処理システム、情報処理装置、クライアント端末、情報処理方法、及びプログラム
JP2015041947A (ja) 情報処理装置、情報処理方法及びプログラム
KR101845195B1 (ko) M2m 시스템에서 다중 리소스 구독 연관 방법
JP2011164918A (ja) データベース管理装置、データベース管理方法、及びプログラム
WO2017054734A1 (zh) 一种锁定文件管理方法和装置
US11190432B2 (en) Method and first node for managing transmission of probe messages
JP6502418B2 (ja) 電子機器管理システム及び電子機器管理方法
US20160241440A1 (en) Providing network management information in a communications network
JP2009098985A (ja) セッション管理方法、通信システムおよび通信装置
JP2017068415A (ja) システム、及び、システムの制御方法
JP5851870B2 (ja) ネットワーク監視システム及びネットワーク監視方法
CN114928654A (zh) 节点状态监测方法、装置、设备、存储介质和程序产品
CN117881002A (zh) 一种基于分布式服务站点的连接管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140507