一种自适应缓存的多层级域名解析系统与方法

文档序号:34928184发布日期:2023-07-28 05:53阅读:24来源:国知局
一种自适应缓存的多层级域名解析系统与方法

本发明涉及一种自适应缓存的多层级域名解析系统与方法。


背景技术:

1、域名系统(domainnamesystem,dns)是互联网的核心基础设施,其本质是一种将域名和ip地址相互映射的一个分布式数据库。而域名解析在网络空间中负责域名和ip之间的转换工作,由dns服务器实现域名解析服务,方便用户通过注册的域名访问到正确的网络地址。因此,域名解析服务的质量与效率直接影响了互联网服务的效率。

2、dns服务器拥有两种查询模式:缓存模式和转发模式。缓存模式下,dns服务器通过查询缓存中的域名资源记录对解析请求进行响应;而转发模式下,dns服务器会将解析请求直接转发给上层dns服务器。缓存模式下的查询速度快于转发模式下的查询速度。一台dns服务器可以同时配置缓存模式和转发模式,也可以仅配置其一。

3、在dns服务器的缓存中的每个域名资源记录都会被设置生存周期(timetolive,ttl)属性值,该属性值被用来表示域名数据在缓存中存放的时间。ttl值时间的长短主要取决于数据一致性和服务器性能两者之间的平衡。通过缓存模式对域名解析请求进行缓存解析时,如果该dns服务器的缓存中包含要被访问的域名资源记录则视为缓存命中,如果缓存中未包含被访问的域名资源记录则视为缓存未命中,命中率=命中数/(命中数+没有命中数)。对于缓存模式的域名解析服务,缓存命中率是衡量该服务质量的重要指标。缓存未命中率可能被缓存容量、缓存粒度、缓存策略、缓存时间、缓存内容热度等多种因素影响。

4、现有技术中存在一种多层级共享缓存递归域名服务系统(cn104935680a),通过基于二级架构的一致性共享缓存机制,将多个服务器的缓存共享起来,提高域名数据缓存总量,以此减少了整个系统向外转发查询的总工作量,降低解析延时。但是,在该技术中,当一级缓存服务器的缓存命中率低下时,会向二级缓存服务器产生大量的转发查询需求,产生新的延时问题,而随着二级服务器数量的增加及其与一级服务器间近程的增加,所述新的延时也会变大,从而导致域名解析服务质量难以保障。此外,该技术这种缓存数据被动被动留存的一致性的共享缓存机制,缺乏对一级缓存服务器的缓存容量、缓存数据优先级进行管理,无法提高一级缓存服务器的命中率,将进一步放大一、二级服务器间的交互产生的新的解析延时问题。

5、由此可见,能否基于现有技术中的不足,提供一种自适应缓存的多层级域名解析系统与方法,解决多层级域名解析系统一次缓存命中率低、缓存数据管理粗放、dns响应延时的技术问题,成为本领域技术人员亟待解决的技术难题。


技术实现思路

1、发明所要解决的课题

2、本发明的目的是在于克服现有技术的缺陷,提供一种自适应缓存的多层级域名解析系统与方法。根据本发明所提供的自适应缓存的多层级域名解析系统与方法,解决了多层级域名解析系统由于缓存数据管理粗放导致的一次缓存命中率低、dns响应时延大的技术问题,使整个系统拥有很高的缓存命中率与更低的响应时延,提升了域名解析系统的解析效率。

3、用于解决课题的方法

4、本发明第一方面涉及一种自适应缓存的多层级域名解析系统。

5、包括域名解析模块以及数据中心。

6、优选地,所述域名解析模块包括一级dns服务器和二级dns服务器。

7、所述一级dns服务器对从客户端接收到的域名解析请求进行一级解析,如果一级解析失败则一级dns服务器向二级dns服务器发起二级域名解析请求,二级dns服务器进行二级解析。

8、优选地,所述数据中心包括:域名资源存储模块、解析行为分析模块、缓存容量计算模块和缓存调度模块。

9、所述域名资源存储模块将所述一级dns服务器和所述二级dns服务器中缓存的所有的域名资源记录载入到域名资源列表中,并基于数据预取技术维护所述域名资源列表的数据有效性,域名资源列记录了历史流量中所有域名的有效资源记录。

10、所述解析行为分析模块存储收集所有一级dns服务器的解析行为日志存入解析行为日志表中,并统计每个域名被查询的频率与每个域名一级缓存未命中的频率,生成域名查询频率表与域名缓存未命中频率表。

11、所述缓存容量计算模块基于所述解析行为存储模块生成域名查询频率表,定时为所述一级dns服务器计算出优选缓存容量,使所述一级dns服务器的缓存容量根据访问流量特征发生变化。

12、所述优选缓存容量的计算方法为,基于所述域名查询频率表绘制域名频次-排名分布图,并通过拐肘法选取拐点排名作为优选缓存容量。

13、所述缓存调度模块依据计算出的所述优选缓存容量和所述域名缓存未命中频率表,对所述一级dns服务器和所述二级dns服务器的缓存数据进行调度。

14、本发明第二方面涉及一种自适应缓存的多层级域名解析方法。

15、包括一级解析和二级解析和自适应缓存调度。

16、一级dns服务器进行一级解析,二级dns服务器进行二级解析。

17、优选地,一级解析为,所述一级dns服务器收到域名解析请求后,首先通过缓存查询模式进行解析查询,若缓存命中,则将结果返回至客户端,否则向二级dns服务器发起二级域名解析请求。

18、优选地,二级解析为,所述二级dns服务器收到来自一级dns服务器的域名解析请求后进行二级解析,首先所述二级dns服务器通过缓存查询模式进行解析查询,若缓存命中,则将结果返回至客户端,否则所述二级dns服务器进入转发查询模式,通过转发器外部公共dns服务器发起递归查询。

19、优选地,自适应缓存调度为,所述缓存调度模块依据计算出的优选缓存容量和域名缓存未命中频率表,对所述一级dns服务器的缓存数据进行第一缓存调度。

20、所述缓存调度模块依据所述域名资源列表,对所述一级dns服务器和所述二级dns服务器的缓存数据进行第二缓存调度。

21、优选地,第一缓存调度为,定时对比所述一级dns服务器缓存的数据量与所述计算出的优选缓存容量的数值大小,当所述一级dns服务器缓存的数据量少于优选缓存容量时,所述缓存调度模块对一级dns服务器进行缓存添加,直到缓存的域名数据量达到优选缓存容量。

22、优选地,缓存添加的过程为,按照频率从高到低依次读取域名缓存未命中频率表中的域名,并在所述域名资源列表中读取相应域名资源记录,若当前读取的所述域名资源记录不在所述一级dns服务器的缓存中,则将所述域名资源记录加入所述一级dns服务器的缓存中,否则读取频率次高的域名资源记录。

23、优选地,第二缓存调度为,缓存调度模块定期读取域名资源存储模块维护的域名资源列表,并将域名资源列表最新的全量域名数据载入二级dns服务器的缓存中,并替换原有缓存。

24、发明的效果

25、根据本发明所提供的自适应缓存的多层级域名解析系统与方法,解决了多层级域名解析系统由于缓存数据管理粗放导致的一次缓存命中率低、dns响应时延大的技术问题,降低了系统内部的转发次数,使整个系统拥有更高的缓存命中率与更低的dns响应时延,提升了域名解析系统的解析效率。

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