CN110474862B - 一种网络流量异常检测方法及装置 - Google Patents
一种网络流量异常检测方法及装置 Download PDFInfo
- Publication number
- CN110474862B CN110474862B CN201810442159.7A CN201810442159A CN110474862B CN 110474862 B CN110474862 B CN 110474862B CN 201810442159 A CN201810442159 A CN 201810442159A CN 110474862 B CN110474862 B CN 110474862B
- Authority
- CN
- China
- Prior art keywords
- time sequence
- value
- data
- abnormal
- sequence
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量异常检测方法及装置,用以解决现有技术中网络流量时间序列的异常值检测方法中的阈值设定法确定的异常值范围不准确、而引起的网络流量异常误判的问题。所述网络流量异常检测方法包括:根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。
Description
技术领域
本发明涉及网络信息安全技术领域,尤其涉及一种网络流量异常检测方法及装置。
背景技术
随着网络技术的不断发展,网络攻击等恶意行为已经严重威胁到计算机网络安全,网络异常行为会导致网络流量异常,出于网络安全和业务管理等方面的考虑,需要对一些网络流量进行监控,能够及时准确地检测出网络流量异常对于维护网络安全有着非常重要的意义。
时间序列是由记录值和记录时间组成的元素的有序集合,时间序列的一个重要特征就是具有时间属性,序列值之间必须按照时间先后顺序进行严格的排序。现有技术中针对网络流量时间序列的异常值检测方法如阈值设定法,一般通过比较单位时长流量值与预设固定阈值,根据单位时长流量值与预设固定阈值的大小关系来判断该单位时长流量值是否异常,其中,3σ准则是异常值判断的一种常用方法。3σ准则又称为拉依达准则,它是先假设一组检测数据只包含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡是超过这个区间的误差就不属于随机误差,而是粗大误差,含有该误差的数据应予以剔除。
现有的预设固定阈值的网络流量判断机制,由于阈值是预设的且一般都是固定不变的,这使得在一些网络流量波动较大的复杂场景下,经常会出现流量异常误判的情况。例如,3σ准则先假设一组检测数据只含有随机误差,使得确定的异常值范围不够准确。
发明内容
为了解决现有技术中网络流量时间序列的异常值检测方法中的阈值设定法确定的异常值范围不准确、而引起的网络流量异常误判的问题,本发明实施例提供了一种网络流量异常检测方法及装置。
第一方面,本发明实施例提供了一种网络流量异常检测方法,包括:
根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;
根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。
采用本发明实施例提供的网络流量异常检测方法,服务器获取若干个采样周期的网络流量时间序列作为训练集,根据该训练集确定基准序列和正常值范围的上、下边界序列,再根据确定的基准序列和正常值范围的上、下边界对待检测的网络流量时间序列进行检测,本发明实施例提供的网络流量异常检测方法,在分析网络流量时间序列特性的基础上,采用一种新的监督学习算法来计算数据正常值范围和检测基准序列,通过分析隐藏在海量网络流量数据背后的特征,来对网络流量时间序列进行异常点的检测与分析,从而提高网络流量异常检测的准确性。
较佳地,根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,具体包括:
根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据;
确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,所述自波动表征一个时间序列中相邻两点的变化;
对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注;
根据所述标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列。
本发明中,根据训练集中所有采样周期的网络流量时间序列的均值和标准偏差确定训练集中的潜在异常数据,再确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,其中,自波动表征一个时间序列中相邻两点的变化,自波动异常表征时间序列中相邻两点的变化存在异常,对确定出的潜在异常数据和潜在自波动异常数据进行异常值标签标注,根据标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列,再根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。本发明实施例提供的网络流量异常检测方法,在分析网络流量时间序列特性的基础上,采用上述新的监督学习算法来计算数据正常值范围和检测基准序列,来对网络流量时间序列进行异常点的检测与分析,提高了网络流量异常检测的准确性。
较佳地,根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据,具体包括:
计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差;
将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
本发明实施例提出通过σ准则筛选潜在网络流量异常值,即通过计算所有采样周期的网络流量时间序列中数据的均值和标准偏差,分别记作第一均值和第一标准偏差,将训练集中在第一均值与第一标准偏差之差、以及第一均值与第一标准偏差之和区间范围之外的数据确定为潜在异常数据。σ准则相较于3σ准则更适用于日益增多的网络流量数据量。
较佳地,通过以下步骤确定每个采样周期的网络流量时间序列中的潜在自波动异常数据:
针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个元素中的前一个元素的比值组成的序列;
计算所述自波动序列的第二均值和第二标准偏差;
确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二均值与第二标准偏差之和的数据为潜在自波动异常数据。
在通过σ准则筛选所有采样周期的网络流量时间序列中的潜在异常数据的基础上,进一步提出时间序列的自波动异常检测方法,筛选每一采样周期的网络流量时间序列中的潜在自波动异常数据,使得确定出的潜在的异常值的范围更加准确,避免异常值漏判的情况。
较佳地,对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注,具体包括:
将所述潜在异常数据和所述潜在自波动异常数据中小于所述第一均值与第一标准偏差之差的数据标注为超小异常值,将所述潜在异常数据和所述潜在自波动异常数据中大于所述第一均值与第一标准偏差之和的数据标注为超大异常值;以及
所述方法,还包括:
将所述训练集中大于等于所述第一均值与第一标准偏差之差且小于等于第一均值与第一标准偏差之和的数据标注为潜在正常值。
根据σ准则确定的潜在正常值的区间范围,将确定的潜在异常数据和潜在的自波动异常数据中小于该潜在正常值的区间范围的下边界的数据标注为超小异常值,将大于该潜在正常值的区间范围的上边界的数据标注为超大异常值,并对在该潜在正常值的区间范围内的数据标准为潜在正常值,从而,超大异常值、潜在正常值和超小异常值构成一个三层带状数据分布结构,为后续计算基准序列和正常值范围的上、下边界序列提供数据基础。
较佳地,根据所述标注了标签后的训练集确定基准序列,具体包括:
剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据;
将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除;
根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充;
将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤;
对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
将每一采样周期的网络流量时间序列中标注了异常值标签的数据剔除,即将标注的超大异常值和超小异常值均剔除,并且判断删除了异常值的网络流量时间序列中删除的异常值的个数是否大于一个预设阈值,如果是,则将该时间序列删除,从而进一步提高训练集采用的网络流量时间序列的准确性。进一步地,再根据预设插值算法将未删除的网络流量时间序列中剔除异常值的位置进行插值补充,插值是离散函数逼近的重要方法,利用它可以通过函数在有限个点出的取值状况,估算出函数在其他点处的近似值。进一步地,再对插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤,以去除扰动信号,对各积分过滤后的网络流量时间序列进行加权计算获得基准序列,作为检测其它待检测网络流量时间序列的基准。
可选地,所述方法还包括:
在根据所述标注了标签后的训练集确定基准序列之后,获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列;
对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤;
计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0;
根据d1和d0的比值判断所述基准序列是否通过验证。
较佳地,根据d1和d0的比值判断所述基准序列是否通过验证,具体包括:
判断d1和d0的比值是否在第一预设区间内;
如果是,则确定所述基准序列通过验证;
否则,确定所述基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,重新计算基准序列。
通过获取的验证数据集和训练集对确定的基准序列进行验证,以验证基准序列是否合理,具体地,通过计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与基准序列的平均误差,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与基准序列的平均误差的比值是否在一个预设区间内,如果是,则基准序列通过验证,否则基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,按照本发明实施例提供的上述基准序列的计算方法重新计算基准序列,直至通过验证。
较佳地,根据所述标注了标签后的训练集确定正常值范围的上、下边界序列,具体包括:
获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据;
获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值;
将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列;
对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除;
对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充;
对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列;
根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并
根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
较佳地,根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列,具体包括:
将所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列;
根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列,具体包括:
将所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
根据本发明提供的上述确定正常值的上、下边界序列的方法确定出的正常值范围更加精确。
较佳地,根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测,具体包括:
将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较;
将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值;并
判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内;
如果否,则将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值;并
输出标注了异常值的网络流量时间序列。
第二方面,本发明实施例提供了一种网络流量异常检测装置,包括:
确定单元,用于根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;
检测单元,用于根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。
采用本发明实施例提供的网络流量异常检测装置,包括确定单元和检测单元,利用确定单元,根据获取的若干个采样周期的网络流量时间序列生成的训练集确定基准序列和正常值范围的上、下边界序列,再利用检测单元根据确定的基准序列和正常值范围的上、下边界对待检测的网络流量时间序列进行检测,本发明实施例提供的网络流量异常检测装置,在分析网络流量时间序列特性的基础上,采用一种新的监督学习算法来计算数据正常值范围和检测基准序列,通过分析隐藏在海量网络流量数据背后的特征,来对网络流量时间序列进行异常点的检测与分析,从而提高网络流量异常检测的准确性。
较佳地,所述确定单元,具体用于根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据;确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,所述自波动表征一个时间序列中相邻两点的变化;对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注;根据所述标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列。
本发明中,根据训练集中所有采样周期的网络流量时间序列的均值和标准偏差确定训练集中的潜在异常数据,再确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,其中,自波动表征一个时间序列中相邻两点的变化,自波动异常表征时间序列中相邻两点的变化存在异常,对确定出的潜在异常数据和潜在自波动异常数据进行异常值标签标注,根据标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列,再根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。本发明实施例提供的网络流量异常检测方法,在分析网络流量时间序列特性的基础上,采用上述新的监督学习算法来计算数据正常值范围和检测基准序列,来对网络流量时间序列进行异常点的检测与分析,提高了网络流量异常检测的准确性。
较佳地,所述确定单元,具体用于计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差;将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
较佳地,所述确定单元,具体用于针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个元素中的前一个元素的比值组成的序列;计算所述自波动序列的第二均值和第二标准偏差;确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二均值与第二标准偏差之和的数据为潜在自波动异常数据。
较佳地,所述确定单元,具体用于将所述潜在异常数据和所述潜在自波动异常数据中小于所述第一均值与第一标准偏差之差的数据标注为超小异常值,将所述潜在异常数据和所述潜在自波动异常数据中大于所述第一均值与第一标准偏差之和的数据标注为超大异常值;以及
所述确定单元,还用于将所述训练集中大于等于所述第一均值与第一标准偏差之差且小于等于第一均值与第一标准偏差之和的数据标注为潜在正常值。
较佳地,所述确定单元,具体用于剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据;将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除;根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充;将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤;对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
可选地,所述装置还包括:
验证单元,用于在根据所述标注了标签后的训练集确定基准序列之后,获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列;对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤;计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0;根据d1和d0的比值判断所述基准序列是否通过验证。
较佳地,所述验证单元,具体用于判断d1和d0的比值是否在第一预设区间内;如果是,则确定所述基准序列通过验证;否则,确定所述基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,重新计算基准序列。
较佳地,所述确定单元,具体用于获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据;获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值;将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列;对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除;对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充;对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列;根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
较佳地,所述确定单元,具体用于将所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列;将所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
较佳地,所述检测单元,具体用于将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较;将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值;并判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内;如果否,则将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值;并输出标注了异常值的网络流量时间序列。
本发明实施例提供的网络流量异常检测装置的技术效果可以参见上述第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的网络流量异常检测方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的网络流量异常检测方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的网络流量异常检测方法的实施流程示意图;
图2为本发明实施例中,确定基准序列和正常值范围的上、下边界序列的实施流程示意图;
图3为本发明实施例中,确定训练集中的潜在异常数据的流程示意图;
图4为本发明实施例中,确定每一采样周期的网络流量时间序列中的潜在自波动异常数据的流程示意图;
图5为本发明实施例中,确定基准序列的流程示意图;
图6为本发明实施例中,基准序列的验证流程示意图;
图7为本发明实施例中,确定正常值范围的上、下边界序列的流程示意图;
图8为本发明实施例中,对待检测的网络流量时间序列进行检测的实施流程示意图;
图9为本发明实施例提供的网络流量异常检测装置的结构示意图。
具体实施方式
为了解决现有技术中针对网络流量时间序列的异常值检测方法中,阈值设定法确定的异常值范围不准确而引起的网络流量异常误判的问题,本发明提出了一种网络流量异常检测方法及装置。
本发明实施例提供的网络流量异常检测方法的实施原理是:服务器获取若干个采样周期的网络流量时间序列作为训练集,根据该训练集确定基准序列和正常值范围的上、下边界序列,再根据确定的基准序列和正常值范围的上、下边界对待检测的网络流量时间序列进行检测,本发明实施例提供的网络流量异常检测方法,在分析网络流量时间序列特性的基础上,采用一种新的监督学习算法来计算数据正常值范围和检测基准序列,通过分析隐藏在海量网络流量数据背后的特征,来对网络流量时间序列进行异常点的检测与分析,从而提高网络流量异常检测的准确性。
首先,对本发明实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
1、异常点:指数据集中与数据的一般行为或对象不一致的数据,异常点一般也称作离群点。
2、时间序列:是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。
本发明实施例中的网络流量时间序列是指统计指标为网络流量的数值按照采样时刻的先后顺序排列而成的序列。
3、监督学习:是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。监督学习是从标记的训练数据来推断一个功能的机器学习任务。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。
4、σ准则:计算数据集的均值μ和标准偏差σ,确定一个区间[μ-σ,μ+σ],认为凡超过这个区间的数据,就可能含有非随机误差,是潜在异常数据。
5、时间序列自波动:指一个时间序列中相邻两点的变化。
6、插值:插值是离散函数逼近的重要方法,利用它可以通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。插值问题的提法是:假定区间[a,b]上的实值函数f(x)在该区间上n+1个不同点x0,x1,......,xn处的值是f(x0),f(x1),......,f(xn),要求估算f(x)在区间[a,b]某点x*的值。基本思路是,找到一个函数P(x),在x0,x1,......,xn的节点上与f(x)函数值相同,用P(x*)的值作为f(x*)的近似值。
需要说明的是,本发明实施例中适用于采集的网络流量数据量充分大的情况。
另外,本发明实施例中的“第一”、“第二”等序数词,在没有特别说明的情况下,仅仅起区分的作用。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例提供的网络流量异常检测方法的实施流程示意图,可以包括以下步骤:
S11、根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列。
具体实施时,服务器获取若干个采样周期的网络流量时间序列作为训练集。可以记每个采样周期的网络流量时间序列为:Y=[y1,y2,y3,......,yn],其中,n表示每个采样周期中采样点的个数,y1~yn分别表示采样点t1~tn对应的网络流量值。
例如,假设采样周期为一天24小时,每一个整点时刻为一个采样点,则一个采样周期的网络流量时间序列由0:00~23:00每个整点时刻采集的网络流量值按时间顺序排列组成。可以获取若干个采样周期如30天的网络流量时间序列作为训练集。
需要说明的是,本发明实施例对采样周期的个数不作限定。
进一步地,可以按照如图2所示的流程确定基准序列和正常值范围的上、下边界序列,包括:
S21、根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据。
具体实施时,服务器获取若干个采样周期的网络流量时间序列作为训练集之后,可以按照如图3所示的流程确定所述训练集中的潜在异常数据:
S211、计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差。
具体实施时,服务器计算训练集中所有采样周期的网络流量时间序列中数据的均值和标准偏差,分别记为第一均值μ和第一标准偏差σ。
S212、将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
具体实施时,确定区间[μ-σ,μ+σ],将训练集中的各数据即所有采样周期的网络流量时间序列中的各流量值与上述区间进行比较,将训练集中在区间[μ-σ,μ+σ]之外的数据确定为潜在异常数据。
S22、确定每个采样周期的网络流量时间序列中的潜在自波动异常数据。
本步骤中,自波动表征一个时间序列中相邻两点的变化。
具体地,服务器可以通过如图4所示的流程确定每一采样周期的网络流量时间序列中的潜在自波动异常数据,可以包括以下步骤:
S221、针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列。
具体实施时,服务器针对每一采样周期的网络流量时间序列,计算该网络流量时间序列的自波动序列,其中,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个元素中的前一个元素的比值组成的序列。
具体地,可以按照如下公式计算该采样周期的网络流量时间序列的自波动序列:
其中,dYself表示网络流量时间序列Y的自波动序列,Y=[y1,y2,y3,......,yn],n表示每个采样周期中采样点的个数,y1~yn分别表示采样点t1~tn对应的网络流量值。
S222、计算所述自波动序列的第二均值和第二标准偏差。
S223、确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二均值与第二标准偏差之和的数据为潜在自波动异常数据。
需要说明的是,具体实施时,对步骤S21和步骤S23的先后顺序不作限定。
S23、对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注。
具体实施时,服务器将确定的潜在异常数据和潜在自波动异常数据中小于步骤S21中计算出的第一均值μ与第一标准偏差σ之差的数据标注为超小异常值,将潜在异常数据和潜在自波动异常数据中大于第一均值μ与第一标准偏差σ之和的数据标注为超大异常值。
进而,服务器将训练集中大于等于第一均值μ与第一标准偏差σ之差且小于等于第一均值μ与第一标准偏差σ之和的数据标注为潜在正常值,也就是将训练集中在区间[μ-σ,μ+σ]之内的数据标注为潜在正常值,潜在正常值的上边界为μ+σ,下边界为μ-σ。
这样,超大异常值、潜在正常值和超小异常值构成一个三层带状数据分布结构。
S24、根据所述标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列。
具体实施时,服务器可以按照如图5所示的流程确定基准序列,可以包括以下步骤:
S241、剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据。
本步骤中,服务器剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据,即剔除每一采样周期的网络流量时间序列中标注了超大异常值和超小异常值的数据。
S242、将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除。
本步骤中,服务器统计每一采样周期的网络流量时间序列中剔除的异常值的个数,当剔除的异常值的个数大于预设阈值时,则将该采样周期的网络流量时间序列删除,其中预设阈值可以取值为30%。
需要说明的是,具体实施时,预设阈值可以根据经验值选取,本发明实施例对此不作限定。
S243、根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充。
本步骤中,服务器可以根据预设插值算法将剔除异常值的位置进行插值补充。预设插值算法可以但不限于包括:多项式插值、埃尔米特插值、分段插值和样条插值。
S244、将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤。
具体实施时,服务器将插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤,以去除干扰信号。
具体地,可以将第k个网络流量时间序列记为Yk={yk,1,yk,2,...,yk,n},其中,k=1,2,......,M,M表示需要进行积分过滤的网络流量时间序列的总数,即插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列的总数;yk,i表示第k个网络流量时间序列中的采样时刻i的流量值,i=1,2,......,n,则可以按照如下公式对网络流量时间序列进行积分过滤:
需要说明的是,本发明实施例中的积分过滤函数不限于上述函数,本发明实施例对此不作限定。
S245、对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
具体实施时,服务器对各积分过滤后的网络流量时间序列进行加权求和计算获得基准序列。
较佳地,在确定基准序列之后,还可以通过如图6所示的流程验证该基准序列的合理性,可以包括以下步骤:
S31、获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列。
本步骤中,服务器获取和训练集具有相同采样周期的网络流量时间序列作为验证数据集。
S32、对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤。
本步骤中,按照上述积分过滤方法对验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤。
S33、计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0。
本步骤中,将积分过滤后的验证数据集中的一个采样周期的网络流量时间序X'列记为:X'=(x'1,x'2,......,x'n),将基准序列BaseY记为:BaseY=(y'1,y'2,......,y'n),则可以按照以下公式计算该采样周期的网络流量时间序列与所述基准序列的距离:
根据上述公式计算出积分过滤后的验证数据集中的每一个采样周期的网络流量时间序列d'1,d'2,......,d'm,其中,m表示验证数据集中的网络流量时间序列的总数。
进一步地,按照如下公式计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1:
同理,按照上述相同的方法计算出进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0。
S34、根据d1和d0的比值判断所述基准序列是否通过验证。
具体实施时,判断d1和d0的比值是否在第一预设区间内,如果是,则确定该基准序列通过验证,否则,确定该基准序列未通过验证,并将验证数据集和训练集合并成新的训练集,按照步骤S241~S245重新计算基准序列,直至通过验证为止。其中,第一预设区间可以取值为[0.7,1.3],本发明实施例对此不作限定。
同时,服务器可以按照如图7所示的流程根据所述标注了标签后的训练集确定正常值范围的上、下边界序列,可以包括以下步骤:
S41、获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据。
S42、获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值。
S43、将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列。
S44、对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除。
具体实施时,可以按照步骤S221~S223中的方法确定各时间序列中的潜在自波动异常数据并剔除。
S45、对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充。
具体实施时,可以按照步骤S243中的方法对剔除了潜在自波动异常数据的所述各时间序列进行插值补充。
S46、对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列。
具体实施时,可以按照步骤S244对进行插值补充后的所述各时间序列分别进行积分过滤。
S47、根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
具体实施时,将积分过滤后的超大异常值的最小值时间序列和积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列,将积分过滤后的潜在正常值的最小值时间序列和积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
S12、根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。
具体实施时,服务器可以按照如图8所示的流程对待检测的网络流量时间序列进行检测,可以包括以下步骤:
S51、将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较。
具体实施时,将待检测的网络流量时间序列每一采样点对应的数据与正常值范围的上、下边界序列的同一采样点对应的数据进行比较。
S52、将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值。
具体实施时,针对每一采样点,将待检测的网络流量时间序列该采样点对应的数据小于正常范围下边界序列的同一采样点对应的数据,或大于正常范围上边界序列的同一采样点对应的数据的流量值标注为异常值。
S53、判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内,如果是,则执行步骤S54,否则,执行步骤S55。
具体实施时,第二预设区间可以取值为[-30%,30%],可以根据经验值进行设定,本发明实施例对此不作限定。
S54、确定待检测的网络流量时间序列中该采样时刻对应的数据为正常值。
S55、将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值,并输出标注了异常值的网络流量时间序列。
本发明实施例提供的网络流量异常检测方法中,服务器获取若干个采样周期的网络流量时间序列作为训练集,根据所有采样周期的网络流量时间序列的均值和标准偏差确定训练集中的潜在异常数据,再确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,其中,自波动表征一个时间序列中相邻两点的变化,自波动异常表征时间序列中相邻两点的变化存在异常,对确定出的潜在异常数据和潜在自波动异常数据进行异常值标签标注,根据标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列,根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。本发明实施例提供的网络流量异常检测方法,在分析网络流量时间序列特性的基础上,采用上述新的监督学习算法来计算数据正常值范围,通过分析隐藏在海量网络流量数据背后的特征,来对网络流量时间序列进行异常点的检测与分析,从而提高网络流量异常检测的准确性。
基于同一发明构思,本发明实施例还提供了一种网络流量异常检测装置,由于上述网络流量异常检测装置解决问题的原理与网络流量异常检测方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图9所示,其为本发明实施例提供的网络流量异常检测装置的结构示意图,可以包括:
确定单元61,用于根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;
检测单元62,用于根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测。
所述确定单元61,具体用于根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据;确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,所述自波动表征一个时间序列中相邻两点的变化;对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注;根据所述标注了标签后的训练集确定基准序列和正常值范围的上、下边界序列。
较佳地,所述确定单元61,具体用于计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差;将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
较佳地,所述确定单元61,具体用于针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个元素中的前一个元素的比值组成的序列;计算所述自波动序列的第二均值和第二标准偏差;确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二的均值与第二标准偏差之和的数据为潜在自波动异常数据。
较佳地,所述确定单元61,具体用于将所述潜在异常数据和所述潜在自波动异常数据中小于所述第一均值与第一标准偏差之差的数据标注为超小异常值,将所述潜在异常数据和所述潜在自波动异常数据中大于所述第一均值与第一标准偏差之和的数据标注为超大异常值;以及
所述确定单元61,还用于将所述训练集中大于等于所述第一均值与第一标准偏差之差且小于等于第一均值与第一标准偏差之和的数据标注为潜在正常值。
较佳地,所述确定单元61,具体用于剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据;将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除;根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充;将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤;对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
可选地,所述装置还包括:
验证单元63,用于在根据所述标注了标签后的训练集确定基准序列之后,获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列;对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤;计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0;根据d1和d0的比值判断所述基准序列是否通过验证。
较佳地,所述验证单元63,具体用于判断d1和d0的比值是否在第一预设区间内;如果是,则确定所述基准序列通过验证;否则,确定所述基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,重新计算基准序列。
较佳地,所述确定单元61,具体用于获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据;获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值;将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列;对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除;对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充;对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列;根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
较佳地,所述确定单元61,具体用于将所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列;将所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
较佳地,所述检测单元62,具体用于将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较;将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值;并判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内;如果否,则将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值;并输出标注了异常值的网络流量时间序列。
本发明实施例提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例所述的网络流量异常检测方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的网络流量异常检测方法中的步骤。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (22)
1.一种网络流量异常检测方法,其特征在于,包括:
根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;
根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测,具体包括:将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较;将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值;并判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内;如果否,则将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值;并输出标注了异常值的网络流量时间序列。
2.如权利要求1所述的方法,其特征在于,根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,具体包括:
根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据;
确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,所述自波动表征一个时间序列中相邻两点的变化;
对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注;
根据标注了标签后的所述训练集确定基准序列和正常值范围的上、下边界序列。
3.如权利要求2所述的方法,其特征在于,根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据,具体包括:
计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差;
将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
4.如权利要求3 所述的方法,其特征在于,通过以下步骤确定每个采样周期的网络流量时间序列中的潜在自波动异常数据:
针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个相邻数据中的前一个数据的比值组成的序列;
计算所述自波动序列的第二均值和第二标准偏差;
确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二均值与第二标准偏差之和的数据为潜在自波动异常数据。
5.如权利要求4所述的方法,其特征在于,对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注,具体包括:
将所述潜在异常数据和所述潜在自波动异常数据中小于所述第一均值与第一标准偏差之差的数据标注为超小异常值,将所述潜在异常数据和所述潜在自波动异常数据中大于所述第一均值与第一标准偏差之和的数据标注为超大异常值;以及
所述方法,还包括:
将所述训练集中大于等于所述第一均值与第一标准偏差之差且小于等于第一均值与第一标准偏差之和的数据标注为潜在正常值。
6.如权利要求5所述的方法,其特征在于,根据所述标注了标签后的训练集确定基准序列,具体包括:
剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据;
将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除;
根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充;
将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤;
对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
7.如权利要求2~6任一项所述的方法,其特征在于,在根据标注了标签后的所述训练集确定基准序列之后,还包括:
获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列;
对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤;
计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0;
根据d1和d0的比值判断所述基准序列是否通过验证。
8.如权利要求7所述的方法,其特征在于,根据d1和d0的比值判断所述基准序列是否通过验证,具体包括:
判断d1和d0的比值是否在第一预设区间内;
如果是,则确定所述基准序列通过验证;
否则,确定所述基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,重新计算基准序列。
9.如权利要求5所述的方法,其特征在于,根据所述标注了标签后的训练集确定正常值范围的上、下边界序列,具体包括:
获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据;
获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值;
将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列;
对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除;
对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充;
对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列;
根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并
根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
10.如权利要求9所述的方法,其特征在于,
根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列,具体包括:
将所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列;
根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列,具体包括:
将所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
11.一种网络流量异常检测装置,其特征在于,包括:
确定单元,用于根据获取的网络流量的时间序列数据生成的训练集确定基准序列和正常值范围的上、下边界序列,其中,所述时间序列数据为若干个采样周期的网络流量时间序列;
检测单元,用于根据所述基准序列和正常值范围的上、下边界序列对待检测的网络流量时间序列进行检测;
所述检测单元,具体用于将待检测的网络流量时间序列中的数据和所述正常值范围的上、下边界序列进行比较;将所述待检测的网络流量时间序列中超出正常值范围的数据标注为异常值;并判断所述待检测的网络流量时间序列每一采样时刻对应的数据与所述基准序列相应采样时刻对应的数据的差值是否在第二预设区间内;如果否,则将所述待检测的网络流量时间序列中该采样时刻对应的数据标注为异常值;并输出标注了异常值的网络流量时间序列。
12.如权利要求11所述的装置,其特征在于,
所述确定单元,具体用于根据所有采样周期的网络流量时间序列的均值和标准偏差确定所述训练集中的潜在异常数据;确定每个采样周期的网络流量时间序列中的潜在自波动异常数据,所述自波动表征一个时间序列中相邻两点的变化;对确定的所述潜在异常数据和所述潜在自波动异常数据进行异常值标签标注;根据标注了标签后的所述训练集确定基准序列和正常值范围的上、下边界序列。
13.如权利要求12所述的装置,其特征在于,
所述确定单元,具体用于计算所有采样周期的网络流量时间序列中数据的第一均值和第一标准偏差;将所述训练集中小于所述第一均值与第一标准偏差之差,或大于所述第一均值与第一标准偏差之和的数据确定为潜在异常数据。
14.如权利要求13 所述的装置,其特征在于,
所述确定单元,具体用于针对每一采样周期的网络流量时间序列,计算所述网络流量时间序列的自波动序列,所述自波动序列为所述时间序列中每两个相邻数据差值的绝对值与所述两个相邻数据中的前一个数据的比值组成的序列;计算所述自波动序列的第二均值和第二标准偏差;确定所述采样周期的网络流量时间序列中小于所述第二均值与第二标准偏差之差,或大于所述第二均值与第二标准偏差之和的数据为潜在自波动异常数据。
15.如权利要求14所述的装置,其特征在于,
所述确定单元,具体用于将所述潜在异常数据和所述潜在自波动异常数据中小于所述第一均值与第一标准偏差之差的数据标注为超小异常值,将所述潜在异常数据和所述潜在自波动异常数据中大于所述第一均值与第一标准偏差之和的数据标注为超大异常值;以及
所述确定单元,还用于将所述训练集中大于等于所述第一均值与第一标准偏差之差且小于等于第一均值与第一标准偏差之和的数据标注为潜在正常值。
16.如权利要求15所述的装置,其特征在于,
所述确定单元,具体用于剔除每一采样周期的网络流量时间序列中标注了异常值标签的数据;将剔除的异常值数据的个数大于预设阈值的网络流量时间序列删除;根据预设插值算法将剔除的异常值数据的个数小于等于所述预设阈值的网络流量时间序列中剔除异常值的位置进行插值补充;将所述插值补充后的网络流量时间序列以及不包含异常值的网络流量时间序列进行积分过滤;对各积分过滤后的网络流量时间序列进行加权计算获得基准序列。
17.如权利要求12~16任一项所述的装置,其特征在于,所述装置还包括:
验证单元,用于在根据标注了标签后的所述训练集确定基准序列之后,获取验证数据集,所述验证数据集为和所述训练集具有相同个数采样周期的网络流量时间序列;对所述验证数据集中的各采样周期的网络流量时间序列和所述训练集中的各采样周期的网络流量时间序列分别进行积分过滤;计算进行积分过滤后的验证数据集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d1,以及进行积分过滤后的训练集中的各采样周期的网络流量时间序列与所述基准序列的平均误差d0;根据d1和d0的比值判断所述基准序列是否通过验证。
18.如权利要求17所述的装置,其特征在于,
所述验证单元,具体用于判断d1和d0的比值是否在第一预设区间内;如果是,则确定所述基准序列通过验证;否则,确定所述基准序列未通过验证,并将所述验证数据集和所述训练集合并成新的训练集,重新计算基准序列。
19.如权利要求15所述的装置,其特征在于,
所述确定单元,具体用于获取所述标注了标签后的各采样周期的网络流量时间序列中每一采样时刻对应的数据;获取每一采样时刻超大异常值的最小值、潜在正常值的最大值和最小值、以及超小异常值的最大值;将所述获取的超大异常值的最小值按采样时间顺序组合成超大异常值的最小值时间序列,将潜在正常值的最大值按采样时间顺序组合成潜在正常值的最大值时间序列,将潜在正常值的最小值按采样时间顺序组合成潜在正常值的最小值时间序列,以及将超小异常值的最大值按采样时间顺序组合成超小异常值的最大值时间序列;对所述超大异常值的最小值时间序列、所述潜在正常值的最大值时间序列、所述潜在正常值的最小值时间序列以及所述超小异常值的最大值时间序列分别做自波动异常检测,确定各时间序列中的潜在自波动异常数据并剔除;对剔除了潜在自波动异常数据的所述各时间序列中无数据的采样时刻进行插值补充;对所述进行插值补充后的所述各时间序列分别进行积分过滤获得积分过滤后的超大异常值的最小值时间序列、潜在正常值的最大值时间序列、潜在正常值的最小值时间序列以及超小异常值的最大值时间序列;根据所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列确定正常值的上边界序列;并根据所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列确定正常值的下边界序列。
20.如权利要求19所述的装置,其特征在于,
所述确定单元,具体用于将所述积分过滤后的超大异常值的最小值时间序列和所述积分过滤后的潜在正常值的最大值时间序列的均值时间序列确定为正常值的上边界序列;将所述积分过滤后的潜在正常值的最小值时间序列和所述积分过滤后的超小异常值的最大值时间序列的均值时间序列确定为正常值的下边界序列。
21.一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~10任一项所述的网络流量异常检测方法。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~10任一项所述的网络流量异常检测方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810442159.7A CN110474862B (zh) | 2018-05-10 | 2018-05-10 | 一种网络流量异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810442159.7A CN110474862B (zh) | 2018-05-10 | 2018-05-10 | 一种网络流量异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474862A CN110474862A (zh) | 2019-11-19 |
CN110474862B true CN110474862B (zh) | 2021-08-13 |
Family
ID=68503888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810442159.7A Active CN110474862B (zh) | 2018-05-10 | 2018-05-10 | 一种网络流量异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474862B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835738B (zh) * | 2020-06-30 | 2021-09-24 | 山东大学 | 一种基于时间序列挖掘的网络异常流量自动检测方法 |
CN112087350B (zh) * | 2020-09-17 | 2022-03-18 | 中国工商银行股份有限公司 | 网络接入线路的流量监控方法、装置、系统和介质 |
CN114710369B (zh) * | 2022-06-06 | 2022-08-16 | 山东云天安全技术有限公司 | 一种异常数据检测方法、装置、计算机设备及存储介质 |
CN117807375B (zh) * | 2024-02-27 | 2024-05-24 | 成都秦川物联网科技股份有限公司 | 基于物联网的超声波水表噪声处理方法、系统及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945320A (zh) * | 2012-10-29 | 2013-02-27 | 河海大学 | 一种时间序列数据异常检测方法与装置 |
CN104915846A (zh) * | 2015-06-18 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种电子商务时间序列数据的异常检测方法及系统 |
CN107871190A (zh) * | 2016-09-23 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种业务指标监控方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8935383B2 (en) * | 2010-12-31 | 2015-01-13 | Verisign, Inc. | Systems, apparatus, and methods for network data analysis |
-
2018
- 2018-05-10 CN CN201810442159.7A patent/CN110474862B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945320A (zh) * | 2012-10-29 | 2013-02-27 | 河海大学 | 一种时间序列数据异常检测方法与装置 |
CN104915846A (zh) * | 2015-06-18 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 一种电子商务时间序列数据的异常检测方法及系统 |
CN107871190A (zh) * | 2016-09-23 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种业务指标监控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110474862A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474862B (zh) | 一种网络流量异常检测方法及装置 | |
CN105279365B (zh) | 用于学习异常检测的样本的方法 | |
CN106506556B (zh) | 一种网络流量异常检测方法及装置 | |
JP6141235B2 (ja) | 時系列データにおける異常を検出する方法 | |
US20090106839A1 (en) | Method for detecting network attack based on time series model using the trend filtering | |
CN110535878B (zh) | 一种基于事件序列的威胁检测方法 | |
CN110861987A (zh) | 一种电梯故障判断逻辑验证方法、系统及存储介质 | |
KR102362159B1 (ko) | 반도체 제조 공정에서 고장 검출 및 불량 원인 진단을 위한 방법 | |
CN108256738B (zh) | 道岔动作参考曲线选取方法及其应用 | |
CN110738255A (zh) | 一种基于聚类算法的设备状态监测方法 | |
CN109726737B (zh) | 基于轨迹的异常行为检测方法及装置 | |
CN113269042B (zh) | 基于行驶车辆违章识别的智能交通管理方法及系统 | |
CN114490156A (zh) | 一种时间序列数据异常标记方法 | |
CN114495498B (zh) | 一种交通数据分布有效性判别方法及装置 | |
CN112529109A (zh) | 一种基于无监督多模型的异常检测方法及系统 | |
CN114528190B (zh) | 单指标异常的检测方法、装置、电子设备及可读存储介质 | |
CN116308300A (zh) | 一种电力设备状态监测评价与指挥方法及系统 | |
CN116047164A (zh) | 一种电动汽车绝缘电阻异常的检测方法和检测装置 | |
CN117235062A (zh) | 基于数据中台的业务系统数据建模方法 | |
CN115495274B (zh) | 基于时序数据的异常处理方法、网络设备和可读存储介质 | |
CN110770753B (zh) | 高维数据实时分析的装置和方法 | |
CN108761250B (zh) | 一种基于工控设备电压电流的入侵检测方法 | |
CN115766513A (zh) | 一种异常检测方法和装置 | |
US20170139794A1 (en) | Information processing device, analysis method, and recording medium | |
CN115189961A (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 |