KR102396923B1 - Performance verification method in data distribution service - Google Patents

Performance verification method in data distribution service Download PDF

Info

Publication number
KR102396923B1
KR102396923B1 KR1020210191527A KR20210191527A KR102396923B1 KR 102396923 B1 KR102396923 B1 KR 102396923B1 KR 1020210191527 A KR1020210191527 A KR 1020210191527A KR 20210191527 A KR20210191527 A KR 20210191527A KR 102396923 B1 KR102396923 B1 KR 102396923B1
Authority
KR
South Korea
Prior art keywords
mock
subscriber
data
publisher
topic
Prior art date
Application number
KR1020210191527A
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 KR1020210191527A priority Critical patent/KR102396923B1/en
Application granted granted Critical
Publication of KR102396923B1 publication Critical patent/KR102396923B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a performance verification method, and more specifically, to a performance verification method for verifying data transfer performance between a publisher and a subscriber in a data distribution service. The performance verification method according to an embodiment of the present invention is a performance verification method for verifying data transfer performance between a publisher and a subscriber in a data distribution service (DDS) that uses an interface description language (IDL), and performance verification method includes: creating an interface description language; and analyzing a log generated while transmitting and receiving verification data generated using the created interface description language in a node providing the data distribution service.

Description

데이터 분산 서비스에서 성능 검증 방법{PERFORMANCE VERIFICATION METHOD IN DATA DISTRIBUTION SERVICE}PERFORMANCE VERIFICATION METHOD IN DATA DISTRIBUTION SERVICE

본 발명은 성능 검증 방법에 관한 것으로서, 보다 상세하게는 데이터 분산 서비스에서 발행자와 구독자 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법에 관한 것이다.The present invention relates to a performance verification method, and more particularly, to a performance verification method for verifying data transfer performance between a publisher and a subscriber in a data distribution service.

현대 전은 정보 우위를 기반으로 전쟁을 수행하는 네트워크 중심전으로 빠르게 변화하고 있으며, 그 핵심 수단으로 전술 데이터 링크가 사용되고 있다. 예를 들어, 공군의 방공 지휘 통제 시스템은 지휘 통제 시스템 간 전술 데이터 교환을 위하여 다양한 전술 데이터 링크를 운용하고 있다.Modern warfare is rapidly changing to a network-centric warfare in which warfare is waged based on information superiority, and tactical data links are used as a key means of this. For example, the air defense command and control system of the Air Force operates various tactical data links to exchange tactical data between command and control systems.

이와 같이 다양한 전술 데이터 링크를 운용하는 경우, 서로 다른 전술 데이터링크 간의 연동시에는 메시지 변환 지연 발생과 서로 다른 메시지 표준으로 인하여 상호 운용성에 문제가 발생된다. 또한, 차기 공군 방공 지휘 통제 시스템은 다양한 전술 데이터 링크를 구비하여, 기존의 방공 지휘 통제 체계와 전술 정보를 공유하는 것을 목적으로 하므로, 상호 운용성의 확보는 더욱더 중요한 문제로 인식되고 있다.In the case of operating various tactical data links as described above, interoperability problems occur due to message conversion delay and different message standards when interworking between different tactical data links. In addition, since the next air defense command and control system is equipped with various tactical data links and aims to share tactical information with the existing air defense command and control system, securing interoperability is recognized as an increasingly important issue.

데이터 분산 서비스(DDS; Data Distribution Service)는 데이터 분산 환경을 조성하기 위한 통신 미들웨어(middleware)로서, 표준화 단체인 OMG(Object Management Group)에 의해 2004년에 국제 표준으로서 제정되었다. 이와 같은 데이터 분산 서비스는 시스템 간의 상호 운용성이 우수하여, 이를 이용한 유연한 전술정보 교환 구조 제안이 가능하다.Data Distribution Service (DDS) is communication middleware for creating a data distribution environment, and was established as an international standard in 2004 by Object Management Group (OMG), a standardization organization. Such a data distribution service has excellent interoperability between systems, and it is possible to propose a flexible tactical information exchange structure using it.

데이터 분산 서비스에서는 데이터를 제공하는 발행자(publisher)와 데이터를 제공받는 구독자(subscriber) 간의 데이터 전달을 위하여 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하고 있다. 이러한 인터페이스 정의 언어는 발행자와 구독자 사이에서 전달되는 데이터의 구조를 정의하는 언어로서, 사용 환경에 따라 다양한 형태로 제작될 수 있다. In the data distribution service, an Interface Description Language (IDL) is used to transfer data between a publisher who provides data and a subscriber who receives data. Such an interface definition language is a language that defines the structure of data transmitted between a publisher and a subscriber, and may be produced in various forms depending on the usage environment.

종래에는, 데이터 분산 서비스에서 발행자와 구독자 간의 데이터 전달 성능을 검증하기 위하여, 발행자에 설치된 응용 프로그램의 로그와 구독자에 설치된 응용 프로그램의 로그를 비교하여 정상 또는 오류 동작 여부를 판단하였다. 그러나, 이와 같은 과정에 의하여 데이터 전달 성능을 검증하는 경우, 인터페이스 정의 언어가 제작될 때마다 데이터 분산 서비스에 발행자와 구독자를 가입시킨 후 실제 데이터 전달 과정에서 발생하는 로그를 분석해야 하므로, 절차가 복잡하고, 검증 과정에 많은 시간이 소요되는 문제점이 있었다.Conventionally, in order to verify data transfer performance between a publisher and a subscriber in a data distribution service, the log of the application installed in the publisher and the log of the application installed in the subscriber are compared to determine whether the operation is normal or erroneous. However, in case of verifying data delivery performance by such a process, whenever an interface definition language is produced, publishers and subscribers are subscribed to the data distribution service, and then the log generated during the actual data delivery process needs to be analyzed, which makes the procedure complicated. And, there was a problem that the verification process takes a lot of time.

KRKR 10-2012-0069449 10-2012-0069449 AA

본 발명은 데이터 분산 서비스에서 발행자와 구독자 간의 데이터 전달 성능을 용이하게 검증할 수 있는 성능 검증 방법을 제공한다.The present invention provides a performance verification method that can easily verify data delivery performance between a publisher and a subscriber in a data distribution service.

본 발명의 실시 예에 따른 성능 검증 방법은, 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하는 데이터 분산 서비스(DDS; Data Distribution Service)에서 발행자(publisher)와 구독자(subscriber) 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법으로서, 인터페이스 정의 언어를 제작하는 과정; 및 제작된 인터페이스 정의 언어를 이용하여 생성된 검증 데이터를 상기 데이터 분산 서비스를 제공하는 노드 내에서 송수신하는 중에 발생하는 로그를 분석하는 과정;을 포함한다.The performance verification method according to an embodiment of the present invention provides data delivery performance between a publisher and a subscriber in a Data Distribution Service (DDS) using an Interface Description Language (IDL). A performance verification method for verification, comprising: producing an interface definition language; and a process of analyzing a log generated while transmitting/receiving verification data generated using the manufactured interface definition language within a node providing the data distribution service.

