基于知识库专家规则的故障触发匹配方法、系统和介质
技术领域
本发明涉及监控
技术领域
,尤其是一种基于知识库专家规则的故障触发匹配方法、系统和介质。背景技术
知识库是事实、规则和概念的集合,从存储知识的角度来看,以描述方法来存储和管理知识的机构叫做知识库。相关技术中,根据知识库进行故障匹配时,通常是根据单个监控点的数据来触发对应的故障响应。这种响应方式,容易发生误触现象,从而无形之中也工作人员增加工作量。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于知识库专家规则的故障触发匹配方法、系统和介质,能够有效减少误触现象的发生。
第一方面,本发明实施例提供了一种基于知识库专家规则的故障触发匹配方法,包括以下步骤:
构建知识库,所述知识库中包括专家规则和与专家规则对应的多个触发条件;
获取知识库中的专家规则作为目标专家规则,以及所述目标专家规则对应的指标;
获取所述目标规则的多个触发条件作为目标触发条件集;
获取所述指标的实际数据;
判断所述实际数据是否满足所述目标触发条件集的预设要求;
确定所述实际数据满足所述目标触发条件集的预设要求,触发所述目标专家规则的故障响应。
本发明实施例提供的一种基于知识库专家规则的故障触发匹配方法,具有如下有益效果:
本实施例通过先在知识库内设置与专家规则对应的多个触发条件,接着获取知识库中的专家规则作为目标专家规则、目标专家规则对应的指标和目标规则的多个触发条件作为目标触发条件集,然后判断获取到的指标的实际数据是否满足目标触发条件集的预设要,并在确定实际数据满足目标触发条件集的预设要求后,触发所述目标专家规则的故障响应,本实施例通过多个触发条件来判断是否触发的故障响应,以避免发生单个监控点导致的误触现象,提高故障响应的准确度。
在一些实施例中,所述知识库中的多个触发条件中每个触发条件包括指标、比较逻辑、指标阈值、触发次数、触发条件的权重和触发连续性。
在一些实施例中,所述获取所述指标的实际数据,包括:
获取指标;
获取所述指标对应的实际数据。
在一些实施例中,所述判断所述实际数据是否满足所述目标触发条件集的预设要求,包括:
采用所述目标触发条件集内的比较逻辑判断所述实际数据是否达到阈值;
确定所述实际数据达到阈值,计算所述实际数据触发所述目标触发条件集内的单个目标触发条件的次数。
在一些实施例中,所述判断所述实际数据是否满足所述目标触发条件集的预设要求,还包括:
判断所述实际数据触发单个所述目标触发条件的连续性。
在一些实施例中,所述判断所述实际数据是否满足所述目标触发条件集的预设要求,还包括:
确定所述实际数据与所述目标触发条件集内的所有目标触发条件均完成判断过程,计算每个目标触发条件的权重;
根据每个目标触发条件的所述权重,确定所述实际数据是否满足所述目标触发条件集的预设要求。
在一些实施例中,所述确定所述实际数据满足所述目标触发条件集的预设要求,触发所述目标专家规则的故障响应,包括:
获取所述实际数据与所述目标触发条件集内所有目标触发条件的判断结果;
获取修正系数;
根据所述判断结果和所述修正系数计算所述事件出现故障的匹配度;
确定所述匹配度满足匹配度阈值,触发所述目标专家规则的故障响应。
第二方面,本发明实施例提供了一种基于知识库专家规则的故障触发匹配系统,包括
构建模块,用于构建知识库,所述知识库中包括专家规则和与专家规则对应的多个触发条件;
第一获取模块,用于获取知识库中的专家规则作为目标专家规则,以及所述目标专家规则对应的指标;
第二获取模块,用于获取所述目标规则的多个触发条件作为目标触发条件集;
第三获取模块,用于获取所述指标的实际数据;
判断模块,用于判断所述实际数据是否满足所述目标触发条件集的预设要求;
确定模块,用于确定所述实际数据满足所述目标触发条件集的预设要求,触发所述目标专家规则的故障响应。
第三方面,本发明实施例提供了一种基于知识库专家规则的故障触发匹配系统,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以执行第一方面实施例提供的基于知识库专家规则的故障触发匹配方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机可执行的程序,所述计算机可执行的程序在由计算机执行时用于执行第一方面实施例提供的基于知识库专家规则的故障触发匹配方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
下面结合附图和实施例对本发明做进一步的说明,其中:
图1为本发明实施例的一种基于知识库专家规则的故障触发匹配方法;
图2为本发明实施例的知识库的结构示意图;
图3为本发明实施例的一种应用过程的处理流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
使用知识库进行故障判定或推理的监控系统,大多是基于知识库技术架构,通过对维护人员日常判断,操作经验的明晰化、规则化,整理后作为专家规则,构建故障智能诊断体系。监控系统进行指标、告警自动关联,设备信息自动匹配,业务影响范围智能获取,实现了故障的快速发现与定位。
在监控系统中,如果要达到预期效果,匹配专家规则的匹配方法是关键。相关技术中的匹配方法存在较多问题,例如基于语义的匹配方法、基于关键词模糊匹配的匹配方法、规则全匹配的匹配方法等,存在的干扰因素较多,算法降噪手段单一,匹配的准确度并不理想的问题。
基于此,本发明实施例提供了一种基于知识库专家规则的故障触发匹配方法,通过先在知识库内设置与专家规则对应的多个触发条件,接着获取知识库中的专家规则作为目标专家规则、目标专家规则对应的指标和目标规则的多个触发条件作为目标触发条件集,然后判断获取到的指标的实际数据是否满足目标触发条件集的预设要,并在确定实际数据满足目标触发条件集的预设要求后,触发所述目标专家规则的故障响应,本实施例通过多个触发条件来判断是否触发的故障响应,以避免发生单个监控点导致的误触现象,提高故障响应的准确度。
具体地,参照图1,本发明实施例提供了一种基于知识库专家规则的故障触发匹配方法,本实施例可应用户故障报警服务器或者故障监控平台对应的后台处理器。在响应过程中,服务器或者后台处理器可以与监控人员的终端设备和监控设备进行交互。
其中,本实施例包括以下步骤:
S11、构建知识库,其中,知识库中包括专家规则和与专家规则对应的多个触发条件。
在本申请实施例中,如图2所示,知识库包括概念、实体、联系、规则和事件,例如:
被监控系统的组织结构,是知识库的基础。具体的说,是被监控系统的TOPO结构,TOPO结构描述了被监控系统的层级关系、系统之间的调用关系。一般情况下,分布式系统都会具有层级、调用关系。
对接机器数据的适配规则,承载专家经验的专家规则。具体的说,就是设备手册、故障案例、故障恢复手册等。这部分规则由被监控系统开发人员、运维人员、专家等共同制定。
描述故障的静态知识、语义知识,反映故障现场的机器数据、如指标、告警、指标之间的关系以及各种日志等。
此外,知识库还包括多个触发条件,具体是一个专家规则包括多个触发条件,一个触发条件只包括一个指标,所以指标的权重也是触发条件的权重(下面简称触发条件的权重)。由于各指标的具体含义不同,他们关注点、重要程度都是不同的,所以在匹配知识库时他们的权重是不一样的,触发条件的权重越大,它能够影响整个专家规则的程度就越高。一条专家规则中,所有触发条件的权重之和为100。如果一个触发条件有多个干扰项,则需要进行拆分,将造成干扰的各因素都作为指标,围绕指标构建触发条件,将生成的触发条件作为专家规则的一部分。其中,指标是故障的指标。多个触发条件包括指标、比较逻辑、指标阈值、触发次数、触发条件的权重和多个触发条件的触发连续性。
上述知识库的来源包括:结构化系统中的告警、指标、指标之间的联系等;搬结构化系统中的被监控系统文档、配置、表格、列表、日志等;非结构化系统中的故障案例、设备手册和多模知识语料。
S12、获取知识库中的专家规则作为目标专家规则、目标专家规则对应的指标、以及目标规则的多个触发条件作为目标触发条件集。
S13、获取指标的实际数据。
在本申请实施例中,先获取指标,然后提取指标对应的实际数据。其中,指标是指可能发生事件的监控点。实际数据是该指标工作过程中的工作数据,其能体现出监控点当前的状态。
S14、判断实际数据是否满足目标触发条件集的预设要求。
在本申请实施例中,本步骤可通过以下方式实现:
采用目标触发条件集内的比较逻辑判断实际数据是否达到阈值。
在确定实际数据达到阈值后,计算实际数据触发目标触发条件集内的单个目标触发条件的次数。其中,触发次数的判断可以是在一个时间片段内发生的次数。例如,触发条件为5分钟触发3次,即时间片段为5分钟,表示在5分钟内指标实际值集合中,达到阈值的实际值有3个及以上。则判断触发的次数在5分钟内是否触发了3次或者3次以上。在本实施例中,触发次数的阈值需要根据不同事件进行调整。这是由于指标的含义不同采样频率也会不同,各个触发条件如果使用统一的时间片段,会使匹配方法的准确性大大降低。例如,服务器的连通性指标,10秒进行一次采样判断是否连通;服务器CPU使用率指标,1分钟进行一次采样。如果这两个触发条件统一设置时间片段为5分钟触发3次,那么在这5分钟,服务器连通性这一指标采样点有30个;CPU使用率采样点只有5个,这样的话在进行触发次数判断时是不合理的。
判断实际数据触发单个目标触发条件的连续性。其中,触发条件命中即触发条件得到满足。在某一故障出现时,往往同一个指标会出现多次异常,有些时候需要该指标在多个判断周期连续达到触发条件的阈值,才能视为满足触发条件。本实施例通过使用是否连续命中这一因素作为降噪手段,以屏蔽抖动。例如网络抖动会偶尔造成相关连接类指标异常,如果只是一两次并不能真正说明该指标相关出现了问题。又比如,在连续多个探测周期,测探到某服务器都连接失败时,才能判定服务器连接失败,这样屏蔽了网络抖动等因素,造成发生故障误判的现象。
确定实际数据与目标触发条件集内的所有目标触发条件均完成判断过程,计算每个目标触发条件的权重;
根据每个目标触发条件的权重,确定实际数据是否满足目标触发条件集的预设要求。
本实施例通过多个条件共同判断事件的实际数据与目标触发条件的关系,以提高判断结果的准确性。
S15、确定实际数据满足目标触发条件集的预设要求,触发目标专家规则的故障响应。
在本申请实施例中,获取实际数据与目标触发条件集内所有目标触发条件的判断结果,同时获取修正系数;然后根据判断结果和修正系数计算事件出现故障的匹配度,并确定匹配度满足匹配度阈值,触发目标专家规则的故障响应,以提高响应结果的准确性。
当上述实施例应用于实际操作过程时,如图3所示,包括以下步骤:
步骤一、构建知识库。其中,知识库的组成请如图2所示。知识库专家规则的触发条件部分,包含但不限于以下部分:
指标:指标是监控系统需要关注的点,包括但不限于:CPU使用率、内存使用率、硬盘使用率、TPS、RTT、成功率等。
比较逻辑:比较逻辑包括但不限于:相等、不相等、大于、大于等于、小于、小于等于、包含、不包含、介于。
指标阈值:在计算指标实际值后,需要使用比较逻辑判断实际值与指标阈值的关系。
触发次数:在时间片段内,指标实际值集合中,达到指标阈值的指标实际值的个数视为触发次数。
权重:触发条件权重用于表明触发条件影响专家规则程度的大小。
是否连续触发:在有的情况下,指标实际值集合中需要有连续的多个指标实际值达到阈值,触发条件才能够算是成立。
步骤二、计算专家规则中涉及的指标的实际数据值。
具体是从监控数据中,计算指标的实际值组成实际值集合,并组织好关联关系,将这组关联数据放置到缓存中。例如某台服务器的CPU使用率指标,实际值为20%,将这组联系存放入缓存中
步骤三、专家规则的读取。本步骤是从知识库中读取专家规则,抽取专家规则中的触发条件部分,触发条件部分由至少一个触发条件组成。
步骤四、指标的处理。
本步骤是基于步骤三,从触发条件中解析出指标,然后根据指标寻找指标处理器,指标处理器在缓存中寻找时间片段内,相关指标的实际值集合。
步骤五、触发条件判断。
本步骤是基于步骤四找到的指标实际值集合,使用比较逻辑与指标的阈值进行比较,判断指标的实际值是否达到阈值。例如指标为CPU使用率,判断逻辑为>,阈值为80%,那么该触发条件的判断表达式为:CPU的实际使用率>80%。根据表达式判断触发条件是否满足。
步骤六、计算触发条件命中次数。
本步骤是基于步骤五满足触发条件的情况下,计算触发条件的命中次数。判断它在时间片段内触发了几次,是否达到命中次数要求。例如,CPU>80%在5分钟内触发了3次。
步骤七、判断触发条件是否有连续命中选项。
本步骤是基于步骤六在达到了命中次数的基础上,如果专家规则中该触发条件存在连续命中选项,还需要判断触发条件是否满足连续命中。以指标CPU使用率大于80%需要触发3次且需要满足连续命中这一触发条件为例,假设在5分钟的时间片段中,1分钟采样计算一次CPU使用率,第1分钟、第3分钟、第4分钟都满足CPU使用率>80%这一条件,触发次数已经达到了3次,但是由于第二分钟、第五分钟CPU使用率<=80%,未满足CPU使用率>80%触发条件,也就是没有满足连续触发选项,所以依然判定触发条件不满足。
步骤八、循环处理专家规则中的触发条件。
由于专家规则包含一至多个触发条件,所以需要重复步骤二至步骤七,处理该专家规则中的每一个触发条件。
步骤九、计算触发条件的权重。
在某一专家规则的所有触发条件处理完毕之后,计算所有触发条件所占权重。
步骤十、故障触发判定。
基于步骤九累加所有触发条件的上述计算结果,再配合修正常数,可以计算出故障触发匹配度,计算表达式如下:
其中MG(Fi)为知识库中专家规则i的匹配度;mi为专家规则i的触发条件个数;j为整数,j∈[1,mi],Qj为触发条件j匹配度,取值0或1,1表示触发条件匹配成功,0表示触发条件匹配失败;Wj为触发条件j所占权重;α为常数,用于结果修正,为1时表示不做修正。
步骤十一、比较MG(Fi)是否达到了专家规则的匹配度阈值,达到即触发,否则故障不触发。在触发故障后,接收专家规则处理完毕的反馈信息。
综上可知,本实施例通过多触发条件、时间片段、触发条件权重、命中次数、是否连续命中触发等降噪手段,使得知识库匹配度更准确。
本发明实施例提供了一种基于知识库专家规则的故障触发匹配系统,包括
构建模块,用于构建知识库,所述知识库中包括专家规则和与专家规则对应的多个触发条件;
第一获取模块,用于获取知识库中的专家规则作为目标专家规则,以及所述目标专家规则对应的指标;
第二获取模块,用于获取所述目标规则的多个触发条件作为目标触发条件集;
第三获取模块,用于获取所述指标的实际数据;
判断模块,用于判断所述实际数据是否满足所述目标触发条件集的预设要求;
确定模块,用于确定所述实际数据满足所述目标触发条件集的预设要求,触发所述目标专家规则的故障响应。
本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例提供了一种基于知识库专家规则的故障触发匹配系统,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以执行图1所示的基于知识库专家规则的故障触发匹配方法。
本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机可执行的程序,所述计算机可执行的程序在由计算机执行时用于执行图1所示的基于知识库专家规则的故障触发匹配方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于示教机器人辅助的钣金件识别方法