KR20120044694A - Asymmetric distributed file system, apparatus and method for distribution of computation - Google Patents

Asymmetric distributed file system, apparatus and method for distribution of computation Download PDF

Info

Publication number
KR20120044694A
KR20120044694A KR1020100106131A KR20100106131A KR20120044694A KR 20120044694 A KR20120044694 A KR 20120044694A KR 1020100106131 A KR1020100106131 A KR 1020100106131A KR 20100106131 A KR20100106131 A KR 20100106131A KR 20120044694 A KR20120044694 A KR 20120044694A
Authority
KR
South Korea
Prior art keywords
metadata server
metadata
individual
operation information
subject
Prior art date
Application number
KR1020100106131A
Other languages
Korean (ko)
Other versions
KR101754713B1 (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 KR1020100106131A priority Critical patent/KR101754713B1/en
Publication of KR20120044694A publication Critical patent/KR20120044694A/en
Application granted granted Critical
Publication of KR101754713B1 publication Critical patent/KR101754713B1/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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

Landscapes

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

Abstract

PURPOSE: An asymmetric distribution file system, an operation distributing device, and a method thereof are provided to distribute various operations to a main metadata server and a sub metadata server, thereby guaranteeing stable performance despite increases in the number of clients and data. CONSTITUTION: A main metadata server(100) executes operations which need to modify metadata. A sub metadata server(110-1~110-m) executes operations which do not need to modify metadata. A data server(120-1~120-n) stores the original copy and a replica of data which are generated or modified by the operations. The main metadata server determines a sub metadata server which requests the operations.

Description

비대칭 분산 파일 시스템, 연산 분배 장치 및 방법{ASYMMETRIC DISTRIBUTED FILE SYSTEM, APPARATUS AND METHOD FOR DISTRIBUTION OF COMPUTATION}Asymmetric Distributed File System, Computation Distribution Device and Method {ASYMMETRIC DISTRIBUTED FILE SYSTEM, APPARATUS AND METHOD FOR DISTRIBUTION OF COMPUTATION}

본 발명은 비대칭 분산 파일 시스템에 관한 것으로, 더욱 상세하게는 주 메타 데이터 서버와 보조 메타 데이터 서버를 포함하는 비대칭 분산 파일 시스템과 이러한 비대칭 분산 파일 시스템에서 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 연산 주체로 결정하여 연산을 요청하는 연산 분배 장치 및 방법에 관한 것이다.The present invention relates to an asymmetric distributed file system, and more particularly, to an asymmetric distributed file system including a primary metadata server and a secondary metadata server, and to any one of a metadata server and an auxiliary metadata server in such an asymmetric distributed file system. The present invention relates to an operation distribution apparatus and a method for determining an operation subject of an individual operation and requesting an operation.

주지하는 바와 같이, 비대칭 분산 파일 시스템은 파일의 메타 데이터와 실제 데이터를 분리하여 저장하고 관리하는 시스템으로서, 메타 데이터는 메타 데이터 서버에서 관리되며 실제 데이터는 여러 대의 데이터 서버들에 분산되어 저장된다. 메타 데이터 서버에서 관리하는 메타 데이터에는 실제 데이터가 저장되어 있는 데이터 서버에 대한 정보가 포함된다.As is well known, an asymmetric distributed file system is a system that stores and manages metadata and actual data of a file separately. The metadata is managed in a metadata server and the actual data is distributed and stored in multiple data servers. The metadata managed by the metadata server includes information about the data server where the actual data is stored.

이러한 메타 데이터 서버와 데이터 서버들은 네트워크로 연결되어 분산된 구조를 갖는다. 따라서 클라이언트 단말은 파일의 메타 데이터와 데이터를 접근하는 경로가 분리된다. 즉, 파일을 액세스하기 위해서, 클라이언트 단말은 먼저 메타 데이터 서버에 있는 파일의 메타 데이터를 액세스해서 실제 데이터가 저장되어 있는 데이터 서버들에 대한 정보를 얻는다. 그리고 나서 실제 데이터에 대한 입출력은 데이터 서버들을 통하여 이루어진다.These metadata servers and data servers are distributed over a network. Therefore, the client terminal is separated from the file metadata and the path for accessing the data. That is, in order to access the file, the client terminal first accesses the metadata of the file in the metadata server to obtain information about the data servers in which the actual data is stored. Then input and output to the actual data is done through the data servers.

종래의 비대칭 분산 파일 시스템은 하나의 메타 데이터 서버와 복수의 데이터 서버로 구성되는데, 등록된 클라이언트의 수, 즉 클라이언트 단말의 수가 적고, 이에 따라 데이터 량 또한 적을 때에는 빠른 데이터 접근을 보장하나, 클라이언트 수의 증가로 인해 데이터 누적이 어느 수준 이상으로 진행되면 하나의 메타 데이터 서버라는 구조로 인하여 성능 병목현상(bottleneck)이 발생한다. 예컨대, 다수 클라이언트들의 많은 파일들이 등록된 상황에서는 등록된 파일들에 대한 탐색 연산을 실행하면 탐색 영역 범위가 커져서 현재 접속되어 있는 다른 클라이언트들이 느끼는 시스템 성능이 급격히 저하되는 문제점이 있었다.The conventional asymmetric distributed file system is composed of one metadata server and a plurality of data servers. When the number of registered clients is small, that is, the number of client terminals is small, the data access is guaranteed, but the number of clients is fast. If the data accumulation progresses above a certain level due to the increase of, a performance bottleneck occurs due to the structure of a single metadata server. For example, in a situation where a large number of files of multiple clients are registered, when a search operation is performed on the registered files, the search area range is increased, and system performance that other clients currently connected to is rapidly degraded.

본 발명은 이와 같은 종래 기술의 문제점을 해결하기 위해 제안한 것으로서, 기존 메타 데이터 서버의 기능을 주 메타 데이터 서버와 보조 메타 데이터 서버로 분배하여 수행함으로써 성능 병목현상을 최소화하는 비대칭 분산 파일 시스템을 제공한다.The present invention has been proposed to solve the problems of the prior art, and provides an asymmetric distributed file system that minimizes the performance bottleneck by distributing the functions of the existing metadata server to the primary metadata server and the secondary metadata server. .

본 발명은 비대칭 분산 파일 시스템의 주 메타 데이터 서버와 보조 메타 데이터 서버에게 각종 개별 연산을 적절히 분배할 수 있는 연산 분배 장치 및 방법을 제공한다.The present invention provides an operation distribution apparatus and method capable of appropriately distributing various individual operations to a primary metadata server and an auxiliary metadata server of an asymmetric distributed file system.

본 발명의 제 1 관점으로서 비대칭 분산 파일 시스템은, 각종 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하는 주 메타 데이터 서버와, 상기 개별 연산 중에서 상기 메타 데이터의 수정이 불필요한 연산을 수행하는 보조 메타 데이터 서버와, 상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버를 포함할 수 있다.As a first aspect of the present invention, an asymmetric distributed file system includes a main metadata server for performing an operation requiring modification of metadata among various individual operations, and an auxiliary meta for performing an operation without modification of the metadata among the individual operations. And a data server for storing originals and replicas of data generated or modified by the individual operations.

여기서, 상기 비대칭 분산 파일 시스템은, 복수의 상기 보조 메타 데이터 서버를 포함하며, 상기 주 메타 데이터 서버는, 상기 복수의 보조 메타 데이터 서버 중에서 상기 개별 연산을 요청할 보조 메타 데이터 서버를 결정할 수 있다.The asymmetric distributed file system may include a plurality of auxiliary metadata servers, and the main metadata server may determine a supplementary metadata server to request the individual operation among the plurality of auxiliary metadata servers.

본 발명의 제 2 관점으로서 비대칭 분산 파일 시스템은, 각종 개별 연산을 수행하는 주 메타 데이터 서버와, 상기 주 메타 데이터 서버와의 데이터 동기화를 수행하여 상기 개별 연산 중에서 탐색 연산을 지원하며, 상기 주 메타 데이터 서버의 오류 시에 상기 각종 개별 연산을 수행하는 보조 메타 데이터 서버와, 상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버를 포함할 수 있다.In accordance with a second aspect of the present invention, an asymmetric distributed file system may perform data synchronization with a main metadata server performing various individual operations and the main metadata server to support search operations among the individual operations, It may include a secondary metadata server for performing the various individual operations in the event of a data server failure, and a data server for storing the original and the copy of the data generated or modified by the individual operations.

본 발명의 제 3 관점으로서 연산 분배 장치는, 각종 개별 연산의 수행에 관련한 기준 정보를 저장하는 기준 정보 저장부와, 상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보의 비교 결과에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 연산 주체 결정부와, 상기 연산 주체 결정부의 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 연산 요청부를 포함할 수 있다.According to a third aspect of the present invention, an operation distribution device includes a reference information storage unit for storing reference information related to the execution of various individual operations, and a result of comparing the operation information required to be performed among the individual operations with the reference information. An operation subject determining unit which determines one of a metadata server and an auxiliary metadata server as a subject of the individual operation, and the one of the primary metadata server and the auxiliary metadata server according to the determination of the operation subject determining unit. It may include an operation request unit for requesting an individual operation.

여기서, 상기 기준 정보 저장부는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 저장하며, 상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.Here, the reference information storage unit stores operation information that requires modification of the metadata among the individual operations and operation information that does not require modification of the metadata, and the operation subject determining unit stores the operation information that requires the execution of the meta information. In the case of operation information requiring modification of data, the main metadata server is determined as the subject of the individual operation, and in the case in which the operation information required to be performed is operation information that does not require modification of the metadata, the auxiliary metadata server May be determined as the subject of the individual operation.

상기 기준 정보 저장부는, 상기 개별 연산 중에서 탐색 연산 정보를 저장하며, 상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.The reference information storage unit stores search operation information among the individual operations, and when the operation information required for performing the search operation information is the search operation information, the auxiliary metadata server as a subject of the individual operations. If the operation information required to be performed is not the search operation information, the main metadata server may be determined as a subject of the individual operation.

본 발명의 제 4 관점으로서 연산 분배 방법은, 각종 개별 연산의 수행에 관련한 기준 정보를 제공 받는 단계와, 상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보를 비교하는 단계와, 상기 비교의 결과에 의거하여 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 단계와, 상기 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 단계를 포함할 수 있다.According to a fourth aspect of the present invention, an operation distribution method includes receiving reference information related to performance of various individual operations, comparing operation information required to be performed among the individual operations with the reference information, and performing the comparison. Determining one of the primary metadata server and the secondary metadata server as the subject of the individual operation based on a result; and determining the individual operation to any one of the primary metadata server and the auxiliary metadata server according to the determination. It may include the step of requesting.

여기서, 상기 제공 받는 단계는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 제공 받으며, 상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.Here, the step of receiving the operation, the operation information that requires modification of the metadata and the operation information that does not need to modify the metadata of the individual operation is provided, the determining step, the operation information required to perform the operation is the meta In the case of operation information requiring modification of data, the main metadata server is determined as the subject of the individual operation, and in the case in which the operation information required to be performed is operation information that does not require modification of the metadata, the auxiliary metadata server May be determined as the subject of the individual operation.

상기 제공 받는 단계는, 상기 개별 연산 중에서 탐색 연산 정보를 제공 받으며, 상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.The receiving step may be provided with search operation information among the individual operations, and the determining may include: when the operation information required to be performed is the search operation information, the auxiliary metadata server as a subject of the individual operation. If the operation information required to be performed is not the search operation information, the main metadata server may be determined as a subject of the individual operation.

본 발명의 실시예에 의하면, 각종 개별 연산을 주 메타 데이터 서버와 보조 메타 데이터 서버가 분배하여 수행함으로써 클라이언트 수의 증가 및 이에 따른 데이터 량의 증가에도 성능 병목현상을 최소화하여 안정적인 성능을 지원할 수 있다. 예컨대, 다수 클라이언트들의 많은 파일들이 등록된 상황에서는 등록된 파일들에 대한 탐색 연산을 보조 메타 데이터 서버가 지원함으로써 접속되어 있는 다른 클라이언트들이 느끼는 시스템 성능이 급격히 저하되지 않는 효과가 있다.According to an exemplary embodiment of the present invention, by performing various distributed operations between the primary metadata server and the secondary metadata server, it is possible to support stable performance by minimizing a performance bottleneck even with an increase in the number of clients and an increase in the amount of data. . For example, in a situation where a large number of files of multiple clients are registered, the auxiliary metadata server supports a search operation on the registered files so that the system performance of other clients connected to the system is not drastically degraded.

도 1은 본 발명의 일 실시예에 따른 비대칭 분산 파일 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 연산 분배 장치의 블록 구성도.
도 3은 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 일 예로 나타낸 흐름도.
도 4는 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 다른 예로 나타낸 흐름도.
도 5는 본 발명의 다른 실시예에 따른 비대칭 분산 파일 시스템의 구성도.
1 is a block diagram of an asymmetric distributed file system according to an embodiment of the present invention.
Figure 2 is a block diagram of a calculation distribution device according to an embodiment of the present invention.
3 is a flowchart illustrating an example of an operation process of an asymmetric distributed file system to which an operation distribution device according to an exemplary embodiment of the present invention is applied.
4 is a flowchart illustrating another example of an operation process of an asymmetric distributed file system to which an operation distribution device according to an exemplary embodiment of the present invention is applied.
5 is a block diagram of an asymmetric distributed file system according to another embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

도 1은 본 발명의 일 실시예에 따른 비대칭 분산 파일 시스템의 구성도이다.1 is a block diagram of an asymmetric distributed file system according to an embodiment of the present invention.

이에 나타낸 바와 같이 비대칭 분산 파일 시스템(100)은, 주 메타 데이터 서버(110), m개의 보조 메타 데이터 서버(110-1, …, 110-m), n개의 데이터 서버(120-1, 120-2, 120-3, …, 120-n)를 포함할 수 있으며, k개의 클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)을 대상으로 하여 네트워크를 통해 데이터의 저장 및 관리 기능을 제공한다.As shown therein, the asymmetric distributed file system 100 includes a primary metadata server 110, m secondary metadata servers 110-1, ..., 110-m, and n data servers 120-1, 120-. 2, 120-3, ..., 120-n, and may be configured for a network of k client terminals 10-1, 10-2, 10-3, 10-4, ..., 10-k. It provides data storage and management.

도 1에서는 m개의 보조 메타 데이터 서버(110-1, …, 110-m)를 배치한 예를 나타내었으나, 이러한 보조 메타 데이터 서버의 개수는 예컨대, 최초 1개부터 시작하여 클라이언트 수, 즉 클라이언트 단말 수의 증가에 따라 동적으로 증가시켜 생성할 수 있다.In FIG. 1, m auxiliary metadata servers 110-1 to 110-m are shown. However, the number of auxiliary metadata servers is, for example, starting from the first one, that is, the number of clients, that is, the client terminal. Can be generated dynamically increase as the number increases.

이와 같이 비대칭 분산 파일 시스템을 구성하는 단말과 서버들의 기능을 살펴보면 다음과 같다.As described above, the functions of terminals and servers constituting the asymmetric distributed file system are as follows.

클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)은 클라이언트 응용을 수행하면서 주 메타 데이터 서버(110) 또는 보조 메타 데이터 서버(110-1, …, 110-m)로부터 파일 메타 데이터에 액세스하고 데이터 서버(120-1, 120-2, 120-3, …, 120-n)로부터 파일 데이터를 입출력 한다.The client terminals 10-1, 10-2, 10-3, 10-4,..., 10-k perform the client application while the primary metadata server 110 or the secondary metadata server 110-1,. Access file metadata from 110-m) and input and output file data from data servers 120-1, 120-2, 120-3, ..., 120-n.

주 메타 데이터 서버(110) 및 보조 메타 데이터 서버(110-1, …, 110-m)는 파일 시스템의 모든 파일에 대한 메타 데이터를 저장하고 관리하며, 모든 데이터 서버(120-1, 120-2, 120-3, …, 120-n)에 대한 상태 정보를 관리한다. 주 메타 데이터 서버(110)는 클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)에 의해 발생한 각종 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하거나 모든 개별 연산을 수행할 수도 있다. 보조 메타 데이터 서버(110-1, …, 110-m)는 클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)에 의해 발생한 각종 개별 연산 중에서 메타 데이터의 수정이 불필요한 연산을 수행하거나 개별 연산 중에서 탐색 연산을 지원하면서 주 메타 데이터 서버(110)의 오류 시에 각종 개별 연산을 수행하여 주 메타 데이터 서버(110)의 역할을 수행할 수 있다. 이를 위해, 보조 메타 데이터 서버(110-1, …, 110-m)는 주 메타 데이터 서버(110)와의 데이터 동기화를 주기적으로 수행할 수 있다.Primary metadata server 110 and secondary metadata servers 110-1, ..., 110-m store and manage metadata for all files in the file system, and all data servers 120-1, 120-2. , 120-3, ..., 120-n). The main metadata server 110 performs an operation requiring modification of metadata among various individual operations generated by the client terminals 10-1, 10-2, 10-3, 10-4,..., 10-k, or You can also perform all individual operations. The auxiliary metadata server 110-1,..., 110-m may transmit metadata from various individual operations generated by the client terminals 10-1, 10-2, 10-3, 10-4,..., 10-k. It is possible to perform a role of the main metadata server 110 by performing a variety of separate operations in the event of an error of the main metadata server 110 while performing operations that do not require modification or support of search operations among the individual operations. To this end, the auxiliary metadata servers 110-1,..., 110-m may periodically perform data synchronization with the primary metadata server 110.

데이터 서버(120-1, 120-2, 120-3, …, 120-n)는 주 메타 데이터 서버(110) 또는 보조 메타 데이터 서버(110-1, …, 110-m)에서 수행하는 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장할 수 있다.The data servers 120-1, 120-2, 120-3,..., 120-n are individual operations performed by the primary metadata server 110 or the secondary metadata server 110-1,..., 110-m. Can store originals and replicas of data created or modified by.

도 2는 본 발명의 실시예에 따른 연산 분배 장치의 블록 구성도이다.2 is a block diagram of an operation distribution device according to an exemplary embodiment of the present invention.

이에 나타낸 바와 같이 연산 분배 장치(200)는, 연산 주체 결정부(210), 기준 정보 저장부(220) 및 연산 요청부(230) 등을 포함할 수 있다. 이러한 연산 분배 장치(200)는 주 메타 데이터 서버에 하드웨어 또는 소프트웨어 형태로 탑재될 수 있다.As described above, the calculation distribution device 200 may include an operation subject determining unit 210, a reference information storage unit 220, an operation requesting unit 230, and the like. The operation distribution device 200 may be mounted in the form of hardware or software in the main metadata server.

기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보를 저장한다. 예컨대, 기준 정보 저장부(220)는 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 구분하여 저장할 수 있다. 또는 개별 연산 중에서 탐색 연산 정보를 저장할 수 있다.The reference information storage unit 220 stores reference information related to performance of various individual operations. For example, the reference information storage unit 220 may classify and store operation information that requires modification of metadata and operation information that does not require modification of metadata among individual operations. Alternatively, the search operation information may be stored among individual operations.

연산 주체 결정부(210)는 개별 연산 중에서 수행이 요구되는 연산 정보와 기준 정보 저장부(220)의 기준 정보를 비교한 결과에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 주체로 결정할 수 있다. 예컨대, 연산 주체 결정부(210)는 수행이 요구되는 연산 정보가 메타 데이터의 수정이 필요한 연산 정보일 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다. 또는, 연산 주체 결정부(210)는 수행이 요구되는 연산 정보가 탐색 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 탐색 연산 정보가 아닐 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다.The calculation subject determining unit 210 determines one of the primary metadata server and the secondary metadata server according to a result of comparing the operation information required to be performed among the individual operations with the reference information of the reference information storage unit 220. It can be decided by the subject. For example, the operation subject determining unit 210 determines that the main metadata server is the subject of an individual operation when the operation information required to be performed is operation information requiring modification of the metadata, and the operation information required to be executed is metadata. In the case of operation information that does not need to be modified, the auxiliary metadata server may be determined as a subject of an individual operation. Alternatively, the operation subject determining unit 210 determines the auxiliary metadata server as the subject of the individual operation when the operation information required to be performed is search operation information, and when the operation information required to be performed is not the search operation information. You can determine the primary metadata server as the subject of an individual operation.

연산 요청부(230)는 연산 주체 결정부(210)의 결정에 따라 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 개별 연산을 요청할 수 있다.The operation requesting unit 230 may request an individual operation from one of the primary metadata server and the auxiliary metadata server according to the determination of the operation subject determining unit 210.

도 3은 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 일 예로 나타낸 흐름도이다.3 is a flowchart illustrating an example of an operation process of an asymmetric distributed file system to which an operation distribution device according to an exemplary embodiment of the present invention is applied.

이에 나타낸 바와 같이 비대칭 분산 파일 시스템의 동작 과정은, 각종 개별 연산의 수행에 관련한 기준 정보로서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 제공 받아서 저장하는 단계(S301)와, 연산 발생에 따라 수행이 요구되는 연산 정보와 기 저장된 기준 정보를 비교한 결과에 의거하여 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 주체로 결정하는 단계(S303, S305)와, 연산 주체의 결정에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나에게 개별 연산을 요청하여 메타 데이터를 저장하는 단계(S307, S309)와, 개별 연산의 수행에 따라 생성되거나 수정된 데이터 원본 및 복제본을 데이터 서버에 저장하는 단계(311) 등을 포함할 수 있다.As described above, the operation process of the asymmetric distributed file system may include receiving and storing operation information requiring modification of meta data and operation information without modification of meta data as reference information related to performing various individual operations (S301); Determining one of the main metadata server and the auxiliary metadata server as the subject of the individual operation based on a result of comparing the operation information required to be performed according to the occurrence of the operation with previously stored reference information (S303 and S305); Requesting an individual operation from the primary metadata server or the secondary metadata server to store the metadata by determining the operation subject (S307 and S309); and a data source created or modified according to the execution of the individual operation. And storing the replica in the data server (311).

도 4는 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 다른 예로 나타낸 흐름도이다.4 is a flowchart illustrating another example of an operation process of an asymmetric distributed file system to which an operation distribution device according to an exemplary embodiment of the present invention is applied.

이에 나타낸 실시예를 위해 연산 분배 장치는, 각종 개별 연산의 수행에 관련한 기준 정보로서 개별 연산 중에서 탐색 연산 정보를 제공 받아 저장하며, 연산 발생에 따라 수행이 요구되는 연산 정보와 탐색 연산 정보를 비교하며, 수행이 요구되는 연산 정보가 탐색 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 탐색 연산 정보가 아닐 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다.For this embodiment, the operation distribution device receives and stores search operation information among individual operations as reference information related to the execution of various individual operations, and compares the operation information and the search operation information required to be performed according to the occurrence of the operation. If the operation information required to be performed is search operation information, the secondary metadata server is determined as the subject of the individual operation. If the operation information required to be performed is not search operation information, the main metadata server is designated as the subject of the individual operation. Can be determined.

이러한 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정은, 주 메타 데이터 서버가 정상적으로 동작 중이라고 할 수 있는 처음 상태에는 주 메타 데이터 서버가 각종 개별 연산을 수행하여 메타 데이터를 저장하는 단계(S401 내지 S405)와, 주 메타 데이터 서버의 오류 발생을 판별하는 단계(S407)와, 주 메타 데이터 서버에 오류가 발생한 경우에는 보조 메타 데이터 서버가 각종 개별 연산을 수행하여 메타 데이터를 저장하는 단계(S411) 등을 포함할 수 있다.In the operation process of the asymmetric distributed file system applying the operation distribution device, in the initial state that the main metadata server is normally operating, the main metadata server performs various individual operations to store metadata (S401 to S405). ), Determining that an error occurs in the primary metadata server (S407), and when the error occurs in the primary metadata server, the secondary metadata server performs various individual operations to store the metadata (S411), and the like. It may include.

도 5는 본 발명의 다른 실시예에 따른 비대칭 분산 파일 시스템의 구성도이다. 이에 나타낸 실시예는 클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)과 비대칭 분산 파일 시스템(100')과의 사이에 서비스 서버(500)를 추가로 구현하고, 도 2의 실시예와 같은 연산 분배 장치를 서비스 서버(500)에 탑재할 수 있음을 나타낸 것이다.5 is a block diagram of an asymmetric distributed file system according to another embodiment of the present invention. The embodiment shown here adds a service server 500 between the client terminals 10-1, 10-2, 10-3, 10-4, ..., 10-k and the asymmetric distributed file system 100 '. It is shown that it can be implemented in, and the operation distribution device as shown in the embodiment of Figure 2 can be mounted on the service server 500.

이하, 전술한 바와 같이 구성된 비대칭 분산 파일 시스템 및 연산 분배 장치에 의한 연산 분배 과정과 비대칭 분산 파일 시스템의 운영 과정에 대해 살펴보기로 한다. 아래에서는 도 1 내지 도 3을 참조하여 제 1 실시예를 설명하고, 도 1과 도 2 및 도 4를 참조하여 제 2 실시예를 설명하였다.Hereinafter, an operation distribution process and an operation process of the asymmetric distributed file system by the asymmetric distributed file system and the operation distribution device configured as described above will be described. Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 3, and the second embodiment will be described with reference to FIGS. 1, 2, and 4.

(제 1 실시예)(First embodiment)

먼저, 연산 분배 장치(200)의 기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보로서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 관리자 등으로부터 제공 받아서 저장한다(S301). 예컨대, 디렉토리를 생성하는 mkdir 명령어, 파일과 디렉토리를 삭제하는 rm 명령어, 파일을 삭제하는 del 명령어 등은 메타 데이터의 수정이 필요한 연산 정보로 저장할 수 있으며, 디렉토리의 목록을 표시하는 dir 명령어, 디렉토리의 내용을 확인하는 ls 명령어, 파일을 검색하는 find 명령어 등은 메타 데이터의 수정이 불필요한 연산 정보, 즉 읽기 전용 연산 정보로 저장할 수 있다.First, the reference information storage unit 220 of the calculation distribution device 200 receives operation information that requires modification of metadata and operation information that does not require metadata modification from a manager or the like as reference information related to performance of various individual operations. Save (S301). For example, the mkdir command for creating a directory, the rm command for deleting files and directories, the del command for deleting files, and the like can be stored as operation information requiring modification of metadata, the dir command for displaying a list of directories, The ls command to check the contents and the find command to search the file can be stored as operation information that does not require modification of metadata, that is, read-only operation information.

클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)의 클라이언트 응용 처리에 따라 수행이 요구되는 연산이 발생하면 연산 주체 결정부(210)는 수행이 요구되는 연산 정보와 기준 정보 저장부(220)에 기 저장된 기준 정보를 비교한 결과에 의거하여 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 어느 하나를 개별 연산의 주체로 결정한다. 여기서, 메타 데이터의 수정이 필요한 연산인 경우에는 주 메타 데이터 서버(110)를 개별 연산의 주체로 결정하며, 메타 데이터의 수정이 불필요한 연산인 경우에는 보조 메타 데이터 서버(110-1, …, 110-m)를 개별 연산의 주체로 결정할 수 있다(S303).If an operation that requires execution occurs according to the client application processing of the client terminals 10-1, 10-2, 10-3, 10-4, ..., 10-k, the operation subject determining unit 210 requests the execution. Based on a result of comparing the calculated operation information and the reference information previously stored in the reference information storage unit 220, any one of the primary metadata server 110 and the auxiliary metadata server 110-1, ..., 110-m is selected. Determined by the subject of an individual operation. Herein, in case of an operation requiring modification of meta data, the main metadata server 110 is determined as a subject of an individual operation, and in case of an operation requiring no modification of meta data, the auxiliary metadata server 110-1,. -m) may be determined as a subject of an individual operation (S303).

연산 요청부(230)는 연산 주체 결정부(210)에 의해 결정된 연산 주체에 따라 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 어느 하나에게 개별 연산을 요청한다. 예컨대, 메타 데이터의 수정이 필요한 연산인 경우에는 주 메타 데이터 서버(110)가 할당되어 개별 연산을 수행하면서 메타 데이터를 저장한다(S309). 반면에, 메타 데이터의 수정이 불필요한 연산인 경우에는 보조 메타 데이터 서버(110-1, …, 110-m)가 할당되며(S305), 이 경우에는 주 메타 데이터 서버(110)가 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 유휴(idle) 상태에 있는 어느 하나의 보조 메타 데이터 서버를 개별 연산의 주체로 추천 및 할당하며, 할당된 보조 메타 데이터 서버가 개별 연산을 수행하면서 메타 데이터를 저장한다(S307).The operation requesting unit 230 performs an individual operation on any one of the primary metadata server 110 and the auxiliary metadata server 110-1,..., 110-m according to the operation subject determined by the operation subject determining unit 210. Ask. For example, in the case of an operation requiring modification of metadata, the main metadata server 110 is allocated to store metadata while performing individual operations (S309). On the other hand, if the operation does not need to modify the metadata, secondary metadata servers 110-1, ..., 110-m are allocated (S305), and in this case, the primary metadata server 110 is the secondary metadata server. Recommends and assigns any one auxiliary metadata server in the idle state among (110-1, ..., 110-m) as the subject of the individual operation, and the assigned auxiliary metadata server performs the individual operation while performing the individual operation. The data is stored (S307).

이후, 데이터 서버(120-1, 120-2, 120-3, …, 120-n)는 개별 연산의 수행에 따라서 생성되거나 수정된 데이터 원본 및 복제본을 저장한다(S311).Thereafter, the data servers 120-1, 120-2, 120-3,..., 120-n store the data source and the replica which are generated or modified according to the execution of the individual operation (S311).

(제 2 실시예)(Second embodiment)

먼저, 연산 분배 장치(200)의 기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보로서 개별 연산 중에서 탐색 연산 정보를 관리자 등으로부터 제공 받아 저장한다.First, the reference information storage unit 220 of the calculation distribution apparatus 200 receives and stores search operation information among individual operations as reference information related to the execution of various individual operations.

클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)의 클라이언트 응용 처리에 따라 수행이 요구되는 연산이 발생하면 연산 주체 결정부(210)는 수행이 요구되는 연산 정보와 기준 정보 저장부(220)에 기 저장된 기준 정보를 비교한 결과에 의거하여 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 어느 하나를 개별 연산의 주체로 결정한다. 여기서, 수행이 요구되는 연산 정보가 탐색 연산 정보일 경우에는 보조 메타 데이터 서버(110-1, …, 110-m)를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 탐색 연산 정보가 아닐 경우에는 주 메타 데이터 서버(110)를 개별 연산의 주체로 결정할 수 있다. 여기서, 주 메타 데이터 서버(110)가 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 유휴 상태에 있는 어느 하나의 보조 메타 데이터 서버를 개별 연산의 주체로 추천 및 할당할 수 있다.If an operation that requires execution occurs according to the client application processing of the client terminals 10-1, 10-2, 10-3, 10-4, ..., 10-k, the operation subject determining unit 210 requests the execution. Based on a result of comparing the calculated operation information and the reference information previously stored in the reference information storage unit 220, any one of the primary metadata server 110 and the auxiliary metadata server 110-1, ..., 110-m is selected. Determined by the subject of an individual operation. In this case, when the operation information required to be performed is search operation information, the auxiliary metadata servers 110-1,..., And 110-m are determined as subjects of the individual operations, and the operation information required to be performed is search operation information. If not, the main metadata server 110 may be determined as a subject of an individual operation. Here, the primary metadata server 110 may recommend and allocate any secondary metadata server in the idle state among the auxiliary metadata servers 110-1,..., 110-m as a subject of an individual operation.

이처럼, 보조 메타 데이터 서버(110-1, …, 110-m)는 탐색 연산만 지원하다가 주 메타 데이터 서버(110)에 오류가 발생하였을 때에는 각종 개별 연산을 처리하여 주 메타 데이터 서버(110)의 기능을 수행할 수 있다.As described above, the auxiliary metadata server 110-1,..., 110-m supports only search operations, and when an error occurs in the main metadata server 110, the auxiliary metadata servers 110-1,. Function can be performed.

주 메타 데이터 서버(110)가 정상적으로 동작 중이라고 할 수 있는 처음 상태에는 연산 주체 결정부(210)가 개별 연산의 주체로 주 메타 데이터 서버(110)를 할당하면, 예컨대 데이터 쓰기 연산의 경우에 주 메타 데이터 서버(110)가 데이터 쓰기 위치 청크(블록)을 할당하며(S403), 주 메타 데이터 서버(110)가 각종 개별 연산을 수행하여 메타 데이터를 저장한다(S405). 이를 위해, 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m)는 주기적으로 상호간의 데이터 동기화를 수행한다(S401).In the initial state that the main metadata server 110 is operating normally, when the operation subject determining unit 210 allocates the main metadata server 110 as a subject of an individual operation, for example, in the case of a data write operation, The data server 110 allocates a data write position chunk (block) (S403), and the main metadata server 110 performs various individual operations to store metadata (S405). To this end, the primary metadata server 110 and the secondary metadata server 110-1,..., 110-m periodically perform data synchronization with each other (S401).

이러한 상황에서, 연산 주체 결정부(210)는 주 메타 데이터 서버의 오류 발생을 판별한다(S407).In this situation, the calculation subject determining unit 210 determines the occurrence of an error of the main metadata server (S407).

단계 S407에서 주 메타 데이터 서버(110)에 오류가 발생한 것으로 판별된 경우에는 연산 주체 결정부(210)가 보조 메타 데이터 서버(110-1, …, 110-m)를 연산 주체로 할당하면, 예컨대 데이터 쓰기 연산의 경우에 해당 보조 메타 데이터 서버가 데이터 쓰기 위치 청크(블록)을 할당하며(S409), 연산 요청부(230)의 연산 요청에 따라 해당 보조 메타 데이터 서버가 해당하는 개별 연산을 수행하면서 메타 데이터를 저장한다(S411).If it is determined in step S407 that an error has occurred in the primary metadata server 110, the computational subject determining unit 210 assigns the supplementary metadata servers 110-1, ..., 110-m to the computational subject. In the case of a data write operation, the auxiliary metadata server allocates a data write location chunk (block) (S409), and the auxiliary metadata server performs the corresponding individual operation according to the operation request of the operation requesting unit 230. Meta data is stored (S411).

본 발명의 실시예에 따른 연산 분배 방법은 컴퓨터 프로그램으로 작성 가능하다. 이 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터나 본 발명의 실시예에 따른 주 메타 데이터 서버 또는 서비스 서버 등에 의하여 읽혀지고 실행됨으로써 연산 분배 방법을 구현할 수 있다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.The calculation distribution method according to the embodiment of the present invention can be created by a computer program. The code and code segments that make up this computer program can be easily deduced by a computer programmer in the field. In addition, the computer program may be stored in a computer readable medium, and read and executed by a computer or a main metadata server or a service server according to an embodiment of the present invention to implement a method of distributing calculations. Can be. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.

본 발명의 실시예는, 웹하드와 인터넷하드 등의 용어로 불리는 데이터 저장 서비스 서버와 이를 이용한 서비스 시스템 및 그 운영 방법, 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지 서버와 이를 이용한 서비스 시스템 및 그 운영 방법, 복수의 데이터 센터를 운영하는 것이 보편적인 유선 통신 또는 무선 통신 서비스 시스템과 그 서비스 방법 등에 이용할 수 있으며, 클라이언트 수의 증가 및 이에 따른 데이터 량의 증가에도 성능 병목현상을 최소화하여 안정적인 성능을 지원할 수 있다.Embodiments of the present invention provide a data storage service server called a term such as web hard and internet hard, a service system using the same, a method of operating the same, and a cloud storage server providing virtualized storage resources according to a user's request. The service system, its operation method, and the multiple data centers can be used for the wired or wireless communication service system and its service method, which are common, and the performance bottleneck is caused by the increase in the number of clients and the amount of data. It can support stable performance by minimizing the

10-1, 10-2, 10-3, 10-4, …, 10-k : 클라이언트 단말
100, 100': 비대칭 분산 파일 시스템
110 : 주 메타 데이터 서버
110-1, …, 110-m : 보조 메타 데이터 서버
120-1, 120-2, 120-3, …, 120-n : 데이터 서버
200 : 연산 분배 장치
210 : 연산 주체 결정부
220 : 기준 정보 저장부
230 : 연산 요청부
10-1, 10-2, 10-3, 10-4,... , 10-k: client terminal
100, 100 ': Asymmetric distributed file system
110: primary metadata server
110-1,... , 110-m: secondary metadata server
120-1, 120-2, 120-3,... , 120-n: data server
200: operation distribution device
210: operation subject determining unit
220: reference information storage unit
230: operation request unit

Claims (9)

각종 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하는 주 메타 데이터 서버와,
상기 개별 연산 중에서 상기 메타 데이터의 수정이 불필요한 연산을 수행하는 보조 메타 데이터 서버와,
상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버
를 포함하는 비대칭 분산 파일 시스템.
A main metadata server for performing operations requiring modification of metadata among various individual operations,
An auxiliary metadata server performing an operation that does not require modification of the metadata among the individual operations;
A data server storing originals and replicas of data generated or modified by said individual operations
Asymmetric distributed file system comprising a.
제 1 항에 있어서,
상기 비대칭 분산 파일 시스템은, 복수의 상기 보조 메타 데이터 서버를 포함하며,
상기 주 메타 데이터 서버는, 상기 복수의 보조 메타 데이터 서버 중에서 상기 개별 연산을 요청할 보조 메타 데이터 서버를 결정하는
비대칭 분산 파일 시스템.
The method of claim 1,
The asymmetric distributed file system includes a plurality of the secondary metadata servers,
The primary metadata server determines a secondary metadata server to request the individual operation from among the plurality of auxiliary metadata servers.
Asymmetric Distributed File System.
각종 개별 연산을 수행하는 주 메타 데이터 서버와,
상기 주 메타 데이터 서버와의 데이터 동기화를 수행하여 상기 개별 연산 중에서 탐색 연산을 지원하며, 상기 주 메타 데이터 서버의 오류 시에 상기 각종 개별 연산을 수행하는 보조 메타 데이터 서버와,
상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버
를 포함하는 비대칭 분산 파일 시스템.
A main metadata server that performs various individual operations,
A secondary metadata server that performs data synchronization with the primary metadata server to support search operations among the individual operations, and performs the various individual operations in the event of a failure of the primary metadata server;
A data server storing originals and replicas of data generated or modified by said individual operations
Asymmetric distributed file system comprising a.
각종 개별 연산의 수행에 관련한 기준 정보를 저장하는 기준 정보 저장부와,
상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보의 비교 결과에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 연산 주체 결정부와,
상기 연산 주체 결정부의 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 연산 요청부
를 포함하는 연산 분배 장치.
A reference information storage unit for storing reference information related to the performance of various individual operations;
An operation subject determining unit which determines one of a main metadata server and an auxiliary metadata server as a subject of the individual operation according to a comparison result of the operation information required to be performed among the individual operations and the reference information;
An operation request unit for requesting the individual operation from one of the primary metadata server and the auxiliary metadata server according to the determination of the operation subject determining unit;
Computation distribution device comprising a.
제 4 항에 있어서,
상기 기준 정보 저장부는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 저장하며,
상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 장치.
The method of claim 4, wherein
The reference information storage unit stores operation information that requires modification of the metadata among the individual operations and operation information that does not require modification of the metadata,
The operation subject determining unit determines that the main metadata server is a subject of the individual operation when the operation information required to be performed is operation information requiring modification of the metadata, and the operation information required to perform the operation is determined. In the case of operation information that does not require modification of metadata, the auxiliary metadata server is determined as a subject of the individual operation.
Computing distribution device.
제 4 항에 있어서,
상기 기준 정보 저장부는, 상기 개별 연산 중에서 탐색 연산 정보를 저장하며,
상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 장치.
The method of claim 4, wherein
The reference information storage unit stores search operation information among the individual operations,
The operation subject determining unit determines that the auxiliary metadata server is the subject of the individual operation when the operation information required to be performed is the search operation information, and the operation information required to be performed is not the search operation information. In the case of determining the main metadata server as the subject of the individual operation
Computing distribution device.
각종 개별 연산의 수행에 관련한 기준 정보를 제공 받는 단계와,
상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보를 비교하는 단계와,
상기 비교의 결과에 의거하여 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 단계와,
상기 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 단계
를 포함하는 연산 분배 방법.
Receiving reference information related to the performance of various individual operations;
Comparing the operation information required to be performed among the individual operations with the reference information;
Determining one of the primary metadata server and the secondary metadata server as the subject of the individual operation based on a result of the comparison;
Requesting the individual operation from either the primary metadata server or the secondary metadata server according to the determination.
Operation distribution method comprising a.
제 7 항에 있어서,
상기 제공 받는 단계는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 제공 받으며,
상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 방법.
The method of claim 7, wherein
The receiving step may be provided with operation information that requires modification of the metadata and operation information that does not require modification of the metadata among the individual operations,
The determining may include determining that the main metadata server is the subject of the individual operation when the operation information required to be performed is operation information that requires modification of the metadata, and the operation information required to be performed is determined by the operation information. In the case of operation information that does not require modification of metadata, the auxiliary metadata server is determined as a subject of the individual operation.
Operational Distribution Method.
제 7 항에 있어서,
상기 제공 받는 단계는, 상기 개별 연산 중에서 탐색 연산 정보를 제공 받으며,
상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 방법.
The method of claim 7, wherein
In the receiving step, the search operation information is provided from the individual operations,
The determining may include determining that the auxiliary metadata server is a subject of the individual operation when the operation information required to be performed is the search operation information, and the operation information required to be performed is not the search operation information. In the case of determining the main metadata server as the subject of the individual operation
Operational Distribution Method.
KR1020100106131A 2010-10-28 2010-10-28 Asymmetric distributed file system, apparatus and method for distribution of computation KR101754713B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106131A KR101754713B1 (en) 2010-10-28 2010-10-28 Asymmetric distributed file system, apparatus and method for distribution of computation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106131A KR101754713B1 (en) 2010-10-28 2010-10-28 Asymmetric distributed file system, apparatus and method for distribution of computation

Publications (2)

Publication Number Publication Date
KR20120044694A true KR20120044694A (en) 2012-05-08
KR101754713B1 KR101754713B1 (en) 2017-07-06

Family

ID=46264416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106131A KR101754713B1 (en) 2010-10-28 2010-10-28 Asymmetric distributed file system, apparatus and method for distribution of computation

Country Status (1)

Country Link
KR (1) KR101754713B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394208B2 (en) 2016-03-04 2019-08-27 Lsis Co., Ltd. Server apparatus in energy management system and operating method of thereof
WO2023097063A1 (en) * 2021-11-26 2023-06-01 Scality, S.A. Method and apparatus for rapidly synchronizing a replicate storage system with an active storage system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394208B2 (en) 2016-03-04 2019-08-27 Lsis Co., Ltd. Server apparatus in energy management system and operating method of thereof
WO2023097063A1 (en) * 2021-11-26 2023-06-01 Scality, S.A. Method and apparatus for rapidly synchronizing a replicate storage system with an active storage system
US12072908B2 (en) 2021-11-26 2024-08-27 Scality, S.A. Method and apparatus for rapidly synchronizing a replicate storage system with an active storage system

Also Published As

Publication number Publication date
KR101754713B1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
US10691716B2 (en) Dynamic partitioning techniques for data streams
US10715460B2 (en) Opportunistic resource migration to optimize resource placement
EP3069228B1 (en) Partition-based data stream processing framework
US9858322B2 (en) Data stream ingestion and persistence techniques
EP3069274B1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US9276959B2 (en) Client-configurable security options for data streams
CA2930026C (en) Data stream ingestion and persistence techniques
US9201896B2 (en) Managing distributed storage quotas
US10257109B2 (en) Cloud-based content management system
US9514180B1 (en) Workload discovery using real-time analysis of input streams
AU2020382999B2 (en) Intelligent data pool
US20190109901A1 (en) Initiator aware data migration
US10936223B2 (en) Increasing serial read performance
KR20120044694A (en) Asymmetric distributed file system, apparatus and method for distribution of computation
US9229659B2 (en) Identifying and accessing reference data in an in-memory data grid
US11455309B2 (en) Partition key adjustment based on query workload
US11121981B1 (en) Optimistically granting permission to host computing resources
Xie Improving Performance of Hadoop Clusters
US20170344586A1 (en) De-Duplication Optimized Platform for Object Grouping
US10592415B2 (en) Modified consistency hashing rings for object store controlled WAN cache infrastructure
Lakshkar et al. A Catholic Research on Big Data and Hadoop Environment

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right