一种基于多任务学习的实时业务流量分类方法及系统技术方案

技术编号:35080993 阅读:17 留言:0更新日期:2022-09-28 11:49
本申请提供一种基于多任务学习的实时业务流量分类方法及系统,通过硬参数共享的多任务学习构建卷积神经网络,基于网络流的时间序列特征,即数据包大小、间隔的时间和数据包的方向进行分类训练,与单任务学习相比引入了带宽和流量用量一同进行训练和输出,通过训练得到的流量分类模型,对实时网络流量数据的业务类型进行预测。本申请适用于实时路由场景中,在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测,为路由决策提供准确快速的业务类型,同时还能提供流量的带宽需求与流量用量大小,辅助路由决策,为业务感知的QoS路由决策奠定基础。定基础。定基础。

【技术实现步骤摘要】
一种基于多任务学习的实时业务流量分类方法及系统


[0001]本专利技术涉及流量分类领域,尤其涉及一种基于多任务学习的实时业务流量分类方法及系统。

技术介绍

[0002]随着互联网的快速发展,网络应用的类型不断增加,而不同应用对网络流量的需求各不相同,如为低时延需求的应用分配了高带宽线路,可能导致需求高带宽的应用不能正常工作。对小型数据中心与Home Lab用户而言,有限的带宽资源与高昂的带宽费用之间的矛盾加速推进着网络流量业务分类的发展。根据不同用户的需求提供针对性的网络服务,准确、高效的实时业务流量分类技术成为了提高网络服务质量(QoS)的关键一环,实时网络流量业务的分类成为学术界和工业界共同关注的问题。
[0003]现有的业务流量分类可分为传统方法与机器学习方法。传统方法包括基于端口、基于载荷和基于主机行为的方法。其中,基于端口的方法是依赖端口号与特定应用的关联端口映射表识别流量。但随着大量基于动态端口的P2P应用的涌现,这一方法的应用领域在逐渐缩小。基于载荷的方法是利用正则表达式等预定义模式对已知流量进行识别,通过更新模式适配新产生的协议。但这一方法在处理加密流量时可行性不足,深层数据包载荷检测(Deep Packet Inspection, DPI)的出现解决了HTTPS的加密流量分类问题,但对处理器的内存有较大的消耗,且无法应对其他加密流量。基于主机行为模式的流量分类方法是通过记录目标主机的IP地址与端口号对后续流量进行指纹匹配实现不同应用流量的分类。这一方法不受加密影响但是由于需要一段时间记录应用行为,无法实现实时分类。经典的机器学习在网络流的应用同样广泛。有监督学习的方法如朴素贝叶斯、支持向量机(SVM)、C4.5等方法;无监督学习方法如K

means等方法,都曾达到了不错的分类效果。然而,在当今高度加密的网络流量环境下,简单、手动特征提取难度逐渐增大以及缺乏高学习能力来捕获更复杂的模式,它们的准确度相对有所下降。
[0004]随着深度学习方法在图像分类、语音识别、翻译等各种问题上取得成功,这些方法开始用于流量分类。通过利用堆叠的自动编码器(Stacked AutoEncoder, SAE)实现了对HTTP、SMTP等网络流量的分类,但是在非公开数据集上难以实现。通过将递归神经网络(RNN)和卷积神经网络(CNN)应用于应用级流量识别问题。他们的CNN

LSTM 架构使用源端口、目标端口、数据包大小、TCP 窗口大小和到达间隔时间作为特征,取得了不错的效果,不过这一模型是使用来自ISP的大型数据集实现的。使用统计特征和有效载荷数据对QUIC协议进行流量分类。首先使用随机森林算法的统计特征判断是否为Google Hangout服务,区分出聊天与语音通话服务。对其他类业务,再根据有效负载数据,使用CNN中多类分类的方法来对视频、文件、音乐类流量进行分类,最后在具有1400个特征的数据集上达到了99%的精度。虽然取得了很好的分类效果,但这一方法在第一阶段需要观察整个网络流,在实时分类场景中难以部署。

技术实现思路

