KR100956637B1 - 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템 - Google Patents

분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템 Download PDF

Info

Publication number
KR100956637B1
KR100956637B1 KR1020070126926A KR20070126926A KR100956637B1 KR 100956637 B1 KR100956637 B1 KR 100956637B1 KR 1020070126926 A KR1020070126926 A KR 1020070126926A KR 20070126926 A KR20070126926 A KR 20070126926A KR 100956637 B1 KR100956637 B1 KR 100956637B1
Authority
KR
South Korea
Prior art keywords
data
server
data block
replication
block
Prior art date
Application number
KR1020070126926A
Other languages
English (en)
Other versions
KR20090059859A (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 KR1020070126926A priority Critical patent/KR100956637B1/ko
Publication of KR20090059859A publication Critical patent/KR20090059859A/ko
Application granted granted Critical
Publication of KR100956637B1 publication Critical patent/KR100956637B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 모든 복제본이 동일한 데이터를 유지할 수 있도록 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템에 관한 것이다. 이와 같은 본 발명은, 메타데이터 서버가 주 데이터 서버와 백업 데이터 서버들에 파일 데이터 블록을 생성하는 블록 생성 단계와; 클라이언트로부터의 요청에 의해 상기 주 데이터 서버가 파일 데이터 블록에 대한 쓰기 연산을 수행하는 쓰기 연산 단계와; 상기 쓰기 연산이 완료되면 상기 주 데이터 서버가 상기 백업 데이터 서버들에 파일 데이터 블록을 복제하는 복제 단계를 포함하여 구성되어, 비동기식의 데이터 복제에서도 모든 복제본이 동일한 데이터를 유지할 수 있도록 한다.
데이터 복제, 파일 복제, 비동기식, 메타데이터, 데이터 블록

Description

분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템{METHOD FOR ASYNCHRONOUS DATA REPLICATION IN DISTRIBUTED FILE SYSTEM AND SYSTEM THEREOF}
본 발명은 분산파일 시스템에 관한 것으로, 특히 파일 데이터의 복제에 지연이 있더라도 모든 복제본의 동일한 데이터 유지를 보장할 수 있는 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-01, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션 개발].
일반적으로, 파일의 메타데이터를 저장하고 관리하는 메타데이터 서버와 파일 데이터를 저장하고 관리하는 데이터 서버들이 네트워크로 연결되어 구성된 분산파일 시스템에서 파일 데이터에 대한 신뢰성을 제공하면서 읽기 성능을 높이기 위한 방법으로 파일 데이터를 여러 데이터 서버에 분산하여 복제하는 방법을 사용하는데, 이와 같이 파일 데이터를 여러 서버에 분산하여 복제함으로써 서버 고장 등이 발생하더라도 데이터에 대한 손실을 최소화할 수 있도록 한다. 또한 클라이언트 로부터 요청된 동일한 데이터에 대한 읽기 접근 부하를 복제본을 저장하고 있는 여러 데이터 서버로 분산함으로써 읽기 성능을 높일 수 있다.
파일 데이터에 대한 복제는 데이터를 갱신하거나 또는 추가하는 것과 같은 쓰기 연산이 수행될 때 동기식 또는 비동기식으로 이루어질 수 있다.
파일 데이터를 동기식으로 복제하는 경우에는 데이터에 대한 쓰기 연산을 수행할 때마다 모든 데이터 복제본에 대해서도 쓰기 연산을 수행한다. 즉, 파일 데이터에 대한 쓰기 연산은 서로 다른 데이터 서버들에 저장되어 있는 모든 복제본에 대해서도 동일하게 수행된 이후에 완료된다. 따라서 파일 데이터에 대한 쓰기 연산을 수행하기 위해서는 네트워크에 분산되어 있는 여러 데이터 서버에 접근해야 하므로 성능이 저하되고 클라이언트로의 응답시간이 지연되는 문제점이 있다.
파일 데이터를 비동기식으로 복제하는 경우에 데이터에 대한 쓰기 연산은 로컬 또는 주 데이터 서버에서만 수행된 이후에 완료되고, 다른 데이터 서버로의 복제는 지연되어 이루어진다. 따라서 파일 데이터에 대한 쓰기 연산마다 모든 복제본을 접근해야하는 부담을 줄일 수 있으며 클라이언트에 대한 응답시간을 줄일 수 있는 반면에 서버 고장 등의 장애 상황 발생 시에 최근에 쓰여진 데이터 중에서 아직 복제되지 못한 데이터가 손실될 가능성이 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 본 발명의 목적은 모든 복제본이 동일한 데이터를 유지할 수 있도록 하는 분산파일 시 스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템을 제공함에 있다.
본 발명의 다른 목적은 데이터 블록 수준의 복제를 수행할 수 있도록 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 주 데이터 서버에서 복제를 담당하여 수행할 수 있도록 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템을 제공함에 있다.
본 발명의 또 다른 목적은 데이터 블록의 일관성을 보장하면서 복제 및 쓰기 연산을 수행할 수 있도록 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템을 제공함에 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 비동기식 데이터 복제를 위한 분산 파일 시스템은, 파일 시스템의 모든 파일에 대한 메타데이터를 저장 및 관리하고 파일 데이터 블록과 백업 데이터 블록을 저장할 데이터 서버를 결정하고 해당 서버에 데이터 블록을 생성하는 메타데이터 서버와; 데이터 블록에 대한 복제를 담당하는 주 데이터 서버와 이에 대응되는 백업 데이터 블록을 저장하는 백업 데이터 서버를 포함하며, 상기 메타데이터 서버와 네트워크로 연결되어 구성되어 파일의 데이터 및 파일 데이터 블록을 저장 및 관리하는 데이터 서버와; 클라이언트 응용을 수행하면서 상기 메타데이터 서버로부터 제공되는 파일 메타데이터에 접근하고 상기 데이터 서버로부터 직접 파일 데이터를 입출력하는 클라이언트를 포함하여 구성될 수 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법은, 메타데이터 서버가 주 데이터 서버와 백업 데이터 서버들에 파일 데이터 블록을 생성하는 블록 생성 단계와; 클라이언트로부터의 요청에 의해 상기 주 데이터 서버가 파일 데이터 블록에 대한 쓰기 연산을 수행하는 쓰기 연산 단계와; 상기 쓰기 연산이 완료되면 상기 주 데이터 서버가 상기 백업 데이터 서버들에 파일 데이터 블록을 복제하는 복제 단계를 포함하여 이루어질 수 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법은, 클라이언트로부터의 파일에 대한 쓰기 요청에 따라, 메타데이터 서버가 쓰기 연산을 수행할 데이터 블록에 대한 주 데이터 서버와 데이터 블록에 대한 정보, 파일 메타데이터를 상기 클라이언트로 전달하는 제 1 단계와; 상기 클라이언트로부터 상기 주 데이터 서버로 쓰기 요청과 데이터가 전달되면, 상기 주 데이터 서버가 파일 데이터 블록에 대한 일관성을 보장하기 위해 복제 잠금과 쓰기 연산 개수, 현재 변경된 정보를 기록하는 변경 로그를 유지하며 쓰기 연산을 수행하는 제 2 단계와; 상기 주 데이터 서버가 진행 중인 쓰기 연산과 중복되지 않도록 데이터 블록에 대한 복제를 수행하고 그에 따른 변경 정보를 상기 메타데이터 서버로 전달하는 제 3 단계를 포함하여 이루어질 수 있다.
본 발명에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에 따른 분산파일 시스템은, 분산 파일 시스템에서 파일 데이터를 비동기식으로 복제함에 있어서 메타데이터 서버가 복제를 제어하지 않고, 데이터 블록 별로 주 데이터 서버가 백업 데이터 서버들로 데이터 블록을 복제하도록 하면서 동시에 데이터 블록에 대한 일관성을 보장함으로써 모든 복제본이 동일한 데이터를 유지할 수 있도록 하는 효과가 있다.
이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 실시 예에 따른 비동기식 데이터 복제를 위한 분산 파일 시스템의 구성을 나타내는데, 이를 참조하면, 분산 파일 시스템(100)은 클라이언트(110), 메타데이터 서버(120), 데이터 서버(130)로 구성될 수 있다.
클라이언트(110)는 클라이언트 응용을 수행하면서 메타데이터 서버(120)로부터 제공되는 파일 메타데이터에 접근하고 데이터 서버(130)로부터 직접 파일 데이터를 입출력한다.
메타데이터 서버(120)는 파일 시스템의 모든 파일에 대한 메타데이터를 저장하고 관리하며, 모든 데이터 서버(130)에 대한 상태 정보를 관리한다. 또한 파일 데이터를 나누어서 저장할 데이터 블록들을 각 데이터 서버(130)들에 분산하여 생성한다. 이때 데이터 블록이 생성될 데이터 서버(130)를 선정하고, 복제를 담당할 주 데이터 서버와 백업 데이터 블록을 생성할 백업 데이터 서버도 선정한다. 데이터 블록은 유일한 식별자에 의해 구별되며 생성된 데이터 블록에 대한 식별자 정보는 파일의 메타데이터 정보로 유지된다.
데이터 서버(130)는 파일 데이터 블록을 저장하고 관리한다. 데이터 서버(130)는 주기적으로 메타데이터 서버(120)에게 자신의 상태 정보를 보고한다. 데이터 서버(130)는 데이터 블록 별로 복제를 담당하는 주 데이터 서버이거나 백업 데이터 서버의 역할을 수행하게 된다. 이러한 클라이언트(110), 메타데이터 서버(120), 데이터 서버(130)들은 네트워크로 상호 연결된다.
도 2는 본 발명의 실시 예에 따른 분산 파일 시스템에서의 주 데이터 서버의 파일 데이터 블록의 일관성 있는 복제를 위해 사용되는 자료 구조를 나타낸다.
도 2를 참조하면, 메타데이터 서버(120)는 파일에 대한 데이터 블록들과 데이터 블록에 저장된 데이터 서버(130)에 대한 정보를 유지한다. 반면에 모든 데이터 서버(130)는 저장하고 있는 데이터 블록들에 대한 메타데이터(210)를 저장한다.
데이터 블록에 대한 복제를 담당하는 주 데이터 서버는 데이터 블록에 대한 복제를 수행하고 있는 동안 동일한 데이터 블록에 대한 쓰기 연산이 수행될 때 백업 데이터 블록에 대한 일관성을 보장하기 위하여 데이터 블록에 대한 쓰기 연산을 수행하거나 복제를 수행할 때 해당 데이터 블록에 대한 복제 잠금(220)을 획득한다.
또한 주 데이터 서버는 데이터 블록에 대한 복제를 수행하기 이전에 현재 진행 중인 쓰기 연산이 있는지를 검사하고 쓰기 연산과의 동시성 제어를 위해 현재 진행 중인 쓰기 연산의 개수(230)를 유지한다. 따라서 쓰기 연산을 수행할 때는 해당 데이터 블록에 대한 복제 잠금(220)을 획득한 상태에서 쓰기 연산의 개수(230)를 증가시키고 복제 잠금(220)을 해제한다.
그리고 주 데이터 서버는 쓰기 연산이 완료된 이후에는 다시 쓰기 연산의 개수(230)를 감소시킨다. 데이터 블록에 대한 쓰기 연산의 결과는 변경 로그(240)에 반영된다. 변경 로그(240)에는 데이터 블록에서 실제로 변경된 부분에 대한 범위를 나타낸다.
그리고 추후에 데이터 블록을 복제할 때 주 데이터 서버는 변경 로그(240)를 참조하여 실제로 변경된 부분만 복제하도록 함으로써 보다 빠른 복제가 이루어질 수 있도록 한다. 또한 복제가 수행되기 이전에 여러 번의 쓰기 연산이 수행되는 경우에는 각각의 쓰기 연산의 결과가 변경 로그(240)에 통합되어 반영된다.
도 3은 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 메타데이터 서버(120)가 주 데이터 서버와 백업 데이터 서버에 파일 데이터 블록을 생성하는 과정을 나타낸다.
도 3을 참조하면, S310 단계에서 클라이언트(110)는 메타데이터 서버(120)에 파일에 대한 쓰기 요청을 하면서 파일 이름과 쓰기 연산을 수행할 데이터 블록에 대한 인덱스를 보낸다.
그러면 S320 단계에서 메타데이터 서버(120)는 해당 파일에 대한 데이터 블 록이 존재하는지를 판단한다.
해당 데이터 블록이 존재하면 S330 단계에서 메타데이터 서버(120)는 데이터 블록을 저장하고 있는 주 데이터 서버와 데이터 블록에 대한 정보, 그리고 파일 메타데이터를 클라이언트(110)로 전달한다.
한편 해당 데이터 블록이 존재하지 않으면 S340 단계 내지 S350 단계에서 메타데이터 서버(120)는 데이터 블록을 생성할 주 데이터 서버와 백업 데이터 블록을 생성할 백업 데이터 서버를 선정하고 데이터 블록과 백업 데이터 블록의 생성 요청을 한다.
그러면 S360 단계에서 주 데이터 서버와 백업 데이터 서버는 데이터 블록과 백업 데이터 블록을 생성하고 생성된 데이터 블록들에 대한 정보를 메타데이터 서버(120)로 전달한다. 이때 주 데이터 서버는 해당 데이터 블록에 대한 복제를 쓰기 연산이 발생할 때마다 수행되도록 설정한다.
도 4는 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 파일 데이터 블록에 대한 쓰기 연산의 과정을 나타낸다.
도 4를 참조하면, S410 단계에서 클라이언트(110)는 메타데이터 서버(120)에 파일에 대한 쓰기 요청을 하면서 파일 이름과 쓰기 연산을 수행할 데이터 블록에 대한 인덱스를 보낸다.
그러면 S415 단계에서 메타데이터 서버(120)는 쓰기 연산을 수행할 데이터 블록에 대한 주 데이터 서버와 데이터 블록에 대한 정보, 그리고 파일 메타데이터를 클라이언트(110)로 전송한다.
그러면 S420 단계에서 클라이언트(110)는 주 데이터 서버에 데이터 블록에 대한 쓰기 요청과 함께 쓸 데이터를 전송한다.
데이터 블록에 대한 쓰기 요청을 받은 주 데이터 서버는 S425 단계에서 해당 데이터 블록에 대한 복제 잠금을 획득한다.
이어서 주 데이터 서버는 S430 단계에서 현재 데이터 블록에 대해 수행되고 있는 쓰기 연산의 개수를 증가시킨 후, S435 단계에서 복제 잠금을 해제한다.
또한 S440 단계에서 주 데이터 서버는 클라이언트(110)로부터 전송된 데이터를 데이터 블록에 반영하고, S445 단계에서 데이터 블록에 반영된 정보를 변경 로그에 기록한다. 즉 변경 로그에 데이터 블록에서 변경된 범위를 나타낸다.
변경 로그에 기록이 완료되면 주 데이터 서버는 S450 단계에서 데이터 블록에 대한 쓰기 연산 개수를 다시 감소시키고, S455 단계에서 클라이언트(110)에 쓰기 연산의 결과를 전송한다.
그러면 S460 단계에서 클라이언트(110)는 메타데이터 서버(120)에 변경된 파일 메타데이터를 전송한다.
도 5는 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 주 데이터 서버가 파일 데이터 블록을 복제하는 과정을 나타낸다.
도 5를 참조하면, S510 단계에서 주 데이터 서버는 데이터 블록에 대한 복제를 수행하기 위해 먼저 해당 데이터 블록에 대한 복제 잠금을 획득한다.
그리고 S520 단계에서 해당 데이터 블록에 대해 현재 수행되고 있는 쓰기 연산이 있는지를 확인하기 위해 데이터 블록의 쓰기 연산 개수가 0보다 큰지 판단한 다.
데이터 블록의 쓰기 연산 개수가 0보다 크면 현재 수행 중인 쓰기 연산이 있는 것으로 판단하여 S530 단계에서 주 데이터 서버는 해당 쓰기 연산이 완료될 때까지, 즉, 쓰기 연산 개수가 0이 될 때까지 대기한다. 이때 복제 잠금을 획득하고 있으므로 나중에 요청되는 쓰기 연산은 복제 잠금을 획득하기 위해 대기할 수 있다.
대기가 완료되거나 상기 판단 결과 데이터 블록의 쓰기 연산 개수가 0이면 S540 단계에서 주 데이터 서버는 메타데이터 서버(120)로 복제를 수행할 백업 데이터 서버와 백업 데이터 블록에 대한 정보를 요청하여 받아온다.
이어서 S550 단계에서 주 데이터 서버는 데이터 블록에 대한 변경 로그를 참조하여 변경된 데이터만 백업 데이터 서버들로 전송하여 백업 데이터 블록으로 복제한다.
복제가 완료되면 S560 단계에서 주 데이터 서버는 해당 데이터 블록에 대한 복제 잠금을 해제한다.
이어서 S570 단계에서 주 데이터 서버는 메타데이터 서버(120)로 복제로 인해 변경된 백업 데이터 블록에 대한 정보를 전송한다.
이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
도 1은 본 발명의 실시 예에 따른 비동기식 데이터 복제를 위한 분산 파일 시스템의 구성을 나타내는 구성도.
도 2는 본 발명의 실시 예에 따른 분산 파일 시스템에서의 주 데이터 서버의 파일 데이터 블록의 일관성 있는 복제를 위해 사용되는 자료 구조를 나타내는 구조도.
도 3은 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 메타데이터 서버가 주 데이터 서버와 백업 데이터 서버에 파일 데이터 블록을 생성하는 과정을 나타내는 흐름도.
도 4는 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 파일 데이터 블록에 대한 쓰기 연산의 과정을 나타내는 흐름도.
도 5는 본 발명의 실시 예에 따른 분산파일 시스템에서의 비동기식 데이터 복제 방법에서 주 데이터 서버가 파일 데이터 블록을 복제하는 과정을 나타내는 흐름도.

Claims (13)

  1. 파일 시스템의 모든 파일에 대한 메타데이터를 저장 및 관리하고 파일의 데이터 블록과 백업 데이터 블록을 저장할 데이터 서버를 결정하고 해당 서버에 상기 데이터 블록 및 상기 백업 데이터 블록을 생성하는 메타데이터 서버와;
    쓰기 연산 개수를 증가시켜 상기 데이터 블록에 대한 복제 잠금을 해제하고, 쓰기 연산을 수행한 뒤 상기 쓰기 연산 개수를 감소시키는 주 데이터 서버와 이에 대응되는 상기 백업 데이터 블록을 저장하는 백업 데이터 서버를 포함하며, 상기 메타데이터 서버와 네트워크로 연결되어 구성되어 파일의 데이터 블록 및 파일 데이터 블록을 저장 및 관리하는 상기 데이터 서버와;
    클라이언트 응용을 수행하면서 상기 메타데이터 서버로부터 제공되는 파일 메타데이터에 접근하고 상기 데이터 서버로부터 직접 파일 데이터를 입출력하는 클라이언트를 포함하여 구성되는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  2. 제 1항에 있어서, 상기 메타데이터 서버는
    상기 클라이언트로부터 쓰기 요청을 받으면 해당 데이터 블록을 저장하고 있는 상기 주 데이터 서버와 상기 데이터 블록에 대한 정보, 그리고 파일 메타데이터를 클라이언트로 전달하는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  3. 제 2항에 있어서, 상기 주 데이터 서버는
    상기 클라이언트로부터 데이터 블록에 대한 쓰기 요청을 받으면, 해당 데이터 블록에 대한 복제 잠금을 획득한 후 데이터 블록에 대한 쓰기 연산 개수를 증가시키고 상기 복제 잠금을 해제한 후 데이터를 갱신하며, 상기 클라이언트에 갱신된 결과를 전달하는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  4. 제 1항에 있어서, 상기 주 데이터 서버는
    상기 데이터 블록에 대한 일관성을 보장하기 위해 복제 잠금과 쓰기 연산 개수, 그리고 현재 변경된 정보를 기록하는 변경 로그를 유지하는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  5. 제 4항에 있어서, 상기 주 데이터 서버는
    쓰기 연산을 수행할 때 해당 데이터 블록에 대한 복제 잠금을 획득한 상태에서 쓰기 연산의 개수를 증가시키고 복제 잠금을 해제하고, 쓰기 연산이 완료된 후 다시 쓰기 연산의 개수를 감소시키고 데이터 블록에 대한 쓰기 연산의 결과를 변경 로그에 반영하는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  6. 제 5항에 있어서, 상기 주 데이터 서버는
    추후에 데이터 블록을 복제할 때 상기 변경 로그를 참조하여 실제로 변경된 부분만 복제하는 것을 특징으로 하는 비동기식 데이터 복제를 위한 분산 파일 시스템.
  7. 메타데이터 서버가 주 데이터 서버와 백업 데이터 서버들에 파일의 데이터 블록과 백업 데이터 블록을 각각 생성하는 블록 생성 단계와;
    클라이언트로부터의 요청에 의해 상기 주 데이터 서버가 상기 데이터 블록에 대한 쓰기 연산 개수를 증가시켜 상기 데이터 블록에 대한 복제 잠금을 해제하고, 쓰기 연산을 수행한 뒤 상기 쓰기 연산 개수를 감소시키는 쓰기 연산 단계와;
    상기 쓰기 연산이 완료되면 상기 주 데이터 서버가 상기 백업 데이터 서버들의 상기 백업 데이터 블록에 상기 데이터 블록을 복제하는 복제 단계를 포함하여 이루어지는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  8. 제 7항에 있어서, 상기 블록 생성 단계는
    상기 클라이언트가 상기 메타데이터 서버에 쓰기 요청을 하는 단계와;
    상기 메타데이터 서버가 상기 주 데이터 서버와 백업 데이터 서버들에 상기 데이터 블록 및 상기 백업 데이터 블록을 각각 생성하는 단계와;
    상기 메타데이터 서버가 상기 주 데이터 서버와 백업 데이터 서버들로부터 상기 생성된 데이터 블록 정보 및 상기 생성된 백업 데이터 블록 정보를 전달받는 단계를 포함하는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  9. 제 7항에 있어서, 상기 쓰기 연산 단계는
    상기 클라이언트가 상기 주 데이터 서버에 쓰기 요청을 하는 단계와;
    상기 쓰기 요청에 따라 상기 주 데이터 서버가 해당 데이터 블록에 복제 잠금을 획득하는 단계와;
    상기 주 데이터 서버가 상기 데이터 블록에 대한 쓰기 연산 개수를 증가시키고 복제 잠금을 해제하는 단계와;
    상기 주 데이터 서버가 상기 데이터 블록에 쓰기 연산을 수행하는 단계와;
    상기 주 데이터 서버가 상기 데이터 블록에 대한 쓰기 연산 개수를 감소시키는 단계와;
    상기 주 데이터 서버가 상기 데이터 블록에 대한 변경 로그를 작성하는 단계를 포함하는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  10. 제 7항에 있어서, 상기 복제 단계는
    상기 주 데이터 서버가 상기 데이터 블록에 대한 복제를 위해 복제 잠금을 획득하는 단계와;
    상기 주 데이터 서버가 상기 메타데이터 서버로부터 백업 데이터 서버들에 대한 정보를 수신하는 단계와;
    상기 주 데이터 서버가 변경 로그를 참조하여 데이터 블록의 변경된 부분만 상기 백업 데이터 서버들의 상기 백업 데이터 블록에 반영하는 단계와;
    상기 주 데이터 서버가 데이터 블록에 대한 복제 잠금을 해제하는 단계와;
    상기 주 데이터 서버가 상기 메타데이터 서버에 상기 변경된 백업 데이터 블록에 대한 정보를 전달하는 단계를 포함하는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  11. 클라이언트로부터의 파일에 대한 쓰기 요청에 따라, 메타데이터 서버가 쓰기 연산을 수행할 데이터 블록에 대한 주 데이터 서버와 상기 데이터 블록에 대한 정보, 파일 메타데이터를 상기 클라이언트로 전달하는 제 1 단계와;
    상기 클라이언트로부터 상기 주 데이터 서버로 쓰기 요청과 쓰고자 하는 데이터가 전달되면, 상기 주 데이터 서버가 상기 주 데이터 서버가 상기 데이터 블록에 대한 쓰기 연산 개수를 증가시켜 상기 데이터 블록에 대한 복제 잠금을 해제하고, 쓰기 연산을 수행한 뒤 상기 쓰기 연산 개수를 감소시키고, 상기 데이터 블록에 대한 일관성을 보장하기 위해 복제 잠금과 쓰기 연산 개수, 현재 변경된 정보를 기록하는 변경 로그를 유지하며 쓰기 연산을 수행하는 제 2 단계와;
    상기 주 데이터 서버가 진행 중인 쓰기 연산과 중복되지 않도록 데이터 블록에 대한 복제를 수행하고 그에 따른 변경 정보를 상기 메타데이터 서버로 전달하는 제 3 단계를 포함하여 이루어지는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  12. 제 11항에 있어서, 상기 제 2 단계는
    상기 주 데이터 서버가 상기 클라이언트로부터 요청되는 데이터 블록에 대한 쓰기 연산을 수행함에 있어서,
    상기 데이터 블록에 대한 복제 잠금을 획득하는 단계와;
    상기 데이터 블록에 대한 쓰기 연산 개수를 증가시키는 단계와;
    상기 데이터 블록에 대한 복제 잠금을 해제하는 단계와;
    상기 데이터를 갱신하는 단계와;
    상기 클라이언트에 갱신된 결과를 전달하는 단계를 포함하는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
  13. 제 11항에 있어서, 상기 제 3 단계는
    상기 주 데이터 서버가 데이터 블록에 대한 복제를 수행함에 있어서,
    상기 데이터 블록에 대한 복제 잠금을 획득하는 단계와;
    상기 데이터 블록에 대한 쓰기 연산 개수가 0이 될 때까지 대기하는 단계와;
    백업 데이터 서버의 백업 데이터 블록에 상기 데이터 블록을 복제하는 단계와;
    상기 데이터 블록에 대한 복제 잠금을 해제하는 단계와;
    상기 백업 데이터 블록에 상기 데이터 블록의 복제에 따른 변경된 백업 데이터 블록 정보를 메타데이터 서버로 전달하는 단계를 포함하는 것을 특징으로 하는 분산파일 시스템에서의 비동기식 데이터 복제 방법.
KR1020070126926A 2007-12-07 2007-12-07 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템 KR100956637B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070126926A KR100956637B1 (ko) 2007-12-07 2007-12-07 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070126926A KR100956637B1 (ko) 2007-12-07 2007-12-07 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템

Publications (2)

Publication Number Publication Date
KR20090059859A KR20090059859A (ko) 2009-06-11
KR100956637B1 true KR100956637B1 (ko) 2010-05-11

Family

ID=40989892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070126926A KR100956637B1 (ko) 2007-12-07 2007-12-07 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템

Country Status (1)

Country Link
KR (1) KR100956637B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180069651A (ko) 2016-12-15 2018-06-25 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000341A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000342A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000340A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
US10540324B2 (en) 2016-07-29 2020-01-21 Syntekabio Co., Ltd. Human haplotyping system and method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101009149B1 (ko) * 2008-05-26 2011-01-18 엔에이치엔비즈니스플랫폼 주식회사 오너 단위의 파일 그룹화를 이용한 분산 파일 시스템 및파일 연산 방법
KR100988107B1 (ko) * 2008-06-04 2010-10-18 엔에이치엔비즈니스플랫폼 주식회사 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법
KR101335934B1 (ko) * 2009-12-18 2013-12-03 한국전자통신연구원 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법
KR101329759B1 (ko) * 2010-03-15 2013-11-14 한국전자통신연구원 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법
KR101374655B1 (ko) 2010-09-29 2014-03-24 네이버비즈니스플랫폼 주식회사 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법
US8832035B2 (en) * 2011-08-30 2014-09-09 Netapp, Inc. System and method for retaining deduplication in a storage object after a clone split operation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243012A (ja) * 1992-06-10 1994-09-02 Yaskawa Electric Corp 分散システムにおけるファイルの制御方法
KR20020038575A (ko) * 1999-04-26 2002-05-23 엘그레시 도론 분산 컴퓨터 시스템을 통하여 저장된 데이터의 완전성을유지하는 방법
KR20060067119A (ko) * 2004-12-14 2006-06-19 한국전자통신연구원 객체 기반 스토리지를 사용하는 분산 파일 서버에서 장애복구 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243012A (ja) * 1992-06-10 1994-09-02 Yaskawa Electric Corp 分散システムにおけるファイルの制御方法
KR20020038575A (ko) * 1999-04-26 2002-05-23 엘그레시 도론 분산 컴퓨터 시스템을 통하여 저장된 데이터의 완전성을유지하는 방법
KR20060067119A (ko) * 2004-12-14 2006-06-19 한국전자통신연구원 객체 기반 스토리지를 사용하는 분산 파일 서버에서 장애복구 시스템 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540324B2 (en) 2016-07-29 2020-01-21 Syntekabio Co., Ltd. Human haplotyping system and method
KR20180069651A (ko) 2016-12-15 2018-06-25 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000341A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000342A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법
KR20190000340A (ko) 2018-12-20 2019-01-02 (주)신테카바이오 개인 유전체 맵 기반 맞춤의학 분석 플랫폼 및 이를 이용한 분석 방법

Also Published As

Publication number Publication date
KR20090059859A (ko) 2009-06-11

Similar Documents

Publication Publication Date Title
KR100956637B1 (ko) 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
JP2948496B2 (ja) データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
JP5559821B2 (ja) データを記憶する方法、データをミラーリングする方法、命令シーケンスを担持する機械読み取り可能な媒体、および、当該方法をコンピュータに実行させるためのプログラム
KR101915826B1 (ko) 분산 저장 환경에서의 동기 복제 기법
US7480654B2 (en) Achieving cache consistency while allowing concurrent changes to metadata
CN101567805B (zh) 并行文件系统发生故障后的恢复方法
JP5486682B2 (ja) クラウドコンピューティング・ベースの仮想計算機・ファイルシステムにおいてディスク画像を複製するシステム及び方法
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
JP5192226B2 (ja) 待機系計算機の追加方法、計算機及び計算機システム
US8572037B2 (en) Database server, replication server and method for replicating data of a database server by at least one replication server
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
KR100946986B1 (ko) 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법
US20150347250A1 (en) Database management system for providing partial re-synchronization and partial re-synchronization method of using the same
CN105493474B (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
JP5686034B2 (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
WO2022048622A1 (zh) 数据迁移方法、装置、设备、分布式系统及存储介质
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2008217306A (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
WO2023077971A1 (zh) 事务处理方法、装置、计算设备及存储介质
JP2023541298A (ja) トランザクション処理方法、システム、装置、機器、及びプログラム
US20100145911A1 (en) Serverless Replication of Databases
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
CN115495495A (zh) 事务处理方法、分布式数据库系统、集群及介质
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用

Legal Events

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

Payment date: 20130325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 10