KR102033401B1 - 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 - Google Patents
효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 Download PDFInfo
- Publication number
- KR102033401B1 KR102033401B1 KR1020160001055A KR20160001055A KR102033401B1 KR 102033401 B1 KR102033401 B1 KR 102033401B1 KR 1020160001055 A KR1020160001055 A KR 1020160001055A KR 20160001055 A KR20160001055 A KR 20160001055A KR 102033401 B1 KR102033401 B1 KR 102033401B1
- Authority
- KR
- South Korea
- Prior art keywords
- chunk
- chunks
- list
- data server
- allocation
- 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
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computing Systems (AREA)
Abstract
본 발명의 일실시예에 따른 청크를 미리 복수개 할당하여 청크 할당에 따른 시스템의 부담을 낮춘 분산파일 시스템 및 방법이 개시된다. 분산 파일 시스템(100)은 하나 이상의 메타 데이터 서버(200)와 하나 이상의 데이터 서버(300)를 포함하고, 메타 데이터 서버(200)는 하나 이상의 데이터 서버(300) 중 어느 하나의 데이터 서버(300)를 선택하는 선택부(210)와, 선택된 데이터 서버(300)에 청크 할당을 요청하는 청크 할당 요청부(220)와, 데이터 서버(300)로부터 전송받은 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬방법을 정하는 청크 목록 관리부(230)와, 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 청크 인출부(240)를 포함하고, 데이터 서버(300)는 메타 데이터 서버(200)의 청크 할당 요청을 수신하는 수신부(310), 청크 할당 요청에 대응하여 복수의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하는 청크 할당부(320) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 전송부(330)를 포함한다.
Description
본 발명은 분산 파일 시스템 및 분산 파일 시스템의 수행 방법에 관한 것으로, 대용량의 파일 볼륨을 일정한 크기의 청크들로 분할하여 분산파일 시스템에 저장함으로써 효율적으로 파일을 생성하기 위한 시스템 및 방법에 관한 것이다.
근래 들어 소수의 메타 데이터 서버와 다수의 데이터 서버가 네트워크로 연결되어 있는 분산 파일 시스템이 전산 분야에 적용되어 오고 있다.
메타 데이터 서버는 파일의 이름, 생성 시간, 파일의 실제 데이터가 저장된 위치 정보 등의 메타데이터를 저장하며, 데이터 서버는 파일의 실제 데이터를 분산 저장한다.
대용량의 파일 볼륨을 일정한 크기의 청크(chunk)들로 분할하여 분산 파일 시스템에 분산 저장함으로써, 대용량의 파일 볼륨을 다수의 서버에 효율적으로 저장하고 파일 처리의 가용성을 향상시킬 수 있다.
분산 파일 시스템에서 파일 데이터를 저장하기 위해 메타 데이터 서버가 선택한 데이터 서버에 빈 청크(empty chunk)를 할당하여 파일 데이터를 청크에 기록한다.
분산 파일 시스템에 파일을 저장하는 과정의 일부로서 청크를 할당하는 중에 장치나 네트워크 장애가 발생하면 할당된 청크를 반환받지 못하게 되어 관련 작업이 느려지고, 통신 소켓이 블록되는 문제가 발생한다.
구체적으로 분산 파일 시스템에서 파일에 대한 입출력 연산을 실행하는 중에 메타데이터 서버가 데이터 서버에게 필요한 특정 연산을 요청하고, 데이터 서버는 메타데이터 서버로부터 요청받은 연산을 실행한 뒤에 그 결과를 메타데이터 서버에게 반환하는 경우가 있다. 메타 데이터 서버가 데이터 서버에게 새로운 청크 할당을 요청하였는데, 데이터 서버가 그 결과치를 반환하지 못하게 되면 파일을 저장하는 속도가 느려지고, 데이터의 무결성이 유지되지 못하는 문제가 발생한다.
또한, 메타데이터 서버는 메타데이터에 관한 연산을 트랜잭션으로 처리하는 경우에 트랜잭션을 수행하는 도중에 빈 청크 할당과 같은 연산을 데이터 서버에게 요청하고 그 결과가 반환되지 않으면 메타데이터 서버의 트랜잭션이 단시간에 종료되지 못하게 된다. 즉, 메타데이터 서버 내의 자원이 장애가 발생한 네트워크 때문에 영향을 받아서 블록(block)될 수 있다.
예컨대, 아마존사(Amazon Technologies, Inc.)의 미국출원 제14/733,887호(공개번호 US 2015/0269239)에서는 분산 저장 환경에서 데이터를 분할하여 파티션을 만들고, 각 파티션을 분산된 스토리지 노드에 저장하고, 또한 각 파티션의 복제본도 분산된 스토리지 노드에 저장하기 위하여 질의와 답변에 기반한 스토리지 노드 및 스토리지 디바이스 선택 방법을 제시하고 있으며;
다른 예로서, 알카텔 루슨트사(Alcatel Lucent USA Inc.)의 미국 특허 출원 제 14/100,081호(공개번호 US 2015/0163157)에서는 분산 클라우드 시스템에서 클라우드 자원을 할당하고 이동시키기 위하여 자원 요청 안에 자원 할당 파라미터와 자원 이동 파라미터를 포함하고, 그러한 파라미터에 대한 응답으로서 클라우드 자원을 할당할 대상 및 위치와 자원 이동 장소 등을 지정하는 정보를 제공함으로써 분산 환경에서 자원을 할당하고 이동시키는 방법을 제공하고 있다.
그러나, 이들 종래기술에서는 분산 파일 시스템에서 네트워크로 연결된 기계들 간에 상호 작용을 효율적으로 수행하기 위한 방법에 관한 내용은 언급하고 있지 않고, 전술한 문제를 내포하고 있다.
본 발명은 전술한 문제를 해결하기 위하여, 효율적인 파일 생성을 위한 분산 파일 시스템과 분산 파일 시스템의 수행방법을 제공하는 것을 목적으로 한다.
본 발명은 분산 파일 시스템에 데이터를 기록하는 중에 새로운 청크를 할당할 데이터 서버를 선택하고 그 데이터 서버에 빈 청크(empty chunk)를 할당하는 과정을 비용 부담 없이 효과적으로 수행하여 파일을 빠른 속도로 저장하고, 데이터의 무결성을 유지하는데 목적이 있다.
본 발명의 다른 목적은 메타 데이터 서버의 트랜잭션이 단시간에 종료되지 않아 블록되는 문제를 해결하는데에 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위하여 본 발명에 따른 분산 파일 시스템(100)은 하나 이상의 메타 데이터 서버(200)와 하나 이상의 데이터 서버(300)를 포함한다.
본 발명에 따른 메타 데이터 서버(200)는 데이터 서버(300)에 청크 할당 요청 여부를 결정하는 청크 할당 결정부(205)와, 하나 이상의 데이터 서버(300) 중 어느 하나의 데이터 서버(300)를 선택하는 선택부(210)와, 선택된 데이터 서버(300)에 청크 할당을 요청하는 청크 할당 요청부(220)와, 데이터 서버(300)로부터 전송받은 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬방법을 정하는 청크 목록 관리부(230)와, 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 청크 인출부(240)를 포함한다.
본 발명에 따른 데이터 서버(300)는 메타 데이터 서버(200)의 청크 할당 요청을 수신하는 수신부(310), 청크 할당 요청에 대응하여 복수의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하는 청크 할당부(320) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 전송부(330)를 포함한다.
본 발명에 따른 메타 데이터 서버(200)의 수행 방법은 데이터 서버에 청크 할당을 요청할지 여부를 결정하는 단계(S405), 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 메타 데이터 서버(200)에서 데이터 서버(300)로부터 전송받은 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬방법을 정하는 단계(S440) 및 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 단계(S450)를 포함한다.
이 때, 메타 데이터 서버(200)의 수행 방법은 청크 정보 풀(720)에서 인출된 청크 정보(730)를 외부의 클라이언트(10)에 전송하는 단계(S470)를 포함할 수 있다.
또한, 본 발명에 따른 데이터 서버(300)의 수행 방법은 메타 데이터 서버(200)의 청크 할당 요청을 수신하는 단계(S510), 청크 할당 요청에 대응하여 복수의 청크를 할당하고(S520) 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하는 단계(S530) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 단계(S540)를 포함한다.
또한, 본 발명에 따른 분산 파일 시스템(100)의 수행 방법은 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 선택된 상기 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 메타 데이터 서버(200)에서 데이터 서버(300)로부터 전송받은 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 정하는 단계(S440), 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 단계(S450), 청크 할당 요청에 대응하여 적어도 하나의 청크를 할당하고(S520) 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하는 단계(S530) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 단계(S540)를 포함한다.
본 발명에 따르면 메타데이터 연산을 수행하는 도중에 네트워크로 연결된 다른 서버와의 상호 작용 결과가 신속하게 반환되지 않는 경우를 방지함으로써 분산 파일 시스템의 성능을 향상시키게 된다. 또한, 청크 정보 요청에 대하여 신속하고 청크 정보를 반환함으로써 빠른 속도로 파일을 저장하고, 데이터의 무결성을 유지하는 효과가 있다.
도 1은 외부 클라이언트를 포함한 전체 시스템 구성도,
도 2는 분산 파일 시스템의 구성도,
도 3은 메타 데이터 서버의 구성도.
도 4은 데이터 서버의 구성도.
도 5는 가용 청크가 부족한 경우의 메타 데이터 서버의 수행방법을 도시한 도면.
도 6은 가용 청크가 충분한 경우의 메타 데이터 서버의 수행방법을 도시한 도면.
도 7는 외부 클라이언트 포함하여 분산 파일 시스템에 파일을 저장하는 절차 흐름도.
도 8은 분산 파일 시스템에서 주기적으로 청크를 할당하는 절차 흐름도.
도 9은 분산 파일 시스템에서 사용자 명령에 의해 청크를 할당하는 절차 흐름도.
도 2는 분산 파일 시스템의 구성도,
도 3은 메타 데이터 서버의 구성도.
도 4은 데이터 서버의 구성도.
도 5는 가용 청크가 부족한 경우의 메타 데이터 서버의 수행방법을 도시한 도면.
도 6은 가용 청크가 충분한 경우의 메타 데이터 서버의 수행방법을 도시한 도면.
도 7는 외부 클라이언트 포함하여 분산 파일 시스템에 파일을 저장하는 절차 흐름도.
도 8은 분산 파일 시스템에서 주기적으로 청크를 할당하는 절차 흐름도.
도 9은 분산 파일 시스템에서 사용자 명령에 의해 청크를 할당하는 절차 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 외부 클라이언트(10)를 포함한 전체 시스템 구성도를 도시한 도면이다.
하나 이상의 메타 데이터 서버(200)와 하나 이상의 데이터 서버(300)로 구성된 분산 파일 시스템(100)은 외부 클라이언트(10)에서 볼 때 하나의 저장매체로 보인다. 메타 데이터 서버(200)로부터 파일을 저장할 데이터 서버(300)의 청크의 목록(710)을 받아 데이터 서버(300)에 직접 접속하여 쓰게 된다. 청크의 목록(710)에 포함된 개별 청크의 정보는 저장할 데이터 서버(300)의 주소, 디스크 번호 및 청크 인덱스 등을 포함한다.
메타 데이터 서버(200)의 수가 2 이상일 경우, 하나의 마스터 메타 데이터 서버(200)와 하나 이상의 슬레이브 메타 데이터 서버(200)로 구성할 수 있다. 마스터 서버에 청크 정보(730)를 요청하면 마스터 서버는 서버 현황을 고려하여 적절한 메타 데이터 서버를 선택하여 클라이언트가 연결하여 청크 정보(730)를 얻을 수 있도록 할 수 있고, 마스터 서버를 메타 데이터 서버(200)와 별도로 독립하여 시스템을 구성할 수도 있다.
파일의 저장은 데이터 서버(300)에 직접 연결하지 않고, 메타 데이터 서버를 통하여 저장할 수도 있으나, 메타 데이터 서버로 로드가 집중되는 것을 방지하기 위하여 외부 클라이언트(10)가 청크 정보(730)에 포함된 데이터 서버의 주소와 청크 인덱스를 이용해 직접 데이터 서버(300)에 접속하여 파일을 저장하며, 파일 저장이 완료되면 메타 데이터 서버(200)로 결과치를 반환하고 메타 데이터 서버는 이를 메타 데이터에 반영한다.
도 2는 분산 파일 시스템(100)의 구성도를 도시한 도면이다.
도 3은 메타 데이터 서버(200)의 구성도를 도시한 도면이다.
본 발명의 일실시예에 따른 메타 데이터 서버(200)는 하나 이상의 데이터 서버(300) 중 어느 하나의 데이터 서버(300)를 선택하는 선택부(210), 상기 선택된 데이터 서버(300)에 청크 할당을 요청하는 청크 할당 요청부(220), 상기 데이터 서버(300)로부터 전송받은 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬방법을 정하는 청크 목록 관리부(230) 및 상기 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 청크 인출부(240)를 포함한다. 메타 데이터 서버(200)의 청크 할당 요청부(220)는 데이터 서버의 수신부(310)에 청크 할당을 요청하고, 데이터 서버의 전송부(330)는 할당된 청크의 목록(710)을 메타 데이터 서버로 전송한다.
또한 메타 데이터 서버(200)는 외부 클라이언트(10)로 청크 정보(730)를 전송하는 청크 정보 전송부(250)를 더 포함할 수 있다.
또한 상기 청크 목록 관리부(230)는 청크 목록 풀(720)의 청크의 순서를 랜덤하게 정렬할 수 있다. 청크 목록 풀(720)에 랜덤하게 정렬된 순서대로 청크를 인출할 수 있으므로 파일의 분산 저장이 가능하다.
또한 상기 청크 목록 관리부(230)는 청크 목록의 순서를 출처별로 정렬하여 청크 목록을 생성할 수 있다. 파일을 저장할 경우, 한 파일은 가능한 경우 하나의 데이터 서버에 저장하고, 다수의 파일을 저장할 경우는 각각의 파일별로 다른 데이터 서버를 선택하여 분산 저장하는 것이 바람직하다. 이를 위하여 데이터 서버(300) 출처별로 청크 목록 풀(720)을 작성할 경우 효율적인 저장이 가능하다.
또한 청크 인출부(240)는 외부의 클라이언트(10)와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보(730)를 인출할 수 있다. 데이터 서버(300)의 네트워크를 설정할 때, 실제 물리적인 거리(이는 네트워크 연결선의 길이, 거치게 되는 스위칭 장치의 수, 스위칭 장치간의 거리, 기타 네트워크 장치에 따라 결정되는 것으로 네트워크 속도와 상관관계를 갖는 개념임)에 따라 논리적인 주소인 ip 주소를 설정함으로써 ip 주소 설정 규칙에 따라 가장 가까운(네트워크 연결속도가 가장 빠른) 데이터 서버(300)에 포함되는 청크의 목록(710)을 인출하여 외부의 클라이언트(10)에 전달할 수 있다. 외부의 클라이언트가 청크에 파일을 저장할 경우, 가까운 네트워크에 저장하는 것이 파일 저장 성능에 있어 유리할 수 있기 때문이다. 다수의 외부의 클라이언트(10)가 당해 분산 파일 시스템(100)을 사용할 경우 파일 분산 효율, 파일 저장 성능을 높이기 위함이다.
또한, 메타 데이터 서버(200)는 청크 할당 결정부(205)를 더 포함할 수 있다.
청크 할당 결정부(205)는 청크 목록 풀(720)에 포함된 가용 청크의 수가 파일을 저장하기에 충분할 경우, 청크를 할당하는 과정을 거치지 아니하고 외부 클라이언트(10)의 청크 정보 요청 즉시 청크 인출부(240)가 청크 목록 풀(720)에서 청크 정보(730)를 인출하도록 할 수 있다.
또한, 청크 할당 결정부(205)는 청크 목록 풀(720)의 청크의 수가 기준치 미만일 경우, 주기적으로 데이터 서버(300)에 청크 할당을 요청함으로써 청크 목록 풀(720)의 청크의 수를 기준치 이상으로 유지하도록 할 수 있으며, 사용자의 명령에 응답하여, 청크 할당 요청을 하여 청크 목록 풀(720)의 청크의 수를 증가시킬 수 있다.
상기 기준치는 데이터 서버(300)의 수, 데이터 서버(300)에 포함된 디스크의 개수 및 용량, 메타 데이터 서버(200)의 메모리 용량 등에 따라 적절하게 설정할 수 있다.
예를 들어, 통상 저장되는 파일 크기가 1 GB(1,000,000,000 Bytes) 정도이고, 청크의 사이즈는 64 MB(64,000,000 Bytes) 이고, 데이터 서버(300)의 수는 100 이라고 할 때, 파일 하나를 저장하는데 통상 16개의 청크가 필요하므로 각 데이터 서버(300) 별로 150개(파일 10 개 정도의 용량)의 청크(약 10GB)를 준비하고, 메타 데이터 서버(200)는 데이터 서버(300)의 수에 비례하여 청크 목록 풀(720)에 포함된 청크의 수를 15,000개 가지도록 할 수 있다. 청크 목록 풀(720)은 사용 중인 청크와 가용 청크를 분리하여 2 이상 구성할 수 있고, 기준치는 가용 청크의 수에 대응하여 정할 수 있다. 기준치를 15,000으로 정한 경우, 청크 목록 풀(720)에 포함될 수 있는 최대 청크의 수는 기준치의 2배 또는 3배로 정하고, 가용 청크의 수가 기준치 이하가 될 경우 기준치 또는 기준치의 2배 정도의 청크 할당 요청하여 청크 목록 풀(720)을 가용 청크로 채운다.
도 4는 데이터 서버(200)의 구성도를 도시한 도면이다.
본 발명의 일실시예로서 데이터 서버(300)는 메타 데이터 서버(200)의 청크 할당 요청을 수신하는 수신부(310), 청크 할당 요청에 대응하여 복수의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하는 청크 할당부(320) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 전송부(330)를 포함한다.
본 발명의 다른 실시예로서 데이터 서버(300)도 미리 청크를 할당하여 미리 할당된 청크의 목록(710)을 관리할 수 있고 주기적으로 기준치(예컨대, 데이터 서버 별로 150) 이하가 되면, 추가적으로 청크를 할당한 후, 메타 데이터 서버(200)의 청크 할당 요청을 받을 경우 새로운 청크를 할당하지 아니하고, 곧바로 할당되어 관리 중인 청크의 목록(710)을 반환함으로써 메타 데이터 서버(200)가 청크 할당 요청을 한 즉시 청크의 목록(710)을 획득할 수 있다. 비어진 청크의 목록(710)은 주기적으로 기준치 이상으로 다시 채워지게 된다.
데이터 서버(300)의 청크 할당부(320)는 가용 청크의 수가 기준치 미만인 경우, 청크를 할당하여 가용 청크를 기준치 이상으로 유지하는 기능을 포함할 수 있다.
데이터 서버의 청크 할당부(320)는 가용 청크가 기준치 이상일 경우, 청크를 할당하지 아니하고, 가용 청크의 목록(710)에서 청크를 인출하여 메타 데이터 서버(200)에게 청크의 목록(710)을 전송할 수 있다.
그 결과 가용 청크가 기준치 미만이 될 경우, 데이터 서버(300)는 청크를 사용한 직후 바로 청크를 할당하여 가용 청크의 수를 기준치 이상으로 유지하거나, 스케줄러의 수행에 따라 청크를 할당하여 가용 청크의 수를 기준치 이상으로 유지할 수 있다.
데이터 서버(300)가 청크의 목록(710)을 메타 데이터 서버(200)로 전송한 후 곧 외부 클라이언트(10)가 데이터 서버(300)에 접속하여 파일쓰기 과정이 진행될 것이다. 특정 데이터 서버(300)에 파일쓰기 과정 중에는 해당 데이터 서버(300)에 청크 할당을 허용하지 않을 수 있다.
도 5는 본 발명의 일실시예로서 청크 목록 풀에 포함된 청크의 수가 파일을 저장하기에 충분하지 않은 경우에 추가로 빈 청크를 할당하여 파일을 저장하는 절차를 도시한 도면이다.
본 발명의 일실시예에 따른 메타 데이터 서버(200)는 가용한 청크가 부족할 때, 필요한 수의 청크를 데이터 서버(300)에 할당할 것을 요청하고, 할당된 청크의 목록을 수신하여 청크 목록 풀(720)에 삽입하고 청크 목록 풀로부터 청크 정보를 인출하여 사용한다.
이 때, 메타 데이터 서버(200)는 필요한 청크의 수 이상으로 데이터 서버(300)에 청크를 할당할 것을 요청할 수 있고, 외부 클라이언트로가 새로운 파일 저장을 요청할 때, 청크 할당 요청 없이 사용하고 남은 청크를 청크 목록 풀(720)로부터 청크 정보(730)를 인출할 수 있다. 예를 들어, 청크의 크기가 64,000,000 Bytes(64 MB)이고 2,000,000,000 bytes(2 GB)의 파일을 저장할 경우, 필요한 청크의 수는 32개(2,000,000,000/64,000,000=31.25)이나, 청크 할당 요청부는 64개(32의 2배)의 청크 할당을 요청할 수 있다. 이 경우는 32개의 청크는 바로 파일 저장에 사용하고, 나머지 32개의 청크는 이후에 새로운 파일 저장을 요청할 때 사용한다.
도 6는 본 발명의 일실시예로서 가용 청크 목록이 있어서 외부 클라이언트의 청크 정보 요청 즉시 청크를 인출할 수 있는 경우의 절차 흐름도를 도시한 도면이다.
청크 목록 풀(720)에 있는 청크의 수가 파일 저장을 요청한 파일의 사이즈와 비교하여 충분히 크면 메타 데이터 서버(200)는 데이터 서버(300)에 청크 할당을 요청하지 않고, 청크 목록 풀(720)에서 가용한 청크 정보(730)를 인출하여 외부 클라이언트(10)에 반환하게 된다.
예를 들어, 청크의 크기가 64 MB이고, 청크 목록 풀(720)에 100개의 가용 청크가 존재할 때, 외부 클라이언트가 1GB의 파일의 저장을 요청하게 되면, 16개의 청크가 필요하므로(1,000,000,000/64,000,000=15.625), 이 경우, 메타 데이터 서버는 청크 목록 풀(720)에서 16개의 청크 정보(730)를 인출하여 바로 외부 클라이언트에 전송하고, 청크 목록 풀(720)에 가용한 잔여 청크의 수는 84개가 된다. 다른 예로서 7GB의 파일의 저장을 요청하게 되면 필요한 청크는 110개이므로, 10개의 청크가 부족하므로, 메타 데이터 서버(200)는 도 5에서의 절차에 따라 데이터 서버(300)에 청크 할당을 요청하고 할당된 청크 정보(730)를 외부 클라이언트(10)에 전송하게 된다.
도 7은 외부 클라이언트(10)를 포함하여 분산 파일 시스템(100)의 전체 흐름을 도시한 절차흐름도이다.
본 발명의 일실시예로서 분산 파일 시스템(100)의 수행방법은 메타 데이터 서버(200)가 청크 목록 풀(720)의 가용 청크의 수가 파일을 저장하기에 충분한지에 따라 청크 할당 요청을 결정하는 단계(S405), 메타 데이터 서버(200)가 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 메타 데이터 서버(200)가 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 데이터 서버(300)가 청크 할당 요청을 수신하고(S510), 데이터 서버(300)가 청크 할당 요청(S420)에 대응하여 적어도 하나의 청크를 할당하고(S520) 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하고(S530), 데이터 서버(300)가 청크의 목록(710)을 상기 메타 데이터 서버(200)로 전송하는 단계(S540), 메타 데이터 서버(200)가 데이터 서버(300)로부터 청크의 목록(710)을 수신하는 단계(S430), 메타 데이터 서버(200)에서 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 결정하는 단계(S440) 및 메타 데이터 서버(200)가 청크 목록 풀(720)로부터 가용한 청크 정보(730)를 인출하는 단계(S450)를 포함한다.
이 때, 외부 클라이언트(10)가 메타 데이터 서버(200)에 파일을 저장할 데이터 서버(300)의 정보 등이 담긴 청크 정보(730)를 요청하는 단계(S610), 청크 목록 풀(720)로부터 인출한 청크 정보(730)를 외부 클라이언트에 전송하는 단계(S470)를 더 포함할 수 있다.
본 발명의 다른 실시예로서 메타 데이터 서버(200)의 수행방법은 메타 데이터 서버(200)가 청크 목록 풀(720)의 가용 청크의 수가 파일을 저장하기에 충분한지에 따라 청크 할당 요청을 결정하는 단계(S405), 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 메타 데이터 서버(200)에서 청크 할당을 요청받은 데이터 서버(300)로부터 전송받은 청크의 목록을 청크 목록 풀에 삽입하고 청크 목록 풀의 정렬방법을 정하는 단계(S440), 상기 청크 목록 풀로부터 가용한 청크 정보를 인출하는 단계(S450)를 포함한다.
또한, 메타 데이터 서버의 수행방법(200)은 외부의 클라이언트(10)로부터 청크 정보(730)를 요청받는 단계(S610), 상기 청크 목록 풀(720)로부터 인출된 청크 정보(730)를 외부의 클라이언트(10)에 전송하는 단계(S470)를 더 포함할 수 있다.
이 때, 상기 각 단계는 쓰레드의 형태로 실행될 수 있다.
또한, 청크 목록 풀(720)의 정렬방법을 정하는 단계(S440)에서는 청크 목록 풀(720)의 정렬순서를 랜덤하게 정할 수 있다.
또한, 청크 목록 풀의 정렬방법을 정하는 단계(S440)에서는 청크 목록 풀의 정렬순서를 데이터서버(300)의 출처별로 정할 수 있다.
또한, 청크 정보를 인출하는 단계(S450)는 외부의 클라이언트와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보를 인출할 수 있다.
또한, 청크 목록 풀에 존재하는 가용 청크가 파일 저장 요청에 필요한 청크의 수 이상 존재하는 경우, 데이터 서버에 청크 할당을 요청하지 아니하고. 청크 목록 풀(720)의 가용 청크 정보(730)를 인출할 수 있다.
또한, 청크 목록 풀(720)에 포함되는 가용 청크의 수가 파일 저장 요청에 필요한 청크의 수보다 적을 경우, 데이터 서버(300)에 대하여 청크 할당을 요청하여 필요한 가용 청크를 확보한다.
본 발명의 다른 실시예로서 데이터 서버(300)의 수행방법은 메타 데이터 서버(200)의 청크 할당 요청을 수신하는 단계(S510), 청크 할당 요청에 대응하여 복수의 청크를 할당하고(S520), 할당된 청크의 정보를 토대로 청크의 목록을 작성하는 단계(S530) 및 청크의 목록(710)을 메타 데이터 서버(200)로 전송하는 단계(S540)를 포함한다.
본 발명의 다른 실시예에 따른 데이터 서버(300)의 수행방법으로서 미리 청크를 할당하여, 미리 할당된 청크의 목록(710)을 생성하고, 주기적으로 목록(710)에 포함된 청크의 수가 기준치(예컨대, 데이터 서버별로 150) 미만이 되면, 추가적으로 청크를 할당하여 목록(710)에 삽입하고, 메타 데이터 서버(200)의 청크 할당 요청을 (S420)을 받을 경우(S510) 새로운 청크를 할당하지 아니하고, 곧바로 할당되어 관리 중인 청크의 목록(710)을 반환함으로써 메타 데이터 서버(200)는 청크 할당 요청을 한 즉시 청크의 목록(710)을 획득할 수 있다. 비어진 청크의 목록(710)은 주기적으로 기준치 이상으로 다시 할당하여 채워지게 된다.
도 8은 주기적으로 부족한 청크를 할당하는 분산 파일 시스템(100)의 수행방법으로서 절차 흐름도를 도시한 도면이다. 청크 목록 풀(720)의 청크의 수가 기준치 미만일 경우, 주기적으로 데이터 서버(200)에 청크 할당 요청을 하는 절차 흐름을 나타내고 있다.
본 발명의 일실시예로서 분산 파일 시스템(100)의 수행 방법은 외부 클라이언트(10)로부터 청크 정보 요청을 받는 것과 무관하게 기준치 이상의 청크를 확보하기 위하여 주기적으로 데이터 서버(300)에 청크 할당을 요청하여 청크 목록 풀(720)의 청크의 수를 기준치 이상으로 유지한다. 파일 저장 중에 청크 할당 요청에 따른 위험 부담을 방지하는 것에 본 발명의 목적이 있는 바, 파일 저장 요청이 없더라도 주기적으로 청크 목록 풀에 포함된 청크의 수가 기준치 미만 일 경우에 데이터 서버에 청크 할당을 요청하여 청크 목록 풀에 포함된 가용 청크의 수를 기준치 이상으로 유지하여 가용 청크를 미리 확보할 수 있다.
본 발명에 따른 분산 파일 시스템(100)의 수행방법의 부분실시예로서 메타 데이터 서버(200)의 청크 목록 풀에 포함된 가용 청크의 수가 기준치 미만인지 주기적으로 판단하는 단계(S407), 메타 데이터 서버(200)가 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 메타 데이터 서버(200)가 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 데이터 서버(300)가 청크 할당 요청을 수신하고(S510), 데이터 서버(300)가 청크 할당 요청(S420)에 대응하여 적어도 하나의 청크를 할당하고(S520) 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하고(S530), 데이터 서버(300)가 청크의 목록(710)을 상기 메타 데이터 서버(200)로 전송하는 단계(S540), 메타 데이터 서버(200)가 데이터 서버(300)로부터 청크의 목록(710)을 수신하는 단계(S430), 메타 데이터 서버(200)에서 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 결정하는 단계(S440)를 포함한다.
본 발명에 따른 메타 데이터 서버(200)의 수행방법의 부분실시예로서 메타 데이터 서버(200)의 청크 목록 풀에 포함된 가용 청크의 수가 기준치 미만인지 주기적으로 판단하는 단계(S407), 메타 데이터 서버(200)가 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 메타 데이터 서버(200)가 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 메타 데이터 서버(200)가 데이터 서버(300)로부터 청크의 목록(710)을 수신하는 단계(S430), 메타 데이터 서버(200)에서 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 결정하는 단계(S440)를 포함한다.
도 9는 분산 파일 시스템(100)의 수행 방법으로서 사용자 명령에 따라 미리 청크를 할당하는 절차를 설명하는 절차 흐름도이다.
본 발명의 일실시예에 따른 분산 파일 시스템(100)의 수행 방법은 사용자 명령에 응답하여 데이터 서버(300)에 청크 할당 요청을 함으로써 필요한 가용 청크를 미리 확보한다. 이러한 과정은 외부 클라이언트의 파일 저장 요청과 무관하게 진행된다. 청크를 할당하는 과정은 부담스러운 과정이므로, 매번 파일을 저장할 때마다 청크를 할당하는 것이 아니라, 주기적으로 규칙에 따라 청크를 미리 할당해두고, 파일 저장 요청이 왔을 때는 이미 할당된 청크를 사용하기만 한다.
구체적으로 본 발명에 따른 분산 파일 시스템(100)의 수행방법의 부분실시예로서 사용자 명령에 응답하여 청크 할당 요청을 결정하는 단계(S407), 메타 데이터 서버(200)가 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 메타 데이터 서버(200)가 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 데이터 서버(300)가 청크 할당 요청을 수신하고(S510), 데이터 서버(300)가 청크 할당 요청(S420)에 대응하여 적어도 하나의 청크를 할당하고(S520) 할당된 청크의 정보를 토대로 청크의 목록(710)을 작성하고(S530), 데이터 서버(300)가 청크의 목록(710)을 상기 메타 데이터 서버(200)로 전송하는 단계(S540), 메타 데이터 서버(200)가 데이터 서버(300)로부터 청크의 목록(710)을 수신하는 단계(S430), 메타 데이터 서버(200)에서 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 결정하는 단계(S440)를 포함한다.
본 발명에 따른 메타 데이터 서버(200)의 수행방법의 부분실시예로서 사용자 명령에 응답하여 청크 할당 요청을 결정하는 단계(S407), 메타 데이터 서버(200)가 복수의 데이터 서버(300) 중 적어도 하나의 데이터 서버(300)를 선택하는 단계(S410), 메타 데이터 서버(200)가 선택된 데이터 서버(300)에 복수의 청크 할당을 요청하는 단계(S420), 메타 데이터 서버(200)가 데이터 서버(300)로부터 청크의 목록(710)을 수신하는 단계(S430), 메타 데이터 서버(200)에서 청크의 목록(710)을 청크 목록 풀(720)에 삽입하고 청크 목록 풀의 정렬순서를 결정하는 단계(S440)를 포함한다.
분산 파일 시스템(100)의 수행방법, 메타 데이터 서버(200)의 수행방법 및 데이터 서버(300)의 수행방법의 각 단계는 쓰레드의 형태로 수행될 수 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니 되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.
10 : 외부 클라이언트
100: 분산 파일 시스템
200: 메타 데이터 서버
205: 청크 할당 결정부
210: 선택부
220: 청크 할당 요청부
230: 청크 목록 관리부
240: 청크 인출부
250: 청크 정보 전송부
300: 데이터 서버
310: 수신부
320: 청크 할당부
330: 전송부
S405: 청크 정보 요청에 대응하여 청크 할당 요청 여부를 결정하는 단계
S407: 주기적으로 청크 할당 요청 여부를 결정하는 단계
S410: 대상 데이터 서버를 선택하는 단계
S420: 청크 할당을 요청하는 단계
S430: 청크의 목록을 수신하는 단계
S440: 청크 목록 풀에 청크의 목록을 삽입하고 그 정렬순서를 정하는 단계
S450: 청크 목록 풀에서 청크 정보를 인출하는 단계
S470: 청크 정보를 외부 클라이언트로 전송하는 단계
S510: 청크 할당 요청을 수신하는 단계
S520: 청크를 할당하는 단계
S530: 청크의 목록을 작성하는 단계
S540: 청크의 목록을 메타 데이터 서버로 전송하는 단계
S610: 외부 클라이언트가 메타 데이터 서버에 청크 정보를 요청하는 단계
S620: 외부 클라이언트가 메타 데이터 서버로부터 청크 정보를 수신하는 단계
S630: 데이터 서버에 파일 쓰기를 요청하는 단계
710: 청크의 목록
720: 청크 목록 풀
730: 청크 정보
100: 분산 파일 시스템
200: 메타 데이터 서버
205: 청크 할당 결정부
210: 선택부
220: 청크 할당 요청부
230: 청크 목록 관리부
240: 청크 인출부
250: 청크 정보 전송부
300: 데이터 서버
310: 수신부
320: 청크 할당부
330: 전송부
S405: 청크 정보 요청에 대응하여 청크 할당 요청 여부를 결정하는 단계
S407: 주기적으로 청크 할당 요청 여부를 결정하는 단계
S410: 대상 데이터 서버를 선택하는 단계
S420: 청크 할당을 요청하는 단계
S430: 청크의 목록을 수신하는 단계
S440: 청크 목록 풀에 청크의 목록을 삽입하고 그 정렬순서를 정하는 단계
S450: 청크 목록 풀에서 청크 정보를 인출하는 단계
S470: 청크 정보를 외부 클라이언트로 전송하는 단계
S510: 청크 할당 요청을 수신하는 단계
S520: 청크를 할당하는 단계
S530: 청크의 목록을 작성하는 단계
S540: 청크의 목록을 메타 데이터 서버로 전송하는 단계
S610: 외부 클라이언트가 메타 데이터 서버에 청크 정보를 요청하는 단계
S620: 외부 클라이언트가 메타 데이터 서버로부터 청크 정보를 수신하는 단계
S630: 데이터 서버에 파일 쓰기를 요청하는 단계
710: 청크의 목록
720: 청크 목록 풀
730: 청크 정보
Claims (19)
- 데이터 서버에 청크 할당 요청 여부를 결정하는 청크 할당 결정부;
하나 이상의 데이터 서버 중 어느 하나의 데이터 서버를 선택하는 선택부;
상기 선택된 데이터 서버에 청크 할당을 요청하는 청크 할당 요청부;
상기 데이터 서버로부터 전송받은 청크의 목록을 청크 목록 풀에 삽입하고 청크 목록 풀의 정렬방법을 정하는 청크 목록 관리부;
상기 청크 목록 풀으로부터 가용한 청크 정보를 인출하는 청크 인출부; 및
외부의 클라이언트로부터 청크 정보를 요청받으면, 상기 청크 인출부가 청크 목록 풀로부터 인출한 청크 정보를 외부 클라이언트에 전송하는 청크 정보 전송부를 포함하되,
상기 청크 할당 결정부는,
청크 목록 풀에 가용 청크가 파일 저장 요청에 필요한 청크의 수 이상 존재하는 경우, 메타 데이터 서버가 데이터 서버에 청크 할당 요청을 하지 아니하고, 상기 청크 인출부가 외부 클라이언트의 청크 정보 요청 즉시 상기 청크 목록 풀의 가용 청크 정보를 인출하고,
청크 목록 풀의 청크의 수가 기준치 미만일 경우, 주기적으로 청크 할당을 미리 요청하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하는 것인 메타 데이터 서버.
- 삭제
- 제1항에 있어서,
상기 청크 목록 관리부는 청크 목록의 정렬순서를 랜덤하게 정하는 것을 특징으로 하는 메타 데이터 서버.
- 제1항에 있어서,
상기 청크 목록 관리부는 청크 목록의 정렬순서를 출처별로 정하는 것을 특징으로 하는 메타 데이터 서버.
- 제1항에 있어서,
상기 청크 인출부는 외부의 클라이언트와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버.
- 삭제
- 삭제
- 제1항에 있어서,
상기 청크 할당 결정부는 사용자 명령에 응답하여, 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 데이터 서버에 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하고, 청크 목록 풀의 청크의 수가 기준치 이상일 경우, 현상태를 유지하는 것을 특징으로 하는 메타 데이터 서버.
- 삭제
- 메타 데이터 서버의 수행방법에 있어서
데이터 서버에 청크 할당을 요청할지 여부를 결정하는 단계;
복수의 데이터 서버 중 적어도 하나의 데이터 서버를 선택하는 단계;,
선택된 상기 데이터 서버에 복수의 청크를 할당 요청하는 단계;
메타 데이터 서버에서 상기 데이터 서버로부터 전송받은 청크의 목록을 청크 목록 풀에 삽입하고 청크 목록 풀의 정렬방법을 정하는 단계;
외부의 클라이언트로부터 청크 정보를 요청받는 단계;
상기 청크 목록 풀로부터 가용한 청크 정보를 인출하는 단계; 및
상기 청크 목록 풀로부터 인출된 청크 정보를 외부의 클라이언트에 전송하는 단계를 포함하되,
청크 목록 풀에 가용 청크가 파일 저장 요청에 필요한 청크의 수 이상 존재하는 경우, 상기 청크 정보를 인출하는 단계는 데이터 서버에 청크 할당을 요청하지 아니하고, 외부 클라이언트의 청크 정보 요청 즉시 상기 청크 목록 풀의 가용 청크 정보를 인출하고,
청크 목록 풀의 청크의 수가 기준치 미만일 경우, 주기적으로 청크 할당을 미리 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하는 것인 메타 데이터 서버의 수행방법.
- 삭제
- 제10항에 있어서,
상기 청크 목록 풀의 정렬방법을 정하는 단계는 청크 목록 풀의 정렬순서가 랜덤하게 정하여 지는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
- 제10항에 있어서,
상기 청크 목록 풀의 정렬방법을 정하는 단계는 청크 목록 풀의 정렬순서가 데이터서버의 출처별로 정하여 지는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
- 제10항에 있어서,
상기 청크 정보를 인출하는 단계는 외부의 클라이언트와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
- 삭제
- 삭제
- 제10항에 있어서,
상기 청크 할당을 요청하는 단계는 사용자 명령에 응답하여, 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하고, 청크 목록 풀의 청크의 수가 기준치 이상일 경우, 현상태를 유지하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160001055A KR102033401B1 (ko) | 2016-01-05 | 2016-01-05 | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 |
US15/145,311 US10474643B2 (en) | 2016-01-05 | 2016-05-03 | Distributed file system and method of creating files effectively |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160001055A KR102033401B1 (ko) | 2016-01-05 | 2016-01-05 | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170081977A KR20170081977A (ko) | 2017-07-13 |
KR102033401B1 true KR102033401B1 (ko) | 2019-11-08 |
Family
ID=59226551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160001055A KR102033401B1 (ko) | 2016-01-05 | 2016-01-05 | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10474643B2 (ko) |
KR (1) | KR102033401B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506242A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种配额申请方法及系统 |
KR102252187B1 (ko) * | 2017-11-22 | 2021-05-14 | 한국전자통신연구원 | 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법 |
US10944782B2 (en) * | 2018-12-04 | 2021-03-09 | EMC IP Holding Company LLC | Forensic analysis through metadata extraction |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754795B2 (en) | 2001-12-21 | 2004-06-22 | Agere Systems Inc. | Methods and apparatus for forming linked list queue using chunk-based structure |
JP3606855B2 (ja) * | 2002-06-28 | 2005-01-05 | ドン ウン インターナショナル カンパニー リミテッド | 炭素ナノ粒子の製造方法 |
KR101453425B1 (ko) | 2008-12-18 | 2014-10-23 | 한국전자통신연구원 | 메타데이터 서버 및 메타데이터 관리 방법 |
KR101222129B1 (ko) * | 2008-12-22 | 2013-01-15 | 한국전자통신연구원 | 메타데이터 서버 및 메타데이터 서버의 디스크볼륨 선정 방법 |
US20110153606A1 (en) | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Apparatus and method of managing metadata in asymmetric distributed file system |
US9823981B2 (en) | 2011-03-11 | 2017-11-21 | Microsoft Technology Licensing, Llc | Backup and restore strategies for data deduplication |
KR101601877B1 (ko) * | 2011-10-24 | 2016-03-09 | 한국전자통신연구원 | 분산 파일시스템에서 클라이언트가 데이터 저장에 참여하는 장치 및 방법 |
US9378218B2 (en) * | 2011-10-24 | 2016-06-28 | Electronics And Telecommunications Research Institute | Apparatus and method for enabling clients to participate in data storage in distributed file system |
JP2014023603A (ja) * | 2012-07-25 | 2014-02-06 | Nippon Koden Corp | 睡眠時無呼吸判定装置 |
US9053167B1 (en) | 2013-06-19 | 2015-06-09 | Amazon Technologies, Inc. | Storage device selection for database partition replicas |
US20150163157A1 (en) | 2013-12-09 | 2015-06-11 | Alcatel-Lucent Usa Inc. | Allocation and migration of cloud resources in a distributed cloud system |
-
2016
- 2016-01-05 KR KR1020160001055A patent/KR102033401B1/ko active IP Right Grant
- 2016-05-03 US US15/145,311 patent/US10474643B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20170081977A (ko) | 2017-07-13 |
US10474643B2 (en) | 2019-11-12 |
US20170193006A1 (en) | 2017-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052962B2 (en) | Distributed storage of data in a cloud storage system | |
KR102033401B1 (ko) | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 | |
EP2721504B1 (en) | File processing method, system and server-clustered system for cloud storage | |
WO2015180648A1 (zh) | 一种资源分配的方法及装置 | |
WO2016202199A1 (zh) | 分布式文件系统及其文件元信息管理方法 | |
US9940020B2 (en) | Memory management method, apparatus, and system | |
CN110069210B (zh) | 一种存储系统、存储资源的分配方法及装置 | |
US20190199794A1 (en) | Efficient replication of changes to a byte-addressable persistent memory over a network | |
KR102192442B1 (ko) | 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템 | |
US9900403B2 (en) | Method and server for assigning relative order to message by using vector clock and delivering the message based on the assigned relative order under distributed environment | |
US9946721B1 (en) | Systems and methods for managing a network by generating files in a virtual file system | |
KR101236477B1 (ko) | 비대칭 클러스터 파일 시스템의 데이터 처리 방법 | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
CN106960011A (zh) | 分布式文件系统元数据管理系统及方法 | |
US20180004430A1 (en) | Chunk Monitoring | |
CN105302907A (zh) | 一种请求的处理方法及装置 | |
CN111177160B (zh) | 服务更新方法、装置、服务器及介质 | |
CN109597903A (zh) | 图像文件处理装置和方法、文件存储系统及存储介质 | |
CN103207813A (zh) | 管理资源的方法和装置 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN109889561A (zh) | 一种数据处理方法及装置 | |
US9172754B2 (en) | Storage fabric address based data block retrieval | |
CN111399753A (zh) | 写入图片的方法和装置 | |
US20170034267A1 (en) | Methods for transferring data in a storage cluster and devices thereof | |
CN107145303B (zh) | 一种用于在分布式存储系统中执行文件写入的方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |