[发明专利]一种集群布隆过滤器数据去重方法、终端设备及存储介质在审
| 申请号: | 202111591763.4 | 申请日: | 2021-12-23 |
| 公开(公告)号: | CN114443629A | 公开(公告)日: | 2022-05-06 |
| 发明(设计)人: | 邢磊;张磊;姚志强 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
| 主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22 |
| 代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 赵薇 |
| 地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 集群 过滤器 数据 方法 终端设备 存储 介质 | ||
本发明涉及一种集群布隆过滤器数据去重方法、终端设备及存储介质,该方法中包括:接收数据记录并写入消息队列;计算数据记录对应的排重键值;计算该消息记录对应的存储索引号i;将集群布隆过滤器中第i个过滤器槽中存储该消息记录对应的位向量,并初始化为0;通过k个散列函数分别对该消息记录对应的排重键值进行运算,根据k个运算结果将该消息记录对应的位向量中对应位置元素的值置1;对于待查找数据记录,根据其在集群布隆过滤器中对应过滤器槽中存储的位向量中对应元素的值是否为1来判断是否重复。本发明解决了实时数据去重负载过大难题。
技术领域
本发明涉及数据去重领域,尤其涉及一种集群布隆过滤器数据去重方法、终端设备及存储介质。
背景技术
数据去重是数据中心中进行数据治理必不可少的部分,通常数据中心会存在大量的冗余数据,有效的数据去重能指数级的减少数据中心的冗余数据、减轻数据存储容量压力。数据去重通常分为在线去重和离线去重,在线去重也叫实时去重,是在进行数据接入和处理的过程中以及数据入主库前就将重复的数据进行过滤,实时去重对入库性能会有较大的影响,尤其是数据总量比较大的情况下;离线去重通常是在数据入主库或者中间库后对全局数据进行分析计算、删除重复数据或者重入去重后的数据,离线去重需要消耗较大的CPU和内存资源并需要较大的存储空间存储去重的过程中的中间数据,一般情况下会采用集群处理。
通常情况下实时去重需要依赖但不限于现有流数据处理框架如spark、storm、flink等,在流处理框架的某一环节加入去重步骤,例如flink框架下通常会开发基于filter算子的自定义去重算子进行数据去重,当流数据进入去重算子后会根据去重规则进行数据过滤。通常在进行流数据处理时会给每条数据加上唯一标识、这个标识用于标记该条记录的内容,一般是将接入的所有字段值叠加计算hash值获得、目前常用的一些去重算法如下:
1、基于MongoDb存储排重键
MongoDb是分布式的文档数据库,通常读写性能到且数据分部署存储能满足较大的数据容量,将数据唯一标识作为排重键直接存入MongoDb、过滤规则为数据每次流入去重算子后根据唯一标识查询MongoDb库表看该记录是否存在,如果存在则认为该条记录已经存在进行排重,如果不存在则存储唯一标识到MongoDb并将数据放行流入下一环节。
基于MongoDb的排重方法优点是没有排重键的存储容量压力、MongoDb存储百万去重键完全能满足;缺点也是很明显,每条数据流入去重节点后都需要查询MongoDb进行读取,如果排重键不存在还要进行写入操作,会严重影响数据处理性能和入库时间。
2、基于Redis存储排重键
Redis是常用的内存数据库,单节点QPS能达到百万级。将排重键作为Redis的key值直接存入并在去重节点直接对Redis进行读写会有很高的处理性能,对入库性能和入库时间基本没有影响。但是Redis由于是基于内存存储、数据量达到百亿级别情况下需要的内存容量已经超过2000G,如果是考虑Redis集群也需要数十台机器专门用于排重键的存储、资源浪费严重且可行性差。
3、基于布隆过滤器进行数据排重
布隆过滤器(Bloom Filter,BF)起源于1970年,是一种高时空效率的数据结构,由一个一定长度(比如128bit位)的二进制向量和一组相互独立的哈希函数组成。布隆过滤器可以用来检查一个元素是否出现在一个数据集合中,具有很好的过滤效果。基于布隆过滤器的排重可以数百倍的压缩排重键的存储空间,从而可以实现2G多的容量能存储亿级的排重数据。
布隆过滤器的实现已经有很多版本,例如基于Redis的布隆过滤器、Guava包的java布隆过滤器,但是这些过滤器都有一个缺点,单个布隆过滤器有存储上限限制,例如guava的过滤器最大容量限制为千万级内,Redis的布隆过滤器最大限制容量在亿万级别内,很难满足数据中心百亿甚至千亿规模的数据去重需求。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111591763.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





