CN116095172A - 缓存刷新方法、装置、设备和存储介质 - Google Patents

缓存刷新方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116095172A
CN116095172A CN202310028308.6A CN202310028308A CN116095172A CN 116095172 A CN116095172 A CN 116095172A CN 202310028308 A CN202310028308 A CN 202310028308A CN 116095172 A CN116095172 A CN 116095172A
Authority
CN
China
Prior art keywords
cache
response message
current
version number
buffer
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
CN202310028308.6A
Other languages
English (en)
Other versions
CN116095172B (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.)
Yuming Technology Chengdu Co ltd
Original Assignee
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
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 INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER filed Critical INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Priority to CN202310028308.6A priority Critical patent/CN116095172B/zh
Publication of CN116095172A publication Critical patent/CN116095172A/zh
Application granted granted Critical
Publication of CN116095172B publication Critical patent/CN116095172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种缓存刷新方法、装置、设备和存储介质。主要技术方案包括:接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则将域名查询请求转发至权威服务器;获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。本申请能够达到提升域名服务器性能以及保证应答报文准确度的效果。

Description

缓存刷新方法、装置、设备和存储介质
技术领域
本申请涉及域名解析技术领域,特别是涉及一种缓存刷新方法、装置、设备和存储介质。
背景技术
DNS(DomainNameSystem,域名系统),是因特网中的一项核心服务,是用于实现域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。域名解析则是通过域名得到与该域名对应的IP地址的过程。
在传统的实现方式中,由于DNS域名解析通常采用的是UDP协议,受外部网络环境的影响较大,尤其是在有丢包或者解析延时大的情况下严重影响用户体验,因此,DNS域名解析一般均设置有缓存机制,即在将DNS服务器的查询结果存入缓存时会设置TTL(Time-to-live,缓存有效时间)有效期,在有效期内查询结果可以直接用于应答用户请求,不需要再进行查询操作,从而极大的提升了DNS域名解析效率,减小了多次查询所带来的时延问题。
然而,采用上述方式,TTL值的设置对于平衡DNS服务器解析速度和解析结果来说就显得至关重要,若TTL设置过小,DNS服务器可以在较短时间内刷新至最新解析记录,但可能导致DNS服务器区域内容没有变更的前提下发出大量冗余查询,给DNS服务器造成较大压力;若TTL设置过大,则可能导致DNS服务器区域内容变更时,用户无法及时获得最新记录,从而导致业务不可达或者访问不到业务地址,影响用户体验。
发明内容
基于此,本申请提供了一种缓存刷新方法、装置、设备和存储介质,通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
第一方面,提供一种缓存刷新方法,应用于缓存刷新系统,缓存刷新系统包括客户端、递归服务器以及权威服务器,该方法包括:
接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
根据本申请实施例中一种可实现的方式,根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新,包括:
将当前区域版本号和缓存区域版本号进行比对;
若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
根据本申请实施例中一种可实现的方式,若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
根据本申请实施例中一种可实现的方式,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个,将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,包括:
从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的;
将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
根据本申请实施例中一种可实现的方式,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
根据本申请实施例中一种可实现的方式,若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
根据本申请实施例中一种可实现的方式,定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;
获取权威服务器针对缓存查询请求返回的最新应答报文,最新应答报文包括当前区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
第二方面,提供了一种缓存刷新装置,应用于缓存刷新系统,缓存刷新系统包括客户端、递归服务器以及权威服务器,装置设置于递归服务器,该装置包括:
查询模块,用于接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
转发模块,用于若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
返回模块,用于获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
查找模块,用于在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
缓存更新模块,用于根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则将域名查询请求转发至权威服务器;获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。上述操作,可以通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
附图说明
图1为一个实施例中一种缓存刷新方法的系统架构图;
图2为一个实施例中一种缓存刷新方法的流程示意图;
图3为一个实施例中一种缓存刷新方法的优选流程示意图;
图4为一个实施例中一种缓存刷新装置的结构框图;
图5为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的一种缓存刷新方法,可以应用于如图1所示的系统架构中。该系统架构包括:客户端101、递归服务器103以及权威服务器105,且该系统架构的一般处理流程为:递归服务器103接收客户端101发送的域名查询请求,并将域名查询请求转发至权威服务器105,权威服务器105接收到域名查询请求后进行查询解析得到解析结果;将解析结果返回至递归服务器103,递归服务器103再将解析结果返回至客户端101,进而实现满足客户的域名查询需求的效果。需要说明的是,这里的递归服务器103和权威服务器105均属于DNS(DomainNameSystem,域名系统)服务器,递归服务器103一般用于递归查询,而权威服务器105一般用于迭代查询。
图2为本申请实施例提供的一种缓存刷新方法的流程图,该方法可以由如图1所示系统架构中的递归服务器103执行。如图2所示,该方法可以包括以下步骤:
步骤S201:接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文。
其中,缓存应答报文包括对应于域名查询请求的缓存IP地址、预设缓存有效时间、当前缓存有效时间、缓存所属区域信息以及缓存区域版本号。
这里,递归服务器为了及时同步缓存记录中发生变更的信息,则不会永久保存缓存记录,一般通过设置预设缓存有效时间来对缓存记录进行更新,即通过TTL(Timetolive,缓存生存时间)来定义缓存有效时间,有效时间一到期,递归服务器就丢弃原有的缓存应答报文并从权威服务器获取新的应答报文。
具体地,由于递归服务器设置有缓存机制,因此,递归服务器在接收到客户端发送的域名查询请求后,不是直接转发至权威服务器去查询解析,而是确定自己的缓存机制中是否存在对应于域名查询请求的缓存应答报文。
步骤S203:若不存在缓存应答报文,则将域名查询请求转发至权威服务器。
具体地,在确定递归服务器的缓存记录中不存在对应于当前域名查询请求的缓存应答报文时,则将域名查询请求转发至权威服务器。这里,导致不存在缓存应答报文一般有两种情况,第一种情况:当前的域名查询请求确实是首次发起的,则缓存记录中就不会存在对应的缓存应答报文;另外一种情况:存在对应于该域名查询请求的缓存应答报文,但是过了缓存应答报文的预设缓存有效时间后失效了,则也就相当于不存在对应的缓存应答报文。
步骤S205:获取权威服务器针对域名查询请求返回的当前应答报文。
其中,当前应答报文包括对应于当前域名查询请求的当前IP地址、预设缓存有效时间、当前所属区域信息以及当前区域版本号。
这里,DNS服务器设置有OPT(Optionrecord,选项记录类型)协议,OPT协议是DNS服务器拓展的自定义协议,可以用于客户端和DNS服务器之间交互传递自定义信息。因此,在域名请求查询过程中,可以通过OPT协议请求权威服务器返回当前应答报文时,附加携带对应区域的SOA(Startofauthority,起始授权区域)记录,SOA记录是权威服务器区域文件中的第一条记录,包含权威服务器区域的当前所属区域信息,且SOA记录中包含SERIAL字段,用于表示当前区域的版本号,在当前区域的记录发生变更时,SERIAL值会相应地进行更新。
具体地,权威服务器接收到递归服务器发送的域名查询请求后,对域名查询请求进行解析得到当前应答报文,并返回至递归服务器。
步骤S207:在缓存记录中查找与当前所属区域信息相同的缓存应答报文。
具体地,递归服务器在接收到权威服务器发送的当前应答报文后,在缓存记录中查找与当前应答报文的当前所属区域信息相同的缓存应答报文。其中,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个。
步骤S209:根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
由于当前应答报文包括当前区域版本号,而缓存应答报文包括缓存区域版本号,因此,递归服务器可以根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
可以看出,本申请实施例通过接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则将域名查询请求转发至权威服务器;获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。上述操作,可以通过自动更新缓存应答报文的当前缓存有效时间,达到提升域名服务器性能以及保证应答报文准确度的效果。
下面结合实施例对上述步骤S209即“根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新”进行详细描述。
在一种可实现的方式中,将当前区域版本号和缓存区域版本号进行比对;若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
具体地,将当前应答报文的当前区域版本号和缓存应答报文的缓存区域版本号进行比对,若相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
这里,以www.example.com查询为例:客户端初始向递归服务器发起www.example.comMX查询,递归服务器确定缓存记录中不存在对应缓存应答报文,则将域名查询请求转发至权威服务器,权威服务器接收到域名查询请求后查询解析,得到当前应答报文www.example.com.3600INMX10mx.example.cn,并将其返回至递归服务器,且由当前应答报文得出TTL为3600秒,附加当前所属区域信息example.com的SOA记录中当前区域版本号为32。
递归服务器在缓存记录中查找与当前所属区域信息相同的缓存应答报文,假设找到www.example.com3600INA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号也为32,说明此时当前区域版本号和缓存区域版本号相同,没有发生变化,且假设www.example.com3600INA1.1.1.1缓存应答报文的当前缓存有效时间为1600秒即剩余1600秒失效,则将www.example.com3600INA1.1.1.1剩余的1600秒重置为预设缓存有效时间3600秒。
通过上述操作,实现在所属区域版本号未发生变更的情况下,相应地续期该所属区域所有的缓存应答报文的当前缓存有效时间,将当前缓存有效时间重置为预设缓存有效时间,以避免在当前所属区域内容无变更情况下的冗余查询和缓存置换操作,达到提升域名服务器性能的效果。
在另一种可实现的方式中,若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
具体地,将当前应答报文的当前区域版本号和缓存应答报文的缓存区域版本号进行比对,若不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
这里,仍以www.example.com查询为例,递归服务器在缓存记录中查找与当前所属区域信息相同的缓存应答报文,假设找到www.example.comA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号为33,说明此时当前区域版本号和缓存区域版本号不同,发生变化,且假设www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间为600秒即剩余600秒失效,则将www.example.comA1.1.1.1的当前缓存有效时间直接置为失效,且将该缓存应答报文清除,即新的域名查询请求不再从缓存记录中查找而是直接从权威服务器获取。
通过上述操作,实现在所属区域版本号发生变更的情况下,立即触发该所属区域所有缓存应答报文过期失效,以避免在所属区域内容发生变更情况下无法及时获得最新记录的情况,达到保证应答报文准确度的效果。
在一个实施例中,将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,包括:从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表;将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
其中,增量变更报文列表是权威服务器基于IXFR(IncrementalZoneTransferProtocol,增量区传输协议)协议得到的,即权威服务器可基于应答查询返回不同版本号对应的缓存应答报文的变更记录。
在一种可实现的方式中,在当前区域版本号和缓存区域版本号不同时,递归服务器基于IXFR协议向权威服务器发起增量变更报文列表请求,从权威服务器获取返回的增量变更报文列表,查询不同版本号之间的增量变更信息,将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在另一种可实现的方式中,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
这里,仍然以上述www.example.com查询为例,假设找到www.example.comA1.1.1.1缓存应答报文,该缓存应答报文附加缓存所属区域信息example.com的SOA记录中缓存区域版本号为33,说明此时当前区域版本号和缓存区域版本号不同,发生变化,则确定www.example.comA1.1.1.1缓存应答报文是否存在于增量变更报文列表中,若存在于增量变更报文列表中,则将www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间置为失效,以及将该缓存应答报文清除;若不存在于增量变更报文列表中,则将www.example.comA1.1.1.1缓存应答报文的当前缓存有效时间置重置为3600秒,以及将该缓存应答报文的缓存区域版本号变更为当前区域版本号即将32变更为33。
通过上述操作,基于增量区传输协议,可以获取到所属区域相同但区域版本号不同的具体发生变更的缓存应答报文,将发生变更的缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号;对未发生变更的缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除,进而达到提升域名服务器性能以及保证应答报文准确度的效果。
在一个实施例中,该方法还包括:若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
具体地,递归服务器在接收到客户端发送的域名查询请求后,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若存在缓存应答报文,则将缓存应答报文返回至客户端,并且保持缓存应答报文的当前缓存有效时间不变。
通过上述操作,若存在缓存应答报文,则直接将缓存应答报文返回至客户端,达到提升DNS服务器域名解析效率,减小了多次查询所带来的时延问题的效果。
在一个实施例中,该方法还包括:定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器;获取权威服务器针对缓存查询请求返回的最新应答报文;根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
其中,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;最新应答报文包括当前区域版本号。
具体地,由于部分所属区域不是很频繁的被访问,这样该区域对应的缓存应答报文就不能及时的得到更新,因此,递归服务器定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,权威服务器对缓存应答报文的缓存查询请求进行查询解析,返回最新应答报文,由于缓存应答报文包括缓存区域版本号,最新应答报文中包括当前区域版本号,则可以根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。需要说明的是,这里缓存更新的原则和上述根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新的原则相同,此处不再重复赘述。
通过上述操作,可以实现对权威服务器的缓存记录中的所有缓存应答报文进行缓存更新,进而达到提升域名服务器性能以及保证应答报文准确度的效果。
结合上述实施例中的实现方式,下面结合图3对本申请实施例提供的一优选的方法流程进行举例描述。如图3所示,该方法可以包括以下步骤:
步骤S301,接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;若不存在缓存应答报文,则执行步骤S302,若存在缓存应答报文,则执行步骤S310。
步骤S302,则将域名查询请求转发至权威服务器。
步骤S303,获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号。
步骤S304,在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号。
步骤S305,将当前区域版本号和缓存区域版本号进行比对;若当前区域版本号和缓存区域版本号相同,则执行步骤S306;若当前区域版本号和缓存区域版本号不同,则执行步骤S307。
步骤S306,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
步骤S307,从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的。
步骤S308,将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
步骤S309,将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
步骤S310,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
应该理解的是,虽然图2-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图4为本申请实施例提供的一种缓存刷新装置的结构示意图,该装置可以设置于图1所示系统架构中的递归服务器,用以执行如图2-图3中所示的方法流程。如图4所示,该装置可以包括:查询模块401、转发模块403、返回模块405、查找模块407以及缓存更新模块409。其中各组成模块的主要功能如下:
查询模块401,用于接收客户端发送的域名查询请求,根据域名查询请求确定缓存记录中是否存在对应于域名查询请求的缓存应答报文;
转发模块403,用于若不存在缓存应答报文,则将域名查询请求转发至权威服务器;
返回模块405,用于获取权威服务器针对域名查询请求返回的当前应答报文,当前应答报文包括当前所属区域信息以及当前区域版本号;
查找模块407,用于在缓存记录中查找与当前所属区域信息相同的缓存应答报文,缓存应答报文包括当前缓存有效时间和缓存区域版本号;
缓存更新模块409,用于根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
在一个实施例中,缓存更新模块409,还用于:
将当前区域版本号和缓存区域版本号进行比对;
若当前区域版本号和缓存区域版本号相同,则将缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
在一个实施例中,缓存更新模块409,还用于:
若当前区域版本号和缓存区域版本号不同,则将缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在一个实施例中,在缓存记录中查找到的与当前所属区域信息相同的缓存应答报文包括至少一个,该装置还用于:
从权威服务器获取当前区域版本号和缓存区域版本号之间的增量变更报文列表,增量变更报文列表是权威服务器基于增量传输协议得到的;
将存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将缓存应答报文清除。
在一个实施例中,该装置还用于:
将不存在于增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
在一个实施例中,该装置还用于:
若存在缓存应答报文,则将缓存应答报文返回至客户端,以及保持缓存应答报文的当前缓存有效时间不变。
在一个实施例中,该装置还用于:
定期从缓存记录中随机选择一个缓存应答报文发送至权威服务器,缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;
获取权威服务器针对缓存查询请求返回的最新应答报文,最新应答报文包括当前区域版本号;
根据当前区域版本号和缓存区域版本号,对缓存应答报文的当前缓存有效时间进行缓存更新。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图5所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图5所示,设备500包括计算单元501、ROM502、RAM503、总线504以及输入/输出(I/O)接口505,计算单元501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
计算单元501可以根据存储在只读存储器(ROM)502中的计算机指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元508。
RAM503还可存储设备500操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM502和/或通信单元509而被载入和/或安装到设备500上。
设备500中的输入单元506、输出单元507、存储单元508和通信单元509可以连接至I/O接口505。其中,输入单元506可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元507可以是诸如显示器、扬声器、指示灯等。设备500能够通过通信单元509与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元501,使得计算机指令当由诸如处理器等计算单元501执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种缓存刷新方法,其特征在于,应用于缓存刷新系统,所述缓存刷新系统包括客户端、递归服务器以及权威服务器,所述方法包括:
接收客户端发送的域名查询请求,根据所述域名查询请求确定缓存记录中是否存在对应于所述域名查询请求的缓存应答报文;
若不存在所述缓存应答报文,则将所述域名查询请求转发至所述权威服务器;
获取所述权威服务器针对所述域名查询请求返回的当前应答报文,所述当前应答报文包括当前所属区域信息以及当前区域版本号;
在所述缓存记录中查找与所述当前所属区域信息相同的缓存应答报文,所述缓存应答报文包括当前缓存有效时间和缓存区域版本号;
根据所述当前区域版本号和所述缓存区域版本号,对所述缓存应答报文的当前缓存有效时间进行缓存更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前区域版本号和所述缓存区域版本号,对所述缓存应答报文的当前缓存有效时间进行缓存更新,包括:
将所述当前区域版本号和所述缓存区域版本号进行比对;
若所述当前区域版本号和所述缓存区域版本号相同,则将所述缓存应答报文的当前缓存有效时间重置为预设缓存有效时间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述当前区域版本号和所述缓存区域版本号不同,则将所述缓存应答报文的当前缓存有效时间置为失效,以及将所述缓存应答报文清除。
4.根据权利要求3所述的方法,其特征在于,在所述缓存记录中查找到的与所述当前所属区域信息相同的缓存应答报文包括至少一个,将所述缓存应答报文的当前缓存有效时间置为失效,以及将所述缓存应答报文清除,包括:
从所述权威服务器获取所述当前区域版本号和所述缓存区域版本号之间的增量变更报文列表,所述增量变更报文列表是所述权威服务器基于增量传输协议得到的;
将存在于所述增量变更报文列表中的各缓存应答报文的当前缓存有效时间置为失效,以及将所述缓存应答报文清除。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将不存在于所述增量变更报文列表中的各缓存应答报文的当前缓存有效时间重置为预设缓存有效时间,以及将各缓存应答报文的缓存区域版本号变更为当前区域版本号。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若存在所述缓存应答报文,则将所述缓存应答报文返回至所述客户端,以及保持所述缓存应答报文的当前缓存有效时间不变。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述方法还包括:
定期从所述缓存记录中随机选择一个缓存应答报文发送至所述权威服务器,所述缓存应答报文包括缓存查询请求、当前缓存有效时间以及缓存区域版本号;
获取所述权威服务器针对所述缓存查询请求返回的最新应答报文,所述最新应答报文包括当前区域版本号;
根据所述当前区域版本号和所述缓存区域版本号,对所述缓存应答报文的当前缓存有效时间进行缓存更新。
8.一种缓存刷新装置,其特征在于,应用于缓存刷新系统,所述缓存刷新系统包括客户端、递归服务器以及权威服务器,所述装置设置于所述递归服务器,所述装置包括:
查询模块,用于接收客户端发送的域名查询请求,根据所述域名查询请求确定缓存记录中是否存在对应于所述域名查询请求的缓存应答报文;
转发模块,用于若不存在所述缓存应答报文,则将所述域名查询请求转发至所述权威服务器;
返回模块,用于获取所述权威服务器针对所述域名查询请求返回的当前应答报文,所述当前应答报文包括当前所属区域信息以及当前区域版本号;
查找模块,用于在所述缓存记录中查找与所述当前所属区域信息相同的缓存应答报文,所述缓存应答报文包括当前缓存有效时间和缓存区域版本号;
缓存更新模块,用于根据所述当前区域版本号和所述缓存区域版本号,对所述缓存应答报文的当前缓存有效时间进行缓存更新。
9.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
CN202310028308.6A 2023-01-09 2023-01-09 缓存刷新方法、装置、设备和存储介质 Active CN116095172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310028308.6A CN116095172B (zh) 2023-01-09 2023-01-09 缓存刷新方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310028308.6A CN116095172B (zh) 2023-01-09 2023-01-09 缓存刷新方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN116095172A true CN116095172A (zh) 2023-05-09
CN116095172B CN116095172B (zh) 2024-08-02

Family

ID=86205866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310028308.6A Active CN116095172B (zh) 2023-01-09 2023-01-09 缓存刷新方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116095172B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039798A1 (en) * 1999-03-03 2004-02-26 Ultradns, Inc. Domain name resolution system and method
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统
CN106484770A (zh) * 2016-09-09 2017-03-08 中国互联网络信息中心 一种dns增量区域数据文件的处理方法
CN106612339A (zh) * 2015-10-27 2017-05-03 中国电信股份有限公司 域名更新方法、系统和主dns服务器
CN107819795A (zh) * 2016-09-12 2018-03-20 北京金山云网络技术有限公司 一种dns主辅服务器数据同步方法、装置及系统
CN109639748A (zh) * 2017-10-09 2019-04-16 阿里巴巴集团控股有限公司 Dns服务器的缓存更新方法、装置、系统及域名系统
CN109936632A (zh) * 2019-03-07 2019-06-25 杭州又拍云科技有限公司 一种应用于dns权威服务器的cname加速方法
CN112565478A (zh) * 2020-10-21 2021-03-26 奇安信科技集团股份有限公司 域名线索备份方法、装置、系统、计算机设备和介质
CN115086275A (zh) * 2021-03-12 2022-09-20 中国电信股份有限公司 报文处理方法、装置、介质及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039798A1 (en) * 1999-03-03 2004-02-26 Ultradns, Inc. Domain name resolution system and method
CN102984286A (zh) * 2012-11-14 2013-03-20 上海牙木通讯技术有限公司 一种dns服务器的缓存更新方法、装置及系统
CN106612339A (zh) * 2015-10-27 2017-05-03 中国电信股份有限公司 域名更新方法、系统和主dns服务器
CN106484770A (zh) * 2016-09-09 2017-03-08 中国互联网络信息中心 一种dns增量区域数据文件的处理方法
CN107819795A (zh) * 2016-09-12 2018-03-20 北京金山云网络技术有限公司 一种dns主辅服务器数据同步方法、装置及系统
CN109639748A (zh) * 2017-10-09 2019-04-16 阿里巴巴集团控股有限公司 Dns服务器的缓存更新方法、装置、系统及域名系统
CN109936632A (zh) * 2019-03-07 2019-06-25 杭州又拍云科技有限公司 一种应用于dns权威服务器的cname加速方法
CN112565478A (zh) * 2020-10-21 2021-03-26 奇安信科技集团股份有限公司 域名线索备份方法、装置、系统、计算机设备和介质
CN115086275A (zh) * 2021-03-12 2022-09-20 中国电信股份有限公司 报文处理方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田杰: "一类DNS开源实现的研究与改进", 中国优秀硕士学位论文全文数据库, no. 10, 15 October 2010 (2010-10-15) *

Also Published As

Publication number Publication date
CN116095172B (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
US10148612B2 (en) Method and system for increasing speed of domain name system resolution within a computing device
WO2019165665A1 (zh) 一种域名解析方法、服务器及系统
US20190394217A1 (en) Method, apparatus and system for anti-attacking in domain name system (dns)
US20130290563A1 (en) Answer augmentation system for authoritative dns servers
CN102984286A (zh) 一种dns服务器的缓存更新方法、装置及系统
CN113452808B (zh) 域名解析方法、装置、设备及存储介质
US10375016B1 (en) Managing domain name system (DNS) record cache across multiple DNS servers using multicast communication
WO2021042673A1 (zh) Dns解析方法、权威dns服务器和dns解析系统
CN113271359A (zh) 刷新缓存数据的方法、装置、电子设备和存储介质
CN116405460A (zh) 用于内容分发网络的域名解析方法、装置、电子设备及存储介质
EP2568386A1 (en) Method for accessing cache and fictitious cache agent
CN113055503B (zh) IPv6网页链接处理方法、装置、设备及可读存储介质
CN115086275B (zh) 报文处理方法、装置、介质及电子设备
CN116095172B (zh) 缓存刷新方法、装置、设备和存储介质
CN112532766A (zh) Dns应答结果的缓存方法、dns服务器及计算机可读存储介质
CN105516383A (zh) 一种新型dns递归服务器缓存方法和系统
JPH05143435A (ja) データベースシステム
KR20150046675A (ko) Ip 네트워크를 통해 웹사이트에 접속하는 단말기 및 단말기의 웹사이트 접속 시간 단축 방법
CN111901449A (zh) 一种优化域名访问的方法及装置
CN118118459A (zh) 域名服务器的应答方法、装置、设备和存储介质
CN112968980B (zh) 一种概率确定方法、装置、存储介质及服务器
CN116405463B (zh) 域名查询方法、系统、电子设备以及非瞬时机器可读介质
JP2019068199A (ja) Dnsサーバ装置、方法、及びプログラム
US20240089339A1 (en) Caching across multiple cloud environments

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
TA01 Transfer of patent application right

Effective date of registration: 20240711

Address after: No. 602, 6th Floor, Unit 5, Building 1, No. 99 Jirui 3rd Road, Chengdu High tech Zone, Chengdu Free Trade Zone, Sichuan Province 610095

Applicant after: Yuming Technology (Chengdu) Co.,Ltd.

Country or region after: China

Address before: 101407 room 322, building 1, yard 3, xingkenan 2nd Street, Yanqi Economic Development Zone, Huairou District, Beijing

Applicant before: INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant