KR101726253B1 - System for providing duplex service based on database and method thereof - Google Patents

System for providing duplex service based on database and method thereof Download PDF

Info

Publication number
KR101726253B1
KR101726253B1 KR1020160113279A KR20160113279A KR101726253B1 KR 101726253 B1 KR101726253 B1 KR 101726253B1 KR 1020160113279 A KR1020160113279 A KR 1020160113279A KR 20160113279 A KR20160113279 A KR 20160113279A KR 101726253 B1 KR101726253 B1 KR 101726253B1
Authority
KR
South Korea
Prior art keywords
distributed system
message
state information
web service
distributed
Prior art date
Application number
KR1020160113279A
Other languages
Korean (ko)
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 KR1020160113279A priority Critical patent/KR101726253B1/en
Application granted granted Critical
Publication of KR101726253B1 publication Critical patent/KR101726253B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

According to the present invention, disclosed are a system for providing a duplex service based on a database and a method thereof. The system for providing a duplex service according to an embodiment of the present invention includes: a first distributed system which is set as a master node and supplies a web service to a user terminal; and a second distributed system which is changed and set to the master node if the first distributed system is in a failure situation, stores a predefined message related to a web service while supplying the web service to the user terminal, and if the failure of the first distributed system is recovered, is changed and set to a slave node and transmits the stored message to the first distributed system. Accordingly, the present invention can provide the service without interruption due to the failure of the system.

Description

데이터베이스 기반 이중화 서비스를 제공하기 위한 시스템 및 그 방법{SYSTEM FOR PROVIDING DUPLEX SERVICE BASED ON DATABASE AND METHOD THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system and a method for providing a database-

본 발명은 이중화 서비스 제공 방안에 관한 것으로서, 보다 상세하게는 데이터베이스 기반 이중화 서비스를 제공하기 위한 시스템 및 그 방법에 관한 것이다.The present invention relates to a method of providing a duplicated service, and more particularly, to a system and a method for providing a database-based duplicated service.

최근 군사용 어플리케이션에서 다양한 서비스를 제공하기 위해 데이터베이스를 기반으로 하는 분산 시스템의 도입 요구가 높아지고 있다. 현재의 분산 시스템은 데이터베이스에 저장된 데이터를 기반으로 하여 다수의 서브 시스템을 단일한 관점으로 융합하기 위해 발행/구독 모델 기반 메시징 패러다임을 이용하고 있다.Recently, there is a growing demand for distributed systems based on databases to provide various services in military applications. Current distributed systems use a publish / subscribe model based messaging paradigm to fuse multiple subsystems into a single view based on data stored in the database.

이때, 분산 시스템은 시스템의 갑작스러운 오류로 인한 서비스의 중단을 막기 위해 이중화된다.At this time, the distributed system is redundant to prevent the service from being aborted due to a sudden error of the system.

그러나 기존의 분산 시스템은 고장 시 자체에서 제공하는 QoS(Quality of Service)에 의존하기 때문에, 고장에서 복구된 시스템으로 재절체가 이루어질 경우 데이터베이스 간 불일치로 인해 고장 전과 일관성 없는 데이터가 제공될 가능성이 존재한다.However, existing distributed systems depend on quality of service (QoS) provided by itself in case of failure. Therefore, if re-transfer is made from a failure to a recovered system, there is a possibility that data inconsistent with failure do.

따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 마스터로 설정된 제1 분산 시스템을 활성화하여 운영하는 중 제1 분산 시스템의 고장 상황 시 제2 분산 시스템을 마스터로 변경하여 활성하고 데이터베이스를 변경시킬 수 있는 메시지를 저장한 후 고장 복구 시 저장된 메시지를 이용하여 데이터베이스를 복구하도록 한 데이터베이스 기반 이중화 서비스를 제공하기 위한 시스템 및 그 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide a system and method for operating a first distributed system set as a master and operating the second distributed system as a master in a failure situation of the first distributed system, The present invention provides a system and a method for providing a database-based duplication service in which a message capable of changing a message is stored and a database is restored using a message stored at the time of a failure recovery.

그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.However, the objects of the present invention are not limited to those mentioned above, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 이중화 서비스를 제공하기 위한 시스템은 마스터 노드로 설정되어 사용자 단말에 웹 서비스를 제공하는 제1 분산 시스템; 및 상기 제1 분산 시스템이 고장 상황인 경우 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지를 저장하고, 상기 제1 분산 시스템이 고장 복구된 경우 마스터 노드로 동작 유지되고 상기 저장된 메시지를 상기 제1 분산 시스템에 전송하는 제2 분산 시스템을 포함할 수 있다.According to an aspect of the present invention, there is provided a system for providing a duplicated service, the system comprising: a first distributed system configured as a master node to provide a web service to a user terminal; And when the first distributed system is in a failure state, the master node is changed and set to store a predefined message related to the web service while providing the web service to the user terminal, and when the first distributed system is fault- And a second distributed system operable as a master node and transmitting the stored messages to the first distributed system.

또한, 상기 제1 분산 시스템은 전원이 인가되면 현재 시각을 기준으로 제1 이중화 시리얼 번호를 생성하여 상기 생성된 제1 이중화 시리얼 번호를 상기 제2 분산 시스템의 제2 이중화 시리얼 번호와 교환하고, 상기 제1 이중화 시리얼 번호와 상기 제2 이중화 시리얼 번호를 비교하여 그 비교한 결과에 따라 상기 마스터 노드로 설정될 수 있다.The first distributed system generates a first duplicated serial number based on a current time when power is applied, exchanges the generated first duplicated serial number with a second duplicated serial number of the second distributed system, The first redundant serial number and the second redundant serial number may be compared and the master node may be set according to the comparison result.

또한, 상기 제1 분산 시스템은 상기 제1 이중화 시리얼 번호가 상기 제2 분산 시스템의 제2 이중화 시리얼 번호보다 작으면, 상기 마스터 노드로 설정될 수 있다.The first distributed system may also be set as the master node if the first duplicated serial number is smaller than the second duplicated serial number of the second distributed system.

또한, 상기 제1 분산 시스템은 상기 마스터 노드로 설정되면, 고장 여부를 판단하기 위한 제1 이중화 상태 정보 메시지를 주기적으로 생성하여 상기 생성된 제1 이중화 상태 정보 메시지를 상기 제2 분산 시스템에 전송하고, 상기 제2 분산 시스템으로부터 주기적으로 제2 이중화 상태 정보 메시지를 수신하여 상기 제2 분산 시스템의 고장 여부를 판단할 수 있다.When the first distributed system is set as the master node, the first distributed system periodically generates a first duplicated state information message for determining a failure, and transmits the generated first duplicated state information message to the second distributed system , And may periodically receive a second duplication state information message from the second distributed system to determine whether the second distributed system is malfunctioning.

또한, 상기 제2 분산 시스템은 상기 제1 분산 시스템으로부터 제1 이중화 상태 정보 메시지를 수신하지 못하면, 상기 제1 분산 시스템이 고장 상태라고 판단하고, 그 판단한 결과에 따라 상기 슬레이브 노드에서 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공할 수 있다.If the second distributed system does not receive the first duplicated state information message from the first distributed system, the second distributed system determines that the first distributed system is in a failure state. In response to the determination, the slave node And can provide the web service to the user terminal.

또한, 상기 제1 이중화 상태 정보 메시지는 제1 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하고, 상기 제2 이중화 상태 정보 메시지는 제2 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함할 수 있다.In addition, the first duplication state information message includes an IP address of the first distributed system, a state value indicating whether the active mode or the standby mode, and the second duplication state information message includes an IP address of the second distributed system, And a status value indicating whether the apparatus is in a standby mode.

또한, 상기 제2 분산 시스템은 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지에 전달된 시간을 추가하여 저장할 수 있다.In addition, the second distribution system may provide a web service to the user terminal, and may store a time added to a predefined message related to the web service.

본 발명의 다른 한 관점에 따른 이중화 서비스를 제공하기 위한 방법은 제1 분산 시스템이 마스터 노드로 설정되어 사용자 단말에 웹 서비스를 제공하는 단계; 제2 분산 시스템이 상기 제1 분산 시스템이 고장 상황인 경우 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지를 저장하는 단계; 및 상기 제2 분산 시스템이 상기 제1 분산 시스템이 고장 복구된 경우 마스터 노드로 동작 유지되고 상기 저장된 메시지를 상기 제1 분산 시스템에 전송하는 단계을 포함할 수 있다.According to another aspect of the present invention, there is provided a method for providing a duplicated service, the method comprising: providing a web service to a user terminal, the first distributed system being set as a master node; Storing a predefined message related to the web service while providing a web service to the user terminal when the second distributed system is changed to the master node when the first distributed system is in a failure state; And maintaining the second distributed system as a master node when the first distributed system is failed and sending the stored messages to the first distributed system.

또한, 상기 제공하는 단계는 상기 제1 분산 시스템이 전원이 인가되면 현재 시각을 기준으로 제1 이중화 시리얼 번호를 생성하여 상기 생성된 제1 이중화 시리얼 번호를 상기 제2 분산 시스템의 제2 이중화 시리얼 번호와 교환하고, 상기 제1 이중화 시리얼 번호와 상기 제2 이중화 시리얼 번호를 비교하여 그 비교한 결과에 따라 상기 마스터 노드로 설정될 수 있다.In addition, in the providing step, the first distributed system generates a first duplicated serial number based on the current time when the first distributed system is powered on, and transmits the generated first duplicated serial number to the second duplicated serial number And the first duplicated serial number and the second duplicated serial number are compared with each other, and can be set as the master node according to the comparison result.

또한, 상기 제공하는 단계는 상기 제1 이중화 시리얼 번호가 상기 제2 분산 시스템의 제2 이중화 시리얼 번호보다 작으면, 상기 마스터 노드로 설정될 수 있다.In addition, the providing step may be set as the master node if the first duplication serial number is smaller than the second duplication serial number of the second distribution system.

또한, 상기 저장하는 단계는 상기 제2 분산 시스템이 고장 여부를 판단하기 위한 제2 이중화 상태 정보 메시지를 주기적으로 생성하여 상기 생성된 제2 이중화 상태 정보 메시지를 상기 제1 분산 시스템에 전송하고, 상기 제1 분산 시스템으로부터 주기적으로 제1 이중화 상태 정보 메시지를 수신하여 상기 제1 분산 시스템의 고장 여부를 판단할 수 있다.In addition, the storing step periodically generates a second duplication state information message for determining whether the second distributed system has failed, and transmits the generated second duplication state information message to the first distributed system, It is possible to periodically determine the failure of the first distributed system by receiving the first redundant status information message from the first distributed system.

또한, 상기 저장하는 단계는 상기 제1 분산 시스템으로부터 제1 이중화 상태 정보 메시지를 수신하지 못하면, 상기 제1 분산 시스템이 고장 상태라고 판단하고, 그 판단한 결과에 따라 상기 슬레이브 노드에서 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공할 수 있다.If the first distributed state information message is not received from the first distributed system, the storing step determines that the first distributed system is in a failure state, and changes from the slave node to the master node according to the determination result And provides the web service to the user terminal.

또한, 상기 제1 이중화 상태 정보 메시지는 제1 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하고, 상기 제2 이중화 상태 정보 메시지는 제2 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함할 수 있다.In addition, the first duplication state information message includes an IP address of the first distributed system, a state value indicating whether the active mode or the standby mode, and the second duplication state information message includes an IP address of the second distributed system, And a status value indicating whether the apparatus is in a standby mode.

또한, 상기 저장하는 단계는 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지에 전달된 시간을 추가하여 저장할 수 있다.Also, the storing step may store the time passed in the predefined message related to the web service while providing the web service to the user terminal.

이처럼, 본 발명은 마스터로 설정된 제1 분산 시스템을 활성화하여 운영하는 중 제1 분산 시스템의 고장 상황 시 제2 분산 시스템을 마스터로 변경하여 활성하고 데이터베이스를 변경시킬 수 있는 메시지를 저장한 후 고장 복구 시 저장된 메시지를 이용하여 데이터베이스를 복구시키도록 함으로써, 시스템의 고장에 의한 중단 없이 서비스를 제공할 수 있다.As described above, according to the present invention, when a first distributed system set as a master is activated and operated, a second distributed system is changed to a master in the event of a failure of the first distributed system, and a message capable of changing the database is stored, The service can be provided without interruption due to the failure of the system.

또한 본 발명은 고장 복구 시 미리 저장된 데이터베이스 변경 관련 메시지를 제1 분산 시스템에서 재 실행하기 때문에 두 시스템 간의 데이터베이스 일치를 보장할 수 있다.Further, the present invention re-executes the database change related message stored in advance in the failure recovery in the first distributed system, so that database matching between the two systems can be guaranteed.

도 1은 본 발명의 일 실시예에 따른 이중화 서비스를 제공하기 위한 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 시스템을 운영하기 위한 방법을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 시스템의 상세한 구성을 나타내는 도면이다.
도 4는 전체 시스템이 정상적으로 운영되는 경우 동작 원리를 설명하기 위한 도면이다.
도 5는 제1 분산 시스템이 고장 상황인 경우 동작 원리를 설명하기 위한 도면이다.
도 6은 제1 분산 시스템이 복구 과정인 경우 동작 원리를 설명하기 위한 도면이다.
도 7은 제1 분산 시스템이 복구 완료된 경우 동작 원리를 설명하기 위한 도면이다.
1 is a diagram illustrating a system for providing a duplicated service according to an embodiment of the present invention.
2 is a diagram illustrating a method for operating a system in accordance with an embodiment of the present invention.
3 is a diagram showing a detailed configuration of a system according to an embodiment of the present invention.
4 is a diagram for explaining the operation principle when the entire system is normally operated.
5 is a diagram for explaining the operation principle when the first distributed system is in a failure state.
6 is a diagram for explaining the operation principle when the first distributed system is a recovery process.
7 is a diagram for explaining the operation principle when the first distributed system is restored.

이하에서는, 본 발명의 실시예에 따른 데이터베이스 기반 이중화 서비스를 제공하기 위한 시스템 및 그 방법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 상세히 설명한다.Hereinafter, a system and method for providing a database-based replication service according to an embodiment of the present invention will be described with reference to the accompanying drawings. The present invention will be described in detail with reference to the portions necessary for understanding the operation and operation according to the present invention.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.In describing the constituent elements of the present invention, the same reference numerals may be given to constituent elements having the same name, and the same reference numerals may be given thereto even though they are different from each other. However, even in such a case, it does not mean that the corresponding component has different functions according to the embodiment, or does not mean that the different components have the same function. It should be judged based on the description of each component in the example.

특히, 본 발명에서는 메시징 미들웨어 환경에서 마스터로 설정된 제1 분산 시스템을 활성화하여 운영하는 중 제1 분산 시스템의 고장 상황 시 제2 분산 시스템을 마스터로 변경하여 활성하고 데이터베이스를 변경시킬 수 있는 메시지를 저장한 후 고장 복구 시 저장된 메시지를 이용하여 데이터베이스를 복구하도록 한 새로운 방안을 제안한다.In particular, in the present invention, when a first distributed system set as a master in a messaging middleware environment is activated and operated, a second distributed system is changed to a master in a failure state of the first distributed system, and a message capable of changing the database is stored We propose a new method to recover the database by using the stored messages in case of failure recovery.

본 발명의 기반이 되는 메시징 미들웨어 환경은 동일한 통신 네트워크 상에서 실시간으로 발행(publish)되는 다수의 메시지 중 각각의 서브 시스템이 필요로 하는 메시지만을 선택적으로 구독(subscribe)하여 처리하는 구조를 일컫는다.The messaging middleware environment on which the present invention is based refers to a structure that selectively subscribes and processes only a message required by each subsystem among a plurality of messages published in real time on the same communication network.

도 1은 본 발명의 일 실시예에 따른 이중화 서비스를 제공하기 위한 시스템을 나타내는 도면이다.1 is a diagram illustrating a system for providing a duplicated service according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이중화 서비스를 제공하기 위한 시스템은 제1 분산 시스템(100), 제2 분산 시스템(200)을 포함할 수 있다.As shown in FIG. 1, a system for providing a duplicated service according to an embodiment of the present invention may include a first distributed system 100, a second distributed system 200, and the like.

제1 분산 시스템(100)은 활성화 모드로 동작하는 마스터 노드로 설정되어 통신 네트워크를 통해 전송되는 메시지를 기반으로 데이터베이스를 갱신하고 갱신된 데이터베이스를 기반으로 사용자 단말 즉, 사용자 어플리케이션에 웹 서비스를 제공할 수 있다.The first distributed system 100 is set as a master node operating in an active mode and updates a database based on a message transmitted through a communication network and provides a web service to a user terminal, that is, a user application, based on the updated database .

제2 분산 시스템(200)은 대기 상태로 동작하는 슬레이브 노드로 설정되어 통신 네트워크를 통해 전송되는 메시지를 기반으로 데이터베이스를 갱신하고 제1 분산 시스템(100)이 고장 상태가 되면 마스터 노드로 변경되어 지속적으로 통신 네트워크를 통해 전송되는 메시지를 기반으로 데이터베이스를 갱신하고 갱신된 데이터베이스를 기반으로 사용자 단말 즉, 사용자 어플리케이션에 웹 서비스를 제공할 수 있다.The second distributed system 200 is set as a slave node operating in a standby state and updates the database based on a message transmitted through the communication network. When the first distributed system 100 is in a failure state, The user terminal can update the database based on the message transmitted through the communication network and provide the web service to the user terminal, that is, the user application based on the updated database.

제2 분산 시스템(200)은 제1 분산 시스템(100)이 고장 상태에서 통신 네트워크를 통해 전송되는 메시지 중 미리 정의된 메시지를 저장해 두었다가 제1 분산 시스템(100)이 고장 복구가 되면 저장해 두었던 메시지를 전송하여 반영하도록 할 수 있다.The second distributed system 200 stores a predefined message among the messages transmitted through the communication network in the faulty state of the first distributed system 100 and transmits a message that has been stored when the first distributed system 100 is fault- It can be transmitted and reflected.

도 2는 본 발명의 일 실시예에 따른 시스템을 운영하기 위한 방법을 나타내는 도면이다.2 is a diagram illustrating a method for operating a system in accordance with an embodiment of the present invention.

도 2에 도시한 바와 같이, 제1 분산 시스템(100)은 전원이 인가되면 현재 시각을 기준으로 제1 이중화 시리얼 번호(Duplication Serial Number; DSN)를 생성하여 생성된 제1 이중화 시리얼 번호를 제2 분산 시스템의 제2 이중화 시리얼 번호와 교환할 수 있다(S201).As shown in FIG. 2, the first distributed system 100 generates a first duplication serial number (DSN) based on the current time when power is applied, May be exchanged with the second duplication serial number of the distributed system (S201).

이때, 이중화 시리얼 번호는 전체 시스템 시작 시 양쪽의 분산 시스템을 각각 마스터 노드, 슬레이브 노드로 설정하기 위해 각 시스템에서 생성되는 고유 값이다.At this time, the duplicated serial number is a unique value generated by each system in order to set both distributed systems as a master node and a slave node at the start of the entire system.

이러한 이중화 시리얼 번호는 해당 시스템의 시간을 조합하여 생성하는 것으로서, 년, 월, 일, 시, 분, 초, 밀리 초의 조합으로 생성된다. 예컨대, 한 시스템에서 2016년9월1일10시10분10초~11초 사이의 시간에 이중화 시리얼 번호가 생성되는 경우 해당 시스템의 이중화 시리얼 번호는 20160901101010XXX가 된다.Such a duplicated serial number is generated by combining the time of the relevant system, and is generated by a combination of year, month, day, hour, minute, second, and millisecond. For example, if a system generates a duplicate serial number between 10:10:10 and 11 seconds on September 1, 2016, the duplicate serial number of that system will be 20160901101010XXX.

다음으로, 제1 분산 시스템(100)은 제1 이중화 시리얼 번호와 제2 이중화 시리얼 번호를 비교하여(S202) 그 비교한 결과에 따라 활성화 모드가 되어(S203) 자신이 제공하는 웹 사이트를 마스터 노드로 설정할 수 있다(S204).Next, the first distributed system 100 compares the first duplicated serial number with the second duplicated serial number (S202). Then, the first distributed system 100 enters the active mode according to the comparison result (S203) (S204).

반면 제2 분산 시스템(200)은 제1 이중화 시리얼 번호와 제2 이중화 시리얼 번호를 비교하여 그 비교한 결과에 따라 대기 상태가 되어(S207) 자신이 제공하는 웹 사이트를 슬레이브 노드로 설정할 수 있다(S208).On the other hand, the second distributed system 200 compares the first duplicated serial number with the second duplicated serial number, and sets the web site provided by the second distributed system 200 as a slave node according to the comparison result (S207) S208).

