KR102350282B1 - 다중 데이터베이스의 동기화를 위한 장치 및 방법 - Google Patents

다중 데이터베이스의 동기화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR102350282B1
KR102350282B1 KR1020200092036A KR20200092036A KR102350282B1 KR 102350282 B1 KR102350282 B1 KR 102350282B1 KR 1020200092036 A KR1020200092036 A KR 1020200092036A KR 20200092036 A KR20200092036 A KR 20200092036A KR 102350282 B1 KR102350282 B1 KR 102350282B1
Authority
KR
South Korea
Prior art keywords
data
database
comparison target
multiple databases
target data
Prior art date
Application number
KR1020200092036A
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 KR1020200092036A priority Critical patent/KR102350282B1/ko
Application granted granted Critical
Publication of KR102350282B1 publication Critical patent/KR102350282B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Landscapes

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

Abstract

본 발명의 실시예는 DB 동기화를 위한 DB 복제 시 또는 DB 동기화 완료 후 DB (복제) 불일치 발생 시 신뢰성 있는 복구 방안을 제시하는 다중 데이터베이스의 동기화를 위한 장치 및 방법에 관한 것으로서, 다중 데이터베이스의 동기화를 위한 방법은, (a) 다중 데이터베이스 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 상기 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 상기 변경 데이터를 복제하여 동기화를 수행하는 단계; (b) 상기 제1 데이터베이스의 변경 데이터를 상기 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 단계; 및 (c) 상기 다중 데이터베이스 간의 서로 대응하는 데이터의 불일치 발생 시, 상기 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 단계;를 포함할 수 있다.

Description

다중 데이터베이스의 동기화를 위한 장치 및 방법{Apparatus and method for synchronization of multiple databases}
본 발명은 다중 데이터베이스(Database: DB)의 동기화를 위한 기술에 관한 것으로, 보다 상세하게는 DB 동기화를 위한 DB 복제 시 또는 DB 동기화 완료 후 메시지 유실 등과 같은 오류로 일부 필드 값의 불일치가 발생할 수 있는데, 이러한 DB (복제) 불일치 발생 시 신뢰성 있는 복구 방안을 제시하는, 다중 데이터베이스의 동기화를 위한 장치 및 방법에 관한 것이다.
일반적으로, 네트워크의 여러 국사에 설치된 장비는 동일한 데이터(data) 제공을 위해 실시간으로 데이터베이스 동기화(sync)를 수행하고 DB sync 후의 결과는 일치해야 한다.
즉, 여러 국사에 설치된 다중 장비에 대응하는 다중 데이터베이스 중 적어도 하나의 데이터베이스에서 데이터 변경이 발생하면 다른 데이터베이스(들)도 변경 데이터를 복제하여 동기화를 수행한다.
그러나, DB 동기화를 위한 DB 복제 시 또는 DB 동기화 완료 후에도 메시지 유실 등과 같은 오류로 일부 필드 값의 불일치가 발생할 수 있고, 이러한 DB (복제) 불일치 발생 시에 복구를 수행해야 하는데, 이 경우 어떤 데이터베이스의 값을 기준으로 DB 값을 일치화해야 하는지 알 수 없기 때문에 신뢰성 있는 복구를 수행하기 어려운 문제가 있다.
공개특허공보 제10-2012-0009666호(2012.02.02.)
본 발명은 전술한 종래의 문제점을 해결하기 위한 것으로, 그 목적은 DB 동기화를 위한 DB 복제 시 또는 DB 동기화 완료 후 DB (복제) 불일치 발생 시 신뢰성 있는 복구 방안을 제시하는, 다중 데이터베이스의 동기화를 위한 장치 및 방법을 제공하는 것이다.
전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 다중 데이터베이스의 동기화를 위한 방법은, (a) 다중 데이터베이스 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 상기 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 상기 변경 데이터를 복제하여 동기화를 수행하는 단계; (b) 상기 제1 데이터베이스의 변경 데이터를 상기 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 단계; 및 (c) 상기 다중 데이터베이스 간의 서로 대응하는 데이터의 불일치 발생 시, 상기 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 단계;를 포함할 수 있다.
상기 단계 (b)는 변경 데이터를 포함하는 투플(tuple) 단위로 상기 특정 정보를 표시할 수 있고, 상기 단계 (c)는 상기 특정 정보가 표시된 데이터가 복수 개일 경우 (타임스탬프를 참조하여) 최신 변경 데이터를 기준으로 불일치하는 다른 데이터를 업데이트할 수 있다.
상기 단계 (c)는, (c-1) 상기 다중 데이터베이스 중 하나(이하, 제3 데이터베이스)에서 비교 대상 데이터를 획득하기 위한 단계; (c-2) 제3 데이터베이스에서 상기 다중 데이터베이스의 다른 데이터베이스(이하, 제4 데이터베이스)로 상기 획득된 비교 대상 데이터에 대한 식별 정보를 전달하기 위한 단계; (c-3) 제4 데이터베이스에서 상기 식별 정보를 기초로 비교 대상 데이터를 조회하여 제3 데이터베이스로 전달하기 위한 단계; 및 (c-4) 상기 제4 데이터베이스로부터 획득된 비교 대상 데이터와 상기 제3 데이터베이스의 비교 대상 데이터를 취합한 전체의 비교 대상 데이터 중에서 각각의 비교 대상 데이터들 간의 상호 비교 후 불일치한 비교 대상 데이터 발견 시, 상기 특정 정보가 표시된 비교 대상 데이터를 기준으로 불일치하는 다른 비교 대상 데이터를 업데이트하여 일치시키기 하기 위한 단계;를 포함할 수 있고, 상기 비교 대상 데이터는 투플(tuple) 단위의 데이터일 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따른 다중 데이터베이스의 동기화를 위한 장치는, 다중 데이터베이스 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 상기 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 상기 변경 데이터를 복제하여 동기화를 수행하기 위한 동기화부; 상기 제1 데이터베이스의 변경 데이터를 상기 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 표식부; 및 상기 다중 데이터베이스 간의 서로 대응하는 데이터의 불일치 발생 시, 상기 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 업데이트부;를 포함할 수 있고, 상기 표식부는 변경 데이터를 포함하는 투플(tuple) 단위로 상기 특정 정보를 표시할 수 있다.
상기 업데이트부는 상기 특정 정보가 표시된 데이터가 복수 개일 경우 (타임스탬프를 참조하여) 최신 변경 데이터를 기준으로 불일치하는 다른 데이터를 업데이트할 수 있고, 상기 다중 데이터베이스 중 하나(이하, 제3 데이터베이스)에서 비교 대상 데이터를 획득하기 위한 데이터획득부; 제3 데이터베이스에서 상기 다중 데이터베이스의 다른 데이터베이스(이하, 제4 데이터베이스)로 상기 획득된 비교 대상 데이터에 대한 식별 정보를 전달하기 위한 정보전달부; 제4 데이터베이스에서 상기 식별 정보를 기초로 해당 비교 대상 데이터를 조회하여 제3 데이터베이스로 전달하기 위한 데이터전달부; 및 상기 제4 데이터베이스로부터 획득된 비교 대상 데이터와 상기 제3 데이터베이스의 비교 대상 데이터를 취합한 전체의 비교 대상 데이터 중에서 각각의 비교 대상 데이터들 간의 상호 비교 후 불일치한 비교 대상 데이터 발견 시, 상기 특정 정보가 표시된 비교 대상 데이터를 기준으로 불일치하는 다른 비교 대상 데이터를 업데이트하여 일치시키기 위한 일치화부;를 포함할 수 있으며, 상기 비교 대상 데이터는 투플(tuple) 단위의 데이터를 포함할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중 데이터베이스의 동기화를 위한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중 데이터베이스의 동기화를 위한 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션을 제공할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중 데이터베이스의 동기화를 위한 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
이상에서 설명한 바와 같이 본 발명의 다양한 측면에 따르면, 다중 데이터베이스 간의 DB 불일치 발생 시 기준이 될 수 있는 마스터(master) DB를 판단할 수 있게 하여, DB sync 후에 DB가 불일치하더라도 옳은 값으로 수정할 수 있도록 하고, 이에 따라 DB 데이터의 신뢰성을 높일 수 있는 효과가 있다.
도 1은 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 시스템의 구성도,
도 2는 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 장치의 구성도,
도 3은 도 2의 업데이트부의 세부 구성도,
도 4는 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법의 흐름도,
도 5는 본 발명의 예시적인 실시예에 따른 오딧(audit) 과정을 설명하기 위한 도면이다.
이하, 첨부도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 한다. 또한, 본 발명의 실시예에 대한 설명 시 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 시스템의 구성도로서, 동 도면에 도시된 바와 같이, 통신망(1), 동기화서버(2), 및 데이터베이스(3)를 포함할 수 있다.
통신망(1)은 동기화서버(2) 및 데이터베이스(3) 간을 유선, 무선 및/또는 인터넷 등으로 연결하여 통신할 수 있도록 하는 단독 또는 복합의 어떤 망이어도 무방하다.
동기화서버(2)는 다중 데이터베이스(3) 간의 DB(Database) 동기화를 위한 DB 복제 시 또는 DB 동기화 완료 후 DB (복제) 불일치 발생 시 신뢰성 있는 복구를 위한 것으로서, 다중 데이터베이스(3) 간의 DB 불일치 발생 시 기준이 될 수 있는 마스터(master) DB를 판단할 수 있게 하여 DB sync 후에 DB가 불일치하더라도 옳은 값으로 수정할 수 있도록 하고 이에 따라 DB 데이터의 신뢰성을 높일 수 있도록 할 수 있다.
데이터베이스(3)는 통신망(1)에 배치된 다중의 데이터베이스(DB1~DBn)(3)를 나타내는 것으로서, 예를 들어, 통신망의 여러 국사에 설치된 다중 장비에 대응하는 다중 데이터베이스를 포함할 수 있다.
다중의 데이터베이스(DB1~DBn)(3)는 통신망(1)의 여러 국사에 설치된 장비에 동일한 데이터(data)를 제공해야 하므로, 동기화서버(2)는 다중 데이터베이스(DB1~DBn)(3) 간의 실시간으로 데이터베이스 동기화(DB sync)를 수행하고 DB sync 후의 결과가 불일치할 경우 일치시키도록 업데이트 할 수 있다.
도 2는 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 장치의 구성도로서, 도 1의 동기화 서버(2)의 구성도이고, 동 도면에 도시된 바와 같이, 동기화부(21), 표식부(23), 및 업데이트부(25)를 포함할 수 있다.
동기화부(21)는 다중 데이터베이스(DB1~DBn)(3) 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 해당 변경 데이터를 복제하여 동기화를 수행하기 위한 것으로서, 예를 들어 도 5를 참조하여 일 예를 설명하면, 제1 데이터베이스 DB02에서 식별정보(ID)가 103으로 동일한 행의 투풀(tuple)을 이루는 필드 SVC1, SVC2, 및 SVC3 중 적어도 하나의 필드에서 데이터 변경이 발생하는 경우, 제1 데이터베이스 DB2 외의 하나 이상의 다른 데이터베이스로서의 제2 데이터베이스 DB01 및 DB03~DB08에서 해당 변경 데이터를 복제하여 동기화를 수행하도록 할 수 있다.
표식부(23)는 제1 데이터베이스의 변경 데이터를 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 것으로서, 특정 정보는 해당 변경 데이터의 필드를 포함하는 동일 행의 투플(tuple) 단위로 표시할 수 있다.
표식부(23)는, 도 5를 참조하여 일 예를 설명하면, 제1 데이터베이스 DB02의 식별정보 103인 행의 투풀_오리진(tuple_origin) 필드에 데이터 변경을 나타내는 특정 정보로서의 L(Local)을 표시하고, 나머지 다른 데이터베이스로서의 제2 데이터베이스 DB01 및 DB03~DB08의 동일 식별정보 103인 행의 투풀_오리진(tuple_origin) 필드에 데이터 복제를 나타내는 특정 정보로서의 R(Remote)을 표시할 수 있다.
업데이트부(25)는 다중 데이터베이스(DB1~DBn)(3) 간의 서로 대응하는 데이터의 불일치가 발생하면 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 것으로서, 도 5를 참조하여 일 예를 설명하면, 다중 데이터베이스(DB1~DBn)(3) 각각의 투풀_오리진(tuple_origin) 필드에 표시된 특정 정보를 확인하고, 다중 데이터베이스(DB1~DBn)(3) 중 데이터 변경을 나타내는 특정 정보로서의 L이 표시된 데이터베이스 DB02의 식별정보 103인 행의 필드 SVC1, SVC2, 및 SVC3에 기재된 데이터를 기준으로 다른 데이터베이스 DB01 및 DB03~DB08 각각의 대응하는 식별정보 103인 행의 필드 SVC1, SVC2, 및 SVC3에 기재된 불일치 데이터를 업데이트하여 일치화 시킬 수 있다.
업데이트부(25)는 다중 데이터베이스(DB1~DBn)(3) 간의 서로 대응하는 데이터의 불일치가 발생하고 특정 정보 L이 복수 개 존재할 경우 타임스탬프를 참조하여 최신 변경 데이터를 기준으로 불일치하는 다른 데이터를 업데이트 할 수 있다.
도 3은 도 2의 업데이트부(25)의 세부 구성도로서, 동 도면에 도시된 바와 같이, 데이터획득부(251), 정보전달부(253), 데이터전달부(255), 및 일치화부(257)를 포함할 수 있다.
데이터획득부(251)는 다중 데이터베이스(DB1~DBn)(3) 중 하나(이하, 제3 데이터베이스)에서 비교 대상 데이터를 획득하기 위한 것으로서, 도 5를 참조하여 일 예를 설명하면, 다중 데이터베이스(DB1~DBn)(3) 중 하나인 제3 데이터베이스를 데이터베이스 DB01로 가정하면 데이터베이스 DB01의 식별정보 103인 행(또는 투풀)의 모든 필드의 데이터를 비교 대상 데이터로 획득할 수 있다.
정보전달부(253)는 제3 데이터베이스에서 다중 데이터베이스(DB1~DBn)(3)의 다른 데이터베이스(이하, 제4 데이터베이스)로 데이터획득부(251)에서 획득된 비교 대상 데이터에 대한 식별 정보를 전달하기 위한 것으로서, 도 5를 참조하여 일 예를 설명하면, 제3 데이터베이스로서의 데이터베이스 DB01에서 비교 대상 데이터로 획득된 행(투플)의 식별정보(ID) 103을 제4 데이터베이스로서의 데이터베이스 DB02~DB08로 전달할 수 있다.
데이터전달부(255)는 제4 데이터베이스에서 제3 데이터베이스로부터 받은 식별 정보를 기초로 해당 비교 대상 데이터를 조회하여 제3 데이터베이스로 전달하기 위한 것으로서, 도 5를 참조하여 일 예를 설명하면, 제4 데이터베이스로서의 데이터베이스 DB02~DB08 각각에서 제3 데이터베이스로서의 데이터베이스 DB01로부터 받은 식별 정보 103과 동일한 행(투플)의 모든 데이터를 해당 비교 대상 데이터로 조회하여 제3 데이터베이스로서의 데이터베이스 DB01로 전달할 수 있으며, 그 결과 도 5에 도시된 바와 같은 다중 데이터베이스(DB1~DBn)(3)로서의 데이터베이스 DB01~DB08 간의 서로 대응하는 행(투플) 데이터의 일치화 여부를 모니터링하기 위한 오딧(audit) 테이블이 마련될 수 있다.
일치화부(257)는 제3 데이터베이스 및 제4 데이터베이스의 모든 비교 대상 데이터들 간을 상호 비교한 후 불일치한 비교대상데이터가 발견되면 특정 정보가 표시된 비교 대상 데이터를 기준으로 불일치하는 다른 비교 대상 데이터를 업데이트하여 일치시키기 위한 것으로서, 예를 들면, 제3 데이터베이스로서의 데이터베이스 DB01에서 오딧(audit) 시 도 5의 오딧(audit) 테이블에서와 같이 데이터베이스 DB03, DB04, DB05의 일부 필드인 SVC1, SVC2, SVC3의 데이터 값이 다른 데이터베이스의 해당 데이터 값과 불일치하는 것을 확인할 수 있고, 이와 같이 불일치가 확인되면 다중 데이터베이스 DB01~DB08 각각의 투풀_오리진(tuple_origin) 필드에 표시된 특정 정보를 확인하고, 다중 데이터베이스 DB01~DB08 중 데이터 변경을 나타내는 특정 정보로서의 L이 표시된 데이터베이스 DB02의 식별정보 103인 행의 필드 SVC1, SVC2, 및 SVC3에 기재된 데이터를 기준으로 데이터베이스 DB03, DB04, DB05의 대응 필드인 SVC1, SVC2, SVC3에 기재된 불일치 데이터를 업데이트하여 일치화 시킬 수 있다.
일치화부(257)는 도 5와 같은 오딧(audit) 테이블의 투풀_오리진(tuple_origin) 필드에 특정 정보 L이 기재된 데이터베이스를 기준이 되는 마스터 노드로 판단하되, L이 기재된 데이터베이스가 여러 개일 경우에는 타임스템프(timestamp)를 참조하여 가장 최신 내용을 마스터로 노드로 판단하여 해당 마스터 노드의 데이터를 기준으로 불일치하는 다른 데이터를 업데이트 할 수 있다.
일치화부(257)는 도 5의 오딧(audit) 테이블에서와 같이 데이터베이스 DB01의 오딧(audit) 결과 리포트에서 데이터베이스 DB03, DB04, DB05에서 수행할 SQL(일치화 시키기 위한 업데이트)문을 출력하여 일치화를 수행하고, 일치화 결과를 MMI(Man Machine Interface)를 통해 운영자에게 알릴 수 있다.
본 실시예에서 변경 데이터, 복제 데이터, 또는 비교 대상 데이터는 행의 투플(tuple) 단위의 데이터를 일 예로 설명하였지만, 이에 한정되지 않고 필드 단위를 포함하는 다양한 단위의 데이터를 포함할 수 있다.
도 4는 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법의 흐름도, 도 1-3의 동기화 서버(2) 장치에 적용되므로 해당 장치의 동작과 병행하여 설명한다.
먼저, 다중 데이터베이스(DB1~DBn)(3) 중 적어도 하나의 데이터베이스로서의 제1 데이터베이스에서 데이터의 변경이 발생하면(S401), 동기화부(21)는 다중 데이터베이스(DB1~DBn)(3) 중 제1 데이터베이스 외의 다른 데이터베이스로서의 제2 데이터베이스에서 제1 데이터베이스의 해당 변경 데이터를 복제하여 동기화를 수행한다(S403).
이어, 표식부(23)는 제1 데이터베이스의 변경 데이터를 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 제1 데이터베이스의 변경 데이터에 특정 정보를 표시하는데, 예를 들어, 도 5에 도시된 바와 같이 데이터베이스 DB2에서 시간 2019-11-17 18:12:25000056에 식별 정보 103 행 투풀 중 적어도 하나의 필드 데이터에 변경이 발생한 경우 제1 데이터베이스로서의 DB02의 식별정보 103인 행의 투풀_오리진(tuple_origin) 필드에 데이터 변경을 나타내는 특정 정보로서의 L(Local)을 표시하고, 나머지 다른 데이터베이스로서의 제2 데이터베이스 DB01 및 DB03~DB08의 동일 식별정보 103인 행의 투풀_오리진(tuple_origin) 필드에 데이터 복제를 나타내는 특정 정보로서의 R(Remote)을 표시할 수 있다(S405).
이어, 업데이트부(25)는 다중 데이터베이스(DB1~DBn)(3) 간의 서로 대응하는 데이터에 불일치가 발생하는 지의 여부를 모니터링하는데(S407), 예를 들어, 도 5에 도시된 바와 같은 다중 데이터베이스(DB1~DBn)(3)로서의 데이터베이스 DB01~DB08 간의 서로 대응하는 행(투플) 데이터의 일치화 여부를 모니터링하기 위한 오딧(audit) 테이블을 구성하고, 해당 오딧 테이블을 통하여 다중 데이터베이스 DB01~DB08 간의 서로 대응하는 데이터의 불일치 여부를 확인한다(S409).
마지막으로, 업데이트부(25)는 단계 S409에서 도 5의 오딧(audit) 테이블에서와 같이 데이터베이스 DB03, DB04, DB05의 일부 필드인 SVC1, SVC2, SVC3의 데이터 값이 다른 데이터베이스의 해당 데이터 값과 불일치한 것이 확인되면, 다중 데이터베이스 DB01~DB08 각각의 투풀_오리진(tuple_origin) 필드에 표시된 특정 정보를 확인하고, 다중 데이터베이스 DB01~DB08 중 데이터 변경을 나타내는 특정 정보로서의 L이 표시된 데이터베이스 DB02의 식별정보 103인 행의 필드 SVC1, SVC2, 및 SVC3에 기재된 데이터를 기준으로 데이터베이스 DB03, DB04, DB05의 대응 필드인 SVC1, SVC2, SVC3에 기재된 불일치 데이터를 업데이트하여 일치화시킨다(S411).
단계 S411에서 업데이트부(25)는 도 5의 오딧(audit) 테이블의 투풀_오리진(tuple_origin) 필드에 특정 정보 L이 기재된 데이터베이스가 여러 개일 경우에는 특정 정보 L이 표시된 복수의 데이터베이스의 데이터 중 타임스템프(timestamp) 필드에 기록된 시간이 가장 최신인 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하여 일치시키도록 한다.
한편, 전술한 본 발명의 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 구현할 수 있다.
다른 한편, 전술한 본 발명의 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법에 따르면 해당 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 애플리케이션을 구현할 수 있다.
또 다른 한편, 전술한 본 발명의 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 구현할 수 있다.
예를 들어, 전술한 바와 같이 본 발명의 예시적인 실시예에 따른 다중 데이터베이스의 동기화를 위한 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체 또는 이러한 기록 매체에 저장된 애플리케이션으로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 발명의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1: 통신망
2: 동기화 서버
3: 다중 데이터베이스
21: 동기화부
23: 표식부
25: 업데이트부
251: 데이터획득부
253: 정보전달부
255: 데이터전달부
257: 일치화부

Claims (13)

  1. (a) 다중 데이터베이스 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 상기 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 상기 변경 데이터를 복제하여 동기화를 수행하는 단계;
    (b) 상기 제1 데이터베이스의 변경 데이터를 상기 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 단계; 및
    (c) 상기 다중 데이터베이스 간의 서로 대응하는 데이터의 불일치 발생 시, 상기 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 단계;
    를 포함하는 다중 데이터베이스의 동기화를 위한 방법.
  2. 제1항에 있어서,
    상기 단계 (b)는 변경 데이터를 포함하는 투플(tuple) 단위로 상기 특정 정보를 표시하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 방법.
  3. 제1항에 있어서,
    상기 단계 (c)는 상기 특정 정보가 표시된 데이터가 복수 개일 경우 (타임스탬프를 참조하여) 최신 변경 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 방법.
  4. 제1항에 있어서,
    상기 단계 (c)는,
    (c-1) 상기 다중 데이터베이스 중 하나(이하, 제3 데이터베이스)에서 비교 대상 데이터를 획득하기 위한 단계;
    (c-2) 제3 데이터베이스에서 상기 다중 데이터베이스의 다른 데이터베이스(이하, 제4 데이터베이스)로 상기 획득된 비교 대상 데이터에 대한 식별 정보를 전달하기 위한 단계;
    (c-3) 제4 데이터베이스에서 상기 식별 정보를 기초로 비교 대상 데이터를 조회하여 제3 데이터베이스로 전달하기 위한 단계; 및
    (c-4) 상기 제4 데이터베이스로부터 획득된 비교 대상 데이터와 상기 제3 데이터베이스의 비교 대상 데이터를 취합한 전체의 비교 대상 데이터 중에서 각각의 비교 대상 데이터들 간의 상호 비교 후 불일치한 비교 대상 데이터 발견 시, 상기 특정 정보가 표시된 비교 대상 데이터를 기준으로 불일치하는 다른 비교 대상 데이터를 업데이트하여 일치시키기 하기 위한 단계;
    를 포함하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 방법.
  5. 제4항에 있어서,
    상기 비교 대상 데이터는 투플(tuple) 단위의 데이터인 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 방법.
  6. 다중 데이터베이스 중 적어도 하나의 데이터베이스(이하, 제1 데이터베이스)에서 데이터 변경 발생 시, 상기 제1 데이터베이스 외의 하나 이상의 다른 데이터베이스(이하, 제2 데이터베이스)에서 상기 변경 데이터를 복제하여 동기화를 수행하기 위한 동기화부;
    상기 제1 데이터베이스의 변경 데이터를 상기 제2 데이터베이스의 복제 데이터와 구분할 수 있도록 특정 정보로 표시하기 위한 표식부; 및
    상기 다중 데이터베이스 간의 서로 대응하는 데이터의 불일치 발생 시, 상기 특정 정보가 표시된 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하기 위한 업데이트부;
    를 포함하는 다중 데이터베이스의 동기화를 위한 장치.
  7. 제6항에 있어서,
    상기 표식부는 변경 데이터를 포함하는 투플(tuple) 단위로 상기 특정 정보를 표시하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 장치.
  8. 제6항에 있어서,
    상기 업데이트부는 상기 특정 정보가 표시된 데이터가 복수 개일 경우 최신 변경 데이터를 기준으로 불일치하는 다른 데이터를 업데이트하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 장치.
  9. 제6항에 있어서,
    상기 업데이트부는,
    상기 다중 데이터베이스 중 하나(이하, 제3 데이터베이스)에서 비교 대상 데이터를 획득하기 위한 데이터획득부;
    제3 데이터베이스에서 상기 다중 데이터베이스의 다른 데이터베이스(이하, 제4 데이터베이스)로 상기 획득된 비교 대상 데이터에 대한 식별 정보를 전달하기 위한 정보전달부;
    제4 데이터베이스에서 상기 식별 정보를 기초로 해당 비교 대상 데이터를 조회하여 제3 데이터베이스로 전달하기 위한 데이터전달부; 및
    상기 제4 데이터베이스로부터 획득된 비교 대상 데이터와 상기 제3 데이터베이스의 비교 대상 데이터를 취합한 전체의 비교 대상 데이터 중에서 각각의 비교 대상 데이터들 간의 상호 비교 후 불일치한 비교 대상 데이터 발견 시, 상기 특정 정보가 표시된 비교 대상 데이터를 기준으로 불일치하는 다른 비교 대상 데이터를 업데이트하여 일치시키기 위한 일치화부;
    를 포함하는 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 장치.
  10. 제9항에 있어서,
    상기 비교 대상 데이터는 투플(tuple) 단위의 데이터인 것을 특징으로 하는 다중 데이터베이스의 동기화를 위한 장치.
  11. 제1항 내지 제5항 중 어느 한 항의 상기 다중 데이터베이스의 동기화를 위한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  12. 제1항 내지 제5항 중 어느 한 항의 상기 다중 데이터베이스의 동기화를 위한 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션.
  13. 제1항 내지 제5항 중 어느 한 항의 상기 다중 데이터베이스의 동기화를 위한 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.
