CN113778802A - 异常预测方法及设备 - Google Patents
异常预测方法及设备 Download PDFInfo
- Publication number
- CN113778802A CN113778802A CN202111077865.4A CN202111077865A CN113778802A CN 113778802 A CN113778802 A CN 113778802A CN 202111077865 A CN202111077865 A CN 202111077865A CN 113778802 A CN113778802 A CN 113778802A
- Authority
- CN
- China
- Prior art keywords
- sub
- model
- data
- abnormal
- monitoring data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本公开提供一种异常预测方法及设备,涉及计算机处理技术领域。该方法可以包括:获取至少一个云平台针对目标软件系统输出的历史监控数据;将历史监控数据输入到异常预测模型中,预测得到目标软件系统在未来时间的第一异常概率,异常预测模型包括:向量生成子模型、融合子模型和预测子模型,向量生成子模型用于生成历史监控数据中的子数据的向量,融合子模型用于将同一时间的子数据的向量进行融合,预测子模型用于根据融合得到的至少一个时间的向量预测得到第一异常概率;根据第一异常概率确定目标软件系统在未来时间是否异常。本公开实施例可以通过融合子模型将多种云平台采集的监控数据的向量进行融合,以提高异常检测的准确度。
Description
技术领域
本公开实施例涉及计算机处理技术领域,尤其涉及一种异常预测方法及设备。
背景技术
云平台可以提供一基础框架,这些基础框架可以包括多个基础接口,以实现不同类型的软件系统。不同类型的软件系统提供的服务不同,例如,社交软件系统可以提供社交服务,银行服务系统可以提供银行服务。通常情况下,软件系统需要兼容不同云平台,以在不同的云平台上运行,不同的云平台通过不同的服务框架实现软件系统。
为了保证上述软件系统稳定且可靠的提供服务,需要检测软件系统的异常并进行解决。从而如何准确的对软件系统进行异常检测是亟待解决的问题。
发明内容
本公开提供一种异常预测方法及设备,以提高对软件系统进行异常检测的准确度。
第一方面,本公开提供一种异常预测方法,包括:
获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态;
将所述历史监控数据输入到异常预测模型中,预测得到所述目标软件系统在未来时间的第一异常概率,所述异常预测模型包括:向量生成子模型、融合子模型和预测子模型,所述向量生成子模型用于生成所述历史监控数据中的子数据的向量,所述融合子模型用于将同一时间的子数据的向量进行融合,所述预测子模型用于根据融合得到的至少一个时间的向量预测得到所述第一异常概率;
根据所述第一异常概率确定所述目标软件系统在所述未来时间是否异常。
可选地,所述异常预测模型是通过至少一组训练样本预先训练得到的,所述训练样本包括:至少一个第一时间对应的样本监控数据和表示所述第一时间之后的第二时间是否异常的异常标签,所述样本监控数据包括至少两个子数据,所述向量生成子模型还用于在训练过程中生成所述子数据的向量,所述融合子模型还用于对所述子数据的向量进行融合得到每个所述第一时间对应的综合向量,所述预测子模型还用于根据各所述第一时间的所述综合向量预测得到所述第二时间的第二异常概率,所述训练包括:根据所述第二异常概率和所述异常标签确定损失值,并根据所述损失值调整所述异常预测模型的参数,直至所述损失值满足预设条件。
可选地,所述至少两个子数据被划分为至少一对子数据,所述一对子数据对应有类型标签,所述类型标签用于表示所述一对子数据是否属于同一异常类型的监控数据,所述损失值包括第一子损失值和第二子损失值,所述第一子损失值用于表示所述第二异常概率和所述异常标签之间的差异程度,所述第二子损失值用于表示所述一对子数据的所述向量的相似度、与所述一对子数据的所述类型标签之间的差异程度。
可选地,所述向量生成子模型的输入为类别型的子数据的multi-hot编码。
可选地,所述预测子模型的输入还包括数值型的子数据。
可选地,所述向量生成子模型为EMBEDDING模型,所述融合子模型为DNN模型,所述预测子模型为LSTM模型。
可选地,所述历史监控数据包括至少一个子数据,所述获取至少一个云平台针对目标软件系统输出的历史监控数据,包括:
从配置文件中获取所述至少一个云平台分别对应的至少一种异常类型的监控数据源信息,所述监控数据源信息用于表示所述异常类型的子数据的获取方式和存储地址;
根据所述监控数据源信息从所述云平台中获取针对所述目标软件系统输出的子数据。
可选地,所述异常对应有目标异常类型,所述配置文件中还包括所述至少一种异常类型对应的告警数据,所述方法还包括:
若所述目标软件系统在所述未来时间对应有异常,则从所述配置文件中获取所述目标异常类型对应的告警数据,所述告警数据包括以下至少一种:告警方式、对应的云平台、告警设备标识、所属的服务、告警级别、告警区域、告警提示信息;
根据所述告警数据进行告警。
第二方面,本公开提供一种异常预测装置,包括:
历史监控数据获取模块,用于获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态;
异常概率预测模块,用于将所述历史监控数据输入到异常预测模型中,预测得到所述目标软件系统在未来时间的第一异常概率,所述异常预测模型包括:向量生成子模型、融合子模型和预测子模型,所述向量生成子模型用于生成所述历史监控数据中的子数据的向量,所述融合子模型用于将同一时间的子数据的向量进行融合,所述预测子模型用于根据融合得到的至少一个时间的向量预测得到所述第一异常概率;
异常确定模块,用于根据所述第一异常概率确定所述目标软件系统在所述未来时间是否异常。
可选地,所述异常预测模型是通过至少一组训练样本预先训练得到的,所述训练样本包括:至少一个第一时间对应的样本监控数据和表示所述第一时间之后的第二时间是否异常的异常标签,所述样本监控数据包括至少两个子数据,所述向量生成子模型还用于在训练过程中生成所述子数据的向量,所述融合子模型还用于对所述子数据的向量进行融合得到每个所述第一时间对应的综合向量,所述预测子模型还用于根据各所述第一时间的所述综合向量预测得到所述第二时间的第二异常概率,所述装置还包括:
迭代训练模块,用于根据所述第二异常概率和所述异常标签确定损失值,并根据所述损失值调整所述异常预测模型的参数,直至所述损失值满足预设条件。
可选地,所述至少两个子数据被划分为至少一对子数据,所述一对子数据对应有类型标签,所述类型标签用于表示所述一对子数据是否属于同一异常类型的监控数据,所述损失值包括第一子损失值和第二子损失值,所述第一子损失值用于表示所述第二异常概率和所述异常标签之间的差异程度,所述第二子损失值用于表示所述一对子数据的所述向量的相似度、与所述一对子数据的所述类型标签之间的差异程度。
可选地,所述向量生成子模型的输入为类别型的子数据的multi-hot编码。
可选地,所述预测子模型的输入还包括数值型的子数据。
可选地,所述向量生成子模型为EMBEDDING模型,所述融合子模型为DNN模型,所述预测子模型为LSTM模型。
可选地,所述历史监控数据包括至少一个子数据,所述历史监控数据获取模块还用于:
在获取至少一个云平台针对目标软件系统输出的历史监控数据时,从配置文件中获取所述至少一个云平台分别对应的至少一种异常类型的监控数据源信息,所述监控数据源信息用于表示所述异常类型的子数据的获取方式和存储地址;根据所述监控数据源信息从所述云平台中获取针对所述目标软件系统输出的子数据。
可选地,所述异常对应有目标异常类型,所述配置文件中还包括所述至少一种异常类型对应的告警数据,所述装置还包括告警数据获取模块和告警模块:
告警数据获取模块,用于若所述目标软件系统在所述未来时间对应有异常,则从所述配置文件中获取所述目标异常类型对应的告警数据,所述告警数据包括以下至少一种:告警方式、对应的云平台、告警设备标识、所属的服务、告警级别、告警区域、告警提示信息;
告警模块,用于根据所述告警数据进行告警。
第三方面,本公开提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如前述第一方面的方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如前述第一方面的方法。
第五方面,本公开提供一种计算机程序,所述计算机程序用于实现如前述第一方面的方法。
本公开提供的异常预测方法及设备,可以获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态;将历史监控数据输入到异常预测模型中,预测得到目标软件系统在未来时间的第一异常概率,异常预测模型包括:向量生成子模型、融合子模型和预测子模型,向量生成子模型用于生成历史监控数据中的子数据的向量,融合子模型用于将同一时间的子数据的向量进行融合,预测子模型用于根据融合得到的至少一个时间的向量预测得到第一异常概率;根据第一异常概率确定目标软件系统在未来时间是否异常。本公开实施例可以结合多种云平台采集的监控数据,预测未来是否存在异常。为了将多种云平台采集的监控数据进行融合,本公开实施例采用融合子模型将多种云平台采集的监控数据的向量进行融合,该融合子模型是神经网络模型。从而,融合得到的向量可以准确的表征多种平台上的软件系统的运行状态,根据该融合得到的向量预测未来是否出现异常有助于提高异常检测的准确度。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例适用的软件系统和云平台之间的关系示意图;
图2是现有技术提供的软件系统检测及恢复的过程示意图;
图3是本公开实施例提供的异常预测方法的具体步骤流程图;
图4是本公开实施例提供的异常预测模型的结构示意图;
图5是本公开实施例提供的一种异常预测装置的结构框图;
图6是本公开实施例提供的一种电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例可以用于部署在云平台上的软件系统中。云平台可以通过自身的云计算能力实现软件系统所要提供的服务。软件系统可以理解为基于云平台进行二次开发得到的,软件系统在运行过程中需要调用云平台提供的基础接口,这些基础接口可以理解为云平台提供的基础框架。
随着大数据、云计算、AI(artificial intelligence,人工智能)等技术的发展,出现了多种云平台。不同云平台提供的基础框架可以不同,但是基于这些基础框架可以进行二次开发得到提供相同服务或不同服务的软件系统。
通常情况下,软件系统不会部署在单一的一种云平台上,而是部署在多种云平台上。图1是本公开实施例适用的软件系统和云平台之间的关系示意图。参照图1所示,一个软件系统可以同时部署在云平台C1至C4中,也就是说这个软件系统是兼容这四种云平台的。
为了保证上述软件系统稳定且可靠的提供服务,需要及时检测软件系统是否出现异常,以使软件系统恢复正常。参照图2所示,具体可以包括:首先,在不同云平台上配置告警策略,以使不同云平台可以根据自身的告警策略,采集针对软件系统的监控数据;然后,不同云平台对自身监控数据进行分析,确定是否出现异常,在出现异常时,向运维人员发送告警通知;最后,运维人员可以根据告警通知进行异常处理,云平台可以在软件系统恢复正常之后向运维人员发送恢复通知。
可以看出,上述方案中需要发送告警通知并且需要运维人员进行异常处理。当告警通知发送延迟,和/或,运维人员未及时进行异常处理时,会导致软件系统不能及时恢复正常。
为了保证软件系统及时恢复正常,目前有一种云平台提供了通过预测的方式检测异常的方式,该云平台可以根据自身监控数据预测未来是否存在异常。但是,这种方式在自身监控数据不准确的情况下,会导致异常检测的准确度较低。
为了解决上述问题,本公开实施例可以结合多种云平台采集的监控数据,预测未来是否存在异常。为了将多种云平台采集的监控数据进行融合,本公开实施例采用融合子模型将多种云平台采集的监控数据的向量进行融合,该融合子模型是神经网络模型。从而,融合得到的向量可以准确的表征多种平台上的软件系统的运行状态,根据该融合得到的向量预测未来是否出现异常有助于提高异常检测的准确度。
下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例进行描述。
图3是本公开实施例提供的异常预测方法的具体步骤流程图。参照图3所示,该方法可以包括:
S201:获取至少一个云平台针对目标软件系统输出的历史监控数据,历史监控数据用于表示目标软件系统在云平台上的运行状态。
其中,历史监控数据可以是当前时间之前的一个或多个历史时间的监控数据,以预测目标软件系统在当前时间之后的未来时间是否出现异常。例如,可以采用本周的历史监控数据,以预测目标软件系统在下周是否出现异常。目标软件系统是待检测的任一软件系统。
可以理解的是,每个云平台均可以采集到针对该软件系统输出的历史监控数据,不同云平台采集的历史监控数据可以相同,也可以不同。每个云平台的历史监控数据可以包括一个或多个子数据,每个子数据对应一个异常类型,不同子数据对应的异常类型可以相同或不同。也就是说,每个异常类型对应一个或多个子数据,从而可以根据这一个或多个子数据确定该异常类型对应的异常。
上述每个异常类型都对应一个或多个子数据,监控数据源信息用于表示所述异常类型的子数据的获取方式和存储地址。其中,获取方式可以是接口的调用方式,存储地址可以包括:存储子数据的目标设备的地址和目标设备上的存储路径。
上述监控数据源信息可以在软件代码中实现,也可以通过配置文件实现。
当监控数据源信息通过配置文件实现时,可以通过以下步骤获取历史监控数据中的子数据:首先,从配置文件中获取至少一个云平台分别对应的至少一种异常类型的监控数据源信息;然后,根据监控数据源信息从云平台中获取针对目标软件系统输出的子数据。
可以看出,上述配置文件中预先配置有各个云平台的监控数据源信息,每个监控数据源信息对应一个子数据,每个子数据对应一个异常类型。
S202:将历史监控数据输入到异常预测模型中,预测得到目标软件系统在未来时间的第一异常概率,异常预测模型包括:向量生成子模型、融合子模型和预测子模型,向量生成子模型用于生成历史监控数据中的子数据的向量,融合子模型用于将同一时间的子数据的向量进行融合,预测子模型用于根据融合得到的至少一个时间的向量预测得到第一异常概率。
图4是本公开实施例提供的异常预测模型的结构示意图,异常预测模型中的各个子模型均为神经网络模型,从而异常预测模型也为神经网络模型。参照图4所示,向量生成子模型的输入是异常预测模型的输入,向量生成子模型的输出作为融合子模型的输入,融合子模型的输出作为预测子模型的输入,预测子模型的输出是异常预测模型的输出。
其中,向量生成子模型可以为Embedding(嵌入)模型,也可以称为Embedding层。向量生成子模型用于为每个云平台的每个时间的每个子数据生成一个向量,也就是说,云平台不同和/或时间不同的不同子数据对应不同的向量。向量生成子模型的输入可以为类别型的子数据的multi-hot编码。
例如,存在两个云平台C1和C2,C1对应的历史监控数据可以为:{(D111,D112),(D121,D122),(D131,D132)},其中,D111和D112是C1在时间t1的两个子数据,D121和D122是C1在时间t2的两个子数据,D131和D132是C1在时间t3的两个子数据。C2对应的历史监控数据可以为:{(D211,D212),(D221,D222),(D231,D232)},其中,D211和D212是C2在时间t1的两个子数据,D221和D222是C2在时间t2的两个子数据,D231和D232是C2在时间t3的两个子数据。
那么,上述向量生成子模型可以分别针对D111、D112、D121、D122、D131、D132、D211、D212、D221、D222、D231、D232,生成向量。
融合子模型(FusionNet)可以为以下任意一种:神经网络模型、编码器/解码器(encoder/decoder)模型、注意力模型(attention-based model)。例如,融合子模型可以是DNN模型,常用的DNN模型可以包括:输入层、至少一个隐藏层、输出层。输入层用于接收输入向量,隐藏层用于对输入向量进行复杂的转换运算,输出层用于将转换运算得到的向量进行输出。融合子模型将同一时间的各个子数据的向量融合为该时间的一个向量,各个不同子数据属于不同模态,也就是将多个模态的子数据进行融合。
上述多个模态的子数据是指对于同一个描述对象,通过不同领域或视角获取到的数据,并且把描述这些数据的每一个领域或视角叫做一个模态。也就是说,多个模态的子数据是不能直接进行处理的、能产生相互联系的不同数据集。在本公开实施例中,不同云平台下对同一个信息的不同表述和不同数据结构属于多个模态的数据。
例如,上述融合子模型可以将前述D111、D112、D211、D212融合为时间t1的向量V1,将前述D121、D122、D221、D222融合为时间t2的向量V2,将D131、D132、D231、D232融合为时间t3的向量V3。
上述预测子模型可以是LSTM(long short-term memory,长短期记忆)模型,用于根据向量序列预测得到异常概率,该向量序列中包括至少一个按照时间排序的向量,每个向量是融合子模型输出的一个时间的向量。
例如,上述预测子模型可以根据前述V1、V2和V3构成的序列预测得到一个异常概率。
上述异常预测模型是通过预先训练得到的,上述向量子模型、融合子模型和预测子模型是端到端联合训练的。具体地,上述训练所使用的至少一组训练样本包括:至少一个第一时间对应的样本监控数据和表示第一时间之后的第二时间是否异常的异常标签,样本监控数据包括至少两个子数据,向量生成子模型还用于在训练过程中生成子数据的向量,融合子模型还用于对子数据的向量进行融合得到每个第一时间对应的综合向量,预测子模型还用于根据各第一时间的综合向量预测得到第二时间的第二异常概率,训练包括:根据第二异常概率和异常标签确定损失值,并根据损失值调整异常预测模型的参数,直至损失值满足预设条件。
上述训练过程可以通过多轮迭代实现。在每轮迭代中,通过预设数量的训练样本进行训练,并根据本轮迭代中针对每个训练样本输出的第二异常概率和训练样本中的异常标签确定损失值。在每轮迭代训练之后,都需要确定损失值是否满足预设条件。如果满足预设条件,则不再进行下一轮迭代训练,本轮迭代得到的当前异常预测模型是训练得到的异常预测模型。如果不满足预设条件,则根据损失值和梯度下降法调整当前异常预测模型的参数,也就是向量生成子模型、融合子模型和预测子模型的参数,直至损失值满足预设条件。
上述损失值满足预设条件可以包括以下至少一种:多轮迭代得到的损失值未持续变小、本轮迭代得到的损失值小于或等于预设损失值阈值。
上述损失值可以通过损失函数计算得到,损失函数的输入为第二异常概率和异常标签,用于表示第二异常概率和异常标签之间的差异程度。损失函数可以采用现有技术中的任意损失函数,例如,交叉熵损失函数、平方损失函数、指数损失函数、绝对值损失函数等。本公开实施例对损失函数不加以限制。
为了进一步提高向量生成子模型生成向量的准确度,上述损失值不仅需要考虑上述第二异常概率和异常标签之间的差异程度,还需要保证属于同一异常类型的子数据的向量接近,属于不同异常类型的子数据的向量差别较大。
为了实现上述目标,监控数据样本中的至少两个子数据被划分为至少一对子数据,每一对子数据对应有一个类型标签,该类型标签用于表示这一对子数据是否属于同一异常类型的监控数据。例如,当类型标签为1时,代表同一异常类型,当类型标签为0时,代表不同异常类型。
基于上述训练样本,前述损失值可以包括第一子损失值和第二子损失值,第一子损失值用于表示第二异常概率和异常标签之间的差异程度,第二子损失值用于表示一对子数据的向量的相似度、与一对子数据的类型标签之间的差异程度。
具体地,损失值可以是第一子损失值和第二子损失值的加权和。当前第一子损失值和第二子损失值的权重可以任意设置。当两者的权重均为1时,损失值是第一子损失值和第二子损失值的和。
上述第一子损失值可以用损失函数计算得到,损失函数可以采用现有技术中的任意损失函数,例如,交叉熵损失函数、平方损失函数、指数损失函数、绝对值损失函数等。本公开实施例对损失函数不加以限制。第一子损失值LOSS1可以以下面公式计算得到:
其中,N为训练样本的数量,yn为第n个训练样本对应的异常标签,y'n为第n个训练样本对应的第二异常概率。
上述第二子损失值也可以用损失函数计算得到,损失函数的输入分别为每对子数据的向量的相似度、该对子数据的类型标签。其中,向量的相似度是向量生成子模型针对该子数据生成的向量的相似度,向量的相似度可以用用余弦相似度、基于欧氏距离的相似度计算得到。第二子损失值可以以下面公式计算得到:
其中,m为N个训练样本中的监控数据样本中的子数据的对数,vm为第m对子数据的类型标签,s'm为第m对子数据的向量的相似度。
当前,除上述类别型的子数据外,监控数据样本和历史监控数据中还可以包括数值型的子数据,这部分子数据不需要通过上述向量生成子模型和融合子模型,而是直接作为预测子模型的输入。具体地,在训练时,监控数据样本中的数值型的子数据可以和其对应同一时间的类别型的子数据拼接为一个向量输入到预测子模型中。
可选地,数值型的子数据在输入到预测子模型之前,还可以对其进行归一化,以将其取值限定在一个预设范围内。
S203:根据第一异常概率确定目标软件系统在未来时间是否异常。
具体地,可以设置一个异常阈值,当第一异常概率大于异常阈值时,确定目标软件系统在未来时间异常,否则正常。
在实际应用中,目标软件系统可以存在多种异常类型的异常,从而针对每种异常类型,可以根据该异常类型对应的子数据确定该异常类型对应的第一异常概率,然后,根据异常类型对应的第一异常概率确定目标软件系统在未来时间是否存在该异常类型的异常,也就是说,当该异常类型对应的第一异常概率大于该异常类型对应的异常阈值时,确定目标软件系统在未来时间存在该异常类型的异常;否则不存在该异常类型的异常。
需要说明的是,在实际应用中,各个异常类型对应的异常阈值可以相同,也可以不同。本公开实施例对其不加以限制。
从前述说明可知,在本公开实施例中,目标软件系统的异常可以划分为至少一种异常类型。每种异常类型对应一部分子数据,这部分子数据可以用于预测这种异常类型。例如,目标异常类型为磁盘异常时,子数据可以包括:底层数据读取错误率、重定位磁区计数、电机起转重试、终端校验出错(终端校验出错)、通信超时、报告的不可纠正的错误、重定位事件计数、当前待处理的扇区数、脱机无法纠正、逻辑读取错误率。其中,数值型的子数据直接输入到预测子模型中,类别型的子数据输入到向量生成子模型,从而异常检测模型可以预测这种异常类型的异常概率。
根据S203确定的异常是部分异常类型,这部分异常类型可以称为目标异常类型。前述配置文件中还可以包括至少一种异常类型对应的告警数据。从而,若目标软件系统在未来时间对应有异常,则可以从配置文件中获取目标异常类型对应的告警数据,以根据告警数据进行告警。
其中,告警数据可以包括以下至少一种:异常类型、对应的云平台、监控类型、策略类型、所属的服务、告警设备标识、触发条件、告警区域、告警提示信息、告警级别、告警方式。
异常类型可以例如为代码异常、站点流量异常。
异常类型对应的云平台是出现该异常类型的异常云平台。例如,云平台C1,或云平台C2。
监控类型用于表示异常类型针对的目标软件系统的子系统,例如,业务A系统,云产品系统等。
策略类型是对监控类型的进一步划分,例如,应用监控、应用防火墙监控。
所属的服务是出现异常类型的异常服务,是目标软件系统提供的多个服务中的其中一个。例如,一个服务项目的异常。
告警设备标识是出现该异常类型的异常设备标识。告警设备标识可以是告警设备的IP(Internet protocol,因特网协议)地址。
触发条件是触发这种异常类型的条件,例如,对于Java异常,其触发条件可以为日志中有Java Exception类似的关键字。又例如,对于站点流量异常,其触发条件可以为访问量超过10000。
告警区域用于表示出现异常的地理区域。
告警提示信息用于区分不同异常类型,不同异常类型对应不同的告警提示信息,例如,告警提示信息可以为“程序java异常”,或“网站当前访问量是XXX,超过预设告警访问量10000”。
告警级别用于表示异常类型对应的异常产生的影响程度,告警级别越高,影响程度越大,反之,影响程度越低。例如,告警级别可以划分为:0-最高级别,1-中等级别,2-最低级别。
告警方式包括提示出现该异常类型的方式和提示对象。提示出现该异常类型的方式可以包括:声音提示方式、闪光提示方式、文字提示方式。提示对象可以是运维人员。不同的异常类型可以选取不同类型的告警方式。
本公开实施例在确定告警时,通过配置文件中预先配置的告警数据进行告警。如此,可以在配置文件中灵活的为每种异常类型的异常配置告警数据,不同的异常类型可以对应不同的告警方式、告警提示信息等,实现了异常的灵活告警。
对应于上文实施例的异常预测方法,图5是本公开实施例提供的一种异常预测装置的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图5,上述异常预测装置300包括:历史监控数据获取模块301、异常概率预测模块302和异常确定模块303。
其中,历史监控数据获取模块301,用于获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态。
异常概率预测模块302,用于将所述历史监控数据输入到异常预测模型中,预测得到所述目标软件系统在未来时间的第一异常概率,所述异常预测模型包括:向量生成子模型、融合子模型和预测子模型,所述向量生成子模型用于生成所述历史监控数据中的子数据的向量,所述融合子模型用于将同一时间的子数据的向量进行融合,所述预测子模型用于根据融合得到的至少一个时间的向量预测得到所述第一异常概率。
异常确定模块303,用于根据所述第一异常概率确定所述目标软件系统在所述未来时间是否异常。
可选地,所述异常预测模型是通过至少一组训练样本预先训练得到的,所述训练样本包括:至少一个第一时间对应的样本监控数据和表示所述第一时间之后的第二时间是否异常的异常标签,所述样本监控数据包括至少两个子数据,所述向量生成子模型还用于在训练过程中生成所述子数据的向量,所述融合子模型还用于对所述子数据的向量进行融合得到每个所述第一时间对应的综合向量,所述预测子模型还用于根据各所述第一时间的所述综合向量预测得到所述第二时间的第二异常概率,所述装置还包括:
迭代训练模块,用于根据所述第二异常概率和所述异常标签确定损失值,并根据所述损失值调整所述异常预测模型的参数,直至所述损失值满足预设条件。
可选地,所述至少两个子数据被划分为至少一对子数据,所述一对子数据对应有类型标签,所述类型标签用于表示所述一对子数据是否属于同一异常类型的监控数据,所述损失值包括第一子损失值和第二子损失值,所述第一子损失值用于表示所述第二异常概率和所述异常标签之间的差异程度,所述第二子损失值用于表示所述一对子数据的所述向量的相似度、与所述一对子数据的所述类型标签之间的差异程度。
可选地,所述向量生成子模型的输入为类别型的子数据的multi-hot编码。
可选地,所述预测子模型的输入还包括数值型的子数据。
可选地,所述向量生成子模型为EMBEDDING模型,所述融合子模型为DNN模型,所述预测子模型为LSTM模型。
可选地,所述历史监控数据包括至少一个子数据,所述历史监控数据获取模块301还用于:
在获取至少一个云平台针对目标软件系统输出的历史监控数据时,从配置文件中获取所述至少一个云平台分别对应的至少一种异常类型的监控数据源信息,所述监控数据源信息用于表示所述异常类型的子数据的获取方式和存储地址;根据所述监控数据源信息从所述云平台中获取针对所述目标软件系统输出的子数据。
可选地,所述异常对应有目标异常类型,所述配置文件中还包括所述至少一种异常类型对应的告警数据,所述装置还包括告警数据获取模块和告警模块:
告警数据获取模块,用于若所述目标软件系统在所述未来时间对应有异常,则从所述配置文件中获取所述目标异常类型对应的告警数据,所述告警数据包括以下至少一种:告警方式、对应的云平台、告警设备标识、所属的服务、告警级别、告警区域、告警提示信息。
告警模块,用于根据所述告警数据进行告警。
本实施例提供的异常预测装置,可用于执行上述图3所示的方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图6是本公开实施例提供的一种电子设备的结构框图。该电子设备600包括存储器602和至少一个处理器601。
其中,存储器602存储计算机执行指令。至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备601实现前述图3中的方法。
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现图3中的方法。
本公开实施例还提供一种计算机程序,所述计算机程序用于实现图3中的方法。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (10)
1.一种异常预测方法,其特征在于,包括:
获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态;
将所述历史监控数据输入到异常预测模型中,预测得到所述目标软件系统在未来时间的第一异常概率,所述异常预测模型包括:向量生成子模型、融合子模型和预测子模型,所述向量生成子模型用于生成所述历史监控数据中的子数据的向量,所述融合子模型用于将同一时间的子数据的向量进行融合,所述预测子模型用于根据融合得到的至少一个时间的向量预测得到所述第一异常概率;
根据所述第一异常概率确定所述目标软件系统在所述未来时间是否异常。
2.根据权利要求1所述的方法,其特征在于,所述异常预测模型是通过至少一组训练样本预先训练得到的,所述训练样本包括:至少一个第一时间对应的样本监控数据和表示所述第一时间之后的第二时间是否异常的异常标签,所述样本监控数据包括至少两个子数据,所述向量生成子模型还用于在训练过程中生成所述子数据的向量,所述融合子模型还用于对所述子数据的向量进行融合得到每个所述第一时间对应的综合向量,所述预测子模型还用于根据各所述第一时间的所述综合向量预测得到所述第二时间的第二异常概率,所述训练包括:根据所述第二异常概率和所述异常标签确定损失值,并根据所述损失值调整所述异常预测模型的参数,直至所述损失值满足预设条件。
3.根据权利要求2所述的方法,其特征在于,所述至少两个子数据被划分为至少一对子数据,所述一对子数据对应有类型标签,所述类型标签用于表示所述一对子数据是否属于同一异常类型的监控数据,所述损失值包括第一子损失值和第二子损失值,所述第一子损失值用于表示所述第二异常概率和所述异常标签之间的差异程度,所述第二子损失值用于表示所述一对子数据的所述向量的相似度、与所述一对子数据的所述类型标签之间的差异程度。
4.根据权利要求3所述的方法,其特征在于,所述向量生成子模型的输入为类别型的子数据的multi-hot编码。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述预测子模型的输入还包括数值型的子数据。
6.根据权利要求1所述的方法,其特征在于,所述向量生成子模型为EMBEDDING模型,所述融合子模型为DNN模型,所述预测子模型为LSTM模型。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述历史监控数据包括至少一个子数据,所述获取至少一个云平台针对目标软件系统输出的历史监控数据,包括:
从配置文件中获取所述至少一个云平台分别对应的至少一种异常类型的监控数据源信息,所述监控数据源信息用于表示所述异常类型的子数据的获取方式和存储地址;
根据所述监控数据源信息从所述云平台中获取针对所述目标软件系统输出的子数据。
8.根据权利要求7所述的方法,其特征在于,所述异常对应有目标异常类型,所述配置文件中还包括所述至少一种异常类型对应的告警数据,所述方法还包括:
若所述目标软件系统在所述未来时间对应有异常,则从所述配置文件中获取所述目标异常类型对应的告警数据,所述告警数据包括以下至少一种:告警方式、对应的云平台、告警设备标识、所属的服务、告警级别、告警区域、告警提示信息;
根据所述告警数据进行告警。
9.一种异常预测装置,其特征在于,包括:
历史监控数据获取模块,用于获取至少一个云平台针对目标软件系统输出的历史监控数据,所述历史监控数据用于表示所述目标软件系统在所述云平台上的运行状态;
异常概率预测模块,用于将所述历史监控数据输入到异常预测模型中,预测得到所述目标软件系统在未来时间的第一异常概率,所述异常预测模型包括:向量生成子模型、融合子模型和预测子模型,所述向量生成子模型用于生成所述历史监控数据中的子数据的向量,所述融合子模型用于将同一时间的子数据的向量进行融合,所述预测子模型用于根据融合得到的至少一个时间的向量预测得到所述第一异常概率;
异常确定模块,用于根据所述第一异常概率确定所述目标软件系统在所述未来时间是否异常。
10.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077865.4A CN113778802A (zh) | 2021-09-15 | 2021-09-15 | 异常预测方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077865.4A CN113778802A (zh) | 2021-09-15 | 2021-09-15 | 异常预测方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778802A true CN113778802A (zh) | 2021-12-10 |
Family
ID=78843897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111077865.4A Pending CN113778802A (zh) | 2021-09-15 | 2021-09-15 | 异常预测方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778802A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392505A (zh) * | 2022-08-29 | 2022-11-25 | 智迪机器人技术(盐城)有限公司 | 一种汽车配件自动安装机器人的异常处理系统及方法 |
CN115567371A (zh) * | 2022-11-16 | 2023-01-03 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、设备及可读存储介质 |
-
2021
- 2021-09-15 CN CN202111077865.4A patent/CN113778802A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115392505A (zh) * | 2022-08-29 | 2022-11-25 | 智迪机器人技术(盐城)有限公司 | 一种汽车配件自动安装机器人的异常处理系统及方法 |
CN115567371A (zh) * | 2022-11-16 | 2023-01-03 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、设备及可读存储介质 |
CN115567371B (zh) * | 2022-11-16 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 一种异常检测方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166462B (zh) | 访问控制方法、系统、电子设备及计算机存储介质 | |
CN114218403B (zh) | 基于知识图谱的故障根因定位方法、装置、设备及介质 | |
CN113778802A (zh) | 异常预测方法及设备 | |
CN108460397B (zh) | 设备故障类型的分析方法、装置、储存介质和电子设备 | |
CN112148768A (zh) | 一种指标时间序列异常检测方法、系统及存储介质 | |
US20140380466A1 (en) | Method and apparatus for providing hierarchical pattern recognition of communication network data | |
CN113328994B (zh) | 一种恶意域名处理方法、装置、设备及机器可读存储介质 | |
CN110602030A (zh) | 网络入侵阻断方法、服务器及计算机可读介质 | |
EP4238015A1 (en) | Automated real-time detection, prediction and prevention of rare failures in industrial system with unlabeled sensor data | |
CN114968633A (zh) | 异常日志的检测方法及装置 | |
CN115357470A (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
US11410049B2 (en) | Cognitive methods and systems for responding to computing system incidents | |
CN111611097A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN112100617A (zh) | 一种异常sql检测方法及装置 | |
CN115567371B (zh) | 一种异常检测方法、装置、设备及可读存储介质 | |
WO2023050670A1 (zh) | 虚假信息检测方法、系统、计算机设备及可读存储介质 | |
CN115189961A (zh) | 一种故障识别方法、装置、设备及存储介质 | |
CN113989720A (zh) | 目标检测方法、训练方法、装置、电子设备及存储介质 | |
US11120009B2 (en) | Method and a device for detecting an anomaly | |
CN112511568A (zh) | 一种网络安全事件的关联分析方法、装置及存储介质 | |
CN114756401B (zh) | 基于日志的异常节点检测方法、装置、设备及介质 | |
CN113850499B (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
US20230370350A1 (en) | System and method for outage prediction | |
CN116881092A (zh) | 告警数据的预测方法、装置、设备和存储介质 | |
CN115545935A (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 |