KR101335101B1 - 데이터의 복제 관리 방법 및 시스템 - Google Patents

데이터의 복제 관리 방법 및 시스템 Download PDF

Info

Publication number
KR101335101B1
KR101335101B1 KR1020117024482A KR20117024482A KR101335101B1 KR 101335101 B1 KR101335101 B1 KR 101335101B1 KR 1020117024482 A KR1020117024482 A KR 1020117024482A KR 20117024482 A KR20117024482 A KR 20117024482A KR 101335101 B1 KR101335101 B1 KR 101335101B1
Authority
KR
South Korea
Prior art keywords
node
transaction log
slave
request
request message
Prior art date
Application number
KR1020117024482A
Other languages
English (en)
Other versions
KR20110139739A (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 가부시키가이샤 무라쿠모
Publication of KR20110139739A publication Critical patent/KR20110139739A/ko
Application granted granted Critical
Publication of KR101335101B1 publication Critical patent/KR101335101B1/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/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/1443Transmit or communication errors
    • 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
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Abstract

시스템 전체의 성능 향상을 도모하면서, 축차 갱신되는 데이터에 대해서 데이터의 동기를 유지하면서, 신속한 검색을 가능하게 하는 데이터의 복제 관리를 실시한다. 검색의 지시를 수령한 종노드는, 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 주노드로부터 답신 메시지를 수령하지 않은 경우, 주노드에 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 요구하는 스텝과, 이 요구를 수령한 주노드는, 종노드에 상기 트랜잭션 로그를 송신하는 스텝과, 종노드는, 주노드로부터 전송된 상기 트랜잭션 로그를 참조하여 복제 데이터베이스를 갱신하는 스텝을 포함한다.

Description

데이터의 복제 관리 방법 및 시스템{METHOD AND SYSTEM FOR DATA REPLICATION MANAGEMENT}
본 발명은, 데이터의 복제 관리 방법 및 시스템에 관한 것이고, 보다 상세하게는, 네트워크에 접속된 하나의 계산기(노드(node))의 데이터베이스와 검색 요구가 있는 다른 노드의 데이터베이스 사이의 데이터의 복제 관리 방법 및 시스템에 관한 것이다.
근년, 트랜잭션 로그(transaction log)를 응용하여 복제 시스템을 실현하려고 하는 기술이 제안되어 있다. 트랜잭션 로그는 데이터베이스(database)에 가해진 변경의 이력을 데이터베이스의 기록 영역과는 다른 영역에 기록함으로써 변경의 영속성을 유지하면서 조작의 고속성을 실현할 수가 있다. 트랜잭션 로그에는 모든 갱신의 이력이 보존되기 때문에 트랜잭션 로그가 보존되어 있으면 데이터베이스의 갱신은 모두 재구축 할 수 있다.
트랜잭션 로그에 의한 데이터의 동기 방법으로서 전송원 노드(주노드(master node))가 트랜잭션 로그의 기록 영역에의 기록을 개시하고, 복제 시스템 내에 존재하는 다른 모든 노드에 동일한 트랜잭션 로그를 전송하고, 전송처 노드(종노드(slave node))가 트랜잭션 로그의 수신을 완료한 후, 주노드에 완료를 통지하고, 주노드가 모든 종노드로부터 완료의 통지를 수취하고, 또한 자신의 기록 영역에의 기록 처리가 종료했을 때, 주노드와 종노드의 데이터의 동기 처리를 완료하는 방법이 제안되어 있다(예를 들면, 특허 문헌 1 참조). 이 방법에서는 종노드가 검색을 행할 때에 다시 주노드에 최신의 정보를 문의할 필요가 없기 때문에 검색 처리를 빠르게 실행할 수가 있다.
일본국 특허공개 2006-293910호 공보
그렇지만, 상기의 데이터의 동기 방법에서는 주노드의 데이터베이스(이하, 「데이터베이스」를 「DB」라고 하는 일이 있음)를 갱신, 삭제, 삽입(이하, 「갱신, 삭제, 삽입」을 단지 「갱신」이라고 하는 일이 있음)할 때마다 모든 복제 DB(replica DB)(특허 문헌 1에 있어서 「전송처 노드의 데이터베이스」)와의 동기 처리를 행하므로, 몇 개의 노드 또는 그 통신 경로 등에 장애가 있어 몇 개의 복제 DB 동기 처리에 시간이 걸리면, 동기 처리의 완료까지 시간이 걸려 시스템 전체의 성능이 저하한다고 하는 과제가 있다.
본 발명은 상기의 과제를 개량하고, 시스템 전체의 성능 향상을 도모하면서, 축차 갱신되는 데이터에 대해서 데이터의 동기를 유지하면서, 신속한 검색을 가능하게 하는 데이터의 복제 관리 방법 및 시스템을 제공하는 것을 주목적으로 한다.
본 발명의 제1의 관점에 의하면, 주노드에 의해 관리되는 마스터 데이터베이스(master database)와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 상기 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스 사이의 데이터의 복제 관리 방법으로서, 검색의 지시를 수령한 상기 종노드는, 이 종노드의 모노드에 하트비트(heartbeat) 통신에 있어서의 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 모노드로부터 하트비트 통신에 있어서의 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전(version)까지의 트랜잭션 로그의 요구를 상기 모노드에 송신하고, 상기 모노드가 이 트랜잭션 로그를 가지지 않은 경우, 이 모노드는 또한 이 모노드의 모노드에 이 트랜잭션 로그를 요구하는 것을 이 트랜잭션 로그를 가지는 노드에 이를 때까지 반복하고, 이 요구를 수령한 이 트랜잭션 로그를 가지는 노드는, 이 노드의 자노드에 이 트랜잭션 로그를 송신하고, 이 자노드는 또한 그 자노드에 이 트랜잭션 로그를 송신하는 것을 상기 종노드가 이 트랜잭션 로그를 수령할 때까지 반복하고, 상기 종노드는, 수신한 이 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 것을 특징으로 한다.
본 발명에 있어서, 검색 지시를 수령한 종노드는, 이 종노드의 모노드에 하트비트 통신에 있어서의 리퀘스트 메시지를 송신했을 때로부터 상기 소정 시간(Ts3) 이내에 상기 모노드로부터 상기 하트비트 통신에 있어서의 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 복제 데이터베이스를 갱신하는 것이 바람직하다. 이에 의해 트랜잭션 로그의 적용을 지연하여 검색 지시를 수령하였을 때에만 트랜잭션 로그를 적용하고 나서 복제 데이터베이스를 갱신하므로, 특히 검색 빈도가 높지 않은 경우에 시스템 전체의 성능을 향상시킬 수가 있다.
본 발명에 있어서, 각 노드는, 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 그 자노드에 송신한 후에 있어서, 리퀘스트 메시지의 수령시부터 소정 시간(Tr3) 이내에 새로운 리퀘스트 메시지를 수령한 상기 자노드의 모두로부터 전송 완료의 통지를 수령하면, 그 모노드에 전송 완료의 통지를 송신하는 것이 바람직하다.
이에 의해 각 노드는, 통신에 시간이 걸리는 노드를 제외한 노드와 동기 처리를 실행할 수가 있어 몇 개의 노드 또는 그 통신 경로에 장해가 생겨도 갱신 처리를 신속하게 완료할 수가 있다.
본 발명에 있어서, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않는 상기 노드는, 이 노드의 자노드의 어느 한쪽으로부터 이 트랜잭션 로그의 요구를 수령하였을 때로부터 소정 시간 이내에 다른 자노드로부터 이 트랜잭션 로그의 요구를 수령한 경우, 이들의 요구를 정리하고, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 것이 바람직하다.
본 발명의 제2의 관점에 의하면, 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 이 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스를 접속하여 구성되는 데이터의 복제 관리 시스템으로서, 상기 주노드가, 갱신의 지시에 따라서 상기 마스터 데이터베이스를 갱신하는 수단과, 이 마스터 데이터베이스의 갱신과 관련되는 트랜잭션 로그를 상기 주노드의 자노드에 송신하는 수단과, 상기 자노드의 요구에 따라서 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 자노드에 송신하는 수단을 구비하고, 상기 종노드가, 이 종노드의 모노드에 하트비트 통신에 있어서의 리퀘스트 메시지를 송신했을 때부터 소정 시간(Ts3) 이내에 이 1개 상층의 노드로부터 상기 하트비트 통신에 있어서의 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 모노드에 요구하는 수단과, 전송된 이 트랜잭션 로그를 참조해 상기 복제 데이터베이스를 갱신하는 수단과, 상기 노드가 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않는 경우, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 수단과, 이 트랜잭션 로그를 가지는 경우, 요구한 상기 노드의 자노드에 이 트랜잭션 로그를 송신하는 수단과, 이 트랜잭션 로그를 상기 노드의 자노드에 송신한 후에 있어서, 상기 리퀘스트 메시지의 수령시부터 소정 시간 이내에 새로운 리퀘스트 메시지를 수령한 이 자노드의 모두로부터 전송 완료의 통지를 수령하면, 상기 모노드 또는 주노드에 전송 완료의 통신을 송신하는 수단을 구비하는 것을 특징으로 한다.
본 발명에 있어서, 상기 종노드가, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때부터 소정 시간(Ts3) 이내에 이 모노드로부터 답신 메시지를 수령한 경우, 검색의 지시에 따라서 이미 수령하고 있는 트랜잭션 로그를 참조해 상기 복제 데이터베이스를 갱신하는 수단을 더 구비하는 것을 특징으로 한다.
본 발명의 데이터의 복제 관리 방법 및 시스템에 의하면, 검색 지시를 수령한 종노드가, 그 모노드 또는 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 이내에 답신 메시지를 수신하지 않은 경우, 최신 버전까지의 트랜잭션 로그를 가지는 노드 또는 주노드로부터 전송된 이 트랜잭션 로그를 참조하여 복제 DB(database)가 갱신된다. 따라서, 몇 개의 노드 또는 통신 경로에 장해가 생겨도 신속하게 동기 처리를 할 수가 있고, 사용자는, 마스터 DB와 동기가 취해진 복제 DB를 이용하여 검색할 수 있다. 즉, 시스템 전체의 성능의 향상이 도모되어 신속한 검색을 제공할 수가 있다.
도 1은 본 발명의 하나의 실시예와 관련되는 데이터의 복제 관리를 나타내는 설명도이다.(실시예 1 및 2)
도 2는 종노드와 주노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 1 및 2)
도 3은 본 발명의 하나의 실시예와 관련되는 나무(tree) 구조의 데이터의 복제 관리를 나타내는 설명도이다.(실시예 3 및 4)
도 4는 종노드와 그 모노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 3 및 4)
이하, 첨부 도면을 참조하면서 본 발명을 실시하기 위한 형태에 대해서 상세하게 설명하지만, 본 발명은 이에 한정되어 해석되는 것은 아니고, 본 발명의 범위를 일탈하지 않는 한에 있어서, 당업자의 지식에 기초하여 여러 가지의 갱신, 수정, 개량을 가할 수 있는 것이다. 또, 이하의 실시예에 있어서 실시예 1과 동일 부재에 대해서는 동일한 부호를 붙이고 그 중복된 설명은 생략한다.
<실시예 1>
도 1은 본 발명의 실시예 1과 관련되는 데이터의 복제 관리의 개략을 나타내고, 주노드(100)와, 주노드(100)와 네트워크(120)를 통해 접속되어 있는 복수(N개)의 종노드를 가진다. 여기서, 복수의 종노드는 모두 동일한 구성이고, 동일한 번호 200을 붙인다.
주노드(100)는 주노드(100)에 의해 관리되는 마스터 DB(Data Base)(102), 트랜잭션 로그를 기록하여 보존하는 트랜잭션 로그 기록 영역(104), 마스터 DB(102) 및 트랜잭션 로그 기록 영역(104)에의 기입 지시를 주는 DB 백엔드(backend)(106), 종노드와의 통신을 실시하는 통신 모듈(108)을 구비한다.
종노드(200)는 각각 종노드(200)에 의해 마스터 DB(102)와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 DB(202), 트랜잭션 로그를 기록하여 보존하는 트랜잭션 로그 기록 영역(204), 복제 DB(202) 및 트랜잭션 로그 기록 영역(204)에의 기입 지시를 주는 DB 백엔드(backend)(206), 주노드(100)와의 통신을 실시하는 통신 모듈(208), 주노드(100)로부터 수령한 트랜잭션 로그를 트랜잭션 로그 기록 영역(204)에 기입하는 트랜잭션 로그 기입 모듈(210), 트랜잭션 로그의 복원 처리를 행하고 복제 DB(202)에 기입하는 복원 모듈(212)을 구비한다.
다음에, 본 실시예에 있어서의 데이터의 복제 관리 시스템의 동작에 대해서 도 1을 참조하여 설명한다.
사용자로부터의 데이터의 갱신 요구는 갱신 지시로서 주노드(100)의 DB 백엔드(106)에 들어간다. 이 갱신 지시를 수령한 DB 백엔드(106)는 트랜잭션 로그 기록 영역(104)에의 기입을 개시함과 아울러, 통신 모듈(108)에 새로운 갱신과 관련되는 트랜잭션 로그의 전송 지시를 준다.
DB 백엔드(106)는 트랜잭션 로그 기억 영역(104)에의 기입을 종료하면, 마스터 DB(102)의 갱신을 개시한다.
상기 전송 지시를 수령한 통신 모듈(108)은 원칙적으로 접속되어 있는 모든 종노드(200)의 통신 모듈(208)에 상기 트랜잭션 로그를 송신한다. 통신 모듈(208)은 상기 트랜잭션 로그를 수령하면 트랜잭션 로그 기입 모듈(210)에 송신하고, 트랜잭션 로그 기입 모듈(210)은 상기 트랜잭션 로그를 트랜잭션 로그 기록 영역(204)에 기입한다.
그 다음에, 복원 모듈(212)은 트랜잭션 로그 기록 영역(204)으로부터 상기 트랜잭션 로그를 호출하고, 복제 DB(202)에 적용함으로써 마스터 DB(102)와 검색 대상으로서 사용되는 복제 DB(202) 사이의 데이터의 복제가 완료된다.
복제의 완료를 기다려, 통신 모듈(208)은 통신 모듈(108)에 전송 완료를 송신하고, 통신 모듈(108)은 DB 백엔드(106)에 전송 완료를 송신한다.
통신 모듈(108)이 모든 종노드(200)의 통신 모듈(208)로부터 트랜잭션 로그의 전송 완료의 통지를 수령하고, 또한 마스터 DB(102)의 갱신이 종료하면, 사용자로부터의 데이터의 갱신 요구(갱신 지시)에 따른 갱신 작업은 완료한다.
도 2는 종노드(200)와 주노드(100) 사이의 정상적인 하트비트(heartbeat) 통신을 나타내는 설명도이다.
종노드(200)는 각각 주노드(100)에 소정의 시간 Ti1 간격으로 리퀘스트 메시지(request message)를 보낸다. 여기서, 소정의 시간 Ti1는 종노드(200)가 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 답신 메시지를 수령한 후 시간 T01 경과할 때까지의 시간으로 한다.
리퀘스트 메시지를 수신한 주노드(100)는 송신한 각 종노드(200)에 답신 메시지를 보낸다. 종노드(200)가 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 주노드(100)로부터 답신 메시지가 없는 경우, 주노드(100) 또는 그 통신 경로에 어떠한 장해가 발생하고 있을 우려가 있다.
또한, 상기 소정의 시간 Ti1를 리퀘스트 메시지를 송신했을 때로부터 시간 T01 경과할 때까지의 시간으로 할 수도 있다. 이 경우도 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 주노드(100)로부터 답신 메시지가 없는 경우, 시스템에 어떠한 장해가 발생하고 있을 우려가 있다.
종노드(200)는 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 주노드(100)로부터 답신 메시지를 수령하지 않은 경우, 시스템에 어떠한 장해가 발생하고 있을 우려가 있다고 간주하고, 주노드(100)에 리퀘스트 메시지를 보내는 것을 정지한다.
또, 리퀘스트 메시지를 수신한 주노드(100)는 답신 메시지 송신시부터 소정 시간 Tr1 이내에 송신한 종노드(200)로부터 다음의 새로운 리퀘스트 메시지를 수신하지 않은 경우, 이 종노드(200) 또는 그 통신 경로에 어떠한 이상이 발생한 것으로 간주한다.
여기서, 소정 시간 Tr1는 이 종노드(200)가 주노드(100)와 동시나 그것보다 먼저 이상을 검지할 수 있도록 시간 Ts1보다 충분히 긴 시간, 예를 들면 수식 Tr1=T01+2×Ts1로 계산되는 시간으로 한다.
주노드(100)가 답신 메시지를 송신했을 때로부터 Ts1 경과해도 종노드(200)가 이 답신 메시지를 수신하고 있지 않으면, 종노드(200)는 이상을 검지한다. 이상을 검지하고 있지 않다고 하면, 종노드(200)는 리퀘스트 메시지를 송신했을 때로부터 T01+Ts1 경과하기까지 다음의 리퀘스트 메시지를 송신한다. 종노드(200)가 다음의 리퀘스트 메시지를 송신했을 때로부터 Ts1 경과해도 주노드(100)가 다음의 리퀘스트 메시지를 수신하고 있지 않는 경우, 종노드(200)는 다음의 리퀘스트 메시지를 송신했을 때로부터 Ts1 경과해도 답신 메시지를 수령하지 않기 때문에, 이상을 검지한다.
따라서, 주노드(200)가 Tr1(=T01+2×Ts1) 경과할 때까지의 사이에 새로운 리퀘스트 메시지를 받아들이지 않고 이상을 검지했을 때에는, 종노드(200)는 최신의 리퀘스트 메시지에 대한 답신 메시지를 이 리퀘스트 메시지 송신시부터 Ts1 이내에 받고 있지 않든지, 다음의 리퀘스트 메시지에 대한 답신 메시지를 이 리퀘스트 메시지 송신시부터 Ts1 이내에 받고 있지 않든지의 어느 한쪽이므로 이미 이상을 검지하고 있다.
주노드(100)는 사용자로부터 데이터의 갱신 요구를 받으면, 트랜잭션 로그 기록 영역(104)에의 기입을 개시함과 아울러, 답신 메시지 송신시부터 소정 시간 Tr1 이내에 새로운 리퀘스트 메시지의 송신이 있은 종노드(200)의 통신 모듈(208)에 새로운 갱신과 관련되는 트랜잭션 로그를 전송한다. 그리고, 이 트랜잭션 로그를 수령한 종노드(200)는 복제 DB(202)를 갱신하고, 주노드(100)에 전송 완료를 송신하는 것은 상술대로이다.
소정 시간 Tr1 이내에 새로운 리퀘스트 메시지의 송신이 없는 종노드(200)는 어떠한 이상이 발생하고 있다고 간주하고, 그 통신 모듈(208)에는 이 트랜잭션 로그를 전송하지 않는다.
주노드(100)는 이 트랜잭션 로그를 전송한 모든 종노드(200)로부터 전송 완료의 통지를 받았다고 하면, 새로운 리퀘스트 메시지의 송신이 없는 종노드(200)로부터 전송 완료의 통지가 없어도 트랜잭션 로그의 동기 처리가 완료되었다고 간주한다. 트랜잭션 로그의 동기 처리가 완료되고, 또한 스스로의 마스터 DB(102)의 갱신이 종료되었다고 하면, 사용자로부터의 데이터 갱신 요구는 완료한다.
사용자로부터의 데이터의 검색 요구는 검색 지시로서 몇 개의 종노드(200)의 DB 백엔드(206)에 들어가고, 이 종노드(200)가 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 답신 메시지를 수령한 경우, 사용자로부터 요구된 검색은 복제 DB(202)를 사용하여 행해진다.
그렇지만, 상기 종노드(200)가 소정 시간 Ts1 이내에 답신 메시지를 수령하지 않은 경우, 통신 모듈(208)은 주노드(100)의 통신 모듈(108)에 미취득 또한 최신 버전까지의 트랜잭션 로그(본 명세서에 있어서 아울러 「최신 버전까지의 트랜잭션 로그」 또는 단지 「트랜잭션 로그」라고 하는 일이 있음)를 요구한다. 이 요구하는 트랜잭션 로그에 종노드(200)가 이미 취득하고 있는 트랜잭션 로그를 포함하지 않으므로 전달하는 정보량을 줄여 통신 부하를 경감할 수가 있다.
이 요구를 수령한 통신 모듈(108)은 이 요구를 송신한 종노드(200)의 통신 모듈(208)에 최신 버전까지의 트랜잭션 로그를 송신한다.
통신 모듈(208)은 수령한 상기 트랜잭션 로그를 트랜잭션 로그 기입 모듈(210)에 송신하고, 트랜잭션 로그 기입 모듈(210)은 트랜잭션 로그 기록 영역(204)에 기입한다. 그 다음에, 복원 모듈(212)은 트랜잭션 로그 기록 영역(204)으로부터 상기 트랜잭션 로그를 호출하고, 복제 DB(202)에 적용함으로써 마스터 DB(102)와 검색 대상으로서 사용되는 복제 DB(202) 사이의 데이터의 복제가 완료된다.
사용자로부터 요구된 검색은 복제 DB(202)를 사용하여 행해진다.
리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 답신 메시지를 수령하지 않았기 때문에 리퀘스트 메시지의 송신을 정지한 종노드(200)는 리퀘스트 메시지의 송신을 정지하고 나서 소정 시간이 경과한 후, 주노드(100)에 리퀘스트 재개 메시지를 송신하고, 그 후 최신 버전까지의 트랜잭션 로그를 주노드(100)에 요구한다. 재개 메시지 송신시부터 소정 시간 Ts1 이내에 재개 허가 메시지를 수령하면, 종노드(200)는 주노드(100)에 리퀘스트 메시지를 송신하고, 그 후는 장해가 발생하기 전과 마찬가지로 답신 메시지 수신시부터 소정 시간 T01마다 주노드(100)에 리퀘스트 메시지를 송신한다. 그리고, 리퀘스트 재개 메시지에 대한 답신 메시지를 소정 시간 Ts1 이내에 수신하지 않든지, 재개 거부 메시지를 수령하면, 소정 시간이 경과한 후 재차 리퀘스트 재개 메시지를 송신한다.
리퀘스트 재개 메시지를 수신한 주노드(100)는 이 종노드(200)에 이상이 발생했다고 간주하고 있는 경우는 재개 허가 메시지를 송신하고, 이 종노드(200)를 트랜잭션 로그를 전송할 때의 동기 처리의 대상으로 되는 노드에 더한다. 그 후, 최신 버전까지의 트랜잭션 로그의 요구를 받으면, 이 트랜잭션 로그를 송신한다.
동기 처리의 대상으로부터 제외된 종노드(200)는 검색을 실행하는데 즈음하여 최신 버전까지의 트랜잭션 로그를 입수하여 복제 DB를 갱신하기 때문에 마스터 DB와 동기가 취해진 복제 DB를 이용하여 검색할 수 있다.
그렇지만, 주노드(100)는 이 종노드(200)의 이상을 검지하고 있지 않는 경우는, 재개 거부 메시지를 송신한다.
실시예 1에서는, 원칙적으로 사용자로부터 갱신 요구를 받으면 그때마다 주노드(100)는 마스터 DB(102)의 갱신과 관련되는 트랜잭션 로그를 모든 종노드(200)에 전송하고, 각 종노드(200)에서 복제 DB(202)의 갱신을 한 것을 확인하고 나서 이 갱신 요구를 완료하므로, 검색 지시를 수령한 종노드(200)는 이미 최신의 상태로 유지되고 있는 복제 DB(202)를 사용하여 신속하게 검색할 수 있고, 검색 빈도가 높은 경우에도 검색 속도가 저하하지 않는다고 하는 장점이 있다.
또, 주노드(100)와 어느 종노드(200) 사이의 리퀘스트 또는 답신 메시지에 대한 응답이 소정 시간 이내에 없을 때는, 이 노드 또는 그 통신 경로에 장해가 발생했다고 간주하고, 주노드(100)는 마스터 DB(102)를 갱신할 때에 이 종노드(200)를 동기 처리의 대상에서 제외하고, 이 종노드(200)가 검색 지시를 수령하면 그때마다 주노드(100)에 최신 버전까지의 트랜잭션 로그를 요구하므로 장해 발생시에도 종노드(200)를 동기가 취해진 상태로 유지하면서 동기 처리를 고속으로 실행할 수가 있다.
본 실시예에서는, 위에서 설명한 바와 같이 주노드(100)가 답신 메시지 송신 후 새로운 리퀘스트 메시지를 수신할 때까지의 시간 Tr1를 Ts1보다 충분히 길게 설정하고 있다. 이 때문에, 주노드(100)가 장해를 검지하고, 종노드(200)를 동기 처리의 대상에서 제외했음에도 불구하고, 이 종노드(200)가 장해를 알아차리지 못하고서 스스로는 최신 버전까지의 트랜잭션 로그를 수령하고 있다고 판단하는 것을 방지할 수 있다. 즉, 사용자가 갱신된 마스터 DB(102)와 동기되어 있지 않은 복제 DB(202)를 사용하여 검색하는 것을 방지할 수 있다.
장해를 검지한 종노드(200)는 장해가 복구된 후, 리퀘스트 메시지의 송신을 재개하고, 장해 발생전의 상태로 복귀할 수가 있다. 종노드(200)와의 사이의 일시적인 네트워크의 장해에 대해서, 장해가 발생하고 있을 때는 이 종노드(200)를 동기의 대상에서 제외하여 갱신 요구를 신속하게 처리하고, 복구 후는 다시 동기의 대상에 더하여 이 종노드(200)에 대한 검색 요구를 신속하게 처리할 수 있으므로 시스템 전체의 성능을 향상시킬 수가 있다.
본 실시예에 있어서, 리퀘스트 및 답신 메시지의 송수신과 트랜잭션 로그의 요구 및 그 전송을 동일한 통신 경로를 사용하여 실시할 수가 있다. 또, 통신 경로로서 먼저 송신한 메시지가 반드시 먼저 도달하는 것 같은 통신 경로를 사용할 수가 있다. 이에 의해 리퀘스트 메시지와 답신 메시지의 송수신의 확인에 의해 그 통신 경로간의 트랜잭션 로그의 전송이 확실히 행해지고 있는 것을 보증할 수 있다.
<실시예 2>
도 1은 본 발명의 실시예 2와 관련되는 데이터의 복제 관리의 개략을 나타내고, 그 동작에 대해서 도 1을 참조하여 설명한다.
실시예 1의 경우와 마찬가지로 사용자로부터의 데이터의 갱신 요구를 갱신 지시로서 수령한 주노드(100)는 마스터 DB(102)의 갱신을 개시하고, 원칙적으로 접속되어 있는 모든 종노드(200)의 통신 모듈(208)에 마스터 DB(102)의 갱신과 관련되는 트랜잭션 로그를 송신한다.
통신 모듈(208)은 이 트랜잭션 로그의 수령이 종료되면, 전송 완료의 통지를 통신 모듈(108)에 송신하고, 통신 모듈(108)은 DB 백엔드(backend)(106)에 송신한다.
통신 모듈(108)이 모든 종노드(200)의 통신 모듈(208)로부터 트랜잭션 로그의 전송 완료의 통지를 수령하고, 또한 마스터 DB(102)의 갱신이 종료하면, 사용자로부터의 데이터의 갱신 요구(갱신 지시)에 따른 갱신 작업은 완료한다.
도 2는 주노드(100)와 종노드(200) 사이의 정상시의 하트비트 통신을 나타내고, 실시예 1에서 설명했던 대로이다.
사용자로부터의 데이터의 검색 요구는 검색 지시로서 몇 개의 종노드(200)의 DB 백엔드(206)에 들어간다. DB 백엔드(206)는 이 검색 지시를 통신 모듈(208)에 송신하고, 이 종노드(200)가 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 답신 메시지를 수령한 경우, 통신 모듈(208)은 스스로 소유하는 최신 버전까지의 트랜잭션 로그를 트랜잭션 로그 기입 모듈(210)에 송신한다. 트랜잭션 로그 기입 모듈(210)은 이 트랜잭션 로그를 트랜잭션 로그 기록 영역(204)에 기입한다.
그 다음에, 복원 모듈(212)은 트랜잭션 로그 기록 영역(204)으로부터 상기 트랜잭션 로그를 호출하고, 복제 DB(202)에 적용함으로써 마스터 DB(102)와 검색 대상으로서 사용되는 복제 DB(202) 사이의 데이터의 복제가 완료된다. 데이터의 검색 요구는 복제 DB(202)를 사용하여 행해진다.
검색 지시를 수령한 종노드(200)가 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts1 이내에 답신 메시지를 수령하지 않은 경우에 대해서는, 실시예 1과 마찬가지이고, 본 실시예에 있어서의 상기 이외의 실시예 1에서 설명한 태양에 대해서도 실시예 1과 마찬가지이다.
본 실시예 특유의 효과는 다음과 같다.
실시예 2에서는, 갱신 지시를 반영한 트랜잭션 로그를 종노드(200)에 송신한 주노드(100)는 통신 모듈(208)로부터 이 트랜잭션 로그의 수령 통지를 수신하는 것을 기다리는 것만으로 좋고, 이 트랜잭션 로그가 복제 DB(202)에 적용될 때까지 기다릴 필요가 없기 때문에 트랜잭션 로그 전송시의 동기 처리를 신속하게 처리할 수 있다.
또, 검색 지시를 수령한 종노드(200)는 이미 수령하고 있는 최신 버전까지의 트랜잭션 로그를 참조하여 복제 DB(202)의 데이터 갱신을 행하고, 이 복제 DB(202)를 사용하여 검색을 한다.
본 실시예에서는, 트랜잭션 로그의 적용을 지연하여 검색 지시를 수령하였을 때에만 트랜잭션 로그를 적용하여 복제 DB를 갱신하므로, 재차 주노드(100)에 최신 버전까지의 트랜잭션 로그를 요구할 필요가 없다고 하는 장점이 있다.
<실시예 3>
도 3은 본 발명의 실시예 3에 있어서 사용하는 나무 구조의 데이터의 복제 관리를 나타내는 설명도이다.
나무 구조의 뿌리(root)로서 주노드(100)를 가지고, 나무 구조의 절점 및 잎(leaf)으로서 복수의 종노드(200)를 가진다. 주노드를 최상층으로 하고, 주노드(100)로부터 n층 하층에 위치하는 종노드를 종노드(200)(n)로 나타낸다.
각 노드는, 도 3에 나타내듯이, 1개 하층 또는 1개 상층에 위치하는 노드와 각각 네트워크(도 3에서 도시하지 않음)에 직접 접속되어 있다. 본 명세서에 있어서, 하나의 노드의 「자노드(child node)」는 이 하나의 노드에 직접 접속되어 있는 1개 하층의 노드를 말하고, 하나의 노드의 「모노드(parent node)」는 이 하나의 노드에 직접 접속되어 있는 1개 상층의 노드를 말한다. 또, 「잎노드(leaf node)」는 자노드를 가지지 않는 노드를 말한다.
하나의 노드의 「자손 노드(descendant node)」란, 이 하나의 노드의 자노드, 이 자노드의 자노드와, 나무 구조를 따라 이 하나의 노드로부터 하층으로 내려감으로써 도달할 수가 있는 노드를 말하고, 자손 노드 가운데, 가장 하층에 위치하는 노드(잎노드)와 이 하나의 노드가 위치하는 층의 차를 「높이」라고 부르는 일이 있다.
주노드(100) 및 각 종노드(200)의 구성은 각각 도 1에 나타내는 주노드(100) 및 종노드(200)와 같다.
다음에, 실시예 3과 관련되는 데이터의 복제 관리 방법에 대해서 도 1 및 도 3을 참조하여 설명한다.
사용자로부터의 데이터의 갱신 요구는 갱신 지시로서 주노드(100)의 DB 백엔드(106)에 들어간다. DB 백엔드(106)는 이 갱신 지시를 수령하면, 트랜잭션 로그 기록 영역(104)에의 기입을 개시함과 아울러, 통신 모듈(108)에 새로운 갱신과 관련되는 트랜잭션 로그의 전송 지시를 준다.
DB 백엔드(106)는 트랜잭션 로그 기억 영역(104)에의 기입을 종료하면, 마스터 DB(102)의 갱신을 개시한다.
새로운 갱신과 관련되는 트랜잭션 로그의 전송 지시를 받은 통신 모듈(108)은 모든 자노드(200)(1)의 통신 모듈(208)(1)에 이 트랜잭션 로그를 송신한다. 통신 모듈(208)(1)은 수령한 이 트랜잭션 로그를 트랜잭션 로그 기입 모듈(210)(1)에 송신하고, 복제 DB(202)(1)의 갱신을 지시함과 아울러, 이 트랜잭션 로그를 또한 모든 자노드(200)(2)의 통신 모듈(208)(2)에 송신한다.
상술의 것은 잎노드(200)(z)의 통신 모듈(208)(z)에 이 트랜잭션 로그를 송신할 때까지 반복된다.
이 통신 모듈(208)(z)은 이 트랜잭션 로그를 수령하면 트랜잭션 로그 기입 모듈(210)(z)에 송신하고, 트랜잭션 로그 기입 모듈(210)(z)은 이 트랜잭션 로그를 트랜잭션 로그 기록 영역(204)(z)에 기입한다.
그 다음에, 복원 모듈(212)(z)은 트랜잭션 로그 기록 영역(204)(z)으로부터 이 트랜잭션 로그를 호출하고, 복제 DB(202)(z)에 적용함으로써 마스터 DB(102)와 잎노드200(z)가 관리하는 복제 DB(202)(z) 사이의 데이터의 복제가 완료된다.
복제의 완료를 기다려, 통신 모듈(208)(z)은 상기 트랜잭션 로그를 전송한 모노드(200)(z-1)의 통신 모듈(208)(z-1)에 전송 완료를 송신하고, 이 통신 모듈(208)(z-1)은 송신한 모든 종노드(200)(z)로부터 전송 완료를 수령하고, 또한 스스로의 복제 DB(202)(z-1)의 데이터의 갱신이 완료되었다고 하면, 또한 그 모노드(200)(z-2)의 통신 모듈(208)(z-2)에 전송 완료를 송신한다.
상기 전송 완료의 송신을 반복하고, 주노드(100)의 통신 모듈(108)이 모든 자노드(200)(1)로부터 전송 완료를 수령하고, 또한 마스터 DB(102)의 갱신이 종료되었다고 하면, 사용자로부터의 데이터의 갱신 요구(갱신 지시)에 따른 갱신 작업은 완료한다.
도 4는 종노드(200)(n)와 그 모노드(200)(n-1) 또는 모노드(100) 사이의 정상적인 하트비트 통신을 나타내는 설명도이다.
종노드(200)(n)는 그 모노드에 소정의 시간 Ti3 간격으로 리퀘스트 메시지를 보낸다. 이 리퀘스트 메시지를 수신한 모노드는 종노드(200)(n)에 답신 메시지를 보낸다. 종노드(200)(n)가 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts3 이내에 모노드로부터 답신 메시지가 없는 경우, 이 모노드 또는 그 통신 경로에 어떠한 장해가 발생하고 있을 우려가 있다.
여기서, 모노드는 n이 1보다 큰 경우는 종노드(200)(n-1), n=1의 경우는 주노드(100)(본 명세서에 있어서 아울러 「모노드(200)(n-1) 또는 모노드(100)」라고 나타내는 일이 있음)이다. 상기 소정의 시간 Ti3은 종노드(200)(n)가 이 모노드에 리퀘스트 메시지를 송신했을 때로부터 답신 메시지 수령시부터 시간 T03 경과할 때까지의 시간으로 한다.
또한, 상기 소정의 시간 Ti3을 종노드(200)(n)가 리퀘스트 메시지를 송신했을 때로부터 시간 T03이 경과할 때까지의 시간으로 할 수도 있다. 이 경우도 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts3 이내에 이 모노드로부터 답신 메시지가 없는 경우, 시스템에 어떠한 장해가 발생하고 있을 우려가 있다.
종노드(200)(n)는 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts3 이내에 그 모노드로부터 답신 메시지를 수취한 경우, 자노드가 최신 버전까지의 트랜잭션 로그를 소유하고 있다고 간주한다.
반대로, 상기 소정 시간 Ts3 이내에 그 모노드로부터 답신 메시지를 수령하지 않은 경우, 이 모노드에 리퀘스트 메시지를 보내는 것을 정지한다. 즉, 종노드(200)(n)는 시스템에 어떠한 장해가 발생하고 있을 우려가 있다고 간주하고, 자노드는 최신 버전까지의 트랜잭션 로그를 소유하고 있지 않다고 간주한다.
또, 리퀘스트 메시지의 송신을 정지한 상기 종노드(200)(n)는 그 자노드(200)(n+1)로부터 리퀘스트 메시지가 있으면, 그에 대한 답신 메시지를 송신하지 않는다. 이 때문에, 이 자노드(200)(n+1)는 소정 시간 Ts3 경과해도 답신 메시지를 수신하지 않기 때문에, 이 자노드의 자노드(200)(n+2)에 답신 메시지를 송신하지 않는다. 이를 모든 자손 노드에 이를 때까지 반복한다.
또한, 종노드(200)(n)가 답신 메시지의 송신을 정지하고 나서 그 모든 자손 노드가 장해를 검지하기까지 걸리는 최대의 시간 Tm3은 종노드(200)(n)의 나무 구조에 있어서의 높이를 q로 하면, T03, Ts3, q를 변수로 하는 함수 Tm3=f(T03, Ts3, q)로서 계산할 수가 있고, q가 커질수록 길어진다.
또, 리퀘스트 메시지를 수신한 종노드(200)(n)의 모노드(200)(n-1) 또는 모노드(100)는 답신 메시지 송신시부터 소정 시간 Tr3 이내에 이 종노드(200)(n)로부터 새로운 리퀘스트 메시지가 없는 경우, 이 종노드(200)(n) 또는 그 통신 경로에 어떠한 이상이 발생한 것으로 간주한다. 여기서, Tr3은 이 종노드(200)(n) 및 그 모든 자손 노드가 이상을 검지하는 것보다도 확실히 긴 시간으로 한다. 일예로서 수식 Tr3=T03+2×Ts3+Tm3으로 계산되는 시간으로 한다.
답신 메시지 송신시부터 시간 T(=T03+2×Ts3)가 경과하기까지 종노드(200)(n)는 이상을 검지하고, 그 자노드로부터의 리퀘스트 메시지에 답신 메시지를 돌려주지 않게 된다. 이 종노드(200)(n)의 나무 구조에 있어서의 높이를 q로 하면, 그 시점으로부터 또한 소정의 함수 Tm3=f(T03, Ts3, q)로 계산되는 시간 Tm3이 경과하면 이 종노드(200)(n)의 모든 자손 노드가 이상을 검지하게 된다. 따라서, Tr3=T03+2×Ts3+Tm3로 하면, 시간 Tr3은 종노드(200)(n) 및 그 모든 자손 노드가 이상을 검지하는 것보다도 긴 시간으로 된다.
어떠한 이상이 발생했다고 간주한 모노드(200)(n-1) 또는 모노드(100)는 답신 메시지 송신시부터 소정 시간 Tr3 이내에 새로운 리퀘스트 메시지의 송신이 있은 종노드(200)(n)의 통신 모듈(208)(n)에는 상기 트랜잭션 로그를 전송하지만, 상기 소정 시간 Tr3 이내에 새로운 리퀘스트 메시지의 송신이 없는 종노드(200)(n)의 통신 모듈(208)(n)에는 전송하지 않는다.
상기 모노드는 상기 트랜잭션 로그를 전송한 모든 노드(200)(n)로부터 전송 완료의 통지를 받았다고 하면, 새로운 리퀘스트 메시지의 송신이 없는 종노드(200)(n)로부터 전송 완료의 통지가 없어도 트랜잭션 로그의 동기 처리가 완료되었다고 간주한다. 이 모노드가 종노드(200)(n-1)인 경우는, 트랜잭션 로그의 동기 처리가 완료되고, 또한 스스로가 관리하는 복제 DB(202)(n-1)의 갱신이 종료되었다고 하면, 또한 그 모노드(200)(n-2) 또는 모노드(100)에 전송 완료의 통지를 보낸다. 이 모노드가 주노드(100)인 경우는, 트랜잭션 로그의 동기 처리가 완료되고, 또한 스스로의 마스터 DB(102)의 갱신이 종료되었다고 하면, 사용자로부터의 데이터 갱신 요구는 완료한다.
사용자로부터의 데이터의 검색 요구는 검색 지시로서 몇 개의 종노드(200)(k)의 DB 백엔드(206)(k)에 들어가고, 이 종노드(200)(k)가 그 모노드(200)(k-1) 또는 모노드(100)에 리퀘스트 메시지를 송신하고, 이 송신시부터 소정 시간 Ts3 이내에 이 모노드로부터 답신 메시지를 수령한 경우에는, 데이터 검색은 복제 DB(202)(k)를 사용하여 행해진다.
그렇지만, 상기 소정 시간 Ts3 이내에 이 모노드로부터 답신 메시지를 수령하지 않은 경우에는, 종노드(200)(k)의 DB 백엔드(206)(k)는 상기 검색 지시를 통신 모듈(208)(k)에 송신하고, 통신 모듈(208)(k)은 이 모노드의 통신 모듈(208)(k-1) 또는 통신 모듈(108)에 마스터 DB(102)의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 요구한다.
이 모노드가 이 트랜잭션 로그를 소유하는 종노드(200)(k-1) 또는 주노드(100)인 경우, 이 모노드의 통신 모듈(208)(k-1) 또는 통신 모듈(108)은 이 종노드(200)(k)의 통신 모듈(208)(k)에 이 트랜잭션 로그를 송신한다.
이 모노드가 이 트랜잭션 로그를 소유하고 있지 않는 종노드(200)(k-1)인 경우, 통신 모듈(208)(k-1)은 통신 모듈(208)(k)로부터 상기 트랜잭션 로그의 요구를 수령하고 나서 소정 시간이 경과한 후, 또한 그 모노드의 통신 모듈(208)(k-2) 또는 통신 모듈(108)(k=2인 경우)에 이 트랜잭션 로그의 전송을 요구한다.
위에서 설명한 바와 같이 최신 버전까지의 트랜잭션 로그의 전송 요구를 반복하고, 이 트랜잭션 로그를 소유하는 종노드(200)(m) 또는 주노드(100)에 이르렀다고 하면, 그 통신 모듈(208)(m) 또는 통신 모듈(108)은 이 트랜잭션 로그를, 전송 요구를 송신해 온 자노드(200)(m+1) 또는 자노드(200)(1)의 통신 모듈(208)(m+1) 또는 통신 모듈(208)(1)에 송신한다. 이 트랜잭션 로그를 수령한 통신 모듈(208)(m+1) 또는 통신 모듈(208)(1)은 전송 요구를 송신한 그 자노드의 자노드(200)(m+2) 또는 통신 모듈(208)(2)의 통신 모듈(208)(m+2) 또는 통신 모듈(208)(2)에 보낸다. 동일한 전송을 반복하고, 종노드(200)(k)의 통신 모듈(208)(k)은 이 트랜잭션 로그를 취득한다.
통신 모듈(208)(k)은 이 트랜잭션 로그를 트랜잭션 로그 기입 모듈(210)(k)에 전송하고, 트랜잭션 로그 기입 모듈(210)(k)은 트랜잭션 로그 기록 영역(204)(k)에 기입한다.
그 다음에, 복원 모듈(212)(k)은 트랜잭션 로그 기록 영역(204)(k)로부터 이 트랜잭션 로그를 호출하고, 복제 DB(202)(k)에 적용함으로써 마스터 DB(102)와 검색 대상으로서 사용되는 복제 DB(202)(k) 사이의 데이터의 복제가 완료된다.
리퀘스트 메시지를 송신시부터 소정 시간 Ts3 이내에 모노드(200)(n-1) 또는 모노드(100)로부터 답신 메시지를 수령하지 않았기 때문에 리퀘스트 메시지의 송신을 정지한 종노드(200)(n)는 리퀘스트 메시지의 송신을 정지하고 나서 수식 Tm3=f(T03, Ts3, q)로 계산되는 시간 Tm3이 경과한 후, 이 모노드에 리퀘스트 재개 메시지를 송신하고, 그 후 최신 버전까지의 트랜잭션 로그를 이 모노드에 요구한다. 이 리퀘스트 재개 메시지에 대한 재개 허가 메시지를 이 리퀘스트 재개 메시지 송신시부터 소정 시간 Ts3 이내에 수령하지 않든지, 재개 거부 메시지를 수령한 경우, 종노드(200)(n)는 소정 시간이 경과한 후 재차 리퀘스트 재개 메시지를 송신한다.
재개 메시지 송신시부터 소정 시간 Ts3 이내에 재개 허가 메시지를 수령하면, 이 모노드에 리퀘스트 메시지를 송신하고, 그 후는 이상을 검지하기 전과 마찬가지로 답신 메시지 수신시부터 소정 시간 Ts1마다 이 모노드에 리퀘스트 메시지를 송신한다.
리퀘스트 재개 메시지를 수취한 이 모노드는 이미 이 종노드(200)(n)에 이상이 발생했다고 간주하고 있고, 또한 자노드가 최신 버전까지의 트랜잭션 로그를 소유하고 있는 경우, 재개 허가 메시지를 송신하고, 이 노드(200)(n)를 트랜잭션 로그를 전송하는 대상으로 되는 노드에 더한다. 또, 그 후에 최신 버전까지의 트랜잭션 로그의 요구를 받으면, 소유하고 있는 최신 버전까지의 트랜잭션 로그를 송신한다. 아직 이 종노드(200)(n)에 이상이 발생했다고 간주하고 있지 않지만, 자노드가 최신 버전까지의 트랜잭션 로그를 소유하고 있지 않는 경우는 재개 거부 메시지를 송신한다.
이상과 같으므로 장해가 복구하면 우선 종노드(200)(n)가 리퀘스트 메시지의 송신을 재개한다. 그러면 이 종노드(200)(n)가 최신 버전까지의 트랜잭션 로그를 소유하도록 되므로, 그 자노드(200)(n+1)가 리퀘스트 메시지의 송신을 재개한다. 따라서, 종노드(200)(n)로부터 모든 자손 노드에 이를 때까지, 상층으로부터 차례로 리퀘스트 메시지의 송신을 재개하고, 최종적으로 모든 자손 노드가 장해 발생전의 상태로 복귀한다.
이와 같이 동기 처리의 대상으로부터 제외된 종노드(200)(n)가 검색 지시를 수령하였을 때에는 검색을 실행하는데 즈음하여 최신 버전까지의 트랜잭션 로그를 입수하여 복제 DB를 갱신하기 때문에 마스터 DB와 동기가 취해진 복제 DB를 이용하여 검색할 수 있다.
실시예 3에서는, 나무 구조의 뿌리로서 주노드인 주노드(100)를 가지고, 나무 구조의 절점 및 잎으로서 종노드인 복수의 종노드(200)를 가지는 구조에 있어서, 마스터 DB의 갱신과 관련되는 트랜잭션 로그가, 원칙적으로 그 갱신의 때마다 모든 종노드(200)에 전송되고, 각 종노드(200)에서 복제 DB(202)의 갱신을 하므로 사용자로부터 검색 요구를 받은 종노드(200)는 복제 DB(202)를 사용하여 신속하게 검색을 할 수 있고, 검색 빈도가 높은 경우에도 검색 속도가 저하하지 않는다고 하는 장점이 있다.
또, 접속되어 있는 몇 개의 노드간의 리퀘스트 메시지 또는 응답 메시지에 대해서 소정 시간 이내에 응답이 없을 때는, 하등의 장해가 발생했다고 간주하고, 갱신 요구를 수령한 주노드(100) 및 트랜잭션 로그를 수령한 종노드(200)는 리퀘스트 메시지를 수령하고 있지 않는 자노드(200)를 동기 처리의 대상에서 제외하고, 검색 요구를 수령한 종노드(200)는 답신 메시지를 수령하고 있지 않는 경우는, 종노드(200)로부터 그 모노드에 최신 버전까지의 트랜잭션 로그를 요구하므로 장해 발생시에도 종노드(200)를 동기가 취해진 상태로 유지하면서 동기 처리를 고속으로 실행할 수가 있다.
본 실시예에 있어서, 모노드가 답신 메시지를 송신했을 때로부터 자노드로부터 새로운 리퀘스트 메시지를 수신할 때까지의 시간 Tr3을 T03, Ts3 및 이 자노드의 나무 구조에 있어서의 높이 q를 감안하여 설정하고 있다. 이 때문에, 모노드가 장해를 검지하여 자노드를 동기 처리의 대상에서 제외했음에도 불구하고, 이 자노드(200) 및 그 자손 노드로 되는 모든 종노드(200)가 장해를 알아차리지 못하고서 최신 버전까지의 트랜잭션 로그를 수령하고 있다고 판단하는 것을 방지할 수 있다. 즉, 갱신된 마스터 DB(102)와 동기되어 있지 않은 복제 DB(202)를 사용하여 검색하는 것을 방지할 수 있다.
답신 메시지를 수신하지 못하고 장해를 검지한 종노드(200)는 장해가 복구된 후, 리퀘스트 메시지의 송신을 재개하고, 장해 발생전의 상태로 복귀할 수가 있다. 종노드(200)와의 사이의 일시적인 네트워크의 장해에 대해서 장해가 발생하고 있을 때는 이 종노드(200)를 갱신 요구에 대한 동기의 대상에서 제외하여 갱신 요구를 신속하게 처리하고, 장해가 복구된 후는 다시 동기의 대상에 더하여 이 종노드(200)에 대한 검색 요구를 신속하게 처리할 수 있으므로 시스템 전체의 성능을 향상시킬 수가 있다고 하는 장점이 있다.
본 실시예에 있어서, 통신 모듈(208)(n)로부터 상기 트랜잭션 로그의 요구를 수령하고 나서 소정 시간 이내에, 이 종노드(200)(n-1)의 다른 자노드로부터 최신 버전까지의 트랜잭션 로그의 요구가 들어오면, 그러한 요구를 정리하고 또한 그 모노드에 보낼 수가 있다. 이와 같이 하는 것에 의해 네트워크 트래픽의 부담을 경감할 수 있다.
또한, 본 실시예에 있어서, 리퀘스트 및 답신 메시지의 송수신과 트랜잭션 로그의 요구 및 그 전송을 동일한 통신 경로를 사용하여 실시할 수가 있다. 또, 통신 경로로서 먼저 송신한 메시지가 반드시 먼저 도달하는 것 같은 통신 경로를 사용할 수가 있다. 이에 의해 리퀘스트 메시지와 답신 메시지의 송수신의 확인에 의해 그 통신 경로간의 트랜잭션 로그의 전송이 확실히 행해지고 있는 것을 보증할 수 있다.
<실시예 4>
도 3은 본 발명의 실시예 2와 관련되는 데이터의 복제 관리의 개략을 나타내고, 그 동작에 대해서 도 1 및 도 3을 참조하여 설명한다.
사용자로부터의 데이터의 갱신 요구를 받은 주노드(100)의 DB 백엔드(106)로부터 새로운 갱신과 관련되는 트랜잭션 로그의 전송 지시를 받은 통신 모듈(108)은 그 모든 자노드(200)(1)의 통신 모듈(208)(1)에 상기 트랜잭션 로그를 전송하고, 수령한 통신 모듈(208)(1)은 각각 또한 그 모든 자노드(200)(2)의 통신 모듈(208)(2)에 상기 트랜잭션 로그를 전송한다.
상술의 것은 잎노드(200)(z)의 통신 모듈(208)(z)이 상기 트랜잭션 로그를 수신할 때까지 반복된다.
잎노드(200)(z)의 통신 모듈(208)(z)은 상기 트랜잭션 로그를 수신하였다고 하면, 그 모노드의 통신 모듈(208)(z-1)에 전송 완료를 송신하고, 이 통신 모듈(208)(z-1)은 전송한 모든 잎노드(200)(z)로부터 전송 완료를 수령하면, 또한 그 모노드의 통신 모듈(208)(z-2)에 전송 완료를 송신한다.
상기 전송 완료의 송신을 반복하고, 주노드(100)의 통신 모듈(108)이 모든 종노드(200)(1)로부터 전송 완료를 수령하고, 또한 마스터 DB(102)의 갱신이 종료되었다고 하면, 클라이언트(client)로부터의 데이터의 갱신 요구(갱신 지시)에 따른 갱신 작업은 완료한다.
사용자로부터 요구된 검색은 몇 개의 종노드(200)(k)의 DB 백엔드(206)(k)에 들어가고, 이 종노드(200)(k)가 그 1개 상층의 노드(200)(n-1) 또는 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts3 이내에 답신 메시지를 수령하고, 스스로가 이상을 검지하고 있지 않은 경우, 복제 DB(202)(k)를 사용하여 행해진다.
사용자로부터의 데이터의 검색 요구는 검색 지시로서 몇 개의 종노드(200)(k)의 DB 백엔드(206)(k)에 들어간다. DB 백엔드(206)(k)는 이 검색 지시를 통신 모듈(208)(k)에 송신하고, 이 종노드(200)(k)가 그 모노드(200)(k-1) 또는 주노드(100)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 Ts3 이내에 답신 메시지를 수령한 경우, 통신 모듈(208)(k)은 스스로 소유하는 최신 버전까지의 트랜잭션 로그를 트랜잭션 로그 기입 모듈(210)(k)에 송신한다. 트랜잭션 로그 기입 모듈(210)은 이 트랜잭션 로그를 트랜잭션 로그 기록 영역(204)(k)에 기입한다.
그 다음에, 복원 모듈(212)(k)은 트랜잭션 로그 기록 영역(204)(k)로부터 이 트랜잭션 로그를 호출하고, 복제 DB(202)(k)에 적용함으로써 마스터 DB(102)와 검색 대상으로서 사용되는 복제 DB(202)(k) 사이의 데이터의 복제가 완료되고, 데이터의 검색 요구는 복제 DB(202)(k)를 사용하여 행해진다.
검색 지시를 수령한 종노드(200)(k)가 상기 소정 시간 Ts3 이내에 답신 메시지를 수령하지 않은 경우에 대해서는 실시예 3과 마찬가지이고, 본 실시예에 있어서의 상기 이외의 실시예 3에서 설명한 태양에 대해서도 실시예 3과 마찬가지이다.
본 실시예 특유의 효과는 다음과 같다.
실시예 4에서는, 갱신 지시를 반영한 트랜잭션 로그를 종노드(200)(k)에 송신한 모노드(200)(k-1)는 통신 모듈(208)(k)로부터 이 트랜잭션 로그의 수령 통지를 수령하는 것을 기다리는 것만으로 좋고, 이 트랜잭션 로그가 슬레이브 DB(slave database)(202)(k)에 적용할 때까지 기다릴 필요가 없기 때문에 트랜잭션 로그 전송시의 동기 처리를 신속하게 처리할 수 있다.
또, 검색 지시를 수령한 종노드(200)(k)는 이미 수령하고 있는 최신 버전까지의 트랜잭션 로그를 참조하여 복제 DB(202)(k)의 데이터 갱신을 행하고, 이 복제 DB(202)(k)를 사용하여 검색을 한다.
본 실시예에서는, 트랜잭션 로그의 적용을 지연하여 검색 지시를 수령하였을 때에만 트랜잭션 로그를 적용하여 복제 DB를 갱신하므로, 재차 이 모노드에 최신 버전까지의 트랜잭션 로그를 요구할 필요가 없다고 하는 장점이 있다.
<산업상의 이용 가능성>
이상 설명한 것처럼, 본 발명에 의하면 복수 사이트 사이에서 축차 갱신되는 정보가 정합성을 확보하면서 검색할 수 있는 DB관리 시스템으로서 사용할 수 있다.
100 주노드(master node) 102 마스터DB(master database)
104, 204 트랜잭션 로그(transaction log) 기억 영역
106, 206 DB 백엔드(backend)
108, 208 트랜잭션 로그(transaction log) 기입 모듈
120 네트워크(network)
200 종노드(slave node)
202 복제 DB(replica DB)

