KR102170738B1 - Method, apparatus and system for transmitting and receiving message - Google Patents

Method, apparatus and system for transmitting and receiving message Download PDF

Info

Publication number
KR102170738B1
KR102170738B1 KR1020200049479A KR20200049479A KR102170738B1 KR 102170738 B1 KR102170738 B1 KR 102170738B1 KR 1020200049479 A KR1020200049479 A KR 1020200049479A KR 20200049479 A KR20200049479 A KR 20200049479A KR 102170738 B1 KR102170738 B1 KR 102170738B1
Authority
KR
South Korea
Prior art keywords
information table
content information
xml file
extracted
content
Prior art date
Application number
KR1020200049479A
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 KR1020200049479A priority Critical patent/KR102170738B1/en
Application granted granted Critical
Publication of KR102170738B1 publication Critical patent/KR102170738B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • H04L51/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • H04L67/2823
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure relates to a method for transmitting and receiving a message. According to an embodiment of the present invention, a method for transmitting and receiving a message comprises the steps of: extracting element information and content information of a first extensible markup language (XML) file; storing the extracted element information and the extracted content information in an element information table and a content information table, respectively, and generating a second XML file including the element information table and the content information table; filtering the second XML file using a priority table; and generating a third XML file including the filtered element information table and the filtered content information table. Accordingly, messages can be efficiently transmitted in a large network environment.

Description

메시지를 송수신하는 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR TRANSMITTING AND RECEIVING MESSAGE}Method, device and system for sending and receiving messages {METHOD, APPARATUS AND SYSTEM FOR TRANSMITTING AND RECEIVING MESSAGE}

본 개시는 메시지를 송수신하는 방법, 장치 및 시스템을 제공한다.The present disclosure provides a method, apparatus, and system for transmitting and receiving messages.

메시지 송수신 과정은 다양한 플랫폼에서 운용이 되기 때문에, 메시지 미들웨어(Middleware)의 조건으로 높은 상호운용성 (Interoperability)이 요구되며, 또한 체계들이 연결되는 네트워크 구성 및 특성에 제한을 받지 않도록 느슨한 연결 특성(Loosely Coupled)과 대규모의 참여자에 대한 지원이 가능하도록 높은 확장성 (Scalability)의 특성이 요구된다. 이와 같은 메시지 미들웨어의 요구조건에 따라 높은 확장성과 느슨한 연결 지향 특징을 가지는 출판-구독 메시징 패러다임이 높은 적합도를 보이며, 실제 다양한 분야에서 출판-구독 기반 메시지 미들웨어의 운용 사례가 확인된다.Since the message transmission and reception process is operated on various platforms, high interoperability is required as a condition of message middleware, and loosely coupled so that the system is not limited by the network configuration and characteristics to which the systems are connected. ) And high scalability characteristics are required to enable support for large-scale participants. According to such message middleware requirements, the publication-subscribe messaging paradigm with high scalability and loose connection-oriented characteristics shows a high degree of suitability, and actual examples of publication-subscription-based message middleware operation in various fields are confirmed.

현재, 출판-구독 기반의 메시지 미들웨어에서는 메시지 유통 기법으로 토픽 기반 기법과 컨텐츠 (Content)기반 기법을 사용하고 있으며, 메시지 포맷으로는 높은 상호운용성과 높은 적응도를 가지는 기존의XML기반의 메시지가 많이 사용되고 있다.Currently, publishing-subscription-based message middleware uses topic-based techniques and content-based techniques as message distribution techniques, and many existing XML-based messages with high interoperability and high adaptability are used as message formats. Is being used.

대규모의 메시지가 송수신되는 네트워크 환경에서의 기존 XML 메시지 구조는 대규모의 통신 대역폭(Bandwidth)을 요구하는 문제점이 존재하는 바, 해당 문제점을 완화하기 위해, 전체 XML 데이터의 통신 대신 필요한 요소(Elment)에 대한 속성(Attribute) 추출 및 불필요한 요소에 대한 삭제를 통해 네트워크 통신량을 감소하는 필터링 기법이 존재한다. Existing XML message structures in a network environment in which large-scale messages are transmitted/received have a problem that requires a large-scale communication bandwidth. In order to alleviate the problem, the element required instead of the communication of the entire XML data exists. There is a filtering technique that reduces the amount of network traffic by extracting attributes for and deleting unnecessary elements.

그러나, 기존의 XML 메시지 데이터 표현 기법을 사용하여 필터링 과정을 진행할 경우, 전체 XML 메시지 파싱 과정을 요구하며 이는 필터링 과정의 계산 오버헤드가 커지는 문제점이 발생할 수 있고, 필터링 과정을 적용 시 메시지 미들웨어의 전체 성능이 더 나빠지는 상황이 초래될 수도 있다.However, if the filtering process is performed using the existing XML message data representation technique, the entire XML message parsing process is required, which can cause a problem of increasing the computational overhead of the filtering process. When applying the filtering process, the entire message middleware It may lead to a situation where the performance worsens.

이에 따라, 메시지 미들웨어에서 사용되는 새로운 메시지 포맷 및 필터링 기법 등의 통합적 관점에서의 문제 해결하는 기술이 요구된다.Accordingly, there is a need for a technology for solving problems in an integrated perspective, such as a new message format and filtering technique used in message middleware.

KR 10-1508914 B1KR 10-1508914 B1 KR 10-1396090 B1KR 10-1396090 B1

메시지를 송수신하는 방법, 장치 및 시스템을 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 제공하는 데 있다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.It is to provide a method, apparatus, and system for sending and receiving messages. Further, it is to provide a recording medium in which a program for executing the method in a computer is recorded. The technical problem to be achieved by this embodiment is not limited to the technical problems as described above, and other technical problems may be inferred from the following embodiments.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1측면은, 메시지를 송수신하는 방법에 있어서, 제1 XML(eXtensible Markup Language) 파일의 요소(Element) 정보 및 컨텐츠 정보를 추출하는 단계; 상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고, 상기 요소 정보 테이블 및 상기 컨텐츠 정보 테이블을 포함하는 제2 XML 파일을 생성하는 단계; 상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하는 단계; 및 필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하는 단계를 포함하는, 메시지 송수신 방법을 제공할 수 있다.As a technical means for achieving the above-described technical problem, a first aspect of the present disclosure is, in a method of transmitting and receiving a message, extracting element information and content information of a first XML (eXtensible Markup Language) file ; Storing the extracted element information and the extracted content information in an element information table and a content information table, respectively, and generating a second XML file including the element information table and the content information table; Filtering the second XML file using a priority table; And generating a third XML file including the filtered element information table and the filtered content information table.

또한, 상기 요소 정보 테이블은, 식별자 아이디, 부모 요소의 전체 자식 요소 수 및 상기 컨텐츠 정보 테이블의 시작 인덱스 중 적어도 하나를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the element information table may provide a message transmission/reception method including at least one of an identifier ID, a total number of child elements of a parent element, and a start index of the content information table.

또한, 상기 부모 요소의 전체 자식 요소 수는 음수로 표시되고, 상기 컨텐츠 정보 테이블의 시작 인덱스는 양수로 표시되는, 메시지 송수신 방법을 제공할 수 있다.In addition, a message transmission/reception method may be provided in which the total number of child elements of the parent element is indicated as a negative number and the start index of the content information table is indicated as a positive number.

또한, 상기 컨텐츠 정보 테이블은, 상기 컨텐츠 정보가 상기 요소 정보 테이블에 따라 순차적으로 저장되는, 메시지 송수신 방법을 제공할 수 있다.In addition, the content information table may provide a message transmission/reception method in which the content information is sequentially stored according to the element information table.

또한, 상기 추출하는 단계는, 요소의 컨텐츠 저장 함수를 호출하는 단계; 및 상기 요소의 상기 컨텐츠 정보 테이블의 시작 인덱스가 중복되는지 여부를 확인하는 단계를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the extracting may include calling an element content storage function; And checking whether a start index of the content information table of the element is duplicated or not.

또한, 상기 컨텐츠 저장 함수를 호출하는 단계는 상기 요소가 자식 요소를 가진 경우 재귀 호출 하는 단계; 및 상기 요소가 자식 요소를 가지지 않은 경우 상기 컨텐츠 정보 테이블에 상기 컨텐츠 정보를 저장하는 단계를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, calling the content storage function may include recursive calling when the element has child elements; And storing the content information in the content information table when the element does not have child elements.

또한, 상기 시작 인덱스가 중복되는지 여부를 확인하는 단계는, 상기 시작 인덱스가 중복되는 경우, 상기 중복되는 시작 인덱스의 요소 정보를 상기 요소 정보 테이블에 추가하고, 상기 중복되는 시작 인덱스에 대응하는 컨텐츠 정보는 상기 컨텐츠 정보 테이블에 추가하지 않는 단계; 및 상기 시작 인덱스가 중복되지 않는 경우, 상기 중복되지 않는 시작 인덱스의 요소 정보를 상기 요소 정보 테이블에 추가하고, 상기 중복되지 않는 시작 인덱스에 대응하는 컨텐츠 정보는 상기 컨텐츠 정보 테이블에 추가하는 단계를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the step of checking whether the start indexes overlap may include, if the start indexes overlap, add element information of the overlapping start index to the element information table, and content information corresponding to the overlapping start indexes Not adding to the content information table; And if the start indexes do not overlap, adding element information of the non-overlapping start index to the element information table, and adding content information corresponding to the non-overlapping start index to the content information table. It is possible to provide a method for transmitting and receiving messages.

또한, 상기 필터링 하는 단계는, 상기 우선 순위 테이블을 이용하여, 추출하고자 하는 요소를 확인하는 단계; 상기 추출하고자 하는 요소의 상기 컨텐츠 정보 테이블의 시작 인덱스를 확인하는 단계; 및 상기 시작 인덱스에 대응하는 상기 컨텐츠 정보를 추출하는 단계를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the filtering may include checking an element to be extracted using the priority table; Checking a start index of the content information table of the element to be extracted; And extracting the content information corresponding to the start index.

또한, 상기 필터링 하는 단계는, 상기 추출하고자 하는 요소가 아닌 경우, 상기 요소 정보 테이블의 오프셋(Offset)을 증가시켜 추출하고자 하는 요소가 아닌 요소에 대한 접근을 차단하는 단계를 더 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the filtering step further comprises blocking access to an element other than the element to be extracted by increasing an offset of the element information table when the element to be extracted is not the element to be extracted. Can provide a way.

또한, 상기 우선 순위 테이블은, 필수적으로 송수신하고자 하는 요소의 목록 및 필수적으로 송수신하지 않아도 되는 요소의 목록 중 적어도 하나를 포함하는, 메시지 송수신 방법을 제공할 수 있다.In addition, the priority table may provide a message transmission/reception method including at least one of a list of elements to be transmitted and received essentially and a list of elements that are not necessarily transmitted/received.

본 개시의 제 2측면은, 제 1항 내지 제 10항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 제공할 수 있다.A second aspect of the present disclosure may provide a recording medium in which a program for executing a method according to any one of claims 1 to 10 on a computer is recorded.

본 개시의 제 3측면은, 메시지 송수신 장치에 있어서, 메모리 및 프로세서를 포함하고, 상기 프로세서는, 제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하고, 상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고, 상기 요소 정보 테이블 및 상기 컨텐츠 정보 테이블을 포함하는 제2 XML 파일을 생성하고, 상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하고, 필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하는, 메시지 송수신 장치를 제공할 수 있다.A third aspect of the present disclosure is a message transmission/reception apparatus comprising a memory and a processor, wherein the processor extracts element information and content information of a first XML file, and the extracted element information and the extracted content information Are stored in the element information table and the content information table, respectively, generate a second XML file including the element information table and the content information table, filter the second XML file using a priority table, and filter It is possible to provide a message transmission/reception device that generates a third XML file including the element information table and the filtered content information table.

본 개시의 제 4측면은, 메시지 송수신 시스템에 있어서, 제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하고, 상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하여 제2 XML 파일을 생성하는 출판자, 상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하고, 필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하는 브로커 및 상기 제3 XML 파일을 수신하는 구독자를 포함하고, 상기 브로커는 상기 출판자로부터 제2 XML 파일을 수신하는, 메시지 송수신 시스템을 제공할 수 있다.A fourth aspect of the present disclosure is, in a message transmission and reception system, extracting element information and content information of a first XML file, and storing the extracted element information and the extracted content information in an element information table and a content information table, respectively. A publisher that generates a second XML file by doing so, a broker that filters the second XML file using a priority table, and generates a third XML file including the filtered element information table and the filtered content information table, and Including a subscriber receiving the third XML file, the broker may provide a message transmission and reception system for receiving a second XML file from the publisher.

본 개시는, 대규모 네트워크 환경에서 유통되는 정보를 통제 및 조절하기 위한 방안으로서, 요소 정보 테이블 및 컨텐츠 정보 테이블로 구성되는 제2 XML 파일로 표현하는 방법과 요소 기반의 필터링하는 방법을 제공할 수 있다. XML 데이터 표현 기법은 메시지에서 요소를 표현하는 데이터 크기가 감소됨으로써 네트워크 통신량을 감소시킬 수 있고, 요소를 기반으로 한 필터링에 적합하도록 설계되어 필터링 계산 오버헤드를 감소시킬 수 있다. The present disclosure is a method for controlling and controlling information distributed in a large-scale network environment, and can provide a method for expressing in a second XML file composed of an element information table and a content information table, and a method for filtering based on elements. . The XML data representation technique can reduce the amount of network traffic by reducing the size of the data representing the element in the message, and can reduce the filtering computation overhead by being designed to be suitable for element-based filtering.

XML 파일의 요소의 데이터 크기 감소를 통해 네트워크 통신량의 크기를 효율적으로 축소할 수 있다. 또한 필터링 기법을 적용시, 원하는 요소 정보의 추출 및 삭제를 전체 데이터의 파싱 없이도 진행할 수 있으며, 이는 대규모 메시지가 송수신되는 미들웨어 환경에서 메시지 크기 감소를 통한 통신 대역폭에서의 이점을 가질 수 있으며, 필터링 프로세싱을 빠르게 진행할 수 있다.By reducing the data size of the XML file element, the size of the network traffic can be efficiently reduced. In addition, when the filtering technique is applied, the extraction and deletion of desired element information can be performed without parsing the entire data, which can have an advantage in communication bandwidth through message size reduction in a middleware environment where large-scale messages are transmitted and received, and filtering processing Can proceed quickly.

도 1은 일 실시예에 따른 메시지를 송수신하는 방법을 나타내는 흐름도이다.
도 2는 도 1에 도시된 단계 110 및 단계 120을 설명하기 위한 흐름도이다.
도 3 및 도4는 제1 XML 파일을 설명하기 위한 예시도들이다.
도 5는 도 1에 도시된 단계 110 및 단계 120을 설명하기 위한 예시도이다.
도 6은 도 1에 도시된 단계 130을 설명하기 위한 예시도이다.
도 7은 도 6에 도시된 제2 XML 파일(630)에 필터링이 적용된 구조를 나타내기 위한 도면이다.
도 8은 일 실시예에 따른 메시지 송수신 시스템을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 메시지 송수신 장치의 블록도이다.
1 is a flowchart illustrating a method of transmitting and receiving a message according to an embodiment.
2 is a flowchart illustrating steps 110 and 120 shown in FIG. 1.
3 and 4 are exemplary diagrams for describing a first XML file.
5 is an exemplary diagram for explaining steps 110 and 120 shown in FIG. 1.
6 is an exemplary diagram for explaining step 130 shown in FIG. 1.
FIG. 7 is a diagram illustrating a structure in which filtering is applied to the second XML file 630 shown in FIG. 6.
8 is a diagram illustrating a system for transmitting and receiving a message according to an embodiment.
9 is a block diagram of an apparatus for transmitting and receiving a message according to an embodiment.

본 실시예들에서 사용되는 용어는 본 실시예들에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 실시예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시예들 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the embodiments have been selected as currently widely used general terms as possible while considering the functions in the embodiments, but this may vary according to the intention or precedent of a technician working in the field, the emergence of new technologies, have. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the corresponding part. Therefore, the terms used in the present embodiments should be defined based on the meaning of the term and the contents throughout the present embodiments, rather than a simple name of the term.

본 실시예들은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 일부 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 실시예들을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 실시예들의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어들은 단지 실시예들의 설명을 위해 사용된 것으로, 본 실시예들을 한정하려는 의도가 아니다.The present exemplary embodiments may be modified in various ways and may have various forms, and some exemplary embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the embodiments to a specific disclosed form, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the embodiments. The terms used in the present specification are used only for description of the embodiments, and are not intended to limit the embodiments.

본 실시예들에 사용되는 용어들은 다르게 정의되지 않는 한, 본 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 실시예들에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms used in the embodiments have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiments belong, unless otherwise defined. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and in an ideal or excessively formal meaning unless explicitly defined in the present embodiments. Should not be interpreted.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and/or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for a predetermined function. In addition, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as an algorithm executed on one or more processors. In addition, the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and/or data processing.

또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다.In addition, terms including ordinal numbers such as'first' or'second' used in the present specification may be used to describe various elements, but the elements should not be limited by the terms. These terms may be used for the purpose of distinguishing one component from another component.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다. In addition, the connecting lines or connecting members between the components illustrated in the drawings are merely illustrative of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 메시지를 송수신하는 방법을 나타내는 흐름도이다.1 is a flowchart illustrating a method of transmitting and receiving a message according to an embodiment.

도 1을 참조하면, 단계 110에서 메시지 송수신 장치는 제1 XML(eXtensible Markup Language) 파일의 요소(Element) 정보 및 컨텐츠(Contents) 정보를 추출할 수 있다. Referring to FIG. 1, in operation 110, the message transmission/reception apparatus may extract element information and contents information of a first eXtensible Markup Language (XML) file.

XML은 확장성 생성 언어로 번역되며, 1996년 W3C(World Wide Web Consortium)에서 제안하였다. HTML보다 홈페이지 구축 기능, 검색 기능 등이 향상되었고 클라이언트 시스템의 복잡한 데이터 처리를 쉽게 할 수 있으며, 인터넷 사용자가 웹에 추가할 내용을 쉽게 작성 및 관리할 수 있다.XML is translated into an extensible generation language and was proposed by the World Wide Web Consortium (W3C) in 1996. The website building function and search function have been improved compared to HTML, and complex data processing of the client system can be easily performed, and Internet users can easily create and manage content to be added to the web.

제1 XML 파일은 기존 XML 형식의 파일으로, XML 스키마와 XML 스키마 기반의 XML 문서를 포함할 수 있다. 요소(Element)는 XML 파일을 구성하는 하나의 구성 요소로 XML 파일 내 데이터를 표현하기 위한 태그 정의와 데이터를 의미할 수 있고, 컨텐츠(Contents)는 정의된 요소의 유효한 값을 의미할 수 있다. 각각의 XML 요소는 하나 이상의 다른 요소 또는 속성(Attribute)을 포함할 수 있고, XML 속성은 XML 요소에 대한 추가적인 정보를 제공해주며, 해당 요소의 특징을 정의하는 것을 의미할 수 있다. 요소 정보는 요소가 가진 자식 요소의 수, 요소의 식별자 아이디 및 요소의 컨텐츠 정보 테이블의 시작 인덱스 등을 포함할 수 있으나, 이에 제한되지 않는다. 컨텐츠 정보는 요소가 가지고 있는 내용 등을 의미할 수 있으나, 이에 제한되지 않는다. The first XML file is a file of an existing XML format, and may include an XML schema and an XML document based on the XML schema. An element is one constituent element constituting an XML file, and may mean tag definition and data for expressing data in the XML file, and Contents may mean a valid value of a defined element. Each XML element may include one or more other elements or attributes, and the XML attribute provides additional information on the XML element and may mean defining the characteristics of the corresponding element. The element information may include, but is not limited to, the number of child elements of the element, the identifier ID of the element, and the start index of the content information table of the element. The content information may mean content that an element has, but is not limited thereto.

일 실시예에서, 단계 110은 요소의 컨텐츠 저장 함수를 호출하는 단계 및 요소의 컨텐츠 정보 테이블의 시작 인덱스가 중복되는지 여부를 확인하는 단계를 포함할 수 있고, 도 2에서 상세하게 후술한다.In an embodiment, step 110 may include calling a content storage function of an element and checking whether a start index of a content information table of an element is duplicated, which will be described in detail later in FIG. 2.

단계 120에서, 메시지 송수신 장치는 요소 정보 및 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고 제2 XML 파일을 생성할 수 있다. In step 120, the message transmitting/receiving device may store element information and content information in the element information table and the content information table, respectively, and generate a second XML file.

일 실시예에서, 메시지 송수신 장치는 제1 XML 파일에서 추출된 요소 정보 및 컨텐츠 정보를 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장할 수 있고, 제2 XML 파일을 생성할 수 있다. In an embodiment, the message transmission/reception device may store element information and content information extracted from the first XML file in the element information table and the content information table, and may generate a second XML file.

요소 정보 테이블은 추출된 요소의 정보를 포함하는 표, 그림 등 식별될 수 있는 각 자료의 각 항목을 의미할 수 있고, 컨텐츠 정보 테이블은 요소의 컨텐츠를 포함하는 표 등을 의미할 수 있고, 제2 XML 파일은 요소 정보 테이블 및 컨텐츠 정보 테이블을 포함하는 파일을 의미할 수 있다. The element information table may refer to each item of each material that can be identified, such as a table or a picture including information on the extracted element, and the content information table may refer to a table including the contents of the element. 2 The XML file may mean a file including an element information table and a content information table.

요소 정보 테이블은 식별자 아이디(ID), 부모 요소의 전체 자식 요소 수 및 컨텐츠 정보 테이블의 시작 인덱스를 포함하여 저장될 수 있다. 식별자 아이디는 요소를 나타내기 위한 고유한 것으로, SD, SE, AT 등을 포함 할 수 있으나, 이에 제한되지 않는다. 예를 들어, SD는 문서의 시작을 의미하는 식별자 아이디, SE는 요소 정보 항목을 의미하는 식별자 아이디, AT는 속성 정보 항목을 의미하는 식별자 아이디를 의미할 수 있다.The element information table may be stored including an identifier ID (ID), the total number of child elements of the parent element, and a start index of the content information table. The identifier ID is unique for indicating an element, and may include SD, SE, AT, etc., but is not limited thereto. For example, SD may indicate an identifier ID indicating the beginning of a document, SE may indicate an identifier ID indicating an element information item, and AT may indicate an identifier ID indicating an attribute information item.

컨텐츠 정보 테이블의 시작 인덱스는 컨텐츠 정보 테이블에서 각 요소의 컨텐츠 정보의 시작을 나타내는 지표를 의미할 수 있고, 그래프 형식의 데이터를 압축 저장할 때 자주 사용되는 CSR(Compressed Sparse Row) 기법과 유사한 구조를 사용할 수 있다.The start index of the content information table can mean an index indicating the start of the content information of each element in the content information table, and a structure similar to the CSR (Compressed Sparse Row) technique, which is frequently used when compressing and storing graph-type data, is used. I can.

일 실시예에서, 요소 정보 테이블의 부모 요소의 전체 자식 요소 수는 음수로 표시되고, 컨텐츠 정보 테이블의 시작 인덱스는 양수로 표시될 수 있다. 예를 들어, 부모 요소의 전체 자식 요소 수가 5이고, 시작 인덱스가 14인 경우, 요소 정보 테이블에서 각각 -5, 14로 표시될 수 있다.In one embodiment, the total number of child elements of the parent element of the element information table may be expressed as a negative number, and the start index of the content information table may be expressed as a positive number. For example, if the total number of child elements of the parent element is 5 and the start index is 14, it may be displayed as -5 and 14 in the element information table, respectively.

또한, 컨텐츠 정보 테이블은 컨텐츠 정보가 요소 정보 테이블에 따라 순차적으로 저장될 수 있다. 예를 들어, 요소 정보 테이블에 요소 1, 요소 2 요소 3의 순서로 식별자 아이디가 저장되어 있는 경우, 컨텐츠 정보 테이블은 요소 1의 컨텐츠 정보, 요소 2의 컨텐츠 정보, 요소 3의 컨텐츠 정보 순으로 저장될 수 있다.In addition, the content information table may sequentially store content information according to the element information table. For example, if the identifier ID is stored in the element information table in the order of element 1, element 2, element 3, the content information table is stored in the order of content information of element 1, content information of element 2, and content information of element 3 Can be.

요소 정보 및 컨텐츠 정보를 추출하고, 요소 정보 및 컨텐츠 정보를 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하여 제2 XML 파일을 생성함으로써, 제1 XML 파일의 크기를 감소함과 동시에 필요한 요소에 대한 정보를 빠르게 추출할 수 있다. By extracting the element information and content information, and storing the element information and content information in the element information table and the content information table to create a second XML file, the size of the first XML file is reduced and information on necessary elements is stored. Can be extracted quickly.

단계 130에서, 메시지 송수신 장치는 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링할 수 있다. 우선 순위 테이블은 추출하고자 하는 요소를 알 수 있는 정보로, 필수적으로 송수신하고자 하는 요소의 목록 및 필수적으로 송수신하지 않아도 되는 요소의 목록 중 적어도 하나를 포함할 수 있다. 우선 순위 테이블은 기 정의될 수 있고, 도메인 전문가들의 정보 가치 분석을 통해 작성될 수 있다. In step 130, the message transmitting/receiving device may filter the second XML file using the priority table. The priority table is information for knowing an element to be extracted, and may include at least one of a list of elements to be transmitted and received essentially and a list of elements that are not necessarily transmitted and received. The priority table may be predefined, and may be created through analysis of the information value of domain experts.

일 실시예에서, 메시지 송수신 장치는 제2 XML 파일을 우선 순위 테이블을 이용하여 추출하고자 하는 요소를 확인하고, 추출하고자 하는 요소의 상기 컨텐츠 정보 테이블의 시작 인덱스를 확인하고, 시작 인덱스에 대응하는 상기 컨텐츠 정보를 추출할 수 있다. 구체적으로, 요소 정보 테이블에서 추출하고자 하는 요소의 컨텐츠 정보 테이블의 시작 인덱스를 알 수 있고, 컨텐츠 정보 테이블에서 시작 인덱스에 대응하는 컨텐츠 정보를 추출할 수 있다. In one embodiment, the message transmitting/receiving device checks the element to be extracted from the second XML file using the priority table, checks the start index of the content information table of the element to be extracted, and corresponds to the start index. Content information can be extracted. Specifically, the start index of the content information table of the element to be extracted from the element information table may be known, and content information corresponding to the start index may be extracted from the content information table.

컨텐츠 정보의 크기는 다음 순서의 컨텐츠 정보의 시작 인덱스와 현재의 시작 인덱스 값을 통해 계산될 수 있다. 이에 따라, 전체 정보의 반복적인 파싱(Parsing) 또는 순환 없이 해당 요소의 컨텐츠 정보에 직접 접근하여 컨텐츠 정보를 추출하거나 삭제할 수 있다.The size of the content information may be calculated through a start index of the next content information and a current start index value. Accordingly, it is possible to extract or delete content information by directly accessing content information of a corresponding element without repetitive parsing or circulation of the entire information.

또한, 메시지 송수신 장치는 추출하고자 하는 요소가 아닌 경우, 요소 정보 테이블의 오프셋(Offset)을 증가시켜 추출하고자 하는 요소가 아닌 요소에 대한 접근을 차단할 수 있다. 예를 들어, 우선 순위 테이블을 이용하여, 추출하고자 하는 요소가 아닌 요소의 자식 수만큼 요소 정보 테이블의 오프셋을 증가시킬 수 있다. 추출하고자 하는 요소가 아닌 경우에 요소 정보 테이블의 오프셋을 증가시켜 불필요한 요소 정보에 대한 접근을 감소시킬 수 있고, 필요한 요소들에 대한 정보들을 효율적으로 추출할 수 있다.In addition, when the message transmission/reception device is not an element to be extracted, the device may block access to an element other than the element to be extracted by increasing an offset of the element information table. For example, by using the priority table, the offset of the element information table can be increased by the number of children of an element other than an element to be extracted. When the element to be extracted is not an element to be extracted, access to unnecessary element information can be reduced by increasing the offset of the element information table, and information on necessary elements can be efficiently extracted.

단계 140에서, 메시지 송수신 장치는 제3 XML 파일을 생성할 수 있다. 제3 XML 파일은 필터링 된 요소 정보 테이블 및 필터링 된 컨텐츠 정보 테이블을 포함할 수 있다. 필터링 된 요소 정보 테이블은 필터링 된 요소와 관련된 정보들만을 저장한 새로운 요소 정보 테이블을 의미할 수 있고, 필터링 된 컨텐츠 정보 테이블은 필터링 된 컨텐츠와 관련된 정보들만을 저장한 새로운 컨텐츠 정보 테이블을 의미할 수 있다.In step 140, the device for transmitting and receiving a message may generate a third XML file. The third XML file may include a filtered element information table and a filtered content information table. The filtered element information table may refer to a new element information table that stores only information related to the filtered element, and the filtered content information table may refer to a new content information table that stores only information related to the filtered content. have.

일 실시예에서, 메시지 송수신 장치는, 단계 130에서 필터링 된 요소 정보 및 필터링 된 컨텐츠 정보가 저장된 필터링 된 요소 정보 테이블 및 필터링 된 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성할 수 있다. In an embodiment, the message transmission/reception apparatus may generate a third XML file including a filtered element information table and a filtered content information table in which the filtered element information and the filtered content information are stored in operation 130.

도 2는 도 1에 도시된 단계 110 및 단계 120을 설명하기 위한 흐름도이다.2 is a flowchart illustrating steps 110 and 120 shown in FIG. 1.

도 2를 참조하면, 도 1에 도시된 단계 110 및 단계 120은, 제1 XML 파일의 마지막 줄에 해당할 때까지 수행할 수 있다. 도 2의 요소 정보 테이블 및 컨텐츠 정보 테이블은 도 1에서 설명한 요소 정보 테이블 및 컨텐츠 정보 테이블에 대응되므로 중복되는 내용은 생략한다.Referring to FIG. 2, steps 110 and 120 shown in FIG. 1 may be performed until they correspond to the last line of the first XML file. Since the element information table and the content information table of FIG. 2 correspond to the element information table and the content information table described in FIG. 1, overlapping contents are omitted.

제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하는 단계(도 1의 단계 110)는 요소의 컨텐츠 저장 함수를 호출하는 단계(단계 210) 및 요소의 컨텐츠 정보 테이블의 시작 인덱스가 중복되는지 여부를 확인하는 단계(단계 220)를 포함할 수 있다. 컨텐츠 저장 함수는 컨텐츠 정보를 저장하고 있는 함수로, 호출됨으로써 요소 정보 및 컨텐츠 정보를 제공할 수 있다.In the step of extracting the element information and content information of the first XML file (step 110 of FIG. 1), the step of calling the content storage function of the element (step 210) and checking whether the start index of the content information table of the element is duplicated. It may include a step (step 220). The content storage function is a function that stores content information, and may provide element information and content information by being called.

일 실시예에서, 컨텐츠 저장 함수를 호출하는 단계(단계 210)는 요소가 자식 요소를 가지고 있는지 여부를 판단하는 단계(단계 211)를 포함할 수 있다.In one embodiment, calling the content storage function (step 210) may include determining whether the element has child elements (step 211).

단계 211에서, 메시지 송수신 장치는 요소가 자식 요소를 가진 경우 재귀 호출 하고(단계 214), 요소가 자식 요소를 가지지 않은 경우 컨텐츠 정보 테이블에 요소의 컨텐츠 정보를 저장할 수 있다(단계 212). 구체적으로, 메시지 송수신 장치는 요소가 자식 요소를 가진 경우 다시 컨텐츠 저장 함수를 호출하여 단계 210으로 돌아갈 수 있고, 요소가 자식 요소를 가지지 않는 경우 컨텐츠 정보를 가질 수 있으므로, 컨텐츠 정보를 컨텐츠 정보 테이블에 저장할 수 있다(단계 212).In step 211, if the element has child elements, the message transmission/reception device makes a recursive call (step 214), and if the element does not have child elements, it may store content information of the element in the content information table (step 212). Specifically, if the element has child elements, the message transmitting and receiving device may return to step 210 by calling the content storage function again, and if the element does not have child elements, it may have content information, so that the content information is stored in the content information table. Can be saved (step 212).

단계 212에서, 컨텐츠 정보가 컨텐츠 정보 테이블에 저장됨으로써 컨텐츠 정보 테이블의 인덱스가 증가될 수 있다. In step 212, the index of the content information table may be increased by storing the content information in the content information table.

단계 220에서, 메시지 송수신 장치는 시작 인덱스가 중복되는지 여부를 확인할 수 있다. 요소의 컨텐츠 정보 테이블의 시작 인덱스가 중복되는 경우, 중복되는 시작 인덱스의 요소 정보를 요소 정보 테이블에 추가하고, 중복되는 시작 인덱스에 대응하는 컨텐츠 정보는 컨텐츠 정보 테이블에 추가하지 않을 수 있다. 예를 들어, SE3 요소의 컨텐츠 정보 테이블의 시작 인덱스가 90으로 중복되는 경우, 요소 정보 테이블에는 SE3 및 90을 추가하고, 컨텐츠 정보 테이블에는 SE3의 컨텐츠 정보를 추가하지 않을 수 있다. In step 220, the message transmitting and receiving device may check whether the start index is duplicated. When the start index of the content information table of an element is duplicated, element information of the duplicate start index may be added to the element information table, and content information corresponding to the duplicate start index may not be added to the content information table. For example, when the start index of the content information table of the SE3 element is duplicated to 90, SE3 and 90 may be added to the element information table, and the content information of SE3 may not be added to the content information table.

또한, 메시지 송수신 장치는 요소의 컨텐츠 정보 테이블의 시작 인덱스가 중복되지 않는 경우, 중복되지 않는 시작 인덱스의 요소 정보를 요소 정보 테이블에 추가하고, 중복되지 않는 시작 인덱스에 대응하는 컨텐츠 정보는 컨텐츠 정보 테이블에 새로 추가할 수 있다. 예를 들어, SE3 요소의 컨텐츠 정보 테이블의 시작 인덱스가 90으로 중복되지 않는 경우, 요소 정보 테이블에는 SE3 및 90을 추가하고, 컨텐츠 정보 테이블에는 SE3의 컨텐츠 정보를 추가할 수 있다.In addition, when the start index of the content information table of the element does not overlap, the message transmission/reception device adds element information of the non-overlapping start index to the element information table, and the content information corresponding to the non-overlapping start index is the content information table. You can add new to it. For example, if the start index of the content information table of the SE3 element does not overlap as 90, SE3 and 90 may be added to the element information table, and content information of SE3 may be added to the content information table.

단계 230에서, 메시지 송수신 장치는 요소 정보를 요소 정보 테이블에 저장할 수 있다.In step 230, the message transmitting and receiving device may store element information in the element information table.

중복되는 시작 인덱스의 요소 정보를 요소 정보 테이블에 추가함으로써, 시작 인덱스를 이용하여 컨텐츠 정보 테이블의 동일한 컨텐츠 정보를 추출할 수 있고, 중복되는 요소의 컨텐츠 정보를 컨텐츠 정보 테이블에 추가하지 않으므로 제2 XML 파일의 크기를 감소시킬 수 있다.By adding the element information of the duplicate start index to the element information table, the same content information of the content information table can be extracted using the start index, and the content information of the duplicate element is not added to the content information table. You can reduce the size of the file.

요소 정보를 추출하고 저장하는 과정(단계 210, 단계 220, 단계 230) 및 컨텐츠 정보를 추출하고 저장하는 과정(단계 211, 단계 212, 단계214)은 동시에 수행될 수 도 있고, 순차적으로 수행될 수도 있으나, 이에 제한되지 않는다.The process of extracting and storing element information (step 210, step 220, step 230) and the process of extracting and storing content information (step 211, step 212, step 214) may be performed simultaneously or sequentially. However, it is not limited thereto.

도 3 및 도4는 제1 XML 파일을 설명하기 위한 예시도들이다.3 and 4 are exemplary diagrams for describing a first XML file.

도 3 및 도4를 참조하면, 제1 XML 파일은 XML 스키마(310) 및 XML 스키마 기반의 XML 문서(410)를 포함할 수 있다. 스키마(Schema)는 물리적인 장치로부터 논리적인 데이터 베이스 레코드(Data base record)를 매핑(Mapping)하는 데 사용되는 정보로, XML 스키마를 통해 제1 XML 파일의 형식을 정의할 수 있다. 3 and 4, a first XML file may include an XML schema 310 and an XML schema-based XML document 410. The schema is information used to map a logical database record from a physical device, and a format of the first XML file may be defined through an XML schema.

제1 XML 파일은 루트 요소(Root Element)를 제외한 나머지 요소는 속성(Attribute)값을 가지지 않으며, 자식 요소와 컨텐츠 정보값으로 표현할 수 있고, 하나의 제1 XML 파일에는 하나의 스키마만 적용한다고 가정한다. 루트 요소는 제1 XML 파일의 최상위 요소를 의미할 수 있다.Assume that the first XML file does not have attribute values except for the root element, and can be expressed as child elements and content information values, and that only one schema is applied to one first XML file. do. The root element may mean the top element of the first XML file.

도 3에서, XML 스키마(310)의 루트 요소는 "TDLMessage", 부모 요소는 "SurfaceTrack", 부모 요소에 대한 자식 요소 수는 5개로 "WordFormat", "Course", "Speed", "Latitude", "Longitude"가 자식 요소에 해당할 수 있다.In FIG. 3, the root element of the XML schema 310 is "TDLMessage", the parent element is "SurfaceTrack", and the number of child elements for the parent element is 5; "WordFormat", "Course", "Speed", "Latitude", "Longitude" can be a child element.

도 4에서, XML 스키마 기반의 XML 문서(410)는, 유통시킬 파일을 XML 스키마 기반의 XML 문서로 작성한 것을 의미할 수 있고, 파일이 시스템에서 유통될 때에는 XML 스키마 정의에 따라 XML 문서(410)를 작성하여 상호 운용성이 보장되도록 검증이 가능한 파일을 교환할 수 있다. In FIG. 4, the XML schema-based XML document 410 may mean that a file to be distributed is created as an XML schema-based XML document, and when the file is distributed in the system, the XML document 410 according to the XML schema definition You can exchange files that can be verified to ensure interoperability by writing.

도 4에서 루트 요소는 "TDLMessage", 루트 요소의 속성값은 "http://www.w3.org/2001/XMLSchema-instance"이고, 부모 요소는 "SurfaceTrack"이고, 자식 요소 "WordFormat"의 컨텐츠 정보는 "1111"이고, 자식 요소 "Course"의 컨텐츠 정보는 "East"이고, 자식 요소 "Speed"의 컨텐츠 정보는 "150"이고, 자식 요소 "Latitude"의 컨텐츠 정보는 "17.124"이고, 자식 요소 "Longitude"의 컨텐츠 정보는 13.52일 수 있다.In Fig. 4, the root element is "TDLMessage", the attribute value of the root element is "http://www.w3.org/2001/XMLSchema-instance", the parent element is "SurfaceTrack", and the content of the child element "WordFormat" The information is "1111", the content information of the child element "Course" is "East", the content information of the child element "Speed" is "150", the content information of the child element "Latitude" is "17.124", and Content information of the element "Longitude" may be 13.52.

도 5는 도 1에 도시된 단계 110 및 단계 120을 설명하기 위한 예시도이다.5 is an exemplary diagram for explaining steps 110 and 120 shown in FIG. 1.

도 5를 참조하면, 메시지 송수신 장치는 제1 XML 파일(510, 520)을 정보 추출 구조(530)를 통해 제2 XML 파일(540)을 생성할 수 있다. 도 5의 XML 스키마(510)는 도3의 XML 스키마(310)에 대응되고, 도 5의 XML 스키마 기반의 XML 문서(520)는 도 4의 XML 스키마 기반의 XML 문서(410)에 대응되고, 도 5의 제2 XML 파일(540), 요소 정보 테이블(550), 컨텐츠 정보 테이블(560), 식별자 아이디(551) 및 컨텐츠 정보 테이블의 시작 인덱스(553)는 도 1에서 설명한 제2 XML 파일, 요소 정보 테이블, 컨텐츠 정보 테이블, 식별자 아이디 및 컨텐츠 정보 테이블의 시작 인덱스에 대응되므로 중복되는 내용은 생략한다.Referring to FIG. 5, the apparatus for transmitting and receiving a message may generate a second XML file 540 from a first XML file 510 and 520 through an information extraction structure 530. The XML schema 510 of FIG. 5 corresponds to the XML schema 310 of FIG. 3, and the XML schema-based XML document 520 of FIG. 5 corresponds to the XML schema-based XML document 410 of FIG. 4, The second XML file 540 of FIG. 5, the element information table 550, the content information table 560, the identifier ID 551, and the start index 553 of the content information table are the second XML file described in FIG. 1, Since it corresponds to the element information table, the content information table, the identifier ID, and the start index of the content information table, duplicate contents are omitted.

정보 추출 구조(530)는 도 2에 도시된 단계들에 의해 수행될 수 있다. 정보 추출 구조(530)는 추출된 요소 정보 및 컨텐츠 정보로 구성될 수 있다. 정보 추출 구조(530)는 XML 스키마(510) 및 XML 스키마 기반의 XML 문서(520)를 포함한 제1 XML 파일(510, 520)을 식별자 아이디를 이용하여 요소 정보 및 컨텐츠 정보를 나타낼 수 있다.The information extraction structure 530 may be performed by the steps shown in FIG. 2. The information extraction structure 530 may be composed of extracted element information and content information. The information extraction structure 530 may represent element information and content information in the first XML files 510 and 520 including the XML schema 510 and the XML schema-based XML document 520 by using an identifier ID.

일 실시예에서, 정보 추출 구조(530)는 EXI(Efficient XML Interchange)에서 사용되는 식별자 아이디를 이용하여 요소 정보 및 컨텐츠 정보를 나타낼 수 있다. SD(Start Document)는 문서의 시작을 의미하고, SE는 요소 정보 항목을 의미하고, AT는 속성 정보 항목을 의미하고, CH는 문자 정보 항목을 의미하고, EE는 엔드 요소를 의미할 수 있다.In one embodiment, the information extraction structure 530 may represent element information and content information by using an identifier ID used in EXI (Efficient XML Interchange). SD (Start Document) may mean the start of a document, SE means an element information item, AT means an attribute information item, CH means a character information item, and EE means an end element.

예를 들어, 정보 추출 구조(530)는 XML 스키마 기반의 XML 문서(520)의 "TDLMessage"를 SE1으로, "xmlns:xsi~"는 AT1로, "xsi:noNamespace~"는 AT2로, "SurfaceTrack"은 SE2로, "WordFormat"은 SE3으로, "Course"는 SE4로,"1111"은 SE3의 CH로, "EAST"는 SE4의 CH로 구성될 수 있다. For example, in the information extraction structure 530, the "TDLMessage" of the XML document 520 based on the XML schema is referred to as SE1, the "xmlns:xsi~" is AT1, the "xsi:noNamespace~" is AT2, and the "SurfaceTrack "" may be composed of SE2, "WordFormat" may be composed of SE3, "Course" may be composed of SE4, "1111" may be composed of SE3 CH, and "EAST" may be composed of SE4 CH.

정보 추출 구조(530)를 통해 추출된 요소 정보 및 컨텐츠 정보는 각각 요소 정보 테이블(550) 및 컨텐츠 정보 테이블(560)에 저장될 수 있다. 요소 정보 테이블(550)은 식별자 아이디(551), 부모 요소의 전체 자식 요소 수(552) 및 컨텐츠 정보 테이블(560)의 시작 인덱스(553)로 구성될 수 있다. The element information and content information extracted through the information extraction structure 530 may be stored in the element information table 550 and the content information table 560, respectively. The element information table 550 may include an identifier ID 551, a total number of child elements 552 of a parent element, and a start index 553 of the content information table 560.

요소 정보 테이블(550)에서 식별자 아이디(551)는 SD, SE1, AT1, AE2, SE2, SE3 및 SE4 등에 해당할 수 있고, 식별자 아이디(551)는 4byte 형식일 수 있으나 이에 제한되지 않는다. 부모 요소의 전체 자식 요소 수(552)는 -5에 해당할 수 있고, 4byte 형식으로 음수로 표현할 수 있다. 컨텐츠 정보 테이블(560)의 시작 인덱스(553)는 0, 4 등일 수 있고, 4byte 형식일 수 있다. 또한, 컨텐츠 정보 테이블(560)의 시작 인덱스(553)는 부모 요소의 전체 자식 요소 수(552)와 구별하기 위해 양수로 표현할 수 있으나, 이에 제한되지 않는다. In the element information table 550, the identifier ID 551 may correspond to SD, SE1, AT1, AE2, SE2, SE3, and SE4, and the identifier ID 551 may be in a 4-byte format, but is not limited thereto. The total number of child elements 552 of the parent element may correspond to -5, and may be expressed as a negative number in a 4 byte format. The start index 553 of the content information table 560 may be 0, 4, etc., and may be in a 4 byte format. In addition, the start index 553 of the content information table 560 may be expressed as a positive number to distinguish it from the total number of child elements 552 of the parent element, but is not limited thereto.

일 실시예에서, 메시지 송수신 장치는 중복되는 요소 정보가 존재하는 경우, 요소 정보 테이블(550)에는 중복되는 요소 정보를 추가할 수 있고, 컨텐츠 정보 테이블(560)에는 중복되는 요소의 컨텐츠 정보를 추가하지 않을 수 있다. 예를 들어, 요소 SE3이 중복되는 경우, SE3의 요소 정보가 요소 정보 테이블(550)에 추가되고, SE3의 컨텐츠 정보는 컨텐츠 정보 테이블(560)에 추가되지 않을 수 있다. 컨텐츠 정보 테이블(560)은 요소 정보 테이블(550)의 요소 정보 순서에 따라 순차적으로 컨텐츠 정보를 저장할 수 있다. In one embodiment, the message transmitting/receiving device may add duplicate element information to the element information table 550 when duplicate element information exists, and add content information of the duplicate element to the content information table 560 I can't. For example, when element SE3 is duplicated, element information of SE3 may be added to the element information table 550, and content information of SE3 may not be added to the content information table 560. The content information table 560 may sequentially store content information according to the order of element information in the element information table 550.

도 6은 도 1에 도시된 단계 130을 설명하기 위한 예시도이다. 6 is an exemplary diagram for explaining step 130 shown in FIG. 1.

도 6을 참조하면, 메시지 송수신 장치는 제2 XML 파일(630)을 우선 순위 테이블(620)을 이용하여 필터링할 수 있다. 도 6의 XML 스키마 기반의 XML 문서(610) 및 제2 XML 파일(630)은 도 5의 XML 스키마 기반의 XML 문서(520) 및 도 5의 제2 XML 파일(540)에 대응되므로, 중복되는 내용은 생략한다.Referring to FIG. 6, the apparatus for transmitting and receiving a message may filter the second XML file 630 using the priority table 620. The XML schema-based XML document 610 and the second XML file 630 of FIG. 6 correspond to the XML schema-based XML document 520 of FIG. 5 and the second XML file 540 of FIG. Content is omitted.

XML 스키마 기반의 XML 문서(610)에서, "data"의 자식 요소는 "Image", "Text", "imgbody", "photo", "body" 이고, "Image"의 자식 요소는 "imgbody", "photo"이고, "Text"의 자식 요소는 "body"이며, "imgbody"및 "photo"의 부모 요소는 "Image", "data"이고, "body"의 부모 요소는 "Text", "data"이고, "Image"및 "Text"의 부모 요소는 "data"임을 알 수 있다.In the XML schema-based XML document 610, child elements of "data" are "Image", "Text", "imgbody", "photo", and "body", and child elements of "Image" are "imgbody", "photo", the child element of "Text" is "body", the parent elements of "imgbody" and "photo" are "Image" and "data", and the parent element of "body" is "Text", "data It can be seen that "is", and the parent elements of "Image" and "Text" are "data".

일 실시예에서, 메시지 송수신 장치는 우선 순위 테이블(620)을 이용하여 추출하고자 하는 요소를 확인할 수 있다. 예를 들어, XML 스키마 기반의 XML 문서(610)를 포함한 제1 XML 파일로부터 추출하고자 하는 요소는 우선 순위 테이블(620)에서 "body"요소임을 확인할 수 있다. 우선 순위 테이블(620)은 기 정의된 것으로, 필수적으로 송수신하고자 하는 요소의 목록 또는 필수적으로 송수신하지 않아도 되는 요소의 목록을 포함할 수 있고, 도메인 전문가들의 정보 가치 분석을 통해 작성될 수 있다.In one embodiment, the message transmission/reception device may check the element to be extracted using the priority table 620. For example, it may be confirmed that an element to be extracted from the first XML file including the XML schema-based XML document 610 is a "body" element in the priority table 620. The priority table 620 is predefined and may include a list of elements to be transmitted/received essential or a list of elements that are not necessarily transmitted/received, and may be created through information value analysis of domain experts.

또한, 메시지 송수신 장치는 요소 정보 테이블(640)에서 추출하고자 하는 요소의 컨텐츠 정보 테이블(650)의 시작 인덱스를 확인할 수 있고, 추출하고자 하는 요소 정보를 추출할 수 있다. 예를 들어, 요소 정보 테이블(640)의 SE(641)는 "Image"요소의 식별자 아이디이고, SE(642)는 "Text"요소의 식별자 아이디이고, SE(643)은 "body"요소의 식별자 아이디를 의미할 수 있고, "Text"요소의 전체 자식 요소 수(644)는 -1로 1개이며, 추출하고자 하는"body"요소의 컨텐츠 정보 테이블(650)의 시작 인덱스(645)는 90임을 확인할 수 있다. In addition, the message transmission/reception apparatus may check the start index of the content information table 650 of the element to be extracted from the element information table 640 and extract the element information to be extracted. For example, the SE 641 of the element information table 640 is the identifier ID of the "Image" element, the SE 642 is the identifier ID of the "Text" element, and the SE 643 is the identifier of the "body" element. It may mean an ID, and the total number of child elements 644 of the "Text" element is -1, and the start index 645 of the content information table 650 of the "body" element to be extracted is 90. I can confirm.

메시지 송수신 장치는 시작 인덱스(645)에 대응하는 컨텐츠 정보 테이블(650)의 컨텐츠 정보를 추출할 수 있다. 예를 들어, 시작 인덱스(645)가 90인 경우, 컨텐츠 정보 테이블(650)에서 인덱스가 90인 곳(651)으로 바로 접근하여 "body"요소의 컨텐츠 정보인 "hello"를 추출할 수 있다.The message transmission/reception device may extract content information of the content information table 650 corresponding to the start index 645. For example, when the start index 645 is 90, the content information table 650 may directly access the place 651 having the index 90 to extract the content information "hello" of the "body" element.

일 실시예에서, 메시지 송수신 장치는 추출하고자 하는 요소가 아닌 경우, 요소 정보 테이블(640)의 오프셋을 증가시켜 추출하고자 하는 요소가 아닌 요소에 대한 접근을 차단할 수 있다. 예를 들어, 추출하고자 하는 요소가 "body"인 경우, "body"가 아닌 요소의 자식 수만큼의 요소 정보 테이블(640)의 오프셋을 증가시켜 SE(642)로 이동할 수 있다.In an embodiment, if the element to be extracted is not an element to be extracted, the message transmission/reception device may block access to an element other than the element to be extracted by increasing an offset of the element information table 640. For example, if the element to be extracted is "body", the offset of the element information table 640 as many as the number of children of the element other than "body" may be increased to move to the SE 642.

메시지 송수신 장치는 우선 순위 테이블(620)을 이용하여 추출하고자 하는 요소만 추출함으로써 요소 정보 및 컨텐츠 정보를 효율적으로 추출하는 것이 가능하고, 불필요한 정보에 대한 접근을 감소시킬 수 있다. The message transmitting/receiving apparatus may extract element information and content information efficiently by extracting only the element to be extracted using the priority table 620, and reduce access to unnecessary information.

도 7은 도 6에 도시된 제2 XML 파일(630)에 필터링이 적용된 구조를 나타내기 위한 도면이다.FIG. 7 is a diagram illustrating a structure in which filtering is applied to the second XML file 630 shown in FIG. 6.

도 7을 참조하면, 제3 XML 파일(720)은 필터링 된 요소 정보 테이블(721) 및 필터링 된 컨텐츠 정보 테이블(722)을 포함할 수 있다. 도 7의 제2 XML 파일(710), 요소 정보 테이블(711) 및 컨텐츠 정보 테이블(712)은 도 6의 제2 XML 파일(630), 요소 정보 테이블(640) 및 컨텐츠 정보 테이블(650)에 대응되므로 중복되는 내용은 생략한다.Referring to FIG. 7, the third XML file 720 may include a filtered element information table 721 and a filtered content information table 722. The second XML file 710, the element information table 711, and the content information table 712 of FIG. 7 are in the second XML file 630, the element information table 640, and the content information table 650 of FIG. Since they correspond, the overlapping content is omitted.

일 실시예에서, 요소 정보 테이블(711) 및 컨텐츠 정보 테이블(712)을 우선 순위 테이블을 이용하여 필터링 된 요소 정보 및 컨텐츠 정보를, 필터링 된 요소 정보 테이블(721) 및 필터링 된 컨텐츠 정보 테이블(722)에 새로 저장할 수 있다. 예를 들어, 요소 정보 테이블(711)에서 추출하고자 하는 요소의 정보를 필터링 된 요소 정보 테이블(721)에 저장할 수 있고, 컨텐츠 정보 테이블(712)에서 추출하고자 하는 요소의 컨텐츠 정보인 "hello"를 필터링 된 컨텐츠 정보 테이블(722)에 저장할 수 있다. In an embodiment, the element information table 711 and the content information table 712 are filtered using a priority table, and the filtered element information and content information, the filtered element information table 721 and the filtered content information table 722 ) Can be saved. For example, information of an element to be extracted from the element information table 711 may be stored in the filtered element information table 721, and "hello", which is the content information of the element to be extracted from the content information table 712, is It may be stored in the filtered content information table 722.

메시지 송수신 장치는 필터링 된 요소 정보 테이블(721) 및 필터링 된 컨텐츠 정보 테이블(722)을 포함하는 제3 XML 파일(720)을 생성할 수 있다. 제2 XML 파일(710)에서 필터링 된 요소 정보 및 컨텐츠 정보만 제3 XML 파일(720)로 저장함으로써 크기가 작고, 통신 오버헤드를 감소시킬 수 있다. The message transmission/reception device may generate a third XML file 720 including the filtered element information table 721 and the filtered content information table 722. By storing only the element information and content information filtered in the second XML file 710 to the third XML file 720, the size is small and communication overhead can be reduced.

도 8은 일 실시예에 따른 메시지 송수신 시스템을 설명하기 위한 도면이다.8 is a diagram illustrating a system for transmitting and receiving a message according to an embodiment.

도 8을 참조하면, 메시지 송수신 시스템은 출판자(810), 브로커(820) 및 구독자(830)로 구성될 수 있다. 도 8의 제1 XML 파일(811), 제2 XML 파일(812) 및 제3 XML 파일(813)은 도 1에서 설명한 제1 XML 파일, 제2 XML 파일 및 제3 XML 파일에 대응되므로 중복되는 내용은 생략한다.Referring to FIG. 8, the message transmission and reception system may include a publisher 810, a broker 820 and a subscriber 830. The first XML file 811, the second XML file 812, and the third XML file 813 of FIG. 8 correspond to the first, second, and third XML files described in FIG. Content is omitted.

메시지 송수신 시스템은 메시지 미들웨어(Middleware) 시스템을 의미할 수 있고, 출판자(810)는 특정 이벤트를 발생시키는 구성을 의미하고, 구독자(830)는 특정 이벤트를 수신하는 구성을 의미하고, 브로커(820)는 출판자(810)와 구독자(830)를 중개하는 버스 등을 의미할 수 있다. The message transmission/reception system may refer to a message middleware system, the publisher 810 refers to a configuration that generates a specific event, the subscriber 830 refers to a configuration that receives a specific event, and the broker 820 May mean a bus that mediates the publisher 810 and the subscriber 830.

일 실시예에서, 메시지 송수신 시스템의 출판자(810)는 제1 XML 파일(811)의 요소 정보 및 컨텐츠 정보를 추출하고, 추출된 요소 정보 및 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하여 제2 XML 파일(812)을 생성할 수 있다. 예를 들어, 출판자(810)는 제1 XML 파일(811)을 제2 XML 파일(812)로 인코딩(Encoding)할 수 있다. 인코딩은 제1 XML 파일(811)을 제1 XML 파일(811)의 요소 정보 및 컨텐츠 정보를 추출하여, 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장한 제2 XML 파일(812)로 변환하는 것을 의미할 수 있고, 출판자(810)는 XML 스키마를 포함할 수 있으나, 이에 제한되지 않는다. 스키마(Schema)는 물리적인 장치로부터 논리적인 데이터 베이스 레코드(Data base record)를 매핑(Mapping)하는 데 사용되는 정보로, XML 스키마를 통해 제1 XML 파일의 형식을 정의할 수 있다.In one embodiment, the publisher 810 of the message transmission/reception system extracts element information and content information of the first XML file 811, and stores the extracted element information and content information in the element information table and the content information table, respectively. A second XML file 812 may be generated. For example, the publisher 810 may encode the first XML file 811 into the second XML file 812. Encoding refers to extracting the element information and content information of the first XML file 811 from the first XML file 811 and converting them into a second XML file 812 stored in the element information table and the content information table, respectively. Yes, and the publisher 810 may include an XML schema, but is not limited thereto. The schema is information used to map a logical database record from a physical device, and a format of the first XML file may be defined through an XML schema.

메시지 송수신 시스템의 브로커(820)는 제2 XML 파일(812)을 우선 순위 테이블을 이용하여 필터링하고, 필터링 된 요소 정보 테이블 및 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성할 수 있다. 예를 들어, 브로커(820)는 출판자(810)로부터 제2 XML 파일(812)을 수신하여 필터링하고, 제3 XML 파일을 생성할 수 있다. 브로커(820)는 출판자(810)와 동일한 XML 스키마를 가지고 있을 수 있으며, 기 정의된 우선 순위 테이블을 가지고 있을 수 있다. 우선 순위 테이블을 이용하여 추출하고자 하는 요소를 알 수 있고, 우선 순위 테이블은 필수적으로 송수신하고자 하는 요소의 목록 또는 필수적으로 송수신하지 않아도 되는 요소의 목록을 포함할 수 있다. The broker 820 of the message transmission/reception system may filter the second XML file 812 using the priority table, and generate a third XML file including the filtered element information table and the content information table. For example, the broker 820 may receive and filter the second XML file 812 from the publisher 810 and generate a third XML file. The broker 820 may have the same XML schema as the publisher 810 and may have a predefined priority table. An element to be extracted can be known using the priority table, and the priority table may include a list of elements to be transmitted/received essential or a list of elements that are not necessarily transmitted/received.

또한, 메시지 송수신 시스템의 구독자(830)는 제3 XML 파일(813)을 수신할 수 있고, 구독자(830)의 필요에 의해 디코딩(Decoding)할 수 있다. 디코딩은 구독자(830)가 제3 XML 파일(814)을 수신하여 필터링이 적용된 제1 XML 파일로 변환하는 것을 의미할 수 있다. 구독자(830)는 출판자(810)와 동일한 XML 스키마를 가지고 있을 수 있다.Also, the subscriber 830 of the message transmission/reception system may receive the third XML file 813 and may decode it according to the needs of the subscriber 830. Decoding may mean that the subscriber 830 receives the third XML file 814 and converts it into a filtered first XML file. The subscriber 830 may have the same XML schema as the publisher 810.

도 9는 일 실시예에 따른 메시지 송수신 장치의 블록도이다.9 is a block diagram of an apparatus for transmitting and receiving a message according to an embodiment.

도 9를 참조하면, 메시지 송수신 장치(900)는 메모리(910) 및 프로세서(920)를 포함할 수 있다. 도 9에 도시된 메시지 송수신 장치(900)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.Referring to FIG. 9, the message transmission/reception apparatus 900 may include a memory 910 and a processor 920. In the message transmitting/receiving apparatus 900 shown in FIG. 9, only components related to the embodiment are shown. Therefore, it can be understood by those of ordinary skill in the art that other general-purpose components may be further included in addition to the components illustrated in FIG. 9.

메모리(910)는 메시지 송수신 장치(900) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어이다. 예를 들어, 메모리(910)는 요소 정보 테이블, 컨텐츠 정보 테이블, 컨텐츠 저장 함수 및 우선 순위 테이블 등을 저장할 수 있다. 메모리(910)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.The memory 910 is hardware that stores various types of data processed in the message transmission/reception device 900. For example, the memory 910 may store an element information table, a content information table, a content storage function, and a priority table. The memory 910 includes a random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and CD- ROM, Blu-ray or other optical disk storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.

프로세서(920)는 도 1 내지 도 8에서 상술한, 메시지를 송수신하기 위한 전반적인 기능을 수행한다. The processor 920 performs an overall function for transmitting and receiving messages, as described above in FIGS. 1 to 8.

일 실시예에서, 프로세서(920)는 제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하고, 추출된 요소 정보 및 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고, 요소 정보 테이블 및 컨텐츠 정보 테이블을 포함하는 제2 XML 파일을 생성할 수 있다. 또한, 프로세서(920)는 제2 XML 파일을 우선 순위 테이블을 이용하여 추출하고자 하는 요소의 컨텐츠 정보 테이블의 시작 인덱스를 확인하고, 시작 인덱스에 대응하는 컨텐츠 정보를 추출할 수 있고, 필터링 된 요소 정보 테이블 및 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성할 수 있다.In one embodiment, the processor 920 extracts element information and content information of the first XML file, stores the extracted element information and content information in the element information table and the content information table, respectively, and the element information table and the content information A second XML file including a table may be generated. In addition, the processor 920 may check the start index of the content information table of the element to be extracted from the second XML file by using the priority table, extract content information corresponding to the start index, and filter element information A third XML file including a table and a content information table may be generated.

본 실시예들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 프로그램을 기록한 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.The present embodiments may also be implemented in the form of a recording medium in which a program such as a program module executed by a computer is recorded. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, other data in a modulated data signal such as program modules, or other transmission mechanisms, and includes any information delivery media.

또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.Further, in the present specification, the "unit" may be a hardware component such as a processor or a circuit, and/or a software component executed by a hardware configuration such as a processor.

전술한 본 명세서의 설명은 예시를 위한 것이며, 본 명세서의 내용이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present specification is for illustrative purposes only, and those of ordinary skill in the art to which the content of the present specification belongs will understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present invention. I will be able to. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

상술한 실시예들에 대한 설명은 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서 발명의 진정한 보호 범위는 첨부된 청구범위에 의해 정해져야 할 것이며, 청구범위에 기재된 내용과 동등한 범위에 있는 모든 차이점은 청구범위에 의해 정해지는 보호 범위에 포함되는 것으로 해석되어야 할 것이다.The description of the above-described embodiments is merely exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true scope of protection of the invention should be determined by the appended claims, and all differences in the scope equivalent to the content described in the claims should be construed as being included in the scope of protection defined by the claims.

310: XML 스키마 410: XML 스키마 기반의 XML 문서
510: XML 스키마 520: XML 스키마 기반의 XML 문서
530: 정보 추출 구조 540: 제2 XML 파일
550: 요소 정보 테이블 551: 식별자 아이디
552: 부모 요소의 전체 자식 요소 수 553: 시작 인덱스
560: 컨텐츠 정보 테이블 610: XML 스키마 기반의 XML 문서
620: 우선 순위 테이블 630: 제2 XML 파일
640: 요소 정보 테이블 641: "Image" 의 식별자 아이디
642: "Text"의 식별자 아이디 643: "body"의 식별자 아이디
644: "Text"의 전체 자식 요소 수 645: "body"의 시작 인덱스
650: 컨텐츠 정보 테이블 651: 시작 인덱스가 90인 곳
710: 제2 XML 파일 711: 요소 정보 테이블
712: 컨텐츠 정보 테이블 720: 제3 XML 파일
721: 필터링 된 요소 정보 테이블 722: 필터링 된 컨텐츠 정보 테이블
810: 출판자 811: 제1 XML 파일
812: 제2 XML 파일 813: 제3 XML 파일
814: 필터링이 적용된 제1 XML 파일 820: 브로커
830: 구독자 900: 메시지 송수신 장치
910: 메모리 920: 프로세서
310: XML Schema 410: XML Document based on XML Schema
510: XML Schema 520: XML Document based on XML Schema
530: information extraction structure 540: second XML file
550: element information table 551: identifier ID
552: total number of child elements of the parent element 553: starting index
560: Content information table 610: XML document based on XML schema
620: priority table 630: second XML file
640: Element information table 641: Identifier ID of "Image"
642: Identifier ID of "Text" 643: Identifier ID of "body"
644: total number of child elements of "Text" 645: starting index of "body"
650: content information table 651: where the starting index is 90
710: second XML file 711: element information table
712: content information table 720: third XML file
721: filtered element information table 722: filtered content information table
810: publisher 811: first XML file
812: second XML file 813: third XML file
814: first XML file to which filtering is applied 820: broker
830: subscriber 900: message sending and receiving device
910: memory 920: processor

Claims (13)

메시지를 송수신하는 방법에 있어서,
제1 XML(eXtensible Markup Language) 파일의 요소(Element) 정보 및 컨텐츠 정보를 추출하는 단계;
상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고, 상기 요소 정보 테이블 및 상기 컨텐츠 정보 테이블을 포함하는 제2 XML 파일을 생성하는 단계;
상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하는 단계; 및
필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하는 단계;를 포함하고,
상기 요소 정보 테이블은,
식별자 아이디, 부모 요소의 전체 자식 요소 수 및 상기 컨텐츠 정보 테이블의 시작 인덱스 중 적어도 하나를 포함하는, 메시지 송수신 방법.
In the method of transmitting and receiving a message,
Extracting element information and content information of a first XML (eXtensible Markup Language) file;
Storing the extracted element information and the extracted content information in an element information table and a content information table, respectively, and generating a second XML file including the element information table and the content information table;
Filtering the second XML file using a priority table; And
Generating a third XML file including the filtered element information table and the filtered content information table; Including,
The element information table,
A message transmission and reception method comprising at least one of an identifier ID, a total number of child elements of a parent element, and a start index of the content information table.
삭제delete 제 1항에 있어서,
상기 부모 요소의 전체 자식 요소 수는 음수로 표시되고, 상기 컨텐츠 정보 테이블의 시작 인덱스는 양수로 표시되는, 메시지 송수신 방법.
The method of claim 1,
The total number of child elements of the parent element is indicated by a negative number, and the start index of the content information table is indicated by a positive number.
제 1항에 있어서,
상기 컨텐츠 정보 테이블은,
상기 컨텐츠 정보가 상기 요소 정보 테이블에 따라 순차적으로 저장되는, 메시지 송수신 방법.
The method of claim 1,
The content information table,
The content information is sequentially stored according to the element information table.
제 1항에 있어서,
상기 추출하는 단계는,
요소의 컨텐츠 저장 함수를 호출하는 단계; 및
상기 요소의 상기 컨텐츠 정보 테이블의 시작 인덱스가 중복되는지 여부를 확인하는 단계;를 포함하는, 메시지 송수신 방법.
The method of claim 1,
The extracting step,
Calling an element content storage function; And
Including, checking whether the start index of the content information table of the element overlaps.
제 5항에 있어서,
상기 컨텐츠 저장 함수를 호출하는 단계는,
상기 요소가 자식 요소를 가진 경우 재귀 호출 하는 단계; 및
상기 요소가 자식 요소를 가지지 않은 경우 상기 컨텐츠 정보 테이블에 상기 컨텐츠 정보를 저장하는 단계;를 포함하는, 메시지 송수신 방법.
The method of claim 5,
Calling the content storage function,
Calling recursively when the element has child elements; And
And storing the content information in the content information table when the element does not have child elements.
제 5항에 있어서,
상기 시작 인덱스가 중복되는지 여부를 확인하는 단계는,
상기 시작 인덱스가 중복되는 경우, 상기 중복되는 시작 인덱스의 요소 정보를 상기 요소 정보 테이블에 추가하고, 상기 중복되는 시작 인덱스에 대응하는 컨텐츠 정보는 상기 컨텐츠 정보 테이블에 추가하지 않는 단계; 및
상기 시작 인덱스가 중복되지 않는 경우, 상기 중복되지 않는 시작 인덱스의 요소 정보를 상기 요소 정보 테이블에 추가하고, 상기 중복되지 않는 시작 인덱스에 대응하는 컨텐츠 정보는 상기 컨텐츠 정보 테이블에 추가하는 단계;를 포함하는, 메시지 송수신 방법.
The method of claim 5,
The step of checking whether the starting index is duplicated,
If the start indexes overlap, adding element information of the overlapping start index to the element information table, and not adding content information corresponding to the overlapping start index to the content information table; And
If the start index does not overlap, adding element information of the non-overlapping start index to the element information table, and adding content information corresponding to the non-overlapping start index to the content information table; including; How to send and receive messages.
제 1항에 있어서,
상기 필터링 하는 단계는,
상기 우선 순위 테이블을 이용하여, 추출하고자 하는 요소를 확인하는 단계;
상기 추출하고자 하는 요소의 상기 컨텐츠 정보 테이블의 시작 인덱스를 확인하는 단계; 및
상기 시작 인덱스에 대응하는 상기 컨텐츠 정보를 추출하는 단계;를 포함하는, 메시지 송수신 방법.
The method of claim 1,
The filtering step,
Identifying an element to be extracted by using the priority table;
Checking a start index of the content information table of the element to be extracted; And
Extracting the content information corresponding to the start index; Containing, message transmission and reception method.
제 8항에 있어서,
상기 필터링 하는 단계는,
상기 추출하고자 하는 요소가 아닌 경우, 상기 요소 정보 테이블의 오프셋(Offset)을 증가시켜 추출하고자 하는 요소가 아닌 요소에 대한 접근을 차단하는 단계;를 더 포함하는, 메시지 송수신 방법.
The method of claim 8,
The filtering step,
If the element is not the element to be extracted, blocking access to the element other than the element to be extracted by increasing an offset of the element information table; further comprising, a message transmitting and receiving method.
제 1항에 있어서,
상기 우선 순위 테이블은,
필수적으로 송수신하고자 하는 요소의 목록 및 필수적으로 송수신하지 않아도 되는 요소의 목록 중 적어도 하나를 포함하는, 메시지 송수신 방법.
The method of claim 1,
The priority table,
A message transmission and reception method comprising at least one of a list of elements to be transmitted and received essentially and a list of elements that are not necessarily transmitted and received.
제 1항, 및 제3항 내지 제 10항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체.A recording medium recording a program for executing the method according to any one of claims 1 and 3 to 10 on a computer. 메시지 송수신 장치에 있어서,
메모리; 및
프로세서;를 포함하고,
상기 프로세서는,
제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하고,
상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하고, 상기 요소 정보 테이블 및 상기 컨텐츠 정보 테이블을 포함하는 제2 XML 파일을 생성하고,
상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하고,
필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하고,
상기 요소 정보 테이블은,
식별자 아이디, 부모 요소의 전체 자식 요소 수 및 상기 컨텐츠 정보 테이블의 시작 인덱스 중 적어도 하나를 포함하는, 메시지 송수신 장치.
In the message transmission and reception device,
Memory; And
Including; a processor;
The processor,
Extracting element information and content information of the first XML file,
Store the extracted element information and the extracted content information in an element information table and a content information table, respectively, and generate a second XML file including the element information table and the content information table,
Filtering the second XML file using a priority table,
Create a third XML file including the filtered element information table and the filtered content information table,
The element information table,
A message transmitting and receiving device comprising at least one of an identifier ID, a total number of child elements of a parent element, and a start index of the content information table.
메시지 송수신 시스템에 있어서,
제1 XML 파일의 요소 정보 및 컨텐츠 정보를 추출하고, 상기 추출된 요소 정보 및 상기 추출된 컨텐츠 정보를 각각 요소 정보 테이블 및 컨텐츠 정보 테이블에 저장하여 제2 XML 파일을 생성하는 출판자;
상기 제2 XML 파일을 우선 순위 테이블을 이용하여 필터링하고, 필터링 된 상기 요소 정보 테이블 및 필터링 된 상기 컨텐츠 정보 테이블을 포함하는 제3 XML 파일을 생성하는 브로커; 및
상기 제3 XML 파일을 수신하는 구독자;를 포함하고,
상기 브로커는 상기 출판자로부터 제2 XML 파일을 수신하고,
상기 요소 정보 테이블은,
식별자 아이디, 부모 요소의 전체 자식 요소 수 및 상기 컨텐츠 정보 테이블의 시작 인덱스 중 적어도 하나를 포함하는, 메시지 송수신 시스템.
In the message transmission and reception system,
A publisher who extracts element information and content information of a first XML file, stores the extracted element information and the extracted content information in an element information table and a content information table, respectively, to generate a second XML file;
A broker that filters the second XML file using a priority table and generates a third XML file including the filtered element information table and the filtered content information table; And
Including; a subscriber receiving the third XML file,
The broker receives a second XML file from the publisher,
The element information table,
A message transmission/reception system comprising at least one of an identifier ID, a total number of child elements of a parent element, and a start index of the content information table.
KR1020200049479A 2020-04-23 2020-04-23 Method, apparatus and system for transmitting and receiving message KR102170738B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200049479A KR102170738B1 (en) 2020-04-23 2020-04-23 Method, apparatus and system for transmitting and receiving message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200049479A KR102170738B1 (en) 2020-04-23 2020-04-23 Method, apparatus and system for transmitting and receiving message

Publications (1)

Publication Number Publication Date
KR102170738B1 true KR102170738B1 (en) 2020-10-27

Family

ID=73136344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200049479A KR102170738B1 (en) 2020-04-23 2020-04-23 Method, apparatus and system for transmitting and receiving message

Country Status (1)

Country Link
KR (1) KR102170738B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116089A (en) * 2004-06-04 2005-12-09 (주)파슨텍 Fixed-rdbms model based indexing technology for massive xml data searching with different schema
KR20060128207A (en) * 2005-06-09 2006-12-14 삼성전자주식회사 Apparatus and method for automatically uploading contents file
KR20120082261A (en) * 2011-01-13 2012-07-23 한양대학교 산학협력단 Integrated processing method of digital broadcasting standard and apparatus for receving a broadcasting signal
KR101396090B1 (en) 2007-02-05 2014-05-21 주식회사 엘지씨엔에스 Apparatus and method for conversion of xml letters, and system for processing of xml letters with the same
KR101508914B1 (en) 2014-07-03 2015-04-07 세종대학교산학협력단 DEVICE AND METHOD OF REDUCING AN OVERHEAD OF MESSAGE AND DELAY IN openADR

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116089A (en) * 2004-06-04 2005-12-09 (주)파슨텍 Fixed-rdbms model based indexing technology for massive xml data searching with different schema
KR20060128207A (en) * 2005-06-09 2006-12-14 삼성전자주식회사 Apparatus and method for automatically uploading contents file
KR101396090B1 (en) 2007-02-05 2014-05-21 주식회사 엘지씨엔에스 Apparatus and method for conversion of xml letters, and system for processing of xml letters with the same
KR20120082261A (en) * 2011-01-13 2012-07-23 한양대학교 산학협력단 Integrated processing method of digital broadcasting standard and apparatus for receving a broadcasting signal
KR101508914B1 (en) 2014-07-03 2015-04-07 세종대학교산학협력단 DEVICE AND METHOD OF REDUCING AN OVERHEAD OF MESSAGE AND DELAY IN openADR

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XMill: an Efficient Compressor for XML Data(2000.11월) 1부.* *
군 통신환경을 효과적으로 활용하는 하이브리드 메시징 시스템 구조와 XML Element 기반의 필터링 기법(2019.10월) 1부.* *

Similar Documents

Publication Publication Date Title
CN108399256B (en) Heterogeneous database content synchronization method and device and middleware
CA2802746C (en) System and methods for facilitating the synchronization of data
US7263654B2 (en) System and method for generating optimized binary representation of an object tree
AU2006304109C1 (en) Managing relationships between resources stored within a repository
US8166559B2 (en) Document accessing through multiple security domains including multi-tear wiki webpage and/or using cross domain trusted service
US7930630B2 (en) Event-based parser for markup language file
US8713368B2 (en) Methods for testing OData services
US20060259854A1 (en) Structuring an electronic document for efficient identification and use of document parts
US20020107881A1 (en) Markup language encapsulation
US8171557B2 (en) Document accessing through multiple security domains
CN114547076A (en) Data processing method and data processing system
CN112527291A (en) Webpage generation method and device, electronic equipment and storage medium
US8015483B2 (en) Processing an XML feed with extensible or non-typed elements
CN106547911A (en) A kind of access method and system of mass small documents
JP2016162449A (en) Grammar generation for simple datatype
KR20210101280A (en) Apparatus and method for signaling information in container file format
KR102170738B1 (en) Method, apparatus and system for transmitting and receiving message
US10956659B1 (en) System for generating templates from webpages
CN103646015B (en) Transmission, the method and system for receiving and transmitting XML message
KR100680034B1 (en) Context cognizance enhancing message transform system, and method for the same
US6714950B1 (en) Methods for reproducing and recreating original data
US7571196B2 (en) Type evolution
US11036762B1 (en) Compound partition and clustering keys
CN113868202A (en) Method for storing and reading and writing data of geographic file
US20160171018A1 (en) Append structured data system for maintaining structured format compatibility

Legal Events

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