CN110266552B - 流量异常检测的方法、模型训练方法和装置 - Google Patents

流量异常检测的方法、模型训练方法和装置 Download PDF

Info

Publication number
CN110266552B
CN110266552B CN201910752193.9A CN201910752193A CN110266552B CN 110266552 B CN110266552 B CN 110266552B CN 201910752193 A CN201910752193 A CN 201910752193A CN 110266552 B CN110266552 B CN 110266552B
Authority
CN
China
Prior art keywords
target
time sequence
time series
target time
sub
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
CN201910752193.9A
Other languages
English (en)
Other versions
CN110266552A (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 CN202010260339.0A priority Critical patent/CN112398677A/zh
Priority to CN201910752193.9A priority patent/CN110266552B/zh
Publication of CN110266552A publication Critical patent/CN110266552A/zh
Application granted granted Critical
Publication of CN110266552B publication Critical patent/CN110266552B/zh
Priority to EP20852228.4A priority patent/EP4009590A4/en
Priority to PCT/CN2020/107627 priority patent/WO2021027697A1/zh
Priority to US17/669,638 priority patent/US20220166681A1/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Abstract

本申请提供了一种流量异常检测的方法,该方法包括:获取包括N个元素的目标时间序列;根据目标时间序列,获取目标时间序列的目标参数,目标参数包括周期因子和/或抖动密度,周期因子表示目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,抖动密度表示目标时间序列在目标时间内实际值与目标值的偏差;根据目标参数,从多个类型中确定目标时间序列所属于的第一类型,其中,多个类型中的每个类型对应一个参数集合,目标参数属于第一类型对应的参数集合;根据第一类型对应的第一类的判定模型,检测目标时间序列的异常情况,其中,多个类型中的每个类型对应一个类型的判定模型。通过上述技术方案,可以提高流量异常检测的精度。

Description

流量异常检测的方法、模型训练方法和装置
技术领域
本申请涉及机器学习领域,并且更具体地,涉及一种流量异常检测的方法、模型训练方法和装置。
背景技术
在机器学习领域中,异常检测指对不符合预测的模型、数据或时间进行检测。通常异常检测是由专业人员对历史数据的学习,然后找出异常点。数据来源包括应用、进程、操作系统、设备或者网络,随着计算系统复杂度的提升,人工已经不能胜任现在的异常检测难度。
在现有技术中,基于统计与数据分布的算法对网络流量数据进行异常检测,前提条件是假设在短时间内,流量数据服从正态分布,但是,网络流量数据分布在短时间内并不服从正态分布,因此,基于统计与数据分布的算法对网络流量数据进行异常检测的精度不高。
发明内容
本申请提供一种流量异常检测的方法、模型训练方法和装置,能够提高模型对网络流量数据的异常检测的精度。
第一方面,提供了一种流量异常检测的方法,获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;根据所述目标参数,从多个类型中确定所述目标时间序列所属于的第一类型,其中,所述多个类型中的每个类型对应一个参数集合,所述目标参数属于所述第一类型对应的参数集合;根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况,其中,所述多个类型中的每个类型对应一个类型的判定模型,所述判定模型用于流量异常检测。
首先,根据获取到的目标时间序列,确定目标时间序列的目标参数;其次,根据目标参数,确定目标时间序列所属于的第一类型;最后,根据第一类型对应的第一类的判定模型,对目标时间序列进行流量异常检测,因此,可以提高流量异常检测的精度。
结合第一方面,在一种可能的实现方式中,所述根据所述目标时间序列,获取所述目标时间序列的目标参数包括:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第一方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第一方面,在一种可能的实现方式中,所述根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子包括:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第一方面,在一种可能的实现方式中,所述方法还包括:根据第一映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第二类的判定模型,所述第一映射关系包括所述多个类型和多个所述第二类的判定模型的对应关系;根据所述第二子时间序列和所述第一类型对应的第二类的判定模型,检测所述目标时间序列的异常情况,所述第二类的判定模型是N-sigma模型。
结合第一方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第一方面,在一种可能的实现方式中,所述根据所述第二子时间序列,确定所述目标时间序列的抖动密度包括:根据以下公式确定所述目标时间序列的R:
Figure GDA0002234648500000021
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000022
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000023
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第一方面,在一种可能的实现方式中,所述根据目标参数,从多个类型中确定所述目标时间序列所属于的第一类型包括:根据所述目标参数,从所述多个参数集合中确定所述目标参数属于的第一参数集合;根据第三映射关系和所述第一参数集合,从多个类型中确定所述目标时间序列所属于的第一类型,所述第三映射关系包括多个参数集合和多个所述类型的对应关系。
其中,上述所述类型可以包括:周期型、非周期型、稳定型、毛刺型、周期稳定型、周期毛刺型、非周期稳定型或非周期毛刺型。
其中,周期型和非周期型可以根据周期因子确定。具体地,在所述周期因子存在的情况下,所述类型为周期型;在所述周期因子不存在的情况下,所述类型为非周期型。
其中,稳定型和毛刺型可以根据抖动密度确定。具体地,在所述抖动密度大于第二预设值的情况下,所述类型为毛刺型;在所述抖动密度小于或等于所述第二预设值的情况下,所述类型为平稳型。
根据目标参数,从多个参数集合中确定目标参数属于的第一参数集合,再根据第三映射关系和第一参数集合,从多个类型中确定目标时间序列所属于的第一类型,从而可以获取目标时间序列所属于的类型,完成对目标时间序列的分类。
结合第一方面,在一种可能的实现方式中,所述根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况包括:确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据所述MP时间序列和N-sigma算法,检测所述目标时间序列的异常情况。
首先,将第二时间序列分成M个目标长度的子序列,其中,第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的,其次,计算M个目标长度的子序列的矩阵轮廓MP值;最后,根据MP时间序列和N-sigma算法,检测目标时间序列的异常情况,从而提高了流量异常检测的精度。
结合第一方面,在一种可能的实现方式中,所述方法还包括:根据第二映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第一类的判定模型,所述第二映射关系包括所述多个类型和多个所述第一类的判定模型的对应关系。
根据第二映射关系和目标时间序列所属于的第一类型,确定第一类型对应的第一类的判定模型,从而可以针对目标时间序列所属于的类型,确定相应的判定模型,从而提高了流量异常检测的精度。
第二方面,提供了一种流量异常检测的方法,包括:获取目标时间序列;所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;从多个参数集合中确定所述目标参数所属于的第一参数集合;根据所述第一参数集合对应的第一类的判定模型,检测所述目标时间序列的异常情况,其中,所述多个参数集合中的每个参数集合对应一个类型的判定模型,所述判定模型用于流量异常检测。
首先,根据获取到的目标时间序列,确定目标时间序列的目标参数;其次,根据目标参数,确定目标时间序列所属于的第一参数集合;最后,根据第一参数集合对应的第一类的判定模型,对目标时间序列进行流量异常检测,因此,可以提高流量异常检测的精度。
结合第二方面,在一种可能的实现方式中,所述根据所述目标时间序列,获取所述目标时间序列的目标参数包括:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第二方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第二方面,在一种可能的实现方式中,所述根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子包括:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第二方面,在一种可能的实现方式中,所述方法还包括:根据所述第二子时间序列和所述第一参数集合对应的第二类的判定模型,检测所述目标时间序列的异常情况,所述第二类的判定模型是N-sigma模型。
结合第二方面,在一种可能的实现方式中,所述方法还包括:根据第四映射关系和所述目标参数所属于的第一参数集合,确定所述第一参数集合对应的第二类的判定模型,所述第四映射关系包括所述多个参数集合和多个所述第二类的判定模型的对应关系。
结合第二方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第二方面,在一种可能的实现方式中,所述根据所述第二子时间序列,确定所述目标时间序列的抖动密度包括:根据以下公式确定所述目标时间序列的抖动密度:
Figure GDA0002234648500000041
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000042
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000043
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第二方面,在一种可能的实现方式中,所述根据所述第一参数集合对应的第一类的判定模型,检测所述目标时间序列的异常情况包括:确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据所述MP时间序列和N-sigma算法,检测所述目标时间序列的异常情况。
首先,将第二时间序列分成M个目标长度的子序列,其中,第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;其次,计算M个目标长度的子序列的矩阵轮廓MP值;最后,根据MP时间序列和N-sigma算法,检测目标时间序列的异常情况,从而提高了流量异常检测的精度。
结合第二方面,在一种可能的实现方式中,所述方法还包括:根据第五映射关系和所述目标参数所属于的第一参数集合,确定所述第一参数集合对应的第一类的判定模型,所述第五映射关系包括所述多个参数集合和所述多个第一类的判定模型的对应关系。
根据第五映射关系和第一参数集合,确定第一参数集合对应的第一类的判定模型,从而可以获取目标时间序列对应的判定模型,提高了流量异常检测的精度。
第三方面,提供了一种流量异常检测的方法,所述方法包括:获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据第三类的判定模型,检测所述MP时间序列的异常情况。
首先,获取目标时间序列,并将第二时间序列分成M个目标长度的子序列,其中,第二时间序列是第三子时间序列或第二时间序列是根据第三子时间序列和线性分段算法PLR形成的,第三子时间序列是对目标时间序列中的N个元素中的每个元素分解的趋势分量形成的时间序列;其次,计算M个目标长度的子序列的矩阵轮廓MP值;最后,根据第三类的判定模型,检测目标时间序列的异常情况,从而提高了流量异常检测的精度。
结合第三方面,在一种可能的实现方式中,所述方法还包括:确定包括N个所述残余分量的第二子时间序列;根据第二子时间序列和第三类的判定模型,检测所述目标时间序列的异常情况。
结合第三方面,在一种可能的实现方式中,所述目标长度是通信协议规定的。
结合第三方面,在一种可能的实现方式中,所述第三类的判定模型是N-sigma模型。
第四方面,提供了一种流量模式的分类方法,包括:获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;根据所述目标参数,对所述目标时间序列进行分类。
获取目标时间序列,并根据目标时间序列的目标参数,对目标时间序列进行分类,从而以便后续对分类后的目标时间序列进行处理,提高了目标时间序列进行处理的精度。
结合第四方面,在一种可能的实现方式中,所述根据所述目标时间序列,获取所述目标时间序列的目标参数包括:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第四方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第四方面,在一种可能的实现方式中,所述根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子包括:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第四方面,在一种可能的实现方式中,所述根据所述目标参数,对所述目标时间序列进行分类包括:在所述周期因子存在的情况下,将所述目标时间序列确定为周期型;在所述周期因子不存在的情况下,将所述目标时间序列确定为非周期型。
结合第四方面,在一种可能的实现方式中,所述根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数包括:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第四方面,在一种可能的实现方式中,所述根据所述第二子时间序列,确定所述目标时间序列的抖动密度包括:根据以下公式确定所述目标时间序列的R:
Figure GDA0002234648500000061
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000062
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000063
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第四方面,在一种可能的实现方式中,所述根据所述目标参数,对所述目标时间序列进行分类包括:在所述抖动密度大于第二预设值的情况下,将所述目标时间序列确定为毛刺型;在所述抖动密度小于或等于所述第二预设值的情况下,所述目标时间序列确定为平稳型。
第五方面,提供了一种流量异常检测模型训练方法,包括:获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始分类模型,获取所述第一时间序列的第一类型;根据第一类型对应的第一类的判定模型,对所述第一类型的第一时间序列进行流量异常检测处理,以获取第一数据,所述第一数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第一数据和所述第二数据,调整所述第一类的判定模型的参数,以获取第一目标判定模型。
可选地,可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型。
结合第五方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第六方面,提供了一种流量异常检测模型训练方法,包括:获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始参数模型,获取所述第一时间序列的第一参数集合;根据第一参数集合对应的第一类的判定模型,对所述第一时间序列进行流量异常检测处理,以获取第四数据,所述第四数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第二数据和所述第四数据,调整所述第一类的判定模型的参数,以获取第一目标判定模型。
可选地,可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型。
结合第六方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第七方面,提供了一种流量异常检测模型的训练方法,所述方法包括:获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;对所述第一时间序列进行处理,以获取第三子时间序列,所述第三子时间序列是所述第一时间序列中的N个元素中的每个元素分解的趋势分量组成的时间序列;根据第四类的判定模型,对所述第一时间序列进行流量异常检测处理,以获取第三数据,所述第三数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第二数据和所述第三数据,调整所述第四类的判定模型的参数,以获取第二目标判定模型。
可选地,可以获取多个第一时间序列,根据多个第一时间序列来训练第二目标判定模型。
第八方面,提供了一种流量模式的分类模型训练方法,包括:获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与所述N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始分类模型,获取所述第一时间序列的第一类型;获取所述第一时间序列的原始类型;根据所述第一时间序列的原始类型和所述第一时间序列的第一类型,调整所述第一时间序列的原始模型的参数,以获取所述第一时间序列的目标分类模型。
结合第八方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第九方面,提供了一种流量异常检测装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;根据所述目标参数,从多个类型中确定所述目标时间序列所属于的第一类型,其中,所述多个类型中的每个类型对应一个参数集合,所述目标参数属于所述第一类型对应的参数集合;根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况,其中,所述多个类型中的每个类型对应一个类型的判定模型,所述判定模型用于流量异常检测。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第九方面,在一种可能的实现方式中,所述处理器还具体用于:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:根据第一映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第二类的判定模型,所述第一映射关系包括所述多个类型和多个所述第二类的判定模型的对应关系;根据所述第二子时间序列和所述第一类型对应的第二类的判定模型,检测所述目标时间序列的异常情况,所述第二类的判定模型是N-sigma模型。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第九方面,在一种可能的实现方式中,所述处理器还具体用于:根据以下公式确定所述目标时间序列的R:
Figure GDA0002234648500000091
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000092
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000093
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:根据所述目标参数,从所述多个参数集合中确定所述目标参数属于的第一参数集合;根据第三映射关系和所述第一参数集合,从多个类型中确定所述目标时间序列所属于的第一类型,所述第三映射关系包括多个参数集合和多个所述类型的对应关系。
其中,上述所述类型可以包括:周期型、非周期型、稳定型、毛刺型、周期稳定型、周期毛刺型、非周期稳定型或非周期毛刺型。
其中,周期型和非周期型可以根据周期因子确定。具体地,在所述周期因子存在的情况下,所述类型为周期型;在所述周期因子不存在的情况下,所述类型为非周期型。
其中,稳定型和毛刺型可以根据抖动密度确定。具体地,在所述抖动密度大于第二预设值的情况下,所述类型为毛刺型;在所述抖动密度小于或等于所述第二预设值的情况下,所述类型为平稳型。
结合第九方面,在一种可能的实现方式中,所述处理器还具体用于:确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据所述MP时间序列和N-sigma算法,检测所述目标时间序列的异常情况。
结合第九方面,在一种可能的实现方式中,所述处理器还用于:根据所述第二映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第一类的判定模型,所述第二映射关系包括所述多个类型和多个所述第一类的判定模型的对应关系。
第十方面,提供了一种流量异常检测装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取目标时间序列;所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;从多个参数集合中确定所述目标参数所属于的第一参数集合;根据所述第一参数集合对应的第一类的判定模型,检测所述目标时间序列的异常情况,其中,所述多个参数集合中的每个参数集合对应一个类型的判定模型,所述判定模型用于流量异常检测。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第十方面,在一种可能的实现方式中,所述处理器还具体用于:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:根据所述第二子时间序列和所述第一参数集合对应的第二类的判定模型,检测所述目标时间序列的异常情况,所述第二类的判定模型是N-sigma模型。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:根据第四映射关系和所述目标参数所属于的第一参数集合,确定所述第一参数集合对应的第二类的判定模型,所述第四映射关系包括所述多个参数集合和多个所述第二类的判定模型的对应关系。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第十方面,在一种可能的实现方式中,所述处理器还用于:根据以下公式确定所述目标时间序列的抖动密度:
Figure GDA0002234648500000101
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000102
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000111
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第十方面,在一种可能的实现方式中,所述处理器还具体用于:确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据所述MP时间序列和N-sigma算法,检测所述目标时间序列的异常情况。
结合第十方面,在一种可能的实现方式中,所述处理器还具体用于:根据第五映射关系和所述目标参数所属于的第一参数集合,确定所述第一参数集合对应的第一类的判定模型,所述第五映射关系包括所述多个参数集合和所述多个第一类的判定模型的对应关系。
第十一方面,提供了一种流量异常检测装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据第三类的判定模型,检测所述MP时间序列的异常情况。
结合第十一方面,在一种可能的实现方式中,所述处理器还用于:确定包括N个所述残余分量的第二子时间序列;根据第二子时间序列和第三类的判定模型,检测所述目标时间序列的异常情况。
结合第十一方面,在一种可能的实现方式中,所述目标长度是通信协议规定的。
结合第十一方面,在一种可能的实现方式中,所述第三类的判定模型是N-sigma模型。
第十二方面,提供了一种流量模式的分类装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述目标时间序列,获取目标时间序列的目标参数,所述目标参数包括周期因子和/或抖动密度,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;根据所述目标参数,对所述目标时间序列进行分类。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和N个所述残余分量的第二子时间序列;根据所述第一子时间序列或所述第二子时间序列,获取所述目标时间序列的目标参数。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:在所述周期因子存在的情况下,将所述目标时间序列确定为周期型;在所述周期因子不存在的情况下,将所述目标时间序列确定为非周期型。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:根据以下公式确定所述目标时间序列的R:
Figure GDA0002234648500000121
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure GDA0002234648500000122
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure GDA0002234648500000123
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
结合第十二方面,在一种可能的实现方式中,所述处理器还具体用于:在所述抖动密度大于第二预设值的情况下,将所述目标时间序列确定为毛刺型;在所述抖动密度小于或等于所述第二预设值的情况下,所述目标时间序列确定为平稳型。
第十三方面,提供了一种流量异常检测模型训练装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始分类模型,获取所述第一时间序列的第一类型;根据第一类型对应的第一类的判定模型,对所述第一类型的第一时间序列进行流量异常检测处理,以获取第一数据,所述第一数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第一数据和所述第二数据,调整所述第一类的判定模型的参数,以获取第一目标判定模型。
可选地,所述处理器可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型。
结合第十三方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第十四方面,提供了一种流量异常检测模型训练装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始参数模型,获取所述第一时间序列的第一参数集合;根据第一参数集合对应的第一类的判定模型,对所述第一时间序列进行流量异常检测处理,以获取第四数据,所述第四数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第二数据和所述第四数据,调整所述第一类的判定模型的参数,以获取第一目标判定模型。
可选地,所述处理器可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型。
结合第十四方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第十五方面,提供了一种流量异常检测模型的训练模型,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;对所述第一时间序列进行处理,以获取第三子时间序列,所述第三子时间序列是所述第一时间序列中的N个元素中的每个元素分解的趋势分量组成的时间序列;根据第四类的判定模型,对所述第一时间序列进行流量异常检测处理,以获取第三数据,所述第三数据是所述第一时间序列的异常点;获取第二数据,所述第二数据为所述第一时间序列的原始异常点;根据所述第二数据和所述第三数据,调整所述第四类的判定模型的参数,以获取第二目标判定模型。
可选地,所述处理器可以获取多个第一时间序列,根据多个第一时间序列来训练第二目标判定模型。
第十六方面,提供了一种流量模式的分类模型训练装置,包括存储器,用于存储程序;处理器,用于执行存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于获取第一时间序列,所述第一时间序列包括N个元素,所述N个元素与所述N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;根据所述第一时间序列的原始分类模型,获取所述第一时间序列的第一类型;获取所述第一时间序列的原始类型;根据所述第一时间序列的原始类型和所述第一时间序列的第一类型,调整所述第一时间序列的原始模型的参数,以获取所述第一时间序列的目标分类模型。
结合第十六方面,在一种可能的实现方式中,所述第一时间序列的第一类型为周期型或非周期型、毛刺型、平稳型、周期平稳型、非周期平稳型、周期毛刺型或非周期毛刺型。
第十七方面,提供一种计算机存储介质,该计算机存储介质存储有程序代码,该程序代码包括用于执行上述第一方面至第八方面中任一种可能实现方式中的方法。
第十八方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面至第八方面中任一种可能实现方式中的方法。
第十九方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面至第八方面中任一种可能实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面至第八方面中任一种可能实现方式中的方法。
上述芯片具体可以是现场可编程门阵列FPGA或者专用集成电路ASIC。
附图说明
图1是本申请实施例提供的系统架构的结构示意图。
图2是本申请实施例提供的一种流量模式的分类方法200的示意性流程图。
图3是4种网络设备的网络流量序列。
图4是本申请实施例提供的一种流量异常检测的方法400的示意性流程图。
图5是本申请实施例的对时间序列处理后的示意图。
图6是本申请实施例提供的另一种流量异常检测的方法600的示意性流程图。
图7是本申请实施例的基线流量异常示意图。
图8是本申请实施例提供的另一种流量异常检测的方法800示意性流程图。
图9是本申请实施例提供的一种流量模式的分类模型训练方法900的示意性流程图。
图10是本申请实施例提供的另一种流量异常检测模型训练方法1000的示意性流程图。
图11是本申请实施例提供的又一种流量异常检测模型训练方法1100的示意性流程图。
图12是本申请实施例提供的又一种流量异常检测模型训练方法1200的示意性流程图。
图13是本申请实施例提供的流量模式的分类装置1300的示意性框图。
图14是本申请实施例提供的流量异常检测装置1400的示意性框图。
图15是本申请实施例提供的流量模式的分类模型训练装置1500的硬件结构示意图。
图16是本申请实施例提供的流量异常检测模型训练装置1600的硬件结构示意图。
具体实施方式
为了便于理解,下面先对本申请实施例涉及的几个概念进行介绍。
1、时间序列是一组按照时间发生先后顺序进行排列的数据点序列。通常一组时间序列的时间间隔为一恒定值,因此时间序列可以作为离散时间数据进行分析处理。时间序列的异常检测通常是找出远离相对既定模式或分布的数据点。时间序列异常包括:突升、突降、均值变化等。时间序列的异常检测算法包括基于统计与数据分布的算法(N-Sigma)、基于距离/密度的算法(局部异常因子算法)、孤立森林、基于预测的算法(ARIMA)等。
2、流量异常检测,针对网络中设备或端口中采集的流量数据进行异常检测,异常检测结果为发现网络攻击、配置错误和网络设备故障提供依据。
3、N-Sigma算法
假设数据流量在短时间内,服从正态分布,即:
Figure GDA0002234648500000151
其中,xt为t时刻的流量数据,μ为正态分布的均值,σ为正态分布的方差。
其中,均值和方差可以利用时间窗内的n个历史流量数据(x1,x2,...xt,...xn)进行估计,其估计如下公式:
Figure GDA0002234648500000152
Figure GDA0002234648500000153
若待检测流量数据xt与均值的距离大于预设值,则该待检测数据流量xt为异常点,即:
Figure GDA0002234648500000154
其中,Y为预设值。
若待检测流量数据xt与均值的距离小于或等于预设值,则该待检测数据流量xt为正常点,即:
Figure GDA0002234648500000155
在N-sigma算法中,假设数据流量在短时间内是服从正态分布的,对网络流量数据进行异常检测。但是网络流量数据分布在短时间内并不服从正态分布,因此,基于统计与数据分布的算法对网络流量数据进行异常检测的精度不高。
因此,亟需一种能够提高流量数据异常检测精度的方法。
下面结合图1对本申请实施例的系统架构进行详细的介绍。
图1是本申请实施例的系统架构的示意图。如图1所示,系统架构100包括执行设备110、训练设备120、数据库130、网络设备140、数据存储系统150、以及数据采集设备160。
另外,执行设备110包括计算模块111、I/O接口112、预处理模块113和预处理模块114。其中,计算模块111中可以包括目标模型/规则101,预处理模块113和预处理模块114是可选的。
数据采集设备160用于采集训练数据。针对本申请实施例的流量异常检测的方法来说,训练数据可以包括第一时间序列,其中,第一时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对第一时间序列进行流量异常检测,将输出的第一时间序列的流量异常检测结果与第一时间序列的原始流量异常的结果进行对比,直到训练设备120输出的第一时间序列的流量异常检测结果与第一时间序列的原始流量异常的结果小于一定的阈值,从而完成目标模型/规则101的训练,其中,第一时间序列的原始流量异常的结果是操作人员通过对第一时间序列分析得到的。
上述目标模型/规则101能够用于实现本申请实施例的流量异常检测的方法,即,将目标时间序列(通过相关预处理后)输入该目标模型/规则101,即可得到目标时间序列的检测结果。需要说明的是,在实际的应用中,所述数据库130中维护的第一时间序列不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的第一时间序列进行目标模型/规则101的训练,也有可能从云端或其他地方获取第一时间序列进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是服务器或者云端等。在图1中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,网络设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:网络设备输入的目标时间序列。这里的网络设备140具体可以是终端设备。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如目标时间序列)进行预处理,在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的目标时间序列的检测结果呈现给网络设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图1中所示情况下,网络设备140可以自动地向I/O接口112发送输入数据。用户可以在网络设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。网络设备140也可以作为数据采集端,采集如图1所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过网络设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
下面将结合附图,对本申请中的技术方案进行描述。
下面结合图2对本申请实施例提供的一种流量模式的分类方法200进行详细的介绍。
图2所示的方法可是由流量模式的分类装置执行,该流量模式的分类装置可以是具有流量模式的分类功能的服务器或云端。
图2所示的方法200包括步骤210至步骤230。下面分别对这些步骤进行详细的描述。
210、获取目标时间序列,该目标时间序列包括N个元素,该N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,上述目标时间序列可以是第一网络设备发送的。
可选地,服务器还可以获取除目标时间序列之外的其他待流量异常检测的时间序列,其中,其他待流量异常检测的时间序列可以是来自同一网络设备,该同一个网络设备可以是第一网络设备,该同一个网络设备也可以是除第一网络设备之外的其他任意一个网络设备。或者,其他待流量异常检测的时间序列可以是来自不同的网络设备。本申请对此并不做限定。
可选地,该N个元素中的每个元素为所对应的时刻接收到的流量数据可以理解为是服务器采集的单位时间(秒)内第一网络设备的流量数据;即N个元素中的每个元素可以是服务器每隔1s,采集一次第一网络设备的流量数据。例如,在N为4的情况下,目标时间序列可以包括4个元素,即,服务器需要每隔1s采集一次第一网络设备的流量数据,得到4s内采集的目标时间序列。例如,该目标时间序列可以是{1MB,2MB,5MB,9MB},其中,1MB是第一网络设备在1s时的流量数据,2MB是第一网络设备在2s时的流量数据,5MB是第一网络设备在3s时的流量数据,9MB是第一网络设备在4s时的流量数据。又例如,该目标时间序列也可以是{1.2MB,2MB,3MB,5MB},其中,1.2MB是第一网络设备在1s时的流量数据,2MB是第一网络设备在2s时的流量数据,3MB是第一网络设备在3s时的流量数据,5MB是第一网络设备在4s时的流量数据。或者,该N个元素中的每个元素为所对应的时刻接收到的流量数据也可以理解为是服务器采集的预设时间内第一网络设备的总的流量数据,其中,该预设时间大于单位时间。例如,在N为6的情况下,目标时间序列可以包括6个元素,即服务器需要每隔预设时间,采集一次第一网络设备的流量数据,得到6个预设时间内的目标时间序列。例如,在N为6,且预设时间为10s的情况下,即服务器每隔10s采集一次第一网络设备的流量数据,得到1mim内采集的目标时间序列。例如,目标时间序列可以是{1MB,2.5MB,5MB,8MB,12MB,18MB},其中,1MB是第一网络设备在1s-10s内的流量数据,2.5MB是第一网络设备在11s-20s内的流量数据,5MB是第一网络设备在21s-30s内的流量数据,8MB是第一网络设备在31s-40s内的流量数据,12MB是第一网络设备在41s-50s内的流量数据,18MB是第一网络设备在51s-60s内的流量数据。又例如,在N为5,且预设时间为5s的情况下,该目标时间序列也可以是{1MB,2MB,3.5MB,6MB,8MB},其中,1MB是第一网络设备在1s-5s内的流量数据,2MB是第一网络设备在6s-10s内的流量数据,3.5MB是第一网络设备在11s-15s内的流量数据,6MB是第一网络设备在16s-20s内的流量数据,8MB是第一网络设备在21s-25s内的流量数据。
220、根据目标时间序列,获取目标时间序列的目标参数,该目标参数包括周期因子和/或抖动密度,其中,周期因子用于表示目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,抖动密度用于表示目标时间序列在目标时间内实际值与目标值的偏差。
可选地,将目标时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个周期分量的第一子时间序列和N个残余分量的第二子时间序列,并根据第一子时间序列或第二子时间序列,获取目标时间序列的目标参数。
其中,目标时间序列中的N个元素中的每个元素分解的N个周期分量是相同的,即一个时间序列中的每个元素分解的每个周期分量是相同的。
例如,xn为目标时间序列中的一个元素,将xn分解为趋势分量Tn、周期分量Sn、残余分量Cn;Sn为第一子时间序列中的元素,Cn为第二子时间序列中的元素。其中,xn可以表示为以下公式:
xn=Tn+Sn+Cn
可选地,服务器可以通过时间序列分解(Time Series Decompose,TSD)算法将目标时间序列中的N个元素中的每个元素分解为趋势分量、周期分量、残余分量。
可选地,根据第一子时间序列,确定目标时间序列是否存在周期因子。
具体地,在第一子时间序列中的N个周期分量存在的情况下,确定目标时间序列存在周期因子;在第一子时间序列中的N个周期分量不存在的情况下,确定目标时间序列不存在周期因子。
可选地,上述N个周期分量存在可以理解为N个周期分量都是有效值;例如,该周期分量可以为1,该周期分量也可以为3。上述N个周期分量不存在可以理解为N个周期分量都是无效值;例如,该周期分量可以是0。其中,N个周期分量都是有效值可以理解为将时间序列分解得到的N个周期分量都是非0值;N个周期分量都是无效值可以理解为将时间序列分解得到的N个周期分量都是0值。例如,如图3(c)所示的时间序列,其为一个周期型的时间序列,通过将图3(c)所示的时间序列进行分解时,得到时间序列的N个周期分量为非0值,即该时间序列的N个周期分量是无效值,即周期分量不存在。又例如,如图3(b)所示的时间序列,其为一个非周期型的时间序列,通过将图3(b)所示的时间序列进行分解时,得到时间序列的N个周期分量都为0值,即该时间序列的N个周期分量是有效值,即周期分量存在。
可选地,若目标时间序列存在周期因子,可以将周期因子设为1;若目标时间序列不存在周期因子,可以将周期因子设为0。
可选地,根据第二子时间序列,确定目标时间序列的抖动密度。
具体地,服务器根据以下公式确定目标时间序列的R:
Figure GDA0002234648500000181
其中,R是抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000191
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000192
T为目标时间序列的长度,W为加入窗口的窗长,α是第一预设值。
230、根据目标参数,对目标时间序列进行分类。
具体地,在周期因子存在的情况下,将目标时间序列确定为周期型;在周期因子不存在的情况下,将目标时间序列确定为非周期型。在抖动密度大于第二预设值的情况下,将目标时间序列确定为毛刺型;在抖动密度小于或等于第二预设值的情况下,将目标时间序列确定为平稳型。
根据目标参数,对目标序列进行分类可以得到以下8种情况,其中,S为周期因子,R为抖动密度:
①在S存在的情况下,即S=1的情况下,该目标时间序列所属于的第一类型为周期型;
②在S不存在的情况下,即S=0的情况下,该目标时间序列所属于的第一类型为非周期型;
③在R大于第二预设值的情况下,该目标时间序列所属于的第一类型为毛刺型;
④在R小于或等于第二预设值的情况下,该目标时间序列所属于的第一类型为平稳型;
⑤在S存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为周期毛刺型;
⑥在S不存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为非周期毛刺型;
⑦在S存在,且R小于或等于第二预设值的情况下,该目标时间序列所属于的第一类型为周期平稳型;
⑧在S存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为周期毛刺型。
可选地,该方法200还可以包括步骤240。
240、将目标时间序列的分类结果输出。即输出目标时间序列是周期型或非周期型;或者,输出目标时间序列是平稳型或毛刺型;或者,输出目标时间序列是周期毛刺型、周期平稳型、非周期毛刺型或非周期平稳型。
例如,如图3所示,为4种网络设备的网络流量序列。从图3(a)、图3(b)、图3(c)和图3(d)中可以看出,网络流量的特征变化很大。其中,如图3(a)所示的网络设备的流量则在各个时刻比较平稳,即流量序列可以为平稳型;如图3(b)所示的网络设备的流量局部抖动明显,即流量序列可以为毛刺型;如图3(c)所示的网络设备的流量呈现出极强的周期特性(天、周),即流量序列可以为周期型;如图3(d)所示的网络设备的流量周期特性(天、周)并不明显,即流量序列可以为非周期型。
通过将目标时间序列进行分类,从而可以为后续对分类后的目标时间序列的流量异常检测打下基础,从而提高了目标时间序列的流量异常检测的精度。
下面结合图4对本申请实施例提供的一种流量异常检测的方法400进行详细的介绍。
图4所示的方法可以是由流量异常检测装置执行,该流量异常检测装置可以是具有流量异常检测功能的服务器。
图4所示的方法包括步骤410至步骤440。下面分别对这些步骤进行详细的描述。
本申请实施例中所述的时间序列的异常情况可以理解为时间序列的流量异常情况。
410、获取目标时间序列,该目标时间序列包括N个元素,该N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,上述目标序列可以是第一网络设备发送的。
可选地,服务器还可以获取除目标时间序列之外的其他待流量异常检测的时间序列,其中,其他待流量异常检测的时间序列可以是来自同一网络设备,该同一个网络设备可以是第一网络设备,该同一个网络设备也可以是除第一网络设备之外的其他任意一个网络设备。或者,其他待流量异常检测的时间序列可以是来自不同的网络设备。
420、根据目标时间序列,获取目标时间序列的目标参数,该目标参数包括周期因子和/或抖动密度,其中,周期因子用于表示目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,抖动密度用于表示目标时间序列在目标时间内实际值与目标值的偏差。
可选地,将目标时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个周期分量的第一子时间序列和包括N个残余分量的第二子时间序列;根据第一子时间序列或第二子时间序列,获取目标时间序列的目标参数。
例如,xn为目标时间序列中的一个元素,将xn分解为趋势分量Tn、周期分量Sn、残余分量Cn;所述Sn为第一子时间序列中的元素,所述Cn为第二子时间序列中的元素。其中,xn可以表示为以下公式:
xn=Tn+Sn+Cn
可选地,服务器可以通过时间序列分解(Time Series Decompose,TSD)算法将目标时间序列中的每个元素分解为趋势分量、周期分量、残余分量。
可选地,根据第一子时间序列,确定目标时间序列是否存在周期因子。
具体地,在第一子时间序列中的N个周期分量存在的情况下,确定目标时间序列存在周期因子;在第一子时间序列中的N个周期分量不存在的情况下,确定目标时间序列不存在周期因子。
可选地,一个时间序列中的每个元素分解的周期分量是相同的,即一个时间序列对应一个周期分量。例如,该时间序列中的每个元素分解的周期分量可以都是1该时间序列中的每个元素分解的周期分量也可以都是2。
可选地,上述N个周期分量存在可以理解为N个周期分量都是有效值;例如,该周期分量可以为0.5,该周期分量也可以为2。上述N个周期分量不存在可以理解为N个周期分量都是无效值;例如,该周期分量可以是0。
可选地,若目标时间序列存在周期因子,可以将周期因子设为1;若目标时间序列不存在周期因子,可以将周期因子设为0。
可选地,根据第二子时间序列,确定目标时间序列的抖动密度。
具体地,服务器根据以下公式确定目标时间序列的R:
Figure GDA0002234648500000211
其中,R是抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000212
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000213
T为目标时间序列的长度,W为加入窗口的窗长,α是第一预设值。
步骤410和步骤420中未描述的内容可以参考上述方法200中步骤210和步骤220的描述,这里不再赘述。
430、根据目标参数,从多个类型中确定目标时间序列所属于的第一类型,其中,所述多个类型中的每个类型对应一个参数集合,目标参数属于第一类型对应的参数集合。
其中,上述所述类型可以包括:周期型、非周期型、稳定型、毛刺型、周期稳定型、周期毛刺型、非周期稳定型或非周期毛刺型。
其中,周期型和非周期型可以根据周期因子确定。具体地,在所述周期因子存在的情况下,所述类型为周期型;在所述周期因子不存在的情况下,所述类型为非周期型。
其中,稳定型和毛刺型可以根据抖动密度确定。具体地,在所述抖动密度大于第二预设值的情况下,所述类型为毛刺型;在所述抖动密度小于或等于所述第二预设值的情况下,所述类型为平稳型。
应理解,目标时间序列所属于的类型可以有以下8种情况,其中,S为周期因子,R为抖动密度:①在S存在的情况下,即S=1的情况下,该目标时间序列所属于的第一类型为周期型;②在S不存在的情况下,即S=0的情况下,该目标时间序列所属于的第一类型为非周期型;③在R大于第二预设值的情况下,该目标时间序列所属于的第一类型为毛刺型;④在R小于或等于第二预设值的情况下,该目标时间序列所属于的第一类型为平稳型;⑤在S存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为周期毛刺型;⑥在S不存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为非周期毛刺型;⑦在S存在,且R小于或等于第二预设值的情况下,该目标时间序列所属于的第一类型为周期平稳型;⑧在S存在,且R大于第二预设值的情况下,该目标时间序列所属于的第一类型为周期毛刺型。
可选地,参数集合可以理解为{S=1},{S=0},{R>β},{R≤β},其中β可以是第二预设值。
首先,根据目标参数,从多个参数集合中确定目标参数属于的第一参数集合;其次,根据第三映射关系和第一参数集合,从多个类型中确定目标时间序列所属于的第一类型,第三映射关系包括多个参数集合和多个所述类型的对应关系。即通过计算得到目标参数,并根据目标参数是属于哪个参数集合,从而确定出第一参数集合,并根据第一参数集合所对应的第一类型,确定目标时间序列所属于的第一类型。
440、根据第一类型对应的第一类的判定模型,检测目标时间序列的异常情况,其中,多个类型中的每个类型对应一个类型的判定模型,判定模型用于流量异常检测。可选地,可以根据第二映射关系和目标时间序列所属于的第一类型,确定第一类型对应的第一类的判定模型,第二映射关系包括多个类型和多个第一类的判定模型的对应关系。
其中,第一类的判定模型具体可以是:首先,确定包括N个所述趋势分量的第三子时间序列;并将第二时间序列分成M个目标长度的子序列,M为正整数,第二时间序列是第三子时间序列或第二时间序列是根据第三子时间序列和(Linear SegmentationAlgorithms,PLR)线性分段算法形成的;其次,计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;最后,根据MP时间序列和N-sigma算法,检测目标时间序列的异常情况。
其中,时间序列的PLR表示中,线段的数目决定了对原始序列的近似粒度。线段越多,线段的平均长度就越短,反映了时间序列的短期波动情况,线段越少,线段的平均长度就越长,反映了时间序列的中长期趋势。PLR表示方法就是用M条首尾邻接的直线段来近似标识一条长度为m(m>>M)的时间序列。
其中,趋势分量反应的是时间序列整体变化,因此,将包括N个趋势分量的第三子时间序列进行异常情况检测,可以提高时间序列异常检测结果的精准。
本申请实施列中将第三子时间序列(目标时间序列中的N个元素中的每个元素分解后趋势分量组成的时间序列)用PLR表示,是采用自顶向下的算法实现,流量数据的开始点和结束点,是首先选中的分段点。然后,遍历两点之间的所有点,找出和这两点连成的直线距离最大的点,如果这个点到直线的距离大于预先给定的阀值,则将它作为第三个分段点。这样就有了两个线段,这个新增点到左边相邻点和右边相邻点构成的两条线段,继续寻找距离最大的点,找到的两个点,谁与相应的线段距离最大,且这个距离大于阀值,则该点作为第四个分段点,如此循环,直到再也找不到距离大于阈值的点,分段完成。这个阀值,也就是点到线段的距离,使用欧式距离。
可选地,将第二时间序列通过矩阵轮廓(Matrix Profile,MP)分成M个目标长度的子序列,并通过MP计算M个目标长度的子序列的矩阵轮廓MP值。其中,MP是从时间序列的结构上描述序列轮廓的方法,常用于时间序列的聚类、密度估计、图形发现等。MP的原理是将整个时间序列切割成定长的子序列,再分别计算子序列与其他子序列的欧式距离,取最小值作为该序列的MP值。例如,时间序列X={x0,x1,...xn-2,xn-1}通过MP分成若干个子序列
Figure GDA0002234648500000221
子序列
Figure GDA0002234648500000222
与原始时间序列X的MP值为子序列与原始序列中的其他子序列的距离的最小值,即
Figure GDA0002234648500000223
根据MP时间序列和N-sigma算法,检测目标时间序列的异常情况具体如下:
假设MP序列可以是MP={mp0,mp1,...mpn-m},则
Figure GDA0002234648500000231
Figure GDA0002234648500000232
其中,μmp为MP时间序列的均值,σmp为MP时间序列的方差。
Figure GDA0002234648500000233
则目标时间序列中的第i个元素所对应的时刻接收到的流量数据为异常数据;若
Figure GDA0002234648500000234
则目标时间序列中的第i个元素所对应的时刻接收到的流量数据为正常数据。其中,δ为预设值。
其中,根据MP时间序列和N-sigma算法,可以检测出MP时间序列中的流量异常点,MP时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据MP时间序列中的流量异常点得到目标时间序列的流量异常点。
例如,如图5所示,上面图中所示的是原始时间序列形成的图,中间图中所示的是将原始序列用PLR表示后的时间序列形成的图;下面图中所示的是将PLR表示后的时间序列切分为M个子序列,并计算M个子序列的MP值形成的时间序列的图。从图5中可以看到,原始序列在横坐标是60左右有突变,通过将将原始时间序列用PLR表示后的序列,可以将横坐标是60左右的突变填平。在实际中,流量时间序列在较短的时间内可能会存在波动,但是在较短的时间内流量就恢复正常,因此,需要通过将该时间序列经过PLR表示和计算MP值,保证对该时间序列进行流量异常检测的准确性,从而提高流量异常检测的精度。可选地,根据第一类型对应的第一类的判定模型,检测目标时间序列的异常情况之后,可以输出目标时间序列的异常点。
可选地,服务器还可以对目标时间序列进行另一种流量异常检测,即服务器还可执行步骤450。
步骤450,根据第二子时间序列和第一类型对应的第二类的判定模型,检测目标时间序列的异常情况,第二类的判定模型是N-sigma模型。
其中,根据第一映射关系和目标时间序列所属于的第一类型,确定第一类型对应的第二类的判定模型,第一映射关系包括多个类型和多个第二类的判定模型的对应关系。
其中,第二类判定模型可以具体是:
Figure GDA0002234648500000235
Figure GDA0002234648500000236
其中,μ2为第二子时间序列的均值,σ2为第二子时间序列的方差。
Figure GDA0002234648500000241
则目标时间序列中的第n个元素所对应的时刻接收到的流量数据为异常数据;若
Figure GDA0002234648500000242
则目标时间序列中的第n个元素所对应的时刻接收到的流量数据为正常数据。其中,
Figure GDA0002234648500000243
为预设值。
其中,根据第二子时间序列和第一类型对应的第二类的判定模型,可以检测出第二子时间序列中的流量异常点,第二子时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据第二子时间序列中的流量异常点得到目标时间序列的流量异常点。可选地,根据第二子时间序列和第一类型对应的第二类的判定模型,检测目标时间序列的异常情况之后,可以输出目标时间序列的异常点。
上述实施例中,根据时间序列的类型和时间序列的类型对应的判定模型进行异常检测,其中,每一类的时间序列对应一类判定模型,即每类型的时间序列,都存在与该类型时间序列相对应的第一类的判定模型和第二类的判定模型。例如,周期型的时间序列,存在与之对应的第一类的判定模型,也存在与之对应的第二类的判定模型;非周期型的时间序列,存在与之对应的第一类的判定模型,也存在与之对应的第二类的判定模型。从而可以针对每一类的时间序列和每一类的时间序列对应的判定模型进行时间序列的异常检测,从而提高了时间序列异常检测的精度。
下面结合图6对本申请实施例提供的另一种流量异常检测的方法600进行详细的介绍。
图6所示的方法可以是由流量异常检测装置执行,该流量异常检测装置可以是具有流量异常检测功能的服务器。
图6所示的方法包括步骤610至步骤640。下面分别对这些步骤进行详细的描述。
610、获取目标时间序列;目标时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时间点接收到的流量数据。
620、根据目标时间序列,获取目标时间序列的目标参数,目标参数包括周期因子和/或抖动密度,其中,周期因子用于表示目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,抖动密度用于表示目标时间序列在目标时间内实际值与目标值的偏差。
可选地,将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列,并根据第一子时间序列或第二子时间序列,获取目标时间序列的目标参数。
可选地,根据第一子时间序列,确定目标时间序列是否存在周期因子。
具体地,在第一子时间序列中的N个周期分量存在的情况下,确定目标时间序列存在周期因子;在第一子时间序列中的N个周期分量不存在的情况下,确定目标时间序列不存在周期因子。
可选地,在目标时间序列存在周期因子的情况下,可以默认为周期因子S=1;在目标时间序列不存在周期因子的情况下,可以默认为周期因子S=0。
可选地,根据第二子时间序列,确定目标时间序列的抖动密度。
具体地,服务器根据以下公式确定目标时间序列的R:
Figure GDA0002234648500000251
其中,R是抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000252
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000253
T为目标时间序列的长度,W为加入窗口的窗长,α是第一预设值。
上述步骤610和步骤620中未描述的内容可以参考上述方法200中步骤210和步骤220的描述,这里不再赘述。
630、从多个参数集合中确定所述目标参数所属于的第一参数集合。
可选地,其中,多个参数集合可以是{S=1},{S=0},{R>β},{R≤β}。
例如,在β等于2的情况下,若确定的目标时间序列的抖动密度为4,则可以确定第一参数集合是{R>β},若确定的目标时间序列的抖动密度为1,则可以确定第一参数集合是{R≤β}。
例如,在目标序列存在周期因子的情况下,则S=1,即第一参数集合是{S=1};在目标序列不存在周期因子的情况下,则S=0,即第一参数集合是{S=0}。
640、根据第一参数集合对应的第一类的判定模型,检测目标时间序列的异常情况,其中,多个参数集合中的每个参数集合对应一个类型的判定模型,判定模型用于流量异常检测。
可选地,根据第五映射关系和目标参数所属于的第一参数集合,确定第一参数集合对应的第一类的判定模型,第五映射关系包括多个参数集合和多个第一类的判定模型的对应关系。
具体地,确定包括N个所述趋势分量的第三子时间序列;将第二时间序列分成M个目标长度的子序列,M为正整数,第二时间序列是第三子时间序列或第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;根据所述MP时间序列和N-sigma算法,检测目标时间序列的异常情况。
其中,根据MP时间序列和N-sigma算法,可以检测出MP时间序列中的流量异常点,MP时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据MP时间序列中的流量异常点得到目标时间序列的流量异常点。
可选地,在根据第一参数集合对应的第一类的判定模型,检测目标时间序列的异常情况之后,可以输出目标时间序列的异常点。
可选地,上述方法600还可以包括步骤650。
650、根据第二子时间序列和第一参数集合对应的第二类的判定模型,目标时间序列的异常情况,第二类的判定模型是N-sigma模型。
根据第四映射关系和目标参数所属于的第一参数集合,确定第一参数集合对应的第二类的判定模型,第四映射关系包括多个参数集合和多个第二类的判定模型的对应关系。
其中,根据第二子时间序列和第一参数集合对应的第二类的判定模型,可以检测出第二子时间序列中的流量异常点,第二子时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据第二子时间序列中的流量异常点得到目标时间序列的流量异常点。
可选地,在根据第一参数集合对应的第二类的判定模型,检测目标时间序列的异常情况之后,可以输出目标时间序列的异常点。
如图7所示,由于业务切换或设备发生故障等,端口流量会出现长时间的整体变化,该类异常可以归纳为基线流量异常,因此,本申请实施例提供的另一种流量异常检测的方法800,来进行基线流量异常检测。下面结合图8对本申请实施例提供的另一种流量异常检测的方法800进行详细的介绍。
图8所示的方法可以是由流量异常检测装置执行,该流量异常检测装置可以是具有流量异常检测功能的服务器。
图8所述的方法包括步骤810至步骤840。下面分别对这些步骤进行详细的描述。
810、获取目标时间序列,目标时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
820、将目标时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个所述趋势分量的第三子时间序列。
可选地,根据TSD算法,将目标时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量。
830、将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的。
可选地,目标长度是通信协议规定的。
840、计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列。
上述步骤810至步骤840中未描述的内容可以参考上述方法400方法相应步骤的描述,这里不再赘述。
850、根据第三类的判定模型,检测MP时间序列的异常情况。
其中,第三类的判定模型是N-sigma模型。
其中,根据MP时间序列和第三类的判定模型,可以检测出MP时间序列中的流量异常点,MP时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据MP时间序列中的流量异常点得到目标时间序列的流量异常点。
可选地,根据MP时间序列和第三类的判定模型,检测MP时间序列的异常情况后,即可得到目标时间序列的流量异常情况,继而可输出目标时间序列中的异常点。
上述方法800还可以包括步骤860。
860、确定包括N个残余分量的第二子时间序列,根据第二子时间序列和第三类的判定模型,检测第二子时间序列的异常情况,所述第二子时间序列是对所述目标时间序列中的N个元素中的每个元素分解的残差分量形成的时间序列。
其中,根据第二子时间序列和第三类的判定模型,可以检测出第二子时间序列中的流量异常点,第二子时间序列中的流量异常点所对应的时刻即为目标时间序列的流量异常点的时刻,从而可以根据第二子时间序列中的流量异常点得到目标时间序列的流量异常点。
再根据第三类的判定模型,检测第二子时间序列的异常情况后,可输出第二子时间序列中的异常点。
以上,结合图2详细说明了本申请实施例的流量模式的分类方法,以及结合图4至图8详细说明了本申请实施例的流量异常检测的方法,以下,结合图9详细说明本申请实施例提供的流量模式的分类模型训练方法,以及结合图10至图12详细说明本申请实施例提供的流量异常检测模型训练方法。
图9是本申请实施例提供的一种流量模式的分类模型训练方法900的示意性流程图。图9所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行。图9所示的方法包括步骤910至940,下面分别对这几个步骤进行详细的介绍。
910、获取第一时间序列,第一时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,该第一时间序列中的每个元素为所对应的时刻接收的流量数据可以理解为第一时间序列中的每个元素为所对应的时刻接收的历史流量数据。
可选地,还可以获取多个第一时间序列。
920、根据第一时间序列的原始分类模型,获取第一时间序列的第一类型。
可选地,原始分类模型的步骤包括步骤1至步骤4。
步骤1,根据TSD算法,将第一时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个周期分量的第一子时间序列和包括N个残余分量的第二子时间序列。
步骤2:根据第一子时间序列中的N个周期分量,确定第一时间序列的周期因子。在第一子时间序列中的N个周期分量存在的情况下,确定第一时间序列的周期因子存在,可以将周期因子确定为1;在第一子时间序列中的N个周期分量不存在的情况下,确定第一时间序列的周期因子不存在,可以将周期因子确定为0。
步骤3:根据第二子时间序列中的N个残差分量,确定第一时间序列的抖动密度。
具体地,根据以下公式确定第一时间序列的R:
Figure GDA0002234648500000271
其中,R为抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000281
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000282
T为第一时间序列的长度,W为加入窗口的窗长,α是第一预设值。
步骤4、根据周期因子S和抖动密度R,确定第一时间序列的第一类型。
在S存在的情况下,第一时间序列的第一类型为周期型;在S不存在的情况下,第一时间序列的第一类型为非周期型;在R大于第二预设值的情况下,第一时间序列的第一类型为毛刺型;在R小于或等于第二预设值的情况下,第一时间序列的第一类型为平稳型;在S存在,且R大于第二预设值的情况下,第一时间序列的第一类型为周期毛刺型;在S存在,且R小于或等于第二预设值的情况下,第一时间序列的第一类型为周期平稳型;在S不存在,且R大于第二预设值的情况下,第一时间序列的第一类型为非周期毛刺型;在S不存在,且R小于或等于第二预设值的情况下,第一时间序列的第一类型为非周期平稳型。
930、获取第一时间序列的原始类型。
940、根据第一时间序列的原始类型和第一时间序列的第一类型,调整第一时间序列的原始模型的参数,以获取第一时间序列的目标分类模型。
在第一时间序列的原始类型和第一时间序列的第一类型不一致的情况下,调节第一时间序列的原始模型的参数,其中,第一时间序列的原始模型的参数包括第一预设值和第二预设值。若第一时间序列的原始类型为毛刺型,而第一时间序列的第一类行为平稳型,则相应的可以将第一预设值调小一点,或者相应的可以将第二预设值调小一点。
可选地,服务器可以获取多个第一时间序列,并根据多个第一时间序列来训练第一时间序列的目标分类模型,即根据多个第一时间序列模型,不断地优化第一时间序列的目标分类模型。
图10是本申请实施例提供的另一种流量异常检测模型训练方法1000的示意性流程图。图10所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行。图10所示的方法包括步骤1010至1050,下面分别对这几个步骤进行详细的介绍。
1010、获取第一时间序列,第一时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,该第一时间序列中的每个元素为所对应的时刻接收的流量数据可以理解为第一时间序列中的每个元素为所对应的时刻接收的历史流量数据。
可选地,还可以获取多个第一时间序列。
1020、根据所述第一时间序列的原始分类模型,获取所述第一时间序列的第一类型。
可选地,原始分类模型的步骤包括步骤1至步骤4。
步骤1,根据TSD算法,将第一时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个周期分量的第一子时间序列和包括N个残余分量的第二子时间序列。
步骤2:根据第一子时间序列中的N个周期分量,确定第一时间序列的周期因子。在第一子时间序列中的N个周期分量存在的情况下,确定第一时间序列的周期因子存在,可以将周期因子确定为1;在第一子时间序列中的N个周期分量不存在的情况下,确定第一时间序列的周期因子不存在,可以将周期因子确定为0。
步骤3:根据第二子时间序列中的N个残差分量,确定第一时间序列的抖动密度。
具体地,根据以下公式确定第一时间序列的R:
Figure GDA0002234648500000291
其中,R为抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000292
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000293
T为所述第一时间序列的长度,W为加入窗口的窗长,α是第一预设值。
步骤4、根据周期因子S和抖动密度R,确定第一时间序列的第一类型。
在S存在的情况下,第一时间序列的第一类型为周期型;在S不存在的情况下,第一时间序列的第一类型为非周期型;在R大于第二预设值的情况下,第一时间序列的第一类型为毛刺型;在R小于或等于第二预设值的情况下,第一时间序列的第一类型为平稳型;在S存在,且R大于第二预设值的情况下,第一时间序列的第一类型为周期毛刺型;在S存在,且R小于或等于第二预设值的情况下,第一时间序列的第一类型为周期平稳型;在S不存在,且R大于第二预设值的情况下,第一时间序列的第一类型为非周期毛刺型;在S不存在,且R小于或等于第二预设值的情况下,第一时间序列的第一类型为非周期平稳型。
1030、根据第一类型对应的第一类的判定模型,对所述第一类型的第一时间序列进行流量异常检测处理,以获取第一数据,所述第一数据是所述第一时间序列的异常点。
可选地,第一类的判定模型的步骤包括步骤A至步骤D:
步骤A:确定包括N个趋势分量的第三子时间序列;
步骤B:将第二时间序列分成M个目标长度的子序列,M为正整数,第二时间序列是第三子时间序列或所述第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;
步骤C:计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;
步骤D:根据MP时间序列和N-sigma算法,检测第一时间序列的异常情况。
1040、获取第二数据,第二数据为第一时间序列的原始异常点;
1050、根据第一数据和第二数据,调整第一类的判定模型的参数,以获取第一目标判定模型。
在第一数据和第二数据不一致的情况下,调节第一时间序列的原始模型的参数,其中,第一时间序列的原始模型的参数包括灵敏度。若第一数据中的数据个数大于第二数据中的数据个数,则相应的可以将第一时间序列的原始模型的灵敏度调低;若第一数据中的数据个数小于第二数据中的数据个数,则相应的可以将第一时间序列的原始模型的灵敏度调高;若第一数据中的数据个数等于第二数据中的数据个数,则无需调节第一时间序列的原始模型的灵敏度。
可选地,服务器可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型,即根据多个第一时间序列,不断地优化第一目标判定模型。
图11是本申请实施例提供的又一种流量异常检测模型训练方法1100的示意性流程图。图11所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行。图11所示的方法包括步骤1110至1150,下面分别对这几个步骤进行详细的介绍。
1110、获取第一时间序列,第一时间序列包括N个元素,N个元素与N个时刻对应,其中,N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,该第一时间序列中的每个元素为所对应的时刻接收的流量数据可以理解为第一时间序列中的每个元素为所对应的时刻接收的历史流量数据。
可选地,还可以获取多个第一时间序列。
1120、根据第一时间序列的原始参数模型,获取第一时间序列的第一参数集合。
可选地,第一时间序列的原始参数模型可以包括步骤a至步骤d:
步骤a:根据TSD算法,将第一时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量;确定包括N个周期分量的第一子时间序列和包括N个残余分量的第二子时间序列。
步骤b:根据第一子时间序列中的N个周期分量,确定第一时间序列的周期因子。在第一子时间序列中的N个周期分量存在的情况下,确定第一时间序列的周期因子存在,可以将周期因子确定为1;在第一子时间序列中的N个周期分量不存在的情况下,确定第一时间序列的周期因子不存在,可以将周期因子确定为0。
步骤c:根据第二子时间序列中的N个残差分量,确定第一时间序列的抖动密度。
具体地,根据以下公式确定第一时间序列的R:
Figure GDA0002234648500000311
其中,R为抖动密度,rn可以根据以下公式确定:
Figure GDA0002234648500000312
其中,Cn为第二子时间序列中的第n个元素,xn为目标时间序列中的第n个元素;
N根据以下公式确定:
Figure GDA0002234648500000313
所述T为所述第一时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
步骤d、根据周期因子S和抖动密度R,确定第一时间序列的第一参数集合。
其中,参数集合为{S=1},{S=0},{R>β},{R≤β}。
1130、根据第一参数集合对应的第一类的判定模型,对第一时间序列进行流量异常检测处理,以获取第四数据,第四数据是第一时间序列的异常点。
可选地,第一类的判定模型的步骤包括步骤A至步骤D:
步骤A:确定包括N个趋势分量的第三子时间序列;
步骤B:将第二时间序列分成M个目标长度的子序列,M为正整数,第二时间序列是第三子时间序列或所述第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;
步骤C:计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;
步骤D:根据MP时间序列和N-sigma算法,检测第一时间序列的异常情况。
1140、获取第二数据,所述第二数据为所述第一时间序列的原始异常点。
1150、根据第二数据和第四数据,调整第一类的判定模型的参数,以获取第一目标判定模型。
在第一数据和第二数据不一致的情况下,调节第一类的判定模型的参数,其中,第一类的判定模型的参数包括灵敏度。若第一数据中的数据个数大于第二数据中的数据个数,则相应的可以将第一类的判定模型的灵敏度调低;若第一数据中的数据个数小于第二数据中的数据个数,则相应的可以将第一类的判定模型的灵敏度调高;若第一数据中的数据个数等于第二数据中的数据个数,则无需调节第一类的判定模型的灵敏度。
可选地,服务器可以获取多个第一时间序列,根据多个第一时间序列来训练第一目标判定模型,即根据多个第一时间序列,不断地优化第一目标判定模型。
图12是本申请实施例提供的又一种流量异常检测模型训练方法1200的示意性流程图。图12所示的方法可以由计算机设备、服务器设备或者运算设备等运算能力较强的设备来执行。图12所示的方法包括步骤1210至1250,下面分别对这几个步骤进行详细的介绍。
1210、获取第一时间序列,第一时间序列包括N个元素,N个元素与所述N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据。
可选地,该第一时间序列中的每个元素为所对应的时刻接收的流量数据可以理解为第一时间序列中的每个元素为所对应的时刻接收的历史流量数据。
可选地,还可以获取多个第一时间序列。
1220、对第一时间序列进行处理,以获取第三子时间序列,第三子时间序列是第一时间序列中的N个元素中的每个元素分解的趋势分量形成的时间序列。
可选地,根据TSD算法,将第一时间序列中的N个元素中的每个元素分解为趋势分量、周期分量和残余分量,确定包括N个趋势分量的第三子时间序列。
1230、根据第四类的判定模型,对第一时间序列进行流量异常检测处理,以获取第三数据,第三数据是所述第一时间序列的异常点。
其中,第四类的判定模型包括步骤A’至步骤D’:
步骤A’:确定包括N个趋势分量的第三子时间序列;
步骤B’:将第二时间序列分成M个目标长度的子序列,M为正整数,第二时间序列是第三子时间序列或所述第二时间序列是根据第三子时间序列和线性分段算法PLR形成的;
步骤C’:计算M个目标长度的子序列的矩阵轮廓MP值,M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;
步骤D’:根据MP时间序列和N-sigma算法,检测第一时间序列的异常情况。
1240、获取第二数据,第二数据为第一时间序列的原始异常点;
1250、根据第二数据和第三数据,调整第四类的判定模型的参数,以获取第二目标判定模型。
在第一数据和第二数据不一致的情况下,调节第四类的判定模型的参数,其中,第四类的判定模型的参数包括灵敏度。若第一数据中的数据个数大于第二数据中的数据个数,则相应的可以将第四类的判定模型的灵敏度调低;若第一数据中的数据个数小于第二数据中的数据个数,则相应的可以将第四类的判定模型的灵敏度调高;若第一数据中的数据个数等于第二数据中的数据个数,则无需调节第四类的判定模型的灵敏度。
可选地,服务器可以获取多个第一时间序列,根据多个第一时间序列来训练第二目标判定模型,即根据多个第一时间序列,不断地优化第二目标判定模型。
图13是本申请实施例的流量模式的分类装置1300的示意性框图。图13所示的流量模式的分类装置1300包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。
存储器1301可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302和通信接口1303用于执行本申请实施例的流量模式的分类方法的各个步骤。具体地,通信接口1303可以从存储器或者其他设备中获取目标时间序列,然后由处理器8002对该待目标时间序列进行分类。
处理器1302可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的流量模式的分类装置中的单元所需执行的功能,或者执行本申请实施例的流量模式的分类方法。
处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的流量模式的分类方法的各个步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1302还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本申请实施例的物体检测装置中包括的单元所需执行的功能,或者执行本申请方法实施例的物体检测方法。
通信接口1303使用例如但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303获取目标时间序列。
总线1304可包括在装置1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。
图14是本申请实施例的流量异常检测装置1400的示意性框图。图14所示的流量异常检测装置1400包括存储器1401、处理器1402、通信接口1403以及总线1404。其中,存储器1401、处理器1402、通信接口1403通过总线1404实现彼此之间的通信连接。
存储器1401可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1401可以存储程序,当存储器1401中存储的程序被处理器1402执行时,处理器1402和通信接口1403用于执行本申请实施例的流量异常检测方法的各个步骤。具体地,通信接口1403可以从存储器或者其他设备中获取目标时间序列,然后由处理器8002对该待目标时间序列进行分类。
处理器1402可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的流量模式的分类装置中的单元所需执行的功能,或者执行本申请实施例的流量模式的分类方法。
处理器1402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的流量模式的分类方法的各个步骤可以通过处理器1402中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1402还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、ASIC、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1401,处理器1402读取存储器1401中的信息,结合其硬件完成本申请实施例的物体检测装置中包括的单元所需执行的功能,或者执行本申请方法实施例的物体检测方法。
通信接口1403使用例如但不限于收发器一类的收发装置,来实现装置1400与其他设备或通信网络之间的通信。例如,可以通过通信接口1403获取目标时间序列。
总线1404可包括在装置1400各个部件(例如,存储器1401、处理器1402、通信接口1403)之间传送信息的通路。
图15是本申请实施例的流量模式的分类模型训练装置1500的硬件结构示意图。与上述装置1300类似,图15所示的流量模式的分类模型训练装置1500包括存储器1501、处理器1502、通信接口1503以及总线1504。其中,存储器1501、处理器1502、通信接口1503通过总线1504实现彼此之间的通信连接。
存储器1501可以存储程序,当存储器1501中存储的程序被处理器1502执行时,处理器1502用于执行本申请实施例的流量模式的分类模型训练方法的各个步骤。
处理器1502可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的流量模式的分类模型训练方法。
处理器1502还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的流量模式的分类模型训练方法的各个步骤可以通过处理器1502中的硬件的集成逻辑电路或者软件形式的指令完成。
应理解,通过图15所示的流量模式的分类模型训练装置1500对流量模式的分类模型进行训练,训练得到的流量模式的分类模型就可以用于执行本申请实施例的流量模式的分类方法。
具体地,图15所示的装置可以通过通信接口1503从外界获取第一时间序列,然后由处理器根据第一时间序列对待训练的流量模式的分类模型进行训练。
图16是本申请实施例的流量异常检测模型训练装置1600的硬件结构示意图。与上述装置1400类似,图16所示的流量异常检测模型训练装置1600包括存储器1601、处理器1602、通信接口1603以及总线1604。其中,存储器1601、处理器1602、通信接口1603通过总线1604实现彼此之间的通信连接。
存储器1601可以存储程序,当存储器1601中存储的程序被处理器1602执行时,处理器1602用于执行本申请实施例的流量异常检测模型训练方法的各个步骤。
处理器1602可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的流量异常检测模型训练方法。
处理器1602还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的流量模式的分类模型训练方法的各个步骤可以通过处理器1602中的硬件的集成逻辑电路或者软件形式的指令完成。
应理解,通过图16所示的流量模式的分类模型训练装置1600对流量异常检测模型进行训练,训练得到的流量异常检测模型就可以用于执行本申请实施例的流量异常检测方法。
具体地,图16所示的装置可以通过通信接口1603从外界获取第一时间序列,然后由处理器根据第一时间序列对待训练的流量异常检测模型进行训练。
应注意,尽管上述装置1300、装置1400、装置1500和装置1600仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1300、装置1400、装置1500和装置1600还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1300、装置1400、装置1500和装置1600还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1300、装置1400、装置1500和装置1600也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13、图14、图15和图16中所示的全部器件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

1.一种流量异常检测的方法,其特征在于,包括:
获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;
根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括抖动密度,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;
根据所述目标参数,从多个类型中确定所述目标时间序列所属于的第一类型,其中,所述多个类型中的每个类型对应一个参数集合,所述目标参数属于所述第一类型对应的参数集合;
根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况,其中,所述多个类型中的每个类型对应一个类型的判定模型,所述判定模型用于流量异常检测。
2.根据权利要求1所述的方法,其特征在于,所述目标参数还包括周期因子,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述根据所述目标时间序列,获取所述目标时间序列的目标参数包括:
将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;
确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;
根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数包括:
根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子包括:
在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;
在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据第一映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第二类的判定模型,所述第一映射关系包括所述多个类型和多个所述第二类的判定模型的对应关系;
根据所述第二子时间序列和所述第一类型对应的第二类的判定模型,检测所述目标时间序列的异常情况,其中,所述第二类的判定模型是N-sigma模型。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数包括:
根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二子时间序列,确定所述目标时间序列的抖动密度包括:
根据以下公式确定所述目标时间序列的抖动密度:
Figure FDA0002282477660000021
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure FDA0002282477660000022
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure FDA0002282477660000023
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
8.根据权利要求1所述的方法,其特征在于,所述根据目标参数,从多个类型中确定所述目标时间序列所属于的第一类型包括:
根据所述目标参数,从多个参数集合中确定所述目标参数属于的第一参数集合;
根据第三映射关系和所述第一参数集合,从多个类型中确定所述目标时间序列所属于的第一类型,所述第三映射关系包括所述多个参数集合和所述多个类型的对应关系。
9.根据权利要求2所述的方法,其特征在于,所述根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况包括:
确定包括N个所述趋势分量的第三子时间序列;
将第二时间序列分成M个目标长度的子序列,所述M为正整数,所述第二时间序列是所述第三子时间序列或所述第二时间序列是根据所述第三子时间序列和线性分段算法PLR形成的;
计算M个目标长度的子序列的矩阵轮廓MP值,所述M个目标长度的子序列的矩阵轮廓MP值组成MP时间序列;
根据所述MP时间序列和N-sigma算法,检测所述目标时间序列的异常情况。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述根据所述第一类型对应的第一类的判定模型,检测所述目标时间序列的异常情况之前,所述方法还包括:
根据第二映射关系和所述目标时间序列所属于的第一类型,确定所述第一类型对应的第一类的判定模型,所述第二映射关系包括所述多个类型和多个所述第一类的判定模型的对应关系。
11.一种流量模式的分类方法,其特征在于,包括:
获取目标时间序列,所述目标时间序列包括N个元素,所述N个元素与N个时刻对应,其中,所述N个元素中的每个元素为所对应的时刻接收到的流量数据;
根据所述目标时间序列,获取所述目标时间序列的目标参数,所述目标参数包括抖动密度,所述抖动密度用于表示所述目标时间序列在目标时间内实际值与目标值的偏差;
根据所述目标参数,对所述目标时间序列进行分类。
12.根据权利要求11所述的方法,其特征在于,所述目标参数还包括周期因子,其中,所述周期因子用于表示所述目标时间序列中呈现出来的围绕长期趋势的一种波浪形变动,所述根据所述目标时间序列,获取所述目标时间序列的目标参数包括:
将所述目标时间序列中的所述N个元素中的每个元素分解为趋势分量、周期分量和残余分量;
确定包括N个所述周期分量的第一子时间序列和包括N个所述残余分量的第二子时间序列;
根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数。
13.根据权利要求12所述的方法,其特征在于,所述根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数包括:
根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子。
14.根据权利要求13所述的方法,其特征在于,所述根据所述第一子时间序列,确定所述目标时间序列是否存在所述周期因子包括:
在所述第一子时间序列中的N个周期分量存在的情况下,确定所述目标时间序列存在所述周期因子;
在所述第一子时间序列中的N个周期分量不存在的情况下,确定所述目标时间序列不存在所述周期因子。
15.根据权利要求14所述的方法,其特征在于,所述根据所述目标参数,对所述目标时间序列进行分类包括:
在所述周期因子存在的情况下,将所述目标时间序列确定为周期型;
在所述周期因子不存在的情况下,将所述目标时间序列确定为非周期型。
16.根据权利要求12所述的方法,其特征在于,所述根据所述第一子时间序列和所述第二子时间序列,获取所述目标时间序列的目标参数包括:
根据所述第二子时间序列,确定所述目标时间序列的抖动密度。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第二子时间序列,确定所述目标时间序列的抖动密度包括:
根据以下公式确定所述目标时间序列的抖动密度:
Figure FDA0002282477660000031
其中,所述R是抖动密度,所述rn可以根据以下公式确定:
Figure FDA0002282477660000041
其中,所述Cn为所述第二子时间序列中的第n个元素,所述xn为所述目标时间序列中的第n个元素;
所述N根据以下公式确定:
Figure FDA0002282477660000042
所述T为所述目标时间序列的长度,所述W为加入窗口的窗长,所述α是第一预设值。
18.根据权利要求16或17所述的方法,其特征在于,所述根据所述目标参数,对所述目标时间序列进行分类包括:
在所述抖动密度大于第二预设值的情况下,将所述目标时间序列确定为毛刺型;
在所述抖动密度小于或等于所述第二预设值的情况下,将所述目标时间序列确定为平稳型。
19.一种装置,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的程序,当所述处理器执行所述存储器存储的程序时,所述处理器用于执行权利要求1至18中任一项所述的方法。
CN201910752193.9A 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置 Active CN110266552B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010260339.0A CN112398677A (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置
CN201910752193.9A CN110266552B (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置
EP20852228.4A EP4009590A4 (en) 2019-08-15 2020-08-07 METHODS FOR DETECTING TRAFFIC ANOMALIES AND MODEL TRAINING METHOD AND DEVICE
PCT/CN2020/107627 WO2021027697A1 (zh) 2019-08-15 2020-08-07 一种流量异常检测的方法、模型训练方法和装置
US17/669,638 US20220166681A1 (en) 2019-08-15 2022-02-11 Traffic Anomaly Detection Method, and Model Training Method and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910752193.9A CN110266552B (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202010260339.0A Division CN112398677A (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置

Publications (2)

Publication Number Publication Date
CN110266552A CN110266552A (zh) 2019-09-20
CN110266552B true CN110266552B (zh) 2020-04-21

Family

ID=67912122

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010260339.0A Pending CN112398677A (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置
CN201910752193.9A Active CN110266552B (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010260339.0A Pending CN112398677A (zh) 2019-08-15 2019-08-15 流量异常检测的方法、模型训练方法和装置

Country Status (4)

Country Link
US (1) US20220166681A1 (zh)
EP (1) EP4009590A4 (zh)
CN (2) CN112398677A (zh)
WO (1) WO2021027697A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398677A (zh) * 2019-08-15 2021-02-23 华为技术有限公司 流量异常检测的方法、模型训练方法和装置
CN110781433B (zh) * 2019-10-11 2023-06-02 腾讯科技(深圳)有限公司 数据类型的确定方法和装置、存储介质及电子装置
CN112819491B (zh) * 2019-11-15 2024-02-09 百度在线网络技术(北京)有限公司 一种转化数据处理的方法、装置、电子设备及存储介质
CN113079129B (zh) * 2020-01-06 2023-08-08 阿里巴巴集团控股有限公司 数据异常检测方法、装置、系统及电子设备
CN113328872B (zh) 2020-02-29 2023-03-28 华为技术有限公司 故障修复方法、装置和存储介质
CN112134862B (zh) * 2020-09-11 2023-09-08 国网电力科学研究院有限公司 基于机器学习的粗细粒度混合网络异常检测方法及装置
CN112153044B (zh) * 2020-09-23 2021-11-12 腾讯科技(深圳)有限公司 流量数据的检测方法及相关设备
CN113420070B (zh) * 2021-06-24 2023-06-30 平安国际智慧城市科技股份有限公司 排污监测数据处理方法、装置、电子设备及存储介质
CN113852603B (zh) * 2021-08-13 2023-11-07 京东科技信息技术有限公司 网络流量的异常检测方法、装置、电子设备和可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111312A (zh) * 2011-03-28 2011-06-29 钱叶魁 基于多尺度主成分分析的网络异常检测方法
CN109902703A (zh) * 2018-09-03 2019-06-18 华为技术有限公司 一种时间序列异常检测方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090041198A (ko) * 2007-10-23 2009-04-28 한국정보보호진흥원 추이성분 필터링을 이용한 시계열 모델 기반의 네트워크공격 탐지 방법
US20170011299A1 (en) * 2014-11-13 2017-01-12 Purdue Research Foundation Proactive spatiotemporal resource allocation and predictive visual analytics system
CN106685750B (zh) * 2015-11-11 2019-12-24 华为技术有限公司 系统异常检测方法和装置
CN106095655B (zh) * 2016-05-31 2018-06-12 北京蓝海讯通科技股份有限公司 一种异常检测方法、应用和监控设备
US10917419B2 (en) * 2017-05-05 2021-02-09 Servicenow, Inc. Systems and methods for anomaly detection
CN107528722B (zh) * 2017-07-06 2020-10-23 创新先进技术有限公司 一种时间序列中异常点检测方法及装置
CN108804731B (zh) * 2017-09-12 2021-08-13 中南大学 基于重要点双重评价因子时间序列趋势特征提取方法
US10635565B2 (en) * 2017-10-04 2020-04-28 Servicenow, Inc. Systems and methods for robust anomaly detection
US10628435B2 (en) * 2017-11-06 2020-04-21 Adobe Inc. Extracting seasonal, level, and spike components from a time series of metrics data
CN109783876B (zh) * 2018-12-19 2024-02-06 平安科技(深圳)有限公司 时间序列模型建立方法、装置、计算机设备和存储介质
CN109862129A (zh) * 2018-12-26 2019-06-07 中国互联网络信息中心 Dns流量异常检测方法、装置、电子设备及存储介质
CN109871401B (zh) * 2018-12-26 2021-05-25 北京奇安信科技有限公司 一种时间序列异常检测方法及装置
CN109784042B (zh) * 2018-12-29 2021-02-23 奇安信科技集团股份有限公司 时间序列中异常点的检测方法、装置、电子设备及存储介质
CN112398677A (zh) * 2019-08-15 2021-02-23 华为技术有限公司 流量异常检测的方法、模型训练方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111312A (zh) * 2011-03-28 2011-06-29 钱叶魁 基于多尺度主成分分析的网络异常检测方法
CN109902703A (zh) * 2018-09-03 2019-06-18 华为技术有限公司 一种时间序列异常检测方法及装置

Also Published As

Publication number Publication date
US20220166681A1 (en) 2022-05-26
EP4009590A1 (en) 2022-06-08
WO2021027697A1 (zh) 2021-02-18
CN112398677A (zh) 2021-02-23
CN110266552A (zh) 2019-09-20
EP4009590A4 (en) 2022-09-28

Similar Documents

Publication Publication Date Title
CN110266552B (zh) 流量异常检测的方法、模型训练方法和装置
CN110851338B (zh) 异常检测方法、电子设备及存储介质
CN107086944B (zh) 一种异常检测方法和装置
US8078913B2 (en) Automated identification of performance crisis
CN113038302B (zh) 流量预测方法及装置、计算机可存储介质
US20190102240A1 (en) Plato anomaly detection
JP6679943B2 (ja) 検知プログラム、検知方法および検知装置
CN109857618A (zh) 一种监控方法、装置及系统
CN111753875A (zh) 一种电力信息系统运行趋势分析方法、装置及存储介质
CN113268403A (zh) 时间序列的分析预测方法、装置、设备及存储介质
JPWO2017150286A1 (ja) システム分析装置、システム分析方法、及び、プログラム
CN110909005B (zh) 一种模型特征分析方法、装置、设备及介质
CN111626360A (zh) 用于检测锅炉故障类型的方法、装置、设备和存储介质
CN114047710A (zh) 智能家居数据分析方法、装置、终端设备以及存储介质
CN115238779B (zh) 一种云盘的异常检测方法、装置、设备及介质
CN110943974A (zh) 一种DDoS异常检测方法及云平台主机
CN111563078B (zh) 基于时序数据的数据质量检测方法、检测装置及存储装置
CN110263811B (zh) 一种基于数据融合的设备运行状态监测方法及系统
CN111581044A (zh) 集群优化方法、装置、服务器及介质
WO2019142344A1 (ja) 分析装置、分析方法、及び、記録媒体
JP7408911B2 (ja) 異常検知装置及び異常検知方法
CN112236749A (zh) 一种浮点精度检测方法与装置
CN113157538B (zh) Spark运行参数的确定方法、装置、设备和存储介质
WO2022059183A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN108519906B (zh) 超标量乱序处理器稳定状态指令吞吐率建模方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant