KR100988107B1 - Distributed file system and file consistency management method using replica state matching - Google Patents

Distributed file system and file consistency management method using replica state matching 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
Korean (ko)
Other versions
KR20090126444A (en
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/en
Publication of KR20090126444A publication Critical patent/KR20090126444A/en
Application granted granted Critical
Publication of KR100988107B1 publication Critical patent/KR100988107B1/en

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 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계를 포함할 수 있다.Disclosed are a file consistency management method using a distributed file system and replica state matching. A method of managing file consistency using replica state matching may include storing and maintaining a replica and first replica status data by a data server, receiving a file operation request including second replica status data from a client server by the data server; Determining, by the data server, whether the first replica status data and the second replica status data match, and when the first replica status data and the second replica status data match, the data server files. It may include performing an operation.

분산 파일 시스템, 복제본, 복제본 상태 매칭, 오너, 메타데이터 Distributed File System, Replicas, Replica State Matching, Owner, Metadata

Description

분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법{DISTRIBUTED FILE SYSTEM AND FILE CONSISTENCY MANAGEMENT METHOD USING REPLICA STATE MATCHING} File consistency management using distributed file system and replica state matching {DISTRIBUTED FILE SYSTEM AND FILE CONSISTENCY MANAGEMENT METHOD USING REPLICA STATE MATCHING}

본 발명은 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법에 관한 것으로, 보다 자세하게는, 분산 파일 시스템을 구성하는 서버들이 관리하는 복제본 상태를 매칭시킴으로써, 파일 연산을 수행하는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법에 관한 것이다.The present invention relates to a file consistency management method using a distributed file system and replica state matching. More specifically, a distributed file system and a replica that perform file operations by matching copy states managed by servers constituting the distributed file system. A file consistency management method using state matching.

최근, 대량의 파일 데이터를 저장하기 위해 다수의 저가(low price)의 서버를 이용하여 분산 파일 시스템을 구축하는 방법이 제시되고 있다. 이러한 분산 파일 시스템은 다수의 저가의 서버가 파일 데이터를 분산하여 처리하기 때문에, 비용과 성능 면에서 탁월한 효과를 발휘한다.Recently, a method of building a distributed file system using a plurality of low price servers to store a large amount of file data has been proposed. This distributed file system has excellent cost and performance benefits because many low cost servers distribute and process file data.

다만, 저가의 서버를 이용하는 경우, 파일 데이터에 장애가 빈번하게 발생된다. 즉, 저가의 서버를 이용하면, 분산 파일 시스템을 구성하기 위한 하드웨어 비용을 줄일 수 있는 장점이 있지만, 동시에 저가의 서버에 따른 높은 장애 발생 빈도 때문에 시스템의 연산 능력이 저하되는 단점도 동시에 존재한다.However, in the case of using a low-cost server, a failure occurs frequently in file data. In other words, using a low-cost server has the advantage of reducing the hardware cost for constructing a distributed file system, but at the same time, there is a disadvantage that the computational power of the system is degraded due to the high frequency of failure caused by the low-cost server.

상기 단점을 극복하기 위해, 분산 파일 시스템은 파일에 대한 복제본을 이용할 수 있다. 그러나, 분산 파일 시스템은 다수의 서버로 구성되어 있어, 동일한 복제본에 대해 상기 서버들 각각이 인식하고 있는 복제본 상태가 다를 수 있다. 이러한 문제점으로 인해, 분산 파일 시스템이 파일 연산을 수행하는 경우, 동일한 복제본에 대한 내용이 서버마다 달라질 수 있기 때문에, 시스템 전체의 파일 일관성을 저하시키는 원인이 될 수 있다.To overcome this drawback, distributed file systems may use replicas of files. However, the distributed file system is composed of a plurality of servers, so that the replica state recognized by each of the servers for the same replica may be different. Due to this problem, when a distributed file system performs a file operation, the contents of the same replica may vary from server to server, which may cause a reduction in file consistency of the entire system.

따라서, 시스템 전체의 파일 일관성을 유지하면서 파일 연산을 수행할 수 있는 방법이 요구된다.Thus, there is a need for a method that can perform file operations while maintaining file consistency throughout the system.

본 발명은 분산 파일 시스템을 구성하는 모든 구성 요소들이 저장하고 있는 복제본 상태 데이터들이 동일하게 매칭되는 경우, 파일 연산이 수행되도록 함으로써, 시스템 전체의 파일 일관성을 유지할 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 제공한다.The present invention provides a distributed file system and a replica state matching that can maintain file consistency throughout the system by performing a file operation when the replica state data stored by all components of the distributed file system are identically matched. Provides a file consistency management method.

본 발명은 데이터 서버가 자신이 관리하는 복제본 상태 및 다른 데이터 서버의 서버 상태를 저장하고 유지함으로써, 데이터 서버의 장애 발생시 발생하는 오버 헤드를 줄일 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 제공한다.The present invention provides a file coherency management using distributed file system and replica state matching, which reduces the overhead incurred when a data server fails by storing and maintaining a replica state managed by a data server and a server state of another data server. Provide a method.

본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 데이터 서버가 복제본(replica) 및 제1 복제본 상태 데이터를 저장하고 유지하는 단계, 상기 데이터 서버가 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 단계, 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계 및 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계를 포함할 수 있다.In the file consistency management method using replica state matching according to an embodiment of the present invention, a data server stores and maintains replica and first replica state data, and the data server stores second replica state data from a client server. Receiving a file operation request including; the data server determining whether the first replica state data and the second replica state data match and the first replica state data and the second replica state If the data matches, the data server may include performing a file operation.

본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 클라이언트 서버가 제1 복제본 상태 데이터를 저장하고 유지하는 단계, 상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계 및 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 단계를 포함할 수 있다.In the file consistency management method using replica status matching according to an embodiment of the present invention, a method in which a client server stores and maintains first replica status data, and the client server includes a file including the first replica status data in a data server The method may include transmitting an operation request and receiving a file operation result from the data server when the first replica state data and the second replica state data stored in the data server match.

본 발명의 일실시예에 따른 데이터 서버는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부, 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 파일 연산 요청 수신부, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 데이터 매칭 판단부 및 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 파일 연산 수행부를 포함할 수 있다.Data server according to an embodiment of the present invention is a data storage unit for storing and maintaining the replica and the first replica status data, a file operation request receiver for receiving a file operation request including the second replica status data from the client server, the A data matching determination unit determining whether the first replica state data and the second replica state data match, and when the first replica state data and the second replica state data match, the data server performs a file operation. It may include a file operation execution unit to perform.

본 발명의 일실시예에 따른 클라이언트 서버는 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부, 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버에 전송하는 파일 연산 요청 전송부 및 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 파일 연산 결과 수신부를 포함할 수 있다.The client server according to an embodiment of the present invention is a data storage unit for storing and maintaining first replica status data, a file operation request transmitter for transmitting a file operation request including the first replica status data to a data server and the When the first replica state data and the second replica state data stored in the data server match, it may include a file operation result receiving unit for receiving a file operation result from the data server.

본 발명에 따르면, 분산 파일 시스템을 구성하는 모든 구성 요소들이 저장하고 있는 복제본 상태 데이터들이 동일하게 매칭되는 경우, 파일 연산이 수행되도록 함으로써, 시스템 전체의 파일 일관성을 유지할 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법이 제공된다.According to the present invention, if the replica state data stored by all the components constituting the distributed file system are identically matched, the file operation is performed so that the distributed file system and the replica state can maintain file consistency throughout the system. A file consistency management method using matching is provided.

본 발명에 따르면, 데이터 서버가 자신이 관리하는 복제본 상태 및 다른 데이터 서버의 서버 상태를 저장하고 유지함으로써, 데이터 서버의 장애 발생시 발생하는 오버 헤드를 줄일 수 있는 분산 파일 시스템 및 복제본 상태 매칭을 이용한 파일 일관성 관리 방법이 제공된다.According to the present invention, a file using a distributed file system and replica state matching can reduce the overhead incurred when a data server fails by storing and maintaining a replica state managed by the data server and a server state of another data server. Consistency management methods are provided.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다. 다만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 분산 파일 시스템에 의해 수행될 수 있다.Hereinafter, with reference to the contents described in the accompanying drawings will be described in detail an embodiment according to the present invention. However, the present invention is not limited to or limited by the embodiments. Like reference numerals in the drawings denote like elements. The file consistency management method using replica state matching according to an embodiment of the present invention may be performed by a distributed file system.

도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a distributed file system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 분산 파일 시스템은 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103)를 포함할 수 있다. 본 발명의 일실시예에 따른 데이터 서버의 개수는 제한이 없다.Referring to FIG. 1, a distributed file system according to an embodiment of the present invention may include a client server 101, a metadata server 102, and a plurality of data servers 103. The number of data servers according to an embodiment of the present invention is not limited.

본 발명의 일실시예에 따른 분산 파일 시스템에 있어 클라이언트 서버(101)는 복수일 수 있다. 일례로, 메타데이터 서버(102)와 복수의 데이터 서버(103)가 하나의 클러스터를 구성할 수 있다. 이 때, 분산 파일 시스템은 적어도 하나의 클 러스터를 포함할 수 있다.In the distributed file system according to an embodiment of the present invention, the client server 101 may be plural. For example, the metadata server 102 and the plurality of data servers 103 may constitute one cluster. In this case, the distributed file system may include at least one cluster.

데이터 서버(103)는 오너(owner) 별 복제본(replica)을 저장할 수 있다. 일례로, 오너는 데이터 서버(103)에 저장된 파일을 그룹화하는 단위로, 상기 파일의 디렉토리에 기초하여 결정될 수 있다. 다시 말해, 오너 별 복제본은 오너 별로 그룹화된 파일의 집합을 의미한다. 오너에 대해서 도 2에서 구체적으로 설명된다.The data server 103 may store a replica for each owner. For example, the owner may be determined based on a directory of the file as a unit for grouping files stored in the data server 103. In other words, a replica by owner refers to a set of files grouped by owner. The owner is described in detail in FIG. 2.

메타데이터 서버(102)는 오너 별 복제본의 저장 위치 정보로 구성된 상기 오너 별 메타데이터를 저장할 수 있다. 이 때, 오너 별 복제본의 저장 위치 정보는 상기 오너 별 복제본이 저장된 데이터 서버(103)의 리스트를 의미한다.The metadata server 102 may store the owner-specific metadata composed of storage location information of a replica for each owner. In this case, the storage location information of the replica for each owner means a list of the data server 103 in which the replica for each owner is stored.

클라이언트 서버(101)는 메타데이터 서버(102)에 소정의 오너에 대한 메타데이터를 요청하여 메타데이터를 반환 받을 수 있다. 이 때, 소정의 오너는 클라이언트 서버(101)가 처리하고자 하는 파일이 속한 오너를 의미한다. 그러면, 클라이언트 서버(101)는 메타데이터를 통해 상기 소정의 오너의 복제본 저장 위치인 데이터 서버(103)를 확인할 수 있다.The client server 101 may request metadata about a predetermined owner from the metadata server 102 and receive the metadata. At this time, the predetermined owner means the owner to which the file to be processed by the client server 101 belongs. Then, the client server 101 may identify the data server 103 which is a copy storage location of the predetermined owner through metadata.

이 때, 클라이언트 서버(101), 메타데이터 서버(102), 복수의 데이터 서버(103) 각각은 특정 복제본에 대한 복제본 상태 데이터를 저장할 수 있다. 이 때, 메타데이터 서버(102)는 복수의 데이터 서버(103) 각각이 관리하는 복제본 상태를 주기적으로 반영하여 최신 상태의 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본 상태 데이터는 복제본이 정상 상태(Normal: N), 장애 상태(Failure: F), 복구 상태(Recovery: R) 또는 이동 상태(Migration: M)인지 여부를 나타낸다.In this case, each of the client server 101, the metadata server 102, and the plurality of data servers 103 may store replica state data for a specific replica. In this case, the metadata server 102 may periodically store and maintain the replica state data of the latest state by periodically reflecting the replica state managed by each of the plurality of data servers 103. At this time, the replica status data indicates whether the replica is in a normal state (Normal: N), a failure state (Failure: F), a recovery state (R), or a migration state (M).

클라이언트 서버(101)는 사용자 레벨에 해당하는 서버이기 때문에, 메타데이터 서버(102)의 복제본 상태 데이터를 즉각적으로 반영하기 어려우므로 시스템 전체의 파일 일관성이 보장되지 않을 수 있다. 이러한 문제를 해결하기 위해, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭(replica state matching)을 통해 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103) 각각이 관리하는 복제본 상태 데이터가 서로 동일하도록 제어함으로써, 시스템 전체의 파일 일관성이 유지되도록 할 수 있다.Since the client server 101 is a server corresponding to the user level, it is difficult to immediately reflect the replica status data of the metadata server 102, so that the system-wide file consistency may not be guaranteed. In order to solve this problem, the distributed file system according to an embodiment of the present invention uses client state 101, metadata server 102, and a plurality of data servers through replica state matching during file operations. (103) By controlling the copy state data managed by each to be identical to each other, it is possible to maintain the file consistency of the entire system.

도 1에서 볼 수 있듯이, 클라이언트 서버(101)는 오너의 복제본이 저장된 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다. 이 때, 파일 연산의 내용에 따라 클라이언트 서버(101)가 데이터 서버(103)에 파일 연산 요청하는 방식이 달라질 수 있다. 예를 들면, 파일 쓰기 연산 또는 파일 삭제 연산의 경우, 복제본의 내용을 변경시키는 파일 연산 요청에 해당한다. 이 때, 클라이언트 서버(101)는 분산 파일 시스템 전체의 파일 일관성 유지를 위해 동일한 오너에 대한 복제본을 저장하는 모든 데이터 서버(103)에 복제본의 내용을 변경시키는 파일 연산 요청을 전송할 수 있다.As shown in FIG. 1, the client server 101 may transmit a file operation request to the data server 103 in which a copy of the owner is stored. In this case, the method of requesting a file operation from the data server 103 by the client server 101 may vary according to the content of the file operation. For example, a file write operation or a file deletion operation corresponds to a file operation request that changes the contents of the replica. In this case, the client server 101 may transmit a file operation request for changing the contents of the replica to all data servers 103 storing the replica of the same owner in order to maintain file consistency throughout the distributed file system.

이 때, 클라이언트 서버(101)는 파일 연산 요청에 자신이 관리하는 복제본 상태 데이터를 포함시켜, 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다. 일례로, 데이터 서버(103)는 자신이 저장하고 있는 복제본 상태 데이터와 클라이언트 서버(101)가 포함시킨 복제본 상태 데이터 간에 서로 매칭하는 지 여부를 판단할 수 있다. 이 때, 복제본 상태 데이터의 매칭 결과에 따라 데이터 서버(103)는 파일 연산을 수행할 지 여부를 결정할 수 있다. 만약, 복제본 상태 데이터가 매칭하는 경우, 데이터 서버(103)는 파일 연산을 수행하고, 복제본 상태 데이터가 매칭하지 않는 경우, 데이터 서버(103)는 파일 연산 요청을 거절할 수 있다.At this time, the client server 101 may include the copy state data managed by the client server 101 in the file operation request, and transmit the file operation request to the data server 103. For example, the data server 103 may determine whether to match the replica state data stored in the client server with the replica state data included in the client server 101. At this time, the data server 103 may determine whether to perform a file operation according to the matching result of the replica state data. If the replica state data matches, the data server 103 may perform a file operation. If the replica state data does not match, the data server 103 may reject the file operation request.

이 경우, 클라이언트 서버(101)는 자신의 복제본 상태 데이터를 메타데이터 서버(102)의 복제본 상태 데이터를 참고하여 업데이트 할 수 있다. 클라이언트 서버(101)는 업데이트된 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송 할 수 있다. 그러면, 데이터 서버(103)는 재전송된 파일 연산 요청에 포함된 복제본 상태 데이터를 이용하여 복제본 상태 데이터의 매칭 여부를 재차 판단할 수 있다.In this case, the client server 101 may update its replica status data by referring to the replica status data of the metadata server 102. The client server 101 may resend the file operation request including the updated replica status data to the data server 103. Then, the data server 103 may again determine whether the replica status data is matched using the replica status data included in the retransmitted file operation request.

최종적으로, 복제본 상태 데이터가 매칭될 때까지 복제본 상태 데이터를 업데이트하는 과정 및 업데이트된 복제본 상태 데이터를 이용하여 파일 연산 요청을 전송하는 과정이 반복될 수 있다. 복제본 상태 매칭에 대해서는 도 3 내지 도 8에서 좀더 구체적으로 설명된다.Finally, the process of updating the copy state data and transmitting the file operation request using the updated copy state data may be repeated until the copy state data is matched. Replica state matching is described in more detail with reference to FIGS. 3 to 8.

도 2는 본 발명의 일실시예에 따라 디렉토리에 기초한 오너 단위로 파일을 그룹화하고, 오너의 복제본이 데이터 서버에 저장되는 일례를 도시한 도면이다.2 is a diagram illustrating an example in which files are grouped in units of owners based on directories according to an embodiment of the present invention, and copies of owners are stored in a data server.

도 2를 참고하면, 데이터 서버에 저장된 파일 디렉토리(201)가 도시되어 있다. 이 때, 파일 디렉토리(201)는 서브 디렉토리인 dir1로 구성되어 있다. 이 때, 서브 디렉토리 dir1에 file 1, file 2, file 3이 저장되어 있다. 본 발명의 일실시예에 따르면, 오너(owner)는 파일의 디렉토리에 기초하여 결정될 수 있다. 다시 말해서, 오너는 데이터 서버에 실제 저장된 파일의 디렉토리와 대응될 수 있 다.Referring to FIG. 2, a file directory 201 stored in a data server is shown. At this time, the file directory 201 is composed of dir1 which is a subdirectory. At this time, file 1, file 2, and file 3 are stored in the subdirectory dir1. According to an embodiment of the present invention, an owner may be determined based on a directory of files. In other words, the owner may correspond to a directory of files actually stored in the data server.

결국, 데이터 서버의 파일은 오너 단위에 따라 관리될 수 있다. 즉, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 각각에 대해 관리하는 것이 아니라 파일의 디렉토리(즉, 오너 단위)별로 관리하여 파일을 효율적으로 관리할 수 있다. 그리고, 파일이 디렉토리 단위인 오너로 관리되기 때문에, 적은 용량의 파일의 개수가 기하급수적으로 증가하더라도 분산 파일 시스템이 처리하는 메타데이터의 양은 상대적으로 덜 증가하게 된다.As a result, the files of the data server can be managed according to the owner unit. That is, the distributed file system according to an exemplary embodiment of the present invention may manage the files efficiently by managing each file directory (that is, owner unit) rather than managing each file. Since the file is managed by the owner, which is a directory unit, even if the number of small files increases exponentially, the amount of metadata processed by the distributed file system is relatively less increased.

이 때, 도 2를 참고하면, 파일의 디렉토리인 dir/dir1는 오너 1로 결정될 수 있다. 그리고, dir 디렉토리에 대해서도 오너 1과 다른 오너가 결정될 수 있다. 만약, 파일 디렉토리(201)에 dir/dir2, dir/dir3인 디렉토리가 존재한다면, 상기 디렉토리 각각은 오너 1과 다른 오너 2, 오너 3으로 결정될 수 있다. 즉, 데이터 서버에 저장된 파일은 오너 단위에 따라 그룹화될 수 있다.In this case, referring to FIG. 2, the directory dir / dir1 of the file may be determined as owner 1. Also, an owner different from owner 1 may be determined for the dir directory. If there are directories dir / dir2 and dir / dir3 in the file directory 201, each of the directories may be determined to be owner 2 and owner 3 different from owner 1. That is, files stored in the data server may be grouped according to owner units.

본 발명의 일실시예에 따르면, 분산 파일 시스템은 오너 별 복제본을 생성할 수 있다. 이 때, 오너 별로 생성되는 복제본의 개수는 제한이 없다. 도 2를 참고하면, dir/dir1인 디렉토리가 오너 1으로 결정되는 경우, 오너 1에 대한 3개의 복제본 X(202-1, 202-2, 202-3)가 생성되는 것을 알 수 있다. 이 때, 오너 별로 생성되는 복제본의 개수는 제한이 없다.According to an embodiment of the present invention, the distributed file system may create a replica for each owner. At this time, the number of replicas created for each owner is not limited. Referring to FIG. 2, when the directory dir / dir1 is determined to be owner 1, three replicas X 202-1, 202-2, and 202-3 for owner 1 are generated. At this time, the number of replicas created for each owner is not limited.

그러면, 데이터 서버는 오너 별로 생성된 복제본 중 어느 하나를 저장할 수 있다. 예를 들어, 오너 1에 대해 복수의 복제본 X가 생성되고, 오너 2에 대해 복수의 복제본 Y가 생성되는 경우, 데이터 서버 각각은 복제본 X 하나 또는 복제본 Y 하나를 저장할 수 있다. 결국, 데이터 서버는 하나의 복제본을 저장함으로써 복수의 파일을 관리할 수 있다.Then, the data server may store any one of the replicas created for each owner. For example, when a plurality of replicas X are created for owner 1 and a plurality of replicas Y are created for owner 2, each data server may store one replica X or one replica Y. As a result, the data server can manage multiple files by storing one copy.

도 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과 다른 오너에 대한 복제본도 저장할 수 있다. 즉, 데이터 서버 각각에 저장되는 오너 별 복제본의 개수는 제한이 없다.As can be seen in FIG. 2, when three replicas X are created for owner 1, replica X 202-1 is stored in data server 1 103-1, and replica X 202-2 is a data server. 2 (103-2). In addition, replica X 202-3 for owner 1 may be stored in data server 3 103-3. At this time, the data server 1 103-1, the data server 2 103-2, or the data server 3 103-3 may also store a replica of the owner 1 and another owner. That is, the number of replicas per owner stored in each data server is not limited.

따라서, 빈번한 장애를 효과적으로 처리하기 위해 본 발명의 일실시예에 따른 분산 파일 시스템은 하나의 오너에 대한 복수 개의 복제본을 물리적으로 다른 데이터 서버(103)에 저장할 수 있다. 결국, 특정 데이터 서버에 오류가 발생하여 어느 하나의 복제본에 장애가 발생하더라도 분산 파일 시스템은 장애가 없는 복제본을 이용하여 장애가 발생한 복제본을 복구할 수 있다.Thus, in order to effectively handle frequent failures, the distributed file system according to an embodiment of the present invention may physically store a plurality of copies of one owner in another data server 103. As a result, even if a specific data server fails and a single copy fails, the distributed file system can recover the failed copy using the copy that has no failure.

그리고, 분산 파일 시스템을 구성하는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 또는 데이터 서버 3(103-3) 각각은 복제본 상태 데이터를 관리할 수 있다. 그리고, 분산 파일 시스템을 구성하는 클라이언트 서버(101) 및 메타데이터 서버(102)도 복제본 상태 데이터를 관리할 수 있다.Each of the data server 1 103-1, the data server 2 103-2, or the data server 3 103-3 constituting the distributed file system can manage the replica state data. In addition, the client server 101 and the metadata server 102 constituting the distributed file system may manage the replica state data.

이 때, 데이터 서버 1(103-1), 데이터 서버 2(103-2) 또는 데이터 서버 3(103-3) 각각이 별도로 복제본을 저장하고 있기 때문에, 분산 파일 시스템은 구성 요소들이 각자 관리하는 복제본 상태 데이터를 서로 동일하도록 매칭시킴으로써, 복제본이 그룹화하여 관리하는 파일의 일관성을 유지할 수 있다. 파일 일관성을 유지하는 과정은 파일 연산 과정 중의 클라이언트 서버(101)와 메타데이터 서버(102) 간의 복제본 상태 매칭을 통해 이루어 질 수 있다.At this time, since each of Data Server 1 (103-1), Data Server 2 (103-2), or Data Server 3 (103-3) stores a separate copy, the distributed file system is a replica managed by each component. By matching state data to be identical to each other, it is possible to maintain consistency of the files the replicas group and manage. The process of maintaining file consistency may be performed through copy state matching between the client server 101 and the metadata server 102 during the file operation process.

도 3은 본 발명의 일실시예에 따라 복제본 상태가 전환되는 과정을 도시한 도면이다.3 is a diagram illustrating a process of switching a replica state according to an embodiment of the present invention.

본 발명의 일실시예에 따른 분산 파일 시스템은 데이터 서버(103)에 발생된 장애를 일시적 장애와 영구적 장애로 구분하여 처리할 수 있다. 이 때, 메타데이터 서버(102)는 분산 파일 시스템을 구성하는 데이터 서버들(103)의 상태를 감시하여, 장애의 유형을 일시적 장애 또는 영구적 장애로 판정할 수 있다.The distributed file system according to an embodiment of the present invention may divide and handle a failure occurring in the data server 103 into a temporary failure and a permanent failure. At this time, the metadata server 102 may monitor the status of the data servers 103 constituting the distributed file system, and determine the type of failure as a temporary failure or a permanent failure.

이 때, 일시적 장애는 데이터 서버 자체의 결함보다는 외부적인 요인(예, 네트워크상 순간 장애)에 의해 발생한 후 짧은 시간 내에 정상으로 돌아오는 장애를 의미한다. 이와 달리, 영구적 장애는 데이터 서버 자체의 결함(예. 전원 공급부 고장)으로 인해 발생하여 정상적인 동작을 할 수 없는 장애를 의미한다.In this case, the temporary failure refers to a failure that returns to normal within a short time after being caused by an external factor (for example, a network failure) rather than a defect of the data server itself. In contrast, a permanent failure is a failure that occurs because of a fault in the data server itself (eg, a power supply failure) that prevents normal operation.

도 3을 참고하면, 복제본 상태가 N(Normal)인 경우, 데이터 서버(103)는 장애가 없는 정상 상태를 의미한다. 데이터 서버(103)에 장애 발생이 감지되면, 복제본 상태는 F(Failure)가 된다. Referring to FIG. 3, when the replica state is N (Normal), the data server 103 means a normal state without a failure. If the failure of the data server 103 is detected, the replica status is F (Failure).

이 후, 일시적 장애가 해소되어 데이터 서버(103)가 복제본 복구를 수행하는 경우, 복제본 상태는 R(Recovery)이 된다. 이 때, 데이터 서버(103)에 재차 일시적 장애가 발생되면, 복제본 상태는 F로 되돌아간다. 그리고, 복제본의 복구가 완 료되면, 복제본 상태는 R에서 N으로 전환될 수 있다.After that, when the temporary failure is eliminated and the data server 103 performs replica recovery, the replica status becomes R (Recovery). At this time, if a temporary failure occurs again in the data server 103, the replica state returns to F. FIG. And, when the restoration of the replica is completed, the replica state can be switched from R to N.

복제본 상태가 F에서, 영구적 장애의 발생이 감지되면, 복제본 이동이 시작되면서 복제본 상태는 M(Migration)으로 전환된다. 만약, 복제본의 이동이 실패되면, 복제본 상태는 M에서 F로 전환될 수 있다. 그리고, 복제본의 이동이 완료되면, 복제본 상태는 M에서 N으로 전환될 수 있다.If the replica status is F, and the occurrence of a permanent failure is detected, the replica move begins and the replica status switches to M (Migration). If the replica fails, the replica status can be switched from M to F. And, when the movement of the replica is completed, the replica status can be switched from M to N.

이 때, 복제본이 F 상태인 경우, 파일 연산에 대한 MO(Missed Operation) 로그가 생성될 수 있다. 이 때, MO 로그는 일시적 장애 발생 시점부터 일시적 장애 해소 시점까지의 장애 기간 동안 클라이언트 서버(101)가 데이터 서버(103)에 요청한 파일 연산 내용이 기록된 로그를 의미할 수 있다.At this time, when the replica is in the F state, a Missed Operation (MO) log for a file operation may be generated. In this case, the MO log may refer to a log in which a file operation content requested by the client server 101 to the data server 103 is recorded during a failure period from a temporary failure occurrence to a temporary failure resolution time.

그리고, 복제본이 R 상태이거나 또는 M 상태인 경우, 파일 연산에 대한 DO(Delayed Operation) 로그가 생성될 수 있다. 이 때, DO 로그는 복제본이 복구 중이거나 복제본이 이동 중일 때, 클라이언트 서버(101)가 데이터 서버(103)에 요청한 파일 연산 내용이 기록된 로그를 의미할 수 있다.In addition, when the replica is in the R state or the M state, a delayed operation (DO) log for a file operation may be generated. In this case, the DO log may mean a log in which a file operation content requested by the client server 101 to the data server 103 is recorded when the replica is being restored or the replica is moving.

일시적 장애의 경우, 데이터 서버(103)는 MO 로그를 재연하여 복제본을 복구하고, 복제본 복구 종료 후 DO 로그를 재연하여 지연된 파일 연산을 수행함으로써 최종적으로 장애를 처리할 수 있다. 그리고, 영구적 장애의 경우, 데이터 서버(103)는 복제본을 이동시키고, 복제본 이동 완료 후 DO 로그를 재연하여 지연된 파일 연산을 수행함으로써 최종적으로 장애를 처리할 수 있다.In the case of a temporary failure, the data server 103 may finally recover the replica by replaying the MO log, and replay the DO log by performing a delayed file operation after the replica recovery ends. In the case of a permanent failure, the data server 103 may finally handle the failure by moving the replica, replaying the DO log and performing a delayed file operation after the completion of the replica move.

일례로, 분산 파일 시스템을 구성하는 클라이언트 서버(101), 메타데이터 서버(102) 및 복수의 데이터 서버(103) 각각은 자신들이 인식하는 복제본 상태 데이 터를 저장하고 유지할 수 있다. 이 때, 데이터 서버(103)가 자신이 관리하는 복제본의 복제본 상태와 다른 데이터 서버들이 관리하는 상기 복제본과 동일한 복제본의 복제본 상태를 나타내는 복제본 상태 데이터를 유지한다고 가정할 수 있다. 만약, 데이터 서버(103)에 장애가 발생하는 경우, 장애 처리를 위해 복수의 데이터 서버(103)가 관리하는 모든 복제본을 검색해야 하므로, 상당한 오버헤드가 발생할 수 있다.For example, each of the client server 101, the metadata server 102, and the plurality of data servers 103 constituting the distributed file system may store and maintain replica state data that they recognize. In this case, it may be assumed that the data server 103 maintains replica status data indicating a replica status of a replica managed by itself and a replica status of a replica identical to the replica managed by other data servers. If a failure occurs in the data server 103, significant overhead may occur because all replicas managed by the plurality of data servers 103 must be searched for failure processing.

따라서, 본 발명의 일실시예에 따르면, 데이터 서버 각각은 자신이 관리하는 복제본의 복제본 상태와 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 서버 상태는 상기 다른 데이터 서버들이 저장하는 복제본의 복제본 상태가 대체된 것을 의미할 수 있다. 또한, 메타데이터 서버(102)도 복제본을 저장하고 있는 모든 데이터 서버(103)의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 유지할 수 있다.Accordingly, according to an embodiment of the present invention, each data server may store and maintain replica state data indicating a replica state of a replica managed by itself and a server state of other data servers storing the same replica as the replica. At this time, the server state may mean that the replica state of the replicas stored by the other data servers is replaced. In addition, the metadata server 102 can also store and maintain replica status data indicating the server status of all data servers 103 that are storing replicas.

본 발명의 일실시예에 따르면, 분산 파일 시스템은 복제본의 상태가 전환될 때, 복제본 상태 데이터를 업데이트하여 시스템 전체의 파일 일관성을 유지할 수 있다. 즉, 복제본 상태 데이터를 참고하여 복제본에 대한 파일 연산 요청이 전송되기 때문에, 분산 파일 시스템의 구성 요소가 관리하는 복제본 상태 데이터가 서로 다른 경우 동일한 복제본을 저장하는 데이터 서버 간에 파일 일관성이 유지되지 않는 문제점이 발생될 수 있다.According to an embodiment of the present invention, the distributed file system may update the replica state data when the state of the replica is switched to maintain file consistency throughout the system. In other words, since file operation requests for a replica are sent by referring to the replica status data, file consistency is not maintained between data servers storing the same replica when the replica status data managed by the components of the distributed file system is different. This may occur.

이러한 문제점은 클라이언트 서버(101)는 사용자 수준의 서버이기 때문에, 복제본의 상태가 전환되는 것을 즉각적으로 업데이트 하기 어렵기 때문에 발생될 수 있다. 따라서, 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭을 통해 파일 일관성을 유지할 수 있다.This problem may occur because the client server 101 is a user level server, and it is difficult to immediately update the state of the replica. Therefore, the distributed file system can maintain file coherency through replica state matching during file operations.

도 4는 본 발명의 일실시예에 따른 분산 파일 시스템이 복제본 상태 매칭을 이용하여 파일 연산을 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram illustrating a process of performing a file operation by using a copy state matching in a distributed file system according to an exemplary embodiment of the present invention.

도 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)를 저장하고 유지할 수 있다.Referring to FIG. 4, the data server 1 103-1, the data server 2 103-2, and the data server 3 103-3 may store the same owner-specific replica X. FIG. The client server 101 may store and maintain the replica status data 401, and the metadata server 102 may store and maintain the replica status data 402. In addition, data server 1 103-1 indicates replica state data 403, data server 2 103-2 indicates replica state data 404, and data server 3 103-3 indicates replica state data ( 405 may be stored and maintained.

일례로, 데이터 서버는 자신이 저장하는 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 데이터 서버의 서버 상태를 나타내는 복제본 상태 데이터를 저장하고 관리할 수 있다. 도 4를 참고하면, 복제본 상태 데이터(401)의 경우, 데이터 서버 1(103-1)는 자신이 관리하는 복제본의 상태는 정상 상태이고, 데이터 서버 2(103-2)의 서버 상태는 정상 상태이며, 데이터 서버 3(103-3)의 서버 상태는 복구 상태라고 인식할 수 있다.In one example, the data server may store and manage replica status data indicating the replica status of the replica it stores and the server status of the data server storing the same replica as the replica. Referring to FIG. 4, in the case of the replica state data 401, the state of the replica managed by the data server 1 103-1 is normal, and the server state of the data server 2 103-2 is normal. The server state of the data server 3 103-3 may be recognized as a recovery state.

도 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)이다. 4 shows an example in which a file operation is rejected by copy state matching. Specifically, FIG. 4 illustrates a state in which a temporary failure occurs in the data server 3 103-3 and the copy stored in the data server 3 103-3 is in a F state, and then the temporary failure is resolved to restore the copy. At this time, Figure 4 shows that the data server 3 (103-3) is returned to the normal state after the temporary failure is resolved, the replica to the metadata server 102 and the data servers (103-1, 103-2, 103-3) The situation after notifying that the state has been changed from the F state to the R state is shown. At this time, since the client server 101 has not sent a file operation request after the replica has changed to the R state, the replica status data 401 recognized by the client server 101 is still (N, N, F). .

구체적으로 보면, 클라이언트 서버(101)는 사용자 레벨의 서버에 해당하여 데이터 서버들(103-1, 103-2, 103-3)의 서버 상태가 변경되는 것을 즉각적으로 파악하기 힘들 수 있다. 즉, 클라이언트 서버(101)는 데이터 서버들(103-1, 103-2, 103-3)의 상태 변경을 복제본 상태 데이터(403)에 신속하게 업데이트 하지 못할 수 있다.Specifically, it may be difficult for the client server 101 to immediately recognize that the server state of the data servers 103-1, 103-2, and 103-3 is changed in correspondence to a user level server. That is, the client server 101 may not update the state changes of the data servers 103-1, 103-2, and 103-3 to the replica state data 403 quickly.

그러면, 클라이언트 서버(101)는 복제본 상태 데이터(401)에 따라 F 상태인 데이터 서버 3(103-3)을 제외한 데이터 서버 1(103-1) 및 데이터 서버 2(103-2)에 복제본을 변경하는 파일 연산 요청을 전송할 수 있다. 결과적으로, 데이터 서버 1(103-1)와 데이터 서버 2(103-2)는 파일 연산 요청에 따라 변경된 복제본을 저장하나, 데이터 서버 3(103-3)은 변경되지 않은 복제본을 저장한다. 이 경우, 분산 파일 시스템 전체적으로 파일 일관성이 유지되지 않는다.Then, the client server 101 changes the replica to the data server 1 103-1 and the data server 2 103-2 except for the data server 3 103-3 which is in the F state according to the replica status data 401. A file operation request can be sent. As a result, data server 1 103-1 and data server 2 103-2 store the changed copy according to the file operation request, while data server 3 103-3 stores the unchanged copy. In this case, file consistency is not maintained throughout the distributed file system.

따라서, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중 복제본 상태 매칭을 통해 시스템 전체의 파일 일관성을 유지할 수 있다. 이하에서, 복제본 상태 매칭을 통해 파일 일관성을 유지하는 과정이 설명된다.Therefore, the distributed file system according to an embodiment of the present invention can maintain the file consistency of the entire system through matching the replica state during the file operation. Hereinafter, a process of maintaining file consistency through replica state matching will be described.

도 4를 참고하면, 클라이언트 서버(101)는 복제본 상태 데이터(401)에 따라 F 상태인 데이터 서버 3(103-3)을 제외한 데이터 서버 1(103-1) 및 데이터 서버 2(103-2)에 복제본을 변경하는 파일 연산 요청을 전송할 수 있다. 이 때, 클라이언트 서버(101)는 복제본 상태 데이터(401)를 파일 연산 요청에 포함시킬 수 있다.Referring to FIG. 4, the client server 101 includes the data server 1 103-1 and the data server 2 103-2 except for the data server 3 103-3 in the F state according to the replica state data 401. You can send a file operation request to change the replica. At this time, the client server 101 may include the replica status data 401 in the file operation request.

그러면, 데이터 서버 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)도 마찬가지다.Then, the data server 1 103-1 may determine whether the replica status data 401 and the replica status data 403 match. The data server 2 103-2 may also determine whether the replica status data 401 and the replica status data 404 match. However, since (N, N, F), which is the replica status data 401, and (N, N, R), which is the replica status data 403, do not match, the data server 1 103-1 is the client server 101. You can reject the file operation request of). The same applies to the data server 2 103-2.

그러면, 클라이언트 서버(101)는 복제본 상태 데이터(401)를 메타데이터 서버(102)에 저장된 복제본 상태 데이터(402)와 동일하도록 업데이트 할 수 있다. 즉, 클라이언트 서버(101)는 복제본 상태 데이터(401)인 (N, N, F)를 복제본 상태 데이터(402)인 (N, N, R)과 동일하도록 변경할 수 있다.The client server 101 can then update the replica status data 401 to be the same as the replica status data 402 stored in the metadata server 102. That is, the client server 101 may change (N, N, F), which is the replica status data 401, to be the same as (N, N, R), which is the replica status data 402.

여기서, 메타데이터 서버(102)는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 및 데이터 서버 3(103-3) 각각이 관리하는 복제본 상태를 복제본 상태 데이터(402)에 주기적으로 반영할 수 있다.Here, the metadata server 102 periodically stores the replica status managed by each of the data server 1 103-1, the data server 2 103-2, and the data server 3 103-3 to the replica status data 402. Can be reflected.

구체적으로, 메타데이터 서버(102)는 데이터 서버 1(103-1), 데이터 서버 2(103-2) 및 데이터 서버 3(103-3) 각각이 관리하는 복제본 상태가 대체된 서버 상 태를 복제본 상태 데이터(402)로 구성할 수 있다. 이 때, 메타데이터 서버(102)는 데이터 서버들의 상태를 실시간으로 감지하여, 현재 데이터 서버의 상태를 복제본 상태 데이터(402)에 반영할 수 있다.Specifically, the metadata server 102 copies the server state in which the replica state managed by each of the data server 1 103-1, the data server 2 103-2, and the data server 3 103-3 is replaced. Status data 402 can be configured. At this time, the metadata server 102 may detect the state of the data servers in real time, and reflect the state of the current data server in the replica state data 402.

그 후, 클라이언트 서버(101)는 업데이트된 복제본 상태 데이터(401)인 (N, N, R)를 포함하는 파일 연산 요청을 데이터 서버들(103-1, 103-2, 103-3) 모두에게 다시 전송할 수 있다. 이 때, 데이터 서버들(103-1, 103-2, 103-3)은 복제본 상태 데이터가 매칭하는 지 여부를 다시 판단할 수 있다.The client server 101 then issues a file operation request to the data servers 103-1, 103-2, and 103-3 that includes the updated replica state data 401 (N, N, R). You can send it again. At this time, the data servers 103-1, 103-2, and 103-3 may again determine whether the replica state data matches.

이 때, 복제본 상태 데이터가 서로 매칭하면 데이터 서버들(103-1, 103-2, 103-3) 각각은 파일 연산을 수행하고, 매칭하지 않는 경우, 또 다시 파일 연산 요청에 대해 거절할 수 있다. 상기 과정은 복제본 상태 데이터가 서로 매칭할 때까지 반복될 수 있다.At this time, if the replica status data match each other, each of the data servers 103-1, 103-2, and 103-3 may perform a file operation, and if it does not match, may reject the file operation request again. . The process can be repeated until the replica status data matches each other.

따라서, 본 발명의 일실시예에 따른 분산 파일 시스템은 파일 연산 과정 중의 복제본 상태 매칭을 통해 시스템 전체의 파일 일관성을 유지할 수 있다.Therefore, the distributed file system according to an embodiment of the present invention can maintain the file consistency of the entire system through matching the replica state during the file operation process.

도 5는 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 데이터 서버의 입장에서 설명하는 플로우차트이다.5 is a flowchart illustrating a file consistency management method using copy state matching according to an embodiment of the present invention from the perspective of a data server.

도 5에서 설명되는 데이터 서버(103)는 본 발명의 일실시예에 따른 분산 파일 시스템을 구성하는 복수의 데이터 서버(103) 중 어느 하나의 데이터 서버(103)를 의미한다.The data server 103 described in FIG. 5 refers to any one data server 103 of the plurality of data servers 103 constituting the distributed file system according to an embodiment of the present invention.

단계 S501에서, 데이터 서버(103)는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미 할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다.In step S501, the data server 103 may store and maintain the replica and the first replica status data. In this case, the replica may mean a set of files grouped by owner. The owner may correspond to a directory to which the file belongs.

일례로, 제1 복제본 상태 데이터는 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 상기 다른 데이터 서버(103)들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 의미할 수 있다.In one example, the first replica status data may represent a replica status of a replica and a server status of each of the other data servers 103 storing the same replica as the replica. At this time, the server state may mean that the replica state for the replica stored in each of the other data servers 103 is replaced.

도 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의 복제본 상태가 대체된 것을 의미한다.For example, referring to FIG. 4, data server 1 103-1 is a replica state N for replica X and a server state N of data server 2 103-2 and data server 3 103-3. Replica status data 403 may be stored. At this time, the server state N of the data server 2 (103-2) and the data server 3 (103-3) of the replica X stored in the data server 2 (103-2) and the data server 3 (103-3) Replica status has been replaced.

단계 S502에서, 데이터 서버(103)는 클라이언트 서버(101)로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신할 수 있다. 제2 복제본 상태 데이터는 클라이언트 서버(101)가 저장하는 복제본 상태 데이터를 의미한다.In step S502, the data server 103 may receive a file operation request including the second copy state data from the client server 101. The second replica status data refers to replica status data stored by the client server 101.

단계 S503에서, 데이터 서버(103)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다. 이 때, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 경우, 단계 S504에서, 데이터 서버(103)는 파일 연산 요청에 응답하여 파일 연산을 수행할 수 있다. In operation S503, the data server 103 may determine whether the first replica state data and the second replica state data match. At this time, when the first copy state data and the second copy state data match, in step S504, the data server 103 may perform a file operation in response to the file operation request.

반면에, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 단계 S505에서, 데이터 서버(103)는 파일 연산 요청을 거절할 수 있다. 단계 S506에서, 데이터 서버(103)는 클라이언트 서버(101)로부터 업데이트된 제2 복 제본 상태 데이터를 포함하는 파일 연산 요청을 재수신할 수 있다.On the other hand, when the first replica state data and the second replica state data do not match, in step S505, the data server 103 may reject the file operation request. In step S506, the data server 103 may re-receive the file operation request including the updated second replica status data from the client server 101.

이 때, 클라이언트 서버(101)는 제2 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 여기서, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버(103)들의 현재 서버 상태로 구성될 수 있다. 즉, 메타데이터 서버(102)는 데이터 서버(103)들의 최신 상태를 반영하는 제3 복제본 상태 데이터를 저장할 수 있다. 이 때, 메타데이터 서버(102)와 연결된 데이터 서버(103)들의 현재 서버 상태는 상기 데이터 서버(103)들이 저장하고 있는 복제본 상태가 대체된 것일 수 있다.At this time, the client server 101 may update the second replica state data to be the same as the third replica state data stored in the metadata server 102. Here, the third replica state data may be configured as current server states of the data servers 103 connected to the metadata server 102. That is, the metadata server 102 may store third copy state data reflecting the latest state of the data servers 103. At this time, the current server state of the data servers 103 connected to the metadata server 102 may be replaced by the replica state stored in the data server 103.

그러면, 다시 단계 S503에서, 데이터 서버(103)는 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 지 다시 판단할 수 있다. 이 때, 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 경우, 단계 S504가 진행되고, 그렇지 않는 경우 단계 S505, 단계 506이 반복적으로 수행된다.Then, in step S503, the data server 103 may again determine whether the first replica state data matches the updated second replica state data. At this time, if the first replica status data and the updated second replica status data match, step S504 is progressed, otherwise steps S505 and 506 are repeatedly performed.

도 6은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 클라이언트 서버(101)의 입장에서 설명하는 플로우차트이다. 참고로, 도 5에서 설명되는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터는 도 6의 설명과 별개이다.6 is a flowchart illustrating a file consistency management method using copy state matching according to an embodiment of the present invention from the perspective of the client server 101. For reference, the first replica state data and the second replica state data described in FIG. 5 are separate from the description of FIG. 6.

단계 S601에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 저장하고 유지할 수 있다.In step S601, the client server 101 may store and maintain the first replica state data.

단계 S602에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 포함하는 파인 연산 요청을 데이터 서버(103)에 전송할 수 있다.In operation S602, the client server 101 may transmit a fine operation request including the first copy state data to the data server 103.

단계 S603에서, 제1 복제본 상태 데이터와 데이터 서버(103)가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 클라이언트 서버(101)는 데이터 서버(103)로부터 파일 연산 결과를 수신할 수 있다. 이 때, 데이터 서버(103)는 오너 별 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다. 일례로, 데이터 서버(103)는 제1 복제본 상태와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다. 제1 복제본 상태와 제2 복제본 상태가 매칭하는 경우 데이터 서버(103)는 파일 연산을 수행하여 파일 연산 결과를 클라이언트 서버(101)에 반환할 수 있다. In operation S603, when the first replica status data and the second replica status data stored in the data server 103 match, the client server 101 may receive a file operation result from the data server 103. At this time, the data server 103 may store and maintain a replica for each owner and second replica status data indicating the status of the replica. In this case, the replica may mean a set of files grouped by owner. The owner may correspond to a directory to which the file belongs. In one example, the data server 103 may determine whether the first replica status and the second replica status data match. When the first replica state and the second replica state match, the data server 103 may perform a file operation and return the file operation result to the client server 101.

일례로, 제2 복제본 상태 데이터는 오너 별 복제본의 복제본 상태 및 상기 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버(103)들 각각이 저장하는 복제본의 복제본 상태가 대체된 것을 의미할 수 있다.In one example, the second replica status data may represent a replica status of a replica per owner and a server status of each of the other data servers 103 storing the same replica as the replica per owner. At this time, the server state may mean that the replica state of the replica stored by each of the other data servers 103 storing the same replica as the owner-specific replica is replaced.

단계 S604에서, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 클라이언트 서버(101)는 데이터 서버(103)로부터 파일 연산 요청에 대한 거절 응답을 수신할 수 있다. 그리고, 단계 S605에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 업데이트 할 수 있다.In operation S604, when the first replica state data and the second replica state data do not match, the client server 101 may receive a rejection response to the file operation request from the data server 103. In operation S605, the client server 101 may update the first replica state data.

구체적으로, 단계 S605에서, 클라이언트 서버(101)는 제1 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버(103)의 현재 서버 상태로 구성될 수 있다. 즉, 메타데이터 서버(102)는 제3 복제본 상태 데이터를 데이터 서버(103)의 최신 서버 상태로 갱신할 수 있다.In detail, in operation S605, the client server 101 may update the first replica state data to be the same as the third replica state data stored in the metadata server 102. In this case, the third replica state data may be configured as a current server state of the data server 103 connected to the metadata server 102. That is, the metadata server 102 may update the third copy state data to the latest server state of the data server 103.

그러면, 다시 단계 S602에서, 클라이언트 서버(101)는 업데이트된 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송할 수 있다. 그리고, 제1 복제본 상태 데이터와 제2 복제본 상태 데이터 사이의 매칭 결과에 따라 단계 S603 또는 단계 S604로 진행될 수 있다. 즉, 1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭될 때까지 단계 S604와 단계 S605는 반복적으로 수행될 수 있다.Then, in step S602, the client server 101 may retransmit the file operation request including the updated first copy state data to the data server 103. Then, the process may proceed to step S603 or S604 according to a matching result between the first copy state data and the second copy state data. That is, steps S604 and S605 may be repeatedly performed until the first copy state data and the second copy state data match.

도 7은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 데이터 서버의 전체 구성을 도시한 블록 다이어그램이다.7 is a block diagram showing the overall configuration of a data server performing a file consistency management method using replica state matching according to an embodiment of the present invention.

도 7을 참고하면, 데이터 서버(103)는 데이터 저장부(701), 파일 연산 요청 수신부(702), 데이터 매칭 판단부(703) 및 파일 연산 수행부(704)를 포함할 수 있다.Referring to FIG. 7, the data server 103 may include a data storage unit 701, a file operation request receiver 702, a data matching determination unit 703, and a file operation execution unit 704.

데이터 저장부(701)는 복제본 및 제1 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 복제본은 오너 별로 그룹화된 파일의 집합을 의미할 수 있다. 그리고, 오너는 파일이 속한 디렉토리에 대응될 수 있다.The data storage unit 701 may store and maintain the replica and the first replica status data. In this case, the replica may mean a set of files grouped by owner. The owner may correspond to a directory to which the file belongs.

일례로, 제1 복제본 상태 데이터는 복제본의 복제본 상태 및 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타낼 수 있다. 이 때, 서버 상태는 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 의미할 수 있다.In one example, the first replica status data may represent the replica status of the replica and the server status of each of the other data servers storing the same replica as the replica. At this time, the server state may mean that the replica state for the replica stored in each of the other data servers is replaced.

파일 연산 요청 수신부(702)는 클라이언트 서버(101)로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신할 수 있다. The file operation request receiver 702 may receive a file operation request including the second copy state data from the client server 101.

데이터 매칭 판단부(703)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다.The data matching determination unit 703 may determine whether the first replica state data and the second replica state data match.

파일 연산 수행부(704)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하는 경우, 파일 연산을 수행할 수 있다. 일례로, 파일 연산 수행부(704)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 클라이언트 서버(101)의 파일 연산 요청을 거절할 수 있다.The file operation performing unit 704 may perform a file operation when the first replica state data and the second replica state data match. For example, the file operation performing unit 704 may reject the file operation request of the client server 101 when the first replica state data and the second replica state data do not match.

그러면, 클라이언트 서버(101)는 제2 복제본 상태 데이터를 메타데이터 서버(102)에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(102)와 연결된 데이터 서버의 현재 서버 상태로 구성될 수 있다. 그리고, Then, the client server 101 may update the second replica state data to be the same as the third replica state data stored in the metadata server 102. In this case, the third replica state data may be configured as a current server state of the data server connected to the metadata server 102. And,

일례로, 파일 연산 요청 수신부(702)는 클라이언트 서버(101)로부터 업데이트된 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신할 수 있다. 이에 따라, 데이터 매칭 판단부(703)는 제1 복제본 상태 데이터와 업데이트된 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단할 수 있다.In one example, the file operation request receiver 702 may re-receive a file operation request including the updated second copy state data from the client server 101. Accordingly, the data matching determination unit 703 may determine whether the first replica state data and the updated second replica state data match.

도 8은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 클라이언트 서버(101)의 전체 구성을 도시한 블록 다이어그램이다.8 is a block diagram showing the overall configuration of a client server 101 performing a file consistency management method using replica state matching according to an embodiment of the present invention.

도 8을 참고하면, 클라이언트 서버(101)는 데이터 저장부(801), 파일 연산 요청 전송부(802), 데이터 업데이트부(803) 및 파일 연산 결과 수신부(804)를 포함할 수 있다.Referring to FIG. 8, the client server 101 may include a data storage 801, a file operation request transmitter 802, a data updater 803, and a file operation result receiver 804.

데이터 저장부(801)는 제1 복제본 상태 데이터를 저장하고 유지할 수 있다.The data storage unit 801 may store and maintain the first copy state data.

파일 연산 요청 전송부(802)는 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 전송할 수 있다. 이 때, 파일 연산 내용이 복제본을 변경하는 경우, 파일 연산 요청 전송부(802)는 상기 복제본을 저장하는 모든 데이터 서버(103)에 파일 연산 요청을 전송할 수 있다.The file operation request transmitter 802 may transmit a file operation request including the first copy state data to the data server 103. In this case, when the file operation contents change the replica, the file operation request transmitter 802 may transmit a file operation request to all data servers 103 storing the replica.

일례로, 데이터 서버(103)는 오너 별로 그룹화된 파일의 집합인 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지할 수 있다. 이 때, 제2 복제본 상태 데이터는 복제본의 복제본 상태 및 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타낼 수 있다. 서버 상태는 동일한 복제본을 저장하는 다른 데이터 서버들이 저장하는 복제본 상태가 대체된 것을 의미한다.As an example, the data server 103 may store and maintain a replica, which is a collection of files grouped by owner, and second replica status data indicating a status of the replica. At this time, the second replica status data may represent the replica status of the replica and the server status of each of the other data servers storing the same replica as the replica. Server state means that the replica state stored by other data servers storing the same replica is replaced.

데이터 업데이트부(803)는 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 일례로, 데이터 업데이트부(803)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 제1 복제본 상태 데이터를 제3 복제본 상태 데이터와 동일하도록 업데이트 할 수 있다. 이 때, 제3 복제본 상태 데이터는 메타데이터 서버(103)와 연결된 데이터 서버(103)의 현재 서버 상태로 구성될 수 있다.The data updater 803 may update the first replica state data to be the same as the third replica state data stored in the metadata server. For example, if the first replica state data and the second replica state data do not match, the data updater 803 may update the first replica state data to be the same as the third replica state data. In this case, the third replica state data may be configured as a current server state of the data server 103 connected to the metadata server 103.

파일 연산 결과 수신부(804)는 제1 복제본 상태 데이터와 데이터 서버(103)가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 데이터 서버(803)로부터 파일 연산 결과를 수신할 수 있다. 이 때, 파일 연산 결과 수신부(804)는 제1 복제본 상태 데이터와 제2 복제본 상태 데이터가 매칭하지 않는 경우, 데이터 서버(103)로부터 파일 연산 요청에 대한 거절 응답을 수신할 수 있다.The file operation result receiver 804 may receive a file operation result from the data server 803 when the first replica state data and the second replica state data stored in the data server 103 match. In this case, when the first replica state data and the second replica state data do not match, the file operation result receiver 804 may receive a rejection response to the file operation request from the data server 103.

앞에서 이미 언급했듯이, 데이터 업데이트부(803)는 거절 응답에 따라 제1 복제본 상태 데이터를 메타데이터 서버(102)의 제3 복제본 상태 데이터와 동일하도록 업데이트할 수 있다. 그러면, 파일 연산 요청 전송부(801)는 업데이트된 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버(103)에 재전송할 수 있다.As mentioned above, the data updater 803 may update the first replica status data to be the same as the third replica status data of the metadata server 102 according to the rejection response. Then, the file operation request transmitter 801 may retransmit the file operation request including the updated first copy state data to the data server 103.

또한 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, the method of managing file consistency using copy state matching according to an embodiment of the present invention includes a computer readable medium including program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be program instructions that are specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

도 1은 본 발명의 일실시예에 따른 분산 파일 시스템의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a distributed file system according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따라 디렉토리에 기초한 오너 단위로 파일을 그룹화하고, 오너의 복제본이 데이터 서버에 저장되는 일례를 도시한 도면이다.2 is a diagram illustrating an example in which files are grouped in units of owners based on directories according to an embodiment of the present invention, and copies of owners are stored in a data server.

도 3은 본 발명의 일실시예에 따라 복제본 상태가 전환되는 과정을 도시한 도면이다.3 is a diagram illustrating a process of switching a replica state according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 분산 파일 시스템이 복제본 상태 매칭을 이용하여 파일 연산을 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram illustrating a process of performing a file operation by using a copy state matching in a distributed file system according to an exemplary embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 데이터 서버의 입장에서 설명하는 플로우차트이다.5 is a flowchart illustrating a file consistency management method using copy state matching according to an embodiment of the present invention from the perspective of a data server.

도 6은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 클라이언트 서버의 입장에서 설명하는 플로우차트이다.6 is a flowchart illustrating a file consistency management method using replica state matching according to an embodiment of the present invention from the perspective of a client server.

도 7은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 데이터 서버의 전체 구성을 도시한 블록 다이어그램이다.7 is a block diagram showing the overall configuration of a data server performing a file consistency management method using replica state matching according to an embodiment of the present invention.

도 8은 본 발명의 일실시예에 따른 복제본 상태 매칭을 이용한 파일 일관성 관리 방법을 수행하는 클라이언트 서버의 전체 구성을 도시한 블록 다이어그램이다.8 is a block diagram showing the overall configuration of a client server performing a file consistency management method using replica state matching according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

101: 클라이언트 서버101: client server

102: 메타데이터 서버102: metadata server

103: 데이터 서버103: data server

Claims (32)

데이터 서버가 복제본(replica) 및 제1 복제본 상태 데이터를 저장하고 유지하는 단계;The data server storing and maintaining replica and first replica state data; 상기 데이터 서버가 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 단계;Receiving, by the data server, a file operation request including second replica state data from a client server; 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계; 및Determining, by the data server, whether the first replica state data and the second replica state data match; And 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 단계The data server performing a file operation when the first replica state data and the second replica state data match. 를 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching including a. 제1항에 있어서,The method of claim 1, 상기 복제본은,The replica is, 오너 별로 그룹화된 파일의 집합으로,A collection of files grouped by owner, 상기 오너는,The owner, 상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching, characterized in that corresponding to the directory to which the file belongs. 제1항에 있어서,The method of claim 1, 상기 제1 복제본 상태 데이터는,The first replica state data, 상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And a server state of each of the other data servers storing the replica state of the replica and the same replica as the replica. 제3항에 있어서,The method of claim 3, 상기 서버 상태는,The server state is, 상기 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching, characterized in that the replica status for the replica stored in each of the other data server is replaced. 제1항에 있어서,The method of claim 1, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 데이터 서버가 파일 연산 요청을 거절하는 단계; 및Rejecting, by the data server, a file operation request when the first replica state data and the second replica state data do not match; And 상기 데이터 서버가 상기 클라이언트 서버로부터 업데이트된 상기 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신하는 단계The data server re-receiving a file operation request containing the updated second replica state data from the client server 를 더 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching further comprising. 제5항에 있어서,The method of claim 5, 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 단계는,The determining of whether the data server matches the first copy state data and the second copy state data may include: 상기 데이터 서버가 상기 제1 복제본 상태 데이터와 업데이트된 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And determining whether the data server matches the first replica state data and the updated second replica state data. 제5항에 있어서,The method of claim 5, 상기 클라이언트 서버는,The client server, 상기 제2 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And updating the second replica state data to be the same as the third replica state data stored in the metadata server. 제7항에 있어서,The method of claim 7, wherein 상기 제3 복제본 상태 데이터는,The third replica state data, 상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And a current server state of a data server connected to the metadata server. 클라이언트 서버가 제1 복제본 상태 데이터를 저장하고 유지하는 단계;Storing and maintaining, by the client server, the first replica state data; 상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계; 및Sending, by the client server, a file operation request including the first replica state data to a data server; And 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신 하는 단계Receiving a file operation result from the data server when the first replica state data and the second replica state data stored in the data server match. 를 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching including a. 제9항에 있어서,10. The method of claim 9, 상기 데이터 서버는,The data server, 오너 별 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.A method for managing file consistency using replica state matching, which comprises storing and maintaining a replica for each owner and second replica state data indicating a state of the replica. 제10항에 있어서,The method of claim 10, 상기 복제본은,The replica is, 오너 별로 그룹화된 파일의 집합으로,A collection of files grouped by owner, 상기 오너는,The owner, 상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching, characterized in that corresponding to the directory to which the file belongs. 제10항에 있어서,The method of claim 10, 상기 제2 복제본 상태 데이터는,The second replica state data, 상기 오너 별 복제본의 복제본 상태 및 상기 오너 별 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하 는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And a server state of each of the other data servers storing the replica state of the replica by the owner and the same replica as the replica by the owner. 제12항에 있어서,The method of claim 12, 상기 서버 상태는,The server state is, 상기 다른 데이터 서버들 각각이 저장하는 복제본의 복제본 상태가 대체된 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And a replica state of a replica stored in each of the other data servers is replaced. 제9항에 있어서,10. The method of claim 9, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 클라이언트 서버가 상기 데이터 서버로부터 파일 연산 요청에 대한 거절 응답을 수신하는 단계; 및Receiving, by the client server, a rejection response to a file operation request from the data server when the first replica state data and the second replica state data do not match; And 상기 클라이언트 서버가 상기 제1 복제본 상태 데이터를 업데이트하는 단계The client server updating the first replica status data 를 더 포함하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.File consistency management method using replica status matching further comprising. 제14항에 있어서,The method of claim 14, 상기 클라이언트 서버가 데이터 서버에 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 전송하는 단계는,The client server transmitting a file operation request including the first replica state data to a data server, 상기 클라이언트 서버가 업데이트된 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 재전송하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And the client server retransmits a file operation request including the updated first replica state data. 제14항에 있어서,The method of claim 14, 상기 제1 복제본 상태 데이터를 업데이트하는 단계는,Updating the first replica state data, 상기 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And updating the first replica state data to be the same as the third replica state data stored in the metadata server. 제16항에 있어서,The method of claim 16, 상기 제3 복제본 상태 데이터는,The third replica state data, 상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 복제본 상태 매칭을 이용한 파일 일관성 관리 방법.And a current server state of a data server connected to the metadata server. 제1항 내지 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 17 is recorded. 복제본 및 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부;A data storage unit for storing and maintaining the replica and the first replica state data; 클라이언트 서버로부터 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 수신하는 파일 연산 요청 수신부;A file operation request receiver configured to receive a file operation request including second copy state data from a client server; 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 데이터 매칭 판단부; 및A data matching determination unit determining whether the first replica state data and the second replica state data match; And 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버가 파일 연산을 수행하는 파일 연산 수행부A file operation performing unit for performing a file operation by the data server when the first replica state data and the second replica state data match. 를 포함하는 데이터 서버.Data server comprising a. 제19항에 있어서,The method of claim 19, 상기 복제본은,The replica is, 오너 별로 그룹화된 파일의 집합으로,A collection of files grouped by owner, 상기 오너는,The owner, 상기 파일이 속한 디렉토리에 대응되는 것을 특징으로 하는 데이터 서버.And a data server corresponding to a directory to which the file belongs. 제19항에 있어서,The method of claim 19, 상기 제1 복제본 상태 데이터는,The first replica state data, 상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 데이터 서버.A replica status of the replica and a server status of each of the other data servers storing the same replica as the replica. 제21항에 있어서,The method of claim 21, 상기 서버 상태는,The server state is, 상기 다른 데이터 서버들 각각이 저장하는 복제본에 대한 복제본 상태가 대체된 것을 특징으로 하는 데이터 서버.And a replica state for the replica stored by each of the other data servers is replaced. 제19항에 있어서,The method of claim 19, 상기 파일 연산 수행부는,The file operation execution unit, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우,상기 파일 연산 요청을 거절하는 것을 특징으로 하는 데이터 서버.And if the first replica state data and the second replica state data do not match, rejecting the file operation request. 제19항에 있어서,The method of claim 19, 상기 파일 연산 요청 수신부는,The file operation request receiver, 상기 클라이언트 서버로부터 업데이트된 상기 제2 복제본 상태 데이터를 포함하는 파일 연산 요청을 재수신하고,Re-receive a file operation request containing the updated second replica state data from the client server, 상기 데이터 매칭 판단부는,The data matching determination unit, 상기 제1 복제본 상태 데이터와 업데이트된 상기 제2 복제본 상태 데이터가 매칭하는 지 여부를 판단하는 것을 특징으로 하는 데이터 서버.And determining whether the first replica state data matches the updated second replica state data. 제24항에 있어서,The method of claim 24, 상기 클라이언트 서버는,The client server, 상기 제2 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 것을 특징으로 하는 데이터 서버.And update the second replica state data to be the same as the third replica state data stored in the metadata server. 제25항에 있어서,The method of claim 25, 상기 제3 복제본 상태 데이터는,The third replica state data, 상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 데이터 서버.And a current server state of a data server connected to the metadata server. 제1 복제본 상태 데이터를 저장하고 유지하는 데이터 저장부;A data storage unit for storing and maintaining first replica state data; 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 데이터 서버에 전송하는 파일 연산 요청 전송부; 및A file operation request transmitter for transmitting a file operation request including the first copy state data to a data server; And 상기 제1 복제본 상태 데이터와 상기 데이터 서버가 저장하고 있는 제2 복제본 상태 데이터가 매칭하는 경우, 상기 데이터 서버로부터 파일 연산 결과를 수신하는 파일 연산 결과 수신부A file operation result receiver configured to receive a file operation result from the data server when the first replica state data and the second replica state data stored in the data server match. 를 포함하는 클라이언트 서버.Client server comprising a. 제27항에 있어서,The method of claim 27, 상기 데이터 서버는,The data server, 오너 별로 그룹화된 파일의 집합인 복제본 및 상기 복제본의 상태를 나타내는 제2 복제본 상태 데이터를 저장하고 유지하는 것을 특징으로 하는 클라이언트 서버.And storing and maintaining a replica, which is a collection of files grouped by owner, and second replica status data representing the replica's status. 제28항에 있어서,The method of claim 28, 상기 제2 복제본 상태 데이터는,The second replica state data, 상기 복제본의 복제본 상태 및 상기 복제본과 동일한 복제본을 저장하는 다 른 데이터 서버들 각각의 서버 상태를 나타내는 것을 특징으로 하는 클라이언트 서버.And a server state of each of the other data servers storing the replica state of the replica and the same replica as the replica. 제27항에 있어서,The method of claim 27, 상기 파일 연산 결과 수신부는,The file operation result receiver, 상기 제1 복제본 상태 데이터와 상기 제2 복제본 상태 데이터가 매칭하지 않는 경우, 상기 데이터 서버로부터 파일 연산 요청에 대한 거절 응답을 수신하는 것을 특징으로 하는 클라이언트 서버.And if the first replica state data and the second replica state data do not match, receiving a rejection response to a file operation request from the data server. 제27항에 있어서,The method of claim 27, 상기 제1 복제본 상태 데이터를 메타데이터 서버에 저장된 제3 복제본 상태 데이터와 동일하도록 업데이트 하는 데이터 업데이트부A data updater for updating the first replica status data to be the same as the third replica status data stored in the metadata server 를 더 포함하고,More, 상기 파일 연산 요청 전송부는,The file operation request transmission unit, 업데이트된 상기 제1 복제본 상태 데이터를 포함하는 파일 연산 요청을 상기 데이터 서버에 재전송하는 것을 특징으로 하는 클라이언트 서버.And resend a file operation request containing the updated first replica state data to the data server. 제31항에 있어서,The method of claim 31, wherein 상기 제3 복제본 상태 데이터는,The third replica state data, 상기 메타데이터 서버와 연결된 데이터 서버의 현재 서버 상태로 구성되는 것을 특징으로 하는 클라이언트 서버.And a current server state of a data server connected to the metadata server.
KR1020080052529A 2008-06-04 2008-06-04 Distributed file system and file consistency management method using replica state matching KR100988107B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080052529A KR100988107B1 (en) 2008-06-04 2008-06-04 Distributed file system and file consistency management method using replica state matching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080052529A KR100988107B1 (en) 2008-06-04 2008-06-04 Distributed file system and file consistency management method using replica state matching

Publications (2)

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

Family

ID=41687566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080052529A KR100988107B1 (en) 2008-06-04 2008-06-04 Distributed file system and file consistency management method using replica state matching

Country Status (1)

Country Link
KR (1) KR100988107B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139208A (en) * 1992-10-30 1994-05-20 Toshiba Corp Shared data control system
KR20020065977A (en) * 2001-02-08 2002-08-14 주식회사 루틸러스테크놀러지 Method for data backup to distributed file group virtually aggregated
KR20090059859A (en) * 2007-12-07 2009-06-11 한국전자통신연구원 Method for asynchronous data replication in distributed file system and system thereof
KR20090065131A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 Distributed file system and method for guaranteeing consistency of metadata

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139208A (en) * 1992-10-30 1994-05-20 Toshiba Corp Shared data control system
KR20020065977A (en) * 2001-02-08 2002-08-14 주식회사 루틸러스테크놀러지 Method for data backup to distributed file group virtually aggregated
KR20090059859A (en) * 2007-12-07 2009-06-11 한국전자통신연구원 Method for asynchronous data replication in distributed file system and system thereof
KR20090065131A (en) * 2007-12-17 2009-06-22 한국전자통신연구원 Distributed file system and method for guaranteeing consistency of metadata

Also Published As

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

Similar Documents

Publication Publication Date Title
CN109074306B (en) Hybrid garbage collection in a distributed storage system
US9697092B2 (en) File-based cluster-to-cluster replication recovery
KR100983300B1 (en) Recovery from failures within data processing systems
US9081841B2 (en) Asynchronous distributed garbage collection for replicated storage clusters
CN107870829B (en) Distributed data recovery method, server, related equipment and system
US20090204650A1 (en) File Deduplication using Copy-on-Write Storage Tiers
US20180101558A1 (en) Log-shipping data replication with early log record fetching
JP2016524750A5 (en)
CN102349047A (en) Data insertion system
US10095415B2 (en) Performance during playback of logged data storage operations
JP5292351B2 (en) Message queue management system, lock server, message queue management method, and message queue management program
CN104794119A (en) Middleware message storage and transmission method and system
KR100922584B1 (en) Distributed object-sharing system and method thereof
CN113010496A (en) Data migration method, device, equipment and storage medium
Stutsman Durability and crash recovery in distributed in-memory storage systems
JP5292350B2 (en) Message queue management system, lock server, message queue management method, and message queue management program
US20240028486A1 (en) Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors
CN106951443B (en) Method, equipment and system for synchronizing copies based on distributed system
CN113946471A (en) Distributed file-level backup method and system based on object storage
US11194501B2 (en) Standby copies withstand cascading fails
KR100988107B1 (en) Distributed file system and file consistency management method using replica state matching
KR100994342B1 (en) Distributed file system and method for replica-based fault treatment
KR101009149B1 (en) Distributed file system and method for operating file using owner-based file grouping
US11645333B1 (en) Garbage collection integrated with physical file verification
US11983080B2 (en) Use of cluster-level redundancy within a cluster of a distributed storage management system to address node-level errors

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