KR19990078538A - 데이터베이스의동기화를위한데이터큐및그운용방법 - Google Patents

데이터베이스의동기화를위한데이터큐및그운용방법 Download PDF

Info

Publication number
KR19990078538A
KR19990078538A KR1019990006905A KR19990006905A KR19990078538A KR 19990078538 A KR19990078538 A KR 19990078538A KR 1019990006905 A KR1019990006905 A KR 1019990006905A KR 19990006905 A KR19990006905 A KR 19990006905A KR 19990078538 A KR19990078538 A KR 19990078538A
Authority
KR
South Korea
Prior art keywords
data
pointer
database
queue
present time
Prior art date
Application number
KR1019990006905A
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 김형순
Publication of KR19990078538A publication Critical patent/KR19990078538A/ko

Links

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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

Landscapes

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

Abstract

본 발명은, 이중의 데이터베이스를 동기화하기 위한 효율적인 데이터 큐 및 그 운영 방법을 제공하기 위하여, 상호 독립적인 제 1 및 제 2 데이터베이스를 동기화하기 위한 데이터 큐에 있어서, 현재 시점에서 최후로 수신된 제 1 데이터를 가리키는 제 1 포인터; 현재 시점에서 최후에 각 데이터베이스에 기록된 제 2 데이터를 가리키는 제 2 포인터; 및 현재 시점에서 최후에 상대방의 데이터베이스에 기록된 데이터의 차순위인 제 3 데이터를 가리키는 제 3 포인터를 포함하는 데이터 큐를 제공한다.

Description

데이터베이스의 동기화를 위한 데이터 큐 및 그 운용 방법{DATA QUEUE FOR DATABASE SYNCHRONIZATION AND METHOD FOR OPERATING IT}
본 발명은 데이터베이스의 이중화에 관한 것으로, 특히 데이터베이스의 이중화를 위한 데이터 큐 및 그 운용에 관한 것이다.
최근의 지능형 정보 서비스를 제공하는 지능망(Intelligent Network)이나 엔지니어링 워크스테이션(Engineering Workstation) 등과 같이 대량의 데이터를 빈번하게 입출력하는 시스템에서는 보존하여야 할 데이터를 데이터베이스화하고 대용량 기억 장치에 저장시켜 보존한다. 그러나, 상기와 같은 대용량 데이터베이스를 저장하는 기억 장치는, 시스템 부하량의 변동이나 예기치 못한 기계적인 사고 등에 의하여 장애를 일으킬 수 있고, 이러한 기억 장치의 장애로 인하여 엄청난 양의 데이터가 일순간에 유실되는 문제점이 있었다.
그리하여, 상기와 같은 문제점을 해결하기 위한 종래의 방식으로서, 데이터베이스를 복수개 구비하여 주 데이터베이스에 저장된 데이터를 보조 데이터베이스에도 동일하게 저장시켜, 하나의 장치에 장애가 발생한 경우에 나머지 장치로 대체하는 방식을 사용하였다. 이러한 방식의 기본적인 전제는, 두 개의 데이터베이스가 저장하고 있는 데이터가 동일하다는 것(이하, "데이터베이스의 동기화"라 함)이 보장되어야 한다는 점이다. 그러나, 독립적인 두 개의 데이터베이스를 제어하는 컴퓨터와 같은 제어 장치의 동작 속도나, 통신망을 통하여 전송되는 데이터를 수신하는 시점의 차이 등에 의하여, 두 개의 데이터베이스의 동기화가 보장되지 못하는 문제점이 있었다.
이러한 데이터베이스의 동기화를 위하여 종래에 사용되는 방식의 하나가 도 1에 도시되었다. 즉, 각각의 독립적인 제 1 및 제 2 데이터베이스(100 및 200)를 운용하는 제 1 및 제 2 컴퓨터 시스템(10 및 20)이 각각 복수개의 데이터 큐(102 및 104, 202 및 204)를 사용하여, 각각 상대방이 운용하는 데이터베이스의 데이터 저장 현황을 자신의 보조 큐(104 또는 204)에 반영하였다.
그러나, 이러한 방식으로는 동일한 용량의 데이터 큐가 복수개 존재하여야 함으로써 메모리 용량의 낭비를 피할 수 없으며, 복수개의 큐를 관리하여야 함에 따라 시스템의 부담이 커진다는 문제점이 있었다.
따라서, 본 발명의 목적은, 이중의 데이터베이스를 동기화하기 위한 효율적인 데이터 큐 및 그 운영 방법을 제공하는 것이다.
도 1은 종래의 데이터베이스 동기화를 위한 데이터 큐 운용 방법을 설명하기 위한 도면.
도 2는 본 발명의 데이터베이스 동기화를 위한 데이터 큐 및 그 운용 방법을 설명하기 위한 도면.
* 도면의 주요 부분의 부호의 설명
10, 20 : 컴퓨터 시스템 100, 200 : 데이터베이스
102, 202 : 데이터 큐 104, 204 : 보조 데이터 큐
304 내지 314 : 포인터
상기의 목적을 달성하기 위하여 본 발명은, 상호 독립적인 제 1 및 제 2 데이터베이스를 동기화하기 위한 데이터 큐에 있어서, 현재 시점에서 최후로 수신된 제 1 데이터를 가리키는 제 1 포인터; 현재 시점에서 최후에 각 데이터베이스에 기록된 제 2 데이터를 가리키는 제 2 포인터; 및 현재 시점에서 최후에 상대방의 데이터베이스에 기록된 데이터의 차순위인 제 3 데이터를 가리키는 제 3 포인터를 포함하는 데이터 큐를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 관하여 상세히 설명한다.
도 2를 참조하면, 도 2는 본 발명의 데이터베이스 동기화를 위한 데이터 큐 및 그 운용 방법을 설명하기 위한 도면이다. 도시된 바와 같이, 상호 독립적인 제 1 및 제 2 데이터베이스(100 및 200)를 운용하는 제 1 및 제 2 컴퓨터 시스템(10 및 20)은 각각 하나의 데이터 큐(300 및 302)를 구비한다. 상기 제 1 또는 제 2 데이터 큐(300 또는 302)는 각각의 컴퓨터 시스템(10 또는 20)에서 수신된 데이터를 수신된 순서대로 저장한다. 상기 각 데이터 큐(300 또는 302)에 저장된 각 데이터는 상기 컴퓨터 시스템(10 또는 20)의 제어에 따라 선입선출 방식으로 각 데이터베이스(100 또는 200)에 저장된다.
본 발명의 설명과 이해의 편의를 위하여, 상기 제 1 컴퓨터 시스템(10)은 현재 시점까지 제 1 데이터(D1) 내지 제 7 데이터(D7)를 수신하여, 그 중 제 1 내지 제 4 데이터(D1 내지 D4)를 이미 제 1 데이터베이스(100)에 저장하였고, 상기 제 2 컴퓨터 시스템(20)은 현재 시점까지 제 1 데이터(D1) 내지 제 6 데이터(D6)를 수신하여, 그 중 제 1 내지 제 2 데이터(D1 내지 D2)를 이미 제 2 데이터베이스(200)에 저장하였다고 가정한다. 따라서, 상기 제 1 컴퓨터 시스템(10)은 제 5 데이터(D5)를 저장할 단계가 되었고, 상기 제 2 컴퓨터 시스템(20)은 제 3 데이터(D3)를 저장할 단계가 된 것으로 가정한다. 또한 이하의 설명에서 데이터 순위의 선후는 큐에 데이터가 수신된 순서에 따라 정하여 지는 것으로 전제한다.
상기 각 컴퓨터 시스템의 데이터 큐(300 또는 302)는 세 개의 포인터(304, 306 및 308)를 포함한다. 제 1 포인터(Rear Pointer ; RP)(308 또는 314)는 현재 시점에서 최후로 수신된 데이터, 즉 제 1 컴퓨터 시스템(10)에서는 제 7 데이터(D7)를 가리키며, 제 2 컴퓨터 시스템(20)에서는 제 6 데이터(D6)를 가리킨다. 각 컴퓨터 시스템이 현재 시점에서 최후에 수신된 데이터가 각 컴퓨터 시스템에 따라 다른 것은 통신 네트워크에서의 데이터 전송 속도의 차이 등의 여러 가지 원인으로부터 기인할 수 있다.
또한, 상기 데이터 큐(300 또는 302)의 제 2 포인터(Pointer to lastly Written Data ; PDW)(306 또는 310)는 현재 시점에서 최후에 각 데이터베이스(100 또는 200)에 기록된 데이터, 즉 제 1 컴퓨터 시스템(10)에서는 제 4 데이터(D4)를 가리키며, 제 2 컴퓨터 시스템(20)에서는 제 2 데이터(D2)를 가리킨다.
다음으로, 상기 데이터 큐(300 또는 302)의 제 3 포인터(Front Pointer ; FP)(304 또는 312)는 현재 시점에서 최후에 상대방의 데이터베이스에 기록된 데이터의 차순위 데이터, 즉 제 1 컴퓨터 시스템(10)에서는 현재 시점에서 제 2 컴퓨터 시스템(20)에서 제 2 데이터(D2)가 최후로 기록되었으므로 제 3 데이터(D3)를 가리키며, 제 2 컴퓨터 시스템(20)에서는 현재 시점에서 제 1 컴퓨터 시스템(10)에서 제 4 데이터(D4)가 최후로 기록되었으므로 제 5 데이터(D5)를 가리킨다. 즉, 각 시스템의 제 3 포인터(FP)(304 또는 312)는 상대방의 시스템의 제 2 포인터(PDW)(306 또는 310)가 가리키는 데이터의 차순위 데이터를 가리킨다.
상기 데이터 큐(300 또는 302)는, 제 2 포인터(PDW)(306 또는 310) 또는 제 3 포인터(FP)(304 또는 312)가 가리키는 데이터 중에서 보다 선순위인 데이터의 직전 데이터까지를 삭제하도록 한다. 즉, 제 1 컴퓨터 시스템(10)에서는 제 2 데이터(D2)까지를 삭제하며, 제 2 컴퓨터 시스템(20)에서는 제 1 데이터(D1)까지를 삭제한다. 도 2에서는 삭제된 데이터를 빗금으로 표시하였다.
본 발명의 다른 실시예에 의하면, 상기 제 2 포인터(PDW)(306 또는 310)가 제 3 포인터(FP)(304 또는 312)보다 후순위의 데이터를 가리키는 경우에는, 상기 제 2 포인터(PDW)(306 또는 310)가 제 3 포인터(FP)(304 또는 312)와 같은 데이터를 가리키도록 할 수도 있다. 이런 경우에는 데이터 큐(300 또는 302)에서 삭제하여야 할 데이터를 판단하기 위하여 상기 제 2 및 제 3 포인터가 가리키는 데이터의 선후 순위를 비교할 필요 없이, 제 3 포인터(FP)(304 또는 312)가 가리키는 데이터의 직전 데이터까지를 삭제할 수 있는 장점이 있다.
상기와 같이, 하나의 데이터 큐에 세 개의 포인터를 사용함으로써 각 시스템에서는 하나의 데이터 큐만을 운용하면서도 상호간의 데이터베이스의 기록 상황을 파악할 수 있게 되어 독립적인 이중의 데이터베이스의 동기화를 보장할 수 있게 된다.
본 발명에 의하면, 주요 정보를 저장하는 데이터베이스를 효과적으로 이중화하여 활성화된 컴퓨터의 장애시에도 서비스의 품질을 저하시키지 않으면서 대기중인 컴퓨터로 용이하게 대체할 수 있다.
본 발명의 바람직한 실시예에 관하여 기술하였으나, 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 그 변형과 수정이 가능할 것이다. 즉, 제 3 포인터(FP)(304 또는 312)는 현재 시점에서 최후에 상대방의 데이터베이스에 기록된 데이터의 차순위 데이터를 가리키는 것으로 설명되었으나, 데이터베이스에 기록된 데이터 자체를 가리키는 것으로 하여 구현할 수도 있다. 이 경우에, 나머지 포인터와의 상호관계에 관하여는 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 변경하여 구현할 수 있다.
따라서, 이하의 특허청구범위는 상기의 바람직한 실시예와 본 발명의 기술 사상의 범위에 속하는 모든 변형과 수정을 포함하는 것으로 해석되어야 한다.

Claims (4)

  1. 상호 독립적인 제 1 및 제 2 데이터베이스를 동기화하기 위한 데이터 큐에 있어서,
    현재 시점에서 최후로 수신된 제 1 데이터를 가리키는 제 1 포인터;
    현재 시점에서 최후에 각 데이터베이스에 기록된 제 2 데이터를 가리키는 제 2 포인터; 및
    현재 시점에서 최후에 상대방의 데이터베이스에 기록된 데이터의 차순위인 제 3 데이터를 가리키는 제 3 포인터
    를 포함하는 데이터 큐.
  2. 제 1 항에 있어서,
    상기 제 2 데이터와 상기 제 3 데이터 중에서 선순위인 데이터의 직전 데이터까지를 삭제하도록 동작하는 데이터 큐.
  3. 제 1 항에 있어서,
    상기 제 2 포인터가 제 3 포인터보다 후순위의 데이터를 가리키는 경우에는, 상기 제 2 포인터가 제 3 포인터와 동일한 데이터를 가리키는 데이터 큐.
  4. 제 3 항에 있어서,
    제 3 포인터가 가리키는 데이터의 직전 데이터까지를 삭제하도록 동작하는 데이터 큐.
KR1019990006905A 1998-12-26 1999-03-03 데이터베이스의동기화를위한데이터큐및그운용방법 KR19990078538A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR19980058948 1998-12-26
KR1019980058948 1998-12-26

Publications (1)

Publication Number Publication Date
KR19990078538A true KR19990078538A (ko) 1999-11-05

Family

ID=54781347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990006905A KR19990078538A (ko) 1998-12-26 1999-03-03 데이터베이스의동기화를위한데이터큐및그운용방법

Country Status (1)

Country Link
KR (1) KR19990078538A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100501904B1 (ko) * 1999-12-14 2005-07-25 주식회사 케이티 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04165437A (ja) * 1990-10-29 1992-06-11 Nec Corp データベース同期方式
JPH06110931A (ja) * 1992-09-30 1994-04-22 Nippon Telegr & Teleph Corp <Ntt> 二重化データベース装置
JPH07182217A (ja) * 1993-12-24 1995-07-21 Nec Corp データベースへのアクセス制御方式
JPH07306795A (ja) * 1994-05-16 1995-11-21 Mitsubishi Electric Corp 二重系計算機のデータベース等価処理装置
US5596706A (en) * 1990-02-28 1997-01-21 Hitachi, Ltd. Highly reliable online system
JPH1031608A (ja) * 1996-07-17 1998-02-03 Fuji Facom Corp プロセスデータバックアップ方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596706A (en) * 1990-02-28 1997-01-21 Hitachi, Ltd. Highly reliable online system
JPH04165437A (ja) * 1990-10-29 1992-06-11 Nec Corp データベース同期方式
JPH06110931A (ja) * 1992-09-30 1994-04-22 Nippon Telegr & Teleph Corp <Ntt> 二重化データベース装置
JPH07182217A (ja) * 1993-12-24 1995-07-21 Nec Corp データベースへのアクセス制御方式
JPH07306795A (ja) * 1994-05-16 1995-11-21 Mitsubishi Electric Corp 二重系計算機のデータベース等価処理装置
JPH1031608A (ja) * 1996-07-17 1998-02-03 Fuji Facom Corp プロセスデータバックアップ方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100501904B1 (ko) * 1999-12-14 2005-07-25 주식회사 케이티 객체 식별자를 이용한 데이터베이스 복제화 및 동기화 방법

Similar Documents

Publication Publication Date Title
EP0191036B1 (en) Database backup method
US20010039548A1 (en) File replication system, replication control method, and storage medium
US7954104B2 (en) Remote copy storage device system and a remote copy method to prevent overload of communication lines in system using a plurality of remote storage sites
US5999964A (en) Method of accessing message queue and system thereof
US5544327A (en) Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied
US7647595B2 (en) Efficient event notification in clustered computing environments
US5164894A (en) Method of data entry into a plant loop
US7788224B2 (en) Fast database replication
US8601166B2 (en) Information processing system and information processing method for generating distribution and synchronization rules in a client/server environment based on operation environment data
KR20000028662A (ko) 컴퓨터, 정보 공유 시스템, 및 레프리카 동일성 유지 방법
US8331359B2 (en) Flexible counter update and retrieval
CN113392132B (zh) Iot场景的分布式缓存方法及系统
US5163156A (en) Method for distributing messages through a mapping table which includes for each originating device a sequential list of corresponding destination devices
WO1996012235A1 (en) System and method for processing of signal data and a communication system comprising a signal data processing system
CN112965839B (zh) 消息传输方法、装置、设备及存储介质
CN109783573A (zh) 多路推送的数据同步方法及终端
EP0770242B1 (en) Method for warming up a spare process in a replicated real-time system, in particular in a telephone exchange
EP0954918A1 (en) System and method for communications and process management in a distributed telecommunications switch
CN114500416B (zh) 用于最多一次消息投递的投递方法和投递系统
CN110413689B (zh) 一种内存数据库的多节点数据同步方法与装置
KR19990078538A (ko) 데이터베이스의동기화를위한데이터큐및그운용방법
JP2002149619A (ja) メッセージ・キュー管理方法
KR100215571B1 (ko) 전전자 교환기의 데이터 백업방법
US4251684A (en) Data storage systems
US6728857B1 (en) Method and system for storing and retrieving data using linked lists

Legal Events

Date Code Title Description
G15R Request for early publication
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application