KR100521742B1 - 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법 - Google Patents

엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법 Download PDF

Info

Publication number
KR100521742B1
KR100521742B1 KR10-2003-0092525A KR20030092525A KR100521742B1 KR 100521742 B1 KR100521742 B1 KR 100521742B1 KR 20030092525 A KR20030092525 A KR 20030092525A KR 100521742 B1 KR100521742 B1 KR 100521742B1
Authority
KR
South Korea
Prior art keywords
xml
database
xml document
server
attribute information
Prior art date
Application number
KR10-2003-0092525A
Other languages
English (en)
Other versions
KR20050060803A (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 KR10-2003-0092525A priority Critical patent/KR100521742B1/ko
Priority to US10/821,870 priority patent/US20050138048A1/en
Publication of KR20050060803A publication Critical patent/KR20050060803A/ko
Application granted granted Critical
Publication of KR100521742B1 publication Critical patent/KR100521742B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying

Landscapes

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

Abstract

본 발명에서는 XML 처리 기술을 탑재한 데이터베이스 시스템의 XML 문서를 물리적으로 떨어져있는 다른 서버로 복제함으로써, 점차 다양해지는 인터넷 환경에서 저비용으로 효과적인 응용 서비스를 중단 없이 제공하기 위한 XML 데이터베이스 이중화 장치 및 방법에 관한 것으로, 본 발명에 따르면, 원본 서버의 데이터베이스에 저장된 XML 문서들을 복제 서버의 데이터베이스로 복제할 때 XML 문서에 포함된 구조 및 속성 정보들을 그대로 유지하는 특성을 가지고 있기 때문에, 각각의 복제 서버에서도 XML 질의 언어가 제공하는 내용 및 속성 기반의 검색을 지원할 뿐만 아니라, 원본 서버에서 집중되던 사용자의 질의를 다수의 복제 서버로 분산하여 응용 프로그램의 서비스 요구를 처리할 수 있다.

Description

엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘 문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스 이중화 장치 및 그 방법{XML DATABASE DUPLICATING APPARATUS FOR COPYING XML DOCUMENT TO REMOTE SERVER WITHOUT LOSS OF STRUCTURE AND ATTRIBUTE INFORMATION OF XML DOCUMENT AND METHOD THEREFOR}
본 발명은 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치 및 그 방법에 관한 것으로, 특히 원본 데이터베이스에서 관리하는 XML 데이터들을 원래 문서가 가진 내용 뿐만아니라, XML 문서가 내포하고 있는 구조 및 속성 정보들의 의미를 잃지 않으면서 물리적으로 상이한 다른 서버로 복제가 가능한 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치 및 그 방법에 관한 것이다.
현재, HTML(Hyper Text Markup Language)과 SGML(Standard Generalized Markup Language)의 단점을 개선하여 만들어진 차세대 인터넷 전자 문서 표준인 XML(eXtensible Markup Language)은 플랫폼에 독립적이며, 정보의 전송과 교환이 쉽고 문서의 풍부한 의미를 그대로 나타낼 수 있다는 장점을 갖고 있어, 1998년 2월에 W3C에서 권고안으로 채택된 이후 XML의 활용이 점차 활발해지고 있다.
또한, 인터넷을 통한 응용이 다양해 짐에 의해 XML 문서의 생성 및 유통이 급격하게 증가함에 따라 대량의 XML 문서를 관리할 필요성이 증대하고 있으며, 이에 따라 XML 문서 관리 시스템에 대한 관심이 높아지고 있다. XML 문서 관리 시스템은 파일 시스템을 기반으로 한 시스템에서 점차 데이터베이스 시스템을 기반으로 한 시스템으로 발전하고 있다. 이는 관리되는 문서의 양이 많아짐에 따라 문서의 빠른 검색, 여러 사용자간의 공유, 백업 및 고장시 복구 등 기존 데이터베이스 관리 기능이 필요하게 되었기 때문이다. 현재 많은 XML 문서 관리 시스템이 기존의 데이터베이스 시스템을 활용하여 상기와 같은 XML 관리 기능을 제공하고 있다. 즉, XML 문서를 데이터베이스 시스템에서 제공하는 자료 모델로 변환하여 저장하는 XML 저장기와 XML 문서에 대한 질의 언어를 데이터베이스 질의 언어로 변환하여 데이터베이스 시스템에 전달하여 처리하도록 하는 XML 문서 검색기를 데이터베이스 시스템에 탑재하여 구성하고 있다.
한편, 응용 프로그램에 대한 사용자의 요구가 다양해 짐에 따라 XML 문서가 표현하는 종류 및 양이 방대해지게 되어 하나의 데이터베이스 서버에서 모든 사용자의 요청을 처리하는 시스템에서는 사용자의 응답 요청에 대해 빠른 대응을 하기 어려운 문제점이 있다. 특히, E-Business, Portal Service와 같이 다수의 사용자가 실시간 서비스를 원하는 환경에서는 시스템 성능이 저하되어 사용자의 요구에 대한 처리가 늦어지거나, 심지어 서버가 비정상적인 상황이 발생하여 서비스가 중단 된다면 사용자로부터 신뢰를 잃게 되어 막대한 손실을 입게 될 것이다.
이러한 단일 서버 데이터베이스의 문제를 해결하기 위한 방법으로 데이터베이스 클러스터링, 데이터베이스 이중화와 같은 기술들이 연구 되고 있다.
데이터베이스 클러스터링 기술의 경우 다수의 서버를 논리적으로 결합하여 서비스를 제공함으로써 인터넷 환경에서 급격하게 증가하는 데이터들에 대해 신속한 처리가 가능할 뿐만 아니라, 하드웨어 확장, 소프트웨어 업그레이드, 운영체제 업그레이드, 시스템 고장과 같이 시스템이 정상적으로 동작할 수 없는 환경에서도 클러스터 내의 활성 서버를 이용하여 중단 없는 서비스를 제공할 수 있다. 그러나, 이 방법의 경우 클러스터링 환경을 구축하기 위해 고가의 장비를 요구할 뿐만 아니라 지역적인 제약사항으로 인해 단일점 오류(Single Point Failure)의 한계를 가지고 있어 다양한 형태의 인터넷 서비스에 적용하기에 어려운 점이 있는 실정이다.
이에 따라, 인터넷 환경에서 저비용으로 효과적인 응용 서비스를 중단 없이 제공하기 위한 방법으로 하나의 단일 데이터베이스 시스템보다는 다수의 서버로 복제된 데이터베이스를 이용하여 응용서비스를 제공하는 데이터베이스 이중화 기술이 요구되고 있다.
Oracle DBMS(Database Management System)는 초기에 복제 서버에서 주어진 시점에 원본 서버의 데이터를 복사하는 방법으로 스냅샷을 제공하였고, 변경데이터에 대하여 시간 주기 또는 요청에 의해 복제 데이터베이스에 반영하는 방법을 채택하였다. 그 이후 대칭 복제(Symmetric Replication)을 제공하여 중복 데이터를 관리할 수 있도록 하였다. 이에 따르면, 원본 서버에서 변경된 데이터를 트리거(Trigger) 또는 저장된 절차(Stored Procedure)에 의해 복제 서버에 전송하여 변경된 데이터의 동기화를 유지하며, 주어진 시점에 하나의 서버에서만 변경이 가능한 동적 오너십(Dynamic Ownership) 과 다중 서버에서 동시에 변경이 가능한 공유 오너십(Shared Ownership)을 제공한다. Oracle DBMS에서 이중화 대상은 데이터베이스 테이블 단위로 지정할 수 있다. 그러나, 복제 대상 테이블을 구성하는 필드의 타입을 VARCHAR, NUMBER, DATE, TIMESTAMP, RAW, RAWID, CHAR, BLOB, CLOB, NCLOB 과 같이 제한하고 있어, XML 문서에 대해 이중화를 제공하기 위해서는 사용자가 응용프로그램을 직접 작성하는 방법을 통해 가능할 수 있으나, 이렇게 할 경우 XML 문서가 가지는 속성 및 구조 정보들에 대한 손실 없이 복제를 수행 하기에 어려워 오히려 비효율적인 결과를 초래할 수 있다.
Microsoft SQL-Server 는 스냅샷 복제, 트랜잭션 복제, 병합 복제와 같이 다양한 데이터베이스 복제 유형을 제공함으로써 원본 서버에 저장된 데이터베이스를 물리적으로 상이한 다른 서버로 복제하는 기술을 제공하고 있다. 그러나 Oracle DBMS와 같이 일반 데이터 타입을 가지는 테이블에 대해서만 복제를 허용하고 XML 문서에 대해서는 복제가 불가능한 문제점을 가지고 있다.
따라서, 본 발명은 원본 데이터베이스에서 관리하는 XML 데이터들을 원래 문서가 가진 내용 뿐만아니라, XML 문서가 내포하고 있는 구조 및 속성 정보들의 의미를 잃지 않으면서 물리적으로 상이한 다른 서버로 복제가 가능하도록 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치 및 그 방법을 제공하는 데에 있다.
이와 같은 본 발명의 목적을 달성하기 위한 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치는, 클라이언트 응용 프로그램에 의해 원본 데이터베이스에서 XML 문서들에 대한 변경이 일어나면, 이중화 대상 XML 문서의 영속 클래스들에 대한 변경 정보만을 가공하여 전송하는 원본 서버와, 상기 원본 서버에서 전송된 변경 정보들을 이용하여 복제 데이터베이스의 영속 클래스에 적용하여 동기화를 유지하는 하나 이상의 복제 서버를 포함하여 이루어지는 것을 특징으로 한다.
또한, 이와 같은 본 발명의 목적을 달성하기 위한 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법은, 특정 서버의 스키마 의존적인 저장구조를 갖는 XML 데이터베이스에 저장된 XML 문서들을 물리적으로 상이한 다른 서버의 데이터베이스에 복제하는 방법에 있어서, 원본 서버에서 복제 대상이 되는 XML 스키마를 정의하고 해당 스키마에 해당하는 내부 테이블들을 정의하는 제 1 단계, 사용자에 의해 XML 문서의 삽입, 삭제, 변경 연산이 일어날 경우, 원본 서버에서 변경 로그를 기록하는 제 2 단계, 복제 서버로 변경된 항목을 전송하기 위해, 원본 서버에서 업데이트 로그 데이터베이스로부터 전송 버퍼를 구성하는 제 3 단계, 복제 서버에서 최적화된 변경사항의 반영을 위해 변경 연산들을 단일 트랜잭션으로 처리하는 제 4 단계, 및 복제 서버에서 변경된 원본 XML 문서에 대해 그 구조 및 속성 정보를 유지하면서 복제 데이터베이스에 반영하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
도 1은 본 발명의 실시예에서 스키마 의존적인 저장구조를 갖는 XML 데이터베이스의 XML 문서 저장 구조도를 도시한 것이다.
일반적으로, XML 문서를 관계형 또는 객체관계형 데이터베이스에 저장 시에는, 데이터베이스 내에 XML 문서를 저장하기 위한 저장 테이블 또는 저장 클래스를 생성하게 된다. 그 생성되는 클래스는 DTD 또는 XML 스키마의 의존성 여부에 따라 다음과 같이 분류가 된다. 공통(Generic) 클래스(110)는 XML 스키마에 독립적으로 생성되는 저장 클래스이고, 스키마 공통(Schema Generic) 클래스(112)는 XML 스키마 이름에 의존하여 생성되나 스키마 구성 요소에는 독립적인 저장 클래스이며, 스키마 의존(Schema Dependent) 클래스(113)는 XML 스키마의 이름 및 스키마 구성 요소에 의존하여 생성되는 저장 클래스이다. 또한, 이러한 클래스들이 실제 데이터베이스 내에 물리적인 객체를 갖는지 여부에 따른 구분에 의하면, 가상(Virtual) 클래스(111)는 일반적 속성을 정의하여 영속(Persistent) 클래스에 계승하기 위한 저장 클래스이며 실제 객체를 갖지 않고, 영속(Persistent) 클래스(114)는 XML 문서의 구조 및 내용을 데이터베이스에 실제 저장하기 위한 저장 클래스이다.
본 발명에 따른 XML 데이터베이스 이중화 방법에 따르면, 상기 XML 문서를 표현하는 클래스들 구조에서 원본 데이터베이스에 저장된 하나의 XML 문서가 또 다른 서버의 복제된 데이터베이스에서도 그 구조와 속성을 보존하기 위해서는 영속(Persistent) 클래스(114)들을 이중화 대상 객체의 집합으로 정의하고, 이들의 변경 사항에 대한 관리를 통해 원본 서버와 복제 서버의 데이터베이스 일관성을 유지해야 한다. 그 이유는 가상(Virtual) 클래스(111)는 실제 데이터베이스에 저장되는 물리적 객체가 아니라 영속(Persistent) 클래스(114)에 기반하여 필요 시 메모리에 관리하는 정보이기 때문에, XML 문서의 구조 및 속성 정보가 손실되지 않기 위해서는 물리적인 실체를 가진 영속(Persistent) 클래스(114)에 대한 변경 사항을 관리해야 하는 특성을 가진다.
도 2는 본 발명의 실시예에 따른 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치의 개략적인 구성도를 도시한 것이다.
본 발명의 실시예에 따른 XML 데이터베이스 이중화장치는, 데이터베이스 관리 프로세스가 동작하기 위한 컴퓨팅 시스템들이 존재하는 환경에서, XML 문서(210)에 대한 삽입, 삭제, 변경 연산을 수행하는 원본 사이트(211)와, 상기 원본 사이트(211)의 원본 데이터베이스와 동일한 데이터를 이용하여 XML 문서에 대한 검색 연산을 제공하는 다수의 복제 사이트(212-214)로 구성된다.
이와 같이 구성된 본 발명의 실시예에 따른 XML 데이터베이스 이중화장치의 동작을 상세히 설명하면 다음과 같다.
먼저, 클라이언트 응용 프로그램에 의해 원본 데이터베이스에서 XML 문서들에 대한 변경이 일어나면, 복제를 담당하는 프로세스에 의해 이중화 대상 XML 문서의 Persistent 클래스(114)들에 대한 변경 정보만을 가공하여 복제 사이트(212-214)의 복제 데이터베이스로 전송한다. 이후, 복제 사이트(212-214)에서는 원본 사이트(211)에서 전송 받은 변경 정보들을 이용하여 복제 데이터베이스의 Persistent 클래스(114)에 적용하여 동기화를 유지한다.
도 3은 본 발명의 실시예에 따른 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치의 상세 구성도를 도시한 것이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치는 클라이언트 응용 프로그램에 의해 원본 데이터베이스에서 XML 문서들에 대한 변경이 일어나면, 이중화 대상 XML 문서의 영속 클래스들에 대한 변경 정보만을 가공하여 전송하는 원본 서버(300)와, 상기 원본 서버(300)에서 전송된 변경 정보들을 이용하여 복제 데이터베이스의 영속 클래스에 적용하여 동기화를 유지하는 하나 복제 서버(400)로 구성된다.
상기 원본 서버(300)는 XML 관리기(310)과, XML 스키마 카탈로그 모니터(314)와, XML 문서에 대한 변경이 일어나면 XML 문서를 원본 데이터베이스(315)에 저장한 후, 상기 XML 스키마 카탈로그 모니터(314)에서 정의된 영속 클래스들의 정보를 업데이트 로그 데이터베이스(316)에 저장하는 데이터베이스 엔진(311)과, 상기 업데이트 로그 데이터베이스(316)에 저장된 영속 클래스들의 정보를 가공하여 전송 버퍼를 구성하여 전송하는 업데이트 로그 추출기(313)와, 상기 업데이트 로그 추출기(313)에서 구성된 전송 버퍼를 상기 복제 서버(400)에 전송하는 전송기(312)로 구성된다.
상기 복제 서버(400)는 상기 원본 서버에서 전송된 전송 버퍼를 수신하는 수신기(320)와, 상기 수신된 전송 버퍼를 단일 트랙잭션으로 간주하여 복제 데이터베이스(325)에 반영하는 업데이트 로그 실행기(322)와, XML 스키마 카탈로그 모니터(321)과, XML 관리기(323)와, 데이터베이스 엔진(324)로 구성된다.
이와 같이 구성된 본 발명의 실시예에 따른 XML 데이터베이스 이중화 장치의 동작을 상세히 설명하기로 한다.
먼저, 원본 서버(300)에서 XML 문서에 대한 변경이 일어나면, 데이터베이스 엔진(311)에서는 XML 문서를 원본 데이터베이스(315)에 저장한 후에, XML 스키마 카탈로그 모니터(314)에 의해 정의된 Persistent 클래스들의 정보를 업데이트 로그 데이터베이스(316)에 저장한다. 이후, 업데이트 로그 추출기(313)는 그 저장된 변경 정보를 가공하여 복제 서버(400)의 수신기(320)로 전달한다. 복제 서버(400)에서는 그 전달 받은 Persistence 클래스를 변경 로그 실행기(322)를 이용하여 복제 데이터베이스(325)에 반영한다.
도 4는 도 3에서의 원본 서버에서 정의되는 XML 스키마의 관리를 위한 테이블도를 도시한 것이다.
도 4에 도시된 바와 같이, XML 스키마의 네임스페이스와 XML 스키마 문서 파일의 파일명의 조합은 데이터베이스 내에서 유일하게 정의하고, 원본 서버의 XML 데이터베이스를 또 다른 서버로 복제하는 대상의 가장 상위 개념을 XML 스키마로 정의한다. 이에 따라, 복제할 XML 문서를 관리하기 위해서는, 복제 서버의 주소(ServerName), XML 스키마 이름(XMLSchema), 마지막으로 복제서버에 반영된 로그 위치 정보(TransferLSN), 상태 정보(Status) 등이 필수적으로 요구된다.
도 5는 도 4에서의 복제 대상으로 정의한 XML 스키마에 속하는 영속(Persistent) 클래스들을 표현하기 위한 테이블도를 도시한 것이다.
도 5에 도시된 바와 같이, 복제할 대상 XML 스키마에 속하는 Persistent 클래스들의 정보를 기록하고, 이후 상기 테이블에 기록된 클래스들에 변경이 일어날 경우를 감지하여 복제 서버에 반영한다.
도 6은 도 3에서의 업데이트 로그 추출기에서 전송 버퍼를 구성하는 방법을 설명하기 위한 도면을 도시한 것이다.
도 6에 도시된 바와 같이, 트랜잭션 T1은 XML 문서를 삽입하는 역할을 수행하고, 트랜잭션 T2는 기존에 저장된 XML문서에 대해 변경을 수행한다. 이때, 변경하려는 XML 문서가 도 4의 테이블에 등록된 XML 스키마를 따르는 문서인 경우는 복제할 대상임을 의미하기 때문에, 복제 서버(300)에 그 변경 연산을 반영하기 위해 persistent 클래스의 변경 정보를 업데이트 로그 데이터베이스(316)에 기록한다(613). 이후, 업데이트 로그 추출기(313)에 의해 복제 서버(400)로 보내기 위한 전송 버퍼(612)를 구성하며, 네트워크로 전송하기 위한 효율을 최적화 하기 위해 실제 변경 정보만을 담고 있는 로그만을 트랜잭션 순서에 준하여 추출한 후 전송 버퍼(612)를 구성한다.
도 7은 도 3에서의 업데이트 로그 실행기에서 업데이트된 정보를 복제 데이터베이스에 반영하는 방법을 설명하기 위한 도면을 도시한 것이다.
도 7에 도시된 바와 같이, 원본 서버(300)에서 다수의 트랜잭션에 의해 변경된 정보들이 업데이트 로그 추출기(313)에 의해 가공되어 복제 서버(400)에 전달되면, 복제 서버(400)의 업데이트 로그 실행기(322)에서는 전송된 버퍼(710)에 대해서 단일 트랜잭션으로 간주하고 복제 데이터베이스(325)에 반영한다. 만일 전송 버퍼의 모든 변경 연산에 대해 개별적 트랜잭션으로 처리하게 되면, 트랜잭션 오류 또는 시스템 오류가 날 경우 동시성을 유지하기 위해서 마지막으로 수행한 연산의 정보를 항상 추적하고 있어야 하기 때문에 비효율적이다. 이러한 문제를 해결하기 위한 본 발명에 따르면, 전송 버퍼의 연산들을 단일 트랜잭션으로 처리함으로써 복제 데이터베이스로의 빠른 반영을 할 수 있는 이점이 있고, 각종 오류 상황에 대비하기 위해 처리해야 하는 부가적인 일의 양이 감소한다. 또한 복제 데이터베이스에 변경 정보의 반영이 완료되면, 네트워크 오류 등으로 인한 재전송 등의 문제를 방지하기 위해 원본서버에 반영 성공 여부를 통지한다.
이와 같은 본 발명은 XML 데이터베이스를 물리적으로 상이한 다른 서버의 데이터베이스에 복제하는데 있어서, 본래의 XML 문서가 가진 내용 뿐만아니라 문서의 구조 및 속성 정보들을 손실하지 않도록 함으로써, 각각의 복제 서버에서도 XML 질의 언어가 제공하는 내용 및 속성 기반의 검색을 지원할 뿐만아니라, 원본 서버에서 집중되던 사용자의 질의를 다수의 복제 서버로 분산하여 서비스의 질을 크게 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에서 스키마 의존적인 저장구조를 갖는 XML 데이터베이스의 XML 문서 저장 구조도.
도 2는 본 발명의 실시예에 따른 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치의 개략적인 구성도.
도 3은 본 발명의 실시예에 따른 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치의 상세 구성도.
도 4는 도 3에서의 원본 서버에서 정의되는 XML 스키마의 관리를 위한 테이블도.
도 5는 도 4에서의 복제 대상으로 정의한 XML 스키마에 속하는 영속(Persistent) 클래스들을 표현하기 위한 테이블도.
도 6은 도 3에서의 업데이트 로그 추출기에서 전송 버퍼를 구성하는 방법을 설명하기 위한 도면.
도 7은 도 3에서의 업데이트 로그 실행기에서 업데이트된 정보를 복제 데이터베이스에 반영하는 방법을 설명하기 위한 도면.

Claims (10)

  1. 클라이언트 응용 프로그램에 의해 원본 데이터베이스에서 XML 문서들에 대한 변경이 일어나면, 이중화 대상 XML 문서의 영속 클래스들에 대한 변경 정보만을 가공하여 전송하는 원본 서버와;
    상기 원본 서버에서 전송된 변경 정보들을 이용하여 복제 데이터베이스의 영속 클래스에 적용하여 동기화를 유지하는 하나 이상의 복제 서버를 포함하여 이루어지는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치.
  2. 제 1 항에 있어서,
    상기 원본 서버는 XML 문서에 대한 변경이 일어나면 XML 문서를 원본 데이터베이스에 저장한 후, XML 스키마 카탈로그 모니터에서 정의된 영속 클래스들의 정보를 업데이트 로그 데이터베이스에 저장하는 데이터베이스 엔진과;
    상기 업데이트 로그 데이터베이스에 저장된 영속 클래스들의 정보를 가공하여 전송 버퍼를 구성하여 전송하는 업데이트 로그 추출기와;
    상기 업데이트 로그 추출기에서 구성된 전송 버퍼를 상기 각각의 복제 서버에 전송하는 전송기로 구성되는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치.
  3. 제 1 항에 있어서,
    상기 각 복제 서버는 상기 원본 서버에서 전송된 전송 버퍼를 수신하는 수신기와;
    상기 수신된 전송 버퍼를 단일 트랙잭션으로 간주하여 복제 데이터베이스에 반영하는 업데이트 로그 실행기로 구성되는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 장치.
  4. 특정 서버의 스키마 의존적인 저장구조를 갖는 XML 데이터베이스에 저장된 XML 문서들을 물리적으로 상이한 다른 서버의 데이터베이스에 복제하는 방법에 있어서,
    원본 서버에서 복제 대상이 되는 XML 스키마를 정의하고 해당 스키마에 해당하는 내부 테이블들을 정의하는 제 1 단계;
    사용자에 의해 XML 문서의 삽입, 삭제, 변경 연산이 일어날 경우, 원본 서버에서 업데이트 로그를 기록하는 제 2 단계;
    복제 서버로 변경된 항목을 전송하기 위해, 원본 서버에서 업데이트 로그 데이터베이스로부터 전송 버퍼를 구성하는 제 3 단계;
    복제 서버에서 최적화된 변경사항의 반영을 위해 변경 연산들을 단일 트랜잭션으로 처리하는 제 4 단계; 및
    복제 서버에서 변경된 원본 XML 문서에 대해 그 구조 및 속성 정보를 유지하면서 복제 데이터베이스에 반영하는 제 5 단계를 포함하여 이루어진 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  5. 제 4 항에 있어서,
    상기 복제할 대상 XML 문서들을 정의할 때, 복제 대상의 최상위 단위로서 XML 문서들의 구조를 기술한 XML 스키마를 이용하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  6. 제 4 항에 있어서,
    상기 원본 서버에서 변경된 XML 문서를 로그에 기록할 때, 정의된 XML 스키마에 따르는 영속 클래스를 이용하여 복제할 실제 물리적 테이블의 정보를 구성하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  7. 제 4 항에 있어서,
    상기 원본 서버에서 XML 문서를 변경할 때, 정의된 XML 스키마에 따르는 XML 문서인지 검증하고, 그 검증된 XML 문서의 변경 연산에 대해 업데이트 로그 데이터베이스에 기록하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  8. 제 4 항에 있어서,
    상기 변경 로그를 기록할 때, XML 문서를 구성하는 클래스 중에서 영속 클래스의 변경에 대해서만 업데이트 로그 데이터베이스에 기록하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  9. 제 4 항에 있어서,
    상기 복제 서버로 전달하기 위한 전송 버퍼를 구성할 때, 마지막 전송한 로그 위치 이후의 변경사항에 대해서 추출하고, 그 추출된 로그 중에서 네트워크 전송 효율을 최적화 하기 위해 BOT(Begin Of Transaction), EOT(End Of Transaction) 형식의 로그를 제거하고, 트랜잭션이 수행된 순서에 따라 전송 버퍼를 구성하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
  10. 제 4 항에 있어서,
    상기 전송된 업데이트 로그를 실행할 때, 그 전송된 업데이트 로그가 다수의 트랜잭션에 의한 결과인지의 여부와는 무관하게, 단일 트랜잭션으로 간주하여 복제 데이터베이스에 반영하는 것을 특징으로 하는 XML 문서의 구조 및 속성 정보의 손실 없이 XML 문서를 원격 서버로 복제하는 XML 데이터베이스 이중화 방법.
KR10-2003-0092525A 2003-12-17 2003-12-17 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법 KR100521742B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-0092525A KR100521742B1 (ko) 2003-12-17 2003-12-17 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법
US10/821,870 US20050138048A1 (en) 2003-12-17 2004-04-12 XML database duplicating apparatus for copying XML document to remote server without loss of structure and attribute information of XML document and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0092525A KR100521742B1 (ko) 2003-12-17 2003-12-17 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050060803A KR20050060803A (ko) 2005-06-22
KR100521742B1 true KR100521742B1 (ko) 2005-10-17

Family

ID=34675769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0092525A KR100521742B1 (ko) 2003-12-17 2003-12-17 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20050138048A1 (ko)
KR (1) KR100521742B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870112B2 (en) * 2004-06-30 2011-01-11 Oracle International Corporation Efficient memory usage for unified document object model implementation for Java
US7587415B2 (en) * 2005-03-14 2009-09-08 Microsoft Corporation Single-pass translation of flat-file documents into XML format including validation, ambiguity resolution, and acknowledgement generation
US7467149B2 (en) * 2005-03-14 2008-12-16 Microsoft Corporation Complex syntax validation and business logic validation rules, using VAXs (value-added XSDs) compliant with W3C-XML schema specification
US7761481B2 (en) * 2005-03-14 2010-07-20 Microsoft Corporation Schema generator: quick and efficient conversion of healthcare specific structural data represented in relational database tables, along with complex validation rules and business rules, to custom HL7XSD with applicable annotations
JP4003789B2 (ja) * 2005-08-22 2007-11-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理方法および装置
US7853573B2 (en) * 2006-05-03 2010-12-14 Oracle International Corporation Efficient replication of XML data in a relational database management system
KR101281387B1 (ko) * 2006-08-16 2013-07-02 삼성전자주식회사 Xml 문서의 위치 기술을 이용하여 xdm 문서 관리 기능을 구현하기 위한 장치 및 방법
US20080071887A1 (en) * 2006-09-19 2008-03-20 Microsoft Corporation Intelligent translation of electronic data interchange documents to extensible markup language representations
US20080071806A1 (en) * 2006-09-20 2008-03-20 Microsoft Corporation Difference analysis for electronic data interchange (edi) data dictionary
KR101525220B1 (ko) * 2007-09-28 2015-06-10 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
US20090319653A1 (en) * 2008-06-20 2009-12-24 International Business Machines Corporation Server configuration management method
KR101596506B1 (ko) * 2009-07-06 2016-02-23 에릭슨 엘지 주식회사 통신 데이터 통합 관리 방법 및 시스템
KR101903039B1 (ko) * 2016-11-21 2018-10-01 (주)솔트웍스 문서 통합 관리 시스템을 위한 동기화 장치
CN107729506A (zh) * 2017-10-23 2018-02-23 郑州云海信息技术有限公司 一种存储介质和日志级别的动态调整方法、装置及系统
CN113392074B (zh) * 2021-07-13 2022-07-05 山东大学 一种采用内存文档的物联网设备安全管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
JPH10161916A (ja) * 1996-11-28 1998-06-19 Hitachi Ltd データベースの複製に伴う更新競合の検出方法
US6826726B2 (en) * 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM
US6671695B2 (en) * 2001-06-18 2003-12-30 The Procter & Gamble Company Dynamic group generation and management
US7739223B2 (en) * 2003-08-29 2010-06-15 Microsoft Corporation Mapping architecture for arbitrary data models
US7207002B2 (en) * 2003-11-13 2007-04-17 International Business Machines Corporation Serialization and preservation of objects

Also Published As

Publication number Publication date
KR20050060803A (ko) 2005-06-22
US20050138048A1 (en) 2005-06-23

Similar Documents

Publication Publication Date Title
US11461356B2 (en) Large scale unstructured database systems
KR100462839B1 (ko) 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법
US6622152B1 (en) Remote log based replication solution
US8504523B2 (en) Database management system
US7546284B1 (en) Virtual message persistence service
US7441049B2 (en) Simplified application object data synchronization for optimized data storage
KR100521742B1 (ko) 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법
US4714995A (en) Computer integration system
US20130110873A1 (en) Method and system for data storage and management
KR20200100173A (ko) 데이터베이스 시스템 내의 데이터 복제 및 데이터 장애 조치
US20110119236A1 (en) Central database server apparatus and method for maintaining databases on application servers
KR20080102622A (ko) Dbms에서의 데이터 복제 방법 및 시스템
WO2001025965A2 (en) Data management for netcentric computing systems
JP2002244907A (ja) 複製管理方法及び装置
KR102598619B1 (ko) 데이터베이스 관리 서비스 제공 시스템
US7624376B1 (en) Integration of COTS software data stores into integrated data access layer
US20030115202A1 (en) System and method for processing a request using multiple database units
KR20050064278A (ko) 데이터베이스 이중화 장치 및 그 방법
KR20090041624A (ko) 액티브-액티브 데이터베이스 서버 시스템에서 데이터동기화 장치 및 방법
Armendáriz et al. A middleware architecture for supporting adaptable replication of enterprise application data
Orlunwo Placida et al. DISTRIBUTED DATABASE MANAGEMENT SYSTEM (DBMS) ARCHITECTURES AND DISTRIBUTED DATA INDEPENDENCE
Kart et al. Database Fusion Using Atom
Urbano et al. Oracle Database 2 Day+ Data Replication and Integration Guide, 11g Release 2 (11.2) E17516-04

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081001

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee