CN105471670B - 流量数据分类方法及装置 - Google Patents
流量数据分类方法及装置 Download PDFInfo
- Publication number
- CN105471670B CN105471670B CN201410462489.4A CN201410462489A CN105471670B CN 105471670 B CN105471670 B CN 105471670B CN 201410462489 A CN201410462489 A CN 201410462489A CN 105471670 B CN105471670 B CN 105471670B
- Authority
- CN
- China
- Prior art keywords
- data
- subspace
- flows
- business
- dimensional subspace
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量数据分类方法及装置。该方法包括:进行数据包采集,将数据包重组为流,生成流量数据,并根据预先对流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将流量数据中的剩余部分设置为待分类的流量数据集合;抽取流量数据集合中每条流量数据的公共数值属性特征集合,并将流量数据集合中的流量数据整理成由公共数值属性特征集合构成的流记录;根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及流记录中流量数据的公共数值属性特征集合,对流量数据集合中的流量数据进行业务类型标记。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种流量数据分类方法及装置。
背景技术
在现有技术中,网络流量的业务类型分类具有广泛的使用范围和极高的实用价值。它能够实时地对高带宽,高传输速率的端口中的网络流量数据进行准确的业务类型分类。由于网络中不同的业务类型对网络资源的需求不同,以及人们对不同业务类型的网络流量的管理方式有所不同,所以高效、准确的网络流量业务分类是网络资源管理和流量控制等操作的依据。
基于深度报文检测(Deep Packet Inspection,简称为DPI)的网络流量分类技术需要依赖对应的业务类型特征库,而特征库的构建本身需要依靠大量人工开销来完成;同时,现有网络流量的业务种类和特征会不断发生着变化和更新。这就导致目前的DPI流量分类技术不能够对网络中新的流量业务特征进行及时更新,因此也就无法对新的业务流量进行识别。
发明内容
鉴于现有技术中DPI流量分类技术不能够对网络中新的流量业务特征进行及时更新而导致的更新效率低和准确率易退化的问题,提出了本发明以便提供一种流量数据分类方法及装置。
本发明提供一种流量数据分类方法,包括:
在网络汇聚端口进行数据包采集,将数据包按照五元组重组为流,生成流量数据,并根据预先对流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将流量数据中的剩余部分设置为待分类的流量数据集合;
抽取流量数据集合中每条流量数据的公共数值属性特征集合,并将流量数据集合中的流量数据整理成由公共数值属性特征集合构成的流记录;
根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及流记录中流量数据的公共数值属性特征集合,对流量数据集合中的流量数据进行业务类型标记。
优选地,五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
优选地,根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算具体包括:
步骤1,对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将最小覆盖率作为区域单元的密度门限值;
步骤2,根据密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
步骤3,对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
步骤4,在当前λ维子空间集合中,删除覆盖率小于学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同才时进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
步骤5,根据获取的所有λ+1维子空间集合,重复步骤2到步骤4,直到符合预定条件后停止,执行步骤6;
步骤6,从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
优选地,预定条件为满足以下条件至少之一:
当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
合成之后的新高维度子空间没有覆盖率大于或等于密度门限值的区域单元;
当前子空间的维度数目为最大值;
对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时。
优选地,对每个公共数值属性的维度均划分出等数量区域单元个数具体包括:
针对流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将最大值和最小值作为公共数值属性的取值范围,并根据取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
本发明还提供了一种流量数据分类装置,包括:
采集设置模块,用于在网络汇聚端口进行数据包采集,将数据包按照五元组重组为流,生成流量数据,并根据预先对流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将流量数据中的剩余部分设置为待分类的流量数据集合;
抽取整理模块,用于抽取流量数据集合中每条流量数据的公共数值属性特征集合,并将流量数据集合中的流量数据整理成由公共数值属性特征集合构成的流记录;
计算标记模块,用于根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及流记录中流量数据的公共数值属性特征集合,对流量数据集合中的流量数据进行业务类型标记。
优选地,五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
优选地,计算标记模块具体包括:
第一处理子模块,用于对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将最小覆盖率作为区域单元的密度门限值;
第二处理子模块,用于根据密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
第三处理子模块,用于对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
第四处理子模块,用于在当前λ维子空间集合中,删除覆盖率小于学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同才时进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
第五处理子模块,用于根据获取的所有λ+1维子空间集合,调用第二处理子模块到第四处理子模块,直到符合预定条件后停止,调用第六处理子模块;
第六处理子模块,用于从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
优选地,预定条件为满足以下条件至少之一:
当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
合成之后的新高维度子空间没有覆盖率大于或等于密度门限值的区域单元;
当前子空间的维度数目为最大值;
对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时。
优选地,第一处理子模块具体用于:
针对流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将最大值和最小值作为公共数值属性的取值范围,并根据取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
本发明有益效果如下:
在少量已标识的流量数据作为学习样本的基础上,通过子空间聚类方法对流量数据进行分类,解决了现有技术中DPI流量分类技术不能够对网络中新的流量业务特征进行及时更新而导致的更新效率低和准确率易退化的问题,借助于本发明实施例的技术方案只需要人工标记较少样本数据的业务类型,就能够对其余未经人工识别的业务流量进行分类,能够为建立DPI特征库提供足够数量的有效样本,极大提升目前DPI特征自动提取与更新的效率,使其对网络环境具备更强大的自适应能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的流量数据分类方法的流程图;
图2是本发明实施例的DPI模式下流量数据分类方法的***结构示意图;
图3是本发明实施例的DPI模式下流量数据分类方法的详细处理的流程图;
图4是本发明实施例的计算密度门限的处理流程图;
图5是本发明实施例的计算覆盖率门限的处理流程图;
图6是本发明实施例的获取最小化描述的析取范式的处理流程图;
图7是本发明实施例的基于SDN安全的流量分类应用的示意图;
图8是本发明实施例的基于传统DPI检测的流量分类应用的示意图;
图9是本发明实施例的流量数据分类装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中DPI流量分类技术不能够对网络中新的流量业务特征进行及时更新而导致的更新效率低和准确率易退化的问题,本发明提供了提升DPI网络流量业务特征库更新效率的方法,即一种DPI模式下流量数据分类方法及装置。通过子空间聚类方法为基础的离线分类器,只需在少量已标识的流量样本基础上,能够快速、准确地分类所有未知业务类型的网络流样本,为自动提取DPI特征库信息的相关软件产品提供丰富的数据样本。本发明实施例对设备要求简单,业务流量分类精确率高,同时在应用中表现出良好的稳定性,是一种网络流量离线快速分类器。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
方法实施例
根据本发明的实施例,提供了一种流量数据分类方法,图1是本发明实施例的流量数据分类方法的流程图,如图1所示,根据本发明实施例的流量数据分类方法包括如下处理:
步骤101,在网络汇聚端口进行数据包采集,将数据包按照五元组重组为流,生成流量数据,并根据预先对流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将流量数据中的剩余部分设置为待分类的流量数据集合;
在步骤101中,五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
步骤102,抽取流量数据集合中每条流量数据的公共数值属性特征集合,并将流量数据集合中的流量数据整理成由公共数值属性特征集合构成的流记录;
步骤103,根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及流记录中流量数据的公共数值属性特征集合,对流量数据集合中的流量数据进行业务类型标记。
在步骤103中,根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算具体包括:
步骤1,对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将最小覆盖率作为区域单元的密度门限值;
在步骤1中,对每个公共数值属性的维度均划分出等数量区域单元个数具体包括:针对流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将最大值和最小值作为公共数值属性的取值范围,并根据取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
步骤2,根据密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
步骤3,对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
步骤4,在当前λ维子空间集合中,删除覆盖率小于学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同才时进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
步骤5,根据获取的所有λ+1维子空间集合,重复步骤2到步骤4,直到符合预定条件后停止,执行步骤6;其中,上述预定条件为满足以下条件至少之一:
1、当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
2、合成之后的新高维度子空间没有覆盖率大于或等于密度门限值的区域单元;
3、当前子空间的维度数目为最大值;
4、对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时;
步骤6,从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
在现有技术中,建立DPI特征库之前需要人工标记所有的流量样本数据的应用类型。这种方法的不足在于一是需要大量的人工,容易发生标记误差;二是无法及时更新特征库。本发明实施例通过使用熵模型,最短编码长度计算模型进行剪枝计算,提出子空间聚类方法,实现对流量样本数据的自动标记,可以有效降低人力成本,提高更新效率。
本发明实施例的技术方案通过子空间聚类的方式来完成对业务流量聚类特征的学习,而不再依赖与人工方式完成样本数据的业务类型标记工作,离线分类的准确率和效率更高。同时,子空间聚类算法通过较少的,有业务标签的学习样本数据得到的特征规则,在用于无业务标签的数据分类时,可以达到接近100%的精确率,能够保证业务流量数据不受噪音数据的影响。子空间聚类方法的计算过程利用了熵模型和最短编码计算模型,使得算法本身依赖的参数具有可理解性,也使算法的执行结果具有很好的稳定性。本发明实施例的技术方案有利于DPI分类器增强网络环境的适应能力,更加及时地学习到新的业务特征,并识别对应的业务流量。
以下结合附图,对本发明实施例的上述技术方案进行详细说明。
图2是本发明实施例的DPI模式下流量数据分类方法的***结构示意图,图2示出了本发明实施例的流量数据分类方法的输入和输出的处理过程,以及示出了基于子空间聚类的离线分类器在DPI中的位置。图3是本发明实施例的DPI模式下流量数据分类方法的详细处理的流程图,图4是本发明实施例的计算密度门限的处理流程图,图5是本发明实施例的计算覆盖率门限的处理流程图,图6是本发明实施例的获取最小化描述的析取范式的处理流程图,如图3-6所示,具体包括如下处理:
(1)在网络汇聚端口进行数据包的全包采集;
(2)将packet数据包按照源IP、目的IP、源端口、目的端口、传输层协议进行流(flow)重组,得到流样本,并计算出每条flow的公共数值属性特征集合,形成流记录,属性特征集合如表1所示;
表1
(3)对步骤(2)得到的流记录,通过人工方式,针对每种应用业务类型(上述成为业务种类),抽取对应的3000~7000条流,并标记其业务类型,形成对应的学习样本,剩余的未标记的流记录则是待分类的流记录(对应于上述待分类的流量数据集合);
(4)对步骤(3)得到的每条flow的公共数值属性特征集合,统计每个属性的最大值和最小值,作为属性对应的取值范围,并统一划分所有属性取值范围为多个等长区域,等长区域的个数为10000~15000之间任取一值,形成属性的区域集合;其中,区域单元个数设置在10000到15000之间,在每个属性维度中,区域单元从0开始编号;
(5)根据步骤(3)得到的对应一类业务的流记录学习样本和步骤(4)得到的属性的区域集合。为每个属性建立对应的一维空间,并统计每个属性的对应区域中样本流的个数,作为该区域对一类业务的学习样本的覆盖率,计算区域单元的密度门限值的流程如图4所示,具体包括如下处理:
表2
针对一维子空间集合,将N个网格单元按照样本覆盖率从大到小排序,然后计算熵值H:
初始时所有的区域都设定为稠密区域,先计算出第一个熵值,然后逐步将排在末尾的单元作为非稠密单元,重新计算熵值,令熵值H达到最小值的样本覆盖率pn,就是算法所要求的单元密度门限值。
(6)对步骤(5)得到的单元密度门限值,在当前每个λ维子空间中,删除所有覆盖率小于pn的区间,将稠密单元覆盖率相加,得到每个λ维子空间对一类业务的学习样本的覆盖率;
(7)将步骤(6)当中计算出样本覆盖率的所有λ维子空间,按照子空间对一类业务流量的学习样本覆盖率,从大到小排序,然后按照最短编码计算模型来计算λ维子空间集合的覆盖率门限值,计算子空间样本覆盖率门限值的流程如图4所示,具体如下:
其中xsj代表的是子空间对学***均样本覆盖率,μP(i)代表样本覆盖率小于门限值的所有子空间的平均样本覆盖率。初始时认为所有的子空间的覆盖率都大于门限值,此时可以计算出初始的编码长度CL(i),然后逐渐去除覆盖率小的子空间,重新计算编码长度。当整个编码长度最短时得到的覆盖率xsi,就是子空间覆盖率门限值;
(8)利用步骤(7)得到的λ维子空间集合的覆盖率门限值xsi,删除所有覆盖率小于覆盖率门限值的λ维子空间;
(9)利用步骤(8)中大于覆盖率门限值的所有λ维子空间,尝试构造λ+1维子空间:只有当两个λ维子空间仅有一个维度属性不同才进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,交集不为空则创建对应的λ+1维子空间的新单元;
(10)重复(6)到(9)的步骤,直到出现以下任意一个条件之一时,算法停止:
1、当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
2、合成之后的新高维度子空间没有稠密单元(稠密单元是指覆盖率大于或等于密度门限值的区域单元);
3、当前子空间已经的维度数目已经是最大值;
4、当前维度为λ的子空间集合中没有子空间的样本覆盖率大于等于75%,这能够保证高维度的子空间能达到较高的样本覆盖率。
(11)将步骤(10)得到的最高维度子空间集合中,覆盖率较大的子空间进行规则提取,规则采用最小化描述表达式表示,计算最小化描述表达的流程如图6所示,具体包括如下处理:
(11-1)搜索λ维子空间中具有邻接关系(共面)的稠密单元集合,每次都将共面的稠密单元归纳为相同的小集合,然后小集合之间如果存在共面的稠密单元对,则这样的小集合就可以合并,合并会在当前邻接稠密单元集合与其它邻接稠密单元集合没有任何共面关系的稠密单元对时结束,这个时候我们得到的就是k维子空间中的一个聚类结果cluster,一个λ维子空间可以有多个不同的聚类结果clusters。
(11-2)对于每个cluster,每次都随机抽取一个单元,如果该稠密单元未被处理过,从当前单元开始,需找能够覆盖该单元的最大矩形区域,该矩形区域内的所有的单元都是稠密单元,并将他们标记为已处理,重复步骤(11-2)直到所有的单元都被处理过。
(11-3)最后得到的cluster表达式如下:
<(IDa1 ua1 lena1),...,(IDaq uaq lenaq)>V<(IDb1 ub1 lenb1),...>V...,1≤q≤λ
其中,IDaq代表的是原点稠密单元对应的维度编号,uaq代表的则是稠密单元在该维度上所属的区间的编号,lenaq代表的则是对应最大覆盖区域在该维度上包含的区间总个数,q代表维度的编号。这些表达式就是提取的业务规则,他们可以对无业务标签的样本数据进行精确的业务类别划分,满足DPI公共字段特征的提取需求。
图7是本发明实施例的基于SDN安全的流量分类应用的示意图,如图7所示,基于SDN转发***的安全检测应用包括:SDN控制器下发采样指令,SDN交换机将采样流量上送DPI检测***,而本发明实施例的FPCLIQUE子空间聚类业务分类***,帮助DPI检测***进行业务分类,以便更好的进行流量检测。对于异常流量,则DPI检测***反馈给控制器,控制器下发相应的转发策略,丢弃、监控、清洗等。
图8是本发明实施例的基于传统DPI检测的流量分类应用的示意图,如图8所示,基于传统DPI***的安全检测应用包括:经过DPI***的流量,经过DPI检测设备,DPI设备的策略利用本发明实施例的FPCLIQUE子空间聚类业务分类***,可以更好帮助DPI检测***进行业务分类,以便更好的进行流量检测。对于异常流量,则DPI设备采用相应的转发策略,丢弃、监控、清洗等。
装置实施例
根据本发明的实施例,提供了一种流量数据分类装置,图9是本发明实施例的流量数据分类装置的结构示意图,如图9所示,根据本发明实施例的流量数据分类装置包括:采集设置模块90、抽取整理模块92、以及计算标记模块94,以下对本发明实施例的各个模块进行详细的说明。
采集设置模块90,用于在网络汇聚端口进行数据包采集,将数据包按照五元组重组为流,生成流量数据,并根据预先对流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将流量数据中的剩余部分设置为待分类的流量数据集合;其中,五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
抽取整理模块92,用于抽取流量数据集合中每条流量数据的公共数值属性特征集合,并将流量数据集合中的流量数据整理成由公共数值属性特征集合构成的流记录;
计算标记模块94,用于根据学习样本,采用子空间聚类方式对流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及流记录中流量数据的公共数值属性特征集合,对流量数据集合中的流量数据进行业务类型标记。
计算标记模块94具体包括:
第一处理子模块,用于对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将最小覆盖率作为区域单元的密度门限值;第一处理子模块具体用于:
针对流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将最大值和最小值作为公共数值属性的取值范围,并根据取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
第二处理子模块,用于根据密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
第三处理子模块,用于对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
第四处理子模块,用于在当前λ维子空间集合中,删除覆盖率小于学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同才时进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
第五处理子模块,用于根据获取的所有λ+1维子空间集合,调用第二处理子模块到第四处理子模块,直到符合预定条件后停止,调用第六处理子模块;优选地,预定条件为满足以下条件至少之一:
1、当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
2、合成之后的新高维度子空间没有覆盖率大于或等于密度门限值的区域单元;
3、当前子空间的维度数目为最大值;
4、对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时。
第六处理子模块,用于从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
综上所述,在少量已标识的流量数据作为学习样本基础上,通过子空间聚类方法对流量数据进行分类,解决了现有技术中DPI流量分类技术不能够对网络中新的流量业务特征进行及时更新而导致的更新效率低和准确率易退化的问题,只需要人工标记较少样本数据的业务类型,就能够对其余未经人工识别的业务流量进行分类,能够为建立DPI特征库提供足够数量的有效样本,极大提升目前DPI特征自动提取与更新的效率,使其对网络环境具备更强大的自适应能力。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (8)
1.一种流量数据分类方法,其特征在于,包括:
在网络汇聚端口进行数据包采集,将所述数据包按照五元组重组为流,生成流量数据,并根据预先对所述流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将所述流量数据中的剩余部分设置为待分类的流量数据集合;
抽取所述流量数据集合中每条流量数据的公共数值属性特征集合,并将所述流量数据集合中的流量数据整理成由所述公共数值属性特征集合构成的流记录;
根据所述学习样本,采用子空间聚类方式对所述流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及所述流记录中流量数据的公共数值属性特征集合,对所述流量数据集合中的流量数据进行业务类型标记;
根据所述学习样本,采用子空间聚类方式对所述流记录中每个业务种类的公共数值属性特征集合进行计算具体包括:
步骤1,对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将所述最小覆盖率作为区域单元的密度门限值;
步骤2,根据所述密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于所述密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
步骤3,对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
步骤4,在当前λ维子空间集合中,删除覆盖率小于所述学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同时才进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
步骤5,根据获取的所有λ+1维子空间集合,重复步骤2到步骤4,直到符合预定条件后停止,执行步骤6;
步骤6,从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
2.如权利要求1所述的方法,其特征在于,所述五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
3.如权利要求1所述的方法,其特征在于,预定条件为满足以下条件至少之一:
当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
合成之后的新高维度子空间没有覆盖率大于或等于所述密度门限值的区域单元;
当前子空间的维度数目为最大值;
对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时。
4.如权利要求1所述的方法,其特征在于,对每个公共数值属性的维度均划分出等数量区域单元个数具体包括:
针对所述流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将所述最大值和所述最小值作为公共数值属性的取值范围,并根据所述取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
5.一种流量数据分类装置,其特征在于,包括:
采集设置模块,用于在网络汇聚端口进行数据包采集,将所述数据包按照五元组重组为流,生成流量数据,并根据预先对所述流量数据中的一部分流量数据进行的业务类型标记,针对每个业务种类,对应形成学习样本,并将所述流量数据中的剩余部分设置为待分类的流量数据集合;
抽取整理模块,用于抽取所述流量数据集合中每条流量数据的公共数值属性特征集合,并将所述流量数据集合中的流量数据整理成由所述公共数值属性特征集合构成的流记录;
计算标记模块,用于根据所述学习样本,采用子空间聚类方式对所述流记录中每个业务种类的公共数值属性特征集合进行计算,并根据计算得到的每个业务种类的公共数值属性特征集合、以及所述流记录中流量数据的公共数值属性特征集合,对所述流量数据集合中的流量数据进行业务类型标记;
所述计算标记模块具体包括:
第一处理子模块,用于对每个公共数值属性的维度均划分出等数量区域单元个数,对每个公共数值属性建立一个对应的一维空间,将每个区域单元按照其对某一业务种类的学习样本的覆盖率进行排序,通过熵值计算模型,计算出区域单元对某一业务种类的学习样本达到的最小覆盖率,将所述最小覆盖率作为区域单元的密度门限值;
第二处理子模块,用于根据所述密度门限值,在λ维子空间集合中,删除λ维子空间中覆盖率小于所述密度门限值的区域单元,将λ维子空间中剩余的区域单元对一业务种类的学习样本的覆盖率进行相加,得到λ维子空间对一类学习样本的覆盖率,其中,λ≥1;
第三处理子模块,用于对当前λ维子空间集合中的每个λ维子空间,按照它们对一业务种类的学习样本的覆盖率进行排序,并采用最短编码长度计算模型,统计出当前λ维子空间集合中,一个λ维子空间对一业务种类的学习样本至少达到的覆盖率,将该至少达到的覆盖率作为λ维子空间的学习样本覆盖率门限值;
第四处理子模块,用于在当前λ维子空间集合中,删除覆盖率小于所述学习样本覆盖率门限值的子空间,针对当前λ维子空间集合中的每两个λ维子空间,只有当两者仅有一个维度的属性不同时才进行λ+1维子空间的计算,此时先搜索它们各自包含的区域单元,如果两个不同子空间的区域单元在所有相同的维度属性中的区域单元编号均相同,则对两个区域单元包含的学习样本求交集,如果交集不为空则创建对应的λ+1维子空间的新单元,不断循环计算λ+1维子空间的新单元,直到所有的λ维子空间两两均被处理过后停止;
第五处理子模块,用于根据获取的所有λ+1维子空间集合,调用第二处理子模块到第四处理子模块,直到符合预定条件后停止,调用第六处理子模块;
第六处理子模块,用于从维度数最大的子空间集合中,选择样本覆盖率最大的子空间,通过最大区域计算模型,得到对应每个聚类的表达式,将所有聚类结果的表达式用析取范式表示,获取每个业务种类的公共数值属性特征集合。
6.如权利要求5所述的装置,其特征在于,所述五元组包括:源网络协议IP地址、目的IP地址、源端口、目的端口、以及传输层协议。
7.如权利要求5所述的装置,其特征在于,预定条件为满足以下条件至少之一:
当前维度为λ的子空间集合无法合成维度数目为λ+1的子空间;
合成之后的新高维度子空间没有覆盖率大于或等于所述密度门限值的区域单元;
当前子空间的维度数目为最大值;
对于λ维子空间集合,当前不存在λ维子空间的样本的覆盖率大于等于预定值时。
8.如权利要求5所述的装置,其特征在于,所述第一处理子模块具体用于:
针对所述流记录,计算每个业务种类的公共数值属性特征能取到的最大值和最小值,并将所述最大值和所述最小值作为公共数值属性的取值范围,并根据所述取值范围,对每个公共数值属性的维度均划分出等数量区域单元个数,其中,每个区域单元等长。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410462489.4A CN105471670B (zh) | 2014-09-11 | 2014-09-11 | 流量数据分类方法及装置 |
PCT/CN2014/092214 WO2015154484A1 (zh) | 2014-09-11 | 2014-11-25 | 流量数据分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410462489.4A CN105471670B (zh) | 2014-09-11 | 2014-09-11 | 流量数据分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471670A CN105471670A (zh) | 2016-04-06 |
CN105471670B true CN105471670B (zh) | 2019-08-02 |
Family
ID=54287236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410462489.4A Active CN105471670B (zh) | 2014-09-11 | 2014-09-11 | 流量数据分类方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105471670B (zh) |
WO (1) | WO2015154484A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871879B (zh) * | 2016-05-06 | 2019-03-05 | 中国联合网络通信集团有限公司 | 网元异常行为自动检测方法及装置 |
CN106713324B (zh) * | 2016-12-28 | 2020-03-06 | 北京奇艺世纪科技有限公司 | 一种流量检测方法及装置 |
CN106909942B (zh) * | 2017-02-28 | 2022-09-13 | 北京邮电大学 | 一种面向高维度大数据的子空间聚类方法及装置 |
WO2019179473A1 (en) * | 2018-03-23 | 2019-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for chunk based iot service inspection |
CN110138720B (zh) * | 2019-03-21 | 2021-08-24 | 秒针信息技术有限公司 | 网络流量的异常分类检测方法、装置、存储介质和处理器 |
CN111786843B (zh) * | 2019-04-04 | 2023-07-04 | 中兴通讯股份有限公司 | 一种流量采集方法、装置、网络设备及存储介质 |
CN110493144B (zh) * | 2019-07-31 | 2023-03-10 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN110765329B (zh) * | 2019-10-28 | 2022-09-23 | 北京天融信网络安全技术有限公司 | 一种数据的聚类方法和电子设备 |
CN114844677B (zh) * | 2022-03-31 | 2024-05-28 | 北京工业大学 | 一种集成式的smote方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291279A (zh) * | 2011-08-18 | 2011-12-21 | 西北工业大学 | P2p网络流量检测方法 |
CN102394827A (zh) * | 2011-11-09 | 2012-03-28 | 浙江万里学院 | 互联网流量分级分类方法 |
CN102571486A (zh) * | 2011-12-14 | 2012-07-11 | 上海交通大学 | 一种基于BoW模型和统计特征的流量识别方法 |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
-
2014
- 2014-09-11 CN CN201410462489.4A patent/CN105471670B/zh active Active
- 2014-11-25 WO PCT/CN2014/092214 patent/WO2015154484A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291279A (zh) * | 2011-08-18 | 2011-12-21 | 西北工业大学 | P2p网络流量检测方法 |
CN102394827A (zh) * | 2011-11-09 | 2012-03-28 | 浙江万里学院 | 互联网流量分级分类方法 |
CN102571486A (zh) * | 2011-12-14 | 2012-07-11 | 上海交通大学 | 一种基于BoW模型和统计特征的流量识别方法 |
CN103200133A (zh) * | 2013-03-21 | 2013-07-10 | 南京邮电大学 | 一种基于网络流引力聚类的流量识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105471670A (zh) | 2016-04-06 |
WO2015154484A1 (zh) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471670B (zh) | 流量数据分类方法及装置 | |
CN104717124B (zh) | 一种好友推荐方法、装置及服务器 | |
CN102737057B (zh) | 一种商品类目信息的确定方法及装置 | |
CN109189901A (zh) | 一种智能客服***中自动发现新分类以及对应语料的方法 | |
CN105956015A (zh) | 一种基于大数据的服务平台整合方法 | |
CN110362557B (zh) | 一种基于机器学习和车牌识别数据的缺失路径修复方法 | |
CN109753499A (zh) | 一种运维监控数据治理方法 | |
CN102394827A (zh) | 互联网流量分级分类方法 | |
US20160080476A1 (en) | Meme discovery system | |
CN103488689B (zh) | 基于聚类的邮件分类方法和*** | |
CN104090931A (zh) | 一种基于网页链接参数分析的信息预测采集方法 | |
Xu et al. | A traffic classification method based on packet transport layer payload by ensemble learning | |
CN107977592A (zh) | 一种图像文本检测方法及***、用户终端及服务器 | |
CN108737290A (zh) | 基于负载映射与随机森林的非加密流量识别方法 | |
CN106933883A (zh) | 基于检索日志的兴趣点常用检索词分类方法、装置 | |
Zheng et al. | Real-time vegetables recognition system based on deep learning network for agricultural robots | |
CN107493275A (zh) | 异构网络安全日志信息的自适应提取和分析方法及*** | |
CN112925899B (zh) | 排序模型建立方法、案件线索推荐方法、装置及介质 | |
Akem et al. | Jewel: Resource-efficient joint packet and flow level inference in programmable switches | |
CN106022374B (zh) | 一种对历史流程数据进行分类的方法及装置 | |
Agarwal et al. | Study on optimization of unreliable server queueing systems: a PSO based survey | |
CN108921938A (zh) | 3d场景中基于最小费用最大流的层次结构构建方法 | |
CN110995465B (zh) | 信通点位全景视图信息运维方法及*** | |
CN112966947B (zh) | 一种基于物联网的智慧旅游景区管理方法及*** | |
CN109033210A (zh) | 一种挖掘地图兴趣点poi的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |