说明书
发明名称 : 域名处理方法、装置、电子设备以及存储介质
[0001]
本申请涉及计算机技术领域,更具体地,涉及一种域名处理方法、装置、电子设备以及存储介质。
[0002]
随着经济和社会的发展,手机已经变成了人们的必需品,而手机中的应用程序在获取网络资源的过程中会涉及到域名的解析。而相关的域名解析过程中的安全性以及可靠性都有待提升。
[0004]
鉴于上述问题,本申请提出了一种域名处理方法、装置、电子设备以及存储介质,以改善上述问题。
[0005]
第一方面,本申请提供了一种域名处理方法,应用于客户端,所述方法包括:当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名;查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址;若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0006]
第二方面,本申请提供了一种域名处理装置,所述装置包括:域名获取单元,用于当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名;IP查找单元,用于查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址;网络服务处理单元,用于若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0007]
第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行以实现上述的方法。
[0008]
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。
[0009]
本申请提供的一种域名处理方法、装置、电子设备以及存储介质,在当检测到需要请求网络服务时,获取进行网络服务请求的域名,然后查找是否存储有历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址,若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。从而通过上述方式 使得,在进行网络服务请求时,可以直接采用本地存储的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。
[0010]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]
图1示出了本申请实施例提出的一种域名处理方法的应用网络环境图;
[0012]
图2示出了本申请实施例提出的一种域名处理方法的流程图;
[0013]
图3示出了本申请实施例提出的一种域名处理方法中一种网络服务的示意图;
[0014]
图4示出了本申请再一实施例提出的一种域名处理方法的流程图;
[0015]
图5示出了本申请另一实施例提出的一种域名处理方法的流程图;
[0016]
图6示出了本申请又一实施例提出的一种域名处理方法的流程图;
[0017]
图7示出了本申请又一实施例提出的一种域名处理方法的流程图;
[0018]
图8示出了本申请实施例提出的一种域名处理装置的结构框图;
[0019]
图9示出了本申请再一实施例提出的一种域名处理装置的结构框图;
[0020]
图10示出了本申请另一实施例提出的一种域名处理装置的结构框图;
[0021]
图11示出了本申请实时中的用于执行根据本申请实施例的域名处理方法的电子设备的结构框图;
[0022]
图12示出了本申请实时中的用于保存或者携带实现根据本申请实施例的域名处理方法的程序代码的存储单元。
[0023]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0024]
域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。例如,www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打wikipedia的名字来代替电话号码(IP地址)。我们直接调用网站的名字以后,DNS就会将便于用户使用的名字(如www.wikipedia.org)转化成便于机器识别的IP地址(如208.80.152.2)。
[0025]
如图1所示,当用户在图1中所示的电子设备100中的客户端中输入或者选择www.wikipedia.org作为目标域名后,电子设备100将www.wikipedia.org发送到域名服务器200,域名服务器200就会对www.wikipedia.org进行解析得到对应的IP地址,然后将该解析得到的IP地址返回给电子设备100,然后电子设备100就会向该IP地址所指向的服务器300发送网络服务请求。其中,该客户端可以为具备网络通信功能的应用程序,例如,可以为浏览器,也可以为即时聊天软件,或者也可以为视频软件等。
[0026]
而发明人在研究中发现,在基于DNS进行域名解析的过程中,可能会出现域名劫持等问题,造成无法正常的进行域名的解析。并且,如果每次都是在需要向网络或者指定的服务器进行网络服务请求时,再将域名发送给DNS服务器进行域名解析,会降低整合网络服务请求的效率。
[0027]
因此,发明人提出了申请中的在进行网络服务请求时,获取到进行所述网络服务请求所需的域名后,可以直接采用本地存储的历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题的域名处理方法、装置、电子设备以及存储介质。
[0028]
需要说明的,在电子设备中运行有具有前台界面的客户端,例如,浏览器、即使聊天软件或者视频软件等。还可以运行一些不会向用户展示网络资源而是对前述的客户端进行管理的组件。此外,电子设备中还可以运行一些仅在后台运行而不具有用户交互界面的组件,其中,前述的组件也可以以独立的应用程序运行,也可以作为客户端的一个SDK插件运行。那么对于本申请实施例提供的域名处理方法,可以运行于前述的客户端,也可以运行于前述的组件,而对于其中的具体运行方式,将通过后续的实施例进行相信的介绍。
[0029]
下面将结合附图具体描述本申请的各实施例。
[0030]
请参阅图2,本申请实施例提供的一种域名处理方法,应用于客户端,所述方法包括:
[0031]
步骤S110:当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0032]
其中,网络服务请求可以是客户端检测到客户端中的域名输入区域处有域名输入后触发,也可以是客户端检测到所展示的某个超链接被触控后触发。例如,若客户端检测到域名输入区域中输入有域名,然后检测到开始搜索的控件被触发后,即判断需要进行网络服务请求,并且将输入区域处所输入的域名作为进行所述网络服务请求所需的域名。
[0033]
再例如,客户端的界面中显示有一个配置有超链接的文本、图片或者视频,例如,该文本、图片或者视频对应的超链接为oppo.com,那么当客户端检测到该文本、图片或者视频被触控后,及判断需要进行网络服务请求,并且将该被触控文本、图片或者视频所对应的超链接作为进行所述网络服务请求所需的域名。例如,在客户端所显示的设备A的控制界面中,显示有内容为启动这个文本,那么对于内容为启动的文本其对应配置有超链接为用于进行指令转发的服务器的域名。可以理解的是,进行指令转发的服务器可以理解为将用户的控制指令转发到受控设备处的服务器。
[0034]
如图3所示,客户端可以运行在控制终端100中,那么客户端所发送的控制指令可以由移动终端网络(例如,2G/3G/4G/5G网络)传输到云端91中的服务器中,进而再由云端91中的服务器经过路由器90以及网关98转发给受控设备99。那么在这种方式下,客户端所可以显示受控设备99的控制界面,而在该界面中所显示的内容为启动这个文本所配置的域名为指向的地址为云端91中的服务器。
[0035]
步骤S120:查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址。
[0036]
可以理解的是,有效的IP地址为客户端判定的可以成功进行网络服务请求的IP地址。作为一种方式,在客户端第一次进行网络服务请求时,本地还未存储有有效的IP地址,那么客户端可以直接基于HTTPDNS方式进行域名解析,以便得到对应的IP地址。然后在验证所解析到的IP地址可以成功进行网络服务请求后,将该解析得到的IP地址作为有效的IP地址存储在本地,以便客户端在执行步骤S120的过程中可以查找到。
[0037]
步骤S130:若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0038]
在本申请实施例中,客户端可以基于多种协议生成网络服务请求。例如,可以基于http(HyperText Transfer Protocol)协议或者udp(User Datagram Protocol)协议生成网络服务请求。
[0039]
步骤S140:若未查找到有与所述域名对应的有效的IP地址,基于域名解析的方式获取与所述域名对应的IP地址。
[0040]
步骤S150:基于所述域名解析方式获取的IP地址生成网络服务请求。
[0041]
本申请提供的一种域名处理方法,在当检测到需要请求网络服务时,获取进行网络服务请求的域名,然后查找是否存储有历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址,若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。从而通过上述方式使得,在进行网络服务请求时,可以直接采用本地存储的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。
[0042]
请参阅图4,本申请实施例提供的一种域名处理方法,应用于客户端,所述方法包括:
[0043]
步骤S210:当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0044]
步骤S220:查找是否存储有与所述域名对应的IP地址。
[0045]
步骤S221:若查找到没有与所述域名对应的IP地址,基于所述域名解析方式获取的IP地址生成网络服务请求。
[0046]
步骤S222:若查找到有与所述域名对应的IP地址,检测所述与所述域名对应的IP地址是否满足指定条件。
[0047]
作为一种方式,所述查找是否存储有与所述域名对应的有效的IP地址的步骤包括:
[0048]
查找是否存储有与所述域名对应的IP地址;若查找到有与所述域名对应的IP地址,检测所述与所述域名对应的IP地址是否满足指定条件;若检测到所述与所述域名对应的IP地址满足所述指定条件,判定所述与所述域名对应的IP地址为有效的IP地址。
[0049]
可选的,所述指定条件包括:所述与所述域名对应的IP地址没有访问失败的记录信息;或者所述与所述域名对应的IP地址的最近一次访问失败的记录时刻距离当前时刻超过指定时长。
[0050]
步骤S230:若检测到所述与所述域名对应的IP地址满足所述指定条件,判定所述与所述域名对应的IP地址为有效的IP地址。
[0051]
步骤S231:基于所述查找到的IP地址生成网络服务请求。
[0052]
步骤S232:若检测到所述与所述域名对应的IP地址不满足所述指定条件,判定所述与所述域名对应的IP地址不为有效的IP地址,基于所述域名解析方式获取的IP地址生成网络服务请求。
[0053]
本申请提供的一种域名处理方法,使得获取到进行所述网络服务请求所需的域名后,可以直接采用本地存储的历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。并且,在从本地获取IP地址的过程中,可以通过既定的规则先验证本地存储的IP地址的有效性,从而提升服务请求的成功率以及可靠性。
[0054]
请参阅图5,本申请实施例提供的一种域名处理方法,应用于客户端,所述方法包括:
[0055]
步骤S310:当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0056]
步骤S320:在第一存储区域查找是否存储有与所述域名对应的有效的IP地址。
[0057]
作为一种存储方式,第一存储区域中可以采用关联数据表来存储域名以及域名对应IP地址。例如,如下表所示:
[0058]
[表0001]
运营商 |
IP |
域名 |
移动 |
192.168.0.1 |
Abcd.com |
电信 |
192.168.0.2 |
Dasd.com |
联通 |
192.168.0.3 |
Qwer.com |
ssid |
192.168.0.4 |
Dasde.com |
[0059]
在上述数据表中,字段运营商表征IP地址适配的网络运行商。
[0060]
其中,作为一种方式,客户端可以将满足指定条件的IP地址作为与所述域名对应的有效的IP地址。可以理解的是,客户端所确定的有效的IP地址为可以成功进行网络服务请求的IP地址,那么作为一种方式,客户端可以对第一存储区域的IP地址进行网络服务请求的成功情况进行记录。以基于http协议生成网络服务请求为例,客户端在基于http协议生成并发送网络服务请求后,若有同样基于http协议响应数据返回后,客户端可以识别响应数据中的http响应头的statu字段的值,若该statu字段的值为200,表征成功进行了网络服务请求;若该statu字段的值为400表征只返回了错误代码或者客户端在指定时间后没有接收到基于http协议的响应数据,则会判定未成功进行网络服务请求。
[0061]
那么在这种方式下,可选的,该指定条件包括:所述与所述域名对应的IP地址没有访问失败的记录信息;或者所述与所述域名对应的IP地址的最近一次访问失败的记录时刻距离当前时刻超过指定时长。需要说明的是,服务器的IP地址可能因为更换网络运营商或者所采用的IP为动态IP地址而会发生改变,而再加上如果域名解析系统未即时进行更新那么就会造成所解析得到的IP地址为旧的IP地址,进而造成无法成功请求到网络服务。可选的,用于对控制指令转发的服务器配置有多个IP地址分别在不同的时间段内生效,进而使得服务器的IP地址可以根据时间段动态变化,增加服务器抵抗网络攻击的能力。
[0062]
例如,作为一种动态IP地址配置方式,用于对控制指令转发的服务器配置有192.168.0.2、192.168.0.3、192.168.0.4以及192.168.0.5这四个IP地址,可以理解的是这四个IP都是映射的同一个域名比如abcd.com。并且配置192.168.0.2、192.168.0.3、192.168.0.4以及192.168.0.5分别在一天24小时内均分的时间段内生效,其中,192.168.0.2为在0点到6点生效,192.168.0.3在6点到12点生效,192.168.0.4在12点到18点生效,192.168.0.5在18点到24(也是就是0点)点生效,可以理解的是,对于不同的时间段需要采用生效的IP地址才可以控制服务器完成所请求的网络服务。例如,当在9点时用户操作的控制终端向该配置有多个IP的服务器发送用于控制受控设备的网络服务请求时,该网络服务请求的目的IP地址需要为192.168.0.3才能将请求发送到服务器中。
[0063]
在一种方式中,在客户端基于第一存储区域所存储的IP地址未成功进行网络服务请求后,就可以判定该IP地址不是有效的IP地址。而在另一种方式中,可以理解的是,若域名所指向的服务器采用的是动态的IP地址,那么就有可能会在一定时间周期内进行IP地址的切换,或者说是在每次启动时重新分配得到新的IP地址,那么就会出现虽然某一个IP地址无法成功进行网络服务请求,但是在一定时间后却又可以进行网络服务请求。
[0064]
那么基于上述方式,客户端可以先判定所请求网络服务的服务器对应的IP地址为固定IP地址还是动态IP地址,若所采用的为固定IP地址,那么客户端可以将前述的指定条件确定为仅包括与所述域名对应的IP地址没有访问失败的记录信息,而若所请求网络服务的服务器对应的IP地址为动态IP地址,那么就判定前述的指定条件确定为仅包括所述与所述域名对应的IP地址的最近一次访问失败的记录时刻距离当前时刻超过指定时长。其中,该指定的时长可以为服务器的IP动态更新IP地址的一个周期的时长。
[0065]
其中,作为一种方式,客户端和客户端进行网络服务请求的服务器是由同一个开发商提供的,那么在客户端中可以存储有服务器的域名以及域名对应的IP地址的配置方式,从而客户端通过对该配置方式进行识别就可以了解到服务器是采用的固定IP地址还是动态的IP地址。
[0066]
步骤S330:若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0067]
步骤S340:若未查找到有与所述域名对应的有效的IP地址,在第二存储区域查找是否存储有与所述域名对应的待选IP地址,所述第二存储区域与所述第一存储区域不同。
[0068]
需要说明的是,在本申请实施例中,第二存储区域中存储的与域名对应的IP地址为还未 经过筛选的待选的IP地址,对于第二存储区域中待选的IP地址中被选中后的IP地址就会存储到前述的第一存储区域中,因此,第一存储区域所存储的IP地址更加适配客户端,所以在这种方式下,客户端会优先查找第一存储区域中存储的IP地址,在第一存储区域所存储的IP地址无效的情况下,或者未查找到与请求网络服务所需的域名对应的IP地址的情况下,再到第一存储区域进行查找。
[0069]
类似的,在第二存储区域中,也可以以关联数据表的方式对应存储域名和IP地址。例如,如下表所示:
[0071]
相比于第一存储区域中存储IP地址的数据表,在第二存储区域中的数据表具有更多的字段。例如,“有效时间戳”字段用来存储IP地址对应的有效时间段,字段“端口”用来存储IP地址所适配的访问端口,字段“权重”用来存储IP地址被采用的推荐度,其中权重越高,推荐度越高。需要说明的是,对于“有效时间戳”字段,为了便于进行数据存储,客户端可以将有效时间段所表征的开始时刻以及结束时刻进行特征值计算(例如,哈希计算)后,将计算得到的特征值存储到“有效时间戳”字段内,而当需要查询有效时间段的时候,将数据再做反向计算即可。
[0072]
作为一种方式,所述在第二存储区域查找是否存储有与所述域名对应的待选IP地址的步骤包括:在第二存储区域的指定文件(例如,上述的数据表)中查找是否有与所述域名对应的IP地址,若在所述指定文件中有与所述域名对应的IP地址,检测所述指定文件中有与所述域名对应的IP地址是否满足有效条件,若满足所述有效条件的IP地址作为待选IP地址。其中,所述有效条件包括以下条件中的至少一个:当前时刻在IP地址对应的有效时间戳内;以及IP地址对应的访问成功率高于指定值。其中,当前时刻在IP地址对应的有效时间戳内可以理解为当前时刻处于有效时间段的开始时刻和结束时刻之间。
[0073]
作为另外一种方式,所述第二存储区域还存储有每个待选IP地址对应的第一网络特征信息,所述从所述待选IP地址中确定目标IP地址的步骤包括:获取客户端所接入网络的第二网络特征信息;将所述待选IP地址中对应的第一网络特征信息与所述第二网络特征信息匹配的IP地址作为目标IP地址,进而基于所述目标IP地址生成网络服务请求。可以理解的是,数据在同一个网络运营商所提供的设备之间传输的效率通常高于进行跨运运营商进行数据传输的效率。那么在这种方式下,客户端在识别到自己所接入的网络为移动(运营商名称)的网络时,可以采用第二存储区域中存储的同样适配移动的IP地址,以便提升服务请求效率。那么基于上述情况,所述第一网络特征信息可以包括适配的网络运营商,所述第二网络特征信息包括适配的网络运营商。那么在这种情况下,所述将所述待选IP地址中对应的第一网络特征信息与所述第二网络特征信息匹配的IP地址作为目标IP地址的步骤包括:将所述待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址作为目标IP地址。
[0074]
作为再一种方式,所述第二存储区域还存储有每个待选IP地址对应的权重;所述将所述 待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址作为目标IP地址的步骤包括:获取参考IP地址的数量,所述参考IP地址为所述待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址;若识别所述数量大于1,对比所述参考IP地址各自对应的权重;将对应权重最大的一个参考IP地址作为目标IP地址。
[0075]
步骤S350:若查找到有所述待选IP地址,从所述待选IP地址中确定目标IP地址,基于所述目标IP地址生成网络服务请求。
[0076]
步骤S360:将所述目标IP地址与所述域名对应存储到所述第一存储区域。
[0077]
步骤S370:若未查找到有所述待选IP地址,基于所述域名解析方式获取的IP地址生成网络服务请求。
[0078]
本申请提供的一种域名处理方法,使得获取到进行所述网络服务请求所需的域名后,可以直接采用本地存储的历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。并且,在本实施例中可以通过多级缓存历史基于HTTPDNS方式解析得到的IP地址,从而使得可以先在第一存储区域查找已经经过计算确定的可直接使用的IP地址,若在第一存储区域没有查找到有效的IP地址,可以再到第二存储区域查找的,还未经过计算确定的IP地址,并且在第二存储区域查找到有与域名对应的IP地址后,可以经过计算选择一个与当前客户端最匹配的IP地址生成网络服务请求,进而进一步的提升了域名到IP地址转换过程中的稳定性以及可靠性。
[0079]
请参阅图6,本申请实施例提供的一种域名处理方法,应用于客户端,所述方法包括:
[0080]
步骤S410:当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0081]
步骤S420:查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址。
[0082]
步骤S430:若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0083]
步骤S440:若未查找到有所述待选IP地址,向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求。
[0084]
步骤S450:基于所述第一域名解析请求和所述第二域名解析请求各自的响应结果,确定与所述域名对应的IP地址。
[0085]
作为一种方式,所述基于所述第一域名解析请求和所述第二域名解析请求各自的响应结果,确定与所述域名对应的IP地址的步骤包括:
[0086]
若检测到先接收到所述第一域名解析请求的响应结果,从所述第一域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址;
[0087]
若检测先到接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址。
[0088]
再者,所述若检测到先接收到所述第一域名解析请求的响应结果,从所述第一域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址的步骤之后还包括:
[0089]
若接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址存储到所述第二存储区域,并覆盖所述第二存储区域中所述域名对应的待选IP地址。作为一种方式,为了进一步提升第二域名解析请求的响应结果的可靠性,可以在接收到第二域名解析请求的响应结果后,先进行合法性验证,在验证通过后再进行存储。需要说明的是,HTTPDNS服务端可以对返回给客户端的响应消息使用HmacSHA256签名算法进行加密签名,得到对应的签名数组再使用Base64进行编码得到一个字符串,将该字符串设置到响应结果的HTTP Header中。客户端收到响应结果后,对收到的响应结果使用相同的算法,也得到一个字符串,将这个字符串和HTTP Header中的字符串进行对比,相同的话则验证通过。
[0090]
需要说明的是,传统的DNS方式进行域名解析的过程中会出现域名劫持的风险,造成无 法成功返回所需的IP地址,或者返回的IP地址存在被串改的风险。那么作为一种方式,若客户端在同时基于异步的方式发送了前述的第一域名解析请求和所述第二域名解析请求的情况下,先接收到了第二域名解析请求的响应结果,那么可以先基于第二域名解析请求的响应结果中的IP地址生成网络服务请求后,再进行前述的对响应结果进行验证和存储的操作。
[0091]
作为一种方式,在执行步骤S440之前还包括:获取所述需要进行网络服务请求的业务的时效需求。可选的,所述获取所述需要进行网络服务请求的业务的时效需求的步骤包括:若识别所述业务为进行设备控制,判定所述进行设备控制的业务的时效需求为第一时效需求;若识别所述业务为进行设备配置,判定所述进行设备控制的业务的时效需求为第二时效需求。
[0092]
若所述时效需求满足第一时效需求,向DNS服务器发送携带有所述域名的第一域名解析请求,并基于所述第一域名解析请求的响应结果,确定与所述域名对应的IP地址;若所示时效性满足第二时效需求,执行所述步骤S440,其中,所述第一时效需求对应的时效性高于所述第二时效需求对应的时效性。
[0093]
本申请提供的一种域名处理方法,使得获取到进行所述网络服务请求所需的域名后,可以直接采用本地存储的历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。并且,在检测到若未查找到有所述待选IP地址时,可以同时基于DNS方式和HTTPDNS两种方式进行域名解析,进一步的保证了域名解析的成功率以及可靠性,也提升了网络服务请求的成功率。而且,进一步的,可以根据向DNS服务器发送携带有所述域名的第一域名解析请求,以及指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求的响应的先后顺序来确定作为网络服务请求的目的IP地址。
[0094]
请参阅图7,本申请实施例提供的一种域名处理方法,应用于具备与客户端通信功能的组件,所述方法包括,所述方法包括:
[0095]
步骤S510:当检测客户端到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0096]
作为一种方式,可以对客户端进行适应性的改变,以便客户端和组件之间可以通过进程间通信的方式进行数据交互,进而使得组件获取到客户端在什么时候需要进行网络服务请求。
[0097]
步骤S520:查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址。
[0098]
步骤S530:若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0099]
步骤S540:若未查找到有与所述域名对应的有效的IP地址,基于域名解析方式获取的IP地址生成网络服务请求。
[0100]
需要说明的是,本实施例中组件执行步骤S520和步骤S530的具体方式,可以参见前述方法实施例中的内容,此处不再赘述。而基于组件的方式来实现,可以使得在多个客户端均可以集中通过一个组件来实现前述方法实施例中的内容。
[0101]
请参阅图8,本申请实施例提供的一种域名处理装置500,所述装置500包括:
[0102]
域名获取单元510,用于当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名。
[0103]
IP查找单元520,用于查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址。
[0104]
网络服务处理单元530,用于若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[0105]
作为一种方式,所述IP查找单元520,具体用于查找是否存储有与所述域名对应的IP地址;若查找到有与所述域名对应的IP地址,检测所述与所述域名对应的IP地址是 否满足指定条件;若检测到所述与所述域名对应的IP地址满足所述指定条件,判定所述与所述域名对应的IP地址为有效的IP地址。
[0106]
其中,可选的,所述指定条件包括:所述与所述域名对应的IP地址没有访问失败的记录信息;或者所述与所述域名对应的IP地址的最近一次访问失败的记录时刻距离当前时刻超过指定时长。
[0107]
作为一种方式,IP查找单元520,具体用于在第一存储区域查找是否存储有与所述域名对应的有效的IP地址;若未查找到有与所述域名对应的有效的IP地址,在第二存储区域查找是否存储有与所述域名对应的待选IP地址,所述第二存储区域与所述第一存储区域不同;若查找到有所述待选IP地址,从所述待选IP地址中确定目标IP地址,基于所述目标IP地址生成网络服务请求;将所述目标IP地址与所述域名对应存储到所述第一存储区域。可选的,所述第一存储区域为内存,所述第二存储区域为文件系统。
[0108]
作为一种方式,IP查找单元520,具体用于在第二存储区域的指定文件中查找是否有与所述域名对应的IP地址;若在所述指定文件中有与所述域名对应的IP地址;检测所述指定文件中有与所述域名对应的IP地址是否满足有效条件;若满足所述有效条件的IP地址作为待选IP地址。
[0109]
其中,可选的,所述有效条件包括以下条件中的至少一个:当前时刻在IP地址对应的有效时间戳内;以及IP地址对应的访问成功率高于指定值。
[0110]
作为一种方式,所述第二存储区域还存储有每个待选IP地址对应的第一网络特征信息。在这种方式下,IP查找单元520,具体用于获取客户端所接入网络的第二网络特征信息;将所述待选IP地址中对应的第一网络特征信息与所述第二网络特征信息匹配的IP地址作为目标IP地址。其中,可选的,所述第一网络特征信息包括适配的网络运营商,所述第二网络特征信息包括适配的网络运营商。
[0111]
作为另外一种方式,所述第二存储区域还存储有每个待选IP地址对应的权重。在这种方式下,IP查找单元520,具体用于获取参考IP地址的数量,所述参考IP地址为所述待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址;若识别所述数量大于1,对比所述参考IP地址各自对应的权重;将对应权重最大的一个参考IP地址作为目标IP地址。
[0112]
如图9所示,所述装置500还包括域名解析单元540,用于若未查找到有所述待选IP地址,基于域名解析的方式获取与所述域名对应的IP地址。在这种方式下,网络服务处理单元530,用于基于所述域名解析方式获取的IP地址生成网络服务请求。
[0113]
作为一种方式,域名解析单元540,具体用于向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求,基于所述第一域名解析请求和所述第二域名解析请求各自的响应结果,确定与所述域名对应的IP地址。
[0114]
进一步地,域名解析单元540,具体用于若检测到先接收到所述第一域名解析请求的响应结果,从所述第一域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址;若检测先到接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址。
[0115]
作为一种方式,如图10所示,所述装置还包括IP存储单元550,用于若接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址存储到所述第二存储区域,并覆盖所述第二存储区域中所述域名对应的待选IP地址。
[0116]
作为一种方式,域名解析单元540,还用于获取所述需要进行网络服务请求的业务的时效需求,若所述时效需求满足第一时效需求,向DNS服务器发送携带有所述域名的第一域名解析请求,并基于所述第一域名解析请求的响应结果,确定与所述域名对应的IP地址;若所示时效性满足第二时效需求,执行所述向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域 名解析请求;其中,所述第一时效需求对应的时效性高于所述第二时效需求对应的时效性。具体的,域名解析单元540,具体用于若识别所述业务为进行设备控制,判定所述进行设备控制的业务的时效需求为第一时效需求;若识别所述业务为进行设备配置,判定所述进行设备控制的业务的时效需求为第二时效需求。
[0117]
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
[0118]
下面将结合图11对本申请提供的一种电子设备进行说明。
[0119]
请参阅图11,基于上述的域名处理方法、装置,本申请实施例还提供的另一种可以执行前述域名处理方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104以及无线模块106。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
[0120]
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
[0121]
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0122]
所述无线模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述无线模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述无线模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,无线模块106可以与基站进行信息交互。
[0123]
请参考图12,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0124]
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0125]
综上所述,本申请提供的一种域名处理方法、装置、电子设备以及存储介质,在当检测到需要请求网络服务时,获取进行网络服务请求的域名,然后查找是否存储有历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址,若查找到有与所述域名对应 的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。从而通过上述方式使得,在进行网络服务请求时,可以直接采用本地存储的IP地址进行服务请求进而避免直接采用域名解析的方式所带来的域名劫持问题,以及域名解析失败影响服务请求效率的问题。
[0126]
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
权利要求书
[权利要求 1]
一种域名处理方法,其特征在于,应用于客户端,所述方法包括: 当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名; 查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址; 若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述查找是否存储有与所述域名对应的有效的IP地址的步骤包括: 查找是否存储有与所述域名对应的IP地址; 若查找到有与所述域名对应的IP地址,检测所述与所述域名对应的IP地址是否满足指定条件; 若检测到所述与所述域名对应的IP地址满足所述指定条件,判定所述与所述域名对应的IP地址为有效的IP地址。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述指定条件包括: 所述与所述域名对应的IP地址没有访问失败的记录信息;或者 所述与所述域名对应的IP地址的最近一次访问失败的记录时刻距离当前时刻超过指定时长。
[权利要求 4]
根据权利要求1所述的方法,其特征在于,所述查找是否存储有与所述域名对应的有效的IP地址的步骤包括: 在第一存储区域查找是否存储有与所述域名对应的有效的IP地址; 所述方法还包括: 若未查找到有与所述域名对应的有效的IP地址,在第二存储区域查找是否存储有与所述域名对应的待选IP地址,所述第二存储区域与所述第一存储区域不同; 若查找到有所述待选IP地址,从所述待选IP地址中确定目标IP地址,基于所述目标IP地址生成网络服务请求; 将所述目标IP地址与所述域名对应存储到所述第一存储区域。
[权利要求 5]
根据权利要求4所述的方法,其特征在于,所述在第二存储区域查找是否存储有与所述域名对应的待选IP地址的步骤包括: 在第二存储区域的指定文件中查找是否有与所述域名对应的IP地址; 若在所述指定文件中有与所述域名对应的IP地址; 检测所述指定文件中有与所述域名对应的IP地址是否满足有效条件; 若满足所述有效条件的IP地址作为待选IP地址。
[权利要求 6]
根据权利要求5所述的方法,其特征在于,所述有效条件包括以下条件中的至少 一个: 当前时刻在IP地址对应的有效时间戳内;以及 IP地址对应的访问成功率高于指定值。
[权利要求 7]
根据权利要求4-6任一所述的方法,其特征在于,所述第二存储区域还存储有每个待选IP地址对应的第一网络特征信息,所述从所述待选IP地址中确定目标IP地址的步骤包括: 获取客户端所接入网络的第二网络特征信息; 将所述待选IP地址中对应的第一网络特征信息与所述第二网络特征信息匹配的IP地址作为目标IP地址。
[权利要求 8]
根据权利要求7所述的方法,其特征在于,所述第一网络特征信息包括适配的网络运营商,所述第二网络特征信息包括适配的网络运营商;所述将所述待选IP地址中对应的第一网络特征信息与所述第二网络特征信息匹配的IP地址作为目标IP地址的步骤包括: 将所述待选IP地址中适配的网络运营商与所述客户端所接入网络的的网络运营商相同的IP地址作为目标IP地址。
[权利要求 9]
根据权利要求8所述的方法,其特征在于,所述第二存储区域还存储有每个待选IP地址对应的权重;所述将所述待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址作为目标IP地址的步骤包括: 获取参考IP地址的数量,所述参考IP地址为所述待选IP地址中适配的网络运营商与所述客户端所接入网络的网络运营商相同的IP地址; 若识别所述数量大于1,对比所述参考IP地址各自对应的权重; 将对应权重最大的一个参考IP地址作为目标IP地址。
[权利要求 10]
根据权利要求4-9任一所述的方法,其特征在于,所述方法还包括: 若未查找到有所述待选IP地址,基于域名解析的方式获取与所述域名对应的IP地址; 基于所述域名解析方式获取的IP地址生成网络服务请求。
[权利要求 11]
根据权利要求10所述的方法,其特征在于,所述基于域名解析的方式获取与所述域名对应的IP地址的步骤包括: 向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求; 基于所述第一域名解析请求和所述第二域名解析请求各自的响应结果,确定与所述域名对应的IP地址。
[权利要求 12]
根据权利要求11所述的方法,其特征在于,所述基于所述第一域名解析请求和所述第二域名解析请求各自的响应结果,确定与所述域名对应的IP地址的步骤包括: 若检测到先接收到所述第一域名解析请求的响应结果,从所述第一域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址; 若检测先到接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址。
[权利要求 13]
根据权利要求12所述的方法,其特征在于,所述若检测到先接收到所述第一域名解析请求的响应结果,从所述第一域名解析请求的响应结果中获取IP地址作为与所述域名对应的IP地址的步骤之后还包括: 若接收到所述第二域名解析请求的响应结果,从所述第二域名解析请求的响应结果中获取IP地址存储到所述第二存储区域,并覆盖所述第二存储区域中所述域名对应的待选IP地址。
[权利要求 14]
根据权利要求11-13任一所述的方法,其特征在于,所述向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求的步骤之前还包括: 获取所述需要进行网络服务请求的业务的时效需求; 若所述时效需求满足第一时效需求,向DNS服务器发送携带有所述域名的第一域名解析请求,并基于所述第一域名解析请求的响应结果,确定与所述域名对应的IP地址; 若所示时效性满足第二时效需求,执行所述向DNS服务器发送携带有所述域名的第一域名解析请求,并同时向指定的HTTPDNS服务器发送携带有所述域名的第二域名解析请求;其中,所述第一时效需求对应的时效性高于所述第二时效需求对应的时效性。
[权利要求 15]
根据权利要求14所述的方法,其特征在于,所述获取所述需要进行网络服务请求的业务的时效需求的步骤包括: 若识别所述业务为进行设备控制,判定所述进行设备控制的业务的时效需求为第一时效需求; 若识别所述业务为进行设备配置,判定所述进行设备控制的业务的时效需求为第二时效需求。
[权利要求 16]
根据权利要求4-15任一所述的方法,其特征在于,所述第一存储区域为内存,所述第二存储区域为文件系统。
[权利要求 17]
一种域名处理装置,其特征在于,所述装置包括: 域名获取单元,用于当检测到需要进行网络服务请求时,获取进行所述网络服务请求所需的域名; IP查找单元,用于查找是否存储有与所述域名对应的有效的IP地址,所述有效的IP地址为历史基于HTTPDNS方式解析得到的与所述域名对应的IP地址; 网络服务处理单元,用于若查找到有与所述域名对应的有效的IP地址,基于所述查找到的有效的IP地址生成网络服务请求。
[权利要求 18]
根据权利要求17所述的装置,其特征在于,所述IP查找单元,具体用于查找是否存储有与所述域名对应的IP地址;若查找到有与所述域名对应的IP地址,检测所述与所述域名对应的IP地址是否满足指定条件;若检测到所述与所述域名对应的IP地址满足所述指定条件,判定所述与所述域名对应的IP地址为有效的IP地址。
[权利要求 19]
一种电子设备,其特征在于,包括一个或多个处理器以及存储器; 一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行以实现权利要求1-16任一所述的方法。
[权利要求 20]
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-16任一所述的方法。
附图