支持最优性与自适应布谷鸟过滤器
1. 修复误报问题
当自适应布谷鸟过滤器(ACF)对一个查询 q 返回 “存在”,但通过外部字典得知 q 并不在集合 S 中时,这就是一个误报情况。此时,ACF 会修改自身配置,尝试修复这个误报,让后续对 q 的查询返回 “不存在”。不同类型的 ACF 有各自修复误报的方法,下面详细介绍。需要注意的是,修改配置的过程可能会使原本已修复的查询 q' ( q' 不在集合 S 中)再次成为误报。
1.1 布谷鸟式 ACF(Cuckooing ACF)
布谷鸟式 ACF 是本文提出的主要数据结构,它在标准布谷鸟过滤器的基础上增加了修复误报的操作,插入和查询操作与标准方式一致。
假设在配置 C 下查询 q 出现误报,布谷鸟式 ACF 会寻找一个新的配置 C' (其哈希索引为 β'1, ..., β'n )来尝试修复 q 。对于在配置 C 下与 q 发生冲突的集合 S 中的每个元素 xi ,过滤器会像插入操作一样递归地移动 xi 。具体来说,新的哈希索引 β'i = βi + 1 (mod k) 。如果表
超级会员免费看
订阅专栏 解锁全文
785

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



