CN108563529A - 一种自动化重启应用程序的方法及系统 - Google Patents
一种自动化重启应用程序的方法及系统 Download PDFInfo
- Publication number
- CN108563529A CN108563529A CN201810322537.8A CN201810322537A CN108563529A CN 108563529 A CN108563529 A CN 108563529A CN 201810322537 A CN201810322537 A CN 201810322537A CN 108563529 A CN108563529 A CN 108563529A
- Authority
- CN
- China
- Prior art keywords
- timer
- intermediate medium
- module
- time
- monitoring
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种自动化重启应用程序的方法及系统,包括如下步骤:S1:监测应用程序的运行状态;S2:将监测到的运行状态的信息写入到中间介质;S3:实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值内未更新,触发重启指令。在主进程运行过程中,会将运行的状态信息写入到某一个中间介质中。一旦监控进程发现中间介质中的主进程运行信息不再更新中间介质,监控进程判断主进程已经意外终止,并重新启动主进程。避免一个已经无响应的应用程序长时间占用系统资源导致运行效率低下,为用户提供方便有效解决当程序崩溃时进行人工触发重新启动,用户体验差的问题,完全满足用户的需求。
Description
技术领域
本发明属于计算机软件技术领域,具体涉及一种自动化重启应用程序的方法及系统。
背景技术
对于运行于操作系统底层的应用程序而言,意外终止,特别是程序崩溃导致的程序意外终止往往是不可避免的。在程序意外终止之后,传统的处理往往是采用“鸵鸟策略”,即坐视程序崩溃并等待用户在合适的时机进行人工触发重新启动。但在提倡人性化、用户体验的当代,这一放任的方式已无法完全满足用户的需求。此为现有技术的不足之处。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种自动化重启应用程序的方法及系统,以解决上述技术问题。
为了达到上述目的,本发明的技术方案是:
一种自动化重启应用程序的方法,包括如下步骤:
S1:监测应用程序的运行状态;
S2:将监测到的运行状态的信息写入到中间介质;
S3:实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值内未更新,触发重启指令。
进一步的,步骤S1之前还包括步骤:
启动应用程序,为应用程序分配第一定时器,设置第一定时器的最大计数时间为第一时间阈值;
创建监控程序,对监控程序进行初始化;
其中,对监控程序进行初始化包括:
为监控程序分配第二定时器,设置第二定时器的最大计数时间为第二时间阈值;
第一时间阈值大于第二时间阈值。
进一步的,步骤S2包括:
将监测到的运行状态的信息写入到中间介质,复位第二定时器。
进一步的,步骤S3还包括:
若中间介质的状态信息在第二时间阈值到达时未更新,触发重启指令,复位第一定时器和第二定时器。
进一步的,步骤S3还包括:
若第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
进一步的,步骤S3之后还包括:
S4:接收到重启命令重启应用程序,复位第一定时器和第二定时器。
本发明即使方案还包括一种自动化重启应用程序的系统,包括
第一监测模块,用于监测应用程序的运行状态;
写入模块,用于将监测到的运行状态的信息写入到中间介质;
第二监测模块,用于实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值未更新,触发重启指令。
进一步的,该系统还包括创建模块和初始化模块,
初始化模块,用于启动应用程序,并为应用程序分配第一定时器;
第一定时器,用于对应用程序的运行时间进行计时;
创建模块,用于创建监控程序;
初始化模块,还用于对监控程序分配第二定时器;
第二定时器,用于对中间介质的状态信息变化时间进行计时;
其中,第一定时器设定的最大计数时间为第一时间阈值,
第二定时器设定的最大计数时间为第二时间阈值,第一时间阈值大于第二时间阈值。
进一步的,该系统还包括复位模块和重启模块,
写入模块将监测到的运行状态的信息写入到中间介质时,复位模块,用于复位第二定时器;
重启模块,用于接收到重启命令重启应用程序。
进一步的,该系统还包括定时器处理模块,定时器处理模块,用于当第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
启动应用程序,并为该启动的应用程序分配第一定时器,用于对该应用程序的运行时间进行计时;设置第一定时器的最大计数时间为第一时间阈值;
创建监控程序,并在应用程序主程序启动时对监控程序进行初始化,其中,包括监控程序启动时分配第二定时器,用于对中间介质的状态变化进行计时,设置第二定时器的最大计数时间为第二时间阈值;
应用程序运行中,利用第一监测模块检测运行的主进程的运行状态并将监测到的主进程的运行状态信息写入到中间介质,其中,中间介质包括文件或者进程间通信队列;中间介质中的主进程运行的状态信息更新的同时,复位模块复位第二定时器。
监控进程的第二监控模块实时监测中间介质的状态信息,若中间介质中的主进程运行的状态信息在第二时间阈值到达时没有更新,而此时第一定时器的计数时间未到达第一时间阈值,监控进程触发重启指令。
重启模块在接收到重启命令时重启应用程序,复位模块复位第一定时器。
应用程序进行重启,并在应用程序主程序启动时复位第二定时器。
第一定时器计数时间到达第一时间阈值时,应用程序运行结束,同时结束监控进程的运行。
本发明的有益效果在于,本发明技术方案设计一个独立于应用程序主程序之外的监控进程。在主进程运行过程中,会将运行的状态信息写入到某一个中间介质中。这一中间介质可以是文件或者进程间通信队列。监控进程在自己的生命周期中,不断监测这一中间介质中的状态信息,以确定主进程时候还在运行。一旦监控进程发现中间介质中的主进程运行信息不再更新中间介质,监控进程判断主进程已经意外终止,并重新启动主进程。避免一个已经无响应的应用程序长时间占用系统资源导致运行效率低下,为用户提供方便有效解决当程序崩溃时进行人工触发重新启动,用户体验差的问题,完全满足用户的需求。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明提供的一种自动化重启应用程序的方法流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本发明实施例提供一种自动化重启应用程序的方法,包括如下步骤:
启动应用程序,为应用程序分配第一定时器,设置第一定时器的最大计数时间为第一时间阈值;
创建监控程序,对监控程序进行初始化;
其中,对监控程序进行初始化包括:
为监控程序分配第二定时器,设置第二定时器的最大计数时间为第二时间阈值;
第一时间阈值大于第二时间阈值。
S1:监测应用程序的运行状态;
S2:将监测到的运行状态的信息写入到中间介质;
将监测到的运行状态的信息写入到中间介质,复位第二定时器。
S3:实时监测中间介质的状态信息,若中间介质的状态信息在第二时间阈值到达时未更新,触发重启指令,复位第一定时器和第二定时器;
若第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
S4:接收到重启命令重启应用程序,复位第一定时器和第二定时器。
启动应用程序,并为该启动的应用程序分配第一定时器,用于对该应用程序的运行时间进行计时;设置第一定时器的最大计数时间为第一时间阈值;
创建监控程序,并在应用程序主程序启动时对监控程序进行初始化,其中,包括监控程序启动时分配第二定时器,用于对中间介质的状态变化进行计时,设置第二定时器的最大计数时间为第二时间阈值;
应用程序运行中,利用第一监测模块监测运行的应用程序主进程的运行状态并将监测到的主进程的运行状态信息写入到中间介质,其中,中间介质包括文件或者进程间通信队列;
监控进程的第二监控模块实时监测中间介质的状态信息,第二定时器超时之前,若中间介质中的主进程运行的状态信息进行了更新,复位模块对第二定时器进行复位。
第二定时器超市时,若中间介质中的主进程运行的状态信息没有更新,监控进程触发重启指令。
重启模块在接收到重启命令时重启应用程序, 并在应用程序主程序启动时复位第二定时器。
第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
应用程序运行结束,同时监控进程的运行自动结束。
基于上述方法实施例本发明还提供一种自动化重启应用程序的系统,包括
第一监测模块,用于监测应用程序的运行状态;
写入模块,用于将监测到的运行状态的信息写入到中间介质;
第二监测模块,用于实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值未更新,触发重启指令。
该系统还包括创建模块和初始化模块,
初始化模块,用于启动应用程序,并为应用程序分配第一定时器;
第一定时器,用于对应用程序的运行时间进行计时;
创建模块,用于创建监控程序;
初始化模块,还用于对监控程序分配第二定时器;
第二定时器,用于对中间介质的状态信息变化时间进行计时;
其中,第一定时器设定的最大计数时间为第一时间阈值,
第二定时器设定的最大计数时间为第二时间阈值,第一时间阈值大于第二时间阈值。
该系统还包括复位模块和重启模块,
写入模块将监测到的运行状态的信息写入到中间介质时,复位模块,用于复位第二定时器;
重启模块,用于接收到重启命令重启应用程序。
该系统还包括定时器处理模块,定时器处理模块,用于当第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
初始化模块启动应用程序,并为该启动的应用程序分配第一定时器,第一定时器用于对该应用程序的运行时间进行计时;设置第一定时器的最大计数时间为第一时间阈值;
创建模块创建监控程序,并在应用程序主程序启动时初始化模块对监控程序进行初始化,其中,包括监控程序启动时分配第二定时器,用于对中间介质的状态变化进行计时,设置第二定时器的最大计数时间为第二时间阈值;
应用程序运行中,利用第一监测模块监测运行的应用程序主进程的运行状态并将监测到的主进程的运行状态信息写入到中间介质,其中,中间介质包括文件或者进程间通信队列;
监控进程的第二监控模块实时监测中间介质的状态信息,第二定时器超时之前,若中间介质中的主进程运行的状态信息进行了更新,复位模块对第二定时器进行复位。
第二定时器超市时,若中间介质中的主进程运行的状态信息没有更新,监控进程触发重启指令。
重启模块在接收到重启命令时重启应用程序, 并在应用程序主程序启动时复位第二定时器。
第一定时器计数超时时,定时器处理模块触发应用程序的复位模块复位第一定时器同时复位第二定时器。
应用程序运行结束,同时监控进程的运行自动结束。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种自动化重启应用程序的方法,其特征在于,包括如下步骤:
S1:监测应用程序的运行状态;
S2:将监测到的运行状态的信息写入到中间介质;
S3:实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值内未更新,触发重启指令。
2.根据权利要求1所述的一种自动化重启应用程序的方法,其特征在于,步骤S1之前还包括步骤:
启动应用程序,为应用程序分配第一定时器,设置第一定时器的最大计数时间为第一时间阈值;
创建监控程序,对监控程序进行初始化;
其中,对监控程序进行初始化包括:
为监控程序分配第二定时器,设置第二定时器的最大计数时间为第二时间阈值;
第一时间阈值大于第二时间阈值。
3.根据权利要求2所述的一种自动化重启应用程序的方法,其特征在于,步骤S2包括:
将监测到的运行状态的信息写入到中间介质,复位第二定时器。
4.根据权利要求3所述的一种自动化重启应用程序的方法,其特征在于,步骤S3还包括:
若中间介质的状态信息在第二时间阈值到达时未更新,触发重启指令,复位第一定时器和第二定时器。
5.根据权利要求3所述的一种自动化重启应用程序的方法,其特征在于,步骤S3还包括:
若第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
6.根据权利要求4所述的一种自动化重启应用程序的方法,其特征在于,步骤S3之后还包括:S4:接收到重启命令重启应用程序,复位第一定时器和第二定时器。
7.一种自动化重启应用程序的系统,其特征在于,包括
第一监测模块,用于监测应用程序的运行状态;
写入模块,用于将监测到的运行状态的信息写入到中间介质;
第二监测模块,用于实时监测中间介质的状态信息,若中间介质的状态信息在设定时间阈值未更新,触发重启指令。
8.根据权利要求7所述的一种自动化重启应用程序的系统,其特征在于,该系统还包括创建模块和初始化模块,
初始化模块,用于启动应用程序,并为应用程序分配第一定时器;
第一定时器,用于对应用程序的运行时间进行计时;
创建模块,用于创建监控程序;
初始化模块,还用于对监控程序分配第二定时器;
第二定时器,用于对中间介质的状态信息变化时间进行计时;
其中,第一定时器设定的最大计数时间为第一时间阈值,
第二定时器设定的最大计数时间为第二时间阈值,第一时间阈值大于第二时间阈值。
9.根据权利要求8所述的一种自动化重启应用程序的系统,其特征在于,该系统还包括复位模块和重启模块,
写入模块将监测到的运行状态的信息写入到中间介质时,复位模块,用于复位第二定时器;
重启模块,用于接收到重启命令重启应用程序。
10.根据权利要求9所述的一种自动化重启应用程序的系统,其特征在于,该系统还包括定时器处理模块,定时器处理模块,用于当第一定时器计数超时时,触发应用程序的复位模块复位第一定时器同时复位第二定时器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810322537.8A CN108563529A (zh) | 2018-04-11 | 2018-04-11 | 一种自动化重启应用程序的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810322537.8A CN108563529A (zh) | 2018-04-11 | 2018-04-11 | 一种自动化重启应用程序的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108563529A true CN108563529A (zh) | 2018-09-21 |
Family
ID=63534610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810322537.8A Pending CN108563529A (zh) | 2018-04-11 | 2018-04-11 | 一种自动化重启应用程序的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563529A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684120A (zh) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | 系统服务通信方法、装置、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598313A (zh) * | 2015-02-04 | 2015-05-06 | 广州市久邦数码科技有限公司 | 一种应用进程被停止后自动重启的实现方法及其系统 |
CN104932964A (zh) * | 2014-03-17 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种计算机功能程序的监控处理方法和装置 |
CN105930229A (zh) * | 2016-04-14 | 2016-09-07 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的系统更新监控方法及系统 |
CN106598594A (zh) * | 2016-12-14 | 2017-04-26 | 捷开通讯(深圳)有限公司 | 一种快速恢复测试程序的测试系统及方法 |
CN106959908A (zh) * | 2017-03-03 | 2017-07-18 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的应用程序自动重启控制方法及系统 |
CN107229532A (zh) * | 2017-05-05 | 2017-10-03 | 惠州Tcl移动通信有限公司 | 固件下载控制方法、系统,移动终端及可读存储介质 |
-
2018
- 2018-04-11 CN CN201810322537.8A patent/CN108563529A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932964A (zh) * | 2014-03-17 | 2015-09-23 | 无锡天脉聚源传媒科技有限公司 | 一种计算机功能程序的监控处理方法和装置 |
CN104598313A (zh) * | 2015-02-04 | 2015-05-06 | 广州市久邦数码科技有限公司 | 一种应用进程被停止后自动重启的实现方法及其系统 |
CN105930229A (zh) * | 2016-04-14 | 2016-09-07 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的系统更新监控方法及系统 |
CN106598594A (zh) * | 2016-12-14 | 2017-04-26 | 捷开通讯(深圳)有限公司 | 一种快速恢复测试程序的测试系统及方法 |
CN106959908A (zh) * | 2017-03-03 | 2017-07-18 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的应用程序自动重启控制方法及系统 |
CN107229532A (zh) * | 2017-05-05 | 2017-10-03 | 惠州Tcl移动通信有限公司 | 固件下载控制方法、系统,移动终端及可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684120A (zh) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | 系统服务通信方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933324B (zh) | 具有非易失性逻辑存储器的处理设备的通过功率损耗硬件方法的计算 | |
US10983585B2 (en) | Platform and processor power management | |
JP3803418B2 (ja) | コンピュータ・システムの電力を管理する方法およびそのコンピュータ・システム | |
US9459949B2 (en) | Methods and apparatus to provide failure detection | |
CN102779072B (zh) | 一种嵌入式系统及其应用进程的休眠与唤醒方法 | |
CN102999384B (zh) | 在挂起状态和执行状态下管理进程 | |
US20100235558A1 (en) | Multiprocessor System Having Multiple Watchdog Timers and Method of Operation | |
WO2019028854A1 (zh) | 一种虚拟机的状态管理方法、装置和智能终端 | |
CN111683287B (zh) | 智能设备启动方法、装置、智能设备和可读存储介质 | |
CN102981825A (zh) | 一种移动终端后台数据的管理方法及系统 | |
CN109144787A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
CN108563529A (zh) | 一种自动化重启应用程序的方法及系统 | |
CN104077199A (zh) | 基于共享磁盘的高可用集群的隔离方法和系统 | |
CN104899274A (zh) | 一种内存数据库高效远程访问方法 | |
CN106873954A (zh) | 初始化周边装置的方法与使用此方法的电子装置 | |
CN112612586A (zh) | 一种基于反应式架构设计连接设备的方法及系统 | |
US20060075061A1 (en) | Management of microcode lock in a shared computing resource | |
CN108737566B (zh) | 一种分布式的实时消息过滤系统 | |
CN102810007B (zh) | 一种计算机状态转换方法、装置及计算机 | |
CN107479900B (zh) | 一种适用于实时操作系统的热插拔软件方案 | |
CN102521060A (zh) | 基于看门狗本地检测技术的高可用集群系统假死解决方法 | |
CN112987904B (zh) | 一种心跳控制方法和装置 | |
CN117075708A (zh) | 一种设置服务器dpu网卡进入fs-5状态的方法 | |
CN100375023C (zh) | 自动改变计算机启动顺序的实现方法 | |
CN110113395B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180921 |