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

文档序号:17318571发布日期:2019-04-05 21:24阅读:144来源:国知局
资源配置方法、装置、终端及存储介质与流程
本申请实施例涉及应用优化
技术领域
,特别涉及一种资源配置方法、装置、终端及存储介质。
背景技术
:随着移动终端技术的不断发展,移动终端中应用程序的种类也越来越多。比如,移动终端中同时安装有游戏类应用程序、社交类应用程序、视频播放类应用程序、即时通信类应用程序和购物类应用程序。为了提高应用程序的使用体验,移动终端厂商都在不断提升自身的硬件配置,以提高应用程序的运行速度及质量。比如,移动终端通过配置高性能的中央处理器(cpu,centralprocessingunit)和图形处理器(graphicsprocessingunit,gpu),来提高游戏类应用程序的运行速度和画面质量。技术实现要素:本申请实施例提供了一种资源配置方法、装置、终端及存储介质。所述技术方案如下:一方面,提供了一种资源配置方法,所述方法包括:当运行游戏应用程序时,显示游戏画面;对所述游戏画面进行截图,得到游戏截图;通过游戏场景识别模型对所述游戏截图进行识别,确定所述游戏画面对应的游戏场景,所述游戏场景用于指示所述游戏应用程序所处的运行阶段;确定所述游戏场景对应的资源配置策略;根据所述资源配置策略为所述游戏应用程序分配系统资源。另一方面,提供了一种资源配置装置,所述装置包括:显示模块,用于当运行游戏应用程序时,显示游戏画面;截图模块,用于对所述游戏画面进行截图,得到游戏截图;场景识别模块,用于通过游戏场景识别模型对所述游戏截图进行识别,确定所述游戏画面对应的游戏场景,所述游戏场景用于指示所述游戏应用程序所处的运行阶段;策略确定模块,用于确定所述游戏场景对应的资源配置策略;资源分配模块,用于根据所述资源配置策略为所述游戏应用程序分配系统资源。另一方面,提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的资源配置方法。另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的资源配置方法。游戏应用程序运行过程中,通过对游戏画面进行截图,并通过预先训练得到的游戏场景识别模型对游戏截图进行识别,确定游戏画面对应的游戏场景,从而根据该游戏场景对应的资源配置策略为游戏应用程序分配系统资源,进而优化游戏应用程序在不同游戏场景下的性能以及功耗;本申请实施例提供的资源配置方法中,游戏应用程序无需接入终端操作系统,终端操作系统也能够智能分析出当前所处的游戏场景,从而免去了在游戏应用程序与操作系统之间建立数据通道的过程,并有助于提高操作系统的安全性。附图说明图1是本申请一个示例性实施例提供的终端的结构示意图;图2是终端中应用程序与操作系统通信过程的实施示意图;图3是本申请一个示例性实施例提供的终端的结构示意图;图4和图5是图3所示终端中应用程序与操作系统通信过程的实施示意图;图6是本申请另一个示例性实施例提供的终端的结构示意图;图7示出了本申请一个示例性实施例示出的资源配置方法的流程图;图8示出了本申请另一个示例性实施例示出的资源配置方法的流程图;图9示出了本申请另一个示例性实施例示出的资源配置方法的流程图;图10示出了本申请另一个示例性实施例示出的资源配置方法的流程图;图11是在游戏画面上层显示加速控件的界面示意图;图12示出了本申请一个实施例提供的资源配置装置的结构框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。请参考图1,其示出了本申请一个示例性实施例提供的终端100的结构方框图。该终端100可以是智能手机、平板电脑、便携式个人计算机等能够运行有游戏应用程序的电子设备。本申请中的终端100可以包括一个或多个如下部件:处理器110、存储器120和输入输出装置130。处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。可选的,处理器110还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(android)系统(包括基于android系统深度开发的系统)、苹果公司开发的ios系统(包括基于ios系统深度开发的系统)或其它系统。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。输入输出装置130可以包括触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端100的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。除此之外,本领域技术人员可以理解,上述附图所示出的终端100的结构并不构成对终端100的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端100中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。存储器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系统,此处不再赘述。然而,采用打通第三方应用程序与操作系统之间数据通信的方式实现基于应用场景的系统资源适配时,第三方应用程序在开发过程中需要进行相应调整,比如内嵌操作系统开发商提供的sdk;并且,为了避免操作系统的数据接口暴露给非法应用程序,造成系统安全隐患,操作系统仅支持与部分第三方应用程序进行数据通信,导致系统资源适配的适用范围较窄。而本申请实施例提供的资源配置方法中,操作系统通过对运行中的游戏应用程序进行截图,并采集机器学习的方式,通过预先训练的游戏场景识别模型对游戏截图进行识别,确定出当前游戏画面对应的游戏场景,进而根据该游戏场景对应的资源配置策略为游戏应用程序分配系统资源。由于整个系统资源分配过程中,操作系统与游戏应用程序之间无需进行数据通信,因此游戏应用程序在开发过程中无需内嵌sdk,且操作系统的数据接口无需暴露给第三方应用程序,从而提高操作系统的安全性。下面采用示意性的实施例进行说明。请参考图7,其示出了本申请一个示例性实施例示出的资源配置方法的流程图。本实施例以该方法应用于图1所示的终端100来举例说明。该方法包括:步骤701,当运行游戏应用程序时,显示游戏画面。当游戏应用程序处于前台运行状态时,终端显示实时的游戏画面,该游戏画面在游戏运行过程中不断发生变化。比如,在游戏启动阶段,该游戏画面为游戏启动画面;完成游戏启动后,该游戏画面为游戏主界面;游戏进行中时,该游戏画面为游戏进行画面。步骤702,对游戏画面进行截图,得到游戏截图。由于不同游戏场景下,游戏画面具有不同的特点,因此本申请实施例中终端基于游戏画面识别当前所处的游戏场景。在一种可能的实施方式中,游戏应用程序启动后,终端操作系统每隔预定时间间隔对游戏画面进行截图,从而得到相应的游戏截图。在另一种可能的实施方式中,游戏应用程序启动后,终端在游戏画面上方显示加速控件,并在接收到对该加速控件的触发操作时进行截图。需要说明的是,操作系统在对游戏画面进行截图时,直接通过后台提取游戏图层,从而获取游戏截图,无需用户手动截图,用户在前台并不会感知。可选的,操作系统截取得到的游戏截图缓存在内存中,并在经过场景识别后直接删除。步骤703,通过游戏场景识别模型对游戏截图进行识别,确定游戏画面对应的游戏场景,游戏场景用于指示游戏应用程序所处的运行阶段。本申请实施例中,终端中预先存储有用于对游戏场景进行识别的游戏场景识别模型,该游戏场景识别模型可以是卷积神经网络模型、深度学习模型等其他用于进行图像识别的模型。针对该游戏场景识别模型的训练方法,在一种可能的实施方式中,该游戏场景识别模型根据携带有游戏场景标识的样本游戏截图训练得到。可选的,终端操作系统将游戏截图输入游戏场景识别模型,得到游戏场景模型输出的若干种候选游戏场景以及对应的概率,进而将概率最高的候选游戏场景确定为游戏画面对应的游戏场景。可选的,该游戏场景包括如下至少一种:游戏启动场景、游戏加载场景、游戏主界面场景和游戏进行场景。示意性的,操作系统将游戏截图输入游戏场景识别模型82后,得到游戏场景识别模型输出的游戏场景为“游戏进行场景”。步骤704,确定游戏场景对应的资源配置策略。终端操作系统根据确定出游戏应用程序当前所处的游戏场景,进一步确定游戏场景对应的资源配置策略,可选的,该资源配置策略中包含游戏场景下各项系统资源的配置信息,该系统资源包括cpu资源、gpu资源、磁盘资源、内存资源和网络资源中的至少一种。相应的,cpu资源对应的配置信息可以包括cpu工作频率和cpu核心开启数;gpu资源对应的配置信息可以包括gpu工作频率、gpu核心开启数;磁盘资源对应的配置信息可以包括磁盘转速和磁盘读写速度;内存资源对应的配置信息可以包括内存频率和内存读写速度;网络资源对应的配置信息可以包括网速和延迟。在一种可能的实施方式中,终端中存储有游戏场景与资源配置策略之间的对应关系,终端操作系统即基于该对应关系确定当前游戏场景对应的资源配置策略。示意性的,该对应关系如表一所示。表一游戏场景资源配置策略游戏加载场景资源配置策略a游戏主界面场景资源配置策略b游戏进行场景资源配置策略c示意性的,当识别出的游戏场景为“游戏进行场景”时,终端操作系统基于表一确定出资源配置策略为“资源配置策略c”。步骤705,根据资源配置策略为游戏应用程序分配系统资源。可选的,根据资源配置策略中各项系统资源对应的配置信息,终端操作系统对游戏应用程序进行系统资源分配。在一种可能的实施方式中,当资源配置策略指示的目标系统资源配置低于当前系统资源配置,操作系统则将当前系统资源配置下调至资源配置策略指示的目标系统资源配置,从而在保证游戏应用程序运行质量的同时,降低终端的功耗;当资源配置策略指示的目标系统资源配置高于当前系统资源配置,操作系统则将当前系统资源配置上调至资源配置策略指示的目标系统资源配置,从而提高游戏应用程序的运行质量。综上所述,本申请实施例中,游戏应用程序运行过程中,通过对游戏画面进行截图,并通过预先训练得到的游戏场景识别模型对游戏截图进行识别,确定游戏画面对应的游戏场景,从而根据该游戏场景对应的资源配置策略为游戏应用程序分配系统资源,进而优化游戏应用程序在不同游戏场景下的性能以及功耗;本申请实施例提供的资源配置方法中,游戏应用程序无需接入终端操作系统,终端操作系统也能够智能分析出当前所处的游戏场景,从而免去了在游戏应用程序与操作系统之间建立数据通道的过程,并有助于提高操作系统的安全性。由于不同类型游戏应用程序中游戏画面的画面特征不同,比如游戏进行场景下,卡牌游戏的游戏画面中包含卡牌元素,而竞速游戏的游戏画面中包含赛道元素。因此,为了提高游戏场景识别的准确性,在一种可能的实施方式中,利用标记有游戏类型以及游戏场景标识的样本游戏截图训练游戏场景识别模型;相应的,使用游戏场景识别模型识别游戏场景时,操作系统将当前游戏应用程序的游戏类型和游戏截图作为模型输入,输入游戏场景识别模型中。下面采用示意性的实施例进行说明。请参考图8,其示出了本申请另一个示例性实施例示出的资源配置方法的流程图。本实施例以该方法应用于图1所示的终端100来举例说明。该方法包括:步骤801,当运行游戏应用程序时,显示游戏画面。本步骤的实施方式可以参考上述步骤701,本实施例在此不再赘述。步骤802,获取游戏应用程序的应用标识。当终端中安装有能够与操作系统建立数据通道,并进行数据通信的目标游戏应用程序时,此类目标游戏应用程序在运行过程中,可以通过数据通道向操作系统上报场景信息(包含游戏场景),操作系统即可基于获取到的场景信息为目标游戏应用程序进行系统资源配置。因此,针对目标游戏应用程序,操作系统无需进行截图和游戏截图识别。为了避免对目标游戏应用程序进行截图以及场景识别,造成终端处理资源浪费,在一种可能的实施方式中,操作系统获取当前运行游戏应用程序的应用标识。其中,该应用标识可以为游戏应用程序的应用包名。步骤803,检测应用标识是否属于预设游戏列表,预设游戏列表中包含目标游戏应用程序的标识,目标游戏应用程序在运行过程中通过与操作系统之间的数据通道向发送场景信息,操作系统用于根据场景信息指示的游戏场景确定资源配置策略。可选的,终端中存储有预设游戏列表,该预设游戏列表中即包含目标游戏应用程序的标识。其中,该预设游戏列表是终端从后台服务器出定期更新下载。终端操作系统检测当前游戏应用程序的应用标识是否属于预设游戏列表,若属于,则确定当前游戏应用程序为目标应用程序,后续无需进行截图场景识别;若不属于,则确定当前游戏应用程序无法直接向操作系统发送场景信息,并执行步骤804。在其他可能的实施方式中,当应用标识不属于预设游戏列表时,操作系统进一步检测应用标识是否属于游戏白名单,若属于游戏白名单,则执行步骤804。其中,该游戏白名单中包含游戏性能优化的游戏应用程序。步骤804,若应用标识不属于预设游戏列表,则对游戏画面进行截图,得到游戏截图。其中,终端操作系统进行截图的步骤可以参考上述步骤702,本实施例在此不再赘述。步骤805,获取游戏应用程序对应的游戏类型。为了提高后续游戏场景识别的准确性,操作系统获取游戏应用程序对应的游戏类型,该游戏类型可以包括如下至少一种:第一人称射击游戏(first-personshootergame,fps)、第三人称射击游戏tps(third-personshootergame,fps)、多人在线战术竞技游戏(multiplayeronlinebattlearena,moba)、卡牌游戏、竞速游戏、音乐游戏、模拟经营游戏、冒险游戏(adventuregame,avg)、格斗游戏(fightinggame,ftg)、角色扮演游戏(role-playinggame,rpg)和沙盒游戏。在一种可能的实施方式中,操作系统获取游戏应用程序的应用名称或应用包名,从而根据该应用名称或应用包名查询该游戏应用程序的游戏类型。本申请实施例并不对获取游戏类型的具体方式进行限定。步骤806,将游戏类型和游戏截图输入游戏场景识别模型,得到游戏场景识别模型输出的游戏场景。进一步的,在进行游戏场景识别时,操作系统将游戏类型和游戏截图共同输入游戏场景识别模型,从而得到游戏场景识别模型输出的若干种候选游戏场景及其概率,并将最高概率对应的候选游戏场景确定为当前游戏画面对应的游戏场景。步骤807,根据游戏类型以及游戏场景,确定游戏场景对应的资源配置策略。相同游戏场景下,由于不同游戏类型的游戏应用程序对系统资源的需求不同,比如,同样在游戏进行场景下,卡牌游戏对系统资源的需求低于moba游戏对系统资源的需求不同。因此,操作系统同时基于游戏类型以及游戏场景,确定当前游戏场景对应的资源配置策略。在一种可能的实施方式中,终端中存储有游戏类型、游戏场景以及资源配置策略三者之间的对应关系,终端操作系统即基于该对应关系确定当前游戏场景对应的资源配置策略。示意性的,该对应关系如表二所示。表二游戏类型游戏场景资源配置策略卡牌游戏游戏加载场景资源配置策略a1moba游戏游戏加载场景资源配置策略a2卡牌游戏游戏运行场景资源配置策略c1moba游戏游戏运行场景资源配置策略c2示意性的,当识别出的游戏场景为“游戏进行场景”,且游戏类型为“moba游戏”时,终端操作系统基于表二确定出资源配置策略为“资源配置策略c2”。由于资源配置策略所指示系统资源配置的高低还与游戏大小相关(游戏大小越大,对系统资源的需求越高),且与终端当前的电量相关(电量较低时,过高的系统资源配置会影响终端续航),因此为了进一步提高确定出的资源配置策略的准确性和适用性,在另一种可能的实施方式中,在确定游戏场景对应的资源配置策略之前,终端操作系统获取当前剩余电量以及游戏应用程序的应用程序大小,该应用程序大小用于指示游戏应用程序所占的存储空间。在确定游戏场景对应的资源配置策略时,终端操作系统将当前剩余电量、应用程序大小、游戏类型以及游戏场景输入资源配置模型,得到资源配置模型输出的资源配置策略。可选的,资源配置模型为基于深度学习的神经网络模型,且训练该资源配置模型时使用的样本输入参数包括样本电量、样本应用程序大小、样本类型和样本游戏场景,样本输出参数则包括样本资源配置策略。本申请实施例并不对资源配置模型的训练过程进行限定。示意性的,终端操作系统获取到当前剩余电量为“50%”、应用程序大小为“1.5gb”、游戏类型为“moba游戏”且游戏场景为“游戏进行场景”,将上述参数输入资源配置模型后,得到资源配置模型输出的资源配置策略。需要说明的是,终端还可以将其他与资源配置策略相关的参数作为模型输入进行模型训练,以此提高资源配置模型输出的资源配置策略的准确性。步骤808,根据资源配置策略为游戏应用程序分配系统资源。本步骤的实施方式可以参考上述步骤705,本实施例在此不再赘述。本实施例中,考虑到不同类型游戏具有不同的游戏画面特征,通过将当前游戏应用的游戏类型以及游戏截图一同输入游戏场景识别模型,得到游戏场景识别模型输出的游戏场景,提高了游戏场景识别的准确性。同时,考虑到不同类型游戏对系统资源的不同需求,根据当前游戏应用的游戏类型以及当前所处的游戏场景,确定游戏场景对应的资源配置策略,提高了确定出的资源配置策略的准确性。为了进一步提高游戏场景识别模型的识别准确性,在一种可能的实施方式中,操作系统根据目标应用程序上报场景信息是的游戏画面,对游戏场景识别模型进行反向训练。在图8的基础上,如图9所示,步骤808之后还可以包括如下步骤。步骤809,当接收到目标游戏应用程序发送的场景信息时,对目标游戏应用程序的当前游戏画面进行截图,得到样本游戏截图。在一种可能的实施方式中,当检测应用标识是否属于预设游戏列表时,终端操作系统在目标游戏应用程序运行过程中,接收目标游戏应用程序发送的包含游戏场景的场景信息,并基于场景信息对目标游戏应用程序进行资源配置;与此同时,操作系统对当前游戏画面进行截图,得到与目标游戏应用程序当前游戏场景对应样本游戏截图。步骤810,根据场景信息指示的游戏场景以及样本游戏截图,通过反向传播算法对游戏场景识别模型进行训练。进一步的,终端操作系统根据场景信息指示的游戏场景以及样本游戏截图,对原有的游戏场景识别模型进行反向传播训练,以此提高游戏场景识别模型的识别准确性。可选的,终端操作系统可以根据场景信息指示的游戏场景、目标游戏应用程序的游戏类型以及样本游戏截图,对游戏场景识别模型进行反向传播训练。在一种可能的实施方式中,终端操作系统将样本游戏截图输入原有的游戏场景识别模型,得到模型输出的若干种候选游戏场景及其概率,并基于场景信息所指示游戏场景与各种候选游戏场景对应的概率,进行反向传播训练。本实施例中,终端操作系统在接收到目标游戏应用程序上报的场景信息时,对游戏画面进行截图,从而根据游戏截图和场景信息指示的游戏场景对游戏场景识别模型进行反向传播训练,以此提高游戏场景识别模型的识别准确性。在一种可能的实施方式中,在图8的基础上,如图10所示,步骤804可以包括如下步骤:步骤804a,显示加速控件。在一种可能的实施方式中,终端操作系统显示加速控件,并接收加速控件上的触发操作。其中,该加速控件可以是位于游戏画面上层的悬浮图标,或者显示在快捷栏中的快捷功能图标(比如显示在显示屏异性区域的加速图标),且触发操作可以是点击操作、按压操作或长按操作中的至少一种。本申请实施例对此不做限定。示意性的,如图11所示,游戏画面1101的上层显示有加速控件1102。步骤804b,当接收到对加速控件的触发信号时,对游戏画面进行截图,得到游戏截图。当接收到对加速控件的触发信号时,终端确定需要对游戏应用程序进行性能优化,从而执行后续截图以及游戏场景识别等操作。其具体实施方式可以参考图8实施例,本实施例在此不再赘述。由于游戏运行过程中,游戏场景在不断发生变化,比如游戏结束后,将由游戏进行场景切换至游戏主界面场景,因此操作系统需要及时调试资源配置策略,相应的,如图10所示,步骤808之后还包括如下步骤。步骤811,每隔预定时间间隔识别当前游戏画面对应的当前游戏场景。在一种可能的实施方式中,终端操作系统每隔预定时间间隔,通过截图和模型识别操作,重新识别当前游戏画面对应的当前游戏场景,并检测当前游戏场景与上一次识别出的游戏场景是否一致,若一致,则保持当前资源配置方式;若不一致,则通过下述步骤812重新确定当前游戏场景对应的资源配置策略。可选的,该预定时间间隔可以根据上一次识别游戏场景对应的预计持续时长确定。比如,对于moba游戏,当上一次识别出的游戏场景为“游戏进行场景”时,终端操作系统确定预定时间间隔为30分钟。步骤812,若当前游戏场景发生变化,则重新确定当前游戏场景对应的资源配置策略。当游戏场景发生变化时,终端操作系统重新确定资源配置策略,并根据重新确定的资源配置策略进行系统资源配置。请参考图12,其示出了本申请一个实施例提供的资源配置装置的结构框图。该资源配置装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:显示模块1201,用于当运行游戏应用程序时,显示游戏画面;截图模块1202,用于对所述游戏画面进行截图,得到游戏截图;场景识别模块1203,用于通过游戏场景识别模型对所述游戏截图进行识别,确定所述游戏画面对应的游戏场景,所述游戏场景用于指示所述游戏应用程序所处的运行阶段;策略确定模块1204,用于确定所述游戏场景对应的资源配置策略;资源分配模块1205,用于根据所述资源配置策略为所述游戏应用程序分配系统资源。可选的,所述场景识别模块1203,包括:类型获取单元,用于获取所述游戏应用程序对应的游戏类型;场景预测单元,用于将所述游戏类型和所述游戏截图输入所述游戏场景识别模型,得到所述游戏场景识别模型输出的所述游戏场景;所述策略确定模块1204,用于:根据所述游戏类型以及所述游戏场景,确定所述游戏场景对应的所述资源配置策略;其中,所述游戏类型包括如下至少一种:fps、tps、moba、卡牌游戏、竞速游戏、音乐游戏、模拟经营游戏、avg、ftg、rpg和沙盒游戏。可选的,所述装置,还包括:第一获取模块,用于获取当前剩余电量以及所述游戏应用程序的应用程序大小,所述应用程序大小用于指示所述游戏应用程序所占的存储空间;所述策略确定模块1204,还用于:将所述当前剩余电量、所述应用程序大小、所述游戏类型以及所述游戏场景输入资源配置模型,得到所述资源配置模型输出的所述资源配置策略。可选的,所述装置还包括:第二获取模块,用于获取所述游戏应用程序的应用标识;检测模块,用于检测所述应用标识是否属于预设游戏列表,所述预设游戏列表中包含目标游戏应用程序的标识,所述目标游戏应用程序在运行过程中通过与操作系统之间的数据通道向发送场景信息,所述操作系统用于根据所述场景信息指示的所述游戏场景确定所述资源配置策略;所述截图模块1202,用于若所述应用标识不属于所述预设游戏列表,则执行所述对游戏画面进行截图,得到游戏截图的步骤。可选的,所述装置还包括:样本截图模块,用于当接收到所述目标游戏应用程序发送的所述场景信息时,对所述目标游戏应用程序的当前游戏画面进行截图,得到样本游戏截图;训练模块,用于根据所述场景信息指示的所述游戏场景以及所述样本游戏截图,通过反向传播算法对所述游戏场景识别模型进行训练。可选的,所述截图模块1202,包括:控件显示单元,用于在所述游戏画面上层显示加速控件;截图单元,用于当接收到对所述加速控件的触发信号时,对所述游戏画面进行截图,得到所述游戏截图;所述装置还包括:定时识别模块,用于每隔预定时间间隔识别当前游戏画面对应的当前游戏场景;策略重置模块,用于若所述当前游戏场景发生变化,则重新确定所述当前游戏场景对应的所述资源配置策略。可选的,所述系统资源的资源类型包括cpu资源、gpu资源、磁盘资源、内存资源和网络资源中的至少一种。综上所述,本申请实施例中,游戏应用程序运行过程中,通过对游戏画面进行截图,并通过预先训练得到的游戏场景识别模型对游戏截图进行识别,确定游戏画面对应的游戏场景,从而根据该游戏场景对应的资源配置策略为游戏应用程序分配系统资源,进而优化游戏应用程序在不同游戏场景下的性能以及功耗;本申请实施例提供的资源配置方法中,游戏应用程序无需接入终端操作系统,终端操作系统也能够智能分析出当前所处的游戏场景,从而免去了在游戏应用程序与操作系统之间建立数据通道的过程,并有助于提高操作系统的安全性。本实施例中,考虑到不同类型游戏具有不同的游戏画面特征,通过将当前游戏应用的游戏类型以及游戏截图一同输入游戏场景识别模型,得到游戏场景识别模型输出的游戏场景,提高了游戏场景识别的准确性。同时,考虑到不同类型游戏对系统资源的不同需求,根据当前游戏应用的游戏类型以及当前所处的游戏场景,确定游戏场景对应的资源配置策略,提高了确定出的资源配置策略的准确性。本实施例中,终端操作系统在接收到目标游戏应用程序上报的场景信息时,对游戏画面进行截图,从而根据游戏截图和场景信息指示的游戏场景对游戏场景识别模型进行反向传播训练,以此提高游戏场景识别模型的识别准确性。本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的资源配置方法。本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的资源配置方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1