配置信息发送方法、获取方法、装置及终端与流程

文档序号:15850556发布日期:2018-11-07 09:48阅读:221来源:国知局
配置信息发送方法、获取方法、装置及终端与流程

本申请实施例涉及终端技术领域,特别涉及一种配置信息发送方法、获取方法、装置及终端。

背景技术

终端在运行应用程序的过程中,基于不同的中央处理单元(centralprocessingunit,cpu)工作频率、不同的图形处理器(graphicsprocessingunit,gpu)工作频率等不同配置运行,应用程序的运行效果也会相应有所不同。

因此,通过合理设置与设备运行状态相关的配置信息,能够使得应用程序的运行效果得到提升。相关技术中,应用程序运行时的配置信息是预先设定的。



技术实现要素:

本申请实施例提供一种配置信息发送方法、获取方法、装置及终端。所述技术方案如下:

一方面,本申请实施例提供一种配置信息发送方法,应用于第一终端中,所述第一终端中运行有目标应用程序和调优工具,所述方法包括:

在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第一数据通道,从所述目标应用程序中获取所述目标应用程序的场景信息,所述场景信息用于指示所述目标应用程序的运行场景;

通过所述调优工具生成与所述场景信息相适配的优化配置信息,所述优化配置信息用于提升所述目标应用程序在处于所述场景信息所指示的运行场景时的运行效果;

向服务器发送文件推送消息,所述文件推送信息携带所述与所述场景信息相适配的所述优化配置信息,所述文件推送消息用于指示所述服务器向第二终端推送所述与所述场景信息相适配的所述优化配置信息。

另一方面,本申请实施例提供一种配置信息获取方法,应用于第二终端中,所述第二终端中运行有目标应用程序,所述方法包括:

接收所述设备厂商的服务器发送的所述目标应用程序的配置文件,所述配置文件中包括n组场景信息和优化配置信息之间的对应关系,其中,所述配置文件中的第i条场景信息用于指示所述目标应用程序的第i种运行场景,与所述第i条场景信息对应的优化配置信息用于提升所述目标应用程序在处于所述第i种运行场景时的运行效果,所述配置文件由第一终端通过调优工具生成,所述调优工具用于对所述目标应用程序运行时的配置信息进行优化,所述n为正整数,所述i为小于或等于n的正整数;

在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第二数据通道,从所述目标应用程序中获取所述目标应用程序的当前场景信息;

从所述配置文件中获取与所述当前场景信息对应的优化配置信息;

按照与所述当前场景信息对应的优化配置信息,运行所述目标应用程序。

再一方面,本申请实施例提供一种配置信息发送装置,应用于第一终端中,所述第一终端中运行有目标应用程序和调优工具,所述装置包括:

第一获取模块,用于在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第一数据通道,从所述目标应用程序中获取所述目标应用程序的场景信息,所述场景信息用于指示所述目标应用程序的运行场景;

配置生成模块,用于通过所述调优工具生成与所述场景信息相适配的优化配置信息,所述优化配置信息用于提升所述目标应用程序在处于所述场景信息所指示的运行场景时的运行效果;

配置发送模块,用于向所述服务器发送文件推送消息,所述文件推送信息携带所述与所述场景信息相适配的所述优化配置信息,所述文件推送消息用于指示所述服务器向第二终端推送所述与所述场景信息相适配的所述优化配置信息。

又一方面,本申请实施例提供一种配置信息获取装置,应用于第二终端中,所述第二终端中运行有目标应用程序,所述装置包括:

文件接收模块,用于接收服务器发送的所述目标应用程序的配置文件,所述配置文件中包括n组场景信息和优化配置信息之间的对应关系,其中,所述配置文件中的第i条场景信息用于指示所述目标应用程序的第i种运行场景,与所述第i条场景信息对应的优化配置信息用于提升所述目标应用程序在处于所述第i种运行场景时的运行效果,所述配置文件由第一终端通过调优工具生成,所述调优工具用于对所述目标应用程序运行时的配置信息进行优化,所述n为正整数,所述i为小于或等于n的正整数;

第二获取模块,用于在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第二数据通道,从所述目标应用程序中获取所述目标应用程序的当前场景信息;

配置获取模块,用于从所述配置文件中获取与所述当前场景信息对应的优化配置信息;

