计数布隆过滤器:架构与应用
1. 计数布隆过滤器基础
计数布隆过滤器(Counting Bloom Filter,CBF)是一种重要的数据结构,它在标准布隆过滤器的基础上进行了改进,允许进行删除操作而不增加假阴性概率。
1.1 架构
CBF 通常包含一个位数组,每个位都有一个与之关联的计数器。图 8.1 展示了一个带有 4 位计数器的 CBF 架构。
1.2 操作算法
1.2.1 插入操作
当向 CBF 中插入一个输入项时,该输入项会通过哈希函数得到 K 个位置。首次选择一个槽位时,数据位和计数器都被设置为 1。后续,当输入项哈希到这些槽位时,仅增加计数器的值。以下是插入操作的算法:
1: procedure Insert(CBF[], κ, S1, S2, S3)
▷Seeds are used to create different hash functions
2:
i1 = Murmur(κ, length, S1) % μ
▷μ is the size of CBF[] which is a prime number.
3:
i2 = Murmur(κ, length, S2) % μ
▷% is modulus operator
4:
i3 = Murmur(κ, length, S3) % μ
▷i is index of the bit array CBF[]
5:
if CBF[i1D] == 1 then
▷i1D is data bit of location i1
6:
CBF[i1C] ←CBF[
超级会员免费看
订阅专栏 解锁全文
1178

被折叠的 条评论
为什么被折叠?



