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

文档序号:7769760阅读:239来源:国知局
动态调整dns递归服务器缓存资源记录的方法和系统的制作方法
【专利摘要】本发明涉及一种动态调整DNS递归服务器缓存资源记录的方法和系统。该方法根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级,然后根据该优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录;进一步把优先级高的DNS资源记录从外部存储器调入内存以提高DNS递归服务器的对DNS请求的响应速度。该系统在DNS递归服务器内设置DNS资源记录优先级排序模块和外部存储器DNS资源记录调整模块,进一步还设置内存DNS资源记录调整模块。本发明能够提高递归服务器存储空间的利用率、递归服务器带宽的有效利用率以及递归服务器的响应速度。
【专利说明】动态调整DNS递归服务器缓存资源记录的方法和系统
【技术领域】
[0001]本发明属于网络【技术领域】,具体涉及一种动态调整DNS递归服务器缓存资源记录的方法和系统。
【背景技术】
[0002]DNS是互联网最为重要的基础性资源,是其它互联网业务安全运行的保证。DNS系统主要由权威服务器、递归服务器以及客户端构成,权威服务器存储了一个或多个区的信息,是DNS资源记录的源头。递归服务器负责接受客户端(解析器)发送的请求,然后通过向各级权威服务器发出查询请求获得用户需要的查询结果,最后返回给客户端的解析器。递归服务器可以将权威服务器返回的各种记录进行缓存从而减少查询次数和提高查询效率,因而也被称为缓存服务器。客户端一般通过递归服务器查询各类资源记录。
[0003]目前,互联网的顶级域已经超过300个,且这一数目还将进一步增长,互联网上的域名及其相应资源记录的条数也非常巨大。例如,光.cn顶级域的域名保有量就将近400万,每个域名还可能包含若干个子域名,如二级域名、三级域名及四级域名等。每个域名会对应多条资源记录,如常用的A记录(域名到IP地址的映射记录)、NS记录及SOA记录等,因而,一个域名对应的资源记录将达到数个甚至数十个。一旦部署DNSSEC,一个域名所对应的资源记录的条数更将大幅增长。
[0004]在现有递归服务器上,如果其缓存空间已满,则依各资源记录到达递归服务器的时间先后顺序进行淘汰,将最陈旧的资源记录最先淘汰掉。对于保留下来的每个资源记录,递归服务器会每隔一定的时间(例如6小时)向权威服务器重新请求一遍,以保持同步。现有递归服务器的缺点是:
[0005]a)存储空间利用率低。由于缓存中的资源记录是依时间顺序被保留下来的,会导致冷门资源记录(即日请求量较少的资源记录)过多而热门资源记录(即日请求量较多的资源记录)过少,从而导致递归服务器缓存空间利用率较低。
[0006]b)带宽有效利用率低。对于递归服务器上的资源记录,不管有没有被客户端请求至IJ,这些资源记录都会定期(例如6小时)进行更新。在递归服务器缓存空间有限的情况下,如果“冷门”资源记录增多,就会导致递归服务器的带宽有效利用率降低。
[0007]c)响应速度慢。在存储空间有限的情况下,如果存储的“冷门”资源记录太多,就会导致“热门”资源记录的存储空间不足,则递归服务器需频繁地从权威服务器那里下载这部分“热门”资源记录,从而导致响应速度慢。
[0008]上述讨论的是递归服务器的外部存储空间(比如硬盘),其实,递归服务器的内存也存在着类似的问题。一般而言,内存的访问速度快,而硬盘的访问速度慢,将资源记录从外部存储空间(比如硬盘)调入内存可以提高其响应速度。然而,内存的空间一般很小,要远远小于外部存储设备(如硬盘)的大小,在现有机制下,资源记录是依其到达递归服务器的时间先后顺序被调入内存的,优先将新近到达的资源记录调入内存,故递归服务器的内存与其外部存储设备存在着类似的问题,即内存的空间利用较低,从而导致递归服务器的整 体响应速度较慢。

【发明内容】

[0009]本发明的目的是针对上述问题,提供一种动态调整DNS递归服务器缓存资源记录的方法和系统,以提高递归服务器存储空间的利用率,提高递归服务器带宽的有效利用率,以及提高递归服务器的响应速度。
[0010]为实现上述目的,本发明采用如下技术方案:
[0011]一种动态调整DNS递归服务器缓存资源记录的方法,其步骤包括:
[0012]I)根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级;
[0013]2)根据DNS资源记录的优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器下载优先级高的DNS资源记录。
[0014]进一步地,上述方法还包括如下步骤:根据DNS资源记录的优先级数据把优先级高的DNS资源记录从外部存储器调入内存,以提高DNS递归服务器的对DNS请求的响应速度。
[0015]进一步地,上述方法以历史日请求量预测资源记录的当前热度,并对不同天的历史数据进行权重处理;所述自身特性包括对应域名的层级和对应域名所在的顶级域,对应域名层级低的资源记录的缓存优先级高,对应域名层级高的资源记录的缓存优先级低。
[0016]一种动态调整DNS递归服务器缓存资源记录的系统,包括客户端、DNS递归服务器和DNS权威服务器,所述DNS递归服务器包括:
[0017]DNS资源记录优先级排序模块,负责根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级;
[0018]外部存储器DNS资源记录调整模块,连接所述DNS资源记录优先级排序模块,负责根据DNS资源记录的优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器下载优先级高的DNS资源记录。
[0019]进一步地,所述DNS递归服务器还包括内存DNS资源记录调整模块,连接所述DNS资源记录优先级排序模块,负责根据DNS资源记录的优先级数据把优先级高的DNS资源记录从外部存储器调入内存,以提高DNS递归服务器的对DNS请求的响应速度。
[0020]与现有技术相比,本发明的优点如下:
[0021]I)能够依据资源记录的热度动态调整递归服务器的缓存策略。如果某资源记录由“热门”变为“冷门”,则适时对其进行淘汰,以将存储空间腾给“热门”的资源记录;如果某资源记录由“冷门”变为“热门”,则提前对其进行预取。
[0022]2)提高了递归服务器存储空间及带宽的利用率。递归服务器始终优先保存“热度”较高的资源记录,存储空间的利用率较高。虽然递归服务器依然需定时向权威服务器发送资源记录请求以定时更新其所存储的资源记录,但由于更新的都是“热度”较高或比较重要的资源记录,故带宽的有效利用率也得到提高。
[0023]3)提高了客户端的响应速度。由于缓存了“热门”的资源记录,递归服务器不必临时向权威服务器下载这些资源记录,故其可以实时向客户端返回该客户端所请求的资源记录,所以响应速度较快。[0024]4)重点保障了重要顶级域的资源记录。在缓存优先级的计算过程中,通过增加相应参数可在同等条件下优先存储某些重点顶级域(如.cn、.中国)的资源记录。
[0025]5)能够对不同层级的域名的资源记录进行差别处理。通过增加相应的参数,可在同等条件下优先缓存层级较少的域名(如I级域名)的资源记录。
【专利附图】

【附图说明】
[0026]图1是实施例中DNS递归服务器的新增模块示意图。
[0027]图2是实施例中外部存储器的资源记录动态调整流程图。
[0028]图3是实施例中内存的DNS资源记录动态调整流程流程。
【具体实施方式】
[0029]下面通过具体实施例,并配合附图,对本发明做详细的说明。
[0030]本发明通过为现有DNS递归服务器设计DNS资源记录优先级排序模块、外部存储器DNS资源记录调整模块以及内存DNS资源记录调整模块来提高DNS递归服务器的性能。这三个模块的关系如图1所示,分别说明如下:
[0031 ] DDNS资源记录优先级排序模块
[0032]该模块根据各DNS资源记录的日访问量以及DNS资源记录的自身特性(如对应域名的层级、对应域名所在的顶级域等),采用DNS资源记录动态调整算法来确定各DNS资源记录的优先级。后文将对该算法做具体说明。
[0033]2)外部存储器DNS资源记录调整模块
[0034]该模块根据DNS资源记录优先级排序模块所提供的DNS资源记录优先级数据来调整DNS递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器处下载优先级高的DNS资源记录。即当优先级高的DNS资源记录的TTL值失效时,立即从相应的权威服务器那里下载对应的DNS资源记录。当外部存储器的空间不足时,优先删除优先级低的DNS资源记录,而不是像现有技术这样按时间先后顺序删除。也就是说,即使对应优先级很低的DNS资源记录的TTL未到期,也将其删除。
[0035]3)内存DNS资源记录调整模块
[0036]内存的访问速度快,而外部存储器的访问速度慢,但内存的存储空间较小,不可能将外部存储器中的所有DNS资源记录都存储到DNS递归服务器的内存中,故需有选择地将部分DNS资源记录由外部存储器调入内存。在本发明中,内存DNS资源记录调整模块将根据DNS资源记录优先级排序模块所提供的DNS资源记录优先级数据把优先级高的DNS资源记录从外部存储器调入内存,以提高DNS递归服务器的对DNS请求的响应速度。
[0037]由于外部存储器DNS资源记录调整模块、内存DNS资源记录调整模块这两个模块都会调用DNS资源记录优先级排序模块所生成的DNS资源记录优先级数据,故该DNS资源记录优先级排序模块的设计是本发明的核心。
[0038]下面说明DNS资源记录优先级排序模块采用的DNS资源记录动态调整算法的总体设计目标和设计准则。
[0039]在递归服务器存储空间(包括外部存储空间和内存)有限的情况下,该算法的设计目标是:如果存储空间有限,则综合考虑资源记录的“热度”(日点击量)及其对应域名的特性(所属的顶级域、域名的层级等),评估出各个资源记录的缓存优先级,优先缓存优先级高的资源记录,优先淘汰优先级低的资源记录。
[0040]DNS资源记录优先级排序算法的一个重点是资源记录的热度预测算法,热度预测算法的设计准则如下:
[0041]a)以各资源记录的历史日请求量为基本预测依据,同一资源记录在同一天的不同时刻的请求频率可能差异巨大,但其在不同天的请求频率差异较小,以历史日请求量来预测资源记录的当前热度更能保证预测的准确性;
[0042]b)对不同天的历史数据进行权重处理,基本准则是:离当前的时间间隔越短,对当前热度的影响越大;离当前的时间间隔越长,对当前热度的影响越小。
[0043]资源记录动态调整的另一个重点是参考资源记录的自身特性来评估其缓存优先级。同等“热度”前提下,对应域名层级低的资源记录的缓存优先级高;对应域名层级高的资源记录的缓存优先级低。即当“热度”相同时,I级域名的资源记录的缓存优先级高于2级域名的,2级的高于3级的,以此类推。当“热度”及域名层级都相同时,某些重点顶级域的资源记录优先存储,这些重点顶级域包括.cn、.中国等。
[0044]依据上述算法设计目标及设计准则,设计了如下所示的资源记录缓存优先级计算公式:
【权利要求】
1.一种动态调整DNS递归服务器缓存资源记录的方法,其步骤包括: 1)根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级; 2)根据DSN资源记录的优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器下载优先级高的DNS资源记录。
2.如权利要求1所述的方法,其特征在于,还包括如下步骤:根据DSN资源记录的优先级数据把优先级高的DNS资源记录从外部存储器调入内存。
3.如权利要求2所述的方法,其特征在于:以历史日请求量预测资源记录的当前热度,并对不同天的历史数据进行权重处理,得到所述各DNS资源记录的日访问量;所述DNS资源记录的自身特性包括对应域名的层级和对应域名所在的顶级域,对应域名层级低的资源记录的缓存优先级高,对应域名层级高的资源记录的缓存优先级低。
4.如权利要求3所述的方法,其特征在于:采用如下公式计算DNS资源记录的优先级:
5.如权利要求4所述的方法,其特征在于: Li为资源记录i (I≤i≤N)的层级数的倒数;fl,如果资源记录i对应的顶级域为.c/i,.中国+^ , 5',-= 05 ^,即同等条件下优先保存.cn和.中国的资源记录;
M=7 ;q=20
6.如权利要求2所述的方法,其特征在于,外部存储器调整DNS资源记录的方法为:首先调入DNS资源记录优先级数据,然后判断优先级排名前x%的DNS资源记录是否已被存入外部存储器;如果是,则结束,否则将判断存储空间是否足够;如果是,则向相应权威服务器请求优先级排名前x%的DNS资源记录并将这些资源记录存入外部存储器;如果否,则先淘汰优先级最低的DNS资源记录,然后向相应权威服务器请求优先级排名前x%的DNS资源记录并将这些资源记录存入外部存储器。
7.如权利要求2所述的方法,其特征在于,内存调整DNS资源记录的方法为:首先调入DNS资源记录优先级数据,然后根据内存空间的大小确定能被内存容纳的排名前y%的DNS资源记录,如果这些资源记录都被存入了内存,则结束;否则,将优先级不够的资源记录从内存中删除,并将内存中未保存但优先级处于前7%的资源记录从外部存储器调入内存。
8.一种动态调整DNS递归服务器缓存资源记录的系统,包括客户端、DNS递归服务器和DNS权威服务器,其特征在于,所述DNS递归服务器包括: DNS资源记录优先级排序模块,负责根据各DNS资源记录的日访问量以及DNS资源记录的自身特性确定各DNS资源记录的优先级; 外部存储器DNS资源记录调整模块,连接所述DNS资源记录优先级排序模块,负责根据DSN资源记录的优先级数据调整DNS递归服务器的外部存储空间所存储的DNS资源记录,优先从DNS权威服务器下载优先级高的DNS资源记录。
9.如权利要求8所述的系统,其特征在于,所述DNS递归服务器还包括连接所述DNS资源记录优先级排序模块的内存DNS资源记录调整模块,负责根据DSN资源记录的优先级数据把优先级高的DNS资源记录从外部存储器调入内存。
10.如权利要求8或9所述的系统,其特征在于,所述DNS资源记录优先级排序模块采用如下公式计算DNS资源记录的优先级:
【文档编号】H04L29/06GK103491075SQ201310407703
【公开日】2014年1月1日 申请日期:2013年9月9日 优先权日:2013年9月9日
【发明者】邓光青, 孔宁, 延志伟, 沈烁 申请人:中国科学院计算机网络信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1