CN117093405B - 一种服务器故障诊断方法、装置、设备和介质 - Google Patents

一种服务器故障诊断方法、装置、设备和介质 Download PDF

Info

Publication number
CN117093405B
CN117093405B CN202311347546.XA CN202311347546A CN117093405B CN 117093405 B CN117093405 B CN 117093405B CN 202311347546 A CN202311347546 A CN 202311347546A CN 117093405 B CN117093405 B CN 117093405B
Authority
CN
China
Prior art keywords
fault
diagnosis
component
target
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311347546.XA
Other languages
English (en)
Other versions
CN117093405A (zh
Inventor
孔涛
李锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311347546.XA priority Critical patent/CN117093405B/zh
Publication of CN117093405A publication Critical patent/CN117093405A/zh
Application granted granted Critical
Publication of CN117093405B publication Critical patent/CN117093405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及服务器技术领域,公开了一种服务器故障诊断方法、装置、设备和介质,根据诊断规则,提取日志信息中的故障数据;按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组。利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果。基于故障数据的分布情况设置标签,依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果。基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。采用分组的方式进行故障诊断,并且利用标签和矢量推导图对诊断结果进行筛选,提升了故障诊断的准确率。

Description

一种服务器故障诊断方法、装置、设备和介质
技术领域
本发明涉及服务器技术领域,特别是涉及一种服务器故障诊断方法、装置、设备和介质。
背景技术
服务器指一个管理资源并为用户提供服务的计算机。相对于个人计算机(Personal Computer,PC)来说,服务器在稳定性、安全性、性能等方面都要求更高。服务器故障诊断是实现服务器可靠运行的重要手段。目前服务器故障诊断主要是将采集的日志信息与设定的故障数据库进行比较,来识别服务器是否存在故障。故障数据库中存储了不同部件的常见故障类型所对应的故障信息,当存在与故障信息匹配的日志信息时,说明该日志信息对应的部件出现了故障。
服务器故障诊断存在诊断不准确的问题,例如将没有故障的部件误报出有故障,然而有故障的部件不一定能被诊断出来,导致服务器故障诊断的准确率偏低。
可见,如何提升服务器故障诊断的准确率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种服务器故障诊断方法、装置、设备和计算机可读存储介质,可以解决服务器故障诊断准确率低的问题。
为解决上述技术问题,本发明实施例提供一种服务器故障诊断方法,包括:
根据诊断规则,提取日志信息中的故障数据;
按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型;
利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果;
依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果;其中,所述标签基于故障数据的分布情况设置;
基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
一方面,所述按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组包括:
将每个所述故障数据包含的故障部件与各功能类型所对应的多个功能关联的部件进行比较,以确定出每个所述故障数据所属的功能类型;
将属于同一个功能类型的故障数据作为一个子数据组。
一方面,所述诊断分析模型包括输入层、中间层和输出层;所述输入层和所述输出层均对应故障部件;所述中间层对应故障类型;
所述利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果包括:
利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与所述目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值;其中,所述目标子数据组为所有子数据组中的任意一个子数据组;所述第一权值组包括不同故障部件到不同故障类型的第一连接权值;所述目标子数据组匹配的诊断分析模型包括目标输入层、目标中间层和目标输出层;
利用每个故障类型对应的第一输出值、所述目标中间层和所述目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值;其中,所述第二权值组包括不同故障类型到不同故障部件的第二连接权值;
将大于零值的第二输出值所对应目标故障部件的目标故障数据作为所述目标子数据组的诊断结果。
一方面,所述利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与所述目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值包括:
统计所述目标子数据组中各目标故障部件的故障类型数;
根据所述第一权值组和所述故障类型数,确定出每个故障类型对应的第一输入值;
基于每个故障类型对应的所述第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值。
一方面,所述根据所述第一权值组和所述故障类型数,确定出每个故障类型对应的第一输入值包括:
调用第一输入值计算公式对所述第一权值组和所述故障类型数进行计算,以得到每个故障类型对应的第一输入值;其中,所述第一输入值计算公式为:
其中,M i 表示故障类型i对应的第一输入值,ω ni 表示目标故障部件n到故障类型i的第一连接权值,x n 表示目标故障部件n的故障类型数,N表示所有目标故障部件的总数。
一方面,基于每个故障类型对应的所述第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值包括:
调用第一输出值计算公式对每个故障类型对应的所述第一输入值以及第一阈值进行计算,以得到每个故障类型对应的第一输出值;其中,所述第一输出值计算公式为:
其中,S i 表示故障类型i对应的第一输出值,M i 表示故障类型i对应的第一输入值,θ i 表示故障类型i对应的第一阈值。
一方面,所述利用每个故障类型对应的第一输出值、所述目标中间层和所述目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值包括:
根据所述第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值;
基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值。
一方面,所述根据所述第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值包括:
调用第二输入值计算公式对所述第二权值组以及每个故障类型对应的第一输出值进行计算,以得到每个目标故障部件对应的第二输入值;其中,所述第二输入值计算公式为:
其中,Y n 表示目标故障部件n对应的第二输入值,v in 表示故障类型i到目标故障部件n的第二连接权值,S i 表示故障类型i对应的第一输出值,I表示所有故障类型的总数。
一方面,所述基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值包括:
调用第二输出值计算公式对每个目标故障部件对应的第二输入值和第二阈值进行计算,以得到每个目标故障部件对应的第二输出值;其中,所述第二输出值计算公式为:
其中,P n 表示目标故障部件n对应的第二输出值,Y n 表示目标故障部件n对应的第二输入值,δ n 表示目标故障部件n对应的第二阈值。
一方面,所述依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果包括:
按照各所述诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各所述诊断结果分配标签;其中,每个标签有其对应的标签权重;
根据每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个所述诊断结果的故障值;
将故障值大于故障限值的诊断结果作为有效诊断结果。
一方面,所述按照各所述诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各所述诊断结果分配标签包括:
根据各所述诊断结果中包含的故障部件个数,对各所述诊断结果分配数量标签;其中,所述数量标签包括单部件标签和多部件标签;
根据各所述诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各所述诊断结果中各故障部件的故障频率和故障阶段;
依据各所述诊断结果中各故障部件的故障频率和故障阶段,对各所述诊断结果分配时间标签;其中,所述时间标签包括近期修复标签、历史修复标签和高频次故障标签。
一方面,所述根据各所述诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各所述诊断结果中各故障部件的故障频率和故障阶段包括:
根据各所述诊断结果中故障数据包含的故障状态,将各所述诊断结果中各故障部件划分为处于故障恢复阶段的故障部件和处于故障持续阶段的故障部件;
对所述处于故障持续阶段的故障部件,基于所述处于故障持续阶段的故障部件出现的故障次数及其故障数据的产生时间,确定出故障频率。
一方面,所述依据各所述诊断结果中各故障部件的故障频率和故障阶段,对各所述诊断结果分配时间标签包括:
判断所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差是否小于时间阈值;其中,目标诊断结果为所有诊断结果中的任意一个诊断结果;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差小于时间阈值的情况下,对所述目标诊断结果分配近期修复标签;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差大于或等于时间阈值的情况下,对所述目标诊断结果分配历史修复标签;
在所述处于故障持续阶段的故障部件的故障频率大于频率阈值的情况下,对所述目标诊断结果分配高频次故障标签。
一方面,所述根据每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个所述诊断结果的故障值包括:
调用故障值计算公式对每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值进行计算,以得到每个所述诊断结果的故障值;其中,所述故障值计算公式为:
其中,G n 表示目标故障部件n对应的故障值,w j 表示标签j的标签权重,P n 表示目标故障部件n对应的第二输出值,表示目标故障部件n对应的故障阈值,Q表示目标诊断结果被分配的标签个数。
一方面,所述矢量推导图中包括源部件、故障原因、故障现象、故障结果的层级关系;
所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件包括:
将第一故障类型与所述矢量推导图包括的故障结果进行比较,以确定出与所述第一故障类型相关联的故障现象;其中,所述第一故障类型为第一有效诊断结果包含的第一故障部件对应的任意一个故障类型;所述第一有效诊断结果为所有所述有效诊断结果中的任意一个诊断结果;所述第一故障部件为所述第一有效诊断结果中包含的所有故障部件中的任意一个故障部件;
将所述日志信息中所述第一故障类型对应的历史故障现象与所述相关联的故障现象进行匹配,以确定出所述第一故障类型对应的第一故障现象;
从所述日志信息中查询产生所述第一故障现象的第一故障原因;
将所述第一故障原因与所述矢量推导图包括的故障原因进行比较,以确定出所述第一故障类型对应的第一源部件;
在所述第一源部件与所述有效诊断结果中所述第一故障类型对应的故障部件相同的情况下,将所述有效诊断结果中所述第一故障类型对应的故障部件作为最终的故障部件。
一方面,所述根据诊断规则,提取日志信息中的故障数据包括:
依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则;
在所述诊断知识库中出现与所述日志信息匹配的诊断规则的情况下,按照二分法从所述日志信息提取出与所述诊断规则对应的故障数据。
一方面,还包括:
在所述诊断知识库中不存在与所述日志信息匹配的诊断规则的情况下,展示诊断规则缺失的提示信息;
在获取到新的诊断规则的情况下,将所述新的诊断规则补充至所述诊断知识库,并执行所述依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则的步骤。
一方面,在所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件之后,还包括:
判断所述最终的故障部件与工单系统中的记录的实际故障部件是否一致;
在所述最终的故障部件与工单系统中的记录的实际故障部件不一致的情况下,利用所述实际故障部件对应的故障数据对所述诊断规则进行调整。
一方面,在所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件之后,还包括:
将所述最终的故障部件对应的故障类型数作为所述诊断分析模型的输入层参数;
对所述诊断分析模型的第一权值组和第二权值组进行调整,以得到输出层的输出值最大时所对应的第一权值组和第二权值组。
本发明实施例还提供了一种服务器故障诊断装置,包括提取单元、划分单元、分析单元、筛选单元和推导单元;
所述提取单元,用于根据诊断规则,提取日志信息中的故障数据;
所述划分单元,用于按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型;
所述分析单元,用于利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果;
所述筛选单元,用于依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果;其中,所述标签基于故障数据的分布情况设置;
所述推导单元,用于基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
一方面,所述划分单元包括比较子单元和作为子单元;
所述比较子单元,用于将每个所述故障数据包含的故障部件与各功能类型所对应的多个功能关联的部件进行比较,以确定出每个所述故障数据所属的功能类型;
所述作为子单元,用于将属于同一个功能类型的故障数据作为一个子数据组。
一方面,所述诊断分析模型包括输入层、中间层和输出层;所述输入层和所述输出层均对应故障部件;所述中间层对应故障类型;
所述分析单元包括第一量化子单元、第二量化子单元和作为子单元;
所述第一量化子单元,用于利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与所述目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值;其中,所述目标子数据组为所有子数据组中的任意一个子数据组;所述第一权值组包括不同故障部件到不同故障类型的第一连接权值;所述目标子数据组匹配的诊断分析模型包括目标输入层、目标中间层和目标输出层;
所述第二量化子单元,用于利用每个故障类型对应的第一输出值、所述目标中间层和所述目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值;其中,所述第二权值组包括不同故障类型到不同故障部件的第二连接权值;
所述作为子单元,用于将大于零值的第二输出值所对应目标故障部件的目标故障数据作为所述目标子数据组的诊断结果。
一方面,所述第一量化子单元用于统计所述目标子数据组中各目标故障部件的故障类型数;
根据所述第一权值组和所述故障类型数,确定出每个故障类型对应的第一输入值;
基于每个故障类型对应的所述第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值。
一方面,所述第一量化子单元用于调用第一输入值计算公式对所述第一权值组和所述故障类型数进行计算,以得到每个故障类型对应的第一输入值;其中,所述第一输入值计算公式为:
其中,M i 表示故障类型i对应的第一输入值,ω ni 表示目标故障部件n到故障类型i的第一连接权值,x n 表示目标故障部件n的故障类型数,N表示所有目标故障部件的总数。
一方面,基于第一量化子单元用于调用第一输出值计算公式对每个故障类型对应的所述第一输入值以及第一阈值进行计算,以得到每个故障类型对应的第一输出值;其中,所述第一输出值计算公式为:
其中,S i 表示故障类型i对应的第一输出值,M i 表示故障类型i对应的第一输入值,θ i 表示故障类型i对应的第一阈值。
一方面,所述第二量化子单元用于根据所述第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值;
基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值。
一方面,所述第二量化子单元用于调用第二输入值计算公式对所述第二权值组以及每个故障类型对应的第一输出值进行计算,以得到每个目标故障部件对应的第二输入值;其中,所述第二输入值计算公式为:
其中,Y n 表示目标故障部件n对应的第二输入值,v in 表示故障类型i到目标故障部件n的第二连接权值,S i 表示故障类型i对应的第一输出值,I表示所有故障类型的总数。
一方面,所述第二量化子单元用于调用第二输出值计算公式对每个目标故障部件对应的第二输入值和第二阈值进行计算,以得到每个目标故障部件对应的第二输出值;其中,所述第二输出值计算公式为:
其中,P n 表示目标故障部件n对应的第二输出值,Y n 表示目标故障部件n对应的第二输入值,δ n 表示目标故障部件n对应的第二阈值。
一方面,所述筛选单元包括分配子单元、确定子单元和作为子单元;
所述分配子单元,用于按照各所述诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各所述诊断结果分配标签;其中,每个标签有其对应的标签权重;
所述确定子单元,用于根据每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个所述诊断结果的故障值;
所述作为子单元,用于将故障值大于故障限值的诊断结果作为有效诊断结果。
一方面,所述分配子单元用于根据各所述诊断结果中包含的故障部件个数,对各所述诊断结果分配数量标签;其中,所述数量标签包括单部件标签和多部件标签;
根据各所述诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各所述诊断结果中各故障部件的故障频率和故障阶段;
依据各所述诊断结果中各故障部件的故障频率和故障阶段,对各所述诊断结果分配时间标签;其中,所述时间标签包括近期修复标签、历史修复标签和高频次故障标签。
一方面,所述分配子单元用于根据各所述诊断结果中故障数据包含的故障状态,将各所述诊断结果中各故障部件划分为处于故障恢复阶段的故障部件和处于故障持续阶段的故障部件;
对所述处于故障持续阶段的故障部件,基于所述处于故障持续阶段的故障部件出现的故障次数及其故障数据的产生时间,确定出故障频率。
一方面,所述分配子单元用于判断所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差是否小于时间阈值;其中,目标诊断结果为所有诊断结果中的任意一个诊断结果;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差小于时间阈值的情况下,对所述目标诊断结果分配近期修复标签;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差大于或等于时间阈值的情况下,对所述目标诊断结果分配历史修复标签;
在所述处于故障持续阶段的故障部件的故障频率大于频率阈值的情况下,对所述目标诊断结果分配高频次故障标签。
一方面,所述确定子单元用于调用故障值计算公式对每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值进行计算,以得到每个所述诊断结果的故障值;其中,所述故障值计算公式为:
其中,G n 表示目标故障部件n对应的故障值,w j 表示标签j的标签权重,P n 表示目标故障部件n对应的第二输出值,表示目标故障部件n对应的故障阈值,Q表示目标诊断结果被分配的标签个数。
一方面,所述矢量推导图中包括源部件、故障原因、故障现象、故障结果的层级关系;
所述推导单元包括第一比较子单元、匹配子单元、查询子单元、第二比较子单元和作为子单元;
所述第一比较子单元,用于将第一故障类型与所述矢量推导图包括的故障结果进行比较,以确定出与所述第一故障类型相关联的故障现象;其中,所述第一故障类型为第一有效诊断结果包含的第一故障部件对应的任意一个故障类型;所述第一有效诊断结果为所有所述有效诊断结果中的任意一个诊断结果;所述第一故障部件为所述第一有效诊断结果中包含的所有故障部件中的任意一个故障部件;
所述匹配子单元,用于将所述日志信息中所述第一故障类型对应的历史故障现象与所述相关联的故障现象进行匹配,以确定出所述第一故障类型对应的第一故障现象;
所述查询子单元,用于从所述日志信息中查询产生所述第一故障现象的第一故障原因;
所述第二比较子单元,用于将所述第一故障原因与所述矢量推导图包括的故障原因进行比较,以确定出所述第一故障类型对应的第一源部件;
所述作为子单元,用于在所述第一源部件与所述有效诊断结果中所述第一故障类型对应的故障部件相同的情况下,将所述有效诊断结果中所述第一故障类型对应的故障部件作为最终的故障部件。
一方面,所述提取单元用于依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则;在所述诊断知识库中出现与所述日志信息匹配的诊断规则的情况下,按照二分法从所述日志信息提取出与所述诊断规则对应的故障数据。
一方面,还包括展示单元和补充单元;
所述展示单元,用于在所述诊断知识库中不存在与所述日志信息匹配的诊断规则的情况下,展示诊断规则缺失的提示信息;
所述补充单元,用于在获取到新的诊断规则的情况下,将所述新的诊断规则补充至所述诊断知识库,并触发所述提取单元执行所述依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则的步骤。
一方面,还包括判断单元和规则调整单元;
所述判断单元,用于判断所述最终的故障部件与工单系统中的记录的实际故障部件是否一致;
所述规则调整单元,用于在所述最终的故障部件与工单系统中的记录的实际故障部件不一致的情况下,利用所述实际故障部件对应的故障数据对所述诊断规则进行调整。
一方面,还包括作为单元和参数调整单元;
所述作为单元,用于将所述最终的故障部件对应的故障类型数作为所述诊断分析模型的输入层参数;
所述参数调整单元,用于对所述诊断分析模型的第一权值组和第二权值组进行调整,以得到输出层的输出值最大时所对应的第一权值组和第二权值组。
本发明实施例还提供了一种服务器故障诊断设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述服务器故障诊断方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述服务器故障诊断方法的步骤。
由上述技术方案可以看出,根据诊断规则,提取日志信息中的故障数据;不同故障部件之间往往具有关联性,因此可以按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型。利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果。为了避免同一个部件的同一故障多次被报出,可以基于故障数据的分布情况设置标签,依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果。基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。本发明的有益效果在于,采用诊断规则提取故障数据,将提取后的故障数据采用分组的方式进行故障诊断,可以提升故障诊断的准确率。利用标签对诊断结果进行筛选,可以避免同一个故障被多次报出,并且基于矢量推导图对有效诊断结果进行故障原因的矢量推导,可以进一步识别出有效诊断结果中包含的故障部件是否为真正的故障部件,从而能够准确的输出真正的故障部件,降低了误判的情况发生。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务器故障诊断方法的流程图;
图2为本发明实施例提供的一种对各目标故障部件与目标中间层的所有故障类型之间的关联性进行量化评估的方法的流程图;
图3为本发明实施例提供的一种计算分析模块的结构示意图;
图4为本发明实施例提供的一种故障诊断模型的结构示意图;
图5为本发明实施例提供的一种存储分析模块的结构示意图;
图6为本发明实施例提供的一种供电分析模块的结构示意图;
图7为本发明实施例提供的一种散热分析模块的结构示意图;
图8为本发明实施例提供的一种启动分析模块结构示意图;
图9为本发明实施例提供的一种对各诊断结果分配标签的方法的流程图;
图10为本发明实施例提供的一种基于矢量推导图确定出最终的故障部件的方法的流程图;
图11为本发明实施例提供的一种风扇故障的矢量推导图;
图12为本发明实施例提供的一种矢量推导图的示意图;
图13为本发明实施例提供的一种服务器故障诊断的模块化示意图;
图14为本发明实施例提供的一种服务器故障诊断装置的结构示意图;
图15为本发明实施例提供的一种服务器故障诊断设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”,以及与“包括”和“具有”相关的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种服务器故障诊断方法。图1为本发明实施例提供的一种服务器故障诊断方法的流程图,该方法包括:
S101:根据诊断规则,提取日志信息中的故障数据。
诊断规则用于识别日志信息中是否存在故障数据。
服务器中包含有各类部件,如中央处理器(Central Processing Unit,CPU)、内存条(Memory)、总线和接口(PCI-Express,PCIE)设备、硬盘、独立冗余磁盘阵列(RedundantArrays of Independent Disks,RAID)、电源、风扇等。诊断规则中可以包括不同部件在不同故障类型下所呈现的数据形式。
在本发明实施例中,可以每间隔一段时间采集一次服务器的日志信息,将日志信息和诊断规则进行匹配,从而提取出日志信息中的故障数据。
其中,故障数据可以包括故障部件、故障类型和故障状态。
故障部件指的是运行出现异常的部件。
故障类型指的是故障部件出现异常的具体类别。例如,CPU对应的故障类型可以包括CPU高温故障、CPU内部故障等。
故障状态指的是故障部件的运行状态。故障状态可以包括故障持续状态和故障恢复状态。故障持续状态说明故障部件仍存在故障,故障恢复状态说明故障部件出现了异常但是目前已经恢复正常。
S102:按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组。
考虑到实际应用中,功能相关联的部件出现故障时会相互影响,例如,内存条出现故障时,可能会影响CPU的正常运行。假设故障数据中同时包含了内存条的故障数据以及CPU的故障数据,按照传统方式会同时判定内存条和CPU出现了故障,而实际应用中,可能是内存条的故障影响了CPU的正常运行,导致CPU产生了故障数据,也即实际上只有内存条属于故障部件,CPU并不是故障部件。
因此,在本发明实施例中,为了提升服务器故障诊断的准确性,提出了对故障数据按照所属的功能类型进行分组处理的方式,将多个功能关联的部件对应的故障数据作为一个子数据组,从而可以对这多个功能关联的部件对应的故障数据进行综合分析,确定出实际出现故障的故障部件。
在本发明实施例中,可以根据各部件功能之间的关联性,划分不同的功能类型。每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型。例如,划分的功能类型可以包括计算类型、存储类型、供电类型、散热类型和启动类型。在计算类型下可以包括与处理服务器执行计算相关联的部件,例如CPU、Memory、PCIE设备等。PCIE设备指的是插在PCIE插槽上的设备,如声卡、网卡、调制解调器(MODEM)等。
在实际应用中,可以将每个故障数据包含的故障部件与各功能类型所对应的多个功能关联的部件进行比较,以确定出每个故障数据所属的功能类型;将属于同一个功能类型的故障数据作为一个子数据组。
S103:利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果。
在本发明实施例中,针对于不同的功能类型可以设置对应的诊断分析模型。不同诊断分析模型的工作原理类似,只是模型参数有所差异。
诊断分析模型可以包括输入层、中间层和输出层;输入层和输出层均对应故障部件;中间层对应故障类型。诊断分析模型采用输入层、中间层、输出层的分层方式将相互影响、相关关联的故障部件对应的故障数据进行综合分析,可以更加准确的识别出真实的故障部件。
每个子数据组的分析方式类似,接下来将以所有子数据组中的任意一个子数据组即目标数据组为例展开介绍。为了便于区分,可以将目标子数据组中的故障部件称作目标故障部件,目标子数据组匹配的诊断分析模型称作目标诊断分析模型,该目标诊断分析模型的各层依次为目标输入层、目标中间层和目标输出层。
在实际应用中,可以利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值。
其中,第一权值组可以包括不同故障部件到不同故障类型的第一连接权值。第一阈值组可以包括不同故障类型对应的第一阈值。第一权值组和第一阈值组的取值可以预先设定好。
中间层对应的是故障类型,因此在具体实现中,针对于每个故障类型,可以将每个目标故障部件所出现的故障类型数与第一权值组中该目标故障部件到不同故障类型的第一连接权值相乘作为中间层的输入值。可以将每种故障类型对应的输入值与第一阈值的差值作为第一输出值。
每个故障类型对应的第一输出值的取值越高,说明出现该故障类型的概率越高。
利用每个故障类型对应的第一输出值、目标中间层和目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值。
其中,第二权值组可以包括不同故障类型到不同故障部件的第二连接权值。
输出层对应的是故障部件,因此在具体实现中,针对于每个目标故障部件,可以将每种故障类型数的第一输出值与第二权值组中该故障类型到所有目标故障部件之间的第二连接权值相乘作为输出层的输入值,可以将每个目标故障部件对应的输入值与第二阈值的差值作为第二输出值。
目标故障部件的第二输出值的取值越大,说明目标故障部件属于真实故障部件的概率越高,因此在确定出每个目标故障部件对应的第二输出值之后,可以将大于零值的第二输出值所对应目标故障部件的目标故障数据作为目标子数据组的诊断结果。
S104:依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果。
其中,标签可以基于故障数据的分布情况设置。
在实际应用中,可以预先设定好标签的类型,根据各诊断结果中包含的故障数据的分布情况,对其分配标签。
为了实现对不同诊断结果的量化评估,可以针对不同标签设置不同的标签权重。
在S103中可以确定出每个诊断结果中各故障部件对应的第二输出值,因此基于每个诊断结果中各故障部件对应的第二输出值以及每个诊断结果对应的标签权重,可以确定出每个诊断结果对应的故障值。
故障值的取值越大,说明诊断结果的准确性越高。在实际应用中,可以将大于设定的故障阈值的故障值所对应的诊断结果作为有效诊断结果。
S105:基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
服务器正常运行时,其内部各部件被视为一个整体,各部件之间相互关联相互依赖。若某一个部件产生了故障,其故障可能会被放射到其他部件并表现出故障现象。
例如:风扇可能产生的故障有:风扇不在位、转速低、风扇冗余等,这些故障将会引发服务器内部温度过高,而高温将会导致内存、CPU、PCIE设备等产生高温告警等故障。而导致这些高温告警故障的最终原因是风扇自身故障的原因,那么可以得出服务器各种部件的故障存在一定关联关系。
为了避免健康部件被误诊断为故障部件现象的发生。在本发明实施例中,可以根据故障部件产生的故障现象、造成该故障现象的故障原因以及该故障原因对应的真实故障部件建立矢量推导图。
结合上述举例,故障部件为内存、CPU、PCIE设备和风扇,这些故障部件对应的故障现象为服务器内部温度高,造成这一故障现象的故障原因为风扇不在位、转速低或者风扇冗余,这些故障原因对应的真实故障部件为风扇。因此在有效诊断结果包含的故障部件为内存、CPU、PCIE设备和风扇时,基于矢量推导图这些故障部件的故障原因进行推导,可以确定出最终的故障部件为风扇。
由上述技术方案可以看出,根据诊断规则,提取日志信息中的故障数据;不同故障部件之间往往具有关联性,因此可以按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型。利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果。为了避免同一个部件的同一故障多次被报出,可以基于故障数据的分布情况设置标签,依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果。基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。本发明的有益效果在于,采用诊断规则提取故障数据,将提取后的故障数据采用分组的方式进行故障诊断,可以提升故障诊断的准确率。利用标签对诊断结果进行筛选,可以避免同一个故障被多次报出,并且基于矢量推导图对有效诊断结果进行故障原因的矢量推导,可以进一步识别出有效诊断结果中包含的故障部件是否为真正的故障部件,从而能够准确的输出真正的故障部件,降低了误判的情况发生。
每个子数据组的量化评估方式类似,接下来将以任意一个子数据组即目标子数据组为例展开介绍,图2为本发明实施例提供的一种对各目标故障部件与目标中间层的所有故障类型之间的关联性进行量化评估的方法的流程图,该方法包括:
S201:统计目标子数据组中各目标故障部件的故障类型数。
同一个故障部件其对应的故障类型往往多种多样。对于同一个故障部件而言,同一种故障类型可能会多次出现,故障类型出现的次数越多,说明故障部件真实出现故障的概率越高。因此在量化评估阶段,可以将各目标故障部件的故障类型数作为量化评估的依据。故障类型数指的是故障部件同一故障类型所出现的次数。
每个目标故障部件有其对应的故障数据,在该故障数据中包含了故障类型,因此依据各目标故障部件的故障数据中记录的故障类型,可以确定出各目标故障部件的故障类型数。
S202:根据第一权值组和故障类型数,确定出每个故障类型对应的第一输入值。
在实际应用中,可以调用第一输入值计算公式对第一权值组和故障类型数进行计算,以得到每个故障类型对应的第一输入值;其中,第一输入值计算公式为:
(1);
其中,M i 表示故障类型i对应的第一输入值,ω ni 表示目标故障部件n到故障类型i的第一连接权值,x n 表示目标故障部件n的故障类型数,N表示所有目标故障部件的总数。
按照上述公式(1),可以计算出每种故障类型各自对应的第一输入值。
S203:基于每个故障类型对应的第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值。
每个故障类型有其对应的第一输入值,第一输入值可以用于表征所有目标故障部件与该故障类型的关联性,第一输入值的取值越大,说明所有目标故障部件与该故障类型的关联性越强。
在本发明实施例中,可以设置第一阈值来过滤掉关联性较弱的信息。
在实际应用中,可以调用第一输出值计算公式对每个故障类型对应的第一输入值以及第一阈值进行计算,以得到每个故障类型对应的第一输出值;其中,第一输出值计算公式为:
(2);
其中,S i 表示故障类型i对应的第一输出值,M i 表示故障类型i对应的第一输入值,θ i 表示故障类型i对应的第一阈值。
按照公式(2)的计算方式,当第一输入值的取值小于第一阈值时,第一输出值的取值为0,从而实现对关联性较弱信息过滤的目的。
S204:根据第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值。
在实际应用中,可以调用第二输入值计算公式对第二权值组以及每个故障类型对应的第一输出值进行计算,以得到每个目标故障部件对应的第二输入值;其中,第二输入值计算公式为:
(3);
其中,Y n 表示目标故障部件n对应的第二输入值,v in 表示故障类型i到目标故障部件n的第二连接权值,S i 表示故障类型i对应的第一输出值,I表示所有故障类型的总数。
按照上述公式(3),可以计算出每个目标故障部件各自对应的第二输入值。
S205:基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值。
输出层对应的是故障部件。每个目标故障部件有其对应的第二输入值,第二输入值可以用于表征所有故障类型与该目标故障部件的关联性。第二输入值的取值越大,说明该目标故障部件属于真实故障部件的概率越大。
在本发明实施例中,可以设置第二阈值来过滤掉非真实故障的部件。
在实际应用中,可以调用第二输出值计算公式对每个目标故障部件对应的第二输入值和第二阈值进行计算,以得到每个目标故障部件对应的第二输出值;其中,第二输出值计算公式为:
(4);
其中,P n 表示目标故障部件n对应的第二输出值,Y n 表示目标故障部件n对应的第二输入值,δ n 表示目标故障部件n对应的第二阈值。
按照公式(4)的计算方式,当第二输入值的取值小于第二阈值时,第二输出值的取值为0,从而过滤掉非真实故障的部件。
在本发明实施例中,为了提升故障诊断的准确性,对功能关联部件所对应的故障数据进行了分组,并且针对于每种功能类型设置了对应的故障诊断模型。
考虑到服务器产生故障时,功能相关联的部件可能会同时报出故障或输出故障信息,即并不是所有输出故障信息的部件都是故障部件。因此在本发明实施例中,针对于故障分析可以采用模块化的诊断方式。在实际应用中,可以基于服务器的不同功能类型,划分出不同的功能模块,包括计算分析模块、存储分析模块、供电分析模块、散热分析模块和启动分析模块。接下来将对这五种类型的分析模块各自对应的故障部件以及故障类型展开介绍。
以计算分析模块为例,图3为本发明实施例提供的一种计算分析模块的结构示意图,计算分析模块对应的部件可以包括中央处理器(CPU)、内存条(Memory)、总线和接口(PCIE)设备。其中,中央处理器对应的故障类型可以包括CPU高温故障(Thermal Trip)、CPU内部故障(IERR)。内存条对应的故障类型可以包括可纠正的错误检查和纠正(CorrectableECC)、不可纠正的错误检查和纠正(Uncorrectable ECC)。总线和接口设备对应的故障类型可以包括总线致命错误(Bus Fatal Error)和系统错误报告信号(PCI SERR)。
虽然在计算分析模块中故障是由CPU、Memory、PCIE设备中的一种部件或者多种部件报出,但是这并不能代表报出故障信息的部件就是故障源,所以在本发明实施例中,可以将计算分析模块对应的故障诊断模型抽象出输入层、中间层、输出层。
图4为本发明实施例提供的一种故障诊断模型的结构示意图,图4是以计算分析模块对应的故障诊断模型为例,因此输入层和输出层对应的故障部件包括CPU、Memory、PCIE设备。
图4中故障诊断模型中输入层为:CPU、Memory、PCIE设备;中间层为故障类型,假设所有故障类型的总数为I,为了便于区分不同的故障类型,采用故障类型1至故障类型I表示。输出层为:CPU、Memory、PCIE设备。
结合CPU、Memory、PCIE设备对应的故障类型,故障类型1可以是Thermal Trip、故障类型2可以是IERR、故障类型3可以是Correctable ECC、故障类型4可以是UncorrectableECC、故障类型5可以是Bus Fatal Error、故障类型6可以是PCI SERR等。
以存储分析模块为例,图5为本发明实施例提供的一种存储分析模块的结构示意图,若故障数据中的故障部件是:独立冗余磁盘阵列或硬盘,则按照存储分析子模块的业务逻辑进行分析,硬盘对应的故障类型为:驱动故障(Drive Fault)、输入/输出故障(I/OError)等。独立冗余磁盘阵列对应的故障类型为:致命固件错误(Fatal firmware error)、带宽缩小(Bandwith Reduction)等。
以供电分析模块为例,图6为本发明实施例提供的一种供电分析模块的结构示意图,若故障数据中的故障类型是:电源、电压、电流等,则按照供电分析子模块的业务逻辑进行分析,电源对应的故障类型可以包括:检测到故障(Failure detected)、交流电源丢失(Power Supply AC lost)等。电压和电流对应的故障类型可以包括:电压/电流过低(LowerCritical)、不可恢复的故障(Non-recoverable)等。
以散热分析模块为例,图7为本发明实施例提供的一种散热分析模块的结构示意图,若故障数据中的故障类型是:风扇、进风口温度、其他温度等,则按照散热分析子模块的业务逻辑进行分析,风扇对应的故障类型可以包括:冗余降级(Redundancy degraded)、冗余丢失(Redundancy lost)等。进风口温度对应的故障类型可以包括:严重的故障(Critical)、不可恢复故障(Non-recoverable)等。其他温度对应的故障类型可以包括:高温故障(Thermal Trip)、温度超过临界值(Critical Over temperature)等。
以启动分析模块为例,图8为本发明实施例提供的一种启动分析模块结构示意图,若故障数据中的故障类型是:上电、启动等,则按照启动分析模块的业务逻辑进行分析,上电对应的故障类型可以包括: 上电故障(Power on failure)、上电后又断电(Power onand off)等。启动对应的故障类型可以包括:总线和接口设备初始化异常(PCIEinitialization exception)等。
需要说明的是,计算分析模块对应的故障诊断模型同样适用于存储分析模块、供电分析模块、散热分析模块和启动分析模块,只是不同分析模块所对应的故障诊断模型的模型参数如第一权值组、第一阈值组、第二权值组以及第二阈值组的取值有所不同。
在本发明实施例中,可以按照各诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各诊断结果分配标签。其中,每个标签有其对应的标签权重。
图9为本发明实施例提供的一种对各诊断结果分配标签的方法的流程图,该方法包括:
S901:根据各诊断结果中包含的故障部件个数,对各诊断结果分配数量标签。
其中,数量标签包括单部件标签和多部件标签。
每个诊断结果的处理方式类似,将以一个诊断结果为例展开介绍。
诊断结果中包括有故障数据,故障数据中记录了故障部件,因此统计一个诊断结果中包括的故障部件的个数,在故障部件的个数为一个的情况下,为该诊断结果分配单部件标签;在故障部件的个数为多个的情况下,为该诊断结果分配多部件标签。
单部件标签和多部件标签对应的标签权重不同,在实际应用中,可以将多部件标签的标签权重设置的高于单部件标签的标签权重。
S902:根据各诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各诊断结果中各故障部件的故障频率和故障阶段。
在实际应用中,可以根据各诊断结果中故障数据包含的故障状态,将各诊断结果中各故障部件划分为处于故障恢复阶段的故障部件和处于故障持续阶段的故障部件。
对处于故障持续阶段的故障部件,可以基于处于故障持续阶段的故障部件出现的故障次数及其故障数据的产生时间,确定出故障频率。
举例说明,假设故障部件第一次出现故障的时间为t1,故障部件一共出现了5次故障,最后一次出现故障的时间为t2,则故障频率可以为(t2-t1)/5。
S903:依据各诊断结果中各故障部件的故障频率和故障阶段,对各诊断结果分配时间标签。
基于故障阶段,可以确定故障部件是否被修复;基于故障频率,可以评估单位时间内故障部件出现故障的频次。
在本发明实施例中,时间标签可以包括近期修复标签、历史修复标签和高频次故障标签。
以所有诊断结果中的任意一个诊断结果即目标诊断结果为例,在确定出目标诊断结果中各故障部件的故障频率和故障阶段之后,可以判断处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差是否小于时间阈值。
故障部件的故障恢复时间可以从日志信息中直接获取。
时间阈值的取值可以基于实际需求灵活设置,在此不做限定。
在处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差小于时间阈值的情况下,说明故障部件近期才被修复,此时可以对目标诊断结果分配近期修复标签。
在处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差大于或等于时间阈值的情况下,说明故障部件已经被修复了一段时间,此时可以对目标诊断结果分配历史修复标签。
考虑到实际应用中,会每隔一段时间记录一次部件的运行信息记录到日志信息中,当一个部件出现故障未被修复时,在日志信息中往往会存在多条故障数据。这就会导致同一个部件同一个故障多次被报出。为了解决该问题,可以基于故障部件的故障频率为其分配标签。
在故障频率较高的时候才为其分配标签,每个标签有其对应的标签权重。当一个诊断结果不具有标签或者对应的标签数量较少时,基于标签权重计算出的故障值取值较低,对于故障值取值较低的诊断结果可以不报出故障。
因此对处于故障持续阶段的故障部件,可以根据其故障频率为其分配标签。在实际应用中,可以在处于故障持续阶段的故障部件的故障频率大于频率阈值的情况下,对目标诊断结果分配高频次故障标签。
频率阈值的取值基于实际需求灵活设置,在此不做限定。
S904:根据每个诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个诊断结果的故障值。
在实际应用中,可以调用故障值计算公式对每个诊断结果的标签权重、第二输出值以及设定的故障阈值进行计算,以得到每个诊断结果的故障值;其中,故障值计算公式为如下公式(5):
(5);
其中,G n 表示目标故障部件n对应的故障值,w j 表示标签j的标签权重,P n 表示目标故障部件n对应的第二输出值,表示目标故障部件n对应的故障阈值,Q表示目标诊断结果被分配的标签个数。
S905:将故障值大于故障限值的诊断结果作为有效诊断结果。
诊断结果的故障值越高,说明诊断结果包含有真实故障部件的概率越高,因此可以设置故障限值对各诊断结果的故障值进行评估。
在一个诊断结果的故障值大于故障限值的情况下,说明该诊断结果包含有真实故障部件的概率非常高,因此可以将故障值大于故障限值的诊断结果作为有效诊断结果。
在本发明实施例中,通过对诊断结果分配标签,基于标签权重确定各诊断结果的故障值,实现了对诊断结果的量化评估。并且基于各诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对诊断结果分配标签,可以有效的避免同一个部件的同一故障多次被报出或者已经被修复的健康部件被误报的情况发生。
在本发明实施例中,考虑到服务器正常运行时,其内部各部件被视为一个整体,各部件之间相互关联相互依赖。若某一个部件产生了故障,其故障可能会被放射到其他部件并表现出故障现象。因此可以根据各部件之间的依赖关系,建立矢量推导图。矢量推导图可以有多个,每个矢量推导图中可以包括源部件、故障原因、故障现象、故障结果的层级关系。源部件指的是出现故障的真实部件,故障结果可以包括由于源部件的故障导致其它部件产生故障的故障类型。故障现象可以是其它部件产生故障所呈现出的共性,例如故障结果包括内存高温告警、CPU高温告警、PCIE设备高温告警,则对应的故障现象为服务器内部温度高。故障原因可以是造成故障现象的原因,故障原因也可以看作是源部件的故障类型。
图10为本发明实施例提供的一种基于矢量推导图确定出最终的故障部件的方法的流程图,该方法包括:
S1001:将第一故障类型与矢量推导图包括的故障结果进行比较,以确定出与第一故障类型相关联的故障现象。
其中,第一故障类型可以为第一有效诊断结果包含的第一故障部件对应的任意一个故障类型;第一有效诊断结果为所有有效诊断结果中的任意一个诊断结果;第一故障部件为第一有效诊断结果中包含的所有故障部件中的任意一个故障部件。
将第一故障类型与矢量推导图包括的故障结果进行比较,故障结果中包含了多个故障类型,当故障结果中存在与第一故障类型相同的故障类型时,可以将该故障类型对应的故障现象作为第一故障类型相关联的故障现象。
图11为本发明实施例提供的一种风扇故障的矢量推导图,图11中风扇为源部件,故障原因包括风扇不在位、转速低和风扇冗余。这些故障原因产生的故障现象为服务器内部温度高,故障现象对应的故障结果包括内存高温告警、CPU高温告警、PCIE设备高温告警等。
S1002:将日志信息中第一故障类型对应的历史故障现象与相关联的故障现象进行匹配,以确定出第一故障类型对应的第一故障现象。
第一故障类型对应的故障现象可能有多个,因此可以从日志信息中查询第一故障类型出现过的历史故障现象,当第一故障类型对应的故障现象中存在与历史故障现象相同的故障现象时,可以直接将历史故障现象作为第一故障类型对应的第一故障现象。
S1003:从日志信息中查询产生第一故障现象的第一故障原因。
故障现象有其对应的故障原因,可以从日志信息中查找服务器产生该故障现象时曾经出现的故障原因,可以将曾经出现的故障原因作为第一故障原因。
S1004:将第一故障原因与矢量推导图包括的故障原因进行比较,以确定出第一故障类型对应的第一源部件。
矢量推导图中包含了故障原因所对应的源部件,因此在矢量推导图中可以查询与第一故障原因相同的故障原因,将该故障原因对应的源部件作为第一故障类型对应的第一源部件。
S1005:在第一源部件与有效诊断结果中第一故障类型对应的故障部件相同的情况下,将有效诊断结果中第一故障类型对应的故障部件作为最终的故障部件。
第一源部件往往是真正造成服务器产生各类故障的故障部件。在第一源部件与有效诊断结果中第一故障类型对应的故障部件相同的情况下,说明有效诊断结果中包含的故障部件属于真正故障部件的概率较高,因此可以将有效诊断结果中第一故障类型对应的故障部件作为最终的故障部件。
图12为本发明实施例提供的一种矢量推导图的示意图,在矢量推导图中故障部件为最初诊断服务器故障时得出的故障部件,一个故障部件所对应的故障类型往往有多种,分别为故障1、故障2、故障3、故障4、故障5、故障6等。以故障N为例,根据矢量推导图可以推导出与之相关联的故障现象:现象1,……,现象I。在日志信息中查找产生故障时曾出现过的现象,这样就能够确定故障N在本次服务器故障中对应的现象为:现象I。根据现象I在日志信息中查找服务器产生故障时曾经出现的故障原因,然后与现象I矢量推导出的原因:原因1,……,原因N是否有相同部分,若存在相同原因为:原因J,则根据原因J所在的矢量推导图能够找到最终引发故障的服务器部件。
诊断规则可以以诊断知识库的形式呈现,诊断知识库中包含的诊断规则的数量较多,为例提升提取故障数据的效率,可以依次判断诊断知识库中是否存在与日志信息匹配的诊断规则;在诊断知识库中出现与日志信息匹配的诊断规则的情况下,按照二分法从日志信息提取出与诊断规则对应的故障数据。
例如,可以先从诊断知识库中取一条诊断规则去匹配全部的日志信息;若不能匹配到故障信息,则继续从诊断知识库中取另外一条诊断规则R匹配;若能匹配到故障信息,则将完整的日志信息平均分为A1和A2两部分,然后使用诊断规则R分别匹配日志信息A1和A2。依次类推,通过将日志信息不断的平均分为两份,可以最终找到与诊断规则R对应的日志信息,可以将与诊断规则R对应的日志信息称作故障数据。
在实际应用中,可能会存在诊断知识库中不存在与日志信息匹配的诊断规则的情况,针对于该种情况,可以展示诊断规则缺失的提示信息,以便于工作人员及时对诊断规则进行补充。服务器在获取到新的诊断规则的情况下,可以将新的诊断规则补充至诊断知识库,并执行依次判断诊断知识库中是否存在与日志信息匹配的诊断规则的步骤。
在本发明实施中,在确定出最终的故障部件之后,可以基于工单系统中的记录的实际故障部件对当前确定出的故障部件是否正确进行评判。
在具体实现中,可以判断最终的故障部件与工单系统中的记录的实际故障部件是否一致;在最终的故障部件与工单系统中的记录的实际故障部件不一致的情况下,说明确定出的最终的故障部件有误,此时可以利用实际故障部件对应的故障数据对诊断规则进行调整。
通过基于工单系统中记录的实际故障部件对服务器故障诊断的结果进行验证,可以在结果不正确的情况下及时对诊断规则进行调整,从而保证后续基于诊断规则提取出有效的故障数据,从而提升故障诊断的正确性。
在本发明实施例中,可以将最终的故障部件对应的故障类型数作为诊断分析模型的输入层参数;对诊断分析模型的第一权值组和第二权值组进行调整,以得到输出层的输出值最大时所对应的第一权值组和第二权值组。
在已知服务器故障且故障部件、故障类型都已明确的情况下。需对模块化诊断模型进行参数训练,在参数训练过程中逐步调整各个节点及权重参数尽量使得输出层的输出值的最大。假设故障部件为部件A,故障类型为故障类型B,根据上述公式(1)、公式(2)、公式(3)、公式(4),可以得出输出层部件A(只考虑P A >0)的输出值公式为:
其中,x n 表示输入层部件输入值,w ni 表示部件到故障类型i的连接权值,θ i 表示中间层故障类型i的阈值,v iA 表示中间层故障类型i到输出层部件A的连接权值。
使用已经确定故障部件及故障类型的故障日志,进行模块化诊断模型的训练使得公式P A 的值在大于0的情况下尽可能大一些,这里可以采用不断调整参数组w ni v iA 值的方法使得P A 的值变化,但在这个过程中需保证/>的值及的值不变。
在参数组w ni v iA 训练过程中若能保证输出值P A 最大,那么此时的参数组w ni v iA 即为最优参数组合,那么此时的模块化故障诊断模型便可确定。
在诊断结果故障汇总分析环节需要调整公式(5)中各个标记标签的权重值w以满足故障值的值为最大,
在参数调整过程中需保证的值不变。当G A 值最大时对应的参数组w i 即为最优解。
在诊断结果汇总分析环节检查是否存在矢量指向错误的问题以及矢量推导缺失,若存在以上问题需要修正矢量推导图,以满足故障诊断的准确性。
经过对诊断知识库、模块化诊断、诊断结果汇总的优化与完善,进一步提高了服务器故障诊断的准确率,同样这也是一个针对故障诊断模型训练自我完善的过程。
图13为本发明实施例提供的一种服务器故障诊断的模块化示意图,基于诊断知识库中的诊断规则,从服务器故障日志中提取故障数据:故障部件、故障类型、故障状态。将提取后的故障数据分别按照:计算分析子模块、存储分析子模块、供电分析子模块、散热分析子模块、启动分析子模块供五个模块分别进行诊断。把故障诊断模块中诊断出的故障结果进行汇总分析,在汇总分析环节采用:标签标记和矢量推导的方式将诊断结果进行精确化和明确化,然后输出最终的故障结果。接着采用反向验证的方式将故障诊断结果与故障工单系统对接,并与真实的现场环境下服务器故障解决方案对比,从而验证故障诊断结果是否正确。若故障诊断结果不正确,则根据真实现场环境的故障处理结果采用正向验证的机制来完善故障诊断知识库、优化模块化诊断模型、优化诊断结果汇总中的标签权重模型、完善矢量推导图等方式从而进一步提高服务器故障诊断的准确率。
反向验证机制:建立诊断结果反向验证机制,将故障诊断结果与故障工单系统中的真实的现场环境下服务器故障解决方案对比。若诊断结果不准确可以从工单系统获取真正的故障原因并反馈修正诊断方案,从而进一步提高了诊断的准确性。采用正向验证的机制完善故障诊断知识库、优化模块化诊断模型、优化诊断结果汇总中的标签权重模型、完善矢量推导图等方式从而进一步提高服务器故障诊断的准确率。
本发明实施例提供的服务器故障诊断方法的通用性好,可以针对不同厂商不同型号的服务器进行故障诊断。能够有效的解决了诊断准确率低、诊断不准确,历史故障重复诊断为故障,健康部件被诊断为故障部件等问题,有效的提高了诊断的准确率,并能够准确的输出故障解决方案。
图14为本发明实施例提供的一种服务器故障诊断装置的结构示意图,包括提取单元141、划分单元142、分析单元143、筛选单元144和推导单元145;
提取单元141,用于根据诊断规则,提取日志信息中的故障数据;
划分单元142,用于按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型;
分析单元143,用于利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果;
筛选单元144,用于依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果;其中,标签基于故障数据的分布情况设置;
推导单元145,用于基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
在一些实施例中,划分单元包括比较子单元和作为子单元;
比较子单元,用于将每个故障数据包含的故障部件与各功能类型所对应的多个功能关联的部件进行比较,以确定出每个故障数据所属的功能类型;
作为子单元,用于将属于同一个功能类型的故障数据作为一个子数据组。
在一些实施例中,诊断分析模型包括输入层、中间层和输出层;输入层和输出层均对应故障部件;中间层对应故障类型;
分析单元包括第一量化子单元、第二量化子单元和作为子单元;
第一量化子单元,用于利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值;其中,目标子数据组为所有子数据组中的任意一个子数据组;第一权值组包括不同故障部件到不同故障类型的第一连接权值;目标子数据组匹配的诊断分析模型包括目标输入层、目标中间层和目标输出层;
第二量化子单元,用于利用每个故障类型对应的第一输出值、目标中间层和目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值;其中,第二权值组包括不同故障类型到不同故障部件的第二连接权值;
作为子单元,用于将大于零值的第二输出值所对应目标故障部件的目标故障数据作为目标子数据组的诊断结果。
在一些实施例中,第一量化子单元用于统计目标子数据组中各目标故障部件的故障类型数;
根据第一权值组和故障类型数,确定出每个故障类型对应的第一输入值;
基于每个故障类型对应的第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值。
在一些实施例中,第一量化子单元用于调用第一输入值计算公式对第一权值组和故障类型数进行计算,以得到每个故障类型对应的第一输入值;其中,第一输入值计算公式为:
其中,M i 表示故障类型i对应的第一输入值,ω ni 表示目标故障部件n到故障类型i的第一连接权值,x n 表示目标故障部件n的故障类型数,N表示所有目标故障部件的总数。
在一些实施例中,基于第一量化子单元用于调用第一输出值计算公式对每个故障类型对应的第一输入值以及第一阈值进行计算,以得到每个故障类型对应的第一输出值;其中,第一输出值计算公式为:
其中,S i 表示故障类型i对应的第一输出值,M i 表示故障类型i对应的第一输入值,θ i 表示故障类型i对应的第一阈值。
在一些实施例中,第二量化子单元用于根据第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值;
基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值。
在一些实施例中,第二量化子单元用于调用第二输入值计算公式对第二权值组以及每个故障类型对应的第一输出值进行计算,以得到每个目标故障部件对应的第二输入值;其中,第二输入值计算公式为:
其中,Y n 表示目标故障部件n对应的第二输入值,v in 表示故障类型i到目标故障部件n的第二连接权值,S i 表示故障类型i对应的第一输出值,I表示所有故障类型的总数。
在一些实施例中,第二量化子单元用于调用第二输出值计算公式对每个目标故障部件对应的第二输入值和第二阈值进行计算,以得到每个目标故障部件对应的第二输出值;其中,第二输出值计算公式为:
其中,P n 表示目标故障部件n对应的第二输出值,Y n 表示目标故障部件n对应的第二输入值,δ n 表示目标故障部件n对应的第二阈值。
在一些实施例中,筛选单元包括分配子单元、确定子单元和作为子单元;
分配子单元,用于按照各诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各诊断结果分配标签;其中,每个标签有其对应的标签权重;
确定子单元,用于根据每个诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个诊断结果的故障值;
作为子单元,用于将故障值大于故障限值的诊断结果作为有效诊断结果。
在一些实施例中,分配子单元用于根据各诊断结果中包含的故障部件个数,对各诊断结果分配数量标签;其中,数量标签包括单部件标签和多部件标签;
根据各诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各诊断结果中各故障部件的故障频率和故障阶段;
依据各诊断结果中各故障部件的故障频率和故障阶段,对各诊断结果分配时间标签;其中,时间标签包括近期修复标签、历史修复标签和高频次故障标签。
在一些实施例中,分配子单元用于根据各诊断结果中故障数据包含的故障状态,将各诊断结果中各故障部件划分为处于故障恢复阶段的故障部件和处于故障持续阶段的故障部件;
对处于故障持续阶段的故障部件,基于处于故障持续阶段的故障部件出现的故障次数及其故障数据的产生时间,确定出故障频率。
在一些实施例中,分配子单元用于判断处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差是否小于时间阈值;其中,目标诊断结果为所有诊断结果中的任意一个诊断结果;
在处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差小于时间阈值的情况下,对目标诊断结果分配近期修复标签;
在处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差大于或等于时间阈值的情况下,对目标诊断结果分配历史修复标签;
在处于故障持续阶段的故障部件的故障频率大于频率阈值的情况下,对目标诊断结果分配高频次故障标签。
在一些实施例中,确定子单元用于调用故障值计算公式对每个诊断结果的标签权重、第二输出值以及设定的故障阈值进行计算,以得到每个诊断结果的故障值;其中,故障值计算公式为:
其中,G n 表示目标故障部件n对应的故障值,w j 表示标签j的标签权重,P n 表示目标故障部件n对应的第二输出值,表示目标故障部件n对应的故障阈值,Q表示目标诊断结果被分配的标签个数。
在一些实施例中,矢量推导图中包括源部件、故障原因、故障现象、故障结果的层级关系;
推导单元包括第一比较子单元、匹配子单元、查询子单元、第二比较子单元和作为子单元;
第一比较子单元,用于将第一故障类型与矢量推导图包括的故障结果进行比较,以确定出与第一故障类型相关联的故障现象;其中,第一故障类型为第一有效诊断结果包含的第一故障部件对应的任意一个故障类型;第一有效诊断结果为所有有效诊断结果中的任意一个诊断结果;第一故障部件为第一有效诊断结果中包含的所有故障部件中的任意一个故障部件;
匹配子单元,用于将日志信息中第一故障类型对应的历史故障现象与相关联的故障现象进行匹配,以确定出第一故障类型对应的第一故障现象;
查询子单元,用于从日志信息中查询产生第一故障现象的第一故障原因;
第二比较子单元,用于将第一故障原因与矢量推导图包括的故障原因进行比较,以确定出第一故障类型对应的第一源部件;
作为子单元,用于在第一源部件与有效诊断结果中第一故障类型对应的故障部件相同的情况下,将有效诊断结果中第一故障类型对应的故障部件作为最终的故障部件。
在一些实施例中,提取单元用于依次判断诊断知识库中是否存在与日志信息匹配的诊断规则;在诊断知识库中出现与日志信息匹配的诊断规则的情况下,按照二分法从日志信息提取出与诊断规则对应的故障数据。
在一些实施例中,还包括展示单元和补充单元;
展示单元,用于在诊断知识库中不存在与日志信息匹配的诊断规则的情况下,展示诊断规则缺失的提示信息;
补充单元,用于在获取到新的诊断规则的情况下,将新的诊断规则补充至诊断知识库,并触发提取单元执行依次判断诊断知识库中是否存在与日志信息匹配的诊断规则的步骤。
在一些实施例中,还包括判断单元和规则调整单元;
判断单元,用于判断最终的故障部件与工单系统中的记录的实际故障部件是否一致;
规则调整单元,用于在最终的故障部件与工单系统中的记录的实际故障部件不一致的情况下,利用实际故障部件对应的故障数据对诊断规则进行调整。
在一些实施例中,还包括作为单元和参数调整单元;
作为单元,用于将最终的故障部件对应的故障类型数作为诊断分析模型的输入层参数;
参数调整单元,用于对诊断分析模型的第一权值组和第二权值组进行调整,以得到输出层的输出值最大时所对应的第一权值组和第二权值组。
图14所对应实施例中特征的说明可以参见图1至图13所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,根据诊断规则,提取日志信息中的故障数据;不同故障部件之间往往具有关联性,因此可以按照各故障数据所属的功能类型,将各故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个功能关联的部件和一个诊断分析模型。利用每个子数据组所匹配的诊断分析模型对子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个子数据组对应的诊断结果。为了避免同一个部件的同一故障多次被报出,可以基于故障数据的分布情况设置标签,依据设定的标签对各诊断结果进行筛选,以得到有效诊断结果。基于矢量推导图对有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。本发明的有益效果在于,采用诊断规则提取故障数据,将提取后的故障数据采用分组的方式进行故障诊断,可以提升故障诊断的准确率。利用标签对诊断结果进行筛选,可以避免同一个故障被多次报出,并且基于矢量推导图对有效诊断结果进行故障原因的矢量推导,可以进一步识别出有效诊断结果中包含的故障部件是否为真正的故障部件,从而能够准确的输出真正的故障部件,降低了误判的情况发生。
图15为本发明实施例提供的一种服务器故障诊断设备的结构图,如图15所示,服务器故障诊断设备包括:存储器150,用于存储计算机程序;
处理器151,用于执行计算机程序时实现如上述实施例服务器故障诊断方法的步骤。
本实施例提供的服务器故障诊断设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器151可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器151可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器151也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器151可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器151还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器150可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器150还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器150至少用于存储以下计算机程序1501,其中,该计算机程序被处理器151加载并执行之后,能够实现前述任一实施例公开的服务器故障诊断方法的相关步骤。另外,存储器150所存储的资源还可以包括操作系统1502和数据1503等,存储方式可以是短暂存储或者永久存储。其中,操作系统1502可以包括Windows、Unix、Linux等。数据1503可以包括但不限于诊断规则、日志信息、设定的标签、矢量推导图等。
在一些实施例中,服务器故障诊断设备还可包括有显示屏152、输入输出接口153、通信接口154、电源155以及通信总线156。
本领域技术人员可以理解,图15中示出的结构并不构成对服务器故障诊断设备的限定,可以包括比图示更多或更少的组件。
可以理解的是,如果上述实施例中的服务器故障诊断方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对目前技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述服务器故障诊断方法的步骤。
以上对本发明实施例所提供的一种服务器故障诊断方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种服务器故障诊断方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (22)

1.一种服务器故障诊断方法,其特征在于,包括:
根据诊断规则,提取日志信息中的故障数据;
按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个部件和一个诊断分析模型;多个部件功能之间具有关联性;
利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果;
依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果;其中,所述标签基于故障数据的分布情况设置;
基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
2.根据权利要求1所述的服务器故障诊断方法,其特征在于,所述按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组包括:
将每个所述故障数据包含的故障部件与各功能类型所对应的多个部件进行比较,以确定出每个所述故障数据所属的功能类型;
将属于同一个功能类型的故障数据作为一个所述子数据组。
3.根据权利要求1所述的服务器故障诊断方法,其特征在于,所述诊断分析模型包括输入层、中间层和输出层;所述输入层和所述输出层均对应故障部件;所述中间层对应故障类型;
所述利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果包括:
利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与所述目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值;其中,所述目标子数据组为所有所述子数据组中的任意一个子数据组;所述第一权值组包括不同故障部件到不同故障类型的第一连接权值;所述目标子数据组匹配的诊断分析模型包括所述目标输入层、所述目标中间层和目标输出层;
利用每个故障类型对应的第一输出值、所述目标中间层和所述目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值;其中,所述第二权值组包括不同故障类型到不同故障部件的第二连接权值;
将大于零值的第二输出值所对应目标故障部件的目标故障数据作为所述目标子数据组的诊断结果。
4.根据权利要求3所述的服务器故障诊断方法,其特征在于,所述利用目标输入层和目标中间层之间的第一权值组以及第一阈值组,对目标子数据组包含的各目标故障部件与所述目标中间层的所有故障类型之间的关联性进行量化评估,以得到每个故障类型对应的第一输出值包括:
统计所述目标子数据组中各目标故障部件的故障类型数;
根据所述第一权值组和所述故障类型数,确定出每个故障类型对应的第一输入值;
基于每个故障类型对应的所述第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值。
5.根据权利要求4所述的服务器故障诊断方法,其特征在于,所述根据所述第一权值组和所述故障类型数,确定出每个故障类型对应的第一输入值包括:
调用第一输入值计算公式对所述第一权值组和所述故障类型数进行计算,以得到每个故障类型对应的第一输入值;其中,所述第一输入值计算公式为:
其中,M i 表示故障类型i对应的第一输入值,ω ni 表示目标故障部件n到故障类型i的第一连接权值,x n 表示目标故障部件n的故障类型数,N表示所有目标故障部件的总数。
6.根据权利要求5所述的服务器故障诊断方法,其特征在于,所述基于每个故障类型对应的所述第一输入值以及第一阈值,构建出每个故障类型对应的第一输出值包括:
调用第一输出值计算公式对每个故障类型对应的所述第一输入值以及第一阈值进行计算,以得到每个故障类型对应的第一输出值;其中,所述第一输出值计算公式为:
其中,S i 表示故障类型i对应的第一输出值,M i 表示故障类型i对应的第一输入值,θ i 表示故障类型i对应的第一阈值。
7.根据权利要求6所述的服务器故障诊断方法,其特征在于,所述利用每个故障类型对应的第一输出值、所述目标中间层和所述目标输出层之间的第二权值组以及第二阈值组,对每个故障类型和故障部件之间的关联性进行量化评估,以得到每个目标故障部件对应的第二输出值包括:
根据所述第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值;
基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值。
8.根据权利要求7所述的服务器故障诊断方法,其特征在于,所述根据所述第二权值组以及每个故障类型对应的第一输出值,确定出每个目标故障部件对应的第二输入值包括:
调用第二输入值计算公式对所述第二权值组以及每个故障类型对应的第一输出值进行计算,以得到每个目标故障部件对应的第二输入值;其中,所述第二输入值计算公式为:
其中,Y n 表示目标故障部件n对应的第二输入值,v in 表示故障类型i到目标故障部件n的第二连接权值,S i 表示故障类型i对应的第一输出值,I表示所有故障类型的总数。
9.根据权利要求8所述的服务器故障诊断方法,其特征在于,所述基于每个目标故障部件对应的第二输入值和第二阈值,构建出每个目标故障部件对应的第二输出值包括:
调用第二输出值计算公式对每个目标故障部件对应的第二输入值和第二阈值进行计算,以得到每个目标故障部件对应的第二输出值;其中,所述第二输出值计算公式为:
其中,P n 表示目标故障部件n对应的第二输出值,Y n 表示目标故障部件n对应的第二输入值,δ n 表示目标故障部件n对应的第二阈值。
10.根据权利要求3所述的服务器故障诊断方法,其特征在于,所述依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果包括:
按照各所述诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各所述诊断结果分配标签;其中,每个标签有其对应的标签权重;
根据每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个所述诊断结果的故障值;
将故障值大于故障限值的诊断结果作为有效诊断结果。
11.根据权利要求10所述的服务器故障诊断方法,其特征在于,所述按照各所述诊断结果中故障数据包含的故障状态、故障部件个数以及故障数据的产生时间,对各所述诊断结果分配标签包括:
根据各所述诊断结果中包含的故障部件个数,对各所述诊断结果分配数量标签;其中,所述数量标签包括单部件标签和多部件标签;
根据各所述诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各所述诊断结果中各故障部件的故障频率和故障阶段;
依据各所述诊断结果中各故障部件的故障频率和故障阶段,对各所述诊断结果分配时间标签;其中,所述时间标签包括近期修复标签、历史修复标签和高频次故障标签。
12.根据权利要求11所述的服务器故障诊断方法,其特征在于,所述根据各所述诊断结果中故障数据的产生时间以及故障数据包含的故障状态,确定出各所述诊断结果中各故障部件的故障频率和故障阶段包括:
根据各所述诊断结果中故障数据包含的故障状态,将各所述诊断结果中各故障部件划分为处于故障恢复阶段的故障部件和处于故障持续阶段的故障部件;
对所述处于故障持续阶段的故障部件,基于所述处于故障持续阶段的故障部件出现的故障次数及其故障数据的产生时间,确定出故障频率。
13.根据权利要求12所述的服务器故障诊断方法,其特征在于,所述依据各所述诊断结果中各故障部件的故障频率和故障阶段,对各所述诊断结果分配时间标签包括:
判断所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差是否小于时间阈值;其中,目标诊断结果为所有诊断结果中的任意一个诊断结果;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差小于时间阈值的情况下,对所述目标诊断结果分配近期修复标签;
在所述处于故障恢复阶段的故障部件的故障恢复时间与当前时间的偏差大于或等于时间阈值的情况下,对所述目标诊断结果分配历史修复标签;
在所述处于故障持续阶段的故障部件的故障频率大于频率阈值的情况下,对所述目标诊断结果分配高频次故障标签。
14.根据权利要求10所述的服务器故障诊断方法,其特征在于,所述根据每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值,确定出每个所述诊断结果的故障值包括:
调用故障值计算公式对每个所述诊断结果的标签权重、第二输出值以及设定的故障阈值进行计算,以得到每个所述诊断结果的故障值;其中,所述故障值计算公式为:
其中,G n 表示目标故障部件n对应的故障值,w j 表示标签j的标签权重,P n 表示目标故障部件n对应的第二输出值,表示目标故障部件n对应的故障阈值,Q表示目标诊断结果被分配的标签个数。
15.根据权利要求1所述的服务器故障诊断方法,其特征在于,所述矢量推导图中包括源部件、故障原因、故障现象、故障结果的层级关系;
所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件包括:
将第一故障类型与所述矢量推导图包括的故障结果进行比较,以确定出与所述第一故障类型相关联的故障现象;其中,所述第一故障类型为第一有效诊断结果包含的第一故障部件对应的任意一个故障类型;所述第一有效诊断结果为所有所述有效诊断结果中的任意一个诊断结果;所述第一故障部件为所述第一有效诊断结果中包含的所有故障部件中的任意一个故障部件;
将所述日志信息中所述第一故障类型对应的历史故障现象与所述相关联的故障现象进行匹配,以确定出所述第一故障类型对应的第一故障现象;
从所述日志信息中查询产生所述第一故障现象的第一故障原因;
将所述第一故障原因与所述矢量推导图包括的故障原因进行比较,以确定出所述第一故障类型对应的第一源部件;
在所述第一源部件与所述有效诊断结果中所述第一故障类型对应的故障部件相同的情况下,将所述有效诊断结果中所述第一故障类型对应的故障部件作为最终的故障部件。
16.根据权利要求1所述的服务器故障诊断方法,其特征在于,所述根据诊断规则,提取日志信息中的故障数据包括:
依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则;
在所述诊断知识库中出现与所述日志信息匹配的诊断规则的情况下,按照二分法从所述日志信息提取出与所述诊断规则对应的故障数据。
17.根据权利要求16所述的服务器故障诊断方法,其特征在于,还包括:
在所述诊断知识库中不存在与所述日志信息匹配的诊断规则的情况下,展示诊断规则缺失的提示信息;
在获取到新的诊断规则的情况下,将所述新的诊断规则补充至所述诊断知识库,并执行所述依次判断诊断知识库中是否存在与所述日志信息匹配的诊断规则的步骤。
18.根据权利要求1所述的服务器故障诊断方法,其特征在于,在所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件之后,还包括:
判断所述最终的故障部件与工单系统中的记录的实际故障部件是否一致;
在所述最终的故障部件与工单系统中的记录的实际故障部件不一致的情况下,利用所述实际故障部件对应的故障数据对所述诊断规则进行调整。
19.根据权利要求1至18任意一项所述的服务器故障诊断方法,其特征在于,在所述基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件之后,还包括:
将所述最终的故障部件对应的故障类型数作为所述诊断分析模型的输入层参数;
对所述诊断分析模型的第一权值组和第二权值组进行调整,以得到输出层的输出值最大时所对应的第一权值组和第二权值组。
20.一种服务器故障诊断装置,其特征在于,包括提取单元、划分单元、分析单元、筛选单元和推导单元;
所述提取单元,用于根据诊断规则,提取日志信息中的故障数据;
所述划分单元,用于按照各所述故障数据所属的功能类型,将各所述故障数据划分为至少一个子数据组;其中,每种功能类型有其对应的多个部件和一个诊断分析模型;多个部件功能之间具有关联性;
所述分析单元,用于利用每个所述子数据组所匹配的诊断分析模型对所述子数据组包含的所有故障部件和故障类型进行综合分析,以确定出每个所述子数据组对应的诊断结果;
所述筛选单元,用于依据设定的标签对各所述诊断结果进行筛选,以得到有效诊断结果;其中,所述标签基于故障数据的分布情况设置;
所述推导单元,用于基于矢量推导图对所述有效诊断结果进行故障原因的矢量推导,以确定出最终的故障部件。
21.一种服务器故障诊断设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至19任意一项所述服务器故障诊断方法的步骤。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至19任意一项所述服务器故障诊断方法的步骤。
CN202311347546.XA 2023-10-18 2023-10-18 一种服务器故障诊断方法、装置、设备和介质 Active CN117093405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311347546.XA CN117093405B (zh) 2023-10-18 2023-10-18 一种服务器故障诊断方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311347546.XA CN117093405B (zh) 2023-10-18 2023-10-18 一种服务器故障诊断方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN117093405A CN117093405A (zh) 2023-11-21
CN117093405B true CN117093405B (zh) 2024-02-09

Family

ID=88775734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311347546.XA Active CN117093405B (zh) 2023-10-18 2023-10-18 一种服务器故障诊断方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN117093405B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102506A (ja) * 2005-10-04 2007-04-19 Fuji Xerox Co Ltd 故障診断システム、画像形成装置及び故障診断方法
CN110188837A (zh) * 2019-06-25 2019-08-30 长春工业大学 一种基于模糊神经的mvb网络故障诊断方法
CN112988537A (zh) * 2021-03-11 2021-06-18 山东英信计算机技术有限公司 一种服务器故障诊断方法、装置及相关设备
CN114692758A (zh) * 2022-03-31 2022-07-01 广东电网有限责任公司 电力通信故障分析方法、装置、终端设备及介质
WO2023056723A1 (zh) * 2021-10-08 2023-04-13 苏州浪潮智能科技有限公司 故障诊断的方法、装置、电子设备及存储介质
CN116126574A (zh) * 2022-12-27 2023-05-16 苏州浪潮智能科技有限公司 一种系统故障诊断方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102506A (ja) * 2005-10-04 2007-04-19 Fuji Xerox Co Ltd 故障診断システム、画像形成装置及び故障診断方法
CN110188837A (zh) * 2019-06-25 2019-08-30 长春工业大学 一种基于模糊神经的mvb网络故障诊断方法
CN112988537A (zh) * 2021-03-11 2021-06-18 山东英信计算机技术有限公司 一种服务器故障诊断方法、装置及相关设备
WO2023056723A1 (zh) * 2021-10-08 2023-04-13 苏州浪潮智能科技有限公司 故障诊断的方法、装置、电子设备及存储介质
CN114692758A (zh) * 2022-03-31 2022-07-01 广东电网有限责任公司 电力通信故障分析方法、装置、终端设备及介质
CN116126574A (zh) * 2022-12-27 2023-05-16 苏州浪潮智能科技有限公司 一种系统故障诊断方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117093405A (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
US8230259B2 (en) Automatic analysis of log entries through use of clustering
US11269718B1 (en) Root cause detection and corrective action diagnosis system
US8108724B2 (en) Field replaceable unit failure determination
US11042476B2 (en) Variability system and analytics for continuous reliability in cloud-based workflows
US9354961B2 (en) Method and system for supporting event root cause analysis
EP3616066B1 (en) Human-readable, language-independent stack trace summary generation
US20150074462A1 (en) Diagnostic analysis tool for disk storage engineering and technical support
US7159146B2 (en) Analyzing system error messages
US20030217256A1 (en) Method and apparatus for disabling defective components in a computer system
CN113220540B (zh) 业务管理方法、装置、计算机设备和存储介质
US10831587B2 (en) Determination of cause of error state of elements in a computing environment based on an element's number of impacted elements and the number in an error state
CN108460068A (zh) 报表导入导出的方法、装置、存储介质及终端
CN114726713B (zh) 节点故障模型训练方法、检测方法、设备、介质及产品
CN114327241A (zh) 管理磁盘的方法、电子设备和计算机程序产品
CN113487182B (zh) 设备健康状态评估方法、装置、计算机设备和介质
US11449407B2 (en) System and method for monitoring computing platform parameters and dynamically generating and deploying monitoring packages
CN117093405B (zh) 一种服务器故障诊断方法、装置、设备和介质
CN115840560A (zh) 一种用于软件开发过程的管理系统
CN116126574A (zh) 一种系统故障诊断方法、装置、设备及存储介质
US11822578B2 (en) Matching machine generated data entries to pattern clusters
CN111581044A (zh) 集群优化方法、装置、服务器及介质
CN112416891A (zh) 数据检测方法、装置、电子设备及可读存储介质
US20230412449A1 (en) Network alert detection utilizing trained edge classification models
CN108205489A (zh) Java应用内存泄漏检测方法和装置
US8780471B2 (en) Linking errors to particular tapes or particular tape drives

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant