CN109639748A - Dns服务器的缓存更新方法、装置、系统及域名系统 - Google Patents

Dns服务器的缓存更新方法、装置、系统及域名系统 Download PDF

Info

Publication number
CN109639748A
CN109639748A CN201710931589.0A CN201710931589A CN109639748A CN 109639748 A CN109639748 A CN 109639748A CN 201710931589 A CN201710931589 A CN 201710931589A CN 109639748 A CN109639748 A CN 109639748A
Authority
CN
China
Prior art keywords
dns
caching
dns server
duration
current
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.)
Granted
Application number
CN201710931589.0A
Other languages
English (en)
Other versions
CN109639748B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710931589.0A priority Critical patent/CN109639748B/zh
Publication of CN109639748A publication Critical patent/CN109639748A/zh
Application granted granted Critical
Publication of CN109639748B publication Critical patent/CN109639748B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • 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)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种DNS服务器的缓存更新方法、装置、系统及域名系统。其中,该方法包括:接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长;比较时长与预设阈值的大小,得到比较结果;依据比较结果确定是否更新当前DNS服务器的缓存。本申请解决了现有的DNS缓存方案在DNS根节点故障引起后端DNS无法正常工作的情况下缓存会更新失败的技术问题。

Description

DNS服务器的缓存更新方法、装置、系统及域名系统
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种DNS服务器的缓存更新方法、装置、系统及域名系统。
背景技术
在本领域,为了在互联网上标识每一个实体,TCP/IP协议使用了IP地址,由于IP地址难于记忆,出现了DNS服务器,DNS服务器为互联网上的每个主机分配域名地址和IP地址,使得用户通过主机域名访问对应的主机,当用户输入域名地址的时候,DNS系统自动根据域名查找对应的IP地址。为了改善时延性能并减少在因特网上传输DNS报文的数量,DNS服务器应用了缓存技术。本地DNS缓存技术是一种将递归DNS返回结果在本地主机上缓存以便加快DNS查询速度的技术。BIND(Berkeley Internet Name Domain)是一款开放源码的DNS服务器软件,BIND中的DNS缓存是利用报文协议中的TTL参数来设置DNS默认的缓存时间,根据TTL值来判断该软件中的缓存是否到期。
现有的DNS缓存主要是根据设置TTL值来确定本地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无法正常工作的情况下缓存会更新失败的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据发明实施例的一种可选的DNS服务器的缓存更新系统示意图;
图2是根据本申请实施例的一种DNS服务器的缓存更新方法流程图;
图3是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图;
图4是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图;
图5是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图;
图6是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图;
图7是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图;
图8是根据本申请实施例的一种可选的避免各种故障引起缓存失效的原理示意图;
图9是根据本申请实施例的一种DNS服务器的缓存更新系统示意图;
图10是根据本申请实施例的一种DNS服务器的缓存更新装置示意图;
图11是根据本申请实施例的一种可选的计算机终端的硬件结构框图;以及
图12是根据本申请实施例的一种DNS缓存更新方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,使用层次结构的命名系统,将域名和IP地址相互映射,使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
域名解析,通过主机名,最终得到该主机名对应的IP地址的过程。
权威DNS,主要对经过上一级授权对域名进行解析的服务器,在父区域中存储NS记录的主或者从服务器。
递归DNS,负责接受用户对任意域名查询,并返回结果给用户。
缓存,是用于存储使用频繁的数据的临时地方,由于取原始数据的代价太大了,所以建立的快速取得数据的地方。
缓存服务器,用来存储网络上用户需要的网页和内容的网络服务器。而DNS缓存服务器即是存储DNS信息,可以将收到的DNS信息存储下来,并再将其提供给其它的用户进行查询,直到这些信息过期(TTL)。不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。
BIND,全称为Berkeley Internet Name Domain,是一款开放源码的DNS服务器软件,支持各种unix平台和windows平台,全球90%的DNS使用BIND实现。
TTL(Time-to-Live,生存时间),本地DNS缓存的有效期或生存期,用于表明缓存在本地的DNS缓存中的域名和IP地址对应的关系在多长时间内有效。
实施例1
根据本申请实施例,提供了一种DNS服务器的缓存更新系统实施例,需要说明的是,本实施例可以用于DNS缓存管理中,以用于确保热点域名缓存保持更新且不过期。
DNS是域名系统(Domain Name System)的缩写,由解析器和域名服务器组成。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中,域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。当用户在应用程序中输入DNS域名时,DNS服务可以将此域名解析为与之相关的其他信息,例如,IP地址。
DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则可以询问其他的DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存服务器,DNS缓存服务器是指用于存储DNS信息的服务器,可以将收到的DNS信息存储下来,并再将其提供给其它的用户进行查询,直到这些信息过期(TTL)。其配置中没有任何本地的授权域的配置信息。它可以响应用户的请求,并询问其它授权的域名服务器,从而得到回答用户请求的信息。目前,DNS在本地的缓存主要有两种:浏览器缓存和操作系统缓存。在浏览器中访问的时候优先访问浏览器缓存,如果未命中则访问OS缓存,最后再访问DNS服务器,然后DNS服务器递归式的查找域名记录,返回查询结果。
由于现有的DNS缓存服务器在DNS根节点故障引起后端DNS服务器无法正常工作的情况下,缓存更新会失败,另外,当拥塞引起的后端DNS服务更新速度慢时,缓存也有可能过期,发明人经研究发现,根据域名请求的请求,定义了两个时间点,绝对信任时间和超时时间,这两个时间点将域名请求时间分为三个时间段,第一个时间点是绝对可信时间,第二个时间点为缓存过期时间点。本申请利用三个时间段,对缓存进行不同的操作,针对根节点失效的情况,设置超时时间为无穷大,可以继续提供DNS服务;针对网络拥塞情况,设置超时时间为无穷大,并适当调整信任时间,可以达到热点域名缓存保持更新且不过期的目的。
作为一种可选的实施例,图1是根据发明实施例的一种可选的DNS服务器的缓存更新系统示意图,如图1所示,包括:客户端101、本地缓存103、域名服务器105(图中示出了3个,分别为图标1051、图标1053和图标1055)。其中,客户端101(包括但不限于手机、笔记本电脑、计算机)用于发起DNS查询请求,本地缓存103接收到来自客户端101的域名系统DNS请求后,首先查询缓存中是否存在当前请求的域名,如果缓存中没有当前所请求的域名,则访问DNS服务器,然后DNS服务器递归式的查找域名记录,返回查询结果,并更新本地缓存,流程结束;如果缓存中存在当前请求的域名,则直接将该域名对应的IP地址返回客户端,则判断当前时间与缓存上次更新的时间之差T是否小于绝对信任时间,如果T小于绝对信任时间,则直接使用缓存中的结果应答报文,流程结束;如果T大于绝对信任时间且小于超时时间,则向后端DNS服务发起请求,并更新DNS缓存,同时使用当前缓存内容应答,流程结束;如果T大于超时时间,则直接请求后端DNS服务器,并更新缓存,流程结束。
以登录“www.baidu.com”为例,当用户通过客户端101发送www.baidu.com后,首先从本地缓存103中查询是否存在当前请求的域名,如果缓存中没有当前所请求的域名,则访问域名服务器105,其中,分别访问域名服务器1051(根节点root)、域名服务器1053(com服务器)和域名服务器1055(baidu.com)。
需要说明的是,本申请将控制器设置超时时间为无限大,缓存将依然尝试对超过信任时间的域名系统DNS请求进行递归查询,但同时会返回当前的解析记录并且该记录不会因为TTL过期而丢弃。此时用户不会收到DNS根节点故障的影响,继续可以使用DNS服务。当出现网络拥塞的情况时,通常DNS缓存系统过期更新时,将变得很慢,甚至超时,此时缓存收到用户请求后,会延迟很久返回DNS结果,甚至返回超时结果,使得用户DNS服务质量下降。本申请可以调整超时时间无穷大,并且增大信任时间后,可以在应答域名系统DNS请求的同时尽量更新域名系统DNS请求,并且保证DNS缓存不会过期。这样用户会立即获得DNS应答,缓存系统会在后台多次尝试更新数据,对于用户来说DNS服务质量不会下降。
通过本申请上述实施例,可以实现如下技术效果:在后端DNS根节点故障失效的情况下,通过设置超时时间为无穷大,仍可以继续访问DNS服务;在网络拥塞的情况下,可以设置超时时间为无穷,并适当调整信任时间,保证DNS缓存不过期,同时尽量更新缓存。
实施例2
根据本申请实施例,提供了一种DNS服务器的缓存更新方法实施例,本实施例提供的DNS服务器的缓存更新方法可以应用于本申请实施例1提供的DNS服务器的缓存更新系统中,包括但不限于本申请实施例1描述的应用场景。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
由于网络通讯大都是基于TCP/IP协议的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。由于IP地址不容易记忆,出现了DNS服务器。DNS服务器可以将将主机名和域名转换为对应的IP地址,因而,在访问网站时,用于可以在浏览器地址栏中输入域名即可看到所请求的页面。
为了提高网站的访问速度,系统会在成功访问某网站后将该网站的域名、IP地址信息缓存到本地的DNS缓存,并为DNS缓存内的域名与IP地址的对应关系设置一个有效期(例如,12小时)。在有效期间内,如果再次访问该网站,则直接从本地DNS缓存中返回对应的IP地址,通过该IP地址进行网站的访问,进而加快域名解析的速度。由于一些网站的域名没有变化,但IP地址可能发生变化,如果本地的DNS缓存没有刷新可能导致网站无法访问的现象,因而,本地DNS缓存需要及时更新,更新的时间为设置的DNS缓存的有效期。在接收到域名请求后,如果本地的DNS缓存超过有效期,则向后端的域名服务器查询域名的IP地址。
由上可知,现有的DNS缓存更新主要是根据DNS缓存的TTL值来确定缓存的更新时间的,但是,在DNS根节点故障引起后端DNS服务器无法正常工作的情况下,缓存更新会失败,另外,当拥塞引起的后端DNS服务更新速度慢时,缓存也有可能过期。
在上述应用环境下,本实施例提供了图2所示的一种DNS服务器的缓存更新方法,图2是根据本申请实施例的一种DNS服务器的缓存更新方法流程图,如图2所示,包括如下步骤:
步骤S202,接收域名系统DNS请求,并记录当前时刻。
具体地,在上述步骤中,域名系统DNS请求为客户端在访问互联网的过程中请求域名解析的请求,在接收到客户端设备的域名系统DNS请求后,记录当前发起域名系统DNS请求的时间。
以访问百度为例,用户可以在浏览器地址中输入域名“www.baidu.com”,上述域名系统DNS请求可以是请求解析域名www.baidu.com的对应的IP地址的请求。
步骤S204,在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长。
具体地,在上述步骤中,客户端发起域名系统DNS请求后,首先在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定当前时刻与缓存的最近一次更新时刻之间的时长。
步骤S206,比较时长与预设阈值的大小,得到比较结果。
具体地,在上述步骤中,上述预设阈值可以根据需要设置不同的值,作为一种可选的实施例,上述预设阈值可以包括但不限于绝对信任时间和超时时间,其中,绝对信任时间用于表征本地DNS缓存的中IP地址为有效IP地址的时间,超时时间用于表征本地DNS缓存的中IP地址已经失效,需要重新查询IP地址并更新本地DNS缓存的时间,通过比较当前时刻与缓存的最近一次更新时刻之间的时长与绝对信任时间的大小,可以确定是否直接使用缓存中的结果应答报文;通过比较当前时刻与缓存的最近一次更新时刻之间的时长与超时时间的大小,可以确定是否更新缓存。
步骤S208,依据比较结果确定是否更新当前DNS服务器的缓存。
具体地,在上述步骤中,在当前时刻与缓存的最近一次更新时刻之间的时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在当前时刻与缓存的最近一次更新时刻之间的时长大于绝对信任时间的情况下,进一步判断当前时刻与缓存的最近一次更新时刻之间的时长与超时时间的大小,根据比较结果确定是否更新缓存,其中,在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS服务器的缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新DNS服务器的缓存。
由上可知,在本申请上述实施例中,在接收到域名系统DNS请求后,记录当前接收域名系统DNS请求的时间,并在DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果的情况下,计算当前时刻与缓存的最近一次更新时刻之间的时长,比较该时长与预设阈值的大小,并根据比较结果确定是否更新当前DNS服务器的缓存。容易注意的是,上述预设阈值可以至少包括:绝对信任时间和超时时间,在时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新缓存。
通过本申请上述实施例提供的方案,达到了自定义设置DNS服务器的缓存中数据更新的时间的目的,从而实现了既保证热点域名缓存保持更新且不过期的技术效果,进而解决了现有的DNS缓存方案在DNS根节点故障引起后端DNS无法正常工作的情况下缓存会更新失败的技术问题。
在一种可选的实施例中,如图3所示,上述预设阈值包括:第一阈值;其中,
比较时长与预设阈值的大小,得到比较结果,可以包括如下步骤:步骤S302,比较时长与第一阈值的大小,得到第一比较结果;
依据比较结果确定是否更新当前DNS服务器的缓存,包括:步骤S304,在第一比较结果小于预设阈值时,确定拒绝更新DNS服务器的缓存,并将在缓存中查找得到的查询结果作为域名系统DNS请求的查询结果。
具体地,在上述步骤中,上述第一阈值可以是预先设置的一个用于确定是否直接使用缓存中的结果应答报文的时间段,称为“绝对信任时间”,在当前时刻与缓存的最近一次更新时刻之间的时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文。
通过上述实施例,直接使用缓存中的结果应答报文,可以实现快速获取域名的IP地址,进而达到快速上网的目的。
可选地,在第一比较结果大于等于预设阈值时,则直接向后端DNS服务器发送域名系统DNS请求,或者,根据为本地DNS缓存设置的更新时间进一步确定是否后端DNS服务器发送域名系统DNS请求。
在一种可选的实施例中,如图4所示,上述预设阈值还包括:第二阈值,其中,第一阈值小于第二阈值;其中,比较时长与预设阈值的大小,得到比较结果,包括:
步骤S402,分别比较时长与第一阈值和第二阈值的大小,得到第二比较结果;
依据比较结果确定是否更新当前DNS服务器的缓存,包括:
步骤S404,在时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存。
具体地,在上述步骤中,上述第二阈值可以是预先设置的一个用于确定是否更新DNS服务器的缓存的时间段,称为“超时时间”,在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS服务器的缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新DNS服务器的缓存。
通过上述实施例,实现了更新热点域名的目的。
在一种可选的实施例中,如图4所示,在时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存之后,上述方法还可以包括如下步骤:
步骤S406,在更新后的缓存中查找与域名系统DNS请求对应的结果。
具体地,在上述实施例中,当更新本地DNS服务器的缓存后,如果再次接收的域名系统DNS请求在第一预设阈值内,可以在更新后的缓存中查找与域名系统DNS请求对应的解析结果。
在一种可选的实施例中,在时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存包括:从当前DNS服务器的下一级DNS服务器中获取第一更新内容;并依据第一更新内容更新当前DNS服务器的缓存。
具体地,在上述实施例中,由于后端DNS服务器在解析域名的过程中采用的是递归查询,因而,在当前时刻与缓存的最近一次更新时刻之间的时长大于第一阈值且小于第二阈值的情况下,如果当前DNS服务器中没有查询到相应的解析结果,则当前DNS服务器可以从当前DNS服务器的下一级DNS服务器中查询相应的解析结果,并根据该解析结果更新当前DNS服务器的缓存。
通过上述实施例,将当前DNS服务器下一级DNS服务器中查询到的解析结果缓存到当前DNS服务器的本地缓存中,以便再次访问该域名的时候,直接利用当前DNS服务器的本地缓存中的域名解析结果,可以提高域名解析的速度。
在一种可选的实施例中,依据比较结果确定是否更新当前DNS服务器的缓存,可以包括如下步骤:
步骤S2081,在第二比较结果指示时长大于第二阈值时,从当前DNS服务器的下一级DNS服务器获取第二更新内容;
步骤S2083,依据第二更新内容更新当前DNS服务器的缓存。
具体地,在上述实施例中,在当前时刻与缓存的最近一次更新时刻之间的时长大于超时时间(即第二阈值)的情况下,直接请求后端DNS服务器,如果当前DNS服务器中没有查询到相应的解析结果,则当前DNS服务器可以从当前DNS服务器的下一级DNS服务器中查询相应的解析结果,并根据该解析结果更新当前DNS服务器的缓存。
通过上述实施例,设置本地DNS缓存的超时时间,可以实现定时更新本地DNS缓存的目的。
在一种可选的实施例中,在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果之后,上述方法还可以包括如下步骤:
在当前DNS服务器的缓存中未查找到与域名系统DNS请求对应的查询结果时,从当前DNS服务器的下一级DNS服务器获取第三更新内容;并依据第三更新内容更新当前DNS服务器的缓存。
具体地,在上述实施例中,如果当前DNS服务器中没有查询到相应的解析结果,则当前DNS服务器可以从当前DNS服务器的下一级DNS服务器中查询相应的解析结果,并根据该解析结果更新当前DNS服务器的缓存。
通过上述实施例,实现了递归查询的目的。
在一种可选的实施例中,如图5所示,比较时长与预设阈值的大小之前,方法还包括:
步骤S502,获取针对预设阈值的修改指令;
步骤S504,依据修改指令修改预设阈值。
具体地,在上述实施例中,上述预设阈值可以由用户自定义设置,例如,如果预设阈值包括绝对信任时间和超时时间,则可通过设置本地DNS缓存的超时时间为无穷大,可以在后端DNS根节点失效的情况下,继续使用本地DNS缓存提供域名解析服务;在网络拥塞的情况下,设置本地DNS缓存的超时时间为无穷大,并适当调整绝对信任时间,可以保证DNS缓存不过期,同时尽量更新缓存的目的。
通过上述实施例,实现了自定义设置绝对信任时间和超时时间的目的。
在一种可选的实施例中,如图6所示,获取针对预设阈值的修改指令之前,方法还包括:
步骤S602,检测当前的网络状态;
步骤S604,依据网络状态生成与网络状态对应的修改指令。
通过上述实施例,实现了根据网络状态自定义设置绝对信任时间和超时时间的目的,以便在在后端DNS根节点故障失效的情况下,通过设置超时时间为无穷大,仍可以继续访问DNS服务;在网络拥塞的情况下,可以设置超时时间为无穷,并适当调整信任时间,保证DNS缓存不过期,同时尽量更新缓存。
在一种可选的实施例中,上述网络状态包括:当前DNS服务器所在递归DNS查询流程中的根节点故障;DNS服务器所在网络的拥塞状态。
作为一种优选的实施例,图7是根据本申请实施例的一种可选的DNS服务器的缓存更新方法流程图,如图7所示,包括如下步骤:
步骤S701,DNS缓存收到用户的DNS请求。
步骤S702,判断该请求的结果是否在缓存中。
步骤S703,如果没有命中缓存则向后端DNS递归服务发起请求,并更新DNS缓存,流程结束。
步骤S704,如果命中缓存则计算并设置T为当前时间减去缓存上次更新的时间。
步骤S705,判断T是否小于绝对信任时间。
步骤S706,如果T小于绝对信任时间,则直接使用缓存中的结果应答报文,流程结束。
步骤S707,判断T是否大于绝对信任时间且小于超时时间。
步骤S708,如果T大于绝对信任时间且小于超时时间则向后端DNS服务发起请求,并更新DNS缓存,同时使用当前缓存内容应答,流程结束。
步骤S709,如果T大于超时时间,则直接请求后端DNS服务,并更新缓存。
步骤S710,流程结束。
通过上述实施例,在DNS缓存中设置绝对信任时间和超时时间,在根节点失效的情况下,设置超时时间无穷可以继续提供DNS服务;在网络拥塞的情况下,设置超时时间无穷,并适当调整信任时间,可以保证DNS缓存不过期,同时尽量更新缓存。
图8是根据本申请实施例的避免各种故障引起缓存失效的原理图示意图,如图8所示,当出现根节点故障的状况时,通常DNS缓存系统在收到来自用户的域名系统DNS请求并且该请求在缓存中已经过期时,缓存无法更新到正确的DNS应答,因此用户也无法获得正确的DNS解析结果。而本申请将控制器设置超时时间为无限大,缓存将依然尝试对超过信任时间的域名系统DNS请求进行递归查询,但同时会返回当前的解析记录并且该记录不会因为TTL过期而丢弃。此时用户不会收到DNS根节点故障的影响,继续可以使用DNS服务。当出现网络拥塞的情况时,通常DNS缓存系统过期更新时,将变得很慢,甚至超时,此时缓存收到用户请求后,会延迟很久返回DNS结果,甚至返回超时结果,使得用户DNS服务质量下降。本申请可以调整超时时间无穷大,并且增大信任时间后,可以在应答域名系统DNS请求的同时尽量更新域名系统DNS请求,并且保证DNS缓存不会过期。这样用户会立即获得DNS应答,缓存系统会在后台多次尝试更新数据,对于用户来说DNS服务质量不会下降。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的DNS服务器的缓存更新方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例3
根据本申请实施例,还提供了一种用于实现上述实施例2中DNS服务器的缓存更新方法的系统实施例,图9是根据本申请实施例的一种DNS服务器的缓存更新系统示意图,如图9所示,该系统包括:本地DNS服务器901和递归DNS服务器903。
其中,本地DNS服务器901,用于接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长;比较时长与预设阈值的大小,得到比较结果;以及依据比较结果确定是否更新当前DNS服务器的缓存;其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长,
递归DNS服务器903,用于在本地DNS服务器确定更新本地DNS服务器的缓存时,向本地DNS服务器提供用于更新缓存的内容。
由上可知,在本申请上述实施例中,本地DNS服务器901在接收到域名系统DNS请求后,记录当前接收域名系统DNS请求的时间,并在DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果的情况下,计算当前时刻与缓存的最近一次更新时刻之间的时长,比较该时长与预设阈值的大小,并根据比较结果确定是否根据递归DNS服务器903提供的用于更新缓存的内容更新当前DNS服务器的缓存。容易注意的是,上述预设阈值可以至少包括:绝对信任时间和超时时间,在时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新缓存。
通过本申请上述实施例提供的方案,达到了自定义设置DNS服务器的缓存中数据更新的时间的目的,从而实现了既保证热点域名缓存保持更新且不过期的技术效果,进而解决了现有的DNS缓存方案在DNS根节点故障引起后端DNS无法正常工作的情况下缓存会更新失败的技术问题。
实施例4
根据本申请实施例,还提供了一种用于实现上述实施例2中DNS服务器的缓存更新方法的装置实施例,图10是根据本申请实施例的一种DNS服务器的缓存更新装置示意图,如图10所示,该装置包括:接收单元1001、第一确定单元1003、比较单元1005和第二确定单元1007。
其中,接收单元1001,用于接收域名系统DNS请求,并记录当前时刻;
第一确定单元1003,用于在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长;
比较单元1005,用于比较时长与预设阈值的大小,得到比较结果;
第二确定单元1007,用于依据比较结果确定是否更新当前DNS服务器的缓存。
此处需要说明的是,上述接收单元1001、第一确定单元1003、比较单元1005和第二确定单元1007对应于实施例2中的步骤S202至S208,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,在本申请上述实施例中,通过接收单元1001接收到域名系统DNS请求,并记录当前接收域名系统DNS请求的时间,在DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果的情况下,通过第一确定单元1003确定当前时刻与缓存的最近一次更新时刻之间的时长,通过比较单元1005比较该时长与预设阈值的大小,并通过第二确定单元1007根据比较结果确定是否更新当前DNS服务器的缓存。容易注意的是,上述预设阈值可以至少包括:绝对信任时间和超时时间,在时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新缓存。
通过本申请上述实施例提供的方案,达到了自定义设置DNS服务器的缓存中数据更新的时间的目的,从而实现了既保证热点域名缓存保持更新且不过期的技术效果,进而解决了现有的DNS缓存方案在DNS根节点故障引起后端DNS无法正常工作的情况下缓存会更新失败的技术问题。
在一种可选的实施例中,上述预设阈值包括:第一阈值;上述比较单元包括:第一比较模块,用于比较时长与第一阈值的大小,得到第一比较结果;上述第二确定单元包括:第一处理模块,用于在第一比较结果小于预设阈值时,确定拒绝更新DNS缓存,并将在缓存中查找得到的查询结果作为域名系统DNS请求的查询结果。
此处需要说明的是,上述第一比较模块和第一处理模块对应于实施例2中的步骤S302至S304,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述预设阈值还包括:第二阈值,其中,第一阈值小于第二阈值;上述比较单元包括:第二比较模块,用于分别比较时长与第一阈值和第二阈值的大小,得到第二比较结果;上述第二确定单元包括:第二处理模块,用于在时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存。
此处需要说明的是,上述第二比较模块和第二处理模块对应于实施例2中的步骤S402至S404,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,在时长大于第一阈值且小于第二阈值时,上述装置还包括:查找单元,用于在更新后的缓存中查找与域名系统DNS请求对应的结果。
此处需要说明的是,上述查找单元对应于实施例2中的步骤S406,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,在时长大于第一阈值且小于第二阈值时,上述第二处理模块还用于从当前DNS服务器的下一级DNS服务器中获取第一更新内容,并依据第一更新内容更新当前DNS服务器的缓存。
在一种可选的实施例中,在第二比较结果指示时长大于第二阈值时,上述第二处理模块还从当前DNS服务器的下一级DNS服务器获取第二更新内容,并依据第二更新内容更新当前DNS服务器的缓存。
在一种可选的实施例中,上述装置还包括:更新单元,用于在当前DNS服务器的缓存中未查找到与域名系统DNS请求对应的查询结果时,从当前DNS服务器的下一级DNS服务器获取第三更新内容,并依据第三更新内容更新当前DNS服务器的缓存。
在一种可选的实施例中,上述装置还包括:获取单元,用于获取针对预设阈值的修改指令;修改单元,用于依据修改指令修改预设阈值。
此处需要说明的是,上述第二获取模块和第二更新模块对应于实施例2中的步骤S502至S504,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述装置还包括:检测单元,用于检测当前的网络状态;生成单元,用于依据网络状态生成与网络状态对应的修改指令。
此处需要说明的是,上述检测单元和生成单元对应于实施例2中的步骤S602至S604,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,上述网络状态包括:当前DNS服务器所在递归DNS查询流程中的根节点故障;DNS服务器所在网络的拥塞状态。
实施例5
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个访问设备。
图11示出了一种计算机终端的硬件结构框图。如图11所示,计算机终端11可以包括一个或多个(图中采用112a、112b,……,112n来示出)处理器112(处理器112可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器114、以及用于通信功能的传输装置116。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
应当注意到的是上述一个或多个处理器112和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端11中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
处理器112可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长;比较时长与预设阈值的大小,得到比较结果;依据比较结果确定是否更新当前DNS服务器的缓存。
存储器114可用于存储应用软件的软件程序以及模块,如本申请实施例中的DNS服务器的缓存更新的方法对应的程序指令/数据存储装置,处理器112通过运行存储在存储器114内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的DNS服务器的缓存更新的方法。存储器114可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器114可进一步包括相对于处理器112远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置116用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端11的通信供应商提供的无线网络。在一个实例中,传输装置116包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置116可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端11的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图11所示的计算机终端11可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图11仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端11中的部件的类型。
在本实施例中,上述计算机终端11可以执行应用程序的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服务器所在网络的拥塞状态。
本领域普通技术人员可以理解,图11所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的DNS服务器的缓存更新方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长;比较时长与预设阈值的大小,得到比较结果;依据比较结果确定是否更新当前DNS服务器的缓存。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:比较时长与预设阈值的大小,得到比较结果,包括:比较时长与第一阈值的大小,得到第一比较结果;
依据第一比较结果确定是否更新当前DNS服务器的缓存之前,方法还包括:在第一比较结果小于预设阈值时,确定拒绝更新DNS缓存,并将在缓存中查找得到的查询结果作为域名系统DNS请求的查询结果。
可选的,预设阈值还包括:第二阈值,其中,第一阈值小于第二阈值;在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:分别比较时长与第一阈值和第二阈值的大小,得到第二比较结果;在时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在更新后的缓存中查找与域名系统DNS请求对应的结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从当前DNS服务器的下一级DNS服务器中获取第一更新内容;并依据第一更新内容更新当前DNS服务器的缓存。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在第二比较结果指示时长大于第二阈值时,从当前DNS服务器的下一级DNS服务器获取第二更新内容;并依据第二更新内容更新当前DNS服务器的缓存。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在当前DNS服务器的缓存中未查找到与域名系统DNS请求对应的查询结果时,从当前DNS服务器的下一级DNS服务器获取第三更新内容;并依据第三更新内容更新当前DNS服务器的缓存。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取针对预设阈值的修改指令;依据修改指令修改预设阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:检测当前的网络状态;依据网络状态生成与网络状态对应的修改指令。
可选地,当前DNS服务器所在递归DNS查询流程中的根节点故障;DNS服务器所在网络的拥塞状态。
实施例7
根据本申请实施例,还提供了一种DNS服务器的缓存更新系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:
接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果,并在查找到查询结果时,确定与查询结果对应的时长,其中,时长为当前时刻与缓存的最近一次更新时刻之间的时长;比较时长与预设阈值的大小,得到比较结果;依据比较结果确定是否更新当前DNS服务器的缓存。
由上可知,在本申请上述实施例中,在接收到域名系统DNS请求后,记录当前接收域名系统DNS请求的时间,并在DNS服务器的缓存中查找与域名系统DNS请求对应的查询结果的情况下,计算当前时刻与缓存的最近一次更新时刻之间的时长,比较该时长与预设阈值的大小,并根据比较结果确定是否更新当前DNS服务器的缓存。容易注意的是,上述预设阈值可以至少包括:绝对信任时间和超时时间,在时长小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在时长大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS缓存,同时使用当前缓存内容应答;在时长大于超时时间的情况下,直接请求后端DNS服务器,并更新缓存。
通过本申请上述实施例提供的方案,达到了自定义设置DNS服务器的缓存中数据更新的时间的目的,从而实现了既保证热点域名缓存保持更新且不过期的技术效果,进而解决了现有的DNS缓存方案在DNS根节点故障引起后端DNS无法正常工作的情况下缓存会更新失败的技术问题。
实施例8
根据本申请实施例,提供了一种DNS服务器的缓存更新方法实施例,本实施例提供的DNS缓存更新方法可以应用于本申请实施例1提供的DNS缓存系统中,包括但不限于本申请实施例1描述的应用场景。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图12是根据本申请实施例的一种DNS服务器的缓存更新方法流程图,如图12所示,包括如下步骤:
步骤S122,接收域名系统DNS请求,其中,接收时间为第一时间;
步骤S124,确定域名系统DNS请求在DNS缓存中有对应DNS缓存记录,其中,DNS缓存最近一次更新时间为第二时间;
步骤S126,计算时长,其中,时长为第一时间与第二时间之间的间隔时间长度;
步骤S128,依据间隔时间长度,确定是否更新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缓存,可以包括如下步骤:
步骤S1281,比较时长与预设阈值的大小,得到比较结果;
步骤S1283,依据比较结果确定是否更新DNS缓存。
具体地,在上述实施例中,上述预设阈值可以根据需要设置不同的值,作为一种可选的实施例,上述预设阈值可以包括但不限于绝对信任时间和超时时间,其中,绝对信任时间用于表征本地DNS缓存的中IP地址为有效IP地址的时间,超时时间用于表征本地DNS缓存的中IP地址已经失效,需要重新查询IP地址并更新本地DNS缓存的时间,通过比较接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度与绝对信任时间的大小,可以确定是否直接使用缓存中的结果应答报文;通过比较接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度与超时时间的大小,可以确定是否更新缓存。
作为一种可选的实施方式,在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度小于绝对信任时间的情况下,直接使用缓存中的结果应答报文;在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度大于绝对信任时间的情况下,进一步判断接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度与超时时间的大小,根据比较结果确定是否更新缓存,其中,在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS服务器的缓存,同时使用当前缓存内容应答;在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度大于超时时间的情况下,直接请求后端DNS服务器,并更新DNS服务器的缓存。
通过上述实施例,可以实现自定义设置DNS服务器的缓存中数据更新的时间的目的。
在一种可选的实施例中,上述预设阈值可以包括:第一阈值;其中,步骤S1283,依据比较结果确定是否更新DNS缓存,可以包括:比较时长与第一阈值的大小,得到第一比较结果;在第一比较结果小于预设阈值时,确定拒绝更新DNS缓存,并将在缓存中查找得到的查询结果作为域名系统DNS请求的查询结果。
具体地,在上述实施例中,上述第一阈值可以是预先设置的一个用于确定是否直接使用缓存中的结果应答报文的时间段,称为“绝对信任时间”,在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度小于绝对信任时间的情况下,直接使用缓存中的结果应答报文。
通过上述实施例,直接使用缓存中的结果应答报文,可以实现快速获取域名的IP地址,进而达到快速上网的目的。
在一种可选的实施例中,上述预设阈值还可以包括:第二阈值,其中,第一阈值小于第二阈值;其中,
比较时长与预设阈值的大小,得到比较结果,可以包括:分别比较时长与第一阈值和第二阈值的大小,得到第二比较结果;
依据比较结果确定是否更新当前DNS服务器的缓存,包括:在第二比较结果指示时长大于第一阈值且小于第二阈值时,确定更新当前DNS服务器的缓存。
具体地,在上述实施例中,上述第二阈值可以是预先设置的一个用于确定是否更新DNS服务器的缓存的时间段,称为“超时时间”,在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度大于绝对信任时间且小于超时时间的情况下,则向后端DNS服务器发起请求,并更新DNS服务器的缓存,同时使用当前缓存内容应答;在接收到域名系统DNS请求的时间与DNS缓存最近一次的更新时间的间隔时间长度大于超时时间的情况下,直接请求后端DNS服务器,并更新DNS服务器的缓存。
通过上述实施例,实现了更新热点域名的目的。
在一种可选的实施例中,在比较时长与预设阈值的大小之前,上述方法还可以包括如下步骤:
步骤S1280a,获取针对预设阈值的修改指令;
步骤S1280b,依据修改指令修改预设阈值。
具体地,在上述实施例中,上述预设阈值可以由用户自定义设置,例如,如果预设阈值包括绝对信任时间和超时时间,则可通过设置本地DNS缓存的超时时间为无穷大,可以在后端DNS根节点失效的情况下,继续使用本地DNS缓存提供域名解析服务;在网络拥塞的情况下,设置本地DNS缓存的超时时间为无穷大,并适当调整绝对信任时间,可以保证DNS缓存不过期,同时尽量更新缓存的目的。
通过上述实施例,实现了自定义设置绝对信任时间和超时时间的目的。
在一种可选的实施例中,在获取针对预设阈值的修改指令之前,上述方法还可以包括如下步骤:
步骤一,检测当前的网络状态;
步骤二,依据网络状态生成与网络状态对应的修改指令。
具体地,在上述实施例中,通过上述实施例,实现了根据网络状态自定义设置绝对信任时间和超时时间的目的,以便在在后端DNS根节点故障失效的情况下,通过设置超时时间为无穷大,仍可以继续访问DNS服务;在网络拥塞的情况下,可以设置超时时间为无穷,并适当调整信任时间,保证DNS缓存不过期,同时尽量更新缓存。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (20)

1.一种DNS服务器的缓存更新方法,其特征在于,包括:
接收域名系统DNS请求,并记录当前时刻;
在当前DNS服务器的缓存中查找与所述域名系统DNS请求对应的查询结果,并在查找到所述查询结果时,确定与所述查询结果对应的时长,其中,所述时长为所述当前时刻与所述缓存的最近一次更新时刻之间的时长;
比较所述时长与预设阈值的大小,得到比较结果;
依据所述比较结果确定是否更新所述当前DNS服务器的缓存。
2.根据权利要求1所述的方法,其特征在于,所述预设阈值包括:第一阈值;
比较所述时长与预设阈值的大小,得到比较结果,包括:比较所述时长与第一阈值的大小,得到第一比较结果;
依据所述比较结果确定是否更新所述当前DNS服务器的缓存,包括:在所述第一比较结果小于预设阈值时,确定拒绝更新所述DNS服务器的缓存,并将在所述缓存中查找得到的查询结果作为所述域名系统DNS请求的查询结果。
3.根据权利要求2所述的方法,其特征在于,所述预设阈值还包括:第二阈值,其中,所述第一阈值小于所述第二阈值;
比较所述时长与预设阈值的大小,得到比较结果,包括:分别比较所述时长与所述第一阈值和所述第二阈值的大小,得到第二比较结果;
依据所述比较结果确定是否更新所述当前DNS服务器的缓存,包括:在所述时长大于第一阈值且小于所述第二阈值时,确定更新所述当前DNS服务器的缓存。
4.根据权利要求3所述的方法,其特征在于,在所述时长大于第一阈值且小于所述第二阈值时,确定更新所述当前DNS服务器的缓存之后,所述方法还包括:在更新后的缓存中查找与所述域名系统DNS请求对应的结果。
5.根据权利要求3所述的方法,其特征在于,在所述时长大于第一阈值且小于所述第二阈值时,确定更新所述当前DNS服务器的缓存包括:从所述当前DNS服务器的下一级DNS服务器中获取第一更新内容;并依据所述第一更新内容更新所述当前DNS服务器的缓存。
6.根据权利要求3所述的方法,其特征在于,依据所述比较结果确定是否更新所述当前DNS服务器的缓存,包括:
在所述第二比较结果指示所述时长大于所述第二阈值时,从所述当前DNS服务器的下一级DNS服务器获取第二更新内容;并依据所述第二更新内容更新所述当前DNS服务器的缓存。
7.根据权利要求1所述的方法,其特征在于,在当前DNS服务器的缓存中查找与所述域名系统DNS请求对应的查询结果之后,所述方法还包括:
在所述当前DNS服务器的缓存中未查找到与所述域名系统DNS请求对应的查询结果时,从所述当前DNS服务器的下一级DNS服务器获取第三更新内容;并依据所述第三更新内容更新所述当前DNS服务器的缓存。
8.根据权利要求1所述的方法,其特征在于,比较所述时长与预设阈值的大小之前,所述方法还包括:
获取针对所述预设阈值的修改指令;
依据所述修改指令修改所述预设阈值。
9.根据权利要求8所述的方法,其特征在于,获取针对所述预设阈值的修改指令之前,所述方法还包括:
检测当前的网络状态;
依据所述网络状态生成与所述网络状态对应的修改指令。
10.根据权利要求9所述的方法,其特征在于,所述网络状态包括:所述当前DNS服务器所在递归DNS查询流程中的根节点故障;所述DNS服务器所在网络的拥塞状态。
11.一种DNS服务器的缓存更新方法,其特征在于,包括:
接收域名系统DNS请求,其中,所述接收时间为第一时间;
确定所述域名系统DNS请求在DNS缓存中有对应DNS缓存记录,其中,所述DNS缓存最近一次更新时间为第二时间;
计算时长,其中,所述时长为所述第一时间与第二时间之间的间隔时间长度;
依据所述间隔时间长度,确定是否更新所述DNS缓存。
12.根据权利要求11所述的方法,其特征在于,依据所述时长,确定是否更新所述DNS缓存,包括:
比较所述时长与预设阈值的大小,得到比较结果;
依据所述比较结果确定是否更新所述DNS缓存。
13.根据权利要求12所述的方法,其特征在于,所述预设阈值包括:第一阈值;
依据所述比较结果确定是否更新所述DNS缓存,包括:比较所述时长与第一阈值的大小,得到第一比较结果;在所述第一比较结果小于预设阈值时,确定拒绝更新所述DNS缓存,并将在所述缓存中查找得到的查询结果作为所述域名系统DNS请求的查询结果。
14.根据权利要求13所述的方法,其特征在于,所述预设阈值还包括:第二阈值,其中,所述第一阈值小于所述第二阈值;
比较所述时长与预设阈值的大小,得到比较结果,包括:分别比较所述时长与所述第一阈值和所述第二阈值的大小,得到第二比较结果;
依据所述比较结果确定是否更新所述DNS缓存,包括:在所述第二比较结果指示所述时长大于第一阈值且小于所述第二阈值时,确定更新所述DNS缓存。
15.根据权利要求12所述的方法,其特征在于,比较所述时长与预设阈值的大小之前,所述方法还包括:
获取针对所述预设阈值的修改指令;
依据所述修改指令修改所述预设阈值。
16.根据权利要求15所述的方法,其特征在于,获取针对所述预设阈值的修改指令之前,所述方法还包括:
检测当前的网络状态;
依据所述网络状态生成与所述网络状态对应的修改指令。
17.一种域名系统,其特征在于,包括:
本地DNS服务器,用于接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与所述域名系统DNS请求对应的查询结果,并在查找到所述查询结果时,确定与所述查询结果对应的时长;比较所述时长与预设阈值的大小,得到比较结果;以及依据所述比较结果确定是否更新所述当前DNS服务器的缓存;其中,所述时长为所述当前时刻与所述缓存的最近一次更新时刻之间的时长,
递归DNS服务器,用于在所述本地DNS服务器确定更新所述本地DNS服务器的缓存时,向所述本地DNS服务器提供用于更新所述缓存的内容。
18.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至16中任意一项所述的DNS服务器的缓存更新方法。
19.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至16中任意一项所述的DNS服务器的缓存更新方法。
20.一种DNS服务器的缓存更新系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:接收域名系统DNS请求,并记录当前时刻;在当前DNS服务器的缓存中查找与所述域名系统DNS请求对应的查询结果,并在查找到所述查询结果时,确定与所述查询结果对应的时长,其中,所述时长为所述当前时刻与所述缓存的最近一次更新时刻之间的时长;比较所述时长与预设阈值的大小,得到比较结果;依据所述比较结果确定是否更新所述当前DNS服务器的缓存。
CN201710931589.0A 2017-10-09 2017-10-09 Dns服务器的缓存更新方法、装置、系统及域名系统 Active CN109639748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710931589.0A CN109639748B (zh) 2017-10-09 2017-10-09 Dns服务器的缓存更新方法、装置、系统及域名系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710931589.0A CN109639748B (zh) 2017-10-09 2017-10-09 Dns服务器的缓存更新方法、装置、系统及域名系统

Publications (2)

Publication Number Publication Date
CN109639748A true CN109639748A (zh) 2019-04-16
CN109639748B CN109639748B (zh) 2021-10-26

Family

ID=66051090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710931589.0A Active CN109639748B (zh) 2017-10-09 2017-10-09 Dns服务器的缓存更新方法、装置、系统及域名系统

Country Status (1)

Country Link
CN (1) CN109639748B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290233A (zh) * 2019-06-27 2019-09-27 广州虎牙科技有限公司 域名解析方法、装置、服务器及计算机可读存储介质
CN110855806A (zh) * 2019-09-27 2020-02-28 网宿科技股份有限公司 域名请求处理方法及装置、服务器
CN112153166A (zh) * 2019-06-27 2020-12-29 北京声智科技有限公司 一种dns快速解析方法、装置、终端及介质
CN112422705A (zh) * 2020-10-12 2021-02-26 聚好看科技股份有限公司 一种服务器、数据处理方法及介质
WO2021051420A1 (zh) * 2019-09-21 2021-03-25 华为技术有限公司 一种dns缓存记录的确定方法及装置
CN116074281A (zh) * 2023-02-02 2023-05-05 互联网域名系统北京市工程研究中心有限公司 基于域名系统的应答结果的获取方法、装置、计算机设备和存储介质
CN116095172A (zh) * 2023-01-09 2023-05-09 互联网域名系统北京市工程研究中心有限公司 缓存刷新方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469167A (zh) * 2010-11-01 2012-05-23 中国移动通信集团北京有限公司 域名查询的实现方法和系统
WO2012089013A1 (zh) * 2010-12-29 2012-07-05 华为技术有限公司 域名系统缓存的方法、授权域名服务器、缓存域名服务器
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469167A (zh) * 2010-11-01 2012-05-23 中国移动通信集团北京有限公司 域名查询的实现方法和系统
WO2012089013A1 (zh) * 2010-12-29 2012-07-05 华为技术有限公司 域名系统缓存的方法、授权域名服务器、缓存域名服务器
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290233A (zh) * 2019-06-27 2019-09-27 广州虎牙科技有限公司 域名解析方法、装置、服务器及计算机可读存储介质
CN112153166A (zh) * 2019-06-27 2020-12-29 北京声智科技有限公司 一种dns快速解析方法、装置、终端及介质
WO2021051420A1 (zh) * 2019-09-21 2021-03-25 华为技术有限公司 一种dns缓存记录的确定方法及装置
CN110855806A (zh) * 2019-09-27 2020-02-28 网宿科技股份有限公司 域名请求处理方法及装置、服务器
CN112422705A (zh) * 2020-10-12 2021-02-26 聚好看科技股份有限公司 一种服务器、数据处理方法及介质
CN116095172A (zh) * 2023-01-09 2023-05-09 互联网域名系统北京市工程研究中心有限公司 缓存刷新方法、装置、设备和存储介质
CN116074281A (zh) * 2023-02-02 2023-05-05 互联网域名系统北京市工程研究中心有限公司 基于域名系统的应答结果的获取方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109639748B (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
CN109639748A (zh) Dns服务器的缓存更新方法、装置、系统及域名系统
US11909639B2 (en) Request routing based on class
US11632420B2 (en) Point of presence management in request routing
US20190297137A1 (en) Point of presence management in request routing
US9021127B2 (en) Updating routing information based on client location
JP5150769B2 (ja) 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新
CN102469167B (zh) 域名查询的实现方法和系统
US10097398B1 (en) Point of presence management in request routing
US11044262B2 (en) Method, apparatus and system for anti-attacking in domain name system (DNS)
WO2021120969A1 (zh) 域名解析方法、域名解析服务器及终端设备
CN109067930B (zh) 域名接入方法、域名解析方法、服务器、终端及存储介质
CN103780654A (zh) 业务请求处理方法、用户终端、业务路由器及网络系统
CN106657321A (zh) 无线ap中本地dns缓存方法、网站访问方法及无线ap
US10044629B1 (en) Dynamic TTL based on endpoint health checking
CN115150469A (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