KR102130304B1 - Method and appratus for backupping file - Google Patents

Method and appratus for backupping file Download PDF

Info

Publication number
KR102130304B1
KR102130304B1 KR1020190070987A KR20190070987A KR102130304B1 KR 102130304 B1 KR102130304 B1 KR 102130304B1 KR 1020190070987 A KR1020190070987 A KR 1020190070987A KR 20190070987 A KR20190070987 A KR 20190070987A KR 102130304 B1 KR102130304 B1 KR 102130304B1
Authority
KR
South Korea
Prior art keywords
file
backup
finger print
backup candidate
directory
Prior art date
Application number
KR1020190070987A
Other languages
Korean (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 KR1020190070987A priority Critical patent/KR102130304B1/en
Priority to JP2019149373A priority patent/JP6913325B2/en
Application granted granted Critical
Publication of KR102130304B1 publication Critical patent/KR102130304B1/en

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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • G06F16/125File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The present specification discloses a file backup method and an apparatus thereof. The file backup method comprises the steps of: generating a file fingerprint for a backup candidate file by using the size of the backup candidate file, the extension of the backup candidate file, and information on a predetermined number of bytes extracted from the end of the backup candidate file; checking whether a file fingerprint identical to the file fingerprint of the backup candidate file exists in a storage device; determining the backup candidate file as a backup target file when a file fingerprint identical to the file fingerprint of the backup candidate file does not exist in the storage device; and backing up the backup target file and updating the storage device by storing a fingerprint of the backup target file.

Description

파일 백업 방법 및 장치{METHOD AND APPRATUS FOR BACKUPPING FILE}File backup method and device{METHOD AND APPRATUS FOR BACKUPPING FILE}

파일 백업 방법 및 장치가 개시된다.Disclosed is a file backup method and apparatus.

데이터 백업은 예기치 못한 상황에 따라 데이터가 유실되는 것을 방지하기 위하여 일정 주기로 진행된다.Data backup is performed at regular intervals to prevent data loss according to unexpected situations.

대량의 데이터를 축적하고, 백업하는 기업군 영역에서는 이미 백업된 파일을 제거하는 프로세스는 백업의 효율성 및 백업에서 소요되는 비용을 절감하는 데에 매우 중요한 역할을 할 수 있다.In the area of companies that accumulate large amounts of data and back up, the process of removing files that have already been backed up can play a very important role in reducing the efficiency of backups and the cost of backups.

백업이 예정된 파일과 이미 백업이 진행된 파일을 바이트 단위로 일일이 비교하는 과정을 통해 이미 백업이 진행된 파일을 필터링하는 방식은, 백업 과정에서 대량의 리소스를 요구할 뿐만 아니라, 매우 긴 시간이 소요될 수 있다. 따라서, 백업이 예정된 파일이 이미 백업이 수행되었는지 여부를 보다 효과적으로 판단할 수 있는 수단이 강구될 필요가 있다.The method of filtering files that have already been backed up through the process of comparing the files to be backed up and the files that have already been backed up in bytes, can not only require a large amount of resources during the backup process, but can also take a very long time. Therefore, there is a need to devise a means for more effectively determining whether or not a backup scheduled file has already been performed.

적어도 하나의 실시예에 따르면, 파일 백업 장치가 이미 백업이 진행된 파일을 제외하고 백업을 수행할 수 있는 효과적인 수단이 제공된다.According to at least one embodiment, an effective means is provided for a file backup device to perform a backup except for files that have already been backed up.

일 측면에 따르면, 파일 백업 방법은 백업 후보 파일의 크기, 상기 백업 후보 파일의 확장자 및 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하는 단계; 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계; 상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하는 단계; 및 상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 단계를 포함할 수 있다.According to an aspect, the file backup method generates a file fingerprint for the backup candidate file using the size of the backup candidate file, the extension of the backup candidate file, and a predetermined number of bytes extracted from the end of the backup candidate file To do; Checking whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device; Determining a backup candidate file as a backup target file when there is no file finger print identical to a file finger print of the backup candidate file on the storage device; And updating the storage device by backing up the backup target file and storing a fingerprint of the backup target file.

일 측면에 따른 파일 백업 방법은 디렉토리 식별 정보를 이용하여 생성되는 디렉토리 핑거 프린트에 기초하여 백업 후보 디렉토리 가운데 백업 대상 디렉토리를 결정하는 단계; 및 상기 백업 대상 디렉토리에 포함된 파일을 상기 백업 후보 파일로 결정하는 단계를 더 포함할 수 있다.The method for backing up a file according to an aspect includes determining a backup target directory among backup candidate directories based on a directory fingerprint generated using directory identification information; And determining a file included in the backup target directory as the backup candidate file.

상기 디렉토리 핑거 프린트는 상기 디렉토리의 위치 정보, 상기 디렉토리에 포함된 파일의 개수 정보, 상기 디렉토리가 수정된 최종 시점에 대한 타임 스탬프 정보에 기초하여 생성되고, 상기 백업 후보 파일로 결정하는 단계는, 상기 저장 장치에 상기 백업 후보 디렉토리의 디렉토리 핑거 프린트와 동일한 디렉토리 핑거 프린트가 존재하는지 여부를 확인하는 단계; 상기 저장 장치에 상기 백업 후보 디렉토리의 디렉토리 핑거 프린트와 동일한 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 디렉토리를 백업 대상 디렉토리로 결정하는 단계; 및 상기 백업 대상 디렉토리의 디렉토리 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 단계를 포함할 수 있다.The directory finger print is generated based on the location information of the directory, the number of files included in the directory, and time stamp information for the last time the directory was modified, and determining as the backup candidate file includes: Checking whether a directory fingerprint identical to the directory fingerprint of the backup candidate directory exists in the storage device; Determining a backup candidate directory as a backup target directory when a fingerprint identical to a directory finger print of the backup candidate directory does not exist in the storage device; And updating the storage device by storing a directory fingerprint of the backup target directory.

상기 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계는 상기 백업 후보 파일의 크기 정보를 포함하는 제1 색인에 기초하여, 상기 저장 장치에 저장된 파일 핑거 프린트 중 상기 백업 후보 파일과 크기가 같은 파일에 대응하는 파일 핑거 프린트를 검색하는 단계; 상기 제1 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 확장자 정보를 포함하는 제2 색인을 이용하여, 상기 백업 후보 파일의 확장자 정보와 동일한 확장자 정보를 가지는 파일에 대응하는 파일 핑거 프린트를 검색하는 단계; 상기 제2 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 포함하는 제3 색인을 이용하여 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보와 동일한 바이트 정보를 가지는 파일에 대한 파일 핑거 프린트를 검색하는 단계; 및 상기 제3 색인을 통해 파일 핑거 프린트가 검색되는 경우, 상기 백업 후보 파일을 백업 대상 파일에서 제외하는 단계를 포함할 수 있다.The step of checking whether or not the same file finger print exists is based on a first index including size information of the backup candidate file, to a file having the same size as the backup candidate file among the file finger prints stored in the storage device. Searching for a corresponding file finger print; A file finger corresponding to a file having the same extension information as the extension information of the backup candidate file, using the second index including the extension information of the backup candidate file, for the file finger print searched based on the first index. Searching for a print; For a file finger print retrieved based on the second index, a predetermined number of bytes extracted from the end of the backup candidate file using a third index that includes a predetermined number of byte information extracted from the end of the backup candidate file Retrieving a file finger print for a file having the same byte information as the information; And when the file fingerprint is searched through the third index, excluding the backup candidate file from the backup target file.

상기 백업 후보 파일에 대한 파일 핑거 프린트는 상기 백업 후보 파일의 최종 수정 시점에 대한 타임 스탬프 정보를 더 포함하고, 상기 파일 백업 방법은 상기 백업 후보 파일의 최종 수정 시점이 최종 백업 시점의 이후 시점에 해당하는지 여부를 확인하는 단계; 및 상기 최종 수정 시점이 상기 최종 백업 시점 이전 시점에 해당하는 경우, 상기 백업 후보 파일을 필터링하는 단계를 더 포함할 수 있다.The file finger print for the backup candidate file further includes time stamp information on the last modification time of the backup candidate file, and the file backup method corresponds to a time when the last modification time of the backup candidate file is after the last backup time Checking whether or not; And filtering the backup candidate file when the last modification time corresponds to a time before the last backup time.

상기 백업 후보 파일의 파일 핑거 프린트는 상기 백업 후보 파일이 위치한 디렉토리 정보를 더 포함하고, 상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계는, 상기 저장 장치에 저장된 파일 핑거 프린트에 포함된 디렉토리 정보에 기초하여, 상기 백업 후보 파일이 위치한 디렉토리와 동일한 디렉토리에 대응되는 파일 핑거 프린트 중 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 (a) 단계; 및 상기 (a) 단계에서, 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 것으로 확인된 경우, 상기 저장 장치에 저장된 상기 백업 후보 파일과 다른 디렉토리에 대응되는 파일 핑거 프린트 중 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 (b) 단계를 포함하고, 상기 백업 후보 파일을 백업 대상 파일로 결정하는 단계는 상기 (b) 단계에서, 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정할 수 있다.The file finger print of the backup candidate file further includes directory information in which the backup candidate file is located, and checking whether the same file fingerprint as the file finger print of the backup candidate file exists in the storage device includes: Based on the directory information included in the file finger print stored in the storage device, whether there is a file finger print identical to the file finger print of the backup candidate file among the file finger prints corresponding to the same directory as the directory where the backup candidate file is located? (A) checking; And in the step (a), if it is determined that the same file finger print as the file finger print of the backup candidate file does not exist, among the file finger prints corresponding to a directory different from the backup candidate file stored in the storage device, And (b) checking whether a file finger print identical to a file finger print of the backup candidate file exists, and determining the backup candidate file as a backup target file in the step (b), wherein the backup candidate When there is no file finger print identical to the file finger print of the file, the backup candidate file may be determined as a backup target file.

일 실시예에 따른 파일 백업 장치는 단말과의 통신을 수행하는 통신 인터페이스부; 프로세서; 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리; 및 저장 장치를 포함하며, 상기 프로세서는 백업 후보 파일의 식별 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하고, 상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하고, 상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하고, 상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는, 컴퓨팅 장치.File backup device according to an embodiment includes a communication interface unit for performing communication with the terminal; Processor; A memory in which at least one instruction executed through the processor is stored; And a storage device, wherein the processor generates a file fingerprint for the backup candidate file using identification information of the backup candidate file, and the same file finger print as the file fingerprint of the backup candidate file is generated in the storage device. If it exists, and if there is no file finger print identical to the file finger print of the backup candidate file on the storage device, the backup candidate file is determined as a backup target file, and the backup target file is backed up, And updating the storage device by storing a finger print of the backup target file.

일 실시예에 따른 컴퓨터 프로그램은 백업 후보 파일의 식별 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하는 프로세스, 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 프로세스, 상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하는 프로세스, 상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 프로세스를 실행시키기 위하여 매체에 저장될 수 있다.A computer program according to an embodiment uses the identification information of a backup candidate file to generate a file fingerprint for the backup candidate file, and whether a file fingerprint identical to the file fingerprint of the backup candidate file exists in the storage device. A process of determining whether the backup candidate file is a backup target file, when a file fingerprint identical to the file finger print of the backup candidate file does not exist on the storage device, the backup target file is backed up; It can be stored on a medium to execute the process of updating the storage device by storing a fingerprint of the backup target file.

적어도 하나의 실시예에 따르면 핑거 프린트(finger print)를 통해 이미 백업된 파일을 간이하게 식별함으로써, 본원 발명의 파일 백업 방법은 파일을 보다 신속하게 백업할 수 있는 수단을 제공할 수 있다. 또한, 본원 발명에 따르면, 이미 백업된 파일을 식별하는 과정을 보다 적은 리소스를 통해 수행할 수 있는 수단이 제공될 수 있다.According to at least one embodiment, by simply identifying a file that has already been backed up through a finger print, the file backup method of the present invention can provide a means to back up a file more quickly. Further, according to the present invention, a means for performing a process of identifying a file that has already been backed up through fewer resources may be provided.

도 1은 예시적인 실시예에 따른 파일 백업 시스템을 나타낸 개념도이다.
도 2는 파일 백업 장치를 예시적으로 나타낸 블록도이다.
도 3은 파일 백업 장치에 구비된 저장 장치의 세부 구성을 도시하는 개념도이다.
도 4는 예시적인 실시예에 따른 파일 백업 방법을 예시적으로 나타낸 순서도이다.
도 5는 도 4의 단계(S120)을 보다 상세히 나타낸 흐름도이다.
도 6은 파일 백업 장치가 백업 후보 파일의 핑거 프린트와 동일한 핑거 프린트가 존재하는지 여부를 판단하는 방식을 설명하기 위한 흐름도이다.
도 7은 파일 백업 장치가 백업 후보 파일의 핑거 프린트와 동일한 핑거 프린트가 존재하는지 여부를 판단하는 또 다른 방식을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 파일 백업 방법이 수행되는 일례를 도시하는 도면이다.
Fig. 1 is a conceptual diagram showing a file backup system according to an exemplary embodiment.
2 is a block diagram showing an example of a file backup device.
3 is a conceptual diagram showing a detailed configuration of a storage device provided in the file backup device.
Fig. 4 is a flow chart showing a method for backing up files according to an exemplary embodiment.
5 is a flowchart illustrating step S120 of FIG. 4 in more detail.
6 is a flowchart illustrating a method for determining whether a file backup device has the same fingerprint as a fingerprint of a backup candidate file.
7 is a flowchart for explaining another method in which a file backup device determines whether a finger print identical to a finger print of a backup candidate file exists.
8 is a diagram illustrating an example in which a file backup method according to an embodiment is performed.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION The detailed description of the present invention, which will be described later, refers to the accompanying drawings that illustrate, by way of illustration, specific embodiments in which the invention may be practiced in order to clarify the objects, technical solutions and advantages of the invention. These embodiments are described in detail enough to enable a person skilled in the art to practice the present invention. In describing with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted.

실시 예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시 예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be implemented in various forms. Therefore, the embodiments are not limited to a specific disclosure form, and the scope of the present specification includes modifications, equivalents, or substitutes included in the technical spirit.

제1 또는 제2 등의 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is said to be "connected" to another component, it should be understood that other components may be present, either directly connected to or connected to the other component.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as “include” or “have” are intended to designate the presence of a described feature, number, step, action, component, part, or combination thereof, and one or more other features, numbers, or steps. It should be understood that it does not preclude the existence or addition possibility of the operation, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined herein. Does not.

본 발명은 본 명세서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. The present invention encompasses all possible combinations of the embodiments indicated herein. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in relation to one embodiment. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment can be changed without departing from the spirit and scope of the invention. Therefore, the following detailed description is not intended to be taken in a limiting sense, and the scope of the present invention, if appropriately described, is limited only by the appended claims, along with all ranges equivalent to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Items referred to in the singular are encompassed by a plurality unless otherwise required in that context, unless otherwise indicated herein or clearly contradicted by context. In addition, in describing the present invention, when it is determined that detailed descriptions of related well-known structures or functions may obscure the subject matter of the present invention, detailed descriptions thereof will be omitted.

이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable a person skilled in the art to easily implement the present invention.

도 1은 예시적인 실시예에 따른 파일 백업 시스템을 나타낸 개념도이다.Fig. 1 is a conceptual diagram showing a file backup system according to an exemplary embodiment.

도 1을 참조하면, 파일 백업 시스템은 파일 백업 장치(100) 및 단말(301, 302, 303)을 포함할 수 있다. 파일 백업 장치(100)는 네트워크(200)를 통해 단말(301, 302, 303)과 백업을 위한 정보를 송수신 할 수 있다. Referring to FIG. 1, a file backup system may include a file backup device 100 and terminals 301, 302, 303. The file backup device 100 may transmit and receive information for backup with the terminals 301, 302, and 303 through the network 200.

파일 백업 장치(100)는 단말(301, 302, 303)에 저장되어 있는 파일을 백업할 수 있다. 파일 백업 장치(100)는 기업 내에 존재하는 단말(301, 302, 303)에 저장되는 데이터를 주기적으로 백업함으로써, 데이터 유실을 방지할 수 있다. 파일 백업 장치(100)는 기업 단위로 다수의 컴퓨팅 장치에 연동되어 운용될 수도 있지만, 개별 단말(301, 302, 303) 단위로 독립적으로 운용될 수 있다.The file backup device 100 may back up files stored in the terminals 301, 302, and 303. The file backup device 100 may prevent data loss by periodically backing up data stored in the terminals 301, 302, and 303 existing in the enterprise. The file backup device 100 may be operated in conjunction with a plurality of computing devices in an enterprise unit, but may be independently operated in units of individual terminals 301, 302, and 303.

네트워크(200)는 파일 백업 장치(100)와 단말(301, 302, 303)을 연결하는 망(Network)으로서 유선 네트워크, 무선 네트워크 등을 포함한다. 네트워크(200)는 LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크 또는 인터넷(Internet)과 같은 개방형 네트워크일 수 있다. 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미한다.The network 200 is a network connecting the file backup device 100 and the terminals 301, 302, and 303, and includes a wired network, a wireless network, and the like. The network 200 may be a closed network such as a local area network (LAN), a wide area network (WAN), or an open network such as the Internet. The Internet is a TCP/IP protocol and several services that exist in the upper layer, such as HyperText Transfer Protocol (HTTP), Telnet, File Transfer Protocol (FTP), Domain Name System (DNS), Simple Mail Transfer Protocol (SMTP), SNMP ( It refers to the worldwide open computer network structure that provides Simple Network Management Protocol (NFS), Network File Service (NFS), and Network Information Service (NIS).

단말(301, 302, 303)은 네트워크에 접속 가능한 사용자의 장치일 수 있다. 단말(301, 302, 303)은 네트워크(200)를 통해 파일 백업 장치(100)에 백업 후보 파일과 관련된 정보를 전송할 수 있다. 파일 백업 장치(100)는 백업 후보 파일과 관련된 정보에 기초하여 백업 후보 파일 중 백업을 진행할 백업 대상 파일을 결정할 수 있고, 백업 대상 파일을 저장 장치에 저장할 수 있다. 단말(301, 302, 303)은 스마트폰, 태블릿 PC, 랩톱 등을 포함할 수 있으나, 이에 제한되는 것은 아니다.The terminals 301, 302, and 303 may be devices of a user who can access the network. The terminals 301, 302, and 303 may transmit information related to a backup candidate file to the file backup device 100 through the network 200. The file backup device 100 may determine a backup target file to be backed up among backup candidate files based on information related to the backup candidate file, and may store the backup target file in a storage device. The terminals 301, 302, and 303 may include a smart phone, a tablet PC, and a laptop, but are not limited thereto.

파일 백업 장치(100)는 단말(301, 302, 303)에 존재하는 대용량의 데이터를 백업하는 과정에서, 저장 공간을 효과적으로 사용하기 위하여 이전에 이미 백업이 진행된 파일을 제외하고 나머지 파일에 대하여 백업을 진행한다. 이 과정에서 이미 백업된 파일을 식별하는 프로세스가 진행될 필요가 있는데, 이는 각각의 파일을 바이트 단위로 직접 비교하는 과정을 통해 이미 백업된 파일을 식별하거나, 또는 각각의 파일에 대해 생성된 해시 함수를 식별자로 이용하여 중복되는 파일을 식별하는 방법에 기초하여 진행될 수 있다. 파일을 바이트 단위로 일일이 비교하는 방식은, 전체 파일을 바이트 단위로 비교하는 과정을 요하기 때문에, 오랜 시간이 소요되고, 많은 리소스가 요구될 수 있다. 또한, 해시 함수를 이용하는 방식은 해시 값을 이용하여 중복 여부를 비교하는 과정은 비교적 빠른 시간 안에 진행될 수 있으나, 각각의 파일에 대한 해시 값을 생성하는 과정에서, 전체 파일을 읽어들일 필요가 있기 때문에, 다량의 리소스가 소모될 수 있고, 빠른 시간안에 진행되기 어려울 수 있다.In the process of backing up a large amount of data existing in the terminals 301, 302, and 303, the file backup device 100 backs up the rest of the files except for files that have been previously backed up in order to effectively use the storage space. To proceed. In this process, a process of identifying a file that has already been backed up needs to be performed, which identifies a file that has already been backed up by directly comparing each file in bytes, or uses a hash function generated for each file. It can be performed based on a method of identifying a duplicate file using an identifier. Since the method of comparing files in units of bytes requires a process of comparing the entire files in units of bytes, it takes a long time and may require a lot of resources. In addition, in the method using the hash function, the process of comparing the duplicates using the hash value can be performed in a relatively fast time, but in the process of generating the hash value for each file, it is necessary to read the entire file. , A large amount of resources may be consumed, and it may be difficult to progress in a short time.

일 실시예에 따른 파일 백업 장치(100)는 파일 자체에 대한 저용량 정보 또는 파일이 저장된 디렉토리와 관련된 저용량의 정보를 통해 생성된 핑거 프린트를 이용하여 이미 백업이 진행된 파일을 필터링함으로써, 보다 신속하고 적은 리소스로 파일 백업을 수행할 수 있는 수단을 제공할 수 있다.The file backup device 100 according to an exemplary embodiment filters a file that has already been backed up by using a fingerprint generated through low-capacity information about the file itself or low-capacity information related to a directory in which the file is stored, so that it is faster and less It can provide a means to perform file backups with resources.

도 2는 파일 백업 장치(100)를 예시적으로 나타낸 블록도이다.2 is a block diagram illustrating an example of a file backup device 100.

도 2를 참조하면, 예시적인 실시예에 따른 파일 백업 장치(100)는 통신 인터페이스부(110), 프로세서(120), 메모리(130) 및/또는 저장 장치(140)를 포함할 수 있다.Referring to FIG. 2, the file backup device 100 according to an exemplary embodiment may include a communication interface unit 110, a processor 120, a memory 130, and/or a storage device 140.

통신 인터페이스부(110)가 사용하는 통신 인터페이스는 WLAN(wireless LAN), WiFi(wireless fidelity) Direct, DLNA(digital living network alliance), Wibro(wireless broadband), Wimax(world interoperability for microwave access), HSDPA(high speed downlink packet access) 등의 무선 인터넷 인터페이스와 블루투스(Bluetooth™), RFID(radio frequency identification), 적외선 통신(infrared data association; IrDA), UWB(ultra-wideband), ZigBee, NFC(near field communication) 등의 근거리 통신 인터페이스를 포함할 수 있다. 뿐만 아니라, 통신 인터페이스부(110)는 외부와 통신을 수행할 수 있는 모든 인터페이스(예를 들어, 유선 인터페이스)를 이용할 수 있다.The communication interface used by the communication interface 110 includes wireless LAN (WLAN), wireless fidelity (WiFi) direct, digital living network alliance (DLNA), wireless broadband (Wibro), world interoperability for microwave access (Wimax), HSDPA ( Wireless Internet interfaces such as high speed downlink packet access (Bluetooth™), radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee, near field communication (NFC) And a short-range communication interface. In addition, the communication interface 110 may use any interface (for example, a wired interface) capable of communicating with the outside.

통신 인터페이스부(110)는 프로세서(120)의 제어에 의해 동작할 수 있다. 통신 인터페이스부(110)는 프로세서(120)의 명령에 따라 무선 통신 또는 유선 통신 방식으로 신호를 전송할 수 있다. 단말(301, 302, 303)은 무선 통신 또는 유선 통신 방식으로 통신 인터페이스부(110)가 전송하는 신호를 수신할 수 있다.The communication interface 110 may operate under the control of the processor 120. The communication interface 110 may transmit a signal in a wireless communication or wired communication method according to an instruction of the processor 120. The terminals 301, 302, and 303 may receive a signal transmitted by the communication interface 110 in a wireless communication or wired communication method.

프로세서(120)는 메모리(130) 및/또는 저장 장치(140)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(120)는 MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit), NPU(neural processing unit) 또는 TPU(tensor processing unit) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The processor 120 may execute program commands stored in the memory 130 and/or the storage device 140. The processor 120 may include hardware components such as a micro processing unit (MPU), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU), or a tensor processing unit (TPU). Also, it may further include a software configuration of an operating system and an application performing a specific purpose.

메모리(130)와 저장 장치(140)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(130)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다. 저장 장치(140)는 파일을 백업하는 데이터베이스일 수 있다.The memory 130 and the storage device 140 may be composed of volatile storage media and/or non-volatile storage media. For example, the memory 130 may be composed of read only memory (ROM) and/or random access memory (RAM). The storage device 140 may be a database for backing up files.

도 2를 참조하여 설명한 파일 백업 장치(100)의 구성은 예시적인 것에 불과할 뿐, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 파일 백업 장치(100)의 메모리(130) 및 저장 장치(140)는 물리적으로 구분되지 않을 수도 있다.The configuration of the file backup device 100 described with reference to FIG. 2 is merely exemplary, and embodiments are not limited thereto. For example, the memory 130 and the storage device 140 of the file backup device 100 may not be physically separated.

도 3은 파일 백업 장치(100)에 구비된 저장 장치(140)의 구성을 기능 단위로 나타낸 블록도이다.3 is a block diagram showing the configuration of the storage device 140 provided in the file backup device 100 in functional units.

도 3에서 나타낸 블록들은 기능 단위로 분할하여 나타낸 것에 불과하며, 블록들은 물리적으로 또는 논리적으로 서로 엄격히 구분되지 않을 수 있다.The blocks shown in FIG. 3 are merely divided into functional units, and the blocks may not be physically or logically strictly separated from each other.

저장 장치(140)는 파일 백업 장치(100)에 연동된 단말(301, 302, 303)에 저장된 파일을 파일 백업부(141)에 저장함으로써 단말(301, 302, 303)의 파일을 백업할 수 있다.The storage device 140 can back up the files of the terminals 301, 302, 303 by storing the files stored in the terminals 301, 302, 303 linked to the file backup device 100 in the file backup unit 141. have.

파일 백업 장치(100)는 각각의 디렉토리를 식별하는 디렉토리 핑거 프린트를 통해 이미 백업이 진행된 디렉토리를 필터링하는 동작을 수행할 수 있다. 이미 백업이 진행된 디렉토리에 대한 디렉토리 핑거 프린트는 디렉토리 핑거 프린트 저장부(142)에 저장될 수 있다.The file backup device 100 may perform an operation of filtering a directory that has already been backed up through a directory fingerprint that identifies each directory. The directory finger print for the directory that has already been backed up may be stored in the directory finger print storage 142.

또한, 파일 백업 장치(100)는 각각의 파일을 식별하는 파일 핑거 프린트를 통해 이미 백업이 진행된 파일을 필터링하는 동작을 수행할 수 있다. 이미 백업이 진행된 파일에 대한 파일 핑거 프린트는 파일 핑거 프린트 저장부(143)에 저장될 수 있다.In addition, the file backup device 100 may perform an operation of filtering files that have already been backed up through a file finger print that identifies each file. The file finger print for a file that has already been backed up may be stored in the file finger print storage 143.

도 4는 예시적인 실시예에 따른 파일 백업 방법을 예시적으로 나타낸 순서도이다. 도 4에서 나타낸 방법은 도 1의 파일 백업 장치(100)에 의해 수행될 수 있다.Fig. 4 is a flow chart showing a method for backing up files according to an exemplary embodiment. The method illustrated in FIG. 4 may be performed by the file backup device 100 of FIG. 1.

도 4를 참조하면, 단계(S110)에서, 파일 백업 장치(100)는 백업 후보 파일에 대한 파일 핑거 프린트를 생성할 수 있다. 파일 핑거 프린트는 백업 후보 파일과 관련된 소정 정보에 기초하여 생성되는 파일에 대한 식별 정보를 의미할 수 있다. 파일 핑거 프린트는 파일의 크기 정보, 파일의 확장자 정보 및, 파일의 바이트 정보 중 마지막에서 추출된 소정 개수의 바이트 정보에 기초하여 생성될 수 있다. 예를 들어, 상기 파일의 바이트 정보 중 마지막에서 추출된 소정 개수의 바이트 정보는 파일의 마지막 16바이트에 해당하는 정보일 수 있으나 실시예가 이에 제한되는 것은 아니다. 구체적인 수치는 통상의 기술자가 용이하게 변경할 수 있는 범위에서 변경될 수 있다.Referring to FIG. 4, in step S110, the file backup device 100 may generate a file fingerprint for the backup candidate file. The file finger print may refer to identification information for a file generated based on predetermined information related to a backup candidate file. The file finger print may be generated based on the size information of the file, the extension information of the file, and the predetermined number of byte information extracted from the last among the byte information of the file. For example, a predetermined number of byte information extracted from the last among the byte information of the file may be information corresponding to the last 16 bytes of the file, but embodiments are not limited thereto. Specific values may be changed within a range that can be easily changed by a person skilled in the art.

예시적으로, 파일 핑거 프린트는 파일의 크기 정보를 포함하는 제1 필드, 파일의 확장자 정보를 포함하는 제2 필드, 파일의 바이트 정보 중 마지막에서 추출된 소정 개수의 바이트 정보를 포함하는 제3 필드를 포함할 수 있다. 다른 예로 파일 핑거 프린트는 파일의 크기 정보, 파일의 확장자 정보 및 파일의 바이트 정보 중 마지막에서 추출된 소정 개수의 바이트 정보가 저장된 하나의 필드를 포함할 수도 있다. For example, the file finger print includes a first field including size information of a file, a second field including extension information of a file, and a third field including a predetermined number of byte information extracted from the last among byte information of a file. It may include. As another example, the file finger print may include a field in which a predetermined number of byte information extracted from the last among file size information, file extension information, and file byte information is stored.

파일 핑거 프린트의 형태는 앞서 제시된 예시에 한정되지 않고, 파일과 관련된 임의의 정보의 조합을 통해 생성되는 임의의 데이터 형태를 포함할 수 있다. 이 경우, 파일 핑거 프린트의 동일성은 파일 핑거 프린트 데이터의 바이트 단위 비교를 통해 결정될 수 있다.The form of the file finger print is not limited to the example presented above, and may include any form of data generated through a combination of any information related to the file. In this case, the identity of the file finger print may be determined through byte-by-byte comparison of the file finger print data.

단계(S120)에서, 파일 백업 장치(100)는 저장 장치에 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인할 수 있다.In step S120, the file backup device 100 may check whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device.

도 5는 도 4의 단계(S120)을 보다 상세히 나타낸 흐름도이다.5 is a flowchart illustrating step S120 of FIG. 4 in more detail.

도 5를 참조하면, 파일 백업 장치(100)는 백업 후보 파일의 크기 정보에 기초하여, 상기 저장 장치에 저장된 파일 핑거 프린트에 대한 제1 색인을 수행할 수 있다. 단계(S126)에서, 파일 백업 장치(100)는 제1 색인을 이용하여 저장 장치에 저장된 파일 핑거 프린트 중 백업 후보 파일과 동일한 크기에 대응되는 파일 핑거 프린트를 검색할 수 있다. 만약, 제1 색인에 기반하여 백업 후보 파일과 동일한 크기에 대응하는 파일 핑거 프린트가 검색되지 않는다면, 파일 백업 장치(100)는 백업 후보 파일을 백업 대상 파일로 결정할 수 있다. 이 경우, 백업 장치(100)는 후술하는 제2 색인 및 제3 색인을 이용한 비교 절차(S128, S129)를 생략함으로써 백업 대상 파일을 결정하는 과정에 필요한 자원을 절약할 수 있다.Referring to FIG. 5, the file backup device 100 may perform a first index on a file finger print stored in the storage device, based on the size information of the backup candidate file. In step S126, the file backup device 100 may search for a file finger print corresponding to the same size as the backup candidate file among the file finger prints stored in the storage device using the first index. If the file fingerprint corresponding to the same size as the backup candidate file is not searched based on the first index, the file backup device 100 may determine the backup candidate file as a backup target file. In this case, the backup device 100 may save resources required in the process of determining the file to be backed up by omitting the comparison procedures S128 and S129 using the second and third indexes, which will be described later.

파일 백업 장치(100)는 백업 후보 파일의 확장자 정보에 기초하여 제2 색인을 수행할 수 있다. 단계(S128)에서, 파일 백업 장치(100)는 제2 색인을 이용하여, 제1 색인을 통해 검색된 파일 핑거 프린트 중 백업 후보 파일과 동일한 확장자를 가지는 파일 핑거 프린트를 검색할 수 있다. 파일 백업 장치(100)는 제1 색인을 통해 검색된 파일 핑거 프린트에 대해서만 제2 색인을 비교함으로써, 단계(S128)를 수행하는데 필요한 자원을 절약할 수 있다.The file backup device 100 may perform a second index based on extension information of the backup candidate file. In operation S128, the file backup device 100 may search for a file fingerprint having the same extension as a backup candidate file among file fingerprints searched through the first index using the second index. The file backup apparatus 100 can save resources required to perform step S128 by comparing the second index only for the file finger prints searched through the first index.

만약, 제2 색인에 기반하여 백업 후보 파일과 동일한 확장자에 대응하는 파일 핑거 프린트가 검색되지 않는다면, 파일 백업 장치(100)는 백업 후보 파일을 백업 대상 파일로 결정할 수 있다. 이 경우, 백업 장치(100)는 후술하는 제3 색인을 이용한 비교 절차(S129)를 생략함으로써 백업 대상 파일을 결정하는 과정에 필요한 자원을 절약할 수 있다.If the file fingerprint corresponding to the same extension as the backup candidate file is not searched based on the second index, the file backup device 100 may determine the backup candidate file as a backup target file. In this case, the backup device 100 may save resources required in the process of determining a backup target file by omitting the comparison procedure (S129) using a third index, which will be described later.

파일 백업 장치(100)는 백업 후보 파일의 바이트 정보 중 마지막에서 추출된 소정 개수의 바이트 정보에 기초하여 제3 색인을 수행할 수 있다. 단계(S129)에서, 파일 백업 장치(100)는 제3 색인을 이용하여, 제2 색인을 통해 검색된 파일 핑거 프린트 중 백업 후보 파일의 마지막 소정의 바이트 정보와 동일한 바이트 정보를 가지는 파일 핑거 프린트를 검색할 수 있다. 파일 백업 장치(100)는 제1 및 제2 색인을 통해 검색된 파일 핑거 프린트에 대해서만 제3 색인을 비교함으로써, 단계(S129)를 수행하는데 필요한 자원을 절약할 수 있다.The file backup device 100 may perform a third index based on a predetermined number of byte information extracted from the last among the byte information of the backup candidate file. In step S129, the file backup device 100 searches for a file finger print having the same byte information as the last predetermined byte information of the backup candidate file among the file finger prints searched through the second index using the third index. can do. The file backup apparatus 100 can save resources required to perform step S129 by comparing the third index only for the file finger prints searched through the first and second indexes.

만약, 제3 색인에 기반하여 백업 후보 파일과 동일한 바이트 정보를 가지는 파일 핑거 프린트가 검색되지 않는다면, 파일 백업 장치(100)는 백업 후보 파일을 백업 대상 파일로 결정할 수 있다. 파일 백업 장치(100)는 제3 색인을 통해 검색되는 파일 핑거 프린트가 존재하는 경우, 백업 후보 파일이 이미 백업된 파일인 것으로 결정할 수 있다.If a file fingerprint having the same byte information as the backup candidate file is not searched based on the third index, the file backup device 100 may determine the backup candidate file as a backup target file. When there is a file finger print searched through the third index, the file backup device 100 may determine that the backup candidate file is a previously backed up file.

단계(S120)에서 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 것으로 결정된 경우, 단계(S130)에서 파일 백업 장치(100)는 백업 후보 파일을 백업 대상 파일로 결정할 수 있다.If it is determined in step S120 that there is no file finger print identical to the file finger print of the backup candidate file, in step S130, the file backup device 100 may determine the backup candidate file as a backup target file.

이후 단계(S140)에서, 파일 백업 장치(100)는 백업 대상 파일을 저장 장치의 파일 백업부에 저장함으로써, 백업 대상 파일에 대한 백업을 수행하고, 백업 대상 파일의 핑거 프린트를 파일 핑거 프린트 저장부에 저장함으로써 저장 장치를 갱신할 수 있다.In a subsequent step (S140), the file backup device 100 stores the file to be backed up in the file backup unit of the storage device, thereby performing a backup for the file to be backed up, and fingerprinting the file of the file to be backed up. You can update the storage device by saving it to.

단계(S120)에서 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는 것으로 결정된 경우, 백업 후보 파일은 이미 백업이 수행된 파일로 판단될 수 있고, 이에 따라 파일 백업 장치(100)는 단계(S150)를 통해 백업 후보 파일을 백업 대상 파일로 결정하지 않음으로써, 백업 후보 파일을 필터링할 수 있다. 즉, 해당 백업 후보 파일에 대한 백업은 진행하지 않을 수 있다.If it is determined in step S120 that a file finger print identical to the file finger print of the backup candidate file exists, the backup candidate file may be determined as a file that has already been backed up, and accordingly, the file backup device 100 may perform the step. The backup candidate file may be filtered by not determining the backup candidate file as a backup target file through (S150). That is, backup of the corresponding candidate file may not be performed.

일 실시예에 따르면, 파일 백업 장치(100)는 단계(S120)에 해당하는 동작을 수행하기 이전에, 백업 후보 파일의 최종 수정 시점이 최종 백업 시점 이전 시점인지 여부에 기초하여, 백업 후보 파일을 필터링하는 프로세스를 수행할 수 있다. 구체적으로, 파일 핑거 프린트는 파일의 최종 수정 시점에 대한 타임 스탬프 정보를 더 포함할 수 있고, 파일 백업 장치(100)는 타임 스탬프 정보에 기초하여 백업 후보 파일의 최종 수정 시점이 최종 백업 시점 이후의 시점에 해당하는지 여부를 확인할 수 있다. 파일 백업 장치(100)는 백업 후보 파일의 최종 수정 시점이 최종 백업 시점 이전 시점에 해당하는 경우, 해당 파일은 이미 백업된 파일로 판단하여 백업 후보 파일을 필터링함으로써, 해당 파일에 대한 백업을 진행하지 않을 수 있다. 파일 백업 장치(100)는 백업 후보 파일의 최종 수정 시점이 최종 백업 시점 이후 시점에 해당하는 경우, 백업 후보 파일에 대하여 단계(S120) 이후의 프로세스를 진행할 수 있다.According to an embodiment, before performing the operation corresponding to step S120, the file backup apparatus 100 determines a backup candidate file based on whether the last modification time of the backup candidate file is before the last backup time. You can perform the filtering process. Specifically, the file finger print may further include time stamp information on the time of the last modification of the file, and the file backup device 100 may determine when the last modification time of the backup candidate file is after the last backup time based on the time stamp information. You can check whether it corresponds to the timing. When the final modification time of the backup candidate file corresponds to a time before the last backup time, the file backup device 100 determines that the file is already backed up and filters the backup candidate file, thereby not backing up the file. It may not. When the final modification time of the backup candidate file corresponds to a time point after the last backup time point, the file backup device 100 may process the backup candidate file after step S120.

도 6은 파일 백업 장치가 백업 후보 파일의 핑거 프린트와 동일한 핑거 프린트가 존재하는지 여부를 판단하는 방식을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method for determining whether a file backup device has the same fingerprint as a fingerprint of a backup candidate file.

일 실시예에 따르면, 파일 핑거 프린트는 해당 파일이 위치한 디렉토리 정보를 더 포함할 수 있다. 따라서, 파일 백업 장치(100)는 백업된 모든 파일에 대해 순서대로 파일 핑거 프린트의 중복 여부를 판단하는 방식뿐만 아니라, 백업 후보 파일의 디렉토리 정보에 기초하여, 백업 후보 파일의 동일한 디렉토리에 대응하는 파일의 파일 핑거 프린트들 중 백업 후보 파일의 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 우선적으로 확인하는 방식을 사용할 수 있다. 이러한 방식을 통해 파일 백업 장치(100)는 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재할 가능성이 높은 디렉토리의 파일 핑거 프린트들을 우선적으로 확인하여 중복되는 파일 핑거 프린트가 조기에 확인될 가능성을 높일 수 있다. 설명된 방식을 통해 파일 백업 장치는 보다 신속하고 적은 리소스를 이용하여 백업 후보 파일과 동일한 파일 핑거 프린트가 존재하는지 여부를 확인할 수 있다.According to an embodiment, the file finger print may further include directory information in which the corresponding file is located. Therefore, the file backup device 100 not only determines whether or not the file fingerprint is duplicated in order for all the backed up files, but also based on the directory information of the backup candidate files, files corresponding to the same directory of the backup candidate files It is possible to preferentially check whether a file finger print identical to that of the backup candidate file is present among the file finger prints of. Through this method, the file backup device 100 preferentially checks the file finger prints in a directory in which a file finger print having the same possibility as the file finger print of the backup candidate file is likely to exist, thereby confirming the possibility that the duplicate file finger prints are confirmed early. Can be increased. Through the described method, the file backup device can check whether the same file fingerprint as the backup candidate file exists using faster and fewer resources.

구체적으로, 도 5에 도시된 바와 같이 도 4의 단계(S120)는 단계(S121) 및 단계(S122)로 나뉘어 수행될 수 있다.Specifically, as illustrated in FIG. 5, step S120 of FIG. 4 may be performed by being divided into steps S121 and S122.

단계(S121)에서 파일 백업 장치(100)는 백업 후보 파일이 위치하는 디렉토리와 동일한 디렉토리에 대응되는 파일 핑거 프린트 중 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 우선적으로 확인할 수 있다.In step S121, the file backup device 100 may preferentially check whether a file finger print identical to the file finger print of the backup candidate file exists among file finger prints corresponding to the same directory as the directory where the backup candidate file is located. have.

단계(S121)에서 백업 후보 파일과 동일한 디렉토리에 백업 후보 파일의 파일 핑거 프린트와 중복되는 파일 핑거 프린트가 확인되지 않는 경우, 단계(S122)를 통해 파일 백업 장치(100)는 나머지 디렉토리에 대응하는 파일 핑거 프린트에 대하여, 백업 후보 파일의 파일 핑거 프린트와 동일한 핑거 프린트가 존재하는지 여부를 확인할 수 있다. 파일 백업 장치(100)는 단계(S122)에서 동일한 파일 핑거 프린트가 확인되지 않은 경우, 단계(S130)를 통해 백업 후보 파일을 백업 대상 파일로 결정할 수 있다.In step S121, if the file finger print overlapping the file finger print of the backup candidate file in the same directory as the backup candidate file is not confirmed, the file backup device 100 through step S122 corresponds to the file corresponding to the rest of the directory. For the finger print, it is possible to check whether a finger print identical to the file finger print of the backup candidate file exists. When the same file finger print is not confirmed in step S122, the file backup device 100 may determine a backup candidate file as a backup target file through step S130.

단계(S121) 및 단계(S122) 중 어느 하나의 단계에서 백업 후보 파일의 파일핑거 프린트와 동일한 파일 핑거 프린트가 확인되는 경우, 파일 백업 장치(100)는 단계(S150)를 통해 백업 후보 파일을 필터링할 수 있다. 즉, 해당 파일에 대한 백업을 진행하지 않을 수 있다.When a file finger print identical to the file finger print of the backup candidate file is identified in any one of steps S121 and S122, the file backup device 100 filters the backup candidate file through step S150. can do. That is, it may not proceed with the backup of the file.

도 7은 파일 백업 장치가 백업 후보 파일의 핑거 프린트와 동일한 핑거 프린트가 존재하는지 여부를 판단하는 또 다른 방식을 설명하기 위한 흐름도이다.7 is a flowchart for explaining another method in which a file backup device determines whether a finger print identical to a finger print of a backup candidate file exists.

일 실시예에 따르면, 파일 백업 장치(100)는 단계(S100)에 해당하는 동작을 수행함에 앞서, 디렉토리 단위의 필터링을 수행함으로써, 보다 신속하고 적은 리소스를 요하는 방식으로 이미 백업이 수행된 파일을 필터링할 수 있다.According to an embodiment of the present invention, before performing the operation corresponding to step S100, the file backup apparatus 100 performs file filtering on a directory basis, so that the file has already been backed up in a manner that requires faster and less resources. Can be filtered.

도 7을 참조하면, 파일 백업 장치(100)는 단계(S101)에서 백업 후보 디렉토리의 디렉토리 식별 정보를 이용하여 디렉토리 핑거 프린트를 생성할 수 있다. 구체적으로, 파일 백업 장치(100)는 백업 후보 디렉토리의 위치 정보, 디렉토리에 포함된 파일의 개수 정보, 디렉토리가 수정된 최종 시점에 대한 타임 스탬프 정보에 기초하여 디렉토리 핑거 프린트를 생성할 수 있다. 각각의 디렉토리 핑거 프린트는 디렉토리에 대한 식별 정보로 이용될 수 있으며, 서로 다른 디렉토리 핑거 프린트를 가지는 디렉토리는 서로 다른 디렉토리로 판단될 수 있다.Referring to FIG. 7, the file backup apparatus 100 may generate a directory fingerprint using the directory identification information of the backup candidate directory in step S101. Specifically, the file backup device 100 may generate a directory fingerprint based on the location information of the backup candidate directory, the number of files included in the directory, and time stamp information on the last time the directory is modified. Each directory finger print may be used as identification information for a directory, and directories having different directory finger prints may be determined as different directories.

파일 백업 장치(100)는 단계(S102)에서 백업 후보 디렉토리의 디렉토리 핑거 프린트와 동일한 디렉토리 핑거 프린트가 저장 장치에 존재하는지 여부를 확인할 수 있다.In step S102, the file backup device 100 may check whether a directory fingerprint identical to the directory fingerprint of the backup candidate directory exists in the storage device.

단계(S102)에서 저장 장치에 백업 후보 디렉토리와 동일한 디렉토리 핑거 프린트가 존재하지 않는 것으로 결정된 경우, 파일 백업 장치(100)는 단계(S103)를 통해 백업 후보 디렉토리를 백업 대상 디렉토리로 결정할 수 있다.If it is determined in step S102 that the same directory fingerprint as the backup candidate directory does not exist in the storage device, the file backup device 100 may determine the backup candidate directory as the backup target directory through step S103.

파일 백업 장치(100)는 단계(S104)를 통해 백업 대상 디렉토리에 포함된 파일을 백업 후보 파일로 결정하고, 백업 대상 디렉토리의 디렉토리 핑거 프린트를 저장 장치에 저장함으로써 저장 장치를 갱신할 수 있다. 즉, 파일 백업 장치(100)는 백업 대상 디렉토리가 아닌 다른 디렉토리에 저장된 파일은 백업 후보 파일로 설정하지 않음으로써 백업 절차에 필요한 리소스를 절약할 수 있다.The file backup device 100 may update the storage device by determining a file included in the backup target directory as a backup candidate file in step S104 and storing the directory fingerprint of the backup target directory in the storage device. That is, the file backup device 100 can save resources required for the backup procedure by not setting files stored in a directory other than the backup target directory as a backup candidate file.

단계(S102)에서 저장 장치에 백업 후보 디렉토리와 동일한 디렉토리 핑거 프린트가 저장 장치에 존재하는 것으로 결정된 경우, 파일 백업 장치(100)는 단계(S105)를 통해 백업 후보 디렉토리를 백업 대상에서 제외함으로써, 백업 후보 디렉토리를 필터링할 수 있다.If it is determined in step S102 that the same directory fingerprint as the backup candidate directory is present in the storage device, the file backup device 100 backs up by excluding the backup candidate directory from the backup target through step S105. Candidate directories can be filtered.

도 7을 통해 설명된 방식을 통해 디렉토리 단위의 필터링을 우선적으로 수행함으로써, 이미 백업이 수행된 파일을 보다 빠르고 적은 리소스를 통해 필터링할 수 있다.By preferentially performing directory-level filtering through the method described with reference to FIG. 7, files already backed up can be filtered faster and with fewer resources.

파일 백업 장치(100)는 디렉토리 단위의 필터링을 통해, 개별 파일 단위로 필터링을 수행하는 방식에 비해 훨씬 더 빠른 속도 및 적은 리소스로 이미 백업이 수행된 파일을 필터링할 수 있다.The file backup device 100 can filter files that have already been backed up with much faster speed and less resources than the method of performing filtering on an individual file basis through filtering on a directory basis.

도 8은 일 실시예에 따른 파일 백업 방법이 수행되는 일례를 도시하는 도면이다.8 is a diagram illustrating an example in which a file backup method according to an embodiment is performed.

도 8의 (a)를 참조하면, 폴더 A(710), 폴더 B(720) 및 폴더 C(730)에 포함된 파일이 2019.06.10에 최종적으로 저장 장치에 백업되어 있을 수 있다. 폴더 A(710), 폴더 B(720) 및 폴더(730)에 대응되는 디렉토리 핑거 프린트 및 폴더 A(710), 폴더 B(720) 및 폴더(730)에 포함된 파일에 대한 파일 핑거 프린트는 저장 장치에 백업된 파일과 별개로 저장될 수 있다.Referring to (a) of FIG. 8, files included in the folder A 710, the folder B 720, and the folder C 730 may be finally backed up on the storage device on June 10, 2019. Directory Fingerprints corresponding to Folder A 710, Folder B 720, and Folder 730, and File Fingerprints for files included in Folder A 710, Folder B 720, and Folder 730 are stored. It can be stored separately from the files backed up on the device.

도 7의 (b)는 현재 시점에서 백업이 예정된 사용자 단말에 저장된 파일의 형태를 도시할 수 있다. 폴더 A'(740)의 경우 이미 백업된 폴더 A(710)와 위치, 파일 수, 최종 수정일이 동일하기 때문에, 서로 동일한 디렉토리 핑거 프린트에 대응될 수 있다. 따라서, 파일 백업 장치는 폴더 A'(740)를 필터링함으로써, 해당 폴더에 대한 백업을 수행하지 않을 수 있다.7( b) may show the type of file stored in the user terminal scheduled to be backed up at the present time. In the case of the folder A'740, since the location A, the number of files, and the last modification date of the folder A 710 already backed up are the same, they can correspond to the same directory fingerprint. Therefore, the file backup device may not perform a backup for the folder by filtering the folder A'740.

폴더 B'(750) 및 폴더 C'(760) 각각은 폴더 B(720) 및 폴더 C(730)와 정보가 상이하므로 서로 다른 디렉토리 핑거 프린트에 대응된다. 따라서, 파일 백업 장치는 폴더 B'(750) 및 폴더 C'(760)를 백업 대상 디렉토리로 결정하고, 해당 폴더에 포함된 파일을 백업 후보 파일로 결정할 수 있다.Folder B'750 and folder C'760 each have different information from folder B 720 and folder C 730, and thus correspond to different directory fingerprints. Therefore, the file backup device may determine the folders B'750 and C'760 as backup target directories, and determine the files included in the folders as backup candidate files.

파일 백업 장치는 폴더 C'(760)에 포함된 파일 중 최종 백업 일자(2019.06.10.) 이전에 최종 수정된 파일(761, 762, 763)은 이미 백업된 파일로 판단하고, 백업 대상 파일에서 제외할 수 있다.The file backup device determines that the files (761, 762, 763) that have been modified before the last backup date (2019.06.10.) among the files included in the folder C'(760) are already backed up. Can be excluded.

최종 수정 일자에 기초하여 백업 대상 파일로 결정되는 파일(764, 765)은 우선적으로, 폴더 C'(760)의 위치에 대응하여 미리 백업된 파일(731)에 대응되는 파일 핑거 프린트에 기초하여 파일 핑거 프린트 중복 여부가 판단될 수 있다. 즉 파일 백업 장치는 폴더 C'(760)의 위치에 대응하여 미리 백업된 파일(731)의 파일 핑거 프린트 중 파일(764, 765)에 대응되는 파일 핑거 프린트와 동일한 것이 있는지 여부를 판단할 수 있다. 파일 백업 장치는 미리 백업된 파일(731)에 대응되는 파일 핑거 프린트 중 파일(764, 765)에 대응되는 파일 핑거 프린트가 존재하지 않는 경우, 나머지 파일(폴더 A(710) 및 폴더 B(720))에 파일(764, 765)에 대응되는 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인할 수 있다. 앞서 설명된 프로세스를 통해 파일(764, 765)의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 저장 장치에서 발견되지 않는 경우, 파일 백업 장치는 파일(764, 765)을 백업 대상 파일로 결정하여, 백업을 진행할 수 있다.The files 764 and 765 determined as the files to be backed up based on the last modification date are files based on the file finger print corresponding to the files 731 backed up in advance corresponding to the location of the folder C'760 first. Whether or not the finger print overlaps may be determined. That is, the file backup device may determine whether or not the file finger print corresponding to the files 764 and 765 among the file finger prints of the previously backed-up file 731 corresponds to the location of the folder C'760. . If the file finger print corresponding to the files 764 and 765 does not exist among the file finger prints corresponding to the previously backed-up file 731, the file backup device displays the remaining files (folder A 710 and folder B 720). ), it is possible to check whether the same file finger print as the file finger print corresponding to the files 764 and 765 exists. If a file finger print identical to the file finger print of the files 764 and 765 is not found in the storage device through the above-described process, the file backup device determines the files 764 and 765 as the backup target files, and performs a backup. You can proceed.

도 7을 통해 제시된 예시는 본원 발명의 파일 백업 방법의 일례에 불과하고, 파일 백업 장치는 저장 장치에 저장된 모든 파일 핑거 프린트를 대상으로, 파일 핑거 프린트의 중복 여부를 확인하는 절차를 수행할 수 있다. 이외에도, 파일 백업 장치는 앞서 설명된 방식의 임의의 조합을 통해 미리 백업된 파일을 필터링하는 동작을 수행할 수 있다.The example presented through FIG. 7 is only an example of the file backup method of the present invention, and the file backup device may perform a procedure of checking whether file finger prints are duplicated, for all file finger prints stored in the storage device. . In addition, the file backup device may perform an operation of filtering files previously backed up through any combination of the methods described above.

이상, 본 개시서의 다양한 실시 예들에 관한 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 프로세서, 예컨대, 마이크로프로세서, 컨트롤러, 예컨대, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 마이크로컴퓨터, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 예컨대, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 예컨대, FPGA(field programmable gate array), PLU(programmable logic unit) 혹은 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 기타 명령어(instruction)를 실행하고 응답할 수 있는 임의의 다른 장치, 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.As described above, based on the description of various embodiments of the present disclosure, a person skilled in the art, the method and/or processes of the present invention, and the steps of the hardware and software suitable for a specific application of hardware, software, or software It can be clearly understood that it can be realized in any combination. The hardware may include a general purpose computer and/or a dedicated computing device or a specific computing device or special shape or component of a specific computing device. The processes include one or more processors having internal and/or external memory, such as microprocessors, controllers, such as microcontrollers, embedded microcontrollers, microcomputers, arithmetic logic units (ALUs), digital signal processors (digital signal processors) For example, it may be realized by a programmable digital signal processor or other programmable device. In addition, or alternatively, the processes may include application specific integrated circuits (ASICs), programmable gate arrays (eg, field programmable gate arrays (FPGAs), programmable logic units (PLUs) or programmable array logics). (Programmable Array Logic; PAL) or any other device capable of executing and responding to any other instruction or any other device or combination of devices that can be configured to process electronic signals. The processing device may run an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령어 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 기계 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more machine-readable recording media.

더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능 매체에 기록될 수 있다. 기계 판독 가능 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD, Blu-ray와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는 바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Moreover, the objects of the technical solution of the present invention or parts contributing to the prior art may be implemented in the form of program instructions that can be executed through various computer components and recorded in a machine-readable medium. The machine-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the machine-readable recording medium may be specially designed and configured for an embodiment or may be known and usable by those skilled in the computer software field. Examples of machine-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and Blu-rays, and floppy disks. And magneto-optical media such as ), and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions are stored and compiled or interpreted to be executed on a machine capable of executing a heterogeneous combination of processors, processor architectures or combinations of different hardware and software, or any other program instructions, as well as any of the devices described above. Machine code, which can be made using structured programming languages such as C, object-oriented programming languages like C++, or advanced or low-level programming languages (assemblies, hardware description languages and database programming languages and techniques). This includes not only bytecode, but also high-level language code that can be executed by a computer using an interpreter.

따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Thus, in one aspect according to the present invention, when the above-described method and combinations thereof are performed by one or more computing devices, the combination of the method and method may be implemented as executable code that performs each step. In another aspect, the method can be implemented as systems that perform the steps, and the methods can be distributed in various ways across devices or all functions can be integrated into one dedicated, standalone device or other hardware. In another aspect, means for performing the steps associated with the processes described above may include any hardware and/or software described above. All such sequential combinations and combinations are intended to fall within the scope of this disclosure.

예를 들어, 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치를 포함할 수 있다.For example, the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa. The hardware device may include a processor such as an MPU, CPU, GPU, TPU, which is combined with a memory such as ROM/RAM for storing program instructions and is configured to execute instructions stored in the memory, and an external device and a signal. It may include a communication unit for sending and receiving. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving commands written by developers.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described by specific matters such as specific components and limited embodiments and drawings, but this is provided only to help a more comprehensive understanding of the present invention, and the present invention is not limited to the above embodiments, Any person having ordinary knowledge in the technical field to which the present invention pertains can make various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 본 개시서에 첨부된 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Therefore, the spirit of the present invention is not limited to the above-described embodiments, and should not be determined, and all the equivalent or equivalent modifications of the claims as well as the claims appended to the present disclosure are the spirit of the present invention. It would be said to belong to the category of. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인 바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such an equivalent or equivalent modification will include, for example, a method that is logically equivalent, which can produce the same results as the method according to the present invention. The scope should not be limited by the examples described above, but should be understood in the broadest sense acceptable by law.

Claims (8)

컴퓨팅 장치에 의해 수행되는, 파일 백업 방법에 있어서,
백업 후보 파일의 크기, 상기 백업 후보 파일의 확장자 및 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하는 단계;
저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계;
상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하는 단계; 및
상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 파일 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 단계
를 포함하고,
상기 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계는,
상기 백업 후보 파일의 크기 정보를 포함하는 제1 색인에 기초하여, 상기 저장 장치에 저장된 파일 핑거 프린트 중 상기 백업 후보 파일과 크기가 같은 파일에 대응하는 파일 핑거 프린트를 검색하는 단계;
상기 제1 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 확장자 정보를 포함하는 제2 색인을 이용하여, 상기 백업 후보 파일의 확장자 정보와 동일한 확장자 정보를 가지는 파일에 대응하는 파일 핑거 프린트를 검색하는 단계;
상기 제2 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 포함하는 제3 색인을 이용하여 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보와 동일한 바이트 정보를 가지는 파일에 대한 파일 핑거 프린트를 검색하는 단계; 및
상기 제3 색인을 통해 파일 핑거 프린트가 검색되는 경우, 상기 백업 후보 파일을 백업 대상 파일에서 제외하는 단계
를 포함하는 백업 방법.
A method for backing up files, performed by a computing device, comprising:
Generating a file fingerprint for the backup candidate file by using a size of a backup candidate file, an extension of the backup candidate file, and a predetermined number of byte information extracted from the end of the backup candidate file;
Checking whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device;
Determining a backup candidate file as a backup target file when there is no file finger print identical to a file finger print of the backup candidate file on the storage device; And
Updating the storage device by backing up the backup target file and storing a file fingerprint of the backup target file
Including,
The step of checking whether the same file finger print exists,
Retrieving a file finger print corresponding to a file having the same size as the backup candidate file among file finger prints stored in the storage device, based on a first index including size information of the backup candidate file;
A file finger corresponding to a file having the same extension information as the extension information of the backup candidate file, using the second index including the extension information of the backup candidate file, for the file finger print searched based on the first index. Searching for a print;
For a file finger print retrieved based on the second index, a predetermined number of bytes extracted from the end of the backup candidate file using a third index that includes a predetermined number of byte information extracted from the end of the backup candidate file Retrieving a file finger print for a file having the same byte information as the information; And
When a file fingerprint is searched through the third index, excluding the backup candidate file from the backup target file
Backup method comprising a.
제 1 항에 있어서,
상기 백업 후보 파일에 대한 파일 핑거프린트를 생성하는 단계 이전에 수행되는 단계들로써,
디렉토리 식별 정보를 이용하여 생성되는 디렉토리 핑거 프린트에 기초하여 백업 후보 디렉토리 가운데 백업 대상 디렉토리를 결정하는 단계; 및
상기 백업 대상 디렉토리에 포함된 파일을 상기 백업 후보 파일로 결정하는 단계를 더 포함하는, 백업 방법.
According to claim 1,
As steps performed before the step of generating a file fingerprint for the backup candidate file,
Determining a backup target directory among backup candidate directories based on the directory fingerprint generated using the directory identification information; And
And determining a file included in the backup target directory as the backup candidate file.
제2항에 있어서,
상기 디렉토리 핑거 프린트는,
상기 디렉토리의 위치 정보, 상기 디렉토리에 포함된 파일의 개수 정보, 상기 디렉토리가 수정된 최종 시점에 대한 타임 스탬프 정보에 기초하여 생성되고,
상기 백업 후보 파일로 결정하는 단계는,
상기 저장 장치에 상기 백업 후보 디렉토리의 디렉토리 핑거 프린트와 동일한 디렉토리 핑거 프린트가 존재하는지 여부를 확인하는 단계;
상기 저장 장치에 상기 백업 후보 디렉토리의 디렉토리 핑거 프린트와 동일한 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 디렉토리를 백업 대상 디렉토리로 결정하는 단계; 및
상기 백업 대상 디렉토리의 디렉토리 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 단계
를 포함하는, 백업 방법.
According to claim 2,
The directory finger print,
It is generated based on the location information of the directory, the number of files included in the directory, and time stamp information about the last time the directory was modified,
Determining the candidate file for backup,
Checking whether a directory fingerprint identical to a directory fingerprint of the backup candidate directory exists in the storage device;
Determining a backup candidate directory as a backup target directory when a fingerprint identical to a directory finger print of the backup candidate directory does not exist in the storage device; And
Updating the storage device by storing a directory fingerprint of the backup target directory
Included, backup method.
삭제delete 제1항에 있어서,
상기 백업 후보 파일에 대한 파일 핑거 프린트는,
상기 백업 후보 파일의 최종 수정 시점에 대한 타임 스탬프 정보를 더 포함하고,
상기 파일 백업 방법은,
상기 백업 후보 파일의 최종 수정 시점이 최종 백업 시점의 이후 시점에 해당하는지 여부를 확인하는 단계; 및
상기 최종 수정 시점이 상기 최종 백업 시점 이전 시점에 해당하는 경우, 상기 백업 후보 파일을 필터링하는 단계
를 더 포함하는, 백업 방법.
According to claim 1,
The file fingerprint for the backup candidate file is
Time stamp information for the last modification time of the backup candidate file further includes,
The file backup method,
Checking whether a last modification time of the backup candidate file corresponds to a time point after the last backup time; And
Filtering the backup candidate file when the last modification time corresponds to a time before the last backup time
Further comprising, a backup method.
제1항에 있어서,
상기 백업 후보 파일의 파일 핑거 프린트는,
상기 백업 후보 파일이 위치한 디렉토리 정보를 더 포함하고,
상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 단계는,
상기 저장 장치에 저장된 파일 핑거 프린트에 포함된 디렉토리 정보에 기초하여, 상기 백업 후보 파일이 위치한 디렉토리와 동일한 디렉토리에 대응되는 파일 핑거 프린트 중 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 (a) 단계; 및
상기 (a) 단계에서, 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 것으로 확인된 경우, 상기 저장 장치에 저장된 상기 백업 후보 파일과 다른 디렉토리에 대응되는 파일 핑거 프린트 중 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 (b) 단계
를 포함하고,
상기 백업 후보 파일을 백업 대상 파일로 결정하는 단계는,
상기 (b) 단계에서, 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하는, 백업 방법.
According to claim 1,
The file fingerprint of the backup candidate file is
Further comprising directory information where the backup candidate file is located,
The step of checking whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device,
Based on the directory information included in the file finger print stored in the storage device, whether there is a file finger print identical to the file finger print of the backup candidate file among file finger prints corresponding to the same directory as the directory where the backup candidate file is located? (A) checking whether or not; And
In step (a), if it is determined that the same file fingerprint as the file fingerprint of the backup candidate file does not exist, the backup of the file fingerprint corresponding to a different directory from the backup candidate file stored in the storage device (B) checking whether a file finger print identical to the file finger print of the candidate file exists.
Including,
Determining the backup candidate file as a backup target file,
In step (b), when there is no file finger print identical to the file finger print of the backup candidate file, the backup candidate file is determined as a backup target file.
단말과의 통신을 수행하는 통신 인터페이스부;
프로세서;
상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리; 및
저장 장치를 포함하며,
상기 프로세서는,
백업 후보 파일의 식별 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하고,
저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하고,
상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하고,
상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하고,
상기 프로세서는,
상기 백업 후보 파일의 크기 정보를 포함하는 제1 색인에 기초하여, 상기 저장 장치에 저장된 파일 핑거 프린트 중 상기 백업 후보 파일과 크기가 같은 파일에 대응하는 파일 핑거 프린트를 검색하고,
상기 제1 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 확장자 정보를 포함하는 제2 색인을 이용하여, 상기 백업 후보 파일의 확장자 정보와 동일한 확장자 정보를 가지는 파일에 대응하는 파일 핑거 프린트를 검색하고,
상기 제2 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 포함하는 제3 색인을 이용하여 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보와 동일한 바이트 정보를 가지는 파일에 대한 파일 핑거 프린트를 검색하고,
상기 제3 색인을 통해 파일 핑거 프린트가 검색되는 경우, 상기 백업 후보 파일을 백업 대상 파일에서 제외하는, 컴퓨팅 장치.
A communication interface unit for performing communication with the terminal;
Processor;
A memory in which at least one instruction executed through the processor is stored; And
Storage device,
The processor,
Create a file fingerprint for the backup candidate file using the identification information of the backup candidate file,
Check whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device, and
If there is no file finger print identical to the file finger print of the backup candidate file in the storage device, the backup candidate file is determined as a backup target file,
Back up the backup target file, and update the storage device by storing a fingerprint of the backup target file,
The processor,
Based on a first index including size information of the backup candidate file, search for a file fingerprint corresponding to a file having the same size as the backup candidate file among file fingerprints stored in the storage device,
A file finger corresponding to a file having the same extension information as the extension information of the backup candidate file, using the second index including the extension information of the backup candidate file, for the file finger print searched based on the first index. Search for prints,
For a file finger print retrieved based on the second index, a predetermined number of bytes extracted from the end of the backup candidate file using a third index that includes a predetermined number of byte information extracted from the end of the backup candidate file Search for a file fingerprint for a file having the same byte information as the information,
And when the file fingerprint is searched through the third index, the backup candidate file is excluded from the backup target file.
백업 후보 파일의 식별 정보를 이용하여 상기 백업 후보 파일에 대한 파일 핑거 프린트를 생성하는 프로세스,
저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 프로세스,
상기 저장 장치에 상기 백업 후보 파일의 파일 핑거 프린트와 동일한 파일 핑거 프린트가 존재하지 않는 경우, 상기 백업 후보 파일을 백업 대상 파일로 결정하는 프로세스,
상기 백업 대상 파일을 백업하고, 상기 백업 대상 파일의 핑거 프린트를 저장함으로써 상기 저장 장치를 갱신하는 프로세스를 실행시키기 위해 기록 매체에 저장된 컴퓨터 프로그램으로,
상기 동일한 파일 핑거 프린트가 존재하는지 여부를 확인하는 프로세스는,
상기 백업 후보 파일의 크기 정보를 포함하는 제1 색인에 기초하여, 상기 저장 장치에 저장된 파일 핑거 프린트 중 상기 백업 후보 파일과 크기가 같은 파일에 대응하는 파일 핑거 프린트를 검색하는 프로세스,
상기 제1 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 확장자 정보를 포함하는 제2 색인을 이용하여, 상기 백업 후보 파일의 확장자 정보와 동일한 확장자 정보를 가지는 파일에 대응하는 파일 핑거 프린트를 검색하는 프로세스,
상기 제2 색인에 기초하여 검색된 파일 핑거 프린트에 대하여, 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보를 포함하는 제3 색인을 이용하여 상기 백업 후보 파일의 마지막에서 추출된 소정 개수의 바이트 정보와 동일한 바이트 정보를 가지는 파일에 대한 파일 핑거 프린트를 검색하는 프로세스, 및
상기 제3 색인을 통해 파일 핑거 프린트가 검색되는 경우, 상기 백업 후보 파일을 백업 대상 파일에서 제외하는 프로세스를 포함하는, 기록 매체에 저장된 컴퓨터 프로그램.
A process of generating a file fingerprint for the backup candidate file using identification information of the backup candidate file,
A process of checking whether a file finger print identical to the file finger print of the backup candidate file exists in the storage device,
A process of determining the backup candidate file as a backup target file when there is no file finger print identical to the file finger print of the backup candidate file on the storage device;
A computer program stored in a recording medium to execute a process of updating the storage device by backing up the backup target file and storing a fingerprint of the backup target file,
The process of checking whether the same file finger print exists,
A process of searching for a file fingerprint corresponding to a file having the same size as the backup candidate file among file finger prints stored in the storage device, based on a first index including size information of the backup candidate file,
A file finger corresponding to a file having the same extension information as the extension information of the backup candidate file, using the second index including the extension information of the backup candidate file, for the file finger print searched based on the first index. The process of retrieving prints,
For a file finger print retrieved based on the second index, a predetermined number of bytes extracted from the end of the backup candidate file using a third index that includes a predetermined number of byte information extracted from the end of the backup candidate file A process of searching for a file fingerprint for a file having the same byte information as the information, and
And when a file fingerprint is searched through the third index, excluding the backup candidate file from the backup target file.
KR1020190070987A 2019-06-14 2019-06-14 Method and appratus for backupping file KR102130304B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190070987A KR102130304B1 (en) 2019-06-14 2019-06-14 Method and appratus for backupping file
JP2019149373A JP6913325B2 (en) 2019-06-14 2019-08-16 File backup method and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190070987A KR102130304B1 (en) 2019-06-14 2019-06-14 Method and appratus for backupping file

Publications (1)

Publication Number Publication Date
KR102130304B1 true KR102130304B1 (en) 2020-07-08

Family

ID=71601174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190070987A KR102130304B1 (en) 2019-06-14 2019-06-14 Method and appratus for backupping file

Country Status (2)

Country Link
JP (1) JP6913325B2 (en)
KR (1) KR102130304B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030023249A (en) * 2001-09-13 2003-03-19 주식회사 한국전산개발 Data security system
KR20070019044A (en) * 2005-08-09 2007-02-15 삼성전자주식회사 Data backup method and system in mobile communication terminal
KR20080061584A (en) * 2006-12-28 2008-07-03 삼성전자주식회사 Apparatus and method for deleting data file according to whether data file is backed up
JP2011028716A (en) * 2009-06-26 2011-02-10 Victor Co Of Japan Ltd Backup device and backup method
KR20160034839A (en) * 2014-08-27 2016-03-30 시아오미 아이엔씨. Method and device for back up file
US9465695B2 (en) * 2011-12-21 2016-10-11 Emc Corporation Efficient backup replication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030023249A (en) * 2001-09-13 2003-03-19 주식회사 한국전산개발 Data security system
KR20070019044A (en) * 2005-08-09 2007-02-15 삼성전자주식회사 Data backup method and system in mobile communication terminal
KR20080061584A (en) * 2006-12-28 2008-07-03 삼성전자주식회사 Apparatus and method for deleting data file according to whether data file is backed up
JP2011028716A (en) * 2009-06-26 2011-02-10 Victor Co Of Japan Ltd Backup device and backup method
US9465695B2 (en) * 2011-12-21 2016-10-11 Emc Corporation Efficient backup replication
KR20160034839A (en) * 2014-08-27 2016-03-30 시아오미 아이엔씨. Method and device for back up file

Also Published As

Publication number Publication date
JP6913325B2 (en) 2021-08-04
JP2020205021A (en) 2020-12-24

Similar Documents

Publication Publication Date Title
TWI740901B (en) Method and device for performing data recovery operation
CA2955257C (en) Systems and methods for aggregating information-asset metadata from multiple disparate data-management systems
US9571509B1 (en) Systems and methods for identifying variants of samples based on similarity analysis
JP5735654B2 (en) Deduplication method for stored data, deduplication apparatus for stored data, and deduplication program
US9058298B2 (en) Integrated approach for deduplicating data in a distributed environment that involves a source and a target
US9182969B1 (en) Using disassociated images for computer and storage resource management
EP3356941B1 (en) Systems and methods for restoring data from opaque data backup streams
CN103279532B (en) Many set elements duplicate removal also identifies the affiliated filtration system gathered and method thereof
US11593491B2 (en) Identifying a software vulnerability
JP2016517605A (en) Byzantine fault tolerance data replication method and system
US20230169183A1 (en) Facilitating analysis of software vulnerabilities
JP2014515858A (en) Method and apparatus for recombining executing instructions
NL2027556B1 (en) Method and system for generating a list of indicators of compromise
US20230078496A1 (en) Data correlation using file object cache
US20230177157A1 (en) Malware protection for virtual machines
US20210234872A1 (en) Malware protection for virtual machines
US9519780B1 (en) Systems and methods for identifying malware
CN105608150A (en) Business data processing method and system
CN113190178B (en) Traceless data deletion method and traceless data deletion system in FAT32 file system
WO2022007574A1 (en) Block-based anomaly detection
US10157103B2 (en) Efficient processing of file system objects for image level backups
KR102130304B1 (en) Method and appratus for backupping file
US10621158B2 (en) Transaction log tracking
US20210232682A1 (en) Malware protection for virtual machines
US8595243B1 (en) Systems and methods for deduplicating archived data

Legal Events

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