CN117478635A - 一种dns预缓存防止错误缓存的系统及方法 - Google Patents

一种dns预缓存防止错误缓存的系统及方法 Download PDF

Info

Publication number
CN117478635A
CN117478635A CN202311601578.8A CN202311601578A CN117478635A CN 117478635 A CN117478635 A CN 117478635A CN 202311601578 A CN202311601578 A CN 202311601578A CN 117478635 A CN117478635 A CN 117478635A
Authority
CN
China
Prior art keywords
ecs
cache
localdns
server
dns
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.)
Pending
Application number
CN202311601578.8A
Other languages
English (en)
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202311601578.8A priority Critical patent/CN117478635A/zh
Publication of CN117478635A publication Critical patent/CN117478635A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种DNS预缓存防止错误缓存的系统及方法,所述系统包括:客户端、LocalDNS、权威DNS;LocalDNS在收到客户端的用户解析请求时向客户端返回一个查询结果,如LocalDNS缓存没有对应的解析记录,则询问其他权威DNS,直到将最终查询结果响应给客户端;权威DNS服务器用于特定域名本身的管理。本发明在LocalDNS中缓存快过期时预先递归获取新的缓存,增设ECS检测模块,检测当前预取递归查询是否需添加或删除ECS,再发起预取递归查询,根据实际LocalDNS配置可交替预取普通缓存和智能ECS缓存,提高了缓存的精准性;提高了LocalDNS响应用户查询的速度,提升了用户体验感。

Description

一种DNS预缓存防止错误缓存的系统及方法
技术领域
本发明涉及云计算域名解析技术领域,具体而言,涉及一种DNS预缓存防止错误缓存的系统及方法。
背景技术
域名系统(Domain Name System,DNS)是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,提供将主机名和域名转换为IP地址的服务。RFC1035是域名系统的核心标准,规范了命名规则、数据格式、通信协议(数据单位)、部署机制等技术要素。
然而,随着互联网技术的飞速发展及各种业务场景的复杂化、多样化,RFC1035中定义的DNS消息格式、消息内容,已经不足以支撑当前DNS系统的复杂化、多样化。因此,在RFC2671中提出了一种扩展DNS机制EDNS(Extension Mechanisms for DNS),以此适应DNS系统的多样化,这也为EDNS-Client-Subnet(ECS)协议提供了支持。
ECS协议支持LocalDNS(local name server,本地DNS)传递用户的实际IP地址给权威域名服务器,该过程也称为LocalDNS携带ECS向权威服务器发起请求。权威服务器的智能DNS解析也运用ECS协议,权威服务器根据请求用户IP地址(ECS)来对同一域名作出不同解析。
LocalDNS用于递归解析域名请求,并提供缓存服务。目前LocalDNS为了降低用户等待递归查询的时间,提供了LocalDNS缓存及预取功能;其中,LocalDNS缓存分为普通缓存和智能缓存(也称为ECS缓存),普通缓存是全局缓存,智能缓存是按照客户端IP地址段分段缓存;预取功能是在启动域名服务器的时候配置一个预取时间,当某个缓存时间小于等于预取时间时,LocalDNS在后台发起预取递归查询,在此预取时间期间所有查询都会使用旧缓存响应,直到预取递归查询结束再更新缓存。
当前LocalDNS在预取普通缓存和智能缓存时,仅能预取同种类型的缓存,不能交替预取,如LocalDNS的ECS不使能,然后查询“www.ab.cn”域名,获取解析响应(此时获取的是普通缓存)后,在线修改ECS使能,在等待一段时间后(确保“www.ab.cn”缓存发生预取),然后开始第二次查询“www.ab.cn”,此时获取的响应依然是普通缓存(理论上应该获取ECS缓存)。这是由于当前LocalDNS中某域名缓存,触发预取时,LocalDNS会直接去预取普通缓存,不检测当前域名查询是否符合ECS配置,因此不预取智能ECS缓存,这样造成该域名查询一直获取的是普通缓存,无法获取智能缓存,影响到某些功能的正常使用,降低了用户体验。
发明内容
鉴于此,本发明的目的在于设计一种DNS预缓存防止错误缓存的方法,当某客户端域名查询处在缓存预取期间时,直接把缓存返回给客户端,LocalDNS等待预取查询返回后,更新缓存;同时在LocalDNS中增加ECS检测模块,在预取递归查询时首先经过该ECS检测模块,如果预取递归查询符合ECS配置,则会在该ECS检测模块中加入相应的ECS,再发起预取递归查询;如果预取递归查询不符合ECS配置,则会在该ECS检测模块中删除ECS,再发起预取递归查询,以此达到普通缓存和智能缓存交替预取的目的,避免预取错误缓存,从而保障相关功能的正常使用,提升用户体验感。
本发明提供一种DNS预缓存防止错误缓存的系统,包括:客户端、LocalDNS服务器、权威DNS服务器;所述客户端与所述LocalDNS服务器之间信号连接,所述LocalDNS服务器与所述权威DNS服务器之间信号连接;
所述客户端发起域名查询预取请求;
所述LocalDNS服务器在收到客户端的用户解析请求时,向客户端返回一个准确的查询结果,如LocalDNS服务器缓存没有对应的解析记录,则需要询问其他权威DNS服务器,直到将最终的查询结果响应给客户端用户;
LocalDNS服务器(local name server,本地DNS)比如:电脑、手机等终端配置的上网用的DNS,提供DNS缓存和递归的服务。
所述权威DNS服务器是域名注册商处所设置的DNS服务器,用于特定域名本身的管理,包括:增加、删除、修改。
例如:负责www.ab.cn解析的域名服务器。若支持智能解析,权威DNS服务器会根据用户IP返回离他最优的解析结果(一般是最近的地址)。
进一步地,所述LocalDNS服务器包括:ECS检测模块,所述ECS检测模块包括:
ECS配置子模块:用于获取LocalDNS的最新ECS配置,进而及时获取在线使能的配置;
检测当前预取请求子模块:用于检测当前预取请求是否符合ECS配置,根据最新的ECS配置处理预取请求;
添加删除ECS子模块:根据所述检测当前预取请求子模块的检测结果,做出添加或者删除ECS的处理动作。
本发明还提供一种DNS预缓存防止错误缓存的方法,应用于如上述所述的DNS预缓存防止错误缓存的系统,包括以下步骤;
S1、由客户端发起域名查询预取请求;
S2、在LocalDNS服务器增设ECS检测模块,进行使能或不使能的ECS配置,检测当前预取请求是否符合所述ECS配置,根据最新的ECS配置处理预取请求;
ECS(EDNS Client Subnet)是EDNS客户端子网。LocalDNS服务器在递归请求时若携带ECS,支持智能解析的权威DNS服务器根据ECS地址(而不是LocalDNS的出口IP)响应离该地址最近的解析结果。
ECS使能(或不使能)是在不关闭重启LocalDNS的情况下,在线开启(或不开启)ECS配置。
S3、根据实际的ECS配置交替预取普通缓存和智能ECS缓存,包括:
从普通缓存预取ECS缓存;
从智能缓存(ECS缓存)预取普通缓存;
普通缓存是LocalDNS全局缓存,对所有客户缓存一样的解析结果。普通缓存优先于智能缓存,即若普通缓存有请求域名的解析数据,则直接响应,而不会再查看智能缓存。
智能缓存(ECS缓存)是LocalDNS按请求地址段为索引的分区缓存。权威DNS服务器根据请求用户子网来对同一域名作出不同解析响应(通常是离用户子网地址最近的IP),LocalDNS根据域名和子网段存储域名解析结果。
缓存预取(prefetch)是LocalDNS在缓存过期前主动去权威DNS查询最新的解析并更新缓存。通常普通缓存预取时不携带ECS地址,而智能ECS缓存预取时会携带ECS。
S4、针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理,避免预取错误缓存。
递归:LocalDNS服务器在收到用户解析请求时,如果DNS服务器缓存没有对应的解析记录,或者在预取缓存时,需要询问其他权威DNS服务器,这个过程叫递归。
进一步地,所述S3步骤的根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否可以响应请求,如果缓存存在,则直接用缓存响应客户端。
进一步地,所述S3步骤的根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否满足预取条件,如果本地缓存满足预取条件,则ECS检测模块检测是否需要添加删除ECS;
如果需要添加ECS,则根据客户端请求添加ECS,然后由客户端发起预取递归查询;
如果需要删除ECS,则直接删除ECS,然后由客户端发起预取递归查询;等待预取递归查询结束,更新本地缓存。
进一步地,所述S3步骤的从普通缓存预取ECS缓存的方法包括以下步骤:
S311、初始化配置LocalDNS服务器不使能ECS;
S312、由客户端发起第一次查询;
S313、从LocalDNS服务器响应普通缓存;
S314、配置LocalDNS服务器使能ECS,LocalDNS服务器发生预取查询时携带ECS;
S315、从权威DNS服务器响应ECS缓存;
S316、由客户端发起第二次查询;
S317、从LocalDNS服务器响应ECS缓存。
进一步地,所述S3步骤的从智能缓存预取普通缓存的方法包括以下步骤:
S321、初始化配置LocalDNS服务器使能ECS;
S322、由客户端发起第一次查询;
S323、从LocalDNS服务器响应ECS缓存;
S324、配置LocalDNS服务器不使能ECS,LocalDNS服务器发生预取查询时不携带ECS;
S325、从权威DNS服务器响应普通缓存;
S326、由客户端发起第二次查询;
S327、从LocalDNS服务器响应普通缓存。
进一步地,所述S4步骤的针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理的方法包括以下步骤:
S41、初始化配置LocalDNS服务器和权威DNS服务器都使能ECS;
S42、由客户端发起第一次查询;
S43、由LocalDNS服务器响应从权威DNS服务器递归查询到的ECS结果,并存入本地;
S44、由LocalDNS服务器响应客户端ECS缓存;
S45、配置权威DNS服务器不使能ECS(模拟权威DNS响应偶尔出错场景),LocalDNS服务器预取缓存时携带ECS;权威DNS服务器响应普通缓存;
S46、由客户端发起第二次查询;
S47、由LocalDNS服务器响应普通缓存;
S48、从权威DNS服务器使能ECS(模拟权威DNS恢复场景),LocalDNS预取缓存时携带ECS;权威DNS服务器响应ECS缓存3.3.3.3;
S49、由客户端发起第三次查询;
S410、从LocalDNS服务器响应ECS缓存。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的DNS预缓存防止错误缓存的方法的步骤。
本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的DNS预缓存防止错误缓存的方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明DNS预缓存防止错误缓存的方法通过当LocalDNS中缓存快过期时预先递归获取新的缓存,增设ECS检测模块,检测当前预取递归查询是否需添加或删除ECS,再发起预取递归查询,以获取普通缓存或者智能缓存;根据实际LocalDNS配置可交替预取普通缓存和智能ECS缓存,有效提高了缓存的精准性,保障了相关功能的正常使用;同时提高了LocalDNS响应用户查询的速度,提升了用户体验感。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
在附图中:
图1为本发明实施例普通缓存和智能缓存交替预取方法的框架图;
图2为本发明实施例ECS检测模块的组件构成示意图;
图3为从普通缓存预取ECS缓存的本发明方法和现有方法的对比图;
图4为从EC缓存预取普通缓存的本发明方法和现有方法的对比图;
图5为针对权威DNS的ECS偶尔出错进行处理的本发明方法和现有方法的对比图;
图6为本发明实施例DNS预缓存交替预取的流程示意图;
图7为本发明实施例计算机设备的构成示意图;
图8为本发明一种DNS预缓存防止错误缓存的方法流程图;
图9为本发明从普通缓存预取ECS缓存的方法流程图;
图10为本发明从ECS缓存预取普通缓存的方法流程图;
图11为本发明针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理的方法流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的系统和产品的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本发明实施例作进一步详细说明。
本发明实施例提供一种DNS预缓存防止错误缓存的系统,参见图1所示,包括:客户端、LocalDNS服务器、权威DNS服务器;所述客户端与所述LocalDNS服务器之间信号连接,所述LocalDNS服务器与所述权威DNS服务器之间信号连接;
所述客户端发起域名查询预取请求;
所述LocalDNS服务器在收到客户端的用户解析请求时,向客户端返回一个准确的查询结果,如LocalDNS服务器缓存没有对应的解析记录,则需要询问其他权威DNS服务器,直到将最终的查询结果响应给客户端用户;
LocalDNS服务器(local name server,本地DNS)比如:电脑、手机等终端配置的上网用的DNS,提供DNS缓存和递归的服务。
所述权威DNS服务器是域名注册商处所设置的DNS服务器,用于特定域名本身的管理,包括:增加、删除、修改。
例如:负责www.ab.cn解析的域名服务器。若支持智能解析,权威DNS服务器会根据用户IP返回离他最优的解析结果(一般是最近的地址)。
所述LocalDNS服务器包括:ECS检测模块,参见图2所示,所述ECS检测模块包括:
ECS配置子模块:用于获取LocalDNS的最新ECS配置,进而及时获取在线使能的配置;
检测当前预取请求子模块:用于检测当前预取请求是否符合ECS配置,根据最新的ECS配置处理预取请求;
添加删除ECS子模块:根据所述检测当前预取请求子模块的检测结果,做出添加或者删除ECS的处理动作。
本发明实施例还提供一种DNS预缓存防止错误缓存的方法,应用于如上述所述的DNS预缓存防止错误缓存的系统,参见图8所示,包括以下步骤;
S1、由客户端发起域名查询预取请求;
S2、在LocalDNS服务器增设ECS检测模块,进行使能或不使能的ECS配置,检测当前预取请求是否符合所述ECS配置,根据最新的ECS配置处理预取请求;
ECS(EDNS Client Subnet)是EDNS客户端子网。LocalDNS服务器在递归请求时若携带ECS,支持智能解析的权威DNS服务器根据ECS地址(而不是LocalDNS的出口IP)响应离该地址最近的解析结果。
ECS使能(或不使能)是在不关闭重启LocalDNS的情况下,在线开启(或不开启)ECS配置。
S3、根据实际的ECS配置交替预取普通缓存和智能ECS缓存,包括:
从普通缓存预取ECS缓存;
从智能缓存(ECS缓存)预取普通缓存;
普通缓存是LocalDNS全局缓存,对所有客户缓存一样的解析结果。普通缓存优先于智能缓存,即若普通缓存有请求域名的解析数据,则直接响应,而不会再查看智能缓存。
智能缓存(ECS缓存)是LocalDNS按请求地址段为索引的分区缓存。权威DNS服务器根据请求用户子网来对同一域名作出不同解析响应(通常是离用户子网地址最近的IP),LocalDNS根据域名和子网段存储域名解析结果。
缓存预取(prefetch)是LocalDNS在缓存过期前主动去权威DNS查询最新的解析并更新缓存。通常普通缓存预取时不携带ECS地址,而智能ECS缓存预取时会携带ECS。
所述根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否可以响应请求,如果缓存存在,则直接用缓存响应客户端。
所述根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否满足预取条件,如果本地缓存满足预取条件,则ECS检测模块检测是否需要添加删除ECS;
如果需要添加ECS,则根据客户端请求添加ECS,然后由客户端发起预取递归查询;
如果需要删除ECS,则直接删除ECS,然后由客户端发起预取递归查询;等待预取递归查询结束,更新本地缓存。
所述从普通缓存预取ECS缓存的方法,参见图9所示,包括以下步骤:
S311、初始化配置LocalDNS服务器不使能ECS;
S312、由客户端发起第一次查询;
S313、从LocalDNS服务器响应普通缓存;
S314、配置LocalDNS服务器使能ECS,LocalDNS服务器发生预取查询时携带ECS;
S315、从权威DNS服务器响应ECS缓存;
S316、由客户端发起第二次查询;
S317、从LocalDNS服务器响应ECS缓存。
所述从智能缓存预取普通缓存的方法,参见图10所示,包括以下步骤:
S321、初始化配置LocalDNS服务器使能ECS;
S322、由客户端发起第一次查询;
S323、从LocalDNS服务器响应ECS缓存;
S324、配置LocalDNS服务器不使能ECS,LocalDNS服务器发生预取查询时不携带ECS;
S325、从权威DNS服务器响应普通缓存;
S326、由客户端发起第二次查询;
S327、从LocalDNS服务器响应普通缓存。
S4、针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理,避免预取错误缓存。
递归:LocalDNS服务器在收到用户解析请求时,如果DNS服务器缓存没有对应的解析记录,或者在预取缓存时,需要询问其他权威DNS服务器,这个过程叫递归。
所述针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理的方法,参见图11所示,包括以下步骤:
S41、初始化配置LocalDNS服务器和权威DNS服务器都使能ECS;
S42、由客户端发起第一次查询;
S43、由LocalDNS服务器响应从权威DNS服务器递归查询到的ECS结果,并存入本地;
S44、由LocalDNS服务器响应客户端ECS缓存;
S45、配置权威DNS服务器不使能ECS(模拟权威DNS响应偶尔出错场景),LocalDNS服务器预取缓存时携带ECS;权威DNS服务器响应普通缓存;
S46、由客户端发起第二次查询;
S47、由LocalDNS服务器响应普通缓存;
S48、从权威DNS服务器使能ECS(模拟权威DNS恢复场景),LocalDNS预取缓存时携带ECS;权威DNS服务器响应ECS缓存3.3.3.3;
S49、由客户端发起第三次查询;
S410、从LocalDNS服务器响应ECS缓存。
应用例
参见图3所示的从普通缓存预取ECS缓存的应用场景下,本发明提出方法的流程如下:
0)初始化前提LocalDNS不使能ECS;
1)客户端发起“www.ab.cn”的第一次查询;
2)LocalDNS响应普通缓存2.2.2.2;
3)LocalDNS使能ECS;
4)LocalDNS发生预取查询时携带ECS,subnet=1.1.1.1;
5)权威响应ECS缓存3.3.3.3;
6)客户端发起“www.ab.cn”的第二次查询;
7)LocalDNS响应ECS缓存3.3.3.3;
参见图3所示的从普通缓存预取ECS缓存的应用场景下,现有技术的流程如下:
0)初始化前提LocalDNS不使能ECS;
1)客户端发起“www.ab.cn”的第一次查询;
2)LocalDNS响应普通缓存2.2.2.2;
3)LocalDNS使能ECS;
4)LocalDNS发生预取查询不携带ECS;
5)权威响应普通缓存2.2.2.2;
6)客户端发起“www.ab.cn”的第二次查询;
7)LocalDNS响应普通缓存2.2.2.2。
参见图4所示的从ECS缓存预取普通缓存的应用场景下,本发明的方法流程如下:
0)初始化前提LocalDNS使能ECS;
1)客户端发起“www.ab.cn”的第一次查询;
2)LocalDNS响应ECS缓存3.3.3.3;
3)LocalDNS不使能ECS;
4)LocalDNS发生预取查询时不携带ECS;
5)权威响应普通缓存2.2.2.2;
6)客户端发起“www.ab.cn”的第二次查询;
7)LocalDNS响应普通缓存2.2.2.2;
参见图4所示的从ECS缓存预取普通缓存的应用场景下,现有技术的流程如下:
0)初始化前提LocalDNS使能ECS;
1)客户端发起“www.ab.cn”的第一次查询;
2)LocalDNS响应ECS缓存3.3.3.3;
3)LocalDNS不使能ECS;
4)LocalDNS发生预取查询时携带ECS,subnet=1.1.1.1;
5)权威响应ECS缓存3.3.3.3;
6)客户端发起“www.ab.cn”的第二次查询;
7)LocalDNS响应ECS缓存3.3.3.3;
参见图5所示的针对权威DNS的ECS偶尔出错进行处理的应用场景下,本发明的方法流程如下;
0)初始化前提LocalDNS和权威DNS服务器都使能ECS;
1)客户端发起“www.ab.cn”第一次查询;
2)LocalDNS响应去权威DNS递归查询到ECS结果并存入本地;
3)LocalDNS响应客户端ECS缓存3.3.3.3;
4)权威DNS服务器不使能ECS(模拟权威DNS响应偶尔出错场景);
5)LocalDNS预取缓存时,携带ECS,subnet=1.1.1.1,权威响应普通缓存2.2.2.2;
6)客户端发起“www.ab.cn”第二次查询;
7)LocalDNS响应普通缓存2.2.2.2;
8)权威DNS服务器使能ECS(模拟权威DNS恢复场景);
9)LocalDNS预取缓存时,携带ECS,subnet=1.1.1.1,权威响应ECS缓存3.3.3.3;
10)客户端发起“www.ab.cn”第三次查询;
11)LocalDNS响应ECS缓存3.3.3.3;
参见图6所示的针对权威DNS的ECS偶尔出错进行处理的应用场景下,现有技术的流程如下;
0)初始化前提LocalDNS和权威DNS服务器都使能ECS;
1)客户端发起“www.ab.cn”第一次查询;
2)LocalDNS响应去权威DNS递归查询到ECS结果并存入本地;
3)LocalDNS响应客户端ECS缓存3.3.3.3;
4)权威DNS服务器不使能ECS(模拟权威DNS响应偶尔出错场景);
5)LocalDNS预取缓存时,携带ECS,subnet=1.1.1.1,权威响应普通缓存2.2.2.2;
6)客户端发起“www.ab.cn”第二次查询;
7)LocalDNS响应普通缓存2.2.2.2;
8)权威DNS服务器使能ECS(模拟权威DNS恢复场景);
9)LocalDNS预取缓存时,不携带ECS,权威响应普通缓存2.2.2.2;
10)客户端发起“www.ab.cn”第三次查询;
11)LocalDNS响应普通缓存2.2.2.2。
本实施例DNS预缓存防止错误缓存的方法通过当LocalDNS中缓存快过期时预先递归获取新的缓存,增设ECS检测模块,检测当前预取递归查询是否需添加或删除ECS,再发起预取递归查询,以获取普通缓存或者智能缓存;根据实际LocalDNS配置可交替预取普通缓存和智能ECS缓存,有效提高了缓存的精准性,保障了相关功能的正常使用;同时提高了LocalDNS响应用户查询的速度,提升了用户体验感。
本发明实施例还提供一种计算机设备,图7是本发明实施例提供的一种计算机设备的结构示意图;参见附图图7所示,该计算机设备包括:输入系统23、输出系统24、存储器22和处理器21;所述存储器22,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器21执行,使得所述一个或多个处理器21实现如上述实施例提供的DNS预缓存防止错误缓存的方法;其中输入系统23、输出系统24、存储器22和处理器21可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器22作为一种计算设备可读写存储介质,可用于存储软件程序、计算机可执行程序,如本发明实施例所述的DNS预缓存防止错误缓存的方法对应的程序指令;存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等;此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件;在一些实例中,存储器22可进一步包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统23可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入;输出系统24可包括显示屏等显示设备。
处理器21通过运行存储在存储器22中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的DNS预缓存防止错误缓存的方法。
上述提供的计算机设备可用于执行上述实施例提供的DNS预缓存防止错误缓存的方法,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的DNS预缓存防止错误缓存的方法,存储介质是任何的各种类型的存储器设备或存储设备,存储介质包括:安装介质,例如CD-ROM、软盘或磁带系统;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等;存储介质可以还包括其它类型的存储器或其组合;另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统;第二计算机系统可以提供程序指令给第一计算机用于执行。存储介质包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上实施例所述的DNS预缓存防止错误缓存的方法,还可以执行本发明任意实施例所提供的DNS预缓存防止错误缓存的方法中的相关操作。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种DNS预缓存防止错误缓存的系统,其特征在于,包括:客户端、LocalDNS服务器、权威DNS服务器;所述客户端与所述LocalDNS服务器之间信号连接,所述LocalDNS服务器与所述权威DNS服务器之间信号连接;
所述客户端发起域名查询预取请求;
所述LocalDNS服务器在收到客户端的用户解析请求时,向客户端返回一个准确的查询结果,如LocalDNS服务器缓存没有对应的解析记录,则需要询问其他权威DNS服务器,直到将最终的查询结果响应给客户端用户;
所述权威DNS服务器用于特定域名本身的管理,包括:增加、删除、修改。
2.根据权利要求1所述的DNS预缓存防止错误缓存的系统,其特征在于,所述LocalDNS服务器包括:ECS检测模块,所述ECS检测模块包括:
ECS配置子模块:用于获取LocalDNS的最新ECS配置,进而及时获取在线使能的配置;
检测当前预取请求子模块:用于检测当前预取请求是否符合ECS配置,根据最新的ECS配置处理预取请求;
添加删除ECS子模块:根据所述检测当前预取请求子模块的检测结果,做出添加或者删除ECS的处理动作。
3.一种DNS预缓存防止错误缓存的方法,应用于如权利要求1或2所述的DNS预缓存防止错误缓存的系统,其特征在于,包括以下步骤;
S1、由客户端发起域名查询预取请求;
S2、在LocalDNS服务器增设ECS检测模块,进行使能或不使能的ECS配置,检测当前预取请求是否符合所述ECS配置,根据最新的ECS配置处理预取请求;
S3、根据实际的ECS配置交替预取普通缓存和智能ECS缓存,包括:
从普通缓存预取ECS缓存;
从智能缓存预取普通缓存;
S4、针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理,避免预取错误缓存。
4.根据权利要求3所述的DNS预缓存防止错误缓存的方法,其特征在于,所述S3步骤的根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否可以响应请求,如果缓存存在,则直接用缓存响应客户端。
5.根据权利要求3所述的DNS预缓存防止错误缓存的方法,其特征在于,所述S3步骤的根据实际的ECS配置交替预取普通缓存和智能ECS缓存的方法包括:
由LocalDNS服务器检查本地缓存是否满足预取条件,如果本地缓存满足预取条件,则ECS检测模块检测是否需要添加删除ECS;
如果需要添加ECS,则根据客户端请求添加ECS,然后由客户端发起预取递归查询;
如果需要删除ECS,则直接删除ECS,然后由客户端发起预取递归查询;等待预取递归查询结束,更新本地缓存。
6.根据权利要求3所述的DNS预缓存防止错误缓存的方法,其特征在于,所述S3步骤的从普通缓存预取ECS缓存的方法包括以下步骤:
S311、初始化配置LocalDNS服务器不使能ECS;
S312、由客户端发起第一次查询;
S313、从LocalDNS服务器响应普通缓存;
S314、配置LocalDNS服务器使能ECS,LocalDNS服务器发生预取查询时携带ECS;
S315、从权威DNS服务器响应ECS缓存;
S316、由客户端发起第二次查询;
S317、从LocalDNS服务器响应ECS缓存。
7.根据权利要求3所述的DNS预缓存防止错误缓存的方法,其特征在于,所述S3步骤的从智能缓存预取普通缓存的方法包括以下步骤:
S321、初始化配置LocalDNS服务器使能ECS;
S322、由客户端发起第一次查询;
S323、从LocalDNS服务器响应ECS缓存;
S324、配置LocalDNS服务器不使能ECS,LocalDNS服务器发生预取查询时不携带ECS;
S325、从权威DNS服务器响应普通缓存;
S326、由客户端发起第二次查询;
S327、从LocalDNS服务器响应普通缓存。
8.根据权利要求3所述的DNS预缓存防止错误缓存的方法,其特征在于,所述S4步骤的针对LocalDNS的ECS使能、权威DNS的ECS使能偶尔出错现象,做出添加或者删除ECS的处理的方法包括以下步骤:
S41、初始化配置LocalDNS服务器和权威DNS服务器都使能ECS;
S42、由客户端发起第一次查询;
S43、由LocalDNS服务器响应从权威DNS服务器递归查询到的ECS结果,并存入本地;
S44、由LocalDNS服务器响应客户端ECS缓存;
S45、配置权威DNS服务器不使能ECS,LocalDNS服务器预取缓存时携带ECS;权威DNS服务器响应普通缓存;
S46、由客户端发起第二次查询;
S47、由LocalDNS服务器响应普通缓存;
S48、从权威DNS服务器使能ECS,LocalDNS预取缓存时携带ECS;权威DNS服务器响应ECS缓存3.3.3.3;
S49、由客户端发起第三次查询;
S410、从LocalDNS服务器响应ECS缓存。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求3-8任一项所述的DNS预缓存防止错误缓存的方法的步骤。
10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求3-8任一项所述的DNS预缓存防止错误缓存的方法的步骤。
CN202311601578.8A 2023-11-28 2023-11-28 一种dns预缓存防止错误缓存的系统及方法 Pending CN117478635A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311601578.8A CN117478635A (zh) 2023-11-28 2023-11-28 一种dns预缓存防止错误缓存的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311601578.8A CN117478635A (zh) 2023-11-28 2023-11-28 一种dns预缓存防止错误缓存的系统及方法

