一种基于贝叶斯分类器的网络故障诊断方法及装置转让专利

申请号 : CN202311494191.7

文献号 : CN117240700B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨泓雨龚永生张雷

申请人 : 浙江九州未来信息科技有限公司

摘要 :

本说明书实施例公开了一种基于贝叶斯分类器的网络故障诊断方法及装置。该方法包括将各日志文本向量划分为日志集;计算两个日志向量条目的余弦相似度,并将余弦相似度高于第一预设值的两个日志向量条目归并赋予同一日志属性;构建各日志集对应的各日志属性集;计算日志属性对的皮尔逊相关性系数,并对目标日志属性对进行冗余剔除,得到目标日志属性集;训练贝叶斯分类器,并基于贝叶斯分类器诊断实时获取的异常日志对应的故障类型。本说明书实施例能够直接通过异常日志的日志属性对复杂的故障诊断场景进行高效诊断,且能够提供可信度高的诊断结果,降低了误报率和漏报率,有助于

权利要求 :

1.一种基于贝叶斯分类器的网络故障诊断方法,其特征在于,所述方法包括:获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;

针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性,所述日志向量条目是所述日志文本向量中的关键词向量,每个所述日志向量条目具有一个UUID标识符;

遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;

针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;

遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;

根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。

2.根据权利要求1所述的方法,其特征在于,所述获取历史网络故障对应的日志文本向量,包括:获取历史网络故障对应的日志信息,分别文本向量化各所述日志信息,得到各日志文本向量。

3.根据权利要求1所述的方法,其特征在于,所述基于故障类型将各所述日志文本向量划分为至少一个日志集,包括:基于故障类型对各所述日志文本向量标注,将标注相同的各所述日志文本向量划分成一个日志集,得到至少一个所述日志集。

4.根据权利要求1所述的方法,其特征在于,所述对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除,包括:确定所述皮尔逊相关性系数超出第一预设范围的目标日志属性对中时序滞后的目标日志属性,剔除所述目标日志属性。

5.根据权利要求1所述的方法,其特征在于,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型,包括:基于训练好的贝叶斯分类器处理实时获取的异常日志,得到至少一个预测故障类型和所述预测故障类型对应的故障概率;

将所述故障概率最高的目标预测故障类型确定为所述异常日志对应的故障类型。

6.根据权利要求1所述的方法,其特征在于,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型之后,还包括:获取所述故障类型对应的故障时间预测矩阵,基于所述故障时间预测矩阵确定预测故障发生时间。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

当所述异常日志中存在所述贝叶斯分类器未能分类的异常日志属性时,比对所述异常日志属性对应的实际故障类型和所述贝叶斯分类器对应的故障类型集;

当所述故障类型集内存在与所述实际故障类型匹配的目标故障类型时,将所述异常日志属性添加至所述目标故障类型的故障集,并重新训练所述贝叶斯分类器;

当所述故障类型集内不存在与所述实际故障类型匹配的目标故障类型时,建立新的待训练故障类型,将所述异常日志属性添加至所述待训练故障类型的故障集,并重新训练所述贝叶斯分类器。

8.一种基于贝叶斯分类器的网络故障诊断装置,其特征在于,所述装置包括:获取模块,用于获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;

第一计算模块,用于针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性,所述日志向量条目是所述日志文本向量中的关键词向量,每个所述日志向量条目具有一个UUID标识符;

第一遍历模块,用于遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;

第二计算模块,用于针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;

第二遍历模块,用于遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;

诊断模块,用于根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1‑7任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1‑7任一项所述方法的步骤。

说明书 :

一种基于贝叶斯分类器的网络故障诊断方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及云计算网络技术,尤其涉及一种基于贝叶斯分类器的网络故障诊断方法及装置。

背景技术

[0002] 在云计算网络中,承载多种复杂应用服务的环境相对复杂。一方面云计算网络通常包含大量的服务器、存储设备和网络设备,这些设备可能分布在全球不同的数据中心,具有不同的硬件和软件配置,这种规模和多样性增加了网络管理和维护的难度。另一方面云计算网络需要实时监控和管理,以确保性能、可用性和安全性,使得管理人员需要处理大量的日志和事件数据,进行故障排除和性能优化。
[0003] 如果云计算网络出现故障,与该故障相关的各种设备和软件都会生成大量相似的警报。这些警报会通过网络传播,导致其他设备也产生大量警报。网络管理的主要目标是确保网络正常运行,而在大量相似的警报中确定故障的根本原因将是一项具有挑战性的任务。因此,有效的故障预测诊断方式和策略对于确保云网络的稳定性和性能至关重要。
[0004] 目前现有的云网络故障预测诊断方法,主要是基于对云计算服务器、中间网络设备的海量日志收集,结合监控告警系统对相关设备设施的关键网络指标、硬件性能指标的数据采集进行故障研判。这种方法在小规模、简单性云网络故障下的工作有效,但面对级联式云网络故障或者雪崩式云网络故障则难以适用。因为在级联式或雪崩式故障发生时,多种设备的监控信息、告警信息、日志信息将呈指数级增长,且用于故障诊断的信息呈现时间空间层面的重叠和冗余,网络故障的发生通常也存在多重诱因。综上,现有的故障诊断方法在面对级联式或雪崩式等类型的故障场景时,故障研判的时效性和准确性不够理想。

发明内容

[0005] 为了解决上述问题,本说明书一个或多个实施例描述了一种基于贝叶斯分类器的网络故障诊断方法及装置。
[0006] 根据第一方面,提供了一种基于贝叶斯分类器的网络故障诊断方法,所述方法包括:
[0007] 获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;
[0008] 针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性;
[0009] 遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;
[0010] 针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;
[0011] 遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;
[0012] 根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。
[0013] 优选的,所述获取历史网络故障对应的日志文本向量,包括:
[0014] 获取历史网络故障对应的日志信息,分别文本向量化各所述日志信息,得到各日志文本向量。
[0015] 优选的,所述基于故障类型将各所述日志文本向量划分为至少一个日志集,包括:
[0016] 基于故障类型对各所述日志文本向量标注,将标注相同的各所述日志文本向量划分成一个日志集,得到至少一个所述日志集。
[0017] 优选的,所述对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除,包括:
[0018] 确定所述皮尔逊相关性系数超出第一预设范围的目标日志属性对中时序滞后的目标日志属性,剔除所述目标日志属性。
[0019] 优选的,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型,包括:
[0020] 基于训练好的贝叶斯分类器处理实时获取的异常日志,得到至少一个预测故障类型和所述预测故障类型对应的故障概率;
[0021] 将所述故障概率最高的目标预测故障类型确定为所述异常日志对应的故障类型。
[0022] 优选的,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型之后,还包括:
[0023] 获取所述故障类型对应的故障时间预测矩阵,基于所述故障时间预测矩阵确定预测故障发生时间。
[0024] 优选的,所述方法还包括:
[0025] 当所述异常日志中存在所述贝叶斯分类器未能分类的异常日志属性时,比对所述异常日志属性对应的实际故障类型和所述贝叶斯分类器对应的故障类型集;
[0026] 当所述故障类型集内存在与所述实际故障类型匹配的目标故障类型时,将所述异常日志属性添加至所述目标故障类型的故障集,并重新训练所述贝叶斯分类器;
[0027] 当所述故障类型集内不存在与所述实际故障类型匹配的目标故障类型时,建立新的待训练故障类型,将所述异常日志属性添加至所述待训练故障类型的故障集,并重新训练所述贝叶斯分类器。
[0028] 根据第二方面,提供了一种基于贝叶斯分类器的网络故障诊断装置,所述装置包括:
[0029] 获取模块,用于获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;
[0030] 第一计算模块,用于针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性;
[0031] 第一遍历模块,用于遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;
[0032] 第二计算模块,用于针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;
[0033] 第二遍历模块,用于遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;
[0034] 诊断模块,用于根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。
[0035] 根据第三方面,提供了一种电子设备,包括处理器以及存储器;
[0036] 所述处理器与所述存储器相连;
[0037] 所述存储器,用于存储可执行程序代码;
[0038] 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
[0039] 根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如第一方面或第一方面的任意一种可能的实现方式提供的方法。
[0040] 本说明书实施例提供的方法及装置,能够通过对日志信息的文本向量化和对日志向量条目计算余弦相似度来归并日志属性的方式,将高维日志文本数据映射到低维空间,减少了日志数据的复杂性。同时通过皮尔逊相关性系数分析不同日志条目的日志属性之间的相关性,有助于识别故障类型和异常事件之间的关联,进一步降低日志属性的冗余度,以保证训练贝叶斯分类器使用的训练样本集的数据具有条件独立性。进而使得训练好的贝叶斯分类器能够直接通过异常日志的日志属性对复杂的故障诊断场景进行高效诊断,且能够提供可信度高的诊断结果,降低了误报率和漏报率,有助于及时发现和解决网络故障。

附图说明

[0041] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1是本说明书一个实施例中在一种基于贝叶斯分类器的网络故障诊断方法的流程图。
[0043] 图2是本说明书一个实施例中在一种基于贝叶斯分类器的网络故障诊断装置的结构示意图。
[0044] 图3是本说明书一个实施例中在一种电子设备的结构示意图。

具体实施方式

[0045] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0046] 在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本申请的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
[0047] 下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
[0048] 参见图1,图1是本申请实施例提供的一种基于贝叶斯分类器的网络故障诊断方法的流程示意图。在本申请实施例中,所述方法包括:
[0049] S101、获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集。
[0050] 本申请的执行主体可以是云计算网络中主要负责用于故障排除的云端服务器。
[0051] 在本说明书实施例中,云端服务器首先会对云网环境中的各个服务器和网络设备进行日志信息的采样,以得到历史发生网络故障时对应的相关日志信息的日志文本向量。网络故障会有多种不同的故障类型,因此获取到的不同日志文本向量对应的网络故障的故障类型也可能是不同的,故还需要根据故障类型对各个日志文本向量进行分类,将同一故障类型的各日志文本向量划分至一个日志集之中。最终,每个故障类型都会对应划分有一个日志集。
[0052] 示例性的,日志信息可以以 为时间周期,将设备IP、设备类型、时间、关键词向量记录成诸如 形式的日志文本向量。
[0053] 在一种可实施方式中,所述获取历史网络故障对应的日志文本向量,包括:
[0054] 获取历史网络故障对应的日志信息,分别文本向量化各所述日志信息,得到各日志文本向量。
[0055] 在本说明书实施例中,云网环境中的各个服务器和网络设备存储的日志信息可能存在多种不同的格式,例如文本格式、JSON格式、XML格式、数据库格式、二进制格式等。为了便于后续处理,云端服务器会对获取到的日志信息进行文本向量化处理,将这些日志文件统一从文本数据的形式转换成数据向量的形式。
[0056] 在一种可实施方式中,所述基于故障类型将各所述日志文本向量划分为至少一个日志集,包括:
[0057] 基于故障类型对各所述日志文本向量标注,将标注相同的各所述日志文本向量划分成一个日志集,得到至少一个所述日志集。
[0058] 在本说明书实施例中,云端服务器会根据故障类型对每个日志文本向量进行标注,不同的故障类型对应的标注将不同。在对所有的日志文本向量完成标注后,云端服务器会将标注相同的日志文本向量划分到一个日志集,以此为每一种故障类型划分有一个日志集。
[0059] 其中,由于日志文本向量是根据历史发生的故障从云网服务器或网络设备中获取的,因此每次获取到的日志文本向量其实是发生故障的时间段内的日志文本向量。示例性的,对于历史已发生故障T,标注时间戳 ,提取时间范围 内的日志向量可以构成日志集A。而对于已经多次发生的同一类故障T,由于每次发生时采集的日志不一定完全一致,因此可以先将每一次采集的日志生成一个子集,再将这些子集整合成日志集 。
[0060] S102、针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性。
[0061] 在本说明书实施例中,每个日志文本向量中会存在有至少一个日志向量条目,日志向量条目可以是日志文本向量中的关键词向量。每一个日志向量条目具有一个UUID标识符,且根据日志向量条目的具体内容赋予有相应的日志属性。对于某一种故障类型的日志集,日志集中的不同日志文本向量之间可能存在有实质上相同的日志向量条目,使得日志集中的数据冗余度较高。因此,云端服务器会从日志集中任意选取两个日志文本向量,并分别从日志文本向量中选取一个日志向量条目,计算二者的余弦相似度。如果计算得到的余弦相似度高于预设的第一预设值,则认为二者具有较高的相似度,云端服务器会对这两个日志向量条目进行归并,将二者赋予相同的UUID和同一日志属性,日志集的冗余度。如果计算得到的余弦相似度不超过第一预设值,则认为二者不具有较高的相似度,则不进行额外的处理,依旧保留二者各自的UUID和日志属性。
[0062] 余弦相似度的计算公式如下:
[0063]
[0064] 其中, 和 分别代表日志文本向量a和b中关键词向量的各分量。
[0065] 对于上述提及的多个子集生成的日志集 的情况,则应满足。
[0066] S103、遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集。
[0067] 在本说明书实施例中,云端服务器会对每个日志集进行遍历计算,以计算完所有的余弦相似度,将高相似度的日志向量条目全部归并。接着,云端服务器会根据最终得到的各个日志属性,构建每一个日志集对应的日志属性集,实现将故障类型与低维空间的日志属性的直接映射。
[0068] S104、针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除。
[0069] 在本说明书实施例中,用于贝叶斯推理的多个事件需要满足相互独立的原则,即,其中 是事件A和事件B同时发生的概率, 和是事件A和事件B分别发生的概率。因此,云端服务器还需要对同一故障对应的日志属性进行相关性检验,以去除冗余特征的日志属性。具体而言,对于任一故障类型对应的日志属性集,云端服务器会在日志属性集里选取一对日志属性对,计算该日志属性对的皮尔逊相关性系数。其中,日志属性对可以由任意两个日志属性组成。此外,云端服务器中预先存储有第一预设范围,如果计算得到的皮尔逊相关性系数在第一预设范围内,则认为二者不存在相关性关系,此时不进行额外处理,保留二者。如果计算得到的皮尔逊相关性系数超出第一预设范围,则认为二者存在相关性关系,此时云端服务器会对二者进行冗余剔除操作,去掉一个重复的日志属性。
[0070] 对于得到的日志属性对,可以通过相关系数矩阵R的方式来表示计算的皮尔逊相关性系数,计算公式如下:
[0071]
[0072] 其中,X和Y分别为日志属性集中的日志属性,矩阵R中的每一个元素即为一个日志属性对的皮尔逊相关性系数。此外,对于存在多个子集的日志属性集,X和Y应该在全部子集的交集中进行选取。
[0073] 在一种可实施方式中,所述对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除,包括:
[0074] 确定所述皮尔逊相关性系数超出第一预设范围的目标日志属性对中时序滞后的目标日志属性,剔除所述目标日志属性。
[0075] 在本说明书实施例中,云端服务器在冗余剔除的过程中,会分别确定目标日志属性对中两个日志属性的时序,时许滞后的那一个日志属性将作为目标日志属性被剔除。
[0076] S105、遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集。
[0077] 在本说明书实施例中,同样的,云端服务器会遍历计算所有可能的日志属性对的皮尔逊相关性系数,以最终得到基于相关性冗余剔除优化后的目标日志属性集,目标日志集里的各个日志属性具备条件独立性,进而能够保证后续分析训练分类器用的数据具有条件独立性。
[0078] S106、根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。
[0079] 在本说明书实施例中,云端服务器将根据各个目标日志属性集构建训练样本集,训练样本集里标注好了故障点的故障类型、故障时间以及与该故障相关的各个日志属性。通过训练样本集的训练,能够训练得到一个用来根据日志属性判断故障类型的贝叶斯分类器。云端服务器在实时获取到新生成的异常日志时,会将异常日志输入至贝叶斯分类器中,并根据贝叶斯分类器的输出结果诊断确定出该异常日志对应的故障类型,使得整个过程无需对高维层面的数据进行处理,只需要关注低维层面的日志属性即可快速完成故障诊断,且诊断准确度较高。
[0080] 其中,贝叶斯分类器的训练过程可以如下:
[0081] 首先,云端服务器会依次读取训练样本集中每个网络类型的网络故障对应的告警信息,确定该故障的日志属性 。接着,将根据人工经验对训练样本集进行网络故障分类,记为 。其 中 是一个网络 故障类的集合 ,分别为该网络故障类集合中的网络故障类,即故障类型。
[0082] 接着,将定义 ,其中d代表一个待分类的网络故障,是该故障d的n个日志属性。对训练样本集的每个网络故障d和该故障的日志属性,分别计算故障概率 。
[0083] 对于故障概率的计算结果,根据 判断待分类的网络故障d属于哪个已识别的故障类,即如果类别 的后验概率 大于类别 的后验
概率 ,那么选择已识别的故障类 作为待识别的故障d的分类结果。
[0084] 对于没有匹配上的故障告警信息,则会重复上述过程,建立新的故障类,并加到故障类集合T中。
[0085] 训练结束后,云端服务器会将所分的故障类T添加到贝叶斯分类器中,以便处理实时获取的异常日志。
[0086] 在一种可实施方式中,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型,包括:
[0087] 基于训练好的贝叶斯分类器处理实时获取的异常日志,得到至少一个预测故障类型和所述预测故障类型对应的故障概率;
[0088] 将所述故障概率最高的目标预测故障类型确定为所述异常日志对应的故障类型。
[0089] 在本说明书实施例中,云端服务器获取到的异常日志同样会经过文本向量化处理后输入贝叶斯分类器中,并根据余弦相似度查找与之相似的故障日志属性。接着,通过与训练过程相同的故障概率的计算,云端服务器可以确定出该异常日志可能出现的故障的概率分布,进而根据最高的概率确定出异常日志的故障类型。
[0090] 在一种可实施方式中,所述基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型之后,还包括:
[0091] 获取所述故障类型对应的故障时间预测矩阵,基于所述故障时间预测矩阵确定预测故障发生时间。
[0092] 在本说明书实施例中,前述训练过程中,对于完成训练的故障T以及对应的日志属性x,还可以根据相应的时间戳,计算故障发生的时间至得到异常日志的时间之间的时间差,并保存为故障时间预测矩阵 。云端服务器后续在根据实时获取的异常日志确定了故障类型后,还可以根据故障时间预测矩阵进行故障时间的推断,以预测故障发生时间。
[0093] 在一种可实施方式中,所述方法还包括:
[0094] 当所述异常日志中存在所述贝叶斯分类器未能分类的异常日志属性时,比对所述异常日志属性对应的实际故障类型和所述贝叶斯分类器对应的故障类型集;
[0095] 当所述故障类型集内存在与所述实际故障类型匹配的目标故障类型时,将所述异常日志属性添加至所述目标故障类型的故障集,并重新训练所述贝叶斯分类器;
[0096] 当所述故障类型集内不存在与所述实际故障类型匹配的目标故障类型时,建立新的待训练故障类型,将所述异常日志属性添加至所述待训练故障类型的故障集,并重新训练所述贝叶斯分类器。
[0097] 在本说明书实施例中,在对异常日志进行故障诊断处理的过程中,可能会出现错误,即通过日志属性 未能实现故障分类。这时会分为两种情况,如果人工排查后确定的实际发生的故障类型存在于已识别和训练的故障分类T中,则日志属性 为该故障的新表征,应该针对该日志属性对贝叶斯分类器进行重复训练,以提高后续诊断的准确性。如果实际发生的故障类型不存在于已识别和训练的故障分类T中,将建立新的故障类 ,并将该故障类加到故障集T,并重复前述训练过程,对贝叶斯分类器进行再次训练。
[0098] 下面将结合附图2,对本申请实施例提供的基于贝叶斯分类器的网络故障诊断装置进行详细介绍。需要说明的是,附图2所示的基于贝叶斯分类器的网络故障诊断装置,用于执行本申请图1所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1所示的实施例。
[0099] 请参见图2,图2是本申请实施例提供的一种基于贝叶斯分类器的网络故障诊断装置的结构示意图。如图2所示,所述装置包括:
[0100] 获取模块201,用于获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;
[0101] 第一计算模块202,用于针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性;
[0102] 第一遍历模块203,用于遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;
[0103] 第二计算模块204,用于针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;
[0104] 第二遍历模块205,用于遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;
[0105] 诊断模块206,用于根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。
[0106] 在一种可实施方式中,获取模块201具体用于:
[0107] 获取历史网络故障对应的日志信息,分别文本向量化各所述日志信息,得到各日志文本向量。
[0108] 在一种可实施方式中,获取模块201具体还用于:
[0109] 基于故障类型对各所述日志文本向量标注,将标注相同的各所述日志文本向量划分成一个日志集,得到至少一个所述日志集。
[0110] 在一种可实施方式中,第二计算模块204具体用于:
[0111] 确定所述皮尔逊相关性系数超出第一预设范围的目标日志属性对中时序滞后的目标日志属性,剔除所述目标日志属性。
[0112] 在一种可实施方式中,诊断模块206具体用于:
[0113] 基于训练好的贝叶斯分类器处理实时获取的异常日志,得到至少一个预测故障类型和所述预测故障类型对应的故障概率;
[0114] 将所述故障概率最高的目标预测故障类型确定为所述异常日志对应的故障类型。
[0115] 在一种可实施方式中,诊断模块206具体还用于:
[0116] 获取所述故障类型对应的故障时间预测矩阵,基于所述故障时间预测矩阵确定预测故障发生时间。
[0117] 在一种可实施方式中,诊断模块206具体还用于:
[0118] 当所述异常日志中存在所述贝叶斯分类器未能分类的异常日志属性时,比对所述异常日志属性对应的实际故障类型和所述贝叶斯分类器对应的故障类型集;
[0119] 当所述故障类型集内存在与所述实际故障类型匹配的目标故障类型时,将所述异常日志属性添加至所述目标故障类型的故障集,并重新训练所述贝叶斯分类器;
[0120] 当所述故障类型集内不存在与所述实际故障类型匹配的目标故障类型时,建立新的待训练故障类型,将所述异常日志属性添加至所述待训练故障类型的故障集,并重新训练所述贝叶斯分类器。
[0121] 本领域的技术人员可以清楚地了解到本申请实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-Programmable Gate Array,FPGA)、集成电路(Integrated Circuit,IC)等。
[0122] 本申请实施例的各处理单元和/或模块,可通过实现本申请实施例所述的功能的模拟电路而实现,也可以通过执行本申请实施例所述的功能的软件而实现。
[0123] 参见图3,其示出了本申请实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施图1所示实施例中的方法。如图3所示,电子设备300可以包括:至少一个中央处理器301,至少一个网络接口304,用户接口303,存储器305,至少一个通信总线302。
[0124] 其中,通信总线302用于实现这些组件之间的连接通信。
[0125] 其中,用户接口303可以包括显示屏(Display)、摄像头(Camera),可选用户接口303还可以包括标准的有线接口、无线接口。
[0126] 其中,网络接口304可选的可以包括标准的有线接口、无线接口(如WI‑FI接口)。
[0127] 其中,中央处理器301可以包括一个或者多个处理核心。中央处理器301利用各种接口和线路连接整个电子设备300内的各个部分,通过运行或执行存储在存储器305内的指令、程序、代码集或指令集,以及调用存储在存储器305内的数据,执行终端300的各种功能和处理数据。可选的,中央处理器301可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器301可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器301中,单独通过一块芯片进行实现。
[0128] 其中,存储器305可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read‑OnlyMemory)。可选的,该存储器305包括非瞬时性计算机可读介质(non‑transitory computer‑readable storage medium)。存储器305可用于存储指令、程序、代码、代码集或指令集。存储器305可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器305可选的还可以是至少一个位于远离前述中央处理器301的存储装置。如图3所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
[0129] 在图3所示的电子设备300中,用户接口303主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器301可以用于调用存储器305中存储的基于贝叶斯分类器的网络故障诊断应用程序,并具体执行以下操作:
[0130] 获取历史网络故障对应的日志文本向量,基于故障类型将各所述日志文本向量划分为至少一个日志集;
[0131] 针对任一所述日志集,在所述日志集内的任意两个所述日志文本向量中分别选取一个日志向量条目,计算两个所述日志向量条目的余弦相似度,并将所述余弦相似度高于第一预设值的两个所述日志向量条目归并赋予同一日志属性;
[0132] 遍历计算完所有所述余弦相似度后,构建各所述日志集对应的各日志属性集;
[0133] 针对任一故障类型对应的所述日志属性集,在所述日志属性集中选取任意一对日志属性对,计算所述日志属性对的皮尔逊相关性系数,并对所述皮尔逊相关性系数超出第一预设范围的目标日志属性对进行冗余剔除;
[0134] 遍历计算完所有所述皮尔逊相关性系数后,得到各故障类型对应的各目标日志属性集;
[0135] 根据各所述目标日志属性集构建训练样本集,基于所述训练样本集训练贝叶斯分类器,并基于训练好的贝叶斯分类器诊断实时获取的异常日志对应的故障类型。
[0136] 本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD‑ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
[0137] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0138] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0139] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0140] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0141] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0142] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read‑Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0143] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read‑Only Memory, ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
[0144] 以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。