[发明专利]大规模特征的多模匹配方法、装置及存储介质有效
申请号: | 201910945379.6 | 申请日: | 2019-09-30 |
公开(公告)号: | CN112579839B | 公开(公告)日: | 2022-07-01 |
发明(设计)人: | 李博;吕群;杨龙 | 申请(专利权)人: | 奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威;贾依娇 |
地址: | 519085 广东省珠海市高新区唐家*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大规模 特征 匹配 方法 装置 存储 介质 | ||
1.一种大规模特征的多模匹配方法,其特征在于,所述方法包括:
获取特征集合,并将所述特征集合中的特征划分状态机特征和移动表特征;
根据所述状态机特征,构建有限状态自动机;根据所述移动表特征,构建特征列表、中缀跳转表和前缀散列表;
获取待处理文本,利用所述有限状态自动机扫描待处理文本,得到第一特征匹配结果;利用所述中缀跳转表、前缀散列表和特征列表扫描待处理文本,第二特征匹配结果;
根据所述第一特征匹配结果和所述第二特征匹配结果的并集,得到待处理文本的特征匹配结果;
其中,所述将所述特征集合中的特征划分状态机特征和移动表特征,包括:
遍历所述特征集合中的特征,判断所述特征的字符串长度是否小于预设的字符串长度;
若所述特征的字符串长度小于预设的字符串长度,则将所述特征划分为状态机特征;若否,则判断所述特征是否为模糊匹配特征、跳跃匹配特征、正则匹配特征或大小写不敏感特征;
若所述特征为模糊匹配特征、跳跃匹配特征、正则匹配特征或大小写不敏感特征,则将所述特征划分为状态机特征;若否,则判断所述特征的命中频率是否在预设范围内;
若所述特征的命中频率在预设范围内,则将所述特征划分为状态机特征;若否,则将所述特征划分为移动表特征。
2.根据权利要求1所述的方法,其特征在于,所述根据所述状态机特征,构建有限状态自动机,包括:
将所述状态机特征以节点的形式储存在文件中;
对所述文件中存储的每一个节点进行序列化的模式编译,得到有限状态自动机。
3.根据权利要求1所述的方法,其特征在于,所述根据所述移动表特征,构建特征列表、中缀跳转表和前缀散列表,包括:
将所述移动表特征以二进制数值的形式存储在文件中,生成所述特征列表;
根据所述特征列表中的特征的前缀和中缀的索引信息,分别构建中缀跳转表和前缀散列表;
对所述特征列表进行压缩处理和加密处理。
4.根据权利要求1所述的方法,其特征在于,所述利用所述中缀跳转表、前缀散列表和特征列表扫描所述待处理文本,得到第二特征匹配结果,包括:
利用中缀跳转表对待处理文本的字符串进行中缀匹配;
当待处理文本的字符串命中中缀跳转表的中缀时,利用前缀散列表对待处理文本的字符串进行前缀匹配;
当待处理文本的字符串命中前缀散列表的前缀时,根据所述待处理文本的字符串命中的前缀,通过二分查找法查找与所述前缀相对应的中缀;
遍历所述特征列表,并根据待处理文本的字符串命中的前缀和中缀在特征列表中查找所述待处理文本的字符串匹配的特征;
针对所述待处理文本的字符串匹配的特征生成第二特征匹配结果。
5.根据权利要求4所述的方法,其特征在于,所述遍历所述特征列表,并根据待处理文本的字符串命中的前缀和中缀在特征列表中查找所述待处理文本的字符串匹配的特征,包括:
根据待处理文本的字符串命中的前缀和中缀,确定所述特征列表的遍历区;
映射内存在特征列表的遍历区中,并在内存中为特征列表的遍历区设立一个滑动窗口;
在所述滑动窗口中顺序查找所述待处理文本的字符串匹配的特征。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一特征匹配结果和所述第二特征匹配结果,得到待处理文本的特征匹配结果,包括:
将所述第一特征匹配结果和所述第二特征匹配结果取并集,生成待处理文本的特征匹配结果;
其中,所述待处理文本的特征匹配结果包括匹配成功的特征的ID值集合和每一个匹配成功的特征的位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司,未经奇安信安全技术(珠海)有限公司;奇安信科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910945379.6/1.html,转载请声明来源钻瓜专利网。