CN108011994B - 一种查询dns记录的方法和系统 - Google Patents

一种查询dns记录的方法和系统 Download PDF

Info

Publication number
CN108011994B
CN108011994B CN201711349809.5A CN201711349809A CN108011994B CN 108011994 B CN108011994 B CN 108011994B CN 201711349809 A CN201711349809 A CN 201711349809A CN 108011994 B CN108011994 B CN 108011994B
Authority
CN
China
Prior art keywords
dns
record
server
dns record
public
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.)
Expired - Fee Related
Application number
CN201711349809.5A
Other languages
English (en)
Other versions
CN108011994A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201711349809.5A priority Critical patent/CN108011994B/zh
Publication of CN108011994A publication Critical patent/CN108011994A/zh
Application granted granted Critical
Publication of CN108011994B publication Critical patent/CN108011994B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • 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/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种查询DNS记录的方法和系统,属于网络通信技术领域。所述方法包括:公共DNS服务器接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带有目标域名;公共DNS服务器获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;公共DNS服务器根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录;公共DNS服务器将所述待选DNS记录反馈给所述用户终端。采用本发明,可以在业务服务器间有效地实现负载均衡。

Description

一种查询DNS记录的方法和系统
技术领域
本发明涉及网络通信技术领域,特别涉及一种查询DNS记录的方法和系统。
背景技术
DNS(Domain Name System,域名系统)服务器用于将域名转换成为网络可以识别的IP地址的网络设备,通过DNS服务器,用户终端可以凭借域名实现对互联网上业务服务器的访问。DNS服务器一般可以分为权威DNS服务器和公共DNS服务器。
权威服务器中可以存储有大量DNS记录,每条DNS记录均由一台业务服务器的域名和IP(Internet Protocol,网络协议)地址组成,每台业务服务器拥有唯一的IP地址,多台业务服务器可以共享同一域名。公共DNS服务器可以接收用户设备发送的DNS查询请求,然后从权威DNS服务器处获取对应的多条DNS记录。进而,公共DNS服务器可以按照预设的轮询机制,分别向不同的用户设备反馈不同的DNS记录,以使用户设备的业务请求均匀地到达上述DNS记录对应的业务服务器。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
一般情况下,同一域名对应的多个业务服务器的负载能力可能互不相同,依靠简单的轮询机制,无法充分利用多个业务服务器不同的负载能力,故而,负载均衡的效果较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种查询DNS记录的方法和系统。所述技术方案如下:
第一方面,提供了一种查询DNS记录的方法,所述方法包括:
公共域名系统DNS服务器接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带有目标域名;
公共DNS服务器获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;
公共DNS服务器根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录;
公共DNS服务器将所述待选DNS记录反馈给所述用户终端。
可选的,所述公共DNS服务器获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值之前,还包括:
如果本地未存储有所述目标域名对应的DNS记录,公共DNS服务器则向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求;
权威DNS服务器将所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中每条DNS记录对应的负载权值发送给所述公共DNS服务器;
公共DNS服务器接收并存储所述至少一条DNS记录和所述每条DNS记录对应的负载权值。
可选的,所述公共DNS服务器向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求之后,还包括:
权威DNS服务器接收所述DNS记录获取请求,并检测所述目标域名对应的全部业务服务器的当前负载情况;
权威DNS服务器根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。
可选的,所述方法还包括:
调度服务器周期性检测所述目标域名对应的全部业务服务器的当前负载情况;
调度服务器根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;
调度服务器向所述权威DNS服务器发送所述每台业务服务器的DNS记录对应的负载权值。
可选的,所述方法还包括:
如果目标DNS记录的已存储时长超过预设时长,公共DNS服务器则自动删除所述目标DNS记录和所述目标DNS记录对应的负载权值。
第二方面,提供了一种查询DNS记录的系统,所述系统包括公共DNS服务器和权威DNS服务器,其中,所述公共DNS服务器用于:
接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带有目标域名;
获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;
根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录;
将所述待选DNS记录反馈给所述用户终端。
可选的,所述公共DNS服务器,还用于如果本地未存储有所述目标域名对应的DNS记录,则向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求;
所述权威DNS服务器,还用于将所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中每条DNS记录对应的负载权值发送给所述公共DNS服务器;
公共DNS服务器,还用于接收并存储所述至少一条DNS记录和所述每条DNS记录对应的负载权值。
可选的,所述权威DNS服务器,还用于:
接收所述DNS记录获取请求,并检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。
可选的,所述系统还包括调度服务器,用于:
周期性检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;
向所述权威DNS服务器发送所述每台业务服务器的DNS记录对应的负载权值。
可选的,所述公共DNS服务器,还用于:
如果目标DNS记录的已存储时长超过预设时长,则自动删除所述目标DNS记录和所述目标DNS记录对应的负载权值。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,公共DNS服务器接收用户终端发送的DNS查询请求,其中,DNS查询请求中携带有目标域名,公共DNS服务器获取本地预先存储的目标域名对应的至少一条DNS记录,和至少一条DNS记录中的每条DNS记录对应的负载权值,公共DNS服务器根据每条DNS记录对应的负载权值,在至少一条DNS记录中确定待选DNS记录,公共DNS服务器将待选DNS记录反馈给用户终端。这样,在分配用户终端的业务请求时,通过负载权值可以充分考虑不同业务服务器不同的负载能力,以实现合理均衡的分配,从而可以提高负载均衡的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种查询DNS记录的网络框架示意图;
图2是本发明实施例提供的一种查询DNS记录的方法流程图;
图3是本发明实施例提供的一种获取DNS记录的方法流程图;
图4是本发明实施例提供的一种查询DNS记录的整体流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种查询DNS记录的方法,该方法可以由公共DNS服务器实现,并由权威DNS服务器和调度服务器辅助实现。其中,公共DNS服务器可以是与用户终端直接进行数据交互的DNS服务器,主要用于接收用户终端发送的DNS查询请求,以及向用户终端反馈DNS记录;权威DNS服务器可以是DNS记录的存储者和管理者,其配置文件中直接存储了域名与主机对应关系并已被授权管理该对应关系。调度服务器可以是用于检测各个业务服务器的负载情况的服务器,在一种实施例中可以辅助实现下述查询DNS记录的方法,而在另一种实施例中,可以由公共DNS服务器来实现调度服务器的功能。上述服务器(包括公共DNS服务器、权威服务器、调度服务器和业务服务器)均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中查询DNS记录的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。上述网络框架具体可如图1所示。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,同时,可结合图4示出的本实施例查询DNS记录的整体处理流程理解本方案,图4中所述的“支持比例反馈”即指支持EDNS消息格式,且可以根据负载权值进行进一步处理,“公共DNS”指代公共DNS服务器,“权威DNS”指代权威DNS服务器,内容可以如下:
步骤201,公共DNS服务器接收用户终端发送的DNS查询请求。
其中,DNS查询请求中携带有目标域名。
在实施中,当用户想要通过终端实现某项网络业务(如访问某个网页)时,用户终端可以先获取该网络业务对应的业务服务器的域名(即目标域名),目标域名可以是用户在终端上直接输入的,也可以是终端根据用户的操作自动获取的。之后,用户终端可以向公共DNS服务器发送携带有目标域名的DNS查询请求,以查询上述业务服务器的IP地址。如果存在多个公共DNS服务器,用户终端则可以向距离其最近的,或者服务性能最佳的一个公共DNS服务器发送上述DNS查询请求。从而,公共DNS服务器可以接收到用户终端发送的DNS查询请求。
步骤202,公共DNS服务器获取本地预先存储的目标域名对应的至少一条DNS记录,和至少一条DNS记录中的每条DNS记录对应的负载权值。
其中,一条DNS记录可以是一台业务服务器的域名和IP地址的对应关系。
在实施中,公共DNS服务器中可以存储有部分业务服务器的DNS记录,这样,在接收到用户终端发送的DNS查询请求后,公共DNS服务器可以先获取DNS查询请求中携带的目标域名,然后在本地预先存储的DNS记录中查找目标域名对应的DNS记录。可以理解,同一网络业务的后台可以由多台服务器组成,该多台服务器可以各自拥有独立的IP地址,并可以共享同一域名,故而目标域名可以对应有至少一条DNS记录。同时,对于每项DNS记录,公共DNS服务器处均可以存储有对应的负载权值,该负载权值可以用于体现同一域名对应的多个业务服务器之中,每个业务服务器还可以承载的业务请求量的占比。
可选的,公共DNS服务器中存储的DNS记录存在一定的有效期限,相应的处理可以如下:如果目标DNS记录的已存储时长超过预设时长,公共DNS服务器则自动删除目标DNS记录和目标DNS记录对应的负载权值。
在实施中,在接收到用户终端发送的DNS查询请求后,公共DNS服务器可以先获取DNS查询请求中携带的目标域名,然后在本地预先存储的DNS记录中查找目标域名对应的DNS记录(如目标DNS记录)。如果该DNS记录的已存储时长超过了预设时长,则该DNS记录属于无效DNS记录,公共DNS服务器可以自动删除目标DNS记录和目标DNS记录对应的负载权值。进而,公共DNS服务器可以重新从权威DNS服务器处获取目标DNS记录以及对应的负载权值。当然,在另一种情况下,公共DNS服务器可以周期性地对已存储的DNS记录进行有效性检测,如果发现目标DNS记录的已存储时长超过预设时长,公共DNS服务器则自动删除目标DNS记录和目标DNS记录对应的负载权值。或者,公共DNS服务器在存储目标DNS记录时,可以设定定时删除程序,一旦目标DNS记录的已存储时长超过预设时长,则触发公共DNS服务器自动删除目标DNS记录和目标DNS记录对应的负载权值。
可选的,公共DNS服务器可以先判断本地是否存储有DNS记录,如果未存储,则从权威DNS服务器处获取DNS记录,相应的,步骤202前可以有如下处理流程,具体可以参考图3和图4所示:
步骤301,如果本地未存储有目标域名对应的DNS记录,公共DNS服务器则向权威DNS服务器发送携带有目标域名的DNS记录获取请求。
在实施中,公共DNS服务器在接收到用户终端发送的DNS查询请求后,可以先判断本地是否已存储有目标域名对应的DNS记录,如果没有,公共DNS服务器则可以向权威DNS服务器发送携带有DNS目标域名的DNS记录获取请求。此处,如果公共DNS服务器支持根据负载权值选择DNS记录的功能,则可以采用EDNS(Extension Mechanisms for DNS,扩展的DNS机制)消息格式来发送DNS记录获取请求,即在遵循常规的DNS消息格式的基础上增加一些字段,EDNS消息格式中引入了一种新的伪资源记录,存放在DNS消息的附加段中。而如果公共DNS服务器不支持根据负载权值选择DNS记录的功能,则可以向权威DNS服务器发送常规的DNS记录获取请求。
步骤302,权威DNS服务器将目标域名对应的至少一条DNS记录,和至少一条DNS记录中每条DNS记录对应的负载权值发送给公共DNS服务器。
在实施中,权威DNS服务接收到公共DNS服务器发送的DNS记录获取请求后,可以在本地数据库中查找目标域名对应的至少一条DNS记录。同时,如果权威DNS服务器支持上述EDNS消息格式,则还可以获取上述至少一条DNS记录中每条DNS记录对应的负载权值,并将负载权值添加至EDNS消息格式的伪资源记录处。进而,权威DNS服务器可以将目标域名对应的所有DNS记录和每条DNS记录对应的负载权值一同发送给公共DNS服务器。需要说明的是,如果权威DNS服务器不支持EDNS消息格式,则在接收到公共DNS服务器发送的EDNS消息格式的DNS记录获取请求后,可以向公共DNS服务器反馈格式错误通知或解析失败通知,这样,公共DNS服务器则可以去掉DNS记录获取请求中的伪资源记录,以常规的DNS消息格式重新向权威DNS服务器发送DNS记录获取请求。
步骤303,公共DNS服务器接收并存储至少一条DNS记录和每条DNS记录对应的负载权值。
在实施中,公共DNS服务器可以接收权威DNS服务器反馈的携带有负载权值的EDNS报文,然后可以从其中的伪资源记录部分提取DNS记录的负载权值,从而公共DNS服务器可以将至少一条DNS记录和每条DNS记录对应的负载权值对应存储在本地。
可选的,负载权值可以由权威DNS服务器或者调度服务器计算生成,下面将对两种情况进行分别说明:
情况一:权威DNS服务器接收DNS记录获取请求,并检测目标域名对应的全部业务服务器的当前负载情况;权威DNS服务器根据全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。
在实施中,权威DNS服务器每次接收到公共DNS服务器发送的DNS记录获取请求后,可以确定该DNS记录获取请求指向的业务服务器,即获取DNS记录获取请求中携带的目标域名,然后权威DNS服务器可以检测目标域名对应的全部业务服务器的当前负载情况。此处,当前负载情况可以具体由业务服务器的运行参数推断而得,如可以由业务服务器总负载值和当前负载率得到。之后,权威DNS服务器可以根据全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。例如,存在业务服务器A、B、C,总负载值分别为1000G、1200G、800G,当前负载率分别为70%、50%、50%,则剩余可负载值分别为300G、600G、400G,则负载权值可以为3:6:4。
情况二:调度服务器周期性检测目标域名对应的全部业务服务器的当前负载情况;调度服务器根据全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;调度服务器向权威DNS服务器发送每台业务服务器的DNS记录对应的负载权值。
在实施中,调度服务器可以周期性地对各个域名对应的全部业务服务器当前负载情况进行检测,并将检测结果按照域名进行分类。之后,以目标域名为例,调度服务器可以根据目标域名对应的全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值,具体计算方式多种多样,本实施例不再进行限定。进一步的,调度服务器可以将上述计算出的负载权值发送给权威DNS服务器。这样,权威DNS服务器可以接收该负载权值,并更新已存储的负载权值。同时,在调度服务器再次发送目标域名对应的DNS记录的负载权值之前,权威DNS服务器以本次接收到的负载权值作为公共DNS服务器发送的DNS记录获取请求的反馈。
步骤203,公共DNS服务器根据每条DNS记录对应的负载权值,在至少一条DNS记录中确定待选DNS记录。
在实施中,公共DNS服务器在获取了目标域名对应的DNS记录和DNS记录对应的负载权值后,可以根据目标域名对应的每条DNS记录对应的负载权值,确定出待选DNS记录。此处,确定待选DNS记录的方式有多种,可以是直接选取对应的负载权值最高的DNS记录,或者,可以是先任意选取一条DNS记录,只需保证在接下来的预设次数的DNS记录的选取过程中,各条DNS记录的被选取次数的比例与相应的负载权值相符,例如,目标域名存在3个业务服务器A、B、C,其各自的负载权值分别为2、3、5,则可以表明在接下来的10个用户终端发起的业务请求中,可以将2个业务请求分配给A,3个业务请求分配给B,5个业务请求分配给C。值得一提的是,在不同的反馈机制下,公共DNS服务器一次可以向用户终端反馈一个或多个待选DNS记录,如果公共DNS服务器反馈了多个待选DNS记录,则可以同样基于上述负载权值,对多个待选DNS记录进行排序。当然,如果公共DNS服务器不支持上述根据负载权值确定待选DNS记录的处理,则可以按照常规方式确定待选DNS记录。
步骤204,公共DNS服务器将待选DNS记录反馈给用户终端。
在实施中,公共DNS服务器确定了待选DNS记录后,可以将待选DNS记录反馈给用户终端。进而,用户终端可以获取到目标域名对应的业务服务器的IP地址,并通过该IP地址向业务服务器发送业务请求。对于公共DNS服务器反馈了多个待选DNS记录的情况,用户终端可以接收到排序后的多个待选DNS记录,然后可以优先使用首个待选DNS记录中的IP地址,如果业务请求发送失败,则可以按照多个待选DNS记录的排列顺序,依次使用后续待选DNS记录中的IP地址。
本发明实施例中,公共DNS服务器接收用户终端发送的DNS查询请求,其中,DNS查询请求中携带有目标域名,公共DNS服务器获取本地预先存储的目标域名对应的至少一条DNS记录,和至少一条DNS记录中每条DNS记录对应的负载权值,公共DNS服务器根据每条DNS记录对应的负载权值,在至少一条DNS记录中确定待选DNS记录,公共DNS服务器将待选DNS记录反馈给用户终端。这样,在分配用户终端的业务请求时,通过负载权值可以充分考虑不同业务服务器不同的负载能力,以实现合理均衡的分配,从而可以提高负载均衡的效果。
基于相同的技术构思,本发明实施例还提供了一种查询DNS记录的系统,所述系统包括公共DNS服务器和权威DNS服务器,其中,所述公共DNS服务器用于:
接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带有目标域名;
获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;
根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录;
将所述待选DNS记录反馈给所述用户终端。
可选的,所述公共DNS服务器,还用于如果本地未存储有所述目标域名对应的DNS记录,则向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求;
所述权威DNS服务器,还用于将所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中每条DNS记录对应的负载权值发送给所述公共DNS服务器;
公共DNS服务器,还用于接收并存储所述至少一条DNS记录和所述每条DNS记录对应的负载权值。
可选的,所述权威DNS服务器,还用于:
接收所述DNS记录获取请求,并检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。
可选的,所述系统还包括调度服务器,用于:
周期性检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;
向所述权威DNS服务器发送所述每台业务服务器的DNS记录对应的负载权值。
可选的,所述公共DNS服务器,还用于:
如果目标DNS记录的已存储时长超过预设时长,则自动删除所述目标DNS记录和所述目标DNS记录对应的负载权值。
本发明实施例中,公共DNS服务器接收用户终端发送的DNS查询请求,其中,DNS查询请求中携带有目标域名,公共DNS服务器获取本地预先存储的目标域名对应的至少一条DNS记录,和至少一条DNS记录中的每条DNS记录对应的负载权值,公共DNS服务器根据每条DNS记录对应的负载权值,在至少一条DNS记录中确定待选DNS记录,公共DNS服务器将待选DNS记录反馈给用户终端。这样,在分配用户终端的业务请求时,通过负载权值可以充分考虑不同业务服务器不同的负载能力,以实现合理均衡的分配,从而可以提高负载均衡的效果。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种查询DNS记录的方法,其特征在于,所述方法包括:
公共DNS服务器接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带目标域名;
如果本地未存储所述目标域名对应的DNS记录,所述公共DNS服务器则向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求;所述权威DNS服务器将所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中每条DNS记录对应的负载权值发送给所述公共DNS服务器;所述DNS记录获取请求采用包括伪资源记录的EDNS消息格式,所述EDNS消息格式的伪资源记录处包括每条DNS记录对应的负载权值;
所述公共DNS服务器接收并存储所述至少一条DNS记录和所述每条DNS记录对应的负载权值;
所述公共DNS服务器获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;其中,由业务服务器总负载值和当前负载率得到全部所述业务服务器的当前负载情况,权威DNS服务器根据全部所述业务服务器的当前负载情况,计算每台所述业务服务器的DNS记录对应的负载权值;
所述公共DNS服务器根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录,其中,确定待选DNS记录包括:先选取任一条DNS记录,并在后续的预设次数的DNS记录的过程中,使各条DNS记录的被选取次数的比例与相应的负载权值相对应;
所述公共DNS服务器将所述待选DNS记录反馈给所述用户终端,所述公共DNS服务器一次向所述用户终端反馈一个或多个所述待选DNS记录,多个所述待选DNS记录基于所述负载权值进行排序;
其中,如果所述权威DNS服务器不支持所述EDNS消息格式,则在接收到所述公共DNS服务器发送的所述EDNS消息格式的DNS记录获取请求后,向所述公共DNS服务器反馈格式错误通知或解析失败通知,然后,所述公共DNS服务器去掉所述DNS记录获取请求中的伪资源记录,以常规的DNS消息格式重新向所述权威DNS服务器发送所述DNS记录获取请求;
对于所述公共DNS服务器反馈了多个待选DNS记录的情况,所述用户终端在接收到排序后的所述多个待选DNS记录后,优先使用首个待选DNS记录中的IP地址,如果业务请求发送失败,则按照所述多个待选DNS记录的排列顺序,依次使用后续待选DNS记录中的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述公共DNS服务器向所述权威DNS服务器发送携带有所述目标域名的DNS记录获取请求之后,还包括:
所述权威DNS服务器接收所述DNS记录获取请求,并检测所述目标域名对应的全部业务服务器的当前负载情况;
所述权威DNS服务器根据所述全部业务服务器的当前负载情况,计算每台所述业务服务器的DNS记录对应的负载权值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调度服务器周期性检测所述目标域名对应的全部业务服务器的当前负载情况;
所述调度服务器根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;
所述调度服务器向所述权威DNS服务器发送所述每台业务服务器的DNS记录对应的负载权值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
如果目标DNS记录的已存储时长超过预设时长,公共DNS服务器则自动删除所述目标DNS记录和所述目标DNS记录对应的负载权值。
5.一种查询DNS记录的系统,其特征在于,所述系统包括公共DNS服务器和权威DNS服务器,其中,所述公共DNS服务器用于:
接收用户终端发送的DNS查询请求,其中,所述DNS查询请求中携带有目标域名;
获取本地预先存储的所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中的每条DNS记录对应的负载权值;其中,由业务服务器总负载值和当前负载率得到全部所述业务服务器的当前负载情况,权威DNS服务器根据全部所述业务服务器的当前负载情况,计算每台所述业务服务器的DNS记录对应的负载权值;
根据所述每条DNS记录对应的负载权值,在所述至少一条DNS记录中确定待选DNS记录,其中,确定待选DNS记录包括:先选取任一条DNS记录,并在后续的预设次数的DNS记录的过程中,使各条DNS记录的被选取次数的比例与相应的负载权值相对应;
将所述待选DNS记录反馈给所述用户终端,所述公共DNS服务器一次向所述用户终端反馈一个或多个所述待选DNS记录,多个所述待选DNS记录基于所述负载权值进行排序;
其中,所述公共DNS服务器,还用于如果本地未存储有所述目标域名对应的DNS记录,则向权威DNS服务器发送携带有所述目标域名的DNS记录获取请求;所述DNS记录获取请求采用包括伪资源记录的EDNS消息格式,所述EDNS消息格式的伪资源记录处包括所述每条DNS记录对应的负载权值;
所述权威DNS服务器,还用于将所述目标域名对应的至少一条DNS记录,和所述至少一条DNS记录中每条DNS记录对应的负载权值发送给所述公共DNS服务器;
公共DNS服务器,还用于接收并存储所述至少一条DNS记录和所述每条DNS记录对应的负载权值;
其中,如果所述权威DNS服务器不支持所述EDNS消息格式,则在接收到所述公共DNS服务器发送的所述EDNS消息格式的DNS记录获取请求后,向所述公共DNS服务器反馈格式错误通知或解析失败通知,然后,所述公共DNS服务器去掉所述DNS记录获取请求中的伪资源记录,以常规的DNS消息格式重新向所述权威DNS服务器发送所述DNS记录获取请求;
对于所述公共DNS服务器反馈了多个待选DNS记录的情况,所述用户终端在接收到排序后的所述多个待选DNS记录后,优先使用首个待选DNS记录中的IP地址,如果业务请求发送失败,则按照所述多个待选DNS记录的排列顺序,依次使用后续待选DNS记录中的IP地址。
6.根据权利要求5所述的系统,其特征在于,所述权威DNS服务器,还用于:
接收所述DNS记录获取请求,并检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值。
7.根据权利要求5所述的系统,其特征在于,所述系统还包括调度服务器,用于:
周期性检测所述目标域名对应的全部业务服务器的当前负载情况;
根据所述全部业务服务器的当前负载情况,计算每台业务服务器的DNS记录对应的负载权值;
向所述权威DNS服务器发送所述每台业务服务器的DNS记录对应的负载权值。
8.根据权利要求5-7任一项所述的系统,其特征在于,所述公共DNS服务器,还用于:
如果目标DNS记录的已存储时长超过预设时长,则自动删除所述目标DNS记录和所述目标DNS记录对应的负载权值。
CN201711349809.5A 2017-12-15 2017-12-15 一种查询dns记录的方法和系统 Expired - Fee Related CN108011994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711349809.5A CN108011994B (zh) 2017-12-15 2017-12-15 一种查询dns记录的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711349809.5A CN108011994B (zh) 2017-12-15 2017-12-15 一种查询dns记录的方法和系统

Publications (2)

Publication Number Publication Date
CN108011994A CN108011994A (zh) 2018-05-08
CN108011994B true CN108011994B (zh) 2022-03-01

Family

ID=62059286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711349809.5A Expired - Fee Related CN108011994B (zh) 2017-12-15 2017-12-15 一种查询dns记录的方法和系统

Country Status (1)

Country Link
CN (1) CN108011994B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881506A (zh) 2018-06-04 2018-11-23 华为技术有限公司 一种基于多可用分区az的域名解析方法及装置
CN108900654B (zh) * 2018-08-04 2021-07-23 中国人民解放军战略支援部队信息工程大学 一种基于拟态域名服务器的dns动态调度方法
CN110913007B (zh) * 2019-11-29 2022-03-29 杭州安恒信息技术股份有限公司 一种域名解析方法、装置及设备
CN113301074A (zh) * 2020-04-26 2021-08-24 阿里巴巴集团控股有限公司 数据请求负载调度方法、装置、电子设备及可读存储介质
CN111711706B (zh) * 2020-04-30 2023-04-07 广州根链国际网络研究院有限公司 Dns递归请求方法及系统
CN112398694B (zh) * 2020-11-18 2024-02-20 互联网域名系统北京市工程研究中心有限公司 流量检测系统、方法及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611735B (zh) * 2011-12-21 2015-12-09 北京奇虎科技有限公司 一种应用服务的负载均衡方法及系统
CN105847462A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 域名解析方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9960967B2 (en) * 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
CN102244613A (zh) * 2011-08-11 2011-11-16 深信服网络科技(深圳)有限公司 基于dns进行多链路流量均衡的方法、网关和网络
CN106790340B (zh) * 2016-04-25 2020-11-06 新华三技术有限公司 一种链路调度方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611735B (zh) * 2011-12-21 2015-12-09 北京奇虎科技有限公司 一种应用服务的负载均衡方法及系统
CN105847462A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 域名解析方法及装置

Also Published As

Publication number Publication date
CN108011994A (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN108011994B (zh) 一种查询dns记录的方法和系统
CN106657287B (zh) 一种数据访问方法及系统
CN107395683B (zh) 一种回源路径的选择方法及服务器
CN103051740B (zh) 域名解析方法、dns服务器及域名解析系统
JP5125679B2 (ja) 負荷分散装置及び方法とプログラム
CN107317879B (zh) 一种用户请求的分发方法及系统
CN109151009B (zh) 一种基于mec的cdn节点分配方法和系统
CN108124020B (zh) 域名解析方法、系统及设备
WO2013104172A1 (zh) 实现负载均衡的方法、dns服务器和客户端
CN102047243A (zh) 基于类别请求路由
CN107211035B (zh) 用于在内容递送网络中监测服务的方法和网络节点
CN104219162A (zh) 基于dns的分组负载均衡方法、设备及系统
US20180013610A1 (en) File delivery method, apparatus and system
CN111327647A (zh) 一种容器对外提供服务的方法、装置及电子设备
CN105101456A (zh) 一种用于物联网设备触发的方法、设备与系统
CN112583952B (zh) 重定向调度处理方法、装置、系统及相关设备、存储介质
CN113315852B (zh) 一种域名解析的方法、装置及系统
CN110708309A (zh) 反爬虫系统及方法
CN113407340A (zh) 业务控制系统、网关服务方法、业务请求转发方法及装置
CN110602264B (zh) 传递域名解析地址权重信息的方法、装置、设备和介质
CN107888388B (zh) 一种网络加速服务的计费方法和系统
US20090300182A1 (en) Computer-readable storage medium storing event control program, event control method, and event controller
CN105025042B (zh) 一种确定数据信息的方法及系统、代理服务器
CN113259492B (zh) 服务请求转发方法及系统
EP2981122A1 (en) Information processing system

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220301