文件去重处理的方法和系统.pdf

上传人:奶盖 文档编号:11315809 上传时间:2021-09-17 格式:PDF 页数:14 大小:632.14KB
收藏 版权申诉 举报 下载
文件去重处理的方法和系统.pdf_第1页
第1页 / 共14页
文件去重处理的方法和系统.pdf_第2页
第2页 / 共14页
文件去重处理的方法和系统.pdf_第3页
第3页 / 共14页
文档描述:

《文件去重处理的方法和系统.pdf》由会员分享,可在线阅读,更多相关《文件去重处理的方法和系统.pdf(14页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910478173.7 (22)申请日 2019.06.03 (71)申请人 武汉纺织大学 地址 430200 湖北省武汉市洪山区纺织路1 号 (72)发明人 史爱武李险贵张煜黄奇凡 尹杰罗良杰 (74)专利代理机构 上海硕力知识产权代理事务 所(普通合伙) 31251 代理人 郭桂峰 (51)Int.Cl. G06F 16/174(2019.01) (54)发明名称 一种文件去重处理的方法和系统 (57)摘要 本发明属于云储存技术领域, 提供一种文件 去重处理的方法和系统。

2、, 包括: 读取需要上传的 用户文件, 将所述用户文件进行分块处理, 获取 用户文件分块; 从服务器中获取与所述用户文件 相似的目标文件以及目标文件分块的信息摘要 值; 计算所述用户文件分块的信息摘要值, 并基 于所述用户文件分块与所述目标文件分块的信 息摘要值的比对结果, 判断所述用户文件与所述 目标文件是否为重复文件。 将文件的去重判断和 存储过程分开, 减少服务器的计算量, 同时使客 户端在较少计算量的前提下判断出需要上传存 储的非重复文件。 权利要求书2页 说明书9页 附图2页 CN 110175155 A 2019.08.27 CN 110175155 A 1.一种文件去重处理的方法。

3、, 其特征在于, 包括: 读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用户文件分块; 从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息摘要值; 计算所述用户文件分块的信息摘要值, 并基于所述用户文件分块与所述目标文件分块 的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为重复文件。 2.根据权利要求1所述的一种文件去重处理的方法, 其特征在于, 所述将所述用户文件 进行分块处理包括: 将所述用户文件分成n块, n满足公式 所述用户文件分成n块时, 其中第k块的长度lk满足公式 n为所述用户文件所分成的块数; L为所述用户文件的总位数; k为所述用户文。

4、件所分成 的第k块; lk为所述用户文件所分成的第k块的长度。 3.根据权利要求2所述的一种文件去重处理的方法, 其特征在于, 所述从服务器中获取 与所述用户文件相似的目标文件包括: 将所述用户文件的第一分块的信息摘要值上传至所述服务器; 从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值, 所述服务器 索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。 4.根据权利要求2所述的一种文件去重处理的方法, 其特征在于, 所述基于所述用户文 件分块与所述目标文件分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件 是否为重复文件包括: 依次将所述用户文件与所述。

5、目标文件的每一个分块的信息摘要值进行比对; 若所有分块的信息摘要值都是相同的, 则判断所述用户文件与所述目标文件为重复的 文件; 若依次比对到第i分块时, 所述用户文件与所述目标文件的第i分块的信息摘要值不 同, 则判断所述用户文件与所述目标文件不是重复文件。 5.根据权利要求4所述的一种文件去重处理的方法, 其特征在于, 所述判断所述用户文 件与所述目标文件不是重复文件后包括: 将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器, 所述服务器从第i+1个分块开始, 继续对所述用户文件分块进行信息摘要值的计算, 并存储 所述用户文件和所述用户文件分块的信息摘要值。 6.一。

6、种文件去重处理的系统, 包括客户端和服务器, 其特征在于, 所述客户端包括: 分块模块, 读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用户文件分 块; 传输模块, 从服务器中获取可能重复的目标文件以及目标文件分块的信息摘要值; 权利要求书 1/2 页 2 CN 110175155 A 2 判断模块, 计算所述用户文件分块的信息摘要值, 并基于所述用户文件分块与所述目 标文件分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为重复文 件。 7.根据权利要求6所述的一种文件去重处理的系统, 其特征在于, 所述分块模块还用 于, 将所述用户文件分成n块, n满足公式 所。

7、述用户文件分成n块时, 第k块的长度lk满足公式 n为所述用户文件所分成的块数; L为所述用户文件的总位数; k为所述用户文件所分成 的第k块; lk为所述用户文件所分成的第k块的长度。 8.根据权利要求7所述的一种文件去重处理的系统, 其特征在于, 所述传输模块还用 于: 将所述用户文件的第一分块的信息摘要值上传至所述服务器; 从所述服务器获取所述 目标文件, 所述服务器通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件 为所述目标文件。 9.根据权利要求7所述的一种文件去重处理的系统, 其特征在于, 所述判断模块包括: 比对子模块, 依次将所述用户文件与所述目标文件的每一个分块的信。

8、息摘要值进行比 对; 所述判断模块还用于, 根据所述比对子模块的比对结果判断所述用户文件与所述目标 文件是否为重复文件, 若所有分块的信息摘要值都是相同的, 则判断所述用户文件与所述 目标文件为重复的文件; 若依次比对到第i分块时, 所述用户文件与所述目标文件的第i分 块的信息摘要值不同, 则判断所述用户文件与所述目标文件不是重复文件。 10.根据权利要求9所述的一种文件去重处理的系统, 其特征在于, 所述客户端中: 传输模块还用于, 判断所述用户文件与所述目标文件不是重复文件后, 将所述用户文 件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器, 所述服务器接收所 述客户端发送的所。

9、述用户文件和已经完成计算的所述用户文件分块后, 从第i+1个分块开 始, 继续对所述用户文件分块进行信息摘要值的计算, 存储所述用户文件和所述用户文件 分块的信息摘要值。 权利要求书 2/2 页 3 CN 110175155 A 3 一种文件去重处理的方法和系统 技术领域 0001 本发明属于云储存技术领域, 尤指一种文件去重处理的方法和系统。 背景技术 0002 在如今的海量数据时代, 世界上的数据信息总量每年都以指数级的速度在增长, 如何存储以及管理这些数据对于个人和企业来说都是重大挑战。 重复数据删除技术亦称为 “去重技术” , 在一个云存储系统中必然存在冗余的信息, 可能是文件相同或者。

10、是块落相同, 这些相同的部分对存储空间产生极大的浪费。 解决这类问题的一个比较容易想到的思路就 是重复的文件部分只保存一份作为元数据, 将元数据地址保存在原文件的对应地址中。 这 样就解决了重复问题, 是去重基础的基本原理。 0003 文件级去重技术中对文件进行摘要计算目前是整体文件参与计算。 现有技术 CN106487937A提供了一种云存储系统文件去重方法及系统, 该技术方法通过读取所要上传 的文件, 计算文件的信息摘要值; 将文件的信息摘要值与云存储系统中已存在文件的信息 摘要值比较, 若云存储系统中存在信息摘要值与文件的信息摘要值相同的文件, 则停止对 文件的上传。 该发明云存储系统文。

11、件去重方法及系统, 利用文件的信息摘要值, 文件的信息 摘要值具有唯一性, 若云存储系统中存在与所要上传文件的信息摘要值相同的文件, 表明 云存储系统中已存在该文件数据, 则不再上传该文件, 从而避免云存储系统中存在重复文 件, 实现了对云存储系统文件的去重。 0004 在现有技术中, 完成对上传文件是否为重复文件的判断总是需要完成对上传文件 的所有数据的计算, 但实际情况中, 往往只需要判断两个文件的部分数据是否相同即可, 有 时甚至只需要判断两个文件的开头是否相同即可得出结论, 这就导致传统的计算方法实际 上完成了很多无用的计算。 例如, 上传文件大小为20G, 但从文件前面1K的数据即可。

12、判断出 两个文件根本不相同, 这时传统的文件去重办法会完成20G全文件的摘要值计算, 然后再进 行比对, 这个过程中, 完成文件的去重判断实际只需要计算前面1K数据的摘要值已经足够, 但是系统却必须等待20G全文件的摘要值计算, 然后再进行去重对比。 这种计算方式在客户 端进行文件比对时, 会占用客户端大量资源, 造成大量的计算资源浪费, 如果全部在服务器 端进行文件的对比, 同样又会占用服务器的大量计算资源。 如何在去重判断时合理分配客 户端和服务器端的计算资源, 提高去重判断的效率成为问题。 发明内容 0005 本发明提出一种文件去重处理的方法和系统, 在用户上传文件时, 将上传的文件 进。

13、行分块, 通过预筛选发现可能重复的目标文件, 通过在客户端对分块的信息摘要值比对 判断上传文件是否为重复文件, 一旦判断上传文件不是重复文件, 就将文件上传至服务器 中, 由服务器完成该文件的剩余分块的摘要值计算以及存储, 以此来解决对上传文件去重 存储时难以合理分配计算资源的问题, 影响上传效率的问题。 本发明技术方案如下: 0006 本发明提供一种文件去重处理的方法, 包括: 说明书 1/9 页 4 CN 110175155 A 4 0007 读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用户文件分块; 0008 从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信。

14、息摘要 值; 0009 计算所述用户文件分块的信息摘要值, 并基于所述用户文件分块与所述目标文件 分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为重复文件。 0010 在本发明中, 将用户上传的文件进行分块处理, 计算分块的信息摘要值, 从服务器 中获取可能与上传文件重复的目标文件。 通过将上传文件的每一个分块的摘要值与目标文 件依次进行比对, 判断上传文件是否为重复文件, 在客户端完成去重判断之后, 将判断重复 的文件上传过程中止。 本发明中, 将传统的文件上传过程中, 完成全部上传文件的摘要值计 算后, 再判断文件是否重复的过程进行了改进。 通过对上传文件进行分块, 本发。

15、明实现了只 判断上传文件的一部分内容来判断重复性, 该过程放在客户端完成, 由于通过分块减少了 发现不重复文件的计算量, 提升了客户端的用户体验。 0011 进一步地, 在本发明的一种文件去重处理的方法中, 所述将所述用户文件进行分 块处理包括: 0012 将所述用户文件分成n块, n满足公式 0013 0014 所述用户文件分成n块时, 其中第k块的长度lk满足公式 0015 0016 n为所述用户文件所分成的块数; L为所述用户文件的总位数; k为所述用户文件所 分成的第k块; lk为所述用户文件所分成的第k块的长度。 0017 在本发明中, 还提供了一种对用户文件进行分块的方法, 在高效。

16、进行重复性比对 的同时, 实现对用户文件分块数量的控制。 先将用户文件根据上述公式分成n段数据, 其中 每块数据的长度以指数函数依次递增, 再根据这n段数据生成n个分块。 0018 进一步地, 在本发明的一种文件去重处理的方法中, 所述从服务器中获取与所述 用户文件相似的目标文件包括: 0019 将所述用户文件的第一分块的信息摘要值上传至所述服务器; 0020 从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值, 所述服 务器索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。 0021 在本发明中, 通过提供一种从服务器中获取与用户文件可能相同的目标文件的方 法,。

17、 通过用户文件的第一分块的信息摘要值索引来匹配服务器中可能与用户文件相同的目 标文件。 0022 进一步地, 在本发明的一种文件去重处理的方法中, 所述基于所述用户文件分块 与所述目标文件分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为 重复文件包括: 0023 依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对; 说明书 2/9 页 5 CN 110175155 A 5 0024 若所有分块的信息摘要值都是相同的, 则判断所述用户文件与所述目标文件为重 复的文件; 0025 若依次比对到第i分块时, 所述用户文件与所述目标文件的第i分块的信息摘要值 不同, 则。

18、判断所述用户文件与所述目标文件不是重复文件。 0026 通过提供一种客户端对已经完成分块的用户文件进行摘要值比对的方法, 以最小 的计算资源发现用户文件与目标文件的不同。 如果用户文件与目标文件的所有分块经过比 对后发现摘要值都是相同的, 那么说明用户文件与目标文件完全相同, 如果在依次比对的 过程中, 发现在第i分块的两者的摘要值不同, 那么就可以判断两份文件不是重复文件。 0027 进一步地, 在本发明的一种文件去重处理的方法中, 所述判断所述用户文件与所 述目标文件不是重复文件后包括: 0028 将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服 务器; 0029 所述。

19、服务器从第i+1个分块开始, 继续对所述用户文件分块进行信息摘要值的计 算; 0030 所述服务器存储所述用户文件和所述用户文件分块的信息摘要值。 0031 通过提供一种对已经完成前面i个分块的摘要值计算的用户文件存储到服务器中 的方法, 优化配置服务器和客户端各自的计算任务。 由客户端完成的前面i个分块的摘要值 计算可以判断用户文件是否为服务器中已经存储的文件, 如果不是, 客户端将用户文件上 传至服务器, 服务器完成用户文件的存储, 继续对用户文件的剩余分块进行信息摘要值计 算, 并存储用户文件的所有分块的摘要值。 0032 进一步地, 在本发明的一种文件去重处理的系统中, 所述客户端包括。

20、: 0033 分块模块, 读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用户文 件分块; 0034 传输模块, 从服务器中获取可能重复的目标文件以及目标文件分块的信息摘要 值; 0035 判断模块, 计算所述用户文件分块的信息摘要值, 并基于所述用户文件分块与所 述目标文件分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为重复 文件。 0036 进一步地, 在本发明的一种文件去重处理的系统中, 所述分块模块还用于, 将所述 用户文件分成n块, n满足公式 0037 0038 所述用户文件分成n块时, 第k块的长度lk满足公式 0039 0040 n为所述用户文件所。

21、分成的块数; L为所述用户文件的总位数; k为所述用户文件所 分成的第k块; lk为所述用户文件所分成的第k块的长度。 说明书 3/9 页 6 CN 110175155 A 6 0041 进一步地, 在本发明的一种文件去重处理的系统中, 所述传输模块还用于, 将所述 用户文件的第一分块的信息摘要值上传至所述服务器; 从所述服务器获取所述目标文件, 所述服务器通过索引获得与所述用户文件的第一分块的信息摘要值相同的文件为所述目 标文件。 0042 进一步地, 在本发明的一种文件去重处理的系统中, 所述判断模块包括: 0043 比对子模块, 依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进。

22、 行比对; 0044 所述判断模块还用于, 根据所述比对子模块的比对结果判断所述用户文件与所述 目标文件是否为重复文件, 若所有分块的信息摘要值都是相同的, 则判断所述用户文件与 所述目标文件为重复的文件; 若依次比对到第i分块时, 所述用户文件与所述目标文件的第 i分块的信息摘要值不同, 则判断所述用户文件与所述目标文件不是重复文件。 0045 进一步地, 在本发明的一种文件去重处理的系统中, 所述客户端中: 0046 传输模块还用于, 判断所述用户文件与所述目标文件不是重复文件后, 将所述用 户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服务器; 0047 所述服务器还包括: 。

23、0048 摘要值计算模块, 所述服务器接收所述客户端发送的所述用户文件和已经完成计 算的所述用户文件分块后, 从第i+1个分块开始, 继续对所述用户文件分块进行信息摘要值 的计算; 0049 存储模块, 用于存储所述用户文件和所述用户文件分块的信息摘要值。 0050 本发明通过提供的一种文件去重处理的方法和系统, 能够带来以下有益效果: 0051 通过在客户端对用户需要上传的文件进行分块, 将文件的去重判断和存储过程分 开, 使服务器不需要对重复的文件进行摘要值计算和存储, 一方面减少服务器的计算量, 一 方面使客户端在较少计算量的前提下判断出需要上传存储的(不重复的)用户文件。 附图说明 0。

24、052 下面将以明确易懂的方式, 结合附图说明优选实施方式, 对一种文件去重处理的 方法和系统的上述技术特征、 优点及其实现方式予以进一步的说明。 0053 图1是本发明一种文件去重处理的方法的流程图; 0054 图2本发明一些实施例中获得第k个分块长度lk的方法的示意图; 0055 图3是本发明一些实施例中, 文件大小与分块数量关系的示意图; 0056 图4是本发明一些实施例中, 一种从服务器中获取与所述用户文件相似的目标文 件的方法的流程图; 0057 图5是本发明一些实施例中, 判断所述用户文件是否为重复文件的方法的流程图; 0058 图6是本发明一些实施例中, 一种文件去重处理的系统的。

25、结构示意图 0059 附图标号说明: 0060 100 客户端 110 分块模块 0061 120 传输模块 130 判断模块 0062 131 比对子模块 200 服务器 说明书 4/9 页 7 CN 110175155 A 7 具体实施方式 0063 为了更清楚地说明本发明中的实施例和现有技术中的技术方案, 下面将对照附图 说明本发明的具体实施方式。 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来说讲, 在不付出创造性劳动的情况下, 还可以根据这些附图获 得其他的附图, 并获得其他的实施方式。 0064 为使图面简洁, 各图中只示意性地表示出了与本发明相。

26、关的部分, 它们并不代表 其作为产品的实际结构。 另外, 以使图面简洁便于理解, 在有些图中具有相同结构或功能的 部件, 仅示意性地绘示了其中的一个, 或仅标出了其中的一个。 在本文中,“一个” 不仅表示 “仅此一个” , 也可以表示 “多于一个” 的情形。 0065 本发明第一实施例。 附图1记载了本发明一些实施例中, 一种文件去重处理的方法 的流程图, 所述方法包括: 0066 S100读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用户文件分 块; 0067 S200从服务器中获取与所述用户文件相似的目标文件以及目标文件分块的信息 摘要值; 0068 S300计算所述用户文件。

27、分块的信息摘要值, 并基于所述用户文件分块与所述目标 文件分块的信息摘要值的比对结果, 判断所述用户文件与所述目标文件是否为重复文件。 0069 具体地, 在文件级去重技术中对文件进行摘要计算目前是整体文件参与计算, 这 种计算方式在客户端进行文件比对时, 会占用客户端大量资源。 在一些实施中, 为了尽早确 认用户需要上传文件的非重复性, 将文件分成若干个分块, 依次对分块进行摘要值计算和 比对, 使摘要值计算与比对同时进行, 并且在计算之前加入预筛选来排除部分文件参与计 算。 S100中用户终端(客户端)读取用户需要上传的文件后对其进行分块处理得到若干个文 件分块 0070 在本发明中, 将。

28、用户上传的文件进行分块处理, 计算分块的信息摘要值, 从服务器 中获取可能与上传文件重复的目标文件。 通过将上传文件的每一个分块的摘要值与目标文 件依次进行比对, 判断上传文件是否为重复文件, 在客户端完成去重判断之后, 将判断重复 的文件上传过程中止。 本发明中, 将传统的文件上传过程中, 完成全部上传文件的摘要值计 算后, 再判断文件是否重复的过程进行了改进。 通过对上传文件进行分块, 本发明实现了只 判断上传文件的一部分内容来判断重复性, 该过程放在客户端完成, 由于通过分块减少了 发现不重复文件的计算量, 提升了客户端的用户体验。 0071 本发明第二实施例。 基于第一实施例, 本发明。

29、一些实施例中提供一种将所述用户 文件进行分块处理方法: 0072 将所述用户文件分成n块, n满足公式 0073 0074 所述用户文件分成n块时, 其中第k块的长度lk满足公式 说明书 5/9 页 8 CN 110175155 A 8 0075 0076 n为所述用户文件所分成的块数; L为所述用户文件的总位数; k为所述用户文件所 分成的第k块; lk为所述用户文件所分成的第k块的长度。 0077 具体地, 将用户文件分成n块, 通过基于用户文件第一分块的摘要值索引, 预筛选 出服务器中可能与用户文件重复的目标文件, 使得客户端需要进行比对判断的文件都是与 用户文件存在一定相似性的(第一分。

30、块内容相同), 通过合理地设定第一分块中用户文件数 据的位数, 使得筛选过程具有一定的区分度, 以减少客户端需要对比的文件数量。 0078 在文件级去重技术中, 传统的MD5或SHA-1算法都会事先对计算的数据进行分块, 其分块方式为以512位为一块大小, 最后一块会补0至448位, 最后加上64位的长度信息总共 构成计算的内容。 选取一个字节, 即选取8位来进行计算, 算法会自动给这8位后面补上440 个0。 可以发现在算法中这一块仅仅只有8位不同, 虽然在算法中这8位会进行滚动的计算而 使得最终结果不同, 但是这8位相同的概率是极大的。 此外后面的440位全部补0, 这种补0方 式开销是与。

31、读取440位的开销是一样的。 因此可以说补0是在浪费文件的信息价值。 出于上 述观点, 基于主流摘要算法使用的分块规则特性, 本发明采用了448位为文件头部信息的选 取方案, 通过这448位来确定第一块摘要信息, 基于此得出用户文件总分块数n的计算公式。 0079 以第一块的448位为基础, 每一块都在前一块的基础上做出增加, 这种方式同时也 要限制摘要值数量在一定的范围内。 本发明中使用指数函数控制每一块在前一块的基础上 做出增加的递增速度, 在指数函数的基础上对分块过程进行设计, 得出中第k个分块长度lk 的计算公式, 满足了分块大小递增需求和限制摘要值数量的需求。 附图2记载了一种获得第。

32、 k个分块长度lk的方法的示意图, 总长度L(比特), 分块长度ln。 第一块l1确定为448位, 之后 第二块l2选择取之前相同块的大小, 同样448位, 第三块l3则同样选择之前已经使用的块的 大小为2*448位, 第四块同样选取之前已经使用过的大小4*448, 依次类推第n块的长度ln为 448*2n-2位, 最后一块仅计算剩余部分即可, 这种分块方法可以计算出文件大小和分块数量 的关系, 附图3是基于本发明的文件大小与分块数量关系的示意图, 可以观察到当文件大小 在1KB到50GB之间时, 文件最少可以分成6块, 最多分成31块。 最大最小相差不过25块, 可以 说已经达到了比较满意的。

33、分块效果。 0080 通过结合MD5或SHA-1等摘要算法的设计特征, 使得第一块内容在计算摘要信息的 时候在没有提升计算资源占用情况下最大程度的保留文件内容, 进而减低碰撞率, 提升摘 要值精确度。 0081 本发明第三实施例。 基于第二实施例, 附图4示意了在本发明一些实施例中, 一种 从服务器中获取与所述用户文件相似的目标文件的方法的流程图, 包括: 0082 S210将所述用户文件的第一分块的信息摘要值上传至所述服务器; 0083 S220从所述服务器中获取与所述用户文件相似的目标文件分块的信息摘要值, 所 述服务器索引出与所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件。 。

34、0084 一般来说, 可以根据文件名和文件大小等方式在服务器中进行目标文件的初步筛 选, 但是本申请中, 在服务器中也存储了文件的分块信息摘要值, 所以可以通过第一分块的 说明书 6/9 页 9 CN 110175155 A 9 信息摘要值作为判断依据, 在这个过程中, 如果服务器中没有发现与该摘要值相同的其他 文件, 那么就可以直接判断该文件不是重复文件。 如果服务器中发现与该摘要值相同的其 他文件, 说明这些文件的第一分块与用户文件是相同的, 那么就将这些文件作为目标文件, 目标文件会发送到客户端进行后续的非重复性判断。 0085 在本发明中, 提供一种从服务器中获取与用户文件可能相同的目。

35、标文件的方法, 通过用户文件的第一分块的信息摘要值索引来匹配服务器中可能与用户文件相同的目标 文件。 0086 本发明第四实施例。 基于第二实施例, 附图5示意了在本发明一些实施例中, 一种 基于所述用户文件分块与所述目标文件分块的信息摘要值的比对结果, 判断所述用户文件 与所述目标文件是否为重复文件的方法的流程图, 包括: 0087 S310依次将所述用户文件与所述目标文件的每一个分块的信息摘要值进行比对; 0088 S321若所有分块的信息摘要值都是相同的, 则判断所述用户文件与所述目标文件 为重复的文件; 0089 S322若依次比对到第i分块时, 所述用户文件与所述目标文件的第i分块的。

36、信息摘 要值不同, 则判断所述用户文件与所述目标文件不是重复文件。 0090 具体地, 在S310中, 客户端进行分段计算的过程是文件从第一分块开始, 计算一块 比对一块。 如果每一块都是相同的, 那么做出S321的判断, 说明用户文件与所述目标文件为 重复的文件。 一旦出现某一块计算的摘要值不同, 即可进入S322, 判定为文件重复。 0091 在本发明中, 通过提供一种客户端对已经完成分块的用户文件进行摘要值比对的 方法, 以最小的计算资源发现用户文件与目标文件的不同。 本发明中, 相比传统的先完成所 有文件的摘要值计算, 再进行比对的方法, 实现了一边计算文件的摘要值, 一边进行是否重 。

37、复的比对, 使得对文件重复性判断效率更高, 尤其是大体量文件的重复性判断。 0092 本发明第五实施例。 基于第四实施例, 在本发明一些实施例中, 提供一种判断所述 用户文件与所述目标文件不是重复文件后进行的步骤包括: 0093 将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服 务器, 所述服务器从第i+1个分块开始, 继续对所述用户文件分块进行信息摘要值的计算, 所述服务器存储所述用户文件和所述用户文件分块的信息摘要值。 0094 具体地, 服务器接收到文件和相关数据后继续计算后续的文件分段摘要值, 并根 据计算结果, 将信息完整的补充到数据库当中。 由客户端完成的前面i。

38、个分块的摘要值计算 可以判断用户文件是否为服务器中已经存储的文件, 如果不是, 客户端将用户文件上传至 服务器, 服务器完成用户文件的存储, 继续对用户文件的剩余分块进行信息摘要值计算, 并 存储用户文件的所有分块的摘要值。 通过这种在客户端进行重复性验证, 在服务端进行数 据完整性补充的方式。 客户端服务端优势相结合, 相较传统的去重方式, 极大程度上避免了 I/O资源浪费, 避免了服务端存储资源浪费, 同时也提升了客户端的资源利用率并给予了用 户更好的体验。 0095 本发明第六实施例。 附图6记载了本发明一些实施例中, 一种文件去重处理的系统 的结构示意图, 系统包括: 0096 客户端。

39、100, 与服务器200交互, 进行用户文件的分块处理和去重判断; 0097 服务器200, 与客户端100交互, 预筛选与用户文件可能重复的目标文件, 以及存储 说明书 7/9 页 10 CN 110175155 A 10 不重复的用户文件; 0098 客户端100包括: 0099 分块模块110, 读取需要上传的用户文件, 将所述用户文件进行分块处理, 获取用 户文件分块; 0100 传输模块120, 从服务器200中获取可能重复的目标文件以及目标文件分块的信息 摘要值; 0101 判断模块130, 计算分块模块110中得到的用户文件分块的信息摘要值, 并基于所 述用户文件分块与所述目标文。

40、件分块的信息摘要值的比对结果, 判断所述用户文件与所述 目标文件是否为重复文件。 0102 其中, 分块模块110还用于将所述用户文件分成n块, n满足公式 0103 0104 所述用户文件分成n块时, 第k块的长度lk满足公式 0105 0106 n为所述用户文件所分成的块数; L为所述用户文件的总位数; k为所述用户文件所 分成的第k块; lk为所述用户文件所分成的第k块的长度。 0107 传输模块120还用于, 将用户文件的n个分块中第一分块的信息摘要值上传至所述 服务器200; 从所述服务器200获取所述目标文件, 所述服务器200通过索引获得与所述用户 文件的第一分块的信息摘要值相同。

41、的文件为所述目标文件。 0108 判断模块130包括: 0109 比对子模块131, 依次将所述用户文件与所述传输模块120获得的目标文件的每一 个分块的信息摘要值进行比对; 0110 判断模块130还用于, 根据所述比对子模块131的比对结果判断所述用户文件与所 述目标文件是否为重复文件, 若所有分块的信息摘要值都是相同的, 则判断所述用户文件 与所述目标文件为重复的文件; 若依次比对到第i分块时, 所述用户文件与所述目标文件的 第i分块的信息摘要值不同, 则判断所述用户文件与所述目标文件不是重复文件。 0111 在客户端100中, 传输模块120还用于, 判断所述用户文件与所述目标文件不是。

42、重 复文件后, 将所述用户文件和已经完成计算的所述用户文件分块信息摘要值上传至所述服 务器, 服务器接收客户端100发送的用户文件的第一分块的信息摘要值后, 通过索引获得与 所述用户文件的第一分块的信息摘要值相同的文件为所述目标文件后, 从第i+1个分块开 始, 继续对所述用户文件分块进行信息摘要值的计算, 存储所述用户文件和所述用户文件 分块的信息摘要值。 0112 具体地, 本发明第六实施例为上述第一实施例至第五实施例所记载的方法实施例 进行组合后得到的系统实施例, 其技术特征和技术效果与上述第一实施例至第五实施例所 记载的方法实施例相同, 在此不一一赘述。 0113 应当说明的是, 上述实施例均可根据需要自由组合。 以上所述仅是本发明的优选 说明书 8/9 页 11 CN 110175155 A 11 实施方式, 应当指出, 对于本技术领域的普通技术人员来说, 在不脱离本发明原理的前提 下, 还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。 说明书 9/9 页 12 CN 110175155 A 12 图1 图2 图3 图4 说明书附图 1/2 页 13 CN 110175155 A 13 图5 图6 说明书附图 2/2 页 14 CN 110175155 A 14 。

展开阅读全文
内容关键字: 文件 处理 方法 系统
关于本文
本文标题:文件去重处理的方法和系统.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11315809.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1