JP5707355B2 - Hot-standby client-server system - Google Patents
Hot-standby client-server system Download PDFInfo
- Publication number
- JP5707355B2 JP5707355B2 JP2012056245A JP2012056245A JP5707355B2 JP 5707355 B2 JP5707355 B2 JP 5707355B2 JP 2012056245 A JP2012056245 A JP 2012056245A JP 2012056245 A JP2012056245 A JP 2012056245A JP 5707355 B2 JP5707355 B2 JP 5707355B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- business
- heartbeat
- master
- client terminal
- 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
- 238000012544 monitoring process Methods 0.000 claims description 109
- 238000000034 method Methods 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 61
- 238000001514 detection method Methods 0.000 claims description 21
- 238000012546 transfer Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 31
- 230000004044 response Effects 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 23
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005316 response function Methods 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 101100460719 Mus musculus Noto gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Description
本発明の実施形態は、情報システムの信頼性向上技術であって、ホットスタンバイ構成によるクライアントサーバシステムに関する。 Embodiments described herein relate to a technology for improving the reliability of an information system, and relate to a client server system having a hot standby configuration.
クライアントサーバシステムにおける従来のホットスタンバイ方法として、スレーブシステム(クライアント端末)がマスタシステム(稼働系サーバ)とスタンバイシステム(待機系サーバ)に対して各々に同一のデータを出力し、稼働系サーバがクライアント端末に対してデータにインデックスを付けて応答するものが知られている(例えば特許文献1)。このシステムでは、待機系サーバも稼働系サーバと同様のインデックスを付けたデータをバッファに書き込み、稼働系サーバがダウンした際は、クライアント端末より受け取るダウン直前のインデックスを元にそれ以降のデータを待機系サーバに応答する方式となっていた。 As a conventional hot standby method in the client server system, the slave system (client terminal) outputs the same data to the master system (active server) and the standby system (standby server) respectively, and the active server is the client. A device that responds by attaching an index to data is known (for example, Patent Document 1). In this system, the standby server also writes data with the same index as the active server to the buffer, and when the active server goes down, it waits for subsequent data based on the index just before the down received from the client terminal It was a method to respond to the system server.
各系サーバによる業務の2重処理を防止し、応答レスポンス特性の向上が図られたホットスタンバイ方式のクライアントサーバシステムを提供する。 Provided is a hot standby type client server system which prevents double processing of business by each server and improves response response characteristics.
実施形態の一側面は、クライアント端末とネットワーク経由で通信可能な主系サーバ及び従系サーバを含み、片系に障害が発生すると他系のサーバを主従系サーバとして動作させるホットスタンバイ方式のクライアントサーバシステムであって、主系サーバは、クライアント端末のリクエストを受信及び処理し、該処理データを従系サーバに送信し、従系サーバは、受信された処理データをクライアント端末に転送し、各サーバは、他系サーバとハートビートを送受信し、他系の状態を検出するハートビート監視部と、業務アプリケーションの稼働時に業務ハートビートを送受信し、他系の業務アプリケーションの状態を検出する業務ハートビート監視部と、ハートビート監視部及び業務ハートビート監視部の検出結果に基づいて、自サーバを、リクエストの受信及び処理、処理データのクライアント端末への送信を行う主従系サーバとして動作するように切り替える切り替え部と、を備える。 One aspect of the embodiment includes a hot standby type client server that includes a master server and a slave server that can communicate with a client terminal via a network, and that causes another server to operate as the master slave server when a failure occurs in one system In the system, the primary server receives and processes the request of the client terminal, transmits the processing data to the slave server, and the slave server transfers the received processing data to the client terminal. The heartbeat monitoring unit that sends and receives heartbeats with other servers and detects the status of other systems, and the business heartbeat that sends and receives business heartbeats when business applications are running and detects the status of other business applications Based on the detection results of the monitoring unit, the heartbeat monitoring unit, and the business heartbeat monitoring unit , And a switching unit for switching to act as master-slave system server for transmitting the reception and processing of the request, processing the data to the client terminal.
以下、実施形態のホットスタンバイ方式のクライアントサーバシステムの概要を説明する。 The outline of the hot standby type client server system of the embodiment will be described below.
上述した従来のホットスタンバイ方式は、マスタシステムとスタンバイシステムが非同期であることから、マスタシステム(稼働系サーバ)とスタンバイシステム(待機系サーバ)でデータとインデックスが合致している保証がないものであった。 In the conventional hot standby method described above, since the master system and the standby system are asynchronous, there is no guarantee that the data and the index match between the master system (active server) and the standby system (standby server). there were.
他方、従来の他のホットスタンバイ方式として、2台ペアのサーバで主系・従系を構成し、主系サーバがクライアント端末より受信したデータを従系サーバに同期させた後に、主系サーバからクライアント応答を送信することで主系・従系のデータを保証するシステムがあり、このようなシステムでは、主系・従系の監視方法として、各サーバがハートビートを送受信することで実現していた。 On the other hand, as another conventional hot standby method, a master / slave system is configured with two pairs of servers, and after the master server synchronizes the data received from the client terminal with the slave server, There is a system that guarantees master / slave data by sending a client response. In such a system, each server can send and receive heartbeats as a monitoring method for the master / slave. It was.
しかしながら、このようなシステムでは、クライアント端末から受信したデータを従系に同期させた後に主系でクライアント応答を送信していた、すなわちデータの流れがクライアント端末⇒主系サーバ⇒従系サーバ⇒主系サーバ⇒クライアント端末であったことから、応答レスポンスが遅いという技術的課題があった。また、このようなシステムでは、ハートビートの機能に障害が発生した場合、他系の生存監視が不能となり、本来不要なサーバ切り替え処理によって両系のサーバで主系業務を実行してしまう可能性があるという技術的課題があった。さらに、このようなシステムでは、片系のサーバに起動障害が生じた場合には他系のサーバが主従系として稼働するため、その後に主系・従系で起動させるには、主従系として動作しているサーバを一旦停止させる必要があり、復旧作業が繁雑になるという技術的課題もあった。 However, in such a system, after the data received from the client terminal is synchronized with the slave, the client response is transmitted on the master, that is, the data flow is from the client terminal ⇒ master server ⇒ slave server ⇒ master. Since the system server ⇒ client terminal, there was a technical problem that response response was slow. In addition, in such a system, if a failure occurs in the heartbeat function, it is impossible to monitor the survival of the other system, and the primary task may be executed on both servers due to server switching processing that is essentially unnecessary. There was a technical problem that there was. In addition, in such a system, if a startup failure occurs on one server, the other server will operate as the master / slave system. There is also a technical problem that it is necessary to temporarily stop the server being used, and that the recovery work becomes complicated.
本願では上述の課題を解決するため、以下のような構成とする。すなわち、通常(正常)状態では主系サーバでクライアント端末からの要求(リクエスト電文)を受信及び処理し、処理データを従系サーバに転送した後に従系サーバからクライアント応答をするシステムとする。これにより、データの流れ(データ経路)がクライアント端末⇒主系サーバ⇒従系サーバ⇒クライアント端末となるため、応答レスポンスの向上を図ることが可能となる。ここで、クライアント応答を従系サーバで行うことにより、データ経路の観点のみならず、負荷分散の観点から主系サーバの負荷が軽減されるため、システム全体での応答性が向上する。この負荷分散の観点からは、さらに、処理データをデータベースに保存する場合に、かかる保存の処理を従系サーバで行う構成とすることが好ましい。 In this application, in order to solve the above-described problem, the following configuration is adopted. That is, in a normal (normal) state, the master server receives and processes a request (request message) from the client terminal, transfers the processing data to the slave server, and then makes a client response from the slave server. As a result, the data flow (data path) is changed from client terminal ⇒ master server ⇒ slave server ⇒ client terminal, so that the response response can be improved. Here, by performing the client response on the slave server, the load on the primary server is reduced not only from the viewpoint of the data path but also from the viewpoint of load distribution, so that the responsiveness of the entire system is improved. From the viewpoint of load distribution, it is preferable that the storage server performs the storage process when the process data is stored in the database.
また、本願では、監視プロセスによる従来のハートビートに加え、業務プロセス自身がハートビート(以下、区別のため「業務ハートビート」と称する)を出力することで、他系の業務状態を監視する。これにより、他系の業務状態を判定した上で主従系サーバへの切り替えの判断をすることができるようになり、主系業務の2重処理を防止することが可能となる。 In this application, in addition to the conventional heartbeat by the monitoring process, the business process itself outputs a heartbeat (hereinafter referred to as “business heartbeat” for distinction), thereby monitoring the business status of the other system. As a result, it is possible to determine the switching to the master-slave server after determining the business status of the other system, and it is possible to prevent double processing of the primary business.
さらに、本願では、サーバ起動後に任意の手段でハートビート監視を開始させる構成とする。これにより、ハートビート監視前の障害(起動障害など)の発生時に他系サーバの稼働状況を気にすることなくサーバ再起動等の復旧作業を実施できるようになる。 Furthermore, in this application, it is set as the structure which starts heartbeat monitoring by arbitrary means after server starting. As a result, when a failure (such as a startup failure) before heartbeat monitoring occurs, recovery work such as server restart can be performed without worrying about the operating status of the other server.
以下、ホットスタンバイ方式のクライアントサーバシステムのより具体的な構成を、図面を参照して説明する。 Hereinafter, a more specific configuration of the hot standby type client-server system will be described with reference to the drawings.
(基本ブロック構成)
図1は、第1実施形態によるホットスタンバイ方式によるクライアントサーバシステムのブロック図である。本実施形態のクライアントサーバシステムは、クライアント端末40とネットワーク100経由で通信可能な主系サーバ及び従系サーバを含み、いずれかの系に障害が発生すると他系のサーバを主従系として動作させるホットスタンバイ方式のクライアントサーバシステムであり、図1では簡明のため、サーバ1及びサーバ2の2台のサーバで主系・従系を構成する例を示している。
(Basic block configuration)
FIG. 1 is a block diagram of a client server system based on a hot standby system according to the first embodiment. The client server system of the present embodiment includes a master server and a slave server that can communicate with the
サーバ1及びサーバ2は、ネットワーク100を介してクライアント端末40に接続される。なお、各サーバ1,2とクライアント端末40との接続は、図示しないルータ等を介して行うこともできる。また、ネットワーク100は、インターネット網、あるいは種々の専用通信網を使用することができる。
The
サーバ1及びサーバ2は、相互に同一の業務アプリケーションが格納(インストール)されており、かかる業務アプリケーションに基づいて、相互に同じ機能(業務)を遂行することができる。但し、起動時及び通常(正常)時にはいずれか一方がクライアント端末40からのリクエストを受信し処理する主系サーバ、他方が主系サーバの処理結果のデータをクライアント端末40に転送しデータベース3に保存する従系サーバとして機能する。
The
より具体的には、主系サーバは、業務アプリケーションにアクセスするクライアント端末40からの要求メッセージ(以下「リクエスト電文」とも称する)を受信して当該リクエスト内容を自サーバ(以下、自ノードともいう)の業務アプリケーションで処理し、リクエスト電文及び処理結果のデータを従系サーバに転送することで、これらデータを従系サーバに同期させ、さらに、従系サーバが主系サーバでの処理結果のデータをクライアント端末40に転送することでクライアント応答を行い、クライアント端末40に対してデータサービスを提供する。また、従系サーバは、かかる一連の処理結果をデータベース3に保存する。
More specifically, the primary server receives a request message (hereinafter also referred to as “request message”) from the
データベース3に保存されたデータは、両系サーバダウン時のデータ復旧、業務内容の証跡、クライアント端末側とサーバ側とのリコンサイルに使用される。
The data stored in the
また、本システムでは、片系のサーバ(すなわち主系又は従系サーバ)の業務に障害が発生した場合、他系(従系又は主系)のサーバが主従系サーバとして動作するように切り替える処理を行う。すなわち、主従系サーバとは、片系の障害時に縮退モードで業務を遂行する他系のサーバであり、上述したクライアント端末40からのリクエストの受信、当該リクエスト内容の業務アプリケーションでの処理、当該処理結果をクライアント端末40に転送する処理、かかる一連の処理結果をデータベース3に保存する業務を行うサーバである(図3及び図4参照)。本実施形態では、障害の無い他系のサーバが自ノードの業務アプリケーションの設定を変更する(設定テーブルを書き換える)ことで自ノード(自サーバ)を主従系サーバに切り替えるようになっており、この詳細については後述する。
Also, in this system, when a failure occurs in the business of one server (that is, the primary or secondary server), a process for switching the other system (secondary or primary) server to operate as the primary and secondary server. I do. In other words, the master-slave server is a server of another system that performs business in the degraded mode when a failure occurs in one system, and receives the request from the
本実施形態では、クライアント端末40、サーバ1及びサーバ2間の通信は、パブリッシュ・サブスクライブのアーキテクチャーを使用してデータの送受信を行う。このため、クライアント端末40は、通信先を意識せずにデータを送信することが出来、サーバ切り替えにより通信先を変更する処理をクライアント端末40側で行う必要がなくなる。
In the present embodiment, communication between the
以下は、特に断りがない限り、初期設定でサーバ1が主系サーバ、サーバ2が従系サーバとしてそれぞれ稼働するように設定された場合を説明する。また、図面では、ハートビートを「HB」と、アプリケーションを「AP」と略記している。
The following describes a case where the
サーバ1は、ハートビート監視部11、業務アプリケーション制御部12、業務アプリケーション切り替え部13、記憶部14を有している。ここで、業務アプリケーション制御部12は、監視部121と通信部122とを有する。サーバ2も同様に、ハートビート監視部21、業務アプリケーション制御部22、業務アプリケーション切り替え部23、記憶部24を有しており、この内の業務アプリケーション制御部22は、監視部221と通信部222とを有する。記憶部14及び記憶部24には、上述したパブリッシュ・サブスクライブのアーキテクチャーに関する設定テーブルが格納され(図8乃至図10参照)、かかる設定テーブルの詳細については後述する。
The
図1から分かるように、サーバ1とサーバ2では各部の機能が共通するため、以下は主にサーバ1の機能を中心に説明し、サーバ2の各部の説明は適宜省略する。
As can be seen from FIG. 1, since the functions of each unit are common between the
ハートビート監視部11は、自ノードのハートビートを予め設定した周期毎に他系サーバのハートビート監視部21に送信し、かつ、ハートビート監視部21からのハートビートを受信して当該ハートビートが予め設定した周期毎に送られてくるかを監視する。さらに、本実施形態では、自ノードの業務アプリケーションに関するステータス情報をハートビートに含ませるようになっており、これについては後述する。ハートビート監視部11及びハートビート監視部21間でのハートビートの送受信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。
The
業務アプリケーション制御部12は、業務アプリケーションの実行に伴う各種処理を行うものであり、自ノードの系(すなわち主系/従系/主従系)により異なる業務(業務プロセス)を遂行する。業務アプリケーション制御部12は、監視部121及び通信部122を含む。この内、監視部121は、上述したハートビートとは別個の業務ハートビートを他系サーバとの間で送受信する。
The business
より具体的には、監視部121は、自ノードの業務アプリケーションが起動すると、予め設定された周期毎に、業務アプリケーションが活性していることを通知する電文(業務ハートビート電文)を他系サーバの監視部221に繰り返し送信する。また、監視部121は、他系の監視部221からの業務ハートビート電文を予め設定された周期毎に受信して、他系の業務アプリケーションの死活を監視する。ここで、監視部121は、他系サーバの監視部221からの業務ハートビート電文を所定時間受信しなくなると、他系の業務ハートビートが途絶されたものとして業務アプリケーション切り替え部13に通知する。なお、監視部121及び監視部221間での業務ハートビート電文の送受信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。
More specifically, when the business application of the own node is started, the
図1に示すように、業務ハートビートとハートビートとは相互に別個に送受信される。すなわち、業務ハートビートは業務アプリケーションの業務プロセスの一部として業務ハートビート監視部である監視部121及び221間で送受信され、ハートビートは監視プロセスの機能としてハートビート監視部11及び21間で送受信される。このため、送信周期や送信タイミングなどを業務ハートビートとハートビートとで別個に設定することもできる。これにより、誤検知による誤動作を防止する。
As shown in FIG. 1, the business heartbeat and the heartbeat are transmitted and received separately from each other. That is, the business heartbeat is transmitted / received between the monitoring
さらに、監視部121は、自ノードの業務アプリケーションの状態を検出し、かかる検出結果の情報をハートビート監視部11に提供する。本実施形態では、監視部121は、業務アプリケーションが起動中の場合、稼働中の場合、及び自系業務に障害が発生して業務アプリケーションを停止させた場合に、各々その旨の検出情報をハートビート監視部11に渡す。業務アプリケーションの状態の検出において、監視部121は、自系の業務に該当する業務アプリケーションのプロセスに動作確認の確認信号を送信し、業務アプリケーションからの応答信号の有無により、自系の業務の障害の有無を検出する。
Furthermore, the
通信部122は、他系サーバの通信部222と通信し、ネットワーク100経由でクライアント端末40と通信する。また、外部記憶装置(データベース3)へのデータ保存の処理も通信部122を介して行う。ここで、通信部122及び222間での通信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。通信部122は、自ノードの系(主系/従系/主従系)により以下のように異なった機能すなわち業務を遂行する。
The
すなわち、自ノードが主系サーバである場合、通信部122は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を受信して自ノードの業務アプリケーションに提供し、当該リクエストが業務アプリケーションで処理されると、処理されたデータをリクエスト電文とともに従系サーバに送信する。
That is, when the local node is a primary server, the
一方、自ノードが従系サーバである場合、通信部122は、主系サーバ(サーバ2)の業務アプリケーションで処理されたデータを通信部222から受信し、かかるデータをネットワーク100を介してクライアント端末40に送信してリクエストに対する応答を行い、さらに、かかる一連の処理結果を同期済みデータとしてデータベース3に保存する処理を行う。
On the other hand, when the own node is a slave server, the
さらに、自ノードが主従系サーバである場合、通信部122は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を受信して自ノードの業務アプリケーションに提供し、当該リクエストが業務アプリケーションで処理されると、処理されたデータをネットワーク100を介してクライアント端末40に送信してリクエストに対する応答を行い、さらに、かかる一連の処理結果のデータをデータベース3に保存する処理を行う(図3及び図4参照)。
Further, when the own node is a master-slave server, the
次に、ハートビート監視部の機能を詳細に説明する。ハートビート監視部11は、業務アプリケーション制御部12の監視部121から上述した業務アプリケーションについての検出情報を取得すると、ハートビートを、当該検出情報に対応するステータス情報を含めたメッセージ(以下「ハートビート電文」と称する)の形態で、所定周期毎に他系のハートビート監視部21に送信する。
Next, the function of the heartbeat monitoring unit will be described in detail. When the
また、ハートビート監視部11は、他系サーバのハートビート監視部21からのハートビート電文を受信すると、当該電文に含まれたステータス情報を業務アプリケーション切り替え部13に通知する。さらに、ハートビート監視部11は、他系サーバのハートビート監視部21からのハートビート電文を所定時間受信しなくなると、他系のハートビートが途絶されたものとして、業務アプリケーション切り替え部13にハートビートの途絶を通知する。
When the
本システムでは、ハートビート電文に含まれる業務アプリケーションのステータス情報として、起動中に対応する「STARTING」、稼働中に対応する「READY」、業務アプリケーションの停止に対応する「ShutDown」のいずれかが含まれる(図5参照)。 In this system, the status information of the business application included in the heartbeat message includes any one of “STARTING” corresponding to activation, “READY” corresponding to operation, and “ShutDown” corresponding to suspension of the business application. (See FIG. 5).
業務アプリケーション切り替え部13は、ハートビート監視部11及び監視部121の検出結果に基づいて、自ノード(自サーバ)を上述した主従系サーバに切り替える処理を行う。すなわち、業務アプリケーション切り替え部13は、ハートビート監視部11の検出結果と監視部121の検出結果の組合せから、他系(従系又は主系)サーバの業務に障害が発生したか否かを判定し、障害発生したと判定された場合に自ノードが主従系サーバとして動作するように切り替える処理を行う。より詳細には、業務アプリケーション切り替え部13は、ハートビート監視部11で他系サーバの障害が検出されると、監視部121の検出結果をチェックし、業務ハートビート電文の受信が途絶している場合に、自ノードを主従系サーバに切り替える処理を行う。
The business
(基本動作)
以下、初期設定でサーバ1を主系、サーバ2を従系として稼働させる場合の本システムの基本動作について、フローチャートを参照しながら説明する。なお、図6及び図7のフローチャートでは、主系及び従系サーバに共通する処理を示している。
(basic action)
Hereinafter, the basic operation of this system when the
本システムでは主系及び従系サーバは各々単独で起動され、個々のサーバの電源投入により、サーバ1及び2内の業務アプリケーションがそれぞれ起動する。電源投入時の起動処理において、各サーバ1のハートビート監視部11は、監視部121の検出情報に基づいて、自ノードの業務状態を示すステータス情報「STARTING」を含むハートビート電文を所定周期で他系のサーバ2に送信する(ステップS1)。ステップS2で、ハートビート監視部11は、監視部121からの検出情報に基づいて、業務アプリケーションの起動処理が完了したかをチェックし、稼働中(すなわち自ノード配下の全プロセスの起動が完了した旨)を監視部121から通知されると(ステップS2でYES)、ハートビート電文中に含めるステータス情報を「READY」に変更する(ステップS3)。
In this system, the master server and the slave server are each activated independently, and the business applications in the
また、サーバ1で業務アプリケーションが起動されると、業務アプリケーション制御部11は、監視部121から業務ハートビート電文の送信を開始する。これにより、監視部121から他系サーバの監視部221に業務ハートビート電文が所定周期で繰り返し伝送される。以上の動作は、従系であるサーバ2でも同様に行われる。
When the business application is activated on the
以後、主系であるサーバ1は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を通信部122で受信し、当該リクエスト内容を自ノードの業務アプリケーション(業務アプリケーション制御部12)で処理し、リクエスト電文及び処理結果のデータを通信部122から従系であるサーバ2に転送する。そして、従系サーバ2の業務アプリケーション制御部22は、リクエスト電文及び処理結果のデータを通信部222で受信すると、かかる処理結果のデータを通信部222からネットワーク100を介してクライアント端末40にリクエスト応答として転送することで、クライアント端末40に対してデータサービスを提供する。さらに、従系サーバ2の業務アプリケーション制御部22は、要求メッセージを含めた一連の処理結果のデータを、通信部222経由でデータベース3に保存する。以上の動作は、クライアント端末40からリクエスト電文が送信される毎に行われる。
Thereafter, the
このように、本実施形態のシステムでは、従来システムのように従系サーバから主系サーバにデータ同期を通知する応答を返した後に主系サーバからクライアント端末にリクエスト応答する構成とはせずに、主系サーバで処理したデータを受信した従系サーバが直接クライアント端末にリクエスト応答する構成としたので、リクエスト電文の受信からクライアント端末への応答までの時間を短縮することが可能となり、レスポンス性の向上が図られる。 As described above, the system according to this embodiment does not have a configuration in which a request response is sent from the main server to the client terminal after returning a response to notify the data synchronization from the subordinate server to the main server as in the conventional system. Since the slave server that has received the data processed by the primary server directly sends a request response to the client terminal, it is possible to shorten the time from the reception of the request message to the response to the client terminal. Is improved.
(業務アプリケーションに障害が発生した場合)
上述の通常処理を行う間、業務アプリケーション制御部12及びハートビート監視部11は、自ノードの監視部121の検出結果に基づいて、自ノードの業務処理に障害が発生したかを監視する(ステップS4)。監視部121から障害発生が検出されると、業務アプリケーション制御部12は、自ノードの業務アプリケーションの各プロセスを停止させる処理を行う(ステップS5)。かかる処理が完了すると、監視部121は、業務アプリケーションの停止を検出し、かかる検出情報をハートビート監視部11に提供する。この検出情報を取得したハートビート監視部11は、ハートビート電文中に含めるステータス情報を「ShutDown」に変更する(ステップS6)。ここで、業務アプリケーションの各プロセスが完全に停止すると、監視部121から業務ハートビート電文が送信されなくなるため、他系サーバでの業務ハートビート電文の受信が途絶される。
(When a failure occurs in a business application)
During the normal processing described above, the business
以上の処理は、他ノードであるサーバ2でも同様に行われる。但し、主系であるサーバ1と従系であるサーバ2では、業務処理の内容が異なるので、自ノードの業務アプリケーションの状態を検出する際の監視部121及び221間での障害検出の対象は、相互に異なるものとなる。
The above processing is similarly performed in the
(業務アプリケーション切り替え部の処理)
次に、図7を参照して業務アプリケーション切り替え部が行う処理について詳述する。ここでは従系であるサーバ2の業務アプリケーション切り替え部23を中心に説明する。
(Processing of the business application switching unit)
Next, processing performed by the business application switching unit will be described in detail with reference to FIG. Here, the business
サーバ2の業務アプリケーション切り替え部23は、ハートビート監視部21でのハートビート電文の受信が途絶されたか(ステップS11)及びハートビート電文のステータス情報が「ShutDown」であるか(ステップS12)をチェックする。ここで、業務アプリケーション切り替え部23は、ハートビート電文中のステータス情報が「READY」であればステップS11及びS12を繰り返し、ハートビート監視部21で「ShutDown」のハートビート電文を受信した場合、或いはハートビート監視部21でハートビート電文を受信できなくなった場合に、ステップS13に移行して警告の処理を行う。この警告処理は、他ノードで異常が発生した旨を自ノードの表示画面に表示する処理である。続いて、業務アプリケーション切り替え部23は、監視部221で業務ハートビート電文が受信されているか否か(ステップS14)により他系の業務状態を判定した上で、主従系サーバへの切り替えを行うか否かを判断する。
The business
すなわち、業務アプリケーション切り替え部23は、他系サーバからの業務ハートビート電文が受信できない「途絶」状態となった場合(ステップS14でYES)に、他系(この場合は主系)サーバ1の業務に障害ありとみなし、自ノードを主従系サーバとするように切り替える処理を行う(ステップS15)。他方、業務ハートビート電文が監視部221で受信できている場合(ステップS14でNO)には、業務アプリケーション切り替え部23は、ステップS11乃至ステップS13の処理を繰り返す。
In other words, when the business
ハートビート電文に含まれるステータス情報と業務ハートビート電文の受信状態の組合せから業務アプリケーション切り替え部23が判定する内容についてのマトリクス表を図5に示す。本システムでは、ハートビート電文と業務ハートビート電文の両方が途絶状態になった場合、あるいはハートビート電文に含まれるステータス情報が「ShutDown」で業務ハートビート電文が途絶状態である場合に主従系サーバへの切り替えを行うことが分かる。
FIG. 5 shows a matrix table of contents determined by the business
したがって、ハートビート電文中のステータス情報が「ShutDown」であっても業務ハートビート電文が受信されている場合は、業務アプリケーション切り替え部23は、他ノードの業務アプリケーションに障害なしとみなして、ステップS13でハートビート電文のステータス表示にエラーがある旨の警告表示を行う。これに対して、単に他系サーバでの業務ハートビート電文送信プロセスの停止が遅れているだけの場合(すなわちShutDownが先行してしまったような場合)には、業務アプリケーション切り替え部23は、ステップS11乃至ステップS14の判定を継続していれば業務ハートビート受信の途絶を判定できるので、このような場合にはステップS15に移行する。
Therefore, when the business heartbeat message is received even if the status information in the heartbeat message is “ShutDown”, the business
本システムでは、このように、監視プロセスのハートビートとは別個に、業務プロセス自身(換言すると業務アプリケーション自ら)が所定周期でハートビートを繰り返し出力する構成としていることから、業務アプリケーションの死活状態を他系サーバで正確に検出することが可能となり、また、他ノードの業務アプリケーションの停止時に主従系サーバへの切り替えを速やかに行うことができるようになる。 In this system, the business process itself (in other words, the business application itself) outputs the heartbeat repeatedly at a predetermined cycle separately from the heartbeat of the monitoring process as described above. It becomes possible to detect accurately by the other server, and it becomes possible to quickly switch to the master / slave server when the business application of the other node is stopped.
また、本システムでは、業務アプリケーションの状態がステータス情報としてハートビート電文中に含まれるため、かかるステータス情報によって業務アプリケーションの停止が通知される(ステップS12)かハートビート電文自体が途絶された場合(ステップS11)にのみ、業務ハートビート電文の受信状態をチェックする構成としている(ステップS14)。このため、業務アプリケーション切り替え部23は、業務ハートビート電文の受信が途絶状態となってもハートビート電文中のステータス情報が「READY」である場合には、他ノードの業務自体には障害なしとみなしてステップS15の切り替え処理を行わないが、業務ハートビート電文が受信できていない旨の警告表示の処理を行うようにする(図5参照)。この場合、典型的には自ノードの業務ハートビート電文の受信機能に異常が生じたことが考えられる。
Further, in this system, since the status of the business application is included as status information in the heartbeat message, the status application notifies the stop of the business application (step S12) or the heartbeat message itself is interrupted ( Only in step S11), the reception state of the business heartbeat message is checked (step S14). For this reason, even if the reception of the business heartbeat message is interrupted, the business
また、業務アプリケーション切り替え部23は、ハートビート電文の受信が途絶された場合(ステップS11でYES)でも、業務ハートビート電文が受信できている場合には、同様に他ノードの業務自体には障害なしとみなしてステップS15の切り替え処理を行わないが、ハートビート電文が受信できていない旨の警告表示の処理を行うようにする(図5参照)。この場合、典型的には、自ノードのハートビート受信機能あるいは他ノードのハートビート送信機能に異常が生じたことが考えられる(図2参照)。
In addition, the business
なお、上述した処理は、主系であるサーバ1の業務アプリケーション切り替え部13でも同様に行われる。
The processing described above is similarly performed in the business
以下、主系サーバ1の障害発生により、従系であったサーバ2が主従系サーバになるように切り替える処理について説明する。
In the following, a description will be given of a process of switching the
(業務アプリケーションの障害発生時)
サーバ1は、自ノードの業務処理(この場合、クライアント端末からのリクエスト電文の受信、当該リクエストの処理、従系サーバ(サーバ2)への同期データの送信、業務ハートビートの送受信のいずれか)に障害が発生した場合(ステップS4でYES)、自ノードの業務アプリケーションの各プロセスを停止する(ステップS5)。そして、業務アプリケーションの全プロセスが停止した後に、自ノードの状態を「ShutDown」とするハートビート電文を送信する(ステップS6)。
(When a business application failure occurs)
The
(その他の障害発生時)
その他の障害発生の場合、例えばサーバ1で電源遮断や断線等のハードウェア障害が発生した場合には、ハートビート電文及び業務ハートビート電文のいずれもサーバ1から送信できなくなるので、サーバ2でのこれらの電文の受信が「途絶」状態となる。但し、単にハートビート電文の送信機能のみに障害が発生する場合も考えられ、この場合にはサーバ1から業務ハートビート電文が送信される。
(When other failures occur)
In the case of other failures, for example, when a hardware failure such as a power shutdown or disconnection occurs in the
(サーバ2の処理)
これに対して、サーバ1の障害を検出したサーバ2は、ステップS15で記憶部24の設定テーブルを書き換える(図8及び図9参照)。記憶部24に格納された設定テーブルの初期設定状態を図8に示す。この設定テーブルでは、業務アプリケーションの業務すなわち各機能の処理主体を規定している。図中のトピック欄は、業務アプリケーションの機能を示すものであり、「/HB」がハートビート電文の送受信機能、「/WHB」が業務ハートビート電文の送受信機能、「/SYNC」が同期データの送受信機能、「/ORD」がクライアント端末からのリクエスト電文の受信及び処理機能、「/ACK」がクライアント端末への応答機能、「/DB」がデータベースへの保存機能を示す。
(Processing of server 2)
On the other hand, the
また、トピック欄に対応する右側の欄では、各機能を処理する主体や各機能の活性(アクティブ)状態を示しており、図8では初期設定状態を表している。具体的には、上記各機能が「○」すなわち活性状態であり、クライアント端末からのリクエスト電文の受信が「SI」すなわちサーバ1で行われ、クライアント端末(「Cl」)への応答及びデータベースへの保存が「SII」すなわちサーバ2で行われる設定となっている。また、正常状態では、送受信されるハートビート電文中に「READY」のステータス情報が含まれることが分かる。
Also, the right column corresponding to the topic column shows the main body that processes each function and the active state of each function, and FIG. 8 shows the initial setting state. Specifically, each of the above functions is “O”, that is, an active state, and the request message from the client terminal is received by “SI”, that is, the
サーバ2は、ステータス情報として「ShutDown」の含まれたハートビート電文を受信し(ステップS12でYES)、業務ハートビート電文の途絶を検出すると(ステップS14でYES)、図9に示すように、サーバ1の業務プロセス(SI_WP)における業務ハートビート電文の送信機能(/WHB)、同期用データの送信機能(/SYNC)、及びクライアント端末からのリクエスト電文の受信機能(/ORD)の活性状態をそれぞれ非活性に設定する(図中「×」で表記)とともに、自ノードの業務プロセス(SII_WP)でのクライアント端末からのリクエスト電文の受信及び処理機能(/ORD)を活性化させる(図中「○」で表記)ように設定テーブルを書き換える。なお、この場合は同期用データの送受信機能は使用しないため、自ノードの業務プロセス(SII_WP)の「/SYNC」を非活性に設定する(図中「−」で表記)。
When the
かかる処理の後、書き換えられた設定テーブルの設定に基づいて、従系であったサーバ2が図3に示すように主従系サーバとして処理を行う。すなわち、サーバ2は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を通信部222で受信し、当該リクエスト内容を自ノードの業務アプリケーション(業務アプリケーション制御部22)で処理し、処理結果のデータを通信部222からネットワーク100を介してクライアント端末40にリクエスト応答として送信することで、クライアント端末40に対してデータサービスを提供する。さらに、サーバ2の業務アプリケーション制御部22は、リクエスト電文を含めた一連の処理結果のデータを、通信部222経由でデータベース3に保存する。
After such processing, based on the settings in the rewritten setting table, the
(クライアント端末の処理)
なお、障害発生時点から上述の切り替え処理が完了するまでは、クライアント端末40からのリクエスト電文が受信されない或いは処理されないことになるため、当該リクエスト電文に対するリクエスト応答がされない状態となる。したがって、クライアント端末40は、リクエスト電文に対する応答が所定時間経過してもなされない場合に、当該無応答となったリクエスト電文を主従系サーバに再送する。
(Client terminal processing)
In addition, since the request message from the
(主系サーバが主従系サーバに切り替わる場合)
次に、従系サーバ2の障害発生により、主系であったサーバ1が主従系サーバになるように切り替える処理について説明する。
(When the primary server is switched to the primary and secondary servers)
Next, a description will be given of a process of switching the
(サーバ2の処理)
サーバ2は、自ノードの業務処理、この場合、サーバ1からの同期データの受信、クライアント端末への応答、データベースへの保存、業務ハートビートの送受信のいずれかに障害が発生した場合(ステップS4でYES)、自ノードの業務アプリケーションの各プロセスを停止する(ステップS5)。そして、業務アプリケーションの全プロセスが停止した後に、自ノードの状態を「ShutDown」とするハートビート電文を送信する(ステップS6)。
(Processing of server 2)
The
(その他の障害発生時)
その他の障害発生の場合、例えばサーバ2で電源遮断や断線等のハードウェア障害が発生した場合には、ハートビート電文及び業務ハートビート電文のいずれもサーバ2から送信できなくなるので、サーバ1でのこれらの電文の受信が「途絶」状態となる。但し、単にハートビート電文の送信機能のみに障害が発生する場合もあり、この場合にはサーバ2から業務ハートビート電文が送信される。
(When other failures occur)
In the case of other failures, for example, when a hardware failure such as power interruption or disconnection occurs in the
(サーバ1の処理)
一方、サーバ2の障害を検出したサーバ1は、ステップS15で記憶部24の設定テーブルを例えば図10のように書き換える。ここで、図10は、従系のサーバ2が電源遮断によりダウンした場合の設定テーブルの書き換えの例を示している。
(Processing of server 1)
On the other hand, the
すなわち、サーバ1は、サーバ2からのハートビート電文の受信が途絶されたことを検出し(ステップS11でYES)、ステップS14で業務ハートビート電文の途絶を検出すると、図10に示すように、サーバ2の業務プロセス(SII_WP)におけるハートビート電文の送受信機能(/HB)、業務ハートビート電文の送信機能(/WHB)、同期データの受信機能(/SYNC)、クライアント端末への応答機能(/ACK)、及びデータベース保存機能(/DB)の活性状態をそれぞれ取消す(図中「×」で表記)とともに、自ノードの業務プロセス(SI_WP)でのクライアント端末からのリクエスト電文の受信及び処理機能(/ORD)を活性化させる(図中「○」で表記)ように設定テーブルを書き換える。なお、この場合は同期用データの送受信機能は使用しないため、自ノードの業務プロセス(SII_WP)の「/SYNC」を非活性にする(図中「−」で表記)。
That is, the
かかる処理の後、書き換えられた設定テーブルの設定に基づいて、主系であったサーバ2が図4に示すように主従系サーバとして処理を行う。すなわち、サーバ1は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を通信部122で受信し、当該リクエスト内容を自ノードの業務アプリケーション(業務アプリケーション制御部12)で処理し、処理結果のデータを通信部122からネットワーク100を介してクライアント端末40にリクエスト応答として送信することで、クライアント端末40に対してデータサービスを提供する。さらに、サーバ1の業務アプリケーション制御部12は、リクエスト電文を含めた一連の処理結果のデータを、通信部122経由でデータベース3に保存する。
After such processing, based on the setting of the rewritten setting table, the
このように、本システムでは、ハートビート電文に基づく監視プロセス(図6参照)に加えて、業務アプリケーションによる業務プロセスで別個のハートビート(すなわち業務ハートビート電文)を送受信する構成としたので、ハートビート電文の受信が途絶した場合でも他系の業務実行状態を判別することが可能になり、主従系への切り替えが必要とされているか否かの判定を正確かつ容易に行えるようになる。具体的には、本システムによれば、単にハートビート電文の送受信機能だけに障害がある場合には主従系への切り替えが行われないため(図2参照)、本来無用な切り替えを回避することが可能になり、さらには主系及び従系の各サーバがそれぞれ主従系へ切り替わることによる2重処理が防止される。 As described above, in this system, in addition to the monitoring process based on the heartbeat message (see FIG. 6), a separate heartbeat (that is, a business heartbeat message) is transmitted and received by the business process by the business application. Even when the reception of the beat message is interrupted, it is possible to determine the business execution status of the other system, and it is possible to accurately and easily determine whether or not switching to the master / slave system is required. Specifically, according to the present system, when there is a failure only in the heartbeat message transmission / reception function, switching to the master / slave system is not performed (see FIG. 2), so avoiding unnecessary switching. In addition, it is possible to prevent double processing due to the switching between the primary and secondary servers to the primary and secondary servers.
また、本システムでは、通常時にクライアントからの要求の受信と処理を主系サーバで、クライアントへの応答及びデータベース保存を従系サーバで行う構成としたので、各サーバの負荷が分散され、クライアントへの応答レスポンスが向上し、システム全体として処理が早くなる。さらに、本システムでは、従来システムのように従系から主系への返答を行わずに従系からクライアントへ直接に応答を行う構成としたので、クライアントへの応答レスポンスが向上する。さらにまた、本システムでは、主系サーバの障害時にクライアントへの電文応答やデータベースへの保存データのロストの発生を防止することが可能となる。 In addition, this system is configured so that the main server receives and processes requests from the client at normal times, and the slave server responds to the client and stores the database, so that the load on each server is distributed to the clients. Response is improved, and the entire system is processed faster. Furthermore, in this system, since a response is made directly from the slave to the client without replying from the slave to the master as in the conventional system, the response response to the client is improved. Furthermore, in this system, it is possible to prevent the occurrence of a telegram response to the client or the loss of data stored in the database when the primary server fails.
(第2の実施形態)
本システムの第2の実施形態について説明する。図11は第2の実施形態を説明するフローチャートであり、上述した図5のルーチンに入る前にハートビート監視モードであるか否かを判定するステップS10が加えられている他は図7と同じである。
(Second Embodiment)
A second embodiment of this system will be described. FIG. 11 is a flowchart for explaining the second embodiment, and is the same as FIG. 7 except that step S10 for determining whether or not the heartbeat monitoring mode is entered before entering the routine of FIG. 5 described above. It is.
すなわち、本システムの第2の実施形態では、各サーバ(1及び2)は、電源投入時に他系サーバのハートビートの監視を行わないハートビート監視モードOFFの状態で起動し、ハートビート監視を開始する旨の開始命令を受信するまでは、ハートビート監視モードOFFの状態を維持する。換言すると、第2の実施形態では、監視開始命令を受信するまでは、ハートビート監視部(11及び21)及び監視部(121及び221)の検出結果に関わらず、主従系サーバへの切り替えが禁止される。 That is, in the second embodiment of the present system, each server (1 and 2) is started in a heartbeat monitoring mode OFF state in which the heartbeat of other servers is not monitored when the power is turned on, and heartbeat monitoring is performed. The heartbeat monitoring mode OFF state is maintained until a start command for starting is received. In other words, in the second embodiment, until the monitoring start command is received, switching to the master-slave server is performed regardless of the detection results of the heartbeat monitoring units (11 and 21) and the monitoring units (121 and 221). It is forbidden.
ここで、ハートビート監視を開始する旨の開始命令は、本実施形態ではシステム全体の命令として、システム管理者がサーバ1又は2のいずれかの入力手段(図示しないキーボードやマウス等)を操作することによって、業務アプリケーション制御部(12又は22)で検知される。以下、開始命令がサーバ1で入力された場合を説明すると、開始命令を検知したサーバ1の業務アプリケーション制御部12は、当該開始命令を通信部122及び222経由で他系サーバ2の業務アプリケーション制御部22に転送するともに、開始命令を受信した旨を自ノードの業務アプリケーション切り替え部13に通知する。業務アプリケーション切り替え部13は、サーバ起動時にはステップS10の判定を行い、開始命令を受信した旨が通知されるとハートビート監視モードがONになったものと判定し(ステップS10でYES)、上述したステップS11以下の処理を開始する。一方、サーバ1から開始命令を転送されたサーバ2は、開始命令を受信した旨を業務アプリケーション制御部22から業務アプリケーション切り替え部23に通知し、同様に、業務アプリケーション切り替え部23でハートビート監視モードがONになったものと判定し(ステップS10でYES)、上述したステップS11以下の処理を開始する。
Here, the start command for starting heartbeat monitoring is a command for the entire system in this embodiment, and the system administrator operates one of the input means (such as a keyboard or mouse not shown) of the
このように、本システムの第2の実施形態では、開始命令が入力されるまではハートビート監視モードOFFの状態が維持され、他系サーバの監視が行われないので、主従系サーバへの切り替え(ステップS15)も実行されることがない。したがって、第2の実施形態では、いわゆる起動障害が発生して片系のサーバに不具合が生じた場合に、当該サーバのメインテナンスや再起動などを制限なく実施することができる。また、第2の実施形態によれば、電源投入時などのシステム全体が比較的不安定な状態での本来不要な主従系への切り替えが防止され、各サーバが比較的安定した状態になった後に開始命令を入力して他系サーバの監視を開始することができる。したがって、第2の実施形態によれば、システム管理者の負担が大幅に軽減される。 As described above, in the second embodiment of the present system, the heartbeat monitoring mode OFF state is maintained until the start command is input, and monitoring of other servers is not performed. (Step S15) is also not executed. Therefore, in the second embodiment, when a so-called startup failure occurs and a failure occurs in one server, maintenance or restart of the server can be performed without limitation. In addition, according to the second embodiment, switching to a master / slave system that is originally unnecessary when the entire system is relatively unstable, such as when the power is turned on, is prevented, and each server is in a relatively stable state. Later, a start command can be input to start monitoring of another server. Therefore, according to the second embodiment, the burden on the system administrator is greatly reduced.
(応用技術分野)
上述した各実施形態のシステムは、冗長化構成のシステムにおいて好適に適用可能である。また、本システムは、クラスタソフトウエアを導入することなく、低コストかつ確実で高いレスポンス性を備えたホットスタンバイ方式のシステムを実現することが可能である。
(Applied technology field)
The system of each embodiment described above can be suitably applied to a redundant system. In addition, this system can realize a hot standby system with low cost, reliability, and high responsiveness without introducing cluster software.
なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 In addition, although embodiment of this invention was described, the said embodiment is shown as an example and is not intending limiting the range of invention. The novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
1,2 サーバ
11,21 ハートビート(HB)監視部
12,22 業務アプリケーション(AP)制御部
121,221 監視部
122,222 通信部
13,23 業務アプリケーション(AP)切り替え部
14,24 記憶部
3 データベース
40 クライアント端末
100 ネットワーク
1, 2
Claims (7)
前記主系サーバは、クライアント端末のリクエストを受信及び処理し、該処理データを前記従系サーバに送信し、前記従系サーバは、受信された処理データを前記クライアント端末に転送し、
各サーバは、
他系サーバとハートビートを送受信し、他系の状態を検出するハートビート監視部と、
業務アプリケーションの稼働時に業務ハートビートを送受信し、他系の業務アプリケーションの状態を検出する業務ハートビート監視部と、
前記ハートビート監視部及び前記業務ハートビート監視部の検出結果に基づいて、自サーバを、前記リクエストの受信及び処理、前記処理データの前記クライアント端末への送信を行う主従系サーバとして動作するように切り替える切り替え部と、
を備えるクライアントサーバシステム。 A hot standby type client server system that includes a master server and a slave server that can communicate with a client terminal, and causes a server of another system to operate as a master / slave server when a failure occurs in one system,
The master server receives and processes a request from a client terminal, transmits the processing data to the slave server, and the slave server transfers the received processing data to the client terminal,
Each server
A heartbeat monitoring unit that transmits and receives heartbeats with other servers and detects the status of other systems;
A business heartbeat monitoring unit that transmits and receives business heartbeats when business applications are running and detects the status of other business applications;
Based on the detection results of the heartbeat monitoring unit and the business heartbeat monitoring unit, the local server operates as a master / slave server that receives and processes the request and transmits the processing data to the client terminal. A switching unit for switching,
A client server system comprising:
前記切り替え部は、自サーバを、さらに、前記処理結果データのデータベースへの保存を行うように動作させる請求項1又は2に記載のクライアントサーバシステム。 The slave server transfers the received processing data to the client terminal and stores it in a database;
3. The client server system according to claim 1, wherein the switching unit further causes the server to operate so as to store the processing result data in a database.
前記ハートビート監視部は、自サーバの業務アプリケーションが停止すると、該停止を示すステータス情報を含めたハートビートを送信し、
前記切り替え部は、前記停止を示すステータス情報のハートビートが受信されると前記業務ハートビートの受信の有無をチェックし、業務ハートビートの受信が途絶されると、自サーバを前記主従系サーバに切り替える請求項4に記載のクライアントサーバシステム。 The heartbeat includes the status information of its own server,
When the business application of its own server stops, the heartbeat monitoring unit transmits a heartbeat including status information indicating the stop,
The switching unit checks whether or not the business heartbeat is received when the heartbeat of the status information indicating the stop is received, and when the reception of the business heartbeat is interrupted, The client server system according to claim 4 to be switched.
前記主系サーバは、クライアント端末のリクエストを受信及び処理し、該処理データを前記従系サーバに送信し、前記従系サーバは、受信された処理データを前記クライアント端末に転送し、
各サーバは、
他系サーバとハートビートを送受信して他系の状態を検出するハートビート監視ステップと、
業務アプリケーションの稼働時に業務ハートビートを送受信して他系の業務アプリケーションの状態を検出する業務ハートビート監視ステップと、
前記ハートビート監視ステップ及び前記業務ハートビート監視ステップでの検出結果に基づいて、自サーバを、前記リクエストの受信及び処理、前記処理データの前記クライアント端末への送信を行う主従系サーバとして動作するように切り替える切り替えステップと、
を遂行する切り替え制御方法。 A switching control method in a hot standby type client server system that includes a master server and a slave server that can communicate with a client terminal, and switches a server of another system to a master-slave server when a failure occurs in one system,
The master server receives and processes a request from a client terminal, transmits the processing data to the slave server, and the slave server transfers the received processing data to the client terminal,
Each server
A heartbeat monitoring step for detecting a state of the other system by transmitting and receiving a heartbeat with the other server;
A business heartbeat monitoring step that detects the status of other business applications by sending and receiving business heartbeats when the business applications are running;
Based on the detection results in the heartbeat monitoring step and the business heartbeat monitoring step, the local server operates as a master / slave server that receives and processes the request, and transmits the processing data to the client terminal. A switching step to switch to
Switching control method to carry out.
前記主系サーバに、クライアント端末のリクエストを受信及び処理させるとともに、該処理データを前記従系サーバに送信させ、前記従系サーバに、受信された処理データを前記クライアント端末に転送させ、
各サーバに、
他系サーバとハートビートを送受信して他系の状態を検出するハートビート監視ステップと、
業務アプリケーションの稼働時に業務ハートビートを送受信して他系の業務アプリケーションの状態を検出する業務ハートビート監視ステップと、
前記ハートビート監視ステップ及び前記業務ハートビート監視ステップでの検出結果に基づいて、自サーバを、前記リクエストの受信及び処理、前記処理データの前記クライアント端末への送信を行う主従系サーバとして動作するように切り替える切り替えステップと、
を遂行させるための制御プログラム。 A control program in a hot standby type client server system that includes a master server and a slave server that can communicate with a client terminal, and switches a server of another system to a master-slave server when a failure occurs in one system,
The master server receives and processes the request of the client terminal, transmits the processing data to the slave server, causes the slave server to transfer the received processing data to the client terminal,
For each server,
A heartbeat monitoring step for detecting a state of the other system by transmitting and receiving a heartbeat with the other server;
A business heartbeat monitoring step that detects the status of other business applications by sending and receiving business heartbeats when the business applications are running;
Based on the detection results in the heartbeat monitoring step and the business heartbeat monitoring step, the local server operates as a master / slave server that receives and processes the request, and transmits the processing data to the client terminal. A switching step to switch to
A control program for carrying out
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012056245A JP5707355B2 (en) | 2012-03-13 | 2012-03-13 | Hot-standby client-server system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012056245A JP5707355B2 (en) | 2012-03-13 | 2012-03-13 | Hot-standby client-server system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013190955A JP2013190955A (en) | 2013-09-26 |
JP5707355B2 true JP5707355B2 (en) | 2015-04-30 |
Family
ID=49391142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012056245A Expired - Fee Related JP5707355B2 (en) | 2012-03-13 | 2012-03-13 | Hot-standby client-server system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5707355B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2016129275A1 (en) * | 2015-02-10 | 2017-12-28 | 日本電気株式会社 | Information processing apparatus, log management system, log management method, and program |
JP6760888B2 (en) * | 2017-06-20 | 2020-09-23 | 日本電信電話株式会社 | Redundant system and hardware failure detection method |
JP6856574B2 (en) * | 2018-05-09 | 2021-04-07 | 日本電信電話株式会社 | Service continuation system and service continuation method |
CN111130862A (en) * | 2019-12-11 | 2020-05-08 | 福建星网智慧科技股份有限公司 | Main/standby system switching method and device based on IPPBX |
CN111405077B (en) * | 2020-03-05 | 2023-02-17 | 深圳前海百递网络有限公司 | Domain name switching method and device, computer readable storage medium and computer equipment |
CN113296996B (en) * | 2021-05-31 | 2024-03-29 | 中国民航信息网络股份有限公司 | Service request processing method, related device and storage medium |
CN115134220B (en) * | 2022-06-29 | 2023-11-10 | 北京飞讯数码科技有限公司 | Master-slave server switching method and device, computing equipment and storage medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03126139A (en) * | 1989-10-11 | 1991-05-29 | Fujitsu Ltd | Watchdog timer circuit |
JPH08106426A (en) * | 1994-10-07 | 1996-04-23 | Hitachi Ltd | Client server system and processing method thereof |
JP2001282762A (en) * | 2000-03-30 | 2001-10-12 | Fuji Photo Film Co Ltd | Device and method for backing up data in distributed processing system |
JP4427789B2 (en) * | 2004-05-28 | 2010-03-10 | 株式会社日立製作所 | Hydropower plant control equipment |
JP5005425B2 (en) * | 2007-05-21 | 2012-08-22 | パナソニック株式会社 | Control device return system |
JP2009080704A (en) * | 2007-09-26 | 2009-04-16 | Toshiba Corp | Virtual machine system and service taking-over control method for same system |
JP5317185B2 (en) * | 2009-01-30 | 2013-10-16 | Necインフロンティア株式会社 | Hot standby system and hot standby method |
-
2012
- 2012-03-13 JP JP2012056245A patent/JP5707355B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013190955A (en) | 2013-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5707355B2 (en) | Hot-standby client-server system | |
CA2611457C (en) | Method and apparatus for facilitating device redundancy in a fault-tolerant system | |
US20140095925A1 (en) | Client for controlling automatic failover from a primary to a standby server | |
JP2010045760A (en) | Connection recovery device for redundant system, method and processing program | |
JP2013161251A (en) | Computer failure monitoring program, method, and device | |
CN108009239B (en) | Database access method and system | |
CN107071189B (en) | Connection method of communication equipment physical interface | |
JP7161008B2 (en) | Application redundancy management system and application redundancy management method | |
JP2013161252A (en) | Redundant computer control program, method, and device | |
JP5558279B2 (en) | MONITORING / CONTROL SYSTEM, MONITORING / CONTROL DEVICE USED FOR SAME, AND MONITORING / CONTROL METHOD | |
JP2011203941A (en) | Information processing apparatus, monitoring method and monitoring program | |
JP5613119B2 (en) | Master / slave system, control device, master / slave switching method, and master / slave switching program | |
KR101358995B1 (en) | Method and system for managing high availability | |
JP4806382B2 (en) | Redundant system | |
JP2021061478A (en) | Relay device, relay system, and relay program | |
JP2014048933A (en) | Plant monitoring system, plant monitoring method, and plant monitoring program | |
JP2010231257A (en) | High availability system and method for handling failure of high availability system | |
JP2009003491A (en) | Server switching method in cluster system | |
JP5716460B2 (en) | Cluster system and control method thereof | |
US11010269B2 (en) | Distributed processing system and method for management of distributed processing system | |
CN113852514A (en) | Data processing system with uninterrupted service, processing equipment switching method and connecting equipment | |
KR101401006B1 (en) | Method and appratus for performing software upgrade in high availability system | |
JP2008204113A (en) | Network monitoring system | |
JP2013254333A (en) | Multiple system control system and control method therefor | |
JP2007072980A (en) | Computer control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150106 |
|
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: 20150203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5707355 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |