CN110784330A - 一种应用识别模型的生成方法及装置 - Google Patents

一种应用识别模型的生成方法及装置 Download PDF

Info

Publication number
CN110784330A
CN110784330A CN201810852134.4A CN201810852134A CN110784330A CN 110784330 A CN110784330 A CN 110784330A CN 201810852134 A CN201810852134 A CN 201810852134A CN 110784330 A CN110784330 A CN 110784330A
Authority
CN
China
Prior art keywords
application
samples
recognition model
ith
applications
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.)
Granted
Application number
CN201810852134.4A
Other languages
English (en)
Other versions
CN110784330B (zh
Inventor
洪汉舒
董峰
宋伟
杨庆平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810852134.4A priority Critical patent/CN110784330B/zh
Priority to PCT/CN2019/094641 priority patent/WO2020024761A1/zh
Priority to EP19845147.8A priority patent/EP3820084A4/en
Publication of CN110784330A publication Critical patent/CN110784330A/zh
Priority to US17/162,669 priority patent/US12039422B2/en
Application granted granted Critical
Publication of CN110784330B publication Critical patent/CN110784330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种应用识别模型的生成方法及装置,该方法包括:获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure DDA0001747731600000011
提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息;根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,第一应用识别模型用于根据一个数据包中的目标参数确定数据包对应的应用。本申请实施例可以利用生成的第一应用识别模型确定未知的数据包对应的应用,从而实现对数据流量的精准识别。

Description

一种应用识别模型的生成方法及装置
技术领域
本申请实施例涉及通信技术领域,更具体的说,涉及应用识别模型的生成方法及装置。
背景技术
目前,主要采用端口检测技术来检测数据流量。端口检测技术可以通过检测流量的数据包中的端口号来识别该数据包对应的协议类型。
为了实现端口检测技术,需要预先向互联网数字分配机构(internet assignednumbers authority,IANA)注册端口号与协议类型的映射关系。然后,便可根据该映射关系来确定数据包对应的协议类型。例如,假设预先向IANA注册了端口号,例如21,与协议类型,例如文件传输协议(file transfer protocol,FTP)的映射关系,网络设备便可确定含有端口号21的数据包对应的协议类型为FTP,即该数据包为FTP数据包。上述端口检测技术只能识别出数据包对应的协议类型,但是无法识别出数据包对应的应用软件,无法满足当今市场的需求。
发明内容
本申请提供一种应用识别模型的生成方法及装置,以确定数据包对应的应用。
第一方面,本申请提供了一种应用识别模型的生成方法,该方法包括:获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure BDA0001747731580000011
1≤i≤P;提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息;根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,第一应用识别模型用于根据一个数据包中的目标参数确定数据包对应的应用。
在第一方面中,本申请可以获取Y个数据包,并且根据Y个数据包与P个应用的映射关系,在Y个数据包中提取P个应用中每个应用的M(i)个样本,然后,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。因此,本申请可以利用生成的第一应用识别模型确定未知的数据包对应的应用,从而实现对数据流量的精准识别。
在第一方面的一种可能的实现方式中,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型后,方法还包括:采集第i个应用对应的N(i)个数据包;提取N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本;利用第一应用识别模型识别N(i)个样本以得到识别结果,识别结果指示I(i)个样本对应第i个应用,I(i)为正整数,I(i)小于或等于N;确定I(i)与N(i)的比值是否大于第一阈值;在I(i)与N(i)的比值大于第一阈值时,存储第一应用识别模型;在I(i)与N(i)的比值小于第一阈值时,调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,第二应用识别模型的识别准确率大于第一应用识别模型的识别准确率。
其中,本申请可以测试第一应用识别模型的识别准确率,如果第一应用识别模型的识别准确率符合标准,那么会存储第一应用识别模型;如果第一应用识别模型的识别准确率不符合标准,那么会调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,从而可以得到识别准确率更高的第二应用识别模型。因此,本申请可以根据实际需求来调整初始识别模型,进而生成识别准确率更高的第二应用识别模型。
在第一方面的一种可能的实现方式中,在提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本后,方法还包括:判断M(i)是否小于第二阈值;第二阈值用于确定是否需要为第i个应用添加新样本;根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型包括:在M(i)小于第二阈值时,获取第i个应用的待增加样本数X(i),X(i)为正整数;根据M(i)个样本生成第i个应用的X(i)个新增样本;根据P个应用中每个应用的M(i)个样本和X(i)个新增样本训练初始识别模型得到第一应用识别模型;或在M(i)大于第二阈值时,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
其中,本申请可以检测出P个应用中哪些应用的样本数量过少,并扩充这些应用的样本数量,可以保证训练初始识别模型的样本数量符合要求。
在第一方面的一种可能的实现方式中,根据M(i)个样本生成第i个应用的X(i)个新增样本包括:为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到X(i)个新增样本;其中,为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本包括:将M(i)个样本中的每个样本作为参考样本;在M(i)个样本中获取与参考样本的汉明距离最小的X(i)/M(i)个样本;根据参考样本与X(i)/M(i)个样本生成参考样本对应的X(i)/M(i)个新增样本。
在第一方面的一种可能的实现方式中,获取第i个应用的待增加样本数X(i)包括以下方式中的任意一种:(a)获取预设的待增加样本数X(i);(b)获取预设的第三阈值,计算第三阈值与M(i)的差值得到第i个应用的待增加样本数X(i),第三阈值指示生成应用识别模型的最小样本需求数;以及(c)确定P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i);期望比值R(i)用于指示第i个应用的期望样本数E(i)与每个应用的数据包的平均数量Y/P的比值;根据P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i)计算第i个应用的期望样本数E(i);计算E(i)与M(i)的差值得到第i个应用的待增加样本数X(i)。
在第一方面的一种可能的实现方式中,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型以后,方法还包括:获取目标数据包;提取目标数据包中的目标参数;利用第一应用识别模型识别目标数据包中的目标参数以得到目标识别结果,目标识别结果用于指示目标数据包对应的应用。
第二方面,本申请提供了一种应用识别模型的生成装置,该装置包括:第一获取模块,用于获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure BDA0001747731580000021
1≤i≤P;第一提取模块,用于提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息;第一训练模块,用于根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,第一应用识别模型用于根据一个数据包中的目标参数确定数据包对应的应用。
在第二方面的一种可能的实现方式中,该装置还包括:采集模块,用于采集第i个应用对应的N(i)个数据包;第二提取模块,用于提取N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本;第一识别模块,用于利用第一应用识别模型识别N(i)个样本以得到识别结果,识别结果指示I(i)个样本对应第i个应用,I(i)为正整数,I(i)小于或等于N;确定模块,用于确定I(i)与N(i)的比值是否大于第一阈值;存储模块,用于在I(i)与N(i)的比值大于第一阈值时,存储第一应用识别模型;第二训练模块,用于在I(i)与N(i)的比值小于第一阈值时,调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,第二应用识别模型的识别准确率大于第一应用识别模型的识别准确率。
在第二方面的一种可能的实现方式中,该装置还包括:判断模块,用于判断M(i)是否小于第二阈值;第二阈值用于确定是否需要为第i个应用添加新样本;第一训练模块,具体用于在M(i)小于第二阈值时,获取第i个应用的待增加样本数X(i),X(i)为正整数;根据M(i)个样本生成第i个应用的X(i)个新增样本;根据P个应用中每个应用的M(i)个样本和X(i)个新增样本训练初始识别模型得到第一应用识别模型;或在M(i)大于第二阈值时,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
在第二方面的一种可能的实现方式中,第一训练模块,具体用于为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到X(i)个新增样本;第一训练模块,具体用于将M(i)个样本中的每个样本作为参考样本;在M(i)个样本中获取与参考样本的汉明距离最小的X(i)/M(i)个样本;根据参考样本与X(i)/M(i)个样本生成参考样本对应的X(i)/M(i)个新增样本。
在第二方面的一种可能的实现方式中,第一训练模块,具体用于获取预设的待增加样本数X(i);或者,第一训练模块,具体用于获取预设的第三阈值,计算第三阈值与M(i)的差值得到第i个应用的待增加样本数X(i),第三阈值指示生成应用识别模型的最小样本需求数;或者,第一训练模块,具体用于确定P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i);期望比值R(i)用于指示第i个应用的期望样本数E(i)与每个应用的数据包的平均数量Y/P的比值;根据P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i)计算第i个应用的期望样本数E(i);计算E(i)与M(i)的差值得到第i个应用的待增加样本数X(i)。
在第二方面的一种可能的实现方式中,该装置还包括:第二获取模块,用于获取目标数据包;第三提取模块,用于提取目标数据包中的目标参数;第二识别模块,用于利用第一应用识别模型识别目标数据包中的目标参数以得到目标识别结果,目标识别结果用于指示目标数据包对应的应用。
附图说明
图1所示的为本申请实施例提供的应用识别模型的应用场景示意图;
图2所示的为本申请实施例提供的一种应用识别模型的生成方法的流程图;
图3所示的为本申请实施例提供的初始识别模型的示意图;
图4所示的为本申请实施例提供的第一应用识别模型的示意图;
图5所示的为本申请实施例提供的另一种应用识别模型的生成方法的流程图;
图6所示的为本申请实施例提供的又一种应用识别模型的生成方法的流程图;
图7所示的为本申请实施例提供的一种应用识别模型的生成装置的示意图;
图8所示的为本申请实施例提供的一种网络设备的示意图。
具体实施方式
请参见图1所示,图1所示的为本申请实施例提供的应用识别模型的应用场景示意图。在图1中,主要展示了三类设备,这三类设备分别为应用识别设备、终端和应用的服务器。
在图1所示的实施例中,应用识别设备1包括应用识别模型11,该应用识别模型11为利用本申请实施例提供的应用识别模型的生成方法生成的,该应用识别模型11用于识别流经应用识别设备1的数据包对应的应用。
应用识别模型11可以根据业务需要设置在不同类型的服务器中,例如,应用识别模型11可以设置在网络运营商的服务器、路由器、交换机或防火墙等各种网络设备,以便于网络运营商可以基于不同的应用单独收取流量的费用。
终端21中预先安装有应用A和应用B,终端22中预先安装有应用A和应用C,应用A、应用B和应用C可以为视频软件、音乐软件和即时通信软件等多种不同类型的应用软件。当然,终端21和终端22可以安装更多的应用。
应用A可以与应用A的服务器31建立会话连接,应用A可以利用该会话连接向应用A的服务器31发送上行数据包,应用A也可以利用该会话连接接收应用A的服务器31发送的下行数据包。基于该会话连接生成的上行数据包和下行数据包均会流经应用识别设备1,应用识别设备1中的应用识别模型11可以识别出基于该会话连接生成的上行数据包和下行数据包对应于应用A。
同理,应用B可以与应用B的服务器32建立会话连接,应用C也可以与应用C的服务器33建立会话连接。基于不同的会话连接生成的上行数据包和下行数据包均会流经应用识别设备1,应用识别设备1中的应用识别模型11可以识别出基于不同的会话连接生成的上行数据包和下行数据包对应于哪个应用。
图1介绍了应用识别模型的应用场景,下面开始介绍如何生成应用识别模型。
请参见图2,图2所示的为本申请实施例提供的一种应用识别模型的生成方法的流程图。利用图2所示的方法生成的应用识别模型可以确定数据包对应的应用,图2所示的方法可以应用于服务器、路由器、交换机或防火墙等各种网络设备。图2所示的方法包括以下步骤。
步骤S11、获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure BDA0001747731580000041
1≤i≤P。
其中,在图2所示的方法应用于某种网络设备的情况下,为了在该网络设备中生成应用识别模型,该网络设备中需要预先存储初始识别模型,初始识别模型可以为卷积神经网络(convolutional neural network,CNN)或其他类型的深度学习网络。然后,该网络设备中还需要采集一些样本,以便于根据这些样本训练初始识别模型以得到应用识别模型。
在步骤S11中,网络设备在一段时间内获取Y个数据包,Y个数据包会对应P个应用,其中,Y和P均为正整数。M(i)为P个应用中的第i个应用对应的数据包的数量。
请结合图1所示,例如,假设应用识别设备1中预先存储有初始识别模型。为了采集样本,应用识别设备1在一分钟以内共获取到2000个数据包,即Y为2000,这2000个数据包对应3个应用,即P为3。这3个应用中第一个应用为应用A,第二个应用为应用B,第三个应用为应用C,其中,应用A的数据包的数量为1000个,应用B的数据包的数量为800个,应用C的数据包的数量为200个,即M(1)为1000,M(2)为800,M(3)为200。
在步骤S11中,Y个数据包中的每个数据包均包含目标参数,其中,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息。
请结合图1所示,例如,在终端21的应用A与应用A的服务器31建立会话连接以后,应用识别设备1便会获取该会话连接中包含目标参数的数据包。如果该会话连接的上行数据流的首个数据包包含目标参数,那么应用识别设备1便会获取该会话连接的上行数据流的首个数据包;如果该会话连接的上行数据流的首个数据包和下行数据流的首个数据包均包含目标参数,那么应用识别设备1便会获取该会话连接的上行数据流的首个数据包和下行数据流的首个数据包。只要流经应用识别设备1的数据包中包含目标参数,应用识别设备1都需要获取,从而得到Y个数据包。
步骤S12、提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息。
其中,目标参数可以包括端口信息、网络地址信息、域名信息和应用层协议等。
通常情况下,每个数据包的一部分字节用于存放目标参数。例如,假设每个数据包的前128个字节用于存放目标参数,那么可提取P个应用中每个应用的M(i)个数据包中的每个数据包的前128个字节以得到M(i)个样本。当然,目标参数也有可能存放于每个数据包的其他位置。
在步骤S12中,1个样本可以是根据1个数据包的目标参数得到的,1个样本也可以是根据2个数据包的目标参数得到的。
例如,请参见图1、表1和表2所示,表1所示的为P个应用中每个应用的M(i)个数据包中的每个数据包的结构示意,表2所示的为从1个数据包中提取目标参数后得到样本的结构示意。表1和表2展示的是提取1个数据包的目标参数得到1个样本的情况,如果一个会话连接的上行数据流的首个数据包的前Z个字节包含目标参数,那么应用识别设备1便会获取该会话连接的上行数据流的首个数据包的前Z个字节,并将该Z个字节作为1个样本。
Figure BDA0001747731580000051
表1
表2
又如,请参见图1、表3和表4所示,表3所示的为P个应用中每个应用的M(i)个数据包中的每个数据包的结构示意,表4所示的为从2个数据包中提取目标参数后得到样本的结构示意。表3和表4展示的是提取2个数据包的目标参数得到1个样本的情况,如果一个会话连接的上行数据流的首个数据包的前Z/2个字节和下行数据流的首个数据包的前Z/2个字节均包含目标参数,那么应用识别设备1便会获取该会话连接的上行数据流的首个数据包的前Z/2个字节和下行数据流的首个数据包的前Z/2个字节,并将上行数据流的首个数据包的前Z/2个字节和下行数据流的首个数据包的前Z/2个字节拼接成Z个字节作为1个样本。
Figure BDA0001747731580000061
表3
Figure BDA0001747731580000062
表4
步骤S13、根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,第一应用识别模型用于根据一个数据包中的目标参数确定该数据包对应的应用。
请参见图3所示,图3所示的为本申请实施例提供的初始识别模型的示意图。在图3中,初始识别模型10包括输入层101、多个隐藏层102和输出层103。其中,初始识别模型10会将每个样本与每个应用的映射关系输入至隐藏层102中;输入层101的作用是将P个应用中每个应用的M(i)个样本导入隐藏层102中;输出层103的作用是将P个应用中每个应用的标签导入隐藏层102中;多个隐藏层102的作用是通过多个隐藏层102中的若干个神经元对P个应用中每个应用的M(i)个样本和P个应用中每个应用的标签进行计算,不断的调整初始识别模型10的参数,以建立样本与应用的标签之间的映射关系,从而将初始识别模型10转化为第一应用识别模型,该第一应用识别模型可以根据一个数据包中的目标参数确定该数据包对应的应用的标签。
在图3所示的实施例中,每个样本的Z个字节均需要通过初始识别模型10的输入层101导入至隐藏层102中,P个应用的标签也需要通过初始识别模型10的输出层103导入至隐藏层102中,每个样本与应用的映射关系也需要预先导入至隐藏层102中。
请参见图4所示,图4所示的为本申请实施例提供的第一应用识别模型的示意图。在图4中,第一应用识别模型20是根据图3的初始识别模型10生成的,第一应用识别模型20包括输入层201、多个隐藏层202和输出层203,其中,输出层203中存在P个应用中每个应用的标签。在将一个未知数据包的目标参数的Z个字节通过输入层201导入至隐藏层202时,隐藏层202可以基于预先建立好的样本与应用的标签之间的映射关系确定该目标参数对应的应用的标签,并通过输出层203输出该目标参数对应的应用的标签,此时,便可根据输出的应用的标签得知该未知的数据包对应哪个应用。
在步骤S13以后,图2所示的方法还可以包括以下步骤:获取目标数据包;提取目标数据包中的目标参数;利用第一应用识别模型识别目标数据包中的目标参数以得到目标识别结果,目标识别结果用于指示目标数据包对应的应用。
例如,请结合图4所示,首先,获取到未知数据包的目标参数的Z个字节,然后,将Z个字节通过第一应用识别模型20的输入层201导入至隐藏层202。隐藏层202可以基于预先建立好的样本与应用的标签之间的映射关系确定该目标参数对应的应用的标签,并通过输出层203输出该目标参数对应的应用的标签,此时,便可根据输出的应用的标签得知该未知的数据包对应哪个应用。
通过图2、图3和图4所示的实施例可知,本申请实施例可以获取Y个数据包,并且根据Y个数据包与P个应用的映射关系,在Y个数据包中提取P个应用中每个应用的M(i)个样本,然后,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。因此,本申请实施例可以利用生成的第一应用识别模型确定未知的数据包对应的应用,从而实现对数据流量的精准识别。
请参见图5所示,图5所示的为本申请实施例提供的另一种应用识别模型的生成方法的流程图。图5所示的实施例是在图2的步骤S13以后增加的技术方案,图5所示的方法包括以下步骤。
步骤S21、采集第i个应用对应的N(i)个数据包。
其中,在根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型以后,为了测试第一应用识别模型的识别准确率是否合格,需要为P个应用中的每个应用采集一些测试样本。对于P个应用中的第i个应用而言,可以采集N(i)个数据包。
请结合图1所示,例如,假设应用识别设备1中已经根据P个应用中每个应用的M(i)个样本训练初始识别模型得到应用识别模型11,为了测试应用识别模型11的识别准确率是否合格,需要为P个应用中的每个应用采集一些测试样本。假设P为3,即一共有3个应用,这3个应用中第一个应用为应用A,第二个应用为应用B,第三个应用为应用C,假设采集应用A对应的100个数据包、应用B对应的90个数据包和应用C对应的80个数据包,分别用于测试应用识别模型11,即N(1)为100,N(2)为90,N(3)为80。
步骤S22、提取N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本。
其中,由于步骤S22的执行过程与步骤S12的执行过程类似,所以关于步骤S22的执行过程可以参见关于步骤S12的详细介绍。
步骤S23、利用第一应用识别模型识别N(i)个样本以得到识别结果,识别结果指示I(i)个样本对应第i个应用,I(i)为正整数,I(i)小于或等于N。
步骤S24、确定I(i)与N(i)的比值是否大于第一阈值。在I(i)与N(i)的比值大于第一阈值时,执行步骤S25。在I(i)与N(i)的比值小于第一阈值时,执行步骤S26。
其中,第一阈值用于指示第一应用识别模型的识别准确率是否符合标准。
步骤S25、存储第一应用识别模型。
步骤S26、调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,第二应用识别模型的识别准确率大于第一应用识别模型的识别准确率。
下面通过一个实例来解释步骤S23至步骤S26。
例如,假设第i个应用的N(i)个样本为应用A的100个样本,I(i)个样本为90个样本,第一阈值为95%。在利用第一应用识别模型识别应用A的100个样本时,得到的识别结果为90个样本对应于应用A,经过比对可以确定I(i)与N(i)的比值90%小于第一阈值95%,说明第一应用识别模型的识别准确率并不符合标准,所以需要调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型。其中,调整初始识别模型的方式可以为增加初始识别模型的隐藏层,也可以为增加初始识别模型中每个隐藏层内的神经元的数量,这两种方式均可以增加第二应用识别模型的识别准确率,所以新生成的第二应用识别模型的识别准确率会大于第一应用识别模型的识别准确率。
又如,假设第i个应用的N(i)个样本为应用A的100个样本,I(i)个样本为98个样本,第一阈值为95%。在利用第一应用识别模型识别应用A的100个样本时,得到的识别结果为98个样本对应于应用A,经过比对可以确定I(i)与N(i)的比值98%大于第一阈值95%,说明第一应用识别模型的识别准确率符合标准,所以可以存储第一应用识别模型。
通过图5所示的实施例可知,本申请实施例可以测试第一应用识别模型的识别准确率,如果第一应用识别模型的识别准确率符合标准,那么会存储第一应用识别模型;如果第一应用识别模型的识别准确率不符合标准,那么会调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,从而可以得到识别准确率更高的第二应用识别模型。因此,本申请实施例可以根据实际需求来调整初始识别模型,进而生成识别准确率更高的第二应用识别模型。
在图5所示的实施例中,可以分别测试P个应用中每个应用在第一应用识别模型中的识别准确率,如果P个应用中存在F个应用在第一应用识别模型中的识别准确率过低,那么判断F与P的比值是否大于预设阈值,如果F与P的比值大于预设阈值,那么说明第一应用识别模型的识别准确率过低,便可生成识别准确率更高的第二应用识别模型;如果F与P的比值小于预设阈值,那么说明第一应用识别模型的识别准确率符合要求,那么便可存储第一应用识别模型。因此,本申请实施例可以通过调整初始识别模型来生成识别准确率更高的第二应用识别模型。
请参见图6所示,图6所示的为本申请实施例提供的又一种应用识别模型的生成方法的流程图。图6所示的方法包括以下步骤。
步骤S31、获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure BDA0001747731580000081
1≤i≤P。
其中,由于步骤S31的执行过程与步骤S11的执行过程相同,所以关于步骤S31的执行过程可以参见关于步骤S11的详细介绍。
步骤S32、提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息。
其中,由于步骤S32的执行过程与步骤S12的执行过程相同,所以关于步骤S32的执行过程可以参见关于步骤S12的详细介绍。
步骤S33、判断M(i)是否小于第二阈值;第二阈值用于确定是否需要为第i个应用添加新样本。在M(i)小于第二阈值时,执行步骤S34;在M(i)大于第二阈值时,执行步骤S35。
其中,在提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本以后,需要判断M(i)是否小于第二阈值,如果M(i)小于第二阈值,说明第i个应用的样本数量过少,所以需要执行步骤S34,以增加第i个应用的样本数量,然后再根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型;如果M(i)大于第二阈值,说明第i个应用的样本数量符合要求,所以需要执行步骤S35,以根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
步骤S34、获取第i个应用的待增加样本数X(i),X(i)为正整数;根据M(i)个样本生成第i个应用的X(i)个新增样本;根据P个应用中每个应用的M(i)个样本和X(i)个新增样本训练初始识别模型得到第一应用识别模型。
步骤S35、根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
下面通过一个实例来解释步骤S33至步骤S35。
例如,假设第i个应用的M(i)个样本为应用A的200个样本,第i个应用的X(i)个样本为400个样本,第二阈值为350。在应用A的样本数量为200个时,经过判断可以得知,应用A的200个样本小于第二阈值350,说明应用A的样本数量过少,需要增加应用A的样本数量。然后,获取应用A的待增加样本数400个,并根据应用A的200个样本生成400个新增样本,再根据P个应用中每个应用的M(i)个样本和X(i)个新增样本训练初始识别模型得到第一应用识别模型。
又如,假设第i个应用的M(i)个样本为应用A的800个样本,第i个应用的X(i)个样本为400个样本,第二阈值为350。在应用A的样本数量为800个时,经过判断可以得知,应用A的800个样本大于第二阈值350,说明应用A的样本数量符合要求,不需要增加应用A的样本数量,此时,便可根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
在图6所示的实施例中,可以检测出P个应用中哪些应用的样本数量过少,并扩充这些应用的样本数量,可以保证训练初始识别模型的样本数量符合要求。
在步骤S34中,根据M(i)个样本生成第i个应用的X(i)个新增样本具体可以为:为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到X(i)个新增样本。
例如,假设第i个应用的M(i)个样本为应用A的200个样本,X(i)个新增样本为400个新增样本,X(i)/M(i)为400/200,即X(i)/M(i)为2。为了利用应用A的200个样本生成400个新增样本,需要应用A的200个样本中的每个样本都生成2个新增样本,这样便可以生成400个新增样本。
上述步骤“为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本”还可以包括以下步骤:将M(i)个样本中的每个样本作为参考样本;在M(i)个样本中获取与参考样本的汉明距离最小的X(i)/M(i)个样本;根据参考样本与X(i)/M(i)个样本生成参考样本对应的X(i)/M(i)个新增样本。
例如,假设第i个应用的M(i)个样本为应用A的200个样本,X(i)个新增样本为400个新增样本,X(i)/M(i)为400/200,即X(i)/M(i)为2。为了保证应用A的200个样本中的每个样本都可以生成2个新增样本,首先,将200个样本中的每个样本均作为参考样本,以得到200个参考样本;然后,将200个参考样本分别执行以下2个步骤:在200个样本中获取与1个参考样本的汉明距离最小的2个样本,根据该参考样本与2个样本生成参考样本对应的2个新增样本。由于参考样本的数量为200个,所以执行完上述步骤以后便可得到400个新增样本。
在步骤S34中,获取第i个应用的待增加样本数X(i)包括以下三种方式:
第一种方式,获取预设的待增加样本数X(i)。
在第一种方式中,可以预先设定好待增加样本数X(i),在M(i)小于第二阈值时,便可以直接获取到待增加样本数X(i)。
例如,假设预先设定好待增加样本数X(i)为400个,在M(i)小于第二阈值时,便可以直接获取到待增加样本数400个。
第二种方式,获取预设的第三阈值,计算第三阈值与M(i)的差值得到第i个应用的待增加样本数X(i),第三阈值指示生成应用识别模型的最小样本需求数。
在第二种方式中,可以预先设定好一个应用的最小样本需求数,即可以预先设定好第三阈值,在M(i)小于第二阈值时,便可以获取到一个应用的最小样本需求数,即获取到第三阈值。由于第i个应用已经存在M(i)个样本,所以待增加样本数X(i)为第三阈值与M(i)的差值。
例如,假设预先设定好第三阈值为600,M(i)为200。在M(i)为200小于第二阈值时,便可以获取到第三阈值600,然后计算第三阈值600与M(i)200的差值便可以得到待增加样本数X(i)为400。
第三种方式,确定P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i);期望比值R(i)用于指示第i个应用的期望样本数E(i)与每个应用的数据包的平均数量Y/P的比值;根据P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i)计算第i个应用的期望样本数E(i);计算E(i)与M(i)的差值得到第i个应用的待增加样本数X(i)。
在第三种方式中,可以预先设定好第i个应用的期望比值R(i)。在M(i)小于第二阈值时,可以计算P个应用中每个应用的数据包的平均数量Y/P,并根据Y/P和R(i)可以计算出第i个应用的期望样本数E(i),再计算E(i)与M(i)的差值得到第i个应用的待增加样本数X(i)。
例如,假设预先设定好第i个应用的期望比值R(i)为0.90,M(i)为300,Y个数据包为2800个数据包,P个应用为4个应用,第二阈值为0.5×Y/P=350。在M(i)200小于第二阈值350时,可以计算4个应用中每个应用的数据包的平均数量Y/P为700,并根据700和0.9可以计算出第i个应用的期望样本数E(i)为630,再计算E(i)630与M(i)300的差值得到第i个应用的待增加样本数X(i)为330。
请参见图7所示,图7所示的为本申请实施例提供的一种应用识别模型的生成装置的示意图。该应用识别模型的生成装置包括以下模块:
第一获取模块71,用于获取Y个数据包,Y个数据包对应P个应用,P个应用中的第i个应用对应M(i)个数据包,
Figure BDA0001747731580000101
1≤i≤P。具体详细的实现方式,请参考上述图2所示的方法实施例中步骤S11对应的详细描述。
第一提取模块72,用于提取P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,目标参数用于指示第i个应用与提供第i个应用的服务器建立会话连接的信息。具体详细的实现方式,请参考上述图2所示的方法实施例中步骤S12对应的详细描述。
第一训练模块73,用于根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,第一应用识别模型用于根据一个数据包中的目标参数确定数据包对应的应用。具体详细的实现方式,请参考上述图2所示的方法实施例中步骤S13对应的详细描述。
在一种可实现的实施例中,应用识别模型的生成装置还可以包括采集模块74、第二提取模块75、第一识别模块76、确定模块77、存储模块78和第二训练模块79。
采集模块74,用于采集第i个应用对应的N(i)个数据包。
第二提取模块75,用于提取N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本。
第一识别模块76,用于利用第一应用识别模型识别N(i)个样本以得到识别结果,识别结果指示I(i)个样本对应第i个应用,I(i)为正整数,I(i)小于或等于N。
确定模块77,用于确定I(i)与N(i)的比值是否大于第一阈值。
存储模块78,用于在I(i)与N(i)的比值大于第一阈值时,存储第一应用识别模型。
第二训练模块79,用于在I(i)与N(i)的比值小于第一阈值时,调整初始识别模型,根据P个应用中每个应用的M(i)个样本训练调整后的初始识别模型以生成第二应用识别模型,第二应用识别模型的识别准确率大于第一应用识别模型的识别准确率。
关于采集模块74、第二提取模块75、第一识别模块76、确定模块77、存储模块78和第二训练模块79的实现方式,请参考上述图5所示的方法实施例中步骤S21至步骤S26对应的详细描述。
在一种可实现的实施例中,应用识别模型的生成装置还可以包括判断模块80。
判断模块80,用于判断M(i)是否小于第二阈值;第二阈值用于确定是否需要为第i个应用添加新样本。
而且,第一训练模块73,具体用于在M(i)小于第二阈值时,获取第i个应用的待增加样本数X(i),X(i)为正整数;根据M(i)个样本生成第i个应用的X(i)个新增样本;根据P个应用中每个应用的M(i)个样本和X(i)个新增样本训练初始识别模型得到第一应用识别模型;或在M(i)大于第二阈值时,根据P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型。
关于判断模块80和第一训练模块73的实现方式,请参考上述图6所示的方法实施例中步骤S33至步骤S35对应的详细描述。
在一种可实现的实施例中,第一训练模块73,具体用于为M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到X(i)个新增样本。
第一训练模块73,具体用于将M(i)个样本中的每个样本作为参考样本;在M(i)个样本中获取与参考样本的汉明距离最小的X(i)/M(i)个样本;根据参考样本与X(i)/M(i)个样本生成参考样本对应的X(i)/M(i)个新增样本。
关于第一训练模块73的实现方式,请参考上述图6所示的方法实施例中对应的详细描述。
在一种可实现的实施例中,第一训练模块73,具体用于获取预设的待增加样本数X(i);或者,第一训练模块73,具体用于获取预设的第三阈值,计算第三阈值与M(i)的差值得到第i个应用的待增加样本数X(i),第三阈值指示生成应用识别模型的最小样本需求数;或者,第一训练模块73,具体用于确定P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i);期望比值R(i)用于指示第i个应用的期望样本数E(i)与每个应用的数据包的平均数量Y/P的比值;根据P个应用中每个应用的数据包的平均数量Y/P以及第i个应用的期望比值R(i)计算第i个应用的期望样本数E(i);计算E(i)与M(i)的差值得到第i个应用的待增加样本数X(i)。
关于第一训练模块73的实现方式,请参考上述图6所示的方法实施例中对应的详细描述。
在一种可实现的实施例中,应用识别模型的生成装置还可以包括第二获取模块81、第三提取模块82和第二识别模块83。
第二获取模块81,用于获取目标数据包。
第三提取模块82,用于提取目标数据包中的目标参数。
第二识别模块83,用于利用第一应用识别模型识别目标数据包中的目标参数以得到目标识别结果,目标识别结果用于指示目标数据包对应的应用。
关于第二获取模块81、第三提取模块82和第二识别模块83的实现方式,请参考上述图2所示的方法实施例中对应的详细描述。
请参见图8所示,图8所示的为本申请实施例提供的一种网络设备的示意图。该网络设备8包括中央处理器801、图像处理器802、I/O设备803、内存804和存储器805,其中,内存804可以为易失性存储器(random access memory,RAM),存储器805可以为非易失性存储器(non-volatile memory,NVM)。图8中的网络设备8等同于图1中的应用识别设备1,关于图8中的网络设备8的详细介绍可以参见图1对应的实施例中对于应用识别设备1的详细说明。
图8所示的网络设备8可以运行图2对应的实施例中应用识别模型的生成方法。结合图2和图8所示,中央处理器801和图像处理器802可以对内存804中的P个应用中每个应用的M(i)个样本和初始识别模型进行训练得到第一应用识别模型,并将得到的第一应用识别模型通过I/O设备803传输至存储器805中。
存储器805中还可以存储程序指令,中央处理器801调用该程序指令,以实现本发明上述各方法实施例。图像处理器802用于对中央处理器801在训练该初始识别模型时执行的算法加速。
在图8所示的网络设备8中,中央处理器801和图像处理器802的性能越强,对P个应用中每个应用的M(i)个样本和初始识别模型进行训练得到第一应用识别模型的速度越快,而且,利用第一应用识别模型识别未知数据包的目标参数的速度也就越快。在另一个实现方式中,所述网络设备8还可以不包括图像处理器802。

Claims (12)

1.一种应用识别模型的生成方法,其特征在于,所述方法包括:
获取Y个数据包,所述Y个数据包对应P个应用,所述P个应用中的第i个应用对应M(i)个数据包,
Figure FDA0001747731570000011
提取所述P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,所述目标参数用于指示所述第i个应用与提供所述第i个应用的服务器建立会话连接的信息;
根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,所述第一应用识别模型用于根据一个数据包中的目标参数确定所述数据包对应的应用。
2.根据权利要求1所述的应用识别模型的生成方法,其特征在于,所述根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型后,所述方法还包括:
采集所述第i个应用对应的N(i)个数据包;
提取所述N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本;
利用所述第一应用识别模型识别所述N(i)个样本以得到识别结果,所述识别结果指示I(i)个样本对应所述第i个应用,I(i)为正整数,I(i)小于或等于N;
确定I(i)与N(i)的比值是否大于第一阈值;
在I(i)与N(i)的比值大于所述第一阈值时,存储所述第一应用识别模型;
在I(i)与N(i)的比值小于所述第一阈值时,调整所述初始识别模型,根据所述P个应用中每个应用的M(i)个样本训练所述调整后的初始识别模型以生成第二应用识别模型,所述第二应用识别模型的识别准确率大于所述第一应用识别模型的识别准确率。
3.根据权利要求1或2所述的应用识别模型的生成方法,其特征在于,在提取所述P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本后,所述方法还包括:
判断M(i)是否小于第二阈值;所述第二阈值用于确定是否需要为所述第i个应用添加新样本;
所述根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型包括:
在M(i)小于第二阈值时,获取第i个应用的待增加样本数X(i),X(i)为正整数;根据所述M(i)个样本生成所述第i个应用的X(i)个新增样本;根据所述P个应用中每个应用的M(i)个样本和X(i)个新增样本训练所述初始识别模型得到所述第一应用识别模型;或
在M(i)大于第二阈值时,根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到所述第一应用识别模型。
4.根据权利要求3所述的应用识别模型的生成方法,其特征在于,根据所述M(i)个样本生成所述第i个应用的X(i)个新增样本包括:
为所述M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到所述X(i)个新增样本;
其中,为所述M(i)个样本中的每个样本生成X(i)/M(i)个新增样本包括:
将所述M(i)个样本中的每个样本作为参考样本;
在所述M(i)个样本中获取与所述参考样本的汉明距离最小的X(i)/M(i)个样本;
根据所述参考样本与所述X(i)/M(i)个样本生成所述参考样本对应的X(i)/M(i)个新增样本。
5.根据权利要求3或4所述的应用识别模型的生成方法,其特征在于,所述获取第i个应用的待增加样本数X(i)包括以下方式中的任意一种:
(a)获取预设的待增加样本数X(i);
(b)获取预设的第三阈值,计算所述第三阈值与M(i)的差值得到所述第i个应用的待增加样本数X(i),所述第三阈值指示生成应用识别模型的最小样本需求数;以及
(c)确定所述P个应用中每个应用的数据包的平均数量Y/P以及所述第i个应用的期望比值R(i);所述期望比值R(i)用于指示所述第i个应用的期望样本数E(i)与所述每个应用的数据包的平均数量Y/P的比值;
根据所述P个应用中每个应用的数据包的平均数量Y/P以及所述第i个应用的期望比值R(i)计算所述第i个应用的期望样本数E(i);
计算所述E(i)与M(i)的差值得到所述第i个应用的待增加样本数X(i)。
6.根据权利要求1所述的应用识别模型的生成方法,其特征在于,根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型以后,所述方法还包括:
获取目标数据包;
提取所述目标数据包中的目标参数;
利用所述第一应用识别模型识别所述目标数据包中的目标参数以得到目标识别结果,所述目标识别结果用于指示所述目标数据包对应的应用。
7.一种应用识别模型的生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取Y个数据包,所述Y个数据包对应P个应用,所述P个应用中的第i个应用对应M(i)个数据包,
Figure FDA0001747731570000021
第一提取模块,用于提取所述P个应用中每个应用的M(i)个数据包中的每个数据包的目标参数以得到M(i)个样本,所述目标参数用于指示所述第i个应用与提供所述第i个应用的服务器建立会话连接的信息;
第一训练模块,用于根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到第一应用识别模型,所述第一应用识别模型用于根据一个数据包中的目标参数确定所述数据包对应的应用。
8.根据权利要求7所述的应用识别模型的生成装置,其特征在于,所述装置还包括:
采集模块,用于采集所述第i个应用对应的N(i)个数据包;
第二提取模块,用于提取所述N(i)个数据包中的每个数据包的目标参数以得到N(i)个样本;
第一识别模块,用于利用所述第一应用识别模型识别所述N(i)个样本以得到识别结果,所述识别结果指示I(i)个样本对应所述第i个应用,I(i)为正整数,I(i)小于或等于N;
确定模块,用于确定I(i)与N(i)的比值是否大于第一阈值;
存储模块,用于在I(i)与N(i)的比值大于所述第一阈值时,存储所述第一应用识别模型;
第二训练模块,用于在I(i)与N(i)的比值小于所述第一阈值时,调整所述初始识别模型,根据所述P个应用中每个应用的M(i)个样本训练所述调整后的初始识别模型以生成第二应用识别模型,所述第二应用识别模型的识别准确率大于所述第一应用识别模型的识别准确率。
9.根据权利要求7或8所述的应用识别模型的生成装置,其特征在于,所述装置还包括:
判断模块,用于判断M(i)是否小于第二阈值;所述第二阈值用于确定是否需要为所述第i个应用添加新样本;
所述第一训练模块,具体用于在M(i)小于第二阈值时,获取第i个应用的待增加样本数X(i),X(i)为正整数;根据所述M(i)个样本生成所述第i个应用的X(i)个新增样本;根据所述P个应用中每个应用的M(i)个样本和X(i)个新增样本训练所述初始识别模型得到所述第一应用识别模型;或在M(i)大于第二阈值时,根据所述P个应用中每个应用的M(i)个样本训练初始识别模型得到所述第一应用识别模型。
10.根据权利要求9所述的应用识别模型的生成装置,其特征在于:
所述第一训练模块,具体用于为所述M(i)个样本中的每个样本生成X(i)/M(i)个新增样本以得到所述X(i)个新增样本;
所述第一训练模块,具体用于将所述M(i)个样本中的每个样本作为参考样本;在所述M(i)个样本中获取与所述参考样本的汉明距离最小的X(i)/M(i)个样本;根据所述参考样本与所述X(i)/M(i)个样本生成所述参考样本对应的X(i)/M(i)个新增样本。
11.根据权利要求9或10所述的应用识别模型的生成装置,其特征在于:
所述第一训练模块,具体用于获取预设的待增加样本数X(i);或者,
所述第一训练模块,具体用于获取预设的第三阈值,计算所述第三阈值与M(i)的差值得到所述第i个应用的待增加样本数X(i),所述第三阈值指示生成应用识别模型的最小样本需求数;或者,
所述第一训练模块,具体用于确定所述P个应用中每个应用的数据包的平均数量Y/P以及所述第i个应用的期望比值R(i);所述期望比值R(i)用于指示所述第i个应用的期望样本数E(i)与所述每个应用的数据包的平均数量Y/P的比值;根据所述P个应用中每个应用的数据包的平均数量Y/P以及所述第i个应用的期望比值R(i)计算所述第i个应用的期望样本数E(i);计算所述E(i)与M(i)的差值得到所述第i个应用的待增加样本数X(i)。
12.根据权利要求7所述的应用识别模型的生成装置,其特征在于,所述装置还包括:
第二获取模块,用于获取目标数据包;
第三提取模块,用于提取所述目标数据包中的目标参数;
第二识别模块,用于利用所述第一应用识别模型识别所述目标数据包中的目标参数以得到目标识别结果,所述目标识别结果用于指示所述目标数据包对应的应用。
CN201810852134.4A 2018-07-30 2018-07-30 一种应用识别模型的生成方法及装置 Active CN110784330B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810852134.4A CN110784330B (zh) 2018-07-30 2018-07-30 一种应用识别模型的生成方法及装置
PCT/CN2019/094641 WO2020024761A1 (zh) 2018-07-30 2019-07-04 一种应用识别模型的生成方法及装置
EP19845147.8A EP3820084A4 (en) 2018-07-30 2019-07-04 APPLICATION IDENTIFICATION MODEL GENERATION PROCESS AND APPARATUS
US17/162,669 US12039422B2 (en) 2018-07-30 2021-01-29 Method and apparatus for generating application identification model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810852134.4A CN110784330B (zh) 2018-07-30 2018-07-30 一种应用识别模型的生成方法及装置

Publications (2)

Publication Number Publication Date
CN110784330A true CN110784330A (zh) 2020-02-11
CN110784330B CN110784330B (zh) 2022-04-05

Family

ID=69231395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810852134.4A Active CN110784330B (zh) 2018-07-30 2018-07-30 一种应用识别模型的生成方法及装置

Country Status (4)

Country Link
US (1) US12039422B2 (zh)
EP (1) EP3820084A4 (zh)
CN (1) CN110784330B (zh)
WO (1) WO2020024761A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11201949B2 (en) * 2019-01-28 2021-12-14 King.Com Ltd. Computer implemented method and computer device
CN114298116A (zh) * 2020-09-21 2022-04-08 华为技术有限公司 数据包的识别方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置
CN105046270A (zh) * 2015-06-19 2015-11-11 上海卓悠网络科技有限公司 应用分类模型构建方法、应用分类方法及系统
CN105516027A (zh) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 应用识别模型建立方法、流量数据的识别方法及装置
CN105550295A (zh) * 2015-12-10 2016-05-04 小米科技有限责任公司 分类模型优化方法及装置
US20170124763A1 (en) * 2015-10-29 2017-05-04 Arm23, Llc Museum augmented reality platform
US20170289106A1 (en) * 2006-10-17 2017-10-05 A10 Networks, Inc. Applying security policy to an application session
CN107809343A (zh) * 2016-09-09 2018-03-16 中国人民解放军信息工程大学 一种网络协议识别方法及装置
CN107818077A (zh) * 2016-09-13 2018-03-20 北京金山云网络技术有限公司 一种敏感内容识别方法及装置
EP3331206A1 (en) * 2016-12-05 2018-06-06 Alcatel Lucent Classifying of data packets

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437088B (zh) * 2016-05-27 2020-12-08 百度在线网络技术(北京)有限公司 文件识别方法和装置
CN106778820B (zh) * 2016-11-25 2020-06-19 北京小米移动软件有限公司 识别模型确定方法及装置
US20180150635A1 (en) * 2016-11-28 2018-05-31 The United States Of America As Represented By The Secretary Of The Navy Apparatus and Method for Using a Support Vector Machine and Flow-Based Features to Detect Peer-to-Peer Botnet Traffic
KR102456579B1 (ko) * 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
CN110233769B (zh) * 2018-03-06 2021-09-14 华为技术有限公司 流量检测方法和设备、样本训练方法和设备、以及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289106A1 (en) * 2006-10-17 2017-10-05 A10 Networks, Inc. Applying security policy to an application session
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置
CN105046270A (zh) * 2015-06-19 2015-11-11 上海卓悠网络科技有限公司 应用分类模型构建方法、应用分类方法及系统
US20170124763A1 (en) * 2015-10-29 2017-05-04 Arm23, Llc Museum augmented reality platform
CN105550295A (zh) * 2015-12-10 2016-05-04 小米科技有限责任公司 分类模型优化方法及装置
CN105516027A (zh) * 2016-01-12 2016-04-20 北京奇虎科技有限公司 应用识别模型建立方法、流量数据的识别方法及装置
CN107809343A (zh) * 2016-09-09 2018-03-16 中国人民解放军信息工程大学 一种网络协议识别方法及装置
CN107818077A (zh) * 2016-09-13 2018-03-20 北京金山云网络技术有限公司 一种敏感内容识别方法及装置
EP3331206A1 (en) * 2016-12-05 2018-06-06 Alcatel Lucent Classifying of data packets

Also Published As

Publication number Publication date
WO2020024761A1 (zh) 2020-02-06
US12039422B2 (en) 2024-07-16
CN110784330B (zh) 2022-04-05
EP3820084A4 (en) 2021-06-02
US20210158217A1 (en) 2021-05-27
EP3820084A1 (en) 2021-05-12

Similar Documents

Publication Publication Date Title
JP4553315B2 (ja) パケット遅延から輻輳パスを分類する輻輳パス分類方法、管理装置及びプログラム
CN103326893A (zh) 一种极限测速的方法
CN113206860B (zh) 一种基于机器学习和特征选择的DRDoS攻击检测方法
CN106296344B (zh) 恶意地址识别方法及装置
US12039422B2 (en) Method and apparatus for generating application identification model
CN110648172B (zh) 一种融合多种移动设备的身份识别方法和系统
CN109698798B (zh) 一种应用的识别方法、装置、服务器和存储介质
CN104994016A (zh) 用于分组分类的方法和装置
CN102984269A (zh) 一种点对点流量识别方法和装置
EP3859558A1 (en) Answer marking method for mental calculation questions, device, electronic apparatus, and storage medium
CN111835763A (zh) 一种dns隧道流量检测方法、装置及电子设备
CN101447995B (zh) 一种识别p2p数据流的方法、装置和系统
CN112580730A (zh) 一种终端类型的识别方法及装置
CN109347785A (zh) 一种终端类型识别方法及装置
US11115282B2 (en) Apparatus and measurement method for identifying network devices
CN111209998B (zh) 基于数据类型的机器学习模型的训练方法及装置
CN107948022B (zh) 一种对等网络流量的识别方法及识别装置
CN102404174B (zh) 网络带宽检测的方法
CN108141377B (zh) 网络流早期分类
EP3790260A1 (en) Device and method for identifying network devices in a nat based communication network
CN109889616B (zh) 一种识别域名的方法及装置
CN116112209A (zh) 漏洞攻击流量检测方法及装置
CN113726809B (zh) 基于流量数据的物联网设备识别方法
JP6169954B2 (ja) サービス推定装置及び方法
CN111181797B (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
GR01 Patent grant
GR01 Patent grant