CN103685585B - 一种高可靠的dns数据更新方法及系统 - Google Patents
一种高可靠的dns数据更新方法及系统 Download PDFInfo
- Publication number
- CN103685585B CN103685585B CN201210328281.4A CN201210328281A CN103685585B CN 103685585 B CN103685585 B CN 103685585B CN 201210328281 A CN201210328281 A CN 201210328281A CN 103685585 B CN103685585 B CN 103685585B
- Authority
- CN
- China
- Prior art keywords
- data
- dns
- module
- responsible
- dns data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种高可靠的DNS数据更新方法及系统。该方法包括:监听DNS权威解析数据库,判断其DNS数据是否有更新,并将更新数据下发至各子节点;监听各子节点的DNS数据,并检验其一致性;如果各子节点的DNS数据不一致,则将DNS权威解析数据库中的数据全部生成为标准格式的区文件,然后将生成的数据下发至各子节点。该系统包括DNS权威解析数据库监听模块、节点DNS数据监控模块、操作控制模块、DNS数据全量生成模块和DNS数据增量更新模块。本发明采用全量数据生成配合增量数据更新的方式,保证了DNS数据更新生效时间和DNS更新数据的一致性。
Description
技术领域
本发明属于网络信息技术领域,具体涉及一种高可靠的DNS数据更新方法及系统。
背景技术
域名系统(Domain Name System,DNS)是重要的互联网基础设施,包括可以将域名和IP(Internet Protocol,互联网协议)地址相互映射的一个分布式数据库,以及实现域名和网络可以识别的IP地址转换功能的软件系统。DNS中包含了用来按照一种分层结构定义Internet上使用的主机名字的语法,还有名字的授权规则,以及为了定义名字和IP地址的对应,系统需要进行的所有设置。实际上,DNS是一个分布式数据库。它允许对整个数据库的各个部分进行本地控制;同时整个网络也能通过客户/服务器方式访问每个部分的数据。
现在,由于DNS数据绝大多数存储在数据库中,更新DNS数据一般情况下都采用监听数据库更新数据,然后将所更新的数据提取出来,下发到各个提供服务的子节点中,使DNS数据更新生效。在这样的情况下,如果某些节点故障导致无法更新,而其它节点的更新继续,当故障节点恢复之后,会导致各个子节点的DNS数据不一致。一般这种情况下,会采用工具或者人工核查数据的方法,但这种方法的可靠性不高,而且当DNS数据量非常大的时候,靠人工来完成都是一件不可能的事情。
发明内容
本发明的目的在于针对上述问题,提供一种高可靠的DNS数据更新方法及系统,采用全量数据生成配合增量数据更新的方式,既保证了DNS数据更新生效时间,同时可以消除因故障或者其它原因导致的更新不一致的情况发生。本发明中,增量是指DNS权威解析数据库中的更新数据,全量是指由DNS权威解析数据库中的全部数据生成的标准格式的区文件。
为实现上述目的,本发明采用如下技术方案:
一种高可靠的DNS数据更新方法,其步骤包括:
1)监听DNS权威解析数据库,判断其DNS数据是否有更新,并将更新数据下发至各子节点,即进行增量更新;
2)监听各子节点的DNS数据,并检验其一致性;
3)如果各子节点的DNS数据不一致,则将DNS权威解析数据库中的数据全部生成为标准格式的区文件,然后将生成的数据下发至各子节点,即进行全量生成。
一种高可靠的DNS数据更新系统,包括
DNS权威解析数据库监听模块,负责监听DNS权威解析数据库中DNS数据的更新;
DNS数据增量更新模块,连接所述DNS权威解析数据库监听模块,负责提取所述DNS权威数据库中的更新数据,并下发至各子节点;
DNS数据全量生成模块,连接所述DNS权威解析数据库监听模块,负责将所述DNS权威解析数据库中的数据全部生成为标准格式的区文件,并下发至各子节点;
节点DNS数据监控模块,负责监听各子节点的DNS数据,并检验其一致性;
操作控制模块,分别连接所述DNS数据全量生成模块、所述DNS数据增量更新模块和所述节点DNS数据监控模块,负责根据一致性检验结果对所述DNS数据全量生成模块和所述DNS数据增量更新模块进行操作控制。
本发明采用全量数据生成配合增量数据更新的方式,增量数据更新主要是监测DNS数据库的DNS数据更新,并将更新下发到各个提供服务的子节点中,使其生效;全量数据生成则是当发现各个节点的DNS数据中存在不一致的情况时,暂停增量,将DNS数据库中的数据全部生成,然后下发到各个子节点,保证了各个子节点的数据一致。本发明在保证DNS数据顺利更新到各个提供服务的子节点的同时,如果出现各个子节点的DNS数据不一致的情况,可以顺利的同步到各个子节点,在节点处恢复DNS数据的一致性,即保证DNS更新数据的一致性。
附图说明
图1是本发明实施例的高可靠的DNS数据更新方法的步骤流程图。
图2是本实施例的高可靠的DNS数据更新系统的架构示意图。
图3是图2中节点DNS数据监控模块的组成示意图。
图4是图2中DNS数据全量生成模块的组成示意图。
图5是图2中DNS数据增量更新模块的组成示意图。
图6是图2中操作控制模块的工作流程示意图。
图7是图2中操作控制模块的组成示意图。
具体实施方式
下面通过具体实施例,并配合附图,对本发明做详细的说明。
图1是本实施例的高可靠的DNS数据更新方法的步骤流程图。首先,对DNS权威解析数据库进行监听,如果DNS数据有更新(即发生变化),则将DNS数据增量更新到各个子节点。并对各节点的DNS数据进行一致性监测,如果各节点数据不一致,则暂停数据的增量更新,启动DNS数据全量生成,即将DNS权威解析数据库中的数据全部生成为标准格式的区文件,然后将全量生成的数据下发到各个子节点,下发完毕后重新开启DNS增量数据更新。
图2是本实施例的高可靠的DNS数据更新系统的架构示意图。该系统包括:DNS权威解析数据库监听模块、节点DNS数据监控模块、操作控制模块、DNS数据全量生成模块、DNS数据增量更新模块。其中,DNS数据全量生成模块和DNS数据增量更新模块连接DNS权威解析数据库监听模块,对DNS权威解析数据库直接进行访问;操作控制模块分别连接DNS数据全量生成模块、DNS数据增量更新模块和节点DNS数据监控模块。下面对各模块作详细说明。
1)DNS权威解析数据库监听模块
该模块负责监听DNS权威解析数据库的DNS数据的更新。DNS权威数据库中记录了所有权威数据变化的日志,该监听模块会定期检查是否有日志产生,如果有日志产生,代表有DNS权威数据的变化,该监听模块会将变化的域名列表,告知DNS数据增量更新模块。
2)节点DNS数据监控模块
该模块对提供服务的各个子节点的DNS数据进行监控,并检验各个子节点DNS数据的一致性,如果发现各个子节点的数据有不一致的地方,立刻通知操作控制模块。该节点DNS数据监控模块可以分成如下子模块:DNS数据抽样提取模块、DNS抽样数据比对模块和监控结果发送模块,如图3所示。
DNS数据抽样提取模块:由于DNS数据量比较大,该模块主要是对各个子节点的DNS数据进行抽样,主要是随机抽取一些子节点的区文件信息。具体可以采用随机函数等方法进行选取。
DNS抽样数据比对模块:该模块负责对从各个子节点抽样出来的相同域名的区文件信息进行全文一致性比对,检查其一致性。
监控结果发送模块:将监控的结果(即一致性检验结果)发送到操作控制端。
3)DNS数据全量生成模块
该模块的主要功能是将DNS权威解析数据库中的数据全部生成为标准格式的区文件,然后将这些区文件下发到各个提供服务的子节点。该模块可以分成如下子模块:控制命令接收模块、全量数据生成模块、DNS数据校验模块、全量数据下发模块。如图4所示。
控制命令接收模块:监听并接收操作控制模块发送来的启动或停止命令,如果接收到启动命令,则开启DNS数据全量生成模块;以及向操作控制模块发送DNS数据全量生成执行情况的消息。
全量数据生成模块:主要是从DNS权威解析数据库中将所有的DNS数据读取出来,写入标准的区文件(Zonefile)中。
DNS数据校验模块:对生成的标准的区文件进行格式和语法的校验,从而保证区文件能被解析软件正确地解析。如果校验不通过,则通知系统维护人员进行校验修改。目前有许多工具可以对区文件的格式和语法进行校验,常用的是bind的checkzone的命令。
全量数据下发模块:待所有生成的区文件都校验通过以后,将其压缩并下发到各个子节点。
4)DNS数据增量更新模块
该模块的主要功能监听DNS权威解析数据库中的DNS数据的更新,一旦DNS数据发生了更新,就将更新下发到各个子节点。该模块可以分成如下子模块:控制命令接收模块、DNS数据更新监听模块、DNS数据更新提取模块、DNS更新数据校验模块、DNS更新数据下发模块。如图5所示。
控制命令接收模块:和DNS数据全量生成里的相同,都是用来监听并接收操作控制模块发送过来的启动和停止命令,以及向操作控制模块发送DNS数据增量更新执行情况的消息。
DNS数据更新监听模块:负责监听DNS权威解析数据库中的DNS数据的更新,如果有更新,通知DNS数据更新提取模块。
DNS数据更新提取模块:提取DNS权威数据库中的更新,并形成更新数据流或者更新后的区文件。
DNS更新数据校验模块:校验更新后形成的区文件的格式与语法,如果校验不通过,则通知系统人员进行人工校验,直到全部的区文件都校验通过。由于区文件遵循一定的规范,这里的校验即是对其规范性进行校验。数据流最后也是需要写入区文件的,所以也需要进行校验。
DNS更新数据下发模块:将校验通过的所有区文件和更新数据流下发至各个提供服务的子节点。
5)操作控制模块
该模块接收节点DNS数据监控发送过来的操作命令,对DNS数据全量生成模块和DNS数据增量更新模块进行相应的操作控制,其具体工作流程如图6所示。当发现节点DNS数据不一致时,会收到停止DNS增量更新的命令,当DNS增量更新停止以后,会收到启动全量生成的命令,这时,会启动全量生成。当全量生成完成以后,会收到启动增量更新的命令,这时,会恢复启动增量更新。
操作控制模块可以分成两个子模块:消息监听模块和命令发送模块。如图7所示。
消息监听模块:主要是监听并接收节点DNS数据监控模块发送来的结果、DNS数据全量生成模块的执行情况以及DNS数据增量更新模块的执行情况。
命令发送模块:主要是向DNS数据全量生成和DNS数据增量更新发送启动和停止的命令。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (10)
1.一种高可靠的DNS数据更新方法,其步骤包括:
1)监听DNS权威解析数据库,判断其DNS数据是否有更新,并将更新数据下发至各子节点;
2)监听各子节点的DNS数据,并检验其一致性;
3)如果各子节点的DNS数据不一致,则将DNS权威解析数据库中的数据全部生成为标准格式的区文件,然后将生成的数据下发至各子节点。
2.如权利要求1所述的方法,其特征在于,对各子节点的DNS数据进行抽样,并对抽样数据进行所述一致性检验。
3.如权利要求2所述的方法,其特征在于,采用随机函数进行所述抽样。
4.如权利要求1所述的方法,其特征在于,所述更新数据包括:更新后的数据流、更新后的区文件。
5.如权利要求1所述的方法,其特征在于,对所述更新数据和所述标准格式的区文件进行格式和语法校验;如果校验不通过,则进行人工校验,直至全部通过校验。
6.一种高可靠的DNS数据更新系统,其特征在于,包括:
DNS权威解析数据库监听模块,负责监听DNS权威解析数据库中DNS数据的更新;
DNS数据增量更新模块,连接所述DNS权威解析数据库监听模块,负责提取所述DNS权威解析数据库中的更新数据,并下发至各子节点;
DNS数据全量生成模块,连接所述DNS权威解析数据库监听模块,负责将所述DNS权威解析数据库中的数据全部生成为标准格式的区文件,并下发至各子节点;
节点DNS数据监控模块,负责监听各子节点的DNS数据,并检验其一致性;
操作控制模块,分别连接所述DNS数据增量更新模块、所述DNS数据全量生成模块和所述节点DNS数据监控模块,负责根据一致性检验结果对所述DNS数据全量生成模块和所述DNS数据增量更新模块进行操作控制。
7.如权利要求6所述的系统,其特征在于,所述DNS数据增量更新模块包括:
控制命令接收模块,负责监听并接收所述操作控制模块发送来的控制命令,并向所述操作控制模块发送DNS数据增量更新执行情况的消息;
DNS数据更新监听模块,负责监听所述DNS权威解析数据库中的DNS数据的更新,如果有更新,通知DNS数据更新提取模块;
DNS数据更新提取模块,连接所述DNS数据更新监听模块,负责提取DNS权威数据库中的更新数据;
DNS更新数据校验模块,连接所述DNS数据更新提取模块,负责对所述更新数据进行格式和语法校验;
DNS更新数据下发模块,连接所述DNS更新数据校验模块,负责将通过校验的更新数据下发至各子节点。
8.如权利要求6所述的系统,其特征在于,所述DNS数据全量生成模块包括:
控制命令接收模块,负责监听并接收所述操作控制模块发送来的控制命令,并向所述操作控制模块发送DNS数据全量生成执行情况的消息;
全量数据生成模块,连接所述控制命令接收模块,负责根据所述控制命令,从所述DNS权威解析数据库中将所有的DNS数据读取出来,生成标准格式的区文件;
DNS数据校验模块,连接所述全量数据生成模块,负责对生成的标准区文件进行格式和语法校验;
全量数据下发模块,连接所述DNS数据校验模块,负责将通过校验的标准区文件下发至各子节点。
9.如权利要求6所述的系统,其特征在于,所述节点DNS数据监控模块包括:
DNS数据抽样提取模块,负责对各子节点DNS数据进行抽样;
DNS抽样数据比对模块,连接所述DNS数据抽样提取模块,负责比对抽样得到的相同域名的区文件信息,检查其一致性;
监控结果发送模块,连接所述DNS抽样数据比对模块,负责将一致性检验结果发送至所述操作控制模块。
10.如权利要求6所述的系统,其特征在于,所述操作控制模块包括:
消息监听模块,负责监听并接收节点DNS数据监控模块发送来的结果、DNS数据全量生成模块的执行情况、DNS数据增量更新模块的执行情况;
命令发送模块,连接所述消息监听模块,负责向所述DNS数据全量生成模块和所述DNS数据增量更新模块发送控制命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328281.4A CN103685585B (zh) | 2012-09-07 | 2012-09-07 | 一种高可靠的dns数据更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328281.4A CN103685585B (zh) | 2012-09-07 | 2012-09-07 | 一种高可靠的dns数据更新方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685585A CN103685585A (zh) | 2014-03-26 |
CN103685585B true CN103685585B (zh) | 2016-11-23 |
Family
ID=50321858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210328281.4A Active CN103685585B (zh) | 2012-09-07 | 2012-09-07 | 一种高可靠的dns数据更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685585B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079438B (zh) * | 2014-07-18 | 2018-01-09 | 北京百度网讯科技有限公司 | Dns域名管理系统和方法 |
CN104834539B (zh) * | 2015-03-02 | 2018-03-20 | 倪桂强 | 一种数据增量更新方法 |
WO2016138619A1 (zh) * | 2015-03-02 | 2016-09-09 | 倪桂强 | 一种数据增量更新方法 |
CN104954196B (zh) * | 2015-04-24 | 2018-04-03 | 中国互联网络信息中心 | 一种dns增量数据更新服务自动化测试方法和系统 |
CN106210158B (zh) * | 2015-05-04 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种域名解析的同步方法和设备 |
CN104954505B (zh) * | 2015-06-12 | 2021-03-12 | 中国互联网络信息中心 | Dns数据更新全过程的监测方法及系统 |
CN104883373A (zh) * | 2015-06-19 | 2015-09-02 | 中国互联网络信息中心 | Dns区传送监测方法及系统 |
CN106612339A (zh) * | 2015-10-27 | 2017-05-03 | 中国电信股份有限公司 | 域名更新方法、系统和主dns服务器 |
CN106202397A (zh) * | 2016-07-08 | 2016-12-07 | 合网络技术(北京)有限公司 | 一种数据同步方法及装置 |
CN106790739B (zh) * | 2016-11-22 | 2020-05-08 | 合一智能科技(深圳)有限公司 | 一种dns服务的预加载启动方法、预加载系统及管理系统 |
CN110943852B (zh) * | 2018-09-25 | 2022-08-02 | 厦门白山耘科技有限公司 | 配置dns服务器的装置及方法、dns服务器及dns服务器更新配置的方法 |
CN110049049B (zh) * | 2019-04-22 | 2021-05-11 | 中国互联网络信息中心 | 一种dns区数据校验的方法和装置 |
CN110049133B (zh) * | 2019-04-22 | 2021-10-22 | 中国互联网络信息中心 | 一种dns区文件全量下发的方法和装置 |
CN110347419A (zh) * | 2019-06-29 | 2019-10-18 | 上海淇馥信息技术有限公司 | 一种客户端数据更新云控撤销的方法、装置和电子设备 |
CN111885212B (zh) * | 2020-06-03 | 2023-05-30 | 山东伏羲智库互联网研究院 | 域名存储方法及装置 |
CN113301173A (zh) * | 2020-06-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 域名更新系统及方法、消息转发方法、服务器 |
CN113206757B (zh) * | 2021-04-25 | 2022-04-19 | 烽火通信科技股份有限公司 | 流式同步网管配置全量数据和增量数据的方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
CN101102336A (zh) * | 2007-06-14 | 2008-01-09 | 中兴通讯股份有限公司 | 一种电话号码映射域名服务器的内存处理方法及装置 |
CN101478553A (zh) * | 2009-02-10 | 2009-07-08 | 中国网络通信集团公司 | 动态域名管理系统和方法 |
CN102123180A (zh) * | 2010-01-08 | 2011-07-13 | 北京中企开源信息技术有限公司 | Dns网络结构及域名解析方法 |
-
2012
- 2012-09-07 CN CN201210328281.4A patent/CN103685585B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756263A (zh) * | 2004-09-27 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
CN101102336A (zh) * | 2007-06-14 | 2008-01-09 | 中兴通讯股份有限公司 | 一种电话号码映射域名服务器的内存处理方法及装置 |
CN101478553A (zh) * | 2009-02-10 | 2009-07-08 | 中国网络通信集团公司 | 动态域名管理系统和方法 |
CN102123180A (zh) * | 2010-01-08 | 2011-07-13 | 北京中企开源信息技术有限公司 | Dns网络结构及域名解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103685585A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685585B (zh) | 一种高可靠的dns数据更新方法及系统 | |
CN107018127B (zh) | 一种兼容多种协议的物联网虚拟网关及节点接入认证方法 | |
US11443042B2 (en) | Blockchain-based software version data management system and establishing method thereof | |
CN102547820B (zh) | 铁路信号的数据采集方法及系统 | |
CN101699399B (zh) | 一种软件更新的系统和方法 | |
US8910129B1 (en) | Scalable control system for test execution and monitoring utilizing multiple processors | |
CN102385582B (zh) | 生产测试数据处理方法、服务器及系统 | |
CN101119207B (zh) | 针对于服务器的授权控制方法 | |
EP1585254A2 (en) | Method of synchronizing management information between a plurality of managing devices in a home network | |
CN101902361B (zh) | 容灾业务系统及容灾方法 | |
CN110309197B (zh) | 项目数据验证方法及其装置 | |
CN104219080A (zh) | 一种网站错误页日志记录方法 | |
CN113595806B (zh) | 一种基于opcua与mqtt协议的配网物联网通讯架构方法 | |
CN103034722A (zh) | 一种网络视频评论聚合装置及方法 | |
CN104519100A (zh) | 异构平台文件自动同步方法及puppet服务端 | |
CN106713471A (zh) | 一种配置文件获取方法及装置 | |
CN103024094B (zh) | 一种安全可靠的dns区文件信息下发更新方法及系统 | |
US8239476B2 (en) | Network alarm message processing systems and methods | |
CN103152617A (zh) | 一种互动电视异地容灾系统及方法 | |
CN109088954B (zh) | 一种分布式物体标识信息注册与解析的方法 | |
CN106598690A (zh) | 一种用于代码的管理方法及装置 | |
CN101841425A (zh) | 一种无代理的网络备份方法、装置和系统 | |
CN101478571B (zh) | 网络视频监控系统及其系统用户认证方法 | |
CN102546632A (zh) | Ip多媒体子系统的网元设备域名自动配置方法 | |
US20130067045A1 (en) | Intersystem coordination apparatus in distribution system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210202 Address after: 100190 room 506, building 2, courtyard 4, South 4th Street, Zhongguancun, Haidian District, Beijing Patentee after: CHINA INTERNET NETWORK INFORMATION CENTER Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Patentee before: Computer Network Information Center, Chinese Academy of Sciences |