JP7340956B2 - Redundant system and data synchronization method - Google Patents

Redundant system and data synchronization method Download PDF

Info

Publication number
JP7340956B2
JP7340956B2 JP2019097799A JP2019097799A JP7340956B2 JP 7340956 B2 JP7340956 B2 JP 7340956B2 JP 2019097799 A JP2019097799 A JP 2019097799A JP 2019097799 A JP2019097799 A JP 2019097799A JP 7340956 B2 JP7340956 B2 JP 7340956B2
Authority
JP
Japan
Prior art keywords
data
database
update
controller
synchronization
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.)
Active
Application number
JP2019097799A
Other languages
Japanese (ja)
Other versions
JP2020194216A (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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP2019097799A priority Critical patent/JP7340956B2/en
Publication of JP2020194216A publication Critical patent/JP2020194216A/en
Application granted granted Critical
Publication of JP7340956B2 publication Critical patent/JP7340956B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、冗長システムを構成する複数のコントローラ間でデータを同期させる技術に関する。 The present invention relates to a technology for synchronizing data between multiple controllers forming a redundant system.

従来、プラントなどのプロセス制御に用いるプロセス制御システムにおいて、高信頼性を要求される場合には、複数のコントローラを設ける冗長構造をもつ構成が用いられている。このように、コントローラを多重化してシステムを冗長させることで、システムはより安定した運用を行える。このような冗長構造をもつ従来のプラント制御システムは、例えば、現用系として稼働する第1のコントローラと、待機系として稼働する第2のコントローラを備え、第1のコントローラに異常が発生すると、待機系だった第2のコントローラを現用系に切り替える。一般的に、このような冗長システムでは、2台の装置が同じ内容のデータを保持するよう、互いの装置間でデータを同期させる処理が行われる(例えば特許文献1参照)。 BACKGROUND ART Conventionally, in process control systems used for process control of plants and the like, when high reliability is required, a configuration having a redundant structure in which a plurality of controllers are provided has been used. In this way, by making the system redundant by multiplexing controllers, the system can operate more stably. Conventional plant control systems with such a redundant structure include, for example, a first controller that operates as an active system and a second controller that operates as a standby system, and when an abnormality occurs in the first controller, the system Switch the second controller that was the system to the active system. Generally, in such a redundant system, a process is performed to synchronize data between two devices so that the two devices hold data with the same content (for example, see Patent Document 1).

特開平05-089072号公報Japanese Patent Application Publication No. 05-089072

冗長システムを構成する装置間でデータを同期させる方法はいくつか知られている。しかし、ビル等の施設内に設置されている複数の監視対象機器を監視する施設監視システムにおいて、2台のコントローラ間でそれらの汎用的な技術を用いてデータの同期を行うと、不具合が生じる場合がある。 Several methods are known for synchronizing data between devices that make up a redundant system. However, in a facility monitoring system that monitors multiple monitored devices installed in facilities such as buildings, problems occur when data is synchronized between two controllers using these general-purpose technologies. There are cases.

例えば、施設監視システムは、2台のコントローラによる二重化構成とされ、各コントローラはそれぞれデータベースを備えている。データベースには、例えば監視対象機器(以下、「監視ポイント」という。)から収集した当該監視ポイントの現在値を示すデータなど、施設監視システムにおいて比較的重要度の高いデータ、あるいは更新頻度の高いデータが格納される。 For example, a facility monitoring system has a duplex configuration with two controllers, each controller having its own database. The database includes data that is relatively important in the facility monitoring system, such as data collected from monitored equipment (hereinafter referred to as "monitoring points") indicating the current value of the monitoring point, or data that is updated frequently. is stored.

コントローラは、データベース内のこれらのデータを更新する際、更新トランザクションを実行する。コントローラは、更新トランザクションが正常に終了(コミット)すると、当該データをデータベースに書き込み、データベースの更新を完了する。一方、コントローラは、更新トランザクションの実行中に何らかの障害が発生すると、当該更新を無効とし、データベースを更新前の状態に戻す。したがって、当該更新の途中状態のデータが他方のコントローラに同期されることは本来は望ましくない。 The controller performs update transactions when updating these data in the database. When the update transaction is successfully completed (committed), the controller writes the data to the database and completes the database update. On the other hand, if any failure occurs during execution of an update transaction, the controller invalidates the update and returns the database to its pre-update state. Therefore, it is originally undesirable for the data in the middle of updating to be synchronized with the other controller.

しかし、2台のコントローラ間で汎用的な技術によりデータの同期を行った場合、その方法によっては更新途中の不完全なデータが他方のコントローラのデータベースに同期されてしまう場合があった。また、その場合、他方のコントローラで当該不完全なデータが含まれたデータベースを復元しようとすると、データベースそのものが壊れてしまうおそれもあった。 However, when data is synchronized between two controllers using a general-purpose technique, incomplete data that is being updated may be synchronized with the database of the other controller depending on the method. Furthermore, in this case, if the other controller attempts to restore the database containing the incomplete data, there is a risk that the database itself will be destroyed.

この発明は、上記のような課題を解決するためになされたもので、複数のコントローラ間において、データを正確に同期させることを目的としている。 The present invention was made to solve the above-mentioned problems, and its purpose is to accurately synchronize data between a plurality of controllers.

この発明に係る冗長システムは、複数のコントローラにより構成され、各コントローラは、互いに異なる同期方法であり、得られたデータを待機系のコントローラのデータと同期させる複数の同期部と、自機が現用系の場合に、得られたデータを当該データの種別に応じて複数の同期部のうちの1つに出力する出力部と、を備え、出力部は、得られたデータの種別が、当該データの重要度あるいは当該データの更新頻度が冗長システムにおいて最も高い第1のデータであれば、当該第1のデータを複数の同期部のうちの1つであるデータベース同期モジュールに出力し、データベース同期モジュールは、第1のデータに基づく自機のデータベースの更新が正常終了した場合、当該第1のデータのコピーを待機系のコントローラに送信し、第1のデータに基づく自機のデータベースの更新が正常終了しなかった場合、当該第1のデータのコピーを待機系のコントローラに送信しないことを特徴とする。 The redundant system according to the present invention is composed of a plurality of controllers, each controller has a different synchronization method, and a plurality of synchronization units that synchronize obtained data with data of a standby controller, and In the case of a system, the output section outputs the obtained data to one of a plurality of synchronization sections according to the type of the data, and the output section outputs the obtained data to one of the plurality of synchronization sections according to the type of the data. If the first data has the highest importance or update frequency in the redundant system, the first data is output to the database synchronization module, which is one of the plurality of synchronization units, and the database synchronization module If the update of the database of the machine based on the first data is completed normally, the copy of the first data is sent to the standby controller, and the update of the database of the machine based on the first data is completed successfully. If the process does not end, the copy of the first data is not sent to the standby controller .

この発明によれば、上記のように構成したので、複数のコントローラ間において、データを正確に同期させることができる。 According to the present invention, with the above configuration, data can be accurately synchronized between a plurality of controllers.

実施の形態1に係る冗長システムの構成例を示す図である。1 is a diagram showing a configuration example of a redundant system according to Embodiment 1. FIG. 実施の形態1におけるデータの種別及び設定部の設定内容の例を示す図である。5 is a diagram illustrating an example of data types and setting contents of a setting unit in the first embodiment. FIG. 実施の形態1におけるコントローラにインストールされているソフトウェアの構成例を示す図である。FIG. 3 is a diagram showing an example of the configuration of software installed in the controller in the first embodiment. 実施の形態1における第1の更新データ又はそのコピーの流れを示す図である。FIG. 3 is a diagram showing a flow of first update data or a copy thereof in the first embodiment. 実施の形態1における第2の更新データ又はそのコピーの流れを示す図である。FIG. 3 is a diagram showing a flow of second update data or a copy thereof in the first embodiment. 実施の形態1における第3の更新データの流れを示す図である。7 is a diagram showing the flow of third update data in the first embodiment. FIG. 実施の形態1におけるコントローラによる同期処理の流れを示すフローチャートである。7 is a flowchart showing the flow of synchronization processing by the controller in the first embodiment.

以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は、この発明の実施の形態1に係る冗長システムの構成例を示している。冗長システム1は、複数(ここでは2台)のコントローラ10(10A、10B)と、複数の監視ポイント200と、不図示の監視装置とを含んで構成されている。コントローラ10A、10Bと、各監視ポイント200と、監視装置とは、システムバス150を介して相互に通信可能に接続されている。ここでは、コントローラが2台で構成されているため、冗長システム1を二重化システム1として説明する。しかしながら、コントローラの台数は必ずしも2台でなくともよく、いずれか1台のコントローラが現用系(アクティブ)として稼働できる構成であれば、3台以上であってもよい。
Embodiments of the present invention will be described in detail below with reference to the drawings.
Embodiment 1.
FIG. 1 shows an example of the configuration of a redundant system according to Embodiment 1 of the present invention. The redundant system 1 includes a plurality of (two in this case) controllers 10 (10A, 10B), a plurality of monitoring points 200, and a monitoring device (not shown). The controllers 10A and 10B, each monitoring point 200, and the monitoring device are connected via a system bus 150 so that they can communicate with each other. Here, since the controller is configured with two controllers, the redundant system 1 will be described as a duplex system 1. However, the number of controllers does not necessarily have to be two, and may be three or more as long as any one controller can operate as an active system.

二重化システム1は、二重化機能を備えている。二重化機能は、2台のコントローラ10A、10Bで監視ポイント200の監視、制御を行う機能である。すなわち、二重化システム1は、通常時はコントローラ10Aを現用系、コントローラ10Bを待機系(スタンバイ)として稼働させ、現用系のコントローラ10Aが監視ポイント200の監視、制御、及びデータの収集等の処理を行う。コントローラ10Aは、データベース25Aが構築されたSSD(Solid State Drive)20Aを備えており、コントローラ10Aは、監視ポイント200から収集したデータを、SSD20A内のデータベース25Aに格納する。 The duplex system 1 has a duplex function. The duplication function is a function that monitors and controls the monitoring point 200 using two controllers 10A and 10B. That is, in the duplex system 1, the controller 10A is normally operated as the active system and the controller 10B is operated as the standby system, and the active controller 10A performs processing such as monitoring and controlling the monitoring points 200, and collecting data. conduct. The controller 10A includes an SSD (Solid State Drive) 20A in which a database 25A is constructed, and the controller 10A stores data collected from the monitoring points 200 in the database 25A in the SSD 20A.

また、二重化機能は、データベースの同期も管理する。例えば、二重化システム1では、現用系のコントローラ10Aが起動した状態で、待機系のコントローラ10Bが起動すると、待機系のコントローラ10Bは、現用系のコントローラ10Aに対し、データベース25Aのコピーを要求する。この要求を受け付けたコントローラ10Aは、コントローラ10Bに対し、データベース25Aのコピーを送信する。コントローラ10Bは、コントローラ10Aからデータベース25Aのコピーを受信すると、当該コピーを用いて、自機が備えるSSD20B内にデータベース25Bを構築する。 The duplication function also manages database synchronization. For example, in the duplex system 1, when the standby controller 10B starts up while the active controller 10A is started, the standby controller 10B requests the active controller 10A to copy the database 25A. Upon receiving this request, the controller 10A transmits a copy of the database 25A to the controller 10B. When the controller 10B receives the copy of the database 25A from the controller 10A, the controller 10B uses the copy to construct the database 25B in the SSD 20B included in the controller 10B.

その後、コントローラ10Aは、データベース25Aの更新を完了する度に、当該データベース25Aを更新したデータのコピーをコントローラ10Bに送信する。コントローラ10Bは、コントローラ10Aから受信した更新データのコピーをデータベース25Bに書き込み、データベース25Bの更新を完了する。このようにして、二重化システム1は、データベース25A、25Bの同期を行う。 Thereafter, each time the controller 10A completes updating the database 25A, it sends a copy of the updated data to the controller 10B. Controller 10B writes a copy of the update data received from controller 10A to database 25B, and completes the update of database 25B. In this way, the duplex system 1 synchronizes the databases 25A and 25B.

また、二重化システム1は、現用系のコントローラ10Aに障害などの問題が発生した場合、待機系のコントローラ10Bを現用系に切り替える。現用系に切り替わったコントローラ10Bは、監視ポイント200の監視、制御、及びデータの収集等の処理を継続し、監視ポイント200から収集したデータを、SSD20B内のデータベース25Bに格納する。 Further, in the duplex system 1, when a problem such as a failure occurs in the active controller 10A, the standby controller 10B is switched to the active controller. The controller 10B that has been switched to the active system continues processing such as monitoring and controlling the monitoring point 200, and collecting data, and stores the data collected from the monitoring point 200 in the database 25B in the SSD 20B.

ここで、実施の形態1では、コントローラ10A、10Bは、データベース25A、25Bに格納されるデータをはじめとする種々のデータを、複数の種別に分類してSSD20A、20Bに記憶している。次に、SSD20A、20Bに記憶されるデータの種別について、図2を参照しながら説明する。 Here, in the first embodiment, the controllers 10A and 10B classify various data including data stored in the databases 25A and 25B into a plurality of types and store them in the SSDs 20A and 20B. Next, the types of data stored in the SSDs 20A and 20B will be explained with reference to FIG.

例えば、SSD20Aには図2に示すように、データが「第1のデータ」、「第2のデータ」、「第3のデータ」の3つの種別に分かれて記憶されている。ここで、「第1のデータ」とは、「データベース25Aに格納し、かつデータベース25Bのデータと同期するデータ」であり、「第2のデータ」とは、「データベース25Aに格納しないが、SSD20Bのデータと同期するデータ」である。また、「第3のデータ」とは、「SSD20Bのデータと同期しないデータ」である。 For example, as shown in FIG. 2, the SSD 20A stores data divided into three types: "first data," "second data," and "third data." Here, the "first data" refers to "data that is stored in the database 25A and is synchronized with the data in the database 25B," and the "second data" refers to "data that is not stored in the database 25A but is stored in the SSD 20B." data that is synchronized with the data of Further, the "third data" is "data that is not synchronized with the data of the SSD 20B."

この分類は、例えば二重化システム1におけるデータの重要度、あるいは二重化システム1におけるデータの更新頻度に基づいて定められるものであり、「第1のデータ」が重要度あるいは更新頻度が最も高く、次に「第2のデータ」、最後に「第3のデータ」の順に、重要度あるいは更新頻度が高くなっている。 This classification is determined based on, for example, the importance of data in the duplex system 1 or the update frequency of data in the duplex system 1, with "first data" having the highest importance or update frequency, followed by The importance or update frequency increases in the order of "second data" and finally "third data."

「第1のデータ」には、例えば監視ポイント200から収集した現在値(例えば、当該ポイント200が温度センサであればその検出温度)、監視ポイント200に関する事象ログ(例えば当該ポイント200において何時何分に障害が発生した)などが含まれる。これらのデータは、二重化システム1において比較的重要度が高く、かつ更新頻度も高いものと考えられる。したがって、二重化システム1では、これらのデータを1つの種別として取り扱うこととし、これらのデータはデータベース25Aに格納し、かつデータベース25Bのデータと同期させる。 The "first data" includes, for example, the current value collected from the monitoring point 200 (for example, the detected temperature if the point 200 is a temperature sensor), an event log related to the monitoring point 200 (for example, what time and minute at the point 200 (failure occurred), etc. These data are considered to have relatively high importance in the duplex system 1 and are updated frequently. Therefore, in the duplex system 1, these data are handled as one type, and these data are stored in the database 25A and synchronized with the data in the database 25B.

「第2のデータ」には、例えば、コントローラ10Aに関する各種設定データ、コントローラ10Aにインストールされているソフトウェア及びハードウェアのライセンスに関するデータ、二重化システム1のシステム構成に関するデータなどが含まれる。これらのデータは、二重化システム1において、第1のデータほど重要度あるいは更新頻度は高くないが、SSD20Bとの間では同期させた方がよいと考えられるデータである。したがって、二重化システム1では、これらのデータを1つの種別として取り扱うこととし、これらのデータはデータベース25Aには格納しないが、SSD20Bのデータとは同期させる。 The "second data" includes, for example, various setting data regarding the controller 10A, data regarding software and hardware licenses installed in the controller 10A, data regarding the system configuration of the duplex system 1, and the like. Although these data are not as important or updated as highly as the first data in the duplex system 1, it is considered to be data that should be synchronized with the SSD 20B. Therefore, in the duplex system 1, these data are treated as one type, and although these data are not stored in the database 25A, they are synchronized with the data in the SSD 20B.

「第3のデータ」には、例えばコントローラ10AのOS関連のプログラム、コントローラ10Aにインストールされている各種アプリケーションプログラム、コントローラ10Aのシステムログ、コントローラ10Aに搭載されているハードウェアの固有情報などが含まれる。これらのデータは、SSD20Bとの間で同期せずともよいと考えられるデータであるため、二重化システム1ではこれらのデータを1つの種別として取り扱うこととし、これらのデータはSSD20Bのデータとは同期させない。 The "third data" includes, for example, programs related to the OS of the controller 10A, various application programs installed on the controller 10A, system logs of the controller 10A, unique information of the hardware installed on the controller 10A, etc. It will be done. Since these data are considered to be data that do not need to be synchronized with the SSD 20B, the duplex system 1 treats these data as one type, and these data are not synchronized with the data of the SSD 20B. .

また、コントローラ10Aは、図2に示すように、設定部45Aを備えている。設定部45Aには、上記した第1のデータ及び第2のデータをどのような方法でSSD20Bのデータと同期させるかが設定されている。設定部45Aは、例えばコントローラ10Aが備える不図示のメモリに構成されている。 The controller 10A also includes a setting section 45A, as shown in FIG. The setting unit 45A is set to determine how the first data and second data described above are to be synchronized with the data in the SSD 20B. The setting unit 45A is configured, for example, in a memory (not shown) included in the controller 10A.

例えば、設定部45Aには、第1のデータを二重化システム1が備える二重化機能によりSSD20B(データベース25B)のデータと同期させることが設定されている。同様に、設定部45Aには、第2のデータを、データの同期方法として広く知られているDRBD(Distributed Replicated Block Device、登録商標)によりSSD20Bのデータと同期させることが設定されている。なお、設定部45Aには、第3のデータはSSD20Bのデータと同期しないことが設定されていてもよい。 For example, the setting unit 45A is set to synchronize the first data with the data of the SSD 20B (database 25B) using the duplication function provided in the duplication system 1. Similarly, the setting unit 45A is set to synchronize the second data with the data of the SSD 20B using DRBD (Distributed Replicated Block Device, registered trademark), which is widely known as a data synchronization method. Note that the setting unit 45A may be set that the third data is not synchronized with the data of the SSD 20B.

なお、ここで説明したデータの種別とその具体例、及びデータの種別毎の同期方法は、例えばコントローラ10Aの設計段階でユーザ(管理者)により決められればよい。また、第2のデータの同期方法として例示したDRBDはあくまで一例であり、第2のデータの同期方法はその他の方法であってもよい。 Note that the types of data, their specific examples, and the synchronization method for each type of data described here may be determined by the user (administrator) at the design stage of the controller 10A, for example. Further, the DRBD illustrated as the second data synchronization method is just an example, and the second data synchronization method may be other methods.

また、詳しい説明は省略するが、待機系のコントローラ10Bが備えるSSD20Bも、上述したSSD20Aと同様の構成を有している。すなわち、SSD20Bにも、データが「第1のデータ」、「第2のデータ」、「第3のデータ」に分かれて記憶されている。また、コントローラ10Bは、上述した設定部45Aと同様の内容が設定された設定部45Bを備えている。 Furthermore, although a detailed explanation will be omitted, the SSD 20B included in the standby controller 10B also has the same configuration as the SSD 20A described above. That is, data is also stored in the SSD 20B divided into "first data", "second data", and "third data". Further, the controller 10B includes a setting section 45B in which the same contents as the above-mentioned setting section 45A are set.

次に、コントローラ10A、10Bにインストールされているソフトウェアの構成例について、図3を参照して説明する。図3に示すように、コントローラ10Aとコントローラ10Bとは、基本的に同一のソフトウェア構成を有している。なお、図3において、実線矢印は前述の「第1のデータ」を更新するデータ(以下、「第1の更新データ」と称する。)の流れを示し、破線矢印は「第2のデータ」を更新するデータ(以下、「第2の更新データ」と称する。)の流れを示し、一点鎖線の矢印は「第3のデータ」を更新するデータ(以下、「第3の更新データ」と称する。)の流れを示している。 Next, an example of the configuration of software installed in the controllers 10A and 10B will be described with reference to FIG. 3. As shown in FIG. 3, the controller 10A and the controller 10B basically have the same software configuration. In FIG. 3, solid line arrows indicate the flow of data that updates the above-mentioned "first data" (hereinafter referred to as "first update data"), and dashed line arrows indicate the flow of "second data". The flow of data to be updated (hereinafter referred to as "second update data") is shown, and the dashed-dotted arrow indicates data to update "third data" (hereinafter referred to as "third update data"). ) shows the flow.

<コントローラ10Aのソフトウェア構成例>
コントローラ10Aには、各種アプリケーション51A、データベース同期モジュール52A、データベース管理システム(DBMS)53A、ファイルシステム54A、DRBD55A、ディスクドライバ56A、及び通信ドライバ57Aがインストールされている。
<Example of software configuration of controller 10A>
Various applications 51A, a database synchronization module 52A, a database management system (DBMS) 53A, a file system 54A, a DRBD 55A, a disk driver 56A, and a communication driver 57A are installed in the controller 10A.

各種アプリケーション51Aは、第1の更新データ、第2の更新データ、第3の更新データを受け付ける機能を有するとともに、受け付けた各更新データを処理する機能を有する。 The various applications 51A have a function of receiving first update data, second update data, and third update data, and also have a function of processing each received update data.

例えば、各種アプリケーション51Aは、監視ポイント200から収集した当該ポイント200の現在値を示すデータを第1の更新データとして受け付け、当該データを適宜処理する。また、各種アプリケーション51Aは、例えばユーザにより不図示の入力部を介して入力された二重化システム1のシステム構成に関するデータを第2の更新データとして受け付け、当該データを適宜処理する。また、各種アプリケーション51Aは、例えばコントローラ10Aが不図示のネットワークを介して受信したコントローラ10AのOS関連のプログラムに関するデータを第3の更新データとして受け付け、当該データを適宜処理する。 For example, the various applications 51A accept data collected from the monitoring points 200 indicating the current value of the points 200 as first update data, and process the data as appropriate. Further, the various applications 51A accept, for example, data regarding the system configuration of the duplex system 1 inputted by the user via an input unit (not shown) as second update data, and process the data as appropriate. Further, the various applications 51A receive, for example, data related to the OS-related program of the controller 10A received by the controller 10A via a network (not shown) as third update data, and process the data as appropriate.

また、各種アプリケーション51Aは、設定部45Aの設定内容に基づき、当該処理後のデータを、後述する2つの同期部(データベース同期モジュール52A、DRBD55A)のうちの1つに出力する機能を有する。 Furthermore, the various applications 51A have a function of outputting the processed data to one of two synchronization units (database synchronization module 52A, DRBD 55A) to be described later, based on the settings of the setting unit 45A.

例えば、各種アプリケーション51Aは、第1の更新データを処理すると、当該処理後の第1の更新データをデータベース同期モジュール52Aに出力する。また、各種アプリケーション51Aは、第2の更新データを処理すると、当該処理後の第2の更新データをDRBD55Aに出力する。なお、図の例では、各種アプリケーション51Aは、DRBD55Aに対してはファイルシステム54Aを介して第2の更新データを出力している。ただし、各種アプリケーション51Aは、第3の更新データを処理した場合は、当該処理後の第3の更新データをいずれの同期部(データベース同期モジュール52A、DRBD55A)にも出力せず、ファイルシステム54Aに出力する。ここでは、各種アプリケーション51Aは、本発明の「出力部」を構成する。 For example, after processing the first update data, the various applications 51A output the processed first update data to the database synchronization module 52A. Furthermore, after processing the second update data, the various applications 51A output the processed second update data to the DRBD 55A. In the illustrated example, the various applications 51A output the second update data to the DRBD 55A via the file system 54A. However, when the various applications 51A process the third update data, they do not output the processed third update data to any of the synchronization units (database synchronization module 52A, DRBD 55A) and output it to the file system 54A. Output. Here, the various applications 51A constitute the "output section" of the present invention.

データベース同期モジュール52Aは、各種アプリケーション51Aにより出力された第1の更新データを、データベース管理システム53Aに出力する機能とともに、当該第1の更新データのコピーを、通信ドライバ57Aを介してコントローラ10Bに送信する機能を有する。ここでは、データベース同期モジュール52Aは、本発明の「同期部」を構成する。 The database synchronization module 52A has a function of outputting the first update data output by the various applications 51A to the database management system 53A, and also sends a copy of the first update data to the controller 10B via the communication driver 57A. It has the function of Here, the database synchronization module 52A constitutes the "synchronization unit" of the present invention.

データベース管理システム(DBMS)53Aは、データベース25Aに対するデータの格納や、データベース25Aからのデータの読み出し等、データベース25Aを管理するために必要となる処理を行う。DBMS53Aは、データベース同期モジュール52Aにより出力された第1の更新データに基づき、データベース25Aを更新するための更新トランザクションを実行する。更新トランザクションが正常に終了(コミット)すると、DBMS53Aは、当該第1の更新データをファイルシステム54Aに出力する。 The database management system (DBMS) 53A performs processing necessary to manage the database 25A, such as storing data in the database 25A and reading data from the database 25A. The DBMS 53A executes an update transaction to update the database 25A based on the first update data output by the database synchronization module 52A. When the update transaction is normally completed (committed), the DBMS 53A outputs the first update data to the file system 54A.

ファイルシステム54Aは、SSD20Aに記憶されるデータをファイルとして管理するもので、ファイルの保存機能や暗号化機能などの各種機能を提供する。ここで、ファイルシステム54Aは、DBMS53Aから出力された第1の更新データをディスクドライバ56Aに出力する。また、ファイルシステム54Aは、各種アプリケーション51Aから出力された第2の更新データをDRDB55Aに出力し、各種アプリケーション51Aから出力された第3の更新データをディスクドライバ56Aに出力する。 The file system 54A manages data stored in the SSD 20A as files, and provides various functions such as a file storage function and an encryption function. Here, the file system 54A outputs the first update data output from the DBMS 53A to the disk driver 56A. Further, the file system 54A outputs the second update data output from the various applications 51A to the DRDB 55A, and outputs the third update data output from the various applications 51A to the disk driver 56A.

DRBD55Aは、ネットワーク越しにSSD20Aをリアルタイムに複製する機能を有する汎用のソフトウェアである。DRBD55Aは、ファイルシステム54Aにより出力された第2の更新データをディスクドライバ56Aに出力する。また、DRBD55Aは、第2の更新データのコピーを通信ドライバ57Aに出力する。ここでは、DRBD55Aは、本発明の「同期部」を構成する。 DRBD55A is general-purpose software that has a function of replicating the SSD 20A over the network in real time. The DRBD 55A outputs the second update data output by the file system 54A to the disk driver 56A. Further, the DRBD 55A outputs a copy of the second update data to the communication driver 57A. Here, the DRBD 55A constitutes the "synchronization section" of the present invention.

ディスクドライバ56Aは、SSD20をOSによって制御可能にするためのソフトウェアである。このディスクドライバ56Aは、ファイルシステム54Aにより出力された第1の更新データ及び第3の更新データ、並びにDRBD55Aにより出力された第2の更新データをSSD20Aに記憶させる。このとき、第1の更新データは、SSD20A内のデータベース25Aに格納される。 The disk driver 56A is software that allows the SSD 20 to be controlled by the OS. This disk driver 56A causes the SSD 20A to store the first update data and third update data output by the file system 54A, and the second update data output by the DRBD 55A. At this time, the first update data is stored in the database 25A in the SSD 20A.

通信ドライバ57Aは、コントローラ10Aが備える不図示のネットワークインタフェースカード(NIC)をOSによって制御可能にするためのソフトウェアである。この通信ドライバ57Aは、データベース同期モジュール52Aにより出力された第1の更新データのコピー及びDRBD55Aにより出力された第2の更新データのコピーを、ネットワークで接続された待機系のコントローラ10Bの後述する通信ドライバ57Bに送信する。 The communication driver 57A is software that allows the OS to control a network interface card (NIC) (not shown) included in the controller 10A. This communication driver 57A sends a copy of the first update data output by the database synchronization module 52A and a copy of the second update data output by the DRBD 55A to a standby controller 10B connected via the network, which will be described later. It is sent to driver 57B.

<コントローラ10Bのソフトウェア構成例>
コントローラ10Bには、各種アプリケーション51B、データベース同期モジュール52B、データベース管理システム(DBMS)53B、ファイルシステム54B、DRBD55B、ディスクドライバ56B、及び通信ドライバ57Bがインストールされている。なお、データベース管理システム(DBMS)53B、ファイルシステム54B、ディスクドライバ56B、及び通信ドライバ57Bは、コントローラ10Aにインストールされているものと同様であるため、ここでは説明を省略する。
<Example of software configuration of controller 10B>
Various applications 51B, a database synchronization module 52B, a database management system (DBMS) 53B, a file system 54B, a DRBD 55B, a disk driver 56B, and a communication driver 57B are installed in the controller 10B. Note that the database management system (DBMS) 53B, file system 54B, disk driver 56B, and communication driver 57B are the same as those installed in the controller 10A, so their descriptions are omitted here.

各種アプリケーション51Bは、第1の更新データ、第2の更新データ、第3の更新データを受け付ける機能を有するとともに、受け付けた各更新データを処理する機能を有する。また、各種アプリケーション51Bは、設定部45Bの設定内容に基づき、当該処理後のデータを、後述する2つの同期部(データベース同期モジュール52B、DRBD55B)のうちの1つに出力する機能を有する。 The various applications 51B have a function of receiving first update data, second update data, and third update data, and also have a function of processing each received update data. Further, the various applications 51B have a function of outputting the processed data to one of two synchronization units (database synchronization module 52B, DRBD 55B) to be described later, based on the settings of the setting unit 45B.

なお、待機系のコントローラ10Bでは、各種アプリケーション51Bは、第3の更新データを受け付け、適宜処理する。また、待機系のコントローラ10Bでは、第3の更新データを受け付けるため、各種アプリケーション51Bは、処理後の第3の更新データをいずれの同期部(データベース同期モジュール52B、DRBD55B)にも出力せず、ファイルシステム54Bに出力する。その後、ファイルシステム54Bに出力された第3の更新データは、ディスクドライバ56Bを介してSSD20Bに書き込まれる。ここでは、各種アプリケーション51Bは、本発明の「出力部」を構成する。 Note that in the standby controller 10B, the various applications 51B accept the third update data and process it as appropriate. In addition, since the standby controller 10B receives the third update data, the various applications 51B do not output the processed third update data to any synchronization unit (database synchronization module 52B, DRBD 55B). Output to file system 54B. Thereafter, the third update data output to the file system 54B is written to the SSD 20B via the disk driver 56B. Here, the various applications 51B constitute the "output section" of the present invention.

データベース同期モジュール52Bは、コントローラ10Aのデータベース同期モジュール52Aから通信ドライバ57Aを介して送信された第1の更新データのコピーを、通信ドライバ57Bを介して受信する機能を有する。また、データベース同期モジュール52Bは、受信した第1の更新データのコピーを、DBMS53B、ファイルシステム54B、ディスクドライバ56Bを介してデータベース25Bに書き込み、データベース25Bの更新を完了する。ここでは、データベース同期モジュール52Bは、本発明の「同期部」を構成する。 The database synchronization module 52B has a function of receiving, via the communication driver 57B, a copy of the first update data transmitted from the database synchronization module 52A of the controller 10A via the communication driver 57A. Further, the database synchronization module 52B writes a copy of the received first update data to the database 25B via the DBMS 53B, the file system 54B, and the disk driver 56B, and completes the update of the database 25B. Here, the database synchronization module 52B constitutes the "synchronization section" of the present invention.

DRBD55Bは、コントローラ10AのDRDB55Aから通信ドライバ57Aを介して送信された第2の更新データのコピーを、通信ドライバ57Bを介して受信する機能を有する。DRDB55Bは、受信した第2の更新データのコピーを、ディスクドライバ56Bを介してSSD20Bに書き込み、SSD20Bの更新を完了する。ここでは、DRBD55Bは、本発明の「同期部」を構成する。 The DRBD 55B has a function of receiving, via the communication driver 57B, a copy of the second update data transmitted from the DRDB 55A of the controller 10A via the communication driver 57A. The DRDB 55B writes a copy of the received second update data to the SSD 20B via the disk driver 56B, and completes the update of the SSD 20B. Here, the DRBD 55B constitutes the "synchronization unit" of the present invention.

次に、種別毎の具体的なデータの流れについて、図4から図7を参照して説明する。図4は第1の更新データ又はそのコピーの流れを示し、図5は第2の更新データ又はそのコピーの流れを示し、図6は第3の更新データの流れを示している。図7は、コントローラによる同期処理の流れを示すフローチャートである。 Next, specific data flows for each type will be explained with reference to FIGS. 4 to 7. FIG. 4 shows a flow of first update data or a copy thereof, FIG. 5 shows a flow of second update data or a copy thereof, and FIG. 6 shows a flow of third update data. FIG. 7 is a flowchart showing the flow of synchronization processing by the controller.

<第1の更新データ>
図4は、第1の更新データ又はそのコピーの流れを示している。まず、各種アプリケーション51Aは、図7のステップST1に示すように、例えば監視ポイント200から収集した当該ポイント200の現在値などのデータを、第1の更新データとして受け付ける(図4の符号1a)。
<First update data>
FIG. 4 shows the flow of first update data or a copy thereof. First, as shown in step ST1 in FIG. 7, the various applications 51A accept data such as the current value of the point 200 collected from the monitoring point 200 as first update data (reference numeral 1a in FIG. 4).

各種アプリケーション51Aは、受け付けた第1の更新データを適宜処理し(ステップST2)、設定部45Aを参照して、当該処理後の第1の更新データの同期方法を確認する(ステップST3)。第1の更新データは、二重化機能により同期させることが設定されているので(ステップST4)、各種アプリケーション51Aは、当該設定に基づき、第1の更新データをデータベース同期モジュール52Aに出力する(1b)。データベース同期モジュール52Aは、当該第1の更新データのコピーを取得するとともに、当該第1の更新データをDBMS53Aに出力する(1c)。 The various applications 51A process the received first update data as appropriate (step ST2), and refer to the setting unit 45A to confirm a synchronization method for the processed first update data (step ST3). Since the first update data is set to be synchronized by the duplication function (step ST4), the various applications 51A output the first update data to the database synchronization module 52A based on the settings (1b). . The database synchronization module 52A obtains a copy of the first update data and outputs the first update data to the DBMS 53A (1c).

DBMS53Aは、第1の更新データに基づくデータベース25Aの更新トランザクションを実行し、更新トランザクションが正常に終了(コミット)した場合に、第1の更新データをファイルシステム54A、ディスクドライバ56Aを介してSSD20A内のデータベース25Aに書き込み、データベース25Aの更新を完了する(1d~1f)。 The DBMS 53A executes an update transaction for the database 25A based on the first update data, and when the update transaction is successfully completed (committed), the first update data is transferred to the SSD 20A via the file system 54A and the disk driver 56A. The update of the database 25A is completed (1d to 1f).

また、データベース同期モジュール52Aは、DBMS53Aによるデータベース25Aの更新が完了すると、取得していた第1の更新データのコピーを通信ドライバ57Aを介してコントローラ10Bに送信する(1g、1h)。 Further, when the database 25A is updated by the DBMS 53A, the database synchronization module 52A transmits a copy of the acquired first update data to the controller 10B via the communication driver 57A (1g, 1h).

コントローラ10Bでは、データベース同期モジュール52Bが通信ドライバ57Bを介して当該第1の更新データのコピーを受信する(1i)。データベース同期モジュール52Bは、受信した当該第1の更新データのコピーを、DBMS53B、ファイルシステム54B、ディスクドライバ56Bを介してデータベース25Bに書き込み、データベース25Bの更新を完了する(1j~1m)。 In the controller 10B, the database synchronization module 52B receives the copy of the first update data via the communication driver 57B (1i). The database synchronization module 52B writes a copy of the received first update data to the database 25B via the DBMS 53B, the file system 54B, and the disk driver 56B, and completes the update of the database 25B (1j to 1m).

なお、DBMS53Aは、第1の更新データに基づくデータベース25Aの更新トランザクションが何らかの異常により終了できなかった場合は、ロールバック処理を実行し、データベース25Aの更新を無効とする。この場合、データベース同期モジュール52Aは、第1の更新データのコピーをコントローラ10Bに送信しない。 Note that if the update transaction of the database 25A based on the first update data cannot be completed due to some abnormality, the DBMS 53A executes rollback processing and invalidates the update of the database 25A. In this case, database synchronization module 52A does not send a copy of the first update data to controller 10B.

このように、二重化システム1は、第1の更新データをデータベース25Aに書き込むとともに、第1の更新データのコピーをデータベース25Bに書き込み、データベース25A、データベース25Bを同期させる。特に、二重化システム1は、コントローラ10Aで第1の更新データに基づく更新トランザクションが正常に終了した場合に、当該第1の更新データのコピーをコントローラ10Bに送信し、コントローラ10Bでは、受信した当該第1の更新データのコピーをデータベース25Bに書き込む。これにより、二重化システム1は、システムにとって重要度あるいは更新頻度が高いデータが不完全な状態で同期されることを回避し、データを正確に同期させることができる。 In this way, the duplex system 1 writes the first update data to the database 25A and writes a copy of the first update data to the database 25B, thereby synchronizing the databases 25A and 25B. In particular, when the update transaction based on the first update data is successfully completed in the controller 10A, the duplex system 1 transmits a copy of the first update data to the controller 10B, and the controller 10B sends the received copy of the first update data to the controller 10B. A copy of the update data of No. 1 is written to the database 25B. Thereby, the duplex system 1 can avoid synchronizing data that is highly important or frequently updated for the system in an incomplete state, and can accurately synchronize data.

<第2の更新データ>
図5は、第2の更新データ又はそのコピーの流れを示している。まず、各種アプリケーション51Aは、図7のステップST1に示すように、例えばユーザにより不図示の入力部を介して入力された二重化システム1のシステム構成に関するデータを、第2の更新データとして受け付ける(図5の符号2a)。
<Second update data>
FIG. 5 shows the flow of the second update data or its copy. First, the various applications 51A, as shown in step ST1 in FIG. 5 code 2a).

