KR101888131B1 - Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법 - Google Patents

Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법 Download PDF

Info

Publication number
KR101888131B1
KR101888131B1 KR1020160061838A KR20160061838A KR101888131B1 KR 101888131 B1 KR101888131 B1 KR 101888131B1 KR 1020160061838 A KR1020160061838 A KR 1020160061838A KR 20160061838 A KR20160061838 A KR 20160061838A KR 101888131 B1 KR101888131 B1 KR 101888131B1
Authority
KR
South Korea
Prior art keywords
dds
dbms
data
topic
tool
Prior art date
Application number
KR1020160061838A
Other languages
English (en)
Other versions
KR20170130911A (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 KR1020160061838A priority Critical patent/KR101888131B1/ko
Publication of KR20170130911A publication Critical patent/KR20170130911A/ko
Application granted granted Critical
Publication of KR101888131B1 publication Critical patent/KR101888131B1/ko

Links

Images

Classifications

    • G06F17/30557
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • G06F17/3012
    • G06F17/30339
    • G06F17/30607

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법에 관한 것으로서, BMS와 DDS 간의 토픽을 상호 연동하기 위한 DDS-DBMS 연동 도구는 DDS 노드 또는 사용자 단말로부터 DDS 토픽을 수신하면 해당 DDS 토픽에 대한 토픽 정보를 저장하고, 상기 토픽 정보에 관련된 메타 데이터를 생성하여 저장하는 단계; 상기 DDS 토픽에 대한 변경 데이터 캡쳐(Changed Data Capture, CDC) 객체를 설정하고, 상기 CDC 객체의 생성, 삭제 및 수정을 수행하기 위한 CDC 정보 메타데이터 테이블을 생성하여 저장하는 단계; 및 상기 DBMS에 의해 변경된 데이터가 상기 CDC 객체에 저장되면, 상기 DDS-DBMS 연동 도구는 상기 CDC 객체로부터 변경된 데이터를 읽어와 DDS 토픽 데이터로로 변환한 후 DDS를 통해 데이터를 발간하는 단계를 포함한다. 따라서, 본 발명은 DBMS에서 지원하는 CDC 기술을 DDS-DBMS 연동 도구에 적용하여 CDC 기능을 통해 동적으로 변경된 데이터를 캡쳐하고, 이를 DDS-DBMS 연동 도구가 읽어와 실시간 변경된 데이터를 발간할 수 있기 때문에 DBMS의 트리거 기능을 이용하지 않아 DBMS의 부하 부담을 줄일 수 있고, DBMS 성능 향상에 기여할 수 있으며, 아울러 실시간 데이터를 처리해야 하는 DDS-DBMS 연동 도구의 성능 향상도 도모할 수 있다.

Description

DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법{Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool}
본 발명은 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법에 관한 것으로, 보다 상세하게는 DBMS에서 변경된 데이터를 효율적으로 관리하기 위해 DBMS에서 지원하는 CDC 기술을 DDS-DBMS 연동 도구에 적용하여 DBMS의 부하 부담을 줄이고 실시간으로 변경된 데이터를 발간할 수 있는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법에 관한 것이다.
DDS는 실시간으로 발생하는 데이터에 대하여 일회성인 특징을 갖기 때문에 추후 데이터에 대한 분석, 검증 등을 위해 영속성을 제공할 필요성이 증대되고 있다.
QoS 기반의 토픽 발간/구독은 일회성 특성을 가지기 때문에 영속성을 제공하지 못할 뿐만 아니라 응용 프로그램의 목적에 따라 도메인에서 발생한 토픽을 저장하고 후에 재사용할 수 있도록 관리하지 못한다.
이러한 DDS에서 데이터의 영속성을 보장하기 위해, RTI DDS, PrismTech Opensplice 등의 대표적인 DDS 시스템에서는 데이터베이스를 연동하기 위한 연구를 진행하고 있다. 실시간 통신 미들웨어인 DDS와 데이터베이스의 연동은 DBMS 애플리케이션이 일반적으로 데이터베이스를 사용하는 것뿐만 아니라 DDS의 시맨틱을 알지 못하더라도 데이터 중심의 발간/구독 모델을 유기적으로 활용할 수 있는 장점을 지닌다.
여기서, 데이터를 효과적으로 이용할 수 있도록 정리 및 보관하기 위한 기본 소프트웨어인 DBMS(DataBase Management System)는 데이터베이스를 관리하기 위해 필요한 수행 과정인 데이터의 추가, 변경, 삭제, 검색 등의 기능을 집대성한 소프트웨어 패키지이다.
일반적으로 DDS 시스템은 DDS 응용 프로그램 개발 및 운용을 효율적으로 할 수 있도록 하는 개발 지원 도구를 제공하는데, 개발 지원 도구에는 설계 및 구현 도구, 모니터링 및 분석 도구, 기능 시험 및 성능 개선 도구), DDS-DBMS 연동 도구, 고가용성 지원 도구 및 형상 관리 도구 등이 있다.
특히, DDS 시스템에서 토픽의 영속성을 지원하기 위해서는 DBMS의 적용이 필수적이며, DDS 노드에서 발간 및 구독한 토픽을 DBMS에 저장하여 데이터의 영속성을 보장하고, DDS와 DBMS간의 상호 연동에 DDS-DBMS 연동 도구를 사용해야 한다. 이러한 DDS-DBMS 연동 도구는 DDS와 DBMS 간의 토픽을 상호 연동, 즉 발간/구독하기 위한 도구이다.
기존의 DDS-DBMS 연동 도구는 DDS 노드가 발간하는 토픽의 정보를 실시간으로 확인한 이후에 해당 토픽에 대한 메타데이터를 저장하지 않기 때문에 새로운 토픽 데이터를 저장하고자 할 경우에 사용자가 직접 토픽 정보를 설정해야하는 불편함이 수반되는 문제점이 있다.
선행기술자료로서, 한국등록특허 제10-1545626호의 DDS-DB 연동 시스템에서는 발간/구독되는 데이터에 대한 상속이나 참조와 같은 관계성을 확인하여 DBMS 어플리케이션에 의해 삽입/삭제/업데이트와 같은 데이터 변동이 발생하면, 관련된 데이터를 찾아 한꺼번에 데이터를 발간하고 있다.
종래의 DDS-DB 연동 시스템은 DBMS 어플리케이션이 DBMS에 데이터를 생성 및 변경할 경우 스토리지 매니저로부터 이벤트 메시지를 받아 변동 여부를 감지하고 변동 데이터를 DDS 에이전트로 발간하도록 하는 역할을 트랜잭션 모니터에서 수횅하고, 트랜잭션 모니터(Tx Monitor)는 데이터 변경을 감지하면 스토리지 매니저에 이벤트 메시지를 요청한 후 이벤트 메시지를 받으면 DDS 에이전트에 맞게 데이터를 시리얼라이즈한 뒤 DDS-DB 브리지를 통해 데이터를 발간한다.
종래의 DDS-DB 연동 시스템은 DBMS에 변경된 데이터를 발간하기 위해, 데이터가 변경에 대한 이벤트가 발생되면 자동으로 실행되는 작업인 DBMS의 트리거 기능을 이용한 것으로서, 매번 트리거 기능을 이용하여 변경된 데이터를 확인하기 때문에 대용량의 데이터를 처리하는 경우에 DBMS 자체에 대한 부하 부담이 가해져 DBMS의 삽입/삭제/업데이트 연산의 성능 저하가 발생될 수 있는 문제점이 있다.
한국등록특허 제10-1545626호 " DDS-DB 연동 시스템 "
본 발명은 DBMS에서 변경된 데이터를 효율적으로 관리하기 위해 DBMS에서 지원하는 CDC 기술을 DDS-DBMS 연동 도구에 적용하여 동적으로 변경된 데이터를 캡쳐하고, 이를 DDS-DBMS 연동 도구에서 확인하여 DDS 토픽 데이터로 변환한 후 DDS를 통해 데이터를 실시간 발간하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법D을 제공한다.
실시예들 중에서, DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법은, DBMS와 DDS 간의 토픽을 상호 연동하기 위한 DDS-DBMS 연동 도구는 DDS 노드 또는 사용자 단말로부터 DDS 토픽을 수신하면 해당 DDS 토픽에 대한 토픽 정보를 저장하고, 상기 토픽 정보에 관련된 메타 데이터를 생성하여 저장하는 제1 단계; 상기 DDS 토픽에 대한 변경 데이터 캡쳐(Changed Data Capture, CDC) 객체를 설정하고, 상기 CDC 객체의 생성, 삭제 및 수정을 수행하기 위한 CDC 정보 메타데이터 테이블을 생성하여 저장하는 제2 단계; 및 상기 DBMS에 의해 변경된 데이터가 상기 CDC 객체에 저장되면, 상기 DDS-DBMS 연동 도구는 상기 CDC 객체로부터 변경된 데이터를 읽어와 DDS 토픽 데이터로로 변환한 후 DDS를 통해 데이터를 발간하는 제3 단계를 포함하여 구성되고, 상기 제2 단계는 상기 DBMS의 변경 세트(Change Set), 변경 테이블(Change Table), 구독( Subscription), 구독자 뷰(Subscriber View)의 내부 객체를 이용하여 상기 CDC 객체를 생성하는 단계와, 상기 CDC 객체의 생성, 삭제 및 수정에 필요한 파라미터를 관리하기 위한 CDC 정보 메타데이터 테이블을 생성하여 관리하는 단계를 포함하며, CDC 정보 메타데이터 테이블의 구조는 CDC 객체의 삭제에 필요한 정보인 사용자 정보, 변경 세트 이름, 변경 테이블 이름, 구독 이름, 구독자 뷰의 이름과 DDS-DBMS 연동 도구에 장애가 발생했을 때 서비스를 재시작하기 위해 필요한 토픽 이름을 포함하는 것을 특징으로 한다.
상기 제1 단계는 상기 DDS-DBMS 연동 도구에서 다이나믹 토픽을 사용하여 상기 토픽 정보를 수신하고, 상기 토픽 정보를 바탕으로 메타데이터 테이블 및 토픽 테이블을 생성하는 단계를 더 포함하는 것을 특징으로 한다.
삭제
삭제
삭제
상기 제3 단계는, 상기 DBMS는 데이터 변경시, 상기 변경 테이블에 변경된 데이터를 저장하는 단계; 상기 DDS-DBMS 연동 도구는 주기적으로 상기 변경 테이블에 데이터가 존재하는지를 확인하는 단계; 상기 DDS-DBMS 연동 도구는 상기 변경 테이블에 데이터가 존재하는 경우에, 상기 DBMS와의 프로시져 호출을 통해 상기 구독자 뷰에 변경된 데이터에 대한 정보를 이관하는 단계; 및 상기 DDS-DBMS 연동 도구는 상기 구독자 뷰에 이관된 정보를 읽어와 DDS 토픽 데이터로 변환하고, 데이터 라이터를 이용하여 DDS 토픽을 실시간 발간하는 단계를 포함하는 것을 특징으로 한다.
상기 DDS-DBMS 연동 도구는 상기 변경 테이블에 데이터가 존재하는 경우에, 상기 DBMS와의 프로시져 호출을 통해 상기 구독자 뷰에 변경된 데이터에 대한 정보를 이관하는 단계는, 상기 DDS-DBMS 연동 도구와 DBMS 간에 실렉트(SELECT) 질의를 수행하여 업데이트 또는 삭제된 데이터의 경우에 이전의 값은 읽어오지 않고 변경된 값만을 읽어오는 것을 특징으로 한다.
상기 DDS-DBMS 연동 도구는 상기 DDS 토픽이 발간된 이후에, 상기 DBMS와의 프로시저 호출을 통해 상기 구독자 뷰 및 변경 테이블에서 읽은 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법은, DBMS에서 지원하는 CDC 기술을 DDS-DBMS 연동 도구에 적용하여 CDC 기능을 통해 동적으로 변경된 데이터를 캡쳐하고, 이를 DDS-DBMS 연동 도구가 읽어와 실시간 변경된 데이터를 발간할 수 있기 때문에 DBMS의 트리거 기능을 이용하지 않아 DBMS의 부하 부담을 줄일 수 있고, DBMS 성능 향상에 기여할 수 있으며, 아울러 실시간 데이터를 처리해야 하는 DDS-DBMS 연동 도구의 성능 향상도 도모할 수 있는 효과가 있다.
도 1은 DDS 시스템을 설명하는 기본 개념도이다.
도 2는 본 발명의 일 실시예에 따른 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법을 설명하는 순서도이다.
도 3은 도 2의 CDC 정보 메타데이터 테이블을 설명하는 도면이다.
도 4는 도 2의 CDC 설정 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 DDS 시스템을 설명하는 기본 개념도이다.
도 1을 참고하면, DDS 시스템은 DDS 도메인에 속한 참가자들 간에 데이터 객체인 토픽 이름과 데이터 타입을 정의하고, 실시간으로 토픽을 발간/구독하도록 DDS 엔티티(Entities)를 동적으로 생성한다.
이때, DDS 엔티티는 도메인(Domain), 도메인참가자(DomainPartcipant), 발간자(Publisher), 구독자(Subscriber), 데이터라이터(DataWriter), 데이터리더(DataReader), 토픽(Topic) 등을 포함한다.
DDS 시스템에서는 참가자들이 실시간으로 발간/구독하는 토픽을 가상 공간의 개념인 글로벌 데이터 스페이스(Grobal Data Space)로 관리하는데, 이는 토픽과 DDS 엔티티에 명시된 QoS에 따라 발간된 토픽을 추후 참가한 구독자가 수신할 수 있도록 한다.
데이터라이터(130)에서 데이터 값들을 발간자(110)에게 제공하면, 발간자(110)는 다수의 구독자(120)에서 데이터 값들을 보급하고, 데이터리더(140)는 구독자(120)로부터 데이터 값들을 읽어들여 데이터 객체인 토픽으로 정의한다.
토픽은 토픽 이름, 키(Key)를 포함한 데이터 타입, QoS로 구성되며 IDL(Interface Description Language)로 표현된다. 토픽은 도메인 내에서 발간/구독하기 위해 고유한 이름으로 식별하며, 타입 서포트(Type Support) 인터페이스를 통해 데이터 타입에 접근한다. 데이터 타입은 송수신하는 자료형을 IDL, XML, 자바 등의 프로그래밍 언어에 따라 종속적으로 정의할 수 있으며 확장 가능하다. QoS는 신뢰성, 우선순위 등의 비기능적 특성의 집합으로 토픽, DDS 엔티티에 적용된다.
도 2는 본 발명의 일 실시예에 따른 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법을 설명하는 순서도이고, 도 3은 도 2의 CDC 정보 메타데이터 테이블을 설명하는 도면이다.
도 2 및 도 3을 참고하면, DDS 노드 또는 사용자 단말(210)로부터 DDS 토픽이 전송되면, DBMS(230)와 DDS 간의 토픽을 상호 연동하기 위한 DDS-DBMS 연동 도구(220)는 DDS 토픽의 토픽 정보를 수신 및 저장한다.(S101~S103) 또한, DDS-DBMS 연동 도구(220)는 토픽 정보에 관련된 메타 데이터를 생성하여 저장하고, 토픽 정보의 메타 데이터와 DDS-DBMS 연동 도구(220)에서 제공하는 모든 서비스를 수행하기 위한 서비스 메타데이터를 생성하여 저장한다.(S104)
DDS-DBMS 연동 도구(220)는 토픽 및 서비스 메타데이터를 DBMS(230)의 토픽 테이블과 서비스 메타 데이터 테이블에 각각 저장하고, DBMS(230)는 DDS-DBMS 연동 도구(220)로 메타데이터 저장 처리 결과를 반환한다.(S105, S106)
DDS-DBMS 연동 도구(220)는 DBMS(230)에 의해 실시간 변경되는 데이터를 캡쳐하기 위해 CDC 객체를 설정하고, CDC 객체의 생성, 삭제 및 수정에 필요한 파라미터를 관리한다.(S107) 즉, DDS-DBMS 연동 도구(220)는 파라미터를 관리하기 위한 CDC 정보 메타데이터 테이블을 생성하여 저장하고, CDC 정보 메타데이터 테이블을 생성하기 위해 필요한 정보는 다른 메타데이터 테이블에서 참조하여 추출하고, 실제로 삭제에 필요한 정보를 주로 관리하도록 설계된다.
즉, CDC 정보 메타데이터 테이블을 생성하기 위해 필요한 사용자 정보, 토픽 정보는 DDS-DBMS 연동 도구(220)에서 관리하는 토픽 메타데이터 테이블을 참조하여 추출하고, 나머지 변경 세트(CS)의 이름, 변경 테이블(CT)의 이름, 구독(SUB)의 이름, 구독자 뷰(SV)의 이름은 추출한 토픽 정보를 이용하여 자동으로 설정한다.
만일, 토픽 이름이 A인 경우에, CS_A, CT_A, SUB_A, SV_A 와 같이 생성하여 테이블에 저장한다. 이때, CDC 정보 메타데이터 테이블의 구조는 CDC 객체의 삭제에 필요한 정보인 사용자 정보, 변경 세트 이름, 변경 테이블 이름, 구독 이름, 구독자 뷰의 이름과 DDS-DBMS 연동 도구(220)에 장애가 발생했을 때 서비스를 재시작하기 위해 필요한 토픽 이름을 관리하도록 한다.
CDC 정보 메타데이터 테이블은, 도 3에 도시된 바와 같이, CDC 객체의 소유 계정, DDS 토픽 이름, 변경 세트 이름, 변경 테이블 이름, 구독 이름, 구독자 뷰 이름을 포함하여 설계된다. 이러한 CDC 정보 메타데이터 테이블은 DDS-DBMS 연동 도구(220)에 장애가 발생하면 서비스를 재시작하기 위해 참조된다.
DDS-DBMS 연동 도구(220)는 CDC 설정 및 CDC 정보 메타데이터를 DBMS(230)의 해당 테이블에 저장하고, DBMS(230)는 DDS-DBMS 연동 도구(220)로 메타데이터 저장 처리 결과를 반환한다.(S108, S109)
CDC 객체의 설정 및 CDC 정보 메타데이터 생성이 완료된 이후에 DBMS(230)는 데이터 변경이 있는 경우에, 변경된 데이터를 변경 테이블에 저장한다.(S110) DDS-DBMS 연동 도구(220)는 주기적으로 변경 테이블 내에 데이터가 저장되었는지를 확인하고, 해당 변경 테이블에 데이터가 저장된 경우에 별도의 프로시저를 호출한 후 프로시저 호출이 완료되면 구독자 뷰에 변경된 데이터에 대한 정보를 이관한다.(S111) 이때, DDS-DBMS 연동 도구(220)가 구독자 뷰에 접근하는 과정은 실렉트 질의를 수행하여 업데이트, 삭제의 경우 기존의 값(OLD)은 읽어오지 않고 실제로 변경된 값만을 읽어온다.
DDS-DBMS 연동 도구(220)는 구독자 뷰에 이관된 정보를 읽어와 DDS 토픽 데이터 형태로 변환한 후에 DDS 데이터 라이터를 활용하여 데이터를 실시간 발간한다.(S112)
DDS-DBMS 연동 도구(220)는 데이터의 발간을 수행한 이후에 별도의 프로시저를 호출하여 데이터 발간을 위해 읽어온 데이터, 즉 구독자 뷰 및 변경 테이블에 존재하는 읽은 데이터를 삭제하고, DBMS(230)는 DDS-DBMS 연동 도구(220)로 데이터 삭제 처리 결과를 반환한다.(S113, S114)
한편, 도 4는 도 2의 CDC 설정 과정을 설명하는 순서도이다.
도 4를 참고하면, DDS-DBMS 연동 도구(220)는 DDS 노드 또는 사용자 단말(S210)로부터 토픽 정보가 전송되면, 해당 토픽 정보를 확인하여 변경 세트, 변경 테이블, 구독, 구독자 뷰의 순으로 CDC 객체를 생성하고, CDC 객체를 관리하는데 필요한 정보를 CDC 정보 메타 데이터 테이블에 저장한다.(S201~S203)
이때, CDC 객체를 이용하여 변경된 데이터를 캡쳐하기 위해서는 DBMS(230)의 내부 객체인 변경 세트, 변경 테이블, 구독, 구독자 뷰가 필요하고, CDC 객체를 생성하기 위해 필요한 정보는 DDS-DBMS 연동 도구(220)에서 관리한다.
한편, DDS-DBMS 연동 도구(220)는 다이나믹 토픽을 이용할 경우에, 다이나믹 토픽을 이용하여 토픽 정보를 수신하고, 토픽 정보를 바탕으로 메타 데이터 테이블 및 토픽 테이블을 생성한다.
다이나믹 토픽은 특정 데이터 구조로 정의된 토픽을 데이터 중심 발간/구독 통신에 대한 지원 기능을 제공하고, 확장할 수 있도록 DDS 토픽은 컴파일 시간 전에 정의되고, DDS GDS(Global Data Space)에서 사용되는 데이터 타입을 사용한다.
기존의 DDS-DBMS 연동 도구에서는 토픽 데이터 발간 기능을 수행하는 경우에 DBMS의 트리거 기능을 활용하여 변경된 정보를 확인한 후 데이터를 발간하였기 때문에 대용량의 데이터를 처리하는 DBMS 자체에 부하 부담을 줄 수 밖에 없었다. 그러나, 본 발명에서는 DBMS에 부하 부담을 적게 주는 CDC 기능을 활용하여 DBMS에 의해 변경된 데이터를 확인한 후 실시간 데이터를 발간하기 때문에 DBMS의 성능 뿐만 아니라 DDS-DBMS 연동 도구의 성능도 향상시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
210 : DDS 노드 또는 사용자 단말
220 : DDS-DBMS 연동 도구
230 : DBMS

Claims (8)

  1. DBMS와 DDS 간의 토픽을 상호 연동하기 위한 DDS-DBMS 연동 도구는 DDS 노드 또는 사용자 단말로부터 DDS 토픽을 수신하면 해당 DDS 토픽에 대한 토픽 정보를 저장하고, 상기 토픽 정보에 관련된 메타 데이터를 생성하여 저장하는 제1 단계;
    상기 DDS 토픽에 대한 변경 데이터 캡쳐(Changed Data Capture, CDC) 객체를 설정하고, 상기 CDC 객체의 생성, 삭제 및 수정을 수행하기 위한 CDC 정보 메타데이터 테이블을 생성하여 저장하는 제2 단계; 및
    상기 DBMS에 의해 변경된 데이터가 상기 CDC 객체에 저장되면, 상기 DDS-DBMS 연동 도구는 상기 CDC 객체로부터 변경된 데이터를 읽어와 DDS 토픽 데이터로로 변환한 후 DDS를 통해 데이터를 발간하는 제3 단계를 포함하여 구성되고,
    상기 제2 단계는 상기 DBMS의 변경 세트(Change Set), 변경 테이블(Change Table), 구독( Subscription), 구독자 뷰(Subscriber View)의 내부 객체를 이용하여 상기 CDC 객체를 생성하는 단계와, 상기 CDC 객체의 생성, 삭제 및 수정에 필요한 파라미터를 관리하기 위한 CDC 정보 메타데이터 테이블을 생성하여 관리하는 단계를 포함하며,
    CDC 정보 메타데이터 테이블의 구조는 CDC 객체의 삭제에 필요한 정보인 사용자 정보, 변경 세트 이름, 변경 테이블 이름, 구독 이름, 구독자 뷰의 이름과 DDS-DBMS 연동 도구에 장애가 발생했을 때 서비스를 재시작하기 위해 필요한 토픽 이름을 포함하는 것을 특징으로 하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법.
  2. 제1항에 있어서,
    상기 제1 단계는,
    상기 DDS-DBMS 연동 도구에서 다이나믹 토픽을 사용하여 상기 토픽 정보를 수신하고, 상기 토픽 정보를 바탕으로 메타데이터 테이블 및 토픽 테이블을 생성하는 단계를 더 포함하는 것을 특징으로 하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 제3 단계는,
    상기 DBMS는 데이터 변경시, 상기 변경 테이블에 변경된 데이터를 저장하는 단계;
    상기 DDS-DBMS 연동 도구는 주기적으로 상기 변경 테이블에 데이터가 존재하는지를 확인하는 단계;
    상기 DDS-DBMS 연동 도구는 상기 변경 테이블에 데이터가 존재하는 경우에, 상기 DBMS와의 프로시져 호출을 통해 상기 구독자 뷰에 변경된 데이터에 대한 정보를 이관하는 단계; 및
    상기 DDS-DBMS 연동 도구는 상기 구독자 뷰에 이관된 정보를 읽어와 DDS 토픽 데이터로 변환하고, 데이터 라이터를 이용하여 DDS 토픽을 실시간 발간하는 단계를 포함하는 것을 특징으로 하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법.
  7. 제6항에 있어서,
    상기 DDS-DBMS 연동 도구는 상기 변경 테이블에 데이터가 존재하는 경우에, 상기 DBMS와의 프로시져 호출을 통해 상기 구독자 뷰에 변경된 데이터에 대한 정보를 이관하는 단계는,
    상기 DDS-DBMS 연동 도구와 DBMS 간에 실렉트(SELECT) 질의를 수행하여 업데이트 또는 삭제된 데이터의 경우에 이전의 값은 읽어오지 않고 변경된 값만을 읽어오는 것을 특징으로 하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법.
  8. 제6항에 있어서,
    상기 DDS-DBMS 연동 도구는 상기 DDS 토픽이 발간된 이후에, 상기 DBMS와의 프로시저 호출을 통해 상기 구독자 뷰 및 변경 테이블에서 읽은 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 DDS-DBMS 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법.
KR1020160061838A 2016-05-20 2016-05-20 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법 KR101888131B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160061838A KR101888131B1 (ko) 2016-05-20 2016-05-20 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160061838A KR101888131B1 (ko) 2016-05-20 2016-05-20 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법

Publications (2)

Publication Number Publication Date
KR20170130911A KR20170130911A (ko) 2017-11-29
KR101888131B1 true KR101888131B1 (ko) 2018-08-13

Family

ID=60812279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061838A KR101888131B1 (ko) 2016-05-20 2016-05-20 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법

Country Status (1)

Country Link
KR (1) KR101888131B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102300938B1 (ko) * 2020-12-28 2021-09-13 쿠팡 주식회사 데이터 적재 방법 및 이를 위한 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102396923B1 (ko) * 2021-12-29 2022-05-12 한화시스템 주식회사 데이터 분산 서비스에서 성능 검증 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512608A (ja) * 2011-04-08 2014-05-22 ザ・ボーイング・カンパニー 一時的なデータウェアハウスにデータをロードするための方法およびシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101545626B1 (ko) 2014-01-10 2015-08-20 국방과학연구소 Dds-db 연동 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512608A (ja) * 2011-04-08 2014-05-22 ザ・ボーイング・カンパニー 一時的なデータウェアハウスにデータをロードするための方法およびシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102300938B1 (ko) * 2020-12-28 2021-09-13 쿠팡 주식회사 데이터 적재 방법 및 이를 위한 전자 장치
US11360985B1 (en) 2020-12-28 2022-06-14 Coupang Corp. Method for loading data and electronic apparatus therefor
KR20220094104A (ko) * 2020-12-28 2022-07-05 쿠팡 주식회사 데이터 적재 방법 및 이를 위한 전자 장치
WO2022145543A1 (ko) * 2020-12-28 2022-07-07 쿠팡 주식회사 데이터 적재 방법 및 이를 위한 전자 장치
US11734284B2 (en) 2020-12-28 2023-08-22 Coupang Corp. Method for loading data and electronic apparatus therefor
KR102627199B1 (ko) * 2020-12-28 2024-01-23 쿠팡 주식회사 데이터 적재 방법 및 이를 위한 전자 장치

Also Published As

Publication number Publication date
KR20170130911A (ko) 2017-11-29

Similar Documents

Publication Publication Date Title
CN102542382B (zh) 业务规则的操作方法和装置
CN100483405C (zh) 用于警报传递体系结构的方法和系统
US7562102B1 (en) Extensible handling of new or modified data within an independent distributed database system
US8156538B2 (en) Distribution of information protection policies to client machines
JP2009541882A (ja) 永続性を管理する方法、装置、及びコンピュータ・プログラム
US20090089806A1 (en) Method and system for dynamic context based contact service
WO2012155643A1 (zh) 基于数据库的配置台实现方法、配置台及系统
CN101727475B (zh) 一种获取数据库访问过程的方法、装置及系统
Grønbæk et al. Designing Dexter-based cooperative hypermedia systems
CN104423982A (zh) 请求的处理方法和处理设备
US8224933B2 (en) Method and apparatus for case-based service composition
KR101888131B1 (ko) Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법
US7451127B2 (en) Web store events
CN111782262B (zh) 数据动态发布方法、装置、系统、设备及存储介质
CN111753141B (zh) 一种数据管理方法及相关设备
US7441252B2 (en) Cache control device, and method and computer program for the same
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质
CN110019113B (zh) 一种数据库的业务处理方法及数据库服务器
CN105610908B (zh) 一种基于安卓设备的samba服务实现方法及系统
KR101811728B1 (ko) Dbms 기반의 dds 토픽 저장 방법
CN112905153B (zh) 一种面向软件定义卫星的软件并行构建方法以及装置
JP7470769B1 (ja) クラウドのapiの変更を分析する方法
JP4262932B2 (ja) トランザクション処理装置、同装置のトランザクション処理方法、トランザクション処理プログラムおよび同プログラムを記録したコンピュータ読み取り可能な記録媒体
CN116893932A (zh) 一种基于云平台工作流的资源定时快照与备份实现方法
US20100205144A1 (en) Creating searchable revisions of a resource in a repository

Legal Events

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