CN105260655B - 一种应用程序启动保护的方法、装置及系统 - Google Patents
一种应用程序启动保护的方法、装置及系统 Download PDFInfo
- Publication number
- CN105260655B CN105260655B CN201410334777.1A CN201410334777A CN105260655B CN 105260655 B CN105260655 B CN 105260655B CN 201410334777 A CN201410334777 A CN 201410334777A CN 105260655 B CN105260655 B CN 105260655B
- Authority
- CN
- China
- Prior art keywords
- application program
- information
- target application
- starting
- daemon
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种适用于计算机技术领域的应用程序启动保护的方法。所述方法包括:向信息控制中心发送检测目标应用程序运行状态的检测请求;根据信息控制中心反馈的信息获取所述目标应用程序的运行状态;当获取的所述目标应用程序的运行状态为停止运行时,向信息控制中心发送重启所述目标应用程序的重启请求;所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息。本发明还提供一种应用所述用程序启动保护的方法的装置及系统。本发明可实现目标应用程序被强制退出后,守护应用程序保护目标应用程序重新启动。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序启动保护的方法、装置及系统。
背景技术
目前,智能终端中安装的应用程序,很容易出现强制退出的情形。例如:被第三方应用程序强制停止,或者由于应用程序自身的逻辑出错导致应用程序崩溃等等。因此,要对应用程序做好启动保护就显得格外重要。
现有技术的解决方法是通过在本应用程序内启动新的守护进程,利用进程间的守护监听保护应用程序启动。其特点是守护进程与应用程序属于不同进程,但归属与同一应用程序。虽然该方法保证了进程终止后能通过本应用程序中的其他进程重新启动该应用程序,但需要在一个应用程序中启动两个进程,不仅浪费系统资源,并且不能让由于自身的逻辑出错而崩溃的应用程序重启。
发明内容
本发明实施例提供一种应用程序启动保护的方法,旨在解决应用程序被强制退出后如何重启的问题。
本发明实施例是这样实现的,一种应用程序启动保护的方法,所述方法包括:
向信息控制中心发送检测目标应用程序运行状态的检测请求;
根据信息控制中心反馈的信息获取所述目标应用程序的运行状态;
当获取的所述目标应用程序的运行状态为停止运行时,向信息控制中心发送重启所述目标应用程序的重启请求;
所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息。
发明实施例还提供了一种应用程序启动保护的方法,所述方法包括:
接收信息控制中心发送的重启信息,所述重启信息包括启动目标应用程序的启动装载信息;
判断所述重启信息与被控信息是否匹配,若重启信息与被控信息匹配则重启目标应用程序;
所述被控信息包括启动装载信息的参数和格式。
本发明实施例还提供了一种应用程序启动保护的装置,所述装置包括:
检测请求发送单元,用于向信息控制中心发送检测目标应用程序运行状态的检测请求;
运行状态判断单元,用于根据信息控制中心反馈的信息获取所述目标应用程序的运行状态;
重启请求发送单元,用于当获取的所述目标应用程序的运行状态为停止运行时,向信息控制中心发送重启所述目标应用程序的重启请求;
所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息。
本发明实施例还提供了一种应用程序启动保护的装置,所述装置包括:
重启信息接收单元,用于接收信息控制中心发送的重启信息,所述重启信息包括启动目标应用程序的启动装载信息;
应用程序启动单元,用于判断所述重启信息与被控信息是否匹配,若重启信息与被控信息匹配则重启目标应用程序;
所述被控信息包括启动装载信息的参数和格式。
本发明实施例还提供了一种应用程序启动保护的系统,所述系统包括守护应用程序、目标应用程序,其中:
所述守护应用程序向所述信息控制中心发送检测所述目标应用程序运行状态的检测请求,根据所述信息控制中心反馈的信息判断所述目标应用程序的运行状态,当获取的所述目标应用程序的运行状态为停止运行时,向所述信息控制中心发送重启所述目标应用程序的重启请求;
所述目标应用程序接收信息控制中心根据守护应用程序重启目标应用程序的重启请求发送的重启信息,若所述重启信息与被控信息匹配,则重启所述目标应用程序;
所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;
所述重启信息包括启动目标应用程序的启动装载信息;
所述被控信息包括启动装载信息的参数和格式。
本发明实施例中守护应用程序向信息控制中心发送检测目标应用程序运行状态的检测请求,根据信息控制中心反馈的信息获取所述目标应用程序的运行状态,当所述目标应用程序停止运行时,向信息控制中心发送重启所述目标应用程序的重启请求,可实现目标应用程序被强制退出后,守护应用程序保护目标应用程序重新启动。
附图说明
图1是本发明实施例提供的应用程序启动保护系统的结构示意图;
图2是本发明实施例提供的终端设备的模块图;
图3是本发明实施例提供的应用程序启动保护方法的流程图;
图4是本发明另一实施例提供的应用程序启动保护方法的流程图;
图5是本发明另一实施例提供的应用程序启动保护方法的流程图;
图6是本发明实施例提供的应用程序启动保护装置的结构示意图;
图7是本发明另一实施例提供的应用程序启动保护装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过不同应用程序之间形成守护联盟,利用不同应用程序之间相互守护监听,实现应用程序在被强制退出后能在其他守护应用程序的守护下重启。
本发明实施例为了实现守护应用程序守护监听目标应用程序,需要在守护应用程序中预置控制信息,在目标应用程序中预置被控信息,控制信息和被控信息的信息匹配。当目标应用程序停止运行时,守护应用程序向信息控制中心发送重启目标应用程序的重启请求,信息控制中心根据重启请求发起目标应用程序的重启操作,若重启操作中携带的信息与被控信息匹配,则目标应用程序重启。
在本发明实施例中,一个守护应用程序可以守护多个目标应用程序,一个目标应用程序也可以被多个守护应用程序守护。守护应用程序和目标应用程序为同一智能终端上的不用应用程序。信息控制中心具备启动应用程序、关闭应用程序,获取应用程序信息,向应用程序发送信息功能的至少一种,信息控制中心具备的其他功能,本发明并不对此进行限定。信息控制中心可以是操作系统,在本发明实施例中,以信息控制中心为Android操作系统为例进行说明。
图1示出了本发明实施例提供的应用程序启动保护系统的结构示意图,该应用程序启动保护系统包括:终端设备700以及安装在终端设备700中的守护应用程序61、目标应用程序62以及信息控制中心63。其中:
守护应用程序61可以通过有线或者无线网络,在服务器中下载并安装在终端设备700上;目标应用程序62可以通过有线或者无线网络,在服务器中下载并安装在终端设备700上;守护应用程序61和目标应用程序62是两个不同的应用程序,可以安装在同一终端设备700上,还可以安装在不同终端设备700上。
守护应用程序61向信息控制中心63发送检测目标应用程序62运行状态的检测请求,根据信息控制中心63反馈的信息获取目标应用程序62的运行状态,当目标应用程序62的运行状态为停止运行时,守护应用程序61向信息控制中心63发送重启目标应用程序62的重启请求。
目标应用程序62接收信息控制中心63根据守护应用程序重启目标应用程序的重启请求发送的重启信息,若所述重启信息与被控信息匹配,则目标应用程序62重新启动。
在本发明实施例中,所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;所述重启信息包括启动目标应用程序的启动装载信息;所述被控信息包括启动装载信息的参数和格式。
本发明实施例通过检测目标应用程序的运行状态,当目标应用程序的运行状态为停止运行时,守护应用程序向信息控制中心发送重启目标应用程序的重启请求,信息控制中心根据重启请求发起目标应用程序的重启操作,若重启操作中携带的信息与被控信息中携带的信息匹配,则目标应用程序重启,从而实现了守护应用程序守护监听目标应用程序,保护目标应用程序在被强制退出后重启。
图2示出了实现本发明实施例的一个终端设备700的模块图。该终端设备700只是一个适用于本发明的终端设备的示例,不能认为是提出了对本发明的使用范围的任何限制。终端设备700也不能解释为需要依赖于或具有图示的示例性的终端设备700中的一个或多个部件的组合。
图2中示出的终端设备700是一个适合用于本发明的例子。具有不同子系统配置的其它架构也可以使用。例如有大众所熟知的平板电脑、手机、电子阅读器、个人计算机、笔记本电脑、车载设备、网络电视、可穿戴设备等智能终端可适用于本发明的一些实施例。但不限于以上所列举的终端设备。
如图2所示,终端设备700包括处理器710、存储器720和系统总线722。包括存储器720和处理器710在内的各种系统组件连接到系统总线722上。处理器710是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器720是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线720可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器710和存储器720可以通过系统总线722进行数据通信。其中存储器720包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
终端设备700还包括显示接口730(例如,图形处理单元)、显示设备740(例如,液晶显示器)、音频接口750(例如,声卡)以及音频设备760(例如,扬声器)。显示设备740和音频设备760是用于体验多媒体内容的媒体设备。
终端设备700一般包括一个存储设备770。存储设备770可以从多种计算机可读介质中选择,计算机可读介质是指可以通过终端设备700访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型SD卡),CD-ROM,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由终端设备700访问的任何其它介质。
终端设备700还包括输入装置780和输入接口790(例如,IO控制器)。用户可以通过输入装置780,如键盘、鼠标、显示设备740上的触摸面板设备,输入指令和信息到终端设备700中。输入装置780通常是通过输入接口790连接到系统总线722上的,但也可以通过其它接口或总线结构相连接,如通用串行总线(USB)。
终端设备700可在网络环境中与一个或者多个网络设备进行逻辑连接。网络设备可以是个人电脑、服务器、路由器、智能电话、平板电脑或者其它公共网络节点。终端设备700通过局域网(LAN)接口724或者移动通信单元726与网络设备相连接。局域网(LAN)是指在有限区域内,例如家庭、学校、计算机实验室、或者使用网络媒体的办公楼,互联组成的计算机网络。WiFi和双绞线布线以太网是最常用的构建局域网的两种技术。WiFi是一种能使终端设备700间交换数据或通过无线电波连接到无线网络的技术。移动通信单元726能在一个广阔的地理区域内移动的同时通过无线电通信线路接听和拨打电话。除了通话以外,移动通信单元726也支持在提供移动数据服务的2G,3G或4G蜂窝通信系统中进行互联网访问。
应当指出的是,其它包括比终端设备700更多或更少的子系统的计算机系统也能适用于发明。例如,终端设备700可以包括能在短距离内交换数据的蓝牙单元,用于照相的图像传感器,以及用于测量加速度的加速计。
如上面详细描述的,适用于本发明的终端设备700能应用程序启动保护方法的指定操作。终端设备700通过处理器710运行在计算机可读介质中的软件指令的形式来执行这些操作。这些软件指令可以从存储设备770或者通过局域网接口724从另一设备读入到存储器720中。存储在存储器720中的软件指令使得处理器710执行上述的应用程序保护方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。
图3示出了本发明实施例提供的应用程序启动保护方法的流程,本实施例作为守护应用程序所执行的应用程序保护方法,本发明实施例在守护应用程序中预置控制信息,控制信息可以包括检测时间阈值、至少一个目标应用程序的信息、启动目标应用程序的启动装载信息、启动目标应用程序的启动逻辑信息,该方法可以包括以下步骤:
S101,向信息控制中心发送检测目标应用程序运行状态的检测请求。
在本发明实施例中,在控制信息中预置检测条件,当检测条件满足时启动对目标应用程序运行状态的检测请求。例如,检测条件可以是检测时间阈值,检测时间阈值可以根据需求设定,如1分钟、半小时等。
作为本发明的一个实施例,守护应用程序判断时间是否到达预设的检测时间阈值,当时间到达设定的检测时间阈值时,守护应用程序向信息控制中心发送检测请求,检测目标应用程序的运行状态。
S102,根据信息控制中心反馈的信息获取目标应用程序的运行状态。
在本发明实施例中,被守护应用程序守护的目标应用程序可以有多个,可以在控制信息中预置目标应用程序的信息,以使守护应用程序获知将会守护监听哪些目标应用程序。本发明实施例中,应用程序的信息可以是应用程序安装包的标识(packagename)。
在本发明实施例中,若信息控制中心反馈的是当前终端中所有应用程序的运行状态信息,则守护应用程序在信息控制中心反馈的信息中查找目标应用程序的运行状态来获取目标应用程序的运行状态;若信息控制中心反馈的是当前终端中处于正常运行状态的应用程序信息,则守护应用程序比较目标应用程序的信息和信息控制中心反馈的信息,若目标应用程序的信息不在信息控制中心反馈的信息中,则判断目标应用程序的运行状态为停止运行。
例如,信息控制中心反馈的是当前终端中处于正常运行状态的应用程序安装包的标识,当目标应用程序的安装包标识不在信息控制中心反馈的安装包标识中,则认为被守护的目标应用程序的运行状态为停止运行,否则认为被守护的目标应用程序的运行状态为运行正常。
S103,当目标应用程序的运行状态为停止运行时,向信息控制中心发送重启目标应用程序的重启请求。
在本发明实施例中,在控制信息中预置启动目标应用程序的启动逻辑信息,用于请求信息控制中心发起对目标应用程序重启的操作。在控制信息中预置启动目标应用程序的启动装载信息,包括启动装载信息的参数和格式,用于匹配目标应用程序中的控制信息。
向信息控制中心发送的重启请求中包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息。当获取的所述目标应用程序的运行状态为停止运行时,守护应用程序向信息控制中心发送重启请求,请求信息控制中心重启目标应用程序。
本发明实施例中守护应用程序向信息控制中心发送检测目标应用程序运行状态的检测请求,根据信息控制中心反馈的信息获取目标应用程序的运行状态,当获取的目标应用程序的运行状态为停止运行时,守护应用程序向信息控制中心发送重启目标应用程序的重启请求。通过在守护应用程序中预置控制信息,可实现目标应用程序被强制退出后,守护应用程序保护目标应用程序重新启动。
图4示出了本发明实施例提供的另一种应用程序启动保护方法的流程,本实施例作为目标应用程序所执行的应用程序启动保护方法,该方法可以包括以下步骤:
S201,接收信息控制中心发送的重启信息。
在本发明实施例中,在目标应用程序中预置被控信息。守护目标应用程序启动的守护应用程序可以有多个,在被控信息中预置守护应用程序的信息,以使目标应用程序获知将会被哪些守护应用程序启动守护。例如,守护应用程序的信息包括守护应用程序的安装包标识。
相应的,会在被控信息中预置启动装载信息的参数和格式,用于与重启信息中的启动目标应用程序的装载信息匹配。
在本发明实施例中,信息控制中心根据守护应用程序发送的重启目标应用程序的重启请求,发起重启目标应用程序的重启操作,等待目标应用程序的响应。重启操作中携带的信息为重启信息,重启信息包括启动目标应用程序的启动装载信息。目标应用程序收到信息控制中心发送的启动目标应用程序的启动装载信息后,判断该启动目标应用程序的启动装载信息与被控信息中预置启动装载信息的参数和格式是否匹配。
S202,若所述重启信息与被控信息匹配,则重启目标应用程序。
在本发明实施例中,会在被控信息中预置启动装载信息的参数和格式,启动装载信息的参数可以包括action和data,其中action声明了定义好的行为,data声明了通过这种行为进行参数的传递。
在本发明实施例中,若重启信息中的启动目标应用程序的装载信息与被控信息中的启动装载信息的参数和格式匹配,则目标应用程序重新启动,否则不响应信息控制中心的重启操作。
本发明实施例中通过在目标应用程序中预置被控信息,当信息控制中心根据守护应用程序重启目标应用程序的重启请求发起的重启信息与被控信息匹配时,目标应用程序重新启动,可实现目标应用程序被强制退出后,目标应用程序在守护应用程序的守护监听下重新启动。
图5示出了本发明实施例提供的另一种应用程序启动保护方法的流程,本实施例作为守护应用程序、目标应用程序和信息控制中心相互交互所执行的应用程序启动保护方法,该方法可以包括以下步骤:
S301,守护应用程序向信息控制中心发送检测目标应用程序运行状态的检测请求。
在本发明实施例中,在控制信息中预置检测条件,当检测条件满足时启动对目标应用程序运行状态的检测请求。例如可以设定检测时间阈值,检测时间阈值可以根据需求设定,如1分钟、半小时等。
作为本发明的一个实施例,守护应用程序判断时间是否到达预设的检测时间阈值,当时间到达设定的检测时间阈值时,守护应用程序开始向信息控制中心发送检测请求,检测目标应用程序的运行状态。
作为本发明的一个实施例,一个目标应用程序也可以被多个守护应用程序守护,当有多个守护应用程序保护目标应用程序启动时,保护应用程序启动的方法可以为:
多个守护应用程序分别向信息控制中心发送检测目标应用程序的运行状态检测请求;其中,发送检测请求检测时间阈值可以根据守护应用程序的优先级确定。优先级较高的守护应用程序,检测时间阈值可以设置的短些,这样发送检测请求的频率较高,从而保护目标应用程序在被强制退出后快速重启。优先级较低的守护应用程序,检测时间阈值可以设置的稍长些,这样发送检测请求的频率较低,防止发送过多的检测请求,浪费系统资源,同时保证目标应用程序被强制退出后能在一定的时间内重新启动。
在本发明实施例中,守护应用程序的优先级可以根据应用程序的文件大小和活跃度中的至少一种来确定。例如,应用程序的文件越大优先级越低,反之,文件越小优先级越高;活跃度越低优先级越低,反之则活跃度越高优先级越高。其中,活跃度可以根据用户使用应用程序的频率或时长来确定。用户使用应用程序的频率越高或时间越长,该应用程序的活跃度越高,反之则活跃度越低。
在本发明实施例中,可以只根据应用程序的文件大小来确定守护应用程序的优先级,也可以只根据应用程序的活跃度来确定守护应用程序的优先级。还可以根据应用程序的文件大小和活跃度来确定守护应用程序的优先级,此时,需要确定文件大小与活跃度所占的权重。
例如,根据文件大小将应用程序的优先级划分为A、B、C,相应的权重分别为I(A)、I(B)、I(C);根据活跃度将应用程序的等级划分为a、b、c,相应的权重分别为I(a)、I(b)、I(c)。例如,某守护应用程序Q文件大小优先级为B,活跃度优先级为a,则最后的得分为B*I(B)+a*I(a),根据最后的得分来确定多个守护应用程序的优先级。
S302,信息控制中心根据所述检测请求,获取当前终端中处于正常运行状态的应用程序的信息,并将获取的信息反馈给守护应用程序。
在本发明实施例中,运行状态包括停止运行状态和正常运行状态。信息控制中心收到守护应用程序的检查请求后,获取当前终端中处于正常运行状态的应用程序的标识。
作为本发明的一个实施例,信息控制中心获取当前终端中处于正常运行状态的应用程序的标识源代码如下:
S303,守护应用程序根据信息控制中心反馈的信息获取目标应用程序的运行状态。
在本发明实施例中,被守护应用程序守护的目标应用程序可以有多个,可以在控制信息中预置目标应用程序的信息,以使守护应用程序获知将会守护监听哪些目标应用程序。本发明实施例中,应用程序的信息可以是应用程序安装包的标识(packagename)。
在本发明实施例中,守护应用程序比较目标应用程序的信息和信息控制中心反馈的信息,若目标应用程序的信息不在信息控制中心反馈的信息中,则判断目标应用程序的运行状态为停止运行。
例如,信息控制中心反馈的是当前终端中处于正常运行状态的应用程序安装包的标识,当目标应用程序的安装包标识不在信息控制中心反馈的安装包标识中,则认为被守护的目标应用程序的运行状态为停止运行,否则其中认为被守护的目标应用程序运行状态为正常运行。
在本发明实施例中,可以统计目标应用程序的运行状态为停止运行的频率,该频率为目标应用程序停止运行的次数与信息控制中心返回的目标应用程序的运行状态的总次数的比值。
作为本发明的一个实施例,检测时间阈值可以根据需求来设定,具体的,可以根据所述频率来调整。假设预设的检测时间阈值为1小时,若所述频率增加,则检测时间阈值缩短,如半小时;若所述频率下降,相应的检测时间阈值变长,如2小时。这样既能保证目标应用程序在被强制退出后快速重启,又能防止发送过多的检测请求,浪费系统资源。
S304,当目标应用程序停止运行时,守护应用程序向信息控制中心发送重启目标应用程序的重启请求。
在本发明实施例中,在控制信息中预置启动目标应用程序的启动装载信息,包括启动装载信息的参数和格式。启动目标应用程序的启动装载信息的参数和格式需要与被控信息中启动装载信息的参数和格式相匹配。启动装载信息的参数包括action和data,在控制信息中预定义的data和action的格式要与被控信息中的data和action的格式匹配,只有这样守护应用程序才能保护目标应用程序程序的重启。在本发明实施例中,启动目标应用程序的启动装载信息源代码如下:
intent.setAction("ycs.test.action")
Uri data=Uri.parse("ycsschema://ycs.test/subath?msg=helloworld")
intent.setData(data)
在本发明实施例中,在控制信息中预置启动目标应用程序的启动逻辑信息,用于请求信息控制中心发起对目标应用程序重启的操作。启动目标应用程序的启动逻辑信息源代码如下:
try{startActivity(intent)}
catch(Exception e){Toast.makeText(ApplicationJumpFromActivity.this,"目的地程序未安装",Toast.LENGTH_LONG).show()}
在本发明实施例中,当判断出目标应用程序处于停止运行状态时,守护应用程序向信息控制中心发送启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息,请求信息控制中心重启目标应用程序。
S305,信息控制中心根据所述重启请求发起对目标应用程序的重启操作。
在本发明实施例中,信息控制中心根据守护应用程序发送的重启目标应用程序的重启请求,发起目标应用程序的重启操作,等待目标应用程序的响应。重启操作中携带的信息包括启动目标应用程序的启动装置信息。
S306,接收信息控制中心发送的重启信息。
在本发明实施例中,在目标应用程序中预置被控信息。守护目标应用程序启动的守护应用程序可以有多个,在被控信息中预置守护应用程序的信息,以使目标应用程序获知将会被哪些守护应用程序启动守护。守护应用程序的信息包括守护应用程序的安装包标识。
相应的,会在被控信息中预置启动装载信息的参数和格式,用于与重启信息中的启动目标应用程序的装载信息匹配。
作为本发明实施例的一个实施例,启动装载信息的参数包括action和data,其中action声明了定义好的行为,data声明了通过这种行为进行参数的传递。在本发明实施例中,被控信息中预置的启动装载信息的参数和格式的源代码如下:
S307,若信息控制中心发送的重启信息与被控信息匹配,则目标应用程序重新启动。
在本发明实施例中,若信息控制中心发起的重启操作中包含的启动目标应用程序的启动装载信息的参数和格式,与被控信息中的启动装载信息的参数和格式向匹配,则目标应用程序根据信息控制中心的重启操作重启,否则目标应用程序不响应信息控制中心的重启操作。
本发明实施例通过检测目标应用程序的运行状态,当目标应用程序停止运行时,守护应用程序向信息控制中心发送重启目标应用程序的重启请求,信息控制中心根据重启请求发起目标应用程序的重启操作,若重启操作中携带的信息与被控信息匹配,则目标应用程序重启,从而实现了守护应用程序守护监听目标应用程序,保护目标应用程序在被强制退出后重启。
图6示出了本发明实施例提供的应用程序启动保护装置的结构示意图,该装置包括:检测请求发送单元41、运行状态判断单元42以及重启请求发送单元43,其中:
检测请求发送单元41,向信息控制中心发送检测目标应用程序运行状态的检测请求。
作为本发明的一个实施例,检测请求发送单元41包括:检测条件判断模块411、检测请求发送模块412,其中:
检测条件判断模块411,判断发送检测请求的检测条件是否满足。
检测请求发送模块412,当检测条件判断模块411判断发送检测请求的检测条件满足时,向信息控制中心发送检测目标应用程序运行状态的检测请求。
在本发明实施例中,在控制信息中预置检测条件,当检测条件满足时启动对目标应用程序运行状态的检测请求。例如可以设定检测时间阈值,检测时间阈值可以根据需求设定,如1分钟、半小时等。
作为本发明的一个实施例,一个目标应用程序也可以被多个守护应用程序守护,当有多个守护应用程序保护目标应用程序启动时,检测请求发送单元41还包括:检测条件设定模块413,其中:
检测条件设定模块413,根据预设的优先级确认所述检测条件,该优先级可以根据应用程序的文件大小和活跃度中的至少一种确定。
在本发明实施例中,多个守护应用程序分别向信息控制中心发送检测目标应用程序的运行状态检测请求;其中,发送检测请求的检测条件可以根据守护应用程序的优先级确定。例如,检测条件可以是检测时间阈值,优先级较高的守护应用程序中,检测时间阈值可以设置的短些,这样发送检测请求的频率较高,从而保护目标应用程序在被强制退出后快速重启。优先级较低的守护应用程序中,检测时间阈值可以设置的稍长些,这样发送检测请求的频率较低,防止发送过多的检测请求,浪费系统资源,同时保证目标应用程序在被强制退出后能在一定的时间内重新启动。
在本发明实施例中,可以根据应用程序的文件大小和活跃度中的至少一种来确定守护应用程序的优先级。例如,应用程序的文件越大优先级越低,反之,文件越小优先级越高;活跃度越低优先级越低,反之则活跃度越高优先级越高。其中,活跃度可以根据用户使用应用程序的频率或时长来确定。用户使用应用程序的频率越高或时间越长,该应用程序的活跃度越高,反之则活跃度越低。
作为本发明的一个实施例,检测请求发送单元41还包括:检测条件调整模块414,其中:
检测条件调整模块414,可以根据所述目标应用程序停止运行的频率调整所述检测条件。
在本发明实施例中,可以统计目标应用程序的运行状态为停止运行的频率,该频率为目标应用程序的运行状态为停止运行的次数与信息控制中心返回的目标应用程序的运行状态的总次数的比值。检测条件可以根据需求来设定,具体的,可以根据所述频率来调整。若检测条件为检测时间阈值,假设预设的检测时间阈值为1小时,若所述频率增加,则检测时间阈值缩短,如半小时;若所述频率下降,相应的检测时间阈值变长,如2小时。这样既能保证目标应用程序在被强制退出后快速重启,又能防止发送过多的检测请求,浪费系统资源。
运行状态判断单元42,根据信息控制中心反馈的信息获取所述目标应用程序的运行状态。
在本发明实施例中,若信息控制中心反馈的是当前终端中所有应用程序的运行状态信息,则守护应用程序在信息控制中心反馈的信息中查找目标应用程序的运行状态来获取目标应用程序的运行状态;若信息控制中心反馈的是当前终端中处于正常运行状态的应用程序信息,则守护应用程序比较目标应用程序的信息和信息控制中心反馈的信息,若目标应用程序的信息不在信息控制中心反馈的信息中,则判断目标应用程序的运行状态为停止运行。目标应用程序的信息包括应用程序安装包的标识。
重启请求发送单元43,当所述目标应用程序的运行状态为停止运行时,向信息控制中心发送重启该目标应用程序的重启请求。
在本发明实施例中,当守护应用程序获取的目标应用程序的运行状态为停止运行时,向信息控制中心发送启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息,请求信息控制中心重启目标应用程序。
本发明实施例中守护应用程序通过控制信息向信息控制中心发送检测目标应用程序运行状态的检测请求,根据信息控制中心反馈的应用程序信息获取目标应用程序的运行状态,当目标应用程序处于停止运行状态时,向信息控制中心发送重启该目标应用程序的重启请求。通过在守护应用程序中预置控制信息,可实现目标应用程序被强制退出后,守护应用程序保护目标应用程序重新启动。
图7示出了本发明另一实施例提供的应用程序启动保护装置的结构示意图,该装置包括:重启信息接收单元51以及应用程序启动单元52,其中:
重启信息接收单元51,接收信息控制中心发送的重启信息。
在本发明实施例中,在目标应用程序中预置被控信息。守护目标应用程序启动的守护应用程序可以有多个,在被控信息中预置守护应用程序的信息,以使目标应用程序获知将会被哪些守护应用程序启动守护。例如,守护应用程序的信息包括守护应用程序的安装包标识。
相应的,会在被控信息中预置启动装载信息的参数和格式,用于与重启信息中的启动目标应用程序的装载信息匹配。
在本发明实施例中,信息控制中心根据守护应用程序发送的重启目标应用程序的重启请求,发起重启目标应用程序的重启操作,等待目标应用程序的响应。重启操作中携带的信息为重启信息,重启信息包括启动目标应用程序的启动装载信息。目标应用程序收到信息控制中心发送的启动目标应用程序的启动装载信息后,判断该启动目标应用程序的启动装载信息与被控信息中预置启动装载信息的参数和格式是否匹配。
应用程序启动单元52,当重启信息接收单元51接收的重启信息与被控信息匹配时,重启应用程序。
在本发明实施例中,会在被控信息中预置启动装载信息的参数和格式,若重启信息中的启动目标应用程序的装载信息与被控信息中的启动装载信息的参数和格式匹配,则目标应用程序重新启动,否则不响应信息控制中心的重启操作。
本发明实施例中通过在目标应用程序中预置被控信息,当信息控制中心根据守护应用程序重启目标应用程序的重启请求发起的重启信息与被控信息匹配时,目标应用程序重新启动,可实现目标应用程序被强制退出后,守护应用程序保护目标应用程序重新启动。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明实施例通过不同应用程序之间形成守护联盟,利用不同应用程序之间相互守护监听,实现应用程序在被强制退出后能在其他守护应用程序的守护下重启。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种应用程序强制退出时启动保护的方法,其特征在于,所述方法由终端设备执行,所述终端设备上安装有守护应用程序和目标应用程序,所述守护应用程序中预置有控制信息,所述控制信息包括至少一个目标应用程序的信息以及启动所述至少一个目标应用程序的启动装载信息,包括:
向信息控制中心发送检测目标应用程序运行状态的检测请求,其中,所述目标应用程序和所述守护应用程序为不同的应用程序,所述目标应用程序包含被控信息,被至少一个守护应用程序守护,所述被控信息中预置有所述至少一个守护应用程序的信息以及所述目标应用程序的启动装载信息;
比较信息控制中心反馈的处于正常运行状态的应用程序的信息和目标应用程序的信息,确定所述目标应用程序的运行状态是否为正常运行;
当所述处于正常运行状态的应用程序的信息中不包含所述目标应用程序的信息时,确定所述目标应用程序的运行状态为停止运行,向信息控制中心发送重启所述目标应用程序的重启请求,以使所述信息控制中心向所述目标应用程序发送重启信息;
所述重启请求包括启动所述目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;当所述重启信息中的启动装载信息与被控信息中的启动装载信息匹配时,目标应用程序重新启动。
2.根据权利要求1所述的方法,其特征在于,所述被控信息中进一步包括:发送检测请求的检测条件;所述向信息控制中心发送检测目标应用程序运行状态的检测请求包括:
判断发送检测请求的检测条件是否满足;
当发送检测请求的检测条件满足时,向信息控制中心发送检测目标应用程序运行状态的检测请求。
3.根据权利要求2所述的方法,其特征在于,所述检测条件为检测时间阈值;
所述判断发送检测请求的检测条件是否满足包括:
判断时间是否到达预设的检测时间阈值。
4.根据权利要求2所述的方法,其特征在于,所述检测条件根据预设的优先级设定;
所述优先级根据应用程序的文件大小和活跃度中的至少一种确定。
5.根据权利要求2所述的方法,其特征在于,所述检测条件根据所述目标应用程序停止运行的频率调整。
6.一种应用程序强制退出时启动保护的方法,其特征在于,所述方法由终端设备执行,所述终端设备上安装有守护应用程序和目标应用程序,所述目标应用程序包含被控信息,被至少一个守护应用程序守护,所述被控信息中预置有所述至少一个守护应用程序的信息以及所述目标应用程序的启动装载信息,包括:
接收信息控制中心发送的重启信息,所述重启信息包括启动所述目标应用程序的启动装载信息,其中,守护应用程序比较信息控制中心反馈的处于正常运行状态的应用程序的信息和目标应用程序的信息,确定启动守护的所述目标应用程序的运行状态是否为正常运行;当所述处于正常运行状态的应用程序的信息中不包含所述目标应用程序的信息时,确定所述目标应用程序的运行状态为停止运行,向所述信息控制中心发送重启所述目标应用程序的重启请求,其中,所述重启请求包括启动所述目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;所述目标应用程序和所述守护应用程序为不同的应用程序,所述守护应用程序中预置有控制信息,所述控制信息包括至少一个目标应用程序的信息以及启动所述至少一个目标应用程序的启动装载信息;
判断所述重启信息与所述被控信息是否匹配,若重启信息中的启动装载信息与被控信息中的启动装载信息匹配,则所述目标应用程序重新启动。
7.一种应用程序强制退出时启动保护的装置,其特征在于,所述装置位于终端设备上,所述终端设备上安装有守护应用程序和目标应用程序,所述守护应用程序中预置有控制信息,所述控制信息包括至少一个目标应用程序的信息以及启动所述至少一个目标应用程序的启动装载信息,包括:
检测请求发送单元,用于向信息控制中心发送检测目标应用程序运行状态的检测请求,其中,所述目标应用程序和守护应用程序为不同的应用程序,所述目标应用程序包含被控信息,被至少一个守护应用程序守护,所述被控信息中预置有所述至少一个守护应用程序的信息以及所述目标应用程序的启动装载信息;
运行状态判断单元,用于比较信息控制中心反馈的处于正常运行状态的应用程序的信息和目标应用程序的信息,确定所述目标应用程序的运行状态是否为正常运行;
重启请求发送单元,用于当所述处于正常运行状态的应用程序的信息中不包含所述目标应用程序的信息时,确定所述目标应用程序的运行状态为停止运行,向信息控制中心发送重启所述目标应用程序的重启请求,以使所述信息控制中心向所述目标应用程序发送重启信息;
所述重启请求包括启动所述目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;当所述重启信息中的启动装载信息与被控信息中的启动装载信息匹配时,目标应用程序重新启动。
8.根据权利要求7所述的装置,其特征在于,所述被控信息中进一步包括:发送检测请求的检测条件;所述检测请求发送单元包括:
检测条件判断模块,用于判断发送检测请求的检测条件是否满足;
检测请求发送模块,用于当发送检测请求的检测条件满足时,向信息控制中心发送检测目标应用程序运行状态的检测请求。
9.根据权利要求8所述的装置,其特征在于,所述检测请求发送单元包括:
检测条件设定模块,用于根据预设的优先级确认所述检测条件;
所述优先级根据应用程序的文件大小和活跃度中的至少一种确定。
10.根据权利要求8所述的装置,其特征在于,所述检测请求发送单元包括:
检测条件调整模块,用于根据所述目标应用程序停止运行的频率调整所述检测条件。
11.一种应用程序强制退出时启动保护的装置,其特征在于,所述装置位于终端设备上,所述终端设备上安装有守护应用程序和目标应用程序,所述目标应用程序包含被控信息,被至少一个守护应用程序守护,所述被控信息中预置有所述至少一个守护应用程序的信息以及所述目标应用程序的启动装载信息,所述装置包括:
重启信息接收单元,用于接收信息控制中心发送的重启信息,所述重启信息包括启动所述目标应用程序的启动装载信息,其中,守护应用程序比较信息控制中心反馈的处于正常运行状态的应用程序的信息和目标应用程序的信息,确定启动守护的所述目标应用程序的运行状态是否为正常运行;当所述处于正常运行状态的应用程序的信息中不包含所述目标应用程序的信息时,确定所述目标应用程序的运行状态为停止运行,向所述信息控制中心发送重启所述目标应用程序的重启请求,其中,所述重启请求包括启动所述目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;所述目标应用程序和所述守护应用程序为不同的应用程序,所述守护应用程序中预置有控制信息,所述控制信息包括至少一个目标应用程序的信息以及启动所述至少一个目标应用程序的启动装载信息;
应用程序启动单元,用于判断所述重启信息与所述被控信息是否匹配,若重启信息中的启动装载信息与被控信息中的启动装载信息匹配,则所述目标应用程序重新启动。
12.一种应用程序强制退出时启动保护的系统,其特征在于,所述系统包括守护应用程序、目标应用程序以及信息控制中心,所述守护应用程序中预置有控制信息,所述控制信息包括至少一个目标应用程序的信息以及启动所述至少一个目标应用程序的启动装载信息,所述目标应用程序包含被控信息,被至少一个守护应用程序守护,所述被控信息中预置有所述至少一个守护应用程序的信息以及所述目标应用程序的启动装载信息,其中:
所述守护应用程序向所述信息控制中心发送检测所述目标应用程序运行状态的检测请求,比较所述信息控制中心反馈的处于正常运行状态的应用程序的信息和目标应用程序的信息,确定所述目标应用程序的运行状态是否为正常运行,当所述处于正常运行状态的应用程序的信息中不包含所述目标应用程序的信息时,确定所述目标应用程序的运行状态为停止运行,向所述信息控制中心发送重启所述目标应用程序的重启请求,其中,所述目标应用程序和所述守护应用程序为不同的应用程序;
所述目标应用程序接收所述信息控制中心根据所述守护应用程序重启所述目标应用程序的重启请求发送的重启信息,若所述重启信息中的启动装载信息与被控信息中的启动装载信息匹配,则所述目标应用程序重新启动;
所述重启请求包括启动目标应用程序的启动装载信息和启动目标应用程序的启动逻辑信息;
所述重启信息包括启动目标应用程序的启动装载信息。
13.一种终端设备,其特征在于,包括处理器;
与所述处理器相连接的存储器;所述存储器中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成如权利要求1-6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,存储有机器可读指令,可以使至少一个处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334777.1A CN105260655B (zh) | 2014-07-14 | 2014-07-14 | 一种应用程序启动保护的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334777.1A CN105260655B (zh) | 2014-07-14 | 2014-07-14 | 一种应用程序启动保护的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260655A CN105260655A (zh) | 2016-01-20 |
CN105260655B true CN105260655B (zh) | 2020-05-01 |
Family
ID=55100340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410334777.1A Active CN105260655B (zh) | 2014-07-14 | 2014-07-14 | 一种应用程序启动保护的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260655B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783825B (zh) * | 2016-08-25 | 2021-03-19 | 展讯通信(天津)有限公司 | 移动终端多后台进程启动方法、装置及移动终端 |
CN106933660B (zh) * | 2017-02-17 | 2020-12-08 | 广州启生信息技术有限公司 | 一种安卓平台下应用进程保活的实现方法 |
CN108153586A (zh) * | 2017-12-25 | 2018-06-12 | 北京百度网讯科技有限公司 | 程序管理方法、装置与系统、计算机设备及可读介质 |
CN108595273A (zh) * | 2018-05-10 | 2018-09-28 | 北京世纪东方通讯设备有限公司 | 一种控制台程序守护方法及系统 |
CN109257253B (zh) * | 2018-09-14 | 2020-11-27 | 视联动力信息技术股份有限公司 | 一种app运行监测的方法和装置 |
CN110297723B (zh) * | 2019-05-24 | 2024-04-12 | 深圳市优博讯科技股份有限公司 | 一种防止应用程序中断的方法及终端系统 |
CN110413450A (zh) * | 2019-07-22 | 2019-11-05 | 河南翔宇医疗设备股份有限公司 | 一种处理应用程序崩溃的方法、装置及设备 |
CN111290949A (zh) * | 2020-01-21 | 2020-06-16 | 上海悦易网络信息技术有限公司 | 一种进程守护方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489049A (zh) * | 2002-10-11 | 2004-04-14 | 华为技术有限公司 | 一种对后台程序进行监控的方法 |
CN1979444A (zh) * | 2005-12-06 | 2007-06-13 | 英业达股份有限公司 | 保证伺服程序不间断运行的系统及其方法 |
CN101354677A (zh) * | 2008-09-11 | 2009-01-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序运行状态的检测方法、恢复方法及装置 |
CN103678084A (zh) * | 2012-09-21 | 2014-03-26 | 成都勤智数码科技股份有限公司 | 一种灵活的应用进程守护方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102495767A (zh) * | 2011-11-30 | 2012-06-13 | 凯迈(洛阳)电子有限公司 | 一种用于电池监视器的双看门狗系统 |
JP2013127700A (ja) * | 2011-12-19 | 2013-06-27 | Panasonic Corp | 入退場管理コントローラおよび入退場管理システム |
-
2014
- 2014-07-14 CN CN201410334777.1A patent/CN105260655B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489049A (zh) * | 2002-10-11 | 2004-04-14 | 华为技术有限公司 | 一种对后台程序进行监控的方法 |
CN1979444A (zh) * | 2005-12-06 | 2007-06-13 | 英业达股份有限公司 | 保证伺服程序不间断运行的系统及其方法 |
CN101354677A (zh) * | 2008-09-11 | 2009-01-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序运行状态的检测方法、恢复方法及装置 |
CN103678084A (zh) * | 2012-09-21 | 2014-03-26 | 成都勤智数码科技股份有限公司 | 一种灵活的应用进程守护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105260655A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105260655B (zh) | 一种应用程序启动保护的方法、装置及系统 | |
KR101754680B1 (ko) | 휴대용 통신 디바이스상에서 운영 체제를 복구하는 방법, 장치 및 시스템 | |
CN105657860A (zh) | 一种提高数据业务响应速度的方法及装置 | |
CN110381042B (zh) | 一种平滑重启服务的方法、装置、介质和电子设备 | |
US20150012973A1 (en) | Methods and apparatus for sharing a service between multiple virtual machines | |
CN112740638A (zh) | 分组数据单元(pdu)会话控制方法和设备 | |
WO2019047708A1 (zh) | 资源配置方法及相关产品 | |
CN112770413B (zh) | Rrc状态控制方法、装置、移动终端及可读存储介质 | |
CN112203270B (zh) | 终端控制方法、装置、电子设备及存储介质 | |
CN114245327B (zh) | 建立紧急呼叫的方法、装置、车载移动终端和存储介质 | |
KR20210113595A (ko) | 이상 처리 방법, 단말 기기 및 저장 매체 | |
KR102704802B1 (ko) | 엣지 컴퓨팅 환경에서 어플리케이션 재배치를 제어하기 위한 장치 및 방법 | |
US20150012654A1 (en) | Methods and apparatus for sharing a physical device between multiple physical machines | |
CN114024878A (zh) | 数据传输方法、装置、介质和设备 | |
CN115344289A (zh) | 一种客户端升级方法、装置、终端设备及存储介质 | |
CN113873676A (zh) | 一种业务处理方法及终端、存储介质 | |
US20220179680A1 (en) | Application state control method apparatus, and terminal and computer-readable storage medium | |
CN113867145A (zh) | 一种应用控制方法、装置、电子设备及存储介质 | |
CN111625811A (zh) | 数据授权方法及装置 | |
CN107659919B (zh) | 一种通讯连接方法及电子设备 | |
CN112163221A (zh) | 病毒检测查杀方法、装置、介质和电子设备 | |
KR20200033404A (ko) | 네트워크에 연결하는 방법 및 이를 수행하는 전자 장치 | |
CN106027309B (zh) | 设备状态信息的获取方法和装置 | |
US20230319559A1 (en) | Enrollment of enrollee devices to a wireless network | |
US9418038B2 (en) | Method and system for accessing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |