KR20210056636A - Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy - Google Patents
Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy Download PDFInfo
- Publication number
- KR20210056636A KR20210056636A KR1020190143335A KR20190143335A KR20210056636A KR 20210056636 A KR20210056636 A KR 20210056636A KR 1020190143335 A KR1020190143335 A KR 1020190143335A KR 20190143335 A KR20190143335 A KR 20190143335A KR 20210056636 A KR20210056636 A KR 20210056636A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- computer
- changed
- data
- blocks
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy 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
Description
데이터 백업방법에 관한 것으로, 더욱 상세하게는, 파일을 고속으로 백업하기 위한 데이터 백업방법에 관한 것이다. It relates to a data backup method, and more particularly, to a data backup method for backing up files at high speed.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.
종래에는 백업 데이터 이중화 적용 시 시스템의 설치 및 적용을 위해 백업 시스템을 위한 시스템 중단이 필요했다. 하지만 서비스가 진행되는 시스템의 경우 시스템 중단에 따른 불이익 및 추가 설치 과정에서 발생하는 연동 문제로 추가적인 백업 시스템 적용에 대한 부정적 견해가 많다. Conventionally, when applying the backup data duplication, it was necessary to stop the system for the backup system to install and apply the system. However, in the case of a system in which the service is in progress, there are many negative views on the application of an additional backup system due to disadvantages due to system interruption and interworking problems occurring during the additional installation process.
따라서, 무중단(제로 다운타임) 이중화 백업 시스템 구축과 이중화 백업 시스템의 실시간 동작을 위한 고속 블록 데이터 전송 기술이 필요하다. Accordingly, there is a need for a high-speed block data transmission technology for the construction of a non-stop (zero downtime) redundant backup system and real-time operation of the redundant backup system.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하고, 변경된 파일을 복수개의 블록으로 분할하며, 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하고, 컴패어 블록을 압축하는 데이터 백업방법 및 기록매체를 제공함에 있다. The present invention was conceived to solve the above problems, and an object of the present invention is to extract a changed file from among a plurality of files at regular time intervals, divide the changed file into a plurality of blocks, and It is to provide a data backup method and a recording medium for generating a compare block composed of only changed blocks by removing unchanged blocks, and compressing the compare block.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those of ordinary skill in the technical field to which the present invention belongs from the following description. I will be able to.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 컴퓨터에 의해 수행되는 데이터 백업방법은, 복수의 파일들 중 변경된 파일을 추출하는 단계; 변경된 파일을 복수개의 블록으로 분할하는 단계; 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및 컴패어 블록을 압축하는 단계;를 포함한다. According to an embodiment of the present invention for achieving the above object, a data backup method performed by a computer includes: extracting a changed file from among a plurality of files; Dividing the changed file into a plurality of blocks; Removing an unchanged block from among the plurality of blocks to generate a compare block composed of only changed blocks; And compressing the compare block.
그리고, 컴패어 블록을 생성하는 단계는, 하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단할 수도 있다. In the generating of the compare block, one block may be divided into a plurality of partitions, it may be checked whether to be changed in a partition unit, and it may be determined that a block including at least one changed partition is a changed block.
또한, 컴패어 블록을 생성하는 단계는, 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행할 수도 있다. In addition, in the step of generating the compare block, it is possible to simultaneously check whether or not to change the predetermined number of partitions in parallel.
그리고, 복수개의 블록은, 그 중 적어도 2개의 블록의 크기가 서로 다르고, 복수개의 파티션은, 각 파티션의 크기가 서로 동일할 수도 있다.In addition, the plurality of blocks may have different sizes of at least two of the blocks, and the plurality of partitions may have the same size of each partition.
또한, 압축하는 단계는, 컴패어 블록에 대한 압축율을 산출하고, 압축율이 특정값 이상일 경우에만 압축을 수행할 수도 있다.Further, in the step of compressing, a compression rate for the compare block may be calculated, and compression may be performed only when the compression rate is greater than or equal to a specific value.
그리고, 압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하는 단계;를 더 포함할 수도 있다. The method may further include a step of synchronizing by applying the compressed compare block to a corresponding existing backup file.
또한, 압축된 컴패어 블록을 외부 백업장치로 전송하는 단계;를 더 포함할 수도 있다. It may further include a step of transmitting the compressed compare block to an external backup device.
한편, 본 발명의 일 실시예에 따른, 컴퓨터에 의해 수행되는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체에 있어서, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하는 단계; 변경된 파일을 복수개의 블록으로 분할하는 단계; 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및 컴패어 블록을 압축하는 단계;를 포함하는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록될 수도 있다. Meanwhile, in a computer-readable recording medium containing a computer program for performing a data backup method performed by a computer according to an embodiment of the present invention, a changed file is extracted from a plurality of files at a predetermined time interval. step; Dividing the changed file into a plurality of blocks; Removing an unchanged block from among the plurality of blocks to generate a compare block composed of only changed blocks; And compressing the compare block may include a computer program for performing a data backup method including.
본 발명의 다양한 실시예에 따르면, 일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하고, 변경된 파일을 복수개의 블록으로 분할하며, 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하고, 컴패어 블록을 압축하는 데이터 백업방법 및 기록매체를 제공할 수 있게 되어, 실시간 블록 데이터 이중화 전송을 통해 데이터 동기화 기능을 제공함으로서 1차 시스템 장애 발생시 100% 데이터 복구 기능 제공할 수 있게 되고 블록 데이터 전송 시 중복 블록에 사전 제거를 통한 데이터 압축 효율 증대 및 전송 효율을 증가시킬 수 있게 된다. According to various embodiments of the present invention, a changed file is extracted from a plurality of files at regular time intervals, the changed file is divided into a plurality of blocks, and an unchanged block is removed from among the plurality of blocks, thereby comparing only changed blocks. It is possible to provide a data backup method and a recording medium that creates a compare block and compresses a compare block, providing a data synchronization function through real-time block data redundancy transmission, thereby recovering 100% data in case of a primary system failure. It is possible to provide and increase data compression efficiency and transmission efficiency by removing redundant blocks in advance when transmitting block data.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에 서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those of ordinary skill in the art from the following description. will be.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른, 컴퓨터의 구성을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 데이터 백업방법을 설명하기 위한 흐름도,
도 3은 본 발명의 일 실시예에 따른, 데이터 백업방법을 도식화한 도면,
도 4는 본 발명의 일 실시예에 따른, 블록과 파티션의 예시를 도시한 도면,
도 5는 기존 방식에 따른 블록단위의 메모리 처리 방식을 도시한 도면,
도 6은 본 발명의 일 실시예에 따른, 파티션 단위의 메모리 처리 방식을 도시한 도면,
도 7은 본 발명의 일 실시예에 따른, 백업 시스템의 구성을 도시한 도면이다. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as part of the detailed description to aid in understanding of the present invention, provide embodiments of the present invention, and describe the technical features of the present invention together with the detailed description.
1 is a diagram showing the configuration of a computer, according to an embodiment of the present invention;
2 is a flow chart for explaining a data backup method according to an embodiment of the present invention;
3 is a schematic diagram of a data backup method according to an embodiment of the present invention;
4 is a diagram illustrating an example of a block and a partition according to an embodiment of the present invention;
5 is a diagram showing a memory processing method in block units according to an existing method;
6 is a diagram illustrating a memory processing method in a partition unit according to an embodiment of the present invention;
7 is a diagram showing the configuration of a backup system according to an embodiment of the present invention.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.In order to clarify the features and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, in the following description and the accompanying drawings, detailed descriptions of known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that the same components are denoted by the same reference numerals as much as possible throughout the drawings.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The terms or words used in the following description and drawings should not be interpreted as being limited to their usual or dictionary meanings, and the inventor may appropriately define the concept of terms for describing his or her invention in the best way. It should be interpreted as a meaning and concept consistent with the technical idea of the present invention based on the principle that there is.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most desirable embodiments of the present invention, and do not represent all the technical ideas of the present invention. It should be understood that there may be equivalents and variations.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. In addition, terms including ordinal numbers such as first and second are used to describe various elements, and are used only for the purpose of distinguishing one element from other elements, and to limit the elements. Not used. For example, without departing from the scope of the present invention, the second element may be referred to as the first element, and similarly, the first element may be referred to as the second element.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을의미한다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it is logically or physically connected, or can be connected.
다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, or may be indirectly connected or connected.
또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, terms such as "comprises" or "have" described herein are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification. It is to be understood that the above other features or the possibility of the presence or addition of numbers, steps, actions, components, parts, or combinations thereof are not preliminarily excluded.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as "... unit", "... group", and "module" described in the specification mean a unit that processes at least one function or operation, which can be implemented by hardware or software or a combination of hardware and software. have.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.In addition, "a or an", "one", "the" and similar words are indicated otherwise in this specification in the context of describing the present invention (especially in the context of the following claims). It may be used in a sense encompassing both the singular and the plural, unless otherwise clearly contradicted by context.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, the present invention will be described in more detail with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른, 컴퓨터(100)의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 컴퓨터(100)는 통신부(110)와 제어부(120)와 저장부(130)를 포함한다. 1 is a diagram showing the configuration of a
통신부(110)는 외부 백업장치와 통신 가능하도록 연결된다. 여기에서, 외부 백업장치는 컴퓨터(100)에 저장된 파일들에 대한 백업 파일들을 저장하고 있는 장치이며, 외부 백업장치는 컴퓨터(100)에 저장된 파일들을 주기적으로 수신 및 동기화하여 컴퓨터(100)와 동일한 파일을 저장하고 있다. 통신부(110)는 블루투스, 와이파이(WIFI), 근거리무선통신(NFC), 셀룰러, LTE(Long-Term Evolution) 등 다양한 무선 통신 방식으로 통신을 수행할 수 있으며, 유선랜 등의 유선 통신으로 통신을 할 수도 있음은 물론이다. The
제어부(120)는 컴퓨터(100)의 전반적인 동작을 제어하며, 예를 들어, 중앙처리장치가 이에 해당될 수 있다. 제어부(120)는 추후 도 2를 참고하여 설명하는 이터 백업방법을 수행한다. The
저장부(130)는 파일들이 저장되어 있다. 또한, 저장부(130)는 저장된 파일들에 대한 백업 파일들을 저장할 수도 있으며, 이 경우, 저장부(130)는 저장된 파일들을 주기적으로 동기화하여 백업 공간에 백업 파일을 저장하고 있다. 저장부(130)는 다양한 저장장치로 구현될 수 있으며 예를 들어 하드디스크, SSD(Solid State Drive) 등으로 구현될 수도 있음은 물론이다. The
이와 같은 구성의 컴퓨터(100)는 데이터 백업방법을 수행하며, 이하에서는 도면을 참고하여 데이터 백업방법에 대해 상세히 설명한다. The
도 2는 본 발명의 일 실시예에 따른, 데이터 백업방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a data backup method according to an embodiment of the present invention.
우선, 컴퓨터(100)는 복수의 파일들 중 변경된 파일을 추출한다(S210). 구체적으로, 컴퓨터(100)는 주기적으로 변경된 파일을 추출할 수도 있다. 또한, 컴퓨터(100)는 변경이 진행되고 있는 파일을 실시간으로 변경된 파일로 추출할 수도 있다. First, the
그리고, 컴퓨터(100)는 변경된 파일을 복수개의 블록으로 분할한다(S220). 이 때, 복수개의 블록은 그 중 적어도 2개의 블록의 크기가 서로 다르게 설정될 수도 있다. 즉, 컴퓨터(100)는 자원의 사용 현황에 따라 그에 맞게 블록들의 크기와 갯수를 가변적으로 설정할 수 있게 된다. Then, the
그리고, 컴퓨터(100)는 복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하게 된다(S230). 여기에서 컴패어 블록은 변경된 블록들만으로 구성되어 있으며, 백업파일을 최신 버전으로 동기화하기 위한 블록들이다. In addition, the
이 때, 컴퓨터(100)는 하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단하게 된다. 즉, 컴퓨터(100)는 블록단위로 메모리에 큐(Queue)에 저장하여 처리하지 않고, 더 작은 단위인 파티션 단위로 메모리 큐에 저장하여 처리하게 된다. 이 때, 컴퓨터(100)는 복수개의 파티션이 각 파티션의 크기가 서로 동일하도록 설정하게 된다. 블록단위보다 더 작은 파티션 단위로 처리함으로써, 컴퓨터(100)는 컴패어 블록 생성을 위한 메모리의 사용을 더욱 작은 단위로 할 수 있게 되므로, 백업 데이터의 실시간 처리가 용이해지게 된다. In this case, the
또한, 컴퓨터(100)는 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행하게 된다. 구체적으로, 컴퓨터(100)는 복수개의 프리체커(PreChecker)를 실행함으로써, 기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행할 수도 있다. 여기에서, 프리체커는 파티션이 변경되었는지 여부를 판단하는 기능을 수행하는 모듈로써, 프리체커는 하나의 프로그램이나 또는 프로세서에 해당되며, 복수개의 프리체커가 동시에 병렬적으로 실행될 수 있다. In addition, the
그리고, 컴퓨터(100)는 생성된 컴패어 블록을 압축하게 된다(S240). 컴퓨터(100)는 다양한 압축 알고리즘을 이용하여 컴패어 블록을 압축할 수 있으며, 예를 들어 LZ4 알고리즘을 적용할 수도 있다. Then, the
이 때, 컴퓨터(100)는 컴패어 블록에 대한 압축률을 산출하고, 압축률이 특정값 이상일 경우에만 압축을 수행할 수도 있다. 구체적으로, 컴퓨터(100)는 해당 압축 알고리즘에 대응되는 압축률 공식을 이용하여, 컴패어 블록의 압축률을 미리 산출하고, 압축률이 특정값 이상으로 높을 때에만 압축을 수행하게 된다. 이를 통해, 컴퓨터(100)는 불필요한 압축을 하지 않게 되어 백업 데이터 처리 속도를 향상시킬 수 있게 된다. 여기에서, 압축률은 압축이 되는 정도를 나타내는 값으로, 압축이 많이 될 수록 압축률이 높아지게 된다. In this case, the
그 다음, 컴퓨터(100)는 압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하게 된다(S250). 구체적으로, 컴퓨터(100)는 저장부(130)에 백업파일들을 저장하고 있으며, 변경된 파일에 대응되는 기존 백업파일에 컴패어 블록을 적용함으로써, 변경된 파일과 기존 백업파일의 내용이 동일해지도록 동기화를 수행하게 된다. 이를 통해 컴퓨터(100)는 변경된 파일 전체를 기존 백업파일과 비교하지 않고, 컴패어 블록만을 이용하여 기존 백업파일을 변경된 파일과 동기화할 수 있게 되므로, 더욱 고속으로 백업 파일을 동기화할 수 있게 된다. Then, the
또한, 컴퓨터(100)는 외부 백업장치(700)와 통신가능하게 연결될 수도 있고, 압축된 컴패어 블록을 외부 백업장치(700)로 전송할 수도 있다. 이에 대해서는 추후 도 7을 참고하여 더 상세히 설명한다. In addition, the
이와 같은 과정을 통해, 컴퓨터(100)는 파티션 단위로 처리되는 데이터 백업방법을 제공할 수 있게 되며, 실시간 블록 데이터 이중화 전송을 통해 데이터 동기화 기능을 제공함으로서 1차 시스템 장애 발생시 100% 데이터 복구 기능 제공할 수 있게 되고 블록 데이터 전송 시 중복 블록에 사전 제거를 통한 데이터 압축 효율 증대 및 전송 효율을 증가시킬 수 있게 된다. Through this process, the
도 3은 본 발명의 일 실시예에 따른, 데이터 백업방법을 도식화한 도면이다. 도 3은 상술한 과정을 도식한 것이며, 프리체커(PreChecker)가 4개로 구성된 경우를 도시하고 있다. 도 3에 도시된 바와 같이, 컴퓨터(100)는 우선 변경된 파일을 탐색하고, 변경된 파일에 대해 4개의 프리체커를 통해 병렬적으로 처리하는 과정을 확인할 수 있다. 3 is a schematic diagram of a data backup method according to an embodiment of the present invention. FIG. 3 is a schematic diagram of the above-described process, and shows a case in which four PreCheckers are configured. As shown in FIG. 3, the
도 4는 본 발명의 일 실시예에 따른, 블록과 파티션의 예시를 도시한 도면이다. 도 4는 변경된 파일의 크기가 10기가바이트(GB)인 경우, 3GB, 4GB, 1GB, 2GB의 4개의 블록으로 변경된 파일을 분할하는 경우를 도시하고 있다. 그리고, 도 4에서는 하나의 블록은 640KB크기의 파티션으로 다시 나누어지는 경우를 도시하고 있다. 도 4에는 4GB의 크기를 가진 Block2에 대해 파티션이 Part1에서 Part8까지 8개만 도시되었으나 이는 일부일 뿐이며, 실제로는 640KB의 크기를 가진 파티션이 총 4GB가 될수 있는 개수만큼의 파티션으로 분할되게 된다. 4 is a diagram illustrating an example of a block and a partition according to an embodiment of the present invention. FIG. 4 shows a case of dividing the changed file into 4 blocks of 3 GB, 4 GB, 1 GB, and 2 GB when the size of the changed file is 10 gigabytes (GB). In addition, FIG. 4 shows a case where one block is divided into partitions having a size of 640 KB. In FIG. 4, only 8 partitions from Part 1 to Part 8 are shown for Block 2 having a size of 4 GB, but these are only a part, and in reality, a partition having a size of 640 KB is divided into as many partitions as the total number of 4 GB.
도 5는 기존 방식에 따른 블록단위의 메모리 처리 방식을 도시한 도면이다. 도 5에 따르면, 메모리 큐(Queue)에는 블록단위로 적재가 되며 메모리에는 블록에 포함된 모든 데이터들이 메모리에 쌓이게 되므로, 메모리의 사용량이 매우 커지는 것을 확인할 수 있다.5 is a diagram showing a memory processing method in block units according to a conventional method. According to FIG. 5, since the memory queue is loaded in block units and all data included in the block is accumulated in the memory, it can be seen that the amount of memory is very large.
반면, 도 6은 본 발명의 일 실시예에 따른, 파티션 단위의 메모리 처리 방식을 도시한 도면이다. 도 6에 도시된 바와 같이, 컴퓨터(100)는 파티션 단위로 메모리 큐에 저장하여 처리하게 된다. 그러면, 도 6에 도시된 바와 같이, 컴퓨터(100)는 큐에 적제된 데이터를 처리할 때 메모리 사용량이 매우 적어지게 되는 것을 확인할 수 있다. 이와 같이, 파티션 단위로 메모리 처리를 수행할 경우, 컴퓨터(100)는 매우 적은 메모리 사용량으로 더 빠르게 백업 데이터를 처리할 수 있게 된다. On the other hand, FIG. 6 is a diagram illustrating a memory processing method in units of partitions according to an embodiment of the present invention. As shown in FIG. 6, the
도 7은 본 발명의 일 실시예에 따른, 백업 시스템의 구성을 도시한 도면이다. 도 7에 도시된 바와 같이, 백업 시스템은 컴퓨터(100)와 외부 백업장치(700)가 통신가능하도록 네트워크를 통해 연결될 수 있다. 그리고, 컴퓨터(100)는 압축된 컴패어 블록을 외부 백업장치(700)로 전송하게 된다. 그러면, 외부 백업장치(700)는 백업파일들을 저장하고 있으며, 변경된 파일에 대응되는 기존 백업파일에 수신된 컴패어 블록을 적용함으로써, 변경된 파일과 기존 백업파일의 내용이 동일해지도록 동기화를 수행하게 된다. 7 is a diagram showing the configuration of a backup system according to an embodiment of the present invention. As shown in FIG. 7, the backup system may be connected through a network so that the
한편, 상술된 기능이 포함된 컴퓨터(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버 등에 설치된 프로그램 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 컴퓨터(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다. Meanwhile, the
한편, 본 실시예에 따른 장치의 기능 및 방법을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 프로그래밍 언어 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 플래시 메모리, 솔리드 스테이트 디스크(SSD) 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다. On the other hand, it goes without saying that the technical idea of the present invention can be applied to a computer-readable recording medium containing a computer program for performing the functions and methods of the apparatus according to the present embodiment. Further, the technical idea according to various embodiments of the present disclosure may be implemented in the form of a computer-readable programming language code recorded on a computer-readable recording medium. The computer-readable recording medium can be any data storage device that can be read by a computer and can store data. For example, a computer-readable recording medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, flash memory, solid state disk (SSD), and the like. In addition, a computer-readable code or program stored in a computer-readable recording medium may be transmitted through a network connected between computers.
본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다.Although this specification and drawings describe exemplary device configurations, functional operations and implementations of the subject matter described herein are implemented as other types of digital electronic circuits, or include structures disclosed herein and structural equivalents thereof. It can be implemented with computer software, firmware, or hardware, or can be implemented by a combination of one or more of them.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.Accordingly, although the present invention has been described in detail with reference to the above-described examples, modifications, changes, and modifications to the examples can be made without departing from the scope of the present invention by those of ordinary skill in the field to which the present invention belongs.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be understood individually from the technical spirit or prospect of the present invention.
100 : 컴퓨터
110 : 통신부
120 : 제어부
130 : 저장부
700 : 외부 백업장치100: computer
110: communication department
120: control unit
130: storage unit
700: external backup device
Claims (8)
복수의 파일들 중 변경된 파일을 추출하는 단계;
변경된 파일을 복수개의 블록으로 분할하는 단계;
복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및
컴패어 블록을 압축하는 단계;를 포함하는 데이터 백업방법.
In the data backup method performed by a computer,
Extracting a changed file from among a plurality of files;
Dividing the changed file into a plurality of blocks;
Removing an unchanged block from among the plurality of blocks to generate a compare block composed of only changed blocks; And
Compressing the compare block; data backup method comprising a.
컴패어 블록을 생성하는 단계는,
하나의 블록을 복수개의 파티션으로 분할하고, 파티션 단위로 변경 여부를 확인하며, 변경된 파티션이 적어도 하나 포함된 블록을 변경된 블록인 것으로 판단하는 것을 특징으로 하는 데이터 백업방법.
The method according to claim 1,
The step of creating the compare block,
A method of backing up data, comprising: dividing one block into a plurality of partitions, checking whether to be changed in a partition unit, and determining that a block including at least one changed partition is a changed block.
컴패어 블록을 생성하는 단계는,
기설정된 갯수의 파티션들에 대해 동시에 병렬적으로 변경 여부 확인을 수행하는 것을 특징으로 하는 데이터 백업방법.
The method according to claim 2,
The step of creating the compare block,
A method of backing up data, characterized in that checking whether or not to change a preset number of partitions in parallel and in parallel.
복수개의 블록은,
그 중 적어도 2개의 블록의 크기가 서로 다르고,
복수개의 파티션은,
각 파티션의 크기가 서로 동일한 것을 특징으로 하는 데이터 백업방법.
The method according to claim 2,
A plurality of blocks,
At least two of them have different sizes,
A plurality of partitions,
Data backup method, characterized in that the size of each partition is the same.
압축하는 단계는,
컴패어 블록에 대한 압축율을 산출하고, 압축율이 특정값 이상일 경우에만 압축을 수행하는 것을 특징으로 하는 데이터 백업방법.
The method according to claim 1,
The step of compressing is,
A data backup method, comprising: calculating a compression rate for a compare block, and performing compression only when the compression rate is greater than or equal to a specific value.
압축된 컴패어 블록을 대응되는 기존 백업파일에 적용하여 동기화하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 백업방법.
The method according to claim 1,
And synchronizing by applying the compressed compare block to a corresponding existing backup file.
압축된 컴패어 블록을 외부 백업장치로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 백업방법.
The method according to claim 1,
And transmitting the compressed compare block to an external backup device.
일정시간 간격으로 복수의 파일들 중 변경된 파일을 추출하는 단계;
변경된 파일을 복수개의 블록으로 분할하는 단계;
복수개의 블록 중 변경되지 않은 블록을 제거하여 변경된 블록만으로 구성된 컴패어 블록(Compare block)을 생성하는 단계; 및
컴패어 블록을 압축하는 단계;를 포함하는 데이터 백업방법을 수행하는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
In a computer-readable recording medium containing a computer program for performing a data backup method performed by a computer,
Extracting a changed file from among a plurality of files at regular time intervals;
Dividing the changed file into a plurality of blocks;
Removing an unchanged block from among the plurality of blocks to generate a compare block composed of only changed blocks; And
Compressing the compare block; A computer-readable recording medium containing a computer program for performing a data backup method including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190143335A KR102367733B1 (en) | 2019-11-11 | 2019-11-11 | Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190143335A KR102367733B1 (en) | 2019-11-11 | 2019-11-11 | Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210056636A true KR20210056636A (en) | 2021-05-20 |
KR102367733B1 KR102367733B1 (en) | 2022-02-25 |
Family
ID=76142718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190143335A KR102367733B1 (en) | 2019-11-11 | 2019-11-11 | Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102367733B1 (en) |
Citations (11)
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 (en) * | 2004-09-22 | 2012-06-11 | 마이크로소프트 코포레이션 | Method and system for synthetic backup and restore |
JP4998737B2 (en) * | 2007-12-28 | 2012-08-15 | 日本電気株式会社 | Information processing apparatus, program, and backup method |
JP2013073526A (en) * | 2011-09-28 | 2013-04-22 | Nec Corp | Difference backup system, difference backup method and program |
CN104932841A (en) * | 2015-06-17 | 2015-09-23 | 南京邮电大学 | Saving type duplicated data deleting method in cloud storage system |
CN107526657A (en) * | 2017-09-13 | 2017-12-29 | 沈阳东知科技有限公司 | A kind of Online Database Backup method and system |
KR101844528B1 (en) * | 2017-10-26 | 2018-04-02 | (주)지란지교소프트 | Method and device for backup using total file |
US20190026191A1 (en) * | 2017-07-24 | 2019-01-24 | Western Digital Technologies, Inc. | Managing Data in a Storage System |
KR20190038561A (en) * | 2016-07-08 | 2019-04-08 | 칼립톤 인터네셔널 리미티드 | Distributed transaction processing and authentication systems |
-
2019
- 2019-11-11 KR KR1020190143335A patent/KR102367733B1/en active IP Right Grant
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101153023B1 (en) * | 2004-09-22 | 2012-06-11 | 마이크로소프트 코포레이션 | Method and system for synthetic backup and restore |
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 (en) * | 2007-12-28 | 2012-08-15 | 日本電気株式会社 | Information processing apparatus, program, and backup method |
US20110218967A1 (en) * | 2010-03-08 | 2011-09-08 | Microsoft Corporation | Partial Block Based Backups |
JP2013073526A (en) * | 2011-09-28 | 2013-04-22 | Nec Corp | Difference backup system, difference backup method and program |
CN104932841A (en) * | 2015-06-17 | 2015-09-23 | 南京邮电大学 | Saving type duplicated data deleting method in cloud storage system |
KR20190038561A (en) * | 2016-07-08 | 2019-04-08 | 칼립톤 인터네셔널 리미티드 | Distributed transaction processing and authentication systems |
US20190026191A1 (en) * | 2017-07-24 | 2019-01-24 | Western Digital Technologies, Inc. | Managing Data in a Storage System |
CN107526657A (en) * | 2017-09-13 | 2017-12-29 | 沈阳东知科技有限公司 | A kind of Online Database Backup method and system |
KR101844528B1 (en) * | 2017-10-26 | 2018-04-02 | (주)지란지교소프트 | Method and device for backup using total file |
Also Published As
Publication number | Publication date |
---|---|
KR102367733B1 (en) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437855B1 (en) | Automatic verification of asynchronously replicated data | |
US10467246B2 (en) | Content-based replication of data in scale out system | |
US10936560B2 (en) | Methods and devices for data de-duplication | |
US10209908B2 (en) | Optimization of in-memory data grid placement | |
EP2821925B1 (en) | Distributed data processing method and apparatus | |
US8612700B1 (en) | Method and system of performing block level duplications of cataloged backup data | |
CN104166606A (en) | File backup method and main storage device | |
US20160048342A1 (en) | Reducing read/write overhead in a storage array | |
EP3376393A1 (en) | Data storage method and apparatus | |
US20150205638A1 (en) | Migration system, migration method and non-transitory computer-readable medium storing control program | |
US11151005B2 (en) | System and method for storage node data synchronization | |
US10380074B1 (en) | Systems and methods for efficient backup deduplication | |
EP3229138B1 (en) | Method and device for data backup in a storage system | |
US20170083419A1 (en) | Data management method, node, and system for database cluster | |
CN104035728A (en) | Hard disk hot plug handling method, device and node | |
CN107180051B (en) | Log management method and server | |
US8484419B2 (en) | Systems and methods for backing up storage volumes in a storage system | |
EP3312727B1 (en) | Differential data backup method and device | |
US9430163B1 (en) | Implementing synchronization for remote disk mirroring | |
US20170289006A1 (en) | Information generation method, information generation device, and non-transitory recording medium for storing information generation program | |
KR20210056636A (en) | Method for Fast Block Deduplication and transmission by multi-level PreChecker based on policy | |
US20210124494A1 (en) | Storage system with throughput-based timing of synchronous replication recovery | |
CN111506453B (en) | Disk snapshot creation method, device, system and storage medium | |
JP6229684B2 (en) | Storage device, storage control method, and storage control program | |
US11726658B2 (en) | Method, device, and computer program product for storage management |
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 |