一种实现云计算资源分配的方法及装置和云管理服务器
文献发布时间:2023-06-19 11:35:49
技术领域
本申请涉及但不限于云计算技术,尤指一种实现云计算资源分配的方法及装置和云管理服务器。
背景技术
云计算最大的优势是弹性伸缩,让用户像使用水、电、煤一样使用计算资源、存储资源等,总而言之,对于用户来说可以让用户认为云上的资源是无限的。
公共云计算平台一般会在多个地域部署多个数据中心,数据中心也称为可用区(AZ,Available Zone),每个机房可能会部署不同的实例规格,每种实例规格的库存都是实时变化和不同的。对于高性能计算(HPC,High Performance Computing)的用户来说,集群规模大,为了追求性能,一般会将用户请求的资源集中部署在同一个数据中心。而这样对于资源的调度和伸缩要求很高,经常会脉冲式的扩容集群到很大的规模,因此,即使在云计算平台上,也会遭遇因为库存不足导致集群扩容失败的问题,从而拉长的计算任务的计算时长。
现有实现资源分配的方案中,只能自动伸缩一种规格的实例,并且是限定在一个地域扩容。针对这种情况,对于请求不到资源的用户,会等到数据中心中的资源被释放能利用为止。
发明内容
本申请提供一种实现云计算资源分配的方法及装置和云管理服务器,能够充分发挥公共云弹性,从而保证计算性能。
本发明实施例提供了一种实现云计算资源分配的方法,包括:
云管理服务器根据用户预先配置的资源需求配置信息,确定新任务匹配的不同类型的实例规格;
按照确定出的不同类型的实例规格的优先级顺序,查询可用区中当前优先级实例规格的库存是否充足;
在查询到可用区中当前优先级实例规格的库存充足时,选择当前优先级实例规格为用户的新任务创建计算资源;在查询到可用区中当前优先级实例规格的库存不充足时,继续对下一优先级实例规格的库存进行查询。
在一种示例性实例中,所述方法之前还包括:
所述云管理服务器接收所述预先配置的资源需求配置信息;
其中,资源需求配置信息包括一个或一个以上资源配置项,每个资源配置项包括一个或一个以上不同类型的实例规格。
在一种示例性实例中,所述可用区包括一个可用区;所述查询可用区中当前优先级实例规格的库存是否充足,包括:
针对不同所述资源配置项,所述云管理服务器从所述确定出的不同类型的实例规格中优先级最高的实例规格开始,查询所述可用区中当前实例规格的库存是否充足。
在一种示例性实例中,所述方法进一步包括:
如果确定出所述可用区中当前优先级实例规格的库存充足,在集群中按照当前实例规格创建计算资源,并运行所述新作业,结束本流程;
如果确定出所述可用区中当前优先级实例规格的库存不充足,则返回所述查询的步骤,对当前优先级实例规格的下一优先级实例规格的库存进行查询,直到所述资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
在一种示例性实例中,所述可用区包括两个或两个以上,且均属于同一地域范围内;所述查询可用区中当前优先级实例规格的库存是否充足,包括:
针对不同所述资源配置项,所述云管理服务器从确定出的不同类型的实例规格中优先级最高的实例规格开始,查询对应可用区中当前实例规格的库存是否充足;其中,每个资源配置项对应的可用区包括一个或一个以上,不同资源配置项对应的可用区提供的实例规格不同。
在一种示例性实例中,所述方法进一步包括:
针对不同所述资源配置项,如果确定出所述对应可用区中当前优先级实例规格的库存充足,在集群中按照当前实例规格创建计算资源,并运行所述新作业,结束本流程;
如果确定出所述对应可用区中当前优先级实例规格的库存不充足,则返回所述查询的步骤,对当前优先级实例规格的下一优先级实例规格的库存进行查询,直到该资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
在一种示例性实例中,所述可用区包括两个或两个以上,且分布在不同地域范围内;所述查询可用区中当前优先级实例规格的库存是否充足,包括:
针对不同所述资源配置项,所述云管理服务器从确定出的不同类型的实例规格中优先级最高的实例规格开始,查询对应集群的对应可用区中当前实例规格的库存是否充足;其中,每个资源配置项对应的一个或一个以上可用区分布在一个或一个以上集群中,不同资源配置项对应的可用区提供的实例规格不同。
在一种示例性实例中,所述方法进一步包括:
针对不同所述资源配置项,如果确定出所述对应集群的对应可用区中当前优先级实例规格的库存充足,在该集群中按照当前实例规格创建计算资源,并运行所述新作业,结束本流程;
如果确定出所述对应集群的对应可用区中当前优先级实例规格的库存不充足,返回所述查询的步骤,对所述当前优先级实例规格的下一优先级实例规格的库存进行查询,直到该资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
本申请还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现云计算资源分配的方法。
本申请又提供了一种用于实现云计算资源分配的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的实现云计算资源分配的方法的步骤。
本申请再提供了一种云管理服务器,包括:确定模块、查询模块、处理模块;其中,
确定模块,用于根据用户预先配置的资源需求配置信息,确定新任务可配置的不同类型的实例规格;
查询模块,用于按照确定出的不同类型的实例规格的优先级顺序,查询可用区中当前优先级实例规格的库存是否充足;
处理模块,用于在查询到可用区中当前优先级实例规格的库存充足时,选择当前优先级实例规格为用户的新任务创建计算资源;在查询到可用区中当前优先级实例规格的库存不充足时,返回查询模块继续对下一优先级实例规格的库存进行查询。
通过本申请,实现了根据公共云服务的库存实时情况,自动根据用户可以接受的相应实例规格为用户创建计算资源来完成计算,充分利用了单个数据中心即单个可用区的弹性能力,而且,也不会因为单实例规格带来的等待资源释放的问题,有效地帮助用户尽快获得了计算资源。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实现云计算资源分配的方法的流程图;
图2为本申请实现云计算资源分配的第一实施例的场景示意图;
图3为本申请第一实施例的流程示意图;
图4为本申请实现云计算资源分配的第二实施例的场景示意图;
图5为本申请实现云计算资源分配的第三实施例的场景示意图;
图6为本申请实现云计算资源分配的第四实施例的场景示意图;
图7为本申请云管理服务器的组成结构示意图;
图8为本申请实现云计算资源分配的应用场景示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本申请一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本申请实现云计算资源分配的方法的流程图,如图1所示,包括:
步骤100:云管理服务器根据用户预先配置的资源需求配置信息,确定新任务匹配的不同类型的实例规格。
公共云上会有多种类型的实例规格,比如通用型、计算型、内存型、高主频型等。在一种示例性实例中,本步骤之前,还包括:
云管理服务器接收来自用户(如集群管理员)上报的预先配置的资源需求配置信息,资源需求配置信息包括一个或一个以上资源配置项,每个资源配置项包括一个或一个以上不同类型的实例规格。
在一种示例性实例中,用户可以以队列的方式设置资源配置项,针对每个队列设置可以扩容/缩容的多种类型的实例规格,比如:第一队列中可扩容/缩容的实例规格包括:规格1、规格2;再如:第二队列中可扩容/缩容的实例规格包括:规格3、规格4,等等。
结合实际应用场景,比如:第一队列配置为32核实例,那么,用户根据计算任务的特点可以按照优先级设置依次扩容如下实例:通用型(32核128GB内存)-高主频(32核128GB内存)-计算型(32核64GB内存)-内存型(32核256GB内存)。再如:第二队列配置为16核实例,那么,用户根据计算任务的特点可以按照优先级依次设置扩容如下实例:通用型(16核64GB内存)-高主频(16核64GB内存)-计算型(16核32GB内存)-内存型(16核128GB内存)。需要说明的是,这里只是举例说明,并不用于限定本申请的保护范围。
公共云上不同的可用区提供的实例规格是有所差异的,或者不同的可用区的库存会有较大的差异,在一种示例性实例中,本申请通过设置资源需求配置信息包括两个或两个以上资源配置项,即可以在多个可用区扩容/缩容多种实例规格,从而充分发挥公共云的弹性优势。
在一种示例性实例中,步骤100之前还可以包括:
云管理服务器按照预先设置的周期或指定的时间段获取集群中的作业信息,并从作业信息中获知有新作业等待创建计算资源来完成计算。
步骤101:按照确定出的不同类型的实例规格的优先级顺序,查询可用区中当前优先级实例规格的库存是否充足。
在一种示例性实例中,对于一个集群对应一个可用区的情况如图8中的集群1,本步骤中可用区包括一个可用区;本步骤可以包括:
针对不同资源配置项,云管理服务器从确定出的不同类型的实例规格中优先级最高的实例规格开始,查询可用区中当前实例规格的库存是否充足。
在一种示例性实例中,对于一个集群对应多个可用区的情况如图8中的集群2、集群3,本步骤中的可用区包括两个或两个以上,且均属于同一地域范围内;本步骤可以包括:
针对不同资源配置项,云管理服务器从确定出的不同类型的实例规格中优先级最高的实例规格开始,查询对应可用区中当前实例规格的库存是否充足;其中,每个资源配置项对应的可用区包括一个或一个以上,不同资源配置项对应的可用区提供的实例规格不同。
在一种示例性实例中,一个可用区可以用于扩容/缩容一种资源配置项包括的实例规格,也可以用于扩容/缩容两种或两种以上资源配置项包括的实例规格。
在一种示例性实例中,对于多个集群如包括如图8中所示的集群1、集群2、集群3,每个集群对应一个或一个以上可用区的情况,本步骤中的可用区包括两个或两个以上,且分布在不同地域范围内;本步骤可以包括:
针对不同资源配置项,云管理服务器从确定出的不同类型的实例规格中优先级最高的实例规格开始,查询对应集群的对应可用区中当前实例规格的库存是否充足;其中,每个资源配置项对应的一个或一个以上可用区分布在一个或一个以上集群中,不同资源配置项对应的可用区提供的实例规格不同。
步骤102:在查询到可用区中当前优先级实例规格的库存充足时,选择当前优先级实例规格为用户的新任务创建计算资源;在查询到可用区中当前优先级实例规格的库存不充足时,返回步骤101继续对下一优先级实例规格的库存进行查询。
在一种示例性实例中,可用区包括一个可用区;本步骤可以包括:
如果确定出可用区中当前优先级实例规格的库存充足,则在集群中按照当前实例规格创建计算资源,并运行新作业,结束本流程;
如果确定出可用区中当前优先级实例规格的库存不充足,则返回步骤101,对当前优先级实例规格的下一优先级实例规格的库存进行查询,直到资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
这样,实现了根据公共云服务的库存实时情况,自动根据用户可以接受的相应实例规格为用户创建计算资源来完成计算,充分利用了单个数据中心即单个可用区的弹性能力,而且,也不会因为单实例规格带来的等待资源释放的问题,有效地帮助用户尽快获得了计算资源。
在一种示例性实例中,可用区包括两个或两个以上,且均属于同一地域范围内;本步骤可以包括:
针对不同资源配置项,如果确定出对应可用区中当前优先级实例规格的库存充足,则在集群中按照当前实例规格创建计算资源,并运行新作业,结束本流程;
如果确定出对应可用区中当前优先级实例规格的库存不充足,则返回步骤101,对当前优先级实例规格的下一优先级实例规格的库存进行查询,直到该资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
这样,通过在资源需求配置信息中配置多个数据中心即多个可用区的多种实例规格,实现了在一个集群的多个数据中心满足用户的不同扩容/缩容需求,保证了集群的性能。
在一种示例性实例中,可用区包括两个或两个以上,且分布在不同地域范围内;本步骤可以包括:
针对不同资源配置项,如果确定出对应集群的对应可用区中当前优先级实例规格的库存充足,则在该集群中按照当前实例规格创建计算资源,并运行新作业,结束本流程;
如果确定出对应集群的对应可用区中当前优先级实例规格的库存不充足,则返回步骤101,对当前优先级实例规格的下一优先级实例规格的库存进行查询,直到该资源配置项中所有不同类型的实例规格的库存都查询过,结束本流程。
这样,通过在资源需求配置信息中配置多个地域的多个数据中心的多种实例规格即多个集群的多个可用区的多种实例规格,实现了在多个地域的多个数据中心满足用户的不同扩容/缩容需求,保证了集群的性能。
通过本申请提供的实现云计算资源分配的方法,充分发挥了公共云弹性,从而保证了计算性能。尤其在用户计算任务紧急的情况下,有效地帮助用户尽快获得了计算资源。
本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项的实现云计算资源分配的方法。
本申请再提供一种实现云计算资源分配的装置,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上任一项所述的实现云计算资源分配的方法的步骤。
下面结合具体实施例对本申请的技术方案进行详细描述。
第一实施例,图2为本申请实现云计算资源分配的第一实施例的场景示意图,第一实施例以在一个集群(即同一地域)的一个可用区内扩容多种实例规格为例,假设某用户以队列的形式设置扩容多种实例规格,比如:第一队列(对应第一资源配置项)配置为32核实例,并假设用户根据计算任务的特点按照优先级设置依次扩容如下实例:实例规格11为通用型(32核128GB内存)-实例规格12为高主频(32核128GB内存),如图3所示的第一实施例的流程示意图,包括:
步骤300:用户(集群管理员)设置资源需求配置信息并提交给云管理服务器。
本实施例中,以队列的方式设置资源配置项以及每个队列包括的实例规格,假设,第一实施例中,设置了第一队列,按照优先级扩容实例规格11,实例规格12,第二队列按照优先级扩容实例规格21,实例规格22。
步骤301:如果用户提交作业到集群服务第一队列中,云管理服务器会定时从集群服务获取第一队列上的作业信息,并获知第一队列中有新作业等待创建计算资源来完成计算。
步骤302:根据用户配置的资源需求配置信息,云管理服务器确定出新任务需要扩容的实例规格11,实例规格12;云管理服务器向云服务查询当前可用区中实例规格11的实时库存情况,假设云服务返回实例规格11无库存。
步骤303:云管理服务器向云服务查询当前可用区中实例规格12的实时库存情况,假设云服务返回实例规格12有库存。
步骤304:云管理服务器向云服务发起创建实例规格12的计算节点,并将计算节点自动加入集群以运行新作业。
通常,公共云上会有多种类型的实例规格,比如通用型、计算型、内存型、高主频型等。第一实施例实现了根据公共云服务的库存实时情况,自动根据用户可以接受的相应实例规格为用户创建计算资源来完成计算,充分利用了单个数据中心即单个可用区的弹性能力,而且,也不会因为单实例规格带来的等待资源释放的问题,有效地帮助用户尽快获得了计算资源
第二实施例,图4为本申请实现云计算资源分配的第二实施例的场景示意图,第二实施例以在一个集群的多个可用区扩容多种实例规格,各个可用区提供的扩容实例规格不同为例,假设用户设置了资源需求配置信息并提交给云管理服务器,本实施例中,以队列的方式设置资源配置项以及每个队列包括的实例规格,假设,第二实施例中,设置了第一队列,按照优先级扩容4核实例规格11,4核实例规格12,第二队列按照优先级扩容GPU实例规格21,GPU实例规格22。
当云管理服务器获知用户提交新作业到第一队列,云管理服务器会按照资源需求配置信息中对应的第一资源配置项即第一队列配置的实例规格顺序,依次向云服务查询可用区1中实例规格11,实例规格12的库存情况,再自动扩容;当云管理服务器获知用户提交新作业到第二队列,云管理服务器会资源需求配置信息中对应的第二资源配置项即第二队列配置的实例规格顺序,依次向云服务查询可用区3中的实例规格23,实例规格24的库存再自动扩容。
通常,公共云上不同的可用区提供的实例规格有所差异,或者库存会有较大的差异,比如:本实施例中一个集群中的可用区1和可用区2提供的扩容实例规格不同。第二实施例通过在资源需求配置信息中配置多个数据中心即多个可用区的多种实例规格,实现了在一个集群的多个数据中心满足用户的不同扩容/缩容需求,保证了集群的性能。
图5为本申请实现云计算资源分配的第三实施例的场景示意图,第三实施例与第二实施例相同的是,都是在一个集群的多个可用区扩容多种实例规格,与第二实施例不同的是,各个可用区可扩容的实例规格包括在一个或一个以上资源配置项中,也就是说,单个队列可以尝试在多个可用区扩容。
需要说明的是,对于跨可用区的节点间通信相比同一个可用区内的节点间通信会有网络延迟,因此,本申请中进一步包括:
可以通过集群调度队列的管理,单个队列限定在一个可用区扩容,用户提交新作业到队列之后,通过调度保证新作业只会在同一个可用区的节点上运行,从而进一步保证计算性能。
图6为本申请实现云计算资源分配的第四实施例的场景示意图,如图6所示,针对超大规模集群的需求,可以跨地域扩容,也就是说云管理服务器可以在不同地域之间满足用户的扩容需求。图6中不同地域如地域A、地域B中的具体实现可以采用第一实施例~第三实施例中的任意组合的实现方式。
第四实施例通过在资源需求配置信息中配置多个地域的多个数据中心的多种实例规格即多个集群的多个可用区的多种实例规格,实现了在多个地域的多个数据中心满足用户的不同扩容/缩容需求,保证了集群的性能。
图7为本申请云管理服务器的组成结构示意图,如图7所示,至少包括:确定模块、查询模块、处理模块;其中,
确定模块,用于根据用户预先配置的资源需求配置信息,确定新任务可配置的不同类型的实例规格;
查询模块,用于按照确定出的不同类型的实例规格的优先级顺序,查询可用区中当前优先级实例规格的库存是否充足;
处理模块,用于在查询到可用区中当前优先级实例规格的库存充足时,选择当前优先级实例规格为用户的新任务创建计算资源;在查询到可用区中当前优先级实例规格的库存不充足时,返回查询模块继续对下一优先级实例规格的库存进行查询。
在一种示例性实例中,确定模块还用于:
接收来自用户上报的用户(如集群管理员)预先配置的资源需求配置信息,资源需求配置信息包括一个或一个以上资源配置项,每个资源配置项包括一个或一个以上不同类型的实例规格。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
- 一种实现云计算资源分配的方法及装置和云管理服务器
- 基于私有云计算的资源调度方法、装置和云管理服务器