资源配置方法、装置、终端及存储介质与流程

文档序号:16067491发布日期:2018-11-24 12:49阅读:127来源:国知局
本申请实施例涉及终端
技术领域
,特别涉及一种资源配置方法、装置、终端及存储介质。
背景技术
随着移动终端技术的不断发展,移动终端中应用程序的种类也越来越多。比如,移动终端中同时安装有游戏类应用程序、社交类应用程序、视频播放类应用程序、即时通信类应用程序和购物类应用程序。为了提高应用程序的使用体验,移动终端厂商都在不断提升自身的硬件配置,以提高应用程序的运行速度及质量。比如,移动终端通过配置高性能的中央处理器(cpu,centralprocessingunit)和图形处理器(graphicsprocessingunit,gpu),来提高游戏类应用程序的运行速度和画面质量。技术实现要素:本申请实施例提供一种资源配置方法、装置、终端及存储介质,可以解决仅通过提升终端硬件配置的性能来提高应用程序的运行质量,成本较高且提升效果不佳的问题。所述技术方案如下:第一方面,本申请实施例提供了一种资源配置方法,所述方法应用于终端,所述终端运行有操作系统和目标应用程序,所述方法包括:所述目标应用程序通过与所述操作系统之间建立的数据通道,向所述操作系统发送场景信息,所述场景信息用于指示所述目标应用程序所处的运行场景;所述操作系统获取所述场景信息对应的目标优化配置文件,所述目标优化配置文件中包含所述运行场景中不同运行时段对应的优化配置信息,所述优化配置信息用于指示系统资源的配置方式;所述操作系统从所述目标优化配置文件中获取与当前运行时段对应的目标优化配置信息。所述操作系统根据所述目标优化配置信息为所述目标应用程序分配系统资源。第二方面,本申请实施例提供了一种资源配置装置,所述装置应用于终端,所述终端运行有操作系统和目标应用程序,所述装置包括:目标应用程序模块,用于通过与所述操作系统之间建立的数据通道,向所述操作系统发送场景信息,所述场景信息用于指示所述目标应用程序所处的运行场景;操作系统模块,用于获取所述场景信息对应的目标优化配置文件,所述目标优化配置文件中包含所述运行场景中不同运行时段对应的优化配置信息,所述优化配置信息用于指示系统资源的配置方式;所述操作系统模块,用于从所述目标优化配置文件中获取与当前运行时段对应的目标优化配置信息;所述操作系统模块,用于根据所述目标优化配置信息为所述目标应用程序分配系统资源。第三方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述第一方面所述的资源配置方法。第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述第一方面所述的资源配置方法。本申请实施例提供的技术方案带来的有益效果至少包括:目标应用程序运行时,通过与操作系统之间的数据通道,向操作系统发送指示所处运行场景的场景信息,使得操作系统能够获取与场景信息对应的目标优化配置文件,并进一步从目标优化配置文件中获取当前运行时段对应的目标优化配置信息,进而根据目标优化配置信息进行系统资源分配;相较于单纯提升终端的硬件性能,本申请实施例中的操作系统可以针对应用程序所处的应用场景,针对性地为其分配系统资源,使得应用程序在不同应用场景下均能够达到良好的运行效果,并降低对终端硬件的依赖;同时,从时间维度对应用场景进一步细分,操作系统针对同一应用场景下不同的运行时段分配相应的系统资源,使得应用程序在同一应用场景下的不同运行时段均能够达到良好的运行效果。附图说明图1是本申请一个实施例提供的终端的框图;图2示出了一种操作系统与第三方应用程序之间的通信示意图;图3是本申请一个实施例示出的操作系统的示意图;图4示出了另一种操作系统与第三方应用程序之间的通信示意图;图5示出了另一种操作系统与第三方应用程序之间的通信示意图;图6是本申请另一个实施例示出的操作系统的示意图;图7是本申请一个实施例示出的实施环境的示意图;图8是本申请一个实施例提供的资源配置发送方法的流程图;图9是本申请另一个实施例提供的资源配置发送方法的流程图;图10示出了本申请一个实施例提供的资源配置装置的框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。请参考图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通过有线网络或无线网络与服务器73相连。服务器73是用于存储优化配置文件的服务器,可以是一台服务器、若干台服务器构成的服务器集群或云计算中心。可选的,服务器73由终端厂商(操作系统开发商)架设,存储有终端厂商生产的不同型号终端对应的优化配置文件,该优化配置文件由第一终端71发送。第二终端72通过有线网络或无线网络与服务器73相连。第二终端72是安装并运行有第三方应用程序的终端。本申请各个实施例提供的资源配置方法即用于第二终端72中。本申请实施例中,第二终端72中存储有第三方应用程序对应的调优配置文件,在运行第三方应用程序过程中,第二终端72的操作系统根据该调优配置文件为第三方应用程序分配系统资源。可选的,第二终端72存储调优配置文件为预先存储,或,实时从服务器73处获取。为了方便表述,下述各个实施例以终端为执行主体进行说明。请参考图8,其示出了本申请一个示例性实施例提供的资源配置方法的流程图,该方法应用于运行有操作系统和目标应用程序的终端中,该方法可以包括如下步骤:步骤801,目标应用程序通过与操作系统之间建立的数据通道,向操作系统发送场景信息,场景信息用于指示目标应用程序所处的运行场景。目标应用程序是第三方应用提供商所开发的第三方应用程序,比如游戏类应用程序、视频类应用程序、购物类应用程序等等。目标应用程序安装并运行在终端的用户空间中。在本申请实施例中,仅以目标应用程序为游戏应用程序为例进行说明。可选的,当目标应用程序启动时,即与操作系统之间建立有数据通道,以实现操作系统与目标应用程序之间的数据交互。在一种可能的实现方式中,数据通道由目标应用程序通过调用内嵌的sdk与终端的操作系统建立。可选地,目标应用程序启动时,调用内嵌sdk提供的应用程序编程接口(applicationprogramminginterface,api),以binder方式与操作系统建立数据通道。在另一种可能的实现方式中,数据通道是由目标应用程序采用套接字socket方式与终端的操作系统建立。可选地,目标应用程序启动时,采用socket方式与操作系统提供的socket接口之间建立的长连接。需要说明的是,在建立数据通道时,操作系统可以对目标应用程序鉴权,从而实现仅与指定应用程序建立数据通道。场景信息用于指示目标应用程序当前所处的运行场景。场景信息可以包括目标应用程序当前展示用户界面中的内容,以游戏类应用程序为例,用户界面中的内容包括虚拟人物、虚拟道具、虚拟背景、虚拟技能图标等界面元素。在一种可能的实现方式中,场景信息也即是终端当前展示的用户界面的截图。在另一种可能的实现方式中,场景信息是当前展示的用户界面中的界面元素的标识信息。目标应用程序的运行场景可以根据当前展示的用户界面中的内容划分。下面以目标应用程序为游戏类应用程序为例,对该划分方式进行讲解。在游戏类应用程序中,运行场景可以包括主界面场景、商店场景、开机加载场景、对战场景、团战场景、个人战场景、开镜场景,本申请实施例对此不作限定。开机加载场景下,终端所展示的用户界面中包括目标应用程序在启动运行后的预设时长内播放的动画。团战场景下,用户界面中包括的虚拟人物的数量大于第一预设数量。个人战场景下,用户界面中包括的虚拟人物的数量小于第二预设数量。开镜场景下,用户界面中的虚拟元素可以在设定时长内被放大预设倍数。上述预设时长、第一预设数量、第二预设数量、预设时长、预设倍数均可以根据实际需求预先设定,本申请实施例对此不作限定。步骤802,操作系统获取场景信息对应的目标优化配置文件,目标优化配置文件中包含运行场景中不同运行时段对应的优化配置信息,优化配置信息用于指示系统资源的配置方式。获取到场景信息后,操作系统进一步获取与该场景信息对应的目标优化配置文件,其中,不同的场景信息对应不同的优化配置文件,即不同的运行场景对应不同的优化配置策略。示意性的,运行场景与优化配置文件的对应关系如表一所示。表一运行场景优化配置文件主界面场景优化配置文件a对战场景优化配置文件b商店场景优化配置文件c本申请实施例中,每个优化配置文件中包含至少两条优化配置信息,其中,不同的优化配置信息对应运行场景中不同的运行时段。示意性的,优化配置文件中包括:game_sencex_config=[sencex1,...,sencexn]game_sencex_time=[time1,...,timen]其中,game_sencex_config为运行场景x对应优化配置文件中优化配置信息的集合,game_sencex_time为运行场景x中的不同运行时段,sencexi为timei这一运行时段对应的优化配置信息,1≤i≤n。优化配置信息用于提升目标应用程序在运行场景中的运行效果。可选的,该优化配置信息包括以下至少一种:cpu中各个核心的开关状态、cpu中各个核心的工作频率、gpu的工作频率和内存的工作频率。其中,按照cpu中核心的运行频率进行划分,可以将cpu划分为大核(也称主处理器)和小核(也称辅处理器),大核的运行频率大于小核的运行频率。一个cpu可以包括多个cpu核心,终端可以根据所运行的应用程序选择使用哪一个或者哪几个cpu内核。cpu中各个核心的开关状态即用于指示核心处于打开状态还是关闭状态。可选的,优化配置信息中还可以包括其他影响应用运行质量的参数,比如存储器的读写速率、wifi网络速率等等,本申请实施例对此不做限定。步骤803,操作系统从目标优化配置文件中获取与当前运行时段对应的目标优化配置信息。操作系统进一步根据当前运行时段,从目标优化配置文件中获取目标优化配置信息,以便后续基于目标优化配置信息进行系统资源分配。步骤804,操作系统根据目标优化配置信息为目标应用程序分配系统资源。可选的,操作系统根据目标优化配置信息中包含的配置参数,与内核层进行通信,从而指示内核层对相应的系统资源进行配置。可选的,对于能够通过直接通讯的方式进行控制的系统资源(比如cpu资源和gpu资源),操作系统直接调用此类系统资源对应的抽象接口完成资源配置;而对于操作系统无法直接访问控制的系统资源(比如网络资源),操作系统采用代理的方式,通过代理与此类系统资源对应的子系统(比如网络资源对应的子系统可以为wifi子系统)进行间接通讯,从而完成系统资源配置。可选的,当目标应用程序结束生命周期时(应用程序的进程结束),即当接收到目标应用程序的进程结束信号时,操作系统断开与目标应用程序之间的连接,并清理数据通道,以便后续与其他应用程序建立连接。综上所述,本实施例中,目标应用程序运行时,通过与操作系统之间的数据通道,向操作系统发送指示所处运行场景的场景信息,使得操作系统能够获取与场景信息对应的目标优化配置文件,并进一步从目标优化配置文件中获取当前运行时段对应的目标优化配置信息,进而根据目标优化配置信息进行系统资源分配;相较于单纯提升终端的硬件性能,本申请实施例中的操作系统可以针对应用程序所处的应用场景,针对性地为其分配系统资源,使得应用程序在不同应用场景下均能够达到良好的运行效果,并降低对终端硬件的依赖;同时,从时间维度对应用场景进一步细分,操作系统针对同一应用场景下不同的运行时段分配相应的系统资源,使得应用程序在同一应用场景下的不同运行时段均能够达到良好的运行效果。在一种可能的实施方式中,生成优化配置文件可以包括如下步骤。一、同一运行场景下,根据原子场景对应的资源配置参数,为目标应用程序分配系统资源。可选的,终端的操作系统中预先定义n种原子场景,n种原子场景的集合可以表示为:sence=[sence1,…,sencen],n≥1其中,sence表示n种原子场景的集合,sencei表示第i种原子场景,1≤i≤n。每种原子场景对应各自的资源配置参数,且不同原子场景对应的资源配置参数不同。该资源配置参数中可以包括cpu中各个核心的开关状态、cpu中各个核心的工作频率、gpu的工作频率和内存的工作频率,当然,资源配置参数中还可以包含其他系统资源对应的参数,比如磁盘读写资源、网络资源等等,本申请实施例对此不做限定。示意性的,第i种原子场景sencei对应的资源配置参数如下:其中,m为cpu的核心个数,m≥1;cpuij_fre用于表示sencei内,cpu中第j个核心的工作频率,1≤j≤m;cpuij_stat用于表示sencei内,cpu中第j个核心的开关状态(可以设置0为关,1为开),gpui_fre用于表示sencei内gpu的工作频率,memi_fre用于表示sencei中内存的工作频率。目标应用程序开发商可以使用调优工具,根据各个原子场景对应的资源配置参数,为目标应用程序分配系统资源,即在各种原子场景下运行目标应用程序。二、对于各个原子场景,计算目标应用程序在不同运行时段内的帧率标准差和终端的功耗。为了确定出目标应用程序在不同原子场景下的运行质量以及终端功耗,目标应用程序开发商可以使用调优工具,计算目标应用程序在不同运行时段内的帧率标准差(或帧率方差)和终端的功耗。可选的,该运行时间段可以根据固定时间间隔划分,比如,运行时间段为5s。示意性的,帧率标准差的计算公式如下:其中,σframe为帧率标准差,n为运行时段内的n个采样点,xi为第i个采样点采集到的帧率,u0为当前运行场景下的目标帧率(比如30帧)。计算终端的功耗可以采用如下公式:其中,powercost为终端在运行时段内的功耗,n为运行时段内的n个采样点,currenti为第i个采样点时采集到的终端电流,voltagei为第i个采样点时采集到的终端电压,t为采样点间隔。三、对于各个运行时段,将帧率标准差低于阈值,且终端的功耗最低的原子场景确定为该运行时段对应的目标原子场景。进一步的,为了保证目标应用程序在各个运行时段内均能够稳定运行(即帧率稳定),且保持较低的功耗,可选的,对于各个运行时段,终端首先将帧率标准差大于阈值(比如该阈值可以为5)的原子场景过滤,并将帧率标准差低于阈值的原子场景中,功耗最低的原子场景确定为该运行时段对应的目标原子场景。四、根据各个运行时段对应的目标原子场景,生成运行场景对应的优化配置文件。进一步的,调优工具根据各个运行时段以及各个运行时段对应的目标原子场景,生成该运行场景对应的优化配置文件,其中,目标原子场景对应的资源配置参数即为优化配置文件中的优化配置信息。请参考图9,其示出了本申请另一个示例性实施例提供的资源配置方法的流程图,该方法应用于运行有操作系统和目标应用程序的终端中,该方法可以包括如下步骤:步骤901,操作系统向服务器发送配置文件获取请求,配置文件获取请求中包含终端的终端型号以及目标应用程序的应用标识,服务器用于向终端反馈与终端型号和应用标识匹配的优化配置文件。可选的,服务器中存储有不同应用程序对应的优化配置文件,该优化配置文件由应用程序开发商上传至服务器。其中,当终端硬件配置的相似度较高时,不同型号的终端可以对应相同的优化配置文件,当终端硬件配置的相似度较低时,不同型号的终端也可以对应不同的优化配置文件。示意性的,终端型号、应用程序与优化配置文件的对应关系如表二所示。表二终端型号应用程序优化配置文件a123、a124xx游戏优化配置文件a、b、ca123、a124xx视频优化配置文件d、ea250、a252xx游戏优化配置文件f、g、ha250、a252xx视频优化配置文件i、j受限于存储空间,终端中无法存储所有应用程序对应的优化配置文件,为了保证能够对已安装的应用程序进行系统资源优化,在一种可能的实施方式中,操作系统在检测到下载目标应用程序时,向服务器发送包含终端型号以及应用标识的配置文件获取请求。服务器接收到配置文件获取请求后,即查找与终端型号以及应用标识匹配的优化配置文件,并反馈给终端。随着应用程序的不断更新,其对应的优化策略也会发生相应变化。为了保证操作系统能够根据最新的优化配置文件对应用程序进行系统资源优化,在一种可能的实施方式中,操作系统每隔预定时间间隔向服务器发送配置文件获取请求,请求获取目标应用程序对应的最新优化配置文件。在其他可能的实施方式中,服务器也可以在优化配置文件发生更新时,主动向安装有目标应用程序的终端推送更新后的优化配置文件,本申请并不对此进行限定。步骤902,操作系统接收服务器反馈的优化配置文件,并进行存储。终端接收到服务器反馈的优化配置文件后,操作系统将该优化配置文件与目标应用程序进行关联存储。步骤903,目标应用程序通过与操作系统之间建立的数据通道,向操作系统发送场景信息,场景信息用于指示目标应用程序所处的运行场景。本步骤的实施方式与上述步骤801相似,本实施例在此不再赘述。可选的,该场景信息中包含当前所处运行场景的场景标识。步骤904,操作系统获取目标应用程序的应用标识。由于终端中可能存储有不同应用程序对应的优化配置文件,因此,为了确定出适用于目标应用程序的优化配置文件,操作系统需要获取目标应用的应用标识。在一种可能的实施方式中,如图4所示,操作系统即从应用框架层250处获取前景应用信息,并将前景应用信息中包含的前台应用标识,确定为目标应用程序的应用标识。在其他可能的实施方式中,操作系统还可以通过其他方式获取目标应用程序的应用标识,本申请并不对此进行限定。步骤905,操作系统根据应用标识,获取目标应用程序对应的至少两个优化配置文件,其中,不同优化配置文件对应目标应用程序中不同运行场景。由于同一应用程序中包含不同的运行场景,且不同运行场景对系统资源的需求也不同,因此,操作系统根据应用标识,获取对应目标应用程序中不同运行场景的优化配置文件。其中,优化配置文件与运行场景的对应关系可以如表一所示。结合表二所示的数据,操作系统根据应用标识“xx游戏”,获取到优化配置文件a、b、c。步骤906,操作系统根据场景信息中的场景标识,从至少两个优化配置文件中获取目标优化配置文件。进一步的,操作系统根据场景标识,从至少两个优化配置文件中获取适用于当前运行场景的目标优化配置文件。示意性的,结合表一所示的数据,操作系统根据场景标识“对战场景”,将优化配置文件b确定为目标优化配置文件。对于同一应用程序中的同一运行场景,用户可以根据需求设置在不同帧率下运行。比如,对于游戏类应用程序中的对战场景,用户可以设置以30帧显示对战画面,也可以设置以60帧显示对战画面。而不同帧率下,保证该运行场景下应用程序流畅运行所需的系统资源也不同,因此,同一运行场景下,不同帧率可能对应不同优化配置文件。示意性的,同一运行场景下,不同优化配置文件与帧率的对应关系如表三所示。表三帧率优化配置文件30帧优化配置文件b160帧优化配置文件b2100帧优化配置文件b3为了确保操作系统能够获取到当前运行场景下目标帧率对应的优化配置文件,在一种可能的实施方式中,目标应用程序获取当前运行场景下的目标帧率,并将该目标帧率添加到场景信息中。比如,目标应用程序发送的场景信息中包含场景标识“对战场景”以及目标帧率“60帧”。相应的,操作系统即根据目标帧率和所述场景标识确定目标优化配置文件。步骤907,操作系统获取进入运行场景的进入时刻。在确定当前运行场景所处的运行时段时,操作系统首先获取进入该运行场景的进入时刻。在一种可能的实施方式中,由于目标应用程序在进入运行场景时发送场景信息,因此操作系统可以将场景信息的发送时刻确定为进入时刻。比如,操作系统获取到进入时刻为12:10:59。步骤908,操作系统根据当前时刻和进入时刻计算运行时长。进一步的,操作系统获取当前时刻,从而根据当前时刻和进入时刻计算运行时长。比如,若当前时刻为12:11:02,进入时刻为12:10:59,操作系统计算得到运行时长为3s。步骤909,操作系统根据运行时长确定当前运行时段。目标优化配置信息中包含运行时段与优化配置信息之间的对应关系,示意性的,该对应关系如表四所示。表四运行时段t1(0-5s)t2(5-10s)t3(10-15s)t3(15-∞)优化配置信息优化配置信息b001优化配置信息b002优化配置信息b003优化配置信息b004可选的,操作系统基于表四所示的数据,将运行时长对应的运行时段确定为当前运行时段。比如,结合上述步骤的示例,操作系统确定当前运行时段为t1。步骤910,操作系统将与当前运行时段匹配的优化配置信息确定为目标优化配置信息。比如,结合上述步骤的示例,操作系统将优化配置信息b001确定为目标优化配置信息。该目标优化配置信息中即包含一系列系统资源配置参数。步骤911,操作系统根据目标优化配置信息为目标应用程序分配系统资源。操作系统根据目标优化配置信息中的系统资源配置参数,为目标应用程序分配系统资源。其中,操作系统根据目标优化配置信息为目标应用程序分配系统资源后,目标应用程序的帧率标准差低于阈值,且终端的功耗低于其他系统资源分配方式(原子场景对应的系统资源分配方式)下终端的功耗。帧率标准差为所述目标应用程序的实时帧率与运行场景下目标帧率之间的标准差。本实施例中,操作系统根据进入运行场景的运行时刻以及当前时刻,确定运行时长,进而将该运行时长所属的运行时段确定为目标运行时段,提高了运行时段确定的准确性。本实施例中,操作系统根据当前运行场景下的目标帧率以及场景标识,确定目标优化配置文件,确定获取到的目标优化配置文件适用于当前帧率下的运行场景。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。请参考图10,其示出了本申请一个实施例提供的资源配置装置的框图。该装置可以通过软件或软硬件结合实现成为图7中第二终端的部分或全部。该装置包括:目标应用程序模块1010,用于通过与所述操作系统之间建立的数据通道,向所述操作系统发送场景信息,所述场景信息用于指示所述目标应用程序所处的运行场景;操作系统模块1020,用于获取所述场景信息对应的目标优化配置文件,所述目标优化配置文件中包含所述运行场景中不同运行时段对应的优化配置信息,所述优化配置信息用于指示系统资源的配置方式;所述操作系统模块1020,用于从所述目标优化配置文件中获取与当前运行时段对应的目标优化配置信息;所述操作系统模块1020,用于根据所述目标优化配置信息为所述目标应用程序分配系统资源。可选的,在获取所述场景信息对应的目标优化配置文件时,操作系统模块1020,用于:获取所述目标应用程序的应用标识;根据所述应用标识,获取所述目标应用程序对应的至少两个优化配置文件,其中,不同优化配置文件对应所述目标应用程序中不同运行场景;根据所述场景信息中的场景标识,从所述至少两个优化配置文件中获取所述目标优化配置文件。可选的,所述场景信息中还包含所述运行场景下的目标帧率,所述操作系统根据所述场景信息中的场景标识,从所述至少两个优化配置文件中获取所述目标优化配置文件时,操作系统模块1020,还用于:根据所述目标帧率和所述场景标识,从所述至少两个优化配置文件中获取所述目标优化配置文件;其中,同一运行场景下,不同目标帧率对应不同优化配置文件。可选的,从所述目标优化配置文件中获取与当前运行时段对应的目标优化配置信息时,操作系统模块1020,用于:获取进入所述运行场景的进入时刻;根据当前时刻和所述进入时刻计算运行时长;根据所述运行时长确定所述当前运行时段;将与所述当前运行时段匹配的优化配置信息确定为所述目标优化配置信息。可选的,根据所述目标优化配置信息为所述目标应用程序分配系统资源后,所述目标应用程序的帧率标准差低于阈值,且所述终端的功耗低于其他系统资源分配方式下所述终端的功耗;其中,所述帧率标准差为所述目标应用程序的实时帧率与所述运行场景下目标帧率之间的标准差。可选的,所述目标应用程序的优化配置文件由调优工具生成,所述调优工具用于在所述目标应用程序的同一运行场景下,根据各个原子场景对应的资源配置参数,为所述目标应用程序分配系统资源,其中,不同原子场景对应不同资源配置参数;对于各个原子场景,计算所述目标应用程序在不同运行时段内的帧率标准差和所述终端的功耗;对于各个运行时段,将所述帧率标准差低于阈值,且所述终端的功耗最低的原子场景确定为所述运行时段对应的目标原子场景;根据各个运行时段对应的所述目标原子场景,生成所述运行场景对应的所述优化配置文件。可选的,操作系统模块1020,还用于:向服务器发送配置文件获取请求,所述配置文件获取请求中包含所述终端的终端型号以及所述目标应用程序的应用标识,所述服务器用于向所述终端反馈与所述终端型号和所述应用标识匹配的优化配置文件;接收所述服务器反馈的优化配置文件,并进行存储。可选的,所述数据通道由所述目标应用程序调用内嵌的软件开发工具包sdk与所述操作系统建立;或,所述数据通道由所述目标应用程序通过套接字socket方式与所述操作系统建立。可选的,所述优化配置信息包括以下至少一种:中央处理器cpu中各个核心的开关状态、cpu中各个核心的工作频率、图形处理器gpu的工作频率和内存的工作频率。综上所述,本实施例中,目标应用程序运行时,通过与操作系统之间的数据通道,向操作系统发送指示所处运行场景的场景信息,使得操作系统能够获取与场景信息对应的目标优化配置文件,并进一步从目标优化配置文件中获取当前运行时段对应的目标优化配置信息,进而根据目标优化配置信息进行系统资源分配;相较于单纯提升终端的硬件性能,本申请实施例中的操作系统可以针对应用程序所处的应用场景,针对性地为其分配系统资源,使得应用程序在不同应用场景下均能够达到良好的运行效果,并降低对终端硬件的依赖;同时,从时间维度对应用场景进一步细分,操作系统针对同一应用场景下不同的运行时段分配相应的系统资源,使得应用程序在同一应用场景下的不同运行时段均能够达到良好的运行效果。本实施例中,操作系统根据进入运行场景的运行时刻以及当前时刻,确定运行时长,进而将该运行时长所属的运行时段确定为目标运行时段,提高了运行时段确定的准确性。本实施例中,操作系统根据当前运行场景下的目标帧率以及场景标识,确定目标优化配置文件,确定获取到的目标优化配置文件适用于当前帧率下的运行场景。需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由终端的处理器加载并执行以实现上述方法实施例中的各个步骤。在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法实施例中的各个步骤的功能。应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1