JP2007133453A - メッセージキューイングサーバ及びその監視方法 - Google Patents
メッセージキューイングサーバ及びその監視方法 Download PDFInfo
- Publication number
- JP2007133453A JP2007133453A JP2005322986A JP2005322986A JP2007133453A JP 2007133453 A JP2007133453 A JP 2007133453A JP 2005322986 A JP2005322986 A JP 2005322986A JP 2005322986 A JP2005322986 A JP 2005322986A JP 2007133453 A JP2007133453 A JP 2007133453A
- Authority
- JP
- Japan
- Prior art keywords
- channel
- middleware
- message
- channels
- reception
- 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
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
【課題】MQミドルウェア、キュー、送信チャネル、及び、受信チャネルを常時監視し、これらに障害が発生した場合、自動的に必要最低限のMQを閉鎖させることができるMQ監視ツールを提供する。
【解決手段】メッセージを保存するメッセージキューと、該メッセージキューを利用して他のメッセージキューイングシステムとの間でメッセージの送受信を行うミドルウエアと、他のメッセージキューイングシステムに接続された送信チャネル及び受信チャネルと、を有するメッセージキューイングサーバにおいて、メッセージキュー、ミドルウエア、送信チャネル及び受信チャネルを監視する監視ツールを設ける。監視ツールは、メッセージキューとミドルウエアの少なくとも1つに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止する。
【選択図】図1
【解決手段】メッセージを保存するメッセージキューと、該メッセージキューを利用して他のメッセージキューイングシステムとの間でメッセージの送受信を行うミドルウエアと、他のメッセージキューイングシステムに接続された送信チャネル及び受信チャネルと、を有するメッセージキューイングサーバにおいて、メッセージキュー、ミドルウエア、送信チャネル及び受信チャネルを監視する監視ツールを設ける。監視ツールは、メッセージキューとミドルウエアの少なくとも1つに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止する。
【選択図】図1
Description
本発明は、メッセージキューイングサーバに存在するミドルウエア、メッセージキュー、送信チャネル、及び、受信チャネルを常時監視し、これらに障害が発生した場合、自動的にメッセージキューイングサーバを閉鎖させる技術に関するものである。
メッセージキューイングシステム(以下、単にMQシステムと呼ぶ。)は、メッセージキュー(以下、随時、単にキューと呼ぶ。)を介してメッセージ転送を非同期に行うことで、送信側と受信側が同時に動作している必要がない通信方式である。MQシステムは、非同期通信を前提とするワークフロー処理、移動通信分野を始め、様々なシステムを接続する場合の通信基盤である。
MQミドルウェアは、MQシステムが提供するキューへのメッセージの登録および取り出しを操作し、チャネルを介してメッセージの送受信を行う。キューとは、メッセージを保存できる論理的な待ち行列を構成する器であり、通常は磁気ディスク上に存在する。
MQシステムは、送信側と受信側の双方のノードが同時に稼動していなくても、自ノードが稼動していればキューを介することにより、他方側の状態に依存せず送信処理または受信処理が可能であるため、拡張性および柔軟性を備えた通信方式であると言える。また、メッセージが大量に入ってきた場合に処理性能の劣化を防ぐため、キューの滞留時間を設定することができ、設定時間を超えてキューに格納されているメッセージを削除する機能を持っている。
MQシステムはクラスタ構成を採ることができる。クラスタ構成のMQシステムは、同一キュー、同一業務プログラム、同一サービスを動作させるノードを複数同時に並列処理させる構成を採るものである。これにより、障害時の可用性を高めることができる。
このMQシステムにおいて、一部のノードで障害が発生した場合にクラスタ構成を採っていたとしても、障害ノードにあるメッセージは消失してしまう。
特開2004−86543号公報には、障害の発生によりメッセージが消失することを防ぐために、障害ノードのキューと同じ名称のキューをもつノードが障害ノードのメッセージ処理を引き継ぎ、処理を続行させる方法が記載されている。
特開2004−86543号公報
MQシステムにおける障害として、送信チャネル又は受信チャネルの切断のようなネットワーク障害、MQミドルウェアの異常停止、ディスク障害によるキューアクセス不能などが考えられる。MQシステムに障害が発生すると、メッセージの処理、及び、送受信を正常に行うことができない。例えば、MQミドルウェアに障害が発生した場合、キューにメッセージを登録することも、取り出すこともできなくなる。そのため、他方のシステムから登録されたメッセージが受信キューに滞留し続ける。
従来の技術では、障害ノードのキューに滞留しているメッセージを別ノードに引き継ぐことができるため、障害ノードにメッセージが滞留し続けることなく、別ノードで処理を続行することができる。
しかし、従来の技術では、MQミドルウェアに障害が発生した場合、送信チャネル、受信チャネルは接続されているため、障害ノードにメッセージが毎回登録され、その度に別ノードにメッセージを引き継がなければならない。このため、処理性能が劣化する。また、送信チャネル障害や受信チャネル障害が発生した場合は、メッセージを送信することが不可能であるにも拘らず、メッセージを送信し続けることとなり、更に障害が発生する可能性がある。このため、MQシステムが基本的にクラスタ構成を採っている場合でも、MQシステムの全ての機能が正常に動作していなければ、処理を続行させることができない。よって、障害が発生した場合は、障害ノードのMQシステムを閉鎖させる必要がある。
また、クラスタ構成などで、他方のシステムが複数ノードある場合、他方のシステムの一部のノードで障害が発生し、送受信チャネルが切断された場合、別ノードが稼動状態であれば、MQ処理は可能である。そのため、自システムのMQシステムを全て閉鎖することはできない。よって、障害ノードのみ通信しないようMQシステムを閉鎖させる必要がある。
本発明の目的は、MQミドルウェア、キュー、送信チャネル、及び、受信チャネルを常時監視し、これらに障害が発生した場合、自動的に必要最低限のMQを閉鎖させることができるMQ監視ツールを提供することにある。
本発明によると、メッセージを保存するメッセージキューと、該メッセージキューを利用して他のメッセージキューイングシステムとの間でメッセージの送受信を行うミドルウエアと、他のメッセージキューイングシステムに接続された送信チャネル及び受信チャネルと、を有するメッセージキューイングサーバにおいて、メッセージキュー、ミドルウエア、送信チャネル及び受信チャネルを監視する監視ツールを設ける。
監視ツールは、メッセージキューとミドルウエアの少なくとも1つに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止する。
本発明によると、MQミドルウェア、キュー、送信チャネル、及び、受信チャネルを常時監視し、これらに障害が発生した場合、自動的に必要最低限のMQを閉鎖させることができる。
以下、本発明を適用したMQ環境の一実施の形態について説明する。図1に示すように、メッセージキューイング(MQ)システムは、MQサーバ1によって構成されている自システムと複数のMQサーバ2、3によって構成されクラスタ構成の他システムからなる。
自システムのMQサーバ1をノード1、他システムのMQサーバ2、3をノード2、3とする。
自システムのMQサーバ1は、複数のMQミドルウェア10、複数のキュー20、MQ監視ツール30、MQ監視対象テーブル31及びMQチャネル障害テーブル32を有する。
自システムのMQサーバ1と他システムのMQシステム2、3の間は送信チャネル41、43及び受信チャネル42、44によって接続されている。
MQ監視ツール30は、MQミドルウェア10、キュー20、送信チャネル41、43、及び、受信チャネル42、44を、監視対象として、MQ監視対象テーブル31に登録する。MQ監視ツール30は、MQ監視対象テーブル31から、監視対象であるMQミドルウェア10、キュー20、送信チャネル41、43、受信チャネル42、44を読み込み、障害が発生しているか否か常時監視する。MQ監視ツール30は、受信チャネル42、44及び送信チャネル41、43の1つに障害が発生したことを検知すると、障害が発生したチャネルをMQチャネル障害テーブル32に登録する。MQ監視ツール30は、監視対象テーブルに登録された送信チャネル及び受信チャネルとMQチャネル障害テーブルに登録された送信チャネル及び受信チャネルを比較することによって障害が発生していない送信チャネル又は受信チャネルの有無を判定する。
MQ監視ツール30は、次の4つの場合に自ノードのMQサーバ1を閉鎖する。
(1)MQミドルウェア10のうちの1つに障害が発生したとき。
(2)キュー20のうちの1つに障害が発生したとき。
(3)全ての受信チャネルに障害が発生したとき。
(4)全ての送信チャネルに障害が発生したとき。
(1)MQミドルウェア10のうちの1つに障害が発生したとき。
(2)キュー20のうちの1つに障害が発生したとき。
(3)全ての受信チャネルに障害が発生したとき。
(4)全ての送信チャネルに障害が発生したとき。
自ノードのMQサーバ1を閉鎖するときは、障害が発生していない全てのMQミドルウェア、受信チャネル及び送信チャネルを停止する。
本発明によると、次のような利点が得られる。
(1)自ノードのMQミドルウェア、キュー、送信チャネル及び受信チャネルを常時監視し、MQミドルウェア又はキューに障害が発生した場合に、自ノードのMQサーバを閉鎖する。
(2)他システムがクラスタ構成であり複数のノード2、3を有するとき、他システムの一部のノードに障害が発生し、そのノードと自ノードの間の送受信チャネルが切断された場合でも、障害が発生していないノードと自ノードの間の通信は確保される。
(1)自ノードのMQミドルウェア、キュー、送信チャネル及び受信チャネルを常時監視し、MQミドルウェア又はキューに障害が発生した場合に、自ノードのMQサーバを閉鎖する。
(2)他システムがクラスタ構成であり複数のノード2、3を有するとき、他システムの一部のノードに障害が発生し、そのノードと自ノードの間の送受信チャネルが切断された場合でも、障害が発生していないノードと自ノードの間の通信は確保される。
図2は、MQ監視対象テーブル31の構成例を示す。MQ監視対象テーブル31は、送信チャネル201、受信チャネル202、MQミドルウェア203、及び、キュー204の項目を含む。MQ監視対象テーブル31には、MQ監視ツール30による監視対象が登録される。MQ監視ツール30は、MQ監視対象テーブル31を読み込み、監視および閉鎖処理を行う。
図3は、MQチャネル障害テーブル32の構成例を示す。MQチャネル障害テーブル32は、送信チャネル301、及び、受信チャネル302の項目を含む。MQチャネル障害テーブル32には、障害が発生した送信チャネルまたは受信チャネルが登録される。
図4を参照して、MQ監視ツール30による処理のうち、MQミドルウェア、及び、キューを監視し、自ノードのMQサーバを閉鎖する処理を説明する。ステップ400にて、MQ監視ツール30によるMQ監視処理を開始する。ステップ401にて、障害が発生しているMQミドルウェアがあるか否かを判定する。
ステップ401にて、障害が発生しているMQミドルウェアがないと判定した場合には、ステップ402に進み、障害が発生しているキューがあるか否かを判定する。障害が発生しているキューがない場合にはステップ401に戻る。障害が発生しているキューがある場合にはステップ403に進み、全ての送受信チャネルを停止する。次にステップ404にて、全てのMQミドルウェアを停止し、ステップ407にて、MQ監視ツール30の処理を終了する。
ステップ401にて、障害が発生しているMQミドルウェアがあると判定した場合には、ステップ405にて、他の全てのMQミドルウェアを停止する。次にステップ406にて、全ての送受信チャネルを停止し、ステップ407にて、MQ監視ツール30の処理を終了する。
こうして本例では、MQミドルウェアとキューのうち1つでも障害が発生している場合には、他の全てのMQミドルウェアを停止し、自ノードのMQサーバを閉鎖する。障害が発生しているMQミドルウェア又はキューがない場合には、監視を継続する。
図5及び図6を参照して、MQ監視ツール30の処理方法のうち、送信チャネル及び受信チャネルを監視し、自ノードのMQサーバを閉鎖する処理を説明する。
ステップ500にて、MQ監視ツール30によるMQ監視処理を開始する。ステップ501を経由してステップ502に進む。ステップ502にて、MQ監視ツール30は、MQチャネル障害テーブル32に登録されている送信又は受信チャネルがあるか否かを判定する。MQチャネル障害テーブル32に登録されている送信又は受信チャネルがある場合には、ステップ503に進む。MQチャネル障害テーブル32に登録されているチャネルは障害が発生したが、既に、復旧している可能性がある。そこで、ステップ503にて、MQチャネル障害テーブル32に登録されているチャネルが復旧したか否かを判定する。この判定は、そのチャネルが接続されているか切断されているかを調べることによりなされる。接続されていれば、そのチャネルは復旧され、切断されていれば、そのチャネルは復旧されていない。そのチャネルが復旧している場合にはステップ504に進む。ステップ504にて、復旧しているチャネルを、MQチャネル障害テーブル32から削除し、ステップ600に進む。
こうして本例では、MQチャネル障害テーブル32は常に最新の情報によって更新されるから、MQチャネル障害テーブル32を読み出すことにより、障害が発生しているチャネルをリアルタイムにて検出することができる。
ステップ502にて、MQチャネル障害テーブル32に登録されている送信又は受信チャネルがないと判定した場合、及び、ステップ503にて、MQチャネル障害テーブル32に登録されているチャネルが復旧していないと判定した場合、そのままステップ600に進む。
図6を参照して説明する。ステップ600を経由してステップ601に進む。ステップ601にて、MQ監視ツール30は、障害が発生している送信チャネル、又は、受信チャネルがあるか否かを判定する。この判定は、ステップ503の場合と同様、送信及び受信チャネルがそれぞれ接続されているか切断されているかを調べることによりなされる。
障害が発生しているチャネルがない場合には、ステップ501を経由して、図5の処理に戻る。障害が発生しているチャネルがある場合には、ステップ602に進み、障害が発生しているチャネルがMQチャネル障害テーブル32に登録されているか否かを判定する。登録されていない場合は、ステップ603にて、そのチャネルをMQチャネル障害テーブル32に登録する。
次に、ステップ604にて、起動している送信チャネルがあるか否かを判定する。この判定は、MQチャネル障害テーブル32に登録されている送信チャネルとMQ監視対象テーブル31に登録している送信チャネルを比較することにより行う。MQ監視対象テーブル31に登録されている全ての送信チャネルが、MQチャネル障害テーブル32に登録されている場合には、全ての送信チャネルは停止している。MQ監視対象テーブル31に登録されている送信チャネルのうち、MQチャネル障害テーブル32に登録されていないものがある場合には、その送信チャネルは起動している。
ステップ604にて、起動している送信チャネルがないと判定された場合には、ステップ607に進む。ステップ607にて、起動している受信チャネルがあるか否かを判定する。この判定は、MQチャネル障害テーブル32に登録されている受信チャネルとMQ監視対象テーブル31に登録している受信チャネルを比較することにより行う。MQ監視対象テーブル31に登録されている全ての受信チャネルが、MQチャネル障害テーブル32に登録されている場合には、全ての受信チャネルは停止している。MQ監視対象テーブル31に登録されている受信チャネルのうち、MQチャネル障害テーブル32に登録されていないものがある場合には、その受信チャネルは起動している。
起動している受信チャネルがある場合には、ステップ608に進む。ステップ608にて起動している受信チャネルを停止し、ステップ609に進む。起動している受信チャネルがない場合には、そのままステップ609に進む。
ステップ604にて、起動している送信チャネルがあると判定された場合には、ステップ605に進む。ステップ605にて、起動している受信チャネルがあるか否かを判定する。ステップ605の処理はステップ607の処理と同様である。
ステップ605にて、起動している受信チャネルがあると判定された場合には、ステップ501を経由して、図5の処理に戻る。ステップ605にて、起動している受信チャネルがないと判定された場合には、ステップステップ606にて、起動している送信チャネルを停止し、ステップ609に進む。
ステップ609にて、全てのMQミドルウェアを停止する。ステップ610にて、MQチャネル障害テーブル32に登録されている全ての送信チャネル及び受信チャネルを削除し、ステップ611にて、MQ監視ツール30の処理を終了する。
こうして本例では、全ての送信チャネルに障害が発生している場合及び全ての受信チャネルに障害が発生している場合に、自ノードのMQサーバを閉鎖する。
以上、本発明の例を説明したが本発明は上述の例に限定されるものではなく、特許請求の範囲に記載された発明の範囲にて様々な変更が可能であることは当業者に容易に理解されよう。
1…自システムのMQサーバ、2,3…他システムのMQサーバ、10…MQミドルウェア、20…キュー、41、43…送信チャネル、42、44…受信チャネル、30…Q監視ツール、31…MQ監視対象テーブル、32…MQチャネル障害テーブル
Claims (6)
- メッセージを保存するメッセージキューと、該メッセージキューを利用して他のメッセージキューイングシステムとの間でメッセージの送受信を行うミドルウエアと、他のメッセージキューイングシステムに接続された送信チャネル及び受信チャネルと、を有するメッセージキューイングサーバにおいて、
上記メッセージキュー、上記ミドルウエア、上記送信チャネル及び上記受信チャネルを監視し、上記メッセージキューと上記ミドルウエアの少なくとも1つに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止する監視ツールを設けたことを特徴とするメッセージキューイングサーバ。 - 請求項1記載のメッセージキューイングサーバにおいて、上記監視ツールは、全ての受信チャネル又は全ての送信チャネルに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止することを特徴とするメッセージキューイングサーバ。
- 請求項1記載のメッセージキューイングサーバにおいて、上記監視ツールによる監視対象である上記メッセージキュー、上記ミドルウエア、上記送信チャネル及び上記受信チャネルを登録する監視対象テーブルを有し、上記監視ツールは該監視対象テーブルに登録されたメッセージキュー、ミドルウエア、送信チャネル及び受信チャネルを常時監視することを特徴とするメッセージキューイングサーバ。
- 請求項3記載のメッセージキューイングサーバにおいて、障害が発生した送信チャネル及び受信チャネルを登録するチャネル障害テーブルを有し、上記監視ツールは上記監視対象テーブルに登録された送信チャネル及び受信チャネルと上記チャネル障害テーブルに登録された送信チャネル及び受信チャネルを比較することによって障害が発生していない送信チャネル又は受信チャネルの有無を判定することを特徴とするメッセージキューイングサーバ。
- メッセージを保存するメッセージキューを監視することと、該メッセージキューを利用して他のメッセージキューイングサーバとの間でメッセージの送受信を行うミドルウエアを監視することと、他のメッセージキューイングサーバに接続された送信チャネル及び受信チャネルを監視することと、上記メッセージキューと上記ミドルウエアの少なくとも1つに障害が発生したとき、全てのミドルウエア、全ての送信チャネル及び全ての受信チャネルを停止することを特徴とするメッセージキューイングサーバの監視方法。
- 請求項5記載のメッセージキューイングサーバの監視方法において、全ての受信チャネル又は全ての送信チャネルに障害が発生したとき、全てのミドルウエアを停止し、全ての送信チャネル及び全ての受信チャネルを停止することを特徴とするメッセージキューイングサーバの監視方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005322986A JP2007133453A (ja) | 2005-11-08 | 2005-11-08 | メッセージキューイングサーバ及びその監視方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005322986A JP2007133453A (ja) | 2005-11-08 | 2005-11-08 | メッセージキューイングサーバ及びその監視方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007133453A true JP2007133453A (ja) | 2007-05-31 |
Family
ID=38155093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005322986A Pending JP2007133453A (ja) | 2005-11-08 | 2005-11-08 | メッセージキューイングサーバ及びその監視方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007133453A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012088770A (ja) * | 2010-10-15 | 2012-05-10 | Nautilus Technologies Inc | コンピュータリソース制御システム |
CN107133302A (zh) * | 2017-04-28 | 2017-09-05 | 努比亚技术有限公司 | 实现数据一致性的方法、系统、终端及计算机可读存储介质 |
-
2005
- 2005-11-08 JP JP2005322986A patent/JP2007133453A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012088770A (ja) * | 2010-10-15 | 2012-05-10 | Nautilus Technologies Inc | コンピュータリソース制御システム |
CN107133302A (zh) * | 2017-04-28 | 2017-09-05 | 努比亚技术有限公司 | 实现数据一致性的方法、系统、终端及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5128111B2 (ja) | メッセージに関連付けられた順序を保存するためのシステム、並びに、その方法及びコンピュータ・プログラム | |
US7739391B2 (en) | Gateway for wireless mobile clients | |
US6282669B1 (en) | Ethernet communication redundancy method | |
US6594776B1 (en) | Mechanism to clear MAC address from Ethernet switch address table to enable network link fail-over across two network segments | |
US7623472B2 (en) | Dynamic peer application discovery | |
EP1987657B1 (en) | Scalable wireless messaging system | |
US8051321B2 (en) | Cluster system and node switching method | |
CA2356633A1 (en) | Coordinating persistent status information with multiple file servers | |
US20130205017A1 (en) | Computer failure monitoring method and device | |
US8335843B2 (en) | Communication system having multiple communication lines between a transmitter and a receiver | |
CN116886497A (zh) | 基于dpu的服务网格业务集中代理切换方法及处理系统 | |
JP2007133453A (ja) | メッセージキューイングサーバ及びその監視方法 | |
KR101301447B1 (ko) | 독립적인 메시지 저장소 및 메시지 전송 에이전트 | |
JP4954420B2 (ja) | 通信システム | |
EP3710929B1 (en) | Optimized reconciliation in a controller switch network | |
JP2004007930A (ja) | 電力系統監視制御システムおよびプログラム | |
JP4863984B2 (ja) | 監視処理プログラム、方法及び装置 | |
JP2008287632A (ja) | 制御装置復帰システム | |
JP2021047801A (ja) | 異常判定装置、異常判定方法およびプログラム | |
JP2006031491A (ja) | アプリケーション間連携システム | |
JP4573156B2 (ja) | データ収集システム | |
CN104796228B (zh) | 一种信息传输的方法、装置及系统 | |
CN115065649B (zh) | 业务报文转发方式的确定方法、装置、设备及存储介质 | |
KR100849596B1 (ko) | 통합 sms 가입자 정보 관리 시스템 및 방법 | |
KR20170131001A (ko) | 메시지분산 서비스 환경에서의 운영 서버 제어 시스템 |