首页> 中国专利> 动态调整DNS递归服务器缓存资源记录的方法和系统

动态调整DNS递归服务器缓存资源记录的方法和系统

摘要

本发明涉及一种动态调整DNS递归服务器缓存资源记录的方法和系统。该方法根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级,然后根据该优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录;进一步把优先级高的DNS资源记录从外部存储器调入内存以提高DNS递归服务器的对DNS请求的响应速度。该系统在DNS递归服务器内设置DNS资源记录优先级排序模块和外部存储器DNS资源记录调整模块,进一步还设置内存DNS资源记录调整模块。本发明能够提高递归服务器存储空间的利用率、递归服务器带宽的有效利用率以及递归服务器的响应速度。

著录项

  • 公开/公告号CN103491075A

    专利类型发明专利

  • 公开/公告日2014-01-01

    原文格式PDF

  • 申请/专利权人 中国科学院计算机网络信息中心;

    申请/专利号CN201310407703.1

  • 发明设计人 邓光青;孔宁;延志伟;沈烁;

    申请日2013-09-09

  • 分类号H04L29/06(20060101);H04L29/12(20060101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人余长江

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2024-02-19 22:05:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-07-06

    授权

    授权

  • 2014-02-05

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130909

    实质审查的生效

  • 2014-01-01

    公开

    公开

说明书

技术领域

本发明属于网络技术领域,具体涉及一种动态调整DNS递归服务器缓存资源记录的方法 和系统。

背景技术

DNS是互联网最为重要的基础性资源,是其它互联网业务安全运行的保证。DNS系统主 要由权威服务器、递归服务器以及客户端构成,权威服务器存储了一个或多个区的信息,是 DNS资源记录的源头。递归服务器负责接受客户端(解析器)发送的请求,然后通过向各级 权威服务器发出查询请求获得用户需要的查询结果,最后返回给客户端的解析器。递归服务 器可以将权威服务器返回的各种记录进行缓存从而减少查询次数和提高查询效率,因而也被 称为缓存服务器。客户端一般通过递归服务器查询各类资源记录。

目前,互联网的顶级域已经超过300个,且这一数目还将进一步增长,互联网上的域名 及其相应资源记录的条数也非常巨大。例如,光.cn顶级域的域名保有量就将近400万,每个 域名还可能包含若干个子域名,如二级域名、三级域名及四级域名等。每个域名会对应多条 资源记录,如常用的A记录(域名到IP地址的映射记录)、NS记录及SOA记录等,因而, 一个域名对应的资源记录将达到数个甚至数十个。一旦部署DNSSEC,一个域名所对应的资 源记录的条数更将大幅增长。

在现有递归服务器上,如果其缓存空间已满,则依各资源记录到达递归服务器的时间先 后顺序进行淘汰,将最陈旧的资源记录最先淘汰掉。对于保留下来的每个资源记录,递归服 务器会每隔一定的时间(例如6小时)向权威服务器重新请求一遍,以保持同步。现有递归 服务器的缺点是:

a)存储空间利用率低。由于缓存中的资源记录是依时间顺序被保留下来的,会导致冷门 资源记录(即日请求量较少的资源记录)过多而热门资源记录(即日请求量较多的资源记录) 过少,从而导致递归服务器缓存空间利用率较低。

b)带宽有效利用率低。对于递归服务器上的资源记录,不管有没有被客户端请求到,这 些资源记录都会定期(例如6小时)进行更新。在递归服务器缓存空间有限的情况下,如果 “冷门”资源记录增多,就会导致递归服务器的带宽有效利用率降低。

c)响应速度慢。在存储空间有限的情况下,如果存储的“冷门”资源记录太多,就会导 致“热门”资源记录的存储空间不足,则递归服务器需频繁地从权威服务器那里下载这部分 “热门”资源记录,从而导致响应速度慢。

上述讨论的是递归服务器的外部存储空间(比如硬盘),其实,递归服务器的内存也存在 着类似的问题。一般而言,内存的访问速度快,而硬盘的访问速度慢,将资源记录从外部存 储空间(比如硬盘)调入内存可以提高其响应速度。然而,内存的空间一般很小,要远远小 于外部存储设备(如硬盘)的大小,在现有机制下,资源记录是依其到达递归服务器的时间 先后顺序被调入内存的,优先将新近到达的资源记录调入内存,故递归服务器的内存与其外 部存储设备存在着类似的问题,即内存的空间利用较低,从而导致递归服务器的整体响应速 度较慢。

发明内容

本发明的目的是针对上述问题,提供一种动态调整DNS递归服务器缓存资源记录的方法 和系统,以提高递归服务器存储空间的利用率,提高递归服务器带宽的有效利用率,以及提 高递归服务器的响应速度。

为实现上述目的,本发明采用如下技术方案:

一种动态调整DNS递归服务器缓存资源记录的方法,其步骤包括:

1)根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记 录的优先级;

2)根据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)能够依据资源记录的热度动态调整递归服务器的缓存策略。如果某资源记录由“热门” 变为“冷门”,则适时对其进行淘汰,以将存储空间腾给“热门”的资源记录;如果某资源 记录由“冷门”变为“热门”,则提前对其进行预取。

2)提高了递归服务器存储空间及带宽的利用率。递归服务器始终优先保存“热度”较高 的资源记录,存储空间的利用率较高。虽然递归服务器依然需定时向权威服务器发送资源记 录请求以定时更新其所存储的资源记录,但由于更新的都是“热度”较高或比较重要的资源 记录,故带宽的有效利用率也得到提高。

3)提高了客户端的响应速度。由于缓存了“热门”的资源记录,递归服务器不必临时向 权威服务器下载这些资源记录,故其可以实时向客户端返回该客户端所请求的资源记录,所 以响应速度较快。

4)重点保障了重要顶级域的资源记录。在缓存优先级的计算过程中,通过增加相应参数 可在同等条件下优先存储某些重点顶级域(如.cn、.中国)的资源记录。

5)能够对不同层级的域名的资源记录进行差别处理。通过增加相应的参数,可在同等条 件下优先缓存层级较少的域名(如1级域名)的资源记录。

附图说明

图1是实施例中DNS递归服务器的新增模块示意图。

图2是实施例中外部存储器的资源记录动态调整流程图。

图3是实施例中内存的DNS资源记录动态调整流程流程。

具体实施方式

下面通过具体实施例,并配合附图,对本发明做详细的说明。

本发明通过为现有DNS递归服务器设计DNS资源记录优先级排序模块、外部存储器DNS 资源记录调整模块以及内存DNS资源记录调整模块来提高DNS递归服务器的性能。这三个模 块的关系如图1所示,分别说明如下:

1)DNS资源记录优先级排序模块

该模块根据各DNS资源记录的日访问量以及DNS资源记录的自身特性(如对应域名的层 级、对应域名所在的顶级域等),采用DNS资源记录动态调整算法来确定各DNS资源记录的优 先级。后文将对该算法做具体说明。

2)外部存储器DNS资源记录调整模块

该模块根据DNS资源记录优先级排序模块所提供的DNS资源记录优先级数据来调整DNS 递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器处下载优先级高 的DNS资源记录。即当优先级高的DNS资源记录的TTL值失效时,立即从相应的权威服务器 那里下载对应的DNS资源记录。当外部存储器的空间不足时,优先删除优先级低的DNS资源 记录,而不是像现有技术这样按时间先后顺序删除。也就是说,即使对应优先级很低的DNS 资源记录的TTL未到期,也将其删除。

3)内存DNS资源记录调整模块

内存的访问速度快,而外部存储器的访问速度慢,但内存的存储空间较小,不可能将外 部存储器中的所有DNS资源记录都存储到DNS递归服务器的内存中,故需有选择地将部分DNS 资源记录由外部存储器调入内存。在本发明中,内存DNS资源记录调整模块将根据DNS资源 记录优先级排序模块所提供的DNS资源记录优先级数据把优先级高的DNS资源记录从外部存 储器调入内存,以提高DNS递归服务器的对DNS请求的响应速度。

由于外部存储器DNS资源记录调整模块、内存DNS资源记录调整模块这两个模块都会调 用DNS资源记录优先级排序模块所生成的DNS资源记录优先级数据,故该DNS资源记录优先 级排序模块的设计是本发明的核心。

下面说明DNS资源记录优先级排序模块采用的DNS资源记录动态调整算法的总体设计目 标和设计准则。

在递归服务器存储空间(包括外部存储空间和内存)有限的情况下,该算法的设计目标 是:如果存储空间有限,则综合考虑资源记录的“热度”(日点击量)及其对应域名的特性(所 属的顶级域、域名的层级等),评估出各个资源记录的缓存优先级,优先缓存优先级高的资源 记录,优先淘汰优先级低的资源记录。

DNS资源记录优先级排序算法的一个重点是资源记录的热度预测算法,热度预测算法的 设计准则如下:

a)以各资源记录的历史日请求量为基本预测依据,同一资源记录在同一天的不同时刻的 请求频率可能差异巨大,但其在不同天的请求频率差异较小,以历史日请求量来预测资源记 录的当前热度更能保证预测的准确性;

b)对不同天的历史数据进行权重处理,基本准则是:离当前的时间间隔越短,对当前热 度的影响越大;离当前的时间间隔越长,对当前热度的影响越小。

资源记录动态调整的另一个重点是参考资源记录的自身特性来评估其缓存优先级。同等 “热度”前提下,对应域名层级低的资源记录的缓存优先级高;对应域名层级高的资源记录 的缓存优先级低。即当“热度”相同时,1级域名的资源记录的缓存优先级高于2级域名的, 2级的高于3级的,以此类推。当“热度”及域名层级都相同时,某些重点顶级域的资源记 录优先存储,这些重点顶级域包括.cn、.中国等。

依据上述算法设计目标及设计准则,设计了如下所示的资源记录缓存优先级计算公式:

Wi=Li*Si*Σm=1Mwim*qm-1(1-q)1-qM---(1)

设资源记录的总数为N,在上式中:

Wi(1≤i≤N)为第i个资源记录的优先级,

Li为与资源记录中域名的级数有关的参数,例如,1级域名可为1,2级域名为1/2;3级 域名为1/3;……以此类推,

Si为与域名顶级域的重要程度相关的参数,例如,在中国,.cn和.中国的该参数值为1, 其它顶级域的参数值为1/2。

式子计算的是域名当天的“热度”,是一个预测值,利用其前M天的历 史日请求量来进行预测。其中为第i个域名历史上第m(1≤m≤M)天的日请求量,参数q与 该资源记录历史上各天的日请求量的权重有关,式子代表第m天的日请求量所占的 权重,其中例如,当q=2,m=7时,各天的权重为 即昨天的权重为权重最大,前天的权重为之前第7天的权 重为权重最小。

DNS资源记录优先级排序模块的工作就是依据(1)式计算出所有DNS资源记录的优先级。 然后,外部存储器DNS资源记录调整模块根据DNS资源记录优先级排序模块所生成的DNS资 源记录优先级数据来动态调整外部存储器中的DNS资源记录。具体流程如图2所示,首先外 部存储器DNS资源记录调整模块从DNS资源记录优先级排序模块调入DNS资源记录优先级数 据。接着判断优先级排名前x%的DNS资源记录是否已被存入外部存储器;如果是,则结束, 否则将判断存储空间是否足够,如果是,则向相应权威服务器请求优先级排名前x%的DNS 资源记录并将这些资源记录存入外部存储器;如果否,则先淘汰优先级最低的那部分DNS资 源记录,然后向相应权威服务器请求优先级排名前x%的DNS资源记录并将这些资源记录存 入外部存储器。上述对外部存储器DNS资源记录的调整算法可定期或不定期运行,以调整所 缓存的资源记录。图2中的参数x%可以根据理论值或经验值来设定,根据自然界普遍存在的 “二八”原理,可将x%设为20%。

为提高DNS递归服务器的内存利用率,内存DNS资源记录调整模块将定期或不定期地执 行内存中DNS资源记录的动态调整算法,具体如图3所示,首先,内存DNS资源记录调整模 块从DNS资源记录优先级排序模块调入DNS资源记录优先级数据。接着,内存DNS资源记录 调整模块根据内存空间的大小确定能被内存容纳的排名前y%的DNS资源记录,如果这些资 源记录都被存入了内存,则结束;否则,将优先级不够的资源记录从内存中删除,并将内存 中未保存但优先级处于前y%的资源记录从硬盘调入内存。这样可以保证DNS递归服务器的 内存中始终保存着比较热门的资源记录,从而可以减小DNS递归服务器对DNS请求的处理 时延。

在本发明中,依据DNS资源记录的优先级来合理调整DNS资源记录。当存储空间不足 时,即使优先级低的DNS资源记录的TTL值未到期,其也会被移出缓存;对于优先级高的 DNS记录,一旦其TTL值到期,将立即更新。

本发明中DNS资源记录优先级排序模块是核心,该模块依据式(1)计算各个资源记录的 缓存优先级,式(1)中,参数Li,Si,M以及q可以根据理论值或经验值进行设定。现给 出一组推荐值:

Li被确定为资源记录i(1≤i≤N)的层级数的倒数,即顶级域的资源记录的Li值为1;2级域 的资源记录的Li值为1/2;3级域的资源记录的Li值为1/3,……

即同等条件下优先保存.cn和.中国的资源 记录。

M=7,即时间窗口为7,也就是取前7天的数据来推测资源记录当前的热度。

q=2,则这7天的日访问量的权重分别为昨天的权重为权重最大,前天的权重为之前第7天的权重为权重最小。

下面以域名“example.cn”的A记录为例来举例说明资源记录优先级的计算过程。

以上述设定,则该A记录的参数Li为1/2;参数Si为1。如果该A记录前7天的日点击量分别 为1321次、2320次、1763次、2345次、3214次、2354次、2324次,则根据上次参数,可估算 出该A记录今天的日访问量为2419。进一步地,可计算出该A记录的优先级为1209,该数值越 大,优先级越高。

外部存储器DNS资源记录调整模块的工作流程如图2所示。首先外部存储器DNS资源记录调 整模块从DNS资源记录优先级排序模块调入DNS资源记录优先级数据。接着判断优先级排名前 x%的DNS资源记录是否已被存入外部存储器;如果是,则结束,否则将判断存储空间是否足 够,如果是,则向相应权威服务器请求优先级排名前x%的DNS资源记录并将这些资源记录存 入外部存储器;如果否,则先淘汰优先级最低的那部分DNS资源记录,然后向相应权威服务 器请求优先级排名前x%的DNS资源记录并将这些资源记录存入外部存储器。上述对外部存储 器DNS资源记录的调整算法可定期或不定期运行,以调整所缓存的资源记录。图2中的参数x% 可以根据理论值或经验值来设定,根据自然界普遍存在的“二八”原理,可将x%设为20%。

内存DNS资源记录调整模块的工作流程如图3所示。首先,内存DNS资源记录调整模块从DNS 资源记录优先级排序模块调入DNS资源记录优先级数据。接着,内存DNS资源记录调整模块根 据内存空间的大小确定能被内存容纳的排名前y%的DNS资源记录,如果这些资源记录都被存 入了内存,则结束;否则,将优先级不够的资源记录从内存中删除,并将内存中未保存但优 先级处于前y%的资源记录从硬盘调入内存。这样可以保证DNS递归服务器的内存中始终保存 着比较热门的资源记录,从而可以减小DNS递归服务器对DNS请求的处理时延。内存DNS资源 记录调整模块的将定期或不定期地执行内存中DNS资源记录的动态调整算法。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保 护范围应以权利要求所述为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号