【技术实现步骤摘要】
本专利技术涉及网络数据管理领域,具体涉及一种通过软件提高硬件报文分类规则 匹配效率的方法。
技术介绍
在硬件报文分类系统中,对于报文规则的存储,一般最常用的方式是顺序数组 的方式存储,新配置到硬件中的报文分类规则放到规则表的末尾,然而由于新添加的规 则一般是当时最常用的,随着规则容量的增大,这种机制匹配效率会降低。在硬件报文分类系统中,根据业务需要,需要频繁的对报文分类规则进行增 加、删除等操作,由于原有系统中,规则容量不是很大,一般都采用顺序数组的方式存 储,这种存储对于小容量规则来说,对查找、增加、删除影响都不是很大,但是随着容 量增大,这种机制的弊端一效率低就慢慢暴露出来。在传统的顺序数组方式存储中,当增加一个规则,根据数组信息,在数组的末 尾增加规则,当删除一个规则时,扫描该数组定位到该规则位置,然后删除该规则,并 把后续的规则都向前移动一个位置。但随着业务需求,规则容量越来越大,这种效率就 会越来越低。实现高效的匹配规则,一般方式是把所有规则数组组成一个数组索引,每次都 把最新的规则放在整个数组指针的最前面,当有新增加规则或删除规则,调整规则的索 引,保证最新的规则在数组的最前面。但是随着规则容量的增加,现有技术方案出现了 匹配效率差的缺点,因为对于高速网上的报文需要快速匹配规则,而这种方案中,查找 一个规则需要太常的时间,基本上需要查找整个规则数组表,也就是复杂度为OCn)的规 模,才能匹配规则。
技术实现思路
本专利技术的目的在于解决上述现有技术方案的缺点,通过设置冲突链的方式,根 据规则的特点,设计出一个hash函数,尽可能保证每个规则的ha ...
【技术保护点】
一种通过软件提高硬件报文分类规则匹配效率的方法,其特征在于:步骤如下:A、在主机内存中申请一块内存区域,其中一部分用来存储规则,另一部分用来存储hash表;B、通过接口库,为每个规则生成hash关键字,并根据hash关键字把规则添加到主机内存规则表以及硬件规则表中;C、当需要增加或删除规则时,接口函数通过hash函数,查找该规则对应的hash关键字所在的位置,查找是否存在冲突,若不存在冲突,直接把该规则放进规则表与规则冲突链中;若存在冲突,则把该规则填加到冲突链所在链表的头位置;D、接口库更新主机内存中的存储规则,主机内存中存储规则更新完毕后,再根据调整后的规则表,更新硬件端的规则表;E、当数据包需要规则匹配时,通过hash函数,查找硬件中的规则,根据hash关键字,在hash关键字位置以及冲突位置匹配规则。
【技术特征摘要】
1. 一种通过软件提高硬件报文分类规则匹配效率的方法,其特征在于步骤如下A、在主机内存中申请一块内存区域,其中一部分用来存储规则,另一部分用来存储 hash 表;B、通过接口库,为每个规则生成hash关键字,并根据hash关键字把规则添加到主 机内存规则表以及硬件规则表中;C、当需要增加或删除规则时,接口函数通过hash函数,查找该规则对应的hash关 键字所在的...
【专利技术属性】
技术研发人员:贺志强,万伟,刘兴彬,王泼,朱春屹,连仲维,
申请(专利权)人:天津曙光计算机产业有限公司,
类型:发明
国别省市:12[中国|天津]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。