[go: up one dir, main page]

KR102184004B1 - System and method for transmitting message capable of parallel processing per transmission group - Google Patents

System and method for transmitting message capable of parallel processing per transmission group Download PDF

Info

Publication number
KR102184004B1
KR102184004B1 KR1020200015367A KR20200015367A KR102184004B1 KR 102184004 B1 KR102184004 B1 KR 102184004B1 KR 1020200015367 A KR1020200015367 A KR 1020200015367A KR 20200015367 A KR20200015367 A KR 20200015367A KR 102184004 B1 KR102184004 B1 KR 102184004B1
Authority
KR
South Korea
Prior art keywords
message
sending
database
information
unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200015367A
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 KR1020200015367A priority Critical patent/KR102184004B1/en
Application granted granted Critical
Publication of KR102184004B1 publication Critical patent/KR102184004B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • H04L51/16
    • 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/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • H04L67/2842
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a message transmission system capable of quickly transmitting a message in real time by minimizing a message transmission delay when receiving a request for transmitting a large quantity of messages from a client through parallel processing in transmission group units, and a method thereof, and a recording medium. According to an embodiment of the present invention, the message transmission system includes: an actual transmission message database formed to store messages requested to be transmitted by a client; and a transmission module formed to extract the messages from the actual transmission message database, and deliver information about the messages to a web agent module to transmit the extracted messages. The transmission module is formed to update messages, which can be processed by the actual transmission message database, into a transmittable state, create a processing process for each of a plurality of transmission groups with respect to the processable messages, and perform message processing in parallel with respect to the plurality of transmission groups.

Description

발송 그룹 단위 병렬 처리가 가능한 메시지 발송 시스템 및 방법{SYSTEM AND METHOD FOR TRANSMITTING MESSAGE CAPABLE OF PARALLEL PROCESSING PER TRANSMISSION GROUP}Message delivery system and method capable of parallel processing per dispatch group {SYSTEM AND METHOD FOR TRANSMITTING MESSAGE CAPABLE OF PARALLEL PROCESSING PER TRANSMISSION GROUP}

본 발명은 메시지 발송 시스템 및 메시지 발송 방법에 관한 것으로, 보다 상세하게는 발송 그룹 단위의 병렬 처리가 가능한 메시지 발송 시스템 및 방법에 관한 것이다.The present invention relates to a message sending system and a message sending method, and more particularly, to a message sending system and method capable of parallel processing in units of sending groups.

이동통신사의 무선 통신망을 이용하여 기업 고객이 거래하는 사용자의 휴대전화로 문자메시지를 전송하는 기업메시징 서비스가 제공되고 있다. 이러한 기업메시징 서비스는 기업 고객의 사용자들에게 광고메시지를 비롯해 정보 제공을 위한 메시지 또는 인증을 위한 메시지 등을 대량으로 발송할 필요가 있다.A corporate messaging service is provided in which a text message is transmitted to a user's mobile phone that a corporate customer transacts using a wireless communication network of a mobile communication company. This corporate messaging service needs to send advertisement messages, messages for information provision, or authentication messages in large quantities to users of corporate customers.

이와 같이 특정 고객에 의해 동시에 메시지가 대량으로 발송되는 경우, 기업메시징 서비스를 제공하는 서버에서 병목 현상이 발생하여 해당 시간 이후에 발송한 고객들에 대한 메시지 발송이 지연되는 경우가 빈번하게 발생할 수 있다. 또한, 종래의 기업메시징 서비스는 여러 고객이 동시간에 메시지를 발송한 경우 데이터를 순차적 직렬 방식으로 처리하여 실시간성이 떨어지는 문제가 있다.As such, when a large number of messages are simultaneously sent by a specific customer, a bottleneck occurs in the server providing the corporate messaging service, and messages sent to customers sent after that time may be delayed frequently. In addition, the conventional corporate messaging service has a problem in that real-time performance is deteriorated by processing data in a sequential serial manner when multiple customers send messages at the same time.

본 발명은 발송 그룹 단위의 병렬 처리를 통해 클라이언트로부터 대량의 메시지 발송 요청을 수신하는 경우에도 메시지 발송 지연을 최소화하여 메시지를 실시간으로 빠르게 발송할 수 있는 메시지 발송 시스템 및 방법, 기록 매체를 제공하기 위한 것이다.The present invention is to provide a message sending system and method, and a recording medium capable of quickly sending a message in real time by minimizing a message sending delay even when a large number of message sending requests are received from a client through parallel processing in a sending group unit. .

본 발명의 실시예에 따른 메시지 발송 시스템은, 클라이언트에 의해 메시지 전송이 요청된 메시지를 저장하도록 구성되는 실 발송 메시지 데이터베이스; 및 상기 실 발송 메시지 데이터베이스로부터 메시지를 추출하고, 추출한 메시지를 발송하기 위해 메시지에 관한 정보를 웹 에이전트 모듈로 전달하도록 구성되는 발송 모듈을 포함한다.A message sending system according to an embodiment of the present invention includes: an actual sending message database configured to store a message for which message transmission is requested by a client; And a sending module configured to extract a message from the actual sending message database and transmit information about the message to the web agent module to send the extracted message.

상기 발송 모듈은, 상기 실 발송 메시지 데이터베이스에서 처리 가능한 메시지를 발송 가능한 상태로 업데이트하고; 상기 처리 가능한 메시지에 대해 복수개의 발송 그룹 별로 각각 처리 프로세스를 생성하고; 상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성될 수 있다.The sending module updates a message that can be processed in the actual sending message database to a sendable state; Generating a processing process for each of the plurality of sending groups for the message that can be processed; It may be configured to perform message processing for the plurality of sending groups in parallel.

본 발명의 실시예에 따른 메시지 발송 시스템은, 상기 클라이언트에 의해 작성된 메시지를 발송 대기 상태로 저장하도록 구성되는 임시 발송 메시지 데이터베이스; 및 상기 클라이언트에 의해 발송 요청된 메시지를 상기 임시 발송 메시지 데이터베이스로부터 추출하여 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 이동 모듈을 더 포함할 수 있다.A message sending system according to an embodiment of the present invention includes: a temporary sending message database configured to store a message created by the client in a sending standby state; And a moving module configured to extract the message requested to be sent by the client from the temporary sending message database and store it in the actual sending message database.

상기 이동 모듈은, 상기 임시 발송 메시지 데이터베이스에 접근하여 메시지 데이터의 상태 값을 변경하거나 대기 중인 메시지 데이터를 추출하도록 구성되는 임시 발송 DB 연동부; 복수개의 임시 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하고, 상기 임시 발송 메시지 데이터베이스로부터 추출된 메시지를 처리 가능 상태로 변경하여 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 제1 발송그룹 처리부; 및 상기 제1 발송그룹 처리부에 의해 처리된 메시지를 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 제1 실 발송 DB 연동부를 포함할 수 있다.The moving module includes: a temporary sending DB interworking unit configured to access the temporary sending message database to change a status value of message data or extract pending message data; A first sending group processing unit configured to perform message processing for a plurality of temporary sending groups in parallel, changing a message extracted from the temporary sending message database into a processable state, and storing it in the actual sending message database; And a first real sending DB linking unit configured to store the message processed by the first sending group processing unit in the real sending message database.

상기 제1 발송그룹 처리부는, 상기 임시 발송 메시지 데이터베이스에서 현재 동작하고 있지 않은 유휴 상태의 프로세스를 확인하고, 대기 상태인 메시지를 유휴 상태의 프로세스별로 처리 가능 상태로 변경하도록 구성되는 제1 프로세스 관리부; 및 상기 임시 발송 메시지 데이터베이스에서 처리 가능한 메시지를 상기 실 발송 메시지 데이터베이스에 저장한 후, 상기 임시 발송 메시지 데이터베이스에서 발송 대기 상태의 메시지 정보를 삭제하도록, 상기 임시 발송 DB 연동부를 제어하는 다수의 제1 처리부를 포함할 수 있다. 상기 다수의 제1 처리부는 상기 복수개의 임시 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성될 수 있다.The first sending group processing unit includes: a first process management unit configured to check an idle process that is not currently operating in the temporary sending message database, and change the waiting status message to a processable status for each idle process; And a plurality of first processing units controlling the temporary sending DB linking unit to store messages that can be processed in the temporary sending message database in the actual sending message database, and then deleting message information waiting to be sent from the temporary sending message database. It may include. The plurality of first processing units may be configured to perform message processing for the plurality of temporary dispatch groups in parallel.

상기 발송 모듈은, 상기 실 발송 메시지 데이터베이스에 접근 가능하고, 상기 실 발송 메시지 데이터베이스의 메시지 데이터 상태 값을 변경하거나 대기중인 메시지 데이터를 추출한 후 삭제하도록 구성되는 제2 실 발송 DB 연동부; 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하고, 상기 실 발송 메시지 데이터베이스의 대기 중인 메시지 상태 값을 유휴 상태인 프로세스 별로 최종 발송 가능한 상태로 변경하도록 구성되는 제2 발송그룹 처리부; 및 상기 제2 발송그룹 처리부에 의해 처리된 메시지를 상기 웹 에이전트 모듈로 전송하도록 구성되는 메시지 전송부를 포함할 수 있다.The sending module includes: a second real sending DB interworking unit configured to access the real sending message database and configured to change a message data state value of the real send message database or extract and delete pending message data; A second dispatch group processing unit configured to perform message processing for a plurality of dispatch groups in parallel, and to change a pending message state value of the actual dispatch message database to a final dispatchable state for each idle state; And a message transmission unit configured to transmit the message processed by the second transmission group processing unit to the web agent module.

상기 제2 발송그룹 처리부는, 현재 동작하지 않고 있는 유휴 상태의 프로세스를 감시하고, 상기 실 발송 메시지 데이터베이스의 대기 중인 메시지 상태 값을 유휴 상태인 프로세스별로 처리 가능하도록 변경하는 제2 프로세스 관리부; 및 상기 실 발송 메시지 데이터베이스의 메시지 데이터 중 처리 가능한 데이터를 최종 발송 가능한 상태로 변경하고, 상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성되는 다수의 제2 처리부를 포함할 수 있다.The second dispatch group processing unit may include a second process management unit monitoring a process in an idle state that is not currently operating, and changing a pending message state value of the actual dispatch message database to be processed for each idle state; And a plurality of second processing units configured to change processable data among the message data of the actual transmission message database to a state capable of being finally transmitted, and to perform message processing for the plurality of transmission groups in parallel.

본 발명의 실시예에 따른 메시지 발송 시스템은, 메시지에 관한 정보를 저장하는 데이터베이스; 상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하는 교환 모듈을 더 포함할 수 있다. 상기 발송 모듈은 상기 교환 모듈에서 처리되어 전달받은 메시지를 발송하기 위해 메시지에 관한 정보를 통신사로 전달할 수 있다.A message sending system according to an embodiment of the present invention includes: a database storing information on a message; It may further include an exchange module that performs pre-processing for message transmission using a message queue before storing information about the message in the database. The sending module may transmit information about a message to a communication company in order to send a message processed and received by the exchange module.

상기 교환 모듈은, 상기 클라이언트로부터 메시지 발송 요청을 수신하는 수신부; 상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 제 1 메시지 큐; 상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 메시지 쓰레드부; 상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 제 2 메시지 큐; 및 상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 메시지 저장 쓰레드부를 포함할 수 있다.The exchange module may include: a receiver configured to receive a message transmission request from the client; A first message queue for receiving and storing message data included in the message transmission request from the receiver; A message threading unit that receives message data from the first message queue, extracts information about a message from the message data, and delivers it to the sending module; A second message queue for receiving and storing information on the extracted message from the message thread unit; And a message storage thread unit receiving information about a message from the second message queue and storing it in the database.

상기 메시지 쓰레드부는: 메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출하고, 상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈로 전달할 수 있다.The message threading unit: extracts the originating number of the sender sending the message, the recipient number of the recipient of the message, and the message contents constituting the message from the message data, and includes the extracted originating number, the recipient number, and the message content Message information can be delivered to the sending module.

상기 메시지 쓰레드부는: 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐로 전달하고, 상기 메시지 저장 쓰레드부는: 상기 제 2 메시지 큐로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스에 저장할 수 있다.The message thread unit: transfers second message information including message content extracted from message data to the second message queue, and the message storage thread unit: transfers second message information received from the second message queue to the database Can be saved.

상기 메시지 쓰레드부는: 메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스에 저장하고, 상기 데이터베이스는: 상기 제 2 및 제 3 메시지 정보를 상기 메시지 발송 요청에 고유한 키 값과 매칭시켜 저장할 수 있다.The message thread unit: stores third message information including a source number and a destination number extracted from the message data in the database, and the database: a key unique to the message transmission request for the second and third message information It can be saved by matching the value.

상기 메시지 쓰레드부는, 상기 발송 모듈로 제 1 메시지 정보를 전달하는 제 1 작업, 상기 제 2 메시지 큐로 제 2 메시지 정보를 전달하는 제 2 작업 및 상기 데이터베이스로 제 3 메시지 정보를 전달하는 제 3 작업을 서로 독립적으로 실행하고; 상기 제 1 메시지 큐로부터 전달받은 개별 메시지 데이터마다 상기 제 3 작업을 먼저 실행한 뒤, 상기 제 1 작업을 실행하고, 그러고 나서 상기 제 2 작업을 실행할 수 있다.The message thread unit performs a first task of delivering first message information to the sending module, a second task of delivering second message information to the second message queue, and a third task of delivering third message information to the database. Run independently of each other; For each individual message data received from the first message queue, the third task may be executed first, then the first task may be executed, and then the second task may be executed.

본 발명의 실시예에 따른 메시지 발송 방법은, 발송 모듈에 의해, 클라이언트에 의해 메시지 전송이 요청된 메시지를 저장하는 실 발송 메시지 데이터베이스로부터 메시지를 추출하는 단계; 및 상기 발송 모듈에 의해, 상기 실 발송 메시지 데이터베이스로부터 추출한 메시지에 관한 정보를 웹 에이전트 모듈로 전달하는 단계를 포함한다.A method for sending a message according to an embodiment of the present invention includes, by a sending module, extracting a message from an actual sending message database storing a message requested to be sent by a client; And transmitting, by the sending module, information on the message extracted from the actual sending message database to the web agent module.

상기 메시지를 추출하는 단계는, 상기 실 발송 메시지 데이터베이스에서 처리 가능한 메시지를 발송 가능한 상태로 업데이트하는 단계; 상기 처리 가능한 메시지에 대해 복수개의 발송 그룹에 대해 각각 처리 프로세스를 생성하는 단계; 및 상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하는 단계를 포함할 수 있다.The step of extracting the message may include: updating a message that can be processed in the actual transmission message database to a state in which it can be sent; Generating a processing process for each of a plurality of dispatch groups for the message that can be processed; And performing message processing for the plurality of sending groups in parallel.

본 발명의 실시예에 따른 메시지 발송 방법은, 상기 클라이언트에 의해 작성된 메시지를 발송 대기 상태로 임시 발송 메시지 데이터베이스에 저장하는 단계; 및 상기 클라이언트에 의해 발송 요청된 메시지를 상기 임시 발송 메시지 데이터베이스로부터 추출하여 상기 실 발송 메시지 데이터베이스에 저장하는 단계를 더 포함할 수 있다.A message sending method according to an embodiment of the present invention includes the steps of storing a message created by the client in a temporary sending message database while waiting for sending; And extracting the message requested to be sent by the client from the temporary sending message database and storing it in the actual sending message database.

본 발명의 실시예에 따르면, 상기 메시지 발송 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체가 제공된다.According to an embodiment of the present invention, there is provided a computer-readable recording medium in which a program for executing the message sending method by a computer is recorded.

본 발명의 실시예에 의하면, 발송 그룹 단위의 병렬 처리를 통해 클라이언트로부터 대량의 메시지 발송 요청을 수신하는 경우에도 메시지 발송 지연을 최소화하여 메시지를 실시간으로 빠르게 발송할 수 있다.According to an embodiment of the present invention, even when a large number of message transmission requests are received from a client through parallel processing in a transmission group unit, a message transmission delay can be minimized and a message can be quickly transmitted in real time.

도 1은 본 발명의 일 실시예에 따른 메시지 발송 시스템이 클라이언트로부터 메시지 발송 요청을 수신하여 사용자에게 메시지를 발송하는 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 메시지 발송 시스템을 보다 상세히 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 메시지 발송 시스템이 클라이언트로부터 메시지 발송 요청을 수신하여 사용자(50)에게 메시지를 발송하는 과정을 설명하기 위한 흐름도이다.
도 4 및 도 5는 본 발명의 실시예에 따라 이동 모듈에서 수행하는 프로세스를 나타낸 순서도이다.
도 6 및 도 7은 본 발명의 실시예에 따라 발송 모듈에 의해 수행되는 프로세스의 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 메시지 발송 시스템의 구성을 설명하기 위한 블록도이다.
도 9는 도 8의 실시예에 따른 메시지 발송 시스템을 구성하는 교환 모듈의 구성을 설명하기 위한 블록도이다.
도 10은 도 8의 실시예에 따른 메시지 발송 시스템을 구성하는 발송 모듈의 구성을 설명하기 위한 블록도이다.
도 11은 도 8의 실시예에 따른 메시지 발송 시스템이 클라이언트로부터 메시지 발송 요청을 수신하여 사용자에게 메시지를 발송하는 과정을 설명하기 위한 흐름도이다.
1 is a diagram for explaining a process in which a message sending system according to an embodiment of the present invention receives a message sending request from a client and sends a message to a user.
2 is a block diagram showing in more detail a message sending system according to an embodiment of the present invention.
3 is a flowchart illustrating a process of sending a message to a user 50 by receiving a message sending request from a client by a message sending system according to an embodiment of the present invention.
4 and 5 are flow charts illustrating a process performed by a mobile module according to an embodiment of the present invention.
6 and 7 are flow charts of a process performed by a sending module according to an embodiment of the present invention.
8 is a block diagram illustrating a configuration of a message transmission system according to another embodiment of the present invention.
9 is a block diagram illustrating the configuration of an exchange module constituting the message sending system according to the embodiment of FIG. 8.
10 is a block diagram illustrating a configuration of a sending module constituting the message sending system according to the embodiment of FIG. 8.
11 is a flowchart illustrating a process in which the message sending system according to the embodiment of FIG. 8 receives a message sending request from a client and sends a message to a user.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments to be described later in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms. It is provided to completely inform the scope of the invention to the possessor, and the invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Even if not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by universal technology in the prior art to which this invention belongs. Terms defined by general dictionaries may be construed as having the same meaning as the related description and/or the text of this application, and not conceptualized or excessively formalized, even if not clearly defined herein. Won't.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification,'includes' and/or various conjugated forms of this verb, for example,'includes','includes','includes','includes', etc. refer to the mentioned composition, ingredient, component, Steps, operations and/or elements do not preclude the presence or addition of one or more other compositions, components, components, steps, operations and/or elements. In the present specification, the term'and/or' refers to each of the listed components or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as'~ unit' and'~ module' used throughout this specification may refer to a unit that processes at least one function or operation. For example, it can mean software, hardware components such as FPGAs or ASICs. However,'~ unit' and'~ module' are not meant to be limited to software or hardware. The'~ unit' and the'~ module' may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors.

따라서, 일 예로서 '~부', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~모듈'들로 더 분리될 수 있다.Thus, as an example,'~ unit' and'~ module' are components such as software components, object-oriented software components, class components, and task components, processes, functions, and properties. S, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. The functions provided within the components and'~ unit' and'~ module' are combined into a smaller number of elements and'~ unit' and'~ module', or additional components and'~ unit', It can be further divided into'~modules'.

이하, 본 명세서에 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 도 1은 본 발명의 일 실시예에 따른 메시지 발송 시스템(10)이 클라이언트(20)로부터 메시지 발송 요청을 수신하여 사용자(50)에게 메시지를 발송하는 과정을 설명하기 위한 도면이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a diagram for explaining a process in which a message sending system 10 according to an embodiment of the present invention receives a message sending request from a client 20 and sends a message to a user 50.

도 1을 참조하면, 본 발명의 일 실시예에 따른 메시지 발송 시스템(10)은 임시 발송 메시지 데이터베이스(DB)(100), 이동 모듈(Move module)(200), 실 발송 메시지 데이터베이스(300) 및 발송 모듈(Send module)(400)을 포함할 수 있다.Referring to FIG. 1, a message sending system 10 according to an embodiment of the present invention includes a temporary sending message database (DB) 100, a move module 200, an actual sending message database 300, and It may include a Send module (400).

클라이언트(20)에서 웹(web)을 통해 전송하려는 메시지를 작성하면, 임시 발송 메시지 DB(100)에 메시지가 발송 대기 상태로 저장된다. 임시 발송 메시지 DB(100)는 메시지 정보를 저장하는 저장 장치로서, 예컨대 HDD, SSD 등을 포함할 수 있으나, 이에 제한되지는 않는다. 임시 발송 메시지 DB(100)는 메시지 발송에 관련된 발송 그룹에 관한 정보(예를 들어, 수신자 그룹 정보)를 저장한다.When a message to be transmitted through the web is created by the client 20, the message is stored in the temporary transmission message DB 100 in a state of waiting for transmission. The temporary sending message DB 100 is a storage device for storing message information, and may include, for example, an HDD or SSD, but is not limited thereto. The temporary sending message DB 100 stores information on a sending group related to sending a message (eg, recipient group information).

이동 모듈(200)은 데이터를 처리하는 처리 장치 및 데이터를 저장하는 메모리를 포함하는 컴퓨터 장치로서, 사전에 설치된 컴퓨터 프로그램에 따라 데이터를 처리할 수 있다.The mobile module 200 is a computer device including a processing device for processing data and a memory for storing data, and may process data according to a computer program installed in advance.

이동 모듈(200)의 각 발송 그룹(임시 발송 그룹)은 메시지 수신인들의 수신자 번호 정보로 정의될 수 있다. 각 임시 발송 그룹에는 하나 이상의 수신인의 수신자 번호 정보가 포함될 수 있다.Each sending group (temporary sending group) of the mobile module 200 may be defined as recipient number information of message recipients. Each temporary dispatch group may include recipient number information of one or more recipients.

임시 발송 그룹의 개수(N)는 예를 들어, 메시지 발송 시스템(10)에 미리 설정되거나, 클라이언트에 의해 설정될 수 있다. 또는 클라이언트에 의해 발송 그룹 추가가 요청될 때마다 임시 발송 그룹의 개수를 증가시키는 것도 가능하다.The number of temporary dispatch groups (N) may be preset in the message sending system 10 or may be set by a client. Alternatively, it is possible to increase the number of temporary dispatch groups each time a dispatch group addition is requested by the client.

임시 발송 메시지 DB(100)에는 클라이언트(20)에 의해 작성된 메시지 내용이 저장되지 않을 수 있다. 클라이언트(20)에 의해 메시지 내용이 작성된 후, 클라이언트(20)가 메시지 발송을 최종 요청하면, 메시지 내용은 실 발송 메시지 DB(300)에 저장될 수 있다.The content of the message created by the client 20 may not be stored in the temporary transmission message DB 100. After the message content is created by the client 20, when the client 20 finally requests the message to be sent, the message content may be stored in the actual sending message DB 300.

필요에 따라, 클라이언트(20)가 최종적으로 메시지 발송을 요청하기 전이라도 임시 발송 메시지 DB(100)에 클라이언트(20)가 작성한 메시지 내용이 실시간으로 저장되도록 하거나, 메시지 발송 요청시에 임시 발송 메시지 DB(100)에도 메시지 내용이 저장되도록 할 수도 있다.If necessary, the content of the message created by the client 20 is stored in the temporary sending message DB 100 in real time even before the client 20 finally requests the message to be sent, or the temporary sending message DB The content of the message can also be stored in (100).

이동 모듈(200)은 제1 프로세스 관리부(221)와, 다수의 제1 처리부(222)를 포함할 수 있다. 제1 프로세스 관리부(221)는 현재 동작하고 있지 않은 유휴 상태의 프로세스를 확인하고, 대기 상태인 메시지를 유휴 상태의 프로세스별로 처리 가능 상태로 변경할 수 있다.The moving module 200 may include a first process management unit 221 and a plurality of first processing units 222. The first process management unit 221 may check a process in an idle state that is not currently operating, and change a message in a waiting state to a state capable of being processed for each idle state.

다수의 제1 처리부(222)는 임시 발송 메시지 DB(100)에서 처리 가능한 메시지를 가져와 실 발송 메시지 DB(300)에 저장한 후, 임시 발송 메시지 DB(100)에서 발송 대기 상태의 메시지 정보를 삭제할 수 있다.The plurality of first processing units 222 take a message that can be processed from the temporary sending message DB 100 and store it in the actual sending message DB 300, and then delete the message information waiting to be sent from the temporary sending message DB 100. I can.

임시 발송 그룹 마다 제1 처리부(222)가 일대일 대응되게 마련되어 프로세스를 실행하도록 구성될 수 있으며, 임시 발송 그룹의 수와 같거나 그보다 많은 개수의 제1 처리부(222)에 의해 메시지 발송을 위한 프로세스가 실행될 수 있다.For each temporary dispatch group, the first processing unit 222 may be provided in a one-to-one correspondence and configured to execute the process, and a process for sending a message is performed by the first processing unit 222 equal to or greater than the number of temporary dispatch groups. Can be implemented.

각 임시 발송 그룹에 대응되는 제1 처리부(222)는 복수개의 프로세스부(2221, 222N)를 포함할 수 있다. 따라서, 다수의 임시 발송 그룹에 대한 메시지 발송을 위한 처리를 병렬적으로 수행할 수 있음과 동시에, 각각의 임시 발송 그룹 별로도 복수개의 프로세스부(2221, 222N)에 의해 병렬적인 프로세스가 가능하므로, 병목 현상과 메시지 발송 지연을 보다 효과적으로 방지할 수 있다.The first processing unit 222 corresponding to each temporary dispatch group may include a plurality of processing units 2221 and 222N. Therefore, processing for sending messages to a plurality of temporary sending groups can be performed in parallel, and at the same time, a parallel process is possible by a plurality of process units 2221 and 222N for each temporary sending group. Bottlenecks and delays in sending messages can be more effectively prevented.

발송 모듈(400)은 데이터를 처리하는 처리 장치 및 데이터를 저장하는 메모리를 포함하는 컴퓨터 장치로서, 사전에 설치된 컴퓨터 프로그램에 따라 데이터를 처리할 수 있다.The sending module 400 is a computer device including a processing device for processing data and a memory for storing data, and may process data according to a computer program installed in advance.

발송 모듈(400)은 제2 프로세스 관리부(421)와, 다수의 제2 처리부(422)를 포함할 수 있다. 제2 프로세스 관리부(421)는 현재 동작하고 있지 않은 유휴 상태의 프로세스를 확인하고, 대기 상태인 메시지를 유휴 상태의 프로세스별로 처리가능 상태로 변경할 수 있다.The sending module 400 may include a second process management unit 421 and a plurality of second processing units 422. The second process management unit 421 may check a process in an idle state that is not currently operating, and change a message in a waiting state to a processable state for each idle state.

다수의 제2 처리부(422)는 실 발송 메시지 DB(300)에서 처리 가능한 메시지를 가져와 최종 발송 가능한 상태로 실 발송 메시지 DB(300)를 업데이트한 후 메시지 정보를 웹 에이전트 모듈(30)로 전송할 수 있다.The plurality of second processing units 422 may take a message that can be processed from the actual delivery message DB 300, update the actual delivery message DB 300 to a state that can be finally sent, and then transmit the message information to the web agent module 30. have.

실 발송 메시지 DB(300)는 메시지 정보를 저장하는 저장 장치로서, 예컨대 HDD, SSD 등을 포함할 수 있으나, 이에 제한되지는 않는다. 웹 에이전트 모듈(30)을 통해 전송된 메시지는 게이트웨이(40)를 거쳐서 사용자(50)에게 수신될 수 있다.The actual sending message DB 300 is a storage device that stores message information, and may include, for example, an HDD or SSD, but is not limited thereto. The message transmitted through the web agent module 30 may be received by the user 50 through the gateway 40.

실 발송 그룹 마다 제2 처리부(422)가 일대일 대응되게 마련되어 프로세스를 실행하도록 구성될 수 있으며, 실 발송 그룹의 수와 같거나 그보다 많은 개수의 제2 처리부(422)에 의해 메시지 발송을 위한 프로세스가 실행될 수 있다.The second processing unit 422 may be configured to execute a process by providing a one-to-one correspondence for each actual dispatch group, and a process for sending a message is performed by the second processing unit 422 having a number equal to or greater than the number of actual dispatch groups. Can be implemented.

각 실 발송 그룹에 대응되는 제2 처리부(422)는 복수개의 프로세스부(4221, 422N)를 포함할 수 있다. 따라서, 다수의 실 발송 그룹에 대한 메시지 발송을 위한 처리를 병렬적으로 수행할 수 있음과 동시에, 각각의 실 발송 그룹 별로도 복수개의 프로세스부(4221, 422N)에 의해 병렬적인 프로세스가 가능하므로, 병목 현상과 메시지 발송 지연을 보다 효과적으로 방지할 수 있다.The second processing unit 422 corresponding to each thread dispatch group may include a plurality of processing units 4221 and 422N. Therefore, processing for sending messages to a plurality of real sending groups can be performed in parallel, and at the same time, a parallel process is possible by a plurality of process units 4221 and 422N for each real sending group, Bottlenecks and delays in sending messages can be more effectively prevented.

도 2는 본 발명의 일 실시예에 따른 메시지 발송 시스템을 보다 상세히 나타낸 구성도이다. 도 1 및 도 2를 참조하면, 클라이언트(20)에 의해 작성되어 웹을 통해 전송된 메시지는 임시 발송 메시지 DB(100)에 저장될 수 있다.2 is a block diagram showing in more detail a message sending system according to an embodiment of the present invention. 1 and 2, a message created by the client 20 and transmitted through the web may be stored in the temporary sending message DB 100.

클라이언트(20)로부터 웹을 통해 메시지 발송이 요청되면, 이동 모듈(200)은 해당 발송 요청된 메시지에 관련된 수신인 그룹 정보(발송 그룹 정보), 예를 들어, 수신인 그룹에 속하는 수신자 번호들을 임시 발송 메시지 DB(100)로부터 추출하여 실 발송 메시지 DB(300)에 저장할 수 있다.When a message transmission is requested from the client 20 through the web, the mobile module 200 temporarily sends the recipient group information (sending group information) related to the requested message, for example, recipient numbers belonging to the recipient group. It can be extracted from the DB (100) and stored in the actual sending message DB (300).

이동 모듈(200)은 임시 발송 DB 연동부(210), 제1 발송그룹 처리부(220) 및 제1 실 발송 DB 연동부(230)를 포함할 수 있다. 임시 발송 DB 연동부(210)는 임시 발송 메시지 DB(100)에 접근하여 메시지 데이터를 변경하거나 추출할 수 있다.The moving module 200 may include a temporary sending DB linking unit 210, a first sending group processing unit 220, and a first real sending DB linking unit 230. The temporary sending DB linking unit 210 may access the temporary sending message DB 100 to change or extract message data.

임시 발송 DB 연동부(210)는 제1 메시지 데이터 변경부(211)와, 제1 메시지 데이터 추출부(212)를 포함할 수 있다. 제1 메시지 데이터 변경부(211)는 임시 발송 메시지 DB(100)의 메시지 데이터 상태 값을 변경하거나 삭제할 수 있다. 제1 메시지 데이터 추출부(212)는 임시 발송 메시지 DB(100)의 대기중인 메시지 데이터를 추출할 수 있다.The temporary sending DB linking unit 210 may include a first message data changing unit 211 and a first message data extracting unit 212. The first message data change unit 211 may change or delete a message data state value of the temporary transmission message DB 100. The first message data extracting unit 212 may extract message data waiting for the temporary transmission message DB 100.

제1 발송그룹 처리부(220)는 프로세스 관리를 수행하는 제1 프로세스 관리부(221) 및 DB 데이터 이동 프로세스를 수행하는 다수의 제1 처리부(222)를 포함할 수 있다.The first dispatch group processing unit 220 may include a first process management unit 221 performing process management and a plurality of first processing units 222 performing a DB data movement process.

앞서 설명한 바와 같이, 제1 프로세스 관리부(221)는 현재 동작하지 않고 있는 유휴 상태의 프로세스를 감시하고, 임시 발송 메시지 DB(100)의 대기중인 메시지 상태 값을 유휴 상태인 프로세스별로 처리 가능하도록 변경할 수 있다.As described above, the first process management unit 221 may monitor an idle process that is not currently operating, and change the pending message status value of the temporary sending message DB 100 to be processed for each idle process. have.

다수의 제1 처리부(222)는 임시 발송 메시지 DB(100)의 메시지 데이터 중 처리 가능한 데이터를 가져와 제1 실 발송 DB 연동부(230)에 의해 실 발송 메시지 DB(300)에 저장하고, 임시 발송 DB 연동부(210)에 의해 임시 발송 메시지 DB(100)의 메시지 데이터를 삭제할 수 있다.The plurality of first processing units 222 take the data that can be processed among the message data of the temporary sending message DB 100 and store them in the real sending message DB 300 by the first real sending DB linking unit 230, and temporarily send them. The message data of the temporary sending message DB 100 may be deleted by the DB linking unit 210.

클라이언트의 메시지 발송 요청시, 실 발송 메시지 DB(300)에는 발송자 정보, 임시 발송 메시지 DB(100)로부터 전달받은 발송 그룹 정보(수신인 그룹 정보), 및 메시지 내용이 저장될 수 있다.When a client requests to send a message, the actual sending message DB 300 may store sender information, sending group information (recipient group information) received from the temporary sending message DB 100, and message contents.

발송 모듈(400)은 실 발송 메시지 DB(300)의 메시지를 전송하는 기능을 수행할 수 있다. 발송 모듈(400)은 제2 실 발송 DB 연동부(410), 제2 발송그룹 처리부(420) 및 메시지 전송부(430)를 포함할 수 있다.The sending module 400 may perform a function of transmitting a message of the actual sending message DB 300. The sending module 400 may include a second actual sending DB linking unit 410, a second sending group processing unit 420, and a message transmitting unit 430.

제2 실 발송 DB 연동부(410)는 실 발송 메시지 DB(300)에 접근할 수 있다. 제2 실 발송 DB 연동부(410)는 제2 메시지 데이터 변경부(411)와, 제2 메시지 데이터 추출부(412)를 포함할 수 있다.The second actual delivery DB interworking unit 410 may access the actual delivery message DB 300. The second actual sending DB interworking unit 410 may include a second message data changing unit 411 and a second message data extracting unit 412.

제2 메시지 데이터 변경부(411)는 실 발송 메시지 DB(300)의 메시지 데이터 상태 값을 변경하거나 삭제할 수 있다. 제2 메시지 데이터 추출부(412)는 실 발송 메시지 DB(300)의 대기중인 메시지 데이터를 추출할 수 있다.The second message data change unit 411 may change or delete a message data state value of the actual sending message DB 300. The second message data extracting unit 412 may extract the queued message data of the actual sending message DB 300.

제2 발송그룹 처리부(420)는 프로세스 관리를 수행하는 제2 프로세스 관리부(421)와, 메시지 전송 프로세스를 수행하는 다수의 제2 처리부(422)를 포함할 수 있다.The second sending group processing unit 420 may include a second process management unit 421 performing process management and a plurality of second processing units 422 performing a message transmission process.

제2 프로세스 관리부(421)는 현재 동작하지 않고 있는 유휴 상태의 프로세스를 감시하고, 실 발송 메시지 DB(300)의 대기중인 메시지 상태 값을 유휴 상태인 프로세스별로 처리 가능하도록 변경할 수 있다.The second process management unit 421 may monitor a process in an idle state that is not currently operating, and change a pending message state value of the actual sending message DB 300 to be processed for each idle state.

다수의 제2 처리부(422)는 실 발송 메시지 DB(300)의 메시지 데이터 중 처리 가능한 데이터를 가져와 제2 실 발송 DB 연동부(410)에 의해 최종 발송 가능한 상태로 실 발송 메시지 DB(300)를 업데이트한 후, 메시지 전송부(430)에 의해 웹 에이전트 모듈(30)로 메시지 정보를 전송할 수 있다.The plurality of second processing units 422 take the data that can be processed among the message data of the actual sending message DB 300 and open the actual sending message DB 300 in a state that can be finally sent by the second real sending DB interlocking unit 410. After updating, message information may be transmitted to the web agent module 30 by the message transmission unit 430.

메시지 전송부(430)는 웹 에이전트 모듈(30)과 연동하여 메시지 전송하는 웹 에이전트 연동부(431)와, 웹 에이전트 모듈(30)로 메시지 정보를 전송하는 메시지 데이터 전송부(432)를 포함할 수 있다.The message transmission unit 430 may include a web agent interworking unit 431 interlocking with the web agent module 30 to transmit a message, and a message data transmission unit 432 transmitting message information to the web agent module 30. I can.

본 발명의 실시예에 따른 메시지 발송 시스템(10)에 의하면, 제1 발송그룹 처리부(220)의 다수의 제1 처리부(222)와, 제2 발송그룹 처리부(420)의 다수의 제2 처리부(422)에 의해, 멀티 프로세스를 병렬 방식으로 처리하여 병목 현상을 방지하여 발송 지연을 최소화할 수 있다.According to the message sending system 10 according to the embodiment of the present invention, a plurality of first processing units 222 of the first sending group processing unit 220 and a plurality of second processing units of the second sending group processing unit 420 ( 422), multiple processes are processed in a parallel manner to prevent bottlenecks, thereby minimizing dispatch delays.

제1 처리부(222)의 개수와 제2 처리부(422)의 개수는 발송 그룹(임시 발송 그룹, 실 발송 그룹)의 개수 만큼 생성되거나, 그보다 많은 개수로 생성될 수 있다. 따라서, 클라이언트(20)에 의해 대량의 메시지 발송이 요청되더라도, 대량의 메시지를 동시에 빠르고 원활하게 실시간 전송할 수 있다.The number of first processing units 222 and the number of second processing units 422 may be generated as many as the number of dispatch groups (temporary dispatch groups, actual dispatch groups), or greater numbers. Therefore, even if a large amount of messages is requested by the client 20, a large amount of messages can be simultaneously and quickly and smoothly transmitted in real time.

뿐만 아니라, 발송 그룹 단위로 제1 처리부(222)와 제2 처리부(422)에 의해 다수의 발송 그룹에 대한 메시지 발송을 위한 처리를 병렬적으로 수행함과 동시에, 각각의 제1 철치부(222)와 제2 처리부(422)를 다수의 프로세스부(2221, 222N, 4221, 422N)으로 구성하면, 메시지 처리 속도를 높여 보다 효과적으로 대량 메시지 전송 시의 병목 현상과 메시지 발송 지연을 방지할 수 있다.In addition, the first processing unit 222 and the second processing unit 422 in a unit of sending group perform processing for sending messages to a plurality of sending groups in parallel, and at the same time, each of the first iron tooth units 222 If the and the second processing unit 422 are configured with a plurality of processing units 2221, 222N, 4221, 422N, it is possible to increase the message processing speed and more effectively prevent a bottleneck and message transmission delay in mass message transmission.

또한, 본 발명의 실시예에 따른 메시지 발송 시스템(10)에 의하면, 임시 발송 메시지 DB(100)와 이동 모듈(200)에 의해 클라이언트(20)의 메시지를 변경/삭제하는 등의 처리를 수행하고, 실 발송 메시지 DB(300)와 발송 모듈(400)에 의해 실제 메시지를 발송하는 처리를 수행할 수 있다.In addition, according to the message sending system 10 according to an embodiment of the present invention, processing such as changing/deleting a message of the client 20 is performed by the temporary sending message DB 100 and the moving module 200. , It is possible to perform a process of actually sending a message by the actual sending message DB 300 and the sending module 400.

이에 따라 클라이언트가 메시지 발송 요청 전에 자주 메시지를 수정하거나, 수신인을 변경하는 경우에도, 실 발송 메시지 DB(300)를 변경할 필요가 없어 실 발송 메시지 DB(300)의 부하를 줄일 수 있으며, 실 발송 메시지 DB(300)의 부담을 임시 발송 메시지 DB(100)에 분담할 수 있다. 따라서, 클라이언트(20)에 의해 대량의 메시지 발송 요청 시에도 실 발송 메시지 DB(300)에서의 병목 현상을 줄여 보다 빠르게 대량의 메시지를 처리하여 메시지 발송 대기, 지연을 최소화할 수 있다.Accordingly, even when a client frequently modifies a message or changes a recipient before requesting a message to be sent, there is no need to change the actual message DB 300, thereby reducing the load on the actual message DB 300, and The burden of the DB 300 may be shared with the temporary sending message DB 100. Accordingly, even when a large number of messages are requested by the client 20, a bottleneck in the actual transmission message DB 300 is reduced, and a large number of messages can be processed more quickly, thereby minimizing message transmission waiting and delay.

도 3은 본 발명의 일 실시예에 따른 메시지 발송 시스템(10)이 클라이언트(20)로부터 메시지 발송 요청을 수신하여 사용자(50)에게 메시지를 발송하는 과정을 설명하기 위한 흐름도이다. 클라이언트(20)에서 웹(web)을 통해 전송하려는 메시지를 작성하면, 임시 발송 메시지 DB(100)에 메시지가 발송 대기 상태로 저장된다.3 is a flowchart for explaining a process in which the message sending system 10 according to an embodiment of the present invention receives a message sending request from the client 20 and sends a message to the user 50. When a message to be transmitted through the web is created by the client 20, the message is stored in the temporary transmission message DB 100 in a state of waiting for transmission.

도 4 및 도 5는 본 발명의 실시예에 따라 이동 모듈에서 수행하는 프로세스를 나타낸 순서도이다. 도 3 내지 도 5를 참조하면, 이동 모듈(200)은 현재 동작하고 있지 않은 유휴 상태의 프로세스를 추출하고(S210), 추출된 프로세스가 있으면 추출된 프로세스 별로 임시 발송 메시지 DB(100)에서 대기 상태인 메시지 데이터를 확인하여 대기 상태인 메시지가 있는지 여부를 판단할 수 있다(S211, S212, S213). 대기 상태인 메시지가 있으며, 이동 모듈(200)은 유휴 상태의 프로세스별로 처리 가능 상태로 변경할 수 있다(S220).4 and 5 are flow charts illustrating a process performed by a mobile module according to an embodiment of the present invention. 3 to 5, the moving module 200 extracts an idle process that is not currently running (S210), and if there is an extracted process, the temporary sending message DB 100 for each extracted process is in a standby state. It can be determined whether or not there is a message in a waiting state by checking the message data (S211, S212, S213). There is a message in a waiting state, and the moving module 200 may change the state to be processed for each idle state (S220).

이동 모듈(200)은 임시 발송 메시지 DB(100)에서 처리 가능한 메시지를 추출하고, 처리 가능 상태인 메시지가 있는지 판단할 수 있다(S230, S231). 만약 처리 가능 상태인 메시지가 있으면, 이동 모듈(200)은 실 발송 메시지 DB(300)에 저장한 후(S240), 임시 발송 메시지 DB(100)에서 발송 대기 상태의 메시지 정보를 삭제할 수 있다(S250).The mobile module 200 may extract a message that can be processed from the temporary transmission message DB 100 and determine whether there is a message in a processing state (S230, S231). If there is a message in a processable state, the mobile module 200 may store the message in the actual sending message DB 300 (S240), and then delete the message information in the sending standby state from the temporary sending message DB 100 (S250). ).

도 6 및 도 7은 본 발명의 실시예에 따라 발송 모듈에 의해 수행되는 프로세스의 순서도이다. 도 3, 도 6 및 도 7을 참조하면, 발송 모듈(400)은 현재 동작하지 않고 있는 유휴 상태의 프로세스를 감시하여 추출하고(S410), 추출된 프로세스가 있으면 추출된 프로세스 별로 실 발송 메시지 DB(300)에서 대기 상태인 메시지 데이터가 존재하는지 확인할 수 있다(S411, S412, S413).6 and 7 are flow charts of a process performed by a sending module according to an embodiment of the present invention. 3, 6, and 7, the sending module 400 monitors and extracts a process in an idle state that is not currently operating (S410), and if there is an extracted process, the actual sending message DB for each extracted process ( 300), it is possible to check whether there is message data in a waiting state (S411, S412, S413).

실 발송 메시지 DB(300)에 대기 상태인 메시지가 있으면, 발송 모듈(400)은 실 발송 메시지 DB(300)의 대기중인 메시지 상태 값을 유휴 상태인 프로세스별로 처리 가능하도록 변경할 수 있다(S420). 발송 모듈(400)은 실 발송 메시지 DB(300)의 데이터 중 처리 가능 상태인 데이터를 추출하고(S430), 처리 가능한 메시지가 있으면 웹 에이전트로 메시지 데이터를 전송할 수 있다(S431, S440).If there is a message in the waiting state in the actual transmission message DB 300, the sending module 400 may change the pending message state value of the actual transmission message DB 300 to be processed for each idle state (S420). The sending module 400 extracts data in a processable state from the data of the actual sending message DB 300 (S430), and if there is a processable message, it may transmit the message data to the web agent (S431, S440).

도 8은 본 발명의 다른 실시예에 따른 메시지 발송 시스템의 구성을 설명하기 위한 블록도이다. 도 8을 참조하면, 본 발명의 실시예에 따른 메시지 발송 시스템은 이동 모듈 대신, 또는 이동 모듈과 함께 교환 모듈(500)을 포함할 수 있다. 교환 모듈(500)은 수신부(510), 제 1 메시지 큐(520), 메시지 쓰레드부(530), 제 2 메시지 큐(540) 및 메시지 저장 쓰레드부(550)를 포함할 수 있다.8 is a block diagram illustrating a configuration of a message transmission system according to another embodiment of the present invention. Referring to FIG. 8, the message sending system according to an embodiment of the present invention may include an exchange module 500 instead of or together with the mobile module. The exchange module 500 may include a receiving unit 510, a first message queue 520, a message thread unit 530, a second message queue 540, and a message storage thread unit 550.

수신부(510)는 클라이언트(20)로부터 메시지 발송 요청을 수신할 수 있다. 제 1 메시지 큐(520)는 수신부(510)로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장할 수 있다. 메시지 쓰레드부(530)는 제 1 메시지 큐(520)로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈(400)로 전달할 수 있다. 상기 제 2 메시지 큐(540)는 상기 메시지 쓰레드부(530)로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장할 수 있다. 상기 메시지 저장 쓰레드부(550)는 상기 제 2 메시지 큐(540)로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스(600)에 저장할 수 있다.The receiving unit 510 may receive a message transmission request from the client 20. The first message queue 520 may receive and store message data included in the message transmission request from the receiving unit 510. The message thread unit 530 may receive message data from the first message queue 520, extract information about a message from the message data, and transmit it to the sending module 400. The second message queue 540 may receive and store information about the extracted message from the message thread unit 530. The message storage thread unit 550 may receive information about a message from the second message queue 540 and store it in the database 600.

도 9는 도 8의 실시예에 따른 메시지 발송 시스템을 구성하는 교환 모듈(500)의 구성을 설명하기 위한 블록도이다. 도 9를 참조하면, 상기 교환 모듈(500)에서 상기 수신부(510)는 메시지 발송 요청 수신부(511) 및 제 1 메시지 큐 메시지 데이터 저장부(512)를 포함할 수 있다.9 is a block diagram for explaining the configuration of the exchange module 500 constituting the message sending system according to the embodiment of FIG. Referring to FIG. 9, in the exchange module 500, the receiving unit 510 may include a message sending request receiving unit 511 and a first message queue message data storage unit 512.

상기 메시지 발송 요청 수신부(511)는 클라이언트(20)로부터 사용자(50)에게 메시지를 발송하기 위한 메시지 발송 요청을 수신할 수 있다. 상기 제 1 메시지 큐 메시지 데이터 저장부(512)는 메시지 발송 요청에 포함된 메시지 데이터를 추출하여 상기 제 1 메시지 큐(520)에 입력할 수 있다.The message sending request receiving unit 511 may receive a message sending request for sending a message to the user 50 from the client 20. The first message queue message data storage unit 512 may extract message data included in a message transmission request and input it to the first message queue 520.

상기 제 1 메시지 큐(520)는 상기 제 1 메시지 큐 메시지 데이터 저장부(512)로부터 메시지 데이터를 입력받아 저장할 수 있다. 본 발명의 일 실시예에 따르면, 상기 제 1 메시지 큐(520)는 FIFO(First In First Out) 방식으로 동작하여 먼저 입력된 메시지 데이터가 먼저 출력되어 처리되도록 구성될 수 있다.The first message queue 520 may receive and store message data from the first message queue message data storage unit 512. According to an embodiment of the present invention, the first message queue 520 may be configured to operate in a FIFO (First In First Out) method so that first input message data is first output and processed.

상기 교환 모듈(500)에서 상기 메시지 쓰레드부(530)는 메시지 정보 추출부(534), 발송 모듈 전달부(532), 제 2 메시지 큐 메시지 정보 저장부(533) 및 데이터베이스 저장부(531)를 포함할 수 있다.In the exchange module 500, the message thread unit 530 includes a message information extracting unit 534, a sending module delivery unit 532, a second message queue message information storage unit 533, and a database storage unit 531. Can include.

상기 메시지 쓰레드부(530)는 상기 제 1 메시지 큐(520)로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈(400)로 전달할 수 있다.The message threading unit 530 may receive message data from the first message queue 520, extract information about a message from the message data, and transmit it to the sending module 400.

본 발명의 일 실시예에 따르면, 상기 메시지 정보 추출부(534)는 상기 제 1 메시지 큐(520)로부터 메시지 데이터를 수신하여 메시지에 관한 정보를 추출할 수 있다. 그리고, 상기 발송 모듈 전달부(532), 상기 제 2 메시지 큐 메시지 정보 저장부(533) 및 상기 데이터베이스 저장부(531)는 상기 메시지 정보 추출부(534)에 의해 추출된 메시지에 관한 정보를 각각 상기 발송 모듈(400), 상기 제 2 메시지 큐(540) 및 상기 데이터베이스(600)로 전달하여 저장시킬 수 있다.According to an embodiment of the present invention, the message information extracting unit 534 may receive message data from the first message queue 520 to extract information about a message. In addition, the sending module delivery unit 532, the second message queue message information storage unit 533, and the database storage unit 531 each store information on the message extracted by the message information extraction unit 534, respectively. The transmission module 400, the second message queue 540, and the database 600 may be transferred to and stored.

구체적으로, 상기 메시지 쓰레드부(530)에서 상기 메시지 정보 추출부(534)는 메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출할 수 있다. 그러고 나서, 상기 메시지 쓰레드부(530)에서 상기 발송 모듈 전달부(532)는 상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈(400)로 전달할 수 있다.Specifically, in the message threading unit 530, the message information extracting unit 534 may extract a calling number of a sender sending a message, a recipient number of a recipient who receives the message, and message contents constituting the message from the message data. . Then, in the message thread unit 530, the sending module transfer unit 532 may transfer first message information including the extracted source number, receiving number, and message content to the sending module 400.

나아가, 상기 메시지 쓰레드부(530)에서 상기 제 2 메시지 큐 메시지 정보 저장부(533)는 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐(540)로 전달할 수 있다.Further, the second message queue message information storage unit 533 from the message thread unit 530 may transfer second message information including message content extracted from message data to the second message queue 540. .

상기 제 2 메시지 큐(540)는 상기 제 2 메시지 큐 메시지 정보 저장부(533)로부터 제 2 메시지 정보를 전달받아 저장할 수 있다. 본 발명의 일 실시예에 따르면, 상기 제 2 메시지 큐(540) 역시 FIFO 방식으로 동작하여 먼저 입력된 제 2 메시지 정보가 먼저 출력되어 처리되도록 구성될 수 있다.The second message queue 540 may receive and store second message information from the second message queue message information storage unit 533. According to an embodiment of the present invention, the second message queue 540 may also be configured to operate in a FIFO method so that the first input second message information is first output and processed.

상기 메시지 저장 쓰레드부(550)에서 상기 제 2 메시지 큐 메시지 정보 수신부(551)는 상기 제 2 메시지 큐(540)로부터 제 2 메시지 정보를 불러올 수 있다. 그리고, 상기 데이터베이스 후처리 저장부(552)는 상기 제 2 메시지 큐(540)로부터 불러온 제 2 메시지 정보를 상기 데이터베이스(600)에 저장할 수 있다.In the message storage thread unit 550, the second message queue message information receiving unit 551 may retrieve second message information from the second message queue 540. In addition, the database post-processing storage unit 552 may store second message information retrieved from the second message queue 540 in the database 600.

더 나아가, 상기 메시지 쓰레드부(530)에서 상기 데이터베이스 저장부(531)는 메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스(600)로 전달하여 저장할 수 있다.Furthermore, in the message thread unit 530, the database storage unit 531 may transmit and store third message information including a source number and a destination number extracted from the message data to the database 600.

즉, 본 발명의 실시예에 따르면, 메시지 발송 시스템은 클라이언트의 메시지를 통신사를 거쳐 사용자로 발송하기 위한 처리를 수행하는 과정에서 메시지에 관한 정보를 상기 데이터베이스(600)에 저장하나, 메시지 발송을 위한 처리와 메시지에 관한 정보를 상기 데이터베이스(600)에 저장하기 위한 처리가 서로 구분되어 독립적으로 실행된다.That is, according to an embodiment of the present invention, the message sending system stores information about the message in the database 600 in the process of sending a message from a client to a user through a communication company. Processing and processing for storing information about a message in the database 600 are separated from each other and executed independently.

그 결과, 메시지 발송 시 메시지에 관한 정보를 데이터베이스에 저장하는 과정에서 야기되는 발송 지연을 최소화하여 클라이언트로부터 대량의 메시지 발송 요청을 받아도 원활하고 빠르게 메시지를 발송할 수 있다.As a result, it is possible to send a message smoothly and quickly even when a request for sending a large number of messages from a client is received by minimizing the delay in sending that occurs in the process of storing information about a message in a database when sending a message.

도 8 및 도 9를 참조하면, 상기 데이터베이스(600)는 상기 교환 모듈(500)의 상기 메시지 저장 쓰레드부(550)로부터 메시지 내용을 포함하는 제 2 메시지 정보를 입력받아 저장하고, 상기 교환 모듈(500)의 상기 메시지 쓰레드부(530)로부터 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 입력받아 저장할 수 있다.8 and 9, the database 600 receives and stores second message information including message content from the message storage thread unit 550 of the exchange module 500, and stores the message, and the exchange module ( 500) from the message threading unit 530 may receive and store third message information including a source number and a destination number.

이와 같이 상기 데이터베이스(600)에 메시지 내용을 포함하는 제 2 메시지 정보가 저장되는 과정과 발신번호 및 수신번호를 포함하는 제 3 메시지 정보가 저장되는 과정은 별도의 쓰레드에서 서로 구분되어 실행되며, 앞서 언급한 바와 같이 상기 발송 모듈(400)로 제 1 메시지 정보를 전달하는 과정과도 구분되어 실행된다.In this way, the process of storing the second message information including the message content in the database 600 and the process of storing the third message information including the calling number and the called number are separately executed in a separate thread. As mentioned, the process of transmitting the first message information to the sending module 400 is also performed separately.

본 발명의 일 실시예에 따르면, 상기 데이터베이스(600)는 상기 제 2 메시지 정보와 상기 제 3 메시지 정보를 메시지 발송 요청에 고유한 키 값과 매칭시켜 저장할 수 있다.According to an embodiment of the present invention, the database 600 may match and store the second message information and the third message information with a key value unique to a message sending request.

다시 말해, 이 실시예에 따르면, 클라이언트로부터 수신되는 메시지 발송 요청은 하나의 메시지 발송 요청마다 키 값이 고유하게 부여되며, 상기 데이터베이스(600)는 상기 메시지 저장 쓰레드부(550)와 상기 메시지 쓰레드부(530)로부터 각각 제 2 메시지 정보와 제 3 메시지 정보를 독립적으로 전달받아 저장하는 과정에서 해당 메시지 발송 요청에 고유하게 부여된 키 값에 매칭시킴으로써 상기 제 2 및 제 3 메시지 정보를 서로 연관시켜 저장할 수 있다.In other words, according to this embodiment, a message sending request received from a client is uniquely assigned a key value for each message sending request, and the database 600 includes the message storage thread unit 550 and the message thread unit. In the process of independently receiving and storing the second message information and the third message information from 530, the second and third message information are stored in association with each other by matching the key value uniquely assigned to the message sending request. I can.

본 발명의 일 실시예에 따르면, 상기 메시지 쓰레드부(530)는 상기 발송 모듈(400)로 제 1 메시지 정보를 전달하는 제 1 작업, 상기 제 2 메시지 큐(540)로 제 2 메시지 정보를 전달하는 제 2 작업 및 상기 데이터베이스(600)로 제 3 메시지 정보를 전달하는 제 3 작업을 서로 독립적으로 실행할 수 있다.According to an embodiment of the present invention, the message threading unit 530 is a first task of delivering the first message information to the sending module 400, and the second message information is delivered to the second message queue 540. The second task to perform and the third task of transmitting third message information to the database 600 may be independently executed.

뿐만 아니라, 상기 메시지 쓰레드부(530)는 상기 제 1 메시지 큐(520)로부터 전달받은 개별 메시지 데이터마다 상기 제 3 작업을 먼저 실행하여 발신번호와 수신번호를 상기 데이터베이스(600)에 저장시킨 뒤, 상기 제 1 작업을 실행하여 상기 발송 모듈(400)에 메시지 발송에 필요한 발신번호, 수신번호 및 메시지 내용을 전달하고, 그러고 나서 상기 제 2 작업을 실행하여 상기 제 2 메시지 큐(540) 및 상기 메시지 저장 쓰레드부(550)를 통해 메시지 내용을 상기 데이터베이스(600)에 저장시킬 수 있다.In addition, the message thread unit 530 first executes the third task for each individual message data received from the first message queue 520 and stores the calling number and the receiving number in the database 600, Execute the first task to deliver the sender number, recipient number, and message content required for message transmission to the sending module 400, and then execute the second task to perform the second message queue 540 and the message. Message contents may be stored in the database 600 through the storage thread unit 550.

나아가, 본 발명의 일 실시예에 따르면, 상기 교환 모듈(500)에서 상기 제 2 메시지 큐(540)로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스(600)에 저장하는 작업에 할당된 상기 메시지 저장 쓰레드부(550)의 개수는, 상기 제 1 메시지 큐(520)로부터 메시지 데이터를 전달받아 메시지에 관한 정보를 추출하고 상기 발송 모듈(400)로 전달하는 작업에 할당된 상기 메시지 쓰레드부(530)의 개수보다 적게 설정될 수 있다.Further, according to an embodiment of the present invention, the message storage thread allocated to a task of receiving information about a message from the second message queue 540 in the exchange module 500 and storing it in the database 600 The number of units 550 is the number of the message thread unit 530 allocated to a task of receiving message data from the first message queue 520, extracting information about a message, and delivering it to the sending module 400. It can be set less than the number.

이와 같이 본 발명의 실시예에 따르면 클라이언트로부터 전달받은 메시지를 발송하기 위한 처리와 메시지에 관한 정보를 상기 데이터베이스(600)에 저장하기 위한 처리를 구분하여 실행하되, 처리순서 및 리소스 할당량에 있어서 메시지 발송에 관한 처리를 데이터베이스 저장에 관한 처리에 우선하여 수행함으로써, 대량의 메시지를 동시에 발송하더라도 병목현상 및 지연을 최소화하여 신속하고 원활하게 메시지를 발송할 수 있다.As described above, according to an embodiment of the present invention, a process for sending a message received from a client and a process for storing information about a message in the database 600 are separately executed, but the message is sent in the processing order and resource allocation. By prioritizing processing related to database storage, it is possible to send messages quickly and smoothly by minimizing bottlenecks and delays even when sending a large number of messages simultaneously.

다시 도 8을 참조하면, 상기 발송 모듈(400)은 제 3 메시지 큐(440) 및 발송부(450)를 포함할 수 있다.Referring back to FIG. 8, the sending module 400 may include a third message queue 440 and a sending unit 450.

상기 제 3 메시지 큐(440)는 상기 교환 모듈(500)의 상기 메시지 쓰레드부(530)로부터 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 전달받아 저장할 수 있다. 본 발명의 일 실시예에 따르면, 상기 제 3 메시지 큐(440) 역시 FIFO 방식으로 동작하여 먼저 입력된 제 1 메시지 정보가 먼저 출력되어 처리되도록 구성될 수 있다.The third message queue 440 may receive and store first message information including a source number, a destination number, and message content from the message thread unit 530 of the exchange module 500. According to an embodiment of the present invention, the third message queue 440 may also be configured to operate in a FIFO manner so that the first message information input first is first output and processed.

도 10은 도 8의 실시예에 따른 메시지 발송 시스템을 구성하는 발송 모듈(400)의 구성을 설명하기 위한 블록도이다. 도 10을 참조하면, 상기 발송부(450)는 제 3 메시지 큐 메시지 수신부(451) 및 메시지 발송부(452)를 포함할 수 있다.10 is a block diagram for explaining the configuration of the sending module 400 constituting the message sending system according to the embodiment of FIG. 8. Referring to FIG. 10, the sending unit 450 may include a third message queue message receiving unit 451 and a message sending unit 452.

상기 제 3 메시지 큐 메시지 수신부(451)는 상기 제 3 메시지 큐(440)로부터 제 1 메시지 정보를 불러올 수 있다. 그리고, 상기 메시지 발송부(452)는 상기 제 3 메시지 큐(440)로부터 불러온 제 1 메시지 정보를 통신사(3)로 전달하여 사용자로 메시지를 발송하도록 처리할 수 있다.The third message queue message receiving unit 451 may retrieve first message information from the third message queue 440. In addition, the message sending unit 452 may transmit the first message information retrieved from the third message queue 440 to the communication service provider 3 to send a message to a user.

도 11은 도 8의 실시예에 따른 메시지 발송 시스템이 클라이언트로부터 메시지 발송 요청을 수신하여 사용자에게 메시지를 발송하는 과정을 설명하기 위한 흐름도이다.11 is a flowchart illustrating a process in which the message sending system according to the embodiment of FIG. 8 receives a message sending request from a client and sends a message to a user.

도 11을 참조하면, 상기 교환 모듈(500)이 클라이언트로부터 메시지 발송 요청을 수신하는 단계(S11), 상기 교환 모듈(500)이 메시지 발송 요청에 포함된 메시지 데이터를 제 1 메시지 큐(520)에 저장하는 단계(S12), 상기 교환 모듈(500)이 상기 제 1 메시지 큐(520)로부터 메시지 데이터를 불러와 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈(400)로 전달하는 단계(S15), 상기 발송 모듈(400)이 상기 전달받은 메시지에 관한 정보를 상기 제 3 메시지 큐(440)에 저장하는 단계(S21), 상기 발송 모듈(400)이 상기 교환 모듈(500)로부터 전달받은 메시지에 관한 정보를 통신사로 전달하는 단계(S22), 상기 교환 모듈(500)이 상기 추출된 메시지에 관한 정보를 제 2 메시지 큐(540)에 저장하는 단계(S16), 및 상기 교환 모듈(500)이 상기 제 2 메시지 큐(540)로부터 메시지에 관한 정보를 불러와 상기 데이터베이스(600)에 저장하는 단계(S17)를 포함할 수 있다.Referring to FIG. 11, the step of receiving, by the exchange module 500, a message sending request from a client (S11), and the message data included in the message sending request by the exchange module 500 to a first message queue 520 Storing (S12), the exchange module 500 fetching message data from the first message queue 520, extracting information about the message from the message data, and transmitting it to the sending module 400 ( S15), the sending module 400 storing information on the received message in the third message queue 440 (S21), the sending module 400 received from the exchange module 500 Delivering information about a message to a communication service provider (S22), storing information about the extracted message by the exchange module 500 in a second message queue 540 (S16), and the exchange module 500 ) May include a step (S17) of fetching information about the message from the second message queue 540 and storing it in the database 600.

본 발명의 일 실시예에 따르면, 메시지 발송 방법은 상기 메시지 쓰레드부(530)가 상기 제 1 메시지 큐(520)로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하는 단계(S13)를 포함할 수 있다. 상기 메시지에 관한 정보를 추출하는 단계(S13)는 메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출하는 단계를 포함할 수 있다.According to an embodiment of the present invention, in the message sending method, the message threading unit 530 receives message data from the first message queue 520 and extracts message information from the message data (S13). It may include. The step of extracting information about the message (S13) may include extracting a calling number of a sender, a recipient number of a recipient of the message, and message contents constituting the message from the message data.

상기 메시지에 관한 정보를 상기 발송 모듈(400)로 전달하는 단계(S15)는 상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈(400)로 전달하는 단계를 포함할 수 있다.The step (S15) of transmitting the information about the message to the sending module 400 includes the step of transferring first message information including the extracted source number, recipient number, and message content to the sending module 400. Can include.

상기 추출된 메시지에 관한 정보를 제 2 메시지 큐(540)에 저장하는 단계(S16)는 상기 메시지 쓰레드부(530)가 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐(540)로 전달하는 단계, 및 상기 메시지 저장 쓰레드부(550)가 상기 제 2 메시지 큐(540)로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스(600)에 저장하는 단계를 포함할 수 있다.In the step (S16) of storing information about the extracted message in the second message queue 540, the message threading unit 530 stores second message information including message content extracted from the message data. Transferring to the queue 540, and storing, by the message storage thread unit 550, the second message information received from the second message queue 540 in the database 600.

본 발명의 일 실시예에 따르면, 상기 메시지 발송 방법은 상기 메시지 쓰레드부(530)가 메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스(600)에 저장하는 단계(S14)를 더 포함할 수 있다.According to an embodiment of the present invention, the message sending method includes, by the message threading unit 530, storing third message information including a source number and a destination number extracted from the message data in the database 600 ( S14) may be further included.

나아가, 상기 제 3 메시지 정보를 상기 데이터베이스(600)에 저장하는 단계(S14), 상기 제 1 메시지 정보를 상기 발송 모듈(400)로 전달하는 단계(S15) 및 상기 제 2 메시지 정보를 상기 제 2 메시지 큐(540)에 저장하는 단계(S16)는 상기 메시지 쓰레드부(530)에 의해 서로 독립적으로 실행될 수 있다.Further, storing the third message information in the database 600 (S14), transferring the first message information to the sending module 400 (S15), and transferring the second message information to the second The storing of the message in the message queue 540 (S16) may be performed independently of each other by the message thread unit 530.

더 나아가, 상기 메시지 쓰레드부(530)는 상기 제 1 메시지 큐(520)로부터 전달받은 개별 메시지 데이터마다 상기 제 3 메시지 정보를 상기 데이터베이스(600)에 저장하는 단계(S14)를 먼저 실행한 뒤, 상기 제 1 메시지 정보를 상기 발송 모듈(400)로 전달하는 단계(S15)를 실행하고, 그러고 나서 상기 제 2 메시지 정보를 상기 제 2 메시지 큐(540)에 저장하는 단계(S16)를 실행할 수 있다.Further, the message threading unit 530 first executes the step (S14) of storing the third message information in the database 600 for each individual message data received from the first message queue 520, The step of transferring the first message information to the sending module 400 (S15) may be executed, and then the step of storing the second message information in the second message queue 540 (S16) may be performed. .

전술한 본 발명의 실시예에 따른 메시지 발송 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 상기 메시지 발송 방법은 컴퓨터와 결합되어 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The message sending method according to the embodiment of the present invention described above may be produced as a program for execution in a computer and stored in a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, and optical data storage devices. In addition, the message sending method may be implemented as a computer program stored in a medium for execution by being combined with a computer.

이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 청구범위의 해석을 통해서만 정해진다.In the above, the present invention has been described through the embodiments, but the above embodiments are merely for explaining the spirit of the present invention and are not limited thereto. One of ordinary skill in the art will understand that various modifications may be made to the above-described embodiments. The scope of the invention is determined only through interpretation of the appended claims.

10: 메시지 발송 시스템
20: 클라이언트
30: 웹 에이전트 모듈
40: 게이트웨이
50: 사용자
100: 임시 발송 메시지 DB
200: 이동 모듈
210: 임시 발송 DB 연동부
211: 제1 메시지 데이터 변경부
212: 제1 메시지 데이터 추출부
220: 제1 발송그룹 처리부
221: 제1 프로세스 관리부
222: 제1 처리부
230: 제1 실 발송 DB 연동부
300: 실 발송 메시지 DB
400: 발송 모듈
410: 제2 실 발송 DB 연동부
411: 제2 메시지 데이터 변경부
412: 제2 메시지 데이터 추출부
420: 제2 발송그룹 처리부
421: 제2 프로세스 관리부
422: 제2 처리부
430: 메시지 전송부
431: 웹 에이전트 연동부
432: 메시지 데이터 전송부
10: message sending system
20: client
30: web agent module
40: gateway
50: user
100: temporary sending message DB
200: move module
210: Temporary sending DB linkage unit
211: first message data change unit
212: first message data extraction unit
220: first sending group processing unit
221: first process management unit
222: first processing unit
230: First thread delivery DB linkage unit
300: actual sending message DB
400: sending module
410: second thread sending DB linkage unit
411: second message data change unit
412: second message data extraction unit
420: second dispatch group processing unit
421: second process management unit
422: second processing unit
430: message transmission unit
431: web agent interface
432: message data transmission unit

Claims (15)

메시지에 관한 정보를 저장하는 데이터베이스;
상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하는 교환 모듈;
클라이언트에 의해 메시지 전송이 요청된 메시지를 저장하도록 구성되는 실 발송 메시지 데이터베이스; 및
상기 실 발송 메시지 데이터베이스로부터 메시지를 추출하고, 추출한 메시지를 발송하기 위해 메시지에 관한 정보를 웹 에이전트 모듈로 전달하도록 구성되는 발송 모듈을 포함하고,
상기 발송 모듈은,
상기 실 발송 메시지 데이터베이스에서 처리 가능한 메시지를 발송 가능한 상태로 업데이트하고;
상기 처리 가능한 메시지에 대해 복수개의 발송 그룹 별로 각각 처리 프로세스를 생성하고;
상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성되고,
상기 교환 모듈은,
상기 클라이언트로부터 메시지 발송 요청을 수신하는 수신부;
상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 제 1 메시지 큐;
상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 메시지 쓰레드부;
상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 제 2 메시지 큐; 및
상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 메시지 저장 쓰레드부를 포함하고,
상기 메시지 쓰레드부는,
메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출하고; 그리고
상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈로 전달하고,
상기 메시지 쓰레드부는 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐로 전달하고,
상기 메시지 저장 쓰레드부는 상기 제 2 메시지 큐로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스에 저장하고,
상기 메시지 쓰레드부는 메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스에 저장하고,
상기 메시지 쓰레드부는 상기 발송 모듈로 제 1 메시지 정보를 전달하는 제 1 작업, 상기 제 2 메시지 큐로 제 2 메시지 정보를 전달하는 제 2 작업 및 상기 데이터베이스로 제 3 메시지 정보를 전달하는 제 3 작업을 서로 독립적으로 실행하는, 메시지 발송 시스템.
A database for storing information about the message;
An exchange module that performs pre-processing for message transmission by using a message queue before storing information about the message in the database;
An actual sent message database configured to store a message for which message transmission is requested by a client; And
And a sending module configured to extract a message from the actual sending message database and transmit information about the message to a web agent module in order to send the extracted message,
The sending module,
Updating a message that can be processed in the actual transmission message database to a state in which it can be sent;
Generating a processing process for each of the plurality of sending groups for the message that can be processed;
It is configured to perform message processing for the plurality of sending groups in parallel,
The exchange module,
A receiving unit for receiving a message transmission request from the client;
A first message queue for receiving and storing message data included in the message transmission request from the receiver;
A message threading unit that receives message data from the first message queue, extracts information about a message from the message data, and delivers it to the sending module;
A second message queue for receiving and storing information on the extracted message from the message thread unit; And
A message storage thread unit receiving information about a message from the second message queue and storing it in the database,
The message thread unit,
Extracting a source number of a sender who sends a message, a recipient number of a recipient who receives the message, and message contents constituting the message from the message data; And
Transferring first message information including the extracted source number, destination number, and message content to the sending module,
The message thread unit transfers second message information including message content extracted from message data to the second message queue,
The message storage thread unit stores second message information received from the second message queue in the database,
The message thread unit stores third message information including a source number and a destination number extracted from the message data in the database,
The message thread unit performs a first job of delivering first message information to the sending module, a second job of delivering second message information to the second message queue, and a third job of delivering third message information to the database. A standalone, messaging system.
청구항 1에 있어서,
상기 클라이언트에 의해 작성된 메시지를 발송 대기 상태로 저장하도록 구성되는 임시 발송 메시지 데이터베이스; 및
상기 클라이언트에 의해 발송 요청된 메시지를 상기 임시 발송 메시지 데이터베이스로부터 추출하여 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 이동 모듈을 더 포함하는, 메시지 발송 시스템.
The method according to claim 1,
A temporary sending message database, configured to store the message created by the client in a sending standby state; And
And a moving module, configured to extract the message requested to be sent by the client from the temporary sending message database and store it in the actual sending message database.
청구항 2에 있어서,
상기 이동 모듈은,
상기 임시 발송 메시지 데이터베이스에 접근하여 메시지 데이터의 상태 값을 변경하거나 대기 중인 메시지 데이터를 추출하도록 구성되는 임시 발송 DB 연동부;
복수개의 임시 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하고, 상기 임시 발송 메시지 데이터베이스로부터 추출된 메시지를 처리 가능 상태로 변경하여 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 제1 발송그룹 처리부; 및
상기 제1 발송그룹 처리부에 의해 처리된 메시지를 상기 실 발송 메시지 데이터베이스에 저장하도록 구성되는 제1 실 발송 DB 연동부를 포함하는, 메시지 발송 시스템.
The method according to claim 2,
The moving module,
A temporary sending DB linking unit configured to access the temporary sending message database to change a status value of message data or extract pending message data;
A first sending group processing unit configured to perform message processing for a plurality of temporary sending groups in parallel, changing a message extracted from the temporary sending message database into a processable state, and storing it in the actual sending message database; And
A message sending system comprising a first real sending DB linking unit, configured to store a message processed by the first sending group processing unit in the real sending message database.
청구항 3에 있어서,
상기 제1 발송그룹 처리부는,
상기 임시 발송 메시지 데이터베이스에서 현재 동작하고 있지 않은 유휴 상태의 프로세스를 확인하고, 대기 상태인 메시지를 유휴 상태의 프로세스별로 처리 가능 상태로 변경하도록 구성되는 제1 프로세스 관리부; 및
상기 임시 발송 메시지 데이터베이스에서 처리 가능한 메시지를 상기 실 발송 메시지 데이터베이스에 저장한 후, 상기 임시 발송 메시지 데이터베이스에서 발송 대기 상태의 메시지 정보를 삭제하도록, 상기 임시 발송 DB 연동부를 제어하는 다수의 제1 처리부를 포함하고,
상기 다수의 제1 처리부는 상기 복수개의 임시 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성되는, 메시지 발송 시스템.
The method of claim 3,
The first sending group processing unit,
A first process management unit configured to check an idle process that is not currently operating in the temporary sending message database, and change the waiting status message to a processable status for each idle process; And
A plurality of first processing units controlling the temporary sending DB linking unit to store messages that can be processed in the temporary sending message database in the actual sending message database, and then deleting message information in a status of waiting for sending from the temporary sending message database. Including,
And the plurality of first processing units are configured to perform message processing for the plurality of temporary dispatch groups in parallel.
청구항 4에 있어서,
상기 발송 모듈은,
상기 실 발송 메시지 데이터베이스에 접근 가능하고, 상기 실 발송 메시지 데이터베이스의 메시지 데이터 상태 값을 변경하거나 대기중인 메시지 데이터를 추출한 후 삭제하도록 구성되는 제2 실 발송 DB 연동부;
복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하고, 상기 실 발송 메시지 데이터베이스의 대기 중인 메시지 상태 값을 유휴 상태인 프로세스 별로 최종 발송 가능한 상태로 변경하도록 구성되는 제2 발송그룹 처리부; 및
상기 제2 발송그룹 처리부에 의해 처리된 메시지를 상기 웹 에이전트 모듈로 전송하도록 구성되는 메시지 전송부를 포함하는, 메시지 발송 시스템.
The method of claim 4,
The sending module,
A second real sending DB interworking unit configured to access the real sending message database and configured to change a message data state value of the real send message database or extract and delete pending message data;
A second dispatch group processing unit configured to perform message processing for a plurality of dispatch groups in parallel, and to change a pending message state value of the actual dispatch message database to a final dispatchable state for each idle state; And
And a message transmission unit configured to transmit a message processed by the second transmission group processing unit to the web agent module.
청구항 5에 있어서,
상기 제2 발송그룹 처리부는,
현재 동작하지 않고 있는 유휴 상태의 프로세스를 감시하고, 상기 실 발송 메시지 데이터베이스의 대기 중인 메시지 상태 값을 유휴 상태인 프로세스별로 처리 가능하도록 변경하는 제2 프로세스 관리부; 및
상기 실 발송 메시지 데이터베이스의 메시지 데이터 중 처리 가능한 데이터를 최종 발송 가능한 상태로 변경하고, 상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하도록 구성되는 다수의 제2 처리부를 포함하는, 메시지 발송 시스템.
The method of claim 5,
The second sending group processing unit,
A second process management unit that monitors an idle process that is not currently operating, and changes a pending message status value of the actual sending message database to be processed for each idle process; And
A message sending system comprising a plurality of second processing units configured to change processable data among the message data of the actual sending message database to a final sendable state, and to perform message processing for the plurality of sending groups in parallel .
청구항 1에 있어서,
상기 발송 모듈은 상기 교환 모듈에서 처리되어 전달받은 메시지를 발송하기 위해 메시지에 관한 정보를 통신사로 전달하는, 메시지 발송 시스템.
The method according to claim 1,
The sending module transfers information about a message to a communication company in order to send a message processed and delivered by the exchange module.
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 데이터베이스는:
상기 제 2 및 제 3 메시지 정보를 상기 메시지 발송 요청에 고유한 키 값과 매칭시켜 저장하는, 메시지 발송 시스템.
The method according to claim 1,
The database is:
A message sending system for matching and storing the second and third message information with a key value unique to the message sending request.
청구항 1에 있어서,
상기 메시지 쓰레드부는,
상기 제 1 메시지 큐로부터 전달받은 개별 메시지 데이터마다 상기 제 3 작업을 먼저 실행한 뒤, 상기 제 1 작업을 실행하고, 그러고 나서 상기 제 2 작업을 실행하는, 메시지 발송 시스템.
The method according to claim 1,
The message thread unit,
For each individual message data received from the first message queue, the third task is first executed, the first task is executed, and then the second task is executed.
교환 모듈의 수신부에 의해, 클라이언트로부터 메시지 발송 요청을 수신하는 단계;
상기 교환 모듈에 의해, 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하는 단계;
메시지에 관한 정보를 상기 데이터베이스에 저장하는 단계;
발송 모듈에 의해, 클라이언트에 의해 메시지 전송이 요청된 메시지를 저장하는 실 발송 메시지 데이터베이스로부터 메시지를 추출하는 단계; 및
상기 발송 모듈에 의해, 상기 실 발송 메시지 데이터베이스로부터 추출한 메시지에 관한 정보를 웹 에이전트 모듈로 전달하는 단계를 포함하고,
상기 메시지를 추출하는 단계는,
상기 실 발송 메시지 데이터베이스에서 처리 가능한 메시지를 발송 가능한 상태로 업데이트하는 단계;
상기 처리 가능한 메시지에 대해 복수개의 발송 그룹에 대해 각각 처리 프로세스를 생성하는 단계; 및
상기 복수개의 발송 그룹에 대한 메시지 처리를 병렬적으로 수행하는 단계를 포함하고,
상기 사전 처리를 실행하는 단계는:
상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 상기 교환 모듈의 제 1 메시지 큐에 저장하는 단계;
상기 교환 모듈의 메시지 쓰레드부에 의해, 상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 단계; 및
상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 상기 교환 모듈의 제 2 메시지 큐에 저장하는 단계를 포함하고,
상기 메시지에 관한 정보를 상기 데이터베이스에 저장하는 단계는:
상기 교환 모듈의 메시지 저장 쓰레드부에 의해, 상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 단계를 포함하고,
상기 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 단계는:
상기 메시지 쓰레드부에 의해, 메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출하는 단계; 및
상기 메시지 쓰레드부에 의해, 상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈로 전달하는 단계를 포함하고,
상기 교환 모듈의 제 2 메시지 큐에 저장하는 단계는:
상기 메시지 쓰레드부에 의해, 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐로 전달하는 단계를 포함하고,
상기 메시지에 관한 정보를 상기 데이터베이스에 저장하는 단계는:
상기 메시지 저장 쓰레드부에 의해, 상기 제 2 메시지 큐로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스에 저장하는 단계; 및
상기 메시지 쓰레드부에 의해, 메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스에 저장하는 단계를 포함하고,
상기 발송 모듈로 상기 제 1 메시지 정보를 전달하는 제 1 작업, 상기 제 2 메시지 큐로 상기 제 2 메시지 정보를 전달하는 제 2 작업 및 상기 데이터베이스로 상기 제 3 메시지 정보를 전달하는 제 3 작업을 서로 독립적으로 실행하는, 메시지 발송 방법.
Receiving a message sending request from a client by a receiving unit of the exchange module;
Performing, by the exchange module, pre-processing for message transmission using a message queue before storing information on the message in a database;
Storing information about the message in the database;
Extracting, by the sending module, a message from an actual sending message database storing a message for which message transmission is requested by a client; And
And transmitting, by the sending module, information about the message extracted from the actual sending message database to a web agent module,
The step of extracting the message,
Updating a message that can be processed in the actual transmission message database to a state in which it can be sent;
Generating a processing process for each of a plurality of dispatch groups for the message that can be processed; And
Including the step of performing message processing for the plurality of sending groups in parallel,
The step of executing the pre-processing is:
Receiving message data included in the message transmission request from the receiving unit and storing it in a first message queue of the exchange module;
Receiving, by the message threading unit of the exchange module, message data from the first message queue, extracting information about the message from the message data, and transmitting it to the sending module; And
Receiving information on the extracted message from the message thread unit and storing it in a second message queue of the exchange module,
Storing information about the message in the database comprises:
Receiving, by the message storage thread unit of the exchange module, information about the message from the second message queue and storing it in the database,
The step of extracting information about the message and transferring it to the sending module includes:
Extracting, by the message threading unit, a calling number of a sender sending a message from the message data, a receiving number of a recipient who receives the message, and message contents constituting the message; And
And transmitting, by the message threading unit, first message information including the extracted source number, destination number, and message content to the sending module,
Storing in the second message queue of the exchange module includes:
Transmitting, by the message threading unit, second message information including message content extracted from message data to the second message queue,
Storing information about the message in the database comprises:
Storing the second message information received from the second message queue in the database by the message storage thread unit; And
And storing, by the message threading unit, third message information including a source number and a destination number extracted from the message data in the database,
A first task of delivering the first message information to the sending module, a second task of delivering the second message information to the second message queue, and a third task of delivering the third message information to the database are independent of each other. How to send a message.
청구항 13에 있어서,
상기 클라이언트에 의해 작성된 메시지를 발송 대기 상태로 임시 발송 메시지 데이터베이스에 저장하는 단계; 및
상기 클라이언트에 의해 발송 요청된 메시지를 상기 임시 발송 메시지 데이터베이스로부터 추출하여 상기 실 발송 메시지 데이터베이스에 저장하는 단계를 더 포함하는, 메시지 발송 방법.
The method of claim 13,
Storing the message created by the client in a temporary transmission message database in a state of waiting for transmission; And
And extracting the message requested to be sent by the client from the temporary sending message database and storing it in the actual sending message database.
컴퓨터로 읽을 수 있는 기록 매체에 있어서,
청구항 13 또는 청구항 14에 따른 메시지 발송 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
In a computer-readable recording medium,
A recording medium in which a program for executing the message sending method according to claim 13 or 14 by a computer is recorded.
KR1020200015367A 2020-02-10 2020-02-10 System and method for transmitting message capable of parallel processing per transmission group Active KR102184004B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200015367A KR102184004B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of parallel processing per transmission group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200015367A KR102184004B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of parallel processing per transmission group

Publications (1)

Publication Number Publication Date
KR102184004B1 true KR102184004B1 (en) 2020-11-27

Family

ID=73641627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200015367A Active KR102184004B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of parallel processing per transmission group

Country Status (1)

Country Link
KR (1) KR102184004B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331956A (en) * 1998-02-17 1999-11-30 Alcatel Usa Sourcing Lp Short message service center
KR20070000752A (en) * 2005-06-28 2007-01-03 에스케이 텔레콤주식회사 How to prevent the loss of short messages at mobile switching centers
KR20110079235A (en) * 2009-12-31 2011-07-07 주식회사 네이블커뮤니케이션즈 Group Message Service Method
KR20160010232A (en) * 2014-07-19 2016-01-27 김학권 message transmission method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331956A (en) * 1998-02-17 1999-11-30 Alcatel Usa Sourcing Lp Short message service center
US6263212B1 (en) * 1998-02-17 2001-07-17 Alcatel Usa Sourcing, L.P. Short message service center
JP4463894B2 (en) * 1998-02-17 2010-05-19 アルカテル ユーエスエー ソーシング リミティド パートナーシップ Short message service center
KR20070000752A (en) * 2005-06-28 2007-01-03 에스케이 텔레콤주식회사 How to prevent the loss of short messages at mobile switching centers
KR20110079235A (en) * 2009-12-31 2011-07-07 주식회사 네이블커뮤니케이션즈 Group Message Service Method
KR20160010232A (en) * 2014-07-19 2016-01-27 김학권 message transmission method

Similar Documents

Publication Publication Date Title
US7895231B2 (en) Queuing model for a plurality of servers
KR100383381B1 (en) A Method and Apparatus for Client Managed Flow Control on a Limited Memory Computer System
CN102369688B (en) Method for adjusting resources dynamically and scheduling device
US8146095B2 (en) Method, apparatus and computer program product for managing persistence in a messaging network
US6658485B1 (en) Dynamic priority-based scheduling in a message queuing system
US7065541B2 (en) Database migration
US8635368B2 (en) Methods, apparatus and computer programs for data communication efficiency
US8190743B2 (en) Most eligible server in a common work queue environment
EP0950952A2 (en) Server workload management in an asynchronous client/server computing system
US10013293B2 (en) Queueing messages related by affinity set
CN113177179B (en) Data request connection management method, device, equipment and storage medium
US9462077B2 (en) System, method, and circuit for servicing a client data service request
CN113765871B (en) Method and device for managing fort machine
KR102156298B1 (en) System and method for transmitting message utilizing message queue and database post processing
US20020111986A1 (en) Integration of messaging functions and database operations
US9432445B1 (en) System and method of maintaining an enqueue rate of data messages into a set of queues
KR102184004B1 (en) System and method for transmitting message capable of parallel processing per transmission group
CN110457380A (en) A kind of data-storage system
US20240320056A1 (en) Dynamic computing platform for real-time data container generation, authorization, and throttling management
US20240323122A1 (en) Dynamic computing platform for real-time data container generation, authorization, and throttling management
JP6202650B1 (en) Communication system and communication method
US10523588B2 (en) Technique for processing messages in a message-based communication scenario
CN108536854A (en) The method, apparatus and computer readable storage medium of data interaction
US6795535B1 (en) Using concurrently operating routines in telephony applications
KR102134552B1 (en) System and method for transmitting message capable of seperate accounting

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200210

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20200210

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200421

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20201016

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20201123

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20201123

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20231120

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20241119

Start annual number: 5

End annual number: 5