Nothing Special   »   [go: up one dir, main page]

KR102367733B1 - 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법 - Google Patents

정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법 Download PDF

Info

Publication number
KR102367733B1
KR102367733B1 KR1020190143335A KR20190143335A KR102367733B1 KR 102367733 B1 KR102367733 B1 KR 102367733B1 KR 1020190143335 A KR1020190143335 A KR 1020190143335A KR 20190143335 A KR20190143335 A KR 20190143335A KR 102367733 B1 KR102367733 B1 KR 102367733B1
Authority
KR
South Korea
Prior art keywords
blocks
block
computer
changed
partitions
Prior art date
Application number
KR1020190143335A
Other languages
English (en)
Other versions
KR20210056636A (ko
Inventor
안재훈
박창원
김영환
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020190143335A priority Critical patent/KR102367733B1/ko
Publication of KR20210056636A publication Critical patent/KR20210056636A/ko
Application granted granted Critical
Publication of KR102367733B1 publication Critical patent/KR102367733B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files

Landscapes

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

Abstract

데이터 백업방법 및 기록매체가 제공된다. 본 데이터 백업방법에 따르면, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하고, 변경된 파일을 복수개의 블록으로 분할하며, 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하고, 컴패어 블록을 압축하는 데이터 백업방법을 제공할 수 있게 되어, 실시간 블록 데이터 이중화 전송을 통해 데이터 동기화 기능을 제공함으로서 1차 시스템 장애 발생시 100% 데이터 복구 기능 제공할 수 있게 되고 블록 데이터 전송 시 중복 블록에 사전 제거를 통한 데이터 압축 효율 증대 및 전송 효율을 증가시킬 수 있게 된다.

Description

정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법 {Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy}
데이터 백업방법에 관한 것으로, 더욱 상세하게는, 파일을 고속으로 백업하기 위한 데이터 백업방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
종래에는 백업 데이터 이중화 적용 시 시스템의 설치 및 적용을 위해 백업 시스템을 위한 시스템 중단이 필요했다. 하지만 서비스가 진행되는 시스템의 경우 시스템 중단에 따른 불이익 및 추가 설치 과정에서 발생하는 연동 문제로 추가적인 백업 시스템 적용에 대한 부정적 견해가 많다.
따라서, 무중단(제로 다운타임) 이중화 백업 시스템 구축과 이중화 백업 시스템의 실시간 동작을 위한 고속 블록 데이터 전송 기술이 필요하다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하고, 변경된 파일을 복수개의 블록으로 분할하며, 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하고, 컴패어 블록을 압축하는 데이터 백업방법 및 기록매체를 제공함에 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 컴퓨터에 의해 수행되는 데이터 백업방법은, 복수의 파일들 중 변경된 파일을 추출하는 단계; 변경된 파일을 복수개의 블록으로 분할하는 단계; 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및 컴패어 블록을 압축하는 단계;를 포함한다.
그리고, 컴패어 블록을 생성하는 단계는, 하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단할 수도 있다.
또한, 컴패어 블록을 생성하는 단계는, 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행할 수도 있다.
그리고, 복수개의 블록은, 그 중 적어도 2개의 블록의 크기가 서로 다르고, 복수개의 파티션은, 각 파티션의 크기가 서로 동일할 수도 있다.
또한, 압축하는 단계는, 컴패어 블록에 대한 압축율을 산출하고, 압축율이 특정값 이상일 경우에만 압축을 수행할 수도 있다.
그리고, 압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하는 단계;를 더 포함할 수도 있다.
또한, 압축된 컴패어 블록을 외부 백업장치로 전송하는 단계;를 더 포함할 수도 있다.
한편, 본 발명의 일 실시예에 따른, 컴퓨터에 의해 수행되는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하는 단계; 변경된 파일을 복수개의 블록으로 분할하는 단계; 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및 컴패어 블록을 압축하는 단계;를 포함하는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록될 수도 있다.
본 발명의 다양한 실시예에 따르면, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하고, 변경된 파일을 복수개의 블록으로 분할하며, 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하고, 컴패어 블록을 압축하는 데이터 백업방법 및 기록매체를 제공할 수 있게 되어, 실시간 블록 데이터 이중화 전송을 통해 데이터 동기화 기능을 제공함으로서 1차 시스템 장애 발생시 100% 데이터 복구 기능 제공할 수 있게 되고 블록 데이터 전송 시 중복 블록에 사전 제거를 통한 데이터 압축 효율 증대 및 전송 효율을 증가시킬 수 있게 된다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에 서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른, 컴퓨터의 구성을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 데이터 백업방법을 설명하기 위한 흐름도,
도 3은 본 발명의 일 실시예에 따른, 데이터 백업방법을 도식화한 도면,
도 4는 본 발명의 일 실시예에 따른, 블록과 파티션의 예시를 도시한 도면,
도 5는 기존 방식에 따른 블록단위의 메모리 처리 방식을 도시한 도면,
도 6은 본 발명의 일 실시예에 따른, 파티션 단위의 메모리 처리 방식을 도시한 도면,
도 7은 본 발명의 일 실시예에 따른, 백업 시스템의 구성을 도시한 도면이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을의미한다.
다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른, 컴퓨터(100)의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 컴퓨터(100)는 통신부(110)와 제어부(120)와 저장부(130)를 포함한다.
통신부(110)는 외부 백업장치와 통신 가능하도록 연결된다. 여기에서, 외부 백업장치는 컴퓨터(100)에 저장된 파일들에 대한 백업 파일들을 저장하고 있는 장치이며, 외부 백업장치는 컴퓨터(100)에 저장된 파일들을 주기적으로 수신 및 동기화하여 컴퓨터(100)와 동일한 파일을 저장하고 있다. 통신부(110)는 블루투스, 와이파이(WIFI), 근거리무선통신(NFC), 셀룰러, LTE(Long-Term Evolution) 등 다양한 무선 통신 방식으로 통신을 수행할 수 있으며, 유선랜 등의 유선 통신으로 통신을 할 수도 있음은 물론이다.
제어부(120)는 컴퓨터(100)의 전반적인 동작을 제어하며, 예를 들어, 중앙처리장치가 이에 해당될 수 있다. 제어부(120)는 추후 도 2를 참고하여 설명하는 이터 백업방법을 수행한다.
저장부(130)는 파일들이 저장되어 있다. 또한, 저장부(130)는 저장된 파일들에 대한 백업 파일들을 저장할 수도 있으며, 이 경우, 저장부(130)는 저장된 파일들을 주기적으로 동기화하여 백업 공간에 백업 파일을 저장하고 있다. 저장부(130)는 다양한 저장장치로 구현될 수 있으며 예를 들어 하드디스크, SSD(Solid State Drive) 등으로 구현될 수도 있음은 물론이다.
이와 같은 구성의 컴퓨터(100)는 데이터 백업방법을 수행하며, 이하에서는 도면을 참고하여 데이터 백업방법에 대해 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른, 데이터 백업방법을 설명하기 위한 흐름도이다.
우선, 컴퓨터(100)는 복수의 파일들 중 변경된 파일을 추출한다(S210). 구체적으로, 컴퓨터(100)는 주기적으로 변경된 파일을 추출할 수도 있다. 또한, 컴퓨터(100)는 변경이 진행되고 있는 파일을 실시간으로 변경된 파일로 추출할 수도 있다.
그리고, 컴퓨터(100)는 변경된 파일을 복수개의 블록으로 분할한다(S220). 이 때, 복수개의 블록은 그 중 적어도 2개의 블록의 크기가 서로 다르게 설정될 수도 있다. 즉, 컴퓨터(100)는 자원의 사용 현황에 따라 그에 맞게 블록들의 크기와 갯수를 가변적으로 설정할 수 있게 된다.
그리고, 컴퓨터(100)는 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하게 된다(S230). 여기에서 컴패어 블록은 변경된 블록들만으로 구성되어 있으며, 백업파일을 최신 버전으로 동기화하기 위한 블록들이다.
이 때, 컴퓨터(100)는 하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단하게 된다. 즉, 컴퓨터(100)는 블록단위로 메모리에 큐(Queue)에 저장하여 처리하지 않고, 더 작은 단위인 파티션 단위로 메모리 큐에 저장하여 처리하게 된다. 이 때, 컴퓨터(100)는 복수개의 파티션이 각 파티션의 크기가 서로 동일하도록 설정하게 된다. 블록단위보다 더 작은 파티션 단위로 처리함으로써, 컴퓨터(100)는 컴패어 블록 생성을 위한 메모리의 사용을 더욱 작은 단위로 할 수 있게 되므로, 백업 데이터의 실시간 처리가 용이해지게 된다.
또한, 컴퓨터(100)는 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행하게 된다. 구체적으로, 컴퓨터(100)는 복수개의 프리체커(PreChecker)를 실행함으로써, 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행할 수도 있다. 여기에서, 프리체커는 파티션이 변경되었는지 여부를 판단하는 기능을 수행하는 모듈로써, 프리체커는 하나의 프로그램이나 또는 프로세서에 해당되며, 복수개의 프리체커가 동시에 병렬적으로 실행될 수 있다.
그리고, 컴퓨터(100)는 생성된 컴패어 블록을 압축하게 된다(S240). 컴퓨터(100)는 다양한 압축 알고리즘을 이용하여 컴패어 블록을 압축할 수 있으며, 예를 들어 LZ4 알고리즘을 적용할 수도 있다.
이 때, 컴퓨터(100)는 컴패어 블록에 대한 압축률을 산출하고, 압축률이 특정값 이상일 경우에만 압축을 수행할 수도 있다. 구체적으로, 컴퓨터(100)는 해당 압축 알고리즘에 대응되는 압축률 공식을 이용하여, 컴패어 블록의 압축률을 미리 산출하고, 압축률이 특정값 이상으로 높을 때에만 압축을 수행하게 된다. 이를 통해, 컴퓨터(100)는 불필요한 압축을 하지 않게 되어 백업 데이터 처리 속도를 향상시킬 수 있게 된다. 여기에서, 압축률은 압축이 되는 정도를 나타내는 값으로, 압축이 많이 될 수록 압축률이 높아지게 된다.
그 다음, 컴퓨터(100)는 압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하게 된다(S250). 구체적으로, 컴퓨터(100)는 저장부(130)에 백업파일들을 저장하고 있으며, 변경된 파일에 대응되는 기존 백업파일에 컴패어 블록을 적용함으로써, 변경된 파일과 기존 백업파일의 내용이 동일해지도록 동기화를 수행하게 된다. 이를 통해 컴퓨터(100)는 변경된 파일 전체를 기존 백업파일과 비교하지 않고, 컴패어 블록만을 이용하여 기존 백업파일을 변경된 파일과 동기화할 수 있게 되므로, 더욱 고속으로 백업 파일을 동기화할 수 있게 된다.
또한, 컴퓨터(100)는 외부 백업장치(700)와 통신가능하게 연결될 수도 있고, 압축된 컴패어 블록을 외부 백업장치(700)로 전송할 수도 있다. 이에 대해서는 추후 도 7을 참고하여 더 상세히 설명한다.
이와 같은 과정을 통해, 컴퓨터(100)는 파티션 단위로 처리되는 데이터 백업방법을 제공할 수 있게 되며, 실시간 블록 데이터 이중화 전송을 통해 데이터 동기화 기능을 제공함으로서 1차 시스템 장애 발생시 100% 데이터 복구 기능 제공할 수 있게 되고 블록 데이터 전송 시 중복 블록에 사전 제거를 통한 데이터 압축 효율 증대 및 전송 효율을 증가시킬 수 있게 된다.
도 3은 본 발명의 일 실시예에 따른, 데이터 백업방법을 도식화한 도면이다. 도 3은 상술한 과정을 도식한 것이며, 프리체커(PreChecker)가 4개로 구성된 경우를 도시하고 있다. 도 3에 도시된 바와 같이, 컴퓨터(100)는 우선 변경된 파일을 탐색하고, 변경된 파일에 대해 4개의 프리체커를 통해 병렬적으로 처리하는 과정을 확인할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 블록과 파티션의 예시를 도시한 도면이다. 도 4는 변경된 파일의 크기가 10기가바이트(GB)인 경우, 3GB, 4GB, 1GB, 2GB의 4개의 블록으로 변경된 파일을 분할하는 경우를 도시하고 있다. 그리고, 도 4에서는 하나의 블록은 640KB크기의 파티션으로 다시 나누어지는 경우를 도시하고 있다. 도 4에는 4GB의 크기를 가진 Block2에 대해 파티션이 Part1에서 Part8까지 8개만 도시되었으나 이는 일부일 뿐이며, 실제로는 640KB의 크기를 가진 파티션이 총 4GB가 될수 있는 개수만큼의 파티션으로 분할되게 된다.
도 5는 기존 방식에 따른 블록단위의 메모리 처리 방식을 도시한 도면이다. 도 5에 따르면, 메모리 큐(Queue)에는 블록단위로 적재가 되며 메모리에는 블록에 포함된 모든 데이터들이 메모리에 쌓이게 되므로, 메모리의 사용량이 매우 커지는 것을 확인할 수 있다.
반면, 도 6은 본 발명의 일 실시예에 따른, 파티션 단위의 메모리 처리 방식을 도시한 도면이다. 도 6에 도시된 바와 같이, 컴퓨터(100)는 파티션 단위로 메모리 큐에 저장하여 처리하게 된다. 그러면, 도 6에 도시된 바와 같이, 컴퓨터(100)는 큐에 적제된 데이터를 처리할 때 메모리 사용량이 매우 적어지게 되는 것을 확인할 수 있다. 이와 같이, 파티션 단위로 메모리 처리를 수행할 경우, 컴퓨터(100)는 매우 적은 메모리 사용량으로 더 빠르게 백업 데이터를 처리할 수 있게 된다.
도 7은 본 발명의 일 실시예에 따른, 백업 시스템의 구성을 도시한 도면이다. 도 7에 도시된 바와 같이, 백업 시스템은 컴퓨터(100)와 외부 백업장치(700)가 통신가능하도록 네트워크를 통해 연결될 수 있다. 그리고, 컴퓨터(100)는 압축된 컴패어 블록을 외부 백업장치(700)로 전송하게 된다. 그러면, 외부 백업장치(700)는 백업파일들을 저장하고 있으며, 변경된 파일에 대응되는 기존 백업파일에 수신된 컴패어 블록을 적용함으로써, 변경된 파일과 기존 백업파일의 내용이 동일해지도록 동기화를 수행하게 된다.
한편, 상술된 기능이 포함된 컴퓨터(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버 등에 설치된 프로그램 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 컴퓨터(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다.
한편, 본 실시예에 따른 장치의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.
본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 컴퓨터
110 : 통신부
120 : 제어부
130 : 저장부
700 : 외부 백업장치

Claims (8)

  1. 컴퓨터에 의해 수행되는 데이터 백업방법에 있어서,
    복수의 파일들 중 변경된 파일을 추출하는 단계;
    변경된 파일을 복수개의 블록으로 분할하는 단계;
    복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및
    컴패어 블록을 압축하는 단계;를 포함하고,
    컴패어 블록을 생성하는 단계는,
    하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단하고,
    복수개의 블록은,
    그 중 적어도 2개의 블록의 크기가 서로 다르고,
    복수개의 파티션은,
    각 파티션의 크기가 서로 동일한 것을 특징으로 하는 데이터 백업방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    압축하는 단계는,
    컴패어 블록에 대한 압축율을 산출하고, 압축율이 특정값 이상일 경우에만 압축을 수행하는 것을 특징으로 하는 데이터 백업방법.
  6. 청구항 1에 있어서,
    압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 백업방법.
  7. 청구항 1에 있어서,
    압축된 컴패어 블록을 외부 백업장치로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 백업방법.
  8. 컴퓨터에 의해 수행되는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하는 단계;
    변경된 파일을 복수개의 블록으로 분할하는 단계;
    복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및
    컴패어 블록을 압축하는 단계;를 포함하고,
    컴패어 블록을 생성하는 단계는,
    하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단하고,
    복수개의 블록은,
    그 중 적어도 2개의 블록의 크기가 서로 다르고,
    복수개의 파티션은,
    각 파티션의 크기가 서로 동일한 것을 특징으로 하는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.

KR1020190143335A 2019-11-11 2019-11-11 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법 KR102367733B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190143335A KR102367733B1 (ko) 2019-11-11 2019-11-11 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190143335A KR102367733B1 (ko) 2019-11-11 2019-11-11 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법

Publications (2)

Publication Number Publication Date
KR20210056636A KR20210056636A (ko) 2021-05-20
KR102367733B1 true KR102367733B1 (ko) 2022-02-25

Family

ID=76142718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143335A KR102367733B1 (ko) 2019-11-11 2019-11-11 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법

Country Status (1)

Country Link
KR (1) KR102367733B1 (ko)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366859B2 (en) 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
TW200820011A (en) 2006-10-27 2008-05-01 Inventec Corp A data backup method using snapshot
US20110218967A1 (en) 2010-03-08 2011-09-08 Microsoft Corporation Partial Block Based Backups
KR101153023B1 (ko) * 2004-09-22 2012-06-11 마이크로소프트 코포레이션 합성 백업 및 복구에 대한 방법 및 시스템
JP4998737B2 (ja) 2007-12-28 2012-08-15 日本電気株式会社 情報処理装置、プログラム及びバックアップ方法
JP2013073526A (ja) * 2011-09-28 2013-04-22 Nec Corp 差分バックアップシステム、差分バックアップ方法、及びプログラム
CN104932841A (zh) 2015-06-17 2015-09-23 南京邮电大学 一种云存储系统中节约型重复数据删除方法
CN107526657A (zh) 2017-09-13 2017-12-29 沈阳东知科技有限公司 一种数据库联机备份方法及系统
KR101844528B1 (ko) * 2017-10-26 2018-04-02 (주)지란지교소프트 통합 파일을 이용한 백업 방법 및 장치
US20190026191A1 (en) 2017-07-24 2019-01-24 Western Digital Technologies, Inc. Managing Data in a Storage System

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101153023B1 (ko) * 2004-09-22 2012-06-11 마이크로소프트 코포레이션 합성 백업 및 복구에 대한 방법 및 시스템
US7366859B2 (en) 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
TW200820011A (en) 2006-10-27 2008-05-01 Inventec Corp A data backup method using snapshot
JP4998737B2 (ja) 2007-12-28 2012-08-15 日本電気株式会社 情報処理装置、プログラム及びバックアップ方法
US20110218967A1 (en) 2010-03-08 2011-09-08 Microsoft Corporation Partial Block Based Backups
JP2013073526A (ja) * 2011-09-28 2013-04-22 Nec Corp 差分バックアップシステム、差分バックアップ方法、及びプログラム
CN104932841A (zh) 2015-06-17 2015-09-23 南京邮电大学 一种云存储系统中节约型重复数据删除方法
US20190026191A1 (en) 2017-07-24 2019-01-24 Western Digital Technologies, Inc. Managing Data in a Storage System
CN107526657A (zh) 2017-09-13 2017-12-29 沈阳东知科技有限公司 一种数据库联机备份方法及系统
KR101844528B1 (ko) * 2017-10-26 2018-04-02 (주)지란지교소프트 통합 파일을 이용한 백업 방법 및 장치

Also Published As

Publication number Publication date
KR20210056636A (ko) 2021-05-20

Similar Documents

Publication Publication Date Title
US10936560B2 (en) Methods and devices for data de-duplication
CA2901668C (en) Deduplication storage system with efficient reference updating and space reclamation
EP3376393B1 (en) Data storage method and apparatus
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
US20150113218A1 (en) Distributed Data Processing Method and Apparatus
US20160291877A1 (en) Storage system and deduplication control method
US11099767B2 (en) Storage system with throughput-based timing of synchronous replication recovery
CN113126890B (zh) 用于存储的方法、设备和计算机程序产品
US11151005B2 (en) System and method for storage node data synchronization
WO2017042978A1 (ja) 計算機システム、ストレージ装置、及びデータの管理方法
CN107391033B (zh) 数据迁移方法及装置、计算设备、计算机存储介质
JP7075077B2 (ja) バックアップサーバ、バックアップ方法、プログラム、ストレージシステム
KR102172607B1 (ko) 분산·협업형 컨테이너 플랫폼 환경에서의 자원간 균형적 스케일아웃 방법
US10776210B2 (en) Restoration of content of a volume
JP6943008B2 (ja) 制御プログラム、制御方法、及び情報処理装置
KR102367733B1 (ko) 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법
US10341467B2 (en) Network utilization improvement by data reduction based migration prioritization
US20150269086A1 (en) Storage System and Storage Method
US11726658B2 (en) Method, device, and computer program product for storage management
US20180246666A1 (en) Methods for performing data deduplication on data blocks at granularity level and devices thereof
US20200372001A1 (en) Deduplication storage method, deduplication storage control device, and deduplication storage system
CN108848136B (zh) 一种云服务集群的共享存储方法
JP6891603B2 (ja) バックアップシステム、ストレージ装置、データ転送方法及びプログラム
JP6733214B2 (ja) 制御装置、ストレージシステム、制御方法及びプログラム
US20230128035A1 (en) System and Method for Distributed Data Consolidation

Legal Events

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