또한, 본 발명의 실시 예에 따른 성능 검증 방법은, 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하는 데이터 분산 서비스(DDS; Data Distribution Service)에서 발행자(publisher)와 구독자(subscriber) 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법으로서, 인터페이스 정의 언어를 제작하는 과정; 제작된 인터페이스 정의 언어에 따른 검증 데이터를 발행하기 위한 모의 발행기를 생성하는 과정; 상기 모의 발행기로부터 검증 데이터를 구독하기 위한 모의 구독기를 생성하는 과정; 및 상기 모의 발행기로부터 상기 모의 구독기로 검증 데이터를 전달하는 중에 발생하는 로그를 분석하는 과정;을 포함할 수 있다.In addition, the performance verification method according to an embodiment of the present invention transmits data between a publisher and a subscriber in a Data Distribution Service (DDS) using an Interface Description Language (IDL). A performance verification method for verifying performance, comprising: producing an interface definition language; generating a mock issuer for issuing verification data according to the produced interface definition language; generating a mock subscriber for subscribing verification data from the mock publisher; and analyzing a log generated while transmitting verification data from the mock issuer to the mock subscriber.

상기 인터페이스 정의 언어는, 서로 다른 언어를 사용하는 발행자와 구독자 간의 통신을 위해 사용하는 프로그래밍 언어를 포함할 수 있다.The interface definition language may include a programming language used for communication between publishers and subscribers who use different languages.

상기 검증 데이터는, 상기 데이터 분산 서비스에서 데이터를 분류하기 위해 사용되는 토픽(topic)을 포함할 수 있다.The verification data may include a topic used to classify data in the data distribution service.

상기 모의 발행기를 생성하는 과정은, 제작된 인터페이스 정의 언어를 해석하여 모의 발행기 제작을 위한 소스 코드를 생성하는 과정; 및 상기 소스 코드를 컴파일하여 모의 발행기를 제작하는 과정;을 포함할 수 있다.The process of generating the mock issuer may include: generating a source code for manufacturing the mock issuer by interpreting the produced interface definition language; and compiling the source code to produce a mock issuer.

상기 모의 발행기는, 상기 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션을 포함할 수 있다.The mock publisher may include a sending application that mimics the data sending function of the publisher.

상기 모의 발행기는, 상기 데이터 분산 서비스에 발행기로의 가입을 선언하기 위한 모의 발행기 선언부; 및 상기 모의 구독기로 토픽을 송신하고, 토픽 송신 중에 발생하는 로그를 출력하기 위한 토픽 송신 및 로그 출력부;을 포함할 수 있다.The mock issuer may include: a mock issuer declaration unit for declaring subscription to the issuer in the data distribution service; and a topic transmission and log output unit for transmitting a topic to the simulated subscriber and outputting a log generated during topic transmission.

상기 모의 발행기는, 상기 모의 구독기로의 토픽 송신이 종료되면, 데이터 송신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 발행기 삭제부;를 더 포함할 수 있다.The mock issuer may further include a mock issuer deletion unit configured to delete the occupied memory in order to perform a data transmission function when the topic transmission to the mock subscriber is finished.

상기 모의 구독기를 생성하는 과정은, 제작된 인터페이스 정의 언어를 해석하여 모의 구독기 제작을 위한 소스 코드를 생성하는 과정; 및 상기 소스 코드를 컴파일하여 모의 구독기를 제작하는 과정;을 포함할 수 있다.The generating of the simulated subscriber may include: generating a source code for creating a simulated subscriber by interpreting the produced interface definition language; and compiling the source code to produce a simulated subscriber.

상기 모의 구독기는, 상기 구독자의 데이터 수신 기능을 모사하는 수신 애플리케이션을 포함할 수 있다.The simulated subscriber may include a receiving application simulating the data reception function of the subscriber.

상기 모의 구독기는, 상기 데이터 분산 서비스에 구독기로의 가입을 선언하기 위한 모의 구독기 선언부; 및 상기 모의 발행기로부터 토픽을 수신하고, 토픽 수신 중에 발생하는 로그를 출력하기 위한 토픽 수신 및 로그 출력부;을 포함할 수 있다.The simulated subscriber includes: a simulated subscriber declaration unit for declaring subscription to the data distribution service as a subscriber; and a topic receiving and log output unit for receiving a topic from the mock publisher and outputting a log generated during topic reception.

상기 모의 구독기는, 상기 모의 발행기로부터 토픽 수신이 종료되면, 데이터 수신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 구독기 삭제부;를 더 포함할 수 있다.The mock subscriber may further include a mock subscriber deletion unit for deleting the memory occupied in order to perform a data reception function when the topic reception from the mock publisher is finished.

상기 로그를 분석하는 과정은, 상기 모의 발행기 및 상기 모의 구독기로부터 출력되는 로그를 입력받기 위한 분석기를 생성하는 과정;을 포함할 수 있다.The process of analyzing the log may include generating an analyzer for receiving the log output from the simulated publisher and the simulated subscriber.

상기 분석기는 입력받은 로그를 분석하여 상기 모의 발행와 모의 구독기 간의 데이터 전달 성능을 평가하는 분석 애플리케이션을 포함할 수 있다.The analyzer may include an analysis application that analyzes the received log to evaluate data transfer performance between the mock publication and the mock subscription period.

한편, 본 발명의 실시 예에 따른 기록 매체는, 전술한 어느 하나의 성능 검증 방법을 수행하기 위한 컴퓨터 프로그램을 저장한 기록 매체일 수 있다.Meanwhile, the recording medium according to an embodiment of the present invention may be a recording medium storing a computer program for performing any one of the above-described performance verification methods.

본 발명의 실시 예에 따르면, 데이터 분산 서비스를 제공하는 노드 내에서 데이터 전달 성능을 검증함으로써, 인터페이스 정의 언어의 제작시 발행자와 구독자를 실제로 가입시키지 않고 발행자와 구독자 간의 데이터 전달 성능을 간단하게 검증할 수 있다.According to an embodiment of the present invention, by verifying the data transfer performance within the node that provides the data distribution service, it is possible to simply verify the data transfer performance between the publisher and the subscriber without actually subscribing the publisher and the subscriber when the interface definition language is produced. can

또한, 발행자와 구독자에 각각 설치된 응용 프로그램의 로그를 비교 분석하기 위한 별도의 검증 도구를 제작할 필요가 없으며, 발행자와 구독자가 데이터 분산 서비스에 가입하기 전에, 제작된 인터페이스 정의 언어에 따른 발행자와 구독자 간의 데이터 전달 성능을 미리 예측할 수 있다.In addition, there is no need to create a separate verification tool to compare and analyze the log of each application installed in the publisher and subscriber, and before the publisher and subscriber subscribe to the data distribution service, the interface between the publisher and the subscriber according to the created interface definition language Data transfer performance can be predicted in advance.

도 1은 본 발명의 실시 예에 따른 성능 검증 방법을 개략적으로 나타내는 도면.
도 2는 본 발명의 실시 예에 따라 생성된 모의 발행기의 구조를 나타내는 도면.
도 3은 본 발명의 실시 예에 따라 생성된 모의 구독기의 구조를 나타내는 도면.
1 is a diagram schematically illustrating a performance verification method according to an embodiment of the present invention;
2 is a diagram showing the structure of a mock issuer created according to an embodiment of the present invention.
3 is a diagram showing the structure of a simulated subscriber generated according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 발명의 실시 예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 발명을 상세하게 설명하기 위해 도면은 과장되어 도시될 수 있으며, 도면상에서 동일 부호는 동일한 요소를 지칭한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only the embodiments of the present invention allow the disclosure of the present invention to be complete, and the scope of the invention to those of ordinary skill in the art It is provided to fully inform In order to describe the invention in detail, the drawings may be exaggerated, and like reference numerals refer to like elements in the drawings.

도 1은 본 발명의 실시 예에 따른 성능 검증 방법을 개략적으로 나타내는 도면이다.1 is a diagram schematically illustrating a performance verification method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 성능 검증 방법은, 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하는 데이터 분산 서비스(DDS; Data Distribution Service)에서 발행자(publisher)와 구독자(subscriber) 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법으로서, 인터페이스 정의 언어를 제작하는 과정 및 제작된 인터페이스 정의 언어를 이용하여 생성된 검증 데이터를 상기 데이터 분산 서비스를 제공하는 노드 내에서 송수신하는 중에 발생하는 로그를 분석하는 과정을 포함한다.Referring to FIG. 1 , in a performance verification method according to an embodiment of the present invention, a publisher and a subscriber in a Data Distribution Service (DDS) using an Interface Description Language (IDL) ) as a performance verification method for verifying data transfer performance between It includes the process of analyzing the log.

보다 상세하게는, 본 발명의 실시 예에 따른 성능 검증 방법은, 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하는 데이터 분산 서비스(DDS; Data Distribution Service)에서 발행자(publisher)와 구독자(subscriber) 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법으로서, 인터페이스 정의 언어를 제작하는 과정(S100), 제작된 인터페이스 정의 언어에 따른 검증 데이터를 발행하기 위한 모의 발행기를 생성하는 과정(S300), 상기 모의 발행기로부터 검증 데이터를 구독하기 위한 모의 구독기를 생성하는 과정(S400) 및 상기 모의 발행기로부터 상기 모의 구독기로 검증 데이터를 전달하는 중에 발생하는 로그를 분석하는 과정(S600)을 포함할 수 있다.More specifically, in the performance verification method according to an embodiment of the present invention, a publisher and a subscriber in a Data Distribution Service (DDS) using an Interface Description Language (IDL). As a performance verification method for verifying data transfer performance between the interfaces, the process of producing an interface definition language (S100), the process of generating a mock issuer for issuing verification data according to the produced interface definition language (S300), the mock issuer It may include a process of generating a simulated subscriber for subscribing to the validation data from (S400) and a process of analyzing a log generated while transferring validation data from the simulated publisher to the simulated subscriber (S600).

데이터 분산 서비스(DDS; Data Distribution Service)는 발행(publish)/구독(subscribe) 모델에 기반하여 분산 환경을 위한 데이터 중심 프로그램 모델에 대한 표준화의 필요성에 의해 만들어진 신뢰성 있는 실시간 데이터 통신 미들웨어 표준이다. 데이터 분산 서비스의 목적은 통신에 참여하는 애플리케이션의 위치나 존재에 상관없이 데이터를 전송할 수 있도록 복잡한 네트워크 프로그래밍을 단순화하여 분산 어플리케이션의 설계 및 구현을 단순화하는 것이다. 데이터 분산 서비스 표준은 API 표준을 서술한 DCPS(DDSv1.2 API Standard)와 네트워크 계층 통신 프로토콜을 서술한 RTPS(RTPS v2.1 Wire Protocol Standard)로 구성되어 있다. 여기서, DCPS(Data Centric Publisher/Subscriber)는 발행/구독 모델에 기반한 데이터 교환 기능을 제공하는 인터페이스 규격이다.Data Distribution Service (DDS) is a reliable real-time data communication middleware standard created by the need for standardization of a data-centric program model for a distributed environment based on a publish/subscribe model. The purpose of the data distribution service is to simplify the design and implementation of distributed applications by simplifying complex network programming so that data can be transmitted regardless of the location or existence of the application participating in the communication. The data distribution service standard consists of DCPS (DDSv1.2 API Standard), which describes the API standard, and RTPS (RTPS v2.1 Wire Protocol Standard), which describes the network layer communication protocol. Here, DCPS (Data Centric Publisher/Subscriber) is an interface standard that provides a data exchange function based on a publish/subscribe model.

이와 같은, 데이터 분산 서비스는 동적으로 네트워크 데이터 도메인을 형성하고, 각각의 임베디드(embedded) 기기나 모바일 기기들이 네트워크 데이터 도메인을 통해 자유로운 참여나 탈퇴가 가능한 데이터 통신 환경을 제공할 수 있기 때문에 국방 분야에 적용될 수 있는 적합한 미들웨어로써 활용될 수 있다.Such a data distribution service dynamically forms a network data domain, and each embedded device or mobile device can provide a data communication environment in which free participation or withdrawal is possible through the network data domain. It can be used as suitable middleware that can be applied.

데이터 분산 서비스는 서버(server), 단말(terminal), 그 밖의 네트워크 장치 등과 같은 노드(node)에 의하여 제공된다. 노드는 데이터 분산 서비스를 위한 데이터 분산 서비스 네트워크를 구성하며, 데이터 분산 서비스 네트워크는 데이터의 공유 영역인 도메인(Domain)으로 구분된다.The data distribution service is provided by a node such as a server, a terminal, and other network devices. Nodes constitute a data distribution service network for data distribution services, and the data distribution service network is divided into domains, which are data sharing areas.

도메인 내에는 하나 이상의 참여자(Participant)를 포함할 수 있는데, 여기서 참여자는 하나 이상의 발행자(Publisher) 또는 구독자(Subscriber)를 가질 수 있다. 이때, 발행자는 데이터를 제공하는 서버, 단말, 그 밖의 네트워크 장치 등과 같은 노드를 포함할 수 있으며, 구독자는 데이터를 제공받는 서버, 단말, 그 밖의 네트워크 장치 등과 같은 노드를 포함할 수 있다. 여기서, 발행자 및 구독자는 데이터 분산 서비스에 실제 가입하여 상호 간의 데이터 전달을 수행하는 객체(object)로서, 애플리케이션으로 구성되는 후술할 모의 발행기 및 모의 구독기와는 구별된다.A domain may include one or more participants (Participant), where a participant may have one or more publishers or subscribers. In this case, the publisher may include a node such as a server, terminal, or other network device that provides data, and the subscriber may include a node such as a server, terminal, and other network device that receives data. Here, the publisher and the subscriber are objects that actually subscribe to the data distribution service and transfer data to each other, and are distinguished from a mock publisher and a mock subscriber, which will be described later, which are composed of an application.

인터페이스 정의 언어를 제작하는 과정(S100)은, 데이터 분산 서비스에 사용되는 인터페이스 정의 언어를 생성 또는 수정한다. 여기서, 인터페이스 정의 언어는, 서로 다른 언어를 사용하는 발행자와 구독자 간의 통신을 위해 사용하는 프로그래밍 언어를 포함할 수 있다. 인터페이스 정의 언어는 다양한 전술 데이터 링크를 운용하는 경우, 서로 다른 전술 데이터링크 간의 연동을 위하여 발행자와 구독자 사이에서 전달되는 데이터의 구조를 정의하는 언어로서, 사용 환경에 따라 다양한 형태로 제작될 수 있다. In the process of producing the interface definition language ( S100 ), an interface definition language used for a data distribution service is created or modified. Here, the interface definition language may include a programming language used for communication between publishers and subscribers using different languages. The interface definition language is a language that defines the structure of data transmitted between a publisher and a subscriber for interworking between different tactical data links when various tactical data links are operated.

인터페이스 정의 언어를 제작하는 과정(S100) 이후에는, 인터페이스 정의 언어를 해석하는 과정(S200)이 수행될 수 있다. 인터페이스 정의 언어를 해석하는 과정(S200)은 인터페이스 정의 언어의 파일 구문을 해석하여 수행될 수 있다. 인터페이스 정의 언어에는 데이타의 자료 구조를 정의하기 위한 파일 구문이 포함되어 있다. 따라서, 인터페이스 정의 언어를 해석하는 과정(S200)에서는 이와 같은 파일 구문을 해석하여 데이터 분산 서비스에서 전달되는 데이터의 자료 구조를 파악한다.After the process of producing the interface definition language ( S100 ), the process of interpreting the interface definition language ( S200 ) may be performed. The process of analyzing the interface definition language ( S200 ) may be performed by analyzing the file syntax of the interface definition language. The interface definition language includes a file syntax for defining the data structure of data. Accordingly, in the process of interpreting the interface definition language ( S200 ), the data structure of data transmitted from the data distribution service is identified by analyzing the file syntax.

모의 발행기를 생성하는 과정(S300)은 제작된 인터페이스 정의 언어에 따른 검증 데이터를 발행하기 위한 모의 발행기를 생성한다. 여기서, 검증 데이터는 상기 데이터 분산 서비스에서 데이터를 분류하기 위해 사용되는 토픽(topic)을 포함할 수 있으며, 모의 발행기는 데이터 분산 서비스에 가입하는 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션을 포함할 수 있다. 즉, 데이터 분산 서비스에 가입하는 실제 발행자는 데이터를 제공하는 서버, 단말, 그 밖의 네트워크 장치 등과 같은 노드를 포함하는 반면, 모의 발행자는 발행자의 데이터 송신 기능을 모사하도록 데이터 분산 서비스의 노드 내에서 제작되는 송신 애플리케이션이라는 점에서 차이가 있다.The process of generating a mock issuer ( S300 ) creates a mock issuer for issuing verification data according to the produced interface definition language. Here, the verification data may include a topic used to classify data in the data distribution service, and the mock issuer may include a transmission application that mimics the data transmission function of a publisher subscribing to the data distribution service. there is. That is, the real publisher subscribing to the data distribution service includes nodes such as servers, terminals, and other network devices that provide data, while the mock publisher is created within the nodes of the data distribution service to mimic the data transmission function of the publisher. It is different in that it is a sending application.

모의 발행기를 생성하는 과정(S300)은 제작된 인터페이스 정의 언어를 해석하여 모의 발행기 제작을 위한 소스 코드를 생성하는 과정(S310) 및 상기 소스 코드를 컴파일하여 모의 발행기를 제작하는 과정(S320)을 포함할 수 있다.The process of generating the mock issuer (S300) includes a process of generating a source code for manufacturing a mock machine by interpreting the produced interface definition language (S310) and a step of compiling the source code to produce a mock machine (S320) can do.

모의 발행기 제작을 위한 소스 코드를 생성하는 과정(S310)은 제작된 인터페이스 정의 언어를 해석하여 모의 발행기 제작을 위한 소스 코드를 생성한다. 소스 코드는 애플리케이션, 예를 들어 응용 프로그램과 같은 소프트웨어의 제작에 사용되는 설계 파일로, 컴퓨터에 입력하는 경우 애플리케이션을 바로 제작할 수 있도록 구성된 설계 파일이다. 이와 같은 소스 코드는 컴파일러에 입력되는 경우 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션으로 변환되게 된다.In the process of generating the source code for the mock machine production ( S310 ), the source code for the mock machine production is generated by interpreting the produced interface definition language. A source code is a design file used in the production of an application, for example, software such as an application program, and is a design file configured to produce an application immediately when inputted to a computer. When such source code is input to the compiler, it is converted into a sending application that mimics the publisher's data sending function.

모의 발행기를 제작하는 과정(S320)은 소스 코드를 컴파일하여 모의 발행기를 제작한다. 전술한 바와 같이 모의 발행기 제작을 위한 소스 코드를 생성하는 과정(S310)에서 생성된 소스 코드에는 애플리케이션, 예를 들어 응용 프로그램과 같은 소프트웨어의 제작에 필요한 모든 정보가 저장되어 있다. 따라서, 모의 발행기를 제작하는 과정(S320)에서는 이와 같은 소스 코드를 컴파일러에 입력하여 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션을 제작한다.In the process of producing a mock issuer ( S320 ), the source code is compiled to produce a mock issuer. As described above, the source code generated in the process ( S310 ) of generating the source code for the production of the mock issuer stores all information necessary for the production of the application, for example, software such as the application program. Accordingly, in the process (S320) of manufacturing a mock issuer, such a source code is input to a compiler to produce a transmission application simulating the publisher's data transmission function.

도 2는 본 발명의 실시 예에 따라 생성된 모의 발행기의 구조를 나타내는 도면이다.2 is a diagram showing the structure of a mock issuer created according to an embodiment of the present invention.

도 2를 참조하면, 모의 발행기를 제작하는 과정(S320)에서 제작된 모의 발행기(300)는, 데이터 분산 서비스에 발행기로의 가입을 선언하기 위한 모의 발행기 선언부(310) 및 상기 모의 구독기(400)로 토픽을 송신하고, 토픽 송신 중에 발생하는 로그를 출력하기 위한 토픽 송신 및 로그 출력부(320)을 포함할 수 있다.Referring to FIG. 2 , the mock issuer 300 produced in the process of manufacturing the mock issuer ( S320 ) includes a mock issuer declaration unit 310 and the mock subscriber 400 for declaring subscription to a data distribution service as an issuer. ) to transmit a topic and may include a topic transmission and log output unit 320 for outputting a log generated during topic transmission.

모의 발행기 선언부(310)는 데이터 분산 서비스에 발행기로의 가입을 선언한다. 즉, 모의 발행기 선언부(310)는 데이터 송신 기능을 모사하는 송신 애플리케이션에 설치된 기능부로서, 데이터 분산 서비스에 가입하는 실제 발행자와 같이 데이터 분산 서비스에 발행기로의 가입을 선언하는 기능을 수행한다.The mock issuer declaration unit 310 declares a subscription to the data distribution service as an issuer. That is, the mock issuer declaration unit 310 is a functional unit installed in the transmission application that simulates the data transmission function, and performs a function of declaring subscription to the data distribution service as an issuer like an actual publisher subscribing to the data distribution service.

토픽 송신 및 로그 출력부(320)는 모의 구독기(400)로 토픽을 송신하고, 토픽 송신 중에 발생하는 로그를 출력한다. 즉, 토픽 송신 및 로그 출력부(320) 역시 데이터 송신 기능을 모사하는 송신 애플리케이션에 설치된 기능부로서, 토픽을 생성하고, 모의 구독기(400)로 토픽을 송신하며, 토픽 송신 중에 발생하는 로그를 출력하는 기능을 수행한다.The topic transmission and log output unit 320 transmits a topic to the simulated subscriber 400 and outputs a log generated during topic transmission. That is, the topic transmission and log output unit 320 is also a functional unit installed in the transmission application that simulates the data transmission function, generates a topic, transmits the topic to the simulated subscriber 400, and outputs a log generated during topic transmission. perform the function

한편, 모의 발행기(300)는 모의 구독기(400)로의 토픽 송신이 종료되면, 데이터 송신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 발행기 삭제부(330)를 더 포함할 수 있다. 전술한 바와 같이, 모의 발행기(300)는 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션으로서, 송신이 종료된 후에도 이와 같은 송신 애플리케이션이 메모리를 점유하는 경우 데이터 분산 서비스를 수행하는 노드의 동작 속도가 저하될 수 있다. 따라서, 모의 발행기(300)는 모의 구독기(400)로의 토픽 송신이 종료되면, 데이터 송신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 발행기 삭제부(330)를 더 포함하여, 이후에 수행될 발행자와 구독자 사이에서 데이터 전달 성능이 저하되는 것을 방지할 수 있다.On the other hand, the mock issuer 300 may further include a mock issuer deletion unit 330 for deleting the memory occupied in order to perform a data transmission function when the topic transmission to the mock subscriber 400 is finished. As described above, the mock issuer 300 is a sending application that mimics the data transmission function of the publisher, and if such a sending application occupies the memory even after the transmission ends, the operation speed of the node performing the data distribution service is lowered can be Therefore, when the topic transmission to the mock subscriber 400 is finished, the mock issuer 300 further includes a mock issuer deletion unit 330 for deleting the memory occupied in order to perform the data transmission function. It can prevent the degradation of data transfer performance between the publisher and the subscriber.

모의 구독기를 생성하는 과정(S400)은 상기 모의 발행기로부터 검증 데이터를 구독하기 위한 모의 구독기를 생성한다. 여기서, 모의 구독기는 데이터 분산 서비스에 가입하는 구독자의 데이터 수신 기능을 모사하는 수신 애플리케이션을 포함할 수 있다. 즉, 데이터 분산 서비스에 가입하는 실제 구독자는 데이터를 제공받는 서버, 단말, 그 밖의 네트워크 장치 등과 같은 노드를 포함하는 반면, 모의 구독기는 구독자의 데이터 수신 기능을 모사하도록 데이터 분산 서비스의 노드 내에서 제작되는 수신 애플리케이션이라는 점에서 차이가 있다.In the process of generating a mock subscriber ( S400 ), a mock subscriber is created for subscribing to verification data from the mock publisher. Here, the simulated subscriber may include a reception application that simulates the data reception function of a subscriber subscribing to the data distribution service. That is, the real subscriber to the data distribution service includes nodes such as servers, terminals, and other network devices that receive data, while the simulated subscribers are created within the nodes of the data distribution service to imitate the subscriber's data reception function. It is different in that it is a receiving application.

모의 구독기를 생성하는 과정(S400)은 제작된 인터페이스 정의 언어를 해석하여 모의 구독기 제작을 위한 소스 코드를 생성하는 과정(S410) 및 상기 소스 코드를 컴파일하여 모의 구독기를 제작하는 과정(S420)을 포함할 수 있다.The process of generating a simulated subscriber (S400) includes a process of generating a source code for producing a simulated subscriber by interpreting the produced interface definition language (S410) and a process of producing a simulated subscriber by compiling the source code (S420) can do.

모의 구독기 제작을 위한 소스 코드를 생성하는 과정(S410)은 제작된 인터페이스 정의 언어를 해석하여 모의 구독기 제작을 위한 소스 코드를 생성한다. 소스 코드는 애플리케이션, 예를 들어 응용 프로그램과 같은 소프트웨어의 제작에 사용되는 설계 파일로, 컴퓨터에 입력하는 경우 애플리케이션을 바로 제작할 수 있도록 구성된 설계 파일이다. 이와 같은 소스 코드는 컴파일러에 입력되는 경우 구독자의 데이터 수신 기능을 모사하는 수신 애플리케이션으로 변환되게 된다.In the process of generating the source code for the mock subscriber production ( S410 ), the source code for the mock subscriber production is generated by interpreting the produced interface definition language. A source code is a design file used in the production of an application, for example, software such as an application program, and is a design file configured to produce an application immediately when inputted to a computer. When such source code is input to the compiler, it is converted into a receiving application that mimics the subscriber's data receiving function.

모의 구독기를 제작하는 과정(S420)은 소스 코드를 컴파일하여 모의 구독기를 제작한다. 전술한 바와 같이 모의 구독기 제작을 위한 소스 코드를 생성하는 과정(S410)에서 생성된 소스 코드에는 애플리케이션, 예를 들어 응용 프로그램과 같은 소프트웨어의 제작에 필요한 모든 정보가 저장되어 있다. 따라서, 모의 구독기를 제작하는 과정(S420)에서는 이와 같은 소스 코드를 컴파일러에 입력하여 구독자의 데이터 수신 기능을 모사하는 수신 애플리케이션을 제작한다.In the process of producing a simulated subscriber (S420), the source code is compiled to produce a simulated subscriber. As described above, the source code generated in the process (S410) of generating the source code for the production of the simulated subscriber stores an application, for example, all information necessary for the production of software such as an application program. Therefore, in the process of manufacturing a simulated subscriber ( S420 ), such a source code is input to a compiler to produce a reception application simulating a subscriber's data reception function.

도 3은 본 발명의 실시 예에 따라 생성된 모의 구독기의 구조를 나타내는 도면이다.3 is a diagram showing the structure of a simulated subscriber generated according to an embodiment of the present invention.

도 3을 참조하면, 모의 구독기를 제작하는 과정(S420)에서 제작된 모의 구독기(400)는, 데이터 분산 서비스에 발행구독기로의 가입을 선언하기 위한 모의 구독기 선언부(410) 및 상기 모의 발행기(300)로 토픽을 수신하고, 토픽 수신 중에 발생하는 로그를 출력하기 위한 토픽 수신 및 로그 출력부(420)을 포함할 수 있다.Referring to FIG. 3, the simulated subscriber 400 produced in the process of manufacturing the simulated subscriber (S420) includes a simulated subscriber declaring unit 410 for declaring subscription to a publishing subscriber to the data distribution service and the simulated publisher ( 300), and may include a topic reception and log output unit 420 for outputting a log generated during topic reception.

모의 구독기 선언부(310)는 데이터 분산 서비스에 구독기로의 가입을 선언한다. 즉, 모의 구독기 선언부(310)는 데이터 수신 기능을 모사하는 수신 애플리케이션에 설치된 기능부로서, 데이터 분산 서비스에 가입하는 실제 구독자와 같이 데이터 분산 서비스에 구독기로의 가입을 선언하는 기능을 수행한다.The simulated subscriber declaring unit 310 declares a subscription to the data distribution service as a subscriber. That is, the simulated subscriber declaring unit 310 is a functional unit installed in the reception application that simulates the data reception function, and performs a function of declaring subscription to the data distribution service as a subscriber to the data distribution service like an actual subscriber subscribing to the data distribution service.

토픽 수신 및 로그 출력부(420)는 모의 구독기(300)로부터 토픽을 수신하고, 토픽 수신 중에 발생하는 로그를 출력한다. 즉, 토픽 수신 및 로그 출력부(420) 역시 데이터 수신 기능을 모사하는 수신 애플리케이션에 설치된 기능부로서, 토픽을 생성하고, 모의 발행기(300)로부터 토픽을 수신하며, 토픽 수신 중에 발생하는 로그를 출력하는 기능을 수행한다.The topic receiving and log output unit 420 receives a topic from the simulated subscriber 300 and outputs a log generated during topic reception. That is, the topic reception and log output unit 420 is also a functional unit installed in the reception application that simulates the data reception function, generates a topic, receives a topic from the mock issuer 300, and outputs a log generated during topic reception perform the function

한편, 모의 구독기(400)는 모의 발행기(300)로의 토픽 수신이 종료되면, 데이터 수신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 구독기 삭제부(430)를 더 포함할 수 있다. 전술한 바와 같이, 모의 구독기(400)는 구독자의 데이터 수신 기능을 모사하는 송신 애플리케이션으로서, 수신이 종료된 후에도 이와 같은 수신 애플리케이션이 메모리를 점유하는 경우 데이터 분산 서비스를 수행하는 노드의 동작 속도가 저하될 수 있다. 따라서, 모의 구독기(400)는 모의 ㅂ발행(400)로부터 토픽 수신이 종료되면, 데이터 수신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 구독기 삭제부(430)를 더 포함하여, 이후에 수행될 발행자와 구독자 사이에서 데이터 전달 성능이 저하되는 것을 방지할 수 있다.On the other hand, the mock subscriber 400 may further include a mock subscriber deletion unit 430 for deleting the memory occupied in order to perform a data reception function when the topic reception to the mock issuer 300 is finished. As described above, the simulated subscriber 400 is a sending application that mimics the subscriber's data reception function, and if the receiving application occupies the memory even after reception is terminated, the operation speed of the node performing the data distribution service is lowered. can be Accordingly, the simulated subscriber 400 further includes a simulated subscriber deletion unit 430 for deleting the occupied memory in order to perform a data reception function when the topic reception from the mock publication 400 is finished, and then performed It is possible to prevent the degradation of data transfer performance between the publisher and the subscriber.

여기서, 모의 발행기를 생성하는 과정(S300)과 모의 구독기를 생성하는 과정(S400)은 반드시 시계열적인 관계를 이루는 것이 아니다. 즉, 모의 발행기를 생성하는 과정(S300)이 수행된 이후, 모의 구독기를 생성하는 과정(S400)이 수행되거나, 모의 구독기를 생성하는 과정(S400)이 수행된 이후, 모의 발행기를 생성하는 과정(S300)이 수행될 수 있으며, 모의 발행기를 생성하는 과정(S300)과 모의 구독기를 생성하는 과정(S400)이 동시에 수행될 수 있음은 물론이다.Here, the process of generating the mock issuer (S300) and the process of generating the mock subscriber (S400) do not necessarily form a time-series relationship. That is, after the process of generating the mock publisher (S300) is performed, the process of generating the mock subscriber (S400) is performed, or after the process of generating the mock subscriber (S400) is performed, the process of creating the mock publisher ( S300) may be performed, and it goes without saying that the process of generating a mock issuer (S300) and the process of generating a mock subscriber (S400) may be performed simultaneously.

모의 구독기와 모의 발행기가 생성된 이후에는 모의 발행기로부터 모의 구독기로 검증 데이터, 즉 토픽을 전달하는 과정(S500)이 수행될 수 있다.After the mock subscriber and the mock publisher are created, a process ( S500 ) of transferring verification data, that is, a topic, from the mock publisher to the mock subscriber may be performed.

토픽을 전달하는 과정(S500)에서는 모의 발행기에서 생성된 토픽이 모의 구독기로 전달되며, 이와 같은 토픽의 전달은 유선 또는 무선 네트워크를 통하여 이루어질 수 있다. 또한, 토픽을 전달하는 과정(S500)에서 토픽을 생성하고, 토픽을 송신하는 중에 발생하는 로그는 전술한 토픽 송신 및 로그 출력부(320)에 기록된 후 출력되며, 토픽을 수신하는 중에 발생하는 로그는 전술한 토픽 수신 및 로그 출력부(420)에 기록된 후 출력된다.In the process of delivering the topic ( S500 ), the topic generated by the mock issuer is delivered to the mock subscriber, and such topic delivery may be made through a wired or wireless network. In addition, in the process of delivering a topic ( S500 ), a topic is created and a log generated while transmitting the topic is output after being recorded in the above-described topic transmission and log output unit 320 , and is generated while receiving the topic. The log is output after being recorded in the above-described topic reception and log output unit 420 .

로그를 분석하는 과정(S600)은 모의 발행기로부터 상기 모의 구독기로 검증 데이터를 전달하는 중에 발생하는 로그를 분석한다. 여기서, 로그는 서버나 단말 또는 네트워크 장치의 컴퓨터 등에서 기능을 수행하는 중에 발생되는 정보가 시간에 따라 저장된 기록을 의미한다. 로그를 분석하는 과정(S600)에서는 토픽을 생성하고, 토픽을 송신하는 중에 발생하는 로그와, 토픽을 수신하는 중에 발생하는 로그를 분석하여 데이터 전달이 정상적으로 이루어지고 있는지, 그렇지 않으면 데이터 전달에 오류가 발생했는지를 확인하여 데이터 전달 성능을 검증한다.In the log analysis process ( S600 ), a log generated while transferring verification data from the mock issuer to the mock subscriber is analyzed. Here, the log means a record in which information generated while performing a function, such as a server, a terminal, or a computer of a network device, is stored according to time. In the log analysis process (S600), a topic is created and a log generated while sending a topic and a log generated while receiving a topic are analyzed to determine whether data transmission is being performed normally, otherwise there is an error in data transmission. Verify the data transfer performance by checking whether it has occurred.

이때, 로그를 분석하는 과정(S600)은 상기 모의 발행기 및 상기 모의 구독기로부터 출력되는 로그를 입력받기 위한 분석기를 생성하는 과정을 포함할 수 있다. 즉, 로그를 분석하는 과정(S600)은 데이터 분산 서비스를 제공하는 서버, 단말, 네트워크 장치 등과 같은 노드에 의하여 직접 수행될 수도 있으나, 입력받은 로그를 분석하여 상기 모의 발행와 모의 구독기 간의 데이터 전달 성능을 평가하기 위한 분석 애플리케이션인 분석기를 생성하여 수행될 수도 있음은 물론이다. 이와 같은 분석기 역시, 분석이 종료되면 분석을 위하여 점유 중이던 메모리를 삭제하여 발행자와 구독자 사이에서 데이터 전달 성능이 저하되는 것을 방지할 수 있다.In this case, the process of analyzing the log ( S600 ) may include the process of generating an analyzer for receiving the log output from the simulated publisher and the simulated subscriber. That is, the log analysis process ( S600 ) may be directly performed by a node such as a server, terminal, or network device that provides a data distribution service, but data transfer performance between the simulation publication and the simulation subscription period is obtained by analyzing the input log. It goes without saying that this can also be done by creating an analyzer, which is an analysis application for evaluation. Such an analyzer also deletes the memory occupied for the analysis when the analysis is finished, so that the data transfer performance between the publisher and the subscriber is prevented from being deteriorated.

한편, 본 발명의 실시 예에 따른 성능 검증 방법은 상기의 방법을 수행하게 하는 컴퓨터 프로그램을 저장한 기록 매체에도 적용될 수 있다.Meanwhile, the performance verification method according to an embodiment of the present invention may be applied to a recording medium storing a computer program for performing the above method.

즉, 본 발명의 실시 예에 따른 성능 검증 방법은 컴퓨터로 읽을 수 있는 기록 매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록 매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터 간에 연결된 네트워크를 통해 전송될 수도 있다.That is, the performance verification method according to an embodiment of the present invention may be implemented in the form of a computer-readable programming language code recorded on a computer-readable recording medium. The computer-readable recording medium may be any data storage device readable by the computer and capable of storing data. For example, the computer-readable recording medium may be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, flash memory, solid state disk (SSD), or the like. In addition, the computer-readable code or program stored in the computer-readable recording medium may be transmitted through a network connected between computers.

이와 같이, 본 발명의 실시 예에 따르면, 데이터 분산 서비스를 제공하는 노드 내에서 데이터 전달 성능을 검증함으로써, 인터페이스 정의 언어의 제작시 발행자와 구독자를 실제로 가입시키지 않고 발행자와 구독자 간의 데이터 전달 성능을 간단하게 검증할 수 있다.As such, according to an embodiment of the present invention, by verifying data transfer performance within a node that provides a data distribution service, data transfer performance between a publisher and a subscriber is simplified without actually subscribing the publisher and the subscriber when the interface definition language is produced. can be verified.

또한, 발행자와 구독자에 각각 설치된 응용 프로그램의 로그를 비교 분석하기 위한 별도의 검증 도구를 제작할 필요가 없으며, 발행자와 구독자가 데이터 분산 서비스에 가입하기 전에, 제작된 인터페이스 정의 언어에 따른 발행자와 구독자 간의 데이터 전달 성능을 미리 예측할 수 있다.In addition, there is no need to create a separate verification tool to compare and analyze the log of each application installed in the publisher and subscriber, and before the publisher and subscriber subscribe to the data distribution service, the interface between the publisher and the subscriber according to the created interface definition language Data transfer performance can be predicted in advance.

상기에서, 본 발명의 바람직한 실시 예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확하게 설명하기 위한 것일 뿐이며, 본 발명의 실시 예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시 예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안 되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.In the above, preferred embodiments of the present invention have been described and illustrated using specific terms, but such terms are only for clearly explaining the present invention, and the embodiments of the present invention and the described terms are the spirit of the following claims And it is obvious that various changes and changes can be made without departing from the scope. Such modified embodiments should not be individually understood from the spirit and scope of the present invention, but should be said to fall within the scope of the claims of the present invention.

Claims (15)

삭제delete 인터페이스 정의 언어(IDL; Interface Description Language)를 사용하는 데이터 분산 서비스(DDS; Data Distribution Service)에서 발행자(publisher)와 구독자(subscriber) 간의 데이터 전달 성능을 검증하기 위한 성능 검증 방법으로서,
인터페이스 정의 언어를 제작하는 과정;
제작된 인터페이스 정의 언어에 따른 검증 데이터를 발행하기 위한 모의 발행기를 생성하는 과정;
상기 모의 발행기로부터 검증 데이터를 구독하기 위한 모의 구독기를 생성하는 과정; 및
상기 모의 발행기로부터 상기 모의 구독기로 검증 데이터를 전달하는 중에 발생하는 로그를 분석하는 과정;을 포함하는 성능 검증 방법.
A performance verification method for verifying data delivery performance between a publisher and a subscriber in a Data Distribution Service (DDS) using an Interface Description Language (IDL), comprising:
The process of creating an interface definition language;
generating a mock issuer for issuing verification data according to the produced interface definition language;
generating a mock subscriber for subscribing verification data from the mock publisher; and
and analyzing a log generated while transferring verification data from the mock publisher to the mock subscriber.
청구항 2에 있어서,
상기 인터페이스 정의 언어는, 서로 다른 언어를 사용하는 발행자와 구독자 간의 통신을 위해 사용하는 프로그래밍 언어를 포함하는 성능 검증 방법.
3. The method according to claim 2,
The interface definition language includes a programming language used for communication between publishers and subscribers who use different languages.
청구항 2에 있어서,
상기 검증 데이터는, 상기 데이터 분산 서비스에서 데이터를 분류하기 위해 사용되는 토픽(topic)을 포함하는 성능 검증 방법.
3. The method according to claim 2,
The verification data may include a topic used to classify data in the data distribution service.
청구항 2에 있어서,
상기 모의 발행기를 생성하는 과정은,
제작된 인터페이스 정의 언어를 해석하여 모의 발행기 제작을 위한 소스 코드를 생성하는 과정; 및
상기 소스 코드를 컴파일하여 모의 발행기를 제작하는 과정;을 포함하는 성능 검증 방법.
3. The method according to claim 2,
The process of creating the mock issuer is:
The process of interpreting the produced interface definition language to generate a source code for creating a mock machine; and
Compiling the source code to produce a mock issuer; Performance verification method comprising a.
청구항 2에 있어서,
상기 모의 발행기는, 상기 발행자의 데이터 송신 기능을 모사하는 송신 애플리케이션을 포함하는 성능 검증 방법.
3. The method according to claim 2,
wherein the mock publisher includes a sending application that mimics the data sending function of the publisher.
청구항 4에 있어서,
상기 모의 발행기는,
상기 데이터 분산 서비스에 발행기로의 가입을 선언하기 위한 모의 발행기 선언부; 및
상기 모의 구독기로 토픽을 송신하고, 토픽 송신 중에 발생하는 로그를 출력하기 위한 토픽 송신 및 로그 출력부;을 포함하는 성능 검증 방법.
5. The method according to claim 4,
The mock issuer,
a mock issuer declaration unit for declaring subscription to the issuer in the data distribution service; and
and a topic transmission and log output unit for transmitting a topic to the mock subscriber and outputting a log generated during topic transmission.
청구항 7에 있어서,
상기 모의 발행기는,
상기 모의 구독기로의 토픽 송신이 종료되면, 데이터 송신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 발행기 삭제부;를 더 포함하는 성능 검증 방법.
8. The method of claim 7,
The mock issuer,
The performance verification method further comprising a; when the transmission of the topic to the mock subscriber is finished, a mock issuer deletion unit for deleting the memory occupied in order to perform a data transmission function.
청구항 2에 있어서,
상기 모의 구독기를 생성하는 과정은,
제작된 인터페이스 정의 언어를 해석하여 모의 구독기 제작을 위한 소스 코드를 생성하는 과정; 및
상기 소스 코드를 컴파일하여 모의 구독기를 제작하는 과정;을 포함하는 성능 검증 방법.
3. The method according to claim 2,
The process of creating the mock subscriber is,
The process of interpreting the produced interface definition language to generate a source code for creating a simulated subscriber; and
Compiling the source code to produce a simulated subscriber; Performance verification method comprising a.
청구항 2에 있어서,
상기 모의 구독기는, 상기 구독자의 데이터 수신 기능을 모사하는 수신 애플리케이션을 포함하는 성능 검증 방법.
3. The method according to claim 2,
The simulated subscriber is a performance verification method comprising a receiving application that simulates the data receiving function of the subscriber.
청구항 4에 있어서,
상기 모의 구독기는,
상기 데이터 분산 서비스에 구독기로의 가입을 선언하기 위한 모의 구독기 선언부; 및
상기 모의 발행기로부터 토픽을 수신하고, 토픽 수신 중에 발생하는 로그를 출력하기 위한 토픽 수신 및 로그 출력부;을 포함하는 성능 검증 방법.
5. The method according to claim 4,
The mock subscriber,
a simulated subscriber declaration unit for declaring a subscription to the data distribution service as a subscriber; and
and a topic receiving and log output unit for receiving a topic from the mock publisher and outputting a log generated during topic reception.
청구항 11에 있어서,
상기 모의 구독기는,
상기 모의 발행기로부터 토픽 수신이 종료되면, 데이터 수신 기능을 수행하기 위하여 점유 중인 메모리를 삭제하기 위한 모의 구독기 삭제부;를 더 포함하는 성능 검증 방법.
12. The method of claim 11,
The mock subscriber,
When the topic reception from the mock publisher is finished, the mock subscriber deletion unit for deleting the memory occupied in order to perform a data reception function; the performance verification method further comprising a.
청구항 2에 있어서,
상기 로그를 분석하는 과정은,
상기 모의 발행기 및 상기 모의 구독기로부터 출력되는 로그를 입력받기 위한 분석기를 생성하는 과정;을 포함하는 성능 검증 방법.
3. The method according to claim 2,
The process of analyzing the log is,
and generating an analyzer for receiving the log output from the mock publisher and the mock subscriber.
청구항 13에 있어서,
상기 분석기는 입력받은 로그를 분석하여 상기 모의 발행와 모의 구독기 간의 데이터 전달 성능을 평가하는 분석 애플리케이션을 포함하는 성능 검증 방법.
14. The method of claim 13,
The analyzer analyzes the received log to evaluate the performance of data transfer between the simulated publication and the simulated subscription period by analyzing the analysis application.
청구항 2 내지 청구항 14 중 어느 한 청구항에 기재된 성능 검증 방법을 수행하기 위한 컴퓨터 프로그램을 저장한 기록 매체.A recording medium storing a computer program for performing the performance verification method according to any one of claims 2 to 14.
KR1020210191527A 2021-12-29 2021-12-29 Performance verification method in data distribution service KR102396923B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210191527A KR102396923B1 (en) 2021-12-29 2021-12-29 Performance verification method in data distribution service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210191527A KR102396923B1 (en) 2021-12-29 2021-12-29 Performance verification method in data distribution service

Publications (1)

Publication Number Publication Date
KR102396923B1 true KR102396923B1 (en) 2022-05-12

Family

ID=81590721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210191527A KR102396923B1 (en) 2021-12-29 2021-12-29 Performance verification method in data distribution service

Country Status (1)

Country Link
KR (1) KR102396923B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913809A (en) * 2022-09-26 2023-04-04 重庆长安汽车股份有限公司 Data distribution communication method, system, computer device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120069449A (en) 2010-12-20 2012-06-28 한국전자통신연구원 Apparatus and method for providing light weight multicast of data distribution service
KR20140051513A (en) * 2012-10-23 2014-05-02 한국전자통신연구원 Apparatus for monitoring data distribution service and method thereof
KR20160000542A (en) * 2014-06-24 2016-01-05 한국전자통신연구원 Method and apparatus for gernerating data distribution service application
KR20170122874A (en) * 2016-04-27 2017-11-07 주식회사 한컴엠디에스 Apparatus for managing log of application based on data distribution service
KR20170130911A (en) * 2016-05-20 2017-11-29 주식회사 리얼타임테크 Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
KR20180015027A (en) * 2016-08-02 2018-02-12 한국전자통신연구원 Apparatus and Method for Automatic Error Alarm of DDS Applications System
KR20190136723A (en) * 2018-05-31 2019-12-10 한전케이디엔주식회사 Communication application management and operation system for data distribution service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120069449A (en) 2010-12-20 2012-06-28 한국전자통신연구원 Apparatus and method for providing light weight multicast of data distribution service
KR20140051513A (en) * 2012-10-23 2014-05-02 한국전자통신연구원 Apparatus for monitoring data distribution service and method thereof
KR20160000542A (en) * 2014-06-24 2016-01-05 한국전자통신연구원 Method and apparatus for gernerating data distribution service application
KR20170122874A (en) * 2016-04-27 2017-11-07 주식회사 한컴엠디에스 Apparatus for managing log of application based on data distribution service
KR20170130911A (en) * 2016-05-20 2017-11-29 주식회사 리얼타임테크 Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
KR20180015027A (en) * 2016-08-02 2018-02-12 한국전자통신연구원 Apparatus and Method for Automatic Error Alarm of DDS Applications System
KR20190136723A (en) * 2018-05-31 2019-12-10 한전케이디엔주식회사 Communication application management and operation system for data distribution service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913809A (en) * 2022-09-26 2023-04-04 重庆长安汽车股份有限公司 Data distribution communication method, system, computer device and storage medium
CN115913809B (en) * 2022-09-26 2024-05-03 重庆长安汽车股份有限公司 Data distribution communication method, system, computer device and storage medium

Similar Documents

Publication Publication Date Title
CN108897691A (en) Data processing method, device, server and medium based on interface analog service
CN107645562B (en) Data transmission processing method, device, equipment and system
CN111316279A (en) Computer-implemented system and method for connecting a blockchain with a digital twin set
CN108268364A (en) Anomalous event back method, device and equipment
Wu et al. Scenario-based system design with colored petri nets: an application to train control systems
CN111694644A (en) Message processing method and device based on robot operating system and computer equipment
KR102396923B1 (en) Performance verification method in data distribution service
CN114328217A (en) Application testing method, device, equipment, medium and computer program product
CN113485881B (en) Test method and device of temporary speed limiting server, electronic equipment and medium
CN112380219B (en) Method for defining block chain cochain data service stipulation and application service stipulation
CN109032860A (en) A kind of ARINC429 bus general purpose simulation system and emulation mode
WO2023103248A1 (en) Automatic device commissioning method, apparatus, device, system, and storage medium
Nayak et al. Computer Network simulation using NS2
CN111464384A (en) Consistency test method and device for asynchronous messages
CN113821440A (en) VxWorks application software testing method, system and simulator
CN109547430A (en) A kind of exploitation service gateway system and exploitation gateway
CN112905460A (en) Device and method for simulating three-party receipt by automatic interface test
CN111933118A (en) Method and device for optimizing voice recognition and intelligent voice dialogue system applying same
CN116306479A (en) UVM-based Ethernet PHY universal verification platform and verification method
CN116107869A (en) Arrangement test method and device, electronic equipment and readable storage medium
KR20200032380A (en) Apparatus and method for connecting chatbot
CN112734196B (en) Block chain-based mass measurement platform performance evaluation method and related equipment
KR102655091B1 (en) Test management system using data set and method therefor
CN107885659A (en) Method and device, the equipment of request analog response to client
JP2013257823A (en) Simulation device

Legal Events

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