Claims (12)

  1. 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 상기 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스 사이의 데이터의 복제 관리 방법으로서,
    검색의 지시를 수령한 상기 종노드는, 이 종노드의 모노드에 하트비트 통신에 있어서의 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 모노드로부터 하트비트 통신에 있어서의 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그의 요구를 상기 모노드에 송신하는 스텝과,
    상기 모노드가 이 트랜잭션 로그를 가지지 않은 경우, 이 모노드는 또한 이 모노드의 모노드에 이 트랜잭션 로그를 요구하는 것을 이 트랜잭션 로그를 가지는 노드에 이를 때까지 반복하는 스텝과,
    이 요구를 수령한 이 트랜잭션 로그를 가지는 노드는, 이 노드의 자노드에 이 트랜잭션 로그를 송신하고, 이 자노드는 또한 그 자노드에 이 트랜잭션 로그를 송신하는 것을 상기 종노드가 이 트랜잭션 로그를 수령할 때까지 반복하는 스텝과,
    상기 종노드는, 수신한 이 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 포함하는 데이터의 복제 관리 방법.
  2. 제1항에 있어서,
    상기 종노드는, 이 종노드의 모노드에 하트비트 통신에 있어서의 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 상기 모노드로부터 상기 하트비트 통신에 있어서의 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 더 포함하는 데이터의 복제 관리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 노드는, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 상기 자노드에 송신한 후에 있어서, 상기 리퀘스트 메시지의 수령시부터 소정 시간(Tr3) 이내에 새로운 리퀘스트 메시지를 수령한 상기 자노드의 모두로부터 전송 완료의 통지를 수령하면, 그 모노드에 전송 완료의 통지를 송신하는 스텝을 포함하는 데이터의 복제 관리 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않는 상기 노드는, 이 노드의 자노드의 어느 한쪽으로부터 이 트랜잭션 로그의 요구를 수령하였을 때로부터 소정 시간 이내에 다른 자노드로부터 이 트랜잭션 로그의 요구를 수령한 경우, 이들의 요구를 정리하고, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 스텝을 포함하는 데이터의 복제 관리 방법.
  5. 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 이 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스를 접속하여 구성되는 데이터의 복제 관리 시스템으로서,
    상기 주노드가, 갱신의 지시에 따라서 상기 마스터 데이터베이스를 갱신하는 수단과,
    이 마스터 데이터베이스의 갱신과 관련되는 트랜잭션 로그를 상기 주노드의 자노드에 송신하는 수단과,
    상기 자노드의 요구에 따라서 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 자노드에 송신하는 수단을 구비하고,
    상기 종노드가, 이 종노드의 모노드에 하트비트 통신에 있어서의 리퀘스트 메시지를 송신했을 때부터 소정 시간(Ts3) 이내에 이 1개 상층의 노드로부터 상기 하트비트 통신에 있어서의 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 모노드에 요구하는 수단과,
    전송된 이 트랜잭션 로그를 참조해 상기 복제 데이터베이스를 갱신하는 수단과,
    상기 노드가 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않은 경우, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 수단과,
    이 트랜잭션 로그를 가지는 경우, 요구한 상기 노드의 자노드에 이 트랜잭션 로그를 송신하는 수단과,
    이 트랜잭션 로그를 상기 노드의 자노드에 송신한 후에 있어서, 상기 리퀘스트 메시지의 수령시부터 소정 시간 이내에 새로운 리퀘스트 메시지를 수령한 이 자노드의 모두로부터 전송 완료의 통지를 수령하면, 상기 모노드 또는 주노드에 전송 완료의 통신을 송신하는 수단을 구비하는 데이터의 복제 관리 시스템.
  6. 제5항에 있어서,
    상기 종노드가, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때부터 소정 시간(Ts3) 이내에 이 모노드로부터 답신 메시지를 수령한 경우, 검색의 지시에 따라서 이미 수령하고 있는 트랜잭션 로그를 참조해 상기 복제 데이터베이스를 갱신하는 수단을 더 구비하는 것을 특징으로 하는 데이터의 복제 관리 시스템.

  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020117024482A 2009-03-19 2010-03-15 데이터의 복제 관리 방법 및 시스템 KR101335101B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009069140 2009-03-19
JPJP-P-2009-069140 2009-03-19
PCT/JP2010/054311 WO2010106991A1 (ja) 2009-03-19 2010-03-15 データの複製管理方法及びシステム

Publications (2)

Publication Number Publication Date
KR20110139739A KR20110139739A (ko) 2011-12-29
KR101335101B1 true KR101335101B1 (ko) 2013-12-03

Family

ID=42739650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117024482A KR101335101B1 (ko) 2009-03-19 2010-03-15 데이터의 복제 관리 방법 및 시스템

Country Status (5)

Country Link
US (1) US8423507B2 (ko)
EP (1) EP2410431B1 (ko)
JP (1) JP4719318B2 (ko)
KR (1) KR101335101B1 (ko)
WO (1) WO2010106991A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056734A1 (ja) 2010-10-26 2012-05-03 株式会社Murakumo データベースの管理方法
JP5812512B2 (ja) * 2011-05-10 2015-11-17 日本電気株式会社 データベースシステム、マスタースレーブ管理方法およびマスタースレーブ管理プログラム
JP5283766B2 (ja) * 2011-07-05 2013-09-04 株式会社Murakumo データベースの管理方法、データベース管理システム、およびプログラム
WO2012169080A1 (ja) * 2011-07-05 2012-12-13 株式会社Murakumo データベースの管理方法
US9251195B2 (en) 2011-07-05 2016-02-02 Murakumo Corporation Method of managing database
ES2723781T3 (es) * 2011-08-03 2019-09-02 Amadeus Sas Método y sistema para mantener consistencia fuerte de contenidos replicados distribuidos en un sistema de cliente/servidor
US9058371B2 (en) * 2011-11-07 2015-06-16 Sap Se Distributed database log recovery
WO2013076819A1 (ja) * 2011-11-22 2013-05-30 株式会社Murakumo データベースの管理方法
JP5960798B2 (ja) * 2012-03-08 2016-08-02 株式会社Murakumo データベースの管理方法
JP5464675B2 (ja) * 2012-04-02 2014-04-09 Necシステムテクノロジー株式会社 ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
JP6008947B2 (ja) 2012-04-18 2016-10-19 株式会社Murakumo データベースの管理方法、データベースシステム、及び、プログラム
US8768891B2 (en) * 2012-04-27 2014-07-01 Sap Ag Ensuring database log recovery consistency
US9348927B2 (en) * 2012-05-07 2016-05-24 Smart Security Systems Llc Systems and methods for detecting, identifying and categorizing intermediate nodes
WO2015116768A2 (en) 2014-01-29 2015-08-06 Sipn, Llc Systems and methods for protecting communications
US9325676B2 (en) 2012-05-24 2016-04-26 Ip Ghoster, Inc. Systems and methods for protecting communications between nodes
US10778659B2 (en) 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
JP5960820B2 (ja) * 2012-07-09 2016-08-02 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
CN103024047A (zh) * 2012-12-17 2013-04-03 江苏乐买到网络科技有限公司 一种数据容错方法
JP6082029B2 (ja) 2012-12-21 2017-02-15 株式会社Murakumo 情報処理方法、情報処理装置、及び、プログラム
US9753980B1 (en) * 2013-02-25 2017-09-05 EMC IP Holding Company LLC M X N dispatching in large scale distributed system
US10963426B1 (en) 2013-02-25 2021-03-30 EMC IP Holding Company LLC Method of providing access controls and permissions over relational data stored in a hadoop file system
CN103425756B (zh) * 2013-07-31 2016-06-29 西安交通大学 一种hdfs中数据块的副本管理策略
US9991514B2 (en) * 2013-08-29 2018-06-05 Lg Chem, Ltd. Method of manufacturing lithium nickel complex oxide, lithium nickel complex oxide manufactured thereby, and cathode active material including the same
US9430545B2 (en) 2013-10-21 2016-08-30 International Business Machines Corporation Mechanism for communication in a distributed database
WO2015145586A1 (ja) * 2014-03-25 2015-10-01 株式会社Murakumo データベースシステム、情報処理装置、方法およびプログラム
EP3125123A4 (en) * 2014-03-25 2017-11-22 Murakumo Corporation Database system, information processing device, method, and program
US9990224B2 (en) * 2015-02-23 2018-06-05 International Business Machines Corporation Relaxing transaction serializability with statement-based data replication
KR101672724B1 (ko) * 2015-05-08 2016-11-04 주식회사 엘지유플러스 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법
US10210520B2 (en) 2015-07-10 2019-02-19 Mastercard International Incorporated Co-processing electronic signals for redundancy
JP6846111B2 (ja) * 2016-02-26 2021-03-24 オムロン株式会社 マスタ装置、スレーブ装置、情報処理装置、イベントログ収集システム、マスタ装置の制御方法、スレーブ装置の制御方法、および制御プログラム
KR101706252B1 (ko) 2016-02-29 2017-02-13 주식회사 티맥스데이터 이기종 데이터베이스들 간의 쿼리 결과를 동기화하기 위한 방법, 서버 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램
JP6239697B2 (ja) * 2016-06-22 2017-11-29 株式会社Murakumo データベースの管理方法
US11222003B1 (en) * 2016-09-28 2022-01-11 Amazon Technologies, Inc. Executing transactions for a hierarchy of data objects stored in a non-transactional data store
CN107908370B (zh) * 2017-11-30 2021-07-06 新华三技术有限公司 数据存储方法及装置
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
US11194930B2 (en) 2018-04-27 2021-12-07 Datatrendz, Llc Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network
US11269679B2 (en) 2018-05-04 2022-03-08 Microsoft Technology Licensing, Llc Resource-governed protocol and runtime for distributed databases with consistency models
CN109032849B (zh) 2018-08-30 2021-03-23 百度在线网络技术(北京)有限公司 热备份系统、热备份方法和计算机设备
US11544232B2 (en) * 2019-12-11 2023-01-03 Western Digital Technologies, Inc. Efficient transaction log and database processing
CN111049928B (zh) * 2019-12-24 2022-03-29 北京奇艺世纪科技有限公司 数据同步方法、系统、电子设备及计算机可读存储介质
US11513574B2 (en) * 2020-02-12 2022-11-29 Arm Limited System and method for controlling a reset procedure
CN112104888B (zh) * 2020-09-18 2022-07-05 北京一起教育信息咨询有限责任公司 一种直播用户分组的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345640A (ja) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp データベースバックアップシステム
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0839352B1 (en) 1995-07-20 2002-10-16 Novell, Inc. Transaction log management in a disconnectable computer and network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
EP1208482A1 (en) * 1998-11-30 2002-05-29 Siebel Systems, Inc. Client server system with thin client architecture
US6889254B1 (en) * 1999-03-30 2005-05-03 International Business Machines Corporation Scalable merge technique for information retrieval across a distributed network
JP3545267B2 (ja) * 1999-07-14 2004-07-21 日本電信電話株式会社 データ複製方法およびデータ複製プログラムを記録した記録媒体
US6694337B1 (en) * 2000-10-26 2004-02-17 Intel Corporation Synchronizing databases
US20020165724A1 (en) * 2001-02-07 2002-11-07 Blankesteijn Bartus C. Method and system for propagating data changes through data objects
US7054910B1 (en) * 2001-12-20 2006-05-30 Emc Corporation Data replication facility for distributed computing environments
US6857053B2 (en) * 2002-04-10 2005-02-15 International Business Machines Corporation Method, system, and program for backing up objects by creating groups of objects
US7158985B1 (en) * 2003-04-09 2007-01-02 Cisco Technology, Inc. Method and apparatus for efficient propagation of large datasets under failure conditions
US7325097B1 (en) * 2003-06-26 2008-01-29 Emc Corporation Method and apparatus for distributing a logical volume of storage for shared access by multiple host computers
US7233991B2 (en) * 2003-08-22 2007-06-19 Clearmesh Networks, Inc. Self-healing tree network
US20050086384A1 (en) * 2003-09-04 2005-04-21 Johannes Ernst System and method for replicating, integrating and synchronizing distributed information
US7552122B1 (en) * 2004-06-01 2009-06-23 Sanbolic, Inc. Methods and apparatus facilitating access to storage among multiple computers
US7734585B2 (en) * 2004-12-03 2010-06-08 Oracle International Corporation Updateable fan-out replication with reconfigurable master association
US7523110B2 (en) * 2005-03-03 2009-04-21 Gravic, Inc. High availability designated winner data replication
JP2006293910A (ja) 2005-04-14 2006-10-26 Kokolink:Kk 安全で高速なデータベース・レプリケーション技術
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7739239B1 (en) * 2005-12-29 2010-06-15 Amazon Technologies, Inc. Distributed storage system with support for distinct storage classes
US7664125B1 (en) * 2006-01-03 2010-02-16 Emc Corporation Indication forwarding in a distributed environment
US20070220059A1 (en) * 2006-03-20 2007-09-20 Manyi Lu Data processing node

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345640A (ja) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp データベースバックアップシステム
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法

Also Published As

Publication number Publication date
US8423507B2 (en) 2013-04-16
JPWO2010106991A1 (ja) 2012-09-20
KR20110139739A (ko) 2011-12-29
EP2410431B1 (en) 2014-05-07
WO2010106991A1 (ja) 2010-09-23
EP2410431A1 (en) 2012-01-25
JP4719318B2 (ja) 2011-07-06
EP2410431A4 (en) 2012-11-28
US20120011098A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
KR101335101B1 (ko) 데이터의 복제 관리 방법 및 시스템
US5805824A (en) Method of propagating data through a distributed information system
US7440977B2 (en) Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster
CN101809558B (zh) 远程异步数据复制系统和方法
EP2996308B1 (en) Massively scalable object storage system
US8117155B2 (en) Collection-based object replication
US9734199B1 (en) Data replication framework
US9268835B2 (en) Data replication framework
JP2019036353A (ja) 索引更新パイプライン
JP2016524750A5 (ko)
US7860827B1 (en) Data synchronization method for an application database available on multiple wirelessly connected platforms
CN103258036A (zh) 一种基于p2p的分布式实时搜索引擎
CN105069152A (zh) 数据处理方法及装置
CN102694863A (zh) 基于负载调整和系统容错的分布式存储系统的实现方法
CN114356844A (zh) 一种基于目录树轮询对比文件快照的方法和装置
KR101825910B1 (ko) 리두 로그 분석 기반의 중립 데이터를 이용한 이기종 데이터베이스의 데이터 동기화 시스템 및 방법
WO2005038614A2 (en) System and method for facilitating asynchronous disconnected operations for data access over a network
CN107465706B (zh) 一种基于无线通信网络的分布式数据对象存储装置
CN112328685A (zh) 一种全对等分布式数据库数据同步方法
CN116383308A (zh) 一种具备全链路反压特性的数据同步方法及系统
JP5685213B2 (ja) 差分レプリケーションシステム、マスターデータベース装置、及びスレーブデータベース装置
JP2002149459A (ja) 冗長化データベース管理・検索システム
CN111031086B (zh) 一种区块链数据存储方法及系统
JP2002330132A (ja) 通信システムにおける管理装置のバックアップシステム
CN113742336A (zh) 一种数据处理方法及设备、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20161004

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 7