一种基于布鲁姆过滤器的数据块快速比较系统的制作方法

文档序号:6481138阅读:178来源:国知局
专利名称:一种基于布鲁姆过滤器的数据块快速比较系统的制作方法
技术领域
本发明涉及一种数据块快速比较技术,具体地说是一种基于布鲁姆过滤器 的数据块快速比较系统。
背景技术
在重复数据删除系统中,数据块比较是使用频度最高的操作,因为重复数 据删除的最重要的工作就是将数据块与数据池中的所有数据块相比较,以判断 其是否己存在于数据池中,若数据块已存在,则可方便的将数据块删除,并保 留一个指向数据池中相同数据块的指针,若数据块不存在,则将数据块插入数 据池中。
传统的数据块比较方法, 一般采用数据块HASH散列标识的方式,即为数 据池中的每个数据块都保留一个唯一的HASH散列。比较数据块时先计算数据 块的HASH散列标识,然后与数据池中的数据块相比较,以判断数据块是否存 在于存储池中。但是这种HASH散列标识查询的复杂度一般是线性的或是对数 阶的,也就是说,当数据池的规模增大时,数据块的比较效率也会逐渐降低, 在大规模的重复数据删除系统中,这将对系统性能造成极大影响,导致系统运 行效率的降低。
因此,如何使用一种数据块的快速比较技术,使数据块的比较效率与数据 池的规模无关,提高大规模系统的运行效率,是重复数据删除系统所面临的主 要问题。

发明内容
本发明的技术任务是提供一种利用Bloom Filter査询一个数据块是否存在于包含大量数据块的数据池中,将大量的査询比较操作替换为计算操作的一种 基于布鲁姆过滤器的数据块快速比较系统。
本发明的技术任务是按以下方式实现的,包括数据块比较接口模块、
Bloom Filter数据块比较模块、数据块査询比较模块、Bloom Filter元数据记录 模块和数据池元数据记录模块;数据块比较接口模块连接Bloom Filter数据块 比较模块,Bloom Filter数据块比较模块连接数据块查询比较模块、Bloom Filter
元数据记录模块和数据池元数据记录模块,数据块查询比较模块连接数据池元 数据记录模块。
数据块比较接口模块提供数据块比较的访问接口 ,将传入的待比较的数据 块生成数据块标识,并将数据块标识传入Bloom Filter数据比较模块;Bloom Filter数据块比较模块负责利用Bloom Filter进行数据块的比较,可调用Bloom Filter元数据记录模块,查询相应的Bloom Filter标识是否在Bloom Filter元数 据中置位,也可调用数据池元数据记录模块,将数据块标识插入数据池元数据, 还可调用数据块査询比较模块,重新进行数据块比较;数据块査询比较模块负 责利用数据块标识进行数据块的比较,可调用数据池元数据记录模块,查询数 据块标识是否存在于数据池元数据中;Bloom Filter元数据记录模块以数据位 的形式存储数据池中各数据块的Bloom Filter标识,提供Bloom Filter标识的 查询、添加与删除接口;数据池元数据记录模块存储数据池中各数据块的数据 块标识,提供数据块标识的査询、添加与删除接口。
利用Bloom Filter进行待比较数据块与数据池中所有数据块的快速比较, 将大量的査询比较操作替换为计算操作,在数据块Bloom Filter标识在Bloom Filter元数据中置位的情况下,需要利用査询方式重新对数据块进行比较。
数据块比较流程为
(1) 、数据块比较接口模块提供数据块比较的访问接口,将传入的待比较 的数据块生成数据块的唯一 HASH散列,作为数据块标识;
(2) 、数据块比较接口模块将数据块标识传入Bloom Filter数据比较模块,Bloom Filter数据比较模块通过使用多个HASH函数,生成数据块的多个HASH 散列,作为数据块的Bloom Filter标识;
(3) 、 Bloom Filter数据块比较模块调用Bloom Filter元数据记录模块的接 口 ,査询相应的Bloom Filter标识是否己在Bloom Filter元数据中置位;
(4) 、如果未在Bloom Filter元数据置位,则表明数据块不存在于数据池 中,则将Bloom Filter标识在Bloom Filter元数据记录模块中置位,并调用数 据池元数据记录模块的接口,将数据块标识插入数据池元数据,并返回数据块 不存在;
(5) 、若已在Bloom Filter元数据中置位,则调用数据块査询比较模块, 重新进行数据块比较;
(6) 、数据块查询比较模块利用数据块标识进行数据块比较,数据块査询 比较模块调用数据池元数据记录模块的接口 ,查询数据块标识是否存在于数据 池元数据中,若不存在,则将数据块标识插入数据池元数据记录模块中,并返 回数据块不存在,若存在,则返回数据块存在。
本发明的一种基于布鲁姆过滤器的数据块快速比较系统具有以下优点
(1) 、基于Bloom Filter的数据块快速比较技术,用于重复数据删除系统 中,利用Bloom Filter査询一个数据块是否存在于包含大量数据块的数据池中, 将大量的査询比较操作替换为计算操作;
(2) 、使数据块的比较性能独立于数据池的规模,可以有效的降低系统的 数据块的比较负载,减少数据块比较时间,极大的提高了数据块的比较效率;
(3) 、能够提高重复数据删除系统的运行效率,降低系统中数据块比较的 开销,提升整个系统的性能。


下面结合附图对本发明进一步说明。
附图1为一种基于布鲁姆过滤器的数据块快速比较系统的结构框图; 附图2为一种基于布鲁姆过滤器的数据块快速比较系统的流程图。
具体实施例方式
参照说明书附图和具体实施例对本发明的一种基于布鲁姆过滤器的数据 块快速比较系统作以下详细地说明。 实施例
如图1所示,本发明的一种基于布鲁姆过滤器的数据块快速比较系统,其 结构包括数据块比较接口模块、Bloom Filter数据块比较模块、数据块査询比 较模块、Bloom Filter元数据记录模块和数据池元数据记录模块;数据块比较 接口模块连接Bloom Filter数据块比较模块,Bloom Filter数据块比较模块连接 数据块査询比较模块、Bloom Filter元数据记录模块和数据池元数据记录模块, 数据块查询比较模块连接数据池元数据记录模块。
数据块比较接口模块提供数据块比较的访问接口 ,将传入的待比较的数据 块生成数据块标识,并将数据块标识传入Bloom Filter数据比较模块;Bloom Filter数据块比较模块负责利用Bloom Filter进行数据块的比较,可调用Bloom Filter元数据记录模块,査询相应的Bloom Filter标识是否在Bloom Filter元数 据中置位,也可调用数据池元数据记录模块,将数据块标识插入数据池元数据, 还可调用数据块査询比较模块,重新进行数据块比较;数据块查询比较模块负 责利用数据块标识进行数据块的比较,可调用数据池元数据记录模块,査询数 据块标识是否存在于数据池元数据中;Bloom Filter元数据记录模块以数据位 的形式存储数据池中各数据块的Bloom Filter标识,提供Bloom Filter标识的 査询、添加与删除接口;数据池元数据记录模块存储数据池中各数据块的数据 块标识,提供数据块标识的査询、添加与删除接口。
利用Bloom Filter进行待比较数据块与数据池中所有数据块的快速比较, 将大量的査询比较操作替换为计算操作,在数据块Bloom Filter标识在Bloom Filter元数据中置位的情况下,需要利用査询方式重新对数据块进行比较。
如图2所示,数据块比较流程为 (1)、数据块比较接口模块提供数据块比较的访问接口,将传入的待比较的数据块生成数据块的唯一 HASH散列,作为数据块标识;
(2) 、数据块比较接口模块将数据块标识传入Bloom Filter数据比较模块, Bloom Filter数据比较模块通过使用多个HASH函数,生成数据块的多个HASH 散列,作为数据块的Bloom Filter标识;
(3) 、 Bloom Filter数据块比较模块调用Bloom Filter元数据记录模块的接 口 ,査询相应的Bloom Filter标识是否已在Bloom Filter元数据中置位;
(4) 、如果未在Bloom Filter元数据置位,则表明数据块不存在于数据池 中,则将Bloom Filter标识在Bloom Filter元数据记录模块中置位,并调用数 据池元数据记录模块的接口,将数据块标识插入数据池元数据,并返回数据块 不存在;
(5) 、若已在Bloom Filter元数据中置位,则调用数据块査询比较模块, 重新进行数据块比较;
(6) 、数据块査询比较模块利用数据块标识进行数据块比较,数据块査询 比较模块调用数据池元数据记录模块的接口 ,査询数据块标识是否存在于数据 池元数据中,若不存在,则将数据块标识插入数据池元数据记录模块中,并返 回数据块不存在,若存在,则返回数据块存在。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1、一种基于布鲁姆过滤器的数据块快速比较系统,其特征在于包括数据块比较接口模块、Bloom Filter数据块比较模块、数据块查询比较模块、BloomFilter元数据记录模块和数据池元数据记录模块;数据块比较接口模块连接Bloom Filter数据块比较模块,Bloom Filter数据块比较模块连接数据块查询比较模块、Bloom Filter元数据记录模块和数据池元数据记录模块,数据块查询比较模块连接数据池元数据记录模块。
2、 根据权利要求1所述的一种基于布鲁姆过滤器的数据块快速比较系统, 其特征在于数据块比较接口模块提供数据块比较的访问接口 ,将传入的待比较 的数据块生成数据块标识,并将数据块标识传入Bloom Filter数据比较模块; Bloom Filter数据块比较模块负责利用Bloom Filter进行数据块的比较,可调用 Bloom Filter元数据记录模块,査询相应的Bloom Filter标识是否在Bloom Filter 元数据中置位,也可调用数据池元数据记录模块,将数据块标识插入数据池元 数据,还可调用数据块査询比较模块,重新进行数据块比较;数据块査询比较 模块负责利用数据块标识进行数据块的比较,可调用数据池元数据记录模块, 査询数据块标识是否存在于数据池元数据中;Bloom Filter元数据记录模块以 数据位的形式存储数据池中各数据块的Bloom Filter标识,提供Bloom Filter 标识的查询、添加与删除接口;数据池元数据记录模块存储数据池中各数据块 的数据块标识,提供数据块标识的査询、添加与删除接口。
3、 根据权利要求1所述的一种基于布鲁姆过滤器的数据块快速比较系统, 其特征在于利用Bloom Filter进行待比较数据块与数据池中所有数据块的快速 比较,将大量的査询比较操作替换为计算操作,在数据块Bloom Filter标识在 Bloom Filter元数据中置位的情况下,需要利用査询方式重新对数据块进行比4-上较。
4、 根据权利要求1、 2或3所述的一种基于布鲁姆过滤器的数据块快速比较系统,其特征在于数据块比较流程为(1) 、数据块比较接口模块提供数据块比较的访问接口,将传入的待比较 的数据块生成数据块的唯一 HASH散列,作为数据块标识;(2) 、数据块比较接口模块将数据块标识传入Bloom Filter数据比较模块, Bloom Filter数据比较模块通过使用多个HASH函数,生成数据块的多个HASH 散列,作为数据块的Bloom Filter标识;(3) 、 Bloom Filter数据块比较模块调用Bloom Filter元数据记录模块的接 口 ,査询相应的Bloom Filter标识是否已在Bbom Filter元数据中置位;(4) 、如果未在Bloom Filter元数据置位,则表明数据块不存在于数据池 中,则将Bkwm Filter标识在Bloom Filter元数据记录模块中置位,并调用数 据池元数据记录模块的接口,将数据块标识插入数据池元数据,并返回数据块 不存在;(5) 、若已在Bloom Filter元数据中置位,则调用数据块查询比较模块, 重新进行数据块比较;(6) 、数据块查询比较模块利用数据块标识进行数据块比较,数据块査询 比较模块调用数据池元数据记录模块的接口 ,查询数据块标识是否存在于数据 池元数据中,若不存在,则将数据块标识插入数据池元数据记录模块中,并返 回数据块不存在,若存在,则返回数据块存在。
全文摘要
本发明公开了一种基于布鲁姆过滤器的数据块快速比较系统,属于一种数据块快速比较技术,其结构包括数据块比较接口模块、Bloom Filter数据块比较模块、数据块查询比较模块、Bloom Filter元数据记录模块和数据池元数据记录模块;本发明的一种基于布鲁姆过滤器的数据块快速比较系统用于重复数据删除系统中,利用Bloom Filter查询一个数据块是否存在于包含大量数据块的数据池中,将大量的查询比较操作替换为计算操作,使数据块的比较时间与数据池的规模无关,有效的解决了在数据池规模较大的情况下,数据块比较时间过长的问题,从而提高了重复数据删除系统的性能和运行效率。
文档编号G06F17/30GK101609449SQ200910016220
公开日2009年12月23日 申请日期2009年6月16日 优先权日2009年6月16日
发明者王文方 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1