KR102377052B1 - 자산 매매 시스템 및 방법 - Google Patents

자산 매매 시스템 및 방법 Download PDF

Info

Publication number
KR102377052B1
KR102377052B1 KR1020190117661A KR20190117661A KR102377052B1 KR 102377052 B1 KR102377052 B1 KR 102377052B1 KR 1020190117661 A KR1020190117661 A KR 1020190117661A KR 20190117661 A KR20190117661 A KR 20190117661A KR 102377052 B1 KR102377052 B1 KR 102377052B1
Authority
KR
South Korea
Prior art keywords
packet
test
request
response
request packet
Prior art date
Application number
KR1020190117661A
Other languages
English (en)
Other versions
KR20210035629A (ko
Inventor
정인영
송인성
김원일
이창섭
Original Assignee
주식회사 디셈버앤컴퍼니자산운용
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디셈버앤컴퍼니자산운용 filed Critical 주식회사 디셈버앤컴퍼니자산운용
Priority to KR1020190117661A priority Critical patent/KR102377052B1/ko
Publication of KR20210035629A publication Critical patent/KR20210035629A/ko
Application granted granted Critical
Publication of KR102377052B1 publication Critical patent/KR102377052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자의 거래 주문을 처리하도록 할 때 발생하는 오류를 탐지함으로써 발생한 오류를 재현하여 테스트할 수 있도록 하는 자산 매매 시스템 및 방법에 관한 것으로, 거래 시스템에 요청 패킷을 전송하고, 거래 시스템으로부터 응답 패킷을 수신하여 자산에 대한 매매를 처리하는 매매 처리부, 매매 처리부에서 전송되는 요청 패킷 및 응답 패킷을 인터셉트하여 복제하는 패킷 복제부, 복제된 요청 패킷 및 복제된 응답 패킷을 매매정보에 대응시켜 저장하는 패킷 로그 저장부, 패킷 로그 저장부를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인한 요청 패킷과 관련된 테스트 명령을 생성하는 테스트 명령 생성부; 및 생성된 테스트 명령에 응답하여 테스트 서버에 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 매매 처리부를 제어하는 테스트 요청 패킷 전송부를 포함하고, 테스트 서버는 패킷 로그 저장부를 참조하여, 테스트 요청 패킷에 대응되는 응답 패킷을 매매 처리부로 전송하는 테스트 서버를 포함하는 자산 매매 시스템 및 방법에 관한 것이다.

Description

자산 매매 시스템 및 방법{Systems and methods for trading assets}
본 발명은 자산 매매 시스템 및 방법에 관한 것으로, 보다 상세하게는 사용자의 거래 주문을 처리하도록 할 때 발생하는 오류를 탐지하고, 발생한 오류를 재현하여 테스트함으로써, 사용자의 거래 주문을 처리할 때 발생하는 오류를 처리할 수 있도록 하는 자산 매매 시스템 및 방법에 관한 것이다.
최근 빅데이터를 기반으로 다양한 데이터를 수집한 자동매매 프로그램이 관심을 끌고 있으며, 특히 주식에 대한 정보력이 다소 부족한 개인투자자가 늘어나면서 프로그램으로 하는 자동매매에 대한 관심도가 높아지고 있는 추세이다. 개인투자자가 사용하는 자동매매 시스템에서는 오류가 발생할 수 있으며, 발생한 오류를 탐지하여 고칠 수 있는 기술이 요구된다.
종래기술인 미국등록특허 제 8990778호, "Shadow test replay service"는 현재 버전에서 사용하고 있는 특정 요청을 인터셉트하여 새로운 버전 후보의 소프트웨어에 적용하여 소프트웨어 테스트를 할 수 있도록 하는 기술을 개시하고 있는데, 특정 요청을 시스템 내부에서 실시간으로 동시에 처리하는데 그치고 있다. 따라서 특정 요청에 대한 오류를 탐지하고 오류를 재현할 수 있도록 하는 시스템 및 방법에 요구된다.
미국등록특허 제 8990778호
본 발명은 사용자의 거래 주문을 처리하도록 할 때 발생하는 오류를 탐지하고, 발생한 오류를 재현하여 테스트함으로써, 사용자의 거래 주문을 처리할 때 발생하는 오류를 처리할 수 있도록 하는 것을 목적으로 한다.
본 발명은 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 고정부와 결합시킨 패킷을 매매처리부로 전송함으로써, 오류를 재현하기 위해 데이터를 가공할 수 있도록 하는 것을 목적으로 한다.
본 발명은 요청 패킷 및 응답 패킷을 순서에 따라 테스트 요청 패킷을 전송함으로써 보다 오류 재현을 정확하게 할 수 있도록 하는 것을 목적으로 한다.
본 발명은 테스트 요청 패킷과 응답 패킷을 처리한 결과를 모니터링 하여 오류 여부를 탐지함으로써 어떤 과정에서 오류가 발생했는지 여부를 확인할 수 있도록 하는 것을 목적으로 한다.
이러한 목적을 달성하기 위하여 본 발명의 일실시예에 따른 자산 매매 시스템은 거래 시스템에 요청 패킷을 전송하고, 상기 거래 시스템으로부터 응답 패킷을 수신하여 자산에 대한 매매를 처리하는 매매 처리부, 상기 매매 처리부에서 전송되는 상기 요청 패킷 및 상기 응답 패킷을 인터셉트하여 복제하는 패킷 복제부, 상기 복제된 요청 패킷 및 상기 복제된 응답 패킷을 매매정보에 대응시켜 저장하는 패킷 로그 저장부, 상기 패킷 로그 저장부를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 상기 확인한 요청 패킷과 관련된 테스트 명령을 생성하는 테스트 명령 생성부 및 상기 생성된 테스트 명령에 응답하여 테스트 서버에 상기 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 상기 매매 처리부를 제어하는 테스트 요청 패킷 전송부를 포함하고, 상기 테스트 서버는 상기 패킷 로그 저장부를 참조하여, 상기 테스트 요청 패킷에 대응되는 응답 패킷을 상기 매매 처리부로 전송하는 테스트 서버를 포함하여 구성될 수 있다.
또한, 상기 복제된 요청 패킷을 고정부 및 가변부로 구분하고, 상기 고정부로부터 요청 파라미터를 추출하는 패킷 데이터 정제부를 더 포함하고, 상기 테스트 명령 생성부는 상기 테스트 요청 패킷에서 추출된 요청 파라미터를 인자로 API를 호출하여 상기 테스트 명령을 생성하는 것을 특징으로 하여 구성될 수 있다.
또한, 상기 패킷 데이터 정제부는 상기 복제된 응답 패킷을 고정부 및 가변부로 구분하고, 상기 패킷 로그 저장부는 상기 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장하고, 상기 테스트 서버는 상기 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 상기 고정부와 결합시킨 패킷을 상기 매매 처리부로 전송하는 것을 특징으로 하여 구성될 수 있다.
또한, 상기 패킷 로그 저장부는 상기 요청 패킷 및 상기 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장하고, 상기 테스트 요청 패킷 전송부는 상기 테스트 대상 매매정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 상기 패킷 로그 저장부를 조회하여 송수신 순서를 확인하고, 상기 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 상기 테스트 서버에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송하는 것을 특징으로 하여 구성될 수 있다.
또한, 상기 테스트 요청 패킷 전송부에서 전송되는 테스트 요청 패킷 및 상기 테스트 서버로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지하는 오류 탐지부를 더 포함하는 것을 특징으로 하여 구성될 수 있다.
본 발명은 사용자의 거래 주문을 처리하도록 할 때 발생하는 오류를 탐지하고, 발생한 오류를 재현하여 테스트함으로써, 사용자의 거래 주문을 처리할 때 발생하는 오류를 처리할 수 있도록 한다.
본 발명은 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 고정부와 결합시킨 패킷을 매매처리부로 전송함으로써, 오류를 재현하기 위해 데이터를 가공할 수 있도록 한다.
본 발명은 요청 패킷 및 응답 패킷을 순서에 따라 테스트 요청 패킷을 전송함으로써 보다 오류 재현을 정확하게 할 수 있도록 한다.
본 발명은 테스트 요청 패킷과 응답 패킷을 처리한 결과를 모니터링 하여 오류 여부를 탐지함으로써 어떤 과정에서 오류가 발생했는지 여부를 확인할 수 있도록 한다.
도 1은 본 발명의 일실시예에 따른 자산 매매 시스템의 구성도를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 자산 매매 시스템과 거래 시스템간의 패킷을 송수신하여 오류를 확인하는 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 고정부 및 가변부로 구분된 요청 패킷 및 응답 패킷의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 패킷 로그 저장부에 저장된 패킷의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 탐지한 오류를 재현하는 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 자산 매매 방법의 순서도를 도시한 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하기로 한다. 또한 본 발명의 실시예들을 설명함에 있어 구체적인 수치는 실시예에 불과하며 이에 의하여 발명의 범위가 제한되지 아니한다.
본 발명에 따른 작업 처리 시스템은 중앙처리장치(CPU) 및 메모리(Memory, 기억장치)를 구비하고 인터넷 등의 통신망을 통하여 다른 단말기와 연결 가능한 서버의 형태로 구성될 수 있다. 그러나 본 발명이 중앙처리장치 및 메모리 등의 구성에 의해 한정되지는 아니한다. 또한, 본 발명에 따른 작업 처리 시스템은 물리적으로 하나의 장치로 구성될 수도 있으며, 복수의 장치에 분산된 형태로 구현될 수도 있어, 본 발명은 이와 같은 물리적인 장치의 구성에 의하여 한정되지 아니한다.
이하에서는 본 발명에 따른 작업 처리 시스템을 자산 매매에 적용한 자산 매매 시스템을 중심으로 설명하며, 그 밖에도 외부 시스템과 작업을 수행하는 다양한 시스템에 적용될 수 있다. 이하의 실시예에서 거래 시스템은 외부 시스템, 매매는 작업에 각각 대응된다.
도 1은 본 발명의 일실시예에 따른 자산 매매 시스템(100)의 구성도를 도시한 도면이다.
본 발명에 따른 자산 매매 시스템(100)은 매매 처리부(110), 패킷 복제부(120), 패킷 로그 저장부(130), 테스트 명령 생성부(140), 테스트 요청 패킷 전송부(150), 테스트 서버(160), 패킷 데이터 정제부(170), 오류 탐지부(180)로 구성될 수 있으며, 각각의 구성요소들은 물리적으로 동일한 컴퓨터 시스템 내에서 동작하는 소프트웨어 모듈일 수 있으며, 물리적으로 2개 이상으로 분리된 컴퓨터 시스템이 서로 연동하여 동작할 수 있도록 구성된 형태일 수 있는데, 동일한 기능을 포함하는 다양한 실시형태가 본 발명의 권리범위에 속한다.
매매 처리부(110)는 거래 시스템에 요청 패킷을 전송하고, 거래 시스템으로부터 응답 패킷을 수신하여 자산에 대한 매매를 처리한다.
거래 시스템은 자산 매매 시스템(100)의 외부에 있는 증권사의 매매 시스템일 수 있으며, 매매 처리부(110)는 증권사의 매매 시스템인 거래 시스템에서 증권 또는 금융 관련 상품의 매매를 포함한 거래에 대한 주문을 나타내는 신호를 주고받을 수 있다. 요청 패킷은 증권 또는 금융 관련 상품의 매매를 포함한 거래를 요청하는 정보를 포함할 수 있으며, 응답 패킷은 요청 패킷에 대한 거래를 처리하였는지 여부에 대한 정보를 포함할 수 있다. 매매 처리부(110)는 증권 시스템인 거래 시스템에 거래를 요청하는 요청 패킷을 전송하고, 거래 시스템은 요청 패킷을 수신하여 요청 패킷에 따른 거래를 처리하여 응답 패킷을 전송할 수 있다. 매매 처리부(110)는 거래 시스템으로부터 응답 패킷을 수신하여 응답 패킷의 정보에 따라 자산에 대한 거래 또는 매매를 처리할 수 있다.
패킷 복제부(120)는 매매 처리부(110)에서 전송되는 요청 패킷 및 응답 패킷을 인터셉트하여 복제한다.
패킷 복제부(120)는 매매 처리부(110)에서 거래 시스템으로 전송하는 요청 패킷 및 응답 패킷 또는 거래 시스템에서 매매처리부로 전송하는 요청 패킷 및 응답 패킷을 인터셉트하여 복제할 수 있다. 요청 패킷 및 응답 패킷은 매매 처리부(110)와 거래시스템에서 증권 또는 금융 관련 상품의 매매를 포함한 거래에 대한 정보를 포함할 수 있으며, 종목명, 거래 수량, 매수 또는 매도 등과 같은 정보를 포함한 처리 정보, 시간 정보, 계좌 정보 등을 포함할 수 있다.
패킷 데이터 정제부(170)는 복제된 요청 패킷을 고정부 및 가변부로 구분하고, 고정부로부터 요청 파라미터를 추출한다.
패킷 데이터 정제부(170)는 복제된 요청 패킷 및 응답 패킷을 고정부 및 가변부로 구분할 수 있으며, 고정부는 요청 패킷 및 응답 패킷에 포함되어 있는 패킷 정보 중 변하지 않는 종목명, 거래 수량, 처리 정보 등의 정보로 구분할 수 있으며, 가변부는 변화 또는 수정할 수 있는 정보인 시간 정보, 계좌 정보 등을 포함한 정보일 수 있다. 파라미터는 요청 패킷 또는 응답 패킷에 한 인자일 수 있으며, 요청 패킷에 대한 파라미터는 요청 파라미터, 응답 패킷에 대한 파라미터는 응답 파라미터일 수 있다. 패킷 데이터 정제부(170)는 복제된 요청 패킷 및 응답 패킷에 포함된 파라미터를 추출할 수 있으며, 고정부로부터 요청 파라미터 또는 응답 파라미터를 추출할 수 있다.
패킷 데이터 정제부(170)는 복제된 응답 패킷을 고정부 및 가변부로 구분한다.
패킷 데이터 정제부(170)는 복제된 응답 패킷을 고정부 및 가변부로 구분할 수 있다. 고정부는 요청 패킷 및 응답 패킷에 포함되어 있는 패킷 정보 중 변하지 않는 종목명, 거래 수량, 처리 정보 등의 정보로 구분할 수 있으며, 가변부는 변화 또는 수정할 수 있는 정보인 시간 정보, 계좌 정보 등을 포함한 정보일 수 있다. 패킷 데이터 정제부(170)는 복제된 응답 패킷에 포함된 정보를 종목명, 거래 수량, 처리 정보를 포함한 고정부, 시간 정보, 계좌 정보 등을 포함한 가변부로 구분할 수 있다.
패킷 로그 저장부(130)는 복제된 요청 패킷 및 복제된 응답 패킷을 매매정보에 대응시켜 저장한다.
매매정보는 매매 처리부(110)에서 거래 시스템에 증권 또는 금융 상품을 매수 또는 매도하고자 하는 정보일 수 있으며, 하나의 계좌에서 발생하는 매수 또는 매도에 대한 전체 정보일 수 있으며, 하나의 계좌에서 발생하는 매수 또는 매도에 대한 정보 중 일부일 수 있다. 매매정보는 매수 및 매도를 구분하는 하나의 단위일 수 있으며, 매매정보는 복수일 수 있다. 패킷 로그 저장부(130)는 패킷 복제부(120)에서 복제한 요청 패킷 및 응답 패킷을 매매 처리부(110)에서 거래 시스템으로 증권 또는 금융 상품을 매수 또는 매도하고자 하는 각각의 정보와 매칭하여 저장할 수 있다.
예를 들면, A종목을 100주 매수한다는 매매정보인 매매정보1이 있다면, 매매 처리부(110)는 거래 시스템으로 A종목 100주를 매수하고자한다는 요청 패킷1을 전송할 수 있으며, 거래 시스템은 A종목을 100주 매수한 후에 100주를 매수했다는 정보를 포함하고 있는 응답 패킷1을 매매 처리부(110)에 전송하여 매매 처리부(110)는 거래 시스템으로부터 응답 패킷을 수신할 수 있다. 패킷 복제부(120)는 매매 처리부(110)에서 100종목을 매수하고자 한다는 요청 패킷1과 100종목을 매수했다는 응답 패킷1을 복제할 수 있다. 패킷 로그 저장부(130)는 요청 패킷1과 매매정보1을 대응시켜 저장할 수 있으며, 응답 패킷1과 매매정보1을 대응시켜 저장할 수 있다. 즉, 패킷 로그 저장부(130)는 매매정보1에서 'A종목 100주 매수 주문' 정보를 포함한 요청 패킷1과 'A종목 100주 매수 확인' 정보를 포함한 응답 패킷1이 매매정보1에서 발생했다는 정보를 대응시켜 저장할 수 있다.
패킷 로그 저장부(130)는 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장한다.
패킷 로그 저장부(130)는 패킷 데이터 정제부(170)에서 구분한 복제된 응답 패킷 및 요청 패킷의 고정부 및 가변부를 저장할 수 있다. 패킷 로그 저장부(130)는 복제된 응답 패킷 및 요청 패킷의 고정부로 구분된 정보를 종목명, 거래 수량, 처리 정보에 각각 대응시켜 저장할 수 있으며, 복제된 응답 패킷 및 요청 패킷의 가변부로 구분된 정보를 시간 정보, 계좌 정보에 각각 대응시켜 저장할 수 있다.
패킷 로그 저장부(130)는 요청 패킷 및 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장한다.
패킷 로그 저장부(130)는 요청 패킷 및 응답 패킷의 송수신 순서를 요청 패킷 및 응답 패킷의 시간 정보를 통해 확인할 수 있다. 요청 패킷 및 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보는 요청 패킷 및 응답 패킷이 발생한 시간 정보일 수 있으며, 요청 패킷 및 응답 패킷이 발생한 시간 정보에 따라 순서가 결정될 수 있다.
예를 들면, A종목을 100주 매수하고자 하는 요청 패킷1은 09:10:00(시간:분:초)에 발생하였으며, A종목 50주를 매수하였다는 응답 패킷1은 09:10:02에 발생할 수 있다. 또한, 매수가 이루어지지 않은 A종목의 50주에 대한 매수 취소 요청 패킷2는 09:10:13에 이루어졌으며, A종목의 50주에 대한 매수 취소 요청에 대한 응답 패킷2는 09:10:14에 이루어진 졌다는 시간 정보를 확인할 수 있다. 패킷 로그 저장부(130)는 요청 패킷 및 응답 패킷의 시간 정보를 기초로 요청 패킷 및 응답 패킷의 송수신 순서는 요청 패킷1, 응답 패킷1, 요청 패킷2, 응답 패킷2의 순인 것을 확인하여, 요청 패킷 및 응답 패킷의 송수신 순서를 확인하여 저장할 수 있다.
테스트 명령 생성부(140)는 패킷 로그 저장부(130)를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인한 요청 패킷과 관련된 테스트 명령을 생성한다.
테스트 대상 매매정보는 증권 또는 금융 상품을 매수 또는 매도하고자 하는 매매정보 중 오류가 발생한 매매정보일 수 있으며, 매매 처리부(110)에서 전송한 요청 패킷이 포함하고 있는 주문 정보 또는 요청 정보에 대한 거래가 이루어지지 않거나 응답 패킷을 수신하는 과정에서 오류가 발생했다고 판단되는 매매정보 일 수 있다. 매매 처리부(110)에서 거래 시스템으로 요청 패킷을 전송하면, 거래 시스템은 그 요청 패킷에 대한 응답 패킷을 전송할 수 있으며, 테스트 명령 생성부(140)는 매매 처리부(110)에서 전송한 요청 패킷에 대한 거래가 정상적으로 이루어지면 테스트 대상 매매정보에 대응되는 요청 패킷으로 확인하지 않을 수 있으며, 요청 패킷에 대한 거래가 정상적으로 이루어지지 않는 경우 테스트 대상 매매정보에 대응되는 요청 패킷으로 확인할 수 있다. 테스트는 오류 또는 정상적인 거래가 이루어지지 않는 경우에 검사 또는 시험하는 것으로, 테스트 명령은 오류 또는 정상적인 거래가 이루어지지 않은 대상인 테스트 대상 매매정보에 대응되는 요청 패킷이 확인되는 경우 확인된 요청 패킷을 검사 또는 시험을 요청하는 명령일 수 있다. 테스트 명령 생성부(140)는 오류 또는 정상적인 거래가 이루어지지 않은 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인된 요청 패킷을 대상으로 테스트 명령을 생성할 수 있다.
테스트 명령 생성부(140)는 테스트 요청 패킷에서 추출된 요청 파라미터를 인자로 API를 호출하여 테스트 명령을 생성한다.
테스트 요청 패킷은 테스트 대상 요청 패킷으로 테스트 대상 매매정보에 대응되는 요청 패킷일 수 있으며, 테스트 대상 요청 패킷의 고정부로부터 추출한 요청 파라미터를 인자로 하여 API를 호출하여 테스트 명령을 생성할 수 있다. API는 응용프로그램 인터테이스(application programming interface)로 응용프로그램을 개발하기 위한 함수의 집합일 수 있으며, 테스트 명령 생성부(140)는 테스트 대상 요청 패킷에서 추출된 요청 파라미터를 인자로하여 API를 호출하여 확인된 요청 패킷을 대상으로 테스트 명령을 생성할 수 있다.
테스트 요청 패킷 전송부(150)는 생성된 테스트 명령에 응답하여 테스트 서버(160)에 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 매매 처리부(110)를 제어한다.
테스트 요청 패킷은 오류 또는 정상적인 거래가 이루어지지 않은 테스트 대상 매매정보에 포함되는 요청 패킷일 수 있으며, 테스트 요청 패킷 전송부(150)는 테스트 요청 패킷을 매매 처리부(110)에서 테스트 서버(160)로 전송할 수 있도록 제어할 수 있다. 테스트 요청 패킷 전송부(150)는 테스트 명령 생성부(140)에서 특정 매매정보에 대하여 테스트 명령을 생성하였을 경우, 그 특정 매매정보에 대응되는 요청 패킷을 매매 처리부(110)에서 전송할 수 있도록 명령 또는 제어할 수 있다.
예를 들면, 매매정보1와 관련된 매매정보에 대하여 테스트 명령이 생성되었다면, 매매정보1에 대응되는 요청 패킷을 확인하고, 테스트 요청 패킷 전송부(150)는 이를 기초로 매매정보1과 관련된 테스트 요청 패킷을 매매 처리부(110)가 전송하도록 제어할 수 있다.
테스트 요청 패킷 전송부(150)는 테스트 대상 매매정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 패킷 로그 저장부(130)를 조회하여 송수신 순서를 확인하고, 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 테스트 서버(160)에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송한다.
테스트 요청 패킷 전송부(150)는 테스트 대상 매매정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우 패킷 로그 저장부(130)를 조회하여 송수신 순서를 확인할 수 있다. 하나의 매매정보를 수행하기 위해서는 복수의 요청 패킷 및 응답 패킷이 송수신 될 수 있으며, 복수의 요청 패킷 및 응답 패킷의 송수신 순서는 패킷 로그 저장부(130)에서 확인할 수 있다. 테스트 요청 패킷 전송부(150)는 복수의 요청 패킷 및 응답 패킷을 순서에 따라 전송을 확인하고 수신을 확인할 수 있다. 테스트 요청 패킷 전송부(150)는 복수의 요청 패킷을 전송할 수 있도록 매매 처리부(110)를 제어할 수 있으며, 테스트 서버(160)에서 매매 처리부(110)로 테스트 응답 패킷을 전송하였는지 확인할 수 있다. 테스트 요청 패킷 전송부(150)는 송수신 순서에 따라 테스트 요청 패킷을 전송할 수 있으며, 순서에 따라서 테스트 요청 패킷 전송부(150)에서 테스트 요청 패킷을 전송한 후에 테스트 서버(160)에서 매매 처리부(110)로 테스트 응답 패킷을 전송했는지 확인한 후에 다음 순서의 테스트 요청 패킷을 전송할 수 있다.
예를 들면, 테스트 요청 패킷 전송부(150)는 테스트 대상 매매정보1과 관련하여 패킷 로그 저장부(130)를 조회하여 요청 패킷 및 응답 패킷의 송수신 순서가 요청 패킷1, 응답 패킷1, 요청 패킷2, 응답 패킷2의 순인 것을 확인할 수 있다. 테스트 요청 패킷 전송부(150)는 요청 패킷 1이 매매 처리부(110)에서 전송될 수 있도록 제어하고, 테스트 서버(160)에서 응답 패킷1을 매매 처리부(110)에 전송하였는지 확인할 수 있으며, 테스트 서버(160)에서 전송할 다음 응답 패킷이 없는 것을 확인한 후에 요청 패킷 2을 전송할 수 있도록 제어하고, 테스트 서버(160)에서 매매 처리부(110)로 응답 패킷 2을 전송하였는지 확인할 수 있다. 또한, 테스트 요청 패킷 전송부(150)는 모든 테스트 요청 패킷 및 테스트 응답 패킷이 전송이 완료된 것을 확인할 수 있다.
오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 전송되는 테스트 요청 패킷 및 테스트 서버(160)로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지한다.
오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 전송되는 테스트 요청 패킷을 수신하여 처리한 결과를 모니터링하여 오류여부를 탐지할 수 있다. 오류 탐지부(180)는 테스트 서버(160)로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링 하여 오류 여부를 탐지할 수 있다. 오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 테스트 요청 패킷을 매매 처리부(110)가 전송하도록 제어한 후의 결과를 모니터링하여 오류여부를 탐지할 수 있다. 오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 송수신 순서에 따라 전송한 테스트 요청 패킷의 처리 결과를 기초로 오류 여부를 탐지할 수 있다.
예를 들면, 테스트 요청 패킷 전송부(150)는 테스트 대상 매매정보1과 관련하여 패킷 로그 저장부(130)를 조회하여 요청 패킷 및 응답 패킷의 송수신 순서가 요청 패킷1, 응답 패킷1, 요청 패킷2, 응답 패킷2의 순인 것을 확인할 수 있다. 테스트 요청 패킷 전송부(150)는 요청 패킷 1이 매매 처리부(110)에서 전송될 수 있도록 제어하고 오류 탐지부(180)는 요청 패킷 1에서 처리한 결과가 정상적으로 처리된 것을 확인할 수 있으며, 테스트 요청 패킷 전송부(150)는 테스트 서버(160)에서 응답 패킷 1을 매매 처리부(110)에 전송하였는지 확인한 후 오류 탐지부(180)는 응답 패킷 1에서 처리한 결과가 정상적으로 처리된 것을 확인할 수 있다. 또한, 테스트 요청 패킷 전송부(150)는 테스트 서버(160)에서 전송할 다음 응답 패킷이 없는 것을 확인한 후에 요청 패킷 2을 전송할 수 있도록 제어하고 오류 탐지부(180)는 요청 패킷 2에서 처리한 결과에서 오류가 발생한 결과를 확인할 수 있다. 따라서, 오류 탐지부(180)는 테스트 대상 매매정보1에서 요청 패킷 2에서 처리한 결과에서 오류가 발생한 것을 확인할 수 있다.
테스트 서버(160)는 패킷 로그 저장부(130)를 참조하여, 테스트 요청 패킷에 대응되는 응답 패킷을 매매 처리부(110)로 전송한다.
테스트 서버(160)는 패킷 로그 저장부(130)를 참조하여, 테스트 대상 매매정보에 대응되는 테스트 요청 패킷에 대응되는 응답 패킷을 매매 처리부(110)로 전송한다. 테스트 서버(160)는 패킷 로그 저장부(130)를 참고하여 테스트 대상 매매정보에 대응되는 응답 패킷의 송수신 순서를 확인하여 송수신 순서에 따라 응답 패킷을 전송할 수 있다.
테스트 서버(160)는 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 고정부와 결합시킨 패킷을 매매 처리부(110)로 전송한다.
테스트 서버(160)는 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 시간 정보 또는 계좌정보를 테스트 상황에 맞게 변경할 수 있으며, 변경시킨 가변부와 고정부를 결합한 응답 패킷을 매매처리부로 전송할 수 있다. 가변부가 포함하고 있는 시간 정보는 테스트 대상 매매정보에 대응되는 응답 패킷이 발생한 실제 시간 정보일 수 있으며, 테스트 서버(160)에서 테스트를 위해서 응답 패킷을 전송할 수 있는 실제 시간에 전송되지 않아도 되기 때문에 변경할 수 있다. 또한, 가변부에 포함되어 잇는 계좌정보도 테스트 대상이 되는 매매정보에 대응되는 그 계좌에서 테스트를 하는 경우 실제 돈이 오갈 수 있기 때문에 다른 가상의 계좌로 변경할 필요가 있기 때문에 테스트 상황에 맞게 변경할 수 있다.
도 2는 본 발명의 일실시예에 따른 자산 매매 시스템(100)과 거래 시스템간의 패킷을 송수신하여 오류를 확인하는 일례를 도시한 도면이다.
자산 매매 시스템(100)은 매매 처리부(110), 패킷 복제부(120), 패킷 로그 저장부(130), 테스트 명령 생성부(140), 테스트 요청 패킷 전송부(150), 테스트 서버(160), 패킷 데이터 정제부(170), 오류 탐지부(180)로 구성될 수 있으며, 증권사 시스템인 거래 시스템과 응답 패킷 및 요청 패킷을 송수신 할 수 있다.
매매 처리부(110)는 거래 시스템에 요청 패킷을 전송하고, 거래 시스템으로부터 응답 패킷을 수신하여 자산에 대한 매매를 처리한다.
패킷 복제부(120)는 매매 처리부(110)에서 전송되는 요청 패킷 및 응답 패킷을 인터셉트하여 복제한다.
패킷 로그 저장부(130)는 복제된 요청 패킷 및 복제된 응답 패킷을 매매정보에 대응시켜 저장한다.
테스트 명령 생성부(140)는 패킷 로그 저장부(130)를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인한 요청 패킷과 관련된 테스트 명령을 생성한다.
테스트 요청 패킷 전송부(150)는 생성된 테스트 명령에 응답하여 테스트 서버(160)에 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 매매 처리부(110)를 제어한다.
테스트 서버(160)는 패킷 로그 저장부(130)를 참조하여, 테스트 요청 패킷에 대응되는 응답 패킷을 매매 처리부(110)로 전송한다.
오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 전송되는 테스트 요청 패킷 및 테스트 서버(160)로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지한다.
예를 들면, 하나의 매매정보인 매매정보1에 대한 거래 내역을 보면 자산 매매 시스템(100)에서 A종목을 100주 매수 결정하였다면, 거래 시스템에 시간정보 09:10:00를 포함한 'A종목 100주 매수 주문'의 요청 패킷1을 전송할 수 있으며, 거래 시스템은 요청 패킷1을 전송받아 A종목 100주 중에 50주의 매수가 가능하다고 판단하여 A종목 50주를 매수할 수 있다. 거래 시스템은 이에 대한 응답으로 시간정보 09:10:02를 포함한 'A종목 50주 매수 확인'이라는 응답 패킷1을 자산 매매 시스템(100)에 전송할수 있으며, 자산 매매 시스템(100)은 응답 패킷1을 전송받아 50주 매수 정보를 처리할 수 있다. 그리고 이후 자산 매매 시스템(100)은 남은 A종목 50주의 주문을 취소결정 하여 시간정보 09:10:13를 포함한 'A종목 50주 매수 취소 주문'이라는 요청 패킷2를 거래 시스템에 전송할 수 있다. 이때, 거래 시스템에서는 A종목 50주의 매수를 완료할 수 있으며, 시간정보 09:10:13를 포함한 'A종목 50주 매수 확인'의 응답 패킷2를 자산 매매시스템에 전송할 수 있다. 자산 매매 시스템(100)에서 전송한 요청 패킷2에 대한 확인으로 오류를 확인할 수 있으며, 응답 패킷으로 거래 시스템은 시간정보 09:10:14를 포함한 'A종목 50주 매수 취소 오류 확인'이라는 응답 패킷3을 자산 매매 시스템(100)에 전송할 수 있다. 자산 매매 시스템(100)은 이를 확인하여 매매정보1에는 오류정보가 포함되어 있다고 판단할 수 있으며, 이를 테스트 대상 매매정보로 확인할 수 있다.
패킷 로그 저장부(130)는 요청 패킷 및 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장한다.
예를 들면, 위에서 예시한 요청 패킷 및 응답 패킷의 시간정보를 통하여 요청 패킷 및 응답 패킷에 대한 순서를 확인할 수 있다. 위의 예시에 따르면 패킷 로그 저장부(130)는 시간정보 09:10:00를 포함한 요청 패킷1은 첫번째, 시간정보 09:10:02를 포함한 응답 패킷2는 두번째, 시간정보 09:10:13를 포함한 요청 패킷2과 응답 패킷2은 랜덤으로 각각 세번째 및 네번째로 순서를 정할 수 있으며, 시간정보 09:10:14를 포함한 응답 패킷3은 다섯번째 순서로 확인하여 저장할 수 있다.
도 3은 본 발명의 일실시예에 따른 고정부 및 가변부로 구분된 요청 패킷 및 응답 패킷의 일례를 도시한 도면이다.
패킷 데이터 정제부(170)는 복제된 응답 패킷을 고정부 및 가변부로 구분한다.
패킷 로그 저장부(130)는 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장한다.
패킷 로그 저장부(130)는 패킷 데이터 정제부(170)에서 구분한 복제된 응답 패킷 및 요청 패킷의 고정부 및 가변부를 저장할 수 있다. 패킷 로그 저장부(130)는 복제된 응답 패킷 및 요청 패킷의 고정부로 구분된 정보를 종목명, 거래 수량, 처리 정보에 각각 대응시켜 저장할 수 있으며, 복제된 응답 패킷 및 요청 패킷의 가변부로 구분된 정보를 시간 정보, 계좌 정보에 각각 대응시켜 저장할 수 있다.
예를 들면, 고정부에는 (종목명, 거래 수량, 처리 정보)가 포함될 수 있으며, 가변부에는 (시간 정보, 계좌 정보)가 포함될 수 있다. 첫번째 패킷인 요청 패킷(310)을 고정부와 가변부로 구분할 수 있으며, 고정부에는 (A종목, 100주, 매수)라는 정보가 포함될 수 있으며, 가변부에는 (09:10:00, 1007)이라는 정보가 포함될 수 있다. 두번째 패킷인 응답 패킷(320)은 고정부에는 (A종목, 50주, 매수 확인)라는 정보가 포함될 수 있으며, 가변부에는 (09:10:02, 1007)이라는 정보가 포함될 수 있다. 세번째 패킷인 요청 패킷(330)은 고정부에는 (A종목, 100주, 매수 취소)라는 정보가 포함될 수 있으며, 가변부에는 (09:10:13, 1007)이라는 정보가 포함될 수 있다. 네번째 패킷인 응답 패킷(340)은 고정부에는 (A종목, 50주, 매수 확인)라는 정보가 포함될 수 있으며, 가변부에는 (09:10:13, 1007)이라는 정보가 포함될 수 있다. 다섯번째 패킷인 응답 패킷(350)은 고정부에는 (A종목, 5주, 오류확인)라는 정보가 포함될 수 있으며, 가변부에는 (09:10:14, 1007)이라는 정보가 포함될 수 있다.
도 4는 본 발명의 일실시예에 따른 패킷 로그 저장부(130)에 저장된 패킷의 일례를 도시한 도면이다.
패킷 로그 저장부(130)는 복제된 요청 패킷 및 복제된 응답 패킷을 매매정보에 대응시켜 저장한다.
매매정보는 매매 처리부(110)에서 거래 시스템에 증권 또는 금융 상품을 매수 또는 매도하고자 하는 정보일 수 있으며, 하나의 계좌에서 발생하는 매수 또는 매도에 대한 전체 정보일 수 있으며, 하나의 계좌에서 발생하는 매수 또는 매도에 대한 정보 중 일부일 수 있다. 매매정보는 매수 및 매도를 구분하는 하나의 단위일 수 있으며, 매매정보는 복수일 수 있다. 패킷 로그 저장부(130)는 패킷 복제부(120)에서 복제한 요청 패킷 및 응답 패킷을 매매 처리부(110)에서 거래 시스템으로 증권 또는 금융 상품을 매수 또는 매도하고자 하는 각각의 정보와 매칭하여 저장할 수 있다.
패킷 로그 저장부(130)는 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장한다.
예를 들면, 패킷 로그 저장부(130)는 각각의 요청 패킷 및 응답 패킷을 매매 정보에 대응시켜 저장할 수 있으며, 패킷 로그 저장부(130)에 저장된 매매정보1에 대한 데이터에는 각각의 복제된 응답 패킷 및 요청 패킷에 대한 정보를 포함할 수 있다. 패킷 로그 저장부(130)에는 매매정보, 각각의 복제된 응답 패킷 및 요청 패킷 정보, 시간정보, 고정부 정보, 가변부 정보를 포함할 수 있다.
도 5는 본 발명의 일실시예에 따른 탐지한 오류를 재현하는 일례를 도시한 도면이다.
테스트 명령 생성부(140)는 패킷 로그 저장부(130)를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인한 요청 패킷과 관련된 테스트 명령을 생성한다.
테스트 요청 패킷 전송부(150)는 생성된 테스트 명령에 응답하여 테스트 서버(160)에 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 매매 처리부(110)를 제어한다.
테스트 요청 패킷 전송부(150)는 테스트 대상 매매정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 패킷 로그 저장부(130)를 조회하여 송수신 순서를 확인하고, 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 테스트 서버(160)에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송한다.
오류 탐지부(180)는 테스트 요청 패킷 전송부(150)에서 전송되는 테스트 요청 패킷 및 테스트 서버(160)로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지한다.
테스트 서버(160)는 패킷 로그 저장부(130)를 참조하여, 테스트 요청 패킷에 대응되는 응답 패킷을 매매 처리부(110)로 전송한다.
예를 들면, 패킷 복제부(120)에서 복제한 요청 패킷 및 응답 패킷을 기초로 테스트 대상 매매정보에 대한 매매 처리를 재현해 볼 수 있다. 테스트 명령 생성부(140)에서 생성한 매매정보1에 대한 테스트 명령에 응답하여 테스트 요청 패킷 전송부(150)는 매매정보1에 대한 테스트를 시작한다는 정보를 매매 처리부(110)에 전송할 수 있다. 매매 처리부(110)는 패킷 로그 저장부(130)에서 매매정보1에 대한 테스트 요청 패킷을 확인한 후 “A종목 100주 매수 주문”이라는 테스트 요청 패킷을 전송할 수 있다. 테스트 서버(160)는 패킷 로그 저장부(130)를 확인하여 'A종목 50주 매수확인'이라는 테스트 응답 패킷을 매매 처리부(110)에 전송할 수 있으며, 테스트 요청 패킷 전송부(150)는 이를 확인하고 오류 탐지부(180)는 50주 매수 정보 처리에 대한 결과를 확인할 수 있다. 또한 테스트 요청 패킷 전송부(150)는 매매 처리부(110)에서 패킷 로그 저장부(130)를 확인하여 'A종목 50주 매수 취소 주문'에 대한 정보를 전송하도록 제어할 수 있으며, 테스트 서버(160)는 패킷 로그 저장부(130)를 확인하여 'A종목 50주 매수 확인'이라는 응답 패킷과 'A종목 50주 매수 취소 오류확인'이라는 응답패킷을 매매 처리부(110)에 전송할 수 있다. 오류 탐지부(180)는 테스트 서버(160)에서 수신받은 테스트 응답 패킷을 기초로 50주를 매수했다는 정보에 대한 처리 결과 및 매수 취소 오류에 대한 결과를 확인할 수 있다.
도 6은 본 발명의 일실시예에 따른 자산 매매 방법의 순서도를 도시한 도면이다.
자산 매매 시스템(100)은 자산 매매 방법으로 구현되어 실현될 수 있으며, 상기 종목 매매 시스템의 기술적인 사상을 그대로 적용할 수 있다.
이와 같은, 자산 매매 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
중앙처리장치 및 메모리를 구비하는 자산 매매 시스템(100)에서 동작하는 자산 매매 방법에 있어서,
자산에 대한 매매를 처리하는 단계(S601)는 매매 처리부(110)에서 거래 시스템에 요청 패킷을 전송하고, 거래 시스템으로부터 응답 패킷을 수신하여 자산에 대한 매매를 처리한다.
요청 패킷 및 응답 패킷을 인터셉트하여 복제하는 단계(S602)는 패킷 복제부(120)에서 자산에 대한 매매를 처리하는 단계(S601)에서 전송되는 요청 패킷 및 응답 패킷을 인터셉트하여 복제한다.
패킷 데이터를 정제하는 단계는 패킷 데이터 정제부(170)는 복제된 요청 패킷을 고정부 및 가변부로 구분하고, 고정부로부터 요청 파라미터를 추출한다.
패킷 데이터를 정제하는 단계는 복제된 응답 패킷을 고정부 및 가변부로 구분한다.
패킷을 매매정보에 대응시켜 저장하는 단계(S603)는 패킷 로그 저장부(130)에서 복제된 요청 패킷 및 복제된 응답 패킷을 매매정보에 대응시켜 저장한다.
패킷을 매매정보에 대응시켜 저장하는 단계(S603)는 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장한다.
패킷을 매매정보에 대응시켜 저장하는 단계(S603)는 요청 패킷 및 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장한다.
테스트 명령을 생성하는 단계(S604)는 테스트 명령 생성부(140)에서 패킷을 매매정보에 대응시켜 저장하는 단계(S603)를 참조하여 테스트 대상 매매정보에 대응되는 요청 패킷을 확인하고, 확인한 요청 패킷과 관련된 테스트 명령을 생성한다.
테스트 명령을 생성하는 단계(S604)는 테스트 요청 패킷에서 추출된 요청 파라미터를 인자로 API를 호출하여 테스트 명령을 생성한다.
테스트 요청 패킷 전송 단계(S605)는 테스트 요청 패킷 전송부(150)는 생성된 테스트 명령에 응답하여 테스트 서버(160)에 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 자산에 대한 매매를 처리하는 단계(S601)를 제어한다.
테스트 요청 패킷 전송 단계(S605)는 테스트 대상 매매정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 패킷을 매매정보에 대응시켜 저장하는 단계(S603)를 조회하여 송수신 순서를 확인하고, 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 테스트 서버(160)에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송한다.
오류 여부를 탐지하는 단계는 오류 탐지부(180)에서 테스트 요청 패킷 전송 단계(S605)에서 전송되는 테스트 요청 패킷 및 테스트 서버(160)로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지한다.
테스트 서버(160)는 패킷을 매매정보에 대응시켜 저장하는 단계(S603)를 참조하여, 테스트 요청 패킷에 대응되는 응답 패킷을 자산에 대한 매매를 처리하는 단계(S601)로 전송한다.
테스트 서버(160)는 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 고정부와 결합시킨 패킷을 자산에 대한 매매를 처리하는 단계(S601)로 전송한다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있다.
110: 매매 처리부 120: 패킷 복제부
130: 패킷 로그 저장부 140: 테스트 명령 생성부
150: 테스트 요청 패킷 전송부 160: 테스트 서버
170: 패킷 데이터 정제부 180: 오류 탐지부

Claims (11)

  1. 외부 시스템에 요청 패킷을 전송하고, 상기 외부 시스템으로부터 응답 패킷을 수신하여 작업을 처리하는 작업 처리부;
    상기 작업 처리부에서 전송되는 상기 요청 패킷 및 상기 응답 패킷을 인터셉트하여 복제하는 패킷 복제부;
    상기 복제된 요청 패킷 및 상기 복제된 응답 패킷을 작업정보에 대응시켜 저장하는 패킷 로그 저장부;
    상기 복제된 요청 패킷을 고정부 및 가변부로 구분하고, 상기 고정부로부터 요청 파라미터를 추출하는 패킷 데이터 정제부;
    상기 패킷 로그 저장부를 참조하여 테스트 대상 작업정보에 대응되는 요청 패킷을 확인하고, 상기 확인한 요청 패킷과 관련된 테스트 명령을 생성하는 테스트 명령 생성부; 및
    상기 생성된 테스트 명령에 응답하여 테스트 서버에 상기 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 상기 작업 처리부를 제어하는 테스트 요청 패킷 전송부
    를 포함하고,
    상기 테스트 서버는 상기 패킷 로그 저장부를 참조하여, 상기 테스트 요청 패킷에 대응되는 응답 패킷을 상기 작업 처리부로 전송하고,
    상기 패킷 로그 저장부는
    상기 요청 패킷 및 상기 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장하고,
    상기 테스트 요청 패킷 전송부는
    상기 테스트 대상 작업정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 상기 패킷 로그 저장부를 조회하여 송수신 순서를 확인하고, 상기 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 상기 테스트 서버에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송하고,
    상기 테스트 명령 생성부는
    상기 테스트 요청 패킷에서 추출된 요청 파라미터를 인자로 API를 호출하여 상기 테스트 명령을 생성하고,
    상기 패킷 데이터 정제부는
    상기 복제된 응답 패킷을 고정부 및 가변부로 구분하고,
    상기 패킷 로그 저장부는
    상기 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장하고,
    상기 테스트 서버는
    상기 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 상기 고정부와 결합시킨 패킷을 상기 작업 처리부로 전송하는 것
    을 특징으로 하는 작업 처리 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 테스트 요청 패킷 전송부에서 전송되는 테스트 요청 패킷 및 상기 테스트 서버로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지하는 오류 탐지부
    를 더 포함하는 것을 특징으로 하는 작업 처리 시스템.
  6. 중앙처리장치 및 메모리를 구비하는 작업 처리 시스템에서 동작하는 작업 처리 방법에 있어서,
    작업 처리부에서 외부 시스템에 요청 패킷을 전송하고, 상기 외부 시스템으로부터 응답 패킷을 수신하여 작업을 처리하는 단계;
    패킷 복제부에서 상기 작업을 처리하는 단계에서 전송되는 상기 요청 패킷 및 상기 응답 패킷을 인터셉트하여 복제하는 단계;
    패킷 로그 저장부에서 상기 복제된 요청 패킷 및 상기 복제된 응답 패킷을 작업정보에 대응시켜 저장하는 단계;
    패킷 데이터 정제부에서 상기 복제된 요청 패킷을 고정부 및 가변부로 구분하고, 상기 고정부로부터 요청 파라미터를 추출하는 패킷 데이터를 정제하는 단계;
    테스트 명령 생성부에서 상기 패킷을 작업정보에 대응시켜 저장하는 단계를 참조하여 테스트 대상 작업정보에 대응되는 요청 패킷을 확인하고, 상기 확인한 요청 패킷과 관련된 테스트 명령을 생성하는 단계; 및
    테스트 요청 패킷 전송부에서 상기 생성된 테스트 명령에 응답하여 테스트 서버에 상기 확인한 요청 패킷을 기초로 생성된 테스트 요청 패킷을 전송하도록 상기 작업을 처리하는 단계를 제어하는 테스트 요청 패킷 전송 단계
    를 포함하고,
    상기 테스트 서버는 상기 패킷을 작업정보에 대응시켜 저장하는 단계를 참조하여, 상기 테스트 요청 패킷에 대응되는 응답 패킷을 상기 작업을 처리하는 단계로 전송하고,
    상기 패킷을 작업정보에 대응시켜 저장하는 단계는
    상기 요청 패킷 및 상기 응답 패킷의 송수신 순서를 확인할 수 있도록 하는 정보를 더 저장하고,
    상기 테스트 요청 패킷 전송 단계는
    상기 테스트 대상 작업정보에 대응되는 요청 패킷 및 응답 패킷이 각각 복수인 경우, 상기 패킷을 작업정보에 대응시켜 저장하는 단계를 조회하여 송수신 순서를 확인하고, 상기 송수신 순서에 따라 테스트 요청 패킷을 전송하고, 상기 테스트 서버에서 다음 순서에 해당하는 응답 패킷을 모두 전송하였는지 확인한 후에 다음 테스트 요청 패킷을 전송하고,
    상기 테스트 명령을 생성하는 단계는
    상기 테스트 요청 패킷에서 추출된 요청 파라미터를 인자로 API를 호출하여 상기 테스트 명령을 생성하고,
    상기 패킷 데이터를 정제하는 단계는
    상기 복제된 응답 패킷을 고정부 및 가변부로 구분하고,
    상기 패킷을 작업정보에 대응시켜 저장하는 단계는
    상기 복제된 응답 패킷의 고정부 및 가변부를 구분하여 저장하고,
    상기 테스트 서버는
    상기 테스트 요청 패킷에 대응되는 응답 패킷의 가변부의 정보를 테스트 상황에 맞게 변경하고 상기 고정부와 결합시킨 패킷을 상기 작업을 처리하는 단계로 전송하는 것
    을 특징으로 하는 작업 처리 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제6항에 있어서,
    오류 탐지부는 상기 테스트 요청 패킷 전송 단계에서 전송되는 테스트 요청 패킷 및 상기 테스트 서버로부터 수신되는 응답 패킷을 수신하여 처리한 결과를 모니터링하여 오류 여부를 탐지하는 단계
    를 더 포함하는 것을 특징으로 하는 작업 처리 방법.
  11. 제6항 및 제10항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190117661A 2019-09-24 2019-09-24 자산 매매 시스템 및 방법 KR102377052B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190117661A KR102377052B1 (ko) 2019-09-24 2019-09-24 자산 매매 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190117661A KR102377052B1 (ko) 2019-09-24 2019-09-24 자산 매매 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210035629A KR20210035629A (ko) 2021-04-01
KR102377052B1 true KR102377052B1 (ko) 2022-03-22

Family

ID=75441649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190117661A KR102377052B1 (ko) 2019-09-24 2019-09-24 자산 매매 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102377052B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867372B2 (en) * 2012-05-02 2014-10-21 Litepoint Corporation Method for efficient parallel testing of time division duplex (TDD) communications systems
US8990778B1 (en) 2012-09-14 2015-03-24 Amazon Technologies, Inc. Shadow test replay service
KR20140061629A (ko) * 2012-11-14 2014-05-22 주식회사 지벤파크 클라우드 서버 모니터링 시스템 및 방법
US10169816B2 (en) * 2015-01-06 2019-01-01 Morgan Stanley Services Group Inc. Trading anomaly kill switch

Also Published As

Publication number Publication date
KR20210035629A (ko) 2021-04-01

Similar Documents

Publication Publication Date Title
US9218270B2 (en) Functional software testing framework for determinate level testing
US20220012169A1 (en) Systems and methods for testing software applications
CN109933593B (zh) 资产数据记载方法、装置及设备
US8065661B2 (en) Test engine
US9021307B1 (en) Verifying application data protection
CN107483221B (zh) 一种跨应用问题排查方法、装置及系统
US9807125B2 (en) System and method for tracking and auditing data access in a network environment
TWI484425B (zh) 檢測異常帳號之裝置及方法
KR101740879B1 (ko) 미술품 거래 서비스 제공 방법 및 서버
US20130061093A1 (en) Distributed test system and method, distributed test control system and method, distributed test plan creating apparatus and method, distributed test agent, and distributed test plan performing method
CN111861472B (zh) 业务监控的处理方法和装置
CN101129044B (zh) 通过网络传输文件的方法和装置
US20210133789A1 (en) System for Proactively Providing a User With Prescriptive Remedies in Response to a Credit Card Transaction Error
KR102377052B1 (ko) 자산 매매 시스템 및 방법
KR101996018B1 (ko) 비정상 유저 검출 장치 및 방법
US8024734B2 (en) Enabling a designer to specify workflows to process various results of execution of transactions
CN108389104B (zh) 一种网络活动的仿真验证方法以及装置
KR102187941B1 (ko) 게임 내의 부정 사용자 결정 방법 및 장치
CN111338935B (zh) 用于联调的方法和系统
KR102079785B1 (ko) 전산시스템의 테스트 방법 및 그 장치
CN113837826A (zh) 一种处理订单的方法及设备
CN112732952A (zh) 一种分布式推荐系统中功能模块的监控方法及相关装置
US20140136445A1 (en) Securities lending records processing
KR20200016781A (ko) 게임 계정 거래 탐지 장치 및 방법
KR20200019079A (ko) 비정상 유저 검출 장치 및 방법

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant