KR102134552B1 - System and method for transmitting message capable of seperate accounting - Google Patents

System and method for transmitting message capable of seperate accounting Download PDF

Info

Publication number
KR102134552B1
KR102134552B1 KR1020200015364A KR20200015364A KR102134552B1 KR 102134552 B1 KR102134552 B1 KR 102134552B1 KR 1020200015364 A KR1020200015364 A KR 1020200015364A KR 20200015364 A KR20200015364 A KR 20200015364A KR 102134552 B1 KR102134552 B1 KR 102134552B1
Authority
KR
South Korea
Prior art keywords
message
data
sending
information
unit
Prior art date
Application number
KR1020200015364A
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 KR1020200015364A priority Critical patent/KR102134552B1/en
Application granted granted Critical
Publication of KR102134552B1 publication Critical patent/KR102134552B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1453Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network
    • H04L12/1471Methods or systems for payment or settlement of the charges for data transmission involving significant interaction with the data transmission network splitting of costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing

Abstract

Disclosed are a message sending system, a method, and a recording medium which are capable of separately charging a message capable of obtaining separate charging data for each user group belonging to an agent without generating individual agent module information for a plurality of clients belonging to the same agent. According to an embodiment of the present invention, the message sending system capable of separate charging comprises: a database including a message table and a separate charging table; an exchange module configured to receive a message including a separate charging ID and store the message in the message table; a sending module configured to receive the message from the exchange module and transmit the message to a communication company; and a separate charging module configured to extract message data including the separate charging ID from the message table and store the message data in the separate charging table.

Description

분리 과금 가능한 메시지 발송 시스템 및 방법{SYSTEM AND METHOD FOR TRANSMITTING MESSAGE CAPABLE OF SEPERATE ACCOUNTING}System and method for sending message that can be separated and billed{SYSTEM AND METHOD FOR TRANSMITTING MESSAGE CAPABLE OF SEPERATE ACCOUNTING}

본 발명은 메시지 발송 시스템 및 메시지 발송 방법에 관한 것으로, 보다 상세하게는 에이전트에 소속된 다수의 클라이언트에 대해 에이전트의 사용자 그룹 별로 분리 과금 데이터를 생성할 수 있는 분리 과금이 가능한 메시지 발송 시스템 및 방법에 관한 것이다.The present invention relates to a message sending system and a message sending method, and more specifically, to a message sending system and method capable of separating billing that can generate segregated billing data for each group of users of the agent for a plurality of clients belonging to the agent. It is about.

이동통신사의 무선 통신망을 이용하여 기업 고객이 거래하는 사용자의 휴대전화로 문자메시지를 전송하는 기업메시징 서비스가 제공되고 있다. 이러한 기업메시징 서비스는 기업 고객에 속하는 사용자 그룹(예를 들어, 부서) 별로 메시지 발송 건수를 세분화하여 집계할 수 없어, 각 사용자 그룹 별로 메시지 발송 서비스 이용에 관한 현황을 파악하기 어렵다. 사용자 그룹 별 메시지 발송 건수 현황 파악을 위해서는 각 사용자 그룹 별로 에이전트 모듈 정보를 생성해야 하는데, 이 경우 동일한 기업 고객임에도 다수개의 회원 ID를 생성하여 개별 에이전트(Agent) 모듈 정보를 생성해야 하므로, 관리상의 어려움이 따르게 되고 비효율적인 관리 포인트가 발생하는 등 메시지 발송 서비스 이용을 위한 비용이 증가되는 문제가 발생할 수 있다. 다른 한편으로, 기업메시징 서비스는 기업 고객의 사용자들에게 광고메시지를 비롯해 정보 제공을 위한 메시지 또는 인증을 위한 메시지 등을 대량으로 발송할 필요가 있다. 이와 같이 메시지가 동시에 대량으로 발송되는 경우, 기업메시징 서비스를 제공하는 서버에서 병목 현상이 발생하여 메시지 발송이 지연되는 경우가 빈번하게 발생할 수 있다.A corporate messaging service has been provided to transmit text messages to a mobile phone of a user that a business customer trades using a wireless communication network of a mobile communication company. These corporate messaging services cannot be aggregated by subdividing the number of message transmissions for each user group (for example, department) belonging to a corporate customer, making it difficult to grasp the current status of message transmission service usage for each user group. Agent module information must be generated for each user group in order to understand the number of messages sent per user group. In this case, it is difficult to manage since multiple member IDs must be generated to generate individual agent module information even though they are the same corporate customer. This may lead to an increase in the cost of using the message sending service, such as inefficient management points. On the other hand, the corporate messaging service needs to send a large number of advertisement messages, messages for providing information or messages for authentication, to users of corporate customers. As such, when a large number of messages are simultaneously sent, a bottleneck may occur in a server providing a corporate messaging service, and message transmission may be delayed frequently.

본 발명은 같은 에이전트에 소속된 다수의 클라이언트에 대하여 개별 에이전트(Agent) 모듈 정보를 생성하지 않고도, 에이전트에 속하는 사용자 그룹 별로 분리 과금 데이터를 얻을 수 있는 분리 과금 가능한 메시지 발송 시스템 및 방법, 기록 매체를 제공하기 위한 것이다.The present invention provides a separate billable message sending system and method, recording medium capable of obtaining separate billing data for each user group belonging to the agent, without generating individual agent module information for multiple clients belonging to the same agent. It is to provide.

또한, 본 발명은 클라이언트로부터 대량의 메시지 발송 요청을 수신하여도 병목 현상을 방지하여 메시지 발송 지연을 최소화함으로써 메시지를 빠르게 발송할 수 있는 메시지 발송 시스템 및 방법, 기록 매체를 제공하기 위한 것이다.In addition, the present invention is to provide a message sending system and method, a recording medium capable of quickly sending a message by minimizing a delay in sending a message by preventing a bottleneck even when a large number of message sending requests are received from a client.

본 발명의 실시예에 따른 분리 과금 가능한 메시지 발송 시스템은, 메시지 테이블과 분리과금 테이블을 포함하는 데이터베이스; 분리과금 아이디가 포함된 메시지를 전송받고, 상기 메시지를 상기 메시지 테이블에 저장하도록 구성되는 교환 모듈; 상기 교환 모듈로부터 상기 메시지를 수신하여 통신사로 전송하도록 구성되는 발송 모듈; 및 상기 메시지 테이블로부터 분리과금 아이디를 포함하는 메시지 데이터를 추출하여 상기 분리과금 테이블에 저장하도록 구성되는 분리과금 모듈을 포함한다.A separate billable message sending system according to an embodiment of the present invention includes a database including a message table and a separate billing table; An exchange module configured to receive a message including a separate charging ID and store the message in the message table; A sending module, configured to receive the message from the exchange module and transmit it to a communication company; And a separate billing module configured to extract message data including a separate billing ID from the message table and store it in the separate billing table.

상기 분리과금 모듈은, 주기적으로 상기 메시지 테이블을 감시하여 메시지 전송 성공되고 분리과금 데이터가 생성되지 않은 메시지 데이터를 확인하도록 구성되는 메시지 데이터 감시부; 및 상기 메시지 데이터 감시부에서 추출한 메시지 데이터를 상기 분리과금 아이디를 포함하여 상기 분리과금 테이블에 저장하도록 구성되는 분리과금 데이터 저장부를 포함할 수 있다.The separation charging module includes: a message data monitoring unit configured to periodically check the message table to check message data that is successfully transmitted and has not generated separation charging data; And a separate billing data storage unit configured to store the message data extracted by the message data monitoring unit in the separate billing table including the separate billing ID.

상기 발송 모듈은, 상기 통신사로부터 메시지 전송 결과를 수신하고, 상기 메시지 전송 결과를 상기 메시지 테이블에 저장하도록 구성되는 전송결과 처리부; 및 상기 통신사로 전송할 메시지를 추출하고, 추출한 메시지를 상기 통신사로 전송하도록 구성되는 메시지 전송부를 포함할 수 있다.The sending module includes: a transmission result processing unit configured to receive a message transmission result from the communication company and store the message transmission result in the message table; And a message transmission unit configured to extract a message to be transmitted to the communication company and transmit the extracted message to the communication company.

상기 교환 모듈은, 상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하도록 구성될 수 있다. 상기 교환 모듈은, 클라이언트로부터 메시지 발송 요청을 수신하는 수신부; 상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 제 1 메시지 큐; 상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 메시지 쓰레드부; 상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 제 2 메시지 큐; 및 상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 메시지 저장 쓰레드부를 포함할 수 있다.The exchange module may be configured to perform pre-processing for sending a message using a message queue before storing information about the message in the database. The exchange module includes a receiving unit for receiving a request to send a message from a client; A first message queue for receiving and storing message data included in the message sending request from the receiving unit; A message thread unit receiving message data from the first message queue, extracting information about the message from the message data, and transmitting the message data to the sending module; A second message queue for receiving and storing information about the extracted message from the message thread unit; And a message storage thread unit that receives information about a message from the second message queue and stores it in the database.

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

상기 메시지 쓰레드부는: 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐로 전달하고, 상기 메시지 저장 쓰레드부는: 상기 제 2 메시지 큐로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스에 저장할 수 있다.The message thread unit: delivers second message information including message content extracted from message data to the second message queue, and the message storage thread unit: transmits 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 calling number and a receiving number extracted from message data in the database, and the database: a key unique to the message sending request for the second and third message information It can be stored by matching the value.

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

본 발명의 실시예에 따른 분리 과금 가능한 메시지 발송 방법은, 교환 모듈에 의해, 분리과금 아이디가 포함된 메시지를 전송받고, 상기 메시지를 데이터베이스의 메시지 테이블에 저장하는 단계; 발송 모듈에 의해, 상기 교환 모듈로부터 상기 메시지를 수신하여 통신사로 전송하는 단계; 및 분리과금 모듈에 의해, 상기 메시지 테이블로부터 분리과금 아이디를 포함하는 메시지 데이터를 추출하여 상기 데이터베이스의 분리과금 테이블에 저장하는 단계를 포함한다. 본 발명의 실시예에 따른 분리 과금 가능한 메시지 발송 방법은, 상기 교환 모듈에 의해, 상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하는 단계를 더 포함할 수 있다. 상기 사전 처리를 실행하는 단계는, 수신부에 의해, 클라이언트로부터 메시지 발송 요청을 수신하는 단계; 제 1 메시지 큐에 의해, 상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 단계; 메시지 쓰레드부에 의해, 상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 단계; 제 2 메시지 큐에 의해, 상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 단계; 및 메시지 저장 쓰레드부에 의해, 상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 단계를 포함할 수 있다.The method for sending a separate billable message according to an embodiment of the present invention includes: receiving, by an exchange module, a message including a separate charging ID, and storing the message in a message table in a database; Receiving, by the sending module, the message from the exchange module and transmitting it to a communication company; And extracting message data including a separate billing ID from the message table by the separate billing module and storing the message data in the separate billing table of the database. The method for sending a separate billable message according to an embodiment of the present invention further includes, by the exchange module, performing pre-processing for sending a message using a message queue before storing information about the message in the database. can do. The step of executing the pre-processing includes: receiving, by the receiving unit, a message sending request from a client; Receiving and storing message data included in the message sending request from the receiving unit by a first message queue; Receiving, by the message thread unit, message data from the first message queue, extracting information about the message from the message data and transmitting the message data to the sending module; Receiving and storing information about the extracted message from the message thread unit by a second message queue; And receiving, by the message storage thread unit, information about the message from the second message queue and storing the message in the database.

상기 분리과금 테이블에 저장하는 단계는, 메시지 데이터 감시부에 의해, 주기적으로 상기 메시지 테이블을 감시하여 메시지 전송 성공되고 분리과금 데이터가 생성되지 않은 메시지 데이터를 확인하는 단계; 및 분리과금 데이터 저장부에 의해, 상기 메시지 데이터 감시부에 의해 추출한 메시지 데이터를 상기 분리과금 아이디를 포함하여 상기 분리과금 테이블에 저장하는 단계를 포함할 수 있다.The step of storing in the separate billing table may include: checking, by the message data monitoring unit, the message table by periodically monitoring the message table to successfully transmit a message and generating no separate billing data; And storing, by the separate billing data storage unit, the message data extracted by the message data monitoring unit in the separate billing table including the separate billing ID.

본 발명의 실시예에 따르면, 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 분리 과금 가능한 메시지 발송 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체가 제공된다.According to an embodiment of the present invention, in a computer-readable recording medium, there is provided a recording medium in which a program for executing a separate billable message sending method is executed by a computer.

본 발명의 실시예에 의하면, 같은 에이전트에 소속된 다수의 클라이언트에 대하여 개별 에이전트(Agent) 모듈 정보를 생성하지 않고도, 에이전트에 속하는 사용자 그룹 별로 분리 과금 데이터를 얻을 수 있다.According to an embodiment of the present invention, separate billing data can be obtained for each user group belonging to the agent without generating individual agent module information for a plurality of clients belonging to the same agent.

또한, 본 발명의 실시예에 의하면, 클라이언트로부터 대량의 메시지 발송 요청을 수신하여도 병목 현상을 줄여 메시지 발송 지연을 최소화함으로써 메시지를 빠르게 발송할 수 있다.In addition, according to an embodiment of the present invention, even when a large number of message sending requests are received from a client, a message can be rapidly transmitted by reducing a bottleneck and minimizing delay in sending a message.

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

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention and methods for achieving them will be made clear by referring to embodiments described below 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, and only the present embodiments allow the disclosure of the present invention to be complete, and the common knowledge in the technical field to which the present invention pertains. It is provided to fully inform the holder of the scope of the invention, and the invention is only defined by the scope of the claims.

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

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

한편, 본 명세서 전체에서 사용되는 '~부', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as'~ unit' and'~ module' used throughout the specification may mean a unit that processes at least one function or operation. For example, it can mean a hardware component such as software, FPGA or ASIC. However,'~unit','~module', etc. are not limited to software or hardware. The'~unit' and'~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','~module' are components such as software components, object-oriented software components, class components and task components, processes, functions, and attributes. Fields, 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','~module' are combined with a smaller number of components and'~unit','~module', or additional components and'~unit', It can be further separated into'~modules'.

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

도 1을 참조하면, 메시지 발송 시스템(10)은 교환 모듈(100), 발송 모듈(200), 분리과금 모듈(300) 및 데이터베이스(400)를 포함할 수 있다. 교환 모듈(100), 발송 모듈(200) 및 분리과금 모듈(300)은 데이터를 처리하는 처리 장치 및 데이터를 저장하는 메모리를 포함하는 컴퓨터 장치로서, 사전에 설치된 컴퓨터 프로그램에 따라 데이터를 처리할 수 있다.Referring to FIG. 1, the message sending system 10 may include an exchange module 100, a sending module 200, a separate charging module 300 and a database 400. The exchange module 100, the sending module 200, and the separate charging module 300 are computer devices including a processing device for processing data and a memory for storing data, and can process data according to a pre-installed computer program. have.

데이터베이스(400)는 메시지 테이블(410)과, 분리과금 테이블(420)을 포함할 수 있다. 데이터베이스(400)는 메시지 정보를 저장하는 저장 장치로서, 예컨대 HDD, SSD 등을 포함할 수 있으나, 이에 제한되지는 않는다.The database 400 may include a message table 410 and a separate billing table 420. The database 400 is a storage device for storing message information, and may include, for example, an HDD, an SSD, but is not limited thereto.

에이전트(30)의 하위 고객에 해당하는 클라이언트(20)에서 에이전트(30)로 메시지 발송을 요청하면, 에이전트(30)는 해당 메시지 발송을 요청한 클라이언트(20)의 정보를 확인하여 대응되는 분리과금 아이디를 확인하여 해당 분리과금 아이디를 포함하여 메시지 전송 시스템(10)에 메시지 발송을 요청한다.When the client 20 corresponding to the lower customer of the agent 30 requests to send a message to the agent 30, the agent 30 checks the information of the client 20 requesting the sending of the message and the corresponding separate billing ID Check to request the sending of a message to the message transmission system 10, including the corresponding separated billing ID.

분리과금 아이디는 예를 들어, 에이전트(30)의 하위 고객 그룹(예를 들어, 에이전트에 소속된 부서) 단위로 설정될 수 있으나, 이에 제한되는 것은 아니다. 분리과금 아이디는 에이전트(30)에 속하는 사용자 그룹 단위로 클라이언트(20)를 식별할 수 있는 것이라면 특별히 제한되지 않고 사용될 수 있다.The separated billing ID may be set in units of a lower customer group of the agent 30 (eg, a department belonging to the agent), but is not limited thereto. The separated billing ID may be used without being particularly limited as long as it can identify the client 20 in units of user groups belonging to the agent 30.

교환 모듈(100)은 에이전트(30)로부터 수신한 메시지 데이터를 데이터베이스(400)의 메시지 테이블(410)에 저장하고, 발송 모듈(200)로 전송한다. 발송 모듈(200)은 교환 모듈(100)로부터 수신한 메시지를 통신사(중계사)(40)로 전송한다.The exchange module 100 stores the message data received from the agent 30 in the message table 410 of the database 400 and transmits the message data to the sending module 200. The sending module 200 transmits the message received from the exchange module 100 to the communication company (relay company) 40.

발송 모듈(200)에 의해 발송된 메시지는 통신사(40)를 통해 전송되어 사용자(50)에게 수신될 수 있다. 발송 모듈(200)은 통신사(40)로부터 전송 결과를 수신하여 메시지 테이블(410)에 저장한다.The message sent by the sending module 200 may be transmitted through the communication company 40 and received by the user 50. The sending module 200 receives the transmission result from the communication company 40 and stores it in the message table 410.

분리과금 모듈(300)은 주기적으로 메시지 테이블(410)을 감시하여 전송 완료(메시지 전송 성공)되고, CDR(Call Data Raw) 생성이 안된 메시지 데이터를 분리과금 아이디를 포함하여 분리과금(CDR) 테이블(420)에 저장한다.The segregation billing module 300 periodically monitors the message table 410 to complete transmission (message transmission is successful), and the segregation billing (CDR) table includes the segregation billing ID of message data that is not generated in CDR (Call Data Raw). (420).

분리과금 모듈(300)은 에이전트(30)로부터 메시지 전송 요청되어 메시지 전송이 성공한 모든 메시지 발송 건수에 대한 정보와 전체 로 데이터(Raw data)를 저장함과 동시에, 분리과금 아이디 필드를 통해 각 분리과금 아이디 별로 메시지 발송 건수를 별도로 저장할 수 있다.The segregation billing module 300 stores information on the total number of message transmissions and the raw data (Raw data) for which message transmission is successfully requested by sending a message from the agent 30, and each segregation billing ID through the segregation billing ID field. Each message can be stored separately.

도 2는 본 발명의 일 실시예에 따른 메시지 발송 시스템을 보다 상세히 나타낸 구성도이다. 도 1 및 도 2를 참조하면, 교환 모듈(100)은 메시지를 데이터베이스(400)에 저장하고, 발송 모듈(200)로 메시지를 전달하는 기능을 수행할 수 있다. 교환 모듈(100)은 데이터 처리부(110)와 제1 메시지 전송부(120)를 포함할 수 있다.2 is a block diagram showing a message sending system according to an embodiment of the present invention in more detail. 1 and 2, the exchange module 100 may perform a function of storing a message in the database 400 and delivering a message to the sending module 200. The exchange module 100 may include a data processing unit 110 and a first message transmission unit 120.

데이터 처리부(110)는 메시지 데이터를 데이터베이스(400)에 저장하는 메시지 데이터 저장부(111)를 포함할 수 있다. 메시지 데이터 저장부(111)는 에이전트(30)로부터 수신한 메시지 데이터를 분리과금 아이디를 포함하여 메시지 테이블(410)에 저장할 수 있다.The data processing unit 110 may include a message data storage unit 111 that stores message data in the database 400. The message data storage unit 111 may store the message data received from the agent 30 in the message table 410 including a separate charging ID.

