掌桥专利:专业的专利平台
掌桥专利
首页

设备控制方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:52:33


设备控制方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,更具体地,涉及一种设备控制方法、装置、电子设备及存储介质。

背景技术

随着电子设备的快速发展,电子设备可以安装各种应用程序,从而满足用户不同的需求。目前的电子设备的配置也在不断提升,电子设备可以安装较多的应用程序,例如可以安装几十个甚至上百个应用程序。由于目前的应用实现的功能越来越多,其运行时所需的资源也越来越多,因此可能导致应用运行和启动时的卡顿。

发明内容

鉴于上述问题,本申请提出了一种设备控制方法、装置、电子设备及存储介质。

第一方面,本申请实施例提供了一种设备控制方法,应用于电子设备,所述方法包括:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行在所述电子设备的第一应用的应用信息;根据所述第一应用的应用信息,从多个预设模型中确定目标模型,每个所述预设模型基于所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息训练得到;将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息;根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

第二方面,本申请实施例提供了一种设备控制装置,应用于电子设备,所述装置包括:信息获取模块、模型确定模块、应用预测模块以及预处理模块,其中,所述信息获取模块用于获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用的应用信息;所述模型确定模块用于根据所述第一应用的应用信息,从多个预设模型中确定目标模型,每个所述预设模型基于所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息训练得到;所述应用预测模块用于将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息;所述预处理模块用于根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的设备控制方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的设备控制方法。

本申请提供的方案,通过获取电子设备的当前使用信息,该当前使用信息至少包括当前运行在该电子设备的第一应用的应用信息,根据第一应用的应用信息,从多个预设模型中确定目标模型,每个预设模型基于电子设备多次运行应用时的历史使用信息,以及每次运行应用之后运行的下一应用的应用信息训练得到,再将当前使用信息输入至目标模型,获得目标模型输出的第二应用的应用信息,最后根据该第二应用的应用信息,进行第二应用运行前的预处理操作。从而实现根据当前的应用场景选取用于进行应用预测的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现应用预测,进而提升应用运行时的效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本申请一个实施例的设备控制方法流程图。

图2示出了根据本申请另一个实施例的设备控制方法流程图。

图3示出了根据本申请又一个实施例的设备控制方法流程图。

图4示出了根据本申请再一个实施例的设备控制方法流程图。

图5示出了根据本申请一个实施例的设备控制装置的一种框图。

图6是本申请实施例的用于执行根据本申请实施例的设备控制方法的电子设备的框图。

图7是本申请实施例的用于保存或者携带实现根据本申请实施例的设备控制方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

目前,随着科技水平的迅速发展,智能手机、平板电脑等电子设备的功能越来越强大,人们可以在电子设备上安装各种应用程序,以进行观看电影、玩游戏、浏览网页、视频聊天等。并且,应用程序可以实现的功能也越来越多,应用中各方面的质量也越来越高,因此应用程序在运行过程中占用的资源也越来越高。

因此,为了适用用户的安装和运行越来越多应用的需求,电子设备的配置也越来越高。但是,在电子设备运行的应用程序较多时,仍然会出现延时、卡顿等现象。例如,会出现电子设备的系统内存不足,而导致应用程序的运行出现卡顿的现象,其中,系统内存即RAM(random-access memory,随机存取存储器),它是系统临时存储程序指令和数据的主要区域。

在传统技术中,通常是在应用程序运行之后,发现卡顿时,用户可以采取手动方式对系统或应用进行优化,以满足用户流畅使用应用程序的需求,或者是系统检测到卡顿现象时,自动进行优化,但这已经影响到用户对应用的正常使用。

针对上述问题,发明人提出了本申请实施例提供的设备控制方法、装置、电子设备以及存储介质,可以根据当前的应用场景选取用于进行应用预测的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现应用预测,进而提升应用运行时的效率。其中,具体的设备控制方法在后续的实施例中进行详细的说明。

请参阅图1,图1示出了本申请一个实施例提供的设备控制方法的流程示意图。所述设备控制方法用于根据当前的应用场景选取用于进行应用预测的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现应用预测,进而提升应用运行时的效率。在具体的实施例中,所述设备控制方法应用于如图5所示的设备控制装置400以及配置有所述设备控制装置400的电子设备100(图6)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为智能手机、平板电脑、智能手表、PC电脑等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述设备控制方法具体可以包括以下步骤:

步骤S110:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行在所述电子设备的第一应用的应用信息。

目前的电子设备可以安装各种应用,以满足用户的使用需求。虽然目前电子设备的性能和配置在不断提升和进步,但是电子设备在运行应用时,可能由于当前运行的应用进程较多,或者由于运行的应用需要的资源较多,仍然可能出现延时和卡顿的现象。

为避免应用在启动和运行时出现延时和卡顿,可以对即将启动的应用进行预测,以在应用启动前,进行相应的处理和准备,使后续应用启动和运行时不会出现卡顿,提升应用运行的效率。

在本申请实施例中,电子设备可以获取当前使用信息,以便根据电子设备的当前使用信息,对即将运行的应用进行预测。其中,当前使用信息可以包括当前运行在电子设备的第一应用的应用信息以及电子设备的状态信息,电子设备的状态信息可以包括当前时间、日期、星期、充电状态、外设连接状态、网络连接状态等,其中,充电状态表示电子设备处于充电或者未充电的状态,外设连接状态表示电子设备是否连接外设(如耳机、音响等)的状态,网络连接状态表示电子设备是否连接网络的状态。当然,具体的使用信息可以不作为限定,例如,也还可以包括电子设备在运行第一应用之前所运行的前一个或者多个应用的信息。应用信息可以为标识应用身份的信息,例如应用的包名等,在此不做限定。

在一些实施方式中,电子设备可以在满足对应用进行预测的预测条件时,获取电子设备的当前使用信息,以对将运行的应用进行预测。其中,预测条件可以包括:当前运行的应用为设定应用、当前时间为设定时间、切换当前运行的应用至后台运行、退出当前运行的应用、或者运行当前运行的应用的时长达到设定时长,当然,具体的预测条件可以不作为限定。也就是说,电子设备可以在满足预测条件时才获取当前使用信息,进行应用的预测,而不必一直做应用的预测,从而节省功耗。

步骤S120:根据所述第一应用的应用信息,从多个预设模型中确定目标模型,每个所述预设模型基于所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息训练得到。

在本申请实施例中,电子设备在获取到包括有当前运行的第一应用的应用信息的当前使用信息之后,则可以根据第一应用的应用信息,从多个预设模型中确定目标模型,该目标模型即用于根据电子设备的当前使用信息进行将运行的应用的预测的模型。其中,每个预设模型均被预先训练,从而可以根据输入的电子设备的使用信息,确定电子设备将运行的应用。

在一些实施方式中,多个预设模型可以存于终端设备的本地,电子设备可以直接从本地读取确定出的目标模型;多个预设模型也可以存储于服务器,电子设备在需要对将运行的应用进行预测时,可以发送请求至服务器以调用目标模型,在此不做限定。

在本申请实施例中,预设模型可以由大量训练样本训练获得。训练样本可以包括电子设备多次运行应用时的历史使用信息,以及多次运行应用时每次运行应用之后运行的下一应用的应用信息。其中,历史使用信息可以与上述电子设备获得的使用信息相同,可以理解的,上述获得的当前使用信息为电子设备在实际需要进行预测时获得的用于输入至目标模型的输入数据,而训练样本中的历史使用信息为训练时的训练数据。

在一些实施方式中,多个不同的预设模型可以包括针对该电子设备的训练样本,而采用不同的机器学习算法进行训练获得的模型。机器学习算法的类型可以不作为限定,例如可以为神经网络、逻辑回归、决策树、随机森林等。多个预设模型也还可以包括针对该电子设备的不同的训练样本,而采用相同机器学习算法进行训练获得的模型。具体的多个不同的预设模型的获得方式可以不作为限定。

在本申请实施例中,多个不同的预设模型在不同的应用场景下进行将运行的应用的预测时,对应的准确率可能不同。因此,针对当前运行的第一应用,从多个预设模型中选取与当前的应用场景所匹配的预设模型作为目标模型,以用于后续的应用的预测,可以较为准确的预测将要运行的应用。其中,应用场景可以指电子设备当前运行的应用。可以理解的,由于不同模型的差异(例如采用的机器学习的模型不同),且当前运行的应用与后续将运行的应用之间通常有关联性,因此训练出的模型可能对于不同的应用场景时(当前运行的应用不同时),其准确率也不同,因此根据当前运行的第一应用进行模型的选取,可以准确的预测将运行的应用。

需要说明的是,根据电子设备的当前使用信息,确定的目标模型可以为一个预设模型,也可以为多个预设模型,在此不做限定。

步骤S130:将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息。

在本申请实施例中,电子设备可以将获得的当前使用信息输入至目标模型中,目标模型可以根据输入的当前使用信息,确定电子设备在运行第一应用之后将运行的第二应用,并将第二应用的应用信息进行输出,从而实现对将运行的应用的预测。其中,

需要说明的是,上述预测得到的将启动的应用的数量,可以为一个,也可以为多个,具体数量可以不作为限定。

步骤S140:根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

在本申请实施例中,电子设备可以在预测获得将运行的第二应用的应用信息之后,则可以根据第二应用的应用信息,进行第二应用运行前的预处理操作。其中,预处理操作用于提升第二应用运行时的速度,以避免启动第二应用时的卡顿。

在一些实施方式中,电子设备进行第二应用运行前的预处理操作,可以是对电子设备的内存资源进行优化,例如,对应用运行后的残留进程进行清理,也可以是对优先级较低(即重要程度较低)的进程进行清理,还可以是对长期不会被操作的应用的进程进行清理。

进一步地,电子设备可以获取第一应用运行时所需的内存资源,然后根据第一应用运行时所需的内存资源,进行内存资源的优化。

作为一种具体的实施方式,电子设备可以将第一应用运行时所需的内存资源,与电子设备当前剩余的剩余内存资源进行比较;如果电子设备当前剩余的剩余内存资源不小于(大于或等于)第一应用运行时所需的内存资源,则可以不进行内存资源的优化;如果电子设备当前剩余的剩余内存资源小于第一应用运行时所需的内存资源,则可以释放内存资源,以使剩余内存资源不小于第一应用运行时所需的内存资源。

作为另一种具体的实施方式,电子设备可以计算电子设备当前剩余的剩余内存资源与第一应用运行时所需的内存资源之间的差值;如果差值小于设定阈值,则可以释放内存资源,以使剩余内存资源与第一应用运行时所需的内存资源之间的差值不小于设定阈值;如果差值不小于设定阈值,则可以不进行内存资源的优化。这样的话,可以保证在运行第一应用后,也能剩余一定的内存资源,避免电子设备的卡顿。具体的设定阈值可以不作为限定,例如,可以为100兆(Mb),200Mb等。

当然,具体进行电子设备的内存资源进行优化的策略可以不作为限定。

在另一些实施方式中,电子设备也可以对第二应用进行预加载,具体地,电子设备可以对第二应用所需求的资源进行预加载。例如,第二应用为社交软件时,可以预加载第二应用中的启动画面、联系人列表以及消息记录等;又例如,第二应用为游戏时,可以对游戏载入画面等进行预加载。具体进行预加载的过程和加载的数据资源可以不作为限定。

在又一些实施方式中,电子设备进行第二应用运行前的预处理,可以是将第二应用对应的控件进行显示,该控件用于触发进入第二应用。其中,电子设备将第二应用的控件进行显示,可以是将第二应用对应的控件弹窗显示于当前显示的界面中。第二应用的控件可以是第二应用对应的应用图标,也可以是用于进入第二应用的应用链接,具体的控件形式可以不作为限定。

在又一些实施方式中,电子设备进行第二应用运行前的预处理,可以是电子设备对电子设备的网络资源进行分配。可以理解的,如果第二应用为需要使用网络的应用时,电子设备可以根据第二应用运行时所需的网络资源,预先调整网络资源,准备出分配至第二应用的网络资源。例如,电子设备可以预先将分配至空闲进程的网络资源进行减少,以空余出分配至第二应用的网络资源。当然,具体进行网络资源分配的方式可以不作为限定。

在本申请实施例中,电子设备进行的预处理操作的具体方式可以不作为限定,上述进行内存资源优化、预加载第二应用、分配网络资源等方式可以择一进行,也可以选择两个或者全部方式进行。当然,电子设备也还可以进行其他的硬件资源分配,在此不做限定。

本申请实施例提供的设备控制方法,通过获取电子设备的当前使用信息,该当前使用信息至少包括当前运行在该电子设备的第一应用的应用信息,根据第一应用的应用信息,从多个预设模型中确定目标模型,每个预设模型被预先训练,以根据输入的电子设备的使用信息,确定电子设备将运行的应用,再将当前使用信息输入至目标模型,获得目标模型输出的第二应用的应用信息,最后根据该第二应用的应用信息,进行第二应用运行前的预处理操作。从而实现根据当前的应用场景选取用于进行应用预测的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现将运行的应用的预测,进而提升应用在运行时的效率,避免应用运行时的卡顿。

请参阅图2,图2示出了本申请另一个实施例提供的设备控制方法的流程示意图。该设备控制方法应用于上述电子设备,下面将针对图2所示的流程进行详细的阐述,所述设备控制方法具体可以包括以下步骤:

步骤S210:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行在所述电子设备的第一应用的应用信息。

在本申请实施例中,步骤S210可以参阅前述实施例的内容,在此不再赘述。

步骤S220:获取所述多个预设模型中每个预设模型的预测准确率,所述预测准确率为所述预设模型根据包括所述第一应用的应用信息的输入数据,输出的应用信息的准确率。

在本申请实施例中,电子设备在根据当前运行的第一应用的应用信息,从多个预设模型中确定目标模型时,可以获取多个预设模型中每个预设模型的准确率,以根据预设模型的准确率选取目标模型。其中,预测准确率为各个预设模型再根据包括以上第一应用的应用信息的输入数据时,输出的应用信息的准确率,预测准确率也可以理解为各个预设模型在第一应用的应用场景下的预测准确率。

在本申请实施例中,每个预设模型的预测准确率可以通过以下方式获得:

获取测试数据集,测试数据集包括电子设备多次运行第一应用时的历史使用信息,以及多次运行第一应用时每次运行第一应用之后运行的下一应用的应用信息;根据测试数据集,对多个预设模型中每个预设模型进行测试,获得每个预设模型的预测准确率。

在一些实施方式中,以上测试数据集可以为电子设备在训练得到各个预设模型之前所获得的多个样本数据中的部分样本数据构成的集合。其中,该部分样本数据包括第一应用的应用信息的历史使用信息,以及在运行第一应用之后运行的下一应用的应用信息。

在一些实施方式中,电子设备在测试预设模型时,可以将测试数据中的历史使用信息输入至预设模型,获得预设模型输出的应用信息,并将输出的应用信息与测试数据中的下一应用的应用信息进行比较,如果两者相同,则表示预设模型预测准确,如果两者不同,则表示预设模型预测不准确。在利用多条测试数据,对预设模型进行测试之后,则可以获取预设模型预测准确的次数与测试的总次数之间的比值,从而得到预设模型的准确率。

在一些实施方式中,以上预设模型的预测准确率可以由电子设备预先计算获得,电子设备在需要使用预设模型的预测准确率时,可以直接从本地读取。以上预设模型的预测准确率也可以由服务器计算获得,电子设备在需要使用预设模型的预测准确率时,可以从服务器获取预测准确率。

步骤S230:根据所述每个预设模型对应的预测准确率,选取预测准确率满足指定准确率条件的至少一个预设模型作为目标模型。

在本申请实施例中,电子设备可以根据每个预设模型对应的预测准确率,选取预测准确率满足指定准确率条件的至少一个模型作为目标模型。由于预设模型的预测准确率为预设模型在第一应用的应用场景下(运行第一应用时)的预测准确率,因此根据该预测准确率进行目标模型的确定,可以确定出在当前运行的第一应用时预测更为准确的目标模型,进而使得后续进行应用预测时较为准确。

在一些实施方式中,指定准确率条件包括:预设模型的预测准确率最大;或者预设模型的预测准确率大于指定准确率。可以理解的,电子设备可以选取预测准确率最大的预设模型作为目标模型,也可以选取预测准确率大于指定准确率的预设模型作为目标模型。其中,指定准确率的具体数值可以不做限定,例如,可以为90%,也可以为95%等。

