IP地址匹配方法及装置制造方法及图纸

技术编号:27006239 阅读:19 留言:0更新日期:2021-01-08 17:09
本发明专利技术公开了一种IP地址匹配方法及装置,所述方法包括:将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找所述待匹配IP是否存在。本发明专利技术提高了匹配效率,从而降低了内存空间占用。

【技术实现步骤摘要】
IP地址匹配方法及装置
本专利技术涉及计算机网络
,尤其是涉及一种IP地址匹配方法及装置。
技术介绍
在现有技术中,IP地址的分类包括以下三种:A类IP地址:第一个八位字节指明网络,后三个八位字节指明网络上的主机;B类IP地址:前两个八位字节指明网络,后两个八位字节指明网络上的主机。C类IP地址:前三个八位字节指明网络,后一个八位字节指明网络上的主机。目前,BloomFilter使用位向量来表示元素,而不存储本身,这样极大压缩了元素的存储空间。BloomFilter插入的思想是将一个插入的元素使用k个hash函数进行k次计算,将得到的Hash值所对应的bit数组下标置为1;BloomFilter查找的思想将查找的元素使用k个函数进行k次计算,将得到的值找出对应的bit数组下标,判断是否为1,如果都为1则说明这个值可能在序列中,反之肯定不在序列中。现有技术中,从亿数量级的IP集合中判断其中一个IP是否存在的方案为:创建一个存储IP字段的数据库表,逐次查询数据库,或者使用索引搜索方案,但是,上述两种处理方式占用存储空间较大,查询性能低。因此,目前急需解决上述问题。
技术实现思路
本专利技术的目的在于提供一种IP地址匹配方法及装置,旨在解决现有技术中的上述问题。本专利技术提供一种IP地址匹配方法,包括:将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找待匹配IP是否存在。本专利技术提供一种IP地址匹配装置,包括:填充模块,用于将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;匹配模块,用于判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找待匹配IP是否存在。本专利技术实施例还提供一种IP地址匹配装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述IP地址匹配方法的步骤。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现上述IP地址匹配方法的步骤。采用本专利技术实施例,利用二进制位运算的性能优势,将亿量级IP地址,经过Hash运算,存储至内存空间,并通过哈希命中机制,进行快速匹配,从而提高了匹配效率,从而降低了内存空间占用。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例的IP地址匹配方法的流程图;图2是本专利技术实施例的海量IP地址分类填充的示意图;图3是本专利技术实施例的IP地址匹配的示意图;图4是本专利技术装置实施例一的IP地址匹配装置的示意图;图5是本专利技术装置实施例二的IP地址匹配装置的示意图。具体实施方式下面将结合实施例对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。方法实施例根据本专利技术实施例,提供了一种IP地址匹配方法,图1是本专利技术实施例的IP地址匹配方法的流程图,在执行如图1所示的流程之前,首先需要构建不同IP类型的布隆过滤器,需要构建匹配方法,使用guava的BloomFilter实现。构建函数具体为:BloomFilter<CharSequence>filter=BloomFilter.create(Funnels.stringFunnel(),m,k);其中,首先需要预设m为预期插入量,k为错误率;然后,根据IP地址的IP类型预估A类IP地址的插入量为m1,B类IP地址的插入量为m2,C类IP地址的插入量为m3;最后,根据不同的IP地址的插入量,得到对应的不同的Hash函数个数,并基于此分别建立A类IP地址的BloomFilter、B类IP地址的BloomFilter、以及C类IP地址的BloomFilter。其中,错误率k值为可控变量。如图1所示,根据本专利技术实施例的IP地址匹配方法具体包括:步骤101,将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;即,将海量的IP依次填充到对应的BloomFilter中,如图2所示,具体包括如下处理:获取海量IP地址中各个IP地址对应的子网掩码;根据所述子网掩码判断相应IP地址的IP类型,计算该IP类型的IP地址的插入量,根据插入量计算对应Hash函数个数,将其添加到该IP类型对应的BloomFilter中,其中,所述IP类型具体包括:A类IP地址、B类IP地址、以及C类IP地址。步骤102,判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找所述待匹配IP是否存在。即,从海量的IP中匹配当前IP是否存在。如图3所示,具体包括如下处理:获取待匹配IP地址对应的子网掩码;根据所述子网掩码判断相应IP地址的IP类型,计算该IP类型的IP地址的插入量,根据所述插入量计算对应Hash函数个数,通过哈希命中机制到对应IP类本文档来自技高网...

【技术保护点】
1.一种IP地址匹配方法,其特征在于,包括:/n构建不同IP类型的布隆过滤器,具体包括:预设m为预期插入量,k为错误率;根据IP地址的IP类型预估A类IP地址的插入量为m1,B类IP地址的插入量为m2,C类IP地址的插入量为m3;根据不同的IP地址的插入量,得到对应的不同的Hash函数个数,并基于此分别建立A类IP地址的BloomFilter、B类IP地址的BloomFilter、以及C类IP地址的BloomFilter;/n将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;/n判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找所述待匹配IP是否存在。/n

【技术特征摘要】
1.一种IP地址匹配方法,其特征在于,包括:
构建不同IP类型的布隆过滤器,具体包括:预设m为预期插入量,k为错误率;根据IP地址的IP类型预估A类IP地址的插入量为m1,B类IP地址的插入量为m2,C类IP地址的插入量为m3;根据不同的IP地址的插入量,得到对应的不同的Hash函数个数,并基于此分别建立A类IP地址的BloomFilter、B类IP地址的BloomFilter、以及C类IP地址的BloomFilter;
将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中;
判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找所述待匹配IP是否存在。


2.根据权利要求1所述的方法,其特征在于,将海量IP地址分类填充到预先建立的对应IP类型的布隆过滤器BloomFilter中具体包括:
获取海量IP地址中各个IP地址对应的子网掩码;
根据所述子网掩码判断相应IP地址的IP类型,计算该IP类型的IP地址的插入量,根据插入量计算对应Hash函数个数,将其添加到该IP类型对应的BloomFilter中,其中,所述IP类型具体包括:A类IP地址、B类IP地址、以及C类IP地址。


3.根据权利要求1所述的方法,其特征在于,判断待匹配IP的IP类型,从相应IP类型的布隆过滤器BloomFilter中查找所述待匹配IP是否存在具体包括:
获取待匹配IP地址对应的子网掩码;
根据所述子网掩码判断相应IP地址的IP类型,计算该IP类型的IP地址的插入量,根据所述插入量计算对应Hash函数个数,通过哈希命中机制到对应IP类型的布隆过滤器BloomFilter中查找是否存在该待匹配IP。


4.一种IP地址匹配装置,其特征在于,包括:
构建模块,用于构建不同IP类型的布隆过滤器;所述构建模块具体用于:预...

【专利技术属性】
技术研发人员:张志敢赵丽鹏
申请(专利权)人:北京快成科技股份公司
类型:发明
国别省市:北京;11

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

1