JP2013065113A - Load distribution system, data access device, and load distribution method - Google Patents
Load distribution system, data access device, and load distribution method Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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.
しかしながら、データを分散配置する方式では、イベントの発生などを条件にトランザクションに偏りが生じていた。このように、一部のデータベースサーバに負荷が集中することで、データベースの性能低下が生じる、又はデータベースシステムに必要以上のスペックを予め備えておくという問題が生じていた。 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は、第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
端末装置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
構成管理装置192は、DBシステム120_1〜120_mの構成を管理する装置であり、これらのDBシステムのデータベースを構築したり、データを流し込む際に用いられる。
The
制御システム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
ところで、大規模で多量なトランザクションに対して即座に応答を返すデータベースシステムでは、応答時間を短くするためにデータ構造を単純化している。すなわち、単一でユニークなキーをデータ毎に対応付けて、当該データの読み出し、更新、及び追加のみですべてのトランザクションを処理するデータベースを構築する。本実施形態にかかる制御システム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
図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
呼制御システム201は、何百、何千万いるユーザについて認証、接続経路を特定し、発信元に対して通知する。このように呼制御システム201は、大量の端末装置の管理、着呼及び発呼の信頼性並びに即応性が要求される。このため、負荷を分散することが重要となる。そこで、図1で示す制御システム1を適用することで負荷を分散できる。
The
また、図1の制御システム1は、呼制御システム201以外のシステムについても適用することができる。例えば、図2に示すPHS網260で、ショートメッセージの送受信を管理するショートメッセージサービスシステム202についても適用できる。ショートメッセージサービスシステム202は、例えば、PHS間以外に携帯電話端末に対してもショートメッセージが送信可能になると、負荷が増大すると考えられる。このため、ショートメッセージサービスシステム202でも、図1に示すような制御システム1を適用することで負荷を分散できる。
Further, the
なお、図1に示す制御システム1は、呼制御システム201やショートメッセージサービスシステム202に制限するものではなく、複数のデータベースを備えるシステムであれば適用できる。図1に戻り、制御システム1内の構成について説明する。
Note that the
第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
第1のMPサーバ111、及び第2のMPサーバ112は、オペレータ端末191からの操作に従って処理を行う。また、第1のMPサーバ111、及び第2のMPサーバ112は、構成管理装置192からの個別データの追加、変更、又は削除を行うためのデータを受け付ける。
The
第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
第1のMPサーバ111、及び第2のMPサーバ112は、それぞれ一方が運用系、他方が待機系として動作し、どちらか一方が障害になっても機能が失われることはない。
One of the
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
第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,
第1のDBシステム120_1〜第mのDBシステム120_mが備える記憶装置(RAID1+0)には、それぞれ同一の端末識別IDが格納されている。
The same terminal identification ID is stored in each of the storage devices (
そして、第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
なお、本実施形態にかかる第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
図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 /
外部I/F501は、端末装置180_1〜180_kから、認証要求などのトランザクションを受信する。
The external I /
サーバI/F502は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nとの間で通信を行うインターフェースとする。
The server I /
演算部503は、第1のSQLサーバ100_1全体を制御する。演算部503は、記憶装置505に記憶されたプログラムを読み出して様々な処理を実現する。例えば、演算部503は、第1のSQLサーバ100_1が受信したトランザクションや他のサーバからの要求を解釈して、処理を行う。
The
メモリ504は、様々なデータを記憶する。例えば、メモリ504は、演算部503の処理で展開された各種データを記憶する。例えば、メモリ504には、第1のSQLサーバ100_1が起動した際に、端末対応テーブル511、更新テーブル512、及びDBアクセステーブル513などが展開される。
The
記憶装置505は、プログラム等を記憶する。そして、記憶装置505は、サーバ立ち上げ時に、演算部503が使用する。
The
DB_I/F506は、各種DBサーバとの通信するインターフェースとする。
The DB_I /
図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
端末対応テーブル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
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
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
“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
選択部602は、DBアクセステーブル513に記憶された各データベース識別情報と対応付けられたアクセス比率に基づいて、更新対象となるデータベースサーバを選択する。本実施形態にかかる選択部602は、トランザクションを受け付ける毎に、アクセス比率にあわせてDBシステムを選択する。例えば、DBシステム番号1のアクセス比率が20%の場合に、1〜100の数値を取る乱数において、1〜20が生じた際、選択部602は、DBシステム番号1を選択する。
The
ところで、データ更新を行う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
第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
このように、最新の更新データは、第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
そして、更新要求部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
例えば、更新要求部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
また、サーバ同期制御部604は、サーバI/F502を介して、他のSQLサーバを識別するSQLサーバ識別情報と、コマンドシーケンス番号と、更新した端末識別IDと、更新先を示すDBシステム番号と、を対応付けて受信した場合に、受信した情報(端末識別IDと、更新先を示すDBシステム番号と、を対応付けた上)で端末対応テーブル517を更新する。さらに、サーバ同期制御部604は、受信したコマンドシーケンス番号と、更新テーブル512に格納されているコマンドシーケンス番号と、が連続しているか否か判定する。連続している場合には、正常に処理が行われているものとして、更新テーブル512のコマンドシーケンス番号を‘1’追加して同期制御を終了する。連続していない場合、サーバ同期制御部604は、欠落したコマンドシーケンス番号に関する更新要求の再送信を、当該他のSQLサーバに対して要求する。その後、サーバ同期制御部604は、更新テーブル512のコマンドシーケンス番号を更新する。
Further, the server
これにより、各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
次に、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 /
SQL_I/F1001は、第1のSQLサーバ100_1〜第nのSQLサーバ100_nからのデータベースにアクセスするためのステートメントを受信する。
The SQL_I /
DB_I/F1005は、2台のDBサーバ間で、データベースのレプリケーション同期を行うためのインターフェースとする。
The DB_I /
演算部1002は、データベースにアクセスするためのステートメントを受信した場合に処理を行う。
The
メモリ1003は、各種データを記憶する。本実施形態にかかるメモリ1003には、データベースキャッシュなどが展開される。
The
記憶装置1004は、データを格納する。本実施形態にかかる記憶装置1004は、RAID1+0で構築されている。本実施形態では、RAID1+0により、1つのデータベースに対して、物理的に複数のディスクドライブを横断的に使用することとした。これにより、個々のディスクドライブの負荷を分散できる。さらに、記憶装置1004は、格納対象となるデータベースを、複数のデータベースに分割して管理する。そして、第1のSQLサーバ100_1〜第nのSQLサーバ100_nは、複数のDBシステムが存在するのと同様の態様で、データの参照、更新、追加を行う。これにより、特定のディスクドライブにアクセスが偏ることを抑止できる。
The
記憶装置1004内の個々のデータベースには、トランザクションログ記憶部1011と、本体DB1012と、を備えている。そして、トランザクションログ記憶部1011に記憶された、高速書き込み可能なトランザクションログを用いることで、第1−1DBサーバ121_1と、第1−2DBサーバ121_2との間のレプリケーション同期が可能となる。
Each database in the
また、記憶装置1004内の個々のデータベースはロールフォワード機能を有している。これにより、データテーブルが更新されていない状態で障害が発生しても、復旧後にトランザクションログからテータテーブルを復旧できる。したがって、耐障害性を確保したまま高速処理が可能となる。
Each database in the
図11は、本体DB1012のテーブル構造を示した図である。図11に示す例では、本体DBが、端末識別IDと、端末関連情報と、統計情報と、を対応付けて記憶している。
FIG. 11 is a diagram showing a table structure of the
端末関連情報は、端末に関連する情報で、更新頻度が低い普遍的な情報とする。端末関連情報としては、例えば、端末装置を所有しているユーザの名称、住所等のほか、端末装置の機種等とする。端末関連情報は、第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
次に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
第1のMPサーバ111及び第2のMPサーバ112のうち、いずれか1台が起動中で、他の1台は停止中とする。そして、1台が故障等で起動しなくなった場合、他の1台が起動する。
One of the
オペレータI/F1101は、オペレータ端末191と通信を行うインターフェースとする。外部I/F1102は、構成データ管理サーバと通信を行うインターフェースとする。
The operator I /
内部I/F1107は、第1のSQLサーバ100_1〜第nのSQLサーバ100_n、第1のDBシステム120_1〜第mのDBシステム120_m、及び第2のMPサーバ112と通信するインターフェースとする。
The internal I /
メモリ1104は、演算部1103の作業領域、又はバックアップする際の作業領域として用いられる。
The
演算部1103は、MPサーバ111全体を制御する。そして、演算部1103は、HDD1105に記憶されているプログラムを実行することで、制御システム1の保守を行うための機能を実現する。例えば、演算部1103は、オペレータ端末191からの指示に従って処理したり、構成管理装置192からのデータを処理する。
The calculation unit 1103 controls the
また、演算部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,
第1のMPサーバ111及び第2のMPサーバ112は、構成管理装置192から受信したデータに基づいて、DBシステム内のDBサーバのデータを追加、更新する。このため、第1のMPサーバ111及び第2のMPサーバ112は、SQLサーバと同様に、メモリ1104上に、端末対応テーブル511、更新テーブル512、及びDBアクセステーブル513を保持している。
The
HDD1105は、第1のSQLサーバ100_1〜第nのSQLサーバ100_n、第1のDBシステム120_1〜第mのDBシステム120_m、及び第1のMPサーバ111自身の統計データを記憶する。
The
テープドライブ1106は、HDD1105に記憶された各種データを読み出して、バックアップを行う。なお、演算部1103は、テープドライブ1106にデータをバックアップする前に当該データに対して、暗号化処理を施しておく。
The
そして、第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
次に端末装置からのトランザクションを受け付けた場合に行われる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
まず、端末要求受付部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
その後、選択部602が、更新要求を受け付ける毎に、乱数を用いて、第1のDBシステム120_1〜第mのDBシステム120_mから、更新先となるDBシステムを1つランダムに選択する(ステップS1305)。
Thereafter, each time the
そして、更新要求部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
その後、端末要求受付部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
まず、第1のMPサーバ111が、制御システム1内の、第1のSQLサーバ100_1〜第nのSQLサーバ100_nに対して、DBアクセステーブル513内の“ON/OFF”フラグを、“OFF”にするよう要求する(ステップS1401)。
First, the
これに伴い、第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
これにより、最新のデータが格納される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
そして、第1のMPサーバ111は、転送されてきたデータを、HDD1105に蓄積する(ステップS1407)。
Then, the
全てのデータの転送が終了した後、第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
これに伴い、第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
その後、第1のMPサーバ111内の、演算部1103が、HDD1105に格納されているデータに対して、暗号化処理を施す(ステップS1411)。その後、演算部1103は、暗号化処理が施された後のデータを、テープドライブ1106に格納する(ステップS1412)。
Thereafter, the calculation unit 1103 in the
上述した処理手順によりバックアップが行われる。このバックアップの際、上述した処理手順を行うことで、第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システムの負荷を均一に近づけることができる。
(
In the first embodiment, the example in which the access ratio is determined when the
(第1の実施形態の変形例2)
また、アクセス比率の変更手法としては、変形例1に制限するものではない。変形例2では、変形例1と異なるアクセス比率の変更手法について説明する。変形例2にかかる選択部602は、データベースにアクセスするためのステートメントを送信してから応答が帰ってくるまでの応答時間を、第1のDBシステム120_1〜第mのDBシステム120_m毎に計測する。そして、DBシステム毎の応答時間に偏りを検出した場合、応答時間が均一になるよう、アクセス比率を変更する。これにより、各DBシステムの負荷を均一に近づけることで、応答時間の偏りを抑止できる。
(
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
(第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
(第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
次に、本実施形態にかかる端末装置からトランザクションを受け付けた場合に行われる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
このように、記憶装置1701、1702内は、グループ毎に分けられている。同一グループ内のDBシステムでは、上述した実施形態と同様に、同一の端末識別IDと対応付けられた個別データが格納されている。一方、別グループ間のDBシステムには、同一の端末識別IDは含まれておらず、それぞれ異なる端末識別IDが格納されている。つまり端末識別IDは、グループ毎に管理されている。
Thus, the
図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
このグループと、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
図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
制御システム1では、バックアップを行う際に、DBアクセステーブル513に対して、グループ毎に、“ON/OFF”フラグを切り替える。図20は、グループ2に属している第1のDBシステム1711及び第4のDBシステム1714のバックアップ時の、DBアクセステーブル513の例を示した図である。
The
図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
第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
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 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
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.
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)
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 |
-
2011
- 2011-09-15 JP JP2011202438A patent/JP2013065113A/en not_active Withdrawn
Cited By (3)
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 |