用于通用平台的高性能网络流量的模式匹配方法及系统与流程

文档序号:36996391发布日期:2024-02-09 12:37阅读:14来源:国知局
用于通用平台的高性能网络流量的模式匹配方法及系统与流程

本公开属于模式匹配,尤其涉及一种用于通用平台的高性能网络流量的模式匹配方法及系统。


背景技术:

1、本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

2、随着网络服务和应用的不断发展,待检测的特征变得越来越复杂,难以用精确字符串进行准确的描述。经典的字符串匹配算法虽然性能优异,但是规则单一,在内容迭代快速的今天,无法满足当前内容匹配的实时性以及准确性。正则表达式使用单个字符串可以描述一系列满足某个句法规则的字符串集合,这种方式首先将表达式转化为有穷自动机,通过判断字符串是否符合有穷自动机来判断字符串是否有片段符合正则表达式的描述。因此正则表达式的语义表达能力和灵活性远远高于经典字符串匹配,可以检测到指定内容中更为宽泛的符合规则的内容,逐渐成为深度检测中规则描述和匹配的首选方法,广泛应用于安全检测、应用分类、协议识别等领域。

3、发明人发现,正则表达式匹配虽然实时性以及准确性更优,但是其在匹配速度这个指标上都面临着性能挑战。随着网络技术的不断发展,网络带宽已从传统的1gb/s、10gb/s,逐步提高到40gb/s、100gb/s,正迈向400gb/s大关。另一方面,软件定义网络(software-defined networking,sdn)和网络功能虚拟化(network functions virtualization,nfv)等技术逐渐兴起和成熟后,越来越多的网络功能与专有硬件设备解耦,采用通用的计算、存储、网络设备实现各种网络功能,降低成本,并且同时带来灵活部署、资源共享等多方面优势。然而,通用平台上的正则表达式匹配算法性能难以与fpga、tcam等专有硬件相比,匹配速度成为高性能网络流量检测与管理的瓶颈之一。同时,现有方法在不同的应用场景中各有优缺点,且随着技术的发展,需要处理的数据规模越来越大,现有的正则匹配算法在处理大规模数据或需要高效匹配的情况下,往往存在计算资源利用率不高的问题。


技术实现思路

1、本公开为了解决上述问题,提供了一种用于通用平台的高性能网络流量的模式匹配方法及系统,所述方案基于现有方案中通常采用单一的模式匹配方法,导致现有方案无法适用于当前网络流量数据模式匹配需求灵活多变特点的问题,通过对待匹配的数据进行特征分析,基于分析结果动态的确定最适宜的模式匹配方案,有效提高了模式匹配的效率、减少了计算资源的使用、提高了匹配的准确性。

2、根据本公开实施例的第一个方面,提供了一种用于通用平台的高性能网络流量的模式匹配方法,包括:

3、获取待匹配的网络流量数据并进行相应预处理,其中,所述流量数据包括但不限于文本数据;

4、提取网络流量数据中字符串的属性特征;

5、根据获得的属性特征,确定匹配需求;

6、基于确定的匹配需求,按照预设调度策略从预设模式匹配算法集合中选择相应的模式匹配算法;其中,所述预设调度策略具体为:当匹配需求为需要匹配单个关键词时选择字符串匹配算法,当匹配需求为需要匹配多个关键词时选择多模式匹配算法;当匹配需求为需要采用正则表达式匹配算法时根据cpu架构进行正则表达式匹配算法的选择;

7、基于选择的模式匹配算法进行网络流量数据的模式匹配,获得匹配结果。

8、进一步的,所述属性特征包括字符串长度、重复程度以及通用平台的处理器架构。

9、进一步的,在模式匹配过程中,基于通用平台的计算负载以及系统资源的使用情况,对模式匹配中的算法执行顺序以及执行方式进行动态调整。

10、进一步的,所述动态调整具体为:当剩余系统资源大于预设阈值时,并行执行多个匹配任务;当剩余系统资源小于等于预设阈值时,基于模式匹配任务的优先级执行匹配任务的执行。

11、进一步的,所述字符串匹配算法包括暴力算法、kmp算法或bm算法;所述多模式匹配算法包括ac算法。

12、根据本公开实施例的第二个方面,提供了一种用于通用平台的高性能网络流量的模式匹配系统,包括:

13、数据获取单元,其用于获取待匹配的网络流量数据并进行相应预处理,其中,所述流量数据包括但不限于文本数据;

14、特征提取单元,其用于提取网络流量数据中字符串的属性特征;

15、匹配需求确定单元,其用于根据获得的属性特征,确定匹配需求;

16、匹配算法选择单元,其用于基于确定的匹配需求,按照预设调度策略从预设模式匹配算法集合中选择相应的模式匹配算法;其中,所述预设调度策略具体为:当匹配需求为需要匹配单个关键词时选择字符串匹配算法,当匹配需求为需要匹配多个关键词时选择多模式匹配算法;当匹配需求为需要采用正则表达式匹配算法时根据cpu架构进行正则表达式匹配算法的选择;

17、匹配计算单元,其用于基于选择的模式匹配算法进行网络流量数据的模式匹配,获得匹配结果。

18、根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种用于通用平台的高性能网络流量的模式匹配方法。

19、根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种用于通用平台的高性能网络流量的模式匹配方法。

20、与现有技术相比,本公开的有益效果是:

21、(1)本公开提供了一种用于通用平台的高性能网络流量的模式匹配方法及系统,所述方案基于现有方案中通常采用单一的模式匹配方法,导致现有方案无法适用于当前网络流量数据模式匹配需求灵活多变特点的问题,通过对待匹配的数据进行特征分析,基于分析结果动态的确定最适宜的模式匹配方案,有效提高了模式匹配的效率、减少了计算资源的使用、提高了匹配的准确性。

22、(2)所述方案基于现有模式匹配算法特点,提供了一种匹配算法的调度策略,实现了更高效的资源利用和更高的匹配效率,所述方案具有广泛的应用前景。

23、本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。



技术特征:

1.一种用于通用平台的高性能网络流量的模式匹配方法,其特征在于,包括:

2.如权利要求1所述的一种用于通用平台的高性能网络流量的模式匹配方法,其特征在于,所述属性特征包括字符串长度、重复程度以及通用平台的处理器架构。

3.如权利要求1所述的一种用于通用平台的高性能网络流量的模式匹配方法,其特征在于,在模式匹配过程中,基于通用平台的计算负载以及系统资源的使用情况,对模式匹配中的算法执行顺序以及执行方式进行动态调整。

4.如权利要求3所述的一种用于通用平台的高性能网络流量的模式匹配方法,其特征在于,所述动态调整具体为:当剩余系统资源大于预设阈值时,并行执行多个匹配任务;当剩余系统资源小于等于预设阈值时,基于模式匹配任务的优先级执行匹配任务的执行。

5.如权利要求1所述的一种用于通用平台的高性能网络流量的模式匹配方法,其特征在于,所述字符串匹配算法包括暴力算法、kmp算法或bm算法;所述多模式匹配算法包括ac算法。

6.一种用于通用平台的高性能网络流量的模式匹配系统,其特征在于,包括:

7.如权利要求6所述的一种用于通用平台的高性能网络流量的模式匹配系统,其特征在于,在模式匹配过程中,基于通用平台的计算负载以及系统资源的使用情况,对模式匹配中的算法执行顺序以及执行方式进行动态调整。

8.如权利要求6所述的一种用于通用平台的高性能网络流量的模式匹配系统,其特征在于,所述动态调整具体为:当剩余系统资源大于预设阈值时,并行执行多个匹配任务;当剩余系统资源小于等于预设阈值时,基于模式匹配任务的优先级执行匹配任务的执行。

9.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述的一种用于通用平台的高性能网络流量的模式匹配方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一项所述的一种用于通用平台的高性能网络流量的模式匹配方法。


技术总结
本公开提供了一种用于通用平台的高性能网络流量的模式匹配方法及系统,包括:获取待匹配的网络流量数据并进行相应预处理,其中,所述流量数据包括但不限于文本数据;提取网络流量数据中字符串的属性特征;根据获得的属性特征,确定匹配需求;基于确定的匹配需求,按照预设调度策略从预设模式匹配算法集合中选择相应的模式匹配算法;其中,所述预设调度策略具体为:当匹配需求为需要匹配单个关键词时选择字符串匹配算法,当匹配需求为需要匹配多个关键词时选择多模式匹配算法;当匹配需求为需要采用正则表达式匹配算法时根据CPU架构进行正则表达式匹配算法的选择;基于选择的模式匹配算法进行网络流量数据的模式匹配,获得匹配结果。

技术研发人员:李浩,汤海建
受保护的技术使用者:中孚信息股份有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1