KR20210044087A - Integrated system of load balancing plural matching servers and method implementing thereof - Google Patents

Integrated system of load balancing plural matching servers and method implementing thereof Download PDF

Info

Publication number
KR20210044087A
KR20210044087A KR1020190127216A KR20190127216A KR20210044087A KR 20210044087 A KR20210044087 A KR 20210044087A KR 1020190127216 A KR1020190127216 A KR 1020190127216A KR 20190127216 A KR20190127216 A KR 20190127216A KR 20210044087 A KR20210044087 A KR 20210044087A
Authority
KR
South Korea
Prior art keywords
matching
virtual currency
matching server
active
server
Prior art date
Application number
KR1020190127216A
Other languages
Korean (ko)
Other versions
KR102423544B1 (en
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 KR1020190127216A priority Critical patent/KR102423544B1/en
Publication of KR20210044087A publication Critical patent/KR20210044087A/en
Application granted granted Critical
Publication of KR102423544B1 publication Critical patent/KR102423544B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Abstract

The present invention relates to an integrated cryptocurrency system which performs load balances multiple matching servers and a load balance method. According to an embodiment of the present invention, the integrated cryptocurrency system which performs load balances the multiple matching servers includes: a communication unit which transmits and receives data to and from a plurality of exchange systems; one or more active matching servers in charge of matching the purchase and sale of cryptocurrency; and one or more standby matching servers which back up the one or more active matching servers.

Description

다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템 및 로드 밸런싱 방법{INTEGRATED SYSTEM OF LOAD BALANCING PLURAL MATCHING SERVERS AND METHOD IMPLEMENTING THEREOF}An integrated virtual currency system and load balancing method that load balances multiple matching servers {INTEGRATED SYSTEM OF LOAD BALANCING PLURAL MATCHING SERVERS AND METHOD IMPLEMENTING THEREOF}

본 발명은 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템 및 로드 밸런싱 방법 에 관한 것이다.The present invention relates to an integrated virtual currency system and a load balancing method for load balancing a plurality of matching servers.

실생활의 영역이 오프라인 및 온라인으로 확장되면서 가상화폐에 관한 관심과 수요가 높아지며, 가상화폐는 새로운 금융 자산을 구성하고 있다. 특히, 다양하게 구축되어온 사이버상의 거래와 가상화폐가 접목하면서 가상화폐를 이용한 결제 시스템에 대한 요청이 증가하고 있다. As the realm of life expands to offline and online, interest and demand for virtual currency are increasing, and virtual currency constitutes a new financial asset. In particular, as various cyber transactions and virtual currency have been combined, requests for payment systems using virtual currency are increasing.

한편, 가상화폐는 다양한 주체들이 가상화폐의 거래를 지원할 수 있다. 즉, 가상화폐의 거래는 다양한 플랫폼에서 이루어질 수 있고, 이는 가상화폐가 다양한 분야에서 사용될 수 있도록 한다.Meanwhile, in virtual currency, various entities can support the transaction of virtual currency. In other words, the transaction of virtual currency can be made on various platforms, which allows the virtual currency to be used in various fields.

이에, 가상화폐가 다양한 플랫폼에서 사용될 수 있도록 하며, 특히 다양한 종류의 가상화폐들이 안정적으로 거래될 수 있도록 하는 시스템의 구축이 요청된다 Therefore, it is required to build a system that enables virtual currency to be used on various platforms, and in particular, allows various types of virtual currency to be traded stably.

이에, 본 명세서에서는 가상화폐가 가지는 복합적인 요소들을 반영하여 거래를 가능하게 하는 시스템과 방법에 대해 살펴본다. Accordingly, in this specification, a system and method that enables transactions by reflecting the complex elements of virtual currency will be described.

본 발명은 다수의 거래소 시스템과 통신하여 가상화폐의 매칭과 체결을 담당하는 통합 가상화폐 시스템의 매칭 서버가 안정적으로 운영될 수 있도록 로드 밸런싱을 수행하는 방안을 제시하고자 한다. The present invention proposes a method of performing load balancing so that a matching server of an integrated virtual currency system that communicates with a plurality of exchange systems to match and conclude virtual currency systems can operate stably.

본 발명은 통합 가상화폐 시스템의 매칭 서버에 대해 스탠바이 매칭 서버를 할당하여 실제 매칭을 수행하는 서버에서 발생한 에러, 트래픽 증가 상황에서도 가상화폐의 거래가 안정적으로 이루어지도록 한다. The present invention allocates a standby matching server to a matching server of an integrated virtual currency system so that transactions of virtual currency can be stably performed even in a situation of an error or traffic increase occurring in a server that actually performs matching.

본 발명은 통합 가상화폐 시스템의 매칭 서버에 대한 로드 밸런싱을 가상화폐의 거래뿐만 아니라, 가상화폐의 관심도와 같이 거래 외적인 요소에 기반하여서도 판단하여 가상화폐의 거래가 안정적으로 이루어지도록 한다.The present invention determines the load balancing of the matching server of the integrated virtual currency system based not only on the transaction of virtual currency, but also on factors other than the transaction such as the degree of interest of the virtual currency, so that the transaction of virtual currency is stably performed.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problems mentioned above, and other problems not mentioned herein will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 의한 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템은 다수의 거래소 시스템과 데이터를 송수신하는 통신부와, 가상화폐의 매수 및 매도의 매칭을 담당하는 하나 이상의 액티브 매칭 서버와, 상기 하나 이상의 액티브 매칭 서버를 백업하는 하나 이상의 스탠바이 매칭 서버와, 상기 액티브 매칭 서버의 부하 또는 상기 액티브 매칭 서버가 매칭하는 가상화폐 거래량에 기반하여 상기 액티브 매칭 서버의 로드 밸런싱을 결정하고 상기 스탠바이 매칭 서버를 액티브로 설정하는 제어부를 포함한다. An integrated virtual currency system for load balancing a plurality of matching servers according to an embodiment of the present invention includes a communication unit for transmitting and receiving data with a plurality of exchange systems, and at least one active matching server in charge of matching the purchase and sale of virtual currency. , On the basis of the one or more standby matching servers that back up the one or more active matching servers, the load of the active matching server or the amount of cryptocurrency transactions matched by the active matching server, load balancing of the active matching server is determined, and the standby matching It includes a control unit for setting the server as active.

본 발명의 일 실시예에 의한 다수의 매칭 서버를 로드 밸런싱하는 방법은 상기 통합 가상화폐 시스템의 제어부가 상기 액티브 매칭 서버의 부하 또는 상기 액티브 매칭 서버가 매칭하는 가상화폐 거래량을 모니터링하는 단계와, 상기 모니터링 한 결과에 기반하여 상기 제어부가 상기 액티브 매칭 서버의 로드 밸런싱을 결정하는 단계와 상기 제어부가 상기 스탠바이 매칭 서버를 액티브로 설정하는 단계를 포함한다. A method of load balancing a plurality of matching servers according to an embodiment of the present invention includes the steps of, by a control unit of the integrated virtual currency system, monitoring the load of the active matching server or the amount of virtual currency transactions matched by the active matching server, and the And determining, by the control unit, load balancing of the active matching server based on the monitoring result, and setting the standby matching server to be active by the control unit.

본 발명의 실시예를 적용할 경우 다수의 거래소 시스템과 통신하여 가상화폐의 매칭과 체결을 담당하는 통합 가상화폐 시스템의 매칭 서버가 안정적으로 운영될 수 있도록 로드 밸런싱을 수행할 수 있다. When the embodiment of the present invention is applied, it is possible to perform load balancing so that a matching server of an integrated virtual currency system that communicates with a plurality of exchange systems to match and conclude virtual currency is stably operated.

본 발명의 실시예를 적용할 경우 통합 가상화폐 시스템의 매칭 서버에 대해 스탠바이 매칭 서버를 할당하여 실제 매칭을 수행하는 서버에서 발생한 에러, 트래픽 증가 상황에서도 가상화폐의 거래가 안정적으로 이루어질 수 있다. When the embodiment of the present invention is applied, a standby matching server is allocated to a matching server of an integrated virtual currency system, so that transactions of virtual currency can be stably performed even in a situation of an error or traffic increase occurring in a server that actually performs matching.

본 발명의 실시예를 적용할 경우 통합 가상화폐 시스템의 매칭 서버에 대한 로드 밸런싱을 가상화폐의 거래뿐만 아니라, 가상화폐의 관심도와 같이 거래 외적인 요소에 기반하여서도 판단하여 가상화폐의 거래가 안정적으로 이루어질 수 있다. When the embodiment of the present invention is applied, the load balancing of the matching server of the integrated virtual currency system is determined not only based on the transaction of virtual currency, but also based on factors outside the transaction, such as the degree of interest of the virtual currency, so that the transaction of virtual currency is made stably. I can.

본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects provided by the present invention are not limited to the above-mentioned effects, and other effects not mentioned herein will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 의한 통합 가상화폐 시스템 및 이들과 다른 구성요소들의 구성을 보여준다.
도 2는 본 발명의 다른 실시예에 의한 통합 가상화폐 시스템 및 이들과 다른 구성요소들의 구성을 보여준다.
도 3은 본 발명의 일 실시예에 의한 거래소 시스템과 통합 가상화폐 시스템의 거래 처리 과정을 보여준다.
도 4는 본 발명의 일 실시예에 의한 통합 가상화폐 시스템에서 매칭이 이루어지는 구성을 보여준다.
도 5는 본 발명의 일 실시예에 의한 매칭 시스템의 구성을 보여준다.
도 6은 본 발명의 일 실시예에 의한 새로운 매칭 서버가 추가된 매칭 시스템의 구성을 보여준다.
도 7은 본 발명의 일 실시예에 의한 한도 서버와 매칭 서버사이의 상호 작용을 보여준다.
도 8은 본 발명의 일 실시예에 의한 하나의 코인 그룹 내의 매칭 과정을 보여준다.
도 9는 본 발명의 일 실시예에 의한 매칭 및 체결 과정을 보여준다.
도 10은 본 발명의 일 실시예에 의한 매칭 서버를 재배치하는 프로세스를 보여준다.
도 11은 본 발명의 일 실시예에 의한 매칭 서버들의 로드 밸런싱을 수행하는 통합 가상화폐 시스템의 구성을 보여준다.
도 12는 본 발명의 일 실시예에 의한 스탠바이 매칭 서버가 다양한 메커니즘에 따라 액티브 매칭 서버에 할당된 실시예를 보여준다.
도 13은 본 발명의 일 실시예에 의한 각각의 매칭 서버들이 하나의 메모리 데이터베이스를 공유하여 매칭을 수행하는 과정을 보여준다.
도 14는 본 발명의 일 실시예에 의한 외부적 요인에 따라 매칭 서버의 로드 밸런싱을 수행하는 과정을 보여준다.
1 shows a configuration of an integrated virtual currency system and these and other components according to an embodiment of the present invention.
FIG. 2 shows an integrated virtual currency system and configurations of these and other components according to another embodiment of the present invention.
3 shows a transaction processing process of an exchange system and an integrated virtual currency system according to an embodiment of the present invention.
4 shows a configuration in which matching is performed in an integrated virtual currency system according to an embodiment of the present invention.
5 shows a configuration of a matching system according to an embodiment of the present invention.
6 shows a configuration of a matching system to which a new matching server is added according to an embodiment of the present invention.
7 shows an interaction between a limit server and a matching server according to an embodiment of the present invention.
8 shows a matching process within one coin group according to an embodiment of the present invention.
9 shows a matching and fastening process according to an embodiment of the present invention.
10 shows a process of relocating a matching server according to an embodiment of the present invention.
11 shows the configuration of an integrated virtual currency system that performs load balancing of matching servers according to an embodiment of the present invention.
12 shows an embodiment in which a standby matching server according to an embodiment of the present invention is allocated to an active matching server according to various mechanisms.
13 is a view illustrating a process of performing matching by sharing one memory database by each matching server according to an embodiment of the present invention.
14 shows a process of performing load balancing of a matching server according to an external factor according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same elements throughout the specification.

본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly describe the present invention, parts irrelevant to the description have been omitted, and the same reference numerals are attached to the same or similar components throughout the specification. In addition, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to elements of each drawing, the same elements may have the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, the detailed description may be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the constituent elements of the present invention, terms such as first, second, A, B, (a) and (b) may be used. These terms are only for distinguishing the component from other components, and the nature, order, order, or number of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to that other component, but other components between each component It should be understood that "interposed" or that each component may be "connected", "coupled" or "connected" through other components.

도 1은 본 발명의 일 실시예에 의한 통합 가상화폐 시스템 및 이들과 다른 구성요소들의 구성을 보여준다. 통합 가상화폐 시스템(300)은 다수의 거래소 시스템(100)들과 거래를 수행한다. 그리고 거래소 시스템(100) 각각은 고유의 사용자들을 고객(50) 계정들로 보유한 상태이다. 고객계정(50)은 거래소 시스템(100)에 접속한다. 거래소 시스템(100)이 제공하는 프론트웹(front web)(110) 페이지를 통해 가상화폐의 매수 또는 매도 주문을 입력하면, 거래소 시스템(100)은 이러한 주문에 대한 정보를 원장(120)에 저장한다. 그리고, 거래소 시스템(100)은 통합 가상화폐 시스템(300)을 구성하는 매칭 시스템(350)으로 주문 정보를 전달한다.1 shows a configuration of an integrated virtual currency system and these and other components according to an embodiment of the present invention. The integrated virtual currency system 300 performs transactions with a plurality of exchange systems 100. In addition, each exchange system 100 has its own users as customer 50 accounts. The customer account 50 accesses the exchange system 100. When a buy or sell order of virtual currency is entered through the front web 110 page provided by the exchange system 100, the exchange system 100 stores information on such an order in the ledger 120. . In addition, the exchange system 100 delivers order information to the matching system 350 constituting the integrated virtual currency system 300.

매칭 시스템(350)은 다양한 거래소 시스템(100)이 전달하는 주문정보를 수신하고 이를 매칭하여 거래를 완결시킨다. 거래가 완결되면 완결되었다는 정보를 다시 거래소 시스템(100)으로 전달한다. 거래소 시스템(100) 역시 원장(120)에 해당 거래 결과를 저장하고 고객계정(50)으로 거래 완료되었음을 통지한다. The matching system 350 receives order information transmitted from the various exchange systems 100 and matches it to complete the transaction. When the transaction is completed, information indicating that the transaction has been completed is transmitted to the exchange system 100 again. The exchange system 100 also stores the transaction result in the ledger 120 and notifies the customer account 50 that the transaction has been completed.

통합 가상화폐 시스템(300)의 청산시스템(370)은 여러 거래소 시스템들 간의 청산을 담당할 수 있다. 또는 청산 시스템(370)은 개별 고객의 계정들에 대한 청산 역시 담당할 수 있다. 청산은 개별 고객 계정을 관리하는 거래소 시스템(100) 혹은 통합 가상화폐 시스템(300)가 담당할 수 있다. The liquidation system 370 of the integrated virtual currency system 300 may be responsible for liquidation between various exchange systems. Alternatively, the clearing system 370 may also be in charge of clearing individual customer accounts. The liquidation may be performed by the exchange system 100 or the integrated virtual currency system 300 that manages individual customer accounts.

도 2는 본 발명의 다른 실시예에 의한 통합 가상화폐 시스템 및 이들과 다른 구성요소들의 구성을 보여준다. 도 1과 마찬가지로 통합 가상화폐 시스템(300)은 다수의 거래소 시스템(100)들과 거래를 수행한다. 그리고 거래소 시스템(100) 각각은 고유의 사용자들을 고객(50) 계정들로 보유한 상태이다. 고객계정(50)은 거래소 시스템(100)에 접속한다. 거래소 시스템(100)이 제공하는 프론트웹(front web)(110) 페이지를 통해 가상화폐의 매수 또는 매도 주문을 입력하면, 거래소 시스템(100)은 이러한 주문을, 해당 거래소 시스템(100) 내에 전송된 주문 정보를 처리하기 위한 작업을 수행한다. 이 작업은 거래소 시스템(100)의 매칭 시스템(150)에서 이루어진다. FIG. 2 shows an integrated virtual currency system and configurations of these and other components according to another embodiment of the present invention. As in FIG. 1, the integrated virtual currency system 300 performs transactions with a plurality of exchange systems 100. In addition, each exchange system 100 has its own users as customer 50 accounts. The customer account 50 accesses the exchange system 100. When an order to buy or sell virtual currency is entered through the front web 110 page provided by the exchange system 100, the exchange system 100 places such an order, and is transmitted within the exchange system 100. Performs work to process order information. This is done in the matching system 150 of the exchange system 100.

그러나, 거래소 시스템(100) 내에서 처리할 수 없는 주문이 있을 경우, 거래소 시스템(100)은 처리하지 못한 주문 정보를 통합 가상화폐 시스템(300)을 구성하는 매칭 시스템(350)으로 전달한다.However, when there is an order that cannot be processed in the exchange system 100, the exchange system 100 transmits the order information that cannot be processed to the matching system 350 constituting the integrated virtual currency system 300.

매칭 시스템(350)은 다양한 거래소 시스템(100)이 전달하는 주문정보를 수신하고 이를 매칭하여 거래를 완결시킨다. 거래가 완결되면 완결되었다는 정보를 다시 거래소 시스템(100)으로 전달한다. 거래소 시스템(100) 역시 원장(120)에 해당 거래 결과를 저장하고 고객계정(50)으로 거래 완료되었음을 통지한다.The matching system 350 receives order information transmitted from the various exchange systems 100 and matches it to complete the transaction. When the transaction is completed, information indicating that the transaction has been completed is transmitted to the exchange system 100 again. The exchange system 100 also stores the transaction result in the ledger 120 and notifies the customer account 50 that the transaction has been completed.

통합 가상화폐 시스템(300)의 청산시스템(370)은 여러 거래소 시스템들 간의 청산을 담당할 수 있다. 또는 청산 시스템(370)은 개별 고객의 계정들에 대한 청산 역시 담당할 수 있다. 청산은 개별 고객 계정을 관리하는 거래소 시스템(100) 혹은 통합 가상화폐 시스템(300)가 담당할 수 있다.The liquidation system 370 of the integrated virtual currency system 300 may be responsible for liquidation between various exchange systems. Alternatively, the clearing system 370 may also be in charge of clearing individual customer accounts. The liquidation may be performed by the exchange system 100 or the integrated virtual currency system 300 that manages individual customer accounts.

도 1 및 도 2에 제시된 거래소 시스템(100) 및 통합 가상화폐 시스템(300)의 이원화된 구조에서는 각 거래소에서 매수 또는 매도 주문을 접수하고, 접수된 매수/매도 주문의 일부 또는 전부의 매칭 또는 매칭에 연계된 체결 등을 통합 가상화폐 시스템(300)의 매칭 시스템(350)이 처리할 수 있다. In the dual structure of the exchange system 100 and the integrated virtual currency system 300 shown in FIGS. 1 and 2, each exchange receives a buy or sell order, and matches or matches some or all of the received buy/sell orders. The matching system 350 of the integrated virtual currency system 300 may process a contract or the like linked to.

따라서, 통합 가상화폐 시스템(300)을 구성하는 매칭 시스템(350)은 다수의 거래소 시스템(100)이 제공하는 주문 정보를 빠르고 정확하게 처리할 수 있어야 한다. 특히 많은 수의 거래소 시스템(100)과 연결된 통합 가상화폐 가상화폐 시스템(300)은 주문 정보의 매칭에 있어서 매칭 시스템(350)의 안정성과 신속성을 보장할 수 있어야 한다.Accordingly, the matching system 350 constituting the integrated virtual currency system 300 must be able to quickly and accurately process order information provided by the multiple exchange systems 100. In particular, the integrated virtual currency virtual currency system 300 connected to a large number of exchange systems 100 must be able to ensure the stability and speed of the matching system 350 in matching order information.

이와 같은 구성은 각 거래소 시스템(100)이 자율적으로 고객 계정을 관리하며 고객 계정이 요청하는 주문에 대한 기록이나 정보를 저장할 수 있다. 그리고 통합 가상화폐 시스템(300)은 각 거래소 시스템(100)이 전달하는 주문 정보를 매칭할 수 있다. 통합 가상화폐 시스템(300)은 다수의 거래소 시스템(100)이 전달한 주문 정보를 매칭하므로, 매칭율을 높일 수 있다. In this configuration, each exchange system 100 can autonomously manage customer accounts and store records or information on orders requested by the customer accounts. In addition, the integrated virtual currency system 300 may match order information transmitted by each exchange system 100. The integrated virtual currency system 300 matches order information transmitted by a plurality of exchange systems 100, so that the matching rate can be increased.

즉, 도 1 또는 도 2와 같은 구성에서는 각 거래소 시스템(100)에서 접수된 주문을 중앙의 매칭 시스템(350)으로 전송한다. 그리고 매칭 시스템(350)은 해당 정보를 수집해 통합 오더북을 만들고, 체결 또는 시세 정보를 각각의 거래소 시스템(100)으로 전송할 수 있다.That is, in the configuration as shown in FIG. 1 or 2, the order received from each exchange system 100 is transmitted to the central matching system 350. In addition, the matching system 350 may collect the corresponding information to create an integrated order book, and transmit the conclusion or market price information to each exchange system 100.

매칭 시스템(350)은 가격/시간/수량 우선 순으로 주문간의 매칭 및 체결을 수행할 수 있으나 이는 일 실시예이며 주문간의 순서를 정렬하여 매칭시키는 방식은 다양하게 적용될 수 있다. The matching system 350 may perform matching and execution between orders in the order of price/time/quantity priority, but this is an exemplary embodiment, and a method of aligning and matching the order between orders may be applied in various ways.

그리고, 각 거래소 시스템(100)은 시스템의 구성 또는 시스템의 정책에 따라 고객 계정(50)을 통해 접수된 전체 주문을 통합 가상화폐 거래 시스템(300)에 전송할 것인지 일부 주문만을 전송할 것인지 선택할 수 있다. In addition, each exchange system 100 may select whether to transmit all orders received through the customer account 50 to the integrated virtual currency trading system 300 or only some orders according to the configuration of the system or the policy of the system.

그리고 이러한 구성에서 통합 가상화폐 시스템(100)은 각 거래소 시스템(100)이 전달하는 주문의 매칭과 체결을 담당하지만 개별 주문에 대한 고객 계정 정보를 선별적으로 확인할 수 있다. 거래소 시스템(100)은 고객 계정 정보가 완전히 누락된 주문 정보를 통합 가상화폐 시스템(100)에게 제공할 수 있다. 또는 거래소 시스템(100)은 고객 계정 정보를 포함하는 주문 정보를 통합 가상화폐 시스템(100)에게 제공할 수 있다.In this configuration, the integrated virtual currency system 100 is responsible for matching and executing orders delivered by each exchange system 100, but it is possible to selectively check customer account information for individual orders. The exchange system 100 may provide order information in which customer account information is completely omitted to the integrated virtual currency system 100. Alternatively, the exchange system 100 may provide order information including customer account information to the integrated virtual currency system 100.

만약 고객 계정 정보가 완전히 누락된 주문 정보의 경우 통합 가상화폐 시스템(100)은 주문 정보를 거래소 시스템(100)으로 식별할 수 있다. In the case of order information in which customer account information is completely missing, the integrated virtual currency system 100 may identify the order information as the exchange system 100.

그리고, 도 1 또는 도 2와 같은 구성에서 거래에 대한 청산은 지갑에 대한 예탁의 주체에 따라 달리 이루어질 수 있다. 예를 들어 지갑이 거래소 시스템(100)의 하위 시스템에 예탁된 경우, 또는 지갑이 통합 가상화폐 시스템(100)의 하위 시스템에 예탁된 경우, 또는 지갑이 별도의 외부 예탁 시스템(커스토디 시스템)에 예탁된 경우에 따라 각각 청산의 주기나 청산의 방식, 또는 청산의 단위가 달라질 수 있다. In addition, in the configuration as shown in FIG. 1 or 2, the liquidation of the transaction may be performed differently depending on the subject of depositing the wallet. For example, when the wallet is deposited in the subsystem of the exchange system 100, or the wallet is deposited in the subsystem of the integrated virtual currency system 100, or the wallet is deposited in a separate external deposit system (Custody system). Depending on the case of deposit, the period of liquidation, the method of liquidation, or the unit of liquidation may vary.

또한 특정 주기로 거래에 대한 청산을 진행하는데, 지갑을 예탁하는 경우, DB 값 조정 및 지갑 내부 이동으로 청산을 진행하고, 비예탁하는 경우, 거래소에서 통합 가상화폐 거래 시스템이 보유한 계좌 및 지갑에 청산 금액에 대한 원화 또는 가상화폐를 입금하고, 확인이 완료된 후에 통합 가상화폐 거래시스템에서 각 거래소로 전송하는 에스크로 방식을 활용하여 청산을 진행할 수 있다. In addition, the transaction is liquidated at a specific cycle.If the wallet is deposited, the DB value is adjusted and the wallet is moved to the inside of the wallet, and if it is not deposited, the liquidation amount in the account and wallet held by the integrated virtual currency trading system at the exchange. After depositing KRW or virtual currency for and after confirmation is completed, liquidation can be proceeded using the escrow method that is transferred to each exchange from the integrated virtual currency trading system.

각 거래소 시스템(100)은 주문정보를 처리하는 것에 대한 결정권과 지갑 보유에 대한 결정권을 보유할 수 있다. 다만 주문을 처리하는 것에 대한 결정권과 별개로 통합 오더북을 사용하기 때문에 주문량이 많아질수록 통합 가상화폐 시스템(300)의 체결가와 각 거래소 시스템(100)의 체결가 사이의 차이는 줄어들어 결국 0으로 수렴할 수 있다. Each exchange system 100 may have a right to decide on processing order information and a right to hold a wallet. However, since the integrated order book is used separately from the decision to process orders, the difference between the execution price of the integrated virtual currency system 300 and the execution price of each exchange system 100 decreases as the order volume increases, and eventually converges to zero. can do.

즉, 거래소 시스템(100)들이 각각 거래 주문을 수신하여도 이의 매칭 및 체결이 통합 가상화폐 시스템(300)에서 이루어지도록 할 경우, 각 거래소의 주문을 통합 관리함으로써 가상통화의 거래 가격이 단일 시장을 가진 유가증권의 거래와 같이 본질적인 가치와 수요/공급의 원리에 따라 형성될 수 있도록 한다. That is, even if the exchange system 100 receives each transaction order, if the matching and execution of the transaction order is performed in the integrated virtual currency system 300, the transaction price of the virtual currency can be reduced to a single market by managing the order of each exchange. It allows it to be formed according to the intrinsic value and supply/demand principles, such as the trading of held securities.

또한, 가상화폐 별로 단일하게 수렴된 가격이 형성됨에 따라 가상화폐 거래는 투기의 대상이 아닌 프로젝트/기술 중심의 가치 투자 대상이 되므로 무분별한 가상화폐 발행이 억제되고, 투기성의 가상화폐가 퇴출되는 자정 효과 발생시킬 수 있다.In addition, as a single converged price for each cryptocurrency is formed, cryptocurrency transactions are not subject to speculation, but rather project/technology-oriented value investment targets, thereby suppressing reckless cryptocurrency issuance, and the midnight effect that speculative cryptocurrencies are withdrawn Can occur.

이는 가상화폐 또는 암호화폐 기술의 대중화와 관련 산업의 활성화를 만들 수 있으며, 통합 오더북을 기반으로 빠른 체결에 기반한 거래 시장의 확대를 가져올 수 있다. This can lead to the popularization of virtual currency or cryptocurrency technology and revitalization of related industries, and can lead to an expansion of the trading market based on fast execution based on an integrated order book.

그런데, 이러한 통합 오더북을 기반으로 하는 체결은 다양한 가상화폐의 거래를 처리함에 있어서의 안전성과 신속성을 제공해야 한다. 따라서, 본 명세서에서는 각 거래소 시스템(100)의 주문을 통합 오더북으로 처리하는 것과 이를 위한 제반 시스템을 구성하는 것에 대해 살펴본다. 또한 각 거래소 시스템(100)이 거래를 처리함에 있어서의 자율성을 보장하되 각 거래소 시스템(100)에서 전달되는 주문 정보가 공정하게 매칭되도록 하여 가상 거래의 공정한 거래를 활성화 시킨다. However, the conclusion based on such an integrated order book must provide safety and speed in processing various virtual currency transactions. Therefore, in the present specification, it will be described that the order of each exchange system 100 is processed as an integrated order book and all systems are configured therefor. In addition, while each exchange system 100 guarantees autonomy in processing transactions, order information transmitted from each exchange system 100 is matched fairly, thereby activating fair transactions in virtual transactions.

도 3은 본 발명의 일 실시예에 의한 거래소 시스템과 통합 가상화폐 시스템의 거래 처리 과정을 보여준다.3 shows a transaction processing process of an exchange system and an integrated virtual currency system according to an embodiment of the present invention.

각각의 거래소 시스템(100a, 100b)들은 고객들로부터 접수한 주문 정보 전체를 통합 가상화폐 시스템(300)으로 보낼지, 혹은 일부는 내부적으로 처리하고 일부의 주문 정보를 보낼지 선택한다(S1a, S1b). 그리고 각각의 거래소 시스템(100a, 100b)들은 선택한 바에 따라 주문 정보를 통합 가상화폐 시스템(300)으로 송신한다(S2a, S2b).Each exchange system (100a, 100b) selects whether to send the entire order information received from customers to the integrated virtual currency system 300, or whether to process some internally and send some order information (S1a, S1b). And each exchange system (100a, 100b) transmits the order information to the integrated virtual currency system 300 according to the selection (S2a, S2b).

그리고, 통합 가상화폐 시스템(300)은 수신된 주문 정보를 통합 오더북으로 구성해 가격/시간/수량 우선 순으로 체결을 진행하며(S3), 이에 따른 체결, 시세 정보 등을 각 거래소로 전송한다(S4a, S4b).In addition, the integrated virtual currency system 300 organizes the received order information into an integrated order book and proceeds to sign in order of price/time/quantity priority (S3), and transmits the signing and market price information accordingly to each exchange. (S4a, S4b).

여기서, 통합 가상화폐 시스템(300)은 S3의 각 체결 정보를 통합 가상화폐 시스템(300)의 DB 서버에 보관하고 청산을 통해 거래 밸런스를 유지할 수 있다. 청산 방식은 지갑 예탁에 따라 2가지 방식으로 진행될 수 있다. Here, the integrated virtual currency system 300 may store each contract information of S3 in the DB server of the integrated virtual currency system 300 and maintain a balance of transactions through liquidation. The liquidation method can be carried out in two ways depending on the deposit of the wallet.

먼저, 통합 가상화폐 시스템(300)이 지갑을 예탁하는 경우, 특정 주기로 거래에 대한 청산을 진행할 수 있는데, 예를 들어 DB 기록으로 청산을 진행할 수 있다. First, when the integrated virtual currency system 300 deposits a wallet, the transaction may be liquidated at a specific period, for example, it may be liquidated with a DB record.

다음으로, 통합 가상화폐 시스템(300)이 지갑을 예탁하지 않는 경우, 거래소 시스템(100)은 통합 가상화폐 시스템(300)이 보유한 계좌 및 지갑으로 청산 금액에 대한 원화 또는 가상화폐를 입금한다. 그리고 통합 가상화폐 시스템(300)에서 입금 확인이 완료된 후에 다시 다른 거래소 시스템(100)으로 전송하는 에스크로 방식을 활용할 수 있다. Next, when the integrated virtual currency system 300 does not deposit the wallet, the exchange system 100 deposits KRW or virtual currency for the liquidation amount into the account and wallet held by the integrated virtual currency system 300. In addition, it is possible to utilize an escrow method in which the integrated virtual currency system 300 transmits the payment back to the other exchange system 100 after the payment confirmation is completed.

이 과정에서 블록체인 네트워크를 이용하는 경우를 구분하면 아래와 같다. 통합 가상화폐 시스템(300)에 지갑이 예탁된 경우 고객 입출금 시, 거래소 시스템(100)에서 통합 가상화폐 시스템(300)으로 자산 이동이 필요한 경우(반대의 경우 포함)에 블록체인 네트워크를 이용할 수 있다. The case of using a blockchain network in this process is as follows. When a wallet is deposited in the integrated virtual currency system 300, the blockchain network can be used when it is necessary to transfer assets from the exchange system 100 to the integrated virtual currency system 300 (including vice versa) when depositing and withdrawing customers. .

통합 가상화폐 시스템(300)에 지갑이 예탁되지 않은 경우 일청산 시, 거래소 시스템(100)에서 통합 가상화폐 시스템(300)으로 자산 이동이 필요한 경우(반대의 경우 포함)에 블록체인 네트워크를 이용할 수 있다. 이 경우 고객 입출금을 거래소 시스템(100)에서 처리하기 때문에 통합 가상화폐 시스템(300)은 입출금에 관여하지 않는다. If the wallet is not deposited in the integrated virtual currency system 300, the blockchain network can be used when it is necessary to move assets from the exchange system 100 to the integrated virtual currency system 300 (including vice versa) at the time of daily liquidation. have. In this case, since the customer deposit and withdrawal is processed by the exchange system 100, the integrated virtual currency system 300 does not participate in the deposit and withdrawal.

한편, 이상 거래 방지를 위해 지갑이 통합 가상화폐 시스템(300)에 예탁된 경우, 거래소 별 고객 예탁 자산을 거래 한도로 설정할 수 있다. 통합 가상화폐 시스템(300)이 지갑을 예탁하지 않는 경우, 다른 곳에 예탁된 거래소의 가상화폐 지갑 내 수량을 일정한 주기로 체크해 한도로 설정하고, 실제 청산 시 에스크로 방식을 통해 이상 거래를 이중으로 통제할 수 있다. On the other hand, in order to prevent abnormal transactions, when the wallet is deposited in the integrated virtual currency system 300, the customer deposited assets for each exchange may be set as a transaction limit. If the integrated cryptocurrency system 300 does not deposit the wallet, the amount in the cryptocurrency wallet of the exchange deposited elsewhere is checked at regular intervals and set as a limit, and abnormal transactions can be double controlled through the escrow method at the time of actual liquidation. have.

한편, 통합 가상화폐 시스템(300)은 주기적으로 또는 네트워크 부하나 가상화폐의 거래 상황에 따라 매칭 시스템의 로드 밸런싱을 수행한다(S5).Meanwhile, the integrated virtual currency system 300 performs load balancing of the matching system periodically or according to the network load or the transaction status of the virtual currency (S5).

이를 위해, 통합 가상화폐 시스템(300)은 기술적으로는 DB 공유 키(DB Sharing Key)를 각 가상화폐 종목 별로 설정하여 매칭 서버 별 고유한 종목 그룹을 만들어 상호 독립적으로 동작하며, 특정 서버의 부하나 장애로 인해 서로 영향을 받지 않도록 구현할 수 있다. To this end, the integrated virtual currency system 300 technically sets a DB Sharing Key for each virtual currency item, creates a unique item group for each matching server, and operates independently of each other. It can be implemented so that it is not affected by each other due to obstacles.

이를 통해 가상화폐의 종목 그룹의 확장 등의 이유로 매칭 서버를 증설할 경우에 기존 매칭 서버가 영향을 받지 않도록 하여 운영 중에 확장이 가능하다. In this way, when a matching server is added for reasons such as expansion of a stock group of virtual currency, the existing matching server can be expanded during operation so that it is not affected.

그리고 한쪽 그룹의 특정 종목이 부하가 많을 경우에 DB 클러스터링(DB Clustering)를 이용하여 다른 쪽 그룹으로 이동, 처리 가능하도록 할 수 있다. 그리고 모든 서버의 공통 공유 테이블은 클론(Clone)시켜 한 곳에서 공통정보가 관리 가능하도록 할 수 있다. In addition, when a specific item in one group is under heavy load, it can be moved to the other group and processed using DB Clustering. In addition, common shared tables of all servers can be cloned so that common information can be managed in one place.

도 1 및 도 2의 구성에서 거래소 시스템(100) 혹은 통합 가상화폐 시스템(300) 중 어느 하나는 각 고객 계정에 할당되는 지갑을 보유하며 가상화폐를 수탁 및 보관할 수 있다. 물론, 별도의 커스토디(custody) 업체가 고객 계정 별 지갑을 보유하고 가상화폐의 수탁 및 보관할 수 있다.In the configuration of FIGS. 1 and 2, either the exchange system 100 or the integrated virtual currency system 300 holds a wallet assigned to each customer account, and can entrust and store virtual currency. Of course, a separate custody company can hold a wallet for each customer account and entrust and store virtual currency.

도 4는 본 발명의 일 실시예에 의한 통합 가상화폐 시스템에서 매칭이 이루어지는 구성을 보여준다. 여기서 지갑은 통합 가상화폐 시스템(300) 내에 배치될 수도 있고 별도의 커스토디 업체의 시스템 내에 배치될 수도 있다. 4 shows a configuration in which matching is performed in an integrated virtual currency system according to an embodiment of the present invention. Here, the wallet may be disposed in the integrated virtual currency system 300 or may be disposed in a system of a separate custodi company.

제어부(400)는 통합 가상화폐 시스템(300)의 전체 동작을 제어한다. 따라서 제어부(400)는 통합 가상화폐 시스템(300) 내부의 구성요소들의 동작을 제어하고, 이들과 외부의 거래소 시스템(100) 사이의 동작을 제어한다.The control unit 400 controls the overall operation of the integrated virtual currency system 300. Accordingly, the control unit 400 controls the operation of the components inside the integrated virtual currency system 300 and controls the operation between them and the external exchange system 100.

또한, 통합 가상화폐 시스템(300)은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템(375)을 포함할 수 있다. In addition, the integrated virtual currency system 300 may include a limit system 375 that manages information on a limit at which each exchange system can sell or buy.

또한, 통합 가상화폐 시스템(300)은 다수의 거래소 시스템 사이 또는 거래소 시스템과 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템(370)을 포함할 수 있다. In addition, the integrated virtual currency system 300 may include a liquidation system 370 that performs liquidation according to the purchase and sale of virtual currency between a plurality of exchange systems or between the exchange system and the integrated virtual currency system.

통합 가상화폐 시스템(300)과 거래소 시스템(100)은 도 3의 플로우에 따라 주문을 송수신하거나, 주문 결과를 송수신하거나, 체결 결과를 송수신할 수 있다(S11). 또한, 거래소 시스템(100)이 각각의 고객들에게 거래와 관련된 가상 화폐의 시세 정보나 각각의 청산 결제 내역, 또는 시세 정보의 수신과 정보의 배치 등을 처리할 수 있다(S12). 이 과정에서 거래소 시스템(100)과 통합 가상화폐 시스템(300) 사이에는 송수신되는 정보의 특성에 따라 다양한 통신 방식을 선택할 수 있으며, 일 실시예로 TCP/IP 소켓 방식, JNL 커넥트 방식, TCP send 방식을 선택할 수 있다. The integrated virtual currency system 300 and the exchange system 100 may transmit/receive an order, transmit/receive an order result, or transmit/receive a conclusion result according to the flow of FIG. 3 (S11). In addition, the exchange system 100 may process the market price information of the virtual currency related to the transaction, the payment details of each liquidation, or the reception of the market price information and the arrangement of information to each customer (S12). In this process, various communication methods can be selected between the exchange system 100 and the integrated virtual currency system 300 according to the characteristics of the information transmitted and received, and in one embodiment, a TCP/IP socket method, a JNL connect method, and a TCP send method. You can choose.

통합 가상화폐 시스템(300)은 거래소 시스템(100)과 통신을 수행하는 게이트웨이(Gateway, G/W)를 다수 보유할 수 있다. 그리고 마켓 데이터(Market data)를 TCP 송신하는 별도의 통신 채널로 "Market Data FEP #1"와 같이 보유할 수 있다. The integrated virtual currency system 300 may have a plurality of gateways (G/W) that communicate with the exchange system 100. In addition, as a separate communication channel through which market data is transmitted by TCP, it can be retained as "Market Data FEP #1".

도 4에서 통합 가상화폐 시스템(300)은 청산 과정에서 이용할 수 있도록 한도 시스템(375), 청산 시스템(370)을 보유할 수 있다. 또한, 통합 가상화폐 시스템(300)은 다수의 매칭 서버들로 구성된 매칭 시스템(350)을 포함할 수 있다. In FIG. 4, the integrated virtual currency system 300 may have a limit system 375 and a liquidation system 370 to be used in the liquidation process. In addition, the integrated virtual currency system 300 may include a matching system 350 composed of a plurality of matching servers.

특히, 매칭 시스템(350)은 각각의 가상화폐 또는 법정 화폐의 종류(예를 들어 BTC, ETH, KRW)에 따라 각각 매칭 서버들을 설정할 수 있다. 그리고 특정 화폐들의 매칭을 위해 매칭 시스템(350)은 현재 매칭을 수행하는 액티브 매칭 서버(Active Matching Server)와 스탠바이 매칭 서버(Standby Matching Server)를 화폐 별로(종목 별로) 각각 하나 이상 할당할 수 있다. In particular, the matching system 350 may set matching servers according to each type of virtual currency or legal currency (for example, BTC, ETH, KRW). In addition, for matching specific currencies, the matching system 350 may allocate one or more each of an active matching server and a standby matching server that currently perform matching for each currency (for each item).

또한 액티브 매칭 서버와 스탠바이 매칭 서버가 하나의 그룹으로 동작할 경우 데이터의 일치를 위해 하나의 메모리 DB(Memory DB)를 공유할 수 있다. In addition, when the active matching server and the standby matching server operate as a group, one memory DB (DB) can be shared for data matching.

즉, 매칭 시스템(350)은 화폐의 분배 규정이나 화폐의 거래 상태 등에 따라 다수의 매칭 서버를 화폐 별로 할당할 수 있다. 물론, 거래가 적은 다수 종류의 가상화폐들이 하나의 매칭 서버에서 매칭될 수 있다. That is, the matching system 350 may allocate a plurality of matching servers for each currency according to a currency distribution rule or currency transaction status. Of course, multiple types of cryptocurrencies with few transactions can be matched on one matching server.

이하, 도 4에서 화폐 별로 그룹화된 액티브 매칭 서버-스탠바이 매칭 서버-메모리 DB를 매칭 서브시스템이라 지시한다. 여기서 스탠바이 매칭 서버는 선택적으로 포함될 수 있다. Hereinafter, the active matching server-standby matching server-memory DB grouped by currency in FIG. 4 is indicated as a matching subsystem. Here, the standby matching server may be optionally included.

마켓 데이터(Market Data)는 각 가상화폐 또는 법정화폐 별로 발생하는 다양한 정보의 집합이며, 통합 가상화폐 시스템(300)은 이를 거래소 시스템(100)에게 전달한다. 통합 가상화폐 시스템(300)은 "distr"을 이용하여 다양한 데이터를 취합할 수 있다. Market data is a collection of various information generated for each virtual currency or fiat currency, and the integrated virtual currency system 300 delivers it to the exchange system 100. The integrated virtual currency system 300 may collect various data using "distr".

예탁 시스템(800) 및 블록체인 네트워크(900)는 통합 가상화폐 시스템(300)와 별도로 배치되거나 혹은 포함하도록 구성될 수 있다. The deposit system 800 and the blockchain network 900 may be separately disposed or configured to include the integrated virtual currency system 300.

도 5는 본 발명의 일 실시예에 의한 매칭 시스템의 구성을 보여준다. 도 5에서 각각의 가상화폐들을 그룹으로 정의한 것이 코인 그룹(Coin Group)이다. 코인 그룹은 하나의 가상 화폐에 대응할 수 있고, 혹은 다수의 가상 화폐를 그룹으로 묶은 것에 대응할 수 있다. 5 shows a configuration of a matching system according to an embodiment of the present invention. In Fig. 5, each of the virtual currencies is defined as a group, which is a Coin Group. A coin group can correspond to one virtual currency, or it can correspond to a group of multiple virtual currencies.

매칭 서버들은 코인 그룹 별로 할당되어 있다. 그리고 매칭 서버들에 할당된 메모리 DB들은 모두 클러스터링된 상태이다. 그 결과, 코인 그룹 내에서 매칭 서버가 이동하거나 추가될 경우에도 클러스터링된 메모리 DB들을 이용하여 심리스(seamless)하게 매칭 기능을 수행할 수 있다. Matching servers are allocated for each coin group. And all the memory DBs allocated to the matching servers are clustered. As a result, even when a matching server is moved or added within a coin group, a matching function can be performed seamlessly using clustered memory DBs.

한편, 매칭 서버들 각각은 상호 독립적으로 동작한다. 그 결과 새로운 매칭 서버인 #N이 언제든지 추가로 확장될 수 있다. 물론, 새로운 매칭 서버인 #N이 추가로 결합될 경우, 클러스터링된 메모리 DB를 이용할 수 있으므로, 별도의 메모리 DB 백업 과정 없이도 매칭 서버 #N이 매칭 기능을 수행할 수 있다.Meanwhile, each of the matching servers operates independently of each other. As a result, #N, a new matching server, can be further expanded at any time. Of course, when the new matching server #N is additionally combined, the clustered memory DB can be used, so that the matching server #N can perform the matching function without a separate memory DB backup process.

예를 들어, 코인그룹 #1은 하나의 매칭 서버 #1이 매칭을 수행하는데, 코인 그룹 #1에 포함된 코인의 거래량이 폭증할 경우, 매칭 시스템(350) 내에서 로드 밸런싱을 수행하여 유휴 매칭 서버인 매칭 서버 #N을 코인 그룹 #1에 포함시킨다. 도 6에서 보다 상세히 살펴본다.For example, in coin group #1, one matching server #1 performs matching.When the transaction volume of coins included in coin group #1 increases, load balancing is performed within the matching system 350 to perform idle matching. Matching server #N, a server, is included in coin group #1. It will be described in more detail in FIG. 6.

도 6은 본 발명의 일 실시예에 의한 새로운 매칭 서버가 추가된 매칭 시스템의 구성이다. 코인 그룹 #1의 매칭을 위해 매칭 서버 #1 및 매칭 서버 #N이 할당된 상태이다. 즉, 도 5의 실시예에서 새로운 매칭 서버 #N이 코인 그룹 #1에 추가된 상태이다.6 is a configuration of a matching system to which a new matching server is added according to an embodiment of the present invention. Matching server #1 and matching server #N are assigned to match coin group #1. That is, in the embodiment of FIG. 5, a new matching server #N is added to coin group #1.

전술한 실시예들을 정리하면 다음과 같다. 각 매칭서버는 코인별로 그룹핑 가능하며, 그룹내 코인 개수는 다수 개가 될 수 있다. 물론, 코인 그룹의 수도 다수 개가 될 수 있다. 매칭 서버를 추가하면 코인 그룹의 수는 계속 확장시킬 수 있다. The above-described embodiments are summarized as follows. Each matching server can be grouped by coin, and the number of coins in the group can be multiple. Of course, there can be multiple coin groups. By adding matching servers, the number of coin groups can continue to expand.

한편, 코인 그룹내에 있는 코인은 해당 그룹 내에서 다른 코인 그룹으로 이동할 수 있다. 예를 들어 Coin_A라는 코인이 코인 그룹 #1에 소속된 상태에서 거래되는 중에 새로이 코인 그룹 #5로 이동할 수 있다. 물론, 이러한 이동은 코인 그룹 #1에 포함된 다른 코인들 또는 코인 그룹 #5에 포함된 다른 코인들의 주문 및 매칭이나 체결에 전혀 영향을 미치지 않는다. On the other hand, coins in a coin group can be moved to another coin group within that group. For example, a coin called Coin_A can be moved to coin group #5 while being traded while belonging to coin group #1. Of course, this movement has no effect on the ordering, matching, or execution of other coins in coin group #1 or other coins in coin group #5.

한편, 매칭 서버들은 주문을 주고 받는 한도시스템(375)과는 저널을 통해 연결(JNL connect)되며, 한도 시스템(375)에 이상이 발생할 시 별도의 백업 서버인 백업 한도 시스템(Active-Active 방식)으로 연결하여 통신할 수 있다.On the other hand, the matching servers are connected to the limit system 375 through a journal (JNL connect), and when an abnormality occurs in the limit system 375, a backup limit system (active-active method), which is a separate backup server. You can communicate by connecting with

또한, 매칭 서버는 도 4에서 살펴본 바와 같이 액티브-스탠바이(Active-Standby) 형태로 구성되며, 매칭 서버에서 문제가 발생할 경우에도 한도 서버에 기록된 주문의 경우 스탠바이 매칭 서버가 액티브로 전환되면서 주문을 처리할 수 있다. 그 결과, 매칭 서버에 이상이 발생하여도 연속적으로 거래를 처리할 수 있다. In addition, the matching server is configured in an active-standby type as shown in FIG. 4, and even if a problem occurs in the matching server, in the case of an order recorded in the limit server  The standby matching server is switched to active and orders are placed. You can handle it. As a result, even if an abnormality occurs in the matching server, transactions can be continuously processed.

뿐만 아니라, 거래소 시스템(100)의 내부 거래는 거래소 시스템(100)을 관리하는 회원사 내부에서 자체적으로 이뤄지며, 통합 가상화폐 시스템(300)으로 이관하는 주문은 거래소 시스템(100)의 자체 매커니즘을 통해 선별될 수 있다. In addition, internal transactions of the exchange system 100 are made within the member company that manages the exchange system 100, and orders transferred to the integrated virtual currency system 300 are selected through the exchange system's own mechanism. Can be.

전술한 실시예에서 스탠바이 매칭 서버가 액티브 매칭 서버를 교체하거나 혹은 액티브 매칭 서버의 매칭 작업을 나누어 수행할 수 있기 위해서는 스탠바이 매칭 서버와 액티브 매칭 서버가 메모리를 공유하거나 혹은 동일한 메모리 데이터베이스를 유지하는 것이 필요하다. In the above-described embodiment, in order for the standby matching server to replace the active matching server or divide and perform matching tasks of the active matching server, it is necessary for the standby matching server and the active matching server to share memory or maintain the same memory database. Do.

이에, 제어부(400)는 제1액티브 매칭 서버의 메모리 데이터베이스와 상기 제1액티브 매칭 서버를 백업하는 제1스탠바이 매칭 서버의 메모리 데이터베이스가 동일성을 유지시킨다. 일 실시예로, 제어부(400)는 제1액티브 매칭 서버의 메모리 데이터베이스의 업데이트에 따라 제1스탠바이 매칭 서버의 메모리 데이터베이스를 업데이트하여, 두 매칭 서버의 메모리 데이터베이스가 동일한 값을 유지하도록 제어한다. Accordingly, the control unit 400 maintains the sameness between the memory database of the first active matching server and the memory database of the first standby matching server that backs up the first active matching server. In an embodiment, the controller 400 updates the memory database of the first standby matching server according to the update of the memory database of the first active matching server, and controls the memory databases of the two matching servers to maintain the same value.

도 7은 본 발명의 일 실시예에 의한 한도 서버와 매칭 서버사이의 상호 작용을 보여준다. 7 shows an interaction between a limit server and a matching server according to an embodiment of the present invention.

한도 시스템(375) 역시 다수의 한도 서버들로 구성될 수 있다. 도 7에서 각각의 매칭 서버들 중에서 코인 그룹 #1에 할당된 액티브 매칭 서버는 A:Mat-G1로 표시되고, 코인 그룹 #1에 할당된 스탠바이 매칭 서버는 S:Mat-G1로 표시된다. 그 외에 코인 그룹 #2, #3.. 등에 대해서도 동일하게 적용된다. Limit system 375 may also be composed of multiple limit servers. In FIG. 7, the active matching server allocated to coin group #1 among the matching servers is indicated as A:Mat-G1, and the standby matching server allocated to coin group #1 is indicated as S:Mat-G1. In addition, the same applies to coin groups #2, #3.., etc.

각 매칭 서버들은 코인별 그룹핑에 의해 결정 되며 그룹내 코인 의 개수 역시 다수개로 확장 가능하다. 물론 코인 그룹의 개수 역시 다수개로 확장 가능하다.Each matching server is determined by grouping for each coin, and the number of coins in the group can also be expanded to multiple. Of course, the number of coin groups can also be expanded to multiple.

각각 결정된 코인 그룹 내에서도 거래되는 코인들은 다른 그룹으로 이동 가능하며, 해당 그룹 내 타 코인 역시 주문을 지속하여 수행할 수 있다.Coins that are traded within each determined coin group can be moved to another group, and other coins within the group can also be ordered continuously.

매칭 서버들은 주문을 주고 받는 PT 서버(한도 서버)와 JNL(저널)을 통해 연결을 확인한다. 확인 방식으로 폴링(Polling)을 수행할 수 있다. 또한 한도 서버를 변경할 때에는 미리 설정 된 백업 PT 서버로 자동 접속하여 한도 서버를 변경할 수 있다. The matching servers check the connection through the PT server (limit server) that sends and receives orders and JNL (journal). Polling can be performed as a confirmation method. In addition, when changing the limit server, it is possible to change the limit server by automatically connecting to the preset backup PT server.

한편, 페일 오버(Fail-Over)를 위해 도 7에 도시된 바와 같이 액티브-스탠바이(Active-StanBy) 매칭 서버들로 구현되며 페일 오버를 수행하는 방식으로는 JNL 이관 방식과 Seq 초기화 방식과 같이 2가지에 기반하여 수행될 수 있다.Meanwhile, as shown in FIG. 7 for fail-over, as shown in FIG. 7, active-standby matching servers are used, and as a method of performing fail-over, the JNL transfer method and the Seq initialization method are used. It can be done on a branch basis.

JNL 이관 방식은 액티브 매칭 서버의 dat 파일을 스탠바이 매칭 서버로 이관하여 DB Seq를 초기화할 필요없이 거래가 연속적으로 처리될 수 있다.The JNL transfer method transfers the dat file of the active matching server to the standby matching server so that transactions can be processed continuously without the need to initialize DB Seq.

다음으로 Seq 초기화 방식은 연결된 서버의 JNL seq를 초기화하여 다시 1번부터 거래를 연속적으로 처리하는 방식이다. Seq 초기화가 데이터의 초기화를 의미하지 않는다. Next, the Seq initialization method initializes the JNL seq of the connected server and processes transactions continuously from No. 1 again. Seq initialization does not mean data initialization.

즉, PT 서버는 액티브-액티브로 구성되어 모든 백업 서버들이 액티브 상태를 유지한다. 반면, 매칭 서버는 액티브-스탠바이로 유지하여 액티브 매칭 서버에 이상이 발생할 경우 스탠바이 매칭 서버가 액티브 매칭 서버를 대신할 수 있다. That is, the PT server is configured as active-active so that all backup servers remain active. On the other hand, the matching server is maintained as an active-standby, and when an error occurs in the active matching server, the standby matching server may replace the active matching server.

도 8은 본 발명의 일 실시예에 의한 하나의 코인 그룹 내의 매칭 과정을 보여준다. 8 shows a matching process within one coin group according to an embodiment of the present invention.

통합 가상화폐 시스템(300)이 거래소 시스템(100)으로부터 전송된 주문을 수신하면(S15), 매칭 과정을 통해 주문에 대해 응답을 수행한다(S16). 이 과정에서 한도 서버에게 해당 거래소 시스템(100)의 한도를 확인할 수 있다(S16a). When the integrated virtual currency system 300 receives the order transmitted from the exchange system 100 (S15), it responds to the order through a matching process (S16). In this process, it is possible to check the limit of the exchange system 100 with the limit server (S16a).

그리고 통합 가상화폐 시스템(300)은 주문의 호가에 기반하여 매칭 및 체결을 수행하고(S17) 거래소 시스템(100)에게 통지한다(S18a). 이 과정에서 한도 서버에게 해당 거래소 시스템(100)의 체결 상황을 알릴 수 있다(S18a).In addition, the integrated virtual currency system 300 performs matching and execution based on the quoted price of the order (S17) and notifies the exchange system 100 (S18a). In this process, the limit server may be notified of the execution status of the exchange system 100 (S18a).

또한, 통합 가상화폐 시스템(300)은 주문이 만료되었다는 메시지를 수신하거나(S21), 가상화폐의 거래에 관련된 장의 운영이나 배치, 또는 상장이나 상폐에 대한 정보들(S22, S23)을 처리하고 이에 대한 정보를 거래소 시스템(100)에게 통지할 수도 있다. In addition, the integrated virtual currency system 300 receives a message indicating that the order has expired (S21), the operation or arrangement of the chapter related to the transaction of the virtual currency, or the information on listing or currency exchange (S22, S23), and The information on the exchange may be notified to the exchange system 100.

도 9는 본 발명의 일 실시예에 의한 매칭 및 체결 과정을 보여준다. 도 9에서 매칭 서버가 N개 배치된 상태이다. N개의 매칭 서버들은 다수의 코인들, 즉 Coin A~Coin Z, Coin 1~Coin n의 매칭을 담당한다. 9 shows a matching and fastening process according to an embodiment of the present invention. In FIG. 9, N matching servers are arranged. N matching servers are in charge of matching multiple coins, namely Coin A~Coin Z, Coin 1~Coin n.

각 매칭 서버들은 코인 그룹으로 할당된 코인의 매칭을 담당한다. 이때, 각 매칭 서버들 간에는 공유키(Sharing key)를 이용하여 매칭 서버의 부하를 분산할 수 있다(S31). 분산의 방식으로 한도시스템(중계서버)이 각 코인별 매칭을 담당하는 매칭 서버를 거래량 기준으로 분배하여 각 매칭 서버별 부하를 밸런싱(Balancing)할 수 있다. 매칭 서버별로 매칭이 수행되는 코인은 거래사 시스템(100)의 주문정보의 종목코드별 공유키(Shard Key)를 부여하여, 담당 매칭 서버로 전송될 수 있다. Each matching server is responsible for matching the coins allocated to the coin group. At this time, the load of the matching server may be distributed between the matching servers using a sharing key (S31). In a distributed method, the limit system (relay server) distributes the matching servers in charge of matching for each coin based on transaction volume, so that the load for each matching server can be balanced. Coins for which matching is performed for each matching server may be transmitted to a matching server in charge by assigning a shard key for each item code of the order information of the trading company system 100.

또한 부하 분산을 위해 거래량에 따라 매칭 서버를 배치할 수 있다. 예를 들어 도 9에서는 거래량의 크기가 Coin A > Coin B > Coin C > ... > Coin Z가 될 수 있다. 또한 거래량의 크기가 Coin 1 > Coin 2 > Coin 3 > ... > Coin n 이 될 수 있다. 여기에서 거래량의 크기가 Coin Z > Coin 1의 관계를 만족시킬 수 있고 혹은 그렇지 않을 수도 있다. 도 9에서 가장 거래량이 많은 Coin A와 가장 거래량이 적은 Coin n 을 하나의 매칭 서버 #1에 할당할 수 있다. In addition, matching servers can be deployed according to the transaction volume for load balancing. For example, in FIG. 9, the size of the transaction volume may be Coin A> Coin B> Coin C> ...> Coin Z. Also, the size of the transaction volume can be Coin 1> Coin 2> Coin 3> ...> Coin n. Here, the size of the transaction volume may or may not satisfy the relationship of Coin Z> Coin 1. In Fig. 9, Coin A with the largest transaction volume and Coin n with the smallest transaction volume can be allocated to one matching server #1.

한편, 각각의 매칭 서버들은 액티브 상태를 유지하며, 액티브한 매칭 서버들 간에는 기초 데이터를 공유할 수 있다. 그리고 별도의 스탠바이 매칭 서버들이 각각 액티브 매칭 서버에 연결되어 데이터를 실시간 복제할 수 있다. 예를 들어 도 9에서 액티브 매칭 서버 #1에서 에러가 발생하면 페일 오버를 수행하여 스탠바이 매칭 서버 #1이 Coin A와 Coin n의 매칭을 담당한다. Meanwhile, each matching server maintains an active state, and basic data can be shared between active matching servers. In addition, separate standby matching servers are connected to the active matching servers, respectively, so that data can be replicated in real time. For example, if an error occurs in active matching server #1 in FIG. 9, failover is performed, and standby matching server #1 is in charge of matching Coin A and Coin n.

보다 상세히 살펴본다. 각 거래소 시스템(100)들이 주문을 전송하면, MDB(Memory DB)의 주문 테이블에는 거래와 관련된 정보가 저장된다. 회원사인 각 거래소 시스템(100)들이 전송하는 주문 정보는 주문일자, 회원사번호, 지점번호, 회원사에서 관리하는 주문번호, 종목코드, 주문호가 유형, 거래유형, 가격, 수량 정보 등을 포함한다. Let's look at it in more detail. When each exchange system 100 transmits an order, information related to the transaction is stored in an order table of a memory DB (MDB). The order information transmitted by each exchange system 100 as a member includes an order date, a member company number, a branch number, an order number managed by a member company, an item code, an order price type, transaction type, price, quantity information, and the like.

각 회원사 번호 및 회원사 주문 번호는 거래소 시스템(100)을 식별하거나, 거래소 시스템(100)이 생성한 주문 번호인 것을 일 실시예로 한다(S32). 그리고 각 주문에는 오더 번호가 채번된다(S33). 이는 오더 번호의 할당을 의미하는데, 매칭 서버는 수신 처리 성공으로 시퀀셜한 숫자(예를 들어 Seq)를 증가 시키고, 정합성을 체크 후 통과 시 오더번호를 채번할 수 있다. Each member company number and member company order number identifies the exchange system 100 or is an order number generated by the exchange system 100 as an embodiment (S32). In addition, an order number is assigned to each order (S33). This means allocating an order number. The matching server can increase the sequential number (for example, Seq) due to the success of the reception process, and can retrieve the order number when passing after checking the consistency.

오더번호가 채번이 되면 주문오더 큐에 해당 오더번호를 Enqueue 한다(S44). 매칭 서버는 MDB의 주문오더 큐(queue)에 오더 번호를 인큐(enqueue)한다(S44). 그리고 매칭 서버는 주문오더 큐에 입력된 오더 번호를 순서대로 디큐(dequeue)한다(S35). 큐는 선입선출(First-in, First-out) 방식으로 먼저 입력된 데이터를 먼저 처리하는 데이터 구조이다.When the order number is called, the order number is enqueued to the order order queue (S44). The matching server enqueues the order number to the order order queue of the MDB (S44). In addition, the matching server dequeues the order numbers entered in the order order queue in order (S35). A queue is a data structure that first processes data inputted first in a first-in, first-out method.

디큐된 오더 번호에 의해 오더가 감지되면 오더 감지 애플리케이션이 매칭 프로세스에게 시그널을 전송한다(S36). 즉, 오더 감지 어플리케이션은 주문오더큐를 폴링(polling)으로 감지하여 신규 오더가 감지 되었을 경우 해당 오더번호를 디큐할 수 있다(S35). 그리고, 오더 감지 어플리케이션에서 오더번호 디큐가 성공하면 매칭을 담당하는 프로세스로 시그널을 전송한다(S36). When an order is detected by the dequeued order number, the order detection application transmits a signal to the matching process (S36). That is, the order detection application may detect the order order queue by polling and dequeue the corresponding order number when a new order is detected (S35). And, if the order number dequeuing succeeds in the order detection application, a signal is transmitted to the process in charge of matching (S36).

그리고 매칭 프로세스는 MDB의 주문 테이블에서 오더 번호를 이용하여 종목, 가격, 수량, 금액 정보를 조회한 후(S37) 호가 유형이나 거래유형에 따라 매도 DB/매수 DB에서 호가를 조회하여 매칭 프로세스를 실행한다(S38). And the matching process searches item, price, quantity, and amount information using the order number in the MDB's order table (S37), and then executes the matching process by inquiring the ask price from the selling DB/buying DB according to the ask price type or transaction type. Do (S38).

체결이 이루어지면 주문체결 큐(queue)에 체결 오더를 인큐한다(S39). 예를 들어 주문체결 큐에 Taker, Maker, 체결금액, 체결 수량, 체결호가, 체결번호를 저장한다. 그리고 주문체결큐에서 순서대로 체결오더가 청산 시스템으로 디큐되면 청산 시스템(370)에서 청산을 수행한다(S40).When the conclusion is made, the execution order is enqueued in the order settlement queue (S39). For example, taker, maker, execution amount, execution quantity, bid price, and execution number are stored in the order settlement queue. In addition, when the order execution queue is dequeued to the liquidation system in order from the order settlement queue, the liquidation system 370 performs liquidation (S40).

도 9의 구성을 정리하면 다음과 같다. 메모리 데이터 베이스(MDB)는 가상화폐의 주문 정보를 저장하는 주문 테이블과, 주문 테이블의 주문을 입력받아 매칭하는 큐(주문오더 큐, 주문체결 큐)를 포함한다. The configuration of FIG. 9 is summarized as follows. The memory database (MDB) includes an order table that stores order information of virtual currency, and a queue (order order queue, order settlement queue) that receives and matches orders from the order table.

그리고, 액티브 매칭 서버와 이에 대응하여 할당된 스탠바이 매칭 서버의 메모리 데이터베이스는 동일한 내용의 주문 테이블, 동일한 내용의 주문오더 큐, 동일한 내용의 주문체결 큐를 유지한다. 그 결과 제어부(400)는 스탠바이 매칭 서버를 액티비 매칭 서버의 교체 서버로 실시간 제어할 수 있다. 또는 제어부(400)는 스탠바이 매칭 서버를 액티비 매칭 서버의 추가 서버로 실시간 제어할 수 있다. In addition, the memory database of the active matching server and the standby matching server allocated corresponding thereto maintains an order table having the same contents, an order order queue having the same contents, and an order settlement queue having the same contents. As a result, the control unit 400 can control the standby matching server as a replacement server of the activity matching server in real time. Alternatively, the controller 400 may control the standby matching server as an additional server of the activity matching server in real time.

도 10은 본 발명의 일 실시예에 의한 매칭 서버를 재배치하는 프로세스를 보여준다. 10 shows a process of relocating a matching server according to an embodiment of the present invention.

특정 매칭 서버의 부하가 증가하거나 감소하는 등의 상황이 발생할 경우에 매칭 서버의 재배치가 이루어진다. 이에, 통합 가상화폐 시스템(300)은 각각의 매칭 서버들의 상태를 모니터링한다(S51). 예를 들어 관리자 화면을 통해 각 매칭 서버들의 분당 처리횟수 등의 비지 상태(busy state)를 확인할 수 있다. When a situation such as an increase or decrease in the load of a specific matching server occurs, the matching server is relocated. Accordingly, the integrated virtual currency system 300 monitors the status of each matching server (S51). For example, you can check the busy state such as the number of processing times per minute of each matching server through the manager screen.

이후, 특정 코인의 거래량이 증가하는 것이 확인되면(S52), 운영 담당자에게 SMS를 전송한다(S53). 또는 통합 가상화폐 시스템(300)은 관리자 화면에 경고 메시지(alert message)를 출력할 수 있다. 거래랑의 증가는 일정 시간 이내 거래량이 미리 설정된 크기 이상으로 증가한 것을 의미한다. SMS 메시지나 경고 메시지는 거래량이 증가한 코인에 대한 설명 또는 해당 코인의 매칭을 처리하는 서버에 대한 정보를 포함할 수 있다. Thereafter, when it is confirmed that the transaction volume of a specific coin is increased (S52), an SMS is transmitted to the operator (S53). Alternatively, the integrated virtual currency system 300 may output an alert message on the manager screen. The increase in the transaction range means that the transaction volume has increased beyond a preset size within a certain period of time. The SMS message or warning message may include a description of a coin with increased transaction volume or information on a server that processes matching of the coin.

그리고 통합 가상화폐 시스템(300)은 자동으로, 또는 운영자의 제어에 따라 로드 밸런싱 여부를 판단한다(S54). 예를 들어, 통합 가상화폐 시스템(300)는 비지 상태의 매칭 서버 내 거래량이 증가한 코인 또는 거래량이 적은 코인에 대한 정보를 취합한다. And the integrated virtual currency system 300 automatically or according to the control of the operator determines whether to load balance (S54). For example, the integrated virtual currency system 300 collects information on coins with an increased transaction volume or a coin with a small transaction volume in the matching server in a busy state.

그리고 밸런싱 대상 코인에 대한 주문 수신을 일시적으로 중단한다(S55). 예를 들어 트레이딩 컨트롤러(trading controller)가 일시적으로 중단하고, 대상 코인의 주문은 지속적으로 한도 시스템의 큐에 적재할 수 있다. Then, the order reception for the coin to be balanced is temporarily stopped (S55). For example, the trading controller temporarily stops, and the order of the target coin can be continuously queued in the limit system.

그리고, 밸런싱 대상 코인의 주문오더 큐가 소진될 때까지 대기 후(S56), 대상 코인의 매칭 서버를 이동시킨다(S57). 매칭 서버를 새로운 코인 그룹으로 재할당하는 서버 이동 과정은 통합 가상화폐 시스템(300)이 제공하는 관리자 화면을 통해 이루어질 수 있다. Then, after waiting until the order order queue of the coin to be balanced is exhausted (S56), the matching server of the target coin is moved (S57). The process of moving the server to reallocate the matching server to a new coin group may be performed through an administrator screen provided by the integrated virtual currency system 300.

그리고 이동이 완료되면 공유키를 갱신한다(S58). 그리고 밸런싱 대상 코인에 대한 주문 수신을 재개하고(S59) 한도시스템 큐에 쌓인 거래를 재개한다(S60). S59의 주문 수신 재개는 트레이딩 컨트롤러를 시작시키는 것으로 가능하다. And when the movement is complete, the shared key is updated (S58). Then, the order reception for the coin to be balanced is resumed (S59), and the transaction accumulated in the limit system queue is resumed (S60). Resumption of order receipt of S59 is possible by starting the trading controller.

도 10의 프로세스를 정리하면 다음과 같다. 매칭시스템 코인 배치 매커니즘을 위해 특정 코인의 거래량이 증가 시 로드 밸런싱 여부를 판단한다. 이때 판단 조건은 동일 서버 내 거래량 증가 코인 또는 거래량이 적은 코인이 될 수 있다. 그리고 밸런싱 대상 코인의 주문 수신을 중지하고, 주문은 지속적으로 한도시스템 큐에 적재시킨다. The process of FIG. 10 is summarized as follows. For the matching system coin placement mechanism, when the transaction volume of a specific coin increases, it determines whether or not to load balance. At this time, the judgment condition may be a coin with increased transaction volume or a coin with small transaction volume in the same server. And it stops receiving orders for the coins to be balanced, and orders are continuously loaded into the limit system queue.

밸런싱 대상 코인의 주문오더 큐의 소진이 완료 후 매칭 서버를 이동시키며, 이는 관리자가 모니터링하는 화면에서 해당 기능의 인터페이스를 제공할 수 있다. 통합 가상화폐 시스템(300)은 코인 이동 시 매칭이 되지 않으므로 코인 이동 시간 동안 주문 접수를 중지하거나 주문의 접수를 큐에 저장할 수 있다. 이를 위해 통합 가상화폐 시스템(300)은 선택적으로, 거래량이 증가하는 코인 보다는 거래량이 적은 코인을 이동시켜 빠른 처리를 수행할 수 있다. After the order order queue of the coin to be balanced is exhausted, the matching server is moved, which can provide an interface for the corresponding function on the screen monitored by the administrator. Since the integrated virtual currency system 300 does not match when coins are moved, it is possible to stop accepting orders or store orders in a queue during the coin movement time. To this end, the integrated virtual currency system 300 can selectively perform fast processing by moving coins with a smaller transaction volume than coins with an increasing transaction volume.

또한 통합 가상화폐 시스템(300)은 특정 기준을 통해 자동으로 코인 서버를 이동시킬 수 있다. 이에 따른 주문 접수 중지 등의 작업은 관리자에 의해, 또는 통합 가상화폐 시스템(300)이 자동으로 제공할 수 있다. 공유키(Shared Key) 갱신 후, 코인에 대한 주문의 수신이 재개되며, 한도 시스템 큐에 쌓인 주문부터 매칭을 재개할 수 있다.In addition, the integrated virtual currency system 300 may automatically move the coin server through a specific criterion. Accordingly, tasks such as stopping the receipt of an order may be automatically provided by an administrator or the integrated virtual currency system 300. After the shared key is updated, the receipt of orders for coins is resumed, and matching can be resumed from the order accumulated in the limit system queue.

도 10의 프로세스를 정리하면 다음과 같다. The process of FIG. 10 is summarized as follows.

제어부(400)가 결정한 로드밸런싱이 현재 동작 중이거나 에러가 발생한 제1액티브 매칭 서버 대신 새로운 제1스탠바이 매칭 서버를 투입하는 교체 프로세스인 경우에 제어부(400)의 로드밸런싱 과정은 다음과 같다. When the load balancing determined by the control unit 400 is currently operating or a replacement process in which a new first standby matching server is inserted instead of the first active matching server in which an error has occurred, the load balancing process of the control unit 400 is as follows.

로드 밸런싱이 결정된 제1액티브 매칭 서버를 제1스탠바이 매칭 서버로 교체하기 위해, 제어부(400)는 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 중단한다. 그리고 이전에 수신된 주문을 상기 제1액티브 매칭 서버가 처리한 후, 제어부(400)는 제1액티브 매칭 서버 대신 제1스탠바이 매칭 서버를 액티브 시킨 후, 통신부(도 11의 380)를 제어하여 제1가상화폐의 주문 수신을 재개한다. In order to replace the first active matching server whose load balancing has been determined with the first standby matching server, the control unit 400 stops receiving orders for the first virtual currency matched by the first active matching server. And after the first active matching server processes the previously received order, the control unit 400 activates the first standby matching server instead of the first active matching server, and then controls the communication unit (380 in FIG. 1 Resume receiving orders for virtual currency.

만약, 제어부(400)가 결정한 로드밸런싱이 현재 동작 중인 제1액티브 매칭 서버에 추가하여 새로운 제1스탠바이 매칭 서버를 투입하는 추가 프로세스인 경우에 S55~S60 단계 없이, 즉 주문 처리의 중단 없이 제어부(400)가 로드밸런싱을 수행할 수 있다. 즉, 제1액티브 매칭 서버는 지속적으로 매칭 작업을 수행한다. If the load balancing determined by the control unit 400 is an additional process in which a new first standby matching server is added in addition to the currently operating first active matching server, the control unit ( 400) can perform load balancing. That is, the first active matching server continuously performs matching.

로드 밸런싱이 결정된 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 매수 및 매도의 매칭을 제1스탠바이 매칭 서버 및 상기 제1액티브 매칭 서버 모두 처리하기 위해, 제어부(400)는 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 유지한다.In order to process both the first standby matching server and the first active matching server to match the purchase and sale of the first virtual currency matched by the first active matching server for which load balancing is determined, the control unit 400 is a first active matching server. Keeps receiving the order of the matching first virtual currency.

그리고, 제어부(400)는 \제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 제1가상화폐의 매수 및 매도의 매칭은 상기 제1액티브 매칭 서버 및 상기 제1스탠바이 매칭 서버 모두 담당하도록 매칭 서버들을 제어한다. 이때, 제1스탠바이 매칭 서버는 제2액티브 매칭 서버로 전환된다. In addition, the control unit 400 controls the matching servers to be in charge of both the first active matching server and the first standby matching server to match the purchase and sale of the first virtual currency after activating the first standby matching server. do. At this time, the first standby matching server is switched to the second active matching server.

이 경우, 각 매칭 서버가 동일한 메모리 데이터베이스의 값을 일치시켜 유지하는 경우에는 각 매칭 서버가 오더 번호를 이용하여 처리를 달리 할 수 있다. 예를 들어 제1액티브 매칭 서버는 오더 번호가 홀수인 주문을 주문 오더 큐에 입력 및 매칭 작업을 수행하고, 제2액티브 매칭 서버는 오더 번호가 짝수인 주문을 주문 오더 큐에 입력 및 매칭 작업을 처리할 수 있다. 두 대의 액티브 매칭 서버는 메모리 데이터베이스를 각각 유지하면서 실시간 업데이트할 수 있다. 또는 후술할 도 13과 같이 동일한 메모리 데이터베이스를 참조하여 매칭을 수행할 수 있다. In this case, when each matching server matches and maintains the same memory database value, each matching server may perform different processing using the order number. For example, the first active matching server enters and matches orders with an odd order number into the order order queue, and the second active matching server enters and matches orders with an even order number into the order order queue. You can handle it. Two active matching servers can update in real time while maintaining each memory database. Alternatively, matching may be performed by referring to the same memory database as shown in FIG. 13 to be described later.

도 10의 실시예를 적용하면, 통신부(도 11의 380)가 수신하는 제1가상화폐에 대한 매수 또는 매도 주문의 수가 설정된 기준값보다 증가하는 경우, 제어부(400)는 제1가상화폐의 매칭을 담당하는 제1액티브 매칭 서버의 유효 컴퓨팅 자원을 모니터링하여, 상기 로드 밸런싱을 결정할 수 있다. If the embodiment of FIG. 10 is applied, when the number of buy or sell orders for the first virtual currency received by the communication unit (380 of FIG. 11) increases, the controller 400 performs matching of the first virtual currency. The load balancing may be determined by monitoring the effective computing resources of the first active matching server in charge.

여기서 로드 밸런싱의 결과는 제어부(400)가 새로운 스탠바이 매칭 서버를 할당하거나, 또는 스탠바이 매칭 서버를 액티브 매칭 서버로 전환하거나 또는 액티브 매칭 서버가 또다른 가상화폐(제2가상화폐)의 매칭을 담당하도록 제어하는 것을 포함한다. 즉 제어부(400)가 가상화폐의 매칭을 제어하는데 필요한 컴퓨팅 자원을 다수의 매칭 서버들(액티브/스탠바이) 사이에서 재할당하는 것을 로드 밸런싱의 일 실시예로 한다. Here, the result of load balancing is that the control unit 400 allocates a new standby matching server, converts the standby matching server to an active matching server, or allows the active matching server to match another virtual currency (second virtual currency). Includes control. That is, as an embodiment of load balancing, the controller 400 reallocates computing resources necessary for controlling the matching of virtual currency among a plurality of matching servers (active/standby).

도 11은 본 발명의 일 실시예에 의한 매칭 서버들의 로드 밸런싱을 수행하는 통합 가상화폐 시스템(300)의 구성을 보여준다. 매칭 서버들을 중심으로 보다 상세히 살펴본다. 앞서 설명한 통합 가상화폐 시스템(300)의 여러 구성요소 중에서 매칭 서버들의 로드 밸런싱에 직접 관련된 구성요소들 및 그 외 주요하게 관련된 구성요소들을 도 11에 도시하여 설명한다. 그 외 구성요소들에 대한 내용은 전술한 실시예를 참고한다. 11 shows the configuration of an integrated virtual currency system 300 that performs load balancing of matching servers according to an embodiment of the present invention. We will look at the matching servers in more detail. Among the various components of the integrated virtual currency system 300 described above, components directly related to load balancing of matching servers and other major components related to the load balancing will be described with reference to FIG. 11. For details on other components, refer to the above-described embodiment.

한도 시스템(375)과 청산 시스템(370)은 앞서 살펴본 설명을 참조한다. 통신부(380)는 통합 가상화폐 시스템(300)이 거래소 시스템(100)과 통신하거나, 별도의 예탁 시스템(800)과 통신할 경우에 통신 기능을 제공한다. 통신부(380)는 도 4에 제시된 TCP/IP 소켓 통신, 저널 통신(JNL CONNECT), 또는 TCP SEND 등을 지원한다. The limit system 375 and the clearing system 370 refer to the above description. The communication unit 380 provides a communication function when the integrated virtual currency system 300 communicates with the exchange system 100 or with a separate deposit system 800. The communication unit 380 supports TCP/IP socket communication, journal communication (JNL CONNECT), or TCP SEND as shown in FIG. 4.

또한, 통신부(380)는 통합 가상화폐 시스템(300) 내의 구성요소들 사이의 통신 기능을 제공한다. In addition, the communication unit 380 provides a communication function between components in the integrated virtual currency system 300.

통합 가상화폐 시스템(300)의 제어부(400)는 각 매칭 서버(350a~350k)의 식별정보와, 해당 매칭 서버가 액티브(active)인지 혹은 스탠바이(standby)인지에 대한 정보를 저장하고 관리한다. 또한, 제어부(400)는 각 매칭 서버가 매칭을 담당하는 가상화폐에 대한 정보를 저장하고, 로드 밸런싱 과정에서 매칭 서버를 재분배할 수 있다. The control unit 400 of the integrated virtual currency system 300 stores and manages identification information of each matching server 350a to 350k and information about whether the corresponding matching server is active or standby. In addition, the control unit 400 may store information on the virtual currency that each matching server is in charge of matching, and redistribute the matching servers during a load balancing process.

각각의 매칭 서버는 도 9에 도시된 바와 같이 메모리 데이터 베이스에 기초 데이터를 공유할 수 있다. 또는 각각의 매칭 서버는 별도의 메모리 데이터 베이스를 외부에 배치하여, 다수의 매칭 서버가 하나의 메모리 데이터 베이스를 참조하여 동작할 수 있다. 또는 각각의 매칭 서버는 메모리 데이터 베이스를 각각 보유하며, 실시간으로 다른 매칭 서버의 메모리 데이터 베이스에서 업데이트된 정보를 반영할 수 있다. Each matching server may share basic data in a memory database as shown in FIG. 9. Alternatively, each matching server may have a separate memory database disposed outside, so that a plurality of matching servers may operate with reference to one memory database. Alternatively, each matching server may each hold a memory database, and may reflect information updated in a memory database of another matching server in real time.

그리고, 액티브 매칭 서버에서 발생한 데이터 변경 사항 역시 스탠바이 매칭 서버에 반영될 수 있다. In addition, data changes occurring in the active matching server may also be reflected in the standby matching server.

제어부(400)는 액티브 매칭 서버와 스탠바이 매칭 서버의 비율을 1:1, 1:N, M:1 등으로 구성할 수 있다. 예를 들어 1:1의 경우 제어부(400)는 하나의 액티브 매칭 서버에 대해 하나의 스탠바이 서버를 배치한다. 액티브 매칭 서버의 부하가 폭증하지 않으므로 제어부(400)는 스탠바이 매칭 서버가 대응하는 액티브 매칭 서버의 에러 상황에 주로 대처하도록 스탠바이 매칭 서버를 할당한 예시이다. The control unit 400 may configure the ratio of the active matching server and the standby matching server to 1:1, 1:N, M:1, or the like. For example, in the case of 1:1, the controller 400 arranges one standby server for one active matching server. Since the load of the active matching server does not increase, the control unit 400 is an example of allocating a standby matching server so that the standby matching server mainly copes with an error situation of the corresponding active matching server.

한편 1:N의 경우 제어부(400)는 하나의 액티브 매칭 서버에 대해 둘 이상의 스탠바이 매칭 서버를 대기시킬 수 있다. 이는 액티브 매칭 서버가 담당하는 가상화폐의 거래량이 지속적으로 증가하는 상태이므로, 제어부(400)는 스탠바이 매칭 서버가 대응하는 액티브 매칭 서버의 에러 상황 및 로드 밸런싱에 모두 대처하도록 스탠바이 매칭 서버를 할당한 예시이다.Meanwhile, in the case of 1:N, the controller 400 may wait for two or more standby matching servers for one active matching server. This is a state in which the transaction volume of the virtual currency in charge of the active matching server is continuously increasing, so the control unit 400 is an example in which the standby matching server allocates a standby matching server to cope with both error conditions and load balancing of the corresponding active matching server. to be.

한편 M:1의 경우 제어부(400)는 하나의 스탠바이 매칭 서버를 다수의 액티브 매칭 서버에 대응하여 배치할 수 있다. 예를 들어, 다수의 액티브 매칭 서버의 동작이 안정화되어 에러가 발생할 상황이 낮거나, 해당하는 다수의 액티브 매칭 서버가 담당하는 가상화폐의 거래량이 지속적으로 감소하는 상태를 가정한다. 제어부(400)는 스탠바이 매칭 서버가 담당하는 다수의 액티브 매칭 서버의 에러 상황들에 대처하도록 스탠바이 매칭 서버 하나를 다수의 액티브 매칭 서버들에게 배치할 수 있다. Meanwhile, in the case of M:1, the controller 400 may arrange one standby matching server to correspond to a plurality of active matching servers. For example, it is assumed that the operation of a plurality of active matching servers is stabilized and an error occurs in a low situation, or a situation in which the transaction volume of virtual currency in charge of the corresponding plurality of active matching servers continuously decreases. The controller 400 may arrange one standby matching server to a plurality of active matching servers to cope with error situations of a plurality of active matching servers in charge of the standby matching server.

도 11의 구성을 정리하면 다음과 같다. 통신부(380)는 다수의 거래소 시스템과 데이터를 송수신한다. 물론, 통합 가상화폐 시스템 내의 구성요소들 사이의 통신 역시 통신부(380)가 담당할 수 있다. The configuration of FIG. 11 is summarized as follows. The communication unit 380 transmits and receives data to and from a plurality of exchange systems. Of course, the communication unit 380 may also be in charge of communication between components in the integrated virtual currency system.

그리고 액티브 매칭 서버는 가상화폐의 매수 및 매도의 매칭을 담당한다. 가상화폐의 종류에 따라, 또는 가상화폐의 거래량에 따라 가상화폐 별로 할당되는 액티브 매칭 서버는 하나 이상이 될 수 있다. 또는 하나의 액티브 매칭 서버가 다수의 가상화폐의 매칭을 담당할 수 있다. In addition, the active matching server is responsible for matching the purchase and sale of virtual currency. There may be one or more active matching servers allocated for each virtual currency according to the type of virtual currency or the transaction volume of the virtual currency. Alternatively, one active matching server may be responsible for matching multiple virtual currencies.

또한, 스탠바이 매칭 서버는 하나 이상의 액티브 매칭 서버를 백업할 수 있다. 통합 가상화폐 시스템(300)은 스탠바이 매칭 서버 역시 하나 이상을 보유할 수 있다. In addition, the standby matching server may back up one or more active matching servers. The integrated virtual currency system 300 may also have one or more standby matching servers.

그리고 제어부(400)는 액티브 매칭 서버의 부하 또는 액티브 매칭 서버가 매칭하는 가상화폐 거래량에 기반하여 액티브 매칭 서버의 로드 밸런싱을 결정하고 스탠바이 매칭 서버를 액티브로 설정한다. 액티브 매칭 서버와 스탠바이 매칭 서버의 구성은 도 4, 5, 6, 12, 13 등에 예시적으로 설명된다. Further, the control unit 400 determines load balancing of the active matching server based on the load of the active matching server or the amount of virtual currency transactions matched by the active matching server, and sets the standby matching server to be active. Configurations of the active matching server and the standby matching server are exemplarily described in FIGS. 4, 5, 6, 12, 13, and the like.

도 12는 본 발명의 일 실시예에 의한 스탠바이 매칭 서버가 다양한 메커니즘에 따라 액티브 매칭 서버에 할당된 실시예를 보여준다. 12 shows an embodiment in which a standby matching server according to an embodiment of the present invention is allocated to an active matching server according to various mechanisms.

도 12에서 제1액티브 매칭 서버(350a)는 담당하는 가상화폐의 매칭을 안정적으로 수행하고 있으며 과거 에러 발생 횟수도 낮은 서버이다. 또한 제1액티브 매칭 서버(350a)가 담당하는 가상화폐의 거래량은 일정하거나 완만하게 증가하는 추세이다. 따라서, 제어부(400)는 제1스탠바이 매칭 서버(350k) 하나를 제1액티브 매칭 서버(350a)에 배치한다. In FIG. 12, the first active matching server 350a is a server that stably matches the virtual currency in charge and has a low number of errors in the past. In addition, the transaction volume of the virtual currency that is in charge of the first active matching server 350a tends to be constant or gradually increasing. Accordingly, the controller 400 arranges one of the first standby matching servers 350k in the first active matching server 350a.

한편 제2액티브 매칭 서버(350b)는 담당하는 가상화폐의 거래가 활발한 상태이다. 즉, 담당하는 가상화폐의 거래가 증가하거나 대외적인 이슈 발생으로 인해 거래 폭증이 예상되는 경우이다. 따라서, 제어부(400)는 두 개의 스탠바이 매칭 서버(350m, 350n)을 제2액티브 매칭 서버(350b)에 할당한다. Meanwhile, the second active matching server 350b is in an active state in which virtual currency transactions are in charge. In other words, it is the case that the transaction of the virtual currency in charge increases or the transaction is expected to increase due to the occurrence of external issues. Accordingly, the control unit 400 allocates the two standby matching servers 350m and 350n to the second active matching server 350b.

또한, 제3액티브 매칭 서버(350c), 제4액티브 매칭 서버(350d), 제5액티브 매칭 서버(350e)는 각각 담담하는 가상화폐의 거래가 활발하지 않거나 또는 액티브 매칭 서버들의 동작이 매우 안정적인 상태이어서 에러가 발생할 확률이 매우 낮은 경우이다. 또는 세 개의 액티브 매칭 서버들(350c, 350d, 350e)들이 담당하는 가상화폐가 활발하게 거래가 이루어지는 시간이 서로 달라서 겹치지 않을 수 있다. In addition, the third active matching server 350c, the fourth active matching server 350d, and the fifth active matching server 350e are each in an inactive virtual currency transaction or the active matching servers are in a very stable state. This is the case where the probability of error occurrence is very low. Alternatively, the virtual currency in charge of the three active matching servers 350c, 350d, and 350e may not overlap because they are actively traded at different times.

따라서, 제어부(400)는 제3스탠바이 매칭 서버(350p) 하나를 세 개의 액티브 매칭 서버들(350c, 350d, 350e)들에게 할당하도록 배치한다. Accordingly, the controller 400 arranges to allocate one third standby matching server 350p to the three active matching servers 350c, 350d, and 350e.

도 12에서 제어부(400)는 액티브 매칭 서버들이 담당하는 가상화폐의 거래 상황, 가상화폐의 거래 증가량, 해당 액티브 매칭 서버들의 에러 발생 상황 등을 반영하여 스탠바이 매칭 서버들을 할당하여 배치할 수 있다. In FIG. 12, the control unit 400 may allocate and deploy standby matching servers by reflecting the transaction status of the virtual currency in charge of the active matching servers, the amount of transaction increase in the virtual currency, and the error occurrence status of the corresponding active matching servers.

여기서 각각의 매칭 서버들은 독립된 하드웨어 서버가 될 수 있다. 또는 각각의 매칭 서버들은 통합 가상화폐 시스템(300)을 구성하는 소프트웨어로 구현된 서버가 될 수 있다. 이는 다양하게 적용 가능하다. Here, each of the matching servers may be independent hardware servers. Alternatively, each of the matching servers may be servers implemented with software constituting the integrated virtual currency system 300. This can be applied in various ways.

또한, 각각의 매칭 서버들은 제어부(400)의 지시에 따라 담당 가상화폐를 변경할 수 있다. In addition, each of the matching servers may change the virtual currency in charge according to the instruction of the control unit 400.

도 13은 본 발명의 일 실시예에 의한 각각의 매칭 서버들이 하나의 메모리 데이터베이스를 공유하여 매칭을 수행하는 과정을 보여준다. 13 shows a process of performing matching by sharing one memory database by each matching server according to an embodiment of the present invention.

다수의 액티브 매칭 서버는 하나의 메모리 데이터베이스 시스템(355)을 공유한다. 그리고 메모리 데이터베이스 시스템(355)은 액티브 매칭 서버가 담당하는 가상 화폐들의 매도 주문 및 매수 주문을 큐로 저장한다. Multiple active matching servers share one memory database system 355. In addition, the memory database system 355 stores a sell order and a buy order of virtual currencies in charge of the active matching server as a queue.

모든 가상화폐들의 매도 주문 및 매수 주문이 하나의 메모리 데이터베이스 시스템(355) 내에 저장되므로, 매칭 서버를 교체하거나 추가 투입할 경우에 거래를 중단시키거나 메모리 데이터베이스를 서버마다 일치시킬 필요가 없다. Since the sell order and buy order of all virtual currencies are stored in one memory database system 355, there is no need to stop transactions or match the memory database for each server when the matching server is replaced or additionally inserted.

다만, 가상화폐의 종류가 많아지면 하나의 메모리 데이터베이스 시스템(355)을 사용하는 방식에서 거래 속도가 낮아질 수 있다. However, as the types of virtual currency increase, the transaction speed may decrease in a method using a single memory database system 355.

따라서, 가상화폐의 종류나 거래량, 네트워크 부하 등에 따라, 도 5에 제시된 바와 같이 각각의 매칭 서버들이 메모리 데이터베이스를 보유하되 이들을 클러스터링 하거나 혹은 액티브-스탠바이 매칭 서버간에 메모리 데이터베이스의 동일성을 유지시킬 수 있다. Therefore, depending on the type of virtual currency, transaction volume, network load, etc., as shown in FIG. 5, each matching server maintains a memory database, but clusters them or maintains the identity of the memory database between active-standby matching servers.

또는 도 13에 제시된 바와 같이 동일한 메모리 데이터베이스를 다수의 매칭 서버들이 공유할 수 있다. Alternatively, as shown in FIG. 13, the same memory database may be shared by a plurality of matching servers.

도 14는 본 발명의 일 실시예에 의한 외부적 요인에 따라 매칭 서버의 로드 밸런싱을 수행하는 과정을 보여준다. 14 shows a process of performing load balancing of a matching server according to an external factor according to an embodiment of the present invention.

제어부(400)는 제1가상 화폐에 대한 사용자 관심도를 산출한다(S61). 예를들어 통합 가상화폐 시스템(300) 또는 외부의 포털 서버 등에서 검색량이 증가하는 가상화폐는 사용자의 관심도가 높아지며 이에 대한 거래가 증가할 가능성이 높다.The control unit 400 calculates the user's interest in the first virtual currency (S61). For example, a virtual currency whose search volume is increased in the integrated virtual currency system 300 or an external portal server increases the user's interest, and there is a high possibility that transactions for this increase.

관심도는 다양한 방식으로 산출될 수 있다. 제1가상 화폐에 대한 검색 횟수 증가, 실시간 검색어 등재 여부, 통합 가상화폐 시스템(300)에서 수신한 제1가상화폐에 대한 매수 또는 매도 주문의 증가, 소셜 네트워크에서 제1가상화폐의 언급 횟수 등으로 산출할 수 있다.Interest can be calculated in a variety of ways. Increase in the number of searches for the first virtual currency, whether real-time search terms are listed, the increase in buy or sell orders for the first virtual currency received from the integrated virtual currency system 300, the number of mentions of the first virtual currency on social networks, etc. Can be calculated.

그리고 제1가상화폐에 대한 관심도가 증가할 경우(S62) 제어부(400)는 제1가상 화폐를 매칭하는 제1액티브 매칭 서버에게 하나 이상의 스탠바이 매칭 서버를 할당한다(S63). 그 결과, 제1액티브 매칭 서버가 제1가상 화폐의 매칭을 담당하는 과정에서 그 숫자가 증가할 경우, 제어부(400)는 스탠바이 매칭 서버를 즉시 투입하여 제1가상화폐의 매칭 프로세스가 심리스(seamless)하게 이루어지도록 한다. In addition, when interest in the first virtual currency increases (S62), the control unit 400 allocates one or more standby matching servers to the first active matching server matching the first virtual currency (S63). As a result, when the number increases while the first active matching server is in charge of matching the first virtual currency, the control unit 400 immediately inputs the standby matching server to make the matching process of the first virtual currency seamless. ) To be done.

본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다. Even if all the constituent elements constituting an embodiment of the present invention are described as being combined or combined into one operation, the present invention is not necessarily limited to these embodiments, and all constituent elements within the scope of the present invention are one or more. It can also be selectively combined and operated. In addition, although all the components may be implemented as one independent hardware, a program module that performs some or all functions combined in one or a plurality of hardware by selectively combining some or all of the components. It may be implemented as a computer program having Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program is stored in a computer-readable storage medium, and is read and executed by a computer, thereby implementing an embodiment of the present invention. The storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording element. In addition, a computer program implementing an embodiment of the present invention includes a program module that is transmitted in real time through an external device.

전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It should be understood that the above-described embodiments are illustrative and non-limiting in all respects, and the scope of the present invention will be indicated by the claims to be described later rather than the detailed description described above. And the meaning and scope of the claims, as well as all changes and modifications derived from the equivalent concept should be construed as being included in the scope of the present invention.

100: 거래소 시스템
300: 통합 가상화폐 시스템
350: 매칭 시스템
100: Exchange system
300: Integrated virtual currency system
350: matching system

Claims (18)

다수의 거래소 시스템과 데이터를 송수신하는 통신부;
가상화폐의 매수 및 매도의 매칭을 담당하는 하나 이상의 액티브 매칭 서버;
상기 하나 이상의 액티브 매칭 서버를 백업하는 하나 이상의 스탠바이 매칭 서버; 및
상기 액티브 매칭 서버의 부하 또는 상기 액티브 매칭 서버가 매칭하는 가상화폐 거래량에 기반하여 상기 액티브 매칭 서버의 로드 밸런싱을 결정하고 상기 스탠바이 매칭 서버를 액티브로 설정하는 제어부를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
A communication unit for transmitting and receiving data to and from a plurality of exchange systems;
One or more active matching servers for matching the purchase and sale of virtual currency;
One or more standby matching servers that back up the one or more active matching servers; And
Load a plurality of matching servers, including a control unit for determining load balancing of the active matching server and setting the standby matching server as active based on the load of the active matching server or the amount of virtual currency transactions matched by the active matching server An integrated virtual currency system that balances.
제1항에 있어서,
상기 제어부는 제1액티브 매칭 서버의 메모리 데이터베이스와 상기 제1액티브 매칭 서버를 백업하는 제1스탠바이 매칭 서버의 메모리 데이터베이스가 동일성을 유지하도록 상기 제1액티브 매칭 서버의 메모리 데이터베이스의 업데이트에 따라 상기 제1스탠바이 매칭 서버의 메모리 데이터베이스를 업데이트하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
The control unit comprises the first active matching server according to an update of the memory database of the first active matching server so that the memory database of the first active matching server and the memory database of the first standby matching server backing up the first active matching server are kept identical. An integrated virtual currency system that updates the memory database of the standby matching server and load-balances multiple matching servers.
제1항에 있어서,
상기 메모리 데이터베이스는 상기 가상화폐의 주문 정보를 저장하는 주문 테이블과, 상기 주문 테이블의 주문을 입력받아 매칭하는 큐를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
The memory database is an integrated virtual currency system for load balancing a plurality of matching servers, including an order table for storing order information of the virtual currency and a queue for receiving and matching orders from the order table.
제1항에 있어서,
상기 통신부가 수신하는 제1가상화폐에 대한 매수 또는 매도 주문의 수가 설정된 기준값보다 증가하는 경우, 상기 제어부는 상기 제1가상화폐의 매칭을 담당하는 제1액티브 매칭 서버의 유효 컴퓨팅 자원을 모니터링하여, 상기 로드 밸런싱을 결정하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
When the number of buy or sell orders for the first virtual currency received by the communication unit increases than a set reference value, the control unit monitors the effective computing resources of the first active matching server responsible for matching the first virtual currency, An integrated virtual currency system for load balancing a plurality of matching servers to determine the load balancing.
제1항에 있어서,
상기 로드 밸런싱이 결정된 제1액티브 매칭 서버를 제1스탠바이 매칭 서버로 교체하기 위해, 상기 제어부는 상기 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 중단한 후,
이전에 수신된 주문을 상기 제1액티브 매칭 서버가 처리한 후,
상기 제어부는 상기 제1액티브 매칭 서버 대신 상기 제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 통신부를 제어하여 상기 제1가상화폐의 주문 수신을 재개하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
In order to replace the first active matching server for which the load balancing is determined with the first standby matching server, the control unit stops receiving orders for the first virtual currency matched by the first active matching server,
After the first active matching server processes the previously received order,
The control unit activates the first standby matching server instead of the first active matching server, and then controls the communication unit to resume receiving orders for the first virtual currency, and load-balancing a plurality of matching servers. .
제1항에 있어서,
상기 로드 밸런싱이 결정된 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 매수 및 매도의 매칭을 상기 제1스탠바이 매칭 서버 및 상기 제1액티브 매칭 서버 모두 처리하기 위해, 상기 제어부는 상기 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 유지하며,
상기 제어부는 상기 제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 제1가상화폐의 매수 및 매도의 매칭은 상기 제1액티브 매칭 서버 및 상기 제1스탠바이 매칭 서버 모두 담당하도록 상기 매칭 서버들을 제어하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
In order to process the matching of the purchase and sale of the first virtual currency matched by the first active matching server for which the load balancing is determined, both the first standby matching server and the first active matching server, the controller performs the first active matching. The server keeps receiving the order of the matching first virtual currency,
The control unit controls the matching servers to be in charge of both the first active matching server and the first standby matching server to match the purchase and sale of the first virtual currency after activating the first standby matching server. An integrated cryptocurrency system that load-balances the matching servers of.
제1항에 있어서,
상기 제어부는 제1가상 화폐에 대한 사용자 관심도를 산출하고, 상기 관심도가 증가할 경우 상기 제1가상 화폐를 매칭하는 제1액티브 매칭 서버에게 하나 이상의 스탠바이 매칭 서버를 할당하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
The control unit loads a plurality of matching servers, calculating the user interest in the first virtual currency, and allocating one or more standby matching servers to the first active matching server matching the first virtual currency when the interest increases An integrated virtual currency system that balances.
제1항에 있어서,
상기 통합 가상화폐 시스템은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템과, 상기 다수의 거래소 시스템 사이 또는 상기 거래소 시스템과 상기 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템을 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
The integrated virtual currency system includes a limit system that manages information on a limit that each exchange system can sell or buy, and the purchase and sale of virtual currency between the multiple exchange systems or between the exchange system and the integrated virtual currency system. An integrated virtual currency system for load balancing a plurality of matching servers, further comprising a liquidation system that performs the liquidation according to.
제1항에 있어서,
상기 다수의 액티브 매칭 서버는 하나의 메모리 데이터베이스 시스템을 공유하며, 상기 메모리 데이터베이스 시스템은 상기 액티브 매칭 서버가 담당하는 가상 화폐들의 매도 주문 및 매수 주문을 큐로 저장하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
The method of claim 1,
The plurality of active matching servers share one memory database system, and the memory database system load-balancing a plurality of matching servers that stores sell orders and buy orders of virtual currencies in charge of the active matching server as a queue. Virtual currency system.
다수의 거래소 시스템과 데이터를 송수신하는 통신부와, 가상화폐의 매수 및 매도의 매칭을 담당하는 하나 이상의 액티브 매칭 서버와 상기 하나 이상의 액티브 매칭 서버를 백업하는 하나 이상의 스탠바이 매칭 서버를 포함하는 통합 가상화폐 시스템에 있어서,
상기 통합 가상화폐 시스템의 제어부가 상기 액티브 매칭 서버의 부하 또는 상기 액티브 매칭 서버가 매칭하는 가상화폐 거래량을 모니터링하는 단계;
상기 모니터링 한 결과에 기반하여 상기 제어부가 상기 액티브 매칭 서버의 로드 밸런싱을 결정하는 단계; 및
상기 제어부가 상기 스탠바이 매칭 서버를 액티브로 설정하는 단계를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
Integrated virtual currency system including a communication unit that transmits and receives data to and from multiple exchange systems, at least one active matching server in charge of matching the purchase and sale of virtual currency, and at least one standby matching server that backs up the at least one active matching server In,
Monitoring, by a controller of the integrated virtual currency system, a load of the active matching server or a virtual currency transaction amount matched by the active matching server;
Determining, by the control unit, load balancing of the active matching server based on the monitoring result; And
And setting the standby matching server to be active by the control unit.
제10항에 있어서,
상기 제어부는 제1액티브 매칭 서버의 메모리 데이터베이스와 상기 제1액티브 매칭 서버를 백업하는 제1스탠바이 매칭 서버의 메모리 데이터베이스가 동일성을 유지하도록 상기 제1액티브 매칭 서버의 메모리 데이터베이스의 업데이트에 따라 상기 제1스탠바이 매칭 서버의 메모리 데이터베이스를 업데이트하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
The control unit comprises the first active matching server according to an update of the memory database of the first active matching server so that the memory database of the first active matching server and the memory database of the first standby matching server backing up the first active matching server are kept identical. The method of load balancing a plurality of matching servers, further comprising the step of updating the memory database of the standby matching server.
제10항에 있어서,
상기 메모리 데이터베이스는 상기 가상화폐의 주문 정보를 저장하는 주문 테이블과, 상기 주문 테이블의 주문을 입력받아 매칭하는 큐를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
The memory database includes an order table for storing order information of the virtual currency, and a queue for receiving and matching orders from the order table.
제10항에 있어서,
상기 통신부가 수신하는 제1가상화폐에 대한 매수 또는 매도 주문의 수가 설정된 기준값보다 증가하는 경우,
상기 제어부는 상기 제1가상화폐의 매칭을 담당하는 제1액티브 매칭 서버의 유효 컴퓨팅 자원을 모니터링하는 단계; 및
상기 제어부는 상기 로드 밸런싱을 결정하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
When the number of buy or sell orders for the first virtual currency received by the communication unit is greater than a set reference value,
The control unit monitoring an effective computing resource of a first active matching server in charge of matching the first virtual currency; And
The control unit load balancing a plurality of matching servers further comprising the step of determining the load balancing.
제10항에 있어서,
상기 로드 밸런싱이 결정된 제1액티브 매칭 서버를 제1스탠바이 매칭 서버로 교체하기 위해, 상기 제어부는 상기 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 중단하는 단계;
이전에 수신된 주문을 상기 제1액티브 매칭 서버가 처리한 후,
상기 제어부는 상기 제1액티브 매칭 서버 대신 상기 제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 통신부를 제어하여 상기 제1가상화폐의 주문 수신을 재개하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
In order to replace the first active matching server for which the load balancing is determined with a first standby matching server, the control unit stopping receiving an order of the first virtual currency matched by the first active matching server;
After the first active matching server processes the previously received order,
The control unit load-balancing a plurality of matching servers, further comprising: after activating the first standby matching server instead of the first active matching server, controlling the communication unit to resume receiving the order of the first virtual currency How to.
제10항에 있어서,
상기 로드 밸런싱이 결정된 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 매수 및 매도의 매칭을 상기 제1스탠바이 매칭 서버 및 상기 제1액티브 매칭 서버 모두 처리하기 위해, 상기 제어부는 상기 제1액티브 매칭 서버가 매칭하는 제1가상화폐의 주문 수신을 유지하는 단계; 및
상기 제어부는 상기 제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 제1가상화폐의 매수 및 매도의 매칭은 상기 제1액티브 매칭 서버 및 상기 제1스탠바이 매칭 서버 모두 담당하도록 상기 매칭 서버들을 제어하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
In order to process the matching of the purchase and sale of the first virtual currency matched by the first active matching server for which the load balancing is determined, both the first standby matching server and the first active matching server, the controller performs the first active matching. Maintaining, by the server, receiving an order of the matching first virtual currency; And
After activating the first standby matching server, the control unit controls the matching servers so that the matching of the purchase and sale of the first virtual currency is in charge of both the first active matching server and the first standby matching server. A method for load balancing a plurality of matching servers, further comprising.
제10항에 있어서,
상기 제어부는 제1가상 화폐에 대한 사용자 관심도를 산출하는 단계;
상기 관심도가 증가할 경우 상기 제어부는 상기 제1가상 화폐를 매칭하는 제1액티브 매칭 서버에게 하나 이상의 스탠바이 매칭 서버를 할당하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
The control unit calculating a user interest level for the first virtual currency;
The method of load balancing a plurality of matching servers, further comprising the step of allocating one or more standby matching servers to a first active matching server matching the first virtual currency when the degree of interest increases.
제10항에 있어서,
상기 통합 가상화폐 시스템은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템과, 상기 다수의 거래소 시스템 사이 또는 상기 거래소 시스템과 상기 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템을 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
The integrated virtual currency system includes a limit system that manages information on a limit that each exchange system can sell or buy, and the purchase and sale of virtual currency between the multiple exchange systems or between the exchange system and the integrated virtual currency system. A method for load balancing a plurality of matching servers, further comprising a liquidation system for performing liquidation according to the method.
제10항에 있어서,
상기 다수의 액티브 매칭 서버는 하나의 메모리 데이터베이스 시스템을 공유하며, 상기 메모리 데이터베이스 시스템은 상기 액티브 매칭 서버가 담당하는 가상 화폐들의 매도 주문 및 매수 주문을 큐로 저장하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
The method of claim 10,
The plurality of active matching servers share one memory database system, and the memory database system further comprises the step of storing a sell order and a buy order of virtual currencies in charge of the active matching server in a queue, a plurality of matching servers How to load balance the data.
KR1020190127216A 2019-10-14 2019-10-14 Integrated system of load balancing plural matching servers and method implementing thereof KR102423544B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190127216A KR102423544B1 (en) 2019-10-14 2019-10-14 Integrated system of load balancing plural matching servers and method implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190127216A KR102423544B1 (en) 2019-10-14 2019-10-14 Integrated system of load balancing plural matching servers and method implementing thereof

Publications (2)

Publication Number Publication Date
KR20210044087A true KR20210044087A (en) 2021-04-22
KR102423544B1 KR102423544B1 (en) 2022-07-21

Family

ID=75731346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127216A KR102423544B1 (en) 2019-10-14 2019-10-14 Integrated system of load balancing plural matching servers and method implementing thereof

Country Status (1)

Country Link
KR (1) KR102423544B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090029404A (en) * 2007-09-18 2009-03-23 주식회사 어니언텍 Load distributed type duplex system
JP2014215839A (en) * 2013-04-25 2014-11-17 富士通株式会社 Search system, information processing apparatus, and search method
JP2017123116A (en) * 2016-01-08 2017-07-13 日本電気株式会社 Load distribution system, load distribution device, load distribution method, and program
KR101964248B1 (en) * 2017-10-26 2019-04-02 (주)네오프레임 Broker-based virtual currency transaction system
KR20190108019A (en) * 2018-03-13 2019-09-23 주식회사 웨이투빗 Method for processing transactions using blockchain, and transaction management server using the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090029404A (en) * 2007-09-18 2009-03-23 주식회사 어니언텍 Load distributed type duplex system
JP2014215839A (en) * 2013-04-25 2014-11-17 富士通株式会社 Search system, information processing apparatus, and search method
JP2017123116A (en) * 2016-01-08 2017-07-13 日本電気株式会社 Load distribution system, load distribution device, load distribution method, and program
KR101964248B1 (en) * 2017-10-26 2019-04-02 (주)네오프레임 Broker-based virtual currency transaction system
KR20190108019A (en) * 2018-03-13 2019-09-23 주식회사 웨이투빗 Method for processing transactions using blockchain, and transaction management server using the same

Also Published As

Publication number Publication date
KR102423544B1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
US10789237B2 (en) Providing a distributed transaction information storage service
CN101446885B (en) Storage system and access control method of storage system
US8577795B2 (en) System and method for revenue and authorization management
US9559938B2 (en) Method, system and apparatus for providing pay-per-use distributed computing resources
US20200314174A1 (en) Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
US11019138B2 (en) Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment
WO2017079048A1 (en) Clustered fault tolerance systems and methods using load-based failover
CN100401296C (en) Method and system for configuring information storage and retrieval system
US9058127B2 (en) Data transfer in cluster storage systems
US20130159191A1 (en) Method and system for limiting risk in banking transactions
JP5038902B2 (en) On-demand message-based financial network integration middleware
Devlin et al. Scalability terminology: Farms, clones, partitions, packs, racs and raps
JP7393426B2 (en) An intelligent, autonomous, decentralized marketplace for distributed computing and storage
CN110580614B (en) Full market multi-variety gold financing management system based on mass policy intelligent processing platform
CN111240841B (en) Method and system for executing new tasks or processing resource withdrawal requests
US20070083521A1 (en) Routing requests based on synchronization levels
CN112131305A (en) Account processing system
US8583534B1 (en) System and method for multi-market risk control in a distributed electronic trading environment
US9059908B2 (en) Method and system for facilitating non-interruptive transactions
KR102423544B1 (en) Integrated system of load balancing plural matching servers and method implementing thereof
RU2715801C2 (en) Network bridge for local transaction authorization
CN116051106A (en) Abnormal order processing method and device
CN112669160B (en) Data processing method and device, electronic equipment and storage medium
KR102125081B1 (en) Blockchain Middle Ware System using Virtual Money
JP6423491B1 (en) Method for providing service to customer by at least one operator using network and network thereof

Legal Events

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