大数据网络系统的故障诊断方法和装置与流程

文档序号:18684957发布日期:2019-09-13 23:52阅读:343来源:国知局
大数据网络系统的故障诊断方法和装置与流程

本发明实施例涉及大数据处理领域,并且更为具体地,涉及一种大数据网络系统的故障诊断方法和装置。



背景技术:

故障诊断是指利用各种检查和测试方法,对系统的状态和异常情况进行判断、并对故障的类型或故障产生的原因进行定位,最终给出解决方案,实现故障恢复的过程。

故障诊断是很多工业系统中的重要过程。近年来,随着现代工业呈现不断大型化、复杂化的趋势,故障诊断越来越重要,同时对于故障诊断技术的挑战也越来越大。

传统的故障诊断方式主要有两种,一种是建立精确的故障诊断模型,另一种是基于专家的经验进行诊断,以上两种故障诊断模式主要适用于简单系统的故障诊断。但是,大数据网络系统(例如电信运营商的网络、大型数据中心网络等)数据种类多种多样,既包括结构化数据,如数据库中的数据,也包括非结构化数据,如图形,文本等。此外,大数据网络系统每天会产生海量的数据,网络系统故障表现的症状以及导致网络系统故障的原因也多种多样,很难依靠传统的故障诊断方法进行诊断。



技术实现要素:

本发明实施例提供一种大数据网络系统的故障诊断方法和装置,以解决大数据网络系统的故障诊断难的问题。

第一方面,提供一种大数据网络系统的故障诊断方法,包括:获取所述网络系统的历史数据,所述历史数据为异质数据,所述异质数据包括结构化数据和非结构化数据,所述历史数据包括故障信息,用于描述所述网络系统的多次故障的原因和症状;从所述结构化数据的结构化字段、以及所述非结构化数据的数据内容中获取所述故障信息,以确定故障相关的随机变量的多组取值,其中,所述故障相关的随机变量的一组取值用于指示所述网络系统的一次故障的症状和原因的关联关系,所述故障相关的随机变量包括第一类随机变量和第二类随机变量,所述第一类随机变量用于表征所述网路系统的故障的症状,所述第二类随机变量用于表征所述网络系统的故障的原因;将所述故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型;根据所述网络系统的当前故障所表现的症状,为所述第一类随机变量赋值;根据所述第一类随机变量的赋值,通过所述深层和积网络模型,确定所述第二类随机变量的边缘概率或条件概率;根据所述第二类随机变量的边缘概率或条件概率,推断所述当前故障的原因。

结合第一方面,在第一方面的一种实现方式中,所述将所述故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型,包括:根据所述多组取值,生成数值矩阵,所述数值矩阵的每一行对应所述网络系统的多次故障中的一次故障,所述数值矩阵的每一列对应所述故障相关的随机变量中的一个变量;将所述数值矩阵划分成大小相等的m×n个第一子矩阵,其中,m和n均为正整数,且m和n之和大于等于2;根据所述m×n个第一子矩阵,采用分布式训练的方式,得到m×n个和积网络模型;根据所述m×n个和积网络模型,确定所述深层和积网络模型。

结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述根据所述m×n个和积网络模型,确定所述深层和积网络模型,包括:将所述m×n个第一子矩阵中的位于同一行的第一子矩阵训练而成的和积网络模型求积,得到m个中间和积网络模型;将所述m个中间和积网络模型求和,得到所述深层和积网络模型。

结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述根据所述m×n个和积网络模型,确定所述深层和积网络模型,包括:将所述m×n个第一子矩阵中的位于同一列的第一子矩阵训练而成的和积网络模型求和,得到n个中间和积网络模型;将所述n个中间和积网络模型求积,得到所述深层和积网络模型。

结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述根据所述m×n个和积网络模型,确定所述深层和积网络模型,包括:生成以所述m×n个和积网络模型为元素的目标矩阵;基于随机变量的独立性检验和混合概率模型估计,递归地对所述目标矩阵进行分裂,得到所述深层和积网络模型,其中,所述深层和积网络以所述m×n个和积网络模型为叶子节点。

结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述从所述结构化数据的结构化字段、以及所述非结构化数据的数据内容中获取所述故障信息,以确定故障相关的随机变量的多组取值,包括:根据所述结构化数据中的结构化字段的取值范围,将所述结构化字段中的信息离散化,以确定所述故障相关的随机变量的取值;和/或利用命名实体识别算法、关键词抽取算法、关系抽取算法、文本分类算法中的至少一种,对所述非结构化数据的数据内容进行信息抽取,以确定所述故障相关的随机变量的取值。

结合第一方面或其上述实现方式的任一种,在第一方面的另一种实现方式中,所述结构化数据为数据库中的数据,所述根据所述结构化数据中的结构化字段的取值范围,将所述结构化字段中的信息离散化,以确定所述故障相关的随机变量的取值,包括:根据所述数据库中的每一列对应的字段的取值范围,将所述数据库逐列进行离散化,得到所述故障相关的随机变量的取值。

第二方面,提供一种大数据网络系统的故障诊断装置,包括:获取模块,用于获取所述网络系统的历史数据,所述历史数据为异质数据,所述异质数据包括结构化数据和非结构化数据,所述历史数据包括故障信息,用于描述所述网络系统的多次故障的原因和症状;提取模块,用于从所述结构化数据的结构化字段、以及所述非结构化数据的数据内容中获取所述故障信息,以确定故障相关的随机变量的多组取值,其中,所述故障相关的随机变量的一组取值用于指示所述网络系统的一次故障的症状和原因的关联关系,所述故障相关的随机变量包括第一类随机变量和第二类随机变量,所述第一类随机变量用于表征所述网路系统的故障的症状,所述第二类随机变量用于表征所述网络系统的故障的原因;训练模块,用于将所述故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型;赋值模块,用于根据所述网络系统的当前故障所表现的症状,为所述第一类随机变量赋值;确定模块,用于根据所述第一类随机变量的赋值,通过所述深层和积网络模型,确定所述第二类随机变量的边缘概率或条件概率;推断模块,用于根据所述第二类随机变量的边缘概率或条件概率,推断所述当前故障的原因。

结合第二方面,在第二方面的一种实现方式中,所述训练模块具体用于根据所述多组取值,生成数值矩阵,所述数值矩阵的每一行对应所述网络系统的多次故障中的一次故障,所述数值矩阵的每一列对应所述故障相关的随机变量中的一个变量;将所述数值矩阵划分成大小相等的m×n个第一子矩阵,其中,m和n均为正整数,且m和n之和大于等于2;根据所述m×n个第一子矩阵,采用分布式训练的方式,得到m×n个和积网络模型;根据所述m×n个和积网络模型,确定所述深层和积网络模型。

结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述训练模块具体用于将所述m×n个第一子矩阵中的位于同一行的第一子矩阵训练而成的和积网络模型求积,得到m个中间和积网络模型;将所述m个中间和积网络模型求和,得到所述深层和积网络模型。

结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述训练模块具体用于将所述m×n个第一子矩阵中的位于同一列的第一子矩阵训练而成的和积网络模型求和,得到n个中间和积网络模型;将所述n个中间和积网络模型求积,得到所述深层和积网络模型。

结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述训练模块具体用于生成以所述m×n个和积网络模型为元素的目标矩阵;基于随机变量的独立性检验和混合概率模型估计,递归地对所述目标矩阵进行分裂,得到所述深层和积网络模型,其中,所述深层和积网络以所述m×n个和积网络模型为叶子节点。

结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述提取模块具体用于根据所述结构化数据中的结构化字段的取值范围,将所述结构化字段中的信息离散化,以确定所述故障相关的随机变量的取值;和/或利用命名实体识别算法、关键词抽取算法、关系抽取算法、文本分类算法中的至少一种,对所述非结构化数据的数据内容进行信息抽取,以确定所述故障相关的随机变量的取值。

结合第二方面或其上述实现方式的任一种,在第二方面的另一种实现方式中,所述结构化数据为数据库中的数据,所述提取模块具体用于根据所述数据库中的每一列对应的字段的取值范围,将所述数据库逐列进行离散化,得到所述故障相关的随机变量的取值。

深层和积网络模型是一种多层次、非线性的概率模型,这种概率模型具有规模大、表达能力强、精确推断的效率高等特性,现有技术多运用在图像处理领域,为了将深层和积网络模型应用在大数据网络系统的故障诊断中,本发明实施例首先将随机变量划分为第一类随机变量和第二类随机变量,然后从复杂多样的异质数据中提取故障信息,为随机变量赋值,得到符合深层和积网络模型训练要求的训练样本数据,当深层和积网络模型训练完成后,根据网络系统的当前故障所表现的症状为第一类随机变量赋值,然后推断第二类随机变量的边缘概率或条件概率,从而推断出网络系统的当前故障的原因。通过以上方式,本发明实施例将深层和积网络模型运用到大数据网络系统的故障诊断过程中,解决了大数据网络系统的故障诊断难的问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是深层和积网络的示意性结构图。

图2是深层和积网络的训练过程示意图。

图3是深层和积网络的训练算法示意图。

图4是本发明实施例的大数据网络系统的故障诊断方法的示意性流程图。

图5是本发明实施例的深层和积网络的分布式训练方式示例图。

图6是本发明实施例的网络系统故障诊断的流程图。

图7是本发明实施例的大数据网络系统的故障诊断装置的示意性框图。

图8是本发明实施例的大数据网络系统的故障诊断装置的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

为了便于理解,先简单介绍深层和积网络模型的定义和概率推断方式。

深层和积网络模型针对的问题:对于一组随机变量{X1,X2,…,Xp},给出其若干观测样本,建立其多元概率模型,从而对边缘概率P(XA)或其条件概率P(XA|XB)进行推断,其中A、B均为{1,…,p}的子集合。

下面结合图1,简单介绍深层和积网络模型。

图1中的(a):一元概率分布式和积网络;

图1中的(b):两个变量集无交集的和积网络组成的乘积式和积网络;

图1中的(c):两个变量集一致的和积网络组成的加权和式和积网络;

图1中的(d):由以上简单类型的和积网络堆叠而成的深层和积网络。

深层和积网络的推断方式:

叶子节点赋值,自下而上计算,达到根节点时即可得到最终的概率值。

边缘概率:边缘化变量概率置1。

条件概率:利用贝叶斯公式计算:P(XA|XB)=P(XA,XB)/P(XB)。

下面简单介绍一下深层和积网络模型的训练过程,

首先,深层和积网络的训练样本数据可以看作一个|T|×|V|的矩阵M,其中T表示样本集合(|T|表示样本个数),V表示随机变量集合(|V|表示随机变量个数)。

深层和积网络结构训练过程如图2所示,步骤如下:

在训练数据上递归的进行变量维度的分裂(矩阵M的列分裂)和样本维度的分裂(矩阵M的行分裂);

每次迭代先选择从变量维度分裂或者从样本维度分裂数据;

从变量维度分裂(即矩阵M的列分裂):进行变量集合独立性检验(Independency test),或称独立假设检验,将变量分为独立的集合,每次变量分裂对应深层和积网络中的一个“积”节点。

从样本维度分裂(即矩阵M的行分裂):训练混合概率模型(mixture model),将样本分为不同的分量,每次样本分裂对应深层和积网络中的一个“和”节点。

图3从算法的维度展示了深层和积网络的训练流程。该算法的输入为|T|×|V|的矩阵M,其中V表示变量集合,T表示样本集合;输出为深层和积网络。该算法为一个递归算法。第一步,算法判断输入变量的个数|V|:如果|V|=1,则直接在T个样本上根据数据M进行一元多项分布的估计,并返回估计的结果;如果|V|>1,则尝试在变量集合V上进行独立性检验。若检验结果为存在两个及以上的独立变量集合,则将数据M按照独立变量划分,并调用深层和积网络训练算法对每份数据进行概率估计,最后将所得结果相乘并返回;若检验结果为不存在两个及以上的独立变量集合,则在样本集合T上根据数据M进行混合模型估计,根据估计结果将数据按照样本划分,并调用深层和积网络训练算法对每份数据进行概率估计,最后将做得结果加权求和并返回。“独立性检验”和“混合模型估计”是该算法的两个关键步骤,目前的技术采用基于互信息(mutual information)的估计来进行“独立性检验”,采用朴素贝叶斯混合模型进行“混合模型估计”。

以下为深层和积网络训练算法的伪代码:

上文简单介绍了深层和积网络的定义、概率推断方式以及训练过程,下文结合图4,详细描述本发明实施例的大数据网络系统的故障诊断方法。

图4是本发明实施例的大数据网络系统的故障诊断方法的示意性流程图。图4的方法包括:

410、获取网络系统的历史数据,历史数据包含异质数据,异质数据包括结构化数据和非结构化数据,历史数据包括故障信息,用于描述网络系统的多次故障的原因和症状。

可替换地,所述异质数据包括结构化数据、非结构化数据和半结构化数据中的至少两种。

420、从结构化数据的结构化字段、以及非结构化数据的数据内容中获取故障信息,以确定故障相关的随机变量的多组取值,其中,故障相关的随机变量的一组取值用于指示网络系统的一次故障的症状和原因的关联关系,故障相关的随机变量包括第一类随机变量和第二类随机变量,第一类随机变量用于表征网路系统的故障的症状,第二类随机变量用于表征网络系统的故障的原因。

430、将故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型。

440、根据网络系统的当前故障所表现的症状,为第一类随机变量赋值。

450、根据第一类随机变量的赋值,通过深层和积网络模型,确定第二类随机变量的边缘概率或条件概率。

460、根据第二类随机变量的边缘概率或条件概率,推断当前故障的原因。

深层和积网络模型是一种多层次、非线性的概率模型,这种概率模型具有规模大、表达能力强、快速准确等特性,现有技术多运用在图像处理领域,为了将深层和积网络模型应用在大数据网络系统的故障诊断中,本发明实施例首先将随机变量划分为第一类随机变量和第二类随机变量,然后从复杂多样的历史数据中提取故障信息,为随机变量赋值,得到符合深层和积网络模型要求的训练样本数据,当深层和积网络模型训练完成后,根据网络系统的当前故障所表现的症状为第一类随机变量赋值,然后推断第二类随机变量的边缘概率或条件概率,从而推断出网络系统的当前故障的原因。通过以上方式,本发明实施例将深层和积网络模型运用到大数据网络系统的故障诊断过程中,解决了大数据网络系统的故障诊断难的问题。

应理解,网络系统中可以包括结构化数据、非结构化数据和半结构化数据,本发明实施例要先从各种各样的历史数据中提取故障信息,为故障相关的随机变量赋值。不同类型的数据的信息提取方式不同。

具体地,可以根据结构化数据中的结构化字段的取值范围,将结构化字段中的信息离散化,以确定故障相关的随机变量的取值;和/或利用命名实体识别算法、关键词抽取算法、关系抽取算法、文本分类算法中的至少一种,对非结构化数据的数据内容进行信息抽取,以确定故障相关的随机变量的取值。

下面以结构化数据、纯非结构化数据、半结构化数据为例,分别进行描述。

1)结构化数据:结构化数据的转化通常是直接的。以关系数据库中的表为例,表的每一行对应与一个实例;表的每一列对应不同的变量的子集合。每一列内,根据其取值范围进行离散化,将其转化为若干变量。例如,某列(“Country”)的取值为{“China”,“India”,“US”},则此列可以转化为三个变量,其意义分别是“Country=China”,“Country=India”,“Country=US”。对于某个具体实例,如果其“Country”列的取值为“India”,则其转化为的变量为[0,1,0]。

2)半结构化数据:半结构化数据没有固定的结构,通常用可扩展标记语言(Extensible Markup Language,XML)或JSON(JavaScript Object Notation)等格式表示。结构化的字段(例如XML tag,JSON key)是可枚举的,每个字段可以对应为一个变量的子集合。对于每个字段的内容,如果也是结构化的,则按照1)中结构化数据的方式处理,如果是非结构化的,则按照3)中非结构化数据的方式处理。

3)非结构化数据:非结构数据是指长度可变、不可枚举的数据,典型的例如文本、图像、视频等。处理非结构化数据的方法较为多样,以文本数据为例,需要利用信息抽取的技术从非结构化数据中抽取出与应用(故障诊断)相关的结构化数据,主要包括:

命名实体识别,抽取在文本中出现的实体词或短语,

关键词抽取,抽取文本中重要的词和短语,

关系抽取,抽取文本中实体之间的关系,

文本分类,将文本自动的映射到一个预设的分类体系。

上述任务的完成需要根据具体数据的特性,通过统计、机器学习、数据挖掘、人工辅助等手段实现。一些典型的技术例如:

命名实体识别:条件随机场(Conditional Random Field,CRF);

关键词抽取:信息检索数据挖掘的常用加权技术(term frequency–inverse document frequency,TF-IDF)模型;

关系抽取:Bootstrapping方法,

文本分类:分类器如支撑向量机(Support Vector Machine,SVM),决策树(Decision Tree),神经网络(Neural Network)等。