[0005]本申请提供了一种基于多任务学习的实时业务流量分类方法及系统,在不耗费大量算力的情况下,利用少量的流量类别标记样本实现对网络流量的业务类型实时的准确预测, 并同时提供对业务流量带宽需求与流量用量的预测,更适用于路由功能中的业务感知场景,解决了对网络流量的业务类型预测准确度低、实时分类场景中难以部署的问题。
[0006]第一方面,本申请提供了一种基于多任务学习的实时业务流量分类方法,所述方法包括:获取流量数据集,所述流量数据集包括多个数据流。
[0007]根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签。
[0008]对所述流量数据集中的所有数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向。
[0009]基于所述数据包大小,获取所述数据流的流量用量和带宽需求。
[0010]根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签。
[0011]对所述流量特征集进行归一化处理,得到流量训练集。
[0012]构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务。
[0013]将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型。
[0014]将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。
[0015]在一种实现方式中,获取流量数据集的步骤包括:采集网络流量数据。
[0016]按照数据流粒度对所述网络流量数据进行流量切分,得到多个数据流,以构成所述流量数据集。
[0017]在一种实现方式中,在路由决策场景中,所述分类结果为粗粒度分类结果。
[0018]在一种实现方式中,基于所述数据包大小,获取所述数据流的流量用量和带宽需求的步骤包括:将所述数据流中所有数据包的数据包大小对应的数值进行求和计算,以得到所述数据流的流量用量。
[0019]获取所述数据流的持续时间,所述持续时间为所述数据流中最后一个数据包距第一个数据包到达时的时间。
[0020]计算所述流量用量与所述持续时间的比值,以得到所述数据流的带宽需求。
[0021]在一种实现方式中,对所述流量特征集进行归一化处理,得到流量训练集的步骤包括:根据所述数据包方向,改变所述数据包长度对应的数值的正负,以得到带方向信
息的数据包长度,所述正负用于表征所述数据包方向,所述数据包方向包括接收和发送。
[0022]根据预设数据包长度对所述带方向信息的数据包长度进行归一化处理。
[0023]根据预设数据包到达间隔时间对所述数据包到达间隔时间进行归一化处理。
[0024]在一种实现方式中,所述流量数据集包括已知类别的数据流和未知类别的数据流,根据数据流类型对所述已知类别的数据流进行分类标注,得到业务类型标签。
[0025]在一种实现方式中,将所述流量特征集输入所述卷积神经网络模型中的步骤包括:选取所述流量特征集中前K个数据包对应的流量特征,所述K为小于或者等于数据包个数的正整数。
[0026]基于选取的前K个数据包对应的流量特征,构成长度为K的向量,所述向量包含第一通道和第二通道,所述第一通道表征前K个数据包的到达间隔时间,所述第二通道表征前K个数据包的大小和方向。
[0027]将所述向量输入所述卷积神经网络模型中。
[0028]第二方面,本申请提供了一种基于多任务学习的实时业务流量分类系统,应用于上述任一项所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多任务学习的实时业务流量分类方法,其特征在于,所述方法包括:获取流量数据集,所述流量数据集包括多个数据流;根据数据流类型对所述流量数据集中的数据流进行分类标注,得到业务类型标签;对所述流量数据集中的所有数据流进行特征提取,得到流量特征集,所述流量特征集包括每个数据流对应的流量特征,所述流量特征包括所述数据流的数据包到达间隔时间、数据包大小和数据包方向;基于所述数据包大小,获取所述数据流的流量用量和带宽需求;根据预设分隔符对所述流量用量和所述带宽需求进行分类标注,得到辅助任务类别标签;对所述流量特征集进行归一化处理,得到流量训练集;构建基于硬参数共享的多任务学习的卷积神经网络模型,其中,流量业务分类作为主要任务,带宽预测与流量用量预测作为辅助任务;将所述流量数据集、所述流量训练集、所述业务类型标签和所述辅助任务类别标签输入所述卷积神经网络模型中进行多任务训练,得到流量分类模型;将实时网络流量数据输入所述流量分类模型中,以得到所述流量分类模型输出的分类结果,所述分类结果包括所述实时网络流量数据的业务类型和辅助任务类别,所述辅助任务类别包括带宽需求的类别和流量用量的类别。2.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,获取流量数据集的步骤包括:采集网络流量数据;按照数据流粒度对所述网络流量数据进行流量切分,得到多个数据流,以构成所述流量数据集。3.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,在路由决策场景中,所述分类结果为粗粒度分类结果。4.根据权利要求1所述的基于多任务学习的实时业务流量分类方法,其特征在于,基于所述数据包大小,获取所述数据流的流量用量和带宽需求的步骤包括:将所述数据流中所有数据包的数据包大小对应的数值进行求和计算,以得到所述数据流的流量用量;获取所述数据流的持续时间,所述持续时间为所述数据流中最后一个数据包距第一个数据包到达时的时间;计算所述流量用量与所述持续时间的比值,以得到所述数据流的带宽需求。5.根据权利要求4所述的基于多任务学习的实时业务流量分类方法,其特征在于,对所述流量特征集进行归一化处理,得到流量训练集的步骤包括:根据所述数据包方向,改变所述数据包长度对应的数值的正负,以得到带方向信息的数据包长度,所述正负用于表征所述数据包方向,所述数据包方向包括接收和发送;根据预设数据包长度对所述带方向信息的数据包长度进行归一化处理;根据预设数据包到达间隔时间对所述数据包到达间隔时间进行归一化处理。6.根据权利要求1所述的基于多任务学习的实...

【专利技术属性】
技术研发人员:石宁白光伟郭索眸钟亮亮
申请(专利权)人:南京可信区块链与算法经济研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1