程序运行模块,用于按照与所述当前场景信息对应的优化配置信息,运行所述目标应用程序。

又一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述方面所述的配置信息发送方法。

又一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述方面所述的配置信息获取方法。

又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述方面所述的配置信息发送方法。

又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述方面所述的配置信息获取方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过由第一终端采用调优工具,并根据该应用程序运行时所处的场景来对配置信息进行优化,得到与该场景适配的优化配置信息,后续上述优化配置信息由服务器转发至第二终端,从而使第二终端能够按照上述优化配置信息运行应用程序,从而实现在不同运行场景下动态调整配置信息,以使得应用程序的运行效果得以提升,提高了程序运行的可控性和灵活性。

附图说明

图1是本申请一个实施例提供的终端的框图;

图2示出了一种操作系统与第三方应用程序之间的通信示意图;

图3是本申请一个实施例示出的操作系统的示意图;

图4示出了另一种操作系统与第三方应用程序之间的通信示意图;

图5示出了另一种操作系统与第三方应用程序之间的通信示意图;

图6是本申请另一个实施例示出的操作系统的示意图;

图7是本申请一个实施例示出的实施环境的示意图;

图8是本申请一个实施例提供的配置信息发送方法的流程图;

图9是本申请一个实施例提供的配置信息获取方法的流程图;

图10是本申请另一个实施例提供的配置信息发送方法的流程图;

图11是本申请一个实施例提供的配置信息发送装置的框图;

图12是本申请一个实施例提供的配置信息获取装置的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个示例性实施例提供的终端的结构方框图。该终端可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的终端可以包括一个或多个如下部件:处理器110、存储器120和输入输出装置130。

处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成cpu、gpu和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(android)系统(包括基于android系统深度开发的系统)、苹果公司开发的ios系统(包括基于ios系统深度开发的系统)或其它系统。存储数据区还可以存储终端在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对gpu性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。

如图2所示,为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。

以操作系统为android系统为例,存储器120中存储的程序和数据如图3所示,存储器120中可存储有linux内核层220、系统运行库层240、应用框架层260和应用层280,其中,linux内核层220、系统运行库层240和应用框架层260属于操作系统空间,应用层280属于用户空间。linux内核层220为终端100的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理等。系统运行库层240通过一些c/c++库来为android系统提供了主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。在系统运行库层240中还提供有安卓运行时库(androidruntime),它主要提供了一些核心库,能够允许开发者使用java语言来编写android应用。应用框架层260提供了构建应用程序时可能用到的各种api,开发者也可以通过使用这些api来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层280中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、购物程序等。

操作系统与第三方应用程序之间一种可行的通信方式如图4所示,第三方应用程序中内嵌有用于与操作系统进行通信的软件开发工具包(softwaredevelopmentkit,sdk)。

其中,sdk包含若干经过抽象的应用程序编程接口(applicationprogramminginterface,api),并由操作系统开发者提供给第三方应用程序开发者,并由第三方应用程序开发者将该sdk内嵌到第三方应用程序中。此类第三方应用程序安装并运行在操作系统后,即可调用sdk提供的api与操作系统进行通信。

如图4所示,系统运行库层240可以额外包括接口通信系统242。该接口通信系统242可以视为操作系统中的一个子系统,或视为操作系统内嵌的一个应用程序。接口通信系统242中设置有sdk接口,第三方应用程序即调用内嵌sdk的api与该sdk接口之间通过粘合(binder)的方式进行数据通信。这样,第三方应用程序的应用场景相关的数据就可以通过sdk传输给操作系统。借助内嵌sdk,操作系统还可以主动向第三方应用程序传输数据,或者,操作系统与第三方应用程序之间可以进行双向数据传输。

在另一种可行的通信方式中,如图5所示,第三方应用程序还可以采用套接字(socket)方式与接口通信系统242的socket接口建立长连接,第三方应用程序的应用场景相关的数据即可以通过该长连接传输给操作系统。

如图4和5所示,接口通信系统242中可设置有不同的策略模块,接收到第三方应用程序发送的数据后,接口通信系统242即采用第三方应用程序对应的策略模块对数据进行分析,得到相应的资源适配优化策略。基于分析得到的资源适配优化策略,接口通信系统242通过控制接口通知linux内核层220进行系统资源适配优化。其中,该控制接口可以采用sysfs的方式与linux内核层220进行通信。

可选的,接口通信系统242中不同的策略模块可以对应不同的第三方应用程序(即针对不同的应用程序设置策略模块),或者,不同的策略模块对应不同类型的第三方应用程序(即针对不同类型的应用程序设置策略模块),或者,不同的策略模块对应不同的系统资源(即针对不同系统资源设置策略模块),或者,不同的策略模块对应不同的应用场景(即针对不同的应用场景设置策略模块),本申请实施例并不对策略模块的具体设置方式进行限定。

其中,接口通信系统242还可以通过binder的方式与应用框架层260进行通信,用于接收应用框架层260发送的前景应用信息,从而基于前景应用信息,仅针对当前前台运行的第三方应用程序进行系统资源优化。

以操作系统为ios系统为例,存储器120中存储的程序和数据如图6所示,ios系统包括:核心操作系统层320(coreoslayer)、核心服务层340(coreserviceslayer)、媒体层360(medialayer)、可触摸层380(cocoatouchlayer)。核心操作系统层320包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层340的程序框架所使用。核心服务层340提供给应用程序所需要的系统服务和/或程序框架,比如基础(foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层360为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(airplay)接口等。可触摸层380为应用程序开发提供了各种常用的界面相关的框架,可触摸层380负责用户在终端100上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(userinterface,ui)框架、用户界面uikit框架、地图框架等等。

在图6所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层340中的基础框架和可触摸层380中的uikit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和ui无关。而uikit框架提供的类是基础的ui类库,用于创建基于触摸的用户界面,ios应用程序可以基于uikit框架来提供ui,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

其中,在ios系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考android系统,本申请在此不再赘述。

输入输出装置130可以包括触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。

除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。

请参考图7,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境包括:第一终端71、至少一个第二终端72和服务器73。

第一终端71具有配置信息生成功能,以及配置信息发送功能。可选地,第一终端71中运行有设备厂商提供的调优工具,由该调优工具来实现配置信息生成功能。第一终端71可以是上文实施例中介绍的终端。

第二终端72具有配置信息接收功能以及配置信息使用功能。可选地,第二终端72中运行有设备厂商提供的调优服务,由该调优服务来实现配置信息执行功能。可选地,第一终端71与第二终端72是同一分类的终端,例如,第一终端71的型号与第二终端72的型号相同。第二终端72可以是上文实施例中介绍的终端。

服务器73具有配置信息收发功能。服务器73可以是设备厂商架设的服务器。服务器可以是一台服务器,也可以是多台服务器组成的服务器集群,还可以是一个云计算服务中心。

第一终端71与服务器73之间建立有通信连接,第二终端72与服务器73之间也建立有通信连接。上述通信连接可以基于有线网络或无线网络建立。

请参考图8,其示出了本申请一个示例性实施例提供的配置信息发送方法的流程图,该方法可以应用于图7所示实施环境的第一终端中,第一终端中运行有目标应用程序和调优工具。

该方法可以包括如下步骤:

步骤801,在运行目标应用程序的过程中,通过与目标应用程序之间建立的第一数据通道,从目标应用程序中获取目标应用程序的场景信息。

目标应用程序是第三方应用提供商所开发的第三方应用程序,比如游戏类应用程序、视频类应用程序、购物类应用程序等等。目标应用程序安装并运行于第一终端中。具体地,目标应用程序安装并运行于第一终端的用户空间中。在本申请实施例中,仅以目标应用程序为游戏应用程序为例进行说明。

在本申请实施例中,第一终端中的操作系统与目标应用程序之间建立有第一数据通道,以实现操作系统与目标应用程序之间的数据交互。在一种可能的实现方式中,第一数据通道由目标应用程序通过调用内嵌任务开发工具包sdk与第一终端的操作系统之间以binder方式建立。可选地,第一数据通道由目标应用程序在启动运行时通过调用内嵌sdk与操作系统提供的sdk接口之间以binder方式建立。在另一种可能的实现方式中,第一数据通道是由目标应用程序采用套接字socket方式与第一终端的操作系统之间建立的长连接。可选地,第一数据通道是由目标应用程序在启动运行时采用socket方式与操作系统提供的socket接口之间建立的长连接。

场景信息用于指示目标应用程序的运行场景。场景信息可以包括第一终端当前展示的用户界面中的内容,例如虚拟人物、虚拟道具、虚拟背景、虚拟技能图标等界面元素。在一种可能的实现方式中,场景信息也即是第一终端当前展示的用户界面的截图。在另一种可能的实现方式中,场景信息是第一终端当前展示的用户界面中的界面元素的标识信息。

目标应用程序的运行场景可以根据第一终端当前展示的用户界面中的内容划分。下面以目标应用程序为游戏类应用程序为例,对该划分方式进行讲解。在游戏类应用程序中,运行场景可以包括开机加载场景、团战场景、个人战场景、开镜场景等等,本申请实施例对此不作限定。

在目标应用程序处于开机加载场景时,第一终端所展示的用户界面中包括目标应用程序在启动运行后的第一预设时长内播放的动画。在目标应用程序处于团战场景时,第一终端所展示的用户界面中包括的虚拟人物的数量大于第一预设数量。在目标应用程序处于个人战场景时,第一终端所展示的用户界面中包括的虚拟人物的数量小于第二预设数量。在目标应用程序处于开镜场景时,第一终端所展示的用户界面可以是在第二设定时长内被放大预设倍数。上述第一预设时长、第一预设数量、第二预设数量、第二预设时长、预设倍数均可以根据实际需求预先设定,本申请实施例对此不作限定。

另外,目标应用程序的运行场景还可以根据第一终端当前展示的用户界面中的虚拟人物所执行的操作划分。该种确定运行场景的方式相比于上一种确定应用场景的方式,分类粒度更小,后续确定优化配置信息时更加精确,从而使终端在运行目标应用程序的过程更加灵活。另外,采用该种确定运行场景方式确定出的运行场景可以称之为原子场景。

下面以目标应用程序为游戏类应用程序为例,对该划分方式进行讲解。在游戏类应用程序中,运行场景可以包括跳伞场景、驾驶场景、技能释放场景等等。在目标应用程序处于跳伞场景时,第一终端所展示的用户界面中的虚拟人物正在执行跳伞操作;在目标应用程序处于驾驶场景时,第一终端所展示的用户界面中的虚拟人物正在执行驾驶操作;在目标应用程序处于技能释放场景时,第一终端所展示的用户界面中的虚拟人物正在释放某个虚拟技能。

步骤802,通过调优工具生成与场景信息相适配的优化配置信息。

与场景信息相适配的优化配置信息用于提升目标应用程序在处于场景信息所指示的运行场景时的运行效果。优化配置信息包括以下至少一种:cpu的工作频率、gpu的工作频率、存储器的工作频率、cpu内核的使用数量、cpu内核的开关状态。

cpu的工作频率是指目标应用程序在处于场景信息所指示的运行场景时采用的工作频率。gpu的工作频率是指目标应用程序在处于场景信息所指示的运行场景时采用的工作频率。cpu内核的使用数量是指目标应用程序在处于场景信息所指示的运行场景时使用的cpu内核的数量。cpu内核是指cpu中的核心芯片。cpu内核可以根据运行频率划分为大核(也称主处理器)和小核(也称辅处理器),大核的运行频率大于小核的运行频率。一个cpu可以包括多个cpu内核,终端可以根据所运行的应用程序选择使用哪一个或者哪几个cpu内核。cpu内核的开关状态用于指示cpu内核处于打开状态还是关闭状态。其中,目标应用程序在处于场景信息所指示的运行场景时所使用的cpu内核处于打开状态,目标应用程序在处于场景信息所指示的运行场景时未使用的cpu内核处于关闭状态。

在本申请实施例中,终端在应用程序的运行过程中,通过根据该应用程序当前所处的运行场景来合理设置运行该应用程序时的配置信息,以提高应用程序处于上述运行场景时的运行效果。

可选地,步骤802具体实现为如下步骤803a:在目标应用程序处于场景信息所指示的运行场景时,通过调优工具调整第一终端的设备运行状态,直至目标应用程序的运行效果符合预设条件时,停止调整第一终端的设备运行状态,并根据第一终端所处的设备运行状态,生成与场景信息相适配的优化配置信息。

调优工具由设备厂商向第三方应用厂商提供,其运行于第一终端中。调整第一终端的设备运行状态是指控制第一终端按照不同的配置信息运行上述目标应用程序。上述配置信息也包括以下至少一种:cpu的工作频率、gpu的工作频率、存储器的工作频率、cpu内核的使用数量、cpu内核的开关状态。

预设条件可以根据对目标应用程序的运行需求实际设定。

在一种可能的实现方式中,预设条件是指目标应用程序处于场景信息所指示的运行场景时的画面的流畅度大于预设程度。其中,流畅度可以采用帧率来衡量,目标应用程序处于场景信息所指示的运行场景时的帧率变化越小,则流畅度越高;目标应用程序处于场景信息所指示的运行场景时的帧率变化越大,则流畅度越低。因此,预设条件还可以是指目标应用程序处于场景信息所指示的运行场景时的帧率对应的方差小于第一门限。

在另一种可能的实现方式中,预设条件是指目标应用程序处于场景信息所指示的运行场景时的功耗小于第二门限。上述第一门限、第二门限也可以根据目标应用程序的运行需求实际设定,本申请实施例对此不作限定。

在又一种可能的实现方式中,预设条件是指目标应用程序处于场景信息所指示的运行场景时的画面的流畅度大于预设程度,且目标应用程序处于场景信息所指示的运行场景时的功耗小于第二门限。

与场景信息相适配的优化配置信息也即是目标应用程序的运行效果符合预设条件时第一终端所采用的配置信息。

可选地,步骤803a可以包括如下几个子步骤:

步骤803a1,通过调优工具控制第一终端按照初始的设备运行状态运行;

初始的设备运行状态可以由第一终端自定义设置,本申请实施例对此不作限定。

步骤803a2,记录目标应用程序的运行参数;

目标应用程序的运行参数用于指示目标应用程序的运行效果。目标应用程序的运行参数可以包括目标应用程序的实际帧率和/或目标应用程序的功耗。

步骤803a3,检测目标应用程序的运行参数是否符合预设条件。

对应上述预设条件的三种可能的实现方式,检测目标应用程序的运行参数是否符合预设条件也可以有如下三种实现方式:

在一种可能的实现方式中,第一终端检测目标应用程序处于场景信息所指示的运行场景时的画面的流畅度是否大于预设程度。若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度大于预设程度,则目标应用程序的运行参数符合预设条件;若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度小于预设程度,则目标应用程序的运行参数不符合预设条件。具体地,第一终端检测目标应用程序处于场景信息所指示的运行场景时的帧率对应的方差是否小于第一门限。若目标应用程序处于场景信息所指示的运行场景时的帧率对应的方差小于第一门限,则目标应用程序的运行参数符合预设条件;若目标应用程序处于场景信息所指示的运行场景时的帧率对应的方差大于第一门限,则目标应用程序的运行参数不符合预设条件。

在另一种可能的实现方式中,第一终端检测目标应用程序处于场景信息所指示的运行场景时的功耗是否小于第二门限。若目标应用程序处于场景信息所指示的运行场景时的功耗小于第二门限,则目标应用程序的运行参数符合预设条件;若目标应用程序处于场景信息所指示的运行场景时的功耗大于第二门限,则目标应用程序的运行参数不符合预设条件。

在又一种可能的实现方式中,第一终端检测目标应用程序处于场景信息所指示的运行场景时的画面的流畅度是否大于预设程度,并检测目标应用程序处于场景信息所指示的运行场景时的功耗是否小于第二门限。若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度大于预设程度,且目标应用程序处于场景信息所指示的运行场景时的功耗小于第二门限,则目标应用程序的运行参数符合预设条件;若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度小于预设程度,且目标应用程序处于场景信息所指示的运行场景时的功耗小于第二门限,或者,若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度小于预设程度,且目标应用程序处于场景信息所指示的运行场景时的功耗大于第二门限,或者,若目标应用程序处于场景信息所指示的运行场景时的画面的流畅度大于预设程度,且目标应用程序处于场景信息所指示的运行场景时的功耗大于第二门限,,则目标应用程序的运行参数不符合预设条件。

若目标应用程序的运行参数符合预设条件,则根据第一终端所处的设备运行状态,生成与场景信息相适配的优化配置信息;若目标应用程序的运行参数不符合预设条件,则通过调优工具调整第一终端的设备运行状态,并控制第一终端按照调整后的设备运行状态运行,然后再次从记录目标应用程序的运行参数的步骤开始执行,直至目标应用程序的运行参数符合预设条件。

步骤803,向服务器发送文件推送消息,该文件推送消息携带与场景信息相适配的优化配置信息。

该文件推送消息用于指示服务器向第二终端推送与场景信息相适配的优化配置信息。第二终端与第一终端属于同一类,与第一终端属于同一分类的第二终端可以是与第一终端的型号相同的终端。第二终端接收到该配置文件后,后续在运行目标应用程序时可以按照该配置文件中的与各个场景信息对应的优化配置信息来运行应用程序,使得第二终端在目标应用程序所处的每一个运行场景的运行效果均可以得到提升。

在本申请实施例中,第一终端在生成与场景信息相适配的优化配置信息之后,会向设备厂商的服务器发送优化配置信息,以使得上述设备厂商的服务器能够及时获取优化配置信息,并向与第一终端属于同一类的第二终端发送上述与场景信息相适配的优化配置信息。

可选地,文件推送消息携带有包含有场景信息和优化配置信息之间的对应关系的配置文件,该文件推送消息用于指示服务器向第二终端推送上述配置文件。

上述配置文件由第一终端生成。可选地,第一终端将场景信息与优化配置信息对应存储,得到包含场景信息和优化配置信息之间的对应关系的配置文件。可选地,第一终端将场景信息对应的场景标识与优化配置信息对应存储,得到上述配置文件。其中,上述场景对应的场景标识用于唯一标识该场景信息。该场景标识可以由第一终端对场景信息进行分析处理后确定。

相应地,服务器接收第一终端发送的文件推送消息。

综上所述,本申请实施例提供的技术方案,通过由第一终端采用调优工具,并根据该应用程序运行时所处的场景来对配置信息进行优化,得到与该场景适配的优化配置信息,后续上述优化配置信息由服务器转发至第二终端,从而使第二终端能够按照上述优化配置信息运行应用程序,从而实现在不同运行场景下动态调整配置信息,以使得应用程序的运行效果得以提升,提高了程序运行的可控性和灵活性。

请参考图9,其示出了本申请一个示例性实施例提供的配置信息获取方法的流程图,该方法可以应用于图7所示实施环境中的第二终端中,第二终端中运行有目标应用程序。

该方法可以包括如下步骤:

步骤901,接收服务器发送的目标应用程序的配置文件。

配置文件中包括n组场景信息和优化配置信息之间的对应关系,n为正整数。其中,配置文件中的第i条场景信息用于指示目标应用程序的第i种运行场景,与第i条场景信息对应的优化配置信息用于提升目标应用程序在处于第i种运行场景时的运行效果,i为小于或等于n的正整数。配置文件由第一终端通过调优工具生成。

步骤902,在运行目标应用程序的过程中,通过与目标应用程序之间建立的第二数据通道,从目标应用程序中获取目标应用程序的当前场景信息。

在本申请实施例中,第二终端中的操作系统与目标应用程序之间建立有第二数据通道,以实现操作系统与目标应用程序之间的数据交互。在一种可能的实现方式中,第二数据通道由目标应用程序通过调用内嵌任务开发工具包sdk与第二终端的操作系统之间以binder方式建立。可选地,第二数据通道由目标应用程序在启动运行时通过调用内嵌sdk与操作系统提供的sdk接口之间以binder方式建立。在另一种可能的实现方式中,第二数据通道是由目标应用程序采用套接字socket方式与第二终端的操作系统之间建立的长连接。可选地,第二数据通道是由目标应用程序在启动运行时采用socket方式与操作系统提供的socket接口之间建立的长连接。

步骤903,从配置文件中获取与当前场景信息对应的优化配置信息。

在本申请实施例中,第二终端从配置文件中查找得到当前场景信息对应的优化配置文件。可选地,第二终端对当前场景信息进行分析处理,得到当前场景信息对应的场景标识,之后在配置文件中查找与上述场景标识对应的优化配置信息。

步骤904,按照与当前场景信息对应的优化配置信息,运行目标应用程序。

按照与当前场景信息对应的优化配置信息运行目标应用程序时,运行目标应用程序的运行效果得到提升。例如,按照与当前场景信息对应的优化配置信息运行目标应用程序时,目标应用程序的画面的流畅度更佳;再例如,按照与当前场景信息对应的优化配置信息运行目标应用程序时,运行目标应用程序所需的功耗越小。可选地,步骤904具体实现为:根据与当前场景信息对应的优化配置信息,确定第二终端的设备运行状态;采用确定出的设备运行状态,运行目标应用程序。

综上所述,本申请实施例提供的技术方案,通过获取应用程序当前所处的运行场景,而后按照与上述运行场景相适配的优化配置信息来运行应用程序,从而实现在不同运行场景下动态调整配置信息,以使得应用程序的运行效果得以提升,提高了程序运行的可控性和灵活性。

请参考图10,其示出了本申请一个实施例提供的配置信息发送方法的流程图。该方法可以应于图7所示实施环境中。该方法包括如下步骤:

步骤1001,在运行目标应用程序的过程中,第一终端通过与目标应用程序之间建立的第一数据通道,从目标应用程序中获取目标应用程序的场景信息。

场景信息用于指示目标应用程序的运行场景。

步骤1002,第一终端通过调优工具生成与场景信息相适配的优化配置信息。

优化配置信息用于提升目标应用程序在处于场景信息所指示的运行场景时的运行效果。

步骤1003,第一终端生成包含有场景信息和优化配置信息之间的对应关系的配置文件。

步骤1004,第一终端向服务器发送配置文件。

可选地,第一终端还向服务器发送第一终端的验证信息。上述验证信息用于供服务器对第一终端的文件推送权限进行验证,文件推送权限是指将第一终端发送的配置文件发送到第二终端的权限。上述验证信息可以是第一终端的标识,也可是优化工具的标识。可选地,第一终端还向服务器发送第一终端的类型信息,上述类型信息用于供服务器确定接收配置文件的第二终端。

相应地,服务器接收第一终端发送的配置文件。

步骤1005,服务器向与第一终端属于同一分类的第二终端发送配置文件。

可选地,服务器根据第一终端的验证信息验证第一终端是否具备文件推送权限,如果验证出第一终端具备文件推送权限,就向与第一终端属于同一分类的第二终端发送配置文件;如果验证出第一终端不具备文件推送权限,就不执行向与第一终端属于同一分类的第二终端发送配置文件的步骤。

步骤1006,在运行目标应用程序的过程中,第二终端通过与目标应用程序之间建立的第二数据通道,从目标应用程序中获取目标应用程序的当前场景信息。

步骤1007,第二终端从配置文件中获取与当前场景信息对应的优化配置信息。

步骤1008,第二终端按照与当前场景信息对应的优化配置信息,运行目标应用程序。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图11,其示出了本申请一个实施例提供的配置信息发送装置的框图。该装置应用于第一终端中,所述第一终端中运行有目标应用程序和调优工具。该装置具有实现上述第一终端侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:第一获取模块1101、配置生成模块1102和配置发送模块1103。

第一获取模块1101,用于在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第一数据通道,从所述目标应用程序中获取所述目标应用程序的场景信息,所述场景信息用于指示所述目标应用程序的运行场景。

配置生成模块1102,用于通过所述调优工具生成与所述场景信息相适配的优化配置信息,所述优化配置信息用于提升所述目标应用程序在处于所述场景信息所指示的运行场景时的运行效果。

配置发送模块1103,用于向服务器发送文件推送消息,所述文件推送信息携带与所述场景信息相适配的所述优化配置信息,所述文件推送消息用于指示所述服务器向第二终端推送所述与所述场景信息相适配的所述优化配置信息。

综上所述,本申请实施例提供的技术方案,通过由第一终端采用调优工具,并根据该应用程序运行时所处的场景来对配置信息进行优化,得到与该场景适配的优化配置信息,后续上述优化配置信息由服务器转发至第二终端,从而使第二终端能够按照上述优化配置信息运行应用程序,从而实现在不同运行场景下动态调整配置信息,以使得应用程序的运行效果得以提升,提高了程序运行的可控性和灵活性。

在基于图11所示实施例提供的一个可选实施例中,所述配置生成模块1102,用于在所述目标应用程序处于所述场景信息所指示的运行场景时,通过所述调优工具调整所述第一终端的设备运行状态,直至所述目标应用程序的运行效果符合预设条件时,停止调整所述第一终端的设备运行状态,并根据所述第一终端所处的设备运行状态,生成与所述场景信息相适配的优化配置信息。

可选地,所述配置生成模块1102,用于:

通过所述调优工具控制所述第一终端按照初始的设备运行状态运行;

记录所述目标应用程序的运行参数,所述目标应用程序的运行参数用于指示所述目标应用程序的运行效果;

检测所述目标应用程序的运行参数是否符合所述预设条件;

若所述目标应用程序的运行参数符合所述预设条件,则根据所述第一终端所处的设备运行状态,生成与所述场景信息相适配的优化配置信息;

若所述目标应用程序的运行参数不符合所述预设条件,则通过所述调优工具调整所述第一终端的设备运行状态,并控制所述第一终端按照调整后的设备运行状态运行,然后再次从所述记录所述目标应用程序的运行参数的步骤开始执行,直至所述目标应用程序的运行参数符合所述预设条件。

在基于图11所示实施例提供的另一个可选实施例中,所述文件推送消息携带有包含有所述场景信息和所述优化配置信息之间的对应关系的配置文件,所述文件推送消息用于指示所述服务器向所述第二终端推送所述配置文件。

在基于图11所示实施例提供的另一个可选实施例中,

所述第一数据通道由所述目标应用程序通过调用内嵌任务开发工具包sdk与所述第一终端的操作系统之间以binder方式建立;

或者,

所述第一数据通道是由所述目标应用程序采用套接字socket方式与所述第一终端的操作系统之间建立的长连接。

在基于图11所示实施例提供的另一个可选实施例中,所述优化配置信息包括以下至少一种:cpu的工作频率、gpu的工作频率、存储器的工作频率、cpu内核的使用数量、cpu内核的开关状态。

请参考图12,其示出了本申请一个实施例提供的配置信息获取装置的框图。该装置应用于第二终端中,所述第二终端中运行有目标应用程序。该装置具有实现上述第二终端侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:文件接收模块1201、第二获取模块1202、配置获取模块1203和程序运行模块1204。

文件接收模块1201,用于接收服务器发送的所述目标应用程序的配置文件,所述配置文件中包括n组场景信息和优化配置信息之间的对应关系,其中,所述配置文件中的第i条场景信息用于指示所述目标应用程序的第i种运行场景,与所述第i条场景信息对应的优化配置信息用于提升所述目标应用程序在处于所述第i种运行场景时的运行效果,所述配置文件由第一终端通过调优工具生成,所述调优工具用于对所述目标应用程序运行时的配置信息进行优化,所述n为正整数,所述i为小于或等于n的正整数。

第二获取模块1202,用于在运行所述目标应用程序的过程中,通过与所述目标应用程序之间建立的第二数据通道,从所述目标应用程序中获取所述目标应用程序的当前场景信息。

配置获取模块1203,用于从所述配置文件中获取与所述当前场景信息对应的优化配置信息。

程序运行模块1204,用于按照与所述当前场景信息对应的优化配置信息,运行所述目标应用程序。

综上所述,本申请实施例提供的技术方案,通过获取应用程序当前所处的运行场景,而后按照与上述运行场景相适配的优化配置信息来运行应用程序,从而实现在不同运行场景下动态调整配置信息,以使得应用程序的运行效果得以提升,提高了程序运行的可控性和灵活性。

在基于图12所示实施例提供的一个可选实施例中,所述程序运行模块1204,用于:

根据与所述当前场景信息对应的优化配置信息,确定所述第二终端的设备运行状态;

采用确定出的所述设备运行状态,运行所述目标应用程序。

在基于图12所示实施例提供的一个可选实施例中,

所述第二数据通道由所述目标应用程序通过调用内嵌任务开发工具包sdk与所述第二终端的操作系统之间以binder方式建立;

或者,

所述第二数据通道是由所述目标应用程序采用套接字socket方式与所述第二终端的操作系统之间建立的长连接。

在基于图12所示实施例提供的一个可选实施例中,所述优化配置信息包括以下至少一种:cpu的工作频率、gpu的工作频率、存储器的工作频率、cpu内核的使用数量、cpu内核的开关状态。

需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由终端的处理器加载并执行以实现上述方法实施例中的各个步骤。

在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法实施例中的各个步骤的功能。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1