论文部分内容阅读
随着计算机网络的快速发展,网络规模也越来越大,这给网络测量与网络异常检测带来了不少的挑战。一方面,网络性能数据是网络异常检测的基础,而获取网络性能数据的关键在于网络测量技术。传统的网络测量技术常针对节点规模为n的实际网络,获得全网的性能数据代价通常需要O(n2),当网络规模较大时,通过现有的测量方法进行网络测量显然是不切实际,且网络性能数据具有连续性,针对全网性能数据进行连续测量不仅需要较大的通信代价,且无法满足时效性。另一方面,随着网络规模的不断扩大以及网络应用的持续深化,网络攻击的危害性越来越大,威胁到网络的正常运行,严重时,大规模网络攻击(如分布式拒绝服务攻击DDoS(DistributedDoS),大规模蠕虫Worms爆发等)会给网络带来灾难性后果,而传统的网络异常检测技术存在精度与速度问题。为了降低网络测量的代价以适应大规模网络;加快网络异常检测速度以满足网络管理的实时性;提高网络异常检测精度以使得网络管理更高效。本文通过对低秩分解技术进行深入研究来解决上述挑战,并取得以下主要研究成果:
1、基于二分图矩阵填充建模的网络测量调度算法
为了降低网络测量代价,本文提出了一种基于二分图矩阵填充建模的网络测量调度算法,通过少数测量数据推测出其余未测量数据。不同于传统的测量方法,所提方法将网络数据建模成为矩阵模型,并提出基于矩阵填充技术来实现推测任务。为了能够降低冗余测量,以确定测量的位置以及测量的停止条件,提出将矩阵填充问题用二分图进行建模,并基于二分图模型提出两种测量调度策略,以保证二分图各节点度大于等于网络数据矩阵的秩,来确保网络性能数据能够准确推测的条件;以及利用余弦夹角来选择非病态线性方程组从而确认测量位置。为了进一步降低测量代价,提出将各测量位置的测量代价转化为二分图边权,并将其加入测量调度的决策中。通过实验表明,所提算法能够实现低代价高精度的网络测量。
2、基于矩阵分解重用加速的网络异常检测算法
由于现有的异常检测算法通常需要较高的计算代价,因此,并不适用于大规模网络数据处理。为了让异常检测算法更适用于大规模网络数据处理,本文提出了一种基于矩阵分解重用加速的网络异常检测算法。首先对基于矩阵恢复的异常检测算法进行深入研究,发现造成矩阵恢复算法计算代价过高的原因在于,低秩恢复过程中涉及到的奇异值分解过程。为了解决这一问题,本文提出基于轻量级矩阵恢复算法的大规模网络异常检测方法。通过前期针对真实数据集实验发现,矩阵恢复算法定位到的异常位置能够快速确定且不发生变更。基于此,本文通过重用上一轮迭代过程中的奇异值分解的结果,来降低当前迭代过程中的计算代价,以实现快速的异常检测,并使得传统的异常检测算法更适用于大规模网络数据处理。通过实验表明,所提算法不仅能够在保证矩阵恢复算法的异常定位精度,同时能够大大降低计算开销。
3、基于连续截断高阶张量分解的网络异常检测算法
由于现有的网络异常检测算法通常将数据建模为矩阵模型,从而导致其无法充分利用数据内部的高阶结构化信息而损失检测精度,为此,本文提出了一种基于连续截断高阶张量分解的网络异常检测算法。该算法通过将网络性能数据建模为三阶张量模型以学习数据内部蕴含的高阶结构化信息。另外,基于张量模型的低秩分解方法计算代价过高,并不适用于大规模网络数据处理。因此,本文提出使用一种连续截断的高阶奇异值分解方法来降低异常检测算法的计算代价,并通过调度截断顺序实现了计算代价的进一步降低。另外,本文提出针对异常检测问题使用非松弛的约束,通过将基于张量模型的数据分离方法转化为两个子问题进行迭代求解,以提高网络异常检测与定位的精度。通过实验表明,所提算法相较于基于矩阵模型的算法以及凸松弛算法在精度上有较大提升,同时,比传统的张量分解算法计算代价更低,更适用于大规模网络数据处理。
4、基于双向二维PCA的在线网络异常检测算法
传统的网络异常检测常通过数据分离的方法实现,而这类方法的计算代价过高,且需要迭代进行,因此不适用于在线实时报警。为此,本文提出了一种基于双向二维主成分分析方法的在线异常检测算法。与传统的PCA方法不同,为了能够充分挖掘网络数据特征,本文提出一种双向二维主成分分析方法来判断新来临的数据是否为异常数据。另外,由于网络管理通常需要针对流数据进行在线处理,因此,本文提出一种增量更新的方法来更新主成分向量,以快速地更新整体数据的主成分方向,从而实现在线网络异常数据告警。最后,提出一种数据增强的办法,加强新来临数据对整体数据的影响,从而保证异常检测的精度。通过实验表明,所提算法完全可以满足网络在线运维的实时性,同时又能够保持较高的异常告警精度。
5、滑动窗口模型下基于张量分解重用的网络异常定位算法
对于实际的网络运维任务,通常需要对发生异常的网络位置进行实时定位以保证网络的可靠性。为此,本文将网络监测数据建模为滑动窗口模型,以保证数据有效性的同时降低处理数据的规模。另外,传统的异常定位方法通常针对网络离线数据进行设计,通常将网络数据分离为正常数据与异常数据,这类算法不仅计算代价高,而且需要较高的存储需求,并不能够满足网络控制中心的在线需求。因此,本文提出了一种在线张量恢复算法,针对新时刻数据来临后的首次迭代以及后续迭代,设计了不同的CP分解算法,通过充分重用上一时刻所求因子矩阵,与上一轮迭代过程中所求因子矩阵来降低计算代价,成功实现了在线的网络异常定位。通过实验表明,所提算法不仅能够在保证与离线算法具有相似异常定位精度,同时能够大大降低计算开销以满足实时性要求。
6、基于流形学习的网络异常检测算法
由于网络监测数据张量除了多元线性关系外,还存在非线性关系。例如,每个时刻的网络流量数据,反映了同一个网络拓扑下不同时刻下流量情况。这些流量的走向与大小是由多方面的因素决定的,如工作日,节假日,上班时间,休闲时间等因素。为了能够整合并利用网络监测数据中的非线性关系以提高检测精度,本文提出了基于流形学习的网络异常检测算法,在传统的张量恢复算法中加入非线性约束条件以学习数据内部的非线性特征。并提出一种基于局部敏感哈希的方法来进行数据聚类,不同于传统的KNN聚类方法,这种方法能够规避KNN中固定K个邻居带来的误差,同时,能够降低聚类过程的计算代价。通过实验表明,所提算法能够取得相较于传统线性算法模型更高的异常检测精度。
1、基于二分图矩阵填充建模的网络测量调度算法
为了降低网络测量代价,本文提出了一种基于二分图矩阵填充建模的网络测量调度算法,通过少数测量数据推测出其余未测量数据。不同于传统的测量方法,所提方法将网络数据建模成为矩阵模型,并提出基于矩阵填充技术来实现推测任务。为了能够降低冗余测量,以确定测量的位置以及测量的停止条件,提出将矩阵填充问题用二分图进行建模,并基于二分图模型提出两种测量调度策略,以保证二分图各节点度大于等于网络数据矩阵的秩,来确保网络性能数据能够准确推测的条件;以及利用余弦夹角来选择非病态线性方程组从而确认测量位置。为了进一步降低测量代价,提出将各测量位置的测量代价转化为二分图边权,并将其加入测量调度的决策中。通过实验表明,所提算法能够实现低代价高精度的网络测量。
2、基于矩阵分解重用加速的网络异常检测算法
由于现有的异常检测算法通常需要较高的计算代价,因此,并不适用于大规模网络数据处理。为了让异常检测算法更适用于大规模网络数据处理,本文提出了一种基于矩阵分解重用加速的网络异常检测算法。首先对基于矩阵恢复的异常检测算法进行深入研究,发现造成矩阵恢复算法计算代价过高的原因在于,低秩恢复过程中涉及到的奇异值分解过程。为了解决这一问题,本文提出基于轻量级矩阵恢复算法的大规模网络异常检测方法。通过前期针对真实数据集实验发现,矩阵恢复算法定位到的异常位置能够快速确定且不发生变更。基于此,本文通过重用上一轮迭代过程中的奇异值分解的结果,来降低当前迭代过程中的计算代价,以实现快速的异常检测,并使得传统的异常检测算法更适用于大规模网络数据处理。通过实验表明,所提算法不仅能够在保证矩阵恢复算法的异常定位精度,同时能够大大降低计算开销。
3、基于连续截断高阶张量分解的网络异常检测算法
由于现有的网络异常检测算法通常将数据建模为矩阵模型,从而导致其无法充分利用数据内部的高阶结构化信息而损失检测精度,为此,本文提出了一种基于连续截断高阶张量分解的网络异常检测算法。该算法通过将网络性能数据建模为三阶张量模型以学习数据内部蕴含的高阶结构化信息。另外,基于张量模型的低秩分解方法计算代价过高,并不适用于大规模网络数据处理。因此,本文提出使用一种连续截断的高阶奇异值分解方法来降低异常检测算法的计算代价,并通过调度截断顺序实现了计算代价的进一步降低。另外,本文提出针对异常检测问题使用非松弛的约束,通过将基于张量模型的数据分离方法转化为两个子问题进行迭代求解,以提高网络异常检测与定位的精度。通过实验表明,所提算法相较于基于矩阵模型的算法以及凸松弛算法在精度上有较大提升,同时,比传统的张量分解算法计算代价更低,更适用于大规模网络数据处理。
4、基于双向二维PCA的在线网络异常检测算法
传统的网络异常检测常通过数据分离的方法实现,而这类方法的计算代价过高,且需要迭代进行,因此不适用于在线实时报警。为此,本文提出了一种基于双向二维主成分分析方法的在线异常检测算法。与传统的PCA方法不同,为了能够充分挖掘网络数据特征,本文提出一种双向二维主成分分析方法来判断新来临的数据是否为异常数据。另外,由于网络管理通常需要针对流数据进行在线处理,因此,本文提出一种增量更新的方法来更新主成分向量,以快速地更新整体数据的主成分方向,从而实现在线网络异常数据告警。最后,提出一种数据增强的办法,加强新来临数据对整体数据的影响,从而保证异常检测的精度。通过实验表明,所提算法完全可以满足网络在线运维的实时性,同时又能够保持较高的异常告警精度。
5、滑动窗口模型下基于张量分解重用的网络异常定位算法
对于实际的网络运维任务,通常需要对发生异常的网络位置进行实时定位以保证网络的可靠性。为此,本文将网络监测数据建模为滑动窗口模型,以保证数据有效性的同时降低处理数据的规模。另外,传统的异常定位方法通常针对网络离线数据进行设计,通常将网络数据分离为正常数据与异常数据,这类算法不仅计算代价高,而且需要较高的存储需求,并不能够满足网络控制中心的在线需求。因此,本文提出了一种在线张量恢复算法,针对新时刻数据来临后的首次迭代以及后续迭代,设计了不同的CP分解算法,通过充分重用上一时刻所求因子矩阵,与上一轮迭代过程中所求因子矩阵来降低计算代价,成功实现了在线的网络异常定位。通过实验表明,所提算法不仅能够在保证与离线算法具有相似异常定位精度,同时能够大大降低计算开销以满足实时性要求。
6、基于流形学习的网络异常检测算法
由于网络监测数据张量除了多元线性关系外,还存在非线性关系。例如,每个时刻的网络流量数据,反映了同一个网络拓扑下不同时刻下流量情况。这些流量的走向与大小是由多方面的因素决定的,如工作日,节假日,上班时间,休闲时间等因素。为了能够整合并利用网络监测数据中的非线性关系以提高检测精度,本文提出了基于流形学习的网络异常检测算法,在传统的张量恢复算法中加入非线性约束条件以学习数据内部的非线性特征。并提出一种基于局部敏感哈希的方法来进行数据聚类,不同于传统的KNN聚类方法,这种方法能够规避KNN中固定K个邻居带来的误差,同时,能够降低聚类过程的计算代价。通过实验表明,所提算法能够取得相较于传统线性算法模型更高的异常检测精度。