一种DNS服务的预加载启动方法、预加载系统及管理系统与流程

文档序号:12495066阅读:366来源:国知局
一种DNS服务的预加载启动方法、预加载系统及管理系统与流程

技术领域

本发明涉及域名服务领域,具体涉及一种DNS服务的预加载启动方法、预加载系统及管理系统。



背景技术:

DNS(Domain Name System)为域名系统,是因特网上作为域名和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服务的预加载过程中,在进行常规的program name检测和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无法启动,并无法对外提供服务。

本实施例中若出现语法错误,则会跳过语法检测,保证bind正常启动,zone的正常加载,服务启动之后,可以修正语法错误,执行reconfig或者reload来消除语法的错误。bind为将一本地地址与一套接口捆绑,适用于未连接的数据报或流类套接口,在connect()或listen()调用前使用。zone某种意义上同domain的含义类似,指管理员的管理范围。在DNS(域名解析系统)环境中,zone是指分配给某个服务器的特定命名空间。zone 文件中包含的指令能够将互联网域名解析为对应的IP地址。所述区域配置文件即为用于加载zone的文件。

即,若检测未通过,则在启动DNS服务后根据所述警告信息修正所述DNS配置文件中的语法错误。

具体地,在修正所述DNS配置文件中的语法错误后,重新加载所述DNS配置文件。

具体地,通过reconfig或者reload来重新加载所述DNS配置文件以消除语法错误。

本实施例中提供了一种DNS服务的预加载启动方法,通过在配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因配置文件出现语法错误而被退出,从而避免了因配置文件出现错误而导致的zone的重载以及域名的重载,向外输出高效稳定的DNS服务。此外,本实施例中还能够根据检测到的语法错误对于配置文件进行自动修正,从而将语法错误造成的性能损失降到最小。

实施例2:

一种DNS的预加载系统,如图3所示,包括:

DNS配置文件获取模块201,用于获取DNS配置文件;

语法检测模块202,用于对所述DNS配置文件进行语法检测;

预加载模块203,用于根据所述语法检测结果进行DNS的预加载。

所述预加载模块203,如图4所述,包括:

区域配置文件加载子模块2031,用于加载区域配置文件;

启动模块2032,用于根据所述区域配置文件的加载结果启动DNS服务;

警告生成模块2033,用于根据所述检测结果生成警告信息。

修正子模块2034,用于根据所述警告信息修正所述DNS配置文件中的语法错误。

具体地,还包括重新加载模块204,用于在修正所述DNS配置文件中的语法错误后,重新加载所述DNS配置文件。

具体地,所述重新加载模块204通过调用reconfig或reload指令重新加载所述DNS配置文件以消除语法错误。

本实施例中提供了一种DNS的预加载系统,能够用于实现实施例1中提供的DNS服务的预加载启动方法。本实施例通过在配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因配置文件出现语法错误而被退出,从而避免了因配置文件出现错误而导致的zone的重载以及域名的重载,向外输出高效稳定的DNS服务。此外,本实施例中还能够根据检测到的语法错误对于配置文件进行自动修正,从而将语法错误造成的性能损失降到最小。

实施例3:

一种DNS服务管理系统,如图5,包括:

DNS管控服务器401、DNS服务数据库402和DNS服务器403,所述DNS服务器401中加载DNS预加载系统;在DNS预加载系统中,如果出现语法的错误,也会正常启动bind服务和zone的加载,保证对外提供DNS服务。

所述DNS服务数据库402用于存储DNS服务有关的数据;

所述DNS管控服务器401接受用于对于域名的修改请求,并根据所述修改请求和所述DNS服务数据库402中的数据生成DNS配置文件和区域配置文件;

所述DNS配置文件和区域配置文件被下发至所述DNS服务器403。

具体地,所述DNS配置文件和区域配置文件为同时下发。

所述DNS服务器403用于获取所述DNS配置文件和区域配置文件,并根据所述DNS配置文件和区域配置文件向用户提供DNS服务。

在DNS预加载系统中,若不出现语法错误,则得到状态值ISC_R_SUCCESS,若出现语法错误,则根据语法错误产生警告waning并根据warning来修正语法错误。

本实施例中提供的一种DNS服务管理系统,如图6所示,具体地,由自主研发的WENDNS平台作为DNS管控服务器401,由自主研发的DB_SERVER作为DNS服务数据库402,并由DB_SERVER向各个用户下发变更后的DNS配置文件和区域配置文件。

具体地,WENDNS平台能够接收多个用户发送的提交域名修改的请求,通过与DB_SERVER进行数据交互,能够根据请求生成DNS配置文件和区域配置文件。所述DNS配置文件和区域配置文件的修改结果被同时下发至各个用户所在的DNS服务器403,由DNS服务器403根据所述DNS配置文件和区域配置文件的修改结果向用户提供DNS服务。

具体地,DNS服务器403能够在配置文件出现语法错误的情况下,仍然保证正常启动DNS服务从而避免DNS服务因配置文件出现语法错误而被退出,避免了因配置文件出现错误而导致的zone的重载以及域名的重载,向外输出高效稳定的DNS服务。还能够根据检测到的语法错误对于配置文件进行自动修正,从而将语法错误造成的性能损失降到最小。对于用户而言DNS服务器403的这一特性能够为用户带来较好的体验。

本实施例能够提供对于域名进行中控管理,响应用户对于域名的修改请求,并且向外输出域名的管理信息,使得各个终端根据域名的管理信息稳定提供DNS服务。

实施例4:

本发明的实施例还提供一种终端,所述终端包括一种DNS的预加载系统。该终端可以是移动终端等终端设备。可选地,在本实施例中,该终端也可以是计算机终端,还可以替换为计算机终端群中的任意一个计算机终端设备。

可选地,在本实施例中,上述计算机终端或移动终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,图7是根据本发明实施例的终端的结构框图。如图7所示,该终端可以包括:一个或多个(图中仅示出一个)处理器、存储器、以及传输装置。

其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端或移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置包括一个网络适配器,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置为射频模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器用于存储DNS的预加载应用程序。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:

可选的,上述处理器还可以执行如下步骤的程序代码:

1. 获取DNS配置文件;

2. 对所述DNS配置文件进行语法检测:

3. 若检测通过,则加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务;

4. 若检测未通过,则根据所述检测结果生成警告信息,加载区域配置文件,并根据所述区域配置文件的加载结果启动DNS服务。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台移动终端或计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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