KR20130074227A - Deistributed data management system and method thereof - Google Patents

Deistributed data management system and method thereof Download PDF

Info

Publication number
KR20130074227A
KR20130074227A KR1020110142183A KR20110142183A KR20130074227A KR 20130074227 A KR20130074227 A KR 20130074227A KR 1020110142183 A KR1020110142183 A KR 1020110142183A KR 20110142183 A KR20110142183 A KR 20110142183A KR 20130074227 A KR20130074227 A KR 20130074227A
Authority
KR
South Korea
Prior art keywords
distributed
hash table
server
data
distributed hash
Prior art date
Application number
KR1020110142183A
Other languages
Korean (ko)
Other versions
KR101342258B1 (en
Inventor
신홍중
Original Assignee
텔코웨어 주식회사
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 텔코웨어 주식회사 filed Critical 텔코웨어 주식회사
Priority to KR1020110142183A priority Critical patent/KR101342258B1/en
Publication of KR20130074227A publication Critical patent/KR20130074227A/en
Application granted granted Critical
Publication of KR101342258B1 publication Critical patent/KR101342258B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

PURPOSE: A distributed data management system and a method thereof are provided to allow a client server to have a direct access to a distributed data server by synchronizing the client server with a distributed hash table maintained by the distributed server. CONSTITUTION: A system comprises a distributed data server cluster (100) and a client server (200). One distributed data server cluster works with one client server and processes the requests issued by the client server. The distributed data server cluster has multiple distributed data servers (110, 120, 130) and each distributed data server synchronizes up and updates distributed hash tables (140, 150, 160). The client server is an application server transmitting a user's request to a relevant distributed data server and provides a web page to which the user can access. A system is able to allow the client server to directly access to a relevant distributed data server and process data, thereby reducing the client server's data processing delay. [Reference numerals] (100) Distributed data server cluster; (110) Distributed data server 1; (120) Distributed data server 2; (130) Distributed data server n; (200) Client server

Description

분산 데이터 관리 시스템 및 그 방법{Deistributed data management system and method thereof}Distributed data management system and method thereof

본 발명은 분산 데이터 관리 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는, 분산 데이터 서버의 분산해시테이블을 클라이언트 서버와 동기화시킴으로써 메시지의 처리 구간을 단축시켜 클라이언트 서버의 요청이 빠르게 처리될 수 있도록 한 분산 데이터 관리 시스템 및 그 방법에 관한 것이다.The present invention relates to a distributed data management system and a method thereof, and more particularly, to synchronize a distributed hash table of a distributed data server with a client server so as to shorten a processing period of a message so that a request of a client server can be processed quickly. A distributed data management system and method are provided.

기존의 데이터 분산 기술은 NoSQL(Not Only SQL) 솔루션을 구성하는 분산 데이터 서버 클러스터에서 데이터가 어느 분산 데이터 서버에 분산되어 있는지에 대한 정보를 분산해시테이블로 구성하여 저장하며, 클러스터를 구성하는 각 분산 데이터 서버가 모두 동일한 분산해시테이블을 유지하는 구조를 가진다.Conventional data distribution technology stores distributed data tables in distributed data server clusters that make up the Not Only SQL (NoSQL) solution. Distributed data servers all have the same structure of distributed hash tables.

이러한 분산 데이터 서버 클러스터에서 각 분산 데이터 서버의 부하 분산은 별도의 로드밸런서를 이용하는 방식을 사용한다. 즉, 클라이언트의 요청은 로드밸러서를 거쳐 부하에 따라 선택되는 임의의 분산 데이터 서버에 전달이 되고, 해당 분산 데이터 서버가 자신의 분산해시테이블을 참조하여 해당 데이터를 가진 분산 데이터 서버로 클라이언트의 요청을 다시 전달을 해주는 절차를 거치게 된다.In this distributed data server cluster, load balancing of each distributed data server uses a separate load balancer. In other words, the client's request is sent to the distributed data server selected according to the load through the load balancer, and the distributed data server refers to its distributed hash table to the distributed data server having the corresponding data. You will go through the process of forwarding the request again.

즉, 기존의 데이터 분산 기술은 클라이언트의 요청이 로드 밸런서 및 임의의 분산 데이터 서버를 거쳐 해당 분산 데이터 서버로 전달되는 경로를 거치므로 클라이언트 요청을 처리하는 시간이 지연되는 문제 및 이로 인해 전체 시스템의 성능이 저하되는 문제가 있다. In other words, the existing data distribution technology delays the processing time of client requests because the requests from the clients are routed through the load balancer and any distributed data server to the corresponding distributed data server. This has a problem of deterioration.

종래 문제를 해결하기 위해 본 발명은 데이터 분산 서버 클러스터의 각 데이터 분산 서버가 유지하고 있는 분산해시테이블을 클라이언트 서버와 동기화 시켜줌으로써 클라이언트 서버가 데이터를 가진 데이터 분산 서버에 직접 요청을 전달할 수 있는 데이터 분산 관리 시스템 및 그 방법을 제공하는 데 그 목적이 있다. In order to solve the conventional problem, the present invention synchronizes a distributed hash table maintained by each data distribution server of a data distribution server cluster with a client server so that the client server can directly transmit a request to the data distribution server having the data. Its purpose is to provide a distributed management system and method thereof.

이로써 클라이언트 서버는 필요한 데이터를 가진 데이터 분산 서버를 자신의 분산해시테이블로부터 한번에 찾아 직접 접근할 수 있어 사용자의 요청을 신속하게 처리할 수 있으며, 서비스의 지연시간을 줄일 수 있다.This allows the client server to locate and directly access a data distribution server with the necessary data from its distributed hash table at once, so that user requests can be processed quickly and service latency can be reduced.

상술한 목적을 이루기 위한 본 발명에 따른 일 실시 형태는, 클라이언트 서버로부터 분산해시테이블의 버전 정보가 포함된 동기화 요청이 전달되면, 자신의 분산해시테이블의 버전 정보와 일치 여부를 확인 후 동기화를 수행하는 분산해시테이블 동기화 모듈; 다른 분산 데이터 서버들과 통신을 통해 자신의 분산해시테이블 버전 정보의 최신 여부를 확인하고, 자신의 분산해시테이블이 최신 버전이 아닐 경우, 분산해시테이블의 갱신을 수행하는 분산해시테이블 버전 관리 모듈; 상기 클라이언트 서버로부터 데이터 연산 요청이 직접 전달되면, 해당 데이터 연산을 수행하고, 데이터 연산에 따라 변경된 데이터를 분산해시테이블에 적용하는 데이터 연산 처리 모듈; 및 자신의 분산해시테이블의 버전 정보와 분산해시테이블을 저장하는 분산해시테이블 DB를 포함하는 분산 데이터 서버를 포함한다.
According to one embodiment of the present invention for achieving the above object, if a synchronization request including version information of a distributed hash table is transmitted from a client server, the synchronization is performed after checking whether or not it matches the version information of its distributed hash table. A distributed hash table synchronization module for performing the; It communicates with other distributed data servers to check whether the distributed hash table version information is up to date, and if the distributed hash table is not the latest version, updates the distributed hash table. Version control module; A data operation processing module configured to perform a corresponding data operation when the data operation request is directly transmitted from the client server, and apply the changed data to the hash table according to the data operation; And a distributed data server including a distributed hash table DB for storing version information of the distributed hash table and its distributed hash table.

한편, 상술한 목적을 이루기 위한 본 발명에 따른 다른 실시 형태는, 다수의 분산 데이터 서버로 이루어진 분산 데이터 서버 클러스터 중 설정된 분산 데이터 서버로 자신의 분산해시테이블 버전 정보를 포함하는 동기화 요청을 전송하는 분산해시테이블 동기화 요청 모듈; 및 자신의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하여 데이터 연산을 요청하는 데이터 연산 요청 모듈;을 포함하는 클라이언트 서버를 포함한다.
On the other hand, another embodiment according to the present invention for achieving the above object is to transmit a synchronization request including its distributed hash table version information to a distributed data server set among a distributed data server cluster consisting of a plurality of distributed data server Distributed hash table synchronization request module; And a data operation request module for selecting a distributed data server for requesting data operation by referring to its distributed hash table and requesting a data operation.

한편, 상술한 목적을 이루기 위한 본 발명에 따른 또 다른 실시 형태는, 분산해시테이블을 구비한 분산 데이터 서버가 다수 개로 이루어지며, 각 분산 데이터 서버는 다른 분산 데이터 서버와 통신을 통해 서로 동일한 버전의 분산해시테이블을 유지하는 분산 데이터 서버 클러스터; 및 상기 분산 데이터 서버 클러스터 중 하나의 분산 데이터 서버로 분산해시테이블을 요청하고, 수신되는 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하고, 선택된 분산 데이터 서버로 데이터 연산을 직접 요청하는 하나의 클라이언트 서버;를 포함하는 분산 데이터 관리 시스템을 포함한다.
On the other hand, in another embodiment according to the present invention for achieving the above object, a plurality of distributed data server having a distributed hash table, each distributed data server is the same version of each other through communication with other distributed data server A distributed data server cluster for maintaining a distributed hash table of the distributed data server clusters; And requesting a distributed hash table to one distributed data server among the distributed data server clusters, selecting a distributed data server to request data operation with reference to the received distributed hash table, and directly performing data operations with the selected distributed data server. It includes a distributed data management system that includes; one client server requesting.

한편, 상술한 목적을 이루기 위한 본 발명에 따른 또 다른 실시 형태는, 분산 데이터 서버 클러스터 중 하나의 분산 데이터 서버가, 클러스터 서버로부터 데이터 연산 요청을 수신하는 단계-상기 클러스터 서버는 자신의 분산해시테이블을 참조하여 상기 하나의 분산 데이터 서버를 선택함-; 상기 하나의 분산 데이터 서버가, 자신의 분산해시테이블 버전 정보와 클라이언트 서버의 분산해시테이블의 버전 정보가 일치하는지 확인하는 단계; 및 확인 결과, 두 분산해시테이블의 버전 정보가 일치할 경우, 상기 클러스터 서버의 데이터 연산 요청을 수행하고, 일치하지 않을 경우, 상기 클러스터 서버로 자신의 분산해시테이블을 전송하는 단계;를 포함하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법을 포함한다.
On the other hand, according to another embodiment of the present invention for achieving the above object, a distributed data server of one of the distributed data server cluster, receiving a data operation request from the cluster server-the cluster server is its distributed hash Selecting the one distributed data server by referring to a table; Checking, by the one distributed data server, whether its distributed hash table version information and the version information of the distributed hash table of the client server match; And confirming that, when the version information of the two distributed hash tables match, performing a data operation request of the cluster server, and if not, transmitting the distributed hash table to the cluster server. A distributed data management method of a distributed data server cluster is included.

한편, 상술한 목적을 이루기 위한 본 발명에 따른 또 다른 실시 형태는, 다수의 분산 데이터 서버로 이루어진 분산 데이터 서버 클러스터 중 설정된 분산 데이터 서버로 자신의 분산해시테이블 버전 정보를 포함하는 동기화 요청을 전송하는 단계; On the other hand, another embodiment according to the present invention for achieving the above object, transmits a synchronization request including its distributed hash table version information to a distributed data server set among a distributed data server cluster consisting of a plurality of distributed data server Doing;

상기 설정된 분산 데이터 서버로부터 클라이언트 서버의 분산해시테이블 버전에 대한 최신 여부 결과를 통지받고, 그 결과가 최신 버전이면 동기화 작업을 완료하고, 최신 버전이 아니면 자신의 분산해시테이블을 상기 설정된 분산 데이터 서버로부터 전송되는 최신 버전의 분산해시테이블로 변경하는 단계; 및 자신의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하고, 선택한 분산 데이터 서버로 데이터 연산을 요청하는 단계;를 포함하는 클라이언트 서버의 분산 데이터 관리 방법을 포함한다.
Notified of the result of the distributed hash table version of the client server from the set distributed data server, and if the result is the latest version, the synchronization operation is completed, and if not the latest version, the distributed hash table of its own set distributed data Changing to the latest version of the distributed hash table sent from the server; And selecting a distributed data server to request a data operation by referring to its distributed hash table, and requesting a data operation to the selected distributed data server.

본 발명에 따르면, 클라이언트 서버가 데이터 분산 서버에 저장된 분산해시테이블을 동기화하여 가지고 있기 때문에 분산해시테이블을 이용하여 해당 데이터를 가진 노드 중에서 임의의 노드에 직접 접근할 수 있기 때문에 별도의 로드 밸런서를 거치지 않고도 클라이언트의 요청을 처리할 수 있어 클라이언트의 연산 지연을 감소시킬 수 있으며, 또한, 시스템의 성능을 향상시킬 수 있다.According to the present invention, since the client server has a distributed hash table stored in the data distribution server in synchronization, a separate load balancer can directly access any node among the nodes having the corresponding data using the distributed hash table. The client's request can be processed without going through the client, reducing the computational delay of the client and improving the performance of the system.

도 1은 본 발명의 일 실시 형태에 따른 분산 데이터 관리 시스템의 전체 네트워크 관계를 나타낸 구성도이다.
도 2는 도 1에 도시된 분산 데이터 서버의 상세 구성을 나타낸 구성도이다.
도 3은 도 1에 도시된 클러스터 서버의 상세 구성을 나타낸 구성도이다.
도 4는 도 1에 도시된 클라이언트 서버가 분산해시테이블을 획득하는 동작을 설명하기 위한 예시도이다.
도 5는 도 1에 도시된 클라이언트 서버의 분산해시테이블 버전 관리 동작을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시 형태에 따른 분산 데이터 관리 방법을 설명하기 위한 순서도이다.
1 is a configuration diagram showing an entire network relationship of a distributed data management system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a detailed configuration of the distributed data server illustrated in FIG. 1.
3 is a block diagram showing the detailed configuration of the cluster server shown in FIG.
4 is an exemplary diagram for describing an operation of obtaining a distributed hash table by the client server illustrated in FIG. 1.
FIG. 5 is an exemplary diagram for describing a distributed hash table version control operation of the client server illustrated in FIG. 1.
6 is a flowchart illustrating a distributed data management method according to an embodiment of the present invention.

이하, 본 발명의 실시예에 대해 첨부한 도면을 참고로 하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다. 그리고, 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 부호를 붙였다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Further, in order to clearly illustrate the present invention in the drawings, portions not related to the description are omitted. In addition, the same code | symbol is attached | subjected about the similar part throughout the specification. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

도 1은 본 발명의 일 실시 형태에 따른 분산 데이터 관리 시스템의 전체 네트워크 관계를 나타낸 구성도이다.1 is a configuration diagram showing an entire network relationship of a distributed data management system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 분산 데이터 관리 시스템은 분산 데이터 서버 클러스터(100)와 클라이언트 서버(200)를 포함한다. Referring to FIG. 1, a distributed data management system according to the present invention includes a distributed data server cluster 100 and a client server 200.

여기서, 하나의 분산 데이터 서버 클러스터(100)는 하나의 클라이언트 서버(200)와 연동하며, 하나의 클라이언트 서버(200)로부터 전달되는 요청을 처리한다.Here, one distributed data server cluster 100 interworks with one client server 200 and processes a request transmitted from one client server 200.

분산 데이터 서버 클러스터(100)는 다수개의 분산 데이터 서버(110, 120, 130)를 구비하며, 각 분산 데이터 서버는 분산해시테이블(140, 150, 160)을 서로 동기화하여 최신 버전으로 유지한다.The distributed data server cluster 100 includes a plurality of distributed data servers 110, 120, and 130, and each distributed data server synchronizes the distributed hash tables 140, 150, and 160 with each other to maintain the latest version.

즉, 분산 데이터 서버 클러스터(100)는 분산 데이터 서버 1(110), 분산 데이터 서버 2(120), ...., 분산 데이터 서버 n(130)(n>0, 자연수)을 포함하며, 각 분산 데이터 서버는 분산해시테이블의 동기화를 통해 동일한 버전의 분산해시테이블을 유지한다. 이때, 본 발명의 일 실시 예에 따른 분산 데이터 서버의 개수는 제한이 없으며, 적어도 하나 이상으로 구성된다.That is, distributed data server cluster 100 includes distributed data server 1 (110), distributed data server 2 (120), ...., distributed data server n (130) (n> 0, natural number) Distributed data server maintains the same version of distributed hash table through synchronization of distributed hash tables. At this time, the number of distributed data servers according to an embodiment of the present invention is not limited, and is composed of at least one.

또한, 분산 데이터 서버 클러스터(100) 중 임의의 분산 데이터 서버는 클라이언트 서버(200)의 요청에 따라 자신의 분산해쉬테이블을 클라이언트 서버(200)로 동기화시켜준다. 이에 따라 분산 데이터 서버와 클라이언트 서버(200)는 동일한 분산해시테이블을 유지하게 된다. 여기서, 임의의 분산 데이터 서버는 관리자에 의해 미리 설정된 분산 데이터 서버일 수 있다.In addition, any distributed data server among the distributed data server cluster 100 may synchronize its distributed hash table to the client server 200 according to a request of the client server 200. Accordingly, the distributed data server and the client server 200 maintain the same distributed hash table. Here, any distributed data server may be a distributed data server preset by an administrator.

또한, 분산 데이터 서버 클러스터(100)를 구성하는 분산 데이터 서버들(110, 120, 130)은 다른 분산 데이터 서버들과 통신하여 분산해시테이블의 버전을 관리하는 기능을 갖는다. 즉, 각 분산 데이터 서버는 분산해시테이블의 정보 변경에 따른 버전 관리 기능을 수행한다.In addition, the distributed data servers 110, 120, and 130 constituting the distributed data server cluster 100 have a function of managing a version of the distributed hash table by communicating with other distributed data servers. That is, each distributed data server performs a version control function according to the information of the distributed hash table.

예를 들어, 분산 데이터 서버 1(110)은 분산 데이터 서버 2(120), ..., 분산 데이터 서버 n(130)로 자신의 분산해시테이블 버전 정보를 전송하며, 다른 분산 데이터 서버들로부터 동일하게 분산해시테이블 버전 정보를 수신한다. For example, distributed data server 1 110 sends its distributed hashtable version information to distributed data server 2 120, ..., distributed data server n 130, and from other distributed data servers. Receive the same distributed hash table version information.

이때, 분산 데이터 서버 1(110)은 수신된 다른 분산 데이터 서버의 분산해시테이블 버전 정보를 자신의 분산해시테이블 버전 정보와 비교하여 최신 여부를 확인하고, 분산해시테이블 버전 정보가 다를 경우, 분산해시테이블의 동기화를 수행한다. At this time, the distributed data server 1 (110) compares the received distributed hash table version information of the other distributed data server with its distributed hash table version information to check whether it is up to date, and if the distributed hash table version information is different Synchronize distributed hash tables.

또한, 분산 데이터 서버1(110)은 다른 분산 데이터 서버들 중 분산해시테이블 버전 정보가 수신되지 않은 분산 데이터 서버에 대한 상태가 장애 등으로 인해 그 기능을 상실한 것으로 판단한다.
In addition, the distributed data server 1 (110) determines that the function of the distributed data server in which the distributed hash table version information is not received among other distributed data servers is lost due to a failure.

그리고, 클라이언트 서버(200)는 사용자의 요청을 입력받아 해당 데이터 분산 서버로 데이터 연산 요청을 전달하는 어플리케이션 서버이며, 사용자가 접속하여 원하는 웹서비스를 이용할 수 있는 웹사이트, 예를 들어 포털사이트, 페이스북 등이 될 수 있다.The client server 200 is an application server that receives a user's request and delivers a data operation request to a corresponding data distribution server. It can be a drum.

이러한 클라이언트 서버(200)는 분산 데이터 서버로 분산해시테이블의 동기화를 요청하고, 분산해시테이블의 동기화를 통해 분산 데이터 서버의 분산해시테이블을 수신하며, 수신한 분산해시테이블의 버전 정보가 최신 버전인지를 확인한다. The client server 200 requests the distributed hash table to synchronize with the distributed data server, receives the distributed hash table of the distributed data server through synchronization of the distributed hash table, and receives version information of the distributed hash table. Make sure is the latest version.

이때, 클라이언트 서버(200)는 수신한 분산해시테이블이 최신 버전이 아닐 경우 분산 데이터 서버로부터 최신 버전의 분산해시테이블을 다시 요청하여 수신함으로써 자신의 분산해시테이블을 최신 버전으로 유지한다.At this time, if the received distributed hash table is not the latest version, the client server 200 maintains its own distributed hash table by requesting and receiving the latest version of the distributed hash table from the distributed data server.

또한, 클라이언트 서버(200)는 최신 버전의 분산해시테이블을 이용해 자신의 데이터 연산 요청을 전달할 분산 데이터 서버를 선택하고, 선택한 분산 데이터 서버로 데이터 연산 요청을 직접 전달한다. 여기서, 데이터 연산은 데이터의 읽기, 쓰기, 삭제, 변경시키는 것이다.In addition, the client server 200 selects a distributed data server to transmit its data operation request using the latest version of the distributed hash table, and directly transmits the data operation request to the selected distributed data server. Here, the data operation is to read, write, delete, and change data.

따라서, 본 발명에 따른 분산 데이터 관리 시스템은 클라이언트 서버가 사용자의 데이터 연산 요청을 처리할 해당 데이터를 가진 분산 데이터 서버에 직접 접근하여 처리함으로써 클라이언트 서버의 데이터 연산 지연시간을 줄일 수 있어 시스템 성능을 향상시킬 수 있다.
Accordingly, the distributed data management system according to the present invention can reduce the data operation delay time of the client server by directly accessing and processing the distributed data server having the corresponding data to process the user's data operation request, thereby improving system performance. You can.

도 2는 도 1에 도시된 분산 데이터 서버의 상세 구성을 나타낸 구성도이다. 여기서, 분산 데이터 서버 클러스터(100)에 포함된 각 분산 데이터 서버(110, 120, 130)는 동일한 구성을 가지며 동일한 기능을 수행하므로, 분산 데이터 서버 1(110)을 예를 들어 그 상세 구성을 설명하도록 한다.FIG. 2 is a diagram illustrating a detailed configuration of the distributed data server illustrated in FIG. 1. Here, since each distributed data server 110, 120, and 130 included in the distributed data server cluster 100 has the same configuration and performs the same function, the detailed configuration will be described using the distributed data server 1 110 as an example. Do it.

도 2를 참조하면, 본 분산 데이터 서버 1(110)은 분산해시테이블 동기화 모듈(111), 분산해시테이블 버전 관리 모듈(112), 데이터 연산 처리 모듈(113) 및 분산해시테이블 DB(114)를 포함한다.Referring to FIG. 2, the distributed data server 1 110 may include a distributed hash table synchronization module 111, a distributed hash table version management module 112, a data operation processing module 113, and a distributed hash table DB ( 114).

분산해시테이블 동기화 모듈(111)은 클라이언트 서버(200)로부터 분산해시테이블의 버전 정보를 포함하는 동기화 요청이 전달되면, 자신이 가진 분산해시테이블의 버전 정보와 일치하는지 비교한다. The distributed hash table synchronization module 111 compares whether the synchronization request including the version information of the distributed hash table from the client server 200 matches the version information of the distributed hash table.

그러면, 분산해시테이블 동기화 모듈(111)은 자신의 분산해시테이블 버전 정보가 클라이언트 서버(200)의 분산해시테이블 버전 정보와 일치할 경우, 이를 클라이언트 서버(200)로 통지하고, 다를 경우, 이를 클라이언트 서버(200)로 통지하는 동시에 최신 버전의 분산해시테이블을 전송한다.Then, the distributed hash table synchronization module 111 notifies the client server 200 when its distributed hash table version information matches the distributed hash table version information of the client server 200, and if it is different. At the same time, it notifies the client server 200 and transmits the latest distributed hash table.

그리고, 분산해시테이블 버전 관리 모듈(112)은 다른 분산 데이터 서버들과 통신을 통해 자신의 분산해시테이블 버전 정보의 최신 여부를 확인하고, 자신의 분산해시테이블이 최신 버전이 아닐 경우, 분산해시테이블의 갱신을 수행하며, 갱신된 분산해시테이블의 버전 정보도 변경한다.The distributed hash table version management module 112 checks whether the distributed hash table version information is up to date through communication with other distributed data servers, and if the distributed hash table is not the latest version, Updates the distributed hash table and also changes the version information of the updated distributed hash table.

구체적으로, 분산해시테이블 버전 관리 모듈(112)은 다른 분산 데이터 서버들로 자신의 분산해시테이블 버전 정보를 전송한다. 마찬가지로, 분산해시테이블 버전 관리 모듈(112)은 다른 분산 데이터 서버들로부터 각각의 분산해시테이블 버전 정보를 수신한다. Specifically, the distributed hash table version management module 112 transmits its distributed hash table version information to other distributed data servers. Similarly, distributed hash table version management module 112 receives respective distributed hash table version information from other distributed data servers.

그러면, 분산해시테이블 버전 관리 모듈(112)은 자신의 분산해시테이블의 버전 정보와 수신된 다른 분산 데이터 서버의 분산해시테이블의 버전 정보가 일치하는지 비교하여 최신 여부를 확인한다. Then, the distributed hash table version management module 112 compares the version information of its distributed hash table with the version information of the distributed hash table of the other distributed data server and checks whether it is up to date.

또한, 분산해시테이블 버전 관리 모듈(112)은 자신의 분산해시테이블의 버전 정보를 다른 분산 데이터 서버들로 전송하는 것에 의해 자신의 생존 여부를 통지하게 되고, 또한, 다른 분산 데이터 서버로부터 각자의 분산해시테이블의 버전 정보를 수신하는 것에 의해 다른 분산 데이터 서버의 생존 여부를 확인한다. In addition, the distributed hash table version management module 112 notifies the existence of itself by transmitting the version information of its distributed hash table to other distributed data servers, and also from each other distributed data server Verify that other distributed data servers survive by receiving the version information of the distributed hash table.

그리고, 데이터 연산 처리 모듈(113)은 클라이언트 서버(200)로부터 데이터 연산 요청이 전달되면, 해당 데이터 연산을 수행하고, 데이터 연산에 따라 변경된 데이터를 분산해시테이블에 반영하며, 이에 따라 분산해시테이블의 버전 정보를 변경한다.When the data operation request is transmitted from the client server 200, the data operation processing module 113 performs the corresponding data operation, reflects the data changed according to the data operation in the distributed hash table, and thereby distributes the hash. Change the version information of the table.

그리고, 분산해시테이블 DB(114)는 변경된 분산해시테이블의 버전 정보와 분산해시테이블을 저장한다.
The distributed hash table DB 114 stores the version information and the distributed hash table of the changed distributed hash table.

도 3은 도 1에 도시된 클러스터 서버의 상세 구성을 나타낸 구성도이다. 3 is a block diagram showing the detailed configuration of the cluster server shown in FIG.

도 3을 참조하면, 본 클러스터 서버(200)는 분산해시테이블 동기화 요청 모듈(210), 데이터 연산 요청 모듈(230) 및 분산해시테이블(250)을 포함한다.Referring to FIG. 3, the cluster server 200 includes a distributed hash table synchronization request module 210, a data operation request module 230, and a distributed hash table 250.

분산해시테이블 동기화 요청 모듈(210)은 분산 데이터 서버 클러스터(100)에 포함된 다수의 분산 데이터 서버들 중 설정된 분산 데이터 서버로 분산해시테이블의 동기화를 요청한다. 본 실시예에서는 설정된 분산 데이터 서버를 분산 데이터 서버 1(110)로 예시하여 설명하도록 한다.The distributed hash table synchronization request module 210 requests synchronization of a distributed hash table to a distributed data server configured among a plurality of distributed data servers included in the distributed data server cluster 100. In the present embodiment, the set distributed data server will be described as an example of distributed data server 1110.

이때, 분산해시테이블 동기화 요청 모듈(210)은 분산해시테이블 버전 정보를 포함하는 동기화 요청을 분산 데이터 서버 1(110)로 전송하고, 이후 분산 데이터 서버 1(110)로부터 클라이언트 서버(200)의 분산해시테이블 버전에 대한 최신 여부 결과를 통지받고, 그 결과가 최신 버전이면 동기화 작업을 완료하고, 최신 버전이 아니면 분산 데이터 서버 1(110)로부터 수신되는 최신 버전의 분산해시테이블로 자신의 분산해시테이블을 변경한다.At this time, the distributed hash table synchronization request module 210 transmits a synchronization request including distributed hash table version information to the distributed data server 1 110, and then from the distributed data server 1 110 to the client server 200. You will be notified of the latest results for the distributed hashtable version of, and if the results are the latest version, you will complete the synchronization. If not, you will receive the latest version of the distributed hashtable received from distributed data server 1 (110). Change the distributed hash table.

그리고, 데이터 연산 요청 모듈(230)은 최신 버전의 분산해시테이블(250)을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택한다. The data operation request module 230 selects a distributed data server to request a data operation by referring to the latest version of the distributed hash table 250.

즉, 데이터 연산 요청 모듈(230)은 분산해시테이블(250)에서 데이터 연산을 요청할 분산 데이터 서버를 찾는데 있어서, 해당 데이터를 복제해서 가지고 있는 분산 데이터 서버들 정보를 모두 획득하고, 획득한 다수의 분산 데이터 서버 중 미리 설정된 정책에 따라 하나의 분산 데이터 서버를 선택하여 데이터 연산을 요청한다. 여기서, 설정된 정책은 순차분배(Round Robin) 방식, 부하도에 따른 분배 방식 등일 수 있으며 관리자에 의해 미리 설정된다.That is, the data operation request module 230 acquires all the information of the distributed data servers which have duplicated the data, and searches for the distributed data server requesting the data operation in the distributed hash table 250. One distributed data server is selected according to a preset policy among the distributed data servers to request data operation. Here, the set policy may be a round robin method, a distribution method according to the load level, and the like, and is preset by the administrator.

그리고, 분산해시테이블(250)은 최초 1회에 한해 관리자에 의해 지정된 분산 데이터 서버로부터 내려받아 저장되며, 이후, 클라이언트 서버(200)의 동기화 요청에 의해 분산 데이터 서버와 동일한 최신 버전의 분산해시테이블로 유지된다.
The distributed hash table 250 is downloaded and stored from the distributed data server designated by the administrator only once for the first time, and then distributed by the client server 200 by the synchronization request of the latest version of the distributed hash table 250. It is maintained as a timetable.

도 4는 도 1에 도시된 클라이언트 서버가 분산해시테이블을 획득하는 동작을 설명하기 위한 예시도이다. 본 실시예에 있어서 설명의 편의성을 위해 분산 데이터 서버 클러스터(100)는 5개의 분산 데이터 서버를 포함하는 것으로 하며, 각 분산 데이터 서버에는 버전 1의 분산해시테이블이 저장된 것으로 한다.4 is an exemplary diagram for describing an operation of obtaining a distributed hash table by the client server illustrated in FIG. 1. In the present embodiment, for convenience of description, the distributed data server cluster 100 includes five distributed data servers, and the distributed hash table of version 1 is stored in each distributed data server.

도 4를 참조하면, 분산 데이터 서버 1 내지 5(410, 420, 430, 440, 450)는 각각 분산해시테이블(411, 421, 431, 441, 451)을 가지고 있으며, 서로 분산해시테이블의 버전 정보를 송수신하여 동일한 분산해시테이블을 유지한다.Referring to FIG. 4, distributed data servers 1 to 5 (410, 420, 430, 440, 450) each have distributed hash tables 411, 421, 431, 441, and 451. Send and receive version information to maintain the same distributed hash table.

그러면, 클라이언트 서버는 분산 데이터 서버 클러스터로 데이터 연산을 요청하기 전에, 관리자에 의해 미리 설정된 분산 데이터 서버 1(410)로 분산해시테이블을 요청한다(①).Then, the client server requests the distributed hash table to the distributed data server 1 410 preset by the administrator before requesting a data operation to the distributed data server cluster (1).

분산 데이터 서버 1(410)은 자신의 분산해시테이블(411)을 클라이언트 서버(200)로 전송하고(②), 클라이언트 서버(200)는 전송된 분산해시테이블(411)을 수신하여 저장한다(③).The distributed data server 1 410 transmits its distributed hash table 411 to the client server 200 (②), and the client server 200 receives and stores the transmitted distributed hash table 411. (③).

이로써, 클라이언트 서버(200)는 분산해시테이블(411)을 획득하게 되고, 이후 획득한 분산해시테이블(411)에 대한 버전 관리를 통해 최신 버전의 분산해시테이블을 유지한다. As a result, the client server 200 acquires the distributed hash table 411, and then maintains the latest version of the distributed hash table through version management on the obtained distributed hash table 411.

클라이언트 서버의 분산해시테이블 버전 관리 동작은 아래 도 5를 통해 상세히 설명하도록 한다.
The distributed hash table version control operation of the client server will be described in detail with reference to FIG. 5 below.

도 5는 도 1에 도시된 클라이언트 서버의 분산해시테이블 버전 관리 동작을 설명하기 위한 예시도이다. 본 실시예에 있어서 설명의 편의성을 위해 분산 데이터 서버 클러스터(100)는 5개의 분산 데이터 서버를 포함하는 것으로 하며, 각 분산 데이터 서버에는 버전 2의 분산해시테이블이 저장된 것으로 한다.FIG. 5 is an exemplary diagram for describing a distributed hash table version control operation of the client server illustrated in FIG. 1. In the present embodiment, the distributed data server cluster 100 includes five distributed data servers for convenience of description, and each distributed data server stores a distributed hash table of version 2.

도 5를 참조하면, 클라이언트 서버(200)는 자신의 분산해시테이블(411-1)을 이용해 데이터 연산을 요청할 분산 데이터 서버 5(450)를 찾고(①), 분산 데이터 서버 5(450)로 자신의 분산해시테이블 버전 정보(411-1, 버전 1)와 함께 데이터 연산 요청을 전송한다(②).Referring to FIG. 5, the client server 200 finds a distributed data server 5 450 that requests data operation using its distributed hash table 411-1 (①), and sends it to the distributed data server 5 450. A data operation request is transmitted along with its distributed hash table version information 411-1 and version 1 (2).

분산 데이터 서버 5(450)는 전송된 클라이언트 서버(200)의 분산해시테이블의 버전 정보(411-1, 버전 1)를 자신의 분산해시테이블 버전 정보(451-2, 버전 2)와 일치하는지 비교하고, 다를 경우, 클라이언트 서버로 분산해시테이블의 버전이 잘못되었음을 통지하고 최신 버전의 분산해시테이블(451-2, 버전 2)를 전송한다(③).Distributed data server 5 (450) matches the distributed hash table version information 451-2, version 2 of the distributed hash table of the transmitted client server 200 with its distributed hash table version information 451-2, version 2. If the difference is different, the client server is notified that the version of the distributed hash table is wrong, and the latest version of the distributed hash table 451-2 (version 2) is transmitted (③).

그러면, 클라이언트 서버(200)는 분산 데이터 서버 5(450)로부터 최신 버전의 분산해시테이블(451-2, 버전 2)을 수신하고, 기존 버전 1의 분산해시테이블(411-1)을 버전 2의 분산해시테이블(451-2)로 변경한다(④).Then, the client server 200 receives the latest version of the distributed hash table 451-2, version 2 from the distributed data server 5 450, and verifies the existing version 1 distributed hash table 411-1. Change to a distributed hash table 451-2 of 2 (4).

이후, 클라이언트 서버(200)는 최신 버전의 분산해시테이블(451-2)을 이용해 데이터 연산을 요청할 분산 데이터 서버를 다시 찾은 후, 해당 분산 데이터 서버로 데이터 연산 요청을 전송한다.Thereafter, the client server 200 finds a distributed data server requesting data operation again using the latest version of the distributed hash table 451-2, and then transmits a data operation request to the corresponding distributed data server.

한편, 분산 데이터 서버의 장애로 인해 데이터 연산 요청이 해당 분산 데이터 서버로 전달되지 못한 경우, 클라이언트 서버는 자신의 분산해시테이블을 이용해 다른 분산 데이터 서버로 데이터 연산 요청을 전달하고, 최신 버전의 분산해시테이블을 획득한 다음, 최신 버전의 분산해시테이블을 이용해 데이터 연산을 요청할 분산 데이터 서버를 찾는다.
On the other hand, if a data operation request cannot be delivered to the distributed data server due to a failure of the distributed data server, the client server uses the distributed hash table to transmit the data operation request to another distributed data server, and the latest version of distributed After acquiring the hash table, the latest version of the distributed hash table is used to find a distributed data server to request data operations.

도 6은 본 발명의 일 실시 형태에 따른 분산 데이터 관리 방법을 설명하기 위한 순서도이다. 본 실시예에 있어서 분산 데이터 관리 방법은 분산 데이터 관리 시스템에서 이루어지는 일련의 과정에 의해 수행된다.6 is a flowchart illustrating a distributed data management method according to an embodiment of the present invention. In this embodiment, the distributed data management method is performed by a series of processes performed in the distributed data management system.

그리고, 본 분산 데이터 관리 방법이 수행되기 전에, 관리자에 의한 분산 데이터 서버와 클라이언트 서버 간 분산해시테이블의 동기화가 수행된다. 즉, 관리자에 의해 지정된 분산 데이터 서버와 클라이언트 서버가 연동되며, 클라이언트 서버가 지정된 분산 데이터 서버로 분산해시테이블을 요청하고, 지정된 분산 데이터 서버의 분산해시테이블이 클라이언트 서버로 전송된다. Then, before the present distributed data management method is performed, the distributed hash table is synchronized between the distributed data server and the client server by the administrator. That is, the distributed data server designated by the administrator and the client server interwork with each other, the client server requests the distributed hash table to the designated distributed data server, and the distributed hash table of the designated distributed data server is transmitted to the client server.

이러한 동기화 과정을 통해 클라이언트 서버는 분산해시테이블을 획득하고, 이후 분산해시테이블의 버전 관리를 통해 최신의 분산해시테이블을 유지하고, 데이터 연산을 요청할 분산 데이터 서버를 분산해시테이블로부터 찾아 직접 데이터 연산을 요청하게 된다.Through this synchronization process, the client server acquires the distributed hash table, and then maintains the latest distributed hash table through version management of the distributed hash table, and finds the distributed data server to request data operation from the distributed hash table. You will request a data operation directly.

도 6을 참조하면, 클라이언트 서버가, 미리 설정된 분산 데이터 서버로 동기화 요청을 전송한다(S610). 이때, 클라이언트 서버는 자신의 분산해시테이블의 버전 정보를 설정된 분산 데이터 서버로 전송한다.Referring to FIG. 6, the client server transmits a synchronization request to a preset distributed data server (S610). At this time, the client server transmits the version information of its distributed hash table to the set distributed data server.

그러면, 설정된 분산 데이터 서버가, 클라이언트 서버의 요청을 수신하고, 클라이언트 서버의 분산해시테이블에 대한 버전 정보를 확인하고, 그 결과를 클라이언트 서버로 통지한다(S620). 즉, 확인 결과, 설정된 분산 데이터 서버는, 클라이언트 서버의 분산해시테이블의 버전 정보가 자신의 버전 정보와 일치하면, 클라이언트 서버의 분산해시테이블의 버전이 최신임을 통지한다. 한편, 확인 결과, 클라이언트 서버의 분산해시테이블의 버전 정보가 자신의 버전 정보와 일치하지 않으면, 예를 들어, 자신의 버전보다 낮은 경우, 클라이언트 서버의 분산해시테이블의 버전이 최신이 아님을 통지하는 동시에, 자신의 분산해시테이블을 클라이언트 서버로 전송한다.Then, the set distributed data server receives the request from the client server, checks the version information on the distributed hash table of the client server, and notifies the client server of the result (S620). That is, as a result of the check, the set distributed data server notifies that the version of the distributed hash table of the client server is up to date when the version information of the distributed hash table of the client server matches the version information of the client server. On the other hand, if the version information of the distributed hash table of the client server does not match its own version information, for example, if it is lower than its own version, then the version of the distributed hash table of the client server is not up to date. At the same time, it sends its distributed hash table to the client server.

이어서, 클라이언트 서버가, 설정된 분산 데이터 서버로부터 자신의 분산해시테이블의 버전에 대한 결과를 수신하고, 최신 버전의 분산해시테이블을 이용해 데이터 연산을 요청할 분산 데이터 서버를 선택한다(S630). 즉, 클라이언트 서버는 자신의 분산해시테이블이 최신인 경우, 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택한다. 또한, 클라이언트 서버는 자신의 분산해시테이블이 최신이 아닌 경우, 자신의 분산해시테이블을 설정된 분산 데이터 서버로부터 전송된 분산해시테이블로 변경하고, 변경된 최신 버전의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 다시 선택한다.Subsequently, the client server receives a result of the version of its distributed hash table from the set distributed data server, and selects the distributed data server to request data operation using the latest version of the distributed hash table (S630). That is, when the distributed hash table is up-to-date, the client server refers to the distributed hash table and selects the distributed data server to request data operation. Also, if the distributed hash table is not up-to-date, the client server changes its distributed hash table to the distributed hash table transmitted from the set distributed data server, and refers to the latest distributed hash table. Reselect the distributed data server to request data operations.

그런 다음, 클라이언트 서버가, 선택된 분산 데이터 서버로 직접 데이터 연산을 요청한다(S640).Then, the client server requests a data operation directly to the selected distributed data server (S640).

그러면, 선택된 분산 데이터 서버가, 클라이언트 서버로부터 데이터 연산 요청을 수신하면, 데이터 연산을 수행한 후 연산 결과 데이터로 분산해시테이블을 변경하고, 분산해시테이블의 버전 정보를 변경한다(S650).Then, when the selected distributed data server receives the data operation request from the client server, after performing the data operation, the distributed hash table is changed to the operation result data, and the version information of the distributed hash table is changed (S650).

이때, 선택된 분산 데이터 서버는, 변경된 분산해시테이블 버전 정보를 다른 분산 데이터 서버로 전송한다. 다른 분산 데이터 서버는 변경된 분산해시테이블 버전 정보를 수신하고, 자신들의 분산해시테이블을 동기화하여 변경한다. 이러한 과정을 통해 분산 데이터 서버 클러스터에 포함된 분산 데이터 서버들은 동일한 분산해시테이블을 유지한다.
At this time, the selected distributed data server transmits the changed distributed hash table version information to another distributed data server. The other distributed data server receives the changed distributed hash table version information and synchronizes and changes their distributed hash table. Through this process, distributed data servers included in distributed data server cluster maintain the same distributed hash table.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들을 한정적인 관점이 아니라 설명적인 관점에서 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.So far I looked at the center of the preferred embodiment for the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Accordingly, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

또한, 본 발명에 따른 시스템 및 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
Further, the system and method according to the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and a carrier wave (for example, transmission via the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

100. 분산 데이터 서버 클러스터 110, 120, 130. 분산 데이터 서버
140, 150, 160, 250. 분산해시테이블 200. 클라이언트 서버
100. Distributed data server clusters 110, 120, 130. Distributed data server
140, 150, 160, 250. Distributed Hash Table 200. Client Server

Claims (25)

클라이언트 서버로부터 분산해시테이블의 버전 정보가 포함된 동기화 요청이 전달되면, 자신의 분산해시테이블의 버전 정보와 일치 여부를 확인 후 동기화를 수행하는 분산해시테이블 동기화 모듈;
다른 분산 데이터 서버들과 통신을 통해 자신의 분산해시테이블 버전 정보의 최신 여부를 확인하고, 자신의 분산해시테이블이 최신 버전이 아닐 경우, 분산해시테이블의 갱신을 수행하는 분산해시테이블 버전 관리 모듈;
상기 클라이언트 서버로부터 데이터 연산 요청이 직접 전달되면, 해당 데이터 연산을 수행하고, 데이터 연산에 따라 변경된 데이터를 분산해시테이블에 적용하는 데이터 연산 처리 모듈; 및
자신의 분산해시테이블의 버전 정보와 분산해시테이블을 저장하는 분산해시테이블 DB를 포함하는 분산 데이터 서버.
A distributed hash table synchronization module configured to perform synchronization after checking whether the synchronization request including the version information of the distributed hash table is matched from the client server, and confirming whether the synchronization request is identical to the version information of the distributed hash table;
It communicates with other distributed data servers to check whether the distributed hash table version information is up to date, and if the distributed hash table is not the latest version, updates the distributed hash table. Version control module;
A data operation processing module configured to perform a corresponding data operation when the data operation request is directly transmitted from the client server, and apply the changed data to the hash table according to the data operation; And
Distributed data server including distributed hash table DB for storing distributed hash table version information and distributed hash table.
제1항에 있어서,
상기 분산해시테이블 동기화 모듈은, 자신의 분산해시테이블 버전 정보와 클라이언트 서버의 분산해시테이블 버전 정보가 일치할 경우, 클라이언트 서버의 분산해시테이블 버전 정보가 최신 버전임을 클라이언트 서버로 통지하고, 다를 경우, 클라이언트 서버의 분산해시테이블 버전 정보가 최신 버전이 아님을 클라이언트 서버로 통지하는 동시에 최신 버전의 분산해시테이블을 전송하는 것을 특징으로 하는 분산 데이터 서버.
The method of claim 1,
The distributed hash table synchronization module notifies the client server that the distributed hash table version information of the client server is the latest version when its distributed hash table version information and the distributed hash table version information of the client server match. And, if different, notifying the client server that the distributed hash table version information of the client server is not the latest version, and transmitting the latest version of the distributed hash table.
제1항에 있어서,
상기 분산해시테이블 버전 관리 모듈은, 다른 분산 데이터 서버들로부터 각각 분산해시테이블 버전 정보를 수신하고, 자신의 분산해시테이블의 버전 정보와 수신된 다른 분산 데이터 서버들의 분산해시테이블의 버전 정보가 일치하는지 비교하는 것에 의해 최신 여부를 확인하는 것을 특징으로 하는 분산 데이터 서버.
The method of claim 1,
The distributed hash table version management module receives distributed hash table version information from other distributed data servers, respectively, and the version information of its distributed hash table and the distributed hash table of other distributed data servers. A distributed data server characterized by checking for up-to-date by comparing information for matching.
제3항에 있어서,
상기 분산해시테이블 버전 관리 모듈은, 자신의 분산해시테이블의 버전 정보를 다른 분산 데이터 서버들로 전송하는 것을 특징으로 하는 분산 데이터 서버.
The method of claim 3,
The distributed hash table version management module is configured to transmit version information of its distributed hash table to other distributed data servers.
제3항에 있어서,
상기 분산해시테이블 버전 관리 모듈은, 변경된 데이터가 적용된 분산해시테이블의 버전 정보를 변경하는 것을 특징으로 하는 분산 데이터 서버.
The method of claim 3,
The distributed hash table version management module is configured to change version information of the distributed hash table to which the changed data is applied.
다수의 분산 데이터 서버로 이루어진 분산 데이터 서버 클러스터 중 설정된 분산 데이터 서버로 자신의 분산해시테이블 버전 정보를 포함하는 동기화 요청을 전송하는 분산해시테이블 동기화 요청 모듈; 및
자신의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하여 데이터 연산을 요청하는 데이터 연산 요청 모듈;을 포함하는 클라이언트 서버.
A distributed hash table synchronization request module for transmitting a synchronization request including its distributed hash table version information to a distributed data server configured among a distributed data server cluster including a plurality of distributed data servers; And
And a data operation request module configured to request a data operation by selecting a distributed data server to request a data operation by referring to its distributed hash table.
제6항에 있어서,
상기 분산해시테이블 동기화 요청 모듈은, 상기 설정된 분산 데이터 서버로부터 클라이언트 서버의 분산해시테이블 버전에 대한 최신 여부 결과를 통지받고, 그 결과가 최신 버전이면 동기화 작업을 완료하고, 최신 버전이 아니면 자신의 분산해시테이블을 상기 설정된 분산 데이터 서버로부터 전송되는 최신 버전의 분산해시테이블로 변경하는 것을 특징으로 하는 클라이언트 서버.
The method according to claim 6,
The distributed hash table synchronization request module is notified of the latest result of the distributed hash table version of the client server from the set distributed data server, and completes the synchronization operation if the result is the latest version, and if not the latest version The distributed hash table of the client server, characterized in that for changing to the latest version of the distributed hash table transmitted from the set distributed data server.
제7항에 있어서,
상기 데이터 연산 요청 모듈은, 변경된 최신 버전의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하는 것을 특징으로 하는 클라이언트 서버.
The method of claim 7, wherein
The data operation request module selects a distributed data server for requesting data operation by referring to the latest distributed version of the distributed hash table.
제8항에 있어서,
상기 데이터 연산 요청 모듈은, 상기 변경된 최신 버전의 분산해시테이블로부터 데이터를 복제해서 가지고 있는 분산 데이터 서버들의 정보를 모두 획득하고, 다수의 분산 데이터 서버 중 하나의 분산 데이터 서버를 선택하여 데이터 연산을 요청하는 것을 특징으로 하는 클라이언트 서버.
9. The method of claim 8,
The data operation request module acquires all the information of distributed data servers having duplicate data from the changed latest version of the distributed hash table, and selects one distributed data server among a plurality of distributed data servers to perform data operation. Requesting a client server.
분산해시테이블을 구비한 분산 데이터 서버가 다수 개로 이루어지며, 각 분산 데이터 서버는 다른 분산 데이터 서버와 통신을 통해 서로 동일한 버전의 분산해시테이블을 유지하는 분산 데이터 서버 클러스터; 및
상기 분산 데이터 서버 클러스터 중 하나의 분산 데이터 서버로 분산해시테이블을 요청하고, 수신되는 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하고, 선택된 분산 데이터 서버로 데이터 연산을 직접 요청하는 하나의 클라이언트 서버;를 포함하는 분산 데이터 관리 시스템.
A distributed data server having a plurality of distributed hash tables, each distributed data server comprising: a distributed data server cluster for maintaining the same version of the distributed hash table through communication with other distributed data servers; And
Request a distributed hash table to one distributed data server of the distributed data server cluster, select a distributed data server to request data operation with reference to the received distributed hash table, and directly request a data operation to the selected distributed data server Distributed data management system comprising a single client server.
제10항에 있어서,
상기 분산 데이터 서버는 클라이언트 서버로부터 분산해시테이블의 버전 정보가 포함된 동기화 요청이 전달되면, 자신의 분산해시테이블의 버전 정보와 일치 여부를 확인한 후 동기화를 수행하는 분산해시테이블 동기화 모듈;
다른 분산 데이터 서버들과 통신을 통해 자신의 분산해시테이블 버전 정보의 최신 여부를 확인하고, 자신의 분산해시테이블이 최신 버전이 아닐 경우, 분산해시테이블의 갱신을 수행하는 분산해시테이블 버전 관리 모듈;
클라이언트 서버로부터 데이터 연산 요청이 직접 전달되면, 해당 데이터 연산을 수행하고, 데이터 연산에 따라 변경된 데이터를 분산해시테이블을 변경하는 데이터 연산 처리 모듈; 및
분산해시테이블의 버전 정보와 분산해시테이블을 저장하는 분산해시테이블 DB를 포함하는 것을 특징으로 하는 분산 데이터 관리 시스템.
The method of claim 10,
The distributed data server may include: a distributed hash table synchronization module configured to perform synchronization after checking whether a synchronization request including version information of a distributed hash table is matched from a client server and confirming whether it matches the version information of its distributed hash table;
It communicates with other distributed data servers to check whether the distributed hash table version information is up to date, and if the distributed hash table is not the latest version, updates the distributed hash table. Version control module;
A data operation processing module configured to perform a corresponding data operation and change the hash table by distributing the changed data according to the data operation when the data operation request is directly transmitted from the client server; And
A distributed data management system comprising distributed hash table DB for storing distributed hash table version information and distributed hash table.
제11항에 있어서,
상기 분산해시테이블 동기화 모듈은, 자신의 분산해시테이블 버전 정보와 클라이언트 서버의 분산해시테이블 버전 정보가 일치할 경우, 클라이언트 서버의 분산해시테이블 버전 정보가 최신 버전임을 클라이언트 서버로 통지하고, 다를 경우, 클라이언트 서버의 분산해시테이블 버전 정보가 최신 버전이 아님을 클라이언트 서버로 통지하는 동시에 최신 버전의 분산해시테이블을 전송하는 것을 특징으로 하는 분산 데이터 관리 시스템.
The method of claim 11,
The distributed hash table synchronization module notifies the client server that the distributed hash table version information of the client server is the latest version when its distributed hash table version information and the distributed hash table version information of the client server match. And, if different, notifying the client server that the distributed hash table version information of the client server is not the latest version and simultaneously transmitting the latest version of the distributed hash table.
제11항에 있어서,
상기 분산해시테이블 버전 관리 모듈은, 다른 분산 데이터 서버들로부터 각자의 분산해시테이블 버전 정보를 수신하고, 자신의 분산해시테이블의 버전 정보와 수신된 다른 분산 데이터 서버의 분산해시테이블의 버전 정보가 일치하는지 비교하여 최신 여부를 확인하는 것을 특징으로 하는 분산 데이터 관리 시스템.
The method of claim 11,
The distributed hash table version management module receives respective distributed hash table version information from other distributed data servers, and determines the distributed hash table version information of its distributed hash table and the received distributed hash table of other distributed data servers. Distributed data management system, characterized in that the version information is compared to check whether the latest.
제13항에 있어서,
상기 분산해시테이블 버전 관리 모듈은, 갱신된 분산해시테이블의 버전 정보를 변경하고, 변경된 자신의 분산해시테이블의 버전 정보를 다른 분산 데이터 서버들로 전송하는 것을 특징으로 하는 분산 데이터 관리 시스템.
The method of claim 13,
The distributed hash table version management module changes the version information of the updated distributed hash table and transmits the changed version information of its own distributed hash table to other distributed data servers. .
제10항에 있어서,
상기 클라이언트 서버는, 상기 설정된 분산 데이터 서버로부터 클라이언트 서버의 분산해시테이블 버전에 대한 최신 여부 결과를 통지받고, 그 결과가 최신 버전이면 동기화 작업을 완료하고, 최신 버전이 아니면 자신의 분산해시테이블을 상기 설정된 분산 데이터 서버로부터 전송되는 최신 버전의 분산해시테이블로 변경하는 것을 특징으로 하는 분산 데이터 관리 시스템.
The method of claim 10,
The client server is notified of the latest result of the distributed hash table version of the client server from the set distributed data server, and if the result is the latest version, completes the synchronization task; otherwise, the distributed hash table of the client server To a latest version of the distributed hash table transmitted from the set distributed data server.
제15항에 있어서,
상기 클라이언트 서버는, 변경된 최신 버전의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하는 것을 특징으로 하는 분산 데이터 관리 시스템.
16. The method of claim 15,
The client server selects a distributed data server for requesting data operation by referring to the latest distributed version of the distributed hash table.
제15항에 있어서,
상기 클라이언트 서버는, 상기 변경된 최신 버전의 분산해시테이블로부터 데이터를 복제해서 가지고 있는 분산 데이터 서버들의 정보를 모두 획득하고, 다수의 분산 데이터 서버 중 하나의 분산 데이터 서버를 선택하여 데이터 연산을 요청하는 것을 특징으로 하는 분산 데이터 관리 시스템.
16. The method of claim 15,
The client server acquires all of the information of the distributed data servers which have duplicate data from the changed latest version of the distributed hash table, and selects one distributed data server among a plurality of distributed data servers to request data operation. Distributed data management system, characterized in that.
분산 데이터 서버 클러스터 중 하나의 분산 데이터 서버가, 클러스터 서버로부터 데이터 연산 요청을 수신하는 단계-상기 클러스터 서버는 자신의 분산해시테이블을 참조하여 상기 하나의 분산 데이터 서버를 선택함-;
상기 하나의 분산 데이터 서버가, 자신의 분산해시테이블 버전 정보와 클라이언트 서버의 분산해시테이블의 버전 정보가 일치하는지 확인하는 단계; 및
확인 결과, 두 분산해시테이블의 버전 정보가 일치할 경우, 상기 클러스터 서버의 데이터 연산 요청을 수행하고, 일치하지 않을 경우, 상기 클러스터 서버로 자신의 분산해시테이블을 전송하는 단계;를 포함하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법.
Receiving, by a distributed data server of a distributed data server cluster, a data operation request from a cluster server, wherein the cluster server selects the distributed data server with reference to its distributed hash table;
Checking, by the one distributed data server, whether its distributed hash table version information and the version information of the distributed hash table of the client server match; And
As a result of the check, if the version information of the two distributed hash tables match, performing a data operation request of the cluster server, and if it does not match, transmitting the distributed hash table of its own to the cluster server; How to manage distributed data in a distributed data server cluster.
제18항에 있어서,
상기 분산 데이터 서버 클러스터 중 미리 설정된 분산 데이터 서버가, 클라이언트 서버로부터 자신의 분산해시테이블 버전 정보가 포함된 동기화 요청을 수신하는 단계; 및
상기 설정된 분산 데이터 서버가, 자신의 분산해시테이블을 상기 클라이언트 서버로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법.
19. The method of claim 18,
Receiving, by a predetermined distributed data server of the distributed data server cluster, a synchronization request including its distributed hash table version information from a client server; And
And transmitting, by the configured distributed data server, its own distributed hash table to the client server.
제18항에 있어서,
상기 하나의 분산 데이터 서버가, 상기 클러스터 서버의 데이터 연산 요청을 수행한 후, 연산 결과 데이터를 자신의 분산해시테이블에 저장하고, 분산해시테이블의 버전 정보를 변경한 후, 상기 클러스터 서버로 변경된 분산해시테이블을 전송하는 것을 특징으로 하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법.
19. The method of claim 18,
After the distributed data server performs a data operation request of the cluster server, the distributed data server stores the operation result data in its distributed hash table and changes the version information of the distributed hash table to the cluster server. A distributed data management method of a distributed data server cluster, wherein the distributed distributed hash table is transmitted.
제18항에 있어서,
상기 클러스터 서버가 상기 하나의 분산 데이터 서버의 분산해시테이블을 수신하여 자신의 분산해시테이블을 변경하고, 변경된 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택한 후 선택된 분산 데이터 서버로 데이터 연산을 요청하는 단계; 및
상기 선택된 분산 데이터 서버가, 상기 클러스터 서버로부터 데이터 연산 요청을 수신하여 데이터 연산을 수행한 후, 연산 결과 데이터를 자신의 분산해시테이블에 저장하고, 분산해시테이블의 버전 정보를 변경한 후, 상기 클러스터 서버로 변경된 분산해시테이블을 전송하는는 단계;를 포함하는 것을 특징으로 하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법.
19. The method of claim 18,
The cluster server receives the distributed hash table of the distributed data server, changes its distributed hash table, selects a distributed data server to request data operation with reference to the changed distributed hash table, and then selects the selected distributed data server. Requesting a data operation to a network; And
After the selected distributed data server receives a data operation request from the cluster server to perform a data operation, stores the operation result data in its distributed hash table and changes the version information of the distributed hash table. And transmitting the changed distributed hash table to the cluster server.
제18항에 있어서,
상기 분산 데이터 서버 클러스터에 포함된 각 분산 데이터 서버는, 다른 분산 데이터 서버로 자신의 분산해시테이블의 버전 정보를 주기적으로 전송하며, 상기 다른 분산 데이터 서버로부터 수신되는 분산해시테이블의 버전 정보를 통해 자신의 분산해시테이블을 최신 버전으로 유지하는 것을 특징으로 하는 분산 데이터 서버 클러스터의 분산 데이터 관리 방법.
19. The method of claim 18,
Each distributed data server included in the distributed data server cluster periodically transmits version information of its distributed hash table to another distributed data server, and transmits version information of the distributed hash table received from the other distributed data server. Distributed data management method of a distributed data server cluster, characterized by keeping its distributed hash table up-to-date.
다수의 분산 데이터 서버로 이루어진 분산 데이터 서버 클러스터 중 설정된 분산 데이터 서버로 자신의 분산해시테이블 버전 정보를 포함하는 동기화 요청을 전송하는 단계;
상기 설정된 분산 데이터 서버로부터 클라이언트 서버의 분산해시테이블 버전에 대한 최신 여부 결과를 통지받고, 그 결과가 최신 버전이면 동기화 작업을 완료하고, 최신 버전이 아니면 자신의 분산해시테이블을 상기 설정된 분산 데이터 서버로부터 전송되는 최신 버전의 분산해시테이블로 변경하는 단계; 및
자신의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하고, 선택한 분산 데이터 서버로 데이터 연산을 요청하는 단계;를 포함하는 클라이언트 서버의 분산 데이터 관리 방법.
Transmitting a synchronization request including its distributed hash table version information to a distributed data server configured among a distributed data server cluster including a plurality of distributed data servers;
Notified of the result of the distributed hash table version of the client server from the set distributed data server, and if the result is the latest version, the synchronization operation is completed, and if not the latest version, the distributed hash table of its own set distributed data Changing to the latest version of the distributed hash table sent from the server; And
Selecting a distributed data server to request a data operation by referring to its distributed hash table, and requesting a data operation to the selected distributed data server; distributed data management method of a client server.
제23항에 있어서,
상기 선택한 분산 데이터 서버로 데이터 연산을 요청하는 단계는, 상기 최신 버전의 분산해시테이블로부터 데이터를 복제해서 가지고 있는 분산 데이터 서버들의 정보를 모두 획득하고, 다수의 분산 데이터 서버 중 하나의 분산 데이터 서버를 선택하여 데이터 연산을 요청하는 단계인 것을 특징으로 하는 클라이언트 서버의 분산 데이터 관리 방법.
24. The method of claim 23,
The requesting of the data operation to the selected distributed data server may include obtaining all the information of the distributed data servers having the data copied from the latest version of the distributed hash table, and the distributed data server of one of the plurality of distributed data servers. And requesting data operation by selecting the distributed data management method of the client server.
제23항에 있어서,
상기 선택한 분산 데이터 서버로 데이터 연산을 요청하는 단계는, 변경된 최신 버전의 분산해시테이블을 참조하여 데이터 연산을 요청할 분산 데이터 서버를 선택하는 단계인 것을 특징으로 하는 클라이언트 서버의 분산 데이터 관리 방법.
24. The method of claim 23,
The requesting data operation to the selected distributed data server may include selecting a distributed data server to request data operation by referring to the latest distributed hash table.
KR1020110142183A 2011-12-26 2011-12-26 Deistributed data management system and method thereof KR101342258B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110142183A KR101342258B1 (en) 2011-12-26 2011-12-26 Deistributed data management system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110142183A KR101342258B1 (en) 2011-12-26 2011-12-26 Deistributed data management system and method thereof

Publications (2)

Publication Number Publication Date
KR20130074227A true KR20130074227A (en) 2013-07-04
KR101342258B1 KR101342258B1 (en) 2013-12-16

Family

ID=48988376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110142183A KR101342258B1 (en) 2011-12-26 2011-12-26 Deistributed data management system and method thereof

Country Status (1)

Country Link
KR (1) KR101342258B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160049446A (en) * 2014-10-27 2016-05-09 한국전자통신연구원 Apparatus and Method for Selective Delivery of Distributed Energy Resources Information from Multiple Slave Devices in Smart Grid Environment
CN108205470A (en) * 2016-12-20 2018-06-26 北京奇虎科技有限公司 A kind of distribution ad data calculating task management system and method
WO2024061219A1 (en) * 2022-09-20 2024-03-28 中移(苏州)软件技术有限公司 Information updating method, apparatus and device, storage medium, and program product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201607477D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160049446A (en) * 2014-10-27 2016-05-09 한국전자통신연구원 Apparatus and Method for Selective Delivery of Distributed Energy Resources Information from Multiple Slave Devices in Smart Grid Environment
CN108205470A (en) * 2016-12-20 2018-06-26 北京奇虎科技有限公司 A kind of distribution ad data calculating task management system and method
WO2024061219A1 (en) * 2022-09-20 2024-03-28 中移(苏州)软件技术有限公司 Information updating method, apparatus and device, storage medium, and program product

Also Published As

Publication number Publication date
KR101342258B1 (en) 2013-12-16

Similar Documents

Publication Publication Date Title
US10185497B2 (en) Cluster federation and trust in a cloud environment
KR101544480B1 (en) Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium
US9560093B2 (en) Higher efficiency storage replication using compression
US8874506B2 (en) Preventing database replication conflicts in a distributed environment
US9294433B1 (en) Multiple-master DNS system
US20130339295A1 (en) Organizing Data in a Distributed Storage System
US9262323B1 (en) Replication in distributed caching cluster
US20090144220A1 (en) System for storing distributed hashtables
KR20120072907A (en) Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
CN110474802B (en) Equipment switching method and device and service system
EP3935515A1 (en) Metadata routing in a distributed system
US20160323138A1 (en) Scalable Event-Based Notifications
KR101342258B1 (en) Deistributed data management system and method thereof
US11093334B2 (en) Method, device and computer program product for data processing
KR20190139095A (en) Method for controlling near cache in distributed cache environment, and distributed cache server using the same
US11356448B1 (en) Device and method for tracking unique device and user network access across multiple security appliances
KR101066328B1 (en) Method for balancing load in mobile environment and mobile device implementing the same
KR101294268B1 (en) Log distributing method using a plurality of log servers and log distributing system
JP6432392B2 (en) Storage system, storage, management server, and file management method
WO2012046585A1 (en) Distributed storage system, method of controlling same, and program
CN112910796A (en) Traffic management method, apparatus, device, storage medium, and program product
CN117057799B (en) Asset data processing method, device, equipment and storage medium
JP6043687B2 (en) Server / client system
JP2024514467A (en) Geographically distributed hybrid cloud cluster
CN115396188A (en) Permission high-availability method and permission high-availability system based on edge multi-level cache

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181210

Year of fee payment: 6