KR102597867B1 - 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 - Google Patents
다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102597867B1 KR102597867B1 KR1020230047562A KR20230047562A KR102597867B1 KR 102597867 B1 KR102597867 B1 KR 102597867B1 KR 1020230047562 A KR1020230047562 A KR 1020230047562A KR 20230047562 A KR20230047562 A KR 20230047562A KR 102597867 B1 KR102597867 B1 KR 102597867B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- backup
- module
- storage medium
- time
- Prior art date
Links
- 230000037430 deletion Effects 0.000 title claims abstract description 69
- 238000012217 deletion Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 title claims abstract description 51
- 238000003860 storage Methods 0.000 claims abstract description 185
- 238000012544 monitoring process Methods 0.000 claims abstract description 31
- 238000007906 compression Methods 0.000 claims description 44
- 230000006835 compression Effects 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 28
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000005429 filling process Methods 0.000 claims description 4
- 238000007792 addition Methods 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- 241000700605 Viruses Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003412 degenerative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법에 관한 것으로, 백업 요청 기기(컴퓨터 시스템, 사용자 단말 등) 상의 데이터 변경을 실시간으로 모니터링한 결과를 토대로 변경된 데이터를 멀티코어 압축 저장방식으로 압축하여 지정된 저장매체에 저장하고, 백업 데이터간 시간적인 중복성을 제거하여 백업 효율을 향상시키고, 다중 시점의 백업과 타 백업 요청 기기에서의 복원이 가능하며, 소프트웨어적으로 저장장치에 저장된 데이터를 복원이 불가능하도록 완전히 삭제할 수 있도록 하는 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법에 관한 것이다.
Description
본 발명은 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 백업 요청 기기(컴퓨터 시스템, 사용자 단말 등)상의 데이터 변경을 실시간으로 모니터링한 결과를 토대로 변경된 데이터를 멀티코어 압축 저장방식으로 압축하여 지정된 저장매체에 저장하고, 백업 데이터간 시간적인 중복성을 제거하여 백업 효율을 향상시키고, 다중 시점의 백업과 타 백업 요청 기기에서의 복원이 가능하며, 소프트웨어적으로 저장장치에 저장된 데이터를 복원이 불가능하도록 완전히 삭제할 수 있도록 하는 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법에 관한 것이다.
최근 들어 사용자 데이터의 크기와 유형이 많아지면서 사용자 저장 공간의 증가 폭이 저장 미디어의 발전보다 더 커지고 있으며, 이로 인해 사용자는 각종 파일을 압축 저장하는 방식을 사용하고 있지만, 모든 파일에 대해 압축을 수행하는 방식은 비효율적이다.
또한, 랜섬웨어와 같은 바이러스가 사용자 파일 시스템에 접근하여 파일을 암호화시킴으로써, 사용자의 데이터를 손상시키는 현상이 가중되고 있다. 이는 기존 작업에 비해 온라인상의 협업 시스템 향상에 따른 자연스러운 현상이지만, 데이터 손상은 사회 전반적으로 심각한 정보화의 역기능을 부각되고 있다.
이러한 데이터 손상을 예방하기 위해서, 기본적으로 사용자가 외부 저장장치(예를 들어, 외장형 HDD, USB 등)를 사용하여 사용자의 인지에 의한 데이터의 복사 행위를 통해서 데이터를 저장하는 방법이 있다.
하지만 대부분의 컴퓨터 사용자들은 데이터의 백업을 비정기적으로 수행하고 있으며, 비정기적인 데이터 백업으로 기인되는 수많은 데이터 손실로 인해 계산할 수 없는 손실이 발생되기도 한다.
또한, 데이터 백업을 수행할 때, 특정한 백업 프로그램을 사용하는 경우에도 기본적으로 특정 위치의 데이터를 특정 저장장소로 주기적으로 저장하기 때문에, 컴퓨터 환경에서 사용되는 데이터의 크기에 비례하여 저장장소의 데이터 저장 비용이 기하급수적으로 증가되었다.
또한, 데이터의 백업과 동시에 일정 기간이 지난 후에 저장장치를 폐기하는 시점에서 저장된 데이터의 삭제가 아닌 저장장치 자체를 폐기할 경우, 해당 저장장치에 저장된 중요 데이터의 보안상 이슈가 발생할 수 있다.
즉, 대부분의 컴퓨터 시스템에서의 데이터 삭제는 저장장치 전체를 초기화하지 않고 파일이 저장된 위치정보(FAT)만을 삭제하기 때문에, 기술, 회계 등의 보안등급이 높은 사용자 데이터가 수록된 저장장치를 완전하게 초기화하지 않은 상태로 해당 저장장치를 재판매하거나 해당 저장장치가 유출되는 경우, 저장장치 복원툴에 의해 사용자 데이터가 복원되어 보안 이슈가 발생될 수 있는 것이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 컴퓨터 시스템이나 사용자 단말 등의 백업 요청 기기상의 데이터 변경을 실시간으로 모니터링하고, 상기 모니터링한 결과를 통해서 데이터가 변경되는 경우 멀티코어를 통해 병렬로 실시간 압축을 수행하여 사용자가 설정한 외부 저장매체에 저장할 수 있는 데이터 백업 장치 및 그 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 사용자가 설정한 외부 저장매체에 병렬처리를 기반으로 압축된 데이터를 백업 저장할 때, 백업 데이터 간 중복성을 제거하여 저장 공간의 효율성을 높이고, 데이터 저장 공간의 소모를 최소화할 수 있는 백업 장치 및 그 방법을 제공하는 것을 다른 목적으로 한다.
또한 본 발명은 백업 데이터를 메시 형태로 다양한 외부 저장매체에 저장하여 안전한 분산 저장 환경을 구현할 수 있는 데이터 백업 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은 다양한 저장매체에 백업 저장된 데이터를 복원할 때, 백업을 수행한 백업 요청 기기뿐만 아니라 타 백업 요청 기기에서 복원할 수 있도록 지원하여 복원의 이동성을 보장할 수 있는 데이터 백업 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은 저장매체에 백업 저장된 데이터를 삭제할 때, 물리적인 파쇄에 버금가는 초기화 과정을 통해서 소프트웨어적으로 복원이 불가능하도록 완전히 삭제할 수 있는 데이터 백업 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치는, 실시간 압축 저장을 수행하는 특정 파일 유형 및 저장매체의 설정을 위한 사용자 인터페이스 모듈; 백업 요청 기기의 데이터 변경을 모니터링하는 모니터링 모듈; 상기 모니터링한 결과를 토대로 변경된 데이터의 멀티코어를 이용한 병렬 압축을 수행하는 압축 모듈; 상기 백업 데이터를 저장하기 위한 상기 저장매체와의 네트워크 연결을 수행하는 네트워크 연결 모듈; 상기 압축된 백업 데이터를 적어도 하나 이상의 저장매체로 전송하여 저장하는 분산저장 모듈; 연결인증을 수행한 상기 저장매체에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 중복 제거 모듈; 상기 저장매체에 저장된 특정 시점의 백업 데이터를 복원하는 복원 모듈; 및 상기 저장매체에 저장된 백업 데이터를 삭제하는 삭제 모듈;을 포함하며, 상기 백업 데이터는, 백업을 수행한 백업 요청 기기 및 타 백업 요청 기기를 통해 복원할 수 있으며, 삭제 시 복원이 불가능하도록 완전히 삭제되는 것을 특징으로 한다.
또한, 상기 사용자 인터페이스 모듈은, 압축 저장이 필요한 파일과 압축 저장이 필요하지 않은 파일에 대한 가이드 정보를 사용자에게 제공함으로써, 특정 파일 유형의 압축 설정을 지원하는 것을 특징으로 한다.
또한, 상기 모니터링 모듈은, 상기 백업 요청 기기의 데이터 수정, 삭제 및 추가를 실시간으로 확인하고, 상기 확인한 결과 변경된 데이터의 변경목록을 생성하여 상기 압축 모듈로 제공하는 것을 특징으로 한다.
또한, 상기 압축 모듈은, 상기 모니터링 모듈에서 제공받은 변경된 데이터에 대한 정보를 토대로 백업 데이터를 병렬 압축할 때 사용자의 컴퓨터 작업에 영향을 주지 않도록 백그라운드상에서 압축을 처리하는 것을 특징으로 한다.
또한, 상기 분산저장 모듈은, 상기 사용자 인터페이스 모듈을 통해 설정한 저장매체가 복수인 경우, 상기 저장매체 각각의 사용자 인증을 수행한 다음, 상기 사용자 인증을 수행한 각 저장매체로 상기 백업 데이터를 전송하여 저장하도록 하는 것을 특징으로 한다.
또한, 상기 중복 제거 모듈은, 상기 백업 데이터를 상기 저장매체에 저장된 최종 백업 데이터와 비교하며, 상기 비교한 결과 상기 백업 데이터와 상기 최종 백업 데이터가 동일 데이터이고, 크기 및 수정 날짜가 동일하면, 상기 백업 데이터를 상기 저장매체에 그대로 저장하지 않고, 상기 최종 백업 데이터에 대한 링크 데이터를 생성하여 상기 저장매체에 저장하도록 하며, 상기 비교한 결과 상기 백업 데이터가 상기 저장매체에 존재하지 않거나, 수정, 삭제 및 추가되면, 상기 백업 데이터를 상기 저장매체에 저장하도록 하는 것을 특징으로 한다.
또한, 상기 복원 모듈은, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 링크 데이터인 경우, 실제 존재하는 링크 데이터를 검색하여 원본 데이터를 복원하며, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 실제 압축된 데이터인 경우, 압축을 해제하여 원본 데이터를 복원하는 것을 특징으로 한다.
또한, 상기 복원 모듈은, 상기 복원 대상이 되는 특정 시점의 백업 데이터를 압축 저장한 특정 백업 요청 기기 이외의 타 백업 요청 기기로부터 상기 특정 시점의 백업 데이터에 대한 복원이 요청되면, 사용자 인증을 수행한 다음 상기 타 백업 요청 기기로 상기 특정 시점의 백업 데이터에 대한 원본 데이터를 복원하여 제공하는 것을 특징으로 한다.
또한, 상기 삭제 모듈은, 사용자로부터 특정 시점의 백업 데이터의 삭제가 요청되면, 해당 백업 데이터의 파일 시스템에 null, 0 또는 1의 초기화 데이터를 반복적으로 채우거나 또는 임의의 난수 데이터를 반복적으로 채우는 과정을 소정 횟수 반복함으로써, 복원이 불가능하도록 소프트웨어적으로 완전하게 삭제하는 것을 특징으로 한다.
또한, 상기 삭제 모듈은, 소프트웨어적인 드라이브 초기화의 삭제를 위해서, 사용자가 삭제하고자 하는 데이터를 파일, 폴더 및 드라이브 단위로 선택하면, 선택한 삭제 대상 데이터의 물리적인 시작위치와 종료위치를 저장하고, 사용자가 원하는 일정 횟수만큼 반복하여, 삭제 대상 데이터의 시작위치부터 종료위치까지 null, 0 또는 1의 초기화 데이터를 대상의 크기만큼 채워 넣고, 상기 선택한 파일, 폴더 및 드라이브 단위의 파일에 대해서 초기화 데이터를 이용한 채움 과정이 종료되면, 전체 대상 크기만큼의 데이터를 쓰는 과정을 실행하여, 실제 데이터를 저장하는 공간에 대해서 다수의 데이터 쓰는 과정을 실행하며, 실제 운영체제에서 대상 드라이브에 대한 포맷을 추가로 수행하여, 파일의 저장 위치, 저장 장소(FAT)에 대한 초기화 과정을 수행하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 방법은, 실시간 병렬처리 기반의 데이터 백업 장치에서, 사용자 인터페이스 모듈을 사용하여 실시간 압축 저장을 수행하는 특정 파일 유형 및 저장매체의 설정을 수행하는 단계; 모니터링 모듈을 사용하여 백업 요청 기기의 데이터 변경을 모니터링하는 단계; 압축 모듈을 사용하여 상기 모니터링한 결과를 토대로 변경된 데이터의 멀티코어를 이용한 병렬 압축을 수행하는 단계; 네트워크 연결 모듈을 사용하여 상기 백업 데이터를 저장하기 위한 상기 저장매체와의 네트워크 연결을 수행하는 단계; 분산저장 모듈을 사용하여 상기 압축된 백업 데이터를 적어도 하나 이상의 저장매체로 전송하여 저장하는 단계; 중복 제거 모듈을 사용하여 상기 저장매체의 연결인증을 수행하고, 상기 저장매체에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 단계; 복원 모듈을 사용하여 상기 저장매체에 저장된 특정 시점의 백업 데이터를 복원하는 단계; 및 삭제 모듈을 사용하여 상기 저장매체에 저장된 백업 데이터를 삭제하는 단계;를 포함하며, 상기 백업 데이터는, 백업을 수행한 백업 요청 기기 및 타 백업 요청 기기를 통해 복원할 수 있으며, 삭제 시 복원이 불가능하도록 완전히 삭제되는 것을 특징으로 한다.
이상에서와 같이 본 발명의 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법에 따르면, 다음과 같은 다양한 효과를 얻을 수 있다.
먼저 다양한 저장매체로의 분산 저장을 통해 백업 요청 기기(예: 컴퓨터 시스템, 사용자 단말 등)의 저장 공간을 최소화할 수 있는 효과가 있다.
또한 비정상적인 프로세스에 의한 임의의 데이터 수정을 방지하여 랜섬웨어와 같은 위험을 예방할 수 있는 효과가 있다.
또한 자동 데이터 백업을 통해 데이터 무결성을 유지할 수 있는 효과가 있다.
또한 멀티코어를 통한 병렬압축을 통해 압축효율을 높이는 것은 물론, 데이터 전송시의 트래픽(전송량)을 절감할 수 있는 효과가 있다.
또한 자동 모니터링 백업을 통해 사용자의 업무능력을 향상시킬 수 있는 효과가 있다.
또한 백업 데이터의 중복성 제거를 통해서 저장장치의 효율성을 높이고, 소모전력을 줄여 탄소배출을 절감할 수 있는 효과가 있다.
또한 네트워크상의 다수 유휴 저장공간의 사용성을 향상시킬 수 있는 효과가 있다.
또한 복원의 이동성을 보장하여 다수의 컴퓨터 매체에서 백업 데이터의 복원을 지원할 수 있는 효과가 있다.
또한 데이터 완전 삭제를 통해 저장매체 분실시 발생할 수 있는 중요 정보를 보호할 수 있는 효과가 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치를 포함한 전체 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치의 구성을 보다 상세하게 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 방법의 동작과정을 보다 상세하게 나타낸 순서도이다.
도 2는 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치의 구성을 보다 상세하게 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 방법의 동작과정을 보다 상세하게 나타낸 순서도이다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치를 포함한 전체 구성을 개략적으로 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명은 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치(100, 이하 실시간 병렬처리 기반의 데이터 백업 장치라 함), 다수의 저장매체(200) 등을 포함하여 구성된다.
상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 백업이 필요한 백업 요청 기기(예를 들어, 개인용 PC나 서버를 포함한 컴퓨터 시스템, 스마트폰이나 태블릿을 포함한 사용자 단말, 카메라나 센서를 포함한 IoT 기기 등)에서 처리하는 데이터를 다양한 저장매체(200)에 분산하여 저장하기 위한 장치이다.
이때 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 백업 요청 기기에 애플리케이션 프로그램과 같은 형태로 구비되어 사용되는 것이 가장 바람직하다. 하지만 이에 한정되는 것은 아니며, 그 이외에 독립적인 형태로 구성되어 백업 요청 기기에 연결하여 사용하는 것도 가능하다.
상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 컴퓨터 시스템, 사용자 단말, IoT 기기 등의 백업 요청 기기상의 데이터 변경을 모니터링하고, 상기 모니터링한 결과 데이터가 변경(예를 들어, 수정, 삭제, 추가 등)되면, 변경된 데이터를 멀티코어를 사용하여 병렬로 실시간 압축을 수행하며, 상기 압축된 백업 데이터를 사용자가 설정한 저장매체(200)에 저장한다.
일 예로, 사용자가 컴퓨터 작업 도중에 발생하는 데이터의 변경을 실시간으로 모니터링하여 변경 데이터의 목록 및 압축이 필요한 데이터 목록을 추출하고, 이를 토대로 압축을 수행하여 저장함으로써, 별도의 데이터 백업 시간이 발생하지 않도록 하는 것이다.
이때 상기 모니터링 결과를 토대로 생성되는 변경된 데이터 목록은 수 개에서 수십 개, 수백 개가 발생될 수 있는데, 본 발명에서는 이러한 다양한 유형의 데이터를 순차적으로 압축하는 방법을 개선하기 위해서 멀티코어를 사용하여 데이터 병렬 압축을 수행함으로써, 순차 압축에 비해서 데이터 압축 수행시간을 크게 단축시킬 수 있다.
이렇게 병렬로 압축된 백업 데이터는 사용자가 지정한 복수 개의 저장매체(200)에 분산되어 저장될 수 있다.
일 예로, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 상기 백업 데이터를 상기 저장매체(200)에 저장할 때, 네트워크를 통해 각각의 저장매체(200)와 연결하여 사용자 인증을 수행하고, 상기 백업 데이터를 전송하여 분산 저장할 수 있다.
즉, 본 발명은 물리적인 저장매체 이외에 네트워크상에 존재하는 다수의 저장 공간을 활용할 수 있도록, 상기 백업 데이터를 메시 형태로 다양한 저장매체에 분산하여 저장함으로써, 어느 하나의 특정 저장매체의 의존성을 탈피하여 대용량의 안전한 분산 저장 환경을 구현할 수 있으며, 허비되는 유휴 공간의 활용을 높일 수 있는 것이다.
여기서, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 변경된 모든 데이터를 상기 저장매체(200)에 그대로 저장하지 않는다. 즉, 반복적인 데이터 백업으로 인한 데이터 저장 장소의 소모를 최소화하고 저장공간의 효율성을 높일 수 있도록, 본 발명에서는 동일 데이터의 중복성 제거를 수행한 다음, 상기 백업 데이터를 상기 저장매체(200)에 저장한다.
이와 같이, 본 발명은 주기적인 데이터 백업을 수행하는 과정에서, 자동화된 모니터링을 통해서 선별된 데이터를 병렬 압축하여 데이터의 크기를 최소화하고, 기 설정된 적어도 하나 이상의 저장매체(200)에 중복성을 제거하면서 분산, 저장함으로써, 저장 장소의 효율을 높이는 것은 물론, 다양한 컴퓨터 사용 환경의 위험 요소로부터 사용자 데이터를 보호할 수 있다.
한편, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 상기 저장매체(200)에 백업 저장된 데이터를 복원할 경우, 백업을 수행한 특정 백업 요청 기기뿐만 아니라 타 백업 요청 기기에서 복원할 수 있도록 하여 복원의 이동성을 보장할 수 있다.
일 예로, 사용자가 특정 컴퓨터 시스템을 사용함에 따라 변경된 특정 시점의 데이터를 백업한 이후, 해당 사용자가 장소를 옮겨 다른 컴퓨터 시스템이나 스마트폰과 같은 사용자 단말을 통해서 상기 특정 시점의 데이터를 복원하여 이용할 수 있는 것이다.
또한, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자가 어느 장소 및 위치에 있더라도 상기 저장매체(200)에 저장된 백업 데이터를 완전 삭제할 수 있다.
즉, 상기 저장매체(200)에 백업 저장된 데이터를 삭제할 때, 물리적인 파쇄에 버금가는 초기화 과정을 통해서 소프트웨어적으로 복원이 불가능하도록 완전히 삭제할 수 있는 것이다. 이러한 소프트웨어적인 백업 데이터의 완전 삭제는 기존의 하드웨어 저장장치에 추가적인 방법으로 적용이 가능하기 때문에, 특정 벤더(예를 들어, 삼성, 씨게이트, 하이닉스 등)에서 제공하는 하드웨어 방식의 삭제방식보다 호환성, 유지보수성에 있어서 장점이 있다.
이를 구체적으로 설명하면, 기존의 단순 드라이브 초기화는 HDD, SDD 등을 포함한 저장매체의 물리적인 특성에 의존적인 구현 방법으로 인해서 하드웨어 벤더 측에서 개별적인 초기화 툴을 제공하므로, 각 하드웨어 벤더들이 제공하는 다양한 툴에 대한 습득상의 어려움이 있었다. 물리적인 초기화를 수행한다는 장점이 있지만, 스토리지 용량의 상승 성향에 비추어볼 때, 1T(테라바이트, 1000기가)를 물리적으로 초기화하는 경우 초기화 기간만 하루 종일 소요되는 단점이 있다.
그러므로, 본 발명에서는 소프트웨어적인 완전 삭제 기능을 적용한다. 이를 통해 특정 드라이브, 특정 파일단위, 특정 폴더단위의 초기화가 가능하다. 특히, 보안적인 이슈가 많은 분야에서 특정 유형의 파일에 대한 선택적인 초기화가 가능하다. 또한, 1T 이상의 대용량 스토리지는 물론 HDD, SDD 등의 다양한 스토리지에 의존적이지 않다. 또한, 본 발명에 적용되는 소프트웨어적인 삭제 방식은 이론적으로 초기화하고자 하는 파일 또는 디렉토리, 드라이브 단위의 논리적인 저장공간(즉, 파티션)에 대해서 특정 문자값(null 또는 1,0 등)으로 채우는 작업을 여러번 수행한다. 이러한 소프트웨어적인 삭제의 장점은 삭제 자체의 기능 구현시에 병렬처리에 의한 속도 향상이 가능하다는 점이다.
상기 저장매체(200)는 HDD(Hard Disk Drive), NAS(Network Attached Storage), 클라우드 등의 모든 형태의 저장장치로서, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)의 요청에 따라 특정 사용자가 사용하는 각종 백업 요청 기기의 데이터를 백업하고, 사용자의 요청에 따라 특정 시점의 백업 데이터를 복원하여 다양한 백업 요청 기기에 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치의 구성을 보다 상세하게 나타낸 블록도이다.
도 2에 도시된 바와 같이, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자 인터페이스 모듈(110), 모니터링 모듈(120), 압축 모듈(130), 네트워크 연결 모듈(140), 분산저장 모듈(150), 중복 제거 모듈(160), 복원 모듈(170), 삭제 모듈(180) 등을 포함하여 구성된다.
상기 사용자 인터페이스 모듈(110)은 사용자가 실시간 압축 저장을 수행하는 특정 파일 유형을 설정하고, 백업 데이터를 저장할 저장매체를 설정하는 기능을 수행한다.
이때 상기 사용자 인터페이스 모듈(110)은 사용자가 UI(user interface)를 통해 압축 저장을 위한 특정 파일 유형을 설정할 때, 압축 저장이 필요한 파일과 압축 저장이 필요하지 않은 파일에 대한 가이드 정보를 제공하여, 특정 파일 유형의 압축 설정을 지원할 수 있다.
일 예로, 동영상, 음악, 그림, 압축 파일 등은 이미 최적의 손실/무손실 압축이 이루어져 있기 때문에, 2차적으로 다시 압축하는 것은 단순히 시간만 가중되고 압축 효율이 저하된다. 그러므로 문서, 미압축 이미지 등에 대한 정보를 가이드함으로써, 사용자가 압축 저장을 위한 특정 파일 유형을 용이하게 선택할 수 있도록 한다.
상기 모니터링 모듈(120)은 백업 요청 기기의 데이터 변경을 모니터링하고, 상기 모니터링한 결과를 상기 압축 모듈(130)로 제공한다.
일 예로, 상기 모니터링 모듈(120)은 사용자가 설정한 원본 데이터의 위치를 실시간으로 모니터링하여, 데이터 수정, 삭제 및 추가를 실시간으로 확인하고, 상기 확인한 결과를 토대로 데이터의 변경목록을 생성하여 상기 압축 모듈(130)로 제공하는 것이다.
상기 압축 모듈(130)은 상기 모니터링 모듈(120)에서 모니터링한 결과를 토대로 변경된 데이터의 멀티코어를 이용한 병렬 압축을 수행한다.
즉, 사용자가 설정한 압축 저장을 위한 특정 파일 유형과 상기 모니터링 모듈(120)에서 입력되는 변경 데이터 목록을 참조하여, 수정, 삭제 또는 추가된 데이터의 병렬 압축처리를 수행하는 것이다.
이때 상기 압축 모듈(130)은 상기 모니터링 모듈(120)에서 제공받은 변경된 데이터에 대한 정보를 토대로 백업 데이터를 병렬 압축할 때, 사용자의 컴퓨터 작업에 영향을 주지 않도록 백그라운드상에서 압축을 처리한다.
상기 네트워크 연결 모듈(140)은 상기 압축 모듈(130)을 통해 변경된 데이터의 병렬 압축이 완료되면, 네트워크를 통해 사용자가 지정한 적어도 하나 이상의 저장매체(200)와의 연결을 수행하여 사용자 인증을 수행하고, 백업 데이터의 전송준비를 수행한다.
이처럼 임의로 저장매체로 연결하지 않고 사용자가 지정한 적어도 하나 이상의 저장매체(200)와 네트워크 연결을 준비하면, 랜섬웨어와 같은 바이러스 프로그램으로부터의 데이터 변작을 억제할 수 있다.
상기 분산저장 모듈(150)은 상기 압축 모듈(130)을 통해 압축한 백업 데이터를 적어도 하나 이상의 저장매체(200)로 전송하여 저장한다.
이때 상기 분산저장 모듈(150)은 상기 사용자 인터페이스 모듈(110)을 통해 사용자가 설정한 저장매체(200)가 복수인 경우, 상기 저장매체(200) 각각의 사용자 인증을 먼저 수행하고, 사용자 인증이 완료되면 상기 백업 데이터를 각 저장매체(200)로 전송하여 저장하도록 한다.
상기 중복 제거 모듈(160)은 상기 분산저장 모듈(150)을 통해 연결인증을 수행한 상기 저장매체(200)에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 기능을 수행한다.
이때 상기 중복 제거 모듈(160)은 상기 백업 데이터를 상기 저장매체(200)에 저장된 최종 백업 데이터와 비교하고, 상기 비교한 결과 상기 백업 데이터와 상기 최종 백업 데이터가 동일 데이터이고, 크기 및 수정 날짜가 동일하면, 상기 백업 데이터를 상기 저장매체(200)에 그대로 저장하지 않고, 상기 최종 백업 데이터에 대한 링크 데이터(즉, 상기 백업 데이터가 저장된 위치에 대한 정보를 포함한 정보)를 생성하여 상기 저장매체(200)에 저장하도록 한다.
또한, 상기 중복 제거 모듈(160)은 상기 백업 데이터를 상기 저장매체(200)에 저장된 최종 백업 데이터와 비교하고, 상기 비교한 결과 상기 백업 데이터가 상기 저장매체(200)에 존재하지 않거나, 수정, 삭제 및 추가되면, 상기 백업 데이터를 상기 저장매체(200)에 그대로 저장하도록 한다.
일 예로, 상기 중복 제거 모듈(160)은 n번째 백업의 경우, n-1번째 백업과 비교를 수행하고, 백업 데이터와 현재 저장된 데이터의 크기, 수정시간, 생성시간 등을 비교하여 동일 데이터인지의 여부를 확인한다. 그리고 상기 확인한 결과 n번째 백업을 수행할 백업 데이터와 동일한 파일 이름, 크기 및 날짜의 백업 데이터가 이미 해당 저장매체(200)에 존재하면, n-1번째에 존재하는 물리적인 파일에 대한 링크 데이터(즉 연결 정보)만을 생성하여 해당 저장매체(200)에 저장하도록 한다. 또한 상기 확인한 결과 n-1번째에 백업 데이터가 존재하지 않거나 수정되었다면 n번째 백업을 수행할 때 물리적인 압축 데이터를 저장하도록 한다.
이렇게 함으로써, 본 발명은 반복적인 데이터의 백업으로 발생되는 저장매체(200)의 필요 크기를 감소시킬 수 있으며, 데이터 전송시 데이터량을 줄여 컴퓨터 인프라의 효율성을 높일 수 있게 된다.
상기 복원 모듈(170)은 사용자의 요청에 따라 각 저장매체(200)에 저장되어 있는 특정 시점의 백업 데이터를 복원하는 기능을 수행한다.
이때 상기 복원 모듈(170)은 상기 저장매체(200)에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 링크 데이터인 경우에는 실제 존재하는 링크 데이터를 검색하고, 상기 링크 데이터에 참조된 위치의 백업 데이터의 압축을 해제하여 원본 데이터를 복원한다.
또한, 상기 복원 모듈(170)은 상기 저장매체(200)에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 실제 압축된 데이터인 경우에는 해당 저장매체(200)에 저장된 백업 데이터의 압축을 해제하여 원본 데이터를 복원한다.
한편, 상기 복원 모듈(170)은 복원하고자 하는 백업 데이터를 사용자가 원하는 기기에서 복원할 수 있다. 즉, 백업을 수행한 백업 요청 기기 이외에 타 백업 요청 기기를 통해 백업 데이터를 복원할 수 있는 것이다.
일 예로, 사용자가 회사에서 사용하는 컴퓨터 시스템을 통해 작업한 데이터를 백업한 이후, 댁내의 컴퓨터 시스템을 통해 특정 시점의 백업 데이터의 복원을 요청하면, 상기 복원 모듈(170)은 해당 백업 데이터가 저장된 저장매체의 사용자 인증을 수행한 다음, 댁내의 컴퓨터 시스템으로 상기 특정 시점의 백업 데이터에 대한 원본 데이터를 복원하여 제공한다.
상기 삭제 모듈(180)은 사용자의 요청에 의해 상기 저장매체(200)에 저장된 백업 데이터를 삭제하는 기능을 수행한다.
이때 상기 삭제 모듈(180)은 백업 데이터를 삭제하는 경우 복원이 불가능하도록 완전히 삭제할 필요가 있다. 왜냐하면 사용자가 특정 데이터의 완전 삭제를 요청할 때, 단순히 파일 삭제 기능을 통해 해당 데이터를 삭제하는 것은 내용 자체를 지우는 것이 아닌 파일 시스템에서의 링크 데이터를 삭제하는 것이므로, 저장매체 분실 시 악의적인 용도로 데이터 포렌식 기술에 의해 중요 데이터의 악용 우려가 있기 때문이다.
그러므로 본 발명에서는 데이터 악용을 원천적으로 배제할 수 있도록, 데이터의 물리적인 파손에 준하는 데이터 완전 삭제를 구현하여 저장된 백업 데이터의 복원이 불가능하도록 한다.
일 예로, 소프트웨어적인 드라이브 초기화의 삭제를 위해서, 사용자가 삭제하고자 하는 데이터를 파일, 폴더 및 드라이브 단위로 선택하면, 상기 삭제 모듈(180)은 선택된 삭제 대상 데이터의 물리적인 시작위치와 종료위치를 저장한다.
이어서, 삭제 대상 데이터의 시작위치부터 종료위치까지 초기화 데이터(일 예로, null, 1 등의 특정 코드값)를 대상의 크기만큼 채워 넣는다. 이 과정은 사용자가 원하는 일정 횟수만큼 반복할 수 있다.
이렇게 특정 파일, 폴더 및 드라이브 단위의 파일에 대해서 초기화 데이터를 이용한 채움 과정이 종료되면, 전체 대상 크기만큼의 데이터를 쓰는 과정을 실행한다. 이 과정을 거쳐서 실제 데이터를 저장하는 공간에 대해서 다수의 데이터 쓰는 과정이 실행된다.
이 과정을 수행할 때 순차적인 데이터 채움 과정을 수행하는 물리적인 하드웨에서 다수의 초기화 모듈을 병렬로 처리하면 최소 3, 4배의 초기화 수행시간을 단축할 수 있다.
이러한 과정이 수행되고 난 후, 실제 운영체제에서 대상 드라이브에 대한 초기화 과정(포맷)을 추가적으로 수행함으로써, 파일의 저장 위치, 저장 장소(File Allocation Table, FAT)에 대한 초기화 과정을 수행한다.
한편, 상기 삭제 모듈(180)은 데이터의 완전 삭제를 위해서 null, 0, 1 등의 초기화 데이터를 반복적으로 채우는 방식 이외에, 임의의 난수 데이터를 반복적으로 채우는 방식을 사용할 수도 있으며, 완전 삭제를 위해서 이러한 과정을 정해진 일정 횟수(예를 들어, 3회)만큼 반복할 수 있다.
또한, 상기 삭제 모듈(180)은 삭제 대상이 되는 백업 데이터의 파일 시스템 일부는 null, 0, 1 등을 반복적으로 채우고, 나머지 부분은 임의의 난수 데이터를 반복적으로 채우는 형식으로 삭제하는 방식도 적용할 수 있다.
또한, 상기 삭제 모듈(180)은 삭제 대상의 백업 데이터가 여러 저장매체(200)에 분산 저장되어 있는 경우 동시 삭제를 병렬로 처리하여 개별적인 데이터 파일에 대한 삭제 시간을 줄일 수 있다.
한편, 상기 삭제 모듈(180)은 사용자가 원거리에서 삭제할 수 있도록 원격 삭제 기능을 추가로 제공할 수 있다.
다음에는, 이와 같이 구성된 본 발명에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 방법의 일 실시예를 도 3을 참조하여 상세하게 설명한다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 당업자에 의해 순서가 변경될 수 있다.
도 3은 본 발명의 일 실시예에 따른 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 방법의 동작과정을 보다 상세하게 나타낸 순서도이다.
도 3에 도시된 바와 같이, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자가 사용하는 컴퓨터 시스템, 사용자 단말, IoT 기기 등의 백업 요청 단말에 애플리케이션 프로그램 형태로 설치될 수 있다.
이 상태에서 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자의 조작에 따라 실시간 압축 저장을 수행하는 특정 파일 유형 및 저장매체의 설정을 수행하는 단계를 수행한다(S100).
상기 S100 단계를 통해 압축 저장을 수행하는 특정 파일 유형 및 저장매체가 설정된 이후, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자의 작업 등에 의해서 백업 요청 기기의 데이터가 변경되는지를 실시간으로 모니터링하는 단계를 수행한다(S200).
상기 S200 단계의 모니터링 결과 데이터가 변경되면, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 변경된 데이터를 멀티코어를 통해 병렬 압축을 수행하는 단계를 수행하고(S300), 압축한 데이터를 저장하기 위해 상기 저장매체(200)와의 네트워크 연결을 수행하는 단계를 수행한다(S400).
이이서, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 상기 S400 단계를 통해 압출한 데이터를 적어도 하나 이상의 저장매체(200)로 전송하여 분산 저장하는 단계를 수행한다(S500).
이때 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 연결인증을 수행한 상기 저장매체(200)에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 단계를 수행한다(S600).
즉, 저장할 백업 데이터를 상기 저장매체(200)에 저장된 최종 백업 데이터와 비교하고, 비교 결과에 따라 동일 데이터이고 크기 및 수정 날짜 모두가 동일한 경우에는 해당 백업 데이터를 그대로 저장하지 않고 상기 최종 백업 데이터에 대한 링크 데이터를 생성하여 저장하며, 비교 결과에 따라 백업 데이터가 상기 저장매체(200)에 존재하지 않거나 수정, 삭제 및 추가되면 상기 저장매체(200)에 그대로 저장하는 것이다.
상기 S200 단계 내지 상기 S600 단계를 통해 백업 데이터가 상기 저장매체(200)에 저장된 이후, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자의 요청에 의해 상기 저장매체(200)에 저장된 특정 시점의 백업 데이터를 복원하는 단계를 수행한다(S700).
이때 상기 백업 데이터는 해당 백업 데이터를 압축 저장한 특정 백업 요청 기기 이외의 타 백업 요청 기기로 복원할 수 있음은 상기 설명한 바와 같다.
또한, 상기 실시간 병렬처리 기반의 데이터 백업 장치(100)는 사용자의 요청에 의해 상기 저장매체(200)에 저장된 백업 데이터를 소프트웨어적으로 복원이 불가능하도록 완전히 삭제하는 단계를 수행한다(S800).
이때 상기 백업 데이터의 완전 삭제는 해당 백업 데이터의 파일 시스템에 null, 0, 1의 초기화 데이터를 반복적으로 채우는 방식, 또는 임의의 난수 데이터를 반복적으로 채우는 방식을 소정 횟수 반복하는 것임은 상기 설명한 바와 같다.
여기서, 상기 S700 단계의 백업 데이터 복원과 S800 단계의 백업 데이터 삭제는 설명의 편의를 위해서 순차적으로 설명한 것일 뿐, 순서를 바꾸어 처리되는 것은 물론, 병렬 형태로 각각 독립적으로 수행될 수 있음을 밝혀둔다.
이처럼, 본 발명은 컴퓨터 시스템을 포함한 백업 요청 기기의 저장 공간을 최소화할 수 있고, 비정상적인 프로세스의 임의 데이터 수정을 방지하고, 자동 데이터 백업을 통해 데이터 무결성을 유지할 수 있고, 멀티코어를 통한 병렬압축을 통해 압축효율을 높이는 것은 물론 데이터 전송시의 트래픽을 절감할 수 있고, 자동 모니터링 백업을 통해 사용자의 업무능력이 향상되고, 백업 데이터의 중복성 제거를 통해서 저장장치의 효율성을 높이고 소모전력을 줄여 탄소배출을 절감할 수 있고, 네트워크상의 다수 유휴 저장공간의 사용성을 향상시킬 수 있고, 복원의 이동성을 보장하여 다수의 컴퓨터 매체에서 백업 데이터의 복원을 지원할 수 있으며, 데이터 완전 삭제를 통해 저장매체 분실시 발생할 수 있는 중요 정보를 보호할 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100 : 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치
110 : 사용자 인터페이스 모듈 120 : 모니터링 모듈
130 : 압축 모듈 140 : 네트워크 연결 모듈
150 : 분산저장 모듈 160 : 중복 제거 모듈
170 : 복원 모듈 180 : 삭제 모듈
200 : 저장매체
110 : 사용자 인터페이스 모듈 120 : 모니터링 모듈
130 : 압축 모듈 140 : 네트워크 연결 모듈
150 : 분산저장 모듈 160 : 중복 제거 모듈
170 : 복원 모듈 180 : 삭제 모듈
200 : 저장매체
Claims (11)
- 실시간 압축 저장을 수행하는 특정 파일 유형 및 저장매체의 설정을 위한 사용자 인터페이스 모듈;
백업 요청 기기의 데이터 변경을 모니터링하는 모니터링 모듈;
상기 모니터링한 결과를 토대로 변경된 데이터의 멀티코어를 이용한 병렬 압축을 수행하는 압축 모듈;
상기 병렬 압축을 수행한 변경된 데이터에 대한 백업 데이터를 저장하기 위한 상기 저장매체와의 네트워크 연결을 수행하는 네트워크 연결 모듈;
상기 백업 데이터를 적어도 하나 이상의 저장매체로 전송하여 저장하는 분산저장 모듈;
연결인증을 수행한 상기 저장매체에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 중복 제거 모듈;
상기 저장매체에 저장된 특정 시점의 백업 데이터를 복원하는 복원 모듈; 및
상기 저장매체에 저장된 백업 데이터를 삭제하는 삭제 모듈;을 포함하며,
상기 백업 데이터는, 백업을 수행한 백업 요청 기기 및 타 백업 요청 기기를 통해 복원할 수 있으며,
상기 복원 모듈은, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 링크 데이터인 경우, 실제 존재하는 링크 데이터를 검색하여 원본 데이터를 복원하며, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 실제 압축된 데이터인 경우, 압축을 해제하여 원본 데이터를 복원하는 것을 더 포함하며,
상기 삭제 모듈은, 사용자로부터 특정 파일, 폴더 및 드라이브 단위로 특정 시점의 백업 데이터의 삭제가 요청되면, 해당 백업 데이터의 파일 시스템에 null, 0 또는 1의 초기화 데이터를 반복적으로 채우거나, 또는 임의의 난수 데이터를 반복적으로 채우거나, 또는 해당 백업 데이터의 파일 시스템 일부는 null, 0 또는 1을 반복적으로 채우고 나머지 부분은 임의의 난수 데이터를 반복적으로 채우는 과정을 소정 횟수 반복함으로써, 복원이 불가능하도록 소프트웨어적으로 완전하게 삭제하는 것을 더 포함하며,
상기 삭제 모듈은, 삭제 대상이 되는 백업 데이터가 여러 저장 매체에 분산 저장되어 있는 경우, 동시 삭제를 병렬로 처리하여 개별적인 데이터 파일에 대한 삭제 시간을 단축하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 청구항 1에 있어서,
상기 사용자 인터페이스 모듈은,
압축 저장이 필요한 파일과 압축 저장이 필요하지 않은 파일에 대한 가이드 정보를 사용자에게 제공함으로써, 특정 파일 유형의 압축 설정을 지원하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 청구항 1에 있어서,
상기 모니터링 모듈은,
상기 백업 요청 기기의 데이터 수정, 삭제 및 추가를 실시간으로 확인하고, 상기 확인한 결과 변경된 데이터의 변경목록을 생성하여 상기 압축 모듈로 제공하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 청구항 1에 있어서,
상기 압축 모듈은,
상기 모니터링 모듈에서 제공받은 변경된 데이터에 대한 정보를 토대로 백업 데이터를 병렬 압축할 때 사용자의 컴퓨터 작업에 영향을 주지 않도록 백그라운드상에서 압축을 처리하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 청구항 1에 있어서,
상기 분산저장 모듈은,
상기 사용자 인터페이스 모듈을 통해 설정한 저장매체가 복수인 경우, 상기 저장매체 각각의 사용자 인증을 수행한 다음, 상기 사용자 인증을 수행한 각 저장매체로 상기 백업 데이터를 전송하여 저장하도록 하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 청구항 1에 있어서,
상기 중복 제거 모듈은,
상기 백업 데이터를 상기 저장매체에 저장된 최종 백업 데이터와 비교하며,
상기 비교한 결과 상기 백업 데이터와 상기 최종 백업 데이터가 동일 데이터이고, 크기 및 수정 날짜가 동일하면, 상기 백업 데이터를 상기 저장매체에 그대로 저장하지 않고, 상기 최종 백업 데이터에 대한 링크 데이터를 생성하여 상기 저장매체에 저장하도록 하며,
상기 비교한 결과 상기 백업 데이터가 상기 저장매체에 존재하지 않거나, 수정, 삭제 및 추가되면, 상기 백업 데이터를 상기 저장매체에 저장하도록 하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 삭제
- 청구항 1에 있어서,
상기 복원 모듈은,
상기 복원 대상이 되는 특정 시점의 백업 데이터를 압축 저장한 특정 백업 요청 기기 이외의 타 백업 요청 기기로부터 상기 특정 시점의 백업 데이터에 대한 복원이 요청되면, 사용자 인증을 수행한 다음 상기 타 백업 요청 기기로 상기 특정 시점의 백업 데이터에 대한 원본 데이터를 복원하여 제공하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 삭제
- 청구항 1에 있어서,
상기 삭제 모듈은,
소프트웨어적인 드라이브 초기화의 삭제를 위해서, 사용자가 삭제하고자 하는 데이터를 파일, 폴더 및 드라이브 단위로 선택하면, 선택한 삭제 대상 데이터의 물리적인 시작위치와 종료위치를 저장하고,
사용자가 원하는 일정 횟수만큼 반복하여, 삭제 대상 데이터의 시작위치부터 종료위치까지 null, 0 또는 1의 초기화 데이터를 대상의 크기만큼 채워 넣고,
상기 선택한 파일, 폴더 및 드라이브 단위의 파일에 대해서 초기화 데이터를 이용한 채움 과정이 종료되면, 전체 대상 크기만큼의 데이터를 쓰는 과정을 실행하여, 실제 데이터를 저장하는 공간에 대해서 다수의 데이터 쓰는 과정을 실행하며,
실제 운영체제에서 대상 드라이브에 대한 포맷을 추가로 수행하여, 파일의 저장 위치, 저장 장소(FAT)에 대한 초기화 과정을 수행하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 장치.
- 실시간 병렬처리 기반의 데이터 백업 장치에서, 사용자 인터페이스 모듈을 사용하여 실시간 압축 저장을 수행하는 특정 파일 유형 및 저장매체의 설정을 수행하는 단계;
모니터링 모듈을 사용하여 백업 요청 기기의 데이터 변경을 모니터링하는 단계;
압축 모듈을 사용하여 상기 모니터링한 결과를 토대로 변경된 데이터의 멀티코어를 이용한 병렬 압축을 수행하는 단계;
네트워크 연결 모듈을 사용하여 상기 병렬 압축을 수행한 변경된 데이터에 대한 백업 데이터를 저장하기 위한 상기 저장매체와의 네트워크 연결을 수행하는 단계;
분산저장 모듈을 사용하여 상기 백업 데이터를 적어도 하나 이상의 저장매체로 전송하여 저장하는 단계;
중복 제거 모듈을 사용하여 연결인증을 수행한 상기 저장매체에 저장된 최종 백업 데이터와 상기 백업 데이터를 비교하여 동일 데이터의 중복성을 확인하여 제거하는 단계;
복원 모듈을 사용하여 상기 저장매체에 저장된 특정 시점의 백업 데이터를 복원하는 단계; 및
삭제 모듈을 사용하여 상기 저장매체에 저장된 백업 데이터를 삭제하는 단계;를 포함하며,
상기 백업 데이터는, 백업을 수행한 백업 요청 기기 및 타 백업 요청 기기를 통해 복원할 수 있으며,
상기 복원하는 단계는, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 링크 데이터인 경우, 실제 존재하는 링크 데이터를 검색하여 원본 데이터를 복원하며, 상기 저장매체에 저장된 복원 대상이 되는 특정 시점의 백업 데이터가 실제 압축된 데이터인 경우, 압축을 해제하여 원본 데이터를 복원하는 것을 더 포함하며,
상기 삭제하는 단계는, 사용자로부터 특정 파일, 폴더 및 드라이브 단위로 특정 시점의 백업 데이터의 삭제가 요청되면, 해당 백업 데이터의 파일 시스템에 null, 0 또는 1의 초기화 데이터를 반복적으로 채우거나, 또는 임의의 난수 데이터를 반복적으로 채우거나, 또는 해당 백업 데이터의 파일 시스템 일부는 null, 0 또는 1을 반복적으로 채우고 나머지 부분은 임의의 난수 데이터를 반복적으로 채우는 과정을 소정 횟수 반복함으로써, 복원이 불가능하도록 소프트웨어적으로 완전하게 삭제하는 것을 더 포함하며,
상기 삭제하는 단계는, 삭제 대상이 되는 백업 데이터가 여러 저장 매체에 분산 저장되어 있는 경우, 동시 삭제를 병렬로 처리하여 개별적인 데이터 파일에 대한 삭제 시간을 단축하는 것을 특징으로 하는 실시간 병렬처리 기반의 데이터 백업 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230047562A KR102597867B1 (ko) | 2023-04-11 | 2023-04-11 | 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230047562A KR102597867B1 (ko) | 2023-04-11 | 2023-04-11 | 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102597867B1 true KR102597867B1 (ko) | 2023-11-03 |
Family
ID=88745288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230047562A KR102597867B1 (ko) | 2023-04-11 | 2023-04-11 | 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102597867B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120018965A (ko) * | 2010-08-24 | 2012-03-06 | (주)클로닉스 | 모바일 단말과 휴대용 컴퓨팅 기기를 위한 파일 백업, 복원 및 데이터 영구삭제 서비스 제공 시스템 및 그 방법 |
KR101605156B1 (ko) * | 2014-12-11 | 2016-03-21 | 네이버비즈니스플랫폼 주식회사 | 파일 안전 삭제 기능 제공 장치, 방법 및 컴퓨터 프로그램 |
KR20190026277A (ko) * | 2017-09-04 | 2019-03-13 | 주식회사 심플한 | 복구 가능한 삭제된 데이터를 영구 삭제하는 방법 |
KR102477386B1 (ko) * | 2022-07-15 | 2022-12-15 | 주식회사 노바챔프 | 실시간 모니터링에 기반한 데이터 백업 방법 및 이를 구현하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
-
2023
- 2023-04-11 KR KR1020230047562A patent/KR102597867B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120018965A (ko) * | 2010-08-24 | 2012-03-06 | (주)클로닉스 | 모바일 단말과 휴대용 컴퓨팅 기기를 위한 파일 백업, 복원 및 데이터 영구삭제 서비스 제공 시스템 및 그 방법 |
KR101605156B1 (ko) * | 2014-12-11 | 2016-03-21 | 네이버비즈니스플랫폼 주식회사 | 파일 안전 삭제 기능 제공 장치, 방법 및 컴퓨터 프로그램 |
KR20190026277A (ko) * | 2017-09-04 | 2019-03-13 | 주식회사 심플한 | 복구 가능한 삭제된 데이터를 영구 삭제하는 방법 |
KR102477386B1 (ko) * | 2022-07-15 | 2022-12-15 | 주식회사 노바챔프 | 실시간 모니터링에 기반한 데이터 백업 방법 및 이를 구현하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100985169B1 (ko) | 분산 저장 시스템에서 파일의 중복을 제거하는 장치 및 방법 | |
US10552640B2 (en) | In-situ data verification for the cloud | |
US8706694B2 (en) | Continuous data protection of files stored on a remote storage device | |
US9633065B2 (en) | Efficient data rehydration | |
US10339112B1 (en) | Restoring data in deduplicated storage | |
US8209298B1 (en) | Restoring a restore set of files from backup objects stored in sequential backup devices | |
US10120579B1 (en) | Data storage management for sequentially written media | |
US12019524B2 (en) | Data connector component for implementing data requests | |
US9535630B1 (en) | Leveraging array operations at virtualized storage processor level | |
US20120198154A1 (en) | Method of and system for enhanced data storage | |
US11762738B2 (en) | Reducing bandwidth during synthetic restores from a deduplication file system | |
US8819370B1 (en) | Techniques for storage lifecycle policy management | |
US20150046398A1 (en) | Accessing And Replicating Backup Data Objects | |
CN111984465A (zh) | 数据库远程备份方法、装置、介质和电子设备 | |
US7657533B2 (en) | Data management systems, data management system storage devices, articles of manufacture, and data management methods | |
CN112214358A (zh) | 一种GaussDB分布式数据库的备份恢复系统及其方法 | |
KR102175094B1 (ko) | 병렬처리 압축 기반 데이터 중복성 제거를 통한 고효율 데이터 저장 시스템 | |
US10146703B1 (en) | Encrypting data objects in a data storage system | |
US8195612B1 (en) | Method and apparatus for providing a catalog to optimize stream-based data restoration | |
KR102597867B1 (ko) | 다중 시점과 완전 삭제를 지원하는 실시간 병렬처리 기반의 데이터 백업 장치 및 그 방법 | |
US7685186B2 (en) | Optimized and robust in-place data transformation | |
US11409604B1 (en) | Storage optimization of pre-allocated units of storage | |
KR102477386B1 (ko) | 실시간 모니터링에 기반한 데이터 백업 방법 및 이를 구현하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
US11989124B2 (en) | Garbage collection for a deduplicated cloud tier with encrypted segments | |
US10678650B1 (en) | Managing snaps at a destination based on policies specified at a source |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |