JP2015162216A - Decentralized processing system - Google Patents

Decentralized processing system Download PDF

Info

Publication number
JP2015162216A
JP2015162216A JP2014038834A JP2014038834A JP2015162216A JP 2015162216 A JP2015162216 A JP 2015162216A JP 2014038834 A JP2014038834 A JP 2014038834A JP 2014038834 A JP2014038834 A JP 2014038834A JP 2015162216 A JP2015162216 A JP 2015162216A
Authority
JP
Japan
Prior art keywords
data
management server
replication
server
original
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
Application number
JP2014038834A
Other languages
Japanese (ja)
Other versions
JP6093320B2 (en
Inventor
信 浜田
Makoto Hamada
信 浜田
俊之 森谷
Toshiyuki Moriya
俊之 森谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014038834A priority Critical patent/JP6093320B2/en
Publication of JP2015162216A publication Critical patent/JP2015162216A/en
Application granted granted Critical
Publication of JP6093320B2 publication Critical patent/JP6093320B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a decentralized processing system capable of executing data duplication processing again even when data duplication processing which is asynchronous to request processing of data to be managed, is failed.SOLUTION: A processing part 42 of a server 4 being an original copy management server of a decentralized processing system 1000 updates original copy data which is stored in a storage part 41 by processing a request from a client machine 1, then transmits the updated original copy data to a server 4 which is a duplication management server in asynchronous to the request processing for making the server 4 create duplication data, monitors a creation state of the duplication data by the server 4 being the duplication management server. When creation of the duplication data is failed, the duplication management server which failed to create the duplication data is withdrawn from the decentralized processing system 1000, and another server 4 among plural servers serves as the new duplication management server, and the new duplication management server is made create the duplication data.

Description

本発明は、複数のサーバを備えた分散処理システムで扱うデータのレプリケーション技
術に関する。
The present invention relates to a data replication technique handled by a distributed processing system including a plurality of servers.

近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。   In recent years, with the rise of cloud computing, it has been required to efficiently process and retain a large amount of data. Thus, distributed processing technology has been developed that realizes efficient processing by operating a plurality of servers in a coordinated manner.

分散処理を行う際には、処理対象(管理対象)のデータを、クラスタを構成する各サーバ(以下、「クラスタメンバ」または「メンバ」とも称する。)に振り分けておく必要がある。このとき、クラスタ全体での処理能力を高めるためには、各クラスタメンバが担当するデータ数(データ量)は、平均化されていることが望ましい。   When performing distributed processing, it is necessary to distribute processing target (management target) data to each server constituting the cluster (hereinafter also referred to as “cluster member” or “member”). At this time, in order to increase the processing capacity of the entire cluster, it is desirable that the number of data (data amount) handled by each cluster member is averaged.

代表的なデータの振り分け手法として、各データのkeyをハッシュ関数にかけた値(以下、「hash(key)」と称する。)をクラスタメンバ数Nで割った余り、すなわち「hash(key) mod N」を番号として持つクラスタメンバにデータを振り分ける手法がある。この場合、各クラスタメンバに対して、事前に「0」から「N−1」までの番号を割り当てていることが前提となる。このような振り分け手法を用いた場合、クラスタメンバを追加すると、Nの値が変化して、多くのデータについて、担当するクラスタメンバが変更になるため、担当するデータの再配置が必要になる。   As a typical data distribution method, the remainder obtained by dividing the value obtained by multiplying the key of each data by a hash function (hereinafter referred to as “hash (key)”) by the number N of cluster members, that is, “hash (key) mod N There is a method of distributing data to cluster members having "" as a number. In this case, it is assumed that numbers “0” to “N−1” are assigned in advance to each cluster member. When such a distribution method is used, if a cluster member is added, the value of N changes, and the cluster member in charge of a lot of data is changed, so that the data in charge must be rearranged.

そこで、クラスタメンバの追加に伴い担当するクラスタメンバが変更になるデータ数を約1/Nに抑える手法として、コンシステント・ハッシュ法(Consistent Hashing)を用いた振り分け手法(非特許文献1参照)がある。   Therefore, as a method for suppressing the number of data that the cluster member in charge changes with the addition of the cluster member to about 1 / N, a distribution method using a consistent hashing method (see Non-Patent Document 1) is used. is there.

このコンシステント・ハッシュ法を用いたデータ振り分け手法では、クラスタメンバとデータの双方にID(IDentifier)を割り当て、データのIDから環状のID空間を時計回りに辿った場合に最初に出合ったクラスタメンバを、そのデータの担当とする。   In this data distribution method using the consistent hash method, an ID (IDentifier) is assigned to both the cluster member and data, and the cluster member first encountered when the circular ID space is traced clockwise from the data ID. Is in charge of the data.

また、多量のデータの管理をクラスタ構成の分散処理システムで行う場合、あるクラスタメンバに障害が発生した場合でも他のクラスタメンバで処理を継続することができるように、データの複製を保持することでデータ冗長化を実現する必要がある。これは、コンシステント・ハッシュ法によるデータ管理手法を用いた分散処理システムにおいても同様である。   Also, when managing a large amount of data in a clustered distributed processing system, keep a copy of the data so that even if a failure occurs in one cluster member, processing can be continued on other cluster members. It is necessary to realize data redundancy. The same applies to a distributed processing system that uses a data management technique based on the consistent hash method.

図4に示すように、コンシステント・ハッシュ法では、クラスタメンバ(メンバ1〜4)及びデータ(データA〜D。黒丸で表示)の双方にIDを割り当て、データのIDからID空間を時計回りに辿り、最初に出会ったクラスタメンバを、そのデータの担当として決定する。
そして、担当するクラスタメンバのさらに右隣(時計回りに辿って次)のクラスタメンバに複製データを担当させる。
As shown in FIG. 4, in the consistent hash method, IDs are assigned to both cluster members (members 1 to 4) and data (data A to D, indicated by black circles), and the ID space is clockwise from the data ID. , And the first cluster member encountered is determined to be responsible for the data.
Then, the cluster member that is further to the right of the cluster member in charge (following clockwise rotation) is assigned the replication data.

例えば、図4においては、データ(原本データ)Aについては、ID空間上を時計回りに辿って最初に出会ったメンバ1が担当となり、データAの複製データについては、ID空間上でメンバ1の右隣にあたるメンバ2が担当となる。このように、原本データ及び複製データを担当するクラスタメンバを決定することで、クラスタメンバに離脱があった場合でも、離脱したクラスタメンバが担当していたデータAの複製データを所持しているクラスタメンバが、当該データAを担当する新たなクラスタメンバとなることで対応することができるという利点がある。なお、複製データを複数個作成する場合には、さらに右隣のクラスタメンバに2個目の複製データを担当させるようにすることもできる。   For example, in FIG. 4, for data (original data) A, member 1 who first encounters by tracing clockwise in the ID space is in charge, and for duplicate data of data A, member 1 in ID space Member 2 on the right is in charge. In this way, by determining the cluster member in charge of the original data and the duplicated data, even if the cluster member has left, the cluster that owns the duplicated data of the data A handled by the detached cluster member There is an advantage that the member can cope with it by becoming a new cluster member in charge of the data A. When creating a plurality of duplicate data, the cluster member on the right can be assigned to the second duplicate data.

ここで、このような手法に使用できるデータベースサーバとしては、例えば、Cassandra(非特許文献2)等に記載されている、複数サーバが動的にクラスタに参加・離脱することが可能な分散データベースサーバが挙げられる。非特許文献2に記載の技術では、コンシステント・ハッシュ法を用いたデータの均等な分散及び高速アクセスが実現されている。また、複製データを複数のサーバに対して持たせることで、耐故障性を高めることができる。複製データを複数のサーバに対して持たせると、対故障性を高めることができる一方で、複製にかかる処理負荷、複数サーバ間における複製情報の整合性、複製情報を保持するためのデータ蓄積量の増大等を招くことから、通常は、同じ複製データを保持するサーバを複数設けることはしない。   Here, as a database server that can be used for such a technique, for example, a distributed database server described in Cassandra (Non-Patent Document 2) or the like, in which a plurality of servers can dynamically join and leave a cluster. Is mentioned. In the technique described in Non-Patent Document 2, uniform distribution and high-speed access of data using the consistent hash method is realized. Also, by providing duplicate data to a plurality of servers, fault tolerance can be improved. Having duplicate data for multiple servers can increase fault tolerance, but the processing load for replication, consistency of replication information among multiple servers, and the amount of data stored to hold replication information In general, a plurality of servers that hold the same replicated data are not provided.

また、例えばセッション制御サーバのようにリクエストの応答時間が厳しい処理を実現する場合、リクエストの応答内容と複製データとを同期させてからリクエストの応答を返信するのでは処理時間が厳しいので、リクエストの応答は先に返信し、管理対象の複製データの作成は、リクエストの応答とは非同期に行うことで、応答時間を確保することになる。   Also, for example, when processing a request with a strict response time such as a session control server is realized, it takes a long time to send a request response after synchronizing the response contents of the request and the replicated data. The response is returned first, and the copy data to be managed is created asynchronously with the response of the request, thereby securing a response time.

David Karger et al., “ Consistent Hash ing and Random Tre es: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web”, [online], 1997, ACM, [2014年2月28日検索], インターネット<URL:http://dl.acm.org/citation.cfm?id=258660>David Karger et al., “Consistent Hashing and Random Tres: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web”, [online], 1997, ACM, [February 28, 2014 search], Internet <URL : Http://dl.acm.org/citation.cfm?id=258660> Avinash Lakshman et al., “Cassandra - A Decentralized Structured Storage System” , [online], [2014年2月28日検索], インターネット<URL:http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf>Avinash Lakshman et al., “Cassandra-A Decentralized Structured Storage System”, [online], [searched February 28, 2014], Internet <URL: http://www.cs.cornell.edu/projects/ladis2009/ papers / lakshman-ladis2009.pdf>

しかしながら、クラスタ内における処理遅延等によって、複製データの作成に失敗しても、サーバがクライアントマシンにリクエストに対して正常に返信しているために、リクエストの再送を期待することができず、原本データと複製データとがアンマッチのままクラスタが運用されることになり、原本データを管理するサーバがダウンした場合に、データを消失してしまうおそれがある。   However, even if replication data creation fails due to processing delay in the cluster, etc., the server is normally replying to the request to the client machine, so the request cannot be retransmitted. Since the cluster is operated with the data and the replicated data unmatched, there is a risk that the data will be lost if the server that manages the original data goes down.

そこで、本発明は、前記事情に鑑みてなされたものであり、管理対象となるデータのリクエスト処理とは非同期のデータ複製処理が失敗した場合でも、データ複製処理の再実行が可能な分散処理システムを提供することを課題とする。 Therefore, the present invention has been made in view of the above circumstances, and a distributed processing system capable of re-execution of data replication processing even when data replication processing asynchronous with request processing of data to be managed fails. It is an issue to provide.

前記の目的を達成するために、本発明は、複数のサーバがデータを管理する分散処理システムであって、前記複数のサーバは、前記データの原本データを管理する原本管理サーバと、前記データの複製データを管理する複製管理サーバと、を備え、前記原本管理サーバは、前記原本データが記憶されるとともに、前記データが前記複数のサーバのいずれによって管理されているかを示す複製管理情報が記憶される記憶部と、クライアントマシンからのリクエストを処理することによって前記記憶部に記憶された前記原本データを更新し、かかるリクエストの処理とは非同期に、更新された前記原本データを前記複製管理サーバに送信して前記複製データを作成させる処理部を備え、前記処理部は、前記複製管理サーバによる前記複製データの作成状態を監視し、前記複製データの作成に失敗した場合に、前記複製データの作成に失敗した前記複製管理サーバを当該分散処理システムから離脱させ、前記複数のサーバのうちの他のサーバを新たな前記複製管理サーバとし、新たな前記複製管理サーバに前記複製データを作成させることを特徴とする。   In order to achieve the above object, the present invention provides a distributed processing system in which a plurality of servers manage data, the plurality of servers including an original management server that manages original data of the data, A copy management server for managing copy data, wherein the original management server stores the original data and also stores copy management information indicating which of the plurality of servers manages the data. The original data stored in the storage unit is updated by processing a request from a storage unit and a client machine, and the updated original data is transferred to the replication management server asynchronously with the processing of the request. A processing unit configured to transmit and create the replicated data, the processing unit configured to transmit the replicated data by the replication management server; The replication status is monitored, and when the replication data creation fails, the replication management server that failed to create the replication data is removed from the distributed processing system, and another server among the plurality of servers is newly replaced. The replication management server is configured such that a new replication management server creates the replication data.

かかる構成によると、リクエスト処理とは非同期に複製データを作成するとともに、複製データの作成に失敗した場合に、複製データの作成に失敗した複製管理サーバを当該分散処理システムから離脱させ、複数のサーバのうちの他のサーバを新たな複製管理サーバとし、新たな複製管理サーバに複製データを作成させるので、原本データと複製データとがアンマッチのまま分散処理システムが運用されることを防ぐことができる。   According to such a configuration, the replication data is created asynchronously with the request processing, and when the replication data creation fails, the replication management server that failed to create the replication data is separated from the distributed processing system, and a plurality of servers Since the other replication server is used as a new replication management server and the new replication management server creates replication data, it is possible to prevent the distributed processing system from operating with the original data and the replication data being unmatched. .

前記複製管理サーバは、前記複製データを作成して当該複製管理サーバの記憶部に記憶させる処理部を備え、前記複製管理サーバの前記処理部は、前記複製データの作成中に前記原本管理サーバがダウンした場合には、作成しようとした前記複製データの中で作成済みの前記複製データを前記原本データとして当該複製管理サーバの前記記憶部に記憶させる構成であってもよい。   The replication management server includes a processing unit that creates the replication data and stores the replication data in a storage unit of the replication management server, and the processing unit of the replication management server is configured to enable the original management server to create In the case of down, the copy data already created among the copy data to be created may be stored in the storage unit of the copy management server as the original data.

かかる構成によると、複製データの作成が全て完了する前に原本管理サーバがダウンした場合には、作成済みの複製データを原本データとして当該複製管理サーバの記憶部に記憶させるので、複製データの作成中に原本管理サーバがダウンした場合においても、データの完全消失を防ぐことができる。   According to this configuration, if the original management server goes down before the creation of all replicated data is completed, the created replicated data is stored in the storage unit of the relevant replication management server as the original data. Even when the original management server goes down, complete loss of data can be prevented.

前記分散処理システムは、環状のID(IDentifier)空間に、処理対象の複数の前記データのID、及び、クラスタを構成し前記データに関するリクエストを処理する前記複数のサーバのIDが割り当てられ、前記ID空間において前記データのIDから所定方向回りに辿って最初に遭遇した前記サーバまでの間に位置する前記データを、当該サーバが前記原本管理サーバとなって前記原本データとして保持するとともに、前記クラスタ内の前記原本管理サーバ以外のサーバが前記複製管理サーバとなって前記複製データを保持する構成であってもよい。   In the distributed processing system, IDs of a plurality of data to be processed and IDs of the plurality of servers that form a cluster and process requests related to the data are allocated to a circular ID (IDentifier) space, and the ID In the space, the data located between the ID of the data and the first server encountered in a predetermined direction is held as the original management server as the original data, The server other than the original management server may be the replication management server and hold the replication data.

かかる構成によると、環状のID空間にデータ及びサーバが配置される、いわゆるコンシステント・ハッシュ法を採用した分散処理システムにおいて、原本データと複製データとがアンマッチのまま分散処理システムが運用されることを防ぐことができる。   According to such a configuration, in a distributed processing system employing a so-called consistent hash method in which data and servers are arranged in a circular ID space, the distributed processing system is operated while the original data and the replicated data are unmatched. Can be prevented.

本発明によれば、本発明によれば、分散処理システムにおいてリクエスト処理とは非同期に複製データを作成する場合においても、データの損失を効率的に防ぐことができる。   According to the present invention, according to the present invention, data loss can be efficiently prevented even when replicated data is created asynchronously with request processing in a distributed processing system.

本発明の実施形態に係るクライアントマシン及び分散処理システムを模式的に示すブロック図である。1 is a block diagram schematically showing a client machine and a distributed processing system according to an embodiment of the present invention. ID空間管理情報の一例を示す図である。It is a figure which shows an example of ID space management information. 複製管理情報の一例を示す図である。It is a figure which shows an example of replication management information. コンシステント・ハッシュ法のID空間において原本データ及び複製データを管理するサーバを説明するための図である。It is a figure for demonstrating the server which manages original data and replication data in ID space of a consistent hash method. 本発明の実施形態に係る原本管理サーバの動作例を説明するためのフローチャートである。It is a flowchart for demonstrating the operation example of the original management server which concerns on embodiment of this invention. 本発明の実施形態に係る複製管理サーバの動作例を説明するためのフローチャートである。It is a flowchart for demonstrating the operation example of the replication management server which concerns on embodiment of this invention.

以下、本発明の実施形態について、適宜図面を参照して説明する。同様の構成には同一の符号を付し、重複する説明を省略する。   Embodiments of the present invention will be described below with reference to the drawings as appropriate. Similar components are denoted by the same reference numerals, and redundant description is omitted.

<分散処理システム>
図1に示すように、本発明の実施形態に係る分散処理システム1000は、負荷分散装置3と、クラスタ100を構成する複数のサーバ4と、を備えている。負荷分散装置3は、インターネット等のネットワーク2を介して、複数のクライアントマシン1と接続されている。
<Distributed processing system>
As shown in FIG. 1, a distributed processing system 1000 according to an embodiment of the present invention includes a load distribution device 3 and a plurality of servers 4 that constitute a cluster 100. The load balancer 3 is connected to a plurality of client machines 1 via a network 2 such as the Internet.

ここで、分散処理システム1000全体の主な動作について説明する。まず、負荷分散装置3は、クライアントマシン1からのリクエストを、ネットワーク2経由で受信する。負荷分散装置3は、受信したリクエストを、複数のサーバ4のいずれかに振り分ける。リクエストを振り分けられたサーバ4は、振り分けられたリクエストの処理を行うとともに、他の(本実施形態では、1つ)のサーバ4にデータの複製の記憶を要求する。   Here, main operations of the entire distributed processing system 1000 will be described. First, the load balancer 3 receives a request from the client machine 1 via the network 2. The load balancer 3 distributes the received request to one of the plurality of servers 4. The server 4 to which the request is distributed performs processing of the distributed request, and requests the other (four in the present embodiment) server 4 to store a copy of the data.

<負荷分散装置>
続いて、負荷分散装置3の構成について説明する。負荷分散装置3は、記憶部31と、処理部32と、入力部33と、表示部34と、通信部35と、を備える。
<Load distribution device>
Next, the configuration of the load distribution device 3 will be described. The load distribution device 3 includes a storage unit 31, a processing unit 32, an input unit 33, a display unit 34, and a communication unit 35.

記憶部31は、情報を記憶する手段であり、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ、HDD(Hard Disk Drive)等によって構成される。記憶部31には、ID空間管理情報311と複製管理情報312と、が格納されている。また、記憶部31には、処理部32を具現化する動作プログラムなども格納されている。なお、ID空間管理情報311は、後記するサーバ4のID空間管理情報411と同一であり、複製管理情報312は、後記するサーバ4の複製管理情報412と同一である。そのため、ID空間管理情報311及び複製管理情報312に関する説明を省略する。   The storage unit 31 is a means for storing information, and includes a memory such as a random access memory (RAM) or a read only memory (ROM), a hard disk drive (HDD), or the like. The storage unit 31 stores ID space management information 311 and replication management information 312. The storage unit 31 also stores an operation program that embodies the processing unit 32. The ID space management information 311 is the same as the ID space management information 411 of the server 4 described later, and the replication management information 312 is the same as the replication management information 412 of the server 4 described later. Therefore, the description regarding the ID space management information 311 and the replication management information 312 is omitted.

処理部32は、記憶部31に格納された情報に基づいて演算処理を行う手段であり、例えばCPU(Central Processing Unit)によって構成される。処理部32は、クラスタ100へのサーバ4の離脱等によりID空間管理情報311を更新し、更新された最新のID空間管理情報311をすべてのサーバ4に送信する。   The processing unit 32 is means for performing arithmetic processing based on information stored in the storage unit 31, and is configured by, for example, a CPU (Central Processing Unit). The processing unit 32 updates the ID space management information 311 by, for example, leaving the server 4 to the cluster 100, and transmits the updated latest ID space management information 311 to all the servers 4.

また、処理部32は、ID空間管理情報311に基づいて、通信部35が受信したクライアントマシン1からのリクエストを複数のサーバ4のどれに振り分けるかについて決定する。   Further, the processing unit 32 determines which of the plurality of servers 4 the request from the client machine 1 received by the communication unit 35 is distributed based on the ID space management information 311.

入力部33は、サーバ4の管理者が情報を入力する手段であり、例えば、キーボード、マウス等によって実現される。   The input unit 33 is a means by which the administrator of the server 4 inputs information, and is realized by a keyboard, a mouse, or the like, for example.

表示部34は、情報を表示する手段であり、例えば、LCD(Liquid Crystal Display)によって実現される。   The display unit 34 is a means for displaying information, and is realized by, for example, an LCD (Liquid Crystal Display).

通信部35は、外部装置との通信に用いられる通信インタフェースである。   The communication unit 35 is a communication interface used for communication with an external device.

<サーバ>
続いて、サーバ4の構成について説明する。サーバ4は、負荷分散装置3によって振り分けられたクライアントマシン1からのリクエストを処理するコンピュータ装置である。なお、前記したように、コンシステント・ハッシュ法では、管理対象の複数のデータ、及び、データを管理しクラスタ100を構成する複数のサーバ4、が環状のID空間に割り振られ、それぞれのサーバ4が、ID空間において自身から反時計回り(所定方向回り)に次のサーバ4までの間に位置するデータ(原本データ)を記憶して管理する原本管理サーバとして機能するとともに、当該次のサーバ4から反時計回り(所定方向回り)にさらに次のサーバ4までの間に位置するデータの複製(複製データ)を記憶して管理する複製管理サーバとして機能することを前提とする。
<Server>
Next, the configuration of the server 4 will be described. The server 4 is a computer device that processes requests from the client machines 1 distributed by the load balancer 3. As described above, in the consistent hash method, a plurality of data to be managed and a plurality of servers 4 that manage the data and constitute the cluster 100 are allocated to the annular ID space. Functions as an original management server that stores and manages data (original data) positioned between itself and the next server 4 counterclockwise (predetermined direction) in the ID space, and the next server 4 It is assumed that the server functions as a replication management server that stores and manages data replication (replication data) located between the first server 4 and the next server 4 counterclockwise (in a predetermined direction).

サーバ4は、記憶部41と、処理部42と、通信部43と、を備える。   The server 4 includes a storage unit 41, a processing unit 42, and a communication unit 43.

記憶部41は、情報を記憶する手段であり、RAMやROM等のメモリ、HDD等によって構成される。記憶部41には、当該サーバ4に対応する原本データ及び複製データが格納されているとともに、負荷分散装置3から受信したID空間管理情報311及び複製管理情報312が、それぞれID空間管理情報411及び複製管理情報412として格納されている。なお、記憶部41には、処理部42を具現化する動作プログラム等も格納されている。   The storage unit 41 is a means for storing information, and includes a memory such as a RAM or a ROM, an HDD, or the like. The storage unit 41 stores original data and copy data corresponding to the server 4, and the ID space management information 311 and the copy management information 312 received from the load balancer 3 are the ID space management information 411 and Stored as copy management information 412. The storage unit 41 also stores an operation program that embodies the processing unit 42.

処理部42は、記憶部41に格納された情報に基づいて演算処理を行う手段であり、例えばCPUによって構成される。処理部42は、負荷分散装置3によって振り分けられたクライアントマシン1からのリクエストを処理する。すなわち、処理部42は、リクエストに対応するデータ(原本データ)を記憶部41内において更新する。   The processing unit 42 is a unit that performs arithmetic processing based on information stored in the storage unit 41, and is configured by a CPU, for example. The processing unit 42 processes a request from the client machine 1 distributed by the load balancer 3. That is, the processing unit 42 updates the data (original data) corresponding to the request in the storage unit 41.

処理部42は、さらに、ID空間管理情報411を参照してID空間における自身から所定方向回りに次のサーバ4に当該リクエストの処理に用いたデータの複製の記憶を要求する。ここで、処理部42は、記憶部41に記憶された原本データのうち、リクエストによって更新された原本データのみの複製の記憶を要求する構成であってもよく、全ての原本データの複製の記憶を要求する構成であってもよい。また、複製管理サーバの処理部42は、複製データを作成して(すなわち、原本管理サーバの処理部42から送信されたデータを受信して複製データとし)、作成した複製データを複製管理サーバの記憶部41に記憶させる。   The processing unit 42 further refers to the ID space management information 411 and requests the next server 4 to store a copy of the data used for processing the request from the ID space itself in a predetermined direction. Here, the processing unit 42 may be configured to request storage of a copy of only the original data updated by the request among the original data stored in the storage unit 41, and store the copy of all the original data. The structure which requests | requires may be sufficient. The processing unit 42 of the replication management server creates replication data (that is, receives the data transmitted from the processing unit 42 of the original management server as replication data), and converts the created replication data into the replication management server. The data is stored in the storage unit 41.

なお、処理部42は、レスポンスタイムを短くするために、次のサーバ4におけるデータの複製の記憶が完了する前に、クライアントマシン1からのリクエストに対して返信し、データの複製を、リクエストの処理とは非同期に行うものとする。また、処理部42は、かかるリクエストの処理及びデータの複製に応じて複製管理情報412を更新したり、複製管理情報412の更新結果を他のサーバ4及び負荷分散装置3に送信したりすることができる。   In order to shorten the response time, the processing unit 42 returns a response to the request from the client machine 1 before the data storage in the next server 4 is completed, It shall be performed asynchronously with the processing. Further, the processing unit 42 updates the replication management information 412 according to the processing of the request and data replication, or transmits the update result of the replication management information 412 to the other server 4 and the load balancer 3. Can do.

通信部43は、外部装置との通信に用いられる通信インタフェースである。なお、サーバ4は、入力部や表示部を備えていてもよい。   The communication unit 43 is a communication interface used for communication with an external device. The server 4 may include an input unit and a display unit.

ID空間管理情報411は、管理対象のデータについて、所定のハッシュ値変換によって算出されたIDを用いて、そのデータを担当するサーバ4を管理するための情報である。IDは、環状のID空間における位置を示す固有の値であり、サーバ4が管理を担当するデータの領域を特定するために格納され、IDの値の大きさでソートされている。   The ID space management information 411 is information for managing the server 4 in charge of the data to be managed using an ID calculated by a predetermined hash value conversion. The ID is a unique value indicating the position in the circular ID space, and is stored in order to specify the data area for which the server 4 is in charge of management, and is sorted according to the size of the ID value.

図2に示す例では、第1行目は、IPアドレスが「192.168.0.3」のサーバ4に対して、ID「9245D30E」が割り当てられており、かかるサーバ4が、IDが「00000000」〜「9245D30E」の領域に属するデータを担当する(すなわち、当該領域の原本データを記憶して管理する)ことを示している。
また、第2行目は、IPアドレスが「192.168.2.15」のサーバ4が、1つ前の行のIDの値に1をプラスした識別子からその行のIDまでの値の識別子に属するデータを担当することを示している。
In the example shown in FIG. 2, the ID “9245D30E” is assigned to the server 4 whose IP address is “192.168.0.3” in the first line, and the server 4 has IDs “00000000” to “00000000” 9245D30E ”(ie, storing and managing original data of the area).
In the second line, the server 4 having the IP address “192.168.2.15” stores data belonging to the identifier of the value from the identifier obtained by adding 1 to the ID value of the previous line to the ID of the line. Indicates that you are in charge.

複製管理情報412は、各管理対象のデータ毎に作成され、データの複製の状況を管理するための情報である。図3に示すように、複製管理情報412は、原本データが記憶されるサーバ4のIPアドレスと、複製データが記憶されるIPアドレスと、のそれぞれについて、複製状態及び複製版数が関連付けられている。例えば、複製状態が「0」であれば、該当するサーバ4が当該データの原本データを管理していることを示し、複製状態が「1」であれば、該当するサーバ4が当該データの複製データを管理していることを示す。また、データの複製は、クライアントマシン1からのリクエストとは非同期に行われるので、追加差分を随時複製するため、原本データを管理するサーバ4の処理部42は、原本データ作成時に、原本データに関する複製版数を更新しておき、複製データ作成の成功時に複製データに関する複製版数を更新することで、複製状況を更新可能とする。また、原本データを管理するサーバ4の処理部42は、複製に失敗した場合に、複製状態を「2」と更新することで、複製の失敗の有無を管理することができる。また、サーバ4の処理部42は、クラスタ100からの離脱等によるID空間管理情報411の更新があって、原本データを保持しているサーバ4のIPアドレスが削除された場合には、ID空間管理情報411及び複製管理情報412から当該IPアドレスを削除し、複製管理情報412に、次に複製管理サーバとなる候補であるサーバ4のIPアドレスを追加する。また、サーバ4の処理部42は、複製管理情報412において、クラスタ100から離脱したサーバ4が保持していた原本データの複製データを保持するサーバ(複製管理サーバ)4のIPアドレスの複製状態を「2」から「0」に更新し、かかるサーバ4を複製管理サーバから原本管理サーバに昇格させる。   The replication management information 412 is created for each data to be managed, and is information for managing the status of data replication. As shown in FIG. 3, the copy management information 412 includes a copy state and a copy version number associated with each of the IP address of the server 4 where the original data is stored and the IP address where the copy data is stored. Yes. For example, if the replication status is “0”, it indicates that the corresponding server 4 manages the original data of the data. If the replication status is “1”, the corresponding server 4 replicates the data. Indicates that data is being managed. In addition, since the data replication is performed asynchronously with the request from the client machine 1, the processing unit 42 of the server 4 that manages the original data relates to the original data at the time of generating the original data in order to copy additional differences as needed. The replication status can be updated by updating the replication version number and updating the replication version number regarding the replication data when the replication data creation is successful. In addition, the processing unit 42 of the server 4 that manages the original data can manage the presence or absence of replication failure by updating the replication status to “2” when replication fails. Further, the processing unit 42 of the server 4 updates the ID space management information 411 due to leaving the cluster 100 or the like, and when the IP address of the server 4 holding the original data is deleted, the ID space The IP address is deleted from the management information 411 and the replication management information 412, and the IP address of the server 4, which is a candidate for the next replication management server, is added to the replication management information 412. Further, the processing unit 42 of the server 4 indicates the replication status of the IP address of the server (replication management server) 4 that holds the replication data of the original data held by the server 4 that has left the cluster 100 in the replication management information 412. The server 4 is updated from “2” to “0”, and the server 4 is promoted from the replication management server to the original management server.

<原本管理サーバの動作例>
続いて、図4に示すID空間を例にとり、あるデータAを原本データとして管理する原本管理サーバ(メンバ1)であるサーバ4による処理について説明する。
<Operation example of the original management server>
Next, taking the ID space shown in FIG. 4 as an example, processing by the server 4 that is an original management server (member 1) that manages certain data A as original data will be described.

図5に示すように、ステップS1において、原本管理サーバ(メンバ1)の処理部42は、クライアントマシン1からのリクエストを、負荷分散装置3から受信したか否かを判定する。ステップS1でYesの場合は、本フローはステップS2に進み、ステップS1でNoの場合は、本フローはステップS1に戻る。   As shown in FIG. 5, in step S <b> 1, the processing unit 42 of the original management server (member 1) determines whether a request from the client machine 1 has been received from the load balancer 3. If Yes in step S1, the flow proceeds to step S2, and if No in step S1, the flow returns to step S1.

ステップS2において、原本管理サーバ(メンバ1)の処理部42は、受信したリクエストに対するデータ処理を行う。詳細には、処理部42は、受信したリクエストに基づいて、記憶部41に記憶された原本データを更新し、リクエストを送信したクライアントマシン1に対して、リクエストに対する返信を行う。   In step S2, the processing unit 42 of the original management server (member 1) performs data processing on the received request. Specifically, the processing unit 42 updates the original data stored in the storage unit 41 based on the received request, and sends a reply to the request to the client machine 1 that transmitted the request.

ステップS3において、原本管理サーバ(メンバ1)の処理部42は、クライアントマシン1からのリクエストとは非同期に、記憶部41のID空間管理情報411を参照して、ID空間における時計回りに隣のサーバ4にデータの複製の記憶を要求する。詳細には、処理部42は、記憶部41に記憶された原本データを、複製データ管理サーバ(メンバ2)である隣のサーバ(メンバ2)4へ送信する。複製管理サーバ(メンバ2)であるサーバ4の処理部42は、原本データを受信すると、受信した原本データを複製データとして記憶部41に記憶させる。   In step S 3, the processing unit 42 of the original management server (member 1) refers to the ID space management information 411 in the storage unit 41 asynchronously with the request from the client machine 1 and next to the ID space in the clockwise direction in the ID space. The server 4 is requested to store a copy of the data. Specifically, the processing unit 42 transmits the original data stored in the storage unit 41 to the adjacent server (member 2) 4 that is the duplicate data management server (member 2). When receiving the original data, the processing unit 42 of the server 4 that is the replication management server (member 2) stores the received original data in the storage unit 41 as the replicated data.

ステップS4において、原本管理サーバ(メンバ1)の処理部42は、クライアントマシン1からのリクエストとは非同期に、複製管理サーバ(メンバ2)からのデータの複製の完了通知(レスポンス)を監視する。   In step S4, the processing unit 42 of the original management server (member 1) monitors a data replication completion notification (response) from the replication management server (member 2) asynchronously with the request from the client machine 1.

複製管理サーバ(メンバ2)においてデータの複製が正常に完了しない場合(ステップS4でNo)は、原本管理サーバ(メンバ1)の処理部42は、記憶部41に記憶されたID空間管理情報411を参照して、ID空間における時計回りにさらに次のサーバ(メンバ3)4を新たな複製管理サーバとし、当該複製管理サーバに対して複製データの作成を要求する。   When data replication is not normally completed in the replication management server (member 2) (No in step S4), the processing unit 42 of the original management server (member 1) stores the ID space management information 411 stored in the storage unit 41. , The next server (member 3) 4 is set as a new replication management server in the clockwise direction in the ID space, and the replication management server is requested to create replication data.

すなわち、図2において、IPアドレスが「192.168.2.15」のサーバ4が、データAにとっての複製管理サーバとして正常に応答しない場合は、次のIPアドレスが「192.168.8.5」のサーバ4が、データAにとっての新たな複製管理サーバに該当することとなる。   That is, in FIG. 2, when the server 4 with the IP address “192.168.2.15” does not respond normally as a replication management server for the data A, the server 4 with the next IP address “192.168.8.5” This corresponds to a new replication management server for A.

なお、ステップS4において、複製データの作成が正常に完了しない場合の判断として、複製管理サーバの処理部42が複製失敗通知を送信し、原本管理サーバの処理部42が複製失敗通知を受信した場合、原本管理サーバの処理部42が一定時間内に正常な完了通知を受信することができなかった場合等も同様に扱うことができる。   In step S4, when the creation of the duplicate data is not completed normally, the processing unit 42 of the replication management server transmits a replication failure notification and the processing unit 42 of the original management server receives the replication failure notification. The case where the processing unit 42 of the original management server cannot receive a normal completion notification within a certain time can be handled in the same manner.

また、ステップS4において、原本管理サーバの処理部42が複製失敗通知を受信した場合には、当該処理部42が、差分の更新に失敗したリトライとして原本データ全体を再送する場合がある。この場合には、処理部42は、原本データ全体を複製管理サーバへ再送するのと同時に、ステップS5を実行して次の複製管理サーバ候補に対する複製データの作成を要求することによって、早期に冗長性を保つことができる。   In step S4, when the processing unit 42 of the original management server receives a copy failure notification, the processing unit 42 may retransmit the entire original data as a retry of the difference update failure. In this case, the processing unit 42 resends the entire original data to the replication management server, and at the same time, executes processing in step S5 to request the creation of replication data for the next replication management server candidate. Can keep sex.

ステップS6において、原本管理サーバの処理部42が複製データ作成の完了通知を受信すると(ステップS6でYes)、ステップS7において、原本管理サーバの処理部42は、元の複製管理サーバをクラスタ100から離脱させる。詳細には、原本管理サーバの処理部42は、ID空間管理情報411を参照して、元の複製管理サーバのクラスタ100からの離脱を管理サーバに要求する。管理サーバは、自身のID空間管理情報411から、元の複製管理サーバに関する情報を削除し、このように更新されたID空間管理情報411を、他のサーバ4及び負荷分散装置3に送信する。ID空間管理情報411を受信したサーバ4の処理部42及び負荷分散装置3の処理部32は、受信したID空間管理情報を用いて自身の記憶部41,31内のID空間管理情報411,311を更新し、これによって、元のID複製管理サーバのクラスタ100からの離脱が完了する。ここで、管理サーバは、クラスタ100を構成するサーバ4の中から、ID空間管理情報411を更新可能なサーバ4として予め指定されたものである。なお、各原本管理サーバが当該管理サーバとして機能する構成であってもよい。   In step S6, when the processing unit 42 of the original management server receives a copy data creation completion notification (Yes in step S6), in step S7, the processing unit 42 of the original management server removes the original replication management server from the cluster 100. Let go. Specifically, the processing unit 42 of the original management server refers to the ID space management information 411 and requests the management server to leave the original replication management server from the cluster 100. The management server deletes the information related to the original replication management server from its own ID space management information 411, and transmits the ID space management information 411 updated in this way to the other servers 4 and the load balancer 3. The processing unit 42 of the server 4 that has received the ID space management information 411 and the processing unit 32 of the load distribution apparatus 3 use the received ID space management information to store the ID space management information 411 and 311 in its own storage units 41 and 31. As a result, the departure of the original ID replication management server from the cluster 100 is completed. Here, the management server is designated in advance as the server 4 capable of updating the ID space management information 411 from among the servers 4 constituting the cluster 100. Each original management server may function as the management server.

また、ステップS6において、新たな複製管理サーバ(メンバ3)においてデータの複製が正常に完了しない場合(ステップS6でNo)は、原本管理サーバ(メンバ1)の処理部42は、記憶部41に記憶されたID空間管理情報411を参照して、ID空間における時計回りにさらに次のサーバ(メンバ4)4を新たな複製管理サーバとし、当該複製管理サーバに対して複製データの作成を要求する(ステップS5)。   In step S6, when data replication is not normally completed in the new replication management server (member 3) (No in step S6), the processing unit 42 of the original management server (member 1) is stored in the storage unit 41. With reference to the stored ID space management information 411, the next server (member 4) 4 is set as a new replication management server in the clockwise direction in the ID space, and the replication management server is requested to create replication data. (Step S5).

ステップS6において、図2の例では、管理サーバは、IPアドレス「192.168.2.15」の行をID空間管理情報411から削除する。なお、管理サーバは、複製データの作成の完了通知を待たずに、元の複製管理サーバのクラスタ100からの離脱を開始してもよい。この場合には、離脱した元の複製管理サーバに記憶された複製データの原本データ化は行われないことになる。   In step S <b> 6, in the example of FIG. 2, the management server deletes the line with the IP address “192.168.2.15” from the ID space management information 411. Note that the management server may start leaving the original replication management server from the cluster 100 without waiting for a copy data creation completion notification. In this case, the copy data stored in the original copy management server that has left is not converted into original data.

また、ステップS4でYesの場合、及び、ステップS6でYesの場合には、原本管理サーバの処理部42は、対応する複製管理情報412を更新し、更新結果を複製管理情報412の更新結果を他のサーバ4及び負荷分散装置3に送信する。   In the case of Yes in step S4 and in the case of Yes in step S6, the processing unit 42 of the original management server updates the corresponding copy management information 412 and updates the update result with the update result of the copy management information 412. It transmits to the other server 4 and the load balancer 3.

<複製管理サーバの動作例>
続いて、図4に示すID空間を例にとり、あるデータAの複製データを管理する複製管理サーバ(メンバ2)であるサーバ4による処理について説明する。
<Operation example of replication management server>
Next, taking the ID space shown in FIG. 4 as an example, processing by the server 4 that is a replication management server (member 2) that manages replication data of a certain data A will be described.

図6に示すように、ステップS11において、複製管理サーバ(メンバ2)の処理部41は、原本管理サーバ(メンバ1)から複製データの作成を要求されると、複製データを作成する、すなわち、複製管理サーバ(メンバ2)の処理部42は、原本管理サーバ(メンバ1)が原本データを送信すると、送信された原本データを受信し、受信した原本データを複製データとして記憶部41に記憶させる。   As shown in FIG. 6, in step S11, when the processing unit 41 of the replication management server (member 2) is requested to create replication data from the original management server (member 1), it creates replication data. When the original management server (member 1) transmits the original data, the processing unit 42 of the replication management server (member 2) receives the transmitted original data and stores the received original data in the storage unit 41 as the replicated data. .

複製データの作成が成功した場合(ステップS12でYes)には、ステップS13において、複製管理サーバ(メンバ2)の処理部42は、複製データの作成の完了通知を原本管理サーバ(メンバ1)へ送信する。   If the copy data creation is successful (Yes in step S12), in step S13, the processing unit 42 of the copy management server (member 2) sends a copy data creation completion notification to the original management server (member 1). Send.

また、複製データの作成が失敗した場合(ステップS12でNo)であって、かつ、失敗の理由が複製データの作成中に原本管理サーバ(メンバ1)がダウンしたことではない場合(ステップS14でNo)には、ステップS15において、複製管理サーバ(メンバ2)の処理部41は、複製データの作成の失敗通知を原本管理サーバ(メンバ1)へ送信する。   Further, if the creation of the duplicate data has failed (No in step S12), and the reason for the failure is not that the original management server (member 1) is down during the creation of the duplicate data (in step S14). In No), in step S15, the processing unit 41 of the replication management server (member 2) transmits a failure notification of replication data creation to the original management server (member 1).

また、複製データの作成が失敗した場合(ステップS12でNo)であって、かつ、失敗の理由が複製データの作成中に原本管理サーバ(メンバ1)がダウンしたことである場合(ステップS14でYes)には、ステップS16において、複製管理サーバ(メンバ2)の処理部41は、作成しようとした複製データのうち、作成済みの複製データを原本データとして記憶部41に記憶させる(すなわち、原本管理サーバがダウンする前に送信されて受信に成功したデータを記憶部41に記憶させ、当該データの複製管理情報412の複製状態を「0」に設定する)ことにより、データAの完全消失を防ぐ。この場合には、前記したステップS7における複製管理サーバの離脱は、実施されない。ここで、複製管理サーバが原本管理サーバのダウンを検知する手法としては、複製管理サーバ及び原本管理サーバが相互間でハートビート信号を送受信してお互いに監視してダウンを検知する手法等、任意の公知の手法が採用可能である。また、複製管理サーバから原本管理サーバに昇格したサーバ4は、前記した元の複製管理サーバのクラスタ100からの離脱と同様の手法によって、元の原本管理サーバをクラスタ100から離脱させることができる。   Further, if the creation of the duplicate data has failed (No in step S12), and the reason for the failure is that the original management server (member 1) is down during the creation of the duplicate data (in step S14). In step S16, the processing unit 41 of the replication management server (member 2) stores the created replication data among the replication data to be created in the storage unit 41 as original data (that is, the original data). Data that has been transmitted and received successfully before the management server goes down is stored in the storage unit 41, and the replication state of the replication management information 412 of the data is set to “0”), thereby eliminating the complete loss of data A prevent. In this case, the above-described separation of the replication management server in step S7 is not performed. Here, as a method for the replication management server to detect that the original management server is down, any method such as a method in which the replication management server and the original management server send and receive heartbeat signals between each other and monitor each other to detect the down is arbitrary. It is possible to adopt a known method. Further, the server 4 that has been promoted from the replication management server to the original management server can cause the original original management server to leave the cluster 100 in the same manner as the above-described separation of the original replication management server from the cluster 100.

また、ステップS13の実行後、及び、ステップS16の実行後において、複製管理サーバの処理部42は、対応する複製管理情報412を更新し、更新結果を複製管理情報412の更新結果を他のサーバ4及び負荷分散装置3に送信する。   Further, after execution of step S13 and after execution of step S16, the processing unit 42 of the replication management server updates the corresponding replication management information 412 and updates the update result of the replication management information 412 to another server. 4 and the load balancer 3.

本発明の実施形態に係る分散処理システム1000は、リクエスト処理とは非同期に複製データを作成するとともに、複製データの作成に失敗した場合に、複製データの作成に失敗した複製管理サーバを当該分散処理システム1000から離脱させ、クラスタ100を構成する複数のサーバ4のうちの他のサーバ4を新たな複製管理サーバとし、新たな複製管理サーバに複製データを作成させるので、原本データと複製データとがアンマッチのままクラスタ100が運用されることを防ぐことができる。したがって、分散処理システム1000は、リクエスト処理とは非同期に複製データを作成する場合においても、データの損失を効率的に防ぐことができる。
また、分散処理システム1000は、複製データの作成が全て完了する前に原本管理サーバがダウンした場合には、作成済みの複製データを原本データとして当該複製管理サーバの記憶部41に記憶させるので、複製データの作成中に原本管理サーバがダウンした場合においても、データの完全消失を防ぐことができる。
The distributed processing system 1000 according to the embodiment of the present invention creates replication data asynchronously with the request processing, and when the replication data creation fails, the replication management server that failed to create the replication data Since the other server 4 among the plurality of servers 4 constituting the cluster 100 is made a new replication management server and the new replication management server creates replication data, the original data and the replication data are It is possible to prevent the cluster 100 from being operated unmatched. Therefore, the distributed processing system 1000 can efficiently prevent data loss even when creating replicated data asynchronously with request processing.
Further, when the original management server goes down before the creation of all the replicated data is completed, the distributed processing system 1000 stores the created replicated data as the original data in the storage unit 41 of the relevant replication management server. Even if the original management server goes down during the creation of duplicate data, complete loss of data can be prevented.

以上、本発明の実施形態について説明したが、本発明は前記実施形態に限定されず、本発明の要旨を逸脱しない範囲で適宜変更可能である。例えば、本発明の分散処理システムは、コンシステント・ハッシュ法を用いるシステムに限定されず、原本管理サーバが保持する原本データを他のサーバ(複製管理サーバ)に複製データとして保持させるシステム全般に適用可能である。また、前記実施形態では、冗長度が2(すなわち、1つのデータに対して原本管理サーバが1つで複製管理サーバが1つ)のケースを例にとって説明したが、本発明は、冗長度が3以上(すなわち、1つのデータに対して原本管理サーバが1つで複製管理サーバが2つ以上)の分散処理システムにも適用可能である。   As mentioned above, although embodiment of this invention was described, this invention is not limited to the said embodiment, In the range which does not deviate from the summary of this invention, it can change suitably. For example, the distributed processing system of the present invention is not limited to a system using the consistent hash method, and is applied to all systems in which original data held by the original management server is held as replication data by another server (replication management server). Is possible. In the above embodiment, the case where the redundancy is 2 (that is, one original management server and one replication management server for one data) has been described as an example. The present invention can also be applied to a distributed processing system having three or more (that is, one original management server and two or more replication management servers for one data).

100 クラスタ
1000 分散処理システム
4 サーバ(原本管理サーバ、複製管理サーバ)
41 記憶部
411 ID空間管理情報
412 複製管理情報
42 処理部
100 clusters 1000 distributed processing systems 4 servers (original management server, replication management server)
41 Storage Unit 411 ID Space Management Information 412 Replication Management Information 42 Processing Unit

Claims (3)

複数のサーバがデータを管理する分散処理システムであって、
前記複数のサーバは、
前記データの原本データを管理する原本管理サーバと、
前記データの複製データを管理する複製管理サーバと、
を備え、
前記原本管理サーバは、
前記原本データが記憶されるとともに、前記データが前記複数のサーバのいずれによって管理されているかを示す複製管理情報が記憶される記憶部と、
クライアントマシンからのリクエストを処理することによって前記記憶部に記憶された前記原本データを更新し、かかるリクエストの処理とは非同期に、更新された前記原本データを前記複製管理サーバに送信して前記複製データを作成させる処理部を備え、
前記処理部は、前記複製管理サーバによる前記複製データの作成状態を監視し、前記複製データの作成に失敗した場合に、前記複製データの作成に失敗した前記複製管理サーバを当該分散処理システムから離脱させ、前記複数のサーバのうちの他のサーバを新たな前記複製管理サーバとし、新たな前記複製管理サーバに前記複製データを作成させる
ことを特徴とする分散処理システム。
A distributed processing system in which multiple servers manage data,
The plurality of servers are:
An original management server for managing original data of the data;
A replication management server for managing replication data of the data;
With
The original management server
A storage unit that stores the original data, and stores replication management information indicating which of the plurality of servers manages the data;
The original data stored in the storage unit is updated by processing a request from a client machine, and the updated original data is transmitted to the replication management server asynchronously with the processing of the request. It has a processing unit that creates data,
The processing unit monitors a state of creation of the replicated data by the replication management server, and when the replication data creation fails, leaves the replication management server that failed to create the replicated data from the distributed processing system. A distributed processing system, wherein another server of the plurality of servers is used as the new replication management server, and the new replication management server creates the replication data.
前記複製管理サーバは、前記複製データを作成して当該複製管理サーバの記憶部に記憶させる処理部を備え、
前記複製管理サーバの前記処理部は、前記複製データの作成中に前記原本管理サーバがダウンした場合には、作成しようとした前記複製データの中で作成済みの前記複製データを前記原本データとして当該複製管理サーバの前記記憶部に記憶させる
ことを特徴とする請求項1に記載の分散処理システム。
The replication management server includes a processing unit that creates the replication data and stores the replication data in a storage unit of the replication management server,
When the original management server goes down during the creation of the duplicate data, the processing unit of the duplicate management server uses the duplicate data already created in the duplicate data to be created as the original data. The distributed processing system according to claim 1, wherein the storage unit of the replication management server stores the storage unit.
環状のID(IDentifier)空間に、処理対象の複数の前記データのID、及び、クラスタを構成し前記データに関するリクエストを処理する前記複数のサーバのIDが割り当てられ、前記ID空間において前記データのIDから所定方向回りに辿って最初に遭遇した前記サーバまでの間に位置する前記データを、当該サーバが前記原本管理サーバとなって前記原本データとして保持するとともに、前記クラスタ内の前記原本管理サーバ以外のサーバが前記複製管理サーバとなって前記複製データを保持する
ことを特徴とする請求項1又は請求項2に記載の分散処理システム。
An ID of the plurality of data to be processed and an ID of the plurality of servers that form a cluster and process requests related to the data are allocated to a circular ID (IDentifier) space, and the ID of the data in the ID space The data located between the server and the first server encountered in a predetermined direction is stored as the original data as the original management server, and other than the original management server in the cluster. The distributed processing system according to claim 1, wherein the server serves as the replication management server and holds the replicated data.
JP2014038834A 2014-02-28 2014-02-28 Distributed processing system Active JP6093320B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014038834A JP6093320B2 (en) 2014-02-28 2014-02-28 Distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014038834A JP6093320B2 (en) 2014-02-28 2014-02-28 Distributed processing system

Publications (2)

Publication Number Publication Date
JP2015162216A true JP2015162216A (en) 2015-09-07
JP6093320B2 JP6093320B2 (en) 2017-03-08

Family

ID=54185233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014038834A Active JP6093320B2 (en) 2014-02-28 2014-02-28 Distributed processing system

Country Status (1)

Country Link
JP (1) JP6093320B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095004A (en) * 2015-12-16 2018-08-24 아브 이니티오 테크놀로지 엘엘시 High Throughput, High Reliability Data Processing System

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163300A (en) * 1998-11-24 2000-06-16 Toshiba Corp Backup system
JP2004348174A (en) * 2002-07-30 2004-12-09 Hitachi Ltd Storage device system
JP2009070143A (en) * 2007-09-13 2009-04-02 Hitachi Ltd Method for restoring data in differential remote backup of nas device, and computer system
JP2012221419A (en) * 2011-04-13 2012-11-12 Hitachi Ltd Information storage system and data duplication method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163300A (en) * 1998-11-24 2000-06-16 Toshiba Corp Backup system
JP2004348174A (en) * 2002-07-30 2004-12-09 Hitachi Ltd Storage device system
JP2009070143A (en) * 2007-09-13 2009-04-02 Hitachi Ltd Method for restoring data in differential remote backup of nas device, and computer system
JP2012221419A (en) * 2011-04-13 2012-11-12 Hitachi Ltd Information storage system and data duplication method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
島田 慶樹 KEIKI SHIMADA: "Twitter、Facebookが採用するNoSQLシステム Cassandra実践入門", WEB+DB PRESS VOL.58 初版, vol. 第58巻, JPN6016044175, 25 September 2010 (2010-09-25), JP, pages 47 - 58, ISSN: 0003440824 *
首藤 一幸 KAZUYUKI SHUDOU: "雲の向こうの未来 クラウドをつかむ The Catcher in the Cloud.", UNIX MAGAZINE VOL.24 NO.2, vol. 第24巻、第2号, JPN6016044174, 1 April 2009 (2009-04-01), JP, pages 78 - 91, ISSN: 0003440823 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095004A (en) * 2015-12-16 2018-08-24 아브 이니티오 테크놀로지 엘엘시 High Throughput, High Reliability Data Processing System
JP2019504401A (en) * 2015-12-16 2019-02-14 アビニシオ テクノロジー エルエルシー High throughput, high reliability data processing system
KR102105478B1 (en) * 2015-12-16 2020-04-28 아브 이니티오 테크놀로지 엘엘시 High throughput, highly reliable data processing system

Also Published As

Publication number Publication date
JP6093320B2 (en) 2017-03-08

Similar Documents

Publication Publication Date Title
US11770447B2 (en) Managing high-availability file servers
JP6073246B2 (en) Large-scale storage system
US20240168673A1 (en) Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US9047331B2 (en) Scalable row-store with consensus-based replication
US9483482B2 (en) Partitioning file system namespace
CA2903841A1 (en) A computer implemented method for dynamic sharding
US9396076B2 (en) Centralized version control system having high availability
JP5969315B2 (en) Data migration processing system and data migration processing method
JP2013182546A (en) Management device and program
JP5723309B2 (en) Server and program
CN111708668A (en) Cluster fault processing method and device and electronic equipment
KR20130038517A (en) System and method for managing data using distributed containers
JP6093320B2 (en) Distributed processing system
JP6055197B2 (en) Database system
JP5918802B2 (en) Nodes and programs
JP2015018508A (en) Distributed processing system
US9537739B1 (en) HA split brain over network
JP5690296B2 (en) Load balancing program and load balancing apparatus
JP5658621B2 (en) Signal distribution duplication destination determination system, signal distribution duplication destination determination method and program
JP5711771B2 (en) Node leave processing system
JP2013182553A (en) Management device and program
JP6714547B2 (en) Load balancing device, load balancing method, and load balancing program
JP5845298B2 (en) Nodes and programs
JP2011180658A (en) Redundancy method in distributed file system
JP5815000B2 (en) Nodes and programs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170210

R150 Certificate of patent or registration of utility model

Ref document number: 6093320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150