CN102984286A - 一种dns服务器的缓存更新方法、装置及系统 - Google Patents
一种dns服务器的缓存更新方法、装置及系统 Download PDFInfo
- Publication number
- CN102984286A CN102984286A CN2012104571281A CN201210457128A CN102984286A CN 102984286 A CN102984286 A CN 102984286A CN 2012104571281 A CN2012104571281 A CN 2012104571281A CN 201210457128 A CN201210457128 A CN 201210457128A CN 102984286 A CN102984286 A CN 102984286A
- Authority
- CN
- China
- Prior art keywords
- response message
- dns server
- domain name
- buffer memory
- type
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种DNS服务器的缓存更新方法、装置及系统,主要内容包括:针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长;确定该应答报文当前已被所述DNS服务器保存的时间长度;在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,执行对该应答报文进行更新的过程。通过本发明实施例的方案,由于在应答报文缓存过期之前及对其进行了更新,因此,可以有效的避免由于应答报文缓存过期并未得到更新,大量域名查询请求到后端DNS服务器进行递归迭代查询造成的DNS系统对域名查询请求的响应速度降低和响应延时较大的问题。
Description
技术领域
本发明涉及IP(Internet Protocol,互联网协议)网络领域,尤其涉及一种DNS服务器的缓存更新方法、装置及系统。
背景技术
在IP网络中,域名系统(Domain Name System,DNS)是因特网最关键的基础服务之一,为众多网络应用提供根本性支撑,它将域名与IP地址相互映射,使人们能够方便地访问互联网,而不必记忆复杂的IP地址。通过DNS查询服务,可以找到所需站点或资源的入口,进而对站点或资源进行访问。
目前,广泛使用的DNS是构建于传统的BIND软件之上,BIND提供了DNS主要功能的开放实现,包括:域名服务器(named)、DNS解析库函数、域名服务器运行调试所需的工具。在named中包含查询缓存模块,用于提高DNS的查询效率。其工作原理是域名请求的应答一旦被named认可,则named会将针对该域名请求的包含域名和IP地址的映射关系以及该映射关系对应的存活时间(Time To Live,TTL)的应答数据缓存下来,并在缓存过期时进行缓存更新,在缓存过期之前如果还有其他请求查询此域名则直接将缓存中的应答数据返回给请求方,大大缓解了DNS系统的负担和服务延时。
上述Named的缓存更新方法依赖于应答数据中的TTL。在named开始缓存应答数据时,会记录应答数据中的TTL值,并在之后的时间内对TTL进行递减(每秒将对TTL值减1),只有在TTL随时间递减到0(也即缓存过期)的时候,named才会再次发起主动请求去递归查询过期的缓存对应的域名,待收到针对该请求的应答报文后更新过期的缓存。
然而,在缓存过期和缓存得到更新这段时间内,主干网(核心网)上仍然有大量针对该缓存过期的域名的查询请求。这些查询请求会形成一种突发流量,造成DNS系统负载瞬间加重甚至过载,与此同时,本地DNS服务器也在执行缓存更新操作,进一步加重了DNS系统的负载,系统的整体性能降低,进而导致DNS系统对查询请求的响应速度降低和响应延时增大;对用户而言,其访问网站站点或资源的访问速度降低。
发明内容
本发明实施例提供一种DNS服务器的缓存更新方法、装置及系统,用以解决现有技术中DNS服务器中保存的网站域名与IP地址的映射关系对应的TTL在缓存过期和缓存得到更新这段时间内,DNS系统对查询请求的响应速度降低和响应延时增大的问题。
一种DNS服务器的缓存更新方法,包括:
针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;
确定该应答报文当前已被所述DNS服务器保存的时间长度;
在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,或者在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长且接收到客户端针对所述域名发送的域名查询请求时,执行对该应答报文进行更新的过程。
一种DNS服务器的缓存更新装置,所述装置包括:
缓存有效时长确定模块,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;
报文保存时长确定模块,确定该应答报文当前已被所述DNS服务器保存的时间长度;
第一判断模块,用于判断所述缓存有效时长与所述时间长度之差是否大于0且小于预设更新时长,并把得到的第一判断结果发送给第二判断模块或者域名查询模块;
第二判断模块,用于在接收到第一判断结果为是时,判断是否接收到客户端针对所述域名发送的域名查询请求,并在第一判断模块没有将第一判断结果发送给域名查询模块时,将得到的第二判断结果发送给域名查询模块;
缓存更新模块,用于在接收到的第一判断结果为是时,或者接收到的第二判断结果为是时,执行对所述应答报文进行更新的过程。
一种域名系统DNS服务器的缓存更新系统,所述系统包括:DNS服务器的缓存更新装置、后端DNS服务器和客户端;
所述DNS服务器的缓存更新装置,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;确定该应答报文当前已被所述DNS服务器保存的时间长度;在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,或者在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长且接收到客户端针对所述域名发送的域名查询请求时,执行对该应答报文进行更新的过程;
所述客户端,用于向所述DNS服务器的缓存更新装置发送域名查询请求。
本发明实施例提供一种DNS服务器的缓存更新方法及装置,该方法针对DNS服务器中保存的任一应答报文,确定其对应的缓存有效时长以及当前已保存该应答报文的时间长度,在缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,对该应答报文进行更新,也即DNS服务器在应答报文缓存过期之前已获得了用来更新该应答报文的新的应答报文,并利用已获得的新的应答报文来更新缓存过期的应答报文,使得DNS服务器在收到针对包含所述应答报文中包含的域名的域名查询请求时,不用再将该查询请求转发给后端DNS服务器,而是直接将已更新的应答报文返回给客户端,进而避免了主干网(核心网)上大量针对缓存过期的域名的域名查询请求形成的突发流量,使得DNS系统负载处于正常负荷,对域名查询请求的响应速度提高和响应延时降低,对用户而言,其访问网站站点或资源的访问速度提高。
附图说明
图1为本发明实施例一提供的DNS服务器的缓存更新方法流程示意图;
图2为本发明实施例二的用于说明DNS服务器对域名查询请求处理流程的时间轴意图;
图3为本发明实施例二提供的DNS服务器的缓存更新装置的结构示意图;
图4为本发明实施例三提供的DNS服务器的缓存更新系统的结构示意图。
具体实施方式
本发明实施例提供一种DNS服务器的缓存更新方法、装置及系统,该方法针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长;确定该应答报文当前已被所述DNS服务器保存的时间长度;在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,执行对该应答报文进行更新的过程。由于在应答报文缓存过期之前及对其进行了更新,因此,可以有效的避免由于应答报文缓存过期并未得到更新,大量域名查询请求到后端DNS服务器进行迭代查询造成的DNS系统对域名查询请求的响应速度降低和响应延时较大的问题。
下面结合说明书附图对本发明实施例进行详细描述。
实施例一
如图1所示,其为本发明实施例提供的DNS服务器的缓存更新方法流程图,具体包括以下步骤:
步骤101:确定DNS服务器中保存的任一应答报文的类型,并执行步骤102。
所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名。
通常的,应答报文的类型主要包括以下三种:
第一种:NOERROR,或者SUCESS,是对查询域名成功的情况返回的应答报文。
第二种:SERFAIL,或者FAILURE,是对查询域名失败的情况返回的应答报文,其中包括查询超时这种情况下返回的应答报文。
第三种:NXDOMAIN,是对查询的域名不存在返回的应答报文。
其中,上述NOERROR和SERFAIL类型的应答报文中包含域名,但不包含TTL,NOERROR类型的应答报文中包含域名和IP地址的映射关系,也包含与该映射关系对应的TTL。
步骤102:确定开始缓存步骤101中确定的所述类型的应答报文时该应答报文对应的缓存有效时长,并执行步骤103。
在本步骤102中DNS服务器开始缓存应答报文时,该应答报文对应的缓存有效时长是最大缓存有效时长,随后,DNS服务器将对所述最大缓存有效时长进行减法操作,时间每过1s,该最大缓存有效时长的值减1。
具体的,在所述应答报文的类型为查询的域名不存在NXDOMAIN类型时,针对DNS服务器中保存的该NXDOMAIN类型应答报文,将DNS服务器中配置的NXDOMAIN类型的缓存有效时长作为开始缓存该应答报文时该应答报文对应的缓存有效时长;
在所述应答报文的类型为域名查询失败SERFAIL类型时,针对DNS服务器中保存的SERFAIL类型应答报文,将DNS服务器中配置的SERFAIL类型的缓存有效时长作为开始缓存该应答报文时该SERFAIL类型应答报文对应的缓存有效时长;
在所述应答报文的类型为域名查询成功NOERROR类型时,针对DNS服务器中保存的该NOERROR类型应答报文,将开始缓存该应答报文时该应答报文中包含的存活时间TTL作为该NOERROR类型应答报文对应的有效缓存时间。
步骤103:确定该应答报文当前已被所述DNS服务器保存的时间长度,并执行步骤104。
步骤104:判断所述缓存有效时长与所述时间长度之差是否大于0且小于预设更新时长,若是,则执行步骤105;若否,则执行步骤112。
所述针对所有域名可以根据统计的各数据报文的所述缓存有效时长设置一个统一的预设更新时长,也可以针对不同的域名根据步骤102中的缓存有效时长确定一个与该应答报文对应的预设更新时长,还可以根据经验值设置预设更新时长。在预设更新时长是与所述应答报文中包含的域名一一对应的,和/或所述预设更新时长是根据所述缓存有效时长确定的时,可以获得较合理数量的需要更新的应答报文,进而可以有效的利用DNS服务器的存储空间。
本步骤103也可以为步骤103’:判断所述缓存有效时长与所述时间长度之差是否大于0且小于预设更新时长,以及判断是否接收到客户端针对所述域名发送的域名查询请求,若两者的判断结果均为是,则执行步骤105,否则执行步骤112。
上述步骤103’中在缓存有效时长与所述时间长度之差大于0且小于预设更新时长,且接收到客户端针对所述域名发送的域名查询请求时,才执行步骤105,是因为:此时DNS服务器可以将客户端针对所述域名发送的域名查询请求转发给该DNS服务器的后端DNS服务器,进而省去了DNS服务器自身封装数据查询报文,也即减少了对DNS服务器的资源消耗。
步骤105:判断在预更新时间段内是否已将针对所述域名的域名查询请求发送给后端DNS服务器,若是,则执行步骤106,若否,则执行步骤107,,所述预更新时间段从预更新时刻开始到缓存失效时刻这段时间,且预更新时间段的长度为所述预更新时长。
步骤106:将已缓存的针对所述域名的应答报文发送给客户端。
步骤107:向该DNS服务器的后端DNS服务器发送域名查询请求,并执行步骤108。
所述域名查询请求中包含了所述应答报文中的域名。
在本步骤107中,可以在后端DNS服务器发送域名查询请求的同时将已缓存的针对所述域名的应答报文发送给客户端,也可以等待后端DNS服务器返回应答报文后,将该返回的应答报文发送给客户端。
步骤108:接收所述后端DNS服务器针对所述域名查询请求发送的应答报文,并执行步骤109。
步骤109:确定该应答报文当前已被所述DNS服务器保存的时间长度,并执行步骤110。
由于所述DNS服务器保存的时间长度是与当前时间密切相关的,因此本步骤109中确定的时间长度与步骤103中确定的时间长度并不相同,确切的说,本步骤109中确定的时间长度大于步骤103中确定的时间长度。
步骤110:判断步骤102中确定的缓存有效时长与步骤109中确定的时间长度是否相等,若是,则执行步骤111,否则,继续执行本步骤110。
较优的,执行步骤109和步骤110是本发明实施例一的优选方案,执行完步骤108后,也可以直接执行步骤111,执行上述步骤109和步骤110是为了减少应答报文缓存更新的次数,进而减少DNS服务器的系统资源消耗。
步骤111:利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
步骤112:在所述缓存有效时长与所述时间长度之差是小于等于0时,确定缓存已过期,利用现有技术进行递归迭代查询过程,在所述缓存有效时长与所述时间长度之差大于等于预设更新时长时,结束。
上述步骤105至步骤112的执行过程也即为所述应答报文进行更新的过程。当然,本发明实施例一也不限于通过其它方式实现对所述应答报文的更新。
通过本发明实施例一的方案,由于DNS服务器在应答报文缓存过期之前已获得了用来更新该应答报文的新的应答报文,并且在缓存过期之时,利用已获得的新的应答报文来更新缓存过期的应答报文,使得DNS服务器在应答报文时,不用再将该查询请求转发给后端DNS服务器,而是直接将已更新的应答报文返回给客户端,进而避免了主干网(核心网)上大量针对缓存过期的域名的域名查询请求形成的突发流量,使得DNS系统负载处于正常负荷,对域名查询请求的响应速度提高和响应延时降低,对用户而言,其访问网站站点或资源的访问速度提高。
实施例二
为了进一步对本发明实施例一的方案进行说明,本发明实施例二利用通过如图2所示的时间轴对执行本发明实施例一的方案的DNS服务器对客户端的域名查询请求的处理过程说明。
假设DNS服务器中已经缓存了与某一域名对应的应答报文,在图2中,S1针对该域名的预更新开始时刻,S2表示该域名的缓存过期时间;
若客户端在S1时刻之前对所述DNS服务器发送针对该域名的域名查询请求,则DNS服务器将缓存的所述应答报文发送给所述客户端;
若客户端在S1时刻之后且S2之前向所述DNS服务器发送针对该域名的域名查询请求,且该针对该域名的查询请求是所述DNS服务器第一次接收到,则DNS服务器将缓存的所述应答报文发送给所述客户端,并将该域名查询请求转发至后端的DNS服务器;
若客户端在S1时刻之后且S2之前向所述DNS服务器发送针对该域名的域名查询请求,且该针对该域名的查询请求是所述DNS服务器不是第一次接收到,则DNS服务器将缓存的所述应答报文(该应答报文可以是更新后的应答报文,也可以是未更新的应答报文)发送给所述客户端;
若客户端在S2时刻之后向述DNS服务器发送针对该域名的域名查询请求,若DNS服务器已在S1到S2这一时间段内已获得后端DNS服务器对与所述域名对应的应答报文即新的应答报文,则DNS服务器将该新的应答报文返回给客户端;
若DNS服务器已在S1到S2这一时间段内未获得后端DNS服务器对与所述域名对应的应答报文且本地也没有缓存所述应答报文,则DNS服务器将该域名查询请求转发至后端DNS服务器。
实施例一中的预设更新时长可以为本实施例二中的S2-S1的值,预设更新时间段可以为S1时刻到S2时刻这一时间段。
实施例三
基于与实施例一及实施例二同样的发明思路,本发明实施例三提供一种DNS服务器的缓存更新装置,如图3所示。
图3为本发明实施例三提供的DNS服务器的缓存更新装置结构示意图,具体包括:
缓存有效时长确定模块201,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;
报文保存时长确定模块202,用于确定该应答报文当前已被所述DNS服务器保存的时间长度;
第一判断模块203,用于判断所述缓存有效时长与所述时间长度之差是否大于0且小于预设更新时长,并把得到的第一判断结果发送给第二判断模块或者域名查询模块;
第二判断模块204,用于在接收到第一判断结果为是时,判断是否接收到客户端针对所述域名发送的域名查询请求,并在第一判断模块没有将第一判断结果发送给域名查询模块时,将得到的第二判断结果发送给域名查询模块;
缓存更新模块205,用于在接收到的第一判断结果为是时,或者接收到的第二判断结果为是时,执行对所述应答报文进行更新的过程。
较佳的,所述装置还包括:
报文类型确定模块206,用于确定DNS服务器中保存的任一应答报文的类型;
所述缓存有效时长确定模块201,具体用于在所述应答报文的类型为查询的域名不存在NXDOMAIN类型时,将DNS服务器中配置的NXDOMAIN类型的缓存有效时长作为开始缓存该应答报文时该应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询失败SERFAIL类型时,将DNS服务器中配置的SERFAIL类型的缓存有效时长作为开始缓存该应答报文时该SERFAIL类型应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询成功NOERROR类型时,针对DNS服务器中保存的该NOERROR类型应答报文,将开始缓存该应答报文时该应答报文中包含的存活时间TTL作为该NOERROR类型应答报文对应的有效缓存时间。
较佳的,所述缓存更新模块205,具体用于在预更新时间段内没有将针对所述域名的域名查询请求发送给后端DNS服务器时,向该DNS服务器的后端DNS服务器发送域名查询请求,所述域名查询请求中包含了所述应答报文中的域名,接收所述后端DNS服务器针对所述域名查询请求发送的应答报文,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新,所述预更新时间段从预更新时刻开始到缓存失效时刻这段时间,且预更新时间段的长度为所述预更新时长。
较佳的,所述缓存更新模块205,具体用于在该应答报文当前已被所述DNS服务器保存的时间长度等于所述缓存有效时长时,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
当然,本发明实施例提供的上述DNS服务器的缓存更新装置可以集成在DNS服务器中,也可以由一个硬件实体实现,还可以由两个或多个硬件实体实现,本发明并不对此进行限定。
实施例四
与上述实施例一及实施例二的同一构思,本发明实施例四提供了一种域名系统DNS服务器的缓存更新系统,其结构示意图如图4所示,所述系统包括:DNS服务器的缓存更新装置31和客户端32;
所述DNS服务器的缓存更新装置31,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;确定该应答报文当前已被所述DNS服务器保存的时间长度;在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,或者在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长且接收到客户端针对所述域名发送的域名查询请求时,执行对该应答报文进行更新的过程;
所述客户端32,用于向所述DNS服务器的缓存更新装置发送域名查询请求。
较优的,所述DNS服务器的缓存更新装置31,还用于确定DNS服务器中保存的任一应答报文的类型,并在所述应答报文的类型为查询的域名不存在NXDOMAIN类型时,针对DNS服务器中保存的该NXDOMAIN类型应答报文,将DNS服务器中配置的NXDOMAIN类型的缓存有效时长作为开始缓存该应答报文时该应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询失败SERFAIL类型时针对DNS服务器中保存的SERFAIL类型应答报文,将DNS服务器中配置的SERFAIL类型的缓存有效时长作为开始缓存该应答报文时该SERFAIL类型应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询成功NOERROR类型时,针对DNS服务器中保存的该NOERROR类型应答报文,将开始缓存该应答报文时该应答报文中包含的存活时间TTL作为该NOERROR类型应答报文对应的有效缓存时间。
较优的,所述系统还包括:后端DNS服务器33;
所述DNS服务器的缓存更新装置31,具体用于在预更新时间段内没有将针对所述域名的域名查询请求发送给后端DNS服务器时,向该DNS服务器的后端DNS服务器发送域名查询请求,所述域名查询请求中包含了所述应答报文中的域名;接收所述后端DNS服务器针对所述域名查询请求发送的应答报文;利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新,所述预更新时间段从预更新时刻开始到缓存失效时刻这段时间,且预更新时间段的长度为所述预更新时长。
所述后端DNS服务器33,用于在接收到所述DNS服务器的缓存更新装置31发送的域名查询请求时,向DNS服务器的缓存更新装置31返回应答报文。
较优的,所述DNS服务器的缓存更新装置31,具体用于在该应答报文当前已被所述DNS服务器保存的时间长度等于所述缓存有效时长时,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种域名系统DNS服务器的缓存更新方法,其特征在于,包括:
针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;
确定该应答报文当前已被所述DNS服务器保存的时间长度;
在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,或者在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长且接收到客户端针对所述域名发送的域名查询请求时,执行对该应答报文进行更新的过程。
2.如权利要求1所述的方法,其特征在于,在所述针对DNS服务器中保存的应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长之前,所述方法还包括:
确定DNS服务器中保存的任一应答报文的类型;
在所述应答报文的类型为查询的域名不存在NXDOMAIN类型时,所述针对DNS服务器中保存的应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,具体包括:
针对DNS服务器中保存的该NXDOMAIN类型应答报文,将DNS服务器中配置的NXDOMAIN类型的缓存有效时长作为开始缓存该应答报文时该应答报文对应的缓存有效时长;
在所述应答报文的类型为域名查询失败SERFAIL类型时,所述针对DNS服务器中保存的应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,具体包括:
针对DNS服务器中保存的SERFAIL类型应答报文,将DNS服务器中配置的SERFAIL类型的缓存有效时长作为开始缓存该应答报文时该SERFAIL类型应答报文对应的缓存有效时长;
在所述应答报文的类型为域名查询成功NOERROR类型时,所述针对DNS服务器中保存的应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,具体包括:
针对DNS服务器中保存的该NOERROR类型应答报文,将开始缓存该应答报文时该应答报文中包含的存活时间TTL作为该NOERROR类型应答报文对应的有效缓存时间。
3.如权利要求1所述的方法,其特征在于,所述执行对该应答报文进行更新的过程具体包括:
在预更新时间段内没有将针对所述域名的域名查询请求发送给后端DNS服务器时,向该DNS服务器的后端DNS服务器发送域名查询请求,所述域名查询请求中包含了所述应答报文中的域名,所述预更新时间段从预更新时刻开始到缓存失效时刻这段时间,且预更新时间段的长度为所述预更新时长;
接收所述后端DNS服务器针对所述域名查询请求发送的应答报文;
利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
4.如权利要求3所述的方法,其特征在于,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新,具体为:
在该应答报文当前已被所述DNS服务器保存的时间长度等于所述缓存有效时长时,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
5.如权利要求1-4任一所述的方法,其特征在于,针对预设更新时长是与所述应答报文中包含的域名一一对应的,和/或所述预设更新时长是根据所述缓存有效时长确定的。
6.一种域名系统DNS服务器的缓存更新装置,其特征在于,所述装置包括:
缓存有效时长确定模块,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;
报文保存时长确定模块,用于确定该应答报文当前已被所述DNS服务器保存的时间长度;
第一判断模块,用于判断所述缓存有效时长与所述时间长度之差是否大于0且小于预设更新时长,并把得到的第一判断结果发送给第二判断模块或者域名查询模块;
第二判断模块,用于在接收到第一判断结果为是时,判断是否接收到客户端针对所述域名发送的域名查询请求,并在第一判断模块没有将第一判断结果发送给域名查询模块时,将得到的第二判断结果发送给域名查询模块;
缓存更新模块,用于在接收到的第一判断结果为是时,或者接收到的第二判断结果为是时,执行对所述应答报文进行更新的过程。
7.如权利要求6所述的DNS服务器的缓存更新装置,其特征在于,所述缓存更新装置还包括:
报文类型确定模块,用于确定DNS服务器中保存的任一应答报文的类型;
所述缓存有效时长确定模块,具体用于在所述应答报文的类型为查询的域名不存在NXDOMAIN类型时,将DNS服务器中配置的NXDOMAIN类型的缓存有效时长作为开始缓存该应答报文时该应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询失败SERFAIL类型时,将DNS服务器中配置的SERFAIL类型的缓存有效时长作为开始缓存该应答报文时该SERFAIL类型应答报文对应的缓存有效时长;在所述应答报文的类型为域名查询成功NOERROR类型时,针对DNS服务器中保存的该NOERROR类型应答报文,将开始缓存该应答报文时该应答报文中包含的存活时间TTL作为该NOERROR类型应答报文对应的有效缓存时间。
8.如权利要求6所述的DNS服务器的缓存更新装置,其特征在于,
所述缓存更新模块,具体用于在预更新时间段内没有将针对所述域名的域名查询请求发送给后端DNS服务器时,向该DNS服务器的后端DNS服务器发送域名查询请求,所述域名查询请求中包含了所述应答报文中的域名,接收所述后端DNS服务器针对所述域名查询请求发送的应答报文,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新,所述预更新时间段从预更新时刻开始到缓存失效时刻这段时间,且预更新时间段的长度为所述预更新时长。
9.如权利要求8所述的DNS服务器的缓存更新装置,其特征在于,
所述缓存更新模块,具体用于在该应答报文当前已被所述DNS服务器保存的时间长度等于所述缓存有效时长时,利用接收到的所述应答报文对所述DNS服务器中保存的应答报文进行更新。
10.一种域名系统DNS服务器的缓存更新系统,其特征在于,所述系统包括:DNS服务器的缓存更新装置、后端DNS服务器和客户端;
所述DNS服务器的缓存更新装置,用于针对DNS服务器中保存的任一应答报文,确定开始缓存该应答报文时该应答报文对应的缓存有效时长,所述应答报文是该DNS服务器的后端DNS服务器针对域名查询请求返回的报文,其中包含了域名;确定该应答报文当前已被所述DNS服务器保存的时间长度;在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长时,或者在所述缓存有效时长与所述时间长度之差大于0且小于预设更新时长且接收到客户端针对所述域名发送的域名查询请求时,执行对该应答报文进行更新的过程;
所述客户端,用于向所述DNS服务器的缓存更新装置发送域名查询请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457128.1A CN102984286B (zh) | 2012-11-14 | 2012-11-14 | 一种dns服务器的缓存更新方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210457128.1A CN102984286B (zh) | 2012-11-14 | 2012-11-14 | 一种dns服务器的缓存更新方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102984286A true CN102984286A (zh) | 2013-03-20 |
CN102984286B CN102984286B (zh) | 2015-03-04 |
Family
ID=47858018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210457128.1A Active CN102984286B (zh) | 2012-11-14 | 2012-11-14 | 一种dns服务器的缓存更新方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102984286B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079534A (zh) * | 2013-03-27 | 2014-10-01 | 中国移动通信集团北京有限公司 | 一种http缓存实现方法和系统 |
CN104125238A (zh) * | 2014-08-14 | 2014-10-29 | 互联网域名系统北京市工程研究中心有限公司 | 一种DNS递归服务器抗DoS、DDoS攻击的方法 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN105991469A (zh) * | 2015-02-06 | 2016-10-05 | 上海交通大学 | 一种异构网络传输下的动态时间窗口及缓存机制 |
WO2017000144A1 (zh) * | 2015-06-30 | 2017-01-05 | 华为技术有限公司 | Dns的服务器、客户端及数据同步方法 |
CN106331201A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 域名资源记录缓存控制方法及服务器 |
CN106331212A (zh) * | 2016-08-25 | 2017-01-11 | 北京润通丰华科技有限公司 | 一种基于dns缓存驻留的域名解析方法及系统 |
CN106612339A (zh) * | 2015-10-27 | 2017-05-03 | 中国电信股份有限公司 | 域名更新方法、系统和主dns服务器 |
CN106815287A (zh) * | 2016-12-06 | 2017-06-09 | 中国银联股份有限公司 | 一种缓存管理方法及装置 |
WO2017101716A1 (zh) * | 2015-12-17 | 2017-06-22 | 阿里巴巴集团控股有限公司 | 一种域名查询方法和装置 |
CN106911735A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 数据获取方法及装置 |
CN107547295A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种域名缓存表项的老化方法及装置 |
CN108183974A (zh) * | 2017-11-27 | 2018-06-19 | 深圳市丰巢科技有限公司 | 一种智能终端应用程序的域名动态切换方法及智能终端 |
CN108243265A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信集团浙江有限公司 | 一种dns解析处理方法及装置 |
CN108667947A (zh) * | 2017-03-31 | 2018-10-16 | 贵州白山云科技有限公司 | 一种减少dns应答报文的长度的方法及装置 |
CN109347945A (zh) * | 2018-10-12 | 2019-02-15 | 北京天融信网络安全技术有限公司 | 一种查询域名的方法和装置 |
CN109639748A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Dns服务器的缓存更新方法、装置、系统及域名系统 |
CN109842690A (zh) * | 2017-11-24 | 2019-06-04 | 迈普通信技术股份有限公司 | 一种dns数据更新方法、系统及设备 |
CN111859109A (zh) * | 2020-06-10 | 2020-10-30 | 广东省安心加科技有限公司 | 一种物联网设备状态查询的控制方法及装置 |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN115695495A (zh) * | 2022-11-01 | 2023-02-03 | 河南省保时安电子科技有限公司 | 基于物联网技术的气体探测仪高效组网通讯系统及方法 |
CN116074281A (zh) * | 2023-02-02 | 2023-05-05 | 互联网域名系统北京市工程研究中心有限公司 | 基于域名系统的应答结果的获取方法、装置、计算机设备和存储介质 |
CN116095172A (zh) * | 2023-01-09 | 2023-05-09 | 互联网域名系统北京市工程研究中心有限公司 | 缓存刷新方法、装置、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701329B1 (en) * | 2000-09-14 | 2004-03-02 | Microsoft Corporation | Aging and scavenging of DNS resource records |
CN101170585A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种域名查询方法 |
CN102025795A (zh) * | 2010-01-22 | 2011-04-20 | 中国移动通信集团北京有限公司 | Dns响应报文处理方法、dns服务器及系统 |
CN102137174A (zh) * | 2010-12-29 | 2011-07-27 | 华为技术有限公司 | 域名系统缓存的方法、授权域名服务器、缓存域名服务器 |
CN102404318A (zh) * | 2011-10-31 | 2012-04-04 | 杭州迪普科技有限公司 | 一种防范dns缓存攻击的方法及装置 |
-
2012
- 2012-11-14 CN CN201210457128.1A patent/CN102984286B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701329B1 (en) * | 2000-09-14 | 2004-03-02 | Microsoft Corporation | Aging and scavenging of DNS resource records |
CN101170585A (zh) * | 2007-11-13 | 2008-04-30 | 中兴通讯股份有限公司 | 一种域名查询方法 |
CN102025795A (zh) * | 2010-01-22 | 2011-04-20 | 中国移动通信集团北京有限公司 | Dns响应报文处理方法、dns服务器及系统 |
CN102137174A (zh) * | 2010-12-29 | 2011-07-27 | 华为技术有限公司 | 域名系统缓存的方法、授权域名服务器、缓存域名服务器 |
CN102404318A (zh) * | 2011-10-31 | 2012-04-04 | 杭州迪普科技有限公司 | 一种防范dns缓存攻击的方法及装置 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079534B (zh) * | 2013-03-27 | 2017-11-03 | 中国移动通信集团北京有限公司 | 一种http缓存实现方法和系统 |
CN104079534A (zh) * | 2013-03-27 | 2014-10-01 | 中国移动通信集团北京有限公司 | 一种http缓存实现方法和系统 |
CN104125238A (zh) * | 2014-08-14 | 2014-10-29 | 互联网域名系统北京市工程研究中心有限公司 | 一种DNS递归服务器抗DoS、DDoS攻击的方法 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN105630819B (zh) * | 2014-11-03 | 2019-06-11 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN105991469A (zh) * | 2015-02-06 | 2016-10-05 | 上海交通大学 | 一种异构网络传输下的动态时间窗口及缓存机制 |
CN105991469B (zh) * | 2015-02-06 | 2018-01-19 | 上海交通大学 | 一种异构网络传输下的动态时间窗口及缓存机制 |
WO2017000144A1 (zh) * | 2015-06-30 | 2017-01-05 | 华为技术有限公司 | Dns的服务器、客户端及数据同步方法 |
CN106464745A (zh) * | 2015-06-30 | 2017-02-22 | 华为技术有限公司 | Dns的服务器、客户端及数据同步方法 |
CN106464745B (zh) * | 2015-06-30 | 2019-11-29 | 华为技术有限公司 | Dns的服务器、客户端及数据同步方法 |
CN106331201A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 域名资源记录缓存控制方法及服务器 |
CN106612339A (zh) * | 2015-10-27 | 2017-05-03 | 中国电信股份有限公司 | 域名更新方法、系统和主dns服务器 |
WO2017101716A1 (zh) * | 2015-12-17 | 2017-06-22 | 阿里巴巴集团控股有限公司 | 一种域名查询方法和装置 |
CN106911735A (zh) * | 2015-12-22 | 2017-06-30 | 北京奇虎科技有限公司 | 数据获取方法及装置 |
CN106911735B (zh) * | 2015-12-22 | 2021-12-21 | 北京奇虎科技有限公司 | 数据获取方法及装置 |
CN106331212A (zh) * | 2016-08-25 | 2017-01-11 | 北京润通丰华科技有限公司 | 一种基于dns缓存驻留的域名解析方法及系统 |
CN106331212B (zh) * | 2016-08-25 | 2019-05-07 | 北京润通丰华科技有限公司 | 一种基于dns缓存驻留的域名解析方法及系统 |
CN106815287A (zh) * | 2016-12-06 | 2017-06-09 | 中国银联股份有限公司 | 一种缓存管理方法及装置 |
CN108243265A (zh) * | 2016-12-27 | 2018-07-03 | 中国移动通信集团浙江有限公司 | 一种dns解析处理方法及装置 |
CN108667947B (zh) * | 2017-03-31 | 2019-10-25 | 贵州白山云科技股份有限公司 | 一种减少dns应答报文的长度的方法及装置 |
CN108667947A (zh) * | 2017-03-31 | 2018-10-16 | 贵州白山云科技有限公司 | 一种减少dns应答报文的长度的方法及装置 |
CN107547295A (zh) * | 2017-05-10 | 2018-01-05 | 新华三信息安全技术有限公司 | 一种域名缓存表项的老化方法及装置 |
CN109639748A (zh) * | 2017-10-09 | 2019-04-16 | 阿里巴巴集团控股有限公司 | Dns服务器的缓存更新方法、装置、系统及域名系统 |
CN109842690A (zh) * | 2017-11-24 | 2019-06-04 | 迈普通信技术股份有限公司 | 一种dns数据更新方法、系统及设备 |
CN108183974A (zh) * | 2017-11-27 | 2018-06-19 | 深圳市丰巢科技有限公司 | 一种智能终端应用程序的域名动态切换方法及智能终端 |
CN109347945A (zh) * | 2018-10-12 | 2019-02-15 | 北京天融信网络安全技术有限公司 | 一种查询域名的方法和装置 |
CN111859109A (zh) * | 2020-06-10 | 2020-10-30 | 广东省安心加科技有限公司 | 一种物联网设备状态查询的控制方法及装置 |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN115695495A (zh) * | 2022-11-01 | 2023-02-03 | 河南省保时安电子科技有限公司 | 基于物联网技术的气体探测仪高效组网通讯系统及方法 |
CN116095172A (zh) * | 2023-01-09 | 2023-05-09 | 互联网域名系统北京市工程研究中心有限公司 | 缓存刷新方法、装置、设备和存储介质 |
CN116074281A (zh) * | 2023-02-02 | 2023-05-05 | 互联网域名系统北京市工程研究中心有限公司 | 基于域名系统的应答结果的获取方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102984286B (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984286A (zh) | 一种dns服务器的缓存更新方法、装置及系统 | |
RU2615057C2 (ru) | Способ и устройство для доступа к web-странице и маршрутизатор | |
JP5697675B2 (ja) | データ通信高速化および効率化のためのシステムおよびその方法 | |
CN106603394B (zh) | 订阅通知的实现方法和装置 | |
CN102469167B (zh) | 域名查询的实现方法和系统 | |
CN106331212B (zh) | 一种基于dns缓存驻留的域名解析方法及系统 | |
CN108881516B (zh) | 一种调度多cdn服务系统的方法和装置 | |
CN103905572A (zh) | 域名解析请求的处理方法及装置 | |
CN106412140A (zh) | 短链接地址生成方法及系统 | |
CN113452808B (zh) | 域名解析方法、装置、设备及存储介质 | |
EP2760184A1 (en) | Method and system for processing resource requests | |
CN107026879B (zh) | 一种数据缓存方法及后台应用系统 | |
CN107302582B (zh) | 千万级物联网场景的数据采集及弱推送方法 | |
CN105930538A (zh) | 一种网页访问请求处理方法和服务器 | |
WO2014161261A1 (zh) | 数据的存储方法及装置 | |
JP4554723B2 (ja) | ネットワーク応答バッファリング動作の管理 | |
CN103618799B (zh) | 浏览器缓存处理方法、系统及代理服务器 | |
CN105279156B (zh) | 网络信息通信方法及网络信息浏览装置 | |
US20180302489A1 (en) | Architecture for proactively providing bundled content items to client devices | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
CN115086275B (zh) | 报文处理方法、装置、介质及电子设备 | |
CN114519082A (zh) | 一种数据处理方法和相关装置 | |
CN113553206A (zh) | 数据事件执行方法、装置、电子设备和计算机可读介质 | |
CN110865845A (zh) | 提高接口访问效率的方法、存储介质 | |
CN104378280B (zh) | 消息发送和接收方法、服务器、客户端和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 200233 Room 401, building 1, No. 180, Yizhou Road, Xuhui District, Shanghai Patentee after: Yamu Technology Co.,Ltd. Address before: Room 600, building 1, Huigu Chuangye, 33 Leshan Road, Xuhui District, Shanghai 200030 Patentee before: SHANGHAI YAMU COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |