[发明专利]一种面向备份任务的重复数据删除方法有效
申请号: | 201610110134.8 | 申请日: | 2016-02-29 |
公开(公告)号: | CN105786651B | 公开(公告)日: | 2018-12-04 |
发明(设计)人: | 吴文峻 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 赵文利 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向备份任务的重复数据删除方法,首先,划分备份任务;将硬盘上完成了全部查重过程的指纹仓库放入集合B‑bucket;然后,在内存中建立局部缓存和全局缓存;将B‑bucket中的元素放入全局缓存;将当前备份任务的所有指纹依次放入指纹仓库C‑bucket;当C‑bucket处于满态后更新,遍历并记录更新后的最大指纹与最小指纹;然后,在B‑bucket中寻找具有这两个指纹的指纹仓库,并加入局部缓存;对更新后的每一个指纹在局部缓存和全局缓存中进行查询并标记后,将未被标记的指纹保存到指纹仓库N‑bucket中;标记的指纹进行删除;最后,当N‑bucket满态后替换并加入局部缓存,并更新全局缓存。优点在于:解决了指纹查询瓶颈问题;缩小查重范围,提高重删效率;保持较高的吞吐率。 | ||
搜索关键词: | 一种 面向 备份 任务 重复 数据 删除 方法 | ||
【主权项】:
1.一种面向备份任务的重复数据删除方法,其特征在于,具体步骤如下:步骤一、对硬盘的备份任务进行划分,每个备份任务均有N个指纹仓库bucket组成;每个指纹仓库bucket的大小为:1≤bucket≤106;N为整数;依次选取每个备份任务作为当前备份任务;初始值为第一个备份任务;步骤二、对硬盘上完成了全部查重过程的指纹仓库,依次进行标记,并放入集合B‑bucket;B‑bucket={B‑bucket1,B‑bucket2,...B‑bucketi,...B‑bucketk};k为硬盘上完成了全部查重过程的指纹仓库的总数,i,k均为整数;步骤三、在内存中建立局部缓存L‑cache和全局缓存G‑cache,初始设置两个缓存为空;两个缓存的容量均设为M个bucket;M取决于内存的大小,为整数;步骤四、判断集合B‑bucket中的总数k是否小于全局缓存G‑cache的容量M,如果是,则将B‑bucket中的元素依次放入全局缓存G‑cache;否则,比较B‑bucket中各元素的引用次数,按引用次数从大到小排列,取前M个元素将加入G‑cache;步骤五、检验内存中是否存在指纹仓库C‑bucket,如果不存在,则创建一个空的指纹仓库C‑bucket;否则,将当前备份任务每个指纹仓库中的指纹按顺序依照散列表插入算法插入C‑bucket;步骤六、判断当前存储指纹仓库C‑bucket的指纹数量是否达到106个,如果是,更新为指纹仓库S‑bucket,进入步骤七,否则,返回步骤五;步骤七、遍历当前指纹仓库S‑bucket中所有指纹,按字母和数字序找出并记录最大指纹fmax与最小指纹fmin;步骤八、依次遍历集合B‑bucket中每个元素B‑bucketi的所有指纹,寻找当前元素中的最大指纹fimax或最小指纹fimin,并与fmax和fmin进行比较;当fimax=fmax或fimin=fmin,则将指纹fimax或fimin所在的元素B‑bucketi加入L‑cache;步骤九、判断局部缓存L‑cache的元素个数是否达到M,如果是,按照LRU算法在缓存L‑cache中选择出要被替换的指纹仓库加入G‑cache,将当前指纹仓库B‑bucketi加入L‑cache,进入步骤十五;否则,将B‑bucketi直接加入L‑cache;步骤十、遍历当前指纹仓库S‑bucket中所有指纹,对每一个指纹fp在局部缓存L‑cache和全局缓存G‑cache中进行查询并标记;步骤十一、将当前指纹仓库S‑bucket中没有被标记为重复指纹的指纹保存到指纹仓库N‑bucket中;指纹仓库N‑bucket位于内存,并初始为空;步骤十二、输出当前S‑bucket中的指纹查询结果并删除;步骤十三、判断当前指纹仓库N‑bucket是否达到满态,如果是,进入步骤十四,否则返回步骤五;步骤十四、判断局部缓存L‑cache是否达到满态,如果是,按照LRU算法在缓存L‑cache中选择出一个要被替换的指纹仓库放入G‑cache中,并将当前指纹仓库N‑bucket加入L‑cache,进入步骤十五;否则,将N‑bucket直接加入L‑cache;进入步骤十六;步骤十五、判断G‑cache是否达到满态,如果是按照LRU算法,在G‑cache中选出一个引用次数最少的指纹仓库放入硬盘中,并将L‑cache中替换出的指纹仓库加入G‑cache;否则,直接将L‑cache中替换出的指纹仓库加入G‑cache;步骤十六、检测当前备份任务每个指纹仓库中的所有指纹是否均已完成重删过程,如果是,进入步骤十七,否则,将当前备份任务每个指纹仓库中的剩余指纹插入C‑bucket,返回步骤六;步骤十七、选择下一个备份任务作为当前备份任务,返回步骤五,直至所有备份任务都完成重复数据删除。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610110134.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种MCU的校准方法和系统
- 下一篇:数据的管理方法及装置