本公开涉及计算机软件,具体涉及一种自动驾驶应用恢复方法、装置、设备、存储介质及车辆。
背景技术:
1、目前基于linux os系统中自动驾驶控制器业务的应用(app,application)在运行过程中出现异常后,都是通过系统启动器进行重新启动,而通过系统启动器启动应用会重新走初始化流程,导致自动驾驶的功能恢复时间变长,例如自动驾驶应用中的感知功能应用在重新启动时需要加载模型数据,初始化所需的时间长。
2、也就是说,在自动驾驶场景下,当自动驾驶应用出现异常则意味着本次自动驾驶循环要停止,如此对用户的用车体验不友好,即没有做到在应用出现异常时,快速地恢复应用正常运行。
技术实现思路
1、为了解决上述技术问题,本公开提供了一种自动驾驶应用恢复方法、装置、设备、存储介质及车辆。
2、第一方面,本公开提供了一种自动驾驶应用恢复方法,包括:
3、检测到应用程序启动;
4、获取所述应用程序正常运行状态下的运行数据,并对所述运行数据进行备份得到备份数据;
5、在监测到所述应用程序处于预设的异常运行状态时,基于所述备份数据恢复所述应用程序的运行状态。
6、可选的,所述获取所述应用程序正常运行状态下的运行数据,包括:
7、响应于所述应用程序触发检查点,确定所述应用程序在触发所述检查点时是否正常运行;
8、若是,则获取所述应用程序在触发所述检查点时对应的运行数据。
9、可选的,所述确定所述应用程序在触发所述检查点时是否正常运行,包括:
10、确定所述应用程序触发所述检查点之前,是否发送了异常信息;
11、若否,则确定所述应用程序在触发所述检查点时正常运行。
12、可选的,所述在监测到所述应用程序处于预设的异常运行状态时,基于所述备份数据恢复所述应用程序的运行状态,包括:
13、监测到所述应用程序发送异常信息,确定所述应用程序处于预设的异常运行状态;
14、创建子进程,并加载所述备份数据到所述子进程;
15、将所述应用程序对应的第一进程替换为所述子进程,恢复所述应用程序的运行状态;
16、其中,所述子进程进行替换操作后的进程号与所述第一进程的进程号相同。
17、可选的,所述将所述应用程序的进程替换为所述子进程之后,所述方法还包括:
18、返回所述子进程的进程号至桌面启动器。
19、可选的,所述方法还包括:
20、终止所述第一进程,回收所述第一进程所占用的资源。
21、第二方面,本公开提供了一种自动驾驶应用恢复装置,包括:
22、检测模块,用于检测应用程序启动;
23、备份模块,用于获取所述应用程序正常运行状态下的运行数据,并对所述运行数据进行备份得到备份数据;
24、恢复模块,用于在监测到所述应用程序处于预设的异常运行状态时,基于所述备份数据恢复所述应用程序的运行状态。
25、可选的,所述备份模块在获取所述应用程序正常运行状态下的运行数据时,具体用于响应于所述应用程序触发检查点,确定所述应用程序在触发所述检查点时是否正常运行;
26、若是,则获取所述应用程序在触发所述检查点时对应的运行数据。
27、可选的,所述备份模块在确定所述应用程序在触发所述检查点时是否正常运行时,具体用于确定所述应用程序触发所述检查点之前,是否发送了异常信息;
28、若否,则确定所述应用程序在触发所述检查点时正常运行。
29、可选的,所述恢复模块在监测到所述应用程序处于预设的异常运行状态时,基于所述备份数据恢复所述应用程序的运行状态时,具体用于监测到所述应用程序发送异常信息,确定所述应用程序处于预设的异常运行状态;创建子进程,并加载所述备份数据到所述子进程;将所述应用程序对应的第一进程替换为所述子进程,恢复所述应用程序的运行状态;其中,所述子进程进行替换操作后的进程号与所述第一进程的进程号相同。
30、可选的,所述恢复模块在将所述应用程序的进程替换为所述子进程之后,还用于返回所述子进程的进程号至桌面启动器。
31、可选的,所述恢复模块还用于终止所述第一进程,回收所述第一进程所占用的资源。
32、第三方面,本公开提供了一种电子设备,包括:
33、存储器;
34、处理器;以及
35、计算机程序;
36、其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
37、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
38、第五方面,本公开提供了一种车辆,包括如第二方面所述的自动驾驶应用恢复装置、第三方面所述的电子设备和第四方面所述的计算机可读存储介质中的至少一个。
39、本公开提供的自动驾驶应用恢复方法、装置、设备、存储介质及车辆,通过在检测到自动驾驶应用启动后,备份应用程序在正常运行状态下的运行数据得备份数据,然后在监测到应用程序处于异常运行状态时,利用备份数据将应用程序的运行状态恢复到备份数据对应的正常运行状态,从而使得自动驾驶应用在出现异常后恢复自身功能时,不必再走初始化流程重启应用程序,避免终止此次自动驾驶循环,让自动驾驶应用发生运行异常后快速恢复到发生异常前的正常运行状态,提高用户的使用体验。
1.一种自动驾驶应用恢复方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取所述应用程序正常运行状态下的运行数据,包括:
3.如权利要求2所述的方法,其特征在于,所述确定所述应用程序在触发所述检查点时是否正常运行,包括:
4.如权利要求3所述的方法,其特征在于,所述在监测到所述应用程序处于预设的异常运行状态时,基于所述备份数据恢复所述应用程序的运行状态,包括:
5.如权利要求4所述的方法,其特征在于,所述将所述应用程序的进程替换为所述子进程之后,所述方法还包括:
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
7.一种自动驾驶应用恢复装置,其特征在于,包括:
8.一种电子设备,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的方法。
10.一种车辆,其特征在于,包括如权利要求7所述的装置、权利要求8所述的电子设备和权利要求9所述的计算机可读存储介质中的至少一个。