CN116077943A - 调度系统资源的方法及相关装置 - Google Patents
调度系统资源的方法及相关装置 Download PDFInfo
- Publication number
- CN116077943A CN116077943A CN202210937068.7A CN202210937068A CN116077943A CN 116077943 A CN116077943 A CN 116077943A CN 202210937068 A CN202210937068 A CN 202210937068A CN 116077943 A CN116077943 A CN 116077943A
- Authority
- CN
- China
- Prior art keywords
- game
- configuration item
- configuration
- parameter value
- configuration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000008859 change Effects 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims description 74
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 23
- 238000004458 analytical method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000010295 mobile communication Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种调度系统资源的方法及相关装置,有利于终端系统实时感知游戏配置的更改,及时为用户提供系统资源调度策略,提高用户的使用体验。该方法包括:本地存储的游戏应用的游戏配置信息,游戏配置信息包括游戏应用中的一个或多个配置项以及每个配置项对应的参数值;获取目标配置项及其对应的参数值,目标配置项是监控到的游戏配置信息中参数值发生变化的配置项;基于目标配置项及其对应的参数值,为游戏应用调度系统资源。
Description
技术领域
本申请涉及终端领域,尤其涉及一种调度系统资源的方法及相关装置。
背景技术
随着移动端游戏市场的进一步扩大,不同类型的游戏层出不穷,不同游戏内的设置选项也不尽相同。相应地,更多玩家对终端设备的游戏体验提出了更差异化的需求。
不同用户根据自身喜好、需求的不同会对游戏配置进行不同的设置。目前,已有一些服务于游戏场景优化的方案,在这些方案中,包括单一游戏厂商与单一终端厂商合作的游戏优化平台,该游戏优化平台可以根据游戏场景和运行状态的不同,使用不同策略调度系统资源,开发者通过该游戏优化平台提供的应用程序编程接口(applicationprogramming interface,API)可实现向终端系统发送游戏数据。此外,还有一些游戏厂商的游戏优化平台连接了游戏和终端系统,上层和各个游戏应用统一对接,底层和不同的终端厂商的终端进行对接,提供了统一的游戏性能优化方案。
在上述方案中,用户在游戏内更改了某项游戏配置之后,游戏应用通过已有的游戏优化平台提供的API将更改的游戏配置发送给系统资源调度器。但是,仅有部分协商的配置项的更改可以通过游戏优化平台提供的API被终端系统感知,终端系统无法实时感知游戏应用所有的配置项的参数值的更改,可能无法准确地为用户提供系统资源调度策略,从而降低了用户的使用体验。
发明内容
本申请提供一种调度系统资源的方法及相关装置,有利于终端系统实时感知游戏应用所有的配置项的参数值的更改,准确地为用户提供系统资源调度策略,提高用户的使用体验。
第一方面,提供了一种调度系统资源的方法,该方法包括:监控本地存储的游戏应用的游戏配置信息,游戏配置信息包括游戏应用中的一个或多个配置项以及每个配置项对应的参数值;获取目标配置项及其对应的参数值,目标配置项是监控到的游戏配置信息中参数值发生变化的配置项;基于目标配置项及其对应的参数值,为游戏应用调度系统资源。
在终端设备中安装的游戏应用具有游戏配置信息,游戏配置信息可以在终端设备的本地存储。游戏配置信息包括一个或多个配置项,例如,帧率、分辨率、相机高度等信息。用户可以在游戏应用内设置配置项,例如,将帧率设置为“超高”,将分辨率设置为“超高”,将相机高度设置为“标准”。
在本申请中,终端设备可以在游戏运行的生命周期内实时监控本地存储的游戏配置信息,游戏应用的任何配置项的参数值的更改都会被终端设备的系统感知,这样,终端设备可以及时获取到参数值发生变化的目标配置项,这样终端设备可以更加准确地根据目标配置项及其对应的参数值为游戏应用调度合适的系统资源,满足用户的需求,提高用户的使用体验。
结合第一方面,在第一方面的某些实现方式中,获取目标配置项及其对应的参数值,包括:若监控到游戏应用中的至少一个配置项对应的参数值发生变化,确定参数值发生变化的配置项为目标配置项;确定目标配置项在本地的文件路径和文件名;基于目标配置项在本地的文件路径和文件名,获取目标配置项及其对应的参数值。
在本申请中,终端设备在监控到有至少一个配置项对应的参数值发生变化的情况下,将参数值发生变化的配置项确定为目标配置项,之后获取目标配置项的文件路径和文件名以便根据该文件路径找到存储该目标配置项的位置,根据文件名在该位置下找到该目标配置项,从而终端设备可以从存储有目标配置项及其参数值的文件中读取目标配置项及其参数值。
结合第一方面,在第一方面的某些实现方式中,基于目标配置项在本地的文件路径和文件名,获取目标配置项及其对应的参数值,包括:基于目标配置项在本地的文件路径和文件名,获取目标配置项及其对应的参数值的密文;根据预存储的映射信息查找与密文对应的明文,得到目标配置项及其对应的参数值。
在本申请中,终端设备从本地获取的是目标配置项及其参数值的密文,因此,终端设备需要基于预存储的映射信息对密文进行解密,得到对应的明文,这样终端设备可以基于目标配置项及其预设值的明文进行系统资源调度。
结合第一方面,在第一方面的某些实现方式中,监控本地存储的游戏应用的游戏配置信息,包括:基于游戏应用的游戏配置信息中每个配置项在本地的文件路径和文件名,轮询游戏应用的每个配置项的文件属性信息,以对游戏配置信息进行监控。
在本申请中,终端设备可以轮询的方式监听游戏应用在本地的根目录下的游戏配置信息中每个配置项的配置文件,如果哪个配置文件发生变化,终端设备可以从发生变化的配置文件中读取记录的配置项及其对应的参数值。
结合第一方面,在第一方面的某些实现方式中,在监控本地存储的游戏应用的游戏配置信息之前,该方法还包括:启动游戏应用;注册事件回调,事件回调用于在监控到游戏应用中的至少一个配置项的参数值发生变化时返回事件通知,以通知目标配置项在本地存储的文件路径和文件名。
在本申请中,注册事件回调包括注册游戏应用的游戏配置信息获取事件的回调,在注册事件回调之后,若终端设备监控到游戏应用中的至少一个配置项的参数值发生变化便可以返回事件通知,得到目标配置项的文件路径和文件名。
结合第一方面,在第一方面的某些实现方式中,在注册事件回调之后,该方法还包括:基于事件回调,创建监控线程,监控线程用于监控游戏配置信息。
结合第一方面,在第一方面的某些实现方式中,在监控本地存储的游戏应用的游戏配置信息之前,创建监控线程之后,该方法还包括:获取游戏配置信息;基于游戏配置信息为游戏应用调度系统资源。
在本申请中,终端设备在游戏启动时,根据本地存储的游戏配置信息进行加载,此时用户还未对游戏配置信息中的配置项进行更改,终端设备基于初始的游戏配置信息为游戏应用调度系统资源。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:确定游戏配置信息中的一个或多个配置项在本地的文件路径、文件名、解码方法以及每个配置项对应的明文,所述解码方式用于对每个配置项及其对应的参数值的密文进行解码。
在本申请中,文件路径、文件名、解码方法以及每个配置项的参数值对应的明文是通过离线分析存储在终端设备中的,在游戏应用的运行生命周期内终端设备可以基于上述信息对游戏配置信息进行解析。
第二方面,提供一种调度系统资源的装置,包括:用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
第三方面,提供了另一种调度系统资源的装置,包括处理器和存储器,该处理器与存储器耦合,该存储器可用于存储计算机程序,该处理器可用于调用并执行存储器中的计算机程序,以实现上述第一方面中任一种可能实现方式中的方法。
在一种实现方式中,该调度系统资源的装置为终端设备。当该调度系统资源的装置为终端设备时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该调度系统资源的装置为配置于终端设备中的芯片。当该调度系统资源的装置为配置于终端设备中的芯片时,通信接口可以是输入/输出接口。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请对处理器及各种电路的具体实现方式不作限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不作限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当该计算机程序代码被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例适用的一种终端设备的结构示意图;
图2是本申请实施例适用的终端设备的一种软件结构框图;
图3是本申请实施例提供的一种调度系统资源的方法的示意性流程图;
图4是本申请实施例提供的一种调用系统资源的框架的示意图;
图5是本申请实施例提供的另一种调度系统资源的方法的示意性流程图;
图6是本申请实施例提供的再一种调度系统资源的方法的示意性流程图;
图7是本申请实施例的一种确定配置项的文件路径和文件名的示意图;
图8是本申请实施例提供的一种调用系统资源的装置的示意性框图;
图9是本申请实施例提供的另一种调用系统资源的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
图1是本申请实施例适用的一种终端设备的结构示意图。如图1所示,该终端设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在一些实施例中,终端设备100也可以包括一个或多个处理器110。其中,处理器可以是终端设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了终端设备100的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,MicroUSB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系为示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端设备100通过GPU、显示屏194以及应用处理器等可以实现显示功能。应用处理器可以包括NPU和/或DPU。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。DPU也称为显示子系统(display sub-system,DSS),DPU用于对显示屏194的色彩进行调整,DPU可以通过颜色三维查找表(3D look up table,3D LUT)对显示屏的色彩进行调整。DPU还可以对画面进行缩放、降噪、对比度增强、背光亮度管理、hdr处理、显示器参数Gamma调整等处理。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantum dot lightemitting diodes,QLED)。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及应用处理器等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得终端设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备100执行各种功能应用及数据处理。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放、录音等。其中,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”或“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端设备100可以设置至少一个麦克风170C。在另一些实施例中,终端设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,还可以是美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明终端设备100的软件结构。
图2是本申请实施例适用的终端设备的一种软件结构框图。分层架构将终端设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为应用程序层(application,APP)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图2所示,应用程序包可以包括相机、日历、地图、电话、音乐、WLAN、蓝牙、视频、社交、游戏等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括窗口管理器、内容提供器、系统资源调度器、通知管理器、视图系统、游戏配置信息监控服务等。
游戏配置信息监控服务用于在游戏运行生命周期内对游戏配置信息实现实时监控。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。
视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
系统资源调度器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
示例性地,系统资源调度器可以为游戏应用提供与游戏应用的配置项对应的系统资源,例如中央处理单元(central processing unit,CPU)、图形处理器(graphicsprocessing unit,GPU)、双倍速率同步动态随机存储器(double data rate synchronousdynamic random access memory,DDR)、缓存(cache)、输入输出(input output,IO)、表面视图(SurfaceView)、温升调节(Thermal)、屏幕分辨率、屏幕刷新率、触控、音量、亮度、网络等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备100振动,指示灯闪烁等。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动、音频驱动、蓝牙驱动、无线保真(wireless fidelity,Wi-Fi)驱动等,本申请实施例对此不作限定。示例性地,本申请实施例中,内核层采用显示驱动和音频驱动以驱动终端设备100中的显示屏194和扬声器170A实现视频播放。
本申请实施例的终端设备可以是具有无线连接功能的手持式设备、车载设备等,该终端设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、智能电视、笔记本电脑、平板电脑(Pad)、掌上电脑、移动互联网设备(mobile internet device,MID)、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的终端设备等,本申请的实施例对终端设备所采用的具体技术和具体设备形态不作限定。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
应理解,本申请实施例中,终端设备可以是用于实现终端设备功能的装置,也可以是能够支持终端设备实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
终端设备通过游戏厂商提供的游戏配置信息对于游戏厂商而言是白盒状态,但对于终端厂商而言是黑盒状态。在目前已有的移动游戏终端技术优化方案中,要么是由某些游戏厂商与某些终端厂商合作,游戏厂商在特定场景下向合作的终端厂商发送游戏应用的游戏配置信息,例如,当用户在游戏应用内更改了某项游戏配置之后,游戏应用通过游戏优化平台提供的API将更改的游戏配置发送给系统资源调度器,这种方式下会区分不同终端厂商的终端设备和游戏厂商的游戏应用,无法做到普适性。并且,终端系统只能感知到部分协商的配置项的参数值的变化,无法感知到所有配置项的参数值的变化,这样可能无法准确地为用户提供系统资源调度策略,从而降低了用户的使用体验。
有鉴于此,本申请实施例提供一种调度系统资源的方法及相关装置,终端设备可以在游戏运行的生命周期内通过监控本地存储的游戏配置信息,实时感知任何参数值发生变化的目标配置项的配置文件的变化,根据目标配置项及其对应的参数值准确地为游戏应用调度合适的系统资源,提高用户的使用体验。
本申请实施例的调度系统资源的方法可以适用于不同游戏厂商的不同游戏应用,可以及时准确地将游戏配置信息通知到终端设备的系统中。同时,允许终端设备的系统开发者依据获取的游戏配置信息精细化地定制多种系统资源调度策略,并在实际游戏运行过程中根据用户设置调度合适的系统资源,为用户带来更好的游戏体验。
图3是本申请实施例提供的一种调度系统资源的方法300的示意性流程图。方法300的步骤可以由终端设备执行,终端设备可以具有如图1和/或图2所示的结构,本申请实施例对此不作限定。方法300包括S301至S303,具体步骤如下:
S301,监控本地存储的游戏应用的游戏配置信息,游戏配置信息包括游戏应用中的一个或多个配置项以及每个配置项对应的参数值。
示例性地,游戏A的游戏配置信息包括帧率、分辨率、相机高度、抗锯齿、动态分辨率、画面总质量、画面模式选择、高动态范围成像(high dynamic range imaging,HDR)特效亮度、水面反射效果等配置项。
响应于用户打开游戏A的操作,终端设备启动游戏A,在游戏A的设备界面用户可以自定义配置项,设置配置项的参数值,应理解的是,在用户界面,配置项对应的参数值对用户是明文显示的。
例如,帧率有“节能”、“高”、“超高”、“极高”四个选项,用户可以设置帧率为“超高”;分辨率有“节能”、“高”、“超高”三个选项,用户可以设置分辨率为“超高”;用户可以设置相机设置抗锯齿为“开启”,动态分辨率为“关闭”;画面总质量有“节能”、“流畅”、“标准”、“高清”、“极致”、“自定义”六个选项用户可以设置画面总质量为“标准”;画面模式选择有“流畅优先”和“效果优先”两个选项,用户可以设置画面模式选择为“流畅优先”;HDR特效亮度可调节,用户可以调节至期望的明亮程度;用户可以设置水面反射效果为“关闭”。
S302,获取目标配置项及其对应的参数值,目标配置项是监控到的游戏配置信息中参数值发生变化的配置项。
用户在玩游戏的过程中可能会改变游戏应用的配置项的参数值,例如,用户需要改变画面总质量,将原来的“标准”更改为“极致”。当用户在游戏应用的设置界面改变某个配置项的参数值之后,在终端设备的本地存储的该配置项的配置文件也被改写。由于终端设备持续监控游戏应用的游戏配置信息,因此当监控到目标配置项的配置文件有变化时,终端设备便可以获取目标配置项及其对应的参数值以进行系统资源调度。
S303,基于目标配置项及其对应的参数值,为游戏应用调度系统资源。
由于目标配置项的参数值发生了变化,因此终端设备需要基于目标配置项及其变化后的参数值为游戏应用提供满足用户需求的系统资源。
在本申请实施例中,终端设备可以在游戏运行生命周期内实时监控本地存储的游戏配置信息的变化,及时地感知到游戏的任何配置项的参数值的变化,根据配置项的参数值的变化准确地为游戏应用调度合适的系统资源,满足用户的需求,提高用户的使用体验。
图4是本申请实施例提供的一种调用系统资源的框架400的示意图。如图4所示,框架400包括游戏应用、本地存储模块、系统资源调度器、游戏配置信息监控服务。其中,游戏配置信息监控服务包括注册管理模块、监控模块以及解析模块。
其中,注册管理模块用于对外提供服务订阅接口,具备白名单检测能力,白名单中包括支持的可以优化的游戏应用。系统任务1(如系统资源调度器)可通过该接口向游戏配置信息监控服务注册“游戏A的游戏配置信息获取”事件的回调1。注册管理模块在接收到系统任务1的注册请求时,会进行白名单检测,判断游戏A是否在支持游戏列表内。若在支持游戏列表内,则注册管理模块通知监控模块进行下一步操作;若不再支持游戏列表内,则直接返回注册请求失败。当“游戏A的游戏配置信息获取”事件触发时,注册管理模块通过回调1通知系统任务1(如系统资源调度器)。
监控模块拥有单独的线程,存储有离线分析的所有支持游戏的配置文件的文件路径和文件名。所有支持游戏的配置文件存储在终端设备本地,监控模块主要负责持续监控本地存储的游戏应用的配置文件的变化,并在感知到针对配置文件的操作时触发“游戏A的游戏配置信息获取”事件,通知解析模块进行下一步操作。
示例性地,监控模块使用时间监控工具(inotify)机制监控文件系统的操作。inotify机制是一个Linux特性,可以监控文件系统的操作,例如创建、写入、读取、删除、移动等各种操作。inotify机制可以被用于监控单独的文件,或者控件目录。当监控一个目录时,inotify将返回目录本身的事件以及目录内的文件的事件。
应理解的是,一个游戏应用有至少一个配置项,每个配置项对应一个配置文件,一个配置文件中包括对应的配置项及其参数值。监控游戏应用的配置文件的变化,可以理解为监控游戏应用的配置文件中的配置项的参数值的变化。
解析模块由监控模块调用,用于根据离线分析的游戏应用的配置项与明文内容的对照数据对支持游戏的配置文件进行解析,并将解析出的游戏配置信息发送给注册管理模块。
下面基于图4所示的框架,介绍用户在启动游戏应用时终端设备内部的系统资源调度过程。
图5是本申请实施例提供的另一种调度系统资源的方法500的示意性流程图。方法500包括S501至S510,具体步骤如下:
S501,响应于用户的打开游戏应用的操作,启动游戏应用,游戏应用从本地存储模块中加载游戏配置信息。
示例性地,终端设备响应于用户打开游戏应用的操作,从本地加载游戏数据,显示登陆用户中心,之后执行登陆游戏服务器、创建角色、登陆角色、进入游戏的操作。
如本地的游戏帧率配置为30帧/秒(frames per second,FPS),则游戏应用启动后默认的帧率配置即为30FPS。
S502,系统资源调度器接收启动通知,感知游戏应用启动。
终端设备可以采用监听的方式在活动管理服务(activity manager service,AMS)中设置一个监听任务,在用户启动游戏应用之后游戏应用可以通过AMS向系统资源调度器发送启动通知。系统资源调度器基于该通知为游戏应用提供系统资源保障游戏的快速加载启动。
S503,在感知到游戏应用启动之后,系统资源调度器向注册模块注册事件回调。
系统资源调度器可以通过注册管理模块提供的服务订阅接口注册“游戏应用的配置信息获取”事件的回调。
S504,注册管理模块向监控模块发送监控任务,该监控任务用于指示监控模块监控在本地存储模块中存储的游戏应用的游戏配置信息。
注册管理模块在接收到系统资源管理器的注册请求后,对游戏应用进行白名单检测。若游戏应用在支持游戏列表内,则注册管理模块通知监控模块监控存储在本地的游戏应用的游戏配置信息。
S505,监控模块基于监控任务,创建监控游戏配置信息的线程。
监控模块中存储有游戏配置信息中的一个或多个配置项在本地的文件路径和文件名,这样,监控模块可以在已知的文件路径下监控与文件名对应的一个或多个配置项。也即,监控模块知道在哪里(文件路径)监控哪些文件(文件名)。
S506,在成功创建监控游戏配置信息的线程之后,监控模块通知解析模块触发第一次事件回调。
若监控模块成功创建监控游戏配置信息的线程,则触发游戏应用启动后的第一次“游戏配置信息获取”事件。若未成功创建监控游戏配置信息的线程,则监控模块通知注册管理模块监控线程创建失败。
可选地,监控模块还可以向解析模块通知游戏配置信息中的一个或多个配置项在本地的文件路径和文件名。
S507,解析模块基于游戏配置信息中每个配置项的文件路径和文件名,获取游戏配置信息的密文。
当触发“游戏配置信息获取”事件之后,解析模块获取游戏配置信息中的所有配置项在本地的文件路径和文件名,并基于游戏配置信息中每个配置项的文件路径和文件名,从本地读取游戏配置信息的密文。
应理解的是,不同游戏应用的配置文件的类型不尽相同,常见的文件类型包括xml、bin、hex等。为了数据的安全性,本地存储的游戏配置信息经过了一层或多层加密编码,解析模块得到的是游戏配置信息的密文,不具备可读性,因此解析模块需要对加密编码后的密文进行解码,得到具有可读性的游戏配置信息的明文,也即游戏配置信息中的每个配置项及其对应的参数值的明文。
示例性地,配置文件的文件格式为json,在对该类型的配置文件进行加密编码时,首先可以对该配置文件中的配置项及其对应的参数值添加转义字符,之后转为json文件格式,接着再使用统一资源定位符(uniform resource locator,URL)编码函数(urlencode)以对配置文件中的中文或者特殊字符进行转换,最后再将URL编码后的配置文件转为xml文件格式。
S508,解析模块对游戏配置信息的密文进行解析,得到游戏配置信息明文。
在本步骤中,解析模块对游戏配置信息的密文进行解析,包括根据预存储的映射信息对游戏配置信息的密文进行解码得到具有可读性的明文,以及得到与游戏配置信息包括的至少一个配置项及其参数值对应的明文内容。
结合S507中的编码的示例,相应地,在对游戏配置信息进行解码时,解析模块首先使用urldecode函数对xml文件格式的配置文件进行URL解码,之后再将URL解码后的配置文件的文件格式转为json,接着对json文件格式的配置文件进行去转义字符的操作,得到解密后的文件格式为Json的配置文件。
其中,编码方法和解码方法可以根据离线分析确定,加密方法和解密方法相对应,例如,从json、添加转义字符、json、URL编码(urlencode)直至xml为离线确定的编码方法,相应地,从xml、URL解码(urldecode)、json、去转义字符直至json为离线确定的解码方法。
在解码后虽然得到具有可读性的游戏配置信息的明文,但是可能仍然无法确定明文中的哪个字符串具体代表哪个配置项。例如,以图像质量为例,图像质量这一配置项包括“极低”、“低”、“中”、“高”、“极高”、“自定义”六个选项。解码后的得到的游戏配置信息中包括多个字符串及其设置的参数,其中的字符串“currentVolatieGrade”对应设置的参数值为-1,解析模块需要确定“currentVolatieGrade”对应的是“图像质量”这一配置项,参数值“-1”对应的是“自定义”这一选项。
因此,在离线分析阶段,终端设备确定每个配置项及其对应的参数值唯一对应的明文内容,以配置项“currentVolatieGrade:-1”为例,其唯一对应的明文内容即为“图像质量:自定义”。
S509,解析模块向注册管理模块返回游戏配置信息的明文。
S510,注册管理模块向系统资源调度器返回游戏配置信息的明文。
系统资源调度器在接收到游戏配置信息的明文之后,为游戏应用调度系统资源。
例如,系统资源调度器确定屏幕触控设置为“高”,因此系统资源调度器可以提高屏幕的触控采样率和触控报点率,以增加单位时间内采集和上报的数据,提高触控的灵敏度。
例如,系统资源调度器确定屏幕刷新率设置为“高”,因此系统资源调度器可以为游戏应用分配更多的CPU资源和GPU资源以提高游戏过程中画面的绘制效率。
在本申请实施例中,在一个游戏应用刚启动之后,游戏应用从本地加载游戏配置信息,系统资源调度器可以向注册管理模块注册“游戏配置信息获取”事件的回调,通过监控模块创建监控本地存储的游戏配置信息的线程,在监控线程创建成功之后,触发游戏应用在一个游戏生命周期内的第一次“游戏配置信息获取”事件,解析模块对游戏配置信息进行解析,之后通过注册管理模块向系统资源调度器返回解析后的游戏配置信息以进行系统资源调度。
在游戏启动后运行的过程中,用户可能在游戏内对某个配置项进行更改,例如,将图像质量由“自定义”调整为“高”。在游戏配置信息有变化时系统资源调度器需要根据游戏配置信息的变化调整系统资源。
图6是本申请实施例提供的再一种调度系统资源的方法600的示意性流程图。方法600包括S601至S607,具体步骤如下:
S601,用户更改游戏内设置时,游戏配置信息发生变化,本地存储模块更新本地存储的游戏配置信息。
S602,监控模块感知到配置文件发生变化,确定发生变化的配置文件中记录的配置项为目标配置项,目标配置项的参数值发生变化引起目标配置文件发生变化。
在本步骤中,配置文件发生变化,可以包括该配置文件中记录的配置项的参数值发生变化。例如,在游戏内,图像质量由“自定义”调整为“高”,则图像质量为目标配置项,配置文件内图像质量的参数值由“-1”变为“4”。
由于监控模块持续在监控本地存储的游戏配置信息,因此,任何针对游戏应用的配置文件的操作监控模块都可以感知到。一旦感知到配置文件发生变化,监控模块触发“游戏配置信息获取”事件。
示例性地,监控模块采用inotify监控游戏配置信息,根据游戏配置信息中每个配置项在本地的文件路径和文件名,轮询游戏应用的每个配置项的文件属性信息,以对游戏配置信息进行监控。
用户在游戏应用内设置配置项时,游戏应用可以对本地存储的配置文件进行操作,更改配置文件中记录的配置项的参数值,进而配置文件的文件属性信息会有变化。因此,监控模块监控每个配置项的配置文件的文件属性信息即可监控到游戏应用中的至少一个配置项对应的参数值发生变化。
S603,监控模块通知解析模块触发事件回调。
应理解的是,此次事件回调用于在游戏应用中的至少一个配置项的参数值发生变化时返回事件通知,以通知目标配置项在本地的文件路径和文件名。
监控模块在知道目标配置项的配置文件发生变化后,触发事件回调,通知解析模块对目标配置项的配置文件进行解析。
可选地,监控模块确定目标配置项在本地的文件路径和文件名,并将目标配置项的配置文件的文件路径和文件名发送给解析模块。
S604,解析模块基于目标配置项在本地的文件路径和文件名,获取目标配置项所在配置文件的密文。
在本步骤中,获取目标配置项所在配置文件的密文,可以理解为获取目标配置项及其对应的参数值的密文。
S605,解析模块对目标配置项所在配置文件的密文进行解析,得到目标配置项及其对应的参数值的明文。
对目标配置项及其对应的参数值的密文进行解析的过程可参照上文针对S508的描述,具体包括根据预存储的映射信息对目标配置项及其对应的参数值的密文进行解码得到具有可读性的明文,以及得到与目标配置项及其参数值对应的明文内容。
S606,解析模块向注册模块返回目标配置项及其对应的参数值的明文。
S607,注册管理模块向系统资源调度器返回目标配置项及其对应的参数值的明文。
在本申请实施中,用户在游戏应用内修改设置时会导致本地存储的游戏配置信息发生变化,监控模块在感知到变化时即可将发生变化的目标配置项及其对应的参数值返回给系统资源调度器,从而系统资源调度器可以实时根据游戏配置信息的变化动态调整系统资源,有利于为用户提高更加及时准确的游戏服务,提高游戏体验。
在上面的实施例中需要用到预存储的映射信息确定解码方法以及配置项及其参数值对应的明文内容。下面将介绍离线分析得到映射信息的过程。
为了在游戏运行生命周期内对游戏配置信息实现实时监控,开发人员需要在终端设备出厂前通过离线分析的方法,获取游戏配置信息中每个配置项的文件路径、文件名、解码方法以及与明文内容匹配的对照数据这四项信息。具体包括如下步骤:
(1)游戏选取:通常选取热门游戏,例如,在应用商城中下载量排名前10的游戏应用。
(2)确定每个配置项的文件路径和文件名:
以一个游戏应用为例,开发人员可以在游戏应用内将“渲染精度”设置为“中”。应理解,在设置配置项“渲染精度”为“中”之后,本地存储的配置项“渲染精度”的配置文件被更改,开发人员可以确定数据发生变化的配置文件。
图7是本申请实施例的一种确定配置项的文件路径和文件名的示意图。
如图7中的A所示,游戏目录1包括配置文件1、配置文件2、配置文件3、配置文件4以及配置文件5。示例性地,在设置配置项“渲染精度”设置为“中”之后,游戏目录1下的配置文件1、配置文件2以及配置文件3的数据可能都发生了变化,但是一个配置项只对应一个配置文件,因此,开发人员继续设置配置项“渲染精度”。
开发人员在游戏应用内设置配置项将“渲染精度”设置为“高”。在设置配置项“渲染精度”为“高”之后,本地存储的“渲染精度”的配置文件再次被更改,开发人员可以确定被更改的配置文件。
如图7中的B所示,示例性地,在设置配置项“渲染精度”设置为“高”之后,经过比较,只有游戏目录1下的配置文件1的数据发生了变化,其他的配置文件的数据未发生变化,因此,开发人员确定配置文件1所在的路径为配置项“渲染精度”的文件路径,配置文件1的文件名为配置项“渲染精度”的文件名。
游戏应用的其他配置项的文件路径和文件名可以采用类似的方式确定,直至游戏应用的所有配置项对应唯一的文件路径和文件名。
在得到每个配置项的文件路径和文件名之后,将每个配置项的文件路径和文件名存储至监控模块中以便之后对游戏应用的游戏配置信息进行监控。
(3)确定配置文件解码成明文的方法:
不同游戏的配置文件的类型多种多样,配置文件里的内容普遍是经过一层或多层加密编码后的密文,不具备可读性,所以需要对其进行解码,得到配置项及其对应的参数值的明文,以便可以续可供匹配对照。解码需要具备编解码、密码学等相关知识和经验,可采用常用的文件编解码方式进行加解密,本申请实施例对此不作限定。
(4)确定每个配置项与明文内容匹配的对照数据:
与步骤(2)中确定每个配置项的文件路径和文件名类似,开发人员可以通过在游戏应用内设置配置项来确定每个配置项与明文内容匹配的对照数据。
例如,开发人员设置配置项“图像质量”为“极低”,使用解码方法对本地存储的“图像质量”及其对应的参数值进行解码,得到解码后的配置项“图像质量”的第一明文内容。
开发人员继续设置配置项“图像质量”为“低”,使用解码方法对本地存储的“图像质量”及其对应的参数值进行解码,得到解码后的配置项“图像质量”的第二明文内容。
比较第一明文内容和第二明文内容的差异,例如,第一明文内容中的“currentVolatieGrade:1”对应配置项“图像质量”,参数值“1”对应的“极低”。第二明文内容中的“currentVolatieGrade:2”对应配置项“图像质量”,参数值“2”对应的“低”。
开发人员继续设置配置项“图像质量”剩下的所有选项,如依次将“图像质量”设置为“中”、“高”、“极高”以及“自定义”,确定与配置项“currentVolatieGrade”对应的明文内容以及与配置项“currentVolatieGrade”的所有参数值对应的明文内容。
游戏应用的其他配置项对应的明文内容以及其他配置项的所有参数值对应的明文内容采用类似的方式确定,直至游戏应用的所有配置项的所有参数值对应唯一的明文内容,最终形成每个配置项与明文内容匹配的对照数据,如下表一所示。
表一
表一示出了映射信息,其中包括游戏应用的文件路径:/data/data/com.xxx/yyy.xml,文件格式为xml,解码方式为xml->URL解码->json->去转义字符->json,并示出了与配置项及其参数值对应的明文内容。
例如,“currentVolatieGrade”对应的明文内容为“图像质量”,“currentVolatieGrade”的参数值为“1”时,参数值“1”对应的明文内容为“极低”。
又例如,“customVolatileGrades”对应的明文内容为“自定义”,“customVolatileGrades”的参数值为“1”时,参数值“1”对应的配置项的明文内容为“帧率”,配置项“帧率”的参数值为“3”时,参数值“3”对应的明文内容为24FPS。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图7,详细描述了根据本申请实施例的调度系统资源的方法,下面将结合图8和图9详细描述根据本申请实施例的调度系统资源的装置。
图8示出了本申请实施例提供的一种调度系统资源的装置800的示意性框图,装置800包括处理模块810和获取模块820。
其中,处理模块用于810:监控本地存储的游戏应用的游戏配置信息,游戏配置信息包括游戏应用中的一个或多个配置项以及每个配置项对应的参数值。获取模块820用于:获取目标配置项及其对应的参数值,目标配置项是监控到的游戏配置信息中参数值发生变化的配置项。处理模块用于810还用于:基于目标配置项及其对应的参数值,为游戏应用调度系统资源。
可选地,处理模块用于810:若监控到游戏应用中的至少一个配置项对应的参数值发生变化,确定参数值发生变化的配置项为目标配置项;以及,确定目标配置项在本地的文件路径和文件名。获取模块820用于:基于目标配置项在本地的文件路径和文件名,获取目标配置项及其对应的参数值。
可选地,获取模块820用于:基于目标配置项在本地的文件路径和文件名,获取目标配置项及其对应的参数值的密文;以及,根据预存储的映射信息查找与密文对应的明文,得到目标配置项及其对应的参数值。
可选地,处理模块用于810:基于游戏应用的游戏配置信息中每个配置项在本地的文件路径和文件名,轮询游戏应用的每个配置项的文件属性信息,以对游戏配置信息进行监控。
可选地,处理模块用于810:启动游戏应用;以及,注册事件回调,事件回调用于在监控到游戏应用中的至少一个配置项的参数值发生变化时返回事件通知,以通知目标配置项在本地的文件路径和文件名。
可选地,处理模块用于810:基于事件回调,创建监控线程,监控线程用于监控游戏配置信息。
可选地,获取模块820用于:获取游戏配置信息。处理模块用于810:基于游戏配置信息为游戏应用调度系统资源。
可选地,处理模块用于810:确定游戏配置信息中的一个或多个配置项在本地的文件路径、文件名、解码方法以及每个配置项对应的明文信息,解码方式用于对每个配置项及其对应的参数值的密文进行解码。
在一个可选的例子中,本领域技术人员可以理解,装置800可以具体为上述实施例中的终端设备,或者,上述实施例中终端设备的功能可以集成在装置800中。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。装置800可以用于执行上述方法实施例中与终端设备对应的各个流程和/或步骤。
应理解,这里的装置800以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在本申请的实施例,图8中的装置800也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。
图9示出了本申请实施例提供的另一种调度系统资源的装置900的示意性框图。该装置900包括处理器910、收发器920和存储器930。其中,处理器910、收发器920和存储器930通过内部连接通路互相通信,该存储器930用于存储指令,该处理器910用于执行该存储器930存储的指令,以控制该收发器920发送信号和/或接收信号。
应理解,装置900可以用于执行上述方法实施例中与终端设备对应的各个步骤和/或流程。可选地,该存储器930可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器910可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与终端设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器910可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时可实现上述任一方法实施例中终端设备所执行的方法。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时可实现上述任一方法实施例中终端设备所执行的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种调度系统资源的方法,其特征在于,包括:
监控本地存储的游戏应用的游戏配置信息,所述游戏配置信息包括所述游戏应用中的一个或多个配置项以及每个配置项对应的参数值;
获取目标配置项及其对应的参数值,所述目标配置项是监控到的所述游戏配置信息中参数值发生变化的配置项;
基于所述目标配置项及其对应的参数值,为所述游戏应用调度系统资源。
2.根据权利要求1所述的方法,其特征在于,所述获取目标配置项及其对应的参数值,包括:
若监控到所述游戏应用中的至少一个配置项对应的参数值发生变化,确定参数值发生变化的配置项为所述目标配置项;
确定所述目标配置项在本地的文件路径和文件名;
基于所述目标配置项在本地的文件路径和文件名,获取所述目标配置项及其对应的参数值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标配置项在本地的文件路径和文件名,获取所述目标配置项及其对应的参数值,包括:
基于所述目标配置项在本地的文件路径和文件名,获取所述目标配置项及其对应的参数值的密文;
根据预存储的映射信息查找与所述密文对应的明文,得到所述目标配置项及其对应的参数值。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述监控本地存储的游戏应用的游戏配置信息,包括:
基于所述游戏应用的游戏配置信息中每个配置项在本地的文件路径和文件名,轮询所述游戏应用的每个配置项的文件属性信息,以对所述游戏配置信息进行监控。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述监控本地存储的游戏应用的游戏配置信息之前,所述方法还包括:
启动所述游戏应用;
注册事件回调,所述事件回调用于在监控到所述游戏应用中的至少一个配置项的参数值发生变化时返回事件通知,以通知所述目标配置项在本地的文件路径和文件名。
6.根据权利要求5所述的方法,其特征在于,在所述注册事件回调之后,所述方法还包括:
基于所述事件回调,创建监控线程,所述监控线程用于监控所述游戏配置信息。
7.根据权利要求6所述的方法,其特征在于,在所述监控本地存储的游戏应用的游戏配置信息之前,所述创建监控线程之后,所述方法还包括:
获取所述游戏配置信息;
基于所述游戏配置信息为所述游戏应用调度系统资源。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
确定所述游戏配置信息中的一个或多个配置项在本地的文件路径、文件名、解码方法以及所述每个配置项对应的明文,所述解码方式用于对所述每个配置项及其对应的参数值的密文进行解码。
9.一种调度系统资源的装置,其特征在于,包括用于执行如权利要求1至8中任一项所述方法的模块。
10.一种调度系统资源的装置,其特征在于,包括:处理器和存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使所述装置执行如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210937068.7A CN116077943B (zh) | 2022-08-05 | 2022-08-05 | 调度系统资源的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210937068.7A CN116077943B (zh) | 2022-08-05 | 2022-08-05 | 调度系统资源的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116077943A true CN116077943A (zh) | 2023-05-09 |
CN116077943B CN116077943B (zh) | 2024-05-07 |
Family
ID=86208830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210937068.7A Active CN116077943B (zh) | 2022-08-05 | 2022-08-05 | 调度系统资源的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116077943B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118153082A (zh) * | 2024-05-11 | 2024-06-07 | 浙江辉驿网络科技有限公司 | 基于多屏数据交互的多维数据监控方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2648100A1 (en) * | 2006-04-13 | 2007-10-25 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
CN112817563A (zh) * | 2020-03-26 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 目标属性配置信息确定方法、计算机设备和存储介质 |
-
2022
- 2022-08-05 CN CN202210937068.7A patent/CN116077943B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2648100A1 (en) * | 2006-04-13 | 2007-10-25 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
CN112817563A (zh) * | 2020-03-26 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 目标属性配置信息确定方法、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118153082A (zh) * | 2024-05-11 | 2024-06-07 | 浙江辉驿网络科技有限公司 | 基于多屏数据交互的多维数据监控方法 |
CN118153082B (zh) * | 2024-05-11 | 2024-08-02 | 浙江辉驿网络科技有限公司 | 基于多屏数据交互的多维数据监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116077943B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020000448A1 (zh) | 一种柔性屏幕的显示方法及终端 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
CN110602686B (zh) | 一种使用远程sim模块的方法及电子设备 | |
WO2020024108A1 (zh) | 一种应用图标的显示方法及终端 | |
EP4293997A1 (en) | Display method, electronic device, and system | |
CN116089056B (zh) | 用于图像绘制的方法及相关装置 | |
CN116077943B (zh) | 调度系统资源的方法及相关装置 | |
WO2023160179A9 (zh) | 倍率切换方法和倍率切换装置 | |
CN116663587A (zh) | 二维码的识别方法和识别装置 | |
CN117009005A (zh) | 一种显示方法、汽车和电子设备 | |
CN114900583B (zh) | 控制视频彩振播放的方法和装置 | |
CN116095220B (zh) | 参数确定方法及相关装置 | |
CN116095224B (zh) | 通知显示方法和终端设备 | |
CN116095225B (zh) | 终端设备的图像处理方法及装置 | |
CN116048629B (zh) | 系统服务切换方法及控制装置、电子设备和存储介质 | |
CN116709584B (zh) | 连接车机的方法及终端设备 | |
CN114338922B (zh) | 视频播放方法和视频播放装置 | |
CN114125805B (zh) | 蓝牙回连方法及终端设备 | |
WO2024067037A1 (zh) | 一种服务调用方法、系统和电子设备 | |
CN116405594B (zh) | 语音通话方法及装置 | |
CN116095219B (zh) | 通知显示方法和终端设备 | |
EP4290375A1 (en) | Display method, electronic device and system | |
WO2024083031A1 (zh) | 一种显示方法、电子设备和系统 | |
CN117707659A (zh) | 息屏显示方法和终端设备 | |
CN117667506A (zh) | 一种图库克隆方法、系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |