一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务器故障诊断方法、装置、设备及可读存储介质与流程

2022-02-19 08:29:38 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种服务器故障诊断方法、装置、设备及可读存储介质。


背景技术:

2.目前,针对服务器出现的故障,可能需要技术人员分析故障内容才能确定相应的解决方案。该过程耗时耗力,也受限于技术人员的经验和专业能力,降低了服务器故障诊断的效率和准确性。
3.因此,如何提高服务器故障诊断的效率和准确性,是本领域技术人员需要解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种服务器故障诊断方法、装置、设备及可读存储介质,以提高服务器故障诊断的效率和准确性。其具体方案如下:
5.第一方面,本技术提供了一种服务器故障诊断方法,包括:
6.实时获取服务器的故障信息;
7.在故障知识图谱中搜索与所述故障信息对应的图谱节点,并确定所述图谱节点的相邻节点;所述故障知识图谱以服务器的各种故障及相应解决方案作为知识来源;
8.基于所述图谱节点和所述相邻节点的图谱信息,确定所述故障信息的诊断结果和解决方案。
9.优选地,所述故障知识图谱的生成过程包括:
10.针对包括服务器的各种故障及相应解决方案的数据集,基于双相匹配最大算法从所述数据集中提取词条,并将提取到的所有词条以三元组格式记录至数据库中;
11.基于所述数据库中的各个词条生成所述故障知识图谱。
12.优选地,所述基于所述数据库中的各个词条生成所述故障知识图谱之前,还包括:
13.将所有词条中的同义词条进行合并,以使具有相同含义的词条仅保留一个。
14.优选地,所述基于双相匹配最大算法从所述数据集中提取词条,包括:
15.确定预设故障词库中的最长字段的字符数n;
16.针对所述数据集中的任一语句,基于所述双相匹配最大算法从该语句中提取具有n个字符的、且与所述预设故障词库中的任一字段匹配的词条。
17.优选地,还包括:
18.若在所述故障知识图谱中未搜索到与所述故障信息对应的图谱节点,则以所述故障信息作为爬虫关键词,在线爬取包括所述故障信息的目标数据,将所述目标数据添加至所述数据集后,执行所述故障知识图谱的生成过程,以更新所述故障知识图谱。
19.优选地,还包括:
20.用更新后的所述故障知识图谱替换所述所述故障知识图谱,并执行所述在故障知
识图谱中搜索与所述故障信息对应的图谱节点,并确定所述图谱节点的相邻节点;基于所述图谱节点和所述相邻节点的图谱信息,确定所述故障信息的诊断结果和解决方案的步骤。
21.优选地,所述将所述目标数据添加至所述数据集,包括:
22.从所述目标数据中筛选与所述故障信息的匹配度大于预设阈值的部分数据,并将所述部分数据添加至所述数据集。
23.第二方面,本技术提供了一种服务器故障诊断装置,包括:
24.获取模块,用于实时获取服务器的故障信息;
25.搜索模块,用于在故障知识图谱中搜索与所述故障信息对应的图谱节点,并确定所述图谱节点的相邻节点;所述故障知识图谱以服务器的各种故障及相应解决方案作为知识来源;
26.生成模块,用于基于所述图谱节点和所述相邻节点的图谱信息,确定所述故障信息的诊断结果和解决方案。
27.第三方面,本技术提供了一种电子设备,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序,以实现前述公开的服务器故障诊断方法。
30.第四方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的服务器故障诊断方法。
31.通过以上方案可知,本技术提供了一种服务器故障诊断方法,包括:实时获取服务器的故障信息;在故障知识图谱中搜索与所述故障信息对应的图谱节点,并确定所述图谱节点的相邻节点;所述故障知识图谱以服务器的各种故障及相应解决方案作为知识来源;基于所述图谱节点和所述相邻节点的图谱信息,确定所述故障信息的诊断结果和解决方案。
32.可见,本技术以服务器的各种故障及相应解决方案作为知识来源,构建了故障知识图谱。实时获取到服务器的故障信息后,在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点,从而可基于图谱节点和相邻节点的图谱信息,确定故障信息的诊断结果和解决方案。由于故障知识图谱以服务器的各种故障及相应解决方案作为知识来源,因此搜索到的图谱节点以及相邻节点能够包括当前故障信息的关键内容和解决方案,基于诊断报告不仅可以看出服务器出现了哪种故障,还可以看出解决该故障的相关方案,可见诊断报告包括的信息更具全面性和参考价值,准确性更高。同时,该诊断报告基于故障信息自动搜索得到,无需人工参与,因此诊断效率也得到了提升,故而本技术提高了服务器故障诊断的效率和准确性。
33.相应地,本技术提供的一种服务器故障诊断装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
35.图1为本技术公开的一种服务器故障诊断方法流程图;
36.图2为本技术公开的一种服务器故障诊断的方案示意图;
37.图3为本技术公开的一种知识图谱构建流程示意图;
38.图4为本技术公开的一种知识图谱结构示意图;
39.图5为本技术公开的一种服务器故障诊断装置示意图;
40.图6为本技术公开的一种电子设备示意图。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.为便于方案理解,首先对本技术涉及的背景技术进行介绍。
43.服务器作为一种具有较高硬件配置、较固定应用场景的计算机,相比于普通的家用个人电脑,其有着更高的稳定性,可以进行长时间不停机的可靠运行。然而,硬件是有寿命损耗的、软件也存在漏洞和bug,在服务器运行的过程中,它大部分时间都处于一个高压负载的状态来释放自己的计算性能。同时,硬件的运作会产生热量,热量累积导致温度上升,而过高的温度是最大的硬件杀手。可见,即使具有良好的稳定性,服务器依然有着一定的故障风险。在实际应用场景中,因为故障导致的服务器宕机往往会造成巨大的经济损失,所以在服务器运维中,故障诊断是一个很重要的环节,也是提高产品竞争力的关键功能之一。
44.现有的服务器故障诊断软件虽然能定位到故障信息,但往往得到的结果是“a模块出现了b故障,原因为c”。这种故障信息没有关联,可能并不全面,也许“a模块出现了b故障,原因为c,c可能是由d造成的”。可见,后者这种结果要更加满足用户需求。并且,当前服务器故障诊断软件只能找出问题,无法提供完善有效的解决方案。
45.因此,针对服务器出现的故障,可能需要技术人员分析故障内容才能确定相应的解决方案。该过程耗时耗力,也受限于技术人员的经验和专业能力,降低了服务器故障诊断的效率和准确性。为此,本技术提供了一种服务器故障诊断方案,能够提高服务器故障诊断的效率和准确性。
46.参见图1所示,本技术实施例公开了一种服务器故障诊断方法,包括:
47.s101、实时获取服务器的故障信息。
48.本实施例将故障知识图谱部署在服务器中,这样在服务器运行过程中,若实时获取到服务器的故障信息,就可以即时在故障知识图谱中进行搜索。其中,服务器的故障信息一般包括:故障部件、故障名称、故障类型等信息,这些信息都可以作为搜索关键词,并基于此搜索关键词在故障知识图谱中进行搜索。
49.s102、在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点;故障知识图谱以服务器的各种故障及相应解决方案作为知识来源。
50.其中,故障知识图谱以服务器的各种故障及相应解决方案作为知识来源,因此搜
索到的图谱节点以及相邻节点能够包括当前故障信息的关键内容和解决方案,基于诊断报告不仅可以看出服务器出现了哪种故障,还可以看出解决该故障的相关方案。
51.在一种具体实施方式中,故障知识图谱的生成过程包括:针对包括服务器的各种故障及相应解决方案的数据集,基于双相匹配最大算法从数据集中提取词条,并将提取到的所有词条以三元组格式记录至数据库中;基于数据库中的各个词条生成故障知识图谱。
52.其中,基于数据库中的各个词条生成故障知识图谱之前,还包括:将所有词条中的同义词条进行合并,以使具有相同含义的词条仅保留一个,从而可避免图谱中出现重复的节点和边。
53.其中,基于双相匹配最大算法从数据集中提取词条,包括:确定预设故障词库中的最长字段的字符数n;针对数据集中的任一语句,基于双相匹配最大算法从该语句中提取具有n个字符的、且与预设故障词库中的任一字段匹配的词条。其中,预设故障词库中记录有已知的各种故障的名称、类型、部件、解决方案关键词等相关字段。
54.需要说明的是,双相匹配最大算法是针对同一语句,从两个方向分别截取字段进行匹配,若两个方向最终所得的词条相同,则记录这些词条至数据库中;否则,基于pagerank等算法选择词条进行存储。因此,基于双相匹配最大算法从该语句中提取具有n个字符的、且与预设故障词库中的任一字段匹配的词条,包括:从左至右从该语句中截取具有n个字符的多个字段,并将所截取的多个字段分别与预设故障词库中的各个字段进行对比匹配,保留与预设故障词库中的任意字段匹配的字段;从右至左从该语句中截取具有n个字符的多个字段,并将所截取的多个字段与预设故障词库中的各个字段进行对比匹配,保留与预设故障词库中的任意字段匹配的字段。至此,两个方向都保留了一些字段,若从左至右和从右至左这两个方向保留的字段相同,则将任一方向保留的字段作为从该语句中提取到的词条;若从左至右和从右至左这两个方向保留的字段不同,则基于pagerank等算法选择某一方向保留的字段作为从该语句中提取到的词条。
55.其中,pagerank算法针对字段的权重计算公式如下:
[0056][0057]
其中,将一条完整的语句分割成很多个字段后,对于任一字段i,它的权重值由其本身和与其相邻的字段j决定,即特征字段出现的频率越高,同时特征字段邻近的字段权重越高,该字段的权重越高。其中d为系数,一般为固定值,ln v
i
为与i邻近的字段j的集合,out(v
j
)则是字段j邻近的所有字段的个数。字段i的权重值s(v
i
)等于所有字段j的权重值s(v
j
)除以j邻近的字段数,再乘以系数d,再加上偏差值1

d得到。
[0058]
据此,针对两个方向所保留的各个字段分别计算其权重值,累计两个方向的所有字段的权重值,得到总权重。对比两个方向的总权重,总权重大的方向即为所选择的方向,那么该方向保留的字段即为从某一语句中提取到的词条。
[0059]
s103、基于图谱节点和相邻节点的图谱信息,确定故障信息的诊断结果和解决方案。
[0060]
本实施例以服务器的各种故障及相应解决方案作为知识来源,构建了故障知识图谱。实时获取到服务器的故障信息后,在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点,从而可基于图谱节点和相邻节点的图谱信息,确定故障信息
的诊断结果和解决方案。
[0061]
需要说明的是,虽然服务器的已知故障的累积已经达到了一个很可观的量,但随着服务器的换代,以及相关硬件、软件、应用场景的不断升级变化,已有的服务器故障需要适时进行更新。
[0062]
为实现这一目的,本实施例在故障知识图谱中未搜索到与故障信息对应的图谱节点的情况下,以故障信息作为爬虫关键词,在线爬取包括故障信息的目标数据,将目标数据添加至数据集后,执行故障知识图谱的生成过程,以更新故障知识图谱。用更新后的故障知识图谱替换故障知识图谱,并执行在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点;基于图谱节点和相邻节点的图谱信息,确定故障信息的诊断结果和解决方案的步骤。可见,故障知识图谱可以基于需要进行更新,此方式可提高故障知识图谱的全面性和有效性。
[0063]
其中,将目标数据添加至数据集,包括:从目标数据中筛选与故障信息的匹配度大于预设阈值的部分数据,并将部分数据添加至数据集。
[0064]
可见,由于故障知识图谱以服务器的各种故障及相应解决方案作为知识来源,因此搜索到的图谱节点以及相邻节点能够包括当前故障信息的关键内容和解决方案,基于诊断报告不仅可以看出服务器出现了哪种故障,还可以看出解决该故障的相关方案,可见诊断报告包括的信息更具全面性和参考价值,准确性更高。同时,该诊断报告基于故障信息自动搜索得到,无需人工参与,因此诊断效率也得到了提升,故而本技术提高了服务器故障诊断的效率和准确性。
[0065]
请参见图2,下述实施例提供了一种服务器故障诊断方案,该方案包括:知识图谱构建模块、故障诊断模块和自主学习模块。
[0066]
本实施例基于丰富的知识库进行知识提取、知识表示以及知识校准以及后续步骤,可构建可视化的知识图谱并提供应用服务。之后调用知识图谱的应用服务,基于检测到的故障信息进行知识图谱的遍历。此时,会存在两种情景,第一种情景下,故障信息在知识图谱的知识覆盖范围内,可以得到故障诊断的结果以及相应的解决方案。第二种情景下,故障信息并不在知识图谱的知识覆盖范围内,则会触发自主学习模块进行在线查询,从而拓展知识图谱。
[0067]
下面对各个模块进行详细介绍。
[0068]
(1)知识图谱构建模块
[0069]
请参见图3,知识图谱构建模块用于对已有知识库中的数据进行知识提取、知识表示、知识校准(即去除谓语“是”等无用字段)后,存储到以图形化数据库形式存在的知识图谱中。知识图谱,本质上其实就是数据的串联,其将数据分为实体、属性、关系三类。以实体/属性为节点,以关系为边,构成一张巨大的语义网络图。这张网络图中的知识相互关联,易于搜索,因此知识图谱被广泛应用于智能搜索、智能问答、个性化推荐、内容分发等领域。
[0070]
其中,已有知识库即:包括服务器的各种故障及相应解决方案的数据集。该数据集中的数据可以通过网络、查阅相关资料获得,也可以采集相关诊断软件所收集的信息获得。
[0071]
知识提取即:对已有知识库中的具体数据进行有监督的关键词条提取,从中获得实体、属性、关系这三类关键词条。在本知识图谱构建模块中使用双向匹配最大算法进行关键词条提取。
[0072]
针对提取到的所有词条采用三元组进行存储。三元组如:{实体1,关系,实体2}、{实体,属性,属性值}等,这种数据格式便于存储至图形化数据库中。具体到服务器故障的关键词条提取,可以参照如下示例:针对“无法识别到机械硬盘的原因可能是硬盘插槽损坏”这一语句,获得的相应三元组可以是:{硬盘,故障,无法识别}、{硬盘,类型,机械}、{无法识别,原因,硬盘插槽损坏}等。
[0073]
针对所有三元组,其中可能会存在部分同义词,这主要是针对实体和关系这两类。如果不将同类项合并,节点和边会出现重复,导致知识图谱结构冗余。因此基于知识提取中使用的词料库(即预设故障词库)可以相对简单地统计出一些同义词,再通过模糊匹配进行查找,将同义词归并。之后,将所有三元组格式的数据存储至开源图形化数据库neo4j中。neo4j会根据数据之间的关系,自动构建一个知识图谱。其中,知识图谱具体可参见图4。
[0074]
(2)故障诊断模块
[0075]
故障诊断模块通过监测服务器状态获取到故障源、故障类型等信息,根据这些信息在知识图谱中搜索对应的节点,再以搜索到的节点为起始,搜索相应边及相邻节点,以便得到故障诊断结果以及相应的解决方案。当然,还可以继续搜索相关联的节点,以便进一步完善故障诊断结果。如图4所示,若故障源为硬盘,故障类型为读取数据出错,那么可搜索到关系为“故障”的两个实体(硬盘和读取数据出错),以这两个实体为起始,在知识图谱中搜索关系为“原因”和“解决”的边,即可获得相邻节点。
[0076]
服务器故障诊断,在业务模式上可以类比“智能问答”,但不同于智能问答的“根据问句提供答句”的模式,服务器故障诊断的问句也由系统自动生成,也就是获取到的故障源、故障类型等信息。当然,故障诊断模块支持服务器巡检和告警的功能。
[0077]
(3)自主学习模块
[0078]
自主学习模块用于实现知识图谱的自主拓展。若故障诊断模块监测到的故障源、故障类型等信息不在知识图谱中,则以这些信息为故障关键词,调用搜索引擎的接口即可进行在线查询,并基于python爬虫技术抓取相关数据补充知识图谱。本模块通过在线自主地获取新知识来更新知识库,要比人工维护高效率很多。
[0079]
其中,可以对所抓取的相关数据按关键词匹配度排序,选取匹配度较高的几项数据(如选择排名前5的数据)对知识图谱进行补充。其中,关键词匹配度等于某一文本中包含故障关键词的语句数乘以该文本中的关键词总数,再除以该文本的总语句数。
[0080]
其中,补充知识图谱即:将所抓取的数据填充至知识库,按知识图谱构建模块中的逻辑重新进行知识提取、知识表示、知识校准以及后续步骤,直至得到新的知识图谱。
[0081]
可见,基于本实施例所确定的诊断结果不仅可以看出服务器出现了哪种故障,还可以看出解决该故障的相关方案,从而优化了故障诊断的功能,有效地提高了系统的可用性和可拓展性,降低了系统维护的成本,并使得业务整体更加智能化。
[0082]
下面对本技术实施例提供的一种服务器故障诊断装置进行介绍,下文描述的一种服务器故障诊断装置与上文描述的一种服务器故障诊断方法可以相互参照。
[0083]
参见图5所示,本技术实施例公开了一种服务器故障诊断装置,包括:
[0084]
获取模块501,用于实时获取服务器的故障信息;
[0085]
搜索模块502,用于在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点;故障知识图谱以服务器的各种故障及相应解决方案作为知识来源;
[0086]
生成模块503,用于基于图谱节点和相邻节点的图谱信息,确定故障信息的诊断结果和解决方案。
[0087]
在一种具体实施方式中,还包括:用于生成故障知识图谱的模块,该模块包括:
[0088]
提取单元,用于针对包括服务器的各种故障及相应解决方案的数据集,基于双相匹配最大算法从数据集中提取词条,并将提取到的所有词条以三元组格式记录至数据库中;
[0089]
生成单元,用于基于数据库中的各个词条生成故障知识图谱。
[0090]
在一种具体实施方式中,用于生成故障知识图谱的模块还包括:
[0091]
合并单元,用于将所有词条中的同义词条进行合并,以使具有相同含义的词条仅保留一个。
[0092]
在一种具体实施方式中,提取单元包括:
[0093]
确定子单元,用于确定预设故障词库中的最长字段的字符数n;
[0094]
提取子单元,用于针对数据集中的任一语句,基于双相匹配最大算法从该语句中提取具有n个字符的、且与预设故障词库中的任一字段匹配的词条。
[0095]
在一种具体实施方式中,还包括:
[0096]
爬虫模块,用于若在故障知识图谱中未搜索到与故障信息对应的图谱节点,则以故障信息作为爬虫关键词,在线爬取包括故障信息的目标数据,将目标数据添加至数据集后,执行故障知识图谱的生成过程,以更新故障知识图谱。
[0097]
在一种具体实施方式中,还包括:
[0098]
更新模块,用于用更新后的故障知识图谱替换故障知识图谱,并执行在故障知识图谱中搜索与故障信息对应的图谱节点,并确定图谱节点的相邻节点;基于图谱节点和相邻节点的图谱信息,确定故障信息的诊断结果和解决方案的步骤。
[0099]
在一种具体实施方式中,更新模块具体用于:
[0100]
从目标数据中筛选与故障信息的匹配度大于预设阈值的部分数据,并将部分数据添加至数据集。
[0101]
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0102]
可见,本实施例提供了一种服务器故障诊断装置,该装置得到的诊断报告更具全面性和参考价值,准确性更高。同时,该诊断报告基于故障信息自动搜索得到,无需人工参与,因此诊断效率也得到了提升,故而本技术提高了服务器故障诊断的效率和准确性。
[0103]
下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种服务器故障诊断方法及装置可以相互参照。
[0104]
参见图6所示,本技术实施例公开了一种电子设备,包括:
[0105]
存储器601,用于保存计算机程序;
[0106]
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
[0107]
下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种服务器故障诊断方法、装置及设备可以相互参照。
[0108]
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的服务器故障诊断方法。关于该方法的具体步骤可以参考前述实施例
中公开的相应内容,在此不再进行赘述。
[0109]
本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
[0110]
需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
[0111]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0112]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的可读存储介质中。
[0113]
本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献