CN111885216B - Dns查询方法、装置、设备和存储介质 - Google Patents

Dns查询方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111885216B
CN111885216B CN202010679791.0A CN202010679791A CN111885216B CN 111885216 B CN111885216 B CN 111885216B CN 202010679791 A CN202010679791 A CN 202010679791A CN 111885216 B CN111885216 B CN 111885216B
Authority
CN
China
Prior art keywords
domain name
configuration information
target
address
dns query
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
CN202010679791.0A
Other languages
English (en)
Other versions
CN111885216A (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 Qingyun Science And Technology Co ltd
Original Assignee
Beijing Qingyun 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 Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN202010679791.0A priority Critical patent/CN111885216B/zh
Publication of CN111885216A publication Critical patent/CN111885216A/zh
Application granted granted Critical
Publication of CN111885216B publication Critical patent/CN111885216B/zh
Active 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]

Landscapes

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

Abstract

本发明实施例是关于一种DNS查询方法、装置、设备和存储介质。该方法包括:接收查询设备发送的DNS查询请求,其中,DNS查询请求中包括:源IP地址以及目标域名,在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合,根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。由于域名配置信息解析生效时间较短,因此,该DNS查询方法的响应时间较短,同时,可以方便域名持有者配置域名配置信息。

Description

DNS查询方法、装置、设备和存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种域名系统(Domain NameSystem,DNS)查询方法、装置、设备和存储介质。
背景技术
DNS的主要作用是将主机名解析为互联网协议(Internet Protocol,IP)地址的过程,完成了从域名到主机识别IP地址之间的转换,是互联网核心协议之一。DNS是内容分发网络(Content Delivery Network,CDN)和云服务(Cloud Service)的入口。DNS服务器需要根据用户的来源IP或者扩展DNS客户端子网(EDNS Client Subnet,ECS)携带的用户IP,返回离用户最近的服务器的IP地址。这里的服务器一般指的是源站或者CDN节点。因此,为了实现返回离用户最近的服务器的IP地址,DNS服务器中需要加载每个域名在每个所需的视图中的域名配置信息。域名配置信息为域名、视图与A记录中的IP地址集合的映射关系。这里的视图一般指的是根据运营商和地域划分的区域,例如,北京联通、北京电信等。
目前,CDN和云服务客户托管的DNS服务器中的域名配置信息的数量最多可以达到域名数与视图数的乘积。DNS服务器需要将这些域名配置信息加载到内存中,以实现DNS查询。
但是,DNS服务器加载全量的域名配置信息时会消耗大量的内存资源,而且域名配置变更比较频繁,频繁变更导致需要频繁加载,域名配置信息较大时加载时间也会相应增加,从而影响域名配置信息的解析生效时间。综上所述,目前的DNS服务器加载域名配置信息后的解析生效时间较长,从而导致在需要进行DNS查询时,域名配置信息可能还处于解析阶段,无法及时实现DNS查询,因此,目前DNS查询时响应时间延迟较大。
发明内容
本发明实施例提供一种DNS查询方法、装置、设备和存储介质,以解决目前的DNS查询方法导致的响应时间延迟较大的技术问题。
第一方面,本发明实施例提供了一种DNS查询方法,该方法包括:
接收查询设备发送的DNS查询请求;其中,所述DNS查询请求中包括:源互联网协议IP地址以及目标域名;
在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合;
根据域名配置信息中的视图之间的距离信息,确定各所述目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离;
将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备。
第二方面,本发明实施例还提供了一种DNS查询装置,该装置包括:
接收模块,用于接收查询设备发送的DNS查询请求;其中,所述DNS查询请求中包括:源互联网协议IP地址以及目标域名;
查询模块,用于在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合;
第一确定模块,用于根据域名配置信息中的视图之间的距离信息,确定各所述目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离;
返回模块,用于将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备。
第三方面,本发明实施例还提供了一种DNS服务器,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本发明实施例任意实施例所提供的DNS查询方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所提供的DNS查询方法的步骤。
本发明实施例提供一种DNS查询方法、装置、设备和存储介质,该DNS查询方法包括:接收查询设备发送的DNS查询请求,其中,DNS查询请求中包括:源IP地址以及目标域名,在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合,根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。该DNS查询方法中,一方面,提供了一种包括域名与A记录中的IP地址集合的映射关系以及视图之间的距离信息的域名配置信息,相较于目前包括域名、视图与A记录中的IP地址集合的映射关系的域名配置信息,本实施例中的域名配置信息的数据量较小,域名配置信息的解析生效时间较短,可以秒级生效,因此,该DNS查询方法的响应时间较短;另一方面,该DNS查询方法中,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备,相较于目前的DNS查询方法,基于目标域名以及用户视图,从域名、视图与A记录中的IP地址集合的映射关系中查询匹配的IP地址的方式,该方法可以不需要域名持有者配置域名、视图以及A记录中的IP地址集合的映射关系,而只需要配置域名与A记录中的IP地址集合的映射关系,即可以实现将最近的预设数量个目标IP地址返回给查询设备,因此,该DNS查询方法可以方便域名持有者配置域名配置信息,便于域名持有者运维。由于域名配置信息解析生效时间较短,因此,本实施例提供的DNS查询方法的响应时间较短,同时,可以方便域名持有者配置域名配置信息。
附图说明
图1为本发明实施例提供的DNS查询方法应用场景的示意图;
图2为本发明一实施例提供的DNS查询方法的流程示意图;
图3为现有的域名配置信息的示意图;
图4为本发明提供的域名配置信息的示意图;
图5为本发明另一实施例提供的DNS查询方法的流程示意图;
图6为本发明一实施例提供的DNS查询装置的结构示意图;
图7为本发明另一实施例提供的DNS查询装置的结构示意图;
图8为本发明一实施例提供的DNS服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明实施例的实施例。虽然附图中显示了本发明实施例的某些实施例,然而应当理解的是,本发明实施例可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明实施例。应当理解的是,本发明实施例的附图及实施例仅用于示例性作用,并非用于限制本发明实施例的保护范围。
应当理解,本发明实施例的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明实施例的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明实施例中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施例实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1为本发明实施例提供的DNS查询方法应用场景的示意图。如图1所示,查询设备11在需要访问某个域名时,向DNS服务器12发送DNS查询请求。DNS服务器12接收到查询请求后,根据DNS查询请求以及域名配置信息,向查询设备11返回DNS查询请求对应的IP地址。查询设备11在接收到该IP地址后,向该IP地址对应的服务器13发送信息,实现成功访问。在这个过程中,DNS服务器需要向查询设备11返回与源IP地址对应的用户视图距离最近的服务器视图对应的目标IP地址。目前的域名配置信息的数据量较大,解析生效时间较长,导致DNS查询方法的响应时间延迟较大。
本发明提供一种DNS查询方法,包括:接收查询设备发送的DNS查询请求,其中,DNS查询请求中包括:源IP地址以及目标域名,在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合,根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。该DNS查询方法中,一方面,提供了一种包括域名与A记录中的IP地址集合的映射关系以及视图之间的距离信息的域名配置信息,相较于目前包括域名、视图与A记录中的IP地址集合的映射关系的域名配置信息,本实施例中的域名配置信息的数据量较小,域名配置信息的解析生效时间较短,因此,该DNS查询方法的响应时间较短;另一方面,该DNS查询方法中,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备,相较于目前的DNS查询方法,基于目标域名以及用户视图,从域名、视图与A记录中的IP地址集合的映射关系中查询匹配的IP地址的方式,该方法可以不需要域名持有者配置域名、视图以及A记录中的IP地址集合的映射关系,而只需要配置域名与A记录中的IP地址集合的映射关系,即可以实现将最近的预设数量个目标IP地址返回给查询设备,因此,该DNS查询方法可以方便域名持有者配置域名配置信息,便于域名持有者运维。因此,由于域名配置信息解析生效时间较短,因此,本实施例提供的DNS查询方法的响应时间较短,同时,可以方便域名持有者配置域名配置信息。
图2为本发明一实施例提供的DNS查询方法的流程示意图。本实施例适用于根据DNS查询请求,查询对应的目标IP地址的场景中。本实施例可以由DNS查询装置来执行,该DNS查询装置可以由软件和/或硬件的方式实现,该DNS查询装置可以集成于DNS服务器中。如图2所示,本实施例提供的DNS查询方法包括如下步骤:
步骤201:接收查询设备发送的DNS查询请求。
其中,DNS查询请求中包括:源IP地址以及目标域名。
具体地,本实施例中的查询设备可以为终端设备。例如,个人计算机、笔记本电脑、智能手机、平板电脑等。查询设备可以在用户的触发操作下,生成DNS查询请求。本实施例中的DNS查询请求中可以包括源IP地址以及目标域名。
更具体地,本实施例中的终端设备在进行DNS查询前,会预先配置本地DNS(localDNS)或者公共DNS(public DNS)。local DNS或者public DNS可以代替该终端设备进行递归查询。
这里的源IP地址指的是该DNS查询请求的来源IP地址,即,终端设备的IP地址。目标域名指的是待访问的域名。本实施例中,域名的形式可以为www.AABB.com。
更具体地,本实施例中的查询设备的用户为CDN用户。域名持有者为了提高访问效率,将源站的内容缓存在各个CDN服务器中。CDN用户在访问该域名持有者的域名时,DNS服务器可以将符合条件的CDN服务器或者源站的IP地址发送给查询设备。
步骤202:在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合。
具体地,DNS服务器需要预先将域名配置信息加载在内存中,以便在接收到DNS查询请求时,直接从内存中查询域名配置信息,提高DNS查询的速度。
目前的域名配置信息包括域名、视图以及A记录中的IP地址集合的映射关系。本实施例中的域名配置信息包括域名与A记录中的IP地址集合的映射关系,以及,视图之间的距离信息。这里的A(Address)记录是用来指定域名对应的IP地址的记录。
图3为现有的域名配置信息的示意图。如图3所示,现有的域名配置信息可以为:域名1在视图1中对应A记录中的IP地址1及IP地址2,域名1在视图2中对应A记录中的IP地址3及IP地址4,域名1在视图3中对应A记录中的IP地址5及IP地址6,域名1在视图4中对应A记录中的IP地址9及IP地址10,……,域名2在视图1中对应A记录中的IP地址7及IP地址8,……。最终的域名配置信息的数量可以为域名数与视图数的乘积。并且,该域名配置信息中,域名在每个视图中对应的IP地址是需要域名持有者配置的。
基于图3所示的域名配置信息,目前的DNS查询过程为:确定DNS查询请求中的目标域名以及源IP地址对应的视图,查询图3中的域名配置信息,确定与目标域名以及源IP地址对应的视图均匹配的A记录中的IP地址集合。从这些IP地址集合中,基于预设规则,例如,基于权重、轮询或者随机选择一个IP地址,返回给查询设备。在这个过程中,域名配置信息的配置非常重要,它决定了确定出的IP地址集合是否是与源IP地址最近的服务器的地址集合。但是,一方面,目前的域名配置信息配置起来比较麻烦,例如,北京电信的用户到北京联通和武汉电信的服务器延迟哪个更高,部分域名持有者缺乏相关经验。因此,域名持有者无法方便快捷地配置目前的域名配置信息。另一方面,目前的域名配置信息由于数据量较大,加载后的解析生效时间也较长,从而导致在需要进行DNS查询时,域名配置信息可能还处于解析阶段,无法及时实现DNS查询。
图4为本发明提供的域名配置信息的示意图。如图4所示,本发明提供的域名配置信息可以为:域名1对应A记录中的IP地址1、IP地址2、……以及IP地址N,域名2对应A记录中的IP地址N+1、IP地址N+2、……以及IP地址N+M,……,以及,视图之间的距离信息,例如表1,示出了视图1、视图2以及视图3之间的距离信息。N和M均为大于2的整数。可以看出,本发明提供的域名配置信息中,域名配置信息的数量为视图的数量的平方和与域名的数量之和。相较于目前的域名配置信息,一方面,本实施例提供的域名配置信息的数据量较小,解析生效时间较短,另一方面,本实施例提供的域名配置信息不需要域名持有者配置域名、视图以及A记录中的IP地址集合的映射关系,而只需要配置域名与A记录中的IP地址集合的映射关系即可,不需要域名持有者具备相关经验,方便域名持有者进行配置。
假设域名配置信息中域名的数量为X,视图的数量为Y。图3中域名配置信息的数量为:X*Y。图4中域名配置信息的数量为:X+Y*Y。要使X+Y*Y<X*Y,即,X/Y+Y<X,在X>2Y≥N时,X/Y+Y<X/N+Y<X,可以推导出X>N*Y/(N-1)。即,当X>2Y≥N时,X>N*Y/(N-1),可以满足本实施例中的域名配置信息的数量小于目前的域名配置信息的数量。相当于减小了域名配置信息的数据量。
本实施例中的域名配置信息预先已经加载在内存中,由于该域名配置信息的数据量较小,在域名配置变更时,重新加载所需的时间较少,不会影响域名配置信息的解析生效时间。
本实施例中,在接收到DNS查询请求后,从该域名配置信息中,查询目标域名对应的目标IP地址的集合。
可选地,步骤202的具体实现过程可以为:查询域名配置信息中,是否存在目标域名的配置信息;在确定存在目标域名的配置信息时,查询目标域名对应的目标IP地址的集合。
基于上述实现方式,在确定不存在所述目标域名的配置信息时,向所述查询设备返回查询失败消息。本实施例中的查询失败消息可以有两种实现方式。一种实现方式中,在确定不存在目标域名的主域名的配置信息时,查询失败消息为refused消息。另一种实现方中,在确定不存在目标域名的配置信息,但存在目标域名相关的其他信息时,查询失败消息为nxdomain消息。
上述实现方式可以在确定存在目标域名的配置信息时,继续查询该目标域名对应的目标IP地址的集合,在确定不存在目标域名的配置信息时,及时向查询设备反馈失败消息,以便于查询设备根据失败消息及时调整DNS查询请求,提高用户体验。
步骤203:根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离。
具体地,步骤202中查询出的目标IP地址集合中,每个目标IP地址对应有服务器视图。可以基于预先配置的IP地址与服务器视图的映射关系,确定出每个目标IP地址对应的服务器视图。该服务器视图用于指示对应的IP地址所属的区域以及运营商。
DNS查询请求中的源IP地址对应有用户视图。可以基于预先配置的IP地址与用户视图的映射关系,确定出源IP地址对应的用户视图。该用户视图用于指示源IP地址所属的区域以及运营商。
在步骤203中,确定出每个服务器视图与用户视图之间的距离。本实施例中,可以基于域名配置信息中的视图之间的距离信息,确定出服务器视图与用户视图之间的距离。
在步骤203中,假设某个服务器视图为视图1,用户视图为视图3,基于表1,可以确定出该服务器视图与用户视图的距离为X13
需要说明的是,该视图之间的距离信息是CDN或者云服务的提供商提供的,不需要域名持有者配置。
步骤204:将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。
具体地,在确定出每个服务器视图与用户视图之间的距离之后,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。可选地,该预设数量可以大于或者等于2。
查询设备在接收到这些目标IP地址之后,访问与用户视图的距离最小的服务器视图对应的目标IP地址。如果访问不成功,再访问与用户视图的距离次小的服务器视图对应的目标IP地址。依次类推,直至访问成功。这种一次返回预设数量个目标IP地址的方式,可以提高查询设备访问域名的成功率。
一种实现方式中,步骤204的具体实现过程为:将该预设数量个服务器视图对应的目标IP地址加载到内存中;将已加载在内存中的该预设数量个服务器视图对应的目标IP地址,组装在DNS查询请求的响应消息中;向查询设备发送响应消息。这种实现方式先将该预设数量个服务器视图对应的目标IP地址加载到内存中,再基于加载到内存中的该预设数量个服务器视图对应的目标IP地址,组装响应消息,可以实现快速、准确地生成响应消息,进一步提高DNS查询的效率。
以下以一个具体的例子说明本实施例为何能减小域名配置信息的解析生效时间。假设现有10000个域名,1000个视图,目前的域名配置信息的数量为:10000*1000=1000万个。而本实施例中的域名配置信息中,域名与A记录中的IP地址集合的映射关系的数量为10000个,1000个视图两两之间需要有距离信息,则距离信息的数量为1000*1000=106个。本实施例中需要加载的域名配置信息的数量为10000+106=101万个。基于本发明中的域名配置信息的实现方式,将需要加载的域名配置信息的数量由1000万个降低到101万个,降低了需要加载的信息的数量,从而,减小了解析生效时间。
需要说明的是,本实施例中的域名配置信息的数量指的是域名与A记录中的IP地址集合的映射关系的数量。视图之间的距离信息的数量指的是视图之间的距离的个数。
本发明提供一种DNS查询方法,包括:接收查询设备发送的DNS查询请求,其中,DNS查询请求中包括:源IP地址以及目标域名,在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合,根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。该DNS查询方法中,一方面,提供了一种包括域名与A记录中的IP地址集合的映射关系以及视图之间的距离信息的域名配置信息,相较于目前包括域名、视图与A记录中的IP地址集合的映射关系的域名配置信息,本实施例中的域名配置信息的数据量较小,域名配置信息的解析生效时间较短,因此,该DNS查询方法的响应时间较短;另一方面,该DNS查询方法中,将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备,相较于目前的DNS查询方法,基于目标域名以及用户视图,从域名、视图与A记录中的IP地址集合的映射关系中查询匹配的IP地址的方式,该方法可以不需要域名持有者配置域名、视图以及A记录中的IP地址集合的映射关系,而只需要配置域名与A记录中的IP地址集合的映射关系,即可以实现将最近的预设数量个目标IP地址返回给查询设备,因此,该DNS查询方法可以方便域名持有者配置域名配置信息,便于域名持有者运维。由于域名配置信息解析生效时间较短,因此,本实施例提供的DNS查询方法的响应时间较短,同时,可以方便域名持有者配置域名配置信息。
图5为本发明另一实施例提供的DNS查询方法的流程示意图。本实施例在图2所示实施例及各种可选方案的基础上,对DNS查询方法包括的其他步骤作一详细说明。如图5所示,本实施例提供的DNS查询方法包括如下步骤:
步骤501:从本地文件中读取域名配置信息。
步骤502:将域名配置信息加载到内存中。
具体地,在步骤501及步骤502中,DNS服务器可以在智能模式中,从本地文件中读取智能模式下的域名配置信息,并加载在内存中。步骤202及步骤506中的域名配置信息均为智能模式下的域名配置信息。
需要说明的是,该域名配置信息中的域名与A记录中的IP地址集合的映射关系中可以包括默认视图,即,该映射关系包括:域名、默认视图以及IP地址集合的映射关系。这里的默认视图可以为图3中所示的视图1、视图2、……的根视图。
步骤503:确定是否需要更新域名配置信息。
步骤504:在确定需要更新域名配置信息时,将更新后的域名配置信息加载到内存中,并将更新后的域名配置信息作为域名配置信息。
在步骤503及步骤504中,DNS服务器可以在接收到更新命令时,确定需要更新域名配置信息。更新命令可以是控制设备发送的,该控制设备可以确定域名配置信息是否需要更新。更新的原因可以能是某些IP地址对应的服务器出现宕机等故障,需要将其从域名配置信息中删除。
在确定需要更新域名配置信息时,将更新后的域名配置信息加载到内存中,并将更新后的域名配置信息作为域名配置信息。由于本实施例中的域名配置信息数据量较小,因此,该更新过程所花费的时间较少,不会影响域名配置信息的解析生效时间。
步骤505:接收查询设备发送的DNS查询请求。
其中,DNS查询请求中包括:源互联网协议IP地址以及目标域名。
步骤506:在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合。
步骤507:根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离。
步骤508:将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。
步骤505与步骤201、步骤506与步骤202、步骤507与步骤203、步骤508与步骤204的实现过程和技术原理类似,此处不再赘述。
需要说明的是,本实施例提供的DNS查询方法中,还可以设置非智能模式下的其他域名配置信息。这些域名配置信息可以为图3中所示域名配置信息。
本实施例提供的DNS查询方法,预先将包括域名与A记录中的IP地址集合的映射关系以及视图之间的距离信息的域名配置信息,加载在内存中,并且,在需要更新时,更新该域名配置信息。由于本实施例中的域名配置信息的数据量较小,因此,该域名配置信息的加载时间短,并且加载后占用DNS服务器的内存较小,同时,可以实现及时更新该域名配置信息,提高了DNS查询方法的效率以及准确性。
图6为本发明一实施例提供的DNS查询装置的结构示意图。如图6所示,本实施例提供的DNS查询装置包括:接收模块61、查询模块62、第一确定模块63以及返回模块64。
接收模块61,用于接收查询设备发送的DNS查询请求。
其中,DNS查询请求中包括:源互联网协议IP地址以及目标域名。
查询模块62,用于在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询目标域名对应的目标IP地址的集合。
可选地,查询模块62具体用于:查询域名配置信息中,是否存在目标域名的配置信息;在确定存在目标域名的配置信息时,查询目标域名对应的目标IP地址的集合。
进一步地,查询模块62还用于:在确定不存在目标域名的配置信息时,向查询设备返回查询失败消息。
第一确定模块63,用于根据域名配置信息中的视图之间的距离信息,确定各目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离。
返回模块64,用于将与用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给查询设备。
可选地,返回模块具体用于:将预设数量个服务器视图对应的目标IP地址加载到内存中;将已加载在内存中的预设数量个服务器视图对应的目标IP地址,组装在DNS查询请求的响应消息中;向查询设备发送响应消息。
可选地,域名配置信息中域名的数量X与视图的数量Y满足以下条件:
当X>2Y≥N时,X>N*Y/(N-1),其中,X、Y及N均为正整数。
本发明实施例所提供的DNS查询装置可执行本发明任意实施例所提供的DNS查询方法,具备执行方法相应的功能模块和有益效果。
图7为本发明另一实施例提供的DNS查询装置的结构示意图。本实施例在图6所示实施例及各种可选方案的基础上,对DNS查询装置包括的其他模块作一详细说明。如图7所示,本实施例提供的DNS查询装置还包括:读取模块71、加载模块72以及第二确定模块73。
读取模块71,用于从本地文件中读取域名配置信息。
加载模块72,用于将域名配置信息加载到内存中。
第二确定模块73,用于确定是否需要更新域名配置信息。
加载模块72还用于在确定需要更新域名配置信息时,将更新后的域名配置信息加载到内存中,并将更新后的域名配置信息作为域名配置信息。
本发明实施例所提供的DNS查询装置可执行本发明任意实施例所提供的DNS查询方法,具备执行方法相应的功能模块和有益效果。
图8为本发明一实施例提供的DNS服务器的结构示意图。如图8所示,该DNS服务器包括处理器80和存储器81。该DNS服务器中处理器80的数量可以是一个或多个,图8中以一个处理器80为例;该DNS服务器的处理器80和存储器81可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的DNS查询方法对应的程序指令以及模块(例如,DNS查询装置中的接收模块61、查询模块62、第一确定模块63以及返回模块64)。处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行DNS服务器的各种功能应用以及DNS查询,即实现上述的DNS查询方法。
存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据DNS服务器的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至DNS服务器。上述网络的实施例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种DNS查询方法,该方法包括:
接收查询设备发送的DNS查询请求;其中,所述DNS查询请求中包括:源互联网协议IP地址以及目标域名;
在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合;
根据域名配置信息中的视图之间的距离信息,确定各所述目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离;
将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的DNS查询方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台DNS服务器(可以是个人计算机,DNS服务器,或者网络设备等)执行本发明各个实施例所述的DNS查询方法。
值得注意的是,上述DNS查询装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种域名系统DNS查询方法,其特征在于,包括:
接收查询设备发送的DNS查询请求;其中,所述DNS查询请求中包括:源互联网协议IP地址以及目标域名;
在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合;其中,所述域名配置信息包括域名与A记录中的IP地址集合的映射关系,以及视图之间的距离信息;
根据域名配置信息中的视图之间的距离信息,确定各所述目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离;
将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从本地文件中读取域名配置信息;
将所述域名配置信息加载到内存中。
3.根据权利要求2所述的方法,其特征在于,所述将所述域名配置信息加载到内存中之后,所述方法还包括:
确定是否需要更新所述域名配置信息;
在确定需要更新所述域名配置信息时,将更新后的域名配置信息加载到所述内存中,并将所述更新后的域名配置信息作为所述域名配置信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备,包括:
将所述预设数量个服务器视图对应的目标IP地址加载到所述内存中;
将已加载在所述内存中的所述预设数量个服务器视图对应的目标IP地址,组装在所述DNS查询请求的响应消息中;
向所述查询设备发送所述响应消息。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合,包括:
查询所述域名配置信息中,是否存在所述目标域名的配置信息;
在确定存在所述目标域名的配置信息时,查询所述目标域名对应的目标IP地址的集合。
6.根据权利要求1所述的方法,其特征在于,所述域名配置信息中域名的数量X与视图的数量Y满足以下条件:
当X>2Y≥N时,X>N*Y/(N-1),其中,X、Y及N均为正整数。
7.一种域名系统DNS查询装置,其特征在于,包括:
接收模块,用于接收查询设备发送的DNS查询请求;其中,所述DNS查询请求中包括:源互联网协议IP地址以及目标域名;
查询模块,用于在已加载在内存的域名配置信息中的域名与A记录中的IP地址集合的映射关系中,查询所述目标域名对应的目标IP地址的集合;其中,所述域名配置信息包括域名与A记录中的IP地址集合的映射关系,以及视图之间的距离信息;
第一确定模块,用于根据域名配置信息中的视图之间的距离信息,确定各所述目标IP地址对应的服务器视图与源IP地址对应的用户视图的距离;
返回模块,用于将与所述用户视图的距离较小的预设数量个服务器视图对应的目标IP地址,返回给所述查询设备。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
读取模块,用于从本地文件中读取域名配置信息;
加载模块,用于将所述域名配置信息加载到内存中。
9.一种域名系统DNS服务器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的DNS查询方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的DNS查询方法的步骤。
CN202010679791.0A 2020-07-15 2020-07-15 Dns查询方法、装置、设备和存储介质 Active CN111885216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010679791.0A CN111885216B (zh) 2020-07-15 2020-07-15 Dns查询方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010679791.0A CN111885216B (zh) 2020-07-15 2020-07-15 Dns查询方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111885216A CN111885216A (zh) 2020-11-03
CN111885216B true CN111885216B (zh) 2022-12-06

Family

ID=73151343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010679791.0A Active CN111885216B (zh) 2020-07-15 2020-07-15 Dns查询方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111885216B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114945014B (zh) * 2021-02-08 2024-08-27 中国电信股份有限公司 域名解析方法和系统、微服务器集群节点和存储介质
CN115174465B (zh) * 2021-04-06 2024-07-02 维沃移动通信有限公司 服务器查询方法及装置
CN116233064B (zh) * 2021-12-06 2024-09-13 中移(苏州)软件技术有限公司 一种信息确定方法、装置、设备及计算机可读存储介质
CN115118770B (zh) * 2022-06-17 2023-11-03 深信服科技股份有限公司 数据处理方法、装置及存储介质
CN115412611B (zh) * 2022-08-29 2024-03-01 北京新唐思创教育科技有限公司 基于dns服务器的查询方法、装置、设备及介质
CN116389411B (zh) * 2023-06-07 2023-08-18 阿里巴巴(中国)有限公司 域名数据处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210513A (ja) * 2004-01-23 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
CN106506729A (zh) * 2017-01-11 2017-03-15 中国互联网络信息中心 一种基于dns视图的dns策略解析方法及装置
CN106953940A (zh) * 2017-04-13 2017-07-14 网宿科技股份有限公司 Dns服务器及配置加载方法、网络系统、域名解析方法及系统
CN109905496A (zh) * 2019-02-26 2019-06-18 上海浪潮云计算服务有限公司 一种基于用户策略的dns智能调度方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707429B2 (en) * 2011-03-31 2014-04-22 Nominum, Inc. DNS resolution, policies, and views for large volume systems
CN103002070B (zh) * 2012-12-25 2015-05-20 上海牙木通讯技术有限公司 一种域名解析方法及装置
CN108574744A (zh) * 2017-07-28 2018-09-25 北京金山云网络技术有限公司 一种域名解析方法、装置、电子设备及可读存储介质
CN108900648B (zh) * 2018-06-13 2020-11-06 网宿科技股份有限公司 一种控制多cname流量比例的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210513A (ja) * 2004-01-23 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
CN106506729A (zh) * 2017-01-11 2017-03-15 中国互联网络信息中心 一种基于dns视图的dns策略解析方法及装置
CN106953940A (zh) * 2017-04-13 2017-07-14 网宿科技股份有限公司 Dns服务器及配置加载方法、网络系统、域名解析方法及系统
CN109905496A (zh) * 2019-02-26 2019-06-18 上海浪潮云计算服务有限公司 一种基于用户策略的dns智能调度方法

Also Published As

Publication number Publication date
CN111885216A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111885216B (zh) Dns查询方法、装置、设备和存储介质
CN110677405B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110351283B (zh) 一种数据传输方法、装置、设备及存储介质
WO2019165665A1 (zh) 一种域名解析方法、服务器及系统
CN106937362B (zh) 网络切片管理装置和网络切片管理方法
US20150213134A1 (en) Data query method and system and storage medium
CN103685590B (zh) 获取ip地址的方法及系统
CN107508795A (zh) 跨容器集群的访问处理装置及方法
CN104378452A (zh) 一种用于域名解析的方法、装置及系统
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
US20170289243A1 (en) Domain name resolution method and electronic device
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN114338594B (zh) 在Kubernetes环境下的ARP代答方法、装置、设备及存储介质
CN110049503B (zh) 一种获取数据的方法和设备
WO2012103920A1 (en) Distributed database
CN113645304B (zh) 数据服务处理方法及相关设备
CN108429739B (zh) 一种识别蜜罐的方法、系统及终端设备
CN105450585A (zh) 一种信息传输方法及装置
CN111064786B (zh) 账户标识管理方法及设备
CN110995881A (zh) 一种域名存储方法及装置
CN113225408B (zh) 一种域名处理方法及装置
CN115086275B (zh) 报文处理方法、装置、介质及电子设备
CN111104376B (zh) 资源文件查询方法及装置
CN111767481A (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
CB02 Change of applicant information

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Applicant after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant before: Beijing Qingyun Science and Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant