一种基于外部询问DNS服务器的信息更新方法及系统技术方案

技术编号:20925844 阅读:31 留言:0更新日期:2019-04-20 11:45
本发明专利技术公开了一种基于外部询问DNS服务器的信息更新方法及系统,该方法包括:为本地的所有资源记录集编号,并建立平衡二叉树;根据资源记录集使用频率分布利用模拟退火算法为资源记录集分配单周期内的初始扫描次数;依据编号随机生成哈希值,确定扫描的资源记录集,判断资源记录集的扫描次数是否为零,若是,确定发生碰撞,则顺序退避,进行下一编号的资源记录集的扫描,直至得到扫描次数不为零的资源记录集,对扫描次数不为零的资源记录集进行扫描,向服务器发送查询指令,根据服务器的应答结果更新被扫描的资源记录集。本发明专利技术依据使用频率合理地安排了询问次数,同时提高了询问效率,加快了周期完成速度,保证了资源记录集的及时更新。

An Information Updating Method and System Based on External Query DNS Server

The invention discloses an information updating method and system based on an external inquiry DNS server. The method includes: numbering all local resource recordsets and establishing a balanced binary tree; allocating initial scanning times in a single cycle for resource recordsets by using simulated annealing algorithm according to the frequency distribution of resource recordsets; generating hash values randomly according to the number to determine scanning times. The resource recordset determines whether the number of scans of the resource recordset is zero or not. If the collision occurs, the sequence backs off and scans the resource recordset of the next number until the resource recordset with the number of scans not zero is obtained. The resource recordset with the number of scans not zero is scanned, and query instructions are sent to the server. Updates are made according to the response result of the server. Scanned resource recordset. The invention reasonably arranges the inquiry times according to the use frequency, improves the inquiry efficiency, speeds up the cycle completion speed, and ensures the timely updating of the resource record set.

【技术实现步骤摘要】
一种基于外部询问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服务器的信息更新方法,其特征在于,所述方法包括:建立数据结构:为本地的所有资源记录集编号,并以每一所述资源记录集为节点建立平衡二叉树;所述平衡二叉树的节点包括一所述资源记录集和与所述资源记录集对应的所述编号;单周期扫描次数分配:根据对所述资源记录集询问的历史流量数据对资源记录集的使用频率进行统计,得到资源记录集使用频率分布;根据所述资源记录集使用频率分布利用模拟退火算法为每一所述资源记录集分配单周期内的初始扫描次数,并将所述初始扫描次数添加至对应的所述资源记录集所在的所述节点;单周期扫描更新:依据所述编号随机生成哈希值,根据所述哈希值确定扫描的所述资源记录集,判断所述资源记录集的扫描次数是否为零,若是,确定发生碰撞,则顺序退避,进行下一所述编号的所述资源记录集的扫描,直至得到所述扫描次数不为零的所述资源记录集,对所述扫描次数不为零的所述资源记录集进行扫描,向所述DNS服务器发送查询指令,根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,本次扫描后,被扫描的所述资源记录集的扫描次数减一;所述查询指令为查询所述DNS服务器中与被扫描的所述资源记录集相应的资源记录;若否,对所述扫描次数不为零的所述资源记录集进行扫描,向所述DNS服务器发送查询指令,根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,本次扫描后,被扫描的所述资源记录集的扫描次数减一;按照所述编号顺序扫描,直至所有所述资源记录集的扫描次数均为零,结束单周期的扫描更新。...

【技术特征摘要】
1.一种基于外部询问DNS服务器的信息更新方法,其特征在于,所述方法包括:建立数据结构:为本地的所有资源记录集编号,并以每一所述资源记录集为节点建立平衡二叉树;所述平衡二叉树的节点包括一所述资源记录集和与所述资源记录集对应的所述编号;单周期扫描次数分配:根据对所述资源记录集询问的历史流量数据对资源记录集的使用频率进行统计,得到资源记录集使用频率分布;根据所述资源记录集使用频率分布利用模拟退火算法为每一所述资源记录集分配单周期内的初始扫描次数,并将所述初始扫描次数添加至对应的所述资源记录集所在的所述节点;单周期扫描更新:依据所述编号随机生成哈希值,根据所述哈希值确定扫描的所述资源记录集,判断所述资源记录集的扫描次数是否为零,若是,确定发生碰撞,则顺序退避,进行下一所述编号的所述资源记录集的扫描,直至得到所述扫描次数不为零的所述资源记录集,对所述扫描次数不为零的所述资源记录集进行扫描,向所述DNS服务器发送查询指令,根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,本次扫描后,被扫描的所述资源记录集的扫描次数减一;所述查询指令为查询所述DNS服务器中与被扫描的所述资源记录集相应的资源记录;若否,对所述扫描次数不为零的所述资源记录集进行扫描,向所述DNS服务器发送查询指令,根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,本次扫描后,被扫描的所述资源记录集的扫描次数减一;按照所述编号顺序扫描,直至所有所述资源记录集的扫描次数均为零,结束单周期的扫描更新。2.根据权利要求1所述的基于外部询问DNS服务器的信息更新方法,其特征在于,在所述“单周期扫描更新”之后所述方法还包括:更新所述平衡二叉树包括所述资源记录集的删除、所述资源记录集的新增和/或所述资源记录集的内容更新;对于所述资源记录集的删除:删除所述资源记录集对应的旧节点,对删除所述旧节点后的所述平衡二叉树的各个节点恢复所述初始扫描次数并重新编号;对于所述资源记录集的新增:增加所述平衡二叉树的新节点,并增加所述新节点的新编号,设置预设新扫描次数;对于所述资源记录集的内容更新:直接更新所述平衡二叉树中与内容更新的所述资源记录集对应的节点,恢复各个节点扫描次数为所述初始扫描次数。3.根据权利要求2所述的基于外部询问DNS服务器的信息更新方法,其特征在于,所述预设新扫描次数为一次。4.根据权利要求1所述的基于外部询问DNS服务器的信息更新方法,其特征在于,所述根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,具体包括:利用所述DNS服务器中与被扫描的所述资源记录集相应的资源记录替换被扫描的所述资源记录集。5.根据权利要求1所述的基于外部询问DNS服务器的信息更新方法,其特征在于,所述根据所述DNS服务器的应答结果更新被扫描的所述资源记录集,具体包括:判断被扫描的所述资源记录集中的域名信息列表与所述DNS服务器中与被扫描的所述资源记录集相应的资源记录中的域名信息列表是否相同;当不相同时,利用所述DNS服务器中与被扫描的所述资源记录集相应的资源记录替换被扫描的所述资源记录集;当相同时,不更新被扫描的所述资源记录集。6.根据权利要求5所述的基于外部询问DNS服务器的信息更新方法,其特征在于,所述判断被扫描的所述资源记录集中的域名信息列表与所述DNS服务器中与被扫描的所述资源记录集相应的资源记录中的域名信息列表是否相同,具体包括:利用快速傅里叶变换方法对被扫描的所述资源记录集中的域名信息列表与所述DNS服务器中与被扫描的所述资源记录集相应的资源记录中的域名信息列表进行字符串匹配;当匹配一致时,确定被扫描的所述资源记录集中的域名信息列表与所述DNS服务器中与被扫描的所述资源记录集相应的资源记录中的域名信息列表相同;当匹配不一致时,确定被扫描的所述资源记录集中的域名信息列表与所述DNS服务器中与被扫描的所述资源记录集相应的资源记录中的域名信息列...

【专利技术属性】
技术研发人员:徐宏孙红波王志强金鑫张岩郭星宇张健毅高文斌徐日毛明
申请(专利权)人:中共中央办公厅电子科技学院
类型:发明
国别省市:北京,11

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

1