System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息,特别涉及一种基于余弦相似度的请求域名校正方法及系统。
技术介绍
1、dns服务在实际应用中,很重要的一项作用是作为互联网中的寻址。使用可读性更好的字符形式的域名,再借助a或aaaa这样的资源记录完成域名到ip地址的映射,进而达成对难以记忆的ip地址的替换。
2、但随着不断被添加使用的域名,简短的域名资源很快已经耗尽,大量被使用的域名会是在一定可接受范围内,相对较长的域名。这就带来了在输入域名过程中可能出现的拼写错误,导致应用程序发起dns查询时请求的域名并非发起者期望的域名。在出现这种情况时,由于实际发出的域名可能不存在,对应得到的结果就会出现nxdomain,给发起者带来困惑。此外,请求发起者发现这种拼写错误并进行纠正后,还需要额外发起一次正确域名的请求,可能存在一定的额外延迟,并消耗一定的额外dns服务器带宽资源。
技术实现思路
1、基于此,本申请实施例提供了一种基于余弦相似度的请求域名校正方法及系统,本方法通过将相似域名进行关联,实现在服务器端发现可能的潜在拼写错误,并在一次应答结果中将可能的原本请求结果一并返回,减少此类情况下可能出现的负面影响。
2、第一方面,提供了一种基于余弦相似度的请求域名校正方法,该方法包括:
3、在服务器端建立域名文本库,域名文本库用于存储曾经请求过且对应的域名存在的文本;
4、当客户端发送dns查询请求时,服务器首先检查请求的域名是否存在。如果请求的域名不存在,即返回nxdoma
5、对于选取的链表中的每个域名,执行余弦相似度匹配;
6、一旦找到相似度达到预设阈值的域名,服务器将这些相似域名的记录填充到dns应答的附加段中返回给客户端;
7、客户端在收到dns应答后,如果发现是nxdomain结果,会检查应答中是否包含similar记录,如果存在,客户端利用similar记录来干预缓存策略,将附加段中的记录缓存下来,并通过应用程序反馈给用户可能存在的拼写错误提示。
8、可选地,在服务器端建立域名文本库,具体包括:
9、文本在存储前需要统一转换为小写,并以链表的形式组织,链表的长度可以设置一个上限,当达到这个上限时,根据请求的热度替换掉那些请求热度较低的域名数据。
10、可选地,在服务器端建立域名文本库,还包括:
11、将不同长度的域名文本分别存储在不同的链表中,不同的链表通过一个数组来组织,数组的索引值对应链表中域名文本的长度减1。
12、可选地,对于选取的链表中的每个域名,执行余弦相似度匹配,包括:
13、首先需要对域名进行分词,具体按照每个字符进行划分;
14、将两个域名的所有字符去重后放入字典数据结构中,并为每个字符分配一个唯一的值;
15、根据字典中的值,将域名文本转换为整数数组,并计算出两个文本的独热编码作为词频向量;
16、根据词频向量计算两个向量夹角的余弦值,得出相似度。
17、可选地,一旦找到相似度达到预设阈值的域名,服务器将这些相似域名的记录填充到dns应答的附加段中返回给客户端,还包括:
18、服务器定义一个协议扩展用的伪资源记录类型,名为similar。
19、可选地,客户端利用similar记录来干预缓存策略,将附加段中的记录缓存下来之后,还包括
20、当用户重新提交拼写正确的域名时,客户端直接使用本地缓存的记录,避免额外的网络请求和延迟。
21、第二方面,提供了一种基于余弦相似度的请求域名校正系统,该系统包括:
22、建立模块,用于在服务器端建立域名文本库,域名文本库用于存储曾经请求过且对应的域名存在的文本;
23、检查模块,用于当客户端发送dns查询请求时,服务器首先检查请求的域名是否存在。如果请求的域名不存在,即返回nxdomain结果,服务器则进入相似域名匹配流程;
24、匹配模块,用于对于选取的链表中的每个域名,执行余弦相似度匹配;
25、返回模块,用于一旦找到相似度达到预设阈值的域名,服务器将这些相似域名的记录填充到dns应答的附加段中返回给客户端;
26、客户端模块,客户端在收到dns应答后,如果发现是nxdomain结果,会检查应答中是否包含similar记录,如果存在,客户端利用similar记录来干预缓存策略,将附加段中的记录缓存下来,并通过应用程序反馈给用户可能存在的拼写错误提示。
27、第三方面,提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一所述的请求域名校正方法。
28、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一所述的请求域名校正方法。
29、第五方面,提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述第一方面任一所述的请求域名校正方法。
30、本申请实施例提供的技术方案带来的有益效果至少包括:
31、(1)通过在dns查询中实现拼写错误的自动纠正,减少了用户因域名拼写错误而遇到的问题,从而提高了用户在使用互联网服务时的体验。
32、(2)通过在一次dns查询中返回可能正确的相似域名,减少了因拼写错误导致的额外dns查询,从而节省了dns服务器的带宽资源,并减少了网络延迟,提高了网络效率。
33、(3)允许客户端根据服务器返回的相似域名记录智能调整缓存策略,使得即使在拼写错误的情况下,用户也能快速访问正确的域名,提升了访问速度和系统的响应能力。
本文档来自技高网...【技术保护点】
1.一种基于余弦相似度的请求域名校正方法,其特征在于,所述方法包括:
2.根据权利要求1所述的请求域名校正方法,其特征在于,在服务器端建立域名文本库,具体包括:
3.根据权利要求1所述的请求域名校正方法,其特征在于,在服务器端建立域名文本库,还包括:
4.根据权利要求1所述的请求域名校正方法,其特征在于,对于选取的链表中的每个域名,执行余弦相似度匹配,包括:
5.根据权利要求1所述的请求域名校正方法,其特征在于,一旦找到相似度达到预设阈值的域名,服务器将这些相似域名的记录填充到DNS应答的附加段中返回给客户端,还包括:
6.根据权利要求1所述的请求域名校正方法,其特征在于,客户端利用similar记录来干预缓存策略,将附加段中的记录缓存下来之后,还包括
7.一种基于余弦相似度的请求域名校正系统,其特征在于,所述系统包括:
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6任一所述方法的步骤。
9.一种计算机
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
...【技术特征摘要】
1.一种基于余弦相似度的请求域名校正方法,其特征在于,所述方法包括:
2.根据权利要求1所述的请求域名校正方法,其特征在于,在服务器端建立域名文本库,具体包括:
3.根据权利要求1所述的请求域名校正方法,其特征在于,在服务器端建立域名文本库,还包括:
4.根据权利要求1所述的请求域名校正方法,其特征在于,对于选取的链表中的每个域名,执行余弦相似度匹配,包括:
5.根据权利要求1所述的请求域名校正方法,其特征在于,一旦找到相似度达到预设阈值的域名,服务器将这些相似域名的记录填充到dns应答的附加段中返回给客户端,还包括:
6.根据权利要求1所述的请求域名校正方法,其...
【专利技术属性】
技术研发人员:陈超,蒋超,朱睿爽,邢志杰,毛伟,
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。