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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/327—Initiating, continuing or ending a single-mode communication; Handshaking therefor
- H04N1/32765—Initiating a communication
- H04N1/32771—Initiating a communication in response to a request, e.g. for a particular document
- H04N1/3278—Initiating 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
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 노드 간의 데이터를 동기화 하는 방법에 관한 것이다.
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.
본 발명은 상기와 같은 문제점을 해결하기 위하여 고안된 것으로 도메인에 새로운 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
도 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
지연 참여 노드(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
토픽 타입(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
도 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
TCP/IP 프로토콜을 통해 동기화 대상 기참여 노드(2)로부터 전송되는 동기화 데이터의 구조는 도 3에 도시된 바와 같이, 토픽 발간 시간(40)과 토픽 데이터(50)를 포함하여 구성된다. The structure of the synchronization data transmitted from the synchronization
토픽 발간 시간(40)은 해당 토픽이 발간된 시간(포맷은 TIMESTAMP이며, 단위는 나노 세컨드임)을 의미하며, 해당 토픽의 마지막 동기화 시간을 획득하기 위해 사용된다. 토픽 데이터(50)는 동기화 대상 기참여 노드(2)가 자신의 DBMS로부터 미리 저장된 토픽 데이터를 획득하여 SQL 표준 데이터 타입으로 구성한 데이터를 나타낸다.
The
도 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
접속 과정이 성공적으로 수행된 후, 지연 참여 노드(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
그리고 지연 참여 노드(1)는 동기화 대상 기참여 노드(2)로부터 전달받은 토픽 데이터를 DBMS에 저장하여 해당 토픽에 대한 동기화 수행을 완료한다(S460). In step S460, the delay participant node 1 stores the topic data received from the synchronization
다음으로 지연 참여 노드(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
도 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
따라서, 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
전술한 바와 같이 동기화 수행 동안 발생하는 토픽 데이터의 손실을 방지함으로써 발생하는 중복 데이터를 필터링 하는 방법은 다음과 같이 동기화 수행 완료 후, 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
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
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.
상기 토픽 데이터는 토픽 타입 정보, 소스 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.
상기 토픽 데이터의 동기화는
상기 기참여 노드가 지연 참여 노드의 접속 요청을 대기는 리스닝 동작을 수행하는 중에 지연 참여 노드로부터 접속 요청 신호를 수신하면 접속을 승인하는 단계;
접속 과정이 성공적으로 수행된 후, 상기 지연 참여 노드가 동기화 할 토픽의 이름을 동기화 대상 기참여 노드로 전송하는 단계;
상기 토픽 이름을 수신한 동기화 대상 기참여 노드가 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.
상기 동기화 수행 완료 후, 해당 토픽의 마지막 발간 시간을 획득하고 도메인에 속한 기존 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.
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)
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)
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 |
-
2014
- 2014-06-12 KR KR1020140071708A patent/KR101582802B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20150142957A (en) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9154577B2 (en) | Sychronization of configuration file of virtual application distribution chassis | |
US10367852B2 (en) | Multiplexed demand signaled distributed messaging | |
US9838472B2 (en) | Virtual application delivery chassis system | |
EP3490224A1 (en) | Data synchronization method and system | |
JP6164747B2 (en) | Method for flow control in a collaborative environment and for reliable communication | |
US20120323990A1 (en) | Efficient state reconciliation | |
US20200162546A1 (en) | Discovery and formation of local communication group | |
WO2017114111A1 (en) | Asynchronous data synchronization method for distributed system | |
US20190089648A1 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
CN107404509B (en) | Distributed service configuration system and information management method | |
US10142422B2 (en) | Clustering websocket communications with configurable master-slave servers | |
JP6555445B1 (en) | Time synchronization system, time master, management master, and time synchronization method | |
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 | |
JP2008172694A (en) | Apparatus, method and program for maintaining connection | |
CN103763380B (en) | A kind of method and system of synchronous demonstrating data | |
US20080208959A1 (en) | Hanging request system and method for client/server communication | |
CN112350973A (en) | Remote procedure call load balancing method and device and data processing system | |
CN110636127A (en) | Communication processing method and system between information data | |
WO2016090921A1 (en) | Session control method and device | |
CN107872492B (en) | Method and device for supporting multi-user editing of data object at server | |
CN109257448B (en) | Session information synchronization method and device, electronic equipment and storage medium | |
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 |
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 |