KR101463468B1 - Cluster structure based on omg standard middleware and compatible omg standaed dds - Google Patents

Cluster structure based on omg standard middleware and compatible omg standaed dds Download PDF

Info

Publication number
KR101463468B1
KR101463468B1 KR1020140007374A KR20140007374A KR101463468B1 KR 101463468 B1 KR101463468 B1 KR 101463468B1 KR 1020140007374 A KR1020140007374 A KR 1020140007374A KR 20140007374 A KR20140007374 A KR 20140007374A KR 101463468 B1 KR101463468 B1 KR 101463468B1
Authority
KR
South Korea
Prior art keywords
node
legacy
data
omg
middleware
Prior art date
Application number
KR1020140007374A
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 KR1020140007374A priority Critical patent/KR101463468B1/en
Application granted granted Critical
Publication of KR101463468B1 publication Critical patent/KR101463468B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to an OMG standard middleware-based cluster structure compatible with an OMG standard data distribution service (DDS) in a cluster in which a computer system is composed of a plurality of nodes. The present invention comprises the nodes which comprise copy caches comprising a data storage class, a copy class, and a node managing device and support the OMG standard DDS, and a legacy node which supports the OMG standard DDS without having the copy caches. When the legacy node is newly registered in the cluster structure, the copy class transmits data inputted from the data storage class to other nodes and the legacy node through a middleware operated with the OMG standard DDS and inputs the data transmitted from the other nodes and the legacy node in the data storage class.

Description

OMG 표준 DDS(Data Distribution Service)와 호환 가능한 OMG 표준 미들웨어 기반의 클러스터 구조{CLUSTER STRUCTURE BASED ON OMG STANDARD MIDDLEWARE AND COMPATIBLE OMG STANDAED DDS}[0001] CLUSTER STRUCTURE BASED ON OMG STANDARD MIDDLEWARE AND COMPATIBLE OMG STANDARDED DDS [0002] The present invention relates to a cluster structure based on OMG standard middleware compatible with OMG standard DDS (Data Distribution Service)

본 발명은 복수 노드가 한 컴퓨터 시스템을 이루는 클러스터에서 OMG 표준 DDS(Data Distribution Service)와 호환 가능한 OMG 표준 미들웨어 기반의 클러스터 구조를 제공하는데 있다. The present invention provides a cluster structure based on OMG standard middleware compatible with OMG standard DDS (Data Distribution Service) in a cluster in which a plurality of nodes constitute one computer system.

일반적으로 여러 노드가 네트워크로 연결되어 있는 클러스터에서, 한 노드가 다른 노드에서 갱신된 데이터를 사용하려면 “데이터 요청 시간 ~ 데이터 응답 시간” 만큼의 시간 지연이 발생한다. Generally, in a cluster where multiple nodes are connected by a network, a time delay of "data request time ~ data response time" occurs when one node uses updated data from another node.

상기 시간 지연을 극복하기 위해 고안된 것이 복제 캐시(Replicated Cache)이다. 복제 캐시는 클러스터 노드 간에 공유할 데이터 항목을 정의하고, 한 노드에서 데이터 항목이 변경되면 클러스터 내의 다른 노드의 메모리로 변경 사항이 실시간으로 복제된다. 이로 인해 각 노드는 데이터의 수요가 발생하기 전에 이미 최신 데이터가 메모리에 반영되어 있으므로 네트워크에 접근할 필요 없이 노드 자신의 메모리에서 데이터를 취하여 사용할 수 있게 된다.A replicated cache is designed to overcome the time delay. The replication cache defines the data items to be shared among the cluster nodes, and when a data item changes in one node, the changes are replicated in real time to the memory of another node in the cluster. As a result, each node is able to take data from the node's own memory without accessing the network since the latest data is already reflected in the memory before the demand of the data occurs.

그런데, 복제 캐시는 현재 개념만 개시되어 있어 각 제조회사에서 노드의 종류 및 특성에 맞게 개별적으로 복제 캐시 미들웨어를 제조하여 운용하고 있다. 그 결과 특정 제조사에서 제조된 복제 캐시는 동일한 복제 캐시 미들웨어가 설치되어 있는 노드끼리만 통신이 가능하며, 복제 캐시를 이용하지 않으며 특정 표준(예: OMG DDS표준)에서 운용되는 노드와는 통신이 수행되지 않게 된다. However, since only the current concept of the duplicate cache is disclosed, each manufacturer manufactures and manages the duplicate cache middleware individually in accordance with the types and characteristics of the nodes. As a result, the replica cache manufactured by a specific manufacturer can communicate only with nodes having the same replicated cache middleware, does not use the replicated cache, and communicates with a node operating in a specific standard (for example, OMG DDS standard) .

