CN107623755A - 基于学习的智能dns实现方法、装置及电子设备 - Google Patents
基于学习的智能dns实现方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107623755A CN107623755A CN201710927585.5A CN201710927585A CN107623755A CN 107623755 A CN107623755 A CN 107623755A CN 201710927585 A CN201710927585 A CN 201710927585A CN 107623755 A CN107623755 A CN 107623755A
- Authority
- CN
- China
- Prior art keywords
- information
- user
- dns
- address
- study
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明提供了一种基于学习的智能DNS实现方法、装置及电子设备,该方法包括:接收用户发送的DNS域名查询请求;基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息;如果存在用户的IP信息,则根据用户的IP信息确定DNS A记录,并将DNS A记录发送至所述用户。本发明的基于学习的智能DNS实现方法中,是通过本地的IP学习列表获取得到用户的IP信息,得到的用户的IP信息更加准确,也使得最终确定的DNS A记录更加准确,实施过程简单,无需占用大量内存,缓解了现有的依赖于IP地址库进行DNS实现的方法中,最终得到的IP地址准确性差,IP地址库占用大量内存的技术问题。
Description
技术领域
本发明涉及计算机网络的技术领域,尤其是涉及一种基于学习的智能DNS实现方法、装置及电子设备。
背景技术
在用户使用互联网的过程中,可能会访问到和自己接入线路不同的运营商服务器。即一个联通的用户可能会访问到通过电信接入到网络中的应用服务器。跨运营商通信时会导致网络时延大,稳定性低的问题,大大降低了用户体验。
应用服务商为了解决跨运营商访问的问题,会将自己的应用服务器通过多运营商线路接入到网络中。应用服务商多线路接入只是解决跨运营商访问的一个必要步骤,仅此一点还是不够的。这是因为当用户访问该应用服务器所对应的域名时,会通过DNS协议解析出该域名所对应的IP地址。多线路接入时,该域名就会对应多个IP地址。传统的DNS解析器会将多个IP地址按照轮询的方式返回给用户,这样就不能保证用户访问和自己接入线路相同的应用服务器。在此基础上产生了智能DNS服务器。它能够根据用户发起的DNS请求的运营商等信息返回相应的地址,而不是随机返回。
现有的智能DNS是依赖于在DNS服务器内置IP地址库来完成的。IP地址库里包含了每个IP的运营商信息、国家、省、市或更详细的地理位置信息。当DNS请求到达该DNS服务器时,会在IP地址库中查询该请求IP的运营商信息及地理位置信息,从而返回相同运营商且根据地理位置就近性的解析IP地址。
根据IP地址库所实现的智能DNS有如下的要求:首先需要有一个准确的IP地址库,这对一些DNS厂商而言很难自己来维护这样的地址库,只能通过第三方渠道来获取,然而比较权威的地址库诸如腾讯、阿里、百度等并不对外提供整库,而只提供单一IP的查询接口。这就使得获得的第三方IP地址库准确性无法保障。其次,根据地址库进行访问请求的IP信息查询时,需要将整个IP地址库加载到内存中,这需要消耗较多的内存。并且当请求的来源IP不是太多的情况下,使用整个IP地址库来检索,对CPU性能也是一种浪费。
发明内容
有鉴于此,本发明的目的在于提供一种基于学习的智能DNS实现方法、装置及电子设备,以缓解现有的依赖于IP地址库进行DNS实现的方法中,最终得到的IP地址准确性差,IP地址库占用大量内存的技术问题。
第一方面,本发明实施例提供了一种基于学习的智能DNS实现方法,所述方法包括:
接收用户发送的DNS域名查询请求;
基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,其中,所述IP学习列表中包括IP地址和IP信息之间的对应关系,所述IP信息包括:IP的运营商信息,IP的地理位置信息;
如果存在所述用户的IP信息,则根据所述用户的IP信息确定DNS A记录,并将所述DNS A记录发送至所述用户,其中,所述DNS A记录与所述用户的IP信息相同,且所述DNS A记录还为DNS域名所对应的IP地址。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,包括:
根据所述DNS域名查询请求确定所述用户的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学习列表中。
第二方面,本发明实施例还提供了一种基于学习的智能DNS实现装置,所述装置包括:
接收模块,用于接收用户发送的DNS域名查询请求;
第一查询模块,用于基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,其中,所述IP学习列表中包括IP地址和IP信息之间的对应关系,所述IP信息包括:IP的运营商信息,IP的地理位置信息;
确定模块,如果存在所述用户的IP信息,则根据所述用户的IP信息确定DNS A记录,并将所述DNS A记录发送至所述用户,其中,所述DNS A记录与所述用户的IP信息相同,且所述DNS A记录还为DNS域名所对应的IP地址。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述第一查询模块包括:
第一确定单元,用于根据所述DNS域名查询请求确定所述用户的IP地址;
查询单元,用于在所述IP学习列表查询是否存在所述用户的IP地址;
设定单元,如果所述IP学习列表存在所述用户的IP地址,则将所述用户的IP地址对应的IP信息作为所述用户的IP信息。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括:
第二查询模块,如果不存在所述用户的IP信息,则在多个第三方IP信息查询系统中查询所述用户的IP信息。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中所述的方法的步骤。
第四方面,本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中所述的方法。
本发明实施例带来了以下有益效果:本发明实施例提供了一种基于学习的智能DNS实现方法、装置及电子设备,该方法包括:接收用户发送的DNS域名查询请求;基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息,其中,IP学习列表中包括IP地址和IP信息之间的对应关系,IP信息包括:IP的运营商信息,IP的地理位置信息;如果存在用户的IP信息,则根据用户的IP信息确定DNS A记录,并将DNS A记录发送至用户,其中,DNS A记录与用户的IP信息相同,且DNS A记录还为DNS域名所对应的IP地址。
现有的依赖于IP地址库进行DNS实现的方法中,需要一个准确的IP地址库,而实际中,一般是通过第三方的单一IP查询接口获取IP地址库,这就使得获取得到的IP地址库的准确性无法保证,这样也就使得确定得到用户的IP信息准确性差,同时,根据IP地址库进行访问请求的IP信息查询时,需要将整个IP地址库加载到内存中,占用空间大,影响了CPU性能。与传统的依赖于IP地址库进行DNS实现的方法相比,本发明的基于学习的智能DNS实现方法中,DNS服务器接收到用户发送的DNS域名查询请求后,在本地的IP学习列表中查询是否已经存在用户的IP信息,如果已经存在了该用户的IP信息,那么就直接根据该用户的IP信息确定DNS A记录,然后,将DNS A记录发送至用户,该DNS A记录为与用户的IP信息相同且与DNS域名相对应的IP地址。正因为,最终确定的IP地址(即DNS A记录)与用户的IP信息相同,那么,用户在进行访问时接入的就为IP地址对应的服务器,避免了跨运营上通信的现象,也就是说,如果用户的IP信息为浙江杭州的联通用户,那么,发送给用户的DNS A记录(即IP地址)也为通过联通接入到网络中的浙江杭州的服务器,这样就避免了跨运营商通信所带来的种种弊端。本发明的基于学习的智能DNS实现方法中,是通过本地的IP学习列表获取得到用户的IP信息,得到的用户的IP信息更加准确,也使得最终确定的DNS A记录更加准确,实施过程简单,无需占用大量内存,缓解了现有的依赖于IP地址库进行DNS实现的方法中,最终得到的IP地址准确性差,IP地址库占用大量内存的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于学习的智能DNS实现方法的流程图;
图2为本发明实施例提供的基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息的流程图;
图3为本发明实施例提供的在多个第三方IP信息查询系统中查询用户的IP信息的流程图;
图4为本发明实施例提供的一种基于学习的智能DNS实现装置的结构框图;
图5为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于学习的智能DNS实现方法进行详细介绍。
实施例一:
一种基于学习的智能DNS实现方法,参考图1,该方法包括:
S102、接收用户发送的DNS域名查询请求;
在本发明实施例中,该方法的执行主体为DNS服务器,这里的用户可以是用户的电脑,用户的手机等终端设备,本发明实施例对其不做具体限制。
而DNS域名查询请求为DNS通信协议格式的请求。具体的,该DNS域名查询请求为DNS协议的请求报文。
S104、基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息,其中,IP学习列表中包括IP地址和IP信息之间的对应关系,IP信息包括:IP的运营商信息,IP的地理位置信息;
当DNS服务器接收到用户发送的DNS域名查询请求后,就能够基于DNS域名查询请求在本地的IP学习列表中查询是否存在用户的IP信息,也就是说,在IP学习列表中查询是否存在用户使用的终端的IP信息。
S106、如果存在用户的IP信息,则根据用户的IP信息确定DNS A记录,并将DNS A记录发送至用户,其中,DNS A记录与用户的IP信息相同,且DNS A记录还为DNS域名所对应的IP地址。
DNS A记录是用来指定域名对应的IP地址的记录。用户可以将该域名下的网站服务器指向到自己的Web Server上。同时也可以设置域名的子域名。通俗来说,A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。简单来说,A记录是指域名对应的IP地址。
具体的,如果用户的IP信息为浙江杭州的联通用户,那么,DNS服务器就会根据浙江杭州的联通用户这一信息确定出与其相同的DNS A记录,将该DNS A记录发送至用户。
这样,用户在进行访问时也就是访问通过联通接入到网络中的浙江杭州的服务器,跟用户的IP信息相匹配。一方面避免了跨运营商通信所带来的网络延时以及网络的不稳定性;另外,与地理位置相同的服务器之间进行通信,也提高了网络的通信速度以及网络的稳定性。
现有的依赖于IP地址库进行DNS实现的方法中,需要一个准确的IP地址库,而实际中,一般是通过第三方的单一IP查询接口获取IP地址库,这就使得获取得到的IP地址库的准确性无法保证,这样也就使得确定得到用户的IP信息准确性差,同时,根据IP地址库进行访问请求的IP信息查询时,需要将整个IP地址库加载到内存中,占用空间大,影响了CPU性能。与传统的依赖于IP地址库进行DNS实现的方法相比,本发明的基于学习的智能DNS实现方法中,DNS服务器接收到用户发送的DNS域名查询请求后,在本地的IP学习列表中查询是否已经存在用户的IP信息,如果已经存在了该用户的IP信息,那么就直接根据该用户的IP信息确定DNS A记录,然后,将DNS A记录发送至用户,该DNS A记录为与用户的IP信息相同且与DNS域名相对应的IP地址。正因为,最终确定的IP地址(即DNS A记录)与用户的IP信息相同,那么,用户在进行访问时接入的就为IP地址对应的服务器,避免了跨运营上通信的现象,也就是说,如果用户的IP信息为浙江杭州的联通用户,那么,发送给用户的DNS A记录(即IP地址)也为通过联通接入到网络中的浙江杭州的服务器,这样就避免了跨运营商通信所带来的种种弊端。本发明的基于学习的智能DNS实现方法中,是通过本地的IP学习列表获取得到用户的IP信息,得到的用户的IP信息更加准确,也使得最终确定的DNS A记录更加准确,实施过程简单,无需占用大量内存,缓解了现有的依赖于IP地址库进行DNS实现的方法中,最终得到的IP地址准确性差,IP地址库占用大量内存的技术问题。
上述内容只介绍了IP学习列表中存在用户的IP信息的情况,下面对另外一种情况进行介绍,可选地,该方法还包括:
如果不存在用户的IP信息,则在多个第三方IP信息查询系统中查询用户的IP信息。
具体的,如果IP学习列表中不存在该用户的IP信息,那么就通过多个第三方IP信息查询系统查询用户的IP信息。
同时,随机返回一个DNS A记录,该DNS A记录并不一定与用户的IP信息相同。
上述内容只是对基于学习的智能DNS实现方法的整体过程进行了介绍,下面对其中涉及到的具体内容继续详细介绍:
基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息的方式有多种,在一个可选地实施方式中,参考图2,基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息包括以下步骤:
S201、根据DNS域名查询请求确定用户的IP地址;
具体的,DNS服务器在接收到DNS域名查询请求后,进一步查询该请求所属的完整的通信报文。在完整的通信报文中包括了:MAC、用户的IP地址、UDP、DNS域名查询请求。在得到完整的通信报文后,就能够获取得到其中的用户的IP地址。
S202、在IP学习列表查询是否存在用户的IP地址;
在得到用户的IP地址后,根据该用户的IP地址在IP学习列表中查询是否存在用户的IP地址。因为IP学习列表中保存的是IP地址与IP信息之间的对应关系,也就是,在IP学习列表存储的IP地址中查询是不是存在该用户的IP地址。
S203、如果IP学习列表存在用户的IP地址,则将用户的IP地址对应的IP信息作为用户的IP信息。
如果IP学习列表中存在该用户的IP地址,那么将用户的IP地址所对应的IP信息作为用户的IP信息。
比如,用户的IP地址为3.3.3.3,在IP学习列表的IP地址栏中查询是不是有3.3.3.3这样一个地址,如果有3.3.3.3这样一个地址,那么就将该地址对应的IP信息作为用户的IP信息,再比如,3.3.3.3地址对应的IP信息为浙江杭州的联通用户,那么就得到了用户的IP信息为浙江杭州的联通用户。
在多个第三方信息查询系统中查询用户的IP信息的方式有多种,在一个可选地实施方式中,参考图3,在多个第三方IP信息查询系统中查询用户的IP信息包括以下步骤:
S301、向每个第三方IP信息查询系统发送用户IP信息查询请求;
具体的,用户IP信息查询请求是通过第三方查询接口发送的。在本发明实施例中,第三方IP信息查询系统可以为QQ IP信息查询系统,淘宝IP信息查询系统,也可以为其它能够用于查询用户IP信息的系统,本发明实施例对其不做具体限制。
S302、接收每个第三方IP信息查询系统基于用户IP信息查询请求返回的用户IP信息,得到多个IP信息;
在向每个第三方IP信息查询系统发送用户IP信息查询请求后,接收每个第三方IP信息查询系统返回的用户IP信息,得到多个IP信息。
S303、如果多个IP信息相同,则确定多个IP信息为用户的IP信息,并将用户的IP信息保存至IP学习列表中;
比如,得到的多个IP信息都为浙江杭州的联通用户,那么就说明该用户的IP信息确实为浙江杭州的联通用户。
为了方便下次该用户的使用,将用户的IP信息保存至IP学习列表中。以此来不断扩充IP学习列表。
S304、如果多个IP信息不同,则将多个IP信息保存至备份列表,以便将备份列表推送至前台供用户进行识别,识别得到用户的IP信息。
比如,得到的多个IP信息中,有一部分为浙江杭州的联通用户,有一部分为浙江杭州的电信用户,还有一部分为广东的移动用户,那么就将该多个IP信息保存到备份列表中,然后,DNS服务器将该备份列表推送至前台,以供用户进行人工识别,识别得到用户的IP信息。
之所以要向多个第三方IP信息查询系统发送用户IP信息查询请求,是为了确保得到的用户的IP信息的准确性。
可选地,该方法还包括:
在将多个IP信息保存至备份列表,以便将备份列表推送至前台供用户进行识别,识别得到用户的IP信息之后,将用户的IP信息保存至IP学习列表中。
本发明的特点:
本发明使用基于通过向第三方学习的方式来获取用户的IP信息,而非传统的使用本地地址库来获取这些信息的方式来实现智能DNS。
向多个第三方来进行学习用户的IP信息,对于多个第三方返回不一致的情况进行手工甄别,来提高学习结果的准确性。
本方法通过第三方查询接口来获取用户的IP信息,该方式最大的优点是可以获取到权威的IP相关信息,避免了IP地址库不准确的问题。同时只维护有实际查询请求的IP相关信息,减少了使用IP地址库进行整库查询时的大量CPU开销。
实施例二:
一种基于学习的智能DNS实现装置,参考图4,该装置包括:
接收模块20,用于接收用户发送的DNS域名查询请求;
第一查询模块21,用于基于DNS域名查询请求在IP学习列表中查询是否存在用户的IP信息,其中,IP学习列表中包括IP地址和IP信息之间的对应关系,IP信息包括:IP的运营商信息,IP的地理位置信息;
确定模块22,如果存在用户的IP信息,则根据用户的IP信息确定DNS A记录,并将DNS A记录发送至用户,其中,DNS A记录与用户的IP信息相同,且DNS A记录还为DNS域名所对应的IP地址。
本发明的基于学习的智能DNS实现装置中,DNS服务器接收到用户发送的DNS域名查询请求后,在本地的IP学习列表中查询是否已经存在用户的IP信息,如果已经存在了该用户的IP信息,那么就直接根据该用户的IP信息确定DNS A记录,然后,将DNS A记录发送至用户,该DNS A记录为与用户的IP信息相同且与DNS域名相对应的IP地址。正因为,最终确定的IP地址(即DNS A记录)与用户的IP信息相同,那么,用户在进行访问时接入的就为IP地址对应的服务器,避免了跨运营上通信的现象,也就是说,如果用户的IP信息为浙江杭州的联通用户,那么,发送给用户的DNS A记录(即IP地址)也为通过联通接入到网络中的浙江杭州的服务器,这样就避免了跨运营商通信所带来的种种弊端。本发明的基于学习的智能DNS实现装置中,是通过本地的IP学习列表获取得到用户的IP信息,得到的用户的IP信息更加准确,也使得最终确定的DNS A记录更加准确,实施过程简单,无需占用大量内存,缓解了现有的依赖于IP地址库进行DNS实现的装置中,最终得到的IP地址准确性差,IP地址库占用大量内存的技术问题。
可选地,第一查询模块包括:
第一确定单元,用于根据DNS域名查询请求确定用户的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学习列表中。
实施例三:
本发明实施例提供了一种电子设备,参考图5,该电子设备包括:处理器30,存储器31,总线32和通信接口33,处理器30、通信接口33和存储器31通过总线32连接;处理器30用于执行存储器31中存储的可执行模块,例如计算机程序。处理器执行极端及程序时实现如方法实施例中描述的方法的步骤。
其中,存储器31可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口33(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线32可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器31用于存储程序,处理器30在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器30中,或者由处理器30实现。
处理器30可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器30中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器30可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器31,处理器30读取存储器31中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的基于学习的智能DNS实现方法、装置以电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于学习的智能DNS实现方法,其特征在于,所述方法包括:
接收用户发送的DNS域名查询请求;
基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,其中,所述IP学习列表中包括IP地址和IP信息之间的对应关系,所述IP信息包括:IP的运营商信息,IP的地理位置信息;
如果存在所述用户的IP信息,则根据所述用户的IP信息确定DNS A记录,并将所述DNSA记录发送至所述用户,其中,所述DNS A记录与所述用户的IP信息相同,且所述DNS A记录还为DNS域名所对应的IP地址。
2.根据权利要求1所述的方法,其特征在于,基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,包括:
根据所述DNS域名查询请求确定所述用户的IP地址;
在所述IP学习列表查询是否存在所述用户的IP地址;
如果所述IP学习列表存在所述用户的IP地址,则将所述用户的IP地址对应的IP信息作为所述用户的IP信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果不存在所述用户的IP信息,则在多个第三方IP信息查询系统中查询所述用户的IP信息。
4.根据权利要求3所述的方法,其特征在于,在多个第三方IP信息查询系统中查询所述用户的IP信息,包括:
向每个所述第三方IP信息查询系统发送用户IP信息查询请求;
接收每个所述第三方IP信息查询系统基于所述用户IP信息查询请求返回的用户IP信息,得到多个IP信息;
如果所述多个IP信息相同,则确定所述多个IP信息为所述用户的IP信息,并将所述用户的IP信息保存至所述IP学习列表中;
如果所述多个IP信息不同,则将所述多个IP信息保存至备份列表,以便将所述备份列表推送至前台供所述用户进行识别,识别得到所述用户的IP信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在将所述多个IP信息保存至备份列表,以便将所述备份列表推送至前台供所述用户进行识别,识别得到所述用户的IP信息之后,将所述用户的IP信息保存至所述IP学习列表中。
6.一种基于学习的智能DNS实现装置,其特征在于,所述装置包括:
接收模块,用于接收用户发送的DNS域名查询请求;
第一查询模块,用于基于所述DNS域名查询请求在IP学习列表中查询是否存在所述用户的IP信息,其中,所述IP学习列表中包括IP地址和IP信息之间的对应关系,所述IP信息包括:IP的运营商信息,IP的地理位置信息;
确定模块,如果存在所述用户的IP信息,则根据所述用户的IP信息确定DNS A记录,并将所述DNS A记录发送至所述用户,其中,所述DNS A记录与所述用户的IP信息相同,且所述DNS A记录还为DNS域名所对应的IP地址。
7.根据权利要求6所述的装置,其特征在于,所述第一查询模块包括:
第一确定单元,用于根据所述DNS域名查询请求确定所述用户的IP地址;
查询单元,用于在所述IP学习列表查询是否存在所述用户的IP地址;
设定单元,如果所述IP学习列表存在所述用户的IP地址,则将所述用户的IP地址对应的IP信息作为所述用户的IP信息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二查询模块,如果不存在所述用户的IP信息,则在多个第三方IP信息查询系统中查询所述用户的IP信息。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5中任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710927585.5A CN107623755A (zh) | 2017-09-30 | 2017-09-30 | 基于学习的智能dns实现方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710927585.5A CN107623755A (zh) | 2017-09-30 | 2017-09-30 | 基于学习的智能dns实现方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107623755A true CN107623755A (zh) | 2018-01-23 |
Family
ID=61091506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710927585.5A Pending CN107623755A (zh) | 2017-09-30 | 2017-09-30 | 基于学习的智能dns实现方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107623755A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449283A (zh) * | 2018-06-22 | 2018-08-24 | 郑州云海信息技术有限公司 | 基于负载均衡的域名解析方法、系统、设备及存储介质 |
CN108712515A (zh) * | 2018-05-03 | 2018-10-26 | 深圳市茁壮网络股份有限公司 | 一种域名解析方法及系统 |
WO2021120355A1 (zh) * | 2019-12-18 | 2021-06-24 | 网宿科技股份有限公司 | 一种域名解析方法、权威域名服务器和本地域名服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764747A (zh) * | 2009-12-24 | 2010-06-30 | 北京世纪互联宽带数据中心有限公司 | 内容分发网络流量智能调度方法、装置及系统 |
CN103684885A (zh) * | 2013-12-31 | 2014-03-26 | 新浪网技术(中国)有限公司 | 一种网站服务器访问异常确定方法及装置 |
CN105516385A (zh) * | 2015-12-02 | 2016-04-20 | 传线网络科技(上海)有限公司 | 域名解析方法、服务器和系统 |
CN107197059A (zh) * | 2017-07-27 | 2017-09-22 | 杭州迪普科技股份有限公司 | 一种dns解析方法及装置 |
-
2017
- 2017-09-30 CN CN201710927585.5A patent/CN107623755A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764747A (zh) * | 2009-12-24 | 2010-06-30 | 北京世纪互联宽带数据中心有限公司 | 内容分发网络流量智能调度方法、装置及系统 |
CN103684885A (zh) * | 2013-12-31 | 2014-03-26 | 新浪网技术(中国)有限公司 | 一种网站服务器访问异常确定方法及装置 |
CN105516385A (zh) * | 2015-12-02 | 2016-04-20 | 传线网络科技(上海)有限公司 | 域名解析方法、服务器和系统 |
CN107197059A (zh) * | 2017-07-27 | 2017-09-22 | 杭州迪普科技股份有限公司 | 一种dns解析方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712515A (zh) * | 2018-05-03 | 2018-10-26 | 深圳市茁壮网络股份有限公司 | 一种域名解析方法及系统 |
CN108712515B (zh) * | 2018-05-03 | 2021-05-11 | 深圳市茁壮网络股份有限公司 | 一种域名解析方法及系统 |
CN108449283A (zh) * | 2018-06-22 | 2018-08-24 | 郑州云海信息技术有限公司 | 基于负载均衡的域名解析方法、系统、设备及存储介质 |
WO2021120355A1 (zh) * | 2019-12-18 | 2021-06-24 | 网宿科技股份有限公司 | 一种域名解析方法、权威域名服务器和本地域名服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488791B (zh) | 数据访问方法、系统及数据仓库 | |
CN109547286B (zh) | 一种cdn节点的选择方法、设备及存储介质 | |
CN104468487B (zh) | 通信认证方法及装置、终端设备 | |
CN108401037A (zh) | 用户终端和设备的绑定方法、装置和系统 | |
US11409819B2 (en) | Method and device for recommending social user | |
CN110198530B (zh) | 免流量服务的调度处理方法、装置、设备及存储介质 | |
CN107623755A (zh) | 基于学习的智能dns实现方法、装置及电子设备 | |
CN104125208A (zh) | 数据传输方法及装置 | |
US20200252363A1 (en) | Method and device for managing a user | |
CN103561121A (zh) | 一种dns的解析方法、装置和浏览器 | |
CN108429739B (zh) | 一种识别蜜罐的方法、系统及终端设备 | |
CN108494799A (zh) | 数据共享方法和系统 | |
CN114338594B (zh) | 在Kubernetes环境下的ARP代答方法、装置、设备及存储介质 | |
US20170289243A1 (en) | Domain name resolution method and electronic device | |
CN108282508A (zh) | 地理位置的确定方法及装置、信息推送方法及装置 | |
CN103109517A (zh) | 一种双栈终端访问服务器的方法、终端和系统 | |
CN109831494A (zh) | 用户数据管理方法及设备 | |
CN105809471A (zh) | 一种获取用户属性的方法、装置及电子设备 | |
CN105704246A (zh) | 一种基于sdn架构的网络分流装置和方法 | |
CN104965676A (zh) | 一种随机存取存储器的访问方法、装置及控制芯片 | |
CN109561165A (zh) | 域名系统配置方法及相关装置 | |
EP2587844A2 (en) | NFC tag location | |
CN111367870A (zh) | 一种绘本共享方法、装置和系统 | |
CN109933595B (zh) | 一种物联网设备信息共享系统、装置及终端设备 | |
CN108282455A (zh) | 网页请求方法、装置及域名信息解析结果处理方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180123 |