CN110175155A - 一种文件去重处理的方法和系统 - Google Patents
一种文件去重处理的方法和系统 Download PDFInfo
- Publication number
- CN110175155A CN110175155A CN201910478173.7A CN201910478173A CN110175155A CN 110175155 A CN110175155 A CN 110175155A CN 201910478173 A CN201910478173 A CN 201910478173A CN 110175155 A CN110175155 A CN 110175155A
- Authority
- CN
- China
- Prior art keywords
- file
- piecemeal
- user
- user file
- destination
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于云储存技术领域,提供一种文件去重处理的方法和系统,包括:读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息摘要值;计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。将文件的去重判断和存储过程分开,减少服务器的计算量,同时使客户端在较少计算量的前提下判断出需要上传存储的非重复文件。
Description
技术领域
本发明属于云储存技术领域,尤指一种文件去重处理的方法和系统。
背景技术
在如今的海量数据时代,世界上的数据信息总量每年都以指数级的速度在增长,如何存储以及管理这些数据对于个人和企业来说都是重大挑战。重复数据删除技术亦称为“去重技术”,在一个云存储系统中必然存在冗余的信息,可能是文件相同或者是块落相同,这些相同的部分对存储空间产生极大的浪费。解决这类问题的一个比较容易想到的思路就是重复的文件部分只保存一份作为元数据,将元数据地址保存在原文件的对应地址中。这样就解决了重复问题,是去重基础的基本原理。
文件级去重技术中对文件进行摘要计算目前是整体文件参与计算。现有技术CN106487937A提供了一种云存储系统文件去重方法及系统,该技术方法通过读取所要上传的文件,计算文件的信息摘要值;将文件的信息摘要值与云存储系统中已存在文件的信息摘要值比较,若云存储系统中存在信息摘要值与文件的信息摘要值相同的文件,则停止对文件的上传。该发明云存储系统文件去重方法及系统,利用文件的信息摘要值,文件的信息摘要值具有唯一性,若云存储系统中存在与所要上传文件的信息摘要值相同的文件,表明云存储系统中已存在该文件数据,则不再上传该文件,从而避免云存储系统中存在重复文件,实现了对云存储系统文件的去重。
在现有技术中,完成对上传文件是否为重复文件的判断总是需要完成对上传文件的所有数据的计算,但实际情况中,往往只需要判断两个文件的部分数据是否相同即可,有时甚至只需要判断两个文件的开头是否相同即可得出结论,这就导致传统的计算方法实际上完成了很多无用的计算。例如,上传文件大小为20G,但从文件前面1K的数据即可判断出两个文件根本不相同,这时传统的文件去重办法会完成20G全文件的摘要值计算,然后再进行比对,这个过程中,完成文件的去重判断实际只需要计算前面1K数据的摘要值已经足够,但是系统却必须等待20G全文件的摘要值计算,然后再进行去重对比。这种计算方式在客户端进行文件比对时,会占用客户端大量资源,造成大量的计算资源浪费,如果全部在服务器端进行文件的对比,同样又会占用服务器的大量计算资源。如何在去重判断时合理分配客户端和服务器端的计算资源,提高去重判断的效率成为问题。
发明内容
本发明提出一种文件去重处理的方法和系统,在用户上传文件时,将上传的文件进行分块,通过预筛选发现可能重复的目标文件,通过在客户端对分块的信息摘要值比对判断上传文件是否为重复文件,一旦判断上传文件不是重复文件,就将文件上传至服务器中,由服务器完成该文件的剩余分块的摘要值计算以及存储,以此来解决对上传文件去重存储时难以合理分配计算资源的问题,影响上传效率的问题。本发明技术方案如下:
本发明提供一种文件去重处理的方法,包括:
读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息摘要值;
计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
在本发明中,将用户上传的文件进行分块处理,计算分块的信息摘要值,从服务器中获取可能与上传文件重复的目标文件。通过将上传文件的每一个分块的摘要值与目标文件依次进行比对,判断上传文件是否为重复文件,在客户端完成去重判断之后,将判断重复的文件上传过程中止。本发明中,将传统的文件上传过程中,完成全部上传文件的摘要值计算后,再判断文件是否重复的过程进行了改进。通过对上传文件进行分块,本发明实现了只判断上传文件的一部分内容来判断重复性,该过程放在客户端完成,由于通过分块减少了发现不重复文件的计算量,提升了客户端的用户体验。
进一步地,在本发明的一种文件去重处理的方法中,所述将所述用户文件进行分块处理包括:
将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,其中第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
在本发明中,还提供了一种对用户文件进行分块的方法,在高效进行重复性比对的同时,实现对用户文件分块数量的控制。先将用户文件根据上述公式分成n段数据,其中每块数据的长度以指数函数依次递增,再根据这n段数据生成n个分块。
进一步地,在本发明的一种文件去重处理的方法中,所述从服务器中获取与所述用户文件相似的目标文件包括:
将所述用户文件的第一分块的信息摘要值上传至所述服务器;
从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值,所述服务器索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
在本发明中,通过提供一种从服务器中获取与用户文件可能相同的目标文件的方法,通过用户文件的第一分块的信息摘要值索引来匹配服务器中可能与用户文件相同的目标文件。
进一步地,在本发明的一种文件去重处理的方法中,所述基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件包括:
依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对;
若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;
若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
通过提供一种客户端对已经完成分块的用户文件进行摘要值比对的方法,以最小的计算资源发现用户文件与目标文件的不同。如果用户文件与目标文件的所有分块经过比对后发现摘要值都是相同的,那么说明用户文件与目标文件完全相同,如果在依次比对的过程中,发现在第i分块的两者的摘要值不同,那么就可以判断两份文件不是重复文件。
进一步地,在本发明的一种文件去重处理的方法中,所述判断所述用户文件与所述目标文件不是重复文件后包括:
将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器;
所述服务器从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算;
所述服务器存储所述用户文件和所述用户文件分块的信息摘要值。
通过提供一种对已经完成前面i个分块的摘要值计算的用户文件存储到服务器中的方法,优化配置服务器和客户端各自的计算任务。由客户端完成的前面i个分块的摘要值计算可以判断用户文件是否为服务器中已经存储的文件,如果不是,客户端将用户文件上传至服务器,服务器完成用户文件的存储,继续对用户文件的剩余分块进行信息摘要值计算,并存储用户文件的所有分块的摘要值。
进一步地,在本发明的一种文件去重处理的系统中,所述客户端包括:
分块模块,读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
传输模块,从服务器中获取可能重复的目标文件以及目标文件分块的信息摘要值;
判断模块,计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
进一步地,在本发明的一种文件去重处理的系统中,所述分块模块还用于,将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
进一步地,在本发明的一种文件去重处理的系统中,所述传输模块还用于,将所述用户文件的第一分块的信息摘要值上传至所述服务器;从所述服务器获取所述目标文件,所述服务器通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
进一步地,在本发明的一种文件去重处理的系统中,所述判断模块包括:
比对子模块,依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对;
所述判断模块还用于,根据所述比对子模块的比对结果判断所述用户文件与所述目标文件是否为重复文件,若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
进一步地,在本发明的一种文件去重处理的系统中,所述客户端中:
传输模块还用于,判断所述用户文件与所述目标文件不是重复文件后,将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器;
所述服务器还包括:
摘要值计算模块,所述服务器接收所述客户端发送的所述用户文件和已经完成计算的所述用户文件分块后,从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算;
存储模块,用于存储所述用户文件和所述用户文件分块的信息摘要值。
本发明通过提供的一种文件去重处理的方法和系统,能够带来以下有益效果:
通过在客户端对用户需要上传的文件进行分块,将文件的去重判断和存储过程分开,使服务器不需要对重复的文件进行摘要值计算和存储,一方面减少服务器的计算量,一方面使客户端在较少计算量的前提下判断出需要上传存储的(不重复的)用户文件。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种文件去重处理的方法和系统的上述技术特征、优点及其实现方式予以进一步的说明。
图1是本发明一种文件去重处理的方法的流程图;
图2本发明一些实施例中获得第k个分块长度lk的方法的示意图;
图3是本发明一些实施例中,文件大小与分块数量关系的示意图;
图4是本发明一些实施例中,一种从服务器中获取与所述用户文件相似的目标文件的方法的流程图;
图5是本发明一些实施例中,判断所述用户文件是否为重复文件的方法的流程图;
图6是本发明一些实施例中,一种文件去重处理的系统的结构示意图
附图标号说明:
100 客户端 110 分块模块
120 传输模块 130 判断模块
131 比对子模块 200 服务器
具体实施方式
为了更清楚地说明本发明中的实施例和现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说讲,在不付出创造性劳动的情况下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
本发明第一实施例。附图1记载了本发明一些实施例中,一种文件去重处理的方法的流程图,所述方法包括:
S100读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
S200从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息摘要值;
S300计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
具体地,在文件级去重技术中对文件进行摘要计算目前是整体文件参与计算,这种计算方式在客户端进行文件比对时,会占用客户端大量资源。在一些实施中,为了尽早确认用户需要上传文件的非重复性,将文件分成若干个分块,依次对分块进行摘要值计算和比对,使摘要值计算与比对同时进行,并且在计算之前加入预筛选来排除部分文件参与计算。S100中用户终端(客户端)读取用户需要上传的文件后对其进行分块处理得到若干个文件分块
在本发明中,将用户上传的文件进行分块处理,计算分块的信息摘要值,从服务器中获取可能与上传文件重复的目标文件。通过将上传文件的每一个分块的摘要值与目标文件依次进行比对,判断上传文件是否为重复文件,在客户端完成去重判断之后,将判断重复的文件上传过程中止。本发明中,将传统的文件上传过程中,完成全部上传文件的摘要值计算后,再判断文件是否重复的过程进行了改进。通过对上传文件进行分块,本发明实现了只判断上传文件的一部分内容来判断重复性,该过程放在客户端完成,由于通过分块减少了发现不重复文件的计算量,提升了客户端的用户体验。
本发明第二实施例。基于第一实施例,本发明一些实施例中提供一种将所述用户文件进行分块处理方法:
将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,其中第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
具体地,将用户文件分成n块,通过基于用户文件第一分块的摘要值索引,预筛选出服务器中可能与用户文件重复的目标文件,使得客户端需要进行比对判断的文件都是与用户文件存在一定相似性的(第一分块内容相同),通过合理地设定第一分块中用户文件数据的位数,使得筛选过程具有一定的区分度,以减少客户端需要对比的文件数量。
在文件级去重技术中,传统的MD5或SHA-1算法都会事先对计算的数据进行分块,其分块方式为以512位为一块大小,最后一块会补0至448位,最后加上64位的长度信息总共构成计算的内容。选取一个字节,即选取8位来进行计算,算法会自动给这8位后面补上440个0。可以发现在算法中这一块仅仅只有8位不同,虽然在算法中这8位会进行滚动的计算而使得最终结果不同,但是这8位相同的概率是极大的。此外后面的440位全部补0,这种补0方式开销是与读取440位的开销是一样的。因此可以说补0是在浪费文件的信息价值。出于上述观点,基于主流摘要算法使用的分块规则特性,本发明采用了448位为文件头部信息的选取方案,通过这448位来确定第一块摘要信息,基于此得出用户文件总分块数n的计算公式。
以第一块的448位为基础,每一块都在前一块的基础上做出增加,这种方式同时也要限制摘要值数量在一定的范围内。本发明中使用指数函数控制每一块在前一块的基础上做出增加的递增速度,在指数函数的基础上对分块过程进行设计,得出中第k个分块长度lk的计算公式,满足了分块大小递增需求和限制摘要值数量的需求。附图2记载了一种获得第k个分块长度lk的方法的示意图,总长度L(比特),分块长度ln。第一块l1确定为448位,之后第二块l2选择取之前相同块的大小,同样448位,第三块l3则同样选择之前已经使用的块的大小为2*448位,第四块同样选取之前已经使用过的大小4*448,依次类推第n块的长度ln为448*2n-2位,最后一块仅计算剩余部分即可,这种分块方法可以计算出文件大小和分块数量的关系,附图3是基于本发明的文件大小与分块数量关系的示意图,可以观察到当文件大小在1KB到50GB之间时,文件最少可以分成6块,最多分成31块。最大最小相差不过25块,可以说已经达到了比较满意的分块效果。
通过结合MD5或SHA-1等摘要算法的设计特征,使得第一块内容在计算摘要信息的时候在没有提升计算资源占用情况下最大程度的保留文件内容,进而减低碰撞率,提升摘要值精确度。
本发明第三实施例。基于第二实施例,附图4示意了在本发明一些实施例中,一种从服务器中获取与所述用户文件相似的目标文件的方法的流程图,包括:
S210将所述用户文件的第一分块的信息摘要值上传至所述服务器;
S220从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值,所述服务器索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
一般来说,可以根据文件名和文件大小等方式在服务器中进行目标文件的初步筛选,但是本申请中,在服务器中也存储了文件的分块信息摘要值,所以可以通过第一分块的信息摘要值作为判断依据,在这个过程中,如果服务器中没有发现与该摘要值相同的其他文件,那么就可以直接判断该文件不是重复文件。如果服务器中发现与该摘要值相同的其他文件,说明这些文件的第一分块与用户文件是相同的,那么就将这些文件作为目标文件,目标文件会发送到客户端进行后续的非重复性判断。
在本发明中,提供一种从服务器中获取与用户文件可能相同的目标文件的方法,通过用户文件的第一分块的信息摘要值索引来匹配服务器中可能与用户文件相同的目标文件。
本发明第四实施例。基于第二实施例,附图5示意了在本发明一些实施例中,一种基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件的方法的流程图,包括:
S310依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对;
S321若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;
S322若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
具体地,在S310中,客户端进行分段计算的过程是文件从第一分块开始,计算一块比对一块。如果每一块都是相同的,那么做出S321的判断,说明用户文件与所述目标文件为重复的文件。一旦出现某一块计算的摘要值不同,即可进入S322,判定为文件重复。
在本发明中,通过提供一种客户端对已经完成分块的用户文件进行摘要值比对的方法,以最小的计算资源发现用户文件与目标文件的不同。本发明中,相比传统的先完成所有文件的摘要值计算,再进行比对的方法,实现了一边计算文件的摘要值,一边进行是否重复的比对,使得对文件重复性判断效率更高,尤其是大体量文件的重复性判断。
本发明第五实施例。基于第四实施例,在本发明一些实施例中,提供一种判断所述用户文件与所述目标文件不是重复文件后进行的步骤包括:
将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器,所述服务器从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算,所述服务器存储所述用户文件和所述用户文件分块的信息摘要值。
具体地,服务器接收到文件和相关数据后继续计算后续的文件分段摘要值,并根据计算结果,将信息完整的补充到数据库当中。由客户端完成的前面i个分块的摘要值计算可以判断用户文件是否为服务器中已经存储的文件,如果不是,客户端将用户文件上传至服务器,服务器完成用户文件的存储,继续对用户文件的剩余分块进行信息摘要值计算,并存储用户文件的所有分块的摘要值。通过这种在客户端进行重复性验证,在服务端进行数据完整性补充的方式。客户端服务端优势相结合,相较传统的去重方式,极大程度上避免了I/O资源浪费,避免了服务端存储资源浪费,同时也提升了客户端的资源利用率并给予了用户更好的体验。
本发明第六实施例。附图6记载了本发明一些实施例中,一种文件去重处理的系统的结构示意图,系统包括:
客户端100,与服务器200交互,进行用户文件的分块处理和去重判断;
服务器200,与客户端100交互,预筛选与用户文件可能重复的目标文件,以及存储不重复的用户文件;
客户端100包括:
分块模块110,读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
传输模块120,从服务器200中获取可能重复的目标文件以及目标文件分块的信息摘要值;
判断模块130,计算分块模块110中得到的用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
其中,分块模块110还用于将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
传输模块120还用于,将用户文件的n个分块中第一分块的信息摘要值上传至所述服务器200;从所述服务器200获取所述目标文件,所述服务器200通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
判断模块130包括:
比对子模块131,依次将所述用户文件与所述传输模块120获得的目标文件的每一个分块的信息摘要值进行比对;
判断模块130还用于,根据所述比对子模块131的比对结果判断所述用户文件与所述目标文件是否为重复文件,若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
在客户端100中,传输模块120还用于,判断所述用户文件与所述目标文件不是重复文件后,将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器,服务器接收客户端100发送的用户文件的第一分块的信息摘要值后,通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件后,从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算,存储所述用户文件和所述用户文件分块的信息摘要值。
具体地,本发明第六实施例为上述第一实施例至第五实施例所记载的方法实施例进行组合后得到的系统实施例,其技术特征和技术效果与上述第一实施例至第五实施例所记载的方法实施例相同,在此不一一赘述。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种文件去重处理的方法,其特征在于,包括:
读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息摘要值;
计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
2.根据权利要求1所述的一种文件去重处理的方法,其特征在于,所述将所述用户文件进行分块处理包括:
将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,其中第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
3.根据权利要求2所述的一种文件去重处理的方法,其特征在于,所述从服务器中获取与所述用户文件相似的目标文件包括:
将所述用户文件的第一分块的信息摘要值上传至所述服务器;
从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值,所述服务器索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
4.根据权利要求2所述的一种文件去重处理的方法,其特征在于,所述基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件包括:
依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对;
若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;
若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
5.根据权利要求4所述的一种文件去重处理的方法,其特征在于,所述判断所述用户文件与所述目标文件不是重复文件后包括:
将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器,所述服务器从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算,并存储所述用户文件和所述用户文件分块的信息摘要值。
6.一种文件去重处理的系统,包括客户端和服务器,其特征在于,所述客户端包括:
分块模块,读取需要上传的用户文件,将所述用户文件进行分块处理,获取用户文件分块;
传输模块,从服务器中获取可能重复的目标文件以及目标文件分块的信息摘要值;
判断模块,计算所述用户文件分块的信息摘要值,并基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果,判断所述用户文件与所述目标文件是否为重复文件。
7.根据权利要求6所述的一种文件去重处理的系统,其特征在于,所述分块模块还用于,
将所述用户文件分成n块,n满足公式
所述用户文件分成n块时,第k块的长度lk满足公式
n为所述用户文件所分成的块数;L为所述用户文件的总位数;k为所述用户文件所分成的第k块;lk为所述用户文件所分成的第k块的长度。
8.根据权利要求7所述的一种文件去重处理的系统,其特征在于,所述传输模块还用于:
将所述用户文件的第一分块的信息摘要值上传至所述服务器;从所述服务器获取所述目标文件,所述服务器通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。
9.根据权利要求7所述的一种文件去重处理的系统,其特征在于,所述判断模块包括:
比对子模块,依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对;
所述判断模块还用于,根据所述比对子模块的比对结果判断所述用户文件与所述目标文件是否为重复文件,若所有分块的信息摘要值都是相同的,则判断所述用户文件与所述目标文件为重复的文件;若依次比对到第i分块时,所述用户文件与所述目标文件的第i分块的信息摘要值不同,则判断所述用户文件与所述目标文件不是重复文件。
10.根据权利要求9所述的一种文件去重处理的系统,其特征在于,所述客户端中:
传输模块还用于,判断所述用户文件与所述目标文件不是重复文件后,将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器,所述服务器接收所述客户端发送的所述用户文件和已经完成计算的所述用户文件分块后,从第i+1个分块开始,继续对所述用户文件分块进行信息摘要值的计算,存储所述用户文件和所述用户文件分块的信息摘要值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478173.7A CN110175155B (zh) | 2019-06-03 | 2019-06-03 | 一种文件去重处理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478173.7A CN110175155B (zh) | 2019-06-03 | 2019-06-03 | 一种文件去重处理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175155A true CN110175155A (zh) | 2019-08-27 |
CN110175155B CN110175155B (zh) | 2023-06-13 |
Family
ID=67697625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478173.7A Active CN110175155B (zh) | 2019-06-03 | 2019-06-03 | 一种文件去重处理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175155B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673850A (zh) * | 2019-08-28 | 2020-01-10 | 五八有限公司 | 一种获取静态库的大小的方法及装置 |
CN111506268A (zh) * | 2020-04-17 | 2020-08-07 | 北京百度网讯科技有限公司 | 代码文件存储方法、装置和电子设备 |
CN115632881A (zh) * | 2022-12-07 | 2023-01-20 | 深圳市亲邻科技有限公司 | 社区服务系统架构及社区服务数据保存方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868305A (zh) * | 2016-03-25 | 2016-08-17 | 西安电子科技大学 | 一种支持模糊匹配的云存储数据去重复方法 |
CN106487937A (zh) * | 2016-12-30 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种云存储系统文件去重方法及系统 |
US20170068459A1 (en) * | 2015-09-09 | 2017-03-09 | International Business Machines Corporation | Deduplicating chunk digests received for chunks in objects provided by clients to store |
CN106599320A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种文件信息摘要值计算方法及装置 |
CN107623710A (zh) * | 2016-07-15 | 2018-01-23 | 深圳市斑点猫信息技术有限公司 | 一种文件上传方法及终端 |
-
2019
- 2019-06-03 CN CN201910478173.7A patent/CN110175155B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170068459A1 (en) * | 2015-09-09 | 2017-03-09 | International Business Machines Corporation | Deduplicating chunk digests received for chunks in objects provided by clients to store |
CN105868305A (zh) * | 2016-03-25 | 2016-08-17 | 西安电子科技大学 | 一种支持模糊匹配的云存储数据去重复方法 |
CN107623710A (zh) * | 2016-07-15 | 2018-01-23 | 深圳市斑点猫信息技术有限公司 | 一种文件上传方法及终端 |
CN106487937A (zh) * | 2016-12-30 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种云存储系统文件去重方法及系统 |
CN106599320A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种文件信息摘要值计算方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673850A (zh) * | 2019-08-28 | 2020-01-10 | 五八有限公司 | 一种获取静态库的大小的方法及装置 |
CN111506268A (zh) * | 2020-04-17 | 2020-08-07 | 北京百度网讯科技有限公司 | 代码文件存储方法、装置和电子设备 |
CN115632881A (zh) * | 2022-12-07 | 2023-01-20 | 深圳市亲邻科技有限公司 | 社区服务系统架构及社区服务数据保存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110175155B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488684B (zh) | 基于缓存数据多线程处理的电力可靠性指标快速计算方法 | |
CN110175155A (zh) | 一种文件去重处理的方法和系统 | |
CN102332029B (zh) | 一种基于Hadoop 的海量可归类小文件关联存储方法 | |
CN103902702B (zh) | 一种数据存储系统和存储方法 | |
US11522673B2 (en) | Method and device for blockchain full sharding based on a P2P storage network and a multi-layer architecture | |
CN109416694A (zh) | 包括资源有效索引的键值存储系统 | |
CN107040582A (zh) | 一种数据处理方法及装置 | |
CN108805267A (zh) | 用于卷积神经网络硬件加速的数据处理方法 | |
CN105183557B (zh) | 一种基于硬件的可配置的数据压缩系统 | |
CN103902701B (zh) | 一种数据存储系统和存储方法 | |
CN108805274A (zh) | 基于FPGA的Tiny-yolo卷积神经网络硬件加速方法及系统 | |
CN102169491B (zh) | 一种多数据集中重复记录动态检测方法 | |
CN106611035A (zh) | 一种云存储中重复数据删除的检索算法 | |
CN107273213A (zh) | 一种计算控制方法、网卡及电子设备 | |
CN112100233B (zh) | 基于禁忌搜索算法的航班时刻衔接方法及系统 | |
CN105488176A (zh) | 数据处理方法和装置 | |
CN108200112A (zh) | 分布式存储方法及系统 | |
CN107391402A (zh) | 一种数据运算方法、装置及一种数据运算卡 | |
CN113946294A (zh) | 一种分布式储存系统及其数据处理方法 | |
CN107992577A (zh) | 一种哈希表数据冲突处理方法及装置 | |
CN116795875A (zh) | 数据处理系统、方法及存储介质 | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
CN103049263A (zh) | 一种基于相似性的文件分类方法 | |
CN107423321A (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN104809256A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |