一种云盘的异常检测方法、装置、设备及介质与流程

文档序号:31927056发布日期:2022-10-25 23:00阅读:51来源:国知局
一种云盘的异常检测方法、装置、设备及介质与流程

1.本文件涉及互联网交互技术领域,尤其涉及一种云盘的异常检测方法、装置、设备及介质。


背景技术:

2.随着互联网技术的发展,互联网云盘业务也发生了井喷式的增长。对于全量业务指标的监控,已经不能继续采用传统的编制规则的方法去实现,采用人工智能算法去完成全量业务指标的监控,成为行业未来的发展趋势。


技术实现要素:

3.本发明目的是提供一种云盘的异常检测方法、装置、设备及介质,以较少的算力投入,在不受云盘不同时段的业务访问量波动较大的影响,高效、合理地对云盘的业务指标进行异常检测。
4.为了实现上述目的,本发明实施例是这样实现的:
5.第一方面,提供一种云盘的异常检测方法,包括:
6.确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间;
7.针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树;
8.基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
9.第二方面,提供一种云盘的异常检测装置,包括:
10.确定模块,用于确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间;
11.划分模块,用于针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树;
12.判断模块,用于基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
13.第三方面,提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
14.确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间;
15.针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树;
16.基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
17.第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
18.确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间;
19.针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树;
20.基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
21.基于本技术实施例的方案,在需要检测云盘的业务指标对应目标时刻的单位时间级指标值是否异常时,选取该目标时刻对应的历史周期窗口的单位时间级指标值作为样本,以构建多个孤立树。由于历史周期窗口内属于异常的单位时间级指标值与其他正常的单位时间级指标值的稀疏较大,异常的单位时间级指标值容易越早被孤立树划分出来,因此有较大概率作为孤立树的根节点,为此通过将目标时刻的单位时间级指标值与多个孤立树的根节点划分得到的单位时间级指标值进行比较,即可检测出业务指标对应目标时刻的单位时间级指标值是否异常,从而为业务异常报警提供数据支持。整个方案中,孤立树的运算量小,因此可以实现较高的检测效率;同时,使用历史周期窗口的单位时间级指标值与目标时刻的单位时间级指标值进行横向比较,可以消除了云盘每天不同时段业务访问量波动较大的影响,因此具有较高的检测准确性。
附图说明
22.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明实施例提供的云盘的异常检测方法的流程示意图。
24.图2为本发明实施例提供的云盘的异常检测装置的结构示意图。
25.图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
27.如前所述,随着互联网技术的发展,互联网云盘业务也发生了井喷式的增长。对于全量业务指标的监控,已经不能继续采用传统的编制规则的方法去实现,采用人工智能算法去完成全量业务指标的监控,成为行业未来的发展趋势。
28.人工智能和机器学习发展到今天,业界已经形成大量成熟的通用的算法体系,但适用于运维监控场景的机器学习算法,成熟的并不多,因为它必须具备以下特点:
29.1.时序数据;
30.2.无监督;
31.3.实时性。
32.对于云盘的场景而言,大部分业务指标在全天的不同时段,例如白天和晚上,走势图的取值有很大的波动。为此,如何以较少的人工智能算力投入,在不受云盘不同时段的业务访问量波动较大的影响,高效、合理地对云盘的业务指标进行异常检测,是本技术所要解决的技术问题。
33.一方面,本技术实施例提供一种云盘的异常检测方法,图1是该异常检测方法的流程图,具体包括如下步骤:
34.s102,确定云盘的业务指标对应目标时刻的单位时间级指标值,以及业务指标对应多个历史周期窗口的单位时间级指标值,目标时刻属于多个历史周期窗口中的单位时间。
35.本技术中,业务指标可以但不限于是云盘的业务访问量和业务响应时间等。业务指标可以反映云盘业务运行的状态,一旦业务指标出现异常,则云盘可能无法正常提供服务,为此需要分析业务指标在目标时刻的单位时间级指标值是否异常,即本步骤所述的目标时刻的单位时间级指标值为异常检测对象。
36.如前文所述,云盘的业务指标在全天的不同时段走势图的取值有很大的波动,为此要想客观准确判断业务指标在目标时刻的单位时间级指标值是否异常,需要横向与历史周期窗口的单位时间级指标值进行对比。
37.比如,在需要检测网盘在今天3:00点时的业务访问量是否出现异常,则可以选前3天的2点50分至3点10分的业务访问量,来分析今天3点时的业务访问量是否出现异常。在该示例中,假设单位时间的长度为1分钟,周期窗口的时间长度固定,则前3天的2点50分至3点10分的时间段即本文所述的历史周期窗口,每个历史周期窗口的单位时间级指标值即3天的2点50分至3点10分中每分钟的业务访问量。
38.s104,针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树。
39.其中,孤立森林是一个基于ensemble的快速离群点检测方法,具有线性时间复杂度和高精准度,适用于连续数据的异常检测,与其他异常检测算法通过距离、密度等量化指标来刻画样本间的疏离程度不同,孤立森林算法通过对样本点的孤立来检测异常值。
40.孤立森林中的“孤立”(isolation)指的是“把异常点从所有样本中孤立出来”,想象这样一个场景,用一个随机超平面对一个数据空间进行切割,切一次可以生成两个子空间(也可以想象用刀切蛋糕)。接下来,再继续随机选取超平面,来切割第一步得到的两个子空间,以此循环下去,直到每子空间里面只包含一个数据点为止。
41.直观上来看,密度很高的簇要被切很多次才会停止切割,即每个点都单独存在于
一个子空间内,但那些分布稀疏的点,大都很早就停到一个子空间内了。
42.对于本技术而言,为了简化孤立森林的运算量,采用二叉树结构来孤立出每个历史周期窗口对应的体现异常的单位时间级指标值。
43.这里以针对一个目标历史周期窗口的单位时间级指标值构建单颗孤立树为例,该目标历史周期窗口对应的所有单位时间级指标值构成训练数据集,每个单位时间级指标值作为一个样本。对应地,构建孤立树的过程如下:
44.从训练数据中随机选择ψ个样本作为子样本集,放入一棵孤立树的根节点;
45.针对当前节点,随机产生一个切割点p,切割点p产生于当前节点的样本集对应的取值区间中的一个数值。
46.此切割点的选取生成了一个超平面,将当前节点的样本集切分为2个子空间:把当前小于p的点放在当前节点的左分支,把大于等于p的点放在当前节点的右分支;
47.在节点的左分支和右分支节点递归步骤2、3,不断构造新的叶子节点,直到叶子节点上只有一个样本(无法再继续切割)或树已经生长到了所设定的高度。
48.应理解,由于异常的样本与其他正常的样本稀疏较大,容易越早被划分出来,作为根节点的概率较大,为此,本技术可以将孤立树中根节点的样本集的单位时间级指标值作为参考,分析目标时刻的单位时间级指标值是否异常。
49.进一步地,对于一个节点而言,可能样本集中存在取值相同的样本,而导致无法被划分出来,未解决该问题,本技术可以针对每个历史周期窗口,在预设的变化幅度内将相同的单位时间级指标值替换为互不重复的单位时间级指标值。
50.这里,作为示例性介绍,本技术针对每个历史周期窗口,可以基于公式在预设的变化幅度内将相同的单位时间级指标值替换为互不重复的单位时间级指标值。
51.其中,k为被替换的单位时间级指标值,ki为替换k的单位时间级指标值,n为对应历史周期窗口的相同的单位时间级指标的数量,i为单位时间级指标的序号,为用于控制ki相对k的变化幅度的预设系数,通常情况下取2。
52.显然,基于上述公式可以看出,可以将每个历史周期窗口中相同的单位时间级指标值替换为不重复的单位时间级指标值,同时替换后的单位时间级指标值在的步长约束下,不会与替换前的单位时间级指标值相差太多,从而不对异常检测准确性产生实质影响。
53.s106,基于目标时刻的单位时间级指标值与多个孤立树的根节点划分得到的单位时间级指标值,确定业务指标对应目标时刻的单位时间级指标值是否异常。
54.具体地,本步骤可以计算目标时刻的单位时间级指标值相对多个孤立树的根节点划分得到的单位时间级指标值的中位数数学距离(如中位数余弦距离、中位数欧拉距离等,这里不对中位数数学距离作具体限定);
55.若计算得到的中位数数学距离达到预设阈值,则判定业务指标对应目标时刻的单位时间级指标值异常;否则,判定业务指标对应目标时刻的单位时间级指标值异常。
56.应理解,本技术可以适当选取一定数量的历史周期窗口的单位时间级指标值,并
针对每个历史周期窗口的单位时间级指标值创建多个孤立树,通过权衡多个孤立树中根节点划分得到的单位时间级指标值与目标时刻的单位时间级指标值的中位数数据距离,可以更加合理、全面地分析出业务指标对应目标时刻的单位时间级指标值是否出现异常。
57.基于本技术实施例的方法,在需要检测云盘的业务指标对应目标时刻的单位时间级指标值是否异常时,选取该目标时刻对应的历史周期窗口的单位时间级指标值作为样本,以构建多个孤立树。由于历史周期窗口内属于异常的单位时间级指标值与其他正常的单位时间级指标值的稀疏较大,异常的单位时间级指标值容易越早被孤立树划分出来,因此有较大概率作为孤立树的根节点,为此通过将目标时刻的单位时间级指标值与多个孤立树的根节点划分得到的单位时间级指标值进行比较,即可检测出业务指标对应目标时刻的单位时间级指标值是否异常,从而为业务异常报警提供数据支持。整个方案中,孤立树的运算量小,因此可以实现较高的检测效率;同时,使用历史周期窗口的单位时间级指标值与目标时刻的单位时间级指标值进行横向比较,可以消除了云盘每天不同时段业务访问量波动较大的影响,因此具有较高的检测准确性
58.下面结合一个示例,对本技术实施例的方法进行介绍。
59.本技术实施例针对网盘的业务指标的异常检测方法可以包括如下阶段。
60.一、选取历史周期窗口的单位时间级指标值作为样本数据集:
61.假设要进行异常检测的单位时间级指标值对应的秒级时间戳为t0,选择w个样本数据集的历史周期窗口,每个历史周期窗口的中心点为:ti=t0-d*i,i=1,2,

,w,其中d取每天的秒数1440*60。
62.每个历史周期窗口的样本数据(单位时间级指标值)为si={ti对应的数值,以及它前面的m个数值,以及它后续的n个数值}。如果ti时间戳对应的历史周期窗口无数据,则忽略该历史周期窗口。
63.正常情况下,将得到一个包含(m+n+1)*w个样本数据的训练数据集s。
64.其中,w,m,n为全局可调参数,在实践中,推荐的取值为8、10、20。
65.二、数据预处理
66.本阶段对么给历史周期窗口相同取值的样本数据进行去重,假设值为k的样本数据个数为n,则使用ki来替换k,
67.假设待检测的单位时间级指标值为x,可以将x放进预处理过的集合中,得到新集合ss。
68.三、构建决策的孤立树
69.在集合ss的最小值与最大值之间,生成随机浮点数r,将ss分为左右两个子集ssl,ssr,其中ss所有小于r的元素放进ssl中,其余元素放进ssr中
70.对ssl和ssr,进行相同的递归操作
71.其中,停止递归的条件为:
72.1)子集只剩下一个元素
73.2)子集剩下的元素具有相同的值
74.这里,计算x到根节点的距离:h
75.四、多次重复构建决策的孤立树:
76.将阶段四独立地进行y次,每次都得到一个hi,i=1,2,

,y,得到集合sh。
77.其中,y为全局可调参数,在实践中,推荐的取值为50。
78.五、判定异常:
79.在集合sh中取中位数hm,如果hm《h,则判定x为异常的离群点,否则判定x为正常的点。
80.其中,h为全局可调参数,在实践中,推荐的取值为0.5*log2((m+n+1)*w),即h推荐取4。
81.另一方面,对应图1所示的方法,本技术实施例还提供一种云盘的异常检测装置。图2是本发明实施例云盘的异常检测装置200的结构示意图,包括:
82.确定模块210,用于确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间。
83.划分模块220,用于针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树。
84.判断模块230,用于基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
85.基于本技术实施例的装置,在需要检测云盘的业务指标对应目标时刻的单位时间级指标值是否异常时,选取该目标时刻对应的历史周期窗口的单位时间级指标值作为样本,以构建多个孤立树。由于历史周期窗口内属于异常的单位时间级指标值与其他正常的单位时间级指标值的稀疏较大,异常的单位时间级指标值容易越早被孤立树划分出来,因此有较大概率作为孤立树的根节点,为此通过将目标时刻的单位时间级指标值与多个孤立树的根节点划分得到的单位时间级指标值进行比较,即可检测出业务指标对应目标时刻的单位时间级指标值是否异常,从而为业务异常报警提供数据支持。整个方案中,孤立树的运算量小,因此可以实现较高的检测效率;同时,使用历史周期窗口的单位时间级指标值与目标时刻的单位时间级指标值进行横向比较,可以消除了云盘每天不同时段业务访问量波动较大的影响,因此具有较高的检测准确性。
86.可选地,判断模块230基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常,包括:计算所述目标时刻的单位时间级指标值相对所述多个孤立树的根节点划分得到的单位时间级指标值的中位数数学距离;若计算得到的中位数数学距离达到预设阈值,则判定所述业务指标对应目标时刻的单位时间级指标值异常。
87.可选地,确定模块210在针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分前,还用于:针对每个历史周期窗口,在预设的变化幅度内将相同的单位时间级指标值替换为互不重复的单位时间级指标值。
88.具体地,确定模块210可以针对每个历史周期窗口,基于公式具体地,确定模块210可以针对每个历史周期窗口,基于公式在预设的变化幅度内将相同的单位时间级指标值替换为互不重复的单位时间级指标值,其中,k为被替换的单位时间级指标值,ki为替换k的单位时间级指标值,n为对应历史周期窗
口的相同的单位时间级指标的数量,i为单位时间级指标的序号,为用于控制ki相对k的变化幅度的预设系数。
89.可选地,所述多个历史周期窗口具有相同的时间长度。
90.可选地,所述多个孤立树均为二叉树结构。
91.可选地,所述业务指标为所述云盘的业务访问量和业务响应时间中的一者。
92.显然,本发明实施例的云盘的异常检测装置可以作为图1所示方法的执行主体,因此可以实现该方法在图1中所示的步骤和相应的功能。由于原理相同,本文不再具体赘述。
93.图3是本说明书的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
94.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
95.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
96.其中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成上述云盘的异常检测装置。对应地,处理器,执行存储器所存放的程序,并具体用于执行以下操作:
97.确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间。
98.针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树。
99.基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
100.基于本技术实施例的电子设备,在需要检测云盘的业务指标对应目标时刻的单位时间级指标值是否异常时,选取该目标时刻对应的历史周期窗口的单位时间级指标值作为样本,以构建多个孤立树。由于历史周期窗口内属于异常的单位时间级指标值与其他正常的单位时间级指标值的稀疏较大,异常的单位时间级指标值容易越早被孤立树划分出来,因此有较大概率作为孤立树的根节点,为此通过将目标时刻的单位时间级指标值与多个孤立树的根节点划分得到的单位时间级指标值进行比较,即可检测出业务指标对应目标时刻的单位时间级指标值是否异常,从而为业务异常报警提供数据支持。整个方案中,孤立树的运算量小,因此可以实现较高的检测效率;同时,使用历史周期窗口的单位时间级指标值与目标时刻的单位时间级指标值进行横向比较,可以消除了云盘每天不同时段业务访问量波
动较大的影响,因此具有较高的检测准确性。
101.上述如本说明书图1所示实施例揭示的方法可以应用于处理器中,由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
102.应理解,本发明实施例的电子设备可以使业务处理装置实现对应于图1所示方法中的步骤和功能。由于原理相同,本文不再赘述。
103.当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
104.此外,本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令。
105.其中,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示方法的步骤,包括:
106.确定云盘的业务指标对应目标时刻的单位时间级指标值,以及所述业务指标对应多个历史周期窗口的单位时间级指标值,所述目标时刻属于所述多个历史周期窗口中的一个单位时间。
107.针对多个历史周期窗口中的每个历史周期窗口,进行单位时间级指标值的孤立森林划分,得到划出的多个孤立树。
108.基于所述目标时刻的单位时间级指标值与所述多个孤立树的根节点划分得到的单位时间级指标值,确定所述业务指标对应目标时刻的单位时间级指标值是否异常。
109.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
110.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
111.以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1