一种流表管理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34966273 阅读:16 留言:0更新日期:2022-09-17 12:47
本发明专利技术涉及一种流表管理方法、装置、电子设备及存储介质,应用于网络安全技术领域,该方法包括:根据网络的五元组建立流表项并确定哈希桶,对哈希桶加写锁并将流表项插入哈希桶;根据五元组查找待使用的哈希桶,对待使用的哈希桶加读锁并使用加读锁后待使用的哈希桶中的流表项;设置多种老化策略,基于多种老化策略老化加读锁后待使用的哈希桶中的流表项。本发明专利技术提供的一种流表管理方法、装置、电子设备及存储介质,设置了读锁和写锁,降低了流表项使用时锁保护的时间,从而提高了整个系统的处理性能,且设置了多个老化策略,多个老化策略可以设置多个老化时间,避免只使用一个老化时间,从而减少了系统内存的消耗,提高了内存周转率。存周转率。存周转率。

【技术实现步骤摘要】
一种流表管理方法、装置、电子设备及存储介质


[0001]本专利技术涉及网络安全
,尤其涉及一种流表管理方法、装置、电子设备及存储介质。

技术介绍

[0002]在网络安全领域,需要对网络流量进行分析,在对网络流量的处理中,需要根据流量中的五元组(源IP、目的IP、源端口、目的端口、协议号)建立流表项,这些流表项就构成了流表。对流表项的管理主要有三个操作:插入流表项、使用流表项、老化流表项。
[0003]现有技术中,通常设置一个流表老化时间,老化所有的流表项,老化流表项线程和使用流表项线程是异步进行的,而且一般是一个老化线程,多个使用线程,为了保障使用流表项的安全,必须在使用流表项的全过程中使用锁保护。
[0004]但是,现有技术中只设置一个老化时间老化所有流表,非常消耗内存,内存周转率低,且对业务分析的全流程使用锁保护,会造成锁定的时间较长,降低了整个系统的处理性能。

技术实现思路

[0005]有鉴于此,有必要提供一种流表管理方法、装置、电子设备及存储介质,用以解决现有技术中只设置一个老化时间且锁保护时间长,导致的系统运行效率低的问题。
[0006]为达到上述技术目的,本专利技术采取了以下技术方案:第一方面,本专利技术提供了一种流表管理方法,包括:根据网络的五元组建立流表项并确定哈希桶,对哈希桶加写锁并将流表项插入哈希桶;根据五元组查找待使用的哈希桶,对待使用的哈希桶加读锁并使用加读锁后待使用的哈希桶中的流表项;设置多种老化策略,基于多种老化策略老化加读锁后待使用的哈希桶中的流表项。
[0007]优选的,根据网络的五元组确定哈希桶,包括:根据五元组进行哈希计算得到哈希价值;根据哈希价值确定相应的哈希桶。
[0008]优选的,将流表项插入哈希桶,包括:在将流表项插入哈希桶的同时,初始化流表项的参数。
[0009]优选的,流表项的参数包括流表项时间戳、流表项老化时间、流表项应用类型以及流表项引用计数;初始化流表项的参数,包括:将流表项引用计数设置为零,根据流表项应用类型设置流表项老化时间,将流表项时间戳设置为系统当前时间。
[0010]优选的,根据五元组查找待使用的哈希桶,对待使用的哈希桶加读锁之后,包括:
将流表项引用计数加一,将流表项时间戳设置为系统当前时间并释放读锁。
[0011]优选的,设置多种老化策略,包括:获取流表项数量,基于流表项数量设置流表项数量老化策略;基于TCP流结束标识设置TCP流结束标识老化策略;基于应用层中流结束标识设置应用层中流结束标识老化策略;基于流表项应用类型设置流表项应用类型老化策略。
[0012]优选的,基于多种老化策略老化加读锁后待使用的哈希桶的流表项,包括:根据流表项数量确定老化因子;根据系统当前时间、流表项时间戳以及流表项老化时间判断流表项是否老化完成;当流表项老化未完成时,根据老化因子和流表项老化时间加速老化流表项;当流表项老化完成时,释放流表项引用计数为零的流表项并将流表项引用计数不为零的流表项插入回收链表。
[0013]第二方面,本专利技术还提供了一种流表管理装置,包括:插入模块,用于根据网络的五元组建立流表项并确定哈希桶,对哈希桶加写锁并将流表项插入哈希桶;使用模块,用于根据五元组查找待使用的哈希桶,对待使用的哈希桶加读锁并使用加读锁后待使用的哈希桶中的流表项;老化模块,用于设置多种老化策略,基于多种老化策略老化加读锁后待使用的哈希桶中的流表项。
[0014]第三方面,本专利技术还提供了一种电子设备,包括存储器和处理器,其中,存储器,用于存储程序;处理器,与存储器耦合,用于执行存储器中存储的程序,以实现上述任一种实现方式中的流表管理方法中的步骤。
[0015]第四方面,本专利技术还提供了一种计算机可读存储介质,用于存储计算机可读取的程序或指令,程序或指令被处理器执行时,能够实现上述任一种实现方式中的流表管理方法中的步骤。
[0016]采用上述实施例的有益效果是:本专利技术提供的一种流表管理方法、装置、电子设备及存储介质,分别在插入流表项和使用流表项的过程中设置了写锁和读锁,不用全程对流表项进行锁定,只设置了小范围的读写锁,保护关键流程不保护整个流程,流表管理的过程中耗时短,降低了流表项在使用时锁保护的时间,从而提高了整个系统的处理性能,且设置了多个老化策略,多个老化策略可以设置多个老化时间,避免只使用一个老化时间,从而减少了系统内存的消耗,提高了内存周转率。
附图说明
[0017]图1为本专利技术提供的流表管理方法的一实施例的流程示意图;图2为本专利技术提供的哈希流表的一实施例的结构示意图;图3为本专利技术提供的流表管理装置的一实施例的结构示意图;图4为本专利技术实施例提供的电子设备的结构示意图。
具体实施方式
[0018]下面结合附图来具体描述本专利技术的优选实施例,其中,附图构成本申请一部分,并与本专利技术的实施例一起用于阐释本专利技术的原理,并非用于限定本专利技术的范围。
[0019]在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0020]在对本申请的实施例进行阐述之前,对相关词语进行解释:Hash:一般翻译做“散列”,也有直接音译为“哈希”;Hash是指将任意长度的输入通过散列算法变换成固定长度的输出,该输出称之为散列值。上述通过散列算法变换输出长度一般利用压缩映射方式,一般而言,压缩映射是指将任意长度的消息压缩到某一固定长度的消息摘要的函数。在压缩映射中,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。
[0021]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本专利技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0022]本专利技术提供了一种流表管理方法、装置、电子设备及存储介质,以下分别进行说明。
[0023]请参阅图1,图1为本专利技术提供的流表管理方法的一实施例的流程示意图,本专利技术的一个具体实施例,公开了一种流表管理方法,包括:S101、根据网络的五元组建立流表项并确定哈希桶,对哈希桶加写锁并将流表项插入哈希桶;S102、根据五元组查找待使用的哈希桶,对待使用的哈希桶加读锁并使用加读锁后待使用的哈希桶中的流表项;S103、设置多种老化策略,基于多种老化策略老化加读锁后待使用的哈希桶中的流表项。
[0024]与现有技术相比,本实施例提供的一种流表管理方法,分别在插入流表项和使用流表项的过程中设置了写锁和读锁,不用全程对流表项进行锁定,只设置了小范围的读写锁,保护关键流程不保护整个流程,流表管理的过程中耗时短,降低了流表项在使用时锁保护的时间,从而提高了整个系统的处理性能,且设置了多个老化策略,多个老化策略可以设置多个老化时间,避免只使用一个老化时间,从而减少了系统内存的消本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流表管理方法,其特征在于,包括:根据网络的五元组建立流表项并确定哈希桶,对所述哈希桶加写锁并将所述流表项插入所述哈希桶;根据所述五元组查找待使用的哈希桶,对所述待使用的哈希桶加读锁并使用加读锁后待使用的哈希桶中的流表项;设置多种老化策略,基于所述多种老化策略老化所述加读锁后待使用的哈希桶中的流表项。2.根据权利要求1所述的流表管理方法,其特征在于,根据网络的五元组确定哈希桶,包括:根据所述五元组进行哈希计算得到哈希价值;根据所述哈希价值确定相应的哈希桶。3.根据权利要求2所述的流表管理方法,其特征在于,所述将所述流表项插入所述哈希桶,包括:在将所述流表项插入所述哈希桶的同时,初始化所述流表项的参数。4.根据权利要求3所述的流表管理方法,其特征在于,所述流表项的参数包括流表项时间戳、流表项老化时间、流表项应用类型以及流表项引用计数;所述初始化所述流表项的参数,包括:将所述流表项引用计数设置为零,根据所述流表项应用类型设置所述流表项老化时间,将所述流表项时间戳设置为系统当前时间。5.根据权利要求4所述的流表管理方法,其特征在于,所述根据所述五元组查找待使用的哈希桶,对所述待使用的哈希桶加读锁之后,包括:将所述流表项引用计数加一,将所述流表项时间戳设置为系统当前时间并释放所述读锁。6.根据权利要求4所述的流表管理方法,其特征在于,所述设置多种老化策略,包括:获取流表项数量,基于所述流表项数量设置流表项数量老化策略;基于TCP流结束标识设置TCP流结束标识老化策...

【专利技术属性】
技术研发人员:陈志华
申请(专利权)人:北京安博通金安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1