基于协同过滤的DNS缓存推荐方法技术

技术编号:28326649 阅读:64 留言:0更新日期:2021-05-04 13:08
本发明专利技术公开了一种基于协同过滤的DNS缓存推荐方法,该方法包括:基于客户端发起的多个DNS解析请求,对解析域名之间的相似度及请求源间的相似度进行分析,保存相似度高的域名解析记录至服务端缓存;对客户端再次发起的DNS解析请求进行域名关联度判断,如判断为相同或相似,则返回目标域名及与该目标域名关联的其它多条域名解析记录至客户端;客户端接收应答,缓存正常的应答,并根据服务端的策略推荐结果作为额外的缓存数据。本发基于协同过滤算法挖掘客户端域名解析请求的相关性,客户端发起的大部分DNS解析请求可以通过缓存直接返回结果,大大减少了需要进行完整的DNS解析过程的次数,既降低了DNS服务器的压力,又降低了产生延迟的风险,还提高了DNS解析的效率。

【技术实现步骤摘要】
基于协同过滤的DNS缓存推荐方法
本专利技术涉及互联网域名
,具体地,涉及一种基于协同过滤的DNS缓存推荐方法。
技术介绍
在现有域名系统(DomainNameSystem,简称:DNS)下,为减轻DNS服务器的压力并提高DNS解析效率,通常客户端和DNS递归服务器都会配套相应的缓存数据库,用于缓存查询得到的DNS解析结果。带缓存数据库的DNS解析流程如下:1.客户端发起查询域名IP地址的DNS请求,客户端会先访问客户端缓存并查询是否有这个域名的映射关系。如果有,就直接调用这个IP地址映射,完成域名解析。2.当客户端缓存中不存在相应域名的映射关系时,则将进入递归DNS服务器的缓存中进行查询,如果存在该域名的IP地址映射,则返回该结果,完成域名解析。当递归服务器缓存中不存在相应域名的映射关系时,则发起迭代查询,逐级向权威服务器进行查询。最终完成本次DNS解析请求,并将结果缓存到相应的缓存数据库中。一段时间内,相同域名的DNS解析请求即可通过缓存直接返回结果。然而,在现代互联网应用的使用过程中,客户端可能产生大量不同的域名解析请求。若采用
技术介绍
中的方案,则针对每一个不同域名的DNS请求都需要经过一次完整的DNS解析过程。随着客户端数量和不同域名解析请求数量的增加,给DNS服务器带来了巨大的负担,同时也加剧了产生延迟的风险。
技术实现思路
针对现有技术的缺陷,本专利技术的目的是,提供一种基于协同过滤的DNS缓存推荐方法,以解决现有技术中DNS域名解析体系中,大量客户端发起的大量不同域名解析请求导致的DNS服务器负载较高、影响查询效率的问题。为解决上述技术问题,本专利技术采用的技术方案如下:一种基于协同过滤的DNS缓存推荐方法,包括:基于客户端发起的多个DNS解析请求,对解析域名之间的相似度及请求源间的相似度进行分析,保存相似度高的域名解析记录至服务端缓存;对客户端再次发起的DNS解析请求进行域名关联度判断,如判断为相同或相似,则返回目标域名及与该目标域名关联的其它多条域名解析记录至客户端;客户端接收应答,缓存正常的应答,并根据服务端的策略推荐结果作为额外的缓存数据。进一步地,对基于RFC1035中定义的DNS消息格式进行扩展,推荐的与该目标域名关联的其它多条域名解析记录保存在DNS报文的additional段中,并使用自定义opt进行封装。进一步地,服务端在收到客户端发起的DNS解析请求时,不断收集解析域名并记录,并基于协同过滤算法进行相似度分析,同时,对保存的相似表不断进行更新。进一步地,将不同请求的域名设定为标的物,将请求源IP设定为用户,构建行为分析矩阵,并定义行向量和列向量分别为用户之间和标的物之间的评分相似度。进一步地,在收集用户的DNS解析请求,还收集域名解析请求的时间作为评分权重,设置脉冲检测机制,通过窗口阈值收集某客户端一段时间内发送的密集的请求,并根据请求时间的集中于否设置衰减,进而设置不同的域名评分。其中,当不设置时间衰减时,通过隐式反馈算法来设置不同的域名评分。进一步地,采用余弦相似度或Jaccard相似度计算客户端之间和域名之间的关联性。进一步地,请求源的IP需包含用户提供的edns-client-subnet。进一步地,对解析域名的数量和请求源数量设置上限。进一步地,对存在NAT,或者请求源存在同时运行多个不同应用的客户端的情况下,客户端在发起DNS解析请求时,通过opt主动携带包括辅助标识的额外信息。与现有技术相比,本专利技术提供的一种基于协同过滤的DNS缓存推荐方法,达到了如下技术效果:1、本专利技术解决了在现有DNS体系下由于大量客户端发起的大量不同域名解析请求导致的DNS服务器高负载情况。客户端发起一次解析请求即可缓存目标域名及其关联的多条域名的记录,使得大部分解析请求可以通过缓存直接返回结果,降低了DNS服务器压力并提高了DNS解析效率。2、本专利技术在现有DNS协议下,进行了扩展,保障了向后兼容性,即使DNS消息传输给未支持该特性的服务器时,后者依然能正确处理。附图说明图1是本专利技术实施例中的基于协同过滤的DNS缓存推荐方法的流程原理图。图2是本专利技术实施例中的两台客户端发起DNS查询的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例为实施本专利技术的较佳实施方式,所述描述是以说明本专利技术的一般原则为目的,并非用以限定本专利技术的范围。本专利技术的保护范围应当以权利要求所界定者为准,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在现代互联网应用的使用过程中,客户端可能产生大量不同的域名解析请求,针对每一个不同域名的DNS请求都需要经过一次完整的DNS解析过程,随着客户端数量和不同域名解析请求数量的增加,给DNS服务器带来了巨大的负担,同时也加剧了延迟的风险。实际上,在客户端用户行为所涉及的域名解析请求之间存在一定的相关性,基于协同过滤算法挖掘客户端域名解析请求的相关性,当一个域名解析请求到来时递归服务器向客户端返回该域名记录的同时返回一系列推荐的域名记录,使客户端可以预先缓存下来,这样,客户端发起的大部分DNS解析请求可以通过缓存直接返回结果,大大减少了需要进行完整的DNS解析过程的次数。既降低了DNS服务器的压力又降低了产生延迟的风险还在一定程度上提高了DNS解析的效率。参照图1所示,本实施例提供的一种基于协同过滤的DNS缓存推荐方法,包括如下过程:步骤S1、基于客户端发起的多个DNS解析请求,对解析域名之间的相似度及请求源间的相似度进行分析,保存相似度高的域名解析记录至服务端缓存。客户端发起一个针对某域名的DNS解析请求,由于原DNS系统不存在该域名的缓存,故会先经过客户端到递归服务器,甚至再到权威服务器的一个完整的DNS查询流程,服务端会对该解析结果进行记录,并返回给客户度,客户端收到该域名对应的解析结果并对该结果进行缓存。当该客户端再次发送针对其它域名的DNS解析请求时,同样地,针对其它不同域名仍然会经过前述的完的DNS查询流程,服务端最终也能获得响应的解析记录并分别进行缓存,保存到递归服务器缓存或权威服务器缓存。在上述过程中,服务端会不断收集数据并基于协同过滤算法进行相似度分析。在系统稳定运行一段时间后,会生成相似表并不断进行更新。协同过滤算法是一种常用的推荐算法,基于对用户历史行为数据的挖掘发现用户的偏爱喜好,并预测用户可能喜好的标的物进行推荐。协同过滤算法从字面上理解,包括协同和过滤两个操作。所谓协同就是利用群体的行为来做推荐,对于推荐系统来说,通过用户的持续协同作用,最终给用户的推荐会越来越准确。而过滤,就是从可行的推荐标的物中将用户喜欢的标的物过滤出来。协同过滤算法的核心思想是朴本文档来自技高网...

【技术保护点】
1.一种基于协同过滤的DNS缓存推荐方法,其特征在于,所述方法包括:/n基于客户端发起的多个DNS解析请求,对解析域名之间的相似度及请求源间的相似度进行分析,保存相似度高的域名解析记录至服务端缓存;/n对客户端再次发起的DNS解析请求进行域名关联度判断,如判断为相同或相似,则返回目标域名及与该目标域名关联的其它多条域名解析记录至客户端;/n客户端接收应答,缓存正常的应答,并根据服务端的策略推荐结果作为额外的缓存数据。/n

【技术特征摘要】
1.一种基于协同过滤的DNS缓存推荐方法,其特征在于,所述方法包括:
基于客户端发起的多个DNS解析请求,对解析域名之间的相似度及请求源间的相似度进行分析,保存相似度高的域名解析记录至服务端缓存;
对客户端再次发起的DNS解析请求进行域名关联度判断,如判断为相同或相似,则返回目标域名及与该目标域名关联的其它多条域名解析记录至客户端;
客户端接收应答,缓存正常的应答,并根据服务端的策略推荐结果作为额外的缓存数据。


2.根据权利要求1所述的推荐方法,其特征在于,对基于RFC1035中定义的DNS消息格式进行扩展,推荐的与该目标域名关联的其它多条域名解析记录保存在DNS报文的additional段中,并使用自定义opt进行封装。


3.根据权利要求1或2所述的推荐方法,其特征在于,服务端在收到客户端发起的DNS解析请求时,不断收集解析域名并记录,并基于协同过滤算法进行相似度分析,同时,对保存的相似表不断进行更新。


4.根据权利要求3所述的推荐方法,其特征在于,将不同请求的域名设定为标的物,将请求源IP设定为用户,构建行为分析矩阵,并定义行向量和...

【专利技术属性】
技术研发人员:陈超李文瀚蒋超张智勇吴琦邢志杰毛伟
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司
类型:发明
国别省市:北京;11

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

1