CN111049943A - 解析域名的方法、装置、设备及介质 - Google Patents

解析域名的方法、装置、设备及介质 Download PDF

Info

Publication number
CN111049943A
CN111049943A CN201911236895.8A CN201911236895A CN111049943A CN 111049943 A CN111049943 A CN 111049943A CN 201911236895 A CN201911236895 A CN 201911236895A CN 111049943 A CN111049943 A CN 111049943A
Authority
CN
China
Prior art keywords
domain name
resolution
result
server
analysis result
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
Application number
CN201911236895.8A
Other languages
English (en)
Inventor
赵婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201911236895.8A priority Critical patent/CN111049943A/zh
Publication of CN111049943A publication Critical patent/CN111049943A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种解析域名的方法、装置、设备及介质,本公开实施例中域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能独立对目标域名进行域名解析,在发起网络请求时,向域名解析服务器发送域名解析请求,该域名解析请求指示域名服务器解析网络请求中的目标域名,实现利用多种域名服务模块分别对目标域名进行解析。接收域名解析服务器发送的第一解析结果,将第一解析结果的接收时间作为选择因子,可以获得第二解析结果来访问网络资源,从而实现提高域名解析效率,并且由多种域名服务模块分别对目标域名进行解析,可以提高DNS解析成功率。

Description

解析域名的方法、装置、设备及介质
技术领域
本申请涉及通信技术领域,尤其涉及解析域名的方法、装置、设备及介质。
背景技术
随着互联网技术的发展,用户对互联网的访问需求越来越大。用户通过客户端进行网络资源访问时,往往会输入待访问资源(如网站)的域名进行网络资源访问。在通过域名访问网络资源时,客户端可以先向DNS(Domain Name System,域名系统)服务器发出携带有目标域名的域名解析请求,DNS服务器对目标域名进行解析,在预置的域名与IP地址的对应关系中得到该待访问资源的域名对应的IP(Internet Protocol,网际协议)地址,并将该IP地址返回给客户端,客户端得到域名对应的IP地址后,根据该IP地址访问相应的网络资源。
然而,可能由于域名解析服务器解析失败、或者IP地址所在服务器异常等缘故导致访问网络资源失败。
发明内容
为克服相关技术中存在的问题,本公开提供了解析域名的方法、装置、设备及介质。
根据本公开实施例的第一方面,提供一种解析域名的方法,所述方法包括:
在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;
接收所述域名解析服务器发送的第一解析结果;
根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
通过所述第二解析结果访问网络资源。
在一个可选的实施例中,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:
在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
在一个可选的实施例中,在所述通过所述第二解析结果访问网络资源之后,所述方法还包括:
继续接收域名服务器发送的第一解析结果;
若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果,并利用更新后的第二解析结果访问网络资源。
在一个可选的实施例中,所述方法还包括:
在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
在一个可选的实施例中,每个域名服务模块预先配置有优先级,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:
依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
在一个可选的实施例中,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中;或,
所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中。
在一个可选的实施例中,所述域名解析服务器包括以下一种或多种:公共域名解析服务器、第三方提供的私有域名解析服务器;所述公共域名解析服务器和第三方提供的私有域名解析服务器的解析策略不同。
根据本公开实施例的第二方面,提供一种解析域名的装置,所述装置包括:
数据传输模块,被配置为:在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;接收所述域名解析服务器发送的第一解析结果;
结果确定模块,被配置为:根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
资源访问模块,被配置为:通过所述第二解析结果访问网络资源。
在一个可选的实施例中,所述结果确定模块具体被配置为:
在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
在一个可选的实施例中,所述数据传输模块,还被配置为:在所述通过所述第二解析结果访问网络资源之后,继续接收域名服务器发送的第一解析结果;
所述结果确定模块,还被配置为:若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果;
所述资源访问模块,还被配置为利用更新后的第二解析结果访问网络资源。
在一个可选的实施例中,所述数据传输模块还被配置为:
在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
在一个可选的实施例中,每个域名服务模块预先配置有优先级,所述结果确定模块包括:
备选集确定子模块,被配置为:依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
结果选择子模块,被配置为:将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
在一个可选的实施例中,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中;或,
所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中。
在一个可选的实施例中,所述域名解析服务器包括以下一种或多种:公共域名解析服务器、第三方提供的私有域名解析服务器;所述公共域名解析服务器和第三方提供的私有域名解析服务器的解析策略不同。
根据本公开实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上任一项所述方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一项所述方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能独立对目标域名进行域名解析,在发起网络请求时,向域名解析服务器发送域名解析请求,该域名解析请求指示域名服务器解析网络请求中的目标域名,实现利用多种域名服务模块分别对目标域名进行解析。接收域名解析服务器发送的第一解析结果,将第一解析结果的接收时间作为选择因子,可以选择接收时间较早且解析成功的第一解析结果作为第二解析结果来访问网络资源,从而实现提高域名解析效率,并且由多种域名服务模块分别对目标域名进行解析,可以提高DNS解析成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是相关技术中某域名解析服务器进行域名解析的流程示意图。
图2A是本公开根据一示例性实施例示出的一种解析域名的方法的应用场景图。
图2B是本公开根据一示例性实施例示出的一种解析域名的方法的流程图。
图3是本公开根据一示例性实施例示出的另一种解析域名的方法的流程图。
图4是本公开根据一示例性实施例示出的一种解析域名的装置的框图。
图5是本公开根据一示例性实施例示出的一种解析域名的装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本公开相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
域名解析可以是把域名指向网站空间IP,让用户通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析是域名到IP地址的转换过程。例如,用户在访问网站时,先通过终端设备向DNS(Domain Name System,域名系统)服务器发送域名解析请求,DNS服务器对该域名解析请求中的域名进行域名解析,获得该网站的IP地址,将解析得到的IP地址返回至该用户终端,用户终端根据该IP地址访问该网站。其中,DNS服务器也可以称为域名解析服务器。
然而,可能由于域名解析服务器解析失败导致访问网络资源失败。并且,发明人还发现,可能出现域名解析结果反馈速度慢的问题。如图1所示,是相关技术中某类域名解析服务器进行域名解析的流程示意图。域名解析服务器可以由多个服务器设备构成。客户端一般先向本地域名服务器发出携带有目标域名的域名解析请求,由本地域名服务器对目标域名进行解析。同时本地域名服务器还可以连接其他服务器以支持不能解析时的转发。若本地域名服务器不能回答该域名解析请求,则此域名服务器就暂成为DNS中的另一个客户,向根域名服务器发出请求解析(如“.”DNS服务器),根域名服务器能找到下面的二级域名的域名服务器(如.cn DNS服务器),这样以此类推,一直向下解析,直到查询到所请求的域名。采用这种解析方式,可能由于目标域名在某个靠后的二级域名的域名服务器中等原因,从而出现域名解析结果反馈速度慢的问题。
为此,本公开实施例提供一种解析域名的方案,本公开实施例中域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能单独对目标域名进行域名解析,在发起网络请求时,向域名解析服务器发送域名解析请求,该域名解析请求指示域名服务器解析网络请求中的目标域名,实现利用多种域名服务模块分别对目标域名进行解析。接收域名解析服务器发送的第一解析结果,将第一解析结果的接收时间作为选择因子,可以选择接收时间较早且解析成功的第一解析结果作为第二解析结果来访问网络资源,从而实现提高域名解析效率,并且由多种域名服务模块分别对目标域名进行解析,可以提高DNS解析成功率。
接下来结合附图对本公开实施例进行示例说明。
至少两个域名服务模块是指包括但不限于两种域名服务模块,也可以三种或更多种,具体根据需求配置。域名服务模块可以是配置在域名服务器中的软件模块。不同域名服务模块的可以是同种域名服务模块,也可以是不同种域名服务模块。例如,不同域名服务模块的解析策略可以不同。每个域名服务模块能独立进行域名解析,给出解析结果。以至少两个域名服务模块为第一域名服务模块和第二域名服务模块为例,在一个示例中,第一域名服务模块和第二域名服务模块的解析策略不同。例如,某种域名服务模块是提供与目标域名对应、且距离当前用户端位置最近的IP地址,某种域名服务模块是提供与目标域名对应的最新更新的IP地址等。
在一个实施例中,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中,从而实现一个域名解析服务器利用至少两个域名服务模块分别对目标域名进行解析。例如,域名解析服务器在接收到域名解析请求(如,域名解析请求携带有指示利用多线程分别进行域名解析的标识,或者是一般的域名解析请求)后,可以开启至少两个线程分别对目标域名进行解析。又如,域名解析服务器在接收到至少两个域名解析请求后,利用与域名解析请求个数相同的域名服务模块分别对目标域名进行解析等。
在另一个实施例中,所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中,则每个域名解析服务器能独立进行域名解析,从而实现利用多个域名解析服务器分别对目标域名进行解析。向域名解析服务器发送域名解析请求,可以是分别向每个域名解析服务器发送域名解析请求。不同域名解析服务器的解析策略可以相同,也可以不同。示例的,域名解析服务器可以包括第一域名解析服务器和第二域名解析服务器,第一域名解析服务器和第二域名解析服务器能独立进行域名解析,第一域名服务模块可以配置在第一域名解析服务器中,第二域名服务模块可以配置在第二域名解析服务器中。该实施例利用两个能独立进行域名解析的域名解析服务器解析目标域名,可以提高解析成功率。
示例的,第一域名解析服务器可以是公共域名解析服务器,即相关技术中通用的域名解析服务器。第二域名解析服务器可以是第三方提供的私有域名解析服务器(如DNSServer)。私有域名解析服务器可以是应用开发商自行搭建的DNS服务器,也可以是某个权威机构搭建的DNS服务器等。
应当理解的是,域名解析服务器也可以是其他不同类型的域名解析服务器,在此不一一赘述。另外,同一个域名解析服务器可以由一个服务器设备组成,也可以由多个服务器设备组成,具体根据需求配置。当域名解析服务器由多个服务器设备组成,该域名解析服务器也可以称为域名解析系统、或域名解析服务器组等。
为了方便理解,先给出一个应用场景图进行示例说明。如图2A所示,图2A是本公开根据一示例性实施例示出的一种解析域名的方法的应用场景图。在该示意图中,以包括第一域名解析服务器和第二域名解析服务器为例进行示例说明。在检测到发起网络请求时,本执行端可以将携带有网络请求中目标域名的域名解析请求分别发送至第一域名解析服务器和第二域名解析服务器,以便第一域名解析服务器和第二域名服服务器分别对目标域名进行解析。通过多种域名解析服务器同时对同一个目标域名进行解析,可以提高解析成功的概率。
如图2B所示,图2B是本公开根据一示例性实施例示出的一种解析域名的方法的流程图,可以包括以下步骤:
在步骤202中,在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;
在步骤204中,接收所述域名解析服务器发送的第一解析结果;
在步骤206中,根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
在步骤208中,通过所述第二解析结果访问网络资源。
本实施例提供的解析域名的方法可以通过软件执行,也可以通过软件和硬件相结合或者硬件执行的方式实现,所涉及的硬件可以由两个或多个物理实体构成,也可以由一个物理实体构成。示例的,本实施例方法可以应用于具有网络资源访问能力的终端设备,其中,终端设备可以是PC、平板电脑、笔记本电脑、台式电脑等设备、或者智能手机、PDA(Personal Digital Assistant,个人数字助理)、电子书阅读器等便携式设备、或者智能手环、智能手表等可穿戴设备。本实施例方法也可以应用于终端设备中的内核,该内核用于获得域名解析结果,并利用解析结果访问网络资源。
网络请求可以是终端设备中某个应用程序发起的访问网络资源的请求。例如,可以是浏览器发起的网络请求等。在网络请求中有目标域名时,可以将携带有该网络请求中目标域名的域名解析请求发送至域名解析服务器,由域名解析服务器中的每个域名服务模块分别对目标域名进行解析。在一个例子中,可以异步发送至每个域名解析服务器。以域名解析服务器包括公共域名解析服务器和第三方的私有域名解析服务器为例,可以调用域名解析函数(如getaddrinfo())向公共域名解析服务器发送携带有目标域名的域名解析请求,并异步向私有域名解析服务器发送携带有目标域名的域名解析请求,以便使用私有域名解析服务器对目标域名进行域名解析。示例的,私有域名解析服务器中域名与IP地址的映射关系更新频率比较高,维护的映射关系比较稳定。因此,每个IP一般情况下都可以访问的、IP所在服务器往往是没有异常的。私有域名解析服务器可以向终端反馈与目标域名对应的、且最新更新的IP地址。而公共域名解析服务器可以是系统级别的域名解析服务器,可以提供与目标域名对应的最优IP(如距离当前用户端最近的IP地址)。公共域名解析服务器推荐的IP地址,可以是访问速度比较快的IP地址,但可能不稳定。每种域名解析服务器各有优势和劣势,本公开实施例可以结合多种域名解析服务器来实现互补。关于每种域名解析服务器如何解析域名,在此不做限制。
关于步骤204,可以接收所述域名解析服务器发送的第一解析结果。第一解析结果是泛指域名解析服务器反馈的解析结果,可以是任一域名服务模块解析出的结果。在获得第一解析结果时,可以根据第一解析结果的接收时间选择解析成功的第二解析结果。第二解析结果是其中一个第一解析结果、且是依据接收时间确定的可以用来访问网络资源的第一解析结果。为了区分,将其命名为第一解析结果和第二解析结果。
示例的,可以将第一解析结果的接收时间作为评价因子,确定一个接收时间较早、且解析成功的第一解析结果(简称第二解析结果)来访问网络资源,以缩短接收到解析结果的时间,并且提高解析成功率。
在一个实施例中,可以选择第一个接收到的解析成功的第一解析结果来访问网络资源。为例方便描述,可以将第一个接收到的解析成功的第一解析结果称为首个解析结果。从而实现在接收到首个解析结果时,利用所述首个解析结果访问网络资源。本公开实施例在接收到首个解析结果时,直接利用首个解析结果来访问网络资源,可以提高DNS解析效率。示例的,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
针对其他非首个解析结果,在一个例子中,在确定第二解析结果后,不再接收其他第一解析结果。示例的,所述方法还包括:在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
该实施例通过结束其他域名服务模块进行的域名解析操作,可以避免由于继续解析域名导致的资源浪费。
在另一个例子中,考虑到域名解析服务器接收到请求后解析时间往往比较短、且为了防止资源访问失败重新发起域名解析请求导致的时间延时,可以在所述通过所述第二解析结果访问网络资源之后,继续接收域名服务器发送的第一解析结果;若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果,并利用更新后的第二解析结果访问网络资源。
该实施例在利用第二解析结果访问网络资源失败的情况下,可以利用更新后的第二解析结果继续访问网络资源,无需重新发起域名解析请求,从而提高网络访问效率。
某些应用场景中,由于不同域名服务模块可能优势不同,而选择某种域名服务模块的偏向性可能更大,为此,可以根据需求对域名服务模块预先配置优先级。域名服务模块的优先级可以根据指定影响因素来确定。例如,指定影响因素可以包括但不限于反馈解析结果的准确率、历史中选择该域名服务模块的频率、利用解析结果访问网络的效率等中的一种或多种因素。可以理解的是,当不同域名服务模块配置在不同域名解析服务器时,域名服务模块的优先级可以是域名解析服务器的优先级。
在获得域名服务模块的优先级后,在选择解析结果时,不仅将解析结果的接收时间和解析成败结果作为评价因子,还可以将域名服务模块的优先级作为评价因子,换言之,依据所述第一解析结果的接收时间和解析成败结果、以及域名服务模块的优先级选择一个第一解析结果作为第二解析结果。该实施例通过将接收时间、解析成败结果以及域名服务模块的优先级作为评价因子,可以选择一个更为合适的解析结果来访问网络资源。例如,在优先级是按利用解析结果访问网络的效率确定的,则可以提高访问网络资源的效率。
示例的,每个域名服务模块预先配置有优先级,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:
依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
其中,预设时间间距可以是预先设置的较小间隔时间。例如,可以是10ms。在与首个解析结果(第一个接收到的解析成功的第一解析结果)的接收时间的时间差小于或等于预设时间间距接收到的第一解析结果,都可以认为是响应较快的第一解析结果,可以将这类第一解析结果作为备选结果集,备选结果集中第一解析结果间的时间差可以忽略。备选结果集中可能包括一个或多个第一解析结果,具体由接收时间确定,只要接收时间与首个解析结果的接收时间的时间差小于或等于预设时间间距即可。在既满足获得解析结果时间短,又满足解析成功的情况下,可以将与备选结果集中第一解析结果对应的各个域名服务模块的优先级进行比较,并选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果,从而实现结合多种因素选择第二解析结果。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施例中的各种技术特征的任意进行组合也属于本说明书公开的范围。
以下以其中一种组合进行示例说明。
如图3所示,图3是本公开根据一示例性实施例示出的另一种解析域名的方法的流程图,域名解析服务器包括至少两个域名解析服务器,每个域名解析服务器能独立进行域名解析,第一域名解析服务器和第二域名解析服务器的解析策略可以不同。例如,可以是公共域名解析服务器和第三方提供的私有域名解析服务器,所述方法包括:
在步骤302中,在发起网络请求时,将携带有所述网络请求中目标域名的域名解析请求分别发送至第一域名解析服务器和第二域名解析服务器;
在步骤304中,若第一个接收到的解析结果是成功的,利用所接收到的解析结果访问网络资源。
在步骤306中,若第一个接收到的解析结果是失败的,则等待另一个域名解析服务器的解析结果,利用另一个解析结果来访问网络资源。
进一步的,若第一个接收到的解析结果是成功的,向未反馈与域名解析请求对应的解析结果的域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器结束分析所述目标域名,从而避免资源浪费。
其中,私有域名解析服务器可以是相对权威的DNS Server。在程序发起请求时,可以使用系统调用getaddrinfo(),且异步使用DNS Server进行解析。两种解析方法,若先返回的解析结果是成功的,则可以使用该解析结果并结束另一个解析方法,从而提高了解析效率。若先返回的解析结果是失败的,则放弃该解析结果,并等待另一种方式的解析结果。示例的,无论该方式返回的结果成功或失败,均使用该结果。两种方式只要有一种方式解析成功,则DNS解析成功,从而提升DNS的解析成功率。
可见,该实施例同时启动两种解析方式,使用其中解析较快且结果成功的方式,否则使用另一种解析方式,一定程度上提高了DNS解析效率以及成功率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述解析域名的方法的实施例相对应,本公开还提供了解析域名的装置、装置所应用的设备以及存储介质的实施例。
如图4所示,图4是本公开根据一示例性实施例示出的一种解析域名的装置的框图,所述装置包括:
数据传输模块42,被配置为:在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;接收所述域名解析服务器发送的第一解析结果;
结果确定模块44,被配置为:根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
资源访问模块46,被配置为:通过所述第二解析结果访问网络资源。
在一个可选的实施例中,所述结果确定模块44具体被配置为:
在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
在一个可选的实施例中,所述数据传输模块42,还被配置为:在所述通过所述第二解析结果访问网络资源之后,继续接收域名服务器发送的第一解析结果;
所述结果确定模块44,还被配置为:若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果;
所述资源访问模块46,还被配置为利用更新后的第二解析结果访问网络资源。
在一个可选的实施例中,所述数据传输模块42还被配置为:
在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
在一个可选的实施例中,每个域名服务模块预先配置有优先级,所述结果确定模块44包括(图4未示出):
备选集确定子模块,被配置为:依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
结果选择子模块,被配置为:将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
在一个可选的实施例中,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中。
在一个可选的实施例中,所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中。
在一个可选的实施例中,所述域名解析服务器包括以下一种或多种:公共域名解析服务器、第三方提供的私有域名解析服务器;所述公共域名解析服务器和第三方提供的私有域名解析服务器的解析策略不同。
上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本公开可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
相应的,本公开实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如上任一项所述方法的步骤。
图5是根据一示例性实施例示出的一种解析域名的装置500的结构示意图。例如,装置500可以是用户设备,可以具体为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在上述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如上述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、5G NR或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器504,当存储介质中的指令由装置500的处理器520执行时,使得装置500能够执行解析域名的方法,该方法包括:
在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;
接收所述域名解析服务器发送的第一解析结果;
根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
通过所述第二解析结果访问网络资源。
所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种解析域名的方法,其特征在于,所述方法包括:
在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;
接收所述域名解析服务器发送的第一解析结果;
根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
通过所述第二解析结果访问网络资源。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:
在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
3.根据权利要求2所述的方法,其特征在于,在所述通过所述第二解析结果访问网络资源之后,所述方法还包括:
继续接收域名服务器发送的第一解析结果;
若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果,并利用更新后的第二解析结果访问网络资源。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
5.根据权利要求1所述的方法,其特征在于,每个域名服务模块预先配置有优先级,所述根据所述第一解析结果的接收时间选择解析成功的第二解析结果,包括:
依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中;或,
所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中。
7.根据权利要求6所述的方法,其特征在于,所述域名解析服务器包括以下一种或多种:公共域名解析服务器、第三方提供的私有域名解析服务器;所述公共域名解析服务器和第三方提供的私有域名解析服务器的解析策略不同。
8.一种解析域名的装置,其特征在于,所述装置包括:
数据传输模块,被配置为:在发起网络请求时,向域名解析服务器发送域名解析请求,所述域名解析请求指示所述域名服务器解析所述网络请求中的目标域名,所述域名解析服务器包括至少两个域名服务模块、且每个域名服务模块能对所述目标域名进行域名解析;接收所述域名解析服务器发送的第一解析结果;
结果确定模块,被配置为:根据所述第一解析结果的接收时间选择解析成功的第二解析结果,所述域名解析服务器发送的第一解析结果包括第二解析结果;
资源访问模块,被配置为:通过所述第二解析结果访问网络资源。
9.根据权利要求8所述的装置,其特征在于,所述结果确定模块具体被配置为:
在接收到解析成功的、且未被选取过的第一解析结果时,将所述解析成功的、且未被选取过的第一解析结果作为第二解析结果。
10.根据权利要求9所述的装置,其特征在于,
所述数据传输模块,还被配置为:在所述通过所述第二解析结果访问网络资源之后,继续接收域名服务器发送的第一解析结果;
所述结果确定模块,还被配置为:若利用所述第二解析结果访问网络资源失败,则利用接收到的、解析成功的、且未被选取过的第一解析结果更新第二解析结果;
所述资源访问模块,还被配置为:利用更新后的第二解析结果访问网络资源。
11.根据权利要求9所述的装置,其特征在于,所述数据传输模块还被配置为:
在确定所述第二解析结果之后,向域名解析服务器发送结束解析指令,所述结束解析指令用于指示域名解析服务器中未反馈与所述域名解析请求对应的第一解析结果的域名服务模块结束分析所述目标域名。
12.根据权利要求8所述的装置,其特征在于,每个域名服务模块预先配置有优先级,所述结果确定模块包括:
备选集确定子模块,被配置为:依据所述第一解析结果的接收时间,从所述第一解析结果中确定备选结果集,所述备选结果集包括:解析成功的第一解析结果、且该第一解析结果的接收时间与第一个接收到的解析成功的第一解析结果的接收时间的时间差小于或等于预设时间间距;
结果选择子模块,被配置为:将与备选结果集中第一解析结果对应的域名服务模块的优先级进行比较,选择优先级高的域名服务模块对应的第一解析结果作为第二解析结果。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述域名解析服务器为一个域名解析服务器,所述至少两个域名服务模块配置在同一个域名解析服务器中;或,
所述域名解析服务器包括与域名服务模块个数相同的多个域名解析服务器,不同域名服务模块配置在不同域名解析服务器中。
14.根据权利要求13所述的装置,其特征在于,所述域名解析服务器包括以下一种或多种:公共域名解析服务器、第三方提供的私有域名解析服务器;所述公共域名解析服务器和第三方提供的私有域名解析服务器的解析策略不同。
15.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1至7任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN201911236895.8A 2019-12-05 2019-12-05 解析域名的方法、装置、设备及介质 Pending CN111049943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911236895.8A CN111049943A (zh) 2019-12-05 2019-12-05 解析域名的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911236895.8A CN111049943A (zh) 2019-12-05 2019-12-05 解析域名的方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN111049943A true CN111049943A (zh) 2020-04-21

Family

ID=70234788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911236895.8A Pending CN111049943A (zh) 2019-12-05 2019-12-05 解析域名的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN111049943A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021189852A1 (zh) * 2020-09-07 2021-09-30 平安科技(深圳)有限公司 私有域名自动化测试方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468853A (zh) * 2013-09-18 2015-03-25 中兴通讯股份有限公司 一种域名解析方法、服务器及系统
CN106331216A (zh) * 2016-09-13 2017-01-11 腾讯科技(深圳)有限公司 域名的解析方法和装置
CN108737588A (zh) * 2018-03-29 2018-11-02 北京小米移动软件有限公司 域名解析方法及装置
CN109391707A (zh) * 2018-11-14 2019-02-26 杭州迪普科技股份有限公司 域名解析的方法、装置、设备及存储介质
CN109922120A (zh) * 2018-12-10 2019-06-21 网宿科技股份有限公司 提高dns可用性的方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468853A (zh) * 2013-09-18 2015-03-25 中兴通讯股份有限公司 一种域名解析方法、服务器及系统
CN106331216A (zh) * 2016-09-13 2017-01-11 腾讯科技(深圳)有限公司 域名的解析方法和装置
CN108737588A (zh) * 2018-03-29 2018-11-02 北京小米移动软件有限公司 域名解析方法及装置
CN109391707A (zh) * 2018-11-14 2019-02-26 杭州迪普科技股份有限公司 域名解析的方法、装置、设备及存储介质
CN109922120A (zh) * 2018-12-10 2019-06-21 网宿科技股份有限公司 提高dns可用性的方法及终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021189852A1 (zh) * 2020-09-07 2021-09-30 平安科技(深圳)有限公司 私有域名自动化测试方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9693296B2 (en) Network connection method and apparatus
CN107370772B (zh) 账号登录方法、装置及计算机可读存储介质
RU2743750C1 (ru) Способ указания информации о частотной области общего набора ресурсов управления для остаточной минимальной системной информации
CN108833585B (zh) 信息交互方法、装置及存储介质
CN110636150B (zh) 域名解析方法、域名解析装置及存储介质
WO2020097845A1 (zh) 网络切片的使用方法及装置
EP3553672B1 (en) Information interaction method and device and computer readable storage medium thereof
CN108737588B (zh) 域名解析方法及装置
CN106909481B (zh) 接口测试方法、接口测试装置和电子设备
CN111049943A (zh) 解析域名的方法、装置、设备及介质
CN109885360B (zh) 一种数据处理方法、装置及存储介质
CN114422472B (zh) 网络地址转换方法、装置及电子设备
CN107463419B (zh) 应用重启方法、装置及计算机可读存储介质
CN112769677B (zh) 数据同步方法、装置、电子设备、存储介质和程序产品
CN109948012B (zh) 序列号的生成方法、装置及存储介质
CN110457084B (zh) 一种加载方法及装置
CN110377654B (zh) 数据请求的处理方法、装置、电子设备及计算机可读存储介质
CN110989987B (zh) 一种门户网页的生成方法、装置、客户端、服务器及存储介质
CN112732734A (zh) 一种信息处理方法及装置
CN112102009A (zh) 广告展示方法、装置、设备及存储介质
CN109120499B (zh) 一种信息处理方法及装置
CN107315590B (zh) 通知消息处理方法及装置
CN112182027B (zh) 信息查询方法、装置、电子设备及存储介质
CN111343272B (zh) 星型网络架构的跨节点请求重试方法和电子设备
CN110995767B (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: 20200421