云游戏控制方法、装置、电子设备及存储介质与流程



1.本技术涉及计算机技术领域,尤其涉及一种云游戏控制方法、装置、电子设备及存储介质。


背景技术:



2.云游戏(cloud gaming)是以云计算为基础的运行游戏的一种新方式,在云游戏模式下,游戏资源的渲染工作是在服务器端完成的,渲染后的游戏资源经过编码,再经由网络串流到游戏玩家的终端上,在终端游戏玩家不再需要高档的游戏设备,只需要基本的视频解码能力就可以进行游戏。
3.当前在单一设备上实现云游戏多路现有的技术方案是虚拟化或容器化,两者均是在单一设备上同时设置多个系统实例,每个系统实例用于传输一路云游戏。然而,由于每个系统实例均需要运行自己的各种进程,同时均需要一些必备的系统应用,甚至均需要运行独立内核,其中很多进程都是重复的,会带来了一些不小的开销,而且多个系统实例需要共用单一设备中的gpu、cpu等资源,当同时进行多路游戏时,在调度过程中也可能出现一些难以解决的问题。
4.因此,当前的单一设备实现多路云游戏的方法存在系统资源浪费和调度困难的技术问题,需要改进。
5.发明资源
6.本技术实施例提供一种云游戏控制方法、装置、电子设备及存储介质,用以缓解现有云游戏控制方案中系统资源浪费和调度困难的技术问题。
7.为解决上述技术问题,本技术实施例提供以下技术方案:
8.本技术提供一种云游戏控制方法,包括:
9.获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;
10.响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;
11.通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;
12.通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。
13.同时,本技术实施例还提供了一种云游戏控制装置,包括:
14.获取模块,用于获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;
15.确定模块,用于响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;
16.显示模块,用于通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;
17.处理模块,用于通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。
18.本技术还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的云游戏控制方法中的操作。
19.本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述云游戏控制方法中的步骤。
20.本技术提供一种云游戏控制方法、装置、电子设备及存储介质,在该方法中先获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n,然后响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组,接着通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作,最后通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。本技术通过在同一系统实例中建立多个资源组,每个资源组具有一套完整的云游戏应用、显示资源和处理资源,则用户对多路云游戏资源发出控制指令后,对每一路云游戏资源,均由对应资源组中的显示资源来显示云游戏应用中,由对应资源组中的云游戏应用来运行该云游戏资源,并对云游戏资源执行对应的控制操作,由对应资源组中的处理资源来对云游戏资源进行处理,得到特定格式的一路云游戏数据,并最终返回给用户,不同路云游戏可通过不同的资源组实现数据隔离,因此本技术在单一设备中仅通过一个系统实例就实现了对多路云游戏的控制,而不再需要建立多个系统实例,避免了多系统实例之间重复进程造成的资源浪费,单一的系统实例对设备资源可以做到独占使用,因此也缓解了多系统实例调用同一资源造成的调度困难。
附图说明
21.下面结合附图,通过对本技术的具体实施方式详细描述,将使本技术的技术方案及其它有益效果显而易见。
22.图1为本技术实施例提供的云游戏控制方法的应用场景示意图。
23.图2为本技术实施例提供的云游戏控制方法的流程示意图。
24.图3为本技术实施例提供的云游戏控制方法的整体架构图。
25.图4为本技术实施例提供的云游戏控制装置的结构示意图。
26.图5为本技术实施例提供的电子设备的结构示意图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.本技术实施例提供一种云游戏控制方法、装置、电子设备和计算机可读存储介质,其中,该云游戏控制装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
29.请参阅图1,图1为本技术实施例所提供的云游戏控制方法应用的场景示意图,该场景可以包括终端以及服务器,终端之间、服务器之间、以及终端与服务器之间通过各种网关组成的互联网等方式连接通信,其中,该应用场景中包括云游戏客户端11、云游戏服务器12以及云游戏设备13;云游戏客户端11为提供给游戏玩家的设备,可展示云游戏页面并具备人机交互功能,云游戏服务器12包括本地服务器和/或远程服务器等,云游戏设备13为提供给游戏工作人员的设备,云游戏应用仅安装在云游戏设备13中。当云游戏设备13采用普通芯片时,云游戏服务器12和云游戏设备13可以是不同设备,当云游戏设备13采用系统级芯片时,云游戏服务器12和云游戏设13可以是同一设备。
30.云游戏客户端11、云游戏服务器12以及云游戏设备13位于无线网络或有线网络中,以实现三者之间的数据交互,其中:
31.云游戏设备13包括一个系统实例,该系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,其中云游戏应用为实现游戏功能并承载云游戏资源的应用程序,云游戏资源为游戏音频、游戏视频等,显示资源可以是云游戏设备13中的虚拟屏幕,云游戏资源需要借助显示资源进行显示,处理资源可以是对云游戏资源进行录制、编码和推流的工具。
32.游戏玩家在云游戏客户端11的游戏界面中通过鼠标、键盘、手写笔和触摸输入等方式,分别发出对云游戏设备13中同一系统实例中n路目标云游戏资源的n个控制指令,m和n为正整数,且m不小于n。云游戏服务器12响应于n个控制指令,从系统实例中确定各路目标云游戏资源对应的目标资源组,然后控制云游戏设备13通过n个目标资源组中的各显示资源分别显示各目标云游戏应用,通过各目标云游戏应用分别运行各路目标云游戏资源,并对各路目标云游戏资源分别执行各控制指令对应的控制操作,通过n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向n个控制指令的发送方返回n路云游戏数据。
33.需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本技术实施例描述的服务器以及场景是为了更加清楚地说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
34.在本技术实施例中,请参阅图2,图2是本技术实施例提供的云游戏控制方法的流程示意图,具体包括:
35.s201:获取同一系统实例中n路目标云游戏资源的n个控制指令,系统实例包括m个
资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n。
36.云游戏是指以云计算为基础的游戏方式,在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,云游戏控制方法是在云游戏服务器上完成的,云游戏客户端用于数据的接收、发送以及游戏画面的呈现。举例而言,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等,但是进行游戏数据处理的终端设备为云游戏服务端的云游戏服务器。在进行游戏时,玩家操作云游戏客户端向云游戏服务器发送控制指令,云游戏服务器根据控制指令运行游戏,将游戏视频、音频等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面和音乐等。
37.在本技术实施例中,在某个设备上将想要运行的应用程序所需的资源进行打包,得到一个完整且独立的执行环境,构成该执行环境的所有资源构成了一个系统实例。在单一设备上可以仅创建一个系统实例,也可以通过虚拟化或者容器化技术得到两个或多个系统实例。本技术所指的设备为云游戏服务端的设备,则系统实例也位于云游戏服务端,同一系统实例包括m个资源组,每个资源组用于对一路云游戏进行控制,则一个系统实例可用于实现m路云游戏的控制,m为不小于2的整数。
38.需要说明的是,虽然本技术的系统实例主要用于实现单一设备上的多路云游戏,但并不构成对单一设备上仅实现一路云游戏场景的限制,当系统实例仅包括一个资源组时,也可以实现对单独的一路云游戏的控制。
39.在本技术实施例中,云游戏的路数是指为单个玩家提供云游戏服务的最小单位,当玩家在云游戏客户端上发起一个游戏会话时,云游戏服务器通过该游戏会话向玩家的客户端返回一路云游戏数据,一个游戏会话从开始创建到结束均对应一路云游戏。当重新建立一个游戏会话时,则对应新的一路云游戏。
40.在本技术实施例中,云游戏资源包括游戏音频、游戏视频以及其他与游戏相关的数据资源,云游戏应用是指用于实现游戏功能的应用程序,云游戏应用具有活动组件activity,该组件用于运行云游戏资源,当云游戏服务器接收到控制指令时,会对云游戏资源执行控制指令对应的控制操作,使得云游戏资源在此过程中产生各类变化,形成云游戏视频和音频。显示资源是指用于显示活动组件及对应的云游戏资源的各类硬件资源和软件资源,处理资源是指对云游戏资源进行数据处理,使之成为可以被特定网络传输的特定类型和特定格式的云游戏数据,并通过该特定网络返回给玩家的整个过程中需要用到的各类硬件资源和软件资源。
41.在本技术实施例中,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,即某个资源组的云游戏应用中的云游戏资源,只能通过该资源组的显示资源来显示,且只能被该资源组的处理资源来处理。不同资源组的云游戏应用可以是同一云游戏的应用,可以是不同云游戏的应用,不同云游戏应用对应不同的云游戏资源。
42.当某个玩家在云游戏客户端的游戏页面上,可以通过鼠标、键盘、手写笔和触摸输入等方式发出对一路云游戏资源的控制指令时,该控制指令被云游戏服务器获取。由于系统系统包括m个资源组,则最多可以获取m路云游戏资源的m个控制指令,每次针对一路云游戏资源的控制指令既可以是一个单独指令,也可以是包含多个子控制指令的复合指令。
43.在本步骤中,由云游戏服务器获取获取同一系统实例中n路目标云游戏资源的n个控制指令,n为正整数,且m不小于n,n路目标云游戏资源可以是针对同一游戏,也可以是针对不同游戏,或者一部分为同一游戏,另一部分为不同游戏,具体可根据系统实例的多个云游戏应用的数量和种类相关,当系统实例中存在3个游戏a的云游戏应用时,最多只能同时支持3路游戏a下的云游戏资源。
44.在一种实施例中,在s201之前还包括:基于系统实例的多屏幕模式创建m个虚拟屏幕;基于系统实例的多用户模式创建m个用户;建立各用户与各虚拟屏幕的第一关联关系。在本技术实施例中,系统实例为基于andr oid10(q)系统创建的系统实例,android10(q)系统支持多屏幕模式和多用户模式。在创建虚拟屏幕和用户时,均需要先对android10(q)系统的开源代码aosp进行配置和修改。
45.对于虚拟屏幕,先在android10(q)系统中启用每屏幕焦点功能,该功能为android10(q)系统自带功能,启用后可以支持多个屏幕同时操作,若不开启则只能对当前选中的其中一个屏幕进行操作,具体操作为:
46.在frameworks/base/core/res/res/values/config.xml(属性文件)中把con fig_perdisplayfocusenabled(每屏幕焦点)配置为true。
47.然后,启用多屏幕模式,具体操作为:
48.把frameworks/native/data/etc/android.software.activities_on_secondary_di splays.xml文件拷贝到android系统的/system/etc/permissions目录下。
49.最后,创建m个虚拟屏幕,为便于说明,本技术以下实施例中均取m为3,则具体操作为:
50.在系统实例的系统自带应用中使用mediaprojection.createvirtualdispla y工具或者displaymanager.createvirtualdisplay工具创建3个虚拟屏幕。
51.创建后系统自动为每个虚拟屏幕分配屏幕标识,如displayid分别为1、2和3。
52.对于用户,本技术实施例中创建的用户类型为managed profile类型,这是android系统为工作模式设计的用户类型,该类型用户天然支持把云游戏应用的activity显示到隶属于该用户的显示资源上。
53.先在android10(q)系统中启用managed users功能,具体操作为:
54.把frameworks/native/data/etc/android.software.managed_users.xml文件拷贝到android系统的/system/etc/permissions目录下。
55.然后,对系统实例的用户数量限制值进行修改,由于系统本身存在一个主用户,后创建的用户均为被管理用户,因此需要同时修改被管理用户的用户数量制值和总用户的用户数量限制值,被管理用户的用户数量制值需要不大于单一系统实例最多同时能承载的云游戏路数,修改后在系统中新创建用户的总数量不能大于该对应的修改值,具体操作为在android she ll工具中执行下面的命令:
56.setprop persist.sys.max_profiles 3(新增用户数量最多为3);
57.setprop fw.max_users 4(总用户数量最多为4)。
58.接着,基于上面设置操作得到的多用户模式创建多个managed profile类型的用户,具体操作为在android shell中执行下面的命令:
59.pm create-user
‑‑
profileof 0
‑‑
managed user01(创建用户01);
60.pm create-user
‑‑
profileof 0
‑‑
managed user02(创建用户02);
61.pm create-user
‑‑
profileof 0
‑‑
managed user03(创建用户03)。
62.创建后系统自动为每个用户分配用户标识,如userid分别为10、11和12。
63.最后启用用户,具体操作为android shell中执行下面的命令:
64.am start-user 10(启用用户01);
65.am start-user 11(启用用户02);
66.am start-user 12(启用用户03)。
67.通过上述过程,得到了3个虚拟屏幕和3个用户,虚拟屏幕构成了系统实例的各资源组中的显示资源。最后,在android10(q)系统的应用程序框架层(framework)中进行配置,在各用户与各虚拟屏幕之间建立第一关联关系,使得属于每个用户的activity只能显示到指定的虚拟屏幕中,每个虚拟屏幕也只能显示指定用户的activity。
68.在一种实施例中,在建立各用户与各虚拟屏幕的第一关联关系的步骤之后,还包括:获取各用户的用户标识;在系统实例中分别安装m个云游戏应用至m个用户,并将各用户的用户标识分配给各云游戏应用;根据分配结果,建立各用户与各云游戏应用的第二关联关系。
69.在系统实例中分别安装3个云游戏应用至3个用户,假设3个云游戏应用均为同一游戏a,该云游戏应用的应用名称为comease.sky,具体操作为在android shell中执行下面的命令:
70.pm install-exising
‑‑
user 10comease.sky(将游戏a安装至用户01);
71.pm install-exising
‑‑
user 11comease.sky(将游戏a安装至用户02);
72.pm install-exising
‑‑
user 12comease.sky(将游戏a安装至用户03)。
73.通过该过程,在各用户与各云游戏应用之间建立了第二关联关系,在安装后各用户的用户标识被分配给各云游戏应用,即各云游戏应用具有自己的用户标识(uid)。根据第一关联关系和第二关联关系,可以得到各云游戏应用与各虚拟屏幕的关联关系。
74.此外,当3个云游戏应用对应不同种类的游戏时,由于系统支持同时运行不同种类的游戏,则不需要进一步设置。而当3个云游戏应用对应同一个游戏,如上述实施例中对应同一游戏a,由于系统默认相同的游戏同时只能启动一个云游戏应用,则还需要启动游戏多开模式,在多开模式开启后则可以实现同时启动游戏a的3个相同的云游戏应用,并同时显示在3个虚拟屏幕中。具体操作为在android shell中执行下面的命令:
75.am start-n comease.sky/comease.ntunisdk.external.protocol.proto collauncher
‑‑
user 10
‑‑
display 1;
76.am start-n comease.sky/comease.ntunisdk.external.protocol.proto collauncher
‑‑
user 11
‑‑
display 2;
77.am start-n comease.sky/comease.ntunisdk.external.protocol.proto collauncher
‑‑
user 12
‑‑
display 3。
78.在一种实施例中,在建立各用户与各云游戏应用的第二关联关系的步骤之后,还包括:获取各云游戏应用的用户标识;根据用户标识,在系统实例中建立各处理资源与各云游戏应用的第三关联关系;根据第一关联关系、第二关联关系以及第三关联关系,得到m个资源组。
79.由于各云游戏应用具有唯一的用户标识,可通过建立各处理资源与各用户标识(uid)之间的调用关系,使得各处理资源可以通过调用uid来捕获对应的云游戏应用,从而实现指定云游戏应用中的云游戏资源由指定处理资源来处理,即建立各处理资源与各云游戏应用之间的第三关联关系。对虚拟屏幕中云游戏资源的处理过程主要包括录制、编码和推流,同时虚拟屏幕中云游戏资源主要包括音频和视频,对音频和视频需要进行分别录制、分别编码和分别推流。因此,先从系统实例中确定执行各项功能的各处理资源,然后建立各处理资源与各用户标识之间的调用关系,由于每个用户标识对应一个确定的云游戏应用,根据该调用关系,可以建立起各处理资源与各云游戏应用的第三关联关系。
80.在得到第一关联关系、第二关联关系以及第三关联关系后,由于每一用户关联一个唯一的虚拟屏幕,同时关联一个唯一的云游戏应用,每一云游戏应用关联一个处理资源,则每个用户均具有一组唯一且相互关联的云游戏应用、虚拟屏幕和处理资源,每个用户关联的所有资源构成了一个资源组,在系统实例中通过多用户来实现多组资源的隔离,m个用户可以得到m个资源组。
81.s202:响应于n个控制指令,从系统实例中确定各路目标云游戏资源对应的目标资源组。
82.对每路目标云游戏资源的控制指令,需要先从m个资源组中确定该路目标云游戏资源对应的目标资源组,然后再通过该目标资源组的各资源来对目标云游戏资源进行控制、显示和处理。
83.在一种实施例中,s202具体包括:响应于n个控制指令,获取n个控制指令对应的n个会话的会话信息,并获取系统实例的多个显示资源的工作状态;根据控制指令、会话信息和工作状态,从系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源;根据目标显示资源,确定各路目标云游戏资源对应的目标资源组。
84.当云游戏客户端中发送了一个控制指令后,云游戏服务器先获取当前游戏会话的会话信息,会话信息包括会话标识,同时获取系统实例的多个显示资源的工作状态,工作状态包括显示资源当前是否用于显示云游戏资源,再根据控制指令,可以确定当前请求控制的是哪个游戏,根据这些信息,从所有的显示资源中为每路目标云游戏资源分配一个目标显示资源,然后将每个目标显示资源所在的资源组确定为每路目标云游戏资源对应的目标资源组。
85.在一种实施例中,根据控制指令、会话信息和显示状态,从系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源的步骤,包括:根据会话信息,判断是否需要分配新的目标资源组;若是,根据控制指令,从m个云游戏应用中确定与各目标云游戏资源匹配的第一云游戏应用,并确定各第一云游戏应用关联的第一显示资源;根据第一显示资源的工作状态,从各第一显示资源中确定每路目标云游戏资源对应的目标显示资源。
86.当玩家在云游戏客户端新开了一个游戏会话时,该游戏会话会生成一个会话标识,如果后续的游戏操作均在这一个游戏会话中进行,则会话标识始终相同,且在此期间的云游戏资源均为同一路云游戏资源。而如果当前游戏会话结束,重新开了新的游戏会话,则得到的是另一个会话标识,对应的云游戏资源也为另一路云游戏资源。因此,可以通过对会话标识进行识别来判断是否需要重新分配一路云游戏资源,进而判断是否要分配新的目标资源组。当某个会话标识表明为新的游戏会话时,表示需要启动新的目标资源组,此时,先
根据控制指令确定游戏发起方所要请求的是哪个游戏的目标云游戏资源,然后从m个云游戏应用中到属于该游戏的所有第一云游戏应用,并进而确定与这些第一云游戏应用关联的第一显示资源,则该路目标云游戏资源只能显示在这些第一显示资源中。对各第一显示资源的工作状态进行分析,如果某个第一显示资源正在显示其他路云游戏资源,则不能作为本次的目标显示资源,最后,按照预设的分配规则,从空闲的所有第一显示资源中确定n个作为目标显示资源,再分别分配给n路目标云游戏资源。
87.s203:通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过各目标云游戏应用分别运行各路目标云游戏资源,并对各路目标云游戏资源分别执行各控制指令对应的控制操作。
88.在确定了目标资源组后,云游戏服务器响应于每个控制指令,通过对应目标资源组中的目标显示资源来显示关联的目标云游戏应用,并在目标云游戏应用中运行该路目标云游戏资源,同时,在目标云游戏应用中对运行的目标云游戏资源执行对应的控制操作,以实现将目标云游戏资源在整个过程中的变化由目标显示资源呈现出来,如控制指令用于控制游戏a中的角a向前走动一步,则在目标显示资源上通过目标云游戏应用来显示游戏a中角a向前走动一步过程的游戏画面,同时播放该过程对应的游戏音频。
89.在执行上述对游戏画面的控制操作时,目标云游戏应用可以运行多个线程,其中包括用于实现游戏驱动逻辑的逻辑线程和用于渲染游戏画面的渲染线程,在获取到控制指令时,逻辑线程会实时地按照游戏驱动逻辑来处理控制指令,然后向云游戏服务器反馈处理结果,并将处理结果反馈给渲染线程,渲染线程则会调用gpu等资源来对游戏画面进行渲染,在渲染成功后向逻辑线程返回渲染成功的结果,然后逻辑线程和渲染线程均继续执行下一次控制指令。通过上述过程,在目标显示资源上显示游戏画面在整个过程中的变化。
90.s204:通过n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向n个控制指令的发送方返回n路云游戏数据。
91.在得到每路目标云游戏资源对应的目标处理资源后,通过该目标处理资源对运行在目标显示资源上的目标云游戏资源进行处理,得到特定类型和特定格式的云游戏数据,云游戏数据为编码后的音频流和视频流,然后将每路云游戏数据分别返回给对应的控制指令的发送方,发送方在接收到这路云游戏数据后,通过解码得到完整的游戏音频和游戏视频。
92.在一种实施例中,s204具体包括:调用各路目标云游戏资源对应的录制资源对各目标显示资源中的目标云游戏资源进行录制,得到n路录制数据;调用各路目标云游戏资源对应的编码资源对各路录制数据进行编码,得到n路云游戏数据;调用各路目标云游戏资源对应的推流资源向各控制指令的发送方返回各路云游戏数据。
93.目标云游戏资源的音频和视频为分开处理,因此,每路录制数据包括音频录制数据和视频录制数据,每路云游戏数据包括封装后的音频编码数据和封装后的视频编码数据。
94.对于音频,在android10(q)系统中,如果想要从其他应用中捕获音频,则实现捕获音频功能的应用需要先构建audiorecord对象,由该对象来完成对音频的录制。由于系统实例中多个目标云游戏应用可以同时运行,为实现对每个目标云游戏应用中音频的单独录制,需要先在系统自带的au dioplaybackcapture api的audioplaybackcaptureconfigur
ation.addmatching uid()工具与各云游戏应用的uid之间建立调用关系,由于audioplaybackc aptureconfiguration.addmatchinguid()具有捕获拥有特定uid的应用音频的功能,在两者之间建立调用关系后,就可以通过调用不同的uid实现对不同虚拟屏幕上的云游戏应用的音频录制,各音频被audiorecord对象捕获,得到n路音频录制数据。然后,调用音频编码器的接口,通过对音频编码器对捕获到的音频录制数据进行编码,使其成为特定格式的音频编码数据,最后再调用推流接口对封装后的音频编码数据进行推流,使得音频编码数据向发出控制指令的客户端返回。
95.在上述实施例中,采用系统自带的应用和接口来捕获拥有特定uid的应用音频,但本技术不以此为限,还可以直接编写对应的命令行来实现根据uid的不同而对不同云游戏应用的音频进行录制。
96.对于视频,可以采用scrcpy工具对虚拟屏幕上的视频进行录制,scrcp y工具具有屏幕录像功能,同样地,需要先建立需要录制的虚拟屏幕的屏幕标识与该工具之间的调用关系,然后再使用该工具对指定虚拟屏幕上的视频录制,如命令为“scrcpy
‑‑
display=1”,则表示对屏幕标识为1的虚拟屏幕进行视频录制,通过不同的命令可以实现对各虚拟屏幕中各游戏视频的分别录制,得到n路视频录制数据。在录制得到视频后,scrcpy调用视频编码器的接口,视频编码器获取视频录制数据进行编码,得到特定格式的视频编码数据,最后调用推流接口对封装后的视频编码数据进行推流,使得视频编码数据向发出控制指令的客户端返回。
97.客户端在接收到音频编码数据后可以解码得到游戏音频,在接收到视频编码数据后可以解码得到游戏视频,将两者进行组合和同步,可以得到一路完整的目标云游戏资源。
98.如图3所示,为上述实施例中方法对应的整体架构图,以该架构实现单一设备上的3路云游戏为例,整个场景中包括玩家的输入设备、玩家的3个显示设备1至3、以及云游戏设备。输入设备可以包括手柄、鼠标、键盘等可供玩家操作的设备,显示设备可以包括智能手机、pc、智能电视、机顶盒vr眼睛等各类具备显示功能的设备,用于向玩家提供游戏画面、游戏音频,并提供游戏交互功能,输入设备与显示设备之间通过有线或者无线方式实现连接,云游戏设备中具有系统实例,系统实例包括多个资源组。
99.假设显示设备1至3分别由玩家1至3来操作,玩家1通过操作与显示设备1连接的输入设备,使得显示设备1中相关界面的相关控件被触发而生成控制指令1,然后通过游戏会话将控制指令发送给云游戏服务器(图未示出)。在游戏会话的初始状态下,控制指令1的内容可以为启动某游戏,在后续状态下,控制指令1的内容可以为控制角移动或旋转、控制角使用技能、控制场景转换、控制音乐播放等各类游戏控制指令。云游戏服务器响应该控制指令1,从云游戏设备的系统实例的m个资源组中确定作为目标资源组的资源组1,资源组1包括虚拟屏幕1、云游戏应用1和处理资源1,处理资源1包括录制资源1、编码资源1和推流资源1。然后,通过虚拟屏幕1来显示云游戏应用1,通过云游戏应用1运行第1路云游戏资源中的视频和音频,并对该视频和/或音频执行控制指令1对应的控制操作,如控制角x向左走动。整个控制过程产生的视频和音频均通过虚拟屏幕1进行呈现,然后,通过录制资源1对虚拟屏幕1中云游戏应用1的视频和音频分别进行录制,得到视频录制数据和音频录制数据,通过编码资源1分别对视频录制数据和音频录制数据进行编码,得到视频编码数据和音频编码数据,两者作为第1路云游戏数据,通过推流资源1分别推送给显示设备1。在显示设
备1中,对第1路云游戏数据中的视频编码数据和音频编码数据分别进行解码,然后组合和同步,最终在显示设备1中呈现角x向左走动这一游戏画面以及该过程中对应的游戏音频给玩家1。通过上述过程,实现了对玩家1提供一路云游戏服务。
100.对于玩家2和玩家3,其获取一路云游戏服务的原理与玩家1相似。玩家2通过输入设备和显示设备2发出控制指令2,并确定目标资源组为资源组2,资源组2包括虚拟屏幕2、云游戏应用2和处理资源2,处理资源2包括录制资源2、编码资源2和推流资源2,通过上述过程,最终完成对第2路云游戏数据的推送。玩家3通过输入设备和显示设备3发出控制指令3,并确定目标资源组为资源组3,资源组3包括虚拟屏幕3、云游戏应用3和处理资源3,处理资源3包括录制资源3、编码资源3和推流资源3,通过上述过程,最终完成对第3路云游戏数据的推送。在整个过程中,玩家1至3的控制过程和得到游戏画面及音频的过程相互之间不影响。
101.通过上述过程,实现了用单一的云游戏设备中的同一系统实例来提供多路云游戏服务。
102.当前云游戏服务端的硬件方案大致分为两类,一类采用服务器加上具有普通芯片的设备来完成对云游戏的控制,一类直接采用具有系统级芯片的设备作为服务器来控制。两者在通过单一设备实现多路云游戏时,均是在单一的设备上通过虚拟化技术(如qemu、virtualbox、vmware等)或者容器化技术(如lxc、docker、podman、openshift等)跑多个系统实例,由每个系统实例完成对一路云游戏的控制。由于每个系统实例均包括运行一个云游戏应用所需的执行环境,则每个系统实例均包括init进程、system_server进程、surfaceflinger进程以及一些必备的系统应用进程,甚至运行独立内核。当单一设备上存在多个系统实例时,这些进程都是重复的,带来了一些不小的开销。此外,这些系统实例共用了gpu、cpu等资源,当多个系统实例同时运行时,一些系统应用或进程需要同时调用gpu、cpu等资源,则会出现调度困难的情况,各云游戏资源的运行带来了不利影响。最后,由于单一设备的多系统实例需要应用虚拟化或容器化技术,对于设备加系统级芯片这种硬件方案,受系统级芯片的应用场景限制,需要定制linux系统才能得到多个系统实例,这也造成了成本的增加。
103.而在本技术实施例中,通过在同一系统实例中建立多个资源组,每个资源组具有一套完整的云游戏应用、显示资源和处理资源,则用户对多路云游戏资源发出控制指令后,对每一路云游戏资源,均由对应资源组中的显示资源来显示云游戏应用中,由对应资源组中的云游戏应用来运行该云游戏资源,并对云游戏资源执行对应的控制操作,由对应资源组中的处理资源来对云游戏资源进行处理,得到特定格式的一路云游戏数据,并最终返回给用户,不同路云游戏可通过不同的资源组实现数据隔离,因此本技术在单一设备中仅通过一个系统实例就实现了对多路云游戏的控制,而不再需要建立多个系统实例,避免了多系统实例之间重复进程造成的资源浪费,单一的系统实例对设备资源可以做到独占使用,因此也缓解了多系统实例调用同一资源造成的调度困难。最后,由于本技术中不需要在单一设备上跑多个系统实例,则也不需要用虚拟化和容器化的方案,对于系统级芯片的硬件方案,也不需要再定制linux系统,实现了成本的降低。
104.相应地,如图4所示,本技术还提供一种云游戏控制装置,具体包括:
105.获取模块110,用于获取同一系统实例中n路目标云游戏资源的n个控制指令,所述
系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;
106.确定模块120,用于响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;
107.显示模块130,用于通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;
108.处理模块140,用于通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。
109.在一种实施例中,云游戏控制装置还包括:
110.第一创建模块,用于基于所述系统实例的多屏幕模式创建m个虚拟屏幕;
111.第二创建模块,用于基于所述系统实例的多用户模式创建m个用户;
112.第一建立模块,用于建立各用户与各虚拟屏幕的第一关联关系。
113.在一种实施例中,云游戏控制装置还包括:
114.第一获取模块,用于获取各用户的用户标识;
115.分配模块,用于在所述系统实例中分别安装m个云游戏应用至m个用户,并将各用户的用户标识分配给各云游戏应用;
116.第二建立模块,用于根据分配结果,建立各用户与各云游戏应用的第二关联关系。
117.在一种实施例中,云游戏控制装置还包括:
118.第二获取模块,用于获取各云游戏应用的用户标识;
119.第三建立模块,用于根据所述用户标识,在所述系统实例中建立各处理资源与各云游戏应用的第三关联关系;
120.得到模块,用于根据所述第一关联关系、所述第二关联关系以及所述第三关联关系,得到m个资源组。
121.在一种实施例中,确定模块120包括:
122.第一获取子模块,用于响应于所述n个控制指令,获取所述n个控制指令对应的n个会话的会话信息,并获取所述系统实例的多个显示资源的工作状态;
123.第一确定子模块,用于根据所述控制指令、所述会话信息和所述工作状态,从所述系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源;
124.第二确定子模块,用于根据所述目标显示资源,确定各路目标云游戏资源对应的目标资源组。
125.在一种实施例中,第一确定子模块包括:
126.判断单元,用于根据所述会话信息,判断是否需要分配新的目标资源组;
127.第一确定单元,用于若是,根据所述控制指令,从m个云游戏应用中确定与各目标云游戏资源匹配的第一云游戏应用,并确定各第一云游戏应用关联的第一显示资源;
128.第二确定单元,用于根据所述第一显示资源的工作状态,从各第一显示资源中确定每路目标云游戏资源对应的目标显示资源。
129.在一种实施例中,处理模块140包括:
130.第一调用子模块,用于调用各路目标云游戏资源对应的录制资源对各目标显示资源中的目标云游戏资源进行录制,得到n路录制数据;
131.第二调用子模块,用于调用各路目标云游戏资源对应的编码资源对各路录制数据进行编码,得到n路云游戏数据;
132.第三调用子模块,用于调用各路目标云游戏资源对应的推流资源向各控制指令的发送方返回各路云游戏数据。
133.本技术的云游戏控制装置,本技术通过在同一系统实例中建立多个资源组,每个资源组具有一套完整的云游戏应用、显示资源和处理资源,则用户对多路云游戏资源发出控制指令后,对每一路云游戏资源,均由对应资源组中的显示资源来显示云游戏应用中,由对应资源组中的云游戏应用来运行该云游戏资源,并对云游戏资源执行对应的控制操作,由对应资源组中的处理资源来对云游戏资源进行处理,得到特定格式的一路云游戏数据,并最终返回给用户,不同路云游戏可通过不同的资源组实现数据隔离,因此本技术在单一设备中仅通过一个系统实例就实现了对多路云游戏的控制,而不再需要建立多个系统实例,避免了多系统实例之间重复进程造成的资源浪费,单一的系统实例对设备资源可以做到独占使用,因此也缓解了多系统实例调用同一资源造成的调度困难。
134.相应的,本技术实施例还提供一种电子设备,如图5所示,该电子设备可以包括射频(rf,radio frequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、wifi模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
135.射频电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给。存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
136.显示单元504可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
137.电子设备还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。音频电路506包括扬声器,扬声器可提供用户与电子设备之间的音频接口。
138.wifi属于短距离无线传输技术,电子设备通过wifi模块507可以帮助用户收发、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了wifi模块507,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
139.处理器508是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对手机进行整体监控。
140.电子设备还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电
源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
141.尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现以下功能:
142.获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;
143.响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;
144.通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;
145.通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。
146.在一种实施例中,实现功能:
147.基于所述系统实例的多屏幕模式创建m个虚拟屏幕;
148.基于所述系统实例的多用户模式创建m个用户;
149.建立各用户与各虚拟屏幕的第一关联关系。
150.在一种实施例中,实现功能:
151.获取各用户的用户标识;
152.在所述系统实例中分别安装m个云游戏应用至m个用户,并将各用户的用户标识分配给各云游戏应用;
153.根据分配结果,建立各用户与各云游戏应用的第二关联关系。
154.在一种实施例中,实现功能:
155.获取各云游戏应用的用户标识;
156.根据所述用户标识,在所述系统实例中建立各处理资源与各云游戏应用的第三关联关系;
157.根据所述第一关联关系、所述第二关联关系以及所述第三关联关系,得到m个资源组。
158.在一种实施例中,实现功能:
159.响应于所述n个控制指令,获取所述n个控制指令对应的n个会话的会话信息,并获取所述系统实例的多个显示资源的工作状态;
160.根据所述控制指令、所述会话信息和所述工作状态,从所述系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源;
161.根据所述目标显示资源,确定各路目标云游戏资源对应的目标资源组。
162.在一种实施例中,实现功能:
163.根据所述会话信息,判断是否需要分配新的目标资源组;
164.若是,根据所述控制指令,从m个云游戏应用中确定与各目标云游戏资源匹配的第一云游戏应用,并确定各第一云游戏应用关联的第一显示资源;
165.根据所述第一显示资源的工作状态,从各第一显示资源中确定每路目标云游戏资源对应的目标显示资源。
166.在一种实施例中,实现功能:
167.调用各路目标云游戏资源对应的录制资源对各目标显示资源中的目标云游戏资源进行录制,得到n路录制数据;
168.调用各路目标云游戏资源对应的编码资源对各路录制数据进行编码,得到n路云游戏数据;
169.调用各路目标云游戏资源对应的推流资源向各控制指令的发送方返回各路云游戏数据。
170.本技术的电子设备,通过在同一系统实例中建立多个资源组,每个资源组具有一套完整的云游戏应用、显示资源和处理资源,则用户对多路云游戏资源发出控制指令后,对每一路云游戏资源,均由对应资源组中的显示资源来显示云游戏应用中,由对应资源组中的云游戏应用来运行该云游戏资源,并对云游戏资源执行对应的控制操作,由对应资源组中的处理资源来对云游戏资源进行处理,得到特定格式的一路云游戏数据,并最终返回给用户,不同路云游戏可通过不同的资源组实现数据隔离,因此本技术在单一设备中仅通过一个系统实例就实现了对多路云游戏的控制,而不再需要建立多个系统实例,避免了多系统实例之间重复进程造成的资源浪费,单一的系统实例对设备资源可以做到独占使用,因此也缓解了多系统实例调用同一资源造成的调度困难。
171.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
172.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
173.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
174.获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;
175.响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;
176.通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;
177.通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。
178.在一种实施例中,实现功能:
179.基于所述系统实例的多屏幕模式创建m个虚拟屏幕;
180.基于所述系统实例的多用户模式创建m个用户;
181.建立各用户与各虚拟屏幕的第一关联关系。
182.在一种实施例中,实现功能:
183.获取各用户的用户标识;
184.在所述系统实例中分别安装m个云游戏应用至m个用户,并将各用户的用户标识分配给各云游戏应用;
185.根据分配结果,建立各用户与各云游戏应用的第二关联关系。
186.在一种实施例中,实现功能:
187.获取各云游戏应用的用户标识;
188.根据所述用户标识,在所述系统实例中建立各处理资源与各云游戏应用的第三关联关系;
189.根据所述第一关联关系、所述第二关联关系以及所述第三关联关系,得到m个资源组。
190.在一种实施例中,实现功能:
191.响应于所述n个控制指令,获取所述n个控制指令对应的n个会话的会话信息,并获取所述系统实例的多个显示资源的工作状态;
192.根据所述控制指令、所述会话信息和所述工作状态,从所述系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源;
193.根据所述目标显示资源,确定各路目标云游戏资源对应的目标资源组。
194.在一种实施例中,实现功能:
195.根据所述会话信息,判断是否需要分配新的目标资源组;
196.若是,根据所述控制指令,从m个云游戏应用中确定与各目标云游戏资源匹配的第一云游戏应用,并确定各第一云游戏应用关联的第一显示资源;
197.根据所述第一显示资源的工作状态,从各第一显示资源中确定每路目标云游戏资源对应的目标显示资源。
198.在一种实施例中,实现功能:
199.调用各路目标云游戏资源对应的录制资源对各目标显示资源中的目标云游戏资源进行录制,得到n路录制数据;
200.调用各路目标云游戏资源对应的编码资源对各路录制数据进行编码,得到n路云游戏数据;
201.调用各路目标云游戏资源对应的推流资源向各控制指令的发送方返回各路云游戏数据。
202.本技术的计算机可读存储介质,通过在同一系统实例中建立多个资源组,每个资源组具有一套完整的云游戏应用、显示资源和处理资源,则用户对多路云游戏资源发出控制指令后,对每一路云游戏资源,均由对应资源组中的显示资源来显示云游戏应用中,由对应资源组中的云游戏应用来运行该云游戏资源,并对云游戏资源执行对应的控制操作,由对应资源组中的处理资源来对云游戏资源进行处理,得到特定格式的一路云游戏数据,并最终返回给用户,不同路云游戏可通过不同的资源组实现数据隔离,因此本技术在单一设备中仅通过一个系统实例就实现了对多路云游戏的控制,而不再需要建立多个系统实例,
避免了多系统实例之间重复进程造成的资源浪费,单一的系统实例对设备资源可以做到独占使用,因此也缓解了多系统实例调用同一资源造成的调度困难。
203.以上对本技术实施例所提供的一种云游戏控制方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。

技术特征:


1.一种云游戏控制方法,其特征在于,包括:获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;通过所述n个目标资源组中的各目标处理资源分别处理所述各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。2.如权利要求1所述的云游戏控制方法,其特征在于,在获取同一系统实例中n路目标云游戏资源的n个控制指令的步骤之前,还包括:基于所述系统实例的多屏幕模式创建m个虚拟屏幕;基于所述系统实例的多用户模式创建m个用户;建立各用户与各虚拟屏幕的第一关联关系。3.如权利要求2所述的云游戏控制方法,其特征在于,在建立各用户与各虚拟屏幕的第一关联关系的步骤之后,还包括:获取各用户的用户标识;在所述系统实例中分别安装m个云游戏应用至m个用户,并将各用户的用户标识分配给各云游戏应用;根据分配结果,建立各用户与各云游戏应用的第二关联关系。4.如权利要求3所述的云游戏控制方法,其特征在于,在建立各用户与各云游戏应用的第二关联关系的步骤之后,还包括:获取各云游戏应用的用户标识;根据所述用户标识,在所述系统实例中建立各处理资源与各云游戏应用的第三关联关系;根据所述第一关联关系、所述第二关联关系以及所述第三关联关系,得到m个资源组。5.如权利要求1所述的云游戏控制方法,其特征在于,响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组的步骤,包括:响应于所述n个控制指令,获取所述n个控制指令对应的n个会话的会话信息,并获取所述系统实例的多个显示资源的工作状态;根据所述控制指令、所述会话信息和所述工作状态,从所述系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源;根据所述目标显示资源,确定各路目标云游戏资源对应的目标资源组。6.如权利要求5所述的云游戏控制方法,其特征在于,根据所述控制指令、所述会话信息和所述显示状态,从所述系统实例的多个显示资源中确定每路目标云游戏资源对应的目标显示资源的步骤,包括:根据所述会话信息,判断是否需要分配新的目标资源组;
若是,根据所述控制指令,从m个云游戏应用中确定与各目标云游戏资源匹配的第一云游戏应用,并确定各第一云游戏应用关联的第一显示资源;根据所述第一显示资源的工作状态,从各第一显示资源中确定每路目标云游戏资源对应的目标显示资源。7.如权利要求1所述的云游戏控制方法,其特征在于,通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据的步骤,包括:调用各路目标云游戏资源对应的录制资源对各目标显示资源中的目标云游戏资源进行录制,得到n路录制数据;调用各路目标云游戏资源对应的编码资源对各路录制数据进行编码,得到n路云游戏数据;调用各路目标云游戏资源对应的推流资源向各控制指令的发送方返回各路云游戏数据。8.一种云游戏控制装置,其特征在于,包括:获取模块,用于获取同一系统实例中n路目标云游戏资源的n个控制指令,所述系统实例包括m个资源组,每个资源组包括相互关联的云游戏应用、显示资源以及处理资源,m和n为正整数,且m不小于n;确定模块,用于响应于所述n个控制指令,从所述系统实例中确定各路目标云游戏资源对应的目标资源组;显示模块,用于通过n个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过所述各目标云游戏应用分别运行各路目标云游戏资源,并对所述各路目标云游戏资源分别执行各控制指令对应的控制操作;处理模块,用于通过所述n个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到n路云游戏数据,并分别向所述n个控制指令的发送方返回所述n路云游戏数据。9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至7任一项所述的云游戏控制方法中的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的云游戏控制方法中的步骤。

技术总结


本申请提供一种云游戏控制方法、装置、电子设备及存储介质,该方法先获取同一系统实例中N路目标云游戏资源的N个控制指令,然后响应于N个控制指令,从系统实例中确定各路目标云游戏资源对应的目标资源组,接着通过N个目标资源组中的各目标显示资源分别显示各目标云游戏应用,通过各目标云游戏应用分别运行各路目标云游戏资源,并对各路目标云游戏资源分别执行各控制指令对应的控制操作,最后通过N个目标资源组中的各目标处理资源分别处理各路目标云游戏资源,得到N路云游戏数据,并分别向N个控制指令的发送方返回N路云游戏数据。本申请仅通过一个系统实例就实现了对多路云游戏的控制,避免了多系统实例方案中的资源浪费和调度困难。调度困难。调度困难。


技术研发人员:

周圣孟

受保护的技术使用者:

网易(杭州)网络有限公司

技术研发日:

2022.09.09

技术公布日:

2022/11/22

本文发布于:2024-09-20 11:45:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/394.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:资源   目标   所述   实例
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议