一种流式大数据去重的方法

文档序号:10612843阅读:1829来源:国知局
一种流式大数据去重的方法
【专利摘要】本发明涉及大数据处理技术领域,特别是一种流式大数据去重的方法,使用多个Bloom Filter轮换的方式来进行不间断实时消息处理。采用上述方法后,本发明具有以下优点:1、在实时消息处理中,不需要停顿,保证消息处理的连续性和实时性;2、由于消息重复率一般符合正态分布,本方法总是保留最近一段时间的数据作为去重的依据,可以去除绝大部分重复数据达到满意的去重效果。
【专利说明】
一种流式大数据去重的方法
技术领域
[0001 ]本发明涉及大数据处理技术领域,特别是一种流式大数据去重的方法。
【背景技术】
[0002]在实时消息处理的系统中,过滤掉海量数据中的重复记录有着非同寻常的意义。传统的大数据去重算法有Bloom Filter等,但是Bloom Filter算法需要预先设定需要去重的数据量和假阳性概率,这种约束可以满足已知容量的大数据去重的要求,却不能满足实时消息处理的场景。
[0003]中国发明专利CN104778193 A公开了一种数据去重方法,包括:向采集设备发送数据采集请求,以使所述采集设备从网络上采集数据,所述数据为网络数据包或通信指令;接收所述采集设备发送的第一数据;检测缓存中是否存有所述第一数据,若存有所述第一数据,则将所述第一数据丢弃,若未存有所述第一数据,则将所述第一数据插入缓存。此发明只需要存储一份数据就可以完成去重,不仅能够达到数据去重的目的,而且节约了系统资源。

【发明内容】

[0004]本发明需要解决的技术问题提供一种实时消息系统中流式大数据去重的方法。
[0005]为解决上述的技术问题,本发明的一种流式大数据去重的方法,使用多个BloomFi Iter轮换的方式来进行不间断实时消息处理。
[0006]进一步的,所述多个BloomFilter轮换的方式为预写方式,往当前使用的BloomFi Iter中写入数据时,也往下一个将要使用的Bloom Fi I ter预写数据,下一个B loomFilter容量达到一半时,将当前使用的Bloom Filter更换为下一个将要使用的BloomFilter。
[0007]进一步的,所述多个BloomFilter轮换的方式为先判断方式,往当前使用的BloomFilter中写入数据之前先判断数据是否在其他Bloom Filter中存在,当当前Bloom Filter假阳性概率达到设定的值时,将当前使用的Bloom Fi I ter更换为下一个将要使用的BloomFilter。
[0008]采用上述方法后,本发明具有以下优点:
[0009]1、在实时消息处理中,不需要停顿,保证消息处理的连续性和实时性。
[0010]2、由于消息重复率一般符合正态分布,本方法总是保留最近一段时间的数据作为去重的依据,可以去除绝大部分重复数据达到满意的去重效果。
【附图说明】
[0011 ]下面将结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0012]图1为本发明第一方案的流程示意图。
[0013]图2为本发明第二方案的流程示意图。
【具体实施方式】
[0014]本发明的一种流式大数据去重的方法,使用多个Bloom Filter轮换的方式来进行不间断实时消息处理。其中多个Bloom Filter轮换的方式具体包括以下两种实施方式。[00?5]实施方式一:
[0016]如图1所示,往当前使用的BloomFilter中写入数据时,也往下一个将要使用的Bloom Filter预写数据,下一个Bloom Filter容量达到一半时,将当前使用的BloomFilter更换为下一个将要使用的Bloom Filter。具体步骤如下:
[0017]1.初始化两个Bloom Filter(编号1、2);
[0018]2.将实时消息处理的消息写入编号I的Bloom Filter去判断是否为重复数据;
[0019]3.同时将实时消息处理的消息写入编号2的Bloom Filter预先填充数据;
[0020]4.当编号I的Bloom Filter达到一半容量的时候,清空编号2的BloomFilter;
[0021]5.继续写入编号I的Bloom Filter,预填充编号2的Bloom Filter;
[0022]6.当编码为2的Bloom Fi I ter达到一半容量的时候,清空清空编号I的BloomFilter;
[0023]7.这样又回到了步骤4。
[0024]实施方式二:
[0025]如图2所示,先判断方式,往当前使用的BloomFilter中写入数据之前先判断数据是否在其他Bloom Filter中存在,当当前Bloom Filter假阳性概率达到设定的值时,将当前使用的Bloom Filter更换为下一个将要使用的Bloom Filter。具体步骤如下:
[0026]1.初始化两个Bloom Filter(编号1、2);
[0027]2.将实时消息处理的消息写入编号I的Bloom Filter去判断是否为重复数据;
[0028]3.当编号I的Bloom Filter达到设置的容量的时候,不再写入;
[0029]4.继续将消息放入编号I的Bloom Filter判断是否重复,但是不写入,如果不重复则写入编号2的Bloom Filter去判断是否为重复数据;
[0030]5.当编号2的Bloom Filter达到设置的容量的时候,不再写入,并且清空编号I的Bloom Filter;这样又回到了步骤3。
[0031]虽然以上描述了本发明的【具体实施方式】,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。
【主权项】
1.一种流式大数据去重的方法,其特征在于:使用多个BloomFilter轮换的方式来进行不间断实时消息处理。2.按照权利要求1所述的一种流式大数据去重的方法,其特征在于,所述多个BloomFilter轮换的方式为预写方式,往当前使用的Bloom Filter中写入数据时,也往下一个将要使用的Bloom Filter预写数据,下一个Bloom Filter容量达到一半时,将当前使用的Bloom Filter更换为下一个将要使用的Bloom Filter。3.按照权利要求1所述的一种流式大数据去重的方法,其特征在于,所述多个BloomFilter轮换的方式为先判断方式,往当前使用的Bloom Filter中写入数据之前先判断数据是否在其他Bloom Filter中存在,当当前Bloom Filter假阳性概率达到设定的值时,将当前使用的Bloom Filter更换为下一个将要使用的Bloom Filter。
【文档编号】G06F17/30GK105975516SQ201610277707
【公开日】2016年9月28日
【申请日】2016年4月27日
【发明人】陈海文, 黄三伟
【申请人】湖南蚁坊软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1