Ip数据源的处理方法和装置制造方法

文档序号:7774217阅读:205来源:国知局
Ip数据源的处理方法和装置制造方法
【专利摘要】本发明公开了一种IP数据源的处理方法和装置,其中,IP数据源的处理方法包括:获取多个IP数据源,任一个IP数据源包括多个第一IP段;生成IP数轴,IP数轴上包括所有IP地址;将多个IP数据源中的每一个第一IP段的起始点和结束点分别映射到IP数轴上;以及根据IP数轴上的起始点和结束点划分IP数据源为多个第二IP段。通过本发明,达到了对多个不同的IP数据源中的IP段的划分保持一致的效果。
【专利说明】IP数据源的处理方法和装置
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种IP数据源的处理方法和装置。
【背景技术】
[0002]IP (Internet Protocol,网络之间互联的协议,简称IP)数据源(该IP数据源也可以称为IP数据库)中通常都包括多个IP段,每个IP段对应一个归属信息,例如,IP段
0.0.0.0-1.0.0.0属于X城市。现有的IP数据源中的IP段的归属信息准确性都很低,不同的IP数据源之间的IP段的归属信息存在一定的争议,例如,对于相同的IP段a到b,IP数据源A认为该IP段是上海的,而IP数据源B则认为,该IP段是南京的。同样,相同的归属信息,例如,归属信息为北京市,IP数据源A认为其对应的IP段为C到d,而IP数据源B认为其对应的IP段为e到f。
[0003]另外,由于不同的IP数据源对其中的IP段划分不一致,划分的IP段之间会存在包含、相交等情况,使得多个IP不同IP数据源之间的IP段无法直接进行比较。
[0004]针对现有技术中不同的IP数据源对其中的IP段划分不一致的问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]本发明的主要目的在于提供一种IP数据源的处理方法和装置,以解决现有技术中不同的IP数据源对其中的IP段划分不一致的问题。
[0006]为了实现上述目的,根据本发明的一个方面,提供了一种IP数据源的处理方法。根据本发明的IP数据源的处理方法包括:获取多个IP数据源,任一个IP数据源包括多个第一 IP段;生成IP数轴,IP数轴上包括所有IP地址;将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴上;以及根据IP数轴上的起始点和结束点划分IP数据源为多个第二 IP段。
[0007]进一步地,根据IP数轴上的起始点和结束点划分IP数据源为多个第二 IP段包括:将IP数轴上对应的起始点和结束点作为界限点;以及将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段以划分IP数据源为多个第二 IP段。
[0008]进一步地,将相邻的两个界限点之间的IP地址段作为第二 IP段包括:将IP地址段与第一 IP段进行对比;判断IP数轴上IP地址段是否存在于任一个第一 IP段中;以及如果IP地址段存在于任一个第一 IP段中,则将IP数轴上IP地址段作为第二 IP段。
[0009]进一步地,将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段之后,IP数据源的处理方法还包括:获取第一 IP段对应的IP数据源的归属信息,归属信息包括地理信息和运行商信息;以及根据归属信息确定第二 IP段的归属信息。
[0010]进一步地,生成IP数轴包括:将IP地址转化为整型数据,IP地址包括所有IP地址;将转化后的IP地址不重复地插入到预先生成的数据表中;对数据表中的IP地址进行排序,得到拆分依据表,拆分依据表用于划分IP数据源;将拆分依据表作为IP数轴;[0011]将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴上包括:获取多个IP数据源中的每一个第一 IP段的起始点和结束点;将起始点和结束点分别映射到拆分依据表上;
[0012]根据IP数轴上的起始点和结束点划分IP数据源为多个第二 IP段包括:将拆分依据表上对应的起始点和结束点作为界限点;将拆分依据表上相邻的两个界限点之间的IP地址段作为第二 IP段以划分IP数据源为多个第二 IP段。
[0013]为了实现上述目的,根据本发明的另一方面,提供了一种IP数据源的处理装置。该IP数据源的处理装置包括:第一获取单元,用于获取多个IP数据源,任一个IP数据源包括多个第一 IP段;生成单元,用于生成IP数轴,IP数轴上包括所有IP地址;映射单元,用于将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴相应的IP段上;以及拆分单元,用于根据IP数轴上的起始点和结束点划分IP数据源为多个第二 IP段。
[0014]进一步地,拆分单元包括:第一生成模块,用于将IP数轴上对应的起始点和结束点作为界限点;以及第一拆分模块,用于将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段以划分IP数据源为多个第二 IP段。
[0015]进一步地,第一拆分模块包括:比较子模块,用于将IP地址段与第一 IP段进行对比;判断子模块,用于判断IP数轴上IP地址段是否存在于任一个第一 IP段中;以及生成子模块,用于如果IP地址段存在于任一个第一 IP段中,则将IP数轴上IP地址段作为第二IP段。
[0016]进一步地,IP数据源的处理装置还包括:第二获取单元,用于将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段之后,获取第一 IP段对应的IP数据源的归属信息,归属信息包括地理信息和运行商信息;以及确定单元,用于根据归属信息确定第二 IP段的归属信息。
[0017]进一步地,生成单元包括:转化模块,用于将IP地址转化为整型数据,IP地址包括所有IP地址;插入模块,用于将转化后的IP地址不重复地插入到预先生成的数据表中;排序模块,用于对数据表中的IP地址进行排序,得到拆分依据表,拆分依据表用于划分IP数据源;第二生成模块,用于将拆分依据表作为IP数轴;
[0018]映射单元包括:获取模块,用于获取多个IP数据源中的每一个第一 IP段的起始点和结束点;映射模块,用于将起始点和结束点分别映射到拆分依据表上;
[0019]拆分单元包括:第三生成模块,用于将拆分依据表上对应的起始点和结束点作为界限点;第二拆分模块,用于将拆分依据表上相邻的两个界限点之间的IP地址段作为第二IP段以划分IP数据源为多个第二 IP段。
[0020]通过本发明,采用IP数据源的处理方法包括:获取多个IP数据源,任一个IP数据源包括多个第一 IP段;生成IP数轴,IP数轴上包括所有IP地址;将多个IP数据源中的每一个第一 IP段分别映射到IP数轴相应的IP段上;以及根据IP数轴划分IP数据源为多个第二 IP段,将多个IP数据源中的IP段分别映射到IP数轴上相应的IP段上,根据IP数轴上的IP段重新划分原有的多个IP数据源,由于在IP数轴上对IP数据源的划分标准一致,使得多个IP数据源重新划分后的IP数据源中的IP段的划分保持一致,解决了现有技术中不同的IP数据源对其中的IP段划分不一致的问题,达到了对多个不同的IP数据源中的IP段的划分保持一致的效果。
【专利附图】

【附图说明】
[0021]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1是根据本发明第一实施例的IP数据源的处理装置的结构示意图;
[0023]图2是根据本发明第一实施例的IP数轴的示意图;
[0024]图3是根据本发明第二实施例的IP数据源的处理装置的结构示意图;
[0025]图4是根据本发明第三实施例的IP数据源的处理装置的结构示意图
[0026]图5是根据本发明第一实施例的IP数据源的处理方法的流程图;
[0027]图6是根据本发明第二实施例的IP数据源的处理方法的流程图;以及
[0028]图7是根据本发明第三实施例的IP数据源的处理方法的流程图。
【具体实施方式】
[0029]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0030]本发明实施例提供了一种IP数据源的处理装置,该装置通过计算机设备实现其功能。
[0031]图1是根据本发明第一实施例的IP数据源的处理装置的结构示意图。如图1所示,该的IP数据源的处理装置包括第一获取单元10、生成单元20、映射单元30和拆分单元40。
[0032]第一获取单元10,用于获取多个IP数据源,任一个IP数据源包括多个第一 IP段。IP数据源也可以称为IP数据库,IP数据库可以用于通过给定的IP地址来确定该IP地址对应的归属信息,该归属信息包括该IP地址所属区域或者所属运营商,例如,获取到一个IP地址A,通过IP数据源或者IP数据库确定该IP地址A的地理位置。每个IP数据源都包括多个第一 IP段,需要说明的是,这里的第一 IP段为任意一个IP段,并非是指某一个IP数据源的第一个IP段,这里的“第一”是为了区分对IP数据源进行重新划分后的IP段,并不对本发明有不当限定。
[0033]任一个IP数据源包括多个第一 IP段,即,每一个IP数据源都包括多个IP段,每一个IP段包括一段IP地址。IP数据源可以通过网络爬取获得,也可以通过向运行商购买获得。IP数据源可以为2个IP数据源,也可以为2个以上的多个IP数据源。
[0034]生成单元20,用于生成IP数轴,IP数轴上包括所有IP地址。由于IP地址是一个可数的集合,其范围为0.0.0.0至255.255.255.255,如图2所示,生成一个由0.0.0.0至255.255.255.255的IP数轴,图中箭头所示方向表示IP地址排列的顺序的方向,将可数集合内的所有IP地址按顺序对应地设置在该IP数轴上。由于IP地址是一个可数的集合,因此该IP数轴可以通过数据库的数据表的形式呈现,例如,将每一个IP地址转化为一个整形数据,将这些整形数据按顺序不重复地插入到数据表中,那么这个数据表就可以称为IP数轴。需要说明的是,这里的IP数轴,也可以称为IP查询表,IP数据表,或者其他的用于表示将所有IP地址进行整合排列的IP地址集合,这里的“IP数轴”并不对本发明有不当限定。[0035]映射单元30,用于将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴上。由于上述IP数轴上包括所有的IP地址,每一个第一 IP段在该IP数轴上均有第一 IP段相对应的一段IP段。将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴相应的IP地址上,当IP数轴为包括所有IP地址的IP数据表时,则是将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数据表相应的IP地址上。由于IP数轴上包括所有的IP地址,因此任意一个IP数据源中的任一个第一 IP段的起始点或结束点都在IP数轴上都有一个对应的IP地址。
[0036]拆分单元40,用于根据IP数轴上的起始点和结束点划分IP数据源为多个第二 IP段。第二 IP段为对IP数据源重新划分后的IP段,需要说明的是,这里的“第二”与上述中的第一 IP段中的“第一”具有类似的功能,该处的第二 IP段是为了区别重新划分前的IP段,第二 IP段可以称为新IP段,上述中第一 IP段可以称为初始IP段,这里的“第二”并不对本发明有不当限定。划分IP数据源为多个第二 IP段,即,对获取到的所有IP数据源中的IP段进行重新划分,使得每一个IP数据源中的划分的IP段一致。由于IP数轴上都映射有多个IP数据源的第一 IP段,每一个IP段均包括起始点和结束点,以及起始点和结束点之间的IP地址,因此可以根据第一 IP段的起始点和结束点对IP数据源进行重新划分,例如,IP数据源A包括三个IP段,每个IP段包括一个起始点和一个结束点,IP数据源B包括两个IP段,每个IP段包括一个起始点和一个结束点,如果IP数据源A中IP段的起始点和结束点不重复,IP数据源B中IP段的起始点和结束点不重复,且IP数据源A中IP段的起始点和结束点与IP数据源B中IP段的起始点和结束点也不重复,则将所有起始点和结束点作为界限点,那么,总共包括10个界限点,根据10个界限点从新划分IP数据源A和IP数据源B。这里的划分也可以称为拆分,即将IP数据源拆分为与之前IP段不同的IP段。
[0037]根据本发明实施例,通过生成IP数轴,将多个IP数据源中的IP段分别映射到IP数轴上相应的IP段上,根据IP数轴上的IP段重新划分原有的多个IP数据源,由于在IP数轴上对IP数据源的划分标准一致,使得多个IP数据源重新划分后的IP数据源中的IP段的划分保持一致,解决了现有技术中不同的IP数据源对其中的IP段划分不一致的问题,达到了对多个IP数据源中的IP段的划分保持一致的效果,进而能够便于将多个IP数据源之间的IP段进行对比,以根据多个不同的IP数据源确定相同IP段的归属。
[0038]图3是根据本发明第二实施例的IP数据源的处理装置的结构示意图。该实施例的IP数据源的处理装置可以作为上述实施例的IP数据源的处理装置的一种优选实施方式。如图3所示,该的IP数据源的处理装置包括第一获取单元10、生成单元20、映射单元30和拆分单兀40,其中,拆分单兀40包括第一生成模块401和第一拆分模块402。本实施例中第一获取单元10、生成单元20、映射单元30与图1所示的第一获取单元10、生成单元20、映射单元30功能相同,这里不做赘述。
[0039]第一生成模块401用于将IP数轴上对应的起始点和结束点作为界限点。该界限点用于划分IP数据源,由于将所有起始点和结束点对应的IP地址分别映射到IP数轴对应的IP地址上,因此,在IP数轴上会有相对应的起始点和结束点,将该IP数轴上的起始点和结束点作为界限点,其中,如果起始点或者结束点之间出现重复,或者起始点与结束点之间出现重复,那么将所有重复的点作为一个界限点。
[0040]第一拆分模块402用于将IP数轴上相邻的两个界限点之间的IP地址段作为第二IP段以划分IP数据源为多个第二 IP段。每个界限点之间均包括一段IP地址段,也即是IP段,将该IP地址段作为第二 IP段,也即是新IP段,以实现对每一个IP数据源的重新划分。
[0041]优选地,第一拆分模块包括:比较子模块、判断子模块和生成子模块。
[0042]比较子模块用于将IP地址段与第一 IP段进行对比。由于并是不是每一个IP数据源中的IP段都包括了所有IP地址,因此会存在根据界限点划分之后的IP地址段不存在于任何一个IP数据源,将划分后的每两个相邻界限点之间的每一个IP地址段与原有的多个IP数据源中的每一个第一 IP段进行对比,以便于判断该IP地址段是否存在于原有的IP数据源中。
[0043]判断子模块用于判断IP数轴上IP地址段是否存在于任一个第一 IP段中。根据将IP地址段与第一 IP段进行对比之后的对比结果判断该IP地址段是否存在于任意一个IP数据源中的任一个IP段中。这个判断过程即是对拆分后的IP地址段进行回溯的过程,确认拆分后的IP地址段是否存在于原IP数据源中。例如,某两个相邻界限点为原有的IP数据源中的一 IP段的结束点和另一 IP段的起始点,该结束点和起始点之间的IP地址段不属于任何一个IP数据源,则该IP地址段不能作为第二 IP段,即,不能作为新拆分后的新IP段。
[0044]生成子模块用于如果IP地址段存在于任一个第一 IP段中,则将IP数轴上IP地址段作为第二 IP段。只有当该IP地址段存在于第一 IP段中,则将该IP地址段作为第二IP地址段,即,新IP段。如果该IP地址段不存在于任一个第一 IP段中,则表明在原有的多个IP数据源中都不存在该段IP地址。则不将该IP地址段作为第二 IP段,继续判断下一个IP地址段是否存在于任一个第一 IP段。
[0045]根据本发明实施例,将划分之后的IP地址段与IP数据源中的第一 IP段进行对t匕,剔除不存在于原有IP数据源中的IP地址段,使得重新划分之后的IP数据源与划分之前的IP数据源中包含的总的IP地址保持一致。
[0046]优选地,IP数据源的处理装置还包括第二获取单元和确定单元。
[0047]第二获取单元用于将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段之后,获取第一 IP段对应的IP数据源的归属信息,归属信息包括地理信息和运行商信息。第一 IP段为每一个IP数据源中的每一个第一 IP段,获取每一个第一 IP段的归属信息,该归属信息可以是地理信息或者运营商信息,运营商也可以称ISP (Internet ServiceProvider,互联网服务提供商,简称ISP),例如,某一个IP数据源中的第一 IP段B对应的地理信息为北京市。
[0048]确定单元用于根据归属信息确定第二 IP段的归属信息。由于第二 IP段是由多个IP数据源中的多个第一 IP段重新划分得到,因此根据第一 IP段的归属信息能够确定第二IP段的归属信息。另外,第二 IP段可能会存在于多个IP数据源,因此在划分之后的第二IP段会包含有多个不同的地理信息或者运营商信息。例如,第一 IP段C对应的地理信息为天津市,第一 IP段D的对应的地理信息为唐山市,其中,第一 IP段C与第一 IP段D分别为不同IP数据源中的IP段,且第一 IP段C与第一 IP段D之间存在相交的情况,经过本发明实施例中的IP数据源的处理方法处理之后,将第一 IP段C被拆分为第二 IP段X和第二IP段Y,第一 IP段D被拆分为第二 IP段X和第二 IP段Z,那么,可以看出,第二 IP段X既存在于第一 IP段C中,同时也存在于第一 IP段D中,那么第二 IP段X对应的地理信息可能为天津市,也可能为唐山市,这里可以标记其对应的所有的可能对应的地理信息,以便于进一步确定其归属。第二 IP段Y对应的地理信息为天津市,第二 IP段Z对应的地理信息为唐山市。
[0049]图4是根据本发明第三实施例的IP数据源的处理装置的结构示意图。该实施例的IP数据源的处理装置可以作为上述实施例的IP数据源的处理装置的一种优选实施方式。如图4所示,该的IP数据源的处理装置包括第一获取单元10、生成单元20、映射单元30和拆分单元40,其中,生成单元20包括转化模块201、插入模块202、排序模块203和第二生成模块204,映射单元30包括获取模块301和映射模块302,拆分单元40包括第三生成模块401和第二拆分模块402。本实施例中第一获取单元10与图1所示的第一获取单元10功能相同,这里不做赘述。
[0050]转化模块201用于将IP地址转化为整型数据,IP地址包括所有IP地址。可以将每一个IP地址转化为一个整型数据,例如Bigint (—种系统数据类型)类型的数据。这里的IP地址包括所有IP地址。
[0051]插入模块202用于将转化后的IP地址不重复地插入到预先生成的数据表中。数据表可以是通过数据库功能预先创建的数据表,将IP地址转化后的数据不重复地插入到该数据表中,使得每各IP地址对应的数据在数据表中只对应一个数据。
[0052]排序模块203用于对数据表中的IP地址进行排序,得到拆分依据表,拆分依据表用于划分IP数据源。由于数据库具有排序功能,可以采用例如Order by (数据库中用于对数据进行排序的语句)语句的排序功能对数据表中IP地址对应的数据进行排序,得到拆分依据表,该拆分依据表为排序后的数据表,可以用于划分IP数据源。
[0053]第二生成模块204用于将拆分依据表作为IP数轴。由于该拆分依据表可以划分IP数据源,因此将拆分依据表作为IP数轴。
[0054]获取模块301用于获取多个IP数据源中的每一个第一 IP段的起始点和结束点。每一个第一 IP段均包括一个起始点和一个结束点,获取的起始点和结束点为每一个IP数据源中的每一个第一 IP段的起始点和结束点。第一 IP段包括多个IP地址,因此,每一个第一 IP段的起始点或者结束点均对应一个IP地址。
[0055]映射模块302用于将起始点和结束点分别映射到拆分依据表上。将起始点和结束点分别映射到拆分依据表上,即,将所有起始点和结束点对应的IP地址分别映射到拆分依据表中的IP地址对应的数据上。
[0056]第三生成模块401用于将拆分依据表上对应的起始点和结束点作为界限点。该界限点用于划分IP数据源,由于将所有起始点和结束点对应的IP地址分别映射到拆分依据表对应的IP地址上,因此,在拆分依据表上会有相对应的起始点和结束点,将该拆分依据表上的起始点和结束点作为界限点,其中,如果起始点或者结束点之间出现重复,或者起始点与结束点之间出现重复,那么将所有重复的点作为一个界限点。
[0057]第二拆分模块402用于将拆分依据表上相邻的两个界限点之间的IP地址段作为第二 IP段以划分IP数据源为多个第二 IP段。每个界限点之间均包括一段IP地址段,也即是IP段,将该IP地址段作为第二 IP段,也即是新IP段,以实现对每一个IP数据源的重新划分。[0058]本发明实施例还提供了一种IP数据源的处理方法。该方法可以运行在计算机设备上。需要说明的是,本发明实施例的IP数据源的处理方法可以通过本发明实施例所提供的IP数据源的处理装置来执行,本发明实施例的IP数据源的处理装置也可以用于执行本发明实施例所提供的IP数据源的处理方法。
[0059]图5是根据本发明第一实施例的IP数据源的处理方法的流程图。如图5所示,该IP数据源的处理方法包括步骤如下:
[0060]步骤S101,获取多个IP数据源,任一个IP数据源包括多个第一 IP段。IP数据源也可以称为IP数据库,IP数据库可以用于通过给定的IP地址来确定该IP地址对应的归属信息,该归属信息包括该IP地址所属区域或者所属运营商,例如,获取到一个IP地址A,通过IP数据源或者IP数据库确定该IP地址A的地理位置。每个IP数据源都包括多个第一 IP段,需要说明的是,这里的第一 IP段为任意一个IP段,并非是指某一个IP数据源的第一个IP段,这里的“第一”是为了区分对IP数据源进行重新划分后的IP段,并不对本发明有不当限定。
[0061 ] 任一个IP数据源包括多个第一 IP段,即,每一个IP数据源都包括多个IP段,每一个IP段包括一段IP地址。IP数据源可以通过网络爬取,也可以通过向运行商购买获得。IP数据源可以为2个IP数据源,也可以为2个以上的多个IP数据源。
[0062]步骤S102,生成IP数轴,IP数轴上包括所有IP地址。由于IP地址是一个可数的集合,其范围为0.0.0.0至255.255.255.255,如图3所示,生成一个由0.0.0.0至255.255.255.255的IP数轴,图中箭头所示方向表示IP地址排列的顺序的方向,将可数集合内的所有IP地址按顺序对应地设置在该IP数轴上。由于IP地址是一个可数的集合,因此该IP数轴可以通过数据库的数据表的形式呈现,例如,将每一个IP地址转化为一个整形数据,将这些整形数据按顺序不重复地插入到数据表中,那么这个数据表就可以称为IP数轴。需要说明的是,这里的IP数轴,也可以称为IP查询表,IP数据表,或者其他的用于表示将所有IP地址进行整合排列的IP地址集合,这里的“IP数轴”并不对本发明有不当限定。
[0063]步骤S103,将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴相应的IP段上。由于上述IP数轴上包括所有的IP地址,每一个第一 IP段在该IP数轴上均有第一 IP段相对应的一段IP段。将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴相应的IP地址上,当IP数轴为包括所有IP地址的IP数据表时,则是将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数据表相应的IP地址上。由于IP数轴上包括所有的IP地址,因此任意一个IP数据源中的任一个第一 IP段的起始点或结束点都在IP数轴上都有一个对应的IP地址。
[0064]步骤S104,根据IP数轴上的所述起始点和所述结束点划分IP数据源为多个第二IP段。第二 IP段为对IP数据源重新划分后的IP段,需要说明的是,这里的“第二”与上述中的第一 IP段中的“第一”具有类似的功能,该处的第二 IP段是为了区别重新划分前的IP段,第二 IP段可以称为新IP段,上述中第一 IP段可以称为初始IP段,这里的“第二”并不对本发明有不当限定。划分IP数据源为多个第二 IP段,即,对获取到的所有IP数据源中的IP段进行重新划分,使得每一个IP数据源中的划分的IP段一致。由于IP数轴上都映射有多个IP数据源的第一 IP段,每一个IP段均包括起始点和结束点,以及起始点和结束点之间的IP地址,因此可以根据第一 IP段的起始点和结束点对IP数据源进行重新划分,例如,IP数据源A包括三个IP段,每个IP段包括一个起始点和一个结束点,IP数据源B包括两个IP段,每个IP段包括一个起始点和一个结束点,如果IP数据源A中IP段的起始点和结束点不重复,IP数据源B中IP段的起始点和结束点不重复,且IP数据源A中IP段的起始点和结束点与IP数据源B中IP段的起始点和结束点也不重复,则将所有起始点和结束点作为界限点,那么,总共包括10个界限点,根据10个界限点从新划分IP数据源A和IP数据源B。这里的划分也可以称为拆分,即将IP数据源拆分为与之前IP段不同的IP段。
[0065]根据本发明实施例,通过生成IP数轴,将多个IP数据源中的IP段的起始点和结束点分别映射到IP数轴上相应的IP地址上,根据IP数轴上的IP段的起始点和结束点重新划分原有的多个IP数据源,由于在IP数轴上对IP数据源的划分标准一致,使得多个IP数据源重新划分后的IP数据源中的IP段的划分保持一致,解决了现有技术中不同的IP数据源对其中的IP段划分不一致的问题,达到了对多个IP数据源中的IP段的划分保持一致的效果,进而能够便于将多个IP数据源之间的IP段进行对比,以根据多个IP数据源确定相同IP段的归属。
[0066]图6是根据本发明第二实施例的IP数据源的处理方法的流程图。该实施例提供的IP数据源的处理方法可以作为上述实施例的IP数据源的处理方法的一种优选实施方式。如图6所示,该IP数据源的处理方法包括步骤如下:
[0067]步骤S201,获取多个IP数据源,任一个IP数据源包括多个第一 IP段。IP数据源也可以称为IP数据库,IP数据库可以用于通过给定的IP地址来确定该IP地址对应的归属信息,该归属信息包括该IP地址所属区域或者所属运营商,例如,获取到一个IP地址A,通过IP数据源或者IP数据库确定该IP地址A的地理位置。每个IP数据源都包括多个第一 IP段,需要说明的是,这里的第一 IP段为任意一个IP段,并非是指某一个IP数据源的第一个IP段,这里的“第一”是为了区分对IP数据源进行重新划分后的IP段,并不对本发明有不当限定。
[0068]任一个IP数据源包括多个第一 IP段,即,每一个IP数据源都包括多个IP段,每一个IP段包括一段IP地址。IP数据源可以通过网络爬取,也可以通过向运行商购买获得。IP数据源可以为2个IP数据源,也可以为2个以上的多个IP数据源。
[0069]步骤S202,生成IP数轴,IP数轴包括所有IP地址。由于IP地址是一个可数的集合,其范围为0.0.0.0至255.255.255.255,如图3所示,生成一个由0.0.0.0至255.255.255.255的IP数轴,图中箭头所示方向表示IP地址排列的顺序的方向,将可数集合内的所有IP地址按顺序对应地设置在该IP数轴上。由于IP地址是一个可数的集合,因此该IP数轴可以通过数据库的数据表的形式呈现,例如,将每一个IP地址转化为一个整形数据,将这些整形数据按顺序不重复地插入到数据表中,那么这个数据表就可以称为IP数轴。需要说明的是,这里的IP数轴,也可以称为IP查询表,IP数据表,或者其他的用于表示将所有IP地址进行整合排列的IP地址集合,这里的“IP数轴”并不对本发明有不当限定。
[0070]步骤S203,将多个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴上。由于上述IP数轴上包括所有的IP地址,每一个第一 IP段在该IP数轴上均有第一 IP段相对应的一段IP段。每一个第一 IP段均包括一个起始点和一个结束点,获取的起始点和结束点为每一个IP数据源中的每一个第一 IP段的起始点和结束点。第一 IP段包括多个IP地址,因此,每一个第一 IP段的起始点或者结束点均对应一个IP地址。将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数轴相应的IP地址上,当IP数轴为包括所有IP地址的IP数据表时,则是将每个IP数据源中的每一个第一 IP段的起始点和结束点分别映射到IP数据表相应的IP地址上。由于IP数轴上包括所有的IP地址,因此任意一个IP数据源中的任一个第一 IP段的起始点或结束点都在IP数轴上都有一个对应的IP地址。
[0071]步骤S204,将IP数轴上对应的起始点和结束点作为界限点。该界限点用于划分IP数据源,由于将所有起始点和结束点对应的IP地址分别映射到IP数轴对应的IP地址上,因此,在IP数轴上会有相对应的起始点和结束点,将该IP数轴上的起始点和结束点作为界限点,其中,如果起始点或者结束点之间出现重复,或者起始点与结束点之间出现重复,那么将所有重复的点作为一个界限点。
[0072]步骤S205,将IP数轴上相邻的两个界限点之间的IP地址段作为第二 IP段以划分IP数据源为多个第二 IP段。每个界限点之间均包括一段IP地址段,也即是IP段,将该IP地址段作为第二 IP段,也即是新IP段,以实现对每一个IP数据源的重新划分。
[0073]优选地,步骤S205可以包括以下步骤:
[0074]步骤S2051,将IP地址段与第一 IP段进行对比。由于并是不是每一个IP数据源中的IP段都包括了所有IP地址,因此会存在根据界限点划分之后的IP地址段不存在于任何一个IP数据源,将划分后的每两个相邻界限点之间的每一个IP地址段与原有的多个IP数据源中的每一个第一 IP段进行对比,以便于判断该IP地址段是否存在于原有的IP数据源中。
[0075]步骤S2052,判断IP数轴上IP地址段是否存在于任一个第一 IP段中。根据将IP地址段与第一 IP段进行对比之后的对比结果判断该IP地址段是否存在于任意一个IP数据源中的任一个IP段中。这个判断过程即是对拆分后的IP地址段进行回溯的过程,确认拆分后的IP地址段是否存在于原IP数据源中。例如,某两个相邻界限点为原有的IP数据源中的一 IP段的结束点和另一 IP段的起始点,该结束点和起始点之间的IP地址段不属于任何一个IP数据源,则该IP地址段不能作为第二 IP段,即,不能作为新拆分后的新IP段。
[0076]步骤S2053,如果IP地址段存在于任一个第一 IP段中,则将IP数轴上IP地址段作为第二 IP段。只有当该IP地址段存在于第一 IP段中,则将该IP地址段作为第二 IP地址段,即,新IP段。如果该IP地址段不存在于任一个第一 IP段中,则表明在原有的多个IP数据源中都不存在该段IP地址。则不将该IP地址段作为第二 IP段,继续判断下一个IP地址段是否存在于任一个第一 IP段。
[0077]根据本发明实施例,将划分之后的IP地址段与IP数据源中的第一 IP段进行对t匕,剔除不存在于原有IP数据源中的IP地址段,使得重新划分之后的IP数据源与划分之前的IP数据源中包含的总的IP地址保持一致。
[0078]优选地,在执行完步骤S205之后,IP数据源的处理方法还包括步骤如下:
[0079]步骤S6,获取第一 IP段对应的IP数据源的归属信息,归属信息包括地理信息和运行商信息。第一 IP段为每一个IP数据源中的每一个第一 IP段,获取每一个第一 IP段的归属信息,该归属信息可以是地理信息或者运营商信息,运营商也可以称ISP (InternetService Provider,互联网服务提供商,简称ISP),例如,某一个IP数据源中的第一 IP段B对应的地理信息为北京市。[0080]步骤S7,根据归属信息确定第二 IP段的归属信息。由于第二 IP段是由多个IP数据源中的多个第一 IP段重新划分得到,因此根据第一 IP段的归属信息能够确定第二 IP段的归属信息。另外,第二 IP段可能会存在于多个IP数据源,因此在划分之后的第二 IP段会包含有多个不同的地理信息或者运营商信息。例如,第一IP段C对应的地理信息为天津市,第一 IP段D的对应的地理信息为唐山市,其中,第一 IP段C与第一 IP段D分别为不同IP数据源中的IP段,且第一 IP段C与第一 IP段D之间存在相交的情况,经过本发明实施例中的IP数据源的处理方法处理之后,将第一 IP段C被拆分为第二 IP段X和第二 IP段Y,第一 IP段D被拆分为第二 IP段X和第二 IP段Z,那么,可以看出,第二 IP段X既存在于第一 IP段C中,同时也存在于第一 IP段D中,那么第二 IP段X对应的地理信息可能为天津市,也可能为唐山市,这里可以标记其对应的所有的可能对应的地理信息,以便于进一步确定其归属。第二 IP段Y对应的地理信息为天津市,第二 IP段Z对应的地理信息为唐山市。
[0081]图7是根据本发明第三实施例的IP数据源的处理方法的流程图。该实施例提供的IP数据源的处理方法可以作为上述实施例的IP数据源的处理方法的一种优选实施方式。如图7所示,该IP数据源的处理方法包括步骤如下:
[0082]步骤S301,获取多个IP数据源,任一个IP数据源包括多个第一 IP段。IP数据源也可以称为IP数据库,IP数据库可以用于通过给定的IP地址来确定该IP地址对应的归属信息,该归属信息包括该IP地址所属区域或者所属运营商,例如,获取到一个IP地址A,通过IP数据源或者IP数据库确定该IP地址A的地理位置。每个IP数据源都包括多个第一 IP段,需要说明的是,这里的第一 IP段为任意一个IP段,并非是指某一个IP数据源的第一个IP段,这里的“第一”是为了区分对IP数据源进行重新划分后的IP段,并不对本发明有不当限定。
[0083]任一个IP数据源包括多个第一 IP段,即,每一个IP数据源都包括多个IP段,每一个IP段包括一段IP地址。IP数据源可以通过网络爬取,也可以通过向运行商购买获得。IP数据源可以为2个IP数据源,也可以为2个以上的多个IP数据源。
[0084]步骤S302,将IP地址转化为整类型数据,IP地址包括所有IP地址。可以将每一个IP地址转化为一个整型数据,例如Bigint (—种系统数据类型)类型的数据。这里的IP地址包括所有IP地址。
[0085]步骤S303,将转化后的IP地址不重复地插入到预先生成的数据表中。数据表可以是通过数据库功能预先创建的数据表,将IP地址转化后的数据不重复地插入到该数据表中,使得每各IP地址对应的数据在数据表中只对应一个数据。
[0086]步骤S304,对数据表中的IP地址进行排序,得到拆分依据表。由于数据库具有排序功能,可以采用例如Order by (数据库中用于对数据进行排序的语句)语句的排序功能对数据表中IP地址对应的数据进行排序,得到拆分依据表,该拆分依据表为排序后的数据表,可以用于划分IP数据源。
[0087]步骤S305,将拆分依据表作为IP数轴。由于该拆分依据表可以划分IP数据源,因此将拆分依据表作为IP数轴。
[0088]步骤S306,获取多个IP数据源中的每一个第一 IP段的起始点和结束点。每一个第一 IP段均包括一个起始点和一个结束点,获取的起始点和结束点为每一个IP数据源中的每一个第一 IP段的起始点和结束点。第一 IP段包括多个IP地址,因此,每一个第一 IP段的起始点或者结束点均对应一个IP地址。
[0089]步骤S307,将起始点和结束点分别映射到拆分依据表上。将起始点和结束点分别映射到拆分依据表上,即,将所有起始点和结束点对应的IP地址分别映射到拆分依据表中的IP地址对应的数据上。
[0090]步骤S308,将拆分依据表上对应的起始点和结束点作为界限点。该界限点用于划分IP数据源,由于将所有起始点和结束点对应的IP地址分别映射到拆分依据表对应的IP地址上,因此,在拆分依据表上会有相对应的起始点和结束点,将该拆分依据表上的起始点和结束点作为界限点,其中,如果起始点或者结束点之间出现重复,或者起始点与结束点之间出现重复,那么将所有重复的点作为一个界限点。
[0091]步骤S309,将拆分依据表上相邻的两个界限点之间的IP地址段作为第二 IP段以划分所述IP数据源为多个第二 IP段。每个界限点之间均包括一段IP地址段,也即是IP段,将该IP地址段作为第二 IP段,也即是新IP段,以实现对每一个IP数据源的重新划分。
[0092]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0093]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0094]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种IP数据源的处理方法,其特征在于,包括: 获取多个IP数据源,任一个所述IP数据源包括多个第一 IP段; 生成IP数轴,所述IP数轴上包括所有IP地址; 将多个所述IP数据源中的每一个所述第一 IP段的起始点和结束点分别映射到所述IP数轴上;以及 根据所述IP数轴上的所述起始点和所述结束点划分所述IP数据源为多个第二 IP段。
2.根据权利要求1所述的IP数据源的处理方法,其特征在于,根据所述IP数轴上的所述起始点和所述结束点划分所述IP数据源为多个第二 IP段包括: 将所述IP数轴上对应的所述起始点和所述结束点作为界限点;以及 将所述IP数轴上相邻的两个所述界限点之间的IP地址段作为所述第二 IP段以划分所述IP数据源为多个所述第二 IP段。
3.根据权利要求2所述的IP数据源的处理方法,其特征在于,将相邻的两个所述界限点之间的IP地址段作为所述第二 IP段包括: 将所述IP地址段与所述第一 IP段进行对比; 判断所述IP数轴上所述IP地址段是否存在于任一个所述第一 IP段中;以及 如果所述IP地址段存在于任一个所述第一 IP段中,则将所述IP数轴上所述IP地址段作为第二 IP段。
4.根据权利要求2所述的IP数据源的处理方法,其特征在于,将所述IP数轴上相邻的两个所述界限点之间的IP地址段作为所述第二 IP段之后,所述IP数据源的处理方法还包括: 获取第一 IP段对应的IP数据源的归属信息,所述归属信息包括地理信息和运行商信息;以及 根据所述归属信息确定所述第二 IP段的归属信息。
5.根据权利要求1所述的IP数据源的处理方法,其特征在于, 生成IP数轴包括:将IP地址转化为整型数据,所述IP地址包括所有IP地址;将转化后的所述IP地址不重复地插入到预先生成的数据表中;对所述数据表中的所述IP地址进行排序,得到拆分依据表,所述拆分依据表用于划分所述IP数据源;将所述拆分依据表作为所述IP数轴; 将多个所述IP数据源中的每一个所述第一 IP段的起始点和结束点分别映射到所述IP数轴上包括:获取多个所述IP数据源中的每一个所述第一 IP段的起始点和结束点;将所述起始点和所述结束点分别映射到所述拆分依据表上; 根据所述IP数轴上的所述起始点和所述结束点划分所述IP数据源为多个第二 IP段包括:将所述拆分依据表上对应的所述起始点和所述结束点作为界限点;将所述拆分依据表上相邻的两个所述界限点之间的IP地址段作为第二 IP段以划分所述IP数据源为多个第二 IP段。
6.一种IP数据源的处理装置,其特征在于,包括: 第一获取单元,用于获取多个IP数据源,任一个所述IP数据源包括多个第一 IP段; 生成单元,用于生成IP数轴,所述IP数轴上包括所有IP地址; 映射单元,用于将多个所述IP数据源中的每一个所述第一 IP段的起始点和结束点分别映射到所述IP数轴相应的IP段上;以及 拆分单元,用于根据所述IP数轴上的所述起始点和所述结束点划分所述IP数据源为多个第二 IP段。
7.根据权利要求6所述的IP数据源的处理装置,其特征在于,所述拆分单元包括: 第一生成模块,用于将所述IP数轴上对应的所述起始点和所述结束点作为界限点;以及 第一拆分模块,用于将所述IP数轴上相邻的两个所述界限点之间的IP地址段作为所述第二 IP段以划分所述IP数据源为多个所述第二 IP段。
8.根据权利要求7所述的IP数据源的处理装置,其特征在于,所述第一拆分模块包括: 比较子模块,用于将所述IP地址段与所述第一 IP段进行对比; 判断子模块,用于判断所述IP数轴上所述IP地址段是否存在于任一个所述第一 IP段中;以及 生成子模块,用于如果所述IP地址段存在于任一个所述第一 IP段中,则将所述IP数轴上所述IP地址段作为第二 IP段。
9.根据权利要求7所述的IP数据源的处理装置,其特征在于,所述IP数据源的处理装置还包括: 第二获取单元,用于将所述`IP数轴上相邻的两个所述界限点之间的IP地址段作为所述第二 IP段之后,获取第一 IP段对应的IP数据源的归属信息,所述归属信息包括地理信息和运行商信息;以及 确定单元,用于根据所述归属信息确定所述第二 IP段的归属信息。
10.根据权利要求6所述的IP数据源的处理装置,其特征在于, 所述生成单元包括:转化模块,用于将IP地址转化为整型数据,所述IP地址包括所有IP地址;插入模块,用于将转化后的所述IP地址不重复地插入到预先生成的数据表中;排序模块,用于对所述数据表中的所述IP地址进行排序,得到拆分依据表,所述拆分依据表用于划分所述IP数据源;第二生成模块,用于将所述拆分依据表作为所述IP数轴; 所述映射单元包括:获取模块,用于获取多个所述IP数据源中的每一个所述第一 IP段的起始点和结束点;映射模块,用于将所述起始点和所述结束点分别映射到所述拆分依据表上; 所述拆分单元包括:第三生成模块,用于将所述拆分依据表上对应的所述起始点和所述结束点作为界限点;第二拆分模块,用于将所述拆分依据表上相邻的两个所述界限点之间的IP地址段作为第二 IP段以划分所述IP数据源为多个第二 IP段。
【文档编号】H04L29/12GK103533101SQ201310500740
【公开日】2014年1月22日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】张运, 吴充, 洪超 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1