[发明专利]一种基于双层Bloom过滤器的云存储文件级去重方法在审
申请号: | 202110734811.4 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113515491A | 公开(公告)日: | 2021-10-19 |
发明(设计)人: | 张品;张鑫宇 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F16/174 | 分类号: | G06F16/174;G06F16/13;G06F16/17 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
地址: | 310018 浙江省杭州市杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 双层 bloom 过滤器 存储 文件 级去重 方法 | ||
1.一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,包括客户端、服务器端、数据库;
S1.客户端获取客户上传的文件A,并从文件A的头部依次截取文件内容A1、A2;
S2.客户端使用哈希函数分别计算A1、A2的摘要值,得到A1对应的哈希值Key1、A2对应的哈希值Key2;
S3.采用第一Bloom过滤器对Key1进行计算,得到第一散列值集合,并采用第一Bloom过滤器对第一散列值集合进行检查,得到第一检查结果μ1;
S4.采用第二Bloom过滤器对Key2进行计算,得到第二散列值集合,并采用第二Bloom过滤器对第二散列值集合进行检查,得到第二检查结果μ2;
S5.客户端计算μ1μ2的值,并判断μ1μ2的值是否为0,若否,则执行步骤S6;
S6.在数据库中查询是否存在相同大小的Key1和Key2,若是,则执行步骤S7;
S7.客户端使用哈希函数计算文件A中剩余文件内容A3的摘要值,得到A3对应的哈希值Key3;
S8.在数据库中查询是否存在相同大小的Key3,若否,则执行步骤S9;
S9.客户端将文件A、Key1、Key2、Key3分别上传并存储至服务器端、数据库,停止操作。
2.根据权利要求1所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S3中采用第一Bloom过滤器对第一散列值集合进行检查,得到第一检查结果μ1具体为:第一Bloom过滤器检查得到的第一散列值集合相对应下标的值,并判断检查得到的对应下标值是否全为1,若是,则表示服务器端存在重复文件,μ1=1;若否,则表示服务器端不存在重复文件,μ1=0。
3.根据权利要求1所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S4中采用第二Bloom过滤器对第二散列值集合进行检查,得到第二检查结果μ2具体为:第二Bloom过滤器检查得到的第二散列值集合相对应下标的值,并判断检查得到的对应下标值是否全为1,若是,则表示服务器端存在重复文件,μ2=1;若否,则表示服务器端不存在重复文件,μ2=0。
4.根据权利要求1所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S5还包括若μ1μ2的值为0,则执行步骤S10-S11;
S10.客户端将文件A、Key1和Key2上传并存储至服务器端;
S11.服务器端使用哈希函数计算文件A中剩余文件内容A3的摘要值,的到A3对应的哈希值Key3,并将文件A、Key1、Key2、Key3存储至数据库,停止操作。
5.根据权利要求4所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S6中还包括数据库中不存在相同大小的Key1和Key2,则执行步骤S10-S11。
6.根据权利要求1所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S1中从文件A的头部依次截取的文件大小均为448bit。
7.根据权利要求6所述的一种基于双层Bloom过滤器的云存储文件级去重方法,其特征在于,所述步骤S3和S4中的第一Bloom过滤器、第二Bloom过滤器为基于m位的位向量;其中位向量的初始值都是0,内部的哈希函数的值域为1~m。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110734811.4/1.html,转载请声明来源钻瓜专利网。