CN114564332A - 故障检测方法、装置及设备 - Google Patents

故障检测方法、装置及设备 Download PDF

Info

Publication number
CN114564332A
CN114564332A CN202210200246.8A CN202210200246A CN114564332A CN 114564332 A CN114564332 A CN 114564332A CN 202210200246 A CN202210200246 A CN 202210200246A CN 114564332 A CN114564332 A CN 114564332A
Authority
CN
China
Prior art keywords
processing unit
fault detection
processing
working state
fault
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.)
Pending
Application number
CN202210200246.8A
Other languages
English (en)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210200246.8A priority Critical patent/CN114564332A/zh
Publication of CN114564332A publication Critical patent/CN114564332A/zh
Pending legal-status Critical Current

Links

Images

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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种故障检测方法、装置及设备,该方法包括:第一处理单元获取第二处理单元的第一工作状态,所述第一处理单元和所述第二处理单元为同一电子设备中的处理单元;若所述第一工作状态为可工作状态,则所述第一处理单元确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;若所述第一工作状态为不可工作状态,则所述第一处理单元获取所述第二处理单元的触发信息,并根据所述触发信息确定所述第二处理单元的故障检测结果,所述触发信息用于指示是否已主动触发所述第二处理单元执行预设事件。提高了对处理单元进行故障检测的可靠性。

Description

故障检测方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种故障检测方法、装置及设备。
背景技术
多数电子设备中设置有中央处理器(Central Processing Unit,CPU),在电子设备运行的过程中,CPU或者CPU中的部分处理核可能出现故障,为了便于描述,下文将CPU和CPU中的处理核统称为处理单元。
在相关技术中,为了检测处理单元中的故障,通常在CPU的开发过程中,在CPU中增加自我故障检测功能,即,在CPU运行的过程中,CPU可以对自身的故障进行检测,以判断自身是否正常运行。在实际应用过程中,在CPU已经发生故障后,该CPU可能无法继续进行自我故障检测和报警,导致可能长时间无法发现该CPU发生故障。
由上可知,在相关技术中,对处理单元进行故障检测的可靠性较低。
发明内容
本申请的多个方面提供一种故障检测方法、装置及设备,用以提高对处理单元进行故障检测的可靠性。
第一方面,本申请实施例提供一种故障检测方法,包括:
第一处理单元获取第二处理单元的第一工作状态,所述第一处理单元和所述第二处理单元为同一电子设备中的处理单元;
若所述第一工作状态为可工作状态,则所述第一处理单元确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;
若所述第一工作状态为不可工作状态,则所述第一处理单元获取所述第二处理单元的触发信息,并根据所述触发信息确定所述第二处理单元的故障检测结果,所述触发信息用于指示是否已主动触发所述第二处理单元执行预设事件。
在一种可能的实施方式中,根据所述触发信息确定所述第二处理单元的故障检测结果,包括:
若所述触发信息指示已主动触发所述第二处理单元执行所述预设事件,则所述第一处理单元确定所述故障检测结果为所述第二处理单元存在故障;
若所述触发信息指示未主动触发所述第二处理单元执行所述预设事件,则所述第一处理单元触发所述第二处理单元执行预设事件,并在下一个处理周期获取所述第二处理单元的第二工作状态,并根据所述第二工作状态确定所述第二处理单元的故障检测结果。
在一种可能的实施方式中,根据所述第二工作状态确定所述第二处理单元的故障检测结果,包括:
若所述第二工作状态为可工作状态,则确定所述故障检测结果为所述第二处理单元不存在故障;
若所述第二工作状态为不可工作状态,则确定所述故障检测结果为所述第二处理单元存在故障。
在一种可能的实施方式中,所述第一处理单元触发所述第二处理单元执行预设事件,包括:
所述第一处理单元向所述第二处理单元发送预设指令,所述预设指令用于所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述第一处理单元触发所述第二处理单元执行预设事件之后,还包括:
所述第一处理单元将所述触发信息更新为已主动触发所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述第一处理单元确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障之后,还包括:
所述第一处理单元将所述第二处理单元的工作状态设置为不可工作状态;或者,
所述第一处理单元获取所述电子设备中除所述第二处理单元之外的其他处理单元的工作状态,并在所述电子设备中所有处理单元的工作状态均为可工作状态时,将所述电子设备中所有处理单元的工作状态设置为不可工作状态。
在一种可能的实施方式中,第一处理单元获取第二处理单元的第一工作状态,包括:
所述第一处理单元获取全局信息;
在所述全局信息指示不存在处理单元对所述第二处理单元进行故障检测时,所述第一处理单元获取所述第二处理单元的第一工作状态。
在一种可能的实施方式中,所述方法还包括:
在一个处理周期内,若所述第一处理单元首次启动执行预设事件,则所述第一处理单元将工作状态设置为可工作状态;或者,
在一个处理周期内,若所述第一处理单元首次检测到所述第一处理单元正在执行预设事件,则所述第二处理单元将工作状态设置为可工作状态。
第二方面,本申请实施例提供一种故障检测装置,包括:第一获取模块、第一确定模块、第二获取模块、第二确定模块,其中,
所述第一获取模块用于,获取第二处理单元的第一工作状态;
所述第一确定模块用于,在所述第一工作状态为可工作状态时,确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;
所述第二获取模块用于,在所述第一工作状态为不可工作状态时,获取所述第二处理单元的触发信息;
所述第二确定模块用于,根据所述触发信息确定所述第二处理单元的故障检测结果。
在一种可能的实施方式中,所述第二确定模块具体用于:
在所述触发信息指示已主动触发所述第二处理单元执行所述预设事件时,确定所述故障检测结果为所述第二处理单元存在故障;
在所述触发信息指示未主动触发所述第二处理单元执行所述预设事件时,触发所述第二处理单元执行预设事件,并在下一个处理周期获取所述第二处理单元的第二工作状态,并根据所述第二工作状态确定所述第二处理单元的故障检测结果。
在一种可能的实施方式中,所述第二确定模块具体用于:
在所述第二工作状态为可工作状态时,确定所述故障检测结果为所述第二处理单元不存在故障;
在所述第二工作状态为不可工作状态时,确定所述故障检测结果为所述第二处理单元存在故障。
在一种可能的实施方式中,所述第二确定模块具体用于:
向所述第二处理单元发送预设指令,所述预设指令用于所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述第二确定模块具体用于:
将所述触发信息更新为已主动触发所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述装置还包括设置模块:
所述设置模块用于,在确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障之后,将所述第二处理单元的工作状态设置为不可工作状态;或者,在获取所述电子设备中除所述第二处理单元之外的其他处理单元的工作状态,并在所述电子设备中所有处理单元的工作状态均为可工作状态时,将所述电子设备中所有处理单元的工作状态设置为不可工作状态。
在一种可能的实施方式中,所述第一获取模块具体用于:
获取全局信息;
在所述全局信息指示不存在处理单元对所述第二处理单元进行故障检测时,获取所述第二处理单元的第一工作状态。
在一种可能的实施方式中,所述设置模块具体用于:
在一个处理周期内,在所述第一处理单元首次启动执行预设事件时,将工作状态设置为可工作状态;或者,
在一个处理周期内,在所述第一处理单元首次检测到所述第一处理单元正在执行预设事件,将工作状态设置为可工作状态。
第三方面,本申请实施例提供一种电子设备,包括:存储单元和多个处理单元;
所述存储单元存储计算机执行指令;
所述处理单元执行所述存储单元存储的计算机执行指令,使得所述处理单元执行第一方面任一项所述的故障检测方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理单元执行时用于实现第一方面任一项所述的故障检测方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理单元执行时实现第一方面任一项所示的故障检测方法。
在本申请实施例中,第一处理单元可以获取第二处理单元的第一工作状态,并根据第一工作状态确定第二处理单元的故障检测结果。若第一工作状态为可工作状态,则第一处理单元可以确定第二处理单元的故障检测结果为不存在故障;若第一工作状态为不可工作状态,则第一处理单元可以根据触发信息,确定是否已主动触发第二处理单元执行预设事件。若触发信息指示已主动触发第二处理单元执行预设事件,则第一处理单元可以确定第二处理单元的故障检测结果为存在故障;若触发信息指示未主动触发第二处理单元执行预设事件,则第一处理单元可以主动触发第二处理单元执行预设事件,并在下一个处理周期获取第二处理单元的第二工作状态,以确定第二处理单元的故障检测结果。整个过程中,若任意一个第二处理单元发生故障,则可以被第一处理单元在两个周期内及时检测到,提高了对处理单元进行故障检测的可靠性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为本申请示例性实施例提供的一种应用场景的示意图;
图1B为本申请示例性实施例提供的另一种应用场景的示意图;
图2为本申请示例性实施例提供的一种故障检测方法的流程示意图;
图3为本申请示例性实施例提供的另一种故障检测方法的流程示意图;
图4A为本申请示例实施例提供的系统必要事件的示意图一;
图4B为本申请示例性实施例提供的系统必要事件的示意图二;
图5为本申请示例性实施例提供的又一种故障检测方法的流程示意图;
图6为本申请示例性实施例提供的一种故障检测方法的过程示意图;
图7为本申请实施例提供的一种故障检测装置的结构示意图;
图8为本申请实施例提供的另一种故障检测装置的结构示意图;
图9为本申请实施例提供一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1A为本申请示例性实施例提供的一种应用场景的示意图。如图1A所示,服务器中可以设置有多个CPU,例如,CPU-1、CPU-2、CPU-3、……、CPU-n。该多个CPU之间可以相互通信。任意一个CPU可以获取服务器中的所有CPU的工作状态,还可以主动触发其他CPU执行预设事件,以确定所有CPU的故障检测结果。
图1B为本申请示例性实施例提供的另一种应用场景的示意图。如图1B所示,CPU中可以设置有多个CPU的处理核。例如,处理核-1、处理核-2、处理核-3、……、处理核-n。该多个处理核之间可以相互通信。任意一个处理核可以获取CPU中的所有处理核的工作状态,还可以主动触发其他处理核执行预设事件,以确定所有处理核的故障检测结果。
为了便于描述,在下文中,可以将图1A中的服务器和图1B中的CPU统称为电子设备,将图A中的CPU和图1B中的处理核统称为处理单元。
在相关技术中,为了检测处理单元中的故障,通常在CPU的开发过程中,在CPU中增加自我故障检测功能,即,在CPU运行的过程中,CPU可以对自身的故障进行检测,以判断自身是否正常运行。在实际应用过程中,在CPU已经发生故障后,该CPU可能无法继续进行自我故障检测和报警,导致可能长时间无法发现该CPU发生故障。
在本申请实施例中,电子设备中的任意的第一处理单元可以对电子设备中任意的第二处理单元进行故障检测,在故障检测过程中,第一处理单元可以根据第二处理单元的工作状态、以及是否已主动触发第二处理单元执行预设事件,确定第二处理单元的故障检测结果。可以由第一处理单元对第二处理单元进行故障检测,避免了第二处理单元在自身故障的情况下无法检测到自身故障的问题,并且,在确定第二处理单元为不可工作状态时,第一处理单元可以主动触发第二处理单元执行预设事件,以在下一个处理周期进一步确定第二处理单元的故障检测结果,提高了对第二处理单元的故障检测的精确度,因此,通过上述方式,可以提高故障检测的可靠性。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以单独存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请示例性实施例提供的一种故障检测方法的流程示意图。请参见图2,该方法可以包括:
201、第一处理单元获取第二处理单元的第一工作状态,第一处理单元和第二处理单元为同一电子设备中的处理单元。
电子设备是指具有多个处理单元的电子设备。例如,电子设备可以为服务器,也可以为CPU。当电子设备为服务器时,处理单元可以为设置在服务器中的CPU。当电子设备为CPU时,处理单元可以为设置在CPU中的处理核。
第一处理单元和第二处理单元可以为电子设备中不同的处理单元,使得电子设备中一个处理单元可以对其它处理单元进行故障检测。第一处理单元和第二处理单元可以为电子设备中的同一处理单元,以使电子设备中的处理单元可以对自身进行故障检测。
第一处理单元可以对电子设备中所有的处理单元进行故障检测,第一处理单元对每个处理单元进行故障检测的过程相同,在本申请实施例中,以第一处理单元对第二处理单元进行故障检测的过程为例进行说明。
在一可选实施例中,第一处理单元可以周期性的获取第二处理单元的第一工作状态。第一工作状态是指第二处理单元在当前处理周期内的工作状态。处理周期可以为默认值,可以由工作人员预先在程序中设置。根据不同业务对运行负载和时效的要求,处理周期也可以通过处理单元进行自动调整。例如,处理周期可以为10s。
在本申请实施例中,处理单元的工作状态与处理单元是否执行系统必要事件相关。若处理单元在一个处理周期内执行了系统必要事件,则该处理单元的工作状态为可工作状态。还可以对处理单元的工作状态进行设置,例如,若确定处理单元在一个处理周期内不存在故障,则可以将该处理单元的工作状态设置为不可工作状态,并在下一个处理周期进行故障检测。
202、若第一工作状态为可工作状态,则第一处理单元确定第二处理单元的故障检测结果为第二处理单元不存在故障。
若第二处理单元的第一工作状态为可工作状态,则说明第二处理单元在当前的处理周期可以正常工作,则可以确定第二处理单元的故障检测结果为第二处理单元不存在故障。
203、若第一工作状态为不可工作状态,则第一处理单元获取第二处理单元的触发信息。
若第一工作状态为不可工作状态,第二处理单元有可能存在故障,第二处理单元也有可能是在当前的处理周期中未执行系统必要事件。为了避免检测结果错误,则可以进一步的根据第二处理单元的触发信息,确定第二处理单元的故障检测结果。
触发信息用于指示是否已主动触发第二处理单元执行预设事件。触发信息可以指示在上一个处理周期是否主动触发第二处理单元执行预设事件。触发信息可以通过标志位表示,并存放在状态寄存器中。
任意一个第二处理单元都可以有对应的触发信息。可以将触发信息默认设置为0,表示未主动触发第二处理单元执行预设事件;当有处理单元主动触发第二处理单元执行预设事件时,则可以将触发信息更新为1。
预设事件是指处理单元必须处理的系统必要事件。例如,预设事件可以为不可屏蔽中断(Non Maskable Interrupt,NMI)事件、外部中断事件、空闲(idle)事件等。
204、第一处理单元根据触发信息确定第二处理单元的故障检测结果。
当触发信息不同,第二处理单元的故障检测结果也不同,包括如下两种情况:
情况1、触发信息指示已主动触发第二处理单元执行预设事件。
若触发信息指示已主动触发第二处理单元执行预设事件,则在第二处理单元不存在故障时,第二处理单元的第一工作状态应为可工作状态。但是,由于203中确定第二处理单元的第一工作状态为不可工作状态,则说明第二处理单元存在故障,因此,第一处理单元确定故障检测结果为第二处理单元存在故障。
情况2、触发信息指示未主动触发第二处理单元执行预设事件。
由于触发信息指示未主动触发第二处理单元执行预设事件,则第二处理单元有可能存在故障,也可能是在当前的处理周期中未执行系统必要事件,因此,第一处理单元触发第二处理单元执行预设事件,并在下一个处理周期获取第二处理单元的第二工作状态,并根据第二工作状态确定第二处理单元的故障检测结果。
若第二工作状态为可工作状态,则第一处理单元可以确定第二处理单元的故障检测结果为不存在故障;若第二工作状态为不可工作状态,则确定第二处理单元的故障检测结果为存在故障。
在第一处理单元确定第二处理单元的故障检测结果之后,第一处理单元可以生成故障检测报告,并进行自动保存,方便工作人员导出。第一处理单元还可以向工作人员的工作设备发送故障提醒消息,以使工作人员及时得知故障检测结果。
在本申请实施例中,第一处理单元可以获取第二处理单元的第一工作状态,并根据第一工作状态确定第二处理单元的故障检测结果。若第一工作状态为可工作状态,则第一处理单元可以确定第二处理单元的故障检测结果为不存在故障;若第一工作状态为不可工作状态,则第一处理单元可以根据触发信息,确定是否已主动触发第二处理单元执行预设事件。若触发信息指示已主动触发第二处理单元执行预设事件,则第一处理单元可以确定第二处理单元的故障检测结果为存在故障;若触发信息指示未主动触发第二处理单元执行预设事件,则第一处理单元可以主动触发第二处理单元执行预设事件,并在下一个处理周期获取第二处理单元的第二工作状态,以确定第二处理单元的故障检测结果。整个过程中,若任意一个第二处理单元发生故障,则可以被第一处理单元在两个周期内及时检测到,提高了对处理单元进行故障检测的可靠性。
在图2所示实施例的基础上,下面,结合图3,对上述故障检测方法进行进一步详细说明。图3为本申请示例性实施例提供的另一种故障检测方法的流程示意图。请参见图3,该方法可以包括:
301、第一处理单元获取全局信息。
全局信息用于指示在当前的处理周期内,是否存在处理单元对第二处理单元进行故障检测。
全局信息可以通过标志位表示,并存放在状态寄存器中。在一个处理周期开始启动时或者在一个处理周期结束时,可以将全局信息设置为0,表示不存在处理单元对第二处理单元进行故障检测;若任意一个处理单元对第二处理单元开始进行故障检测,则可以将全局信息更新为1,以表示存在处理单元对第二处理单元进行故障检测。
在一个处理周期中,只需对第二处理单元进行一次故障检测,为了避免对多个设备进行多次故障检测,第一处理单元获取可以全局信息;在全局信息指示不存在处理单元对第二处理单元进行故障检测时,第一处理单元才对第二处理单元进行故障检测。
若全局信息指示存在处理单元对第二处理单元进行故障检测,则表示在该处理周期内,已有处理单元对第二处理单元进行故障检测,无需第一处理单元再次对第二处理单元进行故障检测,故第一处理单元不对第二处理单元进行故障检测。
若全局信息指示不存在处理单元对第二处理单元进行故障检测,则执行302。
302、第一处理单元获取第二处理单元的第一工作状态。
若第一工作状态为可工作状态,则执行303-304。
若第一工作状态为不可工作状态,则执行305-311。
若第一处理单元获取的全局信息为0,则表示在该处理周期内,没有处理单元对第二处理单元进行故障检测,则第一处理单元可以对第二处理单元开始进行故障检测,则第一处理单元可以将全局信息更新为1,表示现已有第一处理单元开始对第二处理单元进行故障检测。第一处理单元对第二处理单元进行故障检测时,可以获取第二处理单元的第一工作状态,第一工作状态包括可工作状态和不可工作状态。
在一可选实施例中,第二处理单元可以检测自身的工作状态,并对自身的工作状态进行设置。在一个处理周期内,若第二处理单元首次启动执行预设事件,则第二处理单元将工作状态设置为可工作状态;或者,在一个处理周期内,若第二处理单元首次检测到第二处理单元正在执行预设事件,则第二处理单元将工作状态设置为可工作状态。
在实际应用过程中,任意的处理单元可以根据实际需要在任意的时间开始执行系统必要事件。一个系统必要事件可能位于一个处理周期内,也可能位于相邻的两个或多个处理周期内。下面,结合图4A和图4B,对系统必要事件进行说明。
图4A为本申请示例性实施例提供的系统必要事件的示意图一。如图4A所示,在一个处理周期内,a时刻为开始执行系统必要事件的时刻,b时刻为结束执行系统必要事件的时刻,由a时刻到b时刻的时长为执行系统必要事件花费的时长。由图4A可知,该系统必要事件处于一个处理周期内。
图4B为本申请示例性实施例提供的系统必要事件的示意图二。如图4B所示,包括两个处理周期,可以分别记为上一个处理周期和当前处理周期。其中,上一个处理周期为c时刻到d时刻,当前处理周期为d时刻到e时刻。p时刻为开始执行系统必要事件的时刻,q时刻为结束执行系统必要事件的时刻,由p时刻到q时刻的时长为执行系统必要事件花费的时长。由图4B可知,该系统必要事件位于相邻的两个处理周期内。
针对任意的处理单元,可以通过如下两种方式中的任意一种处理方式设置自身的工作状态,也可以通过如下两种方式的结合设置自身的工作状态,下面,以第二处理单元设置自身的工作状态为例进行说明:
方式1、在一个处理周期内,当第二处理单元首次启动执行预设事件时,第二处理单元可以将自己的工作状态设置为可工作状态。
例如,请结合图4A,当第二处理单元检测到自己在a时刻启动执行系统必要事件时,则第二处理单元可以在a时刻将自身的工作状态设置为可工作状态。
方式2、在一个处理周期内,第二处理单元首次检测到自己正在执行预设事件,则可以将自己的工作状态设置为可工作状态。
在该种情况下,第二处理单元可以周期性检测自己是否正在执行预设事件,当检测到自己正在执行预设事件时,可以将自己的工作状态设置为可工作状态。
例如,请结合图4B,在当前处理周期中,第二处理单元在d时刻检测到自己正在执行系统必要事件时,则第二处理单元可以在d时刻将自身的工作状态设置为可工作状态,并在当前处理周期内停止周期性检测。
例如,请结合图4A,在一个处理周期开始之后,第二处理单元可以周期性检测自己是否正在执行系统必要事件,直至到a时刻,第二处理单元检测到自己正在执行系统必要事件,则第二处理单元将自己的工作状态设置为可工作状态,并停止周期性检测。当第二处理单元的工作状态为不可工作状态时,包括如下两种情况:
情况1、在上一个周期结束时,第二处理单元的工作状态被设置为不可工作状态,在当前周期开始时,第二处理单元的工作状态默认为不可工作状态。在当期的处理周期内,若第二处理单元没有经过系统必要事件,则第二处理单元的工作状态一直为默认设置的不可工作状态。
情况2、在当前的处理周期内,第二处理单元存在故障,无法执行系统必要事件,则第二处理单元的工作状态为不可工作状态。
第一处理单元可以获取第二处理单元的第一工作状态。若第一工作状态为可工作状态,则说明第二处理单元可以正常工作,则可以执行303-304。若第一工作状态为不可工作状态,则第二处理单元有可能是在当前处理周期内没有经过系统必要事件,也有可能是存在故障,则需要进一步确定,则可以执行305-311。
303、第一处理单元确定第二处理单元的故障检测结果为第二处理单元不存在故障。
若第一处理单元获取到第二处理单元的第一工作状态为可工作状态,则说明第二处理单元可以正常工作,则可以确定第二处理单元的故障检测结果为不存在故障。
304、第一处理单元将第二处理单元的工作状态重置为不可工作状态。
第一处理单元可以通过如下两种可能的实现方式设置第二处理单元的工作状态:
方式1、第一处理单元确定第二处理单元的故障检测结果为第二处理单元不存在故障之后,第一处理单元将第二处理单元的工作状态设置为不可工作状态。
当第一处理单元确定第二处理单元的工作状态为可工作状态时,则第一处理单元可以确定第二处理单元可以正常工作,不存在故障。第一处理单元可以将第二处理单元工作状态由可工作状态重置为不可工作状态,以使第二处理单元在下一个处理周期开始时,默认设置为不可工作状态,并进行故障检测。
例如,若服务器中有5个CPU,分别为CPU-1、CPU-2、CPU-3、CPU-4、CPU-5,CPU-1为第一处理单元,CPU-2为第二处理单元,若CPU-1确定CPU-2不存在故障时,则CPU-1可以将CPU-2的工作状态重置为不可工作状态,并可以启动下一个处理周期进行故障检测。
方式2、第一处理单元获取电子设备中除第二处理单元之外的其他处理单元的工作状态,并在电子设备中所有处理单元的工作状态均为可工作状态时,将电子设备中所有处理单元的工作状态设置为不可工作状态。
第一处理单元可以获取电子设备中除第二处理单元之外的其他处理单元的工作状态,若电子设备中所有处理单元的工作状态均为可工作状态时,则说明该电子设备中所有处理单元都可以正常工作,不存在故障,则第一处理单元可以将电子设备中所有处理单元的工作状态由可工作状态重置为不可工作状态,以使所有处理单元在下一个处理周期开始时,默认设置为不可工作状态,并进行故障检测。
例如,若服务器中有5个CPU,分别为CPU-1、CPU-2、CPU-3、CPU-4、CPU-5,CPU-1为第一处理单元,CPU-2为第二处理单元,CPU-1还可以获取CPU-1、CPU-2、CPU-3、CPU-4和CPU-5的工作状态,若CPU-1、CPU-2、CPU-3、CPU-4和CPU-5的工作状态均为可工作状态,则说明CPU-1、CPU-2、CPU-3、CPU-4和CPU-5均不存在故障。CPU-1可以将所有CPU的工作状态均重置为不可以工作状态,并可以启动下一个处理周期进行故障检测。
305、第一处理单元获取第二处理单元的触发信息。
若触发信息指示已主动触发第二处理单元执行预设事件,则执行306。
若触发信息指示未主动触发第二处理单元执行预设事件,则执行307-311。
当第一处理单元获取到第二处理单元的工作状态为不可工作状态时,由于不可工作状态可能是第二处理单元存在故障造成的,也可能是第二处理单元未执行系统必要事件造成的,则进一步的,第一处理单元需要获取第二处理单元对应的触发信息,并根据触发信息确定第二处理单元的故障检测结果。
第一处理单元可以读取状态寄存器中的触发信息。若触发信息为1,则表示已主动触发第二处理单元执行预设事件,则说明第二处理单元已执行过系统必要事件,可以执行306。
若触发信息为0,则表示未主动触发第二处理单元执行预设事件。当未主动触发第二处理单元执行预设事件时,则通过预设事件检测第二处理单元是否真的存在故障,可以执行307-311。
306、第一处理单元确定故障检测结果为第二处理单元存在故障。
若第一处理单元获取第二处理单元对应的触发信息为1,则表示已主动触发第二处理单元执行预设事件,则说明第二处理单元已接收过处理单元发送的预设指令,但由于第一处理单元获取的第二处理单元的第一工作状态为不可工作状态,则说明第二处理单元无法执行预设事件,可以确定第二处理单元存在故障。
307、第一处理单元触发第二处理单元执行预设事件。
若触发信息为0,则表示未主动触发第二处理单元执行预设事件。当未主动触发第二处理单元执行预设事件时,则需要第一处理单元主动触发第二处理单元执行预设事件,通过预设事件检测第二处理单元是否真的存在故障。
在一可选实施例中,第一处理单元可以向第二处理单元发送预设指令,以使第二处理单元执行预设事件。预设指令用于指示第二处理单元执行预设事件。例如,第一处理单元可以向第二处理单元发送NMI中断事件的指令,以使第二处理单元执行NMI中断事件。
第一处理单元触发第二处理单元执行预设事件之后,可以将触发信息由0更新为1,表示已主动触发第二处理单元执行预设事件。
308、第一处理单元在下一个处理周期获取第二处理单元的第二工作状态。
当第二处理单元接受到第一处理单元发送的预设指令,并执行预设事件之后,则第一处理单元可以获取第二处理单元的第二工作状态,以确定第二处理单元的故障检测结果。
309、第一处理单元根据第二工作状态确定第二处理单元的故障检测结果。
若第二工作状态为可工作状态,则第一处理单元通过预设事件,确定第二处理单元可以正常工作,则可以确定第二处理单元的故障检测结果为不存在故障。
若第二工作状态为不可工作状态,则说明第二处理单元无法执行预设事件,存在故障,则第一处理单元可以确定第二处理单元的故障检测结果为存在故障。
在第一处理单元确定第二处理单元的故障检测结果之后,第一处理单元可以生成故障检测报告,并进行自动保存,方便工作人员导出。第一处理单元还可以向工作人员的工作设备发送故障提醒消息,以使工作人员及时得知故障检测结果。
310、第一处理单元将触发信息重置为未主动触发第二处理单元执行预设事件。
由于第一处理单元主动触发第二处理单元执行预设事件时,将触发信息更新为1,则第一处理单元确定第二处理单元的故障检测结果之后,第一处理单元可以将第二处理单元对应的触发信息由1重置为0,以便在下一个处理周期开始进行检测时,第二处理单元对应的触发信息为默认初始值。311、第一处理单元将全局信息重置为不存在处理单元对第二处理单元进行故障检测。
由于第一处理单元开始对第二处理单元进行故障检测时,已将全局信息更新为1。当第一处理单元对第二处理单元检测完成之后,则第一处理单元可以将全局信息由1重置为0,以便在下一个处理周期开始进行故障检测时,全局信息为默认初始值,表示在下一个周期初始,未有处理单元对第二处理单元进行故障检测。
在本申请实施例中,第一处理单元可以获取第二处理单元的第一工作状态,并根据第一工作状态确定第二处理单元的故障检测结果。若第一工作状态为可工作状态,则第一处理单元可以确定第二处理单元的故障检测结果为不存在故障;若第一工作状态为不可工作状态,则第一处理单元可以根据触发信息,确定是否已主动触发第二处理单元执行预设事件。若触发信息指示已主动触发第二处理单元执行预设事件,则第一处理单元可以确定第二处理单元的故障检测结果为存在故障;若触发信息指示未主动触发第二处理单元执行预设事件,则第一处理单元可以主动触发第二处理单元执行预设事件,并在下一个处理周期获取第二处理单元的第二工作状态,以确定第二处理单元的故障检测结果。整个过程中,若任意一个第二处理单元发生故障,则可以被第一处理单元在两个周期内及时检测到,提高了对处理单元进行故障检测的可靠性。
在电子设备中,可以以竞争的形式确定一个处理单元对所有的处理单元进行故障检测。下面,结合图5,以第一处理单元的执行过程为例,对上述故障检测方法进行进一步详细说明。图5为本申请示例性实施例提供的又一种故障检测方法的流程示意图。请参见图5,该方法可以包括:
501、第一处理单元获取全局信息。
若全局信息指示存在处理单元对所有处理单元进行故障检测,则表示在该处理周期内,已有处理单元对所有处理单元进行故障检测,无需第一处理单元再次对所有处理单元进行故障检测,故第一处理单元不对所有处理单元进行故障检测。
若全局信息指示不存在处理单元对所有处理单元进行故障检测,则执行502。
502、第一处理单元获取所有处理单元的第一工作状态。
若所有处理单元的第一工作状态均为可工作状态,则执行503-504。
若存在第三处理单元的第一工作状态为不可工作状态,则执行505-512。
若第一处理单元获取的全局信息为0,指示没有处理单元对所有处理单元进行故障检测,则第一处理单元可以对所有处理单元开始进行故障检测,则第一处理单元可以将全局信息更新为1,表示现已有第一处理单元开始对所有处理单元进行故障检测,以使其它处理单元在该处理周期内不再进行故障检测。第一处理单元对所有处理单元进行故障检测时,可以获取所有处理单元的第一工作状态。
503、第一处理单元可以确定所有处理单元的故障检测结果均为不存在故障。
若第一处理单元获取到所有处理单元的第一工作状态均为可工作状态,则说明所有处理单元都可以正常工作,则可以确定所有处理单元的故障检测结果均为不存在故障。
504、第一处理单元将所有处理单元的工作状态重置为不可工作状态。
当第一处理单元确定所有处理单元均不存在故障时,则可以将所有处理单元的工作状态由可工作状态重置为不可工作状态,以使所有处理单元在下一个处理周期开始时,默认设置为不可工作状态,并进行故障检测。
505、第一处理单元获取第三处理单元的触发信息。
若触发信息指示已主动触发第三处理单元执行预设事件,则执行506。
若触发信息指示未主动触发第三处理单元执行预设事件,则执行507-512。
若存在第三处理单元的第一工作状态为不可工作状态时,由于不可工作状态可能是第三处理单元存在故障造成的,也可能是第三处理单元未执行系统必要事件造成的,则进一步的,第一处理单元需要获取第三处理单元的触发信息,并根据触发信息确定第三处理单元的故障检测结果。
例如,若第一处理单元获取到第三处理单元的触发信息为1,则表示已主动触发该第三处理单元执行预设事件,则说明第三处理单元已执行过系统必要事件,可以执行506。若第一处理单元获取到第三处理单元的触发信息为0,则表示未主动触发第三处理单元执行预设事件。当未主动触发第三处理单元执行预设事件时,则可以通过预设事件检测第三处理单元是否真的存在故障,可以执行507-512。
506、第一处理单元确定故障检测结果为第三处理单元存在故障。
若第一处理单元获取第三处理单元触发信息为1,则表示已主动触发第三处理单元执行预设事件,则说明第三处理单元已接收过处理单元发送的预设指令,但由于第一处理单元获取的第三处理单元的第一工作状态为不可工作状态,则说明第三处理单元无法执行预设事件,可以确定第三处理单元存在故障。
507、第一处理单元触发第三处理单元执行预设事件。
例如,若触发信息为0,则表示未主动触发第三处理单元执行预设事件。当未主动触发第三处理单元执行预设事件时,则需要第一处理单元主动触发第三处理单元执行预设事件,通过预设事件检测第三处理单元是否真的存在故障。
第一处理单元可以向第三处理单元发送预设指令,以使第三处理单元执行预设事件。预设指令用于指示第三处理单元执行预设事件。例如,第一处理单元可以向第三处理单元发送NMI中断事件的指令,以使第三处理单元执行NMI中断事件。
第一处理单元触发第三处理单元执行预设事件之后,可以将触发信息由0更新为1,表示已主动触发第三处理单元执行预设事件。
508、第一处理单元在下一个处理周期获取第三处理单元的第二工作状态。
当第三处理单元接受到第一处理单元发送的预设指令,并执行预设事件之后,则第一处理单元可以获取第三处理单元的第二工作状态,以确定第三处理单元的故障检测结果。
509、第一处理单元根据第二工作状态确定第三处理单元的故障检测结果。
若第三处理单元的第二工作状态为可工作状态,则第一处理单元通过预设事件,确定第三处理单元可以正常工作,则可以确定第三处理单元的故障检测结果为不存在故障。
若第三处理单元的第二工作状态为不可工作状态,则说明第三处理单元无法执行预设事件,存在故障,则第一处理单元可以确定第三处理单元的故障检测结果为存在故障。
510、第一处理单元确定电子设备中除第三处理单元外的其它处理单元的故障检测结果为不存在故障。
即,在505-510中,通过两个处理周期,可以确定得到电子设备中所有处理单元的故障检测结果。
在第一处理单元确定所有处理单元的故障检测结果之后,第一处理单元可以生成故障检测报告,并进行自动保存,方便工作人员导出。第一处理单元还可以向工作人员的工作设备发送故障提醒消息,以使工作人员及时得知故障检测结果。
511、第一处理单元将第三处理单元的触发信息重置为未主动触发第三处理单元执行预设事件。
由于第一处理单元主动触发第三处理单元执行预设事件时,将触发信息更新为1,则第一处理单元确定第三处理单元的故障检测结果之后,第一处理单元可以将第三处理单元的触发信息由1重置为0,以便在下一个处理周期开始进行检测时,第三处理单元的触发信息为默认初始值。
512、第一处理单元将全局信息重置为不存在处理单元对所有处理单元进行故障检测。
由于第一处理单元开始对所有处理单元进行故障检测时,已将全局信息更新为1。当第一处理单元对所有处理单元检测完成之后,则第一处理单元可以将全局信息由1重置为0,以便在下一个处理周期开始进行故障检测时,全局信息为默认初始值,表示在下一个周期初始,未有处理单元对所有处理单元进行故障检测。
在本申请实施例中,第一处理单元可以获取所有处理单元的第一工作状态,并根据第一工作状态确定所有处理单元的故障检测结果。若所有处理单元的第一工作状态均为可工作状态,则第一处理单元可以确定所有处理单元的故障检测结果为不存在故障;若存在第三处理单元的第一工作状态为不可工作状态,则第一处理单元可以根据触发信息,确定是否已主动触发第三处理单元执行预设事件。若触发信息指示已主动触发第三处理单元执行预设事件,则第一处理单元可以确定第三处理单元的故障检测结果为存在故障;若触发信息指示未主动触发第三处理单元执行预设事件,则第一处理单元可以主动触发第三处理单元执行预设事件,并在下一个处理周期获取第三处理单元的第二工作状态,以确定第三处理单元的故障检测结果。第一处理单元确定第三处理单元的故障检测结果之后,可以将已确定的其他处理单元的故障检测结果和第三处理单元的故障检测结果,作为所有处理单元的故障检测结果。整个过程中,若任意一个处理单元发生故障,则可以被第一处理单元在两个周期内及时检测到,提高了对所有处理单元进行故障检测的可靠性。
在上述任意一个实施例的基础上,下面,结合图6,通过具体示例,对故障检测的工作过程进行说明。
图6为本申请示例性实施例提供的一种故障检测方法的过程示意图。请参见图6,包括过程1、过程2、过程3、过程4、过程5、过程6。
请参见过程1,若服务器中存在4个CPU,分别为CPU-1、CPU-2、CPU-3、CPU-4。在当前处理周期内,全局信息为0,表示没有CPU对所有CPU进行故障检测。CPU-1、CPU-2、CPU-3、CPU-4的触发信息分别为未触发,表示未主动触发该CPU执行预设事件。当有CPU开始对所有CPU进行故障检测时,可以参见过程2。
请参见过程2,当有CPU开始对所有CPU进行故障检测时,可以以竞争的形式确定CPU-1为第一处理单元,则CPU-2、CPU-3、CPU-4均为处理单元。CPU-1获取到全局信息为0,可以全局信息由0更新为1,表示CPU-1开始对所有CPU进行故障检测,以使其它CPU在该处理周期内不再进行故障检测。当CPU-1对所有CPU进行故障检测时,可以参见过程3。
请参见过程3,CPU-1可以获取所有CPU的第一工作状态。其中,CPU-1的第一工作状态为可工作状态,CPU-2的第一工作状态为不可工作状态,CPU-3的第一工作状态为不可工作状态,CPU-4的第一工作状态为可工作状态。当CPU-1获取到CPU-2、CPU-3的第一工作状态为不可工作状态时,由于不可工作状态可能是CPU-2、CPU-3均存在故障造成的,也可能是CPU-2、CPU-3均未执行系统必要事件造成的,因此CPU-1需要对CPU-2、CPU-3进行进一步的确定,可以参见过程4。
请参见过程4,若CPU-1获取到CPU-2、CPU-3的触发信息为未触发,则CPU-1可以主动触发CPU-2、CPU-3执行预设事件,并将CPU-2、CPU-3的触发信息由未触发更新为已触发,以使其它CPU在该处理周期内不再对CPU-2、CPU-3进行主动触发。CPU-1可以发送预设指令,以使CPU-2、CPU-3执行预设事件,可以参见过程5。
请参见过程5,在下一个处理周期内,CPU-2、CPU-3可以根据CPU-1发送的预设指令,执行预设事件。CPU-1可以获取CPU-2、CPU-3的第二工作状态。其中,CPU-2的第二工作状态为可工作状态,则说明CPU-2可以正常工作;CPU-3的第二工作状态为不可工作状态,则说明CPU-3无法执行预设事件。CPU-1确定CPU-2、CPU-3的第二工作状态之后,接下来可以根据所有CPU的工作状态确定故障检测结果,可以参见过程6。
请参见过程6,CPU-1、CPU-2、CPU-3、CPU-4的工作状态分别为可工作状态、可工作状态、不可工作状态、可工作状态,则CPU-1可以根据各CPU的工作状态,确定故障检测结果分别为:CPU-1不存在故障、CPU-2不存在故障、CPU-3存在故障、CPU-4不存在故障。在CPU-1确定所有CPU的故障检测结果之后,CPU-1可以将CPU-2、CPU-3的触发信息由已触发重置为未触发,将全局信息由1重置为0,以便在下一处理周期开始进行故障检测时,各CPU的触发信息分别为默认初始值(未触发),全局信息为默认初始值(0)。
在本申请实施例中,第一处理单元可以获取所有处理单元的第一工作状态。若存在某个处理单元的第一工作状态为不可工作状态,则第一处理单元可以根据触发信息,确定是否已主动触发该处理单元执行预设事件。若触发信息指示为未触发,则第一处理单元可以主动触发该处理单元执行预设事件,并在下一个处理周期获取该处理单元的第二工作状态。第一处理单元可以根据各处理单元的工作状态,确定所有处理单元的故障检测结果。整个过程中,若任意一个处理单元发生故障,则可以被第一处理单元在两个周期内及时检测到,提高了对所有处理单元进行故障检测的可靠性。
图7为本申请实施例提供的一种故障检测装置的结构示意图。请参见图7,该故障检测装置包括:第一获取模块11、第一确定模块12、第二获取模块13和第二确定模块14,其中,
所述第一获取模块11用于,获取第二处理单元的第一工作状态;
所述第一确定模块12用于,在所述第一工作状态为可工作状态时,确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;
所述第二获取模块13用于,在所述第一工作状态为不可工作状态时,获取所述第二处理单元的触发信息;
所述第二确定模块14用于,根据所述触发信息确定所述第二处理单元的故障检测结果。
本申请实施例提供的故障检测装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第二确定模块14具体用于:
在所述触发信息指示已主动触发所述第二处理单元执行所述预设事件时,确定所述故障检测结果为所述第二处理单元存在故障;
在所述触发信息指示未主动触发所述第二处理单元执行所述预设事件时,触发所述第二处理单元执行预设事件,并在下一个处理周期获取所述第二处理单元的第二工作状态,并根据所述第二工作状态确定所述第二处理单元的故障检测结果。
在一种可能的实施方式中,所述第二确定模块14具体用于:
在所述第二工作状态为可工作状态时,确定所述故障检测结果为所述第二处理单元不存在故障;
在所述第二工作状态为不可工作状态时,确定所述故障检测结果为所述第二处理单元存在故障。
在一种可能的实施方式中,所述第二确定模块14具体用于:
向所述第二处理单元发送预设指令,所述预设指令用于所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述第二确定模块14具体用于:
将所述触发信息更新为已主动触发所述第二处理单元执行所述预设事件。
在一种可能的实施方式中,所述第一获取模块11具体用于:
获取全局信息;
在所述全局信息指示不存在处理单元对所述第二处理单元进行故障检测时,获取所述第二处理单元的第一工作状态。
本申请实施例提供的故障检测装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图8为本申请实施例提供的另一种故障检测装置的结构示意图。在图7所示实施例的基础上,请参见图8,故障检测装置10还包括设置模块15,其中,
所述设置模块15用于,在确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障之后,将所述第二处理单元的工作状态设置为不可工作状态;或者,在获取所述电子设备中除所述第二处理单元之外的其他处理单元的工作状态,并在所述电子设备中所有处理单元的工作状态均为可工作状态时,将所述电子设备中所有处理单元的工作状态设置为不可工作状态。
所述设置模块15还用于,在一个处理周期内,在所述第一处理单元首次启动执行预设事件时,将工作状态设置为可工作状态;或者,
在一个处理周期内,在所述第一处理单元首次检测到所述第一处理单元正在执行预设事件,将工作状态设置为可工作状态。
本申请实施例提供的故障检测装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例提供一种电子设备的结构示意图,请参见图9,该电子设备20可以包括多个处理单元,例如,电子设备可以包括处理单元21、处理单元22、处理单元23。电子设备20还包括存储单元24。示例性地,处理单元21、处理单元22、处理单元23、存储单元24,各部分之间通过总线25相互连接。
所述存储单元24存储计算机执行指令;
所述处理单元21、处理单元22、处理单元23均可以执行所述存储单元32存储的计算机执行指令,使得任意一个处理单元可以执行如上述方法实施例所示的故障检测方法。
可选的,电子设备20可以为服务器,处理单元为设置在服务器中的处理器。或者,电子设备20可以为处理器,处理单元为处理器中的处理核。
相应地,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理单元执行时用于实现上述方法实施例所述的故障检测方法。
相应地,本申请实施例还可提供一种计算机程序产品,包括计算机程序,该计算机程序被处理单元执行时,可实现上述方法实施例所示的故障检测方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种故障检测方法,其特征在于,包括:
第一处理单元获取第二处理单元的第一工作状态,所述第一处理单元和所述第二处理单元为同一电子设备中的处理单元;
若所述第一工作状态为可工作状态,则所述第一处理单元确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;
若所述第一工作状态为不可工作状态,则所述第一处理单元获取所述第二处理单元的触发信息,并根据所述触发信息确定所述第二处理单元的故障检测结果,所述触发信息用于指示是否已主动触发所述第二处理单元执行预设事件。
2.根据权利要求1所述的方法,其特征在于,根据所述触发信息确定所述第二处理单元的故障检测结果,包括:
若所述触发信息指示已主动触发所述第二处理单元执行所述预设事件,则所述第一处理单元确定所述故障检测结果为所述第二处理单元存在故障;
若所述触发信息指示未主动触发所述第二处理单元执行所述预设事件,则所述第一处理单元触发所述第二处理单元执行预设事件,并在下一个处理周期获取所述第二处理单元的第二工作状态,并根据所述第二工作状态确定所述第二处理单元的故障检测结果。
3.根据权利要求2所述的方法,其特征在于,根据所述第二工作状态确定所述第二处理单元的故障检测结果,包括:
若所述第二工作状态为可工作状态,则确定所述故障检测结果为所述第二处理单元不存在故障;
若所述第二工作状态为不可工作状态,则确定所述故障检测结果为所述第二处理单元存在故障。
4.根据权利要求2或3所述的方法,其特征在于,所述第一处理单元触发所述第二处理单元执行预设事件,包括:
所述第一处理单元向所述第二处理单元发送预设指令,所述预设指令用于所述第二处理单元执行所述预设事件。
5.根据权利要求2或3所述的方法,其特征在于,所述第一处理单元触发所述第二处理单元执行预设事件之后,还包括:
所述第一处理单元将所述触发信息更新为已主动触发所述第二处理单元执行所述预设事件。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述第一处理单元确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障之后,还包括:
所述第一处理单元将所述第二处理单元的工作状态设置为不可工作状态;或者,
所述第一处理单元获取所述电子设备中除所述第二处理单元之外的其他处理单元的工作状态,并在所述电子设备中所有处理单元的工作状态均为可工作状态时,将所述电子设备中所有处理单元的工作状态设置为不可工作状态。
7.根据权利要求1-3任一项所述的方法,其特征在于,第一处理单元获取第二处理单元的第一工作状态,包括:
所述第一处理单元获取全局信息;
在所述全局信息指示不存在处理单元对所述第二处理单元进行故障检测时,所述第一处理单元获取所述第二处理单元的第一工作状态。
8.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在一个处理周期内,若所述第一处理单元首次启动执行预设事件,则所述第一处理单元将工作状态设置为可工作状态;或者,
在一个处理周期内,若所述第一处理单元首次检测到所述第一处理单元正在执行预设事件,则所述第一处理单元将工作状态设置为可工作状态。
9.一种故障检测装置,其特征在于,包括:第一获取模块、第一确定模块、第二获取模块、第二确定模块,其中,
所述第一获取模块用于,获取第二处理单元的第一工作状态;
所述第一确定模块用于,在所述第一工作状态为可工作状态时,确定所述第二处理单元的故障检测结果为所述第二处理单元不存在故障;
所述第二获取模块用于,在所述第一工作状态为不可工作状态时,获取所述第二处理单元的触发信息;
所述第二确定模块用于,根据所述触发信息确定所述第二处理单元的故障检测结果。
10.一种电子设备,其特征在于,包括:存储单元和多个处理单元;
所述存储单元存储计算机执行指令;
所述处理单元执行所述存储单元存储的计算机执行指令,使得所述处理单元执行如权利要求1至8任一项所述的故障检测方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理单元执行时用于实现权利要求1至8任一项所述的故障检测方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理单元执行时实现权利要求1至8任一项所述的故障检测方法。
CN202210200246.8A 2022-03-02 2022-03-02 故障检测方法、装置及设备 Pending CN114564332A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210200246.8A CN114564332A (zh) 2022-03-02 2022-03-02 故障检测方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210200246.8A CN114564332A (zh) 2022-03-02 2022-03-02 故障检测方法、装置及设备

Publications (1)

Publication Number Publication Date
CN114564332A true CN114564332A (zh) 2022-05-31

Family

ID=81715968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210200246.8A Pending CN114564332A (zh) 2022-03-02 2022-03-02 故障检测方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114564332A (zh)

Similar Documents

Publication Publication Date Title
US8250543B2 (en) Software tracing
CN106682162B (zh) 日志管理方法及装置
CN108287769B (zh) 一种信息处理方法及装置
CN111324423B (zh) 容器内进程的监控方法、装置、存储介质和计算机设备
CN112068935A (zh) kubernetes程序部署监控方法、装置以及设备
CN110647463B (zh) 一种恢复测试断点的方法、装置、电子设备
CN110858166A (zh) 一种应用异常的处理方法、装置、存储介质及处理器
CN111078468A (zh) 微服务架构下的服务回滚方法及装置
CN114691445A (zh) 集群故障处理方法、装置、电子设备及可读存储介质
CN112306989A (zh) 数据库实例的处理方法及装置、存储介质、电子装置
CN114564332A (zh) 故障检测方法、装置及设备
CN114500249B (zh) 一种根因定位方法和装置
CN109062718B (zh) 一种服务器及数据处理方法
CN110874473A (zh) 病毒检测方法、装置及系统、云服务系统、存储介质
CN113064765B (zh) 节点异常处理方法、装置、电子设备及机器可读存储介质
CN114168389A (zh) Cad文件的恢复方法、装置、存储介质及处理器
CN114860432A (zh) 一种内存故障的信息确定方法及装置
CN110399258B (zh) 一种服务器系统的稳定性测试方法、系统及装置
CN112231063A (zh) 一种故障处理方法及装置
EP3404547A1 (en) Method for supervising and initializing ports
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
CN113411775B (zh) 通信装置、信息处理方法以及信息处理系统
CN108255667B (zh) 一种业务监测方法、装置以及电子设备
CN107038077B (zh) 消息蓄洪方法及装置
CN114510495B (zh) 一种数据库业务数据一致性处理方法和系统

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