一种DNS服务的预加载启动方法、预加载系统及管理系统技术方案

技术编号:15520791 阅读:215 留言:0更新日期:2017-06-04 10:15
本发明专利技术提出了一种DNS服务的预加载启动方法、预加载系统及管理系统。通过在DNS配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因DNS配置文件出现语法错误而被退出,从而避免了因配置文件出现错误而导致的zone的重载以及域名的重载,进而保证向外输出高效稳定的DNS服务。此外,本发明专利技术还能够根据检测到的语法错误对于DNS配置文件进行自动修正,从而将语法错误造成的性能损失降到最小。

Pre loading starting method of DNS service, pre loading system and management system

The invention provides a pre loading starting method of a DNS service, a preload system and a management system. Through the DNS configuration file syntax error, still ensure the normal service DNS start to avoid DNS service due to the DNS configuration file syntax error and exit, so as to avoid the error caused by the configuration file of the zone domain and overloading overloading, and ensure output stable and efficient DNS services. In addition, the invention can automatically modify the DNS configuration file according to the detected syntax errors so as to minimize the performance loss caused by the syntax errors.

【技术实现步骤摘要】
一种DNS服务的预加载启动方法、预加载系统及管理系统
本专利技术涉及域名服务领域,具体涉及一种DNS服务的预加载启动方法、预加载系统及管理系统。
技术介绍
DNS(DomainNameSystem)为域名系统,是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。向外提供高效稳定的DNS服务的重要性不言而喻。尤其在10万量级的大型DNS服务中,Docker容器正在广泛应用,所述Docker容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器是完全使用沙箱机制,相互之间不会有任何接口。Docker容器的使用非常广泛,在Docker容器高速增长的情况下,高效稳定的对外提供DNS服务尤其重要。在大型DNS服务系统中,随着域名数量的增加,DNS服务系统加载zone的时间以及域名变更后重载zone的时间也会增长,若需要加载10万个域名,则需要耗费相当长的时间。在DNS(域名解析系统)环境中,zone是指分配给某个服务器的特定命名空间。zone文件即区域配置文件中包含的指令能够将互联网域名解析为对应的IP地址。在目前的DNS服务系统中,如果很多用户在线对域名进行变更,在响应用于对域名进行变更的程序的鲁棒性不够的情况下,十分容易导致变更后的DNS配置文件中出现语法错误,从而会导致DNS服务无法启动。如图1所示,在DNS服务的预加载过程中,在进行常规的programname检测和assertion回调后会进行DNS配置文件的语法检测,若检测失败,则引发abort和exit,从而无法加载DNS服务,进而无法向用户提供DNS服务。其中abort引发不正常进程的终止而exit直接退出进程。DNS服务默认加载配置文件/etc/named.conf,默认情况下DNS服务启动之前,会优先检测配置文件的语法,如果出现语法的错误,则会导致异常退出。在一些大型的DNS服务系统中,频繁的异常退出和zone的重载显然严重的影响用户体验,而不能提供稳健的DNS服务而导致系统的性能损耗也相当严重。
技术实现思路
为了解决上述技术问题,本专利技术一种DNS服务的预加载启动方法、预加载系统及管理系统。通过在配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因配置文件出现语法错误而被退出,从而避免了因配置文件出现错误而导致的zone的重载以及域名的重载,向外输出高效稳定的DNS服务。本专利技术是以如下技术方案实现的。一种DNS服务的预加载启动方法,包括:获取DNS配置文件;对所述DNS配置文件进行语法检测:若检测通过,则加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务;若检测未通过,则根据所述检测结果生成警告信息,加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务。进一步地,若检测未通过,则在启动DNS服务后根据所述警告信息修正所述DNS配置文件中的语法错误。进一步地,在修正所述DNS配置文件中的语法错误后,重新加载所述DNS配置文件。进一步地,通过reconfig或者reload来重新加载所述DNS配置文件以消除语法错误。一种DNS服务的预加载系统,包括:DNS配置文件获取模块,用于获取DNS配置文件;语法检测模块,用于对所述DNS配置文件进行语法检测;预加载模块,用于根据所述语法检测结果进行DNS服务的预加载;所述预加载模块包括:区域配置文件加载子模块,用于加载区域配置文件;启动模块,用于根据所述区域配置文件的加载结果启动DNS服务;警告生成模块,用于根据所述检测结果生成警告信息。进一步地,包括:所述预加载模块还包括:修正子模块,用于根据所述警告信息修正所述DNS配置文件中的语法错误。进一步地,还包括重新加载模块,用于在修正所述DNS配置文件中的语法错误后,重新加载所述DNS配置文件。进一步地,所述重新加载模块通过调用reconfig或reload指令重新加载所述DNS配置文件以消除语法错误。一种DNS服务管理系统,包括:DNS管控服务器、DNS服务数据库和DNS服务器,所述DNS服务器中加载有上述DNS预加载系统;所述DNS服务数据库用于存储DNS服务有关的数据;所述DNS管控服务器接受用于对于域名的修改请求,并根据所述修改请求和所述DNS服务数据库中的数据生成DNS配置文件和区域配置文件;所述DNS配置文件和区域配置文件被下发至所述DNS服务器;所述DNS服务器用于获取所述DNS配置文件和区域配置文件,并根据所述DNS配置文件和区域配置文件向用户提供DNS服务。进一步地,所述DNS配置文件和区域配置文件为同时下发。本专利技术的有益效果是:本专利技术提出了一种DNS服务的预加载启动方法、预加载系统及管理系统。本专利技术具有如下优点:(1)通过在配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因配置文件出现语法错误而被退出,从而避免了因配置文件出现错误而导致的zone的重载以及域名的重载,向外输出高效稳定的DNS服务。(2)根据检测到的语法错误对于配置文件进行自动修正,从而将语法错误造成的性能损失降到最小。(3)提供了一种DNS服务的管理系统,能够提供对于域名进行中控管理,响应用户对于域名的修改请求,并且向外输出域名的管理信息,使得各个终端根据域名的管理信息稳定提供DNS服务。附图说明图1是
技术介绍
提供的DNS服务预加载方法流程图;图2是实施例1提供的DNS服务的预加载启动方法流程图;图3是实施例2中提供的DNS的预加载系统的示意图;图4是实施例2中提供的预加载模块的示意图;图5是实施例3中提供的DNS服务管理系统的框图;图6是实施例3中提供的DNS服务管理系统的示意图;图7是实施例4中提供的终端的示意图。具体实施方法为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1:一种DNS服务的预加载启动方法,如图2所示,包括:S101.获取DNS配置文件;所述DNS配置文件为/etc/named.conf。S102.对所述DNS配置文件进行语法检测:S103.若检测通过,则加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务;S104.若检测未通过,则根据所述检测结果生成警告信息,加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务。现有技术中,在目前的DNS服务系统中,如果很多用户在线对域名进行变更,如果响应所述变更的程序存在漏洞,则和容易导致配置文件的语法错误,从而会本文档来自技高网
...
一种DNS服务的预加载启动方法、预加载系统及管理系统

【技术保护点】
一种DNS服务的预加载启动方法,其特征在于,包括:获取DNS配置文件;对所述DNS配置文件进行语法检测:若检测通过,则加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务;若检测未通过,则根据所述检测结果生成警告信息,加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务。

【技术特征摘要】
1.一种DNS服务的预加载启动方法,其特征在于,包括:获取DNS配置文件;对所述DNS配置文件进行语法检测:若检测通过,则加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务;若检测未通过,则根据所述检测结果生成警告信息,加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务。2.根据权利要求1所述的一种DNS服务的预加载启动方法,其特征在于:若检测未通过,则在启动DNS服务后根据所述警告信息修正所述DNS配置文件中的语法错误。3.根据权利要求2所述的一种DNS服务的预加载启动方法,其特征在于:在修正所述DNS配置文件中的语法错误后,重新加载所述DNS配置文件。4.根据权利要求3所述的一种DNS服务的预加载启动方法,其特征在于:通过reconfig或者reload来重新加载所述DNS配置文件以消除语法错误。5.一种DNS服务的预加载系统,其特征在于,包括:DNS配置文件获取模块,用于获取DNS配置文件;语法检测模块,用于对所述DNS配置文件进行语法检测;预加载模块,用于根据所述语法检测结果进行DNS服务的预加载;所述预加载模块包括:区域配置文件加载子模块,用于加载区域配置文件;启动模块,用于根据所述区域配置文件的加载结果启动DNS服务;警告生成模块,用于根据所述检测结果生成警...

【专利技术属性】
技术研发人员:王建飞李岩刘金国姚键杨伟东潘柏宇王冀
申请(专利权)人:合一智能科技深圳有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1