KR101656633B1 - 파일 백업 방법, 장치, 프로그램 및 기록매체 - Google Patents

파일 백업 방법, 장치, 프로그램 및 기록매체 Download PDF

Info

Publication number
KR101656633B1
KR101656633B1 KR1020157007893A KR20157007893A KR101656633B1 KR 101656633 B1 KR101656633 B1 KR 101656633B1 KR 1020157007893 A KR1020157007893 A KR 1020157007893A KR 20157007893 A KR20157007893 A KR 20157007893A KR 101656633 B1 KR101656633 B1 KR 101656633B1
Authority
KR
South Korea
Prior art keywords
file
hash value
backup
uploaded
already
Prior art date
Application number
KR1020157007893A
Other languages
English (en)
Other versions
KR20160034839A (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 시아오미 아이엔씨.
Publication of KR20160034839A publication Critical patent/KR20160034839A/ko
Application granted granted Critical
Publication of KR101656633B1 publication Critical patent/KR101656633B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F17/3015
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

본 발명은 파일 백업 방법, 장치, 프로그램 및 기록매체를 제시하였는바, 상기 파일 백업 방법은, 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 단계와; 로컬 백업 데이터베이스에서 결정된 해시값을 검색하는 단계와; 상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계를 포함한다. 본 발명은 상이한 파일 경로의 동일한 파일이 중복하여 백업되는 것을 방지할 수 있다.

Description

파일 백업 방법, 장치, 프로그램 및 기록매체{METHOD, DEVICE, PROGRAM AND RECORDING MEDIUM FOR BACK UP FILE}
본원 발명은 출원번호가 CN 201410429701.7이고, 출원일자가 2014년 8월 27일인 중국특허출원에 기반하여 제출하였고, 상기 중국특허출원의 우선권을 주장하는바, 상기 중국특허출원의 모든 내용은 참고로서 본원 발명에 포함된다.
본 발명은 저장 기술분야에 관한 것으로, 특히 파일을 백업하기 위한 방법, 장치, 프로그램 및 기록매체에 관한 것이다.
이동기기의 광범위한 사용 및 보급과 더불어 이동기기의 파일 자동 백업에 대한 수요가 갈수록 높아지고 있다. 하지만 이동기기의 로컬 저장공간이 종종 부족하기 때문에 이동기기의 로컬 파일을 더욱 큰 저장공간이 구비된 기기, 예를 들면 로컬 서버 또는 지능형 라우터에 자동 백업하는 것이 요구된다.
그러나 실제로 다수의 상이한 파일 경로이름의 파일이 동일한 파일인 경우가 자주 나타나므로 이동기기의 로컬 파일을 로컬 서버 또는 지능형 라우터에 자동 백업 했을 경우 동일한 파일의 중복 백업을 초래한다.
관련 기술에 존재하는 문제를 극복하기 위하여 본 발명은 파일을 백업하기 위한 방법, 장치, 프로그램 및 기록매체를 제공한다.
본 발명의 실시예의 제1양태에 근거하면,
기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 단계와,
로컬 백업 데이터베이스에서 결정된 해시값을 검색하는 단계와,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계를 포함하는 파일 백업 방법을 제공한다.
선택적으로, 상기 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 단계는,
상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 단계와,
상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 단계와,
상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 단계를 포함한다.
선택적으로, 상기 파일에서 복수의 파일 세그먼트를 추출하는 상기 단계는,
상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하는 단계를 포함하고,
여기서, 상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
선택적으로, 상기 파일 백업 방법은,
상기 로컬 백업 데이터베이스에 상기 해시값이 기록되어 있지 않은 것으로 검색될 때 상기 해시값에 대응하는 파일을 백업 서버에 업로드하는 단계와,
상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후 결정된 상기 해시값을 로컬 백업 데이터베이스에 저장하는 단계를 더 포함한다.
선택적으로, 상기 파일 백업 방법은,
상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후, 상기 로컬 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하는 단계를 더 포함한다.
선택적으로, 상기 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계 이전에 상기 파일 백업 방법은,
상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하는 단계와,
상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색되면 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계와,
상기 해시값이 이미 업로드한 상태로 표기되지 않은 것으로 검색되면 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하는 단계와,
상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 것으로 검색되면 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계와,
상기 해시값에 대응하는 파일이 업로드에 성공하지 못하였다는 것이 검색되면 백업 서버에 상기 파일을 백업하는 단계를 더 포함한다.
선택적으로, 상기 파일 백업 방법은,
상기 로컬 백업 데이터베이스에 마지막 변경시간과 파일 크기를 포함하는 상기 파일의 속성 정보를 기록하는 단계와,
상기 파일의 속성 정보와 상기 로컬 백업 데이터베이스에 기록된 속성 정보가 상이할 경우, 상기 로컬 백업 데이터베이스에 기록된 상기 파일의 해시값과 속성 정보를 업데이트하는 단계를 더 포함한다.
본 발명의 실시예의 제2양태에 근거하면,
단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하는 단계와,
로컬 백업 데이터베이스에서 상기 해시값을 검색하는 단계와,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 상기 단말기에 성공적으로 업로드되었음을 통보하는 단계를 포함하는 파일 백업 방법을 제공한다.
선택적으로, 상기 파일 백업 방법은,
기설정된 알고리즘에 근거하여 상기 단말기가 업로드한 파일의 해시값을 결정하는 단계와,
상기 파일이 로컬에서 성공적으로 백업된 후, 결정된 해시값을 로컬 백업 데이터베이스에 저장하는 단계를 더 포함한다.
선택적으로, 상기 기설정된 알고리즘에 근거하여 상기 단말기가 업로드한 파일의 해시값을 결정하는 단계는,
상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 단계와,
상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 단계와,
상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 단계를 포함한다.
선택적으로, 상기 파일에서 복수의 파일 세그먼트를 추출하는 상기 단계는,
상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하는 단계를 포함하고, 여기서 상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
본 발명의 실시예의 제3양태에 근거하면,
기설정된 알고리즘에 근거하여 파일의 해시값을 결정하기 위한 제1결정모듈과,
로컬 백업 데이터베이스에서 결정된 해시값을 검색하기 위한 제1검색모듈과,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 프로세싱 모듈을 포함하는 파일 백업 장치를 제공한다.
선택적으로, 상기 제1결정모듈은,
상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하기 위한 제1판정 서브모듈과,
상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻기 위한 제1결정 서브모듈과,
상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 상기 파일의 해시값을 얻기 위한 제2결정 서브모듈을 포함한다.
선택적으로, 상기 제1결정 서브모듈은,
상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하기 위한 제1추출 서브모듈을 포함하고,
여기서 상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
선택적으로, 상기 파일 백업 장치는,
상기 로컬 백업 데이트베이스에 상기 해시값이 기록되어 있지 않은 것으로 검색될 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하기 위한 업로드모듈과,
상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후, 상기 해시값을 로컬 백업 데이터베이스에 저장하기 위한 제1저장모듈을 더 포함한다.
선택적으로, 상기 파일 백업 장치는,
상기 해시값에 대응하는 파일을 백업 서버에 성공적으로 업로드한 후 상기 로컬 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하기 위한 표기모듈을 더 포함한다.
선택적으로, 상기 프로세싱 모듈은,
상기 백업 서버에 상기 파일을 백업하기 이전에 상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하기 위한 제1검색 서브모듈과,
상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색되면 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 프로세싱 서브모듈과,
상기 해시값이 이미 업로드한 상태로 표기되지 않은 것으로 검색되면 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하기 위한 제2검색 서브모듈과,
상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 것으로 검색되면 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고, 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 제1표기 서브모듈과,
상기 해시값에 대응하는 파일이 성공적으로 업로드하지 못한 것으로 검색되면 백업 서버에 상기 파일을 백업하기 위한 백업 서브모듈을 포함한다.
선택적으로, 상기 파일 백업 장치는,
상기 로컬 백업 데이터베이스에 마지막 변경시간과 파일 크기를 포함하는 상기 파일의 속성 정보를 기록하기 위한 기록모듈과,
상기 파일의 속성 정보와 상기 로컬 백업 데이터에 기록된 속성 정보가 상이할 경우, 상기 로컬 백업 데이터베이스에 기록된 상기 파일의 해시값과 속성 정보를 업데이트하기 위한 업데이트모듈을 더 포함한다.
본 발명의 실시예의 제4양태에 근거하면,
단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하기 위한 수신모듈과,
로컬 백업 데이터베이스에서 상기 해시값을 검색하기 위한 제2검색모듈과,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 단말기에 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 통보하기 위한 통보모듈을 포함하는 파일 백업 장치를 제공한다.
선택적으로, 상기 파일 백업 장치는,
기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하기 위한 제2결정모듈과,
상기파일이 로컬 백업에 성공한 후 결정된 해시값을 로컬 백업 데이터베이스에 저장하기 위한 제2저장모듈을 더 포함한다.
선택적으로, 상기 제2결정모듈은,
상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하기 위한 제2판정서브모듈과,
상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻기 위한 제3판정 서브모듈과,
상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻기 위한 제4결정 서브모듈을 포함한다.
선택적으로, 상기 제3결정 서브모듈은,
상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하기 위한 제2추출서브모듈을 포함하고,
여기서 상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
본 발명의 실시예의 제5양태에 근거하면,
프로세서와,
프로세서가 실행 가능한 인스트럭션을 저장하기 위한 메모리를 포함하되,
상기 프로세서는,
기설정된 알고리즘에 근거하여 파일의 해시값을 결정하고,
로컬 백업 데이터베이스에서 결정된 해시값을 검색하며,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않도록 구성된 파일 백업 장치를 제공한다.
본 발명의 실시예의 제6양태에 근거하면,
프로세서와,
프로세서가 실행 가능한 인스트럭션을 저장하기 위한 메모리를 포함하되,
상기 프로세서는,
단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하고,
로컬 백업 데이터베이스에서 상기 해시값을 검색하며,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 상기 단말기에 성공적으로 업로드되었음을 통보하도록 구성된 파일 백업 장치를 제공한다.
본 발명의 실시예의 제7양태에 근거하면, 본 발명은, 프로세서에 의해 실행되는 것을 통하여 상기 파일 백업 방법을 구현하는 기록매체에 저장되는 프로그램을 제공한다.
본 발명의 실시예의 제8양태에 근거하면, 본 발명은, 상기 프로그램이 기록된 기록매체를 제공한다.
본 발명의 실시예에서 제공하는 기술적 해결수단은 하기와 같은 유리한 효과를 제공할 수 있다.
본 발명의 상기 실시예에서는, 기설정된 알고리즘을 통하여 상기 파일에 대해 해시값 결정을 진행하고 로컬 백업 데이터베이스에서 결정된 해시값을 검색하여 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색되면 백업 서버로의 상기 파일 백업을 정지함으로써 상이한 파일 경로이름에 있어서의 동일한 파일의 중복 백업을 방지할 수 있다.
본 발명의 상기 실시예에서는, 기설정된 알고리즘에 근거하여 상기 파일의 해시값을 결정하고 상기 파일에 대해 임계화 처리를 진행하여 상기 파일의 크기가 기설정된 임계값보다 클 경우 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻음으로써 상기 파일이 너무 큰 경우에 상기 파일에 대해 해시값을 결정할 때 계산량을 효과적으로 감소하여 기기의 전기 소비량을 줄일 수 있다.
본 발명의 상기 실시예에서는, 상기 파일에서 균일하게 분포된, 기설정된 크기가 상기 기설정된 임계값 미만인 파일 세그먼트를 추출함으로써 해시값 결정 시 계산량이 감소하는 것에 더하여 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하도록 유지한다.
본 발명의 상기 실시예에 있어서, 로컬 백업 데이터베이스에서 상기 해시값이 검색되지 않을 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하고 상기 해시값을 로컬 백업 데이터베이스에 저장함으로써 상이한 경로이름의 동일한 파일이 다시 백업될 때 로컬 백업 데이터베이스에서 결정된 해시값을 검색함으로써 동일한 파일의 중복 백업을 방지할 수 있다.
본 발명의 상기 실시예에서는, 상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후 상기 해시값을 로컬 백업 데이터베이스에 이미 업로드한 상태로 표기함으로써 로컬 백업 데이터베이스에서 해시값 검색을 진행할 경우 파일의 업로드 상태를 알 수 있다.
본 발명의 상기 실시예에서는, 백업 서버에 상기 파일을 백업하기 이전에 상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하여 만약 이미 업로드한 상태로 표기되었으면 백업 서버로의 상기 파일의 백업을 정지하고, 만약 이미 업로드한 상태로 표기되지 않았으면 파일이 성공적으로 업로드되었는지를 백업 서버에 더 확인하여 상기 파일이 성공적으로 업로드된 것으로 결정되면 백업 서버로의 상기 파일의 백업을 정지하고, 상기 파일이 성공적으로 업로드하지 못한 것으로 결정되면 백업 서버에 상기 파일을 백업한다. 상기 해결수단을 통하여 파일이 성공적으로 업로드하지 못함으로 인한 오작동을 효과적으로 방지할 수 있다.
본 발명의 상기 실시예에서는, 로컬 데이터베이스에 파일의 마지막 변경시간과 파일의 크기 등 속성 정보를 기록하고, 상기 파일의 속성 정보와 로컬 기록된 속성 정보가 상이할 경우 로컬 백업 데이터베이스의 속성 정보 및 기록한 상기 파일의 해시값에 대해 업데이트함으로써 파일 백업시의 잘못된 판정과 오작동을 효과적으로 방지할 수 있다.
본 발명의 상기 실시예에서는, 단말기에서 수신한 검색요청에 구비된 해시값을 로컬 백업 데이터베이스에서 검색하여 로컬 백업 데이터베이스에 이미 상기 해시값이 기록되어 있으면 상기 파일에 대응하는 파일이 이미 성공적으로 업로드되었음을 단말기에 통보함으로써 단말기가 파일을 성공적으로 업로드하지 못함으로 인한 오작동으로 상이한 파일 경로이름에서의 동일한 파일이 백업 서버에 중복 백업되는 것을 효과적으로 방지할 수 있다.
본 발명의 상기 실시예에서는, 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하고 상기 파일이 성공적으로 로컬 백업된 후 결정된 해시값을 로컬 백업 데이터베이스에 저장함으로써 백업 서버가 로컬 백업 데이터베이스에서 다시 상기 해시값을 찾았을 경우 대응하는 단말기에 상기 해시값에 대응하는 파일의 이미 업로드한 상태를 통보할 수 있도록 한다.
본 발명의 상기 실시예에서는, 기설정된 알고리즘에 근거하여 상기 파일의 해시값을 결정하고 상기 파일에 대해 임계화 처리를 진행하여 상기 파일의 크기가 기설정된 임계값보다 클 경우 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻음으로써 상기 파일이 너무 큰 경우 상기 파일에 대한 해시값 결정때의 계산량을 효과적으로 감소시키며 기기의 전기 소비량을 줄일 수 있다.
본 발명의 상기 실시예에서는, 상기 파일에서 균일하게 분포된 기설정된 크기가 상기 기설정된 임계값 미만인 파일 세그먼트를 추출함으로써 해시값 결정량을 감소시키는 것에 더하여 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 일치하도록 한다.
상기의 일반적인 설명과 후술되는 구체적인 설명은 단지 예시적이고 해석적인 것이며 본 발명을 한정하는 것이 아님을 이해해야 한다.
아래의 도면은 명세서의 일부분으로서 명세서 전체를 구성하며 본 발명에 맞는 실시예를 예시하여 명세서와 함께 본 발명의 원리를 해석하기 위한 것이다.
도 1은 일 예시적 실시예에 따라 예시한 파일 백업 방법의 흐름도이다.
도 2는 일 예시적 실시예에 따라 예시한 다른 파일 백업 방법의 흐름도이다.
도 3은 일 예시적 실시예에 따라 예시한 또 다른 파일 백업 방법의 흐름도이다.
도 4는 일 예시적 실시예에 따라 예시한, 동영상 파일로부터 파일 세그먼트를 추출하는 설명도이다.
도 5는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 6은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 7은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 8은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 9는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 10은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 11은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 12는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 13은 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 14는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 15는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이다.
도 16은 일 예시적 실시예에 따라 예시한 파일 백업 장치를 위한 개략도이다.
도 17은 일 예시적 실시예에 따라 예시한 파일 백업 장치를 위한 다른 개략도이다.
여기서, 예시적 실시예에 대해 상세하게 설명하고 이를 첨부되는 도면에 예시적으로 나타냈다. 하기에서 첨부되는 도면에 대해 설명할 때 별도로 나타내지 않는 한 서로 다른 도면의 동일한 숫자는 동일하거나 유사한 구성요소를 나타낸다. 하기의 예시적 실시예에서 설명한 실시형태는 본 발명과 일치한 모든 실시형태를 의미하는 것은 아니다. 반대로, 이들은 첨부된 특허청구범위에서 설명한 본 발명의 일부 양태와 일치하는 장치와 방법에 대한 예일 뿐이다.
본 발명에 사용되는 용어는 단지 특정 실시예를 설명하기 위한 것일 뿐 본 발명을 제한하기 위한 것은 아니다. 본 발명과 첨부된 청구항에서 사용된 단수형태의 "일종", "상기" 및 "해당"도 위 아래 문맥에서 기타 의미를 분명히 나타내지 않는 한 복수형태를 포함하는 것으로 이해하여야 한다. 또한 본 발명에 사용되는 "및/또는"은 하나 또는 복수의 관련 리스트의 어떠한 조합 또는 모든 가능한 조합을 가리키거나 포함하는 것으로 이해하여야 한다.
비록 본 발명에서는 "제1", "제2", "제3"과 같은 용어로써 여러 가지 정보를 설명할 수 있으나 이러한 정보들은 이러한 용어에 한정되어서는 안 되며 이러한 용어는 단지 하나의 동일한 유형의 정보를 서로 구분하려는 것일 뿐이다. 예를 들어, 본 발명의 범위를 벗어나지 않는 한 제1정보는 제2정보로 불리울 수도 있고, 이와 유사하게 제2정보는 제1정보로 불리울 수도 있는바, 이는 문맥에 의존한다. 예를 들어 여기서 사용되는 단어 "만약"은 "…일 경우" 또는 "…할 경우" 또는 "~에 응답하여"로 해석될 수 있음을 이해하여야 한다.
도 1에 도시된 바와 같이, 도 1은 일 예시적 실시예에 근거하여 예시한 파일 백업 방법이고 상기 파일 백업 방법은 단말기에 사용되며 하기와 같은 단계를 포함한다.
단계 101에서는, 기설정된 알고리즘에 근거하여 파일의 해시값을 결정한다.
본 실시예에서, 상기 파일에 대해 해시값을 결정하기 이전에 상기 기설정된 알고리즘은 상기 파일에 대해 임계화 처리를 진행한 후 임계화 처리 결과에 근거하여 각각 상이한 해시값 결정방법을 취한다.
예를 들어, 우선 상기 파일의 크기가 기설정된 임계값보다 큰지의 여부에 대해 판정하여 상기 파일의 크기가 기설정된 알고리즘보다 크지 않은 경우 상기 파일에 대해 직접 해시값 결정을 진행하고, 만약 상기 파일의 크기가 기설정된 알고리즘보다 클 때 상기 파일에 대해 직접 해시값 계산을 진행하면 계산량이 너무 많을 수 있는바 계산량이 너무 많으면 기기의 전기소비량의 증가를 초래한다. 따라서 기설정된 알고리즘보다 큰 파일에 대해서는 상기 파일로부터 크기가 기설정된 복수의 파일 세그먼트를 추출한 후 추출된 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는다. 예를 들어, 상기 파일에서 파일 세그먼트를 추출할 경우 상기 파일을 크기가 기설정된 복수의 파일 블록으로 분할한 후 분할된 파일 블록에서 복수의 파일 블록을 상기 파일 세그먼트로서 추출한다.
구체적으로, 상기 기설정된 크기는 상기 기설정된 임계값보다 작고 상기 기설정된 임계값을 실제상황에 근거하여 설정하거나 또는 경험값을 상기 기설정된 임계값으로서 선택이 가능하며 본 발명은 이에 대해 특별히 한정하지 않는다. 예를 들어, 본 발명이 동영상 이미지의 백업을 위한 것일 경우 상기 기설정된 임계값은 경험값 4M을 취할 수 있다.
상기 파일에서 파일 세그먼트를 추출할 경우 임의로 추출할 수도 있고 균일하게 추출할 수도 있다. 임의로 추출한 파일 세그먼트는 상기 파일 중 분포가 균일하지 못할 수 있는바 상기 파일 중 분포가 균일하지 못한 파일 세그먼트에 대해 해시값 결정을 진행하는 경우 결정된 해시값과 상기 파일에 대한 해시값 결정 결과는 오차가 존재할 수 있다. 따라서, 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하게 하기 위하여 상기 파일에서 파일 세그먼트를 균일하게 추출할 수 있는 바, 예를 들어, 고정 간격에 따라 파일 세그먼트를 추출함으로써 추출한 파일 세그먼트가 상기 파일 중에 균일하게 분포될 수 있다.
이 외에 설명해야 할 것은 상기 파일에서 파일 세그먼트를 추출할 경우 추출한 파일 세그먼트의 양이 너무 많거나 너무 적지 않은 것이 좋다. 추출한 파일 세그먼트의 양이 너무 많으면 해시값 결정을 진행할 경우 알고리즘에 대한 빈번한 호출을 초래하여 시스템의 리소스를 불필요하게 점유하게 되고, 추출한 파일 세그먼트가 너무 적으면 최종 해시값 결정 결과의 정확성에 영향을 미치게 된다. 따라서 실제 애플리케이션에 있어서, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 양자를 동시에 고려하여 추출할 파일 세그먼트의 양을 적절하게 설정하거나 경험값을 이용할 수 있으며 본 발명에서는 이에 대해 특별히 한정하지 않는다.
상기 해결수단을 통하여 상기 파일 해시값을 결정할 경우 계산량을 효과적으로 감소되고 기기의 전기 소비량을 줄일 수 있다.
단계 102에서는, 로컬 백업 데이터베이스에서 결정된 해시값을 검색한다.
본 실시예에서는, 로컬 백업 데이터베이스에 상기 해시값이 기록되지 않은 것으로 검색된 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하고 상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후 결정된 상기 해시값을 로컬 백업 데이터베이스에 저장한다.
단계 103에서는, 상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 백업 서버로의 상기 파일의 백업을 정지한다.
본 실시예에서는, 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색되면 상기 파일은 이미 백업 서버에 업로드한 적이 있음을 나타내므로 더 이상 백업 서버에 상기 파일을 백업하지 않음으로써 동일한 파일의 중복 백업을 방지한다.
여기서, 백업 서버에 파일을 업로드할 때 업로드 실패로 인한 오작동을 방지하기 위하여 상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후 상기 해시값을 로컬 백업 데이터베이스에 이미 업로드한 상태로 표기함으로써 로컬 백업 데이터베이스에서 상기 해시값이 검색된 경우 백업 서버에 상기 해시값에 대응하는 파일의 백업을 정지하기 전에 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하여 상기 파일이 이미 성공적으로 업로드되었는지를 더 확인한다. 만약 상기 해시값이 이미 업로드한 상태로 표기되었으면 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 나타내므로 백업 서버에 상기 파일을 계속하여 백업하는 작업을 정지하고, 반대로, 만약 상기 해시값이 이미 업로드한 상태로 표기되지 않았으면 상기 파일이 업로드에 성공하지 못하였을 수 있음을 나타내므로 상기 파일이 성공적으로 업로드되었는지의 여부를 상기 파일에서 검색하여 만약 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 통보하면 백업 서버에 상기 파일을 계속하여 백업하는 작업을 정지하고, 이와 마찬가지로, 만약 백업 서버에서 상기 해시값에 대응하는 파일이 성공적으로 업로드하지 못함을 통보하면, 다시 백업 서버에 상기 파일을 백업한다.
상기 실시예에서 볼 수 있듯이, 단말기가 기설정된 알고리즘을 통하여 파일에 대해 해시값 결정을 진행하고 로컬 백업 데이터베이스에서 결정된 해시값을 검색하여 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색되면 백업 서버로의 상기 파일의 백업을 정지함으로써 상이한 파일 경로의 동일한 파일의 중복 백업을 방지할 수 있다.
도 2는 일 예시적 실시예에 따라 예시한 다른 한 파일 백업 방법의 흐름도이고 도 2에 도시된 바와 같이 백업 서버를 위한 상기 파일 백업 방법은 하기와 같은 단계를 포함한다.
단계 201에서는, 단말기가 업로드 한, 해시값을 갖는 검색요청을 수신한다.
단계 202에서는, 로컬 백업 데이터베이스에서 상기 해시값을 검색한다.
본 실시예에서, 백업 서버는 단말기가 업로드한 파일을 수신한 후 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하고, 상기 파일이 성공적으로 로컬 백업된 후 상기 단말기에 통보하는 동시에 결정된 해시값을 로컬 백업 데이터베이스에 저장함으로써 단말기가 검색을 진행함에 있어서 편리를 도모한다.
여기서, 백업 서버에 이용되는 상기 기설정된 알고리즘과 단말기에 이용되는 기설정된 알고리즘은 동일하고, 상기 파일에 대해 해시값 결정을 하기 이전에 상기 파일의 크기가 기설정된 임계값보다 큰지의 여부에 대해 판정하여 상기 파일의 크기가 기설정된 알고리즘보다 크지 않은 경우 상기 파일에 대해 직접 해시값 결정을 진행하고, 상기 파일의 크기가 기설정된 알고리즘보다 큰 경우 이때 직접 상기 파일에 대해 해시값 결정을 하게 되면 계산량이 너무 많을 수 있는 바 계산량이 너무 많으면 기기의 전기소비량의 증가를 초래한다. 따라서, 기설정된 알고리즘보다 큰 파일에 대해서는 상기 파일로부터 크기가 기설정된 복수의 파일 세그먼트를 추출한 후 추출된 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는다. 예를 들어, 상기 파일에서 파일 세그먼트를 추출할 경우 상기 파일을 크기가 기설정된 복수의 파일 블록으로 분할한 후 분할된 파일 블록에서 복수의 파일 블록을 상기 파일 세그먼트로서 추출한다.
여기서, 상기 기설정된 크기는 상기 기설정된 임계값보다 작고 상기 기설정된 임계값을 실제상황에 근거하여 설정하거나 또는 경험값을 상기 기설정된 임계값으로서 선택이 가능하며 본 발명은 이에 대해 특별히 한정하지 않는다. 예를 들어, 본 발명이 동영상 이미지의 백업을 위한 것일 경우 상기 기설정된 임계값은 경험값 4M을 취할 수 있다.
상기 파일에서 파일 세그먼트를 추출할 경우 임의로 추출할 수도 있고 균일하게 추출할 수도 있다. 임의로 추출한 파일 세그먼트는 상기 파일 중 분포가 균일하지 못할 수 있는바 상기 파일 중 분포가 균일하지 못한 파일 세그먼트에 대해 해시값 결정을 진행하는 경우 결정된 해시값과 상기 파일에 대한 해시값 결정 결과는 오차가 존재할 수 있다. 따라서, 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하게 하기 위하여 상기 파일에서 균일하게 파일 세그먼트를 추출할 수 있는 바, 예를 들어, 고정 간격에 따라 파일 세그먼트를 추출함으로써 추출한 파일 세그먼트가 상기 파일 중에 균일하게 분포될 수 있다.
이 외에 설명해야 할 것은 상기 파일에서 파일 세그먼트를 추출할 경우 추출한 파일 세그먼트의 양이 너무 많거나 너무 적지 않은 것이 좋다. 추출한 파일 세그먼트의 양이 너무 많으면 해시값 결정을 진행할 경우 알고리즘에 대한 빈번한 호출을 초래하여 시스템의 리소스를 불필요하게 점유하게 되고, 추출한 파일 세그먼트가 너무 적으면 최종 해시값 결정 결과의 정확성에 영향을 미치게 된다. 따라서 실제 애플리케이션에 있어서, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 양자를 동시에 고려하여 추출할 파일 세그먼트의 양을 적절하게 설정하거나 경험값을 이용할 수 있으며 본 발명에서는 이에 대해 특별히 한정하지 않는다.
상기 해결수단을 통하여 상기 파일 해시값을 결정할 경우 계산량을 효과적으로 감소시키고 기기의 전기 소비량을 줄일 수 있다.
단계 203에서는, 상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 상기 단말기에 통보한다.
본 실시예에서는, 로컬 백업 데이터베이스에 결정된 해시값이 이미 기록된 것으로 검색된 경우 이는 단말기가 이번의 백업 서버로부터 검색한 파일이 이전에 이미 로컬에 성공적으로 업로드되었음을 나타내는 것인 바, 이로부터 백업 서버는 단말기에 통보정보를 발송하여 상기 파일이 이미 성공적으로 업로드되었음을 단말기에 통보함으로써 단말기로 하여금 통보 정보 수신 후 백업 서버에 상기 파일을 계속하여 백업하는 작업을 정지하도록 한다. 그 대신, 결정된 해시값이 로컬 백업 데이터에 기록되어 있지 않은 것으로 검색될 경우 백업 서버는 단말기에 통보정보를 발송함으로써 상기 파일이 성공적으로 업로드하지 못함을 단말기에 통보하여 단말기로 하여금 통보정보를 수신한 후 상기 파일을 다시 백업 서버에 백업하도록 할 수도 있다.
상기 실시예에서 볼 수 있듯이, 백업 서버는 로컬 백업 데이터베이스에서 단말기로부터 수신한 검색요청에 구비된 해시값을 검색하고 로컬 백업 데이터베이스에 이미 상기 해시값이 기록되어 있는 경우 상기 파일에 대응하는 파일이 이미 성공적으로 업로드되었음을 단말기에 통보함으로써 단말기가 파일을 성공적으로 업로드하지 못함으로 인한 오작동을 방지하여 상이한 파일 경로의 동일한 파일이 백업 서버에 중복 백업되지 않도록 한다.
도 3은 일 예시적 실시예에 근거하여 예시한 다른 파일 백업 방법의 흐름도이고 도3에 도시한 바와 같이 하기와 같은 단계를 포함한다.
단계 301에서, 단말기는 기설정된 알고리즘에 근거하여 파일의 해시값을 결정한다.
본 실시예에서는, 상기 파일에 대해 해시값을 결정하기 전에 상기 기설정된 알고리즘은 우선 상기 파일의 크기가 기설정된 임계값보다 큰지의 여부를 판정하고 상기 파일의 크기가 기설정된 알고리즘보다 크지 않은 경우 상기 파일에 대해 직접 해시값 결정을 진행하며, 만약 상기 파일의 크기가 기설정된 알고리즘보다 클 때 직접 상기 파일에 대해 해시값 결정을 진행하면 계산량이 너무 많을 수 있는 바 계산량이 너무 많으면 기기의 전기소비량의 증가를 초래한다. 따라서 기설정된 알고리즘보다 큰 파일에 대해서는 상기 파일로부터 크기가 기설정된 된 복수의 파일 세그먼트를 추출한 후 추출된 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는다. 예를 들어, 상기 파일에서 파일 세그먼트를 추출할 경우 상기 파일을 크기가 기설정된 복수의 파일 블록으로 분할한 후 분할된 파일 블록에서 복수의 파일 블록을 상기 파일 세그먼트로서 추출한다.
여기서, 상기 기설정된 크기는 상기 기설정된 임계값보다 작고 상기 기설정된 임계값을 실제상황에 근거하여 설정하거나 또는 경험값을 상기 기설정된 임계값으로서 선택이 가능하며 본 발명은 이에 대해 특별히 한정하지 않는다. 예를 들어, 본 발명이 동영상 이미지의 백업을 위한 것일 경우 상기 기설정된 임계값은 경험값 4M을 취할 수 있다.
상기 파일에서 파일 세그먼트를 추출할 경우 임의로 추출할 수도 있고 균일하게 추출할 수도 있다. 임의로 추출한 파일 세그먼트는 상기 파일 중 분포가 균일하지 못할 수 있는바 상기 파일 중 분포가 균일하지 못한 파일 세그먼트에 대해 해시값 결정을 진행하는 경우 결정된 해시값과 상기 파일에 대한 해시값 결정 결과는 오차가 존재할 수 있다. 따라서, 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하게 하기 위하여 상기 파일에서 균일하게 파일 세그먼트를 추출할 수 있는 바, 예를 들어, 고정 간격에 따라 파일 세그먼트를 추출함으로써 추출한 파일 세그먼트가 상기 파일 중에 균일하게 분포되게 할 수 있다.
이 외에 설명해야 할 것은 상기 파일에서 파일 세그먼트를 추출할 경우 추출한 파일 세그먼트의 양이 너무 많거나 너무 적지 않은 것이 좋다. 추출한 파일 세그먼트의 양이 너무 많으면 해시값 결정을 진행할 경우 알고리즘에 대한 빈번한 호출을 초래하여 시스템의 리소스를 불필요하게 점유하게 되고, 추출한 파일 세그먼트가 너무 적으면 최종 해시값 결정 결과의 정확성에 영향을 미치게 된다. 따라서 실제 애플리케이션에 있어서, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 양자를 동시에 고려하여 추출할 파일 세그먼트의 양을 적절하게 설정하거나 또는 경험치를 이용할 수 있으며 본 발명에서는 이에 대해 특별히 한정하지 않는다.
예를 들어, 단말기가 10M크기인 하나의 로컬 세그먼트 동영상 파일에 대해 백업을 진행하여야 한다고 가정하고 상기 기설정된 임계값T를 경험값4M으로 취한다면, 이때 상기 동영상 파일의 크기는 상기 기설정된 임계값보다 크므로 동일하게 상기 동영상 파일에서 경험값으로 기설정된 크기가 1M인 파일 세그먼트 4개를 추출할 수 있다.
또한, 우선 상기 동영상 파일을 매 파일 섹션이 2.5M인4개의 파일 섹션으로 분할한 다음 매 파일 섹션에서 1M크기의 파일 세그먼트를 추출한다. 동시에, 파일 세그먼트가 상기 동영상 파일에서의 균일한 분포를 보장하기 위하여 파일 세그먼트사이에 고정 간격을 설정할 수 있는바, 예를 들어, 아래와 같은 섹션 함수에 따라 파일 세그먼트를 추출할 수 있다.
[KP,KP+1]
상기 섹션 함수에서, P는 하나마다의 파일 섹션 크기이고, K는(0,1,…,T-1)의 값을 취하며, T는 상기 기설정된 임계값이다. 본 실시예에서, P값은 2.5이고, K는 (0,1,2,3)의 값을 취하며, 도 4에 도시한 바와 같이 상기 섹션 함수에 따라 상기 동영상 파일로부터 [0,1M], [2.5M,3.5M], [5M,6M], [7.5M,8.5M]인 4개의 고정 섹션이 1.5M이고 크기가 1M인 파일 세그먼트를 추출할 수 있다.
상기 해결수단을 통하여 상기 파일 해시값을 결정할 경우 계산량을 효과적으로 감소시키고 기기의 전기 소비량을 줄일 수 있다.
단계 302에서, 단말기는 로컬 백업 데이터베이스에서 결정된 해시값을 검색한다.
본 실시예에서, 단말기는 로컬 백업 데이터베이스에 상기 해시값이 기록되지 않았음을 검색하였을 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하고 상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후 결정된 상기 해시값을 로컬 백업 데이터베이스에 저장한다. 동시에, 단말기는 상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 정보를 획득 후 상기 해시값을 로컬 백업 데이터베이스에 이미 업로드한 상태로 표기할 수 있다. 여기서, 단말기가 획득한, 상기 해시값에 대응하는 파일이 성공적으로 백업 서버에 업로드되었는지에 관한 정보는 상기 파일이 성공적으로 백업 서버에 업로드된 후 단말기에 발송한 통보정보를 백업 서버가 수신하여 획득한 것일 수 있다.
단계 303에서, 단말기는 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 계속하여 로컬 백업 데이터 베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색한다.
단계 304에서, 상기 해시값이 이미 업로드한 상태로 기록되지 않은 것으로 검색될 경우 단말기는 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색한다.
본 실시예에서, 상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색될 경우 단말기는 백업 서버에 상기 파일을 계속하여 백업하는 작업을 정지한다. 여기서, 단말기가 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하는 작업은 서버에 상기 해시값을 구비한 검색 요청을 발송함으로써 실현할 수 있다.
단계 305에서, 백업 서버는 로컬 백업 데이터베이스에서 상기 해시값을 검색한다.
본 실시예에서, 단말기가 업로드한 파일을 수신하였을 경우 백업 서버는 우선 기설정된 알고리즘에 근거하여 상기 파일의 해시값을 결정하고 상기 파일이 성공적으로 로컬 백업된 후 결정된 해시값을 로컬 백업 데이터베이스에 저장하여 단말기가 검색을 진행함에 있어서 편리를 도모한다. 여기서, 백업 서버가 파일 해시값을 결정할 때 이용하는 기설정된 알고리즘은 단말기가 파일 해시값을 결정할 때의 알고리즘과 일치하며 본 실시예서는 더 이상 반복하여 설명하지 않는다.
단계 306에서, 백업 서버로부터 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 상기 단말기에 통보한다.
본 실시예에서, 백업 서버는 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 단말기에 하나의 통보 정보를 발송하여 통보할 수 있다.
단계 307에서, 단말기는 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고 백업 서버로의 상기 파일의 백업을 정지한다.
본 실시예에서, 단말기는 백업 서버에서 발송한 통보 정보로부터 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 정보를 획득한 후 상기 해시값을 이미 업로드한 상태로 표기하고 백업 서버에 상기 파일을 계속하여 백업하는 작업을 정지한다. 한편, 백업 서버로부터 상기 해시값에 대응하는 파일이 성공적으로 업로드하지 못함을 검색하였을 경우 단말기는 백업 서버에 상기 파일을 백업하고 상기 파일이 성공적으로 백업 서버에 업로드된 후 로컬 백업 데이터베이스 중 상기 파일에 대응하는 해시값을 이미 업로드한 상태로 표기한다.
상기 실시예에서 볼 수 있듯이, 본 발명은 기설정된 알고리즘을 통하여 상기 파일에 대해 해시값 결정을 진행하고 단말기의 로컬 백업 데이터베이스에서 결정된 해시값을 검색하여 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색되면 백업 서버로의 상기 파일의 백업을 정지하여 상이한 파일 경로이름에서의 동일한 파일의 중복 백업을 방지할 수 있다. 동시에, 본 발명은 관련 기술에서의 해시값을 결정하는 알고리즘에 대해 개선하였는 바, 대상 파일 중 복수의 작고 균일한 분포를 구비한 파일 세그먼트를 추출하여 추출한 복수의 파일 세그먼트에 대해 해시값 결정을 진행함으로써 상기 파일의 해시값을 결정할 경우의 계산량을 효과적으로 감소시켜 기기의 전기 소비량을 줄일 수 있다.
본 발명의 다른 한 선택가능한 실시예에 있어서, 상기 도 1 또는 도 3이 도시한 실시예를 결부하면, 단말기의 로컬 데이터베이스에서 파일의 속성 정보를 기록할 수도 있다. 예를 들어, 상기 속성 정보에는 마지막 변경시간과 파일 크기 등 속성 정보를 포함할 수 있다. 로컬 데이터베이스에 기록된 파일 속성 정보가 파일의 실제 속성 정보와 상이할 경우, 상기 파일은 변경된 적이 있거나 새로운 내용이 입력되었음을 의미하므로 상기 파일의 해시값을 재결정해야 하고 로컬 데이터베이스에 기록된 해시값에 대하여 업데이트해야 함과 동시에 상기 파일의 속성 정보에 대해 업데이트 해야 한다. 하지만, 로컬 데이터베이스에 기록된 파일의 속성 정보와 파일 실제의 속성 정보가 동일하면 로컬 백업 데이터베이스를 업데이트할 필요없이 로컬 백업 데이터베이스에 저장된 값을 직접 사용할 수 있다.
상기 실시예에서는, 로컬 데이터베이스에 파일의 마지막 변경시간과 파일의 크기등 속성 정보를 기록하고 상기 파일의 속성 정보와 로컬 기록된 속성 정보가 상이할 경우 로컬 백업 데이터베이스의 속성 정보 및 기록한 상기 파일의 해시값에 대해 업데이트함으로써 파일 백업시의 잘못된 판정과 오작동을 효과적으로 방지할 수 있다.
상기 파일 백업 방법의 실시예와 상응하게 본 발명은 또한 파일 백업 장치의 실시예를 제공하였다.
도 5는 일 예시적 실시예에 따라 예시한 파일 백업 장치의 모식적인 블록도이고 상기 파일 백업 장치는 단말기 내에 적용될 수 있다.
도 5에 도시한 바와 같이, 일 예시적 실시예에 근거하여 예시한 파일 백업 장치(500)는, 제1결정모듈(501), 제1검색모듈(502), 프로세싱 모듈(503)을 포함한다. 여기서,
상기 제1결정모듈(501)은 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하도록 구성되고,
상기 제1검색모듈(502)은 로컬 백업 데이터베이스에서 결정된 해시값을 검색하도록 구성되고,
상기 프로세싱 모듈(503)은 상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않도록 구성된다.
상기 실시예에서는, 기설정된 알고리즘을 통하여 상기 파일에 대해 해시값 결정을 진행하고 로컬 백업 데이터베이스에서 결정된 해시값을 검색하여 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색되면 백업 서버로의 상기 파일의 백업을 정지하여 상이한 파일 경로의 동일한 파일의 중복 백업을 방지할 수 있다.
도 6을 참조하면, 도 6은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 5에 도시된 실시예에 기초하여, 상기 제1결정모듈(501)이 제1판정 서브모듈(501A), 제1결정 서브모듈(501B) 및 제2결정 서브모듈(501C)을 포함할 수 있다. 여기서,
상기 제1판정 서브모듈(501A)은, 상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하도록 구성되고,
상기 제1결정 서브모듈(501B)은, 상기 파일의 크기 또는 상기 기설정된 임계값을 판정할 경우 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻도록 구성되며,
상기 제2결정 서브모듈(501C)은, 상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻도록 구성된다.
상기 실시예에서는, 기설정된 알고리즘에 근거하여 상기 파일의 해시값을 결정하고 상기 파일에 대해 임계화 처리를 진행하여 상기 파일의 크기가 기설정된 임계값보다 클 경우 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻음으로써 상기 파일이 너무 큰 경우 상기 파일의 해시값 결정 시의 결정량을 효과적으로 감소시켜 기기의 전기 소비량을 줄일 수 있다.
도 7을 참조하면, 도 7은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 6에 도시된 실시예에 기초하여 상기 제1결정 서브모듈(501B)이 제1추출 서브모듈(501B1)을 포함할 수 있다.
상기 제1추출 서브모듈(501B1)은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하도록 구성되며; 여기서, 상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
상기 실시예에서는, 상기 파일에서 균일하게 분포된, 기설정된 크기가 상기 기설정된 임계값 미만인 파일 세그먼트를 추출함으로써 해시값 결정 시 계산량을 감소시키는 것에 더하여 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하도록 유지한다.
도 8을 참조하면, 도 8은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 5에 도시된 실시예에 기초하여 상기 파일 백업 장치(500)가 업로드모듈(504)과 제2저장모듈(505)을 더 포함할 수 있다. 여기서,
상기 업로드모듈(504)은, 상기 로컬 백업 데이터베이스에 상기 해시값이 기록되지 않은 것으로 검색되었을 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하도록 구성되고,
상기 제1저장모듈(505)은, 상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후, 상기 해시값을 로컬 백업 데이터베이스에 저장하도록 구성된다.
상기 실시예에서는, 상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기함으로써 로컬 백업 데이터베이스에서 해시값 검색을 진행할 경우 파일의 업로드 상태를 알 수 있다.
설명해야 할 것은, 상기 도 8에 도시된 파일 백업 장치 실시예에서 예시한 업로드모듈(504)과 제1저장모듈(505)의 구조는 상기 도 6 및 도 7의 장치 실시예에 포함될 수도 있으며 이에 대해 본 발명은 한정하지 않는다.
도 9를 참조하면, 도 9는 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 8에 도시된 실시예에 기초하여 상기 파일 백업 장치(500)가 표기모듈(506)을 더 포함할 수 있다.
상기 표기모듈(506)은, 상기 해시값에 대응하는 파일이 성공적으로 백업 서버에 업로드된 후 상기 로컬 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하도록 구성된다.
상기 실시예에서는, 상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후 상기 해시값을 로컬 백업 데이터베이스에 이미 업로드한 상태로 표기함으로써 로컬 백업 데이터베이스에서 해시값 검색을 진행할 경우 파일의 업로드 상태를 알 수 있다.
설명해야 할 것은, 상기 도 9에 도시한 장치 실시예에서 예시한 업로드모듈(504)과 제1저장모듈(505)의 구조는 상기 도 6 내지 도 8의 장치 실시예에 포함될 수도 있으며 이에 대해 본 발명은 한정하지 않는다.
도 10을 참조하면, 도 10은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 5에 도시된 실시예에 기초하여 상기 프로세싱 모듈(503)이 제1검색 서브모듈(503A), 프로세싱 서브모듈(503B), 제2검색 서브모듈(503C), 제1표기 서브모듈(503D)과 백업 서브모듈(503E)을 더 포함할 수 있다. 여기서,
상기 제1검색 서브모듈(503A)은, 백업 서버에 상기 파일을 백업하기 이전에 상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하도록 구성되고,
상기 프로세싱 서브모듈(503B)은, 상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색되면 더 이상 백업 서버에 상기 파일을 백업하지 않도록 구성되며,
상기 제2검색 서브모듈(503C)은, 상기 해시값이 이미 업로드한 상태로 표기되지 않은 것으로 검색되면 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하도록 구성되고,
상기 제1표기 서브모듈(503D)은, 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 것으로 검색되면 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고 더 이상 백업 서버에 상기 파일을 백업하지 않도록 구성되며,
상기 백업 서브모듈(503E), 상기 해시값에 대응하는 파일이 성공적으로 업로드하지 못한 것으로 검색되면 백업 서버에 상기 파일을 백업하도록 구성된다.
상기 실시예에서는, 백업 서버에 상기 파일을 백업하기 이전에 상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하여 만약 이미 업로드한 상태로 표기되었으면 백업 서버로의 상기 파일의 백업을 정지하고, 만약 이미 업로드한 상태로 표기되지 않았으면 파일이 성공적으로 업로드되었는지를 백업 서버에 또한 확인하여 상기 파일이 성공적으로 업로드된 것으로 결정되면 백업 서버로의 상기 파일의 백업을 정지하고, 상기 파일이 성공적으로 업로드하지 못한 것으로 결정되면 백업 서버에 상기 파일을 백업한다. 상기 해결수단을 통하여 파일이 성공적으로 업로드하지 못함으로 인한 오작동을 효과적으로 방지할 수 있다.
설명해야 할 것은, 상기 도 10에 도시한 파일 백업 장치 실시예에서 예시한 제1검색 서브모듈(503A), 프로세싱 서브모듈(503B), 제2검색 서브모듈(503C), 제1표기 서브모듈(503D) 및 백업 서브모듈(503E)의 구조는 상기 도 6 내지 도 9의 장치 실시예에 포함될 수도 있으며 이에 대해 본 발명은 한정하지 않는다.
도 11을 참조하면, 도 11은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 5에 도시한 실시예에 기초하는 상기 파일 백업 장치(500)가 기록모듈(506)과 업데이트모듈(507)을 더 포함한다. 여기서,
상기 기록모듈(506)은, 상기 로컬 백업 데이터베이스에 마지막 변경시간과 파일 크기를 포함하는 상기 파일의 속성 정보를 기록하도록 구성되고,
상기 업데이트모듈(507)은, 상기 파일의 속성 정보와 상기 로컬 백업 데이터에 기록된 속성 정보가 상이할 경우 상기 로컬 백업 데이터베이스에 기록된 상기 파일의 해시값과 속성 정보를 업데이트하도록 구성된다.
상기 실시예에서는, 로컬 데이터베이스에 파일의 마지막 변경시간과 파일의 크기등 속성 정보를 기록하고 상기 파일의 속성 정보와 로컬 기록된 속성 정보가 상이할 경우 로컬 백업 데이터베이스의 속성 정보 및 기록한 상기 파일의 해시값에 대해 업데이트함으로써 파일 백업시의 잘못된 판정과 오작동을 효과적으로 방지할 수 있다.
설명해야 할 것은, 상기 도 11에 도시한 장치 실시예에서 예시한 기록모듈(506)과 업데이트모듈(507)의 구조는 상기 도 6 내지 도 10의 장치 실시예에 포함될 수도 있으며 이에 대해 본 발명은 한정하지 않는다.
도 12는 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고 상기 파일 백업 장치는 백업 서버에 적용될 수도 있다.
도 12에 도시된 바와 같이, 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치(1200)는 수신모듈(1201), 제2검색모듈(1202), 통보모듈(1203)을 포함한다. 여기서,
상기 수신모듈(1201)은, 단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하도록 구성되고,
상기 제2검색모듈(1202)은, 로컬 백업 데이터베이스에서 상기 해시값을 검색하도록 구성되며,
상기 통보모듈(1203)은, 상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 단말기에 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 통보하도록 구성된다.
상기 실시예에서는, 단말기에서 수신한 검색요청에 구비된 해시값을 로컬 백업 데이터베이스에서 검색하여 로컬 백업 데이터베이스에 이미 상기 해시값이 기록되어 있으면 상기 파일에 대응하는 파일이 이미 성공적으로 업로드되었음을 단말기에 통보함으로써 단말기가 파일을 성공적으로 업로드하지 못함으로 인한 오작동으로 하여 상이한 파일 경로의 동일한 파일이 백업 서버에 중복 백업되는 것을 효과적으로 방지할 수 있다.
도 13을 참조하면, 도 13은 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 12에 예시한 실시예에 기초하여 상기 파일 백업 장치(1200)가 제2결정모듈(1204) 및 제2저장모듈(1205)을 더 포함한다. 여기서,
상기 제2결정모듈(1204)은, 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하도록 구성되고,
상기 제2저장모듈(1205)은, 상기파일이 로컬 백업에 성공한 후 결정된 해시값을 로컬 백업 데이터베이스에 저장하도록 구성된다.
상기 실시예에서는, 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하고 상기 파일이 성공적으로 로컬 백업된 후 결정된 해시값을 로컬 백업 데이터베이스에 저장하며 백업 서버가 로컬 백업 데이터베이스에서 다시 상기 해시값을 찾았을 경우 상기 해시값에 대응하는 파일의 이미 업로드한 상태를 대응하는 단말기에 통보할 수 있다.
도 14를 참조하면, 도 14는 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예가 상기 도 12에 예시한 실시예에 기초하여 상기 제2결정모듈(1204)은 제2판정 서브모듈(1204A), 제3결정 서브모듈(1204B) 및 제4결정 서브모듈(1204C)을 포함한다. 여기서,
상기 제2판정 서브모듈(1204A)은, 상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하도록 구성되고,
상기 제3결정 서브모듈(1204B)은, 상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻도록 구성되며,
상기 제4결정 서브모듈(1204C)은, 상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻도록 구성된다.
상기 실시예에서는, 기설정된 알고리즘에 근거하여 상기 파일의 해시값을 결정하고 상기 파일에 대해 임계화 처리를 진행하여 상기 파일의 크기가 기설정된 임계값보다 클 경우 상기 파일에서 복수의 파일 세그먼트를 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻음으로써 상기 파일이 너무 큰 경우에 상기 파일의 해시값 결정 때의 결정량을 효과적으로 감소시켜 기기의 전기 소비량을 줄일 수 있다. 동시에, 상기 파일에서 균일하게 분포된 기설정된 크기가 상기 기설정된 임계값 미만인 파일 세그먼트를 추출함으로써 해시값 결정량을 감소시키는 것에 더하여 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 일치하도록 한다.
도 15를 참조하면, 도 15는 본 발명의 일 예시적 실시예에 근거하여 예시한 다른 한 파일 백업 장치의 모식적인 블록도이고, 상기 실시예는 상기 도 14에서 예시한 실시예에 기초하여 상기 제3결정 서브모듈(1204B)이 제2추출 서브모듈(1204B1)을 포함할 수 있다.
상기 제2추출 서브모듈(1204B1)은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하도록 구성되고, 여기서, 상기 기설정된 크기의 파일 세그먼트가 차지하는 바이트 수는 상기 기설정된 임계값보다 작다.
상기 실시예에서는, 상기 파일에서 균일하게 분포된 기설정된 크기가 상기 기설정된 임계값 미만인 파일 세그먼트를 추출함으로써 해시값 결정 시 계산량을 감소시키는 것에 더하여 상기 각 파일 세그먼트에 대한 해시값 결정 결과와 상기 파일에 대한 해시값 결정 결과가 가능한 한 일치하도록 유지한다.
대응되게, 본 발명은 메모리 및 하나 또는 하나 이상의 프로그램을 포함하는 파일 백업 장치를 더 제공하는 바, 여기서 하나 또는 하나 이상의 프로그램은 메모리에 저장되어 있고 하나 또는 하나 이상의 프로세서를 배치하여 하기와 같은 인스트렉션을 작동하기 위한 하나 또는 하나 이상의 프로그램을 실행한다.
기설정된 알고리즘에 근거하여 파일의 해시값을 결정하고,
로컬 백업 데이터베이스에서 결정된 해시값을 검색하며,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않는다.
도 16은 일 예시적 실시예에 근거하여 예시한 파일 백업 장치의 개략도이다. 도16에 도시한 바와 같이, 일 예시적 실시예에 근거하여 예시한 파일 백업 장치(1600)는 휴대폰, 컴퓨터, 디지털방송 단말기, 메시지송수신 기기, 게임 콘솔, 태블릿기기, 의료기기, 휘트니스기기, 개인 휴대 정보 단말기 등일 수 있다.
도 16을 참조하면, 장치(1600)는 프로세싱 어셈블리(1601), 메모리(1602), 전원 어셈블리(1603), 멀티미디어 어셈블리(1604), 오디오 어셈블리(1605), 입력/출력(I/O) 인터페이스(1606), 센서 어셈블리(1607) 및 통신 어셈블리(1608)와 같은 하나 또는 다수의 어셈블리를 포함할 수 있다.
프로세싱 어셈블리(1601)는 통상적으로 표시, 전화 호출, 데이터 통신, 카메라 동작 및 기록 동작과 관련한 장치(1600)의 전체 동작을 제어한다. 프로세싱 어셈블리(1601)는 상기의 파일 백업 방법의 전부 또는 일부 단계를 완성하도록 하나 또는 다수의 프로세서(1609)를 포함하여 인스트럭션을 실행할 수 있다. 이 외에, 프로세싱 어셈블리(1601)는 프로세싱 어셈블리(1601)와 기타 어셈블리 사이의 교류가 편리하도록 하나 또는 다수의 모듈을 포함할 수 있다. 예를 들어, 프로세싱 어셈블리(1601)는 멀티미디어 어셈블리(1604)과 프로세싱 어셈블리(1601) 사이의 인터랙션을 가능하게 하는 멀티미디어모듈을 포함할 수 있다.
메모리(1602)는 장치(1600)의 작동을 지원하도록 각종 유형의 데이터를 저장하도록 구성된다. 이러한 데이터의 예시는 장치(1600)에서 동작되는 임의의 어플리케이션 또는 방법의 인스트럭션, 연락처 데이터, 전화번호부 데이터, 메시지, 이미지, 동영상 등을 포함한다. 메모리(1602)는 스태틱 랜덤 액세스 메모리(SRAM), 전기적 소거 가능한 프로그램 가능 판독전용 메모리(EEPROM), 소거 및 프로그램 가능 판독전용 메모리(EPROM), 프로그램 가능 판독전용 메모리(PROM), 판독 전용 메모리(ROM), 자기 메모리, 플래시 메모리, 디스크 또는 CD와 같은 모든 유형의 휘발성 또는 비휘발성 메모리 기기 또는 그들의 조합으로 이루어질 수 있다.
전원 어셈블리(1603)는 장치(1600)의 각종 어셈블리에 전력을 제공한다. 전원 어셈블리(1603)은 전원관리시스템, 하나 또는 다수의 전원, 장치(1600)에 전력을 생성, 관리 및 분배하는 것과 관련된 기타 어셈블리를 포함할 수 있다.
멀티미디어 어셈블리(1604)는 상기 장치(1600)와 사용자 사이에 하나의 출력인터페이스를 제공하는 스크린을 포함한다. 일부 실시예에서, 스크린은 액정디스플레이(LCD)와 터치패널(TP)을 포함할 수 있다. 스크린이 터치패널을 포함하면, 스크린은 사용자가 입력한 신호를 수신하도록 터치스크린으로 구현될 수 있다. 터치패널은 터치, 슬라이딩과 터치패널의 손동작을 감지하도록 하나 또는 다수의 터치센서를 포함한다. 상기 터치센서는 터치 또는 슬라이딩 동작의 경계를 감지할 수 있을 뿐만 아니라 상기 터치 또는 슬라이딩 동작과 관련한 지속시간과 압력도 검출할 수 있다. 일부 실시예에서, 멀티미디어 어셈블리(1604)는 프론트 카메라 및/또는 리어 카메라를 포함한다. 장치(1600)가 작동모드, 예를 들어 촬영모드 또는 동영상모드일 경우, 프론트 카메라 및/또는 리어 카메라는 외부의 멀티미디어 데이터를 수신할 수 있다. 프론트 카메라와 리어 카메라 각각은 하나의 고정된 광학렌즈 시스템이거나 초점거리와 광학 줌 기능을 가질 수 있다.
오디오 어셈블리(1605)는 오디오신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 어셈블리(1605)는 하나의 마이크(MIC)를 포함하는바, 장치(1600)가 작동모드, 예를 들어 호출모드, 기록모드 및 음성인식모드 일 경우 마이크는 외부의 오디오신호를 수신하도록 구성된다. 수신된 오디오신호는 또한 메모리(1602)에 저장되거나 통신 어셈블리(1608)를 거쳐 발송될 수 있다. 일부 실시예에서, 오디오 어셈블리(1605)는 오디오신호를 출력하기 위한 하나의 스피커를 더 포함한다.
I/O 인터페이스(1602)는 프로세싱 어셈블리(1601)와 주변 인터페이스모듈 사이에 인터페이스를 제공하되 상기 주변 인터페이스모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼은 홈버튼, 음량버튼, 작동버튼과 잠금버튼을 포함하나 이에 한정하지는 않는다.
센서 어셈블리(1607)는 하나 또는 다수의 센서를 포함하여 장치(1600)에 여러 방면의 상태평가를 제공한다. 예를 들어, 센서 어셈블리(1607)는 장치(1600)의 온오프상태, 어셈블리, 예를 들어, 장치(1600)의 모니터와 키패드의 상대위치, 장치(1600) 또는 장치(1600)의 한 어셈블리의 위치변화, 사용자와 장치(1600)의 접촉여부, 장치(1600) 방위 또는 가속/감속과 장치(1600)의 온도변화를 검출할 수 있다. 센서 어셈블리(1607)는 아무런 물리적 접촉이 없을 경우, 주변 물체의 존재를 검출하도록 구성된 근접센서를 포함할 수 있다. 센서 어셈블리(1607)는 COMS 또는 CCD영상 센서와 같은 광센서를 더 포함하여 영상응용에 사용한다. 일부 실시예에서, 상기 센서 어셈블리(1607)는 가속도센서, 자이로센서, 자기센서, 압력센서 또는 온도센서를 더 포함할 수 있다.
통신 어셈블리(1608)는 장치(1600)와 기타 기기 사이의 유선 또는 무선방식의 통신을 가능하게 하도록 구성된다. 장치(1600)는 통신표준에 의한 무선인터넷, 예를 들어, WiFi, 2G 또는3G 또는 이들의 조합을 액세스할 수 있다. 일 예시적 실시예에서, 통신 어셈블리(1608)는 방송신호를 거쳐 외부방송관리시스템의 방송신호 또는 방송과 관련한 정보를 수신한다. 일 예시적 실시예에서, 상기 통신 어셈블리(1608)는 근거리 통신을 촉진하도록 근거리 자기장 통신(NFC) 모듈을 더 포함할 수 있다. 예를 들어, NFC 모듈은 무선 주파수 인식(RFID) 기술, 적외선 통신 규격(IrDA) 기술, 초광대역(UWB) 기술, 블루투스(BT) 기술과 기타 기술에 기반하여 구현될 수 있다.
예시적인 실시예에서 장치(1600)는 상기 파일 백업 방법을 수행하도록 하나 또는 복수개의 응용 주문형 집적 회로(ASIC), 디지털신호 프로세스(DSP), 디시털 신호 처리기기(DSPD), 프로그램 가능 논리 소자(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 기타 전자 부품에 의해 구현될 수 있다.
예시적인 실시예에서는 인스트럭션을 포함하는 비일시적 컴퓨터 판독 가능한 기록 매체, 예를 들어 상기 파일 백업 방법을 완성하도록 장치(1600)의 프로세서(1609)가 실행하는 인스트럭션을 포함하는 메모리(1602)를 더 제공한다. 예를 들어 상기 비일시적 컴퓨터 판독 가능한 기록 매체는 ROM, 랜덤 액세스 메모리(RAM), CD-ROM, 테이프, 플로피 디스켓과 광 데이터 저장기기 등일 수 있다.
비일시적 컴퓨터 판독 가능한 기록매체는, 상기 기록매체의 인스트럭션이 단말기기의 프로세서에 의해 실행될 때, 단말기기가 안전한 제어 방법을 수행하도록 한다. 상기 파일 백업 방법은,
기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 단계와,
로컬 백업 데이터베이스에서 결정된 해시값을 검색하는 단계와,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 백업 서버로의 상기 파일의 백업을 정지하는 단계를 포함한다.
대응되게, 본 발명은 메모리 및 하나 또는 하나 이상의 프로그램을 포함하는 다른 한 파일 백업 장치를 더 제공하는 바, 여기서, 하나 또는 하나 이상의 프로그램은 메모리에 저장되어 있고 하나 또는 하나 이상의 프로세서를 배치하여 하기와 같은 인스트렉션을 작동하기 위한 하나 또는 하나 이상의 프로그램을 실행한다.
단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하고,
로컬 백업 데이터베이스에서 상기 해시값을 검색하며,
상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 단말기에 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 통보한다.
도 17은 일 예시적 실시예에 따라 도시한 파일 백업을 위한 장치(1700)의 블록도이다. 예를 들어, 장치(1700)는 하나의 서버로 제공될 수 있다. 도 17을 참조하면 장치(1700)는 프로세서 어셈블리(1722)를 포함하고 이는 또한 하나 또는 다수의 프로세서, 프로세서 어셈블리(1722)가 실행 가능한 인스트럭션, 예를 들어 애플리케이션 프로그램을 저장하기 위한 메모리(1732)를 대표로 하는 메모리 리소스를 포함한다. 메모리(1732)에 저장된 애플리케이션 프로그램은 하나 또는 하나 이상의 각각 하나의 인스트럭션에 대응하는 모듈을 포함할 수 있다. 이 외에 프로세서 어셈블리(1722)는 인스트럭션을 실행하도록 구성되어 상기 파일 백업 방법을 수행한다.
장치(1700)는 실행장치(1700)의 전력을 관리하는 하나의 전원 어셈블리(1726), 장치(1700)를 네트워크에 연결하는 하나의 유선 또는 무선 네트워크 인터페이스(1750), 하나의 입출력(I/O) 인터페이스(1758)를 더 포함할 수 있다. 장치(1700)는 메모리(1732)에 저장된 운영체제, 예를 들어 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM등과 같은 것을 작동시킬 수 있다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자들은 명세서를 고려하여 여기서 공개한 발명을 실시한 후 본 발명의 기타 실시형태를 용이하게 생각해 낼 수 있다. 본원 발명은 본 발명의 모든 변형, 용도 또는 적응을 포함하고 이러한 변형, 용도 또는 적응은 본 발명의 일반적인 원리를 따르며 본 발명이 공개하지 않은 본 기술분야에서의 공지된 상식 또는 통상적인 기술수단을 포함한다. 명세서와 실시예는 단지 예시적인 것일 뿐 본 발명의 진정한 범위와 기술적 사상은 하기의 청구범위에 의해 밝혀질 것이다.
본 발명은 상기에서 설명하고 도면에서 도시한 정확한 구조에 제한되는 것이 아니라 그 범위를 벗어나지 않는 한 여러 가지 수정과 변경을 할 수 있음을 이해해야 한다. 본 발명의 범위는 단지 첨부되는 청구범위에 의해 한정된다.

Claims (26)

  1. 기설정된 알고리즘에 근거하여 파일의 해시값(a hash value)을 결정하는 단계와,
    로컬 백업 데이터베이스에서 결정된 해시값을 검색하는(inquiring) 단계와,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계를 포함하되,
    상기 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 단계는,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 단계와,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 단계와,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 단계를 포함하고,
    상기 파일에서 복수의 파일 세그먼트를 추출하는 것은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게(evenly) 추출하는 것을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 로컬 백업 데이터베이스에 상기 해시값이 기록되어 있지 않은 것으로 검색될 때 상기 해시값에 대응하는 파일을 백업 서버에 업로드하는 단계와,
    상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후 상기 해시값을 로컬 백업 데이터베이스에 저장하는 단계를 더 포함하는
    파일 백업 방법.
  5. 제1항에 있어서,
    상기 해시값에 대응하는 파일을 성공적으로 백업 서버에 업로드한 후 상기 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하는(marking) 단계를 더 포함하는
    파일 백업 방법.
  6. 제1항에 있어서,
    상기 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계 이전에, 상기 파일 백업 방법은,
    상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하는 단계와,
    상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색되면 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계와,
    상기 해시값이 이미 업로드한 상태로 표기되지 않은 것으로 검색되면 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하는 단계와,
    상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 것으로 검색되면 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고 더 이상 백업 서버에 상기 파일을 백업하지 않는 단계와,
    상기 해시값에 대응하는 파일이 업로드에 성공하지 못하였다는 것이 검색되면 백업 서버에 상기 파일을 백업하는 단계를 더 포함하는
    파일 백업 방법.
  7. 제1항에 있어서,
    상기 로컬 백업 데이터베이스에 마지막 변경시간과 파일 크기를 포함하는 상기 파일의 속성 정보(property information)를 기록하는 단계와,
    상기 파일의 속성 정보와 상기 로컬 백업 데이터베이스에 기록된 속성 정보가 상이할 경우 상기 로컬 백업 데이터베이스에 기록된 상기 파일의 해시값과 속성 정보를 업데이트하는 단계를 더 포함하는
    파일 백업 방법.
  8. 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하는 단계와,
    상기 파일이 로컬에서 성공적으로 백업된 후, 결정된 해시값을 로컬 백업 데이터베이스에 저장하는 단계와,
    단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하는 단계와,
    로컬 백업 데이터베이스에서 상기 해시값을 검색하는 단계와,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 상기 단말기에 성공적으로 업로드되었음을 통보하는(informing) 단계를 포함하되,
    상기 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하는 단계는,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 단계와,
    상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 단계와,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 단계를 포함하고,
    상기 파일에서 복수의 파일 세그먼트를 추출하는 것은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하는 것을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하기 위한 제1결정모듈과,
    로컬 백업 데이터베이스에서 결정된 해시값을 검색하기 위한 제1검색모듈과,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 프로세싱 모듈을 포함하되,
    상기 제1결정모듈은,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하기 위한 제1판정 서브모듈과,
    상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻기 위한 제1결정 서브모듈과,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻기 위한 제2결정 서브모듈을 포함하고,
    상기 제1결정 서브모듈은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하기 위한 제1추출 서브모듈을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 장치.
  13. 삭제
  14. 삭제
  15. 제12항에 있어서,
    상기 로컬 백업 데이터베이스에 상기 해시값이 기록되어 있지 않은 것으로 검색될 경우 상기 해시값에 대응하는 파일을 백업 서버에 업로드하기 위한 업로드모듈과,
    상기 해시값에 대응하는 파일을 백업 서버에 업로드한 후 상기 해시값을 로컬 백업 데이터베이스에 저장하기 위한 제1저장모듈을 더 포함하는
    파일 백업 장치.
  16. 제12항에 있어서,
    상기 해시값에 대응하는 파일을 백업 서버에 성공적으로 업로드한 후 상기 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하기 위한 표기모듈을 더 포함하는
    파일 백업 장치.
  17. 제12항에 있어서,
    상기 프로세싱 모듈은,
    상기 로컬 백업 데이터베이스에서 상기 해시값이 이미 업로드한 상태로 표기되었는지의 여부를 검색하기 위한 제1검색 서브모듈과,
    상기 해시값이 이미 업로드한 상태로 표기된 것으로 검색되면 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 프로세싱 서브모듈과,
    상기 해시값이 이미 업로드한 상태로 표기되지 않은 것으로 검색되면 백업 서버에서 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었는지의 여부를 검색하기 위한 제2검색 서브모듈과,
    상기 해시값에 대응하는 파일이 이미 성공적으로 업로드된 것으로 검색되면 로컬 백업 데이터베이스에서 상기 해시값을 이미 업로드한 상태로 표기하고 더 이상 백업 서버에 상기 파일을 백업하지 않기 위한 제1표기 서브모듈과,
    상기 해시값에 대응하는 파일이 성공적으로 업로드하지 못한 것으로 검색되면 백업 서버에 상기 파일을 백업하기 위한 백업 서브모듈을 포함하는
    파일 백업 장치.
  18. 제12항에 있어서,
    상기 로컬 백업 데이터베이스에 마지막 변경시간과 파일 크기를 포함하는 상기 파일의 속성 정보를 기록하기 위한 기록모듈과,
    상기 파일의 속성 정보와 상기 로컬 백업 데이터에 기록된 속성 정보가 상이할 경우 상기 로컬 백업 데이터베이스에 기록된 상기 파일의 해시값과 속성 정보를 업데이트하기 위한 업데이트모듈을 더 포함하는
    파일 백업 장치.
  19. 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하기 위한 제2결정모듈과,
    상기파일이 로컬 백업에 성공한 후 결정된 해시값을 로컬 백업 데이터베이스에 저장하기 위한 제2저장모듈과,
    단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하기 위한 수신모듈과,
    로컬 백업 데이터베이스에서 상기 해시값을 검색하기 위한 제2검색모듈과,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 단말기에 상기 해시값에 대응하는 파일이 이미 성공적으로 업로드되었음을 통보하기 위한 통보모듈을 포함하되,
    상기 제2결정모듈은,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하기 위한 제2판정 서브모듈과,
    상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻기 위한 제3결정 서브모듈과,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻기 위한 제4결정 서브모듈을 포함하고,
    상기 제3결정 서브모듈은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하기 위한 제2추출 서브모듈을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 장치.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 프로세서와,
    프로세서가 실행 가능한 인스트럭션을 저장하기 위한 메모리를 포함하되,
    상기 프로세서는,
    기설정된 알고리즘에 근거하여 파일의 해시값을 결정하고,
    로컬 백업 데이터베이스에서 결정된 해시값을 검색하며,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 더 이상 백업 서버에 상기 파일을 백업하지 않도록 구성되고,
    상기 기설정된 알고리즘에 근거하여 파일의 해시값을 결정하는 것은,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 것과,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 것과,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 것을 포함하고,
    상기 파일에서 복수의 파일 세그먼트를 추출하는 것은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하는 것을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 장치.
  24. 프로세서와,
    프로세서가 실행 가능한 인스트럭션을 저장하기 위한 메모리를 포함하되,
    상기 프로세서는,
    기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하고,
    상기 파일이 로컬에서 성공적으로 백업된 후, 결정된 해시값을 로컬 백업 데이터베이스에 저장하고,
    단말기가 업로드 한, 해시값을 갖는 검색요청을 수신하고,
    로컬 백업 데이터베이스에서 상기 해시값을 검색하며,
    상기 로컬 백업 데이터베이스에 상기 해시값이 이미 기록된 것으로 검색될 경우 상기 해시값에 대응하는 파일이 이미 상기 단말기에 성공적으로 업로드되었음을 통보하도록 구성되고,
    상기 기설정된 알고리즘에 근거하여 단말기가 업로드한 파일의 해시값을 결정하는 것은,
    상기 파일의 크기가 기설정된 임계값보다 크거나 같은지의 여부를 판정하는 것과,
    상기 파일의 크기가 상기 기설정된 임계값보다 크거나 같다고 판정될 때 상기 파일을 복수의 파일 섹션으로 분할하고 상기 복수의 파일 섹션에서 복수의 파일 세그먼트를 각각 추출하고 상기 복수의 파일 세그먼트에 대해 해시값을 결정하여 상기 파일의 해시값을 얻는 것과,
    상기 파일의 크기가 상기 기설정된 임계값보다 작다고 판정될 때 상기 파일에 대해 해시값을 결정하여 해시값을 얻는 것을 포함하고,
    상기 파일에서 복수의 파일 세그먼트를 추출하는 것은, 상기 파일에서 복수의 기설정된 크기의 파일 세그먼트를 균일하게 추출하는 것을 포함하고,
    상기 기설정된 크기의 파일 세그먼트의 각각이 차지하는 바이트 수는 상기 기설정된 임계값 및 상기 파일 섹션의 각각이 차지하는 바이트 수보다 작은
    파일 백업 장치.
  25. 프로세서에 의해 실행되는 것을 통하여 제 1 항, 제 4 항 내지 제 8 항 중 어느 한 항에 기재된 파일 백업 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능 기록매체에 저장되는
    프로그램.
  26. 제 25 항에 기재된 프로그램이 기록된
    컴퓨터 판독가능 기록매체.
KR1020157007893A 2014-08-27 2015-01-30 파일 백업 방법, 장치, 프로그램 및 기록매체 KR101656633B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410429701.7A CN104156284A (zh) 2014-08-27 2014-08-27 文件备份方法和装置
CN201410429701.7 2014-08-27
PCT/CN2015/071870 WO2016029648A1 (zh) 2014-08-27 2015-01-30 文件备份方法和装置

Publications (2)

Publication Number Publication Date
KR20160034839A KR20160034839A (ko) 2016-03-30
KR101656633B1 true KR101656633B1 (ko) 2016-09-09

Family

ID=51881789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157007893A KR101656633B1 (ko) 2014-08-27 2015-01-30 파일 백업 방법, 장치, 프로그램 및 기록매체

Country Status (9)

Country Link
US (1) US20160062843A1 (ko)
EP (1) EP2990949B1 (ko)
JP (1) JP6211708B2 (ko)
KR (1) KR101656633B1 (ko)
CN (1) CN104156284A (ko)
BR (1) BR112015008299A2 (ko)
MX (1) MX349663B (ko)
RU (1) RU2613028C2 (ko)
WO (1) WO2016029648A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156284A (zh) * 2014-08-27 2014-11-19 小米科技有限责任公司 文件备份方法和装置
CN105554137B (zh) * 2015-12-23 2019-11-26 北京奇虎科技有限公司 一种备份系统及方法
CN106326048A (zh) * 2016-08-11 2017-01-11 广东欧珀移动通信有限公司 外部存储设备的检测方法和装置
CN106572177A (zh) * 2016-11-07 2017-04-19 广东欧珀移动通信有限公司 一种数据传输方法及移动终端
CN106708658B (zh) * 2016-11-29 2018-12-04 维沃移动通信有限公司 一种数据备份方法、移动终端及存储服务器
KR102130304B1 (ko) * 2019-06-14 2020-07-08 주식회사 코튼캔디 파일 백업 방법 및 장치
US11675739B1 (en) * 2019-09-23 2023-06-13 Datex Inc. Distributed data storage using hierarchically arranged metadata
CN110795285A (zh) * 2019-10-25 2020-02-14 维沃移动通信有限公司 一种备份标记的显示方法和电子设备
CN111290882B (zh) * 2020-02-11 2024-02-09 北京小米松果电子有限公司 数据文件备份方法、数据文件备份装置及电子设备
CN113961149B (zh) * 2021-10-29 2024-01-26 国网江苏省电力有限公司营销服务中心 一种电力信息系统多态数据存储系统及存储方法
CN115086298A (zh) * 2022-05-30 2022-09-20 中银金融科技有限公司 文件传输方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254178B2 (ja) * 2002-09-11 2009-04-15 富士ゼロックス株式会社 分散格納制御装置及び方法
RU2406118C2 (ru) * 2004-09-22 2010-12-10 Майкрософт Корпорейшн Способ и система для синтетического резервного копирования и восстановления данных
US8082231B1 (en) * 2006-09-22 2011-12-20 Emc Corporation Techniques using identifiers and signatures with data operations
US7797323B1 (en) * 2006-10-11 2010-09-14 Hewlett-Packard Development Company, L.P. Producing representative hashes for segments of a file
KR20090003405A (ko) * 2007-06-08 2009-01-12 엔에이치엔(주) 파일 업로드 시스템 및 방법
WO2010036889A1 (en) * 2008-09-25 2010-04-01 Bakbone Software, Inc. Remote backup and restore
KR20100072992A (ko) * 2008-12-22 2010-07-01 (주)씨엔에스 다수의 클라이언트를 위한 분산 네트워크 스토리지 장치 및그 방법
JP5339432B2 (ja) * 2009-02-25 2013-11-13 日本電気株式会社 ストレージシステム
US20110218973A1 (en) * 2010-03-02 2011-09-08 Renew Data Corp. System and method for creating a de-duplicated data set and preserving metadata for processing the de-duplicated data set
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
JP5623239B2 (ja) * 2010-10-28 2014-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 書込みレコードの重複を排除する記憶装置、及びその書込み方法
CN103547991B (zh) * 2010-12-29 2017-05-17 亚马逊科技公司 数据系统中的接收器侧数据重复删除
JP5708107B2 (ja) * 2011-03-23 2015-04-30 日本電気株式会社 重複ファイル検出装置
US8732140B2 (en) * 2011-05-24 2014-05-20 Red Lambda, Inc. Methods for storing files in a distributed environment
CN102799598A (zh) * 2011-05-25 2012-11-28 英业达股份有限公司 重复数据删除的数据复原方法
CN103457973B (zh) * 2012-06-01 2016-04-27 深圳市腾讯计算机系统有限公司 一种图片上传方法、系统、图片上传客户端及网络服务器
CN103873503A (zh) * 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 数据块备份系统及方法
US9015122B2 (en) * 2012-12-21 2015-04-21 Zetta, Inc. Systems and methods for minimizing network bandwidth for replication/back up
CN103108033B (zh) * 2013-01-09 2015-11-18 广东一一五科技有限公司 文件上传方法及系统
CN103248711B (zh) * 2013-05-23 2016-08-24 华为技术有限公司 一种文件上传的方法和服务器
CN103324552B (zh) * 2013-06-06 2016-01-13 西安交通大学 两阶段单实例去重数据备份方法
CN103561100B (zh) * 2013-11-06 2017-02-01 乐视云计算有限公司 一种云上传方法及系统、调度设备、客户端
CN104156284A (zh) * 2014-08-27 2014-11-19 小米科技有限责任公司 文件备份方法和装置

Also Published As

Publication number Publication date
RU2015114086A (ru) 2016-11-10
EP2990949A1 (en) 2016-03-02
RU2613028C2 (ru) 2017-03-14
CN104156284A (zh) 2014-11-19
JP6211708B2 (ja) 2017-10-11
KR20160034839A (ko) 2016-03-30
WO2016029648A1 (zh) 2016-03-03
MX2015004789A (es) 2016-07-18
JP2016537752A (ja) 2016-12-01
US20160062843A1 (en) 2016-03-03
MX349663B (es) 2017-08-08
EP2990949B1 (en) 2017-08-02
BR112015008299A2 (pt) 2017-07-04

Similar Documents

Publication Publication Date Title
KR101656633B1 (ko) 파일 백업 방법, 장치, 프로그램 및 기록매체
RU2637474C2 (ru) Способ и устройство для управления фоновым приложением и терминальным устройством
RU2635237C2 (ru) Способ и устройство для удаления интеллектуального сценария
WO2017113660A1 (zh) 应用程序管理方法及装置
CN105488112B (zh) 信息推送方法及装置
US20150333971A1 (en) Method and device for managing processes of application program
CN106095465B (zh) 设置身份图像的方法及装置
RU2645282C2 (ru) Способ и устройство для вызова по облачным визиткам
CN105204959A (zh) 恢复ext文件系统中已删除文件的方法及装置
KR20160005670A (ko) 응용 프로그램의 삭제 프롬프팅 방법, 장치, 프로그램 및 기록매체
WO2017177596A1 (zh) 应用的状态信息显示方法及装置
CN105095025B (zh) 恢复ext文件系统中已删除文件的方法及装置
GB2499385A (en) Automated notification of images with changed appearance in common content
US20140380292A1 (en) Method, device, and storage medium for upgrading operating system
CN104636475A (zh) 优化多媒体文件存储空间的方法及装置
US20190028422A1 (en) Message sending method and terminal device
CN107885307B (zh) 设备控制方法及装置
CN105183586A (zh) Ext文件系统的误删除文件恢复方法和装置、智能设备
CN105163141B (zh) 视频推荐的方式及装置
CN105183440B (zh) 管理移动装置上的临时内容的方法及装置
RU2632396C2 (ru) Способ и устройство для управления подключаемым модулем маршрутизатора
US11797218B2 (en) Method and device for detecting slow node and computer-readable storage medium
US9753933B2 (en) Electronic device and method for mounting file system using virtual block device
CN106339470B (zh) 文件处理方法及装置
CN105554080A (zh) 信息推送方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant