KR20110139739A - 데이터의 복제 관리 방법 및 시스템 - Google Patents
데이터의 복제 관리 방법 및 시스템 Download PDFInfo
- Publication number
- KR20110139739A KR20110139739A KR1020117024482A KR20117024482A KR20110139739A KR 20110139739 A KR20110139739 A KR 20110139739A KR 1020117024482 A KR1020117024482 A KR 1020117024482A KR 20117024482 A KR20117024482 A KR 20117024482A KR 20110139739 A KR20110139739 A KR 20110139739A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- transaction log
- slave
- update
- slave node
- Prior art date
Links
- 230000010076 replication Effects 0.000 title claims description 29
- 238000000034 method Methods 0.000 title claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 53
- 238000007726 management method Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 99
- 230000005856 abnormality Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 16
- 230000001360 synchronised effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit or communication errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
시스템 전체의 성능 향상을 도모하면서, 축차 갱신되는 데이터에 대해서 데이터의 동기를 유지하면서, 신속한 검색을 가능하게 하는 데이터의 복제 관리를 실시한다. 검색의 지시를 수령한 종노드는, 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 주노드로부터 답신 메시지를 수령하지 않은 경우, 주노드에 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 요구하는 스텝과, 이 요구를 수령한 주노드는, 종노드에 상기 트랜잭션 로그를 송신하는 스텝과, 종노드는, 주노드로부터 전송된 상기 트랜잭션 로그를 참조하여 복제 데이터베이스를 갱신하는 스텝을 포함한다.
Description
본 발명은, 데이터의 복제 관리 방법 및 시스템에 관한 것이고, 보다 상세하게는, 네트워크에 접속된 하나의 계산기(노드(node))의 데이터베이스와 검색 요구가 있은 다른 노드의 데이터베이스 사이의 데이터의 복제 관리 방법 및 시스템에 관한 것이다.
근년, 트랜잭션 로그(transaction log)를 응용하여 복제 시스템을 실현하려고 하는 기술이 제안되어 있다. 트랜잭션 로그는 데이터베이스(database)에 가해진 변경의 이력을 데이터베이스의 기록 영역과는 다른 영역에 기록함으로써 변경의 영속성을 유지하면서 조작의 고속성을 실현할 수가 있다. 트랜잭션 로그에는 모든 갱신의 이력이 보존되기 때문에 트랜잭션 로그가 보존되어 있으면 데이터베이스의 갱신은 모두 재구축 할 수 있다.
트랜잭션 로그에 의한 데이터의 동기 방법으로서 전송원 노드(주노드(master node))가 트랜잭션 로그의 기록 영역에의 기록을 개시하고, 복제 시스템 내에 존재하는 다른 모든 노드에 동일한 트랜잭션 로그를 전송하고, 전송처 노드(종노드(slave node))가 트랜잭션 로그의 수신을 완료한 후, 주노드에 완료를 통지하고, 주노드가 모든 종노드로부터 완료의 통지를 수취하고, 또한 자신의 기록 영역에의 기록 처리가 종료했을 때, 주노드와 종노드의 데이터의 동기 처리를 완료하는 방법이 제안되어 있다(예를 들면, 특허 문헌 1 참조). 이 방법에서는 종노드가 검색을 행할 때에 다시 주노드에 최신의 정보를 문의할 필요가 없기 때문에 검색 처리를 빠르게 실행할 수가 있다.
그렇지만, 상기의 데이터의 동기 방법에서는 주노드의 데이터베이스(이하, 「데이터베이스」를 「DB」라고 하는 일이 있음)를 갱신, 삭제, 삽입(이하, 「갱신, 삭제, 삽입」을 단지 「갱신」이라고 하는 일이 있음)할 때마다 모든 복제 DB(replica DB)(특허 문헌 1에 있어서 「전송처 노드의 데이터베이스」)와의 동기 처리를 행하므로, 몇 개의 노드 또는 그 통신 경로 등에 장애가 있어 몇 개의 복제 DB 동기 처리에 시간이 걸리면, 동기 처리의 완료까지 시간이 걸려 시스템 전체의 성능이 저하한다고 하는 과제가 있다.
본 발명은 상기의 과제를 개량하고, 시스템 전체의 성능 향상을 도모하면서, 축차 갱신되는 데이터에 대해서 데이터의 동기를 유지하면서, 신속한 검색을 가능하게 하는 데이터의 복제 관리 방법 및 시스템을 제공하는 것을 주목적으로 한다.
본 발명의 제1의 관점에 의하면, 검색 지시를 수령한 종노드는, 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 주노드로부터 답신 메시지를 수령하지 않은 경우, 주노드에 마스터 DB(master database)의 갱신과 관련되는 최신 버전(version)까지의 트랜잭션 로그를 요구하고, 이 요구를 수령한 주노드는, 종노드에 이 트랜잭션 로그를 송신하고, 종노드는, 주노드로부터 전송된 이 트랜잭션 로그를 참조하여 복제 DB를 갱신하는 것을 특징으로 한다.
본 발명에 있어서, 검색 지시를 수령한 종노드는, 상기 소정 시간(Ts1) 이내에 주노드로부터 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 복제 데이터베이스를 갱신하는 것이 바람직하다. 이에 의해 트랜잭션 로그의 적용을 지연하여 검색 지시를 수령하였을 때에만 트랜잭션 로그를 적용하고 나서 복제 DB를 갱신하므로, 특히 검색 빈도가 높지 않은 경우에 시스템 전체의 성능을 향상시킬 수가 있다.
본 발명에 있어서, 갱신의 지시를 수령한 주노드는, 리퀘스트(request) 메시지의 수령시부터 소정 시간(Tr1) 이내에 새로운 리퀘스트 메시지를 수령한 종노드의 모두로부터 전송 완료의 통지를 수령하고, 또한 마스터 DB의 갱신을 완료하면, 갱신의 지시에 따른 갱신을 완료하는 것이 바람직하다. 이에 의해 주노드는, 종노드 중 통신에 시간이 걸리는 노드를 제외한 노드와 동기 처리를 실행할 수가 있어 몇 개의 종노드 또는 그 통신 경로에 장해가 생겼다고 해도 갱신 처리를 신속하게 완료할 수가 있다.
본 발명의 제2의 관점에 의하면, 검색의 지시를 수령한 종노드는, 그 모노드(parent node)에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 모노드로부터 답신 메시지를 수령하지 않은 경우, 마스터 DB의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 모노드에 요구하고, 이 모노드가 이 트랜잭션 로그를 가지지 않은 경우, 이 모노드는 또한 그 모노드에 이 트랜잭션 로그를 요구하는 것을 이 트랜잭션 로그를 가지는 노드에 이를 때까지 반복하고, 이 요구를 수령한 이 트랜잭션 로그를 가지는 노드는, 그 자노드(child node)에 이 트랜잭션 로그를 송신하고, 이 송신을 수령한 이 자노드는 또한 그 자노드에 이 트랜잭션 로그를 송신하는 것을 상기 종노드가 이 트랜잭션 로그를 수령할 때까지 반복하고, 이 종노드는 전송된 이 트랜잭션 로그를 참조하여 복제 DB를 갱신하는 것을 특징으로 한다.
본 발명에 있어서, 검색 지시를 수령한 종노드는, 상기 소정 시간(Ts3) 이내에 상기 모노드로부터 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 복제 DB를 갱신하는 것이 바람직하다. 이에 의해 트랜잭션 로그의 적용을 지연하여 검색 지시를 수령하였을 때에만 트랜잭션 로그를 적용하고 나서 복제 DB를 갱신하므로, 특히 검색 빈도가 높지 않은 경우에 시스템 전체의 성능을 향상시킬 수가 있다.
본 발명에 있어서, 각 노드는, 마스터 DB의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 그 자노드에 송신한 후에 있어서, 리퀘스트 메시지의 수령시부터 소정 시간(Tr3) 이내에 새로운 리퀘스트 메시지를 수령한 상기 자노드의 모두로부터 전송 완료의 통지를 수령하면, 그 모노드에 전송 완료의 통지를 송신하는 것이 바람직하다.
이에 의해 각 노드는, 통신에 시간이 걸리는 노드를 제외한 노드와 동기 처리를 실행할 수가 있어 몇 개의 노드 또는 그 통신 경로에 장해가 생겨도 갱신 처리를 신속하게 완료할 수가 있다.
본 발명의 데이터의 복제 관리 방법 및 시스템에 의하면, 검색 지시를 수령한 종노드가, 그 모노드 또는 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간 이내에 답신 메시지를 수신하지 않은 경우, 최신 버전까지의 트랜잭션 로그를 가지는 노드 또는 주노드로부터 전송된 이 트랜잭션 로그를 참조하여 복제 DB가 갱신된다. 따라서, 몇 개의 노드 또는 통신 경로에 장해가 생겨도 신속하게 동기 처리를 할 수가 있고, 사용자는, 마스터 DB와 동기가 취해진 복제 DB를 이용하여 검색할 수 있다. 즉, 시스템 전체의 성능의 향상이 도모되어 신속한 검색을 제공할 수가 있다.
도 1은 본 발명의 하나의 실시예와 관련되는 데이터의 복제 관리를 나타내는 설명도이다.(실시예 1 및 2)
도 2는 종노드와 주노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 1 및 2)
도 3은 본 발명의 하나의 실시예와 관련되는 나무(tree) 구조의 데이터의 복제 관리를 나타내는 설명도이다.(실시예 3 및 4)
도 4는 종노드와 그 모노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 3 및 4)
도 2는 종노드와 주노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 1 및 2)
도 3은 본 발명의 하나의 실시예와 관련되는 나무(tree) 구조의 데이터의 복제 관리를 나타내는 설명도이다.(실시예 3 및 4)
도 4는 종노드와 그 모노드 사이의 하트비트(heartbeat) 통신을 나타내는 설명도이다.(실시예 3 및 4)
이하, 첨부 도면을 참조하면서 본 발명을 실시하기 위한 형태에 대해서 상세하게 설명하지만, 본 발명은 이에 한정되어 해석되는 것은 아니고, 본 발명의 범위를 일탈하지 않는 한에 있어서, 당업자의 지식에 기초하여 여러 가지의 갱신, 수정, 개량을 가할 수 있는 것이다. 또, 이하의 실시예에 있어서 실시예 1과 동일 부재에 대해서는 동일한 부호를 붙이고 그 중복된 설명은 생략한다.
<실시예 1>
도 1은 본 발명의 실시예 1과 관련되는 데이터의 복제 관리의 개략을 나타내고, 주노드(100)와, 주노드(100)와 네트워크(120)를 통해 접속되어 있는 복수(N개)의 종노드를 가진다. 여기서, 복수의 종노드는 모두 동일한 구성이고, 동일한 번호 200을 붙인다.
주노드(100)는 주노드(100)에 의해 관리되는 마스터 DB(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)
104, 204 트랜잭션 로그(transaction log) 기억 영역
106, 206 DB 백엔드(backend)
108, 208 트랜잭션 로그(transaction log) 기입 모듈
120 네트워크(network)
200 종노드(slave node)
202 복제 DB(replica DB)
Claims (12)
- 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드에 접속된 종노드에 의해 상기 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스 사이의 데이터의 복제 관리 방법으로서,
검색의 지시를 수령한 상기 종노드는, 상기 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 상기 주노드로부터 답신 메시지를 수령하지 않은 경우, 상기 주노드에 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 요구하는 스텝과,
이 요구를 수령한 상기 주노드는, 상기 종노드에 상기 트랜잭션 로그를 송신하는 스텝과,
상기 종노드는, 상기 주노드로부터 전송된 상기 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 포함하는 데이터의 복제 관리 방법. - 제1항에 있어서,
상기 종노드는, 상기 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 상기 주노드로부터 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 더 포함하는 데이터의 복제 관리 방법. - 제1항 또는 제2항에 있어서,
갱신의 지시를 수령한 상기 주노드는, 상기 리퀘스트 메시지의 수령시부터 소정 시간(Tr1) 이내에 새로운 리퀘스트 메시지를 수령한 종노드의 모두로부터 전송 완료의 통지를 수령하고, 또한 상기 마스터 데이터베이스의 갱신을 완료하면, 상기 갱신의 지시에 따른 갱신을 완료하는 스텝을 포함하는 데이터의 복제 관리 방법. - 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 상기 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스 사이의 데이터의 복제 관리 방법으로서,
검색의 지시를 수령한 상기 종노드는, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 모노드로부터 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 상기 모노드에 요구하는 스텝과,
상기 모노드가 이 트랜잭션 로그를 가지지 않은 경우, 이 모노드는 또한 이 모노드의 모노드에 이 트랜잭션 로그를 요구하는 것을 이 트랜잭션 로그를 가지는 노드에 이를 때까지 반복하는 스텝과,
이 요구를 수령한 이 트랜잭션 로그를 가지는 노드는, 이 노드의 자노드에 이 트랜잭션 로그를 송신하고, 이 자노드는 또한 그 자노드에 이 트랜잭션 로그를 송신하는 것을 상기 종노드가 이 트랜잭션 로그를 수령할 때까지 반복하는 스텝과,
상기 종노드는, 전송된 이 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 포함하는 데이터의 복제 관리 방법. - 제4항에 있어서,
상기 종노드는, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 상기 모노드로부터 답신 메시지를 수령한 경우, 이미 수령하고 있는 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 스텝을 더 포함하는 데이터의 복제 관리 방법. - 제4항 또는 제5항에 있어서,
상기 노드는, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 상기 자노드에 송신한 후에 있어서, 상기 리퀘스트 메시지의 수령시부터 소정 시간(Tr3) 이내에 새로운 리퀘스트 메시지를 수령한 상기 자노드의 모두로부터 전송 완료의 통지를 수령하면, 그 모노드에 전송 완료의 통지를 송신하는 스텝을 포함하는 데이터의 복제 관리 방법. - 제4항 내지 제6항 중 어느 한 항에 있어서,
상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않는 상기 노드는, 이 노드의 자노드의 어느 한쪽으로부터 이 트랜잭션 로그의 요구를 수령하였을 때로부터 소정 시간 이내에 다른 자노드로부터 이 트랜잭션 로그의 요구를 수령한 경우, 이들의 요구를 정리하고, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 스텝을 포함하는 데이터의 복제 관리 방법. - 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드에 접속된 종노드에 의해 이 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스를 접속하여 구성되는 데이터의 복제 관리 시스템으로서,
상기 주노드가, 갱신의 지시에 따라서 상기 마스터 데이터베이스를 갱신하는 수단과, 이 마스터 데이터베이스의 갱신과 관련되는 트랜잭션 로그를 상기 종노드에 송신하는 수단과, 상기 종노드의 요구에 따라서 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 종노드에 송신하는 수단을 구비하고,
상기 종노드가, 상기 주노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts1) 이내에 상기 주노드로부터 답신 메시지를 수령하지 않은 경우, 검색의 지시에 따라서 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 주노드에 요구하는 수단과, 상기 주노드로부터 전송된 이 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 수단을 구비하는 데이터의 복제 관리 시스템. - 제8항에 있어서,
상기 종노드가, 상기 소정 시간(Ts1) 이내에 상기 주노드로부터 답신 메시지를 수령한 경우, 검색의 지시에 따라서 이미 수령하고 있는 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 수단을 더 구비하는 데이터의 복제 관리 시스템. - 주노드에 의해 관리되는 마스터 데이터베이스와, 이 주노드를 뿌리로 하여 나무 구조에 접속된 복수의 종노드에 의해 상기 마스터 데이터베이스와 동일 내용으로 되도록 관리되고, 검색 대상으로서 사용되는 복제 데이터베이스를 접속하여 구성되는 데이터의 복제 관리 시스템으로서,
상기 주노드가, 갱신의 지시에 따라서 상기 마스터 데이터베이스를 갱신하는 수단과, 상기 마스터 데이터베이스의 갱신과 관련되는 트랜잭션 로그를 상기 주노드의 자노드에 송신하는 수단과, 이 자노드의 요구에 따라서 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 자노드에 송신하는 수단을 구비하고,
상기 종노드가, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 1개 상층의 노드로부터 답신 메시지를 수령하지 않은 경우, 상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 이 모노드에 요구하는 수단과, 전송된 이 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 수단을 구비하는 데이터의 복제 관리 시스템. - 제10항에 있어서,
상기 종노드가, 이 종노드의 모노드에 리퀘스트 메시지를 송신했을 때로부터 소정 시간(Ts3) 이내에 이 모노드로부터 답신 메시지를 수령한 경우, 검색의 지시에 따라서 이미 수령하고 있는 트랜잭션 로그를 참조하여 상기 복제 데이터베이스를 갱신하는 수단을 더 구비하는 데이터의 복제 관리 시스템. - 제10항 또는 제11항에 있어서,
상기 노드가,
상기 마스터 데이터베이스의 갱신과 관련되는 최신 버전까지의 트랜잭션 로그를 가지지 않는 경우, 상기 노드의 모노드에 이 트랜잭션 로그를 요구하는 수단과, 이 트랜잭션 로그를 가지는 경우, 요구한 상기 노드의 자노드에 이 트랜잭션 로그를 송신하는 수단과,
이 트랜잭션 로그를 상기 노드의 자노드에 송신한 후에 있어서, 상기 리퀘스트 메시지의 수령시부터 소정 시간 이내에 새로운 리퀘스트 메시지를 수령한 이 자노드의 모두로부터 전송 완료의 통지를 수령하면, 상기 모노드 또는 주노드에 전송 완료의 통지를 송신하는 수단을 데이터의 복제 관리 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2009-069140 | 2009-03-19 | ||
JP2009069140 | 2009-03-19 | ||
PCT/JP2010/054311 WO2010106991A1 (ja) | 2009-03-19 | 2010-03-15 | データの複製管理方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110139739A true KR20110139739A (ko) | 2011-12-29 |
KR101335101B1 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101672724B1 (ko) * | 2015-05-08 | 2016-11-04 | 주식회사 엘지유플러스 | 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법 |
KR101706252B1 (ko) * | 2016-02-29 | 2017-02-13 | 주식회사 티맥스데이터 | 이기종 데이터베이스들 간의 쿼리 결과를 동기화하기 위한 방법, 서버 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램 |
KR20180016530A (ko) * | 2015-07-10 | 2018-02-14 | 마스터카드 인터내셔날, 인코포레이티드 | 대리 기능성을 위한 상호 처리 전자 신호 |
KR20200093561A (ko) * | 2017-12-28 | 2020-08-05 | 드롭박스, 인크. | 클라이언트 동기화 서비스를 위한 원격 트리 업데이트 |
Families Citing this family (39)
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 | データベースの管理方法 |
EP2544107A1 (en) * | 2011-07-05 | 2013-01-09 | Murakumo Corporation | Method of managing a 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システムテクノロジー株式会社 | ミラーリングシステム、ノード、ミラーリング方法、及びプログラム |
EP2840501A4 (en) | 2012-04-18 | 2015-12-09 | Murakumo Corp | DATABASE MANAGEMENT PROCEDURES, DATABASE SYSTEM AND PROGRAM |
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 |
US10778659B2 (en) | 2012-05-24 | 2020-09-15 | Smart Security Systems Llc | System and method for protecting communications |
US9325676B2 (en) | 2012-05-24 | 2016-04-26 | Ip Ghoster, Inc. | Systems and methods for protecting communications between nodes |
WO2014010014A1 (ja) * | 2012-07-09 | 2014-01-16 | 株式会社Murakumo | ツリー構造の管理方法、情報処理システム、及び、プログラム |
CN103024047A (zh) * | 2012-12-17 | 2013-04-03 | 江苏乐买到网络科技有限公司 | 一种数据容错方法 |
EP2937788A4 (en) | 2012-12-21 | 2016-06-22 | Murakumo Corp | INFORMATION PROCESSING METHOD, INFORMATION PROCESSING DEVICE, AND PROGRAM |
US9563648B2 (en) * | 2013-02-25 | 2017-02-07 | EMC IP Holding Company LLC | Data analytics platform over parallel databases and distributed file systems |
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 |
US10382595B2 (en) | 2014-01-29 | 2019-08-13 | Smart Security Systems Llc | Systems and methods for protecting communications |
WO2015145586A1 (ja) | 2014-03-25 | 2015-10-01 | 株式会社Murakumo | データベースシステム、情報処理装置、方法およびプログラム |
WO2015145587A1 (ja) * | 2014-03-25 | 2015-10-01 | 株式会社Murakumo | データベースシステム、情報処理装置、方法およびプログラム |
US9990224B2 (en) * | 2015-02-23 | 2018-06-05 | International Business Machines Corporation | Relaxing transaction serializability with statement-based data replication |
JP6846111B2 (ja) * | 2016-02-26 | 2021-03-24 | オムロン株式会社 | マスタ装置、スレーブ装置、情報処理装置、イベントログ収集システム、マスタ装置の制御方法、スレーブ装置の制御方法、および制御プログラム |
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 | 新华三技术有限公司 | 数据存储方法及装置 |
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 | 北京一起教育信息咨询有限责任公司 | 一种直播用户分组的方法及系统 |
CN113778331B (zh) * | 2021-08-12 | 2024-06-07 | 联想凌拓科技有限公司 | 一种数据处理方法、主节点及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69624359D1 (de) | 1995-07-20 | 2002-11-21 | Novell Inc | Transaktionslogverwaltung in einem netz abtrennbarer rechner |
US6049809A (en) * | 1996-10-30 | 2000-04-11 | Microsoft Corporation | Replication optimization system and method |
WO2000033217A1 (en) * | 1998-11-30 | 2000-06-08 | 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 |
JP2003345640A (ja) * | 2002-05-28 | 2003-12-05 | Mitsubishi Electric Corp | データベースバックアップシステム |
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 |
US7433898B1 (en) * | 2004-06-01 | 2008-10-07 | Sanbolic, Inc. | Methods and apparatus for shared storage journaling |
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 |
US7778972B1 (en) * | 2005-12-29 | 2010-08-17 | Amazon Technologies, Inc. | Dynamic object replication within a distributed storage system |
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 |
JP2009015476A (ja) | 2007-07-03 | 2009-01-22 | Hitachi Ltd | Cdpリモート構成におけるジャーナル管理方法 |
-
2010
- 2010-03-15 JP JP2010536265A patent/JP4719318B2/ja active Active
- 2010-03-15 EP EP10753483.6A patent/EP2410431B1/en active Active
- 2010-03-15 KR KR1020117024482A patent/KR101335101B1/ko active IP Right Grant
- 2010-03-15 WO PCT/JP2010/054311 patent/WO2010106991A1/ja active Application Filing
- 2010-03-15 US US13/257,070 patent/US8423507B2/en active Active
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101672724B1 (ko) * | 2015-05-08 | 2016-11-04 | 주식회사 엘지유플러스 | 미들티어, 이를 포함하는 데이터 처리 시스템, 및 데이터베이스 이관 방법 |
US11373188B2 (en) | 2015-07-10 | 2022-06-28 | Mastercard International Incorporated | Co-processing electronic signals for redundancy |
KR20180016530A (ko) * | 2015-07-10 | 2018-02-14 | 마스터카드 인터내셔날, 인코포레이티드 | 대리 기능성을 위한 상호 처리 전자 신호 |
US10210520B2 (en) | 2015-07-10 | 2019-02-19 | Mastercard International Incorporated | Co-processing electronic signals for redundancy |
KR101706252B1 (ko) * | 2016-02-29 | 2017-02-13 | 주식회사 티맥스데이터 | 이기종 데이터베이스들 간의 쿼리 결과를 동기화하기 위한 방법, 서버 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램 |
US10324924B2 (en) | 2016-02-29 | 2019-06-18 | TmaxData Co., Ltd. | Synchronizing query result between heterogeneous databases |
US11461365B2 (en) | 2017-12-28 | 2022-10-04 | Dropbox, Inc. | Atomic moves with lamport clocks in a content management system |
US11500897B2 (en) | 2017-12-28 | 2022-11-15 | Dropbox, Inc. | Allocation and reassignment of unique identifiers for synchronization of content items |
US11308118B2 (en) | 2017-12-28 | 2022-04-19 | Dropbox, Inc. | File system warnings |
US11386116B2 (en) | 2017-12-28 | 2022-07-12 | Dropbox, Inc. | Prevention of loss of unsynchronized content |
US11423048B2 (en) | 2017-12-28 | 2022-08-23 | Dropbox, Inc. | Content management client synchronization service |
US11429634B2 (en) | 2017-12-28 | 2022-08-30 | Dropbox, Inc. | Storage interface for synchronizing content |
KR20200093561A (ko) * | 2017-12-28 | 2020-08-05 | 드롭박스, 인크. | 클라이언트 동기화 서비스를 위한 원격 트리 업데이트 |
US11475041B2 (en) | 2017-12-28 | 2022-10-18 | Dropbox, Inc. | Resynchronizing metadata in a content management system |
US11500899B2 (en) | 2017-12-28 | 2022-11-15 | Dropbox, Inc. | Efficient management of client synchronization updates |
US11314774B2 (en) | 2017-12-28 | 2022-04-26 | Dropbox, Inc. | Cursor with last observed access state |
US11514078B2 (en) | 2017-12-28 | 2022-11-29 | Dropbox, Inc. | File journal interface for synchronizing content |
US11593394B2 (en) | 2017-12-28 | 2023-02-28 | Dropbox, Inc. | File system warnings application programing interface (API) |
US11630841B2 (en) | 2017-12-28 | 2023-04-18 | Dropbox, Inc. | Traversal rights |
US11657067B2 (en) | 2017-12-28 | 2023-05-23 | Dropbox Inc. | Updating a remote tree for a client synchronization service |
US11669544B2 (en) | 2017-12-28 | 2023-06-06 | Dropbox, Inc. | Allocation and reassignment of unique identifiers for synchronization of content items |
US11704336B2 (en) | 2017-12-28 | 2023-07-18 | Dropbox, Inc. | Efficient filename storage and retrieval |
US11755616B2 (en) | 2017-12-28 | 2023-09-12 | Dropbox, Inc. | Synchronized organization directory with team member folders |
US11782949B2 (en) | 2017-12-28 | 2023-10-10 | Dropbox, Inc. | Violation resolution in client synchronization |
US11836151B2 (en) | 2017-12-28 | 2023-12-05 | Dropbox, Inc. | Synchronizing symbolic links |
US11880384B2 (en) | 2017-12-28 | 2024-01-23 | Dropbox, Inc. | Forced mount points / duplicate mounts |
Also Published As
Publication number | Publication date |
---|---|
JP4719318B2 (ja) | 2011-07-06 |
US8423507B2 (en) | 2013-04-16 |
EP2410431B1 (en) | 2014-05-07 |
WO2010106991A1 (ja) | 2010-09-23 |
EP2410431A4 (en) | 2012-11-28 |
US20120011098A1 (en) | 2012-01-12 |
JPWO2010106991A1 (ja) | 2012-09-20 |
EP2410431A1 (en) | 2012-01-25 |
KR101335101B1 (ko) | 2013-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101335101B1 (ko) | 데이터의 복제 관리 방법 및 시스템 | |
US5805824A (en) | Method of propagating data through a distributed information system | |
EP2996308B1 (en) | Massively scalable object storage system | |
US7440977B2 (en) | Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster | |
CN101809558B (zh) | 远程异步数据复制系统和方法 | |
US8117155B2 (en) | Collection-based object replication | |
US7653668B1 (en) | Fault tolerant multi-stage data replication with relaxed coherency guarantees | |
CN105359099B (zh) | 索引更新管线 | |
JP5092234B2 (ja) | 情報処理装置、分散同期型情報システム、情報同期方法、及び、プログラム | |
JP2016524750A5 (ko) | ||
CN103870570A (zh) | 一种基于远程日志备份的HBase数据可用性及持久性的方法 | |
CN113168404A (zh) | 用于在分布式数据库系统中复制数据的系统和方法 | |
JP5278540B2 (ja) | オペレーションシステムのデータ管理方法及びサーバ | |
US20080281954A1 (en) | Capability requirements for group membership | |
JP2024026143A (ja) | 最終的に一貫性のあるデータベース複製への切り替え | |
KR101605455B1 (ko) | 데이터 손실 없는 데이터베이스 리두 로그 이중화 방법 및 그를 위한 시스템 | |
JP2006323663A (ja) | 情報処理システムとレプリケーション方法並びに差分情報保持装置とプログラム | |
KR101825910B1 (ko) | 리두 로그 분석 기반의 중립 데이터를 이용한 이기종 데이터베이스의 데이터 동기화 시스템 및 방법 | |
WO2020027840A1 (en) | Distributed recovery of server information | |
CN102316154A (zh) | 优化对基于联盟基础结构的资源的访问 | |
JP5480046B2 (ja) | 分散トランザクション処理システム、装置、方法およびプログラム | |
CN116383308A (zh) | 一种具备全链路反压特性的数据同步方法及系统 | |
US20090240719A1 (en) | Accumulating star knowledge in replicated data protocol | |
CN109995848B (zh) | 一种基于区块链和智能合约的系统配置数据管理方法 | |
JP2002330132A (ja) | 通信システムにおける管理装置のバックアップシステム |
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 |