一种集合同步方法及装置制造方法及图纸

技术编号:24683237 阅读:61 留言:0更新日期:2020-06-27 07:56
本说明书一个或多个实施例提供一种集合同步方法及装置,通过计数布谷鸟过滤器存储元素的指纹信息和数量信息来表示集合,在计数布谷鸟过滤器中,对比两个集合,得到仅在一个集合中存在的元素,以及在两个集合中均存在,但是存在的数量不相同的元素。交换仅在一个集合中存在的元素,复制在两个集合中均存在,但是存在的数量不相同的元素,从而实现集合同步。

A set synchronization method and device

【技术实现步骤摘要】
一种集合同步方法及装置
本说明书一个或多个实施例涉及数据处理
,尤其涉及一种集合同步方法及装置。
技术介绍
集合同步是分布式系统和应用中的基础任务,指的是找出两个数据集合的差异元素,通过相互交换差异元素,最终实现数据同步。现有的集合同步方法是基于紧凑型数据结构,比如bloomfilter(BF,布隆过滤器)及其变种实现的,利用bloomfilter(BF,布隆过滤器)生成集合的内容总结,在交换集合数据之后识别差异元素,再交换差异元素实现集合同步。然而上述方法只能适用于简单集合,简单集合即不允许出现重复的元素的集合。如果集合中允许出现重复的元素,我们称这种集合为多重集合。紧凑型数据结构如bloomfilter(BF,布隆过滤器)的比特向量不能记录数量超过一的元素,因而不能有效表示多重集合中元素的数量,因此不适用于实现多重集合的同步。
技术实现思路
有鉴于此,本说明书一个或多个实施例的目的在于提出一种集合同步方法及装置,以解决不能同步多重集合的问题。基于上述目的,本说明书一个或多个实施例提供了一种集本文档来自技高网...

【技术保护点】
1.一种集合同步方法,其特征在于,包括:/n将本地集合插入到本地计数布谷鸟过滤器中;/n接收异地终端设备发送的异地计数布谷鸟过滤器,所述异地计数布谷鸟过滤器中插入了异地集合;/n在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素;/n将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;/n将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差;/n发送所述差异元素集合至所述异地终端设备;/n将所述相同元素集合添加到所述...

【技术特征摘要】
1.一种集合同步方法,其特征在于,包括:
将本地集合插入到本地计数布谷鸟过滤器中;
接收异地终端设备发送的异地计数布谷鸟过滤器,所述异地计数布谷鸟过滤器中插入了异地集合;
在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素;
将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;
将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差;
发送所述差异元素集合至所述异地终端设备;
将所述相同元素集合添加到所述本地集合中。


2.根据权利要求1所述的方法,其特征在于,所述将本地集合插入到本地计数布谷鸟过滤器中,包括:
利用哈希函数,生成所述本地集合中的元素的指纹和所述元素的数量信息;
将所述本地计数布谷鸟过滤器的槽位分为指纹区和计数区;
将所述指纹插入到所述指纹区;
将所述数量信息插入到所述计数区。


3.根据权利要求2所述的方法,其特征在于,所述在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素;将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差,包括:
获取所述本地集合的根集;所述根集包括所述本地集合中出现的元素,但不包含重复元素;所述根集中的每个元素,均为被查询元素;
在所述异地计数布谷鸟过滤器中,分别查询所述被查询元素所对应的指纹,以及所对应的数量信息,得到所述被查询元素在所述异地集合中的数量;
如果所述被查询元素在所述异地集合中的数量为零,则所述被查询元素为仅在所述本地集合中存在的元素;
如果所述被查询元素在所述异地集合中的数量大于所述被查询元素在所述本地集合中的数量,则所述被查询元素为在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素。


4.根据权利要求2所述的方法,其特征在于,所述在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素,包括:
将所述本地计数布谷鸟过滤器中的每个指纹所对应的元素作为被查询元素;
在所述异地计数布谷鸟过滤器中,分别查询所述被查询元素所对应的指纹,以及所对应的数量信息,得到所述被查询元素在所述异地集合中的数量;
根据所述被查询元素在所述异地集合中的数量,调整所述本地计数布谷鸟过滤器,得到待同步计数布谷鸟过滤器,其中:
如果所述被查询元素在所述异地集合中的数量为零,则将所述被查询元素所对应的指纹在所述本地计数布谷鸟过滤器中所插入的槽位标记为差异元素槽位;
如果所述被查询元素在所述异地集合中的数量大于所述被查询元素在所述第集合中的数量,则将所述被查询元素所对应的指纹在所述本地计数布谷鸟过滤器中所插入的槽位标记为相同元素槽位,且将所述槽位的计数区更新为两者数量之差;
如果...

【专利技术属性】
技术研发人员:郭得科罗来龙李尚森袁昊高军军闫晶晶
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1