一种基于域名系统的IP地址解析方法及装置与流程
未命名
07-12
阅读:77
评论:0
一种基于域名系统的ip地址解析方法及装置
技术领域
1.本发明涉及域名解析领域,尤其涉及一种基于域名系统的ip地址解析方法及装置。
背景技术:
2.在目前的互联网技术中,终端设备在访问网站时,不需要直接输入网站的互联网协议地址(internet protocol address,ip地址),而是先基于域名系统(domain namesystem,dns)对网站的域名进行域名解析,得到与域名对应的互联网协议地址,再通过互联网协议地址访问对应的网站。但是这样的话,浏览器每次都需要基于dns对网站的域名进行域名解析才能得到对应的ip地址,会导致终端设备访问网站的速度较慢。
3.目前,终端设备在设定时间内将域名与域名对应的ip地址存储在应用缓存以及系统缓存中,从而实现在设定时间内,终端设备访问该网站的时候可以直接从应用缓存或是系统缓存中获取域名对应的ip地址。但是,这样会无法及时获取更新的ip地址,从而导致终端设备无法正常访问网站。
4.因此,如何提高终端设备访问网站的效率,是当前亟需解决的技术问题。
技术实现要素:
5.本发明实施例提供一种基于域名系统的ip地址解析方法及装置,用以解决现有技术中终端设备无法正常访问网站的问题。
6.第一方面,本发明实施例提供一种基于域名系统的ip地址解析方法,包括:从应用缓存中查询目标域名对应的目标ip地址;若从应用缓存中未查询到目标ip地址,则向域名解析服务器发送域名解析请求,域名解析请求中包含目标域名;从域名解析服务器获取目标域名对应的目标ip地址;域名解析服务器用于基于任一域名与ip地址的对应关系,根据域名解析请求向目标域名对应的ip地址发送的第一网络健康度检测请求;若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则将第一网络健康度检测请求对应的ip地址确定为目标ip地址。
7.本发明实施例中,可以根据目标域名从应用缓存中查询目标ip地址,若应用缓存中查询到目标ip地址,从而实现后续根据目标ip地址可以成功访问所需访问的网站。若应用缓存中未查询到目标ip地址,则域名解析服务器中通过第一网络健康度检测结果的第一次数确定目标域名对应的目标ip地址,从而实现后续根据目标ip地址可以成功访问所需访问的网站,提高终端设备访问网站的效率。
8.可选的,针对应用缓存中任一域名与ip地址的对应关系,基于应用缓存向目标域名对应的ip地址发送第二网络健康度检测请求;若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求成功,则累计第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若第二次数大于第二阈值,则将第二网络健康度检测请求
对应的ip地址确定为目标ip地址。
9.可选的,还包括:若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求成功,确定目标域名对应的ip地址是否处于半关闭状态;若目标域名对应的ip地址处于半关闭状态,则累计第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若第二次数大于第二阈值,则将第二网络健康度检测请求对应的ip地址确定为目标ip地址,目标ip地址的状态为可用状态。
10.可选的,若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求失败,则确定目标域名对应的ip地址是否处于半打开状态;若目标域名对应的ip地址处于半打开状态,则累计第二网络健康度检测结果为网络健康度检测请求失败的第三次数;若第三次数大于第三阈值,则将第二网络健康度检测请求对应的ip地址的状态调整为不可用状态。
11.可选的,从域名解析服务器获取目标域名对应的目标ip地址,包括:若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则确定目标域名对应的ip地址的状态是否为禁用状态;若目标域名对应的ip地址的状态为禁用状态,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则将第一网络健康度检测请求对应的ip地址确定为目标ip地址,目标ip地址的状态为可用状态。
12.可选的,还包括:若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求失败,则累计第一网络健康度检测结果为网络健康度检测请求失败的第四次数,若第四次数大于第四阈值,则确定目标域名对应的ip地址的数量是否大于第五阈值,若是,则将第一网络健康度检测请求对应的ip地址的状态调整为禁用状态。
13.可选的,还包括:若目标域名对应的ip地址的数量小于第五阈值,则第一网络健康度检测请求对应的ip地址的状态不变。
14.第二方面,本发明实施例提供的一种基于域名系统的ip地址解析装置,获取单元,用于从应用缓存中查询目标域名对应的目标ip地址;处理单元,用于若从应用缓存中未查询到目标ip地址,则向域名解析服务器发送域名解析请求,域名解析请求中包含目标域名;从域名解析服务器获取目标域名对应的目标ip地址;域名解析服务器用于基于任一域名与ip地址的对应关系,根据域名解析请求向目标域名对应的ip地址发送的第一网络健康度检测请求;若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则将第一网络健康度检测请求对应的ip地址确定为目标ip地址。
15.可选的,获取单元还用于:针对应用缓存中任一域名与ip地址的对应关系,基于应用缓存向目标域名对应的ip地址发送第二网络健康度检测请求;若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求成功,则累计第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若第二次数大于第二阈值,则将第二网络健康度检测请求对应的ip地址确定为目标ip地址。
16.可选的,获取单元还用于:若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求成功,确定目标域名对应的ip地址是否处于半关闭状态;若目标域名对应的ip地址处于半关闭状态,则累计第二网络健康度检测结果为网络健康度检
测请求成功的第二次数;若第二次数大于第二阈值,则将第二网络健康度检测请求对应的ip地址确定为目标ip地址,目标ip地址的状态为可用状态。
17.可选的,获取单元还用于:若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求失败,则确定目标域名对应的ip地址是否处于半打开状态;若目标域名对应的ip地址处于半打开状态,则累计第二网络健康度检测结果为网络健康度检测请求失败的第三次数;若第三次数大于第三阈值,则将第二网络健康度检测请求对应的ip地址的状态调整为不可用状态。
18.可选的,处理单元具体用于:若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则确定目标域名对应的ip地址的状态是否为禁用状态;若目标域名对应的ip地址的状态为禁用状态,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则将第一网络健康度检测请求对应的ip地址确定为目标ip地址,目标ip地址的状态为可用状态。
19.可选的,处理单元还用于:若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求失败,则累计第一网络健康度检测结果为网络健康度检测请求失败的第四次数,若第四次数大于第四阈值,则确定目标域名对应的ip地址的数量是否大于第五阈值,若是,则将第一网络健康度检测请求对应的ip地址的状态调整为禁用状态。
20.可选的,处理单元还用于:若目标域名对应的ip地址的数量小于第五阈值,则第一网络健康度检测请求对应的ip地址的状态不变。
21.第三方面,本发明实施例还提供一种电子设备,包括至少一个处理器以及至少一个存储器,其中,存储器存储有计算机程序,当程序被处理器执行时,使得处理器执行上述第一方面的一种基于域名系统的ip地址解析方法。
22.第四方面,本发明实施例还提供一种计算机可读存储介质,存储介质存储有程序,当程序在计算机上运行时,使得计算机实现执行上述第一方面的一种基于域名系统的ip地址解析方法。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例提供的一种基于域名系统的ip地址解析方法流程图;
25.图2为本发明实施例提供的一种从应用缓存中查询到目标ip地址的方法流程图;
26.图3为本发明实施例提供的一种从域名解析服务器中获取目标域名对应的目标ip地址的方法流程图;
27.图4为本发明实施例提供的一种基于域名系统的ip地址解析装置的结构示意图;
28.图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
29.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进
一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
30.在一种可能的场景下,由于一般都是基于ip地址对网站进行访问,但是,由于ip地址为一连串不规则的数字,可读性比较差,因此,终端设备访问网站的时候,不需要直接输入网站的ip地址,而是先基于dns对网站的域名进行域名解析,得到与域名对应的ip地址,再通过ip地址访问对应的网站。举个例子,终端设备需要访问网站a,那么终端设备首先基于dns对网站的域名进行域名解析,其中域名为www.111.com,解析得到的ip地址为1.110.11.111,然后通过1.110.11.111访问网站a。
31.在一种可能的情况下,由于终端设备每次访问网站的时候,都需要先基于dns对网站的域名进行域名解析,得到域名对应的ip地址,导致查询域名对应的ip地址的效率较低,因此,可以通过设计一种域名缓存机制,使得当终端设备访问过网站a之后,终端设备中的应用以及终端设备的系统将域名和对应的ip地址进行缓存,这样的话,在下一次访问的时候,就不需要通过dns对网站的域名进行域名解析,而是可以直接从应用缓存中或者是系统缓存中获取域名对应的ip地址,从而提高了相应的速度,其中应用缓存和系统缓存是有有效时间的,当过了有效时间之后,终端设备再次访问网站,还是需要先基于dns对网站的域名进行域名解析。需要解释的是,应用缓存是指终端设备中的应用程序内部对域名解析结果进行缓存。系统缓存是指系统将域名解析的结果进行缓存至终端设备中。举个例子,终端设备需要访问网站的时候,首先会从应用缓存中确定是否有域名对应的ip地址,若应用缓存没有的话,再从系统缓存中获取,若系统缓存中也没有的话,则需要通过dns对域名进行域名解析得到域名对应的ip地址。在一种可能的情况下,若域名的ip地址被修改了,但是由于应用缓存和系统缓存是有有效时间的,无法将修改后的ip地址及时的更新到应用缓存和系统缓存中,导致ip地址修改了,但是依然访问的是修改前的ip地址,从而导致终端设备无法成功的访问网站。
32.在另一种可能的情况下,若网站a的域名对应两个ip地址,分别是ip地址1和ip地址2,若ip地址1出现异常,但是网站a的工作人员还没有及时将ip地址1的状态设为不可用状态,因此依旧认为ip地址1的状态为可用状态,那么当终端设备访问网站a的时候,基于dns对网站a的域名进行域名解析,得到ip地址1和ip地址2,任选一个ip地址来访问网站a,若通过ip地址1访问网站a的话,由于ip地址1出现异常,终端设备无法正常访问网站a。
33.基于此,本发明实施例提供的一种基于域名系统的ip地址解析方法,用来解决终端设备无法正常访问网站的问题。
34.如图1所示,为本发明实施例提供的一种基于域名系统的ip地址解析方法流程图,该方法包括以下步骤:
35.步骤101,从应用缓存中查询目标域名对应的目标ip地址。
36.本发明实施例中,举个例子,若终端设备a访问网站b的时候,其中网站b的域名为目标域名,首先会从应用缓存中确定是否有目标域名对应的目标ip地址,若应用缓存没有的话,再通过dns对目标域名进行域名解析得到目标域名对应的目标ip地址。因此,首先终端设备a需要从应用缓存中查询目标域名对应的目标ip地址。
37.步骤102,确定从应用缓存中是否查询到目标ip地址,若是,则执行步骤103,若否,
则执行步骤104。
38.本发明实施例中,本发明实施例中,由于应用缓存的缓存时间是有限的,当过了缓存时间,终端设备在此访问网站的时候,还是需要基于域名解析服务器对目标域名进行域名解析,从而得到目标ip地址。因此,需要去应用缓存中是否查询到目标ip地址。
39.步骤103,结束。
40.本发明实施例中,若从应用缓存中查询到目标ip地址,则根据目标ip地址就可以实现成功访问网站。
41.步骤104,向域名解析服务器发送域名解析请求。
42.本发明实施例中,向域名解析服务器发送域名解析请求,其中域名解析请求包含目标域名。
43.步骤105,从域名解析服务器获取目标域名对应的目标ip地址。
44.本发明实施例中,域名解析服务器基于任一域名与ip地址的对应关系,根据域名解析请求向目标域名对应的ip地址发送的第一网络健康度检测请求;若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则将第一网络健康度检测请求对应的ip地址确定为目标ip地址。其中,第一阈值可以是网络健康度检测请求成功的第一预设次数,假设第一次数为7次,第一阈值为5次,由于第一网络健康度检测结果为网络健康度检测请求成功的次数(7次)多于网络健康度检测请求成功的第一预设次数(5次),从而确定第一网络健康度检测请求对应的ip地址是健康可用的,因此,将第一网络健康度检测请求对应的ip地址确定为目标ip地址。
45.通过上述步骤101至步骤105可以看出,由于应用缓存在缓存时间内可以存储任一域名和ip地址的对应关系,因此,可以根据目标域名从应用缓存中查询目标ip地址,若在应用缓存中查询到目标ip地址,从而实现后续根据目标ip地址可以成功访问所需访问的网站。若应用缓存中未查询到目标ip地址,则通过域名解析服务器获取所述目标域名对应的所述目标ip地址,从而实现后续根据目标ip地址可以成功访问所需访问的网站,提高终端设备访问网站的效率。
46.在一种可能的情况下,从应用缓存中查询到目标ip地址,从而实现后续根据目标ip地址可以正常访问所需访问的网站。下面介绍如何从应用缓存中查询到目标ip地址。
47.如图2所示,为本发明实施例提供的一种从应用缓存中查询到目标ip地址的方法流程图,该方法包括以下步骤:
48.步骤201,从应用缓存中查询目标域名对应的ip地址。
49.本发明实施例中,该步骤的具体内容与上述步骤101相同,在此不做赘述。
50.步骤202,确定从应用缓存中是否查询到目标域名对应的ip地址,若是在,则执行步骤203,若否,则执行步骤204。
51.本发明实施例中,确定从应用缓存中是否查询到目标域名对应的ip地址,若是,则说明应用缓存中存在目标域名对应的ip地址,但是,由于应用缓存是有缓存时间的,在缓存时间内,可以直接从应用缓存中获取目标域名对应的ip地址。举个例子,终端设备a需要访问网站b,由于终端设备a访问过网站b,在缓存时间内,终端设备a可以直接从应用缓存中查询到目标域名对应的ip地址,在一种可能的情况下,目标域名对应的ip地址进行了修改,但
由于应用缓存是有缓存时间的,在缓存时间内,无法将修改后的ip地址及时的进行更新。因此,这样的话,虽然ip地址修改了,但是终端设备a仍然是用从应用缓存中查询到的修改前的ip地址进行访问网站b,导致终端设备a访问网站b失败。为了可以获取目标域名对应的目标ip地址,需要从应用缓存中目标域名对应的ip地址中选择出目标ip地址。若否,则说明从应用缓存中并没有目标域名对应的ip地址,需要后续从域名解析服务器中获取目标域名对应的目标ip地址。
52.步骤203,针对应用缓存中目标域名与ip地址的对应关系,基于应用向目标域名对应的ip地址发送第二网络健康度检测请求。
53.本发明实施例中,为了实现从应用缓存中目标域名对应的ip地址中选择出目标ip地址,需要针对应用缓存中目标域名与ip地址的对应关系,基于应用向目标域名对应的ip地址发送第二网络健康度检测请求。
54.步骤204,结束。
55.本发明实施例中,应用缓存中并没有目标域名对应的ip地址,需要后续从域名解析服务器中获取目标域名对应的目标ip地址。
56.步骤205,确定第二网络健康度检测请求对应的第二网络健康度检测结果是否为网络健康度检测请求成功,若是,则执行步骤206,若否,则执行步骤207。
57.本发明实施例中,通过第二网络健康度检测请求对应的第二网络健康度检测结果便于后续确定目标域名对应的ip地址是否为目标ip地址。其中第二网络健康度检测结果分为两种,一种是网络健康度检测请求成功,一种是网络健康度检测请求失败。
58.步骤206,确定目标域名对应的ip地址的状态是否为半关闭状态,若是,则执行步骤208,若否,则执行步骤209。
59.本发明实施例中,需要解释的是,当目标域名对应的ip地址为不可用状态时,在设定时间间隔之后,将目标域名对应的ip地址的状态设置为半关闭状态,在半关闭状态下,通过第二网络健康度检测结果查看目标域名对应的ip地址的状态是否为可用状态。因此,若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求成功,则需要确定目标域名对应的ip地址的状态是否为半关闭状态。
60.步骤207,确定目标域名对应的ip地址的状态是否为半打开状态,若是,则执行步骤210,若否,则执行步骤211。
61.本发明实施例中,若第二网络健康度检测请求对应的第二网络健康度检测结果为网络健康度检测请求失败,则需要确定目标域名对应的ip地址的状态是否为半打开状态,便于后续根据第二网络健康度检测结果确定目标域名对应的ip地址的状态是否为不可用状态。
62.步骤208,确定累计目标域名的网络健康度检测请求成功的第二次数是否大于第二阈值,若是,则执行步骤212,若否,则执行步骤213。
63.本发明实施例中,为了较准确的确定目标域名对应的ip地址的状态,需要确定累计目标域名的网络健康度检测请求成功的第二次数,若第二次数大于第二阈值,则确定将第二网络健康度检测请求对应的ip地址的状态从半打开状态切换成可用状态,并将第二网络健康度检测请求对应的ip地址确定为目标ip地址。其中,第二阈值可以是网络健康度检测请求成功的第二预设次数,假设目标域名对应的ip地址的状态为半打开状态,第二次数
为8次,第二阈值为5次,由于第二网络健康度检测结果为网络健康度检测请求成功的次数(8次)多于网络健康度检测请求成功的第二预设次数(5次),从而确定目标域名对应的ip地址是健康可用的,因此,第二网络健康度检测请求对应的ip地址的状态从半打开状态切换成可用状态。若第二次数小于第二阈值,第二网络健康度检测请求对应的ip地址的状态依旧为半打开状态,且需要记录网络健康度检测请求成功的第二次数,直至第二次数大于第二阈值,才可以确定第二网络健康度检测请求对应的ip地址的状态从半打开切换成可用状态。举个例子,若第二次数为3次,第二阈值为5次,由于第二网络健康度检测结果为网络健康度检测请求成功的次数(3次)少于网络健康度检测请求成功的第二预设次数(5次),从而确定第二网络健康度检测请求对应的ip地址的状态依旧为半打开状态,因此,第二网络健康度检测请求对应的ip地址的状态依旧为半打开状态。
64.步骤209,将第二网络健康度检测请求对应的ip地址确定为目标ip地址。
65.本发明实施例中,由于第二网络健康度检测请求对应的网络健康度检测结果为网络健康度检测请求成功,且第二网络健康度检测请求对应的ip地址的状态不是半打开状态,则说明第二网络健康度检测请求对应的ip地址的状态为可用状态,因此可以确定,第二网络健康度检测请求对应的ip地址为目标ip地址。
66.步骤210,确定累计第二网络健康度检测请求失败的第三次数是否大于第三阈值,若是,则执行步骤214,若否,则执行步骤215。
67.本发明实施例中,为了较准确的确定目标域名对应的ip地址的状态,需要确定累计第二网络健康度检测请求失败的第三次数,若第三次数大于第三阈值,则确定第二网络健康度检测请求对应的ip地址的状态从半打开状态切换成不可用状态。其中,第三阈值可以是网络健康度检测请求失败的第三预设次数,假设目标域名对应的ip地址的状态为半打开状态,第三次数为8次,第三阈值为5次,由于第三网络健康度检测结果为网络健康度检测请求失败的次数(8次)多于网络健康度检测请求失败的第三预设次数(5次),从而确定第二网络健康度检测请求对应的ip地址是不健康,不可用的,因此,第二网络健康度检测请求对应的ip地址的状态从半打开状态切换成不可用状态。
68.若第三次数小于第三阈值,第二网络健康度检测请求对应的ip地址的状态依旧为半打开状态,且需要记录网络健康度检测请求失败的第三次数,直至第三次数大于第三阈值,才可以确定第二网络健康度检测请求对应的ip地址的状态从半打开切换成不可用状态。举个例子,第三次数为4次,第三阈值为5次,由于第三网络健康度检测结果为网络健康度检测请求失败的次数(4次)少于网络健康度检测请求失败的第三预设次数(5次),从而确定第二网络健康度检测请求对应的ip地址的状态依旧为半打开状态。
69.步骤211,第二网络健康度检测请求对应的ip地址为非目标ip地址。
70.本发明实施例中,由于第二网络健康度检测请求对应的网络健康度检测结果为网络健康度检测请求失败,且第二网络健康度检测请求对应的ip地址的状态不是半打开状态,则说明第二网络健康度检测请求对应的ip地址的状态为不可用状态,因此可以确定,第二网络健康度检测请求对应的ip地址为非目标ip地址。
71.步骤212,确定第二网络健康度检测请求对应的ip地址的状态为可用状态,并将第二网络健康度检测请求对应的ip地址确定为目标ip地址。
72.步骤213,记录第二网络健康度检测请求成功的第二次数。
73.本发明实施例中,由于第二次数小于第二阈值,则需要记录第二网络健康度检测请求成功的第二次数,便于后续累计第二次数直至大于第二阈值,从而可以确定第二网络健康度检测请求对应的ip地址的状态从半关闭状态切换成可用状态。
74.步骤214,确定第二网络健康度检测请求对应的ip地址的状态为不可用状态,并将第二网络健康度检测请求对应的ip地址为非目标ip地址。
75.步骤215,记录第二网络健康度检测请求失败的第三次数。
76.本发明实施例中,由于第三次数小于第三阈值,则需要记录第一网络健康度检测请求失败的第三次数,便于后续累计第三次数直至大于第三阈值,从而可以确定第二网络健康度检测请求对应的ip地址的状态从半打开切换成不可用状态。
77.通过步骤201至步骤215可以看出,在缓存时间内可以及时将目标域名对应的ip地址分为两类,分别是目标ip地址和非目标ip地址,其中可以通过目标ip地址实现成功访问网站,通过确定非目标ip地址,从而实现在缓存时间内及时发现并剔除异常ip地址。进而实现提高终端设备访问网站的效率。
78.在一种可能的情况下,应用缓存中查询不到目标ip地址,那么则需要从域名解析服务器中获取目标域名对应的目标ip地址。下面介绍如何从域名解析服务器中获取目标域名对应的目标ip地址。
79.如图3所示,为本发明实施例提供的一种从域名解析服务器中获取目标域名对应的目标ip地址的方法流程图,该方法包括以下步骤:
80.步骤301,向域名解析服务器发送域名解析请求。
81.本发明实施例中,本步骤的具体内容与步骤105相同,在此不做赘述。
82.步骤302,从域名解析服务器获取目标域名对应的ip地址。
83.本发明实施例中,在一种可能的情况下,网站a的目标域名对应两个ip地址,其中分别是ip地址3和ip地址4,若ip地址3出现异常,但是网站a的工作人员未将ip地址3的状态设为禁用状态,这时若终端设备b需要通过目标域名访问网站a,首先需要从域名解析服务器中获取目标域名对应的ip地址,其中获取的ip地址为ip地址3和ip地址4,若通过ip地址3访问网站a,则会访问失败,因此,需要从域名解析服务器中获取目标域名对应的ip地址,然后从目标域名对应的ip地址中筛选出目标ip地址,从而实现可以成功访问网站a。
84.步骤303,针对域名解析服务器中目标域名与ip地址的对应关系,基于域名解析服务器向目标域名对应的ip地址发送第一网络健康度检测请求。
85.本发明实施例中,为了实现从目标域名对应的ip地址中筛选出目标ip地址,需要针对域名解析服务器中目标域名与ip地址的对应关系,基于域名解析服务器向目标域名对应的ip地址发送第一网络健康度检测请求。
86.步骤304,确定第一网络健康度检测请求对应的第一网络健康度检测结果是否为网络健康度检测请求成功,若是,则执行步骤305,若否,则执行步骤306。
87.本发明实施例中,通过第一网络健康度检测请求对应的第一网络健康度检测结果,便于后续根据第一网络健康度检测结果确定目标域名对应的ip地址是否为目标ip地址。其中第一网络健康度检测结果分为两种,一种为网络健康度检测请求成功,一种为网络健康度检测请求失败。
88.步骤305,确定目标域名对应的ip地址的状态是否为禁用状态,若是,则执行步骤
307,若否,则执行步骤308。
89.本发明实施例中,当目标域名对应的ip地址的状态为禁用状态时,需要根据第一网络健康度检测结果确定是否需要将目标域名对应的ip地址切换成可用状态。
90.步骤306,确定累计第一网络健康度检测请求失败的第四次数是否大于第四阈值,若是,则执行步骤309,若否,则执行步骤310。
91.本发明实施例中,若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求失败,则需要确定累计目标域名的网络健康度检测请求失败的第四次数是否大于第四阈值,若是,可以确定第一网络健康度检测请求对应的ip地址为禁用状态。若否,需要记录目标域名的网络健康度检测请求失败的第四次数直至第四次数大于第四阈值。
92.步骤307,确定累计第一网络健康度检测请求成功的第一次数是否大于第一阈值,若是,则执行步骤311,若否,则执行步骤312。
93.本发明实施例中,若目标域名对应的ip地址的状态为禁用状态,为了实现确定目标域名对应的ip地址的状态是否恢复至可用状态,需要确定累计目标域名的网络健康度检测成功的第一次数是否大于第一阈值,若是,可以确定第一网络健康度检测请求对应的ip地址的状态恢复至可用状态,若否,需要记录目标域名的网络健康度检测请求成功的第一次数直至第一次数大于第一阈值。
94.步骤308,确定第一网络健康度检测请求对应的ip地址为目标ip地址。
95.本发明实施例中,由于第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,且第一网络健康度检测请求对应的ip地址的状态不是禁用状态,则确定第一网络健康度检测请求对应的ip地址的状态为可用状态,即可确定第一网络健康度检测请求对应的ip地址为目标ip地址。
96.步骤309,确定目标域名对应的ip地址的数量是否大于第五阈值,若是,则执行步骤313,若否,则执行步骤314。
97.本发明实施例中,由于网络健康度检测请求失败的第四次数大于第四阈值,则说明该第一网络健康度检测请求对应的ip地址存在异常。其中,第四阈值可以是网络健康度检测请求失败第四预设次数,假设第四次数为8次,第四阈值为4次,由于第一网络健康度检测结果为网络健康度检测请求失败的次数(8次)多于网络健康度检测请求失败的第四预设次数(4次),从而确定第一网络健康度检测请求对应的ip地址存在异常,无法正常使用。但是在一种可能的情况下,若目标域名对应的ip地址的数量为1,其中该ip地址存在异常,若将目标域名唯一的ip地址关闭,会影响用户对网站的使用。若目标域名对应的ip地址的数量为2,ip地址分别为ip地址5和ip地址6,其中若ip地址5存在异常,可以将ip地址5的状态设为禁用状态,这样的话,还可以使用ip地址6访问网站,从而不影响用户对网站的使用。因此,需要确定目标域名对应的ip地址的数量是否大于第五阈值,若是,则可以将第一网络健康度检测请求对应的ip地址的状态设置为禁用状态,从而可以避免使用该ip地址导致访问网站失败,若否,则继续使用第一网络健康度检测请求对应的ip地址。其中第五阈值可以是ip地址的设定数量,假设目标域名对应的ip地址的数量为2,第五阈值为ip地址的数量为1,由于目标域名对应的ip地址(2个)大于第五阈值(1个),则说明将第一网络健康度检测请求对应的ip地址的状态设置为禁用状态,目标域名还有一个ip地址可以使用,不影响用户对
网站的使用,因此,通过将第一网络健康度检测请求对应的ip地址的状态设置为禁用状态,从而可以避免使用该ip地址导致访问网站失败。
98.步骤310,记录第一网络健康度检测请求失败的第四次数。
99.本发明实施例中,由于第四次数小于第四阈值,则需要记录第一网络健康度检测请求失败的第四次数,便于后续累计第四次数直至大于第四阈值,从而可以确定第一网络健康度检测请求对应的ip地址的状态为禁用状态。举个例子,第四次数为3次,第四阈值为4次,由于第一网络健康度检测结果为网络健康度检测请求失败的次数(3次)少于网络健康度检测请求失败的第四预设次数(4次),因此,第一网络健康度检测请求对应的ip地址的状态不变。
100.步骤311,确定第一网络健康度检测请求对应的ip地址的状态为可用状态,并将第一网络健康度检测对应的ip地址确定为目标ip地址。
101.步骤312,记录第一网络健康度检测请求成功的第一次数。
102.本发明实施例中,由于第一次数小于第一阈值,则需要记录第一网络健康度检测请求成功的第一次数,便于后续累计第一次数直至大于第一阈值,从而可以确定第一网络健康度检测请求对应的ip地址的状态为可用状态。
103.步骤313,将第一网络健康度检测请求对应的ip地址的状态确定为禁用状态。
104.步骤314,将第一网络健康度检测请求对应的ip地址的状态确定为可用状态,并将第一网络健康度检测请求对应的ip地址确定为目标ip地址。
105.通过上述步骤301至步骤314可以看出,通过根据域名解析服务器的网络健康度检测请求成功的次数和网络健康度检测请求失败的次数,可以从目标域名对应的ip地址中筛选出目标ip地址,将异常的ip地址筛除,从而实现避免访问异常的ip地址,提高终端设备访问网站的效率。
106.基于上述同样的技术构思,本发明实施例提供一种基于域名系统的ip地址解析装置,如图4所示,该装置400包括:获取单元401,用于从应用缓存中查询目标域名对应的目标ip地址;处理单元402,用于若从所述应用缓存中未查询到所述目标ip地址,则向域名解析服务器发送域名解析请求,所述域名解析请求中包含所述目标域名;从所述域名解析服务器获取所述目标域名对应的所述目标ip地址;所述域名解析服务器用于基于任一域名与ip地址的对应关系,根据所述域名解析请求向所述目标域名对应的ip地址发送的第一网络健康度检测请求;若所述第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计所述第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若所述第一次数大于所述第一阈值,则将所述第一网络健康度检测请求对应的ip地址确定为所述目标ip地址。
107.可选的,获取单元401还用于:针对所述应用缓存中任一域名与ip地址的对应关系,基于所述应用缓存向所述目标域名对应的ip地址发送第二网络健康度检测请求;若所述第二网络健康度检测请求对应的所述第二网络健康度检测结果为网络健康度检测请求成功,则累计所述第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若所述第二次数大于第二阈值,则将所述第二网络健康度检测请求对应的ip地址确定为所述目标ip地址。
108.可选的,获取单元401还用于:若所述第二网络健康度检测请求对应的所述第二网
络健康度检测结果为网络健康度检测请求成功,确定所述目标域名对应的ip地址是否处于半关闭状态;若所述目标域名对应的ip地址处于半关闭状态,则累计所述第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若所述第二次数大于所述第二阈值,则将所述第二网络健康度检测请求对应的ip地址确定为所述目标ip地址,所述目标ip地址的状态为可用状态。
109.可选的,获取单元401还用于:若所述第二网络健康度检测请求对应的所述第二网络健康度检测结果为网络健康度检测请求失败,则确定所述目标域名对应的ip地址是否处于半打开状态;若所述目标域名对应的ip地址处于半打开状态,则累计所述第二网络健康度检测结果为网络健康度检测请求失败的第三次数;若所述第三次数大于第三阈值,则将所述第二网络健康度检测请求对应的ip地址的状态调整为不可用状态。
110.可选的,处理单元402具体用于:若所述第一网络健康度检测请求对应的所述第一网络健康度检测结果为网络健康度检测请求成功,则确定所述目标域名对应的ip地址的状态是否为禁用状态;若所述目标域名对应的ip地址的状态为禁用状态,则累计所述第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若所述第一次数大于所述第一阈值,则将所述第一网络健康度检测请求对应的ip地址确定为所述目标ip地址,所述目标ip地址的状态为可用状态。
111.可选的,处理单元402还用于:若所述第一网络健康度检测请求对应的所述第一网络健康度检测结果为网络健康度检测请求失败,则累计所述第一网络健康度检测结果为网络健康度检测请求失败的第四次数,若所述第四次数大于所述第四阈值,则确定所述目标域名对应的ip地址的数量是否大于第五阈值,若是,则将所述第一网络健康度检测请求对应的ip地址的状态调整为禁用状态。
112.可选的,处理单元402还用于:若所述目标域名对应的ip地址的数量小于所述第五阈值,则所述第一网络健康度检测请求对应的ip地址的状态不变。
113.基于相同的技术构思,本技术实施例还提供了一种电子设备,如图5所示,电子设备500包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本技术实施例中不限定处理器501与存储器502之间的具体连接介质,图5中处理器501和存储器502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
114.在本技术实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的基于域名系统的ip地址解析方法中所包括的步骤。
115.其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,从而实现数据处理。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
116.处理器501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列或者其他可
编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于域名系统的ip地址解析方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
117.存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
118.基于相同的技术构思,本技术实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述基于域名系统的ip地址解析方法的步骤。
119.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
120.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
121.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
122.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
123.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
124.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种基于域名系统的网络之间互连的协议ip地址解析方法,其特征在于,包括:从应用缓存中查询目标域名对应的目标ip地址;若从所述应用缓存中未查询到所述目标ip地址,则向域名解析服务器发送域名解析请求,所述域名解析请求中包含所述目标域名;从所述域名解析服务器获取所述目标域名对应的所述目标ip地址;所述域名解析服务器用于基于任一域名与ip地址的对应关系,根据所述域名解析请求向所述目标域名对应的ip地址发送的第一网络健康度检测请求;若所述第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计所述第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若所述第一次数大于所述第一阈值,则将所述第一网络健康度检测请求对应的ip地址确定为所述目标ip地址。2.如权利要求1所述的方法,其特征在于,还包括:针对所述应用缓存中任一域名与ip地址的对应关系,基于所述应用缓存向所述目标域名对应的ip地址发送第二网络健康度检测请求;若所述第二网络健康度检测请求对应的所述第二网络健康度检测结果为网络健康度检测请求成功,则累计所述第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若所述第二次数大于第二阈值,则将所述第二网络健康度检测请求对应的ip地址确定为所述目标ip地址。3.如权利要求2所述的方法,其特征在于,还包括:若所述第二网络健康度检测请求对应的所述第二网络健康度检测结果为网络健康度检测请求成功,确定所述目标域名对应的ip地址是否处于半关闭状态;若所述目标域名对应的ip地址处于半关闭状态,则累计所述第二网络健康度检测结果为网络健康度检测请求成功的第二次数;若所述第二次数大于所述第二阈值,则将所述第二网络健康度检测请求对应的ip地址确定为所述目标ip地址,所述目标ip地址的状态为可用状态。4.如权利要求2所述的方法,其特征在于,还包括:若所述第二网络健康度检测请求对应的所述第二网络健康度检测结果为网络健康度检测请求失败,则确定所述目标域名对应的ip地址是否处于半打开状态;若所述目标域名对应的ip地址处于半打开状态,则累计所述第二网络健康度检测结果为网络健康度检测请求失败的第三次数;若所述第三次数大于第三阈值,则将所述第二网络健康度检测请求对应的ip地址的状态调整为不可用状态。5.如权利要求1所述的方法,其特征在于,从所述域名解析服务器获取所述目标域名对应的所述目标ip地址,包括:若所述第一网络健康度检测请求对应的所述第一网络健康度检测结果为网络健康度检测请求成功,则确定所述目标域名对应的ip地址的状态是否为禁用状态;若所述目标域名对应的ip地址的状态为禁用状态,则累计所述第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若所述第一次数大于所述第一阈值,则将所述第一网络健康度检测请求对应的ip地址确定为所述目标ip地址,所述目标ip地址的状态为
可用状态。6.如权利要求1所述的方法,其特征在于,还包括:若所述第一网络健康度检测请求对应的所述第一网络健康度检测结果为网络健康度检测请求失败,则累计所述第一网络健康度检测结果为网络健康度检测请求失败的第四次数,若所述第四次数大于所述第四阈值,则确定所述目标域名对应的ip地址的数量是否大于第五阈值,若是,则将所述第一网络健康度检测请求对应的ip地址的状态调整为禁用状态。7.如权利要求6所述的方法,其特征在于,还包括:若所述目标域名对应的ip地址的数量小于所述第五阈值,则所述第一网络健康度检测请求对应的ip地址的状态不变。8.一种基于域名系统的ip地址解析装置,其特征在于,包括:获取单元,用于从应用缓存中查询目标域名对应的目标ip地址;处理单元,用于若从所述应用缓存中未查询到所述目标ip地址,则向域名解析服务器发送域名解析请求,所述域名解析请求中包含所述目标域名;从所述域名解析服务器获取所述目标域名对应的所述目标ip地址;所述域名解析服务器用于基于任一域名与ip地址的对应关系,根据所述域名解析请求向所述目标域名对应的ip地址发送的第一网络健康度检测请求;若所述第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计所述第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若所述第一次数大于所述第一阈值,则将所述第一网络健康度检测请求对应的ip地址确定为所述目标ip地址。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一所述方法的步骤。10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一所述方法的步骤。
技术总结
本发明实施例提供一种基于域名系统的IP地址解析方法及装置,包括:从应用缓存中查询目标域名对应的目标IP地址;若从应用缓存中未查询到目标IP地址,则向域名解析服务器发送域名解析请求,域名解析请求中包含目标域名;从域名解析服务器获取目标域名对应的目标IP地址;域名解析服务器用于基于任一域名与IP地址的对应关系,根据域名解析请求向目标域名对应的IP地址发送第一网络健康度检测请求;若第一网络健康度检测请求对应的第一网络健康度检测结果为网络健康度检测请求成功,则累计第一网络健康度检测结果为网络健康度检测请求成功的第一次数;若第一次数大于第一阈值,则确定第一网络健康度检测请求对应的IP地址为目标IP地址。标IP地址。标IP地址。
技术研发人员:刘乐 杨军 卢道和
受保护的技术使用者:深圳前海微众银行股份有限公司
技术研发日:2023.03.27
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
