Dns递归服务器分层缓存方法和系统的制作方法

文档序号:9711622阅读:622来源:国知局
Dns递归服务器分层缓存方法和系统的制作方法
【技术领域】
[0001]本发明属于网络技术、域名系统(DNS)技术领域,具体涉及一种DNS递归服务器分层缓存方法和系统。
【背景技术】
[0002]DNS递归服务器是DNS的重要组件之一,负责域名与IP地址之间映射记录的解析。DNS递归服务器会将来自权威服务器的响应信息记录暂存到其中的缓存中,这样当递归服务器再次接收到用户同样的解析请求时,就可以直接向用户回应相应的记录信息,而不需要再次向权威服务器发送查询请求,从而可以有效的提高域名解析的效率并减少带宽的消耗。DNS缓存的高效运转是保证递归域名服务乃至整体域名服务水平的一个关键因素。
[0003]通过分析某大型公共递归服务器的一整天查询日志得知,来自用户群体的域名查询行为存在典型的长尾分布特征(long tail distribut1n),大多数域名查询都是针对一小部分热点域名而进行,而其他绝大部分域名(超过90%)在一天内的被查询次数不到10次,大约67%的域名一天内只被查询过1次(其中绝大部分为某些互联网业务随机生成的临时性域名)。随着新通用顶级域以及国际化域名的广泛应用,域名空间将进一步扩大,相信以后域名查询的这种长尾分布特征会愈加明显。
[0004]目前DNS递归服务器缓存所采用的通用架构通常由单一缓存模块来构成,从权威服务器发来的响应信息记录会根据某种特定的算法(如典型的LRU算法,Least RecentlyUsed)存储到缓存队列中。通常情况下,查询频率较高的域名会被动态调整到缓存队列的前端,查询频率较低的域名会被逐渐调整到缓存队列的末端,直至该域名因为TTL到期而被删除或者由于缓存队列达到长度上限而被抛弃。这种缓存策略由于可以基本保证查询频率较高的域名能够一直保留在缓存队列中直至其TTL过期,因此被业内广泛采用。但是,这种缓存策略由于采用单一的缓存队列模块,高频域名和低频域名被共同存储在同一个缓存队列中处理,大量的低频查询域名的出现,势必会极大的挤占和增加缓存队列的存储空间,同时使得一部分中频域名过早地被缓存剔除掉,从而会降低DNS缓存的存取效率和命中率,对递归服务器的域名解析性能造成严重影响。

【发明内容】

[0005]针对上述问题,本发明旨在提供一种新型的DNS递归服务器分层缓存方法和系统,以降低大量低频域名对于DNS缓存的负面影响,提升DNS缓存的工作效率。
[0006]为实现上述目的,本发明采用的技术方案如下:
[0007]—种DNS递归服务器分层缓存方法,包括如下步骤:
[0008]1)将DNS递归服务器的缓存分为高频域名缓存队列和低频域名缓存队列;
[0009]2)根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;
[0010]3)若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迀移至高频域名缓存队列中。
[0011]进一步地,当递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
[0012]进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迀移至高频域名缓存队列中。
[0013]进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
[0014]进一步地,所述域名访问频率阈值等于1。
[0015]一种DNS递归服务器分层缓存系统,包括DNS递归服务器,所述DNS递归服务器的缓存包括高频域名缓存模块和低频域名缓存模块;根据域名的查询频率的不同,将域名的响应记录存放到DNS递归服务器中的不同缓存队列中;若低频域名缓存队列中的域名响应记录超过预先设定的域名访问频率阈值,则将该域名响应记录迀移至高频域名缓存队列中。
[0016]进一步地,所述递归服务器接收到来自用户的查询请求时,首先检查高频域名缓存队列中是否存在相应的响应信息,若存在,直接向用户返回该响应信息,同时对该缓存队列进行更新;若不存在,则继续检查低频域名缓存队列是否存在相应的响应信息。
[0017]进一步地,所述继续检查低频域名缓存队列是否存在相应的响应信息,若存在,则直接向用户返回该响应信息,同时将该响应信息迀移至高频域名缓存队列中。
[0018]进一步地,若高频域名缓存队列和低频域名缓存队列皆不存在相应的响应信息,则递归服务器负责向权威服务器发起查询请求,并将收到的应答信息返回给用户,同时将该应答信息存至低频域名缓存队列中。
[0019]进一步地,所述域名访问频率阈值等于1。
[0020]本发明提供的DNS递归服务器分层缓存方法和系统,所提供的DNS递归服务器的缓存由高低两部分缓存队列组成;根据域名的查询频率的不同,其响应记录可以被存放到DNS递归服务器中的不同缓存队列中;低频域名缓存队列中的域名响应记录若超过预先规定的访问频率阈值,即被迀移至高频域名缓存队列中。与现有技术相比,本发明的优点如下:[0021 ] 1)能够对高频域名和低频域名实行分别缓存处理;
[0022]2)能够提高递归服务器缓存的存取效率和命中率;
[0023]3)能够提尚递归服务器的域名解析性能;
[0024]4)访问频率阈值、高低频域名LRU缓存的大小可以自由定制设定。
【附图说明】
[0025]图1是本发明的递归服务器分层缓存架构示意图。
[0026]图2是本发明的DNS递归服务器分层缓存方法的步骤流程图。
【具体实施方式】
[0027]为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1