一种IP地理信息确定方法、服务器及存储介质与流程

文档序号:17126205发布日期:2019-03-16 00:28阅读:181来源:国知局
一种IP地理信息确定方法、服务器及存储介质与流程

本发明实施例涉及通信技术领域,特别涉及一种ip地理信息确定方法、服务器及存储介质。



背景技术:

随着互联网技术的发展,在人们的生活中在越来越多的领域都会使用到上网服务,并且在进行联网时,都要使用到互联网协议(internetprotocoladdress,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进行区域探测,根据区域探测的结果确定目标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地址的探测信息对目标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的地理信息,其中,映射表中预存了区域信息与地理信息的对应关系。该实现中,当确定目标ip中不包括分段标记信息时,说明此时目标ip中只包含一个ip地址,此时可以直接对一个ip地址进行区域探测,从而确定出一个ip地址的地理信息,并将一个ip地址的地理信息作为目标ip的地理信息,从而实现快速确定目标ip的地理信息。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本申请第一实施例中ip地理信息确定方法的流程图;

图2是本申请第一实施例中一个具体实现中ip地理信息确定方法的流程图;

图3是本申请第二实施例中ip地理信息确定方法的流程图;

图4是本申请第三实施例中ip地理信息确定系统的方框示意图;

图5是本申请第四实施例中服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种ip地理信息确定方法,应用于服务器。具体流程如图1所示,包括以下步骤:

步骤101,获取一个需要进行地理信息确定的目标ip。

具体的说,在本实施方式中的目标ip既可以是系统自动进行提交的,也可以是通过人工进行提交的,并且在通过人工提交时,可以设置目标ip采用周期提交的方式进行提交,而具体的周期时间可以根据实际需要由人工自行进行设定。

另外,本申请中的目标ip可以包括一个或多个ip地址。本实施方式中是通过对目标ip进行区域探测确定目标ip的地理信息的,本申请实施方式中的区域探测指的是通过向与服务器具有连接关系的机器发送针对目标ip的探测指令,根据机器返回的探测结果进行分析,并根据分析结果实现对目标ip地理信息的确定,并通过本实施方式的步骤102至步骤103的内容对目标ip进行区域探测确定目标ip的地理信息进行说明。

步骤102,判断目标ip中是否包括分段标记信息,若是,则执行步骤103,否则,执行步骤104。

需要说明的是,本实施方式中的分段标记信息包括目标ip中包含的ip地址数据大于一个的标志,或二段探测标记。因此当服务器获取到目标ip后,通过对目标ip的属性信息进行检测,根据检测结果确定目标ip中是否包括分段标记信息,若确定存在,则说明需要对目标ip进行分段探测,并根据分段探测结果对目标ip进行分段,若不存在,可以确定目标ip中只有一个ip地址,此时,针对一个独立的ip地址不需要进行分段的操作,直接对该独立的ip地址进行区域确定。

步骤103,对目标ip进行分段探测,并根据分段探测结果对目标ip进行区域探测,根据区域探测的结果确定目标ip的地理信息。

在一个具体实现中,如图2所示,步骤103具体包括步骤1031至步骤1033,其中,如图2所示,对步骤103的过程进行具体说明。

步骤1031,向具有连接关系且性能最优的机器发送针对目标ip中每一个ip地址的第一探测指令,并接收性能最优的机器根据第一探测指令对目标ip中每一个ip地址的探测信息,将目标ip中每一个ip地址的探测信息作为分段探测结果。

具体的说,在本实施方式中,探测信息包括区域值,并且本申请中的区域值可以是通过计算过程间接所获得的,在对目标ip中每一个ip地址进行探测时,会获得每一个ip地址的路由信息,在路由信息中会包括每一个ip地址的探测源、自治系统号(autonomoussystemnumber,asn)、和时延值等参数信息,通过将路由信息中的参数信息按照预设的计算公式进行计算可以得到一个数值,并将该数值称为区域值。本申请实施例中关于区域值具体的计算公式可以根据用户对区域值精度的不同进行设定,例如可以是区域值=a探测源*asn+最后一跳*时延值,当然,本申请实施例中仅是对计算公式进行的举例说明,对于其它类型的计算公式只要能够获得用户要求的区域值,都是在本申请的保护范围内的,本申请并不对计算公式进行具体限定。服务器在经过检测确定目标ip中包括分段标记信息时,说明此时服务器需要对该目标ip进行分段的操作。因为服务器可以与多个机器具有连接关系,而每一个机器的特性是不一样的,在考虑每一个机器的网络连接属性,本身的硬件特性以及负载承载情况等综合因素,选择出一个具有连接关系且性能最优的一个机器,并向所选择出来的该性能最优的机器发送针对目标ip中每一个ip地址的第一探测指令,也就是说,该性能最优的机器在接收到第一探测指令后,会向目标ip中每一个ip地址发送探测包,并接收目标ip中每一个ip地址根据接收的探测包所反馈的探测信息,并将目标ip中每一个ip地址的探测信息作为分段探测结果,当然,本实施方式中的探测结果还可以是通过计算间接获得的,不论是直接获得还是通过计算间接获得,只要根据该探测结果能够实现对目标ip的分段,都是在本申请的保护范围内的。

例如,与服务器具有连接关系的有三个机器,机器1、机器2和机器3,并且通过检测确定机器1的性能是最优的,如果确定目标ip中有四个ip地址分别是ip1、ip2、ip3和ip4,则服务器向机器请发送针对ip1、ip2、ip3和ip4的第一探测指令,机器1在接收到第一探测指令后会分别向ip1、ip2、ip3和ip4发送探测包,并接收ip1、ip2、ip3和ip4根据接收的探测包所分别返回的探测结果,根据探测结果确定ip1的区域值为30、ip2的区域值为31、ip3的区域值为33和ip4的区域值为34。

步骤1032,根据分段探测结果对目标ip进行分段,产生分段结果。

具体的说,在本实施方式中,将目标ip中顺序相连并且区域值的差值在预设范围内的ip地址划分到一个ip段中,将划分得到的每个ip段作为分段结果。

例如,ip1、ip2、ip3和ip4是目标ip中顺序相连的四个ip地址,并且确定ip1的区域值为30、ip2的区域值为31、ip3的区域值为33和ip4的区域值为34,并且设定分段的预设阈值为1,两个相邻的ip地址的区域值的差值没有超过1的话则划分到一个ip段中,因为ip1与ip2的区域值的差值为1,则将ip1与ip2划分到第一ip段中;ip3与ip2的区域值的差值为2大于预设阈值,所以ip3不会划分到第一ip段中;因为ip3与ip4的区域值的差值为1,则将ip3与ip4划分到第二ip段中。从而将划分所得到的包括ip1与ip2的第一ip段,以及包括ip3与ip4的第二ip段作为分段结果。

步骤1033,根据分段结果对目标ip进行区域探测,根据区域探测的结果确定目标ip的地理信息。

具体的说,在每一个ip段中分别选择一个ip地址;向具有连接关系的全部运行机器发送针对所选择的ip地址的第二探测指令,并接收全部运行机器根据第二探测指令对每一个ip段中所选择的ip地址的探测信息,其中,探测信息包括区域值;根据全部运行机器接收的每一个ip段中所选择的ip地址的区域值,确定每一个ip段的区域信息;将每一个ip段的区域信息与映射表进行匹配,并根据匹配结果确定每一个ip段的地理信息,并将每一个ip段的地理信息作为目标ip的地理信息,其中,映射表中预存了区域信息与地理信息的对应关系。

例如,目标ip经过分段后获得的分段结果是:包括ip1与ip2的第一ip段,以及包括ip3与ip4的第二ip段,由于每一个ip段分别代表一个地理信息,并且每一个ip段内的ip地址的地理信息相同,所以任意选择第一ip段中的ip1,以及第二ip段中的ip3。服务器向具有连接关系的全部三个运行机器即机器1、机器2和机器3发送针对ip1以及ip3的第二探测指令,机器1、机器2和机器3在接收到第二探测指令后会分别向ip1以及ip3发送探测包,并接收ip1以及ip3根据接收的探测包所分别返回的探测信息,其中,探测信息包括区域值。机器1所接收到的ip1的区域值为40,机器2所接收到的ip1的区域值为42,机器3所接收到的ip1的区域值为38;并且机器1所接收到的ip3的区域值为58,机器2所接收到的ip3的区域值为62,机器3所接收到的ip3的区域值为60。服务器接收每一个机器所获得的针对ip1以及ip3的区域值,并通过求均值计算获得ip1以及ip3的区域信息,从而确定ip1的区域信息为40,ip3的区域信息为60,即第一ip段的区域信息为40,第二ip段的区域信息为60。并将第一ip段的区域信息以及第二ip段的区域信息分别与映射表进行匹配,由于映射表中预存了区域信息与地理信息的对应关系,并且预存了区域信息40对应的地理信息为北京,区域信息60对应的地理信息为河北,因此通过匹配可以获得第一ip段的地理信息为北京,第二ip段的地理信息为河北,并将第一ip段的地理信息以及第二ip段的地理信息作为目标ip的地理信息。

步骤104,直接对目标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的地理信息更加准确。

本发明的第二实施方式涉及一种ip地理信息确定方法。本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:在根据每一个ip地址的探测信息对目标ip进行分段,产生分段结果之后增加了:将目标ip中所包含的分段标记信息进行删除的步骤。本实施例中的ip地理信息确定方法的流程如图3所示。具体的说,在本实施例中,包括步骤201至步骤204,并且步骤203是由步骤2031至步骤2034组成。其中步骤201至步骤202与第一实施方式中的步骤101至步骤102大致相同,步骤204与第一实施方式中的步骤104大致相同,步骤2031至步骤2032与第一实施方式中的步骤1031至步骤1032大致相同,步骤2034与第一实施方式中的步骤1033大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的ip地理信息确定方法,此处不再赘述。

在步骤201之后,执行步骤202。

步骤202,判断目标ip中是否包括分段标记信息,若是,则执行步骤2031,否则,执行步骤204。

步骤2031,向具有连接关系且性能最优的机器发送针对目标ip中每一个ip地址的第一探测指令,并接收性能最优的机器根据第一探测指令对目标ip中每一个ip地址的探测信息,将目标ip中每一个ip地址的探测信息作为分段探测结果。

步骤2032,根据分段探测结果对目标ip进行分段,产生分段结果。

步骤2033,将目标ip中包含的分段标记信息进行删除。

具体的说,在本实施方式中,在根据分段探测结果对目标ip进行分段,产生分段结果之后,根据产生的分段结果服务器会重新获取针对分段结果的区域探测任务的,而通过将目标ip中包含的分段标记信息进行删除,便于服务器直接确定获取的任务是已经进行过分段操作的,直接对该重新提取的任务进行区域探测就可以,从而提高了服务器的分析处理速度。

需要说明的是,为了进一步提高服务器的分析处理速度,还可以在将分段标记信息进行删除之后,对产生的分段结果添加已分段标记信息。

步骤2034,根据分段结果对目标ip进行区域探测,根据区域探测的结果确定目标ip的地理信息。

步骤204,直接对目标ip进行区域探测,根据区域探测的结果确定目标ip的地理信息。

与现有技术相比,本实施方式提供的ip地理信息确定方法,当服务器获取一个需要进行地理信息确定的目标ip时,通过对目标ip进行区域探测,即通过向与服务器具有连接关系的机器发送针对目标ip的探测指令,根据机器返回的探测结果进行分析,并根据分析结果实现对目标ip地理信息的确定,由于是通过对目标ip进行探测所获得的目标ip的地理信息,从而使所确定的目标ip的地理信息更加准确。并且在根据每一个ip地址的探测信息对目标ip进行分段,产生分段结果之后通过将目标ip中所包含的分段标记信息进行删除,便于服务器直接确定获取的任务是已经进行过分段操作的,直接对该重新提交的任务进行区域探测就可以,从而提高了服务器的分析处理速度。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种ip地理信息确定系统,具体结构如如图4所示。

如图4所示,ip地理信息确定系统包括任务模块401、探测模块402、分析模块403、决策模块404和刷新模块405:

其中,任务模块401,用于生成探测任务即需要进行地理信息确定的目标ip,并将探测任务传输给探测模块。

探测模块402,用于判断探测任务中是否存在二段探测标记,若有则执行分段探测任务,否则执行区域探测任务,并将获得的探测信息传递给分析模块。

分析模块403,用于根据探测信息进行计算获得探测信息的区域值,并将区域值传输给决策模块。

决策模块404,用于检测区域值中是否存在分段标记信息,若存在,则执行分段任务决策,决策后提交“即使任务”到任务模块,任务中携带“已分段标志”;否则,获得区域探测决策,并将区域探测决策传递给刷新模块。

刷新模块405,用于对决策模块提交的区域探测决策的结果进行校验,并自动更新到信息库中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第五实施方式涉及一种服务器,如图5所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施例中的ip地理信息确定方法。

本实施例中,处理器501以中央处理器(centralprocessingunit,cpu)为例,存储器502以可读写存储器(randomaccessmemory,ram)为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现ip地理信息确定方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述ip地理信息确定方法。

存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的ip地理信息确定方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请的第六实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本发明任意方法实施例中涉及的ip地理信息确定方法。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1