一种字典树域名匹配方法、装置、设备及存储介质制造方法及图纸

技术编号:37969325 阅读:9 留言:0更新日期:2023-06-30 09:44
本发明专利技术公开了一种字典树域名匹配方法、装置、设备及存储介质,该方法包括步骤:获取用户请求URL中的域名,并将所述域名进行倒序,以生倒序字符串;利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功;若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树域名匹配。本申请能够节约计算资源,能够使得域名匹配时间复杂度不会随着匹配规则的增长而增长,并且可以动态增加模糊匹配项,增强配置范围。增强配置范围。增强配置范围。

【技术实现步骤摘要】
一种字典树域名匹配方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种字典树域名匹配方法、装置、设备及存储介质。

技术介绍

[0002]CDN为网络上的资源做代理加速时需要根据域名做一些后续的工作,例如调度/重定向/改写等等。一些大型的网站拥有大量的子域名,而且子域名是随着业务的开展而动态地增删。面对这样的局面,需要CDN在精确匹配与模糊匹配之间取得平衡。模糊匹配通常使用正则表达式,在匹配时通常需要将待匹配的域名与正则表达式集合中的元素做轮询式匹配(即需要事先配置的若干条正则表达式。轮询式匹配就是将域名与集合中的正则表达式逐一匹配)。
[0003]目前CDN在做域名的模糊匹配时通常会采用轮询正则表达式列表的方法来匹配。系统的负载会随着正则表达式数量的增长而线性地增长,如果匹配的正则表达式恰好处于正则表达式列表的尾部,则前面的匹配过程都是无效的过程,白白浪费了系统的计算资源。
[0004]因此,如何在正则表达式匹配过程中,导致计算资源的浪费,是目前亟需解决的技术问题。

技术实现思路

[0005]本专利技术主要目的在于提供一种字典树域名匹配方法、装置、设备及存储介质,能够节约计算资源,能够使得域名匹配时间复杂度不会随着匹配规则的增长而增长,并且可以动态增加模糊匹配项,增强配置范围。
[0006]第一方面,本申请提供了一种字典树域名匹配方法,该方法包括步骤:
[0007]获取用户请求URL中的域名,并将所述域名进行倒序,以生倒序字符串;
[0008]利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功;
[0009]若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树域名匹配。
[0010]结合上述第一方面,作为一种可选的实现方式,根据需求配置域名规则,并将所述获取用户请求URL中的域名中所有的大写字母转换成小写字母;
[0011]将转成小写字母的域名按倒序进行排序,以生成倒序字符串。
[0012]结合上述第一方面,作为一种可选的实现方式,在字典树中查找所述倒序字符串,当查找成功,则确定CDN中配置了请求的域名,当查找失败,则确定CDN中没有配置请求的域名。
[0013]结合上述第一方面,作为一种可选的实现方式,利用字典树对所述生成新的字符串中的每个字符进行匹配查询;
[0014]当确定字典树中查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配成功;
[0015]当确定字典树中未查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配失败。
[0016]结合上述第一方面,作为一种可选的实现方式,当从分隔符的结点中查找下一个匹配的字符失败次数超过设定阈值时,判断当前的分隔符是否为从域名尾部开始的第二个分隔符;
[0017]若是则,自动增加一个设置的匹配任意字符串,以完成字典树域名匹配。
[0018]结合上述第一方面,作为一种可选的实现方式,所述设定阈值为20次。
[0019]第二方面,本申请提供了一种字典树域名匹配装置,该装置包括:
[0020]生成单元,其用于获取用户请求URL中的域名,并将所述域名进行倒序,以生倒序字符串;
[0021]判断单元,其用于利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功;
[0022]执行单元,其用于若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树域名匹配。
[0023]结合上述第二方面,作为一种可选的实现方式,所述判断单元,还用于利用字典树对所述生成新的字符串中的每个字符进行匹配查询;
[0024]当确定字典树中查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配成功;
[0025]当确定字典树中未查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配失败。
[0026]第三方面,本申请还提供了一种电子设备,所述电子设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现第一方面任一项所述的方法。
[0027]第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行第一方面任一项所述的方法。
[0028]本申请提供的一种字典树域名匹配方法、装置、设备及存储介质,该方法包括步骤:获取用户请求URL中的域名,并将所述域名进行倒序,以生倒序字符串;利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功;若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树域名匹配。本申请能够节约计算资源,能够使得域名匹配时间复杂度不会随着匹配规则的增长而增长,并且可以动态增加模糊匹配项,增强配置范围。
[0029]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本专利技术。
附图说明
[0030]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。
[0031]图1为本申请实施例中提供的一种字典树域名匹配方法流程图;
[0032]图2为本申请实施例中提供的一种字典树域名匹配装置示意图;
[0033]图3为本申请实施例中提供的一种电子设备示意图;
[0034]图4为本申请实施例中提供的一种计算机可读程序介质示意图。
具体实施方式
[0035]这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。
[0036]此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。附图所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
[0037]需要说明的是,CDN在做域名的模糊匹配时通常会采用轮询正则表达式列表的方法来匹配。系统的负载会随着正则表达式数量的增长而线性地增长,如果匹配的正则表达式恰好处于正则表达式列表的尾部,则前面的匹配过程都是无效的过程,白白浪费了系统的计算资源。因此,本申请通过在字典树中增加“*”表示匹配任意字符串,域名匹配规则倒序插入字典树,匹配域名时倒序匹配,同时为了适应子域名的动态变化,字典树的结点有一个访问错误统计的属性,当域名的访问不匹配次数达到阈值时字典树自动增加“*”匹配该域名下的子域名。以解决计算资源浪费的技术问题。
[0038]本申请实施例提供了一种字典树域名匹配方法、装置、设备及存储介质,能够节约计算资源,能够使得域名匹配时间复杂度不会随着匹配规则的增长而增长,并且可以动态增加模糊匹配项,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字典树域名匹配方法,其特征在于,包括:获取用户请求URL中的域名,并将所述域名进行倒序,以生倒序字符串;利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功;若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树域名匹配。2.根据权利要求1所述的方法,其特征在于,所述获取用户请求URL中的域名,并将所述域名进行倒序,以生成倒序字符串,包括:根据需求配置域名规则,并将所述获取用户请求URL中的域名中所有的大写字母转换成小写字母;将转成小写字母的域名按倒序进行排序,以生成倒序字符串。3.根据权利要求2所述的方法,其特征在于,所述将转成小写字母的域名按倒序进行排序,以生成倒序字符串之后,还包括:在字典树中查找所述倒序字符串,当查找成功,则确定CDN中配置了请求的域名,当查找失败,则确定CDN中没有配置请求的域名。4.根据权利要求1所述的方法,其特征在于,所述利用字典树对所述生成新的字符串进行匹配,并判断是否匹配成功,包括:利用字典树对所述生成新的字符串中的每个字符进行匹配查询;当确定字典树中查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配成功;当确定字典树中未查询到所述生成新的字符串中的每个字符时,则判断所述字典树与生成新的字符串匹配失败。5.根据权利要求1所述的方法,其特征在于,所述若否且匹配失败次数超过设定阈值,自动增加设置的匹配任意字符串,完成字典树...

【专利技术属性】
技术研发人员:桑懿
申请(专利权)人:武汉市烽视威科技有限公司
类型:发明
国别省市:

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

1