CN111404833B - 一种数据流类型识别模型更新方法及相关设备 - Google Patents

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

Info

Publication number
CN111404833B
CN111404833B CN202010130637.8A CN202010130637A CN111404833B CN 111404833 B CN111404833 B CN 111404833B CN 202010130637 A CN202010130637 A CN 202010130637A CN 111404833 B CN111404833 B CN 111404833B
Authority
CN
China
Prior art keywords
data stream
recognition model
data
stream type
current
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
CN202010130637.8A
Other languages
English (en)
Other versions
CN111404833A (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 CN202010130637.8A priority Critical patent/CN111404833B/zh
Publication of CN111404833A publication Critical patent/CN111404833A/zh
Priority to PCT/CN2020/119665 priority patent/WO2021169308A1/zh
Priority to EP20922372.6A priority patent/EP4087202A4/en
Application granted granted Critical
Publication of CN111404833B publication Critical patent/CN111404833B/zh
Priority to US17/896,943 priority patent/US20220407809A1/en
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/028Capturing of monitoring data by filtering
    • 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
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • 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
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

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

Abstract

本申请实施例提供一种数据流类型识别模型更新方法及相关设备,该方法是包括:根据当前数据流的报文信息、行为识别模型确定当前数据流对应的第一数据流类型;根据目标对应关系和当前数据流的通用特征确定当前数据流对应的第二数据流类型,其中,目标对应关系为多个通用特征与多个数据流类型的对应关系;若当前数据流对应的第一数据流类型和当前数据流对应的第二数据流类型不同,则获取当前数据流对应的校正数据,其中,当前数据流对应的校正数据包括当前数据流的报文信息和当前数据流对应的第二数据流类型,校正数据用于作为训练样本更新行为识别模型。这种获得用于更新行为识别模型的训练样本的方式效率更高。

Description

一种数据流类型识别模型更新方法及相关设备
技术领域
本发明涉及计算机技术领域和通信领域,进一步涉及人工智能(ArtificialIntelligence,AI)在计算机技术领域和通信领域的应用,尤其涉及一种数据流类型识别模型更新方法及相关设备。
背景技术
随着计算机技术的迅猛发展,越来越多的企业使用私有的办公类应用进行办公,如桌面云、语音会议、视频会议等均属于私有的办公类应用。为了合理安排各业务的流量提高业务的可靠性,通常需要合理配置QoS优先级、实时选路等。而QoS优先级、实时选路等的前提是需要获知当前的办公应用属于哪种类型的应用(即哪种数据流类型)。
目前主要采用如下方式来获知办公应用的类型,预先采集样本数据,然后通过人工或使用第三方工具对样本数据进行标注,之后对标注过的样本数据使用机器学习或者神经网络的算法进行模型的离线训练,再通过离线训练得到的模型预测现网流量的应用类型。然而,人为标注来获取训练样本的方式效率较低。
发明内容
本发明实施例公开了一种数据流类型识别模型更新方法及相关设备,能够更高效地获取用于更新行为识别模型的训练样本。
第一方面,本申请实施例提供一种数据流类型识别模型更新方法,该方法包括:
根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同,则获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型。
在上述方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,包括:若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
结合第一方面,在第一方面的第二种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第一方面,在第一方面的第三种可能的实现方式中,
所述获取所述当前数据流对应的校正数据之后,还包括:
向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。
在该方法中,训练新的行为识别模型的操作由指定的具有较强计算能力的第一设备来实现,第三设备只需根据第一设备发送的新的模型参数就可以对自己的行为识别模型,这样该第三设备就可以将主要的计算资源用在报文转发上面,有效保证了第三设备的报文转发性能。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取所述当前数据流对应的校正数据之后,还包括:根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
该方法里面,训练行为识别模型的操作由第三设备来实现,相当于使用行为识别模型和训练行为识别模型都在同一个设备上。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型,包括:
若当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流。
该方法里面,更新行为识别模型是存在触发条件的,具体就是看当前是否已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,通过合理配置M可以避免过于频繁更新行为识别模型而带来不必要的计算开销,也可以避免因更新频率不够而带来的行为识别模型预存不准确的问题。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第六种可能的实现方式中:所述根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,包括:
根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型;
其中,所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第七种可能的实现方式中,
若所述Y条数据流与所述M条数据流来自至少两个不同的网络,根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,包括:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第八种可能的实现方式中,所述根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,包括:
根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
在上述方法中,根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,包括:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第十种可能的实现方式中,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型,包括:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述方法还包括:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给第二设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述方法还包括:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,对当前数据流的相关信息进行训练,以获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,还包括:
向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS系统,这样OSS系统就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第一方面,或者第一方面的上述任一种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第二方面,本申请实施例提供一种数据流类型识别模型更新方法,该方法包括:
接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若累计接收到了来自所述第三设备的M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
在上述方法中,第一设备在累计一定数量的来自第三设备的校正数据的情况下,根据该一定数量的校正数据对该行为识别模型进行训练得到新的行为识别模型,并在训练出新的行为识别模型向第三设备发送用于描述该新的行为识别模型的信息,以用于该第三设备对第三设备上的行为识别模型进行更新。
以上方法无需第三设备进行模型训练,只需基于第一设备的模型训练结果直接得到新的行为识别模型即可,有利于第三设备充分利用计算资源来进行数据流类型的识别。
结合第二方面,在第二方面的第一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第二方面,或者第二方面的上述任一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
结合第二方面,或者第二方面的上述任一种可能的实现方式,在第二方面的第三种可能的实现方式种,所述根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,包括:
根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第二方面,或者第二方面的上述任一种可能的实现方式,在第二方面的第四种可能的实现方式中,若所所述Y条数据流与所述M条数据流来自至少两个不同的网络;所述根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型,包括:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第二方面,或者第二方面的上述任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述方法还包括:
接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
在上述方法中,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果发现模型准确度不高,则触发第一设备结合相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型的方式能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
第三方面,本申请实施例提供一种数据流类型识别模型更新设备,所述设备是第三设备,所述第三设备包括存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若根据所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同,则获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型。
在上述方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
结合第三方面,在第三方面的第一种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,所述处理器具体用于:
若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第三种可能的实现方式中,
所述设备还包括通信接口,所述获取所述当前数据流对应的校正数据之后,所述处理器还用于:
通过所述通信接口向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
通过所述通信接口接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的第一模型数据,其中,所述第一模型数据用于描述对所述行为识别模型进行训练得到的新的行为识别模型。
在该方法中,训练新的行为识别模型的操作由指定的具有较强计算能力的第一设备来实现,第三设备只需根据第一设备发送的新的模型参数就可以对自己的行为识别模型,这样该第三设备就可以将主要的计算资源用在报文转发上面,有效保证了第三设备的报文转发性能。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述获取所述当前数据流对应的校正数据之后,所述处理器具体用于:根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
该方法里面,训练行为识别模型的操作由第三设备来实现,相当于使用行为识别模型和训练行为识别模型都在同一个设备上。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第五种可能的实现方式中,在所述根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;所述M条数据流包括所述当前数据流,M为预设的参考阈值。
该方法里面,更新行为识别模型是存在触发条件的,具体就是看当前是否已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,通过合理配置M可以避免过于频繁更新行为识别模型而带来不必要的计算开销,也可以避免因更新频率不够而带来的行为识别模型预存不准确的问题。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第六种可能的实现方式中:所述根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型;
其中,所述Y条数据流与所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第七种可能的实现方式中,
若所述Y条数据流与所述M条数据流来自至少两个不同的网络,根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第八种可能的实现方式中,在根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述处理器具体用于:
根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
在上述方法中,具体根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第九种可能的实现方式中,在根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型方面,所述处理器具体用于:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第十种可能的实现方式中,在根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型方面,所述处理器具体用于:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第十一种可能的实现方式中,所述设备还包括通信接口,所述处理器还用于:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则通过所述通信接口向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
通过所述通信接口接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给第二设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第十二种可能的实现方式中,所述处理器还用于:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,对当前数据流的相关信息进行训练,以获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第十三种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,所述处理器还用于:
通过所述通信接口向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS系统,这样OSS系统就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第三方面,或者第三方面的上述任一种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第四方面,本申请实施例提供一种数据流类型识别模型更新设备,所述设备是第一设备,所述第一设备包括存储器、处理器和通信接口,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
通过所述通信接口接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若累计接收到了来自所述第三设备的M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
通过所述通信接口向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
在上述方法中,第一设备在累计一定数量的来自第三设备的校正数据的情况下,根据该一定数量的校正数据对该行为识别模型进行训练得到新的行为识别模型,并在训练出新的行为识别模型向第三设备发送用于描述该新的行为识别模型的信息,以用于该第三设备对第三设备上的行为识别模型进行更新。
以上方法无需第三设备进行模型训练,只需基于第一设备的模型训练结果直接得到新的行为识别模型即可,有利于第三设备充分利用计算资源来进行数据流类型的识别。
结合第四方面,在第四方面的第一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第四方面,或者第四方面的上述任一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
结合第四方面,或者第四方面的上述任一种可能的实现方式,在第四方面的第三种可能的实现方式中:所述根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述处理器具体用于:
根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第四方面,或者第四方面的上述任一种可能的实现方式,在第四方面的第四种可能的实现方式中,若所所述Y条数据流与所述M条数据流来自至少两个不同的网络;所述根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述处理器具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第四方面,或者第四方面的上述任一种可能的实现方式,在第四方面的第五种可能的实现方式中,所述处理器还用于:
通过所述通信接口接收所述第三设备发送的当前数据流的特征信息和第二数据流类型;
根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
通过所述通信接口向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
在上述方法中,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果发现模型准确度不高,则触发第一设备结合相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型的方式能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
第五方面,本申请实施例提供一种数据流类型识别模型更新装置,该装置为第三设备或者第三设备里面的模块或者器件,其包括:
第一确定单元,用于根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
第二确定单元,用于根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元,用于在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下,获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型。
上述方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
结合第五方面,在第五方面的第一种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型方面,所述第二确定单元具体用于:若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
结合第五方面,在第五方面的第二种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第五方面,在第五方面的第三种可能的实现方式中,还包括:
第一发送单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
第一接收单元,用于接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。
在该方法中,训练新的行为识别模型的操作由指定的具有较强计算能力的第一设备来实现,第三设备只需根据第一设备发送的新的模型参数就可以对自己的行为识别模型,这样该第三设备就可以将主要的计算资源用在报文转发上面,有效保证了第三设备的报文转发性能。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第四种可能的实现方式中,还包括:
第一更新单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
该方法里面,训练行为识别模型的操作由第三设备来实现,相当于使用行为识别模型和训练行为识别模型都在同一个设备上。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第五种可能的实现方式中,在根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
若当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流。
该方法里面,更新行为识别模型是存在触发条件的,具体就是看当前是否已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,通过合理配置M可以避免过于频繁更新行为识别模型而带来不必要的计算开销,也可以避免因更新频率不够而带来的行为识别模型预存不准确的问题。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第六种可能的实现方式中:在根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型;
其中,所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第七种可能的实现方式中,在所述若所述Y条数据流与所述M条数据流来自至少两个不同的网络,根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第八种可能的实现方式中,在根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型方面,所述第一确定单元具体用于:
根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
在上述方法中,根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第九种可能的实现方式中,在所述根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型方面,所述第一确定单元具体用于:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第十种可能的实现方式中,在根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型方面,所述第一确定单元具体用于:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第十一种可能的实现方式中,还包括:
第二发送单元,用于在对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
第二接收单元,用于接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型的标识信息得到的新的内容识别模型。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给第二设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第十二种可能的实现方式中,还包括:
第二更新单元,用于在对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,对当前数据流的相关信息进行训练,以获得新的内容识别模型,以使得下一次的认定结果更加准确。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第十三种可能的实现方式中,还包括:
第三发送单元,用于在所述第二确定单元根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS系统,这样OSS系统就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
结合第五方面,或者第五方面的上述任一种可能的实现方式,在第五方面的第十四种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
第六方面,本申请实施例提供一种数据流类型识别模型更新装置,该装置为第一设备或者第一设备里面的模块或者器件,其包括:
第一接收单元,用于接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元,用于在累计接收到了来自所述第三设备的M条数据流对应的校正数据的情况下,根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
第一发送单元,用于向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
在上述方法中,第一设备在累计一定数量的来自第三设备的校正数据的情况下,根据该一定数量的校正数据对该行为识别模型进行训练得到新的行为识别模型,并在训练出新的行为识别模型向第三设备发送用于描述该新的行为识别模型的信息,以用于该第三设备对第三设备上的行为识别模型进行更新。以上方法无需第三设备进行模型训练,只需基于第一设备的模型训练结果直接得到新的行为识别模型即可,有利于第三设备充分利用计算资源来进行数据流类型的识别。
结合第六方面,在第六方面的第一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
结合第六方面,或者第六方面的上述任一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
结合第六方面,或者第六方面的上述任一种可能的实现方式,在第六方面的第三种可能的实现方式种,在根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
结合第六方面,或者第六方面的上述任一种可能的实现方式,在第六方面的第四种可能的实现方式中,若所所述Y条数据流与所述M条数据流来自至少两个不同的网络;在根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
结合第六方面,或者第六方面的上述任一种可能的实现方式,在第六方面的第五种可能的实现方式中,还包括:
第二接收单元,用于接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
生成单元,用于根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
第二发送单元,用于向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
在上述方法中,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果发现模型准确度不高,则触发第一设备结合相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型的方式能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现第一方面或者第一方面的任意可能的实现方式所描述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现第二方面或者第二方面的任意可能的实现方式所描述的方法。
第九方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储在存储器上,当所述计算机程序产品在处理器上运行时,实现第一方面或者第一方面的任意可能的实现方式所描述的方法。
第十方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储在存储器上,当所述计算机程序产品在处理器上运行时,实现第二方面或者第二方面的任意可能的实现方式所描述的方法。
第十一方面,本申请实施例提供了一种数据流类型识别系统,包括第三设备和第一设备:
所述第三设备为上述第三方面所描述的数据流类型识别模型更新设备,或者第三方面的任一可能的实现方式所描述的数据流类型识别模型更新设备,或者第五方面所描述的数据流类型识别模型更新装置,或者第五方面的任一可能的实现方式所描述的数据流类型识别模型更新装置;
所述第一设备为上述第四方面所描述的数据流类型识别模型更新设备,或者第四方面的任一可能的实现方式所描述的数据流类型识别模型更新设备,或者第六方面所描述的数据流类型识别模型更新装置,或者第六方面的任一可能的实现方式所描述的数据流类型识别模型更新装置。
在本申请实施例中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
除此之外,可以具体根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
另外,在第三设备通过已训练出的行为识别模型识别数据流类型的过程中,如果通过地址校正模型(包含基于通用特征的对应关系)发现识别结果出现偏差,则在累计多次出现偏差的情况下第一设备或者第三设备结合导致偏差的相关数据重新训练该行为识别模型,并在训练出新的行为识别模型后对第三设备上的行为识别模型进行更新,这种迭代更新的行为识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
另外,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果讲综合置信度与预设的更新阈值θ2比较发现需要更新,则在累计多次出现需要更新的情况下第二设备或者第三设备结合导致综合置信度低于θ2的相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
附图说明
以下对本发明实施例用到的附图进行介绍。
图1是本发明实施例提供的一种数据流类型的识别系统的架构示意图;
图2A是本发明实施例提供的内容识别模型和行为识别模型的场景示意图;
图2B是本发明实施例提供的一种分类模型的结构示意图;
图2C是本发明实施例提供的一种分类模型的结构示意图;
图2D是本发明实施例提供的一种分类模型的结构示意图;
图3是本发明实施例提供的一种数据流类型识别方法的流程示意图;
图4是本发明实施例提供的数据流a和数据流b的场景示意图;
图5是本发明实施例提供的数据流记录的样例示意图;
图6是本发明实施例提供的数据流记录的样例示意图;
图7是本发明实施例提供的一种数据流类型识别模型更新装置的结构示意图;
图8是本发明实施例提供的又一种数据流类型识别模型更新装置的结构示意图;
图9是本发明实施例提供的一种数据流类型识别模型更新设备的结构示意图;
图10是本发明实施例提供的又一种数据流类型识别模型更新设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图1,图1是本发明实施例提供的一种数据流类型的识别系统的架构示意图,该系统包括第一设备101、第二设备102、第三设备103和终端104,这些设备可以通过有线或者无线的方式进行连接,其中:
终端104上用于运行各种应用,例如,视频会议应用、语音会议应用、桌面云应用等等,不同的应用所产生的数据流的数据流类型(也称应用类型)往往不同。本申请实施例中,终端104所产生的数据流需要先通过第三设备103发往目的设备,其中,第三设备103可以包括路由器、交换机等转发设备,第三设备103的数量可以是一个也可以是多个,例如,存在一个路由器和三个交换机;再如,仅存在一个交换机;再如,存在三个交换机,等等。
其中,终端104所产生的数据流在该终端104上该如何发送,以及在第三设备103上该如何转发,都可以按照运维支持系统(operational system support,OSS)生成的流量控制策略来进行,例如,当流量控制策略规定视频会议应用所产生的数据流具有最高优先级时,假若在终端104,或者第三设备103上有包括视频会议应用所产生的数据流在内的多种数据流需要发送时,会优先传输视频会议应用所产生的数据流。需要说明的是,该流量控制策略由OSS101基于当前数据流的数据流类型来生成的。本申请实施例中,OSS101生成流量控制策略所用到的当前数据流的数据流类型可以通过第三设备103来确定的。
如图2A所示,第三设备103在确定当前数据流的数据流类型的时候需要用到行为识别模型、内容识别模型和地址校正模型,其中,模型的参数可以包括但不限于置信度权重向量(w1,w2)、数据流类型的第一预设阈值θ1、第二预设阈值θ2等,其中,第一预设阈值θ1也可以称为分类阈值,用于衡量是否将数据流类型划分到某一类;第二预设阈值θ2也称为模型更新阈值,用于衡量何时对内容识别模型进行更新。这些模型参数将在后续的方法流程中做更具体的阐述。其中,内容识别模型在对当前数据流进行数据流类型识别时的输入可以包括特征信息(如目的IP、目的端口、协议类型等),行为识别模型在对当前数据流进行数据流类型识别时的输入可以包括报文信息(如报文长度、报文传输速度、报文间隔时间、报文方向等)。第三设备103对内容识别模型得到的置信度和行为识别模型得到的置信度基于置信度权重向量(w1,w2)得到第一数据流类型,另外,第三设备103还会通过地址校正模型来预测当前数据流的第二数据流类型,如果能够预测得到当前数据流的第二数据流类型,则将该第二数据流类型作为该当前数据流最终的数据流类型;如果没有预测到当前数据流的第二数据流类型,则将该第一数据流类型作为该当前数据流最终的数据流类型。
本申请实施例中,会在合适的时机对上述行为识别模型和内容识别模型进行更新,其中,针对行为识别模型,可以由第三设备103自己对相应的数据样本(或者训练数据)进行训练来更新该行为识别模型,也可以由第一设备101对相应的数据样本进行训练得到新的模型参数,然后发送给第三设备103以供第三设备103更新该行为识别模型;另外,更新行为识别模型的条件可以是一次或者多次出现数据流的第一数据流类型与数据流的第二数据流类型不一致。针对该内容识别模型,可以由第三设备103自己对相应的数据样本进行训练来更新内容识别模型,也可以由第二设备102对相应的数据样本进行训练得到新的模型参数,然后发送给第三设备103以供第三设备103更新该内容识别模型;另外,更新内容识别模型的条件可以是确定出当前数据流为第一数据流类型的置信度高于第一预设阈值θ1但是低于第二预设阈值θ2。
需要说明的是,上述内容识别模型实质上是一个分类模型,如图2B所示,分类模型可以是树模型,如图2C所示,分类模型还可以是神经网络模型,如图2D所示,分类模型还可以是支持向量机(support vector machine,SVM)模型,当分类模型还可以是其他形式的模型。可选的,由于上述内容识别模型是通过提取输入的向量(如目的互联网协议(internetprotocol,IP)地址、目的端口号、协议类型等特征信息)的特征来分类得到的,因此该内容识别模型可以将同一目的IP地址,同一协议类型,相同端口号的数据流识别为相同的数据流类型;将同一网段,同一协议类型,相近端口号的数据流识别为相同的数据流类型;将目的端口号是20(文件传输协议(file transfer protocol,FTP)的知名端口号)的传输控制协议(transmission control protocol,TCP)流量识别为下载的数据流类型。
需要说明的是,图1所示的架构中的第一设备101可以是一个服务器或者服务器集群,可以部署在本地,或者远端,或者云端。上述第二设备102可以为一个服务器或者多个服务器组成的服务器集群。多个第二设备102通过网络与该第一设备101连接,一个第二设备102以及与该一个第二设备102连接的一个或者多个第三设备103属于一个网络,另一个第二设备102与该另一个第二设备102连接的一个或者多个第三设备103属于另一个网络。本申请实施例中,网络可以按照地理位置进行划分,例如,两个不同地理位置的网络属于两个不同的网络;网络可以按照网络形态进行划分,例如,蜂窝网络、Wi-Fi网络、有线网络分别属于三个不同的网络;再如,两个不同的局域网属于两个不同的网络;当然,还可以有其他的划分方式。通过这种部署方式,第一设备101在为任何一个第三设备103训练用于更新模型的参数时,可以用到其他网络中的第三设备103提供工的训练数据。
可选的,图1所示的架构可以看做是一个三层架构,其中:
第一设备101属于这三层中的最高一层,相比而言其具有最大的存储量、最强的计算能力,因此训练行为识别模型需要用到的庞大数据(如数据流类型和报文信息)存放在该第一设备101上面,例如存储在其中的行为知识库中;并且对该庞大数据的计算也由该第一设备101来完成。除此之外,因为第三设备103提交给第一设备101的数据流类型、报文信息等基本都是脱敏的,由第一设备101来处理也不会导致安全问题。
第二设备102属于这三层中的中间层,相比而言存储能力和计算能力适中,能够存储一定量的特征信息(如IP地址、TCP协议等)和数据流类型,如存放在其中的地址知识库中。由于第二设备102在第三设备103所属的局域网内,所以IP地址等信息不用出局域网,其存放在第二设备102上没有安全和隐私的风险。另外,由于第二设备102与第三设备103比较近,内容识别模型的更新需求可以及时反馈到第二设备102,为内容识别模型的频繁更新提供了便利。
第三设备103属于这三层中的最低一层,其主要功能通常是进行数据报文的转发,因此内容识别模型、行为识别模型训练的操作,以及训练所要用到的样本数据的存储,可以都不在该第三设备103上进行。
在一种可能的实现方式中,也可以不采用多个网络联合部署的方式,这种情况下,第一设备101连接的第二设备102的数量可以为一个,也即是说,第一设备101在为任何一个第三设备103训练用于更新模型的参数时,只用到该第三设备103所属的网络中的第三设备103提供的训练数据,不使用其他网络中的设备提供的训练数据。针对这种情况,还可以对架构做进一步变换,例如,去掉第一设备101,并将前后文中提高的第一设备101执行的操作及相应的功能集成到第二设备102中,即原本第一设备101执行的操作及功能都在本地实现。
在又一种可能的实现方式中,以上提及的根据相应模型预测当前数据流的数据流类型的操作,以及更新模型的操作可以由第三设备103做,也可以是其他设备,如第二设备102、第三设备103、OSS等来做,当由这些设备来做的时候,后续方法实施例中的执行这些操作的主语更换为第二设备102、第三设备103、OSS,除此之外,可能还需要对部分技术表述做符合逻辑的简单推理,例如,原来由第三设备103执行更新时如果涉及接收第一设备101发送的第一信息,那么当更新的操作更换为部署在第一设备101来实现时,第一设备101直接用第一信息即可,不用其他设备向该第一设备101发送的第一信息。
请参见图3,图3是本发明实施例提供的一种数据流类型识别方法,该方法可以基于图1所示的架构来实现,该方法包括但不限于如下步骤:
步骤S301:第三设备根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,下面例举几种可选的方案。
可选方案一:第三设备确定所述当前数据流对应的第一数据流类型仅用到当前数据流的报文信息和行为识别模型,具体实现如下。
所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型;可选的,该多个数据流样本可以为离线样本,即该行为识别模型可以为离线训练得到的模型。该多个数据流样本还可以为预先挑选的比较典型(或说有代表性)的样本,例如,视频会议应用的数据流的报文大多时候的报文长度比较长,但是也会偶尔出现报文长度比较短的时候,相比而言,报文长度比较长更能反映当前数据流为视频会议应用的数据流,因此,在选择关于视频会议应用的数据流时,尽量选择报文长度比较长的这种有代表性的作为数据流样本。可选的,该多个数据流样本的数据流类型可以是人为确定的,即人工打标签。由于所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,因此该行为识别模型能够反映一个数据流中的报文信息与数据流类型之间的一些关系,因此,当向该行为识别模型输入当前数据流的报文信息时,其能够一定程度上预测该当前数据流属于某个或者某些数据流类型的倾向(或者说概率),体现倾向(或者说概率)的参数也可以称为置信度。
本申请实施例中,报文信息可以包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,可选的,报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。当然,报文信息除了包括这里举例的特征外,还可以包括其他特征,例如,报文长度、报文传输速度、报文间隔时间和报文方向中的最大值、最小值、均值、方差、分位数等。该报文信息可以是以向量的形式输入到行为识别模型中,例如可以是(报文长度,报文传输速度,报文间隔时间)这种形式。另外,本申请实施例中的数据流类型还可以称之为应用类型。
第一种可能情况中,数据流类型可能有N个,N大于或者等于1,本申请实施例可以估计(或者说预测)出当前数据流属于该N个数据流类型中每个类型的置信度,即得到所述当前数据流的对应于N个数据流类型的N个第一置信度,举例来说,假若该N个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,那么,需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度、属于语音会议的数据流类型的第一置信度、属于桌面云的数据流类型的第一置信度。假若N个数据流类型指的是视频会议的数据流类型,则需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度。
当确定出当前数据流对应于一些数据流类型的第一置信度后,可以基于对应于这些数据流类型的第一置信度选择一个数据流类型作为当前数据流对应的第一数据流类型,例如,对应于哪个数据流类型的置信度最高,则将该数据流类型作为当前数据流对应的第一数据流类型。当然,还可以综合其他因素来做出选择。
可选方案二,第三设备确定所述当前数据流对应的第一数据流类型不仅要用到当前数据流的报文信息和行为识别模型,还要用到特征信息和内容识别模型,具体包括如下几个部分:
第一部分:第三设备根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度。
其中,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型;可选的,该多个数据流样本可以为离线样本,即该行为识别模型可以为离线训练得到的模型。该多个数据流样本还可以为预先挑选的比较典型(或说有代表性)的样本,例如,视频会议应用的数据流的报文大多时候的报文长度比较长,但是也会偶尔出现报文长度比较短的时候,相比而言,报文长度比较长更能反映当前数据流为视频会议应用的数据流,因此,在选择关于视频会议应用的数据流时,尽量选择报文长度比较长的这种有代表性的作为数据流样本。可选的,该多个数据流样本的数据流类型可以是人为确定的,即人工打标签。由于所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,因此该行为识别模型能够反映一个数据流中的报文信息与数据流类型之间的一些关系,因此,当向该行为识别模型输入当前数据流的报文信息时,其能够一定程度上预测该当前数据流属于某个或者某些数据流类型的倾向(或者说概率),体现倾向(或者说概率)的参数也可以称为置信度。
本申请实施例中,报文信息可以包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,可选的,报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。当然,报文信息除了包括这里举例的特征外,还可以包括其他特征,例如,报文长度、报文传输速度、报文间隔时间和报文方向中的最大值、最小值、均值、方差、分位数等。该报文信息可以是以向量的形式输入到行为识别模型中,例如可以是(报文长度,报文传输速度,报文间隔时间)这种形式。另外,本申请实施例中的数据流类型还可以称之为应用类型。
第一种可能情况中,数据流类型可能有N个,N大于或者等于1,本申请实施例可以估计(或者说预测)出当前数据流属于该N个数据流类型中每个类型的置信度,即得到所述当前数据流的对应于N个数据流类型的N个第一置信度,举例来说,假若该N个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,那么,需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度、属于语音会议的数据流类型的第一置信度、属于桌面云的数据流类型的第一置信度。假若N个数据流类型指的是视频会议的数据流类型,则需要通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度。
第二种可能情况中,数据流类型可能有多个,但本申请实施例重点关注其中一个数据流类型,因此本申请实施例只估计(或者说预测)当前数据流属于该重点关注的数据流类型的置信度,即得到所述当前数据流的对应于一个数据流类型的一个第一置信度,举例来说,假若该多个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,但本申请实施例只关注视频会议的数据流类型,因此只需通过行为识别模型估计当前数据流属于视频会议的数据流类型的第一置信度即可。
第二部分:第三设备根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度。
具体地,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型。可选的,该一条或者多条历史数据流可以为在线数据流,即在此之前的一段时间内持续产生的一条或者多条数据流,所述历史数据流的数据流类型是由上述行为识别模型识别得到的,即该内容识别模型可以为在线训练得到的模型。由于所述内容识别模型为根据一条或者多条历史数据流的特征信息和数据流类型得到的模型,因此该内容识别模型能够反映一个数据流中的特征信息与数据流类型之间的一些关系,因此,当向该内容识别模型输入当前数据流的特征信息时,其能够一定程度上预测该当前数据流属于某个或者某些数据流类型的倾向(或者说概率),体现倾向(或者说概率)的参数也可以称为置信度。
本申请实施例中,所述特征信息可以包括目的地址、协议类型、端口号中的一项或者多项,其中,目的地址可以为IP地址,也可以为目的MAC地址,还可以为其他形式的地址;当然,特征信息除了包括这里举例的特征外,还可以包括其他特征。进一步地,这里的特征信息可以是针对目标的信息,例如,目标IP,目标端口等。该特征信息可以是以向量的形式输入到内容识别模型中,可以是(ip,port,protocol)这种形式,例如可以为(10.29.74.5,8443,6)。也可以是(mac,port,protocol)这种形式,例如可以为(05FA1525EEFF,8443,6)。当然还可以是其他形式,此处不再一一举例。
第一种可能情况中,数据流类型可能有N个,本申请实施例可以估计(或者说预测)出当前数据流属于该N个数据流类型中每个类型的置信度,即得到所述当前数据流的对应于N个数据流类型的N个第二置信度,举例来说,假若该N个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,那么,需要通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度、属于语音会议的数据流类型的第二置信度、属于桌面云的数据流类型的第二置信度。假若N个数据流类型指的是视频会议的数据流类型,则需要通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度。
第二种可能情况中,数据流类型可能有多个,但本申请实施例重点关注其中一个数据流类型,因此本申请实施例只估计(或者说预测)当前数据流属于该重点关注的数据流类型的置信度,即得到所述当前数据流的对应于一个数据流类型的一个第二置信度,举例来说,假若该多个数据流类型指的是视频会议的数据流类型、语音会议的数据流类型、桌面云的数据流类型,但本申请实施例只关注视频会议的数据流类型,因此只需通过内容识别模型估计当前数据流属于视频会议的数据流类型的第二置信度即可。
第三部分:第三设备根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
具体地,因为至少一个第一置信度能够在一定程度上表征当前数据流的数据类型倾向,至少一个第二置信度也可以在一定程度上表征当前数据流的数据流类型倾向,因此对两者进行综合考虑可以获得更准确可信的数据流类型倾向,从而得出当前数据流的数据流类型,采用这种方式确定处的数据流类型称为第一数据流类型以方便后续描述。
一种可选的方案中,得到的哪种数据流类型的综合置信度最大,则将该数据流类型确定为当前数据流的数据流类型,即确定为当前数据流对应的第一数据流类型,例如,根据视频会议的数据流类型的第一置信度和视频会议的数据流类型的第二置信度确定出的视频会议的数据流类型的综合置信度为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,因此当前数据流不是桌面云的数据流类型,即此时计算得到的当前数据流a对应的第一数据流类型为桌面云的数据流类型。
语音会议: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,因此当前数据流是桌面云的数据流类型,即此时计算得到的当前数据流b对应的第一数据流类型为桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流不是视频会议的数据流类型。
步骤S302:第三设备根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,所述目标对应关系为多个通用特征与多个数据流类型的对应关系。
具体地,如果本领域技术人员在发现数据流中存在这某些特征之后基本上可以准确确定出该数据流的数据流类型,那么该某些特征即为此处的通用特征。举例来说,该通用特征可以为知名端口号、或者知名DNS等等。以知名端口号为例,20端口是FTP端口,FTP端口通常是用来作下载(Download)的,因此对应的数据流类型为数据下载的数据流类型,这个例子中可以建立20端口与数据下载的数据流类型之间的对应关系;以知名DNS为例,域名www.163.com的DNS地址为183.131.119.86,而域名www.163.com又是公知的网页类网站,其数据流类型为网页的数据流类型,因此可以建立地址183.131.119.86与网页的数据流类型之间的对应关系。按照这里举的两个例子,目标对应关系可以如表1所示:
表1
Figure BDA0002395676700000251
参见表1,如果当前数据流中包含“端口20”,那么该第三设备根据目标对应关系和当前数据流中的通用特征“端口20”就可以确定出对应的“数据下载的数据流类型”,因此“数据下载的数据流类型”即为确定出的该当前数据流对应的第二数据流类型。
可选的,该第三设备中可以存在一个地址校正库(当然也可以命名为其他名称),上述目标对应关系中的信息就可以存放在该地址校正库中,以供该第三设备在确定当前数据流对应的第二数据流类型时使用。另外,上述目标对应关系中的内容可以是通过机器自己识别得到,也可以是人工添加;该目标对应关系中的内容还可以根据需要在适当的时候进行更新。
需要说明的是,上述目标对应关系中每个通用特征都会对应唯一一个数据流类型,因此,可能出现多个通用特征对应的数据流类型相同(即多对一)的情况,也可能出现多个通用特征分别对应不同的数据流类型(即一对一)的情况。
需要说明的是,并非每个数据流中都包含上述通用特征,因此并非针对所有的数据流都可以获得其第二数据流类型。
步骤S303:第三设备向运维支持系统OSS发送当前数据流的最终数据流类型。
具体地,当识别出了当前数据流对应的第二数据流类型时,当前数据流对应的第二数据流类型作为当前数据流的最终数据流类型,当没有识别出当前数据流对应的第二数据流类型时,当前数据流对应的第一数据流作为当前数据流的最终数据流类型。可选的,也可以直接将当前数据流对应的第一数据流类型作为当前数据流的最终数据流类型。
另外,第三设备可以在每次确定出当前数据流的最终数据流类型时,向OSS发送当前数据流的最终数据流类型,例如,第一次生成数据流a的最终数据流类型时,向OSS发送数据流a的最终数据流类型,第一次生成数据流b的最终数据流类型时,向OSS发送数据流b的最终数据流类型,第二次生成数据流a的最终数据流类型时,向OSS发送数据流a的最终数据流类型,第二次生成数据流b的最终数据流类型时,向OSS发送数据流b的最终数据流类型;生成数据流c的最终数据流类型时,向OSS发送数据流c的最终数据流类型。可以理解的是,假若第三设备为该OSS,则无需执行向OSS发送当前数据流的最终数据流类型的操作。
步骤S304:OSS根据当前数据流的最终数据流类型生成针对当前数据流的流量控制策略。例如,如果当前数据流的最终数据流类型表明该当前数据流为视频桌面云的数据流类型,或者视频会议的数据流类型,则将当前数据流定义为高优先级的QoS。
步骤S305:OSS向第三设备或者终端发送所述流量控制策略。
具体地,假若第三设备或者终端根据流量控制策略获知当前数据流属于高优先级的QoS,则在发现有多种数据流待发送时,优先发送被配置为高优先级的当前数据流。
本申请实施例中,可以对上述行为识别模型和内容识别模型进行更新,更新后的行为模型和更新后的内容识别模型用于第三设备或者其他设备对新的数据流进行数据流类型的识别。
更新行为识别模型的过程请参见步骤S306:
步骤S306:第三设备根据所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型更新所述行为识别模型,下面例举两种不同的更新方案。
方案一:
首先,若当前数据流对应的第一数据流类型和当前数据流对应的第二数据流类型为不同的数据流类型,则第三设备向第一设备发送当前数据流对应的校正数据,其中,当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型。
相应的,第一设备接收第三设备发送的当前数据流对应的校正数据,该第一设备判断是否已累计接收到了来自第三设备的M条数据流对应的校正数据,若累计接收到了M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型。
本申请实施例中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量(如果模型发生了更新,则需要重新开始累计)。或者所述M条数据流为在预设时间段内(如近24小时内)的累计量。或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值,例如,预先配置该预设阈值为10%,如果行为识别模型生效后传输的数据流表示为S,那么M=S*10%,例如如果S=10000,那么M=100,如果S=89500,那么M=8950。举例来说,假若行为识别模型生效的时间为2019年3月1日00:00:00,从该时间截止到当前总共已有的训练数据为10000条,上浮比例(即预设阈值)为10%,那么从该生效时间算起,如果累计新增了1000条数据流对应的校正数据,则要训练得到新的行为识别模型。本申请实施例中,M条数据流包括所述当前数据流。
其中,这M条数据流对应的校正数据的表达形式有很多,以该M条数据流中的数据流A为例进行说明,其对应的校正数据可以表示为{数据流A对应的第二数据流类型,s条<报文方向,报文长度,报文时间>三元组},其中,s为正整数;例如,数据流A对应的第二数据流类型为云桌面的数据流类型,且对应3个<报文方向,报文长度,报文时间>三元组,那么可以表示为{云桌面的数据流类型,3条<报文方向,报文长度,报文时间>三元组},请参见表2,表2更详细地示意了该校正数据的一种可能情况。
表2
Figure BDA0002395676700000271
可选的,在表2中,“来源”指一条数据流的行为数据来自哪个区域,可以填写相应网络的名称;或者填写其来源的第三设备的名称,接收到校正数据的第一设备再根据网络拓扑,将第三设备的名称映射到相应网络。“报文方向”可以用值表示,0表示下行,1表示上行;或者直接用“上行”“下行”来表示。“报文时间”可以是时间戳;也可以是相对时间,即每条数据流的第一个记录为0,这条流的后续记录是距离第一个记录的时间。
本申请实施例中,第三设备使用的行为识别模型在该第一设备中也存在,因此该第一设备将这M条数据流对应的校正数据作为训练数据对该行为识别模型进行训练得到新的行为识别模型;也可能,该第一设备将这M条数数据流对应的校正数据作为训练数据、结合历史中存储的批量训练数据来进行训练,得到新的行为识别模型。可选的,训练过程中可以采用最小损失函数(loss),将数据流的校正数据中的报文信息<报文方向、长度、时间>输入到行为识别模型中,使得行为识别模型输出的数据流类型尽可能地趋近于该校正数据中的数据流类型。针对M条数据流对应的校正函数均执行了该训练之后,就可以得到训练好的新的行为识别模型了。第一设备训练得到新的行为识别模型之后,向该第三设备发送第一模型数据,所述第一模型数据是新的行为识别模型的模型数据,用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。行为识别模型包括模型结构(如模型的函数形式)和模型参数。该第一模型数据至少存在如下几种情况。情况1,第一模型数据为该新的行为识别模型的模型参数的参数值。情况2,第一模型数据为该新的行为识别模型相对于训练前的行为识别模型的差异数据,通常为该新的行为识别模型的模型参数的参数值与训练前的行为识别模型的模型参数的参数值的差异值。可选的,对于情况1,该第一模型数据具体可以是由多个参数的参数值组成的矩阵,对于情况2,该第一模型数据(即该差异数据)具体可以是由多个参数值的差值组成的矩阵。如,训练前的行为识别模型的模型参数的参数值组成的矩阵为[a1、b1、c1、d1],新的行为识别模型的模型参数的参数值组成的矩阵为[a2、b2、c2、d2],则这4个模型参数的差值组成的矩阵为[a2-a1、b2-b1、c2-c1、d2-d1]。相应地,对于情况1,该第一模型数据为[a1、b1、c1、d1],对于情况2,该第一模型数据(即该差异数据)为[a2-a1、b2-b1、c2-c1、d2-d1]。情况3,第一模型数据,包括该新的行为识别模型的模型结构和模型参数的参数值,即该新的行为识别模型的完整数据。
该第一模型数据具体可以是模型文件。常见开源keras库的ai模型文件是h5文件/json文件;开源sklearn库的ai模型文件是pkl/m文件。这些文件都是二进制的,用于保存模型结构和/或模型参数的参数值。其中,h5文件用于描述模型参数的参数值,jason文件用于描述模型结构。在具体实现时,情况1和情况2的第一模型数据均可以为h5文件,情况3的第一模型数据可以包括h5文件和jason文件。
接着,该第三设备接收所述第一设备发送的第一模型数据,并根据接收的第一模型数据更新行为识别模型。如果该第一模型数据为新的行为识别模型的完整数据,那么该第三设备可以直接加载该第一模型数据生成该新的行为识别模型,以替换当前的行为识别模型,后续就使用该新的行为识别模型进行数据流类型识别。如果该第一模型数据为新的行为识别模型的模型参数的参数值,则将该参数值代入到当前的行为识别模型中以代替旧的参数值,从而得到新的行为识别模型。如果该第一模型数据为上述差异数据,则根据差异数据和当前的行为识别模型的模型参数的参数值得到新的参数值,从而得到新的行为识别模型。
可选的,根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型可以具体为:仅根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型,也可以具体为根据该M条数据流对应的校正数据和其他网络中的Y条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型,也即是说,训练得新的行为识别模型用到的校正数据来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可选的,若训练得到新的行为识别模型用到的矫正数据来自至少两个不同的网络,可以称所述M条数据流所属的网络为第一网络,称该Y条数据流来自所述第一网络以外的第二网络;第一设备根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型,可以具体为:
首先,第一设备根据所述第二网络与所述第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息,这主要是因为特征信息或者报文信息本来相同的两个数据流,因为他们所来自的网络的网络配置不同而导致最终反映出的特征信息或者报文信息不同,通过修正主要是为了让来自第二网络的数据流的特征信息或报文信息与来自第一网络的数据流的特征信息或者报文信息的衡量标准一致(或者说统一到同一特征空间),使其更具有可比性,最终是有利于提高训练出的行为识别模型的准确性。
例如,采用数据映射的方式,根据第一网络中的数据流的MTU,改写第二网络中的数据流的报文长度,比如第一网络中的设备发送的数据流的MTU是1500,第二网络中的设备发送的数据流的MTU是1452,第二网络中的设备发送的一条数据流的信息如表3所示,参照第一网络中的设备发送的数据流的MTU对表3中的信息做数据映射处理后如表4所示。
表3
Figure BDA0002395676700000281
表4
Figure BDA0002395676700000282
例如,采用数据映射的方式,根据第一网络中的数据流的报文时间分布情况,改写第二网络中的数据流的报文时间,比如第二网络中的设备发送的数据流比第一网络中的设备发送的数据流的报文时间均值大10%,第二网络中的设备发送的一条数据流的信息如表5所示,参照第一网络中的设备发送的数据流的MTU对表5中的信息做数据映射处理后如表6所示。
表5
Figure BDA0002395676700000291
表6
Figure BDA0002395676700000292
然后,报文信息修正完成之后,根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对行为识别模型进行训练得到新的行为识别模型。
举例来说,假若M=10(累计新增的校正数据数量达到10时需要启动对行为识别模型的更新),网络数据流d的协议类型为UDP、IP地址是1.2.3.4、端口号是10050,端口号10050属于通用特征,其在本领域传输的数据流基本都是语音会议的数据类型,且10050这个通用特征与语音会议数据流类型之间的对应关系已添加到了上述目标对应关系中,即保存在了地址校正库里面。置信度权重向量(w1,w2)、第一预设阈值θ1、第二预设阈值θ2依旧不变。
那么针对数据流d,内容识别模型识别是桌面云的数据流类型的第二置信度为1,识别是语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文信息识别是桌面云的数据流类型的第一置信度是0.9、识别是语音会议的数据流类型的第一置信度均是0、识别是视频会议的数据流类型的第一置信度是0。因此,对应于这三种数据流类型的综合置信度如下。
桌面云:1*0.4+0.9*0.6=0.94,大于θ1,因此当前数据流d是桌面云的数据流类型,即当前数据流d对应的第一数据流类型为桌面云的数据流类型。
语音会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流d不是语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流d不是视频会议的数据流类型。
由于识别是桌面云的数据流类型的综合置信度0.94不在区间(θ1,θ2)内,因此不需要对内容识别模型进行更新(更新原理后面有介绍,此处不展开说明)。
由于根据上述目标对应关系和当前数据流d中的通用特征确定当前数据流对应的第二数据流为语音会议的数据流类型,不同于当前数据流d对应的第一数据流类型(即云桌面的数据流类型),因此第三设备需要向第一设备发送当前数据流d的校正数据。
第一设备接收到第三设备发送的当前数据流d的校正数据后,假若刚好累计了来自第三设备的10条新增的校正数据,那么该第一设备结合这10条新增的校正数据对行为识别模型进行训练,得到新的行为识别模型。
假若更新后的行为识别模型识别当前数据流d为语音会议的数据流类型的第一置信度为0.9,那么当再次出现当前数据流d时,对当前数据流d的识别过程如下:
内容识别模型识别是桌面云的数据流类型的第二置信度为1,识别是语音会议的数据流类型、视频会议的数据流类型的第二置信度均是0。行为识别模型基于报文信息识别是桌面云的数据流类型的第一置信度是0.1、识别是语音会议的数据流类型的第一置信度均是0.9、识别是视频会议的数据流类型的第一置信度是0。对应于三种数据流类型的综合置信度如下。
桌面云:1*0.4+0.1*0.6=0.46,小于θ1,因此当前数据流d不是桌面云的数据流类型。
语音会议:0*0.4+0.9*0.6=0.54,大于θ1,因此当前数据流d是语音会议的数据流类型,即当前数据流d对应的第一数据流类型为语音会议的数据流类型。
视频会议:0*0.4+0*0.6=0,小于θ1,因此当前数据流d不是视频会议的数据流类型。
由于识别是桌面云的数据流类型的综合置信度0.54在区间(θ1,θ2)内,因此需要对内容识别模型进行更新(更新原理后面有介绍,此处不展开说明)。
由于根据上述目标对应关系和当前数据流d中的通用特征确定当前数据流对应的第二数据流为语音会议的数据流类型,与确定出的当前数据流d对应的第一数据流类型(即云桌面的数据流类型)相同,因此第三设备无需向第一设备发送用于重新训练行为识别模型的信息。
方案二:
若所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型,则根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型,以得到新的行为识别模型。可选的,可以具体是:若所述当前数据流的第二数据流类型与所述当前数据流的第一数据流类型为不同的数据流类型,且当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,是M条数据流包括所述当前数据流,M为预设的参考阈值。如何根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型前面方案一中已经有介绍,此处不再赘述。
更新内容识别模型的过程请参见步骤S307:
步骤S307:第三设备根据所述当前数据流对应的第一数据流类型的综合置信度和所述当前数据流对应的第二数据流类型更新所述内容识别模型,下面例举两种不同的更新方案。
方案一:
若对应于目标数据流类型的所述综合置信度大于第一预设阈值θ1且小于第二预设阈值θ2,则第三设备向第二设备发送所述当前数据流的特征信息和第二数据流类型,目标数据流类型为所述至少一个数据流类型中的某一个,若存在目标数据流类型的置信度大于第一预设阈值θ1,则认定该目标数据流类型为当前数据流对应的第一数据流类型,所述第二预设阈值大于所述第一预设阈值。例如,针对数据流a来说,对应于桌面云的数据流类型的综合置信度0.3不在区间(θ1,θ2)内,因此无需向第二设备发送所述当前数据流的特征信息等信息;再如,针对数据流b来说,对应于桌面云的数据流类型的综合置信度0.54在区间(θ1,θ2)内,因此需要向第二设备发送所述当前数据流的特征信息(如目的IP地址10.129.56.39、目的端口号443、协议类TCP型)和桌面云的数据流类型(当没有识别出第二数据流类型时就是第一数据流类型,这里刚好就是桌面云的数据流类型;当有识别出第二数据流类型时就是第二数据流类型)的信息(如名称、标识等信息)。
相应的,第二设备接收第三设备发送的所述当前数据流的特征信息和所述第二数据流类型(或者第一数据流类型,当没有识别出第二数据流类型时发送的就是第一数据流类型),即该第二设备上就多了一条数据流记录,如图5,多了一条针对数据流b的记录。然后,该第二设备根据当前数据流的特征信息和所述第二数据流类型对内容识别模型进行训练得到新的内容识别模型,
第二设备训练得到新的内容识别模型之后,向该第三设备发送第二模型数据,所述第二模型数据是新的内容识别模型的模型数据,用于描述由所述第二设备根据所述当前数据流的特征信息和所述当前数据流对应的第二数据流类型对所述内容识别模型进行训练得到的新的内容识别模型。内容识别模型包括模型结构(如模型的函数形式)和模型参数。该第二模型数据至少存在如下几种情况。情况1,第二模型数据为该新的内容识别模型的模型参数的参数值。情况2,第二模型数据为该新的内容识别模型相对于训练前的内容识别模型的差异数据,通常为该新的内容识别模型的模型参数的参数值与训练前的内容识别模型的模型参数的参数值的差异值。可选的,对于情况1,该第二模型数据具体可以是由多个参数的参数值组成的矩阵,对于情况2,该第二模型数据(即该差异数据)具体可以是由多个参数值的差值组成的矩阵。如,训练前的内容识别模型的模型参数的参数值组成的矩阵为[e1、f1、g1、h1],新的内容识别模型的模型参数的参数值组成的矩阵为[e2、f2、g2、h2],则这4个模型参数的差值组成的矩阵为[e2-e1、f2-f1、g2-g1、h2-h1]。相应地,对于情况1,该第二模型数据为[e1、f1、g1、h1],对于情况2,该第二模型数据(即该差异数据)为[e2-e1、f2-f1、g2-g1、h2-h1]。情况3,第二模型数据,包括该新的内容识别模型的模型结构和模型参数的参数值,即该新的内容识别模型的完整数据。
该第二模型数据具体可以是模型文件。常见开源keras库的ai模型文件是h5文件/json文件;开源sklearn库的ai模型文件是pkl/m文件。这些文件都是二进制的,用于保存模型结构和/或模型参数的参数值。其中,h5文件用于描述模型参数的参数值,jason文件用于描述模型结构。在具体实现时,情况1和情况2的第二模型数据均可以为h5文件,情况3的第二模型数据可以包括h5文件和jason文件。
接着,第三设备接收第二设备发送的第二模型数据,并根据接收的第二模型数据更新内容识别模型。如果该第二模型数据为新的内容识别模型的完整数据,则该第三设备就可以直接加载该第二模型数据生成该新的内容识别模型,以替换当前的内容识别模型,后续就使用该新的内容识别模型进行数据流类型的识别。如果该第二模型数据为新的内容识别模型的模型参数的参数值,则将该参数值代入到当前的内容识别模型中以代替旧的参数值,从而得到新的内容识别模型。如果该第二模型数据为所述新的内容识别模型中模型参数的参数值与更新前的内容识别模型中模型参数的参数值的差值,则根据该差值和更新前的内容识别模型的模型参数的参数值得到新的参数值,从而得到新的内容识别模型。
由于数据流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,因此当前数据流是桌面云的数据流类型,即更新内容识别模型之后得到的当前数据流a对应的第一数据流类型为桌面云的数据流类型。
语音会议: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,因此当前数据流是桌面云的数据流类型,即更新内容识别模型之后得到的当前数据流b对应的第一数据流类型为桌面云的数据流类型。
语音会议: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.40,目的端口号是444。
那么针对数据流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,因此当前数据流是视频会议的数据流类型,即更新内容识别模型之后得到的当前数据流c对应的第一数据流类型为视频会议的数据流类型。
由于识别是视频会议的数据流类型的综合置信度0.54在区间(θ1,θ2)内,因此需要向第二设备发送所述当前数据流的特征信息和第一数据流类型。相应的,第二设备接收第三设备发送的所述当前数据流的特征信息和所述第一数据流类型,即该第二设备上就有了一条数据流记录,如图6,多了一条针对数据流c的记录。
假若针对数据流c的记录与已有的针对数据流f的记录相比,数据流类型(即应用类别)不同但特征信息(如目的IP地址、目的端口号和协议类型)相同,因此修改已有的针对数据流f的记录,使得协议类型TCP、目的IP地址10.129.56.40、目的端口号444共同对应的数据流类型为视频会议的数据流类型,而不再是桌面云对应的数据流类型,修改前的记录即为第一记录,修改后的记录即为第二记录。
可以理解,将第一记录更新为第二记录之后,根据包括该第二记录的多个记录对内容识别模型进行训练得到新的内容识别模型后,上述数据流c再次输入到更新后的(即新的)内容识别模型时,识别其为桌面云的数据流类型的第二置信度为0,识别其为视频会议的数据流类型的第二置信度为1,可选的,这里的多个记录包括上述当前数据流对应的特征信息和第二数据流类型。
方案二,若对应于所述第目标数据流类型的所述综合置信度小于第二预设阈值,第三设备无需将当前数据流的特征信息和所述第二数据流类型发送给第二设备,则而是由自己根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,目标数据流类型为所述至少一个数据流类型中的某一个,若存在目标数据流类型的置信度大于第一预设阈值θ1,则认定该目标数据流类型为当前数据流对应的第一数据流类型,所述第二预设阈值大于所述第一预设阈值。方案二的原理可以参照上述方案一,由该第三设备替代上述方案一种第二设备执行的操作即可。
在图3所描述的方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
除此之外,可以具体根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
另外,在第三设备通过已训练出的行为识别模型识别数据流类型的过程中,如果通过地址校正模型(包含基于通用特征的对应关系)发现识别结果出现偏差,则在累计多次出现偏差的情况下第一设备或者第三设备结合导致偏差的相关数据重新训练该行为识别模型,并在训练出新的行为识别模型后对第三设备上的行为识别模型进行更新,这种迭代更新的行为识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
另外,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果讲综合置信度与预设的更新阈值θ2比较发现需要更新,则在累计多次出现需要更新的情况下第二设备或者第三设备结合导致综合置信度低于θ2的相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。
请参见图7,图7是本发明实施例提供的一种数据流类型识别模型更新装置70,该装置70可以为图3所示方法实施例中的第三设备或者该第三设备中的器件或模块。该装置70可以包括第一确定单元701、第二确定单元702和获取单元703,其中,各个单元的详细描述如下。
第一确定单元701,用于根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
第二确定单元702,用于根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元703,用于在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下,获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型。
在上述方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
在一种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型方面,所述第二确定单元具体用于:若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
在又一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
在又一种可能的实现方式中,还包括:
第一发送单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
第一接收单元,用于接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。
在该方法中,训练新的行为识别模型的操作由指定的具有较强计算能力的第一设备来实现,第三设备只需根据第一设备发送的新的模型参数就可以对自己的行为识别模型,这样该第三设备就可以将主要的计算资源用在报文转发上面,有效保证了第三设备的报文转发性能。
在又一种可能的实现方式中,还包括:
第一更新单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
该方法里面,训练行为识别模型的操作由第三设备来实现,相当于使用行为识别模型和训练行为识别模型都在同一个设备上。
在又一种可能的实现方式中,在根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
若当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流。
该方法里面,更新行为识别模型是存在触发条件的,具体就是看当前是否已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,通过合理配置M可以避免过于频繁更新行为识别模型而带来不必要的计算开销,也可以避免因更新频率不够而带来的行为识别模型预存不准确的问题。
在又一种可能的实现方式中:在根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型;
其中,所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
在又一种可能的实现方式中,在所述若所述Y条数据流与所述M条数据流来自至少两个不同的网络,根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
在又一种可能的实现方式中,在根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型方面,所述第一确定单元具体用于:
根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
在上述方法中,根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
在又一种可能的实现方式中,在所述根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型方面,所述第一确定单元具体用于:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
在又一种可能的实现方式中,在根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型方面,所述第一确定单元具体用于:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
在又一种可能的实现方式中,还包括:
第二发送单元,用于在对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
第二接收单元,用于接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给第二设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,还包括:
第二更新单元,用于在对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,对当前数据流的相关信息进行训练,以获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,还包括:
第三发送单元,用于在所述第二确定单元根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
也即是说,在确定出当前数据流的数据流类型之后,将当前数据流类型的相关信息通知给OSS系统,这样OSS系统就可以基于当前数据流的数据流类型来生成针对所述当前数据流的流量控制策略,例如当前数据流的第一数据流类型为视频会议的视频流时,将其对应的流量控制策略定义为优先传输的策略,即当有多个数据流待传输时,优先传输该当前数据流。
在又一种可能的实现方式中,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。需要说明的是,各个单元的实现还可以对应参照图3所示的方法实施例的相应描述。
请参见图8,图8是本发明实施例提供的一种数据流类型识别模型更新装置80,该装置80可以为图3所示方法实施例中的第一设备或者该第一设备中的器件或模块。该装置80可以包括第一接收单元801、获取单元802和第一发送单元803,其中,各个单元的详细描述如下。
第一接收单元801,用于接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元802,用于在累计接收到了来自所述第三设备的M条数据流对应的校正数据的情况下,根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
第一发送单元803,用于向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
在上述方法中,第一设备在累计一定数量的来自第三设备的校正数据的情况下,根据该一定数量的校正数据对该行为识别模型进行训练得到新的行为识别模型,并在训练出新的行为识别模型向第三设备发送用于描述该新的行为识别模型的信息,以用于该第三设备对第三设备上的行为识别模型进行更新。以上方法无需第三设备进行模型训练,只需基于第一设备的模型训练结果直接得到新的行为识别模型即可,有利于第三设备充分利用计算资源来进行数据流类型的识别。
在一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
在又一种可能的实现方式中,所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
在又一种可能的实现方式种,在根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
在又一种可能的实现方式中,若所所述Y条数据流与所述M条数据流来自至少两个不同的网络;在根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
在又一种可能的实现方式中,还包括:
第二接收单元,用于接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
生成单元,用于根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
第二发送单元,用于向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
在上述方法中,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果发现模型准确度不高,则触发第一设备结合相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型的方式能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
需要说明的是,各个单元的实现还可以对应参照图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中存储的计算机程序代码,用于执行以下操作:
根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若根据所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同,则获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型。
在上述方法中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
在一种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,所述处理器具体用于:
若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
在又一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
在又一种可能的实现方式中,所述获取所述当前数据流对应的校正数据之后,所述处理器还用于:
通过所述通信接口向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
通过所述通信接口接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的第一模型数据,其中,所述第一模型数据用于描述对所述行为识别模型进行训练得到的新的行为识别模型。
在该方法中,训练新的行为识别模型的操作由指定的具有较强计算能力的第一设备来实现,第三设备只需根据第一设备发送的新的模型参数就可以对自己的行为识别模型,这样该第三设备就可以将主要的计算资源用在报文转发上面,有效保证了第三设备的报文转发性能。
在又一种可能的实现方式中,所述获取所述当前数据流对应的校正数据之后,所述处理器具体用于:根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
该方法里面,训练行为识别模型的操作由第三设备来实现,相当于使用行为识别模型和训练行为识别模型都在同一个设备上。
在又一种可能的实现方式中,在所述根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
当前已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;所述M条数据流包括所述当前数据流,M为预设的参考阈值。
该方法里面,更新行为识别模型是存在触发条件的,具体就是看当前是否已累计存在M条数据流对应的第一数据流类型与所述M条数据流类型对应的第二数据流类型不同,通过合理配置M可以避免过于频繁更新行为识别模型而带来不必要的计算开销,也可以避免因更新频率不够而带来的行为识别模型预存不准确的问题。
在又一种可能的实现方式中:所述根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型;
其中,所述Y条数据流与所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
在又一种可能的实现方式中,若所述Y条数据流与所述M条数据流来自至少两个不同的网络,根据所述M条数据流的报文信息、所述M条数据流分别对应的第二数据流类型、Y条数据流的报文信息和所述Y条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型方面,所述处理器具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
在又一种可能的实现方式中,在根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述处理器具体用于:
根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
在上述方法中,具体根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
在又一种可能的实现方式中,在根据当前数据流的报文信息、特征信息、行为识别模型、内容识别模型确定所述当前数据流对应的第一数据流类型方面,所述处理器具体用于:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型。
在又一种可能的实现方式中,在根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型方面,所述处理器具体用于:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
在又一种可能的实现方式中,所述处理器还用于:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则通过所述通信接口向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
通过所述通信接口接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,将当前数据流的相关信息发送给第二设备进行训练,以用于获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,所述处理器还用于:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
上述方法中,本申请发明人利用当前数据流的数据流类型的认定结果对内容识别模型进行更新。具体的,引入了第二预设阈值,在对应于所述第一数据流类型的所述综合置信度小于第二预设阈值时,对当前数据流的相关信息进行训练,以获得新的内容识别模型,以使得下一次的认定结果更加准确。
在又一种可能的实现方式中,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,所述处理器还用于:
通过所述通信接口向运维支持系统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中存储的计算机程序代码,用于执行以下操作:
通过所述通信接口接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若累计接收到了来自所述第三设备的M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
通过所述通信接口向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项。
在上述方法中,第一设备在累计一定数量的来自第三设备的校正数据的情况下,根据该一定数量的校正数据对该行为识别模型进行训练得到新的行为识别模型,并在训练出新的行为识别模型向第三设备发送用于描述该新的行为识别模型的信息,以用于该第三设备对第三设备上的行为识别模型进行更新。以上方法无需第三设备进行模型训练,只需基于第一设备的模型训练结果直接得到新的行为识别模型即可,有利于第三设备充分利用计算资源来进行数据流类型的识别。
在一种可能的实现方式中,所述通用特征为知名端口号、或者知名域名系统DNS。
在又一种可能的实现方式中,所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
在又一种可能的实现方式中:所述根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述处理器具体用于:
根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
可以理解,通过对来自不同网络的数据流的相关信息进行训练,能够提高行为识别模型的泛化性,预测效果更好。
在又一种可能的实现方式中,若所所述Y条数据流与所述M条数据流来自至少两个不同的网络;所述根据所述M条数据流对应的校正数据和Y条数据流对应的矫正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述处理器具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
该方法中,将来自不同网络的数据流的报文信息进行归一化处理,使得来自不同网络的数据流的报文信息之间更具可比性,基于归一化后的报文信息训练出的行为识别模型的泛化性更好,预测准确度更高。
在又一种可能的实现方式中,所述处理器还用于:
通过所述通信接口接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
通过所述通信接口向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
在上述方法中,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果发现模型准确度不高,则触发第一设备结合相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型的方式能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
需要说明的是,各个操作的实现还可以对应参照图3所示的方法实施例的相应描述。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的网络设备或主机的实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种芯片系统,所述芯片系统包括至少一个处理器,存储器和接口电路,所述存储器、所述收发器和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有计算机程序;所述计算机程序被所述处理器执行时,实现图3所示的方法流程。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现图3所示的方法流程。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现图3所示的方法流程得以实现。
综上所述,在本申请实施例中,根据行为识别模型识别出第一数据流类型,以及根据预设的关于通用特征的对应关系识别出第二数据流类型之后,如果第一数据流类型和第二数据流类型不同则生成用于更新行为识别模型的校正数据,也就是训练样本;一方面,校正数据是设备在当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下自动获取的,无需人为打标签,因此得到的用于训练行为识别模型的样本数据的效率更高。另一方面,该校正数据是在行为识别模型识别结果不准确的情况下生成的报文信息和准确的数据流类型,因此后续基于该校正数据进行行为识别模型的更新,可以获得识别效果更准确的行为识别模型。
除此之外,可以具体根据内容识别模型和行为识别模型得到当前数据流对应的第一数据流类型,然后对第一数据流类型进行校正得到当前数据流最终的数据流类型。其中,行为识别模型为由多个数据流样本的报文信息和数据流类型预先训练得到,而内容识别模型是基于数据流的特征信息和由行为模型识别出的数据流类型训练得到;因此通过内容识别模型和行为识别模型对特征信息、报文信息等进行分析可以更准确地预测出当前数据流对应的第一数据流类型。并且由于训练内容识别模型时用到的数据流样本中的数据流类型是通过行为识别模型识别得到的,无需大量地去采集训练所需要的数据,解决了数据完整性不足的问题。
另外,在第三设备通过已训练出的行为识别模型识别数据流类型的过程中,如果通过地址校正模型(包含基于通用特征的对应关系)发现识别结果出现偏差,则在累计多次出现偏差的情况下第一设备或者第三设备结合导致偏差的相关数据重新训练该行为识别模型,并在训练出新的行为识别模型后对第三设备上的行为识别模型进行更新,这种迭代更新的行为识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
另外,在第三设备通过已训练出的内容识别模型识别数据流类型的过程中,如果讲综合置信度与预设的更新阈值θ2比较发现需要更新,则在累计多次出现需要更新的情况下第二设备或者第三设备结合导致综合置信度低于θ2的相关数据重新训练该内容识别模型,并在训练出新的内容识别模型后对第三设备上的内容识别模型进行更新,这种迭代更新的内容识别模型能够满足不同用户、不同网络、不同场景的差异化需求,泛化性更好、通用性更强。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来计算机程序相关的硬件完成,该计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储计算机程序代码的介质。
本发明实施例中提到的第一设备、第一置信度、第一数据流类型、第一预设阈值第二信息以及第一记录中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”和“第四”等。然而,本发明实施例中提到的第一个标识中的“第一个”代表顺序上的第一。该规则同样适用于“第N个”。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、替换、改进等,均应包括在本发明的保护范围之内。

Claims (35)

1.一种数据流类型识别模型更新方法,其特征在于,包括:
根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同,则获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型;
所述根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,包括:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型;其中,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型进行训练得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
2.根据权利要求1所述的方法,其特征在于,所述根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,包括:
若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
3.根据权利要求1或2所述的方法,其特征在于,所述通用特征为知名端口号、或者知名域名系统DNS。
4.根据权利要求1或2所述的方法,其特征在于,所述获取所述当前数据流对应的校正数据之后,还包括:
向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。
5.根据权利要求1或2所述的方法,其特征在于,所述获取所述当前数据流对应的校正数据之后,还包括:
根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型,包括:
若对应的第一数据流类型与对应的第二数据流类型不同的数据流已累计达到M条,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流。
7.根据权利要求1或2所述的方法,其特征在于,所述根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型,包括:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值,则根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
10.根据权利要求1或2所述的方法,其特征在于,所述根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,还包括:
向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
11.根据权利要求1或2所述的方法,其特征在于,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
12.一种数据流类型识别模型更新方法,其特征在于,包括:
接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若累计接收到了M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
13.根据权利要求12所述的方法,其特征在于,所述通用特征为知名端口号、或者知名域名系统DNS。
14.根据权利要求12或13所述的方法,其特征在于,所述根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,包括:
根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
15.根据权利要求14所述的方法,其特征在于,若所述Y条数据流与所述M条数据流来自至少两个不同的网络;所述根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,包括:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
16.根据权利要求12所述的方法,其特征在于,还包括:
接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
根据所述当前数据流的特征信息和第二数据流类型对所述内容识别模型进行训练得到新的内容识别模型;
向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
17.一种数据流类型识别模型更新装置,其特征在于,包括:
第一确定单元,用于根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
第二确定单元,用于根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元,用于在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同的情况下,获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型;
所述第一确定单元具体用于:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型进行训练得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
18.根据权利要求17所述的装置,其特征在于,在根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型方面,所述第二确定单元具体用于:
若所述当前数据流的通用特征与所述对应关系中的第一通用特征相同,则将所述第一通用特征对应的数据流类型作为所述当前数据流对应的第二数据流类型。
19.根据权利要求17或18所述的装置,其特征在于,所述通用特征为知名端口号、或者知名域名系统DNS。
20.根据权利要求17或18所述的装置,其特征在于,所述装置还包括:
第一发送单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,向第一设备发送所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;
第一接收单元,用于接收所述第一设备发送的第一模型数据,所述第一模型数据用于描述由所述第一设备根据所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型对所述行为识别模型进行训练得到的新的行为识别模型。
21.根据权利要求17或18所述的装置,其特征在于,所述装置还包括:
第一更新单元,用于在所述获取单元获取所述当前数据流对应的校正数据之后,根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型。
22.根据权利要求21所述的装置,其特征在于,在根据所述校正数据更新所述行为识别模型,以得到新的行为识别模型方面,所述第一更新单元具体用于:
若对应的第一数据流类型与对应的第二数据流类型不同的数据流已累计达到M条,则根据所述M条数据流的报文信息和所述M条数据流分别对应的第二数据流类型训练所述行为识别模型,以得到新的行为识别模型,其中,所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流。
23.根据权利要求17或18所述的装置,其特征在于,在根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型方面,所述第一确定单元具体用于:
根据对应于目标数据流类型的所述第一置信度、所述第一置信度的权重值、对应于所述目标数据流类型的所述第二置信度和所述第二置信度的权重值计算对应于所述目标数据流类型的综合置信度,所述目标数据流类型为所述至少一个数据流类型中的任意一个;
若对应于所述目标数据流类型的所述综合置信度大于第一预设阈值,则确定所述目标数据流类型为所述当前数据流对应的第一数据流类型。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二发送单元,用于在对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,向第二设备发送所述当前数据流的特征信息和所述第二数据流类型,所述第二预设阈值大于所述第一预设阈值;
第二接收单元,用于接收所述第二设备发送的第二模型数据,所述第二模型数据用于描述由所述第二设备根据所述当前数据流的特征信息和所述第二数据流类型训练所述内容识别模型得到的新的内容识别模型。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
第二更新单元,用在若对应于所述目标数据流类型的所述综合置信度小于第二预设阈值的情况下,根据所述当前数据流的特征信息和所述第二数据流类型更新所述内容识别模型,以得到新的内容识别模型,所述第二预设阈值大于所述第一预设阈值。
26.根据权利要求17或18所述的装置,其特征在于,所述装置还包括:
第三发送单元,用于在所述第二确定单元根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型之后,向运维支持系统OSS发送所述当前数据流对应的第二数据流类型,所述当前数据流的第二数据流类型的信息用于所述OSS生成针对所述当前数据流的流量控制策略。
27.根据权利要求17或18所述的装置,其特征在于,所述报文长度包括报文中以太帧长度、IP报文长度、传输协议报文长度和报头长度中的一项或者多项,所述传输协议包括传输控制协议TCP和/或用户数据报协议UDP。
28.一种数据流类型识别模型更新装置,其特征在于,包括:
第一接收单元,用于接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
获取单元,用于在累计接收到了M条数据流对应的校正数据的情况下,根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
第一发送单元,用于向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
29.根据权利要求28所述的装置,其特征在于,所述通用特征为知名端口号、或者知名域名系统DNS。
30.根据权利要求28或29所述的装置,其特征在于,在根据所述M条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型,其中:
所述Y条数据流与所述M条数据流来自同一个网络,或者,
所述Y条数据流与所述M条数据流来自至少两个不同的网络,其中,所述至少两个不同的网络包括两个不同的局域网,或者所述至少两个不同的网络包括两个不同形态的网络,或者所述至少两个不同的网络包括两个不同区域的网络。
31.根据权利要求30所述的装置,其特征在于,若所述Y条数据流与所述M条数据流来自至少两个不同的网络;在根据所述M条数据流对应的校正数据和Y条数据流对应的校正数据对所述行为识别模型进行训练得到新的行为识别模型方面,所述获取单元具体用于:
根据所述Y条数据流所属的第二网络与所述M条数据流所属的第一网络的网络配置的差异对所述Y条数据流的报文信息进行修正,得到所述Y条数据流的修正后的报文信息;
根据所述M条数据流的报文信息、所述Y条数据流的修正后的报文信息、所述M条数据流对应的第二数据流类型、所述Y条数据流对应的第二数据流对所述行为识别模型进行训练得到新的行为识别模型。
32.根据权利要求28所述的装置,其特征在于,还包括:
第二接收单元,用于接收所述第三设备发送的当前数据流的特征信息和第二数据流类型的信息;
生成单元,用于根据所述当前数据流的特征信息和第二数据流类型的信息对所述内容识别模型进行训练得到新的内容识别模型;
第二发送单元,用于向所述第三设备发送第二模型数据,所述第二模型数据用于描述所述新的内容识别模型,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的模型,所述内容识别模型用于根据输入的待预测的数据流的特征信息估计所述待预测数据流的数据流类型,其中,所述历史数据流的数据流类型是根据行为识别模型得到的,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项,所述特征信息包括目的地址和协议类型中的一项或多项。
33.一种数据流类型识别模型更新设备,其特征在于,所述设备是第三设备,所述第三设备包括存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;所述行为识别模型为对多个数据流样本的报文信息和数据流类型进行训练得到的模型;
根据目标对应关系和所述当前数据流的通用特征确定所述当前数据流对应的第二数据流类型,其中,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若根据所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型不同,则获取所述当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型,所述校正数据用于作为训练样本更新所述行为识别模型;
所述根据当前数据流的报文信息、行为识别模型确定所述当前数据流对应的第一数据流类型,包括:
根据当前数据流的报文信息和行为识别模型得到所述当前数据流的对应于至少一个数据流类型的至少一个第一置信度;
根据所述当前数据流的特征信息和内容识别模型得到所述当前数据流的对应于所述至少一个数据流类型的至少一个第二置信度;
根据所述至少一个第一置信度和所述至少一个第二置信度确定所述当前数据流的第一数据流类型;其中,所述特征信息包括目的地址和协议类型中的一项或者多项;所述内容识别模型为对一条或多条历史数据流的特征信息和数据流类型进行训练得到的模型,所述历史数据流的数据流类型是根据所述行为识别模型得到。
34.一种数据流类型识别模型更新设备,其特征在于,所述设备是第一设备,所述第一设备包括存储器、处理器和通信接口,其中,所述存储器用于存储计算机程序,所述处理器调用所述计算机程序,用于执行如下操作:
通过所述通信接口接收第三设备发送的当前数据流对应的校正数据,其中,所述当前数据流对应的校正数据包括所述当前数据流的报文信息和所述当前数据流对应的第二数据流类型;所述当前数据流对应的第二数据流类型为所述第三设备根据目标对应关系和所述当前数据流的通用特征确定的,所述目标对应关系为多个通用特征与多个数据流类型的对应关系;
若累计接收到了来自所述第三设备的M条数据流对应的校正数据,则根据所述M条数据流对应的校正数据对行为识别模型进行训练得到新的行为识别模型;所述M条数据流为从所述行为识别模型生效到截止当前的累计量,或者为在预设时间段内的累计量,或者所述M条数据流占所述行为识别模型生效后已传输的数据流的总量的比值超过预设阈值;M条数据流包括所述当前数据流;
通过所述通信接口向所述第三设备发送第一模型数据,所述第一模型数据用于描述所述新的行为识别模型,所述行为识别模型为根据多个数据流样本的报文信息和数据流类型得到的模型,所述行为识别模型用于根据输入的待预测数据流的报文信息确定所述待预测数据流的数据流类型;所述报文信息包括报文长度、报文传输速度、报文间隔时间和报文方向中的一项或者多项;
所述当前数据流对应的校正数据是所述第三设备在所述当前数据流对应的第一数据流类型和所述当前数据流对应的第二数据流类型为不同的数据流类型的情况下发送的,所述当前数据流对应的第一数据流类型是所述第三设备根据当前数据流的报文信息、特征信息、所述行为识别模型、内容识别模型确定的;所述特征信息包括目的地址和协议类型中的一项或者多项,所述内容识别模型为根据一条或多条历史数据流的特征信息和数据流类型得到的,所述历史数据流的数据流类型是根据所述行为识别模型得到的。
35.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现权利要求1-16任一所述的方法。
CN202010130637.8A 2020-02-28 2020-02-28 一种数据流类型识别模型更新方法及相关设备 Active CN111404833B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010130637.8A CN111404833B (zh) 2020-02-28 2020-02-28 一种数据流类型识别模型更新方法及相关设备
PCT/CN2020/119665 WO2021169308A1 (zh) 2020-02-28 2020-09-30 一种数据流类型识别模型更新方法及相关设备
EP20922372.6A EP4087202A4 (en) 2020-02-28 2020-09-30 DATA FLOW TYPE IDENTIFICATION MODEL UPDATE METHOD AND RELATED DEVICE
US17/896,943 US20220407809A1 (en) 2020-02-28 2022-08-26 Data Stream Classification Model Updating Method and Related Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010130637.8A CN111404833B (zh) 2020-02-28 2020-02-28 一种数据流类型识别模型更新方法及相关设备

Publications (2)

Publication Number Publication Date
CN111404833A CN111404833A (zh) 2020-07-10
CN111404833B true CN111404833B (zh) 2022-04-12

Family

ID=71413859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010130637.8A Active CN111404833B (zh) 2020-02-28 2020-02-28 一种数据流类型识别模型更新方法及相关设备

Country Status (4)

Country Link
US (1) US20220407809A1 (zh)
EP (1) EP4087202A4 (zh)
CN (1) CN111404833B (zh)
WO (1) WO2021169308A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404833B (zh) * 2020-02-28 2022-04-12 华为技术有限公司 一种数据流类型识别模型更新方法及相关设备
CN112367215B (zh) * 2020-09-21 2022-04-26 杭州安恒信息安全技术有限公司 基于机器学习的网络流量协议识别方法和装置
CN112398875B (zh) * 2021-01-18 2021-04-09 北京电信易通信息技术股份有限公司 视频会议场景下基于机器学习的流数据安全漏洞探测方法
CN114039995A (zh) * 2021-09-17 2022-02-11 北京新网医讯技术有限公司 基于dicom ip端口区分ai模块功能管理方法及系统
US20230164029A1 (en) * 2021-11-22 2023-05-25 Cisco Technology, Inc. Recommending configuration changes in software-defined networks using machine learning
CN114338262B (zh) * 2021-11-26 2024-02-20 国网信息通信产业集团有限公司 能源舱通信方法、系统及电子设备
CN114666169B (zh) * 2022-05-24 2022-08-12 杭州安恒信息技术股份有限公司 一种扫描探测类型的识别方法、装置、设备及介质
CN116094924B (zh) * 2022-07-08 2023-11-21 荣耀终端有限公司 用于模型更新的方法及相关装置
CN115988574B (zh) * 2023-03-15 2023-08-04 阿里巴巴(中国)有限公司 基于流表的数据处理方法、系统、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置
CN102315974A (zh) * 2011-10-17 2012-01-11 北京邮电大学 基于层次化特征分析的tcp、udp流量在线识别方法和装置
CN107360032A (zh) * 2017-07-20 2017-11-17 中国南方电网有限责任公司 一种网络流识别方法及电子设备
CN109961080A (zh) * 2017-12-26 2019-07-02 腾讯科技(深圳)有限公司 终端识别方法及装置
CN110781950A (zh) * 2019-10-23 2020-02-11 新华三信息安全技术有限公司 一种报文处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8311956B2 (en) * 2009-08-11 2012-11-13 At&T Intellectual Property I, L.P. Scalable traffic classifier and classifier training system
CN104468273A (zh) * 2014-12-12 2015-03-25 北京百度网讯科技有限公司 识别流量数据的应用类型的方法及系统
US9621431B1 (en) * 2014-12-23 2017-04-11 EMC IP Holding Company LLC Classification techniques to identify network entity types and determine network topologies
CN107545889B (zh) * 2016-06-23 2020-10-23 华为终端有限公司 适用于模式识别的模型的优化方法、装置及终端设备
CN110233769B (zh) * 2018-03-06 2021-09-14 华为技术有限公司 流量检测方法和设备、样本训练方法和设备、以及介质
CN108667747A (zh) * 2018-04-28 2018-10-16 深圳信息职业技术学院 网络流应用类型识别的方法、装置及计算机可读存储介质
CN109525587A (zh) * 2018-11-30 2019-03-26 新华三信息安全技术有限公司 一种数据包的识别方法及装置
CN111404833B (zh) * 2020-02-28 2022-04-12 华为技术有限公司 一种数据流类型识别模型更新方法及相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695035A (zh) * 2009-10-21 2010-04-14 成都市华为赛门铁克科技有限公司 流量识别方法及装置
CN102315974A (zh) * 2011-10-17 2012-01-11 北京邮电大学 基于层次化特征分析的tcp、udp流量在线识别方法和装置
CN107360032A (zh) * 2017-07-20 2017-11-17 中国南方电网有限责任公司 一种网络流识别方法及电子设备
CN109961080A (zh) * 2017-12-26 2019-07-02 腾讯科技(深圳)有限公司 终端识别方法及装置
CN110781950A (zh) * 2019-10-23 2020-02-11 新华三信息安全技术有限公司 一种报文处理方法及装置

Also Published As

Publication number Publication date
CN111404833A (zh) 2020-07-10
US20220407809A1 (en) 2022-12-22
WO2021169308A1 (zh) 2021-09-02
EP4087202A1 (en) 2022-11-09
EP4087202A4 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
CN111404833B (zh) 一种数据流类型识别模型更新方法及相关设备
CN112511457B (zh) 一种数据流类型识别方法及相关设备
CN110505099B (zh) 一种基于迁移a-c学习的服务功能链部署方法
WO2022193534A1 (zh) 智融标识网络中基于意图驱动的服务编排系统和方法
CN109831386B (zh) 一种sdn下基于机器学习的最优路径选择算法
CN111049757B (zh) 一种业务流处理方法及装置
CN103379039A (zh) 一种用于流统计的方法、装置及系统
US20220182874A1 (en) Systems and methods for distribution of application logic in digital networks
EP4095768A1 (en) Application recognition model updating method and apparatus, and storage medium
CN110868326B (zh) 网络服务质量的分析方法、边缘设备及中心服务器
US11956118B2 (en) Fault root cause identification method, apparatus, and device
CN117880092A (zh) 网络参数配置方法、装置、计算机设备以及存储介质
CN112887217B (zh) 控制数据包发送方法、模型训练方法、装置及系统
US11100364B2 (en) Active learning for interactive labeling of new device types based on limited feedback
CN113572694A (zh) 拥塞控制方法、装置及系统、计算机存储介质
Tam et al. Intelligent massive traffic handling scheme in 5G bottleneck backhaul networks
US20180309639A1 (en) Dynamic computer network classification using machine learning
CN115695280A (zh) 基于边缘节点的路由方法及装置、电子设备、存储介质
Fan et al. MASCOT: Mobility-Aware Service Function Chain Routing in Mobile Edge Computing
Frei et al. meQ: Selecting MEC Resources by Considering Service Communication Requirements
CN103118078A (zh) P2p流量的识别方法和设备
CN116996451A (zh) 数据传输方法、数据传输装置、电子设备及存储介质
EP4203410A1 (en) User device, server, method, apparatus and computer readable medium for network communication
US20230385708A1 (en) Reconciling computing infrastructure and data in federated learning
Dubba et al. Predictive resource allocation and VNF deployment using ensemble learning

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