[发明专利]一种多维度快速匹配方法、装置及存储介质在审
申请号: | 202110862429.1 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113641672A | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 武安星 | 申请(专利权)人: | 武汉思普崚技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 姜婷 |
地址: | 430070 湖北省武汉市东湖新技术开发区光谷大道3*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多维 快速 匹配 方法 装置 存储 介质 | ||
1.一种多维度快速匹配方法,其特征在于,包括:
获取应用对象,并配置对应的多维度匹配条件;
针对所述多维度匹配条件进行配置初始化,形成配置结构数组;
将所述应用对象的五元组数据插入至所述配置结构数组,确定对应的设置bitmap,映射得到唯一对应的定义ID数据;
将待匹配的数据包与所述应用对象的每个维度进行匹配,获取每个维度的匹配bitmap,确定对应的匹配ID数据,与所述定义ID数据进行比较,确定是否属于所述应用对象。
2.根据权利要求1所述的多维度快速匹配方法,其特征在于,所述配置对应的多维度匹配条件包括:
设置所述应用对象会话的所述五元组数据和配置数据包方向,其中,所述五元组数据包括源IP数据、源端口数据、目的IP数据、目的端口数据和协议配置数据;
根据所述源IP数据、所述源端口数据、所述目的IP数据、所述目的端口数据、所述协议配置数据和所述配置数据包方向,生成对应的每一维度的匹配条件,形成所述多维度匹配条件。
3.根据权利要求2所述的多维度快速匹配方法,其特征在于,所述针对所述多维度匹配条件进行配置初始化,形成配置结构数组包括:
针对每一维度的所述匹配条件,申请对应的结构存储数组,其中,所述结构存储数组用于存储对应维度的匹配条件的配置参数;
将每一维度的所述配置参数初始化为0,形成所述配置结构数组,其中,所述配置参数包括对应维度的bitmap指针。
4.根据权利要求3所述的多维度快速匹配方法,其特征在于,所述将所述应用对象的五元组数据插入至所述配置结构数组包括:
基于二分法进行递归查找,根据IP数据的大小顺序,依次将所述应用对象的所述源IP数据、所述源端口数据、所述目的IP数据、所述目的端口数据、所述协议配置数据和所述配置数据包方向进行插入,形成保存数据数组。
5.根据权利要求4所述的多维度快速匹配方法,其特征在于,所述确定对应的设置bitmap,映射得到唯一对应的定义ID数据包括:
根据所述保存数据数组,针对每一维度,申请对应的新的内存存放对应维度的维度bitmap;
所述应用对象的所述定义ID数据通过左移N位,与所述维度bitmap进行位与,得到所述设置bitmap。
6.根据权利要求1所述的多维度快速匹配方法,其特征在于,所述将待匹配的数据包与所述应用对象的每个维度进行匹配,获取每个维度的匹配bitmap包括:
根据所述待匹配的数据包,确定对应的五元组数据;
基于二分递归查找,将所述待匹配的数据包对应的五元组数据与所述应用对象的每个维度的保存数据进行匹配,确定对应的不为空的bitmap指针,形成对应维度的所述匹配bitmap;
将每个维度的所述匹配bitmap,进行位与运算,确定唯一值。
7.根据权利要求6所述的多维度快速匹配方法,其特征在于,所述将每个维度的所述匹配bitmap,进行位与运算,确定唯一值包括:
根据所述设置bitmap相反的逆向位移,将每个维度的所述匹配bitmap进行位与运算,确定所述唯一值。
8.根据权利要求7所述的多维度快速匹配方法,其特征在于,所述确定对应的匹配ID数据,与所述定义ID数据进行比较,确定是否属于所述应用对象包括:
根据所述唯一值,确定所述待匹配的数据包对应的匹配ID数据;
将所述匹配ID数据与所述定义ID数据进行比较,当相等时,所述待匹配的数据包属于所述定义ID数据对应的所述应用对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉思普崚技术有限公司,未经武汉思普崚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110862429.1/1.html,转载请声明来源钻瓜专利网。