CN112115957A - 数据流识别方法及装置、计算机存储介质 - Google Patents
数据流识别方法及装置、计算机存储介质 Download PDFInfo
- Publication number
- CN112115957A CN112115957A CN201910543836.9A CN201910543836A CN112115957A CN 112115957 A CN112115957 A CN 112115957A CN 201910543836 A CN201910543836 A CN 201910543836A CN 112115957 A CN112115957 A CN 112115957A
- Authority
- CN
- China
- Prior art keywords
- data
- sample
- target
- characteristic data
- data stream
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据流识别方法及装置、计算机存储介质,属于网络技术领域。网络设备或服务器向深度学习模型输入待识别数据流的首个数据包;接收深度学习模型根据该首个数据包输出的目标特征数据;并基于目标特征数据,确定待识别数据流的类型,该类型包括已知应用或未知应用;其中,该深度学习模型由标注有应用标签的多个样本数据流训练得到。本申请通过深度学习模型自动学习已知应用数据流和未知应用数据流的区别特征,该深度学习模型输出的特征数据的可靠性较高,因此可以提高数据流识别的准确性。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种数据流识别方法及装置、计算机存储介质。
背景技术
数据流识别的目的是确定数据流的类别,也即是确定数据流属于未知应用还是已知应用。数据流识别是数据流控制、网络安全管理、提升网络服务质量和优化网络性能的前提和基础。
目前的数据流识别方法大多数基于有监督的机器学习技术。通过提取已知类别的数据流的特征,并采用已知类别的数据流的特征训练分类器,再采用训练好的分类器对待识别数据流进行分类。由于分类器的分类性能非常依赖于数据流特征的设计,而目前的数据流特征通常是基于人工经验确定的,其可靠性较低,导致数据流识别的准确性较低。
发明内容
本申请提供了一种数据流识别方法及装置、计算机存储介质,可以解决目前数据流识别的准确性较低的问题。
第一方面,提供了一种数据流识别方法。网络设备或服务器向深度学习模型输入待识别数据流的首个数据包;接收深度学习模型根据该首个数据包输出的目标特征数据;并基于该目标特征数据,确定待识别数据流的类型,该类型包括已知应用和未知应用;其中,深度学习模型由标注有应用标签的多个样本数据流训练得到。
本申请提供的数据流识别方法,通过向深度学习模型输入待识别数据流的首个数据包,并基于深度学习模型根据该首个数据包输出的目标特征数据,确定待识别数据流的类型。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,与基于人工经验确定的特征数据相比,深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。
可选地,深度学习模型包括卷积神经网络和优化网络,该卷积神经网络包括依次连接的输入层、隐藏层和输出层,优化网络与输出层连接。输入层用于将待识别数据流的首个数据包发送至隐藏层;隐藏层用于对待识别数据流的首个数据包进行特征提取和特征组合,得到特征数据;输出层用于将特征数据发送至优化网络;优化网络用于对特征数据进行特征重组,得到目标特征数据。
其中,隐藏层通过多维卷积滤波和非线性映射处,对输入层输入的数据进行特征提取和特征组合。采用优化网络对卷积神经网络输出的特征数据进行特征重组,可以得到低耦合度、强正交性的特征数据。
可选地,隐藏层包括9个依次连接的数据处理层,每个所述数据处理层包括依次连接的卷积层、残差层和池化层。该池化层可以是最大池化层,也可以是平均池化层。
在本申请中,基于目标特征数据,确定待识别数据流的类型的过程,包括:获取聚类样本集合,该聚类样本集合中包括多个样本特征数据,该多个样本特征数据中包括标注有已知应用标签的样本特征数据以及标注有未知应用标签的样本特征数据;对目标特征数据和多个样本特征数据进行聚类处理;根据目标特征数据所在的目标类簇中的样本特征数据,确定待识别数据流的类型。
可选地,根据目标特征数据所在的目标类簇中的样本特征数据,确定待识别数据流的类型的过程,包括:根据目标类簇中的样本特征数据,确定目标类簇的标签;基于目标类簇的标签,确定待识别数据流的类型。
在一种可实现方式中,根据目标类簇中的样本特征数据,确定目标类簇的标签,包括:计算目标类簇中每类样本特征数据的后验概率,同类样本特征数据的应用标签相同;将目标类簇中后验概率最大的一类样本特征数据的应用标签确定为目标类簇的标签。
在另一种可实现方式中,根据目标类簇中的样本特征数据,确定目标类簇的标签,包括:当目标类簇中不存在标注有已知应用标签的样本特征数据时,确定目标类簇的标签为未知应用。
可选地,上述两种可实现方式可以结合实现,在获取目标特征数据所在的目标类簇后,检测目标类簇中是否存在标注有已知应用标签的样本特征数据,当目标类簇中存在标注有已知应用标签的样本特征数据时,计算目标类簇中每类样本特征数据的后验概率;将目标类簇中后验概率最大的一类样本特征数据的应用标签确定为目标类簇的标签。
可选地,对目标特征数据和多个样本特征数据进行聚类处理,包括:采用n个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的n个目标类簇,n为大于1的整数,n个聚类器中不同聚类器的类簇个数和/或初始聚类中心不同。则基于目标类簇的标签,确定待识别数据流的类型,包括:基于n个目标类簇的标签,确定待识别数据流的类型。
可选地,基于n个目标类簇的标签,确定待识别数据流的类型的过程,包括:采用加权集成函数,确定待识别数据流的类型,该加权集成函数为:
其中,Lablex表示待识别数据流的类别,lable表示可选应用类别集合,可选应用类别集合包括已知应用和未知应用,ωi表示n个目标类簇中的第i个目标类簇对应的最大后验概率,Ji(x)表示第i个目标类簇的标签。
采用多个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的多个目标类簇,在确定该多个目标类簇的标签以及对应的后验概率后,对该多个目标类簇采用加权集成的方式确定目标特征数据所在的待识别数据流的类别,与采用单个聚类器相比,可以削弱噪声和独立点的影响,增强聚类结果的稳定性和鲁棒性。
可选地,在根据目标特征数据所在的目标类簇中的样本特征数据,确定待识别数据流的类型之后,所述方法还包括:
当待识别数据流属于未知应用时,采用未知应用标签对目标特征数据进行标注;将标注有未知应用标签的目标特征数据增加至聚类样本集合中,得到更新后的聚类样本集合。
可选地,多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流,则获取聚类样本集合的过程,包括:分别将多个样本数据流的首个数据包输入深度学习模型,并将深度学习模型输出的特征数据作为样本特征数据。
第二方面,提供了一种数据流识别装置,该装置包括用于实现上述第一方面的方法及其各实施方式的功能模块。该功能模块可以是硬件模块或软件模块,或者是硬件与软件相结合的模块。
第三方面,提供了一种数据流识别装置,该装置包括处理器和存储器。所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;所述处理器,用于调用所述计算机程序,实现如第一方面以及任一实现方式所述的数据流识别方法。
第四方面,提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如第一方面及其任一实现方式所述的数据流识别方法。
第五方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面及其任一实现方式所述的数据流识别方法。
本申请提供的技术方案带来的有益效果至少包括:
通过向深度学习模型输入待识别数据流的首个数据包,并基于深度学习模型根据该首个数据包输出的目标特征数据,确定待识别数据流的类型。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,与基于人工经验确定的特征数据相比,深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。另外,采用多个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的多个目标类簇,在确定该多个目标类簇的标签以及对应的后验概率后,对该多个目标类簇采用加权集成的方式确定目标特征数据所在的待识别数据流的类别,可以削弱噪声和独立点的影响,增强聚类结果的稳定性和鲁棒性,进一步提高数据流识别的准确性。
附图说明
图1是本申请实施例提供的一种数据流识别方法的流程示意图;
图2是本申请实施例提供的一种确定待识别数据流的类别的方法流程图;
图3是本申请实施例提供的一种深度学习模型的结构示意图;
图4是本申请实施例提供的一种卷积神经网络的结构示意图;
图5是本申请实施例提供的一种优化网络的结构示意图;
图6是本申请实施例提供的一种数据流识别装置的结构示意图;
图7是本申请实施例提供的一种确定模块的结构示意图;
图8是本申请实施例提供的另一种数据流识别装置的结构示意图;
图9是本申请实施例提供的一种数据流识别装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
目前在进行数据流识别时,通常基于人工经验确定所需提取的数据流特征,而基于人工经验确定的数据流特征的可靠性较低,导致数据流识别的准确性较低。本申请实施例提供了一种数据流识别方法,采用标注有应用标签的多个样本数据流训练得到深度学习模型,并基于深度学习模型输出的特征数据进行数据流识别。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,因此深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。
本申请实施例提供的数据流识别方法可以应用于通信网络中的网络设备或服务器。可选地,该通信网络可以是数据中心网络(data center network,DCN)、城域网络、广域网络或园区网络等,本申请实施例对该数据流识别方法的应用场景不做限定。其中,网络设备可以是路由器或交换机等网元。
图1是本申请实施例提供的一种数据流识别方法的流程示意图。如图1所示,该方法包括:
步骤101、向深度学习模型输入待识别数据流的首个数据包。
可选地,在采集到待识别数据流后,获取待识别数据流的首个数据包的前512字节,并将该首个数据包的前512字节作为一个512维的数据输入深度学习模型。数据流中首个数据包的前512字节包括该数据包的包头数据和负载数据,由于数据流中首个数据包的包头数据和负载数据中携带有该数据流所属应用的自然属性以及该应用与其他应用通信的关键信息,例如五元组信息等,因此基于数据流中首个数据包的前512字节提取的特征数据的可靠性较高。当采集到的待识别数据流中首个数据包的字节数不足512时,可以对其进行补0。
步骤102、接收深度学习模型根据该首个数据包输出的目标特征数据。
步骤103、基于目标特征数据,确定待识别数据流的类型。
其中,该类型包括已知应用和未知应用,确定待识别数据流的类型即确定该待识别数据流属于已知应用还是未知应用。
可选地,步骤103的实现过程可以如图2所示,包括:
步骤1031、获取聚类样本集合,该聚类样本集合中包括多个样本特征数据。
其中,多个样本特征数据中包括标注有已知应用标签的样本特征数据以及标注有未知应用标签的样本特征数据。示例地,假设聚类样本集合中包括样本特征数据1、样本特征数据2和样本特征数据3。样本特征数据1属于已知应用1,则样本特征数据1标注的应用标签为已知应用1;样本特征数据2属于已知应用2,则样本特征数据2标注的应用标签为已知应用2;样本特征数据3属于未知应用,则样本特征数据3标注的应用标签为未知应用。在本申请实施例中,所有属于未知应用的样本特征数据的应用标签均相同(应用标签均为未知应用)。
可选地,用于训练深度学习模型的多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流,则获取聚类样本集合的过程,包括:分别将多个样本数据流的首个数据包输入深度学习模型,并将深度学习模型输出的特征数据作为样本特征数据,以得到聚类样本集合。
步骤1032、对目标特征数据和多个样本特征数据进行聚类处理。
可选地,采用k均值(k-means)算法对目标特征数据和多个样本特征数据进行聚类处理。
在本申请实施例中,可以采用n个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的n个目标类簇,n为大于1的整数,该n个聚类器中不同聚类器的类簇个数和/或初始聚类中心不同。可选地,每个聚类器随机选取初始聚类中心。
示例地,采用5个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,该5个聚类器的类簇个数分别为5,6,7,8,9,也即是,该5个聚类器在对目标特征数据和多个样本特征数据进行聚类处理后,分别可以得到5个类簇、6个类簇、7个类簇、8个类簇和9个类簇。本申请实施例将目标特征数据所在的类簇称为目标类簇,每个聚类器对目标特征数据和多个样本特征数据进行聚类处理后,可以分别得到一个目标类簇。
步骤1033、根据目标特征数据所在的目标类簇中的样本特征数据,确定待识别数据流的类型。
可选地,步骤1033的实现过程包括:根据目标类簇中的样本特征数据,确定目标类簇的标签;基于目标类簇的标签,确定待识别数据流的类型。
在本申请的一个可选实施例中,计算目标类簇中每类样本特征数据的后验概率,同类样本特征数据的应用标签相同;将目标类簇中后验概率最大的一类样本特征数据的应用标签确定为目标类簇的标签。
可选地,目标类簇中包括q类样本特征数据,可以采用标签决定函数确定目标类簇的标签L,该标签决定函数为:
L=arg max P=(Y=yj),j=1,2,…,q,q为正整数。
其中,P=(Y=yj)表示目标类簇的标签为第j类样本特征数据标注的应用标签的概率,argmax是一种对函数求参数的函数,表示寻找具有最大评分的参量。
示例地,假设目标类簇中包括100个样本特征数据,该100个样本特征数据中包括10个应用标签为已知应用1的样本特征数据、7个应用标签为已知应用2的样本特征数据、8个应用标签为已知应用3的样本特征数据以及75个应用标签为未知应用的样本特征数据。则属于已知应用1的样本特征数据的后验概率为0.1,属于已知应用2的样本特征数据的后验概率为0.07,属于已知应用3的样本特征数据的后验概率为0.08,属于未知应用的样本特征数据的后验概率为0.75,由于属于未知应用的样本特征数据的后验概率最大,因此确定该目标类簇的应用标签为未知应用。同理,若目标类簇中属于已知应用2的样本特征数据的后验概率最大,则确定该目标类簇的应用标签为已知应用2。
在本申请的另一个可选实施例中,当目标类簇中不存在标注有已知应用标签的样本特征数据时,确定目标类簇的标签为未知应用。
可选地,在获取目标特征数据所在的目标类簇后,检测目标类簇中是否存在标注有已知应用标签的样本特征数据,当目标类簇中存在标注有已知应用标签的样本特征数据时,计算目标类簇中每类样本特征数据的后验概率;将目标类簇中后验概率最大的一类样本特征数据的应用标签确定为目标类簇的标签。
通过检测目标类簇中是否存在标注有已知应用标签的样本特征数据,当目标类簇中不存在标注有已知应用标签的样本特征数据时,可以直接确定目标类簇的标签为未知应用,而无需计算各类样本特征数据的后验概率,可以减小计算量。
可选地,当步骤1032中,采用n个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的n个目标类簇时,上述步骤1033的实现方式包括:基于n个目标类簇的标签,确定待识别数据流的类型。
可选地,可以采用加权集成函数,确定待识别数据流的类型。该加权集成函数为:
其中,Lablex表示待识别数据流的类别,lable表示可选应用类别集合,该可选应用类别集合包括已知应用和未知应用,ωi表示n个目标类簇中的第i个目标类簇对应的最大后验概率,Ji(x)表示第i个目标类簇的标签。
示例地,采用5个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到5个目标类簇。其中,聚类器1对应的目标类簇的标签为未知应用,其后验概率为100%;聚类器2对应的目标类簇的标签为已知应用1,其后验概率为60%;聚类器3对应的目标类簇的标签为未知应用,其后验概率为80%;聚类器4对应的目标类簇的标签为已知应用2,其后验概率为50%;聚类器5对应的目标类簇的标签为未知应用,其后验概率为75%。则基于上述加权集成函数可以计算得到,待识别数据流属于未知应用的概率为:1×100%+0+1×80%+0+1×75%=2.55,待识别数据流属于已知应用的概率为:0+1×60%+0+1×50%+0=1.1,因此该待识别数据流属于未知应用。
采用多个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的多个目标类簇,在确定该多个目标类簇的标签以及对应的后验概率后,对该多个目标类簇采用加权集成的方式确定目标特征数据所在的待识别数据流的类别,与采用单个聚类器相比,可以削弱噪声和独立点的影响,增强聚类结果的稳定性和鲁棒性。
可选地,在执行步骤1033之后,在确定待识别数据流属于未知应用后,采用未知应用标签对目标特征数据进行标注;并将标注有未知应用标签的目标特征数据增加至聚类样本集合中,得到更新后的聚类样本集合。
由于未知应用是一个相当大且混杂的集合,在确定待识别数据流属于未知应用后,将标注有未知应用标签的目标特征数据增加至聚类样本集合中,可以增加聚类样本集合的丰富性,提高后续分类的准确度。另外,在本申请实施例中,在获取属于未知应用的新的特征数据后,无需手动去标注新的未知样本实例,可以降低人力成本。
可选地,在本申请实施例中,步骤103的实现过程还可以包括:将目标特征数据输入预先训练好的分类器,根据分类器的输出结果确定待识别数据流的类型。
本申请实施例提供的深度学习模型由标注有应用标签的多个样本数据流训练得到。该多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流。可选地,网络设备或服务器在数据中心网络中采集多条数据流,采集到的数据流被标注应用标签后得到样本数据流。
可选地,图3是本申请实施例提供的一种深度学习模型的结构示意图。如图3所示,该深度学习模型包括卷积神经网络(convolutional neural networks,CNN)和优化网络,卷积神经网络包括依次连接的输入层、隐藏层和输出层,优化网络与卷积神经网络的输出层连接。可选地,该优化网络可以是多层感知机(multilayer perceptron,MLP)。
输入层用于将待识别数据流的首个数据包发送至隐藏层;隐藏层用于对待识别数据流的首个数据包进行特征提取和特征组合,得到特征数据;输出层用于将特征数据发送至优化网络;优化网络用于对特征数据进行特征重组,得到目标特征数据。
可选地,隐藏层包括9个依次连接的数据处理层,每个数据处理层包括依次连接的卷积层、残差层和池化层。可选地,池化层可以是最大池化层,也可以是平均池化层,本申请实施例对此不做限定。隐藏层中也可以包括8个、10个或其他数量的数据处理层,本申请实施例对隐藏层中包括的数据处理层的个数不做限定。隐藏层通过多维卷积滤波和非线性映射处,对输入层输入的数据进行特征提取和特征组合。
示例地,图4是本申请实施例提供的一种卷积神经网络的结构示意图。如图4所示,该卷积神经网络的输入为数据流首个数据包的前N个字节,输出为k维特征向量,N可以取512。其中,隐藏层包括9个依次连接的数据处理层,每个数据处理层包括依次连接的卷积层、残差层和池化层。请继续参见图4,隐藏层还包括依次连接的特征输出层和全连接层,特征输出层用于将数据处理层输出的数据转换为特征向量,全连接层用于整合卷积层、残差层和/或池化层中具有类别区分性的局部特征。
在卷积神经网络的训练过程中,该卷积神经网络的输出层还连接有监督模块,该监督模块可以是分类器。该监督模块用于接收输出层输出的样本特征数据,并基于样本特征数据对样本数据流进行识别,输出识别结果,再基于识别结果和样本数据流的应用标签,计算当前监督模块中损失函数的损失值,并向输入层反向传输损失函数的梯度信息。该梯度信息用于调整卷积神经网络中的网络参数,该样本特征数据是将样本数据流的首个数据包输入深度学习模型后,输出层输出的特征数据。
示例地,图5是本申请实施例提供的一种优化网络的结构示意图。如图5所示,该优化网络的输入为一个k维特征向量[C1,C2,…,Ck],输出为另一个k维特征向量[Z1,Z2,…,Zk],优化网络用于对输入的k维特征向量[C1,C2,…,Ck]进行特征重组。该优化网络可以采用输入的k维特征向量中除第i维特征以外的特征去预测第i维特征,将第i维特征的预测值作为输出的第i维特征。该优化网络的目标函数可以定义如下:
其中,L的值越小,表示优化网络输出的k维特征向量之间的耦合度越低,正交性越强。在训练优化网络的过程中,通过最小化L的值调整优化网络中的网络参数,使优化网络的性能达到最佳。因此,采用优化网络对卷积神经网络输出的特征数据进行特征重组,可以得到低耦合度、强正交性的特征数据。
可选地,本申请实施例提供的深度学习模型也可以仅包括如图4所示的卷积神经网络,则卷积神经网络输出的特征数据即为深度学习模型输出的特征数据。
本申请实施例提供的数据流识别方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请实施例提供的数据流识别方法中,通过向深度学习模型输入待识别数据流的首个数据包,并基于深度学习模型根据该首个数据包输出的目标特征数据,确定待识别数据流的类型。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,与基于人工经验确定的特征数据相比,深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。另外,采用多个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的多个目标类簇,在确定该多个目标类簇的标签以及对应的后验概率后,对该多个目标类簇采用加权集成的方式确定目标特征数据所在的待识别数据流的类别,可以削弱噪声和独立点的影响,增强聚类结果的稳定性和鲁棒性,进一步提高数据流识别的准确性。
图6是本申请实施例提供的一种数据流识别装置的结构示意图。如图6所示,装置60包括:
输入模块601,用于向深度学习模型输入待识别数据流的首个数据包。
接收模块602,用于接收深度学习模型根据该首个数据包输出的目标特征数据。
确定模块603,用于基于目标特征数据,确定待识别数据流的类型,该类型包括已知应用或未知应用。
其中,深度学习模型由标注有应用标签的多个样本数据流训练得到。
本申请实施例提供的数据流识别装置中,通过输入模块向深度学习模型输入待识别数据流的首个数据包,并通过确定模块基于深度学习模型根据该首个数据包输出的目标特征数据,确定待识别数据流的类型。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,与基于人工经验确定的特征数据相比,深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。
可选地,深度学习模型包括卷积神经网络和优化网络,卷积神经网络包括依次连接的输入层、隐藏层和输出层,优化网络与输出层连接;
输入层用于将待识别数据流的首个数据包发送至隐藏层;隐藏层用于对待识别数据流的首个数据包进行特征提取和特征组合,得到特征数据;输出层用于将特征数据发送至优化网络;优化网络用于对特征数据进行特征重组,得到目标特征数据。
可选地,隐藏层包括9个依次连接的数据处理层,每个数据处理层包括依次连接的卷积层、残差层和池化层。
可选地,如图7所示,确定模块603,包括:
获取子模块6031,用于获取聚类样本集合,聚类样本集合中包括多个样本特征数据,该多个样本特征数据中包括标注有已知应用标签的样本特征数据以及标注有未知应用标签的样本特征数据。
聚类子模块6032,用于对目标特征数据和多个样本特征数据进行聚类处理。
确定子模块6033,用于根据目标特征数据所在的目标类簇中的样本特征数据,确定待识别数据流的类型。
可选地,确定子模块,用于:
根据目标类簇中的样本特征数据,确定目标类簇的标签;基于目标类簇的标签,确定待识别数据流的类型。
在一种实现方式中,确定子模块,还用于:
计算目标类簇中每类样本特征数据的后验概率,同类样本特征数据的应用标签相同;将目标类簇中后验概率最大的一类样本特征数据的应用标签确定为目标类簇的标签。
在另一种实现方式,确定子模块,还用于:
当目标类簇中不存在标注有已知应用标签的样本特征数据时,确定目标类簇的标签为未知应用。
可选地,聚类子模块,用于:采用n个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的n个目标类簇,n为大于1的整数,n个聚类器中不同聚类器的类簇个数和/或初始聚类中心不同;相应地,确定子模块,用于:基于n个目标类簇的标签,确定待识别数据流的类型。
可选地,确定子模块,还用于:
采用加权集成函数,确定待识别数据流的类型,加权集成函数为:
其中,Lablex表示待识别数据流的类别,lable表示可选应用类别集合,可选应用类别集合包括已知应用和未知应用,ωi表示n个目标类簇中的第i个目标类簇对应的最大后验概率,Ji(x)表示第i个目标类簇的标签。
可选地,如图8所示,装置60还包括:
标注模块604,用于当待识别数据流属于未知应用时,采用未知应用标签对目标特征数据进行标注;
更新模块605,用于将标注有未知应用标签的目标特征数据增加至聚类样本集合中,得到更新后的聚类样本集合。
可选地,多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流,获取子模块,用于:分别将多个样本数据流的首个数据包输入深度学习模型,并将深度学习模型输出的特征数据作为样本特征数据。
本申请实施例提供的数据流识别装置中,通过输入模块向深度学习模型输入待识别数据流的首个数据包,并通过确定模块基于深度学习模型根据该首个数据包输出的目标特征数据,确定待识别数据流的类型。由于深度学习模型可以自动学习已知应用数据流和未知应用数据流的区别特征,与基于人工经验确定的特征数据相比,深度学习模型输出的特征数据的可靠性较高,进而可以提高数据流识别的准确性。另外,采用多个聚类器分别对目标特征数据和多个样本特征数据进行聚类处理,得到目标特征数据所在的多个目标类簇,在确定该多个目标类簇的标签以及对应的后验概率后,对该多个目标类簇采用加权集成的方式确定目标特征数据所在的待识别数据流的类别,可以削弱噪声和独立点的影响,增强聚类结果的稳定性和鲁棒性,进一步提高数据流识别的准确性。
图9是本申请实施例提供的一种数据流识别装置的框图,该数据流识别装置可以是服务器或网络设备。如图9所示,该数据流识别装置90包括:处理器901和存储器902;
所述存储器902,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器901,用于调用所述计算机程序,实现如图1所示的数据流识别方法。
可选地,该网络设备90还包括通信总线903和通信接口904。
其中,处理器901包括一个或者一个以上处理核心,处理器901通过运行计算机程序,执行各种功能应用以及数据处理。
存储器902可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
通信接口904可以为多个,通信接口904用于与其它存储设备或网络设备进行通信。例如在本申请实施例中,通信接口904可以用于接收通信网络中的网络设备发送的数据流。
存储器902与通信接口904分别通过通信总线903与处理器901连接。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如图1所示的数据流识别方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (24)
1.一种数据流识别方法,其特征在于,所述方法包括:
向深度学习模型输入待识别数据流的首个数据包;
接收所述深度学习模型根据所述首个数据包输出的目标特征数据;
基于所述目标特征数据,确定所述待识别数据流的类型,所述类型包括已知应用或未知应用;
其中,所述深度学习模型由标注有应用标签的多个样本数据流训练得到。
2.根据权利要求1所述的方法,其特征在于,所述深度学习模型包括卷积神经网络和优化网络,所述卷积神经网络包括依次连接的输入层、隐藏层和输出层,所述优化网络与所述输出层连接;
所述输入层用于将所述待识别数据流的首个数据包发送至所述隐藏层;
所述隐藏层用于对所述待识别数据流的首个数据包进行特征提取和特征组合,得到特征数据;
所述输出层用于将所述特征数据发送至所述优化网络;
所述优化网络用于对所述特征数据进行特征重组,得到所述目标特征数据。
3.根据权利要求2所述的方法,其特征在于,所述隐藏层包括9个依次连接的数据处理层,每个所述数据处理层包括依次连接的卷积层、残差层和池化层。
4.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述目标特征数据,确定所述待识别数据流的类型,包括:
获取聚类样本集合,所述聚类样本集合中包括多个样本特征数据,所述多个样本特征数据中包括标注有已知应用标签的样本特征数据以及标注有未知应用标签的样本特征数据;
对所述目标特征数据和所述多个样本特征数据进行聚类处理;
根据所述目标特征数据所在的目标类簇中的样本特征数据,确定所述待识别数据流的类型。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标特征数据所在的目标类簇中的样本特征数据,确定所述待识别数据流的类型,包括:
根据所述目标类簇中的样本特征数据,确定所述目标类簇的标签;
基于所述目标类簇的标签,确定所述待识别数据流的类型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标类簇中的样本特征数据,确定所述目标类簇的标签,包括:
计算所述目标类簇中每类样本特征数据的后验概率,同类样本特征数据的应用标签相同;
将所述目标类簇中后验概率最大的一类样本特征数据的应用标签确定为所述目标类簇的标签。
7.根据权利要求5所述的方法,其特征在于,所述根据所述目标类簇中的样本特征数据,确定所述目标类簇的标签,包括:
当所述目标类簇中不存在标注有已知应用标签的样本特征数据时,确定所述目标类簇的标签为未知应用。
8.根据权利要求5至7任一所述的方法,其特征在于,所述对所述目标特征数据和所述多个样本特征数据进行聚类处理,包括:
采用n个聚类器分别对所述目标特征数据和所述多个样本特征数据进行聚类处理,得到所述目标特征数据所在的n个目标类簇,n为大于1的整数,所述n个聚类器中不同聚类器的类簇个数和/或初始聚类中心不同;
所述基于所述目标类簇的标签,确定所述待识别数据流的类型,包括:
基于所述n个目标类簇的标签,确定所述待识别数据流的类型。
10.根据权利要求4至9任一所述的方法,其特征在于,在所述根据所述目标特征数据所在的目标类簇中的样本特征数据,确定所述待识别数据流的类型之后,所述方法还包括:
当所述待识别数据流属于未知应用时,采用未知应用标签对所述目标特征数据进行标注;
将标注有未知应用标签的所述目标特征数据增加至所述聚类样本集合中,得到更新后的聚类样本集合。
11.根据权利要求4所述的方法,其特征在于,所述多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流,所述获取聚类样本集合,包括:
分别将所述多个样本数据流的首个数据包输入所述深度学习模型,并将所述深度学习模型输出的特征数据作为所述样本特征数据。
12.一种数据流识别装置,其特征在于,所述装置包括:
输入模块,用于向深度学习模型输入待识别数据流的首个数据包;
接收模块,用于接收所述深度学习模型根据所述首个数据包输出的目标特征数据;
确定模块,用于基于所述目标特征数据,确定所述待识别数据流的类型,所述类型包括已知应用和未知应用;
其中,所述深度学习模型由标注有应用标签的多个样本数据流训练得到。
13.根据权利要求12所述的装置,其特征在于,所述深度学习模型包括卷积神经网络和优化网络,所述卷积神经网络包括依次连接的输入层、隐藏层和输出层,所述优化网络与所述输出层连接;
所述输入层用于将所述待识别数据流的首个数据包发送至所述隐藏层;
所述隐藏层用于对所述待识别数据流的首个数据包进行特征提取和特征组合,得到特征数据;
所述输出层用于将所述特征数据发送至所述优化网络;
所述优化网络用于对所述特征数据进行特征重组,得到所述目标特征数据。
14.根据权利要求13所述的装置,其特征在于,所述隐藏层包括9个依次连接的数据处理层,每个所述数据处理层包括依次连接的卷积层、残差层和池化层。
15.根据权利要求12至14任一所述的装置,其特征在于,所述确定模块,包括:
获取子模块,用于获取聚类样本集合,所述聚类样本集合中包括多个样本特征数据,所述多个样本特征数据中包括标注有已知应用标签的样本特征数据以及标注有未知应用标签的样本特征数据;
聚类子模块,用于对所述目标特征数据和所述多个样本特征数据进行聚类处理;
确定子模块,用于根据所述目标特征数据所在的目标类簇中的样本特征数据,确定所述待识别数据流的类型。
16.根据权利要求15所述的装置,其特征在于,所述确定子模块,用于:
根据所述目标类簇中的样本特征数据,确定所述目标类簇的标签;
基于所述目标类簇的标签,确定所述待识别数据流的类型。
17.根据权利要求16所述的装置,其特征在于,所述确定子模块,还用于:
计算所述目标类簇中每类样本特征数据的后验概率,同类样本特征数据的应用标签相同;
将所述目标类簇中后验概率最大的一类样本特征数据的应用标签确定为所述目标类簇的标签。
18.根据权利要求16所述的装置,其特征在于,所述确定子模块,还用于:
当所述目标类簇中不存在标注有已知应用标签的样本特征数据时,确定所述目标类簇的标签为未知应用。
19.根据权利要求16至18任一所述的装置,其特征在于,所述聚类子模块,用于:
采用n个聚类器分别对所述目标特征数据和所述多个样本特征数据进行聚类处理,得到所述目标特征数据所在的n个目标类簇,n为大于1的整数,所述n个聚类器中不同聚类器的类簇个数和/或初始聚类中心不同;
所述确定子模块,用于:
基于所述n个目标类簇的标签,确定所述待识别数据流的类型。
21.根据权利要求15至20任一所述的装置,其特征在于,所述装置还包括:
标注模块,用于当所述待识别数据流属于未知应用时,采用未知应用标签对所述目标特征数据进行标注;
更新模块,用于将标注有未知应用标签的所述目标特征数据增加至所述聚类样本集合中,得到更新后的聚类样本集合。
22.根据权利要求15所述的装置,其特征在于,所述多个样本数据流包括标注有已知应用标签的样本数据流以及标注有未知应用标签的样本数据流,所述获取子模块,用于:
分别将所述多个样本数据流的首个数据包输入所述深度学习模型,并将所述深度学习模型输出的特征数据作为所述样本特征数据。
23.一种数据流识别装置,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求1至11任一所述的数据流识别方法。
24.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有指令,当所述指令被处理器执行时,实现如权利要求1至11任一所述的数据流识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543836.9A CN112115957A (zh) | 2019-06-21 | 2019-06-21 | 数据流识别方法及装置、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910543836.9A CN112115957A (zh) | 2019-06-21 | 2019-06-21 | 数据流识别方法及装置、计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115957A true CN112115957A (zh) | 2020-12-22 |
Family
ID=73796506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910543836.9A Pending CN112115957A (zh) | 2019-06-21 | 2019-06-21 | 数据流识别方法及装置、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115957A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113077015A (zh) * | 2021-04-29 | 2021-07-06 | 平安科技(深圳)有限公司 | 样本选择方法、装置、计算机设备及存储介质 |
CN113177206A (zh) * | 2021-05-21 | 2021-07-27 | 滨州职业学院 | 一种计算机应用识别方法、装置及存储介质 |
CN113723507A (zh) * | 2021-08-30 | 2021-11-30 | 联仁健康医疗大数据科技股份有限公司 | 数据分类标识确定方法、装置、电子设备及存储介质 |
WO2023045691A1 (zh) * | 2021-09-22 | 2023-03-30 | 腾讯科技(深圳)有限公司 | 对象识别方法、装置、电子设备及存储介质 |
-
2019
- 2019-06-21 CN CN201910543836.9A patent/CN112115957A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113077015A (zh) * | 2021-04-29 | 2021-07-06 | 平安科技(深圳)有限公司 | 样本选择方法、装置、计算机设备及存储介质 |
CN113177206A (zh) * | 2021-05-21 | 2021-07-27 | 滨州职业学院 | 一种计算机应用识别方法、装置及存储介质 |
CN113723507A (zh) * | 2021-08-30 | 2021-11-30 | 联仁健康医疗大数据科技股份有限公司 | 数据分类标识确定方法、装置、电子设备及存储介质 |
WO2023045691A1 (zh) * | 2021-09-22 | 2023-03-30 | 腾讯科技(深圳)有限公司 | 对象识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768985B (zh) | 一种基于流量可视化与机器学习算法的入侵检测方法 | |
CN111181939B (zh) | 一种基于集成学习的网络入侵检测方法及装置 | |
CN110717554B (zh) | 图像识别方法、电子设备及存储介质 | |
CN112115957A (zh) | 数据流识别方法及装置、计算机存储介质 | |
EP3349152A1 (en) | Classifying data | |
CN111786951B (zh) | 流量数据特征提取方法、恶意流量识别方法及网络系统 | |
CN107169106A (zh) | 视频检索方法、装置、存储介质及处理器 | |
CN110225001A (zh) | 一种基于主题模型的动态自更新网络流量分类方法 | |
CN112183672A (zh) | 图像分类方法、特征提取网络的训练方法和装置 | |
CN110751191A (zh) | 一种图像的分类方法及系统 | |
CN112507778A (zh) | 一种基于线特征的改进词袋模型的回环检测方法 | |
CN113128526B (zh) | 图像识别方法、装置、电子设备和计算机可读存储介质 | |
CN112115996B (zh) | 图像数据的处理方法、装置、设备及存储介质 | |
CN113221721A (zh) | 图像识别方法、装置、设备及介质 | |
CN113569610A (zh) | 视频内容识别方法和装置、存储介质及电子设备 | |
CN113076963B (zh) | 一种图像识别方法、装置和计算机可读存储介质 | |
CN114443904B (zh) | 视频查询方法、装置、计算机设备及计算机可读存储介质 | |
CN114298819A (zh) | 一种企业信用风险预测方法 | |
CN114449342A (zh) | 视频推荐方法、装置、计算机可读存储介质和计算机设备 | |
CN112528893A (zh) | 异常状态的识别方法、装置及计算机可读存储介质 | |
CN114362982A (zh) | 流量细分识别方法、系统、电子设备和存储介质 | |
CN111666985A (zh) | 一种基于dropout的深度学习对抗样本图像分类防御方法 | |
CN117194698B (zh) | 一种基于oar语义知识库的任务处理系统和方法 | |
CN111625672B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN113705729B (zh) | 垃圾分类模型建模方法、垃圾分类方法、装置及介质 |
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 |