따라서, 종래에는 복제 캐시를 이용하는 클러스터에 복제 캐시를 이용하지 않는 노드(레거시 노드)를 도입하는 경우에는 노드간 호환성이 확보되지 않아 클러스터의 확장에 불리한 단점이 있다. Therefore, conventionally, when introducing a node (a legacy node) that does not use a duplicate cache in a cluster using a duplicate cache, inter-node compatibility is not ensured, which is disadvantageous to expansion of the cluster.

따라서, 본 발명의 목적은 OMG DDS표준과 상호 동작이 가능한 복제 캐시 미들웨어를 정의하여 복제 캐시 미들웨어가 제공하는 데이터 획득의 즉시성 및 개발 생산성을 제공할 수 있는 OMG 표준 미들웨어 기반의 클러스터 구조를 제공하는데 있다. Accordingly, it is an object of the present invention to provide a cluster structure based on OMG standard middleware that can provide interoperability with OMG DDS standard by defining replicated cache middleware and providing instantness of data acquisition and development productivity provided by replicated cache middleware have.

본 발명의 다른 목적은 OMG DDS표준과 상호 동작이 가능한 복제 캐시 미들웨어를 정의하여 OMG DDS를 사용하는 레거시 노드 또는 미래 도입 노드와의 호환성을 제공할 수 있는 OMG 표준 미들웨어 기반의 클러스터 구조를 제공하는데 있다. Another object of the present invention is to provide a cluster structure based on OMG standard middleware that can provide interoperability with legacy nodes or future introduction nodes using OMG DDS by defining duplicate cache middleware capable of interoperating with OMG DDS standard .

상기와 같은 목적을 달성하기 위하여 본 발명의 실시예에 따른 OMG 표준 미들웨어 기반의 클러스터 구조는, 데이타 저장 계층, 복제계층 및 노드 관리기를 포함하는 복제 캐시를 구비하여 OMG 표준 DDS(Data Distribution Service)를 지원하는 복수의 노드; 및 복제 캐시를 구비하지 않지만 OMG 표준 DDS를 지원하는 레거시 노드로 구성되어, 상기 각 노드의 복제 캐시는 상기 복제 계층은 레거시 노드가 클러스터 구조에 새로 가입될 때, OMG 표준 DDS소정 표준과 상호 동작 가능한 미들웨어를 통해 상기 데이터 저장 계층으로부터 입력된 데이터를 타 노드 및 레거시 노드로 전파하고, 타 노드 및 레거시 노드로부터 전파받은 데이터를 데이터 저장 계층으로 입력하는 것을 특징으로 한다.In order to achieve the above object, a cluster structure based on OMG standard middleware according to an embodiment of the present invention includes a duplication cache including a data storage layer, a replication layer, and a node manager, and includes an OMG standard DDS (Data Distribution Service) A plurality of supporting nodes; And a legacy node that does not have a duplicate cache but supports an OMG standard DDS, wherein the replica cache of each of the nodes is operable when the legacy node is newly joined to the cluster structure, The data input from the data storage layer is propagated to the other node and the legacy node through the middleware, and the data propagated from the other node and the legacy node are input to the data storage layer.

상기 미들웨어는 데이타 저장 계층에서 데이타 변경시 해당 내용을 토픽(Topic)에 발행하는 Publisher와 타 노드가 토픽에 발행한 데이타를 수신하는 Subscriber를 포함한다.The middleware includes a Publisher for issuing a corresponding content to a topic when data is changed in a data storage layer and a Subscriber for receiving data issued by the other node to the topic.

상기 각 노드의 노드 관리기는 레거시 노드가 새로 가입되어 해당 노드로부터 노드 ID와 기동시간이 수신되면 노드 리스트와 수신한 값을 비교하여 중복이 아닌 경우 상기 레거시 노드를 신규 노드로 등록한다.The node manager of each node registers a legacy node as a new node when the legacy node is newly joined and the received node ID and startup time are received from the node and the received value is compared.

상기 각 노드의 노드 관리기는 특정 노드로부터 하트비트 메시지가 설정된 시간내에 설정된 횟수만큼 수신되지 않으면 해당 노드가 탈퇴했다고 판단하고 해당 노드를 노드 리스트에서 제거한다.If the number of times that the heartbeat message is not received within the set time from the specific node, the node manager of each node judges that the node has withdrawn and removes the node from the node list.

상기 각 노드의 노드 관리기는 노드 리스트를 통해 각 노드의 기동시간을 확인하며, 가장 빠른 기동시간을 갖는 노드의 노드 관리기만 레거시 노드로 노드 ID와 기동시간을 전송한다.The node manager of each node checks the start time of each node through the node list, and only the node manager of the node having the fastest start time transmits the node ID and the start time to the legacy node.

상기 각 노드는 데이터 변경시 Publisher를 통해 데이타 저장 계층에서 제공된 변경 내용을토픽(Topic)에 발행하고, 레거시 노드는 Subscriber를 통해 상기 토픽으로부터 변경된 데이터를 수신하여 각 노드와 레거시 노드간 통신을 수행하며,Each node issues a change content provided by a data storage layer through a publisher at a time of data change, a legacy node receives data changed from the topic through a subscriber, and performs communication between each node and a legacy node ,

상기 각 노드의 Subscriber는 레거시 노드의 Publisher와 동일한 도메인 및 토픽에 가입되어 있는 것을 특징으로 한다.The subscriber of each node is subscribed to the same domain and topic as the publisher of the legacy node.

상기 레거시 노드의 Publisher가 가입되어 있는 토픽에 메시지를 발행하고, 각 노드의 Subscriber는 해당 메시지를 수신하여 데이타 저장 계층에 기록하여 레거시 노드와 각 노드간 통신을 수행하며, 상기 레거시 노드의 Publisher는 각 노드의 Subscriber와 동일한 도메인 및 토픽에 가입되어 있는 것을 특징으로 한다.The legacy node publishes a message to a subscribed topic, the subscriber of each node receives the message, writes the message to the data storage layer, and performs communication between the legacy node and each node. And subscribed to the same domain and topic as the subscriber of the node.

본 발명은 클러스터에 복제 캐시를 도입하여 OMG DDS로 통신을 수행하는 레거시에 무결절성(Seamless)하게 클러스터를 확장할 수 있으며, 복제 캐시를 탑재할 필요가 없거나 탑재할 수 없는 노드를 새롭게 복제 캐시를 운용중인 클러스터에 도입하는 경우에도 새 노드가 OMG DDS로 통신을 수행한다면 역시 매끄러운 확장이 가능한 효과가 있다. 따라서, 클러스터의 설계/관리자는 복제 캐시의 탑재 여부에 관계없이 시스템 구성의 자유를 얻을 수 있다.The present invention can extend the cluster seamlessly to legacy, which introduces a duplicate cache in the cluster to perform communication with the OMG DDS, and can update a node that does not need or can not mount the duplication cache If the new node is communicating with the OMG DDS, it is also possible to smoothly expand the new node even if it is introduced into the operating cluster. Therefore, the design / administrator of the cluster can obtain the freedom of the system configuration whether or not the copy cache is mounted.

도 1은 도 1은 본 발명의 실시예에 따른 OMG 표준 미들웨어 기반의 클러스터 구조를 나타낸 도면.
도 2는 본 발명에 따른 데이터 공유 과정을 나타낸 예시도.
도 3은 본 발명의 신규 노드를 추가하는 과정을 나타낸 예시도.
도 4는 본 발명의 복제 캐시 클러스터와 비(非) 복제 캐시 노드와의 통신 방법을 나타낸 예시도.
FIG. 1 is a diagram illustrating a cluster structure based on OMG standard middleware according to an embodiment of the present invention; FIG.
FIG. 2 is an exemplary diagram illustrating a data sharing process according to the present invention. FIG.
3 is a diagram illustrating a process of adding a new node according to the present invention;
4 is an exemplary diagram illustrating a method of communicating between a replicated cache cluster and a non-replicated cache node of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals are used to designate identical or similar elements, and redundant description thereof will be omitted.

본 발명은 OMG DDS표준과 상호 동작 가능한 복제 캐시 미들웨어를 정의함으로써, 복제 캐시 미들웨어가 제공하는 데이터 획득의 즉시성 및 개발 생산성과 함께 OMG DDS를 사용하는 레거시 노드 또는 미래 도입 노드의 호환성을 제공할 수 있는 방안을 제안한다. The present invention defines replication cache middleware interoperable with the OMG DDS standard to provide interoperability of legacy nodes or future introduction nodes using OMG DDS with instantness of data acquisition and development productivity provided by the replicated cache middleware I suggest a solution.

도 1은 본 발명의 실시예에 따른 OMG 표준 미들웨어 기반의 클러스터 구조를 나타낸다. FIG. 1 illustrates a cluster structure based on OMG standard middleware according to an embodiment of the present invention.

도 1에는 데이터 저장 계층(10)과 복제 계층(11)의 구성 및 복제 캐시를 이용하지 않는 노드(200)와의 연동이 도시되어 있다. 도 1에서 OMG 표준 DDS를 지원하는 각 노드는 복제 캐시(100)를 포함하고 있으며, 레거시 노드(200)는 OMG 표준 DDS를 지원하지만 복제 캐시는 포함하고 있지 않다. 상기 레거시 노드(200)는 DDO어플리케이션일 수 있다. FIG. 1 illustrates the configuration of the data storage layer 10 and the replication layer 11 and interworking with the node 200 that does not use the replication cache. In FIG. 1, each node supporting the OMG standard DDS includes a duplicate cache 100, and the legacy node 200 supports OMG standard DDS, but does not include a duplicate cache. The legacy node 200 may be a DDO application.

상기 각 노드에서 복제 캐시(100)는 데이터 저장 계층(Cache Layer) (10), 복제 계층(Replication Layer)(11) 및 노드 관리기(Node Manager)(12)로 구성된다. In each node, the replication cache 100 is composed of a data storage layer 10, a replication layer 11, and a node manager 12.

상기 복제 캐시(100)는 응용(application)에게 데이터 저장 계층(10)에 대한 프로그래밍이 가능한 인터페이스(Programming Interface)를 제공한다. 데이터 저장 계층(10)에 제공하는 API(Application programming Interface)에는 두 종류가 있는데, 하나는 데이터 기록(Write) 인터페이스이고, 다른 하나는 데이터 갱신 알림 콜백(Callback) 인터페이스이다. The replication cache 100 provides an application with a programmable interface to the data storage layer 10. There are two types of application programming interfaces (APIs) provided to the data storage layer 10, one is a data write interface and the other is a data update notification callback interface.

상기 복제 계층(11)은 OMG DDS표준과 상호 동작 가능한 복제 캐시 미들웨어를 구비하여, 데이터 저장 계층(10)으로부터 입력된 데이터를 타 노드에 전파하는 기능 및 타 노드로부터 전파받은 데이터를 데이터 저장 계층(10)으로 입력하는 기능을 수행한다. The replication layer 11 is provided with a duplicated cache middleware that can interoperate with the OMG DDS standard and has a function of propagating data input from the data storage layer 10 to another node and a function of transmitting data propagated from another node to a data storage layer 10).

상기 노드 관리기(12)는 클러스터에 가입되어 있는 복제 캐시 탑재 노드의 상태를 감시 및 관리를 수행한다.The node manager 12 monitors and manages the state of the duplicate cache mounting node joined to the cluster.

즉, 상기 데이터 저장 계층(10)은 DDS어플리케이션(300)으로부터의 데이터 입력 및 콜백 실행 기능을 수행하고, 복제 계층(11)은 신규 노드 캐시 동기화 기능, 캐시 복제 기능, 비(非) 복제캐시 노드와의 통신 기능을 수행하며, 노드 관리기(12)는 신규 노드 탐지 기능, 탈퇴 노드 탐지 기능 및 주(Primary) 노드 결정 기능을 수행한다. That is, the data storage layer 10 performs data input and callback execution functions from the DDS application 300, and the replication layer 11 includes a new node cache synchronization function, a cache replication function, a non- And the node manager 12 performs a new node detection function, a leaving node detection function, and a primary node determination function.

도 2는 본 발명에 따른 데이터 공유 과정을 나타낸 예시도이다.FIG. 2 is an exemplary diagram illustrating a data sharing process according to the present invention.

도 2에 도시된 바와같이, 노드 2에서 데이타 변경이 발생하면 복제 계층(11)은 데이터 저장 계층(10)과 인터페이스를 수행하여, 데이터 저장 계층(10)으로부터 해당 데이터를 제공받아 타 노드(노드 1,3)로 전파하고, 상기 타 노드의 각 복제 계층(11)은 노드 2로부터 수신한 데이터를 데이터 저장 계층으로 입력함으로써 노드간 데이타 공유를 수행한다. 2, when a data change occurs in the node 2, the replication layer 11 interfaces with the data storage layer 10 to receive the corresponding data from the data storage layer 10, 1, 3), and each replication layer 11 of the other node inputs data received from the node 2 to the data storage layer, thereby performing data sharing among the nodes.

이후 노드 관리기(12)의 구체적인 기능 및 동작에 대하여 설명한다. Hereinafter, specific functions and operations of the node manager 12 will be described.

신규노드New node 탐지 기능 Detection function

도 3은 본 발명의 신규 노드를 추가하는 과정을 나타낸 예시도이다.3 is an exemplary diagram illustrating a process of adding a new node according to the present invention.

도 3에 도시된 바와같이, 복제 캐시의 노드 관리기는 응용 프로그램 기동 후에 자신의 노드 ID와 기동시간을 네트워크로 멀티캐스트 (Multicast)한다(①).As shown in FIG. 3, the node manager of the duplicate cache multicasts its node ID and startup time to the network after application program startup (1).

이후 신규 가입 노드(노드 3)의 노드 ID와 기동시간이 수신되면 타 노드(노드 1 및 2)의 복제 캐시 노드 관리기는 기존의 노드 리스트와 수신한 값을 비교하여 중복이 아닌 경우 신규 노드(노드 3)를 노드 리스트에 등록한다(②).When the node ID and startup time of the new subscription node (node 3) are received, the replica cache node manager of the other node (nodes 1 and 2) compares the received node list with the existing node list, 3) in the node list (2).

이어서 기존 노드(노드 1,2)의 노드 관리기는 신규 가입 노드(노드 3)에게 자신의 노드 ID와 기동시간을 전송함으로써 클러스터의 각 노드는 상호간의 존재를 파악한다(③).Next, the node manager of the existing nodes (nodes 1 and 2) transmits its node ID and start time to the new subscriber node (node 3) so that each node of the cluster grasps the existence of each other (③).

이후 클러스터의 각 노드(노드 1~노드3)는 주기적으로 하트비트(Heartbeat) 메시지를 교환함으로써 클러스터 가입 상태를 상호간에 유지한다(④).Each node (node 1 to node 3) of the cluster periodically exchanges heartbeat messages with each other to maintain cluster affiliation (4).

탈퇴 노드 탐지 기능Detection Node Detection Function

노드 관리기는 특정 노드로부터 하트비트 메시지가 설정된 시간(예:1초) 내에 설정된 횟수(예:3회) 도달하지 않으면 해당 노드가 탈퇴했다고 판단하고 해당 노드를 노드 리스트에서 제거한다.If the node manager does not reach the set number of times (for example, three times) within a predetermined time (for example, one second), the node manager determines that the node has left the node and removes the node from the node list.

주 노드 결정 기능Primary node determination function

모든 노드가 활성(Active) 모드로 동기화를 수행하는 경우, 신규 노드가 클러스터에 가입했을 때, 클러스터내의 모든 기존 노드가 동일한 데이터를 신규 가입 노드에게 반복 전송하는 문제가 생긴다. 만약 노드의 수가 N이고 데이터의 종류가 M개라면 이라면 N×M회만큼의 데이터가 복제된다. 이러한 문제를 피하기 위해 클러스터에는 단 하나의 주(Primary) 노드가 존재하고 이 노드만이 신규 가입 노드에게 동기화를 수행하는 기능을 수행하도록 한다.When all the nodes perform synchronization in the active mode, when the new node joins the cluster, there arises a problem that all existing nodes in the cluster repeatedly transmit the same data to the new subscription node. If the number of nodes is N and the number of data types is M, N × M times of data are replicated. To avoid this problem, there is only one primary node in the cluster, and only this node performs the function of performing synchronization to the new subscriber node.

따라서, 각 노드의 노드 관리기는 노드 리스트를 이용하여 각 노드의 기동시간을 확인하여 자신이 가장 빠른 기동시간을 갖고 있으면 주 노드로 확인한다. Therefore, the node manager of each node checks the start time of each node using the node list, and confirms it as the main node if it has the fastest start time.

다음으로 복제계층(11)의 구체적인 기능 및 동작은 다음과 같다.The specific functions and operations of the copy layer 11 are as follows.

신규 노드 캐시 동기화 기능New node cache synchronization function

신규 가입 노드 탐지시, 복재 캐시(100)의 노드 관리기(12)는 스스로가 주 노드인지를 평가하고, 주 노드가 맞다면 복제 계층(11)을 통하여 신규 가입 노드에게 데이터를 전송한다. 즉, 클러스터 내의 노드 중 단 하나의 주 노드가 신규 가입 노드에게 캐시 동기화 데이터를 전송한다.When detecting a new subscription node, the node manager 12 of the decentralized cache 100 evaluates whether it is the primary node itself, and if the primary node is correct, transmits data to the new subscription node through the replication layer 11. That is, only one of the nodes in the cluster transmits the cache synchronization data to the new subscription node.

즉, 도 3에서 신규 가입 노드(노드 3)의 노드 ID와 기동시간이 수신되면 타 노드(노드 1 및 2)의 복제 캐시 노드 관리기는 기존의 노드 리스트와 수신한 값을 비교하여 중복이 아닌 경우 신규 노드(노드 3)를 노드 리스트에 등록한 후(②), 자신이 가장 빠른 기동시간을 갖고 있는 주 노드인지 확인한다. 확인 결과 노드 1이 주 노드인 경우 노드 1의 노드 관리기만 신규 가입 노드(노드 3)에게 자신의 노드 ID와 기동시간을 전송한다(③).That is, in FIG. 3, when the node ID and startup time of the new subscription node (node 3) are received, the replica cache node manager of the other node (nodes 1 and 2) compares the received node list with the received node number, After registering the new node (node 3) in the node list (2), it confirms that it is the main node having the fastest startup time. As a result, if node 1 is the main node, only node manager of node 1 sends its node ID and start time to new subscriber node (node 3) (③).

캐시 복제 방법Cache Replication Method

응용 프로그램은 변수를 복제 캐시(100)의 데이터 저장 계층(10)에 등록한다. 데이터 저장 계층(10)은 등록된 변수에 데이터 기록 이벤트가 발생하면, 이를 감지하여 복제 계층(11)에 데이터를 전달하고, 복제 계층(11)은 네트워크에 연결되어 있는 다른 노드들에게 즉시 전송한다.The application program registers the variable in the data storage layer 10 of the duplication cache 100. The data storage layer 10 detects a data write event in a registered variable and transmits the data to the replication layer 11, and the replication layer 11 immediately transmits the data to other nodes connected to the network .

데이터를 수신한 노드의 복제 계층(21)은 같은 노드의 데이터 저장 계층(20)에게 데이터를 전달하고, 데이터 저장 계층(20)은 자신에게 등록되어 있는 변수를 전달받은 값으로 갱신한다.The replication layer 21 of the node receiving the data transfers the data to the data storage layer 20 of the same node and the data storage layer 20 updates the registered variables to the received value.

비(非)복제Non-replication 캐시 노드와의 통신 기능 Communication with Cache Node

도 4는 본 발명의 복제 캐시 클러스터와 비(非) 복제 캐시 노드와의 통신 방법을 나타낸 예시도이다. 4 is an exemplary diagram illustrating a method of communication between a replicated cache cluster and a non-replicated cache node of the present invention.

도 4와 같이 복제 캐시노드에서 외부 비복제캐시 노드로의 데이터 송신은, 복제 캐시 클러스터내의 한 노드(노드 1)에서 데이터 변경이 이루어지면, 복재 캐시(100)의 복제 계층(11)은 Publisher를 통해 상기 변경 내용을 가입되어 있는 토픽(Topic)에 발행한다(①). 이때, 복제계층(11)내의 Publisher와 Subscriber가 본 발명에 따른 미들웨어를 형성한다. As shown in FIG. 4, the data transmission from the replication cache node to the external non-replication cache node is performed when a data change is made in one node (node 1) in the replication cache cluster, And issues the change contents to the registered Topic (1). At this time, the publisher and the subscriber in the replication layer 11 form the middleware according to the present invention.

외부 비복제 캐시노드에 있는 노드 3의 가입자(Subscriber)는 상기 토픽으로부터 변경된 데이터를 수신한다(②). 이때, 복제 캐시 클러스터의 데이터 변경 내용을 외부 비복제 캐시노드가 수신하기 위해서 노드 3의 Subscriber는 노드 1 및 2의 Publisher와 동일한 도메인(main) 및 토픽(Topic)에 가입되어 있어야 한다. The subscriber of node 3 in the external non-replicated cache node receives the changed data from the topic (2). At this time, in order for the external non-replicated cache node to receive the data change of the replicated cache cluster, the subscriber of the node 3 must be subscribed to the same domain (main) and topic as the publisher of the nodes 1 and 2.

반면에 외부 비복제 캐시노드에서 복제 캐시노드로의 데이터 송신은 외부 노드의 Publisher가 가입되어 있는 Topic에 메시지를 발행하는 것으로부터 시작된다(③). 따라서, 복제 캐시 클러스터내의 노드 1 및 노드 2)는 각각 Subscriber를 통해 해당 메시지를 수신하여 기록한다(④). 이때에도, 외부 비복제 캐시노드에서 송신한 데이터를 복재 캐시 클러스터의 노드에 기록하기 위해서는 노드 3의 Publisher는 노드 1 ,2의 Subscriber와 동일한 도메인 및 토픽에 가입되어 있어야 함을 전제로 한다. On the other hand, data transmission from the external non-replicated cache node to the replicated cache node begins by issuing a message to the Topic to which the external node's Publisher subscribes (③). Therefore, node 1 and node 2 in the replica cache cluster receive and record the corresponding message through the subscriber, respectively (④). At this time, in order to write the data transmitted from the non-replicated cache node to the node of the distributed cache cluster, the Publisher of the node 3 is supposed to be subscribed to the same domain and topic as the subscriber of the nodes 1 and 2.

상술한 바와같이 본 발명은 복제 캐시를 클러스터에 도입함으로써 OMG DDS로 통신을 수행하는 레거시에 무결절성(Seamless)하게 클러스터를 확장할 수 있다. 또한, 복제 캐시를 탑재할 필요가 없거나 탑재할 수 없는 노드를 새롭게 복제 캐시를 운용중인 클러스터에 도입하는 경우에도 새 노드가 OMG DDS로 통신을 수행한다면 역시 매끄러운 확장이 가능하다. 따라서, 클러스터의 설계/관리자는 복제 캐시의 탑재여부에 관계없이 시스템 구성의 자유를 얻을 수 있다.As described above, according to the present invention, clusters can be seamlessly extended to a legacy that performs communication with an OMG DDS by introducing a replicated cache into a cluster. In addition, even if a node that does not need or can not mount a duplicate cache is introduced into a cluster that is newly operating a duplicate cache, smooth expansion is also possible if the new node communicates with OMG DDS. Therefore, the design / administrator of the cluster can obtain the freedom of the system configuration whether or not the copy cache is mounted.

