容量调整的方法和装置、系统以及计算设备与流程

文档序号:28425815发布日期:2022-01-12 00:08阅读:124来源:国知局
容量调整的方法和装置、系统以及计算设备与流程

1.本技术涉及计算机领域,尤其涉及容量调整的方法、数据节点、分布式数据库、计算设备和计算机程序产品。


背景技术:

2.公有云厂商提供了弹性伸缩服务,该弹性伸缩服务能够对伸缩组中的虚拟机个数进行扩容或者减容。伸缩组具有的实例的个数具有上限值和下限值。伸缩组最多具有的实例的个数不能超过上限值,伸缩组最少具有的实例的个数不能低于下限值。


技术实现要素:

3.有鉴于此,本技术提供了一种容量调整的方法和装置、系统、计算设备、计算机程序产品和非易失性存储介质,限制单个伸缩组在服务器集群创建的实例的个数的上限值,以便该伸缩组可以与其它伸缩组共用同一服务器集合。
4.第一方面,本技术提供一种容量调整的方法。计算设备执行该方法。例如,计算设备创建伸缩组,计算设备在第一服务器集合上为所述伸缩组创建第一实例,计算设备在第二服务器集合上为所述伸缩组创建第二实例,其中,所述伸缩组在所述第一服务器集合上部署的实例的个数受到上限值限制。这样,该伸缩组可以与其它伸缩组共用第一服务器集群来实现各自伸缩组的弹性伸缩。
5.第一方面的一种可能设计,伸缩组在第一服务器集合上部署的实例的个数受到下限值限制。这样可以保证该伸缩组能够有效占用第一服务器集合的资源来提供业务服务。
6.第一方面的一种可能设计,所述伸缩组在所述第二服务器集合部署的实例的个数受到上限值限制。这样,该伸缩组可以与其它伸缩组共用第二服务器集群来实现各自伸缩组的弹性伸缩。
7.第一方面的一种可能设计,所述伸缩组在所述第二服务器集合部署的实例的个数受到下限值限制。这样可以保证该伸缩组能够有效占用第二服务器集合的资源来提供业务服务。
8.第一方面的一种可能设计,所述伸缩组在所述第二服务器集合部署的实例的个数受到上限值和下限值限制。这样,该伸缩组可以与其它伸缩组共用第二服务器集群来实现各自伸缩组的弹性伸缩,同时可以保证该伸缩组能够有效占用第二服务器集合的资源来提供业务服务。
9.第一方面的一种可能设计,所述第一服务器集合中的服务器的处理器为精简指令集计算机(reduced instruction set computer,risc)处理器,例如risc处理器可以是arm处理器;所述第二服务器集合中的服务器的处理器为复杂指令集计算机(complex instruction set computer,cisc)处理器,例如cisc处理器可以是x86处理器。
10.第一方面的一种可能设计,计算设备在具有arm处理器的所述第一服务器集合创建使用arm处理器的一个或多个实例。计算设备在具有x86处理器的所述第二服务器集合创
建使用x86处理器的一个或多个实例。这样,可以针对实例对处理器的要求,在满足处理器要求的服务器集合部署实例。
11.第一方面的一种可能设计,所述伸缩组包括第三实例和第四实例,所述第三实例为虚拟机类型的实例,所述第四实例为容器类型的实例。换句话说,所述伸缩组包括的部分实例为虚拟机,所述伸缩组包括的部分实例为容器。即伸缩组同时包括异构的多种类型的实例。这样便于满足客户对实例的需求,或者便于满足业务对实例的需求。
12.第一方面的一种可能设计,在所述第一服务器集合为伸缩组创建实例所使用的实例镜像,与在所述第二服务器集合为伸缩组创建实例所使用的实例镜像,是不同的。例如,在具有arm处理器的所述第一服务器集合创建使用arm处理器的实例所使用的实例镜像,与在具有x86处理器的所述第二服务器集合创建使用x86处理器的实例所使用的实例镜像,是不同的。
13.即异构的服务器集合,支持不同的实例镜像来创建实例。
14.第一方面的一种可能设计,在所述第一服务器集合为伸缩组创建实例所使用的实例镜像,与在所述第二服务器集合为伸缩组创建实例所使用的实例镜像,是相同的。例如,在具有arm处理器的所述第一服务器集合创建使用arm处理器的实例所使用的实例镜像,与在具有x86处理器的所述第二服务器集合创建使用x86处理器的实例所使用的实例镜像,是相同的linux系统的镜像。
15.第一方面的一种可能设计,计算设备在所述第一服务器集合和所述第二服务器集合调整所述伸缩组的实例部署。
16.换句话说,伸缩组中的实例需要调整时,具体是通过在第一服务器集合和第二服务器集合调整实例的部署来实现的。例如,需要对伸缩组扩容时,可以在第一服务器集合和第二服务器集合创建新增的实例。例如,需要对伸缩组减容时,可以在第二服务器集合和第二服务器集合减少实例。
17.第一方面的一种可能设计,对伸缩组扩容时,在实例成本低的所述第一服务器集合创建实例。对伸缩组减容时,在实例成本高的所述第二服务器集合移出实例。这样可以减少伸缩组的成本。
18.第一方面的一种可能设计,对伸缩组扩容时,在实例性能高的所述第二服务器集合创建实例。对伸缩组减容时,在实例性能低的所述第一服务器集合移出实例。这样可以提高伸缩组的整体性能。
19.第一方面的一种可能设计,对伸缩组扩容时,在资源利用率低的所述第二服务器集合创建实例。对伸缩组减容时,在资源利用率高的所述第一服务器集合移出实例。这样可以合理调整伸缩组在服务器集合之间的资源利用率,保证业务稳定性,以及提高业务性能。
20.第一方面的一种可能设计,所述伸缩组在所述第一服务器集合部署的实例的个数与所述伸缩组在所述第二服务器集合中部署的实例的个数维持在一个比例值或者所述比例值的附近。例如,对伸缩组扩容时,按照该比例值确定所述第一服务器集合创建的新实例的个数与所述伸缩组在所述第二服务器集合中创建的新实例的个数。例如,对伸缩组减容时,按照该比例值确定所述第一服务器集合减少的旧实例的个数与所述伸缩组在所述第二服务器集合中减少的旧实例的个数。
21.第二方面,本技术提供一种容量调整的装置。该装置包括的多个功能模块,用于实
现第一方面或第一方面的任意可能设计提供的方法的不同步骤。
22.第三方面,本技术提供一种系统,该系统包括第一服务器集合和第二服务器集合以及用于执行第一方面或第一方面的任意可能设计提供的容量调整的方法的计算设备。
23.本技术提供一种系统,该系统包括第一服务器集合和第二服务器集合以及第二方面提供的装置。
24.第四方面,本技术提供一种计算设备,该计算设备包括处理器和存储器。该处理器执行该存储器存储的指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法。
25.本技术提供一种计算设备,该计算设备包括处理器和存储器。该处理器执行该存储器存储的指令,使得该计算设备部署第二方面提供的装置。
26.第五方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算设备的处理器执行该指令时,该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法。
27.本技术提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算设备的处理器执行该指令时,该计算设备实现第二方面提供的装置。
28.第六方面,本技术提供一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该指令;该处理器执行该指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法。
29.本技术提供一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该指令;该处理器执行该指令,该计算设备实现第二方面提供的装置。
附图说明
30.图1为本技术举例提供的伸缩组的一种示意图;
31.图2为本技术举例提供的伸缩组的一种示意图;
32.图3为本技术举例提供的容量调整的系统的一种示意图;
33.图4为本技术举例提供的容量调整的系统的一种示意图;
34.图5为本技术举例提供的容量调整的方法的一种流程示意图;
35.图6为本技术举例提供的容量调整的方法的一种流程示意图;
36.图7为本技术举例提供的伸缩组的一种配置示意图;
37.图8为本技术举例提供的容量调整的装置800的一种逻辑结构示意图;
38.图9为本技术举例提供的容量调整的装置900的一种逻辑结构示意图;
39.图10为本技术举例提供的计算设备1000的一种结构示意图。
具体实施方式
40.下面将结合本技术中的附图,对本技术提供的技术方案进行描述。
41.伸缩组是实例的集合。伸缩组中的实例可以是虚拟机(virtual machine,vm),或者伸缩组中的实例可以是容器(container),或者伸缩组中的实例可以是提供计算能力的
其它实体。伸缩组的一种可能的实施方式,伸缩组包括的所有实例是相同的实例类型。例如,伸缩组包括的全部实例都是虚拟机;再例如,伸缩组包括的全部实例都是容器。伸缩组的一种可能的实施方式,伸缩组包括不同实例类型的多个实例。例如,伸缩组包括的部分实例是虚拟机,伸缩组包括的其它部分实例是容器。
42.伸缩组的一种可能的实现方式,为伸缩组配置最小实例个数和最大实例个数。最小实例个数是指伸缩组最少具有的个数,最大实例个数是指伸缩组最多具有的个数。例如,如图1所示,为网页访问应用建立了一个伸缩组,用户可以配置该伸缩组的最小实例个数和最大实例个数,为该伸缩组配置的最小实例个数为1个来支持少量用户的网页访问,为该伸缩组配置的最大实例个数为5个来支持大量用户的网页访问;为匹配支撑网页访问的当前用户量,伸缩组的当前个数弹性伸缩为3个。
43.在该伸缩组中,可以创建相同处理器类型的实例,也可以是不同处理器类型的实例。
44.处理器类型包括如下的两种或两种以上:
45.x86处理器;
46.x86处理器和图形处理单元(graphics processing unit,gpu);
47.x86处理器和现场可编程逻辑门阵列(field programmable gate array,fpga);
48.x86处理器和npu(neural processing unit或者neural processor);
49.先进risc机器(advanced risc machine,arm)处理器;
50.arm处理器和gpu;
51.arm处理器和fpga;
52.arm处理器和npu。
53.例如,如图1所示,伸缩组可以具有使用x86处理器的实例11,同时还可以具有使用arm处理器的实例12。类似地,伸缩组也可以具有其它不同处理器类型的实例,例如具有使用x86处理器的实例13,具有同时使用x86处理器和gpu的实例。
54.一种实现方式举例,使用x86处理器的实例是在具有x86处理器的计算设备上创建的。使用arm处理器的实例是在具有arm处理器的计算设备上创建的。使用x86处理器和gpu的实例是在同时具有x86处理器和gpu的计算设备上创建的。使用arm处理器和gpu的实例是在同时具有arm处理器和gpu的计算设备上创建的。使用x86处理器和fpga的实例是在同时具有x86处理器和fpga的计算设备上创建的。使用arm处理器和fpga的实例是在同时具有arm处理器和fpga的计算设备上创建的。使用x86处理器和npu的实例是在同时具有x86处理器和npu的计算设备上创建的。使用arm处理器和npu的实例是在同时具有arm处理器和npu的计算设备上创建的。应知,计算设备可以是服务器,或者可以是其它具有计算能力的设备。
55.以图1和图2举例,使用x86处理器的实例11是在具有x86处理器的服务器311上创建的,使用arm处理器的实例12是在具有arm处理器的服务器321上创建的。另外,使用arm处理器和gpu的实例是在同时具有arm处理器和gpu的服务器上创建的。
56.为伸缩组配置一个或多个实例镜像。一种可能的实现方式,实例镜像记录实例的规格,其中,该规格可以记录实例所使用的处理器类型。一种可能的实现方式,实例镜像还可以记录期望在实例部署的应用配置。
57.实例镜像的一种可能的实现方式,实例镜像可以是用于创建容器的镜像,或者可以是用于创建虚拟机的镜像,或者是用于创建具有计算能力的其它实体的镜像。
58.例如,x86处理器的容器镜像用于创建使用x86处理器的容器。例如,arm处理器的容器镜像用于创建使用arm处理器的容器。例如,x86处理器和gpu的容器镜像用于创建使用x86处理器和gpu的容器。例如,arm处理器和gpu的容器镜像用于创建使用arm处理器和gpu的容器。例如,x86处理器和fpga的容器镜像用于创建使用x86处理器和fpga的容器。例如,arm处理器和fpga的容器镜像用于创建使用arm处理器和fpga的容器。例如,x86处理器和npu的容器镜像用于创建使用x86处理器和npu的容器。arm处理器和npu的容器镜像用于创建使用arm处理器和npu的容器。x86处理器的虚拟机镜像用于创建使用x86处理器的虚拟机。例如,arm处理器的虚拟机镜像用于创建使用arm处理器的虚拟机。例如,x86处理器和gpu的虚拟机镜像用于创建使用x86处理器和gpu的虚拟机。例如,arm处理器和gpu的虚拟机镜像用于创建使用arm处理器和gpu的虚拟机。例如,x86处理器和fpga的虚拟机镜像用于创建使用x86处理器和fpga的虚拟机。例如,arm处理器和fpga的虚拟机镜像用于创建使用arm处理器和fpga的虚拟机。例如,x86处理器和npu的虚拟机镜像用于创建使用x86处理器和npu的虚拟机。arm处理器和npu的虚拟机镜像用于创建使用arm处理器和npu的虚拟机。
59.如果为伸缩组配置一个实例镜像,那么可以为伸缩组创建相同类型的实例。举例说明,为伸缩组指定了一个实例镜像,这个实例镜像是x86处理器的虚拟机镜像,如果需要在该伸缩组增加多个实例,则可以使用这个实例镜像为该伸缩组创建使用x86处理器的虚拟机。
60.如果为伸缩组配置不同实例镜像,那么可以为伸缩组创建不同类型的实例。举例说明,为伸缩组同时指定了两个实例镜像,这两个实例镜像是x86处理器的虚拟机镜像和arm处理器的虚拟机镜像,如果需要在该伸缩组增加多个实例,则可以为该伸缩组创建使用x86处理器的虚拟机和创建使用arm处理器的虚拟机。
61.一种可能的实现方式,可以在不同时间点为伸缩组设置不同的实例镜像。举例说明,在创建伸缩组时指定该伸缩组使用的实例镜像(例如x86处理器的虚拟机镜像),再在伸缩组被使用时更新供该伸缩组使用的实例镜像(例如arm处理器的虚拟机镜像)或者增加供该伸缩组使用的实例镜像。
62.一种可能的实现方式,伸缩组中的实例的规格可以被弹性伸缩。具体地,将伸缩组中的一个实例的规格调整到另一个规格。例如,在伸缩组中,一个实例的当前运行的规格是4个x86处理器和64千兆(gb)的内存,可以将该实例的规格调低到2个x86处理器和32gb的内存,或者可以将该实例的规格调高到8个x86处理器和128gb的内存,或者可以将该实例的规格调整到2个x86处理器和128gb的内存,或者可以将该实例的规格调整到8个x86处理器和32gb的内存。
63.伸缩组中的个数可以被弹性伸缩。例如,基于伸缩组提供的应用的业务量大小,在伸缩组增加该应用的实例,或者在伸缩组减少该应用的实例。
64.对伸缩组进行弹性伸缩,是由触发条件触发的。本技术不限定可以用于触发进行弹性伸缩的触发条件,本文仅举例提供一些触发条件,应知可以使用其它触发条件替换本文提供的触发条件,这些替换的触发条件也在本专利的保护范围。例如,可以定时对伸缩组扩容或者减容。例如,在伸缩组支撑的业务量增加时对伸缩组扩容,为伸缩组创建更多的实
例。例如,在伸缩组支撑的业务量减少时对伸缩组减容,从伸缩组移出部分实例。
65.图3举例提供一种部署弹性伸缩服务的系统。
66.如图3所示,x86服务器集合31包括一个或多个具有x86处理器的服务器,例如服务器311、服务器312和服务器313。x86处理器的服务器(例如服务器311)可以部署使用x86处理器的实例。
67.如图3所示,arm服务器集合31包括一个或多个具有arm处理器的服务器,例如服务器321、服务器322和服务器323。arm处理器的服务器(例如服务器311)可以部署使用arm处理器的实例。
68.如图3所示,服务器33部署弹性伸缩服务,该弹性伸缩服务可以调整x86处理器的服务器上的个数。例如,该弹性伸缩服务可以指示在服务器311上创建使用x86处理器的实例11,该弹性伸缩服务可以指示在服务器312上移除使用x86处理器的实例13。例如,该弹性伸缩服务可以指示在服务器321上创建使用arm处理器的实例12,例如该弹性伸缩服务可以指示在服务器323上移除使用arm处理器的实例(例如实例14)。一种可能实现方式,服务器33部署的弹性伸缩服务可以指示虚拟化平台在服务器上创建实例或者移出实例。一种可能实现方式,服务器33部署的弹性伸缩服务可以指示云平台提供的实例服务为伸缩组创建实例或者移出实例。
69.图3为不同类型的服务器集合的举例。本技术不但可以按不同处理器类型确定所属的服务器集合,还可以按照处理器的不同规格确定服务器所述的服务器集合,如图4所示。
70.在图4中,服务器411具有的处理器431、服务器412具有的处理器432以及服务器413具有的处理器433均为相同规格的处理器,例如处理器431、处理器432以及处理器433均为英特尔至强e7-8893处理器。这样,具有相同规格的处理器的服务器411、服务器412以及服务器413作为服务器集合41。
71.类似的,服务器421具有的处理器441、服务器422具有的处理器442以及服务器423具有的处理器443均为相同规格的处理器,例如处理器441、处理器442以及处理器443均为英特尔至强gold 6328处理器。这样,具有相同规格的处理器的服务器421、服务器422以及服务器423作为服务器集合42。
72.但,服务器集合41和服务器集合42分别具有不同规格的处理器。换句话说,具有相同规格的处理器的两个服务器会列入一个服务器集合,自然,具有不同规格的处理器的两个服务器会列入不同的两个服务器集合。
73.不同类型的处理器自然会具有不同规格的处理器,因此不同类型的两个服务器集合自然是不同规格的两个服务器集合。一种可能设计,图3所示的x86服务器集合31是图4所示的服务器集合41的一个举例,相应地,图3所示的arm服务器集合32属于图4所示的服务器集合42的一个举例。一种可能设计,x86处理器仅是cisc处理器的一种举例实现,x86服务器集合31仅是服务器集合41的一个举例,服务器集合41还可以是具有其它cisc处理器的服务器的集合。类似地,arm服务器集合32仅是服务器集合42的一个举例,服务器集合42还可以是具有其它risc处理器的服务器的集合。
74.下面结合图1至图4,图5举例描述容量调整的方法,该方法为容量调整的执行方法。如图5所示,该执行方法至少包括步骤s51和步骤s52。
75.步骤s51,确定伸缩组。
76.服务器33部署弹性伸缩服务,则服务器33上的弹性伸缩服务确定伸缩组。如果弹性伸缩服务是分布式部署在多个服务器33,则由管理该伸缩组的服务器33来确定是对该伸缩组进行操作。
77.场景举例,用户登录云平台提供的控制台,在控制台使用云平台提供的弹性伸缩服务。用户可以使用弹性伸缩服务找到一个历史创建的伸缩组,这样服务器33也可以确定一个伸缩组。
78.伸缩组可以包括分别部署在不同处理器规格的不同服务器集合的多个实例。例如,伸缩组具有英特尔至强e7-8893处理器的实例,该实例是部署在具有e7-8893处理器的服务器集合(具体是部署在一个具有e7-8893处理器的服务器);伸缩组还具有英特尔至强gold 6328处理器的实例,该实例是部署在具有gold 6328处理器的服务器集合(具体是部署在一个具有gold 6328处理器的服务器)。
79.伸缩组可以包括分别部署在不同处理器类型的异构服务器集合的多个实例。例如,伸缩组具有x86处理器的实例13,实例13部署在x86处理器的服务器312(属于x86服务器集合31);伸缩组具有arm处理器的实例12,实例12部署在arm处理器的服务器321(属于arm服务器集合32)。
80.步骤s52,在服务器集合41和服务器集合42调整伸缩组的实例部署。
81.如果伸缩组中的实例是部署在服务器集合41和服务器集合42,则服务器33上的弹性伸缩服务确定对该伸缩组进行实例调整后,后续是在服务器集合41和服务器集合42完成实例调整,例如创建新的实例,例如移出旧的实例,例如调整实例的规格。
82.本技术不限定步骤s52的执行主体,即不限定哪个主体控制在服务器集合41和服务器集合42完成实例调整,能够完成步骤s52的主体即可,例如步骤s52的执行主体可以部署在云平台上,具体可以使云平台上的一个服务(例如实例服务)或者功能模块。一种可能的实现方式,弹性伸缩服务配合虚拟化平台在服务器集合41和服务器集合42完成实例调整。一种可能的实现方式,服务器33部署的弹性伸缩服务可以指示云平台提供的实例服务在服务器集合41和服务器集合42完成实例调整。一种可能的实现方式,弹性伸缩服务配合云平台在服务器集合41和服务器集合42完成实例调整。一种可能的实现方式,弹性伸缩服务自己在服务器集合41和服务器集合42完成实例调整。
83.下面介绍如何在服务器集合41和服务器集合42实现对伸缩组进行扩容。
84.在该伸缩组扩容两种不同规格(第一规格和第二规格)的处理器的多个实例,第一规格的第一处理器(例如处理器431、处理器432、处理器433)在服务器集合41,第二规格的第二处理器(例如处理器441、处理器442、处理器443)在服务器集合42。这样,在服务器集合41创建使用第一规格的第一处理器的实例,在服务器集合42创建使用第二规格的第二处理器的实例。
85.在服务器集合41创建使用第一处理器的实例时,使用与第一处理器匹配的镜像来为伸缩组创建实例。在服务器集合42创建使用第二处理器的实例时,使用与第二处理器匹配的镜像来为伸缩组创建实例。例如,服务器集合41具有e7-8893处理器,在服务器集合41创建使用e7-8893处理器的实例,则使用与e7-8893处理器匹配的镜像来创建实例。例如,服务器集合42具有gold 6328处理器,在服务器集合42中创建使用gold 6328处理器的实例,
则使用与gold 6328处理器匹配的镜像来创建实例。
86.一种可能的实现方式,如果第一处理器和第二处理器属于同一类型的处理器,则可以使用相同的镜像在服务器集合41和服务器集合42为伸缩组创建实例。例如服务器集合41具有e7-8893处理器,服务器集合42具有gold 6328处理器,e7-8893处理器和gold 6328处理器均为64位的x86处理器这种类型,因此可以相同地支持64位的x86处理器的镜像来创建实例。
87.一种可能的实现方式,如果第一处理器和第二处理器属于不同类型的处理器,则不能使用相同的镜像在服务器集合41和服务器集合42为伸缩组创建实例。例如服务器集合41具有x86处理器,服务器集合42具有arm处理器,则只能使用支持x86处理器的镜像来在服务器集合41创建实例,只能使用支持arm处理器的镜像来在服务器集合42创建实例。
88.一种可能的实现方式,按照比例值在服务器集合41和服务器集合42为伸缩组创建实例。该比例值可以是预设的,或者可以是用户设定的,或者可以是系统设定的。举例说明,假设该比例值为1比3,如果期望在伸缩组增加8个实例,则在服务器集合41增加创建2个实例,在服务器集合42增加创建6个实例。
89.一种可能的实现方式,对伸缩组进行扩容时,只在服务器集合41为伸缩组创建实例;相应地,不在服务器集合42为伸缩组创建实例。
90.一种可能的实现方式,对伸缩组进行扩容时,只在服务器集合42为伸缩组创建实例;相应地,不在服务器集合41为伸缩组创建实例。
91.下面介绍如何在服务器集合41和服务器集合42实现对伸缩组进行减容。
92.在服务器集合41和服务器集合42分别选出从伸缩组移出的实例。具体地,从在服务器集合41部署的实例中,确定从伸缩组移出的实例;相应地,从在服务器集合42部署的实例中,确定从伸缩组移出的实例。伸缩组中,在服务器集合41和服务器集合42分别部署使用不同规格的处理器的实例,甚至是分别部署使用不同类型的处理器的实例。
93.举例说明,按照比例值分别从在服务器集合41部署的实例和在服务器集合42部署的实例中,确定移出的实例。该比例值可以是预设的,或者可以是用户设定的,或者可以是系统设定的。举例说明,假设该比例值为1比3,如果期望从伸缩组移出8个实例,则在服务器集合41部署的实例中确定待移出的2个实例,在服务器集合42部署的实例中确定待移出的6个实例。
94.一种可能的实现方式,对伸缩组进行减容时,只从在服务器集合41部署的实例中,确定从伸缩组移出的实例;相应地,不在服务器集合42部署的实例中确定从伸缩组移出的实例。
95.一种可能的实现方式,对伸缩组进行减容时,只从在服务器集合42部署的实例中,确定从伸缩组移出的实例;相应地,不在服务器集合41部署的实例中确定从伸缩组移出的实例。
96.一种可能的应用场景,服务器集合41部署实例的实例成本比在服务器集合42部署实例的实例成本高。即服务器集合42部署实例的实例成本比在服务器集合41部署实例的实例成本低。
97.在对伸缩组扩容时,在实例成本低的服务器集合42比在实例成本高的服务器集合41创建更多的实例,甚至可以不在服务器集合41创建实例。例如,在服务器集合42创建3个
实例,在服务器集合41仅创建1个实例。这样,可以保证伸缩组的实例的实例成本较低。
98.在对伸缩组减容时,在实例成本高的服务器集合41比在实例成本低的服务器集合42确定更多的从该伸缩组移出的实例,甚至可以不从服务器集合42部署的实例中确定移出的实例。例如,在服务器集合42确定3个待移出的实例,在服务器集合41仅确定1个待移出的实例。这样,可以节约伸缩组的实例的实例成本。
99.一种可能的应用场景,服务器集合41部署的实例的实例性能比在服务器集合42部署的实例的实例性能低。服务器集合42部署的实例的实例性能比在服务器集合41部署的实例的实例性能高。
100.在对伸缩组扩容时,在实例性能高的服务器集合42比在实例性能低的服务器集合41创建更多的实例,甚至可以不在服务器集合41创建实例。例如,在服务器集合42创建3个使用arm处理器的实例,在服务器集合41仅创建1个使用x86处理器的实例。这样,伸缩组内可以增加更多的高性能的实例。
101.在对伸缩组减容时,在实例性能低的服务器集合41比在实例性能高的服务器集合42确定更多的从该伸缩组移出的实例,甚至可以不从服务器集合42部署的实例中确定移出的实例。例如,在服务器集合41确定3个待移出的实例,在服务器集合41仅确定3个待移出的实例。这样,伸缩组移出了更多的低性能的实例,保证了伸缩组的实例的整体性能。
102.一种可能的应用场景,服务器集合41部署实例的资源利用率比在服务器集合42部署实例的资源利用率高。服务器集合42部署实例的资源利用率比在服务器集合41部署实例的资源利用率低。
103.在对伸缩组扩容时,在资源利用率低的服务器集合42比在资源利用率高的服务器集合41创建更多的实例,甚至可以不从服务器集合42部署的实例中确定移出的实例。例如,在服务器集合42创建3个使用arm处理器的实例,在服务器集合41仅创建1个使用x86处理器的实例。这样,伸缩组内可以增加更多的高性能的实例。
104.在对伸缩组减容时,在资源利用率高的服务器集合41比在资源利用率低的服务器集合42确定更多的从该伸缩组移出的实例,甚至可以不在服务器集合42创建实例。例如,在服务器集合41确定3个待移出的实例,在服务器集合42仅确定1个待移出的实例。这样,伸缩组移出了更多的可用资源少的低性能实例,保证了伸缩组的实例的整体性能。
105.一种可能的应用场景,伸缩组在服务器集合41部署的个数具有上限值。举例说明,伸缩组在服务器集合41部署的个数的上限值为3个,在对伸缩组扩容时,如果已经在服务器431和服务器432分别部署了1个实例,那么此次扩容最多可以在服务器集合41(例如服务器433)创建1个新实例。这样,可以通过上限值,限定伸缩组的实例对服务器集合41的资源占用。
106.一种可能的应用场景,伸缩组在服务器集合41部署的个数具有下限值。举例说明,伸缩组在服务器集合41部署的个数的下限值为1个,在对伸缩组减容时,如果已经在服务器431和服务器432各自部署了1个实例,那么此次减容最多可以在服务器集合41部署的2个实例中移出1个实例,可以是服务器431上部署的1个实例,或者可以是服务器432上部署的1个实例。这样,可以通过下限值,保证伸缩组的实例对服务器集合41的资源占用,例如适用于实例在服务器集合41的实例性能相对服务器集合42较高的场景。
107.一种可能的应用场景,伸缩组在服务器集合42部署的个数具有上限值。举例说明,
伸缩组在服务器集合42部署的个数的上限值为4个,在对伸缩组扩容时,如果已经在服务器441和服务器442各自部署了1个实例,那么此次扩容最多可以在服务器集合42(例如服务器443)创建2个新实例。这样,可以通过上限值,限定伸缩组的实例对服务器集合42的资源占用。
108.一种可能的应用场景,伸缩组在服务器集合42部署的个数具有下限值。举例说明,伸缩组在服务器集合42部署的个数的下限值为2个,在对伸缩组减容时,如果已经在服务器441和服务器442各自部署了2个实例,那么此次减容最多可以在服务器集合42部署的4个实例中移出2个实例,可以是服务器441上部署的2个实例,或者可以是服务器442上部署的2个实例,或者可以是服务器441部署的1个实例和服务器442上部署的1个实例。这样,可以通过下限值,保证伸缩组的实例对服务器集合42的资源占用,例如适用于保证伸缩组的实例性能的场景。
109.一种可能的应用场景,伸缩组包括虚拟机类型的实例。即,伸缩组包括的实例,均为虚拟机这种类型的实例;在服务器集合41为伸缩组部署的实例为虚拟机这种类型,在服务器集合42为伸缩组部署的实例也为虚拟机这种类型。
110.一种可能的应用场景,伸缩组包括容器类型的实例。即,伸缩组包括的实例,均为容器这种类型的实例;在服务器集合41为伸缩组部署的实例为容器这种类型,在服务器集合42为伸缩组部署的实例也为容器这种类型。
111.一种可能的应用场景,伸缩组包括虚拟机类型的实例和容器类型的实例。即,伸缩组包括的部分实例为虚拟机这种类型的实例,伸缩组包括的另一部分实例为容器这种类型的实例。例如,在服务器集合41为伸缩组部署的实例为虚拟机这种类型,在服务器集合42为伸缩组部署的实例为容器这种类型。例如,在服务器集合41为伸缩组部署虚拟机类型的实例,在服务器集合41还为伸缩组部署容器类型的实例,在服务器集合42部署虚拟机类型或者容器类型的实例。
112.下面结合图1至图5,图6举例描述容量调整的方法,该方法为容量调整的配置方法。如图6所示,该配置方法至少包括步骤s61和步骤s62。
113.步骤s61,创建伸缩组。
114.服务器33部署弹性伸缩服务,则服务器33上的弹性伸缩服务创建伸缩组。如果弹性伸缩服务是分布式部署在多个服务器33,则由管理该伸缩组的服务器33来确定是对该伸缩组进行操作。
115.场景举例,用户登录云平台提供的控制台,在控制台使用云平台提供的弹性伸缩服务。用户可以使用弹性伸缩服务创建一个新的伸缩组。后续,用户可以使用弹性伸缩服务找到这个伸缩组,更新这个伸缩组的配置。
116.如图7所示,通过弹性伸缩服务创建伸缩组后,可以进行伸缩组的配置。例如,用户可以为伸缩组设置伸缩组名称。例如,用户可以为伸缩组设置最大实例个数和最小实例个数,该最大实例个数是指伸缩组最多可以具有的个数,该最小实例个数是指伸缩组最少可以具有的个数。
117.步骤s62,配置伸缩组。
118.对伸缩组的配置,用户可以配置在服务器集合41和服务器集合42为伸缩组部署实例。其中,服务器集合41与服务器集合42可以使用不同规格的处理器。待用户配置后,服务
器33上的弹性伸缩服务在服务器集合41和服务器集合42为伸缩组创建实例,以及服务器33上的弹性伸缩服务确定在服务器集合41和服务器集合42后续调整伸缩组的实例部署。
119.举例说明,以图7为例,用户可以选择为伸缩组部署实例所使用的服务器资源,例如可以选中x86服务器集合31和arm服务器集合32。x86服务器集合31使用x86处理器,arm服务器集合32使用arm处理器,参见图3。因此,x86服务器集合31和arm服务器集合32使用不同类型的处理器,不同类型的处理器也必然是不同规格的处理器。
120.一种可能的实现方式,对伸缩组的配置,用户可以配置在服务器集合41为伸缩组创建实例所使用的实例镜像;相应地,服务器33上的弹性伸缩服务确定在服务器集合41创建实例所使用的实例镜像。类似地,用户可以配置在服务器集合42为伸缩组创建实例所使用的实例镜像;相应地,服务器33上的弹性伸缩服务确定在服务器集合42创建实例所使用的实例镜像。
121.举例说明,以图7为例,用户选中了x86服务器集合31和arm服务器集合32。用户还可以进一步选中用于在x86服务器集合31创建实例的x86实例镜像;类似地,用户还可以进一步选中用于在arm服务器集合31创建实例的arm实例镜像。这样,服务器33上的弹性伸缩服务确定x86实例镜像用于在x86服务器集合31为伸缩组创建实例,服务器33上的弹性伸缩服务确定arm实例镜像用于在arm服务器集合32为伸缩组创建实例。后续,对伸缩组扩容时,使用x86实例镜像在x86服务器集合31为伸缩组创建实例,使用arm实例镜像在arm服务器集合32为伸缩组创建实例。
122.一种可能的实现方式,对伸缩组的配置,用户可以配置同时在服务器集合41和服务器集合42为伸缩组创建实例所使用的实例镜像;相应地,服务器33上的弹性伸缩服务确定在服务器集合41和服务器集合42创建实例共同使用的实例镜像。
123.一种可能的实现方式,对伸缩组的配置,用户可以配置在实例成本低的服务器集合创建实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41部署实例的实例成本高于服务器集合42部署实例的实例成本,则在实例成本低的服务器集合42比在实例成本高的服务器集合41创建更多的实例,甚至可以不在服务器集合41创建实例。反之,如果服务器集合41部署实例的实例成本低于服务器集合42部署实例的实例成本,则在实例成本低的服务器集合41比在实例成本高的服务器集合42创建更多的实例,甚至可以不在服务器集合42创建实例。这样,服务器33上的弹性伸缩服务确定在实例成本低的服务器集合(服务器集合41或者服务器集合42)创建实例。
124.一种可能的实现方式,对伸缩组的配置,用户可以配置在实例性能高的服务器集合创建实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41部署实例的实例性能高于服务器集合42部署实例的实例性能,则在服务器集合41比在服务器集合42创建更多的实例,甚至可以不在服务器集合42创建实例。反之,如果服务器集合42部署实例的实例性能高于服务器集合41部署实例的实例性能,则在实例性能高的服务器集合42比在实例性能低的服务器集合41创建更多的实例,甚至可以不在服务器集合41创建实例。这样,服务器33上的弹性伸缩服务确定在实例性能高的服务器集合(服务器集合41或者服务器集合42)创建实例。
125.一种可能的实现方式,对伸缩组的配置,用户可以配置在资源利用率低的服务器集合创建实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41部署实例的资
源利用率高于服务器集合42部署实例的资源利用率,则在资源利用率低的服务器集合42比在资源利用率高的服务器集合41创建更多的实例,甚至可以不在服务器集合41创建实例。反之,如果服务器集合41部署实例的资源利用率低于服务器集合42部署实例的资源利用率,则在资源利用率低的服务器集合41比在资源利用率高的服务器集合42创建更多的实例,甚至可以不在服务器集合42创建实例。这样,服务器33上的弹性伸缩服务确定在资源利用率低的服务器集合(服务器集合41或者服务器集合42)创建实例。
126.一种可能的实现方式,对伸缩组的配置,用户可以配置比例值,例如从伸缩组的配置项提供的多个比例值中选中一个比例值,该比例值为在服务器集合41的个数与在服务器集合42的个数之间的比例值;相应地,服务器33上的弹性伸缩服务确定该比例值。后续不管对伸缩组扩容还是对伸缩组减容,在服务器集合41的个数与在服务器集合42的个数之间的比例值都维持在配置的这个比例值或者维持在配置的这个比例值的附近。
127.一种可能的实现方式,对伸缩组的配置,用户可以手动录入比例值,相应地,服务器33上的弹性伸缩服务确定该比例值。后续不管对伸缩组扩容还是对伸缩组减容,在服务器集合41的个数与在服务器集合42的个数之间的比例值都维持在配置的这个比例值或者维持在配置的这个比例值附近。
128.一种可能的实现方式,对伸缩组的配置移出策略,该移出策略用于对伸缩组减容时确定移出的实例。下面举例提供几条移出策略。
129.一条移出策略是:从服务器集合41部署的实例中确定移出的实例。
130.一条移出策略是:从服务器集合42部署的实例中确定移出的实例。
131.一条移出策略是:从服务器集合41部署的实例和服务器集合42部署的实例中确定移出的实例。
132.一条移出策略是:实例性能最低的实例。
133.一条移出策略是:最早创建的实例。
134.一条移出策略是:最新创建的实例。
135.一条移出策略是:在实例成本高的服务器集合(服务器集合41或者服务器集合42)移出实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41部署实例的实例成本高于服务器集合42部署实例的实例成本,则这条移出策略会从服务器集合41部署的实例中确定待移出的实例;反之,如果服务器集合41部署实例的实例成本低于服务器集合42部署实例的实例成本,则这条移出策略会从服务器集合42部署的实例中确定待移出的实例。
136.一条移出策略是:在实例性能低的服务器集合(服务器集合41或者服务器集合42)移出实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41部署实例的实例性能高于服务器集合42部署实例的实例性能,则这条移出策略会从服务器集合42部署的实例中确定待移出的实例;反之,如果服务器集合41部署实例的实例性能低于服务器集合42部署实例的实例性能,则这条移出策略会从服务器集合41部署的实例中确定待移出的实例。
137.一条移出策略是:在资源利用率高的服务器集合(服务器集合41或者服务器集合42)移出实例。举例,服务器集合41与服务器集合42相比,如果服务器集合41的资源利用率高于服务器集合42的资源利用率,则这条移出策略会从服务器集合41部署的实例中确定待移出的实例;反之,如果服务器集合41的资源利用率低于服务器集合42的资源利用率,则这条移出策略会从服务器集合42部署的实例中确定待移出的实例。
138.对伸缩组做配置时,可以仅选中一条移出策略。这样,对伸缩组减容时,服务器33的弹性伸缩服务只会基于该条移出策略确定待移出的实例。例如,以图7为例,“x86服务器集合31部署的实例”这条移出策略被选中,后续对伸缩组减容时,只会从x86服务器集合31部署的实例确定待移出的实例。例如,以图7为例,“x86服务器集合31部署的实例和arm服务器集合32的实例”这条移出策略被选中,后续对伸缩组减容时,会从x86服务器集合31部署的实例确定待移出的实例,还会从arm服务器集合32部署的实例确定待移出的实例。
139.对伸缩组做配置时,可以选中多条移出策略。这样,对伸缩组减容时,服务器33的弹性伸缩服务会同时考虑这几条移出策略,确定同时满足这几条移出策略的实例作为待移出的实例。例如,以图7为例,“x86服务器集合31部署的实例”和“实例性能最低的实例”这两条移出策略被选中,后续对伸缩组减容时,会从x86服务器集合31部署的实例确定实例性能最低的实例作为移出的实例。
140.一种可能的实现方式,对伸缩组的配置,用户可以为伸缩组指定实例的类型。例如,可以指定为伸缩组部署虚拟机类型的实例。例如,可以指定为伸缩组部署容器类型的实例。例如,可以指定为伸缩组同时部署虚拟机类型的实例和容器类型的实例。这样,对伸缩组扩容时,会按照配置的类型,为伸缩组在服务器集合41或服务器集合42创建实例。
141.一种可能的实现方式,对伸缩组的配置,用户可以指定在服务器集合(服务器集合41或服务器集合42)为伸缩组部署的实例的个数的上限值。例如,指定在服务器集合41为伸缩组部署的实例的个数的上限值为5个,指定在服务器集合41为伸缩组部署的实例的个数的上限值为8个。这样,服务器33的弹性伸缩服务确定在服务器集合(服务器集合41或服务器集合42)为伸缩组部署的实例的个数的上限值。
142.一种可能的实现方式,对伸缩组的配置,用户可以指定在服务器集合(服务器集合41或服务器集合42)为伸缩组部署的实例的个数的下限值。这样,服务器33的弹性伸缩服务确定在服务器集合(服务器集合41或服务器集合42)为伸缩组部署的实例的个数的下限值。
143.本技术还提供一种用于容量调整的装置。该装置可以部署在本技术的计算设备(例如服务器33)上。该装置包括用于实现上述容量调整的方法的功能单元;本技术对该装置中如何划分功能单元不做限定。
144.下面实例性地提供的装置的一种功能单元的划分,如图8所示。
145.如图8所示的装置80,装置80包括伸缩组配置单元801和伸缩组工作单元802。
146.伸缩组配置单元801用于实现本技术提供的容量调整的配置方法,例如执行如图6示意的步骤s61和步骤s62。伸缩组工作单元802用于实现本技术提供的容量调整的执行方法,例如执行如图5示意的步骤s51和步骤s52。
147.下面实例性地提供的装置的又一种功能单元的划分,如图9所示。
148.如图9所示的装置90,装置90包括:
149.伸缩组单元901,用于创建伸缩组;
150.实例单元902,用于在第一服务器集合上为所述伸缩组创建第一实例,并在第二服务器集合上为所述伸缩组创建第二实例,其中,所述伸缩组在所述第一服务器集合上部署的实例的个数受到上限值限制。
151.装置90的一种可能的设计,所述伸缩组在所述第一服务器集合上部署的实例的个数受到下限值限制;或者,所述伸缩组在所述第二服务器集合部署的实例的个数受到上限
值限制;或者,所述伸缩组在所述第二服务器集合部署的实例的个数受到下限值限制;或者,所述伸缩组在所述第二服务器集合部署的实例的个数受到上限值和下限值限制。
152.装置90的一种可能的设计,具有x86处理器的所述第一服务器集合用于创建使用x86处理器的所述第一实例。具有arm处理器的所述第二服务器集合用于创建使用arm处理器的所述第二实例。
153.装置90的一种可能的设计,所述伸缩组包括第三实例和第四实例,所述第三实例为虚拟机类型的实例,所述第四实例为容器类型的实例。
154.装置90的一种可能的设计,用于在所述第一服务器集合创建实例的实例镜像与用于在所述第二服务器集合创建实例的实例镜像是不同的。
155.装置90的一种可能的设计,实例单元902,用于在所述第一服务器集合和所述第二服务器集合调整所述伸缩组的实例部署。
156.装置90的一种可能的设计,实例单元902,用于在实例成本低的所述第一服务器集合创建实例;或者,在实例成本高的所述第二服务器集合移出实例。
157.装置90的一种可能的设计,实例单元902,用于:在实例性能高的所述第二服务器集合创建实例;或者,在实例性能低的所述第一服务器集合移出实例。
158.装置90的一种可能的设计,实例单元902,用于在资源利用率低的所述第二服务器集合创建实例;或者,在资源利用率高的所述第一服务器集合移出实例。
159.装置90的一种可能的设计,所述伸缩组在所述第一服务器集合部署的实例的个数与所述伸缩组在所述第二服务器集合中部署的实例的个数维持在一个比例值或者所述比例值的附近。
160.可选地,图10示意性地提供本技术的计算设备的一种可能的基本硬件架构。
161.参见图10,计算设备1000包括处理器1001、存储器1002、通信接口1003和总线1004。
162.计算设备1000中,处理器1001的数量可以是一个或多个,图10仅示意了其中一个处理器1001。可选地,处理器1001,可以是中央处理器(central process ing unit,cpu)。如果计算设备1000具有多个处理器1001,多个处理器1001的类型可以不同,或者可以相同。可选地,计算设备1000的多个处理器1001还可以集成为多核处理器。
163.存储器1002存储指令和数据;存储器1002可以存储实现本技术提供的容量调整的方法所需的指令和数据。存储器1002可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(rom)、固态硬盘(ssd)、硬盘(hdd)、光盘),易失性存储器。
164.通信接口1003可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
165.通信接口1003用于计算设备1000与其它计算设备或者终端进行数据通信。
166.图10用一条粗线表示总线1004。总线1004可以将处理器1001与存储器1002和通信接口1003连接。这样,通过总线1004,处理器1001可以访问存储器1002,还可以利用通信接口1003与其它计算设备或者终端进行数据交互。
167.在本技术中,计算设备1000执行存储器1002中的指令,使得计算设备1000实现本技术提供的容量调整的方法。
168.举例说明,在图3或图4所示方法中,计算设备1000可以被配置成部署弹性伸缩服
务的服务器33。在计算设备1000执行存储器1002中的指令时,计算设备1000执行步骤s51和步骤s22,或者计算设备1000执行步骤s61和步骤s62。
169.本技术提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算设备1000的处理器1001执行该指令时,该计算设备1000执行上述容量调整的方法中的步骤。
170.本技术提供一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。计算设备1000的处理器1001可以从计算机可读存储介质读取该指令,处理器1001执行该指令,使得计算设备1000执行上述容量调整的方法中的步骤。
171.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改;而这些修改,并不使相应技术方案脱离权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1