CN113722143A - 一种程序流监控方法、装置、电子设备以及存储介质 - Google Patents

一种程序流监控方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN113722143A
CN113722143A CN202111122208.7A CN202111122208A CN113722143A CN 113722143 A CN113722143 A CN 113722143A CN 202111122208 A CN202111122208 A CN 202111122208A CN 113722143 A CN113722143 A CN 113722143A
Authority
CN
China
Prior art keywords
monitoring
program flow
program
core
result
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
CN202111122208.7A
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.)
FAW Group Corp
Original Assignee
FAW Group Corp
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 FAW Group Corp filed Critical FAW Group Corp
Priority to CN202111122208.7A priority Critical patent/CN113722143A/zh
Publication of CN113722143A publication Critical patent/CN113722143A/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0736Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种程序流监控方法、装置、电子设备以及存储介质。应用于控制器中的监控核,所述控制器包括至少一个监控组,监控组包括一个监控核和一个被监控核,所述方法包括:产生监控数据;向所在监控组内的被监控核传输所述监控数据,以使所述被监控核根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,并向所述监控核反馈所述程序流的实际监控结果;根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。本发明提供的技术方案,通过利用多核特性,实现各个核之间相互监控,可以了解所有核内系统任务的执行状态。

Description

一种程序流监控方法、装置、电子设备以及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种程序流监控方法、装置、电子设备以及存储介质。
背景技术
传统单核芯片的车用微控制器,通常采用监控芯片(比如外部看门狗芯片)对主控芯片的执行情况进行监控,通过周期的喂狗操作,外部看门狗芯片可以知道主控芯片是否在周期地运行。
随着科技的发展,现在车用微控制器的主控芯片已由传统的单核芯片逐步转换为主频更高、功能更强大的多核芯片。对于多核芯片的车用微控制器,如果只在一个核里进行喂狗操作,无法监控其他核的运行情况。如果采用多个看门狗芯片对多个内核进行喂狗操作,将增加硬件成本。
发明内容
本发明提供一种程序流监控方法、装置、电子设备以及存储介质,以减少硬件成本,且实现对多个内核运行情况的监控。
第一方面,本发明实施例提供了一种程序流监控方法,应用于控制器中的监控核,该方法包括:
产生监控数据;
向所在监控组内的被监控核传输所述监控数据,以使所述被监控核根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,并向所述监控核反馈所述程序流的实际监控结果;
根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
第二方面,本发明实施例还提供了程序流监控方法,应用于控制器中的被监控核,该方法包括:
获取所在监控组内的监控核传输的监控数据;
根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果;
向所述监控核反馈所述程序流的实际监控结果,以使所述监控核根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
第三方面,本发明实施例还提供了一种程序流监控装置,配置于控制器中的监控核中,该装置包括:
数据产生模块,用于产生监控数据;
数据传输模块,用于向所在监控组内的被监控核传输所述监控数据,以使所述被监控核根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,并向所述监控核反馈所述程序流的实际监控结果;
结果处理模块,用于根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
第四方面,本发明实施例还提供了一种程序流监控装置,配置于控制器中的被监控核中,该装置包括:
数据获取模块,用于获取所在监控组内的监控核传输的监控数据;
实际结果确定模块,用于根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果;
结果反馈模块,用于向所述监控核反馈所述程序流的实际监控结果,以使所述监控核根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
第五方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的程序流监控方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的程序流监控方法。
本发明实施例通过提供一种程序流监控方法、装置、电子设备以及存储介质,通过向所在监控组内的被监控核传输监控数据,以使监控组内的监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。相比于现有技术方案,上述方案利用微控制器内部多个核之间相互进行程序流监控,无需采用多个监控芯片(比如看门狗),减少了硬件成本,实现了对多个内核运行情况的监控,并及时发现系统运行问题的效果。
附图说明
图1为本发明实施例一提供的一种程序流监控方法的流程图;
图2为本发明实施例一提供的一种车用微控制器中各内核之间相互监控的示意图;
图3为本发明实施例二提供的一种程序流监控方法的流程图;
图4为本发明实施例三提供的一种程序流监控方法的流程图;
图5为本发明实施例四提供的一种程序流监控过程示意图;
图6为本发明实施例五提供的一种程序流监控装置的结构示意图;
图7为本发明实施例六提供的一种程序流监控装置的结构示意图;
图8为本发明实施例七提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种程序流监控方法的流程图,本实施例可适用于如何对车用微控制器主控芯片的程序流进行监控的情况,尤其适用于在车用微控制器的主控芯片为多核操作系统(比如传统AUTOSAR架构(ClassicAUOTSAR)的多核操作系统)场景下,解决多核操作系统的程序流监控问题。每一核内均运行一个程序流,所谓程序流是由操作系统内多个运行程序按照一定的运行顺序所组成,其中每一核内的程序流按照规定的时间周而复始地执行,即每一运行程序也可称为一个周期任务。
传统AUTOSAR架构的多核操作系统,系统内各核的运行程序按照规定的时间周而复始地执行,并且在系统设计阶段,系统各运行程序的执行时序就已经确定,因此在系统内,运行程序的执行循环是固定的。只要按照系统的设计需求,对各个核内的各个运行程序执行序列(即程序流)进行监控,就可以确定各核内的操作系统程序流执行是否存在问题。
可选的,为了对多核控制器的每一个核都做到监控,本实施例中可以根据车用微控制器中所包括的核数量,将车用微控制器中所包括的核分为至少一个监控组,每一监控组包括一个监控核和一个被监控核;进一步的,若车用微控制器中包含一个监控组,则监控组内的两个核既可以作为监控核,又可以作为被监控核。
进一步的,若监控组的数量为多个,则相邻两个监控组之间具有一个相同核,该核既可以作为监控核,又可以作为被监控核。例如,如图2所示,假设车用微控制器中包括3个核,分别为CORE 0、CORE 1和CORE2,3个核组成三个监控组。其中CORE 0作为监控核,对CORE1的程序流进行监控,此时CORE 1为被监控核。CORE 1作为监控核,对CORE 2的程序流进行监控,此时CORE 2为被监控核。CORE 2作为监控核,对CORE 0的程序流进行监控,此时CORE 0为被监控核。进一步的,对于大于3核的车用微控制器,均按照此种方法进行各核监控,形成首尾连接的监控链,保证每个核都被监控到。
示例性的,监控组的数量可与车用微控制器中所包括的核数量相同。例如,图2中车用微控制器中包括3个核,可以建立3个监控组。
其中,监控核用来为被监控核提供程序流监控的输入,并对被监控核的程序流监控结果进行判断和处理。被监控核接收监控核发来的程序流监控的输入,执行程序流监控,将程序流监控的结果反馈给监控核。对于系统内的每个核,既是监控核又是被监控核。
整套程序流监控方法由监控核和被监控核配合执行,本实施例中应用于控制器中的任一监控核。该方法可以由本发明实施例提供的程序流监控装置来执行,该装置可以通过软件和/或硬件的方式来实现。如图1所示,本实施例的程序流监控方法具体包括如下:
S110,产生监控数据。
可选的,监控数据为监控核所产生的,为同一监控组内的被监控核提供程序流监控的输入数据,可以是随机数。可选的,随机数可以是一个整数,也可以是一个字符串。
进一步的,监控核内部包括随机数生成模块,用于产生随机数。
S120,向所在监控组内的被监控核传输监控数据,以使被监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,并向监控核反馈程序流的实际监控结果。
需要说明的是,对于每一个被监控核,根据对程序流的监控需求以及系统的设计需求,事先确定被监控程序流中各运行程序的执行顺序(即标准执行顺序),并为该被监控核内的程序流中每个运行程序分配一个唯一的ID。
示例性的,当被监控核接收到同一监控组内的监控核发来的本次程序流监控的监控数据后,根据监控数据和首个处于监控状态下的运行程序的ID(比如T1),按照预定的监控算法,计算首个处于监控状态下的运行程序的监控结果r1,并可以将r1存储到周期任务执行结果存储表中。其中,监控算法可以是简单的逻辑操作,也可以是复杂的算法,比如可以哈希算法等。
之后,根据r1和第二个处于监控状态下的运行程序的ID,按照相同的监控算法,计算第二个处于监控状态下的运行程序的监控结果r2,并将r2存储到周期任务执行结果存储表中。以此类推,直到计算完最后一个处于监控状态下的运行程序的监控结果rn,并将rn存储到周期任务执行结果存储表中。同时将最后一个处于监控状态下的运行程序的监控结果rn作为本次程序流的实际监控结果,发送至监控核。
其中,首个处于监控状态下的运行程序即为本次执行监控任务开始后,程序流中第一个被执行的运行程序;进一步,如果程序流运行正常,首个处于监控状态下的运行程序应该是标准执行顺序中的第一个运行程序;如果程序流运行不正常(比如错序),那么首个处于监控状态下的运行程序可能不是标准执行顺序中的第一个运行程序。同理,第n个处于监控状态下的运行程序为本次执行监控任务开始后,程序流中第n个被执行的运行程序。
需要说明的是,每一运行程序的监控结果具有唯一性。
S130,根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
可选的,对于每一监控核,其内部还可以配置有程序流结果计算模块和程序流结果比较模块;因此监控核可以采用与同一监控组内的被监控核相同的计算方式,确定一个程序流的监控结果,作为标准监控结果;进而获取到同一监控组内的被监控核反馈的程序流的实际监控结果之后,可以将实际监控结果与标准监控结果进行比较,若实际监控结果与标准监控结果相同,则确定程序流中各运行程序的实际执行顺序正常;若实际监控结果与标准监控结果不相同,则确定程序流中各运行程序的实际执行顺序存在异常。
示例性的,作为本申请实施例的一种可选方式,根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常可以是,根据监控数据和程序流的标准执行顺序,确定程序流的标准监控结果;若标准监控结果与实际监控结果不一致,则确定程序流中各运行程序的实际执行顺序存在异常。
具体的,监控核中的随机数生成模块在为同一监控组内的被监控核产生本次程序流监控任务的监控数据之后,可以将所产生的监控数据发给该监控核中的程序流结果计算模块。程序流结果计算模块内部模拟被监控核内各运行程序的正确执行序列(即标准执行顺序),计算按照标准执行顺序下各个运行程序的监控结果;进一步的,程序流计算模块还可以在内存中维护一个程序流监控中间结果存储表,用于存储每个运行程序的监控结果。
可选的,监控核中的程序流结果计算模块可以根据监控数据或标准执行顺序中上一运行程序的监控结果,以及标准执行顺序中当前运行程序的标识信息,确定当前运行程序的监控结果,并将当前运行程序的监控结果,作为确定标准执行顺序中下一运行程序的监控结果的输入数据;并将最后得到的监控结果,作为标准执行顺序下程序流的标准监控结果。具体的,监控核中的程序流结果计算模块可以根据监控数据和被监控核内程序流在标准执行顺序下的第一个运行程序的ID,按照与被监控核相同的监控算法,计算第一个运行程序的监控结果R1,并将R1存储到程序流监控中间结果存储表中。将第一个运行程序的监控结果R1和被监控核内程序流在标准执行顺序下的第二个运行程序的ID,按照相同的监控算法,计算第二个运行程序的监控结果R2,并将R2存储到程序流监控中间结果存储表。以此类推,直到计算完被监控核内程序流在标准执行顺序下最后一个运行程序的监控结果Rn,并将Rn存储到程序流监控中间结果存储表。同时,将Rn作为标准监控结果。
例如,被监控核内运行的程序流包括3个运行程序,分别为运行程序1、运行程序2和运行程序3;且标准执行顺序为先执行运行程序1,再执行运行程序2,最后执行运行程序3。进而监控核中的程序流结果计算模块可以根据监控数据和运行程序1的ID,按照与被监控核相同的监控算法,计算运行程序1的监控结果,并将运行程序1的监控结果存储到程序流监控中间结果存储表中;之后,根据运行程序1的监控结果和运行程序2的ID,按照相同的监控算法,计算运行程序2的监控结果,并将运行程序2的监控结果存储到程序流监控中间结果存储表中;根据运行程序2的监控结果和运行程序3的ID,按照相同的监控算法,计算运行程序3的监控结果,并将运行程序3的监控结果存储到程序流监控中间结果存储表中;同时将运行程序3的监控结果作为标准监控结果。
进一步的,监控核中的程序流结果计算模块可以将标准监控结果传输至监控核中的程序流结果比较模块;程序流结果比较模块将标准监控结果Rn与被监控核发来的实际监控结果rn进行比较;若rn与Rn相同,则程序流中各运行程序的实际执行顺序无异常;若rn与Rn不同,则程序流中各运行程序的实际执行顺序存在异常,即说明被监控程序流的实际执行顺序存在错序问题或者某一个或几个运行程序没有执行。
本实施例提供的技术方案,通过向所在监控组内的被监控核传输监控数据,以使监控组内的监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。相比于现有技术方案,上述方案利用微控制器内部多个核之间相互进行程序流监控,无需采用多个监控芯片(比如看门狗),减少了硬件成本,实现了对多个内核运行情况的监控,并及时发现系统运行问题的效果。
实施例二
图3为本发明实施例二提供的一种程序流监控方法的流程图,本实施例是在上述实施例的基础上进行优化,增加了定位异常运行程序等过程。具体的,如图3所示,本实施例提供的程序流监控方法可以包括:
S210,产生监控数据。
S220,向所在监控组内的被监控核传输监控数据,以使被监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,并向监控核反馈程序流的实际监控结果。
S230,根据监控数据和程序流的标准执行顺序,确定程序流的标准监控结果。
S240,若标准监控结果与实际监控结果不一致,则确定程序流中各运行程序的实际执行顺序存在异常。
S250,根据实际执行顺序下程序流中运行程序的监控结果,以及标准执行顺序下程序流中运行程序的监控结果,确定在实际执行顺序下程序流中异常的运行程序。
可选的,监控核中还可以配置有错误处理模块;若监控核中的程序流结果比较模块确定程序流中各运行程序的实际执行顺序存在异常,则程序流结果比较模块向错误处理模块发送错误处理通知,以指示错误处理模块定位本次程序流监控任务中异常的运行程序等。
示例性的,程序流中运行程序的实际监控结果存储在周期任务执行结果存储表中,程序流中运行程序的标准监控结果存储在程序流监控中间结果存储表中,进而监控核中错误处理模块可以获取程序流监控中间结果存储表和周期任务执行结果存储表。可选的,程序流监控中间结果存储表和周期任务执行结果存储表中各运行程序的监控结果均是按照运行程序的ID进行存储。因此监控核中错误处理模块在获取到程序流监控中间结果存储表和周期任务执行结果存储表之后,可以将两个存储表中存储的数据进行一一对比,并根据比对结果,确定在实际执行顺序下程序流中异常的运行程序。
可选的,程序流中的程序执行顺序的异常情况可以是程序执行顺序错误或程序流在程序执行过程中存在未执行的运行程序。若程序流的实际运行顺序中涉及程序流中所有运行程序,则通过将两个存储表中存储的数据进行一一对比,可精准定位哪些运行程序出现错序。例如,程序流中的运行程序有T1、T2和T3,程序流的标准执行顺序为先执行运行程序T1,再执行运行程序T2,最后执行运行程序T3。若周期任务执行结果存储表中运行程序T1的监控结果r1,与程序流监控中间结果存储表中运行程序的监控结果R1相同,则说明运行程序1正常;若周期任务执行结果存储表中运行程序T2的监控结果r2,与程序流监控中间结果存储表中运行程序的监控结果R2不同,且周期任务执行结果存储表中运行程序T3的监控结果r3,与程序流监控中间结果存储表中运行程序的监控结果R3也不同,则监控核可确定程序流的实际执行顺序为先执行运行程序T1,再执行运行程序T3,最后执行运行程序T2,即精准定位到了本次程序流监控任务中异常的运行程序为T2和T3,也就是说由于运行程序T2和T3出现错序,导致程序流运行异常。
进一步的,若程序流中的运行程序有多个,若从某一运行程序(比如运行程序T2)开始,周期任务执行结果存储表中运行程序的监控结果,与程序流监控中间结果存储表中运行程序的监控结果不同,则说明本次程序流的实际执行顺序从运行程序T2开始之后的所有运行程序之间存在错序问题。
进一步的,程序流的实际执行顺序存在异常,也可能是程序流中某一个或几个运行程序没有执行所造成。为解决此问题,本实施例引入默认值。可选的,本实施例中,当程序流中某一个运行程序没有执行时,该运行程序的监控结果固定为一个默认值,默认值可以是一个整数,也可以是一个字符串,默认值具有唯一性。可以理解的是,正常情况即程序流按照标准执行顺序运行的情况下,运行程序的监控结果不会为此默认值。周期任务执行结果存储表的初始值都设置为该默认值。当某一被监控运行程序执行时,如未收到上一被监控的运行程序的监控结果,即上一运行程序没有执行,则使用默认值作为输入参数,来计算该被监控运行程序及程序流中后续被监控运行程序的监控结果。
例如,程序流中的运行程序有T1、T2和T3,程序流的标准执行顺序为先执行运行程序T1,再执行运行程序T2,最后执行运行程序T3。在程序流中的运行程序开始执行之前,将运行程序T1、T2和T3的监控结果均设置为默认值a,即周期任务执行结果存储表的每一个运行程序的监控结果初始值都设置为a。当被监控核的程序流开始运行后,若本次监控任务中运行程序T1先被执行,则根据监控结果和运行程序T1的ID,计算出运行程序T1的监控结果,并用运行程序T1的本次监控结果替换周期任务执行结果存储表中运行程序T1监控结果初始值即a。之后,若运行程序T2出现异常,未能成功执行,则周期任务执行结果存储表中,T2的监控结果依旧是默认值a。当被监控运行程序T3开始执行时,未收到上一被监控的运行程序T2的监控结果,即上一运行程序T2没有执行,则使用a作为计算运行程序T3监控结果的输入参数,来计算运行程序T3的监控结果;或者,可以基于运行程序1的监控结果,来计算运行程序T3的监控结果,并用运行程序T3的本次监控结果替换周期任务执行结果存储表中运行程序T3监控结果初始值即a。
进而,监控核中错误处理模块在将程序流监控中间结果存储表和周期任务执行结果存储表中各运行程序的监控结果进行比较时,若识别到周期任务执行结果存储表中存在任一运行程序的监控结果为默认值,比如运行程序T2的执行结果为默认值,则可以精准定位到本次程序流监控任务中异常的运行程序为T2,也就是说由于运行程序T2未执行,导致程序流运行异常。
S260,确定在实际执行顺序下程序流的异常等级,并采用异常等级对应的异常处理方式,进行异常处理。
可选的,在系统初始化时为系统分配一个异常等级,异常等级用整数表示,从1开始,数值越大,错误越严重。同时为每个错误等级分配一种异常处理方式。本实施例中,实际执行顺序下程序流的异常等级可以是等级1、等级2、等级3、等级4或等级5,进而可以根据异常等级对应的异常处理方式,进行异常处理。
示例性的,错误等级1,只上报故障。错误等级2,上报故障,关闭外部IO输出。错误等级3,上报故障,关闭外围芯片使能。错误等级4,软件复位。错误等级5,关闭被监控核。可选的,具体错误等级和处理措施可以根据项目需求设定。
本实施例提供的技术方案,根据实际执行顺序下程序流中运行程序的监控结果,以及标准执行顺序下程序流中运行程序的监控结果,确定在实际执行顺序下程序流中异常的运行程序;确定在实际执行顺序下程序流的异常等级,并采用异常等级对应的异常处理方式,进行异常处理。解决了多核操作系统的程序流监控过程中,当监控到程序流异常时,无法定位到具体的异常运行程序,从而采用系统的整体复位的方式使系统恢复正常的问题,实现了当程序流监控过程中监控到程序流中异常的运行程序时,可以定位到具体出现问题的周期任务,在不影响ECU整体运行的情况下,单独停掉出现问题的核的运行,保证系统部分功能的正常运行,避免系统的整体复位的效果。
实施例三
图4为本发明实施例三提供的一种程序流监控方法的流程图。整套程序流监控方法由监控核和被监控核配合执行,本实施例中的实施方案应用于控制器中的任一被监控核。该方法可以由本发明实施例提供的程序流监控装置来执行,该装置可以通过软件和/或硬件的方式来实现。如图4所示,本实施例的程序流监控方法具体包括如下:
S310,获取所在监控组内的监控核传输的监控数据。
其中,监控数据可以为监控组内的监控核发来的本次程序流监控的随机数,该随机数由监控核内部的随机数生成模块产生,随机数可以是一个整数,也可以是一个字符串。
S320,根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果。
示例性的,根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果可以是,根据上一监控结果和程序流中当前处于监控状态下的运行程序的标识信息,确定当前处于监控状态下的运行程序的当前监控结果,并将当前监控结果作为确定下一监控结果的上一监控结果;将最后得到的监控结果,作为实际执行顺序下程序流的实际监控结果。
其中,当前处于监控状态下的运行程序即为程序流中当前正在被执行的运行程序。
进一步的,程序流中首个处于监控状态下的运行程序对应的上一监控结果为监控数据;若当前处于监控状态下的运行程序不是首个处于监控状态下的运行程序,则上一监控结果为上一被执行的运行程序(即上一处于监控状态下的运行程序)的监控结果,或默认值。
可选的,对于每一个被监控核,根据对周期任务的监控需求以及系统的设计需求,事先确定被监控周期任务的执行序列,并为每个被监控的周期任务分配一个唯一的ID,例如ID可以是T1,T2,T3…Tn,其中n表示第n个运行程序。
具体的,当被监控核接收到同一监控组内的监控核发来的本次程序流监控的监控数据后,根据监控数据和首个处于监控状态下的运行程序的ID(比如T1),按照预定的监控算法,计算首个处于监控状态下的运行程序的监控结果r1,并可以将r1存储到周期任务执行结果存储表中。其中,监控算法可以是简单的逻辑操作,也可以是复杂的算法,比如可以哈希算法等。
之后,根据r1和第二个处于监控状态下的运行程序的ID,按照相同的监控算法,计算第二个处于监控状态下的运行程序的监控结果r2,并将r2存储到周期任务执行结果存储表中。以此类推,直到计算完最后一个处于监控状态下的运行程序的监控结果rn,并将rn存储到周期任务执行结果存储表中。同时将最后一个处于监控状态下的运行程序的监控结果rn作为本次程序流的实际监控结果。
示例性的,本实施例中当程序流中某一个运行程序没有执行时,该运行程序的监控结果固定为一个默认值,默认值可以是一个整数,也可以是一个字符串,默认值具有唯一性。可以理解的是,正常情况即程序流按照标准执行顺序运行的情况下,运行程序的监控结果不会为此默认值。周期任务执行结果存储表的初始值都设置为该默认值。每一运行程序被执行后,均会采用该运行程序的监控结果替换周期任务执行结果存储表中该运行程序的监控结果初始值。
进一步的,当某一被监控运行程序执行时,如未收到上一被监控的运行程序的监控结果,即上一运行程序没有执行,则可以使用默认值作为输入参数,来计算该被监控运行程序及程序流中后续被监控运行程序的监控结果。
S330,向监控核反馈程序流的实际监控结果,以使监控核根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
具体的,被监控核将最后一个处于监控状态下的运行程序的监控结果rn作为本次程序流的实际监控结果,发送至同一监控组内的监控核,以使该监控核根据监控数据和程序流的标准执行顺序,确定程序流的标准监控结果,并将标准监控结果与际监控结果进行比较,以确定程序流中各运行程序的实际执行顺序是否存在异常。
本实施例提供的技术方案,通过监控组内的监控核获取所在监控组内的被监控核产生的监控数据;根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果;向监控核反馈所述程序流的实际监控结果,以使监控核根据所述程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。解决了某一核内部整体出现问题且在没有看门狗的情况下,不能急时发现异常的问题。实现了车用微控制器多核操作系统的程序流监控时,利用多核特性,实现各个核之间相互监控的效果,可以了解所有核内运行程序的执行状态。
实施例四
图5为本发明实施例四提供的一种程序流监控过程示意图。本实施在上述实施例的基础上,提供了一种监控组中的两个核进行交互实现程序流监控的优选实例。结合图5,具体过程可以是:
监控核中包含随机数生成模块、程序流结果计算模块、程序流结果比较模块和错误处理模块。监控核的随机数生成模块生成一个随机数作为监控数据。向所在监控组内的被监控核传输监控数据。
被监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,即对运行程序T1、运行程序T2……运行程序Tn的实际执行顺序进行监控,且将每一个运行程序的监控结果都存放到被监控核的内存空间中,即周期任务执行结果存储表中。同时,被监控核将最后一个处于监控状态下的运行程序(比如Tn)的监控结果作为程序流的实际监控结果,并向监控核反馈程序流的实际监控结果。
与此同时,监控核中的程序流结果计算模块根据监控数据和程序流的标准执行顺序,确定程序流中每一运行程序的监控结果,并每一个运行程序的监控结果存放至监控核的程序流监控中间结果存储表中,同时将最后一个运行程序的监控结果作为标准监控结果。
监控核中的程序流结果计算模块将计算出的程序流监控中间结果存储表发送至程序流结果比较模块和错误处理模块。监控核中的程序流结果比较模块将被监控核所发送的实际监控结果,与程序流结果计算模块所计算的标准监控结果进行比较,若标准监控结果与实际监控结果不一致,则确定程序流中各运行程序的实际执行顺序存在异常。
此时,监控核中的程序流结果比较模块向错误处理模块发送错误处理通知,以指示错误处理模块定位本次程序流监控任务中异常的运行程序等。进一步的,监控核中的错误处理模块可以从被监控核中获取周期任务执行结果存储表。对比周期任务执行结果存储表中的控结果与程序流监控中间结果存储表中的监控结果,以确定程序流在实际执行顺序下异常的运行程序,并根据异常等级对被监控核中的程序流进行异常处理。
本实施例提供的技术方案,解决了多核操作系统的程序流监控过程中,当监控到程序流异常时,无法定位到具体的异常运行程序,从而采用系统的整体复位的方式使系统恢复正常的问题,实现了当程序流监控过程中监控到程序流中异常的运行程序时,可以定位到具体出现问题的周期任务,在不影响ECU整体运行的情况下,单独停掉出现问题的核的运行,保证系统部分功能的正常运行,避免系统的整体复位的效果。
实施例五
图6为本发明实施例五提供的一种程序流监控装置的结构示意图,本实施例可适用于对程序流进行监控的情况,如图6所示,程序流监控装置包括:数据产生模块410、数据传输模块420和结果处理模块430。
其中,数据产生模块410,用于产生监控数据;
数据传输模块420,用于向所在监控组内的被监控核传输监控数据,以使被监控核根据所述监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,并向监控核反馈程序流的实际监控结果;
结果处理模块430,用于根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
本实施例提供的技术方案,通过向所在监控组内的被监控核传输监控数据,以使监控组内的监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。相比于现有技术方案,上述方案利用微控制器内部多个核之间相互进行程序流监控,无需采用多个监控芯片(比如看门狗),减少了硬件成本,实现了对多个内核运行情况的监控,并及时发现系统运行问题的效果。
示例性的,结果处理模块430可以包括:
标准结果确定单元,用于根据监控数据和程序流的标准执行顺序,确定程序流的标准监控结果;
结果处理单元,用于若标准监控结果与实际监控结果不一致,则确定程序流中各运行程序的实际执行顺序存在异常。
示例性的,标准结果确定单元具体可以用于:
根据监控数据或标准执行顺序中上一运行程序的监控结果,以及标准执行顺序中当前运行程序的标识信息,确定当前运行程序的监控结果,并将当前运行程序的监控结果,作为确定标准执行顺序中下一运行程序的监控结果的输入数据;
将最后得到的监控结果,作为标准执行顺序下程序流的标准监控结果。
示例性的,上述装置还包括:异常处理模块,该模块具体可以用于:
根据实际执行顺序下程序流中运行程序的监控结果,以及标准执行顺序下程序流中运行程序的监控结果,确定在实际执行顺序下程序流中异常的运行程序;
确定在实际执行顺序下程序流的异常等级,并采用异常等级对应的异常处理方式,进行异常处理。
本实施例提供的程序流监控装置可适用于上述任意实施例提供的程序流监控方法,具备相应的功能和有益效果。
实施例六
图7为本发明实施例六提供的一种程序流监控装置的结构示意图,本实施例可适用于对程序流进行监控的情况,如图7所示,该程序流监控装置包括:数据获取模块510、实际结果确定模块520和结果反馈模块530。
其中,数据获取模块510,用于获取所在监控组内的监控核传输的监控数据;
实际结果确定模块520,用于根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果;
结果反馈模块530,用于向监控核反馈程序流的实际监控结果,以使监控核根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
本实施例提供的技术方案,通过获取所在监控组内的监控核传输的监控数据;根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果;向监控核反馈程序流的实际监控结果,以使监控核根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。解决程序流监控主要针对车用控制器内部某一功能进行监控,不针对操作系统进行监控问题,实现了车用微控制器多核操作系统的程序流监控时,利用多核特性,实现各个核之间相互监控的效果,可以了解所有核内系统任务的执行状态。
进一步的,实际结果确定模块520,可以具体用于:
根据上一监控结果和程序流中当前处于监控状态下的运行程序的标识信息,确定当前处于监控状态下的运行程序的当前监控结果,并将当前监控结果作为确定下一监控结果的上一监控结果;其中,程序流中首个处于监控状态下的运行程序对应的上一监控结果为监控数据;
将最后得到的监控结果,作为实际执行顺序下程序流的实际监控结果。
本实施例提供的程序流监控装置可适用于上述任意实施例提供的程序流监控方法,具备相应的功能和有益效果。
实施例七
图8为本发明实施例七提供的一种电子设备的结构示意图,图8示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图8显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备8以通用计算设备的形式表现。电子设备8的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备8典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备8访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器(高速缓存32)。电子设备8可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
电子设备8也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备8交互的设备通信,和/或与使得该电子设备8能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备8还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备8的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备8使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的程序流监控方法。
实施例八
本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行本发明实施例所提供的程序流监控方法。该方法包括:
产生监控数据;向所在监控组内的被监控核传输所述监控数据,以使被监控核根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果,并向监控核反馈所述程序流的实际监控结果;根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
或者,该方法包括:
获取所在监控组内的监控核传输的监控数据;根据监控数据,对被监控核的程序流中各运行程序的实际执行顺序进行监控,得到程序流的实际监控结果;向监控核反馈程序流的实际监控结果,以使监控核根据程序流的实际监控结果,确定程序流中各运行程序的实际执行顺序是否正常。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种程序流监控方法,其特征在于,应用于控制器中的监控核,所述控制器包括至少一个监控组,监控组包括一个监控核和一个被监控核,所述方法包括:
产生监控数据;
向所在监控组内的被监控核传输所述监控数据,以使所述被监控核根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,并向所述监控核反馈所述程序流的实际监控结果;
根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
2.根据权利要求1所述的方法,其特征在于,所述根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常,包括:
根据所述监控数据和所述程序流的标准执行顺序,确定所述程序流的标准监控结果;
若所述标准监控结果与所述实际监控结果不一致,则确定所述程序流中各运行程序的实际执行顺序存在异常。
3.根据权利要求2所述的方法,其特征在于,所述根据所述监控数据和所述程序流的标准执行顺序,确定所述程序流的标准监控结果,包括:
根据所述监控数据或所述标准执行顺序中上一运行程序的监控结果,以及所述标准执行顺序中当前运行程序的标识信息,确定当前运行程序的监控结果,并将当前运行程序的监控结果,作为确定所述标准执行顺序中下一运行程序的监控结果的输入数据;
将最后得到的监控结果,作为所述标准执行顺序下所述程序流的标准监控结果。
4.根据权利要求3所述的方法,其特征在于,所述确定所述程序流中各运行程序的实际执行顺序存在异常之后,还包括:
根据所述实际执行顺序下程序流中运行程序的监控结果,以及所述标准执行顺序下程序流中运行程序的监控结果,确定在所述实际执行顺序下程序流中异常的运行程序;
确定在所述实际执行顺序下程序流的异常等级,并采用所述异常等级对应的异常处理方式,进行异常处理。
5.一种程序流监控方法,其特征在于,应用于控制器中的被监控核,所述控制器包括至少一个监控组,监控组包括一个监控核和一个被监控核,所述方法包括:
获取所在监控组内的监控核传输的监控数据;
根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果;
向所述监控核反馈所述程序流的实际监控结果,以使所述监控核根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
6.根据权利要求5所述的方法,其特征在于,所述根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,包括:
根据上一监控结果和所述程序流中当前处于监控状态下的运行程序的标识信息,确定当前处于监控状态下的运行程序的当前监控结果,并将所述当前监控结果作为确定下一监控结果的上一监控结果;其中,所述程序流中首个处于监控状态下的运行程序对应的上一监控结果为所述监控数据;
将最后得到的监控结果,作为所述实际执行顺序下所述程序流的实际监控结果。
7.一种程序流监控装置,其特征在于,配置于控制器中的监控核中,所述控制器包括至少一个监控组,监控组包括一个监控核和一个被监控核,所述装置包括:
数据产生模块,用于产生监控数据;
数据传输模块,用于向所在监控组内的被监控核传输所述监控数据,以使所述被监控核根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果,并向所述监控核反馈所述程序流的实际监控结果;
结果处理模块,用于根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
8.一种程序流监控装置,其特征在于,配置于控制器中的被监控核中,所述控制器包括至少一个监控组,监控组包括一个监控核和一个被监控核,所述装置包括:
数据获取模块,用于获取所在监控组内的监控核传输的监控数据;
实际结果确定模块,用于根据所述监控数据,对所述被监控核的程序流中各运行程序的实际执行顺序进行监控,得到所述程序流的实际监控结果;
结果反馈模块,用于向所述监控核反馈所述程序流的实际监控结果,以使所述监控核根据所述程序流的实际监控结果,确定所述程序流中各运行程序的实际执行顺序是否正常。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一项所述的程序流监控方法,或者实现权利要求5-6中任一所述的程序流监控方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的程序流监控方法,或者实现权利要求5-6中任一所述的程序流监控方法。
CN202111122208.7A 2021-09-24 2021-09-24 一种程序流监控方法、装置、电子设备以及存储介质 Pending CN113722143A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111122208.7A CN113722143A (zh) 2021-09-24 2021-09-24 一种程序流监控方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111122208.7A CN113722143A (zh) 2021-09-24 2021-09-24 一种程序流监控方法、装置、电子设备以及存储介质

Publications (1)

Publication Number Publication Date
CN113722143A true CN113722143A (zh) 2021-11-30

Family

ID=78684753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111122208.7A Pending CN113722143A (zh) 2021-09-24 2021-09-24 一种程序流监控方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113722143A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115220990A (zh) * 2021-12-09 2022-10-21 广州汽车集团股份有限公司 一种多核系统程序流监测方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115220990A (zh) * 2021-12-09 2022-10-21 广州汽车集团股份有限公司 一种多核系统程序流监测方法、装置、设备及存储介质
CN115220990B (zh) * 2021-12-09 2024-04-19 广州汽车集团股份有限公司 一种多核系统程序流监测方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8370816B2 (en) Device, method and computer program product for evaluating a debugger script
US8990657B2 (en) Selective masking for error correction
US7552312B2 (en) Identifying messaging completion in a parallel computer by checking for change in message received and transmitted count at each node
WO2007118741A1 (en) Computer hardware fault diagnosis
US20140372983A1 (en) Identifying the introduction of a software failure
CN107025167B (zh) 在处理器追踪日志中使用编译器类型信息进行数据流分析的方法和设备
US9086962B2 (en) Aggregating job exit statuses of a plurality of compute nodes executing a parallel application
US8806277B1 (en) Systems and methods for fetching troubleshooting data
US20120331270A1 (en) Compressing Result Data For A Compute Node In A Parallel Computer
US7870441B2 (en) Determining an underlying cause for errors detected in a data processing system
US9870314B1 (en) Update testing by build introspection
CN111930489B (zh) 一种任务调度方法、装置、设备及存储介质
CN113722143A (zh) 一种程序流监控方法、装置、电子设备以及存储介质
US8688831B2 (en) Managing workload distribution among a plurality of compute nodes
US20210208923A1 (en) Method and apparatus for handling memory failure, electronic device and storage medium
US8762781B2 (en) Method and apparatus useful in manufacturing test case operations
US20100205414A1 (en) High integrity processor monitor
CN115656788B (zh) 一种芯片测试系统、方法、设备及存储介质
CN112463574A (zh) 软件测试方法、装置、系统、设备和存储介质
CN112242177A (zh) 存储器测试方法、装置、计算机可读存储介质及电子设备
CN115482869A (zh) 一种注错测试方法、装置、电子设备及存储介质
US8819494B2 (en) Automatically changing parts in response to tests
US8745440B1 (en) Computer-implemented system and method for providing software fault tolerance
CN114327673A (zh) 一种任务启动方法、装置、电子设备及存储介质
US20120079256A1 (en) Interrupt suppression

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