KR101754713B1 - 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 - Google Patents
비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 Download PDFInfo
- Publication number
- KR101754713B1 KR101754713B1 KR1020100106131A KR20100106131A KR101754713B1 KR 101754713 B1 KR101754713 B1 KR 101754713B1 KR 1020100106131 A KR1020100106131 A KR 1020100106131A KR 20100106131 A KR20100106131 A KR 20100106131A KR 101754713 B1 KR101754713 B1 KR 101754713B1
- Authority
- KR
- South Korea
- Prior art keywords
- metadata
- individual
- server
- subject
- auxiliary
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, 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
본 발명은 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법에 관한 것으로, 개시된 비대칭 분산 파일 시스템은 각종 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하는 주 메타 데이터 서버와, 개별 연산 중에서 메타 데이터의 수정이 불필요한 연산을 수행하는 보조 메타 데이터 서버와, 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버를 포함하며, 각종 개별 연산을 주 메타 데이터 서버와 보조 메타 데이터 서버가 분배하여 수행함으로써 클라이언트 수의 증가 및 이에 따른 데이터 량의 증가에도 성능 병목현상을 최소화하여 안정적인 성능을 지원할 수 있는 이점이 있다.
Description
본 발명은 비대칭 분산 파일 시스템에 관한 것으로, 더욱 상세하게는 주 메타 데이터 서버와 보조 메타 데이터 서버를 포함하는 비대칭 분산 파일 시스템과 이러한 비대칭 분산 파일 시스템에서 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 연산 주체로 결정하여 연산을 요청하는 연산 분배 장치 및 방법에 관한 것이다.
주지하는 바와 같이, 비대칭 분산 파일 시스템은 파일의 메타 데이터와 실제 데이터를 분리하여 저장하고 관리하는 시스템으로서, 메타 데이터는 메타 데이터 서버에서 관리되며 실제 데이터는 여러 대의 데이터 서버들에 분산되어 저장된다. 메타 데이터 서버에서 관리하는 메타 데이터에는 실제 데이터가 저장되어 있는 데이터 서버에 대한 정보가 포함된다.
이러한 메타 데이터 서버와 데이터 서버들은 네트워크로 연결되어 분산된 구조를 갖는다. 따라서 클라이언트 단말은 파일의 메타 데이터와 데이터를 접근하는 경로가 분리된다. 즉, 파일을 액세스하기 위해서, 클라이언트 단말은 먼저 메타 데이터 서버에 있는 파일의 메타 데이터를 액세스해서 실제 데이터가 저장되어 있는 데이터 서버들에 대한 정보를 얻는다. 그리고 나서 실제 데이터에 대한 입출력은 데이터 서버들을 통하여 이루어진다.
종래의 비대칭 분산 파일 시스템은 하나의 메타 데이터 서버와 복수의 데이터 서버로 구성되는데, 등록된 클라이언트의 수, 즉 클라이언트 단말의 수가 적고, 이에 따라 데이터 량 또한 적을 때에는 빠른 데이터 접근을 보장하나, 클라이언트 수의 증가로 인해 데이터 누적이 어느 수준 이상으로 진행되면 하나의 메타 데이터 서버라는 구조로 인하여 성능 병목현상(bottleneck)이 발생한다. 예컨대, 다수 클라이언트들의 많은 파일들이 등록된 상황에서는 등록된 파일들에 대한 탐색 연산을 실행하면 탐색 영역 범위가 커져서 현재 접속되어 있는 다른 클라이언트들이 느끼는 시스템 성능이 급격히 저하되는 문제점이 있었다.
본 발명은 이와 같은 종래 기술의 문제점을 해결하기 위해 제안한 것으로서, 기존 메타 데이터 서버의 기능을 주 메타 데이터 서버와 보조 메타 데이터 서버로 분배하여 수행함으로써 성능 병목현상을 최소화하는 비대칭 분산 파일 시스템을 제공한다.
본 발명은 비대칭 분산 파일 시스템의 주 메타 데이터 서버와 보조 메타 데이터 서버에게 각종 개별 연산을 적절히 분배할 수 있는 연산 분배 장치 및 방법을 제공한다.
본 발명의 제 1 관점으로서 비대칭 분산 파일 시스템은, 각종 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하는 주 메타 데이터 서버와, 상기 개별 연산 중에서 상기 메타 데이터의 수정이 불필요한 연산을 수행하는 보조 메타 데이터 서버와, 상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버를 포함할 수 있다.
여기서, 상기 비대칭 분산 파일 시스템은, 복수의 상기 보조 메타 데이터 서버를 포함하며, 상기 주 메타 데이터 서버는, 상기 복수의 보조 메타 데이터 서버 중에서 상기 개별 연산을 요청할 보조 메타 데이터 서버를 결정할 수 있다.
본 발명의 제 2 관점으로서 비대칭 분산 파일 시스템은, 각종 개별 연산을 수행하는 주 메타 데이터 서버와, 상기 주 메타 데이터 서버와의 데이터 동기화를 수행하여 상기 개별 연산 중에서 탐색 연산을 지원하며, 상기 주 메타 데이터 서버의 오류 시에 상기 각종 개별 연산을 수행하는 보조 메타 데이터 서버와, 상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버를 포함할 수 있다.
본 발명의 제 3 관점으로서 연산 분배 장치는, 각종 개별 연산의 수행에 관련한 기준 정보를 저장하는 기준 정보 저장부와, 상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보의 비교 결과에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 연산 주체 결정부와, 상기 연산 주체 결정부의 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 연산 요청부를 포함할 수 있다.
여기서, 상기 기준 정보 저장부는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 저장하며, 상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.
상기 기준 정보 저장부는, 상기 개별 연산 중에서 탐색 연산 정보를 저장하며, 상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.
본 발명의 제 4 관점으로서 연산 분배 방법은, 각종 개별 연산의 수행에 관련한 기준 정보를 제공 받는 단계와, 상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보를 비교하는 단계와, 상기 비교의 결과에 의거하여 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 단계와, 상기 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 단계를 포함할 수 있다.
여기서, 상기 제공 받는 단계는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 제공 받으며, 상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.
상기 제공 받는 단계는, 상기 개별 연산 중에서 탐색 연산 정보를 제공 받으며, 상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정할 수 있다.
본 발명의 실시예에 의하면, 각종 개별 연산을 주 메타 데이터 서버와 보조 메타 데이터 서버가 분배하여 수행함으로써 클라이언트 수의 증가 및 이에 따른 데이터 량의 증가에도 성능 병목현상을 최소화하여 안정적인 성능을 지원할 수 있다. 예컨대, 다수 클라이언트들의 많은 파일들이 등록된 상황에서는 등록된 파일들에 대한 탐색 연산을 보조 메타 데이터 서버가 지원함으로써 접속되어 있는 다른 클라이언트들이 느끼는 시스템 성능이 급격히 저하되지 않는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 비대칭 분산 파일 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 연산 분배 장치의 블록 구성도.
도 3은 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 일 예로 나타낸 흐름도.
도 4는 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 다른 예로 나타낸 흐름도.
도 5는 본 발명의 다른 실시예에 따른 비대칭 분산 파일 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 연산 분배 장치의 블록 구성도.
도 3은 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 일 예로 나타낸 흐름도.
도 4는 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 다른 예로 나타낸 흐름도.
도 5는 본 발명의 다른 실시예에 따른 비대칭 분산 파일 시스템의 구성도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 비대칭 분산 파일 시스템의 구성도이다.
이에 나타낸 바와 같이 비대칭 분산 파일 시스템(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)을 대상으로 하여 네트워크를 통해 데이터의 저장 및 관리 기능을 제공한다.
도 1에서는 m개의 보조 메타 데이터 서버(110-1, …, 110-m)를 배치한 예를 나타내었으나, 이러한 보조 메타 데이터 서버의 개수는 예컨대, 최초 1개부터 시작하여 클라이언트 수, 즉 클라이언트 단말 수의 증가에 따라 동적으로 증가시켜 생성할 수 있다.
이와 같이 비대칭 분산 파일 시스템을 구성하는 단말과 서버들의 기능을 살펴보면 다음과 같다.
클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)은 클라이언트 응용을 수행하면서 주 메타 데이터 서버(110) 또는 보조 메타 데이터 서버(110-1, …, 110-m)로부터 파일 메타 데이터에 액세스하고 데이터 서버(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)와의 데이터 동기화를 주기적으로 수행할 수 있다.
데이터 서버(120-1, 120-2, 120-3, …, 120-n)는 주 메타 데이터 서버(110) 또는 보조 메타 데이터 서버(110-1, …, 110-m)에서 수행하는 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장할 수 있다.
도 2는 본 발명의 실시예에 따른 연산 분배 장치의 블록 구성도이다.
이에 나타낸 바와 같이 연산 분배 장치(200)는, 연산 주체 결정부(210), 기준 정보 저장부(220) 및 연산 요청부(230) 등을 포함할 수 있다. 이러한 연산 분배 장치(200)는 주 메타 데이터 서버에 하드웨어 또는 소프트웨어 형태로 탑재될 수 있다.
기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보를 저장한다. 예컨대, 기준 정보 저장부(220)는 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 구분하여 저장할 수 있다. 또는 개별 연산 중에서 탐색 연산 정보를 저장할 수 있다.
연산 주체 결정부(210)는 개별 연산 중에서 수행이 요구되는 연산 정보와 기준 정보 저장부(220)의 기준 정보를 비교한 결과에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 주체로 결정할 수 있다. 예컨대, 연산 주체 결정부(210)는 수행이 요구되는 연산 정보가 메타 데이터의 수정이 필요한 연산 정보일 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다. 또는, 연산 주체 결정부(210)는 수행이 요구되는 연산 정보가 탐색 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 탐색 연산 정보가 아닐 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다.
연산 요청부(230)는 연산 주체 결정부(210)의 결정에 따라 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 개별 연산을 요청할 수 있다.
도 3은 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 일 예로 나타낸 흐름도이다.
이에 나타낸 바와 같이 비대칭 분산 파일 시스템의 동작 과정은, 각종 개별 연산의 수행에 관련한 기준 정보로서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 제공 받아서 저장하는 단계(S301)와, 연산 발생에 따라 수행이 요구되는 연산 정보와 기 저장된 기준 정보를 비교한 결과에 의거하여 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나를 개별 연산의 주체로 결정하는 단계(S303, S305)와, 연산 주체의 결정에 따라 주 메타 데이터 서버와 보조 메타 데이터 서버 중에서 어느 하나에게 개별 연산을 요청하여 메타 데이터를 저장하는 단계(S307, S309)와, 개별 연산의 수행에 따라 생성되거나 수정된 데이터 원본 및 복제본을 데이터 서버에 저장하는 단계(311) 등을 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정을 다른 예로 나타낸 흐름도이다.
이에 나타낸 실시예를 위해 연산 분배 장치는, 각종 개별 연산의 수행에 관련한 기준 정보로서 개별 연산 중에서 탐색 연산 정보를 제공 받아 저장하며, 연산 발생에 따라 수행이 요구되는 연산 정보와 탐색 연산 정보를 비교하며, 수행이 요구되는 연산 정보가 탐색 연산 정보일 경우에는 보조 메타 데이터 서버를 개별 연산의 주체로 결정하고, 수행이 요구되는 연산 정보가 탐색 연산 정보가 아닐 경우에는 주 메타 데이터 서버를 개별 연산의 주체로 결정할 수 있다.
이러한 연산 분배 장치를 적용한 비대칭 분산 파일 시스템의 동작 과정은, 주 메타 데이터 서버가 정상적으로 동작 중이라고 할 수 있는 처음 상태에는 주 메타 데이터 서버가 각종 개별 연산을 수행하여 메타 데이터를 저장하는 단계(S401 내지 S405)와, 주 메타 데이터 서버의 오류 발생을 판별하는 단계(S407)와, 주 메타 데이터 서버에 오류가 발생한 경우에는 보조 메타 데이터 서버가 각종 개별 연산을 수행하여 메타 데이터를 저장하는 단계(S411) 등을 포함할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 비대칭 분산 파일 시스템의 구성도이다. 이에 나타낸 실시예는 클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)과 비대칭 분산 파일 시스템(100')과의 사이에 서비스 서버(500)를 추가로 구현하고, 도 2의 실시예와 같은 연산 분배 장치를 서비스 서버(500)에 탑재할 수 있음을 나타낸 것이다.
이하, 전술한 바와 같이 구성된 비대칭 분산 파일 시스템 및 연산 분배 장치에 의한 연산 분배 과정과 비대칭 분산 파일 시스템의 운영 과정에 대해 살펴보기로 한다. 아래에서는 도 1 내지 도 3을 참조하여 제 1 실시예를 설명하고, 도 1과 도 2 및 도 4를 참조하여 제 2 실시예를 설명하였다.
(제 1 실시예)
먼저, 연산 분배 장치(200)의 기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보로서 메타 데이터의 수정이 필요한 연산 정보와 메타 데이터의 수정이 불필요한 연산 정보를 관리자 등으로부터 제공 받아서 저장한다(S301). 예컨대, 디렉토리를 생성하는 mkdir 명령어, 파일과 디렉토리를 삭제하는 rm 명령어, 파일을 삭제하는 del 명령어 등은 메타 데이터의 수정이 필요한 연산 정보로 저장할 수 있으며, 디렉토리의 목록을 표시하는 dir 명령어, 디렉토리의 내용을 확인하는 ls 명령어, 파일을 검색하는 find 명령어 등은 메타 데이터의 수정이 불필요한 연산 정보, 즉 읽기 전용 연산 정보로 저장할 수 있다.
클라이언트 단말(10-1, 10-2, 10-3, 10-4, …, 10-k)의 클라이언트 응용 처리에 따라 수행이 요구되는 연산이 발생하면 연산 주체 결정부(210)는 수행이 요구되는 연산 정보와 기준 정보 저장부(220)에 기 저장된 기준 정보를 비교한 결과에 의거하여 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 어느 하나를 개별 연산의 주체로 결정한다. 여기서, 메타 데이터의 수정이 필요한 연산인 경우에는 주 메타 데이터 서버(110)를 개별 연산의 주체로 결정하며, 메타 데이터의 수정이 불필요한 연산인 경우에는 보조 메타 데이터 서버(110-1, …, 110-m)를 개별 연산의 주체로 결정할 수 있다(S303).
연산 요청부(230)는 연산 주체 결정부(210)에 의해 결정된 연산 주체에 따라 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 어느 하나에게 개별 연산을 요청한다. 예컨대, 메타 데이터의 수정이 필요한 연산인 경우에는 주 메타 데이터 서버(110)가 할당되어 개별 연산을 수행하면서 메타 데이터를 저장한다(S309). 반면에, 메타 데이터의 수정이 불필요한 연산인 경우에는 보조 메타 데이터 서버(110-1, …, 110-m)가 할당되며(S305), 이 경우에는 주 메타 데이터 서버(110)가 보조 메타 데이터 서버(110-1, …, 110-m) 중에서 유휴(idle) 상태에 있는 어느 하나의 보조 메타 데이터 서버를 개별 연산의 주체로 추천 및 할당하며, 할당된 보조 메타 데이터 서버가 개별 연산을 수행하면서 메타 데이터를 저장한다(S307).
이후, 데이터 서버(120-1, 120-2, 120-3, …, 120-n)는 개별 연산의 수행에 따라서 생성되거나 수정된 데이터 원본 및 복제본을 저장한다(S311).
(제 2 실시예)
먼저, 연산 분배 장치(200)의 기준 정보 저장부(220)는 각종 개별 연산의 수행에 관련한 기준 정보로서 개별 연산 중에서 탐색 연산 정보를 관리자 등으로부터 제공 받아 저장한다.
클라이언트 단말(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) 중에서 유휴 상태에 있는 어느 하나의 보조 메타 데이터 서버를 개별 연산의 주체로 추천 및 할당할 수 있다.
이처럼, 보조 메타 데이터 서버(110-1, …, 110-m)는 탐색 연산만 지원하다가 주 메타 데이터 서버(110)에 오류가 발생하였을 때에는 각종 개별 연산을 처리하여 주 메타 데이터 서버(110)의 기능을 수행할 수 있다.
주 메타 데이터 서버(110)가 정상적으로 동작 중이라고 할 수 있는 처음 상태에는 연산 주체 결정부(210)가 개별 연산의 주체로 주 메타 데이터 서버(110)를 할당하면, 예컨대 데이터 쓰기 연산의 경우에 주 메타 데이터 서버(110)가 데이터 쓰기 위치 청크(블록)을 할당하며(S403), 주 메타 데이터 서버(110)가 각종 개별 연산을 수행하여 메타 데이터를 저장한다(S405). 이를 위해, 주 메타 데이터 서버(110)와 보조 메타 데이터 서버(110-1, …, 110-m)는 주기적으로 상호간의 데이터 동기화를 수행한다(S401).
이러한 상황에서, 연산 주체 결정부(210)는 주 메타 데이터 서버의 오류 발생을 판별한다(S407).
단계 S407에서 주 메타 데이터 서버(110)에 오류가 발생한 것으로 판별된 경우에는 연산 주체 결정부(210)가 보조 메타 데이터 서버(110-1, …, 110-m)를 연산 주체로 할당하면, 예컨대 데이터 쓰기 연산의 경우에 해당 보조 메타 데이터 서버가 데이터 쓰기 위치 청크(블록)을 할당하며(S409), 연산 요청부(230)의 연산 요청에 따라 해당 보조 메타 데이터 서버가 해당하는 개별 연산을 수행하면서 메타 데이터를 저장한다(S411).
본 발명의 실시예에 따른 연산 분배 방법은 컴퓨터 프로그램으로 작성 가능하다. 이 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터나 본 발명의 실시예에 따른 주 메타 데이터 서버 또는 서비스 서버 등에 의하여 읽혀지고 실행됨으로써 연산 분배 방법을 구현할 수 있다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
본 발명의 실시예는, 웹하드와 인터넷하드 등의 용어로 불리는 데이터 저장 서비스 서버와 이를 이용한 서비스 시스템 및 그 운영 방법, 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지 서버와 이를 이용한 서비스 시스템 및 그 운영 방법, 복수의 데이터 센터를 운영하는 것이 보편적인 유선 통신 또는 무선 통신 서비스 시스템과 그 서비스 방법 등에 이용할 수 있으며, 클라이언트 수의 증가 및 이에 따른 데이터 량의 증가에도 성능 병목현상을 최소화하여 안정적인 성능을 지원할 수 있다.
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 : 연산 요청부
100, 100': 비대칭 분산 파일 시스템
110 : 주 메타 데이터 서버
110-1, …, 110-m : 보조 메타 데이터 서버
120-1, 120-2, 120-3, …, 120-n : 데이터 서버
200 : 연산 분배 장치
210 : 연산 주체 결정부
220 : 기준 정보 저장부
230 : 연산 요청부
Claims (9)
- 각종 개별 연산 중에서 메타 데이터의 수정이 불필요한 연산을 수행하는 복수의 보조 메타 데이터 서버와,
상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산을 수행하고, 복수의 보조 메타데이터 서버 중에서 상기 개별 연산을 요청할 보조 메타 데이터 서버를 결정하는 주 메타 데이터 서버와,
상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버
를 포함하는 비대칭 분산 파일 시스템. - 삭제
- 각종 개별 연산 중에서 탐색 연산이 아닌 연산을 지원하는 주 메타 데이터 서버와,
상기 주 메타 데이터 서버와의 데이터 동기화를 수행하여 상기 개별 연산 중에서 탐색 연산을 지원하며, 상기 주 메타 데이터 서버의 오류 시에 상기 탐색 연산이 아닌 연산을 수행하는 보조 메타 데이터 서버와,
상기 개별 연산에 의해 생성되거나 수정된 데이터의 원본과 복제본을 저장하는 데이터 서버
를 포함하는 비대칭 분산 파일 시스템. - 각종 개별 연산의 수행에 관련한 기준 정보를 저장하는 기준 정보 저장부와,
상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보의 비교 결과에 따라 주 메타 데이터 서버와 복수의 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 연산 주체 결정부와,
상기 연산 주체 결정부의 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 연산 요청부
를 포함하고, 상기 연산 주체 결정부는
상기 주 메타 데이터 서버가 상기 복수의 보조 메타 데이터 서버 중에서 유휴 상태에 있는 어느 하나의 보조 메타 데이터 서버를 추천하면, 상기 추천된 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는 것을 특징으로 하는 연산 분배 장치. - 제 4 항에 있어서,
상기 기준 정보 저장부는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 저장하며,
상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 장치. - 제 4 항에 있어서,
상기 기준 정보 저장부는, 상기 개별 연산 중에서 탐색 연산 정보를 저장하며,
상기 연산 주체 결정부는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 장치. - 각종 개별 연산의 수행에 관련한 기준 정보를 제공 받는 단계와,
상기 개별 연산 중에서 수행이 요구되는 연산 정보와 상기 기준 정보를 비교하는 단계와,
상기 비교의 결과에 의거하여 주 메타 데이터 서버와 복수의 보조 메타 데이터 서버 중에서 어느 하나를 상기 개별 연산의 주체로 결정하는 단계와,
상기 결정에 따라 상기 주 메타 데이터 서버와 상기 보조 메타 데이터 서버 중에서 어느 하나에게 상기 개별 연산을 요청하는 단계
를 포함하고,
상기 결정하는 단계는
상기 주 메타 데이터 서버가 상기 복수의 보조 메타 데이터 서버 중에서 유휴 상태에 있는 어느 하나의 보조 메타 데이터 서버를 추천하면, 상기 추천된 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는 것을 특징으로 하 는 연산 분배 방법. - 제 7 항에 있어서,
상기 제공 받는 단계는, 상기 개별 연산 중에서 메타 데이터의 수정이 필요한 연산 정보와 상기 메타 데이터의 수정이 불필요한 연산 정보를 제공 받으며,
상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 필요한 연산 정보일 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 메타 데이터의 수정이 불필요한 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 방법. - 제 7 항에 있어서,
상기 제공 받는 단계는, 상기 개별 연산 중에서 탐색 연산 정보를 제공 받으며,
상기 결정하는 단계는, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보일 경우에는 상기 보조 메타 데이터 서버를 상기 개별 연산의 주체로 결정하고, 상기 수행이 요구되는 연산 정보가 상기 탐색 연산 정보가 아닐 경우에는 상기 주 메타 데이터 서버를 상기 개별 연산의 주체로 결정하는
연산 분배 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100106131A KR101754713B1 (ko) | 2010-10-28 | 2010-10-28 | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100106131A KR101754713B1 (ko) | 2010-10-28 | 2010-10-28 | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120044694A KR20120044694A (ko) | 2012-05-08 |
KR101754713B1 true KR101754713B1 (ko) | 2017-07-06 |
Family
ID=46264416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100106131A KR101754713B1 (ko) | 2010-10-28 | 2010-10-28 | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101754713B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102553966B1 (ko) | 2016-03-04 | 2023-07-11 | 엘에스일렉트릭(주) | 에너지관리시스템에서의 서버장치 및 이의 동작방법 |
US20230169091A1 (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 |
-
2010
- 2010-10-28 KR KR1020100106131A patent/KR101754713B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20120044694A (ko) | 2012-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2978889C (en) | Opportunistic resource migration to optimize resource placement | |
EP3069228B1 (en) | Partition-based data stream processing framework | |
US9276959B2 (en) | Client-configurable security options for data streams | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
US9720989B2 (en) | Dynamic partitioning techniques for data streams | |
US20150134797A1 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
CN104937584A (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US20190286360A1 (en) | Capacity based load balancing in distributed storage systems with deduplication and compression functionalities | |
US10659531B2 (en) | Initiator aware data migration | |
US9588913B2 (en) | Management of allocation for alias devices | |
US10417192B2 (en) | File classification in a distributed file system | |
US10007673B1 (en) | Cluster file system comprising data mover module arranged between front-end and back-end file systems | |
CN107329798B (zh) | 数据复制的方法、装置和虚拟化*** | |
US10936223B2 (en) | Increasing serial read performance | |
KR101754713B1 (ko) | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 | |
US11336519B1 (en) | Evaluating placement configurations for distributed resource placement | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
US11010349B2 (en) | File system with distributed entity state | |
US11126371B2 (en) | Caching file data within a clustered computing system | |
US8880828B2 (en) | Preferential block recycling in a redirect-on-write filesystem | |
US20180067663A1 (en) | Managing unequal network shared disks (nsd) in a computer network | |
KR101678975B1 (ko) | 파일 저장 서비스 제공 장치 및 방법 | |
KR20120045239A (ko) | 메타 데이터 서버, 서비스 서버, 비대칭 분산 파일 시스템 및 그 운용 방법 |
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 |