DNS解析处理方法、装置、解析服务器以及存储介质与流程

文档序号:23392128发布日期:2020-12-22 13:59阅读:96来源:国知局
DNS解析处理方法、装置、解析服务器以及存储介质与流程

本公开涉及域名解析技术领域,尤其涉及一种dns解析处理方法、装置、解析服务器以及存储介质。



背景技术:

dns是网络重要的一环,用户需要通过dns的域名解析,才能进行网站的访问,dns解析出现重大故障将导致网络和业务瘫痪,例如,当出现网络故障、根节点、顶级域故障、或者流量攻击等情况时,大量域名会逐一失效,会导致严重程度的互联网访问中断。对dns解析的备份容灾是研究应用的重点,但面对如果根节点、顶级域节点等出现的故障,仍难以保障用户的正常互联网访问。



技术实现要素:

有鉴于此,本公开要解决的一个技术问题是提供一种dns解析处理方法、装置、解析服务器以及存储介质。

根据本公开的一个方面,提供一种dns解析处理方法,包括:通过查询域名服务系统获得与接收到的dns查询请求相对应的解析结果;将所述解析结果以及解析结果副本分别缓存在对外服务缓存区和解析副本缓存区内;将所述解析结果副本的缓存有效时长修改为预设的长期有效时长;使用缓存在对外服务缓存区内的所述解析结果提供域名解析服务;在判断所述域名服务系统出现故障时,则获得所述解析结果副本并缓存在所述对外服务缓存区内,使用缓存在所述对外服务缓存区内的所述解析结果副本提供域名解析服务。

可选地,如果根据所述解析结果的缓存有效时长确定当前时间与此解析结果的失效时间之间的时长达到预设的时长阈值时,通过查询所述域名服务系统获得与所述解析结果相对应的新解析结果;使用新解析结果、与所述新解析结果相对应的新的解析结果副本替换缓存在所述对外服务缓存区内的原有解析结果、缓存在所述解析副本缓存区内的原有解析结果副本;将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

可选地,在判断所述域名服务系统的故障恢复时,将缓存在所述对外服务缓存区内的解析结果副本的缓存有效时长设置为所述解析结果的缓存有效时长;或者,删除缓存在所述对外服务缓存区内的解析结果副本;通过查询所述域名服务系统获得与此解析结果副本相对应的新解析结果;将此新解析结果缓存在所述对外服务缓存区;使用与此新解析结果相对应的新的解析结果副本替换缓存在所述解析副本缓存区内的原有解析结果副本,将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

可选地,定时向所述域名服务系统发送查询请求;基于所述域名服务系统返回的响应信息判断所述域名服务系统是否出现故障、或者故障恢复。

可选地,所述使用缓存在对外服务缓存区内的所述解析结果提供域名解析服务包括:如果在所述对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果、并且基于此解析结果的缓存有效时长确定此解析结果为有效状态,则基于此解析结果生成dns应答报文。

可选地,所述使用缓存在所述对外服务缓存区内的所述解析结果副本提供域名解析服务包括:如果在所述对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果副本,则基于此解析结果副本生成dns应答报文。

可选地,设置与所述解析结果相对应的第一生命周期ttl信息,其中,使用所述第一ttl信息用于表征所述解析结果的缓存有效时长;设置与所述解析结果副本相对应的第二生命周期ttl信息,其中,使用所述第二ttl信息用于表征所述解析结果副本的缓存有效时长。

可选地,所述将所述解析结果副本的缓存有效时长修改为预设的长期有效时长包括:将所述第二ttl信息的值设置为与所述长期有效时长相对应的值。

可选地,所述dns查询请求包括:域名信息;所述解析结果包括:与dns查询请求相对应的ip地址;所述域名服务系统包括:根域名的dns权威服务器、顶级域的dns权威服务器。

根据本公开的另一方面,提供一种dns解析处理装置,包括:解析结果获得模块,用于通过查询域名服务系统获得与接收到的dns查询请求相对应的解析结果;解析结果处理模块,用于将所述解析结果以及解析结果副本分别缓存在对外服务缓存区和解析副本缓存区内;解析副本处理模块,用于将所述解析结果副本的缓存有效时长修改为预设的长期有效时长;解析服务提供模块,用于使用缓存在对外服务缓存区内的所述解析结果提供域名解析服务;解析故障处理模块,用于在判断所述域名服务系统出现故障时,则获得所述解析结果副本并缓存在所述对外服务缓存区内,使用缓存在所述对外服务缓存区内的所述解析结果副本提供域名解析服务。

可选地,解析结果更新模块,用于如果根据所述解析结果的缓存有效时长确定当前时间与此解析结果的失效时间之间的时长达到预设的时长阈值时,通过查询所述域名服务系统获得与所述解析结果相对应的新解析结果;解析结果替换模块,用于使用新解析结果、与所述新解析结果相对应的新的解析结果副本替换缓存在所述对外服务缓存区内的原有解析结果、缓存在所述解析副本缓存区内的原有解析结果副本;将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

可选地,故障恢复处理模块,用于在判断所述域名服务系统的故障恢复时,将缓存在所述对外服务缓存区内的解析结果副本的缓存有效时长设置为所述解析结果的缓存有效时长;或者,删除缓存在所述对外服务缓存区内的解析结果副本;通过查询所述域名服务系统获得与此解析结果副本相对应的新解析结果;将此新解析结果缓存在所述对外服务缓存区;使用与此新解析结果相对应的新的解析结果副本替换缓存在所述解析副本缓存区内的原有解析结果副本,将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

可选地,解析故障处理模块,用于定时向所述域名服务系统发送查询请求;基于所述域名服务系统返回的响应信息判断所述域名服务系统是否出现故障、或者故障恢复。

可选地,所述解析服务提供模块,用于如果在所述对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果、并且基于此解析结果的缓存有效时长确定此解析结果为有效状态,则基于此解析结果生成dns应答报文。

可选地,所述解析故障处理模块,用于如果在所述对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果副本,则基于此解析结果副本生成dns应答报文。

可选地,所述解析结果处理模块,用于设置与所述解析结果相对应的第一生命周期ttl信息,其中,使用所述第一ttl信息用于表征所述解析结果的缓存有效时长;设置与所述解析结果副本相对应的第二生命周期ttl信息,其中,使用所述第二ttl信息用于表征所述解析结果副本的缓存有效时长。

可选地,所述解析副本处理模块,用于将所述第二ttl信息的值设置为与所述长期有效时长相对应的值。

根据本公开的又一方面,提供一种dns解析处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。

根据本公开的又一方面,提供一种dns解析服务器,包括如上所述的dns解析处理装置。

根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。

本公开的dns解析处理方法、装置、解析服务器以及存储介质,将dns解析结果以及解析结果副本分别缓存在对外服务缓存区和解析副本缓存区内,将解析结果副本的缓存有效时长修改为预设的长期有效时长;在域名服务系统出现故障时,则获得解析结果副本并缓存在对外服务缓存区内,使用缓存在对外服务缓存区内的解析结果副本提供域名解析服务;可以保证全网的域名解析结果以及副本自动存储更新,在域名体系出现故障时能够继续提供域名解析服务。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本公开的dns解析处理方法的一个实施例的流程示意图;

图2为根据本公开的dns解析处理方法的一个实施例中的更新解析结果的流程示意图;

图3为根据本公开的dns解析处理方法的一个实施例中的故障恢复处理的流程示意图;

图4为根据本公开的dns解析处理装置的一个实施例的模块示意图;

图5为根据本公开的dns解析处理装置的另一个实施例的模块示意图;

图6为根据本公开的dns解析处理装置的又一个实施例的模块示意图。

具体实施方式

下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。下面结合各个图和实施例对本公开的技术方案进行多方面的描述。

dns(domainnamesystem,域名系统)是因特网上作为域名和ip地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的ip数串。按照功能不同,dns解析服务中两个重要的服务主体是权威dns服务和递归dns服务。权威dns是经过授权对域名进行解析的服务器,所有域名的原始dns信息都保存在权威服务器上。递归dns是绝大部分互联网用户查询域名时实际访问的dns服务器,它负责接受用户对任意域名查询,并向相应的权威服务器发送迭代请求,将最终结果返回给用户。

图1为根据本公开的dns解析处理方法的一个实施例的流程示意图,如图1所示:

步骤101,通过查询域名服务系统获得与接收到的dns查询请求相对应的解析结果。

dns查询请求包括域名信息等;解析结果包括与dns查询请求相对应的ip地址等;域名服务系统包括根域名的dns权威服务器、顶级域的dns权威服务器等。

步骤102,将解析结果以及解析结果副本分别缓存在对外服务缓存区和解析副本缓存区内。

步骤103,将解析结果副本的缓存有效时长修改为预设的长期有效时长。

可以在在dns解析服务器的硬盘上设置解析副本缓存区,用于缓存解析结果副本,也可以在dns解析服务器的硬盘上生成副本文件,作为解析结果备份的副本文件。将通过查询获得的每条解析结果以及解析结果副本分别存储在对外服务缓存区、解析副本缓存区中,并且将每条解析结果副本的缓存有效时长修改为预设的长期有效时长,长期有效时长可以为永久有效等。

步骤104,使用缓存在对外服务缓存区内的解析结果提供域名解析服务。

步骤105,在判断域名服务系统出现故障时,则获得解析结果副本并缓存在对外服务缓存区内,使用缓存在对外服务缓存区内的解析结果副本提供域名解析服务。

可以对解析结果设置存活时间(timetolive,ttl),并在缓存过期时进行缓存更新,在缓存过期之前如果还有其他请求查询相同域名,则直接将对外服务缓存区内的解析结果返回给请求方,缓解了dns系统的负担和服务延时,ttl可以为3600秒等。

设置与解析结果相对应的第一生命周期ttl信息,使用第一ttl信息用于表征解析结果的缓存有效时长。设置与解析结果副本相对应的第二生命周期ttl信息,使用第二ttl信息用于表征解析结果副本的缓存有效时长。将第二ttl信息的值设置为与长期有效时长相对应的值,例如可以将第二ttl信息的值设置为永久有效。

图2为根据本公开的dns解析处理方法的一个实施例中的更新解析结果的流程示意图,如图2所示:

步骤201,如果根据解析结果的缓存有效时长确定当前时间与此解析结果的失效时间之间的时长达到预设的时长阈值时,通过查询域名服务系统获得与解析结果相对应的新解析结果,时长阈值可以为3、5秒等。

步骤202,使用新解析结果、与新解析结果相对应的新的解析结果副本替换缓存在对外服务缓存区内的原有解析结果、缓存在解析副本缓存区内的原有解析结果副本。

步骤203,将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

在正常情况下,从对外服务缓存区内获得解析结果为用户提供服务,对外服务缓存区内的每条解析结果的ttl会按设定值自动过期,在过期前n秒重新向权威域名服务器进行递归查询,获得解析结果后根据解析结果在对外服务缓存区内的原有解析结果、在解析副本缓存区内的原有解析结果副本进行刷新,但对替换后的解析结果、解析结果副本的ttl按不同的方式处理。

在一个实施例中,使用缓存在对外服务缓存区内的解析结果提供域名解析服务可以有多种方法。例如,如果在对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果、并且基于此解析结果的缓存有效时长确定此解析结果为有效状态,则基于此解析结果生成dns应答报文。

使用缓存在对外服务缓存区内的解析结果副本提供域名解析服务可以有多种方法。例如,如果在对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果副本,则基于此解析结果副本生成dns应答报文。

定时自动向根、各顶级域服务器等进行查询,判断服务器是否正常运作;如果判断突发根节点、顶级域故障等,则将硬盘中的解析副本缓存区内中的解析结果副本读入对外服务缓存区,继续为用户提供正常的域名解析服务。在域名服务系统中的根、顶级域服务器等恢复正常后,恢复原有运行状态。

在一个实施例中,在判断域名服务系统的故障恢复时,将缓存在对外服务缓存区内的解析结果副本的缓存有效时长设置为解析结果的缓存有效时长。或者,图3为根据本公开的dns解析处理方法的一个实施例中的故障恢复处理的流程示意图,如图3所示:

步骤301,删除缓存在对外服务缓存区内的解析结果副本。

步骤302,通过查询域名服务系统获得与此解析结果副本相对应的新解析结果。

步骤303,将此新解析结果缓存在对外服务缓存区。

步骤304,使用与此新解析结果相对应的新的解析结果副本替换缓存在解析副本缓存区内的原有解析结果副本,将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

定时向域名服务系统发送查询请求,基于域名服务系统返回的响应信息判断域名服务系统是否出现故障、或者故障恢复。例如,查询请求可以为ping报文等,如果没有接收到响应信息,则确定域名服务系统出现故障。可以定时(例如每分钟)向根、各顶级域名服务器发送查询请求,如果根、或某顶级域(例如a.com)域名服务器出现故障、多次无正常回应,则判断域名服务系统出现故障。

dns解析服务器定时向根服务器、各顶级域服务器等进行查询,以确定重要的域名服务器处于正常状态。如果出现网络故障、根节点、顶级域故障、或者流量攻击等使得相关重要域名服务器瘫痪等情况,则多个重要解析结果乃至全网解析结果可能会短时间内失效。在此情况下,dns解析服务器无法得到根服务器、顶级域服务器的正常响应,则将硬盘中的解析副本缓存区内中的解析结果副本读入对外服务缓存区,继续为用户提供正常服务,用于解析结果副本ttl为永远有效,从而可以规避域名体系发生故障的情况下用户无法服务互联网的重大事故。

在一个实施例中,如图4所示,本公开提供一种dns解析处理装置40,包括:解析结果获得模块41、解析结果处理模块42、解析副本处理模块43、解析服务提供模块44和解析故障处理模块45。

解析结果获得模块41通过查询域名服务系统获得与接收到的dns查询请求相对应的解析结果。解析结果处理模块42将与解析结果以及解析结果分别缓存在对外服务缓存区和解析副本缓存区内。解析副本处理模块43将解析结果副本的缓存有效时长修改为预设的长期有效时长。

解析服务提供模块44使用缓存在对外服务缓存区内的解析结果提供域名解析服务。解析故障处理模块45在判断域名服务系统出现故障时,则获得解析结果副本并缓存在对外服务缓存区内,使用缓存在对外服务缓存区内的解析结果副本提供域名解析服务。

解析结果处理模块42设置与解析结果相对应的第一生命周期ttl信息,其中,使用第一ttl信息用于表征解析结果的缓存有效时长。解析结果处理模块42设置与解析结果副本相对应的第二生命周期ttl信息,其中,使用第二ttl信息用于表征解析结果副本的缓存有效时长。解析副本处理模块43将第二ttl信息的值设置为与长期有效时长相对应的值。

在一个实施例中,如图5所示,解析结果更新模块46如果根据解析结果的缓存有效时长确定当前时间与此解析结果的失效时间之间的时长达到预设的时长阈值时,通过查询域名服务系统获得与解析结果相对应的新解析结果。解析结果替换模块47使用新解析结果、与新解析结果相对应的新的解析结果副本替换缓存在对外服务缓存区内的原有解析结果、缓存在解析副本缓存区内的原有解析结果副本。解析结果替换模块47将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

故障恢复处理模块48在判断域名服务系统的故障恢复时,将缓存在对外服务缓存区内的解析结果副本的缓存有效时长设置为解析结果的缓存有效时长;或者,故障恢复处理模块48删除缓存在对外服务缓存区内的解析结果副本,通过查询域名服务系统获得与此解析结果副本相对应的新解析结果,将此新解析结果缓存在对外服务缓存区。故障恢复处理模块48使用与此新解析结果相对应的新的解析结果副本替换缓存在解析副本缓存区内的原有解析结果副本,将此替换后的解析结果副本的缓存有效时长修改为预设的长期有效时长。

在一个实施例中,解析故障处理模块42定时向域名服务系统发送查询请求,基于域名服务系统返回的响应信息判断域名服务系统是否出现故障、或者故障恢复。解析服务提供模块44如果在对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果、并且基于此解析结果的缓存有效时长确定此解析结果为有效状态,则基于此解析结果生成dns应答报文。解析故障处理模块45如果在对外服务缓存区内缓存有与接收到的dns查询请求相对应的解析结果副本,则基于此解析结果副本生成dns应答报文。

图6为根据本公开的dns解析处理装置的又一个实施例的模块示意图。如图6所示,该装置可包括存储器61、处理器62、通信接口63以及总线64。存储器61用于存储指令,处理器62耦合到存储器61,处理器62被配置为基于存储器61存储的指令执行实现上述的dns解析处理方法。

存储器61可以为高速ram存储器、非易失性存储器(non-volatilememory)等,存储器61也可以是存储器阵列。存储器61还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器62可以为中央处理器cpu,或专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本公开的dns解析处理方法的一个或多个集成电路。

在一个实施例中,本公开提供一种dns解析服务器,包括如上所述的dns解析处理装置。

在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行如上的方法。

上述实施例中的dns解析处理方法、装置、解析服务器以及存储介质,将dns解析结果以及解析结果副本分别缓存在对外服务缓存区和解析副本缓存区内,将解析结果副本的缓存有效时长修改为预设的长期有效时长;在域名服务系统出现故障时,则获得解析结果副本并缓存在对外服务缓存区内,使用缓存在对外服务缓存区内的解析结果副本提供域名解析服务;可以保证全网的域名解析结果以及副本自动存储更新,在域名体系出现故障时能够继续提供域名解析服务,能够规避域名体系发生故障的情况下用户无法访问互联网的事故。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1