CN111309689A - 文件查重方法及装置 - Google Patents
文件查重方法及装置 Download PDFInfo
- Publication number
- CN111309689A CN111309689A CN201811515721.0A CN201811515721A CN111309689A CN 111309689 A CN111309689 A CN 111309689A CN 201811515721 A CN201811515721 A CN 201811515721A CN 111309689 A CN111309689 A CN 111309689A
- Authority
- CN
- China
- Prior art keywords
- file
- files
- group
- sampling
- preset
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提出文件查重方法及装置。方法包括:扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库;根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中;对于每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算;将每个文件组中加密计算结果相同的文件判定为重复文件。本发明实施例实现了对设备本地存储文件的查重。
Description
技术领域
本发明涉及文件管理技术领域,尤其涉及文件查重方法及装置、非瞬时计算机可读存储介质和电子设备。
背景技术
在客户端-服务器架构中,经常需要将数据从客户端上传到服务器,为了减少服务器的存储负担,尤其在客户端数量众多的情形下,在客户端上传数据前,通常需要对文件进行查重处理,若发现该文件在服务器上已经存在,则不再上传。
现有的查重算法如下:客户端采用预设算法计算待上传文件的唯一码,将该唯一码提供给服务器,服务器在保存每个文件时会采用相同的算法计算文件的唯一码,服务器收到客户端发来的唯一码后,将该唯一码与自身保存的各文件的唯一码比对,若发现有相同的,则确定文件重复,则通知客户端,客户端不再上传该文件。
发明内容
本发明实施例提出文件查重方法及装置、非瞬时计算机可读存储介质和电子设备,以实现对设备本地存储文件的查重。
本发明实施例的技术方案是这样实现的:
一种文件查重方法,该方法包括:
扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库;
根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中;
对于每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算;
将每个文件组中加密计算结果相同的文件判定为重复文件。
所述按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内所有文件的文件大小都大于预设采样文件大小的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
所述认为该文件组的该多个文件重复之后进一步包括:
将该文件组的该多个文件作为一个重复文件组,将该重复文件组内的各文件的文件名和文件存储路径提供给客户端;
接收到客户端发来的指示删除一个或多个重复文件的指令,删除对应的一个或多个重复文件。
所述对于每个文件组按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内文件数大于1的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
所述加密算法为信息摘要MD5算法。
一种文件查重装置,该装置包括:
扫描模块,扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库;
文件组划分模块,根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中;
查重模块,对于文件组划分模块划分得到的每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算,将该文件组内加密计算结果相同的文件判定为重复文件。
所述查重模块按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内所有文件的文件大小都大于预设采样文件大小的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
所述查重模块认为该文件组的该多个文件重复之后进一步包括:
将该文件组的该多个文件作为一个重复文件组,将该重复文件组内的各文件的文件名和文件存储路径提供给客户端;接收到客户端发来的指示删除一个或多个重复文件的指令,删除对应的一个或多个重复文件。
所述文件组划分模块将大小相同的文件划分到一个文件组中包括:
对于组内文件数大于1的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
所述查重模块按照预设加密算法对每个文件的采样数据分别进行加密计算包括:
按照预设信息摘要MD5算法对每个文件的采样数据分别进行加密计算。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的文件查重方法的步骤。
一种电子设备,包括如上所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
本发明实施例首先将设备本地存储的所有文件中大小相同的文件划分到一个文件组中,对每个文件组中的文件分别进行采样,对每个文件的采样数据分别进行加密计算,将文件组内加密计算结果相同的文件判定为重复文件,从而实现了对设备本地存储文件的查重。
附图说明
图1为本发明一实施例提供的文件查重方法流程图;
图2为本发明另一实施例提供的文件查重方法流程图;
图3为本发明实施例提供的文件查重装置的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
发明人对现有的文件查重方法进行分析发现:
现有的文件查重算法都是针对客户端上传数据过程的,但是没有考虑到:服务器端存储的大量文件数据也有重复的可能。
图1为本发明一实施例提供的文件查重方法流程图,其具体步骤如下:
步骤101:扫描设备本地磁盘上存储的各文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库。
步骤102:设备根据文件信息数据库中记录的各文件的文件大小,将大小相同的文件划分到一个文件组中。
步骤103:对于每个文件组,设备按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算。
步骤104:将文件组内加密计算结果相同的文件判定为重复文件。
图2为本发明另一实施例提供的文件查重方法流程图,其具体步骤如下:
步骤201:设备启动后,扫描设备本地磁盘上存储的各文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库。
设备本地磁盘上存储的文件可能来自于客户端上传的文件,或者来自外接存储介质导入的文件,或者是本地磁盘的固有文件。
步骤202:扫描完毕,设备根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中。
相同文件的文件大小肯定相同,因此,先将大小相同的文件划分为一组。
步骤203:对于所有文件组,设备删除组内文件数等于1的文件组。
文件组内只有一个文件,必然不存在重复文件。
步骤204:对于剩余的每个文件组,设备判断该文件组内每个文件的文件大小是否大于预设采样文件大小,若是,执行步骤205;否则,执行步骤206。
预设采样文件大小可根据经验等设定,例如设定为64M比特。
步骤205:设备按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,对每个文件的采样数据分别进行MD(Message-Digest,信息摘要)5计算,将MD5计算结果相同的文件判定为重复文件,将所有重复文件的文件名和存储路径作为一个重复文件组放入临时数据库中,转至步骤207。
采样频率指的是对一个文件的采样次数,采样长度指的是每次采样的数据的长度。
也就是说,对每个文件的采样频率和采样长度是相同的,这样对每个文件来说,最终得到的采样数据的长度是相同的。也就是说,文件越大,相邻两次采样的间隔越大。
例如:预设采样频率为64次,采样长度为1M比特,则:
文件A的大小为256M比特,则采样间隔为256/64=4M比特,即每隔4M比特数据采样一次,每次采样1M比特的数据;
文件B的大小为512M比特,则采样间隔为512/64=8M比特,即每隔8M比特数据采样一次,每次采样1M比特的数据。
步骤206:设备对该文件组内的每个文件的所有数据分别进行MD5计算,将MD5计算结果相同的文件判定为重复文件,将所有重复文件的文件名和存储路径作为一个重复文件组放入临时数据库中。
步骤207:设备将临时数据库的存储路径提供给客户端,客户端从临时数据库读取各重复文件组信息。
步骤208:客户端获取到一个重复文件组信息后,根据该重复文件组中各文件的文件名和文件存储路径,下载各文件,然后将各文件提供给用户,用户打开各文件后,决定删除哪个文件,然后将指示删除一个或多个重复文件的指令通过客户端发送给设备,该指令携带需要删除的一个或多个重复文件的文件名和存储路径。
步骤209:设备接收客户端发来的指示删除一个或多个重复文件的指令,根据该指令携带的需要删除的一个或多个重复文件的文件名和存储路径,查找到对应的文件,删除查找到的文件。
本发明实施例中的设备如:服务器等。
图3为本发明实施例提供的文件查重装置的结构示意图,该装置主要包括:扫描模块、文件组划分模块和查重模块,其中:
扫描模块,扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库。
文件组划分模块,根据扫描模块的文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中。
查重模块,对于文件组划分模块划分得到的每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算,将文件组内加密计算结果相同的文件判定为重复文件。
一可选实施例中,查重模块按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内所有文件的文件大小都大于预设采样文件大小的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
一可选实施例中,查重模块将该文件组内加密计算结果相同的文件判定为重复文件之后进一步包括:
将该文件组的所有重复文件的文件名和文件存储路径提供给客户端;接收到客户端发来的指示删除一个或多个重复文件的指令,删除对应的一个或多个重复文件。
一可选实施例中,查重模块对于每个文件组按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内文件数大于1的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
一可选实施例中,查重模块按照预设加密算法对每个文件的采样数据分别进行加密计算包括:
按照预设MD5算法对每个文件的采样数据分别进行加密计算。
本发明实施例还提供一种非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质存储指令,该指令在由处理器执行时使得该处理器执行如步骤101-104,或者如步骤201-208任一项所述的文件查重方法的步骤。
本发明实施例还提供一种电子设备,包括如上所述的非瞬时计算机可读存储介质、以及可访问该非瞬时计算机可读存储介质的处理器。
本发明实施例的有益效果如下:
通过将设备本地存储的所有文件中大小相同的文件划分到一个文件组中,对每个文件组中的文件分别进行采样,对每个文件的采样数据分别进行加密计算,将文件组内加密计算结果相同的文件判定为重复文件,从而实现了对设备本地存储文件的查重。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种文件查重方法,其特征在于,该方法包括:
扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库;
根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中;
对于每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算;
将每个文件组中加密计算结果相同的文件判定为重复文件。
2.根据权利要求1所述的方法,其特征在于,所述按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内所有文件的文件大小都大于预设采样文件大小的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
3.根据权利要求1所述的方法,其特征在于,所述将每个文件组中加密计算结果相同的文件判定为重复文件之后进一步包括:
将该文件组的所有重复文件的文件名和文件存储路径提供给客户端;
接收到客户端发来的指示删除一个或多个重复文件的指令,删除对应的一个或多个重复文件。
4.根据权利要求1所述的方法,其特征在于,所述对于每个文件组按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内文件数大于1的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
5.根据权利要求1所述的方法,其特征在于,所述加密算法为信息摘要MD5算法。
6.一种文件查重装置,其特征在于,该装置包括:
扫描模块,扫描设备本地磁盘上存储的所有文件,将每个文件的文件名、文件存储路径和文件大小记录到文件信息数据库;
文件组划分模块,根据文件信息数据库记录的各文件的文件大小,将大小相同的文件划分到一个文件组中;
查重模块,对于文件组划分模块划分得到的每个文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样,按照预设加密算法对每个文件的采样数据分别进行加密计算,将该文件组内加密计算结果相同的文件判定为重复文件。
7.根据权利要求6所述的装置,其特征在于,所述查重模块按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内所有文件的文件大小都大于预设采样文件大小的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
8.根据权利要求6所述的装置,其特征在于,所述查重模块将该文件组内加密计算结果相同的文件判定为重复文件之后进一步包括:
将该文件组的所有重复文件的文件名和文件存储路径提供给客户端;接收到客户端发来的指示删除一个或多个重复文件的指令,删除对应的一个或多个重复文件。
9.根据权利要求6所述的装置,其特征在于,所述查重模块对于每个文件组按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样包括:
对于组内文件数大于1的文件组,按照预设采样频率和采样长度对该文件组内的每个文件分别进行采样。
10.根据权利要求6所述的装置,其特征在于,所述查重模块按照预设加密算法对每个文件的采样数据分别进行加密计算包括:
按照预设信息摘要MD5算法对每个文件的采样数据分别进行加密计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515721.0A CN111309689A (zh) | 2018-12-12 | 2018-12-12 | 文件查重方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515721.0A CN111309689A (zh) | 2018-12-12 | 2018-12-12 | 文件查重方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111309689A true CN111309689A (zh) | 2020-06-19 |
Family
ID=71144777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811515721.0A Pending CN111309689A (zh) | 2018-12-12 | 2018-12-12 | 文件查重方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309689A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199117A (zh) * | 2020-09-23 | 2021-01-08 | 建信金融科技有限责任公司 | 一种重复代码处理方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079034A (zh) * | 2006-07-10 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 消除文件存储系统中冗余文件的系统及方法 |
CN106599320A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种文件信息摘要值计算方法及装置 |
CN106649717A (zh) * | 2016-12-21 | 2017-05-10 | 深圳市易特科信息技术有限公司 | 基于哈希值的医疗文件冗余处理系统及方法 |
CN107306274A (zh) * | 2016-04-18 | 2017-10-31 | 北京市神州百戏文化产业有限公司 | 基于数字摘要的重复数据删除方法 |
-
2018
- 2018-12-12 CN CN201811515721.0A patent/CN111309689A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079034A (zh) * | 2006-07-10 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 消除文件存储系统中冗余文件的系统及方法 |
CN107306274A (zh) * | 2016-04-18 | 2017-10-31 | 北京市神州百戏文化产业有限公司 | 基于数字摘要的重复数据删除方法 |
CN106649717A (zh) * | 2016-12-21 | 2017-05-10 | 深圳市易特科信息技术有限公司 | 基于哈希值的医疗文件冗余处理系统及方法 |
CN106599320A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种文件信息摘要值计算方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199117A (zh) * | 2020-09-23 | 2021-01-08 | 建信金融科技有限责任公司 | 一种重复代码处理方法、装置、电子设备和存储介质 |
CN112199117B (zh) * | 2020-09-23 | 2023-06-02 | 建信金融科技有限责任公司 | 一种重复代码处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Scanlon | Battling the digital forensic backlog through data deduplication | |
US9792340B2 (en) | Identifying data items | |
CN102483731B (zh) | 具有根据搜索负荷被均衡的指纹数据库的媒体识别系统 | |
US8447801B1 (en) | Content sharing with limited cloud storage | |
CN103414759B (zh) | 网盘文件传输方法和装置 | |
US20240022648A1 (en) | Systems and methods for data deduplication by generating similarity metrics using sketch computation | |
US10339124B2 (en) | Data fingerprint strengthening | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
TW201423426A (zh) | 資料分塊上傳與儲存系統及方法 | |
EP2626819A1 (en) | Method and system for documentation of digital archives | |
CN103823807B (zh) | 一种去除重复数据的方法、装置及系统 | |
CN106649721B (zh) | 一种文件排重方法和装置 | |
CN106990914B (zh) | 数据删除方法及装置 | |
US20180107404A1 (en) | Garbage collection system and process | |
WO2016024172A1 (en) | Method of and a system for matching audio tracks using chromaprints with a fast candidate selection routine | |
Moia et al. | Similarity digest search: A survey and comparative analysis of strategies to perform known file filtering using approximate matching | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
WO2016024171A1 (en) | Method of and a system for indexing audio tracks using chromaprints | |
CN111309689A (zh) | 文件查重方法及装置 | |
Du et al. | Deduplicated disk image evidence acquisition and forensically-sound reconstruction | |
CN104023070A (zh) | 基于云存储的文件压缩方法 | |
CN107665224B (zh) | 扫描hdfs冷数据的方法、系统和装置 | |
CN111787074A (zh) | 一种文件同步方法及终端 | |
CN112148920A (zh) | 数据管理方法 | |
CN110737635A (zh) | 一种数据分块方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |