CN104486100B - 故障处理装置及方法 - Google Patents

故障处理装置及方法 Download PDF

Info

Publication number
CN104486100B
CN104486100B CN201410712709.4A CN201410712709A CN104486100B CN 104486100 B CN104486100 B CN 104486100B CN 201410712709 A CN201410712709 A CN 201410712709A CN 104486100 B CN104486100 B CN 104486100B
Authority
CN
China
Prior art keywords
hardware module
rank
fault interrupting
threshold value
module
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
CN201410712709.4A
Other languages
English (en)
Other versions
CN104486100A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410712709.4A priority Critical patent/CN104486100B/zh
Publication of CN104486100A publication Critical patent/CN104486100A/zh
Priority to PCT/CN2015/081355 priority patent/WO2016082523A1/zh
Application granted granted Critical
Publication of CN104486100B publication Critical patent/CN104486100B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种故障处理装置及方法,属于计算机技术领域。所述方法包括:统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。

Description

故障处理装置及方法
技术领域
本发明涉及计算机技术领域,特别涉及一种故障处理装置及方法。
背景技术
可纠正故障是服务器在运行时产生的一种常见的硬件故障。
当发生可纠正故障时,硬件模块根据可纠正故障生成可纠正故障中断(英文:Corrected Machine-Check Error Interrupt;简称:CMCI),并通知操作系统进入中断处理程序对该可纠正故障中断进行处理,操作系统根据可纠正故障中断确定硬件模块并进行相应的故障处理。以该可纠正故障发生在内存中为例,操作系统中的中断处理程序处理可纠正故障中断的步骤如下:
1、中断处理程序收集该可纠正故障相应的故障数据;
2、中断处理程序将收集到的故障数据中的故障物理地址翻译为对应的操作系统下的故障逻辑地址;
3、中断处理程序对故障逻辑地址所属的内存页面进行可纠正故障次数统计;
4、中断处理程序对该可纠正故障执行故障处理操作。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:当硬件模块在短时间内发生大量的可纠正故障,也即发生可纠正故障风暴时,硬件模块将产生大量的可纠正故障中断并通知操作系统进入中断处理程序,操作系统需要对每个可纠正故障进行上述的故障处理,将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行。
发明内容
为了解决背景技术中当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题,本发明实施例提供了一种故障装置及方法。所述技术方案如下:
第一方面,提供了一种故障处理装置,用于包括至少一个硬件模块的服务器中,所述装置包括:
统计模块,用于统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,所述可纠正故障中断是由所述硬件模块在发生可纠正故障时所产生的中断;
检测模块,用于检测所述频率是否大于禁能阈值;
第一切换模块,用于当检测到所述频率大于所述禁能阈值时,将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态。
在第一方面的第一种可能的实施方式中,所述统计模块,包括:
读取模块,用于通过中断处理程序从机器校验异常MCE存储器中读取所述硬件模块在预定时间段内产生的可纠正故障中断的个数,所述中断处理程序是用于处理所述可纠正故障的中断处理程序,所述MCE存储器是与所述硬件模块对应的MCE存储器;
计算模块,用于通过所述中断处理程序根据所述预定时间段和所述可纠正故障中断的个数统计出所述频率;
所述检测模块,用于通过所述中断处理程序检测所述频率是否大于禁能阈值。
在第一方面的第二种可能的实施方式中,所述装置,还包括:
启动模块,用于在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器;
第二切换模块,用于当所述定时器计时至预定时长时,将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态。
在第一方面的第三种可能的实施方式中,所述装置,还包括:
第一查找模块,用于获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第一关系表中查找对应的禁能阈值,所述第一关系表存储有至少一个级别和与每个所述级别所对应的禁能阈值,所述第一关系表中的至少一个级别中包括获取到的所述级别;
或,
第二查找模块,用于获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第二关系表中查找对应的禁能阈值,所述第二关系表存储有至少一个业务处理能力等级和与每个所述业务处理能力等级所对应的禁能阈值,所述第二关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,所述装置,还包括:
第三查找模块,用于获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第三关系表中查找对应的定时器预定时长,所述第三关系表存储有至少一个级别与每个所述级别所对应的定时器预定时长,所述第三关系表中的至少一个级别中包括获取到的所述级别;
或,
第四查找模块,用于获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第四关系表中查找对应的定时器预定时长,所述第四关系表存储有至少一个业务处理能力等级与每个所述业务处理能力等级所对应的定时器预定时长,所述第四关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
结合第一方面的第二种可能的实施方式,在第一方面的第五种可能的实施方式中,所述第一切换模块,用于将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
所述第二切换模块,用于将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
第二方面,提供了一种故障处理方法,用于包括至少一个硬件模块的服务器中,所述方法包括:
统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,所述可纠正故障中断是由所述硬件模块在发生可纠正故障时所产生的中断;
检测所述频率是否大于禁能阈值;
当检测到所述频率大于所述禁能阈值时,将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态。
在第二方面的第一种可能的实施方式中,所述统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,包括:
通过中断处理程序从机器校验异常MCE存储器中读取所述硬件模块在预定时间段内产生的可纠正故障中断的个数,所述中断处理程序是用于处理所述可纠正故障的中断处理程序,所述MCE存储器是所述硬件模块对应的MCE存储器;
通过所述中断处理程序根据所述预定时间段和所述可纠正故障中断的个数统计出所述频率;
所述检测所述频率是否大于禁能阈值,包括:
通过所述中断处理程序检测所述频率是否大于禁能阈值。
在第二方面的第二种可能的实施方式中,所述方法,还包括:
在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器;
当所述定时器计时至预定时长时,将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态。
在第二方面的第三种可能的实施方式中,所述检测所述频率是否大于禁能阈值之前,还包括:
获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第一关系表中查找对应的禁能阈值,所述第一关系表存储有至少一个级别和与每个所述级别所对应的禁能阈值,所述第一关系表中的至少一个级别中包括获取到的所述级别;
或,
获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第二关系表中查找对应的禁能阈值,所述第二关系表存储有至少一个业务处理能力等级和与每个所述业务处理能力等级所对应的禁能阈值,所述第二关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
结合第二方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,所述在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器之前,还包括:
获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第三关系表中查找对应的定时器预定时长,所述第三关系表存储有至少一个级别与每个所述级别所对应的定时器预定时长,所述第三关系表中的至少一个级别中包括获取到的所述级别;
或,
获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第四关系表中查找对应的定时器预定时长,所述第四关系表存储有至少一个业务处理能力等级与每个所述业务处理能力等级所对应的定时器预定时长,所述第四关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
结合第二方面的第二种可能的实施方式,在第二方面的第五种可能的实施方式中,所述将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态,包括:
将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
所述将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态,包括:
将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
本发明实施例提供的技术方案带来的有益效果是:
通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的故障处理装置的结构方框图;
图2是本发明另一个实施例提供的故障处理装置的结构方框图;
图3A是本发明一个实施例提供的故障处理装置的框图;
图3B是本发明另一实施例提供的故障处理装置的框图;
图4是本发明一个实施例提供的故障处理方法的方法流程图;
图5A是本发明另一个实施例提供的故障处理方法的方法流程图;
图5B是本发明另一实施例提供的故障处理方法的实施示意图;
图6是本发明再一个实施例提供的故障处理方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了方便理解,首先对本发明实施例中出现的一些名词进行解释:
禁能状态:指硬件模块无法根据可纠正故障产生可纠正故障中断的状态,即操作系统接收不到该硬件模块产生的可纠正故障中断的状态。每个硬件模块产生可纠正故障中断的机制通常互相独立。
使能状态:指硬件模块可以根据可纠正故障产生可纠正故障中断的状态,即操作系统可以接收到该硬件模块产生的可纠正故障中断的状态。
正相关关系:指两个变量的变化方向相同,即一个变量增大时,对应的另一个变量也增大;一个变量减小时,对应的另一个变量也减小,两者呈线性相关或非线性相关。
负相关关系:指两个变量的变化方向相反,即一个变量增大时,对应的另一个变量减小;一个变量减小时,对应的另一个变量增大,两者呈线性相关或非线性相关。
可纠正故障中断使能寄存器:通过对可纠正故障中断使能寄存器中的标识值进行设置,实现对硬件模块的可纠正故障中断在使能状态和禁能状态之间的切换。每个硬件模块对应各自的可纠正故障中断使能寄存器。
请参考图1,其示出了本发明一个实施例提供的故障处理装置的结构方框图,该故障处理装置,包括:
统计模块110,用于统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断;
检测模块120,用于检测频率是否大于禁能阈值;
第一切换模块130,用于当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态。
综上所述,本实施例提供的故障处理装置,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
请参考图2,其示出了本发明另一个实施例提供的故障处理装置的结构方框图,该故障处理装置,包括:
统计模块210,用于统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断;
检测模块220,用于检测频率是否大于禁能阈值;
第一切换模块230,用于当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态。
可选地,统计模块210,包括:
读取模块211,用于通过中断处理程序从机器校验异常(英文:Machine CheckException;简称:MCE)存储器中读取硬件模块在预定时间段内产生的可纠正故障中断的个数,该中断处理程序是用于处理可纠正故障的中断处理程序,该MCE存储器是与硬件模块对应的MCE存储器;
计算模块212,用于通过中断处理程序根据预定时间段和可纠正故障中断的个数统计出频率;
检测模块220,用于通过中断处理程序检测频率是否大于禁能阈值。
可选地,该装置,还包括:
启动模块240,用于在将硬件模块的可纠正故障中断由使能状态切换为禁能状态时,启动定时器;
第二切换模块250,用于当定时器计时至预定时长时,将硬件模块的可纠正故障中断由禁能状态切换为使能状态。
可选地,该装置,还包括:
第一查找模块260,用于获取服务器中所处理的业务对实时性要求的级别,该业务是基于服务器中的至少一个硬件模块所运行的任务;根据级别在第一关系表中查找对应的禁能阈值,该第一关系表存储有至少一个级别和与每个级别所对应的禁能阈值,该第一关系表中的至少一个级别中包括获取到的级别;
或,
第二查找模块270,用于获取服务器的业务处理能力等级,该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第二关系表中查找对应的禁能阈值,该第二关系表存储有至少一个业务处理能力等级和与每个业务处理能力等级所对应的禁能阈值,该第二关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
可选地,该装置,还包括:
第三查找模块280,用于获取服务器中所处理的业务对实时性要求的级别,该业务是基于服务器中的至少一个硬件模块所运行的任务;根据级别在第三关系表中查找对应的定时器预定时长,该第三关系表存储有至少一个级别与每个级别所对应的定时器预定时长,该第三关系表中的至少一个级别中包括获取到的级别;
或,
第四查找模块290,用于服务器的业务处理能力等级,该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第四关系表中查找对应的定时器预定时长,该第四关系表存储有至少一个业务处理能力等级与每个业务处理能力等级所对应的定时器预定时长,该第四关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
可选地,第一切换模块230,用于将与硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
第二切换模块250,用于将与硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
综上所述,本实施例提供的故障处理装置,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
本实施例还通过在硬件模块的可纠正故障中断为禁能状态时设置定时器,当定时器计时至预定时长时,将硬件模块的可纠正故障中断由禁能状态切换为使能状态,且在硬件模块产生可纠正故障中断的频率是否小于使能阈值时保持该使能状态,达到了及时处理可纠正故障风暴结束后产生的可纠正故障中断的效果。
请参考图3A,其示出了本发明一个实施例提供的故障处理装置的框图。该故障处理装置可以包括:处理器310和至少一个硬件模块320,其中,处理器310和至少一个硬件模块320电性相连。本实施例以至少一个硬件模块320包括硬件模块321和硬件模块322进行说明。
处理器310,用于统计服务器中的至少一个硬件模块320在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断;
处理器310,用于检测频率是否大于禁能阈值;
处理器310,用于当检测到频率大于禁能阈值时,将硬件模块320的可纠正故障中断由使能状态切换为禁能状态。
综上所述,本实施例提供的故障处理装置,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
在图3A的基础上,该故障处理装置还可以包括:每个硬件模块对应的MCE存储器和可纠正故障中断使能寄存器,以及存储器,该存储器用于存储一个或一个以上的程序,包括用于处理可纠正故障的中断处理程序。本实施例以至少一个硬件模块320包括硬件模块321和硬件模块322进行说明,如图3B所示,该故障处理装置300包括:处理器310、硬件模块321、硬件模块322、与硬件模块321对应的MCE存储器331、与硬件模块321对应的可纠正故障中断使能寄存器341、与硬件模块322对应的MCE存储器332、与硬件模块322对应的可纠正故障中断使能寄存器342和存储器350。其中,处理器310分别与至少一个硬件模块320、存储器350、每个硬件模块对应的MCE存储器和可纠正故障中断使能寄存器电性相连。
处理器310,用于统计服务器中的至少一个硬件模块320在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断;
处理器310,用于检测频率是否大于禁能阈值;
处理器310,用于当检测到频率大于禁能阈值时,将硬件模块320的可纠正故障中断由使能状态切换为禁能状态。
具体的,在统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率时,处理器310,用于通过中断处理程序从MCE存储器中读取硬件模块320在预定时间段内产生的可纠正故障中断的个数,该中断处理程序是用于处理可纠正故障的中断处理程序,该MCE存储器是与硬件模块320对应的MCE存储器;
处理器310,用于通过中断处理程序根据预定时间段和可纠正故障中断的个数统计出频率;
处理器310,用于通过中断处理程序检测频率是否大于禁能阈值。
具体的,将硬件模块的可纠正故障中断由使能状态切换为禁能状态时,处理器310,用于在将硬件模块320的可纠正故障中断由使能状态切换为禁能状态时,启动定时器;
处理器301,用于当定时器计时至预定时长时,将硬件模块320的可纠正故障中断由禁能状态切换为使能状态。
具体的,在确定禁能阈值时,处理器310用于获取服务器中所处理的业务对实时性要求的级别,该业务是基于服务器中的至少一个硬件模块所运行的任务;根据级别在第一关系表中查找对应的禁能阈值,该第一关系表存储有至少一个级别和与每个级别所对应的禁能阈值,该第一关系表中的至少一个级别中包括获取到的级别;
或,
用于获取服务器的业务处理能力等级,该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第二关系表中查找对应的禁能阈值,该第二关系表存储有至少一个业务处理能力等级和与每个业务处理能力等级所对应的禁能阈值,该第二关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
具体的,在确定定时器预定时长时,处理器310,用于获取服务器中所处理的业务对实时性要求的级别,该业务是基于服务器中的至少一个硬件模块所运行的任务;根据级别在第三关系表中查找对应的定时器预定时长,该第三关系表存储有至少一个级别与每个级别所对应的定时器预定时长,该第三关系表中的至少一个级别中包括获取到的级别;
或,
用于获取服务器的业务处理能力等级,该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第四关系表中查找对应的定时器预定时长,该第四关系表存储有至少一个业务处理能力等级与每个业务处理能力等级所对应的定时器预定时长,该第四关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
处理器310,用于将与硬件模块320对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
处理器301,用于将与硬件模块320对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
综上所述,本实施例提供的故障处理装置,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
本实施例还通过在硬件模块的可纠正故障中断为禁能状态时设置定时器,当定时器计时至预定时长时,将硬件模块的可纠正故障中断由禁能状态切换为使能状态,且在硬件模块产生可纠正故障中断的频率是否小于使能阈值时保持该使能状态,达到了及时处理可纠正故障风暴结束后产生的可纠正故障中断的效果。
请参考图4,其示出了本发明一个实施例提供的故障处理方法的方法流程图,该方法可用于至少一个硬件模块的服务器中,该故障处理方法,包括:
步骤402,统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断;
可纠正故障中断(英文:Corrected Machine-Check Error Interrupt;简称:CMCI)指硬件模块在发生可纠正故障时产生的中断,该中断用于通知操作系统进入中断处理程序对该可纠正故障进行处理。
步骤404,检测该频率是否大于禁能阈值;
步骤406,当检测到该频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态。
综上所述,本实施例提供的故障处理方法,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
请参考图5A,其示出了本发明另一个实施例提供的故障处理方法的方法流程图,该方法可用于至少一个硬件模块的服务器中,该故障处理方法,包括:
步骤501,统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,该可纠正故障中断是由硬件模块在发生可纠正故障时所产生的中断。
该服务器可以是采用X86架构的设备,由于现有的服务器大多是采用X86架构,所以本实施例以该服务器为X86架构设备进行说明,并不对本发明构成限定。
硬件模块是指X86架构设备中具有不同处理功能的硬件处理设备,X86架构设备中包含至少一个硬件模块。在X86架构设备中,各个硬件模块各自对应自己的MCE存储器,这些MCE存储器用于存储硬件模块产生的可纠正故障中断。中断处理程序可以通过从硬件模块对应的MCE存储器中获取预定时间段内产生的可纠正故障中断的个数,计算得到相应的产生可纠正故障中断的频率,本步骤可以包括如下子步骤:
一、X86架构设备通过中断处理程序从MCE存储器中读取硬件模块在预定时间段内产生的可纠正故障中断的个数,该中断处理程序是用于处理可纠正故障的中断处理程序,该MCE存储器是硬件模块对应的MCE存储器。
当硬件模块发生可纠正故障时,硬件模块会根据该可纠正故障产生可纠正故障中断,并通知操作系统进入中断处理程序对该可纠正故障中断进行处理,中断处理程序根据可纠正故障中断确定发生故障的硬件模块,并从该硬件模块对应的MCE存储器中读取该硬件模块在预定时间段内产生的可纠正故障中断的个数,该预定时间段是操作系统预先设定的,可以为5秒。
比如,中断处理程序接收到可纠正故障中断通知,确定该可纠正故障的硬件模块为硬件模块A,从该硬件模块A对应的MCE存储器A中读取到最近5秒内产生的可纠正故障中断的个数为10个。
二、X86架构设备通过中断处理程序根据预定时间段和可纠正故障中断的个数统计出频率。
中断处理程序根据读取到的预定时间段内产生的可纠正故障中断的个数和预定时间段,计算得到该硬件模块在预定时间段内产生可纠正故障中断的频率。
比如,中断处理程序读取到的预定时间段内产生的可纠正故障中断的个数为10个,且该预定时间段位5秒,计算得到该硬件模块在预定时间段内产生可纠正故障中断的频率为10次/5秒。
需要说明的是,由于X86架构设备在运行时,多个硬件模块会同时发生可纠正故障,所以中断处理程序需要分别统计不同的硬件模块产生可纠正故障中断的频率,本实施例仅以中断处理程序统计一个硬件模块产生可纠正故障中断的频率进行说明,并不对发明构成限定。
步骤502,检测该频率是否大于禁能阈值。
X86架构设备通过中断处理程序检测硬件模块在预定时间段内产生可纠正故障中断的频率是否大于禁能阈值,当该频率大于禁能阈值时,即可确定该硬件模块发生了可纠正故障风暴;当该频率小于禁能阈值时,即可确定该硬件模块未发生可纠正故障风暴。
该禁能阈值可以预先进行设置,也可以根据X86架构设备中所处理的业务对实时性的要求或根据X86架构设备的业务处理能力进行实时设置,设置该禁能阈值可以包括下面两种可能的实现方式:
第一种可能的实现方式,X86架构设备获取该X86架构设备中所处理的业务对实时性要求的级别,该业务是基于X86架构设备中的至少一个硬件模块所运行的任务;根据该级别在第一关系表中查找对应的禁能阈值,该第一关系表存储有至少一个级别和与每个级别所对应的禁能阈值,该第一关系表中的至少一个级别中包括获取到的级别。
当X86架构设备处理的业务对实时性要求高时,由于操作系统频繁地进入中断处理程序对可纠正故障中断进行处理会导致业务得不到及时处理,所以可以设置一个较小的禁能阈值,使得操作系统能够及时处理当前业务;当X86架构设备处理的业务对实时性要求低时,该禁能阈值可以被设置的较大。
操作系统中的第一关系表中预先存储有业务对实时性要求的各个级别与对应禁能阈值的对应关系,其中,各个级别与对应禁能阈值呈负相关关系,即业务对实时性要求的级别越高时,对应的禁能阈值也越小,业务对实时性要求的级别越低时,对应的禁能阈值也越大。该第一关系表的表结构可以示例性地如表一所示:
表一
业务对实时性要求的级别 禁能阈值
1 10次/5秒
2 8次/5秒
3 5次/5秒
其中,业务对实时性要求的级别越高表示该业务对实时性要求越高,业务对实时性要求的级别越第表示该业务对实时性要求越低。
操作系统获取X86架构设备中所处理的业务对实时性要求的级别,在第一关系表中查找对应的禁能阈值,并把该禁能阈值设置为适应该业务的禁能阈值。
第二种可能的实现方式,X86架构设备获取该X86架构设备的业务处理能力等级;该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第二关系表中查找对应的禁能阈值,该第二关系表存储有至少一个业务处理能力等级和与每个业务处理能力等级所对应的禁能阈值,该第二关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
X86架构设备的业务处理能力的不同,对应的操作系统进入中断处理程序进行故障处理所占用的处理资源和时间也不同,所以操作系统可以根据X86架构设备的业务处理能力对禁能阈值进行设置。
操作系统中的第二关系表中预先存储有X86架构设备的业务处理能力等级与禁能阈值的正相关关系,其中,各个业务处理能力等级与对应禁能阈值呈正相关关系,即业务处理能力等级越高时,对应的禁能阈值也越大,业务处理能力等级越低时,对应的禁能阈值也越小。该第二关系表的表结构可以示例性地如表二所示:
表二
业务处理能力等级 禁能阈值
1 5次/5秒
2 8次/5秒
3 10次/5秒
其中,X86架构设备的业务处理能力等级越高表示X86架构设备的业务处理能力越强,X86架构设备的业务处理能力等级越低表示X86架构设备的业务处理能力越弱,X86架构设备的业务处理能力等级可以根据X86架构设备的硬件评分进行划分。
操作系统获取X86架构设备的业务处理能力等级,在第二关系表中查找对应的禁能阈值,并把该禁能阈值设置为适应该X86架构设备的禁能阈值。
需要说明的是,操作系统也可综合业务对实时性要求的级别和X86架构设备的业务处理能力等级对禁能阈值进行设置,并不对本发明构成限定。
步骤503,当检测到该频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态。
当检测到该频率大于禁能阈值时,X86架构设备即知悉硬件模块发生了可纠正故障风暴,该可纠正故障风暴表示硬件模块在短时间内将会产生大量的可纠正故障中断。为了不让操作系统在发生可纠正故障风暴时处于持续的故障处理状态,导致操作系统无法正常运行,中断处理程序将硬件模块的可纠正故障中断由使能状态切换为禁能状态。
当硬件模块未发生可纠正故障风暴时,硬件模块对应的可纠正故障中断寄存器中的标识值为使能值,即硬件模块的可纠正故障中断处于使能状态;当检测到硬件模块发生了可纠正故障风暴时,中断处理程序将与硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值,即硬件模块的可纠正故障中断由使能状态切换为禁能状态,在可纠正故障中断处于禁能状态时,硬件模块将无法根据可纠正故障产生可纠正故障中断,操作系统也就不会频繁的进入中断处理程序进行故障处理。
步骤504,在将硬件模块的可纠正故障中断由使能状态切换为禁能状态时,启动定时器。
在中断处理程序将硬件模块的可纠正故障中断由使能状态切换为禁能状态的同时,启动预先设置的定时器,在定时器在达到预定时长的过程中,硬件模块的可纠正故障中断将持续处于禁能状态,操作系统将不会进入中断处理程序进行故障处理。
需要说明的是,步骤503与步骤504之间不存在严格的先后关系,两者可以同时执行,本实施例仅以步骤503在步骤504之前执行进行举例说明,并不对本发明构成限定。
步骤505,当定时器计时至预定时长时,将硬件模块的可纠正故障中断由禁能状态切换为使能状态。
为了防止在可纠正故障风暴过后,由于硬件模块的可纠正故障中断依然处于禁能状态,导致操作系统无法接收到可纠正故障中断并进行故障处理,定时器在计时至预定时长时,中断处理程序将硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值,即硬件模块的可纠正故障中断由禁能状态切换为使能状态,此时,硬件模块可以根据可纠正故障产生可纠正故障中断,并通知操作系统进入中断处理程序进行故障处理。中断处理程序进行故障处理的步骤与现有技术类似,在此不再赘述。
定时器预定时长可以预先进行设置,也可以根据X86架构设备中所处理的业务对实时性的要求或根据X86架构设备的业务处理能力进行实时设置,设置定时器预定时长可以包括下面两种可能的实现方式:
第一种可能的实现方式,X86架构设备获取该X86架构设备中所处理的业务对实时性要求的级别,该业务是基于X86架构设备中的至少一个硬件模块所运行的任务;根据级别在第三关系表中查找对应的定时器预定时长,该第三关系表存储有至少一个级别与每个级别所对应的定时器预定时长,该第三关系表中的至少一个级别中包括获取到的级别。
操作系统中的第三关系表中预先存储有业务对实时性要求的级别与定时器预定时长的对应关系,其中,各个级别与对应定时器预定时长呈正相关关系,即业务对实时性要求的级别越高时,对应的定时器预定时长也越长,业务对实时性要求的级别越低时,对应的定时器预定时长也越长。该第三关系表的表结构可以示例性地如表三所示:
表三
业务对实时性要求的级别 定时器预定时长
1 100秒
2 120秒
3 150秒
其中,业务对实时性要求的级别越高表示该业务对实时性要求越高,业务对实时性要求的级别越第表示该业务对实时性要求越低。操作系统获取X86架构设备中所处理业务对实时性要求的级别,在第三关系表中查找对应的定时器预定时长,并对当前定时器预定时长进行设置。
第二种可能的实现方式,X86架构设备获取该X86架构设备的业务处理能力等级,该业务处理能力等级基于至少一个硬件模块确定;根据业务处理能力等级在第四关系表中查找对应的定时器预定时长,该第四关系表存储有至少一个业务处理能力等级与每个业务处理能力等级所对应的定时器预定时长,该第四关系表中的至少一个业务处理能力等级中包括获取到的业务处理能力等级。
操作系统中的第四关系表中预先存储有X86架构设备的业务处理能力等级与定时器预定时长的对应关系,其中,其中,各个业务处理能力等级与对应定时器预定时长呈负相关关系,即业务处理能力等级越高时,对应的定时器预定时长越小,业务处理能力等级越低时,对应的定时器预定时长越大。该第四关系表的表结构可以示例性地如表四所示:
表四
业务处理能力等级 定时器预定时长
1 150秒
2 120秒
3 100秒
其中,X86架构设备的业务处理能力等级越高表示X86架构设备的业务处理能力越强,X86架构设备的业务处理能力等级越低表示X86架构设备的业务处理能力越弱,X86架构设备的业务处理能力等级可以根据X86架构设备的硬件评分进行划分。
操作系统获取X86架构设备的业务处理能力等级,在第四关系表中查找对应的定时器预定时长,并对当前定时器预定时长进行设置。
需要说明的是,操作系统也可综合业务对实时性要求的级别和X86架构设备的业务处理能力等级对定时器预定时长进行设置,并不对本发明构成限定。
显而易见的,当X86架构设备中所处理的业务对实时性要求越高或X86架构设备的业务处理能力越弱时,对应的定时器预定时长也越长,从而保证了操作系统对业务的及时处理。需要说明的是,当定时器计时至预定时长时,该定时器将会被重置,且为了使操作系统了解硬件模块在可纠正故障风暴过程中发生的可纠正故障数量的预估值,定时器将计算可纠正故障风暴过程中发生的可纠正故障数量的预估值,该预估值可以为定时器设置的预定时长与步骤501统计得到的硬件模块产生可纠正故障中断的频率的乘积。
比如,定时器设置的预定时长为100秒,统计得到的硬件模块产生可纠正故障中断的频率为10次/5秒,计算得到的可纠正故障风暴过程中发生的可纠正故障数量的预估值即为200次。该预估值主要用于统计可纠正故障的次数。
步骤506,再次检测硬件模块产生可纠正故障中断的频率是否小于使能阈值。
中断处理程序将硬件模块的可纠正故障中断由禁能状态切换为使能状态后,再次在预定时间段内对接收到的可纠正故障中断进行计数,并计算得到在该预定时间段内产生可纠正故障中断的频率。
中断处理程序检测计算得到的频率是否小于预设的使能阈值,该使能阈值时预先设定的用于检测可纠正故障风暴是否结束的阈值,该使能阈值可以为1次/5秒。
步骤507,当检测到硬件模块产生可纠正故障中断的频率小于使能阈值时,保持硬件模块的可纠正故障中断为使能状态。
当检测到硬件模块产生可纠正故障中断的频率小于使能阈值时,中断处理程序即可确定可纠正故障风暴已经结束,硬件模块产生的后续可纠正故障中断不会使操作系统处于持续的故障处理状态,即操作系统可以正常运行。对应的,硬件模块的可纠正故障中断将保持使能状态。
需要说明的是,为了防止硬件模块再次发生可纠正故障风暴导致操作系统处于持续的故障处理,中断处理程序将继续检测硬件模块在预定时间段内产生可纠正故障中断的频率是否大于禁能阈值,当该频率大于禁能阈值时,中断处理程序将硬件模块的可纠正故障中断由使能状态切换为禁能状态并重新启动定时器。
步骤508,当检测到硬件模块产生可纠正故障中断的频率大于使能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态,并重新启动定时器。
当检测到硬件模块产生可纠正故障中断的频率大于使能阈值时,中断处理程序认为该可纠正故障风暴尚未结束,重新将硬件模块的可纠正故障中断由使能状态切换为禁能状态,并重新启动定时器。
当定时器再次计时至预定时长时,中断处理程序将继续执行上述步骤506至步骤508。
显而易见的,通过在操作系统的中断处理程序中加入了检测硬件模块产生可纠正故障中断的频率的机制,当硬件模块发生可纠正故障风暴时,硬件模块的可纠正故障中断将处于禁能状态,操作系统将不会进入持续的故障处理,使得操作系统能够正常的运行,大大提高了操作系统运行的稳定性。
如图5B所示,其示出了本实施例提供的故障处理方法的实施示意图。中断处理程序在T1时间段内检测硬件模块在预定时间段内产生可纠正故障中断的频率是否大于禁能阈值,当检测到该频率大于禁能阈值时,将硬件模块中断切换为禁能状态并启动定时器;在定时器设置的预定时长T2内,硬件模块的可纠正故障中断处于禁能状态;当定时器达到预定时长时,中断处理程序将硬件模块的可纠正故障中断切换为使能状态,并检测硬件模块在T3时间段内产生可纠正故障中断的频率是否小于使能阈值;当检测到该频率大于使能阈值时,中断处理程序将硬件模块的可纠正故障中断切换为禁能状态并重新启动定时器;在定时器设置的预定时长T4内,硬件模块的可纠正故障中断处于禁能状态;当定时器达到预定时长时,中断处理程序再次将硬件模块的可纠正故障中断切换为使能状态,并检测硬件模块在T5时间段内产生可纠正故障中断的频率是否小于使能阈值;当检测到该频率大于使能阈值时,硬件模块的可纠正故障中断保持使能状态。
综上所述,本实施例提供的故障处理方法,通过统计服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率;检测频率是否大于禁能阈值;当检测到频率大于禁能阈值时,将硬件模块的可纠正故障中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
本实施例还通过在硬件模块的可纠正故障中断为禁能状态时设置定时器,当定时器计时至预定时长时,将硬件模块的可纠正故障中断由禁能状态切换为使能状态,且在硬件模块产生可纠正故障中断的频率是否小于使能阈值时保持该使能状态,达到了及时处理可纠正故障风暴结束后产生的可纠正故障中断的效果。
图5A中的可纠正故障错误中断是指CMCI中断,中断处理程序是指操作系统中的中断处理程序。作为另外一种可能的实施方式,可以由基本输入输出系统(英文:BasicInput/Output System;简称:BIOS)将可纠正故障发生时产生的可纠正故障中断转换为系统管理中断(英文:System Management Interrupt;简称:SMI),并由基本输入输出系统中的系统中断处理程序对该系统管理中断进行处理。下面采用一个实施例进行说明。
请参考图6,其示出了本发明再一个实施例提供的故障处理方法的方法流程图。该方法,包括:
步骤601,将服务器中的硬件模块产生的可纠正故障中断转换为系统管理中断。
该服务器可以是采用X86架构的设备,由于现有的服务器大多是采用X86架构,所以本实施例以该服务器为X86架构设备进行说明,并不对本发明构成限定。
在操作系统启动初始化时,通过在基本输入输出系统中进行设置,当硬件模块产生可纠正故障中断时,该可纠正故障中断将被转换为系统管理中断,对应的,硬件模块将通知基本输入输出系统进入系统管理中断处理程序对该系统管理中断进行处理。
步骤602,统计服务器中的硬件模块在预定时间段内产生系统管理中断的频率。
当发生可纠正故障时,由于硬件模块产生的可纠正故障中断被转换为系统管理中断,所以系统管理中断处理程序对预定时间段内产生的系统管理中断进行计数,并计算得到在该预定时间段内产生系统管理中断的频率。需要说明的是,由于设备在运行时,多个硬件模块会同时发生可纠正故障,所以系统管理中断处理程序需要分别统计不同的硬件模块产生系统管理中断的频率,本实施例仅以系统管理中断处理程序统计一个硬件模块产生系统管理中断的频率进行说明,并不对发明构成限定。
步骤603,检测该频率是否大于禁能阈值。
系统管理中断处理程序检测硬件模块在预定时间段内产生系统管理中断的频率是否大于禁能阈值,当该频率大于禁能阈值时,由于该系统管理中断是由可纠正故障中断转换得到的,系统管理中断处理程序即可确定该硬件模块发生了可纠正故障风暴;当该频率小于禁能阈值时,系统管理中断处理程序即可确定未发生可纠正故障风暴。其中,禁能阈值是预先设定的用于检测是否发生可纠正故障风暴的阈值,该禁能阈值可以为10次/5秒。
需要说明的是,该禁能阈值的设置方法与步骤502中设置禁能阈值的方法相似,在此不再赘述。
步骤604,当检测到该频率大于禁能阈值时,将硬件模块的系统管理中断由使能状态切换为禁能状态。
系统管理中断处理程序检测到该频率大于禁能阈值时,即知悉硬件模块发生了可纠正故障风暴,该可纠正故障风暴表示硬件模块在短时间内将会产生大量的可纠正故障中断,系统管理中断处理程序将硬件模块的系统管理中断由使能状态切换为禁能状态。
当硬件模块未发生可纠正故障风暴时,硬件模块对应的系统管理中断寄存器中的标识值为使能值,即硬件模块的系统管理中断处于使能状态;当系统管理中断处理程序检测到硬件模块发生了可纠正故障风暴时,系统管理中断处理程序将与硬件模块对应的系统管理中断使能寄存器中的标识值设置为禁能值,即硬件模块的系统管理中断由使能状态切换为禁能状态,在系统管理中断处于禁能状态时,硬件模块将无法产生系统管理中断。
步骤605,在硬件模块的系统管理中断由使能状态切换为禁能状态时,启动定时器。
与中断处理程序相似的,系统管理中断处理程序将硬件模块的系统管理中断由使能状态切换为禁能状态的同时,也将启动预先设置的定时器。
需要说明的是,步骤604与步骤605之间不存在严格的先后关系,两者可以同时执行,本实施例仅以步骤604在步骤605之前执行进行举例说明,并不对本发明构成限定。
步骤606,当定时器计时至预定时长时,将硬件模块的系统管理中断由禁能状态切换为使能状态。
为了防止在可纠正故障风暴过后,由于硬件模块的系统管理中断依然处于禁能状态,导致基本输入输出系统无法接收到系统管理中断并进行处理,定时器在计时至预定时长时,系统管理中断处理程序将与硬件模块对应的系统管理中断使能寄存器中的标识值设置为使能值,即硬件模块的系统管理中断由禁能状态切换为使能状态,此时,硬件模块可以通知基本输入输出系统进入系统管理中断处理程序进行处理。
需要说明的是,定时器预定时长的设置方法与步骤505中设置定时器预定时长的方法相似,在此不再赘述。
步骤607,再次检测硬件模块产生系统管理中断的频率是否小于使能阈值。
系统管理中断处理程序将硬件模块的系统管理中断由禁能状态切换为使能状态后,再次在预定时间段内对接收到的系统管理中断进行计数,并计算得到在该预定时间段内产生系统管理中断的频率。
系统管理中断处理程序检测计算得到的频率是否小于预设的使能阈值,该使能阈值时预先设定的用于检测可纠正故障风暴是否结束的阈值,该使能阈值可以为1次/5秒。
步骤608,当检测到硬件模块产生系统管理中断的频率小于使能阈值时,保持硬件模块的系统管理中断为使能状态。
当检测到产生系统管理中断的频率小于使能阈值时,系统管理中断处理程序即可确定可纠正故障风暴已经结束,硬件模块产生的后续可纠正故障中断将被转换为系统管理中断,并由系统管理中断处理程序进行处理。对应的,硬件模块的系统管理中断将保持使能状态。
需要说明的是,系统管理中断处理程序将继续对产生系统管理中断的频率进行检测,并在该频率大于禁能阈值时将系统管理中断由使能状态切换为禁能状态。
步骤609,当检测到硬件模块产生系统管理中断的频率大于使能阈值时,将硬件模块的系统管理中断由使能状态切换为禁能状态,并重新启动定时器。
当检测到产生系统管理中断的频率大于使能阈值时,系统管理中断处理程序认为该可纠正故障风暴尚未结束,重新将硬件模块的系统管理中断由使能状态切换为禁能状态,并重新启动定时器。
当定时器再次计时至预定时长时,系统管理中断处理程序将继续执行上述步骤607至步骤609。
综上所述,本实施例提供的故障处理方法,通过将服务器中的硬件模块产生的可纠正故障中断转换为系统管理中断;统计服务器中的硬件模块在预定时间段内产生系统管理中断的频率;检测该频率是否大于禁能阈值;当检测到该频率大于禁能阈值时,将硬件模块的系统管理中断由使能状态切换为禁能状态;解决了当硬件模块在短时间内发生大量可纠正故障时,操作系统将处于持续的故障处理状态,占用了操作系统大量的处理资源,甚至导致操作系统不能正常运行的问题;达到了硬件模块在短时间内发生大量可纠正故障时,减少产生可纠正故障中断,使操作系统能够正常运行,提高操作系统的运行效率的效果。
本实施例还通过基本输入输出系统将硬件产生的可纠正故障中断转换为系统管理中断,由基本输入输出系统的系统管理中断处理程序进行处理,进一步减轻了操作系统的压力,达到了保证操作系统稳定运行的效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种故障处理装置,其特征在于,用于包括至少一个硬件模块的服务器中,所述装置包括:
统计模块,用于统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,所述可纠正故障中断是由所述硬件模块在发生可纠正故障时所产生的中断;
检测模块,用于检测所述频率是否大于禁能阈值;
第一切换模块,用于当检测到所述频率大于所述禁能阈值时,将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态,所述禁能状态是指所述硬件模块无法根据可纠正故障产生可纠正故障中断的状态。
2.根据权利要求1所述的装置,其特征在于,所述统计模块,包括:
读取模块,用于通过中断处理程序从机器校验异常MCE存储器中读取所述硬件模块在预定时间段内产生的可纠正故障中断的个数,所述中断处理程序是用于处理所述可纠正故障的中断处理程序,所述MCE存储器是与所述硬件模块对应的MCE存储器;
计算模块,用于通过所述中断处理程序根据所述预定时间段和所述可纠正故障中断的个数统计出所述频率;
所述检测模块,用于通过所述中断处理程序检测所述频率是否大于禁能阈值。
3.根据权利要求1所述的装置,其特征在于,所述装置,还包括:
启动模块,用于在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器;
第二切换模块,用于当所述定时器计时至预定时长时,将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态。
4.根据权利要求1所述的装置,其特征在于,所述装置,还包括:
第一查找模块,用于获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第一关系表中查找对应的禁能阈值,所述第一关系表存储有至少一个级别和与每个所述级别所对应的禁能阈值,所述第一关系表中的至少一个级别中包括获取到的所述级别;
或,
第二查找模块,用于获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第二关系表中查找对应的禁能阈值,所述第二关系表存储有至少一个业务处理能力等级和与每个所述业务处理能力等级所对应的禁能阈值,所述第二关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
5.根据权利要求3所述的装置,其特征在于,所述装置,还包括:
第三查找模块,用于获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第三关系表中查找对应的定时器预定时长,所述第三关系表存储有至少一个级别与每个所述级别所对应的定时器预定时长,所述第三关系表中的至少一个级别中包括获取到的所述级别;
或,
第四查找模块,用于获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第四关系表中查找对应的定时器预定时长,所述第四关系表存储有至少一个业务处理能力等级与每个所述业务处理能力等级所对应的定时器预定时长,所述第四关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
6.根据权利要求3所述的装置,其特征在于,所述第一切换模块,用于将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
所述第二切换模块,用于将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
7.一种故障处理方法,其特征在于,用于包括至少一个硬件模块的服务器中,所述方法包括:
统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,所述可纠正故障中断是由所述硬件模块在发生可纠正故障时所产生的中断;
检测所述频率是否大于禁能阈值;
当检测到所述频率大于所述禁能阈值时,将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态,所述禁能状态是指所述硬件模块无法根据可纠正故障产生可纠正故障中断的状态。
8.根据权利要求7所述的方法,其特征在于,所述统计所述服务器中的硬件模块在预定时间段内产生可纠正故障中断的频率,包括:
通过中断处理程序从机器校验异常MCE存储器中读取所述硬件模块在预定时间段内产生的可纠正故障中断的个数,所述中断处理程序是用于处理所述可纠正故障的中断处理程序,所述MCE存储器是与所述硬件模块对应的MCE存储器;
通过所述中断处理程序根据所述预定时间段和所述可纠正故障中断的个数统计出所述频率;
所述检测所述频率是否大于禁能阈值,包括:
通过所述中断处理程序检测所述频率是否大于禁能阈值。
9.根据权利要求7所述的方法,其特征在于,所述方法,还包括:
在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器;
当所述定时器计时至预定时长时,将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态。
10.根据权利要求7所述的方法,其特征在于,所述检测所述频率是否大于禁能阈值之前,还包括:
获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第一关系表中查找对应的禁能阈值,所述第一关系表存储有至少一个级别和与每个所述级别所对应的禁能阈值,所述第一关系表中的至少一个级别中包括获取到的所述级别;
或,
获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第二关系表中查找对应的禁能阈值,所述第二关系表存储有至少一个业务处理能力等级和与每个所述业务处理能力等级所对应的禁能阈值,所述第二关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
11.根据权利要求9所述的方法,其特征在于,所述在将所述硬件模块的可纠正故障中断由所述使能状态切换为所述禁能状态时,启动定时器之前,还包括:
获取所述服务器中所处理的业务对实时性要求的级别,所述业务是基于所述服务器中的至少一个硬件模块所运行的任务;根据所述级别在第三关系表中查找对应的定时器预定时长,所述第三关系表存储有至少一个级别与每个所述级别所对应的定时器预定时长,所述第三关系表中的至少一个级别中包括获取到的所述级别;
或,
获取所述服务器的业务处理能力等级,所述业务处理能力等级基于所述至少一个硬件模块确定;根据所述业务处理能力等级在第四关系表中查找对应的定时器预定时长,所述第四关系表存储有至少一个业务处理能力等级与每个所述业务处理能力等级所对应的定时器预定时长,所述第四关系表中的至少一个业务处理能力等级中包括获取到的所述业务处理能力等级。
12.根据权利要求9所述的方法,其特征在于,所述将所述硬件模块的可纠正故障中断由使能状态切换为禁能状态,包括:
将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为禁能值;
所述将所述硬件模块的可纠正故障中断由所述禁能状态切换为所述使能状态,包括:
将与所述硬件模块对应的可纠正故障中断使能寄存器中的标识值设置为使能值。
CN201410712709.4A 2014-11-28 2014-11-28 故障处理装置及方法 Active CN104486100B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410712709.4A CN104486100B (zh) 2014-11-28 2014-11-28 故障处理装置及方法
PCT/CN2015/081355 WO2016082523A1 (zh) 2014-11-28 2015-06-12 故障处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410712709.4A CN104486100B (zh) 2014-11-28 2014-11-28 故障处理装置及方法

Publications (2)

Publication Number Publication Date
CN104486100A CN104486100A (zh) 2015-04-01
CN104486100B true CN104486100B (zh) 2018-07-13

Family

ID=52760608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410712709.4A Active CN104486100B (zh) 2014-11-28 2014-11-28 故障处理装置及方法

Country Status (2)

Country Link
CN (1) CN104486100B (zh)
WO (1) WO2016082523A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486100B (zh) * 2014-11-28 2018-07-13 华为技术有限公司 故障处理装置及方法
CN106155826B (zh) * 2015-04-16 2019-10-18 伊姆西公司 用于在总线结构中检测及处理错误的方法和系统
CN105468497A (zh) * 2015-12-15 2016-04-06 迈普通信技术股份有限公司 中断异常监控方法和装置
CN105589789A (zh) * 2015-12-25 2016-05-18 浪潮电子信息产业股份有限公司 一种动态调整内存监控阀值的方法
CN107544838B (zh) * 2016-06-24 2024-02-23 中兴通讯股份有限公司 一种中断处理方法及装置
CN106326049B (zh) * 2016-08-16 2019-07-19 Oppo广东移动通信有限公司 一种故障定位方法及终端
CN106341291B (zh) * 2016-09-08 2019-11-15 北京小米移动软件有限公司 网络连接稳定性的测试方法及装置
CN107077408A (zh) * 2016-12-05 2017-08-18 华为技术有限公司 故障处理的方法、计算机系统、基板管理控制器和系统
CN113407391A (zh) * 2016-12-05 2021-09-17 华为技术有限公司 故障处理的方法、计算机系统、基板管理控制器和系统
CN107608331A (zh) * 2017-08-24 2018-01-19 北京龙鼎源科技股份有限公司 非随机中断的诊断方法和装置
CN110333938A (zh) * 2019-05-31 2019-10-15 苏州简约纳电子有限公司 一种提高嵌入式定时器效率的方法
CN111625387B (zh) * 2020-05-27 2024-03-29 北京金山云网络技术有限公司 内存错误处理方法、装置及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135912A (zh) * 2011-04-02 2011-07-27 大唐移动通信设备有限公司 中断抖动的处理方法和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312600C (zh) * 2003-07-09 2007-04-25 明基电通股份有限公司 用于减少对处理器的中断次数的控制装置及方法
CN101276295B (zh) * 2008-03-19 2011-04-06 北京星网锐捷网络技术有限公司 避免实时操作系统频繁中断占用过多cpu资源的方法
CN104486100B (zh) * 2014-11-28 2018-07-13 华为技术有限公司 故障处理装置及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135912A (zh) * 2011-04-02 2011-07-27 大唐移动通信设备有限公司 中断抖动的处理方法和设备

Also Published As

Publication number Publication date
CN104486100A (zh) 2015-04-01
WO2016082523A1 (zh) 2016-06-02

Similar Documents

Publication Publication Date Title
CN104486100B (zh) 故障处理装置及方法
TWI746512B (zh) 實體機器故障分類處理方法、裝置和虛擬機器恢復方法、系統
US10601643B2 (en) Troubleshooting method and apparatus using key performance indicator information
EP3627767A1 (en) Fault processing method and device for nodes in cluster
TWI603266B (zh) 虛擬機器之資源調整方法及系統
US10095576B2 (en) Anomaly recovery method for virtual machine in distributed environment
CN102902599B (zh) 虚拟机内部故障处理方法、装置及系统
CN106856489A (zh) 一种分布式存储系统的服务节点切换方法和装置
EP3338191B1 (en) Diagnostic framework in computing systems
CN102223258B (zh) 一种防止bfd会话中断的方法和设备
EP2624140A1 (en) Method and system for detecting anomaly of network processor
CN104113428B (zh) 一种设备管理装置和方法
JP2010271993A (ja) 割込み処理装置及び方法
CN106789264A (zh) 一种链路聚合组通道快速切换的方法和装置
CN105450717A (zh) 集群脑裂处理方法和装置
CN109474470A (zh) 一种自监控方法和装置
CN107547301A (zh) 一种主备设备倒换方法及装置
CN106453504A (zh) 一种基于nginx服务器集群的监控系统及方法
CN114168071B (zh) 一种分布式集群扩容方法、分布式集群扩容装置及介质
CN108733454A (zh) 一种虚拟机故障处理方法和装置
CN108519927A (zh) 一种基于icfs系统的osd故障定位方法及系统
JP5949785B2 (ja) 情報処理方法、装置及びプログラム
CN108563530A (zh) 看门狗及其实现方法
CN104408059B (zh) 一种故障处理的方法及装置
KR101326451B1 (ko) 복합 장애 조건을 이용하여 시스템 장애를 판단하는 시스템 장애 모니터링 방법 및 서버

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right