KR20220052811A - 대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법 - Google Patents

대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법 Download PDF

Info

Publication number
KR20220052811A
KR20220052811A KR1020210055629A KR20210055629A KR20220052811A KR 20220052811 A KR20220052811 A KR 20220052811A KR 1020210055629 A KR1020210055629 A KR 1020210055629A KR 20210055629 A KR20210055629 A KR 20210055629A KR 20220052811 A KR20220052811 A KR 20220052811A
Authority
KR
South Korea
Prior art keywords
directory
user
shared
data
file system
Prior art date
Application number
KR1020210055629A
Other languages
English (en)
Inventor
김대원
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20220052811A publication Critical patent/KR20220052811A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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]

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법은 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성하는 단계, 파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성하는 단계, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 하는 단계, 및 상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당하는 단계를 포함한다.

Description

대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법{APPARATUS AND METHOD FOR STORAGE MANAGEMENT FOR SHARING LARGE-SCALE DATA}
본 발명은 클라우드 환경에서 고성능의 디바이스를 이용한 다양한 대용량 데이터를 공유하는 기술에 관한 것이다.
구체적으로, 본 발명은 대규모 데이터를 공유 하기 위해 파일 시스템 통합 기능을 이용한 스토리지 관리 기술에 관한 것이다.
최근 빅데이터 및 인공지능의 발전에 따라 클라우드 컴퓨팅 기술이 발전되고 있고 이에 따라 다양한 데이터를 손쉽게 접근하고 공유 할 수 있는 환경이 요구되고 있다.
여러 위치에 존재하는 다양한 데이터를 공유 하기 위하여 소규모 네트워크 환경에서는 마이크로소프트사를 중심으로 여러 유닉스(UNIX) 업체들이 모여 SMB(Server Message Block) 규약을 완전히 공개하는 동시에 랜 매니저(LAN Manager)가 가진 제약을 극복하여 인터넷에서 사용 가능한 표준 파일 시스템인 CIFS(Common Internet File System)이 존재한다.
따라서, NT 5.0부터는 CIFS 위에서 여러 개의 물리적 디스크를 하나의 논리적 디스크로 취급할 수 있는 분산 파일 시스템(Distributed File System, Dfs)을 표준으로 장착한다. 썬 마이크로시스템사(Sun microsystems)의 NFS(Network file system)는 TCP 기반의 원격 공유 파일 시스템으로 네트워크 상의 파일 공유를 위하여 개발 되었고 현재도 많이 사용되고 있고, NFS3 기술을 기반으로 하는 새로운 WWW 표준 파일 전송 규약인 WebNFS를 제안하여, IETF에서 NFS URL 표준안을 RFC {2054, 2055}로 확정한 상황이다.
이들은 여러 지역 네트워크에서 클라이언트 서버 방식으로 파일을 공유하는 형상으로 되어 있으나 다양한 클라우드 환경의 사용자가 원하는 파일을 공유하기 위하여 시스템 관리 및 파일을 공유를 위한 환경 설정 등이 까다롭고 보안문제가 발생하는 실정이다.
리눅스 커널 자체에 다양한 레이어(디렉토리)를 구성하여 사용자에게 파일을 읽을 수 있도록 제공하는 기능으로 통합 파일 시스템(Overlayfs, AUFS 등)이 존재한다. 이 파일 시스템은 여러 개의 디렉토리에 있는 모든 파일을 하나의 레이어로 관리 하기 위한 방법으로 현재 컨테이너 환경(docker)에 컨테이너 이미지를 활용하기 위한 파일 시스템으로 활용되고 있다.
국내 공개특허공보 제10-2018-0068004호(발명의 명칭: 컴퓨터 간 데이터 공유를 위한 내부 및 외부 인터페이스를 갖는 저장장치 및 이를 이용한 컴퓨터 시스템)
본 발명의 목적은 클라우드 환경에서 고성능의 디바이스를 이용한 다양한 대용량 데이터를 손쉽게 공유하는 기능을 제공하는 것이다.
또한, 본 발명의 목적은 기존에 존재하는 파일 시스템 통합 기능(Unifying File System)을 이용하여 공유 시스템을 구성하고 이를 관리하는 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법은 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성하는 단계, 파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성하는 단계, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 하는 단계, 및 상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당하는 단계를 포함한다.
이때, 상기 복수개의 관련 디렉토리들은 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 포함할 수 있다.
이때, 상기 병합 디렉토리는 상기 하위 디렉토리(lower directory)들에 마운트 된 파일 시스템의 논리적 조합에 상응하는 가상 파일 시스템(Virtual File System)에 상응할 수 있다.
이때, 상기 사용자의 데이터 공유 요청이 최초 요청이 아닌 경우, 기생성된 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 링크 정보를 할당할 수 있다.
이때, 상기 사용자가 데이터 제공자에 상응하는 경우, 상기 공유 스토리지에 공유 데이터를 업로드 하고, 상기 공유 데이터 제공 서버의 스토리지 베이스 디렉토리에 상기 공유 데이터 링크를 생성할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 장치는 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성하는 사용자 디렉토리 생성부, 파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성하는 관련 디렉토리 생성부, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 하는 마운트부, 및 상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당하는 링크 할당부를 포함한다.
이때, 상기 복수개의 관련 디렉토리들은 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 포함할 수 있다.
이때, 상기 병합 디렉토리는 상기 하위 디렉토리(lower directory)들에 마운트 된 파일 시스템의 논리적 조합에 상응하는 가상 파일 시스템(Virtual File System)에 상응할 수 있다.
이때, 상기 사용자의 데이터 공유 요청이 최초 요청이 아닌 경우, 기생성된 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 링크 정보를 할당할 수 있다.
이때, 상기 사용자가 데이터 제공자에 상응하는 경우, 상기 공유 스토리지에 공유 데이터를 업로드 하고, 상기 공유 데이터 제공 서버의 스토리지 베이스 디렉토리에 상기 공유 데이터 링크를 생성할 수 있다.
본 발명에 따르면, 클라우드 환경에서 고성능의 디바이스를 이용한 다양한 대용량 데이터를 손쉽게 공유하는 기능을 제공할 수 있다.
또한, 본 발명에 의하면 기존에 존재하는 파일 시스템 통합 기능(Unifying File System)을 이용하여 공유 시스템을 구성하고 이를 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법의 전체 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 공유 데이터 제공 서버의 구조를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법에서, 사용자가 데이터를 제공하는 과정을 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법에서, 사용자가 데이터를 공유받는 과정을 나타낸 흐름도이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법의 전체 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법은 사용자 단말(110-1, 110-2, …, 110-N), 공유 데이터 제공 서버(120), 및 공유 스토리지(130)를 포함한다.
이때, 사용자 단말(110-1, 110-2, …, 110-N)은 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
이때 공유 데이터 제공 서버(120)는 데이터 공유 관리 모듈(122)를 포함할 수 있으며, 데이터 공유 관리 모듈(122)은 사용자에 상응하는 파일 공유를 위한 영역(121-1, 121-2, …, 121-N)을 개별적으로 생성할 수 있다.
이때, 공유 스토리지는 네트워크 파일 스토리지(SAN, NAS 등)에 상응할 수 있고 로컬 디스크 내에 연결된 스토리지에 상응할 수도 있다. 다만, 본 발명에 이에 한정되는 것은 아니다.
사용자 단말(110-1, 110-2, …, 110-N)은 공유 데이터가 존재하는 공유 스토리지(130)로부터 사용자가 필요한 공유 데이터를 위한 스토리지 공간을 서비스 받는다. 즉, 공유 스토리지(130)에 저장된 대용량 파일(File1, File2, … FileN)은 사용자의 요청에 의해 사용자에게 제공될 수 있다.
공유 데이터를 사용자에게 제공하기 위하여 데이터 공유 관리 모듈(122)을 이용하여 이 서버 내에 사용자에게 파일 공유를 위한 영역을 개별적으로 구성하여 제공할 수 있다.
공유 데이터 제공 서버(120)는 기존의 리눅스 환경의 커널에 포함되어 있는 파일 시스템 통합(Unifying File system) 기능을 사용하여 사용자가 필요한 파일을 개별적으로 제공한다.
파일 시스템 통합(Unifying File system)은 단일 마운트 지점에 여러 파일 시스템을 마운트 하는 개념이며, 새로운 파일 시스템 유형을 생성하는 대신 가상 파일 시스템(virtual file system) 계층에서 모든 디렉토리 항목 통합 처리를 수행한다. 파일 시스템 통합를 사용하면 하위 파일 시스템의 디렉토리 항목이 상위 파일 시스템의 디렉토리 항목과 병합되어 마운트 된 모든 파일 시스템의 논리적 조합을 만든다. 따라서, 시스템에서 공유된 전체 파일 시스템에 대한 관리 및 파일 찾기가 로컬에서 가능하고 파일 관리가 용이해진다.
도 2는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법을 나타낸 흐름도이다.
도 2를 참조하면, 데이터 공유 관리 모듈(122)은 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성한다(S210).
또한, 파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성한다(S220).
이하, 파일 시스템 통합 기능(Unifying File system)을 가지는 오버레이 파일 시스템2(Overlayfs2)를 이용하여 본 발명의 일 실시예에 따른 스토리지 관리 방법을 설명한다.
따라서, 상기 복수개의 관련 디렉토리들은 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 포함할 수 있다.
이때, 상기 병합 디렉토리는 상기 하위 디렉토리(lower directory)들에 마운트 된 파일 시스템의 논리적 조합에 상응하는 가상 파일 시스템(Virtual File System)에 상응할 수 있다.
또한, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 한다(S230).
상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당한다(S240).
이때, 단계(S240)은 사용자의 하위 디렉토리로 이동한 다음 사용자가 요청한 공유 파일에 대한 링크 정보를 공유 스토리지 베이스 디렉토리부터 찾아 생성하는 것일 수 있다.
이때, 상기 사용자의 데이터 공유 요청이 최초 요청이 아닌 경우, 기생성된 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 링크를 할당할 수 있다.
도 3은 본 발명의 일 실시예에 따른 공유 데이터 제공 서버의 구조를 나타낸다.
도 3을 참조하면, 공유 데이터 제공 서버에서 각 디렉토리들이 어떻게 구성되는지 볼 수 있다.
오버레이 파일 시스템(Overlayfs)의 경우, 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 생성할 수 있다.
이때, 병합 디렉토리는 모든 하위 파일을 가상으로 공유하는 시스템으로 하위 디렉토리의 모든 파일을 사용자가 볼 수 있게 된다.
데이터 공유 관리 모듈(120)은 사용자의 요청에 따라 사용자 디렉토리 (/sharedData/tenantA)를 생성하고 상위 디렉토리(upper directory)로 사용자의 디렉토리(/sharedData/tenantA) 밑에 하나의 디렉토리(diff)를 생성하고 맵핑한다. 이 디렉토리는 사용자가 파일에 접근하고 편집 및 수정하여 저장하는 데이터에 속한다. 그리고 워크 디렉토리(work directory)도 사용자의 디렉토리 밑에 생성하여 맵핑한다. 병합 디렉토리(Merged directory)도 생성하여 맵핑한다.
최하위 디렉토리(lowerdir2=/sharedData/base/File1-Link, File2-Link, …, FileN-Link/)의 경우 공유 스토리지의 모든 파일 링크를 저장하고 있는 관리 포인트로(/sharedData/base)를 설정한다.
그리고 파일의 관리를 위해 사용자가 필요한 파일을 선택하도록 GUI(graphical user interface)로 노출 시킨다. 사용자의 디렉토리를 위한 하위 디렉토리(lowerdir1=/sharedData/tenantA/base/File1-Link, File2-Link)는 상위 디렉토리와 연계하여 사용자가 선택한 파일에 대해서만 링크 정보를 배치 시킨다. 이 과정을 통하여 사용자는 자신이 선택한 파일만 하위 시스템을 통하여 볼 수 있게 된다.
사용자가 자신의 공유된 사용자 디렉토리를 통하여 파일을 공유 받을 수 있고 하위 디렉토리들은 항상 불변의 상태를 유지한다. 즉, 하위 디렉토리들은 읽기 전용으로 사용된다. 이는 공유 받은 파일을 여러 사람이 공유 할 때 쓰기 방지에 대한 방법으로 효율적이다.
또한, 하위 디렉토리 파일에 변경 사항이 발생할 경우, 상위 디렉토리에 그 변경 사항을 기록하기 때문에 전체적인 공유 파일 관리에 있어서도 효율적이다.
이하, 도 4 내지 도 5를 참조하여, 본 발명의 실시예에 따른 공유 스토리지 관리 방법을 상세하게 설명한다.
도 4는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법에서, 사용자가 데이터를 제공하는 과정을 나타낸 흐름도이다.
도 4를 참조하면, 공유 스토리지 사용자가 데이터 제공자인 경우(S410), 공유 파일을 공유 스토리지(130)로 업로드한다(S412).
공유 스토리지(130)는 전송 받은 공유 데이터를 저장하고(S414), 공유 데이터가 저장된 링크를 공유 데이터 제공 서버(120)로 전송한다(S416).
공유 데이터 제공 서버(120)는 최하위 디렉토리에 공유 데이터의 링크를 생성한다(S418). 이때, 최하위 디렉토리에 공유 데이터의 링크를 생성하는 과정은 공유 데이터 제공 서버의 공유 스토리지 베이스 디렉토리로 이동하여 공유 데이터 링크를 생성하는 것일 수 있다.
도 5는 본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 방법에서, 사용자가 데이터를 공유받는 과정을 나타낸 흐름도이다.
도 5를 참조하면, 공유 스토리지를 이용하려는 사용자가 데이터 제공자가 아닌, 데이터 사용자인 경우(S410) 공유 데이터 제공 서버(120)에 데이터 공유를 요청한다(S420).
공유 데이터 제공 서버(120)는 사용자가 공유 스토리지를 최초로 사용하는 것이 아닌 경우(S422), 데이터 공유 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성한다(S424).
또한, 파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성한다(S426).
이하, 파일 시스템 통합 기능(Unifying File system)을 가지는 오버레이 파일 시스템2(Overlayfs2)를 이용하여 본 발명의 일 실시예에 따른 스토리지 관리 방법을 설명한다.
따라서, 상기 복수개의 관련 디렉토리들은 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 포함할 수 있다.
이때, 상기 병합 디렉토리는 상기 하위 디렉토리(lower directory)들에 마운트 된 파일 시스템의 논리적 조합에 상응하는 가상 파일 시스템(Virtual File System)에 상응할 수 있다.
또한, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 한다(S428).
상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당한다(S430).
이때, 단계(S430)은 사용자의 하위 디렉토리로 이동한 다음 사용자가 요청한 공유 파일에 대한 링크 정보를 공유 스토리지 베이스 디렉토리부터 찾아 생성하는 것일 수 있다.
이때, 상기 사용자의 데이터 공유 요청이 최초 요청이 아닌 경우(S422), 기생성된 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 링크를 할당할 수 있다(S430).
도 3을 참조하면, 공유 데이터 제공 서버에서 각 디렉토리들이 어떻게 구성되는지 볼 수 있다.
오버레이 파일 시스템(Overlayfs)의 경우, 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 생성할 수 있다.
이때, 병합 디렉토리는 모든 하위 파일을 가상으로 공유하는 시스템으로 하위 디렉토리의 모든 파일을 사용자가 볼 수 있게 된다.
데이터 공유 관리 모듈(120)은 사용자의 요청에 따라 사용자 디렉토리 (/sharedData/tenantA)를 생성하고 상위 디렉토리(upper directory)로 사용자의 디렉토리(/sharedData/tenantA) 밑에 하나의 디렉토리(diff)를 생성하고 맵핑한다. 이 디렉토리는 사용자가 파일에 접근하고 편집 및 수정하여 저장하는 데이터에 속한다. 그리고 워크 디렉토리(work directory)도 사용자의 디렉토리 밑에 생성하여 맵핑한다. 병합 디렉토리(Merged directory)도 생성하여 맵핑한다.
최하위 디렉토리(lowerdir2=/sharedData/base/File1-Link, File2-Link, …, FileN-Link/)의 경우 공유 스토리지의 모든 파일 링크를 저장하고 있는 관리 포인트로 (/sharedData/base)를 설정한다.
그리고 파일의 관리를 위해 사용자가 필요한 파일을 선택하도록 GUI(graphical user interface)로 노출 시킨다. 사용자의 디렉토리를 위한 하위 디렉토리(lowerdir1=/sharedData/tenantA/base/File1-Link, File2-Link)는 상위 디렉토리와 연계하여 사용자가 선택한 파일에 대해서만 링크 정보를 배치 시킨다. 이 과정을 통하여 사용자는 자신이 선택한 파일만 하위 시스템을 통하여 볼 수 있게 된다.
사용자가 자신의 공유된 사용자 디렉토리를 통하여 파일을 공유 받을 수 있고 하위 디렉토리들은 항상 불변의 상태를 유지한다. 즉, 하위 디렉토리들은 읽기 전용으로 사용된다. 이는 공유 받은 파일을 여러 사람이 공유 할 때 쓰기 방지에 대한 방법으로 효율적이다.
또한, 하위 디렉토리 파일에 변경 사항이 발생할 경우, 상위 디렉토리에 그 변경 사항을 기록하기 때문에 전체적인 공유 파일 관리에 있어서도 효율적이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(600)에서 구현될 수 있다.
컴퓨터 시스템(600)은 버스(620)를 통하여 서로 통신하는 하나 이상의 프로세서(610), 메모리(630), 사용자 인터페이스 입력 장치(640), 사용자 인터페이스 출력 장치(650) 및 스토리지(660)를 포함할 수 있다. 또한, 컴퓨터 시스템(600)은 네트워크(680)에 연결되는 네트워크 인터페이스(670)를 더 포함할 수 있다. 프로세서(610)는 중앙 처리 장치 또는 메모리(630)나 스토리지(660)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(630) 및 스토리지(660)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(630)는 ROM(631)이나 RAM(632)을 포함할 수 있다.
본 발명의 일 실시예에 따른 대규모 데이터 공유를 위한 스토리지 관리 장치는 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성하는 사용자 디렉토리 생성부, 파일 시스템 통합 기능(Unifying File System)에 기반하여 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성하는 관련 디렉토리 생성부, 상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 하는 마운트부, 및 상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당하는 링크 할당부를 포함한다.
상기 복수개의 관련 디렉토리들은 상위 디렉토리(upper directory), 하위 디렉토리(lower directory), 워크 디렉토리(work directory), 및 병합 디렉토리(merged directroy)를 포함할 수 있다.
이때, 상기 병합 디렉토리는 상기 하위 디렉토리(lower directory)들에 마운트 된 파일 시스템의 논리적 조합에 상응하는 가상 파일 시스템(Virtual File System)에 상응할 수 있다.
이때, 상기 사용자의 데이터 공유 요청이 최초 요청이 아닌 경우, 기생성된 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 링크 정보를 할당할 수 있다.
이때, 상기 사용자가 데이터 제공자에 상응하는 경우, 상기 공유 스토리지에 공유 데이터를 업로드 하고, 상기 공유 데이터 제공 서버의 스토리지 베이스 디렉토리에 상기 공유 데이터 링크를 생성할 수 있다.
본 발명에 따르면, 파일 시스템 통합은 가상 파일 시스템 내에서 이루어 지므로 메타 데이터를 유지하고 병합하기위한 추가 파일 시스템 계층이 필요하지 않아, 단순한 구조를 통해 공유 데이터를 제공할 수 있다.
또한, 통합된 시스템 뷰를 통하여 전체 파일을 관리할 수 있으며, 모듈이 리눅스 상에 포함되어 있기 때문에 손쉽게 시스템을 구성하고 사용할 수 있다.
또한, 리눅스 자체의 보안 시스템이 존재하므로, 보안 시스템을 따로 구성하지 않아도 된다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
110: 사용자 단말
120: 공유 데이터 제공 서버
130: 공유 스토리지
122: 데이터 공유 관리 모듈

Claims (1)

  1. 사용자의 공유 데이터 요청에 기반하여 공유 데이터 제공 서버에 사용자 디렉토리를 생성하는 단계;
    파일 시스템 통합 기능(Unifying File System)에 기반하여, 상기 공유 데이터 제공 서버에 복수개의 관련 디렉토리들을 생성하는 단계;
    상기 사용자 디렉토리 및 상기 복수개의 관련 디렉토리들에 파일 시스템을 마운트 하는 단계; 및
    상기 복수개의 관련 디렉토리들 중 하위 디렉토리(lower directory)에 사용자가 요청한 데이터에 상응하는 공유 스토리지의 데이터 링크를 할당하는 단계를 포함하는 것을 특징으로 하는 대규모 데이터 공유를 위한 스토리지 관리 방법.
KR1020210055629A 2020-10-21 2021-04-29 대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법 KR20220052811A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200136578 2020-10-21
KR1020200136578 2020-10-21

Publications (1)

Publication Number Publication Date
KR20220052811A true KR20220052811A (ko) 2022-04-28

Family

ID=81447972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210055629A KR20220052811A (ko) 2020-10-21 2021-04-29 대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20220052811A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180068004A (ko) 2016-12-13 2018-06-21 중원대학교 산학협력단 컴퓨터 간 데이터 공유를 위한 내부 및 외부 인터페이스를 갖는 저장장치 및 이를 이용한 컴퓨터 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180068004A (ko) 2016-12-13 2018-06-21 중원대학교 산학협력단 컴퓨터 간 데이터 공유를 위한 내부 및 외부 인터페이스를 갖는 저장장치 및 이를 이용한 컴퓨터 시스템

Similar Documents

Publication Publication Date Title
US10467188B2 (en) In-line policy management with multi-level object handle
US7647461B2 (en) Method and apparatus for allocating resources among virtual filers on a filer
CN103116618B (zh) 基于客户端持久缓存的远程文件系统镜像方法及系统
US7035931B1 (en) Volume location service for a distributed file system
US9565254B2 (en) Object location service for network-based content repository
Brandt et al. Efficient metadata management in large distributed storage systems
US8412685B2 (en) Method and system for managing data
JP4416821B2 (ja) ネットワーク上でクライアントからアクセス可能なファイルセットの名前空間を維持する分散ファイル・システム
US8751449B2 (en) Managing performance within an enterprise object store file system
US7587426B2 (en) System and method for virtualizing a distributed network storage as a single-view file system
US8180813B1 (en) Content repository implemented in a network storage server system
US20160004760A1 (en) System and method for optimizing protection levels when replicating data in an object storage system
US20110016085A1 (en) Method and system for maintaining multiple inode containers in a storage server
US20130297658A1 (en) Method and system for synchronizing a virtual file system at a computing device with a storage device
US20070088702A1 (en) Intelligent network client for multi-protocol namespace redirection
US20070038697A1 (en) Multi-protocol namespace server
US11106625B2 (en) Enabling a Hadoop file system with POSIX compliance
US20130091183A1 (en) Volume Management
US9104680B2 (en) Method for accessing files of a file system according to metadata and device implementing the method
US8762434B1 (en) Aliasing of exported paths in a storage system
US10831714B2 (en) Consistent hashing configurations supporting multi-site replication
KR20220052811A (ko) 대규모 데이터 공유를 위한 스토리지 관리 장치 및 방법
US10887429B1 (en) Processing multi-protocol redirection links
US11899685B1 (en) Dividing authorization between a control plane and a data plane for sharing database data
Mondal et al. Demystifying Object-based Big Data Storage Systems