KR102643263B1 - Method for sending and receiving large capacity real time multiclient two way asynchronous messages - Google Patents

Method for sending and receiving large capacity real time multiclient two way asynchronous messages Download PDF

Info

Publication number
KR102643263B1
KR102643263B1 KR1020230172761A KR20230172761A KR102643263B1 KR 102643263 B1 KR102643263 B1 KR 102643263B1 KR 1020230172761 A KR1020230172761 A KR 1020230172761A KR 20230172761 A KR20230172761 A KR 20230172761A KR 102643263 B1 KR102643263 B1 KR 102643263B1
Authority
KR
South Korea
Prior art keywords
message
relay device
routing
exchange
application
Prior art date
Application number
KR1020230172761A
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 KR1020230172761A priority Critical patent/KR102643263B1/en
Application granted granted Critical
Publication of KR102643263B1 publication Critical patent/KR102643263B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법으로서, 메시지 생성 후 메시지의 송수신을 처리하는 메시징 시스템에서 대용량의 메시지를 실시간으로 다중 클라이언트에게 양방향 비동기식으로 제공할 수 있는 메시지 송수신 기술을 제시한다.The present invention is a method for sending and receiving large-capacity, real-time, multi-client, two-way asynchronous messages. It proposes a message transmission and reception technology that can provide large-capacity messages to multiple clients in real time in a two-way asynchronous manner in a messaging system that processes message transmission and reception after message creation.

Description

대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법{Method for sending and receiving large capacity real time multiclient two way asynchronous messages}Method for sending and receiving large capacity real time multiclient two way asynchronous messages}

본 발명은 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법으로서, 보다 상세하게는 메시지 생성 후 메시지의 송수신을 처리하는 메시징 시스템에서 대용량의 메시지를 실시간으로 다중 클라이언트에게 양방향 비동기식으로 제공할 수 있는 메시지 송수신 기술에 대한 것이다.The present invention is a method for sending and receiving large-capacity, real-time, multi-client, two-way asynchronous messages. More specifically, the present invention relates to a message transmission and reception technology that can provide large-capacity messages to multiple clients in real time in a two-way asynchronous manner in a messaging system that processes message transmission and reception after message creation. It is about.

대용량 다중 클라이언트 환경에서는 사용자가 많아지고 그에 따라 데이터도 많아져 요청에 대한 응답을 처리하는 시간과 누적적으로 증가되는 문제가 있다. 이러한 메시지 처리 지연으로 인해 해당 서비스가 정상적으로 동작하지 못하는 현상이 벌어지게 된다.In a high-capacity multi-client environment, as the number of users increases and the amount of data increases, there is a problem of cumulative increase in processing time for responding to requests. This delay in message processing results in the service not operating properly.

이러한 문제 해결을 위해 메시지 큐를 이용해 비동기 방식으로 메시지를 처리하고 있다.To solve this problem, messages are processed asynchronously using a message queue.

일례로서, Pub-Sub(Publish-Subscribe) 메시징 방식이 제시되었으며, Pub-Sub 메시징 모델로서 AMQP(Advanced Message Queuing Protocol)는 클라이언트와 메시지 브로커가 상호 작동하는 표준을 정의하고 있다. As an example, the Pub-Sub (Publish-Subscribe) messaging method was presented, and as a Pub-Sub messaging model, AMQP (Advanced Message Queuing Protocol) defines a standard for clients and message brokers to interact.

 Pub-Sub 메시징 방식은 메시지를 송신하는 게시자와, 메시지를 수신하는 구독자, 비동기 통신을 실현하기 위한 큐를 이용하여 게시자와 구독자 사이에 메시지를 전달하는 브로커를 포함할 수 있다.The Pub-Sub messaging method may include a publisher that sends a message, a subscriber that receives the message, and a broker that delivers messages between the publisher and the subscriber using a queue to realize asynchronous communication.

여기서 메시지의 배송은 메시지에 부가되는 토픽을 매칭하여 해당 토픽을 구독 등록한 구독자에게 메시지를 전달할 수 있다. 즉, 가입자는 사전에 수신을 희망하는 토픽을 브로커에게 등록하고 게시자가 메시지를 송신할 때 해당 메시지에 토픽을 부가하여 브로커로 송신하면 브로커는 메시지에 부가된 토픽을 참조하여 해당 토픽을 구독하는 구독자에 대응하는 큐에 메시지를 배송할 수 있다. 구독자는 큐에 보관된 메시지를 추출하여 수신할 수 있다.Here, the message can be delivered to subscribers who have registered for the topic by matching the topic added to the message. In other words, the subscriber registers the topic he or she wishes to receive with the broker in advance, and when the publisher sends a message, he or she adds a topic to the message and sends it to the broker. The broker then refers to the topic added to the message and subscribes to the topic. Messages can be delivered to the corresponding queue. Subscribers can extract and receive messages stored in the queue.

본 발명은 다양한 이종 플랫폼과 이종 클라이언트를 지원하는 메시지 송수신 방법으로서, 다중 클라이언트 환경에서 메시지를 게시하고 구독하는 이종 플랫폼과 이종 클라이언트의 속성에 맞춰서 메시지 큐를 활용하여 비동기식으로 메시지의 송수신을 처리하는 방안을 제시하고자 한다.The present invention is a method of sending and receiving messages that supports various heterogeneous platforms and heterogeneous clients, and is a method of processing message transmission and reception asynchronously using a message queue in accordance with the properties of heterogeneous platforms and heterogeneous clients that post and subscribe to messages in a multi-client environment. I would like to present.

본 발명의 목적은 전술한 바에 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있다. The object of the present invention is not limited to the above, and other objects and advantages of the present invention that are not mentioned can be understood by the following description.

상기 과제 해결을 위한 본 발명에 따른 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법의 일실시예는, 게시자 단말기의 어플리케이션이 상기 게시자 단말기의 프로토콜 포맷에 따른 제1 메시지를 생성하는 제1 메시지 생성 단계; 상기 게시자 단말기의 어플리케이션이 상기 제1 메시지를 중계 장치의 중계를 위해 제2 메시지로 변환하여 생성하는 제2 메시지 생성 단계; 상기 게시자 단말기의 동적 메시징 모듈이 중계 장치로 메시지 교환 수립을 요청하고, 구독자 단말기의 동적 메시징 모듈이 메시지 라우팅 설정을 요청하는 설정 요청 단계; 상기 게시자 단말기의 어플리케이션이 상기 중계 장치로 상기 제2 메시지를 전달하는 제2 메시지 전송 단계; 상기 중계 장치가 상기 제2 메시지를 메시지 큐로 라우팅하는 라우팅 단계; 상기 구독자 단말기가 메시지 큐의 메시지를 검색하고 상기 제2 메시지를 전달받는 제2 메시지 수신 단계; 및 상기 구독자 단말기의 어플리케이션이 상기 제2 메시지를 상기 구독자 단말기의 프로토콜 포맷에 따른 제3 메시지로 변환하여 생성하는 제3 메시지 생성 단계를 포함할 수 있다.An embodiment of the method for transmitting and receiving a large-capacity, real-time, multi-client, two-way asynchronous message according to the present invention for solving the above problem includes a first message generation step in which an application of a publisher terminal generates a first message according to the protocol format of the publisher terminal; A second message generation step in which the application of the publisher terminal converts the first message into a second message for relay by a relay device and generates the first message; A setting request step in which the dynamic messaging module of the publisher terminal requests a relay device to establish message exchange, and the dynamic messaging module of the subscriber terminal requests message routing settings; A second message transmission step in which the application of the publisher terminal transmits the second message to the relay device; a routing step in which the relay device routes the second message to a message queue; A second message receiving step in which the subscriber terminal searches for a message in a message queue and receives the second message; And it may include a third message generation step in which the application of the subscriber terminal converts the second message into a third message according to the protocol format of the subscriber terminal and generates the second message.

일례로서, 상기 제2 메시지 생성 단계는, 상기 제1 메시지를 AMQP 포맷에 따라 제2 메시지로 변환할 수 있다.As an example, the second message generating step may convert the first message into a second message according to the AMQP format.

바람직하게는 상기 설정 요청 단계는, 교환기와 메시지 큐를 바인딩하기 위한 바인딩 키 및 상기 교환기를 통해 메시지 큐로 라우팅하기 위한 라우팅 키를 전달하여 상기 중계 장치의 메시지 교화 수립과 메시지 라우팅 설정을 요청할 수 있다.Preferably, the setup request step may request establishment of message exchange and message routing of the relay device by transmitting a binding key for binding the exchange and the message queue and a routing key for routing to the message queue through the exchange.

일례로서, 상기 설정 요청 단계는, 상기 게시자 단말기가 바인딩 키를 생성하고 상기 바인딩 키를 교환 수립 명령에 결합한 요청 메시지를 상기 중계 장치로 전달할 수 있다.As an example, in the setup request step, the publisher terminal may generate a binding key and transmit a request message combining the binding key to an exchange establishment command to the relay device.

일례로서, 상기 설정 요청 단계는, 상기 구독자 단말기가 라우팅 키를 생성하고 상기 라우팅 키를 메시지 큐의 라우팅 명령에 결합한 요청 메시지를 상기 중계 장치로 전달할 수 있다.As an example, in the setting request step, the subscriber terminal may generate a routing key and transmit a request message combining the routing key with a routing command of a message queue to the relay device.

이와 같은 본 발명에 의하면, 다양한 이종 플랫폼과 이종 클라이언트를 지원하는 메시지 송수신 방법으로서, 다중 클라이언트 환경에서 메시지를 게시하고 구독하는 이종 플랫폼과 이종 클라이언트의 속성에 맞춰서 메시지 큐를 활용하여 비동기식으로 메시지의 송수신을 처리할 수 있다.According to the present invention, as a method of sending and receiving messages supporting various heterogeneous platforms and heterogeneous clients, messages are transmitted and received asynchronously using a message queue in accordance with the properties of heterogeneous platforms and heterogeneous clients that post and subscribe to messages in a multi-client environment. can be processed.

본 발명의 효과는 위에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명에 따른 메시징 시스템의 일실시예를 도시한다.
도 2는 본 발명에서 클라이언트 단말기의 일실시예를 도시한다.
도 3은 본 발명에서 중계 장치의 일실시예를 도시한다.
도 4는 본 발명에 따른 메시지 송수신 방법의 일실시예에 대한 흐름도를 도시한다.
도 5는 본 발명에 따른 메시지 송수신 과정의 일례를 도시한다.
Figure 1 shows one embodiment of a messaging system according to the invention.
Figure 2 shows one embodiment of a client terminal in the present invention.
Figure 3 shows one embodiment of a relay device in the present invention.
Figure 4 shows a flowchart of one embodiment of a method for transmitting and receiving messages according to the present invention.
Figure 5 shows an example of a message transmission and reception process according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세하게 설명하지만, 본 발명이 실시예들에 의해 한정되거나 제한되는 것은 아니다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, but the present invention is not limited or restricted by the embodiments.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 설명하기 위하여 이하에서는 본 발명의 바람직한 실시예를 예시하고 이를 참조하여 살펴본다.In order to explain the present invention, its operational advantages, and the purpose achieved by practicing the present invention, preferred embodiments of the present invention are illustrated and discussed with reference to them.

먼저, 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.First, the terms used in this application are only used to describe specific embodiments and are not intended to limit the present invention, and singular expressions may include plural expressions unless the context clearly indicates otherwise. In addition, in the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.

본 발명에서는 메시지 생성 후 메시지의 송수신을 처리하는 메시징 시스템에서 대용량의 메시지를 실시간으로 다중 클라이언트에게 양방향 비동기식으로 제공할 수 있는 메시지 송수신 방법을 제시한다.The present invention proposes a message transmission and reception method that can provide a large amount of messages to multiple clients in real time in a two-way asynchronous manner in a messaging system that processes message transmission and reception after message creation.

특히, 본 발명은 다양한 이종 플랫폼과 이종 클라이언트를 지원하는 메시지 송수신 방법으로서, 다중 클라이언트 환경에서 메시지를 게시하고 구독하는 이종 플랫폼과 이종 클라이언트의 속성에 맞춰서 메시지 큐를 활용하여 비동기식으로 메시지의 송수신을 처리하는 기술을 제시한다.In particular, the present invention is a message transmission and reception method that supports various heterogeneous platforms and heterogeneous clients. It processes message transmission and reception asynchronously by utilizing a message queue in accordance with the properties of heterogeneous platforms and heterogeneous clients that post and subscribe to messages in a multi-client environment. Presents a technique to

도 1은 본 발명에 따른 메시징 시스템의 일실시예를 도시하며, 도 2는 본 발명에서 클라이언트 단말기의 일실시예를 도시하며, 도 3은 본 발명에서 중계 장치의 일실시예를 도시한다.Figure 1 shows an embodiment of a messaging system according to the present invention, Figure 2 shows an embodiment of a client terminal in the present invention, and Figure 3 shows an embodiment of a relay device in the present invention.

메시징 시스템(10)은 복수의 클라이언트 단말기(100)와 중계 장치(200)를 포함할 수 있다. The messaging system 10 may include a plurality of client terminals 100 and a relay device 200.

클라이언트 단말기(100)는 일측면에서 메시지를 발행하는 게시자 단말기일 수 있고, 다른 일측면에서 메시지를 구독하는 구독자 단말기일 수 있다. 즉, 클라이언트 단말기(100)는 게시자 단말기(100a)와 구독자 단말기(100b)를 포함할 수 있다.On one side, the client terminal 100 may be a publisher terminal that publishes a message, and on the other side, it may be a subscriber terminal that subscribes to a message. That is, the client terminal 100 may include a publisher terminal 100a and a subscriber terminal 100b.

여기서 게시자 단말기(100a)와 구독자 단말기(100b)는 이종 플랫폼을 통해 통신 서비스를 지원받거나 서로 다른 속성의 프로토콜을 이용하는 이종 기기일 수 있다.Here, the publisher terminal 100a and the subscriber terminal 100b may be heterogeneous devices that receive communication services through heterogeneous platforms or use protocols with different properties.

클라이언트 단말기(100)에는 프로세서(110), 어플리케이션(130), 동적 메시징 모듈(150) 등을 포함할 수 있다.The client terminal 100 may include a processor 110, an application 130, a dynamic messaging module 150, etc.

프로세서(110)는 다양한 소프트웨어 및/또는 펌웨어 모듈에 대응하는 프로그램 코드를 실행할 수 있다.Processor 110 may execute program code corresponding to various software and/or firmware modules.

어플리케이션(130)은, Pub-Sub(Publish-Subscribe) 메시징 방식으로서 AMQP(Advanced Message Queuing Protocol)을 이용하여 메시지를 송수신할 수 있다. 보다 구체적으로는 RabbitMQ를 구현한 중계 장치(200)를 통해 메시지의 송수신이 이루어지는 기능을 구현할 수 있다.The application 130 can transmit and receive messages using Advanced Message Queuing Protocol (AMQP) as a Pub-Sub (Publish-Subscribe) messaging method. More specifically, the function of sending and receiving messages can be implemented through the relay device 200 that implements RabbitMQ.

어플리케이션(130)은, 해당 클라이언트 단말기의 설정된 프로토콜을 이용하는 메시징 어플리케이션(131), AMQP 포맷을 활용하는 AMQP 어플리케이션(135) 등을 포함할 수 있다.The application 130 may include a messaging application 131 that uses a protocol set in the corresponding client terminal, an AMQP application 135 that uses the AMQP format, and the like.

게시자 단말기(100a)의 측면에서 메시징 어플리케이션(131)은 해당 클라이언트 단말기의 프로토콜에 따라 제1 메시지를 생성할 수 있다.From the perspective of the publisher terminal 100a, the messaging application 131 may generate a first message according to the protocol of the corresponding client terminal.

AMQP 어플리케이션(135)은 메시징 어플리케이션(130)과 상호 동작하여 제1 메시지를 AMQP 포맷에 따른 제2 메시지로 변환할 수 있다. AMQP 어플리케이션(135)은 제1 메시지를 수신하고 수신된 메시지의 속성을 식별할 수 있다. 그리고 AMQP 어플리케이션(135)은 AMQP 포맷에 맞춰서 제1 메시지를 제2 메시지로 변환할 수 있다.The AMQP application 135 may interact with the messaging application 130 to convert the first message into a second message according to the AMQP format. AMQP application 135 may receive the first message and identify attributes of the received message. And the AMQP application 135 can convert the first message into a second message according to the AMQP format.

구독자 단말기(100b)의 측면에서 AMQP 어플리케이션(135)은 중계 장치(200)의 메시지 큐를 검색하고 제2 메시지를 수신하며, 제2 메시지를 해당 클라이언트 단말기의 설정된 프로토콜에 따라 제3 메시지로 변환할 수 있다.From the side of the subscriber terminal 100b, the AMQP application 135 searches the message queue of the relay device 200, receives the second message, and converts the second message into a third message according to the protocol set in the corresponding client terminal. You can.

메시징 어플리케이션(131)은 AMQP 어플리케이션(135)과 상호 동작하여 제2 메시지를 제3 메시지로 변환하도록 지원하고, 해당 클라이언트 단말기의 설정된 프로토콜에 따른 제3 메시지를 제공할 수 있다.The messaging application 131 may interact with the AMQP application 135 to support conversion of the second message into a third message and provide the third message according to the protocol set for the corresponding client terminal.

또한 AMQP 어플리케이션(135)은 AMQP 어플리케이션(135)은 중계 장치(200)가 메시지의 교환(exchange)을 실행하도록 관련 명령을 전송할 수 있다.Additionally, the AMQP application 135 may transmit a related command to enable the relay device 200 to exchange messages.

동적 메시징 모듈(150)은 클라이언트 메시징의 상호 동작을 지원하기 위해 다수의 모듈을 포함할 수 있는데, 가령, 게시자 생성 모듈, 가입자 생성 모듈, 교환 생성 모듈, 장애 검출 모듈, 장애 조치 모듈 등을 포함할 수 있다.The dynamic messaging module 150 may include a number of modules to support interoperability of client messaging, such as a publisher creation module, a subscriber creation module, an exchange creation module, a fault detection module, a failover module, etc. You can.

동적 메시징 모듈(150)은 AMQP 클라이언트 응용 프로그램과 상호 작용하여 초기 메시지의 메시지 특성에 해당하는 바인딩 키 및 라우팅 키를 생성할 수 있다. The dynamic messaging module 150 may interact with an AMQP client application to generate binding keys and routing keys corresponding to message characteristics of the initial message.

동적 메시징 모듈(150)은 프로세스(110)를 동작시켜 메시징 어플리케이션(131)과 AMQP 어플리케이션(135)을 활성화시킬 수 있다.The dynamic messaging module 150 operates the process 110 to activate the messaging application 131 and the AMQP application 135.

나아가서 동적 메시징 모듈(150)은 메시지 큐와 교환(exchange)를 선언하고 메시지 큐와 교환 간의 바인딩을 정의할 수 있다. 또한 동적 메시징 모듈(150)은 구독자가 메시지를 구독할 수 있도록 프로토콜의 동작을 지원할 수 있다.Furthermore, the dynamic messaging module 150 can declare a message queue and exchange and define bindings between the message queue and the exchange. Additionally, the dynamic messaging module 150 may support the operation of a protocol so that subscribers can subscribe to messages.

여기서 동적 메시징 모듈(150)은 메시지에 대한 엔티티를 선언할 수 있고, AMQP에 따라 라우팅 방식을 정의할 수 있으며, 해당 메시지가 소모되어 더 이상 해당 메시지에 대한 엔티티가 필요하지 않을 경우, 엔티티를 삭제하도록 선택할 수 있다.Here, the dynamic messaging module 150 can declare an entity for the message, define a routing method according to AMQP, and delete the entity when the message is consumed and the entity for the message is no longer needed. You can choose to do so.

중계 장치(200)는 RabbitMQ를 구현하며, 클라이언트 단말기(100) 간의 메시지 송수신을 중계할 수 있다. The relay device 200 implements RabbitMQ and can relay message transmission and reception between client terminals 100.

중계 장치(200)는 메시지를 식별할 수 있는 특성을 가진 메시지 큐를 만들고 바인딩 키를 사용하여 메시지 큐를 지정된 교환(exchange)에 바인딩할 수 있다. 중계 장치(200)는 라우팅 키를 사용하여 메시지를 메시지 큐로 라우팅하여 구독자가 메시지를 검색할 수 있도록 지원할 수 있다.The relay device 200 can create a message queue with characteristics that can identify messages and bind the message queue to a designated exchange using a binding key. The relay device 200 may route messages to a message queue using a routing key to enable subscribers to retrieve messages.

중계 장치(200)는 교환기(exchange)(210), 메시지 큐(230) 등을 포함할 수 있다. 일례로서, 클라이언트 단말기(100)의 가입 등록 요청에 따라 중계 장치(200)는 해당 클라이언트에 대한 교환기(210)와 메시지 큐(230)를 생성할 수 있다. The relay device 200 may include an exchange 210, a message queue 230, etc. As an example, in response to a subscription registration request from the client terminal 100, the relay device 200 may create an exchange 210 and a message queue 230 for the corresponding client.

중계 장치(200)는 라우팅 키를 이용하여 메시지 큐(230)를 생성하고 바인딩 키를 이용하여 해당 메시지를 지정된 메시지 큐에 바인딩(Binding)할 수 있다. 그리고 중계 장치(200)는 라우팅 키를 이용하여 해당 메시지를 보관된 메시지 큐로 라우팅하여 클라이언트 단말기(100)가 메시지를 검색할 수 있도록 지원하며 해당 메시지를 클라이언트 단말기(100)에 배송할 수 있다.The relay device 200 can create a message queue 230 using a routing key and bind the corresponding message to a designated message queue using a binding key. In addition, the relay device 200 routes the message to a stored message queue using a routing key, supports the client terminal 100 to search for the message, and delivers the message to the client terminal 100.

본 발명에서는 상기에서 살펴본 본 발명에 따른 메시징 시스템을 통해 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법을 제시하는데, 이하에서는 본 발명에 따른 메시지 송수신 방법에 대하여 실시예를 통해 살펴보기로 한다. The present invention proposes a method for transmitting and receiving large-capacity, real-time, multi-client, two-way asynchronous messages through the messaging system according to the present invention described above. Hereinafter, the method for transmitting and receiving messages according to the present invention will be examined through embodiments.

본 발명에 따른 메시지 송수신 방법은 상기의 본 발명에 따른 메시징 시스템을 통해 구현되므로 상기에서 설명한 본 발명에 따른 메시징 시스템의 실시예를 함께 참조하도록 한다.Since the message sending and receiving method according to the present invention is implemented through the messaging system according to the present invention described above, the embodiment of the messaging system according to the present invention described above will be referred to.

도 4는 본 발명에 따른 메시지 송수신 방법의 일실시예에 대한 흐름도를 도시하며, 도 5는 본 발명에 따른 메시지 송수신 과정의 일례를 도시한다. Figure 4 shows a flowchart of an embodiment of a method for transmitting and receiving a message according to the present invention, and Figure 5 shows an example of a process for transmitting and receiving a message according to the present invention.

게시자 단말기(100a)의 어플리케이션(130)에 포함된 메시징 어플리케이션(131)은 메시지 생성 요청을 수신하고, 해당 클라이언트 단말기의 프로토콜에 따른 제1 메시지를 생성(S110)할 수 있다. 여기서 제1 메시지는 해당 메시지의 속성 정보를 포함할 수 있다.The messaging application 131 included in the application 130 of the publisher terminal 100a may receive a message creation request and generate a first message according to the protocol of the corresponding client terminal (S110). Here, the first message may include attribute information of the corresponding message.

어플리케이션(130)에 포함된 AMQP 어플리케이션(135)은 메시지 생성 요청을 기초로 제1 메시지의 속성을 판단(S120)하고 생성된 제1 메시지를 AMQP 포맷에 따라 제2 메시지로 변환(S130)할 수 있다. The AMQP application 135 included in the application 130 may determine the properties of the first message based on the message creation request (S120) and convert the generated first message into a second message according to the AMQP format (S130). there is.

게시자 단말기(100a)와 구독자 단말기(100b)는 중계 장치(200)로 메시지 중계를 위한 설정을 요청(S140)할 수 있으며, 이에 따라 중계 장치(200)는 메시지 중계를 위한 구성을 설정(S210)할 수 있으며, 이에 따라 중계 장치(200)는 메시지 중계를 위한 구성을 설정(S220)할 수 있다.The publisher terminal 100a and the subscriber terminal 100b may request settings for message relay from the relay device 200 (S140), and the relay device 200 sets the configuration for message relay accordingly (S210). This can be done, and accordingly, the relay device 200 can set the configuration for message relay (S220).

제2 메시지에 대응되어 동적 메시징 모듈(150)은 중계 장치(200)에 해당 메시지를 처리하기 위한 메시지 교환 수립을 요청할 수 있다. In response to the second message, the dynamic messaging module 150 may request the relay device 200 to establish a message exchange to process the message.

일례로서, 게시자 단말기(100a)의 동적 메시징 모듈(150)은 중계 장치(200)가 해당 메시지 속성에 대응하는 교환을 동적으로 설정할 수 있도록 설정 요청을 전달하여 중계 장치(200)가 해당 메시지 처리를 위한 교환기(210)와 메시지 큐(230)를 구성하도록 요청할 수 있다. As an example, the dynamic messaging module 150 of the publisher terminal 100a transmits a setting request so that the relay device 200 can dynamically set an exchange corresponding to the message attribute, so that the relay device 200 processes the message. You may request to configure the exchanger 210 and message queue 230 for this purpose.

가령, 게시자 단말기(100a)의 동적 메시징 모듈(150)은 바인딩 키를 생성하고 바인딩 키를 교환 수립 명령을 결합하여 요청 메시지를 생성하고 이를 중계 장치(200)로 전달하여 메시지 큐를 지정된 교환기에 바인딩하도록 메시지의 교환을 수립 가능하도록 설정을 요청할 수 있다. For example, the dynamic messaging module 150 of the publisher terminal 100a generates a binding key, combines the binding key with an exchange establishment command, generates a request message, and delivers it to the relay device 200 to bind the message queue to the designated exchange. You can request settings to enable the exchange of messages to be established.

그리고 구독자 단말기(100b)의 동적 메시징 모듈(150)은 중계 장치(200)로 메시지의 교환을 수립 가능하도록 설정을 요청할 수 있다.Additionally, the dynamic messaging module 150 of the subscriber terminal 100b may request settings to enable exchange of messages with the relay device 200.

일례로서, 구독자 단말기(100b)의 동적 메시징 모듈(150)은 라우팅 키를 메시지 큐의 라우팅 명령에 결합하여 요청 메시지를 생성하고 이를 중계 장치(200)로 전달하여 해당 메시지를 교환을 통해 지정된 메시지 큐로 라우팅하도록 설정을 요청할 수 있다.As an example, the dynamic messaging module 150 of the subscriber terminal 100b generates a request message by combining the routing key with the routing command of the message queue and delivers it to the relay device 200 to transfer the message to the designated message queue through exchange. You can request settings for routing.

중계 장치(200)는 게시자 단말기(100a)로부터 제2 메시지를 수신(S230)하면, 교환기(210)는 라우팅 키를 통해 해당 메시지를 교환(S240)하고 지정된 메시지 큐(230)로 라우팅(S250)할 수 있다.When the relay device 200 receives the second message from the publisher terminal 100a (S230), the exchange 210 exchanges the message through a routing key (S240) and routes it to the designated message queue 230 (S250) can do.

구독자 단말기(100b)의 어플리케이션(130)은 메시지 큐의 메시지를 검색(S310)할 수 있다. 구독자 단말기(100b)의 AMQP 어플리케이션(135)은 중계 장치(200)의 메시지 큐에 보관된 제2 메시지를 수신(S320)할 수 있다.The application 130 of the subscriber terminal 100b may search for messages in the message queue (S310). The AMQP application 135 of the subscriber terminal 100b may receive the second message stored in the message queue of the relay device 200 (S320).

AMQP 어플리케이션(135)은 메시징 어플리케이션(131)과 상호 동작하여 해당 클라이언트 단말기의 프로토콜에 따른 메시지 속성을 파악하고 AMQP 포맷에 따른 제2 메시지를 해당 클라이언트 단말기의 프로토콜 포맷에 따라 제3 메시지로 변환(S340)할 수 있다.The AMQP application 135 interacts with the messaging application 131 to determine message properties according to the protocol of the client terminal and converts the second message according to the AMQP format into a third message according to the protocol format of the client terminal (S340 )can do.

메시징 어플리케이션(131)은 해당 클라이언트 단말기의 프로토콜에 따른 제3 메시지를 제공(S350)할 수 있다.The messaging application 131 may provide a third message according to the protocol of the corresponding client terminal (S350).

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상이 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present invention, and various modifications and variations will be possible to those skilled in the art without departing from the essential characteristics of the present invention. Accordingly, the embodiments described in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be construed as being included in the scope of rights of the present invention.

10 : 메시징 시스템,
100 : 클라이언트 단말기,
100a : 게시자 단말기,
100b : 구독자 단말기,
110 : 프로세서,
130 : 어플리케이션,
150 : 동적 메시징 모듈,
200 : 중계 장치,
210 : 교환기,
230 : 메시지 큐.
10: Messaging system,
100: client terminal,
100a: publisher terminal,
100b: subscriber terminal,
110: processor,
130: application,
150: dynamic messaging module,
200: relay device,
210: exchanger,
230: Message queue.

Claims (5)

게시자 단말기의 어플리케이션이 상기 게시자 단말기의 프로토콜 포맷에 따른 제1 메시지를 생성하는 제1 메시지 생성 단계;
상기 게시자 단말기의 어플리케이션이 상기 제1 메시지를 중계 장치의 중계를 위해 제2 메시지로 변환하여 생성하는 제2 메시지 생성 단계;
상기 게시자 단말기의 동적 메시징 모듈이 중계 장치로 메시지 교환 수립을 요청하고, 구독자 단말기의 동적 메시징 모듈이 메시지 라우팅 설정을 요청하는 설정 요청 단계;
상기 게시자 단말기의 어플리케이션이 상기 중계 장치로 상기 제2 메시지를 전달하는 제2 메시지 전송 단계;
상기 중계 장치가 상기 제2 메시지를 메시지 큐로 라우팅하는 라우팅 단계;
상기 구독자 단말기가 메시지 큐의 메시지를 검색하고 상기 제2 메시지를 전달받는 제2 메시지 수신 단계; 및
상기 구독자 단말기의 어플리케이션이 상기 제2 메시지를 상기 구독자 단말기의 프로토콜 포맷에 따른 제3 메시지로 변환하여 생성하는 제3 메시지 생성 단계를 포함하며,
상기 설정 요청 단계는,
교환기와 메시지 큐를 바인딩하기 위한 바인딩 키 및 상기 교환기를 통해 메시지 큐로 라우팅하기 위한 라우팅 키를 전달하여 상기 중계 장치의 메시지 교화 수립과 메시지 라우팅 설정을 요청하되,
상기 게시자 단말기가 바인딩 키를 생성하고 상기 바인딩 키를 교환 수립 명령에 결합한 요청 메시지를 상기 중계 장치로 전달하고,
상기 구독자 단말기가 라우팅 키를 생성하고 상기 라우팅 키를 메시지 큐의 라우팅 명령에 결합한 요청 메시지를 상기 중계 장치로 전달하는 것을 특징으로 하는 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법.
A first message generation step in which an application of the publisher terminal generates a first message according to the protocol format of the publisher terminal;
A second message generation step in which the application of the publisher terminal converts the first message into a second message for relay by a relay device and generates the first message;
A setting request step in which the dynamic messaging module of the publisher terminal requests a relay device to establish message exchange, and the dynamic messaging module of the subscriber terminal requests message routing settings;
A second message transmission step in which the application of the publisher terminal transmits the second message to the relay device;
a routing step in which the relay device routes the second message to a message queue;
A second message receiving step in which the subscriber terminal searches for a message in a message queue and receives the second message; and
A third message generation step in which the application of the subscriber terminal converts the second message into a third message according to the protocol format of the subscriber terminal,
The setting request step is,
Request establishment of message exchange and message routing of the relay device by transmitting a binding key for binding the exchange and the message queue and a routing key for routing to the message queue through the exchange,
The publisher terminal generates a binding key and transmits a request message combining the binding key to an exchange establishment command to the relay device,
A method for transmitting and receiving a large-capacity real-time multi-client two-way asynchronous message, characterized in that the subscriber terminal generates a routing key and transmits a request message combining the routing key with a routing command of a message queue to the relay device.
제 1 항에 있어서,
상기 제2 메시지 생성 단계는,
상기 제1 메시지를 AMQP 포맷에 따라 제2 메시지로 변환하는 것을 특징으로 하는 대용량 실시간 다중 클라이언트 양방향 비동기 메시지 송수신 방법.
According to claim 1,
The second message creation step is,
A method for transmitting and receiving a large-capacity, real-time, multi-client, two-way asynchronous message, characterized in that the first message is converted into a second message according to AMQP format.
삭제delete 삭제delete 삭제delete
KR1020230172761A 2023-12-01 2023-12-01 Method for sending and receiving large capacity real time multiclient two way asynchronous messages KR102643263B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230172761A KR102643263B1 (en) 2023-12-01 2023-12-01 Method for sending and receiving large capacity real time multiclient two way asynchronous messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230172761A KR102643263B1 (en) 2023-12-01 2023-12-01 Method for sending and receiving large capacity real time multiclient two way asynchronous messages

Publications (1)

Publication Number Publication Date
KR102643263B1 true KR102643263B1 (en) 2024-03-06

Family

ID=90239803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230172761A KR102643263B1 (en) 2023-12-01 2023-12-01 Method for sending and receiving large capacity real time multiclient two way asynchronous messages

Country Status (1)

Country Link
KR (1) KR102643263B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100106624A (en) * 2008-02-06 2010-10-01 콸콤 인코포레이티드 Method and apparatus for delivery confirmation of a message
KR20140074273A (en) * 2011-06-29 2014-06-17 프리스타일 테크놀러지 피티와이 리미티드 Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols
KR20180099371A (en) * 2017-02-28 2018-09-05 한국전자통신연구원 Apparatus for processing service message and method for the same
US20220303346A1 (en) * 2021-03-16 2022-09-22 Sap Se Efficient response communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100106624A (en) * 2008-02-06 2010-10-01 콸콤 인코포레이티드 Method and apparatus for delivery confirmation of a message
KR20140074273A (en) * 2011-06-29 2014-06-17 프리스타일 테크놀러지 피티와이 리미티드 Systems, methods, and/or apparatus for enabling communication between devices using different communication protocols
KR20180099371A (en) * 2017-02-28 2018-09-05 한국전자통신연구원 Apparatus for processing service message and method for the same
US20220303346A1 (en) * 2021-03-16 2022-09-22 Sap Se Efficient response communication

Similar Documents

Publication Publication Date Title
RU2429587C2 (en) Method, system and device for increasing multimedia messaging service system capacity
CN101437202B (en) Method, system and apparatus for processing multi-terminal business message
CA2557145A1 (en) System, apparatus and method for communicating asynchronously with synchronous web services using a mediator service
CN106230896A (en) A kind of information push method, Apparatus and system
EP2710776B1 (en) Anonymous signalling
EP2184932A1 (en) method, device and system for interworking between instant message and short message
JP4028847B2 (en) Optimal server in common work queue environment
US7051118B2 (en) Method and apparatus for anonymous subject-based addressing
US11843642B1 (en) Serverless signaling in peer-to-peer session initialization
CN101938492B (en) Service agent method and self-service intelligent agent platform
KR102643263B1 (en) Method for sending and receiving large capacity real time multiclient two way asynchronous messages
US20080256245A1 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
WO2019201111A1 (en) Information processing method, apparatus and device, and computer-readable storage medium
CN114979982B (en) Message issuing method and device, electronic equipment and storage medium
CN116846959A (en) Message receiving and transmitting method and device based on MQTT protocol
CN104917620A (en) Peer-to-peer network conference access method and system, and peer-to-peer network client
CN113810264B (en) Information transmission method, device, electronic equipment and storage medium
CN106487890A (en) A kind of cross-node communication network requesting method based on XMPP
CN110545237A (en) Instant messaging method, device, system, computer equipment and storage medium
CN113204436A (en) Message processing method, device, equipment and computer readable storage medium
WO2014176968A1 (en) Method, device, system, and computer storage medium for conversion to on-line state
CN113973099B (en) Method, device and system for acquiring IP address of EAS
CN115086425B (en) Message transmission method, device, program product, medium and electronic equipment
CN114157624B (en) Link connection method, device and equipment for instant messaging and storage medium
JP5798075B2 (en) Status notification method and system using messaging server

Legal Events

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