CN115118653A - 一种基于多任务学习的实时业务流量分类方法及系统 - Google Patents
一种基于多任务学习的实时业务流量分类方法及系统 Download PDFInfo
- Publication number
- CN115118653A CN115118653A CN202211028727.1A CN202211028727A CN115118653A CN 115118653 A CN115118653 A CN 115118653A CN 202211028727 A CN202211028727 A CN 202211028727A CN 115118653 A CN115118653 A CN 115118653A
- Authority
- CN
- China
- Prior art keywords
- data
- flow
- traffic
- classification
- real
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于多任务学习的实时业务流量分类方法及系统,通过硬参数共享的多任务学习构建卷积神经网络,基于网络流的时间序列特征,即数据包大小、间隔的时间和数据包的方向进行分类训练,与单任务学习相比引入了带宽和流量用量一同进行训练和输出,通过训练得到的流量分类模型,对实时网络流量数据的业务类型进行预测。本申请适用于实时路由场景中,在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测,为路由决策提供准确快速的业务类型,同时还能提供流量的带宽需求与流量用量大小,辅助路由决策,为业务感知的QoS路由决策奠定基础。
Description
技术领域
本发明涉及流量分类领域,尤其涉及一种基于多任务学习的实时业务流量分类方法及系统。
背景技术
随着互联网的快速发展,网络应用的类型不断增加,而不同应用对网络流量的需求各不相同,如为低时延需求的应用分配了高带宽线路,可能导致需求高带宽的应用不能正常工作。对小型数据中心与Home Lab用户而言,有限的带宽资源与高昂的带宽费用之间的矛盾加速推进着网络流量业务分类的发展。根据不同用户的需求提供针对性的网络服务,准确、高效的实时业务流量分类技术成为了提高网络服务质量(QoS)的关键一环,实时网络流量业务的分类成为学术界和工业界共同关注的问题。
现有的业务流量分类可分为传统方法与机器学习方法。传统方法包括基于端口、基于载荷和基于主机行为的方法。其中,基于端口的方法是依赖端口号与特定应用的关联端口映射表识别流量。但随着大量基于动态端口的P2P应用的涌现,这一方法的应用领域在逐渐缩小。基于载荷的方法是利用正则表达式等预定义模式对已知流量进行识别,通过更新模式适配新产生的协议。但这一方法在处理加密流量时可行性不足,深层数据包载荷检测(Deep Packet Inspection, DPI)的出现解决了HTTPS的加密流量分类问题,但对处理器的内存有较大的消耗,且无法应对其他加密流量。基于主机行为模式的流量分类方法是通过记录目标主机的IP地址与端口号对后续流量进行指纹匹配实现不同应用流量的分类。这一方法不受加密影响但是由于需要一段时间记录应用行为,无法实现实时分类。经典的机器学习在网络流的应用同样广泛。有监督学习的方法如朴素贝叶斯、支持向量机(SVM)、C4.5等方法;无监督学习方法如K-means等方法,都曾达到了不错的分类效果。然而,在当今高度加密的网络流量环境下,简单、手动特征提取难度逐渐增大以及缺乏高学习能力来捕获更复杂的模式,它们的准确度相对有所下降。
随着深度学习方法在图像分类、语音识别、翻译等各种问题上取得成功,这些方法开始用于流量分类。通过利用堆叠的自动编码器(Stacked AutoEncoder, SAE)实现了对HTTP、SMTP等网络流量的分类,但是在非公开数据集上难以实现。通过将递归神经网络(RNN)和卷积神经网络(CNN)应用于应用级流量识别问题。他们的CNN-LSTM 架构使用源端口、目标端口、数据包大小、TCP 窗口大小和到达间隔时间作为特征,取得了不错的效果,不过这一模型是使用来自ISP的大型数据集实现的。使用统计特征和有效载荷数据对QUIC协议进行流量分类。首先使用随机森林算法的统计特征判断是否为Google Hangout服务,区分出聊天与语音通话服务。对其他类业务,再根据有效负载数据,使用CNN中多类分类的方法来对视频、文件、音乐类流量进行分类,最后在具有1400个特征的数据集上达到了99%的精度。虽然取得了很好的分类效果,但这一方法在第一阶段需要观察整个网络流,在实时分类场景中难以部署。
发明内容
本申请提供了一种基于多任务学习的实时业务流量分类方法及系统,在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测, 并同时提供对业务流量带宽需求与流量用量的预测,更适用于路由功能中的业务感知场景,解决了对网络流量的业务类型预测准确度低、实时分类场景中难以部署的问题。
第一方面,本申请提供了一种基于多任务学习的实时业务流量分类方法,所述方法包括:
获取流量数据集,所述流量数据集包括多个数据流。
根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签。
对所述流量数据集中的所有数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向。
基于所述数据包大小,获取所述数据流的流量用量和带宽需求。
根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签。
对所述流量特征集进行归一化处理,得到流量训练集。
构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务。
将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型。
将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
在一种实现方式中,获取流量数据集的步骤包括:
采集网络流量数据。
按照数据流粒度对所述网络流量数据进行流量切分,得到多个数据流,以构成所述流量数据集。
在一种实现方式中,在路由决策场景中,所述分类结果为粗粒度分类结果。
在一种实现方式中,基于所述数据包大小,获取所述数据流的流量用量和带宽需求的步骤包括:
将所述数据流中所有数据包的数据包大小对应的数值进行求和计算,以得到所述数据流的流量用量。
获取所述数据流的持续时间,所述持续时间为所述数据流中最后一个数据包距第一个数据包到达时的时间。
计算所述流量用量与所述持续时间的比值,以得到所述数据流的带宽需求。
在一种实现方式中,对所述流量特征集进行归一化处理,得到流量训练集的步骤包括:
根据所述数据包方向,改变所述数据包长度对应的数值的正负,以得到带方向信息的数据包长度,所述正负用于表征所述数据包方向,所述数据包方向包括接收和发送。
根据预设数据包长度对所述带方向信息的数据包长度进行归一化处理。
根据预设数据包到达间隔时间对所述数据包到达间隔时间进行归一化处理。
在一种实现方式中,所述流量数据集包括已知类别的数据流和未知类别的数据流,根据数据流类型对所述已知类别的数据流进行分类标注,得到业务类型标签。
在一种实现方式中,将所述流量特征集输入所述卷积神经网络模型中的步骤包括:
选取所述流量特征集中前K个数据包对应的流量特征,所述K为小于或者等于数据包个数的正整数。
基于选取的前K个数据包对应的流量特征,构成长度为K的向量,所述向量包含第一通道和第二通道,所述第一通道表征前K个数据包的到达间隔时间,所述第二通道表征前K个数据包的大小和方向。
将所述向量输入所述卷积神经网络模型中。
第二方面,本申请提供了一种基于多任务学习的实时业务流量分类系统,应用于上述任一项所述的基于多任务学习的实时业务流量分类方法,包括:
流量采集模块,用于获取流量数据集,所述流量数据集包括多个数据流。
特征提取模块,用于对所述数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向,以及基于所述数据包大小,获取所述数据流的流量用量和带宽需求。
标签标注模块,用于根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签,以及根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签。
预处理模块,用于对所述流量特征集进行归一化处理,得到流量训练集。
多任务学习模块,用于构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务;以及将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型。
流量分类模块,用于将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
在一种实现方式中,所述卷积神经网络模型包括输入层、CNN层、全连接层以及三个softmax层,所述CNN层为多任务学习的共享层,所述CNN层每一层包括池化层和两个卷积层。
在一种实现方式中,所述卷积神经网络模型的卷积层采用ReLU函数作为激活函数。
由上述技术方案可知,本申请提供了一种基于多任务学习的实时业务流量分类方法及系统,本发明适用于实时路由场景中,在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测,为路由决策提供准确快速的业务类型,同时还能提供流量的带宽需求与流量用量大小,辅助路由决策。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于多任务学习的实时业务流量分类方法的方法流程图;
图2为本申请实施例提供的示例性的数据流结构图;
图3为本申请实施例提供的样例数据集的带宽需求分布直方图;
图4为本申请实施例提供的样例数据集的流量用量分布直方图;
图5为本申请实施例提供的基于硬参数共享的多任务学习的卷积神经网络模型的架构图;
图6为本申请实施例提供的样例数据集的预测准确率随输入数据包数量变化的示意图;
图7为本申请实施例提供的样例数据集的预测准确率随主要任务权重变化的示意图;
图8为本申请实施例提供的样例数据集的预测准确率随训练轮次变化的示意图;
图9为本申请实施例提供的一种基于多任务学习的实时业务流量分类系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述现有技术所述的对网络流量的业务类型预测准确度低、实时分类场景中难以部署的问题,本申请提供了一种基于多任务学习的实时业务流量分类方法及系统。通过硬参数共享的多任务学习构建卷积神经网络,基于网络流的时间序列特征,即数据包大小、间隔的时间和数据包的方向进行分类训练,与单任务学习相比引入了带宽和流量用量一同进行训练和输出,通过训练得到的流量分类模型,对实时网络流量数据的业务类型进行预测。在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测,并同时提供对业务流量带宽需求与流量用量的预测,提高了流量业务分类的精度。
第一方面,本申请提供了一种基于多任务学习的实时业务流量分类方法,如图1所示,具体包括如下步骤:
S1,获取流量数据集,所述流量数据集包括多个数据流。
其中,获取流量数据集的步骤包括:
采集网络流量数据。网络流量采集是进行流量分析的基础,该步骤中,可利用抓包工具,例如libpcap抓包,对不同业务场景下的网络流量进行采集。
按照数据流粒度对所述网络流量数据进行流量切分,得到多个数据流,以构成所述流量数据集。采集网络流量数据时,采集的数据以流为单位进行存储,即本实施例所述的数据流,每条数据流存储在一个文件中,每个文件就代表了一个数据流的时间序列信息,按文件读取即实现了以数据流为切割粒度进行流量切分。将读取的每个数据流存入列表EntireFile中,即每条数据流为列表EntireFile中的一个元素,以构成流量数据集,作为训练样本,用于模型的训练。所述流量数据集包括多个数据流。
如图2所示,为本申请实施例提供的示例性的一条数据流的结构。一条数据流包括多个数据包,图2中每行表示一个数据包,每行的第一个数据为该数据包的时间戳,第二个数据为该数据包从第一个数据包开始的相对时间,第三个数据为该数据包的大小,最后一个数据为该数据包的方向。
S2,根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签。
其中,数据流类型为获取的不同业务场景下的网络数据流对应的业务类型。在本实施例中,所述流量数据集包括已知类别的数据流和未知类别的数据流,根据数据流类型对所述已知类别的数据流进行分类标注,得到业务类型标签。即对已知业务类型的数据流直接标注标签,并存储已经标注好的业务类型标签,例如,业务类型标签可以为视频类业务、音乐类业务、游戏类业务、文件类业务等。
S3,对所述流量数据集中的所有数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向。
其中,所述流量特征为网络数据流的时间序列特征,包括数据包大小、数据包到达间隔的时间和数据包的方向。对流量数据集中的所有数据流进行特征提取,得到每个数据流的时间序列特征,构成流量特征集。
S4,基于所述数据包大小,获取所述数据流的流量用量和带宽需求。
其中,基于所述数据包大小,获取所述数据流的流量用量和带宽需求的步骤包括:
将所述数据流中所有数据包的数据包大小对应的数值进行求和计算,以得到所述数据流的流量用量。
获取所述数据流的持续时间,所述持续时间为所述数据流中最后一个数据包距第一个数据包到达时的时间。
计算所述流量用量与所述持续时间的比值,以得到所述数据流的带宽需求。
在本实施例中,每条数据流为EntireFile中的一个元素,EntrieFile存储了每条数据流的全部信息。根据图2所示的数据流的结构,数据流每行表示一个数据包,第一列为数据包的时间戳,第二列为该数据包从第一个数据包开始的相对时间,第三列为该数据包的大小。整个数据流的持续时间可由最后一个数据包得到,统计数据包大小得到流量用量,并计算出带宽需求的公式为:
其中,为流量用量,为数据包的总个数,为所述数据流
的第行第三列对应的数值。的计算是计算该数据流的每一行第三列的和,第三列
为数据包的大小,总和即为整体的流量用量。为带宽需求,
为最后一行的第二列,表示该数据流的最后一个数据包距第一个数据包到达时的时间,即
整个数据流的持续时间。流量用量与持续时间相除即得到带宽需求。
S5,根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签。
在本实施例中,可以对获取到的数据流的流量用量和带宽需求进行标注(此时流量用量和带宽需求还存储的具体数值),标注具体的数值,得到标注信息,可用于模型的训练。由于粗粒度的预测通常足以用于路由或 QoS 目的,为保障模型的快速收敛,将带宽需求预测任务与流量用量预测任务均设置为分类任务。对带宽和流量用量进行分类标注。
示例性的,定义辅助任务类别标签的数量,用户可根据需求设置辅助任务类别标签的数量,例如将带宽需求的值分为5个类,流量用量的值分为4个类,辅助任务类别标签定义如下:
示例性的,使用和作为带宽需求和流量用量的分隔
符。例如,如果一条数据流的带宽需求大于小于,则给这条数据流分配标签为
Class 2。以文献[REZAEI S, LIU X. How to achieve high classification accuracy
with just a few labels: A semi-supervised approach using sampled packets[J].
arXiv preprint arXiv:1812.09761, 2018.]公开的“QUIC”数据集作为样例数据集,使用和分别作为带
宽需求类与流量用量类标签的分隔符,样例数据集中包含不同业务类型的网络流量,例如
Google Drive、Youtube、Google Doc、Google Search、Google Music等。如图3与图4所示,
分别代表样例数据集的带宽需求与流量用量分布的直方图,横向分别表示带宽需求与流量
用量的类别,纵向表示数据流的数量。可以发现流量业务类型与其带宽需求、流量用量有很
强的关联性,这一点可以被合理解释。例如YouTube作为视频类业务,虽然没有最大的带宽
需求,但由于长期播放,因此拥有最大的流量用量需求。而音乐类应用Google Music, 由于
通常在播放开始时就要求缓存整个曲目,因此带宽需求和流量使用量都保持在一个较高的
水平。随着使用场景的变化,具有同样特征的数据流也可能会是不同的业务类型,通过引入
带宽需求和流量用量一同进行训练和输出,可灵活调整,提高了流量业务分类的预测精度。
S6,对所述流量特征集进行归一化处理,得到流量训练集。
其中,归一化处理是将数据按比例缩放,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。归一化能保持输入数据尺度一致,将不同尺度的数据进行统一,使数据范围在同一尺度,能大大加快梯度收敛过程,节约训练时间。
对所述流量特征集进行归一化处理,得到流量训练集的步骤包括:
根据所述数据包方向,改变所述数据包长度对应的数值的正负,以得到带方向信息的数据包长度,所述正负用于表征所述数据包方向,所述数据包方向包括接收和发送。
根据预设数据包长度对所述带方向信息的数据包长度进行归一化处理。
根据预设数据包到达间隔对所述数据包到达间隔时间进行归一化处理。
在本实施例中,在对模型训练之前,需要对流量特征集进行归一化处理,即对数据包大小、数据包方向、数据包到达间隔时间进行归一化。具体步骤如算法1所示。
其中,步骤2、3和4为对数据包的方向进行判定并依据数据包方向修改数据包大小的正负用于记录方向信息,data[1]用于表征数据包到达间隔时间,data[2]用于表征数据包大小,data[3]用于表征数据包的方向,数据包方向包括接收和发送。当data[3]=0时,数据包方向为接收,data[2]为正值;当data[3]>0时,数据包方向为发送,改变data[2]的正负,令data[2]为负值。依据数据包的方向修改data[2]的正负用于记录方向信息,即数据包长度的正负用于表示数据包的方向。步骤7为根据预先设置的MaxLength对数据包长度进行归一化,使用预设的MaxLength归一化了data[2]中的数据。步骤9到步骤12根据预设的MaxInterArrival对数据包到达间隔时间进行归一化,ttt作为中间变量,用来归一化data[1]中的数据包到达间隔时间。
上述步骤完成后,从data中提取需要的数据(数据包到达间隔时间data[1]和带方向信息的数据包长度data[2])并进行存储,以得到流量训练集用于下一步的模型训练。
S7,构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务。
S8,将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型。
其中,将所述流量特征集输入所述卷积神经网络模型中的步骤包括:
选取所述流量特征集中前K个数据包对应的流量特征,所述K为小于或者等于数据包个数的正整数。
基于选取的前K个数据包对应的流量特征,构成长度为K的向量,所述向量包含第一通道和第二通道,所述第一通道表征前K个数据包的到达间隔时间,所述第二通道表征前K个数据包的大小和方向。
将所述向量输入所述卷积神经网络模型中。
在本实施例中,使用前K个数据包对应的流量特征,即数据包大小、数据包到达间隔时间以及数据包方向。构成一个长度为K的向量作为模型的输入。该向量包含2个通道(即data[1]与data[2])。第一个通道记录前 K个数据包的到达间隔时间,第二个通道记录数据包的大小和方向。
如图5所示,为基于硬参数共享的多任务学习的卷积神经网络模型。所述卷积神经网络模型包括输入层、CNN层、全连接层以及三个softmax层,所述CNN层为多任务学习的共享层,所述CNN层每一层包括池化层和两个卷积层。所述卷积神经网络模型的卷积层采用ReLU函数作为激活函数,选用了整流线性单元 (ReLU) 以增强各层的非线性关系。而池化层则采用了通常表现最优的最大池化的方法。最后使用不同的 Softmax层对三种任务进行输出,得到各任务的分类结果。各层作用与传统CNN相同,卷积层提取特征,池化层压缩特征,提取主要特征,经过三层CNN后进行降维处理。与单任务学习相比引入了带宽和流量用量一同训练和输出,共享底层参数完全相同,只在softmax层有区别,提高了流量业务类型分类的精度。
使用B、U和T分别表示带宽需求预测任务、流量用量预测任务和流量业务分类任
务。对N个训练样本,即N个数据流。使用代表第i个训练样本的输入,、和代表带
宽需求预测任务、流量用量预测任务和流量业务分类任务的相应输出。则本发明所描述的
多任务学习方法的目标可以表述为:
其中,为交叉熵损失函数。为表示流量业务分类任务重要性的权重。、和为单个任务独有的参数。因为所有训练样本都存在辅助任务类别标签,即带宽
需求类标签和流量用量类标签,而业务类型标签只在一小部分数据样本中存在,所以可以
通过增加的值弥补标记数据的不足。其中,在训练时,令输出流量业务分类任务的分类
结果对应的softmax层与掩码向量相乘以防止没有业务类型标签的训练样本反向传播。
以QUIC数据集为例,取数据包到达间隔时间MaxInterArrival=1,单个数据包长度
的最大值MaxLength=1434,带有业务类型标签的训练样本数为20。如图6所示,当权重
,每轮训练20轮时各任务的预测准确率随输入数据包数量的变化。带宽需求预测的线段变
化表征带宽需求预测任务的预测准确率随输入数据包数量的变化;流量用量预测的线段变
化表征流量用量预测任务的预测准确率随输入数据包数量的变化;流量业务类型预测的线
段变化表征流量业务分类任务的预测准确率随输入数据包数量的变化。可以看到,从K=30
到K=60的区间上流量业务分类任务预测的准确度有较为明显的上升;从K=60开始,带宽需
求预测任务的准确度也与使用大量数据包作为输入时的准确度相近,达到了一个较高的水
准。
如图7所示,当输入数据包数量K=60,每轮训练20轮时个任务的预测准确率随权重
的变化。测试了从到的四组数据,然后增加了和用于观察
当流量业务分类任务的权重远大于辅助任务时的情形。可以看到,在多任务学习模型中,如
果某一任务的训练样本数量与其他任务的样本数量差距较大时,样本数量大的任务会对模
型中共享的底层参数影响更大。因此,对训练样本较少的流量业务分类任务,通过提升
增加流量业务分类任务的损失函数的权重,实现对标记样本数量少的补充,提高流量业务
分类任务的影响。的增加会使模型更适应流量业务类型预测,逐渐达到最大精度。但继
续增大会使模型的流量业务分类任务训练数据产生过拟合,降低所有任务的准确度。因
此,实际部署本发明提出的多任务学习方法前,应该找到合适的值作为超参数。
如图8所示,当权重,输入数据包数量K=60时,不同训练轮次对准确度的影
响。可以看到,训练到第10轮时准确度已经达到了收敛标准。实验中,每轮训练的时长约为
2.5秒,对平台的性能要求不高,无需搭建高性能平台即可运行。验证过程30条数据耗时仅
需15毫秒左右,用于实时流量业务分类场景时也不会导致时延的显著提示。
S9,将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
在本实施例中,本发明用于解决实时路由场景下的流量分类问题。根据实际应用场景,本发明的流量分类模型为:
其中,为所有待分类的网络流的集合,并且可以根据实际分类的需要进行划
分,如根据方向划分为发送流和接收流的集合,为流的各类特性,本发
明中使用基于网络流的时间序列特征,即数据包大小、数据包间隔的时间和数据包的方向
进行分类。所述流量分类模型输出的分类结果可以为粗粒度分类结果或者细粒度分类结
果,所述粗粒度分类结果为以粗粒度的目标分类,细粒度分类结果为以细粒度的目标分类。为目标分类,可以为粗粒度的目标分类,如;也可以
是细粒度的目标分类,如。在路由决策场
景中,所述分类结果为粗粒度分类结果。粗粒度的预测通常足以用于路由或 QoS 目的,故
在本实施例中,使用粗粒度的目标分类。
综上所述,本申请提供一种基于多任务学习的实时业务流量分类方法,通过硬参数共享的多任务学习构建卷积神经网络,基于网络流的时间序列特征,即数据包大小、间隔的时间和数据包的方向进行分类训练,与单任务学习相比引入了带宽和流量用量一同进行训练和输出,通过训练得到的流量分类模型,对实时网络流量数据的业务类型进行预测。在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测,并同时提供对业务流量带宽需求与流量用量的预测,提高了流量业务分类的精度。
第二方面,本申请提供了一种基于多任务学习的实时业务流量分类系统,如图9所示,应用于上述任一项所述的基于多任务学习的实时业务流量分类方法,包括:
流量采集模块,用于获取流量数据集,所述流量数据集包括多个数据流。
特征提取模块,用于对所述数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向,以及基于所述数据包大小,获取所述数据流的流量用量和带宽需求。
标签标注模块,用于根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签,以及根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类型标签。
预处理模块,用于对所述流量特征集进行归一化处理,得到流量训练集。
多任务学习模块,用于构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务;以及将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型。
流量分类模块,用于将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
上述系统中在应用前述方法时的作用效果可参见前述方法实施例中的说明,在此不再赘述。
Claims (10)
1.一种基于多任务学习的实时业务流量分类方法,其特征在于,所述方法包括:
获取流量数据集,所述流量数据集包括多个数据流;
根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签;
对所述流量数据集中的所有数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向;
基于所述数据包大小,获取所述数据流的流量用量和带宽需求;
根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签;
对所述流量特征集进行归一化处理,得到流量训练集;
构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务;
将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型;
将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
2.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,获取流量数据集的步骤包括:
采集网络流量数据;
按照数据流粒度对所述网络流量数据进行流量切分,得到多个数据流,以构成所述流量数据集。
3.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,在路由决策场景中,所述分类结果为粗粒度分类结果。
4.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,基于所述数据包大小,获取所述数据流的流量用量和带宽需求的步骤包括:
将所述数据流中所有数据包的数据包大小对应的数值进行求和计算,以得到所述数据流的流量用量;
获取所述数据流的持续时间,所述持续时间为所述数据流中最后一个数据包距第一个数据包到达时的时间;
计算所述流量用量与所述持续时间的比值,以得到所述数据流的带宽需求。
5.根据权利要求4所述的基于多任务学习的实时业务流量分类方法,其特征在于,对所述流量特征集进行归一化处理,得到流量训练集的步骤包括:
根据所述数据包方向,改变所述数据包长度对应的数值的正负,以得到带方向信息的数据包长度,所述正负用于表征所述数据包方向,所述数据包方向包括接收和发送;
根据预设数据包长度对所述带方向信息的数据包长度进行归一化处理;
根据预设数据包到达间隔时间对所述数据包到达间隔时间进行归一化处理。
6.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,所述流量数据集包括已知类别的数据流和未知类别的数据流,根据数据流类型对所述已知类别的数据流进行分类标注,得到业务类型标签。
7.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,将所述流量特征集输入所述卷积神经网络模型中的步骤包括:
选取所述流量特征集中前K个数据包对应的流量特征,所述K为小于或者等于数据包个数的正整数;
基于选取的前K个数据包对应的流量特征,构成长度为K的向量,所述向量包含第一通道和第二通道,所述第一通道表征前K个数据包的到达间隔时间,所述第二通道表征前K个数据包的大小和方向;
将所述向量输入所述卷积神经网络模型中。
8.一种基于多任务学习的实时业务流量分类系统,应用于权利要求1-7任一项所述的基于多任务学习的实时业务流量分类方法,其特征在于,包括:
流量采集模块,用于获取流量数据集,所述流量数据集包括多个数据流;
特征提取模块,用于对所述数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向,以及基于所述数据包大小,获取所述数据流的流量用量和带宽需求;
标签标注模块,用于根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签,以及根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签;
预处理模块,用于对所述流量特征集进行归一化处理,得到流量训练集;
多任务学习模块,用于构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务;以及将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型;
流量分类模块,用于将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
9.根据权利要求8所述的基于多任务学习的实时业务流量分类系统,其特征在于,所述卷积神经网络模型包括输入层、CNN层、全连接层以及三个softmax层,所述CNN层为多任务学习的共享层,所述CNN层每一层包括池化层和两个卷积层。
10.根据权利要求9所述的基于多任务学习的实时业务流量分类系统,其特征在于,所述卷积神经网络模型的卷积层采用ReLU函数作为激活函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211028727.1A CN115118653A (zh) | 2022-08-26 | 2022-08-26 | 一种基于多任务学习的实时业务流量分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211028727.1A CN115118653A (zh) | 2022-08-26 | 2022-08-26 | 一种基于多任务学习的实时业务流量分类方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115118653A true CN115118653A (zh) | 2022-09-27 |
Family
ID=83336395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211028727.1A Pending CN115118653A (zh) | 2022-08-26 | 2022-08-26 | 一种基于多任务学习的实时业务流量分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118653A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155821A (zh) * | 2023-01-16 | 2023-05-23 | 广东技术师范大学 | 一种基于多任务学习的et-bert流量分类方法、存储介质及设备 |
CN116582452A (zh) * | 2023-07-12 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 流量分类方法、装置、设备及介质 |
WO2024102561A1 (en) * | 2022-11-07 | 2024-05-16 | Qualcomm Incorporated | Traffic identification using machine learning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378410A (zh) * | 2019-07-16 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 多标签场景分类方法、装置及电子设备 |
WO2021151296A1 (zh) * | 2020-07-22 | 2021-08-05 | 平安科技(深圳)有限公司 | 多任务分类方法、装置、计算机设备及存储介质 |
CN113254980A (zh) * | 2021-07-07 | 2021-08-13 | 南京可信区块链与算法经济研究院有限公司 | 一种用于深度学习的工作量证明共识方法及系统 |
CN113705712A (zh) * | 2021-09-02 | 2021-11-26 | 广州大学 | 一种基于联邦半监督学习的网络流量分类方法和系统 |
CN114745335A (zh) * | 2022-04-29 | 2022-07-12 | 中国工商银行股份有限公司 | 网络流量的分类、装置、存储介质及电子设备 |
-
2022
- 2022-08-26 CN CN202211028727.1A patent/CN115118653A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378410A (zh) * | 2019-07-16 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 多标签场景分类方法、装置及电子设备 |
WO2021151296A1 (zh) * | 2020-07-22 | 2021-08-05 | 平安科技(深圳)有限公司 | 多任务分类方法、装置、计算机设备及存储介质 |
CN113254980A (zh) * | 2021-07-07 | 2021-08-13 | 南京可信区块链与算法经济研究院有限公司 | 一种用于深度学习的工作量证明共识方法及系统 |
CN113705712A (zh) * | 2021-09-02 | 2021-11-26 | 广州大学 | 一种基于联邦半监督学习的网络流量分类方法和系统 |
CN114745335A (zh) * | 2022-04-29 | 2022-07-12 | 中国工商银行股份有限公司 | 网络流量的分类、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
赵季红: "基于多任务和卷积神经网络的业务识别算法", 《西安邮电大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024102561A1 (en) * | 2022-11-07 | 2024-05-16 | Qualcomm Incorporated | Traffic identification using machine learning |
CN116155821A (zh) * | 2023-01-16 | 2023-05-23 | 广东技术师范大学 | 一种基于多任务学习的et-bert流量分类方法、存储介质及设备 |
CN116582452A (zh) * | 2023-07-12 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 流量分类方法、装置、设备及介质 |
CN116582452B (zh) * | 2023-07-12 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 流量分类方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
Wang et al. | A survey of techniques for mobile service encrypted traffic classification using deep learning | |
Shapira et al. | Flowpic: Encrypted internet traffic classification is as easy as image recognition | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN115118653A (zh) | 一种基于多任务学习的实时业务流量分类方法及系统 | |
Shafiq et al. | A machine learning approach for feature selection traffic classification using security analysis | |
Perera et al. | A comparison of supervised machine learning algorithms for classification of communications network traffic | |
CN113489674B (zh) | 一种面向物联网系统的恶意流量智能检测方法及应用 | |
CN112564974A (zh) | 一种基于深度学习的物联网设备指纹识别方法 | |
CN113079069A (zh) | 一种面向大规模加密网络流量的混合粒度训练及分类方法 | |
Perera Jayasuriya Kuranage et al. | Network traffic classification using machine learning for software defined networks | |
JP2012105043A (ja) | フロー分類方法、システム、およびプログラム | |
Zhao et al. | A few-shot learning based approach to IoT traffic classification | |
CN111711545A (zh) | 一种软件定义网络中基于深度包检测技术的加密流量智能识别方法 | |
CN116405419A (zh) | 一种基于小样本学习的未知网络协议分类方法 | |
CN104468276B (zh) | 基于随机抽样多分类器的网络流量识别方法 | |
CN114095447A (zh) | 一种基于知识蒸馏与自蒸馏的通信网络加密流量分类方法 | |
Raveendran et al. | A novel aggregated statistical feature based accurate classification for internet traffic | |
Li et al. | A fast traffic classification method based on SDN network | |
CN108141377B (zh) | 网络流早期分类 | |
CN116401586A (zh) | 一种全场景业务智能感知与精准分类的方法 | |
CN115563533A (zh) | 一种基于多任务学习的加密流量分类系统、方法、计算机及存储介质 | |
CN114745335B (zh) | 网络流量的分类、装置、存储介质及电子设备 | |
Al-Saadi et al. | Unsupervised machine learning-based elephant and mice flow identification | |
Dong | Online encrypted skype identification based on an updating mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220927 |