当然,具体的预测条件可以不作为限定,例如,预测条件也还可以为对所有预设模型的预测准确率进行从大到小的排序,然后根据排序结果,选取前N个预测准确率,也就是说,选取前N个预测准确率所对应的预设模型,其中,N为正整数。

在本申请实施例中,多个预设模型中满足指定准确率条件的预设模型可能为一个,也可能为多个。例如,指定准确率条件为预测准确率最大时,多个预设模型的预测准确率中最高准确率为95%,并且有两个预设模型的预测准确率为95%,因此满足预测准确率条件的预设模型为多个。当满足指定准确率条件的预设模型为多个时,电子设备可以选取其中一个预设模型作为目标模型,也可以将满足指定准确率条件的多个预设模型均作为目标模型。

在一些实施方式中,当根据每个预设模型对应的预测准确率,电子设备确定出预测准确率满足指定准确率条件的预设模型为至少两个时,可以获取电子设备的处理器的当前占用率;然后电子设备可以将当前占用率与指定占用率进行比较,如果当前占用率小于指定占用率,则将至少两个预设模型作为目标模型;如果当前占用率大于或等于指定占用率,从至少两个预设模型中获取模型大小最小的预设模型作为目标模型。可以理解的,通常预测模型的大小较大,其在被运行时会占用较多的资源,指定占用率可以作为电子设备在运行多个预设模型时可能卡顿的判别依据,如果当前占用率大于指定占用率,则表示电子设备运行多个预设模型,可能会发生卡顿,并造成电子设备运行的崩溃,因此可以从至少两个预设模型中选取其中一个模型大小最小的预设模型作为目标模型,以避免后续电子设备运行目标模型时造成卡顿。如果当前占用率小于或等于指定占用率,则表示电子设备运行多个预设模型时,不会造成卡顿。

在该实施方式下,如果预测条件为预设模型的预测准确率大于指定准确率,确定出满足指定准确率的条件为至少两个,且处理器的当前占用率大于指定占用率时,可以则可以从至少两个预设模型中选取预测准确率最大的预设模型作为目标模型。

在一些实施方式中,电子设备在记录每次选取的目标模型时,还可以在利用选取的目标模型进行将运行的应用的预测之后,根据电子设备是否真正的运行了预测出的应用,来更新预设模型的预测准确率。从而可以使得预设模型的预测准确率不断更新,方便后续能更为准确的进行将运行的应用的预测。

步骤S240:将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息。

步骤S250:根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

在本申请实施例中,步骤S240及步骤S250可以参阅前述实施例的内容,在此不再赘述。

本申请实施例提供的设备控制方法,通过获取电子设备的当前使用信息,该当前使用信息至少包括当前运行在该电子设备的第一应用的应用信息,根据第一应用的应用信息,获取多个预设模型中每个预设模型的预测准确率,然后选取预测准确率满足指定准确率条件的至少一个预设模型作为目标模型,再将当前使用信息输入至目标模型,获得目标模型输出的第二应用的应用信息,最后根据该第二应用的应用信息,进行第二应用运行前的预处理操作。从而实现根据当前的应用场景,选取在该应用场景下的预测准确率搞的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现将运行的应用的预测,进而提升应用在运行时的效率,避免应用运行时的卡顿。

请参阅图3,图3示出了本申请又一个实施例提供的设备控制方法的流程示意图。该设备控制方法应用于上述电子设备,下面将针对图3所示的流程进行详细的阐述,所述设备控制方法具体可以包括以下步骤:

步骤S310:获取训练数据集,所述训练数据集包括所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息。

针对前述实施例中的预设模型,本申请实施例中还包括对该预设模型的训练方法,值得说明的是,对预设模型的训练可以是根据获取的训练数据集预先进行的,后续在每次进行将运行的应用的预测时,则可以根据该预设模型进行预测,而无需每次预测将运行的应用时对预设模型进行训练。

在一些实施方式中,电子设备可以收集该电子设备在一段时间内(例如30天)的应用程序的使用记录,该使用记录包括运行应用时的使用信息,以及运行应用之后运行的下一个应用的应用信息。具体地,使用记录包括x以及y,x表示运行应用时的使用信息,并将其定义为x=[t,d,A

进一步地,以上收集的应用的使用记录可以作为样本数据,其中,x可以作为一个标签,而y则为标签结果。也就是说,每个使用信息都被标注为下一个应用的应用信息,每组样本数据中包括一个输入样本x和一个输出样本y。

具体地,可以用于训练预设模型的训练数据可以为以上样本数据中的部分,从而构成训练数据集;而测试数据可以为以上样本数据中的另一部分,从而构成测试数据集合。例如,训练数据可以为样本数据中的70%,测试数据可以为样本数据中的30%,具体占比可以不作为限定。

步骤S320:根据所述训练数据集合,将每个使用信息作为输入数据,以及每个使用信息对应的所述下一应用的应用信息作为输出数据,利用多种机器学习算法进行训练获得多个不同的预设模型,每个所述预设模型能够根据输入的所述电子设备的使用信息,确定所述电子设备将运行的应用。

在本申请实施例中,针对该电子设备的训练数据集,可以采用不同的机器学习算法进行训练,从而获得多个不同的预设模型。其中,采用的机器学习算法可以包括:神经网络、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等。具体的机器学习算法可以不作为限定。例如,在使用逻辑回归算法进行训练时,损失函数可以为

下面以神经网络为例,对根据训练数据集合训练初始模型进行说明。

训练数据集中一组数据中的电子设备的使用信息x作为神经网络的输入数据,一组数据中标注的电子设备在运行当前运行的应用之后运行的下一个应用的应用信息y作为神经网络的输出数据。输入层中的神经元与隐藏层的神经元全连接,隐藏层的神经元与输出层的神经元全连接,从而能够有效提取不同粒度的潜在特征。并且隐藏层数目可以为多个,从而能更好地拟合非线性关系,使得训练得到的预设模型更加准确。

可以理解的,对预设模型的训练过程可以由电子设备完成,也可以不由电子设备完成。当训练过程不由电子设备完成时,则电子设备可以只是作为直接使用者,也可以是间接使用者,即电子设备可以将电子设备的当前使用信息发送至存储有预设模型的服务器,从服务器获取预测的将运行的第二应用。

在一些实施方式中,训练得到的预设模型可以存储于电子设备本地,该训练得到的预设模型也可以在与电子设备通信连接的服务器,将预设模型存储在服务器的方式,可以减少占用电子设备的存储空间,提升电子设备运行效率。

在一些实施方式中,预设模型可以周期性的或者不定期的获取新的训练数据,对该预设模型进行训练和更新。

在一些实施方式中,电子设备还可以根据以上的测试数据集,对训练好的多个模型进行测试,并统计不同的预设模型在不同的应用场景A

具体地,电子设备在获取每个预设模型在不同应用场景(当前运行的应用不同时)的预测准确率时,可以根据测试数据集合中筛选出同一应用场景A

步骤S330:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行在所述电子设备的第一应用的应用信息。

步骤S340:根据所述第一应用的应用信息,从多个预设模型中确定目标模型,每个所述预设模型被预先训练,以根据输入的所述电子设备的使用信息,确定所述电子设备将运行的应用。

步骤S350:将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息。

步骤S360:根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

在本申请实施例中,步骤S330至步骤S360可以参阅前述实施例的内容,在此不再赘述。

本申请实施例提供的设备控制方法,提供了训练预设模型的方法,通过被标注有电子设备在运行当前运行的应用之后,运行的下一应用的应用信息的训练数据,对初始模型进行训练,从而得到预设模型。预设模型可以用于根据输入的电子设备的使用信息,输出电子设备将运行的下一应用的应用信息。并且针对不同预设模型在不同应用场景下的预测准确率进行测试,从而电子设备能根据当前使用信息中当前运行的第一应用的应用信息,选取准确率高的目标模型,并根据目标模型进行将运行的第二应用的预测,可以较为准确的实现将运行的应用的预测。另外,根据预测的将运行的应用,进行应用运行前的预处理,可以提升应用在运行时的速度,避免卡顿,提升用户体验。

请参阅图4,图4示出了本申请又一个实施例提供的设备控制方法的流程示意图。该设备控制方法应用于上述电子设备,下面将针对图4所示的流程进行详细的阐述,所述设备控制方法具体可以包括以下步骤:

步骤S410:获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行在所述电子设备的第一应用的应用信息。

在本申请实施例中,步骤S410可以参阅前述实施例的内容,在此不再赘述。

步骤S420:获取所述电子设备在进行应用的预测时,从所述多个预设模型中选取目标模型的选取记录。

在本申请实施例中,电子设备在根据当前运行的第一应用的应用信息,从多个预设模型中确定目标模型时,也可以根据以往对预设模型的选取记录进行选取。可以理解的,电子设备可以记录每次在不同的应用场景下(运行不同的应用时)进行将运行的下一应用的预测时所选取的预设模型,并形成选取记录,电子设备在需要选取预设模型时可以读取该选取记录,以据此进行预设模型的选取。

步骤S430:根据所述选取记录,从所述多个预设模型中选取运行所述第一应用时所选取的目标模型。

在本申请实施例中,电子设备可以在获取选取记录之后,则可以根据选取记录,获取电子设备运行以上第一应用时所选取的目标模型,并从多个预设模型中选取该目标模型,以便后续进行将运行的应用的预测。

在以上实施方式中,电子设备第一次在某应用场景下,进行将运行的应用的预测时,可以根据不同预设模型在该应用场景的预测准确率,选取预测准确率满足前述实施例中的指定准确率条件的预设模型作为目标模型,以进行应用的预测。这样就能形成在该应用场景下选取模型的选取记录,后续在该应用场景下需要进行将运行的应用的预测时,则可以根据选取记录而选取目标模型,从而可以每次进行应用预测时,较为快捷的选取到目标模型。

在一些实施方式中,电子设备在记录每次选取的目标模型时,还可以在利用选取的目标模型进行将运行的应用的预测之后,记录电子设备是否真正的运行了预测出的应用,如果连续M次在该应用场景下的预测后,电子设备未运行预测出的应用,或者在一段时间内,在该应用场景下的预测后,电子设备未运行预测出的应用的次数大于指定次数时,则电子设备可以后续在该应用场景下进行应用预测时,根据预设模型的预测准确率,选取其他的预设模型进行应用的预测,例如如果此前记录的预设模型的预测准确率为最高,则可以选取预测准确率为第二高的预设模型进行应用的预测。

在一些实施方式中,电子设备还可以记录每次进行应用的预测之后,电子设备真正运行的下一应用的应用信息,以及每次预测时所使用的当前使用信息。如果连续多次电子设备真正运行的下一应用与预测的应用不一致时,电子设备还可以根据记录的当前使用信息,以及真正运行的下一应用的应用信息,对预设模型进行校正训练,以提升预设模型的准确性。

步骤S440:将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息。

步骤S450:根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

在本申请实施例中,步骤S440以及步骤S450可以参阅前述实施例的内容,在此不再赘述。

本申请实施例提供的设备控制方法,通过获取电子设备的当前使用信息,该当前使用信息至少包括当前运行在该电子设备的第一应用的应用信息,根据第一应用的应用信息,以及电子设备以往从多个预设模型中选取模型的记录,选取以往在运行该第一应用时所选取的目标模型,再将当前使用信息输入至目标模型,获得目标模型输出的第二应用的应用信息,最后根据该第二应用的应用信息,进行第二应用运行前的预处理操作。从而实现根据当前的应用场景,选取在该应用场景下的预测准确率搞的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现将运行的应用的预测,进而提升应用在运行时的效率,避免应用运行时的卡顿。

请参阅图5,其示出了本申请实施例提供的一种设备控制装置400的结构框图。该设备控制装置400应用上述的电子设备,该设备控制装置400包括:信息获取模块410、模型确定模块420、应用预测模块430以及预处理模块440。其中,所述信息获取模块410用于获取所述电子设备的当前使用信息,所述当前使用信息至少包括当前运行的第一应用的应用信息;所述模型确定模块420用于根据所述第一应用的应用信息,从多个预设模型中确定目标模型,每个所述预设模型基于所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息训练得到;所述应用预测模块430用于将所述当前使用信息输入至所述目标模型,获得所述目标模型输出的第二应用的应用信息;所述预处理模块440用于根据所述第二应用的应用信息,进行所述第二应用运行前的预处理操作。

在一些实施方式中,模型确定模块420可以包括:准确率获取单元,用于获取所述多个预设模型中每个预设模型的预测准确率,所述预测准确率为所述预设模型根据包括所述第一应用的应用信息的输入数据,输出的应用信息的准确率;第一模型选取单元,用于根据所述每个预设模型对应的预测准确率,选取预测准确率满足指定准确率条件的至少一个预设模型作为目标模型。

在该实施方式下,所述指定准确率条件包括:所述预设模型的预测准确率最大;或者所述预设模型的预测准确率大于指定准确率。

在该实施方式下,第一模型选取单元可以包括:占用率获取子单元,用于当根据所述每个预设模型对应的预测准确率,确定出预测准确率满足指定准确率条件的预设模型为至少两个时,获取所述电子设备的处理器的当前占用率;第一选取子单元,用于如果所述当前占用率小于指定占用率,则将所述至少两个预设模型作为目标模型。

进一步地,第一模型选取单元还可以包括:第二选取子单元,用于如果所述当前占用率大于或等于指定占用率,从所述至少两个预设模型中获取模型大小最小的预设模型作为目标模型。

在一些实施方式中,该设备控制装置400还可以包括:测试集获取模块以及模型测试模块。测试集获取模块用于在所述获取所述多个预设模型中每个预设模型的预测准确率之前,获取测试数据集,所述测试数据集包括所述电子设备多次运行所述第一应用时的历史使用信息,以及所述多次运行所述第一应用时每次运行所述第一应用之后运行的下一应用的应用信息;模型测试模块用于根据所述测试数据集,对所述多个预设模型中每个预设模型进行测试,获得所述每个预设模型的预测准确率。

在一些实施方式中,模型确定模块420可以包括:记录获取单元,用于获取所述电子设备在进行应用的预测时,从所述多个预设模型中选取目标模型的选取记录;第二模型选取单元,用于根据所述选取记录,从所述多个预设模型中选取运行所述第一应用时所选取的目标模型。

在一些实施方式中,该设备控制装置400还可以包括:训练集获取模块以及模型训练模块。训练集获取模块用于在所述根据所述第一应用的应用信息,从多个预设模型中确定目标模型之前,获取训练数据集,所述训练数据集包括所述电子设备多次运行应用时的历史使用信息,以及所述多次运行应用时每次运行应用之后运行的下一应用的应用信息;模型训练模块,用于根据所述训练数据集合,将每个使用信息作为输入数据,以及每个使用信息对应的所述下一应用的应用信息作为输出数据,利用多种机器学习算法进行训练获得多个不同的预设模型,每个所述预设模型能够根据输入的所述电子设备的使用信息,确定所述电子设备将运行的应用。

在一些实施方式中,预处理模块440进行所述第二应用运行前的预处理操作,可以包括以下方式的一种或多种:

根据所述第二应用运行时所需的内存资源,对所述电子设备的内存资源进行优化;

预加载所述第二应用;

根据所述第二应用运行时所需的网络资源,将所述第二应用对应的控件进行显示,所述控件用于触发进入所述第二应用;

对所述电子设备的网络资源进行分配。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

综上所述,本申请提供的方案,通通过获取电子设备的当前使用信息,该当前使用信息至少包括当前运行在该电子设备的第一应用的应用信息,根据第一应用的应用信息,从多个预设模型中确定目标模型,每个预设模型被预先训练,以根据输入的电子设备的使用信息,确定电子设备将运行的应用,再将当前使用信息输入至目标模型,获得目标模型输出的第二应用的应用信息,最后根据该第二应用的应用信息,进行第二应用运行前的预处理操作。从而实现根据当前的应用场景选取用于进行应用预测的模型,根据选取的模型进行将运行的应用的预测,并且进行预测的应用再运行前的预处理操作,能够较为准确的实现应用预测,进而提升应用运行时的效率。

请参考图6,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、智能手表、PC电脑等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参考图7,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 电子设备、电子设备的控制方法及存储有控制电子设备的控制部所执行的程序的存储介质
  • 分体式电子设备的控制方法、装置、存储介质及电子设备
技术分类

06120113082806