JP2007156590A - 障害回復方法、情報管理サーバおよび計算機システム - Google Patents
障害回復方法、情報管理サーバおよび計算機システム Download PDFInfo
- Publication number
- JP2007156590A JP2007156590A JP2005347446A JP2005347446A JP2007156590A JP 2007156590 A JP2007156590 A JP 2007156590A JP 2005347446 A JP2005347446 A JP 2005347446A JP 2005347446 A JP2005347446 A JP 2005347446A JP 2007156590 A JP2007156590 A JP 2007156590A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- computer
- load
- information management
- load state
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】トランザクション処理システムにおいてトランザクション障害の回復を行う場合に、回復処理時間の短縮および負荷の低減を図る。
【解決手段】各TPモニタ101〜103は、トランザクション実行状態に変化があるたびに、そのトランザクション実行状態および負荷状態をトランザクション情報管理サーバ30に送信する。TPモニタ101は、実行中のトランザクションに障害が発生した場合、ノード21の負荷状態が高いときは、トランザクション情報管理サーバ30に回復処理転送要求電文を送信する。トランザクション情報管理サーバ30では、回復処理転送要求電文を受信すると、システム負荷情報管理部231が、最も負荷の低いノード22に回復処理依頼電文を送信する。TPモニタ102は、回復処理依頼電文を受信すると、トランザクション履歴情報管理部201からトランザクション履歴情報を取得し、トランザクションの回復処理を実施する。
【選択図】図2
【解決手段】各TPモニタ101〜103は、トランザクション実行状態に変化があるたびに、そのトランザクション実行状態および負荷状態をトランザクション情報管理サーバ30に送信する。TPモニタ101は、実行中のトランザクションに障害が発生した場合、ノード21の負荷状態が高いときは、トランザクション情報管理サーバ30に回復処理転送要求電文を送信する。トランザクション情報管理サーバ30では、回復処理転送要求電文を受信すると、システム負荷情報管理部231が、最も負荷の低いノード22に回復処理依頼電文を送信する。TPモニタ102は、回復処理依頼電文を受信すると、トランザクション履歴情報管理部201からトランザクション履歴情報を取得し、トランザクションの回復処理を実施する。
【選択図】図2
Description
本発明は、トランザクション処理を行うコンピュータシステム技術に関するものであり、特に障害回復処理を分散することにより障害回復の効率化を図る障害回復方法に係る。
分散トランザクション処理システムでは、高可用性を実現するために計算機システムの二重化を行い、実行系計算機に重大な障害が生じた場合は、待機系計算機に系切り替えを行っていた(特許文献1参照)。
図9は、従来技術によるシステム障害回復方法の例を示す図である。分散トランザクション処理システム1において、実行系計算機11のTPモニタ(Transaction Processing Monitor、トランザクション処理モニタ)101は、実行中のトランザクション情報をトランザクション履歴情報ファイル201に格納する。TPモニタ101が実行しているトランザクションに障害が発生した場合、待機系計算機12のTPモニタ102に系切り替えを行う。この場合、TPモニタ102は、トランザクションの実行状態をトランザクション履歴情報ファイル201から取得し、全トランザクションの回復を行う。以下、系切り替えによってシステム全体の回復処理を行うことを全面回復処理と呼ぶ。また、一つのトランザクションに障害が発生するなどの部分的な障害の場合、その実行系計算機11内でトランザクションの回復処理を行っていた。なお、図9において、TPモニタ101内の実線の長方形は実行中のスレッドを示し、TPモニタ102内の破線の長方形は待機中のスレッドを示す(他の図も同様)。また、リソースマネジャ40は、ネットワーク2を介して実行系計算機11および待機系計算機12に接続され、TPモニタ101、102のトランザクション処理の各種リソース(処理中データなどのリソースデータ)をデータベース301に格納する。
図10は、従来技術によるトランザクション障害回復方法の例を示す図である。分散トランザクション処理システム1において、計算機13のTPモニタ103は、実行中のトランザクション情報をトランザクション履歴情報ファイル201に格納する。実行中のトランザクションに障害が発生した場合、トランザクションの履歴情報をトランザクション履歴情報ファイル201から取得し、その計算機13内でトランザクションの回復処理を行う。以下、トランザクション単位で回復処理を行うことを部分回復処理と呼ぶ。
特開平8−221287号公報
しかしながら、マルチスレッドによりスレッドごとにユーザサービスを同時に処理する分散トランザクション処理システムにおいて、トランザクションの全面回復処理は、一つの計算機で全トランザクションの回復処理を行うため、障害回復に時間がかかるという問題がある。また、システム負荷が高い場合にトランザクションの部分回復処理を同一計算機内で行うとき、トランザクション回復によるリソース消費で他のトランザクション処理性能に影響が生じるという問題がある。
そこで、本発明は、前記問題に鑑み、トランザクション処理システムにおいてトランザクション障害の回復を行う場合に、回復処理時間の短縮および負荷の低減を図る手段を提供することを課題とする。
前記課題を解決する本発明は、他からの要求を受けてトランザクション処理を行う2以上の計算機と、計算機のトランザクション履歴および負荷を管理する情報管理サーバと、トランザクション処理のリソースデータを格納するリソース管理サーバとがネットワークを介して接続されて構成される計算機システムに用いられる、トランザクション障害を回復する障害回復方法であって、計算機が、トランザクション実行状態が変化した場合に、自身の負荷状態を計算し、トランザクション実行状態および負荷状態を情報管理サーバに送信するステップと、情報管理サーバが、計算機から受信したトランザクション実行状態および負荷状態を、自身に備えられた記憶部に格納するステップと、計算機が、トランザクション障害の発生を検出した場合に、自身の負荷状態を計算し、その負荷状態が所定の閾値以上であるときに、回復処理要求メッセージを情報管理サーバに送信するステップと、情報管理サーバが、計算機から回復処理要求メッセージを受信した場合に、記憶部を参照して負荷状態が低い計算機を選択し、その選択した計算機に回復処理依頼メッセージを送信するステップと、計算機が、情報管理サーバから回復処理依頼メッセージを受信した場合に、情報管理サーバからトランザクション実行状態の履歴であるトランザクション履歴情報を取得し、そのトランザクション履歴情報に従って、リソース管理サーバに格納されたリソースデータを基にトランザクション障害の回復処理を行うステップとを含むことを特徴とする。なお、本発明は、他の障害回復方法、情報管理サーバおよび計算機システムを含む。
本発明によれば、トランザクション処理システムにおいてトランザクション障害の回復を行う場合に、回復処理時間の短縮および負荷の低減を図ることができる。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
≪第1の実施の形態≫
最初に、本発明の第1の実施の形態を説明する。図1は、第1の実施の形態に係るハードウェアの構成を示す図である。計算機501は、他装置(ユーザ端末や他の計算機など)からの要求を受けてトランザクション処理を行う計算機であり、メモリ511、ハードディスク装置521、CPU(Central Processing Unit)541、ディスプレイ551、キーボード561、マウス571およびネットワークインタフェースカード(Network Interface Card、以下NICという)581を含むハードウェア資源がバス531を介して接続されて構成され、NIC581によりネットワークを介して接続されたユーザ端末や他の計算機と通信を行う。
最初に、本発明の第1の実施の形態を説明する。図1は、第1の実施の形態に係るハードウェアの構成を示す図である。計算機501は、他装置(ユーザ端末や他の計算機など)からの要求を受けてトランザクション処理を行う計算機であり、メモリ511、ハードディスク装置521、CPU(Central Processing Unit)541、ディスプレイ551、キーボード561、マウス571およびネットワークインタフェースカード(Network Interface Card、以下NICという)581を含むハードウェア資源がバス531を介して接続されて構成され、NIC581によりネットワークを介して接続されたユーザ端末や他の計算機と通信を行う。
メモリ511には、TPモニタ(トランザクション処理モニタ)100、ユーザサービスプログラム110およびオペレーティングシステム121を含むプログラムが格納されており、それらのプログラムをCPU541が実行することによって、計算機501の機能が実現される。TPモニタ100は、オペレーティングシステム121上で動作し、他装置からの要求を受けてトランザクション処理を制御する。その際、要求の内容に応じてユーザサービスプログラム110にトランザクション処理を構成する個々の処理を実行させる。なお、第1の実施の形態において、TPモニタ100を含む計算機501の構成をノードと呼ぶ。
ハードディスク装置521は、メモリ511内の各プログラムが動作するのに必要な制御情報(図示せず)を格納する不揮発性記憶装置である(他のハードディスク装置も同様)。CPU541は、メモリ511に格納された各プログラムを実行する処理装置である。ディスプレイ551、キーボード561およびマウス571は、計算機501の運用管理者などが用いる端末装置である。NIC581は、計算機501をネットワーク経由でユーザ端末や他の計算機に接続するアダプタである。
サーバ502は、計算機501のトランザクション履歴および負荷を管理する情報管理サーバであり、計算機501と同様のハードウェア資源(メモリ512、ハードディスク装置522、バス532、CPU542、ディスプレイ552、キーボード562、マウス572およびNIC582)を備える。メモリ(記憶部)512には、オペレーティングシステム122、トランザクション履歴情報テーブル200、システム負荷情報テーブル(負荷情報テーブル)210、トランザクション履歴情報管理部220およびシステム負荷情報管理部(負荷情報管理部)230が格納される。また、ハードディスク装置522には、トランザクション履歴情報ファイル240およびシステム負荷情報ファイル250が格納される。そして、CPU542が各プログラムを実行することにより、トランザクション履歴情報管理部220およびシステム負荷情報管理部230がオペレーティングシステム122上で動作する。
トランザクション履歴情報管理部220は、トランザクション実行状態や使用リソースマネジャ情報をトランザクション履歴情報テーブル200で管理し、トランザクション履歴情報ファイル240に保存する。システム負荷情報管理部230は、各ノードの負荷状態や使用リソースマネジャ情報をシステム負荷情報テーブル210で管理し、システム負荷情報ファイル250に保存する。なお、サーバ502の構成をトランザクション情報管理サーバと呼ぶ。
図2は、第1の実施の形態に係る分散トランザクション処理システムの構築例を示す図である。分散トランザクション処理システム(計算機システム)1は、ノード(計算機)21〜23、トランザクション情報管理サーバ(情報管理サーバ)30およびリソースマネジャ40がネットワーク2を介して接続されて構成される。
ノード21〜23は、TPモニタ101〜103をそれぞれ含む計算機である。トランザクション情報管理サーバ30は、トランザクション履歴情報テーブル201を管理するトランザクション履歴情報管理部221と、システム負荷情報テーブル211を管理するシステム負荷情報管理部231とを含んで構成される。リソースマネジャ40は、TPモニタ101〜103のトランザクション処理の各種リソース(処理中データなどのリソースデータ)をデータベース301に格納する。なお、リソースマネジャ40は、図示したようにノード21〜23とは別装置(リソース管理サーバ)であってもよいし、そのリソースマネジャ40の機能を実現するソフトウェアをノード21〜23のいずれかにインストールすることによって構成してもよい。
以下、分散トランザクション処理システム1の処理概要を説明する。TPモニタ101〜103は、トランザクション実行状態に変化があるたびに、そのトランザクション実行状態および負荷状態をトランザクション情報管理サーバ30に送信する。
TPモニタ101が実行中のトランザクションに障害が発生した場合、ノード21の負荷状態が高いときは、TPモニタ101がトランザクション情報管理サーバ30に回復処理転送要求電文を送信する。トランザクション情報管理サーバ30では、TPモニタ101から回復処理転送要求電文を受信すると、システム負荷情報管理部231が各ノード21〜23の負荷状態をチェックし、最も負荷の低いノード22(TPモニタ102)に対し、回復処理依頼電文を送信する。TPモニタ102は、回復処理依頼電文を受信すると、トランザクション履歴情報管理部201からトランザクション履歴情報を取得し、トランザクションの回復処理を実施する。
図3は、トランザクション実行状態が変化したときの処理を示すフローチャートである。この一連の処理は、図2に示すシステム構成におけるノード21のTPモニタ101のトランザクション実行状態が変化した場合の処理を示している。ここで、トランザクション実行状態には、トランザクション開始、二層コミットにおける一層目の処理が完了、トランザクション完了、ロールバック決着、ヒューリスティック決着決定などがある。また、トランザクション実行状態の変化とは、その状態間の遷移があったことをいう。
図3に沿って処理の説明を行う。TPモニタ101は、定期的にトランザクション実行状態をチェックし、その状態が変化した場合には(ステップS101のYes)、トランザクション実行待ちのサービス数および実行中のトランザクション数からノード21の負荷状態Mを計算する(ステップS102)。その計算式を以下の式1に示す。
負荷状態M = M1×実行待ちサービス数+M2×実行中トランザクション数 (M1、M2:重み付け定数)・・・式1
次に、TPモニタ101は、トランザクション実行状態、使用リソースマネジャ情報および負荷状態Mをトランザクション情報管理サーバ30に電文送信する(ステップS103)。使用リソースマネジャ情報とは、当該トランザクションの処理に係るリソースマネジャを特定するものであって、ここでは「リソースマネジャ40」である。トランザクション情報管理サーバ30では、トランザクション履歴情報管理部221が、TPモニタ101から受信したトランザクション実行状態および使用リソースマネジャ情報をトランザクション履歴情報テーブル201に格納する(ステップS111)。また、システム負荷情報管理部231が、TPモニタ101から受信した使用リソースマネジャ情報および負荷状態Mをシステム負荷情報テーブル211に格納する(ステップS121)。
以上の一連の処理により、トランザクション情報管理サーバ30は、各ノード内のTPモニタのトランザクション履歴情報および負荷状態を管理する。なお、TPモニタ101がトランザクション実行状態をチェックして、その状態が変化していなかった場合には(ステップS101のNo)、一旦チェックの処理を終了して、次のタイミングを待つこととする。
図4は、トランザクション回復を行う場合の処理を示すフローチャートである。この一連の処理は、図2に示すシステム構成におけるTPモニタ101で実行中のトランザクションに障害が発生した場合の処理を示している。
障害元ノード21のTPモニタ101は、トランザクションに障害が発生した場合(ステップS201)、自身のノード21の負荷状態Mを計算する(ステップS202)。負荷状態Mの計算は、式1によって行う。トランザクション回復の処理では、他のTPモニタに回復させるときには転送処理によるオーバーヘッドがかかるため、負荷状態Mをチェックして(ステップS203)、負荷状態Mが所定の閾値より小さい場合には(ステップS203のNo)、転送処理を行わず同一ノード内でトランザクション回復処理(TPモニタ102と同様の処理)を行う(ステップS205)。システム負荷が高く、負荷状態Mが所定の閾値以上である場合には(ステップS203のYes)、回復処理転送要求電文(回復処理要求メッセージ)をトランザクション情報管理サーバ30に送信する(ステップS204)。
トランザクション情報管理サーバ30では、システム負荷情報管理部231が、TPモニタ101から回復処理転送要求電文を受信すると、システム負荷情報テーブル211を参照して負荷状態Mが最も低いノードを選択する(ステップS211)。そして、その選択したノードに対して回復処理依頼電文(回復処理依頼メッセージ)を送信する(ステップS212)。
回復先ノード22のTPモニタ102は、トランザクション情報管理サーバ30から回復処理依頼電文を受信すると、トランザクション履歴情報管理部221からトランザクション履歴情報を取得する(ステップS221)。その取得にあたっては、トランザクション履歴情報管理部221に取得要求が送信され、トランザクション履歴情報管理部221からトランザクション履歴情報が返信されるものとする。そして、その取得したトランザクション履歴情報に従ってトランザクションの回復処理を行う(ステップS222)。具体的には、リソースマネジャ40の排他解放、データベース301に格納された各種リソースを基にしたコミット、ロールバックなどの処理を行う。
なお、負荷状態Mが最も低いノードを選択する場合(ステップS211)、使用しているリソースマネジャ40が同一であるノードを選択する。また、各ノードの負荷状態によっては障害元ノードの負荷状態Mが最も低いことがあり、そのノードを選択する可能性がある。そのときには、選択した障害元ノード21のTPモニタ101に対して回復処理依頼電文を送信する(ステップS212の破線矢印を参照)。
≪第2の実施の形態≫
次に、本発明の第2の実施の形態を説明する。なお、第1の実施の形態と同一の部分は同一の符号を付して、重複する説明は省略する。図5は、第2の実施の形態に係るハードウェアの構成を示す図である。計算機503は、計算機501およびサーバ502の両方の機能を持つ。すなわち、他装置からの要求を受けてトランザクション処理を行うとともに、自身のトランザクション履歴および負荷を管理する。第2の実施の形態において、TPモニタ100を含む計算機503の構成をノードと呼ぶ。
次に、本発明の第2の実施の形態を説明する。なお、第1の実施の形態と同一の部分は同一の符号を付して、重複する説明は省略する。図5は、第2の実施の形態に係るハードウェアの構成を示す図である。計算機503は、計算機501およびサーバ502の両方の機能を持つ。すなわち、他装置からの要求を受けてトランザクション処理を行うとともに、自身のトランザクション履歴および負荷を管理する。第2の実施の形態において、TPモニタ100を含む計算機503の構成をノードと呼ぶ。
計算機503は、メモリ(記憶部)513、ハードディスク装置523、CPU543、ディスプレイ553、キーボード563、マウス573およびNIC583を含むハードウェア資源がバス533を介して接続されて構成され、NIC583によりネットワークを介して接続されたユーザ端末や他の計算機と通信を行う。
メモリ513には、TPモニタ100、ユーザサービスプログラム110、オペレーティングシステム123、トランザクション履歴情報テーブル200、システム負荷情報テーブル210、トランザクション履歴情報管理部220およびシステム負荷情報管理部230が格納される。また、ハードディスク装置523には、トランザクション履歴情報ファイル240およびシステム負荷情報ファイル250が格納される。そして、CPU543が各プログラムを実行することにより、TPモニタ100、ユーザサービスプログラム110、トランザクション履歴情報管理部220およびシステム負荷情報管理部230がオペレーティングシステム123上で動作することになる。特に、TPモニタ100は、他装置からの要求を受けてトランザクション処理を制御する。その際、要求の内容に応じてユーザサービスプログラム110にトランザクション処理を構成する個々の処理を実行させる。
図6は、第2の実施の形態に係る分散トランザクション処理システムの構築例を示す図である。分散トランザクション処理システム1は、ノード21〜23およびリソースマネジャ40がネットワーク2を介して接続されて構成される。ノード21〜23は、それぞれTPモニタ101〜103、トランザクション履歴情報管理部221〜223およびシステム負荷情報管理部231〜233を含んで構成される。トランザクション履歴情報管理部221〜223は、それぞれトランザクション履歴情報テーブル201〜203を管理する。システム負荷情報管理部231〜233は、それぞれシステム負荷情報テーブル211〜213を管理する。
以下、処理の概要を説明する。TPモニタ101〜103は、システム負荷に大きな変動があった場合に、システム負荷情報を全ノードのシステム負荷情報管理部に送信する。TPモニタ101が実行中のトランザクションに障害が発生した場合、ノード21の負荷状態が高いときは、システム負荷情報管理部231により各ノードの負荷状態をチェックし、最も負荷状態の低いノード22(TPモニタ102)に対して、回復処理依頼電文を送信する。TPモニタ102は、TPモニタ101から回復処理依頼電文を受信すると、トランザクションの回復処理を実施する。
図7は、負荷状態が変化したときの処理を示すフローチャートである。この一連の処理は、図6に示すシステム構成におけるTPモニタ101の負荷状態が変化したときの処理を示している。TPモニタ101は、前回の負荷状態のチェックから所定時間が経過した場合(ステップS301のYes)、トランザクション実行待ちのサービス数および実行中のトランザクション数から自身のノード21の負荷状態Mを計算する(ステップS302)。負荷状態Mの計算は、式1によって行う。そして、負荷状態Mが前回の計算結果より大きく変動したか否かをチェックする(ステップS303)。このチェックの判断基準としては、例えば、負荷状態Mの値の範囲をレベル1(低負荷)、レベル2(通常負荷)、レベル3(高負荷)などに分けて、負荷状態Mの値がそのレベル間に亘って変化した場合に、「大きく変動した」と判断する。
TPモニタ101は、負荷状態Mが前回より大きく変動した場合には(ステップS303のYes)、使用リソースマネジャ情報および負荷状態Mの格納処理をシステム負荷情報管理部231に要求して(ステップS304)、処理を終了する。なお、所定時間が経過していない場合(ステップS301のNo)および負荷状態Mが大きく変動していない場合(ステップS303のNo)には、一旦処理を終了して次のタイミングを待つ。
システム負荷情報管理部231は、TPモニタ101からの要求を受けて、使用リソースマネジャ情報および負荷状態Mをシステム負荷情報テーブル211に格納する(ステップS311)。そして、同じ情報を他ノード22、23のシステム負荷情報管理部232、233に送信する(ステップS312)。ノード22のシステム負荷情報管理部232は、受信した使用リソースマネジャ情報および負荷状態Mをシステム負荷情報テーブル212に格納する(ステップS321)。また、ノード23のシステム負荷情報管理部233は、受信した使用リソースマネジャ情報および負荷状態Mをシステム負荷情報テーブル213に格納する(ステップS331)。以上の一連の処理により、ノード21、22および23は、各ノードの負荷状態を管理する。
図8は、トランザクション回復を行う場合の処理を示すフローチャートである。この一連の処理は、図6のシステム構成におけるノード21のTPモニタ101で実行中のトランザクションに障害が発生した場合の処理を示している。TPモニタ101は、トランザクションに障害が発生した場合(ステップS401)、自身のノード21の負荷状態Mを計算する(ステップS402)。負荷状態Mの計算は、式1によって行う。そして、負荷状態Mをチェックして(ステップS403)、負荷状態Mが所定の閾値より小さい場合には(ステップS403のNo)、転送要求を行わず同一ノード内でトランザクション回復処理を行う(ステップS405)。システム負荷が高く、負荷状態Mが所定の閾値以上である場合には(ステップS403のYes)、システム負荷情報管理部231に対して回復処理の転送処理を要求する(ステップS404)。
システム負荷情報管理部231は、TPモニタ101からの要求を受けると、システム負荷情報テーブル211を参照して負荷状態Mが最も低いノード(本実施の形態では、ノード22)を選択する(ステップS411)。次に、トランザクション履歴情報管理部221に要求して、トランザクション履歴情報管理部221から渡されたトランザクション履歴情報を取得する(ステップS412)。そして、トランザクション履歴情報を含めた回復処理依頼電文を、ステップS411で選択したノード22に送信する(ステップS413)。回復先ノード22のTPモニタ102は、システム負荷情報管理部231から回復処理依頼電文を受信すると、トランザクションの回復処理を行う(ステップS421)。なお、各ノードの負荷状態によっては障害元ノード21の負荷状態Mが最も低いことがあり、そのノード21を選択する可能性がある。そのときには、選択した障害元ノード21のTPモニタ101に対して回復処理依頼電文を送信する(ステップS413の破線矢印を参照)。
以上説明した本発明の実施の形態によれば、トランザクション処理システム1においてトランザクション障害の回復を行う場合、ノード(計算機)の負荷が高いときに他のノードに回復処理を転送することによって、負荷が軽減される。また、システムリラン時のトランザクション回復など、回復すべきトランザクションが複数あったときに、複数のノードに回復処理を分散できるので、回復処理の時間短縮を図ることができる。以上によれば、トランザクション障害の回復を行う場合に、他のトランザクション処理性能に対する影響を抑えることができる。
以上本発明の実施の形態について説明したが、図1および図5に示す計算機501、502および503のそれぞれで実行されるプログラムをコンピュータにより読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の実施の形態に係る分散トランザクション処理システム1が実現されるものとする。なお、プログラムをインターネットなどのネットワーク経由でコンピュータシステムに提供するようにしてもよい。さらに、プログラムが書き込まれた半導体チップなどを提供してもよい。
≪その他の実施の形態≫
以上本発明の好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下のような実施の形態が考えられる。
以上本発明の好適な実施の形態について一例を示したが、本発明は前記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下のような実施の形態が考えられる。
(1)前記各実施の形態では、実行待ちサービス数および実行中のトランザクション数を基にノード(計算機)の負荷状態Mを計算したが、オペレーティングシステム負荷やネットワーク負荷など、他の要素を加えてもよい。
(2)第2の実施の形態では、トランザクション履歴情報テーブル200およびシステム負荷情報テーブル210を同一のノード内で管理するように記載したが、どちらか一方、または両方をノード間で共有するなどの構成にしてもよい。例えば、第2の実施の形態でノードの二重化(実行系計算機および待機系計算機を有する構成)を行う場合、ノード間でファイルを共有する構成にする。この場合、待機系計算機は1台で全面回復処理を行うことになるが、自身の負荷状態が高くなって、分散トランザクション処理システム1全体の処理効率が低下する可能性がある。そこで、待機系計算機は、第1または第2の実施の形態に係るトランザクション障害回復処理を行うことにより、自身の負荷状態が高いときには、全面回復処理の一部を低負荷の計算機に転送する。これによれば、系切り替えによる全面回復処理を待機系計算機だけでなく、他の実行系計算機にも分散して行うことができるので、回復処理時間を短縮することができる。
(3)第2の実施の形態では、負荷状態Mの変動したノード21が他のノード22、23に負荷情報(使用リソースマネジャ情報および負荷状態M)を送信するように記載したが、他ノード22、23の通信障害やシステムダウンなどを検出するために、所定時間ごとにシステム負荷状態管理部231が他のノード22、23の負荷情報を取得する処理を追加してもよい。
(4)第2の実施の形態において、回復処理の転送先ノード22の負荷状態Mが高い場合は、所定時間経過後、再度回復処理の転送を行うようにしてもよい。
1 分散トランザクション処理システム(計算機システム)
2 ネットワーク
21、22、23 ノード(計算機)
30 トランザクション情報管理サーバ(情報管理サーバ)
40 リソースマネジャ(リソース管理サーバ)
200 トランザクション履歴情報テーブル
210 システム負荷情報テーブル(負荷情報テーブル)
220、221 トランザクション履歴情報管理部
230、231 システム負荷情報管理部(負荷情報管理部)
512、513 メモリ(記憶部)
101、102、103 TPモニタ(トランザクション処理モニタ)
2 ネットワーク
21、22、23 ノード(計算機)
30 トランザクション情報管理サーバ(情報管理サーバ)
40 リソースマネジャ(リソース管理サーバ)
200 トランザクション履歴情報テーブル
210 システム負荷情報テーブル(負荷情報テーブル)
220、221 トランザクション履歴情報管理部
230、231 システム負荷情報管理部(負荷情報管理部)
512、513 メモリ(記憶部)
101、102、103 TPモニタ(トランザクション処理モニタ)
Claims (5)
- 他からの要求を受けてトランザクション処理を行う2以上の計算機と、
前記計算機のトランザクション履歴および負荷を管理する情報管理サーバと、
前記トランザクション処理のリソースデータを格納するリソース管理サーバと、
がネットワークを介して接続されて構成される計算機システムに用いられる、トランザクション障害を回復する障害回復方法であって、
前記計算機が、トランザクション実行状態が変化した場合に、自身の負荷状態を計算し、前記トランザクション実行状態および前記負荷状態を前記情報管理サーバに送信するステップと、
前記情報管理サーバが、前記計算機から受信したトランザクション実行状態および負荷状態を、自身に備えられた記憶部に格納するステップと、
前記計算機が、前記トランザクション障害の発生を検出した場合に、自身の負荷状態を計算し、その負荷状態が所定の閾値以上であるときに、回復処理要求メッセージを前記情報管理サーバに送信するステップと、
前記情報管理サーバが、前記計算機から前記回復処理要求メッセージを受信した場合に、前記記憶部を参照して前記負荷状態が低い計算機を選択し、その選択した計算機に回復処理依頼メッセージを送信するステップと、
前記計算機が、前記情報管理サーバから前記回復処理依頼メッセージを受信した場合に、前記情報管理サーバから前記トランザクション実行状態の履歴であるトランザクション履歴情報を取得し、そのトランザクション履歴情報に従って、前記リソース管理サーバに格納されたリソースデータを基に前記トランザクション障害の回復処理を行うステップと、
を含むことを特徴とする障害回復方法。 - 他からの要求を受けてトランザクション処理を行うとともに、自身のトランザクション履歴および負荷を管理する2以上の計算機と、
前記トランザクション処理のリソースデータを格納するリソース管理サーバと、
がネットワークを介して接続されて構成される計算機システムに用いられる、トランザクション障害を回復する障害回復方法であって、
前記計算機が、所定時間ごとに自身の負荷状態を計算し、その負荷状態が前回の計算結果より大きく変動した場合に、前記負荷状態を自身に備えられた記憶部に格納するとともに、前記負荷状態を前記ネットワークに接続された他の計算機に送信するステップと、
前記他の計算機が、前記計算機から受信した負荷状態を、自身に備えられた記憶部に格納するステップと、
前記計算機が、前記トランザクション障害の発生を検出した場合に、自身の負荷状態を計算し、その負荷状態が所定の閾値以上であるときに、前記記憶部を参照して前記負荷状態が低い計算機を選択し、その選択した計算機にトランザクション実行状態の履歴であるトランザクション履歴情報を含む回復処理依頼メッセージを送信するステップと、
前記計算機が、他の計算機から前記回復処理依頼メッセージを受信した場合に、前記回復処理依頼メッセージに含まれるトランザクション履歴情報に従って、前記リソース管理サーバに格納されたリソースデータを基に前記トランザクション障害の回復処理を行うステップと、
を含むことを特徴とする障害回復方法。 - 前記計算機システムは、実行系計算機および待機系計算機を備えており、
前記実行系計算機で発生したトランザクション障害の回復処理を行う前記待機系計算機は、前記計算機が前記トランザクション障害の発生を検出した場合のステップに相当する処理を行う
ことを特徴とする請求項1または請求項2に記載の障害回復方法。 - 他からの要求を受けてトランザクション処理を行う2以上の計算機にネットワークを介して接続され、前記計算機のトランザクション履歴および負荷を管理する情報管理サーバであって、
トランザクション履歴情報テーブルおよび負荷情報テーブルを記憶する記憶部と、
前記計算機からトランザクション実行状態を受信した場合に、その受信したトランザクション実行状態を前記トランザクション履歴情報テーブルに格納するとともに、前記計算機からの要求に応じて前記トランザクション履歴情報テーブルを参照して、その要求に合うトランザクション履歴情報を返信するトランザクション履歴情報管理部と、
前記計算機から負荷状態を受信した場合に、その受信した負荷状態を前記負荷情報テーブルに格納するとともに、前記計算機から回復処理要求メッセージを受信した場合に、前記負荷情報テーブルを参照して前記負荷状態が低い計算機を選択し、その選択した計算機に回復処理依頼メッセージを送信する負荷情報管理部と、
を備えることを特徴とする情報管理サーバ。 - 他からの要求を受けてトランザクション処理を行うとともに、自身のトランザクション履歴および負荷を管理する2以上の計算機と、
前記トランザクション処理のリソースデータを格納するリソース管理サーバと、
がネットワークを介して接続されて構成される計算機システムであって、
前記計算機は、
トランザクション履歴情報テーブルおよび負荷情報テーブルを記憶する記憶部と、
所定時間ごとに自身の負荷状態を計算し、その負荷状態が前回の計算結果より大きく変動した場合に前記負荷状態の格納を要求し、前記トランザクション障害の発生を検出した場合に自身の負荷状態を計算し、その負荷状態が所定の閾値以上であるときに回復処理の転送を要求し、他の計算機から回復処理依頼メッセージを受信した場合に前記回復処理依頼メッセージに含まれるトランザクション実行状態の履歴であるトランザクション履歴情報に従って、前記リソース管理サーバに格納されたリソースデータを基に前記トランザクション障害の回復処理を行うトランザクション処理モニタと、
前記トランザクション処理モニタから前記負荷状態の格納を要求された場合に前記負荷状態を前記負荷情報テーブルに格納し、前記負荷状態を前記ネットワークに接続された他の計算機に送信し、他の計算機から前記負荷状態を受信した場合に前記負荷状態を前記負荷情報テーブルに格納し、前記トランザクション処理モニタから回復処理の転送を要求された場合に前記負荷情報テーブルを参照して前記負荷状態が低い計算機を選択し、その選択した計算機に前記トランザクション履歴情報を含む回復処理依頼メッセージを送信する負荷情報管理部と、
前記トランザクション実行状態を前記トランザクション履歴情報テーブルに格納するとともに、前記負荷情報管理部の要求に応じて前記トランザクション履歴情報テーブルを参照し、その要求に合うトランザクション履歴情報を渡すトランザクション履歴情報管理部と、
を備えることを特徴とする計算機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005347446A JP2007156590A (ja) | 2005-12-01 | 2005-12-01 | 障害回復方法、情報管理サーバおよび計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005347446A JP2007156590A (ja) | 2005-12-01 | 2005-12-01 | 障害回復方法、情報管理サーバおよび計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007156590A true JP2007156590A (ja) | 2007-06-21 |
Family
ID=38240908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005347446A Pending JP2007156590A (ja) | 2005-12-01 | 2005-12-01 | 障害回復方法、情報管理サーバおよび計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007156590A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101318662B1 (ko) | 2009-04-17 | 2013-10-16 | 에스케이플래닛 주식회사 | 인증 장치, 이동 통신 시스템 및 이를 이용한 인증 방법 |
-
2005
- 2005-12-01 JP JP2005347446A patent/JP2007156590A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101318662B1 (ko) | 2009-04-17 | 2013-10-16 | 에스케이플래닛 주식회사 | 인증 장치, 이동 통신 시스템 및 이를 이용한 인증 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103201724B (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
EP2435916B1 (en) | Cache data processing using cache cluster with configurable modes | |
US7392433B2 (en) | Method and system for deciding when to checkpoint an application based on risk analysis | |
EP1451687B1 (en) | Real composite objects for providing high availability of resources on networked systems | |
CN102402395B (zh) | 基于仲裁磁盘的高可用系统不间断运行方法 | |
JP4107676B2 (ja) | トランザクション引継ぎシステム | |
CN107430606B (zh) | 具有并行持久性的消息代理系统 | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
JP2005196763A (ja) | 簡略化されたpaxos | |
CN101137984A (zh) | 用于分布加载数据库的系统、方法和软件 | |
US20170289044A1 (en) | Highly available servers | |
JP4491482B2 (ja) | 障害回復方法、計算機、クラスタシステム、管理計算機及び障害回復プログラム | |
CN114844809A (zh) | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 | |
JP6556726B2 (ja) | コンピューティング環境においてアダプティブビジーウェイトをサポートするためのシステムおよび方法 | |
JP2010044553A (ja) | データ処理方法、クラスタシステム、及びデータ処理プログラム | |
US10452321B2 (en) | Storage system and control method therefor | |
CN102917068A (zh) | 一种自适应大规模集群通信系统及其通信方法 | |
US8036105B2 (en) | Monitoring a problem condition in a communications system | |
JP2007156590A (ja) | 障害回復方法、情報管理サーバおよび計算機システム | |
CN111930563B (zh) | 云仿真系统中的容错方法 | |
US20120191645A1 (en) | Information processing apparatus and database system | |
US10542127B2 (en) | Fault tolerant communication in a distributed system | |
CN115134217B (en) | Data processing method, device, equipment and storage medium | |
CN118277344B (zh) | 分布式键值存储系统的存储节点层间合并方法及装置 | |
CN115051911B (zh) | 一种双活容灾系统、方法、计算机设备及存储介质 |