KR20210126453A - Block-chain based distributed data storage apparatus and method for storing large data - Google Patents

Block-chain based distributed data storage apparatus and method for storing large data Download PDF

Info

Publication number
KR20210126453A
KR20210126453A KR1020200044364A KR20200044364A KR20210126453A KR 20210126453 A KR20210126453 A KR 20210126453A KR 1020200044364 A KR1020200044364 A KR 1020200044364A KR 20200044364 A KR20200044364 A KR 20200044364A KR 20210126453 A KR20210126453 A KR 20210126453A
Authority
KR
South Korea
Prior art keywords
data
storage
module
node
distributed
Prior art date
Application number
KR1020200044364A
Other languages
Korean (ko)
Other versions
KR102412830B1 (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 주식회사 퓨처글로벌
Priority to KR1020200044364A priority Critical patent/KR102412830B1/en
Publication of KR20210126453A publication Critical patent/KR20210126453A/en
Application granted granted Critical
Publication of KR102412830B1 publication Critical patent/KR102412830B1/en

Links

Images

Classifications

    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a blockchain-based distributed data storage device and method, wherein the blockchain-based distributed data storage device for a large-capacity data storage of the present invention comprises: a distributed module comprising two or more node storages connected to each other by a network comprising the Internet and Ethernet and provided with a local storage, which is a storage space for storing data to be stored in a distributed data storage device; a data input/output module that inputs and stores the data to the node storage in the distributed module or reads and outputs the data from the node storage for which the data is stored; and an encryption/decryption module that encrypts or decrypts the data when the data is inputted or outputted to the node storage in the distributed module. Therefore, the present invention is capable of maintaining the stability and security of a blockchain technology as it is.

Description

대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치 및 방법{Block-chain based distributed data storage apparatus and method for storing large data}Block-chain based distributed data storage apparatus and method for storing large data

본 발명은 블록체인에 기반하여 대용량의 데이터를 저장할 수 있는 분산 방식의 데이터 저장 장치 및 방법에 대한 것이다. 보다 상세하게는 분산 데이터베이스의 하나인 블록체인 기술을 기초로 대용량 데이터를 저장할 수 있는 데이터 저장장치에 대한 것인데, 블록체인 기술은 동일한 데이터를 사용자 모두의 컴퓨터에 데이터를 분산 저장하는 기술로서 데이터의 위변조가 불가능하고 일부 저장장치에서 누락 또는 오류가 발생하더라도 분산 저장된 다른 노드의 데이터로 정상적인 데이터로 수정이 가능하여 안정성이 뛰어난 분산 데이터베이스 기술이다. 다만, 블록체인 기술은 동일한 데이터가 여러 저장장치로 분산 저장됨에 따라 대용량의 데이터를 저장하는 것이 비효율적인 단점이 있는데 본 발명은 블록체인 기술의 보안성과 안정성을 그대로 유지하면서도 효율적으로 대용량의 데이터를 저장할 수 있는 블록체인 기반 분산 데이터 저장 장치 및 방법에 대한 것이다. The present invention relates to a distributed data storage device and method capable of storing a large amount of data based on a block chain. More specifically, it is about a data storage device that can store large amounts of data based on blockchain technology, which is one of the distributed databases. It is a distributed database technology with excellent stability because it is impossible to do so, and even if omissions or errors occur in some storage devices, data from other nodes that are distributed and stored can be modified into normal data. However, the block chain technology has a disadvantage in that it is inefficient to store a large amount of data as the same data is distributed and stored in multiple storage devices. It is about a blockchain-based distributed data storage device and method that can be

최근 통신과 관련된 인프라가 비약적으로 확대되면서 그에 따라 인터넷도 대중화를 넘어 초고속 인터넷 환경으로 발전하고 있다. 또한, 인터넷 속도의 증가와 더불어 전송되는 데이터의 크기도 점차 커지고 있다. 이렇게 인터넷 속도의 증가와 인터넷 환경의 보급화에 따라 데이터를 PC 등 특정 저장장치에 저장하는 것이 아니라 인터넷 등 네트워크로 연결된 클라우드 스토리지를 구성하고 인터넷을 통해 마치 PC에 저장하듯이 사용하는 방식이 점차 보편화되고 있는 추세이다.In recent years, as infrastructure related to communication has rapidly expanded, the Internet is also developing into a high-speed Internet environment beyond popularization. In addition, with the increase in Internet speed, the size of transmitted data is also gradually increasing. As the Internet speed increases and the Internet environment spreads, it is becoming more and more common to configure cloud storage connected to a network such as the Internet and use it as if it were stored on a PC through the Internet, rather than storing data in a specific storage device such as a PC. there is a trend

클라우드 스토리지에 데이터를 저장하는 것은 특정 공간에 저장장치를 마련하는 것이 아니라 인터넷 접속이 가능하다면 어느 곳에서나 데이터를 입출력 할 수 있으므로 종래에 있었던 공간적인 제약을 극복할 수 있고 언제 어디서나 데이터를 입출력 할 수 있어 사용이 매우 편리한 이점이 있다.Storing data in cloud storage does not require a storage device in a specific space, but data can be input/output from anywhere if internet access is available. It has the advantage of being very convenient to use.

하지만, 이러한 인터넷을 이용한 클라우드 저장방식은 네트워크로 연결된 대용량의 서버를 마련하고 데이터를 저장하는 방식인데 만약 대용량의 서버가 고장이 난다던지 오류를 일으키는 경우 데이터가 손실되는 위험성이 있다. 또한, 저장되는 데이터를 암호화하더라도 공중에 개방된 인터넷을 이용하는 방식이므로 데이터의 입출력 중 해킹 등에 의해 데이터가 유출되는 등 보안성이 취약한 문제점이 있다.However, in the cloud storage method using the Internet, a large-capacity server connected to a network is provided and data is stored. However, if the large-capacity server breaks down or causes an error, there is a risk of data loss. In addition, even if the stored data is encrypted, since it is a method that uses the Internet open to the public, there is a problem in security such as data leakage due to hacking during input/output of data.

이러한 문제점을 해결하는 하나의 방법으로 최근 블록체인 기술에 대한 연구가 본격적으로 이루어지고 있다. 블록체인 기술은 분산 데이터베이스의 하나로서 P2P(Peer to Peer) 네트워크를 기초로 하는 기술이다. 블록체인 기술은 저장하고자 하는 데이터를 네트워크로 연결된 모든 노드(사용자)에게 물리적으로 분산시켜 저장하는 기술이다. 이렇게 동일한 데이터를 모든 노드에 저장함으로써 하나의 노드에 저장된 데이터가 손실되더라도 다른 노드의 데이터를 복제함으로써 데이터 저장의 안정성이 뛰어난 장점이 있다. 또한, 하나의 노드에 저장된 데이터를 위변조하더라도 다른 노드에 저장된 데이터와 비교하여 정상 데이터로 수정이 가능하므로 데이터의 위변조가 원천적으로 불가능한 장점이 있다.As a way to solve these problems, research on blockchain technology is being conducted in earnest recently. Blockchain technology is a technology based on a peer-to-peer (P2P) network as one of the distributed databases. Blockchain technology is a technology that physically distributes and stores data to be stored to all nodes (users) connected through a network. By storing the same data in all nodes in this way, even if the data stored in one node is lost, it duplicates the data of another node, which has the advantage of excellent data storage stability. In addition, even if data stored in one node is forged or forged, it can be modified into normal data compared to data stored in other nodes, so there is an advantage in that forgery of data is fundamentally impossible.

하지만, 블록체인 기술은 동일한 데이터를 모든 노드에 분산 저장함에 따라 대용량의 데이터를 저장하는 데에는 매우 비효율적인 문제가 있다.However, blockchain technology has a problem of being very inefficient in storing large amounts of data as the same data is distributed and stored in all nodes.

이러한 문제점을 해결하기 위해 한국공개특허 10-2018-0054497호에는 대용량의 데이터 인증 시 인증을 빠르고 효율적으로 수행하기 위해 필수 데이터 영역을 추출하여 이를 통해 데이터를 인증함으로써 대용량 데이터 인증을 효율적으로 수행하는 대용량 데이터와 다수의 병합 및 분할 데이터 인증을 위한 전자 장치 및 이의 제어방법에 대한 기술이 개시되어 있으나 이는 대용량의 데이터 인증과 관련된 기술로서 대용량의 데이터를 블록체인 방식을 활용하여 저장하는 것이 아니므로 데이터의 안정성과 보안성이 떨어지며 원본 데이터가 하나의 저장공간에 저장됨에 따라 데이터의 손실 위험성이 큰 문제가 있다.In order to solve this problem, Korean Patent Laid-Open Patent No. 10-2018-0054497 discloses a large-capacity data authentication method that efficiently performs large-capacity data authentication by extracting a required data area and authenticating data through it in order to perform authentication quickly and efficiently during authentication of large-capacity data. Although a technology for an electronic device and a control method thereof for data and multiple merge and split data authentication have been disclosed, this is a technology related to large-capacity data authentication and does not store large-capacity data using a block chain method. Stability and security are poor, and as the original data is stored in one storage space, there is a big problem of data loss.

또한, 한국등록특허 10-1720268호에는 환자정보를 보호하기 위한 클라우드 데이터베이스 구축 및 판독방법이 개시되어 있다. 268호의 데이터베이스 구축 및 판독방법은 환자정보만을 분리하여 블록체인 방식으로 저장함에 따라 보안성과 안정성을 강화하였으나 환자정보 이외에 의료정보의 경우 종래의 데이터베이스 방식으로 저장함에 따라 종래의 문제점을 그대로 가지고 있는 단점이 있다.In addition, Korean Patent Registration No. 10-1720268 discloses a cloud database construction and reading method for protecting patient information. The database construction and reading method of No. 268 strengthened security and stability by separating only patient information and storing it in a block chain method. have.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 블록체인 기술을 기반으로 하여 데이터를 저장함에 따라 블록체인 기술의 안정성과 보안성을 그대로 유지할 수 있으며, 블록체인 기술을 이용하여 데이터를 저장하면서도 대용량의 데이터를 효율적으로 저장할 수 있으며, 데이터의 효율적인 저장을 위해 데이터가 저장되는 노드의 현황을 수집 분석하여 데이터 저장의 효율성과 안정성을 극대화할 수 있으며, 데이터 저장의 패턴을 인공지능을 통해 학습하여 사용기간이 길어질 수도록 데이터 저장의 효율성이 극대화되며, 데이터 저장에 대한 공헌도를 분석하여 자동으로 대가가 지급됨으로써 외부 개입 없이 데이터 입출력이 효율적으로 이루어지는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치 및 방법을 제공함에 있다.The present invention is to solve the above problems, and by storing data based on the block chain technology, the stability and security of the block chain technology can be maintained as it is. of data can be stored efficiently, and for efficient storage of data, the efficiency and stability of data storage can be maximized by collecting and analyzing the status of the node where the data is stored, and the pattern of data storage can be learned and used through artificial intelligence. A blockchain-based distributed data storage device and method for large-capacity data storage in which data storage efficiency is maximized so that the period can be extended, and data input/output is efficiently performed without external intervention by analyzing the contribution to data storage and automatically paying a price is to provide.

상기와 같은 목적을 달성하기 위해 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치는 인터넷, 이더넷을 포함하는 네트워크로 서로 연결되며 분산 데이터 저장장치에 저장될 데이터의 저장을 위한 저장 공간인 로컬 스토리지가 마련된 2 이상의 노드 스토리지를 포함하는 분산 모듈과, 분산 모듈 내의 노드 스토리지로 데이터를 입력저장하거나 상기 데이터가 저장된 노드 스토리지로부터 데이터를 읽어 출력하는 데이터 입출력 모듈과, 분산 모듈 내의 노드 스토리지로 데이터가 입력되거나 출력될 때 해당 데이터를 암호화하거나 복호화하는 암복호화 모듈과, 데이터 입출력 모듈을 통해 입출력되는 분산 모듈 내의 노드 스토리지의 현황을 분석하여 분산 모듈 내의 데이터 저장을 효율적으로 관리하는 데이터 분석 및 관리모듈을 포함하되, 데이터 입출력 모듈을 통해 입출력 될 때마다 입출력 되는 데이터 중 상기 데이터가 분산 모듈 내의 노드 스토리지에 저장된 위치와 암복호화 모듈에서 암/복호화에 필요한 데이터와 데이터 입출력의 권한을 판단할 데이터를 포함하는 블록데이터를 분산 모듈 내의 모든 노드 스토리지에 저장/갱신하는 것을 특징으로 한다.In order to achieve the above object, the blockchain-based distributed data storage device for large-capacity data storage of the present invention is connected to each other by a network including the Internet and Ethernet and is a storage space for storing data to be stored in the distributed data storage device. A distributed module including two or more node storages provided with local storage, a data input/output module for inputting and storing data into node storage in the distributed module or reading and outputting data from the node storage in which the data is stored, and data to the node storage in the distributed module An encryption/decryption module that encrypts or decrypts the data when it is input or output, and a data analysis and management module that efficiently manages data storage in the distributed module by analyzing the status of node storage in the distributed module that is input/output through the data input/output module Including the location where the data is stored in the node storage in the distributed module, data required for encryption/decryption in the encryption/decryption module, and data to determine the authority of data input/output among data input/output whenever input/output through the data input/output module It is characterized in that it stores/updates the block data to be stored in all node storages in the distributed module.

또한, 데이터 분석 및 관리모듈은 상기 데이터 입출력 모듈을 통해 입력되는 데이터를 상기 분산 모듈 내의 2 이상의 노드 스토리지에 동일한 데이터의 복사본을 입력하는 것을 특징으로 한다.In addition, the data analysis and management module is characterized in that the data input through the data input/output module inputs a copy of the same data to storage of two or more nodes in the distribution module.

또한, 데이터 분석 및 관리모듈은 상기 동일한 데이터의 복사본이 저장되는 노드 스토리지 중 정상적으로 동작하는 노드 스토리지의 개수를 일정 시간마다 수집하는 것을 특징으로 한다.In addition, the data analysis and management module is characterized in that the number of node storage normally operating among the node storage in which a copy of the same data is stored is collected at a predetermined time.

또한, 데이터 분석 및 관리모듈은 정상 동작하는 노드 스토리지의 개수가 미리 설정된 개수보다 작아질 경우 상기 복사본을 분산 모듈 내의 다른 노드 스토리지로 복제하는 것을 특징으로 한다.In addition, the data analysis and management module is characterized in that when the number of node storage that operates normally becomes smaller than a preset number, the copy is copied to another node storage in the distribution module.

또한, 데이터 분석 및 관리모듈은 상기 일정 시간마다 수집된 정상동작하는 노드 스토리지에 대한 정보를 인공지능으로 학습한 후 정상 동작하는 노드 스토리지의 개수에 대한 패턴을 학습한 후 상기 동일한 데이터의 복제본을 유지하는 노드 스토리지의 개수를 조절하는 것을 특징으로 한다.In addition, the data analysis and management module maintains a copy of the same data after learning a pattern for the number of node storage that operates normally after learning the information about the node storage that is normally operating at the predetermined time with artificial intelligence. It is characterized in that it adjusts the number of node storage.

또한, 분산 모듈 내에는 각 노드 스토리지와 연결되는 하나 이상의 분산 서버를 더 포함하고, 분산 서버에는 상기 데이터 입출력모듈, 암복호화 모듈 및 데이터 분석 및 관리모듈을 포함하여 상기 블록체인 기반 분산 데이터 저장창치의 구동을 위한 구성이 마련되는 것을 특징으로 한다.In addition, the distributed module further includes one or more distributed servers connected to each node storage, and the distributed server includes the data input/output module, encryption/decryption module, and data analysis and management module of the blockchain-based distributed data storage device. It is characterized in that a configuration for driving is provided.

또한, 데이터 분석 및 관리모듈에서 상기 분산 모듈 내의 각 노드 스토리지로 데이터가 입출력되는 현황을 수집한 후 각 노드 스토리지의 데이터 입출력 양, 데이터 저장 시간을 포함하는 공헌도를 산출하는 보상모듈을 더 포함한다.In addition, the data analysis and management module further includes a compensation module for calculating the contribution including the amount of data input/output of each node storage and data storage time after collecting the data input/output status from the data analysis and management module to each node storage in the distribution module.

또한, 보상모듈은 상기 산출된 공헌도에 따라 각 노드 스토리지의 소유자에게 암호화폐로 보상을 하는 것을 특징으로 한다.In addition, the compensation module is characterized in that it compensates the owner of each node storage with cryptocurrency according to the calculated contribution level.

또한, 상기와 같은 목적을 달성하기 위해 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법은 인터넷, 이더넷을 포함하는 네트워크로 서로 연결되며 로컬 스토리지가 마련된 2이상의 노드 스토리지를 포함하는 분산 모듈로 데이터를 입력 저장하거나 데이터가 저장된 노드 스토리지로부터 데이터를 읽어 출력하는 데이터 입출력 모듈을 통해 데이터를 입출력하는 단계; 상기 분산 모듈 내의 노드 스토리지로 데이터가 입력되거나 출력될 때 암복호화 모듈을 통해 해당 데이터를 암호화하거나 복호화하는 암복호화 단계; 상기 데이터 입출력 모듈을 통해 입출력되는 데이터를 기초로 데이터 분석 및 관리모듈을 통해 분산 모듈 내의 노드 스토리지의 현황을 분석하고 이를 이용하여 분산 모듈 내의 데이터 저장을 효율적으로 관리하는 데이터 분석 및 관리단계;를 포함하되, 상기 데이터를 입출력하는 단계에서, 데이터가 입출력 될 때마다 입출력 되는 데이터 중 상기 데이터가 분산 모듈 내의 노드 스토리지에 저장된 위치와 상기 암복호화 모듈에서 암/복호화에 필요한 데이터와 데이터 입출력의 권한을 판단할 데이터를 포함하는 블록데이터를 분산 모듈 내의 모든 노드 스토리지에 저장/갱신하는 단계를 더 포함한다.In addition, in order to achieve the above object, the blockchain-based distributed data storage method for large-capacity data storage of the present invention is a distributed module that is connected to each other by a network including the Internet and Ethernet and includes storage of two or more nodes with local storage provided inputting and outputting data through a data input/output module for inputting and storing data into a node or reading and outputting data from a node storage in which data is stored; an encryption/decryption step of encrypting or decrypting corresponding data through an encryption/decryption module when data is input or output to the node storage in the distribution module; A data analysis and management step of analyzing the status of the node storage in the distributed module through the data analysis and management module based on the data input and output through the data input/output module and efficiently managing the data storage in the distributed module using this; However, in the step of inputting and outputting the data, the location where the data is stored in the node storage in the distribution module and the data required for encryption/decryption in the encryption/decryption module and the authority of data input/output among the data input/output whenever data is input/output are determined The method further includes storing/updating block data including data to be processed in all node storages in the distributed module.

또한, 상기 데이터를 입출력하는 단계에서, 상기 데이터 입출력 모듈을 통해 입력되는 데이터를 상기 분산 모듈 내의 2 이상의 노드 스토리지에 동일한 데이터의 복사본을 입력하는 것을 특징으로 한다.In addition, in the step of inputting and outputting the data, it is characterized in that the data input through the data input/output module is inputted as a copy of the same data to storage of two or more nodes in the distribution module.

또한, 상기 데이터 분석 및 관리단계에서, 상기 데이터 분석 및 관리모듈은 상기 동일한 데이터의 복사본이 저장되는 노드 스토리지 중 정상적으로 동작하는 노드 스토리지의 개수를 일정 시간마다 수집하는 단계를 더 포함한다.In addition, in the data analysis and management step, the data analysis and management module further includes the step of collecting the number of node storage that is normally operating from among the node storage in which a copy of the same data is stored every predetermined time.

또한, 상기 데이터 분석 및 관리단계에서, 상기 데이터 분석 및 관리모듈은 정상 동작하는 노드 스토리지의 개수가 미리 설정된 개수보다 작아질 경우 상기 복사본을 분산 모듈 내의 다른 노드 스토리지로 복제하는 단계를 더 포함하는 것을 특징으로 한다.In addition, in the data analysis and management step, the data analysis and management module further comprises the step of duplicating the copy to other node storage in the distribution module when the number of node storage that operates normally becomes smaller than a preset number characterized.

또한, 상기 데이터 분석 및 관리단계에서, 상기 데이터 분석 및 관리모듈은 상기 일정 시간마다 수집된 정상동작하는 노드 스토리지에 대한 정보를 인공지능으로 학습한 후 정상 동작하는 노드 스토리지의 개수에 대한 패턴을 학습한 후 상기 동일한 데이터의 복제본을 유지하는 노드 스토리지의 개수를 조절하는 단계를 더 포함하는 것을 특징으로 한다.In addition, in the data analysis and management step, the data analysis and management module learns the information on the node storage that operates normally, collected at the predetermined time by artificial intelligence, and then learns a pattern for the number of node storage that operates normally. Then, it characterized in that it further comprises the step of adjusting the number of node storage that maintains a copy of the same data.

또한, 데이터 분석 및 관리단계에서 상기 데이터 분석 및 관리모듈에서 수집된 상기 분산 모듈 내의 각 노드 스토리지로 데이터가 입출력되는 현황을 기초로 보상모듈을 통해 각 노드 스토리지의 데이터 입출력 양, 데이터 저장 시간을 포함하는 공헌도를 산출하는 공헌도 산출단계를 더 포함한다.In addition, in the data analysis and management step, the amount of data input/output of each node storage and the data storage time are included through the compensation module based on the status of data input/output to/from each node storage in the distributed module collected from the data analysis and management module. The method further includes a contribution calculation step of calculating a contribution level.

또한, 상기 공헌도 산출단계에서, 상기 보상모듈은 상기 산출된 공헌도에 따라 각 노드 스토리지의 소유자에게 암호화폐로 보상을 하는 것을 특징으로 한다.In addition, in the step of calculating the contribution, the reward module compensates the owner of each node storage with cryptocurrency according to the calculated contribution.

이상과 같은 구성의 본 발명은 데이터를 저장함에 있어 블록체인 기술의 안정성과 보안성을 그대로 유지할 수 있다.The present invention having the above configuration can maintain the stability and security of the block chain technology when storing data.

또한, 블록체인 기술의 장점인 안정성과 보안성을 그대로 유지하면서도 대용량의 데이터를 효율적으로 저장할 수 있다.In addition, it is possible to efficiently store large amounts of data while maintaining stability and security, which are the strengths of blockchain technology.

또한, 데이터가 저장되는 노드의 현황을 실시간으로 반영하고 노드의 저장 패턴을 인공지능을 통해 학습하여 복제 데이터가 저장되는 노드의 개수를 조절함으로써 데이터 저장의 효율성을 극대화할 수 있다.In addition, it is possible to maximize the efficiency of data storage by reflecting the status of the node where data is stored in real time and learning the storage pattern of the node through artificial intelligence to adjust the number of nodes where duplicate data is stored.

또한, 데이터의 입출력 현황을 파악하여 노드의 공헌도를 실시간으로 파악한 후 이에 대한 보상이 자동적으로 이루어짐에 따라 외부 개입없이 데이터 입출력 및 저장이 효율적으로 이루어진다.In addition, data input/output and storage are efficiently performed without external intervention as compensation is automatically made after grasping the contribution of the node in real time by grasping the input/output status of data.

도 1은 본 발명의 일실시예에 따른 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치의 개략적인 블록도이고,
도 2는 본 발명의 블록체인 기반 분산 데이터 저장 장치에서 각 노드에 데이터가 저장되는 과정을 나타내는 도면이고,
도 3은 블록체인 기반 분산 데이터 저장 장치에서 각 노드에 저장되는 데이터가 노드의 현황에 따라 조절되는 과정을 나타내는 도면이고,
도 4는 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법을 설명하기 위한 순서도이다.
1 is a schematic block diagram of a blockchain-based distributed data storage device for large-capacity data storage according to an embodiment of the present invention;
2 is a diagram showing a process of storing data in each node in the blockchain-based distributed data storage device of the present invention;
3 is a diagram showing a process in which data stored in each node in a blockchain-based distributed data storage device is adjusted according to the status of the node;
4 is a flowchart for explaining the blockchain-based distributed data storage method for large-capacity data storage of the present invention.

이하에서 도면을 참조하여 본 발명에 따른 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치 및 방법에 대해 상세히 설명한다.Hereinafter, a block-chain-based distributed data storage device and method for large-capacity data storage according to the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일실시예에 따른 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치의 개략적인 블록도이고, 도 2는 본 발명의 블록체인 기반 분산 데이터 저장 장치에서 각 노드에 데이터가 저장되는 과정을 나타내는 도면이고, 도 3은 블록체인 기반 분산 데이터 저장 장치에서 각 노드에 저장되는 데이터가 노드의 현황에 따라 조절되는 과정을 나타내는 도면이고, 도 4는 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법을 설명하기 위한 순서도이다.1 is a schematic block diagram of a blockchain-based distributed data storage device for large-capacity data storage according to an embodiment of the present invention, and FIG. 2 is a block-chain-based distributed data storage device in which data is stored in each node in the present invention 3 is a diagram showing a process in which data stored in each node is adjusted according to the status of the node in a blockchain-based distributed data storage device, and FIG. 4 is a block for large-capacity data storage of the present invention. This is a flowchart to explain the chain-based distributed data storage method.

본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치 및 방법은 종래 블록체인 기술의 안정성과 보안성을 그대로 유지하면서 블록체인 기술의 단점인 대용량 데이터 저장 시 효율성이 떨어지는 단점을 개선한 데이터 저장 장치 및 방법이다.The blockchain-based distributed data storage device and method for large-capacity data storage of the present invention improves data storage by improving the efficiency of large-capacity data storage, which is a disadvantage of blockchain technology, while maintaining the stability and security of the conventional blockchain technology. Apparatus and method.

앞서 설명한 바와 같이 블록체인 기술은 동일한 데이터를 네트워크로 연결된 모든 노드에 분산 저장함으로써 하나의 노드의 데이터가 손상되거나 위변조되더라도 다른 노드에 저장된 정상적인 데이터를 통해 수정 복구함으로써 데이터가 손상되거나 위변조가 불가능한 장점이 있다. 블록체인 기술은 위와 같이 데이터의 안정성과 보안성이 뛰어나지만 동일한 데이터를 네트워크로 연결된 모든 노드에 저장함에 따라 데이터 저장의 효율성이 매우 떨어지는 단점이 있다. 본 발명의 데이터 저장 장치 및 방법은 이러한 블록체인의 장점인 안정성과 보안성은 그대로 유지하면서 대용량의 데이터를 저장할 때에도 데이터 저장의 효율성을 극대화할 수 있는 데이터 저장 장치 및 방법에 대한 것이다.As described above, blockchain technology distributes and stores the same data in all nodes connected to the network, so even if the data of one node is damaged or forged, it can be corrected and restored through normal data stored in other nodes, so that the data cannot be damaged or tampered with. have. Although blockchain technology has excellent data stability and security as above, it has a disadvantage in that the efficiency of data storage is very low as the same data is stored in all nodes connected to the network. The data storage device and method of the present invention relates to a data storage device and method that can maximize the efficiency of data storage even when storing large amounts of data while maintaining stability and security, which are the advantages of such a block chain.

본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치는 인터넷 또는 이더넷 등 상호간에 데이터 전송이 가능한 네트워크로 서로 연결되며 데이터의 저장이 가능한 저장 공간 즉, 로컬 스토리지가 마련된 2 이상의 노드 스토리지(110~160)가 포함되는 분산 모듈(100)과 분산 모듈(100) 내의 로컬 스토리지인 노드 스토리지(110~160)로 데이터를 입력하여 저장하거나 데이터가 저장된 노드 스토리지(110~160)로부터 데이터를 읽어내어 출력하는 데이터 입출력 모듈(200)과 분산 모듈(100)로 데이터가 입력되어 저장되거나 출력될 때 해당 데이터를 암호화하거나 복호화하는 암복호화 모듈(300)과 데이터 입출력 모듈(200)을 통해 분산 모듈(100)로 데이터가 입력 또는 출력되는 현황을 수집 분석하여 분산 모듈(100) 내의 데이터 저장 시 효율성을 관리하는 데이터 분석 및 관리모듈(400)을 포함하여 이루어진다.The blockchain-based distributed data storage device for large-capacity data storage of the present invention is connected to each other by a network that can transmit data to each other, such as the Internet or Ethernet, and is a storage space that can store data, that is, two or more node storage (110) provided with local storage. ~160) is included in the distribution module 100 and the local storage in the distribution module 100 by inputting and storing data into the node storage 110 to 160, or by reading data from the node storage 110 to 160 in which the data is stored. The data input/output module 200 for outputting and the distribution module 100 through the encryption/decryption module 300 and the data input/output module 200 for encrypting or decrypting the data when the data is input and stored or output to the distribution module 100 ), including a data analysis and management module 400 that collects and analyzes data input or output status and manages efficiency when storing data in the distribution module 100 .

또한, 데이터 입출력 모듈(200)을 통해 분산 모듈(100)로 데이터가 입력 또는 출력될 때 해당 데이터 중 해당 데이터가 어떤 노드 스토리지에 저장되는지에 대한 저장 위치 데이터와 암복호화 모듈(300)에서 해당 데이터의 암호화 또는 복호화에 필요한 데이터와 해당 데이터를 입출력할 수 있는 권한이 있는지 여부를 판단할 데이터가 포함된 블록데이터는 블록체인 기술을 적용하여 모든 노드에 저장되거나 변동이 있는 경우 갱신된다.In addition, when data is input or output to the distribution module 100 through the data input/output module 200 , the storage location data for which node storage of the corresponding data is stored and the corresponding data from the encryption/decryption module 300 Block data containing data required for encryption or decryption of data and data to determine whether the user has the authority to input and output the data is stored in all nodes by applying block chain technology or updated when there is a change.

본 발명의 분산 모듈(100)은 본 발명의 데이터 저장장치에서 데이터를 저장하는 구성이다. 분산 모듈(100)은 인터넷 또는 이더넷 등 데이터 송수신이 가능한 형태의 네트워크로 연결된 2 이상의 노드 스토리지(110~160)와 각 노드 스토리지(110~160)와 네트워크로 연결되는 분산 서버(600)를 포함하여 이루어진다. 분산 서버(600)는 각 노드 스토리지(110~160)과 네트워크로 연결되며 본 발명의 분산 데이터 저장장치의 구동에 필요한 각 모듈이 설치되는 구성이다. 분산 서버(600)는 연결되는 노드 스토리지(110~160)의 개수에 따라 달라지기는 하겠지만 데이터 입출력을 효율적으로 수행하기 위해 하나 이상을 설치하는 것이 바람직하다. 또한, 분산 서버(600)가 하나 이상인 경우 각 분산 서버(600)의 로드 밸런싱(Load Balancing)을 위해 분산 서버(600) 중 하나를 슈퍼 바이저 기능을 수행하도록 구성할 수 있다. 노드 스토리지(110~160)는 데이터 저장이 가능한 HDD, SSD 등 저장장치가 마련된 PC 등을 예로 들 수 있다. 노드 스토리지(110~160)는 개인이 보유한 PC일 수도 있고, 대용량의 저장장치가 마련된 서버일 수도 있다. 노드 스토리지(110~160)는 데이터의 저장 및 출력이 주된 기능이므로 데이터를 저장할 수 있으면 되지만 본 발명의 경우 각 노드 스토리지(110~160)에 데이터의 입출력, 데이터의 입출력 현황 분석 및 관리, 공헌도에 따른 보상 등을 포함하는 다양한 기능의 기초가 되는 데이터의 입출력이 이루어져야 하므로 단순히 스토리지 뿐만 아니라 컴퓨팅이 가능한 장치가 부가되는 것이 바람직하다.The distributed module 100 of the present invention is a configuration for storing data in the data storage device of the present invention. The distribution module 100 includes two or more node storages 110 to 160 connected to a network in a form capable of transmitting and receiving data such as the Internet or Ethernet, and a distributed server 600 connected to each node storage 110 to 160 through a network. is done The distributed server 600 is connected to each node storage 110 to 160 through a network, and each module required for driving the distributed data storage device of the present invention is installed. Although the distributed server 600 will vary depending on the number of connected node storage 110 to 160, it is preferable to install one or more in order to efficiently perform data input/output. In addition, when there is more than one distributed server 600 , one of the distributed servers 600 may be configured to perform a supervisor function for load balancing of each distributed server 600 . The node storage 110 to 160 may be, for example, a PC equipped with a storage device such as an HDD or SSD capable of storing data. The node storage 110 to 160 may be a personal computer or a server provided with a large-capacity storage device. Since the main functions of the node storage 110 to 160 are storage and output of data, it is sufficient to store data, but in the present invention, data input and output to each node storage 110 to 160, data input/output status analysis and management, and contribution Since input/output of data, which is the basis of various functions including compensation, is required, it is preferable to add a device capable of computing as well as simply storage.

분산 모듈(100)을 구성하는 노드 스토리지(110~160)는 앞서 설명한 것과 같이 인터넷 또는 이더넷으로 연결되는 구성이다. 즉, 인터넷으로 연결되는 경우 외부에서도 데이터 입출력이 가능한 구성이지만 이더넷으로 연결되는 경우 사무실 또는 가정에서만 연결이 가능한 구성으로 외부에서 자유로운 접속은 어려운 구성으로 병원, 회사 등에서 사용할 때 바람직한 형태이다. 인터넷이든 이더넷이든 각 노드 스토리지(110~160)는 각각의 주소를 가지고 있게 된다. 이렇게 각 노드 스토리지에 부여된 주소로 데이터가 입출력되게 된다.The node storage 110 to 160 constituting the distributed module 100 is a configuration connected to the Internet or Ethernet as described above. In other words, when connected to the Internet, data input/output is possible from the outside, but when connected by Ethernet, it is a configuration that can be connected only at the office or at home. Whether it is the Internet or Ethernet, each node storage 110 to 160 has a respective address. In this way, data is input/output to the address assigned to each node storage.

분산 모듈(100)은 회사나 병원에서 사용할 경우 노드 스토리지(110~160)를 회사 차원에서 마련하거나 회사 자산을 활용하여 구성할 수도 있지만 활용성 및 분산 모듈(100) 구성의 자유도를 높이기 위해 공중의 PC를 마련하는 것이 바람직하다. 공중의 PC를 이용하는 경우 데이터 입출력 모듈(200), 암복호화 모듈(300), 데이터 분석 및 관리모듈(400) 및 보상모듈(500)을 포함하여 데이터 저장 및 출력을 위해 필요한 구성은 앞서 설명한 것과 같이 분산 서버(600)에 설치하고 동작하도록 구성할 수도 있지만 노드 스토리지(110~160)의 개수가 작을 경우 개별 PC 중 하나에 저장하고 이 PC를 분산 서버(600)와 같이 운영할 수도 있다.When the distributed module 100 is used in a company or hospital, the node storage 110 to 160 may be provided at the company level or may be configured by utilizing company assets, but in order to increase the flexibility and freedom of configuration of the distributed module 100, public It is desirable to provide a PC. When using a public PC, the configuration necessary for data storage and output, including the data input/output module 200, the encryption/decryption module 300, the data analysis and management module 400, and the compensation module 500, is as described above. It may be installed and configured to operate in the distributed server 600 , but if the number of node storage 110 to 160 is small, it may be stored in one of individual PCs and operated together with the distributed server 600 .

