故障预测方法、装置、电子设备与存储介质转让专利

申请号 : CN202210358521.9

文献号 : CN114465874B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 易存道

申请人 : 北京宝兰德软件股份有限公司

摘要 :

本发明提供一种故障预测方法、装置、电子设备与存储介质,其中方法包括:构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率。本发明提供的方法、装置、电子设备与存储介质,能够提高故障预测的准确率,实现故障预警,降低故障发生的概率,降低对企业带来的影响,并且无需人工处理,节省了大量的人力物力,提升了故障预测的效率。

权利要求 :

1.一种故障预测方法,其特征在于,包括:

构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;

基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;

基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率;

所述基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,包括:基于所述待预测知识图谱的子图集合与任一历史故障知识图谱的故障子图集合的交集,确定相同子图;

将所述相同子图乘以所述相同子图对应的权重,再除以所述子图集合与所述故障子图集合的并集,得到所述待预测知识图谱与所述任一历史故障知识图谱之间的相似度。

2.根据权利要求1所述的故障预测方法,其特征在于,所述相同子图对应的权重是基于如下公式确定的:其中,为所述相同子图对应的权重,为所述相同子图的深度,为所述子图集合中子图的个数, 为第 个子图的深度。

3.根据权利要求1所述的故障预测方法,其特征在于,所述构建待预测知识图谱,包括:基于各异常网元的异常事件,构建所述各异常网元的网元子图;

基于所述各异常网元的网元子图,构建所述待预测知识图谱。

4.根据权利要求3所述的故障预测方法,其特征在于,所述基于所述各异常网元的网元子图,构建所述待预测知识图谱,包括:基于所述各异常网元的网元子图,所述各异常网元的关系信息,以及所述各异常网元的网元子图之间的关联概率,构建所述待预测知识图谱。

5.根据权利要求1至4中任一项所述的故障预测方法,其特征在于,所述待预测知识图谱的子图集合中各子图是基于如下步骤确定的:基于所述待预测知识图谱中各节点的边和属性,将所述待预测知识图谱分解成所述各子图。

6.根据权利要求1至4中任一项所述的故障预测方法,其特征在于,所述基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,之后还包括:基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定与所述待预测知识图谱相似的相似历史故障知识图谱;

基于所述相似历史故障知识图谱对应的历史故障时间,确定所述待预测知识图谱对应的故障预测时间。

7.一种故障预测装置,其特征在于,包括:

构建单元,用于构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;

确定单元,用于基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;

预测单元,用于基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率;

所述基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,包括:基于所述待预测知识图谱的子图集合与任一历史故障知识图谱的故障子图集合的交集,确定相同子图;

将所述相同子图乘以所述相同子图对应的权重,再除以所述子图集合与所述故障子图集合的并集,得到所述待预测知识图谱与所述任一历史故障知识图谱之间的相似度。

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

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述故障预测方法。

说明书 :

故障预测方法、装置、电子设备与存储介质

技术领域

[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] 图1是本发明提供的故障预测方法的流程示意图之一;
[0034] 图2是本发明提供的待预测知识图谱的示例图之一;
[0035] 图3是本发明提供的异常网元的网元子图的示例图之一;
[0036] 图4是本发明提供的异常网元的网元子图的示例图之二;
[0037] 图5是本发明提供的待预测知识图谱的示例图之二;
[0038] 图6是本发明提供的历史故障发生时间轴的示例图;
[0039] 图7是本发明提供的预测故障发生时间轴的示例图;
[0040] 图8是本发明提供的故障预测方法的流程示意图之二;
[0041] 图9是本发明提供的故障预测装置的结构示意图;
[0042] 图10是本发明提供的电子设备的结构示意图。

具体实施方式

[0043] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 本发明提供了一种故障预测方法。图1是本发明提供的故障预测方法的流程示意图之一,如图1所示,该方法包括:
[0045] 步骤110,构建待预测知识图谱,待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;
[0046] 步骤120,基于待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定待预测知识图谱与各历史故障知识图谱之间的相似度;
[0047] 步骤130,基于待预测知识图谱与各历史故障知识图谱之间的相似度,确定待预测知识图谱对应的故障概率。
[0048] 具体地,待预测知识图谱即需要进行故障预测的知识图谱,可以是根据系统运行过程中采集到的异常事件发生时的异常指标数据构建的,该待预测知识图谱以异常指标数据相关的网元为节点,以网元之间的调用关系或部署关系为边。历史故障知识图谱为网元历史发生故障所对应的知识图谱,可以是根据历史故障发生时的指标数据所构建的知识图谱,也可以是专家根据规则经验数据整理的知识图谱,本发明实施例对此不作具体限定。可以理解的是,通常情况下,当某个异常事件持续发生一段时间之后,才会导致网元故障,因此,本发明实施例可以根据待预测知识图谱与各个历史故障知识图谱之间的相似度进行故障预测,以便及时进行处理,避免不必要的损失。
[0049] 在构建了待预测知识图谱之后,可以根据待预测知识图谱的子图集合与各个历史故障知识图谱的故障子图集合的交集和并集,计算待预测知识图谱与各个历史故障知识图谱之间的相似度,此处的待预测知识图谱的子图集合即待预测知识图谱的各个子图所组成的集合,历史故障知识图谱的故障子图集合即历史故障知识图谱的各个子图所组成的集合。随即,可以根据待预测知识图谱与各个历史故障知识图谱之间的相似度,确定该待预测知识图谱所对应的故障概率,此处的故障概率即待预测知识图谱中网元会发生故障的预测概率。
[0050] 在计算相似度的过程中,可以仅根据子图集合与故障子图集合的交集和并集,确定待预测知识图谱与各个历史故障知识图谱之间的相似度,也可以在交集和并集的基础上,再结合例如子图的图谱信息等其它信息进行确定,本发明实施例对此不作具体限定。进一步地,可以将待预测知识图谱与各个历史故障知识图谱之间的相似度中的最大值作为该待预测知识图谱所对应的故障概率。另外,可以根据最大值所对应的历史故障知识图谱的故障类型预测出可能会发生故障的故障类型,并根据该历史故障知识图谱的故障网元所对应的关键业务预测出可能受影响的业务。
[0051] 需要说明的是,区别于单纯基于设备指标的关联性进行故障预测的方法,本发明实施例通过生成具有更全面关联信息的待预测知识图谱,并基于该待预测知识图谱进行故障预测,从而能够得到更加准确的预测结果。并且,通过将待预测知识图谱分解成各个子图,从子图粒度去分析待预测知识图谱与各个历史故障知识图谱之间的相似度,从而可以提高待预测知识图谱与历史故障知识图谱之间的相似度的计算准确率,进一步提高了故障预测的准确率。
[0052] 本发明实施例提供的方法,通过构建待预测知识图谱,基于待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定待预测知识图谱与各历史故障知识图谱之间的相似度,由此确定待预测知识图谱对应的故障概率,从而能够提高故障预测的准确率,实现故障预警,降低故障发生的概率,降低对企业带来的影响,并且无需人工处理,节省了大量的人力物力,提升了故障预测的效率。
[0053] 基于上述实施例,为了进一步提升故障预测的效率,步骤120中各个历史故障知识图谱可以是根据待预测知识图谱中的节点,从知识库中保存的历史故障知识图谱中筛选得到的,具体过程可以是,待预测知识图谱中包含m个节点,通过选取以上节点当中[m*n]个节点作为种子节点,在知识库当中选取出具有种子节点的历史故障知识图谱。此处,可以通过调节n的形式来调整选取的历史故障知识图谱数,例如,n可以设置为0.9。
[0054] 基于上述任一实施例,步骤120包括:
[0055] 基于待预测知识图谱的子图集合与任一历史故障知识图谱的故障子图集合的交集,确定相同子图;
[0056] 基于相同子图,相同子图对应的权重,以及子图集合与故障子图集合的并集,确定待预测知识图谱与该历史故障知识图谱之间的相似度。
[0057] 具体地,针对每一个历史故障知识图谱,具体可以通过如下方式计算待预测知识图谱与该历史故障知识图谱之间的相似度:首先,根据待预测知识图谱的子图集合与该历史故障知识图谱的故障子图集合之间的交集,确定两个集合中相同的子图,即相同子图;随即,根据相同子图,相同子图对应的权重,以及子图集合与故障子图集合的并集,计算待预测知识图谱与该历史故障知识图谱之间的相似度。此处,相同子图对应的权重可以是根据经验值进行设定的,也可以是根据智能计算得到,本发明实施例对此不作具体限定。
[0058] 例如,待预测知识图谱 的子图集合为 ,历史故障知识图谱 的故障子图集合为 ,根据二者的交集可以确定 和 为
相同子图,则可以根据 及其对应的权重、 及其对应的权重以及子图集合与故障子图集合的并集确定待预测知识图谱与该历史故障知识图谱之间的相似度。
[0059] 基于上述任一实施例,相同子图对应的权重是基于如下公式确定的:
[0060]
[0061] 其中,为相同子图对应的权重,为相同子图的深度,为子图集合中子图的个数,  为第个子图的深度。
[0062] 具体地,为了进一步提高待预测知识图谱与历史故障知识图谱之间的相似度的计算准确率,本发明实施例中相同子图对应的权重可以根据相同子图的深度计算得到,具体可以采用如下公式:
[0063]
[0064] 其中,为相同子图对应的权重,为相同子图的深度,为待预测知识图谱的子图集合中子图的个数,e为自然底数,   为第个子图的深度。需要说明的是,考虑到子图中有的节点可能存在属性,本发明实施例在计算相同子图的深度时,将节点和节点的属性均作为对象,计算每两个对象之间的长度,将所得到长度中的最大值作为深度。
[0065] 例如,图2是本发明提供的待预测知识图谱的示例图之一,如图2所示,待预测知识图谱中的节点为A和B,a、b和c为节点A的属性,根据上述步骤确定出相同子图为Aa、AB和bAB,则相同子图Aa的深度为A和a之间的长度1,相同子图AB的深度为A和B之间的长度1,相同子图bAB的深度为b和B之间的长度2,可以将其分别代入上述公式中得到对应的权重。
[0066] 进一步地,可以通过如下公式计算待预测知识图谱G1与历史故障知识图谱G2之间的相似度:
[0067]
[0068] 以上公式含义为:图谱G1的子图集合 与图谱G2的故障子图集合的交集,点乘G1的子图集合中各个子图对应的权重所组成的权重矩阵 ,即相同子图乘以其对应的权重,再除以子图集合与故障子图集合的并集,从而得到待预测知识图谱与该历史故障知识图谱之间的相似度。
[0069] 本发明实施例提供的方法,通过将待预测知识图谱分解成各个子图,在计算相似度过程中,将子图的深度转换为子图权重,结合子图权重去分析待预测知识图谱与各个历史故障知识图谱之间的相似度,从而可以进一步提高待预测知识图谱与历史故障知识图谱之间的相似度的计算准确率,进而提高故障预测的准确率。
[0070] 基于上述任一实施例,步骤110包括:
[0071] 基于各异常网元的异常事件,构建各异常网元的网元子图;
[0072] 基于各异常网元的网元子图,构建待预测知识图谱。
[0073] 具体地,在系统运行过程中可以实时检测网元设备的指标数据,当检测出异常指标数据时,可以根据异常指标数据对应的指标类型进行分组归类,得到各个异常网元发生的不同种类的异常事件,此处,异常事件的种类可以包含网元指标异常、告警、异常日志、调用链异常、慢SQL(Structured Query Language,结构化查询语言)、关键业务异常等,本发明实施例对此不作具体限定。
[0074] 在此基础上,即可根据各个异常网元发生的异常事件,构建各个异常网元的网元子图,各个异常网元可以作为网元子图的节点,该节点的每一类属性均对应一个种类的异常事件,图3和4是本发明提供的异常网元的网元子图的示例图,如图3所示,异常网元为实例,该异常网元发生的异常事件的种类有异常日志、告警、指标异常和调用链异常,如图4所示,异常网元为主机,该异常网元发生的异常事件的种类有日志报错和GC(Garbage Collection,垃圾回收)次数;随即,可以根据各个异常网元的网元子图确定出同属于一个知识图谱的网元子图,并由此构建待预测知识图谱。
[0075] 基于上述任一实施例,基于各异常网元的网元子图,构建待预测知识图谱,包括:
[0076] 基于各异常网元的网元子图,各异常网元的关系信息,以及各异常网元的网元子图之间的关联概率,构建待预测知识图谱。
[0077] 具体地,可以根据各个异常网元的网元子图,以及各个异常网元的关系信息,将这些异常网元的网元子图进行连接,得到初始的异常知识图谱,此处的异常网元的关系信息包含异常网元相关的调用关系、部署关系等,调用关系可以是手动整理的,也可以是通过调用链数据生成的,本发明实施例对此不作具体限定。
[0078] 在此基础上,即可应用频繁子图挖掘等算法挖掘以不同网元为中心的网元子图之间的关联概率,将关联概率大于预设阈值的网元子图抽取出来并进行合并,最终得到当前需要进行故障预测的待预测知识图谱。此处,关联概率用于表征网元子图之间的关联关系的强弱程度,可以理解的是,两个网元子图之间的关联关系越强,对应同一故障的可能性就越大,因此,需要将其绘制在同一个知识图谱中进行故障预测。
[0079] 需要说明的是,待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边,当异常网元的关系信息涉及非异常网元时,最终所生成的待预测知识图谱也会包含非异常网元所对应的节点。例如,图5是本发明提供的待预测知识图谱的示例图之二,如图5所示,虚拟机网元上没有挂载异常事件,属于非异常网元,而实例、主机和应用这三个网元上属于异常网元;根据实例、主机和应用的关系信息可以确定,应用和主机有直接的调用关系,可以将主机的网元子图直接连接到应用的网元子图上,而实例与应用之间没有直接的调用关系,但存在部署关系,即实例部署在虚拟机上,虚拟机部署在应用上,因此,可以将实例的网元子图连接到虚拟机的网元子图再连接到应用的网元子图上。
[0080] 进一步地,考虑到业务系统中每一个网元都是通过应用来体现,因此,本发明实施例在合并网元子图时,需要将每一个异常网元的网元子图连接到其关联的应用网元的网元子图上,其根节点始终为应用,例如,在上述示例中,实例和主机属于异常网元,它们的网元子图最终都要连接到关联的应用网元的网元子图上。
[0081] 基于上述任一实施例,待预测知识图谱的子图集合中各子图是基于如下步骤确定的:
[0082] 基于待预测知识图谱中各节点的边和属性,将待预测知识图谱分解成各子图。
[0083] 具体地,待预测知识图谱以网元为节点,可以将网元发生的各个种类的异常事件作为其对应节点的各类属性。因此,可以根据待预测知识图谱中各个节点的边和属性,将待预测知识图谱分解成深度为1至d的各个子图,其中d为待预测知识图谱的深度,且确保每个子图中的每个节点至多包含一类属性,例如,以图2中的待预测知识图谱为例,该图谱包含节点A和B,节点A包含a、b和c三类属性,经过抽取,可分解出Aa、Ab、Ac、AB、aAB、bAB和cAB子图,其中,子图AB中每个节点不包含属性,除此之外,其它子图中节点A均包含一类属性。
[0084] 基于上述任一实施例,步骤120之后还包括:
[0085] 基于待预测知识图谱与各历史故障知识图谱之间的相似度,确定与待预测知识图谱相似的相似历史故障知识图谱;
[0086] 基于相似历史故障知识图谱对应的历史故障时间,确定待预测知识图谱对应的故障预测时间。
[0087] 具体地,考虑到现有的故障预测技术中无法准确地预测出故障发生时间,对此,本发明实施例根据待预测知识图谱与各历史故障知识图谱之间的相似度,确定出与待预测知识图谱最为相似的历史故障知识图谱,即相似历史故障知识图谱,随即,根据相似历史故障知识图谱所对应的历史故障时间,确定待预测知识图谱对应的未来发生故障的时间,即故障预测时间。
[0088] 进一步地,考虑到通常情况下,当某个异常事件持续发生一段时间之后,才会导致网元故障,本发明实施例可以通过相似历史故障知识图谱对应的历史故障时间获得从最早发生异常到网元故障所需的时长T1,图6是本发明提供的历史故障发生时间轴的示例图,如图6所示,根据故障发生时间点与最早异常时间的差值得到T1,其中,将网元设备或组件出现故障的时间作为故障发生时间点。
[0089] 最早异常时间的截取规则为:一个历史故障中存在多条异常事件,对应某个异常事件其有以下上报时间t1、t2、t3...tx...tn,tx>t(x+1),t1为最晚的上报时间,当相邻两个上报时间间隔大于给定阈值时,则两个上报时间中较晚的时间为此异常事件在本次异常中的最早发生时间(tA);通过此种方式,可以得到对应一个历史故障中多个异常事件的最早发生时间分别为tA、tB和tC,且tA
[0090] 图7是本发明提供的预测故障发生时间轴的示例图,如图7所示,可以根据上述得到的T1,当前所检测出的当前异常时间T01,以及当前最早发生异常的时间T0(0 确定方法参考上述截取规则,不再赘述),确定出故障预测时间T,即在当前异常时间T01之后的T时长待预测知识图谱中对应网元将发生故障:
[0091] T=T1‑(T01‑T00)
[0092] 基于上述任一实施例,图8是本发明提供的故障预测方法的流程示意图之二,如图8所示,该方法包括如下步骤:
[0093] S1、异常网元的网元子图构建
[0094] 1)异常网元的异常事件抽取
[0095] 可以从系统中抽取一段时间内各个异常网元的异常事件,为了保证所抽取的异常事件对应同一故障,针对每一个异常网元的异常事件,具体的抽取规则是:该异常网元在以下时间节点发生过异常事件t1、t2、t3...tx...tn,tx>tx+1,t1为网元最晚发生异常事件的时间节点,从t1开始向前查找,当tx时间节点发生的异常事件被抽取时,如果tx与tx+1的时间间隔小于或等于给定时间阈值时,则tx+1时间节点发生的异常事件也将被抽取,当遇到相邻两个异常事件的时间间隔大于给定时间阈值时,则不再向前查找。
[0096] 2)异常网元的网元子图构建
[0097] 将抽取到的各个异常网元的异常事件的指标数据按照对象指标类型进行分组,可以得到一段时间内各个异常网元发生的不同种类的异常事件(包含网元指标异常、告警、异常日志、调用链异常、慢SQL、关键业务异常等),并基于此构建各个异常网元的网元子图,如图3和4所示。
[0098] S2、待预测知识图谱构建
[0099] 1)异常网元的关系信息抽取
[0100] 首先,基于企业AMDB(Application Management Database,配置管理数据库)获取网元之间的部署关系,AMDB是提供资产设备的基础数据以及部署关系的数据库;随即,基于企业IT(Internet Technology,信息技术)系统中网元之间的调用关系,以及从AMDB获取的网元之间的部署关系,对检测出的异常网元之间的关系进行完善,初步形成异常知识图谱。
[0101] 2)待预测知识图谱构建
[0102] 借助频繁子图挖掘算法,在步骤1)的基础上挖掘出以不同网元为中心的网元子图之间的关联概率,将关联概率大于预设阈值的网元子图抽取出来进行合并,最终每一个异常网元的网元子图连接到其关联的应用网元的网元子图上,其根节点始终为应用,得到当前需要进行故障预测的待预测知识图谱,如图5所示。
[0103] S3、基于待预测知识图谱进行故障预测
[0104] 一、基于待预测知识图谱进行故障预测
[0105] 将以上步骤得到的待预测知识图谱发送到AI(Artificial Intelligence,人工智能)分析中心,AI分析中心采用了一种图相似度计算方法,即计算待预测知识图谱与知识库中保存的历史故障知识图谱的相似度,确定知识库中TOP‑n相似的历史故障知识图谱,即相似历史故障知识图谱,将相似历史故障知识图谱的故障原因作为当前故障原因,具体过程如下:
[0106] 1)相似图谱粗筛
[0107] 以图5中的待预测知识图谱为例,该图谱包含有实例、虚拟机、应用共四个节点,通过选取以上节点当中[4*n]个节点作为种子节点,在知识库当中选取出具有种子节点的历史故障知识图谱。通过调节n的形式来调整选取的历史故障知识图谱数,本发明实施例中将n设置为0.9,在知识库中共选取出K个包含有真实故障的历史故障知识图谱。
[0108] 2)图谱分解
[0109] 将当前得到的包括待预测知识图谱在内的 ,...  ..., ,这K+1个图谱分别进行分解,例如,将图谱 分解为深度为1至d
且节点至多有一类属性的n个子图 ,其中d为该图谱的最大深度。
[0110] 3)相似度计算
[0111] 在待预测知识图谱中为分解得到的每个子图给予权重,权重为:
[0112]
[0113] 其中 为第 个子图对应的权重, 为第 个子图的深度,为分解的子图谱的个数,e为自然底数。
[0114] 通过采用带有权重的Jaccard相似性算法计算待预测知识图谱G1与历史故障知识图谱G2之间的相似度。过程如下:
[0115]
[0116] 以上公式含义为:图谱G1的子图集合 与图谱G2的故障子图集合的交集点乘G1的子图集合中各个子图对应的权重所组成的权重矩阵 ,即相同子图乘以其对应的权重,再除以子图集合与故障子图集合的并集,从而得到待预测知识图谱与该历史故障知识图谱之间的相似度。
[0117] 通过以上算法可计算出知识库中与待预测知识图谱最相似的历史故障知识图谱,即相似历史故障知识图谱,并将对应的相似度作为待预测知识图谱对应的故障概率。在实际使用过程中,由于对异常预测的效率较高,一般采用多线程并行的方式进行计算,以满足预测效率。
[0118] 二、故障发生时间预测
[0119] 从知识库中获取相似度高的相似历史故障知识图谱的历史故障时间,对于某个历史故障,获取历史故障中各个异常事件的最早发生时间,确定最终的最早异常时间,将网元设备或组件出现故障的时间作为故障发现时间,得到从最早发生异常到网元故障所需的时长,并根据当前异常时间以及当前最早发生异常的时间,预测出未来发生故障的时间。
[0120] 将相似历史故障知识图谱所对应故障类型作为预测待预测知识图谱中网元设备会发生故障的故障类型,待预测知识图谱与相似历史故障知识图谱的相似度作为故障发生的概率,即故障概率。通过预测出来的相似历史故障知识图谱关联的故障网元,通过该故障网元寻找出对应的关键业务作为最终预测出的可能受影响的业务。
[0121] 基于上述任一实施例,目前传统的针对业务系统中设备的故障预测技术存在以下问题:
[0122] 预测不准确:现有技术大多是由运维人员基于设备指标的关联性进行故障预测的,通过这种方式进行预测,预测结果不准确,并且无法预测到业务故障;依赖人工处理:各业务系统和各类设备产生大量的事件、告警、故障以及数据日志,如果单纯依赖人工进行处理,会消耗大量人力物力,并且处理时的错误率也无法得到保证;故障类型表述不清:现有技术大多是只基于设备日志、设备关键指标数据进行分析,无法展现出IT系统当中各类组件的调用关系,各类组件所出现的异常;另外,根据目前的数据形式,无法准确地预测出故障发生时间,故障类型,以及故障表现形式、影响范围等。
[0123] 针对上述问题,本发明实施例为大型企业IT集群系统提供了一种基于运维故障知识图谱的关键业务故障预测方法,通过在异常检测中心实时接入系统部署结构、调用关系、运行状态、指标数据等数据,当检测出异常指标数据时,立即对异常指标数据进行处理分析,形成待预测知识图谱,将其与历史故障对应的历史故障知识图谱比对分析,基于此进行故障预测,其中待预测知识图谱是以图谱的形式存储系统发生异常事件的一种数据结构。
[0124] 具体过程为:从系统中抽取一段时间内各个异常网元的异常事件,构建异常网元的网元子图,再将网元子图通过结合网元之间的连接关系与频繁子图挖掘算法挖掘得到的关联概率构建出待预测知识图谱;针对上述得到的待预测知识图谱将其发送到AI分析中心,AI分析中心将其与系统中以往发生故障的历史故障知识图谱进行比较分析预测出可能发生的故障、发生的概率;再通过检测系统中以往发生故障的时间数据分析故障可能发生的时间。
[0125] 本发明实施例提供的方法,通过上述过程最终预测出未来可能发生的故障、故障发生概率和发生时间,以达到故障预警、降低故障发生的概率,降低对企业带来的影响,并且基于图谱对网元设备进行故障预测,能够应用更全面的故障关联信息,得到更加准确的预测结果,并且能够展现出IT系统当中各类组件的调用关系,各类组件所出现的异常。
[0126] 下面对本发明提供的故障预测装置进行描述,下文描述的故障预测装置与上文描述的故障预测方法可相互对应参照。
[0127] 基于上述任一实施例,本发明提供了一种故障预测装置。图9是本发明提供的故障预测装置的结构示意图,如图9所示,该装置包括:
[0128] 构建单元910,用于构建待预测知识图谱,待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;
[0129] 确定单元920,用于基于待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定待预测知识图谱与各历史故障知识图谱之间的相似度;
[0130] 预测单元930,用于基于待预测知识图谱与各历史故障知识图谱之间的相似度,确定待预测知识图谱对应的故障概率。
[0131] 本发明实施例提供的装置,通过构建待预测知识图谱,基于待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定待预测知识图谱与各历史故障知识图谱之间的相似度,由此确定待预测知识图谱对应的故障概率,从而能够提高故障预测的准确率,实现故障预警,降低故障发生的概率,降低对企业带来的影响,并且无需人工处理,节省了大量的人力物力,提升了故障预测的效率。
[0132] 基于上述任一实施例,确定单元920用于:
[0133] 基于待预测知识图谱的子图集合与任一历史故障知识图谱的故障子图集合的交集,确定相同子图;
[0134] 基于相同子图,相同子图对应的权重,以及子图集合与故障子图集合的并集,确定待预测知识图谱与该历史故障知识图谱之间的相似度。
[0135] 基于上述任一实施例,相同子图对应的权重是基于如下公式确定的:
[0136]
[0137] 其中,为相同子图对应的权重,为相同子图的深度,为子图集合中子图的个数,  为第个子图的深度。
[0138] 基于上述任一实施例,构建单元910包括:
[0139] 子图构建子单元,用于基于各异常网元的异常事件,构建各异常网元的网元子图;
[0140] 图谱构建子单元,用于基于各异常网元的网元子图,构建待预测知识图谱。
[0141] 基于上述任一实施例,图谱构建子单元用于:
[0142] 基于各异常网元的网元子图,各异常网元的关系信息,以及各异常网元的网元子图之间的关联概率,构建待预测知识图谱。
[0143] 基于上述任一实施例,待预测知识图谱的子图集合中各子图是基于如下步骤确定的:
[0144] 基于待预测知识图谱中各节点的边和属性,将待预测知识图谱分解成各子图。
[0145] 基于上述任一实施例,该装置还包括时间预测单元,用于:
[0146] 基于待预测知识图谱与各历史故障知识图谱之间的相似度,确定与待预测知识图谱相似的相似历史故障知识图谱;
[0147] 基于相似历史故障知识图谱对应的历史故障时间,确定待预测知识图谱对应的故障预测时间。
[0148] 图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(Communications Interface)1020、存储器(memory)
1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行故障预测方法,该方法包括:构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率。
[0149] 此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0150] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的故障预测方法,该方法包括:构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率。
[0151] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的故障预测方法,该方法包括:构建待预测知识图谱,所述待预测知识图谱以网元为节点,以网元之间的调用关系或部署关系为边;基于所述待预测知识图谱的子图集合与各历史故障知识图谱的故障子图集合的交集和并集,确定所述待预测知识图谱与所述各历史故障知识图谱之间的相似度;基于所述待预测知识图谱与所述各历史故障知识图谱之间的相似度,确定所述待预测知识图谱对应的故障概率。
[0152] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0153] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0154] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。