CN108718347B - 一种域名解析方法、系统、装置及存储介质 - Google Patents
一种域名解析方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN108718347B CN108718347B CN201810479537.9A CN201810479537A CN108718347B CN 108718347 B CN108718347 B CN 108718347B CN 201810479537 A CN201810479537 A CN 201810479537A CN 108718347 B CN108718347 B CN 108718347B
- Authority
- CN
- China
- Prior art keywords
- address
- domain name
- resolution
- target
- server
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本申请提供了一种域名解析方法,包括:响应于页面请求,根据所述页面的域名确定目标解析类型;将所述页面的域名发送至所述目标解析类型对应的目标解析服务器;接收所述目标解析服务器返回的第一解析结果,所述第一解析结果包括第一IP地址集合;以及从所述第一IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。相应的,本申请还提供了相应的系统、装置以及存储介质。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种域名解析方法、系统、装置及存储介质。
背景技术
用户习惯记忆域名,但设备间互相传递的是IP(Internet Protocol)地址,当用户通过客户端请求向浏览器内核发送一个连接请求时,手机系统需要对连接请求中的域名进行解析来得到与该域名对应的目标服务器的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质量数据,适应实际情况的缓存管理,可以提高浏览器内核页面打开的成功率。
附图说明
图1a为本申请一实施例的所述的一种域名解析方法的实施环境的示意图;
图1b为本申请一实施例的所述的一种域名解析方法所适用的系统架构示意图;
图2为本申请一实施例的一种域名解析方法的流程图;
图3为本申请一实施例的一种域名解析方法的交互流程图;
图4为本申请一实施例的域名解析装置的结构示意图;及
图5为本申请一实施例的用户终端的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。实施例中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
通过移动终端系统中的域名解析系统(DNS:Domain Name System)进行域名解析的方式是无加密的。因此,第三方可以通过劫持手段拦截移动终端的域名解析结果,让用户无法导向目标站点,这会给目标站点造成巨大的损失。此外,浏览器内核不会关注域名解析系统解析域名得到的IP地址的质量,IP地址的质量关系到IP地址的实际链接成功率,如果移动终端的浏览器内核的在缓存该IP地址期间,IP地址的质量下降,如果浏览器内核不能够及时做出反应会导致链接重复性失败和长时间出现页面打不开。
为了解决上述问题,本申请的实例提出了一种域名解析方法。该域名解析方法可以防止解析结果被劫持,同时还可以监控IP地址的质量,提高页面打开成功率。
图1a显示了本申请一些实施例所述的一种域名解析方法所适用的实施环境示意图。如图1a所示,本申请一些实施例所述的域名解析方法的实施环境至少包括:用户终端11、网络12、第一解析服务器13、第二解析服务器14和目标站点服务器16。
更进一步的,上述实施环境还可以进一步包括浏览器内核服务器15以及IP质量监控服务器17。
在本申请的一些实例中,上述用户终端11可以是指具有数据计算处理功能的智能设备,包括但不限于(安装有通信模块的)智能手机、掌上电脑、平板电脑等。用户终端11上安装有操作系统,包括但不限于:Android操作系统、Symbian操作系统、Windows mobile操作系统、以及苹果iPhone OS操作系统等等。用户终端11一般包括浏览器内核18以使用户连接网页页面。
网络12可以包括有线网络和无线网络。如图1所示,在接入网一侧,用户终端11可以通过无线的方式或者有线的方式接入到网络12;而在核心网一侧,第一解析服务器13、第二解析服务器14、浏览器内核服务器15、目标站点服务器16以及IP质量监控服务器17一般是通过有线方式连接到网络12的。当然,上述服务器也可以通过无线方式连接到网络12。
第一解析服务器13可以是HttpDNS(HyperText Transfer Protocol DNS)云服务器,与用户终端11预先协商制定预定协议,接收用户终端11通过可信任的安全加密通道使用上述预定协议发送的页面的域名,并解析上述页面的域名得到解析结果,并通过可信任的安全加密通道使用上述预定协议将上述解析结果返回至用户终端11。其中,第第一解析服务器13可以是单独的服务器也可以是多个服务器组成的集群服务器。
第二解析服务器14可以是DNS服务器,可以解析用户终端11的浏览器内核的发送的页面的域名,得到解析结果,并将上述解析结果返回给用户终端11。其中,第二解析服务器14可以是单独的服务器也可以是多个服务器组成的集群服务器。
浏览器内核服务器15与用户终端11中的浏览器内核102一起为用户提供服务,例如,响应于用户终端11的浏览器内核102发送的页面的域名确定解析类型。其中,浏览器内核服务器15可以是单独的服务器也可以是多个服务器组成的集群服务器。
目标站点服务器16为用户终端11请求的页面的服务器。目标站点服务器16可以是单独的服务器也可以是多个服务器组成的集群服务器。
质量监控服务器17用于监控浏览器内核各方面的质量情况,具体的,可以收集来自各个用户终端的IP地址质量数据,并根据上述IP地址质量数据确定各个IP地址的质量,其中,一个IP地址的质量主要决定于该IP地址的连接成功率。
基于图1a所示的实施环境图,本申请的一个实施例提供了上述域名解析方法所适用的系统架构图。图1b显示了本申请一些实施例所述的一种域名解析方法所适用的系统架构示意图。如图1b所示,本申请的域名解析系统包括:
用户终端11,用户终端11上包括有浏览器101和浏览器内核102,其中,浏览器101可以是操作系统自带的浏览器比如苹果iPhone OS操作系统自带的safari浏览器或者Windows mobile操作系统自带的IE浏览器,也可以是自定义安装的第三方浏览器比如QQ浏览器;浏览器内核102可以是操作系统自带的浏览器内核也可以是自定义安装的第三方浏览器内核比如腾讯的X5浏览器内核。浏览器101在接收到用户的页面请求以后,将该页面请求发送至浏览器内核102以使根据上述页面请求中的域名请求相关服务器比如浏览器内核服务器15、DNS服务器13或者目标站点服务器16。这里,浏览器内核102除了基本的加载、渲染功能以外还包括解析前决策模块1021、连接前决策模块1022以及连接后决策模块1023。
在一些实例中,上述域名解析系统还可以包括缓存18,其中,缓存18包括一级缓存和二级缓存,其中,内核的内存作为一级缓存,用户终端的数据库作为二级缓存。缓存18用于存储上述页面的域名、域名的IP地址、IP地址的质量数据、网络信息以及解析类型等数据,服务于浏览器内核102中的解析前决策模块1021、连接前决策模块1022以及连接后决策模块1023。由于内核重启时,内核的内存(也即一级缓存)会被清空,因此在重启后,内核的内存(也即一级缓存)会从用户终端的数据库(也即二级缓存)中加载上述数据,而用户终端的数据库(也即二级缓存)中保存的数据是不会被释放。
第一解析服务器13,具体可以为HttpDNS(HyperText Transfer Protocol DNS)服务器13,用于当浏览器内核102确定使用HttpDNS解析类型时,根据用户终端11的浏览器内核102的解析请求,解析上述解析请求中的域名得到解析结果,并将上述解析结果返回给用户终端11的浏览器内核102。
第二解析服务器14,具体可以为DNS服务器14,用于当浏览器内核102确定使用DNS解析类型时,根据用户终端11的浏览器内核102的解析请求,解析上述解析请求中的域名得到解析结果,并将上述解析结果返回给用户终端11的浏览器内核102.
浏览器内核服务器15,用于根据浏览器内核102发送的解析请求中的域名,返回该域名对应的解析类型决策信息,其中,该解析类型决策信息可以包括该域名对应的解析类型以及IP地址有效时间的指示信息。
目标站点服务器16,当浏览器内核102确定页面请求中的域名对应的目标IP地址后,根据该目标IP地址连接上述域名对应的目标站点服务器16。
IP质量监控服务器17,根据多个用户终端11的浏览器内核102上报的各个域名机器对应的一个或多个IP地址的质量数据,确定上述一个或多个IP地址中各个IP地址的连接成功率,基于各个IP地址的连接成功率确定各个域名对应的IP地址,也即各个域名对应的最优IP地址。
下面结合附图,通过几个实施例对本申请实例提供的域名解析方法进行说明。
基于上述图1a所示的实施环境图和图1b所示的系统架构图,本申请的一个实施例提供了一种域名解析方法,由用户终端11中的浏览器内核102执行。图2示出了本申请实例提供的域名解析方法的流程图。如图2所示,该域名解析方法包括以下步骤:
步骤201:响应于页面请求,根据所述页面的域名确定目标解析类型。
通常情况下,用户终端的用户只记忆域名,当上述用户需要连接一个页面时,通过用户终端的浏览器向浏览器内核发起页面请求。当浏览器内核接收到上述用户发送的页面请求时,响应于上述页面请求,根据上述页面请求中的域名确定该域名的解析类型,其中,该页面请求中包括该页面的域名。
在一些实例中,将所述页面的域名发送至浏览器内核服务器,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的所述目标解析类型和第一指示信息,其中,如果所述域名在所述浏览器内核服务器自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一指示信息用于指示是否参考IP地址有效时间。具体的,上述浏览器内核服务器维护一个域名列表,该域名列表可以是一个域名白名单。当接收到上述页面的域名以后,确定上述域名是否在上述域名列表中,如果上述域名在上述域名的列表中,则确定使用第一解析类型来解析上述域名,并返回包括第一解析类型和用于指示是否参考IP地址有效时间的第一指示信息的解析类型决策信息;如果上述域名不在上述域名的列表中,则确定使用第二解析类型来解析上述域名,并返回包括第二解析类型和用于指示是否参考IP地址有效时间的第一指示信息的解析类型决策信息。
其中,上述域名列表可以是一个域名的白名单,该域名列表中的域名比较敏感或者容易被劫持,因此需要使用安全的解析类型来进行解析以防止解析出来的解析结果被劫持。上述第一解析类型具体可以为HttpDNS解析类型,与第一解析类型对应的为第一解析服务器,也即HttpDNS云服务器。由于云环境一般相对安全,并且浏览器内核与上述第一解析服务器预先协商制定了预定协议和设立加密通道比如RSA加密算法,因此第一解析类型也即HttpDNS解析类型比较安全,可以防止得到的解析结果被劫持。上述第二解析类型具体可以为DNS解析类型,与第二解析类型对应的为第二解析服务器,也即DNS服务器。对于一些不敏感的域名可以采用第二解析类型也即DNS解析类型来发给DNS服务器进行解析,其中,采用DNS解析类型时,浏览器内核与上述第二解析服务器标准协议来进行通信。
其中,上述第一指示信息可以是IP地址有效时间的指示信息,用于指示是否参考IP地址有效时间,上述IP地址有效时间可以是IP地址的生存时间值(TTL:Time To Live)。当上述第一指示信息的取值为第一取值比如“1”时,则为参考上述IP地址有效时间,也即当上述IP地址有效时间到期时比如1小时到期时,其对应的IP地址从缓存中释放掉;当上述第一指示信息的取值为第二取值比如“0”时,则不参考上述IP地址有效时间,也即将IP地址有效时间设置为浏览器内核默认的预设值。
其中,上述IP地址有效时间为上一次解析该域名时返回的解析结果中包括的TTL时间,可以用来表征解析结果中的IP地址的生存时间比如“5分钟”,根据业务需要每一个域名的TTL时间不同。更进一步的,HTTPDNS服务器返回的TTL时间是返回的解析结果中所有IP地址共同的TTL时间,而DNS服务器返回的解析结果中每一个IP地址有一个自己的TTL时间。
在一些实例中,从缓存中获取所述域名的IP地址有效时间和第二指示信息,其中,所述缓存中存储有所述目标解析服务器上一次返回的第二解析结果,所述第二解析结果包括所述域名的IP地址有效时间和所述域名的第二IP地址;所述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量;当所述第一指示信息指示参考所述IP地址有效时间时,根据所述第二指示信息、第三指示信息以及所述域名的IP地址有效时间,确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤,其中,所述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址。
其中,上述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址缓存的指示信息。具体的,上述第三指示信息可以有两个取值,当上述第三指示信息的取值为第三取值比如“1”时,表示浏览器内核的缓存内存储有所述目标解析服务器上一次解析上述域名时返回的第二解析结果;当上述第三指示信息的取值为第四取值比如“0”时,表示浏览器内核的缓存内没有存储所述目标解析服务器上一次解析上述域名时返回的第二解析结果;其中,所述第二解析结果包括:上述域名、上述第二IP地址、上述第二IP地址的IP地址有效时间、第一指示信息以及上次解析使用的解析类型等。
在一些实例中,上述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量,其取值由上述浏览器内核根据第二IP地址的质量数据确定。具体的,上述浏览器内核所述第二IP地址的质量数据包括:所述第二IP地址的连接成功率;当所述第二IP地址的连接成功率大于或等于预定阈值时,则置所述第二指示信息为第五取值,所述第五取值表征所述第二IP地址的质量高;当所述第二IP地址的连接成功率小于所述预定阈值时,则置所述第二指示信息为第六取值,所述第六取值表征所述第二IP地址的质量低。
例如,假设预定阈值为85%,当所述第二IP地址的连接成功率大于或等于85%时,则所述第二IP地址质量指示信息为第五取值“1”,表示上述第二IP地址的质量高;当所述第二IP地址的连接成功率小于85%时,则所述第二IP地址质量指示信息为第六取值“0”,表示上述第二IP地址的质量低。可见,所述第二IP地址的连接成功率越高,所述第二IP地址的质量越高
更进一步的,所述第二IP地址的质量数据还可以进一步包括:所述第二IP地址的连接时间。对于同样的所述第二IP地址的连接成功率,所述第二IP地址的连接时间越短,所述第二IP地址的质量越高,当然,确定第二IP地址的质量时,第二IP地址的连接成功率所占的权重最大。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
在一些实例中,在确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤的过程中,当所述第三指示信息指示所述缓存中存储有所述域名的所述第二IP地址时,如果所述域名的IP地址有效时间未到期且所述第二指示信息为所述第五取值,则确定不执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤,并从所述缓存中获取所述第二IP地址并将其作为所述目标IP地址;如果所述域名的IP地址有效时间已到期或者所述第二指示信息为所述第六取值,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤;当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤。
其中,确定上述IP地址有效时间是否到期,可以根据上述IP地址有效时间、返回上述IP地址有效时间的时间也即返回第二解析结果的时间和当前的时间确定上述IP地址有效时间是否到期。例如,返回上述IP地址有效时间的时间为09:27,上述IP地址有效时间为30分钟,现在时间为10:00,可以确定上述IP地址有效时间对应的IP地址的生存时间为30分钟,因此可以确定该IP地址在09:57分被释放掉,因此在10:00时,上述IP地址有效时间已经到期,也即上述IP地址已经被释放掉。
例如,在上述浏览器内核确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤的过程中,当上述第三指示信息指示所述缓存中存储有所述域名的第二IP地址时,如果所述域名的第二IP地址有效时间为10分钟并没有到期并且所述第二指示信息为第五取值“1”,也即表征上述第二解析结果中的第二IP地址的质量高,则确定上述第二IP地址还存储在上述缓存中,并且该第二IP地址质量高可以作为目标IP地址,因此确定不需要解析上述域名,从上述缓存中获取上述第二IP地址,并将其作为上述目标IP地址。否则,如果所述域名的第二IP地址有效时间为10分钟已经到期,也即上述缓存中已经释放掉上述第二IP地址或者所述第二指示信息为第六取值“0”,也即表征上述第二解析结果中的第二IP地址的质量低,都需要重新解析上述域名,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤。更进一步的,当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,因此需要重新解析上述域名,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤。
具体的,确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤包括以下三种情况:
1、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间未到期且所述第二指示信息为第五取值,也即第二IP地址质量不高,则发送所述域名至所述目标解析类型对应的目标解析服务器。可以看出,即使上述第二IP地址还存储在上述缓存中,只要上述第一IP地址的质量不高,也需要重新解析上述域名。
2、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间到期,也即上述缓存已经释放掉上述第二IP地址,则确定需要重新解析,并发送所述域名至所述目标解析类型对应的目标解析服务器以使其重新解析。
3、当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,也即上述缓存中没有存储过上述第二IP地址,则发送所述域名至所述目标解析类型对应的目标解析服务器。
在一些实例中,当所述第一指示信息指示不参考所述IP地址有效时间时,将所述IP地址有效时间设置为预设值并确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤。
例如,当上述第三指示信息的取值为第二取值“0”,也即不参考上述第二IP地址的IP地址有效时间,也即将上述第二IP地址的IP地址有效时间设定为预设值,以上述预设值为上述第二IP地址的IP地址有效时间来进行确定缓存是否已经释放掉上述第二IP地址。
步骤202:将所述页面的域名发送至所述目标解析类型对应的目标解析服务器。
在一些实例中,当所述目标解析类型为第一解析类型时,将所述第一解析类型对应的第一解析服务器作为所述目标解析服务器,并使用与所述第一解析服务器预定的协议将所述域名发送至所述第一解析服务器,以使其解析所述域名并使用所述预定的协议返回所述第一解析结果;当所述目标解析类型为第二解析类型时,将所述第二解析类型对应的第二解析服务器作为所述目标解析服务器,并使用标准协议将所述域名发送至所述第二解析服务器,以使其解析所述域名并根据所述标准协议返回所述第一解析结果,其中,上述预定的协议为上述浏览器内核和第一解析服务器预先协商的,该协议规定了发送域名的格式、第一解析结果的格式以及对上述域名和第一解析结果加密和解密的密钥比如以RSA加密算法的公钥作为加密密钥,以RSA加密算法的私钥作为解密密钥。
具体的,当上述目标解析类型为第一解析类型即HttpDNS解析类型时,将上述第一解析类型对应的第一解析服务器即HttpDNS解析服务器作为上述目标解析服务器,使用与HttpDNS解析服务器预先协商的协议将上述域名发送给HttpDNS服务器以使其解析上述域名得到第一解析结果,并使用上述协议返回上述第一解析结果。当上述目标解析类型为第二解析类型即DNS解析类型时,将上述第二解析类型对应的第二解析服务器即DNS解析服务器作为上述目标解析服务器,将上述域名使用标准协议比如DNS协议发送给DNS服务器以使其解析上述域名得到第一解析结果,并使用上述标准协议返回上述第一解析结果至浏览器内核。可以看出,本申请提供了两种解析类型以及其对应的两种类型解析服务器,这样一方面可以实现防止解析结果被劫持,另一方面两种类型的解析服务器可以进行互补,当一种类型的解析服务器无法工作以进行解析时,另一种类型的解析服务器可以完成解析工作,这样提高了域名解析的效率以及页面打开的效率,大大提高了用户的体验。
步骤203:接收所述目标解析服务器返回的第一解析结果,所述第一解析结果包括第一IP地址集合。
在一些实例中,对接收的所述第一解析结果进行解密,得到所述第一IP地址集合。此外,通过对上述第一解析结果解密还可以得到第一IP地址集合中第一IP地址的IP地址有效时间以及用户终端的IP地址。其中,上述第一IP地址的IP地址有效时间为目标解析服务器建议的缓存时间,比如1小时,也即建议缓存上述第一解析结果中的IP地址缓存1小时;上述用户终端的IP地址用于使上述目标解析服务器将上述第一解析结果返回至用户终端的浏览器内核。
更进一步的,当所述目标解析类型为第一解析类型时,所述第一解析服务器使用上述预定的协议将所述第一解析结果返回至用户终端的浏览器内核。当所述目标解析类型为第二解析类型时,所述第二解析服务器使用上述标准协议返回上述第一解析结果至用户终端的浏览器内核。
步骤204:从所述第一IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。
在一些实例中,当所述域名对应一个或多个所述第二IP地址时,第二IP地址集合包括所述域名对应的所述一个或多个所述第二IP地址;其中,所述从所述第一IP地址集合中确定目标IP地址,包括:确定出所述第一IP地址集合与所述第二IP地址集合的交集,并将所述交集中的一个或多个第三IP地址作为所述目标IP地址。
例如,当上述浏览器内核接收到上述目标解析服务器返回的第一解析结果时,假设上述第一解析结果中的第一IP地址集合中包括4个第一IP地址:159.226.1.1、100.4.5.6、192.168.0.0以及172.16.0.0,而浏览器内核的缓存中存储的上述域名A的第二IP地址集合中包括三个第二IP地址:159.226.1.1、152.18.1.125以及192.168.0.0,上述浏览器内核根据确定出上述第一IP地址集合与上述第二IP地址集合的交集,可以看出该交集中包括两个第三IP地址159.226.1.1以及192.168.0.0,并将这两个第三IP地址作为上述目标IP地址。
在一些实例中,根据所述一个或多个第三IP地址的质量数据,对所述一个或多个第三IP地址进行质量排序生成质量顺序,以按照所述质量顺序使用所述一个或多个第三IP地址依次进行连接。
又例如,当浏览器内核确定好两个第三IP地址159.226.1.1以及192.168.0.0后,根据两个第三IP地址的质量数据,比如第三IP地址159.226.1.1的连接成功率为75%、连接时间为1秒,第三IP地址192.168.0.0的连接成功率为85%、连接时间为0.8秒,则上述浏览器内核可以按照先使用192.168.0.0连接目标站点服务器,如果连接失败,再用159.226.1.1连接目标站点服务器的顺序来连接上述目标站点服务器。
在一些实例中,从IP质量监控服务器定时获取所述域名及其对应的IP地址;使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合。
具体的,大量的用户终端的浏览器内核向上述IP质量监控服务器上报各个域名及其对应的一个或多个IP地址的质量数据,其中,一个域名对应的一个或多个IP地址的质量数据包括连接时间、以及连接成功率等,上述IP质量监控服务器对每一个域名对应的一个或多个IP地址的质量数据进行计算分析以确定各个域名对应的IP地址,也即各个域名的最优IP地址,其中,各个域名具有至少一个最优IP地址。当上述IP质量监控服务器对一个域名对应的一个或多个IP地址的连接数据进行计算分析时,将上述一个或多个IP地址中连接成功率最高的前N个IP地址作为上述域名的对应的IP地址,N为大于等于1的自然数,也即上述域名对应的最优IP地址。更进一步的,上述IP质量监控服务器还可以进一步考虑上述域名对应的一个或多个IP地址的连接时间。如果一个或多个IP地址具有同样的IP地址的连接成功率,那么一个或多个IP地址中IP地址的连接时间越短的IP地址,其IP地址的质量越高,当然,确定IP地址的质量时,IP地址的连接成功率所占的权重最大。由于IP质量监控服务器收集了大量的用户终端的浏览器内核上报的各个域名及其对应的一个或多个IP地址的质量数据,因此,IP质量监控服务器可以根据大量的IP地址的质量数据统计出各个域名及其对应的一个或多个IP地址的质量,及时剔除质量低的IP地址,并反馈给用户终端的浏览器内核各个域名对应的最优IP地址,以使用户终端的浏览器内核更新自身缓存中存储的IP地址的质量数据,这样可以大大提高页面打开的效率。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
上述浏览器内核可以定时从上述IP质量监控服务器获取各个域名对应的IP地址也即最优IP地址,并使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合,如前所述,所述域名及其对应的IP地址也即最优IP地址可以为一个或多个,例如,浏览器内核自身缓存内存储的一个域名A对应的第二IP地址集合中包括两个第二IP地址为100.4.5.6、102.100.100.205,而上述浏览器内核从上述IP质量监控服务器获取的该域名A对应的IP地址也即最优IP地址为192.168.0.0、100.4.5.6,因此,上述浏览器内核将上述缓存内存储的该域名A对应的第二IP地址集合更新为100.4.5.6、192.168.0.0。
在一些实例中,随着用户终端处理能力的增强,上述浏览器内核可以独立统计常用的域名及其对应的第二IP地址集合中的第二IP地址的质量数据。上述浏览器内核根据自身存储的所述第二IP地址的质量数据,将所述第一IP地址集合与上述第二IP地址集合的交集中的IP地址的连接成功率最高的IP地址作为所述目标IP地址。
在一些实例中,基于所述目标IP地址,与所述目标站点服务器进行三次握手连接;当连接成功时,发起HTTP层的连接请求。
在一些实例中,如果由于所述目标IP地址质量不高导致连接失败,则记录所述目标IP地址对应的域名、所述目标IP地址、解析服务器信息、错误信息、解析类型以及网络信息,并更新自身存储的IP质量数据,更进一步的,当由于所述目标IP地址的质量不高导致连接失败,进行下一个所述目标IP地址的连接。
通过本申请的技术方案,一方面浏览器内核可以对敏感页面的域名进行解析类型的配置,防止劫持的发生,并且由于提供了两种解析类型及其对应的解析服务器,这样可以实现两个解析服务器的互补,提高了域名的解析效率。另一方面,确定域名的目标IP地址考虑了大量的IP质量数据,适应实际情况的缓存管理,可以提高浏览器内核页面打开的成功率。
下面结合附图,以第一解析服务器为HttpDNS服务器,以第二解析服务器为DNS服务器为例,对上述域名解析方法进行详细说明。该方法应用于如图1a所示的实施环境和图1b所示的系统架构图。图3为上述域名解析方法的交互流程图,如图3所示,该方法主要包括以下步骤:
步骤301:响应于用户的页面请求,用户终端11上的浏览器101将该页面请求发送至用户终端11上的浏览器内核102以使其请求上述页面内容。
通常情况下,用户终端的用户只记忆域名,当上述用户需要连接一个页面时,通过用户终端的浏览器向浏览器内核发起页面请求,其中,该页面请求中包括该页面的域名。
步骤302:用户终端11上的浏览器内核102将上述页面的域名发送至浏览器内核服务器15,以使其返回解析类型决策信息,所述解析类型决策信息包括返回的所述目标解析类型和第一指示信息。
在一些实例中,当浏览器内核102接收到上述用户发送的页面请求时,浏览器内核102首先,将所述页面的域名发送至浏览器内核服务器15,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的所述目标解析类型和第一指示信息,其中,如果所述域名在所述浏览器内核服务器15自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一指示信息用于指示是否参考IP地址有效时间。
其中,上述第一指示信息可以是IP地址有效时间的指示信息,用于指示是否参考IP地址有效时间,上述IP地址有效时间可以是IP地址的生存时间值(TTL:Time To Live)。当上述第一指示信息的取值为第一取值比如“1”时,则为参考上述IP地址有效时间,也即当上述IP地址有效时间到期时比如1小时到期时,其对应的IP地址从缓存中释放掉;当上述第一指示信息的取值为第二取值比如“0”时,则浏览器内核102不参考上述IP地址有效时间,也即将IP地址有效时间设置为浏览器内核102默认的预设值。
其中,上述IP地址有效时间为上一次解析该域名时返回的解析结果中包括的TTL时间,可以用来表征解析结果中的IP地址的生存时间比如“5分钟”,根据业务需要每一个域名的TTL时间不同。更进一步的,HttPDNS服务器13返回的TTL时间是返回的解析结果中所有IP地址共同的TTL时间,而DNS服务器14返回的解析结果中每一个IP地址有一个自己的TTL时间。
步骤303:浏览器内核服务器15确定上述域名是否在自身存储的域名列表中,如果在,则执行步骤304;如果不在,执行步骤305。
在一些实例中,上述浏览器内核服务器15维护一个域名列表,该域名列表可以是一个域名白名单。当接收到上述页面的域名以后,确定上述域名是否在上述域名列表中,如果上述域名在上述域名的列表中,则确定使用第一解析类型来解析上述域名,并返回包括第一解析类型和用于指示是否参考IP地址有效时间的第一指示信息的解析类型决策信息(如步骤304);如果上述域名不在上述域名的列表中,则确定使用第二解析类型来解析上述域名,并返回包括第二解析类型和用于指示是否参考IP地址有效时间的第一指示信息的解析类型决策信息(如步骤305)。
其中,上述域名列表可以是一个域名的白名单,该域名列表中的域名比较敏感或者容易被劫持,因此需要使用安全的解析类型来进行解析以防止解析出来的解析结果被劫持。上述第一解析类型具体可以为HttpDNS解析类型,与第一解析类型对应的为第一解析服务器13,也即HttpDNS云服务器13。由于云环境一般相对安全,并且浏览器内核102与上述第一解析服务器13预先协商制定了预定协议和设立加密通道比如RSA加密算法,因此第一解析类型也即HttpDNS解析类型比较安全,可以防止得到的解析结果被劫持。上述第二解析类型具体可以为DNS解析类型,与第二解析类型对应的为第二解析服务器14,也即DNS服务器14。对于一些不敏感的域名可以采用第二解析类型也即DNS解析类型来发给DNS服务器14进行解析,其中,采用DNS解析类型时,浏览器内核与上述第二解析服务器14标准协议来进行通信。
步骤304:浏览器内核服务器15返回包括HttpDNS解析类型和上述第一指示信息的解析类型决策信息。
步骤305:浏览器内核服务器15下发包括DNS解析类型和上述第一指示信息的解析类型决策信息。
步骤306:浏览器内核102从缓存中获取所述域名的IP地址有效时间和第二指示信息,其中,所述缓存中存储有所述目标解析服务器上一次返回的第二解析结果,所述第二解析结果包括所述域名的IP地址有效时间和所述域名的第二IP地址。
在一些实例中,上述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量,其取值由上述浏览器内核根据第二IP地址的质量数据确定。具体的,所述第二IP地址的质量数据包括:所述第二IP地址的连接成功率;当所述第二IP地址的连接成功率大于或等于预定阈值时,上述浏览器内核102则置所述第二指示信息为第五取值,所述第五取值表征所述第二IP地址的质量高;当所述第二IP地址的连接成功率小于所述预定阈值时,上述浏览器内核102则置所述第二指示信息为第六取值,所述第六取值表征所述第二IP地址的质量低。
例如,假设预定阈值为85%,当所述第二IP地址的连接成功率大于或等于85%时,则所述第二IP地址质量指示信息为第五取值“1”,表示上述第二IP地址的质量高;当所述第二IP地址的连接成功率小于85%时,则所述第二IP地址质量指示信息为第六取值“0”,表示上述第二IP地址的质量低。可见,所述第二IP地址的连接成功率越高,所述第二IP地址的质量越高
更进一步的,所述第二IP地址的质量数据还可以进一步包括:所述第二IP地址的连接时间。对于同样的所述第二IP地址的连接成功率,所述第二IP地址的连接时间越短,所述第二IP地址的质量越高,当然,确定第二IP地址的质量时,第二IP地址的连接成功率所占的权重最大。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
步骤307:当所述第一指示信息指示参考所述IP地址有效时间时,用户终端11的浏览器内核102根据所述第二指示信息、第三指示信息以及所述域名的IP地址有效时间,确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤,其中,所述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址,如果所述域名的IP地址有效时间未到期且所述第二指示信息为所述第五取值,则浏览器内核102执行步骤308,如果所述域名的IP地址有效时间已到期或者所述第二指示信息为所述第六取值,则浏览器内核102根据步骤304或步骤305中浏览器内核服务器15下发的解析类型执行步骤309或步骤310。
其中,浏览器内核102确定上述IP地址有效时间是否到期,可以根据上述IP地址有效时间、返回上述IP地址有效时间的时间也即返回第二解析结果的时间和当前的时间确定上述IP地址有效时间是否到期。例如,返回上述IP地址有效时间的时间为09:27,上述IP地址有效时间为30分钟,现在时间为10:00,可以确定上述IP地址有效时间对应的IP地址的生存时间为30分钟,因此可以确定该IP地址在09:57分被释放掉,因此在10:00时,上述IP地址有效时间已经到期,也即上述IP地址已经被释放掉。
例如,在上述浏览器内核102确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器12的步骤的过程中,当上述第三指示信息指示所述缓存中存储有所述域名的第二IP地址时,如果所述域名的第二IP地址有效时间为10分钟并没有到期并且所述第二指示信息为第五取值“1”,也即表征上述第二解析结果中的第二IP地址的质量高,则确定上述第二IP地址还存储在上述缓存中,并且该第二IP地址质量高可以作为目标IP地址,因此确定不需要解析上述域名,从上述缓存中获取上述第二IP地址,并将其作为上述目标IP地址。否则,如果所述域名的第二IP地址有效时间为10分钟已经到期,也即上述缓存中已经释放掉上述第二IP地址或者所述第二指示信息为第六取值“0”,也即表征上述第二解析结果中的第二IP地址的质量低,都需要重新解析上述域名,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤。更进一步的,当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,因此需要重新解析上述域名,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤。
具体的,浏览器内核102确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤包括以下三种情况:
1、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间未到期且所述第二指示信息为第五取值,也即第二IP地址质量不高,浏览器内核102则发送所述域名至所述目标解析类型对应的目标解析服务器12。可以看出,即使上述第二IP地址还存储在上述缓存中,只要上述第一IP地址的质量不高,也需要重新解析上述域名。
2、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间到期,也即上述缓存已经释放掉上述第二IP地址,浏览器内核102则确定需要重新解析,并发送所述域名至所述目标解析类型对应的目标解析服务器12以使其重新解析。
3、当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,也即上述缓存中没有存储过上述第二IP地址,浏览器内核102则发送所述域名至所述目标解析类型对应的目标解析服务器12。在一些实例中,当所述第一指示信息指示不参考所述IP地址有效时间时,浏览器内核102将所述IP地址有效时间设置为预设值并确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器12的步骤。
例如,当上述第三指示信息的取值为第二取值“0”,也即不参考上述第二IP地址的IP地址有效时间,也即浏览器内核102将上述第二IP地址的IP地址有效时间设定为预设值,以上述预设值为上述第二IP地址的IP地址有效时间来进行确定缓存是否已经释放掉上述第二IP地址。
步骤308:用户终端11的浏览器内核102从所述缓存中获取所述第二IP地址并将其作为所述目标IP地址。
步骤309:如果浏览器内核服务器15下发的为HttpDNS解析类型,则用户终端11的浏览器内核102则将HttpDNS解析类型确定为目标解析类型,并使用预设加密方法以及与HttpDNS解析服务器预定的协议将上述域名发送至HttpDNS解析服务器。
步骤310:如果浏览器内核服务器15下发的为DNS解析类型,则用户终端11的浏览器内核102则将DNS解析类型确定为目标解析类型,并使用标准DNS协议将上述域名发送至DNS解析服务器。
步骤311:接收HttpDNS解析服务器13或者DNS解析服务器14发送的第一解析结果。
在一些实例中,浏览器内核102对接收的所述第一解析结果进行解密,得到所述第一IP地址集合。此外,通过对上述第一解析结果解密还可以得到第一IP地址集合中第一IP地址的IP地址有效时间以及用户终端11的IP地址。其中,上述第一IP地址的IP地址有效时间为目标解析服务器12建议的缓存时间,比如1小时,也即建议缓存上述第一解析结果中的IP地址缓存1小时;上述用户终端的IP地址用于使上述目标解析服务器12将上述第一解析结果返回至用户终端11的浏览器内核102。
更进一步的,当所述目标解析类型为第一解析类型时,所述第一解析服务器13也即HttpDNS解析服务器13使用上述预定的协议将所述第一解析结果返回至用户终端11的浏览器内核102。当所述目标解析类型为第二解析类型时,所述第二解析服务器14也即DNS解析服务器14使用上述标准协议返回上述第一解析结果至用户终端11的浏览器内核102。
步骤312:IP质量监控服务器17根据多个浏览器内核102上报的IP地址的质量数据,确定各个域名对应的IP地址。
在一些实例中,大量的用户终端11的浏览器内核102向上述IP质量监控服务器17上报各个域名及其对应的一个或多个IP地址的质量数据,其中,一个域名对应的一个或多个IP地址的质量数据包括连接时间、以及连接成功率等,上述IP质量监控服务器17对每一个域名对应的一个或多个IP地址的质量数据进行计算分析以确定各个域名对应的IP地址,也即各个域名的最优IP地址,其中,各个域名具有至少一个最优IP地址。当上述IP质量监控服务器17对一个域名对应的一个或多个IP地址的连接数据进行计算分析时,将上述一个或多个IP地址中连接成功率最高的前N个IP地址作为上述域名的对应的IP地址,N为大于等于1的自然数,也即上述域名对应的最优IP地址。更进一步的,上述IP质量监控服务器17还可以进一步考虑上述域名对应的一个或多个IP地址的连接时间。如果一个或多个IP地址具有同样的IP地址的连接成功率,那么一个或多个IP地址中IP地址的连接时间越短的IP地址,其IP地址的质量越高,当然,确定IP地址的质量时,IP地址的连接成功率所占的权重最大。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
步骤313:浏览器内核102从IP质量监控服务器17定时获取所述域名及其对应的IP地址并使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合。
具体的,上述浏览器内核102可以定时从上述IP质量监控服务器17获取各个域名对应的IP地址也即最优IP地址,并使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合,如前所述,所述域名及其对应的IP地址也即最优IP地址可以为一个或多个,例如,浏览器内核102自身缓存内存储的一个域名A对应的第二IP地址集合中包括两个第二IP地址为100.4.5.6、102.100.100.205,而上述浏览器内核从上述IP质量监控服务器获取的该域名A对应的IP地址也即最优IP地址为192.168.0.0、100.4.5.6,因此,上述浏览器内核将上述缓存内存储的该域名A对应的第二IP地址集合更新为100.4.5.6、192.168.0.0。
在一些实例中,随着用户终端11处理能力的增强,上述浏览器内核102可以独立统计常用的域名及其对应的第二IP地址集合中的第二IP地址的质量数据。上述浏览器内核102根据自身存储的所述第二IP地址的质量数据,将所述第一IP地址集合与上述第二IP地址集合的交集中的IP地址的连接成功率最高的IP地址作为所述目标IP地址。步骤314:浏览器内核102确定出所述第一IP地址集合与所述第二IP地址集合的交集,并将所述交集中的一个或多个第三IP地址作为所述目标IP地址。
例如,当上述浏览器内核102接收到上述目标解析服务器12返回的第一解析结果时,假设上述第一解析结果中的第一IP地址集合中包括4个第一IP地址:159.226.1.1、100.4.5.6、192.168.0.0以及172.16.0.0,则而浏览器内核102的缓存中存储的上述域名A的第二IP地址集合中包括三个第二IP地址:159.226.1.1、152.18.1.125以及192.168.0.0,上述浏览器内核102根据确定出上述第一IP地址集合与上述第二IP地址集合的交集,可以看出该交集中包括两个第三IP地址159.226.1.1以及192.168.0.0,并将这两个第三IP地址作为上述目标IP地址。
步骤315:浏览器内核102基于上述目标IP地址,连接至所述目标IP地址对应的目标站点服务器16。
在一些实例中,浏览器内核102根据所述一个或多个第三IP地址的质量数据,对所述一个或多个第三IP地址进行质量排序生成质量顺序,以按照所述质量顺序使用所述一个或多个第三IP地址依次进行连接。
又例如,当浏览器内核102确定好两个第三IP地址159.226.1.1以及192.168.0.0后,根据两个第三IP地址的质量数据,比如第三IP地址159.226.1.1的连接成功率为75%、连接时间为1秒,第三IP地址192.168.0.0的连接成功率为85%、连接时间为0.8秒,则上述浏览器内核102可以按照先使用192.168.0.0连接目标站点服务器16,如果连接失败,再用159.226.1.1来连接上述目标站点服务器16。
步骤316:如果所述目标IP地址质量不高导致连接失败,浏览器内核102则记录所述目标IP地址对应的域名、所述目标IP地址、解析服务器信息、错误信息、解析类型以及网络信息,并更新自身存储的IP质量数据。
步骤317:浏览器内核102进行下一个所述目标IP地址的连接。
通过本申请的技术方案,一方面浏览器内核可以对敏感页面的域名进行解析类型的配置,防止劫持的发生,并且由于提供了两种解析类型及其对应的解析服务器,这样可以实现两个解析服务器的互补,提高了域名的解析效率。另一方面,确定域名的目标IP地址考虑了大量的IP质量数据,适应实际情况的缓存管理,可以提高浏览器内核页面打开的成功率。
在上述图1a所示的实时环境和图1b所示的系统架构图的基础上,本申请的实施例提供了一种域名解析系统。如图1b所示,本申请的域名解析系统包括:用户终端11、目标解析服务器12和目标站点服务器16,所述目标解析服务器为第一解析服务器13或第二解析服务器14,所述用户终端11包括浏览器内核102;其中,
所述浏览器内核102,响应于页面请求,根据所述页面的域名确定目标解析类型;
所述浏览器内核102,将所述页面的域名发送至所述目标解析类型对应的目标解析服务器12;
所述目标解析服务器12,返回第一解析结果至所述用户终端11,所述第一解析结果包括第一IP地址集合;以及
所述浏览器内核102,从所述第一IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器16。
在一些实例中,所述浏览器内核102包括解析前决策模块1021、连接前决策模块1022以及连接后决策模块1023。
在一些实例中,所述域名解析系统进一步包括浏览器内核服务器15;所述浏览器内核102的解析前决策模块1021将所述页面的域名发送至所述浏览器内核服务器15;
所述浏览器内核服务器15,根据所域名生成解析类型决策信息并将所述解析类型决策信息返回至所述浏览器内核102的解析前决策模块1021,所述解析类型决策信息包括返回的所述目标解析类型和第一指示信息,其中,如果所述域名在所述浏览器内核服务器15自身存储的域名列表中,则所述浏览器内核服务器15返回的所述目标解析类型为第一解析类型,否则所述浏览器内核服务器15返回的所述目标解析类型为第二解析类型,所述第一指示信息用于指示是否参考IP地址有效时间;
其中,上述域名列表可以是一个域名的白名单,该域名列表中的域名比较敏感或者容易被劫持,因此需要使用安全的解析类型来进行解析以防止解析出来的解析结果被劫持。上述第一解析类型具体可以为HttpDNS解析类型,与第一解析类型对应的为第一解析服务器,也即HttpDNS云服务器。由于云环境一般相对安全,并且浏览器内核与上述第一解析服务器预先协商制定了预定协议和设立加密通道比如RSA加密算法,因此第一解析类型也即HttpDNS解析类型比较安全,可以防止得到的解析结果被劫持。上述第二解析类型具体可以为DNS解析类型,与第二解析类型对应的为第二解析服务器,也即DNS服务器。对于一些不敏感的域名可以采用第二解析类型也即DNS解析类型来发给DNS服务器进行解析,其中,采用DNS解析类型时,浏览器内核与上述第二解析服务器标准协议来进行通信。
其中,上述第一指示信息可以是IP地址有效时间的指示信息,用于指示是否参考IP地址有效时间,上述IP地址有效时间可以是IP地址的生存时间值(TTL:Time To Live)。当上述第一指示信息的取值为第一取值比如“1”时,则为参考上述IP地址有效时间,也即当上述IP地址有效时间到期时比如1小时到期时,其对应的IP地址从缓存中释放掉;当上述第一指示信息的取值为第二取值比如“0”时,则不参考上述IP地址有效时间,也即将IP地址有效时间设置为浏览器内核默认的预设值。
其中,上述IP地址有效时间为上一次解析该域名时返回的解析结果中包括的TTL时间,可以用来表征解析结果中的IP地址的生存时间比如“5分钟”,根据业务需要每一个域名的TTL时间不同。更进一步的,HTTPDNS服务器返回的TTL时间是返回的解析结果中所有IP地址共同的TTL时间,而DNS服务器返回的解析结果中每一个IP地址有一个自己的TTL时间。
所述浏览器内核102的解析前决策模块1021,接收所述浏览器内核服务器15返回的所述解析类型决策信息,并从缓存中获取所述域名的IP地址有效时间和第二指示信息,其中,所述缓存中存储有所述目标解析服务器12上一次返回的第二解析结果,所述第二解析结果包括所述域名的IP地址有效时间和所述域名的第二IP地址,所述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量;
当所述第一指示信息指示参考所述IP地址有效时间时,所述浏览器内核102的解析前决策模块1021根据所述第二指示信息、所述第三指示信息以及所述域名的IP地址有效时间确定是否执行所述将所述页面的域名发送所述域名至所述目标解析类型对应的目标解析服务器12的步骤,其中,所述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址。
在一些实例中,所述浏览器内核102的解析前决策模块1021所述浏览器内核根据所述第二IP地址的质量数据确定所述第二指示信息的取值,所述第一IP地址的质量数据包括:所述第一IP地址的连接成功率;其中,当所述第二IP地址的连接成功率大于或等于预定阈值时,则所述浏览器内核102的解析前决策模块1021置所述第二指示信息为第一取值,所述第一取值表征所述第二IP地址的质量高;当所述第二IP地址的连接成功率小于所述预定阈值时,则所述浏览器内核102的解析前决策模块1021置所述第二指示信息为第二取值,所述第二取值表征所述第二IP地址的质量低。
例如,假设预定阈值为85%,当所述第二IP地址的连接成功率大于或等于85%时,则所述第二IP地址质量指示信息为第五取值“1”,表示上述第二IP地址的质量高;当所述第二IP地址的连接成功率小于85%时,则所述第二IP地址质量指示信息为第六取值“0”,表示上述第二IP地址的质量低。可见,所述第二IP地址的连接成功率越高,所述第二IP地址的质量越高
更进一步的,所述第二IP地址的质量数据还可以进一步包括:所述第二IP地址的连接时间。对于同样的所述第二IP地址的连接成功率,所述第二IP地址的连接时间越短,所述第二IP地址的质量越高,当然,确定第二IP地址的质量时,第二IP地址的连接成功率所占的权重最大。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
在一些实例中,在所述浏览器内核102的解析前决策模块1021确定是否执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤的过程中,当所述第三指示信息指示缓存中存储有所述域名的所述第二IP地址时,如果所述域名的IP地址有效时间未到期且所述第二指示信息为第一取值,则所述浏览器内核102的解析前决策模块1021确定不执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤,并从所述缓存中获取所述第二IP地址并将其作为所述目标IP地址;如果所述域名的IP地址有效时间已经到期或者所述第二指示信息为所述第二取值,则所述浏览器内核102的解析前决策模块1021确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤;当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,所述浏览器内核102的解析前决策模块1021确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤。
其中,所述浏览器内核102的解析前决策模块1021确定上述IP地址有效时间是否到期,可以根据上述IP地址有效时间、返回上述IP地址有效时间的时间也即返回第二解析结果的时间和当前的时间确定上述IP地址有效时间是否到期。例如,返回上述IP地址有效时间的时间为09:27,上述IP地址有效时间为30分钟,现在时间为10:00,所述浏览器内核102的解析前决策模块1021可以确定上述IP地址有效时间对应的IP地址的生存时间为30分钟,因此所述浏览器内核102的解析前决策模块1021可以确定该IP地址在09:57分被释放掉,因此在10:00时,上述IP地址有效时间已经到期,也即上述IP地址已经被释放掉。
例如,在上述浏览器内核102的解析前决策模块1021确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤的过程中,当上述第三指示信息指示所述缓存中存储有所述域名的第二IP地址时,如果所述域名的第二IP地址有效时间为10分钟并没有到期并且所述第二指示信息为第五取值“1”,也即表征上述第二解析结果中的第二IP地址的质量高,则浏览器内核102的解析前决策模块1021确定上述第二IP地址还存储在上述缓存中,并且该第二IP地址质量高可以作为目标IP地址,因此浏览器内核102的解析前决策模块1021确定不需要解析上述域名,从上述缓存中获取上述第二IP地址,并将其作为上述目标IP地址。否则,如果所述域名的第二IP地址有效时间为10分钟已经到期,也即上述缓存中已经释放掉上述第二IP地址或者所述第二指示信息为第六取值“0”,也即表征上述第二解析结果中的第二IP地址的质量低,都需要重新解析上述域名,则浏览器内核102的解析前决策模块1021确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤。更进一步的,当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,因此需要重新解析上述域名,则浏览器内核102的解析前决策模块1021确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤。
具体的,浏览器内核102的解析前决策模块1021确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器12的步骤包括以下三种情况:
1、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间未到期且所述第二指示信息为第五取值,也即第二IP地址质量不高,则发送所述域名至所述目标解析类型对应的目标解析服务器。可以看出,即使上述第二IP地址还存储在上述缓存中,只要上述第一IP地址的质量不高,也需要重新解析上述域名。
2、当所述第三指示信息指示所述缓存中存储所述域名的所述第二IP地址时,如果所述IP地址有效时间到期,也即上述缓存已经释放掉上述第二IP地址,则浏览器内核102的解析前决策模块1021确定需要重新解析,并发送所述域名至所述目标解析类型对应的目标解析服务器12以使其重新解析。
3、当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,也即上述缓存中没有存储过上述第二IP地址,则浏览器内核102的解析前决策模块1021发送所述域名至所述目标解析类型对应的目标解析服务器12。
在一些实例中,当所述第一指示信息指示不参考所述IP地址有效时间时,浏览器内核102的解析前决策模块1021将所述IP地址有效时间设置为预设值并确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器12的步骤。
例如,当上述第三指示信息的取值为第二取值“0”,也即不参考上述第二IP地址的IP地址有效时间,也即浏览器内核102的解析前决策模块1021将上述第二IP地址的IP地址有效时间设定为预设值,以上述预设值为上述第二IP地址的IP地址有效时间来进行确定缓存是否已经释放掉上述第二IP地址。
在一些实例中,当所述目标解析类型为第一解析类型时,所述浏览器内核102的解析前决策模块1021将所述第一解析类型对应的第一解析服务器13作为所述目标解析服务器12,并使用与所述第一解析服务器13预定的协议将所述域名发送至所述第一解析服务器13;所述第一解析服务器13解析所述域名并使用所述预定的协议返回所述第一解析结果至所述浏览器内核102的解析前决策模块1021;
其中,当所述目标解析类型为第二解析类型时,所述浏览器内核102的解析前决策模块1021将所述第二解析类型对应的第二解析服务器14作为所述目标解析服务器12,并使用标准协议将所述域名发送至所述第二解析服务器14;所述第二解析服务器14解析所述域名并返回所述第一解析结果至所述浏览器内核102的解析前决策模块1021。
在一些实例中,所述域名解析系统进一步包括IP质量监控服务器17;当所述域名对应一个或多个所述第二IP地址时,第二IP地址集合包括所述域名对应的所述一个或多个所述第二IP地址;所述浏览器内核102的连接前决策模块1022确定出所述第一IP地址集合与所述第二IP地址集合的交集,并将所述交集中的一个或多个第三IP地址作为所述目标IP地址。
例如,当上述浏览器内核102的连接前决策模块1022接收到上述目标解析服务器12返回的第一解析结果时,假设上述第一解析结果中的第一IP地址集合中包括4个第一IP地址:159.226.1.1、100.4.5.6、192.168.0.0以及172.16.0.0,而浏览器内核的缓存中存储的上述域名A的第二IP地址集合中包括三个第二IP地址:159.226.1.1、152.18.1.125以及192.168.0.0,上述浏览器内核102的连接前决策模块1022根据确定出上述第一IP地址集合与上述第二IP地址集合的交集,并将这两个第三IP地址作为上述目标IP地址,可以看出该交集中包括两个第三IP地址159.226.1.1以及192.168.0.0。
在一些实例中,上述浏览器内核102的连接前决策模块1022根据所述一个或多个第三IP地址的质量数据,对所述一个或多个第三IP地址进行质量排序生成质量顺序,以按照所述质量顺序使用所述一个或多个第三IP地址依次进行连接。
又例如,当上述浏览器内核102的连接前决策模块1022确定好两个第三IP地址159.226.1.1以及192.168.0.0后,根据两个第三IP地址的质量数据,比如第三IP地址159.226.1.1的连接成功率为75%、连接时间为1秒,第三IP地址192.168.0.0的连接成功率为85%、连接时间为0.8秒,则上述浏览器内核102可以按照先使用192.168.0.0连接目标站点服务器,如果连接失败,再用159.226.1.1连接目标站点服务器的顺序来连接上述目标站点服务器。
在一些实例中,从IP质量监控服务器17定时获取所述域名及其对应的IP地址并使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合。
具体的,大量的用户终端11的浏览器内核102向上述IP质量监控服务器17上报各个域名及其对应的一个或多个IP地址的质量数据,其中,一个域名对应的一个或多个IP地址的质量数据包括连接时间、以及连接成功率等,上述IP质量监控服务器17对每一个域名对应的一个或多个IP地址的质量数据进行计算分析以确定各个域名对应的IP地址,也即各个域名的最优IP地址,其中,各个域名具有至少一个最优IP地址。当上述IP质量监控服务器17对一个域名对应的一个或多个IP地址的连接数据进行计算分析时,将上述一个或多个IP地址中连接成功率最高的前N个IP地址作为上述域名的对应的IP地址,N为大于等于1的自然数,也即上述域名对应的最优IP地址。更进一步的,上述IP质量监控服务器17还可以进一步考虑上述域名对应的一个或多个IP地址的连接时间。如果一个或多个IP地址具有同样的IP地址的连接成功率,那么一个或多个IP地址中IP地址的连接时间越短的IP地址,其IP地址的质量越高,当然,确定IP地址的质量时,IP地址的连接成功率所占的权重最大。
例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、75%以及73%,因此,上述浏览器内核102的连接前决策模块1022可以确定连接成功率为80%对应的IP地址的IP质量最高。又例如,一个域名对应的四个IP地址的连接成功率分别为80%、70%、80%以及75%,同时这四个IP地址对应的连接时间分别为1秒、4秒、1.8秒以及0.9秒,则确定连接成功率为80%且连接时间为1秒的IP地址质量最高。
上述浏览器内核102连接前决策模块1022可以定时从上述IP质量监控服务器17获取各个域名对应的IP地址也即最优IP地址,并使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合,如前所述,所述域名及其对应的IP地址也即最优IP地址可以为一个或多个,例如,浏览器内核102连接前决策模块1022自身缓存内存储的一个域名A对应的第二IP地址集合中包括两个第二IP地址为100.4.5.6、102.100.100.205,而上述浏览器内核102从上述IP质量监控服务器17获取的该域名A对应的IP地址也即最优IP地址为192.168.0.0、100.4.5.6,因此,上述浏览器内核102连接前决策模块1022将上述缓存内存储的该域名A对应的第二IP地址集合更新为100.4.5.6、192.168.0.0。
在一些实例中,随着用户终端处理能力的增强,上述浏览器内核连接前决策模块1022可以独立统计常用的域名及其对应的第二IP地址集合中的第二IP地址的质量数据。上述浏览器内核连接前决策模块1022根据自身存储的所述第二IP地址的质量数据,将所述第一IP地址集合与上述第二IP地址集合的交集中的IP地址的连接成功率最高的IP地址作为所述目标IP地址。
在一些实例中,所述浏览器内核102的连接前决策模块1022基于所述目标IP地址,与所述目标站点服务器16进行三次握手连接;当所述握手连接成功时,向所述目标站点服务器16发起HTTP层的连接请求。
在一些实例中,如果所述目标IP地址质量不高导致连接失败,所述浏览器内核102的连接后决策模块1023则记录所述目标IP地址对应的域名、所述目标IP地址、解析服务器信息、错误信息、解析类型以及网络信息,并更新自身存储的IP质量数据。更进一步的,当由于所述目标IP地址的质量不高导致连接失败,所述浏览器内核102的连接后决策模块1023进行下一个所述目标IP地址的连接。
对应以上域名解析方法,本申请还提供了实现上述方法的域名解析装置400,该解析装置400位于用户终端11的浏览器内核中。图4示出了域名解析装置400的结构图。如图4所示,该解析装置400包括解析前决策模块401和连接前决策模块402,其中,各模块的功能如下:
解析前决策模块401,响应于页面请求,根据所述页面的域名确定目标解析类型;
解析前决策模块401,进一步将所述页面的域名发送至所述目标解析类型对应的目标解析服务器;
解析前决策模块401,进一步接收所述目标解析服务器返回的第一解析结果,所述第一解析结果包括第一IP地址集合;以及
连接前决策模块402,从所述第一IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。
在一些实例中,解析前决策模块401将所述页面的域名发送至浏览器内核服务器,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的所述目标解析类型和第一指示信息,其中,如果所述域名在所述浏览器内核服务器自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一指示信息用于指示是否参考IP地址有效时间;
在一些实例中,解析前决策模块401从缓存中获取所述域名的IP地址有效时间和第二指示信息,其中,所述缓存中存储有所述目标解析服务器上一次返回的第二解析结果,所述第二解析结果包括所述域名的IP地址有效时间和所述域名的第二IP地址;所述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量;当所述第一指示信息指示参考所述IP地址有效时间时,根据所述第二指示信息、第三指示信息以及所述域名的IP地址有效时间,确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤,其中,所述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址。
在一些实例中,解析前决策模块401根据所述第二IP地址的质量数据确定所述第二指示信息的取值。
在一些实例中,所述第二IP地址的质量数据包括:所述第二IP地址的连接成功率;当所述第二IP地址的连接成功率大于或等于预定阈值时,解析前决策模块401则置所述第二指示信息为第一取值,所述第一取值表征所述第二IP地址的质量高;当所述第二IP地址的连接成功率小于所述预定阈值时,解析前决策模块401则置所述第二指示信息为第二取值,所述第二取值表征所述第二IP地址的质量低。
在一些实例中,当所述第三指示信息指示所述缓存中存储有所述域名的所述第二IP地址时,如果所述域名的IP地址有效时间未到期且所述第二指示信息为所述第一取值,解析前决策模块401则确定不执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤,并从所述缓存中获取所述第二IP地址并将其作为所述目标IP地址;如果所述域名的IP地址有效时间已到期或者所述第二指示信息为所述第二取值,解析前决策模块401则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤;当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,解析前决策模块401确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤。
在一些实例中,当所述第一指示信息指示不参考所述IP地址有效时间时,解析前决策模块401将所述IP地址有效时间设置为预设值并确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤。
在一些实例中,当所述目标解析类型为第一解析类型时,解析前决策模块401将所述第一解析类型对应的第一解析服务器作为所述目标解析服务器,并使用与所述第一解析服务器预定的协议将所述域名发送至所述第一解析服务器,以使其解析所述域名并使用所述预定的协议返回所述第一解析结果;当所述目标解析类型为第二解析类型时,解析前决策模块401将所述第二解析类型对应的第二解析服务器作为所述目标解析服务器,并使用标准协议将所述域名发送至所述第二解析服务器,以使其解析所述域名并使用所述标准协议返回所述第一解析结果。
在一些实例中,连接前决策模块402对接收的所述第一解析结果进行解密,得到所述第一IP地址集合。
在一些实例中,当所述域名对应一个或多个所述第二IP地址时,第二IP地址集合包括所述域名对应的所述一个或多个所述第二IP地址;连接前决策模块402确定出所述第一IP地址集合与所述第二IP地址集合的交集,并将所述交集中的一个或多个第三IP地址作为所述目标IP地址。
在一些实例中,连接前决策模块402从IP质量监控服务器定时获取所述域名及其对应的IP地址;使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合。
在一些实例中,连接前决策模块402根据所述一个或多个第三IP地址的质量数据,对所述一个或多个第三IP地址进行质量排序生成质量顺序,以按照所述质量顺序使用所述一个或多个第三IP地址依次进行连接。
在一些实例中,在一些实例中,解析系统400进一步包括连接后决策模块403。如果由于所述目标IP地址质量导致连接失败,连接后决策模块403则记录所述目标IP地址对应的域名、所述目标IP地址、解析服务器信息、错误信息、解析类型以及网络信息,并更新自身存储的IP质量数据。更进一步的,当由于所述目标IP地址的质量不高导致连接失败,连接后决策模块403进行下一个所述目标IP地址的连接。
上述域名解析装置,通过本申请的技术方案,一方面浏览器内核可以对敏感页面的域名进行解析类型的配置,防止劫持的发生,并且由于提供了两种解析类型及其对应的解析服务器,这样可以实现两个解析服务器的互补,提高了域名的解析效率。另一方面,确定域名的目标IP地址考虑了大量的IP质量数据,适应实际情况的缓存管理,可以提高浏览器内核页面打开的成功率。
图5示出了实现域名解析方法的解析装置400所在的用户终端500的组成结构图。如图5所示,该计算设备包括一个或者多个处理器(CPU)502、通信模块504、存储器506、用户接口510,以及用于互联这些组件的通信总线508。
处理器502可通过通信模块504接收和发送数据以实现网络通信和/或本地通信。
用户接口510包括一个或多个输出设备512,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口510也包括一个或多个输入设备514,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器506可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器506存储处理器502可执行的指令集,包括:
操作系统516,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用518,包括用于实现域名解析方法各种应用程序,这种应用程序能够实现上述各实例中的处理流程,比如可以包括图4所示的实现域名解析方法的装置400中的部分或全部单元。各单元或模块401-403中的至少一个模块可以存储有机器可执行指令。处理器502通过执行存储器506中各模块401-403中至少一个模块中的机器可执行指令,进而能够实现上述各模块401-403中的至少一个模块的功能。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。
因此,本申请的一些实例还提供了一种计算机可读存储介质,其上存储有计算机指令,其中,所述计算机指令被处理器执行时实现上述图2-5中所述方法的步骤。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图4中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
另外,在本申请各个实例中的装置及各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上装置或模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种域名解析方法,其特征在于,包括:
响应于页面请求,将页面的域名发送至浏览器内核服务器,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的目标解析类型,其中,如果所述域名在所述浏览器内核服务器自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一解析类型为HttpDNS解析类型,所述第二解析类型为DNS解析类型;
将所述页面的域名发送至所述目标解析类型对应的目标解析服务器;
接收所述目标解析服务器返回的第一解析结果,所述第一解析结果包括第一网络协议IP地址集合;以及
从所述第一网络协议IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。
2.根据权利要求1所述的方法,其中,所述解析类型决策信息进一步包括返回的第一指示信息,所述第一指示信息用于指示是否参考所述域名的IP地址有效时间;
其中,在所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器之前,进一步包括:
从缓存中获取所述域名的IP地址有效时间和第二指示信息,其中,所述缓存中存储有所述目标解析服务器上一次返回的第二解析结果,所述第二解析结果包括所述域名的IP地址有效时间和所述域名的第二IP地址;所述第二指示信息用于指示所述缓存中存储的所述第二IP地址的质量;
当所述第一指示信息指示参考所述IP地址有效时间时,根据所述第二指示信息、第三指示信息以及所述域名的IP地址有效时间,确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤,其中,所述第三指示信息用于指示所述缓存是否存储所述域名的所述第二IP地址。
3.根据权利要求2所述的方法,其中,所述方法进一步包括:根据所述第二IP地址的质量数据确定所述第二指示信息的取值;所述第二IP地址的质量数据包括:所述第二IP地址的连接成功率;
其中,根据第二IP地址的质量数据确定所述第二指示信息的取值,包括:
当所述第二IP地址的连接成功率大于或等于预定阈值时,则置所述第二指示信息为第一取值,所述第一取值表征所述第二IP地址的质量高;
当所述第二IP地址的连接成功率小于所述预定阈值时,则置所述第二指示信息为第二取值,所述第二取值表征所述第二IP地址的质量低。
4.根据权利要求3所述的方法,其中,所述确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤,包括:
当所述第三指示信息指示所述缓存中存储有所述域名的所述第二IP地址时,如果所述域名的IP地址有效时间未到期且所述第二指示信息为所述第一取值,则确定不执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤,并从所述缓存中获取所述第二IP地址并将其作为所述目标IP地址;如果所述域名的IP地址有效时间已到期或者所述第二指示信息为所述第二取值,则确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤;
当所述第三指示信息指示所述缓存中没有存储所述域名的所述第二IP地址时,确定执行所述发送所述页面的域名至所述目标解析类型对应的目标解析服务器的步骤。
5.根据权利要求2所述的方法,其中,所述方法进一步包括:
当所述第一指示信息指示不参考所述IP地址有效时间时,将所述IP地址有效时间设置为预设值并确定是否执行所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器的步骤。
6.根据权利要求1所述的方法,其中,所述将所述页面的域名发送至所述目标解析类型对应的目标解析服务器,包括:
当所述目标解析类型为第一解析类型时,将所述第一解析类型对应的第一解析服务器作为所述目标解析服务器,并使用与所述第一解析服务器预定的协议将所述域名发送至所述第一解析服务器,以使其解析所述域名并使用所述预定的协议返回所述第一解析结果;
当所述目标解析类型为第二解析类型时,将所述第二解析类型对应的第二解析服务器作为所述目标解析服务器,并使用标准协议将所述域名发送至所述第二解析服务器,以使其解析所述域名并使用所述标准协议返回所述第一解析结果。
7.根据权利要求2所述的方法,其中,当所述域名对应一个或多个所述第二IP地址时,第二IP地址集合包括所述域名对应的所述一个或多个所述第二IP地址;
其中,所述从所述第一网络协议IP地址集合中确定目标IP地址,包括:
确定出所述第一网络协议IP地址集合与所述第二IP地址集合的交集,并将所述交集中的一个或多个第三IP地址作为所述目标IP地址。
8.根据权利要求7所述的方法,其中,所述方法进一步包括:
从IP质量监控服务器定时获取所述域名及其对应的IP地址;
使用获取的所述域名及其对应的IP地址更新所述缓存中存储的所述域名的所述第二IP地址集合。
9.根据权利要求7所述的方法,其中,所述方法进一步包括:
根据所述一个或多个第三IP地址的质量数据,对所述一个或多个第三IP地址进行质量排序生成质量顺序,以按照所述质量顺序使用所述一个或多个第三IP地址依次进行连接。
10.根据权利要求1所述的方法,其中,所述连接至所述目标IP地址对应的目标站点服务器,进一步包括:
如果由于所述目标IP地址的质量导致连接失败,则记录所述目标IP地址对应的域名、所述目标IP地址、解析服务器信息、错误信息、解析类型以及网络信息,并更新自身存储的IP质量数据。
11.一种域名解析系统,其特征在于,包括:用户终端、第一解析服务器、第二解析服务器和目标站点服务器,所述用户终端包括浏览器内核;其中,
所述浏览器内核,响应于页面请求,将页面的域名发送至浏览器内核服务器,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的目标解析类型,其中,如果所述域名在所述浏览器内核服务器自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一解析类型为HttpDNS解析类型,所述第二解析类型为DNS解析类型;
所述浏览器内核,将所述页面的域名发送至所述目标解析类型对应的目标解析服务器,所述目标解析服务器是所述第一解析服务器或所述第二解析服务器;
所述目标解析服务器,返回第一解析结果至所述用户终端,所述第一解析结果包括第一网络协议IP地址集合;以及
所述浏览器内核,从所述第一网络协议IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。
12.一种域名解析装置,其特征在于,包括:
解析前决策模块,响应于页面请求,将页面的域名发送至浏览器内核服务器,以使其根据所述域名返回解析类型决策信息,所述解析类型决策信息包括返回的目标解析类型,其中,如果所述域名在所述浏览器内核服务器自身存储的域名列表中,则返回的所述目标解析类型为第一解析类型,否则返回的所述目标解析类型为第二解析类型,所述第一解析类型为HttpDNS解析类型,所述第二解析类型为DNS解析类型;
所述解析前决策模块,进一步将所述页面的域名发送至所述目标解析类型对应的目标解析服务器;
所述解析前决策模块,进一步接收所述目标解析服务器返回的第一解析结果,所述第一解析结果包括第一网络协议IP地址集合;以及
连接前决策模块,从所述第一网络协议IP地址集合中确定目标IP地址,并连接至所述目标IP地址对应的目标站点服务器。
13.一种存储介质,其特征在于,存储有机器可读指令,可以使至少一个处理器执行如权利要求1-10任一项所述的方法。
14.一种计算设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的指令集;所述处理器执行所述指令集时实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479537.9A CN108718347B (zh) | 2018-05-18 | 2018-05-18 | 一种域名解析方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810479537.9A CN108718347B (zh) | 2018-05-18 | 2018-05-18 | 一种域名解析方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108718347A CN108718347A (zh) | 2018-10-30 |
CN108718347B true CN108718347B (zh) | 2021-12-03 |
Family
ID=63899945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810479537.9A Active CN108718347B (zh) | 2018-05-18 | 2018-05-18 | 一种域名解析方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108718347B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768980B (zh) * | 2019-01-16 | 2020-12-29 | 深圳市创维软件有限公司 | 服务器访问方法、装置、移动终端及计算机可读存储介质 |
CN109871489A (zh) * | 2019-03-06 | 2019-06-11 | 网宿科技股份有限公司 | 一种智能识别系统中的资源检索方法及智能识别系统 |
CN110149388B (zh) * | 2019-05-16 | 2023-02-24 | 北京字节跳动网络技术有限公司 | Httpdns服务器的连接方法、装置及设备 |
WO2020228038A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | 域名处理方法、装置、电子设备以及存储介质 |
CN110913007B (zh) * | 2019-11-29 | 2022-03-29 | 杭州安恒信息技术股份有限公司 | 一种域名解析方法、装置及设备 |
CN113824805A (zh) * | 2020-06-19 | 2021-12-21 | 中国电信股份有限公司 | 域名寻址方法及装置、计算机可存储介质 |
CN114024936A (zh) * | 2020-07-17 | 2022-02-08 | 北京搜狗科技发展有限公司 | 一种基于httpdns的dns解析方法及装置 |
CN113473455B (zh) * | 2021-06-30 | 2022-05-27 | 荣耀终端有限公司 | 一种终端应用联网的方法及终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780715A (zh) * | 2014-01-29 | 2014-05-07 | 百度在线网络技术(北京)有限公司 | 域名解析实现方法、客户端和云服务器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173760A1 (en) * | 2010-12-30 | 2012-07-05 | International Business Machines Corporation | Domain name resolution for a hybrid cloud cluster |
CN102790808B (zh) * | 2011-05-16 | 2015-11-25 | 北京奇虎科技有限公司 | 一种域名解析方法和系统、一种客户端 |
CN103581349B (zh) * | 2012-07-24 | 2018-05-15 | 腾讯科技(深圳)有限公司 | 一种域名解析方法及装置 |
CN102833364A (zh) * | 2012-08-22 | 2012-12-19 | 深圳市共进电子股份有限公司 | 一种域名解析代理方法及网关设备 |
CN103685583B (zh) * | 2012-09-05 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 一种域名解析的方法和系统 |
CN103051740B (zh) * | 2012-12-13 | 2016-04-20 | 上海牙木通讯技术有限公司 | 域名解析方法、dns服务器及域名解析系统 |
CN103281409B (zh) * | 2013-06-24 | 2016-03-16 | 广州市动景计算机科技有限公司 | 基于tcp协议的移动互联网域名解析方法及dns服务器 |
CN103957201B (zh) * | 2014-04-18 | 2018-01-05 | 北京奇虎科技有限公司 | 基于dns的域名信息处理方法、装置及系统 |
US10530738B2 (en) * | 2014-08-07 | 2020-01-07 | Citrix Systems, Inc. | DNS resolution replay for bare domain names that map to “A” records |
CN105610995A (zh) * | 2015-09-11 | 2016-05-25 | 宇龙计算机通信科技(深圳)有限公司 | Dns服务器的选择方法、dns服务器的选择装置和终端 |
US10904328B2 (en) * | 2015-12-03 | 2021-01-26 | Christopher Balz | System, method, and apparatus for providing and utilizing a link metadata system for the internet |
CN106331216B (zh) * | 2016-09-13 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 域名的解析方法和装置 |
CN107295116B (zh) * | 2017-05-11 | 2020-04-10 | 上海红阵信息科技有限公司 | 一种域名解析方法、装置及系统 |
CN107147751A (zh) * | 2017-05-11 | 2017-09-08 | 上海红阵信息科技有限公司 | 域名解析方法及装置 |
CN107528862B (zh) * | 2017-10-23 | 2021-04-30 | 京东数字科技控股有限公司 | 域名解析的方法及装置 |
-
2018
- 2018-05-18 CN CN201810479537.9A patent/CN108718347B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780715A (zh) * | 2014-01-29 | 2014-05-07 | 百度在线网络技术(北京)有限公司 | 域名解析实现方法、客户端和云服务器 |
Non-Patent Citations (1)
Title |
---|
浅析域名劫持与HttpDNS;尹川铭;《网络安全技术与应用》;20170415(第04期);45-46 * |
Also Published As
Publication number | Publication date |
---|---|
CN108718347A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108718347B (zh) | 一种域名解析方法、系统、装置及存储介质 | |
CN109951546B (zh) | 基于智能合约的事务请求处理方法、装置、设备和介质 | |
US10025599B1 (en) | Connectivity as a service | |
CN111262839A (zh) | 一种漏洞扫描方法、管理设备、节点和存储介质 | |
CN107181779B (zh) | 访问请求的处理方法、装置和系统 | |
CN106462611A (zh) | 网络访问性能增强 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
US20180097893A1 (en) | Cross-device synchronization system for account-level information | |
CN111917900A (zh) | 一种域名代理的请求处理方法及装置 | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
CN112565406B (zh) | 一种灰度发布方法、灰度发布系统及电子设备 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN110324384B (zh) | 数据推送的方法和装置 | |
CN113556359A (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
CN113364887A (zh) | 一种基于ftp的文件下载方法、代理服务器和系统 | |
CN111327680A (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN103051722B (zh) | 一种确定页面是否被劫持的方法及相关设备 | |
US20220244976A1 (en) | Containers on demand | |
CN114116448A (zh) | 应用程序的压力测试方法、装置、存储介质及计算机设备 | |
CN114595080A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112364334A (zh) | 单点登录方法、装置及电子设备和存储介质 | |
US20210081466A1 (en) | Web acceleration via learning | |
CN110764932A (zh) | 数据处理方法、系统、介质和计算设备 | |
US11431826B2 (en) | Secure demand-driven file distribution | |
WO2024066503A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221123 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |