KR20170037094A - 색인 기반 데이터 운용을 지원하는 전자 장치 - Google Patents

색인 기반 데이터 운용을 지원하는 전자 장치 Download PDF

Info

Publication number
KR20170037094A
KR20170037094A KR1020150136201A KR20150136201A KR20170037094A KR 20170037094 A KR20170037094 A KR 20170037094A KR 1020150136201 A KR1020150136201 A KR 1020150136201A KR 20150136201 A KR20150136201 A KR 20150136201A KR 20170037094 A KR20170037094 A KR 20170037094A
Authority
KR
South Korea
Prior art keywords
record
data
index
memory
misam
Prior art date
Application number
KR1020150136201A
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 KR1020150136201A priority Critical patent/KR20170037094A/ko
Publication of KR20170037094A publication Critical patent/KR20170037094A/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
    • G06F17/30
    • G06F17/30312
    • G06F17/30318
    • 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/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 색인 기반 데이터 운용 장치에 관한 것이다. 이를 위한 본 발명의 전자 장치는 외부 단말로부터 데이터를 수신하는 통신 인터페이스, 데이터를 저장하는 공유 메모리, 통신 인터페이스와 메모리에 전기적으로 연결되는 프로세서를 포함하고, 프로세서는 수신된 데이터에 대한 색인화된 레코드를 생성하고, 생성된 레코드를 순차적으로 배열하는 메모리 기반 ISAM(MEMORY INDEXED SEQUENTIAL ACCESS METHOD, MISAM) 모듈을 운용하도록 설정된 것을 특징으로 한다.

Description

색인 기반 데이터 운용을 지원하는 전자 장치{ELECTRONIC DEVICE FOR DATA OPERATING BASED ON INDEXES}
본 발명은 색인 기반 데이터 운용에 관한 것으로, 특히 메모리에 색인을 생성하고 조작하여 보다 빠른 데이터 저장 및 검색을 처리할 수 있도록 하는 색인 기반 데이터 운용을 지원하는 전자 장치에 관한 것이다.
현대의 금융시장은 주식, 채권, 상품시장과 이를 기초자산으로 하는 파생상품, 증권화 상품 등이 다양하게 존재한다. 이러한 상품들은 상호 유기적인 관계에서 정교하게 돌아가고 있다. 또한, 최근에는 해외 금융 상품 거래 등이 활발하게 이루어지고 있다. 금융 시장에서는 수초 사이에도 수많은 거래가 이루어질 수 있다. 이에 따라, 수많은 거래와 관련한 데이터의 처리를 매우 신속하고 정확하게 수행하는 컴퓨팅 지원이 절실히 요구되고 있다.
한국 공개특허공보 제10-2012-0083016호, 2012년 07월 25일 공개(명칭: 금융자산 매수/매도 운영시스템)
상기한 문제점을 해결하기 위하여 본 발명의 목적은 데이터의 저장 및 검색을 보다 신속하고 정확하게 수행할 수 있도록 하는 색인 기반 데이터 운용을 지원하는 전자 장치를 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 전자 장치는 외부 단말로부터 데이터를 수신하는 통신 인터페이스, 상기 데이터를 저장하는 공유 메모리, 상기 통신 인터페이스와 상기 메모리에 전기적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 수신된 데이터에 대한 색인화된 레코드를 생성하고, 생성된 레코드를 순차적으로 배열하는 메모리 기반 ISAM(MEMORY INDEXED SEQUENTIAL ACCESS METHOD, MISAM) 모듈을 운용하도록 설정된 것을 특징으로 한다.
상기 프로세서는 상기 색인에 해당하는 데이터를 색인 세그먼트에서 반복적으로 검색하고, 일치 하면 데이터를 연속적으로 순회하도록 설정된 것을 특징으로 한다.
상기 공유 메모리는 상기 MISAM 생성을 위한 기본 정보를 가지는 데이터 사전부, 상기 색인 개수만큼 나뉘어진 메모리 세그먼트들을 포함하는 인덱스부, 상기 데이터가 저장된 데이터부를 포함하는 것을 특징으로 한다.
상기 인덱스부는 해쉬 테이블 내 레드블랙 트리로 구성되는 것을 특징으로 한다.
상기 프로세서는 상기 데이터 사전부에 정의된 레코드 크기만큼 미리 메모리를 할당하고, 메모리 풀 방식으로 할당 또는 해제를 처리하도록 설정된 것을 특징으로 한다.
상기 프로세서는 상기 MISAM의 빌드 시 익스클러시브 락킹 처리를 하도록 설정된 것을 특징으로 한다.
상기 프로세서는 상기 데이터 접근 시 독자/기록자 락킹 처리를 하도록 설정된 것을 특징으로 한다.
상기 데이터는 금융 상품 관련 주문 메시지, 상기 주문 메시지의 체결 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 프로세서는 레코드 식별과 관련한 Key Value, 마지막으로 독출된 레코드를 지시하는 Current Record, 레코드의 번호를 지시하는 Record Number를 이용하여 상기 레코드를 정의하는 레코드 정의 모듈, 레코드 추가를 지원하는 레코드 추가 모듈, 레코드 삭제를 지원하는 레코드 삭제 모듈, 레코드 갱신을 지원하는 레코드 갱신 모듈, 레코드 검색을 지원하는 레코드 검색 모듈을 포함하는 것을 특징으로 한다.
상기 레코드 추가 모듈은 상기 MISAM에 레코드 추가 할 때 해당 structure 편집을 지원하고, 레코드 추가 시 자동으로 각 색인에 키를 삽입하도록 설정된 것을 특징으로 한다.
상기 레코드 검색 모듈은 mi_start(MI_FIRST) 호출 및 mi_read(MI_NEXT)를 호출을 기반으로 키(KEY) 순서의 오름차순 정렬을 지원하고, mi_start(MI_LAST) 호출 및 mi_read(MI_PREV) 호출을 기반으로 키(KEY) 순서의 내림차순 정렬을 지원하도록 설정된 것을 특징으로 한다.
본 발명에 따르면, 데이터의 저장 및 검색을 보다 신속하고 정확하게 수행함으로써, 수많은 상품 거래와 관련한 데이터를 안정적으로 운용할 수 있는 효과가 있다. 또한, 본 발명은 안정적이고 신속한 데이터 운용을 기반으로 금융 거래 시장 간 지연을 감소시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 전자 장치의 구성의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 공유 메모리 구성의 한 예를 나타낸 도면이다.
도 3a는 본 발명의 실시예에 따른 색인 기반 데이터 운용 시스템의 한 예를 나타낸 도면이다.
도 3b는 본 발명의 실시예에 따른 데이터 운용 시스템의 데이터 구조의 한 예를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 mi_keydesc_t 구문을 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 MISAM Dictionary(msiam.xml) 구문을 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 misam.xsd 구문을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 misam.xml 구문을 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 전자 장치가 주문 관리 서버로서 운용되는 환경의 한 예를 예시적으로 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아울러, 본 발명의 범위 내의 실시예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른(유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
도 1은 본 발명의 실시예에 따른 전자 장치의 구성의 한 예를 나타낸 도면이다.
도 1을 참조하면, 전자 장치(100)은 통신 인터페이스(170), 프로세서(120), 입력부(140), 출력부(150), 공유 메모리(130)을 포함할 수 있다. 여기서, 본 발명의 실시예에서는 공유 메모리(130)이 전자 장치(100)에 포함되어 구성되는 것으로 설명하지만, 별도의 서버 형태로 구현될 수 있다. 전자 장치(100)을 구성하는 프로세서(120), 통신 인터페이스(170), 입력부(140), 출력부(150) 및 공유 메모리(130)은 발명에서 기술하는 기능을 수행하기 위해 도 1에 도시된 바와 같이, 상호 기능적으로 연결될 수 있다.
통신 인터페이스(170)은 유선 방식 및 무선 방식뿐만 아니라 다양한 통신 방식을 통해서 데이터를 송수신할 수 있다. 추가적으로 또는 대체적으로 통신 인터페이스(170)은 하나 이상의 통신 방식을 사용하여 데이터를 송수신할 수 있으며, 이를 위하여 통신 인터페이스(170)은 각각 서로 다른 통신 방식에 따라서 데이터를 송수신하는 복수의 통신 모듈을 포함할 수 있다. 이러한 통신 인터페이스(170)은 공유 메모리(130)에 저장할 적어도 하나의 데이터를 외부로부터 수신할 수 있다. 예컨대, 통신 인터페이스(170)은 공유 메모리(130)에 저장할 주문 메시지를 수신할 수 있다. 또한, 통신 인터페이스(170)은 공유 메모리(130)에 저장할 체결 결과를 수신할 수 있다. 통신 인터페이스(170)은 프로세서(120) 제어에 따라 주문 요청 메시지를 거래소 서버(40)에 전송할 수 있다. 통신 인터페이스(170)은 체결 결과를 거래소 서버(40)로부터 수신하고, 프로세서(120) 제어에 따라 사용자 단말(10)에 전송할 수 있다.
입력부(140)은 시스템 관리자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보가 입력되는 신호를 프로세서(120)로 전달한다. 이러한 입력부(140)은 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 중 하나 이상을 포함할 수도 있으며, 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다. 입력부(140)은 예컨대, 공유 메모리(130)에 저장된 특정 데이터 검색과 관련한 검색어 입력을 지원할 수 있다. 예컨대, 입력부(140)은 사용자 입력에 따른 검색 정보를 프로세서(120)에 전달할 수 있다.
출력부(150)은 전자 장치(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 예컨대, 본 발명의 출력부(150)은 프로세서(120)의 제어 하에 공유 메모리(130)에에서 검색된 데이터를 포함하는 화면을 출력할 수 있다. 또한, 출력부(150)은 공유 메모리(130)에 새로 생성된 색인 데이터를 포함하는 화면, 데이터 삭제에 따른 화면, 데이터 갱신에 따른 화면 등을 출력할 수 있다. 이러한 출력부(150)은 액정 표시 장치(Liquid Crystal Display), OLED(Organic Light Emitted Diode) 등의 평판 표시 패널의 형태로 형성될 수 있다. 또한, 출력부(150)은 제조 형태에 따라 표시 패널과 터치 패널을 포함하는 구조로 제작될 수 있다.
공유 메모리(130)은 전자 장치(100)의 동작과 관련된 프로그램 및 사용자 데이터를 저장하기 위한 구성일 수 있다. 본 발명의 공유 메모리(130)은 MISAM(Memory Indexed Sequential Access Method, 메모리에 인덱스를 생성하고 조작하는 C언어 함수 라이브러리) 기반으로 운용될 수 있다. 이러한 공유 메모리(130)은 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 전자 장치(100)을 부팅시키는 운영체제(OS)와 같은 전자 장치(100) 구동과 관련된 정보들을 저장한다. 데이터 영역은 전자 장치(100)의 사용에 따라 발생되는 데이터가 저장되는 영역이다. 또한, 공유 메모리(130)은 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다. 이러한 공유 메모리(130)은 도 2에 도시된 바와 같은 데이터들을 포함할 수 있다.
도 2는 본 발명의 실시예에 따른 공유 메모리 구성의 한 예를 나타낸 도면이다.
도 2를 참조하면, 공유 메모리(130)은 데이터 사전부(131), 색인부(133), 데이터부(135)를 포함할 수 있다.
데이터 사전부(131)은 MISAM 모듈(MISAM에 따라 운용되는 데이터 모듈 또는 쓰레드)을 생성하기 위한 기본 정보를 포함할 수 있다. 데이터 사전부(131)은 헤더(Header)와 색인 설명(Index Description), 메모리 할당 맵(Memory Allocation Map)을 포함할 수 있다.
색인부(133)은 색인 개수만큼 나뉘어진 메모리 세그먼트를 포함할 수 있다. 색인부(133)은 해쉬 테이블 내에 RB 트리(RedBlack Tree)로 구성될 수 있다. RB 트리는 검정과 빨강을 노드의 색으로 하는 이진 트리 구조일 수 있다.
데이터부(135)는 실 데이터가 저장되는 메모리 세그먼트이다. 데이터부(135)는 레코드 번호(record number)로 직접 접근 가능하다. 레코드 번호는 is_read, is_rewrite, is_delete시 사용 가능 하다.
다시, 도 1을 참조하면, 프로세서(120)은 전자 장치(100)의 전반적인 제어를 수행하는 것으로, 예컨대 전자 장치(100)을 구성하는 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이러한 프로세서(120)은 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 본 발명의 프로세서(120)는 MISAM 운용과 관련한 신호 처리를 수행할 수 있다. 프로세서(120)은 MISAM의 인덱스의 수를 지정된 개수(예: 4개)로 제한하고, 컴파일 요청에 따라 수정되도록 지원할 수 있다. 프로세서(120)은 데이터의 볼륨이 크지 않으면서 빠르게 접근 하려는 의도로 만들어진 경량의 메모리 기반 ISAM을 지원하며, MMAP이나 공유메모리를 사용 하여 데이터의 기록 또는 독출을 수행할 수 있다. 프로세서(120)은 MISAM의 인덱스를 기반으로 매우 빠르게 메모리에서 특정 레코드 찾을 수 있도록 지원하며, 정렬된 데이터의 순차적 접근을 지원할 수 있다. MISAM은 인덱스를 정의하고 사용하기 위한 유연성을 제공한다. MISAM은 하나 이상의 필드에 인덱스를 정의 할 수 있도록 지원한다. MISAM은 인덱스의 모든 부분에 오름차순 또는 내림차순 정의를 지원할 수 있다.
도 3a는 본 발명의 실시예에 따른 색인 기반 데이터 운용 시스템의 한 예를 나타낸 도면이고, 도 3b는 본 발명의 실시예에 따른 데이터 운용 시스템의 데이터 구조의 한 예를 나타낸 도면이다.
도 3a를 참조하면, MISAM(Memory ISAM)은 Finding Records, How to Use C-ISAM, Indexing, Data Types, Locking(MISAM의 build시 Exclusive locking 수행, 데이터의 접근 시 reader/writer locking 수행), Management, Lock, Error, Data Structure, Structure, Memory Allocation, Storage, Dictionary/Catalog, API 등을 포함할 수 있다. Finding Records와 관련하여 MISAM은 ISEQUAL, ISGREAT 등의 검색 인자를 포함할 수 있다. Management 관련 정보는 버전 정보 및 copyright 정보를 포함할 수 있다. 데이터 접근과 관련한 Lock 정보는 독자/기록자(reader/writer), Mutex, 신호 블록(Signal block) 등을 포함할 수 있다. Structure는 Description, Index, Data 항목 등을 포함할 수 있다. Memory Allocation은 pre Allocation, Get Ticket, Allocator Circle 등의 항목을 포함할 수 있다. Memory Allocation은 데이터 사전부(131)에 정의된 레코드 크기만큼 미리 메모리를 할당 한 후 Memory pool 방식으로 Allocation/DeAllocation 한다. Storage는 MMap, Heap, Shared Memory 등의 항목을 포함할 수 있다. API는 C-ISAM, mis_start, mis_read 등의 항목을 포함할 수 있다. API 사용 시 에러가 발생하면 sys_errno에 에러번호가 지정되며, 에러내용은 sys_errstr에 지정된다. 이러한 에러 처리 방식을 기반으로 MISAM은 Thread-safety를 지원한다. Data Structure는 도 3b에 나타낸 바와 같다. 도 3b를 참조하면, Data Structure는 mi_desc_t, struct dupkey_root, mi_index_t, data 항목들을 포함할 수 있다. 각 항목들은 도시된 바와 같이 서브 노드들 및 플래그들을 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 프로세서 구성의 한 예를 나타낸 도면이며, 도 5는 본 발명의 실시예에 따른 mi_keydesc_t 구문을 나타낸 도면이고, 도 6은 본 발명의 실시예에 따른 MISAM Dictionary(msiam.xml) 구문을 나타낸 도면이다. 또한, 도 7은 misam.xsd 구문을 나타낸 도면이며, 도 8은 본 발명의 실시예에 따른 misam.xml 구문을 나타낸 도면이다.
먼저, 도 4를 참조하면, 프로세서(120)은 MISAM을 기반으로 외부 단말이 제공한 주문 메시지를 공유 메모리(130)에 저장할 수 있다. 저장 과정에서 프로세서(120)은 데이터를 해쉬 테이블에 저장할 수 있다. 본 발명의 프로세서(120)은 공유 메모리(130)(또는 MMAP)을 사용하여 경량 MISAM을 생성, 기록, 접근할 수 있다. 프로세서(120)은 다양한 색인을 빠르게 접근하고 검색하기 위해서 mi_start나 mi_start_dd를 호출하여, 색인에 해당하는 데이터를 색인 세그먼트에서 반복적으로 검색할 수 있다. 프로세서(120)은 반복적 검색 과정에서, 검색하고자 하는 색인과 일치하는 데이터를 연속적으로 순회할 수 있다. 프로세서(120)은 경량의 MISAM을 생성, 기록, 접근하기 위하여 레코드 정의 모듈(121), 레코드 추가 모듈(123), 레코드 삭제 모듈(125), 레코드 갱신 모듈(127), 레코드 검색 모듈(129)를 포함할 수 있다. 상술한 구성의 프로세서(120)은 예컨대, 적어도 하나의 프로그램 모듈을 포함하거나 또는 적어도 일부가 하드웨어 형태 또는 소프트웨어 형태로 구성될 수 있다.
레코드 정의 모듈(121)은 세 가지 방법(Key Value, Current Record, Record Number)으로 레코드 정의를 수행할 수 있다. Key Value는, 키 값으로 레코드를 식별할 수 있는 파라메터이다. 레코드 정의 모듈(121)은 유일한 primary key를 지정 하여 레코드를 삭제 갱신할 수 있다. 레코드 정의 모듈(121)은 unique key와 primary index를 사용 하지 않을 때 레코드를 삭제하지 않는다. Current Record는 마지막으로 읽은 레코드이다. Record Number는 MISAM의 첫 번째 레코드를 지시하는 값으로서, 레코드 번호는 0일 수 있다. 레코드 정의 모듈(121)은 mi_errno.h에 정의된 misrecnum를 사용 하여 레코드를 접근할 수 있다.
레코드 추가 모듈(123)은 MISAM에 레코드 추가를 지원할 수 있다. 레코드 추가와 관련하여, 레코드 추가 모듈(123)은 도 3b에서 설명한 데이터 구조 중 Struct를 사용하여 데이터 구조 설계를 지원하고, mi_keydesc_t나 MISAM dictionary(misam.xml)를 이용하여 인덱스 구조 설계를 지원할 수 있다. 레코드 추가 모듈(123)은 MISAM에 레코드를 추가 할 때 해당 structure 편집을 지원하고, 레코드 추가 시 자동으로 각 색인에 키를 삽입할 수 있다. 레코드 추가 모듈(123)과 관련한 mi_keydesc_t는 도 5에 도시된 바와 같이 구성될 수 있다. 또한, 레코드 추가 모듈(123)과 관련한 MISAM dictionary(misam.xml)은 도 6에 도시된 바와 같이 구성될 수 있다.
레코드 삭제 모듈(125)는 레코드 삭제를 지원할 수 있다. 예컨대, 레코드 삭제 모듈(125)는 mi_delete, mi_delcurr, mi_delrec 등을 이용한 레코드 삭제를 수행할 수 있다. 레코드 삭제 모듈(125)는 세 가지 함수 운용이 요청되면, 기존의 각 색인에 해당하는 키 값을 제거할 수 있다. mi_delete는 유일키가 있는 primary index의 키가 있는 레코드를 제거하는데 이용될 수 있다. primary index는 unique key가 포함되어 있다. 이에 따라, MISAM을 생성 할 때 k_flags = MI_NODUPS 설정이 요구될 수 있다.
레코드 갱신 모듈(127)은 적어도 하나의 레코드 수정 함수를 제공하여, 레코드를 수정할 수 있도록 지원한다. 레코드 수정 함수는 예컨대 mi_rewrite, mi_rewcurr, mi_rewrec 등을 포함할 수 있다. mi_rewrite함수는 primary index의 키가 있는 레코드를 변경하는데 이용될 수 있다. primary index는 unique key를 포함할 수 있다. primary key를 변경되지 않지만, 레코드의 다른 부분은 변경될 수 있다.
레코드 검색 모듈(129)는 MISAM 운용 중 다양한 레코드 검색을 지원할 수 있다. 예컨대, 레코드 검색 모듈(129)는 레코드 검색과 관련하여, mi_start를 제공한다. mi_start는 색인에서 시작하는 레코드를 선택하는데 이용될 수 있다. mi_start가 성공하면 레코드 검색 모듈(129)는 mi_read를 제공하여, 해당 레코드 읽기를 지원할 수 있다. mi_read 호출이 에러 없이 반환되면 레코드 검색 모듈(129)는 해당 버퍼에 레코드를 복사하고, 복사한 레코드는 현재 레코드가 될 수 있다.
MISAM에 다른 인덱스가 있는 경우 레코드 검색 모듈(129)는 mi_start함수 호출과 함께 색인 선택을 지원한 후, 다른 색인 선택에 대응하여 다른 색인의 키를 사용하여 레코드를 찾을 수 있다. 레코드 검색 모듈(129)는 mi_start(MI_FIRST) 호출 및 mi_read(MI_NEXT)를 호출을 기반으로 키 순서의 오름차순 정렬을 지원할 수 있다. 레코드 검색 모듈(129)는 mi_start(MI_LAST) 호출 및 mi_read(MI_PREV) 호출을 기반으로 키 순서의 내림차순 정렬을 지원할 수 있다.
레코드 검색 모듈(129)는 MI_FIRST, MI_LAST, MI_NEXT, MI_PREV, MI_CURR 모드 사용 시, 키 값 지정을 요구하지 않을 수 있다. 레코드 검색 모듈(129)는 mi_start 호출 시 length에 대하여 키의 일부분만이 존재하는 것처럼 키를 처리할 수 있다. 해당 색인의 전체 키 값을 설정하여 검색할 경우 레코드 검색 모듈(129)는 length의 값을 0으로 지정하며, 일부분만 검색 할 경우 length를 일부분에 대응하는 값으로 지정 할 수 있다.
표 1은 mi_start, mi_read mode에 사용되는 환경 파일 및 환경 파일의 설명을 나타낸 것이다.
환경 파일 설명
MI_EQUAL 함수에 전달된 키 값이 정확히 일치하는 것을 지정
MI_GREAT 함수에 전달된 값보다 큰 키 값을 사용하여 다음 레코드를 지정
MI_GTEQ 정확히 일치하는 값이 없는 경우, 다음으로 큰 키 값 중 하나를 지정
MI_NEXT 현재 레코드의 다음 레코드를 지정(키 순서)
MI_PREV 키 순서에서 현재 레코드의 이전 레코드를 지정
MI_CURR 현재 레코드를 지정, 일반적으로 mi_start 실행 후 첫 번째 읽기 지정
MI_FIRST 색인의 첫 번째 키 지정
MI_LAST 인덱스의 마지막 키 지정
레코드 검색 모듈(129)는 레코드를 검색할 때 몇 가지 모드 중 하나를 지정할 수 있다. 예컨대, 표 1에서와 같이, 레코드 검색 모듈(129)는 정확히 일치하는 레코드를 검색 할 때 MI_EQUAL를 사용할 수 있다. 이 동작에서, 레코드 검색 모듈(129)는 mi_read는 미지원할 수 있다.
mi_start, mi_read 사용 가능한 모드는 표 2에 나타낸 바와 같다.
함수 지원 모드
mi_start MI_EQUAL, MI_GREAT, MI_GTEQ, MI_FIRST, MI_LAST
mi_read MI_NEXT, MI_PREV, MI_CURR
환경 파일은 표 3에 나타낸 바와 같다.
환경 파일 설명
misam.conf MISAM 기본 환경 파일
misam.xsd MISAM 정의 XML Schema definition Language
misam.xml MISAM XML
표 3에 나타낸 misam.xsd는 도 7에 도시된 바와 같이 구현될 수 있으며, misam.xml은 도 8에 도시된 바와 같이 구현될 수 있다.
데이터 파일은 표 4에 도시된 바와 같은 확장자를 가질 수 있다.
파일 확장자 설명
.desc MISAM Information file
.dat MISAM data file
.idx MISAM index file(Index 순번에 의해 0부터 n번까지 채번됨)
상술한 MISAM 기반 데이터 운용과 관련하여, 하나의 검색 시그널을 기반으로 MISAM에서 4번 검색(LIMIT_BUY→GTEQ:>=, LIMIT_SELL→LSEQ: <=, STOP_BUY→LSEQ: <=, STOP_SELL→GTEQ: >=)을 수행한 결과가 표 5에 나타낸 바와 같다.
검색 유형 검색 조건 데이터 발생 건수
LIMIT_BUY GTEQ 2,500건
LIMIT_SELL LSEQ 2,500건
STOP_BUY LSEQ 2,500건
STOP_SELL GTEQ 2,500건
또한, 상기의 조건으로 10,000건 검색 시 구간간 Latency는 표 6에 나타낸 바와 같이.
2~1 3~2 4~3 5~4 LIMIT_BUY LIMIT_SELL STOP_BUY STOP_SELL 10~9 10~1
6~5 7~6 8~7 9~8
          GTEQ LSEQ LSEQ GTEQ    
MIN 1,955 558 3,911 558 18,159 17,041 16,761 17,600 558 89,676
MAX 50,845 45,537 50,286 48,610 228,241 214,553 218,464 227,962 44,420 341,385
AVG 2,707 884 4,996 976 51,390 48,438 37,807 38,727 838 186,767
위 표 6에서 알 수 있는 바와 같이, MISAM 기반의 데이터 처리에 따른 평균 지연은 186.767 마이크로 초로 상대적으로 낮은 지연처리 특성을 나타내고 있다.
도 9는 본 발명의 실시예에 따른 전자 장치가 주문 관리 서버로서 운용되는 환경의 한 예를 예시적으로 나타낸 도면이다.
도 9를 참조하면, 전자 장치 운용 환경은 예컨대, 사용자 단말(10), 통신망(20), 주문 관리 서버(30, 전자 장치(100)) 및 거래소 서버(40)을 포함할 수 있다.
전자 장치 운용 환경은 사용자 단말(10)이 작성한 주문 요청이 통신망(20)을 통해 주문 관리 서버(30)에 전달되고, 지정된 조건에 따라 주문 요청이 거래소 서버(40)에 전달된 후, 체결 결과를 거래소 서버(40)이 주문 관리 서버(30)을 통해 사용자 단말(10)에 전송할 수 있다. 이러한 동작에서, 주문 관리 서버(30)은 사용자 단말(10)이 제공한 주문 요청을 공유 메모리에 저장할 수 있으며, 또한 거래소 서버(40)로부터 수신된 체결 결과를 공유 메모리에 저장할 수 있다.
사용자 단말(10)은 사용자의 키 조작에 따라 무선 환경의 통신망(20)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 포함할 수 있다. 사용자 단말(10)은 예컨대, 무선 통신이 가능한 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant), 스마트 TV 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. 또한, 사용자 단말(10)은 통신망(20)을 이용하여 음성 또는 데이터 통신을 수행하는 단말기를 포함할 수 있다. 또한, 사용자 단말(10)은 주문 메시지를 주문 관리 서버(30)에 전송하고 그에 따른 체결 결과를 수신하여 출력할 수 있도록 지원하기 위해 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 프로세서 등을 포함할 수 있다. 즉, 사용자 단말(10)는 통신망(20)에 접속하여 가격 주문을 수행할 수 있다면 그 어떠한 단말기도 가능하며, 무선 통신이 가능한 노트북 컴퓨터, 이동통신 단말기, PDA 등의 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다.
통신망(20)은 사용자 단말(10)과, 주문 관리 서버(30) 및 거래소 서버(40) 간의 통신 채널 형성을 지원하는 네트워크를 포함할 수 있다. 통신망(20)은 사용자 단말(10)의 특성 등에 따라 다양한 형태의 통신 방식 중 적어도 하나를 제공할 수 있다. 예컨대, 통신망(20)은 이동통신 단말기와 통신할 수 있는 기지국 기반의 통신 방식, 유선 통신 채널을 형성하는 인터넷 기반 통신 방식 등을 지원할 수 있다. 통신망(20)은 사용자 단말(10)의 주문 메시지를 주문 관리 서버(30)에 전달하고, 주문 체결에 따른 체결 결과를 사용자 단말(10)에 전달할 수 있다.
거래소 서버(40)은 시장 데이터 및 주문 체결에 따른 체결 결과를 제공할 수 있다. 예컨대, 거래소 서버(40)은 적어도 하나의 종목에 대하여 매도량과 가격, 매수량과 가격 등을 포함하는 시장 데이터를 제공할 수 있다. 거래소 서버(40)은 예컨대, FDM(도면 미도시함.), FCM(도면 미도시함.)과 같은 대외기관들을 포함하는 의미로 이해될 수 있다. 국내 거래소 서버의 경우 프로토콜 SPEC을 구현할 수 있으며, FDM이나 FCM은 FIX 프로토콜을 사용하여 구현될 수 있다.
주문 관리 서버(30)은 앞서 도 1 내지 도 8 등에서 설명한 전자 장치 100에 대응되는 구성으로서, 통신망(20)을 통하여 사용자 단말(10)로부터 주문 메시지를 수신할 수 있다. 주문 관리 서버(30)은 수신된 주문 메시지를 메모리(예: Low-Latency를 위한 고속의 메모리 ISAM에 해당하는 MISAM(Memory Indexed Sequential Access Method) 방식으로 운용되는 메모리)에 저장할 수 있다.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안 되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안 되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 색인 기반 데이터 운용을 지원하는 전자 장치에 관한 것이다. 본 발명에 의하면, 금융 상품에 대한 주문 메시지 저장과 처리, 체결 결과의 저장과 처리 등에서의 지연을 감소시킬 수 있고, 이를 통해 보다 안정적인 주문 관리 시스템 운용에 이바지할 수 있다. 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 전자 장치
120: 프로세서
130: 공유 메모
140: 입력부
150: 출력부
170: 통신 인터페이스

Claims (11)

  1. 금융 거래 관련 데이터를 처리하는 전자 장치에 있어서,
    외부 단말로부터 데이터를 수신하는 통신 인터페이스;
    상기 데이터를 저장하는 공유 메모리;
    상기 통신 인터페이스와 상기 메모리에 전기적으로 연결되는 프로세서;를 포함하고,
    상기 프로세서는
    상기 수신된 데이터에 대한 색인화된 레코드를 생성하고, 생성된 레코드를 순차적으로 배열하는 메모리 기반 ISAM(MEMORY INDEXED SEQUENTIAL ACCESS METHOD, MISAM) 모듈을 운용하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는
    상기 색인에 해당하는 데이터를 색인 세그먼트에서 반복적으로 검색하고, 일치 하면 데이터를 연속적으로 순회하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  3. 제1항에 있어서,
    상기 공유 메모리는
    상기 MISAM 생성을 위한 기본 정보를 가지는 데이터 사전부;
    상기 색인 개수만큼 나뉘어진 메모리 세그먼트들을 포함하는 인덱스부;
    상기 데이터가 저장된 데이터부;를 포함하는 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  4. 제3항에 있어서,
    상기 인덱스부는
    해쉬 테이블 내 레드블랙 트리로 구성되는 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  5. 제3항에 있어서,
    상기 프로세서는
    상기 데이터 사전부에 정의된 레코드 크기만큼 미리 메모리를 할당하고, 메모리 풀 방식으로 할당 또는 해제를 처리하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는
    상기 MISAM의 빌드 시 익스클러시브 락킹 처리를 하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는
    상기 데이터 접근 시 독자/기록자 락킹 처리를 하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  8. 제1항에 있어서,
    상기 데이터는
    금융 상품 관련 주문 메시지, 상기 주문 메시지의 체결 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는
    레코드 식별과 관련한 Key Value, 마지막으로 독출된 레코드를 지시하는 Current Record, 레코드의 번호를 지시하는 Record Number를 이용하여 상기 레코드를 정의하는 레코드 정의 모듈;
    레코드 추가를 지원하는 레코드 추가 모듈;
    레코드 삭제를 지원하는 레코드 삭제 모듈;
    레코드 갱신을 지원하는 레코드 갱신 모듈;
    레코드 검색을 지원하는 레코드 검색 모듈;을 포함하는 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  10. 제9항에 있어서,
    상기 레코드 추가 모듈은
    상기 MISAM에 레코드 추가 할 때 해당 structure 편집을 지원하고, 레코드 추가 시 자동으로 각 색인에 키를 삽입하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
  11. 제9항에 있어서,
    상기 레코드 검색 모듈은
    mi_start(MI_FIRST) 호출 및 mi_read(MI_NEXT)를 호출을 기반으로 키(KEY) 순서의 오름차순 정렬을 지원하고, mi_start(MI_LAST) 호출 및 mi_read(MI_PREV) 호출을 기반으로 키(KEY) 순서의 내림차순 정렬을 지원하도록 설정된 것을 특징으로 하는 색인 기반 데이터 운용을 지원하는 전자 장치.
KR1020150136201A 2015-09-25 2015-09-25 색인 기반 데이터 운용을 지원하는 전자 장치 KR20170037094A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150136201A KR20170037094A (ko) 2015-09-25 2015-09-25 색인 기반 데이터 운용을 지원하는 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150136201A KR20170037094A (ko) 2015-09-25 2015-09-25 색인 기반 데이터 운용을 지원하는 전자 장치

Publications (1)

Publication Number Publication Date
KR20170037094A true KR20170037094A (ko) 2017-04-04

Family

ID=58588701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150136201A KR20170037094A (ko) 2015-09-25 2015-09-25 색인 기반 데이터 운용을 지원하는 전자 장치

Country Status (1)

Country Link
KR (1) KR20170037094A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120083016A (ko) 2011-01-17 2012-07-25 리딩투자증권 주식회사 금융자산 매수/매도 운영시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120083016A (ko) 2011-01-17 2012-07-25 리딩투자증권 주식회사 금융자산 매수/매도 운영시스템

Similar Documents

Publication Publication Date Title
US7752165B2 (en) Persistent query system for automatic on-demand data subscriptions from mobile devices
US8924373B2 (en) Query plans with parameter markers in place of object identifiers
US10216826B2 (en) Database query system
US6879989B2 (en) Modification system for supporting localized data changes in a mobile device
US20100100556A1 (en) System and methods for facilitating a linear grid database with data organization by dimension
US8812489B2 (en) Swapping expected and candidate affinities in a query plan cache
CN1987861A (zh) 处理数据库查询的系统和方法
US11487719B2 (en) Single table multi-schema data store in a key value store
CN109564577B (zh) 对数据实例的高效去规范化
US11853279B2 (en) Data storage using vectors of vectors
US20180060362A1 (en) Method and system for implementing distributed lobs
CN105760418B (zh) 用于对关系数据库表进行交叉列搜索的方法和系统
US10949433B2 (en) Systems and methods for expedited large file processing
CN110874365B (zh) 一种信息查询方法及其相关设备
US20080033948A1 (en) Storage apparatus and method therefor
US20080033949A1 (en) Electronic apparatus and method therefor
KR20170037094A (ko) 색인 기반 데이터 운용을 지원하는 전자 장치
CN114116907A (zh) 一种数据库的同步方法、装置、电子设备和存储介质
CN113761040A (zh) 数据库与应用程序双向映射方法、设备、介质及程序产品
US8977814B1 (en) Information lifecycle management for binding content
US20080162412A1 (en) Optimizing the navigation of one-to-one and one-to-many relationships using query batching in named transactions
US8626746B2 (en) Tracking modifications to values of various fields in a database serve
US20240168943A1 (en) Method and apparatus for updating data about multiple user in database management system
WO2024016789A1 (zh) 日志数据查询方法、装置、设备和介质
US20240078251A1 (en) Data storage using vectors of vectors