CN114791835A - 程序重启方法及装置、存储介质及电子装置 - Google Patents
程序重启方法及装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114791835A CN114791835A CN202210260409.1A CN202210260409A CN114791835A CN 114791835 A CN114791835 A CN 114791835A CN 202210260409 A CN202210260409 A CN 202210260409A CN 114791835 A CN114791835 A CN 114791835A
- Authority
- CN
- China
- Prior art keywords
- target
- daemon process
- program
- abnormal
- restarting
- 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 238
- 230000008569 process Effects 0.000 claims abstract description 190
- 230000002159 abnormal effect Effects 0.000 claims abstract description 124
- 238000012544 monitoring process Methods 0.000 claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 16
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012840 feeding operation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种程序重启方法及装置、存储介质及电子装置,其中,上述方法包括:监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。采用上述技术方案,解决了传统方法无法及时监控系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种程序重启方法及装置、存储介质及电子装置。
背景技术
Linux是开放源的操作系统,很多芯片公司会在该系统上进行二次开发,对原有系统进行裁剪,移植,以及集成第三方开源库的集成等操作,用在不同的功能需求的芯片上。芯片厂商提供的原生SDK,供应用层进一步开发。目前,随着智能家居技术的不断成熟,越来越多的家庭安装了智能设备。这些智能设备中具有操作系统,并且在操作系统中运行有程序,但随时设备的长期使用,会出现系统不稳定的现象。导致系统出现异常的因素有很多,CPU占用过多,内存泄漏,程序不合理设计,资源占用未及时释放等等。进而随着设备长时间的运行,这些不利的因素可能会叠加,会导致主程序出现异常,并且可能也会导致系统无法正常工作,但相关技术中,在并能及时的得知运行的程序是否出现异常,进而无法及时进行的维护。导致程序不能长时间可靠的为用户提供服务,导致用户的体验感较差。
针对相关技术,传统方法无法及时监控系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本发明实施例提供了一种程序重启方法及装置、存储介质及电子装置,以至少解决传统方法无法及时监控系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题。
根据本发明实施例的一方面,提供一种程序重启方法,包括:监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
进一步地,所述监控到在所述守护进程存在异常的情况下,重启所述守护进程,包括:在监控到所述守护进程存在异常的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
进一步地,监控运行于目标系统的守护进程是否存在异常,包括:监控所述目标系统中的目标计时器每隔预设时间间隔是否被清零,其中,所述守护进程每隔所述预设时间间隔向所述目标计时器发送清零指令;在监控到所述目标计时器每隔所述预设时间间隔被清零的情况下,监控到所述守护进程不存在异常;在监控到所述目标计时器未每隔预设时间间隔被清零的情况下,监控到所述守护进程存在异常。
进一步地,通过所述守护进程重启所述目标程序之后,所述方法还包括:周期性获取所述守护进程重启所述目标程序的第一重启次数;在所述第一重启次数大于或等于第一重启阈值的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
进一步地,通过所述守护进程重启所述目标程序之后,所述方法还包括:获取所述守护进程确定重启所述目标程序所使用的目标时长;在所述目标时长大于或等于预设时长的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
进一步地,所述方法还包括:周期性获取所述目标系统的第二重启次数;在所述第二重启次数大于或等于第二重启阈值的情况下,确定所述目标系统存在系统故障;发送指示信息至目标对象,以指示所述目标对象对所述目标系统进行维护。
进一步地,在监控到所述目标程序存在异常的情况下,所述方法还包括:获取并保存所述目标程序的目标状态数据,其中,所述目标状态数据包括:所述目标程序当前所处的模式,所述目标程序在所处的模式下的运行参数;重启所述守护进程,并指示所述守护进程通过所述目标状态数据启动所述目标程序,以使重启后的所述目标程序处于所述目标状态数据对应的状态。
根据本发明实施例的另一方面,还提供了一种程序重启装置,包括:确定模块,用于监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;第一重启模块,用于在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;第二重启模块,用于在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述程序重启方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述程序重启方法。
通过本发明,通过守护进程监控目标程序,并在守护进程不存在异常的情况下,通过守护进程监控目标程序是否存在异常,进而在监控到目标程序存在异常的情况下,通过守护进程重启目标程序,如果守护进程存在异常的情况下,就重启守护进程,进而继续通过守护进程监控目标程序。采用上述技术方案,解决传统方法无法及时监控系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题。进而在保证守护进程运行正常的情况下,通过守护进程监控程序是否异常,并在异常的情况下,对程序进行重启,进而保障了程序可以长期运行,持续发挥作用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的程序重启方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的程序重启方法的流程图(一);
图3是根据本发明实施例的程序重启方法的流程图(二);
图4是根据本发明实施例的程序重启装置的结构框图(一);
图5是根据本发明实施例的程序重启装置的结构框图(二)。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的程序重启方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的程序重启方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
为了解决上述问题,在本实施例中提供了一种程序重启方法,图2是根据本发明实施例的程序重启方法的流程图(一),该流程包括如下步骤:
步骤S202,监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
在一个示例性是实施例中,可以通过以下方式监控运行于目标系统的守护进程是否存在异常:监控所述目标系统中的目标计时器每隔预设时间间隔是否被清零,其中,所述守护进程每隔所述预设时间间隔向所述目标计时器发送清零指令;在监控到所述目标计时器每隔所述预设时间间隔被清零的情况下,监控到所述守护进程不存在异常;在监控到所述目标计时器未每隔预设时间间隔被清零的情况下,监控到所述守护进程存在异常。
也就是说,目标系统中具有目标计时器,会持续不断的计时,进而可以通过在守护进程中添加看门机制,让守护进程在运行的过程中,每隔预设时间间隔向目标计时器发送清零指令,进而目标系统每隔预设时间间隔确定目标计时器是否被清零,如果被清零,则说明守护进程运行正常,否则守护进程运行异常。
需要说明的是,在目标系统启动以后,目标系统就会启动守护进程,进而通过守护进程运行目标程序。目标系统包括但不限于Windows系统,Mac系统,Linux系统,Chrome OS系统,UNIX系统等。
在一个示例性的实施例中,如果在音箱中搭载目标系统,则目标程序可以为语音助手程序,进而可以通过守护进程运行语音助手程序,并对语音助手程序进行监控,确定是否存在异常。
步骤S204,在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
在一个示例性的实施例中,重启所述守护进程,可以通过以下方式实现:依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。也就是说。先重启所述目标系统,并在所述目标系统重启的情况下,启动守护进程;或者通过目标系统直接重启守护进程。在守护进程重启以后,通过守护进程启动所述目标程序。
步骤S206,在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
在一个示例性的实施例中,通过所述守护进程确定所述目标程序是否存在异常,可以通过以下方式实现:通过所述守护进程周期性的查询所述目标程序的运行状态;根据所述运行状态确定所述目标程序是否存在异常。
也就是说,守护进程会每隔一段时间去查看目标程序的运行状态,具体的,可以通过查看目标程序运行产生的日志数据来确定目标程序的运行状态,如果产生的日志数据存在异常,则可以说明目标程序的运行状态异常。
通过上述步骤,解决传统方法无法及时确定系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题。进而在保证守护进程运行正常的情况下,通过守护进程监控程序是否异常,并在异常的情况下,对程序进行重启,进而保障了程序可以长期运行,持续发挥作用。
在一个示例性的实施例中,通过守护进程重启目标程序之后,还需要周期性获取所述守护进程重启所述目标程序的第一重启次数;在所述第一重启次数大于或等于第一重启阈值的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
在一个示例性的实施例中,通过所述守护进程重启所述目标程序之后,还需要获取守护进程确定重启目标程序所使用的目标时长,并在目标时长大于或等于预设时长的情况下,确定所述目标系统存在异常,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
例如,假设运维或者开发人员设置的检测周期为5分钟,第一重启阈值为3次,预设时长为3分钟,则如果守护进程在5分钟以内启动目标程序的次数大于或等于3次或者守护进程单次启动目标程序所花费的时间大于或等于3分钟,则说明可能不是由于目标程序本身的原因导致目标程序出现异常,可能是由于目标系统出现异常,例如目标系统CPU占用过多,内存泄漏,或者资源占用未及时释放等原因导致的,进而此时继续通过守护进程重启目标程序则解决不了问题,进而需要重启目标系统,并在目标系统重启的情况下,启动守护进程,并通过守护进程重新启动目标程序。
在一个示例性的实施例中,还需要周期性获取所述目标系统的第二重启次数;在所述第二重启次数大于或等于第二重启阈值的情况下,确定所述目标系统存在系统故障;发送指示信息至目标对象,以指示所述目标对象对所述目标系统进行维护。
例如,如果运维或者开发人员(相当于与上述目标对象)设置的检测周期为10分钟,第二重启阈值为3次,则如果在10分钟内目标系统重启的次数大于或等于3次,则说明目标系统可能存在故障,例如,目标系统收到病毒的入侵,被恶意删除源代码,配置文件等,进而此时通过重启系统可能无法解决问题,需要发送提示信息至运维或者开发人员,让运维或者开发人员对系统进行维护。
在一个示例性的实施例中,在监控到守护进程存在异常的情况下,获取并保存所述目标程序的目标状态数据,其中,所述目标状态数据包括:所述目标程序当前所处的模式,所述目标程序在所处模式下的运行参数;重启所述守护进程,并指示所述守护进程通过所述目标状态数据启动所述目标程序,以使所述重启后的所述目标程序处于所述目标状态数据对应的状态。
例如,假设目标程序为热水器上的水温调节程序,水温调节程序通过守护进程运行,在守护进程存在异常的情况下,则获取水温调节程序当前处在的模式以及模式下运行的参数,例如,处于自动水温调节模式,运行的参数为:设置水温到60摄氏度。进而在守护进程重启以后,重启水温调节程序,将水温调节程序设置为自动水温调节模块,运行参数为:设置水温到60摄氏度。采用上述技术方案,可以使得在守护进程异常后,需要重启目标程序的情况下,将目标程序恢复到守护进程异常以前,目标程序所处的状态。
在一个示例性的实施例中,在指示所述守护进程通过所述目标状态数据连续多次启动所述目标程序失败、且失败的次数超过预设次数阈值的情况下,确定所述目标状态数据为异常数据,并重启所述守护进程,指示所述守护进程通过默认状态数据重启所述目标程序,并通过所述守护进程避免所述目标程序位于所述目标状态数据所处的状态。
例如,如果守护进程连续多次使用目标状态数据启动水温调节程序以后,守护进程都会出现异常,且次数已经超过预设次数阈值,例如超过3此,则可以确定是由于水温调节程序处于目标状态数据对应的状态下,才导致守护进程出现的异常,进而在下次启动水温调节程序的时候,则指示所述守护进程通过默认状态数据重启水温调节程序,需要说明的是,默认状态数据是与目标状态数据不同的,默认状态数据可以是目标程序初始状态下的数据。由于水温调节程序处于目标状态数据对应的状态下的情况下,会导致守护进程出现的异常,进而需要避免水温调节程序处于目标状态数据对应的状态。
在一个示例性的实施例中,在守护进程存在异常的情况下,确定所述守护进程存在异常时目标系统的系统状态数据,并根据系统状态数据,确定守护进行出现异常的异常类型,以在所述守护进程发生多次异常的情况下,得到多个所述异常类型;在所述多个异常类型中存在连续多个异常类型相同,或者存在预设数量的异常类型相同的情况下,发送提示信息至所述目标对象,以指示所述目标对象对所述目标系统进行维护。
假设,守护进程连续三次出现异常都是由于系统的IO操作异常所导致的,或者在守护进行出现的5次异常中,有超过三次都是由系统的IO操作异常所导致的,则说明目标系统的IO操作可能存在故障,进而需要发送提示信息给开发或运维人员,使得开发或运维人员对目标系统进行维护。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述程序重启方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
在一个可选的实施例中,图3是根据本发明实施例的程序重启方法的流程图(二),具体的,具有如下步骤:
S302:系统启动;
S304:守护进程启动;
S306:是否触发系统看门狗重启,在是的情况下,执行步骤S302,否则执行步骤S308;
S308:通过守护进程启动主程序(相当于上述目标程序);
S310:通过守护进程监控主程序是否运行正常,在是的情况下,执行步骤S314,否则执行步骤S312;
S312:确定是否触发系统重启;
S314:主程序持续运行。
为了更好的理解,以下进行具体说明:
在系统启动后,系统会启动守护进程,在该进程里,会对系统看门狗进行初始化,定时的启动喂狗操作(相当于上述实施例中守护进程在预设时间间隔给目标计时器发送清零指令),通过看门狗来监控守护进程是否处于正常的运行状态。
守护进程将主程序进行启动,接着对主程序进行监控,每隔一段时间来判断主程序状态是否正常。当主程序异常后,守护进程会再次将主程序启动,同时会统计主程序启动的时间以及启动的次数。由于系统出现异常的因素有很多,例如:IO操作异常,CPU占用过多,内存泄漏,程序不合理设计,资源占用未及时释放,空间不足等等,导致系统不稳定,从而导致主程序无法正常启动。
随着主程序重启次数的增多,就会触发系统的重启机制,然后完成系统重启。通过此种机制来尝试让设备恢复到正常状态。最后,当守护进程异常时,看门狗就会起作用,完成系统重启,不会出现当守护进程异常后,智能设备出现无法正常工作的现象。
也就是说,本申请实施例通过引入两种检测机制,通过守护进程来监控主程序的运行状况来确保设备的主程序出现异常的时候,可以快速的恢复到正常运行的状态。通过在守护进程中添加系统的看门狗机制,监控守护进程运行状态,减轻了系统启动的负担。并且引入了主程序重启的时间管理机制,即在规定的时间内,如果触发了多次主程序重启,会认为启动不正常,在这种情况下,可以通过系统重启,清理相关的缓存,减少Flash的空间使用,初始化相关的配置文件,来尽快使主程序恢复到正常的运行状态。通过守护进程和主程序联动,可以在用户无感知的情况下,将主程序恢复到正常的运行状态。
由于引入了上述的机制,降低了智能设备工作异常后,无法快速恢复到正常状态的问题。从实际效果来看,通过机制的引入,降低了智能设备运行异常的风险,保障了智能设备的可靠运行,提升了用户的使用体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种程序重启装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的程序重启装置的结构框图(一),该装置包括:
确定模块42,用于监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
第一重启模块44,用于在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
第二重启模块46,用于在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
通过上述模块,解决传统方法无法及时监控系统运行的程序是否存在异常,并在程序出现异常的情况下,及时对程序进行重启的问题。进而在保证守护进程运行正常的情况下,通过守护进程监控程序是否异常,并在异常的情况下,对程序进行重启,进而保障了程序可以长期运行,持续发挥作用。
在一个示例性的实施例中,第一重启模块44,还用于在监控到所述守护进程存在异常的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
在一个示例性的实施例中,确定模块42,还用于监控所述目标系统中的目标计时器每隔预设时间间隔是否被清零,其中,所述守护进程每隔所述预设时间间隔向所述目标计时器发送清零指令;在监控到所述目标计时器每隔所述预设时间间隔被清零的情况下,监控到所述守护进程不存在异常;在监控到所述目标计时器未每隔预设时间间隔被清零的情况下,监控到所述守护进程存在异常。
在一个示例性实施例中,第二重启模块46还包括:确定单元,其中,所述确定单元用于通过所述守护进程周期性查询所述目标程序的运行状态;根据所述运行状态确定所述目标程序是否存在异常。
在一个示例性的实施例中,第二重启模块46,还用于周期性获取所述守护进程重启所述目标程序的第一重启次数;在所述第一重启次数大于或等于第一重启阈值的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
在一个示例性的实施例中,第二重启模块46,还用于获取所述守护进程确定重启所述目标程序所使用的目标时长;在所述目标时长大于或等于预设时长的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
图5是根据本发明实施例的程序重启装置的结构框图(二),该装置还包括:处理模块48。
在一个示例性的实施例中,处理模块48用于周期性获取所述目标系统的第二重启次数;在所述第二重启次数大于或等于第二重启阈值的情况下,确定所述目标系统存在系统故障;发送指示信息至目标对象,以指示所述目标对象对所述目标系统进行维护。
在一个示例性的实施例中,处理模块48还用于在监控到守护进程存在异常的情况下,获取并保存所述目标程序的目标状态数据,其中,所述目标状态数据包括:所述目标程序当前所处的模式,所述目标程序在所处模式下的运行参数;重启所述守护进程,并指示所述守护进程通过所述目标状态数据启动所述目标程序,以使所述重启后的所述目标程序处于所述目标状态数据对应的状态。
在一个示例性的实施例中,处理模块48还用于在指示所述守护进程通过所述目标状态数据连续多次启动所述目标程序失败、且失败的次数超过预设次数阈值的情况下,确定所述目标状态数据为异常数据,并重启所述守护进程,指示所述守护进程通过默认状态数据重启所述目标程序,并通过所述守护进程避免所述目标程序位于所述目标状态数据所述处的状态。
在一个示例性的实施例中,处理模块48还用于在监控到守护进程存在异常的情况下,确定所述守护进程存在异常时目标系统的系统状态数据,并根据系统状态数据,确定守护进行出现异常的异常类型,以在所述守护进程发生多次异常的情况下,得到多个所述异常类型;在所述多个异常类型中存在连续多个异常类型相同,或者存在预设数量的异常类型相同的情况下,发送提示信息至所述目标对象,以指示所述目标对象对所述目标系统进行维护。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
S2,在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
S3,在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
S2,在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
S3,在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种程序重启方法,其特征在于,包括:
监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
2.根据权利要求1所述的方法,其特征在于,所述监控到在所述守护进程存在异常的情况下,重启所述守护进程,包括:
在监控到所述守护进程存在异常的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
3.根据权利要求1所述的方法,其特征在于,监控运行于目标系统的守护进程是否存在异常,包括:
监控所述目标系统中的目标计时器每隔预设时间间隔是否被清零,其中,所述守护进程每隔所述预设时间间隔向所述目标计时器发送清零指令;
在监控到所述目标计时器每隔所述预设时间间隔被清零的情况下,监控到所述守护进程不存在异常;
在监控到所述目标计时器未每隔预设时间间隔被清零的情况下,监控到所述守护进程存在异常。
4.根据权利要求1所述的方法,其特征在于,通过所述守护进程重启所述目标程序之后,所述方法还包括:
周期性获取所述守护进程重启所述目标程序的第一重启次数;
在所述第一重启次数大于或等于第一重启阈值的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
5.根据权利要求1所述的方法,其特征在于,通过所述守护进程重启所述目标程序之后,所述方法还包括:
获取所述守护进程确定重启所述目标程序所使用的目标时长;
在所述目标时长大于或等于预设时长的情况下,依次重启所述目标系统和所述守护进程,并通过所述守护进程启动且监控所述目标程序。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
周期性获取所述目标系统的第二重启次数;
在所述第二重启次数大于或等于第二重启阈值的情况下,确定所述目标系统存在系统故障;
发送指示信息至目标对象,以指示所述目标对象对所述目标系统进行维护。
7.根据权利要求1所述的方法,其特征在于,在监控到所述目标程序存在异常的情况下,所述方法还包括:
获取并保存所述目标程序的目标状态数据,其中,所述目标状态数据包括:所述目标程序当前所处的模式,所述目标程序在所处的模式下的运行参数;
重启所述守护进程,并指示所述守护进程通过所述目标状态数据启动所述目标程序,以使重启后的所述目标程序处于所述目标状态数据对应的状态。
8.一种程序重启装置,其特征在于,包括:
确定模块,用于监控运行于目标系统的守护进程是否存在异常,其中,所述守护进程用于监控目标程序是否存在异常;
第一重启模块,用于在监控到所述守护进程存在异常的情况下,重启所述守护进程,其中,重启后的所述守护进程被重新设置为用于监控所述目标程序是否存在异常;
第二重启模块,用于在监控到所述守护进程不存在异常的情况下,通过所述守护进程监控所述目标程序是否存在异常,并在监控到所述目标程序存在异常的情况下,通过所述守护进程重启所述目标程序。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260409.1A CN114791835B (zh) | 2022-03-16 | 2022-03-16 | 程序重启方法及装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260409.1A CN114791835B (zh) | 2022-03-16 | 2022-03-16 | 程序重启方法及装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114791835A true CN114791835A (zh) | 2022-07-26 |
CN114791835B CN114791835B (zh) | 2023-11-28 |
Family
ID=82459381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210260409.1A Active CN114791835B (zh) | 2022-03-16 | 2022-03-16 | 程序重启方法及装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114791835B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514689A (zh) * | 2022-09-22 | 2022-12-23 | 成都中航信虹科技股份有限公司 | 一种应用程序守护方法、装置及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472288B1 (en) * | 2004-05-14 | 2008-12-30 | Trend Micro Incorporated | Protection of processes running in a computer system |
CN102141942A (zh) * | 2011-04-01 | 2011-08-03 | 奇智软件(北京)有限公司 | 一种设备的监控保护方法及装置 |
CN103645962A (zh) * | 2013-12-18 | 2014-03-19 | 北京华环电子股份有限公司 | 基于NiosII系统的看门狗实现方法及装置 |
CN104899130A (zh) * | 2015-05-22 | 2015-09-09 | 深圳市酷开网络科技有限公司 | 一种应用程序管理方法及系统 |
CN105791345A (zh) * | 2014-12-22 | 2016-07-20 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 半导体工艺设备中服务端与工控机的通信系统 |
CN106371927A (zh) * | 2016-09-09 | 2017-02-01 | 深圳创维数字技术有限公司 | 一种Linux守护进程的实现方法及系统 |
CN106371911A (zh) * | 2016-09-06 | 2017-02-01 | 北京海誉动想科技股份有限公司 | 守护进程重启被守护进程的方法 |
CN110471784A (zh) * | 2019-07-29 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于Electron平台的播放终端异常处理方法及装置 |
CN110704281A (zh) * | 2019-10-14 | 2020-01-17 | 山东超越数控电子股份有限公司 | 一种监控系统运行的方法 |
CN110865900A (zh) * | 2020-01-19 | 2020-03-06 | 南京火零信息科技有限公司 | 增强嵌入式系统健壮性的一种方法 |
CN112328343A (zh) * | 2020-10-30 | 2021-02-05 | 湖北亿咖通科技有限公司 | 车辆Android系统异常处理方法、系统及存储介质 |
CN112346906A (zh) * | 2019-08-08 | 2021-02-09 | 丰鸟航空科技有限公司 | 无人机守护进程处理方法、装置、设备、及存储介质 |
-
2022
- 2022-03-16 CN CN202210260409.1A patent/CN114791835B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472288B1 (en) * | 2004-05-14 | 2008-12-30 | Trend Micro Incorporated | Protection of processes running in a computer system |
CN102141942A (zh) * | 2011-04-01 | 2011-08-03 | 奇智软件(北京)有限公司 | 一种设备的监控保护方法及装置 |
CN103645962A (zh) * | 2013-12-18 | 2014-03-19 | 北京华环电子股份有限公司 | 基于NiosII系统的看门狗实现方法及装置 |
CN105791345A (zh) * | 2014-12-22 | 2016-07-20 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 半导体工艺设备中服务端与工控机的通信系统 |
CN104899130A (zh) * | 2015-05-22 | 2015-09-09 | 深圳市酷开网络科技有限公司 | 一种应用程序管理方法及系统 |
CN106371911A (zh) * | 2016-09-06 | 2017-02-01 | 北京海誉动想科技股份有限公司 | 守护进程重启被守护进程的方法 |
CN106371927A (zh) * | 2016-09-09 | 2017-02-01 | 深圳创维数字技术有限公司 | 一种Linux守护进程的实现方法及系统 |
CN110471784A (zh) * | 2019-07-29 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于Electron平台的播放终端异常处理方法及装置 |
CN112346906A (zh) * | 2019-08-08 | 2021-02-09 | 丰鸟航空科技有限公司 | 无人机守护进程处理方法、装置、设备、及存储介质 |
CN110704281A (zh) * | 2019-10-14 | 2020-01-17 | 山东超越数控电子股份有限公司 | 一种监控系统运行的方法 |
CN110865900A (zh) * | 2020-01-19 | 2020-03-06 | 南京火零信息科技有限公司 | 增强嵌入式系统健壮性的一种方法 |
CN112328343A (zh) * | 2020-10-30 | 2021-02-05 | 湖北亿咖通科技有限公司 | 车辆Android系统异常处理方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
周建宁等: ""公安跨网络数据交换系统设计和实现"", 《中国公共安全(学术版)》, pages 81 - 84 * |
周超: ""多数据中心日志实时收集与分析系统设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 1056 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514689A (zh) * | 2022-09-22 | 2022-12-23 | 成都中航信虹科技股份有限公司 | 一种应用程序守护方法、装置及存储介质 |
CN115514689B (zh) * | 2022-09-22 | 2024-04-02 | 成都中航信虹科技股份有限公司 | 一种应用程序守护方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114791835B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106997314B (zh) | 用于分布式系统的异常处理方法、装置及系统 | |
CN107315656B (zh) | 多内核的嵌入式plc软件恢复方法和plc | |
CN111324423B (zh) | 容器内进程的监控方法、装置、存储介质和计算机设备 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN111800304A (zh) | 进程运行的监测方法、存储介质和虚拟装置 | |
CN111565135A (zh) | 监控服务器运行的方法、监控服务器和存储介质 | |
CN111273924B (zh) | 软件更新方法及装置 | |
CN115002013B (zh) | 运行状态的确定方法、装置、存储介质及电子装置 | |
CN115658113A (zh) | 服务器自启动方法、装置、可读存储介质及电子设备 | |
CN114791835A (zh) | 程序重启方法及装置、存储介质及电子装置 | |
CN111026581A (zh) | 应用程序的修复方法及装置、系统、存储介质、电子装置 | |
US20230367664A1 (en) | Method for managing ecu on vehicle, and ecu and readable storage medium | |
CN108897646B (zh) | 一种bios芯片的切换方法及基板管理控制器 | |
CN106326060A (zh) | 基板管理控制系统及其方法 | |
CN113489149A (zh) | 基于实时状态感知的电网监控系统业务主节点选取方法 | |
CN111737060A (zh) | 处理组件异常的方法、装置及电子设备 | |
CN110543376A (zh) | 一种安卓系统设备故障自修复方法及安卓系统设备 | |
CN116070210A (zh) | 异常进程的确定方法、装置及病毒查杀方法 | |
US11237892B1 (en) | Obtaining data for fault identification | |
JP2001142810A (ja) | ディレクトリサーバでの端末機動作判断装置及びその方法 | |
CN111866094B (zh) | 一种定时任务处理方法、节点及计算机可读存储介质 | |
CN114281250A (zh) | 存储文件的清理方法及装置、存储介质、电子装置 | |
CN114036032A (zh) | 一种实时程序的监控方法及装置 | |
CN111819557B (zh) | 监控IoT设备的方法及其在IoT设备电池保护看门狗上的用途 | |
CN112437146A (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 |