[发明专利]一种字符反向匹配的方法及装置有效
申请号: | 202111130164.2 | 申请日: | 2021-09-26 |
公开(公告)号: | CN113836367B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 左虹;方振兴;李芳燕;叶倩 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 王茹 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符 反向 匹配 方法 装置 | ||
本申请提供一种字符反向匹配方法。该方法包括:将目标关键字的尾字符和待匹配的报文对应的字符串的尾字符进行右对齐处理,并将目标关键字中的字符,与在字符串中对应的字符分别进行匹配;若目标关键字中的任一字符,与在字符串中对应的字符不匹配,进一步获取字符串中与目标关键字的首字符对应的字符左相邻的下一个目标字符,并在预设的数组中查询;若在预设的数组中查询到目标字符,获取与目标字符对应的位置编号,并将位置编号的取值确定为偏移量M;将目标关键字向左偏移M个字符,并将目标关键字中的字符,与在字符串中对应位置上的字符分别继续进行匹配。以此类推,直到目标关键字中的字符,与在字符串中对应位置上的字符均匹配时停止。
技术领域
本申请涉及字符匹配领域,尤其涉及一种字符反向匹配的方法及装置。
背景技术
字符串是计算机科学中的常见概念,在此基础上产生了如何在大量数据中快速查找开发人员想要的信息的问题。其中,字符串匹配算法在网络领域有着广泛的应用。比如拼写算法、语言翻译、数据压缩、搜索引擎、网络入侵检测等。
随着互联网的发展,越来越多的网络应用需要依赖字符串匹配算法,而网络数据急剧增加,使得常规的字符匹配算法的匹配速度无法满足对报文进行高速处理的需求。在实际应用中,常规的字符串匹配算法,通常采用的对字符串中的字符进行逐个匹配的方式,存在字符匹配的效率不高的问题;因此,如何提升字符串匹配算法的字符匹配效率,是本领域亟待解决的问题。
发明内容
针对上述技术问题,在本申请实施方式的第一方面中,提供一种字符反向搜索方法,技术方案如下:
一种字符反向匹配方法,所述方法包括:
将目标关键字的尾字符和待匹配的报文对应的字符串的尾字符进行右对齐处理,并将所述目标关键字中的字符,与在所述字符串中对应位置上的字符分别进行匹配;
如果所述目标关键字中的任一字符,与在所述字符串中对应位置上的字符不匹配,进一步获取所述字符串中与所述目标关键字的首字符的位置对应的字符左相邻的下一个目标字符,并在预设的数组中查询所述目标字符;其中,所述预设的数组为基于所述目标关键字中包含的字符生成;所述预设的数组中的数组元素包括按照从左到右的顺序为所述目标关键字中的字符标记的位置编号;所述预设的数组中的下标包括与所述位置编号对应的所述目标关键字中的字符;
如果在所述预设的数组中查询到所述目标字符,获取与所述目标字符对应的位置编号,并将查询到的所述位置编号的取值确定为偏移量M;
将所述目标关键字向左偏移M个字符,并将所述目标关键字中的字符,与在所述字符串中对应位置上的字符分别继续进行匹配,以此类推,直到所述目标关键字中的字符,与在所述字符串中对应位置上的字符均匹配时停止。
可选的,所述目标关键字,包括:
与预设的报文特征对应的关键字。
可选的,所述待匹配的报文,包括:
报文头和报文内容;其中,所述报文头对应的字符串中包括用于标识报文的特殊字符。
可选的,所述特殊字符,包括:
影响字符匹配的特殊字符。
可选的,所述影响字符匹配的特殊字符,包括:
在编译器中作为字符串结束符的“\0”字符。
可选的,所述待匹配的报文对应的字符串中被设置了字符匹配范围;其中,所述字符匹配范围不包括所述报文头对应的字符串。
可选的,还包括:
按照从左到右的顺序为所述目标关键字中的字符分别标记对应的位置编号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111130164.2/2.html,转载请声明来源钻瓜专利网。