KR20140115208A - 주식매매 고속주문 서버 및 시스템 - Google Patents

주식매매 고속주문 서버 및 시스템 Download PDF

Info

Publication number
KR20140115208A
KR20140115208A KR20130030006A KR20130030006A KR20140115208A KR 20140115208 A KR20140115208 A KR 20140115208A KR 20130030006 A KR20130030006 A KR 20130030006A KR 20130030006 A KR20130030006 A KR 20130030006A KR 20140115208 A KR20140115208 A KR 20140115208A
Authority
KR
South Korea
Prior art keywords
server
order
llm
information
business
Prior art date
Application number
KR20130030006A
Other languages
English (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 KR20130030006A priority Critical patent/KR20140115208A/ko
Publication of KR20140115208A publication Critical patent/KR20140115208A/ko

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

LLM 미들웨어와 공유메모리기반 DB를 이용하는 고속주문서버를 공개한다. 이 서버는 레거시DB서버의 RDBMS의 DB와 상기 공유메모리기반 DB를 CDC 솔루션을 변형한 방식을 이용하여 동기화한다. 또한, 단방향 비동기 전송을 지원하는 LLM 방식을 효율적으로 재구성하여 사용함으로써 서버 간의 빠르고 신뢰성있는 주문정보처리를 수행할 수 있다.

Description

주식매매 고속주문 서버 및 시스템{Fast ordering system and server for stock dealing}
본 발명은 주식매매를 고속으로 처리할 수 있는 서버 시스템에 관한 것으로서, 특히 LLM(Low Latency Messaging) 프로토콜과 공유메모리 DB(shared memory DB)를 포함하는 서버와 레거시(legacy) 서버를 서로 연동하는 방법을 포함하는 기술에 관한 것이다.
LLM은 금융 서비스 산업의 주요 업무 요건인 고속/대용량 메시지 처리를 위한 메시징 미들웨어로서, 프론트 및 미들-오피스 업무 내 또는 업무 간 메시지 송수신에 주로 적용될 수 있다. 또한, 메시지 처리시 서버, 에이전트, 및 데몬 등의 중간 요소가 배제된 고성능 직접 송수신 구조를 갖고 있다. 대기시간단축을 위하여 최적의 메시지 배칭기법, 동적 유량 제어기법, 동적 패킷사이즈 제어기법, 간소한 패킷헤더 및 네트워크체증 최소화 기법들이 사용될 수 있다.
LLM은 애플리케이션간 메시징을 위한 개발 라이브러리로서, RMM(Reliable Multicast Messaging), RUM(Reliable Unicast Messaging), RCMS(Reliable, Consistent Multicast Messaging), 및 LLMI(Coordination Manager Interface)와 같은 것들이 있다. RMM으로서 UDP 기반의 멀티캐스트와 유니캐스트를 지원하고, RUM은 TCP 기반의 유니캐스트를 지원하고, RCMS은 고가용성 구성을 지원하고, LLMI는 데이터 전송 보장과 그 확장을 지원한다.
금융 서비스 시장에서는 LLM이 마켓데이터 분배, 거래주문매칭, 및 주문집행 서비스를 위해 사용될 수 있다. 마켓데이터 분배는 거래소/뉴스 데이터피드를 신속히 미들-오피스로 전달하는 기능 및 메시지 트래픽에 적절한 수준의 QoS 적용, 재송신, 체증관리 등의 기능을 포함한다. 거래주문매칭은 주문/집행 인프라 간의 믿을 수 있는 통신체제의 구현, 컴포넌트의 고가용성을 구한 구성, 속도와 처리량의 감소가 없는 사후감사기능의 구현, 필터링 기능을 통한 매칭 엔진으로 라우팅하는 기능, 및 모니터링을 통한 리스크 분석과 규제준수를 위한 이벤트 통보기능을 지원할 수 있다. 주문집행은 모니터링을 통한 리스크 분석과 규제준수를 위한 이벤트 홍보 및 백-오피스(Back Office) 시스템과의 연계를 지원할 수 있다. 1GigaE(TCP), Infiniband(TCP), Infiniband(LLM)의 3가지 케이스에 대하여 대기시간에 대한 벤치마킹을 해보면 LLM의 대기시간이 가장 짧다는 것을 알 수 있다.
LLM 기술을 금융 서비스에 적용하는 경우, 서버와 네트워크에서 레이턴시(latency)가 크게 줄어들 수 있다. 그러나 LLM을 금융 서비스에 적용하는 경우 대기시간이 짧다는 장점이 있지만, 메지시의 송수신단 사이의 동기화를 지원하지 않는다는 단점이 존재한다. 따라서 상업적인 메시징 제품에서는 보통 단순한 TCP와 어느정도의 신뢰성을 갖는(semi-reliable) 멀티캐스트 프로토콜을 지원하여 트레이딩 룸 사이의 데이터 전송을 담당하는 경우가 있다.
상술한 LLM 기술 및 공유메모리(Shared Memory) 기반 DB와 같은 신기술의 출현으로 인해, 고속의 서버 시스템을 구출할 수 있는 기술적인 환경이 제공되고 있으나, 종래에 기업이 운용하고 있던 원장정보를 포함하고 있는 소위 '업무계 DB 서버'에 이러한 기술들을 그대로 적용할 수는 없다. 그 결과 새로운 서버 시스템을 구축하고자 할 때에는, 이러한 새로운 서버 시스템에 종래의 업무계 DB 서버에 포함된 원장정보를 이식해야 할 필요가 있다. 그런데 새로운 서버 시스템이 상기 공유메모리 DB만을 지원하는 경우에는, 종래에 서버 간의 데이터 전송을 위해 사용되던 소위 CDC(Changed Data Capture) 솔루션을 이용할 수 없다는 기술적인 문제가 발생한다.
본 발명에서는 위와 같이 동기화의 구현하고자 할 때에 LLM을 이용할 수 없다는 점과, 레거시 시스템으로부터의 데이터 이식에 있어 발생하는 문제를 해결할 수 있는 기술을 제공하고자 한다.
상술한 과제를 해결하기 위한 본 발명의 일 양상에 따른 방법은, 공유메모리기반 DB(shared memory based DB) 및 단방향 비동기 메시지 처리 방식을 지원하는 LLM(Low Latency Messaging) 미들웨어를 포함하는 고속주문서버가, 업무계DB서버로부터 추출된 원장정보를 수신하여 주문FEP서버에게 주문처리하는 방법이다. 이 방법은, 상기 업무계DB서버로부터 상기 추출된 원장정보를 수신하여 상기 공유메모리기반 DB를 갱신하는 단계; 및 상기 고속주문서버와 상기 주문FEP서버가 상기 주문처리에 관한 정보를 서로, 상기 추출된 원장정보에 관련된 주문정보를 LLM 프로토콜을 이용하여 동기방식으로 송수신하는 단계;를 포함한다.
이때, 상기 송수신하는 단계는, 상기 고속주문서버가, 상기 주문정보를 포함하는 단방향 비동기 요청을 LLM 프로토콜을 이용하여 송신하는 단계; 및 상기 고속주문서버가, 상기 단방향 비동기 요청에 대한 단방향 비동기 응답을 LLM 프로토콜을 이용하여 수신하는 단계를 포함할 수 있다.
이때, 상기 송신하는 단계 이전에, 상기 고속주문서버가, 상기 주문FEP서버의 주소를 포함하는 송신토픽을 생성하는 단계; 및 상기 고속주문서버가, 상기 고속주문서버의 주소를 포함하는 수신토픽을 생성하는 단계;를 포함할 수 있다.
이때, 상기 송신하는 단계와 상기 수신하는 단계 사이의 기간 동안 상기 단방향 비동기 응답의 수신을 위해 대기하도록 되어 있으며, 상기 대기하는 시간이 미리 결정된 타임아웃을 넘긴 경우에는 상기 단방향 비동기 요청의 처리가 실패한 것으로 처리하도록 되어 있을 수 있다.
이때, 상기 송신하는 단계 이전에, 상기 주문FEP서버의 주소를 포함하는 제2 수신토픽을 생성하는 단계를 수행하도록 되어 있고, 상기 주문FEP서버는, 상기 단방향 비동기 요청을 수신한 이후, 상기 단방향 비동기 요청을 처리하기 이전에, 상기 주문FEP서버의 주소를 포함하는 제2 송신토픽을 생성하도록 되어 있을 수 있다.
이때, 상기 업무계DB서버는 메타관리부 및 추출조립부를 포함하며, 상기 추출된 원장정보는, 상기 메타관리부에서, 상기 원장정보 중 상기 공유메모리기반 DB와 동기화되어야 할 대상 테이블 및 칼럼에 관한 추출기준정보를 사용자로부터 입력받는 단계; 상기 추출조립부에서, 상기 추출기준정보 및 CDC 프로그램을 이용하여 상기 원장정보로부터 DB 동기화 정보를 추출하는 단계; 및 상기 추출조립부에서, 상기 추출된 DB 동기화 정보를 미리 결정된 규칙에 의해 자동으로 조립하는 단계를 통해 생성된 것일 수 있다.
이때, 상기 고속주문서버가 상기 업무계DB서버로부터 상기 자동으로 조립된 상기 DB 동기화 정보를 수신한 경우, 상기 미리 결정된 규칙에 대응하는 상호 규칙에 따라 상기 DB 동기화 정보를 분해하여, 상기 공유메모리기반 DB를 갱신하도록 되어 있을 수 있다.
이때, 상기 자동으로 조립된 상기 DB 동기화 정보는 LLM 전송방식을 이용하여 단방향 비동기 전송 데이터로서 상기 고속주문서버에게 전송되도록 되어 있을 수 있다.
이때, 상기 원장정보는 LLM 프로토콜을 이용하여 단방향 비동기 메시지 형태로, 상기 업무계DB서버로부터 상기 고속주문서버에게 전송될 수 있다.
본 발명의 다른 양상에 따른 방법은, 공유메모리기반 DB 및 LLM 미들웨어를 이용하는 고속주문서버가, 업무계DB서버로부터 추출된 원장정보를 수신하고 상기 수신된 원장정보에 관한 주문에 관한 데이터를 업무계AP서버와 교환하는 방법에 관한 것이다. 이 방법은, 상기 업무계DB서버로부터 상기 추출된 원장정보를 수신하여 상기 공유메모리기반 DB를 갱신하는 단계; 및 상기 고속주문서버와 상기 업무계AP서버가 서로, 상기 추출된 원장정보에 관한 주문에 관한 데이터를 LLM 프로토콜을 이용하여 동기방식으로 송수신하는 단계를 포함한다.
본 발명의 또 다른 양상에 따른 서버는, 업무계DB서버로부터 추출된 원장정보를 수신하고 상기 수신된 원장정보에 관한 주문에 관한 데이터를 타서버와 교환하는 고속주문서버이다. 이 서버는, 공유메모리기반 DB 및 LLM 미들웨어를 포함하며, 상기 공유메모리기반 DB는 상기 원장정보에 의하여 갱신되도록 되어 있고, 상기 고속주문서버와 상기 타서버가 서로, 상기 추출된 원장정보에 관한 주문에 관한 데이터를 LLM 프로토콜을 이용하여 동기방식으로 송수신하도록 되어 있다.
이때, 상기 타서버는, 주문FEP서버 또는 업무계AP서버일 수 있다.
본 발명에 따르면 LLM 미들웨어 및 공유메모리기반 DB를 이용하는 고속주문서버를 제공하여 빠르게 주문에 관한 프로세스를 처리할 수 있으며, CDC를 변형하여 이용하는 방법을 이용하여 이 고속주문서버가 레거시 서버의 DB를 이용할 수 있는 방법 및 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 고속주문 서버시스템의 구조를 나타낸 것이다.
도 2는 LLM 전송의 기본적인 흐름을 설명하기 위한 것이다.
도 3은 본 발명의 일 실시예에 따라, LLM을 기반으로 메시지를 동기화하여 송수신하는 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따라 업무계DB서버의 RDMBS의 DB와 고속주문서버의 공유메모리기반 DB 간의 데이터를 동기화하는 구체적인 방법을 나타낸 것이다
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 이하에서 사용되는 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다.
도 1은 본 발명의 일 실시예에 따른 고속주문 서버시스템의 구조를 나타낸 것이다.
상기 고속주문 서버시스템은 고속주문서버(1) 및 업무계DB서버(2)를 포함하여 구성될 수 있다.
업무계DB서버(2)는 레거시 서버로서, 주문정보DB, 체결정보DB, 계좌정보DB, 및 잔고DB를 포함하는 Oracle RAC(Real Application Clusters)와 원장정보 송신부를 포함하여 구성된다. 원장정보 송신부는 업무계DB서버(2)에 포함된 상기 각종 원장DB들의 정보를 후술한 고속주문서버(1)에 송신하는 기능을 할 수 있다. 여기서 Oracle RAC는 오라클 데이터베이스 소프트웨어의 옵션으로서, 오라클 데이터베이스 환경에서 클러스터링 및 고효용성(high availability)을 위해 제공되는 소프트웨어이다. Oracle RAC는 복수 개의 컴퓨터로 하여금 한 개의 데이터베이스에 접근하는 동안 오라클 RDBMS 소프트웨어를 동시에 실행하도록 할 수 있기 때문에 클러스터링을 제공할 수 있다. Oracle RAC DB가 아닌 경우에는, 한 개의 인스턴스(instance)는 한 개의 데이터베이스를 의미한다. 여기서 데이터베이스는 데이터 파일, 제어 파일, 및 레도 로그(redo log)의 집합으로 구성되며, 인스턴스는 한 개의 컴퓨터 시스템 상에서 실행되는 오라클-관련 메모리 및 운영 시스템 프로세스의 집합이다. 그러나, Oracle RAC DB의 경우에는 두 개 이상이 컴퓨터가 한 개의 데이터베이스를 동시에 액세스할 수 있으며, 이때 각 컴퓨터는 한 개의 오라클 RDMBS 인스턴스를 가질 수 있다.
업무계AP서버(3)는 주문송신IF(IF: 인터페이스), 주문확인IF, 체결수신IF, 주문정보송신부(31), 주문정보수신부(32), APP 서버, 및 Tuxedo를 포함하여 구성될 수 있다. 여기서 주문정보송신부(31)는 금융상품 주문용 단말기에서 주문한 금융상품의 정보를 송신하는 부분이고, 주문정보수신부(32)는 상기 금융상품의 주문처리결과 등을 수신하는 부분일 수 있다. 이러한 주문 프로세스는 상기 주문송신IF, 주문확인IF, 및 체결수신IF를 통해 이루어질 수 있다.
MCI(Media Control Interface)(4)는, CD-ROM 및 오디오 콘트롤러와 같이 마이크로소프트 윈도우즈나 OS/2 컴퓨터에 연결된 멀티미디어 주변장치의 제어를 위해 마이크로소프트 및 IBM이 개발한 고수준(high level)의 API이다. MCI(4)는 고속주문 IF Agent, 업무계 IF Agent, 공유메모리부(shared memory), 및 통합접속(거래)부를 포함하여 구성될 수 있다.
주문FEP서버(5)는 특정 금융회사를 통한 주문내역을 한국거래소(KRX)에 송신하고, 상기 주문이 처리된 경과를 한국거래소로부터 수신하는 기능을 하는 서버이다. 주문FEP서버(5)는 주문KRX송신부, 주문KRX수신부, 주문부, 주문확인부, 및 체결부를 포함하여 구성될 수 있다.
고속주문서버(1)는 업무계DB서버(2), 업무계AP서버(3), 및 주문FEP서버(5)와 LLM 인터페이스(11)을 이용하여 정보를 주고 받을 수 있도록 되어 있다. 고속주문서버(1)는 주문송신IF, 주문확인IF, 체결수신IF, 원장정보수신부, 주문정보수신부(61), 주문정보송신부(62), 주문처리부, 체결처리부, 및 LLM 미들웨어 플랫폼(LLM, 프레임워크, LLM 미들웨어)을 포함하여 구성될 수 있다. 여기서 주문정보수신부(61)는 업무계AP서버(3)의 주문정보송신부(31)로부터 송신된 주문정보를 수신하도록 되어 있고, 주문정보송신부(62)는 주분FEP서버(5)로부터 수신한 주문체결관련 정보 등을 업무계AP서버(3)의 주문정보수신부(32)에게 송신하도록 되어 있다. 상기 원장정보수신부(72)는 업무계DB서버(2)의 원장정보송신부(71)로부터 송신된 각종 DB정보를 수신하도록 되어 있다. 고속주문서버(1)는, 업무계DB서버(2)로부터 수신한 원장정보 및 업무계AP서버(3)로부터 수신한 주문정보를 함께 이용하여 주문을 수행하게 된다.
고속주문서버(1)는 LLM 미들웨어 플랫폼을 포함하고 있는데, 이를 이용하여 요청/응답(request/response) 처리가 가능한 LLM 기반 미들웨어를 구현하여 이 플랫폼 위의 업무 어플리케이션에서 네트워크 또는 프로세스 간 데이터를 초고속으로 전달할 수 있다. 현재 초고속의 LLM 처리를 위한 통신기술은 송신부에서 수신부로 단방향 비동기 통신 방식이기 때문에 증권시스템의 기존 주문/체결 업무에는 적용되지 않는다. 이를 해결하려면 해당 어플리케이션의 복잡한 로직 변경이 따라야 한다. 본 발명의 일 실시예에 따른 상기 고속주문서버(1)에서는 LLM 통신기술요소를 응용하여 요청부(client)와 응답부(server) 간의 양방향(request <--> response) 고속의 동기화 통신이 가능한 경량의 LLM 미들웨어 플랫폼을 제공한다. 이 플랫폼 위에 적용된 어플리케이션이 업무 로직의 큰 변경 없이 기존 IPC 및 TCP/IP 통신보다 우월한 속도로 프로세스 간 또는 네트워크 간 데이터 전달이 되도록 할 수 있다. 이러한 본 발명의 일 실시예에 따른 LLM 미들웨어 플랫폼의 동작 방식은 후술하는 도 3에 관한 설명에서 다시 설명한다.
또한, 고속주문서버(1)의 공유메모리기반 DB(shared memory based Database) 상에는 주문전용 테이블이 설계 및 적재되어 있어서, 주문 데이터를 초고속으로 처리할 수 있다. 이와 비교하여, 현재 존재하는 파일기반 DB 또는 엔진기반 DB는 데이터 처리 시 파일 입출력 및 네트워크 입출력으로 인한 레이턴시 저하와 같은 성능저해요소가 존재한다. 상기 공유메모리기반 DB는 이러한 성능저해요소를 배재할 수 있기 때문에 네트워크 부하 및 데이터 처리 상의 부하가 사실상 발생하지 않는 라이브러리 방식의 DB이다. 상기 공유메모리기반 DB를 위한 저장소에 고속주문을 위한 전용테이블을 요약 설계한 후 데이터를 적재함으로써, 기존 파일기반 DB 또는 엔진기반 DB의 물리적인 한계를 뛰어넘는 초고속의 데이터 처리를 수행할 수 있다.
도 1의 고속주문 서버시스템의 고속주문서버(1)는 새로이 발명하여 적용하는 서버임에 비하여 업무계DB서버(2)는 기존부터 계속 사용하여 오던 레거시 서버로서, 두 장치는 서로 분리되어 구성되어 있지만 네트워크를 통하여 연결될 수 있다. 이때, 업무계DB서버(2)의 RDBMS(관계형 데이터베이스 관리 시스템)와 고속주문서버(1)의 공유메모리기반 DB 간의 데이터를 준 실시간으로 동기화하여 처리하도록 되어 있다.
현재 이(異)기종 DB 간 데이터의 추출, 전송, 및 적재를 위하여 CDC(Changed Data Capture) 솔루션이 제공되고 있다. CDC는 한 세트의 디자인 패턴으로서 변경된 데이터를 결정하고 검색함으로써, 변경된 데이터를 사용하여 필요한 프로세스를 수행할 수 있도록 한다. 또한, CDC는 기업 데이터소스에 가해진 변경사항들의 식별(identification), 수집(capture), 및 전달(delivery)을 기초로 한 데이터 통합 방법이다.
그러나 고속주문서버(1)에서 사용하는 공유메모리기반 DB를 대상으로는 CDC 솔루션을 적용할 수 없다. 이를 해결하기 위한 본 발명의 일 실시예에 따른 구성은 도 4를 참조하여 후술한다.
도 2는 LLM 전송의 기본적인 흐름을 설명하기 위한 것이다.
도 2를 참조하여 설명하면, 송신부(51)와 수신부(52)는 각각 네트워크 상에 존재하는 컴퓨팅 장치이다. 도 2에서는 송신부(51)에서 수신부(52)에게 어떤 메시지를 보내는 과정을 나타낸 것으로서, 송신부(51)에서는 수신부(52)의 어드레스를 포함하는 송신 토픽을 생성(S21)하고, 수신부(52)는 수신부(52)의 어드레스를 포함하는 수신토픽을 생성하여(S23), 상기 네트워크에 연결된 한 개 이상의 장치에게 알리게 된다. 그 다음, 송신부(51)는 필요한 메시지를 상기 네트워크를 통해 전송(S22, S24)하게 된다. 이때, 전송되는 메시지는 LLM 메시지로서 단방향 비동기 메시지이다. 수신부(52)는 상기 네트워크로부터 자신의 수신토픽에 관련된 상기 단방향 비동기 메시지를 수신한다(S25). 수신부(52)는 메시지가 도달하지 않으면 메시지를 계속 대기할 수 있으며(S26), 메시지가 도달한 경우 수신된 메지시를 처리할 수 있다(S27). 도 2에 따른 LLM 메시지 처리방식은 단방향 비동기 전송방식으로서 이 방법을 이용할 경우, 송신부(51)는 수신부(52)가 상기 단반향 비동기 메시지를 받았는지 여부를 확인할 수 없다.
단계(S21)에서 송신토픽을 생성하는 것은, 송신부(51)와 수신부(52)가 메시지를 송수신 하기 위해서 정의한 멀티캐스트그룹을 설정하는 일 수 있다. 상기 송신토픽은 멀티캐스트 그룹이라는 주소체계를 이용한 통신처리를 위한 부가적인 설정정의를 의미할 수 있다. 또한 상기 송신토픽은 LLM 솔루션에서 사용하는 용어로서, 이것을 이용하여 239.100.100.1 의 60005 포트에 송신처리를 위한 LLM 방식, 버퍼용량, heartbeat time 등을 정의할 수 있다. 또한, 상기 수신토픽도 LLM 솔루션에서 사용하는 용어로서, 이것을 이용하여 239.100.100.1 의 60005 포트에 수신처리를 위한 LLM 방식, 신뢰도 수준 등을 정의할 수 있다.
단계(S22)에서 발생되는 메시지 전송은 수신부(52)의 수신토픽(어드레스 포함)을 목적지로 메시지를 전송합니다. 즉, 수신 어드레스에 메시지를 전송한다. 이 수신토픽에는 Configuration으로 멀티캐스트그룹이라고 하는 실제 멀티캐스트 주소(224.0.0.0 ~ 239.255.255.255 범위를 갖는 Class D IP 주소) 가 설정될 수 있다.
단계(S23)에서 수신토픽을 생성하는 이유는, 메시지를 수신하기 위하여 어느 주소로 듣고 있을지를 정의하기 위해서이다.
도 3은 본 발명의 일 실시예에 따라, LLM을 기반으로 메시지를 동기화하여 송수신하는 방법을 나타낸다.
도 3을 참조하여 설명하면, 요청부(91)는 예컨대 도 1의 고속주문서버(1)일 수 있고, 응답부(92)는 예컨대 도 1의 업무계AP서버(3) 또는 주문FEP서버(5)일 수 있다. 또는 이와 반대로 구성할 수도 있다. 요청부(91)는 응답부(92)의 어드레스를 포함하는 제1 송신토픽을 생성할 수 있고(S31), 응답부(92)는 응답부(92)의 어드레스를 포함하는 제1 수신토픽을 생성(S34)하여 네트워크에 알릴 수 있다. 그 다음, 요청부(91)는 요청부(91)의 어드레스를 포함하는 제2 수신토픽을 생성하여 상기 네트워크에 알릴 수 있다(S32). 그 다음, 요청부(91)는 요청부의 정보 및 요청(request)를 단방향 비동기 요청 메시지 형식으로 LLM 기술을 이용하여 응답부(92)에게 전송할 수 있다(S33, S35). 응답부(92)는, 상기 단방향 비동기 요청 메시지를 수신(S36)한 후에, 응답부(92)의 어드레스를 포함하는 제2 송신토픽을 생성한다(S37). 그 후 상기 수신한 단방향 비동기 요청 메시지를 처리(S38)한 후, 이에 대한 응답을 단방향 비동기 응답 메시지 형식으로 LLM 기술을 이용하여 요청부(91)에게 전송한다(S39, S40). 요청부(91)는 단계(S35)부터 상기 단방향 비동기 응답 메시지를 수신(S41)할 때까지 대기하고 있다가, 단계(S41)가 수행되면 그 다음 프로세스를 수행할 수 있도록 되어 있다. 만일 단계(S35) 이후에 일정 시간이 지나도 응답부(92)로부터 응답이 오지 않는 경우 상기 단방향 비동기 요청 메시지의 전송이 실패한 것으로 간주할 수 있다.
도 3에서는 요청부(91)와 응답부(92) 사이의 빠른 단방향 비동기 요청 메지시 전송을 위하여, 단방향 비동기 요청 메시지를 전송하는 단계(S33, S35) 이전에 단계(S32)를 수행하는 것을 특징으로 한다. 또한, 요청부(91)와 응답부(92) 사이의 빠른 단방향 비동기 응답 메지시 전송을 위하여, 상기 수신한 단방향 비동기 요청 메시지를 처리(Request 처리)하는 단계(S38) 이전에 응답부(92)의 어드레스를 포함하는 제2 송신토픽을 생성하는 단계(S37)를 먼저 수행하는 것을 특징으로 한다. 또한, 상술한 방법에 의하여 LLM 기술을 이용하더라도 메시지의 동기화 처리가 가능하다는 효과를 얻을 수 있다. 또한, 응답부(92)에서는 네트워크 상의 어떤 요청부로부터 상술한 단방향 비동기 요청 메시지가 올지 알 수 없기 때문에, 상기 제2 송신토픽의 생성(S37)이 상기 단방향 비동기 요청 메시지를 수신한 이후에 이루어진다는 점에 특징이 있다.
도 2 및 도 3과 관련하여 설명한 동기화라는 용어, 즉, LLM 방식을 이용한 메시지 교환에 관하여 사용한 동기화라는 용어는, 메시지를 전송한 후에 그 전송에 대한 확인응답(confirm)을 받는 경우를 의미하는 것으로 사용되었다.
도 4는 본 발명의 일 실시예에 따라 업무계DB서버(2)의 RDMBS의 DB와 고속주문서버(1)의 공유메모리기반 DB 간의 데이터를 동기화하는 구체적인 방법을 나타낸 것이다. 여기서 서로 다른 DB 간의 동기화는 두 DB의 데이터 일치성을 나타내는 용어로서 사용된다.
상술한 바와 같이, 현재 이(異)기종 DB 간 데이터의 추출, 전송, 및 적재를 위하여 CDC(Changed Data Capture) 솔루션이 제공되고 있으나, 고속주문서버(1)에서 사용하는 공유메모리기반 DB를 대상으로는 CDC 솔루션을 변형하지 않고 그대로 적용할 수 없다는 문제점이 있다. 도 4의 방법은 이러한 문제를 해결하기 위한 본 발명의 일 실시예에 따른 구성이다. 본 발명의 일 실시예에서는 업무계DB서버(2)에 메타관리부(301), 추출조립부(302), 및 전문송수신부(303)를 구성하고, 고속주문서버(1)에는 데이터적재부(101)를 구성할 수 있다.
업무계DB서버(2)의 메타관리부(301)에서는 변경 대상이 되는 테이블 및 컬럼 정보를 메타로 등록하여 관리하는 기능을 한다(S51). 이는, 업무계DB서버(2)에 포함된 모든 DB의 변경을 관리하는 것이 아니라 일부 관심있는 부분만을 관리하기 위한 것이다. 그 다음, 추출조립부(302)는 메타관리부(301)에 등록된 테이블 및 컬럼 정보를 로딩하고(S52), 상기 로딩된 정보에 따라 CDC 솔루션을 이용하여 변경데이터를 필터링하여 추출할 수 있다. 여기서 필터링이라는 용어의 의미는 업무계DB서버(2) 내의 모든 DB를 대상으로 검색하는 것이 아니라, 메타관리부(301)에 등록되어 지정된 부분을 대상으로 검색한다는 것을 의미한다. 그 다음, 추출조립부(302)는 추출된 정보를 미리 결정된 규칙에 따라 DB간 동기화 데이터로서 자동으로 조립하도록 되어 있다(S54). 이렇게 조립된 DB간 동기화 데이터는 전문송수신부(303)를 통해 고속주문서버(1)에게 전송될 수 있는데, 이때에는 도 3에 따른 동기화 전송방식을 사용할 수도 있으나, 도 2에 따른 비동기식 단방향 전송방식(S55)을 사용하여도 무방하다.
고속주문서버(1)의 데이터적재부(101)에서 DB가 동기화 데이터를 수신하면, 이 데이터를 상기 미리 결정된 규칙에 대응하는 상호(reciprocal) 규칙에 의해 분해하게 된다(S56). 그 다음, 분해된 데이터를 이용하여 공유메모리기반 DB(SHM DB)를 갱신하는 방식으로 DB간 동기화를 수행하게 된다.
정리하면, 도 4에 따른 DB간 데이터 동기화 방법은, CDC 솔루션의 기능을 일부만 이용하는 방법으로 해석할 수 있다.
본 발명에 따른 고속주문 서버시스템은 독립적인 프로세서와 저장부를 갖는 상술한 복수 개의 서버(1~5)가 주문처리에 필요한 기능들을 분담하여 수행한다는 특징을 갖는다.
이상 본 발명의 바람직한 실시예와 관련하여 설명하였으나, 본 발명의 기술 분야에 속하는 통상적인 지식을 가진 자들은 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에 다양한 변경 및 수정을 통하여 용이하게 실시할 수 있을 것이다. 특허청구범위의 각 청구항의 내용은 본 명세서를 통해 이해할 수 있는 범위 내에서 인용관계가 없는 다른 청구항에 결합될 수 있다.
그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 진정한 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (12)

  1. 공유메모리기반 DB(shared memory based DB) 및 단방향 비동기 메시지 처리 방식을 지원하는 LLM(Low Latency Messaging) 미들웨어를 포함하는 고속주문서버가, 업무계DB서버로부터 추출된 원장정보를 수신하여 주문FEP서버에게 주문처리하는 방법으로서,
    상기 업무계DB서버로부터 상기 추출된 원장정보를 수신하여 상기 공유메모리기반 DB를 갱신하는 단계; 및
    상기 고속주문서버와 상기 주문FEP서버가 상기 주문처리에 관한 정보를 서로, 상기 추출된 원장정보에 관련된 주문정보를 LLM 프로토콜을 이용하여 동기방식으로 송수신하는 단계;
    를 포함하는,
    금융상품 주문처리방법.
  2. 제1항에 있어서,
    상기 송수신하는 단계는,
    상기 고속주문서버가, 상기 주문정보를 포함하는 단방향 비동기 요청을 LLM 프로토콜을 이용하여 송신하는 단계; 및
    상기 고속주문서버가, 상기 단방향 비동기 요청에 대한 단방향 비동기 응답을 LLM 프로토콜을 이용하여 수신하는 단계를 포함하는,
    금융상품 주문처리방법.
  3. 제2항에 있어서,
    상기 송신하는 단계 이전에,
    상기 고속주문서버가, 상기 주문FEP서버의 주소를 포함하는 송신토픽을 생성하는 단계; 및
    상기 고속주문서버가, 상기 고속주문서버의 주소를 포함하는 수신토픽을 생성하는 단계;
    를 포함하는,
    금융상품 주문처리방법.
  4. 제2항에 있어서,
    상기 송신하는 단계와 상기 수신하는 단계 사이의 기간 동안 상기 단방향 비동기 응답의 수신을 위해 대기하도록 되어 있으며,
    상기 대기하는 시간이 미리 결정된 타임아웃을 넘긴 경우에는 상기 단방향 비동기 요청의 처리가 실패한 것으로 처리하도록 되어 있는,
    금융상품 주문처리방법.
  5. 제2항에 있어서,
    상기 송신하는 단계 이전에, 상기 주문FEP서버의 주소를 포함하는 제2 수신토픽을 생성하는 단계를 수행하도록 되어 있고,
    상기 주문FEP서버는, 상기 단방향 비동기 요청을 수신한 이후, 상기 단방향 비동기 요청을 처리하기 이전에, 상기 주문FEP서버의 주소를 포함하는 제2 송신토픽을 생성하도록 되어 있는,
    금융상품 주문처리방법.
  6. 제1항에 있어서,
    상기 업무계DB서버는 메타관리부 및 추출조립부를 포함하며,
    상기 추출된 원장정보는,
    상기 메타관리부에서, 상기 원장정보 중 상기 공유메모리기반 DB와 동기화되어야 할 대상 테이블 및 칼럼에 관한 추출기준정보를 사용자로부터 입력받는 단계;
    상기 추출조립부에서, 상기 추출기준정보 및 CDC 프로그램을 이용하여 상기 원장정보로부터 DB 동기화 정보를 추출하는 단계; 및
    상기 추출조립부에서, 상기 추출된 DB 동기화 정보를 미리 결정된 규칙에 의해 자동으로 조립하는 단계
    를 통해 생성된 것인,
    금융상품 주문처리방법.
  7. 제6항에 있어서, 상기 고속주문서버가 상기 업무계DB서버로부터 상기 자동으로 조립된 상기 DB 동기화 정보를 수신한 경우, 상기 미리 결정된 규칙에 대응하는 상호 규칙에 따라 상기 DB 동기화 정보를 분해하여, 상기 공유메모리기반 DB를 갱신하도록 되어 있는, 금융상품 주문처리방법.
  8. 제5항에 있어서, 상기 자동으로 조립된 상기 DB 동기화 정보는 LLM 전송방식을 이용하여 단방향 비동기 전송 데이터로서 상기 고속주문서버에게 전송되도록 되어 있는, 금융상품 주문처리방법.
  9. 제1항에 있어서, 상기 원장정보는 LLM 프로토콜을 이용하여 단방향 비동기 메시지 형태로, 상기 업무계DB서버로부터 상기 고속주문서버에게 전송되는, 금융상품 주문처리방법.
  10. 공유메모리기반 DB 및 LLM 미들웨어를 이용하는 고속주문서버가, 업무계DB서버로부터 추출된 원장정보를 수신하고 상기 수신된 원장정보에 관한 주문에 관한 데이터를 업무계AP서버와 교환하는 방법으로서,
    상기 업무계DB서버로부터 상기 추출된 원장정보를 수신하여 상기 공유메모리기반 DB를 갱신하는 단계; 및
    상기 고속주문서버와 상기 업무계AP서버가 서로, 상기 추출된 원장정보에 관한 주문에 관한 데이터를 LLM 프로토콜을 이용하여 동기방식으로 송수신하는 단계;
    를 포함하는,
    금융상품 주문처리방법.
  11. 업무계DB서버로부터 추출된 원장정보를 수신하고 상기 수신된 원장정보에 관한 주문에 관한 데이터를 타서버와 교환하는 고속주문서버로서,
    공유메모리기반 DB 및 LLM 미들웨어를 포함하며,
    상기 공유메모리기반 DB는 상기 원장정보에 의하여 갱신되도록 되어 있고,
    상기 고속주문서버와 상기 타서버가 서로, 상기 추출된 원장정보에 관한 주문에 관한 데이터를 LLM 프로토콜을 이용하여 동기방식으로 송수신하도록 되어 있는,
    고속주문서버.
  12. 제11항에 있어서, 상기 타서버는, 주문FEP서버 또는 업무계AP서버인, 고속주문서버.
KR20130030006A 2013-03-20 2013-03-20 주식매매 고속주문 서버 및 시스템 KR20140115208A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130030006A KR20140115208A (ko) 2013-03-20 2013-03-20 주식매매 고속주문 서버 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130030006A KR20140115208A (ko) 2013-03-20 2013-03-20 주식매매 고속주문 서버 및 시스템

Publications (1)

Publication Number Publication Date
KR20140115208A true KR20140115208A (ko) 2014-09-30

Family

ID=51758607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130030006A KR20140115208A (ko) 2013-03-20 2013-03-20 주식매매 고속주문 서버 및 시스템

Country Status (1)

Country Link
KR (1) KR20140115208A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102095022B1 (ko) 2019-10-02 2020-03-30 김근수 기사 분석을 이용한 주식 자동 매매 방법, 장치 및 프로그램

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102095022B1 (ko) 2019-10-02 2020-03-30 김근수 기사 분석을 이용한 주식 자동 매매 방법, 장치 및 프로그램

Similar Documents

Publication Publication Date Title
TWI698108B (zh) 基於區塊鏈的資料處理方法和裝置
US9495392B2 (en) System and method for parallel multiplexing between servers in a cluster
US10367852B2 (en) Multiplexed demand signaled distributed messaging
US8136122B2 (en) Systems and/or methods for providing feature-rich proprietary and standards-based triggers via a trigger subsystem
US8001080B2 (en) Managing real-time execution of transactions in a network
US9749445B2 (en) System and method for updating service information for across-domain messaging in a transactional middleware machine environment
KR102340296B1 (ko) 트랜잭셔널 환경에서 리소스 관리자(rm) 인스턴스 인지에 기초하여 공통 트랜잭션 식별자(xid) 최적화 및 트랜잭션 친화성을 지원하기 위한 시스템 및 방법
CN110262902B (zh) 信息处理方法及系统、介质和计算设备
JP2005316993A (ja) ネットワーク上においてコンピュータ間でオブジェクトを共有するためのシステムおよび方法
US20200128094A1 (en) Fast ingestion of records in a database using data locality and queuing
US10326720B2 (en) Messaging queue service API optimization system
US9154580B2 (en) Connection management in a computer networking environment
WO2011130940A1 (zh) 多业务统一处理方法及统一业务平台
US8966107B2 (en) System and method of streaming data over a distributed infrastructure
US10609125B2 (en) Method and system for transmitting communication data
CN105976245A (zh) 一种模拟交易系统及方法
CN104468299A (zh) 基于用户规则的企业服务总线系统
CN110096545A (zh) 一种基于大数据平台数据处理域构架方法
CN101834765A (zh) 一种远程文件传输的系统及方法
US20160314115A1 (en) Cross-platform messaging application
US7159010B2 (en) Network abstraction of input/output devices
CN107071067B (zh) 一种基于Cgo的高性能证券行情接入系统和方法
US20170048169A1 (en) Message queue replication with message ownership migration
CN102427474B (zh) 云存储中的数据传输系统
WO2023186154A1 (zh) 数据传输系统以及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application