KR102382189B1 - 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치 - Google Patents

다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치 Download PDF

Info

Publication number
KR102382189B1
KR102382189B1 KR1020200095482A KR20200095482A KR102382189B1 KR 102382189 B1 KR102382189 B1 KR 102382189B1 KR 1020200095482 A KR1020200095482 A KR 1020200095482A KR 20200095482 A KR20200095482 A KR 20200095482A KR 102382189 B1 KR102382189 B1 KR 102382189B1
Authority
KR
South Korea
Prior art keywords
active
replication
local
database
lsn
Prior art date
Application number
KR1020200095482A
Other languages
English (en)
Other versions
KR20220015226A (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 KR1020200095482A priority Critical patent/KR102382189B1/ko
Publication of KR20220015226A publication Critical patent/KR20220015226A/ko
Application granted granted Critical
Publication of KR102382189B1 publication Critical patent/KR102382189B1/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/2064Error 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 while ensuring consistency
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/2069Management of state, configuration or failover
    • 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/2071Error 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 a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based

Landscapes

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

Abstract

본 발명의 실시예는 다중화 액티브 데이터베이스 중 하나에 등록, 수정, 변경 등의 업데이트 발생 시 네트워크 지연 등의 문제로 인해 다른 데이터베이스의 리플리케이션에 지연이 발생하여 리플리케이션 갭이 발생할 경우 해당 리플리케이션 갭의 발생 사실을 정확하게 감지할 수 있도록 하는, 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치에 관한 것으로, 그 방법은 a) 다중화 액티브 데이터베이스 각각에서, 데이터 변경 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하거나 리플리케이션하여 기록하는 단계; 및 (b) 상기 다중화 액티브 데이터베이스 간에 상기 기록된 Local LSN을 상호 비교하여 동일하지 않을 경우 리플리케이션 갭이 발생한 것으로 판단하는 단계;를 포함할 수 있다.

Description

다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치{Method and Apparatus for detecting Replication Gap in Multiplexed Active Database}
본 발명은 다중화 액티브 데이터베이스(Database: DB)의 리플리케이션 갭(Replication Gap) 감지를 위한 기술에 관한 것으로, 보다 상세하게는 다중화 액티브 데이터베이스 중 하나에 등록, 수정, 변경 등의 업데이트 발생 시 네트워크 지연 등의 문제로 인해 다른 데이터베이스의 리플리케이션에 지연이 발생하여 리플리케이션 갭이 발생할 경우 해당 리플리케이션 갭의 발생 사실을 정확하게 감지할 수 있도록 하는, 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치에 관한 것이다.
일반적으로, 다중화 액티브 기술로서의 듀얼 액티브(Dual Active) 기술은 하나의 스마트폰에 2개의 모뎀이 탑재되어, 하나의 회선으로 통화를 하면서도 나머지 회선으로도 데이터나 전화 등 개별 사용이 가능한 기술을 나타낸다.
데이터베이스가 존재하는 듀얼 액티브 장비는 동일한 내용의 듀얼 데이터베이스를 듀얼(Dual)로 구성되어 있는 호처리 모듈에서 각각 참조하여 호처리를 진행한다.
액티브 1 장비(Active 1) 및 액티브 2 장비(Active 2)를 포함하는 듀얼 액티브(Dual Active) 장비로 구성되어 있을 경우, 액티브 1 장비에서 해당 데이터베이스(이하, 액티브 1 데이터베이스)에 등록/수정/변경 등의 이벤트가 발생하면 액티브 2 장비에서는 액티브 1 장비에서 발생한 변경사항을 해당 데이터베이스(이하, 액티브 2 데이터베이스)에 리플리케이션(Replication) 완료 후 호 처리를 진행하여야 한다.
만약 네트워크 문제 등으로 리플리케이션에 지연이 생겨 액티브 1 장비 및 액티브 2 장비 간 리플리케이션 갭(Replication Gap)이 발생할 경우, 호 처리 시 변경이 완료되지 않은 데이터베이스를 참조하기 때문에, 비정상적인 호 처리가 진행되는 문제가 발생한다.
즉, 장비 간 데이터베이스 리플리케이션 갭(DataBase Replication Gap)이 발생하면 해당 데이터베이스에 속하는 가입자가 호 처리를 요청할 때마다 서비스 제공이 비정상으로 진행되는 문제점이 있다.
공개특허공보 제10-2010-0061983호(2010.06.10.)
본 발명은 전술한 종래의 문제점을 해결하기 위한 것으로, 그 목적은 다중화 액티브 데이터베이스 중 하나에 등록, 수정, 변경 등의 업데이트 발생 시 네트워크 지연 등의 문제로 인해 다른 데이터베이스의 리플리케이션에 지연이 발생하여 리플리케이션 갭이 발생할 경우 해당 리플리케이션 갭의 발생 사실을 정확하게 감지할 수 있도록 하는, 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치를 제공하는 것이다.
전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법은, (a) 다중화 액티브 데이터베이스 각각에서, 데이터 변경 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하거나 리플리케이션하여 기록하는 단계; 및 (b) 상기 다중화 액티브 데이터베이스 간에 상기 기록된 Local LSN을 상호 비교하여 동일하지 않을 경우 리플리케이션 갭이 발생한 것으로 판단하는 단계;를 포함할 수 있다.
상기 단계 (a)는, (a-1) 다중화 액티브 데이터베이스 중 적어도 하나(이하, 제1 액티브 데이터베이스)에서 데이터 변경 이벤트 발생 시 해당 발생 순서를 나타내는 Local LSN을 할당하여 기록하는 단계; 및 (a-2) 제1 액티브 데이터베이스 외의 다른 액티브 데이터베이스(이하, 제2 액티브 데이터베이스)에서 현재 변경된 데이터의 리플리케이션 시(즉, 리플리케이션 이벤트의 발생 시) 제2 액티브 데이터베이스의 현재 할당된 Local LSN도 함께 리플리케이션 하여 해당 발생 순서를 나타내는 Local LSN으로 기록하는 단계;를 포함할 수 있다.
상기 단계 (a-2)는, 리플리케이션의 실패 시 직전 Local LSN을 그대로 기록하거나 기록하지 않을 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 장치는, 다중화 액티브 데이터베이스 각각에서, 데이터 변경 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하거나 리플리케이션하여 기록하기 위한 기록부; 및 상기 다중화 액티브 데이터베이스 간에 상기 기록된 Local LSN을 상호 비교하여 동일하지 않을 경우 리플리케이션 갭이 발생한 것으로 판단하기 위한 판단부;를 포함할 수 있다.
상기 기록부는, 다중화 액티브 데이터베이스 중 적어도 하나(이하, 제1 액티브 데이터베이스)에서 데이터 변경 이벤트 발생 시 해당 발생 순서를 나타내는 Local LSN을 할당하여 기록하기 위한 제1 기록부; 및 제1 액티브 데이터베이스 외의 다른 액티브 데이터베이스(이하, 제2 액티브 데이터베이스)에서 현재 변경된 데이터의 리플리케이션 시(즉, 리플리케이션 이벤트의 발생 시) 제2 액티브 데이터베이스의 현재 할당된 Local LSN도 함께 리플리케이션 하여 해당 발생 순서를 나타내는 Local LSN으로 기록하기 위한 제2 기록부;를 포함할 수 있다.
상기 제2 기록부는 리플리케이션의 실패 시 직전 Local LSN을 그대로 기록하거나 기록하지 않도록 할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션을 제공할 수 있다.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
이상에서 설명한 바와 같이 본 발명의 다양한 측면에 따르면, 다중화 액티브 데이터베이스 중 하나에 등록, 수정, 변경 등의 업데이트 발생 시 네트워크 지연 등의 문제로 인해 다른 데이터베이스의 리플리케이션에 지연이 발생하여 리플리케이션 갭이 발생할 경우 해당 리플리케이션 갭의 발생 사실을 정확하게 감지할 수 있도록 함으로써, 리플리케이션 갭에 의한 서비스 장애를 예방하고 다중화 액티브 데이터베이스의 신뢰성을 높일 수 있는 효과가 있다.
도 1은 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 시스템의 구성도,
도 2는 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 장치의 구성도,
도 3은 도 2의 기록부의 세부 구성도,
도 4는 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법의 흐름도,
도 5 내지 도 6은 도 2의 장치에서 실행되는 실행문 테이블을 예시한 도면이고,
도 7은 도 2의 장치에서 (도 5 또는 도 6의 실행문 테이블에 따라) 수행하는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN) 테이블의 기록 과정을 예시한 도면이다.
이하, 첨부도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 한다. 또한, 본 발명의 실시예에 대한 설명 시 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명이 적용되는 다중화 액티브 시스템 중 하나인 듀얼(Dual) 액티브 시스템의 구성도로서, 동 도면에 도시된 바와 같이, 통신망(1), 듀얼 액티브 장비(2), 듀얼 액티브 데이터베이스(3), 및 사용자 단말(5)을 포함할 수 있다.
듀얼 액티브(Dual Active) 시스템은 하나의 스마트폰(또는 사용자 단말이라 칭함)(5)에 2개의 모뎀이 탑재되어, 하나의 회선으로 통화를 하면서도 나머지 회선으로도 데이터나 전화 등 개별 사용이 가능하다.
데이터베이스가 존재하는 듀얼 액티브 장비(2)는 동일한 내용의 듀얼 데이터베이스(3)를 듀얼(Dual)로 구성되어 있는 호처리 모듈에서 각각 참조하여 호처리를 진행한다.
액티브 1 장비(Active 1)(2a) 및 액티브 2 장비(Active 2)(2b)를 포함하는 듀얼 액티브(Dual Active) 장비(2)로 구성되어 있을 경우, 액티브 1 장비(2a)에서 해당 데이터베이스(이하, 액티브 1 데이터베이스)(3a)에 등록, 수정, 또는 변경(이하, 변경이라 통칭함) 등의 이벤트가 발생하면 액티브 2 장비(3b)에서는 액티브 1 장비(2a)의 액티브 1 데이터베이스(3a)에서 발생한 변경 사항을 해당 데이터베이스(이하, 액티브 2 데이터베이스)(3b)에 리플리케이션(Replication) 완료 후 호 처리를 진행하도록 한다.
도 2는 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 장치(20)의 구성도로서, 동 도면에 도시된 바와 같이, 장치(20)는 예를 들어 도 1의 듀얼 액티브 장비(2,2a,2b) 각각에 포함되거나 별도로 구성될 수 있으며, 기록부(21) 및 판단부(23)를 포함할 수 있다.
기록부(21)는 다중화 액티브 데이터베이스 각각에서 데이터 변경 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 순차적으로 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하여 기록하거나 리플리케이션하여 기록하기 위한 것으로, 예를 들어, 듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(Active 1)(3a)에서 N번째 데이터 변경 이벤트가 발생하면 Local LSN 'N'을 할당하여 기록하고, 동시에 듀얼 액티브 데이터베이스(3) 중 다른 하나인 액티브 2 데이터베이스(Active 2)(3b)에서는 N번째 리플리케이션 이벤트가 발생하므로 해당 변경 데이터의 리플리케이션 시 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 'N'도 함께 리플리케이션하여 기록한다.
판단부(23)는 다중화 액티브 데이터베이스 간에 대응하는 Local LSN을 상호 비교하여 동일한지 여부에 따라 리플리케이션 갭의 발생 여부를 판단하기 위한 것으로, 예를 들어, 듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(Active 1)(3a)와 액티브 2 데이터베이스(Active 2)(3b) 간에 대응하는 Local LSN을 상호 비교한 후, 동일하다면 정상적으로 리플리케이션이 완료되어 리플리케이션 갭이 발생하지 않은 상태로 판단하고, 동일하지 않다면 정상적으로 리플리케이션이 완료되지 않아 리플리케이션 갭이 발생한 상태로 판단할 수 있다.
도 3은 도 2의 기록부(21)의 세부 구성도로서, 동 도면에 도시된 바와 같이, 제1 기록부(211) 및 제2 기록부(213)를 포함할 수 있다.
제1 기록부(211)는 다중화 액티브 데이터베이스 중 적어도 하나(이하, 제1 액티브 데이터베이스)에서 데이터 변경 이벤트 발생 시 해당 발생 순서를 나타내는 Local LSN을 할당하여 기록하기 위한 것이고, 제2 기록부(213)는 액티브 데이터베이스 외의 다른 액티브 데이터베이스(이하, 제2 액티브 데이터베이스)에서 현재 변경된 데이터의 리플리케이션 시(즉, 리플리케이션 이벤트의 발생 시) 제2 액티브 데이터베이스의 현재 할당된 Local LSN도 함께 리플리케이션 하여 해당 발생 순서를 나타내는 Local LSN으로 기록하기 위한 것이다.
예를 들어, 도 7을 참조하여 일 예를 설명하면, 듀얼 액티브 데이터베이스(3) 중 장비 인덱스가 [0]인 액티브 1 데이터베이스(Active 1)(3a)에서 첫번째 데이터 변경이 발생(즉, 첫번째 데이터 변경 이벤트가 발생)하는 경우 액티브 1 장비(2a)의 기록부(21)의 제1 기록부(211)는 Local LSN '1'을 할당하여 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 장비 인덱스 [0]과 함께 '[0] 1'을 기록하고, 이에 대응하여 듀얼 액티브 데이터베이스(3) 중 액티브 2 데이터베이스(Active 2)(3b)에서 상기 첫번째 데이터 변경에 대한 리플리케이션 시(즉, 첫번째 리플리케이션 이벤트의 발생 시) 액티브 2 장비(2b)의 기록부(21)의 제2 기록부(213)는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 현재 기록된 Local LSN '1'도 함께 리플리케이션(복제)하여 액티브 2 데이터베이스(Active 2)(3b)의 SYS_REPLICATION_LogSegNum 필드에 기록하고 또한 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 장비 인덱스 [4]와 함께 '[4] 1'을 기록한다.
다음, 액티브 2 데이터베이스(Active 2)(3b)에서 두번째 데이터 변경이 발생(즉, 두번째 데이터 변경 이벤트가 발생)하는 경우 액티브 2 장비(2b)의 기록부(21)의 제1 기록부(211)는 Local LSN '2'를 할당하여 해당 장비 인덱스 [4]와 함께 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 '[4] 2'를 기록하고, 이에 대응하여 듀얼 액티브 데이터베이스(3) 중 액티브 1 데이터베이스(Active 1)(3a)에서 상기 두번째 데이터 변경에 대한 리플리케이션 시(즉, 두번째 리플리케이션 이벤트의 발생 시) 액티브 1 장비(2a)의 기록부(21)의 제2 기록부(213)는 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 현재 기록된 Local LSN '2'도 함께 리플리케이션(복제)하여 액티브 1 데이터베이스(Active 1)(3a)의 SYS_REPLICATION_LogSegNum 필드에 기록하고 또한 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 장비 인덱스 [0]과 함께 '[0] 2'를 기록한다.
이어, 액티브 1 데이터베이스(Active 1)(3a)에서 세번째 데이터 변경이 발생(즉, 세번째 데이터 변경 이벤트가 발생)하는 경우 액티브 1 장비(2a)의 기록부(21)의 제1 기록부(211)는 Local LSN '3'을 할당하여 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 장비 인덱스 [0]과 함께 '[0] 3'을 기록하고, 이에 대응하여 액티브 2 데이터베이스(Active 2)(3b)에서 상기 세번째 데이터 변경에 대한 리플리케이션 시(즉, 첫번째 리플리케이션 이벤트의 발생 시) 액티브 2 장비(2b)의 기록부(21)의 제2 기록부(213)는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 현재 기록된 Local LSN '3'을 함께 리플리케이션(복제)하여 액티브 2 데이터베이스(Active 2)(3b)의 SYS_REPLICATION_LogSegNum 필드에 기록하고 또한 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 장비 인덱스 [4]와 함께 '[4] 3'을 기록한다.
이어, 액티브 1 데이터베이스(Active 1)(3a)에서 네번째 데이터 변경이 발생(즉, 네번째 데이터 변경 이벤트가 발생)하는 경우 액티브 1 장비(2a)의 기록부(21)의 제1 기록부(211)는 Local LSN '4'를 할당하여 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 장비 인덱스 [0]과 함께 '[0] 4'를 기록하고, 이에 대응하여 액티브 2 데이터베이스(Active 2)(3b)에서 상기 네번째 데이터 변경에 대한 리플리케이션 시(즉, 네번째 리플리케이션 이벤트의 발생 시) 액티브 2 장비(2b)의 기록부(21)의 제2 기록부(213)는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 현재 기록된 Local LSN '4'를 함께 리플리케이션(복제)하여 액티브 2 데이터베이스(Active 2)(3b)의 SYS_REPLICATION_LogSegNum 필드에 기록하고 또한 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 장비 인덱스 [4]와 함께 '[4] 4'를 기록한다.
한편, 제2 기록부(213)는 리플리케이션의 실패 시에는 직전 Local LSN을 그대로 기록하거나 기록하지 않을 수 있는데, 예를 들어 도 7을 참조하여 일 예를 설명하면,
액티브 1 데이터베이스(Active 1)(3a)에서 다섯 번째 데이터 변경이 발생(즉, 다섯 번째 데이터 변경 이벤트가 발생)하는 경우 액티브 1 장비(2a)의 기록부(21)의 제1 기록부(211)는 Local LSN '5'를 할당하여 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 장비 인덱스 [0]과 함께 '[0] 5'를 기록하는 반면, 이에 대응하여 액티브 2 데이터베이스(Active 2)(3b)에서 상기 다섯 번째 데이터 변경에 대한 리플리케이션 시(즉, 다섯 번째 리플리케이션 이벤트의 발생 시) 네트워크 지연 등의 문제로 인해 리플리케이션이 실패하는 경우 액티브 2 장비(2b)의 기록부(21)의 제2 기록부(213)는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 현재 기록된 Local LSN '5'를 리플리케이션(복제)하지 못하고 액티브 2 데이터베이스(Active 2)(3b)의 SYS_REPLICATION_LogSegNum 필드에 직전 SYS_REPLICATION_LogSegNum 값인 '4'를 그대로 기록하고 또한 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 직전 Local LSN 정보인 '[4] 4'를 그대로 기록한다.
따라서, 판단부(23)는 듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(Active 1)(3a)와 액티브 2 데이터베이스(Active 2)(3b) 간에 대응하는 Local LSN을 상호 비교한 후, 첫번째부터 네번째 이벤트 발생시 까지는 Local LSN 값이 1 내지 4로 양자가 서로 동일하므로 정상적으로 리플리케이션이 완료되어 리플리케이션 갭이 발생하지 않은 상태로 판단하고, 다섯 번째 이벤트 발생 시에는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 값이 5인 반면 대응하는 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 값은 4로서 양자가 서로 동일하지 않기 때문에 정상적으로 리플리케이션이 완료되지 않아 리플리케이션 갭이 발생한 상태로 판단한다.
도 4는 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법의 흐름도로서, 도 1-3의 장치에 적용되므로 해당 장치의 동작과 병행하여 설명한다.
먼저, 듀얼 액티브 장비(2)의 액티브 1 장비(2a) 및 액티브 2 장비(2b)는 각각 대응하는 듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(3a) 및 액티브 2 데이터베이스(3b)에서 데이터 변경 이벤트 또는 리플리케이션 이벤트가 발생하는지의 여부를 확인하는데, 본 실시예에서는 설명의 편의를 위해 액티브 1 데이터베이스(3a)에서 데이터 변경 이벤트가 발생하고 이에 대응하여 액티브 2 데이터베이스(3b)에서 리플리케이션 이벤트가 발생한 경우를 일 예로 설명한다.
액티브 1 장비(2a)에 의해 액티브 1 데이터베이스(3a)에서 데이터 변경 이벤트의 발생 시(S401), 액티브 1 장비(2a)는 도 5,6에 도시된 바와 같이 변경 데이터의 업데이트를 위한 실행문 '[0] 1: UPDATE'을 출력하여 액티브 1 데이터베이스(3a)에 해당 데이터의 업데이트를 수행하고(S403), 액티브 1 장비(2a)는 또한 도 7에 도시된 바와 같이 액티브 1 데이터베이스(3a)에 Local LSN을 할당하여 기록한다(S405-S407).
단계 S401에서 액티브 1 데이터베이스(3a)의 데이터 변경 이벤트의 발생에 따라 동시에 액티브 2 데이터베이스(3b)의 리플리케이션 이벤트의 발생 시(S411), 액티브 2 장비(2b)는 액티브 1 데이터베이스(3a)의 변경 데이터를 리플리케이션(복제)하여 업데이트를 수행하고(S412), 단계 S412의 리플리케이션 업데이트에 대한 성공 여부를 판단한다(S413).
단계 S412에서 액티브 2 장비(2b)는, 일 예로 네트워크 지연 없이 정상 상태일 경우 도 5에 도시된 바와 같이 리플리케이션 업데이트를 수행하기 위한 (정상적인) 순차 실행문(예를 들어, '[4] 1: TRANSACTION START;' '[4] 2: UPDATE_SYS_REPLICATION_set LogSeqNum…;', 및 '[4] 3: COMMIT')에 따라 리플리케이션 업데이트가 정상적으로 완료된 후 종료되므로 단계 S413에서 리플리케이션 업데이트 성공으로 판단할 수 있고, 다른 예로 네트워크 지연 등에 의한 비정상 상태일 경우 도 6에 도시된 바와 같이 리플리케이션 업데이트를 수행하기 위한 (비정상적인) 순차 실행문(예를 들어, '[4] 1: TRANSACTION START;', '[4] 2: UPDATE…;', '[4] 3: UPDATE_Fail', 및 '[4] 3: COMMIT')에 따라 리플리케이션 업데이트가 실패로 종료되므로 단계 S413에서 리플리케이션 업데이트 실패로 판단할 수 있다.
액티브 2 장비(2b)는 단계 S412-S413에서 리플리케이션 업데이트 성공 시 예를 들어 도 5의 실행문 '[4] 2: UPDATE_SYS_REPLICATION_set LogSeqNum…;'을 기초로 도 7에 도시된 바와 같이(도 7의 첫번째, 세번째, 네번째 이벤트 참조) 액티브 1 데이터베이스(3a)의 Local LSN 필드에 현재 기록된 Local LSN을 리플리케이션(복제)하여 액티브 2 데이터베이스(3b)의 SYS_REPLICATION_LogSegNum 필드에 기록하고(S415) 또한 액티브 2 데이터베이스(3b)의 Local LSN 필드에 장비 인덱스와 함께 기록한다(S417).
액티브 2 장비(2b)는 단계 S412-S413에서 리플리케이션 업데이트 실패 시 예를 들어 도 6의 실행문 '[4] 3: UPDATE_Fail'을 기초로 직전 Local LSN을 그대로 기록하거나 기록하지 않도록 하는데, 예를 들어 도 7에 도시된 바와 같이, 다섯 번째 데이터 변경에 대한 리플리케이션 시(즉, 다섯 번째 리플리케이션 이벤트의 발생 시) 네트워크 지연 등의 문제로 인해 리플리케이션이 실패하는 경우 액티브 2 장비(2b)는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 필드에 현재 기록된 Local LSN '5'를 리플리케이션(복제)하지 못하고 액티브 2 데이터베이스(Active 2)(3b)의 SYS_REPLICATION_LogSegNum 필드에 직전 SYS_REPLICATION_LogSegNum 값인 '4'를 그대로 기록하고(S425) 또한 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 필드에 직전 Local LSN 정보인 '[4] 4'를 그대로 기록한다(S427).
듀얼 액티브 장비(2)의 액티브 1 장비(2a) 및 액티브 2 장비(2b)는 각각 전술한 과정을 거쳐 듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(3a) 및 액티브 2 데이터베이스(3b)에 도 7과 같은 Local LSN 테이블을 생성하고(S431),
듀얼 액티브 데이터베이스(3)의 액티브 1 데이터베이스(Active 1)(3a)와 액티브 2 데이터베이스(Active 2)(3b) 간에 대응하는 Local LSN 테이블을 상호 비교한 후(S433), 예를 들어 첫번째부터 네번째 이벤트 발생시 까지는 Local LSN 값이 1 내지 4로 양자가 서로 동일하므로 정상적으로 리플리케이션이 완료되어 리플리케이션 갭이 발생하지 않은 상태로 판단하고(S435,S437), 다섯 번째 이벤트 발생 시에는 액티브 1 데이터베이스(Active 1)(3a)의 Local LSN 값이 5인 반면 대응하는 액티브 2 데이터베이스(Active 2)(3b)의 Local LSN 값은 4로서 양자가 서로 동일하지 않기 때문에 정상적으로 리플리케이션이 완료되지 않아 리플리케이션 갭이 발생한 상태로 판단한다(S435,S439).
한편, 전술한 본 발명의 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 구현할 수 있다.
다른 한편, 전술한 본 발명의 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법에 따르면 해당 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 애플리케이션을 구현할 수 있다.
또 다른 한편, 전술한 본 발명의 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 구현할 수 있다.
예를 들어, 전술한 바와 같이 본 발명의 예시적인 실시예에 따른 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체 또는 이러한 기록 매체에 저장된 애플리케이션으로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 발명의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1: 통신망
2: 듀얼 액티브 장비
2a: 액티브 1 장비
2b: 액티브 2 장비
3: 듀얼 액티브 데이터베이스
3a: 액티브 1 데이터베이스
3b: 액티브 2 데이터베이스
5: 사용자 단말
20: 리플리케이션 갭 감지 장치
21: 기록부
23; 판단부
211; 제1 기록부
213: 제2 기록부

Claims (9)

  1. (a) 다중화 액티브 데이터베이스 각각에서, 데이터 등록, 수정, 또는 변경(이하, 변경이라 통칭함) 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하여 기록하거나 리플리케이션하여 기록하는 단계; 및
    (b) 상기 다중화 액티브 데이터베이스 간에 상기 기록된 Local LSN을 상호 비교하여 동일하지 않을 경우 리플리케이션 갭이 발생한 것으로 판단하는 단계;를 포함하고,
    상기 단계 (a)는, (a-1) 다중화 액티브 데이터베이스 중 적어도 하나(이하, 제1 액티브 데이터베이스)에서 데이터 변경 이벤트 발생 시 해당 발생 순서를 나타내는 Local LSN을 할당하여 기록하는 단계; 및 (a-2) 제1 액티브 데이터베이스 외의 다른 액티브 데이터베이스(이하, 제2 액티브 데이터베이스)에서 현재 변경된 데이터의 리플리케이션 시(즉, 리플리케이션 이벤트의 발생 시) 제1 액티브 데이터베이스의 현재 할당된 Local LSN도 함께 리플리케이션 하여 해당 발생 순서를 나타내는 Local LSN으로 기록하는 단계;를 포함하며,
    상기 단계 (a-2)는 리플리케이션의 실패 시 직전 Local LSN을 그대로 기록하거나 기록하지 않는 것을 특징으로 하는 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법.
  2. 삭제
  3. 삭제
  4. 다중화 액티브 데이터베이스 각각에서, 데이터 등록, 수정, 또는 변경(이하, 변경이라 통칭함) 및 리플리케이션 중 하나의 이벤트 발생 시 마다 각 이벤트의 발생 순서를 나타내는 로컬 로그 시퀀스 넘버(Local Log Sequence Number: Local LSN으로 약칭함)를 할당하여 기록하거나 리플리케이션하여 기록하기 위한 기록부; 및
    상기 다중화 액티브 데이터베이스 간에 상기 기록된 Local LSN을 상호 비교하여 동일하지 않을 경우 리플리케이션 갭이 발생한 것으로 판단하기 위한 판단부;를 포함하고,
    상기 기록부는, 다중화 액티브 데이터베이스 중 적어도 하나(이하, 제1 액티브 데이터베이스)에서 데이터 변경 이벤트 발생 시 해당 발생 순서를 나타내는 Local LSN을 할당하여 기록하기 위한 제1 기록부; 및 제1 액티브 데이터베이스 외의 다른 액티브 데이터베이스(이하, 제2 액티브 데이터베이스)에서 현재 변경된 데이터의 리플리케이션 시(즉, 리플리케이션 이벤트의 발생 시) 제1 액티브 데이터베이스의 현재 할당된 Local LSN도 함께 리플리케이션 하여 해당 발생 순서를 나타내는 Local LSN으로 기록하기 위한 제2 기록부;를 포함하며,
    상기 제2 기록부는 리플리케이션의 실패 시 직전 Local LSN을 그대로 기록하거나 기록하지 않는 것을 특징으로 하는 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 장치.
  5. 삭제
  6. 삭제
  7. 제1항의 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  8. 제1항의 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션.
  9. 제1항의 상기 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터에서 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.
KR1020200095482A 2020-07-30 2020-07-30 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치 KR102382189B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200095482A KR102382189B1 (ko) 2020-07-30 2020-07-30 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200095482A KR102382189B1 (ko) 2020-07-30 2020-07-30 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220015226A KR20220015226A (ko) 2022-02-08
KR102382189B1 true KR102382189B1 (ko) 2022-04-05

Family

ID=80252372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200095482A KR102382189B1 (ko) 2020-07-30 2020-07-30 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102382189B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504807A (ja) * 2008-10-03 2012-02-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散データベースの監視メカニズム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000032947A (ko) * 1998-11-18 2000-06-15 김영환 통신 시스템의 프로세서 이중화 장치
KR20010092154A (ko) * 2000-03-21 2001-10-24 김형순 서버 이중화 방법 및 시스템
KR101513943B1 (ko) 2008-12-01 2015-04-23 주식회사 케이티 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템
KR101662212B1 (ko) * 2014-05-30 2016-10-04 주식회사 알티베이스 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504807A (ja) * 2008-10-03 2012-02-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散データベースの監視メカニズム

Also Published As

Publication number Publication date
KR20220015226A (ko) 2022-02-08

Similar Documents

Publication Publication Date Title
US7627614B2 (en) Lost write detection and repair
JP2531835B2 (ja) デ―タベ―ス管理方法及びシステム
KR101476018B1 (ko) 플래시카피 캐스케이드내의 버퍼 디스크
US20160306864A1 (en) Method and system for data synchronization
US7730029B2 (en) System and method of fault tolerant reconciliation for control card redundancy
CN105988798B (zh) 补丁处理方法及装置
US20050097141A1 (en) Autonomic filesystem recovery
CN112905613A (zh) 一种异构数据库的数据双向同步方法及装置
US6195767B1 (en) Data corruption detection apparatus and method
KR100212447B1 (ko) 재수행 단계에서 종료한 트랜잭션 처리 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
KR100198805B1 (ko) 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법
US20230315713A1 (en) Operation request processing method, apparatus, device, readable storage medium, and system
CN105938446B (zh) 基于rdma和硬件事务性内存支持的数据复制容错方法
KR102382189B1 (ko) 다중화 액티브 데이터베이스의 리플리케이션 갭 감지 방법 및 장치
CN108280097B (zh) 一种数据库系统的故障处理方法和装置
CN112199391A (zh) 一种数据加锁检测方法、设备及计算机可读存储介质
CN110928945B (zh) 一种针对数据库的数据处理方法及装置,数据处理系统
CN111240891A (zh) 基于数据库多表间数据一致性的数据恢复方法及装置
KR102123616B1 (ko) 충돌 페이지 리스트를 이용한 병렬 저널링 방법 및 그 장치
CN106933545A (zh) 应用系统及其启动保护方法及装置
JP3342039B2 (ja) ファイルを管理する処理装置
US6378086B1 (en) Method and system for recovering a computer system from a loadsource located at a remote location
CN117349088B (zh) 数据库增量回切方法、装置、设备及存储介质
CN114900531B (zh) 数据同步方法、装置和系统
CN111198783B (zh) 数据存取方法、装置、系统、设备及存储介质

Legal Events

Date Code Title Description
AMND Amendment
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant