KR102281901B1 - Apparatus and method for managing data using blockchain - Google Patents

Apparatus and method for managing data using blockchain Download PDF

Info

Publication number
KR102281901B1
KR102281901B1 KR1020190098812A KR20190098812A KR102281901B1 KR 102281901 B1 KR102281901 B1 KR 102281901B1 KR 1020190098812 A KR1020190098812 A KR 1020190098812A KR 20190098812 A KR20190098812 A KR 20190098812A KR 102281901 B1 KR102281901 B1 KR 102281901B1
Authority
KR
South Korea
Prior art keywords
data
block chain
log file
delete
generated
Prior art date
Application number
KR1020190098812A
Other languages
Korean (ko)
Other versions
KR20210019771A (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 KR1020190098812A priority Critical patent/KR102281901B1/en
Publication of KR20210019771A publication Critical patent/KR20210019771A/en
Application granted granted Critical
Publication of KR102281901B1 publication Critical patent/KR102281901B1/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
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법이 제공된다. 본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 장치는, 컴퓨팅 장치 및 블록체인 노드와 통신하도록 구성된 통신부; 상기 데이터를 분산 저장하도록 구성된 저장부; 상기 통신부 및 상기 저장부와 동작 가능하게 연결되도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 컴퓨팅 장치로부터 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 수신하고, 상기 요청에 따라 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하고, 상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하고, 상기 블록체인 노드가 상기 생성된 로그파일을 블록에 포함시켜 블록체인을 생성하도록 상기 생성된 로그파일을 상기 블록체인 노드에 전달하도록 구성된다.A data management apparatus using a block chain according to an embodiment of the present invention and a method therefor are provided. A data management apparatus using a block chain according to an embodiment of the present invention includes: a communication unit configured to communicate with a computing device and a block chain node; a storage unit configured to distribute and store the data; a processor configured to be operatively connected to the communication unit and the storage unit, wherein the processor receives a request for at least one of read, write, and delete for the distributed stored data from the computing device, and responds to the request. Accordingly, at least one of reading, writing, and deletion of the distributed stored data is performed, a log file related to at least one of the performed reading, writing, and deletion is generated, and the block chain node blocks the generated log file. It is configured to transmit the generated log file to the blockchain node to generate a blockchain by including it in the .

Description

블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법{APPARATUS AND METHOD FOR MANAGING DATA USING BLOCKCHAIN}Data management device using block chain and method therefor {APPARATUS AND METHOD FOR MANAGING DATA USING BLOCKCHAIN}

본 발명은 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법을 제공한다.The present invention provides a data management apparatus using a block chain and a method therefor.

최근 스마트 홈, 스마트 오피스 및 IoT(Internet of Things) 인프라 등이 포함된 환경에서의 급증하는 데이터 수요로 인해 거대한 저장 환경에 대한 요구가 증가하고 있다. 종래에는 디지털 장치에 내장되거나 유선으로 연결된 저장 장치가 주로 사용되었으나, 최근에는 네트워크 통신을 통해 외부에서도 자유롭게 접속이 가능한 네트워크 연결 저장 장치가 각광을 받고 있다.Recently, the demand for a huge storage environment is increasing due to the rapidly increasing data demand in environments including smart homes, smart offices, and Internet of Things (IoT) infrastructure. Conventionally, a storage device embedded in a digital device or connected by a wire has been mainly used, but recently, a network-connected storage device that can be freely accessed from the outside through network communication has been in the spotlight.

하지만, 네트워크 연결 저장 장치의 경우, 데이터 공유를 위해 설계된 경우가 많으므로, 사용자에 의한 무분별한 데이터 위조 및 변조로 인한 데이터 무결성의 침해 요소가 있다. 또한, 네트워크 연결 저장 장치는 ID와 비밀번호를 이용하여 사용자 인증을 수행하므로, 최소한의 보안을 제공할 뿐, 데이터를 수정 및 제출하거나 위조 및 변조한 사용자가 실제 사용자와 일치하는지 여부를 확인하기 어렵다.However, in the case of a network-attached storage device, since it is often designed for data sharing, there is a violation of data integrity due to indiscriminate forgery and alteration of data by a user. In addition, since the network-connected storage device performs user authentication using an ID and password, it is difficult to verify whether a user who has modified and submitted data or forged or altered data matches an actual user while providing minimal security.

따라서, 데이터의 무결성, 기밀성 및 가용성 등의 침해를 방지하고, 나아가 침해가 발생된 경우 데이터를 복구하기 위한 방법이 요구된다.Accordingly, there is a need for a method for preventing infringement of data integrity, confidentiality and availability, and furthermore, recovering data when a breach occurs.

본 발명이 해결하고자 하는 과제는 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법을 제공하는 것이다. The problem to be solved by the present invention is to provide a data management apparatus using a block chain and a method therefor.

구체적으로, 본 발명이 해결하고자 하는 과제는 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 증거(예: 로그파일)를 저장하여 데이터 복구를 위한 데이터 버전 관리를 지원하기 위해 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법을 제공하는 것이다.Specifically, the problem to be solved by the present invention is data management using a block chain to support data version management for data recovery by storing evidence (eg, log files) for at least one of data reading, writing, and deletion. To provide an apparatus and a method therefor.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법이 제공된다. 본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 장치는, 컴퓨팅 장치 및 블록체인 노드와 통신하도록 구성된 통신부; 상기 데이터를 분산 저장하도록 구성된 저장부; 상기 통신부 및 상기 저장부와 동작 가능하게 연결되도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 컴퓨팅 장치로부터 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 수신하고, 상기 요청에 따라 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하고, 상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하고, 상기 블록체인 노드가 상기 생성된 로그파일을 블록에 포함시켜 블록체인을 생성하도록 상기 생성된 로그파일을 상기 블록체인 노드에 전달하도록 구성된다. 본 발명의 실시예에 따른 블록에 포함되는 로그파일은, 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이거나, 특정 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일일 수 있다.In order to solve the problems as described above, a data management apparatus using a block chain according to an embodiment of the present invention and a method therefor are provided. A data management apparatus using a block chain according to an embodiment of the present invention includes: a communication unit configured to communicate with a computing device and a block chain node; a storage unit configured to distribute and store the data; a processor configured to be operatively connected to the communication unit and the storage unit, wherein the processor receives a request for at least one of read, write, and delete for the distributed stored data from the computing device, and responds to the request. Accordingly, at least one of reading, writing, and deletion of the distributed stored data is performed, a log file related to at least one of the performed reading, writing, and deletion is generated, and the block chain node blocks the generated log file. It is configured to transmit the generated log file to the blockchain node to generate a blockchain by including it in the . A log file included in a block according to an embodiment of the present invention is a log file generated with respect to at least one of read, write, and delete performed in a specific time range, or a log file that is read, written, or deleted related to specific data. It may be a log file generated for at least one.

본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 장치의 프로세서에 의해서 수행되는 블록체인을 이용한 데이터 관리 방법은, 컴퓨팅 장치로부터 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 수신하는 단계; 상기 요청에 따라 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하는 단계; 상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하는 단계; 및 상기 블록체인 노드가 상기 생성된 로그파일을 블록에 포함시켜 블록체인을 생성하도록 상기 생성된 로그파일을 상기 블록체인 노드에 전달하는 단계를 포함한다. 본 발명의 실시예에 따른 블록에 포함되는 로그파일은, 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이거나, 특정 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일일 수 있다.A data management method using a block chain performed by a processor of a data management device using a block chain according to an embodiment of the present invention receives a request for at least one of read, write, and delete for distributed and stored data from a computing device to do; performing at least one of reading, writing, and deleting the distributed stored data according to the request; generating a log file related to at least one of the read, write, and delete operations; and transmitting the generated log file to the block chain node so that the block chain node generates a block chain by including the generated log file in a block. A log file included in a block according to an embodiment of the present invention is a log file generated with respect to at least one of read, write, and delete performed in a specific time range, or a log file that is read, written, or deleted related to specific data. It may be a log file generated for at least one.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명은 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나가 수행되면 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 로그파일을 블록체인을 이용하여 저장함으로써, 데이터에 대한 신뢰성, 무결성, 기밀성 및 가용성 등을 보장할 수 있고, 데이터 복구를 위한 데이터 버전 관리를 할 수 있다.The present invention stores a log file for at least one of read, write, and delete performed when at least one of reading, writing, and deleting data is performed using a block chain, thereby providing reliability, integrity, and confidentiality of data and availability, and data version management for data recovery.

또한, 본 발명은 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등에 의해 변경된 데이터에 대한 증거를 블록체인에 저장함으로써, 데이터에 대한 보안성을 향상시키고, 데이터 복구를 위해 소요되는 시간 및 자원을 최소화할 수 있다.In addition, the present invention improves data security and minimizes time and resources required for data recovery by storing evidence for data changed by data-related reads, writes, and deletions in the block chain. can do.

또한, 본 발명은 특정 시간 범위에 대응하여 생성된 로그파일, 특정 데이터에 대응하여 생성된 로그파일 및 특정 시간 범위에 따른 특정 데이터에 대응하여 생성된 로그파일 각각을 싱글 블록체인 또는 멀티 블록체인에 저장함으로써, 블록체인에 저장된 증거를 검색하기 위해 소요되는 시간 또한 최소화할 수 있다. In addition, in the present invention, log files generated in response to a specific time range, log files generated in response to specific data, and log files generated in response to specific data according to a specific time range, respectively, are stored in a single block chain or multi block chain. By storing it, the time required to retrieve evidence stored in the blockchain can also be minimized.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.The effect according to the present invention is not limited by the contents exemplified above, and more various effects are included in the present invention.

도 1은 본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 시스템의 개략도이다.
도 2는 본 발명의 실시예에 따른 네트워크 연결 저장 장치를 설명하기 위한 개략적인 블록도이다.
도 3은 본 발명의 실시예에 따른 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하여 로그파일을 생성하고, 생성된 로그파일을 블록체인에 저장하기 위한 방법을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 증거 질의 동작에 대하여 설명하기 위한 블록도이다. 제시된 실시예에서 각 파트 및 각 컴포넌트의 동작은 도 3에서 상술한 내용과 일치할 수 있다.
도 5는 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다.
도 7은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다.
도 8은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다.
도 9는 본 발명의 실시예에 따른 제1 타입의 싱글 블록체인을 설명하기 위한 예시도이다.
도 10은 본 발명의 실시예에 따른 제2 타입의 싱글 블록체인을 설명하기 위한 예시도이다.
도 11은 본 발명의 실시예에 따른 멀티 블록체인을 설명하기 위한 예시도이다.
도 12는 본 발명의 실시예에 따른 블록체인 노드에 전송되는 데이터의 수정과 연관된 증거를 설명하기 위한 개략도이다.
1 is a schematic diagram of a data management system using a block chain according to an embodiment of the present invention.
2 is a schematic block diagram illustrating a network-attached storage device according to an embodiment of the present invention.
3 is a block diagram for explaining a method for generating a log file by performing at least one of reading, writing, and deleting data and storing the generated log file in a block chain according to an embodiment of the present invention.
4 is a block diagram for explaining an evidence query operation according to an embodiment of the present invention. In the presented embodiment, the operation of each part and each component may correspond to the contents described above in FIG. 3 .
5 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention.
6 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention.
7 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention.
8 is a schematic flowchart illustrating a method of managing a log file according to at least one of data read, write, and delete using a block chain in a network-connected storage device according to an embodiment of the present invention.
9 is an exemplary diagram for explaining a first type of single block chain according to an embodiment of the present invention.
10 is an exemplary diagram for explaining a second type of single block chain according to an embodiment of the present invention.
11 is an exemplary diagram for explaining a multi-block chain according to an embodiment of the present invention.
12 is a schematic diagram for explaining evidence related to the modification of data transmitted to a blockchain node according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, and technically various interlocking and driving are possible, as will be fully understood by those skilled in the art, and each embodiment may be independently implemented with respect to each other, It may be possible to implement together in a related relationship.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 블록체인을 이용한 데이터 관리 시스템의 개략도이다.1 is a schematic diagram of a data management system using a block chain according to an embodiment of the present invention.

도 1을 참조하면, 블록체인을 이용한 데이터 관리 시스템(100)은 데이터의 읽기/쓰기/삭제 등과 같은 액션(action)이 수행된 경우 이에 대한 증거(proof)에 해당하는 로그파일(logfile)을 블록체인을 이용하여 저장 및 관리하기 위한 시스템으로서, 게이트웨이(110), 네트워크 연결 저장 시스템(120) 및 블록체인 노드 시스템(130)을 포함할 수 있다.Referring to FIG. 1 , a data management system 100 using a block chain blocks a log file corresponding to a proof of this when an action such as read/write/delete of data is performed. As a system for storage and management using a chain, it may include a gateway 110 , a network-connected storage system 120 , and a blockchain node system 130 .

먼저, 게이트웨이(110)는 네트워크 연결 저장 시스템(120)과 무선 또는 유선으로 연결되며, 네트워크 연결 저장 시스템(120)을 인터넷(internet) 또는 인트라넷(intranet)과 같은 컴퓨터 네트워크에 연결할 수 있다. 이 경우, 사용자는 인터넷 또는 인트라넷에 접속 가능한 휴대용 단말기, 스마트 TV, PC(Personal Computer), 노트북 등과 같은 컴퓨팅 장치(140)를 통해 네트워크 연결 저장 시스템(120)에 저장된 데이터에 접근할 수 있다. 예를 들어, 사용자는 네트워크 연결 저장 시스템(120)에 저장된 영상, 음악 또는 문서와 같은 컨텐츠를 컴퓨팅 장치(140)를 통해 시청할 수 있다. 제시된 실시예에서는 게이트웨이를 설명하였으나, 이에 한정되지 않으며, 게이트웨이(110)와 유사한 기능을 제공하는 라우터, 브릿지 등이 사용될 수 있다.First, the gateway 110 is connected to the network-connected storage system 120 wirelessly or by wire, and the network-connected storage system 120 may be connected to a computer network such as the Internet or an intranet. In this case, the user may access data stored in the network-connected storage system 120 through the computing device 140 such as a portable terminal, a smart TV, a personal computer (PC), a notebook, etc. that can be connected to the Internet or an intranet. For example, the user may view content such as images, music, or documents stored in the network-connected storage system 120 through the computing device 140 . Although a gateway has been described in the presented embodiment, the present invention is not limited thereto, and a router, a bridge, etc. that provide a function similar to the gateway 110 may be used.

다양한 실시예에서 게이트웨이(110)는 컴퓨팅 장치(140)에 제공되는 컨텐츠를 데이터화하여 네트워크 연결 저장 시스템(120)에 전송할 수 있다. 예를 들어, 게이트웨이(110)는 컴퓨팅 장치(140)에 전송되는 동영상 또는 음악 컨텐츠 데이터를 패킷(packet) 단위로 분리하여 네트워크 연결 저장 시스템(120)에 전송할 수 있다.In various embodiments, the gateway 110 may convert the content provided to the computing device 140 into data and transmit it to the network-connected storage system 120 . For example, the gateway 110 may separate the video or music content data transmitted to the computing device 140 in packet units and transmit it to the network-connected storage system 120 .

이어서, 네트워크 연결 저장 시스템(120)은 데이터를 저장하기 위한 저장 매체가 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크에 연결되어 장소에 구속되지 않고 데이터 접근이 가능하도록 구성된 시스템으로서, 네트워크 연결 저장 장치(122) 및 확장 네트워크 연결 저장 장치(124)를 포함할 수 있다.Subsequently, the network-connected storage system 120 is a system configured to enable data access without being constrained by a location in which a storage medium for storing data is connected to a computer network such as the Internet or an intranet, and the network-connected storage device 122 and It may include an extended network attached storage device 124 .

네트워크 연결 저장 장치(122)는 데이터 저장 서버로서, 확장 네트워크 연결 저장 장치(124)와 데이터를 분산 저장할 수 있다. 이러한 동작은 네트워크 연결 저장 장치(122)의 프로세서에 의해서 수행될 수 있다. 예를 들어, 네트워크 연결 저장 장치(122)는 확장 네트워크 연결 저장 장치(124)의 연결을 감지하여 확장 네트워크 연결 저장 장치(124)와 데이터를 분산 저장하도록 설정을 변경할 수 있다. The network-connected storage device 122 is a data storage server, and may distribute and store data with the extended network-connected storage device 124 . This operation may be performed by the processor of the network-attached storage device 122 . For example, the network-attached storage device 122 may detect the connection of the extended network-connected storage device 124 and change the setting to distribute and store data with the extended network-connected storage device 124 .

다양한 실시예에서 네트워크 연결 저장 장치(122)는 적어도 하나의 가상 머신(virtual machine) 또는 컨테이너가 구축되고, 구축된 가상 머신 또는 컨테이너를 통해 확장 네트워크 연결 저장 장치(124)와 데이터를 분산 저장하도록 제어할 수도 있다. 이러한 경우 네트워크 연결 저장 장치(122)는 적어도 하나의 가상 머신 또는 컨테이너를 통해 확장 네트워크 연결 저장 장치(124)의 연결을 감지하여 확장 네트워크 연결 저장 장치(124)와 데이터를 분산 저장하도록 설정을 원격으로 변경할 수 있다. 여기서, 컨테이너는 LXD, LXC, 도커(Docker) 하이퍼바이저(hypervisor) 등에 의해 구현될 수 있으나, 이에 한정되지 않는다.In various embodiments, the network-attached storage device 122 is configured to have at least one virtual machine or container, and control to distribute and store data with the extended network-attached storage device 124 through the built virtual machine or container. You may. In this case, the network-attached storage device 122 detects the connection of the extended network-attached storage device 124 through at least one virtual machine or container, and remotely sets the settings to distribute and store data with the extended network-attached storage device 124 . can be changed Here, the container may be implemented by LXD, LXC, Docker hypervisor, or the like, but is not limited thereto.

네트워크 연결 저장 장치(122)는 컴퓨팅 장치(140)의 요청에 따라 데이터의 읽기/쓰기/삭제 등과 같은 액션을 수행하고, 수행된 액션에 대한 로그파일을 블록체인 노드 시스템(130)에 전달하여 블록체인 노드 시스템(130)에 위치한 블록체인에 로그파일이 저장되도록 할 수 있다. 이러한 데이터는 네트워크 연결 저장 장치(122) 및 확장 네트워크 연결 저장 장치(124)에 분산 저장된 데이터일 수 있다. 상술한 동작은 데이터가 저장된 위치에 따라 네트워크 연결 저장 장치(122) 또는 확장 네트워크 연결 저장 장치(124)에 의해서 수행될 수 있다. The network-connected storage device 122 performs actions such as reading/writing/deleting data according to the request of the computing device 140, and transmits a log file for the performed action to the block chain node system 130 to block A log file can be stored in a block chain located in the chain node system 130 . Such data may be data distributed and stored in the network-attached storage device 122 and the extended network-attached storage device 124 . The above-described operation may be performed by the network-attached storage device 122 or the extended network-connected storage device 124 according to a location where data is stored.

블록체인 노드 시스템(130)은 블록체인 노드(132, 134)를 포함하고, 네트워크 연결 저장 시스템(120)과 상호간의 통신이 가능하며, 데이터 읽기/쓰기/삭제 등에 관한 로그파일이 기록된 블록들의 연결 묶음에 해당하는 블록체인을 생성, 저장 또는 검증하는 동작을 수행할 수 있다. 예를 들어, 블록체인 노드(132, 134)는 데이터 읽기/쓰기/삭제 등에 관한 로그파일을 블록에 포함시켜 이미 존재하는 블록체인에 연결하고, 그 사본을 모든 노드에 분산시켜 저장할 수 있다. 이러한 블록체인 노드(132, 134)는 퍼블릭(public) 또는 프라이빗(private) 블록체인 노드일 수 있다.The block chain node system 130 includes block chain nodes 132 and 134, enables mutual communication with the network-connected storage system 120, and includes blocks in which log files related to data read/write/deletion, etc. are recorded. It can create, store, or verify the blockchain corresponding to the bundle of connections. For example, the block chain nodes 132 and 134 can include log files related to data read/write/deletion, etc. in the block, connect it to an existing block chain, and distribute and store the copy in all nodes. These blockchain nodes 132 and 134 may be public or private blockchain nodes.

다양한 실시예에서 블록체인 노드(132)는 블록체인 노드 시스템(130)을 구성하는 요소로서, 네트워크 연결 저장 시스템(120)과 전용 사설망에 위치할 수 있다. 구체적으로, 블록체인 노드(132)는 동일한 전용 사설망에 존재하는 네트워크 연결 저장 장치(122) 또는 확장 네트워크 연결 저장 장치(124)로부터 데이터 읽기/쓰기/삭제 등에 관한 로그파일을 수신할 수 있다. 블록체인 노드(132)는 수신된 로그파일을 블록에 담아 블록체인에 연결하고 그 사본을 주변의 블록체인 노드(134)에 전달할 수 있다. 이로써, 블록체인 노드 시스템(130)은 블록체인을 이용한 분산 저장된 원장로서의 기능을 할 수 있고, 블록체인으로 저장된 로그 파일은 악의적인 목적에 의한 위조 및 변조가 불가능하다.In various embodiments, the block chain node 132 is an element constituting the block chain node system 130 and may be located in the network-connected storage system 120 and a dedicated private network. Specifically, the blockchain node 132 may receive a log file related to data read/write/deletion, etc. from the network-connected storage device 122 or the extended network-connected storage device 124 existing in the same dedicated private network. The blockchain node 132 may put the received log file in a block, connect it to the blockchain, and transmit a copy to the neighboring blockchain node 134 . Accordingly, the blockchain node system 130 can function as a distributed and stored ledger using the blockchain, and the log files stored in the blockchain cannot be forged or altered for malicious purposes.

하기에서는 본 발명의 실시예에 따른 네트워크 연결 저장 장치(122)에 대해서 도 2를 참조하여 구체적으로 설명하도록 한다.Hereinafter, the network-connected storage device 122 according to an embodiment of the present invention will be described in detail with reference to FIG. 2 .

도 2는 본 발명의 실시예에 따른 네트워크 연결 저장 장치를 설명하기 위한 개략적인 블록도이다. 제시된 실시예에서 네트워크 연결 저장 장치(200)는 도 1의 네트워크 연결 장치(122)일 수 있다.2 is a schematic block diagram illustrating a network-attached storage device according to an embodiment of the present invention. In the presented embodiment, the network-connected storage device 200 may be the network-connected device 122 of FIG. 1 .

도 2를 참조하면, 네트워크 연결 저장 장치(200)는 통신부(210), 저장부(220) 및 프로세서(230)를 포함할 수 있다.Referring to FIG. 2 , the network-connected storage device 200 may include a communication unit 210 , a storage unit 220 , and a processor 230 .

통신부(210)는 네트워크 연결 저장 장치(200)가 외부 장치와 통신 가능하도록 연결한다. 통신부(210)는 유선 또는 무선 통신을 이용하여 확장 네트워크 연결 저장 장치(124), 블록체인 노드(132, 134) 또는 컴퓨팅 장치(140)와 연결될 수 있다. 구체적으로, 통신부(210)는 컴퓨팅 장치(140)로부터 데이터의 읽기/쓰기/삭제 등의 요청을 수신하고, 데이터의 읽기/쓰기/삭제 등에 관한 로그파일을 블록체인에 저장할 수 있도록 블록체인 노드(132, 134)에 로그파일을 전달할 수 있다. 또한 통신부(210)는 확장 네트워크 연결 저장 장치(124)로부터 장치 정보, 성능 정보 또는 네트워크 정보 등을 수신할 수 있다.The communication unit 210 connects the network-connected storage device 200 to communicate with an external device. The communication unit 210 may be connected to the extended network-connected storage device 124 , the block chain nodes 132 , 134 , or the computing device 140 using wired or wireless communication. Specifically, the communication unit 210 receives a request such as read/write/deletion of data from the computing device 140, and a block chain node ( 132, 134) can deliver log files. Also, the communication unit 210 may receive device information, performance information, or network information from the extended network-connected storage device 124 .

저장부(220)는 데이터와 프로그램 등을 읽기/쓰기 위한 매체로서, DRAM(Dynamic Random-Access Memory) 또는 SRAM(Static RAM) 등으로 구성될 수 있는 메모리 및 바로 처리가 필요하지 않는 데이터와 프로그램을 저장할 수 있는 보조기억장치로 구성될 수 있다. 구체적으로 보조기억장치는 하드 디스크 드라이브(Hard Disk Drive; HDD), SSD(Solid State Drive), SD(Secure Digital) 카드, CD(Compact Disk), DVD(Digital Video Disc), 블루레이 디스크(Blu-ray Disk), USB 메모리 등과 같은 다양한 저장 매체로 구성될 수 있다. 상기 저장부(220)는 다이렉트 커넥션(direct connection)을 통해 네트워크 연결 저장 장치(200)의 호스트에 직접 연결될 수 있다.The storage unit 220 is a medium for reading/writing data and programs, and stores memory that can be configured as dynamic random-access memory (DRAM) or static RAM (SRAM) and data and programs that do not require immediate processing. It may be composed of an auxiliary memory that can be stored. Specifically, auxiliary storage devices include hard disk drives (HDD), solid state drives (SSDs), secure digital (SD) cards, compact disks (CDs), digital video discs (DVDs), and Blu-ray discs (Blu- ray Disk), and may be composed of various storage media such as a USB memory. The storage unit 220 may be directly connected to the host of the network-connected storage device 200 through a direct connection.

다양한 실시예에서 저장부(220)는 네트워크 연결 저장 장치(200) 내에 구축된 가상 머신 중 적어도 하나에 의해 생성된 데이터 읽기/쓰기/삭제 등에 관한 로그파일을 저장할 수 있다. 또한 저장부(220)는 확장 네트워크 연결 저장 장치(124)로부터 수신된 장치 정보, 성능 정보 또는 네트워크 정보를 저장할 수 있다.In various embodiments, the storage unit 220 may store log files related to reading/writing/deleting data generated by at least one of virtual machines built in the network-connected storage device 200 . Also, the storage 220 may store device information, performance information, or network information received from the extended network-connected storage device 124 .

프로세서(230)는 통신부(210) 및 저장부(220)와 동작 가능하게 연결되며, 적어도 하나의 가상 머신을 통해 네트워크 연결 저장 장치(200)의 동작을 제어할 수 있다. 프로세서(230)는 적어도 하나의 가상 머신을 통해 네트워크 연결 저장 장치(200) 및 확장 네트워크 연결 저장 장치(124)를 하나의 저장 장치로 사용될 수 있도록 데이터 분산 저장을 제어할 수 있다.The processor 230 is operatively connected to the communication unit 210 and the storage unit 220 , and may control the operation of the network-connected storage device 200 through at least one virtual machine. The processor 230 may control distributed storage of data so that the network-attached storage device 200 and the extended network-attached storage device 124 can be used as one storage device through at least one virtual machine.

프로세서(230)는 컴퓨터 장치(140)로부터 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 요청을 수신하고, 요청에 따라 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나를 수행할 수 있다. 프로세서(230)는 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관한 로그파일을 생성하고, 생성된 로그파일을 블록체인 노드(132)에 전달하여 블록체인 노드(132)가 로그파일을 블록에 포함시켜 블록체인을 생성하도록 할 수 있다. 이러한 로그파일은 트랜잭션(transaction)으로서 블록에 포함될 수 있다.The processor 230 receives a request for at least one of read, write, delete, etc. for the distributed stored data from the computer device 140, and performs at least one of read, write, and delete for the distributed stored data according to the request. can be done The processor 230 generates a log file related to at least one of read, write, delete, etc. performed, and delivers the generated log file to the block chain node 132 so that the block chain node 132 stores the log file in the block. It can be included to create a blockchain. These log files can be included in a block as a transaction.

블록에 포함되는 로그파일은 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일일 수 있다. 예를 들어, 특정 시간 범위는 나노 초 단위(ns)일 수 있으나, 이에 한정되지 않는다. 이러한 경우 각 블록에 따라 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나의 관하여 생성된 로그파일이 포함되는 싱글 블록체인(single blockchain)이 생성될 수 있다. 예를 들어, 생성된 싱글 블록체인의 제1 블록은 제1 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일 또는 제3 파일의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그파일 등이 포함되고, 제2 블록은 제1 시간 범위와 다른 제2 시간 범위에 수행된 제3 파일의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제2 파일의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그 파일 또는 제2 파일의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제3 로그파일 등이 포함될 수 있다.The log file included in the block may be a log file generated with respect to at least one of read, write, and delete performed in a specific time range. For example, the specific time range may be in nanosecond units (ns), but is not limited thereto. In this case, according to each block, a single blockchain including a log file generated with respect to at least one of reads, writes, deletes, etc. performed in a specific time range may be generated. For example, the first block of the generated single block chain is the first log file generated with respect to any one of reading, writing, deletion, etc. of the first data performed in the first time range, reading and writing of the second data , a first log file generated with respect to any one of , deletion, etc. or a second log file generated with respect to any one of reading, writing, or deletion of a third file, etc. are included, and the second block includes the first time range and A first log file generated with respect to any one of reading, writing, and deletion of the third file performed in another second time range, and a second log generated with respect to any one of reading, writing, and deletion of the second file A third log file generated in relation to any one of reading, writing, or deleting a file or a second file may be included.

다양한 실시예에서 블록에 포함되는 로그파일은 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일일 수 있다. 이러한 경우 각 블록에 따라 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 해당하는 로그파일이 포함된 싱글 블록체인이 생성될 수 있다. 예를 들어, 생성된 싱글 블록체인의 제1 블록은 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그파일 및 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제3 로그파일 등을 포함하고, 제2 블록은 제1 데이터와 다른 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그파일 및 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제3 로그파일 등을 포함할 수 있다.In various embodiments, the log file included in the block may be a log file generated with respect to at least one of reading, writing, and deleting specific data. In this case, a single block chain including log files corresponding to at least one of reading, writing, and deleting specific data for each block may be created. For example, the first block of the generated single block chain is the first log file created for any one of reading, writing, and deleting of the first data, and reading, writing, deleting, etc. of the first data. and a third log file generated with respect to any one of reading, writing, and deletion of the first data, and the like, wherein the second block reads and writes second data different from the first data , any one of a first log file created for any one of , deletion, etc., a second log file created for any one of reading, writing, deletion, etc. of second data, and reading, writing, deletion, etc. of second data It may include a third log file generated with respect to the .

다양한 실시예에서 블록에 포함되는 로그파일은 특정 시간 범위에 수행된, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나의 관하여 생성된 로그파일일 수 있다. 이러한 경우 각 블록에 따라 특정 시간 범위에 해당하는 특정 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일이 포함되는 멀티 블록체인(multi-blockchain)이 생성될 수 있다. 예를 들어, 생성된 멀티 블록체인의 제1 블록체인에 포함된 제1 블록은 제1 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제1 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그파일 및 제1 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제3 로그 파일 등이 포함될 수 있다. 제1 블록체인에 포함된 제2 블록은 제1 시간 범위와 다른 제2 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제n+1 로그파일, 제2 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제n+2 로그파일 및 제2 시간 범위에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제n+3 로그 파일 등이 포함될 수 있다(n>0). 생성된 멀티 블록체인의 제2 블록체인에 포함된 제1 블록은 제1 시간 범위에 수행된, 제1 데이터와 다른 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제1 로그파일, 제2 시간 범위에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제2 로그파일 및 제1 시간 범위에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제3 로그 파일 등이 포함될 수 있다. 제2 블록체인에 포함된 제2 블록은 제2 시간 범위에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제m+1 로그파일, 제2 시간 범위에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제m+2 로그파일 및 제2 시간 범위에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 어느 하나에 관하여 생성된 제m+3 로그 파일 등이 포함될 수 있다(m>0).In various embodiments, the log file included in the block may be a log file generated with respect to at least one of reading, writing, and deleting of specific data, performed in a specific time range. In this case, according to each block, a multi-blockchain including log files generated for at least one of reading, writing, and deleting specific data corresponding to a specific time range may be generated. For example, the first block included in the first block chain of the generated multi-block chain is a first log file generated with respect to any one of reading, writing, deletion, etc. of the first data performed in the first time range; The second log file generated with respect to any one of reading, writing, and deletion of the first data performed in the first time range and the reading, writing, and deletion of the first data performed in the first time range The generated third log file may be included. The second block included in the first block chain is the n+1th log file, the second generated with respect to any one of reading, writing, deletion, etc. of the first data performed in a second time range different from the first time range. In any one of the n+2th log file generated with respect to any one of the reading, writing, and deletion of the first data performed in the time range and the reading, writing, deletion, etc. of the first data performed in the second time range The generated n+3th log file may be included (n>0). The first block included in the second block chain of the generated multi-block chain is the first log generated with respect to any one of reading, writing, deletion, etc. of second data different from the first data performed in the first time range Any one of a second log file generated with respect to a file, any one of reading, writing, deletion, etc. of the second data performed in the second time range, and reading, writing, or deletion of the second data performed in the first time range A third log file generated for one may be included. The second block included in the second block chain is the m+1th log file generated with respect to any one of reading, writing, deletion, etc. of the second data performed in the second time range, and the second block performed in the second time range. 2 The m+2th log file generated with respect to any one of reading, writing, and deletion of data and the m+th generated with respect to any one of reading, writing, or deletion of second data performed in the second time range 3 A log file may be included (m>0).

구체적으로, 프로세서(230)는 생성된 로그파일 중 특정 시간 범위에 수행된 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 통신부(210)를 통해 블록체인 노드(132)로 전달할 수 있다. 이를 통해 블록체인 노드(132)는 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시켜 각 시각 범위에 해당하는 로그파일을 블록별로 저장한 싱글 블록체인을 생성할 수 있다. 이와 같이 각 시간 범위에 따라 수행된 읽기, 쓰기, 삭제 등에 관하여 생성된 로그파일을 싱글 블록체인으로 관리함으로써, Specifically, the processor 230 transmits the generated log file to the block chain node 132 through the communication unit 210 for at least one of data read, write, delete, etc. performed in a specific time range among the generated log files. can Through this, the block chain node 132 stores log files corresponding to each time range by block by including the log files generated for at least one of read, write, and delete performed in a specific time range in one block. A single blockchain can be created. In this way, by managing the log files created for read, write, and delete performed according to each time range as a single block chain,

다양한 실시예에서 프로세서(230)는 생성된 로그파일 중 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 통신부(210)를 통해 블록체인 노드(132)로 전달할 수 있다. 이를 통해 블록체인 노드(132)는 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시켜 각 데이터에 대한 로그파일을 블록별로 저장한 싱글 블록체인을 생성할 수 있다. 이와 같이 각 데이터에 대한 읽기, 쓰기, 삭제 등에 관하여 생성된 로그 파일을 싱글 블록체인으로 관리함으로써, 데이터에 대한 보안성을 향상시키고, 데이터 복구를 위해 소요되는 시간 및 자원을 최소화할 수 있으며, 각 데이터에 따른 블록체인에 저장된 증거를 검색하기 위해 소요되는 시간 또한 최소화할 수 있다.In various embodiments, the processor 230 may transmit a log file generated with respect to at least one of reading, writing, and deleting of specific data among the generated log files to the block chain node 132 through the communication unit 210 . . Through this, the block chain node 132 includes a log file generated for at least one of reading, writing, and deleting of specific data in one block to create a single block chain in which the log file for each data is stored for each block. can create In this way, by managing the log files created for reading, writing, and deleting each data as a single block chain, it is possible to improve data security and minimize the time and resources required for data recovery. The time required to search for evidence stored in the blockchain according to the data can also be minimized.

다양한 실시예에서 프로세서(230)는 생성된 로그파일 중 특정 시간 범위에 수행된, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나의 관하여 생성된 로그파일을 통신부(210)를 통해 블록체인 노드(132)로 전달할 수 있다. 이를 통해 블록체인 노드(132)는 특정 시간 범위에 수행된, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나의 관하여 생성된 로그파일을 복수의 블록 각각에 포함시켜 멀티 블록체인을 생성할 수 있다. 이와 같이 각 시간 범위에 따라 수행된, 각 데이터에 대한 읽기, 쓰기, 삭제 등에 관하여 생성된 로그 파일을 멀티 블록체인으로 관리함으로써, 데이터에 대한 보안성을 향상시키고, 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 로그파일을 빠르고 편리하게 검색 및 확인할 수 있으며, 특정 시간 범위에 변경된 데이터를 복구하기 위해 소요되는 시간 및 자원을 최소화할 수 있다.In various embodiments, the processor 230 transmits, through the communication unit 210, a log file generated in relation to at least one of reading, writing, and deleting of specific data, performed in a specific time range among the generated log files, to a block chain node. It can be passed to (132). Through this, the blockchain node 132 can create a multi-blockchain by including in each of a plurality of blocks the log file generated for at least one of reading, writing, and deleting of specific data, performed in a specific time range, in each of the plurality of blocks. there is. In this way, by managing the log files generated for each data read, write, delete, etc., performed according to each time range with a multi-blockchain, the security of data is improved, and reads performed in a specific time range, It is possible to quickly and conveniently search and check log files for at least one of write and delete, and minimize the time and resources required to recover data changed in a specific time range.

하기에서는 프로세서 상에 적어도 하나의 가상 머신이 구축된 경우 적어도 하나의 가상 머신을 통해 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하여 로그파일을 생성하고, 생성된 로그파일을 블록체인에 저장하기 위한 방법을 도 3을 참조하여 상세하게 설명하도록 한다.In the following, when at least one virtual machine is built on the processor, at least one of reading, writing, and deleting data is performed on data through at least one virtual machine to generate a log file, and the generated log file is stored in the block chain. A method for doing this will be described in detail with reference to FIG. 3 .

도 3은 본 발명의 실시예에 따른 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하여 로그파일을 생성하고, 생성된 로그파일을 블록체인에 저장하기 위한 방법을 설명하기 위한 블록도이다. 제시된 실시예에서는 네트워크 연결 저장 장치(122, 200)가 적어도 하나의 가상 머신 중 CnS(Control and Storage) 노드와 같은 가상 머신으로 구현되는 경우를 설명하도록 한다.3 is a block diagram for explaining a method for generating a log file by performing at least one of reading, writing, and deleting data and storing the generated log file in a block chain according to an embodiment of the present invention. In the presented embodiment, a case in which the network-attached storage devices 122 and 200 is implemented as a virtual machine such as a Control and Storage (CnS) node among at least one virtual machine will be described.

도 3을 참조하면, CnS 노드(300)는 라우팅 파트(302), 서비스 파트(304), RPC 파트(324), 코어 파트(326), 메시지 큐 파트(340), 모니터링 파트(342), 분산 파일 시스템 파트(352) 및 제어 O/S 파트(360)가 배치되도록 구성될 수 있다. CnS 노드(300)는 시스템 및 클러스터 구성을 유지하고, 올바른 서비스로 사용자 요청을 전달하기 위한 관리 장치로서 동작할 수 있다. CnS 노드(300)는 제어 및 저장 노드로서 정의되므로, 데이터 서비스뿐만 아니라 분산 파일 시스템 서비스를 함께 제공할 수 있다.3, the CnS node 300 is a routing part 302, a service part 304, an RPC part 324, a core part 326, a message queue part 340, a monitoring part 342, a distribution The file system part 352 and the control O/S part 360 may be configured to be disposed. The CnS node 300 may operate as a management device for maintaining system and cluster configuration and delivering user requests to correct services. Since the CnS node 300 is defined as a control and storage node, it is possible to provide a distributed file system service as well as a data service.

이를 위해 라우팅 파트(302)는 사용자에 의해 컴퓨팅 장치(140)가 네트워크 연결 저장 장치(122)에 연결될 경우 컴퓨팅 장치(140)와 직접적으로 연결될 수 있다. 라우팅 파트(302)는 사용자 요청을 핸들링(handling) 할 수 있다. To this end, the routing part 302 may be directly connected to the computing device 140 when the computing device 140 is connected to the network-attached storage device 122 by the user. The routing part 302 may handle user requests.

서비스 파트(304)는 네트워크 연결 저장 장치(122)에 대한 파일 공유 서비스(file sharing services) 및 시스템 관리 서비스(system management services)를 제공할 수 있다. 이러한 서비스 파트(304)는 System Administration 서비스(306), DFS(Distributed File System) 서비스(308), FDT(Fast Data Transferring Protocol) 서비스(310), SSH(Secure Shell) 서비스(312), FTP(File Transfer Protocol) 서비스(314), TFTP(Trivial File Transfer Protocol) 서비스(316), NFS(Network File System) 서비스(318), SMB(Server Message Block)/CIFS(Common Internet File System) 서비스(320) 및 RSync(remote synchronization) 서비스(322)를 포함하고, 이러한 파일 공유 서비스를 지원할 수 있다. 서비스 파트(304)는 System Administration 서비스(306)에 의해 관리 서비스를 지원하고, RPC 파트(324)를 통해 코어 파트(326)와 협력할 수 있다. 특히, System Administration 서비스(306)는 증거 질의 서비스(evidence query service)를 지원할 수 있다.The service part 304 may provide file sharing services and system management services for the network attached storage device 122 . These service parts 304 include a System Administration service 306 , a Distributed File System (DFS) service 308 , a Fast Data Transferring Protocol (FDT) service 310 , a Secure Shell (SSH) service 312 , and a File System (FTP) service. Transfer Protocol) service (314), Trivial File Transfer Protocol (TFTP) service (316), Network File System (NFS) service (318), Server Message Block (SMB)/Common Internet File System (CIFS) service (320) and It includes a remote synchronization (RSync) service 322 and may support such a file sharing service. The service part 304 may support administration services by the System Administration service 306 and cooperate with the core part 326 via the RPC part 324 . In particular, the System Administration service 306 may support an evidence query service.

RPC 파트(324)는 서비스 파트(304)와 코어 파트(326) 간의 통신을 처리할 수 있다. RPC 파트(324)는 System Administration 서비스(306)를 위해 동작하고, 다른 서비스들에 의해 코어 파트(326)로부터 최신 서비스 정보를 획득할 수 있다.The RPC part 324 may handle communication between the service part 304 and the core part 326 . The RPC part 324 operates for the System Administration service 306 and may obtain the latest service information from the core part 326 by other services.

코어 파트(326)는 네트워크 연결 저장 장치(122)의 시스템 관리를 수행할 수 있다. 코어 파트(326)는 모든 물리적 가상 머신의 전체 시스템 구성 및 상태를 유지할 수 있다. 이러한 코어 파트(326)는 확장성 관리 컴포넌트(328), 시스템 신뢰성 관리 컴포넌트(330), 데이터 부인 봉쇄 관리 컴포넌트(332), 패키지 관리 컴포넌트(334), 사용자 관리 컴포넌트(336) 및 네트워크 관리 컴포넌트(338)가 포함될 수 있다.The core part 326 may perform system management of the network-attached storage device 122 . The core part 326 may maintain the overall system configuration and state of all physical virtual machines. These core parts 326 include a scalability management component 328 , a system reliability management component 330 , a data denial containment management component 332 , a package management component 334 , a user management component 336 and a network management component ( 338) may be included.

확장성 관리 컴포넌트(328)는 스케일 업(scale-up), 스케일 아웃(scale-out), 스케일 다운(scale-down) 및 스케일 인(scale-in)과 같은 물리적 장치 확장성 동작을 처리할 수 있다. 시스템 신뢰성 관리 컴포넌트(330)는 최종 사용자가 네트워크 연결 저장 장치(122)를 계속적으로 사용할 수 있도록 유지하기 위해 동작할 수 있다. 패키지 관리 컴포넌트(334), 사용자 관리 컴포넌트(336) 및 네트워크 관리 컴포넌트(338)는 결함 허용(fault tolerant)을 지원하기 위해 시스템 신뢰성 관리 컴포넌트(330)와 동작하도록 최적화될 수 있다. 시스템 신뢰성 관리 컴포넌트(330)는 확장성 관리 컴포넌트(328)와 함께 물리적 장치 정보, 가상 머신 상태 및 소프트웨어 런타임 정보를 획득하기 위해 모니터링 파트(342)와 협동할 수 있다. 데이터 부인 봉쇄 관리 컴포넌트(332)는 사용자의 데이터 읽기, 쓰기, 삭제 등에 관한 증거(즉, 로그파일)를 저장 및 제공하도록 지원할 수 있다. 패키지 관리 컴포넌트(330)는 시스템 패키지 설치 및 비설치 기능을 제공할 수 있다. 사용자 관리 컴포넌트(336)는 사용자 계정 관리 및 제어 리스트 접근을 지원할 수 있다. 네트워크 관리 컴포넌트(338)는 물리적 가상 머신의 네트워크 구성을 관리하기 위해 사용될 수 있다. The scalability management component 328 may handle physical device scalability operations such as scale-up, scale-out, scale-down, and scale-in. there is. System reliability management component 330 may operate to maintain network attached storage 122 continuously available to end users. Package management component 334 , user management component 336 , and network management component 338 may be optimized to work with system reliability management component 330 to support fault tolerant. The system reliability management component 330 may cooperate with the monitoring part 342 to obtain physical device information, virtual machine state and software runtime information together with the scalability management component 328 . The data denial containment management component 332 may assist in storing and providing evidence (ie, log files) regarding a user's data reads, writes, deletes, and the like. The package management component 330 may provide system package installation and non-installation functions. User management component 336 may support user account management and control list access. The network management component 338 may be used to manage the network configuration of the physical virtual machine.

메시지 큐 파트(340)는 코어 파트(326)에서 필요한 메시지 큐 통신을 지원할 수 있다.The message queue part 340 may support message queue communication required by the core part 326 .

모니터링 파트(342)는 프로세스 모니터링 컴포넌트(344), 디스크 모니터링 컴포넌트(346), 네트워크 모니터링 컴포넌트(348) 및 분산 파일 시스템 모니터링 컴포넌트(350)를 포함할 수 있다. 프로세스 모니터링 컴포넌트(344)는 네트워크 연결 저장 장치(122)의 런타임 프로세스 정보를 수집할 수 있다. 디스크 모니터링 컴포넌트(346)는 디스크 헬스(health)(또는 상태) 정보를 수집할 수 있다. 네트워크 모니터링 컴포넌트(348)는 네트워크 인터페이스를 통해 데이터를 수집할 수 있다. 분산 파일 시스템 모니터링 컴포넌트(350)는 분산 파일 시스템(352)의 상태 정보를 수집할 수 있다. The monitoring part 342 may include a process monitoring component 344 , a disk monitoring component 346 , a network monitoring component 348 , and a distributed file system monitoring component 350 . The process monitoring component 344 may collect runtime process information of the network-attached storage device 122 . Disk monitoring component 346 may collect disk health (or health) information. Network monitoring component 348 may collect data over a network interface. The distributed file system monitoring component 350 may collect status information of the distributed file system 352 .

분산 파일 시스템 파트(352)는 네트워크 연결 저장 장치(122) 및 확장 네트워크 연결 저장 장치(124)에 데이터를 분산 저장하기 위한 기능을 제공할 수 있다. 이러한 분산 파일 시스템 파트(352)는 분산 파일 시스템 메타 데이터 관리 컴포넌트(354), 분산 파일 시스템 객체 데이터 관리 컴포넌트(356) 및 분산 파일 시스템 헬스 관리 컴포넌트(358)를 포함할 수 있다.The distributed file system part 352 may provide a function for distributing and storing data in the network-attached storage device 122 and the extended network-attached storage device 124 . This distributed file system part 352 may include a distributed file system metadata management component 354 , a distributed file system object data management component 356 , and a distributed file system health management component 358 .

분산 파일 시스템 메타 데이터 관리 컴포넌트(354)는 메타 데이터를 관리하고, 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)는 데이터를 객체 수준으로 저장하고 관리하며, 분산 파일 시스템 헬스 관리 컴포넌트(358)는 전체 시스템 상태를 제어할 수 있다. 구체적으로, 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)는 파일 이름 및 폴더 트리와 같은 파일 시스템 메타 데이터를 관리하고, 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)는 물리적 저장 장치의 모든 실제 데이터를 관리하며, 분산 파일 시스템 헬스 관리 컴포넌트(358)는 모든 노드 상태를 관리하고 전체 파일 작업을 처리할 수 있다.Distributed file system metadata management component 354 manages metadata, distributed file system object data management component 356 stores and manages data at the object level, and distributed file system health management component 358 manages the entire system state can be controlled. Specifically, the distributed file system metadata management component 354 manages file system metadata such as file names and folder trees, the distributed file system object data management component 356 manages all the actual data on the physical storage device, and , the distributed file system health management component 358 can manage all node state and handle the entire file operation.

제어 O/S 파트(360)는 적어도 하나의 가상 머신에 하드웨어의 물리적인 자원을 할당할 수 있다. 이에 따라, 적어도 하나의 가상 머신이 하나의 하드웨어에 탑재되어 가상화되더라도, 주어진 자원에 기초한 예측된 시간 내에 작업이 완료될 수 있어, 실시간성이 구현될 수 있다.The control O/S part 360 may allocate a physical resource of hardware to at least one virtual machine. Accordingly, even if at least one virtual machine is mounted on one piece of hardware and virtualized, a task may be completed within a predicted time based on a given resource, and real-time performance may be implemented.

이와 같이 구축된 CnS 노드(300)에서 컴퓨팅 장치(140)를 통해 사용자(362)로부터 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 요청을 수신할 수 있다. 이러한 경우 운영체제 로그인 시스템을 통해 사용자 인증이 이루어질 수 있으며, 사용자에 대한 인증이 완료되면 사용자로부터의 요청이 시작될 수 있다.The CnS node 300 constructed as described above may receive a request for at least one of data read, write, and delete from the user 362 through the computing device 140 . In this case, user authentication may be performed through the operating system login system, and when authentication of the user is completed, a request from the user may be initiated.

다음으로, 요청에 따라 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나가 수행될 수 있다. 사용자에 의한 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 요청은 CnS 노드(300)의 라우팅 파트(302)에 의해서 처리될 수 있다.Next, at least one of reading, writing, and deleting data may be performed according to a request. A request for at least one of data read, write, and delete by a user may be processed by the routing part 302 of the CnS node 300 .

라우팅 파트(302)는 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 서비스 파트(304)에서 지원하는 파일 공유 서비스 중 NFS 컴포넌트(318)로 전달하고, NFS 컴포넌트(318)는 이러한 요청을 분산 파일 시스템(352)의 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)로 전달할 수 있다. The routing part 302 forwards a request for at least one of data read, write, and delete to the NFS component 318 among the file sharing services supported by the service part 304, and the NFS component 318 distributes these requests. to the distributed file system object data management component 356 of the file system 352 .

이러한 요청을 수신한 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)는 요청에 따라 데이터 읽기, 쓰기, 삭제 등 중 적어도 하나를 수행할 수 있다. 이러한 경우 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관한 로그파일이 생성될 수 있다. 생성된 로그파일은 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)에 의해 수집될 수 있다. 로그파일은 사용자 정보, 사용자 IP, 타임스탬프, 데이터 이름, 데이터 경로, 아이노드(inode)의 ID 및 사용자 오퍼레이션 데이터 중 적어도 하나를 포함할 수 있다. 여기서, 아이노드는 데이터를 기술하는 디스크 상의 데이터 구조로서, 소유자 그룹, 접근 모드(읽기, 쓰기, 실행 권한), 파일 종류, 아이노드 숫자 등과 같이 데이터에 관한 정보를 포함할 수 있다.Upon receiving the request, the distributed file system object data management component 356 may perform at least one of reading, writing, and deleting data according to the request. In this case, a log file regarding at least one of read, write, delete, etc. performed may be generated. The generated log files may be collected by the distributed file system metadata management component 354 . The log file may include at least one of user information, user IP, timestamp, data name, data path, inode ID, and user operation data. Here, an inode is a data structure on a disk that describes data, and may include information about data, such as an owner group, an access mode (read, write, and execute permission), a file type, an inode number, and the like.

분산 파일 시스템 메타 데이터 관리 컴포넌트(354) 및/또는 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)는 데이터 부인 봉쇄 관리 컴포넌트(332)의 명령에 대응하여 읽기, 쓰기, 삭제 등에 의해 변경된 데이터에 관한 스냅샷(snapshot)을 수집하거나, 변경되기 전의 데이터에 관한 스냅샷을 수집할 수 있다. 이와 같이 스냅샷을 수집하는 동작은 각 컴포넌트의 설정에 따라 수행될 수 있으며, 이에 한정되지 않는다. 예를 들어, 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)가 변경되기 전의 데이터에 관한 스냅샷을 수집하고, 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)가 변경된 데이터에 관한 스냅샷을 수집할 수 있다. 또는 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)가 변경된 데이터에 관한 스냅샷을 수집하고, 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)가 변경되기 전의 데이터에 관한 스냅샷을 수집할 수도 있다.The distributed file system metadata management component 354 and/or the distributed file system object data management component 356 provides snapshots regarding data changed by read, write, delete, etc. in response to commands of the data denial containment management component 332 . You can collect (snapshot) or take a snapshot of the data before it is changed. The operation of collecting the snapshot as described above may be performed according to the setting of each component, but is not limited thereto. For example, the distributed file system metadata management component 354 may collect a snapshot about the data before it is changed, and the distributed file system object data management component 356 may collect a snapshot about the changed data. Alternatively, the distributed file system metadata management component 354 may collect a snapshot about the changed data, and the distributed file system object data management component 356 may collect a snapshot about the data before the change.

이와 같이 수집된 스냅샷은 로그파일과 함께 블록체인 노드(132)로 전달되어 블록체인에 저장될 수 있다. 블록체인 내에 저장 공간이 부족할 경우 스냅샷은 분산 파일 시스템(352)의 저장소에 저장될 수도 있다. 다양한 실시예에서 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)는 스냅샷의 암호화된 ID 또는 스냅샷의 해시 스트링(hash string)을 수집하고, 수집된 ID 또는 해시 스트링이 블록체인 내에 저장될 수 있다. 이를 통해서 블록체인 내의 저장 공간을 절약할 수 있다.The snapshot collected in this way may be transmitted to the blockchain node 132 together with the log file and stored in the blockchain. When the storage space in the blockchain is insufficient, the snapshot may be stored in the storage of the distributed file system 352 . In various embodiments, distributed file system metadata management component 354 may collect an encrypted ID of the snapshot or a hash string of the snapshot, and the collected ID or hash string may be stored in a blockchain. This can save storage space in the blockchain.

이러한 스냅샷을 이용하여 데이터의 위조 및 변조 발생 시 데이터를 변경 전 상태로 복구할 수 있다. 이와 같은 스냅샷이 로그파일과 함께 증거로서 전달되는 상세한 동작에 대해서는 도 12를 참조하여 하기에서 구체적으로 설명하도록 한다.Using these snapshots, data can be restored to the state before the change in the event of forgery or alteration of data. A detailed operation in which such a snapshot is transmitted as evidence together with the log file will be described in detail below with reference to FIG. 12 .

다음으로, 수집된 로그파일은 블록체인 노드(132)로 전달되고, 블록체인 노드(132)가 로그파일을 블록에 포함시켜 블록체인을 생성할 수 있다. 구체적으로, 분산 파일 시스템 메타 데이터 관리 컴포넌트(354)는 수집된 로그파일 중 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그 파일, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일 또는 특정 시간 범위에 수행된, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 코어 파트(326)의 데이터 부인 봉쇄 관리 컴포넌트(332)로 전달할 수 있다. 이때, 로그파일뿐만 아니라 스냅샷 또는 스냅샷 관련 정보(예: 암호화된 ID 또는 해시 스트링)가 함께 전달될 수 있다. Next, the collected log file is transmitted to the block chain node 132, and the block chain node 132 can create a block chain by including the log file in the block. Specifically, the distributed file system metadata management component 354 is a log file generated with respect to at least one of reads, writes, and deletions performed in a specific time range among the collected log files, and reads, writes, and deletes specific data. The data denial containment management component of the core part 326 of the log file generated with respect to at least one of, etc. or the log file generated with respect to at least one of read, write, delete, etc. for specific data performed in a specific time range 332) can be forwarded. In this case, not only the log file but also the snapshot or snapshot-related information (eg, an encrypted ID or hash string) may be delivered together.

다양한 실시예에서 수집된 로그파일 중 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그 파일, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일 또는 특정 시간 범위에 수행된, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일은 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)를 통해서 데이터 부인 봉쇄 관리 컴포넌트(332)로 전달될 수도 있다.Among the log files collected in various embodiments, a log file generated with respect to at least one of reads, writes, and deletions performed in a specific time range, and a log file generated with respect to at least one of reads, writes, and deletions for specific data Alternatively, the log file generated for at least one of read, write, delete, etc. for specific data, performed in a specific time range, is delivered to the data denial containment management component 332 through the distributed file system object data management component 356 . could be

이를 수신한 데이터 부인 봉쇄 관리 컴포넌트(332)는 로그파일을 트랜잭션으로서 블록체인 노드(132)로 전달할 수 있다. 이때, 로그파일뿐만 아니라 스냅샷 또는 스냅샷 관련 정보가 함께 전달될 수 있다. 또한, 데이터 부인 봉쇄 관리 컴포넌트(332)는 전술한 바와 같이 분산 파일 시스템 메타 데이터 관리 컴포넌트(354) 및/또는 분산 파일 시스템 객체 데이터 관리 컴포넌트(356)를 통해서 스냅샷 및/또는 스냅샷 관련 정보를 수집할 수 있다. 여기서, 트랜잭션은 블록체인 상에 존재하는 데이터 읽기, 쓰기, 삭제 등을 위한 스마트 컨트랙트(smart contract)의 상태를 변경시키 위한 데이터 구조체로서 전자 서명에 의해 암호화될 수 있다. 스마트 컨트랙트는 solidity 언어로 작성된 응용프로그램으로서, 컴파일된 코드 형태로 각 블록체인 노드로 배포될 수 있다. 배포된 스마트 컨트랙트는 각 블록체인 노드의 EVM(Ethereum Virtual Machine)에서 실행되어 블록 내의 상태 변화 또는 데이터 저장 등의 기능을 수행할 수 있다.Upon receiving this, the data denial containment management component 332 may forward the log file as a transaction to the blockchain node 132 . In this case, not only the log file but also the snapshot or snapshot-related information may be transmitted together. In addition, the data denial containment management component 332 stores snapshots and/or snapshot-related information via the distributed file system metadata management component 354 and/or the distributed file system object data management component 356, as described above. can be collected Here, the transaction may be encrypted by an electronic signature as a data structure for changing the state of a smart contract for reading, writing, or deleting data existing on the block chain. Smart contracts are applications written in the solidity language, and can be deployed to each blockchain node in the form of compiled code. Deployed smart contracts can be executed in the EVM (Ethereum Virtual Machine) of each blockchain node to perform functions such as state change in blocks or data storage.

로그파일을 수신한 블록체인 노드(132)는 스마트 컨트랙트를 실행시켜 로그파일을 블록체인에 저장할 수 있다. 스마트 컨트랙트의 코드 내 함수의 실행에 의해 데이터 읽기, 쓰기, 삭제 등에 관한 로그파일이 블록체인에 저장될 수 있다. 이때, 로그파일뿐만 아니라 스냅샷 또는 스냅샷 관련 정보도 함께 저장될 수 있다.The block chain node 132 that has received the log file may store the log file in the block chain by executing the smart contract. Log files related to data reading, writing, deletion, etc. can be stored in the block chain by executing functions in the code of the smart contract. In this case, not only the log file but also the snapshot or snapshot-related information may be stored together.

구체적으로, 블록체인 노드(132)는 스마트 컨트랙트 실행에 의해 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시키고, 이러한 블록을 연결하여 싱글 블록체인을 생성하거나, 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시키고, 이러한 블록을 연결하여 싱글 블록체인을 생성할 수 있다. Specifically, the block chain node 132 includes a log file generated for at least one of read, write, and delete performed in a specific time range by smart contract execution in one block, and connects these blocks to a single A single block chain can be created by creating a block chain or by including a log file generated for at least one of reading, writing, and deleting specific data in one block, and connecting these blocks.

다양한 실시예에서 블록체인 노드(132)는 스마트 컨트랙트 실행에 의해 제1 시간 범위에 수행된 제1 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시키고, 제2 시간 범위에 수행된 제1 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시켜 이러한 블록을 연결하여 제1 싱글 블록체인을 생성하고, 제1 시간 범위에 수행된 제2 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시키고, 제2 시간 범위에 수행된 제2 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 하나의 블록에 포함시켜 제2 싱글 블록 체인을 생성한 후 생성된 제1 싱글 블록체인 및 제2 싱글 블록체인을 연결한 멀티 블록체인을 생성할 수 있다. 제시된 실시예에서는 2개의 싱글 블록체인을 연결하여 멀티 블록체인을 생성하는 것으로 설명하였으나, 이에 한정되지 않으며, 다수의 싱글 블록체인이 연결된 멀티 블록체인을 생성하는 등의 다양한 방법으로 생성될 수 있다.In various embodiments, the block chain node 132 includes a log file generated for at least one of read, write, delete, etc. of the first data performed in the first time range by smart contract execution in one block, and , a log file generated for at least one of read, write, delete, etc. of the first data performed in the second time range is included in one block to connect these blocks to create the first single block chain, A log file generated for at least one of reading, writing, and deleting of the second data performed in one time range is included in one block, and reading and writing of the second data performed in the second time range are included in one block; After creating the second single block chain by including the log file generated for at least one of deletion, etc. in one block, it is possible to create a multi block chain that connects the first single block chain and the second single block chain. there is. In the presented embodiment, it has been described that a multi-blockchain is created by connecting two single block chains, but it is not limited thereto, and it can be created in various ways, such as creating a multi-blockchain in which a plurality of single block chains are connected.

이를 통해서 본 발명은 데이터에 대한 신뢰성, 무결성, 기밀성 및 가용성 등을 보장할 수 있고, 데이터 복구를 위한 데이터 버전 관리를 할 수 있다. 또한, 본 발명은 데이터에 대한 보안성을 향상시키고, 데이터 복구를 위해 소요되는 시간 및 자원을 최소화할 수 있다.Through this, the present invention can ensure reliability, integrity, confidentiality and availability of data, and data version management for data recovery. In addition, the present invention can improve data security and minimize time and resources required for data recovery.

하기에서는 프로세서 상에 구축된 적어도 하나의 가상 머신을 증거 질의 동작에 대해서 도 4를 참조하여 상세하게 설명하도록 한다.Hereinafter, an evidence query operation of at least one virtual machine built on the processor will be described in detail with reference to FIG. 4 .

도 4는 본 발명의 실시예에 따른 증거 질의 동작에 대하여 설명하기 위한 블록도이다. 제시된 실시예에서 각 파트 및 각 컴포넌트의 동작은 도 3에서 상술한 내용과 일치할 수 있다.4 is a block diagram for explaining an evidence query operation according to an embodiment of the present invention. In the presented embodiment, the operation of each part and each component may correspond to the contents described above with reference to FIG. 3 .

도 4를 참조하면, 증거 질의 동작은 System Administration 컴포넌트(306)에 의해서 수행되며, 블록체인 노드(132)에 저장된 로그파일을 검색하기 위한 동작을 의미할 수 있다.Referring to FIG. 4 , the evidence query operation is performed by the System Administration component 306 , and may mean an operation for searching log files stored in the blockchain node 132 .

System Administration 컴포넌트(306)는 컴퓨팅 장치(140)를 통해 사용자(362)로부터 특정 시간 범위에 해당하거나, 특정 데이터에 대하여 저장된 로그파일을 검색하기 위한 질의(query)를 수신한다. 이러한 질의는 검색하고자 하는 데이터 이름 또는 타임스탬프가 포함될 수 있다. 이때, 타임스탬프는 최근 수정된 타임스탬프일 수 있다. System Administration 컴포넌트(306)는 이러한 질의를 데이터 부인 봉쇄 관리 컴포넌트(332)로 전달하고, 질의를 수신한 데이터 부인 봉쇄 관리 컴포넌트(332)는 질의에 포함된 데이터 이름 및/또는 타임스탬프에 해당하는 로그파일을 검색하기 위한 스마트 컨트랙트를 각 블록체인 노드로 배포할 수 있다.The System Administration component 306 receives a query from the user 362 through the computing device 140 to retrieve a log file stored for a specific data range or corresponding to a specific time range. These queries may include data names or timestamps to be retrieved. In this case, the timestamp may be a recently modified timestamp. The System Administration component 306 passes this query to the data denial containment administration component 332, which receives the query and logs corresponding to the data name and/or timestamp contained in the query. A smart contract for retrieving files can be deployed to each blockchain node.

블록체인 노드(132)는 스마트 컨트랙트를 실행시켜 질의에 포함된 데이터 이름 또는 타임스탬프에 해당하는 로그파일을 데이터 부인 봉쇄 관리 컴포넌트(332)로 전달할 수 있다. 이때, 로그파일과 함께 로그파일이 저장된 블록 넘버(block number) 및/또는 이전 블록을 나타내는 해시 포인터(hash pointer)가 전달될 수 있다.The blockchain node 132 may execute the smart contract to deliver a log file corresponding to the data name or timestamp included in the query to the data denial containment management component 332 . In this case, a block number in which the log file is stored and/or a hash pointer indicating a previous block may be transmitted together with the log file.

데이터 부인 봉쇄 관리 컴포넌트(332)는 획득된 로그파일을 System Administration 컴포넌트(306)로 전달하고, System Administration 컴포넌트(306)는 획득된 로그파일을 컴퓨터 장치(140)로 전달함으로써, 사용자는 블록체인에 저장된 로그파일 중 원하는 로그파일을 검색할 수 있다.The data denial containment management component 332 transmits the obtained log file to the System Administration component 306, and the System Administration component 306 transmits the obtained log file to the computer device 140, so that the user can access the blockchain. You can search for a desired log file among the saved log files.

이를 통해서 본 발명은 블록체인에 저장된 증거를 검색하기 위해 소요되는 시간을 최소화할 수 있다.Through this, the present invention can minimize the time required to search for evidence stored in the block chain.

도 5는 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다. 제시된 실시예에서 하기의 동작들은 네트워크 연결 저장 장치(122, 200)의 프로세서(230) 또는 프로세서(230) 상에 구축된 적어도 하나의 가상 머신 또는 컨테이너에 의해서 수행될 수 있다. 5 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention. In the presented embodiment, the following operations may be performed by the processor 230 of the network-attached storage devices 122 and 200 or at least one virtual machine or container built on the processor 230 .

도 1 및 도 5를 참조하면, 네트워크 연결 저장 장치(122)는 컴퓨팅 장치(140)로부터 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나의 대한 요청을 수신하고(S500), 요청에 따라 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행한다(S510). 네트워크 연결 저장 장치(122)는 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하고(S520), 블록체인 노드(132)가 로그파일을 블록에 포함시켜 블록체인을 생성하도록 로그파일을 블록체인 노드(132)로 전달한다(S530).1 and 5 , the network-attached storage device 122 receives a request for at least one of read, write, and delete for distributed and stored data from the computing device 140 (S500), and distributes according to the request. At least one of reading, writing, and deleting the stored data is performed (S510). The network-connected storage device 122 generates a log file related to at least one of read, write, and delete performed (S520), and a log file so that the block chain node 132 includes the log file in the block to create a block chain. is transferred to the blockchain node 132 (S530).

도 6은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다. 제시된 실시예에서는 시간 범위별 싱글 블록체인을 생성하는 과정에 대해서 설명하도록 한다.6 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention. In the presented embodiment, the process of creating a single block chain for each time range will be described.

도 1 및 도 6을 참조하면, S600 단계 내지 S620 단계는 도 5의 상술한 S500 단계 내지 S520 단계와 일치할 수 있다.1 and 6 , steps S600 to S620 may coincide with steps S500 to S520 of FIG. 5 .

S620 단계 이후 네트워크 연결 저장 장치(122)는 생성된 로그파일 중 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 블록체인 노드(132)로 전달한다(S630). 이를 수신한 블록체인 노드(132)는 로그파일을 블록에 포함시켜 싱글 블록체인을 생성하거나, 블록체인이 이미 존재하는 경우 해당 싱글 블록체인에 블록을 연결할 수 있다. 블록체인의 각 블록은 서로 다른 시간 범위에 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이 포함될 수 있다. 이와 같이 블록체인 노드(132)는 시간 범위별 로그파일이 포함된 블록을 연결하여 싱글 블록체인을 생성할 수 있다.After step S620, the network-connected storage device 122 transmits the generated log file with respect to at least one of read, write, and delete performed in a specific time range among the generated log files to the block chain node 132 (S630). The block chain node 132 that has received this can create a single block chain by including the log file in the block, or, if the block chain already exists, can connect the block to the single block chain. Each block of the blockchain may contain log files generated for at least one of reads, writes, and deletes performed in different time ranges. In this way, the block chain node 132 can create a single block chain by connecting blocks including log files for each time range.

도 7은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다. 제시된 실시예에서는 데이터별 싱글 블록체인을 생성하는 과정에 대해서 설명하도록 한다.7 is a schematic flowchart illustrating a method of managing a log file according to at least one of data reading, writing, and deletion using a block chain in a network-connected storage device according to an embodiment of the present invention. In the presented embodiment, the process of creating a single block chain for each data will be described.

도 1 및 도 7을 참조하면, S700 단계 내지 S720 단계는 도 5 및 도 6에서 상술한 S500 단계 내지 S520 단계 및/또는 S600 단계 내지 S620 단계와 일치할 수 있다.1 and 7 , steps S700 to S720 may coincide with steps S500 to S520 and/or steps S600 to S620 described above with reference to FIGS. 5 and 6 .

S720 단계 이후 네트워크 연결 저장 장치(122)는 생성된 로그파일 중 특정 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 블록체인 노드(132)로 전달한다(S730). 이를 수신한 블록체인 노드(132)는 로그파일을 블록에 포함시켜 싱글 블록체인을 생성하거나, 블록체인이 이미 존재하는 경우 해당 싱글 블록체인에 연결할 수 있다. 블록체인의 각 블록은 서로 다른 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이 포함될 수 있다. 이와 같이 블록체인 노드(132)는 데이터별 로그파일이 포함된 블록을 연결하여 싱글 블록체인을 생성할 수 있다.After step S720, the network-connected storage device 122 transmits the generated log file for at least one of read, write, and delete performed in relation to specific data among the generated log files to the block chain node 132 (S730). . The block chain node 132 that has received this can create a single block chain by including the log file in the block, or can connect to the single block chain if the block chain already exists. Each block of the blockchain may include log files generated for at least one of reads, writes, and deletions performed in relation to different data. In this way, the block chain node 132 can create a single block chain by connecting blocks including log files for each data.

도 8은 본 발명의 실시예에 따른 네트워크 연결 저장 장치에서 블록체인을 이용하여 데이터 읽기, 쓰기, 삭제 중 적어도 하나에 따른 로그파일을 관리하는 방법을 나타내는 개략적인 흐름도이다. 시간 범위 및 데이터에 따른 멀티 블록체인을 생성하는 과정에 대해서 설명하도록 한다.8 is a schematic flowchart illustrating a method of managing a log file according to at least one of data read, write, and delete using a block chain in a network-connected storage device according to an embodiment of the present invention. The process of creating a multi-blockchain according to the time range and data will be described.

도 1 및 도 8을 참조하면, S800 단계 내지 S820 단계는 도 5, 도 6 및 도 7에서 상술한 S500 단계 내지 S520 단계, S600 단계 내지 S620 단계 및/또는 S700 단계 내지 S720 단계와 일치할 수 있다.1 and 8 , steps S800 to S820 may coincide with steps S500 to S520, S600 to S620 and/or S700 to S720 described above in FIGS. 5, 6 and 7 . .

S820 단계 이후 네트워크 연결 저장 장치(122)는 생성된 로그파일 중 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 블록체인 노드(132)로 전달한다(S830). 이를 수신한 블록체인 노드(132)는 특정 데이터에 대한 로그파일 중 특정 시간 범위에 해당하는 로그파일을 블록에 포함시켜 멀티 블록체인을 생성하거나, 이미 존재하는 멀티 블록체인에 연결할 수 있다. 멀티 블록체인은 동일 데이터에 대한 시간 범위별 블록이 연결된 싱글 블록체인의 집합을 의미할 수 있다. 예를 들어, 블록체인 노드(132)는 제1 데이터, 제2 데이터, 제3 데이터, … 제n 데이터 각각에 대응하는 싱글 블록체인을 생성하고, 생성된 싱글 블록체인을 연결하여 멀티 블록체인을 생성할 수 있다. 이러한 복수의 싱글 블록체인은 제네시스 블록(genesis block)에 의해서 서로 연결될 수 있다. 제1 데이터, 제2 데이터, 제3 데이터, …제n 데이터 각각에 대응하는 싱글 블록체인에 포함된 블록은 시간 범위별로 각 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이 포함될 수 있다. 이와 같이 블록체인 노드(132)는 시간 범위별 및 데이터별 로그파일이 포함된 블록을 연결하여 멀티 블록체인을 생성할 수 있다.After step S820, the network-connected storage device 122 transmits the generated log file to the block chain node 132 for at least one of reading, writing, and deleting of specific data performed in a specific time range among the generated log files. (S830). The block chain node 132 that has received this can create a multi-blockchain by including a log file corresponding to a specific time range among log files for specific data in a block, or can connect to an existing multi-blockchain. A multi-blockchain can mean a set of single blockchains in which blocks for each time range for the same data are connected. For example, the blockchain node 132 includes first data, second data, third data, ... A single block chain corresponding to each of the n-th data can be created, and a multi block chain can be created by connecting the generated single block chain. A plurality of such single block chains can be connected to each other by a genesis block. First data, second data, third data, ... A block included in the single block chain corresponding to each of the n-th data may include a log file generated with respect to at least one of read, write, and delete performed in relation to each data by time range. In this way, the blockchain node 132 can create a multi-blockchain by connecting blocks including log files for each time range and for each data.

하기에서는 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 저장한 제1 타입의 싱글 블록체인에 대해서 도 9를 참조하여 설명하도록 한다.Hereinafter, a single block chain of the first type in which a log file generated with respect to at least one of read, write, and delete performed in a specific time range is stored will be described with reference to FIG. 9 .

도 9는 본 발명의 실시예에 따른 제1 타입의 싱글 블록체인을 설명하기 위한 예시도이다. 제시된 실시예에서는 블록체인 노드(132)에서 제1 타입의 싱글 블록체인을 생성하는 경우를 설명하도록 한다.9 is an exemplary diagram for explaining a first type of single block chain according to an embodiment of the present invention. In the presented embodiment, a case in which the block chain node 132 generates a single block chain of the first type will be described.

도 9를 참조하면, 블록체인 노드(132)는 특정 시간 범위에 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 블록에 포함시켜 제1 타입의 싱글 블록체인(900)을 생성할 수 있다.Referring to FIG. 9 , the block chain node 132 includes a log file generated with respect to at least one of read, write, delete, etc. performed in a specific time range in a block to create a single block chain 900 of the first type. can create

제1 타입의 싱글 블록체인(900)은 제1 블록(910), 제2 블록(920), …제n 블록(930)이 연결될 수 있다(n>0). 예를 들어, 제1 블록(910)은 제1 타임스탬프(912)에 해당하는 제1 데이터의 제1 로그파일(914), 제2 데이터의 제1 로그파일(916), …제N 데이터의 제n 로그파일(918)을 포함할 수 있고, 제2 블록(920)은 제1 타임스탬프(912)와 다른 제2 타임스탬프(922)에 해당하는 제3 데이터의 제1 로그파일(924), 제2 데이터의 제2 로그파일(926), …제M 데이터의 제m 로그파일(928)을 포함할 수 있다(N>0, M>0, m>0).The first type of single block chain 900 is a first block 910, a second block 920, ... An n-th block 930 may be connected (n>0). For example, the first block 910 includes a first log file 914 of the first data corresponding to the first timestamp 912, a first log file 916 of the second data, ... It may include an n-th log file 918 of the N-th data, and the second block 920 is a first log of third data corresponding to a second timestamp 922 different from the first timestamp 912 . A file 924, a second log file 926 of the second data, ... An m-th log file 928 of the M-th data may be included (N>0, M>0, m>0).

구체적으로, 블록체인 노드(132)는 제1 타임스탬프(912)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(914), 제1 타임스탬프(912)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(916), …제1 타임스탬프(912)에 수행된 제M 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n 로그파일(918)을 제1 블록(910)에 포함시켜 제1 타입의 싱글 블록체인(900)에 연결할 수 있다. Specifically, the block chain node 132 generates a first log file 914, a first timestamp ( The first log file 916 generated with respect to at least one of read, write, delete, etc. of the second data performed in 912 , . . . The first type single block by including the n-th log file 918 generated with respect to at least one of reading, writing, and deletion of the M-th data performed at the first timestamp 912 in the first block 910 . It can be connected to a chain 900 .

블록체인 노드(132)는 제2 타임스탬프(922)에 수행된 제3 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(924), 제2 타임스탬프(922)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제2 로그파일(926), …제2 타임스탬프(922)에 수행된 제M 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m 로그파일(928)을 제2 블록(920)에 포함시켜 제1 타입의 싱글 블록체인(900)에 연결할 수 있다.The block chain node 132 records the first log file 924 and the second timestamp 922 generated with respect to at least one of read, write, delete, etc. of the third data performed at the second timestamp 922. A second log file 926 generated with respect to at least one of the performed second data read, write, delete, and the like, . . . The first type single block by including the m th log file 928 generated with respect to at least one of reading, writing, and deleting of the M th data performed at the second timestamp 922 in the second block 920 . It can be connected to a chain 900 .

하기에서는 특정 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 저장한 제2 타입의 싱글 블록체인에 대해서 도 10를 참조하여 설명하도록 한다.Hereinafter, a second type of single block chain in which a log file generated with respect to at least one of read, write, and delete performed in relation to specific data is stored will be described with reference to FIG. 10 .

도 10은 본 발명의 실시예에 따른 제2 타입의 싱글 블록체인을 설명하기 위한 예시도이다. 제시된 실시예에서는 블록체인 노드(132)에서 제2 타입의 싱글 블록체인을 생성하는 경우를 설명하도록 한다.10 is an exemplary diagram for explaining a second type of single block chain according to an embodiment of the present invention. In the presented embodiment, a case in which the block chain node 132 generates a single block chain of the second type will be described.

도 10을 참조하면, 블록체인 노드(132)는 특정 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 블록에 포함시켜 제2 타입의 싱글 블록체인(1000)을 생성할 수 있다.Referring to FIG. 10 , the block chain node 132 includes a log file generated with respect to at least one of read, write, delete, etc. performed in relation to specific data in a block to include a second type of single block chain 1000 can create

제2 타입의 싱글 블록체인(1000)은 제1 블록(1010), 제2 블록(1020), …제n 블록(1030)이 연결될 수 있다. 예를 들어, 제1 블록(1010)은 제1 데이터의 제1 로그파일(1012), 제1 데이터의 제2 로그파일(1014), …제1 데이터의 제n 로그파일(1016)을 포함하고, 제2 블록(1020)은 제3 데이터의 제1 로그파일(1022), 제3 데이터의 제2 로그파일(1024), …제3 데이터의 제m 로그파일(1026)을 포함할 수 있다. The second type of single block chain 1000 is a first block 1010, a second block 1020, ... An n-th block 1030 may be connected. For example, the first block 1010 includes a first log file 1012 of the first data, a second log file 1014 of the first data, ... The n-th log file 1016 of the first data is included, and the second block 1020 includes the first log file 1022 of the third data, the second log file 1024 of the third data, ... An mth log file 1026 of the third data may be included.

구체적으로, 블록체인 노드(132)는 제1 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제1 로그파일(1012), 제1 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제2 로그파일(1014), …제1 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제n 로그파일(1016)을 제1 블록(1010)에 포함시켜 제2 타입의 싱글 블록체인(1000)에 연결할 수 있다. Specifically, the block chain node 132 includes a first log file 1012 for at least one of reads, writes, and deletions performed in relation to the first data, and reads, writes, and deletes performed in relation to the first data. The second log file 1014 for at least one of, ... The n-th log file 1016 for at least one of read, write, and delete performed in relation to the first data may be included in the first block 1010 to be connected to the single block chain 1000 of the second type. .

블록체인 노드(132)는 제3 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제1 로그파일(1022), 제3 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제2 로그파일(1024), …제3 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 제m 로그파일(1026)을 제2 블록(1020)에 포함시켜 제2 타입의 싱글 블록체인(1000)에 연결할 수 있다.The block chain node 132 includes at least the first log file 1022 for at least one of read, write, and delete performed in relation to the third data, and at least one of the read, write, and delete performed in relation to the third data. A second log file 1024 for one, ... The m-th log file 1026 for at least one of read, write, delete, etc. performed in relation to the third data may be included in the second block 1020 to be connected to the second type of single block chain 1000 .

하기에서는 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 저장한 멀티 블록체인에 대해서 도 11을 참조하여 설명하도록 한다.Hereinafter, a multi-block chain storing log files generated for at least one of read, write, and delete of specific data performed in a specific time range will be described with reference to FIG. 11 .

도 11은 본 발명의 실시예에 따른 멀티 블록체인을 설명하기 위한 예시도이다. 제시된 실시예에서는 블록체인 노드(132)에서 멀티 블록체인을 생성하는 경우를 설명하도록 한다.11 is an exemplary diagram for explaining a multi-block chain according to an embodiment of the present invention. In the presented embodiment, a case of generating a multi-blockchain in the blockchain node 132 will be described.

도 11을 참조하면, 블록체인 노드(132)는 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 로그파일을 블록에 포함시켜 멀티 블록체인(1100)을 생성할 수 있다.Referring to FIG. 11 , the block chain node 132 includes a log file generated for at least one of read, write, and delete of specific data performed in a specific time range in a block to create a multi-blockchain 1100. can create

멀티 블록체인(1100)은 제1 데이터의 로그파일이 저장된 제1 블록(1120), 제2 블록(1130), …제n 블록(1140)이 연결된 제1 싱글 블록체인(1112), 및 제2 데이터의 로그파일이 저장된 제1 블록(1150), 제2 블록(1160), …제n 블록(1170)이 연결된 제2 싱글 블록체인(1114)을 포함하고, 제1 싱글 블록체인(1112) 및 제2 싱글 블록체인(1114)은 제네시스 블록(1110)에 의해 연결될 수 있다.The multi-block chain 1100 is a first block 1120, a second block 1130, ... in which the log file of the first data is stored. The first single block chain 1112 to which the n-th block 1140 is connected, and the first block 1150, the second block 1160, . The n-th block 1170 may include a connected second single block chain 1114 , and the first single block chain 1112 and the second single block chain 1114 may be connected by the genesis block 1110 .

예를 들어, 제1 싱글 블록체인(1112)의 제1 블록(1120)은 제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(1124), 제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제2 로그파일(1126), …제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n 로그파일(1128)을 포함할 수 있다. For example, the first block 1120 of the first single block chain 1112 is a first log generated with respect to at least one of read, write, delete, etc. of the first data performed on the first timestamp 1122 A file 1124, a second log file 1126 generated with respect to at least one of reading, writing, deletion, etc. of the first data performed on the first timestamp 1122, . . . The n-th log file 1128 generated with respect to at least one of reading, writing, and deletion of the first data performed at the first timestamp 1122 may be included.

제1 싱글 블록체인(1112)의 제2 블록(1130)은 제1 타임스탬프(1122)와 다른 제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+3 로그파일(1134), 제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+4 로그파일(1136), …제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+m 로그파일(1138)을 포함할 수 있다.The second block 1130 of the first single block chain 1112 relates to at least one of read, write, delete, etc. of the first data performed at a second timestamp 1132 different from the first timestamp 1122. An n+4th log file 1136 generated with respect to at least one of the generated n+3th log file 1134, reading, writing, and deleting the first data performed on the second timestamp 1132, . . . The second timestamp 1132 may include an n+mth log file 1138 generated with respect to at least one of reading, writing, and deleting of the first data.

제2 싱글 블록체인(1114)의 제1 블록(1150)은 제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(1124), 제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제2 로그파일(1156), …제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m 로그파일(1158)을 포함할 수 있다. 여기서, 제1 타임스탬프(1152)는 제1 타임스탬프(1122)와 서로 일치하거나, 상이할 수 있다.The first block 1150 of the second single block chain 1114 is a first log file 1124 generated with respect to at least one of reading, writing, and deleting the second data performed on the first timestamp 1152. , a second log file 1156 generated with respect to at least one of read, write, delete, etc. of the second data performed on the first timestamp 1152, ... The m-th log file 1158 generated with respect to at least one of reading, writing, and deletion of the second data performed at the first timestamp 1152 may be included. Here, the first timestamp 1152 may be identical to or different from the first timestamp 1122 .

제2 싱글 블록체인(1114)의 제2 블록(1160)은 제1 타임스탬프(1152)와 다른 제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+1 로그파일(1164), 제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+2 로그파일(1166), …제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+n 로그파일(1168)을 포함할 수 있다. 여기서, 제2 타임스탬프(1162)는 제2 타임스탬프(1132)와 서로 일치하거나, 상이할 수 있다.The second block 1160 of the second single block chain 1114 relates to at least one of reading, writing, and deleting the second data performed at a second timestamp 1162 different from the first timestamp 1152. The m + 2 th log file 1166 generated with respect to at least one of the generated m + 1 th log file 1164, reading, writing, and deleting the second data performed on the second timestamp 1162, . . . The m+nth log file 1168 generated with respect to at least one of reading, writing, and deleting of the second data performed at the second timestamp 1162 may be included. Here, the second timestamp 1162 may be identical to or different from the second timestamp 1132 .

구체적으로, 블록체인 노드(132)는 제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(1124), 제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제2 로그파일(1126), …제1 타임스탬프(1122)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n 로그파일(1128)을 제1 블록(1120)에 포함시켜 제1 싱글 블록체인(1112)에 연결할 수 있다.Specifically, the block chain node 132 includes a first log file 1124, a first timestamp ( The second log file 1126 generated with respect to at least one of read, write, delete, etc. of the first data performed in 1122), ... The n-th log file 1128 generated with respect to at least one of read, write, delete, etc. of the first data performed at the first timestamp 1122 is included in the first block 1120 to include the first single block chain ( 1112) can be connected.

블록체인 노드(132)는 제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+3 로그파일(1134), 제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+4 로그파일(1136), …제2 타임스탬프(1132)에 수행된 제1 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제n+m 로그파일(1138)을 제2 블록(1130)에 포함시켜 제1 싱글 블록체인(1112)에 연결할 수 있다.The block chain node 132 generates an n+3 log file 1134 and a second timestamp 1132 for at least one of reading, writing, and deleting the first data performed at the second timestamp 1132 . ), the n + 4th log file 1136 generated with respect to at least one of the read, write, delete, etc. of the first data, . . . A first single block by including the n+mth log file 1138 generated with respect to at least one of reading, writing, and deletion of the first data performed at the second timestamp 1132 in the second block 1130 . It can be connected to a chain 1112 .

블록체인 노드(132)는 제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제1 로그파일(1154), 제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제2 로그파일(1156), …제1 타임스탬프(1152)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m 로그파일(1158)을 제1 블록(1150)에 포함시켜 제2 싱글 블록체인(1114)에 연결할 수 있다.The block chain node 132 is a first log file 1154 and a first timestamp 1152 generated with respect to at least one of read, write, delete, etc. of the second data performed at the first timestamp 1152. The second log file 1156 generated with respect to at least one of the performed second data read, write, delete, etc. The mth log file 1158 generated with respect to at least one of read, write, delete, etc. of the second data performed at the first timestamp 1152 is included in the first block 1150 to include the second single block chain ( 1114) can be connected.

블록체인 노드(132)는 제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+1 로그파일(1164), 제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+2 로그파일(1166), …제2 타임스탬프(1162)에 수행된 제2 데이터의 읽기, 쓰기, 삭제 등 중 적어도 하나에 관하여 생성된 제m+n 로그파일(1168)을 제2 블록(1160)에 포함시켜 제2 싱글 블록체인(1114)에 연결할 수 있다.The block chain node 132 generates the m+1th log file 1164 and the second timestamp 1162 for at least one of read, write, delete, etc. of the second data performed at the second timestamp 1162 . ), the m+2th log file 1166 generated with respect to at least one of read, write, delete, etc. of the second data performed in . The second single block by including the m+nth log file 1168 generated with respect to at least one of reading, writing, and deleting of the second data performed at the second timestamp 1162 in the second block 1160 It can be connected to a chain 1114 .

제시된 실시예에서 M, N, m, n은 서로 다른 숫자이거나, 동일한 숫자일 수도 있다.In the presented embodiment, M, N, m, and n may be different numbers or the same number.

제시된 실시예에서 멀티 블록체인은 제1 데이터에 대응하는 제1 싱글 블록체인 및 제2 데이터에 대응하는 제2 싱글 블록체인이 포함되는 것으로 설명하였으나, 이에 한정되지 않으며, 다수의 데이터 각각에 대응하는 싱글 블록체인이 연결되어 멀티 블록체인이 생성될 수 있다.In the presented embodiment, the multi-block chain has been described as including the first single block chain corresponding to the first data and the second single block chain corresponding to the second data, but the present invention is not limited thereto. A single blockchain can be connected to create a multi-blockchain.

하기에서는 트랜잭션의 형태로 전송되는 증거에 대해서 도 12를 참조하여 보다 상세하게 설명하도록 한다. 이러한 증거에는 스냅샷 및/또는 스냅샷 관련 정보가 포함될 수 있다.Hereinafter, the evidence transmitted in the form of a transaction will be described in more detail with reference to FIG. 12 . Such evidence may include snapshots and/or snapshot-related information.

도 12는 본 발명의 실시예에 따른 블록체인 노드에 전송되는 데이터의 수정과 연관된 증거를 설명하기 위한 개략도이다.12 is a schematic diagram for explaining evidence related to the modification of data transmitted to a blockchain node according to an embodiment of the present invention.

도 12를 참조하면, 루트 폴더 아래 저장된 테스트(test)라는 이름을 가진 파일이 사용자1(user1)이라는 사용자에 의해 언링크(unlink) 작업이 수행된 후 수집된 증거를 나타낸다. 이 때, 파일의 수정된 부분에 대한 스냅샷의 해쉬 스트링 af6b7066-de4a-45d0-9f7c-1c7949bfc4776 및 스냅샷의 암호화된 ID 7ef0ccaf-78ad-4c45-aaea-09c86e53dcad도 증거로 포함되어 있다. 이러한 해쉬 스트링을 이용하여 분산 파일 시스템(352)의 저장소에 저장된 스냅샷이 검색되고, 검색된 스냅샷을 통해 데이터의 긴급 복구가 가능하다. 이와 같이 용량이 큰 스냅샷을 블록체인 장부에 직접 저장하지 않고 분산 파일 시스템에 저장하므로, 블록체인 내의 공간 절약이 가능하다.Referring to FIG. 12 , a file named test stored under the root folder shows evidence collected after an unlink operation is performed by a user named user1. At this time, the hash string af6b7066-de4a-45d0-9f7c-1c7949bfc4776 of the snapshot for the modified part of the file and the encrypted ID 7ef0ccaf-78ad-4c45-aaea-09c86e53dcad of the snapshot are also included as evidence. A snapshot stored in the storage of the distributed file system 352 is retrieved using such a hash string, and emergency recovery of data is possible through the retrieved snapshot. Since such large-capacity snapshots are stored in a distributed file system rather than directly stored in the blockchain ledger, space in the blockchain can be saved.

블록체인 노드(132)에 전송되는 증거는 상술된 증거에 제한되지 않고 그 외의 다른 증거를 포함할 수 있다.The evidence transmitted to the blockchain node 132 is not limited to the above-mentioned evidence and may include other evidence.

이와 같이 본 발명은 데이터에 대한 읽기, 쓰기, 삭제 등 중 적어도 하나가 수행되면 수행된 읽기, 쓰기, 삭제 등 중 적어도 하나에 대한 로그파일을 블록체인을 이용하여 저장함으로써, 데이터에 대한 신뢰성, 무결성, 기밀성 및 가용성 등을 보장할 수 있고, 데이터 복구를 위한 데이터 버전 관리를 할 수 있다.As described above, the present invention stores a log file for at least one of read, write, and delete performed when at least one of reading, writing, and deleting data is performed using a block chain, thereby providing reliability and integrity of data , confidentiality and availability, and data version management for data recovery.

또한, 본 발명은 데이터에 관련하여 수행된 읽기, 쓰기, 삭제 등에 의해 변경된 데이터에 대한 증거를 블록체인에 저장함으로써, 데이터에 대한 보안성을 향상시키고, 데이터 복구를 위해 소요되는 시간 및 자원을 최소화할 수 있다.In addition, the present invention improves data security and minimizes time and resources required for data recovery by storing evidence for data changed by data-related reads, writes, and deletions in the block chain. can do.

또한, 본 발명은 특정 시간 범위에 대응하여 생성된 로그파일, 특정 데이터에 대응하여 생성된 로그파일 및 특정 시간 범위에 따른 특정 데이터에 대응하여 생성된 로그파일 각각을 싱글 블록체인 또는 멀티 블록체인에 저장함으로써, 블록체인에 저장된 증거를 검색하기 위해 소요되는 시간 또한 최소화할 수 있다.In addition, in the present invention, log files generated in response to a specific time range, log files generated in response to specific data, and log files generated in response to specific data according to a specific time range, respectively, are stored in a single block chain or multi block chain. By storing it, the time required to retrieve evidence stored in the blockchain can also be minimized.

본 발명의 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The apparatus and method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.

컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The program instructions recorded on the computer readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - Includes magneto-optical media and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and various modifications may be made within the scope without departing from the technical spirit of the present invention. . Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

100: 블록체인을 이용한 데이터 관리 시스템
110: 게이트웨이
120: 네트워크 연결 저장 시스템
122, 200: 네트워크 연결 저장 장치
124: 확장 네트워크 연결 저장 장치
130: 블록체인 노드 시스템
132, 134: 블록체인 노드
140: 컴퓨팅 장치
210: 통신부
220: 저장부
230: 프로세서
100: Data management system using blockchain
110: gateway
120: network-attached storage system
122, 200: network attached storage device
124: extended network attached storage device
130: Blockchain Node System
132, 134: Blockchain Nodes
140: computing device
210: communication unit
220: storage
230: processor

Claims (18)

블록체인을 이용한 데이터 관리 장치에 있어서,
컴퓨팅 장치 및 블록체인 노드와 통신하도록 구성된 통신부;
상기 데이터를 분산 저장하도록 구성된 저장부;
상기 통신부 및 상기 저장부와 동작 가능하게 연결되도록 구성된 프로세서를 포함하고,
상기 프로세서는,
상기 컴퓨팅 장치로부터 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 수신하고,
상기 요청에 따라 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하고,
상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하고,
상기 블록체인 노드가 상기 생성된 로그파일을 블록에 포함시켜 블록체인을 생성하도록 상기 생성된 로그파일을 상기 블록체인 노드에 전달하도록 구성되고,
상기 블록에 포함되는 로그파일은, 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이고,
상기 블록체인은, 상기 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 멀티 블록체인(multi-blockchain)인, 블록체인을 이용한 데이터 관리 장치.
In a data management device using a block chain,
a communication unit configured to communicate with the computing device and the blockchain node;
a storage unit configured to distribute and store the data;
a processor configured to be operatively connected to the communication unit and the storage unit;
The processor is
Receiving a request for at least one of read, write, and delete for the distributed stored data from the computing device,
performing at least one of reading, writing, and deleting the distributed stored data according to the request;
create a log file related to at least one of the read, write, and delete performed,
and transmit the generated log file to the block chain node so that the block chain node generates a block chain by including the generated log file in a block,
The log file included in the block is a log file generated with respect to at least one of reading, writing, and deleting of specific data performed in a specific time range,
The block chain is a multi-blockchain in which blocks including a log file generated with respect to at least one of read, write, and delete of specific data performed in the specific time range are connected. data management device.
삭제delete 제1항에 있어서, 상기 로그파일은,
사용자 정보, 사용자 IP, 타임스탬프, 데이터 이름, 데이터 경로, 아이노드(inode)의 ID 및 사용자 오퍼레이션 데이터 중 적어도 하나를 포함하는, 블록체인을 이용한 데이터 관리 장치.
The method of claim 1, wherein the log file,
A data management device using a block chain, including at least one of user information, user IP, timestamp, data name, data path, inode ID, and user operation data.
제1항에 있어서, 상기 프로세서는,
상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 의해 변경된 데이터에 관한 스냅샷(snapshot)을 상기 블록체인 노드로 전달하도록 구성된, 블록체인을 이용한 데이터 관리 장치.
The method of claim 1, wherein the processor comprises:
A data management apparatus using a block chain, configured to transmit a snapshot regarding data changed by at least one of the read, write, and delete performed to the block chain node.
삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 멀티 블록체인은,
제1 데이터에 대응하여 기 설정된 시간 범위에 따라 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 제1 싱글 블록체인, 및 제2 데이터에 대응하여 기 설정된 시간 범위에 따라 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 제2 싱글 블록체인이 연결된, 블록체인을 이용한 데이터 관리 장치.
According to claim 1, wherein the multi-block chain,
A first single block chain to which a block including a log file generated with respect to at least one of read, write, and delete performed according to a preset time range corresponding to the first data is connected, and a preset time corresponding to the second data A data management device using a block chain in which a second single block chain is connected to which a block including a log file generated with respect to at least one of read, write, and delete performed according to a range is connected.
제1항에 있어서, 상기 프로세서가 수행하는 동작은,
상기 프로세서 상에 구축된 적어도 하나의 가상 머신 또는 컨테이너에 의해서 수행되는, 블록체인을 이용한 데이터 관리 장치.
The method of claim 1, wherein the operation performed by the processor comprises:
A data management device using a block chain, which is performed by at least one virtual machine or container built on the processor.
블록체인을 이용한 데이터 관리 장치의 프로세서에 의해서 수행되는 블록체인을 이용한 데이터 관리 방법에 있어서,
컴퓨팅 장치로부터 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 대한 요청을 수신하는 단계;
상기 요청에 따라 상기 분산 저장된 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나를 수행하는 단계;
상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관한 로그파일을 생성하는 단계; 및
상기 블록체인 노드가 상기 생성된 로그파일을 블록에 포함시켜 블록체인을 생성하도록 상기 생성된 로그파일을 상기 블록체인 노드에 전달하는 단계를 포함하고,
상기 블록에 포함되는 로그파일은, 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일이고,
상기 블록체인은, 상기 특정 시간 범위에 수행된 특정 데이터에 대한 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 멀티 블록체인(multi-blockchain)인, 블록체인을 이용한 데이터 관리 방법.
In the data management method using the block chain performed by the processor of the data management device using the block chain,
Receiving a request for at least one of read, write, and delete for distributed and stored data from a computing device;
performing at least one of reading, writing, and deleting the distributed stored data according to the request;
generating a log file related to at least one of the read, write, and delete operations; and
transmitting the generated log file to the block chain node so that the block chain node generates a block chain by including the generated log file in a block;
The log file included in the block is a log file generated with respect to at least one of reading, writing, and deleting of specific data performed in a specific time range,
The block chain is a multi-blockchain in which blocks including a log file generated with respect to at least one of read, write, and delete of specific data performed in the specific time range are connected. How to manage your data.
삭제delete 제10항에 있어서, 상기 로그파일은,
사용자 정보, 사용자 IP, 타임스탬프, 데이터 이름, 데이터 경로, 아이노드(inode)의 ID 및 사용자 오퍼레이션 데이터 중 적어도 하나를 포함하는, 블록체인을 이용한 데이터 관리 방법.
11. The method of claim 10, wherein the log file,
A data management method using a block chain, including at least one of user information, user IP, timestamp, data name, data path, ID of an inode, and user operation data.
제10항에 있어서,
상기 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 의해 변경된 데이터에 관한 스냅샷(snapshot)을 상기 블록체인 노드로 전달하는 단계를 더 포함하는, 블록체인을 이용한 데이터 관리 방법.
11. The method of claim 10,
The data management method using a block chain, further comprising the step of transmitting a snapshot regarding the data changed by at least one of the performed read, write, and delete to the block chain node.
삭제delete 삭제delete 삭제delete 제10항에 있어서, 상기 멀티 블록체인은,
제1 데이터에 대응하여 기 설정된 시간 범위에 따라 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 제1 싱글 블록체인, 및 제2 데이터에 대응하여 기 설정된 시간 범위에 따라 수행된 읽기, 쓰기, 삭제 중 적어도 하나에 관하여 생성된 로그파일을 포함하는 블록이 연결된 제2 싱글 블록체인이 연결된, 블록체인을 이용한 데이터 관리 방법.
11. The method of claim 10, wherein the multi-block chain,
A first single block chain to which a block including a log file generated with respect to at least one of read, write, and delete performed according to a preset time range corresponding to the first data is connected, and a preset time corresponding to the second data A data management method using a block chain, in which a second single block chain is connected to which a block containing a log file generated for at least one of read, write, and delete performed according to a range is connected.
제10항에 있어서, 상기 단계들은,
상기 프로세서 상에 구축된 적어도 하나의 가상 머신 또는 컨테이너에 의해서 수행되는, 블록체인을 이용한 데이터 관리 방법.
11. The method of claim 10, wherein the steps
A data management method using a block chain, which is performed by at least one virtual machine or container built on the processor.
KR1020190098812A 2019-08-13 2019-08-13 Apparatus and method for managing data using blockchain KR102281901B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190098812A KR102281901B1 (en) 2019-08-13 2019-08-13 Apparatus and method for managing data using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190098812A KR102281901B1 (en) 2019-08-13 2019-08-13 Apparatus and method for managing data using blockchain

Publications (2)

Publication Number Publication Date
KR20210019771A KR20210019771A (en) 2021-02-23
KR102281901B1 true KR102281901B1 (en) 2021-07-23

Family

ID=74688137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190098812A KR102281901B1 (en) 2019-08-13 2019-08-13 Apparatus and method for managing data using blockchain

Country Status (1)

Country Link
KR (1) KR102281901B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102623571B1 (en) * 2021-10-06 2024-01-11 계명대학교 산학협력단 Method of issuing portfolio system based on block chain network, computer readable medium and system for performing the method
CN115378803B (en) * 2022-04-13 2023-12-12 网易(杭州)网络有限公司 Log management method, device, blockchain node and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
CN105335253B (en) * 2015-10-28 2019-01-15 北京百度网讯科技有限公司 The method and apparatus for creating virtual machine system disk snapshot
KR102026225B1 (en) * 2017-01-19 2019-09-27 주식회사 케이티 Apparatus for managing data using block chain and method thereof
KR20190019004A (en) * 2017-08-16 2019-02-26 김용태 The trading system and the method based on a blockchain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
신재복 외 2인, 안드로이드 플랫폼 상의 PosFFS2를 위한 스냅샷 지원 파일 브라우저 설계 및 구현, 한국정보과학회 2010년 가을 학술발표논문집 Vol37. No.2(A)

Also Published As

Publication number Publication date
KR20210019771A (en) 2021-02-23

Similar Documents

Publication Publication Date Title
US20230334024A1 (en) Universal file virtualization with disaggregated control plane, security plane and decentralized data plane
US11330055B2 (en) Data retrieval in a hybrid cloud
US10756887B2 (en) Method and system for securely replicating encrypted deduplicated storages
JP5446860B2 (en) Virtual machine operation system, virtual machine operation method and program
US10289694B1 (en) Method and system for restoring encrypted files from a virtual machine image
JP5210376B2 (en) Data confidentiality preservation method in fixed content distributed data storage system
US20220377112A1 (en) Data loss prevention (dlp) for cloud resources via metadata analysis
CN104580395B (en) A kind of cloudy collaboration Storage Middleware Applying system based on existing cloud storage platform
US20080052328A1 (en) Abstracted and optimized online backup and digital asset management service
US7487219B1 (en) Virtual storage device from multiple online accounts
CN102077193A (en) Cluster shared volumes
JP2007073004A (en) Data maintenance information apparatus, dispersion storage system, and its method
US11327686B2 (en) Apparatus and method for managing integrated storage supporting hierarchical structure
KR102281901B1 (en) Apparatus and method for managing data using blockchain
US11614901B2 (en) Apparatus and method for processing sensitive data
WO2017200881A1 (en) Systems and methods for aggregation of cloud storage
CN108205468A (en) A kind of distributed system and implementation method towards massive video image
KR101470857B1 (en) Network distributed file system and method using iSCSI storage system
US11509719B2 (en) Blockchain technology in data storage system
KR102230764B1 (en) Method for storing blockchain based file modification evidence and appratus using the same
KR101103611B1 (en) Remote control system for mediating and dividing data
JP5951702B2 (en) File system, secret sharing server, file management method and program
KR20140088962A (en) System and method for storing data in a cloud environment
KR20210038285A (en) Apparatus and method for managing integrated storage supporting hierachical structure
JP6435616B2 (en) Storage device, storage system, storage system control method and control program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant