KR20170081977A - 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 - Google Patents

효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 Download PDF

Info

Publication number
KR20170081977A
KR20170081977A KR1020160001055A KR20160001055A KR20170081977A KR 20170081977 A KR20170081977 A KR 20170081977A KR 1020160001055 A KR1020160001055 A KR 1020160001055A KR 20160001055 A KR20160001055 A KR 20160001055A KR 20170081977 A KR20170081977 A KR 20170081977A
Authority
KR
South Korea
Prior art keywords
chunk
chunks
list
data server
pool
Prior art date
Application number
KR1020160001055A
Other languages
English (en)
Other versions
KR102033401B1 (ko
Inventor
차명훈
김영균
김홍연
최완
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160001055A priority Critical patent/KR102033401B1/ko
Priority to US15/145,311 priority patent/US10474643B2/en
Publication of KR20170081977A publication Critical patent/KR20170081977A/ko
Application granted granted Critical
Publication of KR102033401B1 publication Critical patent/KR102033401B1/ko

Links

Images

Classifications

    • G06F17/30194
    • 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
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • G06F17/3012
    • G06F17/30575

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

효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 {Distributed file system and method for creating files effectively}
본 발명은 분산 파일 시스템 및 분산 파일 시스템의 수행 방법에 관한 것으로, 대용량의 파일 볼륨을 일정한 크기의 청크들로 분할하여 분산파일 시스템에 저장함으로써 효율적으로 파일을 생성하기 위한 시스템 및 방법에 관한 것이다.
근래 들어 소수의 메타 데이터 서버와 다수의 데이터 서버가 네트워크로 연결되어 있는 분산 파일 시스템이 전산 분야에 적용되어 오고 있다.
메타 데이터 서버는 파일의 이름, 생성 시간, 파일의 실제 데이터가 저장된 위치 정보 등의 메타데이터를 저장하며, 데이터 서버는 파일의 실제 데이터를 분산 저장한다.
대용량의 파일 볼륨을 일정한 크기의 청크(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은 분산 파일 시스템에서 사용자 명령에 의해 청크를 할당하는 절차 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(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: 청크 정보

Claims (19)

  1. 데이터 서버에 청크 할당 요청 여부를 결정하는 청크 할당 결정부와,
    하나 이상의 데이터 서버 중 어느 하나의 데이터 서버를 선택하는 선택부와,
    상기 선택된 데이터 서버에 청크 할당을 요청하는 청크 할당 요청부와,
    상기 데이터 서버로부터 전송받은 청크의 목록을 청크 목록 풀에 삽입하고 청크 목록 풀의 정렬방법을 정하는 청크 목록 관리부와,
    상기 청크 목록 풀으로부터 가용한 청크 정보를 인출하는 청크 인출부
    를 포함하는 메타 데이터 서버.
  2. 제1항에 있어서,
    상기 청크 인출부가 청크 목록 풀로부터 인출한 청크 정보를 외부 클라이언트에 전송하는 청크 정보 전송부를 더 포함하는 것을 특징으로 하는 메타 데이터 서버.
  3. 제1항에 있어서,
    상기 청크 목록 관리부는 청크 목록의 정렬순서를 랜덤하게 정하는 것을 특징으로 하는 메타 데이터 서버.
  4. 제1항에 있어서,
    상기 청크 목록 관리부는 청크 목록의 정렬순서를 출처별로 정하는 것을 특징으로 하는 메타 데이터 서버.
  5. 제1항에 있어서,
    상기 청크 인출부는 외부의 클라이언트와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버.
  6. 제1항에 있어서,
    상기 청크 할당 결정부는 청크 목록 풀에 가용 청크가 파일 저장 요청에 필요한 청크의 수 이상 존재하는 경우, 메타 데이터 서버가 데이터 서버에 청크 할당 요청을 하지 아니하고, 상기 청크 인출부가 외부 클라이언트의 청크 정보 요청 즉시 상기 청크 목록 풀의 가용 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버.
  7. 제1항에 있어서,
    상기 청크 할당 결정부는 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 주기적으로 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하는 것을 특징으로 하는 메타 데이터 서버.
  8. 제1항에 있어서,
    상기 청크 할당 결정부는 사용자 명령에 응답하여, 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 데이터 서버에 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하고, 청크 목록 풀의 청크의 수가 기준치 이상일 경우, 현상태를 유지하는 것을 특징으로 하는 메타 데이터 서버.
  9. 외부 메타 데이터 서버의 청크 할당 요청을 수신하는 수신부
    상기 청크 할당 요청에 대응하여 복수의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록을 작성하는 청크 할당부와,
    상기 청크의 목록을 상기 외부 메타 데이터 서버로 전송하는 전송부
    를 포함하는 데이터 서버.
  10. 메타 데이터 서버의 수행방법에 있어서
    데이터 서버에 청크 할당을 요청할지 여부를 결정하는 단계;
    복수의 데이터 서버 중 적어도 하나의 데이터 서버를 선택하는 단계;,
    선택된 상기 데이터 서버에 복수의 청크를 할당 요청하는 단계;
    메타 데이터 서버에서 상기 데이터 서버로부터 전송받은 청크의 목록을 청크 목록 풀에 삽입하고 청크 목록 풀의 정렬방법을 정하는 단계; 및
    상기 청크 목록 풀로부터 가용한 청크 정보를 인출하는 단계;
    를 포함하는 메타 데이터 서버의 수행방법.
  11. 제10항에 있어서,
    외부의 클라이언트로부터 청크 정보를 요청받는 단계; 및
    상기 청크 목록 풀로부터 인출된 청크 정보를 외부의 클라이언트에 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 메타 데이터 서버의 수행 방법.
  12. 제10항에 있어서,
    상기 청크 목록 풀의 정렬방법을 정하는 단계는 청크 목록 풀의 정렬순서가 랜덤하게 정하여 지는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  13. 제10항에 있어서,
    상기 청크 목록 풀의 정렬방법을 정하는 단계는 청크 목록 풀의 정렬순서가 데이터서버의 출처별로 정하여 지는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  14. 제10항에 있어서,
    상기 청크 정보를 인출하는 단계는 외부의 클라이언트와 실제 청크가 저장된 위치까지의 거리를 기준으로 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  15. 제10항에 있어서,
    청크 목록 풀에 가용 청크가 파일 저장 요청에 필요한 청크의 수 이상 존재하는 경우, 상기 청크 정보를 인출하는 단계는 데이터 서버에 청크 할당을 요청하지 아니하고, 외부 클라이언트의 청크 정보 요청 즉시 상기 청크 목록 풀의 가용 청크 정보를 인출하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  16. 제10항에 있어서,
    상기 청크 할당을 요청하는 단계는 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 주기적으로 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  17. 제10항에 있어서,
    상기 청크 할당을 요청하는 단계는 사용자 명령에 응답하여, 청크 목록 풀의 청크의 수가 기준치 미만일 경우, 청크 할당 요청을 하여 청크 목록 풀의 청크의 수를 기준치 이상으로 유지하고, 청크 목록 풀의 청크의 수가 기준치 이상일 경우, 현상태를 유지하는 것을 특징으로 하는 메타 데이터 서버의 수행방법.
  18. 데이터 서버의 수행 방법에 있어서
    외부 메타 데이터 서버의 청크 할당 요청을 수신하는 단계;
    상기 청크 할당 요청에 대응하여 복수의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록을 작성하는 단계; 및
    상기 청크의 목록을 상기 외부 메타 데이터 서버로 전송하는 단계
    를 포함하는 데이터 서버의 수행방법.
  19. 메타 데이터 서버가 데이터 서버에 청크 할당을 요청할지 여부를 결정하는 단계;
    메타 데이터 서버가 복수의 데이터 서버 중 적어도 하나의 데이터 서버를 선택하는 단계;,
    상기 메타 데이터 서버가 선택된 상기 데이터 서버에 복수의 청크 할당 요청하는 단계;
    상기 데이터 서버가 상기 청크 할당 요청을 수신하는 단계;
    상기 데이터 서버가 상기 청크 할당 요청에 대응하여 적어도 하나의 청크를 할당하고 할당된 청크의 정보를 토대로 청크의 목록을 작성하는 단계; 및
    상기 데이터 서버가 상기 청크의 목록을 상기 메타데이터 서버로 전송하는 단계
    상기 메타 데이터 서버가 상기 데이터 서버로부터 전송받은 청크의 목록을 청크 목록에 삽입하고 청크 목록 풀의 정렬순서를 정하는 단계;
    상기 메타 데이터 서버가 상기 청크 목록 풀로부터 가용한 청크 정보를 인출하는 단계;
    를 포함하는 분산 파일 시스템의 수행 방법.
KR1020160001055A 2016-01-05 2016-01-05 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 KR102033401B1 (ko)

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 true KR20170081977A (ko) 2017-07-13
KR102033401B1 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058993A (ko) * 2017-11-22 2019-05-30 한국전자통신연구원 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506242A (zh) * 2017-08-30 2017-12-22 郑州云海信息技术有限公司 一种配额申请方法及***
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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030053030A (ko) * 2001-12-21 2003-06-27 에이저 시스템즈 인크 처리 시스템, 데이터 구조 및 데이터 처리 시스템에서이용하기 위한 방법
KR20100073152A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 메타데이터 서버 및 메타데이터 서버의 디스크볼륨 선정 방법
KR20130045159A (ko) * 2011-10-24 2013-05-03 한국전자통신연구원 분산 파일시스템에서 클라이언트가 데이터 저장에 참여하는 장치 및 방법
KR20140006945A (ko) * 2011-03-11 2014-01-16 마이크로소프트 코포레이션 데이터 중복제거를 위한 백업 및 복원 전략

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3606855B2 (ja) * 2002-06-28 2005-01-05 ドン ウン インターナショナル カンパニー リミテッド 炭素ナノ粒子の製造方法
KR101453425B1 (ko) 2008-12-18 2014-10-23 한국전자통신연구원 메타데이터 서버 및 메타데이터 관리 방법
US20110153606A1 (en) 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Apparatus and method of managing metadata in asymmetric distributed file system
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030053030A (ko) * 2001-12-21 2003-06-27 에이저 시스템즈 인크 처리 시스템, 데이터 구조 및 데이터 처리 시스템에서이용하기 위한 방법
KR20100073152A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 메타데이터 서버 및 메타데이터 서버의 디스크볼륨 선정 방법
KR20140006945A (ko) * 2011-03-11 2014-01-16 마이크로소프트 코포레이션 데이터 중복제거를 위한 백업 및 복원 전략
KR20130045159A (ko) * 2011-10-24 2013-05-03 한국전자통신연구원 분산 파일시스템에서 클라이언트가 데이터 저장에 참여하는 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190058993A (ko) * 2017-11-22 2019-05-30 한국전자통신연구원 분산 파일 시스템에서 소거코딩 기반의 파일 입출력을 지원하는 장치 및 그 방법

Also Published As

Publication number Publication date
US20170193006A1 (en) 2017-07-06
US10474643B2 (en) 2019-11-12
KR102033401B1 (ko) 2019-11-08

Similar Documents

Publication Publication Date Title
US9052962B2 (en) Distributed storage of data in a cloud storage system
US9888062B2 (en) Distributed storage system including a plurality of proxy servers and method for managing objects
CN105446813B (zh) 一种资源分配的方法及装置
CN104954468A (zh) 资源的分配方法及装置
CN103036994A (zh) 实现负载均衡的云存储***
US9940020B2 (en) Memory management method, apparatus, and system
US20190199794A1 (en) Efficient replication of changes to a byte-addressable persistent memory over a network
EP3739440A1 (en) Distributed storage system, data processing method and storage node
KR102033401B1 (ko) 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법
JP2021510215A (ja) I/o要求処理方法およびデバイス
US10057348B2 (en) Storage fabric address based data block retrieval
KR101236477B1 (ko) 비대칭 클러스터 파일 시스템의 데이터 처리 방법
KR20100073152A (ko) 메타데이터 서버 및 메타데이터 서버의 디스크볼륨 선정 방법
CN106960011A (zh) 分布式文件***元数据管理***及方法
US11966614B2 (en) Object tiering in a distributed storage system
US20180004430A1 (en) Chunk Monitoring
CN109597903A (zh) 图像文件处理装置和方法、文件存储***及存储介质
CN112084173A (zh) 数据迁移方法和装置及存储介质
CN107181773A (zh) 分布式存储***的数据存储及数据管理方法、设备
CN105450679A (zh) 进行数据云存储的方法及***
CN115878309A (zh) 资源分配方法、装置、处理核、设备和计算机可读介质
CN107168646B (zh) 一种分布式数据存储控制方法及服务器
CN107153513B (zh) 一种分布式***服务器的存储控制方法及服务器
US11971902B1 (en) Data retrieval latency management system
US11683374B2 (en) Containerized gateways and exports for distributed file systems

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)