KR101430570B1 - Distributed computing system and recovery method thereof - Google Patents
Distributed computing system and recovery method thereof Download PDFInfo
- Publication number
- KR101430570B1 KR101430570B1 KR1020120094738A KR20120094738A KR101430570B1 KR 101430570 B1 KR101430570 B1 KR 101430570B1 KR 1020120094738 A KR1020120094738 A KR 1020120094738A KR 20120094738 A KR20120094738 A KR 20120094738A KR 101430570 B1 KR101430570 B1 KR 101430570B1
- Authority
- KR
- South Korea
- Prior art keywords
- master node
- node
- master
- task
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Abstract
분산 컴퓨팅 시스템 및 상기 분산 컴퓨팅 시스템에서의 장애 복구 방법이 개시된다. 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템은, 사용자로부터 사용자 작업 요청을 수신하고, 상기 사용자 작업 요청에 따른 결과를 상기 사용자에게 반환하는 주 마스터 노드; 상기 주 마스터 노드로부터 할당된 작업을 수행하고, 수행된 작업 결과를 상기 주 마스터 노드로 송신하는 하나 이상의 데이터 노드; 및 상기 주 마스터 노드에 저장된 사용자 작업 정보 및 상기 하나 이상의 데이터 노드 별 작업 할당 정보를 상기 주 마스터 노드와 동기화하여 저장하며, 상기 주 마스터 노드에 장애가 발생한 경우 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는 하나 이상의 보조 마스터 노드를 포함한다.A distributed computing system and a method for failover in the distributed computing system are disclosed. A distributed computing system according to an embodiment of the present invention includes a main master node receiving a user operation request from a user and returning a result according to the user operation request to the user; One or more data nodes for performing tasks assigned from the master node and transmitting the results of the tasks to the master node; And storing the user task information stored in the main master node and the at least one task assigned to each data node in synchronization with the master master node and storing the master task node in the master master node when the failure occurs in the master master node, Lt; RTI ID = 0.0 > master node < / RTI >
Description
본 발명의 실시예들은 분산 컴퓨팅 시스템의 안정성을 향상하기 위한 기술과 관련된다.
Embodiments of the present invention relate to techniques for improving the stability of a distributed computing system.
분산 컴퓨팅이란 네트워크에 연결된 다수의 컴퓨터들의 자원을 이용하여 매우 복잡하거나 용량이 큰 계산을 효과적으로 수행하기 위한 컴퓨팅 방법을 의미한다. 이와 같은 분산 컴퓨팅은 상대적으로 저렴한 하드웨어 자원을 대규모로 연결함으로써 엄청난 컴퓨팅 능력을 요하거나 많은 양의 데이터 접근을 필요로 하는 복잡한 문제들을 효율적으로 해결할 수 있어 최근 들어 다양한 분야에 적용되고 있다.Distributed computing refers to a computing method for efficiently performing highly complex or large-scale computations using resources of a plurality of computers connected to a network. Distributed computing has been applied to various fields in recent years because it can solve complex problems that require massive computing power or require a large amount of data access by linking relatively inexpensive hardware resources on a large scale.
이와 같은 분산 컴퓨팅 시스템의 경우 일반적으로 작업을 분배하고 작업 결과를 취합하는 마스터 노드 및 실제 할당된 작업을 수행하는 복수 개의 데이터 노드로 구성되는 것이 일반적이다. 그러나 이와 같은 구조를 가지는 분산 컴퓨팅 시스템의 경우 마스터 노드에 작업 할당 정보 등이 저장되므로, 마스터 노드에 장애가 발생하거나 할 경우 지금까지 마스터 노드를 통하여 수행된 작업 전체의 정보가 손실되어 이를 모두 다시 수행하여야 하는 문제가 있었다.
In such a distributed computing system, it is general that a master node is generally composed of a master node that distributes a job and collects a job result, and a plurality of data nodes that perform an actually assigned job. However, in the case of a distributed computing system having such a structure, since the task allocation information is stored in the master node, if a failure occurs in the master node, information on the entire task performed through the master node has been lost, There was a problem.
본 발명의 실시예들은 분산 컴퓨팅 시스템에서 마스터 노드의 장애 발생에 효과적으로 대처하기 위한 수단을 제공하는 데 그 목적이 있다.
Embodiments of the present invention are intended to provide a means for effectively coping with a failure of a master node in a distributed computing system.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템은, 사용자로부터 사용자 작업 요청을 수신하고, 상기 사용자 작업 요청에 따른 결과를 상기 사용자에게 반환하는 주 마스터 노드; 상기 주 마스터 노드로부터 할당된 작업을 수행하고, 수행된 작업 결과를 상기 주 마스터 노드로 송신하는 하나 이상의 데이터 노드; 및 상기 주 마스터 노드에 저장된 사용자 작업 정보 및 상기 하나 이상의 데이터 노드 별 작업 할당 정보를 상기 주 마스터 노드와 동기화하여 저장하며, 상기 주 마스터 노드에 장애가 발생한 경우 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는 하나 이상의 보조 마스터 노드를 포함한다.According to an aspect of the present invention, there is provided a distributed computing system including a main master node receiving a user work request from a user and returning a result of the user work request to the user; One or more data nodes for performing tasks assigned from the master node and transmitting the results of the tasks to the master node; And storing the user task information stored in the main master node and the at least one task assigned to each data node in synchronization with the master master node and storing the master task node in the master master node when the failure occurs in the master master node, Lt; RTI ID = 0.0 > master node < / RTI >
한편, 상기 과제를 해결하기 위한 주 마스터 노드 및 보조 마스터 노드를 포함하는 분산 컴퓨팅 시스템에서의 장애 복구 방법은, 상기 보조 마스터 노드에서, 상기 주 마스터 노드에 저장된 사용자 작업 정보 및 각 데이터 노드 별 작업 할당 정보를 동기화하여 저장하는 단계; 상기 보조 마스터 노드에서, 주 마스터 노드의 장애 발생을 감지하는 단계; 상기 보조 마스터 노드에서, 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는 단계를 포함한다.
According to another aspect of the present invention, there is provided a failure recovery method in a distributed computing system including a primary master node and a secondary master node, the method comprising: in the secondary master node, Synchronizing and storing the information; Detecting, at the auxiliary master node, occurrence of a failure of the main master node; Performing the function of the master master node by replacing the master master node in the auxiliary master node.
본 발명의 실시예들에 따를 경우 분산 컴퓨팅 환경에서 마스터 노드에 장애가 발생하더라도 이와 동일한 정보를 동기화하여 저장하고 있는 보조 마스터 노드가 이를 대체하게 되는 바, 사용자는 마스터 노드의 장애 여부와 관계 없이 계속해서 안정적으로 분산 컴퓨팅 서비스를 제공받을 수 있는 장점이 있다.
According to the embodiments of the present invention, even if a failure occurs in a master node in a distributed computing environment, an auxiliary master node that synchronizes and stores the same information replaces them, There is an advantage that stable distributed computing services can be provided.
도 1은 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 주 마스터 노드(102)의 상세 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 보조 마스터 노드(106)의 상세 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 노드(104)의 상세 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 사용자 작업 할당 방법(500)을 순차 도시한 순서도이다.1 is a block diagram illustrating a configuration of a
2 is a detailed block diagram of a
3 is a detailed block diagram of an
4 is a detailed block diagram of a
FIG. 5 is a flowchart illustrating a user
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.
도 1은 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)의 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)은 주 마스터 노드(102), 하나 이상의 데이터 노드(104) 및 하나 이상의 보조 마스터 노드(106) 및 내부 네트워크(108)를 포함한다.1 is a block diagram illustrating a configuration of a
주 마스터 노드(102)는 사용자 단말(110)로부터 사용자 작업 요청을 수신하고, 수신된 상기 사용자 작업 요청에 따른 작업을 데이터 노드(104)에 할당하며, 데이터 노드(104)로부터 작업 결과를 취합하여 이를 사용자 단말(110)로 회신한다.The
하나 이상의 데이터 노드(104)는 데이터를 저장하고 상기 데이터를 이용하여 주 마스터 노드(102)로부터 할당된 작업을 수행하며, 수행된 작업 결과를 주 마스터 노드(102)로 송신한다. 본 발명에서 데이터 노드(104)의 개수에는 제한이 없으나, 하나의 데이터 노드(104)에 저장된 데이터는 다른 데이터 노드(104)에 하나 이상의 복제본을 가지는 것이 바람직하며, 이 경우 분산 컴퓨팅 시스템(100)은 최소한 2개 이상의 데이터 노드(104)를 가지도록 구성될 수 있다.One or
하나 이상의 보조 마스터 노드(106)는 주 마스터 노드(102)에 저장된 사용자 작업 정보 및 하나 이상의 데이터 노드(104) 별 작업 할당 정보를 주 마스터 노드(102)와 동기화하여 저장하며, 주 마스터 노드(102)에 장애가 발생한 경우 주 마스터 노드(102)를 대체하여 주 마스터 노드(102)의 기능을 수행한다. 즉, 본 발명의 실시예에서 하나 이상의 보조 마스터 노드(106)는 주 마스터 노드(102)와 동일한 정보를 저장하다가, 주 마스터 노드(102)에 장애가 발생한 경우 곧바로 주 마스터 노드(102)를 대체함으로써, 사용자 작업 및 데이터 노드(104)에 할당된 작업이 손실되지 않으면서 분산 컴퓨팅 시스템(100)이 안정적으로 유지될 수 있도록 한다.The one or more
한편, 본 발명의 실시예에서 주 마스터 노드(102) 및 보조 마스터 노드(106)의 구분은 기능적인 구분에 불과하다. 즉, 주 마스터 노드(102) 및 보조 마스터 노드(106)는 동일한 하드웨어적 구성을 가지도록 구현되며, 상황에 따라 주 마스터 노드(102) 및 보조 마스터 노드(106)의 기능을 번갈아 수행할 수 있다. 예를 들어, 분산 컴퓨팅 시스템(100)은 동일한 구성을 가지는 복수 개의 마스터 노드를 포함할 수 있으며, 이 중 우선 순위가 가장 높은 마스터 노드가 주 마스터 노드(102), 나머지 마스터 노드들이 보조 마스터 노드(106)의 기능을 수행할 수 있다. 이 경우 주 마스터 노드(102)에 장애가 발생하면, 보조 마스터 노드(106) 중 우선 순위가 가장 높은 보조 마스터 노드(106)가 주 마스터 노드(102)의 역할을 대체하며, 이에 따라 나머지 마스터 노드들의 우선 순위를 재조정한다. 이후, 장애에서 복구된 주 마스터 노드(102)는 대체된 마스터 노드에 의하여 낮은 우선 순위를 지정받으며 이에 따라 주 마스터 노드(102)는 보조 마스터 노드(106)로 그 기능이 변경되게 된다. 이후 새롭게 대체된 마스터 노드에 장애 발생 시 보조 마스터 노드로 변경된 주 마스터 노드가 우선 순위에 따라 다시 주 마스터 노드로 그 기능을 재변경할 수 있음은 물론이다.Meanwhile, in the embodiment of the present invention, the distinction between the
내부 네트워크(108)는 분산 컴퓨팅 시스템(100) 내부의 전술한 각 구성요소들이 데이터를 주고받기 위한 경로를 제공하며, 이에 대한 사항은 본 기술분야에서는 잘 알려져 있으므로 여기서는 그 상세한 설명을 생략한다.
The
도 2는 본 발명의 일 실시예에 따른 주 마스터 노드(102)의 상세 구성을 나타낸 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 주 마스터 노드(102)는 사용자 작업 수신 모듈(200), 데이터 노드 작업 할당 모듈(202), 내부 데이터베이스(204), 공유 자원 영역(206), 모니터링 및 복구 모듈(208) 및 대표 IP 설정 모듈(210)을 포함한다.2 is a detailed block diagram of a
사용자 작업 수신 모듈(200)은 사용자 단말(110)로부터 사용자 작업 요청을 수신하고, 이에 대응하는 사용자 작업 정보를 내부 데이터베이스(204)에 저장한다. 또한, 사용자 작업 수신 모듈(200)은 보조 마스터 노드(106)에 상기 사용자 작업 정보를 동기화하여 저장할 것을 요청하며, 모든 보조 마스터 노드(106)에 상기 사용자 작업 정보가 저장된 것을 확인한 이후 사용자 단말(110)로 상기 사용자 작업 요청에 대한 수신 응답을 전송한다. 즉, 본 발명에서 주 마스터 노드(102)는 사용자 단말(110)로부터 작업 요청이 수신될 경우 이에 대한 정보가 보조 마스터 노드(106)에 동기화되어 저장할 수 있도록 함으로써 주 마스터 노드(102)에 장애가 발생한 경우에도 사용자 작업 요청이 손실되지 않도록 한다.The user
상기와 같은 과정을 거쳐 사용자 작업 요청의 수신이 완료된 경우, 사용자 작업 수신 모듈(200)은 사용자 단말(110)과의 연결(connection)을 종료하며, 이후 상기 사용자 작업 요청에 따른 작업이 완료되면 사용자 단말(110)과 새로운 연결을 구성하여 작업 결과를 송신한다. 일반적인 분산 컴퓨팅 시스템의 경우 사용자 단말은 마스터 노드에 작업 요청을 송신한 후 결과를 수신할 때까지 마스터 노드와의 연결을 유지한다. 그러나 이와 같이 구성될 경우에는 사용자 작업 요청 수신 후 마스터 노드에 장애가 발생할 경우 사용자 단말과의 연결이 비정상적으로 종료되므로, 사용자 단말은 해당 사용자 작업을 처음부터 다시 요청하여야 하는 문제가 있다. 따라서 본 발명의 경우 사용자 작업 수신, 작업 결과 회신 등을 각각 별도의 짧은 커넥션을 통하여 수행하고 이후 곧바로 커넥션을 종료함으로써 마스터 노드(102)의 장애 발생시에도 안정성이 확보될 수 있도록 하였다.When the reception of the user task request is completed through the above process, the user
데이터 노드 작업 할당 모듈(202)은 상기 사용자 작업에 따른 작업을 각 데이터 노드(104)에 할당하고, 이에 따른 작업 할당 정보를 내부 데이터베이스(204)에 저장한다. 사용자 작업 수신 모듈(200)과 마찬가지로, 데이터 노드 작업 할당 모듈(202) 또한 상기 작업 할당 정보를 보조 마스터 노드(106)로 전송함으로써 작업 할당 정보가 모든 보조 마스터 노드(106)들에 동기화되어 저장될 수 있도록 한다. 구체적으로, 데이터 노드 작업 할당 모듈(202)은 데이터 노드(104)에 작업이 할당된 경우 각 보조 마스터 노드(106)와 커넥션을 맺어 상기 할당된 작업에 대응하는 작업 할당 정보의 동기화 요청을 보조 마스터 노드(106)로 송신하고, 보조 마스터 노드(106)로부터 이에 대한 저장 완료 응답을 수신함으로써 작업 할당 정보가 각 보조 마스터 노드(106)에 동기화되어 저장될 수 있도록 한다. 이때 보조 마스터 노드(106)로부터 저장 완료 응답이 수신 완료된 경우 해당 보조 마스터 노드(106)와 맺은 커넥션은 종료된다. 즉, 본 발명에서 주 마스터 노드(102) 및 보조 마스터 노드(106) 간의 모든 메시지 송수신은 각각 별도의 짧은 커넥션을 통하여 이루어지며, 메시지 송수신이 종료된 이후 해당 커넥션은 종료되도록 구성된다. 그 이유는 주 마스터 노드(102) 및 보조 마스터 노드(106) 간에 커넥션을 계속 유지할 경우, 주 마스터 노드(102) 또는 보조 마스터 노드(106)에 장애 발생시 해당 커넥션이 비정상적으로 끊어질 우려가 있기 때문이다. 따라서 본 발명에서는 주 마스터 노드(102) 및 보조 마스터 노드(106) 간에 메시지 송수신이 필요한 경우에만 별도의 짧은 연결을 구성함으로써 장애 발생과 무관하게 메시지 송수신이 안정적으로 이루어질 수 있도록 구성된다. The data node
내부 데이터베이스(204)는 전술한 사용자 작업 정보, 작업 할당 정보가 저장되는 공간이다. 또한, 내부 데이터베이스(204)는 각 보조 마스터 노드(106) 별로 할당된 우선 순위 및 각 보조 마스터 노드(106), 데이터 노드(104)의 상태 정보가 저장된다. 이때 상기 상태 정보는 해당 보조 마스터 노드(106) 또는 데이터 노드(104)가 현재 정상 가동 중인지의 여부에 대한 정보를 의미한다.The
공유 자원 영역(206)은 분산 컴퓨팅 시스템(100) 내부의 다른 구성 요소들, 즉 보조 마스터 노드(106) 또는 데이터 노드(104)가 주 마스터 노드(102)의 정상 작동 여부를 모니터링하는 데 사용된다. 공유 자원 영역(206)은 주 마스터 노드(102) 내에 구성되는 작은 크기의 저장 영역으로서, 보조 마스터 노드(106) 또는 데이터 노드(104)는 이를 마운트(mount)하여 직접 파일을 쓰거나 읽을 수 있다. 이때 만약 주 마스터 노드(102)가 정상 작동 중일 경우 공유 자원 영역(206)에 대한 파일 입출력이 정상적으로 수행될 것이며, 주 마스터 노드(102)에 장애가 발생할 경우에는 파일 입출력이 수행되지 않게 된다. 따라서 이와 같은 공유 자원 영역(206)을 이용할 경우 주 마스터 노드(102)의 정상 작동 여부를 정확하게 판단할 수 있다. 이와 같은 공유 자원 영역(206)은 주 마스터 노드(102) 뿐만 아니라 보조 마스터 노드(106) 및 데이터 노드(104) 등 분산 컴퓨팅 시스템(100) 내의 다른 구성 요소들 내에도 동일하게 포함된다.The shared
모니터링 및 복구 모듈(208)은 분산 컴퓨팅 시스템(100) 내부의 다른 구성 요소들, 즉 보조 마스터 노드(106) 또는 데이터 노드(104)의 정상 작동 여부를 모니터링한다. 구체적으로, 모니터링 및 복구 모듈(208)은 기 설정된 주기에 따라 보조 마스터 노드(106) 또는 데이터 노드(104) 각각의 공유 자원 영역을 마운트하고 마운트된 공유 자원 영역에 임시 파일 입출력 테스트를 수행한다. 전술한 바와 같이, 공유 자원 영역이 마운트된 보조 마스터 노드(106) 또는 데이터 노드(104)가 정상 작동 중일 경우에는 공유 자원 영역에 대한 파일 입출력이 정상적으로 수행될 것이며, 장애가 발생할 경우에는 파일 입출력이 수행되지 않게 된다. 모니터링 및 복구 모듈(208)은 이와 같은 공유 자원 영역을 이용한 임시 파일 입출력 테스트에 따른 각 노드들의 상태 정보를 내부 데이터베이스(204)에 저장한다.The monitoring and
만약 상기 테스트 결과 특정 데이터 노드(104)에 장애가 발생한 경우, 모니터링 및 복구 모듈(208)은 해당 데이터 노드(104)에 할당된 작업의 상태를 재수행으로 업데이트하고 현재 정상 작동 중인 다른 데이터 노드(104)에 해당 작업을 재할당한다. 본 발명에서 마스터 노드(102)는 지속적으로 각 데이터 노드(104)의 상태를 모니터링하고 있으므로 작업 수행 중인 데이터 노드(104)에 장애가 발생한 경우에도 이를 감지하여 해당 작업을 재할당할 수 있게 된다.If a failure occurs in the
또한, 모니터링 및 복구 모듈(208)은 주 마스터 노드(102) 및 하나 이상의 보조 마스터 노드(106)에 순차적으로 우선 순위를 할당한다. 또한 모니터링 및 복구 모듈(208)은 보조 마스터 노드(106)들의 정상 동작 상태를 모니터링하며, 새로운 보조 마스터 노드(106)가 추가되거나, 기존의 보조 마스터 노드(106)에 장애가 발생하거나 한 경우 이를 반영하여 각 보조 마스터 노드(106)의 우선 순위를 조정한다.In addition, the monitoring and
대표 IP 설정 모듈(210)은 사용자 단말(110)이 분산 컴퓨팅 시스템(100)에 접근하기 위한 대표 IP를 설정하여 사용자 단말(110)이 자신에게 접속할 수 있도록 한다. 만약 현재 주 마스터 노드에 장애가 발생하여 보조 마스터 노드 중 하나가 현재 주 마스터 노드를 대체할 경우에는, 대체된 마스터 노드가 대표 IP를 새로 설정하여 사용자 단말(110)이 대체된 마스터 노드로 접속할 수 있도록 한다. 이때 대체된 마스터 노드는 본 발명에 따라 장애가 발생한 마스터 노드의 모든 정보를 가지고 있으므로, 사용자는 마스터 노드의 장애 여부와 관계 없이 계속해서 사용자 작업을 할당하거나, 기 할당된 작업에 대한 결과를 수신할 수 있다.
The representative
도 3은 본 발명의 일 실시예에 따른 보조 마스터 노드(106)의 상세 구성을 나타낸 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 보조 마스터 노드(106)는 사용자 작업 동기화 모듈(300), 작업 할당 정보 동기화 모듈(302), 내부 데이터베이스(304), 공유 자원 영역(306), 및 모니터링 및 복구 모듈(308)을 포함한다.3 is a detailed block diagram of an
사용자 작업 동기화 모듈(300)은 주 마스터 노드(102)의 사용자 작업 수신 모듈(200)로부터 사용자 작업의 동기화 요청을 수신하고, 이에 대응하는 사용자 작업 정보를 내부 데이터베이스(304)에 저장한다. 상기 저장이 완료되면, 사용자 작업 동기화 모듈(300)은 상기 동기화 요청에 대한 완료 응답을 주 마스터 노드(102)의 사용자 작업 수신 모듈(200)로 송신한다.The user
작업 할당 정보 동기화 모듈(302)은 주 마스터 노드(102)의 데이터 노드 작업 할당 모듈(202)로부터 작업 할당 정보의 동기화 요청을 수신하고, 이에 대응하는 각 데이터 노드(104)의 작업 할당 정보를 내부 데이터베이스(304)에 저장한다. 상기 저장이 완료되면, 사용자 작업 동기화 모듈(300)은 상기 동기화 요청에 대한 완료 응답을 주 마스터 노드(102)의 데이터 노드 작업 할당 모듈 (202)로 송신한다.The task assignment
내부 데이터베이스(304)는 전술한 바와 같이 주 마스터 노드(102)로부터 동기화되는 사용자 작업 정보, 작업 할당 정보가 저장되는 공간이다. 또한, 내부 데이터베이스(304)는 각 보조 마스터 노드(106) 별로 할당된 우선 순위 및 각 보조 마스터 노드(106), 데이터 노드(104), 주 마스터 노드(102)의 상태 정보가 저장된다. The
공유 자원 영역(306)은 분산 컴퓨팅 시스템(100) 내부의 다른 구성 요소들 즉, 주 마스터 노드(102), 다른 보조 마스터 노드(106) 또는 데이터 노드(104)가 보조 마스터 노드(106)의 정상 작동 여부를 모니터링하는 데 사용된다. 공유 자원 영역의 상세한 사항에 대해서는 상기 도 2에서 상세히 설명하였으므로, 여기서는 반복되는 설명을 생략한다.The shared
모니터링 및 복구 모듈(308)은 분산 컴퓨팅 시스템(100) 내부의 다른 구성 요소들 즉, 주 마스터 노드(102), 다른 보조 마스터 노드(106) 또는 데이터 노드(104)의 정상 작동 여부를 모니터링한다. 구체적으로, 모니터링 및 복구 모듈(308)은 기 설정된 주기에 따라 주 마스터 노드(102), 다른 보조 마스터 노드(106) 또는 데이터 노드(104) 각각의 공유 자원 영역을 마운트하고, 마운트된 공유 자원 영역에 임시 파일 입출력 테스트를 수행한다. 전술한 바와 같이, 공유 자원 영역이 마운트된 주 마스터 노드(102), 다른 보조 마스터 노드(106) 또는 데이터 노드(104)가 정상 작동 중일 경우에는 공유 자원 영역에 대한 파일 입출력이 정상적으로 수행될 것이며, 장애가 발생할 경우에는 파일 입출력이 수행되지 않게 된다. 모니터링 및 복구 모듈(308)은 이와 같은 공유 자원 영역을 이용한 임시 파일 입출력 테스트에 따른 각 노드들의 상태 정보를 내부 데이터베이스(304)에 저장한다.The monitoring and
만약 상기 테스트 결과 주 마스터 노드(102)에 장애가 발생한 경우, 모니터링 및 복구 모듈(308)은 내부 데이터베이스(104)에 저장된 자신의 우선 순위를 확인하고, 보조 마스터 노드(106) 중 우선 순위가 가장 높다고 판단하는 경우 자신의 우선 순위를 주 마스터 노드(102)의 우선 순위로 변경함으로써 주 마스터 노드(102)를 대체한다. 또한, 이에 따라 자신을 포함하는 다른 보조 마스터 노드(106)들 및 장애에서 복구된 기존 주 마스터 노드(102)의 우선 순위를 재조정한다. 예를 들어, 모니터링 및 복구 모듈(308)은 나머지 보조 마스터 노드(106)들의 우선 순위를 한 단계씩 상승시키고, 복구된 기존 주 마스터 노드(102)에 가장 낮은 우선 순위를 할당할 수 있다. 다만, 이와 같은 우선 순위 조정 알고리즘은 단지 예시적인 것이며, 이와 다른 방법으로 각 노드들의 우선순위를 재조정하는 것 또한 가능함은 물론이다.
If the failure occurs in the
도 4는 본 발명의 일 실시예에 따른 데이터 노드(104)의 상세 구성을 나타낸 도면이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 노드(104)는 데이터 저장 영역(400), 작업 수행 모듈(402) 및 공유 자원 영역(404)을 포함한다.4 is a detailed block diagram of a
데이터 저장 영역(400)은 주 마스터 노드(102)로부터 할당된 데이터가 저장되는 공간이다. 전술한 바와 같이, 데이터의 안정성을 위하여 주 마스터 노드(102)는 둘 이상의 데이터 노드(104)에 동일한 데이터를 중복하여 저장하는 것이 바람직하다.The
작업 수행 모듈(402)은 주 마스터 노드(102)의 데이터 노드 작업 할당 모듈(202)로부터 할당된 작업을 수행하고, 작업 수행 결과를 데이터 노드 작업 할당 모듈(202)로 반환한다. 전술한 바와 같이, 상기 주 마스터 노드(102)로부터의 작업 할당 또는 작업 수행 결과의 반환은 각각 별도의 짧은 연결(connection)을 통하여 이루어지며, 작업 할당 또는 작업 수행 결과의 반환이 수행된 이후에는 해당 연결을 종료된다.The
공유 자원 영역(404)은 주 마스터 노드(102) 또는 보조 마스터 노드(106)가 해당 데이터 노드(104)의 상태 확인을 위하여 사용되는 영역으로서, 이에 대한 설명은 전술한 바와 같다.The shared
한편, 본 발명의 일 실시예에 따른 데이터 노드(104)는 제2 공유 자원 영역(406)을 더 포함하여 구성될 수 있다. 제2 공유 자원 영역(406)은 작업 수행 모듈(402)에서 작업 수행 결과를 주 마스터 노드(102)로 반환할 때 사용되는 일종의 데이터 저장 영역이다. 만약 네트워크 장애 등의 이유로 주 마스터 노드(102)로의 작업 결과 전송이 실패하거나 또는 원활하지 않은 경우, 작업 수행 모듈(402)은 해당 작업 결과를 제2 공유 자원 영역(406)에 저장하고, 이를 주 마스터 노드(102)의 데이터 노드 작업 할당 모듈(202)에 통지한다. 그러면 이를 수신한 데이터 노드 작업 할당 모듈(202)은 제2 공유 자원 영역(406)을 마운트한 후, 마운트된 제2 공유 자원 영역(406)으로부터 작업 결과를 직접 읽는 방식으로 작업 결과를 수신하게 된다.
Meanwhile, the
도 5는 본 발명의 일 실시예에 따른 사용자 작업 할당 방법(500)을 순차 도시한 순서도이다.FIG. 5 is a flowchart illustrating a user
먼저, 사용자 단말(110)은 주 마스터 노드(102)의 대표 IP를 이용하여 주 마스터 노드(102)에 접속하고(502), 주 마스터 노드(102)로 사용자 작업을 요청한다(504).First, the
상기 사용자 작업 요청을 수신한 주 마스터 노드(102)는 사용자 작업 요청에 따른 사용자 작업 정보를 내부 데이터베이스(204)에 저장하고(506), 보조 마스터 노드(106)에 해당 사용자 작업 정보의 저장 요청을 송신하여 사용자 작업 정보가 각 보조 마스터 노드(106)에 동기화되어 저장될 수 있도록 한다(508). 각 보조 마스터 노드(106)은 상기 요청에 따라 사용자 작업 정보를 저장하고(510), 저장 완료 여부를 회신한다(512). 이후, 모든 보조 마스터 노드(106)의 저장 완료를 확인한 주 마스터 노드(102)는 사용자 작업 요청의 수신 응답(514)을 사용자 단말(110)로 회신하고, 사용자 단말(110)과의 접속을 종료한다(514).
The
도 6은 본 발명의 일 실시예에 따른 보조 마스터 노드(106)에서의 장애 복구 방법을 도시한 순서도이다.FIG. 6 is a flowchart illustrating a failure recovery method in the
먼저, 각 보조 마스터 노드(106)는 주 마스터 노드(102)에 저장된 사용자 작업 정보 및 각 데이터 노드(104) 별 작업 할당 정보를 동기화하여 저장하며(602), 주기적으로 주 마스터 노드(102)의 장애 발생 여부를 모니터링한다(604). 이때, 상기 장애 발생 여부의 모니터링은 기 설정된 주기 별로 주 마스터 노드(102)의 공유 자원 영역(206)을 마운트하고 마운트된 공유 자원 영역(206)에 임시 파일 입출력 테스트를 수행함으로써 이루어질 수 있으며, 이에 대한 상세한 설명은 전술하였다.First, each
상기 모니터링 결과 주 마스터 노드(102)의 장애 발생이 감지되면, 각 보조 마스터 노드(106)는 자신보다 더 높은 우선순위를 가지는 보조 마스터 노드(106)가 존재하는지를 판단하고(606), 존재하지 않는 경우(다시 말해, 자신의 우선순위가 가장 높은 경우) 자신의 우선순위를 장애가 발생한 주 마스터 노드(102)의 우선 순위로 변경하여 주 마스터 노드(102)의 기능을 대체한다(608).If it is detected that the failure of the
다음으로, 보조 마스터 노드(106)는 변경된 우선 순위를 반영하여 다른 보조 마스터 노드(106)의 우선 순위를 업데이트하고(610), 사용자의 새로운 마스터 노드 접속을 위한 대표 IP를 설정한다(612). Next, the
한편, 상기 설명에서는 608 단계 내지 612 단계가 순차적으로 수행되는 것으로 설명되었으나, 각 단계들은 그 성격 상 동시에 수행될 수도 있고 순서를 바꾸어 수행될 수도 있음은 자명하다.
Although it has been described in the above description that steps 608 to 612 are sequentially performed, it is apparent that each step may be performed simultaneously or in reverse order.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.On the other hand, an embodiment of the present invention may include a computer-readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts. Examples of computer readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
100: 분산 컴퓨팅 시스템
102: 주 마스터 노드
104: 데이터 노드
106: 보조 마스터 노드
200: 사용자 작업 수신 모듈
202: 데이터 노드 작업 할당 모듈
204: 내부 데이터베이스
206: 공유 자원 영역
208: 모니터링 및 복구 모듈
210: 대표 IP 설정 모듈
300: 사용자 작업 동기화 모듈
302: 작업 할당 정보 동기화 모듈
304: 내부 데이터베이스
306: 공유 자원 영역
308: 모니터링 및 복구 모듈
400: 데이터 저장 영역
402: 작업 수행 모듈
404: 공유 자원 영역
406: 제2 공유 자원 영역100: Distributed Computing System
102: Primary master node
104: Data node
106: Secondary master node
200: User operation receiving module
202: Data node task allocation module
204: internal database
206: Shared resource area
208: Monitoring and Recovery Module
210: representative IP setting module
300: User activity synchronization module
302: Task assignment information synchronization module
304: Internal database
306: Shared resource area
308: Monitoring and Recovery Module
400: data storage area
402: Task performing module
404: Shared resource area
406: second shared resource area
Claims (17)
상기 주 마스터 노드로부터 할당된 작업을 수행하고, 수행된 작업 결과를 상기 주 마스터 노드로 송신하는 하나 이상의 데이터 노드; 및
상기 주 마스터 노드에 저장된 사용자 작업 정보 및 상기 하나 이상의 데이터 노드 별 작업 할당 정보를 상기 주 마스터 노드와 동기화하여 저장하며, 상기 주 마스터 노드에 장애가 발생한 경우 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는 하나 이상의 보조 마스터 노드를 포함하며,
상기 주 마스터 노드는 공유 자원 영역을 포함하고,
상기 하나 이상의 보조 마스터 노드는, 상기 주 마스터 노드의 상기 공유 자원 영역을 마운트하고, 기 설정된 주기에 따라 마운트된 상기 공유 자원 영역에 임시 파일 입출력 테스트를 수행하며, 상기 임시 파일 입출력 테스트에 실패한 경우 상기 주 마스터 노드에 장애가 발생한 것으로 판단하는, 분산 컴퓨팅 시스템.
A primary master node receiving a user task request from a user and returning a result according to the user task request to the user;
One or more data nodes for performing tasks assigned from the master node and transmitting the results of the tasks to the master node; And
Wherein the main master node stores user task information and at least one task assignment information for each data node in synchronization with the master master node, One or more secondary master nodes performing the function,
Wherein the primary master node comprises a shared resource region,
Wherein the at least one secondary master node mounts the shared resource region of the primary master node and performs a temporary file input / output test on the shared resource region mounted according to a predetermined period, and when the temporary file input / output test fails, A distributed computing system in which the primary master node is determined to have failed.
상기 주 마스터 노드는, 수신된 상기 사용자 작업 요청에 따라 생성된 사용자 작업 정보를 상기 보조 마스터 노드로 송신하며, 상기 보조 마스터 노드가 상기 사용자 작업 정보의 저장을 완료한 이후 상기 사용자 작업 요청에 대한 수신 응답을 상기 사용자에게 송신하고, 상기 수신 응답을 송신한 이후 상기 사용자와의 접속을 종료하는, 분산 컴퓨팅 시스템.
The method according to claim 1,
Wherein the master master node transmits user task information generated according to the received user task request to the auxiliary master node, and after the auxiliary master node completes storing the user task information, Sends a response to the user, and terminates the connection with the user after sending the receive response.
상기 주 마스터 노드는, 상기 주 마스터 노드 및 상기 하나 이상의 보조 마스터 노드에 순차적으로 우선 순위를 할당하는, 분산 컴퓨팅 시스템.
The method according to claim 1,
Wherein the primary master node sequentially assigns priority to the primary master node and the one or more secondary master nodes.
상기 분산 컴퓨팅 시스템이 복수 개의 보조 마스터 노드를 포함하는 경우,
상기 주 마스터 노드에 장애 발생시 상기 복수 개의 보조 마스터 노드 중 우선 순위가 가장 높은 보조 마스터 노드는 자신의 우선 순위를 상기 주 마스터 노드의 우선 순위로 변경하고, 다른 보조 마스터 노드의 우선 순위를 업데이트하는, 분산 컴퓨팅 시스템.
The method of claim 3,
If the distributed computing system includes a plurality of secondary master nodes,
Wherein when a failure occurs in the main master node, the auxiliary master node having the highest priority among the plurality of auxiliary master nodes changes its priority to the priority of the main master node and updates the priority of the other auxiliary master nodes, Distributed computing system.
상기 우선 순위가 가장 높은 보조 마스터 노드는, 상기 사용자의 마스터 노드 접속을 위한 대표 IP를 설정하는, 분산 컴퓨팅 시스템.
The method of claim 4,
Wherein the secondary master node having the highest priority sets a representative IP for accessing the master node of the user.
상기 보조 마스터 노드 및 상기 하나 이상의 데이터 노드는, 각 노드의 상태 확인을 위한 공유 자원 영역을 포함하는, 분산 컴퓨팅 시스템.
The method according to claim 1,
Wherein the auxiliary master node and the one or more data nodes include a shared resource area for status confirmation of each node.
상기 주 마스터 노드는, 상기 데이터 노드 각각의 공유 자원 영역을 마운트하고, 기 설정된 주기에 따라 마운트된 상기 공유 자원 영역에 임시 파일 입출력 테스트를 수행하며, 상기 임시 파일 입출력 테스트에 실패한 경우 해당 데이터 노드에 장애가 발생한 것으로 판단하는, 분산 컴퓨팅 시스템.
The method of claim 6,
Wherein the main master node mounts a shared resource region of each of the data nodes, performs a temporary file input / output test on the shared resource region mounted according to a predetermined period, and when the temporary file input / output test fails, The distributed computing system determines that a failure has occurred.
상기 주 마스터 노드는, 장애가 발생한 것으로 판단된 데이터 노드에 할당된 작업을 다른 데이터 노드에 재할당하는, 분산 컴퓨팅 시스템.
The method of claim 8,
Wherein the primary master node reassigns a task assigned to a data node determined to have failed to another data node.
상기 주 마스터 노드는, 데이터 노드에 작업을 할당한 이후 작업이 할당된 데이터 노드와의 접속을 종료하며,
상기 작업이 할당된 데이터 노드는, 할당된 작업이 완료된 이후 상기 주 마스터 노드와 새로운 접속을 형성하여 상기 주 마스터 노드로 작업 결과를 전송하는, 분산 컴퓨팅 시스템.
The method according to claim 1,
The main master node terminates the connection with the data node to which the task is assigned after assigning the task to the data node,
Wherein the task assigned data node forms a new connection with the primary master node after the assigned task is completed and sends the task results to the primary master node.
상기 작업이 할당된 데이터 노드는, 상기 주 마스터 노드로의 작업 결과 전송이 실패한 경우, 상기 작업 결과를 공유 자원 영역에 저장하며,
상기 주 마스터 노드는, 상기 작업 결과가 저장된 공유 자원 영역을 마운트한 후, 마운트된 상기 공유 자원 영역으로부터 상기 작업 결과를 획득하는, 분산 컴퓨팅 시스템.
The method of claim 10,
Wherein the data node to which the task is assigned stores the result of the task in the shared resource region when the transmission of the task result to the main master node fails,
Wherein the main master node mounts a shared resource area in which the operation result is stored, and then obtains the operation result from the mounted shared resource area.
상기 보조 마스터 노드에서, 상기 주 마스터 노드에 저장된 사용자 작업 정보 및 각 데이터 노드 별 작업 할당 정보를 동기화하여 저장하는 단계;
상기 보조 마스터 노드에서, 주 마스터 노드의 장애 발생을 감지하는 단계;
상기 보조 마스터 노드에서, 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는 단계를 포함하며,
상기 주 마스터 노드의 장애 발생을 감지하는 단계는,
상기 보조 마스터 노드에서, 상기 주 마스터 노드의 공유 자원 영역을 마운트하는 단계; 및
기 설정된 주기에 따라 마운트된 상기 공유 자원 영역에 임시 파일 입출력 테스트를 수행하는 단계를 더 포함하며,
상기 보조 마스터 노드는, 상기 임시 파일 입출력 테스트에 실패한 경우 상기 주 마스터 노드에 장애가 발생한 것으로 판단하는, 분산 컴퓨팅 시스템에서의 장애 복구 방법.
A method for failover in a distributed computing system comprising a primary master node and a secondary master node,
Synchronizing and storing, in the auxiliary master node, user task information stored in the main master node and task allocation information for each data node;
Detecting, at the auxiliary master node, occurrence of a failure of the main master node;
Performing the function of the main master node by replacing the main master node in the auxiliary master node,
Wherein the step of detecting a failure of the main master node comprises:
Mounting a shared resource area of the primary master node at the secondary master node; And
Performing a temporary file input / output test on the shared resource area mounted according to a predetermined cycle,
Wherein the secondary master node determines that the primary master node has failed if the temporary file input / output test fails.
상기 분산 컴퓨팅 시스템이 복수 개의 보조 마스터 노드를 포함하는 경우, 상기 복수 개의 보조 마스터 노드 중 우선 순위가 가장 높은 보조 마스터 노드가 상기 주 마스터 노드를 대체하여 상기 주 마스터 노드의 기능을 수행하는, 분산 컴퓨팅 시스템에서의 장애 복구 방법.
The method of claim 12,
Wherein when the distributed computing system includes a plurality of auxiliary master nodes, an auxiliary master node having a highest priority among the plurality of auxiliary master nodes replaces the main master node to perform the function of the main master node, How to recover from a system failure.
상기 우선 순위가 가장 높은 보조 마스터 노드는, 자신의 우선 순위를 상기 주 마스터 노드의 우선 순위로 변경하고, 다른 보조 마스터 노드의 우선 순위를 업데이트하는, 분산 컴퓨팅 시스템에서의 장애 복구 방법.
14. The method of claim 13,
Wherein the secondary master node having the highest priority changes its priority to the priority of the primary master node and updates the priority of the other secondary master node.
상기 우선 순위가 가장 높은 보조 마스터 노드는, 사용자의 마스터 노드 접속을 위한 대표 IP를 설정하는, 분산 컴퓨팅 시스템에서의 장애 복구 방법.
14. The method of claim 13,
Wherein the secondary master node having the highest priority sets a representative IP for accessing the master node of the user.
A computer-readable recording medium recording a program for performing the method according to any one of claims 12 to 15 on a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120094738A KR101430570B1 (en) | 2012-08-29 | 2012-08-29 | Distributed computing system and recovery method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120094738A KR101430570B1 (en) | 2012-08-29 | 2012-08-29 | Distributed computing system and recovery method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140029644A KR20140029644A (en) | 2014-03-11 |
KR101430570B1 true KR101430570B1 (en) | 2014-08-18 |
Family
ID=50642486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120094738A KR101430570B1 (en) | 2012-08-29 | 2012-08-29 | Distributed computing system and recovery method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101430570B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101643886B1 (en) * | 2014-12-10 | 2016-08-01 | 한국과학기술정보연구원 | System and method for analyzing large-scale high resolution satellite image |
KR101726253B1 (en) * | 2016-09-02 | 2017-04-12 | 엘아이지넥스원 주식회사 | System for providing duplex service based on database and method thereof |
KR102007810B1 (en) * | 2017-07-28 | 2019-08-07 | 네이버 주식회사 | Data placement and recovery of storage for individually cotrolling storage |
CN116504281A (en) * | 2022-01-18 | 2023-07-28 | 浙江力德仪器有限公司 | Computing unit, array and computing method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233446A1 (en) * | 2002-06-12 | 2003-12-18 | Earl William J. | System and method for managing a distributed computing system |
US20100094924A1 (en) * | 2000-06-26 | 2010-04-15 | Kevin David Howard | Parallel Processing Systems And Method |
-
2012
- 2012-08-29 KR KR1020120094738A patent/KR101430570B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100094924A1 (en) * | 2000-06-26 | 2010-04-15 | Kevin David Howard | Parallel Processing Systems And Method |
US20030233446A1 (en) * | 2002-06-12 | 2003-12-18 | Earl William J. | System and method for managing a distributed computing system |
Also Published As
Publication number | Publication date |
---|---|
KR20140029644A (en) | 2014-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208029B2 (en) | Computer system to switch logical group of virtual computers | |
CN110784350B (en) | Design method of real-time high-availability cluster management system | |
CN102404390B (en) | Intelligent dynamic load balancing method for high-speed real-time database | |
JP3258228B2 (en) | Checkpoint generation method | |
WO2017067484A1 (en) | Virtualization data center scheduling system and method | |
US8032786B2 (en) | Information-processing equipment and system therefor with switching control for switchover operation | |
CN109005045B (en) | Main/standby service system and main node fault recovery method | |
EP3210367B1 (en) | System and method for disaster recovery of cloud applications | |
CN107153660B (en) | Fault detection processing method and system for distributed database system | |
CN113037560B (en) | Service flow switching method and device, storage medium and electronic equipment | |
EP2224341B1 (en) | Node system, server switching method, server device, and data transfer method | |
KR20040073273A (en) | A scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters | |
JP2008059583A (en) | Cluster system, method for backing up replica in cluster system, and program product | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
EP3671461A1 (en) | Systems and methods of monitoring software application processes | |
KR101430570B1 (en) | Distributed computing system and recovery method thereof | |
CN112948063B (en) | Cloud platform creation method and device, cloud platform and cloud platform implementation system | |
CN105069152B (en) | data processing method and device | |
CN111460039A (en) | Relational database processing system, client, server and method | |
CN111800484B (en) | Service anti-destruction replacing method for mobile edge information service system | |
CN112787918B (en) | Data center addressing and master-slave switching method based on service routing tree | |
CN109257396B (en) | Distributed lock scheduling method and device | |
JP2013025765A (en) | Master/slave system, control device, master/slave switching method and master/slave switching program | |
CN111309515A (en) | Disaster recovery control method, device and system | |
CN114328033A (en) | Method and device for keeping service configuration consistency of high-availability equipment group |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
LAPS | Lapse due to unpaid annual fee |