基于计数布谷鸟过滤器的多重集同步
数据结构与算法
2020-03-10 v1
摘要
集合同步是分布式应用与实现中的一项基本任务。现有的同步简单集合的方法主要基于 Bloom 过滤器及其变体等紧凑数据结构。然而,这些方法无法用于同步允许元素多次出现的一对多重集。为此,本文中我们提出利用计数布谷鸟过滤器(CCF)——布谷鸟过滤器的一个新颖变体——来表示并继而同步一对多重集。布谷鸟过滤器(CF)是一种使用布谷鸟哈希解决冲突的最小化哈希表。CF 具有一个桶数组,每个桶有多个槽用于存储元素指纹。基于 CF,CCF 将每个槽扩展为两个字段:指纹字段与计数器字段。指纹字段记录该槽所存元素的指纹;而计数器字段计数所存元素的重数。借助此种设计,CCF 能够表示任意多重集。在生成并交换分别表示本地多重集的各自 CCF 后,我们提出基于查询与基于解码的方法以识别给定多重集间的差异元素。综合评估结果表明,当用于同步多重集时,CCF 在同步精度与空间效率两方面均优于计数 Bloom 过滤器(CBF),代价是稍高的时间消耗。
引用
@article{arxiv.2003.03801,
title = {Multiset Synchronization with Counting Cuckoo Filters},
author = {Shangsen Li and Lailong Luo and Deke Guo},
journal= {arXiv preprint arXiv:2003.03801},
year = {2020}
}