网络业务识别装置及方法与流程

文档序号:15819266发布日期:2018-11-02 22:56阅读:207来源:国知局
网络业务识别装置及方法与流程

本发明涉及互联网技术领域,尤其涉及一种网络业务识别装置及方法。

背景技术

伴随着互联网技术的发展,各行业已融入互联网+思想,相应地产生了大量的业务流量数据。这对网络管理功能提出了更高要求,其中,网络流量业务识别预测是网络管理最重要的基础工作。

目前的网络流量业务预测方法主要依靠高性能服务器搭载的复杂网络流量业务预测算法实现,服务器成本高、适用范围有限。而采用专用多核处理系统,其中的多核总线控制技术会出现传输瓶颈,只能实现部分多核并行功能,不能充分发挥并行处理优势。

现有网络流量业务监控预测方法分为线性预测和非线性预测模型,主要通过服务器并利用软件实现。首先建立网络流量业务监控预测模型,然后进行网络流量业务预测性能评估、修正。但由于通用服务器硬件架构不能实现庞大规模网络流量业务监控预测,所以该方法只能针对网络流量规模较小的对象进行预测,不能满足网络流量业务监控预测数据业务对象群体庞大的要求。此外,为了追求精准的网络流量业务监控预测模型更多的采用复杂的网络流量业务预测模型,但复杂地网络流量业务预测模型需要更多的计算和存储资源,而通用服务器通常满足不了这些要求,所以模型收敛速度慢,而且由于主要采用串行流程进行,所以不能完全发挥服务器的计算性能。

专用网络流量业务监控预测芯片和平台一般采用集成电路实现。算法性能固定,不能对网络流量规模自适应调整,同时针对不同算法不能修改完善,扩展性不好。而采用多核处理器的专用网络流量业务预测芯片一般采用串行接入,采用总线控制的点对点通信方式,总线地址资源有限,很难实现一对多同时通信控制,不利于发挥多核并行优势。因此,对大规模的网络流量预测处理延迟大,没有发挥多核并行优势,同时对网络规模的增大没有可扩展性。



技术实现要素:

本发明提供一种网络业务识别装置及方法,以提高网络业务识别对网络规模的可扩展性和识别效率。

本发明提供一种网络业务识别装置,包括:第一基础层处理单元,包括至少三个第一板级模块,其中一个所述第一板级模块提供第一基础层核心节点,其余所述第一板级模块提供第一基础层边缘节点;其中,所述第一基础层处理单元获取网络流量数据包,并利用所述第一基础层核心节点根据多个所述第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点;第一网络业务预测单元,用于利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第一基础层边缘节点和所述第一基础层核心节点之间依据片上网络协议进行通信。

一个实施例中,还包括:扩展层处理单元,包括第二板级模块、提供所述第一基础层核心节点的所述第一板级模块、以及至少一个第三板级模块,所述第二板级模块提供扩展层核心节点,所述第三板级模块提供第二基础层核心节点;其中,若所述第一基础层核心节点无法将所述网络流量数据包分配至所述第一基础层边缘节点,则所述扩展层处理单元利用所述扩展层核心节点根据至少一个所述第二基础层核心节点的上报信息查找能够分配所述网络流量数据的所述第二基础层核心节点;第二基础层处理单元,包括提供查找到的所述第二基础层核心节点的所述第三板级模块和至少一个第四板级模块,所述第四板级模块提供第二基础层边缘节点;其中,所述第二基础层处理单元利用查找到的所述第二基础层核心节点根据至少一个所述第二基础层边缘节点的工作状态将所述网络流量数据分配至所述第二基础层边缘节点;第二网络业务预测单元,用于利用所述第二基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第二基础层边缘节点和所述第二基础层核心节点之间、所述第二基础层核心节点与所述扩展层核心节点之间、以及所述第一基础层核心节点与所述扩展层核心节点之间依据片上网络协议进行通信。

一个实施例中,所述第一网络业务预测单元,包括:关键字识别模块,用于利用所述第一基础层边缘节点对所述网络流量数据包的内容进行分析,识别所述网络流量数据包的关键字;第一网络业务识别模块,用于利用所述第一基础层边缘节点根据多个所述关键字的组合分析识别所述网络流量数据包在其数据流方向上的网络业务。

一个实施例中,所述第一网络业务预测单元,还包括:第二网络业务识别模块,用于利用所述第一基础层边缘节点根据所述网络流量数据包在其数据流方向上的网络业务,识别所述数据流方向的反方向上的数据流的网络业务,以及识别与所述网络流量数据包的获取时间间隔第一设定时间段的数据流的网络业务。

一个实施例中,所述第一基础层处理单元,还包括:第一工作状态上报模块,用于令多个所述第一基础层边缘节点每间隔第二设定时间段将其最新工作状态上报至所述第一基础层核心节点;空闲基础层边缘节点查找模块,用于利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点,并将所述网络流量数据包分配至空闲的所述第一基础层边缘节点。

一个实施例中,所述第一基础层处理单元,还包括:第二工作状态上报模块,用于令新的第一基础层边缘节点依据片上网络协议连接至所述第一基础层核心节点后将其工作状态上报至所述第一基础层核心节点,以供所述第一基础层核心节点查找空闲的第一基础层边缘节点。

一个实施例中,所述关键字识别模块,还用于令所述网络流量数据包的关键字包括:源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址及操作地址。

一个实施例中,提供所述第一基础层核心节点的所述第一板级模块与提供所述第一基础层边缘节点的所述第一板级模块之间、所述第二板级模块与提供所述第一基础层核心节点的所述第一板级模块之间、所述第二板级模块与所述第三板级模块之间、以及提供查找到的所述第二基础层核心节点的所述第三板级模块和所述第四板级模块之间通过金手指连接,以实现依据片上网络协议进行的通信。

一个实施例中,所述多个第一板级模块的个数为五个或五个以上;所述扩展层处理单元包括一个所述第二板级模块、一个提供所述第一基础层核心节点的所述第一板级模块、以及三个或三个以上所述第三板级模块。

本发明还提供一种网络业务识别方法,包括:获取网络流量数据包,并利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点;利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第一基础层边缘节点和所述第一基础层核心节点之间依据片上网络协议进行通信。

一个实施例中,还包括:若所述第一基础层核心节点无法将所述网络流量数据包分配至所述第一基础层边缘节点,则利用扩展层核心节点根据至少一个第二基础层核心节点的上报信息查找能够分配所述网络流量数据的所述第二基础层核心节点;利用查找到的所述第二基础层核心节点根据至少一个第二基础层边缘节点的工作状态将所述网络流量数据分配至所述第二基础层边缘节点;利用所述第二基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第二基础层边缘节点和所述第二基础层核心节点之间、所述第二基础层核心节点与所述扩展层核心节点之间、以及所述第一基础层核心节点与所述扩展层核心节点之间依据片上网络协议进行通信。

一个实施例中,利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务,包括:利用所述第一基础层边缘节点对所述网络流量数据包的内容进行分析,识别所述网络流量数据包的关键字;利用所述第一基础层边缘节点根据多个所述关键字的组合分析识别所述网络流量数据包在其数据流方向上的网络业务。

一个实施例中,利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务,还包括:利用所述第一基础层边缘节点根据所述网络流量数据包在其数据流方向上的网络业务,识别所述数据流方向的反方向上的数据流的网络业务,以及识别与所述网络流量数据包的获取时间间隔第一设定时间段的数据流的网络业务。

一个实施例中,利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点,包括:多个所述第一基础层边缘节点每间隔第二设定时间段将其最新工作状态上报至所述第一基础层核心节点;利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点,并将所述网络流量数据包分配至空闲的所述第一基础层边缘节点。

一个实施例中,利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点之前,还包括:新的第一基础层边缘节点依据片上网络协议连接至所述第一基础层核心节点后将其工作状态上报至所述第一基础层核心节点,以供所述第一基础层核心节点查找空闲的第一基础层边缘节点。

一个实施例中,所述网络流量数据包的关键字包括:源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址及操作地址。

本发明实施例的网络业务识别装置及方法,通过第一基础层核心节点可以将不同的网络流量数据包分配给不同的第一基础层边缘节点。不同的第一基础层边缘节点能够并行分析识别不同网络流量数据包的网络业务,以此能够提高网络业务识别的效率,从而克服现有网络业务识别系统主要依靠高性能服务器或者专用多核处理系统串行执行,并行度不高的问题。第一基础层边缘节点和第一基础层核心节点之间依据片上网络协议进行通信,可以视网络流量规模的增大增加第一板级模块的个数,以提供更多的第一基础层核心节点,以此使得网络业务识别装置具有更好的扩展性,从而可以克服采用集成电路实现的现有网络业务识别系统算法性能固定,不能对网络流量规模自适应调整,扩展性不好等问题。

附图说明

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

图1是本发明一实施例的网络业务识别装置的结构示意图;

图2是本发明另一实施例的网络业务识别装置的结构示意图;

图3是本发明一实施例中第一网络业务预测单元的结构示意图;

图4是本发明另一实施例中第一网络业务预测单元的结构示意图;

图5是本发明一实施例中第一基础层处理单元的结构示意图;

图6是本发明另一实施例中第一基础层处理单元的结构示意图;

图7是本发明一实施例中基础层的结构示意图;

图8是本发明一实施例中扩展层的结构示意图;

图9是本发明一实施例中网络业务识别方法的流程示意图;

图10是本发明另一实施例的网络业务识别方法的流程示意图;

图11是本发明一实施例中利用第一基础层边缘节点对网络流量数据包进行基于关键字的分析以识别网络业务的方法流程示意图;

图12是本发明另一实施例中利用第一基础层边缘节点对网络流量数据包进行基于关键字的分析以识别网络业务的方法流程示意图;

图13是本发明一实施例中利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法流程示意图;

图14是本发明另一实施例中利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法流程示意图;

图15是本发明一实施例的网络业务识别方法的流程示意图。

具体实施方式

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

图1是本发明一实施例的网络业务识别装置的结构示意图。如图1所示,本实施例的网络业务识别装置,可包括:第一基础层处理单元100和第一网络业务预测单元200。

第一基础层处理单元100可包括至少三个第一板级模块110,其中一个所述第一板级模块110提供第一基础层核心节点,其余所述第一板级模块110提供第一基础层边缘节点。其中,所述第一基础层处理单元100获取网络流量数据包,并利用所述第一基础层核心节点根据多个所述第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点。

第一网络业务预测单元200可用于利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务。

其中,所述第一基础层边缘节点和所述第一基础层核心节点之间依据片上网络协议进行通信。

每个上述第一板级模块110可包含一个计算核。提供第一基础层核心节点的第一板级模块110的计算核可负责协调和控制其他提供第一基础层边缘节点的第一板级模块110的计算核,例如,将上述网络流量数据包分配至空闲的第一基础层边缘节点。

提供第一基础层核心节点的第一板级模块110可以分别与各个提供第一基础层边缘节点的第一板级模块110桥接连接,以实现第一基础层核心节点和第一基础层边缘节点之间的网络连接。其他实施例中,各个提供第一基础层边缘节点的第一板级模块110之间可以相互桥接连接,以实现该些第一基础层边缘节点之间的网络连接。

第一基础层处理单元100可包括至少一个提供第一基础层核心节点的第一板级模块110和多个提供第一基础层边缘节点的第一板级模块110,例如可包括一个提供第一基础层核心节点的第一板级模块110,可包括2个、3个、4个或更多提供第一基础层边缘节点的第一板级模块110,每个第一板级模块110可提供一个第一基础层边缘节点。提供第一基础层核心节点的第一板级模块110的计算核可以将不同的网络流量数据包分配至不同的提供第一基础层边缘节点的第一板级模块110的计算核,各个提供第一基础层边缘节点的第一板级模块110的计算核可以并行处理不同的网络流量数据包,从而并行分析识别不同的网络流量数据包的网络业务。

本实施例中,通过提供第一基础层核心节点的第一板级模块可以将不同的网络流量数据包分配给不同的提供第一基础层边缘节点的第一板级模块。不同第一板级模块提供的第一基础层边缘节点能够并行分析识别不同网络流量数据包的网络业务,以此能够提高网络业务识别的效率,从而克服现有网络业务识别系统主要依靠高性能服务器或者专用多核处理系统串行执行,并行度不高的问题。第一基础层边缘节点和第一基础层核心节点之间依据片上网络协议进行通信,可以视网络流量规模的增大增加第一板级模块的个数,以提供更多的第一基础层核心节点,以此使得网络业务识别装置具有更好的扩展性,从而可以克服采用集成电路实现的现有网络业务识别系统算法性能固定,不能对网络流量规模自适应调整,扩展性不好等问题。

本发明前述及后述各实施例的板级模块可选用altera公司的stratixⅲep3sl340(de3-340)fpga实现。该种fpga功能强大、资源量丰富,包含了338000个逻辑单元;具有容量高达16272kbits的片上存储器;576个18×18bit乘法器模块,同时还有736个用户i/o,可以满足本发明板级模块的需求。

一些实施例中,上述第一板级模块110可以连接有网络接口和金手指内部接口,还可以设置有有限状态机单元。金手指内部接口可以实现不同第一板级模块110之间的硬件连接。网络接口可以实现不同第一板级模块110之间的片上网络通信。有限状态机单元可以提供第一网络业务预测单元的功能,用于进行网络业务识别。

一些实施例中,不仅第一基础层边缘节点和第一基础层核心节点之间可以依据片上网络协议进行通信,不同第一基础层核心节点之间也可以依据片上网络协议进行通信。从而不同第一基础层核心节点所在的第一板级模块的计算核之间可以直接通信,例如还可以共享片上的存储器。

图2是本发明另一实施例的网络业务识别装置的结构示意图。如图2所示,图1所示的网络业务识别装置,还可包括:扩展层处理单元300、第二基础层处理单元400及第二网络业务预测单元500。

扩展层处理单元300可包括第二板级模块310、提供所述第一基础层核心节点的所述第一板级模块110、以及至少一个第三板级模块410,所述第二板级模块310提供扩展层核心节点,所述第三板级模块410提供第二基础层核心节点。其中,若所述第一基础层核心节点无法将所述网络流量数据包分配至所述第一基础层边缘节点,则所述扩展层处理单元300利用所述扩展层核心节点根据至少一个所述第二基础层核心节点的上报信息查找能够分配所述网络流量数据的所述第二基础层核心节点。

第二基础层处理单元400可包括提供查找到的所述第二基础层核心节点的所述第三板级模块410和至少一个第四板级模块420,所述第四板级模块420提供第二基础层边缘节点。其中,所述第二基础层处理单元400利用查找到的所述第二基础层核心节点410根据至少一个所述第二基础层边缘节点420的工作状态将所述网络流量数据分配至所述第二基础层边缘节点420。

第二网络业务预测单元500可用于利用所述第二基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务。

其中,所述第二基础层边缘节点和所述第二基础层核心节点之间、所述第二基础层核心节点与所述扩展层核心节点之间、以及所述第一基础层核心节点与所述扩展层核心节点之间依据片上网络协议进行通信。

提供第一基础层核心节点的第一板级模块110不仅可以为第一基础层处理单元100提供第一基础层核心节点,还可以作为扩展层处理单元300的基础层的板级模块,为扩展层处理单元300提供边缘节点。类似地,第三板级模块410不仅可以为第二基础层处理单元400提供第二基础层核心节点,还可以作为扩展层处理单元300的基础层的板级模块,为扩展层处理单元300提供边缘节点。从而扩展层处理单元300可以提供扩展层核心节点和扩展层边缘节点(基础层核心节点)。在此情况下,当第一基础层核心节点无法将网络流量数据包分配至任何一个第一基础层边缘节点时,可以将该无法分配网络流量数据包的信息上报至扩展层核心节点,例如,当第一基础层核心节点发现第一基础层处理单元100中没有空闲的第一基础层边缘节点时,可以将任务已满的信息上报给扩展层核心节点,扩展层核心节点可以查找其他的基础层处理单元中是否存在空闲的基础层边缘节点。例如,扩展层核心节点查找到由第二基础层核心节点分配网络流量数据包的第二基础层边缘节点空闲,此时,扩展层核心节点可以将网络流量数据包交由第二基础层核心节点分配至空闲的第二基础层边缘节点。

每个第二板级模块310、每个第三板级模块410及每个第四板级模块420可分别设有一块计算核。第二板级模块310上的计算核可以协调控制将网络流量数据包交由第三板级模块410的计算核分配至第四板级模块420的计算核,或将网络流量数据包交由其他提供基础层核心节点的板级模块的计算核分配至相应的提供基础层边缘节点的板级模块的计算核。

提供第一基础层核心节点的第一板级模块110和第二板级模块310之间、以及第二板级模块310和每个第三板级模块410之间可以桥接连接,以实现片上网络连接。其他实施例中,各第三板级模块410之间可以桥接连接,以实现各第三板级模块410的计算核之间的片上网络连接。

第四板级模块420的个数可以是一个或多个,从而提供一个或多个第二基础层边缘节点。在设置多个第四板级模块420的情况下,例如2个、3个、4个或以上,多个第二基础层边缘节点可以并行处理不同的网络流量数据包。

本实施例中,在第一基础层处理单元无法处理获取的网络流量数据包时,可以通过扩展层处理单元查找能够处理网络流量数据包的其他基础层处理单元(例如第二基础层处理单元),从而能够细粒度、分层分配处理网络流量数据,以此可以进一步提高网络业务识别的效率。

在其他实施例中,多个上述扩展层核心节点可以作为进一步扩展层的边缘节点,并且这些进一步扩展层的边缘节点可以与同一进一步扩展层的核心节点可以依据片上网络协议进行通信。进一步扩展层的核心节点可以协调控制进一步扩展层的各个边缘节点。从而可以进一步扩展分层结构,细粒度、分层分配处理网络流量数据。所以,本发明仅以两层情况说明本发明的构思,并不对分层层数进行限定。

一些实施例中,第二板级模块310、第三板级模块410及第四板级模块420上可连接有网络接口和金手指内部接口,还可以设置有有限状态机单元。金手指内部接口可以实现不同板级模块之间的硬件连接。网络接口可以实现不同板级模块之间的片上网络通信。有限状态机单元可以提供第二网络业务预测单元的功能,用于进行网络业务识别。

一些实施例中,可以设定基础层边缘节点(例如第一基础层边缘节点、第二基础层边缘节点)的最大任务数量,例如接收网络流量数据包的最大数量。当基础层边缘节点接收的网络流量数据包的个数不超过最大数目时,可以认为该基础层边缘节点是空闲的。例如,第一基础层边缘节点最多能够接收5个网络流量数据包,第一基础层边缘节点可以反馈其繁忙状态至第一基础层核心节点,以不再接收第6个网络流量数据包。当第一基础层边缘节点处理完例如2个网络流量数据包时,尚有3个网络流量数据包在处理,此时,第一基础层边缘节点可将其空闲状态上报至第一基础层核心节点,以继续接收新的网络流量数据包。

一些实施例中,所述多个第一板级模块的个数为五个或五个以上;所述扩展层处理单元包括一个所述第二板级模块、一个提供所述第一基础层核心节点的所述第一板级模块、以及三个或三个以上所述第三板级模块。

图3是本发明一实施例中第一网络业务预测单元的结构示意图。如图3所示,图1和图2所示的网络业务识别装置中,所述第一网络业务预测单元200,可包括:关键字识别模块210和第一网络业务识别模块220,二者相互连接。

关键字识别模块210可用于利用所述第一基础层边缘节点对所述网络流量数据包的内容进行分析,识别所述网络流量数据包的关键字。第一网络业务识别模块220可用于利用所述第一基础层边缘节点根据多个所述关键字的组合分析识别所述网络流量数据包在其数据流方向上的网络业务。

网络流量数据包可以是数据报文的形式。通过利用第一基础层边缘节点对网络流量数据包的内容进行分析,可以识别该网络流量数据包的关键字。该关键字例如可以是源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址及操作地址中的一个或多个,或者是其他关键字。其中,源ip地址和目的ip地址分别标示网络流量数据包的发出和到达的ip地址。标志位可以是各种不同标志位,例如可以标识该网络流量数据包是语音信息。操作类型可指该网络流量数据包内容的命令类型,操作地址可指该命令的执行地址。源地址和目的地址可指网络流量数据包发出和到达的实际地址,可便于用户理解。

可以针对不同的网络业务预先设定关键字的组合,在进行网络业务识别时,可以将上述网络流量数据的关键字的组合与预先设定的关键字的组合进行匹配比较,如果发现与某一种网络业务的关键字组合相匹配,则可认为上述网络流量数据的网络业务为该种预先设定关键字的组合对应的网络业务。

本实施例中,通过先识别网络流量数据的关键字,再根据关键字的组合识别网络业务,识别过程简单、方便。

一些实施例中,所述关键字识别模块210,还可用于令所述网络流量数据包的关键字包括:源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址及操作地址。

一些实施例中,提供所述第一基础层核心节点的所述第一板级模块与提供所述第一基础层边缘节点的所述第一板级模块之间、所述第二板级模块与提供所述第一基础层核心节点的所述第一板级模块之间、所述第二板级模块与所述第三板级模块之间、以及提供查找到的所述第二基础层核心节点的所述第三板级模块和所述第四板级模块之间通过金手指连接,以实现依据片上网络协议进行的通信。

图4是本发明另一实施例中第一网络业务预测单元的结构示意图。如图4所示,图3所示的第一网络业务预测单元200,还可包括:第二网络业务识别模块230,与第一网络业务识别模块220连接。

第二网络业务识别模块230可用于利用所述第一基础层边缘节点根据所述网络流量数据包在其数据流方向上的网络业务,识别所述数据流方向的反方向上的数据流的网络业务,以及识别与所述网络流量数据包的获取时间间隔第一设定时间段的数据流的网络业务。

例如,某一方向上传输的网络流量数据包若与其相反方向上传输的网络流量数据包具有相同特性(比如某些关键字相同),即使传输方向相反,也可将二者划分为相同的网络业务。

一些实施例中,根据某一方向数据流识别的关键字段组合可以识别为某一业务,相反方向数据流识别为相同业务。某个数据流被识别为某一业务,数据流在接近的时间段内可以预测该数据流是相同的业务。

本实施例中,根据网络流量数据包在其数据流方向上的网络业务可直接识别该数据流方向的反方向上的数据流为相同的网络业务。根据网络流量数据包在其数据流方向上的网络业务可直接识别与该网络流量数据包的获取时间间隔第一设定时间段的数据流为相同的网络业务。对于相反方向数据流和最近时间段内的数据流不必重复识别,而是根据已识别的网络业务确定,以此可以提高网络业务的识别速度。

图5是本发明一实施例中第一基础层处理单元的结构示意图。如图5所示,图1或图2所示的网络业务识别装置中,第一基础层处理单元100,还可包括:第一工作状态上报模块120和空闲基础层边缘节点查找模块130,二者相互连接。

第一工作状态上报模块120用于令多个所述第一基础层边缘节点每间隔第二设定时间段将其最新工作状态上报至所述第一基础层核心节点。空闲基础层边缘节点查找模块130用于利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点,并将所述网络流量数据包分配至空闲的所述第一基础层边缘节点。

本实施例中,不同边缘节点每隔固定时期可与对应的核心节点交互新的工作状态。从而核心节点可以准确、方便地查找到空闲的基础层边缘节点。

图6是本发明另一实施例中第一基础层处理单元的结构示意图。如图6所示,图5所示的第一基础层处理单元100,还可包括:第二工作状态上报模块140,与上述空闲基础层边缘节点查找模块130连接。

第二工作状态上报模块140用于令新的第一基础层边缘节点依据片上网络协议连接至所述第一基础层核心节点后将其工作状态上报至所述第一基础层核心节点,以供所述第一基础层核心节点查找空闲的第一基础层边缘节点。

本实施例中,当有新的计算核加入了系统后,只需将自己的工作状态信息交付最近的核心节点即可。以此,基础层核心节点可以方便地得知新增加的基础层边缘节点的工作状态,从而判断是否可将网络流量数据包分配给该新加入的基础层边缘节点。这使得基础层边缘节点扩展很方便,当网络数据流量规模增大时,可以增加基础层边缘节点,不受限制。

一个实施例中,网络业务识别装置可包括基础层和扩展层。其中,基础层可由5个或者5个以上板级模块桥接而成;每个板级均可连接有网络接口、有限状态机单元、金手指内部接口;其中4个板级模块的计算核可分别并行分析预测不同流量数据包,另外1个板级模块的计算核可作为核心计算核,负责协调和控制其他4个板级计算核,同时该核心计算核也可作为扩展层的计算核。各板级内置有计算核,每块板级上有一块计算核,且板级内可采用片上网络进行通信,板级间可采用金手指进行通信。

图7是本发明一实施例中基础层的结构示意图。如图7所示,本实施例中的基础层可包含一个提供核心计算核的板级模块110-1和四个提供分析预测流量数据包的计算核的板级模块110-2。板级模块110-1和板级模块110-2上均可设有有限状态机单元dfa、网络接口net以及计算核core。板级模块110-1可以分别与各板级模块110-2连接,以进行片上网络通信。各板级模块110-2也可以彼此相互连接。扩展层可包括4个基础层的核心计算核和1个扩展层板级计算核。

图8是本发明一实施例中扩展层的结构示意图。如图8所示,本实施例中的扩展层可包括扩展层核心节点20和扩展层边缘节点(基础层核心节点)4、9、14、19。扩展层核心节点20分别与各扩展层边缘节点(基础层核心节点)4、9、14、19连接。扩展层边缘节点(基础层核心节点)4可分别与基础层边缘节点0、1、2、3连接,扩展层边缘节点(基础层核心节点)9可分别与基础层边缘节点5、6、7、8连接,扩展层边缘节点(基础层核心节点)14可分别与基础层边缘节点10、11、12、13连接,扩展层边缘节点(基础层核心节点)19可分别与基础层边缘节点15、16、17、18连接。简言之,本实施例中扩展层可包括四个基础层核心节点和一个扩展层核心节点。每个基础层核心节点可分别连接有四个基础层边缘节点。

基础层边缘节点和基础层核心节点之间以及基础层核心节点和扩展层核心节点之间可以依据片上网络协议进行通信。

该片上网络协议可是利用计算机网络osi通信协议模型,并结合其原先的七层模型(该七层模型由高到低分别可为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层),得到的适用于结构与资源更加精炼的片上网络的微型协议模型。

该协议可分为硬件时序层、打包拆分层与路由传输三层,依次作为底层、中层和顶层。其中硬件时序层可用于为片上网络提供时序接口,可采用同步和异步两种握手协议进行同步通信;打包拆分层可用于将原始数据封装成顶层可识别的包,或者将来自顶层的数据包拆分还原为原始数据,以此向顶层即网络层提供服务接口;路由传输层作为协议顶层,可主要用于运行路由算法,借助路由器为数据包选择传输路径,实现数据包在网络中的接收-存储-转发。例如,在具有12个边缘节点和4个核心节点的片上网络系统中,可以采用该协议。

在整个结构上,板级模块可分为边缘节点和核心节点两类。

一个实施例中,边缘节点可通过其网络接口向外传输网络流量/业务分析预测结果、向内抓取网络流量数据包;通过支持片上网络通信协议与核心节点通信;通过对流量内容识别分析关键字,得到流量数据包关键字段;将此流量数据包关键字段组合识别为某种网络业务,可以进行基于关键字双向时间相关流量/业务预测。流量数据包关键字段共可包含:源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址、操作地址以及其他关键字。例如,关键字双向时间相关流量业务预测具体可以是:根据某一方向数据流识别的关键字段组合可以识别为某一业务,相反方向数据流也必然是相同业务;同时某个数据流被识别为某一业务,数据流在接近的时间段内可以预测该数据流是相同的业务。边缘节点可具有特点:每个均有网络接口,负责向内获取数据流信息且向外传流量预测信息,与核心间节点通信需支持内部片上网络协议。

一个实施例中,核心节点可具有特点:每个均有网络接口,负责获取数据流且负责边缘节点及核心间节点通信,节点间通信需支持内部片上网络协议。当收到数据流时,先在自己内部寻找是否有空闲的计算核,若没有,则传递给相邻核心节点。若在自身控制节点范围内找到了空闲计算核,则通过边缘节点进行网络流量预测。

一个实施例中,流量/业务分析预测流程可为:获取流量数据包,分析获取网络流量数据包关键字段,根据关键字段组合识别流量业务。之后,进行关键字双向时间相关流量业务预测。边缘节点可负责识别数据流关键字并进行业务预测。核心节点可负责协调边缘节点的工作状态。当核心节点收到了流量数据包信息,首先核心节点可根据板级间的工作状态安排板级和层级间的计算核,分别对流量数据包分析识别关键字,之后边缘节点可根据对应的关键字组合进行反向时间相关流量预测。不同边缘节点每隔固定时期可与对应的核心节点交互新的工作状态。当有新的计算核加入网络流量/业务识别预测装置后,只需将自己的工作状态信息交付最近的核心节点即可。

一个实施例中,网络流量业务内容预测过程可为:边缘节点收到网络流量数据包需要对数据报文内容进行检测分析,使用板级平台搭载的有限状态机功能单元实现。此网络流量内容检测过程可分为两个过程:(1)预先写好流量数据包内容检测关键字组合方式,转换成状态图装载入板级有限状态机功能单元。(2)由此有限状态机功能单元对流量数据包业务进行识别匹配,对流量业务内容进行线性时间预测,对反向流量业务做预测。

针对现有网络流量业务预测方法主要依靠高性能服务器或者专用多核处理系统,存在缺点:集成度不高;网络流量预测不能实时处理;多为流水过程没有并行处理,分析预测算法并行度不高;以及可扩展性不高。本发明可由多个板级的模块分层桥接得到,且每个可均连接有网络接口,金手指内部接口。这样的扩展性结构,可以根据流量业务大小随意分层扩展新的板级结构增加流量预测能力。从网络流量业务分析预测并行可扩展处理结构进行创新,采用片上网络对板级间的多个计算核进行并行控制,运用分层可扩展板级技术适应预测网络规模的变化。本发明的网络业务识别装置可具有优点:分层可扩展板级结构;可扩展分层多核处理单元,能够提高网络流量分析预测速度;将数据分析流水过程变换为多个并行处理过程,利用片上网络技术替代多核总线结构,能够保证多核处理并行度的提高;分层可扩张细粒度的片上网络技术,可以适应网络流量预测规模的变化;用片上网络分层构架实现对网络流量规模的可扩展性。本发明的网络业务识别装置能够通过网络流量内容关键字组合方法对流量业务识别,并在此基础上实现基于关键字双向时间相关网络流量预测,提供了一种分层、可扩展、细粒度并行的网络业务识别技术。

本发明实施例的网络业务识别装置,通过提供第一基础层核心节点的第一板级模块可以将不同的网络流量数据包分配给不同的提供第一基础层边缘节点的第一板级模块。不同第一板级模块提供的第一基础层边缘节点能够并行分析识别不同网络流量数据包的网络业务,以此能够提高网络业务识别的效率,从而克服现有网络业务识别系统主要依靠高性能服务器或者专用多核处理系统串行执行,并行度不高的问题。第一基础层边缘节点和第一基础层核心节点之间依据片上网络协议进行通信,可以视网络流量规模的增大增加第一板级模块的个数,以提供更多的第一基础层核心节点,以此使得网络业务识别装置具有更好的扩展性,从而可以克服采用集成电路实现的现有网络业务识别系统算法性能固定,不能对网络流量规模自适应调整,扩展性不好等问题。

