CN113590311A - 云设备分配方法、装置、电子设备及存储介质 - Google Patents
云设备分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113590311A CN113590311A CN202110749167.8A CN202110749167A CN113590311A CN 113590311 A CN113590311 A CN 113590311A CN 202110749167 A CN202110749167 A CN 202110749167A CN 113590311 A CN113590311 A CN 113590311A
- Authority
- CN
- China
- Prior art keywords
- cloud
- application
- target
- cloud device
- equipment
- 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 116
- 238000004891 communication Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 55
- 238000007726 management method Methods 0.000 description 174
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种云设备分配方法、装置、电子设备及存储介质。云设备分配方法包括:接收来自于终端的应用运行请求,所述应用运行请求携带目标应用标识;在所述目标应用标识对应的目标云设备集合中,确定目标云设备;所述目标云设备集合为所述目标应用标识对应的空闲云设备的集合;控制所述目标云设备响应所述应用运行请求;在所述目标云设备集合中移除所述目标云设备。本发明简化管理服务器分配云设备的过程,进而降低终端启动应用的时间,提高了启动效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种云设备分配方法、装置、电子设备及存储介质。
背景技术
云游戏是以云计算为基础的游戏方式。在云游戏的运行模式下,所有游戏都在云服务器上虚拟出的诸如云手机的云设备运行,并将渲染后的游戏视频流发送至用户使用的终端。其中,业务服务器虚拟出的所有云设备中均安装有相同的游戏。
管理服务器与云设备连接,用于为终端分配为其提供服务的云设备。管理服务器可以在云设备数据库中针对每个云设备存储其安装的所有游戏的运行状态。管理服务器当接收到来自于终端发送的请求运行目标游戏时,可以将运行状态均为空闲状态的空闲云设备分配给终端,使得空闲云设备为终端提供游戏服务。并且将已分配云设备对应的除目标游戏外的其他游戏的运行状态修改为不可运行状态。
但是,管理服务器针对每个请求,访问云设备数据库执行确定设备标识以及修改游戏运行状态的过程,导致管理服务器分配云设备的过程较为复杂,耗时较长,进而使得终端启动云游戏的时间较长,效率较低。
发明内容
本发明实施例的目的在于提供一种云设备分配方法、装置、电子设备及存储介质,在一定程度上简化管理服务器分配云设备的过程,进而降低终端启动应用的时间,提高了启动效率。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种云设备分配方法,包括:
接收来自于终端的应用运行请求,所述应用运行请求携带目标应用标识;
在所述目标应用标识对应的目标云设备集合中,确定目标云设备;所述云目标设备集合为所述目标应用标识对应的空闲云设备的集合;
控制所述目标云设备响应所述应用运行请求;
在所述目标云设备集合中移除所述目标云设备。
在本发明实施的第二方面,还提供了一种云设备分配装置,包括:
接收模块,用于接收来自于终端的应用运行请求,所述应用运行请求携带目标应用标识;
确定模块,用于在所述目标应用标识对应的目标云设备集合中,确定目标云设备;所述目标云设备集合为所述目标应用标识对应的空闲云设备的集合;
控制模块,用于控制所述目标云设备响应所述应用运行请求;
移除模块,用于在所述目标云设备集合中移除所述目标云设备。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的方法步骤。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的云设备分配方法。
在本发明实施的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的云设备分配方法。
本发明实施例提供的一种云设备分配方法、装置、电子设备及存储介质,在接收来自于终端的应用运行请求后,可以通过应用运行请求中携带的目标应用标识,在该目标应用标识对应的目标云设备集合中,确定目标云设备。从而控制目标云设备响应应用运行请求,并在目标云设备集合中移除目标云设备。该技术方案中,由于可以仅从目标应用标识对应的目标云设备集合中确定目标云设备。因此,相较于技术中,需要从云应用系统包括的所有空闲云设备中确定目标云设备,缩小了目标云设备的确定范围,提高了目标云设备的确定效率。并且由于目标云设备集合为目标应用标识对应的空闲云设备的集合,即目标云设备集合中的任意一个空闲云设备处于空闲状态,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。因此,保证了目标云设备集合中仅存在空闲云设备。因此,在为终端分配空闲云设备的过程,即为来自于终端的应用运行请求确定响应的空闲云设备的过程中,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,无需针对每个请求执行访问云设备数据库,确定设备标识以及修改游戏运行状态的过程,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供一种云应用系统的结构示意图;
图2为本发明实施例提供另一种云应用系统的结构示意图;
图3为本发明实施例提供的一种云设备分配方法的流程图;
图4为本发明实施例提供的另一种云设备分配方法的流程图;
图5为本发明实施例提供的一种分布式数据库的存储示意图;
图6为本发明实施例提供的一种云设备分组示意图;
图7为本发明实施例提供的一种应用集合和云设备集合划分方法的流程图;
图8为本发明实施例提供的又一种云设备分配方法的流程图;
图9为本发明实施例提供的一种云设备分配装置的结构图;
图10为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
请参考图1,其示出了本发明实施例提供的一种云应用系统的结构示意图。如图1所示,云应用系统100包括:管理服务器101以及至少一个云设备。管理服务器101与各云设备之间通过网络连接。可选的,该网络可以是无线网络(wireless network)。该无线网络可以包括:无线保真网络、第三代(3rd-generation,3G)移动通信技术网络或通用分组无线服务技术(general packet radio service,GPRS)等。需要说明的是,云应用系统中,管理服务器一般可用于调度多个云设备,即,将云应用请求在多个云设备中进行分配。示例性的,图1以三个云设备(102A-102C)为例进行说明,图1中云设备的数量并不对云应用系统中可包括的云设备的数量进行限定。
其中,云设备可以是虚拟设备,也可以是实体设备。示例性的,云设备可以是通过虚拟技术在云服务器上虚拟出的逻辑设备。具体而言,任意一台云服务器上可以虚拟出多台逻辑设备。则图1所示的云应用系统所包括的各云设备可以是相同或者不同的云服务器上虚拟出的逻辑设备。可选的,云服务器可以是部署于不同地域的云服务器,则相应的云设备可以具有地域属性。图1所示的云应用系统所包括的各云设备可以是同一地域或者不同地域的云设备。当云设备是实体设备时,其包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、服务器等。
在实践中,云设备可以通过安装云应用(也可称为云应用程序,云APP,云端应用等)来提供相应的网络服务,比如云设备通过安装云游戏应用来提供云游戏服务,也即云应用运行在云设备上。具体而言,任意一个云设备上可以运行一个或多个云应用;当安装有多个云应用时,不同云应用的应用标识一般不同。在一种可能的场景中,一个云设备中可以安装有应用标识相同或不同的多个云应用。其中,针对任意一种云应用,一个云设备在同一时间仅能运行一个云应用,即同一时间一个云设备仅能为一个终端提供该云应用相应的网络服务。因而,受限于云设备运行云应用时的独占能力,以及在云设备为虚拟设备时云服务器的虚拟云设备的能力,云设备资源较为宝贵。
用户可以通过终端实现与云设备的通信,从而使用安装于云设备的云应用。终端为实体设备,其可以是支持具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机等。在实践中,终端可以通过安装客户端应用来提供相应的网络服务,比如终端通过安装视频播放器来提供视频或图像播放服务。
作为一个实施例,云设备与终端通过云端通信模块建立通信连接。可选的,云端通信模块可内置于云设备或者独立于云设备,可用于实现云设备上的一个或多个云应用与其对应的终端之间的通信连接,和/或用于实现一个或多个云设备与其对应的终端之间的通信连接。上述所说的模块是广义的,可以是类、函数、线程、进程等,示例性的,云端通信模块可以为云应用服务程序。
在图1所示例的云应用系统中,一方面,云设备用于运行云应用,并向终端发送运行云应用时的数据流,终端则用于展示接收到的数据流。另一方面,终端用于采集用户的操作数据,并向云设备发送操作数据(采集到的操作数据或处理后的操作数据),云设备则基于接收到的操作数据对用户操作进行响应,并继续向终端发送响应数据流,终端则继续展示接收到的响应数据流。如此,云设备与终端形成闭环,用户可以通过终端来使用云设备上安装的云应用。由于云应用实际并不运行在终端中,因此有利于降低终端的运行资源。
管理服务器101可以用于为终端分配为其提供云应用相应的网络服务的云设备。可选的,管理服务器102可以包括分布式数据库,或者管理服务器可以连接有分布式数据库。该分布式数据库可以用于存储云设备的设备信息和/或云设备安装的应用的应用信息。示例的,分布式数据库可以为Redis。Redis为一个高性能的关键字-数值(key-value)类型的分布式数据库。该分布式数据库为一个单线程运行的数据库,其可以将并发请求串行化。Redis具有原子操作特性,可以取代相关技术中云设备数据库的读写锁机制。
可以理解的是,图1中的网络和设备的数目仅是示意。根据实际需要,云应用系统可以包括任意数目的网络和设备,本发明对此不做限制。
本发明实施例中,以云设备安装的应用为云游戏应用,云设备为云手机为例。请参考图2,其示出了相关技术提供的一种云设备部署示意图。如图2所示,云应用系统包括:部署于区域1的云服务器1-1、云服务器1-2等多个云服务器,以及部署区域2的云服务器2-1、云服务器2-2等多个云服务器。其中,通过虚拟技术在云服务器1-1、云服务器1-2、云服务器2-1以及云服务器2-2等多个云服务器上分别部署云手机1、云手机2、云手机3...云手机n。每个云手机上都安装有游戏1、游戏2...游戏n。在管理服务器将一个运行有云游戏应用的云手机分配给终端后,该云手机向终端发送云游戏应用的游戏视频流,终端则可通过客户端应用,比如视频播放器展示接收到的视频流。进一步,终端每采集到一次用户的操作数据,则向云手机发送操作数据,云手机则基于接收到的操作数据进行响应并刷新视频流,以及向终端发送刷新后的视频流,如此则可实现用户通过终端来使用云手机上安装的云游戏应用。
不难看出,相关技术中各云服务器上部署的各云设备均安装有相同的云应用。而众所周知,云服务器的资源比较昂贵,因而云服务器虚拟出的云设备的资源亦较为昂贵。并且一台云设备上的空间是有限的。因而,对于一款用户比较少的云应用,将它安装到所有云设备上,以占用云设备的资源,必然会造成云设备资源的浪费。
并且,管理服务器在云设备数据库中针对每个云设备存储其安装的所有游戏的运行状态。管理服务器在为终端分配为其提供服务的云设备的过程中,云设备实行锁互斥机制,即同一云设备仅能为一个终端提供服务,且仅能运行一款云应用。因而,若接收到来自于终端发送的请求运行目标游戏时,可以将运行状态均为空闲状态的空闲云设备分配给终端,使得空闲云设备为终端提供游戏服务。并且将已分配云设备对应的除目标游戏外的其他游戏的运行状态修改为不可运行状态。
但是,管理服务器针对每个请求,访问云设备数据库执行确定设备标识以及修改游戏运行状态的过程,导致管理服务器分配云设备的过程较为复杂,耗时较长。并且,系统中云设备的数量越多,管理服务器访问云设备数据库的过程越长,进而导致管理服务器分配云设备的过程越长。使得终端启动云游戏的时间较长,效率较低,影响用户的使用体验。
本发明实施例提供的一种云设备分配方法,采用将云应用系统中各空闲云设备进行云设备分组的概念,使得管理服务器在接收到终端发送的应用运行请求,可以从特定云设备分组中确定为其提供服务的云设备。并且在云设备响应应用运行请求后,从特定云设备分组中删除云设备,保证云设备分组中仅包括空闲云设备。这样,在为终端分配空闲云设备的过程,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
请参考图3,其示出了本发明实施例提供的一种云设备分配方法的流程图。该云设备分配方法可以应用于上述图1所示的云应用系统,由该云应用系统的管理服务器执行。如图3所示,云设备分配方法可以包括:
步骤301、接收来自于终端的应用运行请求,应用运行请求携带目标应用标识。
本发明实施例中,用户在想要运行某款目标云应用时,可以通过终端上安装的客户端应用所对应的应用标识执行设定输入。终端在接收到针对该应用标识的设定输入后,可以响应于该设定输入,向管理服务器发送应用运行请求。管理服务器在接收到来自于终端的应用运行请求后,可以执行后续为该终端分配云设备的过程。其中,针对应用标识的设定操作可以包括但不限于:点击操作、长按操作、滑动操作、触控操作或语音控制操作等,此处不作穷举。
其中,管理服务器接收来自于终端的应用运行请求可以包括:目标应用标识,目标应用标识用于指示目标云应用。目标云应用即为用户想要进入的云应用。可选的,应用标识可以为云应用的身份标识号(Identity document,ID),其用于唯一标识云应用。除此之外,应用标识还可以为应用名称等,此处无特别限制。
步骤302、在目标应用标识对应的目标云设备集合中,确定目标云设备。目标云设备集合为目标应用标识对应的空闲云设备的集合。
本发明实施例中,空闲云设备指的是未被分配给用户所在终端,用于运行云应用以提供云应用对应网络服务的云设备。不难理解是,云应用系统初始化后,所有云设备均为空闲云设备。云设备集合可以包括空闲云设备。云设备集合可以与应用标识对应的。管理服务器可以接收来自于终端的应用运行请求后,确定目标应用标识对应的目标云应用集合。从而在目标应用标识对应的目标云设备集合中,确定目标云设备。
可选的,管理服务器可以记录有多种对应关系,以表征应用标识与目标应用集合的对应关系。根据管理服务器记录的不同类型的对应关系,本发明实施例以以下二种情况为例,对管理服务器确定目标应用标识对应的目标应用集合的过程进行说明。
第一种可选的实现方式中,管理服务器维护有第一对应关系,该第一对应关系为应用集合与云设备集合中各空闲云设备之间的对应关系;或者,第一对应关系为应用集合与云设备集合的对应关系。
则管理服务器确定目标应用标识对应的目标云设备集合的过程可以包括以下步骤A1至步骤A2。
在步骤A1中,管理服务器确定目标应用标识对应的目标应用集合。
本发明实施例中,应用集合包括至少一个应用。管理服务器存储有应用信息,该应用信息记录有各应用标识所属的目标应用集合。则管理服务器可以从应用信息中获取与目标应用标识对应的目标应用集合。
可选的,管理服务器可以存储有应用标识与应用集合的对应关系。则管理服务器可以从该对应关系中,查询得到与目标应用标识对应的目标应用集合。示例的,管理服务器存储有应用标识与应用集合标识的对应关系。则管理服务器可以从该对应关系中,查询得到与目标应用标识对应的目标应用集合标识,将目标应用集合标识指示的应用集合作为目标应用集合。例如,管理服务器可以将属于同一应用集合的应用标识存储至Redis中同一关键字对应的数值存储空间内,以记录应用标识与应用集合的对应关系。该关键字为应用标识对应的应用集合的集合标识。其中,数值存储空间可以为列表存储空间,则该列表存储空间中一个列表项用于存储一个应用标识。
在步骤A2中,管理服务器根据第一对应关系,确定目标应用集合对应的目标云设备集合。
本发明实施例中,管理服务器可以存储有第一对应关系。示例的,管理服务器可以存储有应用集合标识与空闲云设备的设备标识之间的第一对应关系。则管理服务器可以从第一对应关系中,获取与目标应用集合标识对应的空闲云设备的设备标识。将获取到的设备标识的集合作为目标云设备集合。
或者,管理服务器可以存储有应用集合标识与云设备集合标识之间的第一对应关系。云设备集合标识指示的云设备集合包括至少一个空闲云设备。则管理服务器可以从第一对应关系中,获取与目标应用集合标识对应的云设备集合标识。该获取的云设备集合标识指示的云设备集合作为目标云设备集合。
第二种可选的实现方式中,管理服务器维护有第二对应关系,该第二对应关系为应用标识与云设备集合中各空闲云设备之间的对应关系;或者,第二对应关系为应用标识与云设备集合的对应关系。
则管理服务器确定目标应用标识对应的目标云设备集合的过程可以包括以下步骤B1。
在步骤B1中,根据第二对应关系,确定目标应用标识对应的目标云设备集合。
本发明实施例中,管理服务器可以存储有第二对应关系。示例的,管理服务器可以存储有应用标识与空闲云设备的设备标识的第二对应关系。则管理服务器可以从第二对应关系中,获取与应用标识对应的设备标识,将获取到的设备标识指示的空闲云设备的集合作为目标云设备集合。
或者,管理服务器存储有应用标识与云设备集合标识的第二对应关系。则管理服务器可以从第二对应关系中,获取与应用标识对应的云设备集合标识,将获取到的云设备集合标识指示的云设备集合作为目标云设备集合。
需要说明的是,第一对应关系和第二对应关系的类型可以是一一对应,或者,也可以是一对多,或者,也可以是多对一。也即是一个空闲云设备可以仅与一个应用组,或者一个应用标识对应。一个空闲云设备也可以与多个应用组或者多个应用标识对应。一个云设备集合可以仅与一个应用标识或者一个应用组对应。一个云设备集合也可以与多个应用标识或者多个应用组集合对应的。反之,一个应用标识可以仅与一个空闲云设备或者一个空闲云设备集合对应。一个应用标识可以与多个空闲云设备或者多个空闲云设备集合对应;一个应用组可以仅与一个空闲云设备或者一个空闲云设备集合对应。一个应用组也可以与多个空闲云设备或者多个空闲云设备集合对应。在实际实现本方案时,第一对应关系、第二对应关系具体是一一对应关系多对一对应关系、一对多对应关系,都是可以基于实际情况而自定义确定的,本发明实施例对此无特别限制。
本发明实施例中,管理服务器在确定目标应用标识对应的目标云设备集合后,可以在目标应用标识对应的目标云设备集合中,确定目标云设备。其中,管理服务器可以将目标应用标识对应的目标云设备集合包括的空闲云设备中,任意一个空闲云设备确定为目标云设备。或者,管理服务器在目标云设备集合中确定的目标云设备,满足设定条件。其中,确定的目标云设备可以为空闲云设备所在区域与终端所在区域距离最近的空闲云设备。或者,确定的目标云设备可以为与目标应用标识指示的应用的特定属性对应的空闲云设备。例如,应用运行时所需运行内存越大,其对应的空闲云设备的运行内存越大;应用存储规格越大,其对应的空闲云设备的中央处理器的运算能力越强。
步骤303、控制目标云设备响应应用运行请求。
本发明实施例中,管理服务器可以控制目标云设备运行目标应用标识指的是目标应用,并将运行目标应用过程中生成的视频流发送至终端。以控制目标云设备响应应用运行请求,为终端提供目标应用对应的网络服务。
步骤304、在目标云设备集合中移除目标云设备。
本发明实施例中,管理服务器在控制目标云设备响应应用运行请求,表明目标云设备为已分配终端的非空闲云设备。该目标云设备无法在为其他终端提供应用对应的网络服务。则管理服务器从目标云设备集合中移除目标云设备,以保证云设备集合中任一云设备均为空闲云设备。
可选的,管理服务器可以记录有各空闲云设备所属的云设备集合标识。则管理服务器在目标云设备集合中移除目标云设备的过程可以包括:管理服务器删除目标云设备所属的目标云设备集合对应的云设备集合标识。
一个示例的,管理服务器可以存储有各空闲云设备与所属的云设备集合的对应关系。则管理服务器在目标云设备集合中移除目标云设备的过程可以包括:管理服务器删除目标云设备与目标云设备集合的对应关系。
另一示例的,管理服务器在Redis中存储一个或多个第一键值对。各第一键值对的键域用于存储云设备集合的云设备集合标识。各第一键值对的值域用于存储对应的空闲云设备。也即是管理服务器将属于同一云设备集合的空闲云设备的设备标识存储至Redis中同一key对应的value内,以记录空闲云设备与云设备集合之间的对应关系。该关键字为空闲云设备对应的云设备集合的集合标识。其中,value存储空间可以为列表存储空间,则该列表存储空间中一个列表项用于存储一个空闲云设备的设备标识。则管理服务器在目标云设备集合中移除目标云设备的过程可以包括:从目标云集合标识对应的列表存储空间中,删除目标云设备的设备标识。
由于Redis为一个单线程运行的数据库,其可以将并发请求串行化,且Redis具有原子操作特性。因此,在目标云设备将被分配后,管理服务器可以从Redis中目标云集合标识对应的列表存储空间内,移除(即执行pop操作)目标云设备的设备标识。此时无需使用相关技术中,为了保证对云设备数据库中云设备进行锁互斥访问(即针对每个请求依次访问云设备数据库)所额外对云设备数据库设置的读写互斥锁。解决了对存储设备标识的数据库进行高并发访问的问题,从而解决了管理服务器高并发访问的问题,进而提高了终端访问管理服务器的访问效率。同时,由于Redis数据库无需额外设置读写互斥锁,因此,也降低了存储设备标识的数据库的复杂度。
值得说明的是,由于目标云设备集合为目标应用标识对应的空闲云设备的集合,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。保证了目标云设备集合中仅存在空闲云设备。因此,在为终端分配空闲云设备的过程,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,不需要主动修改云设备数据库中目标云设备的其它游戏的可运行状态,从而降低了数据库维护的复杂度。
进一步的,随着用户访问量的提升,云应用系统中存在的云设备的数量日益庞大时,无需使用读写互斥锁带来的优势更加明显。由数据显示,在同样存储1万台云设备的相关数据(包括设备标识)的情况下,当与管理服务器连接的数据库为设置有读写互斥锁机制的数据库时,终端向管理服务器发送应用运行请求得到响应的访问时间为35毫秒(ms),而采用本发明实施例提供的云设备分配方法,终端向管理服务器发送应用运行请求得到响应的访问时间为10ms,云应用系统的性能得到了明显的提高,符合云应用,特别是云游戏对低延迟的要求。较大程度地缩短了启动云应用的时长,提升用户体验,提高用户留存率。
综上所述,本发明实施例提供的云设备分配方法,在接收来自于终端的应用运行请求后,可以通过应用运行请求中携带的目标应用标识,在该目标应用标识对应的目标云设备集合中,确定目标云设备。从而控制目标云设备响应应用运行请求,并在目标云设备集合中移除目标云设备。该技术方案中,由于可以仅从目标应用标识对应的目标云设备集合中确定目标云设备。因此,相较于技术中,需要从云应用系统包括的所有空闲云设备中确定目标云设备,缩小了目标云设备的确定范围,提高了目标云设备的确定效率。并且由于目标云设备集合为目标应用标识对应的空闲云设备的集合,即目标云设备集合中的任意一个空闲云设备处于空闲状态,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。保证了目标云设备集合中仅存在空闲云设备。因此,在为终端分配空闲云设备的过程,即为来自于终端的应用运行请求确定响应的空闲云设备的过程中,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,无需针对每个请求执行访问云设备数据库,确定设备标识以及修改游戏运行状态的过程,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
请参考图4,其示出了本发明实施例提供的另一种云设备分配方法的流程图。该云设备分配方法可以应用于上述图1所示的云应用系统。不难理解的是,在应用阶段所涉及的云设备集合和应用集合均为初始配置阶段划分得到的。如图4所示,云设备分配方法可以包括:
步骤401、终端向管理服务器发送应用运行请求,应用运行请求携带目标应用标识。
步骤401的解释和实现方式可以参考前述步骤301的解释和实现方式,本发明实施例对此不做赘述。
步骤402、管理服务器在目标应用标识对应的目标云设备集合中,确定目标云设备。目标云设备集合为目标应用标识对应的空闲云设备的集合。
步骤402的解释和实现方式可以参考前述步骤302的解释和实现方式,本发明实施例对此不做赘述。
步骤403、管理服务器控制目标云设备响应应用运行请求。
步骤403的解释和实现方式可以参考前述步骤303的解释和实现方式,本发明实施例对此不做赘述。
步骤404、管理服务器在目标云设备集合中移除目标云设备。
步骤405的解释和实现方式可以参考前述步骤304的解释和实现方式,本发明实施例对此不做赘述。
步骤405、终端向管理服务器发送应用退出请求,应用退出请求携带标识信息。标识信息包括:目标云设备对应的设备标识和/或目标应用标识。
本发明实施例中,用户在想要退出正在运行的云应用时,可以执行针对云应用的退出操作。终端在接收到退出操作后,响应于该退出操作,向管理服务器发送应用退出请求。该应用退出请求可以携带标识信息。管理服务器可以接收来自于终端发送的应用退出请求,以释放被分配至该终端的云设备。其中,应用退出请求携带的标识信息包括目标云设备对应的设备标识和/或目标应用标识指的是,识别信息独可以包括目标云设备对应的设备标识、识别信息可以包括目标应用标识,或者识别信息可以包括设备标识以及目标应用标识。
步骤406、管理服务器基于标识信息,在目标云设备集合中添加目标云设备。
本发明实施例中,管理服务器在接收来自于终端发送的应用退出请求后,表明分配至终端的目标云设备被释放,无需运行目标应用以服务于终端,此时目标云设备更新为空闲云设备。此时,需要将该目标云设备重新添加到云设备集合中。
示例性的一种实施例中,可以不考虑该目标云设备提供应用服务之前的对应关系,在当前的所有云设备集合中,重新确定该目标云设备对应的一个目标云设备集合,从而,将该目标云设备添加到该目标云设备集合中。应当理解,该重新确定的目标云设备集合与该目标云设备提供应用服务前所对应的云设备集合,可能相同,也可以不同。
具体而言,重新确定该目标云设备对应的一个目标云设备集合时,可以有多种实现方式。示例性的,可以随机选择一个目标云设备作为该目标云设备对应的一个目标云设备集合。示例性的,可以在当前的所有云设备集合中,选择云设备集合中云设备数目最少的一个云设备集合,将其确定为该目标云设备对应的一个目标云设备集合。示例性的,还可以基于空闲云设备的性能参数和/或各应用的相关参数,重新确定该目标云设备对应的一个目标云设备集合,此处可参考后文的云设备集合划分方式,此处不展开赘述。示例性的,还可以基于预设的均衡算法或其他任意自定义条件,来重新确定该目标云设备对应的一个目标云设备集合,对此不作穷举,亦无特殊限制。
在该实现方式中,在目标云设备集合中添加目标云设备之后,还需要创建或更新第一对应关系和/或第二对应关系,不再赘述。
除前述方式之外,还可以结合目标云设备提供应用服务之前的对应关系,确定与该目标云设备具备对应关系的目标云设备集合。
具体而言,管理服务器基于标识信息,在目标云设备集合中添加目标云设备的过程可以包括:管理服务器基于标识信息,确定目标云设备集合。向目标云设备集合中添加目标云设备。
在标识信息包括目标应用标识,或者标识信息包括设备标识以及目标应用标识的情况下,针对上述步骤302的第一种可选的实现方式,管理服务器基于标识信息,在目标云设备集合中添加目标云设备的过程可以包括:管理服务器目标应用标识对应的目标应用集合。根据第一对应关系,确定目标应用集合对应的云目标云设备集合。在目标云设备集合中添加目标云设备。
或者,针对上述步骤302的第二种可选的实现方式,管理服务器基于标识信息,在目标云设备集合中添加目标云设备的过程可以包括:管理服务器根据第二对应关系,确定目标应用标识对应的目标云设备集合。在目标云设备集合中添加目标云设备。
在标识信息包括设备标识,或者标识信息包括设备标识以及目标应用标识的情况下,管理服务器可以获取云设备与所属的云设备集合之间的对应关系。查询该对应关系,得到设备标识指示的目标云设备对应的云设备集合。向目标云设备集合中添加目标云设备。其中,管理服务器获取的云设备与所属的云设备集合之间的对应关系可以是初始配置阶段,对各空闲云设备进行划分分组时,管理服务器存储的全量云设备与所属的云设备集合之间的对应关系。或者,管理服务器获取的云设备与所属的云设备集合之间的对应关系也可以是,管理服务器在执行步骤304在目标云设备集合中移除目标云设备之后,记录的目标云设备与目标云设备集合之间的对应关系。
可选的,与前述对应的是,管理服务器可以记录有各空闲云设备所属的云设备集合标识。则管理服务器在目标云设备集合中添加目标云设备的过程可以包括:管理服务器向目标云设备添加其所属的目标云设备集合对应的云设备集合标识。
一个示例的,管理服务器可以存储有各空闲云设备与所属的云设备集合的对应关系。则管理服务器在目标云设备集合中添加除目标云设备的过程可以包括:管理服务器添加目标云设备与目标云设备集合的对应关系。
另一示例的,在管理服务器在Redis中存储一个或多个键值对,各键值对的键域用于存储云设备集合的云设备集合标识。各键值对的值域用于存储对应的空闲云设备的情况下爱。也即是管理服务器将属于同一云设备集合的空闲云设备的设备标识存储至Redis中同一key对应的value内,以记录空闲云设备与云设备集合之间的对应关系。该关键字为空闲云设备对应的云设备集合的集合标识。其中,value存储空间可以为列表存储空间,则该列表存储空间中一个列表项用于存储一个空闲云设备的设备标识。则管理服务器在目标云设备集合中添加目标云设备的过程可以包括:从目标云集合标识对应的列表存储空间中,添加(即执行add操作)目标云设备的设备标识。
与上述类似的是,由于Redis为一个单线程运行的数据库,其可以将并发请求串行化,且Redis具有原子操作特性。因此,对Redis包括的列表进行移除操作和添加操作,均为串行互斥操作,无需额外设置读写互斥锁,解决了对存储设备标识的数据库进行高并发访问的问题。
这样,管理服务器在接收到终端发送的应用退出请求后,表明该应用退出请求对应的目标云设备不用在响应于该终端,该目标云设备为空闲云设备。管理服务器可以将该目标云设备添加至目标云设备集合中,使得后续管理服务器可以再次控制配目标云设备响应于其他终端发送的应用运行请求。
综上所述,本发明实施例提供的云设备分配方法,在接收来自于终端的应用运行请求后,可以通过应用运行请求中携带的目标应用标识,在该目标应用标识对应的目标云设备集合中,确定目标云设备。从而控制目标云设备响应应用运行请求,并在目标云设备集合中移除目标云设备。该技术方案中,由于可以仅从目标应用标识对应的目标云设备集合中确定目标云设备。因此,相较于技术中,需要从云应用系统包括的所有空闲云设备中确定目标云设备,缩小了目标云设备的确定范围,提高了目标云设备的确定效率。并且由于目标云设备集合为目标应用标识对应的空闲云设备的集合,即目标云设备集合中的任意一个空闲云设备处于空闲状态,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。保证了目标云设备集合中仅存在空闲云设备。因此,在为终端分配空闲云设备的过程,即为来自于终端的应用运行请求确定响应的空闲云设备的过程中,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,无需针对每个请求执行访问云设备数据库,确定设备标识以及修改游戏运行状态的过程,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
如前所示,本发明实施例中,管理服务器可以对云应用系统包括的多个云设备中空闲云设备进行分组划分,以得到云设备集合。其中,一个空闲云设备也仅能存在于一个云设备分组中。可选的,针对任意一个云设备集合,其包括的任意一个空闲云设备安装有该云设备集合对应的云应用。相应不难理解的是,目标云设备集合中的任意一个候选云设备安装有目标应用,该目标应用是目标应用标识指示的应用。目标云设备集合中的候选云设备即为该目标云设备集合包括的空闲云设备。不同云设备集合中空闲云设备可以安装有相同或者不同的云应用,即不同的云设备集合可以与相同或者不同的云应用对应。
可选的,在步骤302或步骤402之前,所述方法还包括:管理服务器根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合。任意两个云设备集合中的空闲云设备不同。
其中,性能参数包括如下至少一种:云设备所在区域、云设备的运算能力。相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率、各应用所需的云设备的数量比例。各云设备集合中包括的空闲云设备的数量可以相等,或者,各云设备集合中包括的空闲云设备的数量也可以不等。本发明实施例中,由于管理服务器在初始配置阶段中尚未开始执行为终端分配云设备的过程。因此,云应用系统所包括的多个云设备均为空闲云设备。
本发明实施例中,管理服务器根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合的过程可以包括:管理服务器根据各空闲云设备的性能参数,将各空闲云设备划分为多个云设备集合。或者,管理服务器根据各应用的相关参数,将各空闲云设备划分为多个云设备集合。或者,管理服务器根据各空闲云设备的性能参数,以及各应用的相关参数,将各空闲云设备划分为多个云设备集合。
在第一种可选的实现方式中,管理服务器可以将各空闲云设备中,性能参数符合相同取值要求的空闲云设备划分至一个云设备集合,得到多个云设备集合。示例的,管理服务器可以将各空闲云设备中,性能参数属于多个参数范围中同一参数范围内的空闲云设备划分至一个云设备集合,得到与多个参数范围分别对应的多个云设备集合。
其中,在性能参数包括一个参数的情况下,管理服务器可以将各空闲云设备中,性能参数属于同一参数范围内的空闲云设备划分至一个云设备集合。在性能参数包括多个参数的情况下,管理服务器可以将各空闲云设备中,性能参数的目标值属于多个参数范围中同一参数范围内的空闲云设备划分至一个云设备集合,该目标值基于性能参考包括的多个参数的取值确定。
例如,多个参考范围包括:第一参数范围、第二参数范围以及第三参数范围。在性能参数包括云设备的运算能力的情况下,管理服务器将各空闲云设备中,运算能力属于第一参数范围内的空闲云设备划分至一个云设备集合。将运算能力属于第二参数范围内的空闲云设备划分至一个云设备集合。并将运算能力属于第三参数范围内的空闲云设备划分至一个云设备集合。共得到三个云设备集合。
在第二种可选的实现方式中,管理服务器可以根据各应用的相关参数的取值属于多个参数范围时,不同的参数范围对应所需的云设备的数量比例,将各空闲云设备划分为多个云设备集合。
示例的,相关参数为应用访问频率F。多个参数范围可以包括:第一访问频率范围(F>60%)、第二访问频率范围(60%≥F≥10%)以及第三访问频率范围(F<10%)。假设第一访问频率范围对应的所需的云设备的数量:第二访问频率范围对应的所需的云设备的数量:第三访问频率范围对应的所需的云设备的数量=4:5:1。则管理服务器可以按照4:5:1的比例,将各空闲云设备划分为多个云设备集合。
在第三种可选的实现方式中,管理服务器可以根据各应用的相关参数的取值属于多个参数范围时,不同的参数范围对应的性能参数的取值要求不同。管理服务器可以将各空闲云设备中,性能参数符合相同取值要求的空闲云设备划分至一个云设备集合,得到多个云设备集合。
示例的,相关参数为应用访问频率F,性能参数为云设备的运算能力。多个参数范围可以包括:第一访问频率范围(F>60%)、第二访问频率范围(60%≥F≥10%)以及第三访问频率范围(F<10%)。假设第一访问频率范围对应的运算能力的取值要求为属于第一能力范围、第二访问频率范围对应的运算能力的取值要求为属于第二能力范围以及第三访问频率范围对应的运算能力的取值要求为属于第三能力范围。则管理服务器将各空闲云设备中,性能参数分别属于同一能力范围内的空闲云设备划分至一个云设备集合,得到与三个能力范围分别对应的三个云设备集合。
本发明实施例中,管理服务器可以根据云设备集合的划分结果,存储空闲云设备与其对应的云设备集合。可选的,管理服务器可以根据云设备集合的划分结果,记录有各空闲云设备所属的云设备集合标识。一个示例的,管理服务器可以根据云设备集合的划分结果,存储有各空闲云设备与所属的云设备集合的对应关系。另一示例的,管理服务器根据云设备集合的划分结果,在Redis中存储一个或多个键值对。各键值对的键域用于存储云设备集合的云设备集合标识。各键值对的值域用于存储对应的空闲云设备。也即是管理服务器将属于同一云设备集合的空闲云设备的设备标识存储至Redis中同一key对应的value内,以记录空闲云设备与云设备集合之间的对应关系。该关键字为空闲云设备对应的云设备集合的集合标识。其中,value存储空间可以为列表存储空间,则该列表存储空间中一个列表项用于存储一个空闲云设备的设备标识。
再一示例的,针对多个云设备集合中的任一云设备集合,管理服务器可以将一个云设备集合包括的空闲云设备的设备标识依次存储至一个关键字对应的列表中。如图5所示,假设云设备集合的个数可以为3。管理服务器可以将第一云设备集合包括的空闲云设备A1的设备标识设备A1、空闲云设备A2的设备标识设备A2..至空闲云设备Am的设备标识设备Am,依次存储至第一关键字对应的列表501中。该第一关键字为设备组标识A_id。管理服务器可以将第二云设备集合包括的空闲云设备B1的设备标识设备B1、空闲云设备B2的设备标识设备B2..至空闲云设备Bn的设备标识设备Bn,依次存储至第二关键字对应的列表502中。该第二关键字为设备组标识B_id。管理服务器可以将第三云设备集合包括的空闲云设备C1的设备标识设备C1、空闲云设备C2的设备标识设备C2..至空闲云设备Ci的设备标识设备Ci,依次存储至第三关键字对应的列表503中。该第三关键字为设备组标识C_id。从而记录各云设备集合与云设备的对应关系。
本发明实施例中,由于对云设备集合的划分依据考虑到了空闲云设备的性能参数和应用的相关参数。因此,使得同一云设备集合中包括的各空闲云设备的性能相近且与应用的性能要求相关,便于后续为云设备集合匹配对应的应用。
本发明实施例中,管理服务器可以根据云设备集合的划分结果,确定应用的应用标识与云设备集合的对应关系。进而确定前述第二对应关系。可选的,管理服务器可以将任一应用的应用标识与云设备集合对应。或者,管理服务器可以根据云设备集合的划分条件,将应用的应用标识与云设备集合对应的。
可选的,在前述第二种可选的实现方式中,管理服务器可以将应用访问频率属于第一访问频率范围的应用与包括40%的空闲云设备的云设备集合对应。管理服务器可以将应用访问频率属于第二访问频率范围的应用与包括50%的空闲云设备的云设备集合对应。管理服务器可以将应用访问频率属于第三访问频率范围的应用与包括10%的空闲云设备的云设备集合对应。
如前所示,本发明实施例中,管理服务器还可以对云应用系统中云设备上可安装的云应用进行分组划分,以得到应用集合。其中,一个云应用仅能存在于一个应用集合中。
可选的,在步骤302或步骤402之前,所述方法还包括:管理服务器根据各应用的相关参数,将各应用划分为多个应用集合。任意两个应用集合中的应用可以不同,但基于实际情况的不同,也可以存在相同的情况,对此无特别限制。
其中,相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率。
可选的,管理服务器可以将各应用中,相关参数符合相同取值要求的应用划分至一个应用集合,得到多个应用集合。示例的,管理服务器可以将各应用中,性能参数属于多个参数范围中同一参数范围内的空闲云设备划分至一个云设备集合,得到与多个参数范围分别对应的多个云设备集合。
例如,相关参数为应用访问频率F。多个参数范围可以包括:第一访问频率范围(F>60%)、第二访问频率范围(60%≥F≥10%)以及第三访问频率范围(F<10%)。则管理服务器将各应用中,将访问频率的取值高于60%的应用划分至第一应用集合。将访问频率的取值介于60%至10%之间时的应用划分至第二应用集合。将访问频率的取值低于10%的应用划分至第三应用集合。
本发明实施例中,管理服务器可以根据应用集合的划分结果,存储应用与其对应的应用集合。可选的,管理服务器可以根据应用集合的划分结果,记录有各应用所属的应用标识。一个示例的,管理服务器可以应用集合的划分结果,存储有各应用标识与所属的应用集合的对应关系。另一示例的,管理服务器根据应用集合的划分结果,在Redis中存储一个或多个第二键值对。各第二键值对的键域用于存储应用集合的应用集合标识。各第二键值对的值域用于存储对应的应用。也即是管理服务器将属于同一应用集合的应用的应用标识存储至Redis中同一key对应的value内,以记录应用与应用集合之间的对应关系。该关键字为应用对应的应用集合的集合标识。其中,value存储空间可以为列表存储空间,则该列表存储空间中一个列表项用于存储一个应用的应用标识。
示例的,请参考图6,其示出了本发明实施例提供的一种云设备分组示意图。如图6所示,以云设备为云手机,应用为游戏应用,且对区域1中分布的业务服务器虚拟的多个云手机进行分组为例对应说明。区域1对应的多个云手机划分至云设备组1、云设备组2以及云设备组3。云设备组1包括云手机1、云手机2、云手机3..至云手机m。云设备组2包括云手机1、云手机2、云手机3..至云手机n。云设备组3包括云手机1、云手机2、云手机3..至云手机k。云设备组1中包括的所有云手机均安装有游戏A1、游戏A2…至游戏Ax。云设备组2中包括的所有云手机均安装有游戏B1、游戏B2…至游戏By。云设备组3中包括的所有云手机均安装有游戏C1、游戏C2…至游戏Cz。当然,诸如区域2、区域3等其他区域,对其分布的业务服务器虚拟的多个云手机进行分组的结果,与区域1中分组结果类似。
本发明实施例中,由于对应用集合的划分依据考虑到了应用的相关参数。因此,使得同一应用集合中包括的各应用的性能相近,便于后续为应用匹配云设备集合。而且,相较于相关技术中各云服务器上部署的各云设备均安装有相同的云应用的情况,本发明实施例所提供的方案,各云设备集合中的空闲云设备所安装的云应用并不完全相同,既有利于节约云设备的资源,且能够在响应终端的云应用请求时,更快的为用户提供服务,缩短用户等待时间,有利于提升云应用使用体验。
本发明实施例中,管理服务器可以确定云设备集合与应用集合的对应关系,从而生成前述第一对应关系。可选的,管理服务器可以将划分任意一个云设备集合与任意一个应用集合对应。或者,管理服务器根据云设备集合以及应用集合的划分依据,将划分得到云设备集合与应用集合对应。或者,管理服务器按照各应用集合所需的空闲云设备的数量,将各云设备集合与应用集合对应。
示例的,假设应用集合的数量为3,包括第一应用集合、第二应用集合以及第三应用集合。第一应用集合所需的空闲云设备的数量为空闲云设备的总数量的60%。第二应用集合所需的空闲云设备的数量为空闲云设备的总数量的30%。第三应用集合所需的空闲云设备的数量为空闲云设备的总数量的10%。则假设云设备集合可以包括:第一云设备集合、第二云设备集合、第三云设集合以及第四云设备集合。其中,第一云设备集合和第二云设备集合所包括的所有空闲云设备的数量为空闲云设备的总数量的60%。第三云设备集合包括的空闲云设备的数量为空闲云设备的总数量的30%。第四云设备集合包括的空闲云设备的数量为空闲云设备的总数量的10%。则管理服务器按照各应用集合所需的空闲云设备的数量,将各云设备集合与应用集合对应可以得到,第一应用集合与第一云设备集合以及第二云设备集合对应、第二应用集合与第三云设备集合对应、第三应用集合与第四云设备集合对应。
又一示例的,假设管理服务器根据各应用的应用访问频率相关参数,将各应用划分为与第一访问频率范围对应的第一应用集合、与第二访问频率范围对应额第二应用集合以及与第三访问频率范围对应的第三应用集合。且假设第一应用集合、第二应用集合以及第三应用集合所需的空闲云设备的数量比例为4:5:1。则在多个云设备集合采用前述第二种可选的实现方式划分得到的情况下,第一应用集合与第一云设备集合对应、第二应用集合与第二云设备对应、第三应用集合与第三云设备对应。
再一示例的,假设管理服务器根据各应用的应用访问频率相关参数,将各应用划分为与第一访问频率范围对应的第一应用集合、与第二访问频率范围对应额第二应用集合以及与第三访问频率范围对应的第三应用集合。则在多个云设备集合采用前述第二种可选的实现方式或者第三种可选的实现方式划分得到的情况下,将与第一访问频率范围分别对应的第一应用集合与第一云设备集合对应。将与第一访问频率范围分别对应的第二应用集合与第二云设备集合对应。将与第三访问频率范围分别对应的第三应用集合与第三云设备集合对应。
请参考图7,其示出了本发明实施例提供的一种空闲云设备集合和应用集合生成方法的流程图。如图7所示,所述方法还包括:
步骤701、管理服务器根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合。任意两个云设备集合中的空闲云设备不同。
步骤701的解释和实现方式可以参考前述实施例中管理服务器根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合。任意两个云设备集合中的空闲云设备不同的解释和实现方式,本发明实施例对此不作限定。
步骤702、管理服务器根据各应用的相关参数,将各应用划分为多个应用集合。任意两个应用集合中的应用不同。
步骤702的解释和实现方式可以参考前述实施例中管理服务器根据各应用的相关参数,将各应用划分为多个应用集合。任意两个应用集合中的应用不同的解释和实现方式,本发明实施例对此不作限定。
可选的,本发明实施例提供的云设备分配方法中,管理服务器还可以在执行云设备分配方法的应用阶段,根据各云设备集合的设备特征,对各云设备集合所包括的空闲云设备进行动态调整,以实现云应用系统的负载均衡。则所述方法还包括:管理服务器根据各云设备集合的设备特征,对各云设备集合进行设备调整。
可选的,各云设备集合的设备特征可以包括如下至少一种:各云设备集合中空闲云设备的数量、任意两个云设备集合中空闲云设备的数量差值。
一个示例的,在各云设备集合的设备特征为各云设备集合中空闲云设备的数量的情况下,管理服务器根据各云设备集合的设备特征对各云设备集合进行设备调整的过程可以包括:管理服务器在设定云设备集合的数量小于第一数量阈值时,将云应用系统当前包括的各空闲云设备重新划分云设备集合。其中,设定云设备集合指的空闲云设备的数量小于第二数量阈值的云设备集合。
另一示例的,在各云设备集合的设备特征为任意两个云设备集合中空闲云设备的数量差值的情况下,管理服务器根据各云设备集合的设备特征对各云设备集合进行设备调整的过程可以包括:管理服务器在任意两个云设备集合中空闲云设备的数量相差大于第三数量阈值时,将云应用系统当前包括的各空闲云设备重新划分云设备集合。
请参考图8,其示出了本发明实施例提供的一种云设备分配方法的原理示意图。示例的,以云应用为云游戏,且云设备为云手机为例。如图8所示,终端向管理服务器发送应用运行请求,应用运行请求携带云游戏标识。管理服务器在接收到应用运行请求后,获取游戏信息列表。该游戏信息列表记录有应用标识与应用集合的对应关系。管理服务器根据目标应用标识确定目标应用标识对应的目标应用集合。管理服务器根据应用集合与云设备集合的对应关系,确定目标应用集合对应的目标云设备集合。管理服务器获取可用手机列表。该可用手机列表记录有目标云设备集合包括的各空闲云设备的设备标识。管理服务器从可用手机列表中确定目标云设备,并控制目标云设备响应应用运行请求。其中,管理服务器可以控制目标云设备运行目标应用标识指的是目标应用,并将运行目标应用过程中生成的推拉流发送至终端。管理服务器将目标云设备的设备标识移除可用手机列表。终端向管理服务器发送应用退出请求后,该应用退出请求携带有目标云设备对应的设备标识。管理服务器在接收到应用退出请求后,确定目标云设备对应的可用手机列表,并将目标云设备的设备标识添加至可用手机列表。
综上所述,本发明实施例提供的云设备分配方法,在接收来自于终端的应用运行请求后,可以通过应用运行请求中携带的目标应用标识,在该目标应用标识对应的目标云设备集合中,确定目标云设备。从而控制目标云设备响应应用运行请求,并在目标云设备集合中移除目标云设备。该技术方案中,由于云设备集合中的任意一个空闲云设备处于空闲状态,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。因此,保证了云设备集合中仅存在空闲云设备。因此,在为终端分配空闲云设备的过程,即为来自于终端的应用运行请求确定响应的空闲云设备的过程中,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,无需针对每个请求执行访问云设备数据库,确定设备标识以及修改游戏运行状态的过程,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
请参考图9,其示出了本发明实施例提供的一种云设备分配装置的结构图。如图9所示,云设备分配装置900包括:接收模块901、确定模块902、控制模块903以及移除模块904。
接收模块901,用于接收来自于终端的应用运行请求,应用运行请求携带目标应用标识;
确定模块902,用于在目标应用标识对应的目标云设备集合中,确定目标云设备;目标云设备集合为目标应用标识对应的空闲云设备的集合;
控制模块903,用于控制目标云设备响应应用运行请求;
移除模块904,用于在目标云设备集合中移除目标云设备。
可选的,确定模块902,还用于确定目标应用标识对应的目标应用集合;根据第一对应关系,确定目标应用集合对应的目标云设备集合;其中,第一对应关系为应用集合与云设备集合中各空闲云设备之间的对应关系;或者,第一对应关系为应用集合与云设备集合的对应关系。
可选的,确定模块902,还用于根据第二对应关系,确定目标应用标识对应的目标云设备集合;其中,第二对应关系为应用标识与云设备集合中各空闲云设备之间的对应关系;或者,第二对应关系为应用标识与云设备集合的对应关系。
可选的,目标云设备集合中的任意一个候选云设备安装有目标应用,目标应用是目标应用标识指示的应用。
可选的,接收模块901,还用于接收来自于终端发送的应用退出请求,应用退出请求携带标识信息;标识信息包括:目标云设备对应的设备标识和/或目标应用标识。
装置还包括:添加模块,用于基于标识信息,在目标云设备集合中添加目标云设备。
可选的,装置还包括:划分模块。
划分模块,用于根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合;任意两个云设备集合中的空闲云设备不同;其中,性能参数包括如下至少一种:云设备所在区域、云设备的运算能力;相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率、各应用所需的云设备的数量比例。
可选的,划分模块,还用于根据各应用的相关参数,将各应用划分为多个应用集合;任意两个应用集合中的应用不同;其中,相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率。
可选的,装置还包括:调整模块,用于根据各云设备集合的设备特征,对各云设备集合进行设备调整。
综上所述,本发明实施例提供的云设备分配装置,在接收来自于终端的应用运行请求后,可以通过应用运行请求中携带的目标应用标识,在该目标应用标识对应的目标云设备集合中,确定目标云设备。从而控制目标云设备响应应用运行请求,并在目标云设备集合中移除目标云设备。该技术方案中,由于云设备集合中的任意一个空闲云设备处于空闲状态,且在从目标云设备集合中确定目标云设备后,将该目标云设备移除目标云设备。因此,保证了云设备集合中仅存在空闲云设备,。因此,在为终端分配空闲云设备的过程,即为来自于终端的应用运行请求确定响应的空闲云设备的过程中,可以直接从与应用运行请求携带的目标应用标识对应的云设备集合中确定。相较于相关技术,无需针对每个请求执行访问云设备数据库,确定设备标识以及修改游戏运行状态的过程,简化了云设备的分配过程,降低了分配耗时,进而降低了终端启动目标应用的时间,提高了启动效率。
本发明实施例还提供了一种电子设备,该电子设备可以为上述终端或者服务端。如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现本发明方法侧任一实施例所述的方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序被终端的处理器执行上述实施例中任一所述的云设备分配方法中终端执行的步骤。或者当该计算机程序被服务端的处理器执行上述实施例中任一所述的云设备分配方法中服务端执行的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的云设备分配方法中终端执行的步骤,或者执行上述实施例中任一所述的云设备分配方法中服务端执行的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“和/或”表示和以及或者。例如“A和/或B”表示:A、B以及A和B三种情况。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种云设备分配方法,其特征在于,包括:
接收来自于终端的应用运行请求,所述应用运行请求携带目标应用标识;
在所述目标应用标识对应的目标云设备集合中,确定目标云设备;所述目标云设备集合为所述目标应用标识对应的空闲云设备的集合;
控制所述目标云设备响应所述应用运行请求;
在所述目标云设备集合中移除所述目标云设备。
2.根据权利要求1所述的方法,其特征在于,在所述目标应用标识对应的目标云设备集合中,确定目标云设备之前,所述方法还包括:
确定所述目标应用标识对应的目标应用集合;
根据第一对应关系,确定所述目标应用集合对应的所述目标云设备集合;其中,所述第一对应关系为应用集合与云设备集合中各空闲云设备之间的对应关系;或者,所述第一对应关系为应用集合与云设备集合的对应关系。
3.根据权利要求1所述的方法,其特征在于,在所述目标应用标识对应的目标云设备集合中,确定目标云设备之前,所述方法还包括:
根据第二对应关系,确定所述目标应用标识对应的所述目标云设备集合;其中,所述第二对应关系为应用标识与云设备集合中各空闲云设备之间的对应关系;或者,所述第二对应关系为应用标识与云设备集合的对应关系。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述目标云设备集合中的任意一个候选云设备安装有目标应用,所述目标应用是所述目标应用标识指示的应用。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
接收来自于所述终端发送的应用退出请求,所述应用退出请求携带标识信息;所述标识信息包括:所述目标云设备对应的设备标识和/或所述目标应用标识;
基于所述标识信息,在所述目标云设备集合中添加所述目标云设备。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
根据各空闲云设备的性能参数和/或各应用的相关参数,将各空闲云设备划分为多个云设备集合;任意两个云设备集合中的空闲云设备不同;
其中,所述性能参数包括如下至少一种:云设备所在区域、云设备的运算能力;所述相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率、各应用所需的云设备的数量比例。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据各应用的相关参数,将各应用划分为多个应用集合;任意两个应用集合中的应用不同;
其中,所述相关参数包括如下至少一种:应用类型、应用上线时刻、应用存储规格、应用广告的属性、应用访问频率。
8.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
根据各云设备集合的设备特征,对所述各云设备集合进行设备调整。
9.一种云设备分配装置,其特征在于,包括:
接收模块,用于接收来自于终端的应用运行请求,所述应用运行请求携带目标应用标识;
确定模块,用于在所述目标应用标识对应的目标云设备集合中,确定目标云设备;所述目标云设备集合为所述目标应用标识对应的空闲云设备的集合;
控制模块,用于控制所述目标云设备响应所述应用运行请求;
移除模块,用于在所述目标云设备集合中移除所述目标云设备。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8中任一所述的方法步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749167.8A CN113590311A (zh) | 2021-07-01 | 2021-07-01 | 云设备分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749167.8A CN113590311A (zh) | 2021-07-01 | 2021-07-01 | 云设备分配方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113590311A true CN113590311A (zh) | 2021-11-02 |
Family
ID=78245454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110749167.8A Pending CN113590311A (zh) | 2021-07-01 | 2021-07-01 | 云设备分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590311A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879812B1 (ko) * | 2017-07-26 | 2018-07-19 | 김의섭 | 클라이언트 프로그램이 탑재된 사용자 단말, 클라우드 장치, 관리 서버 및 이를 포함하는 클라우드 서비스 시스템 |
CN108536505A (zh) * | 2018-03-19 | 2018-09-14 | 国云科技股份有限公司 | 一种云终端分组与云桌面池关联的方法 |
CN109660658A (zh) * | 2018-11-26 | 2019-04-19 | 广州微算互联信息技术有限公司 | 获取预启动的云手机的方法和云手机服务器 |
CN111143170A (zh) * | 2019-12-31 | 2020-05-12 | 北京云派网络科技有限公司 | 云手机监控系统和方法 |
CN111432019A (zh) * | 2020-03-31 | 2020-07-17 | 广州微算互联信息技术有限公司 | 一种基于边云协同方式的云游戏设备分配方法及系统 |
CN112104622A (zh) * | 2020-08-31 | 2020-12-18 | 北京爱奇艺科技有限公司 | 云应用启动方法、服务器、云设备及云端通信系统 |
CN112437191A (zh) * | 2020-11-16 | 2021-03-02 | 福建多多云科技有限公司 | 基于云手机的设备调度方法 |
-
2021
- 2021-07-01 CN CN202110749167.8A patent/CN113590311A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879812B1 (ko) * | 2017-07-26 | 2018-07-19 | 김의섭 | 클라이언트 프로그램이 탑재된 사용자 단말, 클라우드 장치, 관리 서버 및 이를 포함하는 클라우드 서비스 시스템 |
CN108536505A (zh) * | 2018-03-19 | 2018-09-14 | 国云科技股份有限公司 | 一种云终端分组与云桌面池关联的方法 |
CN109660658A (zh) * | 2018-11-26 | 2019-04-19 | 广州微算互联信息技术有限公司 | 获取预启动的云手机的方法和云手机服务器 |
CN111143170A (zh) * | 2019-12-31 | 2020-05-12 | 北京云派网络科技有限公司 | 云手机监控系统和方法 |
CN111432019A (zh) * | 2020-03-31 | 2020-07-17 | 广州微算互联信息技术有限公司 | 一种基于边云协同方式的云游戏设备分配方法及系统 |
CN112104622A (zh) * | 2020-08-31 | 2020-12-18 | 北京爱奇艺科技有限公司 | 云应用启动方法、服务器、云设备及云端通信系统 |
CN112437191A (zh) * | 2020-11-16 | 2021-03-02 | 福建多多云科技有限公司 | 基于云手机的设备调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7127010B2 (ja) | リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム | |
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
EP3210134B1 (en) | Composite partition functions | |
CN107920138B (zh) | 一种用户统一标识生成方法、装置及系统 | |
CN104714847A (zh) | 用于动态地改变云计算环境的方法和系统 | |
CN112486860B (zh) | 管理存储系统的地址映射的方法、设备和计算机程序产品 | |
US11947534B2 (en) | Connection pools for parallel processing applications accessing distributed databases | |
CN108471385B (zh) | 一种针对分布式系统的流量控制方法及装置 | |
US8903871B2 (en) | Dynamic management of log persistence | |
WO2020134786A1 (zh) | 服务器的扩容方法及装置、服务器、存储介质 | |
US11662992B2 (en) | Algorithm downloading method, device, and related product | |
US20190281134A1 (en) | Sandboxing requests for web services | |
CN109976896B (zh) | 业务排重处理方法和装置 | |
CN105307130A (zh) | 一种资源分配方法及系统 | |
WO2021169287A1 (zh) | 主从架构配置方法、装置、设备以及计算机可读存储介质 | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN113590311A (zh) | 云设备分配方法、装置、电子设备及存储介质 | |
US12020081B2 (en) | Method to implement multi-tenant/shared redis cluster using envoy | |
CN113596746B (zh) | 集群消息的处理方法、装置、电子设备和介质 | |
CN113342270A (zh) | 卷卸载方法、装置和电子设备 | |
US20210019392A1 (en) | System and method for data processing device management | |
US12074873B2 (en) | Managing permissions for computing devices in computer networks | |
KR102569002B1 (ko) | 멀티 클러스터 환경에서의 가상 머신 자동 최적화를 위한 장치 및 방법 | |
US11838292B2 (en) | Securing computer networks with virtual 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 |