KR101582802B1 - Method for synchronizing data between dds nodes using real-time dbms based on in-memory - Google Patents

Method for synchronizing data between dds nodes using real-time dbms based on in-memory Download PDF

Info

Publication number
KR101582802B1
KR101582802B1 KR1020140071708A KR20140071708A KR101582802B1 KR 101582802 B1 KR101582802 B1 KR 101582802B1 KR 1020140071708 A KR1020140071708 A KR 1020140071708A KR 20140071708 A KR20140071708 A KR 20140071708A KR 101582802 B1 KR101582802 B1 KR 101582802B1
Authority
KR
South Korea
Prior art keywords
topic
synchronization
node
data
participant node
Prior art date
Application number
KR1020140071708A
Other languages
Korean (ko)
Other versions
KR20150142957A (en
Inventor
김재호
한혁
진성일
Original Assignee
주식회사 리얼타임테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 리얼타임테크 filed Critical 주식회사 리얼타임테크
Priority to KR1020140071708A priority Critical patent/KR101582802B1/en
Publication of KR20150142957A publication Critical patent/KR20150142957A/en
Application granted granted Critical
Publication of KR101582802B1 publication Critical patent/KR101582802B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/327Initiating, continuing or ending a single-mode communication; Handshaking therefor
    • H04N1/32765Initiating a communication
    • H04N1/32771Initiating a communication in response to a request, e.g. for a particular document
    • H04N1/3278Initiating a communication in response to a request, e.g. for a particular document using a protocol or handshaking signal, e.g. non-standard set-up [NSS]

Abstract

본 발명은 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법에 관한 것으로서, 지연 참여 노드가 동기화 요청 토픽을 발간하여 기참여 노드들로 전송하는 단계, 기참여 노드들이 상기 지연 참여 노드에서 발간된 토픽을 구독하고, 동기화 응답 토픽을 발간하여 상기 지연 참여 노드로 전송하는 단계, 상기 지연 참여 노드가 복수 개의 기참여 노드들 중에서 동기화 대상 노드를 선정하고, 동기화 동의 토픽을 발간하여 선정된 기참여 노드로 전송하는 단계 및 선정된 기참여 노드에서 동기화 동의 토픽을 구독하면, 상기 지연 참여 노드와 기참여 노드 간에 토픽 데이터 동기화가 수행되는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 활용하면 데이터의 영속성을 보장하기 위한 DDS-DBMS 연동 도구 사용 시, 도메인에 새로운 DDS 노드를 참여하거나 기존 DDS 노드 중 시스템 장애 또는 오류로 인한 DDS 노드 간의 데이터 불일치를 해소할 수 있으며, 트랜잭션 처리 응답시간의 실시간성을 보장하는 In-memory 기반 실시간 DBMS를 활용하여 데이터 동기화로 인한 새로운 DDS 노드의 참여 지연시간을 최소화 할 수 있는 효과가 있다.
A method for synchronizing data between DDS nodes using an in-memory based real-time DBMS, the method comprising the steps of: a delayed participant node issues a synchronization request topic to the participant nodes, Subscribing to a published topic, and transmitting a synchronization response topic to the delayed participant node, the delayed participant node selects a synchronization target node among a plurality of participant nodes, issues a synchronization agreement topic, Transmitting to the participant node, and when topic synchronization subscription is made at the selected participant node, topic data synchronization between the delayed participant node and the participant node is performed.
According to the present invention, when using the DDS-DBMS interworking tool to ensure data persistence, a new DDS node can be joined to the domain or a data inconsistency between DDS nodes due to a system failure or an error among existing DDS nodes can be eliminated , It is possible to minimize the participation delay time of a new DDS node due to data synchronization by utilizing an in-memory based real-time DBMS that guarantees real-time response of transaction processing response time.

Description

In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법{METHOD FOR SYNCHRONIZING DATA BETWEEN DDS NODES USING REAL-TIME DBMS BASED ON IN-MEMORY}{METHOD FOR SYNCHRONIZING DATA BETWEEN DDS NODES USING REAL-TIME DBMS BASED ON IN-MEMORY USING IN-MEMORY BASED REAL-TIME DBMS}

본 발명은 In-memory 기반 실시간 DBMS를 활용하여 동일한 토픽들을 발간 및 구독하는 도메인에 속한 DDS 노드 간의 데이터를 동기화 하는 방법에 관한 것이다.
The present invention relates to a method for synchronizing data between DDS nodes belonging to a domain that issues and subscribes the same topics using an in-memory based real-time DBMS.

최근 서버/클라이언트(server/client)와 같은 중앙집중식 통신 방법에서 다수의 노드들이 직접 동적인 통신을 진행하는 발간/구독(publish/subscribe) 방식이 널리 사용되고 있다.Recently, in a centralized communication method such as a server / client, a publish / subscribe method in which a plurality of nodes directly perform dynamic communication is widely used.

이러한 발간/구독 통신 방식을 사용하는 통신 미들웨어 중에 DDS(Data Distribution Service)가 있다. DDS는 OMG(Obejct Management Group)에서 제안한 분산 통신 미들웨어 표준으로서 토픽(Topic)을 중심으로 데이터에 대한 발간/구독(Publish/Subscribe)을 수행하는 것으로서, 토픽(topic)을 이용한 실시간 발간/구독 방식을 이용하여 다수의 정보처리 노드들 간의 실시간 데이터 분배를 가능하게 한다. 또한 QoS(Quality of Service)를 이용한 신뢰성 /비신뢰성(Reliable/Best-Effort) 통신 방법을 제공하며, 통신 디바이스를 찾는 디스커버리(Discovery) 과정을 통하여 통신 디바이스의 동적인 참여/탈퇴를 지원한다.DDS (Data Distribution Service) is a communication middleware using such a publishing / subscribing communication method. DDS is a distributed communication middleware standard proposed by Obejct Management Group (OMG), which publishes / subscribes data based on Topic. It is a real-time publication / subscription method using topics. To enable real-time data distribution among a plurality of information processing nodes. In addition, it provides a reliable / best-effort communication method using Quality of Service (QoS), and supports dynamic participation / withdrawal of communication devices through a discovery process for searching for communication devices.

DDS는 국방분야에서 많이 이용되었으나, 최근에는 무인기 데이터 전송, 병원 전산망 데이터 전송 등 다양한 민수분야에서 DDS를 이용하려는 움직임이 점차 증가하고 있다. DDS has been widely used in the defense field, but recently, there has been an increasing tendency to use DDS in various civil fields such as UAV data transmission and hospital network data transmission.

이러한 QoS 기반의 토픽 발간/구독은 일회성 (volatile)의 특성을 가지기 때문에 영속성을 제공하지 못할 뿐만 아니라 응용프로그램의 목적에 따라 도메인에서 발생한 토픽을 저장하고 후에 재사용할 수 있도록 관리하지 못한다. 따라서 토픽의 영속성을 지원하기 위해서는 DBMS의 적용이 필수적이며, DDS에서 발간 및 구독한 토픽을 DBMS에 저장하여 데이터의 영속성을 보장하고 DDS와 DBMS간의 상호 연동에 DDS-DBMS 연동 도구를 사용한다. 다만 도메인에 참여하고 있는 DDS 노드 중 구독 중인 토픽을 특정 시간 동안 구독하지 못한 경우 (예. 시스템 장애) 또는 지연 참여 (late joining) 노드의 경우 다른 DDS 노드간의 데이터 불일치가 발생한다.
Such QoS-based topic publishing / subscribing is not volatile and therefore can not provide persistence, and it can not store the topic that is generated in the domain according to the purpose of the application program and can not be reused afterwards. Therefore, it is necessary to apply the DBMS in order to support the durability of the topic. The DDS-DBMS interworking tool is used for interworking between the DDS and the DBMS by storing the topic published and subscribed by the DDS in the DBMS by ensuring the durability of the data. However, if the DDS nodes that are participating in the domain can not subscribe to the subscribed topic for a certain period of time (eg system failure) or late joining nodes, data inconsistency may occur between the other DDS nodes.

한국공개특허 2013-0118593Korean Patent Publication No. 2013-0118593

본 발명은 상기와 같은 문제점을 해결하기 위하여 고안된 것으로 도메인에 새로운 DDS 노드가 참여하였을 때 동일 토픽을 발간/구독하는 다른 DDS 노드로부터 과거 토픽 데이터를 요청하여 로컬 DBMS에 이를 적재해 다른 DDS 노드간의 데이터 불일치를 해소하기 위한 DDS 노드 간의 데이터 동기화 기술을 개발하는 것을 목적으로 한다.The present invention has been devised to solve the above problems. When a new DDS node participates in a domain, it requests past topic data from another DDS node that issues / subscribes the same topic, loads it in a local DBMS, And to develop a data synchronization technique between DDS nodes to solve the inconsistency.

도메인에 속한 DDS 노드 중 시스템 장애 발생 또는 DDS-DBMS 연동 도구 오류로 해당 DDS 노드의 시스템이 복구되는 동안 구독하지 못한 토픽으로 인해 다른 DDS 노드간의 데이터 불일치가 발생하는 경우 DDS 노드 간의 데이터 동기화 기술로 도메인에 속한 DDS 노드 간의 데이터 정합성을 유지할 수 있다.
If a system failure occurs among the DDS nodes belonging to the domain or a data inconsistency occurs between other DDS nodes due to a topic that can not be subscribed while the system of the corresponding DDS node is recovered due to a DDS-DBMS interoperation tool error, It is possible to maintain data consistency between the DDS nodes belonging to the DDS node.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 지연 참여 노드가 동기화 요청 토픽을 발간하여 기참여 노드들로 전송하는 단계, 기참여 노드들이 상기 지연 참여 노드에서 발간된 토픽을 구독하고, 동기화 응답 토픽을 발간하여 상기 지연 참여 노드로 전송하는 단계, 상기 지연 참여 노드가 복수 개의 기참여 노드들 중에서 동기화 대상 노드를 선정하고, 동기화 동의 토픽을 발간하여 선정된 기참여 노드로 전송하는 단계 및 선정된 기참여 노드에서 동기화 동의 토픽을 구독하면, 상기 지연 참여 노드와 기참여 노드 간에 토픽 데이터 동기화가 수행되는 단계를 포함하되, 상기 동기화는 지연 참여 노드와 기참여 노드 간에 TCP/IP 프로토콜을 통해 수행되고, 상기 TCP/IP 프로토콜을 통해 동기화 대상 기참여 노드로부터 전송되는 동기화 데이터는 토픽 발간 시간과 토픽 데이터를 포함하여 구성되는 것을 특징으로 하는 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법이 제공된다.According to an aspect of the present invention, a delayed participant node issues a synchronization request topic and transmits the synchronization request topic to the participant nodes, the participant nodes subscribe to the topic published in the delayed participant node A step of transmitting a synchronization response topic to the delayed participant node, the delayed participant node selecting a synchronization target node among a plurality of participant nodes, issuing a synchronization agreement topic, and transmitting the topic to a predetermined participant node And performing topic data synchronization between the delayed participant node and the participant node when the synchronization participant node subscribes to the synchronization participant topic at the selected participant node, wherein the synchronization includes a TCP / IP protocol between the delayed participant node and the participant node And is transmitted via the TCP / IP protocol, Data is provided by the topics published time and liver utilizing the In-memory DBMS-based real-time, characterized in that the configuration data, including the topic node DDS data synchronization method.

여기서, 상기 토픽 데이터는 토픽 타입 정보, 소스 IP 정보, 타겟 IP 정보를 포함하는 것이 바람직하다.Here, the topic data may include topic type information, source IP information, and target IP information.

그리고, 상기 토픽 데이터의 동기화는 상기 기참여 노드가 지연 참여 노드의 접속 요청을 대기는 리스닝 동작을 수행하는 중에 지연 참여 노드로부터 접속 요청 신호를 수신하면 접속을 승인하는 단계, 접속 과정이 성공적으로 수행된 후, 상기 지연 참여 노드가 동기화 할 토픽의 이름을 동기화 대상 기참여 노드로 전송하는 단계, 상기 토픽 이름을 수신한 동기화 대상 기참여 노드가 DBMS로부터 해당 토픽의 데이터를 획득하여 상기 지연 참여 노드로 전송하는 단계, 상기 지연 참여 노드가 동기화 대상 기참여 노드로부터 전달받은 토픽 데이터를 DBMS에 저장하여 해당 토픽에 대한 동기화 수행을 처리하는 단계, 동기화 수행이 필요한 토픽이 없는 경우 상기 지연 참여 노드가 동기화 종료 마크를 동기화 대상 기참여 노드에 전달하여 동기화 수행을 종료하는 단계를 포함하는 것이 바람직하다.The synchronization of the topic data may include a step of accepting a connection when the participant node receives an access request signal from a delay participating node while performing a listening operation waiting for a connection request of a delay participating node, A step of transmitting the name of the topic to be synchronized by the delayed participant node to the synchronization subject participant node, the synchronization subject base participant node having received the topic name acquires the data of the topic from the DBMS, Storing the topic data received from the participant participating in synchronization by the delayed participant node in the DBMS and processing synchronization for the topic, if the delayed participant node does not have a topic requiring synchronization, The mark is transmitted to the participant node of the synchronization target to terminate the synchronization Preferably comprises the steps:

삭제delete

또한, 상기 동기화 수행 완료 후, 해당 토픽의 마지막 발간 시간을 획득하고 도메인에 속한 기존 DDS 노드로부터 토픽 데이터를 구독하여 큐에 기저장된 토픽 데이터를 마지막 토픽 발간 시간 이후의 데이터만이 DBMS에 저장되도록 하는 것이 더욱 바람직하다.
After completing the synchronization, the DB server acquires the last issue time of the topic, subscribes topic data from an existing DDS node belonging to the domain, and stores only topic data stored in the queue after the last topic issue time in the DBMS Is more preferable.

본 발명에 따르면, 활용하면 데이터의 영속성을 보장하기 위한 DDS-DBMS 연동 도구 사용 시, 도메인에 새로운 DDS 노드를 참여하거나 기존 DDS 노드 중 시스템 장애 또는 오류로 인한 DDS 노드 간의 데이터 불일치를 해소할 수 있으며, 트랜잭션 처리 응답시간의 실시간성을 보장하는 In-memory 기반 실시간 DBMS를 활용하여 데이터 동기화로 인한 새로운 DDS 노드의 참여 지연시간을 최소화 할 수 있는 효과가 있다.
According to the present invention, when using the DDS-DBMS interworking tool to ensure data persistence, a new DDS node can be joined to the domain or a data inconsistency between DDS nodes due to a system failure or an error among existing DDS nodes can be eliminated , It is possible to minimize the participation delay time of a new DDS node due to data synchronization by utilizing an in-memory based real-time DBMS that guarantees real-time response of transaction processing response time.

도 1은 3-웨이 핸드 셰이킹 방법을 이용한 동기화 대상 DDS 노드 선정 방법에 대한 흐름도이다.
도 2는 3-웨이 핸드 셰이킹을 위한 토픽 데이터 구조를 도시한 것이다.
도 3은 TCP/IP 프로토콜 기반 동기화 데이터 구조를 나타낸 것이다.
도 4는 토픽 데이터 동기화 과정을 도시한 흐름도이다.
도 5는 중복 데이터 필터링 과정을 도시한 흐름도이다.
1 is a flowchart illustrating a method of selecting a synchronization target DDS node using a 3-way handshaking method.
Figure 2 illustrates a topic data structure for 3-way handshaking.
Figure 3 shows a TCP / IP protocol based synchronization data structure.
4 is a flowchart showing a topic data synchronization process.
5 is a flowchart illustrating a duplicated data filtering process.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

본 발명에서는 도메인에 새로운 DDS 노드가 참여하는 경우, 다른 DDS 노드간의 데이터 불일치를 해소하기 위한 동일 토픽을 발간/구독하는 기존 DDS 노드와의 데이터 동기화를 결정하기 위해 DDS 토픽 기반의 3-way 핸드셰이킹 (handshaking) 방법을 적용하였으며, 이를 위한 토픽 데이터의 구조를 제공한다. According to the present invention, when a new DDS node participates in a domain, in order to resolve data inconsistency between other DDS nodes, a DDS topic-based 3-way handshake We apply the handshaking method and provide the structure of topic data.

그리고, 도메인에 새로 참여한 DDS 노드와 기존 DDS 노드간의 동기화 데이터의 송/수신에는 TCP/IP 프로토콜을 적용하였으며, 이를 위한 동기화 방법 및 동기화 데이터 구조를 제공한다. Also, a TCP / IP protocol is applied to send / receive synchronization data between a new DDS node participating in the domain and the existing DDS node, and a synchronization method and a synchronization data structure for the DDS node are provided.

또한 토픽 데이터 동기화 이후, 도메인에 속한 다른 DDS 노드로부터 발간된 토픽으로 인해 발생한 중복 데이터를 제거하기 위한 중복 데이터 필터링 방법을 제안하였다. We also propose a redundant data filtering method to remove redundant data due to topics published from other DDS nodes in the domain after topic data synchronization.

이러한 본 발명의 주요 특징적인 기술의 내용을 이하의 도면들을 참고하여 상세하게 설명한다.
The main features of the present invention will be described in detail with reference to the following drawings.

도 1은 3-웨이 핸드 셰이킹 방법을 이용한 동기화 대상 DDS 노드 선정 방법에 대한 흐름도이고, 도 2는 3-웨이 핸드 셰이킹을 위한 토픽 데이터 구조를 도시한 것이다.FIG. 1 is a flowchart illustrating a method of selecting a synchronization target DDS node using a 3-way handshaking method, and FIG. 2 illustrates a topic data structure for 3-way handshaking.

도메인에 새로 참여하는 DDS 노드 즉, 지연 참여 노드(1)가 기존 DDS 노드 즉 기참여 노드(2)와의 데이터 불일치를 해소하기 위한 동기화를 수행함에 있어 동일 토픽을 발간/구독하는 DDS 노드 중 동기화 할 대상 DDS 노드를 선정하는 과정이 선행되어야 한다. 도 1과 2에서는 동기화할 대상 DDS 노드를 선정하는 방법에 적용한 3-way 핸드셰이킹 수행과 이를 위한 토픽 데이터 구조를 설명한다.A newly participating DDS node in the domain, that is, a delayed participating node (1) performs synchronization to solve a data inconsistency with an existing DDS node, that is, the participating node (2), and synchronizes among the DDS nodes that issue / The process of selecting the target DDS node should be preceded. In FIGS. 1 and 2, a 3-way handshaking method applied to a method of selecting a target DDS node to be synchronized and a topic data structure for the DDS node are described.

3-way 핸드셰이킹이란 클라이언트와 서버간의 통신을 위해 3단계의 과정을 거쳐 연결 통로를 확보하여 데이터 통신을 수행하는 것을 말하며, 도 1에서는 기참여 노드(2) 중 동기화할 대상 노드의 선정은 도메인에 지연 참여 노드(1)가 1) 동기화 요청 토픽 발간하고 이를 구독한 기참여 노드가 2) 동기화 응답 토픽 발간한다. 그리고 지연 참여 노드(1)가 이를 구독하여 동기화 대상 기참여 노드(2)를 선정해 해당 DDS 노드에 3) 동기화 동의 토픽 발간하는 3 단계로 수행된다.3-way handshaking refers to data communication by securing a connection path through a three-step process for communication between a client and a server. In FIG. 1, the selection of a target node to be synchronized among the participating nodes (2) The delayed participant node 1 in the domain 1) issues a synchronization request topic and the participating node 2) issues a synchronization response topic. Then, the delayed participant node 1 subscribes to it, selects the participant node 2 to be synchronized, and 3) performs synchronization synchronization topic publication to the corresponding DDS node.

도 1을 참조하면 우선, 지연 참여 노드(1)는 동기화 요청 토픽을 발간하여 이를 기참여 노드들(2)로 전송한다(S100).Referring to FIG. 1, first, the delay participant node 1 issues a synchronization request topic and transmits it to the participating nodes 2 (S100).

기참여 노드(2)들은 지연 참여 노드(1)에서 발간된 토픽을 구독하고(S110), 동기화 응답 토픽을 발간하여 지연 참여 노드(2)로 전송한다(S120).The participating nodes 2 subscribe to the topic published in the delayed participant node 1 at step S110 and issue a synchronization response topic to the delayed participant node 2 at step S120.

지연 참여 노드(1)는 복수 개의 기참여 노드(2)들 중에서 동기화 대상 노드를 선정하고(S130), 동기화 동의 토픽을 발간하여 선정된 기참여 노드(2)로 전송한다(S140).The delayed participant node 1 selects a synchronization target node among a plurality of existing participant nodes 2 (S130), and outputs a synchronization agreement topic to the selected participant node 2 (S140).

선정된 기참여 노드(2)에서 동기화 동의 토픽을 구독하면(S150), 지연 참여 노드(1)와 기참여 노드(2) 간에 토픽 데이터 동기화가 수행된다(S160).The topic synchronization is performed between the delayed participant node 1 and the participant node 2 (S160) when the synchronization agreement topic is subscribed at the selected base participant node 2 (S150).

도메인에 속한 기참여 노드(2) 중 동기화 대상 기참여 노드(2)를 선정하기 위한 토픽 데이터 구조는 도 2와 같이 토픽 타입(10), 소스 IP(20), 그리고 타겟 IP(30)를 포함하여구성된다.The topic data structure for selecting the synchronization target participant node 2 among the participant nodes 2 belonging to the domain includes the topic type 10, the source IP 20, and the target IP 30 as shown in FIG. 2 .

토픽 타입(10)은 3-way 핸드셰이킹을 위해 REQUEST, ANSWER, 그리고 AGREEMENT의 3 단계로 표현된다. 소스 IP(20)는 자신의 IP 주소를 타겟 IP는 상대방의 IP 주소를 나타내며, 지연 참여 노드(10)가 동일 토픽을 발간/구독하는 기참여 노드(2) 모두에게 동기화 요청을 하기 위해 동기화 요청 토픽의 타겟 IP(30)는 “ANY”로 설정하여 발간한다.
The topic type (10) is expressed in three levels of REQUEST, ANSWER, and AGREEMENT for 3-way handshaking. The source IP 20 indicates its own IP address, the target IP indicates the IP address of the other party, and the delayed participant node 10 issues a synchronization request to all participating nodes 2 that issue / The target IP 30 of the topic is set to " ANY "

도 3은 TCP/IP 프로토콜 기반 동기화 데이터 구조를 나타낸 것이다.Figure 3 shows a TCP / IP protocol based synchronization data structure.

도메인에 새로 참여한 지연 참여 노드(1)는 동기화 시, 앞서 설명한 방법으로 선정된 동기화 대상 기참여 노드(2)로부터 대량의 토픽 데이터를 전송 받아야 한다. 해당 동기화 데이터를 DDS를 통해 발간/구독할 수 있으나 기존에 도메인에 다수의 DDS 노드가 참여되어 있는 경우, 동기화 대상 DDS 노드 뿐만 아니라 다른 기존 DDS 노드에도 대량의 네트워크 트래픽을 유발할 수 있으므로 별도의 TCP/IP 프로토콜 기반 1:1 통신을 통해 동기화를 수행한다. 이하에서 TCP/IP 프로토콜 기반 동기화 데이터 구조 및 동기화 방법을 설명한다.The delayed participant node 1 newly participating in the domain must receive a large amount of topic data from the synchronization target participant node 2 selected in the above-described manner at the time of synchronization. The synchronization data can be published / subscribed through DDS. However, when a large number of DDS nodes are involved in the domain, it is possible to generate a large amount of network traffic not only to the DDS node to be synchronized but also to other existing DDS nodes. Synchronization is performed through 1: 1 communication based on IP protocol. Hereinafter, a TCP / IP protocol based synchronization data structure and synchronization method will be described.

TCP/IP 프로토콜을 통해 동기화 대상 기참여 노드(2)로부터 전송되는 동기화 데이터의 구조는 도 3에 도시된 바와 같이, 토픽 발간 시간(40)과 토픽 데이터(50)를 포함하여 구성된다. The structure of the synchronization data transmitted from the synchronization subject participant node 2 via the TCP / IP protocol is configured to include the topic issue time 40 and the topic data 50, as shown in FIG.

토픽 발간 시간(40)은 해당 토픽이 발간된 시간(포맷은 TIMESTAMP이며, 단위는 나노 세컨드임)을 의미하며, 해당 토픽의 마지막 동기화 시간을 획득하기 위해 사용된다. 토픽 데이터(50)는 동기화 대상 기참여 노드(2)가 자신의 DBMS로부터 미리 저장된 토픽 데이터를 획득하여 SQL 표준 데이터 타입으로 구성한 데이터를 나타낸다.
The topic publication time 40 means the time when the topic is published (format is TIMESTAMP, and the unit is nanosecond) and is used to obtain the last synchronization time of the topic. The topic data 50 represents data that the participant node 2 of synchronization acquires the topic data stored in advance from its DBMS and configures it as an SQL standard data type.

도 4는 토픽 데이터 동기화 과정을 도시한 흐름도이다.4 is a flowchart showing a topic data synchronization process.

