CN114115025B - 基于自动驾驶系统的故障信息的保存方法、装置和设备 - Google Patents
基于自动驾驶系统的故障信息的保存方法、装置和设备 Download PDFInfo
- Publication number
- CN114115025B CN114115025B CN202111403060.4A CN202111403060A CN114115025B CN 114115025 B CN114115025 B CN 114115025B CN 202111403060 A CN202111403060 A CN 202111403060A CN 114115025 B CN114115025 B CN 114115025B
- Authority
- CN
- China
- Prior art keywords
- kernel
- tool
- started
- fault information
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种基于自动驾驶系统的故障信息的保存方法、装置和设备。该方法包括:若确定在车辆的自动驾驶过程中,若第一内核发生故障,则根据实际需要,选择处理器中待用的多个第二内核中的一个第二内核作为待启动的内核,其中第二内核为不支持自动驾驶业务的精简内核,进而基于第一工具启动待启动的内核,获取第一内核的故障信息,并将该故障信息存储于待启动的内核中;基于第二工具将待启动的内核的故障信息存储至车辆的存储设备中。当车辆在自动驾驶过程中,车辆处理器的第一内核出现了故障时,该方法可以实现第一内核故障信息、故障现场的保存。
Description
技术领域
本申请涉及车辆控制领域,尤其涉及一种基于自动驾驶系统的故障信息的保存方法、装置和设备。
背景技术
目前基于Linux的自动驾驶操作系统,在出现内核无法修复的故障时,一般都需要执行重启。
现有技术中,执行重启时,需要逐步进行:下电;上电;加载引导程序;引导程序自身初始化;引导程序加载内核;内核初始化;内核加载常规根文件系统;根文件系统初始化等步骤。
然而现有技术中,内核的故障信息在这个重启过程中无法保留下来,而这些故障信息对于后续的故障分析和系统改进是非常重要的,因此亟需一种内核故障信息的保存方法。
发明内容
本申请提供一种基于自动驾驶系统的故障信息的保存方法、装置和设备,用以解决内核的故障信息无法保存的问题。
第一方面,本申请提供一种基于自动驾驶系统的故障信息的保存方法,所述方法应用于车辆的处理器,所述处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,所述第二工具用于所述第二内核与所述车辆的存储设备之间进行信息通信,所述第一内核所支持的功能多于所述第二内核所支持的功能,所述方法包括:
若确定所述第一内核发生故障,则根据所述至少一个第二内核,确定出待启动的内核,并基于所述第一工具启动所述待启动的内核;
基于所述第一工具获取所述第一内核的故障信息;其中,所述故障信息表征所述车辆所部署的自动驾驶系统的故障,并基于所述第一工具将所述故障信息存储于待启动的内核中;
基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中。
在可选的一种实施方式中,基于所述第一工具启动所述待启动的内核,包括:
基于所述第一工具根据所述待启动的内核覆盖所述第一内核,并基于所述第一工具对所述待启动的内核进行初始化处理;
驱动所述待启动的内核加载根文件系统,并对所述根文件系统进行初始化处理,完成所述待启动的内核的启动。
在可选的一种实施方式中,基于所述第一工具获取所述第一内核的故障信息,并基于所述第一工具将所述故障信息存储于待启动的内核中,包括:
基于所述第一工具获取所述第一内核的内核信息,其中,所述内核信息中包括所述故障信息,并将所述内核信息存储于所述待启动的内核中;
基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中,包括:基于所述第二工具读取所述待启动的内核中的所述内核信息,并根据所述内核信息确定所述故障信息;基于所述第二工具将所述故障信息存储至所述车辆的存储设备中。
在可选的一种实施方式中,基于所述第二工具将所述故障信息存储至所述车辆的存储设备中,包括:
基于所述第二工具对所述故障信息进行分类整理,生成vmcore文件,并将所述vmcore文件存储至所述存储设备。
在可选的一种实施方式中,在将所述vmcore文件存储至所述存储设备之后,还包括:
基于调度分析工具对所述存储设备中的所述vmcore文件进行分析处理。
在可选的一种实施方式中,根据所述至少一个第二内核,确定出待启动的内核,包括:
根据所述至少一个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为所述待启动的内核;
或者,根据所述至少一个第二内核中每一第二内核的进程数,确定所述待启动的内核。
在可选的一种实施方式中,所述第一工具为kexec工具,所述第二工具为kdump工具。
第二方面,本申请提供一种基于自动驾驶系统的故障信息的保存装置,所述装置应用于车辆的处理器,所述处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,所述第二工具用于所述第二内核与所述车辆的存储设备之间进行信息通信,所述第一内核所支持的功能多于所述第二内核所支持的功能,所述装置包括:
确定单元,用于若确定所述第一内核发生故障,则根据所述至少一个第二内核,确定出待启动的内核;
启动单元,用于基于所述第一工具启动所述待启动的内核;
第一存储单元,用于基于所述第一工具获取所述第一内核的故障信息;其中,所述故障信息表征所述车辆所部署的自动驾驶系统的故障,并基于所述第一工具将所述故障信息存储于待启动的内核中;
第二存储单元,用于基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中。
在可选的一种实施方式中,所述启动单元包括:
第一处理子单元,用于基于所述第一工具根据所述待启动的内核覆盖所述第一内核,并基于所述第一工具对所述待启动的内核进行初始化处理;
第二处理子单元,用于驱动所述待启动的内核加载根文件系统,并对所述根文件系统进行初始化处理,完成所述待启动的内核的启动。
在可选的一种实施方式中,所述第一存储单元包括:
获取子单元,用于基于所述第一工具获取所述第一内核的内核信息,其中,所述内核信息中包括所述故障信息;
第一存储子单元,用于将所述内核信息存储于所述待启动的内核中;
所述第二存储单元,包括:
第三处理子单元,用于基于所述第二工具读取所述待启动的内核中的所述内核信息,并根据所述内核信息确定所述故障信息;
第二存储子单元,用于基于所述第二工具将所述故障信息存储至所述车辆的存储设备中。
在可选的一种实施方式中,所述第二存储子单元,具体用于:
基于所述第二工具对所述故障信息进行分类整理,生成vmcore文件,并将所述vmcore文件存储至所述存储设备。
在可选的一种实施方式中,所述装置还包括:
处理单元,用于在所述第二存储子单元将所述vmcore文件存储至所述存储设备之后,基于调度分析工具对所述存储设备中的所述vmcore文件进行分析处理。
在可选的一种实施方式中,所述确定单元,具体用于:
根据所述至少一个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为所述待启动的内核;
或者,根据所述至少一个第二内核中每一第二内核的进程数,确定所述待启动的内核。
在可选的一种实施方式中,所述第一工具为kexec工具,所述第二工具为kdump工具。
第三方面,本申请提供一种电子设备,所述电子设备包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如第一方面所述的方法,所述处理器应用于车辆,所述处理器具有如第一方面所述的第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的基于自动驾驶系统的故障信息的保存方法、装置和设备,在车辆的自动驾驶过程中,若确定第一内核发生故障,则根据实际需要,选择处理器中待用的多个第二内核中的一个第二内核作为待启动的内核,其中第二内核为不支持自动驾驶业务的精简内核,进而基于所述第一工具启动所述待启动的内核,获取所述第一内核的故障信息,并将该故障信息存储于待启动的内核中;基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中,实现了第一内核故障信息、故障现场的保存。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种基于自动驾驶系统的故障信息的保存方法的流程图;
图2为本申请实施例提供的另一种基于自动驾驶系统的故障信息的保存方法的流程图;
图3为本申请实施例提供的一种基于自动驾驶系统的故障信息的保存装置的结构示意图;
图4为本申请实施例提供的另一种基于自动驾驶系统的故障信息的保存装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6是本申请实施例提供的一种终端设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
目前基于Linux的自动驾驶操作系统,在出现内核无法修复的故障时,一般都需要执行重启。
现有技术中,执行重启时,需要逐步进行:下电;上电;加载引导程序;引导程序自身初始化;引导程序加载内核;内核初始化;内核加载常规根文件系统;根文件系统初始化等步骤,花费的时间较长,一般在20秒到30秒之间,更重要的是,经过了固件和引导程序后,内核的故障信息在这个重启过程中无法保留下来,而这些故障信息对于后续的故障分析和系统改进是非常重要的。
本申请提供的基于自动驾驶系统的故障信息的保存方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种基于自动驾驶系统的故障信息的保存方法的流程图,方法应用于车辆的处理器,处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,第二工具用于第二内核与车辆的存储设备之间进行信息通信,第一内核所支持的功能多于第二内核所支持的功能,如图1所示,该方法包括:
101、若确定第一内核发生故障,则根据至少一个第二内核,确定出待启动的内核,并基于第一工具启动待启动的内核。
示例性地,车辆的处理器中具有有多个内核,包括第一内核、多个第二内核,其中正在运行的第一内核可以承载车辆的自动驾驶业务,第二内核是在第一内核的基础上经过精简的内核,不承载车辆的自动驾驶业务,例如相比与常规的承载车辆自动驾驶业务的第一内核,第二内核无需支持多核中央处理器(central processing unit,简称CPU),不使能人工智能(Artificial Intelligencen,简称AI)硬件单元,例如摄像头、传感器等,即,第二内核最少仅需使能单核CPU、内存以及本地非易失性存储设备,其中,本地非易失性存储设备可以为Embedded Multi Media Card闪存(简称EMMC闪存)等。当该第一内核出现无法修复的故障,无法继续正常运行时,则在多个第二内核中确定一个第二内核,将该第二内核确定为车辆处理器待启动的内核,使用第一工具启动该待启动的内核。
102、基于第一工具获取第一内核的故障信息;其中,故障信息表征车辆所部署的自动驾驶系统的故障,并基于第一工具将故障信息存储于待启动的内核中。
示例性地,当第一内核出现无法修复的故障时,基于第一工具获取第一内核的故障信息,将第一内核的故障信息保存在待启动内核预留的一部分内存中,其中,故障信息表征车辆所部署的自动驾驶系统的故障,包括第一内核故障崩溃瞬间的内存映像,例如第一内核的函数栈信息、内存信息以及CPU信息等。
103、基于第二工具将待启动的内核的故障信息存储至车辆的存储设备中。
示例性地,利用第二工具在启动后的待启动内核中获取第一内核故障信息,并将获取的第一内核故障信息存储在预设的存储设备,即车辆的存储设备中。
本实施例中,若确定在车辆的自动驾驶过程中,第一内核发生故障,则根据实际需要,选择处理器中待用的多个第二内核中的一个第二内核作为待启动的内核,其中第二内核为不支持自动驾驶业务的精简内核,进而基于第一工具启动待启动的内核,获取第一内核的故障信息,并将该故障信息存储于待启动的内核中;基于第二工具将待启动的内核的故障信息存储至车辆的存储设备中。当车辆在自动驾驶过程中,车辆处理器的第一内核出现了故障时,该方法可以实现第一内核故障信息、故障现场的保存。
图2为本申请实施例提供的另一种基于自动驾驶系统的故障信息的保存方法的流程图,该方法应用于车辆的处理器,处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,第二工具用于第二内核与车辆的存储设备之间进行信息通信,第一内核所支持的功能多于第二内核所支持的功能,如图2所示,该方法包括:
201、若确定第一内核发生故障,则根据至少一个第二内核,确定出待启动的内核,并基于第一工具启动待启动的内核。
一个示例中,第一工具为kexec工具。
一个示例中,步骤201包括以下步骤:
根据至少一个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为待启动的内核;或者,根据至少一个第二内核中每一第二内核的进程数,确定待启动的内核。
基于第一工具根据待启动的内核覆盖第一内核,并基于第一工具对待启动的内核进行初始化处理;驱动待启动的内核加载根文件系统,并对根文件系统进行初始化处理,完成待启动的内核的启动。
示例性地,车辆的处理器中具有有多个内核,包括第一内核、多个第二内核,其中正在运行的第一内核可以承载车辆的自动驾驶业务,第二内核是在第一内核的基础上经过业务精简的内核,不承载车辆的自动驾驶业务,例如,相比与常规的承载车辆自动驾驶业务的第一内核,第二内核无需支持多核CPU,不使能AI硬件单元,例如摄像头、传感器等,即,第二内核最少仅需使能单核CPU、内存以及本地非易失性存储设备,其中,本地非易失性存储设备例如EMMC闪存等。当第一内核出现无法修复的故障,无法继续正常运行时,在多个第二内核中根据每一第二内核预设的优先级信息,将优先级最高的第二内核作为待启动内核,其中,多个第二内核的优先级可以按照可以支持的业务功能的多少确定,按照实际需求,将支持业务功能最多的第二内核或者支持业务功能最少的第二内核作为优先级最高的第二内核,并将其确定为待启动的内核;或者,根据每一第二内核的进程数,按照实际需求,将把可以运行的进程数最高或者最低的第二内核,作为待启动内核;确定待启动内核之后,使用第一工具,例如kexec工具,完成待启动内核的启动:首先将待启动内核拷贝到处理器内存中,得到内核映像,将其移动到动态内核内存中,拷贝到真正的目标位置,覆盖第一内核,再基于kexec工具对待启动的内核进行初始化处理,驱动待启动的内核加载根文件系统,并对根文件系统进行初始化处理,最终完成待启动的内核的启动。
202、基于第一工具获取第一内核的内核信息,其中,内核信息中包括故障信息,故障信息表征车辆所部署的自动驾驶系统的故障,并将内核信息存储于待启动的内核中。
示例性地,基于第一工具,例如kexec工具,获取第一内核的内核信息,该内核信息包括了第一内核的故障信息,将第一内核的内核信息存储在待启动内核预留的一部分内存中,其中,第一内核的内核信息中包含的第一内核的故障信息即第一内核故障崩溃瞬间的内存映像,例如第一内核的函数栈信息、内存信息以及CPU信息等,为车辆所部署的自动驾驶系统的故障信息。
203、基于第二工具读取待启动的内核中的内核信息,并根据内核信息确定故障信息。
一个示例中,第二工具为kdump工具。
示例性地,利用kdump工具,即第二工具,在启动后的待启动内核中读取第一内核的内核信息,按照预先设定的逻辑,从第一内核信息中识别提取出第一内核故障信息,例如第一内核的函数栈信息、内存信息以及CPU信息等。
204、基于第二工具将故障信息存储至车辆的存储设备中。
一个示例中,步骤204包括以下步骤:基于第二工具对故障信息进行分类整理,生成vmcore文件,并将vmcore文件存储至存储设备。
示例性地,基于kdump工具,即第二工具,将获取的第一内核的故障信息进行分类整理,形成vmcore文件,该文件按照一定逻辑顺序包含着不同类别的故障信息,例如第一内核的函数栈信息、内存信息以及CPU信息等,将该vmcore文件存储到预设的存储设备的预设位置,保存第一内核的故障现场。
205、基于调度分析工具对存储设备中的vmcore文件进行分析处理。
示例性地,基于第二工具,即kdump工具,将第一内核的故障信息存储至预设的存储设备中的预设位置后,调度分析工具,例如Common Reusable SHell(简称CRaSH)或GNUsymbolic debugger(简称GDB)等分析工具,基于调度分析工具,对存储设备中的vmcore文件进行分析处理,分析第一内核崩溃瞬间的故障现场,分析第一内核的故障原因。
本实施例中,若确定在车辆的自动驾驶过程中,第一内核发生故障,则根据实际需要,选择处理器中待用的多个第二内核中优先级最高或者运行的进程数最高或运行的进程数最低的第二内核作为待启动的内核,其中第二内核为不支持自动驾驶业务的精简内核,进而基于kexec工具启动待启动的内核,获取第一内核的内核信息,并将该内核信息存储于待启动的内核中;基于kdump工具读取待启动的内核中第一内核的内核信息,根据该内核信息确定故障信息,使用kdump工具将得到的故障信息进行分类整理,生成vmcore文件存储至车辆的存储设备中,针对vmcore文件,调度分析工具对其进行分析处理。当车辆在自动驾驶过程中,车辆处理器的第一内核出现了故障时,该方法可以实现内核的快速启动,内核故障信息、故障现场的保存,进而可以实现对内核故障原因的分析。
图3为本申请实施例提供的一种基于自动驾驶系统的故障信息的保存装置的结构示意图,装置应用于车辆的处理器,处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,第二工具用于第二内核与车辆的存储设备之间进行信息通信,第一内核所支持的功能多于第二内核所支持的功能,如图3所示,该装置包括:
确定单元31,用于若确定第一内核发生故障,则根据至少一个第二内核,确定出待启动的内核。
启动单元32,用于基于第一工具启动待启动的内核。
第一存储单元33,用于基于第一工具获取第一内核的故障信息;其中,故障信息表征车辆所部署的自动驾驶系统的故障,并基于第一工具将故障信息存储于待启动的内核中。
第二存储单元34,用于基于第二工具将待启动的内核的故障信息存储至车辆的存储设备中。
图4为本申请实施例提供的另一种基于自动驾驶系统的故障信息的保存装置的结构示意图,装置应用于车辆的处理器,处理器具有第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具,第二工具用于第二内核与车辆的存储设备之间进行信息通信,第一内核所支持的功能多于第二内核所支持的功能,在图3所示实施例的基础上,如图4所示,该装置包括:
一个示例中,启动单元32包括:
第一处理子单元321,用于基于第一工具根据待启动的内核覆盖第一内核,并基于第一工具对待启动的内核进行初始化处理。
第二处理子单元322,用于驱动待启动的内核加载根文件系统,并对根文件系统进行初始化处理,完成待启动的内核的启动。
一个示例中,第一存储单元33包括:
获取子单元331,用于基于第一工具获取第一内核的内核信息,其中,内核信息中包括故障信息。
第一存储子单元332,用于将内核信息存储于待启动的内核中。
一个示例中,第二存储单元34包括:
第三处理子单元341,用于基于第二工具读取待启动的内核中的内核信息,并根据内核信息确定故障信息。
第二存储子单元342,用于基于第二工具将故障信息存储至车辆的存储设备中。
一个示例中,第二存储子单元342具体用于:
基于第二工具对故障信息进行分类整理,生成vmcore文件,并将vmcore文件存储至存储设备。
一个示例中,装置还包括:
处理单元41,用于在第二存储子单元将vmcore文件存储至存储设备之后,基于调度分析工具对存储设备中的vmcore文件进行分析处理。
一个示例中,确定单元31具体用于:
根据至少一个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为待启动的内核;或者,根据至少一个第二内核中每一第二内核的进程数,确定待启动的内核。
一个示例中,第一工具为kexec工具,第二工具为kdump工具。
图5为本申请实施例提供的一种电子设备的结构示意图,如图5所示,电子设备包括:存储器51,处理器52。
存储器51;用于存储处理器52可执行指令的存储器。
其中,处理器52被配置为执行如上述实施例提供的方法,处理器应用于车辆,处理器具有如上述实施例的第一内核、至少一个第二内核、用于启动内核的第一工具、以及第二工具。
图6是本申请实施例提供的一种终端设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (15)
1.一种基于自动驾驶系统的故障信息的保存方法,其特征在于,所述方法应用于车辆的处理器,所述处理器具有第一内核、多个第二内核、用于启动内核的第一工具、以及第二工具,所述第二工具用于所述第二内核与所述车辆的存储设备之间进行信息通信,所述第一内核所支持的功能多于所述第二内核所支持的功能,所述方法包括:
若确定所述第一内核发生故障,则根据所述多个第二内核,确定出待启动的内核,并基于所述第一工具启动所述待启动的内核;
基于所述第一工具获取所述第一内核的故障信息;其中,所述故障信息表征所述车辆所部署的自动驾驶系统的故障,并基于所述第一工具将所述故障信息存储于待启动的内核中;
基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中;
基于所述第一工具启动所述待启动的内核,包括:
基于所述第一工具根据所述待启动的内核覆盖所述第一内核,并基于所述第一工具对所述待启动的内核进行初始化处理;
驱动所述待启动的内核加载根文件系统,并对所述根文件系统进行初始化处理,完成所述待启动的内核的启动。
2.根据权利要求1所述的方法,其特征在于,基于所述第一工具获取所述第一内核的故障信息,并基于所述第一工具将所述故障信息存储于待启动的内核中,包括:
基于所述第一工具获取所述第一内核的内核信息,其中,所述内核信息中包括所述故障信息,并将所述内核信息存储于所述待启动的内核中;
基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中,包括:基于所述第二工具读取所述待启动的内核中的所述内核信息,并根据所述内核信息确定所述故障信息;基于所述第二工具将所述故障信息存储至所述车辆的存储设备中。
3.根据权利要求2所述的方法,其特征在于,基于所述第二工具将所述故障信息存储至所述车辆的存储设备中,包括:
基于所述第二工具对所述故障信息进行分类整理,生成vmcore文件,并将所述vmcore文件存储至所述存储设备。
4.根据权利要求3所述的方法,其特征在于,在将所述vmcore文件存储至所述存储设备之后,还包括:
基于调度分析工具对所述存储设备中的所述vmcore文件进行分析处理。
5.根据权利要求1-4任一项所述的方法,其特征在于,根据所述多个第二内核,确定出待启动的内核,包括:
根据所述多个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为所述待启动的内核;
或者,根据所述多个第二内核中每一第二内核的进程数,确定所述待启动的内核。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述第一工具为kexec工具,所述第二工具为kdump工具。
7.一种基于自动驾驶系统的故障信息的保存装置,其特征在于,所述装置应用于车辆的处理器,所述处理器具有第一内核、多个第二内核、用于启动内核的第一工具、以及第二工具,所述第二工具用于所述第二内核与所述车辆的存储设备之间进行信息通信,所述第一内核所支持的功能多于所述第二内核所支持的功能,所述装置包括:
确定单元,用于若确定所述第一内核发生故障,则根据所述多个第二内核,确定出待启动的内核;
启动单元,用于基于所述第一工具启动所述待启动的内核;
第一存储单元,用于基于所述第一工具获取所述第一内核的故障信息;其中,所述故障信息表征所述车辆所部署的自动驾驶系统的故障,并基于所述第一工具将所述故障信息存储于待启动的内核中;
第二存储单元,用于基于所述第二工具将所述待启动的内核的所述故障信息存储至所述车辆的存储设备中;
所述启动单元包括:
第一处理子单元,用于基于所述第一工具根据所述待启动的内核覆盖所述第一内核,并基于所述第一工具对所述待启动的内核进行初始化处理;
第二处理子单元,用于驱动所述待启动的内核加载根文件系统,并对所述根文件系统进行初始化处理,完成所述待启动的内核的启动。
8.根据权利要求7所述的装置,其特征在于,所述第一存储单元包括:
获取子单元,用于基于所述第一工具获取所述第一内核的内核信息,其中,所述内核信息中包括所述故障信息;
第一存储子单元,用于将所述内核信息存储于所述待启动的内核中;
所述第二存储单元,包括:
第三处理子单元,用于基于所述第二工具读取所述待启动的内核中的所述内核信息,并根据所述内核信息确定所述故障信息;
第二存储子单元,用于基于所述第二工具将所述故障信息存储至所述车辆的存储设备中。
9.根据权利要求8所述的装置,其特征在于,所述第二存储子单元,具体用于:
基于所述第二工具对所述故障信息进行分类整理,生成vmcore文件,并将所述vmcore文件存储至所述存储设备。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
处理单元,用于在所述第二存储子单元将所述vmcore文件存储至所述存储设备之后,基于调度分析工具对所述存储设备中的所述vmcore文件进行分析处理。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述确定单元,具体用于:
根据所述多个第二内核中每一第二内核的优先级,确定优先级最高的第二内核为所述待启动的内核;
或者,根据所述多个第二内核中每一第二内核的进程数,确定所述待启动的内核。
12.根据权利要求7-10任一项所述的装置,其特征在于,所述第一工具为kexec工具,所述第二工具为kdump工具。
13.一种电子设备,其特征在于,所述电子设备包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1-6任一项所述的方法,所述处理器应用于车辆,所述处理器具有如权利要求1-12任一项所述的第一内核、多个第二内核、用于启动内核的第一工具、以及第二工具。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6任一项所述的方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111403060.4A CN114115025B (zh) | 2021-11-24 | 2021-11-24 | 基于自动驾驶系统的故障信息的保存方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111403060.4A CN114115025B (zh) | 2021-11-24 | 2021-11-24 | 基于自动驾驶系统的故障信息的保存方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115025A CN114115025A (zh) | 2022-03-01 |
CN114115025B true CN114115025B (zh) | 2024-05-28 |
Family
ID=80371733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111403060.4A Active CN114115025B (zh) | 2021-11-24 | 2021-11-24 | 基于自动驾驶系统的故障信息的保存方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115025B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004118334A (ja) * | 2002-09-24 | 2004-04-15 | Hitachi Kokusai Electric Inc | 障害復旧方法 |
JP2005222366A (ja) * | 2004-02-06 | 2005-08-18 | Nippon Telegr & Teleph Corp <Ntt> | 自動復帰方法/プログラム/プログラム記録媒体、処理装置 |
CN101122869A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种用于多核多线程处理器的单线程复位方法 |
CN102043690A (zh) * | 2010-12-31 | 2011-05-04 | 上海华为技术有限公司 | 多核处理器故障处理方法及多核处理器 |
CN104657240A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 多内核操作系统的失效控制方法及装置 |
CN104750510A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种芯片启动方法及多核处理器芯片 |
KR20190085391A (ko) * | 2018-01-10 | 2019-07-18 | 성균관대학교산학협력단 | Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치 |
CN112395137A (zh) * | 2021-01-21 | 2021-02-23 | 北京太一星晨信息技术有限公司 | 一种linux内核异常的处理方法、设备及装置 |
CN113094111A (zh) * | 2021-04-16 | 2021-07-09 | 三星(中国)半导体有限公司 | 设备以及设备的启动方法 |
CN113568770A (zh) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 实时操作系统的应急救援方法、电子设备及计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506203B2 (en) * | 2005-11-10 | 2009-03-17 | International Business Machines Corporation | Extracting log and trace buffers in the event of system crashes |
JP5255348B2 (ja) * | 2007-07-16 | 2013-08-07 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | クラッシュダンプ用のメモリアロケーション |
US9026860B2 (en) * | 2012-07-31 | 2015-05-05 | International Business Machines Corpoation | Securing crash dump files |
US20200285584A1 (en) * | 2019-03-04 | 2020-09-10 | Qualcomm Incorporated | Cache flush abort controller system and method |
US11016861B2 (en) * | 2019-04-11 | 2021-05-25 | International Business Machines Corporation | Crash recoverability for graphics processing units (GPU) in a computing environment |
-
2021
- 2021-11-24 CN CN202111403060.4A patent/CN114115025B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004118334A (ja) * | 2002-09-24 | 2004-04-15 | Hitachi Kokusai Electric Inc | 障害復旧方法 |
JP2005222366A (ja) * | 2004-02-06 | 2005-08-18 | Nippon Telegr & Teleph Corp <Ntt> | 自動復帰方法/プログラム/プログラム記録媒体、処理装置 |
CN101122869A (zh) * | 2007-09-20 | 2008-02-13 | 中兴通讯股份有限公司 | 一种用于多核多线程处理器的单线程复位方法 |
CN102043690A (zh) * | 2010-12-31 | 2011-05-04 | 上海华为技术有限公司 | 多核处理器故障处理方法及多核处理器 |
CN104657240A (zh) * | 2013-11-18 | 2015-05-27 | 华为技术有限公司 | 多内核操作系统的失效控制方法及装置 |
CN104750510A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种芯片启动方法及多核处理器芯片 |
KR20190085391A (ko) * | 2018-01-10 | 2019-07-18 | 성균관대학교산학협력단 | Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치 |
CN113568770A (zh) * | 2020-04-29 | 2021-10-29 | 阿里巴巴集团控股有限公司 | 实时操作系统的应急救援方法、电子设备及计算机存储介质 |
CN112395137A (zh) * | 2021-01-21 | 2021-02-23 | 北京太一星晨信息技术有限公司 | 一种linux内核异常的处理方法、设备及装置 |
CN113094111A (zh) * | 2021-04-16 | 2021-07-09 | 三星(中国)半导体有限公司 | 设备以及设备的启动方法 |
Non-Patent Citations (2)
Title |
---|
基于MPC860启动引导程序研究与设计;周宇;文建国;;计算机测量与控制;20070225(第02期);125-127 * |
基于网络的Linux内核崩溃转储机制;江卫;中国优秀硕士学位论文全文数据库 信息科技辑;正文第三章 * |
Also Published As
Publication number | Publication date |
---|---|
CN114115025A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955765B (zh) | 应用预加载方法及装置 | |
EP2945058B1 (en) | Processing method and device for application program | |
CN105338409B (zh) | 一种网络视频预加载方法及装置 | |
CN107291626B (zh) | 数据存储方法和装置 | |
CN104951335B (zh) | 应用程序安装包的处理方法及装置 | |
CN112214254A (zh) | 加速应用程序启动的方法及装置、以及电子设备 | |
CN116360979A (zh) | 内存分配方法、装置、电子设备及可读存储介质 | |
CN114115025B (zh) | 基于自动驾驶系统的故障信息的保存方法、装置和设备 | |
CN111221593A (zh) | 一种动态加载方法及装置 | |
CN111723353A (zh) | 基于人脸识别的身份认证方法、装置、终端及存储介质 | |
CN113778687A (zh) | 内存分配信息处理方法、装置、电子设备及存储介质 | |
CN113807540A (zh) | 一种数据处理方法及装置 | |
CN113467854A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN112083981A (zh) | 一种页面视图组件的创建方法和装置 | |
CN110795153A (zh) | 电子设备及其硬件配置方法和装置 | |
CN111414245B (zh) | 一种控制闪存读写速率的方法、装置及介质 | |
CN110413525B (zh) | 安全测试方法及装置 | |
CN110990073B (zh) | 一种验证应用程序的定制需求的方法及装置 | |
US11291004B2 (en) | Method and device for accessing 5G network, and non-transitory computer readable storage medium | |
CN111625251B (zh) | 一种处理应用实例的方法及装置 | |
CN111241097B (zh) | 处理对象的方法、处理对象的装置及存储介质 | |
CN107463414B (zh) | 应用安装方法及装置 | |
CN112256274A (zh) | 应用程序的处理方法、装置及存储介质 | |
CN117369881A (zh) | 启动控制方法、装置、电子设备、可读存储介质及芯片 | |
CN114546419A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |