KR100988107B1 - 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법 - Google Patents

분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법 Download PDF

Info

Publication number
KR100988107B1
KR100988107B1 KR1020080052529A KR20080052529A KR100988107B1 KR 100988107 B1 KR100988107 B1 KR 100988107B1 KR 1020080052529 A KR1020080052529 A KR 1020080052529A KR 20080052529 A KR20080052529 A KR 20080052529A KR 100988107 B1 KR100988107 B1 KR 100988107B1
Authority
KR
South Korea
Prior art keywords
replica
data
server
state
state data
Prior art date
Application number
KR1020080052529A
Other languages
English (en)
Other versions
KR20090126444A (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 KR1020080052529A priority Critical patent/KR100988107B1/ko
Publication of KR20090126444A publication Critical patent/KR20090126444A/ko
Application granted granted Critical
Publication of KR100988107B1 publication Critical patent/KR100988107B1/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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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

Landscapes

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

Abstract

분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법이 개시된다. 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 데이터 서버가 복제본 및 제1 복제본 상태 데이터를 저장하고 유지하는 단계, 상기 데이터 서버가 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 단계, 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계 및 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계를 포함할 수 있다.
분산 파일 시스템, 복제본, 복제본 상태 매칭, 오너, 메타데이터

Description

분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법{DISTRIBUTED FILE SYSTEM AND FILE CONSISTENCY MANAGEMENT METHOD USING REPLICA STATE MATCHING}
본 발명은 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법에 관한 것으로, 보다 자세하게는, 분산 파일 시스템을 구성하는 서버들이 관리하는 복제본 상태를 매칭시킴으로써, 파일 연산을 수행하는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법에 관한 것이다.
최근, 대량의 파일 데이터를 저장하기 위해 다수의 저가(low price)의 서버를 이용하여 분산 파일 시스템을 구축하는 방법이 제시되고 있다. 이러한 분산 파일 시스템은 다수의 저가의 서버가 파일 데이터를 분산하여 처리하기 때문에, 비용과 성능 면에서 탁월한 효과를 발휘한다.
다만, 저가의 서버를 이용하는 경우, 파일 데이터에 장애가 빈번하게 발생된다. 즉, 저가의 서버를 이용하면, 분산 파일 시스템을 구성하기 위한 하드웨어 비용을 줄일 수 있는 장점이 있지만, 동시에 저가의 서버에 따른 높은 장애 발생 빈도 때문에 시스템의 연산 능력이 저하되는 단점도 동시에 존재한다.
상기 단점을 극복하기 위해, 분산 파일 시스템은 파일에 대한 복제본을 이용할 수 있다. 그러나, 분산 파일 시스템은 다수의 서버로 구성되어 있어, 동일한 복제본에 대해 상기 서버들 각각이 인식하고 있는 복제본 상태가 다를 수 있다. 이러한 문제점으로 인해, 분산 파일 시스템이 파일 연산을 수행하는 경우, 동일한 복제본에 대한 내용이 서버마다 달라질 수 있기 때문에, 시스템 전체의 파일 일관성을 저하시키는 원인이 될 수 있다.
따라서, 시스템 전체의 파일 일관성을 유지하면서 파일 연산을 수행할 수 있는 방법이 요구된다.
본 발명은 분산 파일 시스템을 구성하는 모든 구성 요소들이 저장하고 있는 복제본 상태 데이터들이 동일하게 매칭되는 경우, 파일 연산이 수행되도록 함으로써, 시스템 전체의 파일 일관성을 유지할 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 제공한다.
본 발명은 데이터 서버가 자신이 관리하는 복제본 상태 및 다른 데이터 서버의 서버 상태를 저장하고 유지함으로써, 데이터 서버의 장애 발생시 발생하는 오버 헤드를 줄일 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 제공한다.
본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 데이터 서버가 복제본(replica) 및 제1 복제본 상태 데이터를 저장하고 유지하는 단계, 상기 데이터 서버가 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 단계, 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계 및 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 클라이언트 서버가 제1 복제본 상태 데이터를 저장하고 유지하는 단계, 상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계 및 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 데이터 서버는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부, 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 파일 연산 요청 수신부, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 데이터 매칭 판단부 및 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 파일 연산 수행부를 포함할 수 있다.
본 발명의 일실시예에 따른 클라이언트 서버는 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부, 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버에 전송하는 파일 연산 요청 전송부 및 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 파일 연산 결과 수신부를 포함할 수 있다.
본 발명에 따르면, 분산 파일 시스템을 구성하는 모든 구성 요소들이 저장하고 있는 복제본 상태 데이터들이 동일하게 매칭되는 경우, 파일 연산이 수행되도록 함으로써, 시스템 전체의 파일 일관성을 유지할 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법이 제공된다.
본 발명에 따르면, 데이터 서버가 자신이 관리하는 복제본 상태 및 다른 데이터 서버의 서버 상태를 저장하고 유지함으로써, 데이터 서버의 장애 발생시 발생하는 오버 헤드를 줄일 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법이 제공된다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 분산 파일 시스템에 의해 수행될 수 있다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 전체 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템은 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103)를 포함할 수 있다. 본 발명의 일실시예에 따른 데이터 서버의 개수는 제한이 없다.
본 발명의 일실시예에 따른 분산 파일 시스템에 있어 클라이언트 서버(101)는 복수일 수 있다. 일례로, 메타데이터 서버(102)와 복수의 데이터 서버(103)가 하나의 클러스터를 구성할 수 있다. 이 때, 분산 파일 시스템은 적어도 하나의 클 러스터를 포함할 수 있다.
데이터 서버(103)는 오너(owner) 별 복제본(replica)을 저장할 수 있다. 일례로, 오너는 데이터 서버(103)에 저장된 파일을 그룹화하는 단위로, 상기 파일의 디렉토리에 기초하여 결정될 수 있다. 다시 말해, 오너 별 복제본은 오너 별로 그룹화된 파일의 집합을 의미한다. 오너에 대해서 도 2에서 구체적으로 설명된다.
메타데이터 서버(102)는 오너 별 복제본의 저장 위치 정보로 구성된 상기 오너 별 메타데이터를 저장할 수 있다. 이 때, 오너 별 복제본의 저장 위치 정보는 상기 오너 별 복제본이 저장된 데이터 서버(103)의 리스트를 의미한다.
클라이언트 서버(101)는 메타데이터 서버(102)에 소정의 오너에 대한 메타데이터를 요청하여 메타데이터를 반환 받을 수 있다. 이 때, 소정의 오너는 클라이언트 서버(101)가 처리하고자 하는 파일이 속한 오너를 의미한다. 그러면, 클라이언트 서버(101)는 메타데이터를 통해 상기 소정의 오너의 복제본 저장 위치인 데이터 서버(103)를 확인할 수 있다.
이 때, 클라이언트 서버(101), 메타데이터 서버(102), 복수의 데이터 서버(103) 각각은 특정 복제본에 대한 복제본 상태 데이터를 저장할 수 있다. 이 때, 메타데이터 서버(102)는 복수의 데이터 서버(103) 각각이 관리하는 복제본 상태를 주기적으로 반영하여 최신 상태의 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본 상태 데이터는 복제본이 정상 상태(Normal: N), 장애 상태(Failure: F), 복구 상태(Recovery: R) 또는 이동 상태(Migration: M)인지 여부를 나타낸다.
클라이언트 서버(101)는 사용자 레벨에 해당하는 서버이기 때문에, 메타데이터 서버(102)의 복제본 상태 데이터를 즉각적으로 반영하기 어려우므로 시스템 전체의 파일 일관성이 보장되지 않을 수 있다. 이러한 문제를 해결하기 위해, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭(replica state matching)을 통해 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103) 각각이 관리하는 복제본 상태 데이터가 서로 동일하도록 제어함으로써, 시스템 전체의 파일 일관성이 유지되도록 할 수 있다.
도 1에서 볼 수 있듯이, 클라이언트 서버(101)는 오너의 복제본이 저장된 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다. 이 때, 파일 연산의 내용에 따라 클라이언트 서버(101)가 데이터 서버(103)에 파일 연산 요청하는 방식이 달라질 수 있다. 예를 들면, 파일 쓰기 연산 또는 파일 삭제 연산의 경우, 복제본의 내용을 변경시키는 파일 연산 요청에 해당한다. 이 때, 클라이언트 서버(101)는 분산 파일 시스템 전체의 파일 일관성 유지를 위해 동일한 오너에 대한 복제본을 저장하는 모든 데이터 서버(103)에 복제본의 내용을 변경시키는 파일 연산 요청을 전송할 수 있다.
이 때, 클라이언트 서버(101)는 파일 연산 요청에 자신이 관리하는 복제본 상태 데이터를 포함시켜, 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다. 일례로, 데이터 서버(103)는 자신이 저장하고 있는 복제본 상태 데이터와 클라이언트 서버(101)가 포함시킨 복제본 상태 데이터 간에 서로 매칭하는 지 여부를 판단할 수 있다. 이 때, 복제본 상태 데이터의 매칭 결과에 따라 데이터 서버(103)는 파일 연산을 수행할 지 여부를 결정할 수 있다. 만약, 복제본 상태 데이터가 매칭하는 경우, 데이터 서버(103)는 파일 연산을 수행하고, 복제본 상태 데이터가 매칭하지 않는 경우, 데이터 서버(103)는 파일 연산 요청을 거절할 수 있다.
이 경우, 클라이언트 서버(101)는 자신의 복제본 상태 데이터를 메타데이터 서버(102)의 복제본 상태 데이터를 참고하여 업데이트 할 수 있다. 클라이언트 서버(101)는 업데이트된 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송 할 수 있다. 그러면, 데이터 서버(103)는 재전송된 파일 연산 요청에 포함된 복제본 상태 데이터를 이용하여 복제본 상태 데이터의 매칭 여부를 재차 판단할 수 있다.
최종적으로, 복제본 상태 데이터가 매칭될 때까지 복제본 상태 데이터를 업데이트하는 과정 및 업데이트된 복제본 상태 데이터를 이용하여 파일 연산 요청을 전송하는 과정이 반복될 수 있다. 복제본 상태 매칭에 대해서는 도 3 내지 도 8에서 좀더 구체적으로 설명된다.
도 2는 본 발명의 일실시예에 따라 디렉토리에 기초한 오너 단위로 파일을 그룹화하고, 오너의 복제본이 데이터 서버에 저장되는 일례를 도시한 도면이다.
도 2를 참고하면, 데이터 서버에 저장된 파일 디렉토리(201)가 도시되어 있다. 이 때, 파일 디렉토리(201)는 서브 디렉토리인 dir1로 구성되어 있다. 이 때, 서브 디렉토리 dir1에 file 1, file 2, file 3이 저장되어 있다. 본 발명의 일실시예에 따르면, 오너(owner)는 파일의 디렉토리에 기초하여 결정될 수 있다. 다시 말해서, 오너는 데이터 서버에 실제 저장된 파일의 디렉토리와 대응될 수 있 다.
결국, 데이터 서버의 파일은 오너 단위에 따라 관리될 수 있다. 즉, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 각각에 대해 관리하는 것이 아니라 파일의 디렉토리(즉, 오너 단위)별로 관리하여 파일을 효율적으로 관리할 수 있다. 그리고, 파일이 디렉토리 단위인 오너로 관리되기 때문에, 적은 용량의 파일의 개수가 기하급수적으로 증가하더라도 분산 파일 시스템이 처리하는 메타데이터의 양은 상대적으로 덜 증가하게 된다.
이 때, 도 2를 참고하면, 파일의 디렉토리인 dir/dir1는 오너 1로 결정될 수 있다. 그리고, dir 디렉토리에 대해서도 오너 1과 다른 오너가 결정될 수 있다. 만약, 파일 디렉토리(201)에 dir/dir2, dir/dir3인 디렉토리가 존재한다면, 상기 디렉토리 각각은 오너 1과 다른 오너 2, 오너 3으로 결정될 수 있다. 즉, 데이터 서버에 저장된 파일은 오너 단위에 따라 그룹화될 수 있다.
본 발명의 일실시예에 따르면, 분산 파일 시스템은 오너 별 복제본을 생성할 수 있다. 이 때, 오너 별로 생성되는 복제본의 개수는 제한이 없다. 도 2를 참고하면, dir/dir1인 디렉토리가 오너 1으로 결정되는 경우, 오너 1에 대한 3개의 복제본 X(202-1, 202-2, 202-3)가 생성되는 것을 알 수 있다. 이 때, 오너 별로 생성되는 복제본의 개수는 제한이 없다.
그러면, 데이터 서버는 오너 별로 생성된 복제본 중 어느 하나를 저장할 수 있다. 예를 들어, 오너 1에 대해 복수의 복제본 X가 생성되고, 오너 2에 대해 복수의 복제본 Y가 생성되는 경우, 데이터 서버 각각은 복제본 X 하나 또는 복제본 Y 하나를 저장할 수 있다. 결국, 데이터 서버는 하나의 복제본을 저장함으로써 복수의 파일을 관리할 수 있다.
도 2에서 볼 수 있듯이, 오너 1에 대해 복제본 X가 3개가 생성되는 경우, 복제본 X(202-1)는 데이터 서버 1(103-1)에 저장되고, 복제본 X(202-2)는 데이터 서버 2(103-2)에 저장될 수 있다. 또한, 오너 1에 대한 복제본 X(202-3)는 데이터 서버 3(103-3)에 저장될 수 있다. 이 때, 데이터 서버 1(103-1), 데이터 서버 2(103-2) 또는 데이터 서버 3(103-3)은 오너 1과 다른 오너에 대한 복제본도 저장할 수 있다. 즉, 데이터 서버 각각에 저장되는 오너 별 복제본의 개수는 제한이 없다.
따라서, 빈번한 장애를 효과적으로 처리하기 위해 본 발명의 일실시예에 따른 분산 파일 시스템은 하나의 오너에 대한 복수 개의 복제본을 물리적으로 다른 데이터 서버(103)에 저장할 수 있다. 결국, 특정 데이터 서버에 오류가 발생하여 어느 하나의 복제본에 장애가 발생하더라도 분산 파일 시스템은 장애가 없는 복제본을 이용하여 장애가 발생한 복제본을 복구할 수 있다.
그리고, 분산 파일 시스템을 구성하는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 또는 데이터 서버 3(103-3) 각각은 복제본 상태 데이터를 관리할 수 있다. 그리고, 분산 파일 시스템을 구성하는 클라이언트 서버(101) 및 메타데이터 서버(102)도 복제본 상태 데이터를 관리할 수 있다.
이 때, 데이터 서버 1(103-1), 데이터 서버 2(103-2) 또는 데이터 서버 3(103-3) 각각이 별도로 복제본을 저장하고 있기 때문에, 분산 파일 시스템은 구성 요소들이 각자 관리하는 복제본 상태 데이터를 서로 동일하도록 매칭시킴으로써, 복제본이 그룹화하여 관리하는 파일의 일관성을 유지할 수 있다. 파일 일관성을 유지하는 과정은 파일 연산 과정 중의 클라이언트 서버(101)와 메타데이터 서버(102) 간의 복제본 상태 매칭을 통해 이루어 질 수 있다.
도 3은 본 발명의 일실시예에 따라 복제본 상태가 전환되는 과정을 도시한 도면이다.
본 발명의 일실시예에 따른 분산 파일 시스템은 데이터 서버(103)에 발생된 장애를 일시적 장애와 영구적 장애로 구분하여 처리할 수 있다. 이 때, 메타데이터 서버(102)는 분산 파일 시스템을 구성하는 데이터 서버들(103)의 상태를 감시하여, 장애의 유형을 일시적 장애 또는 영구적 장애로 판정할 수 있다.
이 때, 일시적 장애는 데이터 서버 자체의 결함보다는 외부적인 요인(예, 네트워크상 순간 장애)에 의해 발생한 후 짧은 시간 내에 정상으로 돌아오는 장애를 의미한다. 이와 달리, 영구적 장애는 데이터 서버 자체의 결함(예. 전원 공급부 고장)으로 인해 발생하여 정상적인 동작을 할 수 없는 장애를 의미한다.
도 3을 참고하면, 복제본 상태가 N(Normal)인 경우, 데이터 서버(103)는 장애가 없는 정상 상태를 의미한다. 데이터 서버(103)에 장애 발생이 감지되면, 복제본 상태는 F(Failure)가 된다.
이 후, 일시적 장애가 해소되어 데이터 서버(103)가 복제본 복구를 수행하는 경우, 복제본 상태는 R(Recovery)이 된다. 이 때, 데이터 서버(103)에 재차 일시적 장애가 발생되면, 복제본 상태는 F로 되돌아간다. 그리고, 복제본의 복구가 완 료되면, 복제본 상태는 R에서 N으로 전환될 수 있다.
복제본 상태가 F에서, 영구적 장애의 발생이 감지되면, 복제본 이동이 시작되면서 복제본 상태는 M(Migration)으로 전환된다. 만약, 복제본의 이동이 실패되면, 복제본 상태는 M에서 F로 전환될 수 있다. 그리고, 복제본의 이동이 완료되면, 복제본 상태는 M에서 N으로 전환될 수 있다.
이 때, 복제본이 F 상태인 경우, 파일 연산에 대한 MO(Missed Operation) 로그가 생성될 수 있다. 이 때, MO 로그는 일시적 장애 발생 시점부터 일시적 장애 해소 시점까지의 장애 기간 동안 클라이언트 서버(101)가 데이터 서버(103)에 요청한 파일 연산 내용이 기록된 로그를 의미할 수 있다.
그리고, 복제본이 R 상태이거나 또는 M 상태인 경우, 파일 연산에 대한 DO(Delayed Operation) 로그가 생성될 수 있다. 이 때, DO 로그는 복제본이 복구 중이거나 복제본이 이동 중일 때, 클라이언트 서버(101)가 데이터 서버(103)에 요청한 파일 연산 내용이 기록된 로그를 의미할 수 있다.
일시적 장애의 경우, 데이터 서버(103)는 MO 로그를 재연하여 복제본을 복구하고, 복제본 복구 종료 후 DO 로그를 재연하여 지연된 파일 연산을 수행함으로써 최종적으로 장애를 처리할 수 있다. 그리고, 영구적 장애의 경우, 데이터 서버(103)는 복제본을 이동시키고, 복제본 이동 완료 후 DO 로그를 재연하여 지연된 파일 연산을 수행함으로써 최종적으로 장애를 처리할 수 있다.
일례로, 분산 파일 시스템을 구성하는 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103) 각각은 자신들이 인식하는 복제본 상태 데이 터를 저장하고 유지할 수 있다. 이 때, 데이터 서버(103)가 자신이 관리하는 복제본의 복제본 상태와 다른 데이터 서버들이 관리하는 상기 복제본과 동일한 복제본의 복제본 상태를 나타내는 복제본 상태 데이터를 유지한다고 가정할 수 있다. 만약, 데이터 서버(103)에 장애가 발생하는 경우, 장애 처리를 위해 복수의 데이터 서버(103)가 관리하는 모든 복제본을 검색해야 하므로, 상당한 오버헤드가 발생할 수 있다.
따라서, 본 발명의 일실시예에 따르면, 데이터 서버 각각은 자신이 관리하는 복제본의 복제본 상태와 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 서버 상태는 상기 다른 데이터 서버들이 저장하는 복제본의 복제본 상태가 대체된 것을 의미할 수 있다. 또한, 메타데이터 서버(102)도 복제본을 저장하고 있는 모든 데이터 서버(103)의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 유지할 수 있다.
본 발명의 일실시예에 따르면, 분산 파일 시스템은 복제본의 상태가 전환될 때, 복제본 상태 데이터를 업데이트하여 시스템 전체의 파일 일관성을 유지할 수 있다. 즉, 복제본 상태 데이터를 참고하여 복제본에 대한 파일 연산 요청이 전송되기 때문에, 분산 파일 시스템의 구성 요소가 관리하는 복제본 상태 데이터가 서로 다른 경우 동일한 복제본을 저장하는 데이터 서버 간에 파일 일관성이 유지되지 않는 문제점이 발생될 수 있다.
이러한 문제점은 클라이언트 서버(101)는 사용자 수준의 서버이기 때문에, 복제본의 상태가 전환되는 것을 즉각적으로 업데이트 하기 어렵기 때문에 발생될 수 있다. 따라서, 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭을 통해 파일 일관성을 유지할 수 있다.
도 4는 본 발명의 일실시예에 따른 분산 파일 시스템이 복제본 상태 매칭을 이용하여 파일 연산을 수행하는 과정을 설명하기 위한 도면이다.
도 4를 참고하면, 데이터 서버 1(103-1), 데이터 서버 2(103-2) 및 데이터 서버 3(103-3)은 동일한 오너 별 복제본(X)을 저장할 수 있다. 그리고, 클라이언트 서버(101)는 복제본 상태 데이터(401)를, 메타데이터 서버(102)는 복제본 상태 데이터(402)를 저장하고 유지할 수 있다. 또한, 데이터 서버 1(103-1)는 복제본 상태 데이터(403)를, 데이터 서버 2(103-2)는 복제본 상태 데이터(404)를, 그리고 데이터 서버 3(103-3)은 복제본 상태 데이터(405)를 저장하고 유지할 수 있다.
일례로, 데이터 서버는 자신이 저장하는 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 데이터 서버의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 관리할 수 있다. 도 4를 참고하면, 복제본 상태 데이터(401)의 경우, 데이터 서버 1(103-1)는 자신이 관리하는 복제본의 상태는 정상 상태이고, 데이터 서버 2(103-2)의 서버 상태는 정상 상태이며, 데이터 서버 3(103-3)의 서버 상태는 복구 상태라고 인식할 수 있다.
도 4는 복제본 상태 매칭에 의해 파일 연산이 거절되는 일례를 나타낸다. 구체적으로, 도 4는 데이터 서버 3(103-3)에 일시적 장애가 발생하여 데이터 서버 3(103-3)에 저장된 복제본이 F 상태가 되었다가, 일시적 장애가 해소되어 복제본이 복구되고 있는 상태를 나타낸다. 이 때, 도 4는 데이터 서버 3(103-3)이 일시적 장애가 해소된 후 다시 정상 상태로 돌아와 메타데이터 서버 (102)와 데이터 서버들(103-1, 103-2, 103-3)에게 복제본이 F 상태에서 R 상태로 바뀌었음을 통지한 이후의 상황을 도시하고 있다. 이 때, 클라이언트 서버(101)는 복제본이 R 상태로 바뀐 이후에 파일 연산 요청을 전송하지 않았기 때문에, 클라이언트 서버(101)가 인식하는 복제본 상태 데이터(401)는 여전히 (N, N, F)이다.
구체적으로 보면, 클라이언트 서버(101)는 사용자 레벨의 서버에 해당하여 데이터 서버들(103-1, 103-2, 103-3)의 서버 상태가 변경되는 것을 즉각적으로 파악하기 힘들 수 있다. 즉, 클라이언트 서버(101)는 데이터 서버들(103-1, 103-2, 103-3)의 상태 변경을 복제본 상태 데이터(403)에 신속하게 업데이트 하지 못할 수 있다.
그러면, 클라이언트 서버(101)는 복제본 상태 데이터(401)에 따라 F 상태인 데이터 서버 3(103-3)을 제외한 데이터 서버 1(103-1) 및 데이터 서버 2(103-2)에 복제본을 변경하는 파일 연산 요청을 전송할 수 있다. 결과적으로, 데이터 서버 1(103-1)와 데이터 서버 2(103-2)는 파일 연산 요청에 따라 변경된 복제본을 저장하나, 데이터 서버 3(103-3)은 변경되지 않은 복제본을 저장한다. 이 경우, 분산 파일 시스템 전체적으로 파일 일관성이 유지되지 않는다.
따라서, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중 복제본 상태 매칭을 통해 시스템 전체의 파일 일관성을 유지할 수 있다. 이하에서, 복제본 상태 매칭을 통해 파일 일관성을 유지하는 과정이 설명된다.
도 4를 참고하면, 클라이언트 서버(101)는 복제본 상태 데이터(401)에 따라 F 상태인 데이터 서버 3(103-3)을 제외한 데이터 서버 1(103-1) 및 데이터 서버 2(103-2)에 복제본을 변경하는 파일 연산 요청을 전송할 수 있다. 이 때, 클라이언트 서버(101)는 복제본 상태 데이터(401)를 파일 연산 요청에 포함시킬 수 있다.
그러면, 데이터 서버 1(103-1)은 복제본 상태 데이터(401)와 복제본 상태 데이터(403)가 매칭하는 지 여부를 판단할 수 있다. 또한, 데이터 서버 2(103-2)도 복제본 상태 데이터(401)와 복제본 상태 데이터(404)가 매칭하는 지 여부를 판단할 수 있다. 그러나, 복제본 상태 데이터(401)인 (N, N, F)와 복제본 상태 데이터(403)인 (N, N, R)은 매칭하지 않기 때문에, 데이터 서버 1(103-1)은 클라이언트 서버(101)의 파일 연산 요청을 거절할 수 있다. 데이터 서버 2(103-2)도 마찬가지다.
그러면, 클라이언트 서버(101)는 복제본 상태 데이터(401)를 메타데이터 서버(102)에 저장된 복제본 상태 데이터(402)와 동일하도록 업데이트 할 수 있다. 즉, 클라이언트 서버(101)는 복제본 상태 데이터(401)인 (N, N, F)를 복제본 상태 데이터(402)인 (N, N, R)과 동일하도록 변경할 수 있다.
여기서, 메타데이터 서버(102)는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 및 데이터 서버 3(103-3) 각각이 관리하는 복제본 상태를 복제본 상태 데이터(402)에 주기적으로 반영할 수 있다.
구체적으로, 메타데이터 서버(102)는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 및 데이터 서버 3(103-3) 각각이 관리하는 복제본 상태가 대체된 서버 상 태를 복제본 상태 데이터(402)로 구성할 수 있다. 이 때, 메타데이터 서버(102)는 데이터 서버들의 상태를 실시간으로 감지하여, 현재 데이터 서버의 상태를 복제본 상태 데이터(402)에 반영할 수 있다.
그 후, 클라이언트 서버(101)는 업데이트된 복제본 상태 데이터(401)인 (N, N, R)를 포함하는 파일 연산 요청을 데이터 서버들(103-1, 103-2, 103-3) 모두에게 다시 전송할 수 있다. 이 때, 데이터 서버들(103-1, 103-2, 103-3)은 복제본 상태 데이터가 매칭하는 지 여부를 다시 판단할 수 있다.
이 때, 복제본 상태 데이터가 서로 매칭하면 데이터 서버들(103-1, 103-2, 103-3) 각각은 파일 연산을 수행하고, 매칭하지 않는 경우, 또 다시 파일 연산 요청에 대해 거절할 수 있다. 상기 과정은 복제본 상태 데이터가 서로 매칭할 때까지 반복될 수 있다.
따라서, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭을 통해 시스템 전체의 파일 일관성을 유지할 수 있다.
도 5는 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 데이터 서버의 입장에서 설명하는 플로우차트이다.
도 5에서 설명되는 데이터 서버(103)는 본 발명의 일실시예에 따른 분산 파일 시스템을 구성하는 복수의 데이터 서버(103) 중 어느 하나의 데이터 서버(103)를 의미한다.
단계 S501에서, 데이터 서버(103)는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미 할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다.
일례로, 제1 복제본 상태 데이터는 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 상기 다른 데이터 서버(103)들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 의미할 수 있다.
도 4를 참고하여 예를 들면, 데이터 서버 1(103-1)은 복제본 X에 대한 복제본 상태(N)와 데이터 서버 2(103-2) 및 데이터 서버 3(103-3)의 서버 상태(N)를 나타내는 복제본 상태 데이터(403)를 저장할 수 있다. 이 때, 데이터 서버 2(103-2) 및 데이터 서버 3(103-3)의 서버 상태(N)는 데이터 서버 2(103-2) 및 데이터 서버 3(103-3)이 저장하는 복제본 X의 복제본 상태가 대체된 것을 의미한다.
단계 S502에서, 데이터 서버(103)는 클라이언트 서버(101)로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신할 수 있다. 제2 복제본 상태 데이터는 클라이언트 서버(101)가 저장하는 복제본 상태 데이터를 의미한다.
단계 S503에서, 데이터 서버(103)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다. 이 때, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 경우, 단계 S504에서, 데이터 서버(103)는 파일 연산 요청에 응답하여 파일 연산을 수행할 수 있다.
반면에, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 단계 S505에서, 데이터 서버(103)는 파일 연산 요청을 거절할 수 있다. 단계 S506에서, 데이터 서버(103)는 클라이언트 서버(101)로부터 업데이트된 제2 복 제본 상태 데이터를 포함하는 파일 연산 요청을 재수신할 수 있다.
이 때, 클라이언트 서버(101)는 제2 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 여기서, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버(103)들의 현재 서버 상태로 구성될 수 있다. 즉, 메타데이터 서버(102)는 데이터 서버(103)들의 최신 상태를 반영하는 제3 복제본 상태 데이터를 저장할 수 있다. 이 때, 메타데이터 서버(102)와 연결된 데이터 서버(103)들의 현재 서버 상태는 상기 데이터 서버(103)들이 저장하고 있는 복제본 상태가 대체된 것일 수 있다.
그러면, 다시 단계 S503에서, 데이터 서버(103)는 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 지 다시 판단할 수 있다. 이 때, 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 경우, 단계 S504가 진행되고, 그렇지 않는 경우 단계 S505, 단계 506이 반복적으로 수행된다.
도 6은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 클라이언트 서버(101)의 입장에서 설명하는 플로우차트이다. 참고로, 도 5에서 설명되는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터는 도 6의 설명과 별개이다.
단계 S601에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 저장하고 유지할 수 있다.
단계 S602에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 포함하는 파인 연산 요청을 데이터 서버(103)에 전송할 수 있다.
단계 S603에서, 제1 복제본 상태 데이터와 데이터 서버(103)가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 클라이언트 서버(101)는 데이터 서버(103)로부터 파일 연산 결과를 수신할 수 있다. 이 때, 데이터 서버(103)는 오너 별 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다. 일례로, 데이터 서버(103)는 제1 복제본 상태와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다. 제1 복제본 상태와 제2 복제본 상태가 매칭하는 경우 데이터 서버(103)는 파일 연산을 수행하여 파일 연산 결과를 클라이언트 서버(101)에 반환할 수 있다.
일례로, 제2 복제본 상태 데이터는 오너 별 복제본의 복제본 상태 및 상기 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각이 저장하는 복제본의 복제본 상태가 대체된 것을 의미할 수 있다.
단계 S604에서, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 클라이언트 서버(101)는 데이터 서버(103)로부터 파일 연산 요청에 대한 거절 응답을 수신할 수 있다. 그리고, 단계 S605에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 업데이트 할 수 있다.
구체적으로, 단계 S605에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버(103)의 현재 서버 상태로 구성될 수 있다. 즉, 메타데이터 서버(102)는 제3 복제본 상태 데이터를 데이터 서버(103)의 최신 서버 상태로 갱신할 수 있다.
그러면, 다시 단계 S602에서, 클라이언트 서버(101)는 업데이트된 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송할 수 있다. 그리고, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터 사이의 매칭 결과에 따라 단계 S603 또는 단계 S604로 진행될 수 있다. 즉, 1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭될 때까지 단계 S604와 단계 S605는 반복적으로 수행될 수 있다.
도 7은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 데이터 서버의 전체 구성을 도시한 블록 다이어그램이다.
도 7을 참고하면, 데이터 서버(103)는 데이터 저장부(701), 파일 연산 요청 수신부(702), 데이터 매칭 판단부(703) 및 파일 연산 수행부(704)를 포함할 수 있다.
데이터 저장부(701)는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다.
일례로, 제1 복제본 상태 데이터는 복제본의 복제본 상태 및 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 의미할 수 있다.
파일 연산 요청 수신부(702)는 클라이언트 서버(101)로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신할 수 있다.
데이터 매칭 판단부(703)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다.
파일 연산 수행부(704)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 경우, 파일 연산을 수행할 수 있다. 일례로, 파일 연산 수행부(704)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 클라이언트 서버(101)의 파일 연산 요청을 거절할 수 있다.
그러면, 클라이언트 서버(101)는 제2 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버의 현재 서버 상태로 구성될 수 있다. 그리고,
일례로, 파일 연산 요청 수신부(702)는 클라이언트 서버(101)로부터 업데이트된 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신할 수 있다. 이에 따라, 데이터 매칭 판단부(703)는 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다.
도 8은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 클라이언트 서버(101)의 전체 구성을 도시한 블록 다이어그램이다.
도 8을 참고하면, 클라이언트 서버(101)는 데이터 저장부(801), 파일 연산 요청 전송부(802), 데이터 업데이트부(803) 및 파일 연산 결과 수신부(804)를 포함할 수 있다.
데이터 저장부(801)는 제1 복제본 상태 데이터를 저장하고 유지할 수 있다.
파일 연산 요청 전송부(802)는 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 전송할 수 있다. 이 때, 파일 연산 내용이 복제본을 변경하는 경우, 파일 연산 요청 전송부(802)는 상기 복제본을 저장하는 모든 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다.
일례로, 데이터 서버(103)는 오너 별로 그룹화된 파일의 집합인 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 제2 복제본 상태 데이터는 복제본의 복제본 상태 및 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타낼 수 있다. 서버 상태는 동일한 복제본을 저장하는 다른 데이터 서버들이 저장하는 복제본 상태가 대체된 것을 의미한다.
데이터 업데이트부(803)는 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 일례로, 데이터 업데이트부(803)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 제1 복제본 상태 데이터를 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(103)와 연결된 데이터 서버(103)의 현재 서버 상태로 구성될 수 있다.
파일 연산 결과 수신부(804)는 제1 복제본 상태 데이터와 데이터 서버(103)가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 데이터 서버(803)로부터 파일 연산 결과를 수신할 수 있다. 이 때, 파일 연산 결과 수신부(804)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 데이터 서버(103)로부터 파일 연산 요청에 대한 거절 응답을 수신할 수 있다.
앞에서 이미 언급했듯이, 데이터 업데이트부(803)는 거절 응답에 따라 제1 복제본 상태 데이터를 메타데이터 서버(102)의 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 그러면, 파일 연산 요청 전송부(801)는 업데이트된 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송할 수 있다.
또한 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 전체 구성을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따라 디렉토리에 기초한 오너 단위로 파일을 그룹화하고, 오너의 복제본이 데이터 서버에 저장되는 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따라 복제본 상태가 전환되는 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 분산 파일 시스템이 복제본 상태 매칭을 이용하여 파일 연산을 수행하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 데이터 서버의 입장에서 설명하는 플로우차트이다.
도 6은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 클라이언트 서버의 입장에서 설명하는 플로우차트이다.
도 7은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 데이터 서버의 전체 구성을 도시한 블록 다이어그램이다.
도 8은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 클라이언트 서버의 전체 구성을 도시한 블록 다이어그램이다.
<도면의 주요 부분에 대한 부호의 설명>
101: 클라이언트 서버
102: 메타데이터 서버
103: 데이터 서버

Claims (32)

  1. 데이터 서버가 복제본(replica) 및 제1 복제본 상태 데이터를 저장하고 유지하는 단계;
    상기 데이터 서버가 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 단계;
    상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계; 및
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계
    를 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  2. 제1항에 있어서,
    상기 복제본은,
    오너 별로 그룹화된 파일의 집합으로,
    상기 오너는,
    상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  3. 제1항에 있어서,
    상기 제1 복제본 상태 데이터는,
    상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  4. 제3항에 있어서,
    상기 서버 상태는,
    상기 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  5. 제1항에 있어서,
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 데이터 서버가 파일 연산 요청을 거절하는 단계; 및
    상기 데이터 서버가 상기 클라이언트 서버로부터 업데이트된 상기 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신하는 단계
    를 더 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  6. 제5항에 있어서,
    상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계는,
    상기 데이터 서버가 상기 제1 복제본 상태 데이터와 업데이트된 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  7. 제5항에 있어서,
    상기 클라이언트 서버는,
    상기 제2 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  8. 제7항에 있어서,
    상기 제3 복제본 상태 데이터는,
    상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  9. 클라이언트 서버가 제1 복제본 상태 데이터를 저장하고 유지하는 단계;
    상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계; 및
    상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신 하는 단계
    를 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  10. 제9항에 있어서,
    상기 데이터 서버는,
    오너 별 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  11. 제10항에 있어서,
    상기 복제본은,
    오너 별로 그룹화된 파일의 집합으로,
    상기 오너는,
    상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  12. 제10항에 있어서,
    상기 제2 복제본 상태 데이터는,
    상기 오너 별 복제본의 복제본 상태 및 상기 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하 는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  13. 제12항에 있어서,
    상기 서버 상태는,
    상기 다른 데이터 서버들 각각이 저장하는 복제본의 복제본 상태가 대체된 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  14. 제9항에 있어서,
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 클라이언트 서버가 상기 데이터 서버로부터 파일 연산 요청에 대한 거절 응답을 수신하는 단계; 및
    상기 클라이언트 서버가 상기 제1 복제본 상태 데이터를 업데이트하는 단계
    를 더 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  15. 제14항에 있어서,
    상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계는,
    상기 클라이언트 서버가 업데이트된 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 재전송하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  16. 제14항에 있어서,
    상기 제1 복제본 상태 데이터를 업데이트하는 단계는,
    상기 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  17. 제16항에 있어서,
    상기 제3 복제본 상태 데이터는,
    상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.
  18. 제1항 내지 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  19. 복제본 및 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부;
    클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 파일 연산 요청 수신부;
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 데이터 매칭 판단부; 및
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 파일 연산 수행부
    를 포함하는 데이터 서버.
  20. 제19항에 있어서,
    상기 복제본은,
    오너 별로 그룹화된 파일의 집합으로,
    상기 오너는,
    상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 데이터 서버.
  21. 제19항에 있어서,
    상기 제1 복제본 상태 데이터는,
    상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 데이터 서버.
  22. 제21항에 있어서,
    상기 서버 상태는,
    상기 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 특징으로 하는 데이터 서버.
  23. 제19항에 있어서,
    상기 파일 연산 수행부는,
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우,상기 파일 연산 요청을 거절하는 것을 특징으로 하는 데이터 서버.
  24. 제19항에 있어서,
    상기 파일 연산 요청 수신부는,
    상기 클라이언트 서버로부터 업데이트된 상기 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신하고,
    상기 데이터 매칭 판단부는,
    상기 제1 복제본 상태 데이터와 업데이트된 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 것을 특징으로 하는 데이터 서버.
  25. 제24항에 있어서,
    상기 클라이언트 서버는,
    상기 제2 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 데이터 서버.
  26. 제25항에 있어서,
    상기 제3 복제본 상태 데이터는,
    상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 데이터 서버.
  27. 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부;
    상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버에 전송하는 파일 연산 요청 전송부; 및
    상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 파일 연산 결과 수신부
    를 포함하는 클라이언트 서버.
  28. 제27항에 있어서,
    상기 데이터 서버는,
    오너 별로 그룹화된 파일의 집합인 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지하는 것을 특징으로 하는 클라이언트 서버.
  29. 제28항에 있어서,
    상기 제2 복제본 상태 데이터는,
    상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다 른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 클라이언트 서버.
  30. 제27항에 있어서,
    상기 파일 연산 결과 수신부는,
    상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 데이터 서버로부터 파일 연산 요청에 대한 거절 응답을 수신하는 것을 특징으로 하는 클라이언트 서버.
  31. 제27항에 있어서,
    상기 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 데이터 업데이트부
    를 더 포함하고,
    상기 파일 연산 요청 전송부는,
    업데이트된 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 상기 데이터 서버에 재전송하는 것을 특징으로 하는 클라이언트 서버.
  32. 제31항에 있어서,
    상기 제3 복제본 상태 데이터는,
    상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 클라이언트 서버.
KR1020080052529A 2008-06-04 2008-06-04 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법 KR100988107B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080052529A KR100988107B1 (ko) 2008-06-04 2008-06-04 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080052529A KR100988107B1 (ko) 2008-06-04 2008-06-04 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법

Publications (2)

Publication Number Publication Date
KR20090126444A KR20090126444A (ko) 2009-12-09
KR100988107B1 true KR100988107B1 (ko) 2010-10-18

Family

ID=41687566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080052529A KR100988107B1 (ko) 2008-06-04 2008-06-04 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법

Country Status (1)

Country Link
KR (1) KR100988107B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139208A (ja) * 1992-10-30 1994-05-20 Toshiba Corp 共用データ管理システム
KR20020065977A (ko) * 2001-02-08 2002-08-14 주식회사 루틸러스테크놀러지 가상적으로 통합된 분산파일그룹에 데이터를 백업하기위한 방법 및 시스템
KR20090059859A (ko) * 2007-12-07 2009-06-11 한국전자통신연구원 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
KR20090065131A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139208A (ja) * 1992-10-30 1994-05-20 Toshiba Corp 共用データ管理システム
KR20020065977A (ko) * 2001-02-08 2002-08-14 주식회사 루틸러스테크놀러지 가상적으로 통합된 분산파일그룹에 데이터를 백업하기위한 방법 및 시스템
KR20090059859A (ko) * 2007-12-07 2009-06-11 한국전자통신연구원 분산파일 시스템에서의 비동기식 데이터 복제 방법 및 그에따른 분산파일 시스템
KR20090065131A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 메타데이터의 일관성을 보장하기 위한 분산 파일 시스템 및방법

Also Published As

Publication number Publication date
KR20090126444A (ko) 2009-12-09

Similar Documents

Publication Publication Date Title
CN109074306B (zh) 分布式存储系统中的混合垃圾收集
US9697092B2 (en) File-based cluster-to-cluster replication recovery
CN112470112B (zh) 块存储系统的分布式副本
KR100983300B1 (ko) 데이터 처리 시스템 내에서의 고장 복구
US9563516B2 (en) Managing backup operations from a client system to a primary server and secondary server
AU2009330067B2 (en) Asynchronous distributed garbage collection for replicated storage clusters
CN107870829B (zh) 一种分布式数据恢复方法、服务器、相关设备及系统
US20090204650A1 (en) File Deduplication using Copy-on-Write Storage Tiers
US20180101558A1 (en) Log-shipping data replication with early log record fetching
CN102349047A (zh) 数据插入系统
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US10095415B2 (en) Performance during playback of logged data storage operations
US11934280B2 (en) Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors
CN104794119A (zh) 用于中间件消息的存储与传输方法及系统
KR100922584B1 (ko) 객체 기반 분산 공유 시스템 및 그의 방법
CN113010496A (zh) 一种数据迁移方法、装置、设备和存储介质
Stutsman Durability and crash recovery in distributed in-memory storage systems
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
CN106951443B (zh) 基于分布式系统的副本同步的方法、设备和系统
CN113946471A (zh) 基于对象存储的分布式文件级备份方法及系统
US11194501B2 (en) Standby copies withstand cascading fails
KR100988107B1 (ko) 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일일관성 관리 방법
KR100994342B1 (ko) 분산 파일 시스템 및 복제본 기반 장애 처리 방법
KR101009149B1 (ko) 오너 단위의 파일 그룹화를 이용한 분산 파일 시스템 및파일 연산 방법
US11645333B1 (en) Garbage collection integrated with physical file verification

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 9