各種アプリケーション51Aは、受け付けた第2の更新データを適宜処理し(ステップST2)、設定部45Aを参照して、当該第2の更新データの同期方法を確認する(ステップST3)。第2の更新データは、DRBDにより同期させることが設定されているので(ステップST5)、各種アプリケーション51Aは、当該設定に基づき、第2の更新データをファイルシステム54Aを介してDRBD55Aに出力する(2b、2c)。DRBD55Aは、当該第2の更新データのコピーを取得するとともに、当該第2の更新データをディスクドライバ56Aを介してSSD20Aに書き込み、SSD20Aの更新を完了する(2d、2e)。 The various applications 51A process the received second update data as appropriate (step ST2), and refer to the setting unit 45A to check the synchronization method for the second update data (step ST3). Since the second update data is set to be synchronized by the DRBD (step ST5), the various applications 51A output the second update data to the DRBD 55A via the file system 54A based on the settings (step ST5). 2b, 2c). The DRBD 55A obtains a copy of the second update data, writes the second update data to the SSD 20A via the disk driver 56A, and completes the update of the SSD 20A (2d, 2e).

また、DRBD55Aは、SSD20Aの更新を完了すると、当該第2の更新データのコピーを通信ドライバ57Aを介してコントローラ10Bに送信する(2f、2g)。 Furthermore, upon completing the update of the SSD 20A, the DRBD 55A transmits a copy of the second update data to the controller 10B via the communication driver 57A (2f, 2g).

コントローラ10Bでは、DRBD55Bが通信ドライバ57Bを介して当該第2の更新データのコピーを受信する(2h)。そして、DRBD55Bは、受信した第2の更新データのコピーをディスクドライバ56Bを介してSSD20Bに書き込み、SSD20Bの更新を完了する(2i、2j)。 In the controller 10B, the DRBD 55B receives the copy of the second update data via the communication driver 57B (2h). Then, the DRBD 55B writes a copy of the received second update data to the SSD 20B via the disk driver 56B, and completes the update of the SSD 20B (2i, 2j).

DRBDは、リアルタイムでデータをコピーできたり、どのようなファイルシステムにも対応できるといった長所がある。一方、DRDBは、データのコピーを送信している途中でネットワーク障害が発生した場合、ファイルが破損するおそれがあったり、ファイルを構成するブロック単位ではデータを保証できるがファイル単位ではデータを保証できない、といった短所もある。 DRBD has the advantage of being able to copy data in real time and being compatible with any file system. On the other hand, with DRDB, if a network failure occurs while a copy of the data is being sent, there is a risk that the file may be damaged, and data can be guaranteed in units of blocks that make up files, but data cannot be guaranteed in units of files. There are also disadvantages such as.

そこで、二重化システム1は、第1のデータほどは重要度あるいは更新頻度が高くないと考えられるデータを第2のデータとして取り扱い、第2のデータはDRBDなどの汎用的な技術により同期させる。これにより、二重化システム1は、第1のデータと第2のデータとの間で同期方法の棲み分けを行うとともに、重要度あるいは更新頻度に見合った方法で適切かつ簡易にデータを同期させることができる。 Therefore, the duplication system 1 handles data that is considered to be less important or less frequently updated than the first data as second data, and synchronizes the second data using a general-purpose technology such as DRBD. As a result, the duplication system 1 can differentiate the synchronization method between the first data and the second data, and can appropriately and easily synchronize the data using a method commensurate with the importance or update frequency. can.

<第3の更新データ>
図6は、第3の更新データの流れを示している。まず、各種アプリケーション51Aは、図7のステップST1に示すように、例えば不図示のネットワークを介してコントローラ10Aが受信したコントローラ10AのOS関連のプログラムに関するデータを、第3の更新データとして受け付ける(図6の符号3a)。
<Third update data>
FIG. 6 shows the flow of the third update data. First, as shown in step ST1 in FIG. 7, the various applications 51A accept, as third update data, data related to the OS-related program of the controller 10A, which is received by the controller 10A via a network (not shown), for example. 6 code 3a).

各種アプリケーション51Aは、受け付けた第3の更新データを適宜処理し(ステップST2)、設定部45Aを参照して、当該第3の更新データの同期方法を確認する(ステップST3)。第3の更新データは、SSD20Bとの間で同期しないことが設定されているので(ステップST6)、各種アプリケーション51Aは、当該設定に基づき、第3の更新データを同期部(データベース同期モジュール52A、DRBD55A)には出力せず、ファイルシステム54Aに出力する(3b)。ファイルシステム54Aは、ディスクドライバ56Aを介して第3の更新データをSSD20Aに書き込み、SSD20Aの更新を完了する(3c、3d)。 The various applications 51A process the received third update data as appropriate (step ST2), and refer to the setting unit 45A to check the synchronization method for the third update data (step ST3). Since the third update data is set not to be synchronized with the SSD 20B (step ST6), the various applications 51A transfer the third update data to the synchronization unit (database synchronization module 52A, It is not output to the DRBD 55A) but is output to the file system 54A (3b). The file system 54A writes the third update data to the SSD 20A via the disk driver 56A, and completes the update of the SSD 20A (3c, 3d).

また、コントローラ10Bでは、各種アプリケーション51Bが、同様にコントローラ10BのOS関連のプログラムに関するデータを、第3の更新データとして受け付ける(3e)。各種アプリケーション51Bは、受け付けた第3の更新データを適宜処理し(ステップST2)、設定部45Bを参照して、当該第3の更新データの同期方法を確認する(ステップST3)。第3のデータは、SSD20Aとの間で同期しないことが設定されているので(ステップST6)、各種アプリケーション51Bは、当該設定に基づき、第3の更新データを同期部(データベース同期モジュール52B、DRBD55B)には出力せず、ファイルシステム54Bに出力する(3f)。ファイルシステム54Bは、ディスクドライバ56Bを介して第3の更新データをSSD20Bに書き込み、SSD20Bの更新を完了する(3g、3h)。 Furthermore, in the controller 10B, the various applications 51B similarly accept data regarding the OS-related programs of the controller 10B as third update data (3e). The various applications 51B process the received third update data as appropriate (step ST2), and refer to the setting unit 45B to check the synchronization method for the third update data (step ST3). Since the third data is set not to be synchronized with the SSD 20A (step ST6), the various applications 51B transfer the third update data to the synchronization unit (database synchronization module 52B, DRBD 55B) based on the setting. ), but outputs to the file system 54B (3f). The file system 54B writes the third update data to the SSD 20B via the disk driver 56B, and completes the update of the SSD 20B (3g, 3h).

以上、実施の形態1では、コントローラ10Aが現用系として稼働している場合の例を説明した。しかしながら、コントローラ10Aに異常が発生し、コントローラ10Bが待機系から現用系に切り替わった場合、コントローラ10Bは上記説明したコントローラ10Aと同様の流れで処理を行えばよい。また、3台以上のコントローラで冗長システムを構成した場合であっても、いずれか1台のコントローラが現用系として稼働すればよく、当該現用系のコントローラは、他の待機系のコントローラとの間で、上記と同様の流れでデータの同期を行えばよい。 In the first embodiment, an example in which the controller 10A is operating as an active system has been described above. However, if an abnormality occurs in the controller 10A and the controller 10B is switched from the standby system to the active system, the controller 10B may perform processing in the same manner as the controller 10A described above. Furthermore, even if a redundant system is configured with three or more controllers, any one controller only needs to operate as the active system, and the active system controller is connected to other standby system controllers. Then, you can synchronize the data in the same way as above.

以上のように、実施の形態1によれば、二重化システム1は、2台のコントローラ10A、10Bにより構成され、コントローラ10A、10Bは、互いに異なる同期方法であり、得られたデータを待機系のコントローラのデータと同期させる複数の同期部(データベース同期モジュール52A、DRBD55A、又はデータベース同期モジュール52B、DRBD55B)と、自機が現用系の場合に、得られたデータを当該データの種別に応じて複数の同期部のうちの1つに出力する出力部(各種アプリケーション51A又は51B)とを備える。これにより、二重化システム1は、コントローラ10A、10B間においてデータを正確に同期させることができる。 As described above, according to the first embodiment, the redundant system 1 is configured by two controllers 10A and 10B, and the controllers 10A and 10B use different synchronization methods and transfer the obtained data to the standby system. A plurality of synchronization units (database synchronization module 52A, DRBD55A, or database synchronization module 52B, DRBD55B) that synchronizes with data of the controller, and when the own device is the active system, the obtained data is synchronized with multiple synchronization units according to the type of the data. and an output section (various applications 51A or 51B) that outputs to one of the synchronization sections of. Thereby, the duplex system 1 can accurately synchronize data between the controllers 10A and 10B.

また、実施の形態1によれば、出力部は、得られたデータの重要度あるいはデータの更新頻度に応じて、当該データを複数の同期部のうちの1つに出力する。これにより、二重化システム1は、システムにおけるデータの重要度あるいは更新頻度に応じて、適切な同期方法を選択することができる。 Further, according to the first embodiment, the output unit outputs the data to one of the plurality of synchronization units depending on the importance of the obtained data or the update frequency of the data. Thereby, the duplex system 1 can select an appropriate synchronization method depending on the importance or update frequency of data in the system.

また、実施の形態1によれば、出力部は、得られたデータが待機系のコントローラのデータと同期しないデータである場合、当該データを複数の同期部のいずれにも出力しない。これにより、二重化システム1は、同期の要否についても棲み分けを行い、不必要なデータの同期を避けつつコントローラ10A、10Bの処理負荷を軽減することができる。 Further, according to the first embodiment, when the obtained data is data that is not synchronized with the data of the standby controller, the output unit does not output the data to any of the plurality of synchronization units. Thereby, the duplex system 1 can differentiate between the necessity of synchronization and reduce the processing load on the controllers 10A and 10B while avoiding unnecessary data synchronization.

なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。 Note that within the scope of the present invention, any constituent elements of the embodiments may be modified or any constituent elements may be omitted from the embodiments.

1 二重化システム(冗長システム)
10 コントローラ
10A 現用系のコントローラ
10B 待機系のコントローラ
20A、20B SSD
25A、25B データベース
45A、45B 設定部
51A、51B 各種アプリケーション(出力部)
52A、52B データベース同期モジュール(同期部)
53A、53B データベース管理システム(DBMS)
54A、54B ファイルシステム
55A、55B DRBD(同期部)
56A、56B ディスクドライバ
57A、57B 通信ドライバ
150 システムバス
200 監視ポイント
1 Duplex system (redundant system)
10 Controller 10A Active system controller 10B Standby system controllers 20A, 20B SSD
25A, 25B Database 45A, 45B Setting section 51A, 51B Various applications (output section)
52A, 52B Database synchronization module (synchronization section)
53A, 53B Database management system (DBMS)
54A, 54B File system 55A, 55B DRBD (synchronization part)
56A, 56B Disk driver 57A, 57B Communication driver 150 System bus 200 Monitoring point

Claims (4)

複数のコントローラにより構成された冗長システムであって、
前記各コントローラは、
互いに異なる同期方法であり、得られたデータを待機系のコントローラのデータと同期させる複数の同期部と、
自機が現用系の場合に、得られたデータを当該データの種別に応じて前記複数の同期部のうちの1つに出力する出力部と、
を備え
前記出力部は、得られたデータの種別が、当該データの重要度あるいは当該データの更新頻度が冗長システムにおいて最も高い第1のデータであれば、当該第1のデータを複数の同期部のうちの1つであるデータベース同期モジュールに出力し、
前記データベース同期モジュールは、前記第1のデータに基づく自機のデータベースの更新が正常終了した場合、当該第1のデータのコピーを待機系のコントローラに送信し、前記第1のデータに基づく自機のデータベースの更新が正常終了しなかった場合、当該第1のデータのコピーを待機系のコントローラに送信しない
ことを特徴とする冗長システム。
A redundant system composed of multiple controllers,
Each of the controllers is
A plurality of synchronization units that use different synchronization methods and synchronize the obtained data with data of a standby controller;
an output unit that outputs the obtained data to one of the plurality of synchronization units according to the type of the data when the own machine is the active system;
Equipped with
If the type of the obtained data is first data whose importance or update frequency is the highest in the redundant system, the output unit outputs the first data from among the plurality of synchronization units. Output to the database synchronization module, which is one of the
The database synchronization module transmits a copy of the first data to a standby controller when updating the database of the own device based on the first data, and updates the database of the own device based on the first data. If the update of the database does not complete normally, the copy of the first data is not sent to the standby controller.
A redundant system characterized by:
前記出力部は、前記得られたデータの種別が、当該データの重要度あるいは当該データの更新頻度が冗長システムにおいて前記第1のデータの次に高い第2のデータであれば、当該第2のデータを複数の同期部のうちの1つであるDRBD(登録商標)に出力し、
前記DRBDは、前記第2のデータに基づく自機のSSD内のデータの更新が終了すると、当該第2のデータのコピーを待機系のコントローラに送信する
ことを特徴とする請求項1記載の冗長システム。
If the type of the obtained data is second data whose importance or update frequency is next to the first data in the redundant system, the output unit outputs the second data. Output the data to DRBD (registered trademark), which is one of the multiple synchronization units,
When the DRBD finishes updating the data in its own SSD based on the second data, the DRBD transmits a copy of the second data to a standby controller.
The redundant system according to claim 1, characterized in that:
前記出力部は、前記得られたデータが待機系のコントローラのデータと同期しないデータである場合、当該データを前記複数の同期部のいずれにも出力しないことを特徴とする請求項1又は請求項2記載の冗長システム。 2. The output unit is characterized in that, when the obtained data is data that is not synchronized with data of a standby controller, the output unit does not output the data to any of the plurality of synchronization units. The redundant system described in 2. 冗長システムを構成する複数のコントローラによるデータ同期方法であって、
前記各コントローラは、
互いに異なる同期方法であり、得られたデータを待機系のコントローラのデータと同期させる複数の同期部を備え、
出力部が、自機が現用系の場合に、得られたデータを当該データの種別に応じて前記複数の同期部のうちの1つに出力し、
前記出力部は、得られたデータの種別が、当該データの重要度あるいは当該データの更新頻度が冗長システムにおいて最も高い第1のデータであれば、当該第1のデータを複数の同期部のうちの1つであるデータベース同期モジュールに出力し、
前記データベース同期モジュールは、前記第1のデータに基づく自機のデータベースの更新が正常終了した場合、当該第1のデータのコピーを待機系のコントローラに送信し、前記第1のデータに基づく自機のデータベースの更新が正常終了しなかった場合、当該第1のデータのコピーを待機系のコントローラに送信しない
ことを特徴とするデータ同期方法。
A data synchronization method using multiple controllers configuring a redundant system, the method comprising:
Each of the controllers is
These synchronization methods are different from each other, and include multiple synchronization units that synchronize the obtained data with the data of the standby controller.
The output unit outputs the obtained data to one of the plurality of synchronization units according to the type of the data when the own machine is the active system,
If the type of the obtained data is first data whose importance or update frequency is the highest in the redundant system, the output unit outputs the first data from among the plurality of synchronization units. Output to the database synchronization module, which is one of the
The database synchronization module transmits a copy of the first data to a standby controller when updating the database of the own device based on the first data, and updates the database of the own device based on the first data. If the update of the database does not complete normally, the copy of the first data is not sent to the standby controller.
A data synchronization method characterized by:
JP2019097799A 2019-05-24 2019-05-24 Redundant system and data synchronization method Active JP7340956B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019097799A JP7340956B2 (en) 2019-05-24 2019-05-24 Redundant system and data synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019097799A JP7340956B2 (en) 2019-05-24 2019-05-24 Redundant system and data synchronization method

Publications (2)

Publication Number Publication Date
JP2020194216A JP2020194216A (en) 2020-12-03
JP7340956B2 true JP7340956B2 (en) 2023-09-08

Family

ID=73547531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019097799A Active JP7340956B2 (en) 2019-05-24 2019-05-24 Redundant system and data synchronization method

Country Status (1)

Country Link
JP (1) JP7340956B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064121A (en) 2007-09-05 2009-03-26 Nec Corp Data duplication device
JP2011209834A (en) 2010-03-29 2011-10-20 Hitachi Solutions Ltd Redundant system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064121A (en) 2007-09-05 2009-03-26 Nec Corp Data duplication device
JP2011209834A (en) 2010-03-29 2011-10-20 Hitachi Solutions Ltd Redundant system

Also Published As

Publication number Publication date
JP2020194216A (en) 2020-12-03

Similar Documents

Publication Publication Date Title
US9563516B2 (en) Managing backup operations from a client system to a primary server and secondary server
US7539703B2 (en) Setup method for disaster recovery system
US8370302B2 (en) Method and apparatus for block based volume backup
US7383264B2 (en) Data control method for duplicating data between computer systems
JP4668763B2 (en) Storage device restore method and storage device
US9251230B2 (en) Exchanging locations of an out of synchronization indicator and a change recording indicator via pointers
JP4461147B2 (en) Cluster database using remote data mirroring
US20190129976A1 (en) Apparatus for controlling synchronization of metadata on network and method for the same
EP3361383B1 (en) Modifying membership of replication groups via journal operations
CN102567438A (en) Method for providing access to data items from a distributed storage system
JP2003517651A (en) Highly available file server
JP2006023889A (en) Remote copy system and storage system
JP4988370B2 (en) Method, system, and program for integrating session information for a cluster of sessions in a coupled session environment
US20190317872A1 (en) Database cluster architecture based on dual port solid state disk
US7506116B2 (en) Maintaining and using information on updates to a data group after a logical copy is made of the data group
CN115858236A (en) Data backup method and database cluster
JP4289056B2 (en) Data duplication control method between computer systems
US9235483B2 (en) Substitution of a target volume of a secondary storage controller for a source volume of a primary storage controller for executing a write operation
US11599427B2 (en) Distributed recovery of server information
JP7340956B2 (en) Redundant system and data synchronization method
KR20220086677A (en) Systems and methods for blockchain-based backup and recovery
JP6251965B2 (en) Information system and database recovery method
JP6319784B2 (en) Information processing device
WO2015114417A1 (en) Data migration method and systems
KR100503899B1 (en) Database replication system and the replication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230518

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20230518

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: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230829

R150 Certificate of patent or registration of utility model

Ref document number: 7340956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150