KR102645033B1 - 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 - Google Patents

데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR102645033B1
KR102645033B1 KR1020210056575A KR20210056575A KR102645033B1 KR 102645033 B1 KR102645033 B1 KR 102645033B1 KR 1020210056575 A KR1020210056575 A KR 1020210056575A KR 20210056575 A KR20210056575 A KR 20210056575A KR 102645033 B1 KR102645033 B1 KR 102645033B1
Authority
KR
South Korea
Prior art keywords
network
storage
data
nodes
storage area
Prior art date
Application number
KR1020210056575A
Other languages
English (en)
Other versions
KR20220149231A (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 KR1020210056575A priority Critical patent/KR102645033B1/ko
Publication of KR20220149231A publication Critical patent/KR20220149231A/ko
Application granted granted Critical
Publication of KR102645033B1 publication Critical patent/KR102645033B1/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
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것으로, 본 발명의 일실시예에 따른 데이터 분산 저장 방법은 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하는 단계 -상기 네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 상기 복수의 노드들 각각의 스토리지에 상기 네트워크에 대응하는 저장 영역을 할당하는 단계, 상기 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는 단계 -상기 네트워크에 참여하는 복수의 노드들은, 상기 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-를 포함할 수 있다.

Description

데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 {DISTRIBUTED STORAGE METHOD OF DATA AND COMUTING DEVICE FOR PERFORMING THE METHOD}
본 발명은 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것이다.
데이터를 분산 저장하기 위하여, 블록 체인에 참여하는 노드들의 저장 장치 내지 스토리지에 파일을 특정 단위로 분산하여 저장하는 시스템이 사용되고 있다.
블록 체인에 참여하는 노드들의 스토리지에 데이터를 분산 저장하기 위하여, IPFS(InterPlanetary File System)와 같은 프로토콜을 이용하여 노드들의 스토리지에 데이터를 분산 저장한다.
기존의 IPFS와 같은 네트워크를 이용하여 데이터를 분산 저장하는 경우, 데이터에 대한 접근 권한을 설정할 수 없기 때문에, 해시값만 알고 있으면 어떤 컴퓨터 또는 노드라도 분산 저장된 데이터에 대한 접근이 가능한 문제점이 있다.
따라서, 분산 저장된 데이터에 대한 보안을 유지하고, 데이터에 따라 특정 사용자만 접근할 수 있도록 하기 위하여 데이터 접근에 제약을 가진 스토리지 분산 저장 방법, 권한별 데이터 접근 방법이 필요하다.
본 문서에 개시되는 다양한 실시예에 따르면, 데이터를 분산 저장하기 위한 네트워크를 판단하여, 노드들의 스토리지에 네트워크에 대응하는 저장 영역을 할당하고, 할당된 저장 영역에 데이터를 분산하여 저장하는 데이터 분산 저장 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 네트워크에 참여하는 복수의 노드들은, 저장 영역에 저장된 데이터에 대해서 접근 권한을 가지므로, 분산 저장된 데이터에 대해 특정 노드들만 접근 가능하도록 접근 권한이 설정 또는 제한되는 데이터 분산 저장 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 네트워크에 참여하고 있는 노드 내지 컴퓨터들의 접근 수준에 따라 높은 보안등급의 파일에 대한 접근 허용 여부가 결정될 수 있고, 이를 통해 데이터가 유출되는 것을 방지함과 동시에 데이터를 분산 저장함으로써 데이터를 저장하기 위한 중앙 서버 유지비용을 감축하고, 유휴 리소스를 네트워크에 참여시켜 불필요한 리소스의 낭비를 줄일 수 있는 데이터 분산 저장 방법을 제공한다.
일실시예예 따른 데이터 분산 저장 방법은, 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하는 단계 -상기 네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 상기 복수의 노드들 각각의 스토리지에 상기 네트워크에 대응하는 저장 영역을 할당하는 단계, 상기 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는 단계 -상기 네트워크에 참여하는 복수의 노드들은, 상기 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-를 포함할 수 있다.
상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고, 상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능한 것일 수 있다.
상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고, 상기 상위 네트워크에 참여하는 노드들의 스토리지는, 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되는 것일 수 있다.
상기 네트워크가 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 할당되지 않는 것일 수 있다.
상기 데이터를 분산하여 저장하는 단계는, 상기 데이터를 특정 단위에 따라 분할하여 상기 노드들의 스토리지에 할당된 저장 영역에 저장할 수 있다.
일실시예에 따른 데이터 분산 저장 방법은, 노드가 참여하는 네트워크에서 관리하는 데이터의 저장 요청을 수신하는 단계, 상기 요청에 따라 상기 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역에 저장하는 단계를 포함하고, 상기 저장 영역은, 상기 노드가 참여하는 네트워크에 따라 다르게 할당되는 것일 수 있다.
상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고, 상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능한 것일 수 있다.
상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고, 상기 상위 네트워크에 참여하는 노드들의 스토리지는 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되는 것일 수 있다.
상기 네트워크가 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 할당되지 않는 것일 수 있다.
상기 저장 영역에 저장하는 단계는, 상기 데이터를 특정 단위에 따라 분할하여 상기 노드들의 스토리지에 할당된 저장 영역에 저장할 수 있다.
일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하고-상기 네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 상기 복수의 노드들 각각의 스토리지에 상기 네트워크에 대응하는 저장 영역을 할당하고, 상기 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는-상기 네트워크에 참여하는 복수의 노드들은, 상기 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-, 것일 수 있다.
상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고, 상기 프로세서는, 상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능하도록 하는 것일 수 있다.
상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고, 상기 프로세서는, 상기 상위 네트워크에 참여하는 노드들의 스토리지는 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되도록 하는 것일 수 있다.
일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 노드가 참여하는 네트워크에서 관리하는 데이터의 저장 요청을 수신하고, 상기 요청에 따라 상기 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역에 저장하고, 상기 저장 영역은, 상기 노드가 참여하는 네트워크에 따라 다르게 할당되는 것일 수 있다.
상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고, 상기 프로세서는, 상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능하도록 하는 것일 수 있다.
상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고, 상기 프로세서는, 상기 상위 네트워크에 참여하는 노드들의 스토리지는, 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되도록 하는 것일 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 데이터를 분산 저장하는 네트워크에서, 네트워크에 참여하는 노드 내지 컴퓨터의 데이터 접근 권한에 따라 각각 다른 네트워크에서 데이터를 저장함에 따라 데이터 접근에 제약을 가지도록, 즉 데이터에 대한 접근 권한을 설정되도록 데이터를 분산 저장할 수 있다.
도 1은 일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 2 내지 도 4는 일실시예에 따른 상위 네트워크 및 하위 네트워크로 구분되는 네트워크를 도시한 도면이다.
도 5는 일실시예에 따른 서로 독립적인 복수의 세부 네트워크로 구분되는 네트워크를 도시한 도면이다.
도 6은 일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 7은 일실시예에 따른 노드가 참여하는 네트워크에 따른 저장 영역(230) 및 데이터 분산 저장 과정을 도시한 도면이다.
도 8은 일실시예에 따른 데이터 저장 방법의 흐름도이다.
도 9는 일 실시예에 따른 데이터 분산 저장 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치(100)의 동작을 도시한 도면이다. 도 1에서, 각각의 네트워크들(110-1 내지 110-n)은 복수의 노드들(120-1 내지 120-n)로 구성될 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치(100)는, 프로세서를 포함하고, 프로세서는, 데이터를 분산 저장하기 위한 복수의 노드들(120-1 내지 120-n)로 구성된 네트워크(110)를 판단하고-네트워크(110)는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 복수의 노드들(120-1 내지 120-n) 각각의 스토리지에 네트워크(110)에 대응하는 저장 영역을 할당하고, 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는-네트워크(110)에 참여하는 복수의 노드들(120-1 내지 120-n)은, 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-, 것 일수 있다.
컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 네트워크(110)를 판단하고, 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장할 수 있다. 네트워크(110-1 내지 110-n)에 참여하는 복수의 노드들(120-1 내지 120-n)이 저장 영역에 저장된 데이터에 대하여 접근 권한을 가지기 때문에, 네트워크에 참여하지 않는 노드들은 저장 영역에 저장된 데이터에 대하여 접근 권한을 가질 수 없다. 즉, 컴퓨팅 장치(100)는, 저장 영역(130)에 분산 저장된 데이터에 대하여, 네트워크에 참여하는 노드들은 접근 권한을 가지고, 네트워크에 참여하지 않는 노드들은 접근 권한을 가지지 않는, 분산 저장된 데이터에 대한 접근 권한에 제약을 가지는 네트워크를 제공할 수 있다.
컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 복수의 노드들(120-1 내지 120-n)로 구성된 네트워크(110)를 판단할 수 있다. 달리 말해, 컴퓨팅 장치(100)는 여러 네트워크(110-1 내지 110-n) 중에서 어떤 네트워크에 데이터를 분산 저장할지를 판단할 수 있다.
일실시예에 따르면, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 네트워크(110-1 내지 110-n)를 판단하고 데이터를 분산 저장하기 위하여 요청한 노드가 속하는 네트워크를 판단할 수 있다. 예를 들어, 도 1과 같이, 네트워크(110-1)에 속하는 노드(120-1)에서 데이터를 분산 저장하기 위한 요청을 수행하는 경우, 컴퓨팅 장치(100)는 네트워크(110-1)을 데이터를 분산 저장하기 위한 네트워크로 판단할 수 있다.
일실시예에 따르면, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 요청에 기초하여, 데이터를 분산 저장하기 위한 네트워크를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 분산 저장하고자 하는 데이터의 보안 등급, 데이터를 분산 저장하도록 지정된 네트워크 등을 식별하여, 데이터를 분산 저장하기 위한 네트워크를 판단할 수 있다. 도 1에서 컴퓨팅 장치(100)는 데이터를 분산 저장하도록 지정된 네트워크(110-1)를 식별하거나, 데이터를 분산 저장하고자 하는 데이터의 보안 등급에 따라, 데이터를 분산 저장하고자 하는 네트워크를 판단할 수 있다.
컴퓨팅 장치(100)는 복수의 노드들(120-1 내지 120-n) 각각의 스토리지에 네트워크(110-1 내지 110-n)에 대응하는 저장 영역(130)을 할당할 수 있다. 저장 영역은 복수의 노드들 각각의 스토리지에 네트워크에 대응하여 할당되는 것으로, 도 1에서 네트워크(110-1)에 참여하는 복수의 노드들(120-1)의 스토리지에는 네트워크(110-1)에 대응하는 저장 영역이 할당될 수 있고, 네트워크(110-n)에 참여하는 복수의 노드들(120-n)의 스토리지에는 네트워크(110-n)에 대응하는 저장 영역이 할당될 수 있다.
일실시예에 따르면, 노드가 복수의 네트워크에 중복하여 참여하는 경우, 노드의 스토리지에는 각각의 네트워크에 대응하는 저장 영역에 할당될 수 있다. 예를 들어, 노드가 네트워크(110-1)와 다른 네트워크(110-2)에 참여하는 경우, 노드의 스토리지에는 네트워크(110-1)에 대응하는 저장 영역과 다른 네트워크(110-2)에 대응하는 저장 영역이 할당될 수 있다.
컴퓨팅 장치(100)는 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장할 수 있다. 도 1과 같이, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 네트워크(110-1)를 판단하고, 복수의 노드들(120-1)의 스토리지에 네트워크(110-1)에 대응하여 할당된 저장 영역에 데이터를 분산하여 저장할 수 있다. 네트워크에 참여하는 복수의 노드들(120-1 내지 120-n)은 저장 영역에 저장된 데이터에 접근 권한을 가질 수 있다. 네트워크에 참여하는 노드들의 저장 영역에 저장된 데이터에 대한 접근 권한은 네트워크에 참여하는 노드들만 가지는 것으로, 네트워크에 참여하지 않는 노드들은 네트워크에 참여하는 노드들의 저장 영역에 저장된 데이터에 대하여 접근 권한을 가지지 않는다는 것을 의미한다.
일예로, 도 1에서, 네트워크(110-1)에 참여하는 복수의 노드들(120-1)이 네트워크(110-1)에 대응하여 복수의 노드들(120-1)의 스토리지에 할당된 저장 영역에 분산 저장된 데이터에 대하여 접근 권한을 가진다. 반면, 다른 네트워크(110-2 내지 110-n)에 참여하는 복수의 노드들(120-2 내지 120-n)은 네트워크(110-1)에 대응하여 복수의 노드들(120-1)의 스토리지에 할당된 저장 영역에 분산 저장된 데이터에 대하여 접근 권한을 가지지 않는다. 따라서, 컴퓨팅 장치(100)는 분산 저장된 데이터에 대하여 특정 노드들에 대해서만 접근 권한을 가지도록 하여, 분산 저장된 데이터에 대한 접근 권한을 제약할 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치(100)는, 데이터를 특정 단위에 따라 분할하여 노드들(120)의 스토리지에 할당된 저장 영역(130)에 저장할 수 있다. 컴퓨팅 장치(100)는 저장 요청된 데이터를 특정 단위, 예를 들어 청크 단위로 분할하여 노드들(120)의 스토리지에 할당된 저장 영역(130)에 분산하여 저장할 수 있다.
컴퓨팅 장치(100)는 복수의 노드들의 스토리지에 특정 단위로 분할되어, 할당된 저장 영역에 분산된 저장 영역에 분산 저장된 데이터를 찾기 위한 인덱스를 해시로 기록할 수 있다. 일예로, 컴퓨팅 장치(100)는 해시함수를 토대로 데이터의 해시를 생성하고, 데이터를 특정 단위로 분할하여 복수의 노드들의 저장 영역에 분산하여 저장할 수 있다. 컴퓨팅 장치(100)는 분산 저장된 데이터에 해당하는 해시값이 입력되면, 복수의 노드들의 저장 영역에 저장된 분할된 데이터를 통합하여 분산 저장된 데이터를 복원할 수 있다. 복원된 데이터의 진위 여부는 해시값을 데이터의 정보가 담긴 머클트리와 비교하여 판단할 수 있다.
일예로, 데이터가 저장 요청되면, 컴퓨팅 장치(100)는 데이터 특정 단위(예를 들어, 청크 단위)로 분할되도록 할 수 있다. 특정 단위로 분할된 데이터마다 해시값이 부여될 수 있고, 컴퓨팅 장치(100)는 특정 단위로 분할된 데이터를 복수의 노드들의 스토리지에 할당된 저장 영역에 분산하여 저장할 수 있다. 복수의 노드들의 스토리지에 분산 저장된 데이터는 데이터의 해시값과 데이터를 연결한 분산 해시 테이블(DHT, Distributed Hash Table)을 이용하여 복원될 수 있다.
일예로, 네트워크는 데이터를 분산하여 저장하고 공유할 수 있는 분산 파일 시스템(Distributed File System)으로, 노드들의 스토리지에 파일을 청크 단위로 분산 저장하는 IPFS(InterPlanetary File System) 네트워크일 수 있다.
도 2 내지 도 4는 일실시예에 따른 상위 네트워크 및 하위 네트워크로 구분되는 네트워크를 도시한 도면이다.
도 2는 일실시예에 따른 상위 네트워크(110-2)와 하위 네트워크(110-1)로 구분되는 네트워크를 도시한 도면이다. 상위 네트워크(110-2)와 하위 네트워크(110-1)는 네트워크의 포함 관계 또는 네트워크를 구성하는 노드들의 포함관계에 기초하여 구분될 수 있다. 도 2에서 상위 네트워크(110-2)는 하위 네트워크(110-1)에 포함될 수 있다. 네트워크에 참여하는 노드의 기준에서, 상위 네트워크(110-2)에 참여하는 노드들(120-2)은 상위 네트워크(110-2)와 하위 네트워크(110-1)에 중복하여 참여하는 것을 의미할 수 있다.
도 2를 참조하면, 일실시예에 따른 네트워크는 상위 네트워크(110-2) 및 하위 네트워크(110-1)로 구분되고, 상위 네트워크(110-2)에 참여하는 노드들(120-2)은 하위 네트워크(110-1)의 노드들(120-1)의 저장 영역에 분산 저장된 데이터에 접근 가능한 것일 수 있다. 도 2에서 상위 네트워크(110-2)에 참여하는 노드들(120-2)은, 하위 네트워크(110-1)에 참여하는 노드들(120-1)의 저장 영역에 분산 저장된 데이터에 접근 가능할 수 있다. 즉, 상위 네트워크(110-2)에 참여하는 노드들(120-2)은, 하위 네트워크(110-1)에 참여하는 노드들(120-1)의 스토리지에 하위 네트워크(110-1)에 대응하여 할당된 저장 영역에 분산 저장된 데이터에 접근 가능하다. 반면, 하위 네트워크(110-1)에 참여하는 노드들(120-1)은 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 상위 네트워크(110-2)에 대응하여 할당된 저장 영역에 분산 저장된 데이터에 접근할 수 없다.
상위 네트워크(110-2)에 참여하는 노드들(120-2)은 하위 네트워크(110-1)에 참여하는 노드들(120-1)의 저장 영역에 저장된 데이터에 접근할 수 있으나, 하위 네트워크(110-1)에 참여하는 노드들(120-1)은 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 상위 네트워크(110-2)에 대응하여 할당된 저장 영역에 분산 저장된 데이터에 접근할 수 없다. 따라서, 하위 네트워크(110-1)에 참여하는 노드들(120-1)에 대하여, 상위 네트워크(110-2)에 대응하여 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 할당된 저장 영역에 저장된 데이터에 대한 접근이 제한되므로, 데이터를 분산 저장하기 위한 네트워크에서 특정 노드들의 데이터 접근이 제약된다.
도 2를 참조하면, 일실시예에 따른 네트워크는, 상위 네트워크(110-2) 및 하위 네트워크(110-1)로 구분되고, 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는, 상위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 제1 저장 영역(130-1)과 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(130-2)이 할당되는 것일 수 있다.
상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는, 상위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 제1 저장 영역(130-1)이 할당될 수 있다. 제1 저장 영역(130-1)은 상위 네트워크(110-2)에 대응하여, 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 할당된 저장 영역에 해당할 수 있고, 제1 저장 영역(130-1)은 상위 네트워크(110-2)에 참여하는 노드들(120-2)이 접근 권한을 가진다.
또한, 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는, 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(130-2)이 할당될 수 있다. 제2 저장 영역(130-2)는 하위 네트워크(110-1)에 대응하여, 하위 네트워크(110-1) 및 상위 네트워크(110-2)에 참여하는 노드들(120-1, 120-2)의 스토리지에 할당된 저장 영역에 해당할 수 있고, 제2 저장 영역(130-2)는 하위 네트워크(110-1) 및 상위 네트워크(110-2)에 참여하는 노드들(120-1, 120-2)이 접근 권한을 가질 수 있다.
상기의 내용을 종합하면, 제1 저장 영역(130-1)은 상위 네트워크(110-2)에 대응하여, 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 할당된 저장 영역에 해당할 수 있고, 상위 네트워크(110-2)에 참여하는 노드들(120-2)은 제1 저장 영역(130-1)에 접근할 수 있다. 그러나, 제1 저장 영역(130-1)은 상위 네트워크(110-2)에 대응하여 할당된 저장 영역으로, 하위 네트워크(110-1)에 참여하는 노드들(120-1)은 제1 저장 영역(130-1)에 저장된 데이터에 접근할 수 없다.
반면, 제2 저장 영역은 하위 네트워크(110-1)에 대응하여, 하위 네트워크(110-1) 및 상위 네트워크(110-2)에 참여하는 노드들(120-1, 120-2)의 스토리지에 할당된 저장 영역에 해당할 수 있고, 하위 네트워크(110-1)에 참여하는 노드들(120-1) 뿐만 아니라, 상위 네트워크(110-2)에 참여하는 노드들(120-2) 또한 접근할 수 있다. 따라서, 상위 네트워크(110-2)에 참여하는 노드들(120-2)은 하위 네트워크(110-1)의 저장 영역에 분산 저장된 데이터에 접근할 수 있다.
일예로 컴퓨팅 장치(100)는, 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크가 하위 네트워크(110-1)인 경우, 상위 네트워크(110-2)에 속하는 노드들(210-2)과 하위 네트워크(110-1)에 속하는 노드들(120-1)의 스토리지에 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(130-2)이 할당될 수 있고, 데이터를 상위 네트워크(110-2) 및 하위 네트워크(110-1)의 노드들(120-1, 2)의 스토리지에 할당된 제2 저장 영역(130-2)에 저장할 수 있다.
일예로, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크가 상위 네트워크(110-2)인 경우, 상위 네트워크(110-2)에 속하는 노드들(210-2)에 속하는 노드들(120-2)의 스토리지에 상위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 제1 저장 영역(130-1)이 할당될 수 있고, 데이터를 상위 네트워크(110-2)의 노드들(120-2)의 스토리지에 할당된 제1 저장 영역(130-1)에 저장할 수 있다.
도 2를 참조하면, 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는, 상위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한, 즉 상위 네트워크(110-2)에 대응하여 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 할당되는 저장 영역인 제1 저장 영역(130-1)과, 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한, 즉 하위 네트워크(110-1)에 대응하여 하위 네트워크(110-1) 및 상위 네트워크(110-2)에 참여하는 노드들(120-1, 120-2)의 스토리지에 할당되는 저장 영역인 제2 저장 영역(130-2)가 할당될 수 있다.
도 2를 참조하면, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단한 결과, 데이터를 분산 저장하기 위한 네트워크가 하위 네트워크(110-1)에 해당하는 경우, 하위 네트워크(110-1)에 대응하여 하위 네트워크(110-1)에 참여하는 노드들(120-1)의 스토리지에 할당된 제2 저장 영역(130-2)과 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위하여 할당되는 제2 저장 영역(130-2)에 데이터를 분산 저장할 수 있다. 제2 저장 영역(130-2)은 하위 네트워크(110-1) 및 상위 네트워크(110-2) 모두 접근 가능한 저장 영역으로, 상위 네트워크(110-2) 및 하위 네트워크(110-1)에 참여하는 노드들(120-1, 120-2)이 제2 저장 영역(130-2)에 분산 저장된 데이터에 접근할 수 있다.
도 2를 참조하면, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단한 결과, 데이터를 분산 저장하기 위한 네트워크가 상위 네트워크(110-2)에 해당하는 경우, 상위 네트워크(110-2)에 대응하여 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지에 할당된 제1 저장 영역(130-1), 즉 상위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위하여 할당된 제1 저장 영역(130-1)에 데이터가 분산 저장될 수 있다. 제1 저장 영역(130-1)은 상위 네트워크(110-2)만 접근할 수 있는 저장 영역으로, 제1 저장 영역(130-1)에 저장된 데이터에는 상위 네트워크(110-2)에 참여하는 노드들(120-2)는 접근할 수 있으나, 하위 네트워크(110-1)에 참여하는 노드들(120-1)은 접근할 수 없다.
일실시예에 따르면, 네트워크(110)는 블록 체인 방식에 따라 복수의 노드들(120)이 연결된 것일 수 있다. 블록 체인 방식 내지 블록 체인 네트워크는, 데이터를 분산 저장하기 위한 데이터 분산 처리 기술에서, 데이터를 저장하는 블록이 체인 형태로 묶인 형태로 네트워크를 형성하는 것을 의미할 수 있다. 네트워크(110)가 블록 체인 방식에 따라 복수의 노드들(120)이 연결된다는 것은, 네트워크(110)는 블록 체인과 같이 체인 형태로 묶인 네트워크를 형성되되, 데이터를 저장하는 블록이 체인 형태의 네트워크를 형성하는 것이 아니라, 복수의 노드들(120)이 체인 형태의 네트워크를 형성하는 것을 의미할 수 있다. 따라서, 도 2 내지 도 4와 같이, 각각의 네트워크(110)에 속하는 복수의 노드들(120)이 체인 형태로 연결되어, 네트워크를 구성할 수 있다.
도 3은 일실시예에 따른 상위 네트워크(110-1)와 하위 네트워크(110-2)로 구분되는 네트워크를 도시한 도면이다. 상위 네트워크(110-1) 및 하위 네트워크(110-2)를 구분하기 위한 네트워크의 포함 관계는 다양하게 적용될 수 있고, 일예도 도 3은 상위 네트워크가 하위 네트워크에 포함되는 도 2와 달리, 하위 네트워크(110-2)가 상위 네트워크(110-1)에 포함되는 관계의 네트워크를 나타낸다.
도 3에 도시된 하위 네트워크(110-2) 및 상위 네트워크(110-1)은, 하위 네트워크(110-2) 및 상위 네트워크(110-1)의 포함 관계 이외의 설명에 대해서는 도 2에 관하여 설명한 상위 네트워크와 하위 네트워크에 관한 설명이 동일하게 적용될 수 있다.
도 3에서, 상위 네트워크(110-1)에 참여하는 노드들(120-1)은 하위 네트워크(110-2)의 노드들(120-2)의 저장 영역에 분산 저장된 데이터에 접근 가능하다. 또한, 상위 네트워크(110-1)에 참여하는 노드들(120-1)의 스토리지는, 상위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 제1 저장 영역(130-1)과 하위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(130-2)이 할당될 수 있다.
반면, 하위 네트워크(110-2)에 참여하는 노드들(120-2)은 상위 네트워크(110-1)의 노드들(120-1)의 저장 영역에 분산 저장된 데이터에 접근할 수 없다. 또한, 하위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는, 하위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(130-2)이 할당될 수 있다.
도 4는 일실시예에 따른 상위 네트워크와 중복되는 하위 네트워크로 구분되는 네트워크를 도시한 도면이다.
도 4에서 도시된 네트워크는, 네트워크의 관계에 따라 하위 네트워크(110-3)는 왼쪽에 도시된 상위 네트워크(110-1)와 오른쪽에 도시된 상위 네트워크(110-2) 각각의 하위 네트워크(110-3)에 중복하여 해당할 수 있다. 일실시예에 따른 네트워크는 복수의 상위 네트워크(110-1, 2) 및 공통 하위 네트워크(110-3)로 구분되고, 복수의 상위 네트워크(110-1, 2)에 참여하는 노드들은 공통 하위 네트워크(110-3)의 노드들의 저장 영역에 분산 저장된 데이터에 접근할 수 있다. 하위 네트워크(110-3)가 복수의 상위 네트워크(110-1, 110-2) 공통의 하위 네트워크에 해당하는 경우, 상위 네트워크(110-1, 110-2) 각각은 하위 네트워크(110-3)의 노드들(120-3)의 저장 영역에 분산 저장된 데이터에 접근 가능하다.
일실시예에 따른 네트워크(110)는 네트워크의 관계에 따라 복수의 상위 네트워크(110-1, 2) 및 공통 하위 네트워크(110-3)로 구분되고, 각각의 복수의 상위 네트워크(110-1, 2)에 참여하는 노드들의 스토리지는, 각각의 복수의 상위 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역과, 공통 하위 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있다.
상기의 복수의 상위 네트워크(110-1, 110-2) 및 공통 하위 네트워크(110-3)로 구분되는 네트워크에서, 복수의 상위 네트워크(110-1, 110-2) 각각은 공통 하위 네트워크(110-3)의 저장 영역에 접근 가능하나, 복수의 상위 네트워크(110-1, 110-2) 각각은 다른 상위 네트워크에서 관리하는 데이터를 저장하는 저장 영역에 대해서는 접근할 수 없다. 예를 들어, 도 4에서 상위 네트워크(110-1)는 공통 하위 네트워크(110-3)의 저장 영역에 접근 가능하나, 다른 상위 네트워크(110-2)의 상위 네트워크(110-2)에 대응하는 데이터를 저장하기 위하여 할당된 저장 영역에는 접근할 수 없다.
일예로, 상위 네트워크(110-1)에 참여하는 노드들(120-1)의 스토리지는 상위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 저장 영역 및 공통 하위 네트워크(110-3)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있고, 다른 상위 네트워크(110-2)에 참여하는 노드들(120-2)의 스토리지는 상위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 저장 영역 및 공통 하위 네트워크(110-3)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있고, 공통 하위 네트워크(110-3)에 참여하는 노드들(120-3)의 스토리지는 공통 하위 네트워크(110-3)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있다.
일예로, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 네트워크가 복수의 상위 네트워크(110-1, 2)의 공통의 하위 네트워크(110-3)인 경우, 복수의 노드들 각각의 스토리지에 하위 네트워크(110-3)에 대응하는 저장 영역을 할당하고, 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산 저장할 수 있다.
도 4를 참조하면, 상위 네트워크와 하위 네트워크의 관계에 따라, 하위 네트워크(110-1, 110-2)의 공통 상위 네트워크(110-3)로 네트워크가 구분될 수 있다. 공통 상위 네트워크(110-3)의 노드들(120-3)은 하위 네트워크(110-1, 110-2)의 노드들의 저장 영역에 접근 가능하고, 반대로 하위 네트워크(110-1, 110-2)에 참여하는 노드들(120-1, 120-2)은 공통 상위 네트워크(110-3)의 노드들(120-3)의 저장 영역에 접근할 수 없다.
일예로, 공통 상위 네트워크(110-3)에 참여하는 노드들(120-3)의 스토리지는, 공통 상위 네트워크(110-3)에서 관리하는 데이터를 저장하기 위한 저장 영역 및 하위 네트워크(110-1)에서 관리하는 데이터를 저장하기 위한 저장 영역 및 하위 네트워크(110-2)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있고, 하위 네트워크(110-1, 110-2) 각각은, 각각의 하위 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당될 수 있다.
도 5는 일실시예에 따른 서로 독립적인 복수의 세부 네트워크로 구분되는 네트워크를 도시한 도면이다.
도 5를 참조하면, 일실시예에 따른 네트워크가 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 할당되지 않을 수 있다. 즉, 서로 독립적인 복수의 세부 네트워크 각각에 참여하는 노드들은, 노드가 참여하는 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되나, 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되지 않으므로, 노드가 참여하는 세부 네트워크에서 관리하는 저장 영역에 대해서는 접근할 수 있으나, 다른 세부 네트워크에서 관리하는 저장 영역에 접근할 수 없다.
도 5에서, 세부 네트워크(110-4)에 참여하는 노드들(120-4)의 스토리지에는 세부 네트워크(110-4)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 다른 세부 네트워크(110-5)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되지 않는다. 마찬가지로, 세부 네트워크(110-5)에 참여하는 노드들(120-5)의 스토리지에는 세부 네트워크(110-5)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 다른 세부 네트워크(110-4)에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되지 않는다. 결과적으로, 세부 네트워크(110-4)에 참여하는 노드들(120-4)은 다른 세부 네트워크(110-5)에서 관리하는 데이터를 저장하는 저장 영역에 접근할 수 없고, 다른 세부 네트워크(110-5)에 참여하는 노드들(120-5)은 세부 네트워크(110-4)에서 관리하는 데이터를 저장하는 저장 영역에 접근할 수 없다.
도 6은 일실시예에 따른 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치(200)의 동작을 도시한 도면이다. 도 1 내지 도 5에서 설명한 컴퓨팅 장치(100)는 네트워크 측면에서 데이터 분산 저장 방법을 수행하는 장치에 관한 것이고, 도 6 및 이하의 도 7에서 설명하는 컴퓨팅 장치(200)는 노드 측면에서 데이터 분산 저장 방법을 수행하는 장치에 관한 것이다.
이하의 도 6 내지 도 7에서 설명하는 컴퓨팅 장치(200)의 네트워크 및 노드 등에 관한 설명은 도 1 내지 도 5의 컴퓨팅 장치(100)의 네트워크 및 노드 등에 관한 설명이 동일하게 적용될 수 있다. 따라서, 이하 도 6 내지 도 7의 컴퓨팅 장치(200)에 관한 설명에서 생략된 것이라고 하더라도, 도 1 내지 도 5의 컴퓨팅 장치(100)에서 설명한 내용은 도 6 내지 도 7의 컴퓨팅 장치(200)에 관한 설명에도 동일하게 적용될 수 있다.
도 6을 참조하면, 일실시예에 따른 컴퓨팅 장치(200)는 프로세서를 포함하고, 프로세서는, 노드가 참여하는 네트워크(210)에서 관리하는 데이터의 저장 요청을 수신하고, 요청에 따라 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역(230)에 저장하고, 저장 영역(230)은, 노드가 참여하는 네트워크(210)에 따라 다르게 할당되는 것일 수 있다. 즉, 컴퓨팅 장치(200)는 데이터의 저장 요청을 수신하여, 데이터 저장 요청에 따라 네트워크에 대응하는 저장 영역에 데이터를 저장할 수 있다.
도 6에서, 저장 영역(230)은 노드가 참여하는 네트워크에 따라 다르게 할당되는 것일 수 있다. 일예로, 도 6에 도시된 제1 저장 영역(230-1) 내지 제n 저장 영역(230-n)은 노드가 참여하는 네트워크(210-1 내지 210-n)에 따라 할당된 것이다. 달리 말해, 노드의 스토리지의 저장 영역(230)은, 네트워크(210-1 내지 210-n)에 대응하는 제1 저장 영역(230-1) 내지 제n 저장 영역(230-n)이 할당된 것으로, 노드는 네트워크(210-1 내지 210-n)에 참여하는 것을 의미할 수 있고, 컴퓨팅 장치(200)는 네트워크(210-1 내지 210-n)로부터 데이터의 저장 요청을 수신할 수 있다.
컴퓨팅 장치(200)는 노드가 참여하는 네트워크에서 관리하는 데이터의 저장 요청을 수신하고, 요청에 따라 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역에 저장할 수 있다. 일예로, 도 6에서 네트워크들(210-1 내지 210-n)에 제1 저장 영역(210-1) 내지 제n 저장 영역(210-n)이 각각 대응한다. 컴퓨팅 장치(200)는 네트워크(210-1)로부터 데이터 저장 요청을 수신하고, 네트워크(210-1)에 대응하는 저장 영역인 제1 저장 영역(230-1)에 데이터를 저장할 수 있다. 컴퓨팅 장치(200)가 네트워크(210-2)로부터 데이터 저장 요청을 수신하는 경우, 네트워크(210-2)에 대응하는 저장 영역인 제2 저장 영역(230-2)에 데이터를 저장할 수 있다. 즉, 컴퓨팅 장치(200)는 노드가 참여하는 네트워크(230)로부터 데이터 저장 요청을 수신하고, 데이터 저장을 요청한 네트워크에 대응하는 스토리지의 저장 영역에 데이터를 저장할 수 있다.
도 6을 참조하면, 일실시예에 따른 노드는, 노드가 참여하는 네트워크에 대응하는 저장 영역에 접근 권한을 가질 수 있다.
도 7은 일실시예에 따른 노드가 참여하는 네트워크에 따른 저장 영역(230) 및 데이터 분산 저장 과정을 도시한 도면이다. 일예로, 도 7에서 네트워크(210-1)은 하위 네트워크, 네트워크(210-2)는 상위 네트워크, 제1 저장 영역(230-1)은 상위 네트워크(210-2)에서 관리하는 데이터를 저장하기 위하여 노드의 스토리지에 할당된 저장 영역, 제2 저장 영역(230-2)은 하위 네트워크(210-1)에서 관리하는 데이터를 저장하기 위하여 노드의 스토리지에 할당된 저장 영역을 의미할 수 있다.
도 7을 참조하면, 일실시예에 따른 네트워크는, 상위 네트워크(210-2) 및 하위 네트워크(210-1)로 구분되고, 상위 네트워크(210-2)에 참여하는 노드들은 하위 네트워크(210-1)의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능한 것일 수 있다. 도 7의 (a) 및 (b)는 노드가 상위 네트워크에 참여하는 경우를 나타낸 것으로, (a)와 같이 노드가 상위 네트워크(210-2)에 참여하는 경우, 컴퓨팅 장치(200)는 하위 네트워크(210-1)로부터 데이터의 저장 요청을 수신하여, 요청에 따라 데이터를 노드의 스토리지 내부의 하위 네트워크에 대응하는 저장 영역인 제2 저장 영역(230-2)에 데이터를 저장할 수 있다. 또한, (b)와 같이 노드가 상위 네트워크(210-2)에 참여하는 경우, 컴퓨팅 장치(200)는 상위 네트워크(210-2)로부터 데이터의 저장 요청을 수신하여, 요청에 따라 데이터를 노드의 스토리지 내부의 상위 네트워크(210-2)에 대응하는 저장 영역인 제1 저장 영역(230-1)에 데이터를 저장할 수 있다.
위의 내용을 종합하면, 상위 네트워크(210-2)에 참여하는 노드의 경우, 상위 네트워크(210-2)로부터 데이터의 저장 요청을 수신하는 경우, 컴퓨팅 장치(200)는 상위 네트워크(210-2)에 대응하는 저장 영역인 제1 저장 영역(230-1)에 데이터를 저장하고, 하위 네트워크(210-1)로부터 데이터의 저장 요청을 수신하는 경우, 컴퓨팅 장치(200)는 하위 네트워크에 대응하는 제2 저장 영역(230-2)에 데이터를 저장할 수 있다. 따라서, 상위 네트워크(210-2)에 참여하는 노드들은 하위 네트워크(210-1)의 노드들의 저장 영역에 분산 저장된 데이터에 접근할 수 있다.
도 7을 참조하면, 네트워크는, 상위 네트워크(210-2) 및 하위 네트워크(210-1)로 구분되고, 상위 네트워크(210-2)에 참여하는 노드들의 스토리지는 상위 네트워크(210-2)에서 관리하는 데이터를 저장하기 위한 제1 저장 영역(230-1)과 하위 네트워크(210-1)에서 관리하는 데이터를 저장하기 위한 제2 저장 영역(230-2)이 할당되는 것일 수 있다. 달리 말해, 상위 네트워크(210-2)에 참여하는 노드의 스토리지는, 하위 네트워크(210-1) 및 상위 네트워크(210-2)로부터 수신한 데이터의 저장 요청에 따라 데이터를 상위 네트워크(210-2)에서 관리하는 데이터를 저장하는 공간인 제1 저장 영역(230-1)과 하위 네트워크(210-1)에서 관리하는 데이터를 저장하는 공간인 제2 저장 영역(230-2)이 할당될 수 있다. 컴퓨팅 장치(200)는 상위 네트워크(210-2) 및 하위 네트워크(210-1)로부터 데이터의 저장 요청을 수신하여, 각각의 네트워크에 대응하는 저장 영역에 데이터를 저장할 수 있다.
도 7의 (c)는 하위 네트워크(210-1)에 참여하는 노드의 경우를 나타낸 것으로, 도 7의 (a) 및 (b)와 달리, 하위 네트워크(210-1)에 참여하는 노드의 스토리지는 하위 네트워크(210-1)에서 관리하는 데이터를 저장하기 위한 저장 영역인 제2 저장 영역(230-2)만 할당되어 있다. 따라서, 컴퓨팅 장치(200)는 하위 네트워크(230-1)로부터 데이터의 저장 요청을 수신하는 경우 하위 네트워크(210-1)에 대응하는, 달리 말해 하위 네트워크(210-1)에서 관리하는 데이터를 저장하기 위한 저장 영역인 제2 저장 영역(230-2)에 데이터를 저장할 수 있으나, 상위 네트워크(210-2)로부터 데이터의 저장 요청을 수신하지 않고, 상위 네트워크(210-2)로부터 저장 요청된 데이터를 저장할 공간이 할당되어 있지 않다.
즉, 도 7을 참조하면, 상위 네트워크(210-2)에 참여하는 노드에서 컴퓨팅 장치(200)는 하위 네트워크(210-1) 및 상위 네트워크(210-2)로부터 데이터의 저장 요청을 수신하여, 각각의 네트워크에 대응하는 저장 영역인 제2 저장 영역(230-2) 및 제1 저장 영역(230-1)에 데이터를 저장하여, 상위 네트워크(210-2)에 참여하는 노드의 경우, 하위 네트워크(210-1)의 노드들의 저장 영역에 분산 저장된 데이터에 접근할 수 있는 것에 반하여, 하위 네트워크(210-1)에 참여하는 노드에서 컴퓨팅 장치(200)는 하위 네트워크(210-1)로부터 수신한 데이터의 저장 요청에 따라 노드의 스토리지에 할당된 저장 영역인 제2 저장 영역(230-2)에 데이터를 저장할 수 있기 때문에, 상위 네트워크(210-2)의 노드들의 저장 영역에 분산 저장된 데이터에 접근할 수 없다.
일실시예에 따른 네트워크가 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 스토리지에 할당되지 않는 것일 수 있다.
도 5에서 설명한 바와 같이, 네트워크(210)가 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 노드의 스토리지는 노드가 참여하는 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 컴퓨팅 장치(200)는 노드가 참여하는 세부 네트워크로부터 데이터의 저장 요청을 수신하여, 요청에 따라 데이터를 스토리지 내부의 세부 네트워크에 대응하는 저장 영역에 저장할 수 있다. 컴퓨팅 장치(200)는 노드가 참여하지 않는 세부 네트워크로부터 데이터의 저장 요청을 수신하지 않고, 노드가 참여하지 않는 세부 네트워크로부터 데이터의 저장 요청을 수신하더라도, 노드가 참여하지 않는 세부 네트워크에 대응하는 저장 영역이 노드의 스토리지 내부에 할당되어 있지 않으므로, 데이터를 저장할 수 없다.
즉, 서로 독립적인 복수의 세부 네트워크로 구분되는 경우, 컴퓨팅 장치(200)는 노드가 속한 세부 네트워크로부터 데이터의 저장 요청을 수신하여, 노드의 스토리지 내부에 노드가 속한 세부 네트워크에 대응하여 할당된 저장 영역에 데이터를 저장할 수 있고, 노드가 속하지 않은 세부 네트워크로부터 데이터의 저장 요청을 수신하여 데이터를 저장할 수 없다. 또한, 각각의 노드는 노드가 속한 세부 네트워크에 대응하여 세부 네트워크에 참여하는 노드들의 스토리지에 할당된 저장 영역에 대해서만 접근 권한을 가지고, 노드가 속하지 않는 다른 세부 네트워크에 대응하여 다른 세부 네트워크의 스토리지에 할당된 저장 영역에 접근 권한을 가지지 않는다.
이하의 도 8 내지 도 9에서 설명하는 데이터 분산 저장 방법은 도 1 내지 도 7에서 설명한 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치(100, 200)에 의하여 수행될 수 있다. 따라서, 이하의 데이터 분산 저장 방법에 대하여 생략된 내용이라 하더라도, 도 1 내지 도 7의 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치(100, 200)에 대하여 설명된 내용은, 데이터 분산 저장 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 8은 일실시예에 따른 데이터 저장 방법의 흐름도이다.
도 8을 참조하면, 일실시예에 따른 데이터 분산 저장 방법은 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하는 단계 -네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 복수의 노드들 각각의 스토리지에 네트워크에 대응하는 저장 영역을 할당하는 단계, 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는 단계 -네트워크에 참여하는 복수의 노드들은, 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-를 포함할 수 있다.
도 8을 참조하면, 단계 S110에서, 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단할 수 있다. 컴퓨팅 장치(100)는 데이터를 분산 저장하기 위한 네트워크를 판단하기 위하여, 데이터 저장을 요청한 노드가 참여하는 네트워크를 식별하거나, 데이터 저장 요청에 포함된 데이터를 저장하도록 지정된 네트워크 등을 식별할 수 있다.
네트워크는 블록 체인 방식에 따라 복수의 노드들이 연결된 것일 수 있다.
다음으로 단계 S120에서, 컴퓨팅 장치(100)는 복수의 노드들 각각의 스토리지에 네트워크에 대응하는 저장 영역을 할당할 수 있다. 컴퓨팅 장치(100)는 복수의 노드들 각각이 참여하는 네트워크에 따라 저장 영역을 달리하여 할당할 수 있다.
다음으로 단계 S130에서, 컴퓨팅 장치(100)는 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장할 수 있다. 컴퓨팅 장치(100)는 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장함으로써, 네트워크에 참여하는 복수의 노드들은 네트워크에 대응하여 할당된 저장 영역에 저장된 데이터에 대해 접근 권한을 가지나, 네트워크에 참여하지 않는 노드들은, 네트워크에 대응하여 할당된 저장 영역에 저장된 데이터에 대한 접근 권한을 가지지 않는다. 따라서, 데이터 분산 저장 방법에 따라 저장된 데이터는 접근 권한이 제한, 제약된 것으로, 데이터의 보안을 유지할 수 있다.
도 9는 일 실시예에 따른 데이터 분산 저장 방법의 흐름도이다.
도 9를 참조하면, 일실시예에 따른 데이터 분산 저장 방법은 노드가 참여하는 네트워크에서 관리하는 데이터의 저장 요청을 수신하는 단계, 요청에 따라 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역에 저장하는 단계를 포함하고, 저장 영역은, 노드가 참여하는 네트워크에 따라 다르게 할당되는 것일 수 있다.
도 9를 참조하면, 단계 S210에서, 컴퓨팅 장치(200)는 노드가 참여하는 네트워크에서 관리하는 데이터의 저장 요청을 수신하고, 다음으로 단계 S220에서 컴퓨팅 장치(200)는 요청에 따라 데이터를 스토리지 내부의 네트워크에 대응하는 저장 영역에 저장할 수 있다. 저장 영역은 노드가 참여하는 네트워크에 따라 다르게 할당되는 것으로, 노드는 네트워크에 참여하는 복수의 노드의 스토리지에 노드가 참여하는 네트워크에서 관리하는 데이터를 저장하기 위하여 할당되는 저장 영역에 접근 권한을 가질 수 있다. 즉, 데이터 분산 저장 방법에 의하여 네트워크에 대응하는 저장 영역에 분산 저장된 데이터에 대하여, 네트워크에 참여하는 노드는 접근 권한을 가지나, 네트워크에 참여하지 않는 노드들은 접근 권한을 가지지 않는다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100, 200: 컴퓨팅 장치
110, 210: 네트워크
120: 복수의 노드
130, 230: 저장 영역
130-1, 230-1: 제1 저장 영역
130-2, 230-2: 제2 저장 영역

Claims (16)

  1. 프로세서를 포함하는 컴퓨팅 장치가 수행하는 데이터 분산 저장 방법에 있어서,
    데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하는 단계 -상기 네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-;
    상기 복수의 노드들 각각의 스토리지에 상기 네트워크에 대응하는 저장 영역을 할당하는 단계;
    상기 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하는 단계 -상기 네트워크에 참여하는 복수의 노드들은, 상기 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-
    를 포함하고,
    상기 네트워크가 서로 독립적인 복수의 세부 네트워크들로 구분되는 경우, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는,
    상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 할당되지 않는, 데이터 분산 저장 방법.
  2. 제1항에 있어서,
    상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고,
    상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능한 데이터 분산 저장 방법.
  3. 제1항에 있어서,
    상기 네트워크는, 상위 네트워크 및 하위 네트워크로 구분되고,
    상기 상위 네트워크에 참여하는 노드들의 스토리지는, 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되는, 데이터 분산 저장 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 데이터를 분산하여 저장하는 단계는,
    상기 데이터를 특정 단위에 따라 분할하여 상기 노드들의 스토리지에 할당된 저장 영역에 저장하는, 데이터 분산 저장 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 데이터 분산 저장 방법을 수행하는 컴퓨팅 장치에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    데이터를 분산 저장하기 위한 복수의 노드들로 구성된 네트워크를 판단하고-상기 네트워크는, 블록 체인 방식에 따라 복수의 노드들이 연결됨-, 상기 복수의 노드들 각각의 스토리지에 상기 네트워크에 대응하는 저장 영역을 할당하고, 상기 노드들 각각의 스토리지에 할당된 저장 영역에 데이터를 분산하여 저장하며-상기 네트워크에 참여하는 복수의 노드들은, 상기 저장 영역에 저장된 데이터에 대해 접근 권한을 가짐-,
    상기 네트워크가 서로 독립적인 복수의 세부 네트워크들로 구분되는 경우, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에 참여하는 노드들의 스토리지는,
    상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역이 할당되고, 상기 복수의 세부 네트워크들 중 어느 하나의 세부 네트워크와 다른 세부 네트워크에서 관리하는 데이터를 저장하기 위한 저장 영역은 할당되지 않는 컴퓨팅 장치.
  12. 제11항에 있어서,
    상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고,
    상기 프로세서는,
    상기 상위 네트워크에 참여하는 노드들은 상기 하위 네트워크의 노드들의 저장 영역에 분산 저장된 데이터에 접근 가능하도록 하는, 컴퓨팅 장치.
  13. 제11항에 있어서,
    상기 네트워크는 상위 네트워크 및 하위 네트워크로 구분되고,
    상기 프로세서는,
    상기 상위 네트워크에 참여하는 노드들의 스토리지는, 상기 상위 네트워크에서 관리하는 데이터를 저장하기 위한 제1 저장 영역과 상기 하위 네트워크에서 관리하는 데이터를 저장하기 위한 제2 저장 영역이 할당되도록 하는, 컴퓨팅 장치.
  14. 삭제
  15. 삭제
  16. 삭제
KR1020210056575A 2021-04-30 2021-04-30 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 KR102645033B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210056575A KR102645033B1 (ko) 2021-04-30 2021-04-30 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210056575A KR102645033B1 (ko) 2021-04-30 2021-04-30 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20220149231A KR20220149231A (ko) 2022-11-08
KR102645033B1 true KR102645033B1 (ko) 2024-03-07

Family

ID=84041443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210056575A KR102645033B1 (ko) 2021-04-30 2021-04-30 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102645033B1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323591A (ja) 2006-06-05 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> データ転送制御装置、及びデータ転送制御プログラム
WO2008114441A1 (ja) 2007-03-20 2008-09-25 Fujitsu Limited ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP2008305201A (ja) 2007-06-07 2008-12-18 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム
JP2011215794A (ja) 2010-03-31 2011-10-27 Fujitsu Ltd 分散ストレージシステム及びプログラム
WO2016052665A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
JP2018166000A (ja) * 2016-03-31 2018-10-25 株式会社bitFlyer 階層型ネットワークシステム、これに用いられるノード及びプログラム
JP2018181325A (ja) 2017-04-03 2018-11-15 ダトリウム インコーポレイテッド 分散ストレージネットワークにおけるデータ経路モニタリング
WO2019218055A1 (en) * 2018-05-15 2019-11-21 Kelvin Zero Inc. Systems, methods, and devices for secure blockchain transaction and subnetworks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323591A (ja) 2006-06-05 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> データ転送制御装置、及びデータ転送制御プログラム
WO2008114441A1 (ja) 2007-03-20 2008-09-25 Fujitsu Limited ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
JP2008305201A (ja) 2007-06-07 2008-12-18 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム
JP2011215794A (ja) 2010-03-31 2011-10-27 Fujitsu Ltd 分散ストレージシステム及びプログラム
WO2016052665A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
JP2018166000A (ja) * 2016-03-31 2018-10-25 株式会社bitFlyer 階層型ネットワークシステム、これに用いられるノード及びプログラム
JP2018181325A (ja) 2017-04-03 2018-11-15 ダトリウム インコーポレイテッド 分散ストレージネットワークにおけるデータ経路モニタリング
WO2019218055A1 (en) * 2018-05-15 2019-11-21 Kelvin Zero Inc. Systems, methods, and devices for secure blockchain transaction and subnetworks

Also Published As

Publication number Publication date
KR20220149231A (ko) 2022-11-08

Similar Documents

Publication Publication Date Title
US10901796B2 (en) Hash-based partitioning system
US9052962B2 (en) Distributed storage of data in a cloud storage system
US9442671B1 (en) Distributed consumer cloud storage system
US20120166394A1 (en) Distributed storage system and method for storing objects based on locations
US20150222695A1 (en) Distributed processing system and method of operating the same
US20130218934A1 (en) Method for directory entries split and merge in distributed file system
Hasenburg et al. Towards a replication service for data-intensive fog applications
KR20120120702A (ko) 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
CN113190529A (zh) 一种适用MongoDB数据库的多租户数据共享存储系统
CN106326239A (zh) 分布式文件系统及其文件元信息管理方法
US20200052885A1 (en) File storage method and apparatus for blockchain network
KR20170084400A (ko) 분산 인-메모리 환경에서 데이터 복제 및 이주를 이용한 부하 분산 시스템
CN110569302A (zh) 一种基于lucene的分布式集群的物理隔离的方法及装置
US20150220559A1 (en) Scalable File System
US10375164B1 (en) Parallel storage system with burst buffer appliance for storage of partitioned key-value store across a plurality of storage tiers
KR102645033B1 (ko) 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치
US9172754B2 (en) Storage fabric address based data block retrieval
Shabeera et al. Bandwidth-aware data placement scheme for Hadoop
Choi et al. Improved performance optimization for massive small files in cloud computing environment
CN107547657A (zh) 一种基于云存储系统中单点数据编号的方法、装置以及存储介质
CN105224677B (zh) 一种数据库操作方法及装置
US20130144838A1 (en) Transferring files
KR102154640B1 (ko) 데이터 관리 장치, 데이터 관리 방법 및 이를 이용한 프로그램을 저장하는 저장매체
CN111857548B (zh) 数据读取方法、装置及系统
AT&T Cloud Storage GEI-rc-fd2-rc3

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant