[发明专利]一种集合同步方法及装置有效
申请号: | 202010212860.7 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111339058B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 郭得科;罗来龙;李尚森;袁昊;高军军;闫晶晶 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/178;G06F16/14;G06N3/006 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 曾志鹏 |
地址: | 410003*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集合 同步 方法 装置 | ||
1.一种集合同步方法,其特征在于,包括:
将本地集合插入到本地计数布谷鸟过滤器中;
接收异地终端设备发送的异地计数布谷鸟过滤器,所述异地计数布谷鸟过滤器中插入了异地集合;
在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素;
将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;
将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差;
发送所述差异元素集合至所述异地终端设备;
将所述相同元素集合添加到所述本地集合中;
所述将本地集合插入到本地计数布谷鸟过滤器中,包括:
利用哈希函数,生成所述本地集合中的元素的指纹和所述元素的数量信息;
将所述本地计数布谷鸟过滤器的槽位分为指纹区和计数区;
将所述指纹插入到所述指纹区;
将所述数量信息插入到所述计数区;
所述在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素,包括:
将所述本地计数布谷鸟过滤器中的每个指纹所对应的元素作为被查询元素;
在所述异地计数布谷鸟过滤器中,分别查询所述被查询元素所对应的指纹,以及所对应的数量信息,得到所述被查询元素在所述异地集合中的数量;
根据所述被查询元素在所述异地集合中的数量,调整所述本地计数布谷鸟过滤器,得到待同步计数布谷鸟过滤器,其中:
如果所述被查询元素在所述异地集合中的数量为零,则将所述被查询元素所对应的指纹在所述本地计数布谷鸟过滤器中所插入的槽位标记为差异元素槽位;
如果所述被查询元素在所述异地集合中的数量大于所述被查询元素在所述本地集合中的数量,则将所述被查询元素所对应的指纹在所述本地计数布谷鸟过滤器中所插入的槽位标记为相同元素槽位,且将所述槽位的计数区更新为两者数量之差;
如果所述被查询元素在所述异地集合中的数量小于或者等于所述被查询元素在所述本地集合中的数量,则清空所述被查询元素所对应的指纹在所述本地计数布谷鸟过滤器中所插入的槽位中记录的的信息;
所述将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差,包括:
获取所述本地集合的根集,所述根集包括所述本地集合中出现的元素,但不包含重复元素,所述根集中的每个元素,均为被查询元素;
在所述待同步计数布谷鸟过滤器中,分别查询所述被查询元素所对应的指纹,以及所对应的数量信息;
如果所述数量信息大于零,且所述指纹所插入的槽位被标记为差异元素槽位,则所述被查询元素为仅在所述本地集合中存在的元素;
如果所述数量信息大于零,且所述指纹所插入的槽位被标记为相同元素槽位,则所述被查询元素为在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素。
2.根据权利要求1所述的方法,其特征在于,所述在所述本地计数布谷鸟过滤器和所述异地计数布谷鸟过滤器中,对比所述本地集合和所述异地集合中的元素;将仅在所述本地集合中存在的元素,添加到差异元素集合,添加的数量为所述元素在所述本地集合中的数量;将在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素,添加到相同元素集合,添加的数量为两者数量之差,包括:
获取所述本地集合的根集;所述根集包括所述本地集合中出现的元素,但不包含重复元素;所述根集中的每个元素,均为被查询元素;
在所述异地计数布谷鸟过滤器中,分别查询所述被查询元素所对应的指纹,以及所对应的数量信息,得到所述被查询元素在所述异地集合中的数量;
如果所述被查询元素在所述异地集合中的数量为零,则所述被查询元素为仅在所述本地集合中存在的元素;
如果所述被查询元素在所述异地集合中的数量大于所述被查询元素在所述本地集合中的数量,则所述被查询元素为在所述本地集合和所述异地集合中均存在,但是在所述本地集合中的数量小于在所述异地集合中的数量的元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010212860.7/1.html,转载请声明来源钻瓜专利网。