基于Spark运行架构的IP属性匹配方法与流程

文档序号:37335310发布日期:2024-03-18 17:59阅读:11来源:国知局
基于Spark运行架构的IP属性匹配方法与流程

本发明涉及网络通信,特别是一种基于spark运行架构的ip属性匹配方法。


背景技术:

1、ip地址是用于标识和定位设备的唯一地址。有时候我们需要判断一个ip地址是否属于某个特定的ip地址段,以便进行相应的处理。常见的ip地址匹配算法多以树型结构为主,例如:

2、(1)trie树:使用trie树来存储所有ip地址的二进制形式,查询时对输入的ip地址进行二进制转换,并从trie树的根节点开始查找,每位数字对应trie树上的一层,直到最后一层时判断是否命中。

3、(2)segtree:将ip地址转换成数值后,使用线段树来存储所有ip地址的数值。在查询时对输入的ip地址也进行转换,然后从线段树的根节点开始查找,每个节点对应一个ip地址区间,通过二分查找找到包含输入地址的区间,然后递归查找该区间下的子节点,直到找到匹配的节点。

4、这种树型结构的方式需要对全部ip地址进行存储,占用内存大;同时,在查找目标ip时,需要与已存储的所有ip地址进行逐一匹配,匹配过程耗时,且查找效率慢。因此,设计一种实现快速查找ip地址的方法是非常有必要的。

5、文献1:中国发明专利cn112532414b公开了一种确定isp归属的方法、装置、设备及计算机存储介质,其中的二分法虽然也具有查找ip信息的技术特征,但其作用基于将dpi探针接入用户访问资源的链路完成端资源服务器ip信息的采集,无法直接应用于ip属性匹配。


技术实现思路

1、本发明的目的在于提供一种基于spark运行架构的ip属性匹配方法,在匹配ip归属的地址段时,将地址段转换为只含有开始ip和结束ip的两个十进制ip;在不使用树存储所有二进制ip地址的前提下,将目标ip转换成十进制ip;再使用二分法快速查找目标ip归属的ip地址段,既满足了减少内存占用的需求,又达到了提高查找效率目的。

2、实现本发明目的的技术解决方案为:

3、一种基于spark运行架构的ip属性匹配方法,该ip属性匹配方法包括:

4、读取ip地址段信息基础库中所有ip地址段信息进行解析归属的地址段,生成ip属性信息集,ip属性信息集包括每个ip属性信息以及各ip属性信息对应的开始ip begip、结束ip endip以及ip地址类型,其中开始ip begip、结束ip endip为十进制ip格式;

5、发起匹配请求,搜索目标ip相匹配的地址段对应ip属性信息,完成ip属性匹配。

6、进一步的,ip属性信息包括ip地址归属的省份id、省份名称、所在地区、ip地址段、专线id、客户名称以及日期。

7、进一步的,按照ip地址类型对ip属性信息集进行分组,每组中的所有ip属性信息按照开始ip begip进行升序排序。

8、进一步的,发起匹配请求,包括:

9、输入目标ip,将目标ip转换成十进制ip格式后使用二分法搜索;

10、从ip地址段信息基础库中搜索出目标ip相匹配的地址段,根据目标ip相匹配的地址段所在任一组的升序排序结果,确定该组的开始ip中间值begip(middle)以及结束ip中间值endip(middle);

11、将目标ip分别与开始ip中间值begip(middle)以及结束ip中间值endip(middle)进行比较,判断目标ip是否符合匹配条件;

12、符合匹配条件的,得到目标ip归属的地址段并提取该地址段对应ip属性信息;反之不符合匹配条件的,继续搜索。

13、进一步的,匹配条件包括:

14、先将目标ip与开始ip中间值begip(middle)十进制ip进行比较:

15、若目标ip<开始ip中间值begip(middle)成立,则将开始ip中间值begip(middle-1)作为末尾继续使用二分法搜索;若不成立,则比较结束;

16、再将目标ip与结束ip中间值endip(middle)十进制ip进行比较:

17、若目标ip<=结束ip中间值endip(middle)成立,则比较结束并得到目标ip归属的地址段;若不成立,则将开始ip中间值begip(middle+1)作为开头继续使用二分法搜索。

18、一种电子设备,包括:

19、存储器,用于存储计算机程序;

20、处理器,用于执行计算机程序时实现如ip属性匹配方法的步骤。

21、一种计算机可读存储介质,该计算可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如ip属性匹配方法的步骤。

22、本发明与现有技术相比,其显著优点是:

23、(1)在spark中将ip归属的地址段转换为只包含开始ip和结束ip,通过二分法搜索方法,能够在begip数组和endip数组中快速查找到归属地址段,有效减少内存的使用,缩短匹配目标ip归属的地址段的时间。

24、(2)依据不同的ip类型,利用spark广播变量实现与ip属性信息的精准匹配,有效减少数据跨网络传输,避免数据重复加载和计算的问题。

25、(3)面对众多ip地址段的情况,本发明采用的二分法匹配归属地址段,较现有技术在树型结构中查找比对二进制地址匹配地址段的方法,总体可节约20%~30%的匹配时间,具有较高应用价值。



技术特征:

1.一种基于spark运行架构的ip属性匹配方法,其特征在于:所述ip属性匹配方法包括:

2.根据权利要求1所述的基于spark运行架构的ip属性匹配方法,其特征在于:所述ip属性信息包括ip地址归属的省份id、省份名称、所在地区、ip地址段、专线id、客户名称以及日期。

3.根据权利要求1所述的基于spark运行架构的ip属性匹配方法,其特征在于:按照ip地址类型对ip属性信息集进行分组,每组中的所有ip属性信息按照开始ip begip进行升序排序。

4.根据权利要求3所述的基于spark运行架构的ip属性匹配方法,其特征在于:所述发起匹配请求,包括:

5.根据权利要求4所述的基于spark运行架构的ip属性匹配方法,其特征在于:所述匹配条件包括:

6.一种电子设备,其特征在于:包括:

7.一种计算机可读存储介质,其特征在于:所述计算可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述ip属性匹配方法的步骤。


技术总结
本发明涉及一种基于Spark运行架构的IP属性匹配方法,该IP属性匹配方法包括:读取IP地址段信息基础库中所有IP地址段信息进行解析归属的地址段,生成IP属性信息集,IP属性信息集包括每个IP属性信息的开始IP begip、结束IP endip以及IP地址类型,其中开始IP begip、结束IP endip为十进制IP格式;发起匹配请求,搜索目标IP相匹配的地址段对应IP属性信息,完成IP属性匹配。本发明与现有技术相比,其显著优点是:通过二分法搜索方法,快速查找到归属地址段,缩短匹配时间;并且,依据不同的IP类型,利用Spark广播变量实现与IP属性信息的精准匹配,减少数据跨网络传输,避免数据重复加载和计算的问题。

技术研发人员:戴云伟,孙强,王成
受保护的技术使用者:江苏省未来网络创新研究院
技术研发日:
技术公布日:2024/3/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1