Publications (1)

Publication Number Publication Date
CN117478635A true CN117478635A (zh) 2024-01-30

Family

ID=89632987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311601578.8A Pending CN117478635A (zh) 2023-11-28 2023-11-28 一种dns预缓存防止错误缓存的系统及方法

Country Status (1)

Country Link
CN (1) CN117478635A (zh)

Similar Documents

Publication Publication Date Title
JP4391943B2 (ja) 分散キャッシュ内でデータを保持するための方法、システム、およびプログラム
US11044262B2 (en) Method, apparatus and system for anti-attacking in domain name system (DNS)
US7865618B2 (en) Defeating cache resistant domain name systems
US7827280B2 (en) System and method for domain name filtering through the domain name system
US8799576B1 (en) System for caching data
US20120185609A1 (en) Presenting multiple possible selectable domain names from a url entry
US20050240574A1 (en) Pre-fetching resources based on a resource lookup query
JP2001524778A (ja) エンハンスドドメインネームサービス
JP2000512044A (ja) インターネット・ファイル・システム
US7480657B1 (en) Caching information for multiple service applications
CN113868238A (zh) 缓存刷新方法、相关设备及可读存储介质
JPH05143435A (ja) データベースシステム
CN117478635A (zh) 一种dns预缓存防止错误缓存的系统及方法
CN114301872B (zh) 基于域名的访问方法及装置、电子设备、存储介质
JPH1040180A (ja) 情報中継装置
CN111901449A (zh) 一种优化域名访问的方法及装置
US9172739B2 (en) Anticipating domains used to load a web page
US8250177B2 (en) Uncached data control in server-cached page
CN113704592B (zh) 网络请求的发送方法、装置、电子设备及存储介质
CN116436901B (zh) Dns域名更新的时效性检测方法、装置及系统
CN112040018B (zh) 一种双向nat转换方法、装置、电子设备和存储介质
CN116095172B (zh) 缓存刷新方法、装置、设备和存储介质
US20240089339A1 (en) Caching across multiple cloud environments
CN112202854B (zh) 一种联调方法、装置、设备及介质
JP2004126844A (ja) キャッシュメモリー制御機能付きサーバコンピュータ装置

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