大数据网络系统还有一个特点,就是数据量很大,而且网络系统发生故障时表项的症状以及该故障产生的原因通常多种多样。此外,由于涉及多种异质数据,很多变量是从半结构化、非结构化数据中导出,因此随机变量的维数通常很大。随着训练数据规模的变大,现有的单机深层和积网络的训练算法收敛变慢甚至可能无法处理。

可选地,作为一个实施例,步骤430可包括:根据多组取值,生成数值矩阵,数值矩阵的每一行对应网络系统的多次故障中的一次故障,数值矩阵的每一列对应故障相关的随机变量中的一个变量;将数值矩阵划分成大小相等的m×n个第一子矩阵,其中,m和n均为正整数,且m和n之和大于等于2;根据m×n个第一子矩阵,采用分布式训练的方式,得到m×n个和积网络模型;根据m×n个和积网络模型,确定深层和积网络模型。

本发明实施例提出深层和积网络模型的分布式训练方式,通过将数值矩阵划分成多个子矩阵,采用分布式训练的方式得到多个和积网络模型,然后再基于得到的多个和积网络模型,确定深层和积网络模型。这种分布式训练方式更加适合大数据的网络系统的深层和积网络模型的训练,可以有效避免由于样本量太大或随机变量太多而引起的算法无法计算或无法收敛的问题。

需要说明的是,上述根据m×n个和积网络模型,确定深层和积网络模型的方式可以有多种,下面结合具体的例子进行详细描述。

可选地,作为一个实施例,上述根据m×n个和积网络模型,确定深层和积网络模型可包括:将m×n个第一子矩阵中的位于同一行的第一子矩阵训练而成的和积网络模型求积,得到m个中间和积网络模型;将m个中间和积网络模型求和,得到深层和积网络模型。

可选地,作为一个实施例,上述根据m×n个和积网络模型,确定深层和积网络模型可包括:将m×n个第一子矩阵中的位于同一列的第一子矩阵训练而成的和积网络模型求和,得到n个中间和积网络模型;将n个中间和积网络模型求积,得到深层和积网络模型。

可选地,作为一个实施例,上述根据m×n个和积网络模型,确定深层和积网络模型可包括:生成以m×n个和积网络模型为元素的目标矩阵;基于随机变量的独立性性检验和混合概率模型估计(或者称为样本的混合概率模型估计),递归地对目标矩阵进行分裂,得到深层和积网络模型,其中,深层和积网络以m×n个和积网络模型为叶子节点。

如图2所示,现有技术中,深层和积网络模型是基于训练样本矩阵,采用变量维度的分裂和样本维度的分裂(即矩阵的列分裂和行分裂)相结合的方式训练得到的。本发明实施例也采用类似现有技术的分裂方式训练深层和积网络模型,不过,本发明实施例中的目标矩阵的元素不是数值,而是分布式训练得到的m×n个和积网络模型,这样,按照类似的方式训练得到的深层和积网络模型的叶子节点不再是某个随机变量的一元分布,而是m×n个和积网络模型中的一个和积网络模型。具体地,可以采用如下步骤实现:

步骤一、将目标矩阵按行列随机等分为m×n个第一子矩阵:{Mij},i=1,…,m;j=1,…,n。

步骤二、对于每个Mij,训练一个深层和积网络Sij,该过程可以对m×n个{Mij}并行进行;根据Mij的规模,训练深层和积网络Sij的方式可以采用上文提到的LearnSPNSingle算法或下文中的分布式算法LearnSPN。

步骤三、对于得到的m×n个深层和积网络{Sij},使用下文中的LearnSPNProb算法学习深层和积网络S,其中,S的叶子节点为和积网络模型。

需要说明的是,算法LearnSPNProb与算法LearnSPNSingle的主要区别在于后者的输入是数值矩阵,而前者的输入则是概率分布的目标矩阵,更确切的说,目标矩阵的元素均为一个和积网络模型,具体参见图5。LearnSPNProb仍然采用从样本维度或变量维度不断分裂输入的矩阵的思想来构建最终的深层和积网络,其中最关键的两个步骤就是独立性检验(对应变量维度分裂)和混合概率模型(对应样本维度分裂)。设目标矩阵的元素Sij的概率分布为Pij(xj),i=1,...m,j=1,...,n(这时xj表示一组随机变量),下面详细描述针对目标矩阵分裂的独立性检验和混合概率模型。

独立性检验[1]:

通过计算两组随机变量的互信息(mutual information)来检验两组变量的独立性,互信息的计算方式可以为:

其中为来自于Pi(xj,xk)的样本。这些样本可以来自于最初的数值矩阵的采样,也可以通过蒙特卡罗方法(Monte Carlo Methods)抽样得到。当I(xj,xk)<ε时,则认为两组随机变量独立,ε为预先给定的阈值。

对于任意两组随机变量进行独立性检验,并给不独立的变量组之间添加一条边,则若最终形成的图中包含多个连通分量,则说明按照分量进行变量划分,若最终形成图中只有一个连通分量,则按照下述混合概率模型的方式进行样本划分。

混合概率模型[2]:

混合概率模型假设概率由K个潜在(latent)分量组成:

其中DKL(p,q)=∑p(x)log p(x)/q(x)表示分布之间的KL距离(Kullback–Leibler divergence)。整个样本上的对数似然函数为:

上述似然函数中包含隐变量z,可以采用标准EM算法(Expectation-maximization algorithm)优化求解。根据优化的结果,可以将样本划分为K个分量,即实现了样本维度的分裂。

深层和积网络训练的分布式算法LearnSPN的输入为一个|T|×|V|的数值矩阵M,其中V表示变量集合,T表示样本集合。其输出为一个深层和积网络。该算法将M随机等分为m×n份数据(每份数据对应上文中的一个第一子矩阵):{(Mij,Ti,Vj,),i=1,…,m,j=1,…,n},并将这m×n份训练数据平均分发给K台机器,进行并行计算。当Mij的规模较小时,可以使用单机训练算法LearnSPNSingle进行训练;当Mij的规模较大时,可以仍然采用分布式算法LearnSPN进行训练。计算完成后得到的m×n个和积网络{Sij,i=1,…,m,j=1,…,n}。然后使用针对目标矩阵的算法LearnSPNProb来构建最终的深度和积网络S,其中S的叶子节点为和积网络{Sij}。

以下为LearnSPN算法和LearnSPNProb算法的伪代码:

训练算法:LearnSPN(M,T,V)

输入:M为一个|T|×|V|的数据矩阵,其中T为样本集合,V为变量集合,矩阵规模阈值R

输出:一个深层和积网络

将M按样本维度和变量维度随机等分为m×n份数据:{(Mij,Ti,Vj),i=1,…,m,j=1,…,n}

将数据平均分发给K台机器

FOR k in 1,…,K,并行计算:

对于训练集合(Mij,Ti,Vj),训练和积网络:

IF|T|×|V|<R THEN

Sij=LearnSPNSingle(Mij,Ti,Vj)

ELSE:

Sij=LearnSPN(Mij,Ti,Vj)

M={Sij}

RETURN LearnSPNProb(M,T,V)

训练算法:LearnSPNProb(M,T,V)

输入:M为一个|T|×|V|的概率矩阵,其中T为样本集合,V为变量集合

输出:深层和积网络

IF|V|=1THEN

RETURN∑j|Tj|/|T|LearnSPNProb(M,V,Tj)

ELSE

依照独立性检验[1]在变量V上进行独立性检验

IF存在两组及以上的独立变量集合Vk THEN

RETURN∏k LearnSPNProb(M,T,Vk)

ELSE

依照混合概率模型[2]在样本T上进行混合模型估计,将数据划分为若干分量Tk

RETURN∑k|Tk|/|T|LearnSPNProb(M,V,Tk)

END IF

END IF

下面结合具体例子,更加详细地描述本发明实施例。应注意,图6的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。

参考图6,本发明实施例的大数据网络系统的故障诊断方法大致可以分为以下三个步骤:

步骤一、从网络系统中采集历史数据(异质数据,记录了故障信息),经过数据处理,形成训练样本数据(为数值矩阵)。

步骤二、将上述训练样本输入到深层和积网络模型中,进行分布式学习,得到深层和积网络模型。

步骤三、从系统中采集包含故障症状的信息为第一类随机变量赋值,通过训练得到的深层和积网络模型,推断第二类随机变量的条件概率或边缘概率,从而得到网络系统当前故障的原因。

例如,第二类随机变量包括3个变量,分别指示可能导致网络系统故障的3个原因,基于推断出的条件概率,将条件概率最高的随机变量对应的原因作为网络系统当前故障的原因。

上文结合图1至图6,详细描述了根据本发明实施例的大数据网络系统的故障诊断方法,下文结合图7和图8,详细描述根据本发明实施例的大数据网络系统的故障诊断装置。应理解,图7和图8的故障诊断装置能够实现图1-至6中的各个步骤,为避免重复,此处不再详述。

图7是本发明实施例的大数据网络系统的故障诊断装置的示意性框图。图7的装置700包括:

获取模块710,用于获取所述网络系统的历史数据,所述历史数据为异质数据,所述异质数据包括结构化数据和非结构化数据,所述历史数据包括故障信息,用于描述所述网络系统的多次故障的原因和症状;

提取模块720,用于从所述结构化数据的结构化字段、以及所述非结构化数据的数据内容中获取所述故障信息,以确定故障相关的随机变量的多组取值,其中,所述故障相关的随机变量的一组取值用于指示所述网络系统的一次故障的症状和原因的关联关系,所述故障相关的随机变量包括第一类随机变量和第二类随机变量,所述第一类随机变量用于表征所述网路系统的故障的症状,所述第二类随机变量用于表征所述网络系统的故障的原因;

训练模块730,用于将所述故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型;

赋值模块740,用于根据所述网络系统的当前故障所表现的症状,为所述第一类随机变量赋值;

确定模块750,用于根据所述第一类随机变量的赋值,通过所述深层和积网络模型,确定所述第二类随机变量的边缘概率或条件概率;

推断模块760,用于根据所述第二类随机变量的边缘概率或条件概率,推断所述当前故障的原因。

深层和积网络模型是一种多层次、非线性的概率模型,这种概率模型具有规模大、表达能力强、快速准确等特性,现有技术多运用在图像处理领域,为了将深层和积网络模型应用在大数据网络系统的故障诊断中,本发明实施例首先将随机变量划分为第一类随机变量和第二类随机变量,然后从复杂多样的历史数据中提取故障信息,为随机变量赋值,得到符合深层和积网络模型要求的训练样本数据,当深层和积网络模型训练完成后,根据网络系统的当前故障所表现的症状为第一类随机变量赋值,然后推断第二类随机变量的边缘概率或条件概率,从而推断出网络系统的当前故障的原因。通过以上方式,本发明实施例将深层和积网络模型运用到大数据网络系统的故障诊断过程中,解决了大数据网络系统的故障诊断难的问题。

可选地,作为一个实施例,所述训练模块730可具体用于根据所述多组取值,生成数值矩阵,所述数值矩阵的每一行对应所述网络系统的多次故障中的一次故障,所述数值矩阵的每一列对应所述故障相关的随机变量中的一个变量;将所述数值矩阵划分成大小相等的m×n个第一子矩阵,其中,m和n均为正整数,且m和n之和大于等于2;根据所述m×n个第一子矩阵,采用分布式训练的方式,得到m×n个和积网络模型;根据所述m×n个和积网络模型,确定所述深层和积网络模型。

可选地,作为一个实施例,所述训练模块730可具体用于将所述m×n个第一子矩阵中的位于同一行的第一子矩阵训练而成的和积网络模型求积,得到m个中间和积网络模型;将所述m个中间和积网络模型求和,得到所述深层和积网络模型。

可选地,作为一个实施例,所述训练模块730可具体用于将所述m×n个第一子矩阵中的位于同一列的第一子矩阵训练而成的和积网络模型求和,得到n个中间和积网络模型;将所述n个中间和积网络模型求积,得到所述深层和积网络模型。

可选地,作为一个实施例,所述训练模块730可具体用于生成以所述m×n个和积网络模型为元素的目标矩阵;基于随机变量的独立性检验和混合概率模型估计,递归地对所述目标矩阵进行分裂,得到所述深层和积网络模型,其中,所述深层和积网络以所述m×n个和积网络模型为叶子节点。

可选地,作为一个实施例,所述提取模块720可具体用于根据所述结构化数据中的结构化字段的取值范围,将所述结构化字段中的信息离散化,以确定所述故障相关的随机变量的取值;和/或利用命名实体识别算法、关键词抽取算法、关系抽取算法、文本分类算法中的至少一种,对所述非结构化数据的数据内容进行信息抽取,以确定所述故障相关的随机变量的取值。

可选地,作为一个实施例,所述结构化数据为数据库中的数据,所述提取模块720可具体用于根据所述数据库中的每一列对应的字段的取值范围,将所述数据库逐列进行离散化,得到所述故障相关的随机变量的取值。

图8是本发明实施例的大数据网络系统的故障诊断装置的示意性框图。图8的装置800包括:

存储器810,用于存储程序;

处理器820,用于执行程序,当所述程序被执行时,所述处理器820具体用于获取所述网络系统的历史数据,所述历史数据为异质数据,所述异质数据包括结构化数据和非结构化数据,所述历史数据记录有故障信息,用于描述所述网络系统的多次故障的原因和症状;从所述结构化数据的结构化字段、以及所述非结构化数据的数据内容中获取所述故障信息,以确定故障相关的随机变量的多组取值,其中,所述故障相关的随机变量的一组取值用于指示所述网络系统的一次故障的症状和原因的关联关系,所述故障相关的随机变量包括第一类随机变量和第二类随机变量,所述第一类随机变量用于表征所述网路系统的故障的症状,所述第二类随机变量用于表征所述网络系统的故障的原因;将所述故障相关的随机变量的多组取值作为训练样本数据,训练深层和积网络模型;根据所述网络系统的当前故障所表现的症状,为所述第一类随机变量赋值;根据所述第一类随机变量的赋值,通过所述深层和积网络模型,确定所述第二类随机变量的边缘概率或条件概率;根据所述第二类随机变量的边缘概率或条件概率,推断所述当前故障的原因。

深层和积网络模型是一种多层次、非线性的概率模型,这种概率模型具有规模大、表达能力强、快速准确等特性,现有技术多运用在图像处理领域,为了将深层和积网络模型应用在大数据网络系统的故障诊断中,本发明实施例首先将随机变量划分为第一类随机变量和第二类随机变量,然后从复杂多样的历史数据中提取故障信息,为随机变量赋值,得到符合深层和积网络模型要求的训练样本数据,当深层和积网络模型训练完成后,根据网络系统的当前故障所表现的症状为第一类随机变量赋值,然后推断第二类随机变量的边缘概率或条件概率,从而推断出网络系统的当前故障的原因。通过以上方式,本发明实施例将深层和积网络模型运用到大数据网络系统的故障诊断过程中,解决了大数据网络系统的故障诊断难的问题。

可选地,作为一个实施例,所述处理器820可具体用于根据所述多组取值,生成数值矩阵,所述数值矩阵的每一行对应所述网络系统的多次故障中的一次故障,所述数值矩阵的每一列对应所述故障相关的随机变量中的一个变量;将所述数值矩阵划分成大小相等的m×n个第一子矩阵,其中,m和n均为正整数,且m和n之和大于等于2;根据所述m×n个第一子矩阵,采用分布式训练的方式,得到m×n个和积网络模型;根据所述m×n个和积网络模型,确定所述深层和积网络模型。

可选地,作为一个实施例,所述处理器820可具体用于将所述m×n个第一子矩阵中的位于同一行的第一子矩阵训练而成的和积网络模型求积,得到m个中间和积网络模型;将所述m个中间和积网络模型求和,得到所述深层和积网络模型。

可选地,作为一个实施例,所述处理器820可具体用于将所述m×n个第一子矩阵中的位于同一列的第一子矩阵训练而成的和积网络模型求和,得到n个中间和积网络模型;将所述n个中间和积网络模型求积,得到所述深层和积网络模型。

可选地,作为一个实施例,所述处理器820可具体用于生成以所述m×n个和积网络模型为元素的目标矩阵;基于随机变量的独立性检验和混合概率模型估计,递归地对所述目标矩阵进行分裂,得到所述深层和积网络模型,其中,所述深层和积网络以所述m×n个和积网络模型为叶子节点。

可选地,作为一个实施例,所述处理器820可具体用于根据所述结构化数据中的结构化字段的取值范围,将所述结构化字段中的信息离散化,以确定所述故障相关的随机变量的取值;和/或利用命名实体识别算法、关键词抽取算法、关系抽取算法、文本分类算法中的至少一种,对所述非结构化数据的数据内容进行信息抽取,以确定所述故障相关的随机变量的取值。

可选地,作为一个实施例,所述结构化数据为数据库中的数据,所述处理器820可具体用于根据所述数据库中的每一列对应的字段的取值范围,将所述数据库逐列进行离散化,得到所述故障相关的随机变量的取值。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1