一种异常检测的方法及装置与流程

文档序号:30701234发布日期:2022-07-09 19:51阅读:131来源:国知局
一种异常检测的方法及装置与流程

1.本说明书涉及人工智能领域,尤其涉及一种异常检测的方法及装置。


背景技术:

2.近年来,随着人工智能技术的发展,智能化运维(artificial intelligence for it operations,aiops)技术逐渐应用到工业、通信、科研等诸多领域,以通过数据挖掘或深度学习等方法,来对诸如系统或者服务等运维对象产生的数据进行智能化异常检测,从而及时发现可能出现的异常。
3.然而目前通常采用的异常检测方法只能检测到检测数据中突变较为明显的异常,对于一些不明显的异常往往检测精度较低,而且,在诸如工业领域的实际生产环境中,采集到的检测数据通常没有固定的规律,这就导致目前的方法在面对这些没有周期性变化规律的检测数据时,无法准确的判断出发生的异常,甚至发生误判。
4.因此,如何提高异常检测的精度以及准确性,是一个亟待解决的问题。


技术实现要素:

5.本说明书提供一种异常检测的方法及装置,以部分的解决现有技术存在的上述问题。
6.本说明书采用下述技术方案:本说明书提供了一种异常检测的方法,包括:获取目标对象的各历史数据;根据各历史数据生成时间的先后顺序,构建历史数据序列;在预先构建的检测库中,确定出与所述历史数据序列相匹配的标准数据序列,以及所述标准数据序列对应的目标异常检测算法,并将所述目标异常检测算法作为所述目标对象对应的异常检测算法;将所述目标对象与所述目标异常检测算法之间的对应关系进行保存,以利用所述目标异常检测算法对所述目标对象的实时数据进行异常检测。
7.可选地,所述根据各历史数据生成时间的先后顺序,构建历史数据序列,具体包括:根据预设采样频率,在所述各历史数据中进行采样,得到目标数据;根据各目标数据生成时间的先后顺序,构建历史数据序列。
8.可选地,所述根据预设采样频率,在所述各历史数据中进行采样,具体包括:若在采样过程中,确定所述各历史数据中不包含有需要采样的指定时刻对应的数据,则根据所述各历史数据中在时序上与所述指定时刻相邻的时刻对应的数据,预测出所述指定时刻对应的数据;获取补全数据后的各历史数据;根据预设采样频率,对所述补全数据后的各历史数据进行采样。
9.可选地,所述根据预设采样频率,在所述各历史数据中进行采样,具体包括:若确定所述历史数据的数量大于预设数量,降低所述预设采样频率,并根据降低后的采样频率,在所述各历史数据中进行采样。
10.可选地,所述获取目标对象的各历史数据之前,所述方法还包括:获取各标准数据序列;针对每个标准数据序列,通过确定出的该标准数据序列对应的各候选异常检测算法,对该标准数据序列进行异常检测;针对每个候选异常检测算法,获取使用该候选异常检测算法从该标准数据序列检测出的第一异常数据,与该标准数据序列中实际出现的第二异常数据;将所述第一异常数据与所述第二异常数据之间的匹配度,作为该候选异常检测算法对应的匹配度;根据每个候选异常检测算法对应的匹配度,确定该标准数据序列相匹配的目标异常检测算法;根据每个标准数据序列相匹配的目标异常检测算法,构建检测库。
11.可选地,所述获取各标准数据序列,具体包括:获取各候选历史数据序列;对所述各候选历史数据序列进行去重处理,得到各标准数据序列。
12.可选地,所述获取各标准数据序列之后,所述方法还包括:根据该标准数据序列中数据的分布规律,确定该标准数据序列的序列类型;根据所述序列类型,确定适用于该标准数据序列的各候选异常检测算法。
13.本说明书提供了一种异常检测的装置,包括:获取模块,获取目标对象的历史数据;构建模块,根据各历史数据生成时间的先后顺序,构建历史数据序列;确定模块,在预先构建的检测库中,确定出与所述历史数据序列相匹配的标准数据序列,以及所述标准数据序列对应的目标异常检测算法,并将所述目标异常检测算法作为所述目标对象对应的异常检测算法;检测模块,将所述目标对象与所述目标异常检测算法之间的对应关系进行保存,以利用所述目标异常检测算法对所述目标对象的实时数据进行异常检测。
14.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述异常检测的方法。
15.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述异常检测的方法。
16.本说明书采用的上述至少一个技术方案能够达到以下有益效果:在本说明书提供的异常检测方法中,能够获取目标对象的历史数据,并根据该历史数据,构建历史数据序列,从而在预先构建的检测库中,确定出与历史数据序列相匹配的标准数据序列,以及该标准数据序列对应的目标异常检测算法,进而根据保存的目标对象与目标异常检测算法之间的对应关系,对目标对象的实时数据进行异常检测。
17.从上述方法可以看出,本说明书能够根据目标对象的历史数据生成的历史数据序列,直接在检测库中直接查找到与其相配的异常检测算法,而后便可以直接根据该异常检
测算法对其进行异常检测,相比于现有方案对所有形式的历史数据序列都采用相同的异常检测算法的方式,本方案能够找到适合于目标对象的异常检测算法,极大的提高了异常检测的精度以及异常检测的准确性。
附图说明
18.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:图1为本说明书中提供的一种异常检测的方法的流程示意图;图2为本说明书提供的一种历史数据序列曲线图;图3为本说明书提供的一种历史数据序列曲线图;图4为本说明书提供的一种历史数据序列曲线图;图5为本说明书提供的一种历史数据序列曲线图;图6为本说明书提供的一种历史数据序列曲线图;图7为本说明书提供的一种历史数据序列曲线图;图8为本说明书提供的一种历史数据序列曲线图;图9为本说明书提供的一种异常检测的装置的示意图;图10为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
19.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
20.以下结合附图,详细说明本说明书各实施例提供的技术方案。
21.图1为本说明书中提供的一种异常检测的方法的流程示意图,包括以下步骤:s101:获取目标对象的各历史数据。
22.在对诸如服务器、网络系统、网站、数据库等运维对象的运维的过程中,通常需要对这些运维对象进行异常检测,从而发现这些运维对象在实际运行过程中发生的异常情况,并根据这些异常情况对运维对象进行故障分析,找到运维对象可能发生的故障,进而对这些故障进行处理,以保证运维对象的正常运行。
23.而在异常检测的过程中,这些运维对象即可以作为异常检测的目标对象,通常情况下,需要根据这些目标对象对应的数据(即目标对象在实际运行过程中产生的一系列数据指标,例如,当目标对象为网络系统时,对应需要检测的数据则可以为网络延迟、数据吞吐量、带宽利用率、处理器及内存占用量等),来对目标对象进行异常检测。
24.在目标对象实际运行的过程中,目标对象运行异常时产生的数据以及与其他数据有明显差异的数据,都可以认为是异常数据。
25.基于此,为了精准的检测到目标对象产生的异常数据,从而保证目标对象的正常运行,本说明书提供了一种异常检测的方法。其中,需要获取目标对象的历史数据,该目标
对象可以为服务器、网络系统、网站、数据库等,当然,也可以为其他目标对象,如,线程、处理器等,本说明书对此不作具体限定。
26.相应的,目标对象对应的历史数据则可以为能够反应出该目标对象各个功能或者模块是否运行正常的数据指标,该数据指标可以为网络延迟、数据吞吐量、带宽利用率、处理器占用量及内存占用量等,当然,该数据也可以为其他类型的数据指标,本说明书对此也不做具体限定。
27.此外,由于目标对象在实际运行的过程中可能会产生较多的数据,所以在实际应用中,服务器也可以不通过目标对象产生的所有历史数据进行异常检测,因此,服务器可以采集目标对象在预设时间内产生的历史数据,其中,该预设时间可以根据实际情况进行设定,本说明书对此不做具体限定。
28.在本说明书中,用于实现异常检测的方法的执行主体,可以指服务器等设置于业务平台的指定设备,为了便于描述,本说明书仅以服务器是执行主体为例,对本说明书提供的一种异常检测的方法进行说明。
29.s102:根据各历史数据生成时间的先后顺序,构建历史数据序列。
30.获取到目标对象的历史数据之后,服务器可以先对这些历史数据进行预处理,从而通过预处理后的历史数据,构建出相应的历史数据序列。
31.具体的,服务器可以先根据预设的采样频率,来对上述历史数据进行采样,从而在上述历史数据中采集每个需要采样的指定时刻对应的历史数据,作为目标数据。例如,当采样频率为1分钟/次的时候,说明每1分钟会对上述历史数据进行一次采样,假设历史数据时从10:00开始生成的,则需要采样的指定时刻对应的目标数据则可以是10:01、10:02、10:03
……
对应的历史数据。其中,该预设采样频率可以根据实际情况设定,本说明书对此不作具体限定。
32.在目标对象实际运行的过程中,可能会由于一些目标对象内部或者外部原因(如某一时刻目标对象被重启或者关闭),导致该时刻没有产生相应的历史数据,那么在对历史数据进行采样的过程中,如果需要采样的指定时刻恰好没有产生历史数据,则可以确定历史数据中不包含有该需要采样的指定时刻对应的数据。因此,为了保证最终构建的历史数据序列的完整性,服务器可以对历史数据进行补全。
33.具体的,服务器可以根据历史数据中与该指定时刻在时序上相邻的时刻对应的数据,预测出在历史数据中指定时刻对应的数据,从而获取补全数据后的各历史数据,而后根据预设采样频率,对该补全数据后的各历史数据进行采样。
34.例如,服务器可以将该指定时刻的上一指定时刻对应的历史数据,作为该指定时刻对应的历史数据,从而对该历史数据进行采样。还以上述指定时刻为例,如果在10:03没有采集到相应的目标数据,则可以将目标对象在10:02生成的历史数据,作为10:03对应的历史数据,而如果目标对象在10:02也没有生成对应的历史数据,则可以将10:01产生的历史数据,作为10:03以及10:02对应的历史数据。
35.此外,服务器还可以基于指定时刻相邻的时刻对应的数据,确定出在历史数据中指定时刻对应的数据,例如,将相邻指定时刻对应历史数据的均值(即上一指定时刻与下一指定时刻对应历史数据的均值),作为该指定时刻对应的历史数据。
36.当然,还可以通过其他方法来对历史数据进行补齐,本说明书对此不作具体限定。
37.而后服务器可以通过上述各个指定时刻的目标数据,构建出带有时间戳的历史数据序列。
38.进一步的,服务器还可以根据该历史数据序列,构建出该历史数据序列对应的数据曲线图,从而准确的确定出各目标数据的分布规律以及变化趋势,进而准确的检测出其中的异常数据。
39.在目标对象实际运行的过程中,有一些类型的历史数据(如网络延迟)的生成的频率较快,这样的频率下生成的历史数据的数量会非常多,如果按照上述预设的采样频率进行采样的话,生成的历史数据序列的数据密度也会较大,导致历史数据序列构建的过程以及异常检测的过程需要消耗大浪的时间并占用较多的系统资源。
40.因此,服务器可以先确定历史数据的数量是否大于预设数量,如果大于该预设数量,则可以降低预设采样频率,并得到降低后的采样频率,例如,之前的预设采样频率为1分钟/次,则可以将该预设采样频率调整为5分钟/次,这样就能在保证历史数据序列中数据的整体的分布趋势以及分布规律的前提下,减少采集到的历史数据,从而提高异常检测效率。其中,上述预设数量可以根据实际情况进行设定,本说明书对此不作具体限定。
41.而后服务器可以根据该降低后的采样频率,在历史数据中采集到对应的目标数据。
42.在本说明书中,服务器可以先对历史数据进行补齐,而后再确定历史数据的数量是否大于预设数量,以降低预设采样频率,从而根据降低后的采样频率进行采样。
43.当然,服务器也可以先确定历史数据的数量是否大于预设数量,确定大于预设数量后降低预设采样频率,而后再确定降低后的采样频率下各指定时刻是否有对应的历史数据,以对该调整后的采样频率下指定时刻的对应的历史数据进行补齐。
44.此外,当服务器确定出历史数据的数量小于预设数量时,生成的历史数据序列中的数据密度较低,这样就无法保证历史数据序列中数据的整体的分布趋势以及分布规律的准确性,因此,服务器此时可以提高上述预设采样频率,以采集到更多的目标数据。
45.s103:在预先构建的检测库中,确定出与所述历史数据序列相匹配的标准数据序列,以及所述标准数据序列对应的目标异常检测算法,并将所述目标异常检测算法作为所述目标对象对应的异常检测算法。
46.服务器构建历史数据序列后,可以在预先构建的检测库中,确定出与该历史数据序列相匹配的标准数据序列,以及该标准数据序列对应的目标异常检测算法。
47.具体的,服务器可以在已经包含有不同的标准数据序列与各目标异常检测算法之间的对应关系的检测库中,确定出与该历史数据序列相匹配的标准数据序列,进而确定出该标准数据序列对应的目标异常检测算法,作为该历史数据序列对应的目标异常检测算法。
48.例如,服务器可以通过计算历史数据序列与各标准数据序列之间的动态时间规整 (dynamic time warping,dtw)值的方式,来确定各标准数据序列与该历史数据序列之间的相似度,dtw值越大,该相似度越小,dtw值越小,则该相似度越大,从而选择出与该历史数据序列相似度最大的标准数据序列,作为与该历史数据序列相匹配的标准数据序列。
49.此外,该检测库中也可以含有不同的标准数据序列曲线图与不同标准数据序列对应的目标异常检测算法之间的对应关系,这样一来,服务器就可以通过检测库匹配出与该
历史数据序列曲线图相似度最高的标准数据序列曲线图,进而确定出该标准数据序列曲线图对应标准数据序列的目标异常检测算法,作为该历史数据序列对应的目标异常检测算法。
50.服务器在使用上述检测库之前,还需要事先对该检测库进行构建,在对检测库进行构建的过程中,服务器可以先获取候选历史数据序列,这些候选历史数据序列可以是实际采集到的不同的目标对象对应的不同种类的历史数据的历史数据序列,其中,这些历史数据序列中已经对确定出相应的异常数据,并对这些异常数据进行了标注。
51.获取到这些候选历史数据序列之后,服务器可以对这些候选历史数据序列进行筛选,对于每个候选历史数据序列,若服务器确定该候选历史数据序列与任意一个其他候选历史数据序列之间的相似度大于预设相似度,则可以删除该候选历史数据序列,从而只保留下不重复或者不相似的候选历史数据序列,并将这些未删除的候选历史数据序列,作为标准数据序列,以完成对各候选历史数据序列的去重处理。
52.而后服务器可以确定出该标准数据序列对应的各候选异常检测算法,其中,服务器可以根据该标准数据序列中数据的分布规律或者变化趋势,确定该标准数据序列的序列类型(如有周期性变化规律的序列类型、没有周期性变化规律的序列类型等),并将该序列类型对应的各异常检测算法,作为该标准数据序列对应的各候选异常检测算法。
53.其中,上述异常检测算法可以有多种,如分类算法(k-nearest neighbor-cad,knn-cad)、上下文异常点探测(contextual anomaly detector)异常检测算法、skyline异常检测算法、相对熵(relative entropy)异常检测算法、预期相似性估计(expected similarityestimation)异常检测算法、窗口高斯分布(windowed gaussian)异常检测算法、贝叶斯变点检测(bayesian changed point)异常检测算法等,这些不同的异常检测算法对不同的历史数据序列的检测精度也会有所不同,下面将以图2~图8中所示的历史数据序列曲线图为例,对不同类型的历史数据序列以及相应的异常检测算法进行举例说明。其中,图2~图8中被圆圈圈出的位置即为历史数据序列中出现的异常数据。
54.图2为本说明书提供的一种历史数据序列曲线图。
55.通过图2中所示的历史数据序列曲线图可以看出,该类型的历史数据序列中的数据分布方式服从正态分布,而且异常数据在曲线图中体现为较为明显的尖刺点(即圈出的曲线对应的数据),这些尖刺点处的异常数据即为出现概率较低的异常数据。
56.而skyline异常检测算法恰恰能够对历史数据序列进行全局分析,从而找到出现概率最小的历史数据,通常情况下,skyline异常检测算法中还包含有其他多种突变异常检测算法,通过这些突变异常检测算法对检测到的每一个数据进行投票,从而确定出该数据是否为异常数据(如当检测出该数据为异常数据的突变异常检测算法数量高于检测出该数据为正常数据的突变异常检测算法数量时,该数据为异常数据)。因此对于上述类型的历史数据序列,skyline异常检测算法具有较高的异常检测精度。
57.图3为本说明书提供的一种历史数据序列曲线图。
58.通过图3中所示的历史数据序列曲线图可以看出,该类型的历史数据序列曲线图存在比较明显的变化趋势,而且曲线图局部的幅值的波动较为明显,数据没有周期性的变化规律,这种类型的历史数据序列中出现的异常数据通常为全局的极大值与及小值。而skyline异常检测算法对于这种类型的历史数据序列中出现的异常数据,也具有较高的检
测精度。
59.图4为本说明书提供的一种历史数据序列曲线图。
60.通过图4中所示的历史数据序列曲线图可以看出,该类型的历史数据序列具有重复的周期性规律,且异常数据出现在局部的某个周期中,该异常数据可能为该周期中的极大值或者极小值,也可能为极大值或极小值中间的某个值。
61.而relative entropy异常检测算法在异常检测得过程中,会划分出各固定时序片段对应的历史数据序列片段,从而比较不同的历史数据序列片段,以根据不同的历史数据序列片段的幅值之间的差异,确定出出现在局部的某个周期中的异常数据。因此,对于该类型历史数据序列中出现的异常数据,relative entropy异常检测算法具有较高的检测精度。
62.图5为本说明书提供的一种历史数据序列曲线图。
63.通过图5中所示的历史数据序列曲线图可以看出,该类型的历史数据序列虽然没有重复的周期性规律,但是异常数据也出现在局部的某个周期中(即该异常数据为某个周期中的极大值或者极小值,或极大值或极小值中间的某个值)。因此,对于该类型历史数据序列中出现得异常数据,relative entropy异常检测算法也具有较高的检测精度。
64.图6为本说明书提供的一种历史数据序列曲线图。
65.通过图6中所示的历史数据序列曲线图可以看出,该类型的历史数据序列也具有一定得周期性规律,但是与图4中的历史数据序列不同的是,该历史数据序列中的异常数据主要表现为曲线图中出现的异常凸起,对于每一个周期对应的曲线片段而言,异常数据对应的曲线片段中曲线之间的距离要明显不同于正常历史数据对应的曲线片段。
66.而knn cad异常检测算法在进行异常检测时,会选取各固定时序片段中的历史数据序列片段,从而比较不同的历史数据序列片段,以根据不同的历史数据序列片段之间距离的差异确定出出现在局部的某个周期中的异常数据,因此,knn cad异常检测算法对该类型的历史数据序列具有较高的检测精度。
67.图7为本说明书提供的一种历史数据序列曲线图。
68.通过图7中所示的历史数据序列曲线图可以看出,该类型的历史数据序列与图6类似,都具有一定得周期性规律,但是不同的是,该类型的历史数据序列中出现的异常数据主要表现为历史数据序列曲线图中局部的幅值(即局部的一个或多个周期中出现的极值)。
69.而window gaussian异常检测算法在异常检测的过程中,恰恰能够检测出具有重复的周期行规律的历史数据序列中局部的幅值,因此,对于该类型的历史数据序列,window gaussian异常检测算法具有较高的检测精度。
70.图8为本说明书提供的一种历史数据序列曲线图。
71.通过图8中所示的历史数据序列曲线图可以看出,该类型的历史数据序列中出现的历史数据序列重要表现为曲线图中整体性的偏移,而对于这种类型的历史数据序列,bayes change point异常检测算法具有较高的检测精度。
72.以上仅是对几个具有代表性的异常检测算法进行说明,当然,还可以包含其他类型的异常检测算法,本说明书在此不做一一列举。
73.而后服务器可以对每一个标准数据序列,都通过上述各种候选异常检测算法来对其进行异常检测,从而确定出各候选异常检测算法检测到的第一异常数据,与该标准数据
序列中实际出现的第二异常数据,并将第一异常数据以第二异常数据之间的匹配度,作为各候选异常检测算法对应的匹配度。
74.其中,该匹配度可以包含有多个计算维度,例如,该匹配度可以为各候选异常检测算法检测到的第一异常数据的数量,与该标准数据序列中实际出现的第二异常数据的数量之间的数量偏差,该数量偏差越小,匹配度越大,该数量偏差越大,匹配度越小。
75.再例如,该匹配度可以为各候选异常检测算法检测到的各第一异常数据,与该标准数据序列中实际出现的各第二异常数据之间的数据偏差(如第一异常数据与第二异常数据为不同的数据,则这些不同数据之间的偏差即为数据偏差),该数据偏差越小,匹配度越大,该数据偏差越大,匹配度越小。
76.服务器可以根据该匹配度,确定标准数据序列对应的目标异常检测算法,例如,服务器可以将与该标准数据序列匹配度最高的候选异常检测算法,作为该标准数据序列对应的目标异常检测算法。
77.而后服务器对各标准数据序列与各目标异常检测算法之间的对应关系进行保存,从而根据该对应关系,构建包含有各标准序列和各标准序列对应的目标异常检测算法的检测库。
78.s104:将所述目标对象与所述目标异常检测算法之间的对应关系进行保存,以利用所述目标异常检测算法对所述目标对象的实时数据进行异常检测。
79.在确定出上述历史数据序列对应的目标异常检测算法之后,服务器可以通过该目标异常检测算法,来对目标对象进行异常检测,从而根据检测到的异常数据,进行故障分析,进而对分析出的故障进行处理,以保证目标对象的正常运行。
80.在本说明书中,服务器可以获取该目标对象的实时数据,从而根据之前预先保存的该目标对象对应的目标异常检测算法,对该实时数据进行异常检测,从而判断出该实时数据是否为异常数据。
81.当然,服务器可以根据目标对象的历史数据构建的历史数据序列,对目标对象的历史数据进行异常检测,从而确定出其在历史运行过程中出现的异常数据,进而找到相应的故障。
82.从上述方法可以看出,本说明书能够根据目标对象的历史数据生成的历史数据序列,直接在检测库中直接查找到与其相配的异常检测算法,而后便可以直接根据该异常检测算法对其进行异常检测,相比于现有方案对所有形式的历史数据序列都采用相同的异常检测算法的方式,本方案能够找到适合于目标对象的异常检测算法,极大的提高了异常检测的精度以及异常检测的准确性。
83.以上为本说明书的一个或多个实施异常检测的方法,基于同样的思路,本说明书还提供了相应的异常检测的装置,如图9所示。
84.图9为本说明书提供的一种异常检测的装置的示意图,包括:获取模块901,获取目标对象的各历史数据;构建模块902,根据各历史数据生成时间的先后顺序,构建历史数据序列;确定模块903,在预先构建的检测库中,确定出与所述历史数据序列相匹配的标准数据序列,以及所述标准数据序列对应的目标异常检测算法,并将所述目标异常检测算法作为所述目标对象对应的异常检测算法;
检测模块904,将所述目标对象与所述目标异常检测算法之间的对应关系进行保存,以利用所述目标异常检测算法对所述目标对象的实时数据进行异常检测。
85.可选地,所述构建模块902具体用于,根据预设采样频率,在所述各历史数据中进行采样,得到目标数据;根据各目标数据生成时间的先后顺序,构建历史数据序列。
86.可选地,所述构建模块902具体用于,若在采样过程中,确定所述各历史数据中不包含有需要采样的指定时刻对应的数据,则根据所述各历史数据中在时序上与所述指定时刻相邻的时刻对应的数据,预测出所述指定时刻对应的数据;获取补全数据后的各历史数据;根据预设采样频率,对所述补全数据后的各历史数据进行采样。
87.可选地,所述构建模块902具体用于,若确定所述历史数据的数量大于预设数量,降低所述预设采样频率,并根据降低后的采样频率,在所述各历史数据中进行采样。
88.可选地,所述获取目标对象的各历史数据之前,所述获取模块901还用于,获取各标准数据序列;针对每个标准数据序列,通过确定出的该标准数据序列对应的各候选异常检测算法,对该标准数据序列进行异常检测;针对每个候选异常检测算法,获取使用该候选异常检测算法从该标准数据序列检测出的第一异常数据,与该标准数据序列中实际出现的第二异常数据,将所述第一异常数据与所述第二异常数据之间的匹配度,作为该候选异常检测算法对应的匹配度;根据每个候选异常检测算法对应的匹配度,确定该标准数据序列相匹配的目标异常检测算法;根据每个标准数据序列相匹配的目标异常检测算法,构建检测库。
89.可选地,所述获取模块901具体用于,获取各候选历史数据序列;对所述各候选历史数据序列进行去重处理,得到各标准数据序列。
90.可选地,所述获取各标准数据序列之后,所述获取模块901具体用于,根据该标准数据序列中数据的分布规律,确定该标准数据序列的序列类型;根据所述序列类型,确定适用于该标准数据序列的各候选异常检测算法。
91.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种异常检测的方法。
92.本说明书还提供了图10所示的一种对应于图1的电子设备的示意结构图。如图10所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的异常检测的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
93.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device, pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作
专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
94.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
95.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
96.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
97.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
98.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用
于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
99.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
100.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
101.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
102.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
103.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
104.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
105.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
106.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
107.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部
分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
108.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1