[发明专利]一种特征码查找和匹配方法、设备及存储介质有效
| 申请号: | 202011639355.7 | 申请日: | 2020-12-31 |
| 公开(公告)号: | CN112685612B | 公开(公告)日: | 2022-08-30 |
| 发明(设计)人: | 刘声明 | 申请(专利权)人: | 武汉思普崚技术有限公司 |
| 主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901 |
| 代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 黄君军 |
| 地址: | 430070 湖北省武汉市东湖新技术开发区光谷大道3*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 特征 查找 匹配 方法 设备 存储 介质 | ||
本发明涉及一种特征码查找和匹配方法、设备及存储介质,方法包括:获取报文,并提取所述报文携带的规则ID和报文偏移字段后,计算出报文的第一键值;根据所述第一键值,在预设的特征码规则的哈希链表中查找与所述第一键值对应的第二键值,并在查找到后提取所述查找到的第二键值对应的特征码;当没有查找到与所述第一键值对应的第二键值时,根据所述报文的数据与特征码规则的哈希链表计算出报文的掩码键值;根据所述掩码键值,在所述哈希链表中查找与所述掩码键值对应的第三键值,并在查找到后提取所述查找到的第三键值对应的特征码。本发明解决了目前因采用硬件来实现特征码查找和匹配而导致的开发周期和成本增加的问题。
技术领域
本发明涉及特征码查找技术领域,尤其涉及一种特征码查找和匹配方法、设备及存储介质。
背景技术
现有的特征码查找、匹配大部分都是基于硬件加速模块模块实现特征码的查找和匹配,基于硬件的DPI、HFA加速单元达到快速查找和匹配特征的目的。
但是依赖具有具体加速单元的硬件来实现特征码查找和匹配时,当硬件变更所有的功能后都需要基于新硬件重新适配和测试,导致产品开发的周期和成本都会显著增加。
发明内容
有鉴于此,有必要提供一种特征码查找和匹配方法、设备及存储介质,用以解决目前因采用硬件来实现特征码查找和匹配而导致的开发周期和成本增加的问题。
第一方面,本发明提供一种特征码查找和匹配方法,包括如下步骤:
获取报文,并提取所述报文携带的规则ID和报文偏移字段后,计算出报文的第一键值;
根据所述第一键值,在预设的特征码规则的哈希链表中查找与所述第一键值对应的第二键值,并在查找到后提取所述查找到的第二键值对应的特征码;其中,所述哈希链表存储有各个特征码对应的键值;
当没有查找到与所述第一键值对应的第二键值时,根据所述报文的数据与特征码规则的哈希链表计算出报文的掩码键值;
根据所述掩码键值,在所述哈希链表中查找与所述掩码键值对应的第三键值,并在查找到后提取所述查找到的第三键值对应的特征码。
优选的,所述的特征码查找和匹配方法中,所述哈希链表通过哈希桶的方式建立,所述哈希桶的大小与规则ID的规格对应。
优选的,所述的特征码查找和匹配方法中,通过CRC算法或MD5算法进行第一键值的计算。
优选的,所述的特征码查找和匹配方法中,还包括:
当查找到与所述掩码键值对应的第三键值后,根据第一键值计算哈希索引值,并将第一键值以及与所述第一键值对应的规则ID存储到所述哈希链表中;其中,所述第一键值与所述哈希索引值对应。
优选的,所述的特征码查找和匹配方法中,所述将第一键值以及与所述第一键值对应的规则ID存储到所述哈希链表中的步骤具体为:
根据第一键值和与所述第一键值对应的规则ID生成一哈希桶,并将所述哈希桶存储至哈希链表中,并对所述第一键值对应的哈希索引值进行加锁。
优选的,所述的特征码查找和匹配方法中,还包括:对哈希链表进行特征码添加;具体为:
获取控制参数,根据控制参数提取出特征码,根据提取的特征码计算出第四键值,并将第四键值存入所述初始链表中。
优选的,所述的特征码查找和匹配方法中,所述控制参数至少包括特征码、掩码和规则ID。
优选的,所述的特征码查找和匹配方法中,还包括:对哈希链表进行特征码修改和删除;具体为:
获取删除或修改命令,根据所述删除或修改命令中携带的规则ID,删除或修改所述哈希链表中对应的哈希桶。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉思普崚技术有限公司,未经武汉思普崚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011639355.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图像检测方法和装置
- 下一篇:一种通信资源分配方法





