一种网络流量数据的分类方法及装置与流程

文档序号:12182324阅读:273来源:国知局
一种网络流量数据的分类方法及装置与流程

本发明涉及数据通信的数据管理领域,具体涉及一种网络流量数据的分类方法及装置。



背景技术:

目前,在现有技术中采用的网络流量分类方法主要包括基于端口号映射、基于有效载荷分析、基于机器学习等方法。例如,在基于端口号映射的流量分类中,随着互联网技术的不断发展,许多新兴的网络服务(如P2P、在线游戏等)采用动态协商的端口号进行通信,使得基于端口号映射的方法不能保证完全准确的网络流量分析和统计,因而该方法因此受到很多限制。主要表现在:1)端口号和应用之间不是总是关联的,IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)没有为所有的应用都定义端口号,尤其是一些新的应用;2)服务器的端口号可以动态分配;3)不同的服务可以包装成熟悉的应用;4)具有不同的QoS(Quality of Service,服务质量)的各种服务可以使用相同的端口号。在基于有效载荷分析的流量分类,主要存在的问题包括:1)该方法只能识别出那些可以获得某些关键词的流量,却无法分类其它未知的流量;2)这种技术需要较高的处理和存储能力;3)有效载荷分析会侵犯秘密和安全性。因此其发展也会受到一些阻力。而在基于机器学习的流量分类中,目前机器学习的方法在网络流量分类中的应用还处于发展阶段,基本都是基于有监督学习的流量分类方法或者基于无监督的流量分类方法进行处理,但是这两种方法都存在先天的不足:1)有监督学习方法无法发现新的应用模式;2)无监督分类方法必须对划分结果形成分类器,才能对未知流量判断其应用类型。

综上所述,上述方法在网络流量的分类管理中都存在不能全面地对流量数据进行分类的情况。



技术实现要素:

本发明提供了一种网络流量数据的分类方法及装置,解决现有技术中无法对所有流量数据一视同仁地进行分类的问题。

为解决上述技术问题,本发明提供一种网络流量数据的分类方法,包括:

从网络数据流中获取N个流量数据样本,并获取每个流量数据样本的数据量大小及每个流量数据样本的标识;

根据每个流量数据样本的数据量大小将所述N个流量数据样本分成K类;

根据所述每个流量数据样本的标识分别对各类中的每个流量数据进行多次采样,得到采样成功的次数及采样失败的次数,同一类中的流量数据的采样次数相同;

根据所述采样成功的次数及采样失败的次数得到每个流量数据在其对应类中的期望及不确定性概率;

根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重;

根据各流量数据在其所在类中的权重按照预设分类规则对所述流量数据进行再分类;所述N和K都为正整数。

在本发明的一种实施方式中,每个数据流量在其所在类的不确定性概率包括:

INFO(A1,A2)=–p1㏒2(p1)–p2㏒2(p2);

每个数据流量在其所在类的期望包括:

所述A1和A2分别为每个流量数据采样成功的集合及采样失败的集合;所述p1和p2分别为每个流量数据采样成功的概率及失败的概率;所述ni为子集A1的样本集合个数,pi为子集A2的样本集合个数;所述p为所述N个流量数据样本中各个数据流量采样成功的总次数;所述n为所述N个流量数据样本中各个数据流量采样失败的总次数;所述mi为所述流量数据样本中的流量数据,所 述i表示每个类中数据流量元素的标号,t为每个类中的流量数据样本的个数。

在本发明的一种实施方式中,根据麦克劳林公式对每个数据流量在其所在类的不确定性概率及期望进行简化处理后得到:每个数据流量在其所在类的不确定性概率为:每个数据流量在其所在类的期望为:

在本发明的一种实施方式中,根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重包括:

根据所述期望及不确定性概率得到每个流量数据在其所在类的信息增益为:Gain(mi)=INFO(A1,A2)-E(mi);

根据所述信息增益得到每个流量数据的权重为:所述i为某一个流量数据的标号,所述j为同一类中流量数据的标号,所述k为每类中流量数据的个数。

在本发明的一种实施方式中,根据各流量数据在其所在类中的权重按照预设分类规则对所述流量数据进行再分类包括:

将权重值最相近的对应的流量数据归为同一组;或将权重值之间的差值由大到小两两对应的流量数据归为同一组。

在本发明的一种实施方式中,根据每个流量数据样本的数据量大小将所述N个数据流量样本分成K类包括:

根据预设规则在流量数据样本的数据量大小的集合中选取K个分类中心;

分别计算各个流量数据与各个分类中心的数据量大小的距离;

将每个流量数据与其对应的最短距离的分类中心的数据量大小作为同一组,得到K个分类组。

在本发明的一种实施方式中,根据预设规则选取K个分类中心包括以下步骤:

(1)在待分类的流量数据样本的数据量大小集合{x1,x2,…,xN}中,任意选取一个流量数据x1作为第一个分类中心Center1

(2)计算样本集合中各个样本的数据量大小到所述第一分类中心的距离:||xi-Center1||,其中i=1,2,…,N;

(3)若||xj-Center1||=max{||xi-Center1||,i=1,2,...,N},j=1,2,…,N,那么xj作为第2个分类中心Center2=xj

(4)逐个计算各个样本数据量大小{x1,x2,…,xN}与{Center1,Center2}之间的距离:disti1为各个流量数据到第一分类中心的数据量大小的距离,disti2为各个流量数据到第二分类中心的数据量大小的距离;

(5)选取各个分类中心的最小距离,并在各个最小距离中选取最大距离作为第三分类中心C3:若min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N,那么Center3=xj

(6)假设已经找到r个(r<K)个分类中心{Center1,Center2,…,Centerr},现在确定第r+1个分类中心,即第r+1个分类中心为:

min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N

则:Centerr+1=xj;重复上述步骤四,直到r+1=k为止;

已选取k个初始分类中心Center1(1),Center2(1),Centerk(1),括号内的序号为寻找分类中心迭代计算的次序号。

在本发明的一种实施方式中,根据每个流量数据样本的数据量大小将所述N个数据流量样本分成K类中在得到K个分类组后还包括:

步骤一:若d(xi,Centerj(I))=min{||xi-Centerj(I)||i=1,2,...,N}j=1,2,...,N;则xi∈ωj(I),ωj表示第j个分类,其分类中心为Centerj(I);假设对所采集的数据分成ω1、ω2、…,ωk个类,共计K个类;

步骤二:计算初始分类的分类中心的均值作为新的分类中心:0≤j≤k,其中ωi为第i个分类;

步骤三:重新计算每个流量数据到新的分类中心的数据量大小的距离,将每个数据和最近的分类中心归为一组;

步骤四:计算误差平方和准则函数如下:其中ni是簇ωi中数据点的个数,xk(j)表示第j个分类ωj中的第k个数据元素;

重复进行步骤一至步骤三,直到分类中心的均值没有预设变化为止:若|Jc(I+1)<Jc(I)|<ξ成立,则算法结束,否则令I=I+1,返回执行步骤一开始。

为解决上述技术问题,本发明还提供一种网络流量数据的分类装置,包括:

数据获取模块,用于从网络数据流中获取N个流量数据样本,并获取每个流量数据样本的数据量大小及每个流量数据样本的标识;

第一分类模块,用于根据每个流量数据样本的数据量大小将所述N个数据流量样本分成K类;

数据采样模块,用于根据所述每个流量数据样本的标识分别对各类中的每个流量数据进行多次采样,得到采样成功的次数及采样失败的次数,同一类中的流量数据的采样次数相同;

参数计算模块,用于根据所述采样成功的次数及采样失败的次数得到每个流量数据在其对应类中的期望及不确定性概率;

权重模块用于根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重;

第二分类模块,用于根据各流量数据在其所在类中的权重按照预设分类规则对所述流量数据进行再分类;所述N和K都为正整数。

在本发明的一种实施方式中,所述参数计算模块用于根据以下公式每个流量数据在其对应类中的期望及不确定性概率:每个数据流量在其所在类的不确定性概率包括:

INFO(A1,A2)=–p1㏒2(p1)–p2㏒2(p2);

每个数据流量在其所在类的期望包括:

所述A1和A2分别为每个流量数据采样成功的集合及采样失败的集合;所述p1和p2分别为每个流量数据采样成功的概率及失败的概率;所述ni为子集A1的样本集合个数,pi为子集A2的样本集合个数;所述p为所述N个流量数据样本中各个数据流量采样成功的总次数;所述n为所述N个流量数据样本中各个数据流量采样失败的总次数;所述mi为所述流量数据样本中的流量数据,所述i表示每个类中数据流量元素的标号,t为每个类中的流量数据样本的个数。

在本发明的一种实施方式中,根据麦克劳林公式对每个数据流量在其所在类的不确定性概率及期望进行简化处理后得到:每个数据流量在其所在类的不确定性概率为:每个数据流量在其所在类的期望为:

在本发明的一种实施方式中,所述权重计算模块具体用于根据所述期望及不确定性概率得到每个流量数据在其所在类的信息增益为: Gain(mi)=INFO(A1,A2)-E(mi);

根据所述信息增益得到每个流量数据的权重为:

所述i为某一个流量数据的标号,所述j为同一类中流量数据的标号,所述k为每类中流量数据的个数。

在本发明的一种实施方式中,所述第二分类模块用于将权重值最相近的对应的流量数据归为同一组;或将权重值之间的差值由大到小两两对应的流量数据归为同一组。

在本发明的一种实施方式中,所述第一分类模块包括:

分类中心确定子模块,用于根据预设规则在流量数据样本的数据量大小的集合中选取K个分类中心;

距离计算子模块,用于分别计算各个流量数据与各个分类中心的数据量大小的距离;

分类子模块,用于将每个流量数据与其对应的最短距离的分类中心的数据量大小作为同一组,得到K个分类组。

在本发明的一种实施方式中,所述分类中心确定子模块具体用于:

(1)在待分类的流量数据样本的数据量大小集合{x1,x2,…,xN}中,任意选取一个流量数据x1作为第一个分类中心Center1

(2)计算样本集合中各个样本的数据量大小到所述第一分类中心的距离:||xi-Center1||,其中i=1,2,…,N;

(3)若||xj-Center1||=max{||xi-Center1||,i=1,2,...,N},j=1,2,…,N,那么xj作为第2个分类中心Center2=xj

(4)逐个计算各个样本数据量大小{x1,x2,…,xN}与{Center1,Center2} 之间的距离:disti1为各个流量数据到第一分类中心的数据量大小的距离,disti2为各个流量数据到第二分类中心的数据量大小的距离;

(5)选取各个分类中心的最小距离,并在各个最小距离中选取最大距离作为第三分类中心C3:若min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N,那么Center3=xj

(6)假设已经找到r个(r<K)个分类中心{Center1,Center2,…,Centerr},现在确定第r+1个分类中心,即第r+1个分类中心为:

min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N

则:Centerr+1=xj;重复上述步骤四,直到r+1=k为止;

已选取k个初始分类中心Center1(1),Center2(1),Centerk(1),括号内的序号为寻找分类中心迭代计算的次序号。

在本发明的一种实施方式中,所述第一分类中心模块具体用于:

步骤一:若d(xi,Centerj(I))=min{||xi-Centerj(I)||i=1,2,...,N}j=1,2,...,N;则xi∈ωj(I),ωj表示第j个分类,其分类中心为Centerj(I);假设对所采集的数据分成ω1、ω2、…,ωk个类,共计K个类;

步骤二:计算初始分类的分类中心的均值作为新的分类中心:0≤j≤k,ωi为第i个分类;

步骤三:重新计算每个流量数据到新的分类中心的数据量大小的距离,将每个数据和最近的分类中心归为一组;

步骤四:计算误差平方和准则函数如下:其中ni是簇ωi中数据点的个数,xk(j)表示第j个分类ωj中的第k个数据元素;

重复进行步骤一至步骤三,直到分类中心的均值没有预设变化为止:若|Jc(I+1)<Jc(I)|<ξ成立,则算法结束,否则令I=I+1,返回执行步骤一开始。

本发明的有益效果是:

本发明提供的网络流量数据的分类方法及装置,首先通过将从网络数据流中获取的流量数据样本根据数据量的大小进行初步分类,然后,再对进行初步分类后的流量数据进行多次采样后,根据流量数据在其所在的类中的出现的权重大小进行再分类。本方案在对网络流量数据进行分类时,不需要考虑其应用的类型或者该应用对应的关联字等,其只需通过获取流量数据的数据量大小及在第二次采样过程中出现的权重就可对流量数据进行采样,使得流量分类过程更加简单、高效和准确;并且通过对流量的实时抽样,实现了一个从无序、无规则的实例集合中归纳出有效的分类规则;以实例为基础进行归纳学习,根据权重进行分类,实现了对未知类型的流量样本进行精确分类。

附图说明

图1为本发明实施例一提供的网络流量数据的分类方法流程示意图;

图2至图7为本发明实施例一提供的使用二叉树来对流量数据进行分类过程的变化示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例一:

请参见图1所示,本实施例提供的网络流量数据的分类方法包括:

S101:从网络数据流中获取N个流量数据样本,并获取每个流量数据样本的数据量大小及每个流量数据样本的标识;所述每个流量数据样本的数据量大小为该流量数据本身所占的存储空间;所述每个流量数据样本的标识为流量数据区别于其他流量数据的标识,可以包括:该流量数据的预设标识位或者就是该流量数据本身等;具体地,在获取流量数据样本前还包括对网络数据流中的流量数据进行预处理,包括:对数据过滤及对报文限速;通过对数据报文的速率进行限制,减少系统处理的负载,同时借助访问控制技术实现对非法报文的过滤,减少不必要的数据干扰;

S102:根据每个流量数据样本的数据量大小将所述N个流量数据样本分成K类;具体可以包括:将流量数据的数据量大小相近的分为同一类;或者将流量数据的数据量大小从相差最大到相差最小的排列顺序进行分类;或者根据K及N的取值来对流量数据的数据量大小进行对应的分类;

S103:根据所述每个流量数据样本的标识分别对各类中的每个流量数据进行多次采样,得到采样成功的次数及采样失败的次数,同一类中的流量数据的采样次数相同;如,当每个流量数据样本的标识为其本身时,通过对采样的流量数据与对应的流量数据进行比较,若相同,则采样成功,若不相同,则采样失败;不同类中的流量数据的采样次数可以相同,也可以不同;

S104:根据所述采样成功的次数及采样失败的次数得到每个流量数据在其对应类中的期望及不确定性概率;

S105:根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重;

S106:根据各流量数据在其所在类中的权重按照预设分类规则对所述流量 数据进行再分类;所述N和K都为正整数。

优选地,针对步骤S104中,每个数据流量在其所在类的不确定性概率包括:INFO(A1,A2)=–p1㏒2(p1)–p2㏒2(p2)(1);每个数据流量在其所在类的期望包括:(2);所述A1和A2分别为每个流量数据采样成功的集合及采样失败的集合;所述p1和p2分别为每个流量数据采样成功的概率及失败的概率;所述ni为子集A1的样本集合个数,pi为子集A2的样本集合个数;所述p为所述N个流量数据样本中各个数据流量采样成功的总次数;所述n为所述N个流量数据样本中各个数据流量采样失败的总次数;所述mi为所述流量数据样本中的流量数据,所述i表示每个类中数据流量元素的标号,t为每个类中的流量数据样本的个数。

进一步地,对上述公式进行处理,其中由公式(1)可得:

由公式(2)(3)则有:

为了简化计算对数的复杂度,提高计算的效率,本文将各流量数据的期望信息做如下处理,由麦克劳林公式:

其中

当x→0时,有:

又因为则通过公式(6)可得:

因此,将公式(7)(8)代入公式(4)可得每个数据流量在其所在类的期望为:

同理将公式(7)(8)代入公式(3)可得每个数据流量在其所在类的不确定性 概率为:

针对S105根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重包括:根据所述期望及不确定性概率得到每个流量数据在其所在类的信息增益为:Gain(mi)=INFO(A1,A2)-E(mi)(11);根据所述信息增益得到每个流量数据的权重为:所述i为某一个流量数据的标号,所述j为同一类中流量数据的标号,所述k为每类中流量数据的个数。

步骤S106根据各流量数据在其所在类中的权重按照预设分类规则对所述流量数据进行再分类包括:将权重值最相近的对应的流量数据归为同一组,具体地,设置一个预设权重相近值,并设置各组中对应的权重比较值,将各个流量数据的权重值与各组中的权重比较值进行比较,将比较得到的值在预设权重相近值内的归为对应的权重比较值的组内;或将权重值之间的差值由大到小两两对应的流量数据归为同一组,具体地,将每个流量数据两两相减,将差值由大到小对应的流量数据归为同一组。另外,还可以通过二叉树的方式来表示对流量数据根据权重值的分类,根据上述公式(12)中求得的多个个权重β=(β12,...)构成n棵二叉树的集合F={T1,T2,T3,...},其中每棵二叉树Ti中只有一个权重为βi的根节点,其左右子树均空;在F集合中选取两棵根节点的权重最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根节点的权重为其左右子树上根节点的权重之和;在F集合中删除这两棵树,同时将新得到的二叉树加入到F集合之中;重复上述步骤,直到F只含有一棵树为止。

步骤S102根据每个流量数据样本的数据量大小将所述N个数据流量样本分成K类包括:根据预设规则在流量数据样本的数据量大小的集合中选取K个分 类中心;分别计算各个流量数据与各个分类中心的数据量大小的距离;将每个流量数据与其对应的最短距离的分类中心的数据量大小作为同一组,得到K个分类组。其具体步骤包括:

步骤1:确定K值以及初始化分类中心,选取K个初始分类中心;

在此给定流量数据的大小为N的数据样本集合X={x1,x2,…,xN},令I=1,选取k个初始分类中心Centerj(I),j=1,2,…,k。

在以下步骤中,以最大最小距离的启发式方法确定k个初始分类中心:

(1)在待分类的样本集X={x1,x2,…,xN}中,任意选取一个样本数据作为第一个分类中心Center1,选取Center1=x1

(2)选取距离最远的样本作为第2个分类中心,计算样本集合中各个样本集的距离:||xi-Center1||,其中i=1,2,…,N

若||xj-Center1||=max{||xi-Center1||,i=1,2,...,N},j=1,2,…,N,那么xj作为第2个分类中心Center2=xj

(3)逐个计算各个样本数据X={x1,x2,…,xN}与{Center1,Center2}之间的距离。

选取其中最小距离:

min(disti1,disti2),i=1,2,…,N;

在所有样本与{Center1,Center2}距离的最小值中选取最大距离作为第3分类中心Center3

若min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N,那么Center3=xj

(4)假设已经找到r个(r<k)个分类中心{Center1,Center2,…,Centerr},现在确定第r+1个分类中心,即:

min(dj1,dj2,...,djr)=max{min(di1,di2,...,dir)i=1,2,...,N}j=1,2,...,N

则:Centerr+1=xj

重复上述步骤(4),直到r+1=k为止。

已选取k个初始分类中心Center1(1),Center2(1),Centerk(1),括号内的序号为寻找分类中心迭代计算的次序号。

步骤2:计算每个数据到K个分类中心的距离,将每个数据和最近的分类中心分到一组,形成K个初始分类;

即以Centerj(I)(其中j=1,2,3,…,k)为参照点对X={x1,x2,…,xN}进行划分,计算每个样本数据对象与分类中心的距离。

若:dist(xi,Centerj(I))=min{||xi-Centerj(I)||i=1,2,...,N}j=1,2,...,N

则:xi∈ωj(I),即将xi划分到簇ωj(I)。

其中I为迭代计算次序号,ωj表示第j个分类,其分类中心为Centerj(I)。

假设对所采集的数据分成ω1、ω2、…,ωk个类,共计k个类。

步骤3:计算初始分类中心的重心(或均值),做为新的分类中心,重新计算每个数据到分类中心(或均值)的距离,将每个数据和最近的分类中心分为一组;

即:令I=I+1,根据公式计算新的分类中心、误差平方和准则函数值,即:

新的分类中心:

其中ωi为上述step1、2中的第i个分类。

误差平方和准则函数如下:

其中ni是簇ωi中数据点的个数,xk(j)表示上述中的第j个分类ωj中的k个数据元素。

如,假设ωj分类中包含15个元素。Centerj(I)为新的分类中心,则ωj分类中的每个元素分别与分类中心Centerj(I)相减,求其误差平方和。重复进行步骤2和步骤3,直到分类中心或均值没有明显变化为止。

即若|Jc(I+1)<Jc(I)|<ξ成立,则算法结束,否则令I=I+1,返回执行步骤2。

例如:

假设通过第一次分类后,其ω1={x1,x2,x3,x4,x5},其中假设一共采集了10次流量数据,则ω1中的每个x都存在10个数据。其中根据是否选取了某个候选实例d=<d1,d2>,d1和d2分别表示采样成功及采样失败;那么根据是否选中,在ω1中假设x1中选中的次数为4次,没有选中的次数为6次,那么根据公式:

INFO(A1,A2)=–p1㏒2(p1)–p2㏒2(p2)

则:

根据公式

同理,针对ω1中的每一个xi,可以计算出相应的信息熵(不确定性概率)。其数学期望如下:

则根据上述计算得到每个流量数据的信息增益公式:

Gain(mi)=INFO(A1,A2)-E(mi);

每个流量数据的权重βi

由此形成一个权重集合:ω=(ω12,...,ωn)

假设针对ω1={x1,x2,x3,x4,x5}求得的权重分别为:

β=(β12,...,βn)=(0.1,0.3,0.2,0.15,0.25);

根据权重的大小具体将其进行分类(以二叉树作为分类载体)包括以下步骤:

1)根据求得的n个权重β=(β12,...,βn)构成n棵二叉树的集合F={T1,T2,T3,...,Tn},其中每棵二叉树Ti中只有一个权重为βi的根节点,其左右子树均空;

2)在F集合中选取两棵根节点的权重最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根节点的权重为其左右子树上根节点的权重之和;

3)在F集合中删除这两棵树,同时将新得到的二叉树加入到F集合之中;

4)重复步骤2)和3),直到F只含有一棵树为止。

请参见图2-图7所示,1、根据求得的5个权重β=(β12,...,βn)=(0.1,0.3,0.2,0.15,0.25)构成5棵二叉树的集合F={T1,T2,T3,T4,T5},其中每棵二叉树Ti中只有一个权重为βi的根节点,其左右子树均空,如图2所示。

2、在F集合中选取两棵根节点的权重最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根节点的权重为其左右子树上根节点的权重之和,如图3所示;3、在F集合中删除这两棵树,同时将新得到的二叉树加入到F集 合之中,如图4所示;4、重复步骤2、3,直到F只含有一棵树为止,如图5和图6所示;

根据ω1={x1,x2,x3,x4,x5}计算得到的权重集合,从而形成如下一棵流量分类决策树:从而形成五个分类结果,如图7所示。

同理,可以针对ω2、…,ωk进行类似的处理。

实施例二:

本实施例提供了网络流量数据的分类装置,所述分类装置包括:数据获取模块,用于从网络数据流中获取N个流量数据样本,并获取每个流量数据样本的数据量大小及每个流量数据样本的标识;第一分类模块,用于根据每个流量数据样本的数据量大小将所述N个数据流量样本分成K类;数据采样模块,用于根据所述每个流量数据样本的标识分别对各类中的每个流量数据进行多次采样,得到采样成功的次数及采样失败的次数,同一类中的流量数据的采样次数相同;参数计算模块,用于根据所述采样成功的次数及采样失败的次数得到每个流量数据在其对应类中的期望及不确定性概率;权重模块用于根据所述期望及不确定性概率计算每个流量数据在其所在类中的权重;第二分类模块,用于根据各流量数据在其所在类中的权重按照预设分类规则对所述流量数据进行再分类;所述N和K都为正整数。

优选地,所述参数计算模块用于根据以下公式每个流量数据在其对应类中的期望及不确定性概率:每个数据流量在其所在类的不确定性概率包括:INFO(A1,A2)=–p1㏒2(p1)–p2㏒2(p2);每个数据流量在其所在类的期望包括:

所述A1和A2分别为每个流量数据采样成功的集合及采样失败的集合;所述p1和p2分别为每个流量数据采样成功 的概率及失败的概率;所述ni为子集A1的样本集合个数,pi为子集A2的样本集合个数;所述p为所述N个流量数据样本中各个数据流量采样成功的总次数;所述n为所述N个流量数据样本中各个数据流量采样失败的总次数;所述mi为所述流量数据样本中的流量数据,所述i表示每个类中数据流量元素的标号,t为每个类中的流量数据样本的个数;

进一步地,根据麦克劳林公式对每个数据流量在其所在类的不确定性概率及期望进行简化处理后得到:每个数据流量在其所在类的不确定性概率为:每个数据流量在其所在类的期望为:其具体的简化步骤在上述方法实施例中已经进行说明,在此将不再累述。

所述权重计算模块具体用于根据所述期望及不确定性概率得到每个流量数据在其所在类的信息增益为:Gain(mi)=INFO(A1,A2)-E(mi);根据所述信息增益得到每个流量数据的权重为:所述i为某一个流量数据的标号,所述j为同一类中流量数据的标号,所述k为每类中流量数据的个数。

所述第二分类模块用于将权重值最相近的对应的流量数据归为同一组;或将权重值之间的差值由大到小两两对应的流量数据归为同一组。

所述第一分类模块包括:分类中心确定子模块,用于根据预设规则在流量数据样本的数据量大小的集合中选取K个分类中心;距离计算子模块,用于分别计算各个流量数据与各个分类中心的数据量大小的距离;分类子模块,用于将每个流量数据与其对应的最短距离的分类中心的数据量大小作为同一组,得 到K个分类组。

本发明通过将从网络数据流中获取的流量数据样本根据数据量的大小进行初步分类,然后,再对进行初步分类后的流量数据进行多次采样后,根据流量数据在其所在的类中的出现的权重大小进行再分类。本方案在对网络流量数据进行分类时,不需要考虑其应用的类型或者该应用对应的关联字等,其只需通过获取流量数据的数据量大小及在第二次采样过程中出现的权重就可对流量数据进行采样,使得流量分类过程更加简单、高效和准确;并且通过对流量的实时抽样,实现了一个从无序、无规则的实例集合中归纳出有效的分类规则;以实例为基础进行归纳学习,根据权重进行分类,实现了对未知类型的流量样本进行精确分类。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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