CN116266137A - 云游戏服务系统 - Google Patents
云游戏服务系统 Download PDFInfo
- Publication number
- CN116266137A CN116266137A CN202111541856.6A CN202111541856A CN116266137A CN 116266137 A CN116266137 A CN 116266137A CN 202111541856 A CN202111541856 A CN 202111541856A CN 116266137 A CN116266137 A CN 116266137A
- Authority
- CN
- China
- Prior art keywords
- game
- server
- cloud
- computing
- target
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 33
- 230000000875 corresponding effect Effects 0.000 claims description 24
- 238000013468 resource allocation Methods 0.000 claims description 24
- 238000007726 management method Methods 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 22
- 238000012545 processing Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书涉及云计算技术领域,具体地公开了一种云游戏服务系统,其中,该方法包括:云服务器以及与所述云服务器通信连接的边缘服务器,其中,所述边缘服务器用于接收客户端发送的游戏运行请求,其中,所述游戏运行请求中携带有目标游戏标识;所述边缘服务器将所述目标游戏标识与本地存储的第一游戏列表进行匹配,在匹配成功的情况下,所述边缘服务器向所述客户端提供所述目标游戏标识对应的游戏服务,在匹配不成功的情况下,所述边缘服务器将所述游戏运行请求转发至所述云服务器,使得所述云服务器向所述客户端提供所述目标游戏标识对应的游戏服务。上述方案可以实现云游戏的低延时和高性能。
Description
技术领域
本说明书涉及云计算技术领域,特别涉及一种云游戏服务系统。
背景技术
近年来,云游戏迅速实现了从概念提出到产业落地。实际上,电子游戏数十年的发展历程早已蕴含着云游戏的产业因素。随着5G、云计算等技术的逐渐成熟,云游戏运营机制迅速构建成形。近年来,由于游戏的画质不断提升,对硬件的配置也要求越来越高,高配置的硬件给游戏玩家增加了成本。在云游戏中,游戏运行在云服务器上,玩家通过客户机在互联网上进行游戏交互,这样,游戏玩家无需安装大型的游戏,或者购买昂贵的硬件,就可以体验到大型游戏的快感。云服务器将呈现的游戏场景编码到视频中,并将视频传输到客户机。客户机将视频解码并显示给游戏玩家,并将玩家的控制命令发送给运行游戏的云服务器。与传统的主机游戏不同,云游戏将整个运行的负载放到了云上,这大大降低了高端游戏玩家对软件和硬件的需求。通过这种方法,云游戏可以在任何时间、任何地点、任何设备上为玩家提供高质量的游戏体验。
云游戏主要需要数据计算、图形渲染、视频编码解码、网络传输等设备和技术,其中网络传输依赖5G,数据计算依赖云计算和CPU,图形渲染依赖云计算和GPU,视频解码通过流媒体方式即时传输。云游戏以云计算为基础,在远程服务器上运行游戏,并将游戏画面直接传输到用户的设备上,更通俗地说,就是在云端远程玩游戏。云游戏允许在计算机、控制台和移动设备上直接或按需申请开始运行相应游戏,实际的游戏在远程运营商或游戏公司的服务器(可以是物理服务器或者虚拟机)上存储,执行和渲染。这种方式下,用户计算机的配置变得不那么重要,因为游戏的运行和处理是在服务器上进行的。来自用户的游戏操作被直接传送到服务器,然后服务器做出响应,将结果发送给用户,用户通过此种方式开始体验游戏。
云游戏需要大量的基础设施,以使其能够正常工作。高带宽的互联网是传输大量视频内容的必要条件,还需要有大型数据中心或服务器集群才能支持多个用户同时在线。对于用户而言,与服务器之间的交互延迟,以及游戏画面和音效质量,也即是用户游戏体验是用户最为关注的方面。因此如何在保证用户游戏体验感的同时降低客户端和服务器之间的交互延迟是云游戏产业迫切需要解决的问题。云游戏交互延迟是由网络延迟(网络传输往返时间)、云游戏服务器端响应延迟(游戏渲染、视频编码和传输、音频编码和传输等)和云游戏客户端播放延迟(视频解码和显示、音频解码和输出)组成的。对于网络延迟,25Mbps以上带宽的用户基本不用担心,而5G的出现也有望解决移动端网络延迟的问题。对于云游戏服务器端响应延迟,现有的工作尝试也从多个角度去尝试减少云游戏服务器端响应延迟,例如加速视频编码、推测渲染帧或调整视频流参数。然而,到目前为止,降低云游戏响应延迟的相关方案的效果不是很显著。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种云游戏服务系统,以解决现有技术中云游戏中用户与服务器之间的交互延迟较大的问题。
本说明书实施例提供了一种云游戏服务系统,包括云服务器以及与所述云服务器通信连接的边缘服务器,其中,所述边缘服务器用于接收客户端发送的游戏运行请求,其中,所述游戏运行请求中携带有目标游戏标识;所述边缘服务器将所述目标游戏标识与本地存储的第一游戏列表进行匹配,在匹配成功的情况下,所述边缘服务器向所述客户端提供所述目标游戏标识对应的游戏服务,在匹配不成功的情况下,所述边缘服务器将所述游戏运行请求转发至所述云服务器,使得所述云服务器向所述客户端提供所述目标游戏标识对应的游戏服务。
在一个实施例中,所述边缘服务器包括多个边缘服务器,所述多个边缘服务器中各边缘服务器接收对应区域范围内的客户端发送的游戏运行请求。
在一个实施例中,所述边缘服务器还用于根据预设时间段内接收到的游戏运行请求更新本地存储的第一游戏列表以及本地缓存区的游戏内容。
在一个实施例中,所述云服务器还用于获取所述边缘服务器接收到的游戏运行请求的数据并进行记录,所述云服务器还用于维护本地存储的第二游戏列表以及更新所述边缘服务器中存储的所述第一游戏列表。
在一个实施例中,所述第一游戏列表中包括多个游戏标识,所述多个游戏标识中各游戏标识对应的游戏优先级与游戏欢迎程度正相关。
在一个实施例中,所述边缘服务器包括采用分布式方式部署的服务器集群,所述服务器集群包括控制节点和计算节点;其中,所述控制节点包括主控制节点和备份控制节点;所述主控制节点用于维护所述服务器集群本地存储的第一游戏列表,还用于记录游戏内容的缓存地址,管理所述服务器集群中的计算节点并负责所述服务器集群的资源管理,所述主控制节点还用于与所述云服务器进行通信;所述备份控制节点用于实时同步所述主控制节点中的节点数据,并在所述主控制节点出现故障时转换为主控制节点;所述计算节点用于缓存游戏内容到本地以完成计算任务。
在一个实施例中,所述主控制节点包括资源调度器,所述资源调度器用于将多个计算任务发送至所述计算节点上的虚拟机来完成,根据虚拟机个数对物理机性能的影响对所述计算节点上的虚拟机的资源配置进行更新。
在一个实施例中,所述资源调度器具体用于:获取虚拟机上同时执行的应用程序的个数、计算任务的要求完成时间以及占用的CPU核数;根据所述计算任务在虚拟机的执行时间、所述虚拟机上同时执行的应用程序的个数以及所述计算任务占用的CPU核数,计算在集群环境下完成所述计算任务所需的时间;基于计算任务的要求完成时间和经确定的在集群环境下完成所述计算任务所需的时间,确定出不满足预设条件的目标计算任务;依据在集群环境下完成所述目标计算任务所需的时间、所述目标计算任务的要求完成时间以及虚拟机上同时执行的应用程序的个数,确定再为执行所述目标计算任务分配的CPU核数;根据确定出的再为执行所述目标计算任务分配的CPU核数进行资源分配,以执行所述目标计算任务。
在一个实施例中,所述资源调度器按照以下公式计算在集群环境下完成所述计算任务所需的时间:
其中,time表示所述计算任务在虚拟机的执行时间,C表示CPU核数,T表示所述虚拟机上同时执行的应用程序的个数,Time表示在集群环境下完成所述计算任务所需的时间。
在一个实施例中,所述资源调度器按照以下公式确定再为执行所述目标计算任务分配的CPU核数:
其中,为再为第i个目标计算任务分配的CPU核数,d为目标计算任务的总个数,/>为第i个目标计算任务的要求完成时间,T表示所述虚拟机上同时执行的应用程序的个数,/>为在集群环境下完成第i个目标计算任务所需的时间。
在本说明书实施例中,提供了一种云游戏服务系统,包括云服务器以及与所述云服务器通信连接的边缘服务器,所述边缘服务器用于接收客户端发送的游戏运行请求,所述边缘服务器将所述游戏运行请求中携带的目标游戏标识与本地存储的第一游戏列表进行匹配,在匹配成功的情况下,所述边缘服务器向所述客户端提供所述目标游戏标识对应的游戏服务,在匹配不成功的情况下,所述边缘服务器将所述游戏运行请求转发至所述云服务器,使得所述云服务器向所述客户端提供所述目标游戏标识对应的游戏服务。上述方案中,将云服务器与边缘服务器结合,形成云边协同的游戏服务框架,在云边端协同融合网络架构下,用户可根据位置就近选择边缘节点,有针对性的部署业务,在边缘服务器维护第一游戏列表,云服务器记录平台支持运行的所有游戏以及用户点击次数,边缘服务器根据自身算力以及存储能力从云服务器获取部分游戏内容,为用户提供服务,可以提高云游戏服务系统的性能并减少延时,改善用户体验。通过上述方案解决了现有技术中云游戏中用户与服务器之间的交互延迟较大的问题,达到了有效减小交互延迟、提升系统性能以及改善用户体验的技术效果。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1示出了本说明书一实施例中云游戏服务系统的应用场景的示意图;
图2示出了本说明书一实施例中的云游戏服务系统的结构框图;
图3示出了本说明书一实施例中的云边协同计算架构的数据存储方式的示意图;
图4示出了本说明书一实施例中的资源分配算法的流程图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本说明书实施例提供了一种云游戏服务系统。图1示出了本说明书一实施例中云游戏服务系统的应用场景的示意图。
如图1所示,云游戏服务系统可以包括云服务器和至少一个边缘服务器。每一个边缘服务器可以接收该边缘服务器客户端发送的游戏运行请求。
所述游戏运行请求中可以携带有目标游戏标识。边缘服务器中可以存储有第一游戏列表,第一游戏列表中可以记录有多个游戏标识以及其他相关信息。边缘服务器可以将游戏运行请求中携带的目标游戏标识与本地存储的第一游戏列表进行匹配。在一个实施例中,边缘服务器可以确定第一游戏列表中是否存在目标游戏标识。
在匹配成功的情况下,所述边缘服务器向所述客户端提供所述目标游戏标识对应的游戏服务。在匹配不成功的情况下,所述边缘服务器将所述游戏运行请求转发至所述云服务器。云服务器可以提供所有游戏的游戏服务。云服务器接到到边缘服务器转发的游戏运行请求后,可以向所述客户端提供所述目标游戏标识对应的游戏服务。
上述实施例中的云游戏服务器系统,将云服务器与边缘服务器结合,形成云边协同的游戏服务框架,在云边端协同融合网络架构下,用户可根据位置就近选择边缘节点,有针对性的部署业务,在边缘服务器维护第一游戏列表,云服务器记录平台支持运行的所有游戏以及用户点击次数,边缘服务器根据自身算力以及存储能力从云服务器获取部分游戏内容,为用户提供服务,可以提高云游戏服务系统的性能并减少延时,改善用户体验。
在本说明书一些实施例中,所述边缘服务器可以包括多个边缘服务器,所述多个边缘服务器中各边缘服务器接收对应区域范围内的客户端发送的游戏运行请求。在一个实施例中,边缘服务器可以为距离该边缘服务器预设距离的范围内的客户端提供游戏服务。在另一个实施例中,边缘服务器可以为与其处于同一个局域网的客户端提供游戏服务。上述实施例是示意性的,本申请不限于此。通过边缘服务器为预设范围内的客户端提供游戏服务,可以降低网络延时。
在本说明书一些实施例中,所述边缘服务器还可以用于根据预设时间段内接收到的游戏运行请求更新本地存储的第一游戏列表以及本地缓存区的游戏内容。
考虑到边缘服务器的性能,在边缘服务器中的第一游戏列表中存储用户点击较多的游戏信息。因此,边缘服务器可以记录预设时间段内用户点击较多的游戏信息。例如,可以统计预设时间内接收到的游戏运行请求中的游戏标识。根据预设时间段内接收到的游戏运行请求中各游戏的点击量来更新本地存储的第一游戏列表以及本地缓存区的游戏内容。例如,可以将各游戏的点击量按降序排列,将排在前面预设位数的游戏对应的游戏标识等信息存储在第一游戏列表中。之后,在缓存区中缓存更新后的第一游戏列表对应的游戏内容。通过上述方式,可以根据用户需求实时更新第一游戏列表,以满足用户需求,改善用户体验。
在本说明书一些实施例中,所述云服务器还可以用于获取所述边缘服务器接收到的游戏运行请求的数据并进行记录,所述云服务器还可以用于维护本地存储的第二游戏列表以及更新所述边缘服务器中存储的所述第一游戏列表。
请参考图2,示出了本说明书一实施例中的云游戏服务系统的结构框图。如图2所示,客户端与边缘服务器进行交互。边缘服务器中可以存储有游戏列表。边缘服务器可以为游戏列表中记录的游戏提供游戏服务,即进行对应的数据处理。云服务器可以与边缘服务器通信连接。边缘服务器可以将匹配失败的游戏运行请求转发至云服务器。云服务器中存储有第二游戏列表。第二游戏列表可以存储所有游戏对应的游戏标识以及其他信息。云服务器可以维护本地存储的第二游戏列表,还可以根据需要更新边缘服务器中存储的第一游戏列表。
在本说明书一些实施例中,所述第一游戏列表中可以包括多个游戏标识,所述多个游戏标识中各游戏标识对应的游戏优先级与游戏欢迎程度正相关。具体地,边缘服务器可以统计各游戏的点击量,并根据点击量确定游戏欢迎程度,进而根据游戏欢迎程度来确定各游戏标识对应的游戏优先级。
在本说明书一些实施例中,所述边缘服务器可以包括采用分布式方式部署的服务器集群,所述服务器集群包括控制节点和计算节点;其中,所述控制节点可以包括主控制节点和备份控制节点;所述主控制节点可以用于维护所述服务器集群本地存储的第一游戏列表,还用于记录游戏内容的缓存地址,管理所述服务器集群中的计算节点并负责所述服务器集群的资源管理,所述主控制节点还用于与所述云服务器进行通信;所述备份控制节点可以用于实时同步所述主控制节点中的节点数据,并在所述主控制节点出现故障时转换为主控制节点;所述计算节点可以用于缓存游戏内容到本地以完成计算任务。
请参考图3,示出了本说明书一实施例中的云边协同计算架构的数据存储方式的示意图。如图3所示,边缘服务器可以包括采用分布式方式部署的服务器集群,服务器集群可以包括控制节点(Controller_0和Controller_1)和计算节点(Node_1、Node_2、Node_3和Node_4)。主控制节点Controller_0可以维护所述服务器集群本地存储的第一游戏列表。主控制节点Controller_0还可以记录游戏内容的缓存地址,便于为客户端提供游戏服务。主控制节点Controller_0还可以管理所述服务器集群中的计算节点并负责所述服务器集群的资源管理。主控制节点Controller_0可以与云服务器通信连接,以向云服务器转发游戏运行请求以及发送游戏运行请求统计数据等。备份控制节点Controller_1可以实时同步所述主控制节点中的节点数据,并在所述主控制节点出现故障时转换为主控制节点,实现主控制节点的功能。计算节点Node_1、Node_2、Node_3和Node_4用于缓存游戏内容到本地以完成计算任务。通过采用分布式架构,可以减轻高并发、大带宽业务对中心的压力,并针对终端请求的本地化处理,缩短多级转发的时延消耗,做到真正的低延时、高性能。
在本说明书一些实施例中,所述主控制节点可以包括资源调度器,所述资源调度器用于将多个计算任务发送至所述计算节点上的虚拟机来完成,根据虚拟机个数对物理机性能的影响对所述计算节点上的虚拟机的资源配置进行更新。
具体地,为了降低游戏延时,可以对服务器的集群资源进行分配,提高游戏处理效率。可以在主控制节点中设置资源调度器。资源调度器可以将多个计算任务发送至计算节点上的虚拟机来完成,可以根据虚拟机个数对物理机性能的影响对计算节点上的虚拟机的资源配置进行更新,以减少任务处理时间,提高运行效率。
在本说明书一些实施例中,所述资源调度器具体用于:获取虚拟机上同时执行的应用程序的个数、计算任务的要求完成时间以及占用的CPU核数;根据所述计算任务在虚拟机的执行时间、所述虚拟机上同时执行的应用程序的个数以及所述计算任务占用的CPU核数,计算在集群环境下完成所述计算任务所需的时间;基于计算任务的要求完成时间和经确定的在集群环境下完成所述计算任务所需的时间,确定出不满足预设条件的目标计算任务;依据在集群环境下完成所述目标计算任务所需的时间、所述目标计算任务的要求完成时间以及虚拟机上同时执行的应用程序的个数,确定再为执行所述目标计算任务分配的CPU核数;根据确定出的再为执行所述目标计算任务分配的CPU核数进行资源分配,以执行所述目标计算任务。通过上述方式,可以对集群的计算资源进行调度更新,以减少计算时间,提高运行效率,降低延时,改善用户体验。
在本说明书一些实施例中,所述资源调度器可以按照以下公式计算在集群环境下完成所述计算任务所需的时间:
其中,time表示所述计算任务在虚拟机的执行时间,C表示CPU核数,T表示所述虚拟机上同时执行的应用程序的个数,Time表示在集群环境下完成所述计算任务所需的时间。
在本说明书一些实施例中,所述资源调度器可以按照以下公式确定再为执行所述目标计算任务分配的CPU核数:
其中,为再为第i个目标计算任务分配的CPU核数,d为目标计算任务的总个数,/>为第i个目标计算任务的要求完成时间,T表示所述虚拟机上同时执行的应用程序的个数,/>为在集群环境下完成第i个目标计算任务所需的时间。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
下面结合一个具体实施例对上述系统和资源分配方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
针对云游戏服务提供商,为了优化用户服务策略,减少云游戏服务器端响应延迟,提升用户的游戏体验感,本实施例提出一种云边端协同融合网络架构,以最大化用户服务质量为目标,对资源管理进行动态建模优化。在云边端协同融合网络架构下,用户可根据位置就近选择边缘节点,有针对性的部署业务,通过分布式网络架构来减轻高并发、大带宽业务对中心的压力,并针对终端请求的本地化处理,缩短多级转发的时延消耗,做到真正的低延时、高性能。在边缘以及云端服务器都会维护一个游戏列表,云服务器记录平台支持运行的所有游戏以及用户点击次数,并以点击次数为优先级排列。边缘服务器根据自身算力以及存储能力从云服务器获取部分游戏内容,为用户提供服务,游戏列表同样按照点击次数为优先级排列。同时为了充分利用服务器资源,本实施例还提出一种云边协同计算架构下边缘服务器资源分配算法,通过虚拟机和宿主物理机的关系,计算得出虚拟机中不同计算任务的缺额CPU核数,并分别根据游戏列表按优先级实时统一分配硬件资源。
本实施例中的云边协同网络架构以及资源分配算法,可以有效解决云游戏所面临的响应延迟高问题,能够满足云游戏实际运行场景的需求。从系统资源划分角度出发,在动态系统负载下,对系统进程的资源进行动态划分,能够充分利用集群计算资源,并达到降低云游戏服务器端响应延迟的目的。
边缘服务器处理过程可以包括:
a)客户端向所属区域的边缘服务器提交游戏运行请求;
b)边缘服务器维护一个游戏列表,根据游戏受欢迎程度记录在边缘服务器本地缓存的游戏以及游戏优先级,收到游戏运行请求先与游戏列表中的游戏进行匹配,匹配成功则由边缘服务器提供服务,匹配失败则把请求转发到云服务器;
c)定时根据游戏请求数量更新游戏列表以及缓存区游戏内容。
云服务器处理过程可以包括:
a)处理从边缘服务器提交过来的游戏请求;
b)维护包含所有游戏的游戏列表,更新边缘服务器的游戏列表;
c)从边缘服务器拉取游戏请求增量数据,记录游戏请求数量。
为了实现高可用的服务架构,采用分布式方式部署集群,一个服务器集群包括两个控制节点,多个计算节点。两个控制节点一主一备,主控制节点维护游戏列表,记录游戏内容缓存地址,管理集群的计算节点,负责整个集群的资源管理,同时还需要与云服务器进行通信,备份节点实时同步主节点数据,在主节点出现故障或宕机时转换为主节点完成服务请求。计算节点负责缓存游戏内容到本地,完成计算任务。
下面具体描述本说明实施例中提供的资源分配模型。
假设现有任务个数为b,一个边缘服务器集群上的任务类型e={e1,e2,…,ef},f表示边缘服务器集群上的任务类型个数。每个计算节点设置的虚拟机个数为Q个,表示为V={V1,V2,…,VQ},一个Vi的虚拟机资源配置为Ri=[x,y,z],x为CPU,y为内存,z为硬盘空间。任务执行时间为:
其中,time表示单个任务执行的时间,C表示CPU核数,T表示应用程序同时执行的个数,Time表示所有应用程序执行所需要的时间。
考虑到不同计算任务的通信时延,如云计算的通信时延大约为100ms,边缘服务器的通信大约为10到40ms,路由器的通信延时大约为5ms,则完成数据处理所需时间为:
Req_Time'≥time_com+time_del (2)
其中,Req_Time'表示完成数据处理所需的时间,time_com表示计算所需时间,time_del表示任务的通信时延。创建虚拟机会对物理机性能产生影响,当虚拟机数量小于CPU核心数的时候,系统用户占用的CPU资源随着虚拟机数量的增加而增加,应用程序的执行时间不受虚拟机数量的影响。当虚拟机数量超过宿主机CPU核心数Cphy时,随着虚拟机数量的增加,性能逐渐降低,影响率为θ,由此虚拟机数量Q和影响率θ关系:
假设b个任务分别在相同配置的Q个虚拟机中并获得相应的执行时间time={time1,time2,…,timeb},根据公式(1)可以得到在集群环境下的处理时间Time={Time1,Time2,…,Timeb}。针对不同的业务需求,执行时间Time必须小于要求完成时间Req_Time'。
如果Π中有d个1,则未按时完成任务集合b={b1,b2,…,bd},其对应的序列seq={seq(b1),seq(b2),…,seq(bd)},对应的执行时间对应的要求完成时间/>结合公式(1)和公式(3)得到最佳虚拟机性能的资源分配方法:
结合公式(3)和公式(5)可知,需要将不小于C个且不大于d个虚拟机按最大优先级列表增加相应Cadd核心数。
边缘服务集群的每台虚拟机首先会被分配到相同的虚拟机资源,调度器将计算任务发送给虚拟机来完成,通过虚拟机个数对物理机性能的影响对虚拟机的资源配置进行相应的更新。请参考图4,示出了资源分配算法的流程。如图4所示,资源分配算法可以包括以下步骤:
S401,获取应用程序同时执行的个数,完成数据处理所需的时间以及占用的CPU核数,同时初始化CPU核心数添加列表。
S402,根据计算任务在虚拟机的执行时间time以及公式(1)计算得到在集群环境下完成计算所需要的时间Time,根据公式(4)计算出b个任务在该计算架构下的执行时间。
S403,对于b个任务中不满虚要求完成时间的d个任务,根据其任务运行时间以及虚拟机运行的应用程序数量,由公式(5)可计算得到为尽快完成计算任务可以优先为其增加分配的CPU核数。
S404,调度器根据S403计算得到的数值,再分配相应数量的CPU核数来完成对该任务的计算。
基于同一发明构思,本说明书实施例中还提供了一种资源分配方法。本说明书实施例中的资源分配方法应用于上述任意实施例中所述的云游戏服务器系统中采用分布式方式部署的服务器集群的边缘服务器,用于对边缘服务器中的计算资源进行调度分配。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
本说明书一种实施例提供的资源分配方法可以包括以下步骤:获取虚拟机上同时执行的应用程序的个数、计算任务的要求完成时间以及占用的CPU核数;根据所述计算任务在虚拟机的执行时间、所述虚拟机上同时执行的应用程序的个数以及所述计算任务占用的CPU核数,计算在集群环境下完成所述计算任务所需的时间;基于计算任务的要求完成时间和经确定的在集群环境下完成所述计算任务所需的时间,确定出不满足预设条件的目标计算任务;依据在集群环境下完成所述目标计算任务所需的时间、所述目标计算任务的要求完成时间以及虚拟机上同时执行的应用程序的个数,确定再为执行所述目标计算任务分配的CPU核数;根据确定出的再为执行所述目标计算任务分配的CPU核数进行资源分配,以执行所述目标计算任务
基于同一发明构思,本说明书实施例中还提供了一种资源分配装置,如下面的实施例所述。本说明书实施例中的资源分配方法应用于上述任意实施例中所述的云游戏服务器系统中采用分布式方式部署的服务器集群的边缘服务器,用于对边缘服务器中的计算资源进行调度分配。由于资源分配装置解决问题的原理与云游戏服务系统相似,因此资源分配装置的实施可以参见云游戏服务系统的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。本说明书实施例的资源分配装置可以包括:获取模块,用于获取虚拟机上同时执行的应用程序的个数、计算任务的要求完成时间以及占用的CPU核数;计算模块,用于根据所述计算任务在虚拟机的执行时间、所述虚拟机上同时执行的应用程序的个数以及所述计算任务占用的CPU核数,计算在集群环境下完成所述计算任务所需的时间;第一确定模块,用于基于计算任务的要求完成时间和经确定的在集群环境下完成所述计算任务所需的时间,确定出不满足预设条件的目标计算任务;第二确定模块,用于依据在集群环境下完成所述目标计算任务所需的时间、所述目标计算任务的要求完成时间以及虚拟机上同时执行的应用程序的个数,确定再为执行所述目标计算任务分配的CPU核数;分配模块,用于根据确定出的再为执行所述目标计算任务分配的CPU核数进行资源分配,以执行所述目标计算任务。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:将云服务器与边缘服务器结合,形成云边协同的游戏服务框架,在云边端协同融合网络架构下,用户可根据位置就近选择边缘节点,有针对性的部署业务,在边缘服务器维护第一游戏列表,云服务器记录平台支持运行的所有游戏以及用户点击次数,边缘服务器根据自身算力以及存储能力从云服务器获取部分游戏内容,为用户提供服务,可以提高云游戏服务系统的性能并减少延时,改善用户体验。通过上述方案解决了现有技术中云游戏中用户与服务器之间的交互延迟较大的问题,达到了有效减小交互延迟、提升系统性能以及改善用户体验的技术效果。
本说明书实施方式还提供了一种计算机设备,基于本说明书实施例提供的资源分配方法,所述计算机设备具体可以包括输入设备、处理器、存储器。其中,所述存储器用于存储处理器可执行指令。所述处理器执行所述指令时实现上述任意实施例中所述的资源分配方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施方式中还提供了一种基于资源分配方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述资源分配方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
Claims (10)
1.一种云游戏服务系统,其特征在于,包括云服务器以及与所述云服务器通信连接的边缘服务器,其中,
所述边缘服务器用于接收客户端发送的游戏运行请求,其中,所述游戏运行请求中携带有目标游戏标识;
所述边缘服务器将所述目标游戏标识与本地存储的第一游戏列表进行匹配,在匹配成功的情况下,所述边缘服务器向所述客户端提供所述目标游戏标识对应的游戏服务,在匹配不成功的情况下,所述边缘服务器将所述游戏运行请求转发至所述云服务器,使得所述云服务器向所述客户端提供所述目标游戏标识对应的游戏服务。
2.根据权利要求1所述的云游戏服务系统,其特征在于,所述边缘服务器包括多个边缘服务器,所述多个边缘服务器中各边缘服务器接收对应区域范围内的客户端发送的游戏运行请求。
3.根据权利要求1所述的云游戏服务系统,其特征在于,所述边缘服务器还用于根据预设时间段内接收到的游戏运行请求更新本地存储的第一游戏列表以及本地缓存区的游戏内容。
4.根据权利要求1所述的云游戏服务系统,其特征在于,所述云服务器还用于获取所述边缘服务器接收到的游戏运行请求的数据并进行记录,所述云服务器还用于维护本地存储的第二游戏列表以及更新所述边缘服务器中存储的所述第一游戏列表。
5.根据权利要求1所述的云游戏服务系统,其特征在于,所述第一游戏列表中包括多个游戏标识,所述多个游戏标识中各游戏标识对应的游戏优先级与游戏欢迎程度正相关。
6.根据权利要求1所述的云游戏服务系统,其特征在于,所述边缘服务器包括采用分布式方式部署的服务器集群,所述服务器集群包括控制节点和计算节点;其中,
所述控制节点包括主控制节点和备份控制节点;
所述主控制节点用于维护所述服务器集群本地存储的第一游戏列表,还用于记录游戏内容的缓存地址,管理所述服务器集群中的计算节点并负责所述服务器集群的资源管理,所述主控制节点还用于与所述云服务器进行通信;
所述备份控制节点用于实时同步所述主控制节点中的节点数据,并在所述主控制节点出现故障时转换为主控制节点;
所述计算节点用于缓存游戏内容到本地以完成计算任务。
7.根据权利要求6所述的云游戏服务系统,其特征在于,所述主控制节点包括资源调度器,所述资源调度器用于将多个计算任务发送至所述计算节点上的虚拟机来完成,根据虚拟机个数对物理机性能的影响对所述计算节点上的虚拟机的资源配置进行更新。
8.根据权利要求7所述的云游戏服务系统,其特征在于,所述资源调度器具体用于:
获取虚拟机上同时执行的应用程序的个数、计算任务的要求完成时间以及占用的CPU核数;
根据所述计算任务在虚拟机的执行时间、所述虚拟机上同时执行的应用程序的个数以及所述计算任务占用的CPU核数,计算在集群环境下完成所述计算任务所需的时间;
基于计算任务的要求完成时间和经确定的在集群环境下完成所述计算任务所需的时间,确定出不满足预设条件的目标计算任务;
依据在集群环境下完成所述目标计算任务所需的时间、所述目标计算任务的要求完成时间以及虚拟机上同时执行的应用程序的个数,确定再为执行所述目标计算任务分配的CPU核数;
根据确定出的再为执行所述目标计算任务分配的CPU核数进行资源分配,以执行所述目标计算任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111541856.6A CN116266137A (zh) | 2021-12-16 | 2021-12-16 | 云游戏服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111541856.6A CN116266137A (zh) | 2021-12-16 | 2021-12-16 | 云游戏服务系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116266137A true CN116266137A (zh) | 2023-06-20 |
Family
ID=86743104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111541856.6A Pending CN116266137A (zh) | 2021-12-16 | 2021-12-16 | 云游戏服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116266137A (zh) |
-
2021
- 2021-12-16 CN CN202111541856.6A patent/CN116266137A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097596B2 (en) | Multiple stream content presentation | |
JP5373295B2 (ja) | マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム | |
EP4095804A1 (en) | Image processing method and device, server, and medium | |
CN109889576B (zh) | 一种基于博弈论的移动云游戏资源优化方法 | |
JP6310073B2 (ja) | 描画システム、制御方法、及び記憶媒体 | |
CN109460297B (zh) | 一种边缘云游戏缓存和资源调度方法 | |
JP4920038B2 (ja) | 複数のグループに属するロケーションサーバを用いたユーザのログ情報管理方法及びシステム | |
JP2023089076A (ja) | コンピューティングシステム及び方法 | |
US11321259B2 (en) | Network architecture providing high speed storage access through a PCI express fabric between a compute node and a storage server | |
WO2021104101A1 (zh) | 游戏服务器架构 | |
CN110474966B (zh) | 处理云平台资源碎片的方法及相关设备 | |
CN115671726B (zh) | 游戏数据渲染方法、装置、设备及存储介质 | |
US11924255B2 (en) | Data transmission method and apparatus, server, storage medium, and program product | |
CN110025957A (zh) | 一种云游戏服务器端架构、客户端和系统 | |
CN111135586B (zh) | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 | |
US20150156278A1 (en) | Methods and systems for bandwidth-efficient remote procedure calls | |
Jaya et al. | Rendering server allocation for mmorpg players in cloud gaming | |
CN110493317B (zh) | 处理云平台资源碎片的方法及相关设备 | |
WO2023107283A1 (en) | Network storage game allocation based on artificial intelligence | |
CN115794139A (zh) | 镜像数据处理方法、装置、设备以及介质 | |
CN113486042B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN116266137A (zh) | 云游戏服务系统 | |
CN109011568B (zh) | 游戏地图的分配方法及系统 | |
Valadares et al. | Evolution of scalability with synchronized state in virtual environments | |
CN106790354A (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 |