进程冻结方法、装置、终端及存储介质与流程

文档序号:21407651发布日期:2020-07-07 14:41阅读:243来源:国知局
进程冻结方法、装置、终端及存储介质与流程
本申请涉及智能
技术领域
,特别涉及一种进程冻结方法、装置、终端及存储介质。
背景技术
:用户在使用终端时,能够实现应用的启动、切换及退出等功能。然而,应用退出时,实际上并没有完全被系统杀掉,仅仅是将该应用退出系统后台,该应用依然占用着系统的网络、cpu(centralprocessingunit,中央处理器)等系统资源。为避免系统资源的损耗,可以利用进程冻结方法,将应用的进程冻结,使应用处于暂停状态,处于暂停状态的应用无需连接网络,因此不会占用系统资源。目前,进程冻结方法通常为:当系统检测到某一应用退出时,如果该应用处于冻结黑名单,则在经过预设时间后对该应用的进程进行冻结处理,如果该应用处于冻结白名单,则不需要对该应用的进程进行冻结处理。上述技术中根据冻结黑名单和冻结白名单来实现进程的冻结,仅仅基于名单中设置的应用来执行进程的冻结处理过程,容易导致用户想要运行的某些应用一旦退出,该应用的进程就被冻结,再次启动时还需要解冻进程,无法灵活的实现进程冻结,冻结效果不好,用户操作体验不好。技术实现要素:本申请实施例提供了一种进程冻结方法、装置、终端及存储介质,能够解决相关技术中无法灵活的实现进程冻结,冻结效果不好,用户操作体验不好的问题。所述进程冻结方法、装置、终端及存储介质的技术方案如下:一方面,提供了一种进程冻结方法,所述方法包括:响应于对目标应用的进程冻结指令,获取所述目标应用的应用类型与应用运行行为;基于所述应用类型与所述应用运行行为,确定用于指示冻结处理方式的目标冻结参数,所述目标冻结参数与所述应用类型以及所述应用运行行为匹配;响应于所述目标冻结参数,按照所述冻结处理方式,对所述目标应用的进程进行冻结处理。一方面,提供了一种进程冻结装置,所述装置包括:获取模块,用于响应于对目标应用的进程冻结指令,获取所述目标应用的应用类型与应用运行行为;确定模块,用于基于所述应用类型与所述应用运行行为,确定用于指示冻结处理方式的目标冻结参数,所述目标冻结参数与所述应用类型以及所述应用运行行为匹配;冻结模块,用于响应于所述目标冻结参数,按照所述冻结处理方式,对所述目标应用的进程进行冻结处理。在一种可能实现方式中,所述确定模块,用于:对所述应用类型、所述应用运行行为与所述应用运行行为对应的行为权重进行计算,得到所述目标应用的重要程度信息,所述重要程度信息用于表示所述目标应用被继续使用的可能性;基于所述重要程度信息,确定与所述重要程度信息匹配的目标冻结参数。在一种可能实现方式中,所述确定模块,还用于:基于所述应用类型,在应用配置表中查询,得到所述应用类型对应的各类行为的行为权重;在所述各类行为的行为权重中,确定所述应用运行行为对应的行为权重。在一种可能实现方式中,所述确定模块,用于:对所述重要程度信息进行归一化处理,得到所述目标冻结参数的冻结参数标识;根据所述冻结参数标识,从冻结参数标识和冻结参数的对应关系中,获取所述目标冻结参数。在一种可能实现方式中,所述冻结模块,用于:响应于所述目标冻结参数指示不执行冻结处理,则不对所述目标应用的进程进行冻结处理;响应于所述目标冻结参数指示马上执行冻结处理,则对所述目标应用的进程进行冻结处理;响应于所述目标冻结参数指示延迟预设时长执行冻结处理,则在经过所述预设时长后,对所述目标应用的进程进行冻结处理。在一种可能实现方式中,所述装置还包括触发模块,用于:如果检测到所述目标应用的应用状态发生变化,触发通知数据发送指令,所述通知数据发送指令携带有所述目标应用的应用状态信息;根据所述通知数据发送指令中携带的应用状态信息,确定所述目标应用的应用状态,所述应用状态用于指示所述目标应用发生启动事件或退出事件;如果所述目标应用发生退出事件,触发所述进程冻结指令。在一种可能实现方式中,所述装置还包括解冻模块,用于:如果所述目标应用发生启动事件,检测所述目标应用的进程是否处于被冻结状态,如果所述目标应用的进程处于被冻结状态,解冻所述目标应用的进程。在一种可能实现方式中,所述装置还包括执行模块,用于:判断所述目标应用是否为第三方应用程序,如果所述目标应用为第三方应用程序,执行触发所述进程冻结指令的步骤,所述第三方应用程序为非系统自带的程序。一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的进程冻结方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的进程冻结方法所执行的操作。本申请实施例提供的技术方案带来的有益效果至少包括:根据目标应用的应用类型与应用运行行为,来确定出目标应用的冻结处理方式,考虑到了用户当前时刻使用的目标应用的类型,以及当前时刻利用该目标应用实现的功能,可以预测到用户后续使用该目标应用的可能性,从而找到适合该目标应用的冻结处理方式,避免出现一退出就被冻结进程的情况,能够灵活的实现进程冻结,冻结效果较好,提升了用户的操作体验。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种进程冻结方法的实施环境的示意图;图2是本申请实施例提供的一种进程冻结方法的系统架构示意图;图3是本申请实施例提供的一种进程冻结方法的流程图;图4是本申请实施例提供的一种进程冻结方法的流程图;图5是本申请实施例提供的一种进程冻结的系统流程图;图6是本申请实施例提供的一种进程冻结的耗电示意图;图7是本申请实施例提供的一种进程冻结装置的结构示意图;图8是本申请实施例提供的一种终端的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。图1是本申请实施例提供的一种进程冻结方法的实施环境的示意图。参见图1,该实施环境包括:终端101,终端101可以是手机、平板电脑、台式计算机、笔记本电脑等。终端101可以运行有多种应用程序,如音乐应用程序、聊天应用程序、视频应用程序及导航应用程序等。在本申请实施例中,利用目标应用指代当前时刻应用状态发生变化的应用程序。进程冻结的过程可以由终端101执行,当用户操作终端101退出目标应用时,可以触发进程冻结指令,终端101接收到该进程冻结指令后,可以采用本申请实施例提供的进程冻结方法,得到该目标应用的冻结处理方式,再按照该冻结处理方式对该目标应用的进程进行冻结处理。需要说明的是,终端101可以搭载有操作系统,该操作系统设置有多个功能单元,进程冻结方法可以由该多个功能单元共同完成。图2是本申请实施例提供的一种进程冻结方法的系统架构示意图,如图2所示,该系统架构可以包括系统框架单元、冻结管理中控单元、冻结策略配置单元、冻结策略管理单元、应用识别单元、应用行为识别单元及冻结底层实现单元。下面对该多个功能单元进行说明:系统框架单元用于检测应用的应用状态及应用运行行为。系统框架单元是指安卓操作系统框架(androidsystemframework),该系统框架单元可以包括ams(activitymanagerservice,行为管理服务)、wms(windowsmanagerservice,操作系统管理服务)、各个服务子单元如网络管理子单元、传感器管理子单元、gps(globalpositioningsystem,全球定位系统)管理子单元等。冻结管理中控单元用于接收系统框架单元发送的通知(notify),以及管理系统中的待冻结应用。冻结管理中控单元是基于安卓系统开发的服务管理单元,在系统中属于一个独立的进程。冻结策略配置单元用于管理应用的配置(configure)数据,该配置数据可以包括冻结黑名单、冻结白名单、每种应用类型对应的行为权重及冻结处理方式等。冻结策略配置单元可以根据产品的需求在出厂配置阶段或终端固件升级阶段为终端101内置文件系统,具体的,冻结策略配置单元可以接收用户端和云服务端的配置文件,解析该配置文件得到配置数据,将该配置数据存储至文件系统的应用配置表中,该配置数据用于冻结策略管理单元读取并使用。冻结策略管理单元用于查询(query)应用分类识别单元得到应用类型,查询(query)应用行为识别单元得到应用运行行为,并根据应用的应用类型和应用运行行为,计算得到应用的重要程度信息,进而得到目标冻结参数,再返回该目标冻结参数给冻结底层实现单元。应用分类识别单元用于识别应用的类型,如音乐类应用、游戏类应用、视频类应用、运动类应用、导航类应用等。应用行为识别单元用于识别应用的当前行为,如正在播放音乐、正在导航、正在下载数据等。冻结底层实现单元用于执行应用的进程的冻结处理过程。根据应用的进程标识,可以对应用的进程进行冻结处理,将该应用的进程置于冻结状态,也可以对应用的进程进行解冻处理,将该应用的进程切换到运行状态。图3是本申请实施例提供的一种进程冻结方法的流程图。该实施例仅以终端为执行主体进行说明,参见图3,该实施例包括:在步骤301中,终端响应于对目标应用的进程冻结指令,获取目标应用的应用类型与应用运行行为。在步骤302中,终端基于应用类型与应用运行行为,确定用于指示冻结处理方式的目标冻结参数,目标冻结参数与应用类型以及应用运行行为匹配。在步骤303中,终端响应于目标冻结参数,按照冻结处理方式,对目标应用的进程进行冻结处理。本申请实施例提供的技术方案,根据目标应用的应用类型与应用运行行为,来确定出目标应用的冻结处理方式,考虑到了用户当前时刻使用的应用的类型,以及当前时刻利用该应用实现的功能,可以预测到用户后续使用该目标应用的可能性,从而找到适合该目标应用的冻结处理方式,避免出现一退出就被冻结进程的情况,能够灵活的实现进程冻结,冻结效果较好,提升了用户的操作体验。图4是本申请实施例提供的一种进程冻结方法的流程图。该实施例仅以终端为执行主体进行说明,参见图4,该实施例包括:在步骤401中,终端检测多个应用的应用状态,应用状态用于指示目标应用发生启动事件或退出事件。在本申请实施例中,目标应用用于指代当前时刻应用状态发生变化的应用程序。在一种可能实现方式中,步骤401可以具体包括下述步骤:步骤401a、如果终端检测到多个应用中目标应用的应用状态发生变化,触发通知数据发送指令,该通知数据发送指令中可以携带有该目标应用的应用状态信息。终端接收到触发通知数据发送指令后,执行触发通知数据发送指令所指示的发送通知数据的步骤,再进行后续根据通知数据确定应用状态的操作。步骤401b、终端根据通知数据发送指令中携带的应用状态信息,确定目标应用的应用状态。可选的,上述可以终端可以通过埋点代码的方式,将用于检测应用状态的埋点代码添加到触发检测的代码中,从而实现检测多个应用的应用状态的功能。需要说明的是,步骤401a可以由上述系统架构中的系统框架单元实现,步骤401b可以由上述系统架构中的冻结管理中控单元实现。图5是本申请实施例提供的一种进程冻结的系统流程图,如图5所示,系统框架单元进行应用退出后台检测后,触发通知数据发送指令,向冻结管理中控单元发送通知数据。冻结管理中控单元根据通知数据中携带的应用状态信息,可以确定目标应用的应用状态。在步骤402中,如果该多个应用中的目标应用发生退出事件,判断目标应用是否为第三方应用程序,如果目标应用为第三方应用程序,触发进程冻结指令,该第三方应用程序为非系统自带的程序。在本申请实施例中,进程冻结指令用于指示查询目标应用的冻结处理方式并冻结目标应用的进程。退出事件可以为应用界面关闭或切换到后台运行。在一种可能实现方式中,终端的操作系统可以存储有系统自带的程序的列表,该列表可以包括系统自带的程序的名称。如果目标应用发生退出事件,终端可以根据目标应用的名称,在系统自带的程序的列表中进行查询,判断该列表中是否存在与目标应用的名称相匹配的名称,如果是,则目标应用为非第三方应用程序,如果不是,则目标应用为第三方应用程序。如果目标应用为第三方应用程序,则触发进程冻结指令,并进行后续触发进程冻结指令所指示的冻结处理方式查询操作。为了保证系统的正常运行,当系统自带的应用发生退出事件时,无需对该应用的进程进行冻结,因此,如果目标应用为非第三方应用程序,不执行触发进程冻结指令的步骤,直接进行后续目标应用的相应操作。本申请实施例中,通过判断目标应用是否为第三方应用程序,可以保证系统的正常运行。例如,目标应用可以为音乐类应用,当检测到该音乐类应用的应用状态发生变化时,确定该音乐类应用的应用状态,如果该音乐类应用发生退出事件,执行触发进程冻结指令的步骤。又如,目标应用可以为系统自带的应用,如设置功能,当检测到该设置功能的应用状态发生变化时,确定该设置功能的应用状态,如果该设置功能发生退出事件,直接退出系统后台,不执行触发进程冻结指令的步骤。可选的,用户还可以预先设定冻结黑名单,该冻结黑名单用于存储用户退出应用后想要进行后续冻结进程操作的应用,如可以将视频类应用置于冻结黑名单。当终端检测到目标应用发生退出事件时,判断该目标应用是否处于冻结黑名单,如果该目标应用处于冻结黑名单,则执行触发进程冻结指令的步骤,如果该目标应用不处于冻结黑名单,则不执行触发进程冻结指令的步骤。在另一种可能实现方式中,用户也可以预先设定冻结白名单,该冻结白名单用于存储用户退出应用后不想进行后续冻结进程操作的应用,如可以将聊天类应用置于冻结白名单。当终端检测到目标应用发生退出事件时,判断该目标应用是否处于冻结白名单,如果该目标应用处于冻结白名单,则不执行触发进程冻结指令的步骤,如果该目标应用不处于冻结白名单,则执行触发进程冻结指令的步骤。可选的,如果目标应用为第三方应用程序,可以将该目标应用的进程添加到待冻结进程列表中,用于后续冻结进程操作时查询。在本申请实施例中,以如果目标应用发生退出事件,再判断目标应用是否为第三方应用程序为例进行说明。在另一种可能实现方式中,终端可以不判断目标应用是否为第三方应用程序,如果目标应用发生退出事件,直接触发进程冻结指令,再进行后续操作。另外,终端判断目标应用是否为第三方应用程序的步骤可以在确定目标应用的应用状态之前,也即是,终端接收到目标应用的应用状态发生变化的通知数据后,可以先判断该目标应用是否为第三方应用程序,再进行后续确定应用状态的步骤。或者,终端判断目标应用是否为第三方应用程序的步骤可以在确定目标应用的应用状态之后,也即是,终端接收到目标应用的应用状态发生变化的通知数据后,可以先确定目标应用的应用状态,再进行后续判断步骤。本申请实施例对该判断步骤的顺序不作限定。本申请实施例中,通过判断目标应用是否为第三方应用程序,可以快速确定需要进行冻结进行操作的应用,再进行后续冻结进程操作,提高了冻结进程的效率。需要说明的是,步骤402可以由上述系统架构中的冻结管理中控单元实现。如果目标应用发生退出事件,如图5所示,冻结管理中控单元判断目标应用是否是第三方应用程序,如果是,触发进程冻结指令,则冻结管理中控单元向冻结策略管理模块发送冻结处理方式查询请求。在步骤403中,终端响应于对目标应用的进程冻结指令,获取目标应用的应用类型。在本申请实施例中,应用类型是指目标应用的类型,如音乐类应用、游戏类应用、视频类应用、运动类应用、导航类应用等。进程冻结指令中可以携带有目标应用的名称和进程标识,该名称可以为目标应用的包名,该包名可以为目标应用的一段标识代码,该进程标识可以为pid(processidentification,进程识别号)。在一种可能实现方式中,上述终端获取目标应用的应用类型的过程可以包括:终端接收到对目标应用的进程冻结指令后,解析该进程冻结指令,可以得到该进程冻结指令中携带的目标应用的名称。基于该进程冻结指令中携带的目标应用的名称,查询名称与应用类型的对应关系,可以得到该名称对应的应用类型,作为目标应用的应用类型。例如,目标应用的包名可以为mediacenter,名称与应用类型的对应关系可以如表1所示。表1名称标识应用类型mediacenteramusic(音乐)hwcameramcamera(相机)baidumapnnavigate(导航)mtxxmcamera(相机)根据该目标应用的包名,查询名称与应用类型的对应关系,可以得到mediacenter对应的应用类型为music,标识可以为a,从而确定该目标应用的应用类型为音乐类应用。需要说明的是,步骤403可以由上述系统架构中的冻结策略管理单元实现。如图5所示,冻结策略管理单元接收到冻结处理方式查询请求,根据冻结处理方式查询请求携带的目标应用的名称,查询应用分类识别单元,可以获取到目标应用的应用类型a,该应用分类识别单元中可以存储有名称与应用类型的对应关系。在步骤404中,终端响应于对目标应用的进程冻结指令,获取目标应用的应用运行行为。在本申请实施例中,应用运行行为是指目标应用在当前时刻的运行行为,如正在播放音乐、正在下载数据、正在导航等。目标应用的应用运行行为可以为一个或多个,目标应用在当前时刻可以有多个应用运行行为,如音乐类应用可以同时播放音乐和下载数据。在一种可能实现方式中,上述终端获取目标应用的应用运行行为的过程可以包括:终端获取目标应用的应用运行行为的过程可以为:终端获取到该进程冻结指令中携带的目标应用的名称后,根据该名称进行检测,得到该名称对应的目标应用的应用运行行为。根据目标应用的名称,检测该目标应用的应用运行行为,可以直接得到目标应用的应用运行行为,提高了获取目标应用的应用运行行为的效率。例如,目标应用的包名可以为mediacenter,根据包名进行检测,可以得到目标应用的应用运行行为,目标应用的应用运行行为可以以表格的形式进行存储,如表2所示。表2名称第一应用运行行为(标识)第二应用运行行为(标识)mediacenter正在下载数据(b)正在播放音乐(c)在表2中,根据目标应用的包名查询,可以发现名称mediacenter对应的两个应用运行行为,目标应用的第一应用运行行为为正在下载数据,标识可以为b,该目标应用的第二应用运行行为为正在播放音乐,标识可以为c。需要说明的是,步骤404可以由上述系统架构中的冻结策略管理单元实现。如图5所示,冻结策略管理单元根据进程冻结指令中携带的目标应用的名称,查询应用行为识别单元,可以获取到目标应用的应用运行行为b+c。在步骤405中,终端基于应用类型与应用运行行为,确定目标应用的重要程度信息。在本申请实施例中,该重要程度信息用于表示目标应用被继续使用的可能性,重要程度信息可以采用数值的形式表示。在一种可能实现方式中,步骤405可以具体包括下述步骤:步骤405a、应用配置表中可以存储有多种应用的应用类型及其对应的各类行为的行为权重。当终端获取到目标应用的应用类型和应用运行行为后,基于该应用类型,在应用配置表中查询,可以得到应用类型对应的各类行为的行为权重。基于目标应用的应用运行行为,在各类行为的行为权重中,可以确定出该应用运行行为对应的行为权重。步骤405b、终端得到目标应用的应用类型、应用运行行为及其对应的行为权重后,可以对应用类型、应用运行行为与应用运行行为对应的行为权重进行计算,得到目标应用的重要程度信息。其中,行为权重为基于用户类型为应用运行行为设置的权重,该行为权重可以为数值,行为权重可以体现用户后续使用应用的可持续性。例如,应用运行行为可以包括正在导航、正在下载数据及正在播放语音等,对于导航类应用,正在导航对应的行为权重可以设置较大的数值,正在播放语音对应的行为权重可以设置较小的数值。例如,目标应用的应用类型可以为音乐类应用,标识可以为a。目标应用可以对应一个或多个应用运行行为,如该目标应用的第一应用运行行为可以为正在下载数据,标识可以为b,该目标应用的第二应用运行行为可以为正在播放音乐,标识可以为c。应用配置表中应用类型a对应的各类行为的行为权重可以为(x,y,z),则第一应用运行行为b对应的行为权重可以为x,第二应用运行行为c对应的行为权重可以为y。根据上述示例,目标应用对应两个应用运行行为时,终端确定重要程度信息的过程可以包括:终端根据目标应用的应用类型、应用运行行为、应用运行行为对应的行为权重和算法i=g(a,(b*x+c*y)),可以得到目标应用的重要程度信息。其中,i为目标应用的重要程度信息,a为目标应用的应用类型,b为目标应用的第一应用运行行为,c为目标应用的第二应用运行行为,x为目标应用的第一应用运行行为对应的行为权重,y为目标应用的第二应用运行行为对应的行为权重,g为冻结参数算法,该冻结参数算法可以为技术人员预先设置的一段代码算法。需要说明的是,步骤405a和步骤405b可以由上述系统架构中的冻结策略管理单元实现。如图5所示,冻结策略管理单元根据应用类型和应用运行行为,查询冻结策略配置单元中的应用配置表,可以获取到目标应用的应用运行行为b+c对应的行为权重(x,y)。冻结策略管理单元根据目标应用的应用类型、应用运行行为与应用运行行为对应的行为权重进行计算,可以得到目标应用的重要程度信息。在步骤406中,终端基于重要程度信息,确定与重要程度信息匹配的目标冻结参数。在本申请实施例中,目标冻结参数为目标应用的冻结参数,用于指示目标应用的冻结处理方式,目标冻结参数与应用类型以及应用运行行为匹配。在一种可能实现方式中,上述终端确定目标冻结参数的过程可以包括:终端得到目标应用的重要程度信息后,对重要程度信息进行归一化(normalize)处理,可以得到目标冻结参数的冻结参数标识,该冻结参数标识与目标应用的冻结处理方式对应。终端中可以存储有冻结参数标识和冻结参数的对应关系,根据冻结参数标识,从冻结参数标识和冻结参数的对应关系中,可以获取到目标冻结参数,该目标冻结参数中可以携带有目标应用的冻结处理方式。例如,终端得到目标冻结参数的冻结参数标识可以为n,目标冻结参数可以为-1、0、1,当n=-1时,冻结处理方式可以为不冻结,当n=0时,冻结处理方式可以为马上冻结,当n>=1时,冻结处理方式可以为延迟预设时长冻结。需要说明的是,步骤406可以由上述系统架构中的冻结策略管理单元实现。如图5所示,冻结策略管理单元对重要程度信息进行归一化处理,得到目标冻结参数的冻结参数标识,进而得到目标冻结参数。并且,冻结策略管理单元查询冻结策略配置单元中的应用配置表,可以得到目标冻结参数匹配的冻结处理方式,并向冻结底层实现单元发送目标冻结参数。在步骤407中,终端响应于目标冻结参数,按照冻结处理方式,对目标应用的进程进行冻结处理。在本申请实施例中,冻结处理方式可以包括不冻结、马上冻结、延时预设时长冻结,预设时长可以为用户预先设定的固定时间,如3s、4s等。在一种可能实现方式中,终端接收到目标冻结参数后,根据目标冻结参数,可以确定与目标冻结参数匹配的冻结处理方式。终端响应于目标冻结参数指示不执行冻结处理,则不对目标应用的进程进行冻结处理。终端响应于目标冻结参数指示马上执行冻结处理,则对目标应用的进程进行冻结处理。终端响应于目标冻结参数指示延迟预设时长执行冻结处理,则在经过预设时长后,对目标应用的进程进行冻结处理。例如,如果目标应用的目标冻结参数指示不执行冻结处理,将该目标应用退出系统后台后,不对该目标应用的进程进行冻结处理,使得该目标应用的进程继续占用着系统资源,在系统后台继续运行。又如,如果目标冻结参数指示马上执行冻结处理,根据进程冻结指令中携带的目标应用的进程标识,在待冻结进程列表中查询该进程标识对应的进程。基于linuxcgroup(controlgroups,控制进程)机制,马上将该进程迁移(migrate)到frozencgroup(frozencontrolgroups,冻结控制进程)组,从而实现进程的冻结处理。又如,如果目标冻结参数指示延迟预设时长执行冻结处理,根据进程冻结指令中携带的目标应用的进程标识,在待冻结进程列表中查询该进程标识对应的进程。基于linuxcgroup机制,在经过预设时长后,将该进程迁移到frozencgroup组,从而实现进程的冻结处理。需要说明的是,步骤407可以由上述系统架构中的冻结底层实现单元实现。如图5所示,冻结底层实现单元接收到目标冻结参数后,根据目标冻结参数所指示的冻结处理方式,对目标应用的进程进行冻结处理。需要说明的是,本申请实施例可以由多个单元协作完成,为了减少单元之间的代码耦合,冻结管理中控单元、冻结策略管理单元等单元均可以单独实现相应任务。如图5所示,图5中实线表示单元单独实现相应任务,虚线表示各单元之间跨进程通讯。上述步骤401至步骤407,以目标应用发生退出事件,再进行后续进程冻结操作为例进行说明。在另一种可能实现方式中,如果目标应用发生启动事件,检测目标应用的进程是否处于被冻结状态,如果目标应用的进程处于被冻结状态,解冻该目标应用的进程。具体的,解冻目标应用的进程的过程可以为:当终端检测到目标应用的进程处于被冻结状态时,基于linuxcgroup机制,根据目标应用的进程标识,在frozencgroup组中查询到该进程标识对应的进程,将该进程迁移(migrate)到thawedcgroup(thawedcontrolgroups,解冻控制进程)组,从而实现进程的解冻处理。如果目标应用的进程处于非冻结状态,直接启动该目标应用。本申请实施例提供的技术方案,根据目标应用的应用类型与应用运行行为,来确定出目标应用的冻结处理方式,提供了一种冻结参数算法,根据目标应用的应用类型、应用行为及其行为权重进行计算打分,可以预测到用户后续使用该目标应用的可能性,考虑到了用户当前时刻使用的应用的类型,以及当前时刻利用该应用实现的功能,可以预测到该目标应用是否需要进入冻结状态,以及进入冻结状态的时间,避免出现一退出就被冻结进程的情况,能够灵活的实现进程冻结,实现了进程冻结的智能化和合理化,能够适应更多的第三方应用程序,提升了用户的操作体验。基于上述技术方案,本申请实施例还提供了对应用的进程进行冻结处理后的耗电实验结果,基于该耗电实验结果,可以证明对应用的进程进行冻结处理能够优化系统的功耗。如图6所示,图6包括了冻结进程、不冻结进程且不待机自动清理、不冻结进程且待机自动清理三种情况的每小时耗电量,可以发现,当对应用的进程进行冻结处理后每个小时只有0.44%的耗电量,而对于不进行冻结处理的应用每小时耗电高达1.3%,因此,对应用的进程进行冻结处理减小了耗电量,大大的优化了系统的功耗。需要说明的是,进程冻结是将应用的进程和部分内核线程置于可控的暂停状态,被冻结的进程不占用cpu资源、网络资源及io资源等系统资源,从而达到性能提升和节省功耗的目的,同时也保留了终端快速启动的特性,提升用户的体验。在应用启动方面,被冻结的进程在用户点击到应用启动运行的时间小于10ms,而不使用进程冻结方法的应用,从用户点击应用到该应用启动运行的时间高达300ms,大大的减小了应用的启动时间,在应用启动性能方面使用进程冻结方法有了显著的提高。图7是本申请实施例提供的一种进程冻结装置的结构示意图,参见图7,该装置包括:获取模块701,用于响应于对目标应用的进程冻结指令,获取目标应用的应用类型与应用运行行为;确定模块702,用于基于应用类型与应用运行行为,确定用于指示冻结处理方式的目标冻结参数,目标冻结参数与应用类型以及应用运行行为匹配;冻结模块703,用于响应于目标冻结参数,按照冻结处理方式,对目标应用的进程进行冻结处理。在一种可能实现方式中,获取模块701,用于:基于进程冻结指令中携带的目标应用的名称,查询名称与应用类型的对应关系,得到目标应用的应用类型。在一种可能实现方式中,获取模块701,用于:基于进程冻结指令中携带的目标应用的名称,进行检测,得到目标应用的应用运行行为。在一种可能实现方式中,确定模块702,用于:对应用类型、应用运行行为与应用运行行为对应的行为权重进行计算,得到目标应用的重要程度信息,重要程度信息用于表示目标应用被继续使用的可能性;基于重要程度信息,确定与重要程度信息匹配的目标冻结参数。在一种可能实现方式中,确定模块702,还用于:基于应用类型,在应用配置表中查询,得到应用类型对应的各类行为的行为权重;在各类行为的行为权重中,确定应用运行行为对应的行为权重。在一种可能实现方式中,确定模块702,用于:对重要程度信息进行归一化处理,得到目标冻结参数的冻结参数标识;根据冻结参数标识,从冻结参数标识和冻结参数的对应关系中,获取目标冻结参数。在一种可能实现方式中,冻结模块703,用于:响应于目标冻结参数指示不执行冻结处理,则不对目标应用的进程进行冻结处理;响应于目标冻结参数指示马上执行冻结处理,则对目标应用的进程进行冻结处理;响应于目标冻结参数指示延迟预设时长执行冻结处理,则在经过预设时长后,对目标应用的进程进行冻结处理。在一种可能实现方式中,装置还包括触发模块,用于:如果检测到目标应用的应用状态发生变化,触发通知数据发送指令,通知数据发送指令携带有目标应用的应用状态信息;根据通知数据发送指令中携带的应用状态信息,确定目标应用的应用状态,应用状态用于指示目标应用发生启动事件或退出事件;如果目标应用发生退出事件,触发进程冻结指令。在一种可能实现方式中,装置还包括解冻模块,用于:如果目标应用发生启动事件,检测目标应用的进程是否处于被冻结状态,如果目标应用的进程处于被冻结状态,解冻目标应用的进程。在一种可能实现方式中,装置还包括执行模块,用于:判断目标应用是否为第三方应用程序,如果目标应用为第三方应用程序,执行触发进程冻结指令的步骤,第三方应用程序为非系统自带的程序。需要说明的是:上述实施例提供的进程冻结装置在进程冻结时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。在本申请实施例中,获取模块701和确定模块702可以提供为上述冻结策略管理单元,冻结模块703提供为上述冻结底层实现单元,与上述系统架构中的系统框架单元、冻结管理中控单元、应用分类识别单元及应用行为识别单元共同协作完成进程冻结的过程。另外,上述实施例提供的进程冻结装置与进程冻结方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本申请实施例提供的技术方案,根据目标应用的应用类型与应用运行行为,来确定出目标应用的冻结处理方式,提供了一种冻结参数算法,根据目标应用的应用类型、应用行为及其行为权重进行计算打分,考虑到了用户当前时刻使用的应用的类型,以及当前时刻利用该应用实现的功能,可以预测到用户后续使用该目标应用的可能性,从而预测到该目标应用是否需要进入冻结状态,以及进入冻结状态的时间,避免出现一退出就被冻结进程的情况,能够灵活的实现进程冻结,实现了进程冻结的智能化和合理化,能够适应更多的第三方应用程序,提升了用户的操作体验。图8是本申请实施例提供的一种终端的结构示意图。该终端800可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。通常,终端800包括有:处理器801和存储器802。处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的弹性伸缩服务方法。在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头806、音频电路807、定位组件808和电源808中的至少一种。外围设备接口803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。射频电路804用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及8g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。显示屏805用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。定位组件808用于定位终端800的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件808可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏806以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3d动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。压力传感器813可以设置在终端800的侧边框和/或触摸显示屏806的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商logo时,指纹传感器814可以与物理按键或厂商logo集成在一起。光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏806的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏806的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中弹性伸缩服务方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1