KR100608394B1 - 데이터베이스 동기화 인터페이스 장치 및 방법 - Google Patents

데이터베이스 동기화 인터페이스 장치 및 방법 Download PDF

Info

Publication number
KR100608394B1
KR100608394B1 KR1020040068125A KR20040068125A KR100608394B1 KR 100608394 B1 KR100608394 B1 KR 100608394B1 KR 1020040068125 A KR1020040068125 A KR 1020040068125A KR 20040068125 A KR20040068125 A KR 20040068125A KR 100608394 B1 KR100608394 B1 KR 100608394B1
Authority
KR
South Korea
Prior art keywords
data
synchronization
database
dbms
changed
Prior art date
Application number
KR1020040068125A
Other languages
English (en)
Other versions
KR20060019439A (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 KR1020040068125A priority Critical patent/KR100608394B1/ko
Publication of KR20060019439A publication Critical patent/KR20060019439A/ko
Application granted granted Critical
Publication of KR100608394B1 publication Critical patent/KR100608394B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Abstract

본 발명은 물리적으로 독립된 복수의 시스템이 각각 유지하고 있는 데이터베이스의 데이터를 서로 동기화시키기 위한 인터페이스 장치 및 방법에 관한 것이다.
본 발명에 따른 데이터베이스 동기화 인터페이스 장치는, 물리적으로 독립된 복수의 시스템으로 구성되고, 상기 각각의 시스템은, 데이터의 변경이 발생하는 어플리케이션부와; 상기 어플리케이션부에서 데이터의 변경이 발생한 경우, 상기 변경된 데이터를 상대방 시스템에 전송하고, 상기 상대방 시스템이 정상적으로 수신하였는지 여부를 확인하기 위한 동기화 에이전트와; 상기 동기화 에이전트에 의하여 상기 변경된 데이터가 상기 상대방 시스템에 정상적으로 전송되지 못한 경우, 재전송하여 동기화시킬 수 있도록 상기 변경된 데이터를 임시 저장하는 SAF 파일;및 상기 변경된 데이터를 저장 및 관리하는 데이터베이스 관리부(DBMS)를 포함하는 것을 특징으로 한다.
데이터베이스, 동기화, DBMS, queue, socket

Description

데이터베이스 동기화 인터페이스 장치 및 방법{DEVICE AND METHOD FOR DATABASE SYNCHRONIZATION INTERFACE}
도 1은 본 발명의 실시예에 따른 데이터베이스 동기화 인터페이스 장치.
도 2는 본 발명의 실시예에 따라 동기화 데이터를 전송하는 과정을 개략적으로 나타내는 도면.
도 3은 본 발명의 실시예에 따라 전송 실패 데이터를 재전송하는 과정을 개략적으로 나타내는 도면.
도 4는 본 발명의 실시예에 따른 데이터베이스 동기화 인터페이스 과정을 나타내는 도면.
도 5a 및 도 5b는 본 발명의 실시예에 따른 동기화 데이터의 포맷을 나타내는 도면.
본 발명은 복수의 시스템간에 데이터를 관리하기 위한 장치 및 방법에 관한 것으로, 특히 물리적으로 독립된 복수의 시스템이 각각 유지하고 있는 데이터베이 스의 데이터를 서로 동기화시키기 위한 인터페이스 장치 및 방법에 관한 것이다.
최근 정보통신 기술의 급속한 발전과, 인터넷의 광범위한 보급으로 인하여, 서로 연관된 데이터를 처리하는 다수의 시스템들이 통신망을 통하여 연결되어 있다. 이러한 시스템들은 다수의 사업자들 간에 데이터를 공유하거나, 특정 시스템에 장애가 발생한 경우 이를 복구하기 위한 수단으로서 데이터를 동기화하는 방식을 채택하고 있다.
그러나 현재 다수의 사업자가 실시간으로 동일한 데이터를 공유하고자 하는 경우에, 하나의 사업자가 운영하는 시스템에서 발생한 데이터를 실시간으로 다른 사업자가 운영하는 시스템에 반영할 수 있는 방법은 제시되지 않고 있다. 또한 다수의 시스템간에 데이터를 동기화하는 경우에 각 시스템간에 운영체제(0/S)또는 데이터베이스 관리시스템(이하, DBMS라 칭함)의 차이로 인하여, 서로 다른 O/S 또는 DBMS를 운용하는 장치간에 데이터베이스를 동기화하기가 어렵다는 문제가 있다.
대한민국 특허공개 제2003-0015171호에는 데이터베이스 복제시스템 및 그 복제방법이 개시되어 있다. 상기 선행 발명은 주기적으로 원본 DB의 상태를 검사하여 직전 상태와 비교하고, 변경된 부분을 사본 DB로 수신함으로써, 원본 DB와 동일한 구성 및 동일한 데이터를 유지하여 재해로 인해 원본 DB의 손실이 발생하더라도 사본 DB를 통한 서비스의 재개가 가능하다. 그러나 상기 선행 발명은 원본 서버와 사 본 서버의 O/S와 DBMS가 동일해야만 가능하고, 정해진 원본DB를 사본 DB로 제공하는 단방향 복제 방법이라는 한계가 있다.
대한민국 특허공개 제2000-038004호에는 이중화된 독립적인 두 시스템에서의 장애 시 데이터베이스 동기화 복구 방법 및 시스템이 개시되어 있다. 상기 선행 발명은 두 시스템 사이에 체인지 리스트 테이블(Change List Table)을 작성하여 변경된 사항만을 장애가 일어난 시스템에 반영함으로써 서비스의 중단없이 데이터 베이스를 복구 가능하도록 하는 것에 특징이 있다. 그러나 상기 선행 발명은 두 시스템 사이에 데이터를 동기화하는 시점이 장애가 발생한 시스템이 정상적으로 복구될 때에 이루어지고, 역시 이중화된 시스템 사이에서 단방향으로 데이터 동기화가 이루어지는 것이다.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은 물리적으로 독립된 다수의 시스템 중 어느 하나의 시스템에서 데이터의 변경이 발생한 경우, 이를 실시간으로 다른 시스템에 제공함으로써 데이터베이스를 동기화할 수 있는 장치 및 방법을 제공함에 있다.
또한 본 발명의 다른 목적은, 물리적으로 독립된 다수의 시스템간에 데이터를 실시간으로 동기화하면서도, 데이터 전달의 신뢰성을 향상시킬 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 데이터베이스 동기화 인터페이스 장치는, 물리적으로 독립된 복수의 시스템으로 구성되고, 상기 각각의 시스템은, 데이터의 변경이 발생하는 어플리케이션부와; 상기 어플리케이션부에서 데이터의 변경이 발생한 경우, 상기 변경된 데이터를 상대방 시스템에 전송하고, 상기 상대방 시스템이 정상적으로 수신하였는지 여부를 확인하기 위한 동기화 에이전트와; 상기 동기화 에이전트에 의하여 상기 변경된 데이터가 상기 상대방 시스템에 정상적으로 전송되지 못한 경우, 재전송하여 동기화시킬 수 있도록 상기 변경된 데이터를 임시 저장하는 임시 파일(SAF 파일); 데이터를 저장 및 관리하는 데이터베이스 관리부(DBMS); 및 상기 상대방 시스템으로 상기 변경된 데이터를 전송한 후, 소정의 임계시간 동안에 상기 변경된 정상적으로 전송되었는지 여부를 판단하기 위하여 상기 변경된 데이터를 임시로 저장하는 시스템 메모리를 상기 변경된 를 포함하는 것을 특징으로 한다.
또한, 상기 각각의 시스템은, 상기 데이터베이스 관리 시스템(DBMS)에 기록되는 데이터를 기록, 수정 및 삭제하기 위한 DBMS 어플리케이션부와; 상기 어플리케이션부와 상기 동기화 에이전트 사이에 전송되는 데이터를 선입선출 구조로 처리하는 제1 큐;및 상기 어플리케이션부와 상기 DBMS 어플리케이션부 사이에 전송되는 데이터를 선입선출 구조로 처리하는 제2 큐를 더 포함하는 것이 바람직하다.
나아가, 상기 복수의 시스템은, 서로 소켓을 통하여 통신하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 데이터베이스 동기화 인터페이스 방법은, 물리적으로 독립된 복수의 시스템 간에 데이터를 동기화시키기 위하여, 제1 시스템의 동기화 에이전트에 데이터가 수신되는 경우, 상기 수신되는 데이터의 종류를 판단하는 단계와; 상기 데이터 종류 판단 결과, 상기 수신되는 데이터가 어플리케이션부에서 발생한 동기화 데이터인 경우에는, 상기 동기화 데이터를 제1 시스템의 데이터 시스템 관리부(DBMS)와 제2 시스템의 동기화 에이전트로 전송하는 단계와; 상기 제1 시스템의 동기화 에이전트는 상기 동기화 데이터가 정상적으로 전송되었는지 여부를 판단하는 단계와; 상기 동기화 데이터의 전송이 성공한 경우에는 시스템 메모리에 상기 동기화 데이터 정보를 저장하고, 만약 상기 동기화 데이터의 전송이 실패한 경우에는 상기 동기화 데이터를 임시 파일(SAF 파일)에 저장하는 단계; 및 상기 제1 시스템의 동기화 에이전트는 상기 시스템 메모리에 저장된 전송한 데이터 정보의 시간을 검사하여, 소정의 임계시간이 초과한 경우에는 보존 시간이 종료한 데이터를 상기 SAF 파일에 저장하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제2 시스템은 상기 제1 시스템으로부터 동기화 데이터를 수신한 경우, 상기 동기화 데이터를 내부의 데이터베이스 관리부(DBMS)로 전달하는 단계;및 상기 제2 시스템은 상기 동기화 데이터가 정상적으로 수신되었음을 확인하기 위 하여 상기 제1 시스템으로 수신확인 데이터를 전송하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 제1 시스템의 동기화 에이전트에 일정한 시간 동안 데이터가 수신되지 않는 경우에는, 상기 SAF 파일의 데이터를 읽어와서 상기 제2 시스템으로 전송하는 단계를 더 포함하는 것이 바람직하다.
나아가, 상기 제1 시스템은 상기 제2 시스템으로부터 수신확인 데이터를 수신한 경우에는, 상기 수신확인 데이터가 SAF 파일의 데이터에 대한 것인지 여부를 판단하는 단계;및 상기 수신확인 데이터가 SAF 파일의 데이터에 대한 것인 경우에는 상기 SAF 파일에 저장된 해당 데이터를 삭제하고, 그렇지 않은 경우에는 시스템 메모리에 저장된 해당 데이터 인덱스를 삭제하는 단계를 더 포함하는 것이 바람직하다.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
도 1은 본 발명의 실시예에 따른 데이터베이스 동기화 인터페이스 장치이다.
도 1을 참조하면, 본 발명의 실시예에 따른 데이터베이스 동기화 인터페이스 시스템은 복수의 물리적으로 독립된 시스템들(10, 20)로 구성되며, 상기 시스템들(10, 20) 서로 소켓(socket)으로 연결된다. 여기서 소켓이란 통신망에서 특정 노드상의 특정 서비스를 식별하는 식별자로서 노드 주소와 서비스를 식별하는 포트 번호로 구성될 수 있다.
상기 시스템들(10, 20)은 각각 어플리케이션(Application)부(11, 21)와, 큐들(12, 16, 22, 26)과, 동기화 에이전트(13, 23)와, 시스템 메모리(14, 24)와, 임시 파일(Stored and Forwarding 이하, SAF라 칭함)(15, 25)과, DBMS 인터페이스(17, 27) 및 데이터베이스 관리부(DataBase Management System, 이하 'DBMS'라 칭함)(18, 28)를 포함한다.
상기 어플리케이션부(11, 21)는 데이터의 변경이 발생하는 부분이고, 상기 변경된 데이터는 본 발명의 실시예에 따라 상기 시스템들(10, 20) 사이에 동기화가 이루어진다.
상기 큐들(12, 16, 22, 26)은 유닉스와 같이 여러개의 작업을 동시에 수행할 수 있는 멀티프로세스 환경에서 각각의 프로세스 간의 데이터의 공유, 통신 및 데 이터 공유에 따른 오류를 방지하는 기능을 하며, 선입선출(First-In-First-Out) 구조를 갖는다. 여기서 제1 큐(12, 22)는 상기 어플리케이션부(11, 21)와 상기 동기화 에이전트(13, 23) 사이에 전송되는 데이터를 처리하고, 제2 큐(16, 26)은 상기 어플리케이션부(11, 21) 및 상기 동기화 에이전트(13, 23)과 상기 DBMS 인터페이스(17, 27) 사이에 전송되는 데이터를 처리한다.
상기 동기화 에이전트(13, 23)는 상기 어플리케이션부(11, 21)에서 데이터의 변경이 발생한 경우, 이러한 변경된 데이터(동기화 데이터)를 상대방 시스템에 전송하고, 상대방 시스템이 정상적으로 수신하였는지 여부를 확인하는 장치이다. 상기 어플리케이션부(11, 21)는 각각 클라이언트 소켓(도시되지 않음)과 서버 소켓(도시되지 않음)을 구비하고, 상기 소켓을 통하여 서로 통신을 하게 된다.
상기 시스템 메모리(14, 24)는 하나의 시스템에서 다른 상대방 시스템으로 동기화 데이터를 전송한 후, 소정의 임계시간 동안에 상기 동기화 데이터가 정상적으로 전송되었는지 여부를 판단하기 위하여 임시로 저장하는 장치이다.
상기 SAF 파일(15, 25)은 상기 동기화 에이전트(13, 23)에 의하여 동기화 데이터가 정상적으로 처리되지 못한 경우, 데이터의 유실을 방지하고 통신 상태가 정상적으로 복구될 때 상기 동기화 데이터를 재전송하여 동기화시킬 수 있도록 임시 저장하는 장치이다.
상기 DBMS 인터페이스(17, 27)는 상기 제2 큐(16, 26)과 상기 DBMS(18, 28) 사이에 인터페이스 역할을 한다.
상기 DBMS(18, 28)는 데이터베이스 관리 시스템으로서, 상기 어플리케이션부 (11, 21)부에서 변경된 데이터를 수신하여 저장 및 관리하며, 다수의 컴퓨터 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있도록 한다.
도 1에서는 제1,2 시스템(10, 20)이 도시되어 있으나, 당업자라면 2 이상 다수의 시스템간에 본 발명의 실시예에 따라 데이터베이스의 동기화가 가능하다는 것을 이해할 수 있다. 따라서 본 발명은 물리적으로 독립된 2 이상의 시스템 간에 실시간으로 데이터베이스를 동기화시킬 수 있음을 알 수 있다.
도 2는 본 발명의 실시예에 따라 동기화 데이터를 전송하는 과정을 개략적으로 개략적으로 나타내는 도면이다.
도 2를 참조하면, 먼저 본 발명의 실시예에서는 제1 시스템(10)의 어플리케이션부(11)에서 데이터의 변경이 발생하면, 상기 변경된 데이터(동기화 데이터)는 제1 큐(12)를 통하여 동기화 에이전트(13)로 전달된다. 그러면 제1 시스템(10)의 동기화 에이전트(13)는 소켓을 통하여 상기 제2 시스템(20)의 동기화 에이전트(23)으로 데이터를 전송하고, 이어서 상기 데이터는 상기 제2 시스템(20) 제2 큐(26) 및 DBMS 어플리케이션부(27)를 통하여 DBMS(28)로 전달된다. 이후 상기 제2 시스템(20)의 동기화 에이전트(23)은 상기 동기화 데이터를 정상적으로 수신하였음을 확인하기 위하여 상기 제1 시스템(10)의 동기화 에이전트(13)로 수신확인 메시지를 전송함으로써, 상기 제1 시스템(10)과 상기 제2 시스템(20) 사이에 데이터베이스의 동기화가 이루어질 수 있다.
도 3은 본 발명의 실시예에 따라 전송 실패 데이터를 재전송하는 과정을 나타내는 도면이다.
본 발명의 실시예에서는 제1 시스템(10)에서 제2 시스템(20)으로 동기화 데이터를 전송한 후, 통신의 단절 또는 장애에 대비하여 상기 동기화 데이터를 SAF 파일(15)에 저장한다. 이후 동기화 데이터의 전송 실패가 발생한 경우, 상기 제1 시스템(10)의 동기화 에이전트(13)는 상기 SAF 파일(15)에서 데이터를 읽어오고, 이것을 소켓을 통하여 상기 제2 시스템(20)의 동기화 에이전트(23)로 전송한다. 그러면. 상기 데이터는 역시 상기 제2 시스템(20) 제2 큐(26) 및 DBMS 어플리케이션부(27)를 통하여 DBMS(28)로 전달된다. 이후 상기 제2 시스템(20)의 동기화 에이전트(23)은 상기 동기화 데이터를 정상적으로 수신하였음을 확인하기 위하여 상기 제1 시스템(10)의 동기화 에이전트(13)로 수신확인 메시지를 전송한다. 이와 같이 상기 제2 시스템(20)으로부터 동기화 데이터를 정상적으로 수신하였음을 확인한 경우에는 상기 SAF 파일(15)에 저장되어 있던 해당 데이터를 삭제함으로써 데이터 전송의 신뢰성을 향상시킬 수 있다.
도 4는 본 발명의 실시예에 따른 데이터베이스 동기화 인터페이스 과정을 나타내는 도면이다.
본 발명의 실시예에서는 복수의 시스템(10, 20), 즉 제1 시스템(10)과 제2 시스템(20)은 서로 동일한 데이터를 유지할 수 있도록 구성된다. 따라서 하나의 시스템에서 데이터의 변경이 발생한 경우에는 다음과 같이 다른 시스템에 그 변경된 데이터를 전송함으로써 데이터를 갱신할 수 있다.
도 4의 참조번호 400에 도시되 바와 같이, 먼저 제1 시스템(10)의 동기화 에이전트(13)는 데이터를 수신하고(401 단계), 상기 수신되는 데이터의 종류를 판단한다(402 단계).
상기 402 단계에서의 판단 결과, 상기 수신되는 데이터가 큐 데이터인 경우, 즉 어플리케이션부(11)에서 데이터의 변경이 발생하고 이러한 변경 데이터(동기화 데이터)가 제1 큐(12)를 통하여 동기화 에이전트(13)에 수신된 경우에는, 상기 동기화 데이터를 제2 시스템(20)의 동기화 에이전트(23)로 전송한다(403 단계).
이어서 상기 제1 시스템(10)의 동기화 에이전트(13)는 동기화 데이터의 전송이 성공하였는지 여부를 판단하고(404 단계), 동기화 데이터의 전송이 성공한 경우에는 시스템 메모리(14)에 동기화 데이터 정보(전송 인덱스, 데이터, 시간 등)를 저장한다(405 단계).
그러나 상기 404 단계에서 판단한 결과, 동기화 데이터의 전송이 실패한 경우에는 상기 동기화 데이터를 SAF 파일(15)에 저장한다.
참조번호 410은 본 발명의 실시예에 따라 상기 제1 시스템(10)의 동기화 에이전트(13)이 동기화 데이터를 제2 시스템(10)으로 전송한 후, 상기 제2 시스템으로부터 전송되는 수신확인 데이터를 처리하는 과정을 나타낸다.
즉, 상기 402 단계에서 판단한 결과, 상기 제1 시스템(10)의 동기화 에이전트(13)에 수신되는 데이터가 클라이언트 소켓을 통하여 상기 제2 시스템(20)으로부 터 수신되는 데이터라고 판단한 경우에는(411 단계), 상기 동기화 에이전트(13)는 상기 제2 시스템(20)으로부터 전송되는 수신확인 데이터를 수신한다(412 단계). 여기서 '수신확인 데이터'란 상기 제1 시스템(10)에서 상기 제2 시스템(20)으로 전송한 동기화 데이터에 대하여, 다시 상기 제2 시스템(20)에서 상기 제1 시스템으로 상기 동기화 데이터를 수신하였음을 확인하기 위하여 전송하는 데이터를 말한다.
이어서 상기 동기화 에이전트(13)는 상기 수신확인 데이터가 SAF 파일(15)에 저장되어 있던 SAF 데이터인지 여부를 판단한다(413 단계).
상기 413 단계의 판단 결과, 상기 수신확인 데이터가 SAF 파일의 데이터에 대한 수신확인 데이터이면, SAF 파일(15)의 해당 데이터를 삭제한다(414 단계).
그러나 상기 413 단계의 판단 결과, 상기 수신확인 데이터가 SAF 데이터가 이닌 경우에는 시스템 메모리(14) 데이터에 대한 수신확인 데이터이므로, 상기 시스템 메모리(14)에서 해당 데이터 인덱스를 삭제한다(415 단계).
참조번호 420은 본 발명의 실시예에 따라 상기 제1 시스템(10)이 상기 제2 시스템으로부터 동기화 데이터를 수신한 경우의 처리 과정을 나타낸다. 즉, 도4의 데이터 처리과정은 상기 제1 시스템(10)이 상기 제2 시스템(20)로 동기화 데이터를 전송하거나, 반대로 상기 제2 시스템으로부터 동기화 데이터를 수신하는 경우를 모두 나타내고 있다.
즉, 상기 402 단계에서 판단한 결과, 상기 제1 시스템(10)의 동기화 에이전트(13)에 수신되는 데이터가 서버 소켓을 통하여 상기 제2 시스템(20)으로부터 수 신되는 데이터라고 판단한 경우에는(421 단계), 상기 동기화 에이전트(13)는 상기 제2 시스템(20)으로부터 전송되는 '동기화 데이터'를 수신한다(422 단계). 즉, 상기 제1, 2 시스템(10, 20)은 동기화 데이터의 측면에서 클라이언트 및 서버의 역할을 하게 된다. 따라서 어느 한 시스템에서 데이터의 변경이 발생하면 클라이언트로 역할을 하게 되고 다른 시스템을 서버로 간주하여 동기화 데이터를 전송하게 된다.
이어서 상기 동기화 에이전트(13)는 상기 수신된 동기화 데이터를 제2 큐(16) 및 DBMS 인터페이스 어플리케이션부(17)를 통하여 DBMS(18)로 전송한다(423 단계).
상기 동기화 에이전트(13)는 다시 동기화 데이터가 DBMS(18)로 정상적으로 전송이 성공하였는지 여부를 판단한다(424 단계). 상기 424 단계의 판단 결과, 전송이 성공한 경우에는 상기 동기화 에이전트(13)는 상기 동기화 데이터를 전송한 상대방 시스템 즉, 제2 시스템(20)의 동기화 에이전트(23)으로 수신확인 데이터를 전송한다(425 단계). 그러나, 상기 424 단계의 판단 결과, 전송에 실패한 경우에는 수신확인 데이터를 전송하지 않고서 절차를 종료한다.
또한 본 발명의 실시예에서는 상기 시스템(10)은 일정한 시간마다, 예를 들어 동기화 에이전트(13)에 데이터가 수신되지 않는 동안에, 다음과 같이 SAF 파일(15)과 시스템 메모리(14)의 전송한 데이터에 대한 보존 시간 종료 여부를 검사한다(Time-Out Check).
즉, 상기 401 단계에서 판단한 결과, 상기 동기화 에이전트(13)에 일정한 시 간동안 데이터가 수신되지 않는 경우에는(401 단계), 상기 동기화 에이전트(13)는 SAF 파일(15)의 데이터를 읽어온다(Read)(431 단계).
상기 431 단계의 수행 결과, SAF 파일(15)에 데이터가 있으며, 읽어온 데이터를 상대방 시스템, 즉 제2 시스템(20) 동기화 에이전트(23)로 전송한다(432 단계).
이어서 상기 동기화 에이전트(13)는 시스템 메모리(14)에 저장된 전송한 데이터 정보의 시간을 검사한다(Check)(433 단계).
그리고 현재 시간과 상기 시스템 메모리(14)의 데이터 인덱스 시간을 비교하여 임계 시간이 초과하였는지 여부를 판단한다(434 단계).
상기 434 단계의 판단 결과 상기 시스템 메모리(14)에 저장되어 있는 전송 데이터 정보가 임계 시간이 초과한 경우에는, 보존 시간이 종료(Time-Out)한 것으로 간주하고, 보존 시간이 종료한 데이터를 SAF 파일(15)에 저장한다(Write)(435 단계). 즉, 보존 시간이 종료(Time-Out)한 데이터는 상기 제1 시스템(10)이 전송한 동기화 데이터에 대해 상대방 시스템, 즉 제2 시스템(20)의 동기화 에이전트(23)로부터 수신확인 데이터를 수신하지 못한 경우로서, 상대방 시스템에서 동기화 데이터를 정상적으로 처리하지 못한 것으로 간주한다.
그리고 상기 보존 시간이 종료한 데이터에 대하여는 시스템 메모리(14)에서 해당 데이터 인덱스를 삭제한다(436 단계). 그러나 상기 434 단계의 판단 결과 상기 시스템 메모리(14)에 저장되어 있는 전송 데이터 정보가 임계 시간이 초과하지 않은 경우에는, 보존 시간이 종료(Time-Out)되지 않은 것으로 간주하고, 절차를 종 료한다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 동기화 데이터의 포맷을 나타내는 도면이다.
먼저 도 5a는 본 발명의 실시예에 따른 전송 데이터의 포맷을 나타낸다. 상기 전송 데이터는 4bytes의 해더(Header)와, 3bytes의 인덱스(INDEX)와, 3bytes의 데이터 크기를 나타내는 정보와, 실제 데이터가 기재되는 공간을 갖는다.
도 5b는 본 발명의 실시에에 따른 수신 확인 데이터의 포맷을 나타낸다. 상기 수신확인 데이터는 4bytes의 해더(Header)와, 3bytes의 인덱스(INDEX)와, 3bytes의 데이터 크기를 나타내는 정보와, 14bytes의 실제 수신확인 메시지가 기재되는 공간을 갖는다.
본 발명에 따른 데이터베이스 동기화 인터페이스 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현할 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송과 같이 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명에 따르면 물리적으로 독립된 다수의 시스템 중 어느 하나의 시스템에서 데이터의 변경이 발생한 경우, 이를 실시간으로 다른 시스템에 제공함으로써 데이터베이스를 동기화할 수 있고, 또한 다수의 시스템들이 서로 다른 0/S 또는 DBMS를 운용하는 경우에도 용이하게 데이터베이스를 동기화할 수 있는 이점이 있다.
또한 본 발명에 따르면, 물리적으로 독립된 다수의 시스템간에 데이터를 실시간으로 동기화하는 경우에, 송신한 데이터에 대한 수신확인을 함으로써 데이터 전달의 신뢰성이 향상되면서도, 시스템간의 통신 단절/장애 및 데이터 수신 실패에 대비한 임시 파일을 이용함으로써 통신 복구시에 데이터를 동기화할 수 있으므로 데이터베이스의 동기화에 신뢰성이 향상되는 이점이 있다.

Claims (7)

  1. 물리적으로 독립된 복수의 시스템 간에 데이터를 동기화시키기 위한 데이터베이스 동기화 인터페이스 장치에 있어서, 상기 각각의 시스템은,
    데이터의 변경이 발생하는 어플리케이션부;
    상기 어플리케이션부에서 데이터의 변경이 발생한 경우, 상기 변경된 데이터를 상대방 시스템에 전송하고, 상기 상대방 시스템이 정상적으로 수신하였는지 여부를 확인하기 위한 동기화 에이전트;
    상기 동기화 에이전트에 의하여 상기 변경된 데이터가 상기 상대방 시스템에 정상적으로 전송되지 못한 경우, 재전송하여 동기화시킬 수 있도록 상기 변경된 데이터를 임시 저장하는 임시 파일(SAF 파일);
    상기 변경된 데이터를 저장 및 관리하는 데이터베이스 관리부(DBMS);및
    상기 상대방 시스템으로 상기 변경된 데이터를 전송한 후, 소정의 임계시간 동안에 상기 변경된 정상적으로 전송되었는지 여부를 판단하기 위하여 상기 변경된 데이터를 임시로 저장하는 시스템 메모리를 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 장치.
  2. 제1항에 있어서, 상기 각각의 시스템은,
    상기 데이터베이스 관리 시스템(DBMS)에 기록되는 데이터를 기록, 수정 및 삭제하기 위한 DBMS 어플리케이션부;
    상기 어플리케이션부와 상기 동기화 에이전트 사이에 전송되는 데이터를 선입선출 구조로 처리하는 제1 큐;및
    상기 어플리케이션부와 상기 DBMS 어플리케이션부 사이에 전송되는 데이터를 선입선출 구조로 처리하는 제2 큐를 더 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 장치.
  3. 제1항에 있어서, 상기 복수의 시스템은, 서로 소켓을 통하여 통신하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 장치.
  4. 물리적으로 독립된 복수의 시스템 간에 데이터를 동기화시키기 위한 데이터베이스 동기화 인터페이스 방법에 있어서,
    제1 시스템의 동기화 에이전트에 데이터가 수신되는 경우, 상기 수신되는 데이터의 종류를 판단하는 단계;
    상기 데이터 종류 판단 결과, 상기 수신되는 데이터가 어플리케이션부에서 발생한 동기화 데이터인 경우에는, 상기 동기화 데이터를 제1 시스템의 데이터 시스템 관리부(DBMS)와 제2 시스템의 동기화 에이전트로 전송하는 단계;
    상기 제1 시스템의 동기화 에이전트는 상기 동기화 데이터가 정상적으로 전송되었는지 여부를 판단하는 단계;
    상기 동기화 데이터의 전송이 성공한 경우에는 시스템 메모리에 상기 동기화 데이터 정보를 저장하고, 만약 상기 동기화 데이터의 전송이 실패한 경우에는 상기 동기화 데이터를 임시 파일(SAF 파일)에 저장하는 단계;및
    상기 제1 시스템의 동기화 에이전트는 상기 시스템 메모리에 저장된 전송한 데이터 정보의 시간을 검사하여, 소정의 임계시간이 초과한 경우에는 보존 시간이 종료한 데이터를 상기 SAF 파일에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 방법.
  5. 제4항에 있어서,
    상기 제2 시스템은 상기 제1 시스템으로부터 동기화 데이터를 수신한 경우, 상기 동기화 데이터를 내부의 데이터베이스 관리부(DBMS)로 전달하는 단계;및
    상기 제2 시스템은 상기 동기화 데이터가 정상적으로 수신되었음을 확인하기 위하여 상기 제1 시스템으로 수신확인 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 방법.
  6. 제4항 또는 제5항에 있어서,
    상기 제1 시스템의 동기화 에이전트에 일정한 시간 동안 데이터가 수신되지 않는 경우에는, 상기 SAF 파일의 데이터를 읽어 와서 상기 제2 시스템으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 방법.
  7. 제6항에 있어서,
    상기 제1 시스템은 상기 제2 시스템으로부터 수신확인 데이터를 수신한 경우에는, 상기 수신확인 데이터가 SAF 파일의 데이터에 대한 것인지 여부를 판단하는 단계;및
    상기 수신확인 데이터가 SAF 파일의 데이터에 대한 것인 경우에는 상기 SAF 파일에 저장된 해당 데이터를 삭제하고, 그렇지 않은 경우에는 시스템 메모리에 저장된 해당 데이터 인덱스를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 데이터베이스 동기화 인터페이스 방법.
KR1020040068125A 2004-08-27 2004-08-27 데이터베이스 동기화 인터페이스 장치 및 방법 KR100608394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040068125A KR100608394B1 (ko) 2004-08-27 2004-08-27 데이터베이스 동기화 인터페이스 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040068125A KR100608394B1 (ko) 2004-08-27 2004-08-27 데이터베이스 동기화 인터페이스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060019439A KR20060019439A (ko) 2006-03-03
KR100608394B1 true KR100608394B1 (ko) 2006-08-09

Family

ID=37126835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068125A KR100608394B1 (ko) 2004-08-27 2004-08-27 데이터베이스 동기화 인터페이스 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100608394B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230139668A (ko) 2022-03-28 2023-10-05 주식회사 티맥스티베로 데이터베이스의 재인스턴스화를 구현하기 위한 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101410151B1 (ko) * 2007-02-02 2014-06-19 우베 마테리알즈 가부시키가이샤 청색 발광 형광체 분말 및 그 제조 방법
KR20130119104A (ko) * 2012-04-23 2013-10-31 삼성에스디에스 주식회사 이기종 공간 데이터베이스간 지리 정보 데이터 동기화 시스템 및 방법
KR101400214B1 (ko) * 2013-01-28 2014-05-28 주식회사 알티베이스 Hybrid C 인터페이스를 지원하는 장치
KR102322121B1 (ko) * 2015-06-04 2021-11-05 주식회사 메이엔 재해복구 자동화 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH102418A (ja) 1996-06-14 1998-01-06 Miura Co Ltd 圧力容器用密閉扉

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH102418A (ja) 1996-06-14 1998-01-06 Miura Co Ltd 圧力容器用密閉扉

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1019990078538 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230139668A (ko) 2022-03-28 2023-10-05 주식회사 티맥스티베로 데이터베이스의 재인스턴스화를 구현하기 위한 방법

Also Published As

Publication number Publication date
KR20060019439A (ko) 2006-03-03

Similar Documents

Publication Publication Date Title
KR100359960B1 (ko) 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법
JP3932994B2 (ja) サーバ引継システムおよびその方法
KR101694980B1 (ko) 데이터 분산 처리 장치 및 방법, 그리고 스토리지 서버
JP3718471B2 (ja) 完全な再ミラーリングのないクラッシュリカバリ
US6763436B2 (en) Redundant data storage and data recovery system
EP2183677B1 (en) System and method for remote asynchronous data replication
JP4160642B2 (ja) ネットワークデータ転送方法
US5802062A (en) Preventing conflicts in distributed systems
US6928577B2 (en) Consistent message ordering for semi-active and passive replication
US7849199B2 (en) Content router
US20070180307A1 (en) Method & system for resynchronizing data between a primary and mirror data storage system
US20070014307A1 (en) Content router forwarding
US20070028293A1 (en) Content router asynchronous exchange
WO1991014230A1 (en) Message communication processing system
CN113542402B (zh) 文件传输方法、装置、系统、电子设备及存储介质
US7555558B1 (en) Method and system for fault-tolerant transfer of files across a network
US7987154B2 (en) System, a method and a device for updating a data set through a communication network
KR20020010324A (ko) 이중화 시스템 환경에서 데이터 동기화를 위한 트랜잭션관리 방법
US9319267B1 (en) Replication in assured messaging system
EP2362594A1 (en) Data storage method and mail relay method of storage system in mail system
JP2012510759A (ja) リンクデータ伝送方法、ノードおよびシステム
US20100058355A1 (en) Firewall data transport broker
JP2005182683A (ja) データ転送方法及びシステム並びにプログラム
CN111416823A (zh) 一种数据传输方法和装置
KR100608394B1 (ko) 데이터베이스 동기화 인터페이스 장치 및 방법

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
FPAY Annual fee payment

Payment date: 20130607

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140611

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150605

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160607

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170609

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180704

Year of fee payment: 13