论文部分内容阅读
Bloom Filter采用一个位向量表示数据集合并且利用Hash函数有效支持查找。它能很好的解决一个问题:判定某个元素是否属于给定集合。在分布式应用环境中,Bloom Filter 在资源定位、路由查找等各方面都能够得到很好的应用。
近年来,针对Bloom Filter的基本原理存在多种改进,其中主要包括计数型Bloom Filter、压缩型Bloom Filter和拆分型Bloom Filter。计数型Bloom Filter能弥补平凡Bloom Filter的一个缺陷:只能往Bloom Filter中增加元素,而不能用于集合中元素的删除;压缩型Bloom Filter结合了数据压缩理论,因而在分布式应用中,能有效地降低网络中Bloom Filter的数据传输量;而拆分型BloomFilter能较好地缓解分布式环境下集合元素动态增长的问题。
经过对Bloom Filter及上述改进的分析,本文提出两种新型Bloom Filter:一种是K分组合型Bloom Filter,和拆分型Bloom Filter一样,它针对的也是分布式环境下集合元素动态增长带来的平凡Bloom Filter失效问题,本文主要把它与平凡Bloom Filter和拆分型Bloom Filter作比较并给出指标分析,证明其能在误称率、向量空间和平均判定时间三个指标中得到更好的平衡;第二种改进型Bloom Filter是完全组合型Bloom Filter,它能完全消除平凡Bloom Filter引起的外部冲突,虽然增加了一些空间代价,却比平凡Bloom Filter有着更低的误称率,因而能得到更有效的应用。本文还讨论了Bloom Filter中使用的hash函数分布概率,给出了一个能对所有分布都进行分析的一般评价指标。
最后,讨论了Bloom Filter以及本文提出的新改进型Bloom Filter的在分布式系统中的一些应用,并针对其在Web Cache中的应用给出模拟实验结果并进行分析。