一种缓存域名系统服务范围分析方法及装置转让专利

申请号 : CN202110815966.0

文献号 : CN113286016B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许成喜施凡马慧敏薛鹏飞李继鹏李振汉

申请人 : 中国人民解放军国防科技大学

摘要 :

本发明提供一种缓存域名系统服务范围分析方法及装置,所述方法包括:对用户人群行为数据进行分析,分类别构建本地化域名字典;解析获取到的域名记录,获取权威TTL;基于时间轮盘算法嗅探缓存域名服务器;测量缓存域名系统的背景噪声,并过滤所述背景噪声;基于预设的容忍度,判断所述缓存域名系统返回结果是否为已有的缓存记录;对于通过判断的全部域名缓存解析记录,基于预设统计阈值,确定所述缓存域名系统的服务范围。根据本发明的方法,实现对缓存域名系统解析记录嗅探;实现对域名解析记录格式化分析、存储、使用,能够分析缓存域名系统的服务范围。

权利要求 :

1.一种缓存域名系统服务范围分析方法,其特征在于,包括以下步骤:步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;所述本地化域名字典,是对某地区本地化域名的提炼整理,完成该地区的本地化域名的整合,即构成一个能代表该地区的本地化域名字典;

步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;其中,为了得到某域名的权威TTL,通过向公共的域名系统请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值;

步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;

步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;其中,通过分析历史嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为预设容忍度Δt;

步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,其中:

经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的比值,即:

其中,hit_rate为命中率,n本地域名字典域名数量,m为缓存嗅探的次数,hit_counti为第i个域名的嗅探命中次数,1≤i≤n;将该解析命中率 与所述预设统计阈值比较,如果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。

2.如权利要求1所述的缓存域名系统服务范围分析方法,其特征在于,所述步骤S103,其中,当前嗅探时刻为T,则在当前探测后,对于域名Di,假定缓存域名系统返回的应答记录的TTL为 域名Di的权威TTL为 则其下一次最佳的嗅探时机T’为:

3.如权利要求2所述的缓存域名系统服务范围分析方法,其特征在于,所述步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录,包括:步骤S1031:设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间last_time;将全部域名均作为待处理域名;

步骤S1032:对缓存DNS进行嗅探,得到域名的缓存TTL;

步骤S1033:对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间max_time;

步骤S1034:若时间轮盘上已经没有待处理域名,则完成所有嗅探任务,方法结束;否则,进入步骤S1035;

步骤S1035:对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;

步骤S1036:获取全部待处理域名,进入步骤S1033。

4.一种缓存域名系统服务范围分析装置,其特征在于,所述装置包括:构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;所述本地化域名字典,是对某地区本地化域名的提炼整理,完成该地区的本地化域名的整合,即构成一个能代表该地区的本地化域名字典;

权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;其中,为了得到某域名的权威TTL,通过向公共的域名系统请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值;

嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;

过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;

判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;其中,通过分析历史嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为预设容忍度Δt;

服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,其中:经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的比值,即:

其中,hit_rate为命中率,n本地域名字典域名数量,m为缓存嗅探的次数,hit_counti为第i个域名的嗅探命中次数,1≤i≤n;将该解析命中率 与所述预设统计阈值比较,如果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。

5.如权利要求4所述的缓存域名系统服务范围分析装置,其特征在于,所述嗅探模块,其中:当前嗅探时刻为T,则在当前探测后,对于域名Di,假定缓存域名系统返回的应答记录的TTL为 域名Di的权威TTL为 则其下一次最佳的嗅探时机T’为:

6.如权利要求5所述的缓存域名系统服务范围分析装置,其特征在于,所述嗅探模块,包括:

初始化子模块:配置为设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间last_time;将全部域名均作为待处理域名;

缓存嗅探子模块:配置为对缓存DNS进行嗅探,得到域名的缓存TTL;

第一处理子模块:配置为对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间max_time;

第一判断子模块:配置为若时间轮盘上已经没有待处理域名,则完成所有嗅探任务;

嗅探次数更新子模块:配置为对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;

待处理域名获取子模块:配置为获取全部待处理域名。

7.一种缓存域名系统服务范围分析系统,其特征在于,包括:处理器,用于执行多条指令;

存储器,用于存储多条指令;

其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求

1‑3之任一项所述的缓存域名系统服务范围分析方法。

8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1‑3之任一项所述的缓存域名系统服务范围分析方法。

说明书 :

一种缓存域名系统服务范围分析方法及装置

技术领域

[0001] 本发明涉及域名系统测量领域,尤其涉及一种缓存域名系统服务范围分析方法与装置。

背景技术

[0002] 域名系统(Domain Name System,DNS)作为全球最大的分布式数据库系统之一,通过向用户提供域名与网络IP地址之间的转换服务,将用户与互联网路由基础架构联系起
来,是当前互联网的重要基础部分。缓存域名系统是指对用户提供递归查询服务且实现缓
存机制的域名系统。这类域名系统在域名解析过程中会将解析得到的资源记录保存在自身
缓存中,采用基于TTL的缓存机制。资源记录中的TTL是指指生存时间,表示解析记录在域名
服务器中的缓存时间,TTL的时间长度单位是秒。
[0003] 掌握域名系统服务范围有助于优化缓存域名系统部署,降低解析延迟,提高用户解析体验;有助于分析缓存域名系统故障或失效造成的影响范围;有助于帮助管理员完成
域名系统建设,促进域名系统安全。因此,研究域名系统服务范围在此类系统中具有十分重
要的作用。当前,国内外对于域名系统的研究主要在集中在域名服务器性能和安全的测量
与分析等方面。对于研究如何高效精准确定域名系统服务范围还没有系统的研究成果。
[0004] 目前确定域名系统服务范围的方式主要是通过域名系统IP地址定位的方法得到域名服务器所在地理位置来推测域名系统服务范围。但是,采用IP地址定位的方法来推测
域名系统服务范围存在诸多问题。首先,域名系统所在地理位置并不代表域名系统服务范
围只限于该地理位置所属范围。其次,现在广泛使用的基于推测与基于时延的IP定位算法
都不能精确获得IP地址所在位置。再次,由于IP地址所在的地理位置处于动态变化过程中,
虽然可以对IP地址进行大致定位,但是由于更新不及时或标注错误导致定位位置不准确是
普遍现象。

发明内容

[0005] 为解决上述技术问题,本发明提出了一种缓存域名系统服务范围分析方法与装置,能够不依赖于IP地址定位对域名系统进行服务范围分析。
[0006] 根据本发明的第一方面,提供一种缓存域名系统服务范围分析方法,所述方法包括以下步骤:
[0007] 步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;
[0008] 步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;
[0009] 步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
[0010] 步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;
[0011] 步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;
[0012] 步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。
[0013] 根据本发明第二方面,提供一种缓存域名系统服务范围分析装置,所述装置包括:
[0014] 构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;
[0015] 权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;
[0016] 嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
[0017] 过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;
[0018] 判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;
[0019] 服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围围。
[0020] 根据本发明第三方面,提供一种缓存域名系统服务范围分析系统,包括:
[0021] 处理器,用于执行多条指令;
[0022] 存储器,用于存储多条指令;
[0023] 其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的缓存域名系统服务范围分析方法。
[0024] 根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的缓存域名系统服务范围分析
方法。
[0025] 根据本发明的上述方案,解决现有技术对域名系统服务范围分析不准确和不科学的问题。本发明所述方法通过构建本地化域名字典,采用主动测量获得域名权威TTL值与缓
存域名服务器中的缓存TTL值的方式,实现了缓存域名系统服务范围分析与确定。给定一个
缓存域名系统服务器IP地址,确定这个缓存域名系统服务器为哪些区域提供服务。实现如
下效果:(1)利用所述方法可以实现域名权威解析记录获取;(2)利用所述方法可以实现对
缓存域名系统服务器解析记录嗅探;(3)利用所述方法可以实现对缓存域名记录格式化分
析、存储、使用;(4)利用所述方法可以筛选出遵循TTL机制的缓存域名系统服务器;(5)利用
所述方法可以实现本地化域名字典库构建;(6)利用所述方法可以实现网络中域名系统非
正常请求解析背景噪声测量。(7)利用所述方法可以实现遵循TTL机制的缓存域名系统服务
器服务范围分析。
[0026] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

[0027] 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
[0028] 图1为本发明一个实施方式的缓存域名系统服务范围分析方法流程图;
[0029] 图2为本发明一个实施方式的获取权威TTL的流程图;
[0030] 图3为本发明一个实施方式的基于时间轮与域名记录TTL值的缓存域名服务器嗅探原理示意图;
[0031] 图4为本发明一个实施方式的基于时间轮与域名记录TTL值的缓存域名服务器嗅探方法流程图;
[0032] 图5为本发明一个实施方式的对域名缓存解析记录进行判断的方法流程图;
[0033] 图6为本发明一个实施方式的基于统计阈值的缓存域名系统提供服务的判断方法流程图;
[0034] 图7为本发明一个实施方式的缓存域名系统服务范围分析装置结构框图。

具体实施方式

[0035] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一
部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036] 首先结合图1说明为本发明一个实施方式的缓存域名系统服务范围分析方法。所述方法包括以下步骤:
[0037] 步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典;
[0038] 步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;
[0039] 步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
[0040] 步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声;
[0041] 步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;
[0042] 步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。
[0043] 所述步骤S101:对用户人群行为数据进行分析,分类别构建本地化域名字典,其中:
[0044] 用户在访问域名时具有地域特征,将域名分为本地化域名和非本地化域名,本地化域名是指访问该域名的都是该域名对应的区域的本地人群;将通过数据分析得到的本地
化域名进行整理,形成与区域对应的本地化域名的整合,即构成代表该区域的本地化域名
字典。
[0045] 本实施例中,通过跟踪调查普通用户群体日常使用网络所访问的域名,对调查数据格式化处理后进行对用户行为分析,可以判断普通用户在访问域名时具有很强的地域特
性。普通用户人群在访问互联网中的域名时除了会访问一些大网站以外,还会访问本地区
的特有的一些网站,如本地区的小学、小型医院、本地的论坛等。但是这个地区的小学、小型
医院、本地论坛等网站域名在合格区域以外的人群是很少或基本不会有人来访问的。可以
根据这样的一种用户人去日常使用网络时所访问域名的特点与一般规律,将域名分为本地
化域名和非本地化域名。本地化域名指在日常运行中,访问他的对象基本都是这个区域本
地人群,很少或基本不可能有这个区域以外的人群来访问的域名。
[0046] 本地化域名的搜集方法可以现将日常访问的域名分为教育、医疗、社区、服务等类别,然后再从这些类别中找出本地化的域名,如教育类的当地小学、幼儿园、小型培训机构,
医疗类的当地小型医院、卫生所,社区类的本地论坛,服务类的本地驾校的域名等。通过对
与该地区本地化域名的提炼整理,完成一个地区的本地化域名的整合,构成一个能代表一
个地区的本地化域名字典。按照此方法收集各个地区的本地化域名字典,构成一个能够识
别各个地区的本地化域名字典库。
[0047] 所述步骤S102:针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL,其中:
[0048] 如图2所示,获取域名记录,在域名解析过程中,缓存域名系统的缓存记录中如果没有待解析域名的解析记录,缓存域名系统首先向该域名的权威域名服务器请求得到该域
名的权威记录,然后将该域名的权威记录存放在自身缓存中,并将结果返还给用户;
[0049] 在探测过程中,需要得到每个域名的权威TTL为后期判断该域名记录是否已经在缓存域名系统的缓存中确定一个标准。为了得到某域名的权威TTL,通过向公共的域名系统
请求该域名的权威域名服务器的域名,然后向公共的域名系统请求解析待解析记录得到权
威域名服务器的IP,再向权威域名服务器请求该域名的解析,得到该域名的权威TTL值。
[0050] 所述步骤S103:基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录,其中:
[0051] 对缓存域名服务器进行嗅探时,要注意每次嗅探的时间间隔。如果时间间隔过短则留给用户的访问的窗口时间过短,导致用户通过该缓存域名服务器请求的解析记录被我
的探测解析记录所湮没。如果间隔时间过长,可能导致用户通过该缓存域名服务器请求的
解析记录过期而没有被探测到。但是本地化域名字典中的每个域名都拥有独立的域名解析
记录,导致每个域名的解析记录在缓存域名服务器中的缓存时间都可能不同。采用时间轮
盘算法与前一次在缓存域名服务器中嗅探到的TTL值结合的思想,就可以精确控制每次嗅
探缓存域名服务器的时间,既能保证用户的解析记录被嗅探到又能尽量少的被嗅探请求湮
没,同时在探测实现上可以避免繁琐的多线程实现。图3为时间轮与权威TTL结合的缓存域
名服务器嗅探原理。
[0052] 时间轮盘算法(time wheel),又称时间轮算法,是一种定时器算法。
[0053] 本实施例中,需要嗅探本地化域名列表在不同缓存域名系统中的应答记录,是一个典型的定时任务问题。采用时间轮盘的思想,将一个时间轮盘设置为3600份,每份代表1
秒,每一轮表示1小时。每一份时间窗格维护一个任务列表,表明当前时刻需要执行的任务,
当前任务执行完之后,根据任务执行时间间隔,即可计算任务下次执行的时刻,将任务添加
到对应时刻的任务列表中。
[0054] 假定当前嗅探时刻为T,则在当前探测后,对于域名Di,假定缓存域名系统返回的应答记录的TTL为 ,域名Di的权威TTL为 ,则其下一次最佳的嗅探时机T’为:
[0055]
[0056] 若早于 ,则缓存域名系统中的当前缓存还未失效,多次嗅探属于无效嗅探,若晚于 ,则有可能无法捕捉到下一个TTL周期内的用户访
问记录,造成时间窗口浪费。
[0057] 嗅探缓存域名服务器的方式如图4所示,包括:
[0058] 步骤S1031:设置本地化域名字典中的各个域名的嗅探次数;第一次嗅探时对本地化域名字典中的所有域名都发起嗅探,在时间轮盘上记录下每个域名第一次被嗅探的时间
last_time;将全部域名均作为待处理域名;
[0059] 步骤S1032:对缓存DNS进行嗅探,得到域名的缓存TTL;
[0060] 步骤S1033:对每个待处理域名,均执行以下操作:将从缓存域名服务器中得到的域名缓存TTL与该域名上一次在时间轮盘上的时间进行求和,得到该域名下一次在时间轮
盘上允许被嗅探的最小时间min_time;再将该域名下一次在时间轮盘上允许被嗅探的最小
时间加上该域名的权威TTL值,得到该域名下一次在时间轮盘上允许被嗅探的最大时间
max_time;
[0061] 步骤S1034:若时间轮盘上已经没有待处理域名,则完成所有嗅探任务,方法结束;否则,进入步骤S1035;
[0062] 步骤S1035:对每个待处理域名,均执行以下操作:在每次嗅探完成后,计算该域名的剩余嗅探次数,如果该域名的剩余嗅探次数已经为0,则在时间轮盘中不加入该域名的任
务,该域名不再作为待处理域名;如果剩余嗅探次数大于0,将该域名作为待处理域名;
[0063] 步骤S1036:获取全部待处理域名,进入步骤S1033。
[0064] 在理论上启动探测的时间越逼近max_time越能保证用户的解析记录被嗅探到又能尽量少的被嗅探请求湮没,但是在实际中由于探测时延等影响,还需要留给探测器一个
可支配探测时间t。
[0065] 进一步地,用max_time‑t即可得出该域名在时间轮盘上下一次被探测的时间。
[0066] 所述步骤S104:测量缓存域名系统的背景噪声,并过滤所述背景噪声,其中:
[0067] 在实际网络中,由于各种黑盒因素导致对缓存域名系统的测量中存在很多干扰噪声。为了探测出背景噪声大小,可以通过使用一些已知大致服务范围的缓存域名服务器,向
这样的缓存域名服务器用一定不在该缓存域名服务器服务范围地区的本地化域名字典来
发起主动解析请求,这样的请求对于该缓存域名服务器来说可以认为是异常的,因为在正
常情况是不会有这样的域名来向该缓存域名服务器请求解析的。通过发起这样的探测,从
理论上得到的结果应该是该缓存域名服务器里都没有这个地区本地化域名的解析记录。如
果在主动测量中发现该缓存域名服务器中有这个地区本地化域名的解析记录,则判定这样
的解析记录是其他异常请求带来的干扰噪声。通过使用此方法用不同地区的本地化域名字
典进行多次探测,即可测量出缓存域名系统背景噪声的大小。
[0068] 在实际网络中,由于各种黑盒因素导致对域名系统的测量中存在很多干扰噪声。通过用若干已知服务范围的缓存域名服务器,向缓存域名服务器使用一定不在该缓存域名
服务器服务范围地区的本地化域名字典来测量,得到在这样情况下本地化域名字典中域名
被解析频率。按照此方法进行测量,将每次测量得到的解析频率经过统计分析即可得到缓
存域名系统背景噪声。
[0069] 所述步骤S105:基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断,如图5所示,其中:
[0070] 通过从缓存域名系统嗅探得到的数据,如果嗅探时发现缓存域名系统为用户提供过本地化域名字典中的域名解析,即缓存TTL<权威TTL,称为命中。但是在实际测量过程中,
由于网络时延等原因导致部分缓存域名服务器实际上并没有给用户提供过解析,即缓存域
名服务器的缓存记录里并没有该域名解析记录,但实际探测得到的缓存TTL也比权威TTL略
小。因此,不能简单地认为:若缓存TTL<权威TTL,则必然为命中。在判断缓存域名系统的缓
存中是否拥有域名缓存解析记录时应该采用具有一定容忍度的判断方法。
[0071] 本实施例中,通过历史的嗅探结果,统计各个缓存域名系统服务器的缓存中没有缓存记录的域名的TTL值与域名权威TTL值的差值,对统计的结果取平均值,该平均值即为
预设容忍度 。
[0072] 在添加了容忍度 后,如果嗅探得到缓存域名系统的缓存TTL<(权威TTL‑ ),则判定该域名的解析记录已经存在于缓存域名系统的缓存记录中,记为命中;否则,则判定该
域名的解析记录不存在缓存域名系统的缓存记录中,记为未命中。
[0073] 在实际测量中,通过提前对大量缓存域名服务器进行测量,得到由于延迟造成的缓存TTL比真实缓存中的TTL小的偏差平均值为2秒以内,因此可以将容忍度 设置为2。
[0074] 所述步骤S106:对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围,如图6所示,其中:
[0075] 经过前期探测得到本地化域名在缓存域名系统中非正常请求的背景噪声,进行若干次探测,将探测得到的背景噪声取平均值,得到的数值作为预设统计阈值;向待确定缓存
域名系统服务范围的域名服务器发送若干个嗅探请求,获取所述缓存域名服务器对某地区
对应的本地化域名字典的解析命中率,计算命中率的方法为嗅探命中次数与总嗅探次数的
比值,即:
[0076]
[0077] 其中,hit_rate为命中率,n本地域名字典域名数量,m为缓存嗅探的次数,hit_counti为第i个域名的嗅探命中次数,1≤i≤n;将该解析频率与所述预设统计阈值比较,如
果命中率小于所述预设统计阈值,则确定出该缓存域名服务器不为该地区提供服务;如果
命中率大于或等于所述预设统计阈值,则判断该缓存域名服务器为该地区提供服务。
[0078] 本发明实施例进一步给出一种缓存域名系统服务范围分析装置,如图7所示,所述装置包括:
[0079] 构建字典模块:配置为对用户人群行为数据进行分析,分类别构建本地化域名字典;
[0080] 权威TTL获取模块:配置为针对所述本地化域名字典,解析获取到的域名记录,获取权威TTL;
[0081] 嗅探模块:配置为基于时间轮盘算法嗅探所述本地化域名字典在缓存域名系统中的解析记录;
[0082] 过滤模块:配置为测量缓存域名系统的背景噪声,并过滤所述背景噪声;
[0083] 判断模块:配置为基于预设的容忍度,对所述缓存域名系统拥有的域名缓存解析记录进行判断;
[0084] 服务范围确定模块:配置为对于通过判断的全部域名缓存解析记录,基于统计阈值,确定所述缓存域名系统的服务范围。
[0085] 本发明实施例进一步给出一种缓存域名系统服务范围分析系统,包括:
[0086] 处理器,用于执行多条指令;
[0087] 存储器,用于存储多条指令;
[0088] 其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的缓存域名系统服务范围分析方法。
[0089] 本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的缓存域名系统服务范围分析方
法。
[0090] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0091] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组
件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示
或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。
[0092] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0093] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0094] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机
装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者
Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介
质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random 
Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发
明技术方案的范围内。