CN116266138A - 一种优化交互玩家间延迟的方法、装置及设备 - Google Patents
一种优化交互玩家间延迟的方法、装置及设备 Download PDFInfo
- Publication number
- CN116266138A CN116266138A CN202111542773.9A CN202111542773A CN116266138A CN 116266138 A CN116266138 A CN 116266138A CN 202111542773 A CN202111542773 A CN 202111542773A CN 116266138 A CN116266138 A CN 116266138A
- Authority
- CN
- China
- Prior art keywords
- player
- cloud data
- delay
- interaction
- virtual machine
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 50
- 230000003993 interaction Effects 0.000 claims abstract description 136
- 230000004044 response Effects 0.000 claims abstract description 97
- 238000005457 optimization Methods 0.000 claims abstract description 9
- 238000009826 distribution Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 19
- 230000001934 delay Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种优化交互玩家间延迟的方法、装置及设备,应用于分布式数据中心,所述分布式数据中心中各个云数据中心上部署有为玩家提供服务的虚拟机,所述方法包括:根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。利用本说明书实施例可以在保证每个玩家响应延迟要求的情况下,最小化交互玩家间的延迟差异,进而提升云游戏环境中用户服务质量。
Description
技术领域
本申请涉及云计算技术领域,特别涉及一种优化交互玩家间延迟的方法、装置及设备。
背景技术
随着云计算技术和GPU(图形处理器)虚拟化技术的飞速发展,云计算的新型应用—云游戏应运而生。与传统的在线游戏不同,基于云的游戏不在玩家的本地设备上运行,而是在云游戏系统中运行。
目前,在云游戏系统中,需要玩家的本地设备和云数据中心之间进行通信,这样不仅会增加游戏会话的响应延迟,而且会由于交互玩家间的延迟差异,降低云游戏环境中用户服务质量(QoE)。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种优化交互玩家间延迟的方法、装置及设备,可以在保证每个玩家响应延迟要求的情况下,通过有效地分配虚拟机运行位置来最小化交互玩家间的延迟差异,从而提升云游戏环境中用户服务质量。
本说明书提供的一种优化交互玩家间延迟的方法、装置及设备是包括以下方式实现的。
一种优化交互玩家间延迟的方法,包括:应用于分布式数据中心,所述分布式数据中心中各个云数据中心上部署有为玩家提供服务的虚拟机,所述方法包括:根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
一种优化交互玩家间延迟的装置,包括:第一确定模块,用于根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;第二确定模块,用于基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;获得模块,用于基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
一种优化交互玩家间延迟的设备,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中任意一个方法实施例的步骤。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现本说明书实施例中任意一个方法实施例的步骤。
本说明书提供的一种优化交互玩家间延迟的方法、装置及设备,在一些实施例中可以根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;还可以基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机,进一步可以基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。由于本说明书实施例针对云游戏环境中用户服务质量不高的问题,引入交互延迟模型,通过启发式算法对模型进行优化,从而可以在保证每个玩家响应延迟要求的情况下,最小化交互玩家间的延迟差异,进而提升云游戏环境中用户服务质量。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
图1是本说明书提供的一种云游戏系统部署框架示意图;
图2是本说明书提供的一种优化交互玩家间延迟的方法的一个实施例的流程示意图;
图3是本说明书提供的一种优化交互玩家间延迟的装置的一个实施例的模块结构示意图;
图4是本说明书提供的一种优化交互玩家间延迟的服务器的一个实施例的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书中的一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例保护的范围。
本说明书提供的一种实施方案可以应用到分布式数据中心,也可以应用到分布式数据中心与服务器的交互系统,还可以应用到服务器、分布式数据中心以及客户端的交互系统(如多玩家云游戏系统)等中。所述客户端可以包括终端设备,如智能手机、平板电脑等。所述服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式系统的服务器结构、应用服务器等。所述分布式数据中心中可以包括多个云数据中心,每个云数据中心上可以部署有为玩家提供服务的一个或多个虚拟机(VirtualMachine,VM),每个虚拟机上可以部署有运行目标应用的环境,目标应用可以支持多玩家交互。
如图1所示,是本说明书提供的一种云游戏系统部署框架示意图。其中,云游戏系统部署框架可以包括:远程游戏服务器、云数据中心、玩家用户(玩家客户端)。远程游戏服务器(remote game server)可以用于玩家客户端之间交互的通信,从而保证其游戏状态同步。云数据中心(cloud Data Center)可以是基于地理位置分布在世界各地的数据中心,主要可以用于运行虚拟机,为玩家提供服务。玩家用户(Player)主要是通过玩家客户端接入云游戏系统进行云游戏的体验。通常,在云游戏场景下,玩家用户可以通过任意终端,如PC、智能手机、平板电脑、互联网电视等设备通过网页或者特定软件接入云游戏服务提供商的游戏云平台。在云游戏系统中,当游戏玩家请求运行一个游戏时,云游戏系统中的云数据中心会启动游戏实例执行游戏逻辑,并响应玩家输入将游戏渲染画面实时压缩以视频流方式传输至玩家的本地设备;玩家接收视频流后可以在任何平台(如PC、智能手机、平板电脑、互联网电视等)播放游戏画面。
本说明书实施例中,游戏客户端(即目标应用)运行在云数据中心的虚拟机上。从远程游戏服务器的角度来看,虚拟机作为玩家的设备出现,连接到远程游戏服务器以交换游戏的状态。从玩家用户的角度来看,虚拟机可以充当远程游戏服务器的角色,负责处理游戏图形和逻辑,然后通过因特网将编码的视频流发送给玩家用户。
下面以一个具体的应用场景为例对本说明书实施方案进行说明。具体的,图2是本说明书提供的一种优化交互玩家间延迟的方法的一个实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。
需要说明的是,下述实施例以应用于分布式数据中心为例进行说明,其并不对基于本说明书的其他可扩展到的应用场景中的技术方案构成限制,其中,所述分布式数据中心中各个云数据中心上部署有为玩家提供服务的虚拟机,每个虚拟机上部署有运行目标应用的环境,所述目标应用支持多玩家交互。具体的一种实施例如图2所示,本说明书提供的一种优化交互玩家间延迟的方法的一种实施例中,所述方法可以包括以下步骤。
S0:根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟。
其中,目标应用可以是支持多玩家的应用,如多人云游戏应用等。不同目标应用在运行时对应的玩家数量可以相同,也可以不同,如可以是6人、4人等。交互延迟模型可以用于优化交互玩家间的延迟差异。
一些实施例中,所述根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟,可以包括:根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,计算每个玩家被每个云数据中心服务时的响应延迟;根据每个玩家被每个云数据中心服务时的响应延迟,确定每个玩家的响应延迟;基于每个玩家的响应延迟,确定交互玩家间的交互延迟。其中,响应延迟可以包括网络延迟、处理延迟和播放延迟。其中,网络延迟可以理解为网络往返时间(RTT)。处理延迟可以表示虚拟机处理玩家输入并生成游戏帧所需的时间,通常占响应延迟的30%。播放延迟可以理解为客户端解码和播放接收的游戏帧的时间,其时延很短,通常可以被忽略。
一些实施场景中,假设共有N个玩家,M个云数据中心,每个玩家使用服务提供商提供的客户端访问其中一个云数据中心,然后由云数据中心分配的虚拟机提供服务,因此玩家i被云数据中心m服务时的响应延迟可以通过如下公式计算:
rim=nim+p(vm)+dm (1)
其中,rim表示玩家i被云数据中心m服务时的响应延迟,nim表示玩家客户端和VM之间的网络延迟,dm表示VM和远程游戏服务器之间的网络延迟,p(vm)表示VM的处理延迟。一些实施场景中,p(vm)可以通过如下公式获得:
其中α、β为参数,可以从不同场景下的实际测量中获得,vm表示在云数据中心m内运行的虚拟机数量。一些实施场景中,vm可以通过下述公式获得:
其中,xim为二进制变量,当xim=1时表示玩家i被分配到云数据中心m上,当xim=0时表示玩家i没有被分配到云数据中心m上,P表示在云数据中心m内的玩家数量。
基于以上分析,可以通过下述公式确定玩家i的响应延迟:
其中,Di表示玩家i的响应时延,M表示云数据中心的数量,rim表示玩家i被云数据中心m服务时的响应延迟,xim为二进制变量,当xim=1时表示玩家i被分配到云数据中心m上,当xim=0时表示玩家i没有被分配到云数据中心m上。
进一步,可以通过下述公式确定交互玩家间的交互延迟:
gij=|Di-Dj|zij (5)
其中,gij表示玩家i与玩家j之间的交互延迟,Di表示玩家i的响应时延,Dj表示与玩家i交互的玩家j的响应时延,zij表示玩家i和玩家j之间的交互状态,zij=1表示玩家i和玩家j之间存在交互,zij=0表示玩家i和玩家j之间不存在交互。
一些实施场景中,在确定交互玩家间的交互延迟后,可以根据所述交互玩家间的交互延迟,建立玩家间的交互延迟模型。具体的,一些实施场景中,针对部署在分布式数据中心的多玩家云游戏应用环境下的交互延迟模型可以表示为:
其中,gij表示玩家i与玩家j之间的交互延迟,N表示玩家数量。
本说明书实施例中,通过分析多玩家云游戏部署框架,确定交互玩家间的交互延迟,可以在保证每个玩家响应延迟要求的基础上,为后续最小化所有交互玩家对之间的最大玩家间延迟提供保证。
S2:基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机。
本说明书实施例中,在确定交互玩家间的交互延迟后,可以基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机。其中,确定为每个玩家提供服务的虚拟机可以理解为得到每个玩家虚拟机的近似最优放置。
一些实施例中,所述基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机,可以包括:基于目标应用运行时所需要的玩家数量,为每个云数据中心生成初始虚拟机分配集合;所述初始虚拟机分配集合包括多个子集,每个子集表示云数据中心可能存在的一种虚拟机分配方式,每种虚拟机分配方式包括至少一个为玩家提供服务的虚拟机;从每个云数据中心对应的初始虚拟机分配集合中移除不满足预设条件的子集,获得每个云数据中心对应的虚拟机分配集合;基于每个玩家的响应时延,计算第一云数据中心对应的虚拟机分配集合中每个子集的放置成本;将所述放置成本最小的子集所对应的虚拟机分配方式确定为所述第一云数据中心对应的虚拟机分配方式;在剩余云数据中心的数量不为零的情况下,从剩余云数据中心所对应的虚拟机分配集合中移除所述第一云数据中心对应的虚拟机分配方式所覆盖的虚拟机,获得剩余每个云数据中心的第一虚拟机分配集合;基于每个玩家的响应时延,计算第二云数据中心对应的第一虚拟机分配集合中每个子集的放置成本;将所述放置成本最小的子集所对应的虚拟机分配方式确定为所述第二云数据中心对应的虚拟机分配方式;在剩余云数据中心的数量为零的情况下,基于每个云数据中对应的虚拟机分配方式,确定为每个玩家提供服务的虚拟机。
一些实施场景中,假设共有N个玩家,M个云数据中心,则基于目标应用运行时所需要的玩家数量,为云数据中心m生成的初始虚拟机分配集合可以记为Pm。其中,每个云数据中心分配的玩家数量即虚拟机数量不确定,即一个云数据中心可能为所有玩家分配虚拟机,也可能只为几个玩家分配虚拟机。初始虚拟机分配集合中可以包括虚拟机可能存在的放置方式。初始虚拟机分配集合中可以包括多个子集,每个子集可以表示云数据中心可能存在的一种虚拟机分配方式,每种虚拟机分配方式可以包括至少一个为玩家提供服务的虚拟机。
例如一些实施场景中,Pm可以表示为Pm={{i1},{i1,i2},…,{i1,i2,…,iN}}。其中,子集{i1}、{i1,i2}、…、{i1,i2,…,iN}分别可以表示一种虚拟机分配方式,{i1}可以理解为云数据中心m为玩家i1提供虚拟机,{i1,i2}可以理解为云数据中心m为玩家i1和i2提供虚拟机,{i1,i2,…,iN}可以理解为云数据中心m为玩家i1、i2、…、及iN提供虚拟机。当然,上述只是进行示例性说明,每个云数据中心对应的初始虚拟机分配集合不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
一些实施场景中,在为每个云数据中心生成初始虚拟机分配集合后,可以根据每个子集所覆盖虚拟机的总资源成本和对应的云数据中心的可用资源,判断每个云数据中心的初始虚拟机分配集合中的每个子集(即每种虚拟机分配方式)是否具有可行性。
一些实施场景中,所述从每个云数据中心对应的初始虚拟机分配集合中移除不满足预设条件的子集,获得每个云数据中心对应的虚拟机分配集合,可以包括:计算初始虚拟机分配集合中每个子集所覆盖虚拟机的总资源;在总资源大于对应云数据中心的可用资源时,将所述总资源对应子集从相应初始虚拟机分配集合中移除。具体的,在为每个云数据中心生成初始虚拟机分配集合后,可以计算每个子集所覆盖虚拟机的总资源,然后将其与对应云数据中心的可用资源进行比较,若子集所覆盖虚拟机的总资源小于等于对应云数据中心的可用资源时,说明此种虚拟机分配方式可行。若子集所覆盖虚拟机的总资源大于对应云数据中心的可用资源时,说明此种虚拟机分配方式不可行,此时,可以将该子集从对应的初始虚拟机分配集合中移除,从而获得每个云数据中心对应的虚拟机分配集合。
例如一些实施场景中,可以通过下述公式确定初始虚拟机分配集合中不满足预设条件的子集:
其中,Cm为云数据中心的可用资源,P表示在云数据中心m内的玩家数量,ci为子集中为玩家i提供服务的虚拟机所需的资源量,xim为二进制变量,当xim=1时表示玩家i被分配到云数据中心m上,当xim=0时表示玩家i没有被分配到云数据中心m上。
当然,上述只是进行示例性说明,判断每个子集是否具有可行性的方式不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
需要说明的是,最后获得的每个云数据中心对应的虚拟机分配集合中可以包括一个或多个子集。每个子集可以表示每个云数据中心覆盖的玩家,即分配给被该云数据中心服务的用户的虚拟机。
一些实施场景中,在获得每个云数据中心对应的虚拟机分配集合后,可以基于每个玩家的响应时延,计算第一云数据中心对应的虚拟机分配集合中每个子集的放置成本。进一步,可以将放置成本最小的子集所对应的虚拟机分配方式确定为第一云数据中心对应的虚拟机分配方式。其中,第一云数据中心可以是分布式数据中心中任意一个云数据中心。放置成本可以理解为子集所覆盖的所有玩家的响应延迟总和除以子集所覆盖的虚拟机数量。每个玩家的响应时延可以通过上述公式(4)获得。
一些实施场景中,在确定第一云数据中心对应的虚拟机分配方式后,可以判断剩余云数据中心的数量是否为零,确认不为零的情况下,可以从剩余云数据中心所对应的虚拟机分配集合中移除第一云数据中心对应的虚拟机分配方式所覆盖的虚拟机,获得剩余每个云数据中心的第一虚拟机分配集合。例如一些实施场景中,在确定云数据中心1的虚拟机分配方式是为玩家1提供虚拟机后,可以从剩余云数据中心(如虚拟机2、虚拟机3等)所对应的虚拟机分配集合的每个子集中移除为玩家1提供的虚拟机。例如,假设云数据中心1覆盖了玩家1(即云数据中心1为玩家1分配了虚拟机,提供了服务),那么该玩家1就一定不会被其他云数据中心所覆盖,因此在进行下一次迭代时,需要将已经被其他云数据中心覆盖的玩家从其他剩余子集中移除。
一些实施场景中,在获得剩余每个云数据中心的第一虚拟机分配集合后,可以基于每个玩家的响应时延,计算第二云数据中心对应的第一虚拟机分配集合中每个子集的放置成本,将放置成本最小的子集所对应的虚拟机分配方式确定为第二云数据中心对应的虚拟机分配方式。其中,第二云数据中心可以是分布式数据中心中除去第一云数据中心后的任意一个云数据中心。
进一步,可以判断剩余云数据中心的数量是否为零,确认不为零的情况下,可以通过上述类似方式获得每个云数据中对应的虚拟机分配方式。在确认为零的情况下,可以基于每个云数据中对应的虚拟机分配方式,确定为每个玩家提供服务的虚拟机。
需要说明的是,上述实施例中提到的“第一”、“第二”只是为了区分不同云数据中心,并没有实际含义。
本说明书实施例中,通过在每次迭代过程中进行放置代价的计算,选择代价最小的子集作为对应云数据中心为玩家分配虚拟机的最优方式,而且当选择一个子集时,会从所有其他剩余子集中移除它所覆盖的虚拟机,从而可以保证每个虚拟机只能位于一个云数据中心。
S4:基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
本说明书实施例中,在确定为每个玩家提供服务的虚拟机后,可以基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
一些实施例中,所述基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果,可以包括:将所有交互延迟中最大值所对应的交互玩家对作为第一交互玩家对;基于每个玩家的响应时延,从所述第一交互玩家对中选择响应时延最大的玩家作为第一玩家;将为所述第一玩家提供服务的虚拟机从对应的云数据中心移动到第三云数据中心;重新计算所述第一玩家的响应时延和所述第一交互玩家对的交互延迟,获得第一响应时延和第一交互延迟;在所述第一交互延迟满足第一预设条件且第一响应时延满足第二预设条件的情况下,将所述第一响应时延和所述第一交互延迟更新为所述第一玩家的响应时延和所述第一玩家对的交互延迟;在不满足预设迭代条件的情况下,将所有交互延迟中最大值所对应的交互玩家对作为第二交互玩家对;基于每个玩家的响应时延,从所述第二交互玩家对中选择响应时延最大的玩家作为第二玩家;将为所述第二玩家提供服务的虚拟机从对应的云数据中心移动到第四云数据中心;重新计算第二玩家的响应时延和所述第二交互玩家对的交互延迟,获得第二响应时延和第二交互延迟;在所述第二交互延迟满足第一预设条件且第二响应时延满足第二预设条件的情况下,将所述第二响应时延和所述第二交互延迟更新为所述第二玩家的响应时延和所述第二玩家对的交互延迟;在满足预设迭代条件的情况下,获取每对交互玩家的交互延迟作为交互玩家间的延迟信息。
其中,交互玩家间的交互延迟可以称为交互玩家对的交互延迟。第三云数据中心、第四云数据中心可以是有充足可用资源的云数据中心,也可以是比较空闲的云数据中心等,本说明书对此不做限定。一些实施场景中,第一预设条件可以是交互延迟减少,交互延迟低于预设值等。第二预设条件可以是响应时延仍低于预设值,也可以是响应时延减少等。上述预设值可以根据实际场景进行设定,本说明书对此不做限定。预设迭代条件可以根据实际场景设定,例如,可以是预先设定的迭代次数、也可以是所有交互玩家对的交互延迟满足预设条件等,本说明书对此不做限定。需要说明的是,上述“第一”、“第二”、“第三”、“第四”等只是起到区分作用,并无实际含义。
例如一些实施场景中,在确定交互玩家间的交互延迟后,可以将所有交互延迟中最大值所对应的交互玩家对作为目标交互玩家对,将目标交互玩家对中具有较高响应延迟的玩家作为目标玩家,然后将为目标玩家提供服务的虚拟机移动到另一个可行的云数据中心1中,并重新计算目标玩家的响应时延和目标交互玩家对的交互延迟,检查目标交互玩家对的交互延迟是否减少,同时检查目标玩家的响应延迟是否仍低于预设阈值,若目标交互玩家对的交互延迟减少,同时目标玩家的响应延迟仍低于预设阈值,则可以将此时的交互延迟更新为目标交互玩家对的交互延迟、将此时的响应延迟更新为目标玩家的响应延迟,同时将为目标玩家提供服务的云数据中心更新为云数据中心1。
进一步,判断是否满足预设迭代条件,在不满足预设迭代条件的情况下,可以基于以上更新后的结果,将所有交互延迟中最大值所对应的交互玩家对作为目标交互玩家对,将目标交互玩家对中具有较高响应延迟的玩家作为目标玩家,然后将为目标玩家提供服务的虚拟机移动到另一个可行的云数据中心2中,并重新计算目标玩家的响应时延和目标交互玩家对的交互延迟,检查目标交互玩家对的交互延迟是否减少,同时检查目标玩家的响应延迟是否仍低于预设阈值,若目标交互玩家对的交互延迟减少,同时目标玩家的响应延迟仍低于预设阈值,则可以将此时的交互延迟更新为目标交互玩家对的交互延迟、将此时的响应延迟更新为目标玩家的响应延迟,同时将为目标玩家提供服务的云数据中心更新为云数据中心2。
进一步,判断是否满足预设迭代条件,在不满足预设迭代条件的情况下,基于以上更新后的结果,执行上述相似步骤,直至满足预设迭代条件,获取每对交互玩家的交互延迟作为优化结果。
需要说明的是,上述实施例中,在将为目标玩家提供服务的虚拟机移动到另一个可行的云数据中心中,并重新计算目标玩家的响应时延和目标交互玩家对的交互延迟后,若检查到目标交互玩家对的交互延迟未减少或者检查到目标交互玩家对的交互延迟减少,但目标玩家的响应延迟不低于预设阈值,则不更新目标交互玩家对的交互延迟以及目标玩家的响应延迟,同时也不更改为目标玩家提供服务的云数据中心。
一些实施场景中,由于在确定交互玩家间的交互延迟后,可以根据所述交互玩家间的交互延迟,建立玩家间的交互延迟模型,所以也可以基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互延迟模型进行优化,获得优化结果。具体优化过程可以参见上述实施例,对此不做赘述。
本说明书实施例,基于玩家的交互状态和云数据中心的可用资源,通过启发式的局部搜索策略进一步调整VM分配,可以减少交互玩家之间的交互延迟。
本说明书实施例,通过对虚拟机资源进行合理分配,可以最大限度的减小交互玩家之间的延迟差异,同时为游戏玩家提供良好的响应延迟。
本说明书实施例,通过首先找出所有玩家虚拟机的最合适的放置方式,之后在此基础上使用局部搜索策略调整虚拟机的分配放置,从而可以达到在保证每个玩家响应时延的基础上,最小化所有交互玩家对之间的最大玩家间延迟,提高用户服务质量,保证游戏的公平性。
当然,上述只是进行示例性说明,本说明书实施例不限于上述举例,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
从以上的描述中,可以看出,本申请实施例可以根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟。还可以基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机,进一步可以基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。由于本说明书实施例针对云游戏环境中用户服务质量不高的问题,引入交互延迟模型,通过启发式算法对模型进行优化,从而可以在保证每个玩家响应延迟要求的情况下,最小化交互玩家间的延迟差异,进而提升云游戏环境中用户服务质量。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参照即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
基于上述所述一种优化交互玩家间延迟的方法,本说明书一个或多个实施例还提供一种优化交互玩家间延迟的装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例中装置的实施可以参照前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳的是以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图3是本说明书提供的一种优化交互玩家间延迟的装置的一个实施例的模块结构示意图,如图3所示,本说明书提供的一种优化交互玩家间延迟的装置可以包括:第一确定模块120,第二确定模块122,获得模块124。
第一确定模块120,可以用于根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;
第二确定模块122,可以用于基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;
获得模块124,可以用于基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书还提供一种优化交互玩家间延迟的设备的实施例,包括处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现包括以下步骤:根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
需要说明的,上述所述的设备根据方法或装置实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图4是本说明书提供的一种优化交互玩家间延迟的服务器的一个实施例的硬件结构框图,该服务器可以是上述实施例中的优化交互玩家间延迟的装置或优化交互玩家间延迟的设备。如图4所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图4中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图4所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的优化交互玩家间延迟的方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书提供的上述优化交互玩家间延迟的方法或装置实施例可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、设备、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参照即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把部分模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。
本发明是参照根据本发明实施例的方法、装置、设备、系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现,可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (10)
1.一种优化交互玩家间延迟的方法,其特征在于,应用于分布式数据中心,所述分布式数据中心中各个云数据中心上部署有为玩家提供服务的虚拟机,所述方法包括:
根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;
基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;
基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
2.根据权利要求1所述的方法,其特征在于,所述根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟,包括:
根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,计算每个玩家被每个云数据中心服务时的响应延迟;
根据每个玩家被每个云数据中心服务时的响应延迟,确定每个玩家的响应延迟;
基于每个玩家的响应延迟,确定交互玩家间的交互延迟。
4.根据权利要求2所述的方法,其特征在于,通过下述公式确定交互玩家间的交互延迟:
gij=|Di-Dj|zij
其中,gij表示玩家i与玩家j之间的交互延迟,Di表示玩家i的响应时延,Dj表示与玩家i交互的玩家j的响应时延,zij表示玩家i和玩家j之间的交互状态。
5.根据权利要求1所述的方法,其特征在于,所述基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机,包括:
基于目标应用运行时所需要的玩家数量,为每个云数据中心生成初始虚拟机分配集合;所述初始虚拟机分配集合包括多个子集,每个子集表示云数据中心可能存在的一种虚拟机分配方式,每种虚拟机分配方式包括至少一个为玩家提供服务的虚拟机;
从每个云数据中心对应的初始虚拟机分配集合中移除不满足预设条件的子集,获得每个云数据中心对应的虚拟机分配集合;
基于每个玩家的响应时延,计算第一云数据中心对应的虚拟机分配集合中每个子集的放置成本;
将所述放置成本最小的子集所对应的虚拟机分配方式确定为所述第一云数据中心对应的虚拟机分配方式;
在剩余云数据中心的数量不为零的情况下,从剩余云数据中心所对应的虚拟机分配集合中移除所述第一云数据中心对应的虚拟机分配方式所覆盖的虚拟机,获得剩余每个云数据中心的第一虚拟机分配集合;
基于每个玩家的响应时延,计算第二云数据中心对应的第一虚拟机分配集合中每个子集的放置成本;
将所述放置成本最小的子集所对应的虚拟机分配方式确定为所述第二云数据中心对应的虚拟机分配方式;
在剩余云数据中心的数量为零的情况下,基于每个云数据中对应的虚拟机分配方式,确定为每个玩家提供服务的虚拟机。
6.根据权利要求5所述的方法,其特征在于,所述从每个云数据中心对应的初始虚拟机分配集合中移除不满足预设条件的子集,获得每个云数据中心对应的虚拟机分配集合,包括:
计算初始虚拟机分配集合中每个子集所覆盖虚拟机的总资源;
在总资源大于对应云数据中心的可用资源时,将所述总资源对应子集从相应初始虚拟机分配集合中移除。
7.根据权利要求1所述的方法,其特征在于,所述基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果,包括:
将所有交互延迟中最大值所对应的交互玩家对作为第一交互玩家对;
基于每个玩家的响应时延,从所述第一交互玩家对中选择响应时延最大的玩家作为第一玩家;
将为所述第一玩家提供服务的虚拟机从对应的云数据中心移动到第三云数据中心;
重新计算所述第一玩家的响应时延和所述第一交互玩家对的交互延迟,获得第一响应时延和第一交互延迟;
在所述第一交互延迟满足第一预设条件且第一响应时延满足第二预设条件的情况下,将所述第一响应时延和所述第一交互延迟更新为所述第一玩家的响应时延和所述第一玩家对的交互延迟;
在不满足预设迭代条件的情况下,将所有交互延迟中最大值所对应的交互玩家对作为第二交互玩家对;
基于每个玩家的响应时延,从所述第二交互玩家对中选择响应时延最大的玩家作为第二玩家;
将为所述第二玩家提供服务的虚拟机从对应的云数据中心移动到第四云数据中心;
重新计算第二玩家的响应时延和所述第二交互玩家对的交互延迟,获得第二响应时延和第二交互延迟;
在所述第二交互延迟满足第一预设条件且第二响应时延满足第二预设条件的情况下,将所述第二响应时延和所述第二交互延迟更新为所述第二玩家的响应时延和所述第二玩家对的交互延迟;
在满足预设迭代条件的情况下,获取每对交互玩家的交互延迟作为优化结果。
8.一种优化交互玩家间延迟的装置,其特征在于,包括:
第一确定模块,用于根据目标应用运行时所需要的玩家数量和分布式数据中心中部署的云数据中心数量,确定交互玩家间的交互延迟;
第二确定模块,用于基于目标应用运行时所需要的玩家数量和每个玩家的响应时延,确定为每个玩家提供服务的虚拟机;
获得模块,用于基于为每个玩家提供服务的虚拟机,利用局部搜索策略对交互玩家间的交互延迟进行优化,获得优化结果。
9.一种优化交互玩家间延迟的设备,其特征在于,包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542773.9A CN116266138A (zh) | 2021-12-16 | 2021-12-16 | 一种优化交互玩家间延迟的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111542773.9A CN116266138A (zh) | 2021-12-16 | 2021-12-16 | 一种优化交互玩家间延迟的方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116266138A true CN116266138A (zh) | 2023-06-20 |
Family
ID=86743115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111542773.9A Pending CN116266138A (zh) | 2021-12-16 | 2021-12-16 | 一种优化交互玩家间延迟的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116266138A (zh) |
-
2021
- 2021-12-16 CN CN202111542773.9A patent/CN116266138A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7259033B2 (ja) | 機械学習によって推進されるリソース配分 | |
Laghari et al. | Quality of experience (QoE) in cloud gaming models: A review | |
CN109460297B (zh) | 一种边缘云游戏缓存和资源调度方法 | |
JP6847227B2 (ja) | リソース要求処理方法及び装置 | |
US10091281B1 (en) | Multi-user application host-system selection system | |
US20130274020A1 (en) | Computing platform for supporting massively multi-player online games | |
CN110573221A (zh) | 用于多玩家游戏中的实况玩游戏的用户驱动的观众频道 | |
Tian et al. | On achieving cost-effective adaptive cloud gaming in geo-distributed data centers | |
WO2014194695A1 (en) | Method and server for pvp team matching in computer games | |
KR102617739B1 (ko) | 대규모 멀티 플레이어 컴퓨트 | |
CN109889576B (zh) | 一种基于博弈论的移动云游戏资源优化方法 | |
EP3089113A1 (en) | Rendering system, control method, program, and recording medium | |
US11110352B2 (en) | Object moving method and apparatus, storage medium, and electronic apparatus | |
Chen et al. | Inter-player delay optimization in multiplayer cloud gaming | |
CN112190927B (zh) | 基于云计算的游戏资源分配方法及云游戏服务平台 | |
CN111773662B (zh) | 一种基于雾计算的云游戏加速方法、系统、装置及介质 | |
JP2023527977A (ja) | 受動的観客視聴用のカメラビュー選択プロセッサ | |
WO2023107283A1 (en) | Network storage game allocation based on artificial intelligence | |
CN111135586A (zh) | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 | |
CN117453396A (zh) | 一种基于边缘计算的任务数据处理方法、装置及电子设备 | |
US9149725B2 (en) | Method and server for PVP team matching in computer games | |
CN116266138A (zh) | 一种优化交互玩家间延迟的方法、装置及设备 | |
Cai et al. | Balancing cloud and mobile terminal: an empirical study on decomposed cloud gaming | |
JP5622984B1 (ja) | 情報処理装置、描画システム、制御方法及びプログラム | |
He et al. | Distributed Rendering for Cloud Gaming in Cloud-Edge-End Cooperation Networks |
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 |