JP2015162061A - distributed processing system - Google Patents
distributed processing system Download PDFInfo
- Publication number
- JP2015162061A JP2015162061A JP2014036556A JP2014036556A JP2015162061A JP 2015162061 A JP2015162061 A JP 2015162061A JP 2014036556 A JP2014036556 A JP 2014036556A JP 2014036556 A JP2014036556 A JP 2014036556A JP 2015162061 A JP2015162061 A JP 2015162061A
- Authority
- JP
- Japan
- Prior art keywords
- server
- information
- distribution
- cluster system
- processing
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、クラスタ化されたサーバ群であるクラスタシステムを多段に組み合わせて処理を行う分散処理システムに関する。 The present invention relates to a distributed processing system that performs processing by combining cluster systems that are clustered server groups in multiple stages.
近年、サーバの障害に対する耐性の向上やスケーラビリティを容易に実現することを目的として、複数のサーバを論理的に連結させて、あたかも1台のサーバのように見せる分散処理システムの検討が進められている。 In recent years, in order to easily improve the resilience and scalability of server failures, a distributed processing system has been studied in which a plurality of servers are logically connected to appear as if they were one server. Yes.
その分散処理システムの中には、非特許文献1に記載されているように、1つの処理を複数のプロセスに分割し、プロセスごとに1つのクラスタシステムにその処理を担当させて、1つの処理を複数のクラスタシステムで多段に実行させる多段処理が開示されている(図1参照)。
In the distributed processing system, as described in
しかしながら、多段処理を実行する分散処理システムは、各段の処理を順々に進めていき、最終段において処理された最終結果を応答情報として返すため、段数が深くなるに従って応答時間が長くなるという問題がある。 However, a distributed processing system that executes multi-stage processing advances the processing of each stage in order, and returns the final result processed in the final stage as response information, so that the response time becomes longer as the number of stages becomes deeper There's a problem.
例えば、分散処理システムでは、クライアント側へ影響を与えることなく負荷分散を実現するために、ラウンドロビン等の単純な振り分けアルゴリズムを用いたロードバランサを、サーバ群の前段に配置してクラスタシステムを構成する方法が一般的に用いられている。 For example, in a distributed processing system, in order to achieve load distribution without affecting the client side, a load balancer using a simple distribution algorithm such as round robin is placed in the front stage of the server group to form a cluster system This method is generally used.
そのため、ロードバランサをサーバ群の前段に配置してクラスタシステムを構成した場合、ユーザの操作するユーザ端末から送信されたパケット(リクエスト情報)は、第1段(最初)のクラスタシステムのロードバランサを経由して、一旦第1段のクラスタシステム内のいずれかのサーバに転送される。そして、当該パケットを転送されたサーバが、分散データベース等で用いられているコンシステントハッシング等の分散アルゴリズムによって、改めて第1段のクラスタシステム内の当該パケットの処理先のサーバを決定する処理(振り分け処理)を実行することになる。そして、第1段のクラスタシステム内の処理先のサーバがリクエストに対応する処理を実行する。処理先のサーバは、自身の処理が終了したとき、次の第2段のクラスタシステムに備えられているロードバランサへ処理結果を転送する。 Therefore, when a cluster system is configured by placing a load balancer in front of the server group, packets (request information) transmitted from user terminals operated by the user are used for the load balancer of the first (first) cluster system. Via, it is once transferred to one of the servers in the first-stage cluster system. Then, the server to which the packet is transferred determines again the processing destination server of the packet in the first-stage cluster system by a distributed algorithm such as consistent hashing used in the distributed database or the like (distribution) Process). Then, a processing destination server in the first-stage cluster system executes processing corresponding to the request. When the processing destination server ends, the processing destination server transfers the processing result to the load balancer provided in the next second-stage cluster system.
このようにして、第2段のロードバランサ、第2段のクラスタシステム内の振り分け処理およびリクエスト情報を処理するリクエスト処理、・・、第n段のロードバランサ、第n段のクラスタシステム内の振り分け処理およびリクエスト処理が実行される。そして、第n段におけるリクエスト処理の結果が、応答情報として、第n段のクラスタシステムから逆に、第n−1段のクラスタシステム、・・、第2段のクラスタシステム、第1段のクラスタシステムを経由してクライアント端末へ返信される。
そのため、段数が深くなるに従って応答時間が長くなる。
In this way, the second stage load balancer, the distribution process in the second stage cluster system and the request process for processing the request information, ..., the distribution in the nth stage load balancer, the nth stage cluster system Processing and request processing are executed. Then, the result of the request processing in the n-th stage is the response information from the n-th stage cluster system, the (n−1) -th stage cluster system,..., The second-stage cluster system, the first-stage cluster. It is sent back to the client terminal via the system.
Therefore, the response time becomes longer as the number of steps becomes deeper.
そこで、本発明は、多段処理に掛かる時間を低減する技術を提供することを課題とする。 Therefore, an object of the present invention is to provide a technique for reducing the time required for multistage processing.
本発明の分散処理システムは、クラスタ化されたサーバ群であるクラスタシステムを複数備え、前記クラスタシステムを多段に構成して、外部から受信したリクエスト情報の処理を実行する分散処理システムであって、前記サーバが、前記リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバとを関連付けた情報を前記クラスタシステム全てについて格納した振り分け情報を記憶している記憶部と、前記リクエスト情報を受信したとき、前記振り分け情報を参照して、当該リクエスト情報に含まれる前記キー情報に関連付けられた次段のクラスタシステムのサーバを決定する振り分け処理部と、を備えることを特徴とする。 The distributed processing system of the present invention is a distributed processing system that includes a plurality of cluster systems that are clustered server groups, configures the cluster system in multiple stages, and executes processing of request information received from the outside, A storage unit storing distribution information in which the server associates key information included in the request information with a server to which the request information including the key information is allocated for all the cluster systems; and A distribution processing unit that, when receiving the request information, refers to the distribution information and determines a server of the next-stage cluster system associated with the key information included in the request information. .
このような構成によれば、分散処理システムは、クラスタシステム間の情報の送受信を、直接サーバ同士で行うことができる。つまり、分散処理システムは、ロードバランサを常に経由した場合に比べて、サーバを経由するホップ数を低減することができる。したがって、分散処理システムは、多段処理に掛かる時間を低減することができる。 According to such a configuration, the distributed processing system can directly transmit / receive information between cluster systems between servers. That is, the distributed processing system can reduce the number of hops that pass through the server as compared to the case where the load balancer always passes through. Therefore, the distributed processing system can reduce the time required for multistage processing.
また、前記分散処理システム中の前記クラスタシステムは、前記リクエスト情報を当該クラスタシステム内のサーバに振り分けるロードバランサを備え、前記サーバが、前記振り分け情報を変更する振り分け情報変更部を備え、前記クラスタシステムの中の第1のクラスタシステムを更改する場合、前記振り分け情報変更部が、前記第1のクラスタシステムの更改前に、前記振り分け情報内で前記第1のクラスタシステム以外のクラスタシステム中の前記サーバを振り分け先とする情報を、前記第1のクラスタシステムのロードバランサを振り分け先とする情報に変更することを特徴とする。 The cluster system in the distributed processing system includes a load balancer that distributes the request information to a server in the cluster system, and the server includes a distribution information changing unit that changes the distribution information. In the case of renewing the first cluster system, the distribution information changing unit includes the server in the cluster system other than the first cluster system in the distribution information before renewing the first cluster system. Is changed to information with the load balancer of the first cluster system as the distribution destination.
このような構成によれば、分散処理システムは、クラスタシステムを更改する場合、振り分け先をロードバランサに変更することができる。このことにより、1つのクラスタシステムをまるごと更改する場合に、ロードバランサを単一点として瞬時に切り替えることができる。なお、瞬時に切り替えることができる理由は、各サーバが全てのクラスタシステムの振り分け先をロードバランサに指定することができるためである。このように、分散処理システムは、全てのクラスタシステムの振り分け先を変更できるので、前記した多段処理に掛かる時間を低減することができるとともに、クラスタシステムの更改を容易に行うことができる。 According to such a configuration, the distributed processing system can change the distribution destination to the load balancer when renewing the cluster system. As a result, when the entire cluster system is renewed, the load balancer can be instantly switched as a single point. The reason why switching can be performed instantaneously is that each server can specify the distribution destination of all cluster systems as a load balancer. As described above, since the distributed processing system can change the distribution destination of all the cluster systems, it is possible to reduce the time required for the above-described multistage processing and to easily update the cluster system.
本発明によれば、多段処理に掛かる時間を低減することができる。 According to the present invention, the time required for multistage processing can be reduced.
本発明を実施するための形態(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。 A mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings as appropriate.
(分散処理システム)
はじめに、分散処理システム6の構成例について、図1を用いて説明する。
分散処理システム6は、図1では、7台のサーバ1a,1b,1c,1d,1e,1f,1gと、3台のロードバランサ2a,2b,2cとを備えている。なお、サーバの台数およびロードバランサの台数は、図1に示した数に限られなくともよい。ただし、分散処理システム6は、外部からのリクエスト情報を受け付けるために、少なくとも1台のロードバランサを備えている必要がある。また、以降の説明で、サーバを特に区別しない場合には符号1を用いることとする。また、ロードバランサを特に区別しない場合には符号2を用いることとする。
(Distributed processing system)
First, a configuration example of the distributed processing system 6 will be described with reference to FIG.
In FIG. 1, the distributed processing system 6 includes seven
サーバ1間を結ぶ実線およびサーバ1とロードバランサ2との間を結ぶ実線は、通信可能になっていることを表している。
図1では、サーバ1a,1b,1cは、クラスタ化(クラスタリング)されてクラスタシステム3aを構成している。なお、クラスタシステムは、サーバ上のプロセスが連携して構築されるものであって、1台のサーバ1上に複数のプロセスが動作する場合も許すものとする。例えば、サーバ1d,1eの第1のプロセスは、クラスタ化されてクラスタシステム3bを構成している。また、サーバ1eの第2のプロセス,1f,1gは、クラスタ化されてクラスタシステム3cを構成している。以降の説明では、クラスタシステムを特に区別しない場合には符号3を用いることとする。
なお、サーバ1eの第1のプロセスおよび第2のプロセスは、例えば、仮想マシン(VM;Virtual Machine)等によって実現することができる。
A solid line connecting the
In FIG. 1, the
The first process and the second process of the
クラスタシステム3aには、ロードバランサ2aが配置されている。また、クラスタシステム3bには、ロードバランサ2bを備えることができる。また、クラスタシステム3cには、ロードバランサ2cを備えることができる。ロードバランサ2は、受信したパケットを、ラウンドロビン等の振り分けアルゴリズムに基づいてサーバ1に振り分ける機能を有し、クラスタシステム3内のサーバ1の負荷分散を実現する。
A
本実施形態では、分散処理システム6は、ユーザによって操作されるユーザ端末4からデータ処理(例えば、格納、参照、更新)等のリクエスト情報(パケット)を受信した場合、第1段のクラスタシステム3aのサーバ1でリクエスト処理を実行する。次に、分散処理システム6は、第1段の処理中に、第2段のクラスタシステム3bに対してリクエスト情報を発行し処理結果の応答を待つ。さらに、分散処理システム6は、第2段の処理結果を第3段のクラスタシステム3cに引き継いでリクエスト処理を実行するものとする。この処理の流れは一例であり、第1段の処理中に、クラスタシステム3cにリスエスト情報を発行しても構わない。
In the present embodiment, when the distributed processing system 6 receives request information (packets) such as data processing (for example, storage, reference, update) from the user terminal 4 operated by the user, the first-
サーバ1は、リクエスト情報に対する処理を実行し、その過程で次段のクラスタシステム3の振り分け先のサーバ1を決定し、新たなリクエスト情報を当該決定したサーバ1へ送信し応答を待つ機能を有する。また、サーバ1は、最終段のクラスタシステムに配備されている場合には、リクエスト処理を実行した後、その処理結果を応答情報として返信する機能を有する。なお、サーバ1の機能の詳細については後記する。
The
ロードバランサ2は、リクエスト情報を受信したとき、ラウンドロビン等の単純な振り分けアルゴリズムに基づいて、当該リクエスト情報を、自身の配置されているクラスタシステム3内のサーバ1に振り分ける処理を実行する。ただし、リクエスト情報は、必ずしも常にロードバランサ2を経由する必要はなく、直接サーバ1によって受信されても構わない。
When receiving the request information, the load balancer 2 executes a process of distributing the request information to the
ユーザ端末4は、例えばパソコンであって、ユーザによって操作される。ユーザ端末4は、ユーザの操作に基づいて、リクエスト情報を分散処理システム6に送信し、そのリクエスト情報に対応する応答情報を受信する機能を有する。 The user terminal 4 is a personal computer, for example, and is operated by the user. The user terminal 4 has a function of transmitting request information to the distributed processing system 6 and receiving response information corresponding to the request information based on a user operation.
管理者端末5は、例えばコンピュータであって、分散処理システム6を保守する際に用いられる。例えば、管理者端末5は、リクエスト情報の処理を担当する振り分け先のサーバ1を決定する際に参照される振り分け情報121(後記)の設定や変更のために用いられる。
The administrator terminal 5 is a computer, for example, and is used when maintaining the distributed processing system 6. For example, the administrator terminal 5 is used for setting or changing distribution information 121 (described later) that is referred to when determining a
(サーバ)
次に、サーバ1の機能例について、図2を用いて説明する。
サーバ1は、処理部11、記憶部12および通信部13を備える。
記憶部12は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、またはIC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)等の記録媒体である。記憶部12は、振り分け情報121を記憶している。
(server)
Next, a function example of the
The
The storage unit 12 is a recording device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC (Integrated Circuit) card, an SD card, or a DVD (Digital Versatile Disc). The storage unit 12
振り分け情報121は、リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバ1とを関連付けた情報であり、その情報をクラスタシステム3全てについて格納している。キー情報は、例えば、URL(Uniform Resource Locator)やIPアドレス等である。1台のサーバ1に複数のプロセスが動作している場合、振り分け情報121には、全てのクラスタシステム3のサーバ1で起動されているプロセスとキー情報との関係が記憶されている。
The
振り分け情報121の一例について、図3を用いて説明する。
図3では、振り分け情報121を、コンシステントハッシングのハッシュ空間で表現している。図3に示すように、クラスタシステム3aについては、キー情報のハッシュ値に対応してサーバ1a〜1cそれぞれの担当領域が表されている。また、クラスタシステム3bについては、キー情報のハッシュ値に対応してサーバ1dおよびサーバ1eの第1のプロセスそれぞれの担当領域が示されている。また、クラスタシステム3cについては、キー情報のハッシュ値に対応してサーバ1eの第2のプロセスおよびサーバ1f,1gそれぞれの担当領域が示されている。
An example of the
In FIG. 3, the
仮に、振り分け情報121において、ハッシュ空間の担当領域が示されていないサーバ1の場合には、そのサーバ1はリクエスト処理を実行することがないので、分散処理システム6内で動作するサーバ1の台数を限定することが可能になる。具体的には、サーバ1aは、クラスタシステム3aにしか担当領域を有していないので、クラスタシステム3aのリクエスト処理だけを担当し、クラスタシステム3b,3cのリクエスト処理を実行しないことが分かる。図3に示した例のように、サーバ1が、クラスタシステム3ごとに特定の1種類、またはサーバ1eのように少数の種類のプロセスだけを実行することになる場合には、その特定の種類のプロセスだけでメモリ領域を独占できる。そのため、サーバ1の台数を最も並列効果が得られる台数に調整することもできる。
If the
なお、振り分け情報121は、図3に示すようなコンシステントハッシングのハッシュ空間で表現されることに限られることはなく、リレーショナルデータベースやDHT(Distributed Hash Table)等による振り分け方法で表されても構わない。また、振り分け情報121は、キー情報に対応する振り分け先のサーバ1を決定する所定の演算式を記憶しており、キー情報を取得する度に、振り分け処理部111(後記)が当該所定の演算式を演算して、振り分け先を決定するようにしても構わない。
The
図2に戻って、処理部11は、図示しないCPU(Central Processing Unit)およびメインメモリによって構成され、記憶部12に記憶されているアプリケーションプログラムをメインメモリに展開して、振り分け処理部111、リクエスト処理部112および振り分け情報変更部113を具現化している。
Returning to FIG. 2, the
振り分け処理部111は、リクエスト情報を受信したとき、振り分け情報121を参照して、リクエスト情報に含まれるキー情報に関連付けられた振り分け先のサーバ1に、当該リクエスト情報を送信する機能を有する。また、振り分け処理部111は、リクエスト処理部112(後記)によってリクエスト処理の処理中にも呼び出すことができ、、振り分け情報121を参照して、新たなキー情報に関連付けられた次段の振り分け先のサーバ1を決定し、その決定した次段のサーバ1に当該処理結果を送信する機能を有する。なお、振り分け処理部111は、必ずしも次段のサーバ1ではなく、処理内容に応じて、その新たなリクエスト情報を処理可能なソフトウェアが動作する、さらにその先の段(クラスタシステム3)のサーバ1を決定するようにしても構わない。
When receiving the request information, the
リクエスト処理部112は、受信したリクエスト情報に対して予め決められた内容の処理を実行し応答を返す機能を有する。
The
振り分け情報変更部113は、管理者端末5から送信された指示情報を受け付けて、振り分け情報121に記憶されているサーバ1の担当領域を変更する機能を有する。
The distribution
通信部13は、外部の装置等との通信を行うためのインタフェースである。通信部13は、ユーザ端末4や管理者端末5との間で情報を送受信するとともに、処理部11の処理結果を他のサーバ1やロードバランサ2に送信したり、他のサーバ1やロードバランサ2から情報を受信したりする機能を有する。
The
(処理例)
次に、分散処理システム6の処理例について、図4を用いて説明する。
ステップS1では、ユーザ端末4が、データ処理(例えば、格納、参照、更新)等のリクエスト情報(パケット)を送信する。
(Processing example)
Next, a processing example of the distributed processing system 6 will be described with reference to FIG.
In step S1, the user terminal 4 transmits request information (packets) such as data processing (for example, storage, reference, update).
ステップS2では、第1段のクラスタシステム3aのロードバランサ2aは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム3a内のサーバ1にラウンドロビン等で振り分ける。図4では、サーバ1cに振り分けた場合について例示する。
In step S2, the
ステップS3では、サーバ1cは、振り分け情報121を参照して、リクエスト処理を担当する振り分け先のクラスタシステム3a内のサーバ1を決定する。図4では、サーバ1aを決定した場合について例示する。
In step S3, the
ステップS4では、サーバ1aは、リクエスト処理を実行する。
ステップS5では、サーバ1aは、振り分け情報121を参照して、リクエスト処理を担当する振り分け先の次段のクラスタシステム3b内のサーバ1を決定する。図4では、サーバ1dを決定した場合について例示する。
また、サーバ1aは、処理内容に従い、新たなリクエスト情報を処理可能なソフトウェアが動作する、さらにその先の段のクラスタシステム3cのサーバ1を決定する。図4では、サーバ1eを決定した場合について例示する。
In step S4, the
In step S5, the
Further, the
ステップS6では、サーバ1dは、リクエスト処理を実行する。
ステップS7では、サーバ1dは、振り分け情報121を参照して、リクエスト処理を担当する振り分け先の次段のクラスタシステム3c内のサーバ1を決定する。図4では、サーバ1fを決定した場合について例示する。
In step S6, the
In step S7, the
ステップS8では、サーバ1eおよびサーバ1fは、リクエスト処理を実行する。
なお、図4には記載していないが、クラスタシステム3cが最終段である場合、サーバ1eおよびサーバ1fは、処理結果を返信し、それに伴ってリクエスト情報を発行したサーバ1もバックトラックで処理結果を返信する。
In step S8, the
Although not shown in FIG. 4, when the
(比較例における処理例)
ここで、比較例として、各クラスタシステムに配置されているロードバランサ2を常に経由する場合の処理例について、図7を用いて説明する。
(Processing example in comparative example)
Here, as a comparative example, a processing example in the case of always passing through the load balancer 2 arranged in each cluster system will be described with reference to FIG.
ステップS71では、ユーザ端末4が、リクエスト情報(パケット)を送信する。
ステップS72では、第1段のクラスタシステム3aのロードバランサ2aがリクエスト情報を受信し、受信したリクエスト情報をクラスタシステム3a内のサーバ1にラウンドロビン等で振り分ける。図7では、サーバ1cに振り分けた場合について例示する。
In step S71, the user terminal 4 transmits request information (packet).
In step S72, the
ステップS73では、サーバ1cは、リクエスト処理を担当する振り分け先のクラスタシステム3a内のサーバ1を決定する。図7では、サーバ1aを決定した場合について例示する。
ステップS74では、サーバ1aは、リクエスト処理を実行する。そして、サーバ1aは、処理結果を次段のクラスタシステム3bのロードバランサ2bに送信する。
In step S73, the
In step S74, the
ステップS75では、第2段のクラスタシステム3bのロードバランサ2bは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム3b内のサーバ1にラウンドロビン等で振り分ける。図7では、サーバ1eに振り分けた場合について例示する。
In step S75, the
ステップS76では、サーバ1eは、リクエスト処理を担当する振り分け先のクラスタシステム3b内のサーバ1を決定する。図7では、サーバ1dを決定した場合について例示する。
ステップS77では、サーバ1dは、リクエスト処理を実行する。そして、サーバ1dは、処理結果を次段のクラスタシステム3cのロードバランサ2cに送信する。
In step S76, the
In step S77, the
ステップS78では、第3段のクラスタシステム3cのロードバランサ2cは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム3c内のサーバ1にラウンドロビン等で振り分ける。図7では、サーバ1gに振り分けた場合について例示する。
In step S78, the
ステップS79では、サーバ1gは、リクエスト処理を担当する振り分け先のクラスタシステム3c内のサーバ1を決定する。図7では、サーバ1fを決定した場合について例示する。
ステップS80では、サーバ1fは、リクエスト処理を実行する。
In step S79, the
In step S80, the
以上、本発明の分散処理システム6は、図4に示すように、図7に示す比較例の場合に比べて、ロードバランサ2およびサーバ1を経由するホップ数を低減している。具体的には、図4ではユーザ端末からの最大ホップ数は「5」であるのに対して、図7に示す比較例ではユーザ端末4からのホップ数は「9」である。つまり、分散処理システム6は、全てのサーバ1の担当領域についての情報を格納した振り分け情報121を各サーバ1が記憶することによって、次段のクラスタシステム3のサーバ1を振り分け先として決定し、サーバ1間で処理結果を直接送受信することができる。このことによって、分散処理システム6は、多段処理に掛かる時間を低減することができる。
As described above, the distributed processing system 6 of the present invention reduces the number of hops passing through the load balancer 2 and the
(クラスタシステムの更改)
次に、サーバ1のソフトウェアを更新する場合等のクラスタシステム3の更改時に、その更改前後におけるクラスタシステム内のサーバ1のデータの一貫性を確保することが必要となる。その一貫性の確保を容易にする手法について、以下に説明する。
(Renewal of cluster system)
Next, when the cluster system 3 is updated when the software of the
まず、クラスタシステム3の更改時の処理例について、図5A、図5Bを用いて説明する。本実施形態では、クラスタシステム3bを更改する場合で説明する。図5Aは、クラスタシステム更改前からクラスタシステムのスワップまでの処理例を表している。図5Bは、クラスタシステムのスワップ後の処理例を表している。
First, a processing example when the cluster system 3 is renewed will be described with reference to FIGS. 5A and 5B. In the present embodiment, a case will be described in which the
図5Aに示すように、(旧)クラスタシステム3bを(新)クラスタシステム3dにスワップしようとした場合、単一点のロードバランサ2を利用して、(旧)クラスタシステム3bを(新)クラスタシステム3dに一気に交換すれば、瞬時に切り替えることができる。言い換えると、単一点がある場合には、更改前後のデータの一貫性が取りやすくなる。
そこで、以下のような手法を用いる。
As shown in FIG. 5A, when the (old)
Therefore, the following method is used.
まず、図5AのステップS51では、クラスタシステム3aとクラスタシステム3cのサーバ1の振り分け情報変更部113は、自身の振り分け情報121を書き替えて、クラスタシステム3b内の振り分け先をロードバランサ2bへ変更する。具体的には、図6の上段に示す「S51の後」に示されるように、振り分け情報121が変更される。この変更は、管理者端末5(図1参照)から受信した指示情報に基づいて振り分け情報変更部113によって実行される。
First, in step S51 of FIG. 5A, the distribution
図5AのステップS52では、新しいソフトウェアが導入されたサーバ1h,1iとロードバランサ2dが起動された後、(旧)クラスタシステム3bのロードバランサ2bから、(新)クラスタシステム3dのロードバランサ2dにスワップする。スワップの仕方としては、ロードバランサ2のクラスタシステム3外部側のIPアドレスをロードバランサ2bとロードバランサ2dとの間で交換することにより、他のクラスタシステム3の各サーバ1の振り分け情報を一切変更せずに実現する方法がある。スワップ後の振り分け情報121は、図6の中段に示す「S52の後」に示されるようになる。例えば、スワップされた(新)クラスタシステム3dのサーバ1h,1iについては、新たに担当領域が設定されている。また、サーバ1a〜1c、サーバ1eの第2のプロセスおよびサーバ1f〜1gでは、振り分け先が(新)クラスタシステム3dのロードバランサ2dに変更されている。なお、サーバ1a〜1c、サーバ1eの第2のプロセスおよびサーバ1f〜1gの変更は、管理者端末5(図1参照)から受信した指示情報に基づいて振り分け情報変更部113によって実行される。
In step S52 of FIG. 5A, after the
次に、図5BのステップS53では、クラスタシステム3aとクラスタシステム3cのサーバ1の振り分け情報変更部113は、自身の振り分け情報121を書き換えて、振り分け先を(新)クラスタシステム3dのサーバ1へ変更する。具体的には、図6の下段に示す「S53の後」に示されるように、振り分け情報121が変更される。この変更は、管理者端末5(図1参照)から受信した指示情報に基づいて振り分け情報変更部113によって実行される。
Next, in step S53 of FIG. 5B, the distribution
なお、前記したステップS51〜S53では、管理者端末5が指示情報を送信するように説明したが、起動した(新)クラスタシステム3d側から管理者端末5の指示を仰ぐようにしても構わない。
このようにして、分散処理システム6は、各サーバ1が記憶している振り分け情報121の変更によって、クラスタシステム3の更改前後におけるデータの一貫性の確保を容易に実行することができる。
In steps S51 to S53 described above, the administrator terminal 5 has been described as transmitting instruction information. However, the administrator terminal 5 may receive an instruction from the activated (new)
In this way, the distributed processing system 6 can easily execute the data consistency before and after the renewal of the cluster system 3 by changing the
以上、本実施形態の分散処理システム6は、クラスタシステム3間の情報の送受信を、直接サーバ1同士で行うことができる。つまり、分散処理システム6は、ロードバランサ2を常に経由した場合に比べて、サーバ1を経由するホップ数を低減することができる。したがって、分散処理システム6は、多段処理に掛かる時間を低減することができる。また、分散処理システム6は、クラスタシステム3を更改する場合、振り分け先をロードバランサ2に変更することができる。このことにより、分散処理システム6は、クラスタシステム3の更改を容易に行うことができる。
As described above, the distributed processing system 6 according to the present embodiment can directly transmit and receive information between the cluster systems 3 between the
1,1a〜1i サーバ
2,2a〜2c,2d ロードバランサ
3,3a〜3c,3d クラスタシステム
4 ユーザ端末
5 管理者端末
6 分散処理システム
11 処理部
12 記憶部
13 通信部
111 振り分け処理部
112 リクエスト処理部
113 振り分け情報変更部
121 振り分け情報
1, 1a to
Claims (2)
前記サーバは、
前記リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバとを関連付けた情報を前記クラスタシステム全てについて格納した振り分け情報を記憶している記憶部と、
前記リクエスト情報を受信したとき、前記振り分け情報を参照して、当該リクエスト情報に含まれる前記キー情報に関連付けられた次段のクラスタシステムのサーバを決定する振り分け処理部と、
を備えることを特徴とする分散処理システム。 A distributed processing system comprising a plurality of cluster systems that are clustered server groups, configured in multiple stages, and processing request information received from outside,
The server
A storage unit storing distribution information in which information relating the key information included in the request information and a server to which the request information including the key information is allocated is stored for all the cluster systems;
When receiving the request information, with reference to the distribution information, a distribution processing unit that determines a server of the next-stage cluster system associated with the key information included in the request information;
A distributed processing system comprising:
前記サーバが、前記振り分け情報を変更する振り分け情報変更部を備え、
前記クラスタシステムの中の第1のクラスタシステムを更改する場合、
前記振り分け情報変更部が、前記第1のクラスタシステムの更改前に、前記振り分け情報内で前記第1のクラスタシステム以外のクラスタシステム中の前記サーバを振り分け先とする情報を、前記第1のクラスタシステムのロードバランサを振り分け先とする情報に変更する
ことを特徴とすること請求項1に記載の分散処理システム。 The cluster system includes a load balancer that distributes the request information to the servers in the cluster system,
The server includes a distribution information changing unit that changes the distribution information,
When renewing the first cluster system among the cluster systems,
Before the renewal of the first cluster system, the distribution information change unit uses the distribution information to specify the server in the cluster system other than the first cluster system as a distribution destination. The distributed processing system according to claim 1, wherein the information is changed to information with a load balancer of the system as a distribution destination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014036556A JP6085265B2 (en) | 2014-02-27 | 2014-02-27 | Distributed processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014036556A JP6085265B2 (en) | 2014-02-27 | 2014-02-27 | Distributed processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015162061A true JP2015162061A (en) | 2015-09-07 |
JP6085265B2 JP6085265B2 (en) | 2017-02-22 |
Family
ID=54185120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014036556A Active JP6085265B2 (en) | 2014-02-27 | 2014-02-27 | Distributed processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6085265B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019519026A (en) * | 2016-04-28 | 2019-07-04 | スノーフレーク インク. | Multi-cluster warehouse |
CN111654372A (en) * | 2019-11-29 | 2020-09-11 | 江苏芯盛智能科技有限公司 | Key management method and related device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006127001A (en) * | 2004-10-27 | 2006-05-18 | Hitachi Ltd | Operating method, operation management system, and operation program for business system |
JP2008250806A (en) * | 2007-03-30 | 2008-10-16 | Fujitsu Ltd | Network apparatus, access control method, and access control program |
JP2012242994A (en) * | 2011-05-18 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Transaction processing system, transaction processing method and transaction processing program |
-
2014
- 2014-02-27 JP JP2014036556A patent/JP6085265B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006127001A (en) * | 2004-10-27 | 2006-05-18 | Hitachi Ltd | Operating method, operation management system, and operation program for business system |
JP2008250806A (en) * | 2007-03-30 | 2008-10-16 | Fujitsu Ltd | Network apparatus, access control method, and access control program |
JP2012242994A (en) * | 2011-05-18 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Transaction processing system, transaction processing method and transaction processing program |
Non-Patent Citations (1)
Title |
---|
JPN6016040642; 近藤 悟,外1名: '「クラスタ間におけるキャッシュデータの排他制御に関する一検討」' 電子情報通信学会技術研究報告 第112 第208号, 20120913, pp.13-18, 一般社団法人電子情報通信学会 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019519026A (en) * | 2016-04-28 | 2019-07-04 | スノーフレーク インク. | Multi-cluster warehouse |
US11630850B2 (en) | 2016-04-28 | 2023-04-18 | Snowflake Inc. | Multi-cluster warehouse |
JP7271059B2 (en) | 2016-04-28 | 2023-05-11 | スノーフレーク インク. | Multi-cluster warehouse |
CN111654372A (en) * | 2019-11-29 | 2020-09-11 | 江苏芯盛智能科技有限公司 | Key management method and related device |
CN111654372B (en) * | 2019-11-29 | 2023-03-07 | 江苏芯盛智能科技有限公司 | Key management method and related device |
Also Published As
Publication number | Publication date |
---|---|
JP6085265B2 (en) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105391797B (en) | Cloud Server load-balancing method and device based on SDN | |
US8762534B1 (en) | Server load balancing using a fair weighted hashing technique | |
EP3014444B1 (en) | Computing connected components in large graphs | |
US8290919B1 (en) | System and method for distributing and accessing files in a distributed storage system | |
US8768981B1 (en) | System and method for distributing and accessing files in a distributed storage system | |
US10212228B2 (en) | Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner | |
US8392368B1 (en) | System and method for distributing and accessing files in a distributed storage system | |
US10742559B2 (en) | Eliminating data traffic redirection in scalable clusters | |
KR20120018178A (en) | Swarm-based synchronization over a network of object stores | |
JP2017098935A (en) | Virtual router cluster, data transfer method and device | |
CN104536988B (en) | MonetDB Distributed Calculation storage methods | |
CN105119997A (en) | Data processing method of cloud computing system | |
US20130138686A1 (en) | Device and method for arranging query | |
EP3560148B1 (en) | Database functions-defined network switch | |
CN110226159B (en) | Method for performing database functions on a network switch | |
JP6085265B2 (en) | Distributed processing system | |
EP3241309A1 (en) | Overprovisioning floating ip addresses to provide stateful ecmp for traffic groups | |
US20150263990A1 (en) | Network device, control method, and program | |
CN107046503B (en) | Message transmission method, system and device | |
CN110581784B (en) | Node health check method, device and equipment | |
US9632890B2 (en) | Facilitating N-way high availability storage services | |
US9276771B1 (en) | Lossless multipath table compression | |
WO2017157189A1 (en) | Data streaming broadcasts in massively parallel processing databases | |
US11563715B2 (en) | Pattern matching by a network device for domain names with wildcard characters | |
US11233739B2 (en) | Load balancing system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161226 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6085265 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |