CN111988392B - 一种基于云业务的资源分配方法、相关装置、设备及系统 - Google Patents
一种基于云业务的资源分配方法、相关装置、设备及系统 Download PDFInfo
- Publication number
- CN111988392B CN111988392B CN202010819987.5A CN202010819987A CN111988392B CN 111988392 B CN111988392 B CN 111988392B CN 202010819987 A CN202010819987 A CN 202010819987A CN 111988392 B CN111988392 B CN 111988392B
- Authority
- CN
- China
- Prior art keywords
- resource
- configuration information
- game
- cloud
- service
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种云业务的资源分配方法,适用于具有弹性伸缩的业务场景,该方法应用于资源分配系统,资源分配系统包括互连K个资源实体,K为大于1的整数,该方法包括:获取针对于目标云业务的业务启动请求;根据业务启动请求,获取目标云业务所对应的初始业务配置信息;根据初始业务配置信息确定第一资源预估量;根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体;在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。本申请还提供了相关装置和系统。本申请一方面减少了升级原有硬件的情况,降低了硬件成本,另一方面能够为用户提供质量更高的服务。
Description
技术领域
本申请涉及云计算技术,尤其涉及一种基于云业务的资源分配方法、相关装置、设备及系统。
背景技术
传统业务的应用程序不但复杂,而且成本高昂,正常运行所需的各种软硬件的数量也非常庞大,而云业务提供商为企业搭建信息化所需要的网络基础设施以及软硬件运作平台,企业无需购买软硬件,也无需建设机房,只需前期支付一次性的项目实施费和定期的软件租赁服务费,即可通过互联网享用信息系统。
目前,云业务都在服务器端运行,并将运行后的数据进行压缩处理,再将压缩后的数据通过网络传递给用户使用的终端设备上,该终端设备不需要高端的处理器或者显卡等硬件,只需要基本的数据解压能力即可通过客户端执行相应的业务。
然而,随着业务需求的增长以及技术的革新,云业务往往也随之更新。如果云业务更新之后对硬件处理能力要求变高,则需要升级原有的硬件,从而导致硬件成本的增加。
发明内容
本申请实施例提供了一种基于云业务的资源分配方法、相关装置、设备及系统,能够基于业务需求,灵活地调度来自不同资源实体的资源,以提供相应云业务,一方面减少升级原有硬件的情况,降低硬件成本,另一方面能够为用户提供质量更高的服务。
有鉴于此,本申请一方面提供一种基于云业务的资源分配方法,资源分配方法应用于资源分配系统,资源分配系统包括互连的K个资源实体,K为大于1的整数,资源分配方法包括:
获取针对于目标云业务的业务启动请求,其中,业务启动请求携带目标客户端标识,目标客户端标识用于指示目标客户端;
根据业务启动请求,获取目标云业务所对应的初始业务配置信息;
根据初始业务配置信息确定第一资源预估量;
根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,第一资源来自于M个资源实体,M为大于或等于1,且小于或等于K的整数;
在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。
本申请另一方面提供一种资源分配装置,该资源分配装置应用于资源分配系统,资源分配系统包括互连的K个资源实体,K为大于1的整数,该资源分配装置包括:
获取模块,用于获取针对于目标云业务的业务启动请求,其中,业务启动请求携带目标客户端标识,目标客户端标识用于指示目标客户端;
获取模块,还用于根据业务启动请求,获取目标云业务所对应的初始业务配置信息;
确定模块,用于根据初始业务配置信息确定第一资源预估量;
确定模块,还用于根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,第一资源来自于M个资源实体,M为大于或等于1,且小于或等于K的整数;
执行模块,用于在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
获取模块,具体用于根据业务启动请求,获取目标云业务所对应的配置信息集合,其中,配置信息集合包括至少一项可配置信息,每个可配置信息对应于一个可配置范围;
根据配置信息集合中每个可配置信息所对应的可配置范围,确定每个可配置信息所对应的默认配置值;
根据每个可配置信息所对应的默认配置值,生成目标云业务所对应的初始业务配置信息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于根据业务启动请求获取目标用户标识;
从目标云业务所对应的第一初始配置信息集合中确定目标用户标识所对应的初始业务配置信息,其中,第一初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个用户标识,初始业务配置信息属于第一初始配置信息集合中的其中一个业务配置信息;
或,
获取模块,具体用于从目标云业务所对应的第二初始配置信息集合中确定目标客户端标识所对应的初始业务配置信息,其中,第二初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个客户端标识,初始业务配置信息属于第二初始配置信息集合中的其中一个业务配置信息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于在执行模块在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,获取针对于目标云业务的配置信息调整请求;
获取模块,还用于根据配置信息调整请求,获取目标云业务所对应的业务配置更新信息;
确定模块,还用于根据业务配置更新信息确定第二资源预估量;
确定模块,还用于根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
执行模块,还用于在第二时间段内,为目标客户端分配用于执行目标云业务的第二资源,其中,第二时间段出现在第一时间段之后。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量,确定最大空闲资源量所对应的目标资源实体,其中,最大空闲资源量为K个空闲资源量中的最大值;
若第一资源预估量小于或等于最大空闲资源量,则确定目标资源实体为分配第一资源的资源实体,其中,M等于1;
若第一资源预估量大于最大空闲资源量,则确定目标资源实体为分配第一资源中部分资源的资源实体,其中,M为大于1的整数。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据第一资源预估量以及预设划分数值确定平均资源量;
根据K个空闲资源量,从K个空闲资源量中获取空闲资源量大于或等于平均资源量的N个资源实体,其中,N为大于或等于M,且小于或等于M的整数;
从N个资源实体中随机选择M个用于分配第一资源的资源实体。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,目标云业务为云游戏;
获取模块,具体用于根据业务启动请求,获取云游戏所对应的初始业务配置信息,其中,云游戏所对应的初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项;
确定模块,具体用于根据游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,获取针对于云游戏的配置信息调整请求;
获取模块,还用于根据配置信息调整请求,获取云游戏所对应的业务配置更新信息;
确定模块,还用于根据业务配置更新信息确定第二资源预估量;
确定模块,还用于根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
执行模块,还用于在第二时间段内,为目标客户端分配用于执行云游戏的第一资源,其中,第二时间段出现在第一时间段之后。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,K个资源实体为K个图像处理器GPU;
资源分配装置还包括渲染模块、生成模块以及发送模块;
确定模块,具体用于获取K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量以及第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,M个资源实体所对应的空闲资源总量大于或等于第一资源预估量;
渲染模块,用于在执行模块在第一时间段内,为目标客户端分配用于执行云游戏的第一资源之后,采用第一资源对云游戏的画面进行渲染处理,得到画面数据;
生成模块,用于根据画面数据生成数据包;
发送模块,用于向目标客户端发送数据包,以使目标客户端根据数据包展示云游戏的游戏画面。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,目标云业务为人工智能AI云业务;
获取模块,具体用于根据业务启动请求,获取AI云业务所对应的初始业务配置信息,其中,AI云业务所对应的初始业务配置信息包括模型训练参数、训练集数量以及训练时间中的至少一项;
确定模块,具体用于基于模型训练参数、训练集数量以及训练时间中的至少一项,通过算力预估模型确定第一资源预估量,其中,算力预估模型用于计算模型训练所对应的资源开销。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,目标云业务为云教育;
获取模块,具体用于根据业务启动请求,获取云教育所对应的初始业务配置信息,其中,云教育所对应的初始业务配置信息包括下载权限、下载量以及下载速率中的至少一项;
确定模块,具体用于基于下载权限、下载量以及下载速率中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
本申请另一方面提供一种服务器,包括:存储器、收发器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请另一方面提供一种资源分配系统,资源分配系统包括至少一个服务器,每个服务器上部署于有至少一个资源实体,至少一个服务器上部署有互连的K个资源实体,K为大于1的整数;
其中,资源实体包括图像处理器GPU、中央处理器CPU、内存或硬盘。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种基于云业务的资源分配方法,该资源分配方法应用于资源分配系统,资源分配系统包括互连的K个资源实体,该资源实体为硬件,K为大于1的整数,其中,资源分配方法的实现方式为,先获取针对于目标云业务的业务启动请求,然后根据业务启动请求,获取目标云业务所对应的初始业务配置信息,再根据初始业务配置信息确定第一资源预估量,随后根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,最后,在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。通过上述方式,在云业务场景下,采用互连后的资源实体能够达到资源整合的目的,基于此,可以先根据初始业务配置信息估计出云业务的资源需求量,再结合当前各个资源实体包括的空闲资源量,从中选择出满足资源需求量的第一资源,并向客户端提供执行云业务所需的第一资源。由此可见,本申请能够基于业务需求,灵活地调度来自不同资源实体的资源,以提供相应的云业务,一方面减少了升级原有硬件的情况,降低了硬件成本,另一方面能够为用户提供质量更高的服务。
附图说明
图1为本申请实施例中资源分配方法的一个应用环境示意图;
图2为本申请实施例中资源分配系统的一个架构示意图;
图3为本申请实施例中资源分配系统的另一个架构示意图;
图4为本申请实施例中资源分配方法的一个整体流程示意图;
图5为本申请实施例中基于云业务的资源分配方法的一个实施例示意图;
图6为本申请实施例中在第一时间段内进行资源分配的一个示意图;
图7为本申请实施例中在第二时间段内进行资源分配的一个示意图;
图8为本申请实施例中通过负载均衡实现资源分配的一个示意图;
图9为本申请实施例中通过负载均衡实现资源分配的另一个示意图;
图10为本申请实施例中基于云游戏输入业务配置更新信息的一个界面示意图;
图11为本申请实施例中基于云游戏实现资源分配方法的一个整体流程示意图;
图12为本申请实施例中资源分配方法应用于云游戏的一个示意图;
图13为本申请实施例中资源分配方法应用于人工智能云业务的一个示意图;
图14为本申请实施例中资源分配方法应用于云教育的一个示意图;
图15为本申请实施例中资源分配系统的一个整体架构示意图;
图16为本申请实施例中资源分配装置的一个实施例示意图;
图17为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种基于云业务的资源分配方法、相关装置、设备及系统,能够基于业务需求,灵活地调度来自不同资源实体的资源,以提供相应云业务,一方面减少升级原有硬件的情况,降低硬件成本,另一方面能够为用户提供质量更高的服务。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的资源分配方法可应用于云业务场景,云业务是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云业务是基于云技术(cloud technology)实现的业务,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算(cloud computing)来实现。
其中,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为基础设施即服务(Infrastructure as a Service,IaaS))平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在基础设施即服务(Infrastructure asa Service,IaaS)层上可以部署平台即服务(Platform as a Service,PaaS)层,PaaS层之上再部署软件即服务(Software as a Service,SaaS),也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。
本申请提供了一种基于云业务的资源分配方法,可通过资源实体集群的可伸缩性,在云业务场景下支持更高的业务能力,在不升级硬件前提下也可以支持次时代的云业务。
为了便于理解,请参阅图1,图1为本申请实施例中资源分配方法的一个应用环境示意图,如图所示,一台服务器可以为至少一个终端设备提供所需资源,云业务都在服务器侧运行,并将运行后的数据进行压缩处理,再将压缩后的数据通过网络传递到终端设备上,终端设备不需要高端的处理器或者显卡等硬件,只需要基本的数据解压能力即可通过部署在终端设备上的客户端执行相应的业务。本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云业务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云业务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。
下面将结合图2和图3,分别介绍资源实体集群的工作方式,资源实体集群包括至少两个资源实体。具体地,请参阅图2,图2为本申请实施例中资源分配系统的一个架构示意图,如图所示,资源分配系统可以包括一台服务器,该服务器上部署有至少两个资源实体,例如,部署有资源实体A和资源实体B,同一台服务器上可以设置多个插槽,每个插槽可插入一个资源实体,多个资源实体之间可以实现通信。在启动云业务时,可由其中至少一个资源实体为该云业务提供资源。可以理解的是,图2所示的资源分配系统中包括2个互连的资源实体,在实际应用中,还可以包括更多互连的资源实体,此处仅为一个示意,不应理解为对本申请的限定。
请参阅图3,图3为本申请实施例中资源分配系统的另一个架构示意图,如图所示,资源分配系统可以包括至少两台服务器,每台服务器上可部署有至少一个资源实体,例如,服务器1部署有资源实体A和资源实体B,服务器2部署有资源实体C和资源实体D,同一台服务器上可以设置多个插槽,每个插槽可插入一个资源实体,多个资源实体之间可以实现通信,且多个服务器之间也可以实现通信。在启动云业务时,可由其中至少一个资源实体为该云业务提供资源。可以理解的是,图3所示的资源分配系统中包括4个互连的资源实体,在实际应用中,可以包括至少两个互连的资源实体,此处仅为一个示意,不应理解为对本申请的限定。
基于上述介绍,请参阅图4,图4为本申请实施例中资源分配方法的一个整体流程示意图,如图所示,具体地;
在步骤S1中,服务器收到客户端发送的业务启动请求。
在步骤S2中,服务器根据业务启动请求,获取云业务所对应的初始业务配置信息,初始业务配置信息可以是云业务的默认配置信息,也可以是用户预先配置的信息,此处不做限定。
在步骤S3中,服务器根据初始业务配置信息计算资源估计量。
在步骤S4中,服务器可获取相应的负载均衡策略。
在步骤S5中,服务器根据计算得到的资源估计量以及负载均衡策略,确定用于分配资源的M个资源实体。
在步骤S6中,服务器使用M个资源实体分配资源。
在步骤S7中,服务器对客户端指定的资源实体进行重定向,即,客户端会默认请求某个资源实体为其提供相应的资源,而在服务器确定M个资源实体之后,即可由这M个资源实体为该客户端分配资源。
在步骤S8中,客户端使用M个资源实体分配的资源执行相应的云业务。
结合上述介绍,下面将对本申请中基于云业务的资源分配方法进行介绍,请参阅图5,本申请实施例中基于云业务的资源分配方法应用于资源分配系统,资源分配系统包括互连的K个资源实体,K为大于1的整数,资源分配方法包括:
101、获取针对于目标云业务的业务启动请求,其中,业务启动请求携带目标客户端标识,目标客户端标识用于指示目标客户端;
本实施例中,资源分配装置接收目标客户端发送的业务启动请求,目标客户端通过业务启动请求用于请求服务器提供目标云业务所需要的资源。其中,业务启动请求携带目标客户端对应的目标客户端标识,例如,目标客户端标识可以为“0100011”。
可以理解的是,该资源分配装置部署于至少一台服务器上,且资源分配装置可调度资源分配系统内的K个资源实体。进一步的,资源实体可以为图形处理器(graphicsprocessing unit,GPU)、中央处理器(central processing units,CPU)、内存(memory)或者硬盘(hard disk drive,HDD),还可以是其他的硬件,此处不做限定。
其中,GPU是一种专门在个人电脑、工作站、游戏机和一些终端设备上运行绘图运算工作的处理器。CPU是对计算机的所有硬件资源进行控制调配和执行通用运算的核心硬件单元,CPU是计算机的运算和控制核心。内存也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。硬盘是计算机中重要的存储器之一,计算机需要正常运行所需的大部分软件都存储在硬盘上。
102、根据业务启动请求,获取目标云业务所对应的初始业务配置信息;
本实施例中,资源分配装置根据目标客户端发送的业务启动请求,获取该目标云业务的初始业务配置信息,其中,初始业务配置信息可以为云业务提供方预先配置的信息,也可以为云业务使用方预先配置的信息。不同的云业务类型可能具有不同的初始业务配置信息,在后续实施例中将结合具体云业务进行说明。
103、根据初始业务配置信息确定第一资源预估量;
本实施例中,资源分配装置根据初始业务配置信息可以计算出相应的第一资源预估量,为了便于说明,可以对第一资源预估量采用量化形式表示,例如,第一资源预估量为200个资源单位,需要说明的是,该资源单位可以为比特(Binary digit,BIT)、兆字节(Mbyte,MB)或者吉字节(Gigabyte,GB)等,此处不做限定。
具体地,假设初始业务配置信息包括配置信息A、配置信息B和配置信息C,其中,配置信息A占用60个资源单位,配置信息B占用100个资源单位,配置信息C占用80个资源单位,基于此,第一资源预估量为240个资源单位,即60+100+80=240个资源单位。
104、根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,第一资源来自于M个资源实体,M为大于或等于1,且小于或等于K的整数;
本实施例中,资源分配装置根据第一资源预估量,可以从K个资源实体中确定M个资源实体,这M个资源实体用于为目标客户端提供目标云业务所需要的第一资源。类似地,可以对每个资源实体能够提供的资源量采用量化形式表示,例如,一个资源实体可以提供1000个资源单位。在本申请中,也可以对每个资源实体能够提供的资源量用百分比表示,例如,一个资源实体可提供80%的资源量。为了便于介绍,本申请以采用量化形式表示资源实体可提供的资源量。
具体地,假设K为4,即存在4个互连的资源实体,分别为资源实体A、资源实体B、资源实体C和资源实体D。再假设资源实体A还能够提供800个资源单位,资源实体B还能够提供50个资源单位,资源实体C还能够提供200个资源单位,资源实体D还能够提供100个资源单位。如果第一资源预估量为1000,那么可采用如下几种资源分配方式:
方式一,由资源实体A提供800个资源单位,并由资源实体C提供200个资源单位,此时M为2。
方式二,由资源实体A提供700个资源单位,由资源实体C提供200个资源单位,并由资源实体D提供100个资源单位,此时M为3。
方式三,由资源实体A提供650个资源单位,由资源实体B提供50个资源单位,由资源实体C提供200个资源单位,并由资源实体D提供100个资源单位,此时M为4。
上述三种资源分配方式仅为示意,还可以根据不同的负载均衡策略,调整分配资源的策略。资源分配装置将这1000个资源单位作为第一资源,分配给目标客户端。
105、在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。
本实施例中,资源分配装置在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源,具体地,资源分配装置可以使用第一资源进行数据处理,从而得到相应的数据处理结果(例如,画面、识别结果或者计算结果等),再将数据处理结果封装在数据包中,发送至目标客户端,目标客户端对数据包进行解析,从而展示相应的数据处理结果。
本申请实施例中,提供了一种基于云业务的资源分配方法,该资源分配方法应用于资源分配系统,资源分配系统包括互连的K个资源实体,该资源实体为硬件,K为大于1的整数,其中,资源分配方法的实现方式为,先获取针对于目标云业务的业务启动请求,然后根据业务启动请求,获取目标云业务所对应的初始业务配置信息,再根据初始业务配置信息确定第一资源预估量,随后根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,最后,在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。通过上述方式,在云业务场景下,采用互连后的资源实体能够达到资源整合的目的,基于此,可以先根据初始业务配置信息估计出云业务的资源需求量,再结合当前各个资源实体包括的空闲资源量,从中选择出满足资源需求量的第一资源,并向客户端提供执行云业务所需的第一资源。由此可见,本申请能够基于业务需求,灵活地调度来自不同资源实体的资源,以提供相应的云业务,一方面减少了升级原有硬件的情况,降低了硬件成本,另一方面能够为用户提供质量更高的服务。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的一个可选实施例中,根据业务启动请求,获取目标云业务所对应的初始业务配置信息,具体包括如下步骤:
根据业务启动请求,获取目标云业务所对应的配置信息集合,其中,配置信息集合包括至少一项可配置信息,每个可配置信息对应于一个可配置范围;
根据配置信息集合中每个可配置信息所对应的可配置范围,确定每个可配置信息所对应的默认配置值;
根据每个可配置信息所对应的默认配置值,生成目标云业务所对应的初始业务配置信息。
本实施例中,介绍了一种将默认配置信息作为初始业务配置信息的方式,资源分配装置根据业务启动请求,可以先获取目标云业务所对应的配置信息集合,然后分别从每个可配置信息所对应的可配置范围中确定相应的默认配置值,这些默认配置值构成初始业务配置信息。
具体地,为了便于介绍,下面将结合表1所提供的配置信息集合进行说明,其中,配置信息集合包括至少一项可配置信息,且每个可配置信息对应于一个可配置范围。资源分配装置从每个可配置范围中选择一个默认的配置值。
表1
可配置信息 | 可配置范围 | 默认配置值 |
配置信息A | 低,中 | 中 |
配置信息B | 低,中,高,超高 | 中 |
配置信息C | 低,中,高 | 低 |
配置信息D | 低,中,高 | 低 |
配置信息E | 低,中,高,超高 | 中 |
配置信息F | 低,中,高 | 中 |
由表1可知,初始业务配置信息可以包括上述6个默认配置值,每个配置信息所对应的默认配置值具有对应的资源单位占用量,例如,默认配置值为“中”的配置信息A会占用100个资源单位,默认配置值为“中”的配置信息B会占用150个资源单位,默认配置值为“低”的配置信息C会占用500个资源单位,默认配置值为“低”的配置信息D会占用180个资源单位,默认配置值为“中”的配置信息E会占用350个资源单位,默认配置值为“中”的配置信息F会占用600个资源单位。
可以理解的是,上述例子仅为一个示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了一种将默认配置信息作为初始业务配置信息的方式,通过上述方式,可以先基于默认的初始业务配置信息,生成相应的第一资源预估量,通常情况下,考虑到终端设备的兼容问题,默认的初始业务配置信息具有适普性,从而提升方案的可行性。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据业务启动请求,获取目标云业务所对应的初始业务配置信息,具体包括如下步骤:
根据业务启动请求获取目标用户标识;
从目标云业务所对应的第一初始配置信息集合中确定目标用户标识所对应的初始业务配置信息,其中,第一初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个用户标识,初始业务配置信息属于第一初始配置信息集合中的其中一个业务配置信息;
或,根据业务启动请求,获取所业务配置信息述目标云业务所对应的初始业务配置信息,具体包括如下步骤:
从目标云业务所对应的第二初始配置信息集合中确定目标客户端标识所对应的初始业务配置信息,其中,第二初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个客户端标识,初始业务配置信息属于第二初始配置信息集合中的其中一个业务配置信息。
本实施例中,介绍了一种将用户配置信息作为初始业务配置信息的方式,资源分配装置可基于两种方式获取初始业务配置信息,下面将分别进行介绍。
方式一,基于目标用户标识确定初始业务配置信息。
资源分配装置根据业务启动请求,还可以获取到目标用户标识,通常情况下,目标用户标识可以为用户的账号信息,例如,手机号码、邮箱或者注册的账号等具有唯一性的标识。基于目标用户标识,可以查找到该目标用户标识对应的用户预先配置的初始业务配置信息。
具体地,为了便于介绍,下面将结合表2所提供的第一初始配置信息集合进行说明,其中,第一初始配置信息集合包括用户预先设置的至少一项业务配置信息。
表2
由表2可知,假设目标用户标识为用户标识B,则目标用户标识所对应的初始业务配置信息包括4个匹配值,分别为配置信息A的匹配值为“高”,配置信息B的匹配值为“中”,配置信息C的匹配值为“中”,以及配置信息D的匹配值为“超高”。
每个配置信息所对应的配置值具有对应的资源单位占用量,例如,匹配值为“高”的配置信息A会占用800个资源单位,默认配置值为“中”的配置信息B会占用600个资源单位,默认配置值为“中”的配置信息C会占用500个资源单位,默认配置值为“超高”的配置信息D会占用1500个资源单位。
可以理解的是,上述例子仅为一个示意,不应理解为对本申请的限定。
方式二,基于目标客户端标识确定初始业务配置信息。
通常情况下,目标客户端标识可以为设备编号、媒体存取控制位址(Media AccessControl Address,MAC)或者客户端序列号等,目标客户端通常与部署该目标客户端的终端设备之间具有绑定关系。基于目标客户端标识,可以查找到该目标客户端标识对应的用户预先配置的初始业务配置信息。
具体地,为了便于介绍,下面将结合表3所提供的第二初始配置信息集合进行说明,其中,第二初始配置信息集合包括在不同客户端中预先设置的至少一项业务配置信息。
表3
由表3可知,假设目标客户端标识为客户端标识B,则目标客户端标识所对应的初始业务配置信息包括4个匹配值,分别为配置信息A的匹配值为“高”,配置信息B的匹配值为“中”,配置信息C的匹配值为“中”,以及配置信息D的匹配值为“超高”。
每个配置信息所对应的配置值具有对应的资源单位占用量,例如,匹配值为“高”的配置信息A会占用800个资源单位,默认配置值为“中”的配置信息B会占用600个资源单位,默认配置值为“中”的配置信息C会占用500个资源单位,默认配置值为“超高”的配置信息D会占用1500个资源单位。
可以理解的是,上述例子仅为一个示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了一种将用户配置信息作为初始业务配置信息的方式,通过上述方式,可以基于用户设定的初始业务配置信息,生成相应的第一资源预估量,通常情况下,用户在使用目标云业务之前,可以根据终端设备自身的性能情况设定初始业务配置信息,便于后续计算第一资源预估量,从而提升方案的可行性。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,还可以包括如下步骤:
获取针对于目标云业务的配置信息调整请求;
根据配置信息调整请求,获取目标云业务所对应的业务配置更新信息;
根据业务配置更新信息确定第二资源预估量;
根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
在第二时间段内,为目标客户端分配用于执行目标云业务的第二资源,其中,第二时间段出现在第一时间段之后。
本实施例中,介绍了一种在目标云业务执行过程中调整业务配置信息的方式,在目标客户端执行云业务时,用户还可以通过该目标客户端发送配置信息调整请求,资源分配装置收到该配置信息调整请求之后,根据用户设定的配置信息,获取目标云业务的业务配置更新信息。基于此,资源分配装置可根据业务配置更新信息计算第二资源预估量,与上述实施例类似,假设业务配置更新信息包括配置信息A、配置信息B和配置信息C,其中,配置信息A占用200个资源单位,配置信息B占用300个资源单位,配置信息C占用1000个资源单位,基于此,第二资源预估量为1500个资源单位,即200+300+1000=1500个资源单位。于是,资源分配装置在第二时间段内,为目标客户端分配用于执行目标云业务的第二资源。即资源分配装置可以使用第二资源进行数据处理,从而得到相应的数据处理结果,再将数据处理结果封装在数据包中,发送至目标客户端,目标客户端对数据包进行解析,从而展示相应的数据处理结果。
为了便于理解,下面将结合图6和图7,介绍在目标云业务执行过程中调整业务配置信息的方式。请参阅图6,图6为本申请实施例中在第一时间段内进行资源分配的一个示意图,如图所示,资源分配系统包括4个资源实体,分别为资源实体A、资源实体B、资源实体C和资源实体D,且假设每个资源实体具有1000个资源单位。
具体地,在第一时间段内使用初始业务配置信息计算得到第一资源预估量,假设初始业务配置信息包括配置信息A、配置信息B和配置信息C,其中,配置信息A占用100个资源单位,配置信息B占用150个资源单位,配置信息C占用250个资源单位,基于此,第一资源预估量为500个资源单位,即100+150+250=500个资源单位。其中,图6中资源实体A的阴影部分对应于500个资源单位,这500个资源单位即为目标客户端分配用于执行目标云业务的第一资源。
请参阅图7,图7为本申请实施例中在第二时间段内进行资源分配的一个示意图,如图所示,在某个时刻,用户对初始业务配置信息内的配置信息进行调整,从而得到业务配置更新信息,假设业务配置更新信息包括配置信息A、配置信息B和配置信息C,其中,配置信息A占用200个资源单位,配置信息B占用300个资源单位,配置信息C占用1000个资源单位,基于此,第二资源预估量为1500个资源单位,即200+300+1000=1500个资源单位。其中,图7中资源实体A的阴影部分对应于1000个资源单位,图7中资源实体B的阴影部分对应于500个资源单位,这1500个资源单位即为目标客户端分配用于执行目标云业务的第二资源。
其次,本申请实施例中,提供了一种在目标云业务执行过程中调整业务配置信息的方式,通过上述方式,用户在使用目标云业务的时候,可以根据终端设备自身的性能情况更新初始业务配置信息,从而得到业务配置更新信息,由此,提升云业务配置的灵活性,并且具有弹性伸缩功能的资源分配系统,能够根据用户调整后的业务配置更新信息,更新资源分配情况,增加资源分配的灵活性,提升云业务的运行效果。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,具体包括如下步骤:
获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量,确定最大空闲资源量所对应的目标资源实体,其中,最大空闲资源量为K个空闲资源量中的最大值;
若第一资源预估量小于或等于最大空闲资源量,则确定目标资源实体为分配第一资源的资源实体,其中,M等于1;
若第一资源预估量大于最大空闲资源量,则确定目标资源实体为分配第一资源中部分资源的资源实体,其中,M为大于1的整数。
本实施例中,介绍了一种负载均衡的方式,资源分配装置还可以从K个资源实体中选择M个资源实体作为提供第一资源的对象。首先需要获取每个资源实体所对应的空闲资源量,其中,该空闲资源量可以表示为资源单位的数量。然后根据每个资源实体所对应的空闲资源量,选择出空间资源量最多的一个资源实体作为目标资源实体。由此,再进一步判断目标资源实体剩余的空闲资源量是否足以提供相应的资源,即,如果第一资源预估量小于或等于最大空闲资源量,则表示目标资源实体具有提供目标客户端所需所有第一资源的能力。反之,如果第一资源预估量大于最大空闲资源量,则表示目标资源实体不具有提供目标客户端所需所有第一资源的能力,因此,还需其他资源实体协助目标资源实体共同提供资源。
下面将结合图8进行具体说明,请参阅图8,图8为本申请实施例中通过负载均衡实现资源分配的一个示意图,如图所示,资源分配系统包括4个资源实体,分别为资源实体A、资源实体B、资源实体C和资源实体D,且假设每个资源实体具有1000个资源单位,假设资源实体A的空闲资源量为800个资源单位,资源实体B的空闲资源量为300个资源单位,资源实体C的空闲资源量为550个资源单位,资源实体D的空闲资源量为700个资源单位。其中,资源单位A具有最多的空闲资源量,即最大空闲资源量为800。
如果第一资源预估量为400,则可以利用资源实体A中的最大空闲资源量提供相应的第一资源,图8中资源实体A的阴影部分对应于400个资源单位,图8中资源实体A的黑色部分对应于200个资源单位,因此,分配第一资源后的资源实体A被占用了600个资源单位。由此,资源实体A可以为目标客户端提供第一资源。
如果第一资源预估量为1000,则可以利用资源实体A中的最大空闲资源量提供部分的第一资源,而剩余的第一资源可由资源实体B、资源实体C和资源实体D中的至少一个资源实体进行分配。
再次,本申请实施例中,提供了一种负载均衡的方式,通过上述方式,资源分配装置优先提供具有更大空闲资源量的目标资源实体,由于该目标资源实体具有最大的空闲资源量,因此,具有更快的处理效率,避免对数据处理压力较大的资源实体造成更大的压力,从而提升了整个资源分配系统的工作稳定性。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,具体包括如下步骤:
获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据第一资源预估量以及预设划分数值确定平均资源量;
根据K个空闲资源量,从K个空闲资源量中获取空闲资源量大于或等于平均资源量的N个资源实体,其中,N为大于或等于M,且小于或等于M的整数;
从N个资源实体中随机选择M个用于分配第一资源的资源实体。
本实施例中,介绍了另一种负载均衡的方式,资源分配装置还可以从K个资源实体中选择M个资源实体作为提供第一资源的对象。首先需要获取每个资源实体所对应的空闲资源量,其中,该空闲资源量可以表示为资源单位的数量。同时,资源分配装置还可以根据第一资源预估量以及预设划分数值确定平均资源量,该预设划分数值为小于或等于K的值,然后根据K个空闲资源量,从K个空闲资源量中获取空闲资源量大于或等于平均资源量的N个资源实体,最后从N个资源实体中随机选择M个用于分配第一资源的资源实体。
需要说明的是,预设划分数值可以根据实际情况下进行修改,在预设划分数值较大的情况下,平均资源量较小,因此,空闲资源量大于或等于平均资源量的资源实体数量也可能越多,随机选择资源实体的可能性越大,从而更容易实现资源的平均分配。
下面将结合图9进行具体说明,请参阅图9,图9为本申请实施例中通过负载均衡实现资源分配的另一个示意图,如图所示,资源分配系统包括4个资源实体,分别为资源实体A、资源实体B、资源实体C和资源实体D,且假设每个资源实体具有1000个资源单位,假设资源实体A的空闲资源量为800个资源单位,资源实体B的空闲资源量为300个资源单位,资源实体C的空闲资源量为550个资源单位,资源实体D的空闲资源量为700个资源单位。如果第一资源预估量为800,平均资源量为4,即平均资源量为200,于是,确定资源实体A、资源实体B、资源实体C和资源实体D均大于平均资源量,即N为4。由此可知,资源实体A、资源实体B、资源实体C和资源实体D的空闲资源量之和大于或等于第一资源预估量,因此,可以随机选择M个用于提供第一资源的资源实体。
如果M为4,则N等于M,此时,可以由每个资源实体分别向目标客户端提供200个资源单位,图9中资源实体A的阴影部分对应于200个资源单位,图9中资源实体A的黑色部分对应于200个资源单位,因此,分配第一资源后的资源实体A被占用了400个资源单位。图9中资源实体B的阴影部分对应于200个资源单位,图9中资源实体B的黑色部分对应于700个资源单位,因此,分配第一资源后的资源实体B被占用了900个资源单位。图9中资源实体C的阴影部分对应于200个资源单位,图9中资源实体C的黑色部分对应于450个资源单位,因此,分配第一资源后的资源实体B被占用了650个资源单位。图9中资源实体D的阴影部分对应于200个资源单位,图9中资源实体D的黑色部分对应于300个资源单位,因此,分配第一资源后的资源实体D被占用了500个资源单位。
再次,本申请实施例中,提供了另一种负载均衡的方式,通过上述方式,资源分配装置在满足资源分配条件的资源实体中随机取出M个资源实体,相当于由这M个资源实体平摊需要分配的资源,避免某个资源实体出现过负荷的情况,由此提升方案的可操作性。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,目标云业务为云游戏;
根据业务启动请求,获取目标云业务所对应的初始业务配置信息,具体包括如下步骤:
根据业务启动请求,获取云游戏所对应的初始业务配置信息,其中,云游戏所对应的初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项;
根据初始业务配置信息确定第一资源预估量,具体包括如下步骤:
根据游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
本实施例中,介绍了一种基于云游戏的资源分配方法,云游戏(cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
具体地,在启动云游戏时,资源分配装置所获取到的初始业务配置信息包含但不仅限于游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项。下面将分别进行说明:
游戏画质配置值表示对游戏画面质量配置的值,游戏画质配置值可以为“超高”、“高”、“中”或者“低”等。画面质量与清晰度、锐度、镜头畸变、色散度、解析度、色域范围、色彩纯度以及色彩平衡等指标相关。
画面分辨率配置值表示对游戏画面显示分辨率配置的值,是屏幕图像的精密度,是指显示器所能显示的像素有多少。画面分辨率配置值可以为“超清”、“高清”、“标清”或者“极速”等。
帧率配置值表示对游戏画面每秒传输帧数(Frame Per Second,FPS)的配置值,帧率配置值可以为“高”或者“低”等。
游戏场景配置值表示对游戏内出现场景的配置值,游戏场景配置值可以为“新增场景”或者“无新增场景”等。
游戏特效配置值表示对游戏内出现特效的配置值,游戏特效配置值可以为“有特效”或者“无特效”等。
为了便于介绍,下面将结合表4提供的基于云游戏的初始业务配置信息进行说明,其中,初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值。
表4
配置类型 | 可配置范围 | 配置值 | 权重值 |
游戏画质 | 超高,高,中,低 | 中 | 2 |
画面分辨率 | 超清,高清,标清,极速 | 高清 | 2 |
帧率 | 高,低 | 高 | 1 |
游戏场景 | 新增场景,无新增场景 | 新增场景 | 1 |
游戏特效 | 无特效,有特效 | 无特效 | 3 |
需要说明的是,这里的配置组可以是云游戏默认的配置值,也可以是用户设置的配置组,此处不做限定。
由表4可知,初始业务配置信息可以包括上述5个配置类型,每个配置类型所对应的配置值具有对应的资源单位占用量,例如,配置值为“中”的游戏画质会占用100个资源单位,其权重值为2,即占用200资源单位。默认配置值为“高清”的画面分辨率会占用500个资源单位,其权重值为2,即占用500资源单位。默认配置值为“高”的帧率会占用300个资源单位,其权重值为1,即占用300资源单位。默认配置值为“新增场景”的游戏场景会占用600个资源单位,其权重值为1,即占用600资源单位。默认配置值为“无特效”的游戏特效会占用100个资源单位,其权重值为3,即占用300资源单位。
由此,计算第一资源预估量为:200+500+300+600+300=1800个资源单位。
可以理解的是,上述例子仅为一个示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了一种基于云游戏的资源分配方法,可通过资源实体集群的可伸缩性,在云业务场景下支持更高的业务能力,在不升级硬件前提下也可以支持次时代的云游戏,即使云游戏对硬件要求更高,也无需升级硬件,可以扩展更多的游戏场景,可以扩展游戏更多可能新的玩法,具有灵活的伸缩性。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,还可以包括如下步骤:
获取针对于云游戏的配置信息调整请求;
根据配置信息调整请求,获取云游戏所对应的业务配置更新信息;
根据业务配置更新信息确定第二资源预估量;
根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
在第二时间段内,为目标客户端分配用于执行云游戏的第一资源,其中,第二时间段出现在第一时间段之后。
本实施例中,介绍了一种在云游戏执行过程中调整业务配置信息的方式,在目标客户端执行云业务时,用户还可以通过该目标客户端发送配置信息调整请求,资源分配装置收到该配置信息调整请求之后,根据用户设定的配置信息,获取云游戏的业务配置更新信息。基于此,资源分配装置可根据业务配置更新信息计算第二资源预估量,与上述实施例类似,假设业务配置更新信息可包括游戏画质更新值、画面分辨率更新值、帧率更新值、游戏场景更新值以及游戏特效更新值中的至少一项。资源分配装置在第二时间段内,为目标客户端分配用于执行云游戏的第二资源。即资源分配装置可以使用第二资源渲染游戏画面,从而得到相应的游戏画面数据,再将游戏画面数据封装在数据包中,发送至目标客户端,目标客户端对数据包进行解析,从而展示相应的游戏画面。
需要说明的是,云游戏在执行过程中调整业务配置信息的方式,与上述实施例中介绍的目标云业务在执行过程中调整业务配置信息的方式类似,故此处不再赘述。
为了便于介绍,请参阅图10,图10为本申请实施例中基于云游戏输入业务配置更新信息的一个界面示意图,如图所示,用户可以通过目标客户端对初始业务配置信息进行调整,调整的配置类型除了可以游戏画质、画面分辨率、帧率、游戏场景以及游戏特效,还可以包括粒子质量、界面动效、角色描边、高帧率模式、局外角色光晕以及相机高度等,如果需要重新使用初始业务配置信息,则点击“重置”模块即可。
其中,图10所示的“高帧率模式”能够提供游戏的流畅度,但终端设备的耗电量会增加。“相机高度”为“高”时,具有更加开阔的视野,视野细节更好,但是会消耗更多的资源。“角色描边”可以美化游戏中角色的效果,同样会消耗更多的资源。“粒子质量”为“高”时能够提升流畅度的话,是的画面显示更加细腻,也会消耗更多的资源。
其次,本申请实施例中,提供了一种在云游戏执行过程中调整业务配置信息的方式,通过上述方式,用户在使用云游戏的时候,可以根据终端设备自身的性能情况更新初始业务配置信息,从而得到业务配置更新信息,由此,提升云游戏配置的灵活性,并且具有弹性伸缩功能的资源分配系统,能够根据用户调整后的业务配置更新信息,更新资源分配情况,增加资源分配的灵活性,提升云游戏的运行效果。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,K个资源实体为K个图像处理器GPU;
根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,具体包括如下步骤:
获取K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量以及第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,M个资源实体所对应的空闲资源总量大于或等于第一资源预估量;
在第一时间段内,为目标客户端分配用于执行云游戏的第一资源之后,还可以包括如下步骤:
采用第一资源对云游戏的画面进行渲染处理,得到画面数据;
根据画面数据生成数据包;
向目标客户端发送数据包,以使目标客户端根据数据包展示云游戏的游戏画面。
本实施例中,介绍了一种为云游戏提供多个GPU处理能力的方式,资源分配装置可采用负载均衡策略,基于第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体。可以理解的是,上述实施例中介绍了两种负载均衡策略,在实际应用中,还可以采用其他的负载均衡策略,例如:轮询法,即依次将请求分配给资源分配装置,由资源分配装置进行均匀分配。又例如,加权轮询法,即预先设置不同权重值,资源分配装置根据分配的请求数比例进行分配。又例如,随机法,即将请求分配给资源分配装置,由资源分配装置进行随机分配。还有其他的方式,例如,哈希法、最小连接数、加权最小连接数以及最短响应时间等,此处不做穷举。
为了便于说明,请参阅图11,图11为本申请实施例中基于云游戏实现资源分配方法的一个整体流程示意图,如图所示,具体地:
在步骤A1中,资源分配装置接收目标客户端发送是游戏启动请求,其中,该目标客户端即为游戏客户端。
在步骤A2中,资源分配装置根据游戏启动请求,可分别获取默认的游戏配置信息以及用户配置信息,其中,游戏配置信息是云游戏的初始业务配置信息,例如,游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值。
在步骤A3中,用户配置信息是用户对初始业务配置信息进行配置后得到的信息,例如,初始业务配置信息中的游戏画质为“高清”,而用户配置的游戏画质为“超高清”,此时,优先以用户配置的信息为准,又例如,初始业务配置信息中的游戏场景配置为“高”,用户也未对游戏场景配置进行修改,此时,以初始业务配置信息为准。
在步骤A4中,资源分配装置可根据游戏配置信息以及用户配置信息,计算资源估计量,该资源估计量可以表示渲染云游戏画面时需要消耗的GPU资源,可以理解的是,资源估计量可以表示与云游戏运行相关的其他资源。
在步骤A5中,资源分配装置还可以根据资源估计量选择负载均衡策略,如果资源估计量较大时,可以选择多个GPU进行选择,如果资源估计量较小时,可以从K个GPU中选择一个GPU用于执行渲染功能即可。
在步骤A6中,资源分配装置从K个GPU中确定M个GPU,这个M个GPU需要消耗渲染云游戏画面所需的资源。
在步骤A7中,资源分配装置采用M个GPU分配相应的渲染资源。
在步骤A8中,资源分配装置对目标客户端原本指定的GPU进行重定向,例如,目标客户端会默认请求某个GPU为其提供相应的资源,而在资源分配装置确定M个资源实体之后,会指定由这M个GPU为目标客户端分配渲染所需的资源。
在步骤A9中,资源分配装置向目标客户端发送渲染后的数据,目标客户端根据渲染后的数据展示云游戏的画面。
基于此,请参阅图12,图12为本申请实施例中资源分配方法应用于云游戏的一个示意图,如图所示,用户开启游戏客户端(即目标客户端),通过游戏客户端向云游戏服务器侧发送游戏启动请求,其中,云游戏服务器可以为一台服务器,也可以为至少两台服务器,此处不作限定,但需要说明的是,云游戏服务器部署有至少两个资源实体,经过预估后确定本次需要为该游戏客户端提供来自2个资源实体的资源,其中,将资源实体A提供自身所有的空闲资源量,资源实体B提供自身一半的空闲资源量。
再次,本申请实施例中,提供了一种为云游戏提供多个GPU处理能力的方式,通过上述方式,能够克服画质受限制,帧率受限制,场景和特效受限,以及成本过高等问题。一个GPU的能力,在帧率和场景等其他因子不变的前提下,其提供画质的能力是有限的,也许只能提供1920×1080P分辨率的特效全开的画质,但无论如何都会对游戏画质有一个相对比较低的天花板,而多个互联的GPU即可打通画质受限制的瓶颈,为云游戏提供更好的画质。类似地,一个GPU的能力如果在画质和场景等其他因此不变的前提下,帧率也会有一定上限,无法满足更高帧率的要求,而多个互联的GPU也能打通帧率受限制的瓶颈,在云游戏场景下通过GPU互连,动态灵活的调整GPU的资源,提供更强大的计算和渲染能力,满足游戏对不同算力的需要,提供一个GPU计算能力的伸缩方法,从而解决以上提到的所有问题。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,目标云业务为人工智能AI云业务;
根据业务启动请求,获取目标云业务所对应的初始业务配置信息,具体包括如下步骤:
根据业务启动请求,获取AI云业务所对应的初始业务配置信息,其中,AI云业务所对应的初始业务配置信息包括模型训练参数、训练集数量以及训练时间中的至少一项;
根据初始业务配置信息确定第一资源预估量,具体包括如下步骤:
基于模型训练参数、训练集数量以及训练时间中的至少一项,通过算力预估模型确定第一资源预估量,其中,算力预估模型用于计算模型训练所对应的资源开销。
本实施例中,介绍了一种提供了一种为人工智能(Artificial Intelligence,AI)云业务提供多个资源实体处理能力的方式,所谓AI云业务,一般也被称作是AI即服务(AIas a Service,AIaaS)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过应用程序编程接口(ApplicationProgramming Interface,API)的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
具体地,在启动AI云业务时,资源分配装置所获取到的初始业务配置信息包含但不仅限于模型训练参数、训练集数量以及训练时间中的至少一项。下面将分别进行说明:
模型训练参数包括训练所需的迭代次数以及使用的网络模型类型等。
训练集数量表示本次训练时使用的训练样本总量。
训练时间表示训练模型所消耗的时间,如果在训练时间内未达到迭代次数,则也会停止训练,如果在训练时间内迭代次数,则也会停止训练。因此,迭代次数和训练时间可以进行二选一的设置。
将模型训练参数、训练集数量以及训练时间中的至少一项,输入至算力预估模型,算力预估模型可以是一个计算公式,例如,根据模型训练参数和模型训练参数所对应的权重值,训练集数量和训练集数量所对应的权重值,训练时间和训练时间所对应的权重值,计算得到第一资源预估量。
基于此,请参阅图13,图13为本申请实施例中资源分配方法应用于人工智能云业务的一个示意图,如图所示,用户开启AI云业务客户端(即目标客户端),通过AI云业务客户端向AI云业务服务器侧发送AI云业务请求,其中,AI云业务服务器可以为一台服务器,也可以为至少两台服务器,此处不作限定,但需要说明的是,AI云业务服务器部署有至少两个资源实体,经过预估后确定本次需要为该AI云业务客户端提供来自2个资源实体的资源,其中,将资源实体A提供自身所有的空闲资源量,资源实体B提供自身一半的空闲资源量。
再次,本申请实施例中,提供了一种为AI云业务提供多个资源实体处理能力的方式,通过上述方式,能够克服训练样本数量受限制,训练迭代次数受限制,推断预测效率受限制,以及训练时间受限制等问题。一个CPU、GPU、内存或硬盘的能力,难以满足大数据训练和推断的过程,往往需要花费大量时间在训练和实际预测上,多个互联的资源实体(即CPU、GPU、内存或硬盘)也能解决训练样本数量受限制,训练迭代次数受限制,推断预测效率受限制,以及训练时间受限制等瓶颈,在AI云业务场景下通过资源实体互连,动态灵活的调整资源,提供更强大的计算能力,满足AI云业务对不同算力的需要,提供一个资源实体计算能力的伸缩方法,从而解决以上提到的所有问题。
可选地,在上述图5对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,目标云业务为云教育;
根据业务启动请求,获取目标云业务所对应的初始业务配置信息,包括:
根据业务启动请求,获取云教育所对应的初始业务配置信息,其中,云教育所对应的初始业务配置信息包括下载权限、下载量以及下载速率中的至少一项;
根据初始业务配置信息确定第一资源预估量,包括:
基于下载权限、下载量以及下载速率中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
本实施例中,介绍了一种为云教育提供多个资源实体处理能力的方式,云教育(cloud computing education,CCEDU)是指基于云计算商业模式应用的教育平台服务。在云平台上,所有的教育机构,培训机构,招生服务机构,宣传机构,行业协会,管理机构,行业媒体,法律结构等都集中云整合成资源池,各个资源相互展示和互动,按需交流,达成意向,从而降低教育成本,提高效率。
具体地,在启动云教育时,资源分配装置所获取到的初始业务配置信息包含但不仅限于下载权限、下载量以及下载速率中的至少一项。下面将分别进行说明:
下载权限包括“超级权限”、“高权限”、“中权限”和“低权限”,例如,网课年卡会员具有“超级权限”,能够下载更多类型的网课视频,而游客具有“低权限”,仅能够试听部分试听网课,无下载权限。
下载量表示点播网课视频的视频总量,例如,某个网课视频为700兆。
下载速率表示每秒允许的下载速率。
与上述实施例介绍的内容类似,初始业务配置信息可以包括上述3个配置类型,每个配置类型所对应的配置值具有对应的资源单位占用量,例如,配置值为“中权限”的下载权限会占用200个资源单位,其权重值为1,即占用200资源单位。最后基于每个配置值及其对应的权重值,可以计算得到第一资源预估量。
基于此,请参阅图14,图14为本申请实施例中资源分配方法应用于云教育的一个示意图,如图所示,用户开启云教育客户端(即目标客户端),通过云教育客户端向云教育服务器侧发送云教育请求,其中,云教育服务器可以为一台服务器,也可以为至少两台服务器,此处不作限定,但需要说明的是,云教育服务器部署有至少两个资源实体,经过预估后确定本次需要为该云教育客户端提供来自2个资源实体的资源,其中,将资源实体A提供自身所有的空闲资源量,资源实体B提供自身一半的空闲资源量。
再次,本申请实施例中,提供了一种为云教育提供多个资源实体处理能力的方式,通过上述方式,能够克服同时观看数量过大或者同时下载数量过大等问题,一个CPU、GPU、内存或硬盘的能力,难以在短时间内满足大量的数据请求,多个互联的资源实体(即CPU、GPU、内存或硬盘)能够解决处理时间过长等问题,在云教育场景下通过资源实体互连,动态灵活的调整资源,提供更强大的计算能力,满足云教育对不同算力的需要,提供一个资源实体计算能力的伸缩方法,从而解决以上提到的所有问题。
为了便于介绍,请参阅图15,图15为本申请实施例中资源分配系统的一个整体架构示意图,如图所示,资源分配系统还可以包括至少一个资源实体集群,每个资源实体集群具有不同的功能,且每个资源实体集群包括至少两个相同类型的资源实体。以图15为例,资源分配系统包括了4个资源实体集群,分别为GPU集群、CPU集群、内存集群和硬盘集群,而资源分配系统可以包括一台服务器,该服务器上部署有资源实体集群,例如,部署有CPU A和CPU B,同一台服务器上可以设置多个插槽,每个插槽可插入一个GPU,多个GPU之间可以实现通信。
在图15中,资源分配系统包括两台服务器,分别为服务器A和服务器B,由图可知,服务器A和服务器B上分别部署了4个资源实体集群,在GPU集群中,包括GPU A、GPU B、GPU C和GPU D,在CPU集群中,包括CPU A、CPU B、CPU C和CPU D,在内存集群中,包括内存A、内存B、内存C和内存D,在硬盘集群中,包括硬盘A、硬盘B、硬盘C和硬盘D。在启动云业务时,可由其中至少一个资源实体为该云业务提供资源。可以理解的是,图15所示的资源分配系统中包括4个资源实体集群,每个资源实体集群包括4个互连的资源实体,在实际应用中,可以每个资源实体集群包括至少两个互连的资源实体即可,此处仅为一个示意,不应理解为对本申请的限定。
基于此,本申请提供的资源分配方法还适用于其他的云业务,例如,云会议以及云社交业务等,还可以应用于渲染场景,例如,电影设计以及室内设计等,其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。
云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在政府、军队、交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
云社交(cloud social)是一种物联网、云计算和移动互联网交互应用的虚拟社交应用模式,以建立著名的“资源分享关系图谱”为目的,进而开展网络社交,云社交的主要特征,就是把大量的社会资源统一整合和评测,构成一个资源有效池向用户按需提供服务。参与分享的用户越多,能够创造的利用价值就越大。
下面对本申请中的资源分配装置进行详细描述,请参阅图16,图16为本申请实施例中资源分配装置的一个实施例示意图,资源分配装置应用于资源分配系统,资源分配系统包括互连的K个资源实体,K为大于1的整数,该资源分配装置20包括:
获取模块201,用于获取针对于目标云业务的业务启动请求,其中,业务启动请求携带目标客户端标识,目标客户端标识用于指示目标客户端;
获取模块201,还用于根据业务启动请求,获取目标云业务所对应的初始业务配置信息;
确定模块202,用于根据初始业务配置信息确定第一资源预估量;
确定模块202,还用于根据第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,第一资源来自于M个资源实体,M为大于或等于1,且小于或等于K的整数;
执行模块203,用于在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,在云业务场景下,采用互连后的资源实体能够达到资源整合的目的,基于此,可以先根据初始业务配置信息估计出云业务的资源需求量,再结合当前各个资源实体包括的空闲资源量,从中选择出满足资源需求量的第一资源,并向客户端提供执行云业务所需的第一资源。由此可见,本申请能够基于业务需求,灵活地调度来自不同资源实体的资源,以提供相应的云业务,一方面减少了升级原有硬件的情况,降低了硬件成本,另一方面能够为用户提供质量更高的服务。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
获取模块201,具体用于根据业务启动请求,获取目标云业务所对应的配置信息集合,其中,配置信息集合包括至少一项可配置信息,每个可配置信息对应于一个可配置范围;
根据配置信息集合中每个可配置信息所对应的可配置范围,确定每个可配置信息所对应的默认配置值;
根据每个可配置信息所对应的默认配置值,生成目标云业务所对应的初始业务配置信息。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,可以先基于默认的初始业务配置信息,生成相应的第一资源预估量,通常情况下,考虑到终端设备的兼容问题,默认的初始业务配置信息具有适普性,从而提升方案的可行性。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
获取模块201,具体用于根据业务启动请求获取目标用户标识;
从目标云业务所对应的第一初始配置信息集合中确定目标用户标识所对应的初始业务配置信息,其中,第一初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个用户标识,初始业务配置信息属于第一初始配置信息集合中的其中一个业务配置信息;
或,
获取模块201,具体用于从目标云业务所对应的第二初始配置信息集合中确定目标客户端标识所对应的初始业务配置信息,其中,第二初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个客户端标识,初始业务配置信息属于第二初始配置信息集合中的其中一个业务配置信息。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,可以基于用户设定的初始业务配置信息,生成相应的第一资源预估量,通常情况下,用户在使用目标云业务之前,可以根据终端设备自身的性能情况设定初始业务配置信息,便于后续计算第一资源预估量,从而提升方案的可行性。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
获取模块201,还用于在执行模块在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,获取针对于目标云业务的配置信息调整请求;
获取模块201,还用于根据配置信息调整请求,获取目标云业务所对应的业务配置更新信息;
确定模块202,还用于根据业务配置更新信息确定第二资源预估量;
确定模块202,还用于根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
执行模块203,还用于在第二时间段内,为目标客户端分配用于执行目标云业务的第二资源,其中,第二时间段出现在第一时间段之后。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,用户在使用目标云业务的时候,可以根据终端设备自身的性能情况更新初始业务配置信息,从而得到业务配置更新信息,由此,提升云业务配置的灵活性,并且具有弹性伸缩功能的资源分配系统,能够根据用户调整后的业务配置更新信息,更新资源分配情况,增加资源分配的灵活性,提升云业务的运行效果。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
确定模块202,具体用于获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量,确定最大空闲资源量所对应的目标资源实体,其中,最大空闲资源量为K个空闲资源量中的最大值;
若第一资源预估量小于或等于最大空闲资源量,则确定目标资源实体为分配第一资源的资源实体,其中,M等于1;
若第一资源预估量大于最大空闲资源量,则确定目标资源实体为分配第一资源中部分资源的资源实体,其中,M为大于1的整数。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,资源分配装置优先提供具有更大空闲资源量的目标资源实体,由于该目标资源实体具有最大的空闲资源量,因此,具有更快的处理效率,避免对数据处理压力较大的资源实体造成更大的压力,从而提升了整个资源分配系统的工作稳定性。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
确定模块202,具体用于获取K个资源实体中每个资源实体所对应的空闲资源量,得到K个空闲资源量;
根据第一资源预估量以及预设划分数值确定平均资源量;
根据K个空闲资源量,从K个空闲资源量中获取空闲资源量大于或等于平均资源量的N个资源实体,其中,N为大于或等于M,且小于或等于M的整数;
从N个资源实体中随机选择M个用于分配第一资源的资源实体。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,资源分配装置在满足资源分配条件的资源实体中随机取出M个资源实体,相当于由这M个资源实体平摊需要分配的资源,避免某个资源实体出现过负荷的情况,由此提升方案的可操作性。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,目标云业务为云游戏;
获取模块201,具体用于根据业务启动请求,获取云游戏所对应的初始业务配置信息,其中,云游戏所对应的初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项;
确定模块202,具体用于根据游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,资源分配装置在满足资源分配条件的资源实体中随机取出M个资源实体,相当于由这M个可通过资源实体集群的可伸缩性,在云业务场景下支持更高的业务能力,在不升级硬件前提下也可以支持次时代的云游戏,即使云游戏对硬件要求更高,也无需升级硬件,可以扩展更多的游戏场景,可以扩展游戏更多可能新的玩法,具有灵活的伸缩性。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,
获取模块201,还用于在第一时间段内,为目标客户端分配用于执行目标云业务的第一资源之后,获取针对于云游戏的配置信息调整请求;
获取模块201,还用于根据配置信息调整请求,获取云游戏所对应的业务配置更新信息;
确定模块202,还用于根据业务配置更新信息确定第二资源预估量;
确定模块202,还用于根据第二资源预估量,从K个资源实体中确定第二资源,其中,第二资源来自于K个资源实体中的至少一个资源实体;
执行模块203,还用于在第二时间段内,为目标客户端分配用于执行云游戏的第一资源,其中,第二时间段出现在第一时间段之后。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,用户在使用云游戏的时候,可以根据终端设备自身的性能情况更新初始业务配置信息,从而得到业务配置更新信息,由此,提升云游戏配置的灵活性,并且具有弹性伸缩功能的资源分配系统,能够根据用户调整后的业务配置更新信息,更新资源分配情况,增加资源分配的灵活性,提升云游戏的运行效果。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,K个资源实体为K个图像处理器GPU;
资源分配装置20还包括渲染模块204、生成模块205以及发送模块206;
确定模块202,具体用于获取K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据K个空闲资源量以及第一资源预估量,从K个资源实体中确定用于分配第一资源的M个资源实体,其中,M个资源实体所对应的空闲资源总量大于或等于第一资源预估量;
渲染模块204,用于在执行模块203在第一时间段内,为目标客户端分配用于执行云游戏的第一资源之后,采用第一资源对云游戏的画面进行渲染处理,得到画面数据;
生成模块205,用于根据画面数据生成数据包;
发送模块206,用于向目标客户端发送数据包,以使目标客户端根据数据包展示云游戏的游戏画面。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,能够克服画质受限制,帧率受限制,场景和特效受限,以及成本过高等问题。一个GPU的能力,在帧率和场景等其他因子不变的前提下,其提供画质的能力是有限的,也许只能提供1920×1080P分辨率的特效全开的画质,但无论如何都会对游戏画质有一个相对比较低的天花板,而多个互联的GPU即可打通画质受限制的瓶颈,为云游戏提供更好的画质。类似地,一个GPU的能力如果在画质和场景等其他因此不变的前提下,帧率也会有一定上限,无法满足更高帧率的要求,而多个互联的GPU也能打通帧率受限制的瓶颈,在云游戏场景下通过GPU互连,动态灵活的调整GPU的资源,提供更强大的计算和渲染能力,满足游戏对不同算力的需要,提供一个GPU计算能力的伸缩方法,从而解决以上提到的所有问题。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,目标云业务为人工智能AI云业务;
获取模块201,具体用于根据业务启动请求,获取AI云业务所对应的初始业务配置信息,其中,AI云业务所对应的初始业务配置信息包括模型训练参数、训练集数量以及训练时间中的至少一项;
确定模块202,具体用于基于模型训练参数、训练集数量以及训练时间中的至少一项,通过算力预估模型确定第一资源预估量,其中,算力预估模型用于计算模型训练所对应的资源开销。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,能够克服训练样本数量受限制,训练迭代次数受限制,推断预测效率受限制,以及训练时间受限制等问题。一个CPU、GPU、内存或硬盘的能力,难以满足大数据训练和推断的过程,往往需要花费大量时间在训练和实际预测上,多个互联的资源实体(即CPU、GPU、内存或硬盘)也能解决训练样本数量受限制,训练迭代次数受限制,推断预测效率受限制,以及训练时间受限制等瓶颈,在AI云业务场景下通过资源实体互连,动态灵活的调整资源,提供更强大的计算能力,满足AI云业务对不同算力的需要,提供一个资源实体计算能力的伸缩方法,从而解决以上提到的所有问题。
可选地,在上述图16所对应的实施例的基础上,本申请实施例提供的资源分配装置20的另一实施例中,目标云业务为云教育;
获取模块201,具体用于根据业务启动请求,获取云教育所对应的初始业务配置信息,其中,云教育所对应的初始业务配置信息包括下载权限、下载量以及下载速率中的至少一项;
确定模块202,具体用于基于下载权限、下载量以及下载速率中的至少一项,以及每项配置对应的权重值,计算得到第一资源预估量。
本申请实施例中,提供了一种基于云业务的资源分配装置,采用上述装置,能够克服同时观看数量过大或者同时下载数量过大等问题,一个CPU、GPU、内存或硬盘的能力,难以在短时间内满足大量的数据请求,多个互联的资源实体(即CPU、GPU、内存或硬盘)能够解决处理时间过长等问题,在云教育场景下通过资源实体互连,动态灵活的调整资源,提供更强大的计算能力,满足云教育对不同算力的需要,提供一个资源实体计算能力的伸缩方法,从而解决以上提到的所有问题。
图17是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上CPU 322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据333的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统331,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图17所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种基于云业务的资源分配方法,其特征在于,所述资源分配方法应用于资源分配系统中的资源分配装置,所述资源分配系统包括互连的K个GPU,所述GPU为硬件,K为大于1的整数,所述资源分配方法包括:
资源分配装置接收目标客户端发送的游戏启动请求,所述目标客户端为游戏客户端,所述游戏启动请求携带目标客户端标识,所述目标客户端标识用于指示目标客户端;
所述资源分配装置根据所述游戏启动请求,分别获取云游戏所对应的游戏配置信息以及用户配置信息,其中,所述游戏配置信息是云游戏的初始业务配置信息,其中,所述云游戏所对应的初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项;所述用户配置信息是用户对初始业务配置信息进行配置后得到的信息;
所述资源分配装置根据所述游戏配置信息以及用户配置信息,计算资源估计量,所述资源估计量表示渲染云游戏画面时需要消耗的图形处理器GPU资源;
所述资源分配装置根据所述资源估计量选择负载均衡策略;
所述资源分配装置获取所述K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据所述K个空闲资源量,确定最大空闲资源量所对应的目标GPU,其中,所述最大空闲资源量为所述K个空闲资源量中的最大值;
若所述资源估计量小于或等于所述最大空闲资源量,则确定所述目标GPU为分配所述资源的GPU,得到M个GPU,其中,所述M等于1;所述M个GPU需要消耗渲染云游戏画面所需的资源;
若所述资源预估量大于所述最大空闲资源量,则确定所述目标GPU为分配所述资源中部分资源的GPU,结合所述目标GPU以及其他GPU,得到M个GPU,其中,所述M为大于1的整数;
所述资源分配装置采用M个GPU分配相应的渲染资源;
所述资源分配装置对所述目标客户端指定的GPU进行重定向,指定由所述M个GPU为所述目标客户端分配渲染所需的资源;
所述资源分配装置向所述目标客户端发送渲染后的数据,使得所述目标客户端根据渲染后的数据展示云游戏的画面。
2.根据权利要求1所述的资源分配方法,其特征在于,所述资源分配装置根据所述游戏启动请求,获取云游戏所对应的游戏配置信息包括:
根据所述游戏启动请求,获取所述云游戏所对应的配置信息集合,其中,所述配置信息集合包括至少一项可配置信息,每个可配置信息对应于一个可配置范围;
根据所述配置信息集合中所述每个可配置信息所对应的可配置范围,确定所述每个可配置信息所对应的默认配置值;
根据所述每个可配置信息所对应的默认配置值,生成所述云游戏所对应的游戏配置信息。
3.根据权利要求1所述的资源分配方法,其特征在于,所述资源分配装置根据所述游戏启动请求,获取云游戏所对应的游戏配置信息,包括:
根据所述游戏启动请求获取目标用户标识;
从所述云游戏所对应的第一初始配置信息集合中确定所述目标用户标识所对应的所述初始业务配置信息,其中,所述第一初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个用户标识,所述初始业务配置信息属于所述第一初始配置信息集合中的其中一个业务配置信息;
或,所述根据所述游戏启动请求,获取云游戏所对应的游戏配置信息,包括:
从所述云游戏所对应的第二初始配置信息集合中确定所述目标客户端标识所对应的所述初始业务配置信息,其中,所述第二初始配置信息集合包括至少一个业务配置信息,每个业务配置信息对应于一个客户端标识,所述初始业务配置信息属于所述第二初始配置信息集合中的其中一个业务配置信息。
4.根据权利要求1所述的资源分配方法,其特征在于,所述方法还包括:
获取所述K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据第一资源预估量以及预设划分数值确定平均资源量;
根据所述K个空闲资源量,从所述K个空闲资源量中获取空闲资源量大于或等于所述平均资源量的N个GPU,其中,所述N为大于或等于1,且小于或等于所述M的整数;
从所述N个GPU中随机选择M个用于分配所述第一资源的GPU。
5.根据权利要求1所述的资源分配方法,其特征在于,所述方法还包括:
获取针对于所述云游戏的配置信息调整请求;
根据所述配置信息调整请求,获取所述云游戏所对应的业务配置更新信息;
根据所述业务配置更新信息确定第二资源预估量;
根据所述第二资源预估量,从所述K个GPU中确定第二资源,其中,所述第二资源来自于所述K个GPU中的至少一个GPU;
在第二时间段内,为所述目标客户端分配用于执行所述云游戏的所述第二资源,其中,所述第二时间段出现在第一时间段之后,所述第一时间段为采用M个GPU分配相应的渲染资源的时间段。
6.一种资源分配装置,其特征在于,所述资源分配装置应用于资源分配系统,所述资源分配系统包括互连的K个资源实体,所述资源实体为硬件,K为大于1的整数,所述资源分配装置包括:
获取模块,用于获取目标客户端发送的游戏启动请求,所述目标客户端为游戏客户端,所述游戏启动请求携带目标客户端标识,所述目标客户端标识用于指示目标客户端;
所述获取模块,还用于根据所述游戏启动请求,分别获取云游戏所对应的游戏配置信息以及用户配置信息,其中,所述游戏配置信息是云游戏的初始业务配置信息,其中,所述云游戏所对应的初始业务配置信息包括游戏画质配置值、画面分辨率配置值、帧率配置值、游戏场景配置值以及游戏特效配置值中的至少一项;所述用户配置信息是用户对初始业务配置信息进行配置后得到的信息;
确定模块,用于根据所述游戏配置信息以及用户配置信息,计算资源估计量,所述资源估计量表示渲染云游戏画面时需要消耗的图形处理器GPU资源;
所述确定模块,还用于根据所述资源估计量选择负载均衡策略;
所述资源分配装置获取K个GPU中每个GPU所对应的空闲资源量,得到K个空闲资源量;
根据所述K个空闲资源量,确定最大空闲资源量所对应的目标GPU,其中,所述最大空闲资源量为所述K个空闲资源量中的最大值;
若所述资源估计量小于或等于所述最大空闲资源量,则确定所述目标GPU为分配所述资源的GPU,得到M个GPU,其中,所述M等于1;所述M个GPU需要消耗渲染云游戏画面所需的资源;
若所述资源预估量大于所述最大空闲资源量,则确定所述目标GPU为分配所述资源中部分资源的GPU,结合所述目标GPU以及其他GPU,得到M个GPU,其中,所述M为大于1的整数;
执行模块,用于采用M个GPU分配相应的渲染资源;
所述资源分配装置对所述目标客户端指定的GPU进行重定向,指定由所述M个GPU为所述目标客户端分配渲染所需的资源;
所述资源分配装置向所述目标客户端发送渲染后的数据,使得所述目标客户端根据渲染后的数据展示云游戏的画面。
7.一种服务器,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至5中任一项所述的资源分配方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
8.一种资源分配系统,其特征在于,所述资源分配系统包括至少一个如权利要求7所述的服务器,每个服务器上部署有至少一个资源实体,所述至少一个服务器上部署有互连的K个资源实体,K为大于1的整数;
其中,所述资源实体包括图像处理器GPU、中央处理器CPU、内存或硬盘。
9.一种计算机可读存储介质,存储指令,当其在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819987.5A CN111988392B (zh) | 2020-08-14 | 2020-08-14 | 一种基于云业务的资源分配方法、相关装置、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010819987.5A CN111988392B (zh) | 2020-08-14 | 2020-08-14 | 一种基于云业务的资源分配方法、相关装置、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988392A CN111988392A (zh) | 2020-11-24 |
CN111988392B true CN111988392B (zh) | 2022-11-11 |
Family
ID=73435509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010819987.5A Active CN111988392B (zh) | 2020-08-14 | 2020-08-14 | 一种基于云业务的资源分配方法、相关装置、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988392B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256436B (zh) * | 2020-11-09 | 2021-11-23 | 上海钐昆网络科技有限公司 | 资源分配方法、装置、设备及计算机存储介质 |
CN112506622B (zh) * | 2021-02-03 | 2021-05-04 | 江苏北弓智能科技有限公司 | 面向云手机的gpu计算性能的预测方法及装置 |
CN113361913A (zh) * | 2021-06-04 | 2021-09-07 | 广东电网有限责任公司 | 一种通信业务编排方法、装置、计算机设备及存储介质 |
CN113407343A (zh) * | 2021-06-23 | 2021-09-17 | 中国工商银行股份有限公司 | 一种基于资源分配的业务处理方法、装置及设备 |
CN113590329A (zh) * | 2021-08-02 | 2021-11-02 | 北京百度网讯科技有限公司 | 资源处理方法及装置 |
WO2023151268A1 (zh) * | 2022-02-14 | 2023-08-17 | 华为云计算技术有限公司 | 一种业务分流方法、装置及系统 |
CN115242626B (zh) * | 2022-07-21 | 2024-04-05 | 中国建设银行股份有限公司 | 云资源配置预估方法、装置、设备、存储介质及程序产品 |
CN115567596B (zh) * | 2022-09-28 | 2024-08-16 | 建信金融科技有限责任公司 | 云服务资源部署方法、装置、设备及存储介质 |
CN116132498A (zh) * | 2022-12-22 | 2023-05-16 | 北京蔚领时代科技有限公司 | 适用于应用更新期间的云渲染调度方法、系统及存储介质 |
CN115834712B (zh) * | 2023-01-05 | 2023-05-02 | 无锡宏创盛安科技有限公司 | 一种面向连接型业务的网关资源调度方法 |
CN115794421B (zh) * | 2023-02-07 | 2023-05-02 | 北京仁科互动网络技术有限公司 | 资源分配方法、装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110433496A (zh) * | 2019-08-14 | 2019-11-12 | 咪咕互动娱乐有限公司 | 云游戏资源配置方法、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873639A1 (en) * | 2006-06-30 | 2008-01-02 | France Telecom | Decentralized dynamic allocation of data-processing resources in a utility platform |
CN103401938B (zh) * | 2013-08-07 | 2016-11-09 | 西安电子科技大学 | 分布式云架构下基于业务特性的资源分配系统及其方法 |
CN103501347B (zh) * | 2013-10-14 | 2016-08-10 | 中国联合网络通信集团有限公司 | 资源分配方法及装置 |
CN109995677B (zh) * | 2018-01-02 | 2022-11-29 | 中国移动通信有限公司研究院 | 资源分配方法、装置及存储介质 |
-
2020
- 2020-08-14 CN CN202010819987.5A patent/CN111988392B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110433496A (zh) * | 2019-08-14 | 2019-11-12 | 咪咕互动娱乐有限公司 | 云游戏资源配置方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111988392A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988392B (zh) | 一种基于云业务的资源分配方法、相关装置、设备及系统 | |
US10097596B2 (en) | Multiple stream content presentation | |
US9455931B2 (en) | Load balancing between processors | |
US11190561B2 (en) | Virtual computing system providing local screen sharing from hosted collaboration applications and related methods | |
CN113157418B (zh) | 服务器资源分配方法和装置、存储介质及电子设备 | |
CN115511697A (zh) | 用于虚拟化的图形处理单元分区 | |
WO2021062115A1 (en) | Compute resource estimation for function implementation on computing platform | |
Bhojan et al. | CloudyGame: Enabling cloud gaming on the edge with dynamic asset streaming and shared game instances | |
CN114816308B (zh) | 信息分区显示方法及相关设备 | |
Yadav et al. | Adaptive GPU resource scheduling on virtualized servers in cloud gaming | |
CN114205359A (zh) | 视频渲染协同方法、装置及设备 | |
Panarello et al. | A big video data transcoding service for social media over federated clouds | |
US10514959B2 (en) | Distributed virtual local operating system stored in cloud and its method | |
Mazzuca et al. | Towards a Resource-aware Middleware Support for Distributed Game Engine Design | |
WO2016066056A1 (zh) | 图像远程投射方法、服务器和客户端 | |
WO2023035619A1 (zh) | 一种场景渲染方法、装置、设备及系统 | |
CN115396500A (zh) | 基于专网的服务平台切换方法、系统及电子设备 | |
CN114390297A (zh) | 通信系统、配置方法、云端服务设备及存储介质 | |
WO2022228521A1 (zh) | 渲染方法及其装置、计算机设备、存储介质 | |
US20240013461A1 (en) | Interactive Animation Generation | |
KR101844931B1 (ko) | 분할 디스플레이를 위한 데이터 관리 장치, 시스템 및 방법과 그 기록 매체 | |
CN118674849A (zh) | 一种基于多gpu的光线追踪渲染加速方法 | |
CN114554228A (zh) | 云应用的处理方法、装置、设备和存储介质 | |
KR20200044390A (ko) | 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치 | |
CN113473180A (zh) | 一种基于5G或无线的Cloud XR数据传输方法以及装置、存储介质、电子装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |