CN106484461A - 智能终端中的服务保活方法及装置 - Google Patents
智能终端中的服务保活方法及装置 Download PDFInfo
- Publication number
- CN106484461A CN106484461A CN201610821257.2A CN201610821257A CN106484461A CN 106484461 A CN106484461 A CN 106484461A CN 201610821257 A CN201610821257 A CN 201610821257A CN 106484461 A CN106484461 A CN 106484461A
- Authority
- CN
- China
- Prior art keywords
- service
- resident service
- target
- target resident
- resident
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种智能终端中的服务保活方法及装置,其中,该方法包括:从智能终端中读取系统对应的常驻服务列表;获取所述常驻服务列表中的目标常驻服务的运行状态信息;根据所述运行状态信息分别对各目标常驻服务进行监听,如果目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;其中所述服务管理程序是由一带有系统保活属性的启动程序启动的。本发明提供的智能终端中的服务保活方法及装置,可以实现保活系统中的目标常驻服务,并可保证该目标常驻服务顺利升级,进而可使常驻服务更新使用相应的新功能,改善用户的使用效果。
Description
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种智能终端中的服务保活方法及装置。
背景技术
随着社会的发展和科技的进步,越来越多的用户开始使用手机、平板电脑、智能机器人等智能终端系统。由于智能终端的功能多样性的优势越来越为明显,智能终端日益成为了人们学习、工作及娱乐中不可缺少的工具。
作为现有的智能终端的主要操作系统之一,android操作系统具有很多优点,包括开源特性、软件发展快以及界面UI、系统优化功能完善等。Android来源于Google,目前来看,Android的UI设计和系统优化还是非常不错的,是除了iOS之外最受好评的系统,而且Android对于系统的要求并不苛刻,在很多机型中可以流畅运行。目前,android中某些服务需要保持常驻特性。例如,系统中的电话服务就是此类保持常驻特性的服务:在系统启动时,该服务即启动。而服务若想在系统中保持常驻状态,需要满足两个条件:一是此服务位于/system/app/路径下;二是此服务同时具有“system”属性和“persistent”属性。此类服务在启动后一旦崩溃,则会被系统的ActivityManagerService(活动管理器服务)重新启动。
然而,上述这种服务保活方式具有的不足是:在智能硬件系统中,常驻服务不能正常升级,这是由于正常的服务升级需要进行覆盖式安装,升级包(pm install-r xxx.apk)安装后服务会被装入/data/app/路径下,覆盖安装后就会失去“persistent”属性,也即服务升级后就不能常驻于系统,这些常驻服务无法升级即会使相应的功能一直处于原有状态,新功能无法被更新使用,影响了用户的使用效果。
发明内容
本发明提供一种智能终端中的服务保活方法及装置,用于解决现有常驻服务保活方式无法保证常驻服务的正常升级的问题。
第一方面,本发明提供一种智能终端中的服务保活方法,包括:
从智能终端中读取系统对应的常驻服务列表;
获取所述常驻服务列表中的目标常驻服务对应的运行状态信息;
根据所述运行状态信息分别对各目标常驻服务进行监听,如果所述目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
可选地,所述运行状态信息包括所述目标常驻服务预先注册的对应所述目标常驻服务的死亡通知信息。
可选地,所述方法还包括:
分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,如果接收到所述死亡通知信息,则确定所述目标常驻服务为未启动。
可选地,所述启动程序通过轮询检查的方式监测所述服务启动管理程序是否启动,并在监测到所述服务启动管理程序未启动时,启动所述服务启动管理程序。
可选地,所述方法还包括:
监测所述目标常驻服务在预设时间内被启动的次数,若监测到所述次数超过预设阈值,则执行重启当前系统的操作。
第二方面,本发明还提供了一种智能终端中的服务保活装置,包括:
常驻服务列表读取单元,用于从智能终端中读取系统对应的常驻服务列表;
运行状态信息获取单元,用于获取所述常驻服务列表中的目标常驻服务对应的运行状态信息;
服务管理程序调用单元,用于根据所述运行状态信息分别对各目标常驻服务进行监听,当所述目标常驻服务的运行状态信息为未启动时,调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
可选地,所述运行状态信息包括所述目标常驻服务预先注册的对应所述目标常驻服务的死亡通知信息。
可选地,所述装置还包括:
启动状态确定单元,用于分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,当接收到所述死亡通知信息时,确定所述目标常驻服务为未启动。
可选地,所述启动程序通过轮询检查的方式监测所述服务启动管理程序是否启动,并在监测到所述服务启动管理程序未启动时,启动所述服务启动管理程序。
可选地,所述装置还包括:
系统重启单元,用于监测所述目标常驻服务在预设时间内被启动的次数,当监测到所述次数超过预设阈值时,执行重启当前系统的操作。
本发明提供的智能终端中的服务保活方法及装置,通过从智能终端中读取系统对应的常驻服务列表,获取该常驻服务列表中的目标常驻服务对应的运行状态信息,如果目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动;其中所述服务管理程序是由一带有系统保活属性的启动程序启动的,本发明可以实现保活系统中的目标常驻服务,并且由于未将所有的目标常驻服务均设置为带有系统保活属性,因而可保证该目标常驻服务顺利升级。
附图说明
图1为本发明一实施例提供的智能终端中的服务保活方法的流程示意图;
图2为本发明一实施例提供的智能终端中的服务保活系统的结构示意图;
图3为本发明一实施例提供的智能终端中的服务保活装置的结构示意图;
图4示出了本发明另一个实施例提供的一种智能终端中的服务保活装置。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1示出了本发明一实施例提供的一种智能终端中的服务保活方法,如图1所示,该方法包括:
S1:从智能终端中读取系统对应的常驻服务列表;
具体来说,上述常驻服务列表中为系统中预先建立的包含当前系统中的所有需要进行保活的目标常驻服务的列表,通过该常驻服务列表可查找到所述目标常驻服务,进而可以获取到所述目标常驻服务的运行状态信息;
上述的智能终端可以包括但不限于以下任一种设有常驻服务的手机、电视、笔记本电脑、平板电脑等等。
S2:获取所述常驻服务列表中的目标常驻服务的运行状态信息;
具体地,所述运行状态信息可以包括表示所述目标常驻服务是否处于运行状态,即是否启动的信息。
可以理解的是,上述常驻服务列表中的每一个目标常驻服务应该具有各自对应的运行状态信息。
举例来讲,上述的目标常驻服务可以包括系统中的电话服务、短信服务、视频服务、音频服务以及一些用户自定义的其他常驻服务等等。
S3:根据所述运行状态信息分别对各目标常驻服务进行监听,如果所述目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
具体来说,上述智能终端在获取到上述目标常驻服务的运行状态信息后,即可根据所获取到的每一个运行状态信息分别确定对应的目标常驻服务是否启动,进而在确定所述目标常驻服务的运行状态信息为未启动后,调用服务管理程序对所述目标常驻服务进行启动。
进一步地,作为本方法实施例的优选,上述运行状态信息可以包括所述目标常驻服务预先注册的对应于该目标常驻服务的死亡的通知信息,简称死亡通知信息;
上述死亡通知信息用于在该目标常驻服务“死亡”(崩溃)时,向检测方(智能终端)发送的通知信息。
进一步地,作为上述方法实施例的优选,所述方法还包括:
分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,如果接收到所述死亡通知信息,则确定所述目标常驻服务为未启动。
举例来说,上述系统运行过程中,智能终端按预设规则持续监测所述目标常驻服务是否发送死亡通知信息,一旦接受到某一个目标常驻服务(例如电话服务)发送来的该目标常驻服务对应的死亡通知信息,则据此判断该目标常驻服务(电话服务)已死亡,即处于未启动状态。
进而,在根据所述目标常驻服务对应的运行状态信息判断该目标常驻服务是否启动后,即可根据所述判断结果是否确定调用服务管理程序对所述目标常驻服务进行启动。
进一步地,作为本方法实施例的优选,上述运行状态信息可以携带所述目标常驻服务对应的优先级信息,用于指示该目标常驻服务所对应的运行状态信息的处理优先级,例如高级、中级以及低级等等。
需要说明的是,上述服务管理程序是由一带有系统保活属性的启动程序启动的。
具体而言,该带有系统保活属性的启动程序即包括具有随系统启动而启动的特性,且该启动程序在启动后一旦崩溃,则会由系统(例如由系统中的ActivityManagerService)重新唤起。
举例来说,本实施例的智能终端中的服务保活方法可以通过采用Andorid Binder进程间通信的Binder对象死亡通知机制来实现目标常驻服务的保活。具体地,Binder通信过程中共涉及到如下四个对象:
Binder本地对象、Binder实体对象、Binder引用对象、Binder代理对象;
其中如果Binder本地对象意外死亡,会导致依赖于它的Binder代理对象变得无效。通过Binder对象死亡通知机制,可以监控到Binder本地对象的死亡事件,然后通知那些引用了它的Binder代理对象。
在这种死亡通知机制中,首先是Binder代理对象将一个死亡接收通知注册到Binder驱动程序中,然后当Binder驱动程序监控到Binder代理对象所引用的Binder本地对象死亡时,Binder驱动程序就会向Binder代理对象发送一个死亡通知。
需要说明的是,Binder代理对象在注册它所引用的Binder本地对象的死亡接受通知之前,首先要定义好死亡通知的接受者。Binder库定义了死亡通知的接受者必须要继承的基类Death Recipient(死亡通知)。
具体来说,图2示出了本实施例提供的智能终端中的服务保活系统的结构,如图2所示,本实施例利用android常驻服务的系统保活属性(persistent属性),通过建立一个简单的设置有persistent属性的启动程序100(boot程序)来启动并维护系统的服务管理程序200,该服务管理程序200负责启动运行状态检测程序300以及目标常驻服务程序400(如所需保活的音频、视频等)。
其中,目标常驻服务程序400预先向所述运行状态检测程序300注册token(实质为一binder代理对象),其用于在自身死亡时,将“死亡通知”发送给运行状态检测程序300,进而由服务管理程序200来维护及重启该“死亡通知”相应的目标常驻服务;
上述音频、视频等目标常驻服务注册的token,实际上是所述目标常驻服务通过binder IPC(进程间通信)传过来的binder代理对象,由于android中的binder驱动会在binder对象死亡(崩溃)时发送“死亡通知”(Death Recipient)到对应的binder代理对象(token),进而当音频、视频等目标常驻服务死亡的时候,运行状态检测程序300会收到对应目标常驻服务的“死亡通知”,从而可通过调用服务管理程序200对该“死亡通知”相应的目标常驻服务400进行重新启动。
可以理解的是,由于所有需要保持常驻的目标常驻服务程序不需要被设置成具有persistent属性,因而可避免由于覆盖式安装升级包导致失去persistent属性的弊端,故可以在保持常驻状态的基础上进行正常升级。
需要说明的是,上述的启动程序(boot程序)需满足如下条件:
该启动程序是个很简单的程序,且足够健壮,因而不需要升级。
由上述技术方案可知,本实施例的智能终端中的服务保活方法,通过从智能终端中读取系统对应的常驻服务列表,获取该常驻服务列表中的目标常驻服务对应的运行状态信息,如果目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动;其中所述服务管理程序是由一带有系统保活属性的启动程序启动的,本发明可以实现保活系统中的目标常驻服务,并且由于未将所有的目标常驻服务均设置为带有系统保活属性,因而可保证该目标常驻服务顺利升级,进而可使常驻服务更新使用相应的新功能,改善用户的使用效果。
进一步地,作为上述各方法实施例的优选,所述启动程序100可以通过轮询检查的方式监测服务启动管理程序200是否启动,并在监测到所述服务启动管理程序200未启动时,启动所述服务启动管理程序200。
具体地,上述带有系统保活属性的启动程序100可以定时向所述服务启动管理程序200发出询问,以根据服务启动管理程序200基于该询问所返回的应答来判断服务启动管理程序200是否启动,进而,在判断服务启动管理程序200未启动时,重启服务启动管理程序200。
需要说明的是,该启动程序100周而复始循环上述轮询过程,以保活服务启动管理程序200。
举例来说,启动程序100可通过一个简单的死循环,用于轮询检查服务启动管理程序200是否启动,若未启动,则重启服务启动管理程序200。
进一步地,作为上述各方法实施例的优选,所述方法还包括:
S4:监测所述目标常驻服务在预设时间内被启动的次数,若监测到所述次数超过预设阈值,则执行重启当前系统的操作。
具体地,系统实时监测所述目标常驻服务在预设时间内被启动的次数,若所述目标常驻服务在该预设时间内被启动的次数超过了预设阈值,则重启所述系统。
举例而言,若预先定义了目标常驻服务在24小时内的启动阈值为3次,则当所述系统在监测到所述目标常驻服务在预设时间内被启动4次时,重启整个系统。
另一方面,本发明还提供了一种智能终端中的服务保活装置,具体地,本发明一个实施例提供的一种智能终端中的服务保活装置如图3所示,该装置包括常驻服务列表读取单元10、运行状态信息获取单元20和服务管理程序调用单元30,其中:
常驻服务列表读取单元10用于从智能终端中读取系统对应的常驻服务列表;
运行状态信息获取单元20用于获取所述常驻服务列表中的目标常驻服务对应的运行状态信息;
服务管理程序调用单元30用于根据所述运行状态信息分别对各目标常驻服务进行监听,当所述目标常驻服务的运行状态信息为未启动时,调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
总的来说,智能终端中的服务保活过程中,常驻服务列表读取单元10从智能终端中读取系统对应的常驻服务列表;运行状态信息获取单元20获取常驻服务列表中的目标常驻服务的运行状态信息;然后服务管理程序调用单元30在所述目标常驻服务的运行状态信息为未启动时,调用服务管理程序对所述目标常驻服务进行启动。
具体来说,上述常驻服务列表中为系统中预先建立的包含当前系统中的所有需要进行保活的目标常驻服务的列表,通过该常驻服务列表可查找到所述目标常驻服务,进而可以获取到所述目标常驻服务的运行状态信息。
上述的智能终端可以包括但不限于以下任一种设有常驻服务的手机、电视、笔记本电脑、平板电脑等等;
具体地,所述运行状态信息可以包括表示所述目标常驻服务是否处于运行状态,即是否启动的信息。
可以理解的是,上述常驻服务列表中的每一个目标常驻服务应该具有各自对应的运行状态信息。
举例来讲,上述的目标常驻服务可以包括系统中的电话服务、短信服务、视频服务、音频服务以及一些用户自定义的其他常驻服务等等。
在获取到上述目标常驻服务的运行状态信息后,服务管理程序调用单元30即可根据所获取到的每一个运行状态信息分别确定对应的目标常驻服务是否启动,进而在确定所述目标常驻服务的运行状态信息为未启动后,调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行。
进一步地,作为本装置实施例的优选,上述运行状态信息可以包括所述目标常驻服务预先注册的对应于该目标常驻服务的死亡的通知信息,简称死亡通知信息;
上述死亡通知信息用于在该目标常驻服务“死亡”(崩溃)时,向检测方(智能终端)发送的通知信息。
进一步地,,作为上述装置实施例的优选,所述装置还可以包括:
启动状态确定单元30,用于分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,当接收到所述死亡通知信息时,确定所述目标常驻服务为未启动。
举例来说,上述装置运行过程中,启动状态确定单元30按照预设规则持续监测所述目标常驻服务是否发送死亡通知信息,一旦接受到某一个目标常驻服务(例如电话服务)发送来的该目标常驻服务对应的死亡通知信息,则据此判断该目标常驻服务(电话服务)已死亡,即处于未启动状态。
进而,在根据所述目标常驻服务对应的运行状态信息判断该目标常驻服务是否启动后,即可根据所述判断结果是否确定调用服务管理程序对所述目标常驻服务进行启动。
进一步地,作为本方法实施例的优选,上述运行状态信息可以携带所述目标常驻服务对应的优先级信息,用于指示该目标常驻服务所对应的运行状态信息的处理优先级,例如高级、中级以及低级等等
需要说明的是,上述服务管理程序是由一带有系统保活属性的启动程序启动的。
具体而言,该带有系统保活属性的启动程序即包括具有随系统启动而启动的特性,且该启动程序在启动后一旦崩溃,则会由系统(例如由系统中的ActivityManagerService)重新唤起。
举例来说,本实施例的智能终端中的服务保活方法可以通过采用Andorid Binder进程间通信的Binder对象死亡通知机制来实现目标常驻服务的保活。具体地,Binder通信过程中共涉及到如下四个对象:
Binder本地对象、Binder实体对象、Binder引用对象、Binder代理对象;
其中,如果Binder本地对象意外死亡,会导致依赖于它的Binder代理对象变得无效。通过Binder对象死亡通知机制,可以监控到Binder本地对象的死亡事件,然后通知那些引用了它的Binder代理对象。
在这种死亡通知机制中,首先是Binder代理对象将一个死亡接收通知注册到Binder驱动程序中,然后当Binder驱动程序监控到Binder代理对象所引用的Binder本地对象死亡时,Binder驱动程序就会向Binder代理对象发送一个死亡通知。
需要说明的是,Binder代理对象在注册它所引用的Binder本地对象的死亡接受通知之前,首先要定义好死亡通知的接受者。Binder库定义了死亡通知的接受者必须要继承的基类DeathRecipient(死亡通知)。
如图2所示,本实施例利用android常驻服务的系统保活属性(persistent属性),通过建立一个简单的设置有persistent属性的启动程序100(boot程序)来启动并维护系统的服务管理程序200,该服务管理程序200负责启动运行状态检测程序300以及目标常驻服务程序400(如所需保活的音频、视频等)。
其中,目标常驻服务程序400预先向所述运行状态检测程序300注册token(实质为一binder代理对象),其用于在自身死亡时,将“死亡通知”发送给运行状态检测程序300,进而由服务管理程序200来维护及重启该“死亡通知”相应的目标常驻服务;
上述音频、视频等目标常驻服务注册的token,实际上是所述目标常驻服务通过binder IPC(进程间通信)传过来的binder代理对象,由于android中的binder驱动会在binder对象死亡(崩溃)时发送“死亡通知”(Death Recipient)到对应的binder代理对象(token),进而当音频、视频等目标常驻服务死亡的时候,运行状态检测程序300会收到对应目标常驻服务的“死亡通知”,从而可通过调用服务管理程序200对该“死亡通知”相应的目标常驻服务400进行重新启动。
可以理解的是,由于所有需要保持常驻的目标常驻服务程序不需要被设置成具有persistent属性,因而可避免由于覆盖式安装升级包导致失去persistent属性的弊端,故可以在保持常驻状态的基础上进行正常升级。
需要说明的是,上述的启动程序(boot程序)需满足如下条件:
该启动程序是个很简单的程序,且足够健壮,因而不需要升级。
由上述技术方案可知,本实施例的智能终端中的服务保活装置,通过从智能终端中读取系统对应的常驻服务列表,获取该常驻服务列表中的目标常驻服务对应的运行状态信息,如果目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动;其中所述服务管理程序是由一带有系统保活属性的启动程序启动的,本发明可以实现保活系统中的目标常驻服务,并且由于未将所有的目标常驻服务均设置为带有系统保活属性,因而可保证该目标常驻服务顺利升级,进而可使常驻服务更新使用相应的新功能,改善用户的使用效果。
进一步地,作为上述各装置实施例的优选,所述启动程序100可以通过轮询检查的方式监测服务启动管理程序200是否启动,并在监测到所述服务启动管理程序200未启动时,启动所述服务启动管理程序200。
具体地,上述带有系统保活属性的启动程序100可以定时向所述服务启动管理程序200发出询问,以根据服务启动管理程序200基于该询问所返回的应答来判断服务启动管理程序200是否启动,进而,在判断服务启动管理程序200未启动时,重启服务启动管理程序200。
需要说明的是,该启动程序100周而复始循环上述轮询过程,以保活服务启动管理程序200。
举例来说,启动程序100可通过一个简单的死循环,用于轮询检查服务启动管理程序200是否启动,若未启动,则重启服务启动管理程序200。
图4示出了本发明另一个实施例提供的一种智能终端中的服务保活装置,如图4所示,在上述装置实施例的基础上,所述装置还可以包括:
系统重启单元40,用于监测所述目标常驻服务在预设时间内被启动的次数,当监测到所述次数超过预设阈值时,执行重启当前系统的操作。
具体地,系统重启单元40实时监测所述目标常驻服务在预设时间内被启动的次数,若所述目标常驻服务在该预设时间内被启动的次数超过了预设阈值,则重启所述系统。
举例而言,若预先定义了目标常驻服务在24小时内的启动阈值为3次,则系统重启单元40监测到所述目标常驻服务在预设时间内被启动4次时,重启所述系统。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间启动任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还启动另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种智能终端中的服务保活方法,其特征在于,包括:
从智能终端中读取系统对应的常驻服务列表;
获取所述常驻服务列表中的目标常驻服务对应的运行状态信息;
根据所述运行状态信息分别对各目标常驻服务进行监听,如果所述目标常驻服务的运行状态信息为未启动,则调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
2.根据权利要求1所述的方法,其特征在于,所述运行状态信息包括所述目标常驻服务预先注册的对应所述目标常驻服务的死亡通知信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,如果接收到所述死亡通知信息,则确定所述目标常驻服务为未启动。
4.根据权利要求1所述的方法,其特征在于,所述启动程序通过轮询检查的方式监测所述服务启动管理程序是否启动,并在监测到所述服务启动管理程序未启动时,启动所述服务启动管理程序。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述目标常驻服务在预设时间内被启动的次数,若监测到所述次数超过预设阈值,则执行重启当前系统的操作。
6.一种智能终端中的服务保活装置,其特征在于,包括:
常驻服务列表读取单元,用于从智能终端中读取系统对应的常驻服务列表;
运行状态信息获取单元,用于获取所述常驻服务列表中的目标常驻服务对应的运行状态信息;
服务管理程序调用单元,用于根据所述运行状态信息分别对各目标常驻服务进行监听,当所述目标常驻服务的运行状态信息为未启动时,调用服务管理程序对所述目标常驻服务进行启动,以使目标常驻服务在升级后仍能运行;
其中,所述服务管理程序是由一带有系统保活属性的启动程序启动的。
7.根据权利要求6所述的装置,其特征在于,所述运行状态信息包括所述目标常驻服务预先注册的对应所述目标常驻服务的死亡通知信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
启动状态确定单元,用于分别通过预先注册的特定接口接收各目标常驻服务各自对应的死亡通知信息,当接收到所述死亡通知信息时,确定所述目标常驻服务为未启动。
9.根据权利要求6所述的装置,其特征在于,所述启动程序通过轮询检查的方式监测所述服务启动管理程序是否启动,并在监测到所述服务启动管理程序未启动时,启动所述服务启动管理程序。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
系统重启单元,用于监测所述目标常驻服务在预设时间内被启动的次数,当监测到所述次数超过预设阈值时,执行重启当前系统的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610821257.2A CN106484461A (zh) | 2016-09-13 | 2016-09-13 | 智能终端中的服务保活方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610821257.2A CN106484461A (zh) | 2016-09-13 | 2016-09-13 | 智能终端中的服务保活方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484461A true CN106484461A (zh) | 2017-03-08 |
Family
ID=58273795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610821257.2A Pending CN106484461A (zh) | 2016-09-13 | 2016-09-13 | 智能终端中的服务保活方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484461A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933636A (zh) * | 2017-03-16 | 2017-07-07 | 北京奇虎科技有限公司 | 启动插件服务的方法、装置和终端设备 |
CN107145390A (zh) * | 2017-04-10 | 2017-09-08 | 北京智能管家科技有限公司 | 安卓服务生命周期管理方法、服务管理对象及安卓系统 |
CN109766178A (zh) * | 2019-01-16 | 2019-05-17 | 四川科瑞软件有限责任公司 | 一种安卓系统下的应用进程保活系统及方法 |
CN110597668A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 一种常驻作业的处理方法及系统 |
CN112162783A (zh) * | 2020-09-27 | 2021-01-01 | 珠海格力电器股份有限公司 | 音乐播放应用保活处理方法、系统、存储介质及电子设备 |
CN112445530A (zh) * | 2019-08-29 | 2021-03-05 | 成都鼎桥通信技术有限公司 | 第三方应用程序保活方法及设备 |
CN112860408A (zh) * | 2021-03-03 | 2021-05-28 | 苏州沁游网络科技有限公司 | 一种云真机中的进程保活方法、装置、系统及存储介质 |
CN114077519A (zh) * | 2020-08-21 | 2022-02-22 | 荣耀终端有限公司 | 一种系统服务恢复方法、装置和电子设备 |
CN114826981A (zh) * | 2022-04-27 | 2022-07-29 | 广东悦伍纪网络技术有限公司 | 一种云手机内应用常驻的实现系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598313A (zh) * | 2015-02-04 | 2015-05-06 | 广州市久邦数码科技有限公司 | 一种应用进程被停止后自动重启的实现方法及其系统 |
CN105468409A (zh) * | 2015-11-20 | 2016-04-06 | 北京金山安全软件有限公司 | 一种应用程序关闭方法、装置及电子设备 |
CN105573777A (zh) * | 2014-11-11 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 应用中服务的控制方法及装置 |
-
2016
- 2016-09-13 CN CN201610821257.2A patent/CN106484461A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573777A (zh) * | 2014-11-11 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 应用中服务的控制方法及装置 |
CN104598313A (zh) * | 2015-02-04 | 2015-05-06 | 广州市久邦数码科技有限公司 | 一种应用进程被停止后自动重启的实现方法及其系统 |
CN105468409A (zh) * | 2015-11-20 | 2016-04-06 | 北京金山安全软件有限公司 | 一种应用程序关闭方法、装置及电子设备 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933636A (zh) * | 2017-03-16 | 2017-07-07 | 北京奇虎科技有限公司 | 启动插件服务的方法、装置和终端设备 |
CN106933636B (zh) * | 2017-03-16 | 2020-08-18 | 北京奇虎科技有限公司 | 启动插件服务的方法、装置和终端设备 |
CN107145390A (zh) * | 2017-04-10 | 2017-09-08 | 北京智能管家科技有限公司 | 安卓服务生命周期管理方法、服务管理对象及安卓系统 |
CN107145390B (zh) * | 2017-04-10 | 2019-11-19 | 北京儒博科技有限公司 | 安卓服务生命周期管理方法、服务管理对象设备及安卓系统 |
CN109766178A (zh) * | 2019-01-16 | 2019-05-17 | 四川科瑞软件有限责任公司 | 一种安卓系统下的应用进程保活系统及方法 |
CN112445530B (zh) * | 2019-08-29 | 2023-03-14 | 成都鼎桥通信技术有限公司 | 第三方应用程序保活方法及设备 |
CN112445530A (zh) * | 2019-08-29 | 2021-03-05 | 成都鼎桥通信技术有限公司 | 第三方应用程序保活方法及设备 |
CN110597668A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 一种常驻作业的处理方法及系统 |
CN110597668B (zh) * | 2019-09-20 | 2022-04-29 | 中国银行股份有限公司 | 一种常驻作业的处理方法及系统 |
CN114077519A (zh) * | 2020-08-21 | 2022-02-22 | 荣耀终端有限公司 | 一种系统服务恢复方法、装置和电子设备 |
CN112162783A (zh) * | 2020-09-27 | 2021-01-01 | 珠海格力电器股份有限公司 | 音乐播放应用保活处理方法、系统、存储介质及电子设备 |
CN112860408A (zh) * | 2021-03-03 | 2021-05-28 | 苏州沁游网络科技有限公司 | 一种云真机中的进程保活方法、装置、系统及存储介质 |
CN114826981A (zh) * | 2022-04-27 | 2022-07-29 | 广东悦伍纪网络技术有限公司 | 一种云手机内应用常驻的实现系统及方法 |
CN114826981B (zh) * | 2022-04-27 | 2023-09-22 | 广东悦伍纪网络技术有限公司 | 一种云手机内应用常驻的实现系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484461A (zh) | 智能终端中的服务保活方法及装置 | |
CN109379337B (zh) | 一种安卓平台下应用进程的保活方法 | |
KR20070086569A (ko) | 영속적 소프트웨어 어플리케이션의 관리 | |
EP1849072A2 (en) | System and method for background java application resource control | |
WO2020019483A1 (zh) | 一种模拟器识别方法、识别设备及计算机可读介质 | |
US8959394B2 (en) | Electronic device, system, and method for testing exception handling mechanism | |
WO2013173390A1 (en) | Systems and methods for providing timely advertising to portable devices | |
CN106095621B (zh) | 一种安卓系统中Launcher运行异常的恢复方法及系统 | |
US20160283356A1 (en) | Event-driven automation testing for mobile devices | |
CN110457154B (zh) | 异常服务处理方法及装置、存储介质、通信终端 | |
CN107844341B (zh) | 进程启动的管控方法、装置及存储介质和移动终端 | |
CN109639818B (zh) | 一种云环境下的服务发现方法、装置、服务器和存储介质 | |
CN107943270A (zh) | 应用服务的控制方法、装置及存储介质和移动终端 | |
CN112307465A (zh) | 应对应用程序被查杀的保活拉活方法、存储介质及设备 | |
CN107885588B (zh) | 应用服务的控制方法、装置及存储介质和移动终端 | |
CN107831886A (zh) | 关联启动应用的管控方法、装置、存储介质及智能终端 | |
CN105701409A (zh) | 一种实现文件虚拟化的方法及装置 | |
CN111897726B (zh) | 异常定位方法、装置、存储介质及移动终端 | |
CN114428546A (zh) | 后台应用清理方法、装置、存储介质及终端设备 | |
CN114327606A (zh) | 配置管理方法、装置、电子设备及计算机可读存储介质 | |
WO2019042283A1 (zh) | 应用的管控方法、终端及存储介质 | |
CN105843642A (zh) | 终端的升级方法、终端升级控制方法、终端及服务器 | |
US9690592B2 (en) | Display control device, and display control method | |
CN110865823A (zh) | 预装应用控制方法、预装应用控制装置及存储介质 | |
CN107783825A (zh) | 移动终端多后台进程启动方法、装置及移动终端 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170308 |