System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种布隆过滤器误判率优化方法及其系统技术方案_技高网

一种布隆过滤器误判率优化方法及其系统技术方案

技术编号:41186731 阅读:2 留言:0更新日期:2024-05-07 22:18
本发明专利技术涉及计算机通讯技术领域,特别是一种布隆过滤器误判率优化方法及其系统,所述方法包括以下步骤:步骤S1、确定需要加载到布隆过滤器A的数据A;步骤S2、初始化布隆过滤器A,设置误判率为误判率A,将数据A加入布隆过滤器A内;步骤S3、对布隆过滤器A进行校验,找出误判数据AA;步骤S4、将误判数据AA加入布隆过滤器B,设置误判率为误判率B;步骤S5、对布隆过滤器B进行校验,找出误判数据BB;步骤S6、将误判数据BB保存在内存中;本发明专利技术能够在布隆过滤器的内存占用较小时,还能够将误判率降为0;解决了布隆过滤器对存在数据会有误判的问题。

【技术实现步骤摘要】

本专利技术涉及计算机通讯,特别是一种布隆过滤器误判率优化方法及其系统


技术介绍

1、目前布隆过滤器作为一种快速判断存在的数据结构,的确存在误判率的问题。这是因为布隆过滤器采用了一种基于哈希函数的技术,其中每个元素在位数组中会映射到多个位置上。当一个元素被查询时,如果所有映射的位置都被标记为存在,则可以确定该元素存在;但如果有任何一个位置未被标记,则可以确定该元素不存在。

2、然而,由于不同元素在位数组中的映射可能存在冲突,即多个元素映射到了相同的位置上,因此在某些情况下,会导致误判的发生。尤其是当布隆过滤器的内存占用较小时,也就是位数组的长度较短时,冲突的概率会增加,从而导致误判率增大。


技术实现思路

1、为了解决上述技术问题,本专利技术提供一种布隆过滤器误判率优化方法及其系统,能够在布隆过滤器的内存占用较小时,还能够将误判率降为0。

2、本专利技术采用以下技术方案实现:

3、一种布隆过滤器误判率优化方法,所述方法包括以下步骤:

4、步骤s1、确定需要加载到布隆过滤器a的数据a;

5、步骤s2、初始化布隆过滤器a,设置误判率为误判率a,将数据a加入布隆过滤器a内;

6、步骤s3、对布隆过滤器a进行校验,找出误判数据aa;

7、步骤s4、将误判数据aa加入布隆过滤器b,设置误判率为误判率b;

8、步骤s5、对布隆过滤器b进行校验,找出误判数据bb;

9、步骤s6、将误判数据bb保存在内存中;

10、步骤s7、当需要判断新的数据x时,将数据x依次放到布隆过滤器a、布隆过滤器b以及误判数据bb中进行判断。

11、优选的,所述步骤s1进一步具体为:所述数据a为不连续的数据,且数据a的id范围为a1-a2;id范围即最小值到最大值。

12、优选的,所述步骤s3进一步具体为:将a1-a2范围的所有数据a放到布隆过滤器a中进行过滤,然后找出不存在数据a中但被布隆过滤器a误判为存在的误判数据aa,并记录误判数据aa的id范围aa1-aa2。

13、优选的,所述步骤s5进一步具体为:将aa1-aa2范围的所有数据aa放到布隆过滤器b中进行过滤,然后找出不存在误判数据aa中但被布隆过滤器b误判为存在的误判数据bb并保存。

14、优选的,所述步骤s7进一步具体为:所述数据x为数据a中的数据;将数据x依次放到布隆过滤器a、布隆过滤器b以及误判数据bb中,其中任意一个判断不存在,则最终结果为不存在,如果全都判断存在,则最终结果为存在。

15、优选的,所述步骤s6进一步具体为:将误判数据bb以集合方式保存在内存中。

16、优选的,所述步骤s2中,误判率a为十分之一到千分之一;所述步骤s4中,误判率b为十分之一到千分之一。

17、一种布隆过滤器误判率优化系统,所述系统包括确定模块、加入模块a、校验模块a、加入模块b、校验模块b、保存模块以及判断模块;

18、确定模块:确定需要加载到布隆过滤器a的数据a;

19、加入模块a:初始化布隆过滤器a,设置误判率为误判率a,将数据a加入布隆过滤器a内;

20、校验模块a:对布隆过滤器a进行校验,找出误判数据aa;

21、加入模块b:将误判数据aa加入布隆过滤器b,设置误判率为误判率b;

22、校验模块b:对布隆过滤器b进行校验,找出误判数据bb;

23、保存模块:将误判数据bb保存在内存中;

24、判断模块:当需要判断新的数据x时,将数据x依次放到布隆过滤器a、布隆过滤器b以及误判数据bb中进行判断。

25、优选的,所述确定模块进一步具体为:所述数据a为不连续的数据,且数据a的id范围为a1-a2;id范围即最小值到最大值。

26、优选的,所述校验模块a进一步具体为:将a1-a2范围的所有数据a放到布隆过滤器a中进行过滤,然后找出不存在数据a中但被布隆过滤器a误判为存在的误判数据aa,并记录误判数据aa的id范围aa1-aa2。

27、优选的,所述校验模块b进一步具体为:将aa1-aa2范围的所有数据aa放到布隆过滤器b中进行过滤,然后找出不存在误判数据aa中但被布隆过滤器b误判为存在的误判数据bb并保存。

28、优选的,所述判断模块进一步具体为:所述数据x为数据a中的数据;将数据x依次放到布隆过滤器a、布隆过滤器b以及误判数据bb中,其中任意一个判断不存在,则最终结果为不存在,如果全都判断存在,则最终结果为存在。

29、优选的,所述保存模块进一步具体为:将误判数据bb以集合方式保存在内存中。

30、优选的,所述加入模块a中,误判率a为十分之一到千分之一;所述加入模块b中,误判率为十分之一到千分之一。

31、本专利技术的有益效果:

32、本专利技术提供一种布隆过滤器误判率优化方法及其系统,能够在布隆过滤器的内存占用较小时,还能够将误判率降为0;解决了布隆过滤器对存在数据会有误判的问题。

本文档来自技高网...

【技术保护点】

1.一种布隆过滤器误判率优化方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S1进一步具体为:所述数据A为不连续的数据,且数据A的id范围为A1-A2;id范围即最小值到最大值。

3.根据权利要求2所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S3进一步具体为:将A1-A2范围的所有数据a放到布隆过滤器A中进行过滤,然后找出不存在数据A中但被布隆过滤器A误判为存在的误判数据AA,并记录误判数据AA的id范围AA1-AA2。

4.根据权利要求3所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S5进一步具体为:将AA1-AA2范围的所有数据aa放到布隆过滤器B中进行过滤,然后找出不存在误判数据AA中但被布隆过滤器B误判为存在的误判数据BB并保存。

5.根据权利要求3所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S7进一步具体为:所述数据X为数据a中的数据;将数据X依次放到布隆过滤器A、布隆过滤器B以及误判数据BB中,其中任意一个判断不存在,则最终结果为不存在,如果全都判断存在,则最终结果为存在。

6.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S6进一步具体为:将误判数据BB以集合方式保存在内存中。

7.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤S2中,误判率A为十分之一到千分之一;所述步骤S4中,误判率B为十分之一到千分之一。

8.一种布隆过滤器误判率优化系统,其特征在于:所述系统包括确定模块、加入模块A、校验模块A、加入模块B、校验模块B、保存模块以及判断模块;

9.根据权利要求8所述的一种布隆过滤器误判率优化系统,其特征在于:所述确定模块进一步具体为:所述数据A为不连续的数据,且数据A的id范围为A1-A2;id范围即最小值到最大值。

10.根据权利要求9所述的一种布隆过滤器误判率优化系统,其特征在于:所述校验模块A进一步具体为:将A1-A2范围的所有数据a放到布隆过滤器A中进行过滤,然后找出不存在数据A中但被布隆过滤器A误判为存在的误判数据AA,并记录误判数据AA的id范围AA1-AA2。

11.根据权利要求10所述的一种布隆过滤器误判率优化系统,其特征在于:所述校验模块B进一步具体为:将AA1-AA2范围的所有数据aa放到布隆过滤器B中进行过滤,然后找出不存在误判数据AA中但被布隆过滤器B误判为存在的误判数据BB并保存。

12.根据权利要求10所述的一种布隆过滤器误判率优化系统,其特征在于:所述判断模块进一步具体为:所述数据X为数据a中的数据;将数据X依次放到布隆过滤器A、布隆过滤器B以及误判数据BB中,其中任意一个判断不存在,则最终结果为不存在,如果全都判断存在,则最终结果为存在。

13.根据权利要求8所述的一种布隆过滤器误判率优化系统,其特征在于:所述保存模块进一步具体为:将误判数据BB以集合方式保存在内存中。

14.根据权利要求8所述的一种布隆过滤器误判率优化系统,其特征在于:所述加入模块A中,误判率A为十分之一到千分之一;所述加入模块B中,误判率为十分之一到千分之一。

...

【技术特征摘要】

1.一种布隆过滤器误判率优化方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s1进一步具体为:所述数据a为不连续的数据,且数据a的id范围为a1-a2;id范围即最小值到最大值。

3.根据权利要求2所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s3进一步具体为:将a1-a2范围的所有数据a放到布隆过滤器a中进行过滤,然后找出不存在数据a中但被布隆过滤器a误判为存在的误判数据aa,并记录误判数据aa的id范围aa1-aa2。

4.根据权利要求3所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s5进一步具体为:将aa1-aa2范围的所有数据aa放到布隆过滤器b中进行过滤,然后找出不存在误判数据aa中但被布隆过滤器b误判为存在的误判数据bb并保存。

5.根据权利要求3所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s7进一步具体为:所述数据x为数据a中的数据;将数据x依次放到布隆过滤器a、布隆过滤器b以及误判数据bb中,其中任意一个判断不存在,则最终结果为不存在,如果全都判断存在,则最终结果为存在。

6.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s6进一步具体为:将误判数据bb以集合方式保存在内存中。

7.根据权利要求1所述的一种布隆过滤器误判率优化方法,其特征在于:所述步骤s2中,误判率a为十分之一到千分之一;所述步骤s4中,误判率b为十分之一到千分之一。

8.一种布隆过滤器误判率优化系统,其特...

【专利技术属性】
技术研发人员:刘德建陈丛亮李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

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

1