KR101901266B1 - 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법 - Google Patents

파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법 Download PDF

Info

Publication number
KR101901266B1
KR101901266B1 KR1020120057168A KR20120057168A KR101901266B1 KR 101901266 B1 KR101901266 B1 KR 101901266B1 KR 1020120057168 A KR1020120057168 A KR 1020120057168A KR 20120057168 A KR20120057168 A KR 20120057168A KR 101901266 B1 KR101901266 B1 KR 101901266B1
Authority
KR
South Korea
Prior art keywords
file
files
storage cluster
transferred
transfer
Prior art date
Application number
KR1020120057168A
Other languages
English (en)
Other versions
KR20130133989A (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 KR1020120057168A priority Critical patent/KR101901266B1/ko
Publication of KR20130133989A publication Critical patent/KR20130133989A/ko
Application granted granted Critical
Publication of KR101901266B1 publication Critical patent/KR101901266B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템은, 제1 파일 스토리지 클러스터에 저장된 파일을 제2 파일 스토리지 클러스터로 전송하기 위한 시스템으로서, 상기 제1 파일 스토리지 클러스터의 마스터 서버로부터 상기 제1 파일 스토리지 클러스터에 저장된 전송 대상 파일들의 정보를 수신하고, 상기 전송 대상 파일의 정보에 근거하여 상기 전송 대상 파일들을 복수 개의 파일 전송부에 할당하는 파일 전송 관리자; 및 상기 파일 전송 관리자로부터 할당된 전송 대상 파일을 상기 제1 파일 스토리지 클러스터로부터 수신하고, 수신된 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 상기 복수 개의 파일 전송부를 포함한다.

Description

파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법{SYSTEM AND METHOD FOR PARALLEL FILE TRANSFER BETWEEN FILE STORAGE CLUSTERS}
본 발명은 파일 스토리지 클러스터간에 효율적으로 파일을 전송하기 위한 기술과 관련된다.
파일 스토리지 클러스터(File Storage Cluster)란 다수의 서버들이 클러스터로 묶어 파일 스토리지 서비스를 제공하는 시스템이다. 파일 스토리지 클러스터는 클라이언트로부터 파일의 읽기 또는 쓰기 요청이 있을 경우 이를 클러스터 내 서버들이 병렬로 처리하도록 구성되는 것을 특징으로 한다. 이러한 파일 스토리지 클러스터에는 분산 파일 시스템(DFS; Distributed File System), 오브젝트 스토리지(Object Storage) 등의 시스템이 포함되며, 하둡(Hadoop) HDFS, GlusterFS, Lustre, Swift 등이 대표적이다. 파일 스토리지 클러스터는 수십 페타바이트(Petabyte) 규모의 대용량 데이터를 용이하게 저장하고 관리할 수 있어 빅 데이터(Big Data) 분야에서 널리 이용되고 있다.
이와 같이 파일 스토리지 클러스터들을 사용하는 엔터프라이즈 시장의 경우, 저장된 데이터의 백업, 파일 스토리지 클러스터의 교체, 저장된 데이터의 분석 등의 이유로 저장된 데이터를 다른 파일 스토리지 클러스터로 전송하여야 할 필요가 있다. 그러나 파일 스토리지 클러스터의 경우 그 특성 상 데이터의 용량이 매우 크므로 일반적인 데이터 이전 방식을 이용할 경우 데이터의 이동에 너무 많은 시간이 소요되게 된다. 이에 따라 파일 스토리지 클러스터 간 데이터 이전 시 이를 효율적으로 지원하기 위한 기술이 필요하게 되었다.
본 발명의 실시예들은 파일 스토리지 클러스터의 특성을 이용하여 파일 스토리지 클러스터간에 효과적으로 데이터를 전송하기 위한 수단을 제공하는 데 그 목적이 있다.
본 발명의 일 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템은, 제1 파일 스토리지 클러스터에 저장된 파일을 제2 파일 스토리지 클러스터로 전송하기 위한 시스템으로서, 상기 제1 파일 스토리지 클러스터의 마스터 서버로부터 상기 제1 파일 스토리지 클러스터에 저장된 전송 대상 파일들의 정보를 수신하고, 상기 전송 대상 파일의 정보에 근거하여 상기 전송 대상 파일들을 복수 개의 파일 전송부에 할당하는 파일 전송 관리자; 및 상기 파일 전송 관리자로부터 할당된 전송 대상 파일을 상기 제1 파일 스토리지 클러스터로부터 수신하고, 수신된 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 상기 복수 개의 파일 전송부를 포함한다.
또한, 본 발명의 일 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 방법은, 제1 파일 스토리지 클러스터에 저장된 파일을 제2 파일 스토리지 클러스터로 전송하기 위한 방법으로서, 파일 전송 관리자에서, 상기 제1 파일 스토리지 클러스터의 마스터 서버로부터 상기 제1 파일 스토리지 클러스터에 저장된 전송 대상 파일들의 정보를 수신하는 단계; 상기 파일 전송 관리자에서, 수신된 상기 전송 대상 파일의 정보에 근거하여 상기 전송 대상 파일들을 복수 개의 파일 전송부에 할당하는 단계; 및 복수 개의 파일 전송부에서, 상기 파일 전송 관리자로부터 할당된 전송 대상 파일을 상기 제1 파일 스토리지 클러스터로부터 수신하고, 수신된 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 단계를 포함한다.
본 발명의 실시예들에 다를 경우, 파일 스토리지 클러스터간 파일 전송을 위한 노드의 수를 늘려 줌으로써 병목 현상이 발생하는 것을 방지할 수 있다. 또한 분산파일시스템의 파일 저장 특성을 고려하여 효율적으로 파일을 전송 노드에 분산하여 파일 전송 작업을 병렬로 처리함으로써 파일 전송 시간을 단축할 수 있는 효과가 있다.
도 1은 본 발명의 제1 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(100)을 설명하기 위한 도면이다.
도 2는 본 발명의 제1 실시예에 따른 제1 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(100)에서의 파일 전송 방법(200)을 도시한 순서도이다.
도 3은 본 발명의 제2 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(300)을 설명하기 위한 도면이다.
도 4는 본 발명의 제3 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(400)을 설명하기 위한 도면이다.
도 5는 본 발명의 제2 실시예 및 제3 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(300, 400)에서의 파일 전송 방법(500)을 도시한 순서도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 제1 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(100)을 설명하기 위한 도면이다. 도시된 바와 같이, 본 발명의 제1 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(100)은 제1 파일 스토리지 클러스터(102)에 저장된 파일을 제2 파일 스토리지 클러스터(104)로 전송하기 위한 시스템으로서, 파일 중계 장치(106) 및 복수 개의 중계 서버(108)를 포함하며, 상술한 각각의 구성요소들은 네트워크(120)를 통하여 서로 연결되어 데이터를 송수신한다. 본 발명의 실시예에서 네트워크(120)는 원활한 데이터 전송을 위하여 제1 파일 스토리지 클러스터(102) 및 제2 파일 스토리지 클러스터(104) 간에 충분한 네트워크 대역폭을 보장하도록 구성된다. 예를 들어, 도시된 실시에에서 제1 파일 스토리지 클러스터(102)에 슬레이브 서버들이 10대가 있고 각각 네트워크 성능이 1Gbps라면 제1 DFS 네트워크와 제2 DFS 네트워크간에 각각 최소 10Gbps(굵은 선으로 표시)가 보장되어야 최대한의 성능이 나올 수 있다.
제1 파일 스토리지 클러스터(102)는 제2 파일 스토리지 클러스터(104)로 전송될 데이터가 저장되어 있는 파일 스토리지 클러스터이다. 제1 파일 스토리지 클러스터(102)는 복수 개의 서버들이 제1 DFS 네트워크를 통해 클러스터로 묶여 파일을 여러 노드에 분산해서 저장하는 파일시스템으로, 예를 들어 하둡(Hadoop)의 HDFS가 있다.
도시된 바와 같이, 제1 파일 스토리지 클러스터(102)는 하나의 마스터 서버 및 하나 이상의 슬레이브 서버를 포함한다. 마스터 서버는 메타데이터 노드를 포함하며, 상기 메타데이터 노드는 각 슬레이브 서버에 저장되는 파일의 정보를 관리한다. 즉, 파일을 어떠한 슬레이브 서버에 저장할지의 여부는 마스터 서버의 메타데이터 노드에 의하여 결정되며, 파일을 저장하려는 클라이언트는 상기 메타데이터 노드에 의하여 결정된 슬레이브 서버의 데이터 노드를 통해 디스크에 파일을 저장한다. 또한, 반대로 클라이언트에서 파일을 읽을 때에는 클라이언트에서 먼저 메타데이터 노드에서 해당 파일에 대한 정보를 얻은 뒤, 상기 정보에 따라 해당 슬레이브 서버의 데이터 노드를 통하여 디스크에 저장된 파일을 읽어오게 된다. 한편, 도시된 실시예에서는 마스터 서버에 메타데이터 노드가 포함되는 것으로 도시되었으나, 예를 들어 GlusterFS 등의 마스터 서버가 없는 파일 스토리지 클러스터의 경우 메타데이터 노드 또한 구성상으로는 존재하지 않게 된다. 그러나 이 경우에도 시스템 내의 다른 구성요소가 메타데이터 노드와 동일한 기능을 수행하도록 구성되는 바, 이 경우에도 논리적으로는 메타데이터 노드가 존재하는 것으로 보아야 한다.
제2 파일 스토리지 클러스터(104)는 제1 파일 스토리지 클러스터(102)로 읽어 들인 데이터가 저장되기 위한 파일 스토리지 클러스터이다. 제2 파일 스토리지 클러스터(104) 또한 제1 파일 스토리지 클러스터(102)와 동일하게 하나의 마스터 서버 및 하나 이상의 슬레이브 서버를 포함한다. 이와 같은 제2 파일 스토리지 클러스터(104)는 제1 파일 스토리지 클러스터(102)와 동일한 종류의 파일 스토리지 클러스터를 사용할 수도 있고, 또는 다른 종류의 파일 스토리지 클러스터를 사용하여 구현될 수도 있다. 즉, 본 발명은 특정한 종류의 파일 스토리지 클러스터에 한정되는 것은 아니다.
파일 중계 장치(106)는 후술할 복수 개의 중계 서버(108)에서 수행되는 파일 스토리지 클러스터간 파일 전송을 전체적으로 제어하기 위한 장치로서, 파일 전송 관리자(110) 및 제1 DFS 클라이언트(112)를 포함한다.
파일 전송 관리자(110)는 제1 파일 스토리지 클러스터(102)의 마스터 서버의 메타데이터 노드로부터 제1 파일 스토리지 클러스터(102)에 저장된 전송 대상 파일들의 정보를 수신하고, 수신된 상기 전송 대상 파일의 정보에 근거하여 전송 대상 파일들을 복수 개의 중계 서버(108)내의 각 파일 전송부(114)에 할당한다. 또한 파일 전송 관리자(110)는 상기 파일을 할당한 이후에도 지속적으로 중계 서버(108)의 파일 전송작업을 스케줄링하고 모니터링한다.
상기 전송 대상 파일의 정보는 전송 대상 파일의 제1 파일 스토리지 클러스터(102)에서의 유알엘(URL) 및 파일 크기 정보를 포함한다. 이를 이용하여, 파일 전송 관리자(110)는 각 파일 전송부(114)에 할당되는 전송 대상 파일들의 크기 합이 각 파일 전송부(114) 별로 균등하게 되도록 전송 대상 파일들을 복수 개의 파일 전송부(114)에 할당한다.
파일 전송 관리자(110)에서의 파일 할당을 예를 들어 설명하면 다음과 같다. 먼저, 제1 파일 스토리지 클러스터(102)에 저장된 각 파일들의 크기가 모두 동일하거나 또는 완전히 동일하지는 않더라도 충분히 그 크기가 유사한 경우를 가정하자. 이 경우에는 개별 파일 들의 파일 크기 정보를 활용하여 전체 용량을 구하고 각 파일 전송부(114)에게 "전체 용량/파일 전송부 개수"에 해당하는 용량 만큼 파일을 할당한다. 예를 들면, 모두 1GB 크기의 파일 100개가 있고 파일 전송부(114)가 10개로 구성될 경우 총 파일 크기는 100GB이므로 파일 전송부(114) 당 10개의 파일 씩을 나누어서 할당 한다. 할당 방법으로는 100개의 파일 URL 리스트를 10개씩 나누어 그 리스트를 파일 전송부(114)에 전달하도록 구성될 수 있다.
이와 달리 제1 파일 스토리지 클러스터(102)에 저장된 각 파일 크기의 편차가 심한 경우, 파일 전송 관리자(110)는, 전송 대상 파일들을 크기에 따라 정렬하고, 정렬된 전송 대상 파일들을 파일 전송부(114)에 순차적으로 할당하되, 특정 회(round)의 파일 할당 순서는 이전 회의 파일 할당 순서와 반대가 되도록 전송 대상 파일들을 할당하게 된다. 이를 좀 더 쉽게 설명하면 다음과 같다.
예를 들어, 제1 파일 스토리지 클러스터(102)에 100개의 파일이 존재하고, 각각의 용량은 1MB에서 100MB까지 1MB 간격으로 증가한다고 가정하자. 이를 각각 a부터 j까지의 이름을 가지는 10개의 파일 전송부(114)에 할당하기 위해서는 먼저, 상기 파일들을 파일 크기순으로 내림차순 (또는 오름차순)으로 정렬한다. 이후, 상기 정렬된 파일들을 각 파일 전송부(114)에 순서대로 배치하되, 처음에는 a에서 j의 순서로, 다음에는 j에서 a의 순서로, 그 다음에는 다시 a에서 j의 순서로, 즉 특정 회(round)의 파일 할당 순서가 이전 회의 파일 할당 순서와 반대가 되도록 전송 대상 파일들을 할당한다. 이를 표로 나타내면 다음과 같다.
파일 전송부 이름 a b c d e f g h i j
1 2 3 4 5 6 7 8 9 10
20 19 18 17 16 15 14 13 12 11
21 22 23 24 25 26 27 28 29 30
40 39 38 37 36 35 34 33 32 31
41 42 43 44 45 46 47 48 49 50
60 59 58 57 56 55 54 53 52 51
61 61 61 61 61 61 61 61 61 61
80 79 78 77 76 75 74 73 72 71
81 82 83 84 85 86 87 88 89 90
100 99 98 97 96 95 94 93 92 91
파일 전송부 별 사이즈 합 505 504 503 502 501 500 499 498 497 496
이와 같이 파일들을 할당할 경우, 상기 표 1에서 알 수 있는 바와 같이 각 파일 전송부(114)에 할당되는 파일의 크기 합이 거의 비슷해지게 되므로, 특정 파일 전송부(114)의 작업이 지나치게 빨리 끝나거나 또는 지나치게 늦게 끝나는 일이 없이 효율적으로 파일 전송 작업을 수행할 수 있게 된다.
제1 DFS 클라이언트(112)는 파일 전송 관리자(110)가 상기 전송 대상 파일들의 정보를 수신하기 위하여 제1 파일 스토리지 클러스터(102)에 접속하기 위해 사용되는 에이전트이다. 즉, 파일 전송 관리자(110)는 제1 DFS 클라이언트(112)를 통하여 제1 파일 스토리지 클러스터(102)의 마스터 서버에 접속하여 상기 전송 대상 파일들의 정보를 수신하게 된다.
다음으로, 중계 서버(108)는 파일 전송부(114), 제1 DFS 클라이언트(116) 및 제2 DFS 클라이언트(118)를 포함한다. 본 발명의 실시예에서 중계 서버(108)의 개수에는 제한이 없으나, 파일을 전송하려는 파일 스토리지 클러스터의 슬레이브 서버의 개수와 동일한 개수의 중계 서버(108)를 구비하는 것이 바람직하다.
파일 전송부(114)는 파일 전송 관리자(110)로부터 할당된 전송 대상 파일을 제1 DFS 클라이언트(116)를 이용하여 제1 파일 스토리지 클러스터(102)로부터 수신하고, 수신된 전송 대상 파일을 제2 DFS 클라이언트(118)를 이용하여 제2 파일 스토리지 클러스터(104)에 저장하며, 파일 전송이 완료되면 이를 파일 전송 관리자(110)에 보고한다.
제1 DFS 클라이언트(116)는 중계 서버(108)가 전송 대상 파일을 읽기 위하여 제1 파일 스토리지 클러스터(102)에 접속하기 위해 사용되는 에이전트이고, 제2 DFS 클라이언트(118)는 중계 서버(108)가 전송 대상 파일을 저장하기 위하여 제2 파일 스토리지 클러스터(104)에 접속하기 위해 사용되는 에이전트이다.
도 2는 본 발명의 제1 실시예에 따른 제1 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(100)에서의 파일 전송 방법(200)을 도시한 순서도이다.
먼저 파일 전송 관리자(110)가 제1 DFS 클라이언트(112)를 통해 제1 파일 스토리지 클러스터(102)의 마스터 서버의 메타데이터 노드로부터 제1 파일 스토리지 클러스터(102)에 저장된 전송 대상 파일들의 정보를 요청하여 이를 수신한다(202). 전술한 바와 같이, 상기 전송 대상 파일의 정보는 전송 대상 파일의 제1 파일 스토리지 클러스터(102)에서의 유알엘(URL) 및 파일 크기를 포함한다.
만약 제1 파일 스토리지 클러스터(102)가 HDFS 기반일 경우, 파일 전송 관리자(110)는 namenode에서 제공하는 API를 통해 파일 정보를 얻을 수 있다. 또한 GlusterFS와 같이 클라이언트가 POSIX(Portable Operating System Interface)를 지원하여 마운트되는 경우에는 ls와 같은 파일 정보를 얻는 명령어를 사용하여 전송 대상 파일들의 정보를 수신할 수 있다.
다음으로, 파일 전송 관리자(110)가 수신된 상기 전송 대상 파일의 정보에 근거하여 전송 대상 파일들을 복수 개의 파일 전송부(114)에 할당한다(204). 이때, 파일 전송 관리자(110)는 각 파일 전송부(114)에 할당되는 전송 대상 파일들의 크기 합이 각 파일 전송부(114)별로 균등하게 되도록 전송 대상 파일들을 복수 개의 파일 전송부(114)에 할당할 수 있다. 상기 파일 할당 방법에 대해서는 도 1에서 상세히 설명하였으므로, 여기서는 그 상세한 설명을 생략한다.
다음으로, 각각의 파일 전송부(114)는 제1 DFS 클라이언트(116)를 통해 파일 전송 관리자(110)로부터 할당된 전송 대상 파일을 제1 파일 스토리지 클러스터(102)로부터 수신한다(206). 이때, 제1 DFS 클라이언트(116)는 메타데이터 노드를 통해 실제 파일 데이터가 저장되어 있는 슬레이브 서버의 정보를 얻은 뒤, 실제 데이터가 저장되어 있는 슬레이브 서버의 데이터노드를 통해 전송 대상 파일을 읽게 된다. 상기 206 단계 및 후술할 208, 210 단계는 복수 개의 파일 전송부(114)를 통하여 병렬로 수행된다.
다음으로, 각각의 파일 전송부(114)가 제2 파일 스토리지 클러스터(104)에 수신된 상기 전송 대상 파일을 저장할 URL의 할당을 제2 파일 스토리지 클러스터(104)의 메타데이터 노드에 요청한다(208). 만약 제1 파일 스토리지 클러스터(102) 및 제2 파일 스토리지 클러스터(104)가 동일한 종류의 파일 스토리지 클러스터이어서 제1 파일 스토리지 클러스터(102)에서의 URL을 그대로 사용할 수 있는 경우에는 본 단계는 생략될 수 있다. 그러나 이기종의 파일 스토리지 클러스터 간에는 URL 표기법이 다를 수 있으므로, 이 경우에는 제2 파일 스토리지 클러스터(104)에 새로운 URL 할당을 요청하여야 한다.
다음으로, 각각의 파일 전송부(114)는 수신한 URL이 사용 가능한지의 여부를 판단하고, 사용 가능한 경우 해당 URL을 이용하여 수신된 전송 대상 파일을 제2 DFS 클라이언트(118)를 통해 제2 파일 스토리지 클러스터(104)에 저장한다(210). 이때 제2 파일 스토리지 클러스터(104)가 스트라이핑 방식으로 저장할 경우에는 하나의 파일이 복수 개의 슬레이브 서버에 그룹(chunk) 단위로 나뉘어 저장되며, 분산 방식으로 저장할 경우에는 지정된 슬레이브 서버에 파일 단위로 저장된다.
다음으로, 각각의 파일 전송부(114)는 전송할 파일이 남아있는지를 판단하고(212), 남아있는 파일이 존재하는 경우 206 내지 210 단계를 반복 수행한다.
만약 전송할 파일이 남아있지 않은 경우, 각각의 파일 전송부(114)는 파일 전송 결과를 파일 전송 관리자(110)에게 보고한다(214). 그러면 파일 전송 관리자(110)는 상기 파일 전송 결과로부터 전송 실패 파일이 존재하는지의 여부를 판단하고(216), 존재하는 경우 204 단계로 돌아가 해당 파일의 재전송을 시도한다. 다만, 무한 루프를 방지하기 위하여 본 단계에서 일정 횟수 이상 파일 전송이 실패할 경우 해당 파일에 대해서는 작업 할당을 중지하는 것이 바람직하다.
마지막으로, 전송 실패 파일이 존재하지 않거나 또는 일정 횟수 이상 파일 전송에 실패하여 해당 파일의 전송이 취소된 경우 파일 전송은 종료된다(218).
도 3은 본 발명의 제2 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(300)을 설명하기 위한 도면이다. 도면에서 알 수 있는 바와 같이, 본 실시예의 경우 별도의 중계 서버(108)가 존재하지 않고, 제1 파일 스토리지 클러스터(102)의 각각의 슬레이브 서버와 동일한 하드웨어 내에 중계 서버(108)의 각 구성 요소들, 즉 파일 전송부(114), 제1 DFS 클라이언트(116) 및 제2 DFS 클라이언트(118)가 구비된다는 점이 제1 실시예와 상이하다. 즉, 본 실시예의 경우 제1 파일 스토리지 클러스터(102)의 각각의 슬레이브 서버들이 중계 서버의 역할을 수행한다. 이와 같이 구성될 경우 실제 전송 대상 파일은 제1 DFS 네트워크에서 제2 DFS 네트워크로 직접 전달되며, 파일 전송 관리자(110)로는 각 전송 대상 파일의 정보 등의 적은 용량의 데이터만이 전송되므로, 제1 DFS 네트워크 및 제2 DFS 네트워크간에만 충분한 대역폭(도면에서 굵은 선으로 표시)을 확보하면 된다.
또한 중계 서버와 슬레이브 서버가 하나의 하드웨어 내에 존재하므로 파일 전송부(114)는 자신과 동일한 하드웨어 내에 존재하는 데이터 노드로부터 파일을 수신할 경우에는 네트워크를 사용하지 않고 바로 서버 내부 통신을 이용하게 되는 바, 네트워크를 사용할 때 보다 훨씬 빠른 속도로 파일을 읽어올 수 있다.
도 4는 본 발명의 제3 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(400)을 설명하기 위한 도면이다. 도면에서 알 수 있는 바와 같이, 본 실시예의 경우 제1 파일 스토리지 클러스터(102)의 각 노드들, 제2 파일 스토리지 클러스터(104)의 각 노드들 및 복수 개의 중계 서버(108)가 모두 하나의 하드웨어 내에 구비된다. 즉, 본 실시예의 경우 제1 파일 스토리지 클러스터의 하드웨어 자원이 충분할 경우 동일한 하드웨어 내에 제2 파일 스토리지 클러스터(104) 및 중계 서버를 구성하고 내부 통신망을 통하여 제1 파일 스토리지 클러스터(102)의 파일을 제2 파일 스토리지 클러스터(104)로 이동하도록 구성된다.
본 실시예에 따를 경우 다음과 같은 장점이 있다. 먼저, 제2 파일 스토리지 클러스터(104)를 구성하기 위하여 새로운 하드웨어 자원을 구비할 필요가 없이 기존의 파일 스토리지 클러스터를 그대로 이용할 수 있다.
또한, 파일을 읽어 올 제1 파일 스토리지 클러스터(102)의 데이터 노드와 이를 저장할 제2 파일 스토리지 클러스터(104)의 데이터 노드가 동일한 하드웨어 내에 존재할 경우 네트워크를 전혀 이용하지 않고 내부 통신망 만을 통해 데이터 전송이 이루어지므로 앞선 실시예에 비해 훨씬 빠른 속도로 데이터 전송이 가능하다.
도 5는 본 발명의 제2 실시예 및 제3 실시예에 따른 파일 스토리지 클러스터간 병렬 파일 전송 시스템(300, 400)에서의 파일 전송 방법(500)을 도시한 순서도이다.
먼저 파일 전송 관리자(110)가 제1 DFS 클라이언트(112)를 통해 제1 파일 스토리지 클러스터(102)의 마스터 서버의 메타데이터 노드로부터 제1 파일 스토리지 클러스터(102)에 저장된 전송 대상 파일들의 정보를 요청하여 이를 수신한다(502).
이때 상기 전송 대상 파일들의 정보는 제1 파일 스토리지 클러스터(02)의 파일 저장 형태에 따라 2가지 경우로 나뉠 수 있다.
첫번째로, 파일을 분산(distributed) 방식으로 저장하는 경우이다. 분산 방식은 파일을 쪼개지 않고 하나의 슬레이브 서버에 저장하는 방식이다. 이 경우 파일 전송 관리자(110)가 제1 파일 스토리지 클러스터(102)로부터 수신하는 상기 전송 대상 파일의 정보는 전송 대상 파일의 제1 파일 스토리지 클러스터(102)에서의 유알엘(URL), 파일 크기 이외에 해당 파일이 저장된 슬레이브 서버의 식별 정보를 더 포함한다.
두번째로, 파일을 스트라이핑(striping) 방식으로 저장하는 경우이다. 스트라이핑 방식이란 파일을 복수 개의 조각(chunk)으로 나누어 이를 복수 개의 슬레이브 서버에 나누어 저장하는 방식을 의미한다. 이 경우 상기 전송 대상 파일의 정보는 전송 대상 파일의 제1 파일 스토리지 클러스터(102)에서의 유알엘(URL), 파일 크기 및 각 전송 대상 파일을 구성하는 각각의 조각(chunk)이 저장된 슬레이브 서버의 식별 정보를 포함한다.
다음으로, 파일 전송 관리자(110)가 수신된 상기 전송 대상 파일의 정보에 근거하여 전송 대상 파일들을 복수 개의 파일 전송부(114)에 할당한다(504).
먼저, 제1 파일 스토리지 클러스터(102)가 파일을 분산 방식으로 저장하는 경우, 파일 전송 관리자(110)는 상기 전송 대상 파일을 파일 전송부(114)의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부(114)에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할할 수 있다. 즉, 상기 정보에 기재된 파일 전송 용량에 따라 전체 용량을 구하고, 각 파일 전송부(114)가 "전체 용량/파일 전송부 개수"에 해당하는 용량만큼 파일을 분배받도록 그룹을 나눌 수 있다.
또한, 이 경우 파일 전송 관리자(110)는 특정 파일 전송부(114)와 동일한 슬레이브 서버에 저장된 전송 대상 파일을 가장 많이 포함하는 그룹을 특정 파일 전송부(114)에 할당하도록 구성될 수 있다. 즉, 파일 전송부(114)와 동일한 위치의 슬레이브 서버에 저장된 파일이 가장 많을 그룹을 해당 파일 전송부(114)에 최우선적으로 할당하게 된다.
한편, 제1 파일 스토리지 클러스터(102)가 파일을 Striping 방식으로 저장하는 경우, 파일 전송 관리자(110)는 분산 방식과 동일하게 상기 전송 대상 파일을 파일 전송부(114)의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부(114)에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할할 수 있다. 다만 이 경우 파일 전송 관리자(110)는 특정 파일 전송부(114)와 동일한 슬레이브 서버에 저장된 전송 대상 파일의 조각을 가장 많이 포함하는 그룹을 특정 파일 전송부(114)에 할당하게 된다. 즉, 파일 전송부(114)와 동일한 위치의 슬레이브 서버에 저장된 조각이 가장 많은 그룹을 해당 파일 전송부(114)에 최우선적으로 할당하게 된다.
다음으로, 각각의 파일 전송부(114)는 제1 DFS 클라이언트(116)를 통해 파일 전송 관리자(110)로부터 할당된 전송 대상 파일을 제1 파일 스토리지 클러스터(102)로부터 수신한다(506). 이때, 제1 DFS 클라이언트(116)는 메타데이터 노드를 통해 실제 파일 데이터가 저장되어 있는 슬레이브 서버의 정보를 얻은 뒤, 실제 데이터가 저장되어 있는 슬레이브 서버의 데이터 노드를 통해 전송 대상 파일을 읽게 된다. 상기 206 단계 및 후술할 208, 210 단계는 복수 개의 파일 전송부(114)를 통하여 병렬로 수행된다.
다음으로, 각각의 파일 전송부(114)가 제2 파일 스토리지 클러스터(104)에 수신된 상기 전송 대상 파일을 저장할 URL의 할당을 제2 파일 스토리지 클러스터(104)의 메타데이터 노드에 요청한다(508). 만약 제1 파일 스토리지 클러스터(102) 및 제2 파일 스토리지 클러스터(104)가 동일한 종류의 파일 스토리지 클러스터여서 제1 파일 스토리지 클러스터(102)에서의 URL을 그대로 사용할 수 있는 경우에는 본 단계는 생략될 수 있다. 그러나 이기종의 파일 스토리지 클러스터 간에는 URL 표기법이 다를 수 있으므로, 이 경우에는 제2 파일 스토리지 클러스터(104)에 새로운 URL 할당을 요청하여야 한다.
다음으로, 각각의 파일 전송부(114)는 수신한 URL이 사용 가능한지의 여부를 판단하고, 사용 가능한 경우 해당 URL을 이용하여 수신된 전송 대상 파일을 제2 DFS 클라이언트(118)를 통해 제2 파일 스토리지 클러스터(104)에 저장한다(510). 이때 제2 파일 스토리지 클러스터(104)가 스트라이핑 방식으로 저장할 경우에는 하나의 파일이 복수 개의 슬레이브 서버에 그룹(chunk) 단위로 나뉘어 저장되며, 분산 방식으로 저장할 경우에는 지정된 슬레이브 서버에 파일 단위로 저장된다.
다음으로, 각각의 파일 전송부(114)는 전송할 파일이 남아있는지를 판단하고(512), 남아있는 파일이 존재하는 경우 206 내지 210 단계를 반복 수행한다.
만약 전송할 파일이 남아있지 않은 경우, 각각의 파일 전송부(114)는 파일 파일 전송 결과를 파일 전송 관리자(110)에게 보고한다(514). 그러면 파일 전송 관리자(110)는 상기 파일 전송 결과로부터 전송 실패 파일이 존재하는지의 여부를 판단하고(516), 존재하는 경우 204 단계로 돌아가 해당 파일의 재전송을 시도한다. 다만, 무한 루프를 방지하기 위하여 본 단계에서 일정 횟수 이상 파일 전송이 실패할 경우 해당 파일에 대해서는 작업 할당을 중지하는 것이 바람직하다.
마지막으로, 전송 실패 파일이 존재하지 않거나 또는 일정 횟수 이상 파일 전송에 실패하여 해당 파일의 전송이 취소된 경우 파일 전송은 종료된다(518).
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 파일 스토리지 클러스터간 병렬 파일 전송 시스템
102: 제1 파일 스토리지 클러스터
104: 제2 파일 스토리지 클러스터
106: 파일 중계 장치
108: 중계 서버
110: 파일 전송 관리자
112: 제1 DFS 클라이언트
114: 파일 전송부
116: 제1 DFS 클라이언트
118: 제2 DFS 클라이언트
120: 네트워크

Claims (24)

  1. 제1 파일 스토리지 클러스터에 저장된 파일을 제2 파일 스토리지 클러스터로 전송하기 위한 시스템으로서,
    상기 제1 파일 스토리지 클러스터의 마스터 서버로부터 상기 제1 파일 스토리지 클러스터에 저장된 전송 대상 파일들의 정보를 수신하고, 상기 전송 대상 파일들의 정보에 근거하여 상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 파일 전송 관리자; 및
    상기 파일 전송 관리자로부터 할당된 전송 대상 파일을 상기 제1 파일 스토리지 클러스터로부터 수신하고, 수신된 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 상기 복수 개의 파일 전송부를 포함하는 파일 스토리지 클러스터간 병렬 파일 전송 시스템.
  2. 청구항 1에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL) 및 파일 크기를 포함하는, 파일 전송 시스템.
  3. 청구항 2에 있어서,
    상기 파일 전송 관리자는 각 파일 전송부에 할당되는 전송 대상 파일들의 크기 합이 각 파일 전송부 별로 균등하게 되도록 상기 전송 대상 파일들 각각을 상기 복수 개의 파일 전송부 중 하나에 할당하는, 파일 전송 시스템.
  4. 청구항 3에 있어서,
    상기 파일 전송 관리자는, 상기 전송 대상 파일들을 크기에 따라 정렬하고, 정렬된 상기 전송 대상 파일들 각각을 상기 파일 전송부 중 하나에 순차적으로 할당하되, 특정 회(round)의 파일 할당 순서는 이전 회의 파일 할당 순서와 반대가 되도록 상기 전송 대상 파일들을 할당하는, 파일 전송 시스템.
  5. 청구항 2에 있어서,
    상기 복수 개의 파일 전송부는, 상기 제2 파일 스토리지 클러스터의 마스터 서버로 상기 전송 대상 파일의 상기 제2 파일 스토리지 클러스터 내에서의 URL 할당을 요청하고, 할당된 상기 URL에 따라 상기 제1 파일 스토리지 클러스터로부터 수신한 상기 전송 대상 파일을 저장하는, 파일 전송 시스템.
  6. 청구항 1에 있어서,
    상기 복수 개의 파일 전송부는, 상기 제1 파일 스토리지 클러스터에 포함된 복수 개의 슬레이브 서버 내에 배치되는, 파일 전송 시스템.
  7. 청구항 6에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL), 파일 크기 및 해당 파일이 저장된 슬레이브 서버의 식별 정보를 포함하는, 파일 전송 시스템.
  8. 청구항 7에 있어서,
    상기 파일 전송 관리자는, 상기 전송 대상 파일들을 상기 파일 전송부의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할하는, 파일 전송 시스템.
  9. 청구항 8에 있어서,
    상기 파일 전송 관리자는, 특정 파일 전송부와 동일한 슬레이브 서버에 저장된 전송 대상 파일을 가장 많이 포함하는 그룹을 상기 특정 파일 전송부에 할당하는, 파일 전송 시스템.
  10. 청구항 6에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL), 파일 크기 및 각 전송 대상 파일을 구성하는 각각의 조각(chunk)이 저장된 슬레이브 서버의 식별 정보를 포함하는, 파일 전송 시스템.
  11. 청구항 10에 있어서,
    상기 파일 전송 관리자는, 상기 전송 대상 파일들을 상기 파일 전송부의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할하는, 파일 전송 시스템.
  12. 청구항 11에 있어서,
    상기 파일 전송 관리자는, 특정 파일 전송부와 동일한 슬레이브 서버에 저장된 전송 대상 파일의 조각을 가장 많이 포함하는 그룹을 상기 특정 파일 전송부에 할당하는, 파일 전송 시스템.
  13. 제1 파일 스토리지 클러스터에 저장된 파일을 제2 파일 스토리지 클러스터로 전송하기 위한 방법으로서,
    파일 전송 관리자에서, 상기 제1 파일 스토리지 클러스터의 마스터 서버로부터 상기 제1 파일 스토리지 클러스터에 저장된 전송 대상 파일들의 정보를 수신하는 단계;
    상기 파일 전송 관리자에서, 수신된 상기 전송 대상 파일들의 정보에 근거하여 상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계; 및
    복수 개의 파일 전송부에서, 상기 파일 전송 관리자로부터 할당된 전송 대상 파일을 상기 제1 파일 스토리지 클러스터로부터 수신하고, 수신된 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 단계를 포함하는 파일 스토리지 클러스터간 병렬 파일 전송 방법.
  14. 청구항 13에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL) 및 파일 크기를 포함하는, 파일 전송 방법.
  15. 청구항 14에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는, 각 파일 전송부에 할당되는 전송 대상 파일들의 크기 합이 각 파일 전송부별로 균등하게 되도록 상기 전송 대상 파일들 각각을 상기 복수 개의 파일 전송부 중 하나에 할당하는, 파일 전송 방법.
  16. 청구항 15에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는,
    상기 전송 대상 파일들을 크기에 따라 정렬하는 단계; 및
    정렬된 상기 전송 대상 파일들 각각을 상기 파일 전송부 중 하나에 순차적으로 할당하되, 특정 회(round)의 파일 할당 순서는 이전 회의 파일 할당 순서와 반대가 되도록 상기 전송 대상 파일들을 할당하는 단계를 더 포함하는 파일 전송 방법.
  17. 청구항 14에 있어서,
    전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 단계는,
    상기 제2 파일 스토리지 클러스터의 마스터 서버로 상기 전송 대상 파일의 상기 제2 파일 스토리지 클러스터 내에서의 URL 할당을 요청하는 단계; 및
    할당된 상기 URL에 따라 상기 제1 파일 스토리지 클러스터로부터 수신한 상기 전송 대상 파일을 상기 제2 파일 스토리지 클러스터에 저장하는 단계를 더 포함하는 파일 전송 방법.
  18. 청구항 14에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL), 파일 크기 및 해당 파일이 저장된 슬레이브 서버의 식별 정보를 포함하는, 파일 전송 방법.
  19. 청구항 18에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는, 상기 전송 대상 파일들을 상기 파일 전송부의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할하는, 파일 전송 방법.
  20. 청구항 19에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는, 특정 파일 전송부와 동일한 슬레이브 서버에 저장된 전송 대상 파일을 가장 많이 포함하는 그룹을 상기 특정 파일 전송부에 할당하는, 파일 전송 방법.
  21. 청구항 14에 있어서,
    상기 전송 대상 파일들의 정보는 상기 전송 대상 파일들의 상기 제1 파일 스토리지 클러스터에서의 유알엘(URL), 파일 크기 및 각 전송 대상 파일을 구성하는 각각의 조각(chunk)이 저장된 슬레이브 서버의 식별 정보를 포함하는, 파일 전송 방법.
  22. 청구항 21에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는, 상기 전송 대상 파일들을 상기 파일 전송부의 개수만큼 복수 개의 그룹으로 분할하고 분할된 각각의 그룹들을 각 파일 전송부에 할당하되, 각각의 그룹에 포함되는 전송 대상 파일들의 크기 합이 그룹 별로 균등하게 되도록 분할하는, 파일 전송 방법.
  23. 청구항 22에 있어서,
    상기 전송 대상 파일들 각각을 복수 개의 파일 전송부 중 하나에 할당하는 단계는, 특정 파일 전송부와 동일한 슬레이브 서버에 저장된 전송 대상 파일의 조각을 가장 많이 포함하는 그룹을 상기 특정 파일 전송부에 할당하는, 파일 전송 방법.
  24. 청구항 13 내지 23 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020120057168A 2012-05-30 2012-05-30 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법 KR101901266B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120057168A KR101901266B1 (ko) 2012-05-30 2012-05-30 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120057168A KR101901266B1 (ko) 2012-05-30 2012-05-30 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130133989A KR20130133989A (ko) 2013-12-10
KR101901266B1 true KR101901266B1 (ko) 2018-09-20

Family

ID=49981682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120057168A KR101901266B1 (ko) 2012-05-30 2012-05-30 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101901266B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092719B (zh) * 2013-12-17 2015-10-07 深圳市腾讯计算机系统有限公司 文件传输方法、装置及分布式集群文件系统
KR102024846B1 (ko) * 2018-02-13 2019-09-24 서강대학교 산학협력단 파일 시스템 프로그램 및 이를 이용한 데이터 센터 제어 방법
KR102038527B1 (ko) * 2018-03-28 2019-11-26 주식회사 리얼타임테크 분산 클러스터 관리 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210431A1 (en) 2007-11-12 2009-08-20 Attune Systems, Inc. Load Sharing Cluster File Systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210431A1 (en) 2007-11-12 2009-08-20 Attune Systems, Inc. Load Sharing Cluster File Systems

Also Published As

Publication number Publication date
KR20130133989A (ko) 2013-12-10

Similar Documents

Publication Publication Date Title
US10956246B1 (en) Isolated read channel management interfaces at streaming data service
US11075984B1 (en) Workload management at streaming data service supporting persistent connections for reads
US10489343B2 (en) Cluster file system comprising data mover modules having associated quota manager for managing back-end user quotas
US10042869B1 (en) Method for data transfer between compute clusters and file system
US6832248B1 (en) System and method for managing usage quotas
US10579272B2 (en) Workload aware storage platform
US9176779B2 (en) Data access in distributed systems
US8099402B2 (en) Distributed data storage and access systems
US8954976B2 (en) Data storage in distributed resources of a network based on provisioning attributes
US9400792B1 (en) File system inline fine grained tiering
US20130179481A1 (en) Managing objects stored in storage devices having a concurrent retrieval configuration
US8489709B2 (en) Method of managing a file access in a distributed file storage system
US11509700B2 (en) Stream data record reads using push-mode persistent connections
CN104679665A (zh) 一种实现分布式文件系统块存储的方法及系统
EP2307991A2 (en) Distributed data storage and access systems
US11675501B2 (en) Streaming data service with isolated read channels
KR101714412B1 (ko) 클라우드 환경에서 데이터베이스 시스템을 구성하는 방법 및 장치
KR102028428B1 (ko) 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법
CN1602480A (zh) 管理附装在数据网络上的存储器资源
US20230239345A1 (en) Isolated read channel categories at streaming data service
US20100161585A1 (en) Asymmetric cluster filesystem
CN109302448A (zh) 一种数据处理方法及装置
KR101901266B1 (ko) 파일 스토리지 클러스터간 병렬 파일 전송 시스템 및 방법
JP5758449B2 (ja) データ再配置装置、方法およびプログラム
US20130166670A1 (en) Networked storage system and method including private data network

Legal Events

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