한편, 본 발명은 복제 캐시간의 주 노드 결정 기능을 포함하므로 이를 이용하면 1+1 또는 1+N으로 구성되는 이중화 시스템을 구현할 수 있다.Meanwhile, since the present invention includes a main node determination function between duplicate caches, a duplication system including 1 + 1 or 1 + N can be implemented.

상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. It is to be understood that the configurations and methods of the embodiments described above are not limitedly applied, but that the embodiments may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive.

10 : 데이타 저장 계층 11 : 복제 계층
12 : 노드 관리기 100 : 복제 캐시
200 : 레거시 노드
10: Data storage layer 11: Replication layer
12: Node manager 100: Replication cache
200: Legacy node

Claims (7)

복수 노드가 네트워크로 연결되어 있는 클러스터 구조에 있어서,
데이타 저장 계층, 복제계층 및 노드 관리기를 포함하는 복제 캐시를 구비하여 OMG 표준 DDS(Data Distribution Service)를 지원하는 복수의 노드; 및
복제 캐시를 구비하지 않지만 OMG 표준 DDS를 지원하는 레거시 노드로 구성되어, 상기 각 노드의 복제 캐시는
상기 복제 계층은 레거시 노드가 클러스터 구조에 새로 가입될 때, OMG 표준 DDS소정 표준과 상호 동작 가능한 미들웨어를 통해 상기 데이터 저장 계층으로부터 입력된 데이터를 타 노드 및 레거시 노드로 전파하고, 타 노드 및 레거시 노드로부터 전파받은 데이터를 데이터 저장 계층으로 입력하는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
In a cluster structure in which a plurality of nodes are connected via a network,
A plurality of nodes having a replication cache including a data storage layer, a replication layer, and a node manager to support an OMG standard DDS (Data Distribution Service); And
A legacy node that does not have a replication cache but supports an OMG standard DDS,
When a legacy node joins a cluster structure, the replication layer propagates data input from the data storage layer to other nodes and legacy nodes through middleware interoperable with the OMG standard DDS predetermined standard, And the data is transmitted to the data storage layer. The cluster structure based on OMG standard middleware.
제1항에 있어서, 상기 미들웨어는
데이타 저장 계층에서 데이타 변경시 해당 내용을 토픽(Topic)에 발행하는 Publisher와 타 노드가 토픽에 발행한 데이타를 수신하는 Subscriber를 포함하는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
The system according to claim 1, wherein the middleware
And a subscriber for receiving the data issued by the other node and the other node to the topic when the data is changed in the data storage layer, and a cluster structure based on the OMG standard middleware.
제1항에 있어서, 상기 각 노드의 노드 관리기는
레거시 노드가 새로 가입되어 해당 노드로부터 노드 ID와 기동시간이 수신되면 노드 리스트와 수신한 값을 비교하여 중복이 아닌 경우 상기 레거시 노드를 신규 노드로 등록하는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
The method of claim 1, wherein the node manager of each node
When the legacy node is newly joined and the node ID and the startup time are received from the node, the node list and the received value are compared to register the legacy node as a new node if the node ID and startup time are not duplicated. .
제1항에 있어서, 상기 각 노드의 노드 관리기는
특정 노드로부터 하트비트 메시지가 설정된 시간내에 설정된 횟수만큼 수신되지 않으면 해당 노드가 탈퇴했다고 판단하고 해당 노드를 노드 리스트에서 제거하는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
The method of claim 1, wherein the node manager of each node
If the heartbeat message is not received from the specific node a predetermined number of times within a predetermined time, it is determined that the node has withdrawn and the corresponding node is removed from the node list, based on the OMG standard middleware.
제1항에 있어서, 상기 각 노드의 노드 관리기는
노드 리스트를 통해 각 노드의 기동시간을 확인하며, 가장 빠른 기동시간을 갖는 노드의 노드 관리기만 레거시 노드로 노드 ID와 기동시간을 전송하는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
The method of claim 1, wherein the node manager of each node
And the node manager of the node having the fastest startup time only transmits the node ID and the startup time to the legacy node, and the cluster structure based on the OMG standard middleware.
제1항에 있어서, 상기 각 노드는
데이터 변경시 Publisher를 통해 데이타 저장 계층에서 제공된 변경 내용을토픽(Topic)에 발행하고, 레거시 노드는 Subscriber를 통해 상기 토픽으로부터 변경된 데이터를 수신하여 각 노드와 레거시 노드간 통신을 수행하며,
상기 각 노드의 Subscriber는 레거시 노드의 Publisher와 동일한 도메인 및 토픽에 가입되어 있는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
2. The method of claim 1, wherein each node
A legacy node receives data changed from the topic through a subscriber to perform communication between each node and a legacy node,
Wherein the subscriber of each of the nodes is subscribed to the same domain and topic as the publisher of the legacy node, and the cluster structure based on the OMG standard middleware.
제1항에 있어서, 상기 레거시 노드의 Publisher가 가입되어 있는 토픽에 메시지를 발행하고, 각 노드의 Subscriber는 해당 메시지를 수신하여 데이타 저장 계층에 기록하여 레거시 노드와 각 노드간 통신을 수행하며,
상기 레거시 노드의 Publisher는 각 노드의 Subscriber와 동일한 도메인 및 토픽에 가입되어 있는 것을 특징으로 하는 OMG 표준 미들웨어 기반의 클러스터 구조.
2. The method of claim 1, wherein the legacy node publishes a message to a subscribed topic, the subscriber of each node receives the message and writes the message to the data storage layer to perform communication between the legacy node and each node,
Wherein the publisher of the legacy node is subscribed to the same domain and topic as the subscriber of each node, and the cluster structure based on the OMG standard middleware.
KR1020140007374A 2014-01-21 2014-01-21 Cluster structure based on omg standard middleware and compatible omg standaed dds KR101463468B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140007374A KR101463468B1 (en) 2014-01-21 2014-01-21 Cluster structure based on omg standard middleware and compatible omg standaed dds

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140007374A KR101463468B1 (en) 2014-01-21 2014-01-21 Cluster structure based on omg standard middleware and compatible omg standaed dds

Publications (1)

Publication Number Publication Date
KR101463468B1 true KR101463468B1 (en) 2014-12-02

Family

ID=52676771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140007374A KR101463468B1 (en) 2014-01-21 2014-01-21 Cluster structure based on omg standard middleware and compatible omg standaed dds

Country Status (1)

Country Link
KR (1) KR101463468B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302212A (en) * 2016-07-27 2017-01-04 四川九洲电器集团有限责任公司 A kind of data communications method and data communication equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110024387A (en) * 2009-09-02 2011-03-09 충남대학교산학협력단 An apparatus and method for the dds service agent providing adaptive service
KR20110046837A (en) * 2009-10-29 2011-05-06 주식회사 케이티 Method for managing network based on data distribution service
KR20120048742A (en) * 2010-11-04 2012-05-16 한국전자통신연구원 Dds structure and node composing dds with scalability and adaptability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110024387A (en) * 2009-09-02 2011-03-09 충남대학교산학협력단 An apparatus and method for the dds service agent providing adaptive service
KR20110046837A (en) * 2009-10-29 2011-05-06 주식회사 케이티 Method for managing network based on data distribution service
KR20120048742A (en) * 2010-11-04 2012-05-16 한국전자통신연구원 Dds structure and node composing dds with scalability and adaptability

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A highly adaptable and scalable monitoring architecture for multi-tenant Clouds, J. Povedano-Molina et al, Future Generation Computer Systems 29 pp.2041-2056(2013.12.31), http://ac.els-cdn.com/S016773 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302212A (en) * 2016-07-27 2017-01-04 四川九洲电器集团有限责任公司 A kind of data communications method and data communication equipment
CN106302212B (en) * 2016-07-27 2019-06-25 四川九洲电器集团有限责任公司 A kind of data communications method and data communication equipment

Similar Documents

Publication Publication Date Title
US9983957B2 (en) Failover mechanism in a distributed computing system
CN109951331B (en) Method, device and computing cluster for sending information
TWI631472B (en) Decentralized operating system
US7900085B2 (en) Backup coordinator for distributed transactions
CN112069265B (en) Synchronization method of configuration data, business data system, computer system and medium
US10747776B2 (en) Replication control using eventually consistent meta-data
CN111028902A (en) Request processing method, device, equipment and medium based on node switching
CN109819048B (en) Data synchronization method, device, terminal and storage medium
CN106657169B (en) Master-slave node data synchronization method in Redis
US10127077B2 (en) Event distribution pattern for use with a distributed data grid
CN106161644B (en) Distributed system for data processing and data processing method thereof
CN104360981B (en) Towards the design method of the Cache coherence protocol of multinuclear multi processor platform
CN112527520A (en) Method and device for deploying message middleware
JP7083416B2 (en) RPC member information acquisition method, equipment, electronic devices, storage media and computer program products
US20150052249A1 (en) Managing connection failover in a load balancer
US20170161126A1 (en) Dynamic queue alias
CN110740155B (en) Request processing method and device in distributed system
US20230297588A1 (en) Synchronizing conflict-free replicated data types
KR101463468B1 (en) Cluster structure based on omg standard middleware and compatible omg standaed dds
CN101661388A (en) Version management system, version management method, synchronous control equipment and synchronous control method
CN114500257A (en) Network configuration distribution method, device, control node and storage medium
US20080019288A1 (en) System and method for managing domain-state information
CN116302716A (en) Cluster deployment method and device, electronic equipment and computer readable medium
CN115964436A (en) Method and device for managing database cluster
CN108270831B (en) Arbiter cluster implementation method and device

Legal Events

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