本发明涉及物联网领域,特别地,涉及一种网络地址库的确定方法、装置、设备和存储介质。
背景技术:
网络地址库为网络地址与地理地址的映射关系库,其中网络地址可以为dns地址或ip地址,地理地址为服务器等智能服务终端所在的城市。近年来,随着互联网的高速发展,越来越多的权属人对网络地址进行扩容或者买卖,扩容导致增加了许多未知地理地址的网络地址,使原本网络地址库中的网络地址不够全面;买卖导致网络地址的地理地址发生变化,使原本的网络地址库中的映射关系不正确,这些将造成依托于网络地址库的相关应用系统的服务效率降低。
因此,现在亟需一种网络地址库的确定方法,以提升网络地址库中映射关系的全面度和准确度。
技术实现要素:
本文实施例的目的在于提供一种网络地址库的确定方法、装置、设备和存储介质,以提升网络地址库中映射关系的全面度和准确度。
为达到上述目的,一方面,本文实施例提供了一种网络地址库的确定方法,包括:
从多个数据库中获取目标网络地址的多个识别信息;
从所述多个识别信息中识别得到多个地理地址;
对所述多个地理地址进行评分,获得多个评分结果;
根据所述多个评分结果确定所述目标网络地址的目标地理地址。
优选的,所述从所述多个识别信息中识别得到多个地理地址,包括:
判断识别信息中是否存在地址标记;
如果所述识别信息中存在地址标记,则通过所述地址标记确定所述目标网络地址对应的地理地址;
判断所述识别信息是否为关联信息;
如果所述识别信息为所述关联信息,则通过所述关联信息,确定关联数据库;
根据所述关联信息和对应的关联数据库,确定所述目标网络地址对应的地理地址。
优选的,所述对所述多个地理地址进行评分,获得多个评分结果,包括:
根据数据库和关联数据库的权重以及所述目标网络地址的多个地理地址对应的数据库查询路径,确定多个所述地理地址的权重;
根据多个所述地理地址的权重,对多个所述地理地址进行评分,获得多个评分结果。
优选的,所述数据库和关联数据库的权重的确定方法,包括:
根据所述数据库对应的发布机构和发布时间,确定所述数据库的权重;其中所述发布机构包括政府机构、标准制定机构和第三方机构;
根据所述关联数据库对应的发布机构和发布时间,确定所述关联数据库的权重。
优选的,所述根据数据库和关联数据库的权重以及所述目标网络地址的多个地理地址对应的数据库查询路径,确定多个所述地理地址的权重,包括:
根据任一所述地理地址的数据库查询路径,对所述数据库查询路径中经过的数据库和关联数据库进行权重求和;
将求和的结果除以所述数据库查询路径中经过的所有数据库和关联数据库的数目,得到权重值;
将所述权重值作为对应地理地址的权重。
优选的,还包括:
根据所述数据库查询路径中经过的所有数据库和关联数据库的数目,确定对应地理地址的校正系数;
通过所述校正系数对所述对应地理地址的权重进行校正。
优选的,所述根据多个所述地理地址的权重,对多个所述地理地址进行评分,获得多个评分结果,包括:
对所述目标网络地址中相同的地理地址进行权重求和,得到对应地理地址的权重和;
对所述目标网络地址中所有的地理地址进行权重求和,得到对应目标网络地址的总权重;
将所述权重和除以所述总权重,获得对应地理地址的评分结果。
另一方面,本文实施例提供了一种网络地址库的确定装置,所述装置包括:
获取模块:用于从多个数据库中获取目标网络地址的多个识别信息;
识别模块:用于从所述多个识别信息中识别得到多个地理地址;
评分模块:用于对所述多个地理地址进行评分,获得多个评分结果;
确定模块:根据所述多个评分结果确定所述目标网络地址的目标地理地址。
又一方面,本文实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述任意一项所述方法的指令。
又一方面,本文实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
由以上本文实施例提供的技术方案可见,本文实施例通过对多个识别信息识别得到多个地理地址后,对地理地址评分得到多个评分结果,可以通过对多个评分结果进行判断,如果多个评分结果中存在一个评分结果较高的地理地址,则可以将该地理地址作为目标地理地址,如果多个评分结果均较低,则可以将目标网络地址原来记录的地理地址作为目标地理地址。通过这种评分定地址的方式来提高对目标网络地址进行目标地理地址确定时的准确度,进一步在更新原本网络地址库中的映射关系后,可以提高后续依托于网络地址库的相关应用系统的服务效率。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例提供的一种网络地址库的确定方法的流程示意图;
图2示出了本文实施例提供的识别得到多个地理地址的流程示意图;
图3示出了本文实施例提供的进行评分的流程示意图;
图4示出了本文实施例提供的确定多个地理地址权重的流程示意图;
图5示出了本文实施例提供的一种网络地址库的确定方法的另一流程示意图;
图6示出了本文实施例提供的获得多个评分结果的流程示意图;
图7示出了本文实施例提供的一种网络地址库的确定装置的模块结构示意图;
图8示出了本文实施例提供的计算机设备的结构示意图。
附图符号说明:
100、获取模块;
200、识别模块;
300、评分模块;
400、确定模块;
802、计算机设备;
804、处理器;
806、存储器;
808、驱动机构;
810、输入/输出模块;
812、输入设备;
814、输出设备;
816、呈现设备;
818、图形用户接口;
820、网络接口;
822、通信链路;
824、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
网络地址库为网络地址与地理地址的映射关系库,地理地址为服务器等智能服务终端所在的城市。随着互联网的高速发展,越来越多的权属人对网络地址进行扩容或者买卖,扩容导致增加了许多未知地理地址的网络地址,使原本网络地址库中的网络地址不够全面;买卖导致网络地址的地理地址发生变化,使原本的网络地址库中的映射关系不正确,这些将造成依托于网络地址库的相关应用系统的服务效率降低。
为了解决上述问题,本文实施例提供了一种网络地址库的确定方法。图1是本文实施例提供的一种网络地址库的确定方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
参照图1,一种网络地址库的确定方法,包括:
s101:从多个数据库中获取目标网络地址的多个识别信息。
s102:从所述多个识别信息中识别得到多个地理地址。
s103:对所述多个地理地址进行评分,获得多个评分结果。
s104:根据所述多个评分结果确定所述目标网络地址的目标地理地址。
通过对多个识别信息识别得到多个地理地址后,对地理地址评分得到多个评分结果,可以通过对多个评分结果进行判断,如果多个评分结果中存在一个评分结果较高的地理地址,则可以将该地理地址作为目标地理地址,如果多个评分结果均较低,则可以将目标网络地址原来记录的地理地址作为目标地理地址。通过这种评分定地址的方式来提高对目标网络地址进行目标地理地址确定时的准确度,进一步在更新原本网络地址库中的映射关系后,可以提高后续依托于网络地址库的相关应用系统的服务效率。
其中,目标网络地址可以为ip地址或dns地址。在步骤s101之前,首先需要获取目标网络地址。具体的,目标网络地址可以通过:在公司的互联网出入口或dns请求流量的关键路径上部署数据包抓包设备,抓取其中的基于udp报文接口的dns请求数据包,该数据包的源地址即为dns地址;也可以通过:在dns服务器上开启日志分析,抓取其中日志信息中的dns请求源地址,即为dns地址;还可以通过:由第三方提供的dns代理服务或cdn解析服务等要求中提供的实时或阶段性的dns地址等。
除此之外,还可以增加对于目标网络地址所属国家的判断。例如我们只对亚太区的目标网络地址进行识别,则可以通过icann(theinternetcorporationforassignednamesandnumbers,互联网名称与数字地址分配机构)发布的域名地址库来查询目标网络地址所属的国家,判断该国家是否为亚太区,如果该国家属于亚太区,则可以进行后续的操作,如果该国家不属于亚太区,则可以放弃该目标网络地址。
在获取到目标网络地址后,可以通过多个数据库对目标网络地址进行查询,多个数据库包括rdap数据库、whois数据库、bgp路由数据库表等。例如:rdap数据库可以查询到对应目标网络地址的公司地址、联系邮箱、联系电话等,通过多个数据库的查询,可以获取目标网络地址的多个识别信息,例如:公司董事长、公司地址、联系邮箱等。
参照图2,在本文实施例中,所述从所述多个识别信息中识别得到多个地理地址,包括:
s1021:判断识别信息中是否存在地址标记。
s1022:如果所述识别信息中存在地址标记,则通过所述地址标记确定所述目标网络地址对应的地理地址。
s1023:判断所述识别信息是否为关联信息。
s1024:如果所述识别信息为所述关联信息,则通过所述关联信息,确定关联数据库。
s1025:根据所述关联信息和对应的关联数据库,确定所述目标网络地址对应的地理地址。
其中,步骤s1021和步骤s1023没有前后关系,可以并行执行。地址标记为能够确定地理地址的标记信息,识别信息中可能存在也可能不存在地址标记,例如:地址标记为beijing或bj表明地理地址为北京,地址标记为电话区号010表明地理地址为北京,识别信息为公司董事长时,地址标记为身份证号开头110表明地理地址为北京,如果识别信息中存在地址标记,可以通过地址标记确定目标网络地址对应的地理地址。关联信息为能够关联到其他数据库的信息,例如:识别信息为bgp自治域系统号200,而bgp自治域系统号可以关联到另一个数据库,在该数据库中通过bgp自治域系统号200可以查到该号码对应的联系方式或公司地址等,则对应的bgp自治域系统号为关联信息。
如果识别信息为关联信息,则通过关联信息确定关联数据库。根据关联信息和关联数据库又可以确定多个识别信息,对于这些识别信息,可以循环执行s1021至s1025,进一步判断识别信息中是否存在地址标记,识别信息是否为关联信息,直至识别信息不为关联信息。此时可以通过数据库a关联到数据库b再关联到数据库c,如果通过数据库c确定了地理地址为北京,则形成了一个数据库查询路径a-b-c,如果通过数据库a确定了地理地址为上海,则数据库查询路径为a。由此对于目标网络地址,可能对应多条数据库查询路径,以及多个地理地址。
参照图3,在本文实施例中,所述对所述多个地理地址进行评分,获得多个评分结果,包括:
s1031:根据数据库和关联数据库的权重以及所述目标网络地址的多个地理地址对应的数据库查询路径,确定多个所述地理地址的权重。
s1032:根据多个所述地理地址的权重,对多个所述地理地址进行评分,获得多个评分结果。
进一步的,所述数据库和关联数据库的权重的确定方法,包括:
根据所述数据库对应的发布机构和发布时间,确定所述数据库的权重;其中所述发布机构包括政府机构、标准制定机构和第三方机构。
根据所述关联数据库对应的发布机构和发布时间,确定所述关联数据库的权重。
具体的,对于数据库和关联数据库来说,不同数据库和关联数据库的发布机构不同,发布时间也不同。可以通过以下方式对具体确定数据库的权重:对发布机构为政府机构的数据库赋权重为a,对发布机构为标准制定机构的数据库赋权重为b,对发布机构为第三方机构的数据库赋权重为c,其中a>b>c;对于发布时间在一年内的数据库赋权重为m,发布时间在一到三年的数据库赋权重为n,发布时间为三到五年的数据库赋权重为x,发布时间为五年以上的数据库赋权重为y,其中m>n>x>y。假设某一数据库的发布机构为政府机构,发布时间为一年内,则该数据库的权重为a×m。
参照图4,进一步的,所述根据数据库和关联数据库的权重以及所述目标网络地址的多个地理地址对应的数据库查询路径,确定多个所述地理地址的权重,包括:
s1031a:根据任一所述地理地址的数据库查询路径,对所述数据库查询路径中经过的数据库和关联数据库进行权重求和。
s1031b:将求和的结果除以所述数据库查询路径中经过的所有数据库和关联数据库的数目,得到权重值。
s1031c:将所述权重值作为对应地理地址的权重。
具体的,已知数据库和关联数据库的权重以及多个地理地址对应的数据库查询路径后,可以通过下述方式确定对应地理地址的权重:假设目标网络地址对应有三个数据库查询路径,分别是a、b和a-b-c,其中a和a-b-c对应的地理地址均为北京,b对应的地理地址为上海。数据库a的权重为q,数据库b的权重为p,数据库c的权重为u,则三个数据库查询路径对应的权重分别为q、p、
参照图5,在本文实施例中,还包括:
s201:根据所述数据库查询路径中经过的所有数据库和关联数据库的数目,确定对应地理地址的校正系数。
s202:通过所述校正系数对所述对应地理地址的权重进行校正。
具体的,可以设置总数目为数据库和关联数据库数目之和,校正系数随总数目的增大而减小,符合边界递减效应,可以令总数目为1时,校正系数为1,总数目为2时,校正系数为0.95,总数目为3时,校正系数为0.9……校正系数等差递减。对于上述地理地址为北京来说,权重q对应的总数目为1,校正系数为1,校正时为q×1,校正后仍为q,权重
参照图6,在本文实施例中,所述根据多个所述地理地址的权重,对多个所述地理地址进行评分,获得多个评分结果,包括:
s1032a:对所述目标网络地址中相同的地理地址进行权重求和,得到对应地理地址的权重和。
s1032b:对所述目标网络地址中所有的地理地址进行权重求和,得到对应目标网络地址的总权重。
s1032c:将所述权重和除以所述总权重,获得对应地理地址的评分结果。
具体的,根据上述例子,对于同一个目标网络地址来说,地理地址可能为北京或上海。地理地址北京来说,北京的权重和为q+(q+p+u)×0.3,对于地理地址上海来说,上海的权重和为p。目标网络地址的总权重为q+(q+p+u)×0.3+p,其中北京的评分结果为:
进一步的,所述根据所述多个评分结果确定所述目标网络地址的目标地理地址,具体为:判断多个评分结果中是否存在任一评分结果大于d1,如果存在任一评分结果大于或等于d1,则该评分结果对应的地理地址为目标地理地址。如果所有评分结果均小于d1,则判断目标网络地址的原地理地址是否对应有评分结果且该评分结果大于或等于d2,如果原地理地址对应有评分结果且该评分结果大于d2,则该原地理地址为目标地理地址。如果所有评分结果均小于d1,且目标网络地址的原地理地址没有对应的评分结果,或所有评分结果均小于d1,且目标网络地址的原地理地址对应的评分结果小于d2,则判断多个评分结果中评分结果最高者是否大于d3,如果多个评分结果中评分结果最高者大于d3,则该评分结果对应的地理地址为目标地理地址。其中d1至少为50%,d2和d3均小于d1。
如下实例:假设取d1为50%,d2为40%,d3为30%,对于某一目标网络地址来说,如果地理地址为北京的评分结果为60%,地理地址为上海的评分结果为40%,则该目标网络地址的目标地理地址为北京。如果原本网络地址库中记录了原地理地址为广州,地理地址为北京的评分结果为30%,地理地址为上海的评分结果为30%,地理地址为广州的评分结果为40%,则该目标网络地址的目标地理地址为广州。如果原本网络地址库中记录了原地理地址为广州,地理地址为北京的评分结果为45%,地理地址为上海的评分结果为25%,地理地址为广州的评分结果为30%,则该目标网络地址的目标地理地址为北京。
基于上述所述的一种网络地址库的确定方法,本文实施例还提供一种网络地址库的确定装置。所述的装置可以包括使用了本文实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本文实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本文实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图7是本文实施例提供的一种网络地址库的确定装置一个实施例的模块结构示意图,参照图7所示,本文实施例提供的一种网络地址库的确定装置包括:获取模块100、识别模块200、评分模块300、确定模块400。
获取模块100:用于从多个数据库中获取目标网络地址的多个识别信息。
识别模块200:用于从所述多个识别信息中识别得到多个地理地址。
评分模块300:用于对所述多个地理地址进行评分,获得多个评分结果。
确定模块400:根据所述多个评分结果确定所述目标网络地址的目标地理地址。
本文一实施例中,参照图8所示,还提供一种计算机设备802。计算机设备802可以包括一个或多个处理器804,诸如一个或多个中央处理单元(cpu)或图形处理器(gpu),每个处理单元可以实现一个或多个硬件线程。计算机设备802还可以包括任何存储器806,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储器806上并可在处理器804上运行的计算机程序,所述计算机程序被所述处理器804运行时,可以执行根据上述方法的指令。非限制性的,比如,存储器806可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备802的固定或可移除部件。在一种情况下,当处理器804执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备802可以执行相关联指令的任一操作。计算机设备802还包括用于与任何存储器交互的一个或多个驱动机构808,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备802还可以包括输入/输出模块810(i/o),其用于接收各种输入(经由输入设备812)和用于提供各种输出(经由输出设备814)。一个具体输出机构可以包括呈现设备816和相关联的图形用户接口818(gui)。在其他实施例中,还可以不包括输入/输出模块810(i/o)、输入设备812以及输出设备814,仅作为网络中的一台计算机设备。计算机设备802还可以包括一个或多个网络接口820,其用于经由一个或多个通信链路822与其他设备交换数据。一个或多个通信总线824将上文所描述的部件耦合在一起。
通信链路822可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路822可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图1-图6中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图6所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。