一种多核并行的网络业务流处理方法及设备技术

技术编号:4333470 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种多核并行的网络业务流处理方法,包括从网络中捕获数据包,将数据包匹配成多组业务流并生成业务流分配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于在生成业务流分配列表之后还包括:获取各个处理核心的负载情况;确定各组业务流的活跃级别;根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。本发明专利技术通过动态地将网络业务流分配到多个处理核心,有效地调节了各处理核心的负载,充分利用了多核处理器的处理性能。

【技术实现步骤摘要】

本专利技术涉及一种多核并行的网络业务流处理方法及设备
技术介绍
随着互联网的不断发展,以往的网络处理机制已经无法适应网络的发 展。同时,随着硬件技术的飞速发展,出现了多核处理技术。多个处理核心共 享緩存、存储空间、总线等资源,使得多个处理核心并行计算成为可能;也 为提高网络数据包处理性能提供了新的解决方案。以往,对于网络业务流的处理都由多核处理器中的一个处理核心来执 行,无法有效调节各处理核心的负载,以达到硬件使用平衡和充分利用硬件 资源。近来,出现了把网络业务流分配到多个处理核心的技术。但是,这些 技术一般是把网络业务流随机或静态地绑定到多个处理核心,在一定程度上 利用了多核处理能力。但是在网络业务流量不断涌变情况下,将业务流随机 或静态绑定到多个处理核心的策略无法实时均tf多个处理核心的负载,不能 高效地利用多个处理核心处理网络业务。因此,需要一种多核并行的网络业务流处理方法及设备,以均衡多个处 理核心的负载,并充分利用多核系统资源。
技术实现思路
本专利技术提供了 一种多核并行的网络业务流处理方法及设备。 在第一方面,本专利技术提供了一种多核并行的网络业务流处理方法,包括 从网络中捕获数据包,将数据包匹配成多组业务流并生成业务流分配列表, 以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于在 生成业务流分配列表之后还包括获取各个处理核心的负载情况;确定各组 业务流的活跃级别;根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。在本专利技术的第一方面中,优选地,利用数据包信息进行P合希处理来生成 所述业务流分配列表,列表中每项包括一组业务流对应的哈希值及其对应的 处理核心信息。在本专利技术的第一方面中,优选地,更改步骤包括根据所述负载情况判 断负载是否平衡;找出负载高和负载低的处理核心,其中负载高低根据预定 负载阈值来判断;在负载高的处理核心上找出活跃级别高的业务流组;更改 业务流分配列表,将负载高的处理核心上活il夭级别高的业务流组对应到负载 ^t的处理核心。在本专利技术的第一方面中,优选地,更改步骤包括将所述活跃级别量化 为各个处理核心的占用率;根据预定的均衡规则对所述占用率和负载进行均 衡处理,得出业务流和处理核心的对应关系;才艮据所述对应关系对所述业务 流分配列表进4亍更改。在本专利技术的第一方面中,优选地,所述均衡规则是根据所述负载和所 述占用率计算估计负载;各处理核心的估计负载不超过第一阈值;和/或各处 理核心的估计负载之差不超过第二阈值。在第二方面,本专利技术提供了一种多核并行的网络业务流处理设备,包括 数据包捕获模块,业务流匹配模块,其中,数据包捕获模块用于从网络中捕 获数据包,业务流匹配^^莫块用于将数据包匹配成多组业务流并生成业务流分 配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特 征在于还包括处理核心负载获取模块,获取各个处理核心的负载情况;业 务流活跃级别确定模块,用于确定各组业务流的活跃级别;业务流动态分配 模块,用于根据所述负载情况和所述活跃级别对所述业务流分配列表进行更 改,乂人而对业务流进4于动态分配。在本专利技术的第二方面中,优选地,所述业务流匹配模块包括利用 数据包信息进行哈希处理来生成所述业务流分配列表的模块,列表中每项包 括一组业务流对应的p合希值及其对应的处理核心信息。在本专利技术的第二方面中,优选地,所述业务流动态分配;f莫块包括根据 所述负载情况判断负载是否平衡的模块;找出负载高和负载低的处理核心的 模块,其中负载高低才艮据预定负载阈值来判断;在负载高的处理核心上找出活跃级别高的业务流组的模块;更改业务流分配列表,将负载高的处理核心 上活跃级别高的业务流组对应到负载低的处理核心的^f莫块。在本专利技术的第二方面中,优选地,所述业务流动态分配模块包括 将所述活跃级别量化为各个处理核心的占用率的模块;根据预定的均衡 规则对所述占用率和负载进行均衡处理,得出业务流和处理核心的对应 关系的模块;根据所述对应关系对所述业务流分配列表进行更改的模 块。本专利技术通过动态地将网络业务流分配到多个处理核心,有效地调节了各 处理核心的负载,充分利用了多核处理器的处理性能。附图说明下面将参照附图对本专利技术的具体实施方案进行更详细的说明,其中:图1是本专利技术的网络业务流处理设备的示意图2是业务流匹配并将其静态绑定到处理核心的示意图3是本专利技术的一个具体实施例的业务流动态分配的流程图4是本专利技术的另一个具体实施例的业务流动态分配的流程图。具体实施例方式图1是本专利技术的网络业务流处理设备的示意图。如图1所示,该设备包括数据包捕获模块100、业务流匹配模块120、 动态分配^t块140,业务流分配列表180、业务流处理才莫块160-1、 160-2、 160-3…160-n,其中,动态分配模块140包括业务流活跃级别确定模块140-1、 CPU负载获取模块140-2、业务流分配模块140-3。数据包捕获模块100从网络链路捕获数据包,并将其发送到业务流匹配 模块120。优选地,数据包捕获模块是以太网网卡、DAG卡等等。业务流匹配模块120将捕获到的数据包匹配成业务流。数据包是网络中 数据传输的基本单位,而业务流是指根据数据包的<源IP地址,目的IP地 址,源端口号,目的端口号,协议号>构成的五元组而划分的数据包的集合。 具体地说,业务流匹配模块120根据数据包包头中包含的上述五元组信息, 将数据包划分到相应的集合中,使之与相应的业务流相对应。在数据包被匹配成业务流基础上,依据业务流的特征对其进行分组。也 就是说,是在数据包共有特征的基础上,业务流也具有数据包的五元组信息特 征。在分组中,可以以五元组种的某项或多项特征为依据,再对业务流进行分组。通常地,通过判断源端网络地址IP和端口 Port对业务流进4亍分组。业务流匹配的结果是生成一个业务流分配列表,表中每项包含了各组业 务流信息及其对应的处理核心信息。在初始阶段,匹配好的各组业务流所对 应的是一个静态绑定的处理核心。在动态分配才莫块140中,业务流活跃级别确定才莫块140-1确定各组业务 流的活跃级别,CPU负载获取模块140-2获取多核处理器中各处理核心的负 载,而业务流分配模块140-3根据业务流活跃级别和处理核心负载,按照一 定的规则将业务流分配给多个处理核心,即对业务流分配列表180中每一表 项中的处理核心信息进行更改,将需要重新分配的一组业务流划归给某个处 理核心。优选地,每隔一段时间执行一次业务流动态分配。最后,根据业务流分配列表,分配好的业务流并行地在多个业务流处理 模块上接受处理,多个业务流处理模块分别运行在多核处理器的多个处理核 心上(图中未示出)。应当指出,数据包捕获模块100、业务流匹配模块120、动态分配模块 140、业务流分配列表可以整合到一个硬件设备中,比如以太网网卡。图2是业务流匹配并将其静态绑定到处理核心的示意图。如图2所示,在捕获到数据包之后,根据其中的数据包信息对数据包将 其匹配成业务流。如前所述,数据包包头中包含有五元组信息。根据数据包 信息中五元组信息中的一项或任意多项来进行哈希处理,生成一个业务流分 配列表。比如,根据数据包的源、目的IP地址进行哈本文档来自技高网...

【技术保护点】
一种多核并行的网络业务流处理方法,包括从网络中捕获数据包,将数据包匹配成多组业务流并生成业务流分配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于在生成业务流分配列表之后还包括: 获取各个处理核心的负载情况;   确定各组业务流的活跃级别; 根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。

【技术特征摘要】
1.一种多核并行的网络业务流处理方法,包括从网络中捕获数据包,将数据包匹配成多组业务流并生成业务流分配列表,以便多核处理器根据所述业务流分配列表对业务流进行处理,其特征在于在生成业务流分配列表之后还包括获取各个处理核心的负载情况;确定各组业务流的活跃级别;根据所述负载情况和所述活跃级别对所述业务流分配列表进行更改,从而对业务流进行动态分配。2. 根据权利要求1的方法,其特征在于利用数据包信息进行哈希处理来生成所述业务流分配列表,列表中每项 包括一组业务流对应的哈希值及其对应的处理核心信息。3.根据权利要求2的方法,其特征在于所述数据包信息是数据包的IP地址和/或端口号和/或协议域信息。4. 根据权利要求1的方法,其特征在于所述更改步骤包括 根据所述负载情况判断负载是否平衡;找出负载高和负载低的处理核心,其中负载高低根据预定负载阔值来判断;在负载高的处理核心上找出活跃级别高的业务流组; 更改业务流分配列表,将负载高的处理核心上活跃级别高的业务流组对 应到负载低的处理核心。5. 根据权利要求1的方法,其特征在于所述更改步骤包括 将所述活跃级别量化为各个处理核心的占用率;根据预定的均衡规则对所述占用率和负载进行均衡处理,得出业务流和 处理核心的对应关系;根据所述对应关系对所述业务流分配列表进行更改。6. 根据权利要求5的方法,其特征在于所述均衡规则是 根据所述负载和所述占用率计算估计负载; 各处理核心的估计负载不超过第一阈值;和/或各处理核心的估计负载之差不超过第二阈值。7. 根据权利要求1的方法,其特征在于根据各组业务流所包含的数据包和/或字节数来确定业务流的活跃级别。8...

【专利技术属性】
技术研发人员:梁志勇米嘉梁斌侯爽
申请(专利权)人:北京网康科技有限公司
类型:发明
国别省市:11[中国|北京]

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

1