이때, 이중화 시리얼 번호를 상대 시스템과 교환하여 상대 시스템의 이중화 시리얼 번호가 내 시스템의 이중화 시리얼 번호보다 작을 경우 즉, 먼저 생성되었을 경우 상대방 시스템을 마스터 노드, 내 시스템을 슬레이브 노드로 설정한다.In this case, if the duplicated serial number of the partner system is smaller than the duplicated serial number of the internal system by exchanging the duplicated serial number with the partner system, that is, if the duplicated serial number is generated first, the partner system is set as the master node and the internal system is set as the slave node.

다음으로, 제1 분산 시스템(100)은 다수의 서브 시스템을 구동시켜(S205) 구동시킨 서브 시스템을 이용하여 통신 네트워크를 통해 전송되는 메시지를 기반으로 데이터베이스를 갱신하고, 이중화 상태 정보 메시지를 주기적으로 송신 또는 수신할 수 있다(S206).Next, the first distributed system 100 drives a plurality of subsystems (S205), updates the database based on a message transmitted through the communication network using the subsystem, and transmits a redundant status information message periodically (S206).

또한 제2 분산 시스템(200)은 다수의 서브 시스템을 구동시켜(S209) 구동시킨 서브 시스템을 이용하여 통신 네트워크를 통해 전송되는 메시지를 기반으로 데이터베이스를 갱신하고, 이중화 상태 정보 메시지를 주기적으로 송신 또는 수신할 수 있다(S210).Also, the second distributed system 200 drives a plurality of subsystems (S209), updates the database based on a message transmitted through the communication network using the subsystem, and transmits the duplicated status information message periodically (S210).

그 일예로, 제1 분산 시스템은 제1 이중화 상태 정보 메시지를 주기적으로 생성하여 생성된 제1 이중화 상태 정보 메시지를 제2 분산 시스템에 전송하고, 제2 분산 시스템으로부터 주기적으로 제2 이중화 상태 정보 메시지를 수신한다.For example, the first distributed system periodically generates a first redundant status information message to transmit the generated first redundant status information message to the second distributed system, and periodically generates a second redundant status information message from the second distributed system. .

다른 예로, 제2 분산 시스템은 제2 이중화 상태 정보 메시지를 주기적으로 생성하여 생성된 제2 이중화 상태 정보 메시지를 제1 분산 시스템에 전송하고, 제1 분산 시스템으로부터 주기적으로 제1 이중화 상태 정보 메시지를 수신한다.As another example, the second distribution system may periodically generate the second redundancy status information message to transmit the generated second redundancy status information message to the first distributed system, periodically transmit the first redundancy status information message from the first distributed system .

다음으로, 제1 분산 시스템 또는 제2 분산 시스템은 제2 이중화 상태 정보 메시지 또는 제1 이중화 상태 정보 메시지의 수신 여부에 따라 고장 여부를 판단할 수 있다(S211).Next, the first distributed system or the second distributed system can determine whether a failure has occurred according to whether the second redundancy state information message or the first redundancy state information message is received (S211).

다음으로, 제1 분산 시스템 또는 제2 분산 시스템은 자동 절체(take-over)를 수행할 수 있다(S212).Next, the first distributed system or the second distributed system may perform an automatic take-over (S212).

예컨대, 마스터 노드로 설정된 제1 분산 시스템이 고장 상태가 되면 제2 분산 시스템이 마스터 노드로 변경 설정되어 사용자 단말에 웹 서비스를 제공하면서 웹 서비스에 관련된 메시지 중 미리 정의된 메시지를 저장해 둘 수 있다.For example, when the first distributed system set as the master node is in a failure state, the second distributed system is changed to the master node, and the predefined message among the messages related to the web service can be stored while providing the web service to the user terminal.

다음으로, 제1 분산 시스템 또는 제2 분산 시스템은 이중화 복구 절차를 수행할 수 있다(S213).Next, the first distributed system or the second distributed system can perform the duplication restoration procedure (S213).

예컨대, 제2 분산 시스템은 제1 분산 시스템이 고장 복구된 경우 미리 저장해 둔 메시지를 제1 분산 시스템에 전송하여 데이터베이스에 반영하도록 할 수 있다.For example, when the first distributed system is fault-recovered, the second distributed system may transmit a message stored in advance to the first distributed system so that the message is reflected in the database.

도 3은 본 발명의 일 실시예에 따른 시스템의 상세한 구성을 나타내는 도면이다.3 is a diagram showing a detailed configuration of a system according to an embodiment of the present invention.

도 3에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이중화 서비스를 제공하기 위한 시스템은 제1 분산 시스템(100)과 제2 분산 시스템(200)으로 이루어지되, 제1 분산 시스템(100)은 제1 이중화 관리자 시스템(110), 제1 데이터베이스(120), 제1 서브 시스템(130) 등을 포함할 수 있다.3, a system for providing a duplicated service according to an exemplary embodiment of the present invention includes a first distributed system 100 and a second distributed system 200, May include a first redundancy manager system 110, a first database 120, a first subsystem 130, and so on.

제1 이중화 관리자 시스템(110)은 제2 분산 시스템으로부터 이중화 상태 정보 메시지를 수신하여 이중화 상태를 모니터링하고, 다수의 제1 서브 시스템을 관리할 수 있다.The first redundancy manager system 110 may receive a redundancy status information message from the second distributed system to monitor the redundancy status and manage multiple first subsystems.

이러한 제1 이중화 관리자 시스템(110)은 제1 이중화 상태 모니터링/복구 모듈(111), 제1 서브 시스템 관리 모듈(112), 제1 메시지 카탈로그 관리 모듈(113), 제1 메시지 저장/처리 모듈(114) 등으로 구성될 수 있다.This first duplication manager system 110 includes a first duplication state monitoring / recovery module 111, a first subsystem management module 112, a first message catalog management module 113, a first message storage / 114, and the like.

전체 시스템이 정상적으로 운영되는 경우 제1 이중화 상태 모니터링/복구 모듈(111)은 제2 분산 시스템 내 제2 이중화 상태 모니터링/복구 모듈과 이중화 상태 정보 메시지를 교환할 수 있다. 즉, 제1 이중화 상태 모니터링/복구 모듈(111)은 제1 이중화 상태 정보 메시지를 제2 분산 시스템 내 제2 이중화 상태 모니터링/복구 모듈에 송신하고, 제2 분산 시스템 내 제2 이중화 상태 모니터링/복구 모듈로부터 제2 이중화 상태 정보 메시지를 수신할 수 있다.If the entire system is operating normally, the first redundancy status monitoring / recovery module 111 may exchange duplication status information messages with the second redundancy status monitoring / recovery module in the second distributed system. That is, the first redundant status monitoring / repair module 111 transmits the first redundant status information message to the second redundant status monitoring / repair module in the second distributed system, and the second redundant status monitoring / And receive a second redundancy status information message from the module.

여기서, 이중화 상태 정보 메시지는 자신이 운영하는 사이트의 IP(Internet protocol) 주소와 활성화(active) 모드 또는 대기(standby) 모드를 나타내는 상태값을 포함할 수 있다.Here, the redundancy status information message may include an Internet protocol (IP) address of a site operated by the user and a status value indicating an active mode or a standby mode.

제1 이중화 상태 모니터링/복구 모듈(111)은 미리 정의되어 있는 제2 분산 시스템이 운영하는 사이트의 IP 주소와 상태값을 제2 이중화 상태 정보 메시지에 포함된 IP 주소와 상태값과 비교하여 그 비교한 결과로 정상 동작 여부를 판단할 수 있다.The first duplication state monitoring / restoring module 111 compares the IP address and the state value of the site operated by the predefined second distribution system with the IP address and the state value included in the second duplication state information message, As a result, normal operation can be determined.

이러한 이중화 상태 정보 메시지의 전송 주기는 시스템 관리자에 의해 정의될 수 있다.The transmission period of the redundant status information message may be defined by the system administrator.

제1 서브 시스템 관리 모듈(112)은 사이트 운영을 시작한 후 내부의 제1 서브 시스템들을 동작시키는 역할을 수행하고, 제1 서브 시스템들로부터 제1 서브 시스템 상태정보 메시지를 수신하여 해당 제1 서브 시스템들이 정상적으로 동작하는지를 판단할 수 있다.The first subsystem management module 112 is responsible for operating the internal first subsystems after starting the site operation and receives a first subsystem status information message from the first subsystems, It is possible to judge whether or not they are operating normally.

여기서, 제1 서브 시스템 상태정보 메시지는 제1 서브 시스템의 ID와 현재 시각을 포함할 수 있다.Here, the first subsystem status information message may include the ID of the first subsystem and the current time.

제1 메시지 카탈로그 관리 모듈(113)은 서브 시스템들이 구독하고 있는 메시지들 중 데이터베이스의 정보를 변경시킬 수 있는 변경 메시지를 미리 정의하여 등록 및 관리할 수 있다.The first message catalog management module 113 may define and register a change message that can change the information of the database among the messages subscribed to by the subsystems.

제1 메시지 저장/처리 모듈(114)은 상대방 사이트의 고장 상황 발생시에 통신 네트워크를 통해 구동되는 메시지 중 제1 메시지 카탈로그 관리 모듈(113)에 정의되어 있는 변경 메시지를 데이터베이스에 저장할 수 있다. 이때, 제1 메시지 저장/처리 모듈(114)은 변경 메시지를 그대로 데이터베이스에 저장하지 않고 메시지가 전달된 시각을 추가하여 저장할 수 있다.The first message storage / processing module 114 may store a change message defined in the first message catalog management module 113 among messages driven through the communication network at the time of occurrence of a failure situation of the partner site, in the database. At this time, the first message storing / processing module 114 may store the change message without adding the change message to the database, and store the added message.

제1 메시지 저장/처리 모듈(114)은 상대방 사이트의 고장 복구 과정에서 제1 이중화 상태 모니터링/복구 모듈(111)의 요청에 따라 데이터베이스에 저장된 변경 메시지를 조회하여 그 조회한 결과로 해당 변경 메시지를 전달하는 역할을 수행할 수 있다.The first message storage / processing module 114 inquires the change message stored in the database in response to a request from the first duplication state monitoring / restoring module 111 in the failure recovery process of the partner site, and as a result of the inquiry, And the like.

제1 데이터베이스(120)는 구독된 변경 메시지로부터 수집된 정보를 저장하여 관리할 수 있다.The first database 120 may store and manage information collected from the subscribed change messages.

제1 서브 시스템(130)은 통신 네트워크를 통해 필요로 하는 메시지를 구독하여 처리할 수 있다. 제1 서브 시스템(130)은 다수 개가 구비되어 각각이 필요로 하는 메시지를 선택적으로 구독하여 처리하되, 데이터베이스에 저장된 정보를 이용할 수 있다.The first subsystem 130 can subscribe to and process the messages that are needed over the communications network. A plurality of first subsystems 130 may be provided to selectively process and subscribe to messages required by the first subsystem 130, and may use the information stored in the database.

다수의 제1 서브 시스템(130) 모두가 데이터베이스에 정보를 추가 및 변경할 수 있지 않고, 그 중 일부 여기서는 제1 서브 시스템 n만이 데이터베이스 정보를 추가 및 변경할 수 있다.Not all of the plurality of first subsystems 130 can add and change information to the database, only some of which can add and change database information here.

다시 도 3을 참조하면, 본 발명의 일 실시예에 따른 제2 분산 시스템(200)은 제2 이중화 관리자 시스템(210), 제2 데이터베이스(220), 제2 서브 시스템(230) 등을 포함할 수 있다.3, a second distributed system 200 according to an embodiment of the present invention includes a second duplication manager system 210, a second database 220, a second subsystem 230, and the like .

제2 이중화 관리자 시스템(210)은 제2 이중화 상태 모니터링/복구 모듈(211), 제2 서브 시스템 관리 모듈(212), 제2 메시지 카탈로그 관리 모듈(213), 제2 메시지 저장/처리 모듈(214) 등으로 구성될 수 있다.The second duplication manager system 210 includes a second duplication state monitoring / recovery module 211, a second subsystem management module 212, a second message catalog management module 213, a second message storage / And the like.

이러한 제2 분산 시스템(200)의 구성은 상기 제1 분산 시스템(100)의 구성과 동일하고 그 역할 또한 동일하기 때문에 제2 분산 시스템의 구성에 대한 설명은 생략한다.Since the configuration of the second distributed system 200 is the same as that of the first distributed system 100 and the roles thereof are the same, the description of the configuration of the second distributed system 200 is omitted.

도 4는 전체 시스템이 정상적으로 운영되는 경우 동작 원리를 설명하기 위한 도면이다.4 is a diagram for explaining the operation principle when the entire system is normally operated.

도 4에 도시한 바와 같이, 본 발명의 일 실시예에 따른 마스터 노드로 설정된 제1 분산 시스템(100)이 정상적으로 운영되는 상황에서 동작 상태를 보여주고 있다.As shown in FIG. 4, an operation state of the first distributed system 100 set as a master node according to an embodiment of the present invention is shown.

이때 제1 분산 시스템(100)은 활성화 모드로 동작되어 마스터 노드로 운영되고, 제2 분산 시스템(200)은 대기 모드로 동작되어 슬레이브 노드로 운영될 수 있다.At this time, the first distributed system 100 operates in an active mode and operates as a master node, and the second distributed system 200 operates in a standby mode and can operate as a slave node.

제1 분산 시스템(100)의 동작을 살펴보면, 제1 이중화 상태 모니터링/복구 모듈(111)은 제1 이중화 상태 정보 메시지를 제2 이중화 상태 모니터링/복구 모듈(211)로 송신하고 제2 이중화 상태 모니터링/복구 모듈(211)로부터 제2 이중화 상태 정보 메시지를 수신하여 이중화 상태를 모니터링할 수 있다.Referring to the operation of the first distributed system 100, the first duplication state monitoring / restoring module 111 transmits a first duplication state information message to the second duplication state monitoring / restoring module 211, / Recovery module 211 to monitor the redundancy state.

제1 서브 시스템 관리 모듈(112)은 사이트 운영을 시작한 후 내부의 제1 서브 시스템들을 동작시키는 역할을 수행하고, 제1 서브 시스템들로부터 제1 서브 시스템 상태정보 메시지를 수신하여 해당 제1 서브 시스템들이 정상적으로 동작하는지를 판단할 수 있다.The first subsystem management module 112 is responsible for operating the internal first subsystems after starting the site operation and receives a first subsystem status information message from the first subsystems, It is possible to judge whether or not they are operating normally.

제1 서브 시스템(130)은 통신 네트워크를 통해 필요로 하는 메시지를 구독하여 처리하되, 그 중 일부 제1 서브 시스템 n만이 데이터베이스 정보를 추가 및 변경할 수 있다.The first subsystem 130 subscribes to and processes the required messages over the communication network, only some first subsystem n of which can add and modify database information.

제2 분산 시스템(200)의 동작을 살펴보면, 제2 이중화 상태 모니터링/복구 모듈(211)은 제2 이중화 상태 정보 메시지를 제1 이중화 상태 모니터링/복구 모듈(111)로 송신하고 제1 이중화 상태 모니터링/복구 모듈(111)로부터 제1 이중화 상태 정보 메시지를 수신하여 이중화 상태를 모니터링할 수 있다.In operation of the second distributed system 200, the second redundant status monitoring / repair module 211 transmits a second redundant status information message to the first redundant status monitoring / repair module 111, / Repair module 111 to monitor the redundancy state.

제2 서브 시스템 관리 모듈(212)은 사이트 운영을 시작한 후 내부의 제2 서브 시스템들을 동작시키는 역할을 수행하고, 제2 서브 시스템들로부터 제2 서브 시스템 상태정보 메시지를 수신하여 해당 제2 서브 시스템들이 정상적으로 동작하는지를 판단할 수 있다.The second subsystem management module 212 is responsible for operating the internal second subsystems after starting the site operation, receiving a second subsystem status information message from the second subsystems, It is possible to judge whether or not they are operating normally.

제2 서브 시스템(230)은 통신 네트워크를 통해 필요로 하는 메시지를 구독하여 처리하되, 그 중 일부 제2 서브 시스템 n만이 데이터베이스 정보를 추가 및 변경할 수 있다.The second subsystem 230 subscribes to and processes the required messages over the communication network, only some of the second subsystem n can add and modify database information.

도 5는 제1 분산 시스템이 고장 상황인 경우 동작 원리를 설명하기 위한 도면이다.5 is a diagram for explaining the operation principle when the first distributed system is in a failure state.

도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제1 분산 시스템(100)이 고장 상황이 발생하여 제1 이중화 관리자 시스템(110)에서 고장을 탐지하는 경우를 보여주고 있다.As shown in FIG. 5, a first distributed system 100 according to an embodiment of the present invention detects a failure in the first redundant manager system 110 due to a failure.

그 일예로, 제1 서브 시스템 관리 모듈(112)은 주기적으로 다수의 제1 서브 시스템으로부터 서브 시스템 상태정보 메시지를 수신하는데, 하나의 제1 서브 시스템이라도 정해진 주기 동안 서브 시스템 상태정보 메시지가 수신되지 않으면 이러한 상황을 제1 이중화 상태 모니터링/복구 모듈(111)에 알려줄 수 있다.In one example, the first subsystem management module 112 periodically receives a subsystem status information message from a plurality of first subsystems, wherein even in a first subsystem, subsystem status information messages are not received for a predetermined period of time This situation can be notified to the first duplication state monitoring / restoring module 111. [

이에 제1 이중화 상태 모니터링/복구 모듈(111)은 제1 이중화 상태정보 메시지를 상대방 즉, 제2 분산 시스템 내 제2 이중화 상태 모니터링/복구 모듈에 송신하지 않는다.The first duplication state monitoring / restoring module 111 does not transmit the first duplication state information message to the other party, i.e., the second duplication state monitoring / restoring module in the second distributed system.

다른 예로, 메시징 미들웨어를 통해 정상적으로 메시지가 수신되지 않거나 사용자 단말과의 통신 상태가 비 정상적인 경우에도 제1 이중화 상태 모니터링/복구 모듈(111)은 제1 이중화 상태정보 메시지를 상대방 즉, 제2 분산 시스템 내 제2 이중화 상태 모니터링/복구 모듈에 송신하지 않게 되어 고장 상태로 인식된다.As another example, even if the message is not normally received through the messaging middleware or the communication state with the user terminal is abnormal, the first duplication state monitoring / restoring module 111 transmits the first duplication state information message to the other party, It is not transmitted to the second redundant-state monitoring / recovery module and is recognized as a failure state.

제2 이중화 상태 모니터링/복구 모듈(211)은 상대방 즉, 제1 분산 시스템 또는 제1 분산 시스템이 운영하는 사이트가 고장 상황임을 판단하고, 자신 즉, 제2 분산 시스템 또는 제2 분산 시스템이 운영하는 사이트를 마스터 노드로 설정하고 대기 모드에서 활성화 모드로 전환할 수 있다.The second duplication state monitoring / restoring module 211 judges that the site operated by the other side, that is, the first distributed system or the first distributed system, is in a failure state, and judges that the site operated by the second distributed system or the second distributed system You can set the site as a master node and switch from standby to active mode.

물론, 제2 분산 시스템이 마스터 노드로 설정되어 있는 경우에는 해당하지 않는다.Of course, this does not apply when the second distributed system is set as a master node.

제2 이중화 상태 모니터링/복구 모듈(211)은 고장 상황을 제2 메시지 저장/처리 모듈(214)에 알려줄 수 있다.The second redundancy status monitoring / repair module 211 may inform the second message storage / processing module 214 of a failure situation.

제2 메시지 저장/처리 모듈(214)은 상기 고장 상황을 인지한 후 제2 메시지 카탈로그 관리 모듈(113)에 의해 정의된 변경 메시지가 메시징 미들웨어를 통해 수신되면 해당 변경 메시지에 현재의 시각을 추가한 후 제2 데이터베이스(220)에 저장할 수 있다.When the change message defined by the second message catalog management module 113 is received through the messaging middleware after recognizing the failure status, the second message storage / processing module 214 adds the current time to the change message And then stored in the second database 220.

도 6은 제1 분산 시스템이 복구 과정인 경우 동작 원리를 설명하기 위한 도면이다.6 is a diagram for explaining the operation principle when the first distributed system is a recovery process.

도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제1 분산 시스템(100)이 고장 상황 발생 후 고장 상황으로부터 복구하는 경우를 보여주고 있다.As shown in FIG. 6, there is shown a case where the first distributed system 100 according to an embodiment of the present invention recovers from a failure situation after occurrence of a failure situation.

먼저, 제1 분산 시스템(100)은 전원이 인가되어 제1 이중화 시리얼 번호를 제2 분산 시스템(200)의 제2 이중화 시리얼 번호와 교환하고 제1 이중화 시리얼 번호와 제2 이중화 시리얼 번호를 비교하여 대기 모드로 설정한 후 슬레이브 노드로 설정할 수 있다.First, the first distributed system 100 is powered on to exchange the first duplicated serial number with the second duplicated serial number of the second distributed system 200, and compares the first duplicated serial number with the second duplicated serial number You can set it as a slave node after setting it to standby mode.

다음으로, 제1 이중화 상태 모니터링/복구 모듈(111)은 제1 이중화 상태정보 메시지를 제2 이중화 상태 모니터링/복구 모듈(211)에 송신하고 제2 이중화 상태 모니터링/복구 모듈(211)로부터 제2 이중화 상태정보 메시지를 수신할 수 있다.Next, the first duplication state monitoring / restoring module 111 sends a first duplication state information message to the second duplication state monitoring / restoring module 211 and a second duplication state monitoring / A redundant status information message can be received.

다음으로, 제2 이중화 상태 모니터링/복구 모듈(211)은 제1 이중화 상태정보 메시지를 수신하면, 제2 메시지 저장/처리 모듈(214)에 제2 데이터베이스에 저장된 이중화 데이터 메시지를 요청할 수 있다.Next, the second duplication state monitoring / restoring module 211 may request the duplicated data message stored in the second database to the second message storage / processing module 214 upon receiving the first duplication state information message.

다음으로, 제2 메시지 저장/처리 모듈(214)은 제2 데이터베이스를 조회하여 그 조회한 결과로 미리 저장해둔 이중화 데이터 메시지를 제2 이중화 상태 모니터링/복구 모듈(211)에 전송할 수 있다.Next, the second message storage / processing module 214 may inquire the second database and transmit the duplicated data message stored in advance as a result of the inquiry to the second duplication state monitoring / restoring module 211.

다음으로, 제2 이중화 상태 모니터링/복구 모듈(211)은 제공 받은 이중화 데이터 메시지를 제1 메시지 저장/처리 모듈(114)에 전송할 수 있다.Next, the second duplication state monitoring / recovery module 211 may transmit the provided duplicated data message to the first message storage / processing module 114.

다음으로, 제1 메시지 저장/처리 모듈(114)은 이중화 데이터 메시지를 수신하면, 수신된 이중화 데이터 메시지가 어떤 서브 시스템에서 수행되어야 할 메시지인지를 제1 메시지 카탈로그 관리 모듈(113)를 조회하여 확인할 수 있다.Next, when receiving the duplicated data message, the first message storing / processing module 114 inquires the first message catalog management module 113 to determine which subsystem the received duplicated data message should be executed in, .

다음으로, 제1 메시지 저장/처리 모듈(114)은 그 조회한 결과에 따라 이중화 데이터 메시지로부터 저장 시간을 제거한 변경 메시지를 추출하여 해당 제1 서브 시스템에 전송할 수 있다.Next, the first message storage / processing module 114 extracts a change message from which the storage time is removed from the duplicated data message according to the inquiry result, and transmits the modified message to the first subsystem.

다음으로, 제1 서브 시스템(130)은 변경 메시지를 수신하면 수신된 변경 메시지를 기반으로 프로세싱을 수행하여 데이터베이스에 저장된 정보를 변경할 수 있다.Next, when the first subsystem 130 receives the change message, the first subsystem 130 may perform processing based on the received change message to change information stored in the database.

이때, 데이터베이스 복구 과정이 수행되는 동안 제1 이중화 상태 모니터링/복구 모듈(111)은 메시징 미들웨어를 통해 수신되는 메시지들이 제1 서브 시스템으로 전달되지 않도록 제어할 수 있다. 이러한 이유는 데이터베이스 복구 수행 중 다른 변경 연산이 발생하게 되면 데이터베이스의 일관성이 보장되지 않기 때문이다.At this time, while the database restoration process is being performed, the first duplication state monitoring / restoring module 111 may control the messages received through the messaging middleware not to be delivered to the first subsystem. This is because database inconsistency is not guaranteed if other change operations occur during database recovery.

데이터베이스 복구 과정이 완료되면 제1 메시지 저장/처리 모듈(114)은 이를 제1 이중화 상태 모니터링/복구 모듈(111)에 통보하고, 제1 이중화 상태 모니터링/복구 모듈(111)은 메시징 미들웨어를 통해 메시지를 정상적으로 수신하도록 제어할 수 있다.When the database restoration process is completed, the first message storage / processing module 114 notifies the first duplication state monitoring / restoring module 111, and the first duplication state monitoring / restoring module 111 notifies the message through the messaging middleware To be normally received.

도 7은 제1 분산 시스템이 복구 완료된 경우 동작 원리를 설명하기 위한 도면이다.7 is a diagram for explaining the operation principle when the first distributed system is restored.

도 7에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제1 분산 시스템(100)이 고장 상황 발생 후 고장 상황으로부터 복구 완료한 경우를 보여주고 있다.As shown in FIG. 7, the first distributed system 100 according to an embodiment of the present invention shows a case where recovery from a fault situation is completed after a fault situation has occurred.

제1 분산 시스템(100)이 고장 상태에서 정상 상태로 복귀되더라도 고장 상태에서 설정된 대로 제2 분산 시스템(200)은 계속해서 활성화 모드에서 마스터 노드로 운영되고 제1 분산 시스템(100)은 대기 모드에서 슬레이브로 노드로 운영될 수 있다.Even if the first distributed system 100 returns from the failure state to the normal state, the second distributed system 200 continues to operate as the master node in the active mode and the first distributed system 100 operates in the standby mode It can be operated as a node as a slave.

한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.It is to be understood that the present invention is not limited to these embodiments, and all of the elements constituting the embodiments of the present invention described above may be combined or operated in one operation. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. In addition, such a computer program may be stored in a computer-readable medium such as a USB memory, a CD disk, a flash memory, etc., and read and executed by a computer to implement embodiments of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included.

이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or essential characteristics thereof. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: 제1 분산 시스템
200: 제2 분산 시스템
100: first distributed system
200: second distributed system

Claims (14)

마스터 노드로 설정되어 사용자 단말에 웹 서비스를 제공하는 제1 분산 시스템; 및
상기 제1 분산 시스템이 고장 상황인 경우 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지를 저장하고, 상기 제1 분산 시스템이 고장 복구된 경우 마스터 노드로 동작 유지되고 상기 저장된 메시지를 상기 제1 분산 시스템에 전송하는 제2 분산 시스템;
복수의 상기 메시지들 중 정보를 변경시키고자 하는 변경 메시지를 미리 정의하여 등록 및 관리하는 제1 메시지 카탈로그 관리모듈; 및
통신 네트워크를 통해 상기 메시지들 중 필요로 하는 메시지를 선택적으로 구독하여 처리하는 제1 서브 시스템;을 포함하되,
상기 제1 분산 시스템의 시작 시간에 따라 생성되는 제1 이중화 시리얼 번호와, 상기 제2 분산 시스템의 시작 시간에 따라 생성되는 제2 이중화 시리얼 번호를 비교하여, 더 작은 시리얼 번호의 분산 시스템이 상기 마스터 노드로 설정되는 것을 특징으로 하는, 이중화 서비스를 제공하기 위한 시스템.
A first distributed system set up as a master node and providing a web service to a user terminal; And
Wherein the first distributed system is changed to the master node to store a predefined message related to the web service while providing the web service to the user terminal, and if the first distributed system is fault- A second distributed system operatively coupled to the node and transmitting the stored message to the first distributed system;
A first message catalog management module for predefining and registering and managing a change message to change information among a plurality of the messages; And
And a first subsystem for selectively subscribing and processing messages needed among the messages over a communications network,
Comparing a first duplicated serial number generated according to a start time of the first distributed system with a second duplicated serial number generated according to a start time of the second distributed system, Node as a node. ≪ Desc / Clms Page number 13 >
제1 항에 있어서,
상기 제1 분산 시스템은,
전원이 인가되면 현재 시각을 기준으로 상기 제1 이중화 시리얼 번호를 생성하여 상기 생성된 제1 이중화 시리얼 번호를 상기 제2 분산 시스템의 상기 제2 이중화 시리얼 번호와 교환하는, 이중화 서비스를 제공하기 위한 시스템.
The method according to claim 1,
Wherein the first distribution system comprises:
Generating a first redundant serial number based on a current time when power is applied and exchanging the generated first redundant serial number with the second redundant serial number of the second distributed system, .
삭제delete 제1 항에 있어서,
상기 제1 분산 시스템은,
상기 마스터 노드로 설정되면, 고장 여부를 판단하기 위한 제1 이중화 상태 정보 메시지를 주기적으로 생성하여 상기 생성된 제1 이중화 상태 정보 메시지를 상기 제2 분산 시스템에 전송하고,
상기 제2 분산 시스템으로부터 주기적으로 제2 이중화 상태 정보 메시지를 수신하여 상기 제2 분산 시스템의 고장 여부를 판단하는, 이중화 서비스를 제공하기 위한 시스템.
The method according to claim 1,
Wherein the first distribution system comprises:
Wherein the first node is configured to periodically generate a first redundancy state information message for determining whether a failure occurs in the master node and transmit the generated first redundancy state information message to the second distributed system,
And receiving a second redundancy state information message periodically from the second distributed system to determine whether the second distributed system is faulty.
제4 항에 있어서,
상기 제2 분산 시스템은,
상기 제1 분산 시스템으로부터 제1 이중화 상태 정보 메시지를 수신하지 못하면, 상기 제1 분산 시스템이 고장 상태라고 판단하고,
그 판단한 결과에 따라 미리 설정된 슬레이브 노드에서 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하는, 이중화 서비스를 제공하기 위한 시스템.
5. The method of claim 4,
The second distribution system comprising:
Wherein if the first distributed state information message is not received from the first distributed system, it is determined that the first distributed system is in a failure state,
And changing the master node from a predetermined slave node to provide the web service to the user terminal according to the determination result.
제4 항에 있어서,
상기 제1 이중화 상태 정보 메시지는 제1 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하고,
상기 제2 이중화 상태 정보 메시지는 제2 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하는, 이중화 서비스를 제공하기 위한 시스템.
5. The method of claim 4,
Wherein the first duplication state information message includes an IP address of the first distributed system, a state value indicating whether the first distributed state information is in an active mode or a standby mode,
Wherein the second redundancy state information message comprises an IP address of the second distributed system and a state value indicating whether the active state or the standby state is the standby state.
제1 항에 있어서,
상기 제2 분산 시스템은,
상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지에 전달된 시간을 추가하여 저장하는, 이중화 서비스를 제공하기 위한 시스템.
The method according to claim 1,
The second distribution system comprising:
Wherein the web service is provided to the user terminal and the time passed to the predefined message related to the web service is added and stored.
제1 분산 시스템이 마스터 노드로 설정되어 사용자 단말에 웹 서비스를 제공하는 단계;
제2 분산 시스템이 상기 제1 분산 시스템이 고장 상황인 경우 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지를 저장하고, 복수의 상기 메시지들 중 정보를 변경시키고자 하는 변경 메시지를 미리 정의하여 등록 및 관리하는 단계; 및
상기 제2 분산 시스템이 상기 제1 분산 시스템이 고장 복구된 경우 마스터 노드로 동작 유지되고 통신 네트워크를 통해 상기 저장된 메시지들 중 필요로 하는 메시지를 선택적으로 구독하여 처리하며, 상기 저장된 메시지들을 상기 제1 분산 시스템에 전송하는 단계;
를 포함하되, 상기 제1 분산 시스템의 시작 시간에 따라 생성되는 제1 이중화 시리얼 번호와, 상기 제2 분산 시스템의 시작 시간에 따라 생성되는 제2 이중화 시리얼 번호를 비교하여, 더 작은 시리얼 번호의 분산 시스템이 상기 마스터 노드로 설정되는 것을 특징으로 하는, 이중화 서비스를 제공하기 위한 방법.
The first distributed system is set as a master node to provide a web service to a user terminal;
The second distributed system changes to the master node when the first distributed system is in a failure state and stores a predefined message related to the web service while providing the web service to the user terminal, Defining and registering and managing a change message to change information; And
Wherein the second distributed system is maintained as a master node when the first distributed system is faulted and selectively processes and subscribes messages needed among the stored messages over a communication network, To a distributed system;
Wherein a first duplicated serial number generated according to a start time of the first distributed system and a second duplicated serial number generated according to a start time of the second distributed system are compared with each other, Wherein the system is configured as the master node.
제8 항에 있어서,
상기 제공하는 단계는,
상기 제1 분산 시스템이 전원이 인가되면 현재 시각을 기준으로 상기 제1 이중화 시리얼 번호를 생성하여 상기 생성된 제1 이중화 시리얼 번호를 상기 제2 분산 시스템의 상기 제2 이중화 시리얼 번호와 교환하는, 이중화 서비스를 제공하기 위한 방법.
9. The method of claim 8,
Wherein the providing step comprises:
Generating a first duplicated serial number based on a current time when the first distributed system is powered on and exchanging the generated first duplicated serial number with the second duplicated serial number of the second distributed system, A method for providing a service.
삭제delete 제8 항에 있어서,
상기 저장하는 단계는,
상기 제2 분산 시스템이 고장 여부를 판단하기 위한 제2 이중화 상태 정보 메시지를 주기적으로 생성하여 상기 생성된 제2 이중화 상태 정보 메시지를 상기 제1 분산 시스템에 전송하고,
상기 제1 분산 시스템으로부터 주기적으로 제1 이중화 상태 정보 메시지를 수신하여 상기 제1 분산 시스템의 고장 여부를 판단하는, 이중화 서비스를 제공하기 위한 방법.
9. The method of claim 8,
Wherein the storing step comprises:
Wherein the second distributed state information message is generated by periodically generating a second duplicated state information message for determining whether the second distributed system has a failure and transmitting the generated second duplicated state information message to the first distributed system,
And receiving a first redundancy state information message periodically from the first distributed system to determine whether the first distributed system is faulty.
제11 항에 있어서,
상기 저장하는 단계는,
상기 제1 분산 시스템으로부터 제1 이중화 상태 정보 메시지를 수신하지 못하면, 상기 제1 분산 시스템이 고장 상태라고 판단하고,
그 판단한 결과에 따라 미리 설정된 슬레이브 노드에서 상기 마스터 노드로 변경 설정되어 상기 사용자 단말에 웹 서비스를 제공하는, 이중화 서비스를 제공하기 위한 방법.
12. The method of claim 11,
Wherein the storing step comprises:
Wherein if the first distributed state information message is not received from the first distributed system, it is determined that the first distributed system is in a failure state,
And changing the master node from a predetermined slave node according to a result of the determination, and providing the web service to the user terminal.
제11 항에 있어서,
상기 제1 이중화 상태 정보 메시지는 제1 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하고,
상기 제2 이중화 상태 정보 메시지는 제2 분산 시스템의 IP 주소와 활성화 모드인지 대기 모드인지를 나타내는 상태 값을 포함하는, 이중화 서비스를 제공하기 위한 방법.
12. The method of claim 11,
Wherein the first duplication state information message includes an IP address of the first distributed system, a state value indicating whether the first distributed state information is in an active mode or a standby mode,
Wherein the second redundancy state information message comprises an IP address of the second distributed system and a status value indicating whether the active mode or the standby mode is the standby mode.
제8 항에 있어서,
상기 저장하는 단계는,
상기 사용자 단말에 웹 서비스를 제공하면서 상기 웹 서비스에 관련된 미리 정의된 메시지에 전달된 시간을 추가하여 저장하는, 이중화 서비스를 제공하기 위한 방법.
9. The method of claim 8,
Wherein the storing step comprises:
Wherein the web service is provided to the user terminal while the time passed to the predefined message related to the web service is added and stored.
KR1020160113279A 2016-09-02 2016-09-02 System for providing duplex service based on database and method thereof KR101726253B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160113279A KR101726253B1 (en) 2016-09-02 2016-09-02 System for providing duplex service based on database and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160113279A KR101726253B1 (en) 2016-09-02 2016-09-02 System for providing duplex service based on database and method thereof

Publications (1)

Publication Number Publication Date
KR101726253B1 true KR101726253B1 (en) 2017-04-12

Family

ID=58580205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160113279A KR101726253B1 (en) 2016-09-02 2016-09-02 System for providing duplex service based on database and method thereof

Country Status (1)

Country Link
KR (1) KR101726253B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035777A (en) * 1999-10-02 2001-05-07 윤종용 Apparatus for correcting defect level and asymmetric waveform level in optical disk system
KR20130136837A (en) * 2012-06-05 2013-12-13 주식회사 다산네트웍스 Duplex network system
KR20140029644A (en) * 2012-08-29 2014-03-11 삼성에스디에스 주식회사 Distributed computing system and recovery method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035777A (en) * 1999-10-02 2001-05-07 윤종용 Apparatus for correcting defect level and asymmetric waveform level in optical disk system
KR20130136837A (en) * 2012-06-05 2013-12-13 주식회사 다산네트웍스 Duplex network system
KR20140029644A (en) * 2012-08-29 2014-03-11 삼성에스디에스 주식회사 Distributed computing system and recovery method thereof

Similar Documents

Publication Publication Date Title
US10489254B2 (en) Storage cluster failure detection
EP3617886B1 (en) Hot backup system, hot backup method, and computer device
EP3210367B1 (en) System and method for disaster recovery of cloud applications
US8850141B2 (en) System and method for mirroring data
CN111427728B (en) State management method, main/standby switching method and electronic equipment
CN103546914B (en) A kind of method and device of the active and standby management of HSS
CN107066480B (en) Method, system and equipment for managing main and standby databases
CN102890716A (en) Distributed file system and data backup method thereof
US20160092324A1 (en) Fast single-master failover
WO2012155630A1 (en) Method, device, and system for disaster recovery
CN104615511A (en) Host batch recovery processing method and device based on double centers
CN113590049B (en) Storage volume cross-node cloning method, device, equipment and readable medium
CN109189854B (en) Method and node equipment for providing continuous service
CN115277727A (en) Data disaster recovery method, system, device and storage medium
CN111309515A (en) Disaster recovery control method, device and system
EP3570169A1 (en) Method and system for processing device failure
KR101726253B1 (en) System for providing duplex service based on database and method thereof
JP4806382B2 (en) Redundant system
WO2014110994A1 (en) Integrated platform for disaster recovery of it system
KR20190078451A (en) Server and Recovery server for performing failure recovery of service server using block chain, Method for controlling the server
CN116668269A (en) Arbitration method, device and system for dual-activity data center
CN112882771A (en) Server switching method and device of application system, storage medium and electronic equipment
CN113778746A (en) Time sequence database cluster data processing method, device, medium and electronic equipment
Zhang et al. DISASTER MANAGEMENT SYSTEM USING NETWORK SNAPSHOT IN LOW POWER AND LOSSY NETWORKS (LLNS)
JP2009064149A (en) Distributed monitoring and control system for power grid

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 4