[发明专利]一种多层级共享缓存的递归域名服务系统和方法有效
申请号: | 201510340578.6 | 申请日: | 2015-06-18 |
公开(公告)号: | CN104935680B | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 徐东;刘明星;赵琦;于俊峰 | 申请(专利权)人: | 中国互联网络信息中心 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L29/08 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100190 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一级缓存 转发服务器 服务器 二级缓存服务器 域名查询请求 域名服务系统 共享缓存 多层级 缓存区 递归 服务器缓存区 数据采集模块 同步控制模块 缓存服务器 查询结果 迭代查询 返回数据 缓存共享 缓存记录 缓存资源 加载模块 域名缓存 域名解析 资源记录 命中率 时延 转发 验证 共享 记录 检查 | ||
1.一种多层级共享缓存的递归域名服务系统,其特征在于,包括一级缓存服务器、二级缓存服务器以及转发服务器;
所述一级缓存服务器接收来自客户端的域名查询请求,并检查本地服务器的缓存区是否有请求的资源记录,如果缓存区命中则直接将资源记录应答给客户端,如果缓存区未命中则将域名查询请求转发给所述二级缓存服务器;
所述二级缓存服务器汇集所有一级缓存服务器的缓存记录,在收到一级缓存服务器转发的域名查询请求后,检查本地服务器缓存区,如果本地缓存区有请求的资源记录则直接返回数据给一级缓存服务器,否则将域名查询请求转给所述转发服务器;
所述转发服务器接收来自二级缓存服务器的查询请求,并进行迭代查询,最后将查询到的资源记录返回二级缓存服务器,二级缓存服务器缓存查询结果并返回查询结果给一级缓存服务器,一级缓存服务器缓存查询结果并将查询结果返回给客户端;
所述一级缓存服务器上部署数据采集模块,负责一级缓存服务器缓存区资源记录的导出以及本地服务器缓存资源记录文件的维护管理;所述一级缓存服务器和所述二级缓存服务器上部署同步控制模块,负责进行一级缓存服务器和二级缓存服务器的数据同步;所述二级缓存服务器上部署数据加载模块,负责验证接收的资源记录格式的正确性、资源记录的合并处理,以及合并后资源记录的内存加载工作,并与本地服务器上的DNS解析进程通信。
2.如权利要求1所述的系统,其特征在于:所述数据采集模块包括两个进程,一个进程负责定期发送请求,将本地服务器DNS解析进程的内存缓存记录导出并写入本地硬盘,另一个进程对导出的缓存区资源记录进行预处理,将TTL即将到期的资源记录删除。
3.如权利要求1所述的系统,其特征在于:所述同步控制模块包括客户端进程和服务器端进程,在每次数据同步前,双方进行通信确认是否需要进行数据同步;如果同步控制模块的服务器端进程允许数据同步传输,则客户端进程与服务器端进程建立TCP连接,并传输数据,服务器端进程在接收完数据后进行MD5校验以确保传输数据的正确性。
4.如权利要求1或3所述的系统,其特征在于:所述同步控制模块设有共享锁,对共享缓存的记录文件进行保护以防止多个程序或进程同时读写共享缓存文件导致的死锁。
5.如权利要求1或3所述的系统,其特征在于:所述一级缓存服务器和所述二级缓存服务器进行数据同步前,进行文件序列号大小或新旧的对比,以避免无效的数据同步。
6.如权利要求1所述的系统,其特征在于:所述二级缓存服务器将所述一级缓存服务器的缓存资源记录放在本地硬盘而不是直接写入服务器内存,以防止因资源记录格式错误导致的本地服务器DNS解析异常。
7.如权利要求1所述的系统,其特征在于:由若干所述一级缓存服务器组成服务机群,并采用负载均衡技术。
8.一种多层级共享缓存的递归域名服务方法,适用于一包括一级缓存服务器、二级缓存服务器以及转发服务器的递归域名服务系统,该方法的步骤包括:
1)一级缓存服务器接收来自客户端的域名查询请求,并检查本地服务器的缓存区是否有请求的资源记录,如果缓存区命中则直接将资源记录应答给客户端,如果缓存区未命中则将域名查询请求转发给二级缓存服务器;
2)二级缓存服务器汇集前端所有一级缓存服务器的缓存记录,在收到一级缓存服务器转发的域名查询请求后,检查本地服务器缓存区,如果本地缓存区有请求的资源记录则直接返回数据给一级缓存服务器,否则将域名查询请求转给转发服务器;
3)转发服务器接收来自二级缓存服务器的查询请求,并进行迭代查询,最后将查询到的资源记录返回二级缓存服务器,二级缓存服务器缓存查询结果并返回查询结果给一级缓存服务器,一级缓存服务器缓存查询结果并将查询结果返回给客户端;
在一级缓存服务器上部署数据采集模块,负责一级缓存服务器缓存区资源记录的导出以及本地服务器缓存资源记录文件的维护管理;在一级缓存服务器和二级缓存服务器上部署同步控制模块,负责进行一级缓存服务器和二级缓存服务器的数据同步;在二级缓存服务器上部署数据加载模块,负责验证接收的资源记录格式的正确性、资源记录的合并处理,以及合并后资源记录的内存加载工作,并与本地服务器上的DNS解析进程通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国互联网络信息中心,未经中国互联网络信息中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510340578.6/1.html,转载请声明来源钻瓜专利网。