一种IP库生成方法、系统及电子设备与流程

文档序号:30005105发布日期:2022-05-11 15:10阅读:100来源:国知局
一种IP库生成方法、系统及电子设备与流程
一种ip库生成方法、系统及电子设备
技术领域
1.本发明涉及云计算技术领域,具体涉及一种ip库生成方法、系统及电子设备。


背景技术:

2.ip库的采集有很多种方式,例如通过bgp/asn的方式进行采集、运营商通过自己的下沉机房进行采集、通过应用客户端获取用户信息并上报等。由于因为全球的ip数据每天都有大量的变更,不存在一个绝对准确的ip库,不同的ip库采集方式都有着其优势的地方,比如用户上报可能是最准确的,但是人工上报效率低,对于动辄几十亿量级的ip池来说无异于杯水车薪。运营商机房采集到的数据比较实时、位置也相对准确,但是不同地区比如区县、地市、省中心的机房采集的粒度和范围又有所区别。
3.现有技术中通常单纯的基于ip段进行简单的合并,运营商机房采集到的ip数据比较实时、位置相对准确,但是不同地区(区县、地市、省中心)的机房采集的粒度和范围存在区别,直接基于ip段进行简单合并,得到的ip数据库的准确度较低。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种ip库生成方法,以解决现有技术中基于ip段进行简单合并,得到的ip数据库的准确度低的问题。
5.为达到上述目的,本发明提供如下技术方案:
6.本发明实施例提供了一种ip库生成方法,包括:
7.获取多个ip源的ip数据信息;
8.从所述ip数据信息中提取各个ip段对应的ip段信息,所述ip段信息包括:每个ip段的段首、段尾和掩码;
9.对所述ip数据信息进行分析,得到每个ip段对应的优先级;
10.根据每个ip段对应的ip段信息和所述优先级对存在冲突的ip段进行合并;
11.基于所述ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库。
12.可选的,所述对所述ip数据信息进行分析,得到每个ip段对应的优先级,包括:
13.根据预设的ip源优先级队列对来自不同ip源的ip段进行优先级的划分,得到每个ip段对应的优先级。
14.可选的,还包括建立ip源优先级队列:
15.获取各个ip源在进行数据获取时的延时情况;
16.根据各个ip源对应的延时情况对各个ip源进行排序,得到第一优先级队列;
17.通过所述ip数据信息中各个ip源的数据精度对所述第一优先级队列进行调整,得到ip源优先级队列。
18.可选的,所述根据每个ip段对应的ip段信息和所述优先级对存在冲突的ip段进行合并,包括:
19.基于所述ip段信息中的掩码得到所有ip段的段长范围;
20.筛选段长范围存在冲突的ip段;
21.基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并。
22.可选的,所述基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并,包括:
23.若段长范围存在冲突的ip段中低优先级的ip段的段长比高优先级的ip段长,则将低优先级ip段中的冲突部分用高优先级ip段替换;
24.若段长范围存在冲突的ip段中高优先级的ip段的段长比低优先级的ip段长,则将低优先级的ip段删除。
25.可选的,所述基于所述ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库,包括:
26.基于所述ip段信息将段首和段位相邻的ip段进行拼接;
27.对拼接后的ip段进行遍历,将所有的ip段转化为符合cidr形式的ip段;
28.基于转化后的ip段,得到目标ip库。
29.本发明实施例还提供了一种ip库生成系统,包括:
30.获取模块:用于获取多个ip源的ip数据信息;
31.提取模块:用于从所述ip数据信息中提取各个ip段对应的ip段信息,所述ip段信息包括:每个ip段的段首、段尾和掩码;
32.分析模块:用于对所述ip数据信息进行分析,得到每个ip段对应的优先级;
33.合并模块:用于根据每个ip段对应的ip段信息和所述优先级对存在冲突的ip段进行合并;
34.拼接模块:用于基于所述ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库。
35.可选的,所述合并模块,包括:
36.段长获取模块:用于基于所述ip段信息中的掩码得到所有ip段的段长范围;
37.筛选模块:用于筛选段长范围存在冲突的ip段;
38.合并处理模块:用于基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并。
39.本发明实施例还提供了一种电子设备,包括:
40.存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明实施例提供的ip库生成方法。
41.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例提供的ip库生成方法。
42.本发明技术方案,具有如下优点:
43.本发明提供了一种ip库生成方法,通过获取多个ip源的ip数据信息;从ip数据信息中提取各个ip段对应的ip段信息,ip段信息包括:每个ip段的段首、段尾和掩码;对ip数据信息进行分析,得到每个ip段对应的优先级;根据每个ip段对应的ip段信息和优先级对存在冲突的ip段进行合并;基于ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库。本发明通过对不同的ip源信息进行优先级处理,在合并多ip源时能够保留高优先级的
ip段,并快速准确的生成一份标准cidr格式的ip目标库,有效提高了提高ip库生成效率和精确度,为多种使用ip库的场景提供准确的ip库模型。
附图说明
44.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1为本发明实施例中的ip库生成方法的流程图;
46.图2为根据本发明实施例中建立ip源优先级队列的流程图;
47.图3为根据本发明实施例中对存在冲突的ip段进行合并的流程图;
48.图4为根据本发明实施例中基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并的流程图;
49.图5为根据本发明实施例中基于ip段信息将合并后剩余所有的ip段进行拼接的流程图;
50.图6为本发明实施例中的ip库生成系统的结构示意图;
51.图7为本发明实施例中ip库生成系统的合并模块的结构示意图;
52.图8为本发明实施例中的电子设备的结构示意图。
具体实施方式
53.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
54.根据本发明实施例,提供了一种ip库生成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
55.在本实施例中提供了一种ip库生成方法,可用于多种使用ip库的场景,如图1所示,该ip库生成方法包括如下步骤:
56.步骤s1:获取多个ip源的ip数据信息。
57.步骤s2:从ip数据信息中提取各个ip段对应的ip段信息,ip段信息包括:每个ip段的段首、段尾和掩码。具体的,通过对ip段进行转化,便于后续对ip段进行分析处理。
58.步骤s3:对ip数据信息进行分析,得到每个ip段对应的优先级。具体的,不同ip源的数据精度是不一样的,通过对ip源的数据精度及实时性进行分析判断,同一ip源的数据优先级相同,不同ip源的数据划分不同的优先级,从而每个ip段都有对应的优先级。
59.步骤s4:根据每个ip段对应的ip段信息和优先级对存在冲突的ip段进行合并。具体的,根据优先级对冲突的ip段进行合并,可以有效提高合并后的ip库精度。
60.步骤s5:基于ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库。
61.通过上述步骤s1至步骤s4,本发明实施例提供的ip库生成方法,通过通过对不同的ip源信息进行优先级处理,在合并多ip源时能够保留高优先级的ip段,并快速准确的生成一份标准cidr格式的ip目标库,有效提高了提高ip库生成效率和精确度,为多种使用ip库的场景提供准确的ip库模型。
62.具体地,在一实施例中,上述的步骤s3,具体包括:根据预设的ip源优先级队列对来自不同ip源的ip段进行优先级的划分,得到每个ip段对应的优先级。
63.具体地,在一实施例中,上述的步骤s3,如图2所示,还包括建立ip源优先级队列,具体步骤如下:
64.步骤s31:获取各个ip源在进行数据获取时的延时情况。具体的,获取延时情况是为了判断哪个ip源的数据延时更低,延时越低的数据更具有实时性。
65.步骤s32:根据各个ip源对应的延时情况对各个ip源进行排序,得到第一优先级队列。具体的,先以延时情况进行排序,得到以实时性为依据的第一优先级队列。实时性越好的ip源优先级越高。
66.步骤s33:通过ip数据信息中各个ip源的数据精度对第一优先级队列进行调整,得到ip源优先级队列。具体的,在确定了实时性优先级后,在根据相同数据精度对第一优先级队列进行调整,在实时性相同的情况下,数据精度越高的ip源优先级越高。
67.具体的,获取延时情况是为了判断哪个ip源的数据更具有实时性,数据精度越高、实时性越好的优先级就越高,例如:运营商机房实时采集的ip数据信息实时性可能就会比从其他权威ip库采集的ip数据信息好,因此在精度相同的情况下优先级就高。此处指示以实时性和数据精度作为依据进行的优先级排列,也可以根据其他的需求进行灵活设置,在此不以数据精度和实时性为限。
68.具体地,在一实施例中,上述的步骤s4,如图3所示,具体包括如下步骤:
69.步骤s41:基于ip段信息中的掩码得到所有ip段的段长范围。具体的,在获取到段长范围后,可以根据段长范围对所有的ip段进行排序,排序的目的是为了使段长范围大的ip段先处理,从而提高合并的效率。
70.步骤s42:筛选段长范围存在冲突的ip段。具体的,根据cidr的ip段特性,两个存在冲突ip段必定是包含关系,即段长范围小的ip段必定是段长范围大的ip段的子集,如172.5.0.0/16和172.5.3.0/24,其中后者是前者的子集。
71.步骤s43:基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并。具体的,目前的ip库合并方式,将所有ip源视为同级别,合并的时候没有考虑到每一个ip源的准确性,本技术通过引入优先级的概念,保留优先级高(采集精确率高)的ip段,提高ip库合并的准确率。
72.具体地,在一实施例中,上述的步骤s43,如图4所示,具体包括如下步骤:
73.步骤s431:若段长范围存在冲突的ip段中低优先级的ip段的段长比高优先级的ip段长,则将低优先级ip段中的冲突部分用高优先级ip段替换。具体的,优先级高的ip段,数据精确度和实时性都更好,通过保留高优先级的ip段,可以提高ip库合并的准确率。
74.步骤s432:若段长范围存在冲突的ip段中高优先级的ip段的段长比低优先级的ip段长,则将低优先级的ip段删除。具体的,现有技术中心通常单纯基于ip段进行简单的合并,但是并没有考虑到不同的ip来源,其准确度是有差别的,本技术通过保留高优先级的ip
段,能够欧答复提高不同来源的ip库的合并准确率和汇总效果。
75.具体地,在一实施例中,上述的步骤s5,如图5所示,具体包括如下步骤:
76.步骤s51:基于ip段信息将段首和段位相邻的ip段进行拼接。具体的,对冲突处理完成后的ip段根据地区、运营商、段首ip进行排序。合并相同地区、相同运营商的相邻ip段。
77.步骤s52:对拼接后的ip段进行遍历,将所有的ip段转化为符合cidr形式的ip段。
78.步骤s53:基于转化后的ip段,得到目标ip库。具体的,通过快速准确的生成一份标准cidr格式的ip目标库,可以为多种使用ip库的场景提供准确的ip库模型。
79.具体的,在一实施例中,以伪代码的形式进行描述举例说明:
80.步骤a:begin
81.步骤b:预处理(将ip段转化为段首(startip)、段尾(endip)及对应的掩码(mask),同时通过处理得到每个ip段对应的优先级)
82.步骤c:把所有源ip库的所有ip段合并到一个集合iplist中
83.步骤d:对iplist根据掩码大小和优先级顺序进行排序
84.步骤e:for iprange in iplist:
[0085][0086]
步骤f:根据地区、运营商和段首ip对结果集进行排序
[0087]
步骤g:合并相同地区、运营商的相邻ip段
[0088]
步骤h:规整化所有ip段,转化为cidr格式的ip段
[0089]
步骤i:end
[0090]
在本实施例中还提供了一种ip库生成系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0091]
本实施例提供一种ip库生成系统,如图6所示,包括:
[0092]
获取模块101,用于获取多个ip源的ip数据信息,详细内容参见上述方法实施例中步骤s1的相关描述,在此不再进行赘述。
[0093]
提取模块102,用于从ip数据信息中提取各个ip段对应的ip段信息,ip段信息包
括:每个ip段的段首、段尾和掩码,详细内容参见上述方法实施例中步骤s2的相关描述,在此不再进行赘述。
[0094]
分析模块103,对ip数据信息进行分析,得到每个ip段对应的优先级,详细内容参见上述方法实施例中步骤s3的相关描述,在此不再进行赘述。
[0095]
合并模块104,用于根据每个ip段对应的ip段信息和优先级对存在冲突的ip段进行合并,详细内容参见上述方法实施例中步骤s4的相关描述,在此不再进行赘述。
[0096]
拼接模块105:用于基于ip段信息将合并后剩余所有的ip段进行拼接,得到目标ip库,详细内容参见上述方法实施例中步骤s5的相关描述,在此不再进行赘述。
[0097]
具体地,在一实施例中,上述的合并模块,如图7所示,具体包括:
[0098]
段长获取模块1041:基于ip段信息中的掩码得到所有ip段的段长范围,详细内容参见上述方法实施例中步骤s41的相关描述,在此不再进行赘述。
[0099]
筛选模块1042:筛选段长范围存在冲突的ip段,详细内容参见上述方法实施例中步骤s42的相关描述,在此不再进行赘述。
[0100]
合并处理模块1043:基于段长范围存在冲突的ip段的优先级对存在冲突的ip段进行合并,详细内容参见上述方法实施例中步骤s43的相关描述,在此不再进行赘述。
[0101]
本实施例中的ip库生成系统是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0102]
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
[0103]
根据本发明实施例还提供了一种电子设备,如图8所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0104]
处理器901可以为中央处理器(central processing unit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0105]
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
[0106]
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0107]
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
[0108]
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
[0109]
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
[0110]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1