CN110460488B - 业务流识别方法和装置、模型生成方法和装置 - Google Patents

业务流识别方法和装置、模型生成方法和装置 Download PDF

Info

Publication number
CN110460488B
CN110460488B CN201910586336.3A CN201910586336A CN110460488B CN 110460488 B CN110460488 B CN 110460488B CN 201910586336 A CN201910586336 A CN 201910586336A CN 110460488 B CN110460488 B CN 110460488B
Authority
CN
China
Prior art keywords
service flow
information
type
model
side information
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
Application number
CN201910586336.3A
Other languages
English (en)
Other versions
CN110460488A (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 CN201910586336.3A priority Critical patent/CN110460488B/zh
Publication of CN110460488A publication Critical patent/CN110460488A/zh
Priority to EP20834838.3A priority patent/EP3972200A4/en
Priority to PCT/CN2020/099614 priority patent/WO2021000874A1/zh
Priority to US17/624,190 priority patent/US20220368604A1/en
Application granted granted Critical
Publication of CN110460488B publication Critical patent/CN110460488B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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/147Network analysis or design for predicting network behaviour
    • 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/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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

Abstract

本申请提供一种业务流识别方法和装置、模型生成方法和装置。该业务流识别方法包括:第一设备获取待识别的业务流,在预设时间窗内对待识别的业务流中的包头信息进行统计,得到待识别的包头统计信息,并根据待识别的业务流,得到待识别的端侧信息。进而,第一设备根据待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,确定待识别的业务流的类型。从而第一设备通过应用业务流识别模型,可以充分考虑到与业务流相关联设备的属性信息,提高了业务流的类型的识别率,保证了业务流的类型的识别效果。

Description

业务流识别方法和装置、模型生成方法和装置
技术领域
本申请涉及计算机通信技术领域,尤其涉及一种业务流识别方法和装置、模型生成方法和装置。
背景技术
通常,应用与服务器之间的交互数据称为业务流。随着智能终端的不断发展,带来了应用的爆发性增长,使得业务流纷繁复杂。因此有需求将业务流的类型识别出来,以便进一步地处理和加工。例如,由于不同应用对服务质量(quality of service,QoS)的要求各有不同。例如,相比视频类应用而言,游戏类应用对时延的要求要高,如游戏类应用要求时延小于100ms,而时延为1s不会对视频类应用产生明显影响。又如,在识别出业务流的类型之后,可以进行流量控制以避免受到攻击,保证设备安全。又如,在识别出业务流的类型之后,可以进行内容控制以避免儿童沉迷游戏,协助家长管理。
目前,传统业务流识别方法包括两种,一种是利用深度包检测(deep packetinspection,DPI)技术,通过分析应用层协议载荷内容,生成业务流识别模型并应用业务流识别模型识别业务流的类型,但DPI技术易受到加密影响。另一种是利用深度/动态流检测(deep/dynamic flow inspection,DFI)技术,基于数据链路层/网络层/传输层协议的包头信息(如,端口、IP地址、包产生时间、包字节长度等),生成业务流识别模型并应用业务流识别模型识别业务流的类型,但识别精度较低,识别效果不够理想。
发明内容
本申请提供一种业务流识别方法和装置、模型生成方法和装置,以提高了业务流的类型的识别率,保证了业务流的类型的识别效果。
第一方面,本申请提供一种业务流识别方法,包括:第一设备获取待识别的业务流。第一设备根据业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,端侧信息用于表示与业务流相关联设备的属性信息,包头统计信息为预设时间窗内对业务流中的包头信息进行统计后的信息。第一设备根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型。
通过第一方面提供的业务流识别方法,通过第一设备获取待识别的业务流,在预设时间窗内对待识别的业务流中的包头信息进行统计,得到待识别的包头统计信息,并根据待识别的业务流,得到待识别的端侧信息。进而,第一设备根据待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,确定待识别的业务流的类型。本申请中,第一设备通过应用业务流识别模型,可以充分考虑到与业务流相关联设备的属性信息,提高了业务流的类型的识别率,保证了业务流的类型的识别效果。
在一种可能的设计中,在第一设备根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型之前,该方法还包括:第一设备向第二设备发送端侧信息。第一设备接收第二设备发送的与端侧信息对应的业务流识别模型。
通过实施例提供的业务流识别方法,第一设备在获取到待识别的业务流时,可以从第二设备中获取与待识别的端侧信息匹配的业务流识别模型,也可以根据端侧信息与频繁项集之间的相似度,获取最大相似度的业务识别模型,也可以同时执行上述两个过程,以便调用业务流识别模型或者更新存储在第一设备中的业务流识别模型,实现对业务流的类型的准确识别。
在一种可能的设计中,第一设备根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型,包括:第一设备根据端侧信息和包头统计信息,生成应用样本。第一设备基于应用样本,通过业务识别模型,确定业务流的类型。
在一种可能的设计中,业务流的类型为业务流中的应用类型,或者,业务流的类型为业务流中的应用类型和业务流中的应用操作类型。
在一种可能的设计中,该方法还包括:第一设备根据业务流的类型执行如区别化传输业务流、流量控制和内容控制等相应的操作。
可选地,第一设备可以优先发送QoS要求高的业务流到对应的业务服务器中。例如,当第一应用比第二应用对QoS的要求要高时,第一设备在确定待识别的业务流分别为第一应用对应的业务流和第二应用对应的业务流时,可以先将第一应用对应的业务流发送给对应的业务服务器,再将第二应用对应的业务流发送给对应的业务服务器。
可选地,第一设备可以优先发送时延要求高的业务流到对应的业务服务器中。例如,由于游戏类应用比视频类应用对时延的要求要高,因此,第一设备在确定待识别的业务流分别为游戏类应用对应的业务流和视频类应用对应的业务流时,可以先将游戏类应用对应的业务流发送给对应的业务服务器,再将视频流应用对应的业务流发送给对应的业务服务器。
可选地,第一设备可以延迟发送预设类型的业务流到对应的业务服务器中。例如,当第一服务器获知预设类型业务流对应的业务服务器处理速率较慢时,第一设备在确定待识别的业务流的类型为预设类型时,可以延迟预设时长后将待识别的业务流发送给对应的业务服务器。其中,本申请对预设时长的具体时长不做限定。
可选地,第一设备可以不发送预设类型的业务流到对应的业务服务器中。例如,当A应用中的a操作不适合儿童观看时,第一设备在确定待识别的业务流的类型为A应用中a应用操作类型时,可以不将A应用中a应用操作类型对应的业务流发送给对应的业务服务器。
需要说明的是,第一设备包括但不限于根据业务流的类型执行上述相应的操作。
在一种可能的设计中,当第一设备为终端设备或者基站时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本以及业务流中的应用名称。或者,当第一设备为路由器时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一种可能的设计中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一种可能的设计中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
第二方面,本申请提供一种模型生成方法,包括:第二设备获取待训练的业务流中的包头信息、待训练的端侧信息以及待训练的业务流的类型,其中,端侧信息用于表示与业务流相关联设备的属性信息。第二设备在预设时间窗内,对业务流中的包头信息进行统计,得到待训练的包头统计信息。第二设备根据端侧信息、包头统计信息以及业务流的类型进行模型训练,生成业务流识别模型。
通过第二方面提供的模型生成方法,通过第二设备获取待训练的业务流中的包头信息、用于表示与业务流相关联设备的属性信息的待训练的端侧信息以及待训练的业务流的类型。第二设备在预设时间窗内,对业务流中的包头信息进行统计,得到待训练的包头统计信息。第二设备根据待训练的包头统计信息、待训练的端侧信息以及待训练的业务流的类型进行模型训练,生成业务流识别模型。本申请中,不仅考虑业务流自身的类型以及包头信息,还考虑与业务流相关联设备的属性信息,生成了识别精度和准确度较高的业务流识别模型,从而通过应用业务流识别模型,可以提高业务流的类型的识别率,保证业务流的类型的识别效果。
在一种可能的设计中,第二设备根据端侧信息、包头统计信息以及业务流的类型进行模型训练,生成业务流识别模型,包括:第二设备根据端侧信息和包头统计信息,生成训练样本。第二设备将业务流中的应用类型确定为业务流的类型。第二设备根据业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本。第二设备根据标注后的训练样本进行模型训练,生成适用于粗粒度场景的业务流识别模型,以便第二设备提供可识别业务流中的应用类型的模型。
在一种可能的设计中,第二设备将业务流中的应用类型确定为业务流的类型,包括:第二设备将业务流中的应用类型以及业务流中的应用操作类型确定为业务流的类型。从而,第二设备根据标注后的训练样本进行模型训练,生成适用于细粒度场景的业务流识别模型,以便第二设备提供可识别业务流中的应用操作类型的模型。
在一种可能的设计中,该方法还包括:第二设备根据端侧信息,生成N个频繁项集,N为正整数。第二设备根据标注后的训练样本进行模型训练,生成业务流识别模型,包括:第二设备根据N个频繁项集,分别对标注后的训练样本进行过滤,得到过滤后的训练样本。模型服务器根据过滤后的训练样本进行模型训练,生成业务流识别模型。
通过实施例提供的模型生成方法,第二设备可以通过引入与待训练的端侧信息关联的一个或者多个频繁项集,通过引入频繁项集过滤端侧信息,生成精简的业务流识别模型,不仅降低了业务流识别模型的规模,节省了第二设备的存储空间,还提高了业务流识别模型的识别速率,有效保证了业务流识别模型的识别效果。
在一种可能的设计中,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一种可能的设计中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一种可能的设计中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
第三方面,本申请提供一种业务流识别装置,包括:获取模块,用于获取待识别的业务流。获取模块,还用于根据业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,端侧信息用于表示与业务流相关联设备的属性信息,包头统计信息为预设时间窗内对业务流中的包头信息进行统计后的信息。确定模块,用于根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型。
在一种可能的设计中,业务流识别装置还包括:发送模块,用于在确定模块根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型之前,向第二设备发送端侧信息。接收模型,用于接收第二设备发送的与端侧信息对应的业务流识别模型。
在一种可能的设计中,确定模块,具体用于根据端侧信息和包头统计信息,生成应用样本。基于应用样本,通过业务识别模型,确定业务流的类型。
在一种可能的设计中,业务流的类型为业务流中的应用类型,或者,业务流的类型为业务流中的应用类型和业务流中的应用操作类型。
在一种可能的设计中,业务流识别装置还包括:执行模块,用于根据业务流的类型执行相应的操作。
在一种可能的设计中,当装置为终端设备或者基站时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本以及业务流中的应用名称。或者,当装置为路由器时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一种可能的设计中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一种可能的设计中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
上述第三方面以及上述第三方面的各可能的设计中所提供的业务流识别装置,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第四方面,本申请提供一种模型生成装置,包括:获取模块,用于获取待训练的业务流中的包头信息、待训练的端侧信息以及待训练的业务流的类型,其中,端侧信息用于表示与业务流相关联设备的属性信息。获取模块,还用于在预设时间窗内,对业务流中的包头信息进行统计,得到待训练的包头统计信息。生成模块,用于根据端侧信息、包头统计信息以及业务流的类型进行模型训练,生成业务流识别模型。
在一种可能的设计中,生成模块,具体用于根据端侧信息和包头统计信息,生成训练样本。将业务流中的应用类型确定为业务流的类型。根据业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本。根据标注后的训练样本进行模型训练,生成业务流识别模型。
在一种可能的设计中,生成模块,还具体用于将业务流中的应用类型以及业务流中的应用操作类型确定为业务流的类型。
在一种可能的设计中,生成模块,还用于根据端侧信息,生成N个频繁项集,N为正整数。生成模块,还具体用于根据N个频繁项集,分别对标注后的训练样本进行过滤,得到过滤后的训练样本。根据过滤后的训练样本进行模型训练,生成业务流识别模型。
在一种可能的设计中,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一种可能的设计中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一种可能的设计中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
上述第四方面以及上述第四方面的各可能的设计中所提供的模型生成装置,其有益效果可以参见上述第二方面和第二方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第五方面,本申请提供一种通信设备,包括:存储器和处理器;
存储器用于存储程序指令;
处理器用于调用存储器中的程序指令执行第一方面及第一方面任一种可能的设计中的业务流识别方法。
第六方面,本申请提供一种通信设备,包括:存储器和处理器;
存储器用于存储程序指令;
处理器用于调用存储器中的程序指令执行第二方面及第二方面任一种可能的设计中的模型生成方法。
第七方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当通信设备的至少一个处理器执行该执行指令时,通信设备执行第一方面及第一方面任一种可能的业务流识别方法。
第八方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当通信设备的至少一个处理器执行该执行指令时,通信设备执行第二方面及第二方面任一种可能的模型生成方法。
第九方面,本申请提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。通信设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得通信设备实施第一方面及第一方面任一种可能的设计中的业务流识别方法。
第十方面,本申请提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。通信设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得通信设备实施第二方面及第二方面任一种可能的设计中的模型生成方法。
第十一方面,本申请提供一种芯片,所述芯片与存储器相连,或者所述芯片上集成有存储器,当所述存储器中存储的软件程序被执行时,实现第一方面及第一方面任一种可能的设计中的业务流识别方法。
第十二方面,本申请提供一种芯片,所述芯片与存储器相连,或者所述芯片上集成有存储器,当所述存储器中存储的软件程序被执行时,实现第二方面及第二方面任一种可能的设计中的模型生成方法。
附图说明
图1为一种业务流处理系统的架构示意图;
图2为本申请提供的一种模型生成方法的流程示意图;
图3为本申请提供的一种模型生成方法中待训练的业务流的示意图;
图4为本申请提供的一种模型生成方法中待训练的业务流的示意图;
图5为本申请提供的一种模型生成方法的流程示意图;
图6为本申请提供的一种模型生成方法的流程示意图;
图7为本申请提供的一种模型生成方法中业务流识别模型的示意图;
图8为本申请提供的一种模型生成方法的流程示意图;
图9为本申请提供的一种业务流识别方法的流程示意图;
图10为本申请提供的一种业务流识别方法的信令流程图;
图11为本申请提供的一种模型生成装置的结构示意图;
图12为本申请提供的一种业务流识别装置的结构示意图;
图13为本申请提供的一种业务流识别装置的结构示意图;
图14为本申请提供的一种业务流识别装置的结构示意图;
图15为本申请提供的一种模型生成设备的硬件结构示意图;
图16为本申请提供的一种业务流识别设备的硬件结构示意图。
具体实施方式
图1为一种业务流处理系统的架构示意图,如图1所示,本申请的业务流处理系统可以包括第一设备和第二设备,第一设备和第二设备之间可以无线通信或者有线通信。
其中,第一设备可以从第二设备中获取业务流识别模型,并应用该业务流识别模型,以便识别业务流的类型。第二设备可以生成业务流识别模型,并作为第一设备的应用支撑,向第一设备提供业务流识别模型,以便第一设备可以识别业务流的类型。
另外,图1中的业务流处理系统还可以包括:第三设备,第三设备和第一设备之间可以无线通信或者有线通信。其中,第一设备可以向第三设备发送需要处理的业务流,以便第三设备对业务流进行业务处理。
本申请提及的第一设备可以包括但不限于为路由器、交换机或者基站等网络设备,也可以为终端设备。本申请提及的第二设备可以包括但不限于模型服务器等模型服务器用于生成业务流识别模型,方便第一设备在需要识别业务流的类型时从模型服务器中调用业务流识别模型。本申请提及的第三设备可以包括但不限于为与业务类型对应的业务流服务器,如视频业务流服务器、通话业务流服务器、游戏业务流服务器等。
其中,终端设备:可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经RAN与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless localloop,WLL)站、个人数字助理(personal digital assistant,PDA)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobilesation)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。
为了使本领域技术人员更清楚地理解本发明的技术方案,下面先介绍业务流的基本概念。
业务流,是指完成某项特定功能的应用(如超文本传送协议(hypertext transferprotocol,HTTP)应用业务流或者文件传输协议(file transfer protocol,FTP)应用业务流等)与服务器之间的交互数据。业务流主要包含两部分内容,一是真正的业务数据信息,简称为报文。二是指明前述业务数据信息流向、协议类型等的控制信息,简称为包头信息。
开放式系统互联(open system interconnection reference model,OSI)模型把网络通信的工作分为了7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。业务流中的包头信息可以为各层的包头信息,这些包头信息中包括五元组信息、五元组信息对应的报文产生时间、五元组信息对应的报文字节长度、五元组信息和五元组信息对应的报文的字节长度之和等,这些包头信息通常不会被加密。
其中,五元组信息由源因特网互联协议(internet protocol,IP)地址、源端口、目标IP地址、目标端口和传输协议组成。在实际使用过程时,当源IP地址、源端口与目标IP地址、目标端口互换时,可以认为是同一个五元组信息。
其中,五元组信息和五元组信息对应的报文可以采用传输控制协议(transmission control protocol,TCP)或者用户数据报协议(user datagram protocol,UDP)等,五元组信息和五元组信息对应的报文的字节长度之和可以为IP包的报文字节长度,也可以为TCP包的字节长度,也可以为UDP包的字节长度。
示例性的,本申请提供的一种模型生成方法、装置、设备及存储介质,应用于如图1所示业务流处理系统中,适用于各种识别业务流的类型的场合中,可以在基于业务流自身的类型和包头信息的基础上,充分考虑与业务流相关联设备的属性信息,生成识别精度高的业务流识别模型,从而应用该业务流识别模型,不仅可以精准识别业务流的类型,还可以提升业务流的识别效果。
下面,以图1中的第二设备为执行主体,对本申请图2所示模型生成方法的技术方案进行详细说明。
图2为本申请提供的一种模型生成方法的流程示意图,如图2所示,本申请的模型生成方法可以包括:
S101、第二设备获取待训练的业务流中的包头信息、待训练的端侧信息以及待训练的业务流的类型,其中,待训练的端侧信息用于表示与待训练的业务流相关联设备的属性信息。
本申请提及的“待训练的XX”便于标识生成业务流识别模型时训练所需的数据“XX”,“XX”的实质内容未发生改变。例如,待训练的业务流为生成业务流识别模型时训练所需的业务流,业务流的实质内容未发生改变。下述提及的“待训练的包头统计信息”和“待训练的端侧信息”均为上述含义。
基于前述业务流的描述,终端设备通常作为第二设备的数据支撑,可以采用各种方式向第二设备提供用于生成业务流识别模型的数据,即待训练的业务流中的包头信息、待训练的端侧信息以及待训练的业务流的类型。
其中,终端设备可以采用各种方式采集生成业务流识别模型所需的数据。例如,终端设备中可以设置有抓包工具,并通过该抓包工具可以从待训练的业务流中获取包头信息。
为了便于存放,可选地,终端设备可以通过该抓包工具将包头信息保存到抓包文件中,并通过人工方式或者自动方式,将该抓包文件添加标注信息,该标注信息用于表示业务流的类型。
以游戏应用对应的业务流为例,标注信息可以为设备ID号、游戏名称、玩游戏开始和结束时间(如2019-06-20 09:00:00到2019-06-20 10:00:00)、对战开始和结束时间(如2019-06-20 09:30:00到2019-06-20 09:50:00)等。
此外,终端设备也可以采用其他方式对包头信息进行存放,本申请对此不做限定。
其中,本申请对包头信息的具体内容不做限定。可选地,包头信息可以包括:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度中的至少一个。另外,包头信息还可以包括:报文的传输协议等。
例如,表1示出了包头信息,该包头信息中包括:五元组信息、报文的传输协议、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。为了便于解释包头信息,表1中按照五元组信息对应的报文产生时间的先后顺序进行排序,生成报文字节时间序列,该报文字节时间序列中包括:五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度,在表1的“2018-11-30 6:00:00 123,60”中,“2018-11-30 6:00:00 123”表示五元组信息对应的报文产生时间,“60”表示五元组信息对应的报文字节长度,单位为字节。
表1
Figure GDA0002904702850000081
由于待训练的业务流可以为终端设备与路由器之间的业务流,也可以为终端设备与基站之间的业务流,且待训练的端侧信息用于表示与待训练的业务流相关联设备的属性信息。因此,终端设备不仅可以根据终端设备的属性信息得到待训练的端侧信息,还可以通过抓包工具获取的路由器的属性信息,并根据路由器的属性信息待训练的端侧信息。
其中,本申请对待训练的端侧信息的具体内容不做限定。可选地,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
本申请中,终端设备在获得待训练的业务流时,均容易获知待训练的业务流的类型,且终端设备可以根据实际情况,向第二设备发送待训练的业务流的类型。由于待训练的业务流为不同类型的应用产生的,因此,终端设备可以将待训练的业务流,按照待训练的业务流中的应用类型进行划分,以方便区分待训练的业务流,有利于后续细化标注待训练的包头统计信息和待训练的端侧信息以生成适用于细粒度场景的业务流识别模型。
其中,待训练的业务流中的应用类型可以包括但不限于为游戏、视频、通话、支付等类型。为了便于说明,图3示出了待训练的业务流,该待训练的业务流中包括:应用1对应的业务流1、应用1对应的业务流2等、应用2对应的业务流1以及应用2对应的业务流2等。
又由于每个应用中不同操作产生的业务流不同,因此,终端设备还可以将待训练的业务流,按照待训练的业务流中的应用类型和待训练的业务流中的应用操作类型进行划分,以进一步细化区分待训练的业务流,有利于后续标注待训练的包头统计信息和待训练的端侧信息以生成适用于粗粒度场景的业务流识别模型。
其中,待训练的业务流中的应用操作类型可以根据应用操作类型对应的应用进行划分,本申请对此不做限定。可选地,应用操作类型可以根据实际的业务需求进行划分,例如,游戏应用中的应用操作类型可以包括对战、选英雄、对话以及其他等类型。支付应用中的应用操作类型可以包括转账、抢红包以及其他。可选地,应用操作类型也可以根据实际的业务需求进行加速或者优先级设置进行划分,例如,游戏应用中包括各种加速等级类型,将对战业务流设置为加速等级1类型,将选英雄业务流设置为加速等级2类型,将其他业务流设置为加速等级3类型等。
为了便于说明,图4示出了待训练的业务流,该待训练的业务流中包括:应用1中操作1对应的业务流1和业务流2等、应用1中操作2对应的业务流1和业务流2等、应用2中操作1对应的业务流1和业务流2等、以及应用2中操作2对应的业务流1和业务流2等。
S102、第二设备在预设时间窗内,对待训练的业务流中的包头信息进行统计,得到待训练的包头统计信息。
基于前述描述,终端设备在相同时间段内接收到的报文可以包括多个,因此,为了合理切分报文,第二设备可以在预设时间窗内,对待训练的业务流中的包头信息进行统计,获得待训练的包头统计信息。
其中,本申请对待训练的包头统计信息的具体内容不做限定。可选地,待训练的包头统计信息可以包括:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值中的至少一个。
例如,表2示出了待训练的包头统计信息,该待训练的包头统计信息包括:业务流中报文字节长度的最大值、业务流中报文字节长度的平均值、业务流中报文字节长度的最小值以及业务流中相邻两个报文时间间隔的平均值。为了便于解释待训练的包头统计信息,表2中以预设时间窗为2秒为例,切分表1中的报文字节时间序列,即对预设时间窗(2秒)内的报文字节时间序列进行统计,生成待训练的包头统计信息。
表2
Figure GDA0002904702850000091
需要说明的是:由于终端设备可以向第二设备发送一个或者多个应用操作对应的业务流,且每个应用操作对应的业务流在预设时间窗内可以包括一个或者多个五元组信息,因此,第二设备可以对预设时间窗内的一个五元组信息对应的报文字节时间序列生成包头统计信息,也可以对预设时间窗内的多个五元组信息各自对应的报文字节时间序列生成包头统计信息,本申请对此不做限定。
需要说明的是:S101和S102中,终端设备中的抓包工具除了可以抓取待训练的业务流中包头信息,还可以在预设时间窗内根据该包头信息生成包头统计信息,并将包头统计信息和端侧信息保存为抓取文件,再对该抓取文件添加标注信息,以便将该抓取文件发送给第二设备。
S103、第二设备根据待训练的端侧信息、待训练的包头统计信息以及待训练的业务流的类型进行模型训练,生成业务流识别模型。
由于业务流相关联设备可能对业务流进行优化或者简化等不同处理,因此,第二设备可以将待训练的包头统计信息和待训练的端侧信息作为待训练的业务流的类型的建模特征,进行模型训练后生成业务流识别模型,避免了与业务流相关联设备进行处理时所造成的影响,从而提高了业务流识别模型的识别准确率,增强了业务流识别模型的识别效果。
需要说明的是:第二设备可以基于图2所示实施例,可以生成一个可识别全部业务流的类型的业务识别模型,也可以生成多个可识别某种业务流的类型的业务流识别模型,也可以生成多个可识别某些业务流的类型的业务流识别模型,本申请对此不做限定。
本申请提供的模型生成方法,通过第二设备获取待训练的业务流中的包头信息、用于表示与业务流相关联设备的属性信息的待训练的端侧信息以及待训练的业务流的类型。第二设备在预设时间窗内,对待训练的业务流中的包头信息进行统计,得到待训练的包头统计信息。第二设备根据待训练的包头统计信息、待训练的端侧信息以及待训练的业务流的类型进行模型训练,生成业务流识别模型。本申请中,不仅考虑业务流自身的类型以及包头信息,还考虑与业务流相关联设备的属性信息,生成了识别精度和准确度较高的业务流识别模型,从而通过应用业务流识别模型,可以提高业务流的类型的识别率,保证业务流的类型的识别效果。
在上述实施例的基础上,第二设备可以存储一个或者多个业务流识别模型。为了节省第二设备的存储空间,第二设备可以生成适用于不同识别场景的业务流识别模型,以便覆盖实际情况中的全部识别场景。
下面,结合图5和图6,对第二设备分别生成适用于粗粒度识别场景和细粒度识别场景的业务流识别模型的实现过程进行实例性说明。其中,粗粒度识别场景可以设置为业务流识别模型可以识别业务流中的应用类型所对应的场景,细粒度识别场景可以设置为业务流识别模型可以识别业务流中的应用操作类型所对应的场景。
需要说明的是,粗粒度识别场景和细粒度识别场景不限于上述设置方式。例如,粗粒度识别场景还可以设置为业务流识别模型可以识别业务流中的应用操作类型不满足预设次数所对应的场景,细粒度识别场景还可以设置为业务流识别模型可以识别业务流中的应用操作类型满足预设次数所对应的场景。其中,本申请可以根据实际经验对预设次数进行设置。
图5示出了第二设备生成适用于粗粒度场景的业务流识别模型的过程。如图5所示,本申请的模型生成方法可以包括:
S201、第二设备根据待训练的端侧信息和待训练的包头统计信息,生成训练样本。
本申请中,第二设备可以将待训练的端侧信息和待训练的包头统计信息作为训练样本,以便采用表格或者矩阵等形式进行存储以及更新等处理。
例如,表3示出了训练样本。表3中,以该训练样本中的端侧信息包括终端设备的品牌,该训练样本中的包头统计信息包括业务流中报文字节长度的平均值、业务流中报文字节长度的最小值以及业务流中相邻两个报文时间间隔的平均值等为例,对该训练样本进行实例性示意。
表3
Figure GDA0002904702850000111
S202、第二设备将待训练的业务流中的应用类型确定为待训练的业务流的类型。
由于应用类型的数量多种多样,且常常在实际情况下应用为固定类型,因此,第二设备可以直接将待训练的业务流中的应用类型确定为待训练的业务流的类型,以节省第二设备的存储空间,提高第二设备的模型生成速率。
其中,业务流中的应用类型可参见S101中的描述,此处不做赘述。
S203、第二设备根据待训练的业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本。
基于前述描述,待训练的端侧信息和待训练的包头统计信息是通过待训练的业务流获取到的,因此,训练样本的类型与待训练的业务流的类型可以保持一致。故第二设备可以将待训练的业务流的类型作为训练样本的类型进行标注,从而得到标注后的训练样本。
另外,为了更好的维护标注后的训练样本,第二设备可以通过映射表格或者映射矩阵等形式,存储该标注后的训练样本,以实现待训练的端侧信息和待训练的包头统计信息与待训练的业务流中的应用类型之间的对应关系。
例如,表4示出了标注后的训练样本,该标注后的训练样本中的端侧信息为终端设备的品牌,该标注后的训练样本中的包头统计类型包括:业务流中报文字节长度的平均值、业务流中报文字节长度的最小值以及业务流中相邻两个报文时间间隔的平均值等,该标注后的训练样本中还包括训练样本的类型。
表4
Figure GDA0002904702850000112
S204、第二设备根据标注后的训练样本进行模型训练,生成业务流识别模型。
由于标注后的训练样本中的待训练的包头统计信息和待训练的端侧信息,可以表征待训练的业务流,标注后的训练样本中的待训练的业务流中的应用类型,可以表征待训练的业务流的类型,因此,第二设备可以根据标注后的训练样本进行模型训练,可以生成识别业务流的类型的业务流识别模型,适用于识别应用类型的粗粒度场景。
其中,第二设备进行模型训练时可以采用各种算法,例如,C4.5算法、决策树(Classification And Regression Tree,CART)算法或者随机森林算法等。
本申请中,第二设备可基于图5所示实施例,生成适用于粗粒度场景的业务流识别模型,以便第二设备提供可识别业务流中的应用类型的模型。
图6示出了第二设备生成适用于细粒度场景的业务流识别模型的过程。如图6所示,本申请的模型生成方法可以包括:
S301、第二设备根据待训练的端侧信息和待训练的包头统计信息,生成训练样本。
其中,S301与图5实施例中的S201实现方式类似,此处不再赘述。
S302、第二设备将待训练的业务流中的应用类型以及待训练的业务流中的应用操作类型确定为待训练的业务流的类型。
由于每个应用中可以包括多种类型的应用操作,因此,第二设备可以将待训练的业务流中的应用类型以及待训练的业务流中的应用操作类型共同确定为待训练的业务流的类型,进一步细化待训练的业务流,以提高业务流识别模型的辨别能力。
其中,业务流中的应用类型以及业务流中的应用操作类型可参见S101中的描述,此处不做赘述。
S303、第二设备根据待训练的业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本。
基于前述描述,待训练的端侧信息和待训练的包头统计信息是通过待训练的业务流获取到的,因此,训练样本的类型与待训练的业务流的类型可以保持一致。故第二设备可以将待训练的业务流的类型作为训练样本的类型进行标注,从而得到标注后的训练样本。
另外,为了更好的维护标注后的训练样本,第二设备可以通过映射表格或者映射矩阵等形式,存储该标注后的训练样本,以实现端侧信息和包头统计信息同时与待训练的业务流中的应用类型和待训练的业务流中的应用操作类型之间的对应关系。
例如,表5示出了标注后的训练样本,该标注后的训练样本中的端侧信息为终端设备的品牌,该标注后的训练样本中的包头统计类型包括:业务流中报文字节长度的平均值、业务流中报文字节长度的最小值以及业务流中相邻两个报文时间间隔的平均值等,该标注后的训练样本中还包括训练样本的类型。与表4相比,表5中的训练样本的类型不仅包括业务流中的应用类型,还包括业务流中的应用操作类型。
表5
Figure GDA0002904702850000121
S304、第二设备根据标注后的训练样本进行模型训练,生成业务流识别模型。
由于标注后的训练样本中的待训练的包头统计信息和待训练的端侧信息,可以表征待训练的业务流,标注后的训练样本中的待训练的业务流中的应用类型和待训练的业务流中的应用操作类型,可以细化表征待训练的业务流的类型,因此,第二设备可以根据标注后的训练样本进行模型训练,可以生成识别业务流的类型的业务流识别模型,适用于识别应用类型的细粒度场景。
其中,第二设备可以包括但不限于采用S204中的算法进行模型训练,此处不做赘述。
本申请中,第二设备可基于图6所示实施例,生成适用于细粒度场景的业务流识别模型,以便第二设备提供可识别业务流中的应用操作类型的模型。
在上述图2-图6实施例的基础上,第二设备可以将端侧信息中的全部特征作为建模特征来构建业务流识别模型,也可以将端侧信息中一个特征的不同值作为建模特征来构建多个业务流识别模型,本申请对此不做限定。
其中,为了便于管理端侧信息,本申请可以将端侧信息分为两大类,一类为分组建模特征,可以包括终端设备的品牌、终端设备的型号、终端设备的应用ID、终端设备的应用版本、路由器的型号、路由器的固件版本、终端设备产生业务流的区域等特质。一类为普通建模特征,可以为终端设备的无线信道指标等特征。
在一个具体的实施例中,假设端侧信息为终端设备的品牌(如品牌1、品牌2、品牌3、品牌4、品牌5),包头统计信息为业务流中相邻两个报文时间间隔的平均值(如100字节、200字节、400字节),第二设备可以采用CART算法,对终端设备的品牌和业务流中相邻两个报文时间间隔的平均值进行模型训练,生成业务流识别模型。为了便于说明,该业务流识别模型可以采用图7的决策树模型进行实例性示意。
与传统业务流识别模型相比,第二设备在业务流的包头统计信息的基础上,加入终端设备的品牌这个建模特征后,导致业务流识别模型的规模增大,尤其在端侧信息中的特征数量过多时,业务流识别模型的规模会更大,不仅会占用第二设备过多的存储空间,还会造成业务流识别模型的应用效率低下且识别过程过长等问题。除此之外,第二设备中构建的业务流识别模型的数量过多,也会引起上述问题。
为了解决上述问题,第二设备可以通过引入与待训练的端侧信息关联的一个或者多个频繁项集,通过引入频繁项集过滤端侧信息,生成精简的业务流识别模型,不仅降低了业务流识别模型的规模,节省了第二设备的存储空间,还提高了业务流识别模型的识别速率,有效保证了业务流识别模型的识别效果。
下面,在上述图5-图6实施例的基础上,结合图8,对第二设备通过引入频繁项集过滤端侧信息,生成精简的业务流识别模型的具体实现过程进行描述。
图8为本申请提供的一种模型生成方法的流程示意图,如图8所示,本申请的模型生成方法可以包括:
S401、第二设备根据待训练的端侧信息和待训练的包头统计信息,生成训练样本。
其中,S401与图5实施例中的S201或者图6实施例中的S301实现方式类似,此处不再赘述。
S4021、第二设备将待训练的业务流中的应用类型确定为待训练的业务流的类型。
其中,S4021与图5实施例中的S202实现方式类似,本实施例此处不再赘述。
S4022、第二设备将待训练的业务流中的应用类型以及待训练的业务流中的应用操作类型确定为待训练的业务流的类型。
其中,S4022与图6实施例中的S302实现方式类似,此处不再赘述。
S403、第二设备根据待训练的业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本。
其中,S403与图5实施例中的S203或者图6实施例中的S303实现方式类似,此处不再赘述。
S404、第二设备根据待训练的端侧信息,生成N个频繁项集,N为正整数。
本申请中,第二设备可以根据待训练的端侧信息,采用关联规则相关算法(如Apriori算法或者FP-growth(frequent pattern growth)算法等),生成N个频繁项集,使得N个频繁项集与待训练的端侧信息相关联。
其中,第二设备可以基于端侧信息中一个特征的不同值构建任意一个频繁项集,例如,任意一个频繁项集为终端设备的不同品牌,也可以基于实际业务需求将端侧信息中的多个特征进行组合构建任意一个频繁项集,例如,任意一个频繁项集为终端设备的品牌和路由器的型号,本申请对此不做限定。
S405、第二设备根据N个频繁项集,分别对标注后的训练样本进行过滤,得到过滤后的训练样本。
由于频繁项集与端侧信息相关联,标注后的训练样本中包括待训练的端侧信息,因此,第二设备可以基于N个频繁项集,分别对标注后的训练样本进行过滤处理,以通过频繁项集保留必要的端侧信息来过滤标注后的训练样本,从而得到精简的过滤后的训练样本。
S406、第二设备根据过滤后的训练样本进行模型训练,生成业务流识别模型。
本申请中,第二设备在得到过滤后的训练样本后,可以根据该过滤后的训练样本进行模型训练生成业务流识别模型,不仅避免了由于端侧信息中的特征过多而导致业务流识别模型规模过大的问题,也无需针对端侧信息中的每个特征生成一个业务流识别模型,降低了维护和管理业务流识别模型的负担和成本。
其中,第二设备可以包括但不限于采用S204中的算法进行模型训练,此处不做赘述。
本申请中,第二设备可以根据待训练的端侧信息生成频繁项集,并通过频繁项集过滤训练样本,以减小生成业务流识别模型的训练样本,不仅保证了业务流识别模型的识别能力,还使得业务流识别模型的规模较小,节约了第二设备的存储空间,提高了模型的识别率。
在一个具体实施例中,第二设备采用图8所示实施例,具体实现过程包括如下步骤:
步骤1:第二设备根据待训练的端侧信息和待训练的包头统计信息,得到训练样本,再根据待训练的业务流的类型,对训练样本进行标注,生成标注后的训练样本。
假设第二设备收集到的待训练的端侧信息为终端设备的品牌和路由器的编号,其中,终端设备的品牌具体包括表6中的品牌1、品牌2、品牌3、品牌4和品牌5等。路由器的编号具体包括表6中的路由器100、路由器101、路由器102和路由器103等。另外,表6中的“1”代表编号为XXX的路由器存在品牌为X的终端设备中的业务流,“0”代表编号为XXX的路由器不存在品牌为X的终端设备中的业务流。
表6
路由器的编号 品牌1 品牌2 品牌3 品牌4 品牌5 品牌6 ……
100 1 1 0 0 0 0 ……
101 0 1 1 1 0 0 ……
102 1 0 1 0 1 0 ……
103 1 0 0 0 0 1 ……
…… …… …… …… …… …… ……
步骤2:假设支持度为100,第二设备采用Apriori算法,基于终端设备的不同品牌,生成不同级别的频繁项集,具体为如下频繁项集:
三级频繁项集包括:{品牌1,品牌2,品牌3}
二级频繁项集包括:{品牌1,品牌2},{品牌1,品牌3},{品牌2,品牌3},{品牌5,品牌6},{品牌1,品牌6}
一级频繁项集包括:{品牌1},{品牌2},{品牌3},{品牌6},{品牌5},{品牌7}
步骤3:第二设备根据上述不同级别的频繁项集,分别对标注后的训练样本进行过滤,得到过滤后的训练样本。
在二级频繁项集中,第二设备去除三级频繁项集覆盖的品牌组合,即将属于包含于三级频繁项集的二级频繁项集过滤掉,从而得到剩余的二级频繁项集有{品牌5,品牌6},{品牌1,品牌6}。接着,在一级频繁项集中,第二设备去除二级频繁项集以及三级频繁项集覆盖的品牌组合,即将属于包含于三级频繁项集或者二级频繁项集的一级频繁项集过滤掉,从而得到剩余的一级频繁项集包括:{品牌7}。
其中,第二设备从标注后的训练样本中,得到{品牌1,品牌2,品牌3},{品牌5,品牌6},{品牌1,品牌6},{品牌7}这四种组合构成的过滤后的训练样本。
步骤4:第二设备基于{品牌1,品牌2,品牌3},{品牌5,品牌6},{品牌1,品牌6},{品牌7}这四种组合构成的过滤后的训练样本进行模型训练,可以生成业务流识别模型。
需要说明的是,第二设备可以基于图8所示实施例,结合实际的业务需求,更新频繁项集,使得第二设备可以不同类型的业务流识别模型。
示例性的,本申请提供的一种业务流识别方法、装置、设备及存储介质,应用于如图1所示业务流处理系统中,适用于各种识别业务流的类型的场合中,可以应用图2-图8实施例生成的业务流识别模型,在充分考虑与业务流相关联设备的属性信息的基础上,不仅可以精准识别业务流的类型,还可以提升业务流的识别效果。
下面,以图1中的第一设备为执行主体,对本申请图9所示业务流识别方法的技术方案进行详细说明。
图9为本申请提供的一种业务流识别方法的流程示意图,如图9所示,本申请的业务流识别方法可以包括:
S501、第一设备获取待识别的业务流。
本申请提及的“待识别的XX”便于标识应用业务流识别模型进行识别的数据“XX”,“XX”的实质内容未发生改变。例如,待识别的业务流为应用业务流识别模型进行识别的业务流,业务流的实质内容未发生改变。下述提及的“待识别的包头统计信息”和“待识别的端侧信息”均为上述含义。
其中,待识别的业务流可以由第一设备产生,例如,在第一设备为终端设备时,第一设备可以结合实际情况从各个应用中获取需要待识别的业务流,也可以由第一设备从终端设备接收,例如,在第一设备为路由器或者基站等网络设备时,第一设备可以记录接入终端设备的服务时间,从终端设备获取待识别的业务流,本申请对此不做限定。
S502、第一设备根据待识别的业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,待识别的端侧信息用于表示与待识别的业务流相关联设备的属性信息,待识别的包头统计信息为预设时间窗内对待识别的业务流中的包头信息进行统计后的信息。
本申请中,在第一设备为终端设备时,由于待训练的业务流为终端设备提供的,因此,第一设备可以获知待识别的端侧信息。在第一设备为路由器或者基站等网络设备时,第一设备可以采用多种方式获取待识别的端侧信息。下面,采用三种可行的实现方式对第一设备获取待识别的端侧信息的具体过程进行实例性描述。
一种可行的实现方式中,第一设备可以基于使用的通信协议(如TCP/IP)获取待识别的端侧信息。
例如,路由器通过接入终端设备的介质访问控制(media access control,MAC)地址,可以获取终端设备的品牌。
另一种可行的实现方式中,第一设备可以采用传统的技术手段获取待识别的端侧信息。
例如,由于业务流通过数据链路层通信协议是无法直接获取终端设备的型号,因此,路由器可以通过深度包检测(deep packet inspection,DPI)技术,从未加密的应用报文中获取终端设备的型号。
另一种可行的实现方式中,第一设备可以基于私有协议获取待识别的端侧信息。
例如,路由器可以通过未加密的报文,获取终端设备的操作系统、终端设备的操作系统版本等端侧信息。
又如,若终端设备与路由器之间通过IEEE 802.11协议连接,则路由器可以获取终端设备连接时的无线信道指标,如接收的信号强度指示(received signal strengthindicator,RSSI)等。
需要说明的是:如果终端设备未通过路由器上网,而是通过基站直接联网,则基站也可以采用上述类似方式获取端侧信息,此处不做赘述。
本申请中,第一设备还可以在预设时间窗内,对待识别的业务流中的包头信息进行统计,得到待识别的包头统计信息。需要说明的是:此处的预设时间窗与S102中第二设备生成待训练的包头统计信息时采用的预设时间窗需要保持相同,使得第一设备可以应用对应的业务流识别模型,准确识别出待识别的业务流的类型。且第一设备和第二设备可以根据实际需求,事先对预设时间窗进行设置,本申请对此不做限定。
其中,待识别的包头统计信息可参见S102中待训练的包头统计信息的描述,此处不做赘述。且第一设备获取待识别的包头统计信息的实现方式可参见S102中第二设备获取待训练的包头统计信息的描述,此处不做赘述。
S503、第一设备根据待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,确定待识别的业务流的类型。
结合图1,第一设备可以事先从第二设备获取业务流识别模型。由于业务识别模型是基于待训练的端侧信息、待训练的包头统计信息以及待训练的业务流的类型生成的,因此,第一设备基于待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,可以确定待识别的业务流的类型。
可选地,第一设备可以基于待识别的端侧信息和待识别的包头统计信息,生成应用样本,有利于第一设备过滤掉不必要的信息,方便第一设备可以通过业务识别模型确定待识别业务流的类型,以简化第一设备的操作。
本申请中,待识别的业务流的类型可以根据业务流识别模型可识别的业务流的类型确定。
可选地,当业务流识别模型通过待训练的包头统计信息中的特征和待训练的端侧信息中的特征得到时,第一设备可以根据模型训练时采用的待训练的业务流的类型进行确定。当业务流识别模型通过待训练的包头统计信息中的特征和根据频繁项集过滤待训练的端侧信息中的特征得到时,第一设备可以根据频繁项集以及模型训练时采用的待训练的业务流的类型进行确定。其中,频繁项集可参见图8实施例中的描述,此处不做赘述。
可选地,当业务流识别模型为适用于粗粒度场景的模型时,第一设备确定的待识别的业务流的类型为应用类型。当业务流识别模型为适用于细粒度场景的模型时,第一设备确定的待识别的业务的类型为应用类型和应用操作类型。其中,应用类型和应用操作类型可参见S101中的描述,此处不做赘述。
本申请提供的业务流识别方法,通过第一设备获取待识别的业务流,在预设时间窗内对待识别的业务流中的包头信息进行统计,得到待识别的包头统计信息,并根据待识别的业务流,得到待识别的端侧信息。进而,第一设备根据待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,确定待识别的业务流的类型。本申请中,第一设备通过应用业务流识别模型,可以充分考虑到与业务流相关联设备的属性信息,提高了业务流的类型的识别率,保证了业务流的类型的识别效果。
在上述图9实施例的基础上,当第一设备中未存储有业务流识别模型或者第一设备需要更新第一设备中存储有的业务流识别模型时,第一设备可以从第二设备获取业务流识别模型,以便对待识别的业务流进行类型识别。
下面,以图1中的第一设备和第二设备为执行主体,对本申请图10所示业务流识别方法的技术方案进行详细说明。
图10为本申请提供的一种业务流识别方法的信令流程图,如图10所示,本申请的业务流识别方法可以包括:
S601、第一设备获取待识别的业务流。
S602、第一设备根据待识别的业务流,得到待识别的端侧信息和待识别的包头统计信息。其中,待识别的端侧信息用于表示与待识别的业务流相关联设备的属性信息,待识别的包头统计信息为预设时间窗内对待识别的业务流中的包头信息进行统计后的信息。
其中,S601和S602分别与图9实施例中的S501和S502实现方式类似,此处不再赘述。
S6001、第一设备向第二设备发送待识别的端侧信息。
由于第二设备中存储的业务流识别模型是通过将端侧信息中的特征作为建模特征得到的,因此,第一设备可以向第二设备发送待识别的端侧信息,以便第二设备可以根据待识别的端侧信息确定对应的业务流识别模型。
又由于第二设备中存储有一个或者多个业务流识别模型,且业务流识别模型的种类包括多种,例如业务流识别模型可能属于通用的种类,也可能为适用于某种场景的种类,也可能为适用于端侧信息中的某个特征的种类,也可能为适用于端侧信息中的特征组合的种类,因此,第二设备在接收到待识别的端侧信息时,可以先确定第二设备中的业务识别模型的种类,再根据待识别的端侧信息准确匹配对应的业务流识别模型。
可选地,若第二设备中存储有如图2-图7实施例中的业务流识别模型,则第二设备可执行S60021-S6003。若第二设备中存储有通过频繁项集过滤端侧信息得到的业务流识别模型,如图8实施例中的业务流识别模型,则第二设备可执行S60022-S6003。若第二设备中既存储有如图2-图7实施例中的业务流识别模型,又存储有如图8实施例中的业务流识别模型,则第二设备可执行S60021和S60022,再执行S6003。
S60021、第二设备获取与待识别的端侧信息匹配的业务流识别模型。
本申请中,第二设备可以根据待识别的端侧信息,匹配得到对应的业务流识别模型。需要说明的是,当第二设备匹配到多个业务流识别模型时,第二设备可以从这些业务流识别模型中随机选择一个业务流识别模型发送给第一设备,也可以将这些业务流识别模型全部发送给第一设备,以向第一设备提供多种选择,本申请对此不做限定。
S60022、第二设备根据端侧信息与频繁项集之间的相似度,获取最大相似度的业务识别模型。
本申请中,第二设备可以采用多种方法,计算待识别的端侧信息与每个业务流识别模型对应的频繁项集之间的相似度,从多个相似度对应的业务流识别模型中选择最大相似度的业务流识别模型。
例如,第二设备可以根据端侧信息与每个业务流识别模型对应的频繁项集,计算杰卡德系数(Jaccard系数)其中,Jaccard系数的公式为
Figure GDA0002904702850000181
A为第一设备向第二设备上报的待识别的端侧信息为终端设备的品牌集合,B为第二设备中的业务流识别模型对应的频繁项集。从而确定Jaccard系数最大的业务流识别模型。
假设A为{品牌1,品牌2},第二设备中B包括模型1、模型2和模型3,模型1对应的频繁项集为{品牌1,品牌2,品牌3},模型2对应的频繁项集为{品牌4,品牌5},模型1对应的频繁项集为{品牌1,品牌5}。
计算A与模型1对应的繁项集之间的相似度J(A,B1),|A∩B|={品牌1,品牌2},|A∪B|={品牌1,品牌2,品牌3},则J(A,B1)=0.667。
计算A与模型2对应的繁项集之间的相似度J(A,B2),|A∩B|=空集,|A∪B|={品牌1,品牌2,品牌3,品牌4,品牌5},则J(A,B2)=0。
计算A与模型3对应的繁项集之间的相似度J(A,B3),|A∩B|={品牌1},|A∪B|={品牌1、品牌2,品牌5},则J(A,B3)=0.333。
比较J(A,B1)、J(A,B2)和,J(A,B3),第二设备可以确定J(A,B3)最大。从而,第二设备可以将J(A,B3)的业务流识别模型发送给第一设备。
需要说明的是,当第二设备确定存在多个最大相似度相同的业务流识别模型时,第二设备可以从这些业务流识别模型中随机选择一个业务流识别模型发送给第一设备,也可以将这些业务流识别模型全部发送给第一设备,本申请对此不做限定。
S6003、第二设备向第一设备发送业务流识别模型。
本申请中,第二设备在根据待识别的端侧信息确定出业务流识别模型后,根据将该业务流识别模型发送给第一设备,使得第一设备根据该业务流识别模型确定待识别的业务流的类型,以便第一设备可以根据待识别的业务流的类型执行相应的操作。
S603、第一设备根据待识别的端侧信息和待识别的包头统计信息,通过业务流识别模型,确定待识别的业务流的类型。
其中,S603与图9实施例中的S503实现方式类似,此处不再赘述。
本申请中,第一设备在获取到待识别的业务流时,可以从第二设备中获取与待识别的端侧信息匹配的业务流识别模型,也可以根据端侧信息与频繁项集之间的相似度,获取最大相似度的业务识别模型,也可以同时执行上述两个过程,以便调用业务流识别模型或者更新存储在第一设备中的业务流识别模型,实现对业务流的类型的准确识别。
另外,在上述实施例的基础上,第一设备在确定待识别的业务流的类型时,可以根据业务流的类型执行如区别化传输业务流、流量控制和内容控制等相应的操作等。
可选地,第一设备可以优先发送QoS要求高的业务流到对应的业务服务器中。
例如,当第一应用比第二应用对QoS的要求要高时,第一设备在确定待识别的业务流分别为第一应用对应的业务流和第二应用对应的业务流时,可以先将第一应用对应的业务流发送给对应的业务服务器,再将第二应用对应的业务流发送给对应的业务服务器。
可选地,第一设备可以优先发送时延要求高的业务流到对应的业务服务器中。
例如,由于游戏类应用比视频类应用对时延的要求要高,因此,第一设备在确定待识别的业务流分别为游戏类应用对应的业务流和视频类应用对应的业务流时,可以先将游戏类应用对应的业务流发送给对应的业务服务器,再将视频流应用对应的业务流发送给对应的业务服务器。
可选地,第一设备可以延迟发送预设类型的业务流到对应的业务服务器中。
例如,当第一服务器获知预设类型业务流对应的业务服务器处理速率较慢时,第一设备在确定待识别的业务流的类型为预设类型时,可以延迟预设时长后将待识别的业务流发送给对应的业务服务器。其中,本申请对预设时长的具体时长不做限定。
可选地,第一设备可以不发送预设类型的业务流到对应的业务服务器中。
例如,当A应用中的a操作不适合儿童观看时,第一设备在确定待识别的业务流的类型为A应用中a应用操作类型时,可以不将A应用中a应用操作类型对应的业务流发送给对应的业务服务器。
需要说明的是,第一设备包括但不限于根据业务流的类型执行上述相应的操作。
示例性的,本申请还提供一种模型生成装置,图11为本申请提供的一种模型生成装置的结构示意图,如图11所示,该模型生成装置100通常指的是模型服务器,且模型生成装置100与第一设备之间可以建立通信通道,第一设备可以包括但不限于为路由器、交换机或者基站等网络设备,也可以为终端设备。其中,该模型生成装置100作为第一设备的应用支撑,可以向第一设备提供业务流识别模型,用于实现上述任一方法实施例中对应于第二设备的操作,本申请的模型生成装置100可以包括:获取模块101和生成模块102。
获取模块101,用于获取待训练的业务流中的包头信息、待训练的端侧信息以及待训练的业务流的类型,其中,端侧信息用于表示与业务流相关联设备的属性信息;获取模块101,还用于在预设时间窗内,对业务流中的包头信息进行统计,得到待训练的包头统计信息;生成模块102,用于根据端侧信息、包头统计信息以及业务流的类型进行模型训练,生成业务流识别模型。
在一些实施例中,生成模块102,具体用于根据端侧信息和包头统计信息,生成训练样本;将业务流中的应用类型确定为业务流的类型;根据业务流的类型,对训练样本的类型进行标注,得到标注后的训练样本;根据标注后的训练样本进行模型训练,生成业务流识别模型。
在一些实施例中,生成模块102,还具体用于将业务流中的应用类型以及业务流中的应用操作类型确定为业务流的类型。
在一些实施例中,生成模块102,还用于根据端侧信息,生成N个频繁项集,N为正整数;生成模块102,还具体用于根据N个频繁项集,分别对标注后的训练样本进行过滤,得到过滤后的训练样本;根据过滤后的训练样本进行模型训练,生成业务流识别模型。
在一些实施例中,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一些实施例中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一些实施例中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
本申请实施例的模型生成装置,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
示例性的,本申请还提供一种业务流识别装置,图12为本申请提供的一种业务流识别装置的结构示意图,如图12所示,该业务流识别装置200通常可以包括但不限于为路由器、交换机或者基站等网络设备,也可以为终端设备。且该业务流识别装置200与第二设备之间可以建立通信通道,其中,该业务流识别装置200从第二设备(例如模型服务器)中获取业务流识别模型,以便识别业务流的类型。该业务流识别装置200与第三设备(例如业务服务器)之间还可以建立通信信道,其中,该业务流识别装置200可以在确定业务流的类型之后选择相应的方式(如延迟、区分化传输、控制流量传输或者限制内容传输等方式)向第三服务器发送业务流,用于实现上述任一方法实施例中对应于第一设备的操作,本申请的业务流识别装置200可以包括:获取模块201和确定模块202。
获取模块201,用于获取待识别的业务流;获取模块201,还用于根据业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,端侧信息用于表示与业务流相关联设备的属性信息,包头统计信息为预设时间窗内对业务流中的包头信息进行统计后的信息;确定模块202,用于根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型。
图13为本申请提供的一种业务流识别装置的结构示意图,如图13所示,本申请的业务流识别装置200在图12所示结构的基础上,进一步地,还可以包括:发送模块203和接收模块204。
发送模块203,用于在确定模块202根据端侧信息和包头统计信息,通过业务流识别模型,确定业务流的类型之前,向第二设备发送端侧信息;接收模块204,用于接收第二设备发送的与端侧信息对应的业务流识别模型。
在一些实施例中,确定模块202,具体用于根据端侧信息和包头统计信息,生成应用样本;基于应用样本,通过业务识别模型,确定业务流的类型。
在一些实施例中,业务流的类型为业务流中的应用类型,或者,业务流的类型为业务流中的应用类型和业务流中的应用操作类型。
图14为本申请提供的一种业务流识别装置的结构示意图,如图14所示,本申请的业务流识别装置200在图12所示结构的基础上,进一步地,还可以包括:执行模块205。
执行模块205,用于根据业务流的类型执行相应的操作。
在一些实施例中,当业务流识别装置200为终端设备或者基站时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本以及业务流中的应用名称;
或者,当业务流识别装置200为路由器时,端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本。
在一些实施例中,包头信息包括如下至少一个:业务流中的五元组信息、五元组信息对应的报文产生时间以及五元组信息对应的报文字节长度。
在一些实施例中,包头统计信息包括如下至少一个:业务流中报文字节长度的平均值、业务流中报文字节长度的最大值、业务流中报文字节长度的最小值、业务流中相邻两个报文时间间隔的平均值、业务流中相邻两个报文时间间隔的最大值以及业务流中相邻两个报文时间间隔的最小值。
本申请实施例的业务流识别设备,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图15为本申请提供的一种模型生成设备的硬件结构示意图,如图15所示,该模型生成设备300通常指的是模型服务器,且模型生成设备300与第一设备之间可以建立通信通道,第一设备可以包括但不限于为路由器、交换机或者基站等网络设备,也可以为终端设备。其中,该模型生成设备300作为第一设备的应用支撑,可以向第一设备提供业务流识别模型,用于实现上述任一方法实施例中对应于第二设备的操作,本申请的模型生成设备300可以包括:存储器301和处理器302。存储器301与处理器302可以通过总线303连接。
存储器301,用于存储程序代码;
处理器302,调用程序代码,当程序代码被执行时,用于执行上述任一实施例中的模型生成方法。具体可以参见前述方法实施例中的相关描述。
可选地,本申请还包括通信接口304,该通信接口304可以通过总线303与处理器302连接。处理器302可以控制通信接口304来实现模型生成设备300的上述的接收和发送的功能。
本申请实施例的模型生成设备,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图16为本申请提供的一种业务流识别设备的硬件结构示意图,如图16所示,该业务流识别设备400通常可以包括但不限于为路由器、交换机或者基站等网络设备,也可以为终端设备。且该业务流识别设备400与第二设备之间可以建立通信通道,其中,该业务流识别设备400从第二设备(例如模型服务器)中获取业务流识别模型,以便识别业务流的类型。该业务流识别设备400与第三设备(例如业务服务器)之间还可以建立通信信道,其中,该业务流识别设备400可以在确定业务流的类型之后选择对应的方式(如延迟、区分化传输、控制;流量传输或者限制内容传输等)向第三服务器发送业务流,用于实现上述任一方法实施例中对应于第一设备的操作,本申请的业务流识别设备400可以包括:存储器401和处理器402。存储器401与处理器402可以通过总线403连接。
存储器401,用于存储程序代码;
处理器402,调用程序代码,当程序代码被执行时,用于执行上述任一实施例中的业务流识别方法。具体可以参见前述方法实施例中的相关描述。
可选地,本申请包括通信接口404,该通信接口404可以通过总线403与处理器402连接。处理器402可以控制通信接口404来实现业务流识别设备400的上述的接收和发送的功能。
本申请实施例的业务流识别设备,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk,SSD)等。

Claims (22)

1.一种业务流识别方法,其特征在于,包括:
第一设备获取待识别的业务流;
所述第一设备根据所述业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,所述端侧信息用于表示与所述业务流相关联设备的属性信息,所述包头统计信息为预设时间窗内对所述业务流中的包头信息进行统计后的信息;
所述第一设备根据所述端侧信息和所述包头统计信息,通过与所述端侧信息对应的业务流识别模型,确定所述业务流的类型,包括:
所述第一设备根据所述端侧信息和所述包头统计信息,生成应用样本;
所述第一设备基于所述应用样本,通过所述业务流识别模型,确定所述业务流的类型;
所述业务流的类型为所述业务流中的应用类型,或者,所述业务流的类型为所述业务流中的应用类型和所述业务流中的应用操作类型;
所述第一设备为终端设备,或者,所述第一设备为基站,所述第一设备从终端设备获取所述待识别的业务流,所述端侧信息包括如下至少一个:
所述终端设备的品牌、所述终端设备的型号、所述终端设备的信道指标、所述终端设备的操作系统、所述终端设备的固件版本以及所述业务流中的应用名称;
或者,所述第一设备为路由器,所述第一设备从终端设备获取所述待识别的业务流,所述端侧信息包括如下至少一个:
所述终端设备的品牌、所述终端设备的型号、所述终端设备的信道指标、所述终端设备的操作系统、所述终端设备的固件版本、所述路由器的品牌、所述路由器的型号、所述路由器的操作系统以及所述路由器的固件版本。
2.根据权利要求1所述的方法,其特征在于,在所述第一设备根据所述端侧信息和所述包头统计信息,通过业务流识别模型,确定所述业务流的类型之前,所述方法还包括:
所述第一设备向第二设备发送所述端侧信息;
所述第一设备接收所述第二设备发送的与所述端侧信息对应的业务流识别模型。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一设备根据所述业务流的类型执行相应的操作。
4.根据权利要求1或2所述的方法,其特征在于,所述包头信息包括如下至少一个:
所述业务流中的五元组信息、所述五元组信息对应的报文产生时间以及所述五元组信息对应的报文字节长度。
5.根据权利要求1或2所述的方法,其特征在于,所述包头统计信息包括如下至少一个:
所述业务流中报文字节长度的平均值、所述业务流中报文字节长度的最大值、所述业务流中报文字节长度的最小值、所述业务流中相邻两个报文时间间隔的平均值、所述业务流中相邻两个报文时间间隔的最大值以及所述业务流中相邻两个报文时间间隔的最小值。
6.一种模型生成方法,其特征在于,包括:
第二设备获取待训练的业务流中的包头信息、待训练的端侧信息以及所述业务流的类型,其中,所述端侧信息用于表示与所述业务流相关联设备的属性信息;所述端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本;
所述第二设备在预设时间窗内,对所述业务流中的包头信息进行统计,得到待训练的包头统计信息;
所述第二设备根据所述端侧信息、所述包头统计信息以及所述业务流的类型进行模型训练,生成业务流识别模型,以使得第一设备基于根据待识别的端侧信息和待识别的包头统计信息生成的应用样本,通过所述业务流识别模型,确定待识别的业务流的类型;
所述第二设备将所述业务流中的应用类型以及所述业务流中的应用操作类型确定为所述业务流的类型。
7.根据权利要求6所述的方法,其特征在于,所述第二设备根据所述端侧信息、所述包头统计信息以及所述业务流的类型进行模型训练,生成业务流识别模型,包括:
所述第二设备根据所述端侧信息和所述包头统计信息,生成训练样本;
所述第二设备将所述业务流中的应用类型确定为所述业务流的类型;
所述第二设备根据所述业务流的类型,对所述训练样本的类型进行标注,得到标注后的训练样本;
所述第二设备根据所述标注后的训练样本进行模型训练,生成所述业务流识别模型。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第二设备根据所述端侧信息,生成N个频繁项集,N为正整数;
所述第二设备根据所述标注后的训练样本进行模型训练,生成所述业务流识别模型,包括:
所述第二设备根据所述N个频繁项集,分别对所述标注后的训练样本进行过滤,得到过滤后的训练样本;
所述第二设备根据所述过滤后的训练样本进行模型训练,生成所述业务流识别模型。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述包头信息包括如下至少一个:
所述业务流中的五元组信息、所述五元组信息对应的报文产生时间以及所述五元组信息对应的报文字节长度。
10.根据权利要求6-8任一项所述的方法,其特征在于,所述包头统计信息包括如下至少一个:
所述业务流中报文字节长度的平均值、所述业务流中报文字节长度的最大值、所述业务流中报文字节长度的最小值、所述业务流中相邻两个报文时间间隔的平均值、所述业务流中相邻两个报文时间间隔的最大值以及所述业务流中相邻两个报文时间间隔的最小值。
11.一种业务流识别装置,其特征在于,包括:
获取模块,用于获取待识别的业务流;
所述获取模块,还用于根据所述业务流,得到待识别的端侧信息和待识别的包头统计信息,其中,所述端侧信息用于表示与所述业务流相关联设备的属性信息,所述包头统计信息为预设时间窗内对所述业务流中的包头信息进行统计后的信息;
确定模块,用于根据所述端侧信息和所述包头统计信息,通过与所述端侧信息对应的业务流识别模型,确定所述业务流的类型;
所述确定模块,具体用于根据所述端侧信息和所述包头统计信息,生成应用样本;基于所述应用样本,通过所述业务流识别模型,确定所述业务流的类型;
所述装置为终端设备,或者,所述装置为基站,所述装置从终端设备获取所述待识别的业务流,所述端侧信息包括如下至少一个:
所述终端设备的品牌、所述终端设备的型号、所述终端设备的信道指标、所述终端设备的操作系统、所述终端设备的固件版本以及所述业务流中的应用名称;
或者,所述装置为路由器,所述装置从终端设备获取所述待识别的业务流,所述端侧信息包括如下至少一个:
所述终端设备的品牌、所述终端设备的型号、所述终端设备的信道指标、所述终端设备的操作系统、所述终端设备的固件版本、所述路由器的品牌、所述路由器的型号、所述路由器的操作系统以及所述路由器的固件版本;
所述业务流的类型为所述业务流中的应用类型,或者,所述业务流的类型为所述业务流中的应用类型和所述业务流中的应用操作类型。
12.根据权利要求11所述的装置,其特征在于,还包括:
发送模块,用于在所述确定模块根据所述端侧信息和所述包头统计信息,通过业务流识别模型,确定所述业务流的类型之前,向第二设备发送所述端侧信息;
接收模块,用于接收所述第二设备发送的与所述端侧信息对应的业务流识别模型。
13.根据权利要求11或12所述的装置,其特征在于,还包括:
执行模块,用于根据所述业务流的类型执行相应的操作。
14.根据权利要求11或12所述的装置,其特征在于,所述包头信息包括如下至少一个:
所述业务流中的五元组信息、所述五元组信息对应的报文产生时间以及所述五元组信息对应的报文字节长度。
15.根据权利要求11或12所述的装置,其特征在于,所述包头统计信息包括如下至少一个:
所述业务流中报文字节长度的平均值、所述业务流中报文字节长度的最大值、所述业务流中报文字节长度的最小值、所述业务流中相邻两个报文时间间隔的平均值、所述业务流中相邻两个报文时间间隔的最大值以及所述业务流中相邻两个报文时间间隔的最小值。
16.一种模型生成装置,其特征在于,包括:
获取模块,用于获取待训练的业务流中的包头信息、待训练的端侧信息以及所述业务流的类型,其中,所述端侧信息用于表示与所述业务流相关联设备的属性信息;所述端侧信息包括如下至少一个:终端设备的品牌、终端设备的型号、终端设备的信道指标、终端设备的操作系统、终端设备的固件版本、路由器的品牌、路由器的型号、路由器的操作系统以及路由器的固件版本;
所述获取模块,还用于在预设时间窗内,对所述业务流中的包头信息进行统计,得到待训练的包头统计信息;
生成模块,用于根据所述端侧信息、所述包头统计信息以及所述业务流的类型进行模型训练,生成业务流识别模型,以使得第一设备基于根据待识别的端侧信息和待识别的包头统计信息生成的应用样本,通过所述业务流识别模型,确定待识别的业务流的类型;
所述生成模块,还具体用于将所述业务流中的应用类型以及所述业务流中的应用操作类型确定为所述业务流的类型。
17.根据权利要求16所述的装置,其特征在于,所述生成模块,具体用于根据所述端侧信息和所述包头统计信息,生成训练样本;将所述业务流中的应用类型确定为所述业务流的类型;根据所述业务流的类型,对所述训练样本的类型进行标注,得到标注后的训练样本;根据所述标注后的训练样本进行模型训练,生成所述业务流识别模型。
18.根据权利要求17所述的装置,其特征在于,所述生成模块,还用于根据所述端侧信息,生成N个频繁项集,N为正整数;
所述生成模块,还具体用于根据所述N个频繁项集,分别对所述标注后的训练样本进行过滤,得到过滤后的训练样本;根据所述过滤后的训练样本进行模型训练,生成所述业务流识别模型。
19.根据权利要求16-18任一项所述的装置,其特征在于,所述包头信息包括如下至少一个:
所述业务流中的五元组信息、所述五元组信息对应的报文产生时间以及所述五元组信息对应的报文字节长度。
20.根据权利要求16-18任一项所述的装置,其特征在于,所述包头统计信息包括如下至少一个:
所述业务流中报文字节长度的平均值、所述业务流中报文字节长度的最大值、所述业务流中报文字节长度的最小值、所述业务流中相邻两个报文时间间隔的平均值、所述业务流中相邻两个报文时间间隔的最大值以及所述业务流中相邻两个报文时间间隔的最小值。
21.一种通信设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-5任一项所述的业务流识别方法;或者,所述处理器配置为经由执行所述可执行指令来执行权利要求6-10任一项所述的模型生成方法。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的业务流识别方法;或者,所述计算机程序被处理器执行时实现权利要求6-10任一项所述的模型生成方法。
CN201910586336.3A 2019-07-01 2019-07-01 业务流识别方法和装置、模型生成方法和装置 Active CN110460488B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910586336.3A CN110460488B (zh) 2019-07-01 2019-07-01 业务流识别方法和装置、模型生成方法和装置
EP20834838.3A EP3972200A4 (en) 2019-07-01 2020-07-01 METHOD AND APPARATUS FOR IDENTIFICATION OF A SERVICE FLOW AND METHOD AND APPARATUS FOR MODELING
PCT/CN2020/099614 WO2021000874A1 (zh) 2019-07-01 2020-07-01 业务流识别方法和装置、模型生成方法和装置
US17/624,190 US20220368604A1 (en) 2019-07-01 2020-07-01 Traffic flow identification method and apparatus, and model generation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910586336.3A CN110460488B (zh) 2019-07-01 2019-07-01 业务流识别方法和装置、模型生成方法和装置

Publications (2)

Publication Number Publication Date
CN110460488A CN110460488A (zh) 2019-11-15
CN110460488B true CN110460488B (zh) 2022-10-18

Family

ID=68481905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910586336.3A Active CN110460488B (zh) 2019-07-01 2019-07-01 业务流识别方法和装置、模型生成方法和装置

Country Status (4)

Country Link
US (1) US20220368604A1 (zh)
EP (1) EP3972200A4 (zh)
CN (1) CN110460488B (zh)
WO (1) WO2021000874A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460488B (zh) * 2019-07-01 2022-10-18 华为技术有限公司 业务流识别方法和装置、模型生成方法和装置
CN111865724B (zh) * 2020-07-28 2022-02-08 公安部第三研究所 视频监控设备信息采集控制实现方法
CN113824616B (zh) * 2021-11-22 2022-08-16 华控清交信息科技(北京)有限公司 一种mpc协议识别方法、装置及电子设备
CN116304650A (zh) * 2021-12-03 2023-06-23 中兴通讯股份有限公司 多业务场景的识别方法和决策森林模型的训练方法
CN114707146B (zh) * 2022-06-02 2022-10-28 深圳市永达电子信息股份有限公司 工作流识别方法、系统、计算机设备和可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710687A (zh) * 2015-06-29 2018-02-16 高通股份有限公司 用于检测应用异常的定制网络业务模型

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100448227C (zh) * 2005-08-30 2008-12-31 杭州华三通信技术有限公司 业务流的识别方法
US9843596B1 (en) * 2007-11-02 2017-12-12 ThetaRay Ltd. Anomaly detection in dynamically evolving data and systems
US8213453B1 (en) * 2009-08-07 2012-07-03 Juniper Networks, Inc. Quality of service (QoS) configuration for network devices with multiple queues
CN101695035B (zh) * 2009-10-21 2012-07-04 成都市华为赛门铁克科技有限公司 流量识别方法及装置
US9031959B2 (en) * 2010-05-19 2015-05-12 Alcatel Lucent Method and apparatus for identifying application protocol
CN102315974B (zh) * 2011-10-17 2014-08-27 北京邮电大学 基于层次化特征分析的tcp、udp流量在线识别方法和装置
US8817655B2 (en) * 2011-10-20 2014-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Creating and using multiple packet traffic profiling models to profile packet flows
US20130148513A1 (en) * 2011-12-08 2013-06-13 Telefonaktiebolaget Lm Creating packet traffic clustering models for profiling packet flows
EP2806602A4 (en) * 2013-02-04 2015-03-04 Huawei Tech Co Ltd CHARACTER EXTRACTION DEVICE, NETWORK TRAFFIC IDENTIFICATION PROCESS, DEVICE AND SYSTEM
EP2830275A1 (en) * 2013-07-23 2015-01-28 Thomson Licensing Method of identification of multimedia flows and corresponding apparatus
US9954743B2 (en) * 2013-08-12 2018-04-24 Hewlett Packard Enterprise Development Lp Application-aware network management
US9967188B2 (en) * 2014-10-13 2018-05-08 Nec Corporation Network traffic flow management using machine learning
CN106330584B (zh) * 2015-06-19 2019-08-13 中国移动通信集团广东有限公司 一种业务流的识别方法及识别装置
WO2017061895A1 (en) * 2015-10-09 2017-04-13 Huawei Technologies Co., Ltd. Method and system for automatic online identification of network traffic patterns
US20170318082A1 (en) * 2016-04-29 2017-11-02 Qualcomm Incorporated Method and system for providing efficient receive network traffic distribution that balances the load in multi-core processor systems
US10897474B2 (en) * 2016-06-23 2021-01-19 Cisco Technology, Inc. Adapting classifier parameters for improved network traffic classification using distinct private training data sets
US10701583B2 (en) * 2016-07-07 2020-06-30 Industrial Technology Research Institute Method of service level traffic differentiation at radio access network, wireless network system and radio access network access node
CN106503617A (zh) * 2016-09-21 2017-03-15 北京小米移动软件有限公司 模型训练方法及装置
CN108574667B (zh) * 2017-03-09 2021-01-15 华为技术有限公司 一种业务流的控制方法及装置
CN107483458A (zh) * 2017-08-29 2017-12-15 杭州迪普科技股份有限公司 网络攻击的识别方法及装置、计算机可读存储介质
US10834112B2 (en) * 2018-04-24 2020-11-10 At&T Intellectual Property I, L.P. Web page spectroscopy
CN108667747A (zh) * 2018-04-28 2018-10-16 深圳信息职业技术学院 网络流应用类型识别的方法、装置及计算机可读存储介质
US10956832B2 (en) * 2018-06-22 2021-03-23 Platina Systems Corporation Training a data center hardware instance network
US11363031B2 (en) * 2018-08-27 2022-06-14 Ciena Corporation Network architecture providing device identification and redirection using whitelisting traffic classification
US10855604B2 (en) * 2018-11-27 2020-12-01 Xaxar Inc. Systems and methods of data flow classification
US11005729B2 (en) * 2019-03-14 2021-05-11 Juniper Networks, Inc. Satisfying service level agreement metrics for unknown applications
US11323481B2 (en) * 2019-05-17 2022-05-03 Juniper Networks, Inc. Classification of unknown network traffic
CN110460488B (zh) * 2019-07-01 2022-10-18 华为技术有限公司 业务流识别方法和装置、模型生成方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710687A (zh) * 2015-06-29 2018-02-16 高通股份有限公司 用于检测应用异常的定制网络业务模型

Also Published As

Publication number Publication date
EP3972200A1 (en) 2022-03-23
EP3972200A4 (en) 2022-07-20
CN110460488A (zh) 2019-11-15
US20220368604A1 (en) 2022-11-17
WO2021000874A1 (zh) 2021-01-07

Similar Documents

Publication Publication Date Title
CN110460488B (zh) 业务流识别方法和装置、模型生成方法和装置
CN111865815B (zh) 一种基于联邦学习的流量分类方法及系统
CN112688967B (zh) 一种物联网数据处理方法、装置、设备及存储介质
CN112491901A (zh) 一种网络流量精细化筛选装置及方法
CN103916294A (zh) 协议类型的识别方法和装置
CN102075404A (zh) 一种报文检测方法及装置
WO2019184640A1 (zh) 一种指标确定方法及其相关设备
CN110417801B (zh) 服务端识别方法和装置、设备及存储介质
CN110011935B (zh) 数据流处理方法及相关设备
CN112751833B (zh) Rtp报文识别方法、装置、电子设备及可读存储介质
CN108234433A (zh) 用于处理视频业务的方法和装置
CN113835902A (zh) 一种数据处理方法、装置、计算机设备及存储介质
TW201921893A (zh) 資料傳輸加速裝置
CN111224831A (zh) 用于生成话单的方法和系统
CN110691007A (zh) 一种精确测量quic连接丢包率的方法
JP4767318B2 (ja) 端末装置のトラフィックを傍受及び分析する装置
JP2015164295A (ja) 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム
CN116095197B (zh) 数据传输方法及相关装置
CN104768176B (zh) 无线网络中sFlow采样的方法、装置
CN115866582A (zh) 设备识别方法、装置、设备及存储介质
AU2018253491A1 (en) Adaptive event aggregation
CN104683241A (zh) 一种报文检测方法及装置
WO2023098222A1 (zh) 多业务场景的识别方法和决策森林模型的训练方法
WO2014007247A1 (ja) ネットワーク装置、パケット処理方法及びプログラム、並びにネットワークシステム
CN106936663B (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