一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种异常分析方法、装置及存储介质与流程

2022-02-21 11:14:18 来源:中国专利 TAG:


1.本技术涉及一种电子设备领域,尤其涉及一种异常分析方法、装置及存储介质。


背景技术:

2.现有技术中对引起设备异常产生原因的分析一般通过两种手段:1)利用简单的人工故障库进行异常诊断,人工故障库是运维人员经过大量人工经验的积累,对重复的、人工能够识别的异常进行解决和固化下来的结果;2)综合异常数据和人工经验提取异常特征,生成异常特征库进行匹配;基于异常传播的波动影响力计算可能性分值,来定位多维指标异常在哪一个聚合层次导致了多维指标发生改变。
3.上述方案存在以下缺点:人工故障库需要大量的人力,人工确认过程比较滞后,人工经验存在变差;异常特征库的维护困难,积累的特征可能有变差,随着时间的推移往往特征的有效性都会逐步改变;基于波动影响力计算可能性分值的方式只能解决单层次的异常定位问题,并且要求异常间带有传播性。
4.申请内容
5.本技术期望提供一种异常分析方法、装置及存储介质,为解决现有技术中人工故障库成本高、诊断精度低,异常特征库维护困难、特征有效性随时间推移变差,而基于波动影响力的计算只能针对单层次、传播性强的异常进行诊断分析的技术问题。
6.通过对异常的分类、对异常进行关联规则挖掘得到异常间的关联关系,由此对异常事件产生的原因进行定位,其中的聚类模型等可以实时进行维护避免特征失效,提升了对无传播性关系的异常的挖掘效果,达到了对异常事件产生的原因快速精准定位。
7.为达到上述目的,本技术的技术方案是这样实现的:
8.本技术实施例提供了一种异常分析方法,所述方法包括:
9.获取至少两种异常事件产生的异常数据序列;
10.使用预设聚类模型对所述异常数据序列进行分类,得到至少两个类别的异常序列;所述预设聚类模型用于对所述异常数据序列进行聚类处理的模型;
11.对所述至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;所述关联规则中的关联的前项和后项分别对应一种异常事件;
12.将所述至少一条关联规则进行关联,构建出异常关联关系;
13.根据所述异常关联关系,对当前异常事件产生的原因进行定位,得到异常分析结果。
14.在上述方案中,所述获取至少两种异常事件产生的异常数据序列之前,所述方法还包括:
15.获取所述异常事件产生的原始异常数据;
16.对所述原始异常数据进行向量化处理,得到异常数据向量;
17.对所述异常数据向量进行特征提取,得到所述异常数据序列。
18.在上述方案中,所述使用预设聚类模型对所述异常数据序列进行分类,得到至少
两个类别的异常序列之前,所述方法还包括:
19.获取训练数据样本;
20.采用所述训练数据样本,使用网格搜索和交叉验证的方法对初始聚类模型进行持续训练,直至输出的训练结果达到预设阈值时,得到所述预设聚类模型。
21.在上述方案中,所述对所述至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则,包括:
22.使用预设至少两种时间窗口,对所述至少两个类别的异常序列进行划分,得到至少一个异常项集;
23.利用预设关联规则模型,对所述至少一个异常项集进行频繁项集挖掘,得到满足预设条件的所述至少一条关联规则;所述预设关联规则模型用于从所述至少一个异常项集中得到频繁项集,进而得到至少一条关联规则。
24.在上述方案中,所述将所述至少一条关联规则进行关联,构建出异常关联关系,包括:
25.提取每一关联规则的关联的前项和后项;所述每一关联规则的前项和后项分别对应一种异常;
26.计算所述至少一条关联规则之间所有前项与后项之间的第一距离,并确定指向关系;
27.根据所述第一距离和对应的所述指向关系,构建所述异常关联关系。
28.在上述方案中,所述根据所述异常关联关系,对当前异常事件产生的原因进行定位,得到异常分析结果,包括:
29.将所述异常关联关系中的所述指向关系进行反向,得到反向异常关联关系;
30.使用排序算法对所述反向异常关联关系中的所有异常进行计算,得到根因值;
31.确定当前异常在所述反向异常关联关系中与其他异常的第二距离;
32.根据当前异常在所述反向异常关联关系中的位置、所述第二距离和所述根因值,定位当前异常事件产生的原因,得到异常分析结果。
33.在上述方案中,所述根据当前异常在所述反向异常关联关系中的位置、所述第二距离和所述根因值,定位当前异常事件产生的原因,得到异常分析结果,包括:
34.若当前异常的位置与所述其他异常的所述第二距离均为一个距离单位,则确定所述其他异常中所述根因值最高的异常为引起当前异常事件产生的原因,得到异常分析结果;
35.若当前异常与所述其他异常的所述第二距离均为一个距离单位且所述根因值均相等,则确定当前异常自身就是引起当前异常事件产生的原因,得到异常分析结果。
36.本技术实施例还提供了一种异常分析装置,所述装置包括:
37.获取单元,用于获取异常事件产生的异常数据序列;
38.分类单元,用于使用预设聚类模型对所述异常数据序列进行分类,得到至少两个类别的异常序列;所述预设聚类模型用于得到所述异常数据序列的异常类型;
39.挖倔单元,用于对所述至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;
40.关联单元,用于将所述至少一条关联规则进行关联,构建出异常关联关系;
41.异常定位单元,用于根据所述异常关联关系对所述异常事件产生的原因进行定位。
42.本技术实施例还提供了一种异常分析装置,所述装置包括处理器、存储器和通信总线;
43.所述通信总线用于实现处理器和存储器之间的通信连接;
44.所述处理器用于执行存储器中存储的异常分析控制程序,以实现上述异常分析方法中任一项的步骤。
45.本技术实施例还提供了一种存储介质,其上存储有异常分析程序,所述异常分析程序被处理器执行时实现上述任一项所述的异常分析方法。
46.本技术实施例所提供的一种异常分析方法、装置及存储介质,包括:获取异常事件产生的异常数据序列;使用预设聚类模型对异常数据序列进行分类,得到至少两个类别的异常序列;预设聚类模型用于得到异常数据序列的异常类型;对至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;将至少一条关联规则进行关联,构建出异常关联关系;根据异常关联关系对异常事件产生的原因进行定位。通过对异常的分类、对异常进行关联规则挖掘得到异常间的关联关系,其中的聚类模型等可以实时进行维护避免特征失效,通过对无传播性的异常之间的关联关系进行挖掘,实现对无传播性或传播性差的异常之间进行深度分析,提升了对无传播性的异常的挖掘效果,实现了对异常事件产生的原因进行快速准确定位,同时,本技术中通过构建异常聚类模型,可对海量异常进行自动打标签,基于关联规则构建异常关联关系,达到了更加高效精确定位异常事件产生的原因的技术效果。
附图说明
47.图1为本技术的实施例提供的一种异常分析方法的流程示意图一;
48.图2为本技术的实施例提供的一种异常分析方法的流程示意图二;
49.图3为本技术的实施例提供的一种异常分析方法的时序异常序列图;
50.图4为本技术的实施例提供的一种异常分析方法的流程示意图三;
51.图5为本技术的实施例提供的一种异常分析方法的基于关联规则的异常关联图一;
52.图6为本技术的实施例提供的一种异常分析方法的基于关联规则的异常关联图二;
53.图7为本技术的实施例提供的一种异常分析方法的基于关联规则的异常关联图三;
54.图8为本技术的实施例提供的一种异常分析方法的流程示意图四;
55.图9为本技术的实施例提供的一种异常分析方法的带默认根因值的异常关联图;
56.图10为本技术的实施例提供的一种异常分析方法的反向后的异常关联图;
57.图11为本技术的实施例提供的一种异常分析方法的带根因值的异常诊断关联图;
58.图12为本技术的实施例提供的一种异常分析方法的流程示意图五;
59.图13为本技术的实施例提供的一种异常分析方法的异常数据预处理流程示意图;
60.图14为本技术的实施例提供的一种异常分析方法的聚类模型训练流程示意图;
61.图15为本技术的实施例提供的一种异常分析方法的关联规则挖掘流程示意图;
62.图16为本技术的实施例提供的一种异常分析方法的根因挖掘流程示意图;
63.图17为本技术的实施例提供的一种异常分析装置结构示意图一;
64.图18为本技术的实施例提供的一种异常分析装置结构示意图二。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
66.如图1所示,本技术实施例提供一种异常分析方法,包括:
67.s101、获取至少两种异常事件产生的异常数据序列。
68.本技术实施例中的异常数据分析方法可以应用于计算机主机、移动终端、服务器,或者是其他专业用于检测分析的装置,能够对应用系统里发生的异常事件进行监控,而这些异常事件发生时产生的异常数据,包括错误调用(率),异常的响应时长、系统吞吐量等异常数据,其中,异常数据序列是经过处理后的,具有标准格式的向量数据,异常数据序列中包含由上述异常信息的数据。
69.s102、使用预设聚类模型对异常数据序列进行分类,得到至少两个类别的异常序列;预设聚类模型用于对异常数据序列进行聚类处理的模型。
70.本技术实施例中,预设聚类模型的作用是对异常数据序列进行分类,得到异常数据序列中存在的至少两个异常类别。
71.其中,聚类模型可以采用k-means算法(k-means clustering algorithm)模型,异常数据序列经过聚类模型分类,为每一个异常序列划分至少一个异常标签,异常标签为异常序列中存在的异常类别。经过聚类模型分类后得到的带异常标签的异常序列包含id(序号),timestamp(时间戳),anomaly(异常类型)等信息。
72.需要说明是,k-means算法模型是一种迭代求解的聚类分析算法,给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法再根据某个距离函数反复把数据分入k个聚类中。其中,预设聚类模型为经过优选的k-means算法模型,同时也可以在分类过程中对其进行参数的调整,实时进行维护和鞥更新避免特征失效。
73.s103、对至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;关联规则中的关联的前项和后项分别对应一种异常事件。
74.本技术实施例中,异常序列经过聚类模型分类得到的异常类,可能包括错误调用(率),异常的响应时长、系统吞吐量等多种异常情况,而关联规则用来表示两个以上异常事件的相互依存或相互关联的关系,其中,关联规则中的前项和后项分别对应一种异常事件,具体来说,可以是一种异常事件发生与另一种异常事件发生的相对概率,如a2异常在a1发生时发生的概率,可以用支持度和置信度来衡量这种关系。而通过对多个异常序列进行关联规则挖掘,实现对异常序列中存在的潜在传播关系的挖掘,提升了对无传播性关系的异常的挖掘效果,得到至少一条表征异常序列中异常间相互关系的关联规则。
75.其中,关联规则挖掘的步骤包括:在进行挖掘前需要先将原始异常数据整理成异常序列,然后根据该异常序列按时间窗口的得到异常项集;再挖掘出异常项集中的频繁项集,然后从频繁项集中产生规则,并根据各规则的置信度的阈值给出关联规则。
76.s104、将至少一条关联规则进行关联,构建出异常关联关系。
77.本技术实施例中,由于一条关联规则表示两个以上异常的相互依存或相互关联的关系,将多条关联规则进行关联,就是寻找多个异常间相互依存或相互关联的关系,也就是,寻找多个异常间影响彼此发生概率的关系,将所有的关联规则综合到一起,就得到了异常关联关系。其中,异常关联关系可以数据图表的方式呈现。
78.s105、根据异常关联关系,对当前异常事件产生的原因进行定位,得到异常分析结果。
79.本技术实施例中,异常关联关系为多个异常潜在存在的关联关系,确定了当前异常在异常关联关系中产生的位置,以及当前异常与其他异常的关系,即可对当前异常事件进行分析和定位,得到异常分析结果,需要说明的是,其中还要考虑彼此发生概率的关系,也就是置信度的问题,当然,对置信度的求解也可以转换为对其他值的求解。例如,a1异常的发生经常伴随a2或a3异常的发生,而a2或a3异常的发生,且发生概率极高,若当前发生a2、a3异常则可以确定a1为引起当前异常的原因。
80.本技术实施例中,通过获取异常事件产生的异常数据序列;使用预设聚类模型对异常数据序列进行分类,得到至少两个类别的异常序列;预设聚类模型用于得到异常数据序列的异常类型;对至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;将至少一条关联规则进行关联,构建出异常关联关系;根据异常关联关系对异常事件产生的原因进行定位。通过对异常的分类、对异常进行关联规则挖掘得到异常间的关联关系,由此对异常事件产生的原因进行定位,其中的聚类模型等可以实时进行维护避免特征失效,提升了对无传播性关系的异常的挖掘效果,同时达到了对异常事件产生的原因快速精准定位的技术效果。
81.在本技术的一些实施例中,步骤s101,还包括:
82.s106、获取异常事件产生的原始异常数据。
83.本技术实施例中的异常数据序列也可以是原始异常数据经过处理后得到的,其中,原始异常数据为系统里产生的异常数据,都是分析装置可以采集到的原始异常数据。然而,这些原始异常数据大多都是以字符、文本等形式存在,少量以数值形式存在,而本技术实施例中的异常数据分析方法需要以向量形式的数据为分析对象。因此,分析装置在得到这些原始异常数据之后,需要对其进行预处理得到可以用于分析的向量形式的异常数据序列。
84.s107、对原始异常数据进行向量化处理得到异常数据向量。
85.本技术实施例中,在对原始异常数据进行向量化处理之前,有时还需要对原始异常数据预处理的第一步就是对原始异常数据进行缺失值补缺。分析装置采集到的原始异常数据中,经常包含有空格、nans(notanumber,非数:数值数据类型的一类值,表示未定义或不可表示的值),或者是其他的占位符,而使用不完整的数据集时,需要采用的一个常见策略就是舍弃掉整行或整列包含缺失值的数据。但是这样就付出了舍弃可能有价值数据(即使是不完整的行或列中也包含了一些有价值的数据)的代价。处理缺失数值的一个更好的策略就是从已有的数据推断出缺失的数值,这里采用的方法是使用缺失值所在的当前时间点往前取6个非缺失值的平均值(mean)。
86.需要说明的是,有时还需要对原始异常数据进行标准化处理,数据标准化和归一
化处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。经过数据标准化处理后,各指标才能处于同一数量级,适合进行综合对比评价。在本技术实施例中,由于原始异常数据的类型不一,包括字符、文本、数值等多种类型,对原始异常数据进行缺失值处理得到完整异常数据后,需要再对其进行标准化处理,得到统一数值类型方可用于计算。常用的数据标准化方法例如min-max标准化(min-maxnormalization,也称0-1标准化),z-score标准化(z标准化)。
87.其中,对原始异常数据进行文本特征向量化处理,将标准异常数据转化成向量形式的异常数据向量,包括,通过featurehasher(一个高速的,低存储的向量化的类)特征抽取、onehotencoder(独热编码)等方法,得到的异常数据向量为一个多维向量。
88.s108、对异常数据向量进行特征提取,得到异常数据序列。
89.本技术实施例中,最终用于后续关联规则挖掘的异常数据序列为原始异常数据具有代表性的一些异常数据,通过从异常数据向量中选取对应的具有代表性的原始异常数据的特征,并减少特征维度,将多维形式的异常数据向量分解成n条序列,作为异常数据序列,参与模型训练。
90.需要说明的是,本技术实施例中进行特征选择采用了卡方特征选择的方法,卡方特征选择最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。具体做的时候常常先假设两个变量确实是独立的(先假设具有代表性)异常数据序列,然后观察实际值与理论值的偏差程度,如果偏差足够小,我们就认为误差是很自然的样本误差,此时就接受原假设;如果偏差大到一定程度,使得这样的误差不太可能是偶然产生或者测量不精确所致,我们就认为两者实际上是相关的,即否定原假设,而接受备择假设,从而使得后续参加异常分析的异常数据序列具有代表性。
91.在本技术的一些实施例中,在步骤s102之前,获取训练数据样本;采用训练数据样本,使用网格搜索和交叉验证的方法对初始聚类模型进行持续训练,直至输出的训练结果达到预设阈值时,得到预设聚类模型。
92.本技术实施例中,在正式使用k-means聚类模型进行分类之前,需要对聚类模型进行训练,以保证分类精度,训练数据样本可以是当前异常序列,也可以是历史异常序列。训练步骤包括:创建聚类模型;设定kmeans算法中计算距离的方法为squaredeuclidean(欧氏距离);设定初始参数,包括评价指标的选取、起止值、步长、起始k值等,本技术实施例中训练模型的评价指标选用silhouette(轮廓系数),最佳聚类模型对应的轮廓系数至少应该大于0.8;将异常数据序列代入初始聚类模型,通过gridsearch(网格搜索)的方法遍历查找出最佳k值,其中,利用计算距离的方法计算出的最小欧氏距离对应的k值最佳k值。找出最佳k值后,使用crossvalidation(交叉验证)的方法继续对聚类模型进行训练,直到训练出满足轮廓系数要求的最佳聚类模型作为预设聚类模型。
93.需要说明的是,轮廓系数是一种相似性度量,是簇的密集与分散程度的评价指标。轮廓系数的值再-1和1之间,该值越接近于1,簇越紧凑,聚类越好。当轮廓系数接近1时,簇内紧凑,并远离其他簇。如果轮廓系数接近1,则说明样本聚类合理;如果轮廓系数接近-1,则说明样本更应该分类到另外的簇;如果轮廓系数近似为0,则说明样本在两个簇的边界上。所有的样本的轮廓系数的均值称为聚类结果轮廓系数,是该聚类是否合理、有效的度
量。
94.其中,部分聚类模型训练代码如下:
95.pipeline pipeline=new pipeline()
96..setstages(new pipelinestage[]{kmeans});
[0097]
//创建k-means流管道
[0098]
parammap[]paramgrid=new paramgridbuilder()
[0099]
.addgrid(kmeans.k(),mlcommonutil.range(start:6,end:26,step:1))
[0100]
.build0;
[0101]
//设置步长
[0102]
crossvalidator cv=new crossvalidator()
[0103]
.setestimator(pipeline)
[0104]
.setevaluator(new clusteringevaluator().setmetricname("silhouette")
[0105]
.setdistancemeasure("squaredeuclidean"))
[0106]
.setestimatorparammaps(parangrid)
[0107]
.setnumfo1ds(3)
[0108]
.setparallelism(10);
[0109]
//选用参数,轮廓系数、欧氏距离
[0110]
crossvalidatormodel crossvalidatormodel=cv.fit(featurized);
[0111]
在本技术的一些实施例中,如图2所示,步骤s103还包括:
[0112]
s1031、使用预设至少两种时间窗口,对至少两个类别的异常序列进行划分,得到至少一个异常项集;
[0113]
本技术实施例中,如图3所示,如果假设异常序列s表示有多个有序的异常信息,表示为s=(s,st,et),s为序列,st为序列起始时间,et为序列终止时间,则异常序列s由多个有序的异常项a(t)组成(其中a为异常类监控项,t为异常发生的时间),异常序列s=(s,st,et)上的异常子项,可以表示成w=(w,st,et),st≤t《et,其中,t是发生异常的时间,w=et

st称为时间窗口。如果给定一个固定时间窗口w1,则可划分取得异常项集。关联挖掘过程中需对多种时间窗中的异常进行关联规则挖掘,避免单一时间窗造成跨时间的异常间的关联关系不被挖掘出来的情况。若假设使用两种时间窗w1、w2对异常序列s进行划分,则最终的异常项集可表示为as={(w1,st,et),(w2,st,et)}。
[0114]
假设有异常数据如表1,
[0115]
表1
[0116]
[0117][0118]
1)、设定异常划分时间窗口为1分钟单位,则对其划分取得异常项集部分如表2,
[0119]
表2
[0120][0121]
2)、设定异常划分时间窗口为5分钟单位,则对其划分取得异常项集部分如表3,
[0122]
表3
[0123][0124]
3)、合并上面两个时间窗口的异常项集,得到最终的异常项集如表4,
[0125]
表4
[0126]
序号异常子项集11,2,3,0,8,10,421,12,2,3,0,8354751,2,3,0,8,10,4,12
6577
[0127]
s1032、利用预设关联规则模型,对至少一个异常项集进行频繁项集挖掘,得到满足预设条件的至少一条关联规则;预设关联规则模型用于从至少一个异常项集中得到频繁项集,进而得到至少一条关联规则。
[0128]
本技术实施例中,进行关联挖掘的第二步是将得到的异常项集代入关联规则算法模型,进行挖掘,得到的至少一条异常项集间的关联规则。其中关联规则算法可采用fp-growth算法(由韩嘉炜等人提出的关联分析算法,它将提供频繁项集的数据库压缩到一棵频繁模式树,但仍保留项集关联信息),部分代码如下:
[0129]
[0130][0131]
在挖掘强关联规则时,往往会因为强关联规则的作用突出,而导致掩盖掉有利的次强关联规则被挖掘处理,所以挖掘出强关联规则时设定的最小支持度和最小置信度可适当的降低,用于过滤掉弱关联的规则,最小支持度和最小置信度亦可根据实际情况调整阈值。最终规则的有效性可通过置信度和提升度来判断,一般来说置信度越接近1越好;提升度大于1说明有正关联关系,小于说明反向关联关系,等于1则无关联关系。具体来说,本技术实施例在fp-growth算法模型中将最小支持度设置为0.2,最小置信度设置为0.5,基于上个步骤描述的实施方法,例如挖掘出关联规则a1

a2,表示a1异常事件产生之后a2异常事件也会产生,或,a2异常事件产生的原因为a1异常事件的产生。
[0132]
在本技术的一些实施例中,如图4所示,步骤s104还包括:
[0133]
s1041、提取每一关联规则的关联的前项和后项;每一关联规则的前项和后项分别对应一种异常;
[0134]
s1042、计算至少一条关联规则之间所有前项与后项之间的第一距离,并确定指向关系;
[0135]
s1043、根据第一距离和对应的指向关系,构建异常关联关系。
[0136]
本技术实施例中所指的异常关联关系为多个异常间相互依存或相互关联的关系,
异常关联关系可以数据图表的方式呈现,具体如异常关联表、异常关联图。基于挖掘出来的关联规则,提取满足预设条件的每一关联规则的前项和后项的单项项集,整理成如下的格式,其中,可以优选地将所有关联规则整理为具有共同后项的格式,如“[a],1.0”,其中a是异常类(具有唯一性),1.0是置信度。其中预设条件是指关联规则应该满足预设的置信度。
[0137]
具体来说,例如关联规则经提取得到如表5的异常关联表,
[0138]
表5
[0139]
[a1]

[a6]1.0[a2]

[a6]1.0[a5]

[a6]1.0[a1]

[a7]1.0[a2]

[a7]1.0[a3]

[a7]1.0[a7]

[a3]1.0[a2]

[a3]1.0[a5]

[a3]1.0[a1]

[a2]1.0[a2]

[a3]1.0[a3]

[a4]1.0[a4]

[a7]1.0[a7]

[a5]1.0[a7]

[a3]1.0[a2]

[a3]1.0[a5]

[a3]1.0[a1]

[a2]1.0[a2]

[a3]1.0[a3]

[a4]1.0[a4]

[a7]1.0
[0140]
其中前项和后项分别对应一种异常类型,其中,异常关联表和异常关联图可以互相转换,例如根据[a1]

[a6],1.0、[a2]

[a6],1.0、[a5]

[a6],1.0可知[a1]、[a2]、[a5]分别距离[a6]为“1”,或者第一距离为一个单位,其中,第一距离表明关联规则中项与项之间是否可到达,如果某前项和后项之间相隔有其他异常,则第一距离不为“1”,他们之间不可到达,表现在异常关联图上则如图5所示,再基于[a1]

[a7],1.0、[a2]

[a7],1.0、[a3]

[a7],1.0可生成如图6所示的关联图,依此类推,再根据其他挖掘出的异常关联规则,最终可以建立一个复杂的异常关联图谱,如图7所示。
[0141]
需要说明的是,异常关联图是以节点和边的形式构成,其中不同的节点表示关联规则中不同类型的异常,节点之间由边连接,由于关联规则是有指向的,因此边可能是有方向性,也有可能无方向性。
[0142]
在本技术的一些实施例中,如图8所示,步骤s105还包括:
[0143]
s1051、将异常关联关系中的指向关系进行反向,得到反向异常关联关系;
[0144]
本技术实施例中,若是以异常关联表的形式体现,对异常关联关系中的指向关系进行反向,就是将异常关联表中的前后项位置调换,例如[a1]

[a6],1.0反向为[a6]

[a1],1.0。在异常关联图中,就是将途中不同节点之间的边的方向反向。
[0145]
s1052、使用排序算法对反向异常关联关系中的所有异常进行计算,得到根因值;
[0146]
本技术实施例中,在对反向异常关联关系中的所有异常进行根因值计算之前,还需要设定各个异常(点)的初始默认值:一般如果存在a1

a2这样的关联规则,从历史信息中来看,说明a1异常的发生总会伴随着a2异常的发生,则可认为a1异常是a2异常的根因异常,如果时间窗内同时发生了a1、a2异常,那么可以快速定位a2的异常根因为a1,这种情况下a1的根因值应该是高于a2。但为了能够计算各个异常节点的根因值,可以先设定各个异常节点开始默认值为1.0,可以得到如图9所示的带默认根因值得异常关联图。
[0147]
然后再根据关联规则间的相互关系对异常关联图进行取反:由于异常关联图中的指向关系是根据关联规则间的相互关系绘制出的,寻找根因的过程中是一个反向的过程,因此需要对异常关联图进行取反,取反后的反向异常关联图如图10所示。
[0148]
s1053、确定当前异常在反向异常关联关系中与其他异常的第二距离;
[0149]
s1054、根据当前异常在反向异常关联关系中的位置、第二距离和根因值,定位当前异常事件产生的原因,得到异常分析结果。
[0150]
本技术实施例中,当前异常在反向异常关联关系中与其他异常的第二距离只是一个参考值,例如一个单位,相隔一个异常或节点,异常关联表与异常关联图的计算方式相同,用来判断当前异常与其他异常是否有公共异常(节点)或同时可达的异常(节点)。
[0151]
需要说明的是,使用排序算法对取反后的异常关联图进行根因值计算并生成诊断模型:本技术实施例中使用pagerank(网页排名,是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一)排序算法进行根因值计算,pagerank提出的链接分析算法,通过分析所有网页的入链,入链更多和入链质量越高的网页重要性越高,如同一篇论文,被引用次数越多,说明该论文越重要;被越重要的论文引用,说明该论文越重要。而这里要找的根因恰好相反,是找出度更多和出度质量更好的节点。因此要对原始关联图的所有边的方向进行反转,再运用pagerank计算根因值。经过pagerank算法进行根因计算后最终后形成的诊断模型如图11所示,即,带根因值得异常诊断关联图,由此诊断模型即可高效的进行异常根因分析,快速定位异常。
[0152]
其中,根据异常关联关系对异常事件产生的原因进行定位,首先需要确定所述异常所处的位置及所述异常的根因值,再查找上述异常与诊断模型中其他异常的位置可达的异常,以及上述异常、诊断模型中位置可达的异常的根因值。例如,一个时间窗内发生了a6、a7异常,分析装置先确认a6、a7异常在诊断模型中所处的位置(上述位置可以是相对位置),如果a6、a7异常均可以到达a5,且a5的根因值均高于a6、a7的根因值,则确定a5为引起a6、a7异常的根本原因。
[0153]
在本技术的一些实施例中,若当前异常的位置与其他异常的位置的第二距离最近均为一个距离单位,则确定其他异常中根因值最高的异常为引起当前异常事件产生的原因,得到异常分析结果;若当前异常与其他异常的所述第二距离均为一个距离单位且所述根因值均相等,则确定当前异常自身就是引起当前异常事件产生的原因,得到异常分析结果。
[0154]
本技术实施例中,确定引起异常事件产生的原因的方法具体包括:确认时间窗内,已经发生的当前异常节点之间是否同时存在可达节点,确认当前异常在异常诊断关联图或异常诊断模型中的位置,其中,第二距离为“1”或第二距离为一个距离单位,则说明可到达,如果存在可达节点,则找到可达最短路径中的所有节点,取根因值最高的节点作为这些节点的根因异常(根因值最高,其中可能包含多个根因的情况):例如,如图11所示,例如一个时间窗内发生了a1、a2异常,则即可推断a5是根因异常;如果发生了a6、a7异常,可推荐根因异常a5,检查是否a5异常发生。
[0155]
如果已经发生的异常节点和其他时间窗内节点不可达,则推荐相邻最高根因值节点为根因异常:例如,时间窗内发生a3、a4、a7异常,则a4是根因异常。
[0156]
如果前两种情况都没有找到最高根因值的节点(即所有的节点根因值都相等),则异常节点本身就是根因异常。
[0157]
如图12所示,本技术实施例还提供了一种异常分析方法,包括以下步骤:
[0158]
1)如图13所示,数据预处理包括:
[0159]
a、缺失值处理:检测分析的装置对原始异常数据预处理的第一步就是对原始异常数据进行缺失值补缺。将原始数据进行缺失值补缺,数据中含有空格、nans,或者是其他的占位符,使用不完整的数据集的一个基本策略就是舍弃掉整行或整列包含缺失值的数据。但是这样就付出了舍弃可能有价值数据(即使是不完整的)的代价。处理缺失数值的一个更好的策略就是从已有的数据推断出缺失的数值。这里采用的方法是使用缺失值所在的当前时间点往前取6个非缺失值的平均值。
[0160]
b、归一化:数据标准化和归一化处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。
[0161]
c、文本向量化:文本特征向量化是对异常信息中的文本特征进行向量化处理(通过featurehasher特征抽取、onehotencoder等方法)。
[0162]
d、特征选择:特征选择是从样本特征中选取具有代表性的特征,减少特征维度参与模型训练。这里选择用卡方特征选择的方法进行特征选择,最终得到用于训练的异常序列。
[0163]
2)、异常关联挖掘:
[0164]
a、异常分类:对异常序列的分类标记需要用到聚类模型,其中,聚类模型训练流程如图14所示,包括:
[0165]
聚类模型选择用k-means算法模型,k-means一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点对常数据进行聚类;
[0166]
设定kmeans算法中计算距离的方法选择squaredeuclidean(欧氏距离);
[0167]
通过gridsearch(网格搜索)的方法遍历查找出最佳k值;
[0168]
训练过程用crossvalidation(交叉验证)的方法进行训练;
[0169]
训练模型的评价指标选用silhouette(轮廓系数),从训练中选择最佳轮廓系数的模型,至少应该大于0.8。
[0170]
b、关联挖掘的过程如图15所示,包括:
[0171]
通过异常聚类处理,把异常序列聚成k类异常数据;
[0172]
对原始异常类数据按时序顺序排序,并按k类进行打标签,并设定固定时间窗;
[0173]
基于时间窗的设定,划分得出异常项集;
[0174]
建立fp-growth算法模型,并设定好最小支持度0.2,最小置信度0.5(用于过滤掉弱关联的规则,可根据实际情况调整阈值;
[0175]
训练模型生成强异常关联规则;
[0176]
获取满足置信度和提升度要求的关联规则。
[0177]
c、关联图构建:基于关联规则挖掘出的异常类关联规则,提取满足置信度和提升度的前项和后向的单项项集,基于这些项集把异常的关联关系用图表示出来,就构成了一张关联图谱。
[0178]
3)、根因挖掘的过程如图16所示,包括:
[0179]
根据异常关联规则,提取满足置信度和提升度条件的项集,基于项集构建异常关联图谱,对关联图取反向图,使用pagerank算法对反向关联图进行根因值计算,最终形成根因诊断图,也就是根因诊断模型,再找出某时间窗口发生异常,根据根因诊断图,在异常在诊断图中根因查询,定位引起当前异常发生的根因异常。
[0180]
如图17所示,本技术实施例提供了一种异常分析装置2,包括:
[0181]
获取单元201,用于获取至少两种异常事件产生的异常数据序列;
[0182]
分类单元202,用于使用预设聚类模型对异常数据序列进行分类,得到至少两个类别的异常序列;预设聚类模型用于对异常数据序列进行聚类处理的模型;
[0183]
挖掘单元203,用于对至少两个类别的异常序列进行关联挖掘,得到至少一条关联规则;所述关联规则中的关联的前项和后项分别对应一种异常;
[0184]
关联单元204,用于将至少一条关联规则进行关联,构建出异常关联关系;
[0185]
异常定位单元205,用于根据异常关联关系,对当前异常事件产生的原因进行定位,得到异常分析结果。
[0186]
在本技术的一些实施例中,异常分析装置2还包括:
[0187]
获取单元201还用于获取异常事件产生的原始异常数据;
[0188]
分类单元202还用于对原始异常数据进行向量化处理得到异常数据向量;
[0189]
分类单元202还用于对异常数据向量进行特征提取,得到异常数据序列。
[0190]
在本技术的一些实施例中,异常分析装置2还包括:
[0191]
获取单元201还用于获取训练数据样本;
[0192]
分类单元202还用于采用训练数据样本,使用网格搜索和交叉验证的方法对初始聚类模型进行持续训练,直至输出的训练结果达到预设阈值时,得到预设聚类模型。
[0193]
在本技术的一些实施例中,异常分析装置2还包括:
[0194]
挖掘单元203还用于使用预设至少两种时间窗口,对至少两个类别的异常序列进行划分,得到至少一个异常项集;
[0195]
挖掘单元203还用于,利用预设关联规则模型,对至少一个异常项集进行频繁项集挖掘,得到满足预设条件的至少一条关联规则;预设关联规则模型用于从至少一个异常项集中得到频繁项集,进而得到至少一条关联规则。
[0196]
在本技术的一些实施例中,异常分析装置2还包括:
[0197]
关联单元204还用于提取每一关联规则的关联的前项和后项;
[0198]
关联单元204还用于计算至少一条关联规则之间所有前项与后项之间的第一距离,并确定指向关系;
[0199]
关联单元204还用于根据第一距离和对应的指向关系构建异常关联关系。
[0200]
在本技术的一些实施例中,异常分析装置2还包括:
[0201]
异常定位单元205还用于将异常关联关系中的指向关系进行反向得到反向异常关联关系;
[0202]
异常定位单元205还用于使用排序算法对反向异常关联关系中的所有异常进行计算得到根因值;
[0203]
异常定位单元205还用于确定当前异常在反向异常关联关系中与其他异常的第二距离;
[0204]
异常定位单元205还用于根据当前异常在反向异常关联关系中的位置、第二距离和根因值,定位当前异常事件产生的原因,得到异常分析结果。
[0205]
在本技术的一些实施例中,异常分析装置2还包括:
[0206]
若当前异常的位置与其他异常的第二距离均为一个距离单位,则异常定位单元205还用于确定根因值最高的异常为引起当前异常事件产生的原因得到异常分析结果;
[0207]
若当前异常与其他异常的所述第二距离均为一个距离单位且所述根因值均相等,则异常定位单元205还用于确定当前异常自身就是引起当前异常事件产生的原因,得到异常分析结果。
[0208]
如图18所示,本技术实施例提供了一种管理设备3,包括处理器301、存储器302和通信总线303;
[0209]
通信总线303用于实现处理器301和存储器302之间的通信连接;
[0210]
处理器301用于执行存储器中存储的异常分析程序,以实现上述任一项的异常分析方法。
[0211]
在本技术的实施例中,上述处理器301可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器301功能的电子器件还可以为其它,本技术实施例不作限定。该异常分析装置还包括存储器302,该存储器302可以与处理器301连接。其中,存储器302可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
[0212]
在实际应用中,上述存储器302可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器301提供指令和数据。
[0213]
另外,在本技术实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既
可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0214]
其中,集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本技术实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0215]
因此,本技术实施例还提供了一种计算机可读存储介质,其上存储有漏洞扫描程序,该计算机程序被一个或者多个第一处理器执行时实现管理设备侧的漏洞扫描方法。
[0216]
本技术实施例还提供了一种计算机可读存储介质,其上存储有漏洞扫描程序,该计算机程序被一个或者多个第二处理器执行时实现节点侧的漏洞扫描方法。
[0217]
计算机可读存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
[0218]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0219]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0220]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0221]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0222]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范
围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献