CN109144678B - 应用关联启动的处理方法、装置及存储介质 - Google Patents
应用关联启动的处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109144678B CN109144678B CN201710463133.6A CN201710463133A CN109144678B CN 109144678 B CN109144678 B CN 109144678B CN 201710463133 A CN201710463133 A CN 201710463133A CN 109144678 B CN109144678 B CN 109144678B
- Authority
- CN
- China
- Prior art keywords
- application
- association
- determining
- starting
- time
- 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
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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/44594—Unloading
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
Abstract
本发明提供了一种应用关联启动的处理方法、装置及存储介质,包括:将与第一应用关联启动的其他应用按照时间进行聚类,得到第一应用的聚类中心,其中,聚类中心中包括其他应用;根据聚类中心确定第一应用请求关联启动的第二应用的关联状态;根据第二应用的关联状态对第二应用进行关联启动处理。通过本发明,解决了应用的关联启动处理不完善,用户体验差的问题,达到完善应用的关联处理以及提高用户体验的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种应用关联启动的处理方法、装置及存储介质。
背景技术
随着智能手机性能的提升,越来越多新出现的应用不断满足用户日常生活的需求,为用户带来了更为舒适和便捷的体验。而从一个应用直接跳转至另一个应用的情况也越来越普遍,诸如从社交网络平台分享链接到聊天软件,从购物软件跳转到支付软件付款等等,都为用户带来的便利。
智能手机为应用提供了关联启动的方法,正在前台运行的应用可以通过关联启动开启其他应用,虽然该方法能为用户的使用带来便利,但现在越来越多的应用采用不正当的方式使用关联启动,一方面是在用户不知情的情况下,通过关联启动方法启动其他应用的服务,而启动的其他服务又会进一步唤醒更多其他应用的服务,还会存在服务互相关联启动的情况,另一方面在用户使用关联启动方法启动需要的应用时,还会附带唤醒许多其他应用的服务。这些被附带唤醒或者被悄悄唤醒的服务均会在后台一直保持运行。
这些通过关联启动唤醒的服务均会占用手机运行的资源,不仅造成了资源的占用和电量的消耗,还侵犯了手机用户的权益。因此,需要对那些用户不需要的被关联启动服务进行清理。
目前,有许多用于应用关联启动的方法,其中包括用户自定义设置是否允许应用关联启动其他应用、一键管理模式,甚至完全禁止关联启动。
ZL201410852743.1中,仅考虑单一应用,对单一应用进行判断。仅记录启动项总体频率,未考虑用户的使用习惯,无法智能地判断用户是否需要启动某应用,误判几率较高。也未考虑在不同时间段内,不同情况下,应用的类型可能会发生改变,一成不变的控制规则无法适应各种情况。
ZL201511030399.9中,通过权限概念限制应用的关联启动,但关联启动权限仍需提前设置,并且是不会改变的。此种关联启动管理方法效率低,设置繁琐,不灵活,无法适应各种情况。
ZL201610339888.0中,仅对一个应用建立白名单表,在白名单中查询关联启动项,以判断是否允许关联启动。并且,未在白名单中找到时会依赖用户的选择。此种判断方法,未考虑到第一应用在不同时间段内白名单会发生变化,并且仅靠白名单策略不灵活,无法适应各种情况。另外,提供界面供用户选择,用户体验糟糕。
ZL201610345444.8中,该发明类似于对第一应用建立白名单表,判断第一应用的关联启动项是否存在于第一应用的白名单中。此方法不灵活,无法适应各种情况,用户体验糟糕。
上述现有技术的不足:
(1)上述几种方法不灵活,无法适应各种情况,有些完全交给用户决定,繁琐,用户体验糟糕。
(2)以上方法关联启动管理方法都未考虑关联启动后,启动的应用的后续处理,无法完善的管理关联启动的应用。
针对上述中存在应用的关联启动处理不完善,用户体验差的问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用关联启动的处理方法、装置及存储介质,以至少解决相关技术中应用的关联启动处理不完善,用户体验差的问题。
根据本发明的一个实施例,提供了一种应用关联启动的处理方法,包括:将与第一应用关联启动的其他应用按照时间进行聚类,得到所述第一应用的聚类中心,其中,所述聚类中心中包括所述其他应用;根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态;根据所述第二应用的关联状态对所述第二应用进行关联启动处理。
可选地,将与所述第一应用关联启动的所述其他应用按照时间进行聚类,得到所述第一应用的聚类中心包括:确定所述其他应用与所述第一应用进行关联启动的时间顺序;按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类,得到所述第一应用的关联启动的聚类中心。
可选地,按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类包括:按照所述关联启动的时间顺序根据Kmeans算法将所述第一应用与所述其他应用之间的关联启动时刻进行聚类。
可选地,根据所述聚类中心确定所述第一应用请求关联启动的所述第二应用的关联状态包括以下之一:当确定所述第二应用的启动时间在所述聚类中心所对应的时间范围内时,确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态;当确定所述第二应用的启动时间不在所述聚类中心所对应的时间范围内时,确定所述第二应用的关联状态为不允许与所述第一应用进行关联的不合理关联状态。
可选地,根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态包括:在确定所述第一应用请求关联启动所述第二应用后的第一预定时间内,所述第二应用的附加活动被所述第一应用关联启动,则确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态。
可选地,在确定所述第二应用为合理关联状态后,所述方法还包括:在确定所述第二应用的附加活动被所述第一应用关联启动后,所述附加活动进入后台运行,若在第二预定时间内所述附加活动没有被所述第一应用再次关联启动,则确定所述第二应用的附加活动被所述第一应用附加。
可选地,根据所述第二应用的关联状态对所述第二应用进行关联启动处理包括以下之一:在确定所述第二应用的关联状态为所述合理关联状态的情况下,在所述第二应用运行结束时,关闭所述第二应用;在确定所述第二应用的关联状态为所述合理关联状态,并且所述第二应用的附加活动被所述第一应用附加的情况下,在所述第二应用运行结束时,关闭所述第二应用并关闭所述附加活动。
可选地,在根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态之前,所述方法还包括:接收所述第一应用发送的用于请求关联启动所述第二应用的关联启动请求。
根据本发明的另一个实施例,还提供一种应用关联启动的处理装置,包括:处理模块,用于将与第一应用关联启动的其他应用按照时间进行聚类,得到所述第一应用的聚类中心,其中,所述聚类中心中包括所述其他应用;第一确定模块,用于根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态;处理模块,用于根据所述第二应用的关联状态对所述第二应用进行关联启动处理。
可选地,所述处理模块可以包括:第一确定单元,用于确定所述其他应用与所述第一应用进行关联启动的时间顺序;处理单元,用于按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类,得到所述第一应用的关联启动的聚类中心。
可选地,所述处理单元包括:处理子单元,用于按照所述关联启动的时间顺序根据Kmeans算法将所述第一应用与所述其他应用之间的关联启动时刻进行聚类。
可选地,所述第一确定模块包括之下之一:第二确定单元,用于当确定所述第二应用的启动时间在所述聚类中心所对应的时间范围内时,确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态;第三确定单元,用于当确定所述第二应用的启动时间不在所述聚类中心所对应的时间范围内时,确定所述第二应用的关联状态为不允许与所述第一应用进行关联的不合理关联状态。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
通过本发明,由于终端将与第一应用关联启动的其他应用按照时间进行聚类,得到所述第一应用的聚类中心,其中,聚类中心中包括所述其他应用;并根据聚类中心确定第一应用请求关联启动的第二应用的关联状态;根据第二应用的关联状态对所述第二应用进行关联启动处理。即根据聚类中心对第二应用能否被第一应用关联启动进行判断,因此,可以解决相关技术中存在的应用的关联启动处理不完善,用户体验差的问题,达到完善应用的关联处理以及提高用户体验的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种应用关联启动的处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的应用关联启动的处理方法的流程图;
图3是本发明实施例的启动项的处理装置的结构框图;
图4是根据本发明实施例的用户应用使用习惯的学习装置的结构框图;
图5是根据本发明实施例的关联启动的处理方法流程图;
图6是根据本发明实施例的关联启动学习方法步骤流程图;
图7是根据本发明实施例的应用关联启动的处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种应用关联启动的处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的应用关联启动的处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种应用关联启动的处理方法,图2是根据本发明实施例的应用关联启动的处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,将与第一应用关联启动的其他应用按照时间进行聚类,得到上述第一应用的聚类中心,其中,上述聚类中心中包括上述其他应用;
步骤S204,根据上述聚类中心确定上述第一应用请求关联启动的第二应用的关联状态;
步骤S206,根据上述第二应用的关联状态对上述第二应用进行关联启动处理。
通过上述步骤,由于终端将与第一应用关联启动的其他应用按照时间进行聚类,得到上述第一应用的聚类中心,其中,聚类中心中包括上述其他应用;并根据聚类中心确定第一应用请求关联启动的第二应用的关联状态;根据第二应用的关联状态对上述第二应用进行关联启动处理。即根据聚类中心对第二应用能否被第一应用关联启动进行判断,因此,可以解决相关技术中存在的应用的关联启动处理不完善,用户体验差的问题,达到完善应用的关联处理以及提高用户体验的效果。
可选地,上述步骤的执行主体可以为终端,但不限于此。
在一个可选的实施例中,将与上述第一应用关联启动的上述其他应用按照时间进行聚类,得到上述第一应用的聚类中心包括:确定上述其他应用与上述第一应用进行关联启动的时间顺序;按照上述关联启动的时间顺序对上述其他应用的启动时间进行kmeans聚类,得到上述第一应用的关联启动的聚类中心。在本实施例中,上述中的时间顺序即是根据时间的长短或者是时间的先后进行确定。
在一个可选的实施例中,按照上述关联启动的时间顺序对上述其他应用的启动时间进行kmeans聚类包括:按照上述关联启动的时间顺序根据Kmeans算法将上述第一应用与上述其他应用之间的关联启动时刻进行聚类。
在一个可选的实施例中,根据上述聚类中心确定上述第一应用请求关联启动的上述第二应用的关联状态包括以下之一:当确定上述第二应用的启动时间在上述聚类中心所对应的时间范围内时,确定上述第二应用位于上述聚类中心中,上述第二应用的关联状态为允许与上述第一应用进行关联的合理关联状态;当确定上述第二应用的启动时间不在上述聚类中心所对应的时间范围内时,确定上述第二应用的关联状态为不允许与上述第一应用进行关联的不合理关联状态。在本实施例中,对于不合理关联状态的第二应用,不进行启动。
在一个可选的实施例中,根据上述聚类中心确定上述第一应用请求关联启动的第二应用的关联状态包括:在确定上述第一应用请求关联启动上述第二应用后的第一预定时间内,上述第二应用的附加活动被上述第一应用关联启动,则确定上述第二应用位于上述聚类中心中,上述第二应用的关联状态为允许与上述第一应用进行关联的合理关联状态。在本实施例中,上述中的第一预定时间可以是2s或者是其他的时间。
在一个可选的实施例中,在确定上述第二应用为合理关联状态后,上述方法还包括:在确定上述第二应用的附加活动被上述第一应用关联启动后,上述附加活动进入后台运行,若在第二预定时间内上述附加活动没有被上述第一应用再次关联启动,则确定上述第二应用的附加活动被上述第一应用附加。在本实施例中,上述中的第二预定时间可以是5s等,可以进行自定义。
在一个可选的实施例中,根据上述第二应用的关联状态对上述第二应用进行关联启动处理包括以下之一:在确定上述第二应用的关联状态为上述合理关联状态的情况下,在上述第二应用运行结束时,关闭上述第二应用;在确定上述第二应用的关联状态为上述合理关联状态,并且上述第二应用的附加活动被上述第一应用附加的情况下,在上述第二应用运行结束时,关闭上述第二应用并关闭上述附加活动。在本实施例中,上述中的附加活动可以与第二应用同时关闭,也可以单独进行关闭。
在一个可选的实施例中,在根据上述聚类中心确定上述第一应用请求关联启动的第二应用的关联状态之前,上述方法还包括:接收上述第一应用发送的用于请求关联启动上述第二应用的关联启动请求。在本实施例中,终端接收第一应用的请求。
下面结合具体实施例对本发明进行详细说明:
具体实施例1:
为了解决背景技术中存在的问题,本具体实施例提出一种灵活的、基于学习用户习惯的控制关联启动的策略以及关联启动后的进程结束策略,主要应用场景包括以下内容:
用户使用淘宝应用,付款地时候会启动支付宝应用,完成付款动作并回到淘宝应用。
按照本实施例的学习方法,将淘宝所有关联启动的应用整理后按照时间顺序,对时间进行kmeans聚类,得出聚类中心。聚类中心中包括支付宝和其他应用,此为学习结果。同时还学习得出支付宝在此情况下是淘宝的附加活动(Activity),也记录为学习结果。
用户日常使用淘宝的过程中,就会启动支付宝应用,按照本专利方法,支付宝的启动时间属于聚类中心范围内,判断为合理的关联启动,则允许支付宝的所有服务(Service)启动。如果淘宝将要启动高德地图,按照本实施例的方法,启动时间离高德地图的聚类中心相差很远,则判断为不合理的关联启动。阻止其启动高德地图的服务(Service)。同时也通过学习结果判断出,支付宝为附加活动,则等待支付宝应用结束后将支付宝也关闭。
本具体实施例可包括以下流程:
1.1接收正在运行的应用A(包含活动activity和服务service)所发出的启动应用B(包含活动activity和服务service)的关联启动请求,(下面对“活动activity”和“服务service”进行说明):
在android系统中“活动activity”是Android组件中最基本也是最为常见用的四大组件,也就是通常意义上的手机应用界面。“服务service”也是android四大组件之一,主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。一般由activity创建,与activity同属一个进程。甚至可以在程序退出的情况下,在后台继续保持运行状态。“服务service”中有些可以独立于activity进程。
1.2利用关联启动合理性判断算法,判断所述关联启动请求是否为合理的关联启动;如果是,则定义为合理的关联启动,则进入1.3;如果否,则定义为不合理的关联启动,则进入1.4;
1.3利用附加活动判断算法,判断所述应用B是否为附加在应用A的附加活动。如果是,则定义应用B为应用A的附加活动,则允许该关联启动请求启动,并在应用B进入后台后将其关闭并清出内存;如果否,则应用B不属于应用A的附加活动,但属于合理的关联启动,则允许该关联启动请求启动,但不再进行后续清理。
1.4应用B被定义为不合理的关联启动,则拒绝该关联启动请求。
可选的,1.2中的关联启动合理性判断算法包括以下内容:
应用A(包含活动activity和服务service)请求启动应用B的活动(activity),则视为合理的关联启动;
当应用A(包含活动activity和服务service)请求启动不在同一进程的应用A的服务(service),则视为合理的关联启动;
当应用A(包含活动activity和服务service)请求启动应用B的服务(service),则根据用户习惯学习模块的学习结果1,做如下判断:
在上述关联启动请求时刻之后一小段时间t1(对应于上述中的第一预定时间)内,应用B的活动(activity)也被应用A(包含活动activity和服务service)以较大概率p1请求关联启动,则认为前述请求关联启动应用B的服务(service)是合理的关联启动。
基于Kmeans算法,将Activity之间的关联启动时刻进行聚类,得出多个Activity关联启动中心时刻,则t1为上述关联启动距离最近的一个Activity关联启动中心时刻的时间间隔,根据正太分布规律按t1可算出概率p1,较大可预先定义为90%,及p1>90%时,认为上述关联启动为合理的关联启动。(基于Kmeans方法,确定t1、P1的方法,或者确定启动B的service是合理的关联启动)
可选的,1.3中所述的附加活动判断算法表述如下:
当应用A(包含活动activity和服务service)请求启动应用B的活动(activity)时,此请求会被关联启动合理性判断算法判定为合理的关联启动。根据用户习惯学习模块的学习结果2,如果应用B的活动(activity)被关联启动之后,经过运行且进入后台后,在一个较短时间长度t2内以较大概率p2不会再次启动,则判断应用B的活动(activity)为应用A(包含活动activity和服务service)的附加活动。否则,为非附加活动。(基于Kmeans方法,确定t2、P2的方法)
在判断附加活动时,B的活动(activity)被关联启动后,又进入后台,此时开始计时,到下一次B的活动(activity)被关联启动为止的时间为t2(对应于上述中的第二预定时间),可以预先设定一个阈值即可,例如3min,t2>3min就认为短时间内不会再启动。P2没有用处了。
上述用户习惯学习算法,包括以下内容:
(1)通过记录模块获取当前终端的各应用的活动信息,可选的,上述应用的活动信息包括但不限于各个应用的启动时刻、结束时刻、暂停时刻等应用程序生命周期的重要时刻。
(2)通过上述各应用的活动信息的记录,推断基于用户习惯的关联启动日常活动启动情况;
当应用A(包含活动activity和服务service)请求启动应用B的服务(service)的关联启动请求时刻之后一小段时间t1内,应用B的活动(activity)也被应用A(包含活动activity和服务service)以较大概率p1请求关联启动。记入学习结果1,用于关联启动合理性判断算法中。(基于Kmeans方法,确定t1、P1的方法)。
基于Kmeans算法,将Activity之间的关联启动时刻进行聚类,得出多个Activity关联启动中心时刻,则t1为上述关联启动距离最近的一个Activity关联启动中心时刻的时间间隔,根据正太分布规律按t1可算出概率p1,较大可预先定义为90%,及p1>90%时,认为上述关联启动为合理的关联启动。
当应用A(包含活动activity和服务service)请求启动应用B的活动(activity)时,此请求会被关联启动合理性判断算法判定为合理的关联启动。如果应用B的活动(activity)被关联启动之后,经过运行且进入后台后,在一个较短时间长度t2内以较大概率p2不会再次启动。记入学习结果2,用于附加活动判断算法中,(判断应用B的活动(activity)为应用A(包含活动activity和服务service)的附加活动)。(基于Kmeans方法,确定t2、P2的方法)。
在判断附加活动时,B的活动(activity)被关联启动后,又进入后台,此时开始计时,到下一次B的活动(activity)被关联启动为止的时间为t2,可以预先设定一个阈值即可,例如3min,t2>3min就认为短时间内不会再启动。P2没有用处了。
通过对用户关联使用应用的习惯进行智能学习,更好的判断出合理的关联启动请求,相比于原有技术中仅针对目标应用的判断更加准确。基于智能学习,能更好的区分待启动应用的类型,对于被启动之后又返回前应用的情况,能及早识别,及时清理,有利于提高系统性能。所提出的智能管理策略,能减少用户的手动设置,更加及时有效的管理系统。
具体实施例2:
本具体实施例提供一种基于用户习惯的关联启动管理方法,限制多余的,没必要的关联启动,从而降低终端功耗并节省系统资源,同时,提前预知用户启动应用习惯,无需用户干预,甚至提前加载关联启动,提高用户体验。本发明实施例中描述的移动终端可包括但不限于:手机、平板电脑、笔记本电脑等移动终端。
图3是本发明实施例的启动项的处理装置的结构框图,如图3所示,包括如下模块:
接收模块也称拦截模块,判断模块,实施模块,其中,接收模块用于在活动管理服务的OnPause入口处设置拦截,等待应用程序的退出。如果OnPause处的应用程序名称为附加活动应用程序名称,则等待结束,否则继续等待。上述判断模块用于判断应用是否能够被关联启动;上述实施模块用于对关联启动的附加活动进行关闭。
图4是根据本发明实施例的用户应用使用习惯的学习装置的结构框图,具体可以包括如下模块:
收集模块:用于收集各个应用的启动时间以及当前应用的启动时间。学习模块:按照图6的流程进行学习。记录模块:将学习结果存储,留待其他模块或流程调用。
图5是根据本发明实施例的关联启动的处理方法流程图,具体可以包括如下步骤:
步骤501,接收终端发送的关联启动请求:在具体实现中,终端具体可以包括移动设备,例如手机、PDA(Personal Digital Assistant,个人数字助理)、膝上型计算机、掌上电脑、可穿戴设备等等,也可以包括固定设备,例如个人计算机、智能电视等等。
这些终端可以支持包括Android(安卓)、iOS、macOS、watchOS、Windows10Mobile、Windows等的操作系统、通常可以运行应用程序(如浏览器、即时通讯工具、播放器等)和服务(如音频设备管理服务、网络连接共享相关服务)等。
许多应用程序和服务由于各种原因会启动另外一个应用程序或服务,依照本发明提供的思想,要对这种关联启动进行限制。
步骤502,根据当前上下文以及学习结果1判断是否为合理的关联启动:
如果应用A(关联启动请求者,包含活动activity和服务service)请求启动应用B的活动(关联启动目标,activity),则判断为合理的关联启动,进入步骤503;
如果应用A(关联启动请求者,包含活动activity和服务service)请求启动不在同一进程的应用A的服务(关联启动目标,service),则判断为合理的关联启动,进入步骤503;
获取当前应用的启动时刻。
获取当前时刻并与当前应用启动时刻相减得到当前应用启动时间。
由上述获得两个参数:当前应用启动时刻、当前应用启动时间。
将这两个参数去学习模型(学习流程后获得数据)中查询,获得一个合理关联启动应用程序名称列表。
如果当前关联启动应用名称存在于正确关联启动应用程序名称列表,则判断为合理得关联启动,进入步骤503,否则为不合理的关联启动,进入步骤507。
步骤503,允许该关联启动:
遵循Android关联启动规范,启动该关联启动应用。
步骤504,判断是否为附加活动:
将步骤502中得两个参数去学习模型中查询,获得一个当前上下文得附加活动应用程序名称列表。
如果当前关联启动应用名称存在于附加活动应用程序列表,则判断为是附加活动,否则判断为非附加活动。
步骤505,等待程序运行结束:
在活动管理服务的OnPause入口处设置拦截,等待应用程序的退出。如果OnPause处的应用程序名称为附加活动应用程序名称,则等待结束,否则继续等待。
步骤506,程序运行结束后杀死附加活动:
调用系统接口将附加活动所在应用的Process杀死。
步骤507,不执行相关关联启动代码,即不允许启动该关联启动。
图6是根据本发明实施例的关联启动学习方法步骤流程图,具体可以包括如下步骤:
步骤601,从收集模块获取收集到的数据:将收集模块收集的应用程序生命周期数据获取,赋值给本地变量。
步骤602,将所有应用程序分为活动和服务两组:
遍历所有应用程序生命周期时刻表,通过应用程序的名称,调用Android系统API查询是否为活动、是否为服务、是否为独立进程服务。
通过以上判据进行分类,分为三个表格。
步骤603,将上述两组的生命周期时刻按之间顺序排列:
定义新的变量,按时间顺序,对上述三个表格进行整理,获得一个包含三个类型数据的总表。
步骤604,通过机器学习得出某个应用和它下一个应用之间在某个时间端内的关系:
通过一些机器学习方法(如神经网络等)对总表进行学习,得出粗糙的机器学习结果。
对机器学习结果进行统计,分类。
如果出现应用B的活动(关联启动目标,activity)被关联启动之后,经过运行且进入后台后,在一个较短时间长度t2内以较大概率p2不会再次启动。则将其记录为一次附加活动的启动。
步骤605,通过机器学习得出某个应用与某个独立进程服务之间在某个时间段内的关系:
通过一些机器学习方法(如神经网络等)对总表进行学习,得出粗糙的机器学习结果。
对机器学习结果进行统计,分类。
如果出现某关联启动请求时刻之后一小段时间t1内,应用B的活动(关联启动目标,activity)也被应用A(关联启动请求者,包含活动activity和服务service)以较大概率p1请求关联启动,则将其记录为一次合理的关联启动。
步骤606,整理步骤604,步骤605得到的关系,用专用的数据结构进行储存,命名为某个应用在某个时间段内的合理关联启动应用名称表,和附加活动名称表。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种应用关联启动的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的应用关联启动的处理装置的结构框图,如图7所示,该装置包括:处理模块702、第一确定模块704和处理模块706,下面对该装置进行详细说明:
处理模块702,用于将与第一应用关联启动的其他应用按照时间进行聚类,得到上述第一应用的聚类中心,其中,上述聚类中心中包括上述其他应用;第一确定模块704,连接至上述中的处理模块702,用于根据上述聚类中心确定上述第一应用请求关联启动的第二应用的关联状态;处理模块706,连接至上述中的第一确定模块704,用于根据上述第二应用的关联状态对上述第二应用进行关联启动处理。
在一个可选的实施例中,上述处理模块702包括:第一确定单元,用于确定上述其他应用与上述第一应用进行关联启动的时间顺序;处理单元,用于按照上述关联启动的时间顺序对上述其他应用的启动时间进行kmeans聚类,得到上述第一应用的关联启动的聚类中心。
在一个可选的实施例中,上述处理单元包括:处理子单元,用于按照上述关联启动的时间顺序根据Kmeans算法将上述第一应用与上述其他应用之间的关联启动时刻进行聚类。
在一个可选的实施例中,上述第一确定模块704包括之下之一:第二确定单元,用于当确定上述第二应用的启动时间在上述聚类中心所对应的时间范围内时,确定上述第二应用位于上述聚类中心中,上述第二应用的关联状态为允许与上述第一应用进行关联的合理关联状态;第三确定单元,用于当确定上述第二应用的启动时间不在上述聚类中心所对应的时间范围内时,确定上述第二应用的关联状态为不允许与上述第一应用进行关联的不合理关联状态。
在一个可选的实施例中,上述第一确定模块704包括:第四确定单元,用于在确定上述第一应用请求关联启动上述第二应用后的第一预定时间内,上述第二应用的附加活动被上述第一应用关联启动,则确定上述第二应用位于上述聚类中心中,上述第二应用的关联状态为允许与上述第一应用进行关联的合理关联状态。
在一个可选的实施例中,上述装置还包括:第二确定模块,用于在确定上述第二应用的附加活动被上述第一应用关联启动后,上述附加活动进入后台运行,若在第二预定时间内上述附加活动没有被上述第一应用再次关联启动,则确定上述第二应用的附加活动被上述第一应用附加。
在一个可选的实施例中,上述处理模块706包括以下之一:第一关闭单元,用于在确定上述第二应用的关联状态为上述合理关联状态的情况下,在上述第二应用运行结束时,关闭上述第二应用;第二关闭单元,用于在确定上述第二应用的关联状态为上述合理关联状态,并且上述第二应用的附加活动被上述第一应用附加的情况下,在上述第二应用运行结束时,关闭上述第二应用并关闭上述附加活动。
在一个可选的实施例中,上述装置还包括:接收模块,用于在根据上述聚类中心确定上述第一应用请求关联启动的第二应用的关联状态之前,接收上述第一应用发送的用于请求关联启动上述第二应用的关联启动请求。
根据本发明的又一个实施例,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述任一项上述的方法。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项上述的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的程序代码。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上上述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种应用关联启动的处理方法,其特征在于,包括:
将与第一应用关联启动的其他应用按照时间进行聚类,得到所述第一应用的聚类中心,其中,所述聚类中心中包括所述其他应用;
根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态;
根据所述第二应用的关联状态对所述第二应用进行关联启动处理;
其中,根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态包括:
在确定所述第一应用请求关联启动所述第二应用后的第一预定时间内,所述第二应用的附加活动被所述第一应用关联启动,则确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态。
2.根据权利要求1所述的方法,其特征在于,将与所述第一应用关联启动的所述其他应用按照时间进行聚类,得到所述第一应用的聚类中心包括:
确定所述其他应用与所述第一应用进行关联启动的时间顺序;
按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类,得到所述第一应用的关联启动的聚类中心。
3.根据权利要求2所述的方法,其特征在于,按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类包括:
按照所述关联启动的时间顺序根据Kmeans算法将所述第一应用与所述其他应用之间的关联启动时刻进行聚类。
4.根据权利要求1所述的方法,其特征在于,根据所述聚类中心确定所述第一应用请求关联启动的所述第二应用的关联状态还包括以下之一:
当确定所述第二应用的启动时间在所述聚类中心所对应的时间范围内时,确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态;
当确定所述第二应用的启动时间不在所述聚类中心所对应的时间范围内时,确定所述第二应用的关联状态为不允许与所述第一应用进行关联的不合理关联状态。
5.根据权利要求1所述的方法,其特征在于,在确定所述第二应用为合理关联状态后,所述方法还包括:
在确定所述第二应用的附加活动被所述第一应用关联启动后,所述附加活动进入后台运行,若在第二预定时间内所述附加活动没有被所述第一应用再次关联启动,则确定所述第二应用的附加活动被所述第一应用附加。
6.根据权利要求5所述的方法,其特征在于,根据所述第二应用的关联状态对所述第二应用进行关联启动处理包括以下之一:
在确定所述第二应用的关联状态为所述合理关联状态的情况下,在所述第二应用运行结束时,关闭所述第二应用;
在确定所述第二应用的关联状态为所述合理关联状态,并且所述第二应用的附加活动被所述第一应用附加的情况下,在所述第二应用运行结束时,关闭所述第二应用并关闭所述附加活动。
7.根据权利要求1所述的方法,其特征在于,在根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态之前,所述方法还包括:
接收所述第一应用发送的用于请求关联启动所述第二应用的关联启动请求。
8.一种应用关联启动的处理装置,其特征在于,包括:
处理模块,用于将与第一应用关联启动的其他应用按照时间进行聚类,得到所述第一应用的聚类中心,其中,所述聚类中心中包括所述其他应用;
第一确定模块,用于根据所述聚类中心确定所述第一应用请求关联启动的第二应用的关联状态;
处理模块,用于根据所述第二应用的关联状态对所述第二应用进行关联启动处理;
其中,所述第一确定模块用于,在确定所述第一应用请求关联启动所述第二应用后的第一预定时间内,所述第二应用的附加活动被所述第一应用关联启动,则确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态。
9.根据权利要求8所述的装置,其特征在于,所述处理模块包括:
第一确定单元,用于确定所述其他应用与所述第一应用进行关联启动的时间顺序;
处理单元,用于按照所述关联启动的时间顺序对所述其他应用的启动时间进行kmeans聚类,得到所述第一应用的关联启动的聚类中心。
10.根据权利要求9所述的装置,其特征在于,所述处理单元包括:
处理子单元,用于按照所述关联启动的时间顺序根据Kmeans算法将所述第一应用与所述其他应用之间的关联启动时刻进行聚类。
11.根据权利要求8所述的装置,其特征在于,所述第一确定模块包括之下之一:
第二确定单元,用于当确定所述第二应用的启动时间在所述聚类中心所对应的时间范围内时,确定所述第二应用位于所述聚类中心中,所述第二应用的关联状态为允许与所述第一应用进行关联的合理关联状态;
第三确定单元,用于当确定所述第二应用的启动时间不在所述聚类中心所对应的时间范围内时,确定所述第二应用的关联状态为不允许与所述第一应用进行关联的不合理关联状态。
12.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463133.6A CN109144678B (zh) | 2017-06-19 | 2017-06-19 | 应用关联启动的处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463133.6A CN109144678B (zh) | 2017-06-19 | 2017-06-19 | 应用关联启动的处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144678A CN109144678A (zh) | 2019-01-04 |
CN109144678B true CN109144678B (zh) | 2023-08-11 |
Family
ID=64804092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710463133.6A Active CN109144678B (zh) | 2017-06-19 | 2017-06-19 | 应用关联启动的处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144678B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218133A (zh) * | 2013-03-28 | 2013-07-24 | 东莞宇龙通信科技有限公司 | 关联应用程序的启动方法和终端 |
CN105677378A (zh) * | 2014-11-20 | 2016-06-15 | 华为终端(东莞)有限公司 | 一种管理应用的方法和移动终端 |
CN105718284A (zh) * | 2016-01-18 | 2016-06-29 | 广东小天才科技有限公司 | 一种用于通信终端的应用程序启动方法及装置 |
CN106055369A (zh) * | 2016-06-08 | 2016-10-26 | 维沃移动通信有限公司 | 一种移动终端应用程序的启动方法及移动终端 |
CN106814710A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种对智能家居设备的控制方法和装置 |
-
2017
- 2017-06-19 CN CN201710463133.6A patent/CN109144678B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218133A (zh) * | 2013-03-28 | 2013-07-24 | 东莞宇龙通信科技有限公司 | 关联应用程序的启动方法和终端 |
CN105677378A (zh) * | 2014-11-20 | 2016-06-15 | 华为终端(东莞)有限公司 | 一种管理应用的方法和移动终端 |
CN106814710A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种对智能家居设备的控制方法和装置 |
CN105718284A (zh) * | 2016-01-18 | 2016-06-29 | 广东小天才科技有限公司 | 一种用于通信终端的应用程序启动方法及装置 |
CN106055369A (zh) * | 2016-06-08 | 2016-10-26 | 维沃移动通信有限公司 | 一种移动终端应用程序的启动方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109144678A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699218B (zh) | 一种任务管理方法及设备 | |
CN103404193B (zh) | 调校数据传输以优化为通过无线网络的传输建立的连接 | |
CN108449410A (zh) | 一种云平台中消息管理方法、系统及相关装置 | |
Li et al. | Energy-aware task offloading with deadline constraint in mobile edge computing | |
CN106131185B (zh) | 一种视频数据的处理方法、装置及系统 | |
US10878239B2 (en) | Recognizing carbon-saving behaviors from images | |
Liu et al. | A fast algorithm for energy-saving offloading with reliability and latency requirements in multi-access edge computing | |
Kaur et al. | Resource selection from edge-cloud for IIoT and blockchain-based applications in industry 4.0/5.0 | |
CN105228109A (zh) | 一种智能消息提示的方法及装置 | |
CN111065114B (zh) | 节能管理方法、装置及存储介质 | |
CN104461710A (zh) | 任务处理方法及装置 | |
CN108540568A (zh) | 计算能力共享方法及智能设备 | |
CN105700955A (zh) | 服务器系统的资源分配方法 | |
CN106055404B (zh) | 一种清理后台应用程序的方法和装置 | |
CN106292999A (zh) | 一种终端节能的方法、装置以及终端 | |
CN107533479A (zh) | 功率知晓调度和功率管理器 | |
CN114968509A (zh) | 任务执行方法及装置 | |
CN109144678B (zh) | 应用关联启动的处理方法、装置及存储介质 | |
CN108874109A (zh) | 后台应用的清理方法及装置 | |
CN102902593B (zh) | 基于缓存机制的协议分发处理系统 | |
CN113064677B (zh) | 应用运行方法及装置、存储介质及电子装置 | |
CN109348041A (zh) | 一种应用程序联网控制方法、装置、存储介质及终端 | |
CN107861769B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
Liu et al. | On-line real-time service allocation and scheduling for distributed data centers | |
CN109658043A (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 |