도메인에 새로 참여한 지연 참여 노드(1)가 클라이언트로 선정된 동기화 대상 기참여 노드(2)는 서버로 구성하여 TCP/IP 기반 1:1 통신으로 토픽 데이터를 동기화 한다.The participant node (2), which is a newly joined delayed participant node (1) in the domain and is selected as a client, configures the server as a server and synchronizes the topic data by TCP / IP based 1: 1 communication.

도 4를 참조하면, 우선 기참여 노드(2)가 지연 참여 노드(1)의 접속 요청을 대기는 리스닝 동작을 수행하는 중에 지연 참여 노드(1)로부터 접속 요청 신호를 수신하고(S400, S410), 기참여 노드(2)가 접속을 승인한다(S420). 이때 지연 참여 노드(1)는 동기화 대상 기참여 노드(2)의 선정 과정에서 획득한 동기화 대상 기참여 노드(2)의 IP 주소를 이용하여 접속을 요청한다.4, the priority participating node 2 receives the connection request signal from the delay participating node 1 (S400, S410) while performing the listening operation waiting for the connection request of the delayed participant node 1, , The participant node 2 approves the connection (S420). At this time, the delay participant node 1 requests connection using the IP address of the participant node 2 acquired in the process of selecting the participant node 2 to be synchronized.

접속 과정이 성공적으로 수행된 후, 지연 참여 노드(1)는 동기화 할 토픽의 이름을 동기화 대상 기참여 노드(2)로 전송하고(S430), 이를 수신한 동기화 대상 기참여 노드(2)는 DBMS로부터 해당 토픽의 데이터를 획득하여 이를 지연 참여 노드(1)에 전송한다(S440, S450). After the connection process is successfully performed, the delayed participant node 1 transmits the name of the topic to be synchronized to the participant node 2 to be synchronized (S430) And transmits the data to the delayed participant node 1 (S440, S450).

그리고 지연 참여 노드(1)는 동기화 대상 기참여 노드(2)로부터 전달받은 토픽 데이터를 DBMS에 저장하여 해당 토픽에 대한 동기화 수행을 완료한다(S460). In step S460, the delay participant node 1 stores the topic data received from the synchronization subject participant node 2 in the DBMS and completes the synchronization for the topic.

다음으로 지연 참여 노드(1)는 동기화할 토픽이 존재한다면 토픽 이름을 동기화 대상 기참여 노드(2)에 전달해 동기화 데이터를 전송 받아 DBMS로 전달하는 과정을 반복한다. 만약 동기화 수행이 필요한 토픽이 없는 경우 지연 참여 노드(2)는 동기화 종료 마크를 동기화 대상 기참여 노드(2)에 전달하여 동기화 수행을 종료한다(S470).
Next, if there is a topic to be synchronized, the delayed participant node 1 transmits the topic name to the participant node 2 to be synchronized and transmits the synchronization data to the DBMS. If there is no topic requiring synchronization, the delay participating node 2 transmits a synchronization end mark to the synchronization target participant node 2 to terminate synchronization (S470).

도 5는 중복 데이터 필터링 과정을 도시한 흐름도로서, 도 5에서는 토픽 발간 시간을 활용한 중복 데이터 필터링 방법을 설명한다.FIG. 5 is a flowchart illustrating a duplicated data filtering process. FIG. 5 illustrates a duplicated data filtering method using a topic issuing time.

도메인에 새로 참여한 지연 참여 노드(1)는 동기화 대상 기참여 노드(2)와 동기화 하는 동안 도메인에 속한 기존 기참여 노드(2)들이 발간하는 토픽 데이터가 손실될 수 있다. The delayed participant node 1 newly participating in the domain may lose topic data published by the existing participant nodes 2 belonging to the domain while synchronizing with the synchronization subject participant node 2.

따라서, DDS2DBMS(3)는 본 발명에서는 동기화로 인해 발생하는 토픽 데이터의 손실을 방지하기 위해 동기화 대상 노드를 선정하기 전에 미리 도메인에 속한 기존 기참여 노드(2)로부터 토픽 데이터를 구독하여 별도의 큐 (Queue)에 저장한다(S500). Accordingly, in order to prevent the loss of topic data generated due to synchronization, the DDS2 DBMS (3) subscribes topic data from existing participant nodes (2) belonging to the domain in advance before selecting a synchronization target node, (S500).

동기화기(4)는 동기화 수행 완료 후(S510), 큐에 저장된 토픽 데이터를 DBMS에 저장하여 동기화 수행 동안 발생하는 토픽 데이터의 손실을 방지한다(S520). 다만 이로 인해 큐에 저장된 토픽 데이터 중 일부가 동기화 데이터에 포함될 수 있어 중복 데이터가 발생할 수 있다.After completing the synchronization (S510), the synchronizer 4 stores the topic data stored in the queue in the DBMS to prevent the loss of the topic data generated during the synchronization (S520). However, due to this, some of the topic data stored in the queue may be included in the synchronization data, and thus redundant data may be generated.

전술한 바와 같이 동기화 수행 동안 발생하는 토픽 데이터의 손실을 방지함으로써 발생하는 중복 데이터를 필터링 하는 방법은 다음과 같이 동기화 수행 완료 후, DBMS(5)가 토픽 데이터 발간 시간 정보를 동기화기(4)로 전송하면(S530), 동기화기(4)가 해당 토픽의 마지막 발간 시간을 획득하고 DDS2DBMS(3)로 마지막 토픽 발간 시간을 설정하고(S540), DDS2DBMS 서비스를 개시한다(S550). DDS2DBMS(3)는 도메인에 속한 기존 기참여 노드(2)로부터 토픽 데이터를 구독하여 큐에 저장한 토픽 데이터 중에서 마지막 토픽 발간 시간 이후의 데이터만을 DBMS(5)로 전송하여 중복 데이터를 필터링하고(S570), DBMS(5)는 필터링된 토픽 데이터를 저장한다(S580).
As described above, a method of filtering redundant data generated by preventing loss of topic data generated during synchronization is as follows. After completing the synchronization, the DBMS 5 sends the topic data publication time information to the synchronizer 4 (S530), the synchronizer 4 acquires the last issue time of the topic, sets the last topic issue time in the DDS2 DBMS 3 (S540), and starts the DDS2 DBMS service (S550). The DDS2 DBMS 3 subscribes the topic data from the existing participant node 2 belonging to the domain and transmits only the data after the last topic issue time among the topic data stored in the queue to the DBMS 5 to filter the duplicated data ), The DBMS 5 stores the filtered topic data (S580).

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
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 scope of the present invention as defined by the following claims It can be understood that

1 : 지연 참여 노드 2 : 기참여 노드
3 : DDS2DBMS 4 : 동기화기
5 : DBMS
1: delayed participating node 2: participating node
3: DDS2DBMS 4: Synchronizer
5: DBMS

Claims (5)

지연 참여 노드가 동기화 요청 토픽을 발간하여 기참여 노드들로 전송하는 단계; 기참여 노드들이 상기 지연 참여 노드에서 발간된 토픽을 구독하고, 동기화 응답 토픽을 발간하여 상기 지연 참여 노드로 전송하는 단계; 상기 지연 참여 노드가 복수 개의 기참여 노드들 중에서 동기화 대상 노드를 선정하고, 동기화 동의 토픽을 발간하여 선정된 기참여 노드로 전송하는 단계; 및 선정된 기참여 노드에서 동기화 동의 토픽을 구독하면, 상기 지연 참여 노드와 기참여 노드 간에 토픽 데이터 동기화가 수행되는 단계를 포함하되,
상기 동기화는 지연 참여 노드와 기참여 노드 간에 TCP/IP 프로토콜을 통해 수행되고, 상기 TCP/IP 프로토콜을 통해 동기화 대상 기참여 노드로부터 전송되는 동기화 데이터는 토픽 발간 시간과 토픽 데이터를 포함하여 구성되는 것을 특징으로 하는 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법.
The delayed participant node issues a synchronization request topic and transmits the synchronization request topic to the participant nodes; Wherein the participating nodes subscribe to the topic published in the delayed participant node, issue a synchronization response topic, and send the topic to the delayed participant node; Wherein the delayed participant node selects a synchronization target node among a plurality of base participant nodes, and outputs a synchronization agreement topic to the selected base participant node; And topic data synchronization is performed between the delayed participant node and a participant node when a synchronization agreement topic is subscribed at the selected base participant node,
The synchronization is performed through the TCP / IP protocol between the delayed participant node and the participant node, and the synchronization data transmitted from the participant node through the TCP / IP protocol includes the topic broadcast time and the topic data A method for data synchronization between DDS nodes using a real-time DBMS based on In-memory.
제 1 항에 있어서,
상기 토픽 데이터는 토픽 타입 정보, 소스 IP 정보, 타겟 IP 정보를 포함하는 것을 특징으로 하는 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법.
The method according to claim 1,
Wherein the topic data includes topic type information, source IP information, and target IP information.
제 2 항에 있어서,
상기 토픽 데이터의 동기화는
상기 기참여 노드가 지연 참여 노드의 접속 요청을 대기는 리스닝 동작을 수행하는 중에 지연 참여 노드로부터 접속 요청 신호를 수신하면 접속을 승인하는 단계;
접속 과정이 성공적으로 수행된 후, 상기 지연 참여 노드가 동기화 할 토픽의 이름을 동기화 대상 기참여 노드로 전송하는 단계;
상기 토픽 이름을 수신한 동기화 대상 기참여 노드가 DBMS로부터 해당 토픽의 데이터를 획득하여 상기 지연 참여 노드로 전송하는 단계;
상기 지연 참여 노드가 동기화 대상 기참여 노드로부터 전달받은 토픽 데이터를 DBMS에 저장하여 해당 토픽에 대한 동기화 수행을 처리하는 단계;
동기화 수행이 필요한 토픽이 없는 경우 상기 지연 참여 노드가 동기화 종료 마크를 동기화 대상 기참여 노드에 전달하여 동기화 수행을 종료하는 단계를 포함하는 것을 특징으로 하는 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법.
3. The method of claim 2,
The synchronization of the topic data
Accepting a connection request signal from the delayed participant node while the participant node performing a listening operation waiting for a connection request of the delayed participant node;
Transmitting a name of a topic to be synchronized by the delayed participant node to a synchronization target participant node after the connection process is successfully performed;
The synchronization subject participant node having received the topic name acquires data of the topic from the DBMS and transmits the data to the delay participant node;
Storing the topic data received by the delayed participant node from the synchronization participant participating node in the DBMS and processing synchronization for the topic;
If there is no topic that needs to be synchronized, the delayed participant node transmits a synchronization end mark to the synchronization target participant node to terminate the synchronization execution. How to synchronize data.
삭제delete 제 1 항에 있어서,
상기 동기화 수행 완료 후, 해당 토픽의 마지막 발간 시간을 획득하고 도메인에 속한 기존 DDS 노드로부터 토픽 데이터를 구독하여 큐에 기저장된 토픽 데이터를 마지막 토픽 발간 시간 이후의 데이터만이 DBMS에 저장되도록 하는 것을 특징으로 하는 In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법.
The method according to claim 1,
After completing the synchronization, acquiring the last issue time of the topic, subscribing the topic data from the existing DDS node belonging to the domain, and storing only the data after the last topic issue time of the topic data stored in the queue in the DBMS A method for data synchronization between DDS nodes using an in-memory based real-time DBMS.
KR1020140071708A 2014-06-12 2014-06-12 Method for synchronizing data between dds nodes using real-time dbms based on in-memory KR101582802B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140071708A KR101582802B1 (en) 2014-06-12 2014-06-12 Method for synchronizing data between dds nodes using real-time dbms based on in-memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140071708A KR101582802B1 (en) 2014-06-12 2014-06-12 Method for synchronizing data between dds nodes using real-time dbms based on in-memory

Publications (2)

Publication Number Publication Date
KR20150142957A KR20150142957A (en) 2015-12-23
KR101582802B1 true KR101582802B1 (en) 2016-01-08

Family

ID=55082215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140071708A KR101582802B1 (en) 2014-06-12 2014-06-12 Method for synchronizing data between dds nodes using real-time dbms based on in-memory

Country Status (1)

Country Link
KR (1) KR101582802B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020120B1 (en) * 2017-10-31 2019-09-09 서경대학교 산학협력단 Platform and method for interworking between secured dds and non-secured dds

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2301686A (en) * 1995-06-03 1996-12-11 Ibm Transaction synchronisation procedure in a routing node
KR101430239B1 (en) * 2007-10-24 2014-08-19 주식회사 케이티 Method and Apparatus for Synchronizing Data in Active-Active Database Server System
KR101031268B1 (en) * 2008-11-07 2011-04-29 삼성중공업 주식회사 Short range wireless communication system, method for having master node and slave node, and the master node
CN103619683B (en) 2011-06-22 2016-08-17 艾里逊变速箱公司 Low level oil detection system and method

Also Published As

Publication number Publication date
KR20150142957A (en) 2015-12-23

Similar Documents

Publication Publication Date Title
US9912538B2 (en) Synchronization of configuration file of virtual application distribution chassis
EP3490224B1 (en) Data synchronization method and system
US9838472B2 (en) Virtual application delivery chassis system
US20170070457A1 (en) Multiplexed demand signaled distributed messaging
US20150215400A1 (en) File Upload Method And System
US10404794B2 (en) Discovery and formation of local communication group
US20120323990A1 (en) Efficient state reconciliation
WO2017114111A1 (en) Asynchronous data synchronization method for distributed system
CN103491055A (en) Method for synchronizing information among clients, clients and server
CN107404512B (en) Resource subscription method, resource subscription device and resource subscription system
CN104486379B (en) A kind of parameter updating method and relevant device, system
CN103986789A (en) Method for realizing dual redundant of NFS (network file system) nodes in HADOOP HA (home address) cluster based on NFS
CN105787632A (en) Method and system for managing conference room
CN103763380B (en) A kind of method and system of synchronous demonstrating data
CN106717068B (en) The distance between a kind of NAN equipment measurement method and NAN equipment
CN107872492B (en) Method and device for supporting multi-user editing of data object at server
JP6555445B1 (en) Time synchronization system, time master, management master, and time synchronization method
CN112350973A (en) Remote procedure call load balancing method and device and data processing system
KR101582802B1 (en) Method for synchronizing data between dds nodes using real-time dbms based on in-memory
WO2016095699A1 (en) Method and apparatus for acquiring state of label switching path
CN113691616A (en) Micro-service synchronization method and device based on long polling and storage medium
CN107968825B (en) Message forwarding control method and device
WO2022042545A1 (en) Tsn industrial application server, client, system, service method, and storage medium
CN109831313B (en) Group communication method, apparatus and computer-readable storage medium
WO2016180141A1 (en) Virtual machine state management method and device

Legal Events

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

Payment date: 20190110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200203

Year of fee payment: 5