[发明专利]基于内存存储检测数据的方法、装置以及网卡有效
申请号: | 202210134818.7 | 申请日: | 2022-02-14 |
公开(公告)号: | CN114584482B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 薄守静 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | H04L43/028 | 分类号: | H04L43/028;H04L43/50 |
代理公司: | 北京智信禾专利代理有限公司 11637 | 代理人: | 赵杰 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内存 存储 检测 数据 方法 装置 以及 网卡 | ||
本说明书实施例提供基于内存存储检测数据的方法、装置以及网卡,其中所述方法包括:预先在支持并发访问的内存中存储至少一条预设检测规则对应的多个命中信息,其中,所述多个命中信息各自的内存地址基于预设的多个哈希函数对所述预设检测规则进行哈希计算确定;获取数据;基于预设的多个哈希函数,计算所述数据对应的多个哈希值;对内存发出并发的多个读访问以读取出命中信息,其中,所述多个读访问的内存地址分别根据所述多个哈希值确定;根据读取出的命中信息确定所述数据是否命中所述预设检测规则。
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种基于内存存储检测数据的方法、装置以及网卡。
背景技术
随着计算机技术的高速发展,各种网络服务产品在网络中得到广泛应用,为用户带来极大方便。在网络中,经常涉及对数据进行检测的场景。例如,云产品,也称为云服务,是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。智能网卡卸载云产品的过程,往往需要高性能检测云产品相关的报文数据以过滤报文。在数据检测中,规则匹配是常用的检测手段。
但是,基于目前规则匹配的设计,数据检测表现出较低的性能,检测速度过慢,不能满足网络的性能需求。
发明内容
有鉴于此,本说明书实施例提供了一种基于内存存储检测数据的方法。本说明书一个或者多个实施例同时涉及一种基于内存存储检测数据的装置,一种网卡,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种基于内存存储检测数据的方法,包括:预先在支持并发访问的内存中存储至少一条预设检测规则对应的多个命中信息,其中,所述多个命中信息各自的内存地址基于预设的多个哈希函数对所述预设检测规则进行哈希计算确定;获取数据;基于预设的多个哈希函数,计算所述数据对应的多个哈希值;对内存发出并发的多个读访问以读取出命中信息,其中,所述多个读访问的内存地址分别根据所述多个哈希值确定;根据读取出的命中信息确定所述数据是否命中所述预设检测规则。
可选地,所述内存包括多条独立内存,所述多条独立内存之间支持并发访问,所述哈希函数与所述独立内存是一一对应的关系。所述对内存发出并发的多个读访问以读取出多个命中信息,包括:根据哈希函数与独立内存之间的对应关系,确定所述多个读访问分别对应的独立内存;对多条独立内存发出并发的所述多个读访问。
可选地,所述方法应用于网卡,所述数据为报文数据。
可选地,还包括:如果所述报文数据命中所述预设检测规则,确定所述报文数据发生异常。
可选地,还包括:如果所述报文数据命中所述预设检测规则,对所述报文数据的数据包不做硬件转发。
可选地,所述根据读取出的命中信息确定所述数据是否命中所述预设检测规则,包括:如果从所述多个读访问的内存地址均读取出命中信息,确定所述数据命中所述预设检测规则;如果至少一个读访问的内存地址未读取出命中信息,确定所述数据未命中所述预设检测规则。
可选地,所述根据读取出的命中信息确定所述数据是否命中所述预设检测规则,包括:如果从所述读访问的内存地址读取出命中信息,所述读访问的命中值为真;如果从所述读访问的内存地址未读取出命中信息,所述读访问的命中值为假;将所述多个读访问的命中值进行逻辑和运算;如果所述多个读访问的命中值的逻辑和运算结果为真,则所述数据命中所述预设检测规则;如果所述多个读访问的命中值的逻辑和运算结果为假,则所述数据未命中所述预设检测规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210134818.7/2.html,转载请声明来源钻瓜专利网。