KR1020200092036A 2020-07-24 2020-07-24 다중 데이터베이스의 동기화를 위한 장치 및 방법 KR102350282B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200092036A KR102350282B1 (ko) 2020-07-24 2020-07-24 다중 데이터베이스의 동기화를 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200092036A KR102350282B1 (ko) 2020-07-24 2020-07-24 다중 데이터베이스의 동기화를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102350282B1 true KR102350282B1 (ko) 2022-01-13

Family

ID=79341961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200092036A KR102350282B1 (ko) 2020-07-24 2020-07-24 다중 데이터베이스의 동기화를 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102350282B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040010677A (ko) * 2001-06-30 2004-01-31 인터내셔널 비지네스 머신즈 코포레이션 서로 다른 클라이언트 사이의 데이터 동기화 시스템,클라이언트들간의 업데이트 동기화 방법, 업데이트의 복제방법, 및 컴퓨터 프로그램 제품
KR20040031292A (ko) * 2002-10-04 2004-04-13 엘지전자 주식회사 이중화된 시스템에서의 데이터베이스 동기화 복구 방법
JP2007249447A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd コピーペアのペア状態の表示方法
KR20120009666A (ko) 2010-07-20 2012-02-02 주식회사 웨어밸리 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040010677A (ko) * 2001-06-30 2004-01-31 인터내셔널 비지네스 머신즈 코포레이션 서로 다른 클라이언트 사이의 데이터 동기화 시스템,클라이언트들간의 업데이트 동기화 방법, 업데이트의 복제방법, 및 컴퓨터 프로그램 제품
KR20040031292A (ko) * 2002-10-04 2004-04-13 엘지전자 주식회사 이중화된 시스템에서의 데이터베이스 동기화 복구 방법
JP2007249447A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd コピーペアのペア状態の表示方法
KR20120009666A (ko) 2010-07-20 2012-02-02 주식회사 웨어밸리 네트워크 패킷 분석을 통한 데이터베이스 복제 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1(2006.12.31) *

Similar Documents

Publication Publication Date Title
US9953051B2 (en) Multi-version concurrency control method in database and database system
US7464097B2 (en) Managing data integrity using a filter condition
CN106997378B (zh) 基于Redis的数据库数据聚合同步的方法
US8892504B2 (en) Method and system for reconciling meta-data in a data warehouse
US7127475B2 (en) Managing data integrity
CN106462586B (zh) 基于记录的多版本并发控制的一致性读取的方法和***
US10380143B2 (en) Merging of distributed datasets
US5758355A (en) Synchronization of server database with client database using distribution tables
CN103984715B (zh) 一种异构数据库的数据同步、校验方法、装置及***
US7769714B2 (en) Automatic error correction for replication and instantaneous instantiation
US8332358B2 (en) Traversal-free rapid data transfer
US10504047B2 (en) Metadata-driven audit reporting system with dynamically created display names
CA2953212C (en) Automatic software-update framework
US11868330B2 (en) Method for indexing data in storage engine and related apparatus
CN109101368B (zh) 一种数据处理方法及装置
US9965535B2 (en) Client-side handling of transient duplicates for row-level replication
KR102350282B1 (ko) 다중 데이터베이스의 동기화를 위한 장치 및 방법
CN114185991A (zh) 基于分布式数据库实现数据同步的方法及相关装置
CN107168822B (zh) Oracle streams的异常修复***及方法
CN111090648B (zh) 一种关系型数据库数据同步冲突解决方法
CN112463786A (zh) 数据同步方法、***、服务器及存储介质
JP2009301352A (ja) テスト装置およびテスト方法
JPH10283319A (ja) オンライントランザクション処理方法及びシステム、及び媒体
JP2002032254A (ja) 情報整合性管理システム
CN117874007A (zh) 空间数据存储管理方法、装置、设备及介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant