CN114465962B - 一种数据流类型识别方法及相关设备 - Google Patents

一种数据流类型识别方法及相关设备 Download PDF

Info

Publication number
CN114465962B
CN114465962B CN202111645523.8A CN202111645523A CN114465962B CN 114465962 B CN114465962 B CN 114465962B CN 202111645523 A CN202111645523 A CN 202111645523A CN 114465962 B CN114465962 B CN 114465962B
Authority
CN
China
Prior art keywords
data stream
stream type
type
confidence
recognition model
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
CN202111645523.8A
Other languages
English (en)
Other versions
CN114465962A (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 CN202111645523.8A priority Critical patent/CN114465962B/zh
Publication of CN114465962A publication Critical patent/CN114465962A/zh
Application granted granted Critical
Publication of CN114465962B publication Critical patent/CN114465962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种数据流类型识别方法及相关设备。该方法根据当前数据流的报文特征和行为识别模型得到当前数据流的对应于至少一个数据流类型的至少一个第一置信度,行为识别模型为根据多个数据流样本得到的模型;根据当前数据流的特征信息和内容识别模型得到当前数据流的对应于至少一个数据流类型的至少一个第二置信度,内容识别模型为根据一条或多条历史数据流得到的模型;根据至少一个第一置信度和至少一个第二置信度确定当前数据流的数据流类型。采用该方法能够更准确地识别出数据流类型。

Description

一种数据流类型识别方法及相关设备
本申请是向中国知识产权局提交的申请日为2019年9月16日、申请号为201910872990.0、发明名称为“一种数据流类型识别方法及相关设备”的申请的分案申请。
技术领域
本发明涉及计算机技术领域和通信领域,进一步涉及人工智能(ArtificialIntelligence,AI)在计算机技术领域和通信领域的应用,尤其涉及一种数据流类型识别方法及相关设备。
背景技术
随着计算机技术的迅猛发展,越来越多的企业使用私有的办公类应用进行办公,如桌面云、语音会议、视频会议等均属于私有的办公类应用。为了合理安排各业务的流量提高业务的可靠性,通常需要合理配置QoS优先级、实时选路等。而QoS优先级、实时选路等的前提是需要获知当前的办公应用属于哪种类型的应用(即哪种数据流类型)。
目前主要采用如下两种方式来获知办公应用的类型:第一种,基于人工识别的方式,主要是手工配置规则来匹配网络流量中的关键字(包括报头数据、载荷数据等),从而识别出应用类型。然而,人工识别的方式耗时耗力,而且随着企业办公应用云化带来的动态性,出于安全通常会进行传输加密,这就导致人工难以设定出应用类型的识别规则,从而很难识别出应用类型。第二种,采用离线学习的方式,主要是预先采集样本数据,然后通过人工或使用第三方工具对样本数据进行标注,然后对标注过的样本数据使用机器学习或者神经网络的算法进行模型的离线训练。将离线训练好的模型,用于推理现网流量的应用类型。但是,企业应用每次进行改动或更新,都可能训练出的模型无法使用;另外,私有应用的实现没有规范,不同企业的同类型应用,适用的模型也不一样。即以上训练出的模型在用于改动、更新后的应用或另一个企业的应用的类型识别时,都可能出现识别准确率不高的问题。
如何快速准确地识别出办公应用的应用类型(也称数据流类型)是本领域的技术人员正在研究的技术问题。
发明内容
本发明实施例公开了一种数据流类型识别方法及相关设备,能够更准确地识别出数据流类型。
第一方面,本申请实施例提供一种数据流类型识别方法,该方法包括:
根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述特征信息包括目的地址和协议类型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到的;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
上述方法中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型,包括:
根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
在上述方法中,预先根据内容识别模型和行为识别模型各自对最终识别结果的影响程度,分别为两种模型配置置信度的权重(为行为识别模型配置的权重为第一置信度的权重,为内容识别模型配置的权重为第二置信度的权重),因此基于这两个置信度的权重计算出的综合置信度更能体现当前数据流的实际类型。另外,引入第一预设阈值来衡量对应的数据流类型是否可取,能够提高确定数据流类型的效率和准确性。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则向设备发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
接收所述设备发送的第一信息,所述第一信息是所述设备根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行校正。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,包括:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
也即是说,如果在已经识别过的记录中,存在历史数据流的特征信息与当前数据流的特征信息相同但数据流类型不同的情况,则将记录中的数据流类型更新为当前数据流的第一数据流类型,这主要是为了适应云资源的弹性部署,例如,同样的云资源在前一段时间用于视频会议,在下一段时间用于桌面云;采用上述方法能够在下一段时间内及时将数据流类型更新为桌面云,从而在弹性部署云资源的情况下仍然可以准确识别出当前数据流的数据流类型。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型之后,还包括:
向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的所述信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS***,这样OSS***就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第二方面,本申请实施例提供一种数据流类型识别方法,该方法包括:
接收设备发送的当前数据流的特征信息和数据流类型的信息;
根据所述当前数据流的特征信息和数据流类型的信息生成第一信息;
向所述设备发送所述第一信息,以用于更新内容识别模型,所述内容识别模型用于得到对应于至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
上述方法中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
第三方面,本申请实施例提供一种数据流类型识别设备,包括存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述特征信息包括目的地址和协议类型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到的;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
上述方法中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
结合第三方面,在第三方面的第一种可能的实现方式中,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型,具体为:
根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
在上述操作中,预先根据内容识别模型和行为识别模型各自对最终识别结果的影响程度,分别为两种模型配置置信度的权重(为行为识别模型配置的权重为第一置信度的权重,为内容识别模型配置的权重为第二置信度的权重),因此基于这两个置信度的权重计算出的综合置信度更能体现当前数据流的实际类型。另外,引入第一预设阈值来衡量对应的数据流类型是否可取,能够提高确定数据流类型的效率和准确性。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述设备还包括收发器,所述处理器还用于:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则通过所述收发器向其他设备发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
通过所述收发器接收所述其他设备发送的第一信息,所述第一信息是所述其他设备根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行校正。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,具体为:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
也即是说,如果在已经识别过的记录中,存在历史数据流的特征信息与当前数据流的特征信息相同但数据流类型不同的情况,则将记录中的数据流类型更新为当前数据流的第一数据流类型,这主要是为了适应云资源的弹性部署,例如,同样的云资源在前一段时间用于视频会议,在下一段时间用于桌面云;采用上述方法能够在下一段时间内及时将数据流类型更新为桌面云,从而在弹性部署云资源的情况下仍然可以准确识别出当前数据流的数据流类型。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述设备还包括收发器,所述处理器还用于,在所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型之后,通过所述收发器向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的所述信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS***,这样OSS***就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第六种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第四方面,本申请实施例提供一种数据流类型识别设备,包括存储器、处理器和收发器,其中,存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
通过所述收发器接收其他设备发送的当前数据流的特征信息和数据流类型的信息;
根据所述当前数据流的特征信息和数据流类型的信息生成第一信息;
通过所述收发器向所述其他设备发送所述第一信息,以用于更新内容识别模型,所述内容识别模型用于得到对应于至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
上述操作中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
第五方面,本申请实施例提供一种数据流类型识别设备,该设备包括:
第一识别单元,用于根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
第二识别单元,用于根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述特征信息包括目的地址和协议类型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到的;
确定单元,用于根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
上述设备中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
结合第五方面,在第五方面的第一种可能的实现方式中,所述确定单元,用于根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型,具体为:
用于根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
在上述设备中,预先根据内容识别模型和行为识别模型各自对最终识别结果的影响程度,分别为两种模型配置置信度的权重(为行为识别模型配置的权重为第一置信度的权重,为内容识别模型配置的权重为第二置信度的权重),因此基于这两个置信度的权重计算出的综合置信度更能体现当前数据流的实际类型。另外,引入第一预设阈值来衡量对应的数据流类型是否可取,能够提高确定数据流类型的效率和准确性。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述设备还包括:
第一发送单元,用于在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值的情况下,向其他设备发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
接收单元,用于接收所述其他设备发送的第一信息,所述第一信息是所述其他设备根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
更新单元,用于根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第三种可能的实现方式中,还包括:
更新单元,用于在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值的情况下,根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行校正。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第四种可能的实现方式中,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,具体为:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
也即是说,如果在已经识别过的记录中,存在历史数据流的特征信息与当前数据流的特征信息相同但数据流类型不同的情况,则将记录中的数据流类型更新为当前数据流的第一数据流类型,这主要是为了适应云资源的弹性部署,例如,同样的云资源在前一段时间用于视频会议,在下一段时间用于桌面云;采用上述方法能够在下一段时间内及时将数据流类型更新为桌面云,从而在弹性部署云资源的情况下仍然可以准确识别出当前数据流的数据流类型。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第五种可能的实现方式中,所述设备还包括:
第二发送单元,用于在所述确定单元根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型之后,向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的所述信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS***,这样OSS***就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第六种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第六方面,本申请实施例提供一种数据流类型识别设备,该设备包括:
接收单元,用于接收其他设备发送的当前数据流的特征信息和数据流类型的信息;
生成单元,用于根据所述当前数据流的特征信息和数据流类型的信息生成第一信息;
发送单元,用于向所述其他设备发送所述第一信息,以用于更新内容识别模型,所述内容识别模型用于得到对应于至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
上述设备中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现第一方面或者第一方面的任意可能的实现方式所描述的方法。
第八方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储在存储器上,当所述计算机程序产品在处理器上运行时,实现第一方面或者第一方面的任意可能的实现方式所描述的方法。
第九方面,本申请实施例提供了一种数据流类型识别***,该***包括第一设备和第二设备,其中,所述第二设备为上述第三方面,或者第三方面的任一可能的实现方式,或者第五方面,或者第五方面的任一可能的实现方式所描述的数据流类型识别设备;所述第一设备为上述第四方面,或者第四方面的任一可能的实现方式,或者第六方面,或者第六方面的任一可能的实现方式所描述的数据流类型识别设备。
本申请实施例中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
附图说明
以下对本发明实施例用到的附图进行介绍。
图1是本发明实施例提供的一种数据流类型的识别***的架构示意图;
图2A是本发明实施例提供的内容识别模型和行为识别模型的场景示意图;
图2B是本发明实施例提供的一种分类模型的结构示意图;
图2C是本发明实施例提供的一种分类模型的结构示意图;
图2D是本发明实施例提供的一种分类模型的结构示意图;
图3是本发明实施例提供的一种数据流类型识别方法的流程示意图;
图4是本发明实施例提供的数据流a和数据流b的场景示意图;
图5是本发明实施例提供的数据流记录的样例示意图;
图6是本发明实施例提供的数据流记录的样例示意图;
图7是本发明实施例提供的一种第二设备的结构示意图;
图8是本发明实施例提供的一种第一设备的结构示意图;
图9是本发明实施例提供的又一种第二设备的结构示意图;
图10是本发明实施例提供的又一种第一设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图1,图1是本发明实施例提供的一种数据流类型的识别***的架构示意图,该***包括运维支持***(operational system support,OSS)101、服务器102、转发设备103、终端104,其中,终端104的数量可以为多个,图中仅以6个为例进行了示意,终端104上用于运行各种应用,例如,视频会议应用、语音会议应用、桌面云应用等等,不同的应用所产生的数据流的数据流类型(也称应用类型)往往不同。本申请实施例中,终端104所产生的数据流需要先通过转发设备103发往目的设备,其中,转发设备可以包括路由器、交换机等,转发设备103的数量可以是一个也可以是多个,例如,存在一个路由器和三个交换机;再如,仅存在一个交换机;再如,存在三个交换机,等等。上述服务器102可以为一个服务器或者多个服务器组成的服务器集群。
其中,终端104所产生的数据流在该终端104上该如何发送,以及在转发设备103上该如何转发,都可以按照OSS101生成的流量控制策略来进行,例如,当流量控制策略规定视频会议应用所产生的数据流具有最高优先级时,假若在终端104,或者转发设备103上有包括视频会议应用所产生的数据流在内的多种数据流需要发送时,会优先传输视频会议应用所产生的数据流。需要说明的是,该流量控制策略由OSS101基于当前数据流的数据流类型来生成的。本申请实施例中,OSS101生成流量控制策略所用到的当前数据流的数据流类型是通过第二设备来确定的。
如图2A所示,第二设备在确定当前数据流的数据流类型的时候需要用到行为识别模型和内容识别模型,其中,模型的参数可以包括但不限于置信度权重向量(w1,w2)、数据流类型的第一预设阈值θ1、第二预设阈值θ2,其中,第一预设阈值也可以称为分类阈值,用于衡量是否将数据流类型划分到某一类;第二预设阈值也称为模型更新阈值,用于衡量何时对内容识别模型进行更新。这些模型参数将在后续的方法流程中做更具体的阐述。其中,内容识别模型在对当前数据流进行数据流类型识别时的输入可以包括特征信息(如目的IP、目的端口、协议类型等),行为识别模型在对当前数据流进行数据流类型识别时的输入可以包括报文信息(如报文长度、报文传输速度、报文间隔时间、报文方向等)。第二设备对内容识别模型得到的置信度和行为识别模型得到的置信度基于置信度权重向量(w1,w2)得到最终的数据流类型;这个过程中,如果通过第二预设阈值θ2确定内容识别模型需要进行更新,则获取更新内容识别模型所需的参数。
可选的,更新所需要用到的参数可以是第二设备通过对一些数据流的相关信息进行训练得到,也可以是第一设备通过对一些数据流的相关信息进行训练得到,然后发送给第二设备。
本申请实施例中,该第二设备可以是上述OSS101,也可以是上述服务器102,也可以是上述转发设备103;另外,该第一设备可以是上述OSS101,也可以是上述服务器102,也可以是上述转发设备103。结合以上描述,该第一设备与该第二设备可以是相同的设备,也可以是不同的设备。并且,当第一设备和第二设备都不是上述服务器102时,可以认为图1所示的架构的中不存在服务器102。
需要说明的是,上述内容识别模型实质上是一个分类模型,如图2B所示,分类模型可以是树模型,如图2C所示,分类模型还可以是神经网络模型,如图2D所示,分类模型还可以是支持向量机(support vector machine,SVM)模型,当分类模型还可以是其他形式的模型。可选的,由于上述内容识别模型是通过提取输入的向量(如目的互联网协议(internetprotocol,IP)地址、目的端口号、协议类型等特征信息)的特征来分类得到的,因此该内容识别模型可以将同一目的IP地址,同一协议类型,相同端口号的数据流识别为相同的数据流类型;将同一网段,同一协议类型,相近端口号的数据流识别为相同的数据流类型;将目的端口号是20(文件传输协议(file transfer protocol,FTP)的知名端口号)的传输控制协议(transmission control protocol,TCP)流量识别为下载的数据流类型。
另外,该第二设备在识别当前数据流的数据流类型时需要用到的一些关于当前数据流的信息,都可以由终端104或者其他设备发送给第二设备,或者第二设备自己采集得到。
请参见图3,图3是本发明实施例提供的一种数据流类型识别方法,该方法可以基于图1所示的架构来实现,该方法包括但不限于如下步骤:
步骤S301:第二设备根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度。
具体地,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;可选的,该多个数据流样本可以为离线样本,即该行为识别模型可以为离线训练得到的模型。该多个数据流样本还可以为预先挑选的比较典型(或说有代表性)的样本,例如,视频会议应用的数据流的报文大多时候的报文长度比较长,但是也会偶尔出现报文长度比较短的时候,相比而言,报文长度比较长更能反映当前数据流为视频会议应用的数据流,因此,在选择关于视频会议应用的数据流时,尽量选择报文长度比较长的这种有代表性的作为数据流样本。可选的,该多个数据流样本的数据流类型可以是认为确定的,即人工打标签。由于所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,因此该行为识别模型能够反映一个数据流中的报文特征与数据流类型之间的一些关系,因此,当向该行为识别模型输入当前数据流的报文特征时,其能够一定程度上预测该当前数据流属于某个或者某些数据流类型的倾向(或者说概率),体现倾向(或者说概率)的参数也可以称为置信度。
本申请实施例中,所述报文特征可以包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,可选的,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。当然,报文特征除了包括这里举例的特征外,还可以包括其他特征,例如,报文长度、报文传输速度、报文间隔时间和报文方向中的最大值、最小值、均值、方差、分位数等。该报文特征可以是以向量的形式输入到行为识别模型中,例如可以是(报文长度,报文传输速度,报文间隔时间)这种形式。另外,本申请实施例中的数据流类型还可以称之为应用类型。
第一种可能情况中,数据流类型可能有N个,N大于或者等于1,本申请实施例可以估计(或者说预测)出当前数据流属于该N个数据流类型中每个类型的置信度,即得到所述当前数据流的对应于N个数据流类型的N个第一置信度,举例来说,假若该N个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,那么,需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度、属于语音会议的数据流类型的第一置信度、属于桌面云的数据流类型的第一置信度。假若N个数据流类型指的是视频会议的数据流类型,则需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度。
第二种可能情况,数据流类型可能有多个,但本申请实施例重点关注其中一个数据流类型,因此本申请实施例只估计(或者说预测)当前数据流属于该重点关注的数据流类型的置信度,即得到所述当前数据流的对应于一个数据流类型的一个第一置信度,举例来说,假若该多个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,但本申请实施例只关注视频会议的数据流类型,因此只需通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度即可。
步骤S202:第二设备根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度。
具体地,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型。可选的,该一条或者多条历史数据流可以为在线数据流,即在此之前的一段时间内持续产生的一条或者多条数据流,所述历史数据流的数据流类型是由上述行为识别模型识别得到的,即该内容识别模型可以为在线训练得到的模型。由于所述内容识别模型为根据一条或者多条历史数据流的特征信息和数据流类型得到的模型,因此该内容识别模型能够反映一个数据流中的特征信息与数据流类型之间的一些关系,因此,当向该内容识别模型输入当前数据流的特征信息时,其能够一定程度上预测该当前数据流属于某个或者某些数据流类型的倾向(或者说概率),体现倾向(或者说概率)的参数也可以称为置信度。
本申请实施例中,所述特征信息可以包括目的地址、协议类型、端口号中的一项或者多项,其中,目的地址可以为IP地址,也可以为目的MAC地址,还可以为其他形式的地址;当然,特征信息除了包括这里举例的特征外,还可以包括其他特征。进一步地,这里的特征信息可以是针对目标的信息,例如,目标IP,目标端口等。该特征信息可以是以向量的形式输入到内容识别模型中,可以是(ip,port,protocol)这种形式,例如可以为(10.29.74.5,8443,6)。也可以是(mac,port,protocol)这种形式,例如可以为(05FA1525EEFF,8443,6)。当然还可以是其他形式,此处不再一一举例。
第一种可能情况中,数据流类型可能有N个,本申请实施例可以估计(或者说预测)出当前数据流属于该N个数据流类型中每个类型的置信度,即得到所述当前数据流的对应于N个数据流类型的N个第二置信度,举例来说,假若该N个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,那么,需要通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度、属于语音会议的数据流类型的第二置信度、属于桌面云的数据流类型的第二置信度。假若N个数据流类型指的是视频会议的数据流类型,则需要通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度。
第二种可能情况,数据流类型可能有多个,但本申请实施例重点关注其中一个数据流类型,因此本申请实施例只估计(或者说预测)当前数据流属于该重点关注的数据流类型的置信度,即得到所述当前数据流的对应于一个数据流类型的一个第二置信度,举例来说,假若该多个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,但本申请实施例只关注视频会议的数据流类型,因此只需通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度即可。
步骤S303:第二设备根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
具体地,因为至少一个第一置信度能够在一定程度上表征当前数据流的数据类型倾向,至少一个第二置信度也可以在一定程度上表征当前数据流的数据流类型倾向,因此对两者进行综合考虑可以获得更准确可信的数据流类型倾向,从而得出当前数据流的数据流类型。
一种可选的方案中,得到的哪种数据流类型的综合置信度最大,则将该数据流类型确定为当前数据流的数据流类型,例如,根据视频会议的数据流类型的第一置信度和视频会议的数据流类型的第二置信度确定出的视频会议的数据流类型的综合置信度为0.7;根据语音会议的数据流类型的第一置信度和语音会议的数据流类型的第二置信度确定出的语音会议的数据流类型的综合置信度为0.2;根据桌面云的数据流类型的第一置信度和桌面云的数据流类型的第二置信度确定出的桌面云的数据流类型的综合置信度为0.1;由于视频会议的数据流类型的综合置信度最大,因此将当前数据流的数据流类型确定为视频会议的数据流类型。
又一种可选的方案中,所述根据至少一个第一置信度和至少一个第二置信度确定所述当前数据流的数据流类型,可以具体为:根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个,也即是说,该至少一个数据流类型中的每个数据流类型均满足这里的第一数据流类型的特征。若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型,例如,假若对应于视频会议的数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为视频会议的数据流类型;假若对应于桌面云的数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为桌面云的数据流类型。
举例来说,假若置信度权重向量(w1,w2)为(0.4,0.6),即第一置信度权重(也可以认为是行为识别模型的权重)为0.6,第二置信度权重(也可以认为是内容识别模型的权重)为0.4、数据流类型的第一预设阈值θ1等于0.5。在第二设备进行数据流类型识别之初,由于内容识别模型未得到充分训练,因此行为识别模型能够对输入的数据流进行数据流类型的识别,而内容识别模型无法对输入的流数据进行数据流类型的识别,因此起初内容识别模型识别的对应于任何数据流类型的置信度均为0。
假若存在两条桌面云的数据流,如图4所示,横轴代表数据流序号,纵轴代表报文长度,报文长度大于0为上行报文,报文长度小于0为下行报文;数据流a和数据流b均为桌面云的数据流类型,其中,数据流b有上行的报文,相对来说更能代表桌面云场景的特性,因此认为数据流b的报文行为是典型的行为。数据流a在很长一段时间内没有上行报文,无法明显表明其为桌面云场景,因此认为数据流a的报文行为是不典型的行为;行为识别模型通常是通过对典型行为的数据流进行训练得到,因此行为识别模型能够识别出数据流b的数据流类型,但无法识别出数据流a的数据流类型。数据流a和数据流b的特征信息如下。
数据流a的协议类型是TCP,目的IP地址是10.129.74.5,目的端口号是8443。
数据流b的协议类型是TCP,目的IP地址是10.129.56.39,目的端口号是443。
那么针对数据流a,内容识别模型识别是桌面云的数据流类型、语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文特征识别是桌面云的数据流类型的第一置信度是0.5、识别是语音会议的数据流类型的第一置信度均是0、识别是视频会议的数据流类型的第一置信度是0。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:0*0.4+0.5*0.6=0.3,小于θ1,因此当前数据流不是桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是视频会议的数据流类型。
那么针对数据流b,内容识别模型识别是桌面云的数据流类型、语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文特征识别是桌面云的数据流类型的第一置信度是0.9、识别是语音会议的数据流类型的第一置信度均是0、识别是视频会议的数据流类型的第一置信度是0。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:0*0.4+0.9*0.6=0.54,大于θ1,因此当前数据流是桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是视频会议的数据流类型。
本申请实施例中,该内容识别模型还可以进行更新,下面提供两种不同的更新方案。
方案一,若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值且小于第二预设阈值θ2,则第二设备向第一设备发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值。例如,针对数据流a来说,对应于桌面云的数据流类型的综合置信度0.3不在区间(θ1,θ2)内,因此无需向第一设备发送所述当前数据流的特征信息和桌面云的数据流类型的信息;再如,针对数据流b来说,对应于桌面云的数据流类型的综合置信度0.54不在区间(θ1,θ2)内,因此需要向第一设备发送所述当前数据流的特征信息(如目的IP地址10.129.56.39、目的端口号443、协议类TCP型)和桌面云的数据流类型的信息(如名称、标识等信息)。
相应的,第一设备接收第二设备发送的所述当前数据流的特征信息和所述第一数据流类型的信息,即该第一设备上就多了一条数据流记录,如图5,多了一条针对数据流b的记录。然后,该第一设备根据当前数据流的特征信息和所述第一数据流类型的信息得到的第一信息,例如,对计算置信度有影响的一些参数。可选的,第一信息属于模型文件,因此可以以模型文件的方式传输,常见开源keras库的ai模型文件是h5文件/json文件;开源sklearn库的ai模型文件是pkl/m文件。这些文件都是二进制的,用于保存模型的结构、模型的权重。
接着,第二设备接收第一设备发送的第一信息,然后根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。由于数据流b的记录中,目的IP地址为10.129.56.39、目的端口号为443、协议类型为TCP共同对应的是桌面云的数据流类型,因此,更新后的内容识别模型再对输入的数据流b进行估计时,估计出的对应于桌面云的数据流类型的第二置信度为1。可选的,由于数据流a的特征信息与数据流b的特征信息有相似之处,例如,目的IP地址在同一网段,端口号相似,协议类型相似,因此,更新后的内容识别模型再对输入的数据流a进行估计时,估计的结果会更接近对数据流b的估计结果,例如,估计出的对应于桌面云的数据流类型的第二置信度可能为0.6。
后续网络中再出现数据流a和数据流b需要估计数据流类型时,执行流程如下。
置信度权重向量(w1,w2)、第一预设阈值θ1、第二预设阈值θ2依旧不变。
那么针对数据流a,内容识别模型识别是桌面云的数据流类型的第二置信度为0.6,识别是语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文特征识别是桌面云的数据流类型的第一置信度是0.5、识别是语音会议的数据流类型的第一置信度均是0、识别是视频会议的数据流类型的第一置信度是0。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:0.6*0.4+0.5*0.6=0.54,大于θ1,因此当前数据流是桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是视频会议的数据流类型。
由于识别是桌面云的数据流类型的第二置信度0.54在区间(θ1,θ2)内,因此需要向第一设备发送所述当前数据流的特征信息和桌面云的数据流类型的信息,以用于后续对内容识别模型进行更新(更新原理前面已有介绍,此处不再赘述)。
那么针对数据流b,内容识别模型识别是桌面云的数据流类型的数据流类型的第二置信度是1、识别是语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文特征识别是桌面云的数据流类型的第一置信度是0.9、识别是语音会议的数据流类型的第一置信度均是0、识别是视频会议的数据流类型的第一置信度是0。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:1*0.4+0.9*0.6=0.94,大于θ1,因此当前数据流是桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是视频会议的数据流类型。
由于识别是桌面云的数据流类型的第二置信度0.94不在区间(θ1,θ2)内,因此不需要向第一设备发送所述当前数据流的特征信息和桌面云的数据流类型的信息。
在网络中存在云化的弹性部署场景,例如,目的IP地址为10.129.56.39,目的端口号为443,协议类型为TCP的云资源从为桌面云提供服务变成为视频会议提供服务。针对这种场景,上述第一设备根据当前数据流的特征信息和所述第一数据流类型的信息得到的第一信息,可以包括:若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;然后对包括所述第二记录的多条记录进行训练,以得到第一信息。
举例来说,数据流c的协议类型是TCP,目的IP地址是10.129.56.39,目的端口号是443。
那么针对数据流c,内容识别模型识别是桌面云的数据流类型的数据流类型的第二置信度是1、识别是语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文特征识别是桌面云的数据流类型的第一置信度是0、识别是语音会议的数据流类型的第一置信度是0、识别是视频会议的数据流类型的第一置信度是0.9。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:1*0.4+0*0.6=0.4,小于θ1,因此当前数据流不是桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0.9*0.6=0.54,大于θ1,因此当前数据流是视频会议的数据流类型。
由于识别是视频会议的数据流类型的第二置信度0.54在区间(θ1,θ2)内,因此需要向第一设备发送所述当前数据流的特征信息和桌面云的数据流类型的信息。相应的,第一设备接收第二设备发送的所述当前数据流的特征信息和所述第一数据流类型的信息,即该第一设备上就有了一条数据流记录,如图6,多了一条针对数据流c的记录。
对比图6和图5就可以发现,针对数据流c的记录与针对数据流b的记录相比,数据流类型(即应用类别)不同但特征信息(如目的IP地址、目的端口号和协议类型)相同,因此修改已有的记录,使得协议类型TCP、目的IP地址10.129.56.39、目的端口号443共同对应的数据流类型为视频会议的数据流类型,而不再是桌面云对应的数据流类型,修改前的记录即为第一记录,修改后的记录即为第二记录。
可以理解,将第一记录更新为第二记录之后,基于第二记录训练得到的第一信息来更新内容识别模型后,上述数据流c再次输入到更新后的内容识别模型时,识别其为桌面云的数据流类型的第二置信度为0,识别其为视频会议的数据流类型的第二置信度为1。
方案二,若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,第二设备无需将当前数据流的特征信息和所述第一数据流类型的信息发送给第一设备,则而是由自己根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。可选的,若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则第二设备将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。为了便于理解,具体原理可以参照上述方案一,由该第二设备替代上述方案一种第一设备执行的操作即可。
步骤S304:第二设备向运维支持***OSS发送所述当前数据流的数据流类型的信息。
具体地,第二设备可以在每次确定出当前数据流的数据流类型时,向OSS发送当前数据流的数据流类型的信息,例如,第一次生成数据流a的数据流类型时,向OSS发送数据流a的数据流类型的信息,第一次生成数据流b的数据流类型时,向OSS发送数据流b的数据流类型的信息,第二次生成数据流a的数据流类型时,向OSS发送数据流a的数据流类型的信息,第二次生成数据流b的数据流类型时,向OSS发送数据流b的数据流类型的信息;生成数据流c的数据流类型时,向OSS发送数据流c的数据流类型的信息。可以理解的是,假若第二设备为该OSS,则不需要执行上述步骤S304。
步骤S305:OSS根据当前数据流的数据流类型的信息生成针对当前数据流的流量控制策略。例如,如果当前数据流的数据流类型信息表明该当前数据流为视频桌面云的数据流类型,或者视频会议的数据流类型,则将当前数据流定义为高优先级的QoS。
步骤S306:OSS向转发设备或者终端发送所述流量控制策略。
具体地,该转发设备103可以为路由器或者交换机等设备,该终端104为输出上述当前数据流的设备。假若转发设备或者终端根据流量控制策略获知当前数据流属于高优先级的QoS,则在发现有多种数据流待发送时,优先发送被配置为高优先级的当前数据流。
在图3所描述的方法中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图7,图7是本发明实施例提供的一种数据流类型识别设备70的结构示意图,该设备70可以为图3所示方法实施例中的第二设备,该设备70可以包括第一识别单元701、第二识别单元702和确定单元703,其中,各个单元的详细描述如下。
第一识别单元701,用于根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
第二识别单元702,用于根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述特征信息包括目的地址和协议类型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到的;
确定单元703,用于根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
上述设备中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
在一种可能的实现方式中,所述确定单元703,用于根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型,具体为:
用于根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
在上述设备中,预先根据内容识别模型和行为识别模型各自对最终识别结果的影响程度,分别为两种模型配置置信度的权重(为行为识别模型配置的权重为第一置信度的权重,为内容识别模型配置的权重为第二置信度的权重),因此基于这两个置信度的权重计算出的综合置信度更能体现当前数据流的实际类型。另外,引入第一预设阈值来衡量对应的数据流类型是否可取,能够提高确定数据流类型的效率和准确性。
在又一种可能的实现方式中,所述设备70还包括:
第一发送单元,用于在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值的情况下,向其他设备(如图3所示方法实施例中的第一设备)发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
接收单元,用于接收所述其他设备(如图3所示方法实施例中的第一设备)发送的第一信息,所述第一信息是所述其他设备(如图3所示方法实施例中的第一设备)根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
更新单元,用于根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
在又一种可能的实现方式中,该设备70还包括:
更新单元,用于在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值的情况下,根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行校正。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,具体为:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
也即是说,如果在已经识别过的记录中,存在历史数据流的特征信息与当前数据流的特征信息相同但数据流类型不同的情况,则将记录中的数据流类型更新为当前数据流的第一数据流类型,这主要是为了适应云资源的弹性部署,例如,同样的云资源在前一段时间用于视频会议,在下一段时间用于桌面云;采用上述方法能够在下一段时间内及时将数据流类型更新为桌面云,从而在弹性部署云资源的情况下仍然可以准确识别出当前数据流的数据流类型。
在又一种可能的实现方式中,所述设备70还包括:
第二发送单元,用于在所述确定单元根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型之后,向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的所述信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS***,这样OSS***就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
在又一种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
请参见图8,图8是本发明实施例提供的一种数据流类型识别设备80的结构示意图,该设备80可以为图3所示方法实施例中的第一设备,该设备80可以包括接收单元801、生成单元802和发送单元803,其中,各个单元的详细描述如下。
接收单元801,用于接收其他设备(如图3所示方法实施例中的第二设备)发送的当前数据流的特征信息和数据流类型的信息;
生成单元802,用于根据所述当前数据流的特征信息和数据流类型的信息生成第一信息;
发送单元803,用于向所述其他设备(如图3所示方法实施例中的第二设备)发送所述第一信息,以用于更新内容识别模型,所述内容识别模型用于得到对应于至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
上述设备80中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
请参见图9,图9是本发明实施例提供的一种设备90,该设备90可以为图3所示方法实施例中的第二设备,该设备90包括处理器901、存储器902和收发器903,所述处理器901、存储器902和收发器903通过总线相互连接。
存储器902包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器902用于相关计算机程序及数据。收发器903用于接收和发送数据。
处理器901可以是一个或多个中央处理器(central processing unit,CPU),在处理器901是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
处理器901读取所述存储器902中存储的计算机程序代码,用于执行以下操作:
根据当前数据流的报文特征和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述特征信息包括目的地址和协议类型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到的;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型。
上述操作中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
在一种可能的实现方式中,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型,具体为:
根据对应于第一数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述第一数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
在上述操作中,预先根据内容识别模型和行为识别模型各自对最终识别结果的影响程度,分别为两种模型配置置信度的权重(为行为识别模型配置的权重为第一置信度的权重,为内容识别模型配置的权重为第二置信度的权重),因此基于这两个置信度的权重计算出的综合置信度更能体现当前数据流的实际类型。另外,引入第一预设阈值来衡量对应的数据流类型是否可取,能够提高确定数据流类型的效率和准确性。
在一种可能的实现方式中,所述处理器还用于:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则通过所述收发器向其他设备(如图3所示方法实施例中的第一设备)发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
通过所述收发器接收所述其他设备(如图3所示方法实施例中的第一设备)发送的第一信息,所述第一信息是所述其他设备(如图3所示方法实施例中的第一设备)根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
在又一种可能的实现方式中,所述处理器还用于:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行校正。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,具体为:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
也即是说,如果在已经识别过的记录中,存在历史数据流的特征信息与当前数据流的特征信息相同但数据流类型不同的情况,则将记录中的数据流类型更新为当前数据流的第一数据流类型,这主要是为了适应云资源的弹性部署,例如,同样的云资源在前一段时间用于视频会议,在下一段时间用于桌面云;采用上述方法能够在下一段时间内及时将数据流类型更新为桌面云,从而在弹性部署云资源的情况下仍然可以准确识别出当前数据流的数据流类型。
在又一种可能的实现方式中,所述处理器还用于,在所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型之后,通过所述收发器向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的所述信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS***,这样OSS***就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
在又一种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
需要说明的是,各个操作的实现还可以对应参照图3所示的方法实施例的相应描述。
请参见图10,图10是本发明实施例提供的一种设备100,该设备100可以为图3所示方法实施例中的第一设备,该设备100包括处理器1001、存储器1002和收发器1003,所述处理器1001、存储器1002和收发器1003通过总线相互连接。
存储器1002包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器1002用于相关计算机程序及数据。收发器1003用于接收和发送数据。
处理器1001可以是一个或多个中央处理器(central processing unit,CPU),在处理器1001是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
处理器1001读取所述存储器1002中存储的计算机程序代码,用于执行以下操作:
通过所述收发器接收其他设备(如图3所示方法实施例中的第二设备)发送的当前数据流的特征信息和数据流类型的信息;
根据所述当前数据流的特征信息和数据流类型的信息生成第一信息;
通过所述收发器向所述其他设备(如图3所示方法实施例中的第二设备)发送所述第一信息,以用于更新内容识别模型,所述内容识别模型用于得到对应于至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文特征和数据流类型得到的模型,所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
上述操作中,涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
需要说明的是,各个操作的实现还可以对应参照图3所示的方法实施例的相应描述。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的网络设备或主机的实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种芯片***,所述芯片***包括至少一个处理器,存储器和接口电路,所述存储器、所述收发器和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有计算机程序;所述计算机程序被所述处理器执行时,实现图3所示的方法流程。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现图3所示的方法流程。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现图3所示的方法流程得以实现。
综上所述,本申请涉及行为识别模型和内容识别模型,行为识别模型为由多个数据流样本的报文特征和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到,因此内容识别模型就是一个在线学习模型;行为识别模型能够识别出一些基本(或说典型)数据流的数据流类型,同样类型的数据流的某些特征(例如报文长度、报文传输速度等)可能在后续传输过程中发生变化,因此结合内容识别模型的在线学习特性从其他方面(如目的地址、协议类型等)对该数据流的类型进行识别,能够对冲行为识别模型在数据流传输过程中对数据流的数据流类型的识别误差,因此本申请采用行为识别模型和内容识别模型相结合的识别方式,提高了数据流的数据流类型的识别准确度,也提升了识别的泛化性,能够适用于应用云化部署、应用传输加密、私有应用等多种场景。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来计算机程序相关的硬件完成,该计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储计算机程序代码的介质。
本发明实施例中提到的第一设备、第一置信度、第一数据流类型、第一预设阈值第一信息以及第一记录中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”和“第四”等。然而,本发明实施例中提到的第一个标识中的“第一个”代表顺序上的第一。该规则同样适用于“第N个”。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、替换、改进等,均应包括在本发明的保护范围之内。

Claims (11)

1.一种数据流类型识别方法,其特征在于,包括:
根据行为识别模型得到当前数据流的对应于至少一个数据流类型的至少一个第一置信度,其中,所述行为识别模型为根据多个离线样本的报文特征得到;所述报文特征包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
根据内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度,其中,所述内容识别模型为根据一条或多条在线数据流的特征信息得到,所述特征信息包括目的地址和协议类型;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型为所述至少一个数据流类型中的任意一个。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型为所述至少一个数据流类型中的任意一个,包括:
根据对应于第一数据流类型的所述第一置信度和对应于所述第一数据流类型的所述第二置信度计算对应于所述第一数据流类型的综合置信度,所述第一数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述第一数据流类型的所述综合置信度大于第一预设阈值,则确定所述当前数据流的数据流类型为所述第一数据流类型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则向设备发送所述当前数据流的特征信息和所述第一数据流类型的信息,所述第二预设阈值大于所述第一预设阈值;
接收所述设备发送的第一信息,所述第一信息是所述设备根据所述当前数据流的特征信息和所述第一数据流类型的标识信息得到的;
根据所述第一信息更新所述内容识别模型,以得到新的内容识别模型。
4.根据权利要求2所述的方法,其特征在于,还包括:
若对应于所述第一数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前数据流的特征信息和所述第一数据流类型信息更新所述内容识别模型,以得到新的内容识别模型,包括:
若多条记录中的第一记录的特征信息与所述当前数据流的特征信息相同但所述第一记录的数据流类型与所述第一数据流类型不同,则将所述第一记录的数据流类型更新为所述第一数据流类型,以获得第二记录;所述多条记录中的每一条记录包括特征信息和数据流类型;
对包括所述第二记录的多条记录进行训练,以得到新的内容识别模型。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的数据流类型为所述至少一个数据流类型中的任意一个之后,还包括:
向运维支持***OSS发送所述当前数据流的数据流类型的信息,所述当前数据流的数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述报文长度包括报文中以太帧长度、IP长度、传输协议长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议 UDP。
8.一种计算机设备,其特征在于,所述设备包括存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,以使得所述设备执行如权利要求1-7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在处理器上运行时,实现权利要求1-7任一所述的方法。
10.一种芯片,包括处理器,其特征在于,所述处理器用于执行程序指令以实现权利要求1-7任一所述的方法。
11.一种数据流类型识别***,其特征在于,所述***包括第一设备,所述第一设备用于执行如权利要求1-7任一项所述的方法。
CN202111645523.8A 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备 Active CN114465962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111645523.8A CN114465962B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910872990.0A CN112511457B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备
CN202111645523.8A CN114465962B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910872990.0A Division CN112511457B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备

Publications (2)

Publication Number Publication Date
CN114465962A CN114465962A (zh) 2022-05-10
CN114465962B true CN114465962B (zh) 2024-01-05

Family

ID=74883367

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111645523.8A Active CN114465962B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备
CN201910872990.0A Active CN112511457B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910872990.0A Active CN112511457B (zh) 2019-09-16 2019-09-16 一种数据流类型识别方法及相关设备

Country Status (7)

Country Link
US (1) US11838215B2 (zh)
EP (1) EP4024791B1 (zh)
JP (1) JP7413515B2 (zh)
KR (1) KR20220053658A (zh)
CN (2) CN114465962B (zh)
BR (1) BR112022004814A2 (zh)
WO (1) WO2021052379A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11785104B2 (en) * 2017-11-27 2023-10-10 Lacework, Inc. Learning from similar cloud deployments
US11894984B2 (en) * 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11818156B1 (en) 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US11742901B2 (en) * 2020-07-27 2023-08-29 Electronics And Telecommunications Research Institute Deep learning based beamforming method and apparatus
CN115696455A (zh) * 2021-07-27 2023-02-03 华为技术有限公司 一种流控处理的方法及通信装置
CN113935431B (zh) * 2021-10-28 2022-04-08 北京永信至诚科技股份有限公司 一种多流关联分析识别私有加密数据的方法及***
CN115037698B (zh) * 2022-05-30 2024-01-02 天翼云科技有限公司 一种数据识别方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682812B1 (en) * 2010-12-23 2014-03-25 Narus, Inc. Machine learning based botnet detection using real-time extracted traffic features
CN107360159A (zh) * 2017-07-11 2017-11-17 中国科学院信息工程研究所 一种识别异常加密流量的方法及装置
CN108173708A (zh) * 2017-12-18 2018-06-15 北京天融信网络安全技术有限公司 基于增量学习的异常流量检测方法、装置及存储介质
CN108200032A (zh) * 2017-12-27 2018-06-22 北京奇艺世纪科技有限公司 一种数据检测方法、装置及电子设备
CN108650195A (zh) * 2018-04-17 2018-10-12 南京烽火天地通信科技有限公司 一种app流量自动识别模型构建方法
CN108667747A (zh) * 2018-04-28 2018-10-16 深圳信息职业技术学院 网络流应用类型识别的方法、装置及计算机可读存储介质
CN109067612A (zh) * 2018-07-13 2018-12-21 哈尔滨工程大学 一种基于增量聚类算法的在线流量识别方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228489A (ja) * 2006-02-27 2007-09-06 Nec Corp アプリケーション識別システム、アプリケーション識別方法及びアプリケーション識別用プログラム
US8634399B2 (en) 2006-04-12 2014-01-21 Qualcomm Incorporated Uplink and bi-directional traffic classification for wireless communication
FR2957738B1 (fr) * 2010-03-17 2012-04-20 Thales Sa Procede d'identification d'un protocole a l'origine d'un flux de donnees
US9094288B1 (en) * 2011-10-26 2015-07-28 Narus, Inc. Automated discovery, attribution, analysis, and risk assessment of security threats
JP5812282B2 (ja) * 2011-12-16 2015-11-11 公立大学法人大阪市立大学 トラヒック監視装置
CA2840735A1 (en) * 2013-02-04 2014-08-04 Huawei Technologies Co., Ltd. Feature extraction apparatus, and network traffic identification method, apparatus, and system
US20140321290A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Management of classification frameworks to identify applications
RU2589852C2 (ru) * 2013-06-28 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ автоматической регулировки правил контроля приложений
US9721212B2 (en) * 2014-06-04 2017-08-01 Qualcomm Incorporated Efficient on-device binary analysis for auto-generated behavioral models
CN105007282B (zh) * 2015-08-10 2018-08-10 济南大学 面向网络服务提供商的恶意软件网络行为检测方法及***
JP2017139580A (ja) * 2016-02-02 2017-08-10 沖電気工業株式会社 通信解析装置及び通信解析プログラム
US20170364794A1 (en) * 2016-06-20 2017-12-21 Telefonaktiebolaget Lm Ericsson (Publ) Method for classifying the payload of encrypted traffic flows
CN107360032B (zh) * 2017-07-20 2020-12-01 中国南方电网有限责任公司 一种网络流识别方法及电子设备
US10555040B2 (en) * 2018-06-22 2020-02-04 Samsung Electronics Co., Ltd. Machine learning based packet service classification methods for experience-centric cellular scheduling
CN108900432B (zh) * 2018-07-05 2021-10-08 中山大学 一种基于网络流行为的内容感知方法
CN109818976B (zh) * 2019-03-15 2021-09-21 杭州迪普科技股份有限公司 一种异常流量检测方法及装置
CN110138681B (zh) * 2019-04-19 2021-01-22 上海交通大学 一种基于tcp报文特征的网络流量识别方法及装置
CN110048962A (zh) * 2019-04-24 2019-07-23 广东工业大学 一种网络流量分类的方法、***及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682812B1 (en) * 2010-12-23 2014-03-25 Narus, Inc. Machine learning based botnet detection using real-time extracted traffic features
CN107360159A (zh) * 2017-07-11 2017-11-17 中国科学院信息工程研究所 一种识别异常加密流量的方法及装置
CN108173708A (zh) * 2017-12-18 2018-06-15 北京天融信网络安全技术有限公司 基于增量学习的异常流量检测方法、装置及存储介质
CN108200032A (zh) * 2017-12-27 2018-06-22 北京奇艺世纪科技有限公司 一种数据检测方法、装置及电子设备
CN108650195A (zh) * 2018-04-17 2018-10-12 南京烽火天地通信科技有限公司 一种app流量自动识别模型构建方法
CN108667747A (zh) * 2018-04-28 2018-10-16 深圳信息职业技术学院 网络流应用类型识别的方法、装置及计算机可读存储介质
CN109067612A (zh) * 2018-07-13 2018-12-21 哈尔滨工程大学 一种基于增量聚类算法的在线流量识别方法

Also Published As

Publication number Publication date
US20220210082A1 (en) 2022-06-30
EP4024791A4 (en) 2022-09-28
CN112511457B (zh) 2021-12-28
CN114465962A (zh) 2022-05-10
EP4024791A1 (en) 2022-07-06
BR112022004814A2 (pt) 2022-06-21
JP2022548136A (ja) 2022-11-16
WO2021052379A1 (zh) 2021-03-25
US11838215B2 (en) 2023-12-05
CN112511457A (zh) 2021-03-16
JP7413515B2 (ja) 2024-01-15
EP4024791B1 (en) 2024-06-19
KR20220053658A (ko) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114465962B (zh) 一种数据流类型识别方法及相关设备
CN111404833B (zh) 一种数据流类型识别模型更新方法及相关设备
JP7184125B2 (ja) トラヒック分析装置、方法及びプログラム
US8432919B2 (en) Data stream classification
US11956118B2 (en) Fault root cause identification method, apparatus, and device
CN111191767A (zh) 一种基于向量化的恶意流量攻击类型的判断方法
CN113452676B (zh) 一种检测器分配方法和物联网检测***
Estrada-Solano et al. Nelly: Flow detection using incremental learning at the server side of sdn-based data centers
CN116545936A (zh) 拥塞控制方法、***、装置、通信设备及存储介质
US20190356564A1 (en) Mode determining apparatus, method, network system, and program
US9122546B1 (en) Rapid processing of event notifications
Preamthaisong et al. Enhanced DDoS detection using hybrid genetic algorithm and decision tree for SDN
CN107070851B (zh) 基于网络流的连接指纹生成和垫脚石追溯的***和方法
US12021755B2 (en) Classification and forwarding of network traffic flows
CN113301134B (zh) 一种适用于边缘物联代理装置的容错型协作决策的方法
WO2024119513A1 (en) Device and method for agent for dynamically adapting explicit congestion notification configuration in network system
WO2023012928A1 (ja) デバイス推定システム、デバイス推定装置、パケット解析モデル学習装置、波形解析モデル学習装置、および、プログラム
JP7095624B2 (ja) 識別装置及び識別プログラム
US20230239247A1 (en) Method and system for dynamic load balancing
CN115687997A (zh) 电子设备的设备属性确定方法及装置
CN115996168A (zh) 有监督的服务质量改变推导
An et al. Evaluating SIP-based VoIP communication quality and network security
KR20230036295A (ko) 플로우 데이터 기반 스팸 메일 서버 탐지 방법 및 장치
Tadesse Statistical Modeling of Internet Traffic Flow Length and Flow Size
CN114866281A (zh) 一种在p4交换机上部署随机森林模型的方法

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