JP5707355B2 - Hot-standby client-server system - Google Patents

Hot-standby client-server system Download PDF

Info

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
Application number
JP2012056245A
Other languages
Japanese (ja)
Other versions
JP2013190955A (en
Inventor
浩 新井
浩 新井
英司 茅沼
英司 茅沼
恭介 山中
恭介 山中
健太郎 畑田
健太郎 畑田
彬子 瀧口
彬子 瀧口
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2012056245A priority Critical patent/JP5707355B2/en
Publication of JP2013190955A publication Critical patent/JP2013190955A/en
Application granted granted Critical
Publication of JP5707355B2 publication Critical patent/JP5707355B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

特開2010−176511号公報JP 2010-176511 A

各系サーバによる業務の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.

第1実施形態のホットスタンバイ機能を備えたクライアント/サーバ型システムの構成を示すブロック図である。It is a block diagram which shows the structure of the client / server type | system | group system provided with the hot standby function of 1st Embodiment. 図1のシステムでサーバのハートビート伝送機能に障害が発生した場合の動作を説明する図である。It is a figure explaining the operation | movement when a failure generate | occur | produces in the heartbeat transmission function of a server in the system of FIG. 従系サーバが主従系サーバに切り替わる場合を説明する図である。It is a figure explaining the case where a subordinate server switches to a main subordinate server. 主系サーバが主従系サーバに切り替わる場合を説明する図である。It is a figure explaining the case where a primary server switches to a master-slave server. ハートビート電文のステータスと業務ハートビートの状態の組合せに基づく処理を説明するための表である。It is a table | surface for demonstrating the process based on the combination of the status of a heartbeat message | telegram, and the state of a business heartbeat. ハートビート電文の送信に関する処理を説明するフローチャートである。It is a flowchart explaining the process regarding transmission of a heartbeat message | telegram. 他系サーバに対する監視及び主従系サーバへの切り替えの処理に関するフローチャートである。It is a flowchart regarding the process of the monitoring with respect to another system server, and the switch to a master-slave server. 通常状態における主系サーバと従系サーバとクライアント端末との通信を説明するための設定テーブルである。It is a setting table for demonstrating communication with the main server in the normal state, a subordinate server, and a client terminal. 従系サーバが主従系サーバに切り替わる場合の設定テーブルの書き換えを示す図である。It is a figure which shows rewriting of the setting table in case a subordinate server switches to a main subordinate server. 主系サーバが主従系サーバに切り替わる場合の設定テーブルの書き換えを示す図である。It is a figure which shows rewriting of the setting table in case the main server switches to a master-slave server. 第2の実施形態を説明するフローチャートである。It is a flowchart explaining 2nd Embodiment.

以下、実施形態のホットスタンバイ方式のクライアントサーバシステムの概要を説明する。   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 client terminal 40 via the network 100, and when one of the systems fails, a hot server that causes the other server to operate as the master slave system. FIG. 1 shows an example in which a master system and a slave system are configured by two servers, a server 1 and a server 2, for the sake of simplicity.

サーバ1及びサーバ2は、ネットワーク100を介してクライアント端末40に接続される。なお、各サーバ1,2とクライアント端末40との接続は、図示しないルータ等を介して行うこともできる。また、ネットワーク100は、インターネット網、あるいは種々の専用通信網を使用することができる。   The server 1 and the server 2 are connected to the client terminal 40 via the network 100. The connections between the servers 1 and 2 and the client terminal 40 can also be made via a router or the like (not shown). The network 100 can use the Internet network or various dedicated communication networks.

サーバ1及びサーバ2は、相互に同一の業務アプリケーションが格納(インストール)されており、かかる業務アプリケーションに基づいて、相互に同じ機能(業務)を遂行することができる。但し、起動時及び通常(正常)時にはいずれか一方がクライアント端末40からのリクエストを受信し処理する主系サーバ、他方が主系サーバの処理結果のデータをクライアント端末40に転送しデータベース3に保存する従系サーバとして機能する。   The server 1 and the server 2 store (install) the same business application, and can perform the same function (business) based on the business application. However, at the time of start-up and normal (normal), one of the main servers that receives and processes the request from the client terminal 40, and the other transfers the processing result data of the main server to the client terminal 40 and stores it in the database 3 Functions as a secondary server.

より具体的には、主系サーバは、業務アプリケーションにアクセスするクライアント端末40からの要求メッセージ(以下「リクエスト電文」とも称する)を受信して当該リクエスト内容を自サーバ(以下、自ノードともいう)の業務アプリケーションで処理し、リクエスト電文及び処理結果のデータを従系サーバに転送することで、これらデータを従系サーバに同期させ、さらに、従系サーバが主系サーバでの処理結果のデータをクライアント端末40に転送することでクライアント応答を行い、クライアント端末40に対してデータサービスを提供する。また、従系サーバは、かかる一連の処理結果をデータベース3に保存する。   More specifically, the primary server receives a request message (hereinafter also referred to as “request message”) from the client terminal 40 that accesses the business application, and sends the request content to the local server (hereinafter also referred to as the local node). By processing the request message and processing result data to the slave server, the data is synchronized with the slave server, and the slave server sends the processing result data on the master server. A client response is made by transferring the data to the client terminal 40, and a data service is provided to the client terminal 40. Further, the slave server stores the series of processing results in the database 3.

データベース3に保存されたデータは、両系サーバダウン時のデータ復旧、業務内容の証跡、クライアント端末側とサーバ側とのリコンサイルに使用される。   The data stored in the database 3 is used for data recovery when both servers are down, a trail of business contents, and reconciliation between the client terminal side and the server side.

また、本システムでは、片系のサーバ(すなわち主系又は従系サーバ)の業務に障害が発生した場合、他系(従系又は主系)のサーバが主従系サーバとして動作するように切り替える処理を行う。すなわち、主従系サーバとは、片系の障害時に縮退モードで業務を遂行する他系のサーバであり、上述したクライアント端末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 client terminal 40 described above, processing of the request content in the business application, It is a server that performs a process of transferring the result to the client terminal 40 and a task of storing such a series of processing results in the database 3 (see FIGS. 3 and 4). In this embodiment, the other server without failure changes the setting of the business application of its own node (rewrites the setting table) to switch its own node (own server) to the master / slave server. Details will be described later.

本実施形態では、クライアント端末40、サーバ1及びサーバ2間の通信は、パブリッシュ・サブスクライブのアーキテクチャーを使用してデータの送受信を行う。このため、クライアント端末40は、通信先を意識せずにデータを送信することが出来、サーバ切り替えにより通信先を変更する処理をクライアント端末40側で行う必要がなくなる。   In the present embodiment, communication between the client terminal 40, the server 1 and the server 2 is performed by transmitting and receiving data using a publish / subscribe architecture. For this reason, the client terminal 40 can transmit data without being aware of the communication destination, and there is no need to perform processing for changing the communication destination by switching the server on the client terminal 40 side.

以下は、特に断りがない限り、初期設定でサーバ1が主系サーバ、サーバ2が従系サーバとしてそれぞれ稼働するように設定された場合を説明する。また、図面では、ハートビートを「HB」と、アプリケーションを「AP」と略記している。   The following describes a case where the server 1 is set to operate as a primary server and the server 2 is operated as a slave server in the initial setting unless otherwise specified. In the drawing, the heartbeat is abbreviated as “HB” and the application as “AP”.

サーバ1は、ハートビート監視部11、業務アプリケーション制御部12、業務アプリケーション切り替え部13、記憶部14を有している。ここで、業務アプリケーション制御部12は、監視部121と通信部122とを有する。サーバ2も同様に、ハートビート監視部21、業務アプリケーション制御部22、業務アプリケーション切り替え部23、記憶部24を有しており、この内の業務アプリケーション制御部22は、監視部221と通信部222とを有する。記憶部14及び記憶部24には、上述したパブリッシュ・サブスクライブのアーキテクチャーに関する設定テーブルが格納され(図8乃至図10参照)、かかる設定テーブルの詳細については後述する。   The server 1 includes a heartbeat monitoring unit 11, a business application control unit 12, a business application switching unit 13, and a storage unit 14. Here, the business application control unit 12 includes a monitoring unit 121 and a communication unit 122. Similarly, the server 2 includes a heartbeat monitoring unit 21, a business application control unit 22, a business application switching unit 23, and a storage unit 24. The business application control unit 22 includes a monitoring unit 221 and a communication unit 222. And have. The storage unit 14 and the storage unit 24 store a setting table related to the publish / subscribe architecture described above (see FIGS. 8 to 10), and details of the setting table will be described later.

図1から分かるように、サーバ1とサーバ2では各部の機能が共通するため、以下は主にサーバ1の機能を中心に説明し、サーバ2の各部の説明は適宜省略する。   As can be seen from FIG. 1, since the functions of each unit are common between the server 1 and the server 2, the following description will mainly focus on the function of the server 1, and description of each unit of the server 2 will be omitted as appropriate.

ハートビート監視部11は、自ノードのハートビートを予め設定した周期毎に他系サーバのハートビート監視部21に送信し、かつ、ハートビート監視部21からのハートビートを受信して当該ハートビートが予め設定した周期毎に送られてくるかを監視する。さらに、本実施形態では、自ノードの業務アプリケーションに関するステータス情報をハートビートに含ませるようになっており、これについては後述する。ハートビート監視部11及びハートビート監視部21間でのハートビートの送受信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。   The heartbeat monitoring unit 11 transmits the heartbeat of its own node to the heartbeat monitoring unit 21 of the other server at predetermined intervals, and receives the heartbeat from the heartbeat monitoring unit 21 and receives the heartbeat. Is monitored every preset period. Furthermore, in this embodiment, status information related to the business application of the own node is included in the heartbeat, which will be described later. Heartbeat transmission / reception between the heartbeat monitoring unit 11 and the heartbeat monitoring unit 21 is performed using a network segment different from the network 100 connected to the client terminal 40.

業務アプリケーション制御部12は、業務アプリケーションの実行に伴う各種処理を行うものであり、自ノードの系(すなわち主系/従系/主従系)により異なる業務(業務プロセス)を遂行する。業務アプリケーション制御部12は、監視部121及び通信部122を含む。この内、監視部121は、上述したハートビートとは別個の業務ハートビートを他系サーバとの間で送受信する。   The business application control unit 12 performs various processes associated with the execution of the business application, and performs a different business (business process) depending on the system of the own node (that is, the master / slave / master-slave). The business application control unit 12 includes a monitoring unit 121 and a communication unit 122. Among these, the monitoring unit 121 transmits / receives a business heartbeat different from the above-described heartbeat to / from another server.

より具体的には、監視部121は、自ノードの業務アプリケーションが起動すると、予め設定された周期毎に、業務アプリケーションが活性していることを通知する電文(業務ハートビート電文)を他系サーバの監視部221に繰り返し送信する。また、監視部121は、他系の監視部221からの業務ハートビート電文を予め設定された周期毎に受信して、他系の業務アプリケーションの死活を監視する。ここで、監視部121は、他系サーバの監視部221からの業務ハートビート電文を所定時間受信しなくなると、他系の業務ハートビートが途絶されたものとして業務アプリケーション切り替え部13に通知する。なお、監視部121及び監視部221間での業務ハートビート電文の送受信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。   More specifically, when the business application of the own node is started, the monitoring unit 121 sends a message (business heartbeat message) for notifying that the business application is active for each preset period to the other server. Are repeatedly transmitted to the monitoring unit 221. In addition, the monitoring unit 121 receives a business heartbeat message from the other-system monitoring unit 221 for each preset period, and monitors the life and death of the other-system business application. Here, when the business heartbeat message from the monitoring unit 221 of the other server is not received for a predetermined time, the monitoring unit 121 notifies the business application switching unit 13 that the other business heartbeat has been interrupted. The transmission / reception of the business heartbeat message between the monitoring unit 121 and the monitoring unit 221 is performed using a network segment different from the network 100 connected to the client terminal 40.

図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 units 121 and 221 as the business heartbeat monitoring unit as part of the business process of the business application, and the heartbeat is transmitted / received between the heartbeat monitoring units 11 and 21 as a function of the monitoring process. Is done. For this reason, the transmission cycle, the transmission timing, and the like can be set separately for the business heartbeat and the heartbeat. This prevents malfunction due to erroneous detection.

さらに、監視部121は、自ノードの業務アプリケーションの状態を検出し、かかる検出結果の情報をハートビート監視部11に提供する。本実施形態では、監視部121は、業務アプリケーションが起動中の場合、稼働中の場合、及び自系業務に障害が発生して業務アプリケーションを停止させた場合に、各々その旨の検出情報をハートビート監視部11に渡す。業務アプリケーションの状態の検出において、監視部121は、自系の業務に該当する業務アプリケーションのプロセスに動作確認の確認信号を送信し、業務アプリケーションからの応答信号の有無により、自系の業務の障害の有無を検出する。   Furthermore, the monitoring unit 121 detects the state of the business application of the own node, and provides the detection result information to the heartbeat monitoring unit 11. In the present embodiment, the monitoring unit 121 provides detection information to that effect when a business application is active, when it is active, and when a business application is stopped due to a failure in its own business. It passes to the beat monitoring unit 11. In detecting the status of the business application, the monitoring unit 121 transmits an operation confirmation signal to the process of the business application corresponding to the business of the local system, and the fault of the local system depending on the presence or absence of a response signal from the business application. The presence or absence of is detected.

通信部122は、他系サーバの通信部222と通信し、ネットワーク100経由でクライアント端末40と通信する。また、外部記憶装置(データベース3)へのデータ保存の処理も通信部122を介して行う。ここで、通信部122及び222間での通信は、クライアント端末40に接続されているネットワーク100と異なるネットワークセグメントを用いて行う。通信部122は、自ノードの系(主系/従系/主従系)により以下のように異なった機能すなわち業務を遂行する。   The communication unit 122 communicates with the communication unit 222 of another system server and communicates with the client terminal 40 via the network 100. Further, data storage processing in the external storage device (database 3) is also performed via the communication unit 122. Here, communication between the communication units 122 and 222 is performed using a network segment different from the network 100 connected to the client terminal 40. The communication unit 122 performs different functions, that is, operations as follows, depending on the system of the own node (primary / secondary / primary-subordinate).

すなわち、自ノードが主系サーバである場合、通信部122は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を受信して自ノードの業務アプリケーションに提供し、当該リクエストが業務アプリケーションで処理されると、処理されたデータをリクエスト電文とともに従系サーバに送信する。   That is, when the local node is a primary server, the communication unit 122 receives a request message from the client terminal 40 that accesses the business application via the network 100 and provides the request message to the local node business application. When processed by the business application, the processed data is transmitted to the slave server together with the request message.

一方、自ノードが従系サーバである場合、通信部122は、主系サーバ(サーバ2)の業務アプリケーションで処理されたデータを通信部222から受信し、かかるデータをネットワーク100を介してクライアント端末40に送信してリクエストに対する応答を行い、さらに、かかる一連の処理結果を同期済みデータとしてデータベース3に保存する処理を行う。   On the other hand, when the own node is a slave server, the communication unit 122 receives data processed by the business application of the primary server (server 2) from the communication unit 222, and receives the data via the network 100 as a client terminal. 40 to send a response to the request, and further, a process of storing such a series of processing results in the database 3 as synchronized data.

さらに、自ノードが主従系サーバである場合、通信部122は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を受信して自ノードの業務アプリケーションに提供し、当該リクエストが業務アプリケーションで処理されると、処理されたデータをネットワーク100を介してクライアント端末40に送信してリクエストに対する応答を行い、さらに、かかる一連の処理結果のデータをデータベース3に保存する処理を行う(図3及び図4参照)。   Further, when the own node is a master-slave server, the communication unit 122 receives a request message from the client terminal 40 that accesses the business application via the network 100 and provides it to the business application of the own node. When processed by the business application, the processed data is transmitted to the client terminal 40 via the network 100 to respond to the request, and further, a process of storing a series of processing result data in the database 3 is performed ( 3 and 4).

次に、ハートビート監視部の機能を詳細に説明する。ハートビート監視部11は、業務アプリケーション制御部12の監視部121から上述した業務アプリケーションについての検出情報を取得すると、ハートビートを、当該検出情報に対応するステータス情報を含めたメッセージ(以下「ハートビート電文」と称する)の形態で、所定周期毎に他系のハートビート監視部21に送信する。   Next, the function of the heartbeat monitoring unit will be described in detail. When the heartbeat monitoring unit 11 acquires detection information about the business application described above from the monitoring unit 121 of the business application control unit 12, the heartbeat monitoring unit 11 sends a heartbeat to a message including status information corresponding to the detection information (hereinafter, “heartbeat”). In the form of “message”) and transmitted to the heartbeat monitoring unit 21 of another system at predetermined intervals.

また、ハートビート監視部11は、他系サーバのハートビート監視部21からのハートビート電文を受信すると、当該電文に含まれたステータス情報を業務アプリケーション切り替え部13に通知する。さらに、ハートビート監視部11は、他系サーバのハートビート監視部21からのハートビート電文を所定時間受信しなくなると、他系のハートビートが途絶されたものとして、業務アプリケーション切り替え部13にハートビートの途絶を通知する。   When the heartbeat monitoring unit 11 receives the heartbeat message from the heartbeat monitoring unit 21 of the other server, the heartbeat monitoring unit 11 notifies the business application switching unit 13 of the status information included in the message. Furthermore, when the heartbeat monitoring unit 11 does not receive the heartbeat message from the heartbeat monitoring unit 21 of the other system server for a predetermined time, the heartbeat monitoring unit 11 determines that the heartbeat of the other system has been interrupted and sends a heartbeat to the business application switching unit 13. Notify the beat disruption.

本システムでは、ハートビート電文に含まれる業務アプリケーションのステータス情報として、起動中に対応する「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 application switching unit 13 performs processing for switching the own node (own server) to the above-described master-slave server based on the detection results of the heartbeat monitoring unit 11 and the monitoring unit 121. That is, the business application switching unit 13 determines whether or not a failure has occurred in the business of another system (secondary or primary system) server, based on the combination of the detection result of the heartbeat monitoring unit 11 and the detection result of the monitoring unit 121. When it is determined that a failure has occurred, a process for switching the local node to operate as a master-slave server is performed. More specifically, when the heartbeat monitoring unit 11 detects a failure of another server, the business application switching unit 13 checks the detection result of the monitoring unit 121 and the reception of the business heartbeat message is interrupted. In this case, a process of switching the own node to the master / slave server is performed.

(基本動作)
以下、初期設定でサーバ1を主系、サーバ2を従系として稼働させる場合の本システムの基本動作について、フローチャートを参照しながら説明する。なお、図6及び図7のフローチャートでは、主系及び従系サーバに共通する処理を示している。
(basic action)
Hereinafter, the basic operation of this system when the server 1 is operated as the primary system and the server 2 as the secondary system will be described with reference to flowcharts. Note that the flowcharts of FIGS. 6 and 7 show processes common to the primary and secondary servers.

本システムでは主系及び従系サーバは各々単独で起動され、個々のサーバの電源投入により、サーバ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 servers 1 and 2 are activated by powering on the individual servers. In the startup process when the power is turned on, the heartbeat monitoring unit 11 of each server 1 generates a heartbeat message including status information “STARTING” indicating the business state of the own node based on the detection information of the monitoring unit 121 at a predetermined cycle. It transmits to the server 2 of other system (step S1). In step S2, the heartbeat monitoring unit 11 checks whether the start processing of the business application is completed based on the detection information from the monitoring unit 121, and is running (that is, the start of all processes under its own node is completed). Is notified from the monitoring unit 121 (YES in step S2), the status information included in the heartbeat message is changed to “READY” (step S3).

また、サーバ1で業務アプリケーションが起動されると、業務アプリケーション制御部11は、監視部121から業務ハートビート電文の送信を開始する。これにより、監視部121から他系サーバの監視部221に業務ハートビート電文が所定周期で繰り返し伝送される。以上の動作は、従系であるサーバ2でも同様に行われる。   When the business application is activated on the server 1, the business application control unit 11 starts transmitting a business heartbeat message from the monitoring unit 121. Thereby, the business heartbeat message is repeatedly transmitted from the monitoring unit 121 to the monitoring unit 221 of the other server at a predetermined cycle. The above operation is performed in the same way in the secondary server 2.

以後、主系であるサーバ1は、ネットワーク100を介して業務アプリケーションにアクセスするクライアント端末40からのリクエスト電文を通信部122で受信し、当該リクエスト内容を自ノードの業務アプリケーション(業務アプリケーション制御部12)で処理し、リクエスト電文及び処理結果のデータを通信部122から従系であるサーバ2に転送する。そして、従系サーバ2の業務アプリケーション制御部22は、リクエスト電文及び処理結果のデータを通信部222で受信すると、かかる処理結果のデータを通信部222からネットワーク100を介してクライアント端末40にリクエスト応答として転送することで、クライアント端末40に対してデータサービスを提供する。さらに、従系サーバ2の業務アプリケーション制御部22は、要求メッセージを含めた一連の処理結果のデータを、通信部222経由でデータベース3に保存する。以上の動作は、クライアント端末40からリクエスト電文が送信される毎に行われる。   Thereafter, the main server 1 receives a request message from the client terminal 40 that accesses the business application via the network 100 by the communication unit 122, and receives the request content of the local node business application (business application control unit 12 ) To transfer the request message and the processing result data from the communication unit 122 to the slave server 2. When the communication application 222 receives the request message and the processing result data, the business application control unit 22 of the slave server 2 sends a request response from the communication unit 222 to the client terminal 40 via the network 100. As a result, the data service is provided to the client terminal 40. Further, the business application control unit 22 of the slave server 2 stores a series of processing result data including the request message in the database 3 via the communication unit 222. The above operation is performed every time a request message is transmitted from the client terminal 40.

このように、本実施形態のシステムでは、従来システムのように従系サーバから主系サーバにデータ同期を通知する応答を返した後に主系サーバからクライアント端末にリクエスト応答する構成とはせずに、主系サーバで処理したデータを受信した従系サーバが直接クライアント端末にリクエスト応答する構成としたので、リクエスト電文の受信からクライアント端末への応答までの時間を短縮することが可能となり、レスポンス性の向上が図られる。   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 application control unit 12 and the heartbeat monitoring unit 11 monitor whether or not a failure has occurred in the business processing of the own node based on the detection result of the monitoring unit 121 of the own node (step S4). When the occurrence of a failure is detected from the monitoring unit 121, the business application control unit 12 performs a process of stopping each process of the business application of the own node (step S5). When such processing is completed, the monitoring unit 121 detects the stop of the business application and provides the detection information to the heartbeat monitoring unit 11. The heartbeat monitoring unit 11 that has acquired the detection information changes the status information included in the heartbeat message to “ShutDown” (step S6). Here, when each process of the business application is completely stopped, the business heartbeat message is not transmitted from the monitoring unit 121, and the reception of the business heartbeat message at the other system server is interrupted.

以上の処理は、他ノードであるサーバ2でも同様に行われる。但し、主系であるサーバ1と従系であるサーバ2では、業務処理の内容が異なるので、自ノードの業務アプリケーションの状態を検出する際の監視部121及び221間での障害検出の対象は、相互に異なるものとなる。   The above processing is similarly performed in the server 2 which is another node. However, because the contents of the business process are different between the primary server 1 and the secondary server 2, the fault detection target between the monitoring units 121 and 221 when detecting the status of the business application of the own node is , They will be different from each other.

(業務アプリケーション切り替え部の処理)
次に、図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 application switching unit 23 of the secondary server 2 will be mainly described.

サーバ2の業務アプリケーション切り替え部23は、ハートビート監視部21でのハートビート電文の受信が途絶されたか(ステップS11)及びハートビート電文のステータス情報が「ShutDown」であるか(ステップS12)をチェックする。ここで、業務アプリケーション切り替え部23は、ハートビート電文中のステータス情報が「READY」であればステップS11及びS12を繰り返し、ハートビート監視部21で「ShutDown」のハートビート電文を受信した場合、或いはハートビート監視部21でハートビート電文を受信できなくなった場合に、ステップS13に移行して警告の処理を行う。この警告処理は、他ノードで異常が発生した旨を自ノードの表示画面に表示する処理である。続いて、業務アプリケーション切り替え部23は、監視部221で業務ハートビート電文が受信されているか否か(ステップS14)により他系の業務状態を判定した上で、主従系サーバへの切り替えを行うか否かを判断する。   The business application switching unit 23 of the server 2 checks whether reception of the heartbeat message at the heartbeat monitoring unit 21 is interrupted (step S11) and whether the status information of the heartbeat message is “ShutDown” (step S12). To do. Here, if the status information in the heartbeat message is “READY”, the business application switching unit 23 repeats steps S11 and S12, and when the heartbeat monitoring unit 21 receives the “ShutDown” heartbeat message, or When the heartbeat monitoring unit 21 can no longer receive a heartbeat message, the process proceeds to step S13 to perform warning processing. This warning process is a process for displaying on the display screen of the own node that an abnormality has occurred in another node. Subsequently, the business application switching unit 23 determines whether the monitoring unit 221 has received a business heartbeat message (step S14) and then switches to the master / slave server after determining the business status of the other system. Judge whether or not.

すなわち、業務アプリケーション切り替え部23は、他系サーバからの業務ハートビート電文が受信できない「途絶」状態となった場合(ステップS14でYES)に、他系(この場合は主系)サーバ1の業務に障害ありとみなし、自ノードを主従系サーバとするように切り替える処理を行う(ステップS15)。他方、業務ハートビート電文が監視部221で受信できている場合(ステップS14でNO)には、業務アプリケーション切り替え部23は、ステップS11乃至ステップS13の処理を繰り返す。   In other words, when the business application switching unit 23 is in a “disruption” state in which the business heartbeat message cannot be received from another server (YES in step S14), the business application of the other system (in this case, the primary server 1). In step S15, it is determined that there is a failure and the own node is switched to the master-slave server. On the other hand, when the business heartbeat message can be received by the monitoring unit 221 (NO in step S14), the business application switching unit 23 repeats the processes in steps S11 to S13.

ハートビート電文に含まれるステータス情報と業務ハートビート電文の受信状態の組合せから業務アプリケーション切り替え部23が判定する内容についてのマトリクス表を図5に示す。本システムでは、ハートビート電文と業務ハートビート電文の両方が途絶状態になった場合、あるいはハートビート電文に含まれるステータス情報が「ShutDown」で業務ハートビート電文が途絶状態である場合に主従系サーバへの切り替えを行うことが分かる。   FIG. 5 shows a matrix table of contents determined by the business application switching unit 23 from the combination of the status information included in the heartbeat message and the reception state of the business heartbeat message. In this system, when both the heartbeat message and the business heartbeat message are in a suspended state, or when the status information included in the heartbeat message is “ShutDown” and the business heartbeat message is in a suspended state, It turns out that it switches to.

したがって、ハートビート電文中のステータス情報が「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 application switching unit 23 regards the business application of the other node as having no failure, and performs step S13. To display a warning that there is an error in the status display of the heartbeat message. On the other hand, when the stop of the business heartbeat message transmission process at the other server is merely delayed (that is, when ShutDown precedes), the business application switching unit 23 If the determinations of S11 to S14 are continued, it is possible to determine the interruption of the business heartbeat reception. In such a case, the process proceeds to step S15.

本システムでは、このように、監視プロセスのハートビートとは別個に、業務プロセス自身(換言すると業務アプリケーション自ら)が所定周期でハートビートを繰り返し出力する構成としていることから、業務アプリケーションの死活状態を他系サーバで正確に検出することが可能となり、また、他ノードの業務アプリケーションの停止時に主従系サーバへの切り替えを速やかに行うことができるようになる。   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 application switching unit 23 determines that there is no failure in the business of the other node if the status information in the heartbeat message is “READY”. Accordingly, the switching process of step S15 is not performed, but a warning display process indicating that the business heartbeat message has not been received is performed (see FIG. 5). In this case, it is typically considered that an abnormality has occurred in the reception function of the business heartbeat message of the own node.

また、業務アプリケーション切り替え部23は、ハートビート電文の受信が途絶された場合(ステップS11でYES)でも、業務ハートビート電文が受信できている場合には、同様に他ノードの業務自体には障害なしとみなしてステップS15の切り替え処理を行わないが、ハートビート電文が受信できていない旨の警告表示の処理を行うようにする(図5参照)。この場合、典型的には、自ノードのハートビート受信機能あるいは他ノードのハートビート送信機能に異常が生じたことが考えられる(図2参照)。   In addition, the business application switching unit 23 similarly fails in the business itself of other nodes when the business heartbeat message is received even when the reception of the heartbeat message is interrupted (YES in step S11). The switching process in step S15 is not performed because it is considered that there is none, but a warning display process indicating that a heartbeat message has not been received is performed (see FIG. 5). In this case, it is typically considered that an abnormality has occurred in the heartbeat reception function of the own node or the heartbeat transmission function of another node (see FIG. 2).

なお、上述した処理は、主系であるサーバ1の業務アプリケーション切り替え部13でも同様に行われる。   The processing described above is similarly performed in the business application switching unit 13 of the main server 1.

以下、主系サーバ1の障害発生により、従系であったサーバ2が主従系サーバになるように切り替える処理について説明する。   In the following, a description will be given of a process of switching the slave server 2 so as to become the master slave server due to the failure of the master server 1.

(業務アプリケーションの障害発生時)
サーバ1は、自ノードの業務処理(この場合、クライアント端末からのリクエスト電文の受信、当該リクエストの処理、従系サーバ(サーバ2)への同期データの送信、業務ハートビートの送受信のいずれか)に障害が発生した場合(ステップS4でYES)、自ノードの業務アプリケーションの各プロセスを停止する(ステップS5)。そして、業務アプリケーションの全プロセスが停止した後に、自ノードの状態を「ShutDown」とするハートビート電文を送信する(ステップS6)。
(When a business application failure occurs)
The server 1 performs the business process of its own node (in this case, any of reception of a request message from the client terminal, processing of the request, transmission of synchronous data to the slave server (server 2), transmission / reception of business heartbeat) If a failure occurs (YES in step S4), each process of the business application of the own node is stopped (step S5). Then, after all the processes of the business application are stopped, a heartbeat message with the status of the local node being “ShutDown” is transmitted (step S6).

(その他の障害発生時)
その他の障害発生の場合、例えばサーバ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 server 1, neither the heartbeat message nor the business heartbeat message can be transmitted from the server 1. Reception of these messages is in a “disruption” state. However, a failure may occur only in the heartbeat message transmission function. In this case, the business heartbeat message is transmitted from the server 1.

(サーバ2の処理)
これに対して、サーバ1の障害を検出したサーバ2は、ステップS15で記憶部24の設定テーブルを書き換える(図8及び図9参照)。記憶部24に格納された設定テーブルの初期設定状態を図8に示す。この設定テーブルでは、業務アプリケーションの業務すなわち各機能の処理主体を規定している。図中のトピック欄は、業務アプリケーションの機能を示すものであり、「/HB」がハートビート電文の送受信機能、「/WHB」が業務ハートビート電文の送受信機能、「/SYNC」が同期データの送受信機能、「/ORD」がクライアント端末からのリクエスト電文の受信及び処理機能、「/ACK」がクライアント端末への応答機能、「/DB」がデータベースへの保存機能を示す。
(Processing of server 2)
On the other hand, the server 2 that has detected the failure of the server 1 rewrites the setting table in the storage unit 24 in step S15 (see FIGS. 8 and 9). An initial setting state of the setting table stored in the storage unit 24 is shown in FIG. This setting table defines the business of the business application, that is, the processing subject of each function. The topic column in the figure indicates the function of the business application, where “/ HB” is the heartbeat message transmission / reception function, “/ WHB” is the business heartbeat message transmission / reception function, and “/ SYNC” is the synchronization data. A transmission / reception function, “/ ORD” indicates a function for receiving and processing a request message from the client terminal, “/ ACK” indicates a response function to the client terminal, and “/ DB” indicates a storage function in the database.

また、トピック欄に対応する右側の欄では、各機能を処理する主体や各機能の活性(アクティブ)状態を示しており、図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 server 1, and the response to the client terminal (“Cl”) and the database Is stored in “SII”, that is, the server 2 is set. In the normal state, it is understood that the status information “READY” is included in the heartbeat message transmitted and received.

サーバ2は、ステータス情報として「ShutDown」の含まれたハートビート電文を受信し(ステップS12でYES)、業務ハートビート電文の途絶を検出すると(ステップS14でYES)、図9に示すように、サーバ1の業務プロセス(SI_WP)における業務ハートビート電文の送信機能(/WHB)、同期用データの送信機能(/SYNC)、及びクライアント端末からのリクエスト電文の受信機能(/ORD)の活性状態をそれぞれ非活性に設定する(図中「×」で表記)とともに、自ノードの業務プロセス(SII_WP)でのクライアント端末からのリクエスト電文の受信及び処理機能(/ORD)を活性化させる(図中「○」で表記)ように設定テーブルを書き換える。なお、この場合は同期用データの送受信機能は使用しないため、自ノードの業務プロセス(SII_WP)の「/SYNC」を非活性に設定する(図中「−」で表記)。   When the server 2 receives the heartbeat message including “ShutDown” as the status information (YES in step S12) and detects the interruption of the business heartbeat message (YES in step S14), as shown in FIG. The active state of the business heartbeat message transmission function (/ WHB), the synchronization data transmission function (/ SYNC), and the request message reception function (/ ORD) from the client terminal in the server 1 business process (SI_WP) Each is set to inactive (denoted by “x” in the figure), and the reception and processing function (/ ORD) of the request message from the client terminal in the business process (SII_WP) of the own node is activated (in the figure “ Rewrite the setting table as shown by “○”. In this case, since the synchronization data transmission / reception function is not used, “/ SYNC” of the business process (SII_WP) of the local node is set to inactive (denoted by “−” in the figure).

かかる処理の後、書き換えられた設定テーブルの設定に基づいて、従系であったサーバ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 slave server 2 performs processing as the primary slave server as shown in FIG. That is, the server 2 receives a request message from the client terminal 40 that accesses the business application via the network 100 by the communication unit 222 and processes the request content by the business application (business application control unit 22) of its own node. The processing result data is transmitted as a request response from the communication unit 222 to the client terminal 40 via the network 100, thereby providing a data service to the client terminal 40. Further, the business application control unit 22 of the server 2 stores a series of processing result data including the request message in the database 3 via the communication unit 222.

(クライアント端末の処理)
なお、障害発生時点から上述の切り替え処理が完了するまでは、クライアント端末40からのリクエスト電文が受信されない或いは処理されないことになるため、当該リクエスト電文に対するリクエスト応答がされない状態となる。したがって、クライアント端末40は、リクエスト電文に対する応答が所定時間経過してもなされない場合に、当該無応答となったリクエスト電文を主従系サーバに再送する。
(Client terminal processing)
In addition, since the request message from the client terminal 40 is not received or processed until the above-described switching process is completed after the failure occurs, the request response to the request message is not received. Therefore, when the response to the request message is not made even after a predetermined time has elapsed, the client terminal 40 retransmits the request message that has become no response to the master-slave server.

(主系サーバが主従系サーバに切り替わる場合)
次に、従系サーバ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 server 1 which is the primary server to become the primary and secondary server due to the failure of the secondary server 2.

(サーバ2の処理)
サーバ2は、自ノードの業務処理、この場合、サーバ1からの同期データの受信、クライアント端末への応答、データベースへの保存、業務ハートビートの送受信のいずれかに障害が発生した場合(ステップS4でYES)、自ノードの業務アプリケーションの各プロセスを停止する(ステップS5)。そして、業務アプリケーションの全プロセスが停止した後に、自ノードの状態を「ShutDown」とするハートビート電文を送信する(ステップS6)。
(Processing of server 2)
The server 2 has a failure in any of the business processing of its own node, in this case, reception of synchronous data from the server 1, response to the client terminal, storage in the database, transmission / reception of the business heartbeat (step S4). YES), each process of the business application of its own node is stopped (step S5). Then, after all the processes of the business application are stopped, a heartbeat message with the status of the local node being “ShutDown” is transmitted (step S6).

(その他の障害発生時)
その他の障害発生の場合、例えばサーバ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 server 2, neither the heartbeat message nor the business heartbeat message can be transmitted from the server 2. Reception of these messages is in a “disruption” state. However, a failure may occur only in the heartbeat message transmission function. In this case, the business heartbeat message is transmitted from the server 2.

(サーバ1の処理)
一方、サーバ2の障害を検出したサーバ1は、ステップS15で記憶部24の設定テーブルを例えば図10のように書き換える。ここで、図10は、従系のサーバ2が電源遮断によりダウンした場合の設定テーブルの書き換えの例を示している。
(Processing of server 1)
On the other hand, the server 1 that has detected the failure of the server 2 rewrites the setting table in the storage unit 24 as shown in FIG. 10 in step S15. Here, FIG. 10 shows an example of rewriting the setting table when the slave server 2 is down due to power shutdown.

すなわち、サーバ1は、サーバ2からのハートビート電文の受信が途絶されたことを検出し(ステップS11でYES)、ステップS14で業務ハートビート電文の途絶を検出すると、図10に示すように、サーバ2の業務プロセス(SII_WP)におけるハートビート電文の送受信機能(/HB)、業務ハートビート電文の送信機能(/WHB)、同期データの受信機能(/SYNC)、クライアント端末への応答機能(/ACK)、及びデータベース保存機能(/DB)の活性状態をそれぞれ取消す(図中「×」で表記)とともに、自ノードの業務プロセス(SI_WP)でのクライアント端末からのリクエスト電文の受信及び処理機能(/ORD)を活性化させる(図中「○」で表記)ように設定テーブルを書き換える。なお、この場合は同期用データの送受信機能は使用しないため、自ノードの業務プロセス(SII_WP)の「/SYNC」を非活性にする(図中「−」で表記)。   That is, the server 1 detects that the reception of the heartbeat message from the server 2 is interrupted (YES in step S11), and detects the interruption of the business heartbeat message in step S14, as shown in FIG. Heartbeat message transmission / reception function (/ HB), business heartbeat message transmission function (/ WHB), synchronous data reception function (/ SYNC), response function to client terminal (/) in the business process (SII_WP) of server 2 ACK) and the active state of the database storage function (/ DB) are canceled (indicated by “x” in the figure), and the request message received from the client terminal and processing function in the business process (SI_WP) of the own node ( / ORD) is activated (represented by “◯” in the figure), and the setting table is rewritten. In this case, since the synchronization data transmission / reception function is not used, “/ SYNC” of the business process (SII_WP) of the local node is deactivated (denoted by “−” in the figure).

かかる処理の後、書き換えられた設定テーブルの設定に基づいて、主系であったサーバ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 server 2 that was the master performs processing as a master-slave server as shown in FIG. That is, the server 1 receives a request message from the client terminal 40 accessing the business application via the network 100 by the communication unit 122 and processes the request content by the business application (business application control unit 12) of its own node. By transmitting the processing result data from the communication unit 122 to the client terminal 40 via the network 100 as a request response, the data service is provided to the client terminal 40. Further, the business application control unit 12 of the server 1 stores a series of processing result data including the request message in the database 3 via the communication unit 122.

このように、本システムでは、ハートビート電文に基づく監視プロセス(図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 server 1 or 2. As a result, it is detected by the business application control unit (12 or 22). Hereinafter, the case where the start command is input from the server 1 will be described. The business application control unit 12 of the server 1 that has detected the start command controls the business application control of the other server 2 via the communication units 122 and 222. The information is transferred to the unit 22 and the business application switching unit 13 of the own node is notified that the start command has been received. The business application switching unit 13 performs the determination in step S10 when the server is activated, and determines that the heartbeat monitoring mode is turned on when notified that the start command has been received (YES in step S10). The processing after step S11 is started. On the other hand, the server 2 to which the start command is transferred from the server 1 notifies the business application switching unit 23 from the business application control unit 22 that the start command has been received. Similarly, the business application switching unit 23 performs the heartbeat monitoring mode. Is turned on (YES in step S10), and the processing from step S11 onward is started.

このように、本システムの第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 Server 11, 21 Heartbeat (HB) monitoring unit 12, 22 Business application (AP) control unit 121, 221 Monitoring unit 122, 222 Communication unit 13, 23 Business application (AP) switching unit 14, 24 Storage unit 3 Database 40 Client terminal 100 Network

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 client according to claim 1, wherein the switching unit is prohibited from switching to the master-slave server regardless of the detection results of the heartbeat monitoring unit and the business heartbeat monitoring unit until a monitoring start command is received. Server system. 前記従系サーバは、前記受信された処理データを前記クライアント端末に転送するとともにデータベースに保存し、
前記切り替え部は、自サーバを、さらに、前記処理結果データのデータベースへの保存を行うように動作させる請求項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.
前記切り替え部は、前記ハートビート及び前記業務ハートビートの両方の受信が途絶されると、自サーバを前記主従系サーバに切り替える請求項1乃至3のいずれか一項に記載のクライアントサーバシステム。 The switching unit, the reception of both the heartbeat and the business heartbeat is disrupted, client-server system according to any one of claims 1 to 3 to switch the local server to the master-slave system server. 前記ハートビートには自サーバのステータス情報が含まれ、
前記ハートビート監視部は、自サーバの業務アプリケーションが停止すると、該停止を示すステータス情報を含めたハートビートを送信し、
前記切り替え部は、前記停止を示すステータス情報のハートビートが受信されると前記業務ハートビートの受信の有無をチェックし、業務ハートビートの受信が途絶されると、自サーバを前記主従系サーバに切り替える請求項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
JP2012056245A 2012-03-13 2012-03-13 Hot-standby client-server system Expired - Fee Related JP5707355B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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