导航:X技术最新专利休闲,运动,玩具,娱乐用品的装置及其制品制造技术
1.本技术涉及云计算相关技术领域,具体而言,涉及一种云游戏运行方法、系统及云游戏服务器。
2.云游戏是以云计算为基础的在线游戏技术,基于云游戏的运行方式,游戏运行于云端服务器,由云端服务器将渲染完毕后的游戏画面经过压缩编码等处理后通过网络传送给用户。基于这种方式,用户端的游戏设备可以不需要高端处理器和显卡等高端硬件资源,只需要基本的音视频等媒体解压能力即可。因此,云游戏摆脱了用户端设备对硬件的依赖,与传统游戏模式相比,云游戏能在很大程度上减小玩家游玩游戏的设备成本。对服务器来说,仅仅需要提高服务器性能而不需要研发新主机,同时对用户来说,可以得到更高的画质而不用购买高性能的计算机。
3.运行一个云游戏场景的普遍流程是由用户启动云游戏,通过后台调度服务为用户启动的游戏分配一个目标服务器,在目标服务器上会启动对应的游戏,然后传输用户的操控事件到达目标服务器,目标服务器实时把用户的操控事件输入系统,游戏会根据系统的操控输入进行相应的内容改变,最后通过云端再进行桌面视频和音频采集传输到用户端展示,从而达成用户与云端游戏互动的场景。
4.然而,发明人对现有的云游戏的实现方式进行研究发现,如上述的云游戏方式,目标服务器无法同时为多个用户运行多个游戏,因为多个游戏运行会共享桌面和音频等设备,无法做到区分采集。因此,云端启动的游戏会独占整个目标服务器的系统资源,从而造成系统资源的浪费。
5.基于以上内容,第一方面,本技术实施例提供一种云游戏运行方法,所述方法包括:
6.当接收到游戏用户发送的针对目标云游戏的启动请求时,判断所述云游戏服务器是否具有运行所述目标云游戏的能力;
7.当判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏。
8.基于第一方面的一种可能的实现方式,当判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏,包括:
9.当所述云游戏服务器具有运行所述目标云游戏的能力时,针对所述游戏用户生成一个待启用的系统用户账户;
10.启用上述生成的系统用户账户并基于该系统用户账户建立所述云游戏服务器与所述游戏用户的游戏终端之间的远程桌面连接;
12.基于第一方面的一种可能的实现方式,在运行所述目标云游戏之前,所述方法还包括:
13.针对所述云游戏服务器中的各个云游戏,根据各所述云游戏所需运行资源的运行资源量以及所述云游戏服务器的总运行资源量事先创建多个系统用户账户;
14.当判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏,包括:
15.当所述云游戏服务器具有运行所述目标云游戏的能力时,根据所述目标云游戏启动上述事先创建的多个系统用户账户中与所述目标云游戏对应的一个系统用户账户;
16.基于启动的系统用户账户建立所述云游戏服务器与所述游戏用户的游戏终端之间的远程桌面连接;
18.基于第一方面的一种可能的实现方式,判断所述云游戏服务器是否具有运行所述目标云游戏的能力,包括:
19.判断所述云游戏服务器中是否存在未启动的系统用户账户,当所述云游戏服务器中存在未启动的系统用户账户时,则判断所述云游戏服务器具有运行所述目标云游戏的能力;反之,当所述云游戏服务器中不存在未启动的系统用户账户时,则判断所述云游戏服务器没有运行所述目标云游戏的能力。
20.基于第一方面的一种可能的实现方式,判断所述云游戏服务器是否具有运行所述目标云游戏的能力,包括:
21.获取所述云游戏服务器的运行资源当前的剩余运行资源量以及目标云游戏所需的运行资源量;
22.根据所述云游戏服务器的运行资源当前的剩余运行资源量以及目标云游戏所需的运行资源量判断所述云游戏服务器是否具有运行所述目标云游戏的能力;
24.基于第一方面的一种可能的实现方式,在运行所述目标云游戏之前,所述方法还包括:
25.加载并运行预先设置的远程桌面环境配置文件,以对所述云游戏服务器的操作系统进行远程桌面环境配置,使所述操作系统可以支持多路远程桌面连接并开启远程桌面环境的远程gpu编码功能及远程渲染功能,以使不同的云游戏能够在不同的系统用户账户所对应的会线.基于第一方面的一种可能的实现方式,所述方法还包括:
27.在运行所述目标云游戏之后,为所述系统用户账户进行权限配置,使所述云游戏在对应的会话环境中进行云游戏所需的环境信息采集。
28.基于第一方面的一种可能的实现方式,当判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏,还包括:
29.当基于所述系统用户账户运行所述目标云游戏之后,为所述系统用户账户启用一会话服务,使基于该系统用户账户建立的所述云游戏服务器与所述游戏用户的游戏终端之
30.第二方面,本技术实施例还提供一种云游戏运行系统,应用于云游戏服务器,所述云游戏运行系统包括:
31.请求模块,用于接收游戏用户发送的针对目标云游戏的启动请求,并在接收到所述启动请求时,判断所述云游戏服务器是否具有运行所述目标云游戏的能力;以及
32.运行模块,用于当判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏。
33.第三方面,本技术实施例还提供一种云游戏服务器,包括机器可读存储介质以及一个或多个处理器,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被所述一个或多个处理器执行时,实现上述的云游戏运行方法。
34.基于本技术实施例的上述内容,相对于现有技术而言,本技术实施例提供的云游戏运行方法、系统及云游戏服务器,通过一个云游戏服务器采用不同的系统用户账户运行不同的游戏终端请求的云游戏,实现不同的云游戏在云游戏服务器上同时运行的方案,为多个不同的云游戏所对应的远程桌面会话实现系统级隔离,进而使得每个云游戏对应的远程会话环境(远程桌面环境)具有独立的桌面、远程音频设备、独立的系统对象和上下文环境等条件。如此,不同的远程桌面环境可以独立采集音视频、独立接收系统的操控输入等,使得同时运行的多个单实例的云游戏可以实现操控、音视频等的区分采集,进而基于软件层面实现“一机多开”的目的,以解决现有技术中一个游戏会独占整个目标服务器的系统资源而造成的系统资源浪费的问题。
35.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
40.图5是本技术实施例提供的云游戏服务器通过不同的系统用户账户来分别运行不同的云游戏的示例性示意图。
41.图6是本技术实施例提供的用于实现上述云游戏运行方法的云游戏服务器的示意图。
43.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
44.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
46.在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
47.在本技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
48.在对本技术实施例提供的相关技术方案进行详细介绍之前,为了更清楚地理解本技术实施例的相关技术方案,首先对本技术实施例涉及的有关技术术语进行说明。
49.云计算(cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备,提供资源的网络被称为“云”。
50.云游戏:游戏客户端运行在云端,通过网络指令和音视频流与用户完成交互的游戏方式。
51.远程桌面协议(remote desktop protocol,rdp):一种让用户侧的计算机(用户端或本地计算机)通过远端连上提供终端机服务的计算机(服务端或远程计算机)的多通道(multi-channel)协议。
52.资源管理器(resource manager,简称resourcemgr):调度分配服务,根据可用资源决定是否分配游戏运行环境,其可以理解为一个运行的线.系统用户:用于登录设定操作系统(如windows操作系统)的用户,可在系统控制面板里添加。
54.资源监控程序(console程序):用于实时检测进程cpu、gpu等计算机运行资源的程序或线程,向资源管理器上报资源信息。
55.接下来,在介绍本技术实施例提供的云游戏运行方法之前,先对用于实现所述云游戏运行方法的运行环境进行说明。如图1所示,是本技术实施例提供的一种云游戏的应用场景示意图。其中,该应用场景中包括云游戏服务器100和游戏终端200。其中,云游戏服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery n etwork,内容分发网络)服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
56.所述游戏终端200可以通过网络300接入云游戏服务器100,以使用云游戏服务器100所提供的云游戏服务,例如通过远程连接云游戏服务器100以启动云游戏供相应的用户
57.其中,所述游戏终端200可以是,但不限于,笔记本电脑、个人计算机、智能电视、智能手机、平板电脑等设备。为了使用云游戏服务器100提供的云游戏服务,游戏终端200可以通过网络300从所述云游戏服务器100下载相应的游戏客户端,以使游戏用户可以通过游戏客户端接入云游戏服务器100进行云游戏。所述网络300可以是有线网络也可以是无线网络,本技术在此不做限制。
58.如图2所示,是本技术实施例提供的云游戏运行方法的流程示意图。本实施例中,所述云游戏运行方法可以由所述云游戏服务器执行并实现。应当理解,本实施例提供的云游戏运行方法所包含的其中部分步骤的顺序在实际实施时可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除,本实施例对此不进行具体限定。
59.下面结合图2对本实施例的云游戏运行方法的各个步骤通过示例的方式进行详细介绍,详细地,如图2所示,所述方法可以包括下述的步骤s100和步骤s200所述的相关内容。
60.步骤s100,当接收到游戏用户发送的针对目标云游戏的启动请求时,判断所述云游戏服务器100是否具有运行所述目标云游戏的能力。
61.其中,本实施例中,所述游戏用户可以通过游戏终端200基于远程远程桌面协议(remote desktop protocol,rdp)与所述云游戏服务器100建立rdp连接(远程桌面连接),并在建立rdp连接之后所述云游戏服务器100可以为所述游戏终端200提供一个远程桌面,所述远程桌面上可以呈现各种能够使用的云游戏图标,所述游戏用户可以通过键盘、鼠标、游戏手柄等输入输出设备对所述云游戏图标的操作发起启动所述云游戏的启动请求。当然,上述过程仅仅是一种示例性的云游戏的启动请求的发起过程,在其他实施方式中,游戏用户也可以采用不一样的方式发起所述云游戏的启动请求,本实施对此不具体限定。
62.此外,在本实施例的一种可能的实现方案中,可以先获取所述云游戏服务器100的运行资源当前的剩余运行资源量以及目标云游戏所需的运行资源量,然后根据所述云游戏服务器100的运行资源当前的剩余运行资源量以及目标云游戏所需的运行资源量判断所述云游戏服务器100是否具有运行所述目标云游戏的能力。例如,可以通过如图5所示的console程序获取运行资源当前的剩余运行资源量,当所述云游戏服务器100当前的剩余运行资源量大于目标云游戏所需的运行资源量时,则判断所述云游戏服务器具有运行所述目标云游戏的能力。反之,当所述云游戏服务器100当前的剩余运行资源量不大于目标云游戏所需的运行资源量时,则判断所述云游戏服务器不具有运行所述目标云游戏的能力。
63.步骤s200,当判断所述云游戏服务器100具有运行所述目标云游戏的能力时,从所述云游戏服务器100中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏。
64.其中,在本实施例的一种可能的实现方式中,如图3所示,基于步骤s200,可以通过下述的子步骤s201-s203实现。
65.子步骤s201,当所述云游戏服务器100具有运行所述目标云游戏的能力时,针对所述游戏用户生成一个待启用的系统用户账户。
66.子步骤s202,启用上述生成的系统用户账户并基于该系统用户账户建立所述云游戏服务器100与所述游戏用户的游戏终端200之间的远程桌面连接。
67.子步骤s203,在所述远程桌面连接对应的会话环境中运行所述目标云游戏,进而
68.进一步地,在本实施例的另一种可能的实现方式中,在所述云游戏服务器100为游戏用户提供云游戏服务之前,可以针对所述云游戏服务器100上可运行的各个云游戏,根据各所述云游戏所需运行资源的运行资源量以及所述云游戏服务器100的总运行资源量事先创建多个系统用户账户。示例性地,运行云游戏所需的主要运行资源为图像处理器(graph processing unit,gpu)资源,下面以gpu资源为例。假设所述云游戏服务器100的gpu资源总量为100%,所述云游戏服务器100可以分别为游戏用户提供游戏a、游戏b、游戏c的云游戏服务,其中游戏a需要40%的gpu资源,游戏b需要30%的gpu资源,游戏c需要20%的gpu资源,那么本实施例可以在所述云游戏服务器100上事先创建三个系统用户账户,例如分别为用户账户a、用户账户b、以及用户账户c;然后,分别将创建的各所述系统用户账户与所述云游戏服务器100中的一个云游戏建立对应关系,例如,将用户账户a与游戏a建立对应关系、将用户账户b与游戏b建立对应关系、以及将用户账户c与游戏c建立对应关系。
69.在上述内容的基础之上,如图4所示,在另一种可能的实现方式中,上述步骤s200可以通过下述的子步骤s211-s213实现,示例性说明如下。
70.步骤s211,当所述云游戏服务器100具有运行所述目标云游戏的能力时,根据所述目标云游戏启动事先创建的多个系统用户账户中与所述目标云游戏对应的一个系统用户账户。
71.步骤s212,基于启动的系统用户账户建立所述云游戏服务器100与所述游戏用户的游戏终端200之间的远程桌面连接。
72.步骤s213,在所述远程桌面连接对应的会话环境中运行所述目标云游戏,进而为所述游戏用户提供云游戏服务运行所述目标云游戏。
73.此外,在运行所述目标云游戏之后,可以为所述系统用户账户进行权限配置(例如提升账户权限至管理员权限),使所述云游戏在所述会话环境中进行云游戏所需的环境信息采集,例如环境信息包括音频信息以及视频信息等多媒体信息。
74.作为一种示例,请参阅图5,是本技术实施例提供的所述云游戏服务器100通过不同的系统用户账户来分别运行不同的云游戏的示例性示意图。
75.首先,在所述云游戏服务器100的运行过程中,会通过一个资源监控程序(例如,可以是一种console程序,或者一个用于监控剩余运行资源的线程)对所述云游戏服务器100的当前可用的剩余运行资源进行实时监控,并实时上报至所述云游戏服务器100的资源管理器(resourcemgr),由于游戏运行的主要资源为gpu资源,这里同样假定所述运行资源为gpu资源,并以gpu资源为代表展开描述。当然,应当理解,所述运行资源还可以包括其他的运算资源,例如cpu资源、带宽资源等,但一般影响多个云游戏同时运行的运算资源主要是gpu资源,因此本实施例以gpu资源作为代表进行示例性的介绍。
76.然后,当玩家a(player a)向云游戏服务器100发起游戏a(game a)的启动请求时,由resourcemgr根据云游戏服务器100的可用gpu资源分配系统用户账户1(user1)的环境以运行game a。此处,假定此次user 1运行game a消耗了40%的gpu资源,这时console程序会实时把gpu资源的使用情况上报到resourcemgr。
77.接着,当玩家b(player b)向云游戏服务器100发起游戏b(game b)的启动请求时,这里假定gameb需要30%的gpu资源,由于game a运行后还剩下60%的gpu资源,所以
resourcemgr可以调度game b对应的系统用户账户2(user 2)来运行game b,此时console程序上报的云游戏服务器100的整个系统还剩下30%的gpu资源
78.最后,当玩家c(player c)向云游戏服务器100发起游戏c(game c)的启动请求时,如果待运行的game c所需的gpu资源消耗低于30%,则resourcemgr可以通过调度game c对应的系统用户账户3(user 3)来运行对应game c,如果待运行的game c所需的gpu资源大于30%,则需要将game c调度到其它的云计算服务器进行运行。或者,在user 1、user 2、user 3都已被调度的情况下,云游戏服务器100再接到其他玩家的游戏启动请求时,则需要将相应的目标云游戏服务调度到其他具有剩余资源的云计算服务器中进行运行。
79.进一步地,基于事先创建多个系统用户账户的方案中,在所述步骤s100的另一种可能的实现方式中,可以通过判断所述云游戏服务器100中是否存在未启动的系统用户账户来判断所述云游戏服务器100是否具有运行所述目标云游戏的能力。例如,当所述云游戏服务器100中存在未启动的系统用户账户时,则判断所述云游戏服务器100具有运行所述目标云游戏的能力;反之,当所述云游戏服务器100中不存在未启动的系统用户账户时,则判断所述云游戏服务器100没有运行所述目标云游戏的能力。
80.综上所述,本技术实施例通过一个云游戏服务器100,采用不同的系统用户账户与不同的游戏终端建立远程桌面连接,实现不同的云游戏在云游戏服务器100上同时运行的方案,实现为多个不同的云游戏所对应的远程桌面会话的系统级隔离,每个云游戏对应的远程会话环境(远程桌面环境)具有独立的桌面、远程音频设备、独立的系统对象和上下文环境等条件,使得不同的远程桌面环境可以独立采集音视频、独立接收系统的操控输入等。如此,同时运行的多个单实例的云游戏可以实现操控、音视频等的区分采集,进而基于软件层面实现“一机多开”的目的,避免一个游戏独占整个目标服务器的系统资源而造成的系统资源浪费的问题。
81.此外,本实施的远程会话多开方案可以灵活的根据业务需求调配不同的组合方案,实现服务器资源的充分利用,避免资源浪费,对于限制了在远程桌面环境下启动的少数游戏(如英雄联盟),仍然可以通过调配资源策略,分配到远程控制会话(console session)进行运行。
82.进一步地,发明人对一些可能的云游戏的实现方案进行研究分析发现,为了实现“一机多开”的目的,在一种可能的实现方案中,也可以采用虚拟机(vm)技术,利用显卡厂商提供的虚拟显卡切分技术,将云游戏服务器100的各种硬件资源(包括gpu资源)切分到各个独立的虚拟机中,然后由不同的虚拟机分别运行不同的云游戏以实现“一机多开”的目的。然而,基于这种实现方案,一方面,适配虚拟显卡切分技术需要用到企业级显卡,会导致硬件成本的增加,另一方面,将硬件资源切分到不同的虚拟机上,在切分粒度过大(一般为1/4、1/2的规格)的情况下仍然存在资源过剩而导致资源浪费的问题。
83.此外,采用虚拟机的技术,无法实现云游戏对资源的共享来实现游戏的运行加速问题。例如,当云游戏服务器100中所运行的云游戏数量较少时,例如,一台云游戏服务器100包括三个虚拟机(vm),在只有其中一部分虚拟机(如一个虚拟机)在运行云游戏时(例如游戏a和游戏b),所运行的云游戏只能使用其所在的虚拟机对应的硬件资源,而无法使用其他虚拟机空闲的硬件资源实现游戏加速。相比较之下,基于本技术实施例通过系统用户账户实现的不同云游戏的软件层面的系统级隔离,当不同的云游戏是在云游戏服务器100的
运行资源满足需求的前提下实现的资源共享,当云游戏服务器100所运行的云游戏数量较少的情况下,所运行的云游戏可以充分使用云游戏服务器100的空闲资源实现游戏的加速,在保证了“一机多开”的前提下,可以是实现服务器资源的充分使用。因此,本技术实施例提供的方案相较于vm的实现方案也具有明显的优势。
84.进一步地,在本技术实施例中,所述云游戏服务器100所使用的操作系统优选为可以支持多系统用户同时远程接入的windows系统。当然,在其他实施例中,也可以采用支持多系统用户同时远程接入的其他操作系统。
85.本实施例中,以windows系统为例,为了支持多用户同时远程接入,在运行所述目标云游戏之前,本实施例提供的云游戏的运行方法还进一步包括下述的系统配置的步骤,示例性描述如下。
86.其中,可以通过加载并运行预先设置的远程桌面环境配置文件,以对所述云游戏服务器100的操作系统进行远程桌面环境配置,使所述操作系统可以支持多路远程桌面连接并开启远程桌面环境的远程gpu编码功能及远程渲染功能。在一种可能的实现方式中,所述远程桌面环境配置文件可以包括多个配置脚本,例如可以是包括针对所述操作系统进行远程桌面环境配置的配置项目及相应配置参数(如远程桌面连接项目及该项目对应的连接参数、远程刷新帧率(如60fps)等)的配置信息的python脚本或powershell脚本等。运行所述远程桌面环境配置文件的目的在于使所述云游戏服务器100的操作系统允许多个远程桌面连接(rdpsession)同时运行,开启远程桌面环境支持远程gpu编码和远程渲染的能力,以使不同的云游戏能够在不同的系统用户账户所对应的会线.此外,为了使得通过远程桌面会话在不同的系统用户账户所对应的会话环境中运行的云游戏能够持续保持活跃状态以正常运行,本实施例中,在步骤s200中,当基于所述系统用户账户运行所述目标云游戏之后,可进一步为所述系统用户账户启用一会话服务,使基于该系统用户账户建立的所述云游戏服务器100与所述游戏用户的游戏终端200之间的远程桌面连接保持活跃状态。该会话服务可以在所述游戏用户退出运行的云游戏之后自动关闭。如此,在基于所述云游戏服务器100同时运行多个云游戏的场景下,可以基于每个云游戏启用一个会话服务,使得各云游戏对应的远程桌面连接持续保持活跃状态,以使得各个云游戏能够基于所述云游戏服务器正常运行。
88.请参阅图6所示,图6是本技术实施例提供的用于实现上述云游戏运行方法的云游戏服务器100的示意图。详细地,所述云游戏服务器100可以包括一个或多个处理器110、机器可读存储介质120以及云游戏运行系统130。处理器110与机器可读存储介质120可经由系统总线通信连接。机器可读存储介质120存储有机器可执行指令,处理器110通过读取并执行机器可读存储介质120中机器可执行指令实现上文描述的云游戏运行方法。
89.其中,所述机器可读存储介质120可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,机器可读存储介质120用于存储程序,所述处理器110在接收到执行指令后,执行所述程序。
90.所述处理器110可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可
以是,但不限于,通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)等。
91.请参照图7,是所述云游戏运行系统130的功能模块示意图。本实施例中,所述云游戏运行系统130可以包括一个或多个在所述云游戏服务器运行的软件功能模块,这些软件功能模块可以计算机程序的形式存储在所述机器可读存储介质120中,以使得这些软件功能模块在被所述处理器130调用并执行时,可以实现本技术实施例所述的云游戏运行方法。
92.详细地,所述云游戏运行系统130包括请求模块131以及运行模块132。
93.所述请求模块131用于接收游戏用户发送的针对目标云游戏的启动请求,并在接收到所述启动请求时,判断所述云游戏服务器是否具有运行所述目标云游戏的能力。本实施例中,所述请求模块131用于执行上述方法实施例中的步骤s100,关于该请求模块131的详细内容可以参考上述对该步骤s100的具体内容描述,此处不再一一赘述。
94.所述运行模块132用于在判断所述云游戏服务器具有运行所述目标云游戏的能力时,从所述云游戏服务器中启用一个系统用户账户,并基于该系统用户账户运行所述目标云游戏。其中,所述运行模块132可以通过调用如图5所示的资源管理器(resourcemgr)实现系统用户账户的调度以运行所述目标云游戏。本实施例中,所述运行模块132用于执行上述方法实施例中的步骤s200,关于该运行模块132的详细内容可以参考上述对该步骤s200的具体内容描述,此处不再一一赘述。
95.此外,进一步参阅图7所述,所述云游戏运行系统130还可以进一步包括配置模块133,所述配置模块133在运行所述目标云游戏之前,通过加载并运行预先设置的远程桌面环境配置文件,以对所述云游戏服务器100的操作系统进行远程桌面环境配置,使所述操作系统可以支持多路远程桌面连接并开启远程桌面环境的远程gpu编码功能及远程渲染功能。在一种可能的实现方式中,所述远程桌面环境配置文件可以包括多个配置脚本,例如可以是包括针对所述操作系统进行远程桌面环境配置的配置项目及相应配置参数(如远程桌面连接项目及该项目对应的连接参数等)的配置信息的python脚本或powershell脚本等。运行所述远程桌面环境配置文件的目的在于使所述云游戏服务器100的操作系统允许多个远程桌面连接(rdpsession)同时运行,开启启动远程桌面环境支持远程gpu编码和渲染的能力,以使不同的云游戏能够在不同的系统用户账户所对应的会线.综上所述,本技术实施例提供的云游戏运行方法、系统及云游戏服务器,通过一个云游戏服务器100,采用不同的系统用户账户与不同的游戏终端建立远程桌面连接,实现不同的云游戏在云游戏服务器100上同时运行的方案,实现为多个不同的云游戏所对应的远程桌面会话的系统级隔离,每个云游戏对应的远程会话环境(远程桌面环境)具有独立的桌面、远程音频设备、独立的系统对象和上下文环境等条件,使得不同的远程桌面环境可以独立采集音视频、独立接收系统的操控输入等。基于此,同时运行的多个单实例的云游戏可以实现操控、音视频等的区分采集,进而基于软件层面实现“一机多开”的目的。如此,可解决现有技术中一个游戏会独占整个目标服务器的系统资源而造成的系统资源浪费的问题。
97.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能
和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
98.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
99.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
100.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
101.以上所述,仅为本技术的各种实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。