System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机通讯,特别是一种布隆过滤器误判率优化方法及其系统。
技术介绍
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、将误判数据b
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.一种布隆过滤器误判率优化系统,其特...
【专利技术属性】
技术研发人员:刘德建,陈丛亮,李佳,
申请(专利权)人:福建天晴在线互动科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。