[发明专利]一种域名系统的优化方法、一种优化的域名系统在审
| 申请号: | 201310031835.9 | 申请日: | 2013-01-28 |
| 公开(公告)号: | CN103973820A | 公开(公告)日: | 2014-08-06 |
| 发明(设计)人: | 李学龙;伍正勇 | 申请(专利权)人: | 深圳市快播科技有限公司 |
| 主分类号: | H04L29/12 | 分类号: | H04L29/12;G06F17/30 |
| 代理公司: | 深圳鼎合诚知识产权代理有限公司 44281 | 代理人: | 郭燕;彭家恩 |
| 地址: | 518000 广东省深圳市南山区高新*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 域名 系统 优化 方法 | ||
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种优化的域名系统及其优化方法。
背景技术
DNS(Domain Name System,域名系统)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的分布式数据库,能够使人更为方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。BIND-DLZ(bind dynamic loadable zones)是可以实现区域记录动态更新的开源DNS。域名与IP等信息保存在数据库中。以MYSQL数据库为例,如图1所示,在BIND-DLZ域名系统中,每次处理DNS请求时,通常需要查询MYSQL数据库,取出相应的域名与IP等信息;因此,MYSQL数据库中的区域记录的更新能实时反映到外部请求中。但是,由于每次DNS请求都要查询MYSQL数据库,导致处理效率低下,QPS(Query Per Second,每秒查询率)最大只能达到5000。显然,对流量大的域名,这种DNS是不能满足需求的。因此,在保持原有功能的情况下,对QPS进行提升是非常必要的。
发明内容
本申请提供一种优化的域名系统及其优化方法,通过优化使域名系统的QPS得以提高。
根据本申请的第一方面,本申请提供一种域名系统的优化方法,包括:请求接收步骤,域名服务器接收客户端的域名查询请求;域名查询步骤,所述域名服务器在本地缓存模块中进行查找以对所述域名查询请求作出响应,所述本地缓存模块缓存域名信息,所述域名服务器将查找结果反馈到所述客户端。
进一步地,所述域名查询步骤包括:域名支持子步骤,所述域名服务器在所述本地缓存模块中进行查找,确认是否存在所述域名查询请求所查的域名,如果是则继续类型记录子步骤;类型记录子步骤,根据所述域名查询请求中的请求类型,所述域名服务器在所述本地缓存模块中进行查找,确认是否存在所请求类型的记录,如果是则将查找结果反馈给所述客户端。
优选地,所述域名支持子步骤中,如果不存在所述域名查询请求所查的域名,则判断所查的域名是否在域名白名单中,所述域名白名单缓存于所述本地缓存模块,如果在域名白名单中,则所述域名服务器对与之关联的数据库进行查找以获取所查的域名,如果不在域名白名单中,则所述域名服务器反馈查询失败到所述客户端;所述类型记录子步骤中,如果不存在所请求类型的记录,则判断所查的主机头标签是否在主机头白名单中,所述主机头白名单缓存于所述本地缓存模块,如果在主机头白名单中,则所述域名服务器对与之关联的数据库进行查找,将查找结果转换成所需的格式保存到所述本地缓存模块,并将查找结果反馈到所述客户端。
进一步地,所述本地缓存模块支持多线程操作;所述域名服务器采用多线程实现域名查询,所述多线程实现包括对任务处理线程分别分配内存池。
进一步地,所述的域名系统的优化方法还包括:缓存更新步骤,定时检测所述本地缓存模块的大小,按预定时间清理所述本地缓存模块。
优选地,所述缓存更新步骤包括:第一判断子步骤,判断是否结束第一预定时间,如果是,则获取所述本地缓存模块的缓存大小,并判断所述缓存大小是否超过预设缓存,如果超过,则清理所述本地缓存模块的全部缓存,如果未超过则获取数据库的最新更新时间;第二判断子步骤,判断是否结束第二预定时间,如果是,则清理所述本地缓存模块的全部缓存,如果未结束第二预定时间,则获取数据库的最新更新时间;更新判断子步骤,根据获取的数据库的最新更新时间,根据所述最新更新时间对应的记录查找所述本地缓存模块中是否存在该记录,如果存在则将所述本地缓存模块中的该记录删除;其中,所述第二判断子步骤或者是,如果未结束所述第一预定时间,则判断是否结束第二预定时间,如果是,则清理所述本地缓存模块的全部缓存,如果未结束第二预定时间,则获取数据库的最新更新时间。
根据本申请的第二方面,本申请提供一种优化的域名系统,包括:客户端,用于向域名服务器发送域名查询请求;所述域名服务器,用于接收所述客户端的域名查询请求,所述域名服务器包括用于缓存域名信息的本地缓存模块,所述域名服务器还用于在所述本地缓存模块中进行查找以对所述域名查询请求作出响应,并将查找结果反馈到所述客户端。
进一步地,所述域名服务器还包括:域名支持模块,用于在所述本地缓存模块中进行查找,确认是否存在所述域名查询请求所查的域名,如果是则执行类型记录模块;类型记录模块,用于根据所述域名查询请求中的请求类型,在所述本地缓存模块中进行查找,确认是否存在所请求类型的记录,如果是则将查找结果反馈给所述客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市快播科技有限公司,未经深圳市快播科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310031835.9/2.html,转载请声明来源钻瓜专利网。





