[发明专利]两阶段布谷鸟过滤器及基于两阶段布谷鸟过滤器的重复数据删除方法有效
申请号: | 202110885281.3 | 申请日: | 2021-08-03 |
公开(公告)号: | CN113535706B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 李挥;刘涛;王博辉;崔凯;蒋傅礼;张华宇 | 申请(专利权)人: | 佛山赛思禅科技有限公司;深圳赛思鹏科技发展有限公司 |
主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22;G06F16/2455 |
代理公司: | 深圳市锟剑恒富知识产权代理有限公司 44769 | 代理人: | 温玉珍 |
地址: | 528200 广东省佛山市南海区桂城街道南平西*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 阶段 布谷鸟 过滤器 基于 重复 数据 删除 方法 | ||
1.两阶段布谷鸟过滤器,其特征在于,所述两阶段布谷鸟过滤器中每个布谷鸟过滤器由若干个桶组成,每个桶由若干个单元组成,每个单元可被用于存放数据指纹,若干个单元构成二维指纹矩阵的结构,每个待插入的元素和两个哈希函数相关联,将插入算法划分为两个阶段,并且在第一阶段中通过主动的重定位来增加数据的均匀分布程度形成插入元素两阶段插入算法;
所述布谷鸟过滤器的整体负载率小于预设阈值为第一阶段,所述布谷鸟过滤器在插入元素中第一阶段插入算法中首先计算元素的数据指纹,然后再计算两个候选桶位置,再计算两个候选桶中的负载,
判断两个候选桶的负载是否大于或小于设定值,如两个候选桶的负载都小于设定值,则算法会选择一个负载率最小的候选桶插入,反馈插入成功;如有一个候选桶的负载小于设定值,则算法会选择负载率小于设定值的候选桶进行插入,反馈插入成功;如两个候选桶的负载率都大于设定值,则算法会随机选择一个候选桶,并移除其中的一个指纹,将其命名为受害者,将待插入元素的指纹插入到受害者之前的位置,并进行第一阶段重新定位操作;
所述布谷鸟过滤器的整体负载率大于或等于预设阈值为第二阶段,所述布谷鸟过滤器在插入元素的第二阶段插入算法中,首先计算元素的数据指纹,然后再计算两个候选桶位置,再计算两个候选桶中的负载,
并判断两个候选桶的负载是否已满,如两个候选桶都未满,则算法会选择一个负载最低的候选桶将指纹插入到这个位置,反馈插入成功,如两个候选桶有一个未满,有一个已满,则算法选择未满的候选桶将指纹插入到这个位置,反馈插入成功,如两个候选桶都满,则算法会随机选一个候选桶,并随机移除其中的一个指纹,将其命名为受害者,随后将待插入元素的指纹插入到此位置,并进行第二阶段重新定位操作。
2.根据权利要求1所述的两阶段布谷鸟过滤器,其特征在于,所述第一阶段重新定位操作插入算法会判断迭代次数是否已经到达上限,如已经达到上限,则反馈插入失败,如没有达到上限,则判断迭代次数是否大于或等于预设值,如迭代次数小于预设值,则利用部分键布谷鸟散列函数计算受害者的另外一个候选桶,并判断此候选桶的负载情况,如此候选桶的负载小于设定值,则算法会将指纹插入到此桶中,反馈插入成功;否则,算法随机选择一个当前候选桶中的指纹,并移除,更新此指纹为受害者,将待插入指纹插入受害者原来的位置,迭代次数加一,返回循环第一阶段重新定位操作;如迭代次数大于或等于预设值,利用部分键布谷鸟散列函数计算受害者的另外一个候选桶,并判断此候选桶是否已满,如候选桶未满,算法将待插入元素的指纹插入到此候选桶中,并反馈插入成功,如候选桶已满,则算法随机选择一个当前候选桶中的指纹,并移除,更新此指纹为受害者,将待插入指纹插入受害者原来的位置,迭代次数加一,返回循环第一阶段重新定位操作。
3.根据权利要求2所述的两阶段布谷鸟过滤器,其特征在于,所述第二阶段重新定位操作判断当前迭代次数是否达到上限,如已经达到上限,则反馈插入失败,如没有达到上限,则算法会通过部分键布谷散列函数计算受害者的另外一个候选桶位置并判断候选桶是否已满,如候选桶未满,则算法将元素插入到此候选桶,并反馈插入成功,如候选桶已满,则算法会随机移除其中的一个指纹,更新此指纹为受害者,随后将待插入指纹插入到受害者原来的位置,迭代次数加一,返回循环第二阶段重新定位操作。
4.基于权利要求1-3任一项所述的两阶段布谷鸟过滤器的重复数据删除方法,当文件流进入存储系统时,其特征在于,所述基于两阶段布谷鸟过滤器的重复数据删除方法包括以下步骤:
S1、将文件切为数据块,并计算每个数据块的指纹;
S2、将数据块的指纹送入两阶段插入布谷鸟过滤器进行查询判断是否存在,如指纹不存在,则判定数据块为全新数据块,系统将数据块存入容器区,并将数据块的指纹和物理位置形成一个键值对后存入指纹索引区,且将指纹存入文件的列表区中;如指纹存在,则提出的重复数据删除技术会进入磁盘数据库中比对指纹,如磁盘数据库中没有此指纹,则证明数据块为全新数据块,进行保留,将数据块存入容器区,并将数据块的指纹和物理位置形成一个键值对后存入指纹索引区,且将指纹存入文件的列表区中,如磁盘数据库中存在此指纹,则证明此数据块已被存储系统存储过,并放弃存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佛山赛思禅科技有限公司;深圳赛思鹏科技发展有限公司,未经佛山赛思禅科技有限公司;深圳赛思鹏科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110885281.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种方便收集废屑的双柱平面铣床
- 下一篇:一种便于收集碎屑的数控车床