CN115794550A - 进程管理方法、装置、交通工具以及存储介质 - Google Patents
进程管理方法、装置、交通工具以及存储介质 Download PDFInfo
- Publication number
- CN115794550A CN115794550A CN202211477805.6A CN202211477805A CN115794550A CN 115794550 A CN115794550 A CN 115794550A CN 202211477805 A CN202211477805 A CN 202211477805A CN 115794550 A CN115794550 A CN 115794550A
- Authority
- CN
- China
- Prior art keywords
- condition
- preset period
- preset
- heartbeat packets
- packets received
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 484
- 238000007726 management method Methods 0.000 title abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 50
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000001419 dependent effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000013439 planning Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Abstract
本申请公开了一种进程管理方法、装置、交通工具以及存储介质。该方法包括:获取针对第一进程的监控指令,第一进程每隔第一预定周期执行状态检测流程;基于监控指令,接收第一进程在执行每轮状态检测流程中所确定出满足预定条件的情况下发送的心跳包,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定;获取在第二预定周期内接收到的心跳包的数量,第一预定周期小于第二预定周期;基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态。本申请实施例提供的技术方案,可以实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
Description
技术领域
本申请涉及应用程序技术领域,尤其涉及一种进程管理方法、装置、交通工具以及存储介质。
背景技术
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
相关技术中,为了确保应用进程能够顺利执行,需要对应用进程的执行状态进行监控。具体地,执行进程启动应用消息后,会向监控进程发送监控指令,之后监控指令基于该监控指令从系统状态中查询应用进程的执行状态,以实现对应用进程的监控。
相关技术提供的针对应用进程的监控方案,由于系统状态相较于应用进程的实时运行状态存在滞后性,因此上述监控方案准确率较低。
发明内容
本申请提出了一种进程管理方法、装置、交通工具以及存储介质。
第一方面,本申请实施例提供一种进程管理方法,该方法包括:获取针对第一进程的监控指令,第一进程每隔第一预定周期执行状态检测流程;基于监控指令,接收第一进程在执行状态检测流程中所确定出满足预定条件的情况下发送的心跳包,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定;获取在第二预定周期内接收到的心跳包的数量,第一预定周期小于第二预定周期;基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态。
第二方面,本申请实施例提供一种进程管理方法,该方法包括:运行第一进程;每隔第一预定周期,检测是否满足预定条件,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定;在确定满足预定条件的情况下,向第二进程发送心跳包,第二进程用于获取在第二预定周期内接收到的心跳包的数量,基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态,第一预定周期小于第二预定周期。
第三方面,本申请实施例提供一种进程管理装置,该装置包括:指令获取模块,用于获取针对第一进程的监控指令,第一进程每隔第一预定周期执行状态检测流程;心跳包接收模块,用于基于监控指令,接收第一进程在执行状态检测流程中所确定出满足预定条件的情况下发送的心跳包,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定;数量获取模块,用于获取在第二预定周期内接收到的心跳包的数量,第一预定周期小于第二预定周期;进程管理模块,用于基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态。
第四方面,本申请实施例提供一种进程管理装置,该装置包括:进程运行模块,用于运行第一进程;条件检测模块,用于每隔第一预定周期,检测是否满足预定条件,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定;心跳包发送模块,用于在确定满足预定条件的情况下,向第二进程发送心跳包,第二进程用于获取在第二预定周期内接收到的心跳包的数量,基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态,第一预定周期小于第二预定周期。
第五方面,本申请实施例提供一种交通工具,包括:一个或多个处理器;存储器;一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如第一方面或第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机程序指令,计算机程序指令可被处理器调用执行如第一方面或第二方面的方法。
相较于现有技术,本申请实施例提供的进程管理方法,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的实施环境的示意图。
图2是本申请一个实施例提供的一种进程管理方法的流程图。
图3是本申请另一个实施例提供的一种进程管理方法的流程图。
图4是本申请另一个实施例提供的一种进程管理方法的流程图。
图5是本申请一个实施例提供的一种进程管理装置的结构框图。
图6是本申请一个实施例提供的一种进程管理装置的结构框图。
图7是本申请一个实施例提供的一种交通工具的结构框图。
图8是本申请一个实施例提供的计算机存储介质的结构框图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本申请,而不能理解为对本申请的限制。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术提供的针对应用进程的监控方案,准确率通常较为低下。然而在自动驾驶领域或者辅助驾驶领域下,应用进程的执行状态与行驶安全息息相关,对应用进程的执行状态的准确监控是保证行驶安全的重要前提。
基于上述问题,本申请实施例提供一种进程管理方案,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
请参考图1,其示出本申请一个实施例提供的实施环境的示意图。该实施环境包括交通工具100。交通工具100可以是电动汽车、燃油汽车、混动汽车,还可以是飞行汽车等等。
交通工具100上通常搭载有车载终端、至少一个传感器等等。至少一个传感器可以采集交通工具100的各种行驶参数,比如速度传感器采集速度参数,温度传感器采集温度参数。车载终端可以基于上述至少一个传感器采集的行驶参数,面向用户提供自动驾驶服务或者辅助驾驶服务。在本申请实施例中,车载终端包括第一进程、第二进程和第三进程。
第一进程为应用进程,用于处理交通工具100的各项业务,包括且不限于:状态获取、数据采集、数据处理、数据分类、数据存储等等。在本申请实施例中,第一进程每隔第一预定周期检测自身是否满足预定条件,在检测出满足预定条件后向第二进程发送心跳包,以使得第二进程能够对第一进程进行实时监控。上述预定条件根据第一进程的业务需求实际设定,比如,在第一进程要处理的业务是对依赖进程发送的数据进行分类存储的情况下,预定条件可以是检测依赖进程是否及时向第一进程发送数据,还可以是依赖进程发送的数据是否准确等等,还可以是检测第一进程中用于指示处理状态的状态位是否为预设取值等等。
第二进程为监控进程,用于对第一进程的工作状态进行监控。在本申请实施例中,第二进程接收第一进程每隔第一预定周期,且确定出满足预定条件的情况下发送的心跳包,并根据在第二预定周期内接收到的心跳包数量来检测第一进程是否处于正常工作状态。通过上述方式,可以及时检测出第一进程是否发生异常,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。第三进程为执行进程,用于启动或终止第一进程,还用于通知第二进程开启或停止对第二进程的监控。
在本申请实施例中,第一进程可以分别与第二进程、第三进程进行进程间通信。第二进程和第三进程之间也可以进行进程间通信。上述进程间通信的方式包括且不限于:管道、消息队列、共享内存等等。
请参考图2,其示出本申请一个实施例提供的应用管理方法的流程图,该方法可以应用于图1实施例中的第二进程。该方法包括如下过程。
S201,获取针对第一进程的监控指令。
监控指令用于指示第二进程监控第一进程的运行过程中是否发生异常。监控指令包括第一进程的进程标识和第一进程发送心跳包的第一预定周期。
第一进程的进程标识用于唯一标识第一进程,其可以是进程ID、进程号等。
第一预定周期可以根据以下至少一项确定:第一进程的实际业务需求、第二进程待监控的第一进程的总数量、第二进程待监控的其他第一进程对应的第一预定周期、第一进程的实时性要求。
比如,第一进程待处理的业务是每隔10秒查询并上报目标进程的状态,则可以将第一预定周期设置为12秒,以使得在第一进程在每次发送心跳包前可以检测自身是否处理完成自己的业务。再比如,监控进程待监控的第一进程数量与第一预定周期呈正相关关系,也即第二进程所需监控的第一进程数量较多的情况下,可以设置第一预定周期较长,并设置不同第一进程分别对应的第一预定周期不相同,以避免第二进程堵塞。再比如,第一进程的实时性要求和第一预定周期呈负相关关系,也即第一进程的实时性要求较高的情况下,可以设置第一预定周期较短,以实现对第一进程的及时监控。
在本申请实施例中,第二进程接收第三进程发送的针对第一进程的监控指令。具体地,第三进程向第一进程发送启动指令,第一进程根据该启动指令成功启动后,向第三进程发送成功启动消息,之后,第三进程向第二进程发送监控指令。在该情况下,监控指令还可以携带第三进程的进程标识。
在一些实施例中,第三进程启动第一进程后,在确定出第一进程为第一指定进程的情况下,向第二进程发送针对第一进程的监控指令。第一指定进程是指与交通工具的行驶安全性关联的进程,第一指定进程可以由技术人员自定义设定,也可以由第三进程默认设定,比如第三进程将与交通工具的行驶参数关联的进程确定为第一指定进程,上述行驶参数包括且不限于:车速、轮速、转向角、制动参数、驱动参数、加速度等等。
在另一些实施例中,第三进程启动第一进程后,在确定出第一进程为第二指定进程的情况下,向第二进程发送针对第一进程的监控指令。第二指定进程是指与用户针对交通工具的操作信号关联的进程,第二指定进程可以由技术人员自定义设定,也可以由第三进程默认设定,比如将与交通工具的仪表盘上的操作控件关联的进程确定为第二指定进程。通过上述方式,可以实现对与用户操作关联的进程的及时监控,避免上述与用户操作关联的进程响应不及时的情况发生,提高用户体验。
在本申请实施例中,第一进程每隔第一预定周期执行状态检测流程。也即,第一进程每隔第一预定周期检测自身是否满足预定条件,以检测自身是否处于正常工作状态。若满足预定条件,则确定自身处于正常工作状态;若不满足预定条件,则确定自身处于异常工作状态S202,基于监控指令,接收第一进程在执行状态检测流程中所确定出满足预定条件的情况下发送的心跳包。
预定条件用于表征第一进程处于正常工作状态。预定条件根据第一进程的业务需求实际设定,预定条件可以由开发人员针对第一进程的业务需求自定义设定。
在本申请实施例中,心跳包是指在第一进程和第二进程之间,第一进程向第二进程通知对方自己状态的命令字,该命令字可以由第一进程和第二进程协商设定,也可以由第三进程设定,还可以是开发人员自定义设定的。需要说明的是,该心跳包的数据量小于预设数据量,以节省第一进程和第二进程之间的通信资源,提高通信效率。
第二进程接收第一进程发送的心跳包的方式,可以根据第一进程和第二进程之间的进程间通信方式实际设定。上述进程间通信方式包括:消息队列、共享内存、管道等等。以共享内存为例,第一进程将心跳包写入共享内存,之后第二进程从共享内存读取第一进程写入的心跳包,从而实现对心跳包的接收。
步骤S203,获取在第二预定周期内接收到的心跳包的数量。
第一预定周期小于第二预定周期。在一些实施例中,第二预定周期是第一预定周期的n(n为大于1的整数)倍,从而第二进程可以根据第二预定周期与第一预定周期之间的比值,来估计在第二预定周期内接收到的心跳包的数量,并根据在第二预定周期内接收到的心跳包的数量的估计值与实际值之间的比对结果,来检测第一进程是否处于正常工作状态。示例性地,第二预定周期为第一预定周期的两倍。第一预定周期为1秒,则第二预定周期为2秒。
步骤S204,基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态。
在本申请实施例中,由于心跳包是第一进程按照第一预定周期发送的,且每次发送前均需要确认自身处于正常工作状态,因此第二进程可以基于在第二预定周期内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
在一些实施例中,第二进程根据在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态,具体包括:在第二预定周期内接收到的心跳包的数量大于第一阈值且小于第二阈值的情况下,确定第一进程处于正常工作状态;在第二预定周期内接收到的心跳包的数量小于第一阈值的情况下,或者,在心跳包的数量大于第二阈值的情况下,确定第一进程处于异常工作状态。
第一阈值小于第二阈值。第一阈值可以根据第二预定周期和第一预定周期之间的比值(也即n)设定。可选地,第一阈值为第二预定周期和第一预定周期之间的比值减去一,第二阈值为第二预定周期和第一预定周期之间的比值加上一。
结合上文示例,在第二预定周期和第一预定周期之间的比值为2的情况下,第一阈值为1,第二阈值为3。具体地,在第二预定阈值和第一预定阈值之间的比值为2的情况下,若第二进程在第二预定周期内没有接收到任何心跳包,则说明第一进程在第二预定周期内未能确定自身满足预定条件,大概率处于异常状态,或者,第二进程在第二预定周期内接收到的心跳包过多(大于3),则说明大概率存在多个相同的第一进程,也处于异常状态。
需要说明的是,在本申请实施例中,第二进程基于系统定时器获取在第二预定周期内接收到的心跳包的数量。同样地,第一进程用于基于系统定时器每隔第一预定周期,且确定出满足预定条件的情况下向第二进程发送所述心跳包。也即,第一进程和第二进程均是基于系统定时器计时,第一进程和第二进程时间同步,可以避免第一进程和第二进程时间不同步时检测不准确的情况发生,提高检测准确率。
在其他可能的实现方式中,第二进程在预定时长内没有接收到第一进程发送的心跳包,则说明第一进程大概率不满足心跳包的发送条件,也即处于异常状态。预定时长略大于第一预定周期,比如预定时长与第一预定周期之间的差值小于预设数值。预设数值根据实验或经验设定,本申请实施例对此不作限定。在一些实施例中,第二进程在预定时长内没有接收到第一进程发送的心跳包,也可能是由于第一进程和第二进程之间的进程间通信存在问题,此时第二进程可以通知第一进程重发心跳包,若第二进程仍没有收到重发的心跳包,则说明第一进程处于异常状态。
在一些实施例中,第二进程在确定出第一进程处于异常工作状态之后,可以向第三进程发送通知消息,该通知消息用于通知第三进程重启第一进程。
综上所述,本申请实施例提供的技术方案,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
请参考图3,其示出本申请一个实施例提供的应用管理方法的流程图。该方法可以应用于图1实施例中的第一进程。该方法包括如下过程。
S310,运行第一进程。
第一进程在接收到第三进程发送的启动指令后,启动运行。具体地,第三进程先启动定时器,然后向第一进程发送启动指令以启动第一进程,接收第一进程启动成功后上报的成功启动消息,最后终止定时器。
上述定时器也可以是系统定时器,从而第一进程、第二进程、第三进程均实现时间同步。上述定时器用于对第一进程上报成功启动消息的时长进行监控。若第三进程在定时器超时后仍没有接收到成功启动消息,则认定第一进程启动失败,此时第三进程先检测第一进程是否存在于系统内存,若存在,则终止系统内存中的第一进程,并重发启动消息,在第一进程启动失败次数大于或等于预设次数的情况下,第三进程会放弃启动第一进程,并按照预定策略通知电源管理进程控制系统重启或下电。预设次数根据实际需求设定,本申请实施例对此不作限定。示例性地,预设次数为3次。
S320,每隔第一预定周期,检测是否满足预定条件。
预定条件用于表征第一进程处于正常工作状态。预定条件根据第一进程的业务需求设定。在第一进程存在依赖进程的情况下,第一进程可以通过如下方式检测自身是否处于正常工作状态:第一进程每隔第一预定周期,检测第一进程的依赖进程是否向第一进程发送业务数据;或者,每隔第一预定周期,检测第一进程的依赖进程向第一进程发送的业务数据是否为指定业务数据。
上述指定业务数据根据数据类型实际确定。示例性地,数据类型为整数类型时,指定业务数据是指根据第一进程的业务需求确定的指定区间内的业务数据。
示例性地,路径规划进程的依赖进程为速度管理进程,路径规划进程需要基于速度管理进程上报的实时速度进行后续的路径规划。若速度管理进程未及时向路径规划进程发送实时速度,则路径规划进程处于异常工作状态;或者,若速度管理进程上报的实时速度为异常值,比如实时速度为负数,或者,实时速度超过交通工具的最大速度阈值,则路径规划进程处于异常工作状态。
在其他实施方式中,第一进程可以通过如下方式检测自身是否处于正常工作状态:每隔第一预定周期,检测第一进程的状态是否为预设状态。第一进程在执行过程中存在状态切换,不同的执行时段对应不同的状态,第一进程可以通过检测自身的当前状态与执行时段是否匹配,从而检测自身是否处于正常工作状态。
S330,在确定满足预定条件的情况下,向第二进程发送心跳包。
相应地,第二进程接收第一进程发送的心跳包。第二进程用于获取在第二预定周期内接收到的心跳包的数量,基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态,第一预定周期小于第二预定周期。
综上所述,本申请实施例提供的技术方案,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
请参阅图4,其示出本申请实施例提供的进程管理方法的流程图。该方法包括如下过程。
S401,执行进程(也即第三进程)启动定时器。
S402,执行进程启动应用进程(也即第一进程)。
S403,应用进程向执行进程发送成功启动消息。
S404,执行进程终止定时器。
S405,执行进程向监控进程(也即第二进程)发送针对应用进程的监控指令。
S406,应用进程启动系统定时器。
S407,监控进程启动系统定时器。
S408,应用进程每隔第一预定周期,在确定自身处于正常工作状态的情况下发送心跳包。
S409,监控进程在第二预定周期内接收到的心跳包的数量小于第一阈值,或,大于第二阈值的情况下,向执行进程上报应用进程异常。
S410,执行进程重启应用进程。
执行进程重启应用进程后,从S405重新开始执行。
请参阅图5,其示出了本申请实施例提供的一种进程管理装置的结构框图,该装置包括:指令获取模块510、心跳包接收模块520、数量获取模块530、进程管理模块540。
指令获取模块510,用于获取针对第一进程的监控指令,第一进程每隔第一预定周期执行状态检测流程。心跳包接收模块520,用于基于监控指令,接收第一进程在执行状态检测流程中所确定出满足预定条件的情况下发送的心跳包,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定。数量获取模块530,用于获取在第二预定周期内接收到的心跳包的数量,第一预定周期小于第二预定周期。进程管理模块540,用于基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态。
综上,本申请实施例提供的技术方案,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
在一些实施例中,进程管理模块540,用于:在在第二预定周期内接收到的心跳包的数量大于第一阈值且小于第二阈值的情况下,确定第一进程处于正常工作状态;在第二预定周期内接收到的心跳包的数量小于第一阈值的情况下,或者,在心跳包的数量大于第二阈值的情况下,确定第一进程处于异常工作状态;第一阈值小于第二阈值。
在一些实施例中,第二预定周期是第一预定周期的n倍,n为大于1的整数,第一阈值和第二阈值均基于n确定。
在一些实施例中,心跳包接收模块520,用于基于系统定时器获取在第二预定周期内接收到的心跳包的数量,第一进程用于基于系统定时器执行每隔第一预定周期,且确定出满足预定条件的情况下向第二进程发送心跳包的步骤。
请参阅图6,其示出了本申请实施例提供的一种进程管理装置的结构框图,该装置包括:进程运行模块610、条件检测模块620、心跳包发送模块630。
进程运行模块610,用于运行第一进程。条件检测模块620,用于每隔第一预定周期,检测是否满足预定条件,预定条件用于表征第一进程处于正常工作状态,预定条件根据第一进程的业务需求设定。心跳包发送模块630,用于在确定满足预定条件的情况下,向第二进程发送心跳包,第二进程用于获取在第二预定周期内接收到的心跳包的数量,基于在第二预定周期内接收到的心跳包的数量,检测第一进程是否处于正常工作状态,第一预定周期小于第二预定周期。
在一些实施例中,条件检测模块620,用于:每隔第一预定周期,检测第一进程的依赖进程是否向第一进程发送业务数据;或/及,每隔第一预定周期,检测第一进程的依赖进程向第一进程发送的业务数据是否为指定业务数据;或/及,每隔第一预定周期,检测第一进程的状态是否为预设状态。
综上,本申请实施例提供的技术方案,通过第一进程(也即应用进程)每隔第一预定周期检测自身是否处于正常工作状态,在确定自身处于正常工作状态的情况下会向第二进程(也即监控进程)发送心跳包,之后第二进程基于在第二预定周期接收到的心跳包的数量来实现对第一进程的执行状态的及时监控,相比于通过查询系统状态来监控第一进程的执行状态,本申请实施例提供的技术方案,由于心跳包是第一进程定期,并且确定出自身处于正常状态后发送的,第二进程可以根据在一定时长内接收到的心跳包的数量,来检测第一进程是否处于正常工作状态,从而实现对第一进程的及时监控,及时发现并解决第一进程运行中出现的问题,提高行驶安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图7,其示出了本申请实施例还提供一种交通工具700,该交通工具700包括:一个或多个处理器710、存储器720、以及一个或多个应用程序。其中,一个或多个应用程序被存储在存储器720中并被配置为由一个或多个处理器710执行,一个或多个应用程序配置用于执行上述实施例中所描述的方法。
处理器710可以包括一个或者多个处理核。处理器710利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行电池管理系统的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器710(Central Processing Unit,CPU)、图像处理器710(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块通信芯片进行实现。
存储器720可以包括随机存储器720(Random Access Memory,RAM),也可以包括只读存储器720(Read-Only Memory)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各种方法实施例的指令等。存储数据区还可以存储电子设备图在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图8,其示出了本申请实施例还提供一种计算机可读存储介质800,该计算机可读存储介质800中存储有计算机程序指令810,计算机程序指令810可被处理器调用以执行上述实施例中所描述的方法。
计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的计算机程序指令810的存储空间。这些计算机程序指令810可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。
以上,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制,虽然本申请已以较佳实施例揭示如上,然而并非用以限定本申请,任何本领域技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本申请的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本申请技术方案的范围内。
Claims (10)
1.一种进程管理方法,其特征在于,所述方法包括:
获取针对第一进程的监控指令,所述第一进程每隔第一预定周期执行状态检测流程;
基于所述监控指令,接收所述第一进程在执行每轮所述状态检测流程中所确定出满足预定条件的情况下发送的心跳包,所述预定条件用于表征所述第一进程处于正常工作状态,所述预定条件根据所述第一进程的业务需求设定;
获取在第二预定周期内接收到的所述心跳包的数量,所述第一预定周期小于所述第二预定周期;
基于所述在第二预定周期内接收到的所述心跳包的数量,检测所述第一进程是否处于正常工作状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述在第二预定周期内接收到的所述心跳包的数量,检测所述第一进程是否处于正常工作状态,包括:
在所述在第二预定周期内接收到的所述心跳包的数量大于第一阈值且小于第二阈值的情况下,确定所述第一进程处于正常工作状态;
在第二预定周期内接收到的所述心跳包的数量小于所述第一阈值的情况下,或者,在所述心跳包的数量大于所述第二阈值的情况下,确定所述第一进程处于异常工作状态;
所述第一阈值小于所述第二阈值。
3.根据权利要求2所述的方法,其特征在于,所述第二预定周期是所述第一预定周期的n倍,所述n为大于1的整数,所述第一阈值和所述第二阈值均基于所述n确定。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述获取在第二预定周期内接收到的所述心跳包的数量,包括:
基于系统定时器获取在第二预定周期内接收到的所述心跳包的数量,所述第一进程用于基于所述系统定时器执行所述每隔第一预定周期,且确定出满足预定条件的情况下向第二进程发送所述心跳包的步骤。
5.一种进程管理方法,其特征在于,所述方法包括:
运行第一进程;
每隔第一预定周期,检测是否满足预定条件,所述预定条件用于表征所述第一进程处于正常工作状态,所述预定条件根据所述第一进程的业务需求设定;
在确定满足所述预定条件的情况下,向第二进程发送心跳包,所述第二进程用于获取在第二预定周期内接收到的所述心跳包的数量,基于所述在第二预定周期内接收到的所述心跳包的数量,检测所述第一进程是否处于正常工作状态,所述第一预定周期小于所述第二预定周期。
6.根据权利要求5所述的方法,其特征在于,所述每隔第一预定周期,检测是否满足预定条件,包括:
每隔所述第一预定周期,检测所述第一进程的依赖进程是否向所述第一进程发送业务数据;或/及,
每隔所述第一预定周期,检测所述第一进程的依赖进程向所述第一进程发送的业务数据是否为指定业务数据;或/及,
每隔所述第一预定周期,检测所述第一进程的状态是否为预设状态。
7.一种进程管理装置,其特征在于,所述装置包括:
指令获取模块,用于获取针对第一进程的监控指令,所述第一进程每隔第一预定周期执行状态检测流程;
心跳包接收模块,用于基于所述监控指令,接收所述第一进程在执行所述状态检测流程中所确定出满足预定条件的情况下发送的心跳包,所述预定条件用于表征所述第一进程处于正常工作状态,所述预定条件根据所述第一进程的业务需求设定;
数量获取模块,用于获取在第二预定周期内接收到的所述心跳包的数量,所述第一预定周期小于所述第二预定周期;
进程管理模块,用于基于所述在第二预定周期内接收到的所述心跳包的数量,检测所述第一进程是否处于正常工作状态。
8.一种进程管理装置,其特征在于,所述装置包括:
进程运行模块,用于运行第一进程;
条件检测模块,用于每隔第一预定周期,检测是否满足预定条件,所述预定条件用于表征所述第一进程处于正常工作状态,所述预定条件根据所述第一进程的业务需求设定;
心跳包发送模块,用于在确定满足所述预定条件的情况下,向第二进程发送心跳包,所述第二进程用于获取在第二预定周期内接收到的所述心跳包的数量,基于所述在第二预定周期内接收到的所述心跳包的数量,检测所述第一进程是否处于正常工作状态,所述第一预定周期小于所述第二预定周期。
9.一种交通工具,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个所述应用程序被存储在所述存储器中并被配置为由一个或多个所述处理器执行,一个或多个所述应用程序配置用于执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令可被处理器调用执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477805.6A CN115794550B (zh) | 2022-11-23 | 2022-11-23 | 进程管理方法、装置、交通工具以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477805.6A CN115794550B (zh) | 2022-11-23 | 2022-11-23 | 进程管理方法、装置、交通工具以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794550A true CN115794550A (zh) | 2023-03-14 |
CN115794550B CN115794550B (zh) | 2024-04-02 |
Family
ID=85440731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211477805.6A Active CN115794550B (zh) | 2022-11-23 | 2022-11-23 | 进程管理方法、装置、交通工具以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794550B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229032A (ja) * | 2000-02-15 | 2001-08-24 | Matsushita Electric Ind Co Ltd | アプリケーション自動復旧システム、アプリケーション自動復旧方法及びその記録媒体 |
KR20190003094A (ko) * | 2017-06-30 | 2019-01-09 | 현대자동차주식회사 | 차량 내 전자 장치의 동작을 감시하거나 복원하기 위한 방법 및 장치 |
CN110618864A (zh) * | 2019-09-19 | 2019-12-27 | 北京明略软件系统有限公司 | 一种中断任务恢复方法及装置 |
CN110659159A (zh) * | 2019-09-05 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种服务进程运行监控方法、装置、设备及存储介质 |
CN111913851A (zh) * | 2020-07-31 | 2020-11-10 | 平安科技(深圳)有限公司 | 进程监控方法、系统、终端及存储介质 |
CN113407414A (zh) * | 2021-06-24 | 2021-09-17 | 厦门科灿信息技术有限公司 | 程序运行监测方法、装置、终端及存储介质 |
CN114296938A (zh) * | 2021-12-30 | 2022-04-08 | 上海洛轲智能科技有限公司 | 车载系统的进程监控方法、装置及设备 |
CN114817057A (zh) * | 2022-05-11 | 2022-07-29 | 深圳市富途网络科技有限公司 | 测试线程卡顿的方法及装置、电子设备、存储介质 |
CN115129573A (zh) * | 2022-08-31 | 2022-09-30 | 国汽智控(北京)科技有限公司 | 程序运行的监控方法、装置、电子设备及存储介质 |
CN115220993A (zh) * | 2022-04-20 | 2022-10-21 | 广州汽车集团股份有限公司 | 进程监控方法、装置、车辆及存储介质 |
-
2022
- 2022-11-23 CN CN202211477805.6A patent/CN115794550B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229032A (ja) * | 2000-02-15 | 2001-08-24 | Matsushita Electric Ind Co Ltd | アプリケーション自動復旧システム、アプリケーション自動復旧方法及びその記録媒体 |
KR20190003094A (ko) * | 2017-06-30 | 2019-01-09 | 현대자동차주식회사 | 차량 내 전자 장치의 동작을 감시하거나 복원하기 위한 방법 및 장치 |
CN110659159A (zh) * | 2019-09-05 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种服务进程运行监控方法、装置、设备及存储介质 |
CN110618864A (zh) * | 2019-09-19 | 2019-12-27 | 北京明略软件系统有限公司 | 一种中断任务恢复方法及装置 |
CN111913851A (zh) * | 2020-07-31 | 2020-11-10 | 平安科技(深圳)有限公司 | 进程监控方法、系统、终端及存储介质 |
CN113407414A (zh) * | 2021-06-24 | 2021-09-17 | 厦门科灿信息技术有限公司 | 程序运行监测方法、装置、终端及存储介质 |
CN114296938A (zh) * | 2021-12-30 | 2022-04-08 | 上海洛轲智能科技有限公司 | 车载系统的进程监控方法、装置及设备 |
CN115220993A (zh) * | 2022-04-20 | 2022-10-21 | 广州汽车集团股份有限公司 | 进程监控方法、装置、车辆及存储介质 |
CN114817057A (zh) * | 2022-05-11 | 2022-07-29 | 深圳市富途网络科技有限公司 | 测试线程卡顿的方法及装置、电子设备、存储介质 |
CN115129573A (zh) * | 2022-08-31 | 2022-09-30 | 国汽智控(北京)科技有限公司 | 程序运行的监控方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陆倩;李莉;沈苏彬;: "一种提高嵌入式系统可靠性的自监测技术", 系统仿真学报, vol. 25, no. 11, pages 2687 - 2692 * |
Also Published As
Publication number | Publication date |
---|---|
CN115794550B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833122B (zh) | 车载通信控制器的唤醒方法、装置及存储介质 | |
CN101873616B (zh) | 一种移动终端自检的方法、系统及移动终端 | |
CN109982417B (zh) | 传感器控制方法、传感器控制装置、传感器及存储介质 | |
CN107872396B (zh) | 具有超时控制的通信方法、处理设备、终端设备和服务器 | |
CN113415208A (zh) | 换电控制组件 | |
CN210839611U (zh) | 一种包括车载以太网的车内混合网络的睡眠与唤醒装置 | |
CN110708234B (zh) | 消息发送的处理方法、消息发送的处理装置及存储介质 | |
CN108536545B (zh) | 终端设备的信息处理方法和装置 | |
KR20100020253A (ko) | 차량 네트워크에서의 메시지 전송 상태 진단 장치 | |
JP2023547782A (ja) | 車両におけるecuの管理方法、ecuおよび可読記憶媒体 | |
CN115794550A (zh) | 进程管理方法、装置、交通工具以及存储介质 | |
CN113787914A (zh) | 动力电池的监控方法、装置、服务器及存储介质 | |
CN115742751B (zh) | 检测蓄电池更换的方法、装置、服务器以及存储介质 | |
CN113489653A (zh) | 报文发送方法、装置以及计算机设备 | |
CN113283350A (zh) | 操作事件的提示方法及装置、存储介质及电子装置 | |
CN113535344A (zh) | 网络数据处理方法和装置、服务器及存储介质 | |
CN109284275B (zh) | 一种云平台虚拟机文件系统监控方法和装置 | |
CN114466321B (zh) | 消息发送方法及装置、电子设备及存储介质 | |
CN115220993A (zh) | 进程监控方法、装置、车辆及存储介质 | |
CN112989323B (zh) | 进程检测方法、装置、终端及存储介质 | |
CN111556043B (zh) | 一种报文处理方法、装置、系统、设备及可读存储介质 | |
CN114416326A (zh) | 大数据管控方法、装置、管控系统及可读存储介质 | |
CN116319712B (zh) | 电力设备体域网从节点无线升级方法及装置 | |
CN111064639A (zh) | 一种服务状态公告方法、装置、设备及存储介质 | |
CN113242609B (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 |