제1 메시지 전송부(120)는 에이전트(30)로부터 메시지를 수신하는 제1 메시지 데이터 수신부(121)와, 수신한 메시지를 발송 모듈(200)의 메시지 큐(Message Queue)에 저장하는 제1 메시지 데이터 전송부(122)를 포함할 수 있다.The first message transmission unit 120 is a first message data receiving unit 121 that receives a message from the agent 30, and a first message that stores the received message in the message queue of the sending module 200 (Message Queue) It may include a data transmission unit 122.

발송 모듈(200)은 교환 모듈(100)로부터 전달받은 메시지를 통신사(40)로 전송하고, 통신사(40)로부터 전송 결과를 수신하여 저장할 수 있다. 발송 모듈(200)은 전송결과 처리부(210)와, 메시지 전송부(220)를 포함할 수 있다.The sending module 200 may transmit the message received from the exchange module 100 to the communication company 40 and receive and store the transmission result from the communication company 40. The sending module 200 may include a transmission result processing unit 210 and a message transmission unit 220.

전송결과 처리부(210)는 통신사(40)로부터 메시지 전송 결과를 수신하는 전송결과 수신부(211)와, 통신사(40)로부터 수신한 전송 결과를 메시지 테이블(410)에 저장하는 전송결과 저장부(212)를 포함할 수 있다.The transmission result processing unit 210 is a transmission result receiving unit 211 for receiving a message transmission result from the communication company 40, and a transmission result storage unit 212 for storing the transmission result received from the communication company 40 in the message table 410 ).

제2 메시지 전송부(220)는 통신사(40)로 전송할 메시지를 추출하고, 추출한 메시지를 통신사(40)로 전송할 수 있다. 제2 메시지 전송부(220)는 메시지 큐에서 전송할 메시지를 추출하는 메시지 데이터 추출부(221)와, 추출한 메시지를 통신사(40)로 전송하는 제2 메시지 데이터 전송부(222)를 포함할 수 있다.The second message transmission unit 220 may extract a message to be transmitted to the communication company 40 and transmit the extracted message to the communication company 40. The second message transmission unit 220 may include a message data extraction unit 221 for extracting a message to be transmitted from the message queue, and a second message data transmission unit 222 for transmitting the extracted message to the communication company 40. .

분리과금 모듈(300)은 메시지 테이블(410)의 데이터를 분리과금(CDR) 테이블(420)에 저장하는 분리과금 데이터 처리부(310)를 포함할 수 있다. 분리과금 데이터 처리부(310)는 메시지 데이터 감시부(311)와, 분리과금 데이터 저장부(312)를 포함할 수 있다.The separate charging module 300 may include a separate charging data processing unit 310 that stores data in the message table 410 in a separate charging (CDR) table 420. The separated billing data processing unit 310 may include a message data monitoring unit 311 and a separate billing data storage unit 312.

메시지 데이터 감시부(311)는 메시지 테이블(410)을 감시하여 메시지 전송 성공 결과가 있고 CDR 생성이 안된 데이터를 추출할 수 있다. 분리과금 데이터 저장부(312)는 메시지 데이터 감시부(311)에서 추출한 메시지 데이터를 분리과금 아이디를 포함하여 CDR 테이블(420)에 저장할 수 있다.The message data monitoring unit 311 monitors the message table 410 and extracts data having a successful message transmission and not generating a CDR. The separated charging data storage unit 312 may store the message data extracted by the message data monitoring unit 311 in the CDR table 420 including the separated charging ID.

상술한 본 발명의 실시예에 의하면, 에이전트에 속하는 사용자 그룹 단위로 분리과금 아이디를 사용하여, 분리과금 아이디별로 과금 데이터를 생성할 수 있다. 따라서, 분리과금 ID를 기반으로 사용자 그룹 별로 개별적으로 에이전트 모듈을 생성하지 않고도 사용자 그룹 별 분리 과금 데이터를 생성할 수 있다.According to the above-described embodiment of the present invention, it is possible to generate charging data for each separated charging ID by using the separated charging ID in units of user groups belonging to the agent. Accordingly, it is possible to generate separate billing data for each user group without individually creating an agent module for each user group based on the separate billing ID.

본 발명의 실시예에 의하면, 하나의 기업 회원 ID 아래 다수의 분리과금 아이디별로 과금 통계를 볼 수 있으며, 고객(에이전트)의 전체 메시지 발송에 따른 과금 내역과, 분리과금 아이디에 해당하는 사용자 그룹 별로 과금 내역을 확인할 수 있다.According to an embodiment of the present invention, it is possible to view billing statistics for a plurality of separate billing IDs under one corporate member ID, and according to the user's group corresponding to the separate billing ID and the billing history according to the entire message sent by the customer (agent). You can check the billing history.

본 발명의 실시예에 의하면, 예를 들어, 고객사의 명의로 메시징 시스템과 계약 후, 고객사에서 하위 고객에게 메시지 발송 UI를 제공하고, 하위 고객에서 메시지 발송시 하위 고객의 정보를 분리과금 ID로 설정하여, 분리과금 ID를 기반으로 에이전트의 하위 고객(사용자 그룹) 단위로 분리과금 데이터를 생성할 수 있으며, 추후 분리과금 데이터를 기반으로 하위 고객에게 과금 처리가 가능하다.According to an embodiment of the present invention, for example, after contracting with a messaging system in the name of a customer company, the customer company provides a message sending UI to a lower customer, and when sending a message from the lower customer, sets the information of the lower customer to a separate billing ID Therefore, it is possible to generate separate billing data in the unit of the sub-customer (user group) of the agent based on the separate billing ID, and it is possible to process the billing to the lower customer based on the separate billing data.

도 3은 본 발명의 실시예에 따른 분리 과금 가능한 메시지 발송 방법의 흐름도이다. 도 4는 본 발명의 실시예에 따른 분리 과금 가능한 메시지 발송 시스템을 구성하는 교환 모듈에서 수행하는 프로세스를 나타낸 순서도이다.3 is a flowchart of a method for sending a separate billable message according to an embodiment of the present invention. 4 is a flowchart illustrating a process performed in an exchange module constituting a separate billable message sending system according to an embodiment of the present invention.

도 3 및 도 4를 참조하면, 교환 모듈(100)은 에이전트(30)로부터 클라이언트(20)의 메시지 발송 요청을 수신하고(S110), 에이전트(30)로부터 수신한 메시지 데이터를 추출한다(S111). 에이전트(30)로부터 수신된 메시지가 있는 경우, 교환 모듈(100)은 분리과금 아이디가 포함된 데이터인지를 판단한다.3 and 4, the exchange module 100 receives a request for sending a message from the client 20 from the agent 30 (S110), and extracts message data received from the agent 30 (S111). . When there is a message received from the agent 30, the exchange module 100 determines whether the data includes a separate charging ID.

교환 모듈(100)은 에이전트(30)로부터 수신된 메시지에 분리과금 아이디가 포함되어 있지 않은 경우, 분리과금 아이디를 저장하지 않고 해당 메시지 정보를 메시지 테이블에 저장하고(S113, S114), 발송 모듈(200)의 메시지 큐에 메시지 데이터를 저장한다(S115).If the separation module ID is not included in the message received from the agent 30, the exchange module 100 stores the message information in the message table without storing the separation fee ID (S113, S114), and the sending module ( Message message is stored in the message queue of 200) (S115).

만약, 에이전트(30)로부터 수신된 메시지에 분리과금 아이디가 포함되어 있는 경우, 교환 모듈(100)은 데이터베이스(400)의 메시지 테이블(410)에 분리과금 아이디를 포함하여 데이터를 저장한 후(S120), 발송 모듈(200)의 메시지 큐에 메시지 데이터를 저장한다(S130).If, when the message received from the agent 30 includes a separate charging ID, the exchange module 100 stores the data including the separate charging ID in the message table 410 of the database 400 (S120) ), message data is stored in the message queue of the sending module 200 (S130).

도 5는 본 발명의 실시예에 따른 메시지 발송 시스템을 구성하는 발송 모듈에서 수행하는 프로세스를 나타낸 순서도이다. 도 3 및 도 5를 참조하면, 발송 모듈(200)은 메시지 큐에서 전송할 메시지 데이터를 추출하고(S210), 메시지가 있는 경우 통신사로 메시지 데이터를 전송한다(S211, S220). 통신사로부터 전송 결과가 수신되면, 발송 모듈(200)은 수신된 전송 결과를 데이터베이스(400)의 메시지 테이블(410)에 저장한다(S230, S240).5 is a flowchart illustrating a process performed by a sending module constituting a message sending system according to an embodiment of the present invention. 3 and 5, the sending module 200 extracts the message data to be transmitted from the message queue (S210), and transmits the message data to the carrier if there is a message (S211, S220). When the transmission result is received from the carrier, the sending module 200 stores the received transmission result in the message table 410 of the database 400 (S230, S240).

도 6은 본 발명의 실시예에 따른 메시지 발송 시스템을 구성하는 분리과금 모듈에서 수행하는 프로세스를 나타낸 순서도이다. 도 3 및 도 6을 참조하면, 분리과금 모듈(300)은 메시지 테이블(410)을 감시하여 메시지 전송 성공 결과가 있고 CDR 생성이 안된 데이터를 추출할 수 있다(S310).6 is a flowchart illustrating a process performed in a separate charging module constituting a message sending system according to an embodiment of the present invention. Referring to FIGS. 3 and 6, the separation charging module 300 may monitor the message table 410 and extract data having a successful message transmission and not generating a CDR (S310).

메시지 전송 성공 후 아직 CDR 데이터가 생성되지 않은 메시지가 있는 경우, 분리과금 모듈(300)은 분리과금 아이디가 포함된 데이터인지 판단하여, 분리과금 아이디가 포함되지 않은 데이터인 경우, 분리과금 아이디를 저장하지 않고 메시지 전송 결과를 분리과금 테이블(410)에 저장하고(S311, S312, S313), 메시지 테이블에 CDR 생성 완료 상태를 저장한다(S330).If there is a message in which CDR data has not yet been generated after the successful message transmission, the separation charging module 300 determines whether the data includes a separate charging ID, and if the data does not contain the separated charging ID, stores the separated charging ID. Instead, the message transmission result is stored in the separate billing table 410 (S311, S312, S313), and the CDR generation complete state is stored in the message table (S330).

메시지 전송 성공 후 아직 CDR 데이터가 생성되지 않은 메시지 중 분리과금 아이디가 포함된 메시지인 경우, 분리과금 모듈(300)은 해당 분리과금 아이디를 포함한 데이터를 분리과금 테이블(410)에 저장한 후(S320), 메시지 테이블에 CDR 생성 완료 상태를 저장한다(S330).If the message containing the separate charging ID among the messages that have not yet generated CDR data after the successful transmission of the message, the separate charging module 300 stores the data including the separated charging ID in the separate charging table 410 (S320) ), the CDR generation complete state is stored in the message table (S330).

상술한 본 발명의 실시예에 의하면, 에이전트에 속하는 사용자 그룹 단위로 분리과금 아이디를 사용하여, 분리과금 아이디별로 과금 데이터를 생성할 수 있다. 따라서, 분리과금 ID를 기반으로 사용자 그룹 별로 개별적으로 에이전트 모듈을 생성하지 않고도 사용자 그룹 별 분리 과금 데이터를 생성할 수 있다.According to the above-described embodiment of the present invention, it is possible to generate charging data for each separated charging ID by using the separated charging ID in units of user groups belonging to the agent. Accordingly, it is possible to generate separate billing data for each user group without individually creating an agent module for each user group based on the separate billing ID.

또한, 본 발명의 실시예에 의하면, 하나의 기업 회원 ID 하에서 다수의 분리과금 아이디별로 과금 통계를 볼 수 있어 관리 비용을 절감할 수 있으며, 고객(에이전트)의 전체 메시지 발송에 따른 과금 내역과, 분리과금 아이디에 해당하는 사용자 그룹 별로 과금 내역을 확인할 수 있다.In addition, according to an embodiment of the present invention, it is possible to reduce the management cost by viewing the billing statistics for a plurality of separate billing IDs under one corporate member ID, and the billing history of the entire message sent by the customer (agent), You can check the billing history for each user group corresponding to the separate billing ID.

본 발명의 실시예에 의하면, 예를 들어, 고객사의 명의로 메시징 시스템과 계약 후, 고객사에서 하위 고객에게 메시지 발송 UI를 제공하고, 하위 고객에서 메시지 발송시 하위 고객의 정보를 분리과금 ID로 설정하여, 분리과금 ID를 기반으로 에이전트의 하위 고객(사용자 그룹) 단위로 분리과금 데이터를 생성할 수 있으며, 추후 분리과금 데이터를 기반으로 하위 고객에게 과금 처리가 가능하다.According to an embodiment of the present invention, for example, after contracting with a messaging system in the name of a customer company, the customer company provides a message sending UI to a lower customer, and when sending a message from the lower customer, sets the information of the lower customer to a separate billing ID Therefore, it is possible to generate separate billing data in the unit of the sub-customer (user group) of the agent based on the separate billing ID, and it is possible to process the billing to the lower customer based on the separate billing data.

도 7은 본 발명의 다른 실시예에 따른 메시지 발송 시스템의 구성을 설명하기 위한 블록도이다. 도 7을 참조하면, 교환 모듈(100)은 수신부(130), 제 1 메시지 큐(140), 메시지 쓰레드부(150), 제 2 메시지 큐(160) 및 메시지 저장 쓰레드부(170)를 포함할 수 있다.7 is a block diagram illustrating the configuration of a message sending system according to another embodiment of the present invention. Referring to FIG. 7, the exchange module 100 may include a receiving unit 130, a first message queue 140, a message thread unit 150, a second message queue 160, and a message storage thread unit 170. Can.

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

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

상기 메시지 발송 요청 수신부(131)는 클라이언트(20)로부터 사용자(50)에게 메시지를 발송하기 위한 메시지 발송 요청을 수신할 수 있다. 상기 제 1 메시지 큐 메시지 데이터 저장부(132)는 메시지 발송 요청에 포함된 메시지 데이터를 추출하여 상기 제 1 메시지 큐(140)에 입력할 수 있다.The message sending request receiving unit 131 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 132 may extract message data included in the message sending request and input the message data into the first message queue 140.

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

상기 교환 모듈(100)에서 상기 메시지 쓰레드부(150)는 메시지 정보 추출부(154), 발송 모듈 전달부(152), 제 2 메시지 큐 메시지 정보 저장부(153) 및 데이터베이스 저장부(151)를 포함할 수 있다.In the exchange module 100, the message thread unit 150 includes a message information extraction unit 154, a sending module delivery unit 152, a second message queue message information storage unit 153, and a database storage unit 151. It can contain.

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

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

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

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

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

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

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

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

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

도 7 및 도 8을 참조하면, 상기 데이터베이스(400)는 상기 교환 모듈(100)의 상기 메시지 저장 쓰레드부(170)로부터 메시지 내용을 포함하는 제 2 메시지 정보를 입력받아 저장하고, 상기 교환 모듈(100)의 상기 메시지 쓰레드부(150)로부터 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 입력받아 저장할 수 있다.7 and 8, the database 400 receives and stores second message information including message content from the message storage thread unit 170 of the exchange module 100, and stores the exchange module ( The third message information including the calling number and the receiving number from the message thread unit 150 of 100) may be received and stored.

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

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

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

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

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

나아가, 본 발명의 일 실시예에 따르면, 상기 교환 모듈(100)에서 상기 제 2 메시지 큐(160)로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스(400)에 저장하는 작업에 할당된 상기 메시지 저장 쓰레드부(170)의 개수는, 상기 제 1 메시지 큐(140)로부터 메시지 데이터를 전달받아 메시지에 관한 정보를 추출하고 상기 발송 모듈(200)로 전달하는 작업에 할당된 상기 메시지 쓰레드부(150)의 개수보다 적게 설정될 수 있다.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 160 in the exchange module 100 and storing it in the database 400 The number of units 170 of the message thread unit 150 allocated to the task of receiving message data from the first message queue 140, extracting information about the message, and transmitting the message data to the sending module 200 It can be set to less than the number.

이와 같이 본 발명의 실시예에 따르면 클라이언트로부터 전달받은 메시지를 발송하기 위한 처리와 메시지에 관한 정보를 상기 데이터베이스(400)에 저장하기 위한 처리를 구분하여 실행하되, 처리순서 및 리소스 할당량에 있어서 메시지 발송에 관한 처리를 데이터베이스 저장에 관한 처리에 우선하여 수행함으로써, 대량의 메시지를 동시에 발송하더라도 병목현상 및 지연을 최소화하여 신속하고 원활하게 메시지를 발송할 수 있다.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 on a message in the database 400 are separately executed, and the message is sent in the processing order and resource allocation. By performing processing on the database storage prior to processing, even if a large number of messages are simultaneously sent, messages can be sent quickly and smoothly by minimizing bottlenecks and delays.

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

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

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

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

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

도 10을 참조하면, 상기 데이터베이스(400), 상기 교환 모듈(100) 및 상기 발송 모듈(200)을 포함하는 상기 메시지 발송 시스템은 상기 교환 모듈(100)이 클라이언트로부터 메시지 발송 요청을 수신하는 단계(S11), 상기 교환 모듈(100)이 메시지 발송 요청에 포함된 메시지 데이터를 제 1 메시지 큐(140)에 저장하는 단계(S12), 상기 교환 모듈(100)이 상기 제 1 메시지 큐(140)로부터 메시지 데이터를 불러와 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈(200)로 전달하는 단계(S15), 상기 발송 모듈(200)이 상기 전달받은 메시지에 관한 정보를 상기 제 3 메시지 큐(230)에 저장하는 단계(S21), 상기 발송 모듈(200)이 상기 교환 모듈(100)로부터 전달받은 메시지에 관한 정보를 통신사(40)로 전달하는 단계(S22), 상기 교환 모듈(100)이 상기 추출된 메시지에 관한 정보를 제 2 메시지 큐(160)에 저장하는 단계(S16), 및 상기 교환 모듈(100)이 상기 제 2 메시지 큐(160)로부터 메시지에 관한 정보를 불러와 상기 데이터베이스(400)에 저장하는 단계(S17)를 포함할 수 있다.Referring to FIG. 10, the message sending system including the database 400, the exchange module 100, and the sending module 200 includes the steps of receiving the message sending request from the client by the switching module 100 ( S11), the exchange module 100 stores the message data included in the message sending request in the first message queue 140 (S12), and the exchange module 100 sends the message data from the first message queue 140. Retrieving message data, extracting information about the message from the message data, and transmitting it to the sending module 200 (S15), and the sending module 200 receives information about the received message from the third message queue Step (S21) of storing in (230), step (S22) of transmitting information about a message received from the exchange module 100 by the sending module 200 to the communication company 40 (S22), and the exchange module 100 Storing the information on the extracted message in the second message queue 160 (S16), and the exchange module 100 retrieves the information on the message from the second message queue 160 to the database It may include the step (S17) of storing in (400).

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

상기 메시지에 관한 정보를 상기 발송 모듈(200)로 전달하는 단계(S15)는 상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈(200)로 전달하는 단계를 포함할 수 있다.In step S15 of transmitting information about the message to the sending module 200, the step of delivering first message information including the extracted calling number, receiving number, and message content to the sending module 200 It can contain.

상기 추출된 메시지에 관한 정보를 제 2 메시지 큐(160)에 저장하는 단계(S16)는 상기 메시지 쓰레드부(150)가 메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐(160)로 전달하는 단계, 및 상기 메시지 저장 쓰레드부(170)가 상기 제 2 메시지 큐(160)로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스(400)에 저장하는 단계를 포함할 수 있다.In the step of storing information on the extracted message in the second message queue 160 (S16), the second message information including the message content extracted by the message thread unit 150 from the message data is the second message. The method may include transmitting to a queue 160 and storing the second message information received from the second message queue 160 by the message storage thread unit 170 in the database 400.

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

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

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

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

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

10: 메시지 발송 시스템
20: 클라이언트
30: 에이전트
40: 통신사
50: 사용자
100: 교환 모듈
110: 데이터 처리부
111: 메시지 데이터 저장부
120: 제1 메시지 전송부
121: 제1 메시지 데이터 수신부
122: 제1 메시지 데이터 전송부
200: 발송 모듈
210: 전송결과 처리부
211: 전송결과 수신부
212: 전송결과 저장부
220: 메시지 전송부
221: 메시지 데이터 추출부
222: 제2 메시지 데이터 전송부
300: 분리과금 모듈
310: 분리과금 데이터 처리부
311: 메시지 데이터 감시부
312: 분리과금 데이터 저장부
400: 데이터베이스
410: 메시지 테이블
420: 분리과금 테이블
10: Message sending system
20: Client
30: Agent
40: carrier
50: user
100: exchange module
110: data processing unit
111: message data storage
120: first message transmission unit
121: first message data receiving unit
122: first message data transmission unit
200: shipping module
210: transmission result processing unit
211: transmission result receiving unit
212: transmission result storage unit
220: message transmission unit
221: message data extraction unit
222: second message data transmission unit
300: separate charging module
310: separate billing data processing unit
311: message data monitoring unit
312: separate billing data storage
400: database
410: message table
420: separate charging table

Claims (11)

메시지 테이블과 분리과금 테이블을 포함하는 데이터베이스;
분리과금 아이디가 포함된 메시지를 전송받고, 상기 메시지를 상기 메시지 테이블에 저장하도록 구성되는 교환 모듈;
상기 교환 모듈로부터 상기 메시지를 수신하여 통신사로 전송하도록 구성되는 발송 모듈; 및
상기 메시지 테이블로부터 분리과금 아이디를 포함하는 메시지 데이터를 추출하여 상기 분리과금 테이블에 저장하도록 구성되는 분리과금 모듈을 포함하고,
상기 교환 모듈은, 상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하도록 구성되고,
상기 교환 모듈은,
클라이언트로부터 메시지 발송 요청을 수신하는 수신부;
상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 제 1 메시지 큐;
상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 메시지 쓰레드부;
상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 제 2 메시지 큐; 및
상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 메시지 저장 쓰레드부를 포함하는, 분리 과금 가능한 메시지 발송 시스템.
A database including a message table and a separate billing table;
An exchange module configured to receive a message including a separate charging ID and store the message in the message table;
A sending module, configured to receive the message from the exchange module and transmit it to a communication company; And
And a separating billing module configured to extract message data including a separating billing ID from the message table and store it in the separating billing table,
The exchange module is configured to perform pre-processing for sending a message using a message queue before storing information about the message in the database,
The exchange module,
A receiving unit that receives a message sending request from a client;
A first message queue for receiving and storing message data included in the message sending request from the receiving unit;
A message thread unit receiving message data from the first message queue, extracting information about the message from the message data, and transmitting the message data to the sending module;
A second message queue for receiving and storing information about the extracted message from the message thread unit; And
And a message storage thread unit for receiving information about a message from the second message queue and storing the message in the database.
청구항 1에 있어서,
상기 분리과금 모듈은,
주기적으로 상기 메시지 테이블을 감시하여 메시지 전송 성공되고 분리과금 데이터가 생성되지 않은 메시지 데이터를 확인하도록 구성되는 메시지 데이터 감시부; 및
상기 메시지 데이터 감시부에서 추출한 메시지 데이터를 상기 분리과금 아이디를 포함하여 상기 분리과금 테이블에 저장하도록 구성되는 분리과금 데이터 저장부를 포함하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 1,
The separation charging module,
A message data monitoring unit configured to periodically check the message table and check message data for which message transmission was successful and no separate billing data was generated; And
And a separate billing data storage unit configured to store the message data extracted by the message data monitoring unit in the separate billing table including the separate billing ID.
청구항 1에 있어서,
상기 발송 모듈은,
상기 통신사로부터 메시지 전송 결과를 수신하고, 상기 메시지 전송 결과를 상기 메시지 테이블에 저장하도록 구성되는 전송결과 처리부; 및
상기 통신사로 전송할 메시지를 추출하고, 추출한 메시지를 상기 통신사로 전송하도록 구성되는 메시지 전송부를 포함하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 1,
The sending module,
A transmission result processing unit configured to receive a message transmission result from the communication company and store the message transmission result in the message table; And
And a message transmission unit configured to extract a message to be transmitted to the communication company and to transmit the extracted message to the communication company.
삭제delete 청구항 1에 있어서,
상기 메시지 쓰레드부는:
메시지 데이터로부터 메시지를 보내는 발신자의 발신번호, 메시지를 받는 수신자의 수신번호 및 메시지를 구성하는 메시지 내용을 추출하고,
상기 추출된 발신번호, 수신번호 및 메시지 내용을 포함하는 제 1 메시지 정보를 상기 발송 모듈로 전달하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 1,
The message thread section:
From the message data, the caller's calling number to send the message, the recipient's receiving number to receive the message, and the contents of the message constituting the message are extracted,
A separate billable message sending system that delivers the first message information including the extracted calling number, receiving number and message content to the sending module.
청구항 5에 있어서,
상기 메시지 쓰레드부는:
메시지 데이터로부터 추출된 메시지 내용을 포함하는 제 2 메시지 정보를 상기 제 2 메시지 큐로 전달하고,
상기 메시지 저장 쓰레드부는:
상기 제 2 메시지 큐로부터 전달받은 제 2 메시지 정보를 상기 데이터베이스에 저장하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 5,
The message thread section:
The second message information including the message content extracted from the message data is delivered to the second message queue,
The message storage thread part:
Separate billable message sending system that stores the second message information received from the second message queue in the database.
청구항 6에 있어서,
상기 메시지 쓰레드부는:
메시지 데이터로부터 추출된 발신번호 및 수신번호를 포함하는 제 3 메시지 정보를 상기 데이터베이스에 저장하고,
상기 데이터베이스는:
상기 제 2 및 제 3 메시지 정보를 상기 메시지 발송 요청에 고유한 키 값과 매칭시켜 저장하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 6,
The message thread section:
The third message information including the calling number and the receiving number extracted from the message data is stored in the database,
The database is:
A separate billable message sending system for storing the second and third message information by matching a key value unique to the message sending request.
청구항 6에 있어서,
상기 메시지 쓰레드부는,
상기 발송 모듈로 제 1 메시지 정보를 전달하는 제 1 작업, 상기 제 2 메시지 큐로 제 2 메시지 정보를 전달하는 제 2 작업 및 상기 데이터베이스로 제 3 메시지 정보를 전달하는 제 3 작업을 서로 독립적으로 실행하고;
상기 제 1 메시지 큐로부터 전달받은 개별 메시지 데이터마다 상기 제 3 작업을 먼저 실행한 뒤, 상기 제 1 작업을 실행하고, 그러고 나서 상기 제 2 작업을 실행하는, 분리 과금 가능한 메시지 발송 시스템.
The method according to claim 6,
The message thread portion,
The first operation of delivering the first message information to the sending module, the second operation of delivering the second message information to the second message queue, and the third operation of delivering the third message information to the database are executed independently of each other, ;
A separate billable message sending system that executes the third operation first for each individual message data received from the first message queue, then executes the first operation, and then executes the second operation.
교환 모듈에 의해, 분리과금 아이디가 포함된 메시지를 전송받고, 상기 메시지를 데이터베이스의 메시지 테이블에 저장하는 단계;
발송 모듈에 의해, 상기 교환 모듈로부터 상기 메시지를 수신하여 통신사로 전송하는 단계; 및
분리과금 모듈에 의해, 상기 메시지 테이블로부터 분리과금 아이디를 포함하는 메시지 데이터를 추출하여 상기 데이터베이스의 분리과금 테이블에 저장하는 단계를 포함하고,
상기 교환 모듈에 의해, 상기 데이터베이스에 메시지에 관한 정보를 저장하기 전에 메시지 큐를 이용하여 메시지 발송을 위한 사전 처리를 실행하는 단계를 더 포함하고,
상기 사전 처리를 실행하는 단계는,
수신부에 의해, 클라이언트로부터 메시지 발송 요청을 수신하는 단계;
제 1 메시지 큐에 의해, 상기 수신부로부터 메시지 발송 요청에 포함된 메시지 데이터를 입력받아 저장하는 단계;
메시지 쓰레드부에 의해, 상기 제 1 메시지 큐로부터 메시지 데이터를 전달받아 해당 메시지 데이터로부터 메시지에 관한 정보를 추출하여 상기 발송 모듈로 전달하는 단계;
제 2 메시지 큐에 의해, 상기 메시지 쓰레드부로부터 상기 추출된 메시지에 관한 정보를 입력받아 저장하는 단계; 및
메시지 저장 쓰레드부에 의해, 상기 제 2 메시지 큐로부터 메시지에 관한 정보를 전달받아 상기 데이터베이스에 저장하는 단계를 포함하는, 분리 과금 가능한 메시지 발송 방법.
Receiving, by the exchange module, a message including a separate billing ID, and storing the message in a message table in a database;
Receiving, by the sending module, the message from the exchange module and transmitting it to a communication company; And
And extracting message data including the separated billing ID from the message table by the separate billing module and storing the message data in the separate billing table of the database.
Further comprising, by the exchange module, performing pre-processing for sending a message using a message queue before storing information about the message in the database,
Step of executing the pre-processing,
Receiving, by the receiving unit, a message sending request from a client;
Receiving and storing message data included in the message sending request from the receiving unit by a first message queue;
Receiving, by the message thread unit, message data from the first message queue, extracting information about the message from the message data and transmitting the message data to the sending module;
Receiving and storing information about the extracted message from the message thread unit by a second message queue; And
And receiving, by the message storage thread unit, information about the message from the second message queue and storing it in the database.
청구항 9에 있어서,
상기 분리과금 테이블에 저장하는 단계는,
메시지 데이터 감시부에 의해, 주기적으로 상기 메시지 테이블을 감시하여 메시지 전송 성공되고 분리과금 데이터가 생성되지 않은 메시지 데이터를 확인하는 단계; 및
분리과금 데이터 저장부에 의해, 상기 메시지 데이터 감시부에 의해 추출한 메시지 데이터를 상기 분리과금 아이디를 포함하여 상기 분리과금 테이블에 저장하는 단계를 포함하는, 분리 과금 가능한 메시지 발송 방법.
The method according to claim 9,
The step of storing in the separate billing table,
Checking, by the message data monitoring unit, the message table by periodically monitoring the message table to successfully transmit a message and not generating separate charging data; And
And storing, by the separate billing data storage unit, the message data extracted by the message data monitoring unit in the separate billing table including the separate billing ID.
컴퓨터로 읽을 수 있는 기록 매체에 있어서,
청구항 9 또는 청구항 10에 따른 분리 과금 가능한 메시지 발송 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
In a computer-readable recording medium,
A recording medium in which a program for executing a method for sending a detachable billable message according to claim 9 or 10 with a computer is recorded.
KR1020200015364A 2020-02-10 2020-02-10 System and method for transmitting message capable of seperate accounting KR102134552B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200015364A KR102134552B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of seperate accounting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200015364A KR102134552B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of seperate accounting

Publications (1)

Publication Number Publication Date
KR102134552B1 true KR102134552B1 (en) 2020-07-15

Family

ID=71603541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200015364A KR102134552B1 (en) 2020-02-10 2020-02-10 System and method for transmitting message capable of seperate accounting

Country Status (1)

Country Link
KR (1) KR102134552B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090109914A (en) * 2008-04-16 2009-10-21 주식회사 케이티 Classification charging device and Method thereof
KR20140135077A (en) * 2013-05-15 2014-11-25 (주)엔텔스 Separable charge system for byod service and separable charge method for data service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090109914A (en) * 2008-04-16 2009-10-21 주식회사 케이티 Classification charging device and Method thereof
KR20140135077A (en) * 2013-05-15 2014-11-25 (주)엔텔스 Separable charge system for byod service and separable charge method for data service

Similar Documents

Publication Publication Date Title
US8972512B2 (en) Message delivery systems and methods
US8769025B2 (en) Cluster server of an instant messaging system and messaging method between clusters
US8606225B2 (en) Intelligent real time billing for messaging
US20080010350A1 (en) Email recovery method and system
IL173011A (en) Image insertion for cellular text messaging
KR20140072044A (en) Distributing multi-source push notifications to multiple targets
CN107079043B (en) Device and method for offline charging
US20090138552A1 (en) Apparatus and method for managing communication between parties
CN103139048A (en) Group information reminding method and system
CN103548315B (en) Method and apparatus for high performance low latency real time notification delivery
US10873640B2 (en) Information exchange method and server
CN113391979A (en) Processing method, equipment and system for monitoring data display and storage medium
CN110096381B (en) Method, device, equipment and medium for realizing remote procedure call
CN110727507B (en) Message processing method and device, computer equipment and storage medium
CN115622906A (en) Application log capturing system and method
KR102134552B1 (en) System and method for transmitting message capable of seperate accounting
CN111475315A (en) Server and subscription notification push control and execution method
CN113839856B (en) Office processing system based on message affairs
CN113055493B (en) Data packet processing method, device, system, scheduling device and storage medium
EP2819438A1 (en) Spam message processing method and system
CN114884924A (en) Audio and video channel selection method and device, electronic equipment and storage medium
KR102156298B1 (en) System and method for transmitting message utilizing message queue and database post processing
CN112887925A (en) Short message pushing method, edge server node and service server node
US20200104524A1 (en) Data processing apparatus
CN113301212B (en) Call processing method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant