KR102464235B1 - 이중화 ems 서버의 db 관리 방법 - Google Patents

이중화 ems 서버의 db 관리 방법 Download PDF

Info

Publication number
KR102464235B1
KR102464235B1 KR1020160039296A KR20160039296A KR102464235B1 KR 102464235 B1 KR102464235 B1 KR 102464235B1 KR 1020160039296 A KR1020160039296 A KR 1020160039296A KR 20160039296 A KR20160039296 A KR 20160039296A KR 102464235 B1 KR102464235 B1 KR 102464235B1
Authority
KR
South Korea
Prior art keywords
server
database
backup server
name key
active server
Prior art date
Application number
KR1020160039296A
Other languages
English (en)
Other versions
KR20170112349A (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 KR1020160039296A priority Critical patent/KR102464235B1/ko
Priority to EP16195249.4A priority patent/EP3226137A1/en
Priority to CN201610979650.4A priority patent/CN107291790B/zh
Priority to US15/393,985 priority patent/US20170286235A1/en
Publication of KR20170112349A publication Critical patent/KR20170112349A/ko
Application granted granted Critical
Publication of KR102464235B1 publication Critical patent/KR102464235B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/2041Error 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 with more than one idle spare processing component
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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
    • 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/2038Error 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 with a single idle spare processing component
    • 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/2048Error 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 where the redundant components share neither address space nor persistent storage
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J3/00Circuit arrangements for ac mains or ac distribution networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31213Synchronization of servers in network
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

본 발명은 이중화 서버 간의 데이터 베이스의 관리 방법에 관한 것이다. 본 발명의 실시예에 따르면, 상기 백업 서버가 제 1 버전으로 데이터 베이스를 업데이트 하는 단계, 상기 백업 서버의 네임키 리스트를 상기 액티브 서버로 전송하는 단계, 상기 액티브 서버와 상기 백업 서버 간에 일치하는 네임키를 상기 백업 서버로 전송하는 단계 및 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계를 포함할 수 있다. 본 발명에 의하면, 네임키를 기반으로 서로 다른 버전의 데이터 베이스 간에도 데이터 동기화시키는 것이 가능하다.

Description

이중화 EMS 서버의 DB 관리 방법{DB MAMAGING METHOD FOR DUPLEX EMS SERVER}
본 발명은 이중화 EMS 서버에 관한 것으로, 보다 상세하게는 네임 키를 이용하여 이중화 서버 간에 DB(데이터 베이스; DATA BASE)를 동기화 시킬 수 있는 이중화 EMS 서버의 DB 관리 방법에 관한 것이다.
대규모 전력 계통을 감시하고 관리하는 EMS(Energy Management System)는 여러 지역의 전력 수요를 예측하고 발전량을 제어하는 중요한 시스템이다. 이러한 EMS는 산업 제어 시스템으로서, 안정적인 운영을 위해 프라이머리(primary)와 스탠바이(standby) 서버, 또는 액티브(active)와 백업(back up) 서버로 이중화하여 동작시킬 수 있다.
도 1은 일반적인 이중화 EMS 서버의 개념적인 도면이다.
도 1의 이중화 EMS 서버는 액티브 서버와 백업 서버를 가질 때, 액티브 서버와 백업 서버 간에 DB 전송 관계를 도시하고 있다.
도 1에서는, 액티브 서버로부터 백업 서버에 데이터 베이스, 즉 DB를 백업시키는 상황을 예시한 것인데, 액티브 서버와 백업 서버 간에 DB 내용, 즉 메모리 크기, 순서, 위치 등 메모리 구조가 동일한 경우는 액티브 서버의 DB를 백업 서버에 그대로 저장시킴으로써 백업 하는 것이 가능하다. 이를 액티브 서버와 백업 서버 간에 DB가 동기화되었다고 명명하기로 한다.
도 1과 같이, 액티브 서버와 백업 서버 간의 DB 내용이 일치하는 것은 서버의 버전(V1.0)이 일치하는 경우일 것이다.
하지만, 도 2와 같이, 양 서버 간에 DB 버전이 일치하지 않는 경우, 예컨대 액티브 서버의 DB 버전이 1.0이고 백업 서버의 버전이 1.1인 경우와 같이 DB의 내용, 즉 메모리 크기, 순서, 위치 등이 변경된 경우는 액티브 서버의 DB를 그대로 백업 서버로 저장시키면 백업 서버에 백업되어 있던 내용과 충돌되거나 일부 데이터는 손실 될 수 있다.
따라서, 이러한 경우 액티브 서버와 백업 서버 간에 DB는 동기화될 수 없다.
다시 말해, 이중화된 서버 간의 DB 동기화는 서로 버전이 일치하는 경우에 DB 동기화가 가능하며, 이중화된 서버 간에 서로 다른 DB 버전을 갖는 경우는 DB 동기화를 시킬 수 없다.
한편, 액티브 서버와 백업 서버 간 DB 버전이 일치하지 않는 경우는 다양한데, 예컨대, DB 업데이트 수행 명령에 따라 백업 서버의 DB부터 업데이트를 수행하게 될 때, 그 시점을 기준으로 액티브 서버와 백업 서버의 DB 버전이 서로 다를 수 있다.
하지만 에너지 관리 시스템 구동 시, 예상하지 못한 오류가 발생하면 시스템을 절체할 경우가 있다. 이 때, 시스템 절체 전과 동일한 데이터 및 운영 환경을 제공하려면 이중화된 서버 간에 DB 동기화가 불가피하다.
따라서, DB 업데이트 중이라도, 시스템 절체 전, 필요 데이터에 대한 DB 동기화가 제공되어야 시스템의 기동 및 운영이 안정적으로 이루어질 수 있다.
본 발명은 시스템 절체 전, 이중화된 서버 간에 DB 동기화를 수행할 수 있도록 이중화 서버 간의 데이터 베이스의 관리 방법을 제공하는 것을 목적으로 한다.
본 발명은 네임키를 기반으로 서로 다른 버전의 DB 간에도 동기화시키는 이중화 서버 간의 데이터 베이스의 관리 방법을 제공하는 것을 다른 목적으로 한다.
또한 본 발명은 DB 관리의 효율성을 향상시킴으로써 시스템 운영의 안전성을 제고시킬 수 있는 이중화 서버 간의 데이터 베이스의 관리 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 이중화 서버 간의 데이터 베이스의 관리 방법은, 상기 백업 서버가 제 1 버전으로 데이터 베이스를 업데이트 하는 단계, 상기 백업 서버의 네임키 리스트를 상기 액티브 서버로 전송하는 단계, 상기 액티브 서버와 상기 백업 서버 간에 일치하는 네임키를 상기 백업 서버로 전송하는 단계 및 상기 일치하는 네임키를 이용하여 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 상기 액티브 서버의 데이터 베이스의 버전이 제 2 버전인 것을 포함할 수 있다.
본 발명의 일 실시예에 따라, 상기 네임키 리스트를 상기 액티브 서버로 전송하는 단계는 상기 백업 서버의 데이터 베이스와 상기 액티브 서버의 데이터 베이스의 버전이 서로 상이함을 인지하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따라, 상기 네임키를 상기 백업 서버로 전송하는 단계는, 상기 액티브 서버의 네임키 리스트와 상기 백업 서버의 상기 네임키 리스트의 비교 결과에 따라 상호 서버 간에 일치하는 상기 네임키를 추출하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는 상기 액티브 서버로부터 받은 상기 네임키에 해당하는 데이터를 복사하고 저장하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 상기 네임키 리스트는 상기 네임키의 목록이며, 상기 네임키는 상기 데이터 베이스의 데이터 객체를 접근하기 위해 부여된 ID로 정의될 수 있다.
본 발명의 일 실시예에 따라 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는, 상기 액티브 서버로부터 받은 상기 네임키에 해당하는 데이터를 복사 및 저장여부에 대하여 판단하는 단계를 포함할 수 있다.본 발명의 일 실시예에 따라 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는, 상기 백업 서버가 상기 액티브 서버로부터 받은 상기 네임키 리스트에 따라 동기화 요청을 하는 것을 더 포함할 수 있다.
전술한 바와 같은 본 발명에 따른 이중화 서버 간의 데이터 베이스의 관리 방법은, 이중화된 서버 간에 DB 동기화를 수행할 수 있는 장점이 있다.
또한 본 발명에 따른 이중화 서버 간의 데이터 베이스의 관리 방법은, 네임키를 기반으로 서로 다른 버전의 DB 간에도 동기화시키는 장점이 있다.
또한 본 발명에 따른 이중화 서버 간의 데이터 베이스의 관리 방법은, DB 관리의 효율성을 향상시킴으로써 시스템 운영의 안전성을 제고시킬 수 있는 장점이 있다.
도 1은 일반적인 이중화 EMS 시스템에서 DB 동기화에 대한 개념적인 도면이다.
도 2는 일반적인 이중화 EMS 시스템에서 DB 동기화가 되지 않는 것을 도식적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 EMS 시스템에서 DB 동기화 과정을 나타낸다.
도 4는 본 발명의 실시 예에 따른 EMS 시스템에서 DB 동기화 과정을 나타낸다.
도 5는 도 3 내지 도 4에 따른 EMS 시스템에서 DB 동기화 과정을 상세히 나타낸 순서도이다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 도면의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 도면의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 도면의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 도면의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 EMS 시스템에서 DB 동기화 과정을 나타낸다.
본 발명의 일 실시예에 따르면 이중화 EMS 서버는 액티브 서버와 백업 서버를 가질 때, 액티브 서버와 백업 서버 간에 네임키 리스트를 이용하여 DB 동기화가 가능하다.
종래에는 DB 업데이트 명령이 수행되면, 먼저 백업 서버 업데이트를 수행하고, 액티브 서버는 시스템을 가동시켜야 하므로 현재 기동 중인 DB 그대로 동작했다. 그리고 나서, 백업 서버의 업데이트 후 백업 서버의 DB 내용대로 액티브 서버를 업데이트 시킬 수 있었다.
하지만, 백업 서버는 업데이트 되었고, 미처 액티브 서버를 업데이트 하지 못하고 있는데, 시스템에 오류가 발생하여 시스템 절체의 상황이 되면, 백업 서버와 액티브 서버 간에 DB 버전이 달라짐으로써 DB 동기화가 되지 못하는 상황이 발생했다. 그리하여, 시스템 절체 후, 백업 서버는 액티브 서버와 동기화되지 못하고 초기화되었다.
하지만, 본 발명의 일 실시예에 따르면, 액티브 서버와 백업 서버 간 서로 DB 버전이 달라도 네임키 리스트를 이용하여 네임키가 일치하는 데이터에 대해서는 DB 일부 동기화가 가능하다.
각각의 서버는 프로세서를 포함하며, 프로세서에서 네임키 리스트를 제공한다. 데이터 베이스의 데이터 저장 시, 네임키 리스트가 작성되며, 네임키 리스트는 네임키의 목록이며, 에너지 관리 시스템이 기동될 때 프로세서에 의해 생성된다. 네임키는 데이터 객체를 접근하기 위해 부여된 ID라고 간주할 수 있으며, 데이터 객체가 추가되면 이에 따라 네임키도 증가한다. 데이터의 위치 및 순서가 변경되면 리스팅된 네임키도 변경된다.
외부에서 운용자가 운용자 터미널을 통해 DB 업데이트 명령을 내릴 경우, DB 업데이트 명령이 수행되면서 백업 서버가 업데이트 된다.
업데이트 된 백업 서버의 DB 버전은 예컨대 1.1이라 하자.
현재 기동 중인 액티브 서버의 DB 버전은 1.0의 DB로써 실행되는 것으로 예시한다.
따라서, 백업 서버의 DB 버전과 액티브 서버의 DB 버전이 서로 다름을 알 수 있다. 이러한 조건은 종래 기술에서는 액티브 서버가 업데이트 되기 전에는 서로 DB 동기화 될 수 없는 조건이다.
이 때 백업 서버의 DB와 액티브 서버의 DB가 서로 다름을 백업 서버 내 프로세서가 인지할 때, 백업 서버에서 네임키 리스트를 액티브 서버에 전송하도록 한다.
그리하여, 도 3과 같이, 백업 서버는 업데이트 후, 액티브 서버에 업데이트 된 네임키 리스트를 전송한다.
계속해서, 도 4와 같이, 액티브 서버는 백업 서버의 네임키 리스트를 전송받아 현재 버전의 DB 네임키 리스트와 일치하는 네임키만 백업 서버에 전송한다.
이러한 동작은 액티브 서버의 프로세서가 수행할 수 있다.
구체적으로 설명하면, 백업 서버가 네임키 리스트를 보내면, 액티브 서버의 프로세서가 액티브 서버의 현재 버전의 DB의 네임키 리스트와 업데이트 된 백업 서버의 네임키 리스트와 일치하는지 판정하고, 일치하는 네임키만 추출한다. 그리고 일치하는 네임키 리스트를 백업 서버에 전송하여, 백업 서버가 리스트에 따라 동기화 요청을 함으로써 액티브 서버의 DB와 백업 서버의 DB를 동기화 시킬 수 있다.
한편, 백업 서버의 DB에서 액티브 서버의 DB와 동기화되지 않은 네임키, 즉 백업 서버의 DB에만 존재하고 액티브 서버의 DB에 존재하지 않는 데이터에 대해서는 동기화되지 않는다.
이 후, 시스템을 절체하고 재기동시킨다 해도, 액티브 서버 DB의 일부 데이터가 백업 서버의 DB와 동기화된 상태에서 백업 되어 있으므로 백업 서버의 모든 데이터가 초기화되는 상황을 방지할 수 있다.
도 5는 도 3 내지 도 4에 따른 EMS 시스템에서 DB 동기화 과정을 상세히 나타낸 순서도이다.
사용자의 의도에 따라 DB 업데이트 명령이 수행된다.
그리하여, 우선 백업 서버의 DB를 업데이트한다(S110).
다만, 여기서는 발명의 일 실시예로서 데이터 베이스의 업데이트 명령에 따라, 백업 서버의 DB를 먼저 업데이트하는 것을 예시하나, 경우에 따라 액티브 서버의 DB가 우선적으로 업데이트 될 수 있는 경우도 배제하지 않는다.업데이트된 백업 서버의 DB의 네임키 리스트를 액티브 서버에 전송한다(S120).
이 때 백업 서버의 DB와 액티브 서버의 DB가 서로 다름을 백업 서버 내 프로세서가 인지할 때, 백업 서버에서 네임키 리스트를 액티브 서버에 전송하도록 한다.
예를 들어, 업데이트 명령에 따라 백업 서버에서 업데이트 동작이 수행된 경우, 액티브 서버에게 네임키 리스트를 보내면, 액티브 서버는 백업 서버가 업데이트 될 수 있음을 인지할 수 있다.
그리하여, 액티브 서버는 백업 서버로부터 받은 네임키 리스트를 전송 받고, 액티브 서버의 네임키 리스트와 백업 서버 간에 일치하는 네임키를 추출하여, 일치하는 네임키만 백업 서버로 전송한다(S130).
액티브 서버와 백업 서버 간에 DB를 동기화 시킨다(S140).
이는 백업 서버의 프로세서가 액티브 서버로부터 받은 네임키에 해당하는 데이터를 복사하고 저장하는 것으로써 완료할 수 있다.
이후, 시스템 절체 상황이 되면, 백업 서버의 프로세서가 액티브 서버로부터 받지 않은 네임키에 해당하는 데이터들은 모두 초기화되고, 액티브 서버와 동기화된 데이터들에 대해서는 저장되어 시스템 재가동 시 다시 이용될 수 있다. 따라서, 백업 서버의 DB 업데이트 수행 중, 서로 다른 DB 버전의 DB를 갖는 액티브 서버에 대해서도 데이터 동기화가 수행될 수 있다.
이로써, 사용자가 원하는 시간에 원하는 데이터들에 대해서는 서로 DB의 버전이 다르다 하더라도 이중화 서버 간에 DB 동기화를 수행시킬 수 있다.
무엇보다 액티브 서버와 백업 서버 간의 DB의 일관성 및 동기화가 주요 요소인데, 본 발명의 실시예에 따라, 네임키를 기반으로 서로 다른 버전의 DB 간에도 동기화시키는 것이 가능하다. 그리하여 DB 관리의 효율성을 향상시킴으로써 시스템 운영의 안전성을 제고시킬 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
Active: 액티브 서버
Backup: 백업 서버

Claims (8)

  1. 액티브 서버와 백업 서버를 포함하는 이중화 서버 간의 데이터 베이스의 관리 방법에 있어서,
    업데이트 명령에 따라 상기 백업 서버가 제 1 버전으로 데이터 베이스를 업데이트 하는 단계;
    상기 백업 서버는 상기 액티브 서버의 데이터 베이스와 버전이 다른 경우 상기 백업 서버의 데이터 베이스의 네임키 리스트를 상기 액티브 서버로 전송하는 단계;
    상기 액티브 서버는 상기 백업 서버의 데이터 베이스의 상기 네임키 리스트와 상기 액티브 서버의 데이터 베이스의 네임키 리스트를 비교하고, 상기 비교 결과에 따라 상기 액티브 서버와 상기 백업 서버 간에 일치하는 네임키를 추출하며, 상기 일치하는 네임키를 상기 백업 서버로 전송하는 단계; 및
    상기 백업 서버는 상기 일치하는 네임키에 대응하는 데이터를 상기 액티브 서버로부터 수신하며, 상기 일치하는 네임키에 대응하는 데이터를 이용하여 상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계를 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
  2. 제1항에 있어서,
    상기 액티브 서버의 데이터 베이스의 버전이 제 2 버전인 것을 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
  3. 제2항에 있어서,
    상기 네임키 리스트를 상기 액티브 서버로 전송하는 단계는,
    상기 백업 서버의 데이터 베이스와 상기 액티브 서버의 데이터 베이스의 버전이 서로 상이함을 인지하는 단계를 더 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는,
    상기 액티브 서버로부터 받은 상기 네임키에 해당하는 데이터를 복사하고 저장하는 단계를 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
  6. 제1항에 있어서,
    상기 네임키 리스트는 상기 네임키의 목록이며, 상기 네임키는 상기 데이터 베이스의 데이터 객체를 접근하기 위해 부여된 ID로 정의되는
    이중화 서버간의 데이터 베이스의 관리 방법.
  7. 제1항에 있어서,
    상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는,
    상기 액티브 서버로부터 받은 상기 네임키에 해당하는 데이터를 복사 및 저장여부에 대하여 판단하는 단계를 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
  8. 제7항에 있어서,
    상기 액티브 서버와 상기 백업 서버 간에 데이터 베이스를 동기화시키는 단계는,
    상기 백업 서버가 상기 액티브 서버로부터 받은 상기 네임키 리스트에 따라 동기화 요청을 하는 것을 더 포함하는
    이중화 서버 간의 데이터 베이스의 관리 방법.
KR1020160039296A 2016-03-31 2016-03-31 이중화 ems 서버의 db 관리 방법 KR102464235B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160039296A KR102464235B1 (ko) 2016-03-31 2016-03-31 이중화 ems 서버의 db 관리 방법
EP16195249.4A EP3226137A1 (en) 2016-03-31 2016-10-24 Method of managing db between duplex ems server
CN201610979650.4A CN107291790B (zh) 2016-03-31 2016-11-08 管理双工ems服务器之间的db的方法
US15/393,985 US20170286235A1 (en) 2016-03-31 2016-12-29 Method of Managing DB Between Duplex EMS Server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160039296A KR102464235B1 (ko) 2016-03-31 2016-03-31 이중화 ems 서버의 db 관리 방법

Publications (2)

Publication Number Publication Date
KR20170112349A KR20170112349A (ko) 2017-10-12
KR102464235B1 true KR102464235B1 (ko) 2022-11-04

Family

ID=57389176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160039296A KR102464235B1 (ko) 2016-03-31 2016-03-31 이중화 ems 서버의 db 관리 방법

Country Status (4)

Country Link
US (1) US20170286235A1 (ko)
EP (1) EP3226137A1 (ko)
KR (1) KR102464235B1 (ko)
CN (1) CN107291790B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149712B (zh) * 2023-04-04 2023-06-27 湖南中青能科技有限公司 一种数据库版本更新兼容匹配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203992A1 (en) * 2002-05-08 2005-09-15 Izuru Tanaka Information communicating terminal, information distributing apparatus, information distributing system, content managing method, broadcast receiving method, information distributing method, program, and recording medium
US7178056B2 (en) 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US7529780B1 (en) * 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US20090292740A1 (en) 2008-05-23 2009-11-26 Orbitz Worldwide, L.L.C Database management system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359385B (en) * 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
CN1315043C (zh) * 2004-06-24 2007-05-09 华为技术有限公司 一种嵌入式程序的兼容性升级方法
CN101908064A (zh) * 2010-07-20 2010-12-08 中兴通讯股份有限公司 数据库备份恢复方法和装置
US8244698B2 (en) * 2010-07-23 2012-08-14 Google Inc. Encoding a schema version in table names
CN104572672B (zh) * 2013-10-15 2018-10-02 北大方正集团有限公司 异构数据库的同步方法和应用系统
CN103699580B (zh) * 2013-12-03 2016-08-24 中国铁路总公司 数据库同步方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178056B2 (en) 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US20050203992A1 (en) * 2002-05-08 2005-09-15 Izuru Tanaka Information communicating terminal, information distributing apparatus, information distributing system, content managing method, broadcast receiving method, information distributing method, program, and recording medium
US7529780B1 (en) * 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US20090292740A1 (en) 2008-05-23 2009-11-26 Orbitz Worldwide, L.L.C Database management system and method

Also Published As

Publication number Publication date
EP3226137A1 (en) 2017-10-04
KR20170112349A (ko) 2017-10-12
CN107291790A (zh) 2017-10-24
CN107291790B (zh) 2022-04-15
US20170286235A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
AU2019236685B2 (en) Distributed file system using consensus nodes
CN108416040B (zh) 一种数据库修复方法、装置、终端设备及存储介质
US20150067004A1 (en) Distributed file system using consensus nodes
CN102291416A (zh) 一种客户端与服务器端双向同步的方法及系统
US20120324436A1 (en) Method of updating versioned software using a shared cache
US8612799B2 (en) Method and apparatus of backing up subversion repository
CN111327446A (zh) 配置数据处理方法、软件定义网络设备、系统及存储介质
KR102464235B1 (ko) 이중화 ems 서버의 db 관리 방법
US20170279886A1 (en) Method of Synchronizing User Setting Data Among Multiple Centers
JP5287366B2 (ja) 管理サーバ、バックアップ方式、バックアップ方法、及び、プログラム
JP5293141B2 (ja) 冗長システム
US8015270B2 (en) Redundant appliance configuration repository in standard hierarchical format
CN103701770A (zh) 一种基于租约机制的异常解锁方法
CN113553488A (zh) 搜索引擎中索引数据的更新方法、装置、电子设备及介质
CN114760320A (zh) 客户端与中台服务器的数据同步方法、系统及客户端
WO2016045374A1 (zh) 数据同步的方法及装置
CN113468215A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN111459909A (zh) 一种构建PostgreSQL数据库集群方法
CN104504123B (zh) 一种基于日志拆分的目录复制实现方法
US10506038B1 (en) Method and system for implementing a global node architecture
CN113515574B (zh) 一种数据同步方法及装置
KR20160110687A (ko) Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템
CN103078784B (zh) 一种用户状态更新的方法及系统
CN103118008B (zh) 一种用户状态同步的方法及系统
CN117931522A (en) Database switching control method and device, storage medium and electronic device

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