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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Abstract
Description
본 발명은 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템 및 로드 밸런싱 방법 에 관한 것이다.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
매칭 시스템(350)은 다양한 거래소 시스템(100)이 전달하는 주문정보를 수신하고 이를 매칭하여 거래를 완결시킨다. 거래가 완결되면 완결되었다는 정보를 다시 거래소 시스템(100)으로 전달한다. 거래소 시스템(100) 역시 원장(120)에 해당 거래 결과를 저장하고 고객계정(50)으로 거래 완료되었음을 통지한다. The matching
통합 가상화폐 시스템(300)의 청산시스템(370)은 여러 거래소 시스템들 간의 청산을 담당할 수 있다. 또는 청산 시스템(370)은 개별 고객의 계정들에 대한 청산 역시 담당할 수 있다. 청산은 개별 고객 계정을 관리하는 거래소 시스템(100) 혹은 통합 가상화폐 시스템(300)가 담당할 수 있다. The
도 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
그러나, 거래소 시스템(100) 내에서 처리할 수 없는 주문이 있을 경우, 거래소 시스템(100)은 처리하지 못한 주문 정보를 통합 가상화폐 시스템(300)을 구성하는 매칭 시스템(350)으로 전달한다.However, when there is an order that cannot be processed in the
매칭 시스템(350)은 다양한 거래소 시스템(100)이 전달하는 주문정보를 수신하고 이를 매칭하여 거래를 완결시킨다. 거래가 완결되면 완결되었다는 정보를 다시 거래소 시스템(100)으로 전달한다. 거래소 시스템(100) 역시 원장(120)에 해당 거래 결과를 저장하고 고객계정(50)으로 거래 완료되었음을 통지한다.The
통합 가상화폐 시스템(300)의 청산시스템(370)은 여러 거래소 시스템들 간의 청산을 담당할 수 있다. 또는 청산 시스템(370)은 개별 고객의 계정들에 대한 청산 역시 담당할 수 있다. 청산은 개별 고객 계정을 관리하는 거래소 시스템(100) 혹은 통합 가상화폐 시스템(300)가 담당할 수 있다.The
도 1 및 도 2에 제시된 거래소 시스템(100) 및 통합 가상화폐 시스템(300)의 이원화된 구조에서는 각 거래소에서 매수 또는 매도 주문을 접수하고, 접수된 매수/매도 주문의 일부 또는 전부의 매칭 또는 매칭에 연계된 체결 등을 통합 가상화폐 시스템(300)의 매칭 시스템(350)이 처리할 수 있다. In the dual structure of the
따라서, 통합 가상화폐 시스템(300)을 구성하는 매칭 시스템(350)은 다수의 거래소 시스템(100)이 제공하는 주문 정보를 빠르고 정확하게 처리할 수 있어야 한다. 특히 많은 수의 거래소 시스템(100)과 연결된 통합 가상화폐 가상화폐 시스템(300)은 주문 정보의 매칭에 있어서 매칭 시스템(350)의 안정성과 신속성을 보장할 수 있어야 한다.Accordingly, the
이와 같은 구성은 각 거래소 시스템(100)이 자율적으로 고객 계정을 관리하며 고객 계정이 요청하는 주문에 대한 기록이나 정보를 저장할 수 있다. 그리고 통합 가상화폐 시스템(300)은 각 거래소 시스템(100)이 전달하는 주문 정보를 매칭할 수 있다. 통합 가상화폐 시스템(300)은 다수의 거래소 시스템(100)이 전달한 주문 정보를 매칭하므로, 매칭율을 높일 수 있다. In this configuration, each
즉, 도 1 또는 도 2와 같은 구성에서는 각 거래소 시스템(100)에서 접수된 주문을 중앙의 매칭 시스템(350)으로 전송한다. 그리고 매칭 시스템(350)은 해당 정보를 수집해 통합 오더북을 만들고, 체결 또는 시세 정보를 각각의 거래소 시스템(100)으로 전송할 수 있다.That is, in the configuration as shown in FIG. 1 or 2, the order received from each
매칭 시스템(350)은 가격/시간/수량 우선 순으로 주문간의 매칭 및 체결을 수행할 수 있으나 이는 일 실시예이며 주문간의 순서를 정렬하여 매칭시키는 방식은 다양하게 적용될 수 있다. The
그리고, 각 거래소 시스템(100)은 시스템의 구성 또는 시스템의 정책에 따라 고객 계정(50)을 통해 접수된 전체 주문을 통합 가상화폐 거래 시스템(300)에 전송할 것인지 일부 주문만을 전송할 것인지 선택할 수 있다. In addition, each
그리고 이러한 구성에서 통합 가상화폐 시스템(100)은 각 거래소 시스템(100)이 전달하는 주문의 매칭과 체결을 담당하지만 개별 주문에 대한 고객 계정 정보를 선별적으로 확인할 수 있다. 거래소 시스템(100)은 고객 계정 정보가 완전히 누락된 주문 정보를 통합 가상화폐 시스템(100)에게 제공할 수 있다. 또는 거래소 시스템(100)은 고객 계정 정보를 포함하는 주문 정보를 통합 가상화폐 시스템(100)에게 제공할 수 있다.In this configuration, the integrated
만약 고객 계정 정보가 완전히 누락된 주문 정보의 경우 통합 가상화폐 시스템(100)은 주문 정보를 거래소 시스템(100)으로 식별할 수 있다. In the case of order information in which customer account information is completely missing, the integrated
그리고, 도 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
또한 특정 주기로 거래에 대한 청산을 진행하는데, 지갑을 예탁하는 경우, 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
즉, 거래소 시스템(100)들이 각각 거래 주문을 수신하여도 이의 매칭 및 체결이 통합 가상화폐 시스템(300)에서 이루어지도록 할 경우, 각 거래소의 주문을 통합 관리함으로써 가상통화의 거래 가격이 단일 시장을 가진 유가증권의 거래와 같이 본질적인 가치와 수요/공급의 원리에 따라 형성될 수 있도록 한다. That is, even if the
또한, 가상화폐 별로 단일하게 수렴된 가격이 형성됨에 따라 가상화폐 거래는 투기의 대상이 아닌 프로젝트/기술 중심의 가치 투자 대상이 되므로 무분별한 가상화폐 발행이 억제되고, 투기성의 가상화폐가 퇴출되는 자정 효과 발생시킬 수 있다.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
도 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
그리고, 통합 가상화폐 시스템(300)은 수신된 주문 정보를 통합 오더북으로 구성해 가격/시간/수량 우선 순으로 체결을 진행하며(S3), 이에 따른 체결, 시세 정보 등을 각 거래소로 전송한다(S4a, S4b).In addition, the integrated
여기서, 통합 가상화폐 시스템(300)은 S3의 각 체결 정보를 통합 가상화폐 시스템(300)의 DB 서버에 보관하고 청산을 통해 거래 밸런스를 유지할 수 있다. 청산 방식은 지갑 예탁에 따라 2가지 방식으로 진행될 수 있다. Here, the integrated
먼저, 통합 가상화폐 시스템(300)이 지갑을 예탁하는 경우, 특정 주기로 거래에 대한 청산을 진행할 수 있는데, 예를 들어 DB 기록으로 청산을 진행할 수 있다. First, when the integrated
다음으로, 통합 가상화폐 시스템(300)이 지갑을 예탁하지 않는 경우, 거래소 시스템(100)은 통합 가상화폐 시스템(300)이 보유한 계좌 및 지갑으로 청산 금액에 대한 원화 또는 가상화폐를 입금한다. 그리고 통합 가상화폐 시스템(300)에서 입금 확인이 완료된 후에 다시 다른 거래소 시스템(100)으로 전송하는 에스크로 방식을 활용할 수 있다. Next, when the integrated
이 과정에서 블록체인 네트워크를 이용하는 경우를 구분하면 아래와 같다. 통합 가상화폐 시스템(300)에 지갑이 예탁된 경우 고객 입출금 시, 거래소 시스템(100)에서 통합 가상화폐 시스템(300)으로 자산 이동이 필요한 경우(반대의 경우 포함)에 블록체인 네트워크를 이용할 수 있다. The case of using a blockchain network in this process is as follows. When a wallet is deposited in the integrated
통합 가상화폐 시스템(300)에 지갑이 예탁되지 않은 경우 일청산 시, 거래소 시스템(100)에서 통합 가상화폐 시스템(300)으로 자산 이동이 필요한 경우(반대의 경우 포함)에 블록체인 네트워크를 이용할 수 있다. 이 경우 고객 입출금을 거래소 시스템(100)에서 처리하기 때문에 통합 가상화폐 시스템(300)은 입출금에 관여하지 않는다. If the wallet is not deposited in the integrated
한편, 이상 거래 방지를 위해 지갑이 통합 가상화폐 시스템(300)에 예탁된 경우, 거래소 별 고객 예탁 자산을 거래 한도로 설정할 수 있다. 통합 가상화폐 시스템(300)이 지갑을 예탁하지 않는 경우, 다른 곳에 예탁된 거래소의 가상화폐 지갑 내 수량을 일정한 주기로 체크해 한도로 설정하고, 실제 청산 시 에스크로 방식을 통해 이상 거래를 이중으로 통제할 수 있다. On the other hand, in order to prevent abnormal transactions, when the wallet is deposited in the integrated
한편, 통합 가상화폐 시스템(300)은 주기적으로 또는 네트워크 부하나 가상화폐의 거래 상황에 따라 매칭 시스템의 로드 밸런싱을 수행한다(S5).Meanwhile, the integrated
이를 위해, 통합 가상화폐 시스템(300)은 기술적으로는 DB 공유 키(DB Sharing Key)를 각 가상화폐 종목 별로 설정하여 매칭 서버 별 고유한 종목 그룹을 만들어 상호 독립적으로 동작하며, 특정 서버의 부하나 장애로 인해 서로 영향을 받지 않도록 구현할 수 있다. To this end, the integrated
이를 통해 가상화폐의 종목 그룹의 확장 등의 이유로 매칭 서버를 증설할 경우에 기존 매칭 서버가 영향을 받지 않도록 하여 운영 중에 확장이 가능하다. 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
도 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
제어부(400)는 통합 가상화폐 시스템(300)의 전체 동작을 제어한다. 따라서 제어부(400)는 통합 가상화폐 시스템(300) 내부의 구성요소들의 동작을 제어하고, 이들과 외부의 거래소 시스템(100) 사이의 동작을 제어한다.The
또한, 통합 가상화폐 시스템(300)은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템(375)을 포함할 수 있다. In addition, the integrated
또한, 통합 가상화폐 시스템(300)은 다수의 거래소 시스템 사이 또는 거래소 시스템과 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템(370)을 포함할 수 있다. In addition, the integrated
통합 가상화폐 시스템(300)과 거래소 시스템(100)은 도 3의 플로우에 따라 주문을 송수신하거나, 주문 결과를 송수신하거나, 체결 결과를 송수신할 수 있다(S11). 또한, 거래소 시스템(100)이 각각의 고객들에게 거래와 관련된 가상 화폐의 시세 정보나 각각의 청산 결제 내역, 또는 시세 정보의 수신과 정보의 배치 등을 처리할 수 있다(S12). 이 과정에서 거래소 시스템(100)과 통합 가상화폐 시스템(300) 사이에는 송수신되는 정보의 특성에 따라 다양한 통신 방식을 선택할 수 있으며, 일 실시예로 TCP/IP 소켓 방식, JNL 커넥트 방식, TCP send 방식을 선택할 수 있다. The integrated
통합 가상화폐 시스템(300)은 거래소 시스템(100)과 통신을 수행하는 게이트웨이(Gateway, G/W)를 다수 보유할 수 있다. 그리고 마켓 데이터(Market data)를 TCP 송신하는 별도의 통신 채널로 "Market Data FEP #1"와 같이 보유할 수 있다. The integrated
도 4에서 통합 가상화폐 시스템(300)은 청산 과정에서 이용할 수 있도록 한도 시스템(375), 청산 시스템(370)을 보유할 수 있다. 또한, 통합 가상화폐 시스템(300)은 다수의 매칭 서버들로 구성된 매칭 시스템(350)을 포함할 수 있다. In FIG. 4, the integrated
특히, 매칭 시스템(350)은 각각의 가상화폐 또는 법정 화폐의 종류(예를 들어 BTC, ETH, KRW)에 따라 각각 매칭 서버들을 설정할 수 있다. 그리고 특정 화폐들의 매칭을 위해 매칭 시스템(350)은 현재 매칭을 수행하는 액티브 매칭 서버(Active Matching Server)와 스탠바이 매칭 서버(Standby Matching Server)를 화폐 별로(종목 별로) 각각 하나 이상 할당할 수 있다. In particular, the
또한 액티브 매칭 서버와 스탠바이 매칭 서버가 하나의 그룹으로 동작할 경우 데이터의 일치를 위해 하나의 메모리 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
이하, 도 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
예탁 시스템(800) 및 블록체인 네트워크(900)는 통합 가상화폐 시스템(300)와 별도로 배치되거나 혹은 포함하도록 구성될 수 있다. The
도 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
도 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.
전술한 실시예들을 정리하면 다음과 같다. 각 매칭서버는 코인별로 그룹핑 가능하며, 그룹내 코인 개수는 다수 개가 될 수 있다. 물론, 코인 그룹의 수도 다수 개가 될 수 있다. 매칭 서버를 추가하면 코인 그룹의 수는 계속 확장시킬 수 있다. 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
한편, 매칭 서버들은 주문을 주고 받는 한도시스템(375)과는 저널을 통해 연결(JNL connect)되며, 한도 시스템(375)에 이상이 발생할 시 별도의 백업 서버인 백업 한도 시스템(Active-Active 방식)으로 연결하여 통신할 수 있다.On the other hand, the matching servers are connected to the
또한, 매칭 서버는 도 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
전술한 실시예에서 스탠바이 매칭 서버가 액티브 매칭 서버를 교체하거나 혹은 액티브 매칭 서버의 매칭 작업을 나누어 수행할 수 있기 위해서는 스탠바이 매칭 서버와 액티브 매칭 서버가 메모리를 공유하거나 혹은 동일한 메모리 데이터베이스를 유지하는 것이 필요하다. 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
도 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.. 등에 대해서도 동일하게 적용된다.
각 매칭 서버들은 코인별 그룹핑에 의해 결정 되며 그룹내 코인 의 개수 역시 다수개로 확장 가능하다. 물론 코인 그룹의 개수 역시 다수개로 확장 가능하다.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
그리고 통합 가상화폐 시스템(300)은 주문의 호가에 기반하여 매칭 및 체결을 수행하고(S17) 거래소 시스템(100)에게 통지한다(S18a). 이 과정에서 한도 서버에게 해당 거래소 시스템(100)의 체결 상황을 알릴 수 있다(S18a).In addition, the integrated
또한, 통합 가상화폐 시스템(300)은 주문이 만료되었다는 메시지를 수신하거나(S21), 가상화폐의 거래에 관련된 장의 운영이나 배치, 또는 상장이나 상폐에 대한 정보들(S22, S23)을 처리하고 이에 대한 정보를 거래소 시스템(100)에게 통지할 수도 있다. In addition, the integrated
도 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,
각 매칭 서버들은 코인 그룹으로 할당된 코인의 매칭을 담당한다. 이때, 각 매칭 서버들 간에는 공유키(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
또한 부하 분산을 위해 거래량에 따라 매칭 서버를 배치할 수 있다. 예를 들어 도 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
한편, 각각의 매칭 서버들은 액티브 상태를 유지하며, 액티브한 매칭 서버들 간에는 기초 데이터를 공유할 수 있다. 그리고 별도의 스탠바이 매칭 서버들이 각각 액티브 매칭 서버에 연결되어 데이터를 실시간 복제할 수 있다. 예를 들어 도 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
보다 상세히 살펴본다. 각 거래소 시스템(100)들이 주문을 전송하면, MDB(Memory DB)의 주문 테이블에는 거래와 관련된 정보가 저장된다. 회원사인 각 거래소 시스템(100)들이 전송하는 주문 정보는 주문일자, 회원사번호, 지점번호, 회원사에서 관리하는 주문번호, 종목코드, 주문호가 유형, 거래유형, 가격, 수량 정보 등을 포함한다. Let's look at it in more detail. When each
각 회원사 번호 및 회원사 주문 번호는 거래소 시스템(100)을 식별하거나, 거래소 시스템(100)이 생성한 주문 번호인 것을 일 실시예로 한다(S32). 그리고 각 주문에는 오더 번호가 채번된다(S33). 이는 오더 번호의 할당을 의미하는데, 매칭 서버는 수신 처리 성공으로 시퀀셜한 숫자(예를 들어 Seq)를 증가 시키고, 정합성을 체크 후 통과 시 오더번호를 채번할 수 있다. Each member company number and member company order number identifies the
오더번호가 채번이 되면 주문오더 큐에 해당 오더번호를 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
도 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
도 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
이후, 특정 코인의 거래량이 증가하는 것이 확인되면(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
그리고 통합 가상화폐 시스템(300)은 자동으로, 또는 운영자의 제어에 따라 로드 밸런싱 여부를 판단한다(S54). 예를 들어, 통합 가상화폐 시스템(300)는 비지 상태의 매칭 서버 내 거래량이 증가한 코인 또는 거래량이 적은 코인에 대한 정보를 취합한다. And the integrated
그리고 밸런싱 대상 코인에 대한 주문 수신을 일시적으로 중단한다(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
그리고 이동이 완료되면 공유키를 갱신한다(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
또한 통합 가상화폐 시스템(300)은 특정 기준을 통해 자동으로 코인 서버를 이동시킬 수 있다. 이에 따른 주문 접수 중지 등의 작업은 관리자에 의해, 또는 통합 가상화폐 시스템(300)이 자동으로 제공할 수 있다. 공유키(Shared Key) 갱신 후, 코인에 대한 주문의 수신이 재개되며, 한도 시스템 큐에 쌓인 주문부터 매칭을 재개할 수 있다.In addition, the integrated
도 10의 프로세스를 정리하면 다음과 같다. The process of FIG. 10 is summarized as follows.
제어부(400)가 결정한 로드밸런싱이 현재 동작 중이거나 에러가 발생한 제1액티브 매칭 서버 대신 새로운 제1스탠바이 매칭 서버를 투입하는 교체 프로세스인 경우에 제어부(400)의 로드밸런싱 과정은 다음과 같다. When the load balancing determined by the
로드 밸런싱이 결정된 제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
만약, 제어부(400)가 결정한 로드밸런싱이 현재 동작 중인 제1액티브 매칭 서버에 추가하여 새로운 제1스탠바이 매칭 서버를 투입하는 추가 프로세스인 경우에 S55~S60 단계 없이, 즉 주문 처리의 중단 없이 제어부(400)가 로드밸런싱을 수행할 수 있다. 즉, 제1액티브 매칭 서버는 지속적으로 매칭 작업을 수행한다. If the load balancing determined by the
로드 밸런싱이 결정된 제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
그리고, 제어부(400)는 \제1스탠바이 매칭 서버를 액티브 시킨 후, 상기 제1가상화폐의 매수 및 매도의 매칭은 상기 제1액티브 매칭 서버 및 상기 제1스탠바이 매칭 서버 모두 담당하도록 매칭 서버들을 제어한다. 이때, 제1스탠바이 매칭 서버는 제2액티브 매칭 서버로 전환된다. In addition, the
이 경우, 각 매칭 서버가 동일한 메모리 데이터베이스의 값을 일치시켜 유지하는 경우에는 각 매칭 서버가 오더 번호를 이용하여 처리를 달리 할 수 있다. 예를 들어 제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
여기서 로드 밸런싱의 결과는 제어부(400)가 새로운 스탠바이 매칭 서버를 할당하거나, 또는 스탠바이 매칭 서버를 액티브 매칭 서버로 전환하거나 또는 액티브 매칭 서버가 또다른 가상화폐(제2가상화폐)의 매칭을 담당하도록 제어하는 것을 포함한다. 즉 제어부(400)가 가상화폐의 매칭을 제어하는데 필요한 컴퓨팅 자원을 다수의 매칭 서버들(액티브/스탠바이) 사이에서 재할당하는 것을 로드 밸런싱의 일 실시예로 한다. Here, the result of load balancing is that the
도 11은 본 발명의 일 실시예에 의한 매칭 서버들의 로드 밸런싱을 수행하는 통합 가상화폐 시스템(300)의 구성을 보여준다. 매칭 서버들을 중심으로 보다 상세히 살펴본다. 앞서 설명한 통합 가상화폐 시스템(300)의 여러 구성요소 중에서 매칭 서버들의 로드 밸런싱에 직접 관련된 구성요소들 및 그 외 주요하게 관련된 구성요소들을 도 11에 도시하여 설명한다. 그 외 구성요소들에 대한 내용은 전술한 실시예를 참고한다. 11 shows the configuration of an integrated
한도 시스템(375)과 청산 시스템(370)은 앞서 살펴본 설명을 참조한다. 통신부(380)는 통합 가상화폐 시스템(300)이 거래소 시스템(100)과 통신하거나, 별도의 예탁 시스템(800)과 통신할 경우에 통신 기능을 제공한다. 통신부(380)는 도 4에 제시된 TCP/IP 소켓 통신, 저널 통신(JNL CONNECT), 또는 TCP SEND 등을 지원한다. The
또한, 통신부(380)는 통합 가상화폐 시스템(300) 내의 구성요소들 사이의 통신 기능을 제공한다. In addition, the
통합 가상화폐 시스템(300)의 제어부(400)는 각 매칭 서버(350a~350k)의 식별정보와, 해당 매칭 서버가 액티브(active)인지 혹은 스탠바이(standby)인지에 대한 정보를 저장하고 관리한다. 또한, 제어부(400)는 각 매칭 서버가 매칭을 담당하는 가상화폐에 대한 정보를 저장하고, 로드 밸런싱 과정에서 매칭 서버를 재분배할 수 있다. The
각각의 매칭 서버는 도 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
한편 1:N의 경우 제어부(400)는 하나의 액티브 매칭 서버에 대해 둘 이상의 스탠바이 매칭 서버를 대기시킬 수 있다. 이는 액티브 매칭 서버가 담당하는 가상화폐의 거래량이 지속적으로 증가하는 상태이므로, 제어부(400)는 스탠바이 매칭 서버가 대응하는 액티브 매칭 서버의 에러 상황 및 로드 밸런싱에 모두 대처하도록 스탠바이 매칭 서버를 할당한 예시이다.Meanwhile, in the case of 1:N, the
한편 M:1의 경우 제어부(400)는 하나의 스탠바이 매칭 서버를 다수의 액티브 매칭 서버에 대응하여 배치할 수 있다. 예를 들어, 다수의 액티브 매칭 서버의 동작이 안정화되어 에러가 발생할 상황이 낮거나, 해당하는 다수의 액티브 매칭 서버가 담당하는 가상화폐의 거래량이 지속적으로 감소하는 상태를 가정한다. 제어부(400)는 스탠바이 매칭 서버가 담당하는 다수의 액티브 매칭 서버의 에러 상황들에 대처하도록 스탠바이 매칭 서버 하나를 다수의 액티브 매칭 서버들에게 배치할 수 있다. Meanwhile, in the case of M:1, the
도 11의 구성을 정리하면 다음과 같다. 통신부(380)는 다수의 거래소 시스템과 데이터를 송수신한다. 물론, 통합 가상화폐 시스템 내의 구성요소들 사이의 통신 역시 통신부(380)가 담당할 수 있다. The configuration of FIG. 11 is summarized as follows. The
그리고 액티브 매칭 서버는 가상화폐의 매수 및 매도의 매칭을 담당한다. 가상화폐의 종류에 따라, 또는 가상화폐의 거래량에 따라 가상화폐 별로 할당되는 액티브 매칭 서버는 하나 이상이 될 수 있다. 또는 하나의 액티브 매칭 서버가 다수의 가상화폐의 매칭을 담당할 수 있다. 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
그리고 제어부(400)는 액티브 매칭 서버의 부하 또는 액티브 매칭 서버가 매칭하는 가상화폐 거래량에 기반하여 액티브 매칭 서버의 로드 밸런싱을 결정하고 스탠바이 매칭 서버를 액티브로 설정한다. 액티브 매칭 서버와 스탠바이 매칭 서버의 구성은 도 4, 5, 6, 12, 13 등에 예시적으로 설명된다. Further, the
도 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
한편 제2액티브 매칭 서버(350b)는 담당하는 가상화폐의 거래가 활발한 상태이다. 즉, 담당하는 가상화폐의 거래가 증가하거나 대외적인 이슈 발생으로 인해 거래 폭증이 예상되는 경우이다. 따라서, 제어부(400)는 두 개의 스탠바이 매칭 서버(350m, 350n)을 제2액티브 매칭 서버(350b)에 할당한다. Meanwhile, the second
또한, 제3액티브 매칭 서버(350c), 제4액티브 매칭 서버(350d), 제5액티브 매칭 서버(350e)는 각각 담담하는 가상화폐의 거래가 활발하지 않거나 또는 액티브 매칭 서버들의 동작이 매우 안정적인 상태이어서 에러가 발생할 확률이 매우 낮은 경우이다. 또는 세 개의 액티브 매칭 서버들(350c, 350d, 350e)들이 담당하는 가상화폐가 활발하게 거래가 이루어지는 시간이 서로 달라서 겹치지 않을 수 있다. In addition, the third
따라서, 제어부(400)는 제3스탠바이 매칭 서버(350p) 하나를 세 개의 액티브 매칭 서버들(350c, 350d, 350e)들에게 할당하도록 배치한다. Accordingly, the
도 12에서 제어부(400)는 액티브 매칭 서버들이 담당하는 가상화폐의 거래 상황, 가상화폐의 거래 증가량, 해당 액티브 매칭 서버들의 에러 발생 상황 등을 반영하여 스탠바이 매칭 서버들을 할당하여 배치할 수 있다. In FIG. 12, the
여기서 각각의 매칭 서버들은 독립된 하드웨어 서버가 될 수 있다. 또는 각각의 매칭 서버들은 통합 가상화폐 시스템(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
또한, 각각의 매칭 서버들은 제어부(400)의 지시에 따라 담당 가상화폐를 변경할 수 있다. In addition, each of the matching servers may change the virtual currency in charge according to the instruction of the
도 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
모든 가상화폐들의 매도 주문 및 매수 주문이 하나의 메모리 데이터베이스 시스템(355) 내에 저장되므로, 매칭 서버를 교체하거나 추가 투입할 경우에 거래를 중단시키거나 메모리 데이터베이스를 서버마다 일치시킬 필요가 없다. Since the sell order and buy order of all virtual currencies are stored in one
다만, 가상화폐의 종류가 많아지면 하나의 메모리 데이터베이스 시스템(355)을 사용하는 방식에서 거래 속도가 낮아질 수 있다. However, as the types of virtual currency increase, the transaction speed may decrease in a method using a single
따라서, 가상화폐의 종류나 거래량, 네트워크 부하 등에 따라, 도 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
관심도는 다양한 방식으로 산출될 수 있다. 제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
그리고 제1가상화폐에 대한 관심도가 증가할 경우(S62) 제어부(400)는 제1가상 화폐를 매칭하는 제1액티브 매칭 서버에게 하나 이상의 스탠바이 매칭 서버를 할당한다(S63). 그 결과, 제1액티브 매칭 서버가 제1가상 화폐의 매칭을 담당하는 과정에서 그 숫자가 증가할 경우, 제어부(400)는 스탠바이 매칭 서버를 즉시 투입하여 제1가상화폐의 매칭 프로세스가 심리스(seamless)하게 이루어지도록 한다. In addition, when interest in the first virtual currency increases (S62), the
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(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스탠바이 매칭 서버의 메모리 데이터베이스를 업데이트하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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.
상기 메모리 데이터베이스는 상기 가상화폐의 주문 정보를 저장하는 주문 테이블과, 상기 주문 테이블의 주문을 입력받아 매칭하는 큐를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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액티브 매칭 서버의 유효 컴퓨팅 자원을 모니터링하여, 상기 로드 밸런싱을 결정하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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가상화폐의 주문 수신을 재개하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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스탠바이 매칭 서버 모두 담당하도록 상기 매칭 서버들을 제어하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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액티브 매칭 서버에게 하나 이상의 스탠바이 매칭 서버를 할당하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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.
상기 통합 가상화폐 시스템은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템과, 상기 다수의 거래소 시스템 사이 또는 상기 거래소 시스템과 상기 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템을 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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.
상기 다수의 액티브 매칭 서버는 하나의 메모리 데이터베이스 시스템을 공유하며, 상기 메모리 데이터베이스 시스템은 상기 액티브 매칭 서버가 담당하는 가상 화폐들의 매도 주문 및 매수 주문을 큐로 저장하는, 다수의 매칭 서버를 로드 밸런싱하는 통합 가상화폐 시스템.
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.
상기 제어부는 제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.
상기 메모리 데이터베이스는 상기 가상화폐의 주문 정보를 저장하는 주문 테이블과, 상기 주문 테이블의 주문을 입력받아 매칭하는 큐를 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
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.
상기 통신부가 수신하는 제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.
상기 로드 밸런싱이 결정된 제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.
상기 로드 밸런싱이 결정된 제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.
상기 제어부는 제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.
상기 통합 가상화폐 시스템은 각 거래소 시스템이 매도 또는 매수할 수 있는 한도에 대한 정보를 관리하는 한도 시스템과, 상기 다수의 거래소 시스템 사이 또는 상기 거래소 시스템과 상기 통합 가상화폐 시스템 사이의 가상화폐 매수 및 매도에 따른 청산을 수행하는 청산 시스템을 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
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.
상기 다수의 액티브 매칭 서버는 하나의 메모리 데이터베이스 시스템을 공유하며, 상기 메모리 데이터베이스 시스템은 상기 액티브 매칭 서버가 담당하는 가상 화폐들의 매도 주문 및 매수 주문을 큐로 저장하는 단계를 더 포함하는, 다수의 매칭 서버를 로드 밸런싱하는 방법.
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.
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)
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 |
-
2019
- 2019-10-14 KR KR1020190127216A patent/KR102423544B1/en active IP Right Grant
Patent Citations (5)
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 |