JP2013065113A - Load distribution system, data access device, and load distribution method - Google Patents

Load distribution system, data access device, and load distribution method Download PDF

Info

Publication number
JP2013065113A
JP2013065113A JP2011202438A JP2011202438A JP2013065113A JP 2013065113 A JP2013065113 A JP 2013065113A JP 2011202438 A JP2011202438 A JP 2011202438A JP 2011202438 A JP2011202438 A JP 2011202438A JP 2013065113 A JP2013065113 A JP 2013065113A
Authority
JP
Japan
Prior art keywords
identification information
database
server
storage means
database server
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.)
Withdrawn
Application number
JP2011202438A
Other languages
Japanese (ja)
Inventor
Yasushi Ariga
靖 有賀
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP2011202438A priority Critical patent/JP2013065113A/en
Publication of JP2013065113A publication Critical patent/JP2013065113A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To distribute loads.SOLUTION: A load distribution system of an embodiment comprises a plurality of database servers and database access devices. Each of the plurality of database servers includes association storage means. The association storage means stores identification information and associated information associating with each other. The plurality of association storage means store the same identification information. The database access devices each include selection means, update request means, identification information storage means, and readout request means. The selection means selects a database server. The update request means requests the update of associated information having been associated with identification information and association storage means, to the selected database server. The identification information storage means stores identification information and database identification information associating with each other. The readout request means reads out the associated information that has been associated with the identification information by the association storage means from the database server identified with the database identification information that has been associated with the identification information by the identification information storage means.

Description

本発明の実施形態は、負荷分散システム、データアクセス装置、及び負荷分散方法に関する。   Embodiments described herein relate generally to a load distribution system, a data access device, and a load distribution method.

従来、ネットワーク及びコンピュータ技術の発達と共に、ユーザに対して提供するサービスが大規模になっていく傾向にある。このようなサービスの大規模化に伴い、安定したサービスを提供するために、様々な技術が提案されている。   Conventionally, with the development of network and computer technology, services provided to users tend to become large-scale. With the increase in the scale of such services, various technologies have been proposed in order to provide stable services.

このサービスの大規模化に伴い、複数台の装置を接続した場合に、ある装置に負荷が集中するという問題が生じる。このような問題を解決するために負荷を分散するための様々な技術が提案されている。   With the increase in scale of this service, there is a problem that when a plurality of devices are connected, the load is concentrated on a certain device. In order to solve such a problem, various techniques for distributing the load have been proposed.

例えば、RAID(Redundant Arrays of Inexpensive Disks)等の技術を用いて、複数のハードディスクでデータを分散管理する技術がある。さらに、データベースにアクセスするためのデータベースアクセスサーバを複数台備え、データベースに対して接続する台数が均等になるよう、データベースアクセスサーバ間の負荷を分散する技術などが提案されている。   For example, there is a technique for distributing and managing data with a plurality of hard disks using a technique such as RAID (Redundant Arrays of Inexpensive Disks). Further, a technique has been proposed that includes a plurality of database access servers for accessing a database and distributes the load between the database access servers so that the number of databases connected to the database is equal.

さらに、従来技術では、データベースシステムに高いトランザクション負荷がかかる場合、データベースサーバを複数配置して収容するデータを分散配置することで1台あたりのデータベースサーバの負荷を下げる手法がとられることが多い。   Further, in the conventional technology, when a high transaction load is applied to the database system, a technique of reducing the load on the database server per unit is often adopted by distributing and arranging data accommodated by arranging a plurality of database servers.

特開2008−234373号公報JP 2008-234373 A

しかしながら、データを分散配置する方式では、イベントの発生などを条件にトランザクションに偏りが生じていた。このように、一部のデータベースサーバに負荷が集中することで、データベースの性能低下が生じる、又はデータベースシステムに必要以上のスペックを予め備えておくという問題が生じていた。   However, in the system in which data is distributed, transactions are biased on the condition that an event occurs. As described above, when the load is concentrated on a part of the database servers, there has been a problem that the performance of the database is deteriorated or that the database system is provided with specifications more than necessary in advance.

実施形態の負荷分散システムは、複数のデータベースサーバと、データベースアクセス装置と、を備える。複数のデータベースサーバは、対応記憶手段を備える。対応記憶手段は、識別情報と、関連情報と、を対応付けて記憶する。複数の対応記憶手段は同一の識別情報が格納される。データベースアクセス装置は、選択手段と、更新要求手段と、識別情報記憶手段と、読出要求手段と、を備える。選択手段は、複数のデータベースサーバから、データベースサーバを選択する。更新要求手段は、選択されたデータベースサーバに対して、識別情報と対応記憶手段で対応付けられた関連情報の更新要求を行う。識別情報記憶手段は、識別情報と、データベース識別情報と、を対応付けて記憶する。読出要求手段は、識別情報と対応記憶手段で対応付けられた関連情報を、識別情報と識別情報記憶手段で対応付けられたデータベース識別情報で識別されるデータベースサーバから読み出す。   The load distribution system according to the embodiment includes a plurality of database servers and a database access device. The plurality of database servers include correspondence storage means. The correspondence storage means stores the identification information and the related information in association with each other. The plurality of correspondence storage means store the same identification information. The database access device includes selection means, update request means, identification information storage means, and read request means. The selection means selects a database server from a plurality of database servers. The update request unit requests the selected database server to update the related information associated with the identification information by the correspondence storage unit. The identification information storage means stores the identification information and the database identification information in association with each other. The read request unit reads the related information associated with the identification information by the correspondence storage unit from the database server identified by the database identification information associated with the identification information and the identification information storage unit.

図1は、第1の実施形態にかかる制御システムの構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a control system according to the first embodiment. 図2は、ネットワーク網の例を示した図である。FIG. 2 is a diagram illustrating an example of a network. 図3は、従来のDBシステムにおけるユーザデータの格納手法の例を示した図である。FIG. 3 is a diagram showing an example of a user data storage method in a conventional DB system. 図4は、第1の実施形態にかかる制御システムが備える複数のDBシステムに対するユーザデータの格納手法の例を示した図である。FIG. 4 is a diagram illustrating an example of a user data storage method for a plurality of DB systems included in the control system according to the first embodiment. 図5は、第1の実施形態にかかる第1のSQLサーバと第2のSQLサーバとのハードウェア構成を示したブロック図である。FIG. 5 is a block diagram illustrating a hardware configuration of the first SQL server and the second SQL server according to the first embodiment. 図6は、第1の実施形態にかかる第1のSQLサーバの演算部がプログラムを読み出すことで実現されるソフトウェア構成を示した図である。FIG. 6 is a diagram illustrating a software configuration realized by the arithmetic unit of the first SQL server according to the first embodiment reading a program. 図7は、第1の実施形態にかかる端末対応テーブルのテーブル構造の例を示した図である。FIG. 7 is a diagram illustrating an example of a table structure of the terminal correspondence table according to the first embodiment. 図8は、第1の実施形態にかかる更新テーブルのテーブル構造の例を示した図である。FIG. 8 is a diagram illustrating an example of a table structure of the update table according to the first embodiment. 図9は、第1の実施形態にかかるDBアクセステーブルのテーブル構造の例を示した図である。FIG. 9 is a diagram illustrating an example of a table structure of the DB access table according to the first embodiment. 図10は、第1の実施形態にかかる第1のDBシステムのハードウェア構成を示した図である。FIG. 10 is a diagram illustrating a hardware configuration of the first DB system according to the first embodiment. 図11は、第1の実施形態にかかる本体DBのテーブル構造を示した図である。FIG. 11 is a diagram illustrating a table structure of the main body DB according to the first embodiment. 図12は、第1の実施形態にかかる第1のMPサーバのハードウェア構成を示した図である。FIG. 12 is a diagram illustrating a hardware configuration of the first MP server according to the first embodiment. 図13は、第1の実施形態にかかるSQLサーバにおける、トランザクションを受け付けた場合に行われる処理の手順を示すフローチャートである。FIG. 13 is a flowchart illustrating a procedure of processing performed when a transaction is received in the SQL server according to the first embodiment. 図14は、第1の実施形態にかかる制御システムにおけるバックアップ処理を示したシーケンス図である。FIG. 14 is a sequence diagram illustrating backup processing in the control system according to the first embodiment. 図15は、第2の実施形態にかかる第1のSQLサーバ〜第nのSQLサーバが保持するDBアクセステーブルのテーブル構造の例を示した図である。FIG. 15 is a diagram illustrating an example of a table structure of a DB access table held by the first to nth SQL servers according to the second embodiment. 図16は、第2の実施形態にかかるSQLサーバにおける、トランザクションを受け付けた場合に行われる処理の手順を示すフローチャートである。FIG. 16 is a flowchart illustrating a procedure of processing performed when a transaction is received in the SQL server according to the second embodiment. 図17は、第3の実施形態にかかるDBシステムの概念を示した図である。FIG. 17 is a diagram illustrating the concept of a DB system according to the third embodiment. 図18は、第3の実施形態にかかる端末対応テーブルのテーブル構造の例を示した図である。FIG. 18 is a diagram illustrating an example of a table structure of a terminal correspondence table according to the third embodiment. 図19は、第3の実施形態にかかるDBアクセステーブルのテーブル構造の例を示した図である。FIG. 19 is a diagram illustrating an example of a table structure of a DB access table according to the third embodiment. 図20は、グループ2に属している第1のDBシステム及び第4のDBシステムのバックアップ時の、第3の実施形態にかかるDBアクセステーブルの例を示した図である。FIG. 20 is a diagram illustrating an example of the DB access table according to the third embodiment when the first DB system and the fourth DB system belonging to the group 2 are backed up.

(第1の実施形態)
図1は、第1の実施形態にかかる制御システム1の構成を示すブロック図である。図1に示す制御システム1は、ネットワークを介して端末装置180_1〜180_k、及びオペレータ端末191や、構成管理装置192と接続されている。この制御システム1は、外部にある端末装置180_1〜180_kからの認証や制御に関わるトランザクションを処理して応答を返すものとする。
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration of a control system 1 according to the first embodiment. A control system 1 illustrated in FIG. 1 is connected to terminal devices 180_1 to 180_k, an operator terminal 191, and a configuration management device 192 via a network. The control system 1 is assumed to process a transaction related to authentication and control from the external terminal devices 180_1 to 180_k and return a response.

端末装置180_1〜180_kは、ネットワークを介して接続するPC、電話端末、又は携帯電話端末とする。さらには、他の端末装置と接続するためのIPルータ等であってもよい。そして、端末装置180_1〜180_kは、第1のSQLサーバ100_1〜第nのSQLサーバ100_nのうち、接続先としていずれかのアドレスを有する。   The terminal devices 180_1 to 180_k are PCs, telephone terminals, or mobile phone terminals that are connected via a network. Furthermore, an IP router or the like for connecting to another terminal device may be used. The terminal devices 180_1 to 180_k have one of the addresses as the connection destination among the first SQL server 100_1 to the nth SQL server 100_n.

本実施形態にかかる端末装置180_1〜端末装置180_kは、上述した第1のSQLサーバ100_1〜第nのSQLサーバ100_nのうち、複数のSQLサーバのアドレスを有し、負荷が分散するよう、いずれか一つのSQLサーバを接続先として選択する。そして、端末装置180_1〜端末装置180_kは、選択された接続先に対して、トランザクションを送信する。   The terminal device 180_1 to the terminal device 180_k according to the present embodiment has addresses of a plurality of SQL servers among the above-described first SQL server 100_1 to the nth SQL server 100_n, so that the load is distributed. One SQL server is selected as a connection destination. Then, the terminal device 180_1 to the terminal device 180_k transmit a transaction to the selected connection destination.

オペレータ端末191及び構成管理装置192は、制御システム1の保守に用いる。オペレータ端末191は、制御システム1を制御するための端末であり、例えばDBシステム120_1〜120_mのバックアップを行う際にインターフェースとして利用できる。   The operator terminal 191 and the configuration management device 192 are used for maintenance of the control system 1. The operator terminal 191 is a terminal for controlling the control system 1 and can be used as an interface when backing up the DB systems 120_1 to 120_m, for example.

構成管理装置192は、DBシステム120_1〜120_mの構成を管理する装置であり、これらのDBシステムのデータベースを構築したり、データを流し込む際に用いられる。   The configuration management device 192 is a device that manages the configuration of the DB systems 120_1 to 120_m, and is used when constructing a database of these DB systems or pouring data.

制御システム1は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nと、第1のMPサーバ111と、第2のMPサーバ112と、L2SW131と、L2SW132と、第1のDBシステム120_1〜第mのDBシステム120_mと、を備える。   The control system 1 includes a first SQL server 100_1 to an nth SQL server 100_n, a first MP server 111, a second MP server 112, an L2SW 131, an L2SW 132, and a first DB system 120_1 to the first DB system 120_1. m DB systems 120_m.

ところで、大規模で多量なトランザクションに対して即座に応答を返すデータベースシステムでは、応答時間を短くするためにデータ構造を単純化している。すなわち、単一でユニークなキーをデータ毎に対応付けて、当該データの読み出し、更新、及び追加のみですべてのトランザクションを処理するデータベースを構築する。本実施形態にかかる制御システム1では、さらに、構築された第1のDBシステム120_1〜第mのDBシステム120_mにアクセスする際の負荷を分散させることを可能する。当該制御システム1を適用される環境として、以下に示す例が考えられる。   By the way, in a database system that immediately returns a response to a large number of large-scale transactions, the data structure is simplified in order to shorten the response time. That is, a single unique key is associated with each data, and a database for processing all transactions by only reading, updating, and adding the data is constructed. In the control system 1 according to the present embodiment, it is further possible to distribute the load when accessing the constructed first DB system 120_1 to the m-th DB system 120_m. Examples of the environment to which the control system 1 is applied include the following examples.

図2は、ネットワーク網の例を示した図である。図2に示すネットワーク網では、IP網250を中心に、小型ITX装置251_1、251_2、251_lが配置されている。そして、これらの小型ITX装置251_1、251_2、251_lを介して接続された様々な端末装置の着呼及び発呼を制御する呼制御システム201がある。   FIG. 2 is a diagram illustrating an example of a network. In the network shown in FIG. 2, small ITX devices 251_1, 251_2, and 251_l are arranged around the IP network 250. There is a call control system 201 that controls incoming and outgoing calls of various terminal devices connected via the small ITX devices 251_1, 251_2, and 251_1.

呼制御システム201は、何百、何千万いるユーザについて認証、接続経路を特定し、発信元に対して通知する。このように呼制御システム201は、大量の端末装置の管理、着呼及び発呼の信頼性並びに即応性が要求される。このため、負荷を分散することが重要となる。そこで、図1で示す制御システム1を適用することで負荷を分散できる。   The call control system 201 identifies authentication and connection paths for hundreds and tens of millions of users, and notifies the caller. As described above, the call control system 201 is required to manage a large number of terminal devices, and to improve reliability and responsiveness of incoming and outgoing calls. For this reason, it is important to distribute the load. Therefore, the load can be distributed by applying the control system 1 shown in FIG.

また、図1の制御システム1は、呼制御システム201以外のシステムについても適用することができる。例えば、図2に示すPHS網260で、ショートメッセージの送受信を管理するショートメッセージサービスシステム202についても適用できる。ショートメッセージサービスシステム202は、例えば、PHS間以外に携帯電話端末に対してもショートメッセージが送信可能になると、負荷が増大すると考えられる。このため、ショートメッセージサービスシステム202でも、図1に示すような制御システム1を適用することで負荷を分散できる。   Further, the control system 1 in FIG. 1 can be applied to systems other than the call control system 201. For example, the present invention can also be applied to the short message service system 202 that manages transmission and reception of short messages in the PHS network 260 shown in FIG. For example, the short message service system 202 is considered to increase the load when a short message can be transmitted to a mobile phone terminal in addition to between PHS. Therefore, even in the short message service system 202, the load can be distributed by applying the control system 1 as shown in FIG.

なお、図1に示す制御システム1は、呼制御システム201やショートメッセージサービスシステム202に制限するものではなく、複数のデータベースを備えるシステムであれば適用できる。図1に戻り、制御システム1内の構成について説明する。   Note that the control system 1 shown in FIG. 1 is not limited to the call control system 201 or the short message service system 202, and can be applied to any system including a plurality of databases. Returning to FIG. 1, the configuration in the control system 1 will be described.

第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、端末装置180_1〜180_kからのトランザクションを受け付け、処理に必要なデータベースにアクセスするためのステートメントを発行し、第1のDBシステム120_1〜第mのDBシステム120_mにアクセスする。   The first SQL server 100_1 to the nth SQL server 100_n accept a transaction from the terminal device 180_1 to 180_k, issue a statement for accessing a database necessary for processing, and perform the first DB system 120_1 to mth. The DB system 120_m is accessed.

第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、図1に示すように複数のサーバから構成される。そして、端末装置180_1〜180_kからのトランザクションは、各装置に登録されている複数のSQLサーバのアドレスから、1つのSQLサーバを選択して送信されている。これにより、第1のSQLサーバ100_1〜第nのSQLサーバ100_nにおける、端末装置180_1〜180_kからの負荷は分散されている。   The first SQL server 100_1 to the nth SQL server 100_n are composed of a plurality of servers as shown in FIG. Transactions from the terminal devices 180_1 to 180_k are transmitted by selecting one SQL server from the addresses of a plurality of SQL servers registered in each device. Thereby, the load from the terminal devices 180_1 to 180_k in the first SQL server 100_1 to the nth SQL server 100_n is distributed.

第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、端末装置180_1〜180_kからのトランザクションを受信すると、トランザクションの要求に含まれるキー情報から、第1のDBシステム120_1〜第mのDBシステム120_mに格納されている個別データを検索する。個別データは、端末識別IDに紐づけられた、端末装置又は加入者に関連する情報であり、例えばアクセス回数などの統計情報が含まれている。そして、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、トランザクション処理を行うたびに、当該統計情報を更新する。   When the first SQL server 100_1 to the nth SQL server 100_n receives a transaction from the terminal device 180_1 to 180_k, the first DB system 120_1 to the mth DB system 120_m are received from the key information included in the transaction request. Search individual data stored in. The individual data is information related to the terminal device or the subscriber associated with the terminal identification ID, and includes statistical information such as the number of accesses, for example. The first SQL server 100_1 to the nth SQL server 100_n update the statistical information each time transaction processing is performed.

このため、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、これら個別データの検索や統計情報の更新するためステートメントを生成し、第1のDBシステム120_1〜第mのDBシステム120_mに送信する。   For this reason, the first SQL server 100_1 to the nth SQL server 100_n generate statements for searching for individual data and updating statistical information, and send the statements to the first DB system 120_1 to the mth DB system 120_m. To do.

なお、本実施形態では、端末装置180_1〜180_k側で、第1のSQLサーバ100_1〜第nのSQLサーバ100_nのトランザクションを分散させる例について説明した。しかしながら、端末装置180_1〜180_kが、このような機能を有して無くともよい。このような場合、例えば、制御システム1側にロードバランサを配置することでも同様な機能を実現できる。   In the present embodiment, the example in which the transactions of the first SQL server 100_1 to the nth SQL server 100_n are distributed on the terminal device 180_1 to 180_k side has been described. However, the terminal devices 180_1 to 180_k may not have such a function. In such a case, for example, a similar function can be realized by arranging a load balancer on the control system 1 side.

第1のMPサーバ111、及び第2のMPサーバ112は、オペレータ端末191からの操作に従って処理を行う。また、第1のMPサーバ111、及び第2のMPサーバ112は、構成管理装置192からの個別データの追加、変更、又は削除を行うためのデータを受け付ける。   The first MP server 111 and the second MP server 112 perform processing according to an operation from the operator terminal 191. In addition, the first MP server 111 and the second MP server 112 accept data for adding, changing, or deleting individual data from the configuration management apparatus 192.

第1のMPサーバ111、及び第2のMPサーバ112は、オペレータ端末191に対して、第1のDBシステム120_1〜第mのDBシステム120_mをメンテナンスする機能を提供する。さらに、第1のMPサーバ111、及び第2のMPサーバ112は、大容量のテープドライブを備え、第1のDBシステム120_1〜第mのDBシステム120_mが保持しているデータをバックアップする機能を有する。さらに、第1のDBシステム120_1〜第mのDBシステム120_mのそれぞれの性能などの統計データを収集し、自装置内に蓄積する機能を有する。   The first MP server 111 and the second MP server 112 provide the operator terminal 191 with a function for maintaining the first DB system 120_1 to the m-th DB system 120_m. Further, the first MP server 111 and the second MP server 112 have a large capacity tape drive, and have a function of backing up data held by the first DB system 120_1 to the m-th DB system 120_m. Have. Furthermore, it has a function of collecting statistical data such as the performance of each of the first DB system 120_1 to the m-th DB system 120_m and storing them in the own apparatus.

第1のMPサーバ111、及び第2のMPサーバ112は、それぞれ一方が運用系、他方が待機系として動作し、どちらか一方が障害になっても機能が失われることはない。   One of the first MP server 111 and the second MP server 112 operates as an active system and the other as a standby system, and the function is not lost even if one of them becomes a failure.

L2SW131、及びL2SW132は、第1のSQLサーバ100_1〜第nのSQLサーバ100_n、第1のMPサーバ111、第2のMPサーバ112、及び第1のDBシステム120_1〜第mのDBシステム120_m間を接続するスイッチとする。なお、このようなスイッチに制限するものではなく、データを転送可能にする装置であればよく、例えばIPルータ等であってもよい。   The L2SW 131 and the L2SW 132 are connected between the first SQL server 100_1 to the nth SQL server 100_n, the first MP server 111, the second MP server 112, and the first DB system 120_1 to the mth DB system 120_m. A switch to be connected. The device is not limited to such a switch, and any device that can transfer data may be used. For example, an IP router may be used.

第1のDBシステム120_1〜第mのDBシステム120_mは、それぞれ端末装置を識別する端末識別IDと、当該端末に関する個別データとを、対応付けて記憶する記憶装置を備える。個別データには、端末装置毎に個別のデータが含まれている。記憶装置は、一つの装置でなくともよく、例えばRAID1+0等であってもよい。   The first DB system 120_1 to the m-th DB system 120_m each include a storage device that stores a terminal identification ID for identifying a terminal device and individual data related to the terminal in association with each other. The individual data includes individual data for each terminal device. The storage device may not be a single device, and may be, for example, RAID 1 + 0.

第1のDBシステム120_1〜第mのDBシステム120_mが備える記憶装置(RAID1+0)には、それぞれ同一の端末識別IDが格納されている。   The same terminal identification ID is stored in each of the storage devices (RAID 1 + 0) included in the first DB system 120_1 to the m-th DB system 120_m.

そして、第1のDBシステム120_1〜第mのDBシステム120_mは、第1のSQLサーバ100_1〜第nのSQLサーバ100_nからデータベースにアクセスするためのステートメントを受信し、データベースに対して、レコードの追加、参照、又は更新を行う。   Then, the first DB system 120_1 to the m-th DB system 120_m receive statements for accessing the database from the first SQL server 100_1 to the n-th SQL server 100_n, and add records to the database. , Reference or update.

第1のDBシステム120_1〜第mのDBシステム120_mは、2台1組(第1−1DBサーバ121_1及び第1−2DBサーバ122_1、第2−1DBサーバ121_2及び第2−2DBサーバ122_2、第3−1DBサーバ121_3及び第3−2DBサーバ122_3、第m−1DBサーバ121_m及び第m−2DBサーバ122_m)で構成されている。そして、相互にレプリケーションを行うことによる冗長構成を有している。   The first DB system 120_1 to the m-th DB system 120_m are a set of two (first 1-1 DB server 121_1 and 1-2 DB server 122_1, 2-1 DB server 121_2 and 2-2DB server 122_2, third -1 DB server 121_3, 3-2 DB server 122_3, m-1 DB server 121_m, and m-2 DB server 122_m). And it has a redundant structure by performing replication mutually.

第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、第1のDBシステム120_1〜第mのDBシステム120_mを選択する機能を備えている。例えば、第1のDBシステム120_1を選択した場合、第1−1DBサーバ121_1又は第1−2DBサーバ122_1にアクセスして使用できる。   The first SQL server 100_1 to the nth SQL server 100_n have a function of selecting the first DB system 120_1 to the mth DB system 120_m. For example, when the first DB system 120_1 is selected, it can be used by accessing the 1-1 DB server 121_1 or the 1-2 DB server 122_1.

第1のDBシステム120_1が、第1のSQLサーバ100_1からデータベースにアクセスするためのステートメントを受信した場合について説明する。この場合、第1のDBシステム120_1は、ステートメントが読み出し要求である場合に、第1−1DBサーバ121_1内のデータベースに対して検索を行い、要求元である第1のSQLサーバ100_1に検索結果を受け渡す。ステートメントが更新要求である場合に、第1−1DBサーバ121_1内のデータベースを更新する。その際、レプリケーション側の第1−2DBサーバ122_1に対しても更新要求を行う。そして、第1のDBシステム120_1が、これらの応答の受信を待ってから、要求元である第1のSQLサーバ100_1に更新完了の応答を送信する。このように構成することで、第1−1DBサーバ121_1又は第1−2DBサーバ122_1のいずれかが障害になっても、データの消失が発生することなく制御システム1は、動作を継続できる。   A case will be described in which the first DB system 120_1 receives a statement for accessing the database from the first SQL server 100_1. In this case, when the statement is a read request, the first DB system 120_1 searches the database in the 1-1 DB server 121_1, and sends the search result to the first SQL server 100_1 that is the request source. Deliver. When the statement is an update request, the database in the 1-1st DB server 121_1 is updated. At this time, an update request is also sent to the first-side DB server 122_1 on the replication side. Then, after waiting for the reception of these responses, the first DB system 120_1 transmits an update completion response to the first SQL server 100_1 that is the request source. With this configuration, the control system 1 can continue to operate without any data loss even if either the 1-1 DB server 121_1 or the 1-2 DB server 122_1 fails.

なお、本実施形態にかかる第1のDBシステム120_1〜第mのDBシステム120_mは、2台1組のレプリケーション構成としたが、レプリケーション数が3台以上でも良い。   Although the first DB system 120_1 to the m-th DB system 120_m according to the present embodiment have a replication configuration of two units, the number of replications may be three or more.

従来のDBシステムについて説明する。図3は、従来のDBシステムにおけるユーザデータの格納手法の例を示した図である。図3に示す例では、第1〜第mのDBシステムで全体的なシステムが構築されているものとする。このような場合に、ユーザデータを、1/m毎に、各DBシステムに振り分けて格納していた。そして、クラスタやRAID等の技術を用いることで、これら第1〜第mのDBシステムが一個の大規模なDBシステムとして動作させることが可能であった。しかしながら、DBシステム毎に格納されたユーザデータは異なるため、例えば第3のDBシステムに格納されたユーザデータについて読み込み及び更新が集中した場合に、負荷を分散することができないという問題が生じていた。   A conventional DB system will be described. FIG. 3 is a diagram showing an example of a user data storage method in a conventional DB system. In the example shown in FIG. 3, it is assumed that the entire system is constructed by the first to m-th DB systems. In such a case, user data is distributed and stored in each DB system every 1 / m. Then, by using a technique such as cluster or RAID, it is possible to operate these first to m-th DB systems as one large-scale DB system. However, since the user data stored in each DB system is different, for example, when reading and updating are concentrated on the user data stored in the third DB system, there is a problem that the load cannot be distributed. .

図4は、第1の実施形態の制御システム1が備えるDBシステム120_1〜120_mに対するユーザデータの格納手法の例を示した図である。図4に示す例のように、全ユーザデータを第1〜第mのDBシステムのそれぞれに対して格納する。そして、最新のデータについては第1〜第mのDBシステムのうちいずれか一つが保持するようにする。読み出す場合には、最新のユーザデータが格納されたDBシステムを参照し、更新を行う場合には、第1〜第mのDBシステムから一つDBシステムを負荷が分散する規則を用いて選択し、選択したDBシステムに格納されているユーザデータに対して更新を行う。これにより、更新が各DBシステムに分散することになる。特にデータベースに対してアクセスする際に、負荷は読み出しより更新の方が高いため、当該制御を行うことで負荷を分散することができる。次に当該制御を実現するための各構成について説明する。   FIG. 4 is a diagram illustrating an example of a user data storage technique for the DB systems 120_1 to 120_m included in the control system 1 according to the first embodiment. As in the example shown in FIG. 4, all user data is stored for each of the first to m-th DB systems. The latest data is held by any one of the first to m-th DB systems. When reading, refer to the DB system in which the latest user data is stored, and when updating, select one DB system from the first to mth DB systems using a rule that distributes the load. The user data stored in the selected DB system is updated. Thereby, the update is distributed to each DB system. In particular, when accessing a database, the load is higher in updating than in reading, and therefore the load can be distributed by performing this control. Next, each configuration for realizing the control will be described.

図5は、第1のSQLサーバ100_1と第2のSQLサーバ100_2とのハードウェア構成を示したブロック図である。   FIG. 5 is a block diagram showing a hardware configuration of the first SQL server 100_1 and the second SQL server 100_2.

第1のSQLサーバ100_1は、外部I/F501と、サーバI/F502と、演算部503と、メモリ504と、記憶装置505と、DB_I/F506と、を備える。なお、第2のSQLサーバ100_2、並びに図示していない他のSQLサーバも第1のSQLサーバ100_1と同様の構成を備えているものとして、説明を省略する。   The first SQL server 100_1 includes an external I / F 501, a server I / F 502, a calculation unit 503, a memory 504, a storage device 505, and a DB_I / F 506. The second SQL server 100_2 and other SQL servers not shown are also assumed to have the same configuration as the first SQL server 100_1, and the description thereof is omitted.

外部I/F501は、端末装置180_1〜180_kから、認証要求などのトランザクションを受信する。   The external I / F 501 receives a transaction such as an authentication request from the terminal devices 180_1 to 180_k.

サーバI/F502は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nとの間で通信を行うインターフェースとする。   The server I / F 502 is an interface that performs communication with the first SQL server 100_1 to the nth SQL server 100_n.

演算部503は、第1のSQLサーバ100_1全体を制御する。演算部503は、記憶装置505に記憶されたプログラムを読み出して様々な処理を実現する。例えば、演算部503は、第1のSQLサーバ100_1が受信したトランザクションや他のサーバからの要求を解釈して、処理を行う。   The computing unit 503 controls the entire first SQL server 100_1. The arithmetic unit 503 reads the program stored in the storage device 505 and implements various processes. For example, the arithmetic unit 503 performs processing by interpreting a transaction received by the first SQL server 100_1 and a request from another server.

メモリ504は、様々なデータを記憶する。例えば、メモリ504は、演算部503の処理で展開された各種データを記憶する。例えば、メモリ504には、第1のSQLサーバ100_1が起動した際に、端末対応テーブル511、更新テーブル512、及びDBアクセステーブル513などが展開される。   The memory 504 stores various data. For example, the memory 504 stores various data expanded by the processing of the calculation unit 503. For example, when the first SQL server 100_1 is activated, the terminal correspondence table 511, the update table 512, the DB access table 513, and the like are expanded in the memory 504.

記憶装置505は、プログラム等を記憶する。そして、記憶装置505は、サーバ立ち上げ時に、演算部503が使用する。   The storage device 505 stores programs and the like. The storage device 505 is used by the calculation unit 503 when starting up the server.

DB_I/F506は、各種DBサーバとの通信するインターフェースとする。   The DB_I / F 506 is an interface that communicates with various DB servers.

図6は、第1のSQLサーバ100_1の演算部503がプログラムを読み出すことで実現されるソフトウェア構成を示した図である。図6に示すように、演算部503は、端末要求受付部601と、選択部602と、読出要求部603と、サーバ同期制御部604と、更新要求部605と、を備える。   FIG. 6 is a diagram illustrating a software configuration realized by the calculation unit 503 of the first SQL server 100_1 reading a program. As illustrated in FIG. 6, the calculation unit 503 includes a terminal request reception unit 601, a selection unit 602, a read request unit 603, a server synchronization control unit 604, and an update request unit 605.

端末対応テーブル511は、端末装置毎に最新のデータが格納されたDBシステムを保持している。図7は、端末対応テーブル511のテーブル構造の例を示した図である。図7に示すように端末対応テーブル511は、端末識別IDと、DBシステム番号と、を対応付けて記憶している。   The terminal correspondence table 511 holds a DB system in which the latest data is stored for each terminal device. FIG. 7 is a diagram illustrating an example of the table structure of the terminal correspondence table 511. As illustrated in FIG. 7, the terminal correspondence table 511 stores a terminal identification ID and a DB system number in association with each other.

端末識別IDは、端末装置180_1〜180_kを識別するIDとする。端末識別IDは、制御システム1による記憶対象として固有の識別情報とする。この端末識別IDとして、例えば電話番号や加入者を特定するための加入者IDを適用しても良い。   The terminal identification ID is an ID for identifying the terminal devices 180_1 to 180_k. The terminal identification ID is unique identification information as a storage target by the control system 1. As the terminal identification ID, for example, a telephone number or a subscriber ID for specifying a subscriber may be applied.

DBシステム番号は、当該端末識別IDと対応付けられた最新の個別データが格納されたDBシステムを識別する番号とする。最新の個別データとは、最後に更新された個別データを意味する。   The DB system number is a number for identifying a DB system in which the latest individual data associated with the terminal identification ID is stored. The latest individual data means the last updated individual data.

更新テーブル512は、他のSQLサーバからの更新要求を管理するためのテーブルである。図8は、更新テーブル512のテーブル構造の例を示した図である。図8に示すように更新テーブル512は、SQLサーバ識別情報と、コマンドシーケンス番号と、を対応付けて記憶している。   The update table 512 is a table for managing update requests from other SQL servers. FIG. 8 is a diagram illustrating an example of the table structure of the update table 512. As shown in FIG. 8, the update table 512 stores SQL server identification information and command sequence numbers in association with each other.

SQLサーバ識別情報は、各SQLサーバを識別する情報とする。SQLサーバを識別する情報として、例えばIPアドレスを用いても良い。   The SQL server identification information is information for identifying each SQL server. As information for identifying the SQL server, for example, an IP address may be used.

コマンドシーケンス番号は、他のSQLサーバ100_x(xは、2〜nのいずれかの数値とする)との間で同期を行うための番号とする。コマンドシーケンス番号は、SQLサーバ毎にそれぞれ別に割り当てられている。そして、コマンドシーケンス番号は、当該SQLサーバ100_xから、更新要求を受け付ける毎に、コマンドシーケンス番号を1増加する。そして、サーバ同期制御部604が、他のSQLサーバ100_xから更新要求と共に受信したコマンドシーケンス番号と、更新テーブル512に格納されているコマンドシーケンス番号と、が連続しない場合に、SQLサーバ100_1は、他のSQLサーバ100_xからの更新要求が欠落したものと見なす。   The command sequence number is a number for performing synchronization with another SQL server 100_x (x is any numerical value from 2 to n). The command sequence number is assigned separately for each SQL server. The command sequence number is incremented by 1 each time an update request is received from the SQL server 100_x. If the command sequence number received by the server synchronization control unit 604 from the other SQL server 100_x together with the update request and the command sequence number stored in the update table 512 are not consecutive, the SQL server 100_1 It is assumed that the update request from the SQL server 100_x is missing.

DBアクセステーブル513は、更新先のDBシステムを選択するためのテーブルである。図9は、DBアクセステーブル513のテーブル構造の例を示した図である。図9に示すように、DBアクセステーブル513は、DBシステム識別情報と、アクセス比率と、“ON/OFF”フラグと、を対応づけて記憶している。   The DB access table 513 is a table for selecting an update destination DB system. FIG. 9 is a diagram showing an example of the table structure of the DB access table 513. As shown in FIG. 9, the DB access table 513 stores DB system identification information, an access ratio, and an “ON / OFF” flag in association with each other.

DBシステム識別情報は、第1のDBシステム120_1〜第mのDBシステム120_mのいずれかを識別する情報とする。DBアクセステーブル513にDBシステム識別情報が格納されている場合に、DBシステム識別情報で識別されるDBシステムが更新の対象となる。   The DB system identification information is information for identifying one of the first DB system 120_1 to the m-th DB system 120_m. When the DB system identification information is stored in the DB access table 513, the DB system identified by the DB system identification information is to be updated.

アクセス比率は、DBシステム識別情報で示されたDBシステムが更新される割合を示している。本実施形態にかかる制御システム1では、SQLサーバ100_1〜100_mが更新とするDBシステムは、ランダムに選択されるが、選択される比率については、DBアクセステーブル513に格納されている。   The access ratio indicates the rate at which the DB system indicated by the DB system identification information is updated. In the control system 1 according to the present embodiment, the DB system to be updated by the SQL servers 100_1 to 100_m is selected at random, but the ratio to be selected is stored in the DB access table 513.

“ON/OFF”フラグは、更新の対象となるDBシステムを切り替えることで、負荷分散をするか否かを切り替えるフラグとする。   The “ON / OFF” flag is a flag for switching whether to perform load distribution by switching the DB system to be updated.

当該“ON/OFF”フラグに“OFF”が設定されると、最新の個別データが格納されたDBシステムの切換が抑止される。最新の個別データが格納されたDBシステムの切換を抑止している場合に、データベースマネージメントシステムが備えている通常のバックアップ機能で、各DBサーバのバックアップを取ることが可能となる。   When “OFF” is set in the “ON / OFF” flag, switching of the DB system storing the latest individual data is suppressed. When switching of the DB system storing the latest individual data is inhibited, it is possible to back up each DB server with a normal backup function provided in the database management system.

端末要求受付部601は、端末装置180_1〜180_kからのトランザクション要求を受け付ける。そして、端末要求受付部601は、必要に応じて、トランザクション要求を行った端末装置180_1〜180_kに対して認証処理を行う。   The terminal request receiving unit 601 receives transaction requests from the terminal devices 180_1 to 180_k. And the terminal request reception part 601 performs an authentication process with respect to the terminal device 180_1-180_k which performed the transaction request | requirement as needed.

選択部602は、第1のDBシステム120_1〜第mのDBシステム120_mから、負荷が各データベースサーバに分散するよう定められた規則に従って、更新対象となるデータベースサーバを選択する。本実施形態では、当該規則の例として、ランダムにデータベースを選択する例について説明する。本実施形態は、ランダムに制限するものではなく、例えば第1のDBシステム120_1〜第mのDBシステム120_mをそれぞれ所定の順番に従って選択しても良い。   The selection unit 602 selects a database server to be updated from the first DB system 120_1 to the m-th DB system 120_m according to a rule determined so that the load is distributed to each database server. In the present embodiment, an example of selecting a database at random will be described as an example of the rule. The present embodiment is not limited at random. For example, the first DB system 120_1 to the m-th DB system 120_m may be selected according to a predetermined order.

選択部602は、DBアクセステーブル513に記憶された各データベース識別情報と対応付けられたアクセス比率に基づいて、更新対象となるデータベースサーバを選択する。本実施形態にかかる選択部602は、トランザクションを受け付ける毎に、アクセス比率にあわせてDBシステムを選択する。例えば、DBシステム番号1のアクセス比率が20%の場合に、1〜100の数値を取る乱数において、1〜20が生じた際、選択部602は、DBシステム番号1を選択する。   The selection unit 602 selects a database server to be updated based on the access ratio associated with each database identification information stored in the DB access table 513. The selection unit 602 according to the present embodiment selects a DB system in accordance with the access ratio every time a transaction is accepted. For example, when the access ratio of the DB system number 1 is 20%, the selection unit 602 selects the DB system number 1 when 1 to 20 occurs in the random numbers that take a numerical value of 1 to 100.

ところで、データ更新を行うDBシステムをランダムに選択する方式では、データ更新による負荷は分散されるが、参照が多く行われる場合には負荷が特定のDBシステムに集中する可能性がある。そこで、第1のSQLサーバ100_1〜第nのSQLサーバ100_nにDBシステムごとのアクセス回数を計測、又はDBシステムの応答時間を測定し、アクセス集中を検出した場合には、アクセスが集中しているSQLサーバのアクセス比率を低くするよう設定を行うことで、即座にDBシステムの負荷を均一に近づけることが可能となる。   By the way, in the method of randomly selecting a DB system that performs data update, the load due to data update is distributed, but if many references are made, the load may be concentrated on a specific DB system. Accordingly, when the access concentration is detected by measuring the number of accesses for each DB system in the first SQL server 100_1 to the nth SQL server 100_n or measuring the response time of the DB system, the access is concentrated. By setting the SQL server access ratio to be low, the load on the DB system can be immediately made uniform.

本実施形態とは異なる例として、SQLサーバの選択部602が、予め定められた選択比率(読み出し元のDBシステムを選択する比率)を保持しており、トランザクションを受け付けたとき、更新先のDBシステムを、読み出し元のDBシステムとするか、全DBシステムからランダムに選択するかを選択しても良い。このように一部のトランザクションについては、個別データの読み出し元のDBシステムを、更新対象として選択することで、端末対応テーブル511の更新回数を削減できる。さらに、単位時間あたりのトランザクションが高くなった場合でもSQLサーバ間で行われる端末対応テーブル511の更新回数を抑制できる。この場合、選択比率に相当する認証処理ではデータの更新負荷が分散されないが、アクセス頻度の高い端末装置の個別データが、徐々に他のDBシステムに移動するので、時間経過とともに負荷は均等に分散される。   As an example different from the present embodiment, when the selection unit 602 of the SQL server holds a predetermined selection ratio (a ratio for selecting a read-source DB system) and receives a transaction, an update destination DB It may be selected whether the system is a read-out DB system or is randomly selected from all DB systems. As described above, for some transactions, the number of updates of the terminal correspondence table 511 can be reduced by selecting the DB system from which the individual data is read out as an update target. Furthermore, even when the transaction per unit time becomes high, the number of updates of the terminal correspondence table 511 performed between the SQL servers can be suppressed. In this case, the data update load is not distributed in the authentication process corresponding to the selection ratio, but since the individual data of the terminal device with high access frequency is gradually moved to another DB system, the load is evenly distributed over time. Is done.

第1の実施形態に戻り、読出要求部603は、端末装置180_1〜180_kからのトランザクションに応じて、第1のDBシステム120_1〜第mのDBシステム120_mから最新の個別データを読み出す。本実施形態にかかる読出要求部603は、要求元の端末装置を識別する端末識別IDと端末対応テーブル511で対応付けられたDB識別番号で識別されるDBシステムを読み出し先として特定する。そして、読出要求部603は、特定されたDBシステムで、当該端末識別IDと対応付けられている個別データを読み出す。   Returning to the first embodiment, the read request unit 603 reads the latest individual data from the first DB system 120_1 to the m-th DB system 120_m in response to transactions from the terminal devices 180_1 to 180_k. The read request unit 603 according to the present embodiment specifies a DB system identified by the DB identification number associated with the terminal identification ID that identifies the requesting terminal device and the terminal correspondence table 511 as the read destination. Then, the read request unit 603 reads individual data associated with the terminal identification ID in the identified DB system.

このように、最新の更新データは、第1のDBシステム120_1〜第mのDBシステム120mのいずれかに格納されている。そこで、本実施形態にかかる第1のSQLサーバ100_1は、端末対応テーブル511を参照することで、最新の個別データがどのDBシステムに格納されているか認識できるため、当該DBシステムに対してアクセスする。なお、本実施形態では、端末対応テーブル511を参照する例について説明したが、最新の個別データが格納されているDBシステムの検出手法として、他の手法を用いても良い。   Thus, the latest update data is stored in any of the first DB system 120_1 to the m-th DB system 120m. Therefore, the first SQL server 100_1 according to the present embodiment can recognize which DB system stores the latest individual data by referring to the terminal correspondence table 511, and therefore accesses the DB system. . In the present embodiment, an example in which the terminal correspondence table 511 is referred to has been described. However, other methods may be used as a detection method of the DB system in which the latest individual data is stored.

更新要求部605は、選択部602で選択されたDBシステム内のデータベースに対して、データベースアクセスステートメントにより、更新要求を行った端末装置を識別する端末識別IDと対応付けられた個別データの更新要求を行う。また、更新要求部605は、該当するレコードが存在しない場合に、データの追加を要求しても良い。   The update request unit 605 is an update request for individual data associated with a terminal identification ID for identifying a terminal device that has made an update request, with a database access statement, for the database in the DB system selected by the selection unit 602. I do. Further, the update request unit 605 may request addition of data when the corresponding record does not exist.

そして、更新要求部605は、最新のデータを格納していたDBシステムと異なるDBシステムに対して更新要求を行った場合、端末対応テーブル511に対して、更新要求元を示す端末識別IDと、更新先のDBシステム番号と、を対応付けて端末対応テーブル511を更新する。これにより、端末対応テーブル511は、常に最新の個別データが格納されたDBシステムを保持できる。   When the update request unit 605 makes an update request to a DB system different from the DB system that stores the latest data, the terminal identification ID indicating the update request source is sent to the terminal correspondence table 511, and The terminal correspondence table 511 is updated in association with the update destination DB system number. Thereby, the terminal correspondence table 511 can always hold the DB system in which the latest individual data is stored.

このように、ランダムに選択したDBシステムに対して更新を行うことで、更新処理により発生する負荷を全DBシステムに分散できる。   In this way, by updating the randomly selected DB system, the load generated by the update process can be distributed to all DB systems.

サーバ同期制御部604は、当該第1のSQLサーバ100_1が行った更新と、他のSQLサーバ100_2〜100_nが行った更新と、の間の同期を取る。   The server synchronization control unit 604 synchronizes between the update performed by the first SQL server 100_1 and the updates performed by the other SQL servers 100_2 to 100_n.

例えば、更新要求部605によりDBシステムの更新が行われた場合に、サーバ同期制御部604は、更新を行った自装置(第1のSQLサーバ100_1)を識別するSQLサーバ識別情報と、シーケンス番号と、更新した端末識別IDと、更新先を示すDBシステム番号と、を対応付けて、他のSQLサーバ100_2〜100〜nに対して、サーバI/F502を介して通知する。   For example, when the DB system is updated by the update request unit 605, the server synchronization control unit 604 includes SQL server identification information for identifying the own device (first SQL server 100_1) that has performed the update, and a sequence number. The updated terminal identification ID and the DB system number indicating the update destination are associated with each other and notified to the other SQL servers 100_2 to 100-n via the server I / F 502.

また、サーバ同期制御部604は、サーバI/F502を介して、他のSQLサーバを識別するSQLサーバ識別情報と、コマンドシーケンス番号と、更新した端末識別IDと、更新先を示すDBシステム番号と、を対応付けて受信した場合に、受信した情報(端末識別IDと、更新先を示すDBシステム番号と、を対応付けた上)で端末対応テーブル517を更新する。さらに、サーバ同期制御部604は、受信したコマンドシーケンス番号と、更新テーブル512に格納されているコマンドシーケンス番号と、が連続しているか否か判定する。連続している場合には、正常に処理が行われているものとして、更新テーブル512のコマンドシーケンス番号を‘1’追加して同期制御を終了する。連続していない場合、サーバ同期制御部604は、欠落したコマンドシーケンス番号に関する更新要求の再送信を、当該他のSQLサーバに対して要求する。その後、サーバ同期制御部604は、更新テーブル512のコマンドシーケンス番号を更新する。   Further, the server synchronization control unit 604, via the server I / F 502, SQL server identification information for identifying other SQL servers, a command sequence number, an updated terminal identification ID, and a DB system number indicating an update destination, , The terminal correspondence table 517 is updated with the received information (after associating the terminal identification ID with the DB system number indicating the update destination). Furthermore, the server synchronization control unit 604 determines whether the received command sequence number and the command sequence number stored in the update table 512 are consecutive. If it is continuous, it is assumed that the process is normally performed, and “1” is added to the command sequence number in the update table 512, and the synchronization control is terminated. If not consecutive, the server synchronization control unit 604 requests the other SQL server to retransmit an update request regarding the missing command sequence number. Thereafter, the server synchronization control unit 604 updates the command sequence number in the update table 512.

これにより、各SQLサーバ100_1〜100_nが備える端末対応テーブル511は、同期がなされており、常に同一のデータが格納されていることになる。つまり、本実施形態では、同期処理は、迅速に行う必要があるため、更新が適切に行われているか否かを確認している余裕がない。そこで、本実施形態にかかるサーバ同期制御部604は、更新テーブル512で欠落したコマンドシーケンス番号に関する更新要求について再送信を要求することとした。これにより、各SQLサーバ100_1〜100_nが備える端末対応テーブル511における確実な同期を実現できる。   As a result, the terminal correspondence tables 511 included in the SQL servers 100_1 to 100_n are synchronized and always store the same data. That is, in the present embodiment, since the synchronization processing needs to be performed quickly, there is no room for checking whether or not the update is appropriately performed. Therefore, the server synchronization control unit 604 according to the present embodiment requests retransmission for an update request regarding a command sequence number that is missing from the update table 512. Thereby, reliable synchronization in the terminal correspondence table 511 provided in each of the SQL servers 100_1 to 100_n can be realized.

次に、DBシステムについて説明する。図10は、第1のDBシステム120のハードウェア構成を示した図である。第1―1DBサーバ121_1と、第1−2DBサーバ122_1と、は、同一の構成を備えている。第1のDBシステム120_1は、第1―1DBサーバ121_1及び第1−2DBサーバ122_1の2台のサーバで構成される。一方のDBサーバが停止した場合、他方で運用を継続するためにレプリケーション同期をとっている。   Next, the DB system will be described. FIG. 10 is a diagram illustrating a hardware configuration of the first DB system 120. The 1-1 DB server 121_1 and the 1-2 DB server 122_1 have the same configuration. The first DB system 120_1 is composed of two servers, a 1-1 DB server 121_1 and a 1-2 DB server 122_1. When one DB server stops, replication synchronization is taken to continue operation on the other.

図10に示すように、第1―1DBサーバ121_1は、SQL_I/F1001と、演算部1002と、メモリ1003と、記憶装置1004と、DB_I/F1005と、を備えている。   As illustrated in FIG. 10, the first-first DB server 121_1 includes an SQL_I / F 1001, an arithmetic unit 1002, a memory 1003, a storage device 1004, and a DB_I / F 1005.

SQL_I/F1001は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nからのデータベースにアクセスするためのステートメントを受信する。   The SQL_I / F 1001 receives a statement for accessing a database from the first SQL server 100_1 to the nth SQL server 100_n.

DB_I/F1005は、2台のDBサーバ間で、データベースのレプリケーション同期を行うためのインターフェースとする。   The DB_I / F 1005 is an interface for performing database replication synchronization between two DB servers.

演算部1002は、データベースにアクセスするためのステートメントを受信した場合に処理を行う。   The calculation unit 1002 performs processing when a statement for accessing the database is received.

メモリ1003は、各種データを記憶する。本実施形態にかかるメモリ1003には、データベースキャッシュなどが展開される。   The memory 1003 stores various data. A database cache or the like is expanded in the memory 1003 according to the present embodiment.

記憶装置1004は、データを格納する。本実施形態にかかる記憶装置1004は、RAID1+0で構築されている。本実施形態では、RAID1+0により、1つのデータベースに対して、物理的に複数のディスクドライブを横断的に使用することとした。これにより、個々のディスクドライブの負荷を分散できる。さらに、記憶装置1004は、格納対象となるデータベースを、複数のデータベースに分割して管理する。そして、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、複数のDBシステムが存在するのと同様の態様で、データの参照、更新、追加を行う。これにより、特定のディスクドライブにアクセスが偏ることを抑止できる。   The storage device 1004 stores data. The storage device 1004 according to the present embodiment is constructed with RAID 1 + 0. In the present embodiment, a plurality of disk drives are physically used across one database for RAID 1 + 0. Thereby, the load of each disk drive can be distributed. Furthermore, the storage device 1004 manages the database to be stored by dividing it into a plurality of databases. The first SQL server 100_1 to the nth SQL server 100_n refer to, update, and add data in a manner similar to that in which a plurality of DB systems exist. As a result, it is possible to prevent access to a specific disk drive from being biased.

記憶装置1004内の個々のデータベースには、トランザクションログ記憶部1011と、本体DB1012と、を備えている。そして、トランザクションログ記憶部1011に記憶された、高速書き込み可能なトランザクションログを用いることで、第1−1DBサーバ121_1と、第1−2DBサーバ121_2との間のレプリケーション同期が可能となる。   Each database in the storage device 1004 includes a transaction log storage unit 1011 and a main body DB 1012. By using a transaction log that can be written at high speed and stored in the transaction log storage unit 1011, replication synchronization between the 1-1 DB server 121_1 and the 1-2 DB server 121_2 becomes possible.

また、記憶装置1004内の個々のデータベースはロールフォワード機能を有している。これにより、データテーブルが更新されていない状態で障害が発生しても、復旧後にトランザクションログからテータテーブルを復旧できる。したがって、耐障害性を確保したまま高速処理が可能となる。   Each database in the storage device 1004 has a roll forward function. Thus, even if a failure occurs when the data table is not updated, the data table can be recovered from the transaction log after recovery. Therefore, high-speed processing is possible while ensuring fault tolerance.

図11は、本体DB1012のテーブル構造を示した図である。図11に示す例では、本体DBが、端末識別IDと、端末関連情報と、統計情報と、を対応付けて記憶している。   FIG. 11 is a diagram showing a table structure of the main body DB 1012. In the example illustrated in FIG. 11, the main body DB stores a terminal identification ID, terminal related information, and statistical information in association with each other.

端末関連情報は、端末に関連する情報で、更新頻度が低い普遍的な情報とする。端末関連情報としては、例えば、端末装置を所有しているユーザの名称、住所等のほか、端末装置の機種等とする。端末関連情報は、第1のDBシステム120_1〜第mのDBシステム120_mの全てに同一のデータが登録されている。   The terminal related information is information related to the terminal and is universal information with a low update frequency. The terminal related information includes, for example, the name and address of the user who owns the terminal device, and the model of the terminal device. As for the terminal-related information, the same data is registered in all of the first DB system 120_1 to the m-th DB system 120_m.

統計情報は、端末装置が制御システム1にアクセスする度に更新されるトランジェントな情報とする。この統計情報としては、図2に示す例では、発呼又は着呼の回数などがある。統計情報は、第1のDBシステム120_1〜第mのDBシステム120_mのうちいずれか一つに最新のデータが登録されている。   The statistical information is assumed to be transient information that is updated each time the terminal device accesses the control system 1. As the statistical information, in the example illustrated in FIG. As for the statistical information, the latest data is registered in any one of the first DB system 120_1 to the m-th DB system 120_m.

次にMPサーバ111、112について説明する。図12は、第1のMPサーバ111のハードウェア構成を示す図である。図12に示すように第1のMPサーバ111は、オペレータI/F1101と、外部I/F1102と、演算部1103と、メモリ1104と、HDD1105と、テープドライブ1106と、内部I/F1107と、を備える。なお、第2のMPサーバ112は、第1のMPサーバ111と同様の構成を備えているものとして説明を省略する。   Next, the MP servers 111 and 112 will be described. FIG. 12 is a diagram illustrating a hardware configuration of the first MP server 111. As shown in FIG. 12, the first MP server 111 includes an operator I / F 1101, an external I / F 1102, a calculation unit 1103, a memory 1104, an HDD 1105, a tape drive 1106, and an internal I / F 1107. Prepare. Note that the second MP server 112 has the same configuration as the first MP server 111, and a description thereof will be omitted.

第1のMPサーバ111及び第2のMPサーバ112のうち、いずれか1台が起動中で、他の1台は停止中とする。そして、1台が故障等で起動しなくなった場合、他の1台が起動する。   One of the first MP server 111 and the second MP server 112 is activated, and the other one is deactivated. When one unit does not start due to a failure or the like, the other unit starts.

オペレータI/F1101は、オペレータ端末191と通信を行うインターフェースとする。外部I/F1102は、構成データ管理サーバと通信を行うインターフェースとする。   The operator I / F 1101 is an interface that communicates with the operator terminal 191. The external I / F 1102 is an interface that communicates with the configuration data management server.

内部I/F1107は、第1のSQLサーバ100_1〜第nのSQLサーバ100_n、第1のDBシステム120_1〜第mのDBシステム120_m、及び第2のMPサーバ112と通信するインターフェースとする。   The internal I / F 1107 is an interface that communicates with the first SQL server 100_1 to the nth SQL server 100_n, the first DB system 120_1 to the mth DB system 120_m, and the second MP server 112.

メモリ1104は、演算部1103の作業領域、又はバックアップする際の作業領域として用いられる。   The memory 1104 is used as a work area for the arithmetic unit 1103 or a work area for backup.

演算部1103は、MPサーバ111全体を制御する。そして、演算部1103は、HDD1105に記憶されているプログラムを実行することで、制御システム1の保守を行うための機能を実現する。例えば、演算部1103は、オペレータ端末191からの指示に従って処理したり、構成管理装置192からのデータを処理する。   The calculation unit 1103 controls the entire MP server 111. The arithmetic unit 1103 implements a function for performing maintenance of the control system 1 by executing a program stored in the HDD 1105. For example, the calculation unit 1103 processes according to an instruction from the operator terminal 191 or processes data from the configuration management device 192.

また、演算部1103は、第1のDBシステム120_1〜第mのDBシステム120_mの各DBサーバ内の本体DBに対応付けて記憶された端末識別IDと、個別データと、対応付けてHDD1105やテープドライブ1106にバックアップする。   In addition, the calculation unit 1103 includes a terminal identification ID stored in association with the main body DB in each DB server of the first DB system 120_1 to the m-th DB system 120_m, individual data, HDD 1105 and tape in association with each other. Back up to drive 1106.

第1のMPサーバ111及び第2のMPサーバ112は、構成管理装置192から受信したデータに基づいて、DBシステム内のDBサーバのデータを追加、更新する。このため、第1のMPサーバ111及び第2のMPサーバ112は、SQLサーバと同様に、メモリ1104上に、端末対応テーブル511、更新テーブル512、及びDBアクセステーブル513を保持している。   The first MP server 111 and the second MP server 112 add and update the data of the DB server in the DB system based on the data received from the configuration management device 192. For this reason, the first MP server 111 and the second MP server 112 hold the terminal correspondence table 511, the update table 512, and the DB access table 513 on the memory 1104, similarly to the SQL server.

HDD1105は、第1のSQLサーバ100_1〜第nのSQLサーバ100_n、第1のDBシステム120_1〜第mのDBシステム120_m、及び第1のMPサーバ111自身の統計データを記憶する。   The HDD 1105 stores statistical data of the first SQL server 100_1 to the nth SQL server 100_n, the first DB system 120_1 to the mth DB system 120_m, and the first MP server 111 itself.

テープドライブ1106は、HDD1105に記憶された各種データを読み出して、バックアップを行う。なお、演算部1103は、テープドライブ1106にデータをバックアップする前に当該データに対して、暗号化処理を施しておく。   The tape drive 1106 reads out various data stored in the HDD 1105 and performs backup. Note that the arithmetic unit 1103 performs encryption processing on the data before backing up the data in the tape drive 1106.

そして、第1のMPサーバ111又は第2のMPサーバ112が、第1のDBシステム120_1〜第mのDBシステム120_mに対してバックアップを行う際に、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、選択部602による、更新対象となるDBシステムの選択を一時的に停止する。これにより、第1のMPサーバ111又は第2のMPサーバ112が、第1のDBシステム120_1〜第mのDBシステム120_mに保持されているデータのバックアップを行う際、最新のデータがどのDBサーバに格納されているかを示すデータと、実際にDBサーバに格納されているデータと、の整合を保持した状態でバックアップできる。   When the first MP server 111 or the second MP server 112 backs up the first DB system 120_1 to the m-th DB system 120_m, the first SQL server 100_1 to the n-th SQL. The server 100_n temporarily stops the selection of the DB system to be updated by the selection unit 602. Thus, when the first MP server 111 or the second MP server 112 backs up the data held in the first DB system 120_1 to the m-th DB system 120_m, which DB server has the latest data. Can be backed up while maintaining consistency between the data indicating whether the data is stored in the database and the data actually stored in the DB server.

次に端末装置からのトランザクションを受け付けた場合に行われるSQLサーバの処理について説明する。図13は、本実施形態にかかるSQLサーバにおける上述した処理の手順を示すフローチャートである。図13に示す例では、第1のSQLサーバ100_1を用いて説明するが、どのSQLサーバも同じ処理を行うものとする。なお、端末装置180_1〜180_kは、第1のSQLサーバ100_1〜第nのSQLサーバ100_nのIPアドレスを保持しており、認証時などにラウンドロビン方式で1つのSQLサーバを選択してトランザクションを送信する。これにより、第1のSQLサーバ100_1〜第nのSQLサーバ100_nのトランザクション処理負荷は、均一化される。なお、本フローチャートでは、第1のSQLサーバ100_1が処理を行う例について説明する。   Next, the processing of the SQL server that is performed when a transaction from the terminal device is received will be described. FIG. 13 is a flowchart showing a procedure of the above-described processing in the SQL server according to the present embodiment. In the example illustrated in FIG. 13, the first SQL server 100 </ b> _ <b> 1 is used for description. However, any SQL server performs the same process. The terminal devices 180_1 to 180_k hold the IP addresses of the first SQL server 100_1 to the nth SQL server 100_n, and select one SQL server in a round robin method and transmit a transaction at the time of authentication or the like. To do. Thereby, the transaction processing loads of the first SQL server 100_1 to the nth SQL server 100_n are equalized. In this flowchart, an example in which the first SQL server 100_1 performs processing will be described.

まず、端末要求受付部601は、端末装置(例えば端末装置180_1)から、トランザクションを受信する(ステップS1301)。次に、端末要求受付部601は、トランザクションを送信してきた端末装置180_1の認証を行う(ステップS1302)。   First, the terminal request receiving unit 601 receives a transaction from a terminal device (for example, the terminal device 180_1) (step S1301). Next, the terminal request reception unit 601 authenticates the terminal device 180_1 that has transmitted the transaction (step S1302).

認証が適切に行われた場合、第1のSQLサーバ100_1の端末要求受付部601は、自装置内の端末対応テーブル511を参照し、トランザクションの送信元を識別する端末識別IDと対応付けられているDBシステム番号を読み出す(ステップS1303)。   When the authentication is properly performed, the terminal request reception unit 601 of the first SQL server 100_1 refers to the terminal correspondence table 511 in the own apparatus and is associated with the terminal identification ID for identifying the transmission source of the transaction. The existing DB system number is read (step S1303).

そして、読出要求部603は、読み出したDBシステム番号で識別されるDBシステム(例えば第1のDBシステム120_1)から、当該端末識別IDと対応付けられている個別データを読み出すとともに、当該個別データの読み出しをロックする(ステップS1304)。   Then, the read request unit 603 reads individual data associated with the terminal identification ID from the DB system identified by the read DB system number (for example, the first DB system 120_1), and stores the individual data Reading is locked (step S1304).

その後、選択部602が、更新要求を受け付ける毎に、乱数を用いて、第1のDBシステム120_1〜第mのDBシステム120_mから、更新先となるDBシステムを1つランダムに選択する(ステップS1305)。   Thereafter, each time the selection unit 602 receives an update request, the random number is used to randomly select one DB system to be updated from the first DB system 120_1 to the m-th DB system 120_m (step S1305). ).

そして、更新要求部605は、選択されたDBシステムに対して、トランザクションの送信元を識別する端末識別IDと対応付けられた個別データを更新する(ステップS1306)。   Then, the update request unit 605 updates the individual data associated with the terminal identification ID that identifies the transmission source of the transaction for the selected DB system (step S1306).

次に、更新要求部605は、個別データを更新したDBシステムと、個別データを読み出したDBシステムと、が同一であるか否かを判定する(ステップS1307)。同一であると判定した場合(ステップS1307:Yes)、ステップS1310に進む。   Next, the update request unit 605 determines whether the DB system that updated the individual data is the same as the DB system that read the individual data (step S1307). If it is determined that they are the same (step S1307: YES), the process proceeds to step S1310.

一方、更新要求部605が同一でないと判定した場合(ステップS1307:No)、端末対応テーブル511に対して、トランザクションの送信元を識別する端末識別IDと、更新したDBシステムを識別するDBシステム番号と、を対応付けて更新する(ステップS1308)。   On the other hand, when it is determined that the update request units 605 are not identical (step S1307: No), the terminal identification ID for identifying the transmission source of the transaction and the DB system number for identifying the updated DB system with respect to the terminal correspondence table 511 Are updated in association with each other (step S1308).

さらに、サーバ同期制御部604が、更新した端末識別IDと、DBシステム番号と、を対応付けて、他のSQLサーバ及びMPサーバに対して通知する(ステップS1309)。これにより、他のSQLサーバ及びMPサーバが備える端末対応テーブル511が、更新される。   Furthermore, the server synchronization control unit 604 associates the updated terminal identification ID with the DB system number and notifies the other SQL server and MP server (step S1309). As a result, the terminal correspondence table 511 provided in other SQL servers and MP servers is updated.

その後、端末要求受付部601は、読み出しを禁止していた個別データのロックを解除して、トランザクション送信元の端末装置に応答を返す(ステップS1310)。これにより、一連のトランザクション処理を終了する。   Thereafter, the terminal request receiving unit 601 releases the lock of the individual data that has been prohibited from being read, and returns a response to the terminal device that is the transaction transmission source (step S1310). This completes a series of transaction processing.

次に、制御システム1で行われるバックアップ処理について説明する。図14は、本実施形態にかかる制御システム1における上述した処理を示したシーケンス図である。本シーケンス図は、第1のMPサーバ111がバックアップする例とする。   Next, backup processing performed in the control system 1 will be described. FIG. 14 is a sequence diagram illustrating the above-described processing in the control system 1 according to the present embodiment. This sequence diagram is an example in which the first MP server 111 backs up.

まず、第1のMPサーバ111が、制御システム1内の、第1のSQLサーバ100_1〜第nのSQLサーバ100_nに対して、DBアクセステーブル513内の“ON/OFF”フラグを、“OFF”にするよう要求する(ステップS1401)。   First, the first MP server 111 sets the “ON / OFF” flag in the DB access table 513 to “OFF” for the first SQL server 100_1 to the nth SQL server 100_n in the control system 1. (Step S1401).

これに伴い、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、DBアクセステーブル513内の“ON/OFF”フラグを、“OFF”に更新する(ステップS1402)。そして、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、更新した旨(OK)を、第1のMPサーバ111に通知する(ステップS1403)。   Accordingly, the first SQL server 100_1 to the nth SQL server 100_n update the “ON / OFF” flag in the DB access table 513 to “OFF” (step S1402). Then, the first SQL server 100_1 to the nth SQL server 100_n notify the first MP server 111 of the update (OK) (step S1403).

これにより、最新のデータが格納されるDBサーバの切換が止められたので、第1のMPサーバ111は、第1のDBシステム120_1〜第mのDBシステム120_mに対してバックアップを要求する(ステップS1404)。その後、第1のDBシステム120_1〜第mのDBシステム120_mは、記憶装置1004内のデータベースからデータを読み出す(ステップS1405)。そして、第1のDBシステム120_1〜第mのDBシステム120_mは、読み出したデータを、第1のMPサーバ111に転送する(ステップS1406)。なお、バックアップの手順は、従来と同様の手順を用いればよい。   As a result, since the switching of the DB server storing the latest data is stopped, the first MP server 111 requests the first DB system 120_1 to the m-th DB system 120_m to perform backup (step). S1404). Thereafter, the first DB system 120_1 to the m-th DB system 120_m read data from the database in the storage device 1004 (step S1405). Then, the first DB system 120_1 to the m-th DB system 120_m transfer the read data to the first MP server 111 (step S1406). The backup procedure may be the same as the conventional procedure.

そして、第1のMPサーバ111は、転送されてきたデータを、HDD1105に蓄積する(ステップS1407)。   Then, the first MP server 111 accumulates the transferred data in the HDD 1105 (step S1407).

全てのデータの転送が終了した後、第1のMPサーバ111は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nに対して、DBアクセステーブル513内の“ON/OFF”フラグを、“ON”にするよう要求する(ステップS1408)。   After the transfer of all data is completed, the first MP server 111 sets the “ON / OFF” flag in the DB access table 513 to the first SQL server 100_1 to the nth SQL server 100_n, “ It is requested to turn “ON” (step S1408).

これに伴い、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、DBアクセステーブル513内の“ON/OFF”フラグを、“ON”に更新する(ステップS1409)。そして、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、更新した旨(OK)を、第1のMPサーバ111に通知する(ステップS1410)。   Accordingly, the first SQL server 100_1 to the nth SQL server 100_n update the “ON / OFF” flag in the DB access table 513 to “ON” (step S1409). Then, the first SQL server 100_1 to the nth SQL server 100_n notify the first MP server 111 of the update (OK) (step S1410).

その後、第1のMPサーバ111内の、演算部1103が、HDD1105に格納されているデータに対して、暗号化処理を施す(ステップS1411)。その後、演算部1103は、暗号化処理が施された後のデータを、テープドライブ1106に格納する(ステップS1412)。   Thereafter, the calculation unit 1103 in the first MP server 111 performs an encryption process on the data stored in the HDD 1105 (step S1411). Thereafter, the arithmetic unit 1103 stores the data after the encryption processing in the tape drive 1106 (step S1412).

上述した処理手順によりバックアップが行われる。このバックアップの際、上述した処理手順を行うことで、第1のSQLサーバ100_1〜第nのSQLサーバ100_nが保持する最新のデータがどのDBサーバに格納されているかを示すデータと、DBサーバに格納されているデータと、の間の整合をとることができる。   Backup is performed according to the processing procedure described above. By performing the above-described processing procedure at the time of this backup, data indicating which DB server stores the latest data held by the first SQL server 100_1 to the nth SQL server 100_n, and the DB server Consistency with stored data can be achieved.

(第1の実施形態の変形例1)
第1の実施形態では、選択部602が選択する際にアクセス比率が定められている例について説明した。アクセス比率が定められていることに制限するものではなく、各DBシステムの負荷に応じて、各DBシステムのアクセス比率が変更されても良い。選択部602が、アクセス比率を第1のSQLサーバ100_1〜第nのSQLサーバ100_nが、各DBシステムに対する参照、追加、及び更新を行った回数を計測し、それぞれの処理の負荷に対応する重み付けの定数を乗じたのちに、重み付けの定数を乗じた後の全回数を加算することで各DBサーバの負荷を算出する。そして、選択部602は、DBシステムの負荷の偏りを検出した場合、アクセス比率を変更する。これにより、各DBシステムの負荷を均一に近づけることができる。
(Modification 1 of the first embodiment)
In the first embodiment, the example in which the access ratio is determined when the selection unit 602 selects is described. The access ratio is not limited to a predetermined one, and the access ratio of each DB system may be changed according to the load of each DB system. The selection unit 602 measures the access ratio by measuring the number of times that the first SQL server 100_1 to the nth SQL server 100_n have referred, added, and updated each DB system, and weights corresponding to the load of each process After multiplying by the constant, the load of each DB server is calculated by adding the total number of times after multiplying by the weighting constant. Then, the selection unit 602 changes the access ratio when detecting a load deviation of the DB system. Thereby, the load of each DB system can be made close to uniform.

(第1の実施形態の変形例2)
また、アクセス比率の変更手法としては、変形例1に制限するものではない。変形例2では、変形例1と異なるアクセス比率の変更手法について説明する。変形例2にかかる選択部602は、データベースにアクセスするためのステートメントを送信してから応答が帰ってくるまでの応答時間を、第1のDBシステム120_1〜第mのDBシステム120_m毎に計測する。そして、DBシステム毎の応答時間に偏りを検出した場合、応答時間が均一になるよう、アクセス比率を変更する。これにより、各DBシステムの負荷を均一に近づけることで、応答時間の偏りを抑止できる。
(Modification 2 of the first embodiment)
Further, the access ratio changing method is not limited to the first modification. In the second modification, an access ratio changing method different from the first modification will be described. The selection unit 602 according to the modification 2 measures the response time from when the statement for accessing the database is transmitted until the response is returned for each of the first DB system 120_1 to the m-th DB system 120_m. . When a bias is detected in the response time for each DB system, the access ratio is changed so that the response times are uniform. Thereby, it is possible to suppress a bias in response time by making the load of each DB system close to uniform.

(第1の実施形態の変形例3)
変形例3では、変形例1〜2と異なるアクセス比率の変更手法について説明する。変形例3では、第1のSQLサーバ100_1〜第nのSQLサーバ100_nが、DBシステムから、DBサーバ障害、データベースレプリケーションの再同期、ハードディスクのRAID再構築など、通常のトランザクションによる処理以外の負荷が発生したことの通知を受け付けた場合に、選択部602が、これらイベントの通知をトリガとして、これらのイベント毎に予め定められているアクセス比率を、通知元のDBシステムについて設定する。これにより、イベントがトランザクション処理に与える影響を軽減すると共に、DBシステムの負荷を軽減できる。
(Modification 3 of the first embodiment)
In Modification 3, an access ratio changing method different from Modifications 1 and 2 will be described. In the third modification, the first SQL server 100_1 to the nth SQL server 100_n are loaded with loads other than normal transaction processing such as DB server failure, database replication resynchronization, and hard disk RAID reconstruction from the DB system. When the notification of the occurrence is received, the selection unit 602 sets an access ratio predetermined for each event for the notification source DB system with the notification of these events as a trigger. As a result, the impact of the event on transaction processing can be reduced, and the load on the DB system can be reduced.

(第2の実施形態)
第1の実施形態では、SQLサーバがどのDBシステムに対しても更新できる例について説明した。しかしながら、複数のSQLサーバが、同一の端末装置に関連する情報を更新しようとする場合に、ほぼ同じタイミングで、同一のDBシステムの同一レコードを更新する状況も生じる。このような場合、SQLサーバ間で同期させる際に、適切な同期ができなくなる可能性がある。
(Second Embodiment)
In the first embodiment, the example in which the SQL server can be updated for any DB system has been described. However, when a plurality of SQL servers try to update information related to the same terminal device, a situation occurs in which the same record of the same DB system is updated at almost the same timing. In such a case, there is a possibility that proper synchronization cannot be performed when synchronizing between SQL servers.

そこで、第2の実施形態では、各DBシステムに対して更新を行うSQLサーバを予め限定した例について説明する。なお、アクセスが制限されるのは更新のみで、参照等は、どのSQLサーバからも要求できるものとする。   Therefore, in the second embodiment, an example will be described in which SQL servers that perform updates for each DB system are limited in advance. It is assumed that access is restricted only to updates, and references can be requested from any SQL server.

これを実現するために、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、更新先のDBシステムと、当該DBシステムの場合に更新を依頼するSQLサーバの対応関係を保持している必要がある。   In order to realize this, the first SQL server 100_1 to the nth SQL server 100_n need to hold a correspondence relationship between the update destination DB system and the SQL server that requests the update in the case of the DB system. There is.

図15は、第2の実施形態にかかる、第1のSQLサーバ100_1〜第nのSQLサーバ100_nが保持するDBアクセステーブル513のテーブル構造の例を示した図である。図15に示すように、第2の実施形態にかかるDBアクセステーブル513は、DBシステム識別情報と、SQLサーバ識別情報と、アクセス比率と、“ON/OFF”フラグと、を対応づけて記憶している。   FIG. 15 is a diagram illustrating an example of a table structure of the DB access table 513 held by the first SQL server 100_1 to the nth SQL server 100_n according to the second embodiment. As shown in FIG. 15, the DB access table 513 according to the second embodiment stores DB system identification information, SQL server identification information, an access ratio, and an “ON / OFF” flag in association with each other. ing.

図15に示すように、第2の実施形態のDBアクセステーブル513は、第1の実施形態と比べて、DBシステム識別情報と、SQLサーバ識別情報と、を対応付けている点で異なる。そして、更新要求部605は、選択部602により更新先のDBシステムが選択された場合に、選択されたDBシステムと対応付けられた、他のSQLサーバに対して更新要求を通知する。   As shown in FIG. 15, the DB access table 513 of the second embodiment is different from the first embodiment in that DB system identification information and SQL server identification information are associated with each other. Then, when the update destination DB system is selected by the selection unit 602, the update request unit 605 notifies the update request to another SQL server associated with the selected DB system.

次に、本実施形態にかかる端末装置からトランザクションを受け付けた場合に行われるSQLサーバの処理について説明する。図16は、本実施形態にかかるSQLサーバにおける上述した処理の手順を示すフローチャートである。図16に示す例では、第1のSQLサーバ100_1を用いて説明するが、どのSQLサーバも同じ処理を行うものとする。   Next, the processing of the SQL server that is performed when a transaction is received from the terminal device according to the present embodiment will be described. FIG. 16 is a flowchart showing a procedure of the above-described processing in the SQL server according to the present embodiment. In the example illustrated in FIG. 16, the description will be made using the first SQL server 100_1, but it is assumed that any SQL server performs the same process.

図16に示した処理手順では、第1の実施形態の図13のステップS1301〜S1305と同様の手順(ただし、ステップS1304で行っていた個別データの読み出しのロックは除く)で、更新先となるDBシステムの選択まで行われる(ステップS1601〜S1605)。   The processing procedure shown in FIG. 16 is the update destination in the same procedure as steps S1301 to S1305 in FIG. 13 of the first embodiment (except for the individual data reading lock performed in step S1304). The selection is performed up to the selection of the DB system (steps S1601 to S1605).

その後、更新要求部605は、DBアクセステーブル513を参照し、選択されたDBシステムと自装置が対応付けられているか否か、つまり選択したDBシステムに対して更新可能か否かを判定する(ステップS1606)。更新可能と判定した場合(ステップS1606:Yes)、第1の実施形態のステップS1306〜S1309と同様の処理を行う。   Thereafter, the update request unit 605 refers to the DB access table 513 to determine whether or not the selected DB system is associated with the own apparatus, that is, whether or not the selected DB system can be updated ( Step S1606). If it is determined that updating is possible (step S1606: Yes), the same processing as steps S1306 to S1309 of the first embodiment is performed.

一方、更新要求部605が、選択したDBシステムに対して更新できないと判定した場合(ステップS1606:No)、選択したDBシステムと、DBアクセステーブル513で対応付けられているSQLサーバ(選択したDBシステムを更新可能なSQLサーバ)に対して、更新要求を通知する(ステップS1607)。これにより、要求先のSQLサーバは、ステップS1608〜S1611と同様の処理を行う。   On the other hand, when the update request unit 605 determines that the selected DB system cannot be updated (step S1606: No), the selected DB system and the SQL server associated with the DB access table 513 (the selected DB An update request is notified to an SQL server that can update the system (step S1607). As a result, the requested SQL server performs the same processing as steps S1608 to S1611.

その後、端末要求受付部601は、トランザクション送信元の端末装置に応答を返す(ステップS1612)。これにより、一連のトランザクション処理を終了する。   Thereafter, the terminal request receiving unit 601 returns a response to the terminal device that is the transaction transmission source (step S1612). This completes a series of transaction processing.

本実施形態においては、DBシステムに対して更新を行うSQLサーバを制限することで、SQLサーバ間で同期を行う際の安定性及び信頼性を向上させることができる。   In the present embodiment, by limiting the SQL servers that perform updates to the DB system, it is possible to improve stability and reliability when performing synchronization between SQL servers.

(第3の実施形態)
第1の実施形態では、データベースのバックアップを行う場合に、DBアクセステーブル513の“ON/OFF”フラグを全ての“OFF”にして、更新対象となるDBシステムの切換を停止させる必要があった。これは、全てのDBシステムについて切換を停止させる必要があるため、切換が停止されている以上、バックアップ中に処理負担がDBシステム間で偏りが生じる可能性がある。そこで、第3の実施形態では、バックアップ中の処理負担の偏りを軽減させる技術について説明する。
(Third embodiment)
In the first embodiment, when backing up the database, it is necessary to set all the “ON / OFF” flags of the DB access table 513 to “OFF” to stop the switching of the DB system to be updated. . Since it is necessary to stop the switching for all the DB systems, there is a possibility that the processing load is biased between the DB systems during the backup as long as the switching is stopped. Therefore, in the third embodiment, a technique for reducing the bias in processing load during backup will be described.

第3の実施形態では、ユーザの個別データを、複数のグループに分けて管理する。図17は、本実施形態にかかるDBシステムの概念を示した図である。   In the third embodiment, individual user data is managed by being divided into a plurality of groups. FIG. 17 is a diagram showing the concept of the DB system according to the present embodiment.

図17に示すように、複数のDBシステムでグループを構成する。図17に示す例では、RAID1+0の記憶装置1701、1702を備える場合とする。グループ1は、第2のDBシステム1712と、第3のDBシステム1713と、で構成されている。そして、グループ2は、第1のDBシステム1711と、第4のDBシステム1714と、で構成されている。   As shown in FIG. 17, a group is composed of a plurality of DB systems. In the example illustrated in FIG. 17, it is assumed that storage devices 1701 and 1702 of RAID 1 + 0 are provided. The group 1 includes a second DB system 1712 and a third DB system 1713. The group 2 includes a first DB system 1711 and a fourth DB system 1714.

このように、記憶装置1701、1702内は、グループ毎に分けられている。同一グループ内のDBシステムでは、上述した実施形態と同様に、同一の端末識別IDと対応付けられた個別データが格納されている。一方、別グループ間のDBシステムには、同一の端末識別IDは含まれておらず、それぞれ異なる端末識別IDが格納されている。つまり端末識別IDは、グループ毎に管理されている。   Thus, the storage devices 1701 and 1702 are divided into groups. In the DB system in the same group, individual data associated with the same terminal identification ID is stored as in the above-described embodiment. On the other hand, the DB system between different groups does not include the same terminal identification ID, but stores different terminal identification IDs. That is, the terminal identification ID is managed for each group.

図18は、第3の実施形態の端末対応テーブル511のテーブル構造の例を示した図である。図18に示すように端末対応テーブル511は、端末識別IDと、グループと、DBシステム番号と、を対応付けて記憶している。グループは、端末識別IDが格納されているグループの識別情報とする。   FIG. 18 is a diagram illustrating an example of a table structure of the terminal correspondence table 511 according to the third embodiment. As illustrated in FIG. 18, the terminal correspondence table 511 stores terminal identification IDs, groups, and DB system numbers in association with each other. The group is the identification information of the group in which the terminal identification ID is stored.

そして、同一グループ内で負荷が分散される。例えば、グループ1で管理している端末識別IDに関する個別データを更新する場合、第2のDBシステム1712と、第3のDBシステム1713と、の間で負荷が分散される。一方、グループ2で管理している端末識別IDに関する個別データを更新する場合、第1のDBシステム1711と、第4のDBシステム1714と、の間で負荷が分散される。なお、記憶装置1701、1702は、他の図示しない記憶装置と接続されており、上述した実施形態と同様にレプリケーションが実行されている。   Then, the load is distributed within the same group. For example, when updating the individual data related to the terminal identification ID managed in the group 1, the load is distributed between the second DB system 1712 and the third DB system 1713. On the other hand, when updating the individual data related to the terminal identification ID managed in the group 2, the load is distributed between the first DB system 1711 and the fourth DB system 1714. The storage devices 1701 and 1702 are connected to other storage devices (not shown), and replication is executed in the same manner as in the above-described embodiment.

このグループと、DBアクセスと、の対応関係は、DBアクセステーブル513が保持している。図19は、DBアクセステーブル513のテーブル構造の例を示す図である。図19に示すように、DBアクセステーブル513は、DBシステム識別情報と、グループと、アクセス比率と、“ON/OFF”フラグと、を対応づけて記憶している。このように、本実施形態では、DBシステムとグループとを対応付けて記憶している。そして、本実施形態にかかる選択部602は、端末識別IDが属しているグループと、対応付けられたDBシステムから、更新対象となるDBシステムを選択する。   The DB access table 513 holds the correspondence between this group and the DB access. FIG. 19 is a diagram illustrating an example of the table structure of the DB access table 513. As illustrated in FIG. 19, the DB access table 513 stores DB system identification information, a group, an access ratio, and an “ON / OFF” flag in association with each other. Thus, in this embodiment, the DB system and the group are stored in association with each other. Then, the selection unit 602 according to the present embodiment selects a DB system to be updated from the group to which the terminal identification ID belongs and the associated DB system.

図17に示すように、同一グループのDBシステムは、異なる記憶装置(RAID1+0)1701、1702内に構築されているため、グループ内で負荷を分散するだけではなく、記憶装置(RAID1+0)1701、1702内でも負荷が分散される。   As shown in FIG. 17, since the DB system of the same group is built in different storage devices (RAID1 + 0) 1701, 1702, not only the load is distributed within the group but also the storage devices (RAID1 + 0) 1701, 1702. The load is also distributed within.

そして、記憶装置(RAID1+0)1701は、あるDBサーバで管理され、記憶装置1702は、異なるDBサーバで管理される。このように、本実施形態では、DBサーバが複数のDBを管理している。そして、SQLサーバから、DBシステムそれぞれに対して更新を行うことで、DBサーバの規模や数に制約をうけることなく、DBサーバに実装されるハードディスクドライブの数やRAID構成に合わせて負荷分散を効率的に行うことができる。   The storage device (RAID1 + 0) 1701 is managed by a certain DB server, and the storage device 1702 is managed by a different DB server. Thus, in this embodiment, the DB server manages a plurality of DBs. Then, by updating each DB system from the SQL server, load distribution is performed according to the number of hard disk drives installed in the DB server and the RAID configuration without any restrictions on the scale or number of DB servers. Can be done efficiently.

制御システム1では、バックアップを行う際に、DBアクセステーブル513に対して、グループ毎に、“ON/OFF”フラグを切り替える。図20は、グループ2に属している第1のDBシステム1711及び第4のDBシステム1714のバックアップ時の、DBアクセステーブル513の例を示した図である。   The control system 1 switches the “ON / OFF” flag for each group in the DB access table 513 when performing backup. FIG. 20 is a diagram illustrating an example of the DB access table 513 when the first DB system 1711 and the fourth DB system 1714 belonging to the group 2 are backed up.

図20に示すように、グループ2の属する第1及び第4のDBシステムの“ON/OFF”が“OFF”となり、グループ1に属している第2及び第3のDBシステムの“ON/OFF”が“ON”となっている。これにより、選択部602は、更新対象を選択する際に、バックアップの対象のグループに属している端末識別IDに対して、更新対象となるDBシステムについて選択を抑止し、バックアップの対象のグループに属していない端末識別IDに対して、更新対象となるDBシステムを選択する。   As shown in FIG. 20, “ON / OFF” of the first and fourth DB systems to which the group 2 belongs becomes “OFF”, and “ON / OFF” of the second and third DB systems to which the group 1 belongs. "Is" ON ". As a result, when selecting the update target, the selection unit 602 suppresses the selection of the DB system to be updated with respect to the terminal identification ID belonging to the backup target group, and selects the update target group. A DB system to be updated is selected for a terminal identification ID that does not belong.

第1及び第4のDBシステムでは、バックアップのため切換が停止しているのに対し、第2及び第3のDBシステムでは、負荷分散を実現できる。このようにグループ単位でバックアップすることで、負荷分散が完全に停止することを抑止し、データベースシステムに負荷の偏りを小さくすることができる。   In the first and fourth DB systems, switching is stopped for backup, whereas in the second and third DB systems, load distribution can be realized. Thus, by backing up in units of groups, it is possible to prevent the load distribution from being completely stopped, and to reduce the load bias in the database system.

上述した実施形態及び変形例では、データベースの参照よりも負荷の高い更新を分散させることで、複数のデータベース間の処理負荷を均一にすることができる。このように、処理負荷を均一にすることで、データベースの性能低下を抑止できる。さらには、必要以上の性能の実装を不要にできる。   In the embodiment and the modification described above, the processing load among a plurality of databases can be made uniform by distributing updates with a higher load than the database reference. As described above, by making the processing load uniform, it is possible to suppress the performance degradation of the database. Furthermore, it is possible to eliminate the need for performance that is higher than necessary.

上述した実施形態及び変形例にかかる第1のSQLサーバ100_1〜第nのSQLサーバ100_nで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。   A program executed by the first SQL server 100_1 to the nth SQL server 100_n according to the above-described embodiment and modification is a file in an installable format or an executable format, and is a CD-ROM or a flexible disk (FD). , CD-R, DVD (Digital Versatile Disk), and the like recorded on a computer-readable recording medium.

また、上述した実施形態及び変形例にかかる第1のSQLサーバ100_1〜第nのSQLサーバ100_nで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施形態及び変形例にかかる第1のSQLサーバ100_1〜第nのSQLサーバ100_nで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。   Further, the programs executed by the first SQL server 100_1 to the nth SQL server 100_n according to the above-described embodiment and modification are stored on a computer connected to a network such as the Internet and downloaded via the network. You may comprise so that it may provide. Further, the program executed by the first SQL server 100_1 to the nth SQL server 100_n according to the above-described embodiments and modifications may be provided or distributed via a network such as the Internet.

また、上述した実施形態及び変形例にかかる第1のSQLサーバ100_1〜第nのSQLサーバ100_nで実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。   Further, the programs executed by the first SQL server 100_1 to the nth SQL server 100_n according to the above-described embodiments and modifications may be provided by being incorporated in advance in a ROM or the like.

上述した実施形態及び変形例にかかる第1のSQLサーバ100_1〜第nのSQLサーバ100_nで実行されるプログラムは、上述した各部(端末要求受付部、選択部、読出要求部、サーバ同期制御部、更新要求部)を含むモジュール構成となっており、実際のハードウェアとしては演算部503が上記記憶媒体からプログラムを読み出して実行することにより上記各部がメモリ504上にロードされ、端末要求受付部、選択部、読出要求部、サーバ同期制御部、更新要求部がメモリ504上に生成されるようになっている。   The programs executed in the first SQL server 100_1 to the nth SQL server 100_n according to the embodiment and the modification described above are the above-described units (terminal request reception unit, selection unit, read request unit, server synchronization control unit, Update request unit) is included in the module configuration, and as the actual hardware, the arithmetic unit 503 reads the program from the storage medium and executes the program so that each unit is loaded on the memory 504, and the terminal request reception unit, A selection unit, a read request unit, a server synchronization control unit, and an update request unit are generated on the memory 504.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments 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…制御システム、100_1〜100_n…SQLサーバ、111,112…MPサーバ、120_1〜120m…DBシステム、121_1〜121_4,122_1〜122_4…DBサーバ、180_1〜180_k…端末装置、191…オペレータ端末、192…構成管理装置、201…呼制御システム、202…ショートメッセージサービスセンター、250…IP網、251_1,251_2,251_l…小型ITX装置、260…PHS網、501…外部I/F、502…サーバI/F、503…演算部、504…メモリ、505…記憶装置、511…端末対応テーブル、512…更新テーブル、513…DBアクセステーブル、601…端末要求受付部、602…選択部、603…読出要求部、604…サーバ同期制御部、605…更新要求部、1001…SQL_I/F、1002…演算部、1003…メモリ、1004…記憶装置、1005…DB_I/F、1011…トランザクションログ記憶部、1101…オペレータI/F、1102…外部I/F、1103…演算部、1104…メモリ、1105…HDD、1106…テープドライブ、1107…内部I/F、1701,1702…記憶装置、1711〜1714…DBシステム DESCRIPTION OF SYMBOLS 1 ... Control system, 100_1-100_n ... SQL server, 111, 112 ... MP server, 120_1-120m ... DB system, 121_1-121_4, 122_1-122_4 ... DB server, 180_1-180_k ... Terminal device, 191 ... Operator terminal, 192 DESCRIPTION OF SYMBOLS ... Configuration management apparatus 201 ... Call control system 202 ... Short message service center 250 ... IP network 251_1, 251_2, 251_l ... Small ITX device 260 ... PHS network 501 ... External I / F 502 ... Server I / F, 503 ... arithmetic unit, 504 ... memory, 505 ... storage device, 511 ... terminal correspondence table, 512 ... update table, 513 ... DB access table, 601 ... terminal request reception unit, 602 ... selection unit, 603 ... read request unit 604: Server synchronous control , 605 ... Update request unit, 1001 ... SQL_I / F, 1002 ... Calculation unit, 1003 ... Memory, 1004 ... Storage device, 1005 ... DB_I / F, 1011 ... Transaction log storage unit, 1101 ... Operator I / F, 1102 ... External I / F, 1103 ... arithmetic unit, 1104 ... memory, 1105 ... HDD, 1106 ... tape drive, 1107 ... internal I / F, 1701, 1702 ... storage device, 1711 to 1714 ... DB system

Claims (12)

複数のデータベースサーバと、当該複数のデータベースサーバが保持するデータベースにアクセスするデータベースアクセス装置と、を備える負荷分散システムにおいて、
複数のデータベースサーバは、
前記負荷分散システムの記憶対象として固有の識別情報と、当該識別情報に紐づく関連情報と、を対応付けて記憶する対応記憶手段を備え、
前記複数のデータベースサーバが備える前記対応記憶手段には同一の前記識別情報が格納され、
前記データベースアクセス装置は、
前記複数のデータベースサーバから、負荷が各データベースサーバに分散するよう定められた規則に従って、更新対象となるデータベースサーバを選択する選択手段と、
前記選択手段で選択された前記データベースサーバに対して、前記識別情報と前記対応記憶手段で対応付けられた前記関連情報の更新要求を行う更新要求手段と、
前記識別情報と、前記更新要求手段が当該識別情報と対応付けられた関連情報について最後に更新要求を行った前記データベースサーバを識別するデータベース識別情報と、を対応付けて記憶する識別情報記憶手段と、
前記識別情報と前記対応記憶手段で対応付けられた前記関連情報を、当該識別情報と前記識別情報記憶手段で対応付けられた前記データベース識別情報で識別される前記データベースサーバに対して読み出しを要求する読出要求手段と、を備える、
負荷分散システム。
In a load balancing system comprising a plurality of database servers and a database access device that accesses a database held by the plurality of database servers,
Multiple database servers
Corresponding storage means for storing unique identification information as a storage target of the load balancing system and related information associated with the identification information in association with each other,
The same identification information is stored in the correspondence storage means provided in the plurality of database servers,
The database access device is:
Selecting means for selecting a database server to be updated according to a rule determined so that a load is distributed to each database server from the plurality of database servers;
Update request means for making an update request for the related information associated with the identification information and the correspondence storage means for the database server selected by the selection means;
Identification information storage means for storing the identification information and the database identification information for identifying the database server that made the update request last for the related information associated with the identification information by the update request means; ,
Request the database server identified by the database identification information associated with the identification information and the identification information storage means to read out the related information associated with the identification information and the correspondence storage means. Reading request means,
Load balancing system.
前記選択手段は、前記複数のデータベースサーバに対してバックアップを行う場合に、前記規則に従った前記データベースサーバの選択を停止する、
請求項1に記載の負荷分散システム。
The selection means stops the selection of the database server according to the rule when performing backup for the plurality of database servers;
The load distribution system according to claim 1.
前記負荷分散システムは、
前記複数のデータベースサーバが備える前記対応記憶手段に対応付けて記憶された前記識別情報と、前記関連情報と、記憶媒体にバックアップするバックアップ手段を有する保守装置をさらに備え、
前記更新要求手段は、前記バックアップ手段でバックアップしている間、前記識別情報と前記識別情報記憶手段で記憶された前記データベース識別情報で識別される前記データベースサーバに対して更新要求を行う、
請求項2に記載の負荷分散システム。
The load balancing system includes:
A maintenance device comprising backup information for backing up the identification information stored in association with the correspondence storage means provided in the plurality of database servers, the related information, and a storage medium;
The update request means makes an update request to the database server identified by the database identification information stored in the identification information and the identification information storage means while being backed up by the backup means.
The load distribution system according to claim 2.
前記データベースアクセス装置は、
前記複数のデータベースサーバのそれぞれを識別するデータベースサーバ識別情報と、当該データベースサーバに対して更新を行う比率情報と、を対応付けて記憶する比率記憶手段を、さらに備え、
前記選択手段は、前記比率記憶手段に記憶された各データベースサーバと対応付けられた前記比率情報に基づいて、更新対象となるデータベースサーバを選択する、
請求項1乃至3のいずれか一つに記載の負荷分散システム。
The database access device is:
Further comprising ratio storage means for storing database server identification information for identifying each of the plurality of database servers and ratio information for updating the database server in association with each other;
The selection means selects a database server to be updated based on the ratio information associated with each database server stored in the ratio storage means.
The load distribution system according to any one of claims 1 to 3.
前記負荷分散システムは、前記データベースアクセス装置を複数備え、
前記データベースアクセス装置は、
データベースサーバを識別するデータベースサーバ識別情報と、データベースアクセス装置を識別するデータベースアクセス識別情報と、を対応付けて記憶する対応関係記憶手段をさらに備え、
前記更新要求手段は、前記選択手段により選択された前記データベースサーバを識別するデータベースサーバ識別情報と、前記対応関係記憶手段で対応付けられた前記データベースアクセス識別情報で識別されるデータベースアクセス装置に対して、前記関連情報の更新要求を通知する、
請求項1乃至5のいずれか一つに記載の負荷分散システム。
The load distribution system includes a plurality of the database access devices,
The database access device is:
Correspondence storage means for storing database server identification information for identifying a database server and database access identification information for identifying a database access device in association with each other is further provided.
The update request means is for database access apparatus identified by the database server identification information for identifying the database server selected by the selection means and the database access identification information associated with the correspondence storage means. , Notifying the related information update request,
The load distribution system according to any one of claims 1 to 5.
複数のデータベースサーバは、前記対応記憶手段を複数備え、
前記複数のデータベースサーバが備える複数の前記対応記憶手段は、グループ毎に分けられ、同一グループ内の前記対応記憶手段には同一の前記識別情報が格納され、別グループ間の前記対応記憶手段には異なる前記識別情報が格納される、
請求項1乃至5のいずれか一つに記載の負荷分散システム。
A plurality of database servers comprise a plurality of the correspondence storage means,
The plurality of correspondence storage means provided in the plurality of database servers are divided for each group, the correspondence storage means in the same group stores the same identification information, and the correspondence storage means between different groups Different identification information is stored,
The load distribution system according to any one of claims 1 to 5.
前記選択手段は、前記複数のデータベースサーバに対してグループ単位でバックアップを行う場合に、バックアップの対象であるグループに対して、前記規則に従った前記データベースサーバの選択を停止する、
請求項6に記載の負荷分散システム。
The selection means stops the selection of the database server according to the rule for a group to be backed up when performing backup in units of the plurality of database servers.
The load distribution system according to claim 6.
記憶対象として固有の識別情報と、当該識別情報に紐づく関連情報と、を対応付けて記憶する複数のデータベースサーバとネットワークを介して接続されるデータアクセス装置において、
前記複数のデータベースサーバから、負荷が各データベースサーバに分散するよう定められた規則に従って、更新対象となるデータベースサーバを選択する選択手段と、
前記選択手段で選択された前記データベースサーバに対して、前記識別情報と前記データベースサーバで対応付けられた前記関連情報の更新要求を行う更新要求手段と、
前記識別情報と、前記更新要求手段が当該識別情報と対応付けられた関連情報について最後に更新要求を行った前記データベースサーバを識別するデータベース識別情報と、を対応付けて記憶する識別情報記憶手段と、
前記識別情報と前記対応記憶手段で対応付けられた前記関連情報を、当該識別情報と前記識別情報記憶手段で対応付けられた前記データベース識別情報で識別される前記データベースサーバに対して読み出しを要求する読出要求手段と、
を備えるデータアクセス装置。
In a data access device connected via a network to a plurality of database servers that store unique identification information as a storage target and related information associated with the identification information in association with each other,
Selecting means for selecting a database server to be updated according to a rule determined so that a load is distributed to each database server from the plurality of database servers;
Update request means for making an update request for the related information associated with the identification information and the database server, with respect to the database server selected by the selection means;
Identification information storage means for storing the identification information and the database identification information for identifying the database server that made the update request last for the related information associated with the identification information by the update request means; ,
Requests the database server identified by the database identification information associated with the identification information and the identification information storage means to read out the related information associated with the identification information and the correspondence storage means. A read request means;
A data access device comprising:
前記選択手段は、前記複数のデータベースサーバに対してバックアップを行う場合に、前記規則に従った前記データベースサーバの選択を停止する、
請求項8に記載のデータアクセス装置。
The selection means stops the selection of the database server according to the rule when performing backup for the plurality of database servers;
The data access device according to claim 8.
前記複数のデータベースサーバのそれぞれを識別するデータベースサーバ識別情報と、当該データベースサーバに対して更新を行う比率情報と、を対応付けて記憶する比率記憶手段を、さらに備え、
前記選択手段は、前記比率記憶手段に記憶された各データベースサーバと対応付けられた前記比率情報に基づいて、更新対象となるデータベースサーバを選択する、
請求項8又は9に記載のデータアクセス装置。
Further comprising ratio storage means for storing database server identification information for identifying each of the plurality of database servers and ratio information for updating the database server in association with each other;
The selection means selects a database server to be updated based on the ratio information associated with each database server stored in the ratio storage means.
The data access device according to claim 8 or 9.
データベースサーバを識別するデータベースサーバ識別情報と、他のデータベースアクセス装置を識別するデータベースアクセス識別情報と、を対応付けて記憶する対応関係記憶手段を、さらに備え、
前記更新要求手段は、前記選択手段により選択された前記データベースサーバを識別するデータベースサーバ識別情報と、前記対応関係記憶手段で対応付けられた前記データベースアクセス識別情報で識別される他のデータベースアクセス装置に対して、前記関連情報の更新要求を通知する、
請求項8乃至10のいずれか一つに記載のデータアクセス装置。
Correspondence storage means for storing database server identification information for identifying a database server and database access identification information for identifying other database access devices in association with each other is further provided,
The update requesting means is provided to another database access apparatus identified by the database server identification information for identifying the database server selected by the selection means and the database access identification information associated with the correspondence storage means. In response to the request for updating the related information,
The data access device according to any one of claims 8 to 10.
データアクセス装置及び複数のデータベースサーバで実行される負荷分散方法であって、
複数のデータベースサーバは、記憶対象として固有の識別情報と、当該識別情報に紐づく関連情報と、を対応付けて記憶する対応記憶手段を備え、
前記データベースアクセス装置は、前記識別情報と、当該識別情報と対応付けられた関連情報について最後に更新を行った前記データベースサーバを識別するデータベース識別情報と、を対応付けて記憶する識別情報記憶手段を備え、
前記データベースアクセス装置は、前記複数のデータベースサーバから、負荷が各データベースサーバに分散するよう定められた規則に従って、更新対象となるデータベースサーバを選択する選択ステップと、
前記データベースアクセス装置は、前記選択ステップで選択された前記データベースサーバに対して、前記識別情報と前記対応記憶手段で対応付けられた前記関連情報の更新要求を行う更新要求ステップと、
前記データベースアクセス装置は、前記識別情報と前記対応記憶手段で対応付けられた前記関連情報を、当該識別情報と前記識別情報記憶手段で対応付けられた前記データベース識別情報で識別される前記データベースサーバに対して読み出しを要求する読出要求ステップと、
を有する負荷分散方法。
A load balancing method executed by a data access device and a plurality of database servers,
The plurality of database servers include correspondence storage means for storing unique identification information as a storage target and related information associated with the identification information in association with each other,
The database access device includes identification information storage means for storing the identification information in association with the database identification information for identifying the database server that last updated the related information associated with the identification information. Prepared,
The database access device, from the plurality of database servers, a selection step of selecting a database server to be updated according to a rule determined so that a load is distributed to each database server;
The database access device, for the database server selected in the selection step, an update request step for making an update request for the related information associated with the identification information and the correspondence storage means,
The database access device sends the related information associated with the identification information in the correspondence storage means to the database server identified by the database identification information associated with the identification information and the identification information storage means. A read request step for requesting reading from
A load balancing method.
JP2011202438A 2011-09-15 2011-09-15 Load distribution system, data access device, and load distribution method Withdrawn JP2013065113A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011202438A JP2013065113A (en) 2011-09-15 2011-09-15 Load distribution system, data access device, and load distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011202438A JP2013065113A (en) 2011-09-15 2011-09-15 Load distribution system, data access device, and load distribution method

Publications (1)

Publication Number Publication Date
JP2013065113A true JP2013065113A (en) 2013-04-11

Family

ID=48188567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011202438A Withdrawn JP2013065113A (en) 2011-09-15 2011-09-15 Load distribution system, data access device, and load distribution method

Country Status (1)

Country Link
JP (1) JP2013065113A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087133A (en) * 2017-11-09 2019-06-06 富士通株式会社 Distributed control program, distributed control device, data base server and distributed control method
CN116258286A (en) * 2023-05-16 2023-06-13 山东双百电子有限公司 System with regional coordination optimization function
JP7489249B2 (en) 2020-07-15 2024-05-23 株式会社日立製作所 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087133A (en) * 2017-11-09 2019-06-06 富士通株式会社 Distributed control program, distributed control device, data base server and distributed control method
JP7489249B2 (en) 2020-07-15 2024-05-23 株式会社日立製作所 DATABASE SYSTEM, DATA DISTRIBUTION MANAGEMENT DEVICE, AND DATA DISTRIBUTION MANAGEMENT METHOD
CN116258286A (en) * 2023-05-16 2023-06-13 山东双百电子有限公司 System with regional coordination optimization function

Similar Documents

Publication Publication Date Title
US7613751B2 (en) Well-known transactions in data replication
JP4637842B2 (en) Fast application notification in clustered computing systems
US11734248B2 (en) Metadata routing in a distributed system
US20120159234A1 (en) Providing resilient services
US20120303912A1 (en) Storage account migration between storage stamps
CN113010496B (en) Data migration method, device, equipment and storage medium
US11740811B2 (en) Reseeding a mediator of a cross-site storage solution
JP2004334574A (en) Operation managing program and method of storage, and managing computer
US11394777B2 (en) Reliable data storage for decentralized computer systems
JP2013065120A (en) Load distribution system, data access device, and load distribution method
US11892982B2 (en) Facilitating immediate performance of volume resynchronization with the use of passive cache entries
US20110099345A1 (en) Computer system and program recording medium
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
CN105493474A (en) System and method for supporting partition level journaling for synchronizing data in a distributed data grid
US20100332532A1 (en) Distributed directory environment using clustered ldap servers
JP2012234333A (en) Cluster system, synchronization control method, server device and synchronization control program
CN106897288B (en) Service providing method and system for database
JP2013065104A (en) Load distribution system, data access device, and load distribution method
JP2013065113A (en) Load distribution system, data access device, and load distribution method
CN107395406B (en) Online state data processing method, device and system of online system
US20210326224A1 (en) Method and system for processing device failure
WO2021115043A1 (en) Distributed database system and data disaster backup drilling method
JP2014229088A (en) Data processing system, data processing device, and storage medium
CN105323271B (en) Cloud computing system and processing method and device thereof
US9043274B1 (en) Updating local database and central database

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202