CN113315852B - 一种域名解析的方法、装置及系统 - Google Patents

一种域名解析的方法、装置及系统 Download PDF

Info

Publication number
CN113315852B
CN113315852B CN202110461130.5A CN202110461130A CN113315852B CN 113315852 B CN113315852 B CN 113315852B CN 202110461130 A CN202110461130 A CN 202110461130A CN 113315852 B CN113315852 B CN 113315852B
Authority
CN
China
Prior art keywords
domain name
intranet
end server
configuration data
dispatching center
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
Application number
CN202110461130.5A
Other languages
English (en)
Other versions
CN113315852A (zh
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110461130.5A priority Critical patent/CN113315852B/zh
Publication of CN113315852A publication Critical patent/CN113315852A/zh
Application granted granted Critical
Publication of CN113315852B publication Critical patent/CN113315852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Abstract

本发明实施例提供了一种域名解析的方法及装置,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述的方法包括:获取待解析的域名;从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。通过从内网调度中心获取域名配置数据存储到客户端的本地缓存中,使得客户端可以在需要进行域名解析时,直接从客户端的本地缓存中获取域名配置数据对待解析的域名进行解析,提供域名解析的效率。

Description

一种域名解析的方法、装置及系统
技术领域
本发明涉及无线通信技术领域,特别是涉及一种域名解析的方法,一种域名解析的装置,以及一种域名解析的系统。
背景技术
互联网应用在人们生活中越来越普及,尤其是“互联网+”已经逐渐渗入到人们生活中的方方面面。IP地址是互联网上的每一个网络和每一台主机对应的逻辑地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析是把域名指向网站空间IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务。
目前,在大部分公司内网环境下,为实现服务负载均衡和灾备配置会在公司内网环境下进行DNS(Domain Name System,域名系统)域名绑定。那么,在客户端进行域名访问的时候,就需要进行DNS域名解析,即在需要通过域名访问某个服务时,首先向域名服务器发起域名解析请求,域名服务器在查询到与需要访问的域名对应的IP地址之后,将该IP地址返回至客户端,从而客户端使用IP地址进行访问。然而,由于远程请求数据需要消耗一定的时间,会造成延迟,域名解析的效率较低。
发明内容
本发明实施例的目的在于提供一种域名解析的方法,以及相应的一种域名解析的装置,以解决在客户端进行域名访问的时候,存在一定的延迟,域名解析的效率较低的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种域名解析的方法,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述的方法包括:
获取待解析的域名;
从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
可选地,所述方法还包括:
向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;
接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;
在本地缓存中存储所述域名配置数据。
可选地,所述向所述内网调度中心发送域名服务获取请求,包括:
周期性向所述内网调度中心发送域名服务获取请求;
所述在本地缓存中存储所述域名配置数据,包括:
按域名配置数据的接收时间,在本地缓存中更新域名配置数据。
可选地,所述向所述内网调度中心发送域名服务获取请求,包括:
确定与所述客户端的通信距离最近的内网调度中心,作为目标调度中心;
向所述目标调度中心发送域名服务获取请求。
可选地,若查找到的所述后端服务器地址中存在至少两个地址,则所述将查找到的所述后端服务器地址作为所述待解析的域名目标域名的解析结果,包括:
按照预设调度方式从查找到的所述后端服务器地址中确定目标后端服务器地址;
将所述目标后端服务器地址作为所述待解析的域名目标域名的解析结果。
在本发明实施的又一方面,还提供了一种域名解析的装置,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述的装置包括:
获取模块,用于获取待解析的域名;
查找模块,用于从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
解析模块,用于若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
在本发明实施的又一方面,还提供了一种域名解析的系统,所述系统包括客户端、内网调度中心和后端服务器,其中,
所述内网调度中心用于,接收所述后端服务器发送的注册请求,其中,所述注册请求包含后端服务器地址和对应的域名,根据所述注册请求绑定所述后端服务器地址和对应的域名;
所述内网调度中心还用于,接收域名服务获取请求,解析所述域名服务获取请求得到待解析的域名,并基于绑定的后端服务器地址和对应的域名,确定所述待解析的域名对应的后端服务器地址,作为所述域名服务获取请求的响应消息,将所述响应消息反馈给所述客户端;
所述客户端用于,向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;在本地缓存中存储所述域名配置数据;
所述客户端还用于,获取待解析的域名;从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
可选地,所述内网调度中心还用于:
定期确定所述绑定的后端服务器是否可提供服务;
所述内网调度中心在执行所述基于绑定的后端服务器地址和对应的域名,确定待解析的域名对应的后端服务器地址时,具体用于:
基于绑定的后端服务器地址与域名的对应关系,从可提供服务的后端服务器的地址中,选取待解析的域名对应的后端服务器地址。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的域名解析的方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的域名解析的方法。
本发明实施例提供的域名解析的方法,通过从内网调度中心获取域名配置数据存储到客户端的本地缓存中,使得客户端可以在需要进行域名解析时,直接从客户端的本地缓存中获取域名配置数据对待解析的域名进行解析,从而客户端不需要实时通过DNS解析来获取服务器的IP地址,避免DNS解析造成的大量延迟,从而提高域名解析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种域名解析的系统的结构框图;
图2为本发明实施例提供的一种域名解析系统的结构框图;
图3为本发明实施例提供的一种域名解析的方法的步骤流程图;
图4为本发明实施例提供的另一种域名解析的方法的步骤流程图;
图5为本发明实施例提供的一种域名解析的装置的结构框图;
图6为本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,示出了本发明实施例提供的一种域名解析的系统的结构框图,所述域名解析的系统包括客户端101、内网调度中心102和后端服务器103,其中,
所述内网调度中心101用于,接收所述后端服务器103发送的注册请求,其中,所述注册请求包含后端服务器地址和对应的域名,根据所述注册请求绑定所述后端服务器地址和对应的域名;
所述内网调度中心102还用于,接收域名服务获取请求,解析所述域名服务获取请求得到待解析的域名,并基于绑定的后端服务器地址和对应的域名,确定所述待解析的域名对应的后端服务器地址,作为所述域名服务获取请求的响应消息,将所述响应消息反馈给所述客户端101;
所述客户端101用于,向所述内网调度中心102发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;接收所述内网调度中心102响应所述域名服务获取请求返回的域名配置数据;在本地缓存中存储所述域名配置数据;
所述客户端101还用于,获取待解析的域名;从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
其中,内网调度中心可以指一组协同进行服务发现工作的服务器的集合,在内网调度中心中可以包含多个调度中心,每个调度中心都可以单独进行服务发现工作,通过在各个调度中心中注册服务的后端RS(Real Server,真实服务器)的配置信息,使得各个调度中心可以提供服务发现的功能。例如,内网调度中心可以为Consul集群,Consul即是提供服务发现功能的工具。Consul内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具,服务部署简单,只有一个可运行的二进制的包。Consul的每个节点都需要运行Agent,具有两种运行模式Server服务器和Client客户端,其中,Client模式下,所有注册到当前节点的服务会被转发到Server,本身是不持久化这些信息;Server模式表明这个Consul是个Server,这种模式下,功能和Client都一样,唯一不同的是,Server模式会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。
后端服务器103可以为用于提供访问服务的服务器,在本发明实施例中,后端服务器103可以向内网调度中心102发送注册请求,其中,注册请求包含后端服务器地址和对应的域名,从而可以在内网调度中心根据注册请求绑定后端服务器地址和对应的域名。
客户端101可以与内网调度中心102通信连接,以从内网调度中心102拉取需要的域名配置数据,通过向内网调度中心102发送域名服务获取请求,其中,域名服务获取请求中包括待解析的域名;接收内网调度中心102响应域名服务获取请求返回的域名配置数据,在本地缓存中存储域名配置数据。从而客户端在需要对待解析的域名进行解析时,可以直接从本地缓存中存储的域名配置数据中,查找是否存在与待解析的域名对应的后端服务器地址;若查找到存在与待解析的域名对应的后端服务器地址,则将查找到的后端服务器地址作为所述待解析的域名的解析结果,从而客户端102不需要实时通过DNS解析来获取服务器的IP地址,提高服务访问的效率。
在具体实现中,可以在客户端101中部署域名服务工具,该域名服务工具可以指用于进行域名解析服务工作的工具,例如,域名服务工具可以为DNSmasq,DNSmasq适用于小型网络,可以提供DNS(Domain Name System,域名系统)解析功能和可选择的DHCP(DynamicHost Configuration Protocol,动态主机配置协议)功能。通过对客户端101中部署的域名服务工具进行改造,配置该域名服务工具定时从内网调度中心102拉取域名配置数据,并在客户端101的本地缓存中存储这些域名配置数据,其中,域名配置数据中包括域名与后端服务器地址的对应关系。
在本发明的一种优选实施例中,所述内网调度中心102还用于:
定期确定所述绑定的后端服务器103是否可提供服务;
所述内网调度中心102在执行所述基于绑定的后端服务器地址和对应的域名,确定待解析的域名对应的后端服务器地址时,具体用于:
基于绑定的后端服务器地址与域名的对应关系,从可提供服务的后端服务器的地址中,选取待解析的域名对应的后端服务器地址。
在本发明实施例中,内网调度中心102可以具备健康检查机制,通过定时检查在内网调度中心102中注册的后端服务器103的健康状态,确定这些后端服务器103是否可提供服务,以删除不可提供服务的后端服务器103,使得响应客户端的域名服务获取请求,进行确定待解析的域名对应的后端服务器地址时,可以基于绑定的后端服务器地址与域名的对应关系,从可提供服务的后端服务器的地址中,选取待解析的域名对应的后端服务器地址,从而保证服务质量。
为了能够更好地理解本发明实施例提供的域名解析的方案,如图2所示,示出了本发明实施例的另一种域名解析的系统的结构框图,包含位于A地区客户端1,位于B地区的客户端2,内网调度中心,位于A地区机房的RSs(多个后端服务器),和位于B地区机房的RSs。其中,客户端1和客户端2中可以部署dnsmasq域名服务工具,内网调度中心由Consul集群组成。图2中数据交互过程包括2个部分,其中,虚线部分对应的是通过客户端1和客户端2中部署的dnsmasq向内网调度中心发起域名服务获取请求,内网调度中心通过定时的健康检查判断各个地区机房的RSs是否可以提供服务,从而根据各个机房的RSs的健康状况更新存储的域名配置数据。例如,假设A地区机房的RSs不可以提供服务,即宕机时,则将A地区机房对应的域名配置数据删除,假设B地区机房的RSs可以正常提供服务,则保留B地区机房对应的域名配置数据。
实线部分对应的是客户端发起域名服务获取请求的一个示例过程,客户端在从内网调度中心拉取数据时,遵循就近访问的原则,通过优先选择与客户端的通信距离最近的内网调度中心,作为目标调度中心,并向目标调度中心发送域名服务获取请求,由于RSs在其机房所对应地区的内网调度中心中注册,就近选择内网调度中心也相当于就近选择了RSs。在一个示例场景中,假设A地区机房不可提供服务,而B地区机房中可以正常提供服务,则A地区的客户端1在需要发起域名服务获取请求时,首先按照就近访问原则确定A地区机房的RSs对应的Consul为目标调度中心,但是由于A地区机房中的RSs无法提供服务,在内网调度中心中已经删除了A地区机房对应的域名配置数据,因此,会进一步选择B地区机房的RSs对应的Consul为目标调度中心,以向B地区的Consul发起域名服务获取请求。而B地区的客户端2在发起域名服务获取请求时,首先按照就近访问原则确定B地区机房的RSs对应的Consul为目标调度中心,由于B地区机房的RSs正常提供服务,可以直接向B地区的Consul发起域名服务获取请求。
为了解决现有技术中在客户端进行域名访问的时候,存在一定的延迟,域名解析的效率较低的问题,在本发明实施例中提供了一种域名解析的方法,通过利用内网调度中心进行服务发现,以获取域名对应的域名配置数据,其中,域名配置数据中包括域名与后端服务器地址的对应关系,客户端定时从内网调度中心拉取域名配置数据,并将这些域名配置数据存储在本地缓存,使得客户端在需要进行域名访问时,直接从本地缓存的域名配置数据中查询到与需要访问的域名对应的后端服务器地址,进而使用该后端服务器地址来访问服务,从而客户端不需要实时通过DNS解析来获取服务器的IP地址,避免实施继续DNS域名解析造成的大量延迟,从而提高服务访问的效率。
参照图3,示出了本发明实施例提供的一种域名解析的方法的步骤流程图,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系。所述的域名解析方法具体可以包括如下步骤:
步骤301,获取待解析的域名;
待解析的域名可以指当前需要解析的域名,由于待解析的域名还未解析,客户端需要首先对待解析的域名进行解析之后,才能访问到待解析的域名对应的服务器所提供的服务。
需要说明的是,域名是由一串用点分隔的名字组成的名称,用于在数据传输时标识计算机的电子方位,域名具有唯一性,即每个域名对应一组服务器的地址,例如,待解析的域名可以为www.aab.com,其中,aab是域名的主体,是唯一的。
步骤302,从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
在本发明实施例中,当客户端需要访问待解析的域名时,由于客户端的本地内存空间中存储有从内网调度中心获取的域名配置数据,其中,域名配置数据中包括域名与后端服务器地址的对应关系,因此,客户端可以从本地存储的域名配置数据中,查找是否存在与待解析的域名对应的后端服务器地址。
步骤303,若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
如果从客户端本地存储的域名配置数据中,查找到存在与待解析的域名对应的后端服务器地址,则可以将查找到的后端服务器地址作为待解析的域名的解析结果,从而完成对待解析的域名的解析,客户端可以直接按照解析结果来访问待解析的域名。
此外,在本发明实施例中,如果从客户端本地存储的域名配置数据中,未查找到存在与待解析的域名对应的后端服务器地址,则可以通过DNS域名解析的方式,向域名服务器发起域名解析请求,以从域名服务器获取到待解析的域名的解析结果。
本发明实施例提供的域名解析的方法,通过从内网调度中心获取域名配置数据存储到客户端的本地缓存中,使得客户端可以在需要进行域名解析时,直接从客户端的本地缓存中获取域名配置数据对待解析的域名进行解析,从而客户端不需要实时通过DNS解析来获取服务器的IP地址,避免DNS解析造成的大量延迟,从而提高域名解析的效率。
参照图4,示出了本发明实施例提供的另一种域名解析的方法的步骤流程图,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系。所述的域名解析方法具体可以包括如下步骤:
步骤401,向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括待解析的域名;
客户端可以与内网调度中心通信连接,以从内网调度中心拉取需要的域名配置数据,其中,内网调度中心可以指一组协同进行服务发现工作的服务器的集合,在内网调度中心中可以包含多个调度中心,每个调度中心都可以单独进行服务发现工作,通过在各个调度中心中注册服务的后端RS(Real Server,真实服务器)的配置信息,使得各个调度中心可以提供服务发现的功能。
在本发明实施例中,客户端向内网调度中心发送域名服务获取请求,其中,域名服务获取请求未用于获取域名对应的后端服务器地址的请求消息,该域名服务获取请求中可以包括待解析的域名,待解析的域名可以指当前需要解析的域名。
步骤402,接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;
内网调度中心在接收到客户端发送的域名服务获取请求之后,可以对该域名服务获取请求进行响应,通过提取域名服务获取请求中的待解析的域名,并通过内网调度中心中的服务发现功能,获取与待解析的域名对应的域名配置数据,进而可以将获取到的域名配置数据返回至客户端。
步骤403,在本地缓存中存储所述域名配置数据;
本发明实施例中,客户端在接收到内网调度中心响应所述域名服务获取请求返回的域名配置数据之后,可以进一步在客户端的本地缓存空间中存储域名配置数据,其中,存储的域名配置数据中包括域名与后端服务器地址的对应关系。
具体的,在存储域名配置数据时,可以以键值对的方式存储域名与后端服务器地址的对应关系,其中,域名可以存储为Key键值,域名对应的后端服务器地址可以存储为Value值。
步骤404,获取所述待解析的域名;
具体的,客户端可以提供一图形用户界面,该图形用户界面上包含一输入框,用户可以通过该输入框输入需要访问的域名,从而客户端可以根据用户输入的信息确定待解析的域名。
步骤405,从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
由于客户端的本地内存空间中存储有从内网调度中心获取的域名配置数据,因此,客户端可以直接从本地存储的域名配置数据中,查找是否存在与待解析的域名对应的后端服务器地址。
步骤406,若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
如果从客户端本地存储的域名配置数据中,查找到存在与待解析的域名对应的后端服务器地址,则可以将查找到的后端服务器地址作为待解析的域名的解析结果,从而完成对待解析的域名的解析,客户端可以直接按照解析结果来访问待解析的域名。
此外,在本发明实施例中,如果从客户端本地存储的域名配置数据中,未查找到存在与待解析的域名对应的后端服务器地址,则可以通过DNS域名解析的方式,向域名服务器发起域名解析请求,以从域名服务器获取到待解析的域名对应的解析结果。
在本发明的一种优选实施例中,所述步骤401具体可以包括如下子步骤:
周期性向所述内网调度中心发送域名服务获取请求。
在具体实现中,可以在客户端中配置一预设时长,该预设时长用于固定拉取域名配置数据的周期,客户端按照所配置的预设时长,周期性地向内网调度中心发送域名服务获取请求,以定期从内网调度中心拉取到最新的域名配置数据。
具体的,内网调度中心在接收到域名服务获取请求之后,对于域名服务获取请求的响应方式可以有多种,例如,内网调度中心在接收到域名服务获取请求之后,可以直接向客户端反馈当前存储的全部域名配置数据,客户端若是接收到全部的域名配置数据,则可以根据全部的域名配置数据检查是否需要对本地缓存的域名配置数据进行更新,从而在需要更新时,根据全部的域名配置数据对本地缓存的域名配置数据进行更新。此外,内网调度中心还可以在检测到域名配置数据有更新时,反馈更新的域名配置数据,客户端若是接收到更新的域名配置数据,则可以按照更新的域名配置数据对本地缓存的域名配置数据进行更新。
在本发明的一种优选实施例中,所述步骤403具体可以包括如下子步骤:
按域名配置数据的接收时间,在本地缓存中更新域名配置数据。
具体的,客户端在本地缓存中存储域名配置数据时,可以同时存储域名配置数据的接收时间,其中,接收时间即为从内网调度中心中接收到域名配置数据的时间。客户端在存储域名配置数据时,可以按域名配置数据的接收时间,在本地缓存中更新域名配置数据,在更新域名配置数据时,客户端中只保留可提供服务的后端服务器的地址的对应关系,以保障客户端中存储的域名配置数据的有效性。
在本发明的一种优选实施例中,所述步骤401具体可以包括如下子步骤:
确定与所述客户端的通信距离最近的内网调度中心,作为目标调度中心;向所述目标调度中心发送域名服务获取请求。
在本发明实施例中,为了提高客户端进行域名访问的速度,客户端可以按照就近访问的原则从内网调度中心拉取域名配置数据。具体的,客户端在需要从内网调度中心拉取域名配置数据时,可以首先确定与客户端的通信距离最近的内网调度中心,作为目标调度中心,然后向目标调度中心发送域名服务获取请求。如图2中,A地区的客户端1首先按照就近访问原则确定A地区机房的RSs对应的Consul为目标调度中心,如果A地区机房中的RSs无法提供服务,而B地区机房的RSs正常提供服务,则确定B地区机房的RSs对应的Consul为目标调度中心,以向B地区的Consul发起域名服务获取请求。而对于B地区的客户端2,由于B地区机房的RSs正常提供服务,可以按照就近访问原则确定B地区机房的RSs对应的Consul为目标调度中心,并向B地区的Consul发起域名服务获取请求。
在本发明的一种优选实施例中,若查找到的所述后端服务器地址中存在至少两个地址,所述步骤406具体可以包括如下子步骤:
按照预设调度方式从查找到的所述后端服务器地址中确定目标后端服务器地址;将所述目标后端服务器地址作为所述待解析的域名目标域名的解析结果。
具体的,一个域名对应的服务器可以具有多个提供服务的后端RS,则在客户端存储的从内网调度中心获取到的域名配置数据中,一个域名可以包含对各对应的后端服务器地址。在本发明实施例中,若查找到的所述后端服务器地址中存在至少两个地址,则可以按照预设调度方式从查找到的后端服务器地址中确定目标后端服务器地址,将目标后端服务器地址作为待解析的域名目标域名的解析结果。其中,预设调度方式可以为预先设定的调度方式,用于确定目标后端服务器地址,例如,预设调度方式可以包含轮询调度方式,哈希调度方式,此外,还可以按照实际需要设置其他的调度方式,本发明实施例对此不作限制。
本发明实施例提供的域名解析的方法,通过从内网调度中心获取域名配置数据存储到客户端的本地缓存中,使得客户端可以在需要进行域名解析时,直接从客户端的本地缓存中获取域名配置数据对待解析的域名进行解析,从而客户端不需要实时通过DNS解析来获取服务器的IP地址,避免DNS解析造成的大量延迟,从而提高域名解析的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例提供的一种域名解析的装置的结构框图,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述的装置具体可以包括如下模块:
获取模块501,用于获取待解析的域名;
查找模块502,用于从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
解析模块503,用于若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
在本发明的一种优选实施例中,所述装置还包括:
服务获取请求发送模块,用于向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;
域名配置数据接收模块,用于接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;
域名配置数据存储模块,用于在本地缓存中存储所述域名配置数据。
在本发明的一种优选实施例中,所述服务获取请求发送模块,包括:
服务获取请求发送子模块,用于周期性向所述内网调度中心发送域名服务获取请求;
所述域名配置数据存储模块,包括:
域名配置数据存储子模块,用于按域名配置数据的接收时间,在本地缓存中更新域名配置数据。
在本发明的一种优选实施例中,所述服务获取请求发送模块,包括:
目标调度中心确定子模块,用于确定与所述客户端的通信距离最近的内网调度中心,作为目标调度中心;
服务获取请求发送子模块,用于向所述目标调度中心发送域名服务获取请求。
在本发明的一种优选实施例中,若查找到的所述后端服务器地址中存在至少两个地址,则所述解析模块503,包括:
目标后端服务器地址确定子模块,用于按照预设调度方式从查找到的所述后端服务器地址中确定目标后端服务器地址;
解析结果生成子模块,用于将所述目标后端服务器地址作为所述待解析的域名目标域名的解析结果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取待解析的域名;
从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
在本发明的一种优选实施例中,所述方法还包括:
向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;
接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;
在本地缓存中存储所述域名配置数据。
在本发明的一种优选实施例中,所述向所述内网调度中心发送域名服务获取请求,包括:
周期性向所述内网调度中心发送域名服务获取请求;
所述在本地缓存中存储所述域名配置数据,包括:
按域名配置数据的接收时间,在本地缓存中更新域名配置数据。
在本发明的一种优选实施例中,所述向所述内网调度中心发送域名服务获取请求,包括:
确定与所述客户端的通信距离最近的内网调度中心,作为目标调度中心;
向所述目标调度中心发送域名服务获取请求。
在本发明的一种优选实施例中,若查找到的所述后端服务器地址中存在至少两个地址,则所述将查找到的所述后端服务器地址作为所述待解析的域名目标域名的解析结果,包括:
按照预设调度方式从查找到的所述后端服务器地址中确定目标后端服务器地址;
将所述目标后端服务器地址作为所述待解析的域名目标域名的解析结果。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的域名解析的方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的域名解析的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种域名解析的方法,其特征在于,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述内网调度中心分别与所述客户端以及后端服务器连接,所述内网调度中心用于接收所述后端服务器发送的注册请求,其中,所述注册请求包含所述域名配置数据;所述内网调度中心用于发现所述后端服务器,所述内网调度中心为处于Server模式下的Consul集群,所述Consul集群基于所述Server模式保存所述域名配置数据,所述的方法包括:
获取待解析的域名;
从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;
接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;
在本地缓存中存储所述域名配置数据。
3.根据权利要求2所述的方法,其特征在于,所述向所述内网调度中心发送域名服务获取请求,包括:
周期性向所述内网调度中心发送域名服务获取请求;
所述在本地缓存中存储所述域名配置数据,包括:
按域名配置数据的接收时间,在本地缓存中更新域名配置数据。
4.根据权利要求2或3所述的方法,其特征在于,所述向所述内网调度中心发送域名服务获取请求,包括:
确定与所述客户端的通信距离最近的内网调度中心,作为目标调度中心;
向所述目标调度中心发送域名服务获取请求。
5.根据权利要求1所述的方法,其特征在于,若查找到的所述后端服务器地址中存在至少两个地址,则所述将查找到的所述后端服务器地址作为所述待解析的域名目标域名的解析结果,包括:
按照预设调度方式从查找到的所述后端服务器地址中确定目标后端服务器地址;
将所述目标后端服务器地址作为所述待解析的域名目标域名的解析结果。
6.一种域名解析的装置,其特征在于,应用于客户端,所述客户端中存储有从内网调度中心获取的域名配置数据,其中,所述域名配置数据中包括域名与后端服务器地址的对应关系,所述内网调度中心分别与所述客户端以及后端服务器连接,所述内网调度中心用于接收所述后端服务器发送的注册请求,其中,所述注册请求包含所述域名配置数据;所述内网调度中心用于发现所述后端服务器,所述内网调度中心为处于Server模式下的Consul集群,所述Consul集群基于所述Server模式保存所述域名配置数据,所述的装置包括:
获取模块,用于获取待解析的域名;
查找模块,用于从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;
解析模块,用于若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
7.一种域名解析的系统,其特征在于,所述系统包括客户端、内网调度中心和后端服务器,其中,
所述内网调度中心用于,接收所述后端服务器发送的注册请求,其中,所述注册请求包含后端服务器地址和对应的域名,根据所述注册请求绑定所述后端服务器地址和对应的域名;所述内网调度中心用于发现所述后端服务器;所述内网调度中心为处于Server模式下的Consul集群,所述Consul集群基于所述Server模式保存域名配置数据;
所述内网调度中心还用于,接收域名服务获取请求,解析所述域名服务获取请求得到待解析的域名,并基于绑定的后端服务器地址和对应的域名,确定所述待解析的域名对应的后端服务器地址,作为所述域名服务获取请求的响应消息,将所述响应消息反馈给所述客户端;
所述客户端用于,向所述内网调度中心发送域名服务获取请求,其中,所述域名服务获取请求中包括所述待解析的域名;接收所述内网调度中心响应所述域名服务获取请求返回的域名配置数据;在本地缓存中存储所述域名配置数据;
所述客户端还用于,获取待解析的域名;从所述域名配置数据中,查找是否存在与所述待解析的域名对应的后端服务器地址;若查找到存在与所述待解析的域名对应的后端服务器地址,则将查找到的所述后端服务器地址作为所述待解析的域名的解析结果。
8.根据权利要求7所述的系统,其特征在于,所述内网调度中心还用于:
定期确定所述绑定的后端服务器是否可提供服务;
所述内网调度中心在执行所述基于绑定的后端服务器地址和对应的域名,确定待解析的域名对应的后端服务器地址时,具体用于:
基于绑定的后端服务器地址与域名的对应关系,从可提供服务的后端服务器的地址中,选取待解析的域名对应的后端服务器地址。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的域名解析的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的域名解析的方法。
CN202110461130.5A 2021-04-27 2021-04-27 一种域名解析的方法、装置及系统 Active CN113315852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110461130.5A CN113315852B (zh) 2021-04-27 2021-04-27 一种域名解析的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110461130.5A CN113315852B (zh) 2021-04-27 2021-04-27 一种域名解析的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113315852A CN113315852A (zh) 2021-08-27
CN113315852B true CN113315852B (zh) 2023-11-24

Family

ID=77372697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110461130.5A Active CN113315852B (zh) 2021-04-27 2021-04-27 一种域名解析的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113315852B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430408B (zh) * 2021-12-22 2024-01-02 天翼云科技有限公司 一种域名解析调度方法、装置、服务器及存储介质
CN114745356B (zh) * 2022-03-29 2024-02-23 深信服科技股份有限公司 一种域名解析方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012119538A1 (zh) * 2011-03-09 2012-09-13 中国移动通信集团公司 对dns解析请求进行解析的方法、系统、智能dns、计算机程序和存储介质
CN104539751A (zh) * 2014-12-29 2015-04-22 北京奇艺世纪科技有限公司 Dns解析系统、方法及装置
CN108156274A (zh) * 2017-12-18 2018-06-12 杭州迪普科技股份有限公司 一种vpn网络中使设备获得域名解析结果的方法及装置
CN111586201A (zh) * 2020-04-30 2020-08-25 苏州亿歌网络科技有限公司 域名解析系统、方法、设备及存储介质
CN112272158A (zh) * 2020-09-16 2021-01-26 厦门网宿有限公司 一种数据代理方法、系统及代理服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012119538A1 (zh) * 2011-03-09 2012-09-13 中国移动通信集团公司 对dns解析请求进行解析的方法、系统、智能dns、计算机程序和存储介质
CN104539751A (zh) * 2014-12-29 2015-04-22 北京奇艺世纪科技有限公司 Dns解析系统、方法及装置
CN108156274A (zh) * 2017-12-18 2018-06-12 杭州迪普科技股份有限公司 一种vpn网络中使设备获得域名解析结果的方法及装置
CN111586201A (zh) * 2020-04-30 2020-08-25 苏州亿歌网络科技有限公司 域名解析系统、方法、设备及存储介质
CN112272158A (zh) * 2020-09-16 2021-01-26 厦门网宿有限公司 一种数据代理方法、系统及代理服务器

Also Published As

Publication number Publication date
CN113315852A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN107231402B (zh) Http请求处理方法、装置及系统
CN106856434B (zh) 访问请求转换的方法和装置
US7467203B2 (en) System and methods for robust discovery of servers and services in a heterogeneous environment
CN103281409B (zh) 基于tcp协议的移动互联网域名解析方法及dns服务器
CN102143243B (zh) 动态路由处理方法和装置及其家庭网关
CN111262938A (zh) 一种dns服务器选择方法和代理服务器
CN113315852B (zh) 一种域名解析的方法、装置及系统
US6993583B2 (en) Dynamically sharing a pool of IP addresses
CN111399756B (zh) 一种数据存储方法、数据下载方法及装置
CN102859942A (zh) 使用dns反射来测量网络性能
CN111885216B (zh) Dns查询方法、装置、设备和存储介质
CN111917900A (zh) 一种域名代理的请求处理方法及装置
WO2017166524A1 (zh) 域名解析方法及装置
CN109873855B (zh) 一种基于区块链网络的资源获取方法和系统
CN113938464B (zh) 一种请求访问方法及终端
CN115080272A (zh) 一种业务数据处理方法、电子设备及存储介质
CN108494870B (zh) 基于cdn的动态数据加载方法及装置
JP2002368781A (ja) ユーザ位置管理ドメインネーム変換システム
CN110213365B (zh) 基于用户分区的用户访问请求处理方法及电子设备
CN113301173A (zh) 域名更新系统及方法、消息转发方法、服务器
CN107483294B (zh) 监控网络请求的方法及装置
CN114301872B (zh) 基于域名的访问方法及装置、电子设备、存储介质
CN109451047B (zh) 监控告警系统的数据传送方法、装置、设备及存储介质
CN111367921A (zh) 数据对象的刷新方法及装置
CN111935329B (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