应用程序预加载方法、装置、存储介质及移动终端
技术领域
本申请实施例涉及机器学习技术领域,尤其涉及应用程序预加载方法、装置、存储介质及移动终端。
背景技术
目前,随着智能终端技术的快速发展,诸如智能手机、平板电脑以及智能电视等智能设备已成为人们生活中必不可少的电子设备。
智能终端上安装有各种各样的应用程序(Application Software,APP),一般默认在用户打开一个应用程序时才开始加载这个应用程序,而应用程序占用的存储空间越来越大,加载时间也越来越长,浪费了用户的宝贵时间。为了使应用程序运行的更加流畅,有些智能终端会将提前将某些应用程序的加载资源准备好,即对某些应用程序提前进行预加载。
但是,不能对应用程序进行随意预加载,因为若预加载太多资源,则会占用较多的存储空间,同时功耗变大,会严重影响终端使用的流畅性。因此,优化预加载机制、降低终端功耗变得至关重要。
发明内容
本申请实施例提供应用程序预加载方法、装置、存储介质及移动终端,可以优化移动终端中应用程序的预加载方案。
第一方面,本申请实施例提供了一种应用程序预加载方法,包括:
检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息;
对于预设应用程序集合中的每个应用程序,将所述第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,所述分类回归树预测模型基于所述移动终端在对应历史状态特征信息时的应用程序使用规律生成;
根据所述分类回归树预测模型的输出结果预测出即将启动的目标应用程序;
对所述目标应用程序进行预加载。
第二方面,本申请实施例提供了一种应用程序预加载装置,包括:
第一状态获取模块,用于检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息;
特征信息输入模块,用于对于预设应用程序集合中的每个应用程序,将所述第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,所述分类回归树预测模型基于所述移动终端在对应历史状态特征信息时的应用程序使用规律生成;
应用预测模块,用于根据所述分类回归树预测模型的输出结果预测出即将启动的目标应用程序;
应用预加载模块,用于对所述目标应用程序进行预加载。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的应用程序预加载方法。
第四方面,本申请实施例提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例第一方面所述的应用程序预加载方法。
本申请实施例中提供的应用程序预加载方案,当检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息,并对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成,然后根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序,并对目标应用程序进行预加载。通过采用上述技术方案,不仅解决了应用程序预加载太多资源,占用太多资源及功耗变大,甚至影响终端使用流畅性的技术问题,而且有效的提高了对待启动应用程序预测的准确性,进一步降低了终端系统功耗和内存占用率,优化了应用程序预加载机制。
附图说明
图1为本申请实施例提供的一种应用程序预加载的流程示意图;
图2为本申请实施例提供的另一种应用程序预加载方法的流程示意图;
图3为本申请实施例提供的又一种应用程序预加载方法的流程示意图;
图4为本申请实施例提供的再一种应用程序预加载方法的流程示意图;
图5为本申请实施例提供的一种应用程序预加载装置的结构框图;
图6为本申请实施例提供的一种移动终端的结构示意图;
图7为本申请实施例提供的另一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在终端设备上,对应用程序进行预加载是一种常用且有效提升用户体验的方法,通过提前把某些应用的加载资源准备好,使其运行时更流畅。
现有技术中,主要是基于统计的方法对应用程序进行预加载,比如用户最常用的应用程序可能只有几个,将其全部进行预加载;或者根据用户的使用习惯对应用程序进行打分排名,将排名较高的应用程序进行预加载。然而,上述方法由于忽略了应用程序之间相互关联的信息,以及时间信息,终端状态信息等,导致预加载应用程序的预测精度不够,需要预加载过多资源,但实际用户下一时刻使用的应用程序仅为一个,影响了用户体验。因此,准确预测用户下一时刻将要启动的应用程序具有重要意义。
图1为本申请实施例提供的应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图1所示,该方法包括:
步骤101、检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息。
在本申请实施例中,当检测到应用程序预加载事件被触发时,获取移动终端当前的第一状态特征信息,从而进行应用程序预加载的管控事件。
可以理解的是,系统监听到预加载通知时,读取通知内容,并从读取到的通知内容中确定需要对应用程序进行预加载,此时,若检测到该应用程序未被加载时,则触发应用预加载的预测事件;当用户主动点击打开应用程序预加载预测权限时,表征应用预加载预测事件被触发。需要说明的是,本申请实施例对应用预加载预测事件被触发的具体表现形式不做限定。
其中,终端当前的第一状态特征信息可以包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态和位置信息。
时间信息可以理解为移动终端当前的时间段,例如,时间信息可以包括:早高峰、午间、晚高峰、工作时间以及休息时间。当然,时间信息也可以对一天24小时0:00-24:00进行均等划分,如划分为6个时间段,每个时间段时长为4小时。其中,时间信息可以通过时间戳的形式进行记载。日期类别可以包括:工作日及节假日,其中,日期类别也可以通过时间戳的形式进行记载。移动数据网络的开关状态可以包括移动数据网络处于开启状态和关闭状态,可以理解的是,当移动数据网络处于开启状态时,移动终端可以通过移动数据网络进行网页浏览等一系列的上网操作;当移动数据网络处于关闭状态时,移动终端不可以通过移动数据网络进行网页浏览等操作。无线热点的连接状态可以包括无线热点处于连接状态和无线热点处于断开状态。当无线热点处于连接状态时,第一状态特征信息还可以包括连接的无线热点的身份信息。连接的无线热点的身份信息可以包括服务集标识符(ServiceSet Identifier,SSID),和基本业务集标识(Basic Service Set ID,BSSID)。当前运行的应用程序可以理解为移动终端的前台正在运行的应用程序,还可以包括正在后台运行的应用程序,其中,可以获取当前运行的应用程序的包名和/或组件名称等能够唯一标识当前运行的应用程序的标识信息。上一个前景应用程序可以理解为在当前前景应用程序在移动终端前台运行之前,最近一次在前台运行的应用程序。当前应用程序在后台停留的时长可以理解为当前应用程序从被切换至后台到被从后台彻底清除的时长。其中,当前应用程序可以为移动终端中任意一个应用程序,当前应用程序与当前运行的应用程序可以相同,也可以不同。同样的,当前应用程序与上一个前景应用程序可以相同,也可以不同。当前应用程序最近一次被切换至后台的时间可以理解为从当前应用程序最近一次被切换至后台的时刻,根据该时间可以确定当前应用程序最近一次被切换至后台距离当前时刻的时长。耳机插孔的插拔状态可以理解为耳机与移动终端处于连接状态或耳机与移动终端处于未连接状态。充电状态可以包括移动终端是否处于充电模式,其中,当移动终端处于充电模式时,还可以包括充电模式类型。充电模式类型可以包括快速充电模式和普通充电模式,快速充电模式可以是通过快充电源适配器(如移动电源)进行充电,普通充电模式可以是通过普通的电源适配器(如移动终端的原装充电器)进行充电。电池电量信息可以理解为当前终端剩余电量的多少。屏幕显示时长可以理解为最近一次屏幕被点亮维持的时长。运动状态可以包括移动终端当前的速度和/或加速度。位置信息可以理解为移动终端当前所处的具体位置,可以包括省、市、区和县,甚至可以具体到街道名称、大厦名称等。
步骤102、对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中。
其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成。
在本申请实施例中,预设应用程序集合可以包括移动终端中所有的应用程序,还可以包括移动终端中部分应用程序。其中,预设应用程序集合中包含的应用程序的数量和种类不做具体限定。虽然,通常在移动终端中安装有各种各样的应用程序,然而,在预设时间段内,如一天中,用户使用的应用程序的个数是有限的,而且,用户经常使用的应用程序的个数也是有限的。大多数的应用程序的使用频率都较低,一周甚至一个月内,才有可能被用户使用一次。若将第一状态特征信息分别输入至移动终端中安装的所有应用程序对应的分类回归树预测模型中,不仅数据量大,而且对应用程序预加载的预测精度不会有明显提升。可选的,根据预设时间段内应用程序的使用频次大小对应用程序进行排序;根据排序结果确定M个使用频次最大的应用程序,将M个使用频次最大的应用程序作为预设应用程序集合中的应用程序,M可根据实际情况设置,例如移动终端中安装的所有应用程序与预设系数的乘积,预设系数例如是0.3。
对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中。示例性的,预设应用程序集合中包括五个应用程序,分别为应用程序A、应用程序B、应用程序C、应用程序D及应用程序E。与应用程序A、应用程序B、应用程序C、应用程序D及应用程序E对应的分类回归树预测模型分别为分类回归树预测模型A1、分类回归树预测模型B1、分类回归树预测模型C1、分类回归树预测模型D1及分类回归树预测模型E1。则将第一状态特征信息分别输入至应用程序A、应用程序B、应用程序C、应用程序D及应用程序E对应的分类回归树预测模型,即将第一状态特征信息分别输入至分类回归树预测模型A1、分类回归树预测模型B1、分类回归树预测模型C1、分类回归树预测模型D1及分类回归树预测模型E1。
对于每个应用程序,应用程序对应的分类回归树预测模型可以理解为在输入第一状态特征信息后快速确定当前应用程序被启动概率的学习模型。分类回归树预测模型可以是基于移动终端在对应历史状态特征信息时的应用程序使用规律生成,即将移动终端在对应历史状态特征信息时的应用程序使用规律作为训练样本,根据分类回归树算法对该训练样本进行训练、学习,生成分类回归树预测模型。
步骤103、根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序。
在本申请实施例中,根据预设应用集合中每个应用程序对应的分类回归树预测模型的输出结果,预测即将启动的目标应用程序。可以理解的是,对于预设应用程序集合中的每个应用程序对应的分类回归树预测模型,输入第一状态特征后,分类回归树预测模型均会输出一个当前应用程序被即将启动的概率值。根据应用程序集合中每个应用程序被即将启动的概率值,确定目标应用程序。例如,可以将所有概率值中最大概率值对应的应用程序作为即将启动的目标应用程序,还可以将所有概率值中两个最大概率值分别对应的应用程序作为即将启动的目标应用程序。
可选的,根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序,可以包括:对于预设应用程序集合中的每个应用程序对应的分类回归树预测模型,获取当前分类回归树预测模型中与第一状态特征信息相匹配的叶子节点输出的概率值;从所得到的概率值中选取N个数值最大的概率值;将所选取的N个概率值分别对应的应用程序确定为即将启动的目标应用程序。这样设置的好处在于,不仅可以获取预设应用程序集合中每个应用程序即将启动的概率值大小,而且还可以根据用户需求基于各个概率值大小选择预设数目的应用程序作为即将启动的应用程序,满足用户需求。
在本申请实施例中,对于预设应用程序集合中的每个应用程序对应的分类回归树预测模型,将第一状态特征信息输入至当前分类回归树预测模型中后,在当前分类回归树预测模型中,有且仅有一个叶子结点与第一状态特征信息匹配,因此,可以获取当前分类回归树预测模型中与第一状态特征信息相匹配的叶子节点输出的概率值。示例性的,预设应用程序集合中包括五个应用程序,分别为应用程序A、应用程序B、应用程序C、应用程序D及应用程序E。与应用程序A、应用程序B、应用程序C、应用程序D及应用程序E对应的分类回归树预测模型分别为分类回归树预测模型A1、分类回归树预测模型B1、分类回归树预测模型C1、分类回归树预测模型D1及分类回归树预测模型E1。则以上五个分类回归树预测模型中,与第一状态特征信息相匹配的叶子节点输出的概率值分别为PA、PB、PC、PD、及PE,即应用程序A即将启动的概率为PA,应用程序B即将启动的概率为PB,应用程序C即将启动的概率为PC,应用程序D即将启动的概率为PD,应用程序E即将启动的概率为PE。从得到的所有的概率值中选取N个数值最大的概率值,N为大于等于1的正整数,且N小于等于预设应用程序集合中应用程序的个数。并将选取的N个概率值分别对应的应用程序确定为即将启动的目标应用程序。例如,PA=0.5,PB=0.03,PC=0.11,PD=0.34,PE=0.02,从PA、PB、PC、PD、及PE五个概率值中,选取的两个数值最大的概率值分别为PA和PD,则将PA对应的应用程序A和PD对应的应用程序D作为即将启动的目标应用程序。
可选的,从所得到的概率值中选取N个数值最大的概率值,可以包括:获取移动终端中的存储空间信息,根据所述存储空间信息确定N的取值;从所得到的概率值中选取N个数值最大的概率值。这样设置的好处在于,可以根据移动终端中的存储空间信息,合理确定即将启动的目标应用程序的个数,在保证不影响系统资源占用率的前提下,合理对即将启动的应用程序进行预加载,可以进一步增加应用程序使用时的流畅性,提高用户体验。
其中,移动终端的存储空间信息可以包括当前时刻移动终端剩余存储空间大小,也可以包括当前时刻移动终端的存储空间占用率大小。可以理解的是,存储空间信息反映了当前时刻移动终端中可用的存储空间大小。剩余存储空间越大,移动终端可用的存储空间越大,可以加载的目标应用程序的数量越多;同样的,存储空间占用率越小,移动终端可用的存储空间越大,可以加载的目标应用程序的数量越多。根据存储空间信息合理确定N的取值,其中,根据存储空间信息确定移动终端中可用的存储空间较大时,可以将N的取值设定的较大些;根据存储空间信息确定移动终端中可用的存储空间较小时,可以将N的取值设置的较小些。最后从所得到的概率值中选取N个数值最大的概率值,并将所选取的N个概率值分别对应的应用程序确定为即将启动的目标应用程序。
步骤104、对目标应用程序进行预加载。
本申请实施例中对预加载的具体过程以及所加载的数据资源不做限定,例如可为目标应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。此外加载的数据资源可根据目标应用程序的具体类型来确定。例如,若目标应用程序为一个社交软件,可以预加载该应用程序中的启动画面、联系人列表以及近期的消息记录等;若目标应用程序为一个游戏,可以预加载该应用程序中的游戏背景相关数据等。
在对目标应用进行预加载之后,若用户真正想要使用目标应用程序,那么就会触发启动目标应用程序(如点击目标应用程序对应的应用图标),此时,由于用于启动的全部资源或部分资源已经进行了预加载,那么目标应用程序的启动速度就会明显得到提升,减少用户的等待时间,使得当用户使用所述目标应用程序时,提高使用效率及使用时的流畅性。
本申请实施例提供的应用程序预加载方法,当检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息,并对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成,然后根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序,并对目标应用程序进行预加载,不仅解决了应用程序预加载太多资源,占用太多资源及功耗变大,甚至影响终端使用流畅性的技术问题,而且有效的提高了对待启动应用程序预测的准确性,进一步降低了终端系统功耗和内存占用率,优化了应用程序预加载机制。
在一些实施例中,在检测到应用预加载预测事件被触发之前,还可以包括:在预设采集周期内针对预设应用集合中的应用程序进行样本采集,并分别构建每个应用程序对应的分类回归树预测模型。这样设置的好处在于,可以充分利用能够真实反映用户行为的应用程序使用记录,优化应用程序预加载机制,提高对即将启动的应用程序预测的准确性。预设采集周期表示连续采集样本的时长,在预设采集周期内以预设采样频率进行样本采集。预设采集周期可根据移动终端的特性或用户使用需求等情况来确定,本申请不做限定,例如智能手机,多数用户几乎每天都会使用,预设采集周期可设置得短一些,如半个月,若用户的使用强度比较大(如每天使用的时间很长),可以设置得更短一些,如一周。本申请实施例中对采样频率也不做限定,例如可根据用户使用应用程序的频率或频次来确定,例如可以是3分钟一次。
进一步的,在预设采集周期内针对预设应用集合中的应用程序进行样本采集,并分别构建每个应用程序对应的分类回归树预测模型,可以包括:对于预设应用程序集合中的每个应用程序,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本,监测当前应用程序在样本采集时刻之后的预设时间段内是否被使用,并将监测结果记为当前样本的样本标记,根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。这样设置的好处在于,能够充分利用移动终端在对应历史状态特征信息时应用程序的使用规律,生成分类回归树预测模型,可以进一步优化应用程序预加载机制,提高对即将启动的应用程序预测的准确性。
在本申请实施例中,在预设采集周期内对预设应用集合中的每个应用程序进行样本采集,并分别构建每个应用程序对应的分类回归树预测模型。可以理解的是,在预设采集周期内针对每个应用程序进行采样,均可获得每个应用程序对应的一个训练样本集,针对每个训练样本集,基于预设的分类回归树算法构建当前训练样本集对应的应用程序的分类回归树预测模型。示例性的,对于预设应用程序集合中的每个应用程序,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本。例如,预设采集周期设置为一周,预设采样频率为3分钟,即在一周的预设采样周期内,每隔三分钟分别对预设应用集合中的每个应用程序采样一次,分别获取每个应用程序在样本采集时刻的第二状态特征信息,并作为每个应用程序的样本。
可以理解的是,对于预设应用集合中的每个应用程序,从预设采集周期的初始时间开始进行第一次采样。例如,预设采集周期的初始时间为8:00,则8:00进行第一次采样,获取移动终端在8:00这一时刻的第二状态特征信息,作为当前应用程序的第一条样本;8:10进行第二次采样,获取移动终端在8:10这一时刻的第二状态特征信息,作为当前应用程序的第二条样本;8:20进行第三次采样,获取移动终端在8:20这一时刻的第二状态特征信息,作为当前应用程序的第三条样本…,依次类推。其中,预设采集周期可以根据采样频率的大小(也即采样的频繁程度)进行设置,如采样较频繁时,预设采集周期可以适应性地设置的短些;当采样不太频繁时,预设采集周期可以适应性地设置的长些。又示例性的,预设采集周期也可以根据用户需求进行适应性地设置,当对待启动的应用程序预测精度要求较高时,可以将采样周期设置的长些;当对待启动的应用程序预测精度要求较低时,可以将采样周期设置的短些。又示例性的,预设采集周期也可以根据终端处理数据量的能力大小进行设置,如终端对处理分类回归树预测模型建立时训练样本的数据量的能力较大时,可以将预设采集周期设置的长些;终端对处理分类回归树预测模型建立时训练样本的数据量的能力较小时,可以将预测采集周期设置的短些。本实施例对预设采集周期设置的长短及设置方式不做具体限定。
其中,第二状态特征信息可以包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态和位置信息。
在本申请实施例中,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本后,监测当前应用程序在该样本采集时刻之后的预设时间段内是否被使用。示例性的,获取移动终端在8:00这一时刻的第二状态特征信息,作为当前应用程序的第一条样本后,检测当前应用程序在样本采集时刻之后的预设时间段内是否被使用,例如,预设时间段为样本采集时刻后的五分钟,则检测当前应用程序在8:00-8:05这一时间段内是否被使用。其中,当前应用程序在样本采集时刻之后的预设时间段内被使用可以包括:当前应用程序在样本采集时刻之后的预设时间段内被启动,即当前应用程序并没有在移动终端后台运行,而是直接被启动;还可以包括:当前应用程序在样本采集时刻之后的预设时间段内,由在移动终端后台运行被切换到前台使用。将应用程序在样本采集时刻之后的预设时间段内是否被使用的监测结果,作为当前样本的样本标记。例如,当监测到应用程序在样本采集时刻之后的预设时间段内被使用时,用1表示,并将当前样本标记为1,或者说将1作为当前样本的样本标记;当监测到应用程序在样本采集时刻之后的预设时间段内被使用时,用0表示,并将当前样本标记为0,或者说将0作为当前样本的样本标记。
对于预设应用程序集合中的每个应用程序,根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应分类回归树预测模型。可以理解的是,将预设采集周期内所采集的样本及对应的样本标记作为训练样本集,基于预设的分类回归树算法,对该训练样本集进行训练,生成分类回归树预测模型。
在一些实施例中,根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型,可以包括:对于第二状态特征信息中的每个状态特征,基于预设基尼指数计算方法计算当前状态特征的基尼指数;依次选取基尼指数最小的状态特征作为分裂特征,并根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。这样设置的好处在于,可以简单、快速地构建分类回归树预测模型,提供分类回归树预测模型构建的精度,从而提高对即将启动的应用程序预测的准确性。
在本申请实施例中,对于第二状态特征信息中的每个状态特征,基于预设基尼指数计算方法计算当前状态特征的基尼指数。即基于预设基尼指数计算方法,分别计算第二状态特征信息中每个状态特征的基尼指数。例如,第二状态特征信息中包括10个状态特征,则基于预设基尼指数计算方法分别计算这10个状态特征的基尼指数。示例性的,对于预设应用程序集合中的应用程序B,在预设采集周期内所采集的样本及对应的样本标记构成的对应的分类回归树预测模型的训练样本集为Y,第二状态特征信息中的某一状态特征为X。则对于状态特征X=x的测试为“是”或“否”,将训练样本集Y分为两个子样本集分别为Y
1和Y
2。示例性的,无线热点的连接状态包括无线热点处于连接状态和无线热点未处于连接状态两种情况。当无线热点处于连接状态时,用1表示;当无线热点未处于连接状态时,用0表示。所以,当状态特征X表示无线热点的连接状态时,X的取值可以包括0和1。对于X=1测试为“是”或“否”,可以将训练样本集Y分为两个子样本集分别为Y
1和Y
2。即对于无线热点是否处于连接状态,可以将训练样本集Y分为两个子样本集分别为Y
1和Y
2。可以理解的是,无线热点处于连接状态的训练样本集为Y
1,而无线热点未处于连接状态的训练样本集为Y
2。其中,状态特征X的基尼指数为
其中,
表示Y
i中的当前应用程序被使用和不被使用的这两种类别,例如,k=1表示Y
i中当前应用程序被使用的情况,k=0表示Y
i中当前应用程序不被使用的情况。p
k表示将在子样本Y
i中应用程序被使用的样本所占概率和不被使用的样本所占的概率。例如,p
1表示在当前应用程序在子样本Y
i中被使用的样本所占概率,p
0表示在当前应用程序在子样本Y
i中不被使用的样本所占概率。依次选取基尼指数最小的状态特征作为分裂特征,并根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。可以理解的是,依次选取基尼指数最小的状态特征作为分类回归树预测模型中每个分裂节点的分裂特征,从现结点生成两个子结点,将训练样本集Y依次依据状态特征分配到两个子结点中去。依次类推,直到满足分类回归树预测模型构建的停止条件,其中,停止条件可以包括基尼指数小于预设阈值,还可以包括直到分裂生成的两个子结点中所有的子训练样本集属于同一类别。
图2为本申请实施例提供的另一种应用程序预测模型建立方法的流程示意图,该方法包括:
步骤201、对于预设应用程序集合中的每个应用程序,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本。
步骤202、监测当前应用程序在样本采集时刻之后的预设时间段内是否被使用,并将监测结果记为当前样本的样本标记。
步骤203、根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。
步骤204、检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息。
步骤205、对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中。
其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成。
步骤206、根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序。
步骤207、对目标应用程序进行预加载。
需要说明的是,在构建预设应用程序集合中每个应用程序对应的分类回归树预测模型时,可以是移动终端获取对应的样本及样本标记,对此进行训练生成对应的分类回归树预测模型,还可以是服务器获取对应的样本及样本标记,对此进行训练生成对应的分类回归树预测模型,当移动终端需要将第一状态特征输入至当前应用程序对应的分类回归树预测模型中时,可以直接从服务器中调用相应的分类回归树预测模型。
本申请实施例提供的应用程序预加载方法,能够充分利用移动终端在对应历史状态特征信息时应用程序的使用规律,生成分类回归树预测模型,可以进一步优化应用程序预加载机制,提高对即将启动的应用程序预测的准确性。
图3为本申请实施例提供的另一种应用程序预测模型建立方法的流程示意图,该方法包括:
步骤301、对于预设应用程序集合中的每个应用程序,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本。
步骤302、监测当前应用程序在样本采集时刻之后的预设时间段内是否被使用,并将监测结果记为当前样本的样本标记。
步骤303、对于第二状态特征信息中的每个状态特征,基于预设基尼指数计算方法计算当前状态特征的基尼指数。
步骤304、依次选取基尼指数最小的状态特征作为分裂特征,并根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。
步骤305、检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息。
步骤306、对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中。
其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成。
步骤307、根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序。
步骤308、对目标应用程序进行预加载。
本申请实施例提供的应用程序预加载方法,可以简单、快速地构建分类回归树预测模型,提高分类回归树预测模型构建的精度,从而提高对即将启动的应用程序预测的准确性。
图4为本申请实施例提供的另一种应用程序预测模型建立方法的流程示意图,该方法包括:
步骤401、对于预设应用程序集合中的每个应用程序,在预设采集周期内获取移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本。
步骤402、监测当前应用程序在样本采集时刻之后的预设时间段内是否被使用,并将监测结果记为当前样本的样本标记。
步骤403、根据预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。
步骤404、检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息。
步骤405、对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中。
其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成。
步骤406、根对于预设应用程序集合中的每个应用程序对应的分类回归树预测模型,获取当前分类回归树预测模型中与第一状态特征信息相匹配的叶子节点输出的概率值。
步骤407、获取移动终端中的存储空间信息,根据存储空间信息确定N的取值。
步骤408、从所得到的概率值中选取N个数值最大的概率值。
步骤409、将所选取的N个概率值分别对应的应用程序确定为即将启动的目标应用程序。
步骤410、对目标应用程序进行预加载。
本申请实施例提供的应用程序预加载方法,可以根据移动终端中的存储空间信息,合理确定即将启动的目标应用程序的个数,在保证不影响系统资源占用率的前提下,合理对即将启动的应用程序进行预加载,可以进一步增加应用程序使用时的流畅性,提高用户体验。
图5为本申请实施例提供的一种应用程序预加载装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来对待启动的应用程序进行预加载。如图5所示,该装置包括:
第一状态获取模块501,用于检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息;
特征信息输入模块502,用于对于预设应用程序集合中的每个应用程序,将所述第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,所述分类回归树预测模型基于所述移动终端在对应历史状态特征信息时的应用程序使用规律生成;
应用预测模块503,用于根据所述分类回归树预测模型的输出结果预测出即将启动的目标应用程序;
应用预加载模块504,用于对所述目标应用程序进行预加载。
本申请实施例提供的应用程序预加载装置,当检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息,并对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成,然后根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序,并对目标应用程序进行预加载,不仅解决了应用程序预加载太多资源,占用太多资源及功耗变大,甚至影响终端使用流畅性的技术问题,而且有效的提高了对待启动应用程序预测的准确性,进一步降低了终端系统功耗和内存占用率,优化了应用程序预加载机制。
可选的,在检测到应用预加载预测事件被触发之前,还包括:
预测模型构建模块,用于在检测到应用预加载预测事件被触发之前,在预设采集周期内针对预设应用集合中的应用程序进行样本采集,并分别构建每个应用程序对应的分类回归树预测模型。
可选的,所述预测模型构建模块,包括:
预测模型构建单元,用于对于预设应用程序集合中的每个应用程序,在预设采集周期内获取所述移动终端在样本采集时刻的第二状态特征信息,作为当前应用程序的样本,监测当前应用程序在所述样本采集时刻之后的预设时间段内是否被使用,并将监测结果记为当前样本的样本标记,根据所述预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。
可选的,所述预测模型构建单元,用于:
对于所述第二状态特征信息中的每个状态特征,基于预设基尼指数计算方法计算当前状态特征的基尼指数;
依次选取基尼指数最小的状态特征作为分裂特征,并根据所述预设采集周期内所采集的样本及对应的样本标记构建当前应用程序对应的分类回归树预测模型。
可选的,所述应用预测模块,包括:
概率值获取单元,用于对于预设应用程序集合中的每个应用程序对应的分类回归树预测模型,获取当前分类回归树预测模型中与所述第一状态特征信息相匹配的叶子节点输出的概率值;
概率值选取单元,用于从所得到的概率值中选取N个数值最大的概率值;
应用预测单元,用于将所选取的N个概率值分别对应的应用程序确定为即将启动的目标应用程序。
可选的,所述概率值选取单元,用于:
获取所述移动终端中的存储空间信息,根据所述存储空间信息确定N的取值;
从所得到的概率值中选取N个数值最大的概率值。
可选的,所述状态特征信息包括以下至少一项:
时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、移动终端的运动状态和位置信息。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:
检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息;
对于预设应用程序集合中的每个应用程序,将所述第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,所述分类回归树预测模型基于所述移动终端在对应历史状态特征信息时的应用程序使用规律生成;
根据所述分类回归树预测模型的输出结果预测出即将启动的目标应用程序;
对所述目标应用程序进行预加载。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。
本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的应用程序预加载装置。图6为本申请实施例提供的一种移动终端的结构示意图。移动终端600可以包括:存储器601,定位模块602,处理器603及存储在存储器上并可在处理器运行的计算机程序,所述处理器603执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。
本申请实施例提供的移动终端,当检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息,并对于预设应用程序集合中的每个应用程序,将第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,分类回归树预测模型基于移动终端在对应历史状态特征信息时的应用程序使用规律生成,然后根据分类回归树预测模型的输出结果预测出即将启动的目标应用程序,并对目标应用程序进行预加载,不仅解决了应用程序预加载太多资源,占用太多资源及功耗变大,甚至影响终端使用流畅性的技术问题,而且有效的提高了对待启动应用程序预测的准确性,进一步降低了终端系统功耗和内存占用率,优化了应用程序预加载机制。
图7为本申请实施例提供的另一种移动终端的结构示意图,该移动终端可以包括:壳体(图中未示出)、存储器701、中央处理器(central processing unit,CPU)702(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU702和所述存储器701设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器701,用于存储可执行程序代码;所述CPU702通过读取所述存储器701中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
检测到应用预加载预测事件被触发时,获取移动终端当前的第一状态特征信息;
对于预设应用程序集合中的每个应用程序,将所述第一状态特征信息输入至当前应用程序对应的分类回归树预测模型中,其中,所述分类回归树预测模型基于所述移动终端在对应历史状态特征信息时的应用程序使用规律生成;
根据所述分类回归树预测模型的输出结果预测出即将启动的目标应用程序;
对所述目标应用程序进行预加载。
所述移动终端还包括:外设接口703、RF(Radio Frequency,射频)电路705、音频电路706、扬声器711、电源管理芯片708、输入/输出(I/O)子系统709、其他输入/控制设备710、触摸屏712、其他输入/控制设备710以及外部端口704,这些部件通过一个或多个通信总线或信号线707来通信。
应该理解的是,图示移动终端700仅仅是移动终端的一个范例,并且移动终端700可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用程序预加载的移动终端进行详细的描述,该移动终端以手机为例。
存储器701,所述存储器701可以被CPU702、外设接口703等访问,所述存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口703,所述外设接口703可以将设备的输入和输出外设连接到CPU702和存储器701。
I/O子系统709,所述I/O子系统709可以将设备上的输入输出外设,例如触摸屏712和其他输入/控制设备710,连接到外设接口703。I/O子系统709可以包括显示控制器7091和用于控制其他输入/控制设备710的一个或多个输入控制器7092。其中,一个或多个输入控制器7092从其他输入/控制设备710接收电信号或者向其他输入/控制设备710发送电信号,其他输入/控制设备710可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器7092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏712,所述触摸屏712是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统709中的显示控制器7091从触摸屏712接收电信号或者向触摸屏712发送电信号。触摸屏712检测触摸屏上的接触,显示控制器7091将检测到的接触转换为与显示在触摸屏712上的用户界面对象的交互,即实现人机交互,显示在触摸屏712上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路705,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路705接收并发送RF信号,RF信号也称为电磁信号,RF电路705将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路705可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路706,主要用于从外设接口703接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器711。
扬声器711,用于将手机通过RF电路705从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片708,用于为CPU702、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的应用程序预加载装置、存储介质及移动终端可执行本申请任意实施例所提供的应用程序预加载方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。