流量处理框架建立方法及装置与流程

文档序号:20437741发布日期:2020-04-17 22:11阅读:92来源:国知局
流量处理框架建立方法及装置与流程

本发明涉及网络数据处理技术领域,尤其涉及流量处理框架建立方法及装置。



背景技术:

如今,网络已经涉及到人们工作和生活的方方面面,很多场合下,网络数据已经成为一项宝贵的资源。企业内部可以通过分析入口流量,及时发现和阻止攻击行为,保护企业的重要信息和财产;服务行业可以根据大量的网络数据,开发更优质的服务,让人们的工作和生活越来越便捷等等。

面对目前的流量产品,现有技术中已经存在多种抓包工具,比如dpdk,能够提供抓包接口以及一系列网卡设置、抓包资源设置、核启动等接口,流量产品厂商需要根据各自的业务逻辑和设备范围,封装一套业务相关的调用逻辑,该方法不仅开发成本大,而且很难适应新业务的拓展。



技术实现要素:

本发明实施例提供一种流量处理框架建立方法,用以建立流量处理框架,降低开发成本,提高适应新业务拓展的能力,该方法包括:

获取流量产品参数,客户场景参数和应用需求参数;

根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;

根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。

本发明实施例提供一种流量处理框架建立装置,用以建立流量处理框架,降低开发成本,提高适应新业务拓展的能力,该装置包括:

参数获取模块,用于获取流量产品参数,客户场景参数和应用需求参数;

类型选取模块,用于根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;

框架建立模块,用于根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述流量处理框架建立方法。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述流量处理框架建立方法。

相对于现有技术中利用抓包接口以及一系列网卡设置、抓包资源设置、核启动等接口,并根据各自的业务逻辑和设备范围,封装业务相关的调用逻辑的方案而言,本发明实施例获取流量产品参数,客户场景参数和应用需求参数;根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。本发明实施例无需逐一封装业务相关的调用逻辑,仅需根据流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,结合预设连接关系数据,即可建立流量处理框架,有效降低开发成本,提高适应新业务拓展的能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中流量处理框架建立方法示意图;

图2为本发明实施例中流量处理框架建立的逻辑模型示意图;

图3为本发明实施例中流量处理框架建立装置结构图;

图4为本发明实施例中流量处理框架建立装置结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

为了建立流量处理框架,降低开发成本,提高适应新业务拓展的能力,本发明实施例提供一种流量处理框架建立方法,如图1所示,该方法可以包括:

步骤101、获取流量产品参数,客户场景参数和应用需求参数;

步骤102、根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;

步骤103、根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。

由图1所示可以得知,本发明实施例获取流量产品参数,客户场景参数和应用需求参数;根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。本发明实施例无需逐一封装业务相关的调用逻辑,仅需根据流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,结合预设连接关系数据,即可建立流量处理框架,有效降低开发成本,提高适应新业务拓展的能力。

具体实施时,获取流量产品参数,客户场景参数和应用需求参数。

实施例中,流量产品参数可以包括:旁路部署产品参数,串行部署产品参数或特定流量模拟产品参数。对于旁路部署产品而言,其特点是只接收流量,分析并生成告警信息;对于串行部署产品而言,其包括阻断和修改两种类型,特点是既要接收流量,又要发送流量,并且根据处理逻辑的计算量,可以选择利用单独的核处理,也可能直接用接收核或发送核处理,甚至接收、处理、发送都在相同的核上处理;对于特定流量模拟产品而言,其特点是由产品本身构造流量,只需要发送流量。

实施例中,客户场景参数可以根据企业规模确定,例如大型企业通常选择高配的设备,小型企业一般选择低配设备,不同设备的网卡数、核数,网卡和核的性能,以及各网卡、核之间的比例要求都有区别。

实施例中,应用需求参数不同,对接收、处理、发送几个环节的性能要求也不同。

具体实施时,根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核。

实施例中,根据所述流量产品参数,客户场景参数和应用需求参数,从接收网卡和发送网卡中选取至少一种网卡类型,从接收核,处理核和发送核中选取至少一种核类型。其中,核类型小于三种时,选中的每种核需要向两边额外承担未被选中的核类型的功能角色。

本实施例中,核类型小于三种时,选中的每种核需要向两边额外承担未被选中的核类型的功能角色,承担的原则如下:

1、不限于网卡的选择:比如实际选择为“接收网卡+处理核”的情况,处理核会同时承担3种角色,不过由于接收核与处理核,处理核与发送核是重叠的,以及没有发送网卡,所以只会按接收核的角色,跟接收网卡之前建立传输队列;

2、不限于“相邻”:比如实际选择为“接收网卡+接收核+发送网卡”的情况,接收核除了承担相邻的处理核角色外,还要继续承担发送核角色;

3、不能冲突:比如实际选择为“接收网卡+接收核+发送核+发送网卡”的情况,接收核、发送核不可以都承担处理核角色。

以上3点在角色确定阶段,都很容易保证,这样到达传输队列建立阶段,就始终只需要关心完整逻辑模型中4种相邻关系:接收网卡与接收核、接收核与处理核、处理核与发送核、发送核与发送网卡,从而保证无论实际情况如何,抓包框架都能在实际指定的硬件之间建立正确的队列关系。

具体实施时,根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。

发明人发现,现有技术中通常利用多种抓包工具,提供抓包接口以及一系列网卡设置、抓包资源设置、核启动等接口,流量产品厂商需要根据各自的业务逻辑和设备范围,封装一套业务相关的调用逻辑,该方法不仅开发成本大,而且很难适应新业务的拓展。因此,本发明实施例在逻辑上,将网卡类型划分为接收网卡和发送网卡,将核类型划分为接收核、处理核和发送核,建立了“接收网卡->接收核->处理核->发送核->发送网卡”的逻辑模型,如图2所示,也即给定了接收网卡,接收核,处理核,发送核,发送网卡之间的预设连接关系数据,对所有实际角色选择及硬件分配情况的统一和抽象,实现逻辑模型中所有相邻角色之前的流量传递通道。基于该逻辑模型,本发明实施例无需逐一封装业务相关的调用逻辑,仅需根据流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,结合预设连接关系数据,即可建立流量处理框架,有效降低开发成本,提高适应新业务拓展的能力。

实施例中,所述预设连接关系数据包括:接收网卡,接收核,处理核,发送核,发送网卡按顺序连接;

根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架,包括:根据所述预设连接关系数据,在选取的网卡类型和核类型之间建立流量传递通道。

例如,选取的网卡类型为接收网卡和发送网卡,选取的核类型为接收核,处理核和发送核,则结合预设连接关系数据,分别在接收网卡与接收核之间、接收核与处理核之间、处理核与发送核之间、发送核与发送网卡之间建立流量传递通道,从而建立的流量处理框架。

又例如,选取的网卡类型为接收网卡和发送网卡,选取的核类型为处理核和发送核,则结合预设连接关系数据,分别在接收网卡与处理核之间、处理核与发送核之间、发送核与发送网卡之间建立流量传递通道,并且,处理核同时承担未被选择的接收核的角色功能,也即“接收核-处理核角色重叠”,从而建立的流量处理框架。

又例如,选取的网卡类型为接收网卡和发送网卡,选取的核类型为发送核,则结合预设连接关系数据,分别在接收网卡与发送核之间、发送核与发送网卡之间建立流量传递通道,并且,发送核同时承担未被选择的接收核和处理核的角色功能,也即“接收核-处理核-发送核角色重叠”,从而建立的流量处理框架。

又例如,选取的网卡类型为接收网卡和发送网卡,选取的核类型为处理核,则结合预设连接关系数据,分别在接收网卡与处理核之间、处理核与发送网卡之间建立流量传递通道,并且,处理核同时承担未被选择的接收核和发送核的角色功能,也即“接收核-处理核-发送核角色重叠”,从而建立的流量处理框架。

需要说明的是,流量传递通道仅在非重叠的相邻角色间创建。仅在实际配置中指定了接收网卡的情况下,建立接收网卡-接收核之间的流量传输通道,接收核可以为独立角色,也可以同时承担了其它角色。仅在实际配置中指定了发送网卡的情况下,建立发送核与发送网卡之间的流量传输通道,发送核可以为独立角色,也可以同时承担了其它角色。接收核与处理核角色不重叠时,在二者之间创建多生产者多消费者无锁队列,处理核与发送核角色不重叠时,同理。所有核各司其职,相互之间不存在竞争,根据实际的流量环境,可以调整不同核的个数,直到达到所有核都最大化工作的状态。

实施例中,流量处理框架建立方法还包括:根据所述流量产品参数,客户场景参数和应用需求参数,确定选取的每种网卡类型对应的网卡数量和每种核类型对应的核数量;

根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架,包括:根据选取的网卡类型,每种网卡类型对应的网卡数量,选取的核类型,每种核类型对应的核数量和预设连接关系数据,建立流量处理框架。

本实施例中,流量处理框架建立方法还包括:若选取的网卡类型为接收网卡,根据接收网卡对应的网卡数量和与接收网卡连接的核类型对应的核数量,确定每个接收网卡对应的接收队列的数量和所述核类型对应的每个核待处理的接收队列的数量;

若选取的网卡类型为发送网卡,根据与发送网卡连接的核类型对应的核数量,确定每个发送网卡对应的发送队列的数量。

本实施例中,若选取的网卡类型为接收网卡,假设接收网卡对应的网卡数量为nr,与接收网卡连接的接收核对应的核数量为cr,计算nr与cr最小公约数,表示为m,则可以确定每个接收网卡对应的接收队列的数量为cr/m,核类型对应的每个核待处理的接收队列的数量为nr/m。本发明实施例一方面保证各个核的任务是平均的,指定合适个数的核,可以保证每个核都最大化工作,另一方面避免了不同核之间的竞争,保证流量接收过程的高性能。

本实施例中,若选取的网卡类型为发送网卡,假设与发送网卡连接的核类型对应的核数量为ct,则可以确定每个发送网卡对应的发送队列的数量为ct,从而每个核在每块网卡可以对应一个独立的队列,保证各个核可以无竞争的向所有网卡发送流量。

需要说明的是,框架中的逻辑模型是对所有实际角色选择及硬件分配情况的统一和抽象,根据业务需要,可以任意选择需要的角色、具体的收发网卡、各种核的个数。框架可以将任意实际模型,转换成逻辑模型,实际模型的指定,通过配置即可完成。相邻逻辑角色之间通道的建立,使用了统一合理的算法,任意实际的硬件数量比例,对于相同角色的核,保证了工作量分配的平均,对于不同角色的核,避免了相互竞争。

基于同一发明构思,本发明实施例还提供了一种流量处理框架建立装置,如下面的实施例所述。由于这些解决问题的原理与流量处理框架建立方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

图3为本发明实施例中流量处理框架建立装置的结构图,如图3所示,该装置包括:

参数获取模块301,用于获取流量产品参数,客户场景参数和应用需求参数;

类型选取模块302,用于根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;

框架建立模块303,用于根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。

一个实施例中,所述预设连接关系数据包括:接收网卡,接收核,处理核,发送核,发送网卡按顺序连接;

所述框架建立模块303进一步用于:根据所述预设连接关系数据,在选取的网卡类型和核类型之间建立流量传递通道。

一个实施例中,所述类型选取模块302还用于:根据所述流量产品参数,客户场景参数和应用需求参数,确定选取的每种网卡类型对应的网卡数量和每种核类型对应的核数量;

所述框架建立模块303进一步用于:根据选取的网卡类型,每种网卡类型对应的网卡数量,选取的核类型,每种核类型对应的核数量和预设连接关系数据,建立流量处理框架。

一个实施例中,如图4所示,图3所述的流量处理框架建立装置,还包括:

队列数量确定模块304,若选取的网卡类型为接收网卡,用于根据接收网卡对应的网卡数量和与接收网卡连接的核类型对应的核数量,确定每个接收网卡对应的接收队列的数量和所述核类型对应的每个核待处理的接收队列的数量;若选取的网卡类型为发送网卡,用于根据与发送网卡连接的核类型对应的核数量,确定每个发送网卡对应的接收队列的数量。

综上所述,本发明实施例获取流量产品参数,客户场景参数和应用需求参数;根据所述流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,其中所述网卡类型包括:接收网卡和发送网卡,所述核类型包括:接收核,处理核和发送核;根据选取的网卡类型、核类型和预设连接关系数据,建立流量处理框架。本发明实施例无需逐一封装业务相关的调用逻辑,仅需根据流量产品参数,客户场景参数和应用需求参数,选取至少一种网卡类型和至少一种核类型,结合预设连接关系数据,即可建立流量处理框架,有效降低开发成本,提高适应新业务拓展的能力。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1