【技术实现步骤摘要】
一种基于树状自动机的域名匹配方法
本专利技术属于信息技术、域名
,具体涉及一种基于树状自动机的域名匹配方法。
技术介绍
随着互联网技术的飞速发展,域名的访问流量也快速增加,随即要求后台服务器具备更高的解析能力与安全防护能力。后台服务器在进行域名服务时,需要对域名进行匹配,如何实现域名的快速匹配便是其中的关键问题。现有的匹配方法多为字符串匹配:待匹配域名视为字符串T,并且有n个模式子串P1、P2、…、Pn,在T中寻找是否存在任意一个模式字串。该类算法常见的实现方式为:先将n个模式字串经过运算生成树状结构体,字符串T只需沿着树状结构体的根节点往下进行顺序匹配即可,无需遍历n个模式字串。现有算法进行的是逐字节匹配,而现代计算机系统的CPU运算位宽已普遍达到64位,因此现有的域名匹配方法效率低下。
技术实现思路
本专利技术目的在于针对上述问题,提供一种更高效的基于树状自动机的域名匹配方法。本专利技术采用的技术方案如下:一种基于树状自动机的域名匹配方法,其步骤包括:1)将待匹配域名以及模式子串的每一个分段填充至n字节的整数倍,其中n=L/8,L为计算机系统的最小运算位宽; ...
【技术保护点】
一种基于树状自动机的域名匹配方法,其步骤包括:1)将待匹配域名以及模式子串的每一个分段填充至n字节的整数倍,其中n=L/8,L为计算机系统的最小运算位宽;2)将模式子串以n字节为单元,构建树状自动机;3)将待匹配域名从根节点开始,顺序执行树状自动机直至完成域名匹配。
【技术特征摘要】
1.一种基于树状自动机的域名匹配方法,其步骤包括:1)将待匹配域名的每一个分段以及模式子串的每一个分段填充至n字节的整数倍,其中n=L/8,L为计算机系统的最小运算位宽;2)将模式子串以n字节为单元,构建树状自动机;3)将待匹配域名从根节点开始,顺序执行树状自动机直至完成域名匹配;具体匹配过程如下:a)初始化节点基地址为0,指向根节点;b)从节点基地址读取表项,获得节点内的出边数量N,hash初值M,下一个节点的基地址;c)将输入的待匹配域名的字符串进行hash运算,hash初值为M,hash运算结果与N进行取余操做后,与节点基地址相加,得到出边存储地址;d)从出边存储地址读取表项,比较输入字符串与表项中的模式子串:若匹配且出边为输出边,匹配过程完成,匹配成功;若匹配且不为输出边,节点基地址指向下一个节点,返回步骤b);若失配且出边不存在hash冲突链,返回步骤a);若失配且出边存在hash冲突链,出边表项地址指向下一个冲突表项,重复执行步骤d)。2.如...
【专利技术属性】
技术研发人员:李晓东,李洪涛,孙云刚,罗瑶,武丽帅,
申请(专利权)人:中国互联网络信息中心,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。