CN116150771B - 一种冗余处理的装置、方法、系统及智能车辆 - Google Patents
一种冗余处理的装置、方法、系统及智能车辆 Download PDFInfo
- Publication number
- CN116150771B CN116150771B CN202310422801.6A CN202310422801A CN116150771B CN 116150771 B CN116150771 B CN 116150771B CN 202310422801 A CN202310422801 A CN 202310422801A CN 116150771 B CN116150771 B CN 116150771B
- Authority
- CN
- China
- Prior art keywords
- main process
- redundant
- processes
- security level
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种冗余处理的装置、方法、系统及智能车辆,通过该装置,在确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;为各个第一目标主进程创建对应的冗余进程,此处的冗余进程的安全等级大于等于所述安全等级阈值。也就是说,在主进程的安全等级需求较高的情况下,才会为该主进程创建一个对应的安全等级较高的冗余进程,从而避免创建过多的无用冗余进程。并且在保证智能驾驶计算平台功能性的情况下,减少了智能驾驶计算平台的处理负担以及资源浪费。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种冗余处理的装置、方法、系统及智能车辆。
背景技术
随着智能驾驶技术在车辆上的应用越来越广泛,因此智能驾驶的各种功能也越来越多,因此需要对智能驾驶计算平台的要求也越来越高,在智能驾驶计算平台上,智能驾驶的某一个功能通常是由多个进程协同来完成,对算力、性能要求较高的进程部署在系统芯片(英文:System On Chip,简称SOC) 内,对实时性要求较高的功能部署在微控制单元(Micro Controller Unit,MCU),而SOC内进程的生命周期通常是通过脚本来控制,也就是在开机启动时通过各个程序启动对应的脚本。
基于上述的描述,在车辆的智能驾驶技术中,各个功能的实现都是通过部署多个进程来协同完成,为了保证功能的正常运行,因此会在系统中创建并部署冗余进程,也就是为实现功能的主进程都创建一个冗余进程,从而在主进程出现异常的情况下,则有冗余进程来替换主进程完成任务。但是该方式会创建较多的冗余进程,造成智能驾驶计算平台的处理负担以及资源浪费。
发明内容
本发申请提供了一种冗余处理的装置、方法、系统及智能车辆,用以避免智能驾驶平台在功能运行过程中创建过多的无用冗余进程。
第一方面,本申请提供了一种冗余处理的装置,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,所述冗余进程的安全等级大于等于所述安全等级阈值。
基于上述的方法,在主进程的安全等级需求较高的情况下,才会为该主进程创建一个对应的安全等级较高的冗余进程,从而避免创建过多的无用冗余进程。并且在保证智能驾驶计算平台功能性的情况下,减少了智能驾驶计算平台的处理负担以及资源浪费。
在一种可选的实施例中,所述处理器具体被配置为执行:
启动第一目标主进程对应的冗余进程,并获取所述第一目标主进程对待处理数据的第一处理结果,以及所述冗余进程对待处理数据的第二处理结果;
判定所述第一处理结果与所述第二处理结果的差异值是否在容差范围内;
若是,则确定所述第一目标主进程运行正常;
若否,则确定所述第一目标主进程运行异常。
在一种可选的实施例中,所述处理器具体被配置为执行:
在接收到从当前功能切换到目标功能的切换指令时,确定所述当前功能对应的第一进程组以及所述目标功能对应的第二进程组,其中,所述第一进程组包含至少一个主进程,所述第二进程组包含至少一个主进程以及至少一个冗余进程;
关闭所述第一进程组中的主进程,以及开启所述第二进程组中的主进程以及冗余进程。
在一种可选的实施例中,所述处理器具体被配置为执行:
确定所述第一进程组与所述第二进程组中是否存在相同主进程;
维持所有相同主进程的启动状态,关闭所述第一进程组中第一非相同主进程,并启动所述第二进程组中的第二非相同主进程,其中,所述第一非相同主进程为所述第一进程组中除所述相同主进程之外的所有进程,所述第二非相同主进程为所述第二进程组中除所述相同主进程之外的所有进程。
在一种可选的实施例中,所述处理器具体被配置为执行:
在所述第二进程组的所有主进程中确定出存在依赖进程的各个第二目标主进程;
先启动每个第二目标主进程对应的所有依赖进程,再启动所述第二进程组中的所有第二目标主进程。
第二方面,本申请提供了一种冗余处理的方法,所述方法包括:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,所述冗余进程的安全等级大于等于所述安全等级阈值。
在一种可选的实施例中,在为各个第一目标主进程创建对应的冗余进程之后,还包括:
启动第一目标主进程对应的冗余进程,并获取所述第一目标主进程对待处理数据的第一处理结果,以及所述冗余进程对待处理数据的第二处理结果;
判定所述第一处理结果与所述第二处理结果的差异值是否在容差范围内;
若是,则确定所述第一目标主进程运行正常;
若否,则确定所述第一目标主进程运行异常。
第三方面,本申请提供了一种智能车辆,所述智能车辆包括上述的冗余处理的装置。
第四方面,本申请提供了一种冗余处理的系统,至少包括控制器;所述控制器具体被配置为执行上述的冗余处理的方法。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述的冗余处理的方法。
附图说明
图1为本申请提供的一种冗余处理的装置的结构示意图;
图2为本申请提供的执行管理模块与进程之间的关系示意图;
图3为本申请提供的一种冗余处理的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
当前,在车辆的智能驾驶技术中,各个功能的实现都是通过部署多个进程来协同完成,比如说智能驾驶车辆中会配置自适应巡航控制(Adaptive Cruise Control,简称:ACC)、车道保持辅助(Lane Keeping Assist,简称:LKA)、车道偏离预警(Lane DepartureWarning,简称:LDW)等功能,上述功能中的每个功能都是通过多个进程分别对传感器采集到的数据进行处理以及运算实现。因此在启动某一个功能时,相应的会启动实现该功能的所有进程。
为了保证功能的正常运行,因此会在系统中创建并部署冗余进程,也就是为实现功能的主进程都创建一个冗余进程,从而在主进程出现异常的情况下,则有冗余进程来替换主进程完成任务。但是该方式会创建较多的冗余进程,造成智能驾驶计算平台的处理负担以及资源浪费。
为了解决上述问题,本申请实施例中提供了一种创建冗余进程的装置,通过该装置,在确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;为各个第一目标主进程创建对应的冗余进程,此处的冗余进程的安全等级大于等于所述安全等级阈值。也就是说,在主进程的安全等级需求较高的情况下,才会为该主进程创建一个对应的安全等级较高的冗余进程,从而避免创建过多的无用冗余进程。并且在保证智能驾驶计算平台功能性的情况下,减少了智能驾驶计算平台的处理负担以及资源浪费。
参照图1所示为本申请实施例中提供的一种创建冗余进程的装置,该装置包括:处理器10和存储器11,存储器11用于存储处理器10可执行的程序,处理器10用于读取存储器11中的程序并执行如下步骤:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,冗余进程的安全等级大于等于所述安全等级阈值。
首先来讲,在本申请实施例中,在存储器11中存储了本申请所提供方法的相应程序,处理器10能够执行存储器11中存储的相应程序以实现本申请所提供的执行管理模块的相应功能,参照图2所示,该执行管理模块具有两部分功能,一部分是对进程进行生命周期管理,另一部分是以软件开发工具包(Software Development Kit,SDK)形式被进程调用。
具体来讲,在功能被启动时,该功能相应的进程也会被启动,而该进程需要调用SDK来加载指定路径下按照配置文件规则来启动的可执行文件,在本申请实施例中该执行管理模块就可以作为SDK来被进程调用,从而完成进程的启动。
在进程启动完成之后,执行管理模块将对进程的启动或者是停止进行控制,也会及时更新以及存储进程的运行状态。
进一步,冗余进程启动之后,冗余进程将向执行管理模块上报自身的运行状态,比如:register(注册)、init(初始化)、running(运行)、terminate(中止)、off(关闭)等运行状态,执行管理模块将记录冗余进程的运行状态。
基于执行管理模块的上述功能,在确定某一功能待开启时,首先确定该待开启功能对应的各个主进程,然后进一步的确定各个主进程分别对应的安全等级。这里需要说明是,智能驾驶技术中的各个功能都会涉及到功能安全等级要求,一般来讲,汽车安全完整性等级(英文全称:Automotive Safety Integrity Level,简称:ASIL)会根据损害的可能性和可接受性确定安全要求,可以将功能安全划分为ASIL-A、ASIL-B、ASIL-C、ASIL-D四个等级, ASIL-A代表最低级别,而ASIL-D代表最高的汽车危害等级,这四个等级表征了不同的功能安全要求。
比如说,安全气囊,防抱死制动和动力转向等系统需要ASIL-D等级,因为与故障相关的风险最高。在安全范围的另一端,诸如尾灯之类的组件仅需要ASIL-A等级。前大灯和刹车灯通常为ASIL-B等级,而巡航控制系统通常为ASIL-C等级。
在某一个功能的功能安全要求也表征了实现该功能的进程的功能安全要求,因此,在确定待开启功能对应的各个主进程时,会进一步的确定各个主进程分别对应的安全等级。在本申请实施例中将通过主进程所处理数据的重要性来确定主进程的安全等级。
具体来讲,各个主进程的安全等级会因为在功能中的任务重要性不同而不同,比如,主进程是完成传感器数据处理,则该主进程的安全等级要求较高,若是主进程仅仅完成数据传输,则该主进程的安全等级要求较低。因此各个主进程的安全等级不同。
在确定各个主进程的安全等级之后,在各个主进程中确定出安全等级高于设定安全等级的至少个主进程,并作为第一目标主进程,比如说,进程划分为A、B、C、D四个安全等级,等级C为设定安全等级,因此将安全等级高于等级C的所有主进程筛选出来作为第一目标主进程。
在确定出各个第一目标主进程之后,执行管理模块为各个第一目标主进程创建对应的冗余进程。此处创建的冗余进程的安全等级是大于设定安全等级。比如说,主进程的安全等级是C,该主进程对应的冗余进程安全等级为D。
通过上述方法,在功能运行之前,会根据功能中各个主进程的安全等级,为安全等级较高的进程创建对应的冗余进程,并且该冗余进程的安全等级不会低于主进程的安全等级,这样避免创建过多的无用冗余进程。并且在保证智能驾驶计算平台功能性的情况下,减少了智能驾驶计算平台的处理负担以及资源浪费。
进一步,在本申请实施例中,在启动第一目标主进程之后,将对应的启动第一目标主进程的冗余进程,然后获取第一目标主进程对待处理数据的第一处理结果,以及获取冗余进程对待处理数据的第二处理结果。判定第一处理结果与第二处理结果的差异值是否在容差范围内。比如说,针对同一输入数据M,通过第一目标主进程a对该输入数据M进行处理得到输出结果H1,并且通过第一目标主进程的冗余进程a1对输入数据M进行处理得到输出结果H2,计算H1与H2之间的差异值K,此处的差异值K可以是两个输出结果之间通过做差计算得到,最后判定差异值K是否落在容差范围[s1,s2]中。
若是在容差范围内,则说明第一目标主进程运行正常;若是未在容差范围内,则说明第一目标主进程运行异常。
也就是说,在本申请实施例中,该冗余进程可以作为的主进程的参照进程,通过冗余进程可以确定主进程的业务是否存在异常,从而使得主进程的业务能够被实时监测。进而保证了功能运行的稳定性以及安全性。
进一步,在本申请实施例中,在对主进程创建了冗余进程之后,若是接收到打从当前功能切换到目标功能的切换指令时,确定当前功能对应的第一进程组以及目标功能对应的第二进程组。此处的第一进程组以及第二进程组中至少包含了主进程,当然,若是主进程存在冗余进程,则第一进程组以及第二进程组也包含冗余进程。
在从当前功能切换至目标功能时,关闭第一进程组中的主进程以及冗余进程,以及开启第二进程组中的主进程以及冗余进程。
比如说,车辆接收到指令从当前LDW功能切换至目标ACC功能时,确定LDW对应的进程组1,进一步确定该进程组1中包含的主进程a、b、c、d,以及主进程a的冗余进程a1,主进程d的冗余进程d1。确定ACC对应的进程组2,并进一步的确定进程组2中包含的主进程j、k、m、n、p、q,以及主进程j的冗余进程j1,主进程k的冗余进程k1,主进程m的冗余进程m1。
在从LDW切换至ACC时,将关闭主进程a、b、c、d以及主进程a的冗余进程a1,主进程d的冗余进程d1,并且开启主进程j、k、m、n、p、q,以及主进程j的冗余进程j1,主进程k的冗余进程k1,主进程m的冗余进程m1。通过不同进程的关闭以及开启,实现了不同功能的切换。
通过上述方法,在功能切换时,直接通过开启以及关闭进程组来完成切换,从而确保功能切换的稳定性。
在一种可选的实施例中,在从当前功能切换到目标功能之前,将确定第一进程组与第二进程组中是否存在相同主进程,若是不存在相同主进程,则直接关闭第一进程组中的所有主进程以及冗余进程,并开启第二进程组中的所有主进程以及冗余进程;若是存在相同主进程,则维持所有相同主进程的启动状态,并关闭第一进程组中的第一非相同主进程,并开启第二进程组中的第二非相同主进程。第一非相同主进程为第一进程组中除相同主进程之外的所有进程,第二非相同主进程为第二进程组中除相同主进程之外的所有进程。
比如说,车辆接收到指令从当前LKA功能切换至目标ACC功能时,确定LKA对应的进程组3,进一步确定该进程组3中包含的主进程j、k、c、d,以及主进程j的冗余进程j1,主进程k的冗余进程k1。确定ACC对应的进程组2,并进一步的确定进程组2中包含的主进程j、k、m、n、p、q,以及主进程j的冗余进程j1,主进程k的冗余进程k1,主进程m的冗余进程m1。
由于进程组3与进程组2中包含了相同主进程j以及主进程k,因此从LDW切换至ACC时,将维持主进程j、主进程k、主进程j的冗余进程j1、主进程k的冗余进程k1的开启状态,并且关闭进程组3中的主进程c、d,开启进程组2中的主进程m、n、p、q,以及主进程m的冗余进程m1。通过该方式,可以避免重复开启以及关闭两个进程组中的同一进程,从而减少了功能切换时间以及提升功能切换效率。
进一步,在本申请实施例中,在从当前功能切换到目标功能之前,将在第二进程组的所有主进程中确定出存在依赖进程的各个第二目标主进程,比如说:主进程a的启动需要依赖主进程g,此时若需要启动主进程a,则需要首先启动主进程g。
在确定出第二目标主进程之后,先启动每个第二目标主进程对应的所有依赖进程,再启动第二进程组中的所有第二目标主进程。这样就可以保证功能切换过程中各个主进程的正常启动。比如说,主进程a存在依赖进程g,主进程b存在依赖进程h,主进程c存在依赖进程k,因此,在启动主进程a、b、c之前,需要先启动进程g、进程h以及进程k,然后再启动主进程a、b、c。
这里需要说明是,若是主进程存在多个依赖进程,则需要将多个依赖进程优先启动,比如说,主进程a存在依赖进程g、依赖进程i、依赖进程q,则优先启动进程g、i、q。若是主进程存在多层依赖进程,则需要将多层依赖进程依次启动之后,再启动主进程,比如说,主进程a存在依赖进程g、依赖进程g存在依赖进程q,则优先启动进程q,再启动进程g,最后启动主进程a,通过该方式可以保证主进程的正常启动。
进一步,在本申请实施例中,在对第二进程组中的所有进程启动过程中,将实时的监测第二进程组中的进程是否存在启动异常,若是存在启动异常的进程,则重启该启动异常的进程,并判定该启动异常的进程是否重启成功,若是重启成功,则继续启动其他进程;若是重启未成功,则输出进程执行错误的提示信息。通过该方法可以及时提醒启动异常的进程,从而及时对启动异常的进程进行调整。
在一种可选的实施例中,在功能运行过程中会存在功能状态的迁移,比如说ACC功能,在车辆使用ACC功能时,该ACC功能将处于Running状态,若是ACC功能被调整为待机状态时,该ACC功能将从Running状态迁移到Standby状态,当然,若是ACC功能被关闭,则ACC功能将从Running状态迁移到OFF状态。
由于功能是通过进程组来协同实现,某一个功能内的状态迁移也需要通过进程的状态迁移来完成,因此在本申请实施例中,在功能内的状态迁移首先需要将功能对应的进程组中的每个进程进行状态迁移,也就是将每个进程的状态从当前状态迁移到目标状态,从而实现功能内的状态迁移,比如说,实现ACC功能的进程组包括主进程a、主进程b、主进程c,主进程a对应的冗余进程a1,主进程b对应的冗余进程b1,若是ACC功能从Running状态迁移到OFF状态,此时就相应的将主进程a、主进程b、主进程c从Running状态切换到OFF状态,冗余进程a1、冗余进程b1从Running状态切换到OFF状态。从而通过进程的状态迁移实现功能内的状态迁移。
基于相同的发明构思,本发明实施例还提供了一种冗余处理的方法,该方法解决问题的原理与上述任一的冗余处理的装置相似,因此该方法的实施可参见装置的实施,重复之处不再赘述。
参照图3所示,该域分配方法的具有实施流程包括:
S31,确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
S32,从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
S33,为各个第一目标主进程创建对应的冗余进程。
在某一个功能的功能安全要求也表征了实现该功能的进程的功能安全要求,因此,在确定待开启功能对应的各个主进程时,会进一步的确定各个主进程分别对应的安全等级。在本申请实施例中将通过主进程所处理数据的重要性来确定主进程的安全等级。
具体来讲,各个主进程的安全等级会因为在功能中的任务重要性不同而不同,比如,主进程是完成传感器数据处理,则该主进程的安全等级要求较高,若是主进程仅仅完成数据传输,则该主进程的安全等级要求较低。因此各个主进程的安全等级不同。
在确定各个主进程的安全等级之后,在各个主进程中确定出安全等级高于设定安全等级的至少个主进程,并作为第一目标主进程,比如说,进程划分为A、B、C、D四个安全等级,等级C为设定等级,因此将安全等级高于等级C的所有主进程筛选出来作为第一目标主进程。
在确定出各个第一目标主进程之后,执行管理模块为各个第一目标主进程创建对应的冗余进程。此处创建的冗余进程的安全等级是大于设定安全等级。比如说,主进程的安全等级是C,该主进程对应的冗余进程安全等级为D。
通过上述方法,在功能运行之前,会根据功能中各个主进程的安全等级,为安全等级较高的进程创建对应的冗余进程,并且该冗余进程的安全等级不会低于主进程的安全等级,这样避免创建过多的无用冗余进程。并且在保证智能驾驶计算平台功能性的情况下,减少了智能驾驶计算平台的处理负担以及资源浪费。
在一种可选的实施例中,在创建第一目标主进程对应的冗余进程时,首先需要启动第一目标主进程对应的冗余进程,并获取第一目标主进程对待处理数据的第一处理结果,以及冗余进程对待处理数据的第二处理结果;判定第一处理结果与第二处理结果的差异值是否在容差范围内;若是,则确定所述第一目标主进程运行正常;若否,则确定所述第一目标主进程运行异常。该方式的具体实现方式在上述的装置实施例中已经详细描述,此处不再赘述。
在一种可选的实施例中,在创建第一目标主进程对应的冗余进程之后,若是接收到从当前功能切换到目标功能的切换指令,确定当前功能对应的第一进程组以及目标功能对应的第二进程组,其中,所述第一进程组包含至少一个主进程,所述第二进程组包含至少一个主进程以及至少一个冗余进程;
关闭第一进程组中的主进程,以及开启第二进程组中的主进程以及冗余进程。
该方式的具体实现方式在上述的装置实施例中已经详细描述,此处不再赘述。在一种可选的实施例中,在从当前功能切换至目标功能的过程中,确定第一进程组与第二进程组中是否存在相同主进程;维持所有相同主进程的启动状态,关闭第一进程组中第一非相同主进程,并启动第二进程组中的第二非相同主进程,其中,所述第一非相同主进程为所述第一进程组中除所述相同主进程之外的所有进程,所述第二非相同主进程为所述第二进程组中除所述相同主进程之外的所有进程。
该方式的具体实现方式在上述的装置实施例中已经详细描述,此处不再赘述。
在一种可选的实施例中,在从当前功能切换至目标功能的过程中,在第二进程组的所有主进程中确定出存在依赖进程的各个第二目标主进程;先启动每个第二目标主进程对应的所有依赖进程,再启动第二进程组中的所有第二目标主进程。
该方式的具体实现方式在上述的装置实施例中已经详细描述,此处不再赘述。
在一种可选的实施例中,在从当前功能切换至目标功能的过程中,在监测到第二进程组中的进程启动异常时,则重启启动异常的进程,并判定启动异常的进程是否重启成功;若是,则继续启动其他进程;若不存在,则输出进程执行错误的提示信息。
基于相同的发明构思,本发明实施例还提供了一种冗余处理的系统,该系统解决问题的原理与上述任一的冗余处理的方法相似,因此该系统的实施可参见方法的实施,重复之处不再赘述。
本申请实施例中所提供的系统至少包括控制器;所述控制器具体被配置为执行如下步骤:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,所述冗余进程的安全等级大于所述设定安全等级。
在一种可选的实施例中,所述控制器具体被配置为执行:
启动第一目标主进程对应的冗余进程,并获取所述第一目标主进程对待处理数据的第一处理结果,以及所述冗余进程对待处理数据的第二处理结果;
判定所述第一处理结果与所述第二处理结果的差异值是否在容差范围内;
若是,则确定所述第一目标主进程运行正常;
若否,则确定所述第一目标主进程运行异常。
在一种可选的实施例中,所述控制器具体被配置为执行:
在接收到从当前功能切换到目标功能的切换指令时,确定所述当前功能对应的第一进程组以及所述目标功能对应的第二进程组,其中,所述第一进程组包含至少一个主进程,所述第二进程组中包含至少一个主进程以及至少一个冗余进程;
关闭所述第一进程组中的主进程,以及开启所述第二进程组中的主进程以及冗余进程。
在一种可选的实施例中,所述控制器具体被配置为执行:
确定所述第一进程组与所述第二进程组中是否存在相同主进程;
维持所有相同主进程的启动状态,关闭所述第一进程组中第一非相同主进程,并启动所述第二进程组中的第二非相同主进程,其中,所述第一非相同主进程为所述第一进程组中除所述相同主进程之外的所有进程,所述第二非相同主进程为所述第二进程组中除所述相同主进程之外的所有进程。
在一种可选的实施例中,所述控制器具体被配置为执行:
在所述第二进程组的所有主进程中确定出存在依赖进程的各个第二目标主进程;
先启动每个第二目标主进程对应的所有依赖进程,再启动所述第二进程组中的所有第二目标主进程。
基于同一发明构思,本公开实施例提供一种计算机存储介质,计算机存储介质包括:计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如前文论述任一的一种冗余处理的方法。由于上述计算机存储介质解决问题的原理与一种冗余处理的方法相似,因此上述计算机存储介质的实施可以参见方法的实施,重复之处不再赘述。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
基于同一发明构思,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如前文论述任一的一种冗余处理的方法。由于上述计算机程序产品解决问题的原理与一种冗余处理的方法相似,因此上述计算机程序产品的实施可以参见方法的实施,重复之处不再赘述。
计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。
所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种冗余处理的装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,所述冗余进程的安全等级大于所述设定安全等级。
2.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
启动第一目标主进程对应的冗余进程,并获取所述第一目标主进程对待处理数据的第一处理结果,以及所述冗余进程对待处理数据的第二处理结果;
判定所述第一处理结果与所述第二处理结果的差异值是否在容差范围内;
若是,则确定所述第一目标主进程运行正常;
若否,则确定所述第一目标主进程运行异常。
3.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
在接收到从当前功能切换到目标功能的切换指令时,确定所述当前功能对应的第一进程组以及所述目标功能对应的第二进程组,其中,所述第一进程组包含至少一个主进程,所述第二进程组包含至少一个主进程以及至少一个冗余进程;
关闭所述第一进程组中的主进程,以及开启所述第二进程组中的主进程以及冗余进程。
4.如权利要求3所述的装置,其特征在于,所述处理器具体被配置为执行:
确定所述第一进程组与所述第二进程组中是否存在相同主进程;
维持所有相同主进程的启动状态,关闭所述第一进程组中第一非相同主进程,并启动所述第二进程组中的第二非相同主进程,其中,所述第一非相同主进程为所述第一进程组中除所述相同主进程之外的所有进程,所述第二非相同主进程为所述第二进程组中除所述相同主进程之外的所有进程。
5.如权利要求3所述的装置,其特征在于,所述处理器具体被配置为执行:
在所述第二进程组的所有主进程中确定出存在依赖进程的各个第二目标主进程;
先启动每个第二目标主进程对应的所有依赖进程,再启动所述第二进程组中的所有第二目标主进程。
6.一种冗余处理的方法,其特征在于,所述方法包括:
确定待开启功能对应的各个主进程,并确定各个主进程分别对应的安全等级;
从各个主进程中确定出安全等级高于设定安全等级的至少一个主进程,并作为第一目标主进程;
为各个第一目标主进程创建对应的冗余进程,其中,所述冗余进程的安全等级大于等于安全等级阈值。
7.如权利要求6所述的方法,其特征在于,在为各个第一目标主进程创建对应的冗余进程之后,所述方法还包括:
启动第一目标主进程对应的冗余进程,并获取所述第一目标主进程对待处理数据的第一处理结果,以及所述冗余进程对待处理数据的第二处理结果;
判定所述第一处理结果与所述第二处理结果的差异值是否在容差范围内;
若是,则确定所述第一目标主进程运行正常;
若否,则确定所述第一目标主进程运行异常。
8.一种智能车辆,其特征在于,所述智能车辆包括如权利要求1-5中任一项所述的装置。
9.一种冗余处理的系统,其特征在于,至少包括控制器;所述控制器具体被配置为执行如权利要求6-7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求6-7中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310422801.6A CN116150771B (zh) | 2023-04-19 | 2023-04-19 | 一种冗余处理的装置、方法、系统及智能车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310422801.6A CN116150771B (zh) | 2023-04-19 | 2023-04-19 | 一种冗余处理的装置、方法、系统及智能车辆 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116150771A CN116150771A (zh) | 2023-05-23 |
CN116150771B true CN116150771B (zh) | 2023-07-04 |
Family
ID=86373990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310422801.6A Active CN116150771B (zh) | 2023-04-19 | 2023-04-19 | 一种冗余处理的装置、方法、系统及智能车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150771B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279019B (zh) * | 2014-06-10 | 2018-11-23 | 中国移动通信集团公司 | 一种应用程序的调度方法、装置和终端设备 |
CN107479954B (zh) * | 2017-07-31 | 2019-10-29 | Oppo广东移动通信有限公司 | 进程管理方法、装置、存储介质及电子设备 |
CN112373477B (zh) * | 2020-11-23 | 2023-03-28 | 重庆长安汽车股份有限公司 | 自动驾驶系统的冗余控制方法、自动驾驶系统、汽车、控制器及计算机可读存储介质 |
CN115599610A (zh) * | 2022-10-31 | 2023-01-13 | 阿维塔科技(重庆)有限公司(Cn) | 一种进程守护方法及电子设备 |
-
2023
- 2023-04-19 CN CN202310422801.6A patent/CN116150771B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN116150771A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106990982B (zh) | 程序更新方法及装置 | |
CN112416006B (zh) | 基于Sharing-X的驾驶模式切换方法及系统 | |
CN106529301B (zh) | 车机系统的控制方法、装置以及车机系统 | |
CN108638866B (zh) | 电动汽车上下电控制方法、装置及系统 | |
CN111055851B (zh) | 一种自动驾驶的监控报警系统、客户端、服务器 | |
KR20200068598A (ko) | 적어도 부분 자율 자동차용 제어 시스템의 구성 | |
CN115842730A (zh) | 车辆安全ota的升级方法及装置 | |
CN114906117A (zh) | 车辆的制动踏板状态的确定方法、装置、设备及介质 | |
CN116150771B (zh) | 一种冗余处理的装置、方法、系统及智能车辆 | |
CN114442587A (zh) | 发动机异常断电监控方法、系统及存储介质 | |
KR102109125B1 (ko) | Autosar 기반 차량 ecu 상태 관리 방법 | |
CN110794802A (zh) | 一种故障诊断处理方法及装置 | |
CN115923844A (zh) | 车辆驾驶模式控制方法、装置、电子设备和存储介质 | |
CN113342574A (zh) | 数据处理方法、装置和电子设备 | |
CN115220963A (zh) | 车辆的ota升级异常恢复方法、装置、车辆及存储介质 | |
CN112124377B (zh) | 控制模式确定方法、智能车载控制器及可读存储介质 | |
KR102349107B1 (ko) | 오토사 플랫폼에서 러너블 실행을 관리하는 방법 | |
CN115129340A (zh) | 一种整车程序的升级方法、装置、设备及存储介质 | |
CN111591302A (zh) | 车辆控制方法及装置 | |
CN112732301A (zh) | 一种车辆升级方法和装置 | |
JP2022013187A (ja) | 車両制御装置 | |
Frese et al. | Functional Safety Processes and Advanced Driver Assistance Systems: Evolution or Revolution? | |
CN111404715B (zh) | 一种网络服务实例化方法、装置、电子设备及存储介质 | |
CN111007741B (zh) | 智能控制方法和控制系统、车辆 | |
CN113805910B (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 |