基于与图1所示的网络业务识别装置相同的发明构思,本申请实施例还提供了一种网络业务识别方法,如下面实施例所述。由于该网络业务识别方法解决问题的原理与网络业务识别装置相似,因此该网络业务识别方法的实施可以参见网络业务识别装置的实施,重复之处不再赘述。

图9是本发明一实施例中网络业务识别方法的流程示意图。如图9所示,本实施例中网络业务识别方法,可包括步骤:

s110:获取网络流量数据包,并利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点;

s120:利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第一基础层边缘节点和所述第一基础层核心节点之间依据片上网络协议进行通信。

在上述步骤s110中,通过第一基础层核心节点可以将不同的网络流量数据包分配到不同的第一基础层边缘节点。在上述步骤s120中,不同的第一基础层边缘节点可以并行处理不同的网络流量数据包,从而并行分析识别不同的网络流量数据包的网络业务。第一基础层边缘节点和第一基础层核心节点之间可依据片上网络协议进行通信。其他实施例中,不同第一基础层边缘节点也可依据片上网络协议进行通信。其中,片上网络协议需要根据边缘节点和核心节点的情况设置。例如,当选择不同的片上网络拓扑结构时,边缘节点与核心节点的数量和位置分布会发生变化,这样就需要对协议模型中的路由传输层做出相应调整。

本实施例中,通过第一基础层核心节点可以将不同的网络流量数据包分配给不同的第一基础层边缘节点。不同的第一基础层边缘节点能够并行分析识别不同网络流量数据包的网络业务,以此能够提高网络业务识别的效率,从而克服现有网络业务识别系统主要依靠高性能服务器或者专用多核处理系统串行执行,并行度不高的问题。第一基础层边缘节点和第一基础层核心节点之间依据片上网络协议进行通信,可以视网络流量规模的增大增加第一板级模块的个数,以提供更多的第一基础层核心节点,以此使得网络业务识别装置具有更好的扩展性,从而可以克服采用集成电路实现的现有网络业务识别系统算法性能固定,不能对网络流量规模自适应调整,扩展性不好等问题。

图10是本发明另一实施例的网络业务识别方法的流程示意图。如图10所示,图9所示的网络业务识别方法,还可包括步骤:

s130:若所述第一基础层核心节点无法将所述网络流量数据包分配至所述第一基础层边缘节点,则利用扩展层核心节点根据至少一个第二基础层核心节点的上报信息查找能够分配所述网络流量数据的所述第二基础层核心节点;

s140:利用查找到的所述第二基础层核心节点根据至少一个第二基础层边缘节点的工作状态将所述网络流量数据分配至所述第二基础层边缘节点;

s150:利用所述第二基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务;其中,所述第二基础层边缘节点和所述第二基础层核心节点之间、所述第二基础层核心节点与所述扩展层核心节点之间、以及所述第一基础层核心节点与所述扩展层核心节点之间依据片上网络协议进行通信。

第一基础层核心节点还可以作为扩展层的边缘节点。类似地,第二基础层核心节点,还可以作为扩展层的边缘节点。在此情况下,当第一基础层核心节点无法将网络流量数据包分配至任何一个第一基础层边缘节点时,可以将该无法分配网络流量数据包的信息上报至扩展层核心节点,例如,当第一基础层核心节点发现没有空闲的第一基础层边缘节点时,可以将任务已满的信息上报给扩展层核心节点,扩展层核心节点可以查找其他的基础层是否存在空闲的基础层边缘节点。例如,扩展层核心节点查找到由第二基础层核心节点分配网络流量数据包的第二基础层边缘节点空闲,此时,扩展层核心节点可以将网络流量数据包交由第二基础层核心节点分配至空闲的第二基础层边缘节点。

本实施例中,在第一基础层节点无法处理获取的网络流量数据包时,可以通过扩展层核心节点查找能够处理网络流量数据包的其他基础层处理单元(例如第二基础层核心节点/第二基础层边缘节点),从而能够细粒度、分层分配处理网络流量数据,以此可以进一步提高网络业务识别的效率。

在其他实施例中,多个上述扩展层核心节点可以作为进一步扩展层的边缘节点,并且这些进一步扩展层的边缘节点可以与同一进一步扩展层的核心节点可以依据片上网络协议进行通信。进一步扩展层的核心节点可以协调控制进一步扩展层的各个边缘节点。从而可以进一步扩展分层结构,细粒度、分层分配处理网络流量数据。所以,本发明仅以两层情况说明本发明的构思,并不对分层层数进行限定。

一些实施例中,在上述步骤s150中,网络流量业务内容预测过程可以是:边缘节点首先对网络流量数据包的数据报文内容进行检测分析,可使用有限状态机功能单元实现分析功能。此网络流量数据包的内容检测过程可包括:(1)预先写好的网络流量数据包的内容检测的关键字组合,并转换成状态图装载入板级有限状态机功能单元;(2)然后利用该有限状态机功能单元对网络流量数据包进行业务识别匹配分析。其他实施例中,还可以对网络流量业务内容进行线性时间预测(接近时段内的网络流量数据包识别为相同的网络业务),对反向流量业务做预测(反向的网络流量数据包识别为相同的网络业务)。

图11是本发明一实施例中利用第一基础层边缘节点对网络流量数据包进行基于关键字的分析以识别网络业务的方法流程示意图。如图11所示,在上述步骤s120中,利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务的方法,可包括步骤:

s121:利用所述第一基础层边缘节点对所述网络流量数据包的内容进行分析,识别所述网络流量数据包的关键字;

s122:利用所述第一基础层边缘节点根据多个所述关键字的组合分析识别所述网络流量数据包在其数据流方向上的网络业务。

网络流量数据包可以是数据报文的形式。通过利用第一基础层边缘节点对网络流量数据包的内容进行分析,可以识别该网络流量数据包的关键字。可以针对不同的网络业务预先设定关键字的组合,在进行网络业务识别时,可以将上述网络流量数据的关键字的组合与预先设定的关键字的组合进行匹配比较,如果发现与某一种网络业务的关键字组合相匹配,则可认为上述网络流量数据的网络业务为该种预先设定关键字的组合对应的网络业务。本实施例中,通过先识别网络流量数据的关键字,再根据关键字的组合识别网络业务,识别过程简单、方便。

一些实施例中,所述网络流量数据包的关键字包括:源ip地址、目的ip地址、源端口、标志位、长度计数位、操作类型、源地址、目的地址及操作地址。

图12是本发明另一实施例中利用第一基础层边缘节点对网络流量数据包进行基于关键字的分析以识别网络业务的方法流程示意图。如图12所示,图11所示的利用所述第一基础层边缘节点对所述网络流量数据包进行基于关键字的分析,识别所述网络流量数据包的网络业务的方法,还可包括步骤:

s123:利用所述第一基础层边缘节点根据所述网络流量数据包在其数据流方向上的网络业务,识别所述数据流方向的反方向上的数据流的网络业务,以及识别与所述网络流量数据包的获取时间间隔第一设定时间段的数据流的网络业务。

本实施例中,根据网络流量数据包在其数据流方向上的网络业务可直接识别该数据流方向的反方向上的数据流为相同的网络业务。根据网络流量数据包在其数据流方向上的网络业务可直接识别与该网络流量数据包的获取时间间隔第一设定时间段的数据流为相同的网络业务。对于相反方向数据流和最近时间段内的数据流不必重复识别,而是根据已识别的网络业务确定,以此可以提高网络业务的识别速度。

图13是本发明一实施例中利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法流程示意图。如图13所示,在上述步骤s110中,利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法,可包括步骤:

s111:多个所述第一基础层边缘节点每间隔第二设定时间段将其最新工作状态上报至所述第一基础层核心节点;

s112:利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点,并将所述网络流量数据包分配至空闲的所述第一基础层边缘节点。

本实施例中,不同边缘节点每隔固定时期可与对应的核心节点交互新的工作状态。从而核心节点可以准确、方便地查找到空闲的基础层边缘节点。

图14是本发明另一实施例中利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法流程示意图。图13所示的利用第一基础层核心节点根据多个第一基础层边缘节点的工作状态将所述网络流量数据包分配至所述第一基础层边缘节点的方法,在步骤s112之前,即利用所述第一基础层核心节点根据各所述第一基础层边缘节点上报的最新工作状态查找是否存在空闲的所述第一基础层边缘节点之前,还可包括步骤:

s113:新的第一基础层边缘节点依据片上网络协议连接至所述第一基础层核心节点后将其工作状态上报至所述第一基础层核心节点,以供所述第一基础层核心节点查找空闲的第一基础层边缘节点。

本实施例中,当有新的计算核加入了系统后,只需将自己的工作状态信息交付最近的核心节点即可。以此,基础层核心节点可以方便地得知新增加的基础层边缘节点的工作状态,从而判断是否可将网络流量数据包分配给该新加入的基础层边缘节点。这使得基础层边缘节点扩展很方便,当网络数据流量规模增大时,可以增加基础层边缘节点,不受限制。

图15是本发明一实施例的网络业务识别方法的流程示意图。如图15所示,获取网络流量数据包,第一基础层核心节点可将该网络流量数据包分配至空闲的第一基础层边缘节点,该基础层边缘节点可对该网络流量数据包进行预处理,例如解析处理。然后进行有限状态机检测可以对网络流量数据包的内容进行识别,得到网络流量数据包的关键字。如果网络流量数据包的关键字已被识别,则可进一步进行网络流量业务预测。如果网络流量数据包的关键字没有被识别,可以继续进行识别或更新识别数据流的定时表。进一步地,判断网络流量业务是否已预测完成,如果预测完成则输出网络流量业务预测结果,如果没有,则继续进行网络流量业务预测。

本发明实施例的网络业务识别方法,通过第一基础层核心节点可以将不同的网络流量数据包分配给不同的第一基础层边缘节点。不同的第一基础层边缘节点能够并行分析识别不同网络流量数据包的网络业务,以此能够提高网络业务识别的效率,从而克服现有网络业务识别系统主要依靠高性能服务器或者专用多核处理系统串行执行,并行度不高的问题。第一基础层边缘节点和第一基础层核心节点之间依据片上网络协议进行通信,可以视网络流量规模的增大增加第一板级模块的个数,以提供更多的第一基础层核心节点,以此使得网络业务识别装置具有更好的扩展性,从而可以克服采用集成电路实现的现有网络业务识别系统算法性能固定,不能对网络流量规模自适应调整,扩展性不好等问题。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。

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

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

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

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

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

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