[发明专利]基于内存存储检测数据的方法、装置以及网卡有效
申请号: | 202210134818.7 | 申请日: | 2022-02-14 |
公开(公告)号: | CN114584482B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 薄守静 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | H04L43/028 | 分类号: | H04L43/028;H04L43/50 |
代理公司: | 北京智信禾专利代理有限公司 11637 | 代理人: | 赵杰 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内存 存储 检测 数据 方法 装置 以及 网卡 | ||
1.一种基于内存存储检测数据的方法,包括:
预先在支持并发访问的内存中存储至少一条预设检测规则对应的多个命中信息,其中,所述多个命中信息各自的内存地址基于预设的多个哈希函数对所述预设检测规则进行哈希计算确定;
获取数据;
基于预设的多个哈希函数,计算所述数据对应的多个哈希值;
对内存发出并发的多个读访问以读取出命中信息,其中,所述多个读访问的内存地址分别根据所述多个哈希值确定;
根据读取出的命中信息确定所述数据是否命中所述预设检测规则。
2.根据权利要求1所述的方法,所述内存包括多条独立内存,所述多条独立内存之间支持并发访问,所述哈希函数与所述独立内存是一一对应的关系;
所述对内存发出并发的多个读访问以读取出多个命中信息,包括:
根据哈希函数与独立内存之间的对应关系,确定所述多个读访问分别对应的独立内存;
对多条独立内存发出并发的所述多个读访问。
3.根据权利要求1所述的方法,所述方法应用于网卡,所述数据为报文数据。
4.根据权利要求3所述的方法,还包括:
如果所述报文数据命中所述预设检测规则,确定所述报文数据发生异常。
5.根据权利要求3所述的方法,还包括:
如果所述报文数据命中所述预设检测规则,对所述报文数据的数据包不做硬件转发。
6.根据权利要求1所述的方法,所述根据读取出的命中信息确定所述数据是否命中所述预设检测规则,包括:
如果从所述多个读访问的内存地址均读取出命中信息,确定所述数据命中所述预设检测规则;
如果至少一个读访问的内存地址未读取出命中信息,确定所述数据未命中所述预设检测规则。
7.根据权利要求6所述的方法,所述根据读取出的命中信息确定所述数据是否命中所述预设检测规则,包括:
如果从所述读访问的内存地址读取出命中信息,所述读访问的命中值为真;
如果从所述读访问的内存地址未读取出命中信息,所述读访问的命中值为假;
将所述多个读访问的命中值进行逻辑和运算;
如果所述多个读访问的命中值的逻辑和运算结果为真,则所述数据命中所述预设检测规则;
如果所述多个读访问的命中值的逻辑和运算结果为假,则所述数据未命中所述预设检测规则。
8.一种基于内存存储检测数据的装置,包括:
规则配置模块,被配置为预先在支持并发访问的内存中存储至少一条预设检测规则对应的多个命中信息,其中,所述多个命中信息各自的内存地址基于预设的多个哈希函数对所述预设检测规则进行哈希计算确定;
数据获取模块,被配置为获取数据;
哈希计算模块,被配置为基于预设的多个哈希函数,计算所述数据对应的多个哈希值;
并发访问模块,被配置为对内存发出并发的多个读访问以读取出命中信息,其中,所述多个读访问的内存地址分别根据所述多个哈希值确定;
命中判断模块,被配置为根据读取出的命中信息确定所述数据是否命中所述预设检测规则。
9.一种网卡,包括:计算设备以及内存,其中,
所述计算设备,被配置为预先在支持并发访问的内存中存储至少一条预设检测规则对应的多个命中信息,其中,所述多个命中信息各自的内存地址基于预设的多个哈希函数对所述预设检测规则进行哈希计算确定;获取数据;基于预设的多个哈希函数,计算所述数据对应的多个哈希值;对内存发出并发的多个读访问以读取出命中信息,其中,所述多个读访问的内存地址分别根据所述多个哈希值确定;根据读取出的命中信息确定所述数据是否命中所述预设检测规则;
所述内存,被配置为存储至少一条预设检测规则对应的多个命中信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210134818.7/1.html,转载请声明来源钻瓜专利网。