[发明专利]基于有限二叉树布隆过滤器的去冗文件系统及其构建方法有效
| 申请号: | 201310218249.5 | 申请日: | 2013-06-04 |
| 公开(公告)号: | CN103345472A | 公开(公告)日: | 2013-10-09 |
| 发明(设计)人: | 姜博;刘俊龙;王星河;龙翔;高小鹏;万寒 | 申请(专利权)人: | 北京航空航天大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 周长琪 |
| 地址: | 100191*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 有限 二叉 树布隆 过滤器 文件系统 及其 构建 方法 | ||
1.一种有限二叉树布隆过滤器,其特征在于,该布隆过滤器具有L层节点,L为正整数,第1层具有两个节点,设每层的节点数上限为Q,A通过对以2为底Q的对数取整得到,则第i层的每个节点在第i+1层都具有两个子节点,i为1到A-1;第j层的每个节点在第j+1层都具有1个子节点,j为A到L;每个节点是一个二阶段布隆过滤器,每个二阶段布隆过滤器包括两部分,第一部分是标准布隆过滤器,第二部分存储了各数据块的指纹和存储地址;
第一部分的标准布隆过滤器,包括一个包含有K个哈希函数h11~h1K的集合和一个位数组;位数组中包含w个元素,依次对应1~w的整数,对每个待查找的数据块指纹,分别通过哈希函数h11~h1K计算哈希值,得到K个整数值;当位数组中对应K个整数值的元素都设置为1时,表示该指纹在标准布隆过滤器中命中,否则表示该指纹在该节点中不存在;
第二部分包括哈希函数h2、起始位置数组、结束位置数组和大数组;将指纹对应的K个整数值通过哈希函数h2计算,得到一个整数index;整数index所表示的一类数据块指纹,在大数组中存储的起始位置和结束位置,分别存储在起始位置数组和结束位置数组的第index元素中;将经过哈希函数h11~h1K的集合和哈希函数h2计算得到相同整数index的数据块指纹分为同一类数据块指纹;大数组中的每一项记录一个数据块的指纹、存储地址、引用次数和存储同类数据块指纹的下一项地址;
当某数据块的指纹在标准布隆过滤器中命中时,将该指纹对应的K个整数值输入第二部分,通过哈希函数h2计算得到整数index,在大数组中从起始位置数组第index元素记录的位置开始查找,在查询完大数组的当前项后,按照当前项所存储的下一项地址,找到对应的项继续查找,如果找到完全相同的指纹,表示该数据块为重复数据块,当前节点被命中,在大数组存储该指纹的项中更新引用次数;若直到结束位置数组第index元素记录的位置查询结束,都没有找到完全相同的指纹,则表示该指纹在该节点中不存在;
当某个数据块的指纹在所述的有限二叉树布隆过滤器的各个节点中都没有查找到,则该数据块为新数据块,在未载满的节点中加入该新数据块的信息,具体是,将该新数据块的指纹经过节点中K个哈希函数h11~h1K计算得到K个整数,在节点中的位数组对应该K个整数的元素设置为1,在节点的大数组中新增一项,记录该新数据块的指纹、存储地址、引用次数和存储同类数据块指纹的下一项地址,同时在起始位置数组和结束位置数组中更新该新数据块指纹所属一类指纹在大数组中的起始位置和结束位置。
2.根据权利要求1所述的有限二叉树布隆过滤器,其特征在于,所述的每个二阶段布隆过滤器还包含存储块数St、存储容量Ca和块删除计数Co三个属性;在大数组中删除某一项时,更新块删除计数Co,但此时不更新位数组,当块删除计数Co达到存储容量的比重W时,利用大数组里的指纹重新计算,更新位数组。
3.基于权利要求1或2所述的有限二叉树布隆过滤器的去冗文件系统,包含文件系统接口、索引文件、指纹生成器和块存储器,文件系统接口接收外部应用程序发来的写入文件命令时,将待写入文件传给指纹生成器,指纹生成器将待写入文件进行定长划分,并为划分得到的每个数据块生成指纹;索引文件为每个文件建立一个索引,将该文件的各数据块的指纹和存储地址按块顺序写入索引中;文件系统接口在接收到外部应用程序发来的读取文件命令时,根据文件路径在索引文件中找到要读取文件的索引,根据索引中各数据块的存储地址,依次从块存储器中读取各数据块的内容并输出给外部应用程序;其特征在于,所述的去冗文件系统还包括有限二叉树布隆过滤器;指纹生成器将各数据块及对应的指纹传送给有限二叉树布隆过滤器;有限二叉树布隆过滤器根据数据块的指纹,对数据块进行查重,当某个数据块为新数据块时,为该数据块申请存储地址,将申请的存储地址及数据块传给块存储器,将数据块的指纹及存储地址传给索引文件,当某个数据块为重复数据块时,直接将该数据块的指纹及存储地址传给索引文件;块存储器将数据块的内容存入所申请的存储地址中。
4.根据权利要求2所述的去冗文件系统,其特征在于,所述的指纹生成器采用MD5算法对数据块计算MD5值,得到的MD5值就是该数据块的指纹。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310218249.5/1.html,转载请声明来源钻瓜专利网。