본 발명의 데이터 입출력 모듈(200)은 분산 모듈(100) 내의 개별 노드 스토리지(110~160)로 데이터를 입력 저장하거나 데이터가 저장된 노드 스토리지(110~160)로부터 저장된 데이터를 읽어 출력하는 구성이다. 데이터 입출력 모듈(200)은 하드웨어로 구성되어 데이터를 저장하거나 출력하라는 요청이 올 경우 해당 주소의 노드 스토리지로 데이터를 저장하거나 데이터를 읽어 출력하는 구성일 수도 있고, 소프트웨어로 구성되어 개별 PC에서 데이터의 입출력 요청이 올 경우 해당 PC의 컴퓨팅 자산을 이용하여 데이터를 입출력할 수도 있다. 다만, 데이터 입출력 모듈(200)을 통해 데이터의 입출력이 이루어질 경우 이와 관련된 정보는 본 발명의 데이터 분석 및 관리모듈(400)로 전달되어 효율적인 데이터 입출력 관리에 활용될 수 있도록 한다.The data input/output module 200 of the present invention is configured to input and store data into the individual node storages 110 to 160 in the distributed module 100 or to read and output stored data from the node storages 110 to 160 in which data is stored. The data input/output module 200 is composed of hardware, and when a request to store or output data is received, it may be configured to store data or read and output data to the node storage of the corresponding address, or it may be configured as software to store data or output data from individual PCs. When an input/output request comes, data can also be input/output using the computing assets of the PC. However, when data is input/output through the data input/output module 200, information related thereto is transmitted to the data analysis and management module 400 of the present invention to be utilized for efficient data input/output management.

본 발명의 데이터 입출력 모듈(200)은 저장될 데이터(A)를 모든 노드 스토리지(110~160)에 저장하는 것이 아니라 일부 노드 스토리지(110, 150, 160)에 동일한 데이터를 분산 저장한다. 다만, 분산 모듈(100) 내의 모든 노드 스토리지(110~160)에는 데이터(A)가 저장된 노드 스토리지(110, 150, 160)의 주소에 대한 데이터, 암복호화 모듈(300)에서 암복호화에 필요한 암호화 키 등 암호화 데이터, 데이터 입출력의 권한을 판단하기 위한 권한 키 데이터를 포함하는 블록데이터(B)가 저장된다. 이와 같이 데이터를 저장함으로써 블록체인의 장점이 데이터의 안정성 및 보안성을 그대로 유지하면서도 모든 노드 스토리지(110~160)에 데이터(A)가 저장되는 것이 아니므로 대용량의 데이터 저장 시에도 효율성을 유지할 수 있게 된다. The data input/output module 200 of the present invention does not store the data A to be stored in all the node storages 110 to 160 , but distributes and stores the same data in some node storages 110 , 150 , 160 . However, in all the node storages 110 to 160 in the distribution module 100, the data for the addresses of the node storages 110, 150, and 160 in which the data A is stored, and the encryption required for encryption and decryption in the encryption/decryption module 300 Block data (B) including encryption data, such as a key, and permission key data for determining the right of data input/output is stored. By storing data in this way, the advantage of blockchain is that the stability and security of data are maintained as they are, but since data (A) is not stored in all node storages 110 to 160, efficiency can be maintained even when storing large amounts of data. there will be

본 발명의 암복호화 모듈(300)은 데이터 입출력 모듈(200)을 통해 분산 모듈(100)로 데이터가 입출력되는 경우 암호화 키를 활용하여 각 노드 스토리지(110~160)에 저장되는 데이터를 암호화하거나 복호화하는 구성이다. 종래 분산 방식으로 데이터를 개별 PC에 저장하는 경우 데이터를 입력하거나 출력하는 경우 그 권한을 판단할 때에만 암호화 키를 활용하는 경우가 많아 개별 PC를 분산 저장에 활용할 경우 개별 PC에 저장된 데이터는 외부에 무방비로 노출되는 경우가 많아 보안이 취약한 단점이 있었다. 본 발명은 암복호화 모듈(300)을 통해 개별 PC에 저장되는 데이터도 암호화하여 저장됨에 따라 데이터의 유출에 따른 보안위험을 막을 수 있는 장점이 있다.The encryption/decryption module 300 of the present invention encrypts or decrypts data stored in each node storage 110 to 160 by using an encryption key when data is input/output to the distribution module 100 through the data input/output module 200 . is a configuration that In the case of storing data in individual PCs in the conventional distributed method, when data is input or output, the encryption key is often used only to determine the authority. There was a weakness in security because it was often exposed unprotected. The present invention has an advantage in that data stored in individual PCs are encrypted and stored through the encryption/decryption module 300 to prevent a security risk due to data leakage.

본 발명의 데이터 분석 및 관리모듈(400)은 데이터 입출력 현황에 대한 데이터를 수집하고 이를 분석하여 분산 모듈(100) 내의 데이터 저장이 효율적으로 이루어지도록 하는 구성이다.The data analysis and management module 400 of the present invention is configured to efficiently store data in the distribution module 100 by collecting and analyzing data on the data input/output status.

본 발명데이터 저장장치는 데이터를 노드 스토리지(110~160)에 분산 저장하는데 기본적으로 모든 노드 스토리지(110~160)에 데이터가 저장되는 경우 데이터 저장의 안정성과 보안성이 매우 높아지는 반면 저장되는 노드 스토리지의 개수를 줄이면 데이터 저장의 효율성을 높아지지만 데이터 저장의 안정성과 보안성은 떨어지는 특성이 있다. 따라서 적절한 개수의 데이터 저장 노드 스토리지를 유지하는 것이 필수적이다. 본 발명의 데이터 분석 및 관리모듈(400)은 우선 데이터 입출력 현황관련 정보를 수집한 후 인공지능 알고리즘을 이용하여 데이터 입출력 패턴을 파악하고 학습한다. The present invention data storage device distributes and stores data in the node storages 110 to 160. Basically, when data is stored in all the node storages 110 to 160, the stability and security of data storage are very high while the node storage is stored. Reducing the number of data stores increases the efficiency of data storage, but decreases the stability and security of data storage. It is therefore essential to maintain an adequate number of data storage node storage. The data analysis and management module 400 of the present invention first collects data input/output status related information, and then uses an artificial intelligence algorithm to identify and learn data input/output patterns.

인공지능 알고리즘 중 머신러닝(machine learning)은 크게 지도학습과 비지도 학습으로 나뉘며 지도학습은 일정한 군집이 이루어진 데이터에 대해 분석 및 예측이 가능하다. 비지도 학습에 사용되는 알고리즘은 여러 종류가 있지만 가장 구현이 쉽고 효율적인 알고리즘은 k-means 알고리즘이다. k-means 알고리즘은 군집의 평균을 이용하여 군집화를 수행하는 알고리즘인데 총 데이터를 임의로 설정된 클러스터로 나누고 각 클러스터의 중심값(means)을 임의로 설정한다. 임의로 설정된 중심값과 개별 데이터 간의 거리를 측정하고 가장 거리가 가까운 중심값이 포함된 클러스터에 데이터를 할당한다. 데이터 할당이 끝나면 클러스터별로 중심값을 다시 계산하고 거리를 다시 측정하여 클러스터에 할당하는 작업을 반복한다. 이후 미리 설정된 허용오차 내로 중심값이 변하거나 미리 설정된 회수만큼 반복되면 멈추고 클러스터를 확정한다. 이렇게 머신러닝을 이용한 학습이 이루어지면 데이터 입출력에 대한 경향성을 파악할 수 있고 이러한 경향성을 기초로 데이터를 저장할 노드 스토리지의 우선순위를 매겨 데이터를 저장하게 되면 데이터 저장의 효율성을 극대화할 수 있다. 물론 k-means 알고리즘은 위와 같이 매우 간단하고 효율적으로 군집화(clustering)을 수행할 수 있지만 데이터의 저장의 크기, 용도, 사용환경 등 다양한 요건에 따라 그에 적합한 머신러닝 알고리즘을 선택할 수 있음은 물론이다.Among artificial intelligence algorithms, machine learning is largely divided into supervised learning and unsupervised learning, and supervised learning can analyze and predict data in a certain cluster. There are several types of algorithms used in unsupervised learning, but the easiest and most efficient algorithm is the k-means algorithm. The k-means algorithm is an algorithm that performs clustering using the mean of the clusters. The total data is divided into randomly set clusters and the mean of each cluster is arbitrarily set. Measure the distance between an arbitrarily set centroid and individual data, and assign the data to the cluster containing the closest centroid. After data allocation, recalculating the centroid for each cluster, measuring the distance again, and assigning to the cluster are repeated. Afterwards, when the center value changes within a preset tolerance or repeats a preset number of times, it stops and the cluster is confirmed. When learning using machine learning is performed in this way, the tendency of data input/output can be identified, and the efficiency of data storage can be maximized by prioritizing the node storage to store data based on this tendency and storing the data. Of course, the k-means algorithm can perform clustering very simply and efficiently as above, but it goes without saying that an appropriate machine learning algorithm can be selected according to various requirements such as the size of data storage, usage, and environment of use.

또한, 데이터 분석 및 관리모듈(400)은 동일한 데이터의 복제본이 저장된 노드 스토리지의 개수를 관리한다. 즉, 예를 들어 복제본이 저장된 노드 스토리지의 개수를 3개로 설정한 경우 복제본이 저장된 노드 스토리지 중 정상적으로 동작하는 노드 스토리지의 개수가 3개 미만으로 떨어지는 경우 다른 노드 스토리지로 데이터(A)를 복제하여 정상 동작하는 노드 스토리지의 개수를 3개 이상으로 유지한다. 도 3을 참조하면 정상 동작하지 않는 노드 스토리지(110)가 발생할 경우 새로운 노드 스토리지(120)에 데이터(A)를 복사하고 데이터 관련 현황을 갱신한 블록데이터(B’)를 모든 노드 스토리지에 배포 저장한다. 이를 통해 어떠한 경우에도 정상 동작하는 노드 스토리지의 개수를 미리 설정된 값 이상으로 유지하여 데이터 저장의 안정성과 보안성을 유지할 수 있게 된다.In addition, the data analysis and management module 400 manages the number of node storage in which copies of the same data are stored. That is, for example, if the number of node storages where replicas are stored is set to 3, if the number of node storages where replicas are stored drops to less than 3, data (A) is replicated to other node storages to ensure normal operation. Keep the number of operating node storage to 3 or more. Referring to FIG. 3 , when a node storage 110 that does not operate normally occurs, the data (A) is copied to the new node storage 120 and block data (B'), which has updated the data-related status, is distributed and stored in all node storages. do. Through this, in any case, it is possible to maintain the stability and security of data storage by maintaining the number of node storages operating normally at a preset value or more.

본 발명의 보상모듈(500)은 데이터의 입출력 현황, 저장 시간 등 데이터 저장에의 공헌도를 판단하는 구성이다. 위와 같이 데이터의 저장에의 공헌도를 파악하여 개별 노드 스토리지의 보유자에게 적절한 보상을 함으로써 데이터 저장의 효율성 및 안정성을 높일 수 있게 된다. 또한, 보상을 암호화폐로 주게 된다면 외부 금융기관을 이용할 필요가 없기 때문에 외부 개입없이 데이터의 입출력 및 그에 따른 보상이 이루어져 자생적인 데이터 저장 장치를 구현할 수 있다.The compensation module 500 of the present invention is configured to determine the contribution to data storage, such as input/output status of data and storage time. As described above, the efficiency and stability of data storage can be improved by identifying the contribution to data storage and providing appropriate compensation to the holder of individual node storage. In addition, if compensation is given in cryptocurrency, there is no need to use an external financial institution, so data input and output and compensation are performed without external intervention, thereby realizing a self-sustaining data storage device.

도 4는 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법을 설명하기 위한 순서도이다. 도 4를 참조하여 본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법에 대해 설명하되 중복되는 설명은 생략한다.4 is a flowchart for explaining the blockchain-based distributed data storage method for large-capacity data storage of the present invention. A block chain-based distributed data storage method for large-capacity data storage of the present invention will be described with reference to FIG. 4, but redundant descriptions will be omitted.

본 발명의 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법은 인터넷, 이더넷을 포함하는 네트워크로 서로 연결되는 노드 스토리지(110~160)와 분산 서버(600)를 포함하는 분산 모듈(100)로 데이터를 입력 저장하거나 데이터가 저장된 노드 스토리지(110~160)로부터 데이터를 읽어 출력한다.(S100) 이때 입력되거나 출력되는 데이터는 일반적인 파일일 수도 있고 의료정보일수도 있고 암호화폐의 거래에 다른 트랜잭션일 수도 있다. 본 발명의 데이터는 보안 및 안정적인 데이터 저장이 필요한 데이터이면 그 종류를 제한하지 않는다. 분산 모듈(100) 내의 노드 스토리지로 데이터가 입력되거나 출력될 때 보안을 위해 암복호화 모듈(300)을 통해 해당 데이터를 암호화하거나 복호화 한다.(S110) 데이터의 입출력이 이루어지면 데이터 분석 및 관리모듈(400)을 통해 각 노드 스토리지(110~160)의 현황을 분석하고 이를 기초로 데이터 저장이 효율적으로 이루어지도록 정상적으로 동작하는 노드 스토리지(110~160)의 개수를 일정 시간마다 수집하여 데이터 저장을 관리한다.(S120)The blockchain-based distributed data storage method for large-capacity data storage of the present invention is a distributed module 100 including a node storage 110 to 160 and a distributed server 600 connected to each other by a network including the Internet and Ethernet. is input and stored or data is read and output from the node storage 110 to 160 in which the data is stored. (S100) At this time, the input or output data may be a general file, medical information, or a transaction other than a cryptocurrency transaction. have. The type of data of the present invention is not limited as long as it is data that requires secure and stable data storage. When data is input or output to the node storage in the distribution module 100, the corresponding data is encrypted or decrypted through the encryption/decryption module 300 for security. (S110) When data is input/output, the data analysis and management module ( 400) to analyze the status of each node storage 110 to 160 and collect the number of node storage 110 to 160 that are normally operating at regular time so that data storage is efficiently performed based on this, and data storage is managed. .(S120)

분산 모듈 : 100 데이터 입출력모듈 : 200
암복호화 모듈 : 300 데이터 분석 및 관리모듈 : 400
보상모듈 : 500 분산 서버 : 600
Distributed module: 100 Data input/output module: 200
Encryption/decryption module: 300 Data analysis and management module: 400
Reward module: 500 Distributed server: 600

Claims (15)

대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 장치에 있어서,
인터넷, 이더넷을 포함하는 네트워크로 서로 연결되며 상기 분산 데이터 저장장치에 저장될 데이터의 저장을 위한 저장 공간인 로컬 스토리지가 마련된 2 이상의 노드 스토리지를 포함하는 분산 모듈과,
상기 분산 모듈 내의 노드 스토리지로 데이터를 입력저장하거나 상기 데이터가 저장된 노드 스토리지로부터 데이터를 읽어 출력하는 데이터 입출력 모듈과,
상기 분산 모듈 내의 노드 스토리지로 데이터가 입력되거나 출력될 때 해당 데이터를 암호화하거나 복호화하는 암복호화 모듈과,
상기 데이터 입출력 모듈을 통해 입출력되는 분산 모듈 내의 노드 스토리지의 현황을 분석하여 분산 모듈 내의 데이터 저장을 효율적으로 관리하는 데이터 분석 및 관리모듈을 포함하되,
상기 데이터 입출력 모듈을 통해 입출력 될 때마다 입출력 되는 데이터 중 상기 데이터가 분산 모듈 내의 노드 스토리지에 저장된 위치와 상기 암복호화 모듈에서 암/복호화에 필요한 데이터와 데이터 입출력의 권한을 판단할 데이터를 포함하는 블록데이터를 분산 모듈 내의 모든 노드 스토리지에 저장/갱신하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In a blockchain-based distributed data storage device for large-capacity data storage,
A distributed module including two or more node storages connected to each other by a network including the Internet and Ethernet and having local storage as a storage space for storing data to be stored in the distributed data storage device;
a data input/output module for inputting and storing data into the node storage in the distributed module or reading and outputting data from the node storage in which the data is stored;
An encryption/decryption module for encrypting or decrypting the data when data is input or output to the node storage in the distributed module;
A data analysis and management module for efficiently managing data storage in the distributed module by analyzing the status of the node storage in the distributed module input and output through the data input/output module,
A block including the location where the data is stored in the node storage in the distribution module, data required for encryption/decryption in the encryption/decryption module, and data for determining the authority of data input/output among data input/output whenever input/output through the data input/output module A blockchain-based distributed data storage device for large-capacity data storage, characterized in that data is stored/updated in all node storage in the distributed module.
청구항 1에서,
상기 데이터 분석 및 관리모듈은 상기 데이터 입출력 모듈을 통해 입력되는 데이터를 상기 분산 모듈 내의 2 이상의 노드 스토리지에 동일한 데이터의 복사본을 입력하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 1,
The data analysis and management module is a block chain-based distributed data storage device for large-capacity data storage, characterized in that the data input through the data input/output module inputs a copy of the same data to storage of two or more nodes in the distributed module.
청구항 2에서,
상기 데이터 분석 및 관리모듈은 상기 동일한 데이터의 복사본이 저장되는 노드 스토리지 중 정상적으로 동작하는 노드 스토리지의 개수를 일정 시간마다 수집하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 2,
The data analysis and management module is a block chain-based distributed data storage device for large-capacity data storage, characterized in that it collects the number of node storages that operate normally among node storages in which a copy of the same data is stored at a predetermined time.
청구항 3에서,
상기 데이터 분석 및 관리모듈은 정상 동작하는 노드 스토리지의 개수가 미리 설정된 개수보다 작아질 경우 상기 복사본을 분산 모듈 내의 다른 노드 스토리지로 복제하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 3,
The data analysis and management module is a block chain-based distributed data storage device for large-capacity data storage, characterized in that when the number of normally operating node storage becomes smaller than a preset number, the copy is copied to other node storage in the distributed module. .
청구항 3에서,
상기 데이터 분석 및 관리모듈은 상기 일정 시간마다 수집된 정상동작하는 노드 스토리지에 대한 정보를 인공지능으로 학습한 후 정상 동작하는 노드 스토리지의 개수에 대한 패턴을 학습한 후 상기 동일한 데이터의 복제본을 유지하는 노드 스토리지의 개수를 조절하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 3,
The data analysis and management module maintains a copy of the same data after learning a pattern for the number of node storages that operate normally after learning the information on the node storage that is normally operating at the predetermined time with artificial intelligence. A blockchain-based distributed data storage device for large-capacity data storage, characterized by controlling the number of node storage.
청구항 1에서,
상기 분산 모듈 내에는 각 노드 스토리지와 연결되는 하나 이상의 분산 서버를 더 포함하고, 상기 분산 서버에는 상기 데이터 입출력모듈, 암복호화 모듈 및 데이터 분석 및 관리모듈을 포함하여 상기 블록체인 기반 분산 데이터 저장창치의 구동을 위한 구성이 마련되는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 1,
The distributed module further includes one or more distributed servers connected to each node storage, and the distributed server includes the data input/output module, encryption/decryption module, and data analysis and management module of the blockchain-based distributed data storage device. A blockchain-based distributed data storage device for large-capacity data storage, characterized in that a configuration for operation is provided.
청구항 1에서,
상기 데이터 분석 및 관리모듈에서 상기 분산 모듈 내의 각 노드 스토리지로 데이터가 입출력되는 현황을 수집한 후 각 노드 스토리지의 데이터 입출력 양, 데이터 저장 시간을 포함하는 공헌도를 산출하는 보상모듈을 더 포함하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 1,
Large-capacity data further comprising a compensation module for collecting data input/output status from the data analysis and management module to each node storage in the distribution module, and then calculating a contribution level including the amount of data input/output of each node storage and data storage time Blockchain-based distributed data storage for storage.
청구항 7에서,
상기 보상모듈은 상기 산출된 공헌도에 따라 각 노드 스토리지의 소유자에게 암호화폐로 보상을 하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장장치.
In claim 7,
The reward module is a blockchain-based distributed data storage device for large-capacity data storage, characterized in that it compensates the owner of each node storage with cryptocurrency according to the calculated contribution.
대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장 방법에 있어서,
인터넷, 이더넷을 포함하는 네트워크로 서로 연결되며 로컬 스토리지가 마련된 2이상의 노드 스토리지를 포함하는 분산 모듈로 데이터를 입력 저장하거나 데이터가 저장된 노드 스토리지로부터 데이터를 읽어 출력하는 데이터 입출력 모듈을 통해 데이터를 입출력하는 단계;
상기 분산 모듈 내의 노드 스토리지로 데이터가 입력되거나 출력될 때 암복호화 모듈을 통해 해당 데이터를 암호화하거나 복호화하는 암복호화 단계;
상기 데이터 입출력 모듈을 통해 입출력되는 데이터를 기초로 데이터 분석 및 관리모듈을 통해 분산 모듈 내의 노드 스토리지의 현황을 분석하고 이를 이용하여 분산 모듈 내의 데이터 저장을 효율적으로 관리하는 데이터 분석 및 관리단계;를 포함하되,
상기 데이터를 입출력하는 단계에서, 데이터가 입출력 될 때마다 입출력 되는 데이터 중 상기 데이터가 분산 모듈 내의 노드 스토리지에 저장된 위치와 상기 암복호화 모듈에서 암/복호화에 필요한 데이터와 데이터 입출력의 권한을 판단할 데이터를 포함하는 블록데이터를 분산 모듈 내의 모든 노드 스토리지에 저장/갱신하는 단계를 더 포함하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In a blockchain-based distributed data storage method for large-capacity data storage,
It is a distributed module that includes two or more node storage that is connected to each other through a network including the Internet and Ethernet and has local storage. step;
an encryption/decryption step of encrypting or decrypting corresponding data through an encryption/decryption module when data is input or output to the node storage in the distribution module;
A data analysis and management step of analyzing the status of the node storage in the distributed module through the data analysis and management module based on the data input and output through the data input/output module and efficiently managing the data storage in the distributed module using this; but,
In the step of inputting and outputting the data, the location where the data is stored in the node storage in the distribution module, data required for encryption/decryption in the encryption/decryption module, and data to determine the authority of data input/output among the data input/output whenever data is input/output A block chain-based distributed data storage method for large-capacity data storage, characterized in that it further comprises the step of storing/updating the block data comprising a to all node storage in the distributed module.
청구항 9에서,
상기 데이터를 입출력하는 단계에서,
상기 데이터 입출력 모듈을 통해 입력되는 데이터를 상기 분산 모듈 내의 2 이상의 노드 스토리지에 동일한 데이터의 복사본을 입력하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.

In claim 9,
In the step of inputting and outputting the data,
A block chain-based distributed data storage method for large-capacity data storage, characterized in that the data input through the data input/output module is input as a copy of the same data to storage of two or more nodes in the distribution module.

청구항 10에서,
상기 데이터 분석 및 관리단계에서,
상기 데이터 분석 및 관리모듈은 상기 동일한 데이터의 복사본이 저장되는 노드 스토리지 중 정상적으로 동작하는 노드 스토리지의 개수를 일정 시간마다 수집하는 단계를 더 포함하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In claim 10,
In the data analysis and management step,
The data analysis and management module is a block chain-based distributed data for large-capacity data storage, characterized in that it further comprises the step of collecting the number of node storage that is normally operating at a predetermined time among the node storage in which a copy of the same data is stored storage method.
청구항 11에서,
상기 데이터 분석 및 관리단계에서,
상기 데이터 분석 및 관리모듈은 정상 동작하는 노드 스토리지의 개수가 미리 설정된 개수보다 작아질 경우 상기 복사본을 분산 모듈 내의 다른 노드 스토리지로 복제하는 단계를 더 포함하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In claim 11,
In the data analysis and management step,
The data analysis and management module is a block chain for large-capacity data storage, characterized in that it further comprises the step of copying the copy to another node storage in the distribution module when the number of node storage that operates normally becomes smaller than the preset number based distributed data storage method.
청구항 11에서,
상기 데이터 분석 및 관리단계에서,
상기 데이터 분석 및 관리모듈은 상기 일정 시간마다 수집된 정상동작하는 노드 스토리지에 대한 정보를 인공지능으로 학습한 후 정상 동작하는 노드 스토리지의 개수에 대한 패턴을 학습한 후 상기 동일한 데이터의 복제본을 유지하는 노드 스토리지의 개수를 조절하는 단계를 더 포함하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In claim 11,
In the data analysis and management step,
The data analysis and management module maintains a copy of the same data after learning a pattern for the number of node storages that operate normally after learning the information on the node storage that is normally operating at the predetermined time with artificial intelligence. A blockchain-based distributed data storage method for large-capacity data storage, characterized in that it further comprises adjusting the number of node storage.
청구항 9에서,
데이터 분석 및 관리단계에서 상기 데이터 분석 및 관리모듈에서 수집된 상기 분산 모듈 내의 각 노드 스토리지로 데이터가 입출력되는 현황을 기초로 보상모듈을 통해 각 노드 스토리지의 데이터 입출력 양, 데이터 저장 시간을 포함하는 공헌도를 산출하는 공헌도 산출단계를 더 포함하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In claim 9,
Contribution including the amount of data input/output of each node storage and data storage time through the compensation module based on the status of data input/output to/from each node storage in the distributed module collected from the data analysis and management module in the data analysis and management step A blockchain-based distributed data storage method for large-capacity data storage further comprising a contribution calculation step of calculating
청구항 14에서,
상기 공헌도 산출단계에서,
상기 보상모듈은 상기 산출된 공헌도에 따라 각 노드 스토리지의 소유자에게 암호화폐로 보상을 하는 것을 특징으로 하는 대용량 데이터 저장을 위한 블록체인 기반 분산 데이터 저장방법.
In claim 14,
In the contribution calculation step,
The compensation module is a blockchain-based distributed data storage method for large-capacity data storage, characterized in that the compensation module compensates the owner of each node storage with cryptocurrency according to the calculated contribution.
KR1020200044364A 2020-04-11 2020-04-11 Block-chain based distributed data storage apparatus and method for storing large data KR102412830B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200044364A KR102412830B1 (en) 2020-04-11 2020-04-11 Block-chain based distributed data storage apparatus and method for storing large data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200044364A KR102412830B1 (en) 2020-04-11 2020-04-11 Block-chain based distributed data storage apparatus and method for storing large data

Publications (2)

Publication Number Publication Date
KR20210126453A true KR20210126453A (en) 2021-10-20
KR102412830B1 KR102412830B1 (en) 2022-06-24

Family

ID=78268191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200044364A KR102412830B1 (en) 2020-04-11 2020-04-11 Block-chain based distributed data storage apparatus and method for storing large data

Country Status (1)

Country Link
KR (1) KR102412830B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102375955B1 (en) * 2021-11-24 2022-03-18 케이디시스 주식회사 Data backup system with improved security
KR20230004295A (en) 2021-06-30 2023-01-06 주식회사 아티프렌즈 Method of data split storage method through the participation of storage nodes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190077765A (en) * 2017-12-26 2019-07-04 경희대학교 산학협력단 Method of storing data using block-chain and Cloud System using thereof
KR20190109842A (en) * 2018-03-19 2019-09-27 주식회사 케이티 Device For Managing QoS Of Storage System And Method Thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190077765A (en) * 2017-12-26 2019-07-04 경희대학교 산학협력단 Method of storing data using block-chain and Cloud System using thereof
KR20190109842A (en) * 2018-03-19 2019-09-27 주식회사 케이티 Device For Managing QoS Of Storage System And Method Thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
민영수 외 2인, 클라우드 컴퓨팅을 위한 분산 파일 시스템 기술, 정보과학회지 27(5), 2008.5, 86-94페이지. 1부.* *
서영덕 외 3인, 비트코인 블록체인을 활용한 보안성이 강화된 분산 스토리지 시스템 구현, 한국정보과학회 학술발표논문집, 2016.6, 1148-1150페이지. 1부.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230004295A (en) 2021-06-30 2023-01-06 주식회사 아티프렌즈 Method of data split storage method through the participation of storage nodes
KR102375955B1 (en) * 2021-11-24 2022-03-18 케이디시스 주식회사 Data backup system with improved security

Also Published As

Publication number Publication date
KR102412830B1 (en) 2022-06-24

Similar Documents

Publication Publication Date Title
US20220198410A1 (en) Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network
US10771240B2 (en) Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport
CN114514732B (en) Method, computing system, and readable medium for consensus protocol for blockchain DAG structures
CN110546636B (en) Confidentiality in federated blockchain networks
Tith et al. Application of blockchain to maintaining patient records in electronic health record for enhanced privacy, scalability, and availability
JP6370016B2 (en) Hierarchical network system, node and program used therefor
US8005227B1 (en) Key information consistency checking in encrypting data storage system
JP3640339B2 (en) System for retrieving electronic data file and method for maintaining the same
CN100592311C (en) Operating system independent data management
WO2018032374A1 (en) Encrypted storage system for block chain and method using same
Shuaib et al. Secure decentralized electronic health records sharing system based on blockchains
US20030081784A1 (en) System for optimized key management with file groups
CN101484927A (en) Method for encrypting and decrypting shared encrypted files
CN110417843A (en) The system and method for the disperse management of asset of equipments outside computer network
US20200034545A1 (en) Information provision device, information provision system, information provision method, and program
JP2023542317A (en) Consensus service for blockchain networks
KR102412830B1 (en) Block-chain based distributed data storage apparatus and method for storing large data
JP2023513420A (en) Index structure for blockchain ledger
JPWO2019082442A1 (en) Data registration methods, data decryption methods, data structures, computers, and programs
KR20220148854A (en) Noisy transactions for data protection
US20200050688A1 (en) Block-chain based distributed data storage apparatus and method for storing large data
Kumar et al. Centralized and Decentralized data backup approaches
Liu et al. A consortium medical blockchain data storage and sharing model based on ipfs
Alouneh et al. Innovative methodology for elevating big data analysis and security
Vishnoi MedFabric4Me: Blockchain based patient centric electronic health records system

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