CN113254224A - 计算资源扩容方法、装置、电子设备和可读存储介质 - Google Patents
计算资源扩容方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN113254224A CN113254224A CN202110798126.8A CN202110798126A CN113254224A CN 113254224 A CN113254224 A CN 113254224A CN 202110798126 A CN202110798126 A CN 202110798126A CN 113254224 A CN113254224 A CN 113254224A
- Authority
- CN
- China
- Prior art keywords
- load
- load increase
- containers
- amount
- container
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种计算资源扩容方法、装置、电子设备和可读存储介质,该方法的一具体实施方式包括:当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;基于所述负载增长速率,确定待补充的计算资源扩充总量;根据所述计算资源扩充总量进行扩容。该方法可以根据预设时长内的负载增长速率确定待补充的计算资源扩充总量,使得基于该计算资源扩充总量进行扩容后的计算资源更能够满足于当前负载处理需求。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种计算资源扩容方法、装置、电子设备和可读存储介质。
背景技术
在互联网行业(IT行业),计算资源一般指计算机程序运行时所需的CPU资源、内存资源、硬盘资源和网络资源。
实践中,存在利用容器对计算资源进行扩充的技术。具体的,由于虚拟机内需要运行操作***,而操作***的运行需要消耗较多的计算资源。如果不及时对计算资源进行补充的话,当前的计算资源难以支撑该虚拟机去运行其他应用程序。继而,利用容器补充计算资源的技术(也称容器虚拟化技术)便应运而生。进一步的,容器虚拟化技术就是在一个操作***内,提供一种封闭、受限且隔离的环境(这个环境就是容器),相关任务可以在容器内运行。并且,操作***内可以创建多个封闭隔离的容器,不同任务可以运行在不同容器内,达到相互隔离、互不影响的效果。
随着业务量的不断增加,服务器在运行过程中需要对其计算资源进行相应的扩充,以获取更多的计算资源满足业务的需求,对计算资源进行扩充的过程称作扩容,在具体实现过程中即对已有容器进行扩容。
相关技术中,存在手动扩容或者自动扩容两种方式。其中,通过手动扩容的方式会给人工带来较大的工作负担;而通过自动扩容是指当计算资源超过预设阈值时,确定出需要扩充的容器个数,确定出的容器个数可以为一个或者多个,当为多个时,确定出的容器的个数等于预设个数,例如当预设个数为3时,在确定需要进行扩容时,确定出需要扩充的容器个数为3个。上述扩容方式是通过扩充固定数量的容器进行,当扩容数量过少,但业务量上升的速度较快时,将会导致计算资源再次缺乏;当扩容数量过多时,但业务量上升速度较慢,将会导致计算资源的浪费,即前一次扩容操作无法满足实际需要。因此,以固定数量的容器进行扩容,扩容效果并不理想。
发明内容
本申请实施例的目的在于提供一种计算资源扩容方法、装置、电子设备和可读存储介质,可以根据预设时长内的负载增长速率确定待补充的计算资源扩充总量,使得基于该计算资源扩充总量进行扩容后的计算资源更能够满足于当前负载处理需求。
第一方面,本申请实施例提供了一种计算资源扩容方法,该方法包括:当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;基于所述负载增长速率,确定待补充的计算资源扩充总量;根据所述计算资源扩充总量进行扩容。这样,使得扩容后的计算资源更能够满足于负载处理需求。即随着负载增长速率的增长,对容器数量的需求也是不断变化的,而现有技术指定扩容数量的扩容方式很难满足实际需求,而使用本申请所提供的技术方案,不仅能够根据实际需求改变目标数量,在大量的实验数据中还可发现,当现有容器数量越大时,预期扩充数量与目标数量之间的差距越大,则说明本申请提供的技术方案越能体现扩容数量的准确度。
可选地,所述计算该类容器在预设时长内的负载增长速率,包括:确定所述预设时长所对应的第一初始时刻和第一终止时刻;基于在所述第一初始时刻所运行的第一初始负载量,以及在所述第一终止时刻所运行的第一终止负载量,计算在所述预设时长内的负载增长量;根据所述负载增长量以及所述预设时长,计算所述负载增长速率。这样,计算过程较为便捷。
可选地,所述计算该类容器在预设时长内的负载增长速率,包括:计算该类容器在所述预设时长的各个单位时长内的单位负载增长量;基于所述单位负载增长量,确定所述各个单位时长内的单位负载增长速率;将最大单位负载增长速率确定为所述负载增长速率。这样,可以保证补充的计算资源可以满足业务量最大时对应的最大负载需求。
可选地,所述计算该类容器在所述预设时长的各个单位时长内的单位负载增长量,包括:针对每一个所述单位时长,确定该单位时长对应的第二初始时刻和第二终止时刻;基于在所述第二初始时刻所运行的第二初始负载量,以及在所述第二终止时刻所运行的第二终止负载量,计算在该单位时长内的单位负载增长量。以此提供了一种计算单位负载增长量的方式。
可选地,所述基于所述负载增长速率,确定待补充的计算资源扩充总量,包括:基于所述负载增长速率,计算得到待扩充容器的目标数量;以及所述根据所述计算资源扩充总量进行扩容,包括:根据所述目标数量进行扩容,以补充与所述计算资源扩充总量匹配的计算资源。这样,可以使待扩充容器的数量不再拘泥于固定,而是根据负载增长速率确定,使得扩容后的计算资源更能够满足于负载处理需求。
可选地,所述基于所述负载增长速率,计算得到待扩充容器的目标数量,包括:基于所述第一阈值、预期负载量以及现有容器数量,计算得到预期扩充数量;基于所述负载增长速率以及所述预期扩充数量,计算得到所述目标数量。这样,使得根据该目标数量扩容之后的计算资源更能够满足需求。
可选地,基于以下公式计算得到所述预期扩充数量: ;其中,a表示预期扩充数量,c表示所述第一阈值,d表示现有容器数量,e表示预期负载量。通过该计算方式可以较为便捷地得到容器的预期扩充数量,并且得到的预期扩充数量置信度较高。
可选地,基于以下公式计算得到所述目标数量:;其中,n表示目标数量,a表示预期扩充数量,b表示负载增长速率。通过计算方式可以较为便捷地得到目标数量,且基于该目标数量进行扩容之后,扩充后的计算资源更加满足于负载处理需求。
可选地,所述根据所述目标数量进行扩容,包括:确定每一现有容器所对应的负载量;将负载量低于第二阈值的现有容器确定为中间容器,并统计所述中间容器的数量;在检测到所述中间容器的数量不少于所述目标数量时,选取与所述目标数量相匹配的中间容器进行扩容。这样,能够对***资源池中的现有容器进行更加合理的规划,有利于计算资源的有效整合。
可选地,所述根据所述目标数量进行扩容,包括:在检测到所述中间容器的数量少于所述目标数量时,根据所述中间容器的数量以及所述目标数量,确定新增容器的数量;新增与所述新增容器的数量相匹配的容器,以利用新增容器与所述中间容器进行扩容。这样,可以在现有容器小于目标数量时,从当前***资源池之外获取对应数量的新增容器,以将中间容器和新增容器一起用于扩容。
第二方面,本申请实施例提供了一种计算资源扩容装置,该装置包括:第一确定模块,用于当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;第二确定模块,用于基于所述负载增长速率,确定待补充的计算资源扩充总量;扩容模块,用于根据所述计算资源扩充总量进行扩容。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种计算资源扩容方法的流程图;
图2为本申请实施例提供的另一种计算资源扩容方法的流程图;
图3为本申请实施例提供的一种计算资源扩容装置的结构框图;
图4为本申请实施例提供的一种用于执行计算资源扩容方法的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
相关技术中,存在扩容效果不理想的问题;为了解决该问题,本申请提供一种计算资源扩容方法、装置、电子设备和可读存储介质;进一步地,当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;基于所述负载增长速率,确定计算资源扩充总量;根据所述计算资源扩充总量进行扩容。这样,可以根据处理同一类任务的容器的负载增长速率确定出待补充的计算资源扩充总量,即本申请中计算资源扩充总量是根据负载量准确计算得出的,因此扩容后的计算资源更能够满足于当前负载处理需求,不同于现有技术中仅根据预设数量扩充容器,并不考虑所扩充的容器数量是否能够满足当前负载处理需求。在一些应用场景中,上述计算资源扩容方法可以应用于服务器或者云平台中,以实现对应业务的处理。这里对业务的处理例如可以包括对购物订单的处理、对机票改签请求的处理等。
以上相关技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
请参考图1,其示出了本申请实施例提供的第一种计算资源扩容方法的流程图。如图1所示,该计算资源扩容方法包括以下步骤101至步骤103。
步骤101,当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;
上述容器可以视为服务器中位于组件和平台之间的接口集合。通过服务器中建立的多个容器可以合理确定应用于不同业务的计算资源。
实践中,通常利用同一类容器提供处理同一类业务的计算资源。例如,X类容器用于提供处理购买办公文具的业务请求的计算资源。Y类容器用于提供处理退票业务请求的计算资源等。
上述第一阈值可以视为表征容器所消耗的最大计算资源。也即,当容器所消耗的计算资源到达该第一阈值时,可以对该类容器进行扩容处理。例如,可以预先设置A类容器所能够消耗的最大内存资源为45%、所能够消耗的最大中央处理器(最大CPU)资源为51%等。这里的45%、51%可以视为A类容器所对应的第一阈值。
上述预设时长例如可以包括1分钟、5分钟、10分钟等。这里,预设时长可以根据具体应用场景进行设置。例如,在商家预设的秒杀时间段(例如,8:00-8:20)内,业务量的增长速度会比较快,则可以设置诸如1分钟、5分钟、8分钟等较短的预设时长,以使得该预设时长内的负载增长速率更加贴近现实情况。而在深夜、早晨等时间段开展的业务场景中,业务量的增长速度较慢,则可以设置诸如30分钟、40分钟等较长的预设时长。
在一些应用场景中,可以当前时刻作为预设时长到达时所对应的时刻,以此确定出计算负载增长速率的时间段。例如,当前时刻为12:00,若预设时长为10分钟,则用于确定负载增长速率的时间段可以为11:50-12:00。
在一些应用场景中,预设时长可以根据计算资源的消耗速率确定。例如预设时长可以与计算资源的消耗速率负相关。也即,在设置预设时长时,可以先检测计算资源的消耗情况,并可以基于计算资源的消耗情况确定预设时长。例如在上述的秒杀时间段内,会有多个买家同时提交购买请求,此时,服务器需要在短时间内处理多个购买订单,继而导致在该时间段内的计算资源消耗较快,因此可以将预设时长设置得较短,以使得预设时长内的负载增长速率更加满足于该业务场景需求。
上述负载增长速率可以表征在预设时长内负载的增长情况。这里,负载可以视为由于处理业务量而引起的计算资源的占用率。例如,负载可以包括CPU占用率、内存占用率、硬盘占用率、网络带宽占用率等。
本申请提供的技术方案应用于资源池中,该资源池中包括至少一个容器,容器根据能处理任务的类型进行划分,即本申请提供的计算资源扩容方法可用于处理同一类任务的多个容器,也可用于单个容器。
服务器在检测到***资源池中的任意一类容器所消耗的计算资源超过了第一阈值时,可以确定该类容器在预设时长内的负载增长速率。例如,在时间点12:00时检测到了A类容器所消耗的计算资源超过了第一阈值,可以基于预设时长5分钟,确定A类容器在时间段11:55-12:00内的负载增长速率。
步骤102,基于所述负载增长速率,确定待补充的计算资源扩充总量;
步骤103,根据所述计算资源扩充总量进行扩容。
在本实施例中,通过上述步骤101至步骤103,可以根据预设时长内的负载增长速率确定待补充的计算资源扩充总量,使得基于该计算资源扩充总量进行扩容后的计算资源更能够满足于当前负载处理需求。
在一些可选的实现方式中,上述步骤101可以包括以下子步骤:
子步骤1011A,确定所述预设时长所对应的第一初始时刻和第一终止时刻;
在一些应用场景中,在确定负载增长速率时,可以先确定预设时长所对应的第一初始时刻以及第一终止时刻。例如,预设时长为5分钟时,如果以当前时刻10:05为第一终止时刻,则第一初始时刻为10:00。
子步骤1012A,基于在所述第一初始时刻所运行的第一初始负载量,以及在所述第一终止时刻所运行的第一终止负载量,计算在所述预设时长内的负载增长量;
确定了第一初始时刻之后,可以确定在第一初始时刻所运行的第一初始负载量。例如,在10:00时所运行的负载量为20%,则该20%可以视为上述第一初始负载量。
确定了第一终止时刻之后,可以确定在第一终止时刻所运行的第一终止负载量。例如,在10:05时所运行的负载量为70%,则该70%可以视为上述第一终止负载量。
确定了第一初始负载量以及第一终止负载量之后,可以确定上述负载增长量。也即,可以将第一终止负载量与第一初始负载量作差,以得到上述负载增长量,即负载增长量为50%。
子步骤1013A,根据所述负载增长量以及所述预设时长,计算所述负载增长速率。
得到了负载增产量之后,可以得到上述负载增长速率。具体的,可以将负载增长量与预设时长作商,以得到上述负载增长速率。
通过上述子步骤1011A至子步骤1013A,可以计算得到在预设时长内的负载增长速率,该负载增长速率可以视为在预设时长内的负载增长平均速率,计算过程较为便捷,且该负载增长速率的计算方式还可直观看到预设时长内负载的增值速度,当负载增长率越快时,就越需要进行扩容操作。
在一些可选的实现方式中,上述步骤101可以包括以下子步骤:
子步骤1011B,计算该类容器在所述预设时长的各个单位时长内的单位负载增长量;
上述单位时长例如可以包括预先设置的、小于预设时长的时长。这里,可以基于预设时长设置单位时长。例如,预设时长为5分钟时,单位时长例如可以包括30秒、1分钟等。在一些应用场景中,可以使单位时长尽量小于预设时长,以得到更加精确的负载增长速率。
基于单位时长,可以确定在该单位时长内增加的负载量,该负载量可以视为上述单位负载增长量。例如,可以确定在单位时长30秒内,对应的单位负载增长量可以为5%。
在一些可选的实现方式中,上述子步骤1011B可以包括:针对每一个所述单位时长,确定该单位时长对应的第二初始时刻和第二终止时刻;基于在所述第二初始时刻所运行的第二初始负载量,以及在所述第二终止时刻所运行的第二终止负载量,计算在该单位时长内的单位负载增长量。
在一些应用场景中,首先可以确定每一个单位时长所对应的第二初始时刻和第二终止时刻。例如,在预设时长为3分钟,以1分钟作为单位时长时,可以确定开始计算单位时长的起点时刻以及该单位时长结束时所对应的终点时刻。例如,在12:00检测到A类容器所消耗的计算资源超过第一阈值时,可以确定针对于第一个单位时长所对应的第二初始时刻11:57以及第二终止时刻11:58;确定针对于第二个单位时长所对应的第二初始时刻11:58以及第二终止时刻11:59;确定针对于第三个单位时长所对应的第二初始时刻11:59以及第二终止时刻12:00。
然后可以确定上述第二初始负载量以及上述第二终止负载量。例如,上述第二初始时刻11:57所对应的负载量为40%时,可以将该40%视为上述第二初始负载量;上述第二终止时刻11:58所对应的负载量为45%时,可以将45%视为上述第二终止负载量。
确定了第二初始负载量和第二终止负载量之后,可以确定对应的单位负载增长量。例如,当第二初始负载量为40%,第二终止负载量为45%时,可以确定在11:57-11:58的单位时长内所对应的单位负载增长量为5%。
子步骤1012B,基于所述单位负载增长量,确定所述各个单位时长内的单位负载增长速率;
确定了单位负载增长量之后,可以确定预设时长内的各个单位时长所对应的单位负载增长速率。例如,单位时长为10秒、单位负载增长量为5%时,可以确定单位负载增长速率对应的数值为0.5%。
子步骤1013B,将最大单位负载增长速率确定为所述负载增长速率。
在一些应用场景中,确定了预设时长内的各个单位负载增长速率之后,可以确定出该类容器在该预设时长内的负载增长速率。这样,该负载增长速率可以视为在预设时长内的瞬时负载增长速率,继而可以更加精确地表征容器在预设时长内的负载增长变化情况。
进一步地,在得到多个单位负载增长速率之后,可以确定最大单位负载增长速率。并可以将该最大单位负载增长速率确定为负载增长速率,以能够保证补充的计算资源可以满足业务量最大时对应的最大负载需求。
请参考图2,其示出了本申请实施例提供的第一种计算资源扩容方法的流程图。如图2所示,该计算资源扩容方法包括以下步骤201至步骤203。
步骤201,当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况。
上述步骤201的实现过程以及取得的技术效果可以与图1所示实施例的步骤101相同或相似,此处不赘述。
步骤202,基于所述负载增长速率,计算得到待扩充容器的目标数量。
步骤203,根据所述目标数量进行扩容,以补充与所述计算资源扩充总量匹配的计算资源。
相关技术中存在以固定数量的容器来扩充固定计算资源总量的扩容方式,这样,扩容后的计算资源存在不能够满足负载处理需求的情况。
在本实施例中,通过上述步骤201至步骤203,可以使待扩充容器的数量不再拘泥于固定,而是根据负载增长速率确定,使得扩容后的计算资源更能够满足于负载处理需求。
在一些可选的实现方式中,上述步骤202可以包括:
子步骤2021,基于所述第一阈值、预期负载量以及现有容器数量,计算得到预期扩充数量;
上述预期负载量可以视为期望该类容器所能够运行的负载量。也即,当容器所运行的负载量在期望运行负载量之下时,服务器的运行情况较为流畅平缓。这里,预期负载量例如可以包括60%、55%等。
在一些应用场景中,在配置了上述第一阈值以及上述预期负载量之后,可以确定现有容器数量,以利用这三者确定出预期扩充数量。
上述预期扩充数量可以视为在期望状态下,当前应当扩充的容器数量。例如,期望各个容器运行的负载量(也即,预期负载量)在60%以下时,可以将当前应当扩充的容器数量视为上述预期扩充数量。
也即,通过上述公式所呈现的计算方式,可以确定预期扩充数量。具体的,该计算方式可以用于表征:首先,确定单个容器运行在上述预期负载量之下需要进行扩容时,单个容器应当扩充的容器数量。然后基于单个容器应当扩充的容器数量,确定现有容器应当扩充的容器总量。继而可以利用该类容器总量减去现有容器数量,则可以得到预期扩充数量。通过该计算方式可以较为便捷地得到容器的预期扩充数量,并且得到的预期扩充数量置信度较高。
例如,当第一阈值为80%(也即,c=80%),现有容器数量为10(也即,d=10)个,预期负载量为60%(也即,e=60%)时,可以确定预期扩充数量为()的值(也即,约为3.33)。在一些应用场景中,由于容器的数量为整数个,因此,可以将得到的目标数量的数值进行约算处理,以符合实际情况。进一步地,为了使扩容后的计算资源能够充分满足运行负载需求,在约算时,可以取数值较大的整数。例如,得到预期扩充数量为3.33之后,可以视为应当扩充4个容器。
例如,当第一阈值为80%(也即,c=80%),现有容器数量为9(也即,d=9)个,预期负载量为60%(也即,e=60%)时,可以确定预期扩充数量为()的值(该值为3.00)。因此,当前应当扩充3个容器。
子步骤2022,基于所述负载增长速率以及所述预期扩充数量,计算得到所述目标数量。
在确定了负载增长率以及预期扩充数量之后,可以确定上述目标数量。
也即,通过上述公式所呈现的计算方式,可以确定目标数量。进一步的,该计算方式可以表征:首先,确定相对于预期应扩充的容器基于当前的负载增长速率,预期待扩充容器的外增目标数量。然后,再基于这些外增目标数量与预期扩充数量,共同确定出当前所需要扩充的目标数量。通过计算方式可以较为便捷地得到目标数量,且基于该目标数量进行扩容之后,扩充后的计算资源更加满足于负载处理需求。
例如,预期扩充数量为3.33(也即,a=3.33),负载增长速率为75%(也即,b=75%),则目标数量可以为(3.33*75%+3.33)的数值(也即,约为5.83)。例如,当计算得到的目标数量的数值为5.83时,可以确定当前的目标数量为6个。
请参阅下表,该表示出了基于本申请实施例提供的计算资源扩容方法得到的目标数量的示例数据。
进一步的,该表中示出了多个在第一阈值为80%、预期负载量为60%时,对应于不同数量的现有容器、不同的负载增长率所得到的目标数量情况。例如,当现有容器数量为6时,预期扩充数量为2,但实际随着负载增长速率的提升,实际目标数量也呈上升趋势,即当负载增长速率大于75%的时候,目标数量为3.5,即将需要扩充4个容器。当现有容器数量为8时,预期扩充数量为2.67,即3,当负载增长速率大于75%的时候,目标数量为4.67,即将需要扩充5个容器。在现有技术中,当现有容器数量为9时,当预设需要扩容数量为3,但当负载增长速率一旦达到5%,新增3个容器数量将无法满足计算资源的需求;当预设扩容数量为10,而实际需求小于预设扩容数量,则造成了资源的浪费。但本申请实施例提供的技术方案,在拥有同样数量的现有容器时,目标数量的计算结果将根据负载增长速率的增长而增长。
可见随着负载增长速率的增长,对容器数量的需求也是不断变化的,而现有技术指定扩容数量的扩容方式很难满足实际需求,而使用本申请所提供的技术方案,不仅能够根据实际需求改变目标数量,在大量的实验数据中还可发现,当现有容器数量越大时,预期扩充数量与目标数量之间的差距越大,则说明本申请提供的技术方案越能体现扩容数量的准确度。
通过上述子步骤2021和子步骤2022,可以根据负载增长速率得到目标数量。这样,使得根据该目标数量扩容之后的计算资源更能够满足需求。
在一些可选的实现方式中,上述步骤203可以包括以下子步骤:
子步骤2031,确定每一现有容器所对应的负载量;
在一些应用场景中,可以先确定现有容器所对应的负载量,以通过负载量确定出是否可以将现有容器用于扩容。
步骤2032,将负载量低于第二阈值的现有容器确定为中间容器,并统计所述中间容器的数量;
在一些应用场景中,可以将运行负载量低于第二阈值的现有容器确定为中间容器。这里,第二阈值例如可以包括5%、3%等。此时,可以认为该类容器处于空闲状态。继而,可以将中间容器用于支援运行负载量较高的容器,以达到对高负载量容器的扩容效果。
确定了中间容器之后,可以统计中间容器的数量。在一些应用场景中,可以在检测到负载量低于第二阈值时可以将中间容器的数量加1,这样,检测结束即可得到中间容器的数量。
子步骤2033,在检测到所述中间容器的数量不少于所述目标数量时,选取与所述目标数量相匹配的中间容器进行扩容。
统计得到中间容器的数量之后,可以将该中间容器的数量与目标数量进行比较。在一些应用场景中,在检测到中间容器的数量不少于目标数量时,可以选取与目标数量相匹配的中间容器对计算资源进行补充。也即,在检测到中间容器的数量等于或者大于目标数量时,可以选取目标数量的中间容器。例如,目标数量为5个时,如果统计得到的中间容器为5个,则可以将这5个中间容器全部用于扩容;如果统计得到的中间容器为7个,则可以在这7个中间容器中选取5个进行扩容。
通过上述子步骤2031和子步骤2033,可以在运行负载量较低的多个现有容器中选取与目标数量相匹配的中间容器用于支援运行负载量较高的容器,以使得相对于运行负载量较高的容器能够实现扩容效果。这样,能够对***资源池中的现有容器进行更加合理的规划,有利于计算资源的有效整合。
在一些可选的实现方式中,上述步骤203还可以包括以下子步骤:
子步骤2034,在检测到所述中间容器的数量少于所述目标数量时,根据所述中间容器的数量以及所述目标数量,确定新增容器的数量。
在一些应用场景中,如果检测到中间容器的数量少于目标数量时,可以通过中间容器的数量以及目标数量,确定出需要外增的容器的数量。例如,当目标数量为5个时,如果检测到中间容器的数量为3个,则需要新增2个容器才能够将计算资源补充充足。
子步骤2035,新增与所述新增容器的数量相匹配的容器,以利用新增容器与所述中间容器进行扩容。
确定了新增容器的数量之后,可以新增对应数量的容器。例如,确定了新增容器的数量为2个之后,可以在现有容器的基础上新增2个容器,以对计算资源进行补充。这样,相对于待扩容的容器而言,其补充的计算资源可以视为中间容器以及新增容器所带来的计算资源总量。
通过上述子步骤2034至子步骤2035,可以在现有容器小于目标数量时,从当前***资源池之外获取对应数量的新增容器,以将中间容器和新增容器一起用于扩容。
请参考图3,其示出了本申请实施例提供的一种计算资源扩容装置的结构框图,该计算资源扩容装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,上述计算资源扩容装置包括第一确定模块401、第二确定模块402以及扩容模块403。其中,第一确定模块401,用于当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;第二确定模块402,用于基于所述负载增长速率,确定待补充的计算资源扩充总量;扩容模块403,用于根据所述计算资源扩充总量进行扩容。
可选地,所述第一确定模块401进一步用于:确定所述预设时长所对应的第一初始时刻和第一终止时刻;基于在所述第一初始时刻所运行的第一初始负载量,以及在所述第一终止时刻所运行的第一终止负载量,计算在所述预设时长内的负载增长量;根据所述负载增长量以及所述预设时长,计算所述负载增长速率。
可选地,所述第一确定模块401进一步用于:计算该类容器在所述预设时长 的各个单位时长内的单位负载增长量;基于所述单位负载增长量,确定所述各个单位时长内的单位负载增长速率;将最大单位负载增长速率确定为所述负载增长速率。
可选地,所述第一确定模块401进一步用于:针对每一个所述单位时长,确定该单位时长对应的第二初始时刻和第二终止时刻;基于在所述第二初始时刻所运行的第二初始负载量,以及在所述第二终止时刻所运行的第二终止负载量,计算在该单位时长内的单位负载增长量。
可选地,所述第二确定模块402进一步用于:基于所述负载增长速率,计算得到待扩充容器的目标数量;以及所述根据所述计算资源扩充总量进行扩容,包括:根据所述目标数量进行扩容,以补充与所述计算资源扩充总量匹配的计算资源。
可选地,所述第二确定模块402进一步用于:基于所述第一阈值、预期负载量以及现有容器数量,计算得到预期扩充数量;基于所述负载增长速率以及所述预期扩充数量,计算得到所述目标数量。
可选地,所述扩容模块403进一步用于:确定每一现有容器所对应的负载量;将负载量低于第二阈值的现有容器确定为中间容器,并统计所述中间容器的数量;在检测到所述中间容器的数量不少于所述目标数量时,选取与所述目标数量相匹配的中间容器进行扩容。
可选地,所述扩容模块403进一步用于:在检测到所述中间容器的数量少于所述目标数量时,根据所述中间容器的数量以及所述目标数量,确定新增容器的数量;新增与所述新增容器的数量相匹配的容器,以利用新增容器与所述中间容器进行扩容。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
请参照图4,图4为本申请实施例提供的一种用于执行计算资源扩容方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器501,例如CPU,至少一个通信接口502,至少一个存储器503和至少一个通信总线504。其中,通信总线504用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口502用于与其他节点设备进行信令或数据的通信。存储器503可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器503可选的还可以是至少一个位于远离前述处理器的存储装置。存储器503中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器501执行时,电子设备可以执行上述图1所示方法过程。
可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,可以执行如图1所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,该方法可以包括:当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;基于所述负载增长速率,确定待补充的计算资源扩充总量;根据所述计算资源扩充总量进行扩容。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种计算资源扩容方法,其特征在于,包括:
当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;
基于所述负载增长速率,确定待补充的计算资源扩充总量;
根据所述计算资源扩充总量进行扩容。
2.根据权利要求1所述的方法,其特征在于,所述计算该类容器在预设时长内的负载增长速率,包括:
确定所述预设时长所对应的第一初始时刻和第一终止时刻;
基于在所述第一初始时刻所运行的第一初始负载量,以及在所述第一终止时刻所运行的第一终止负载量,计算在所述预设时长内的负载增长量;
根据所述负载增长量以及所述预设时长,计算所述负载增长速率。
3.根据权利要求1所述的方法,其特征在于,所述计算该类容器在预设时长内的负载增长速率,包括:
计算该类容器在所述预设时长的各个单位时长内的单位负载增长量;
基于所述单位负载增长量,确定所述各个单位时长内的单位负载增长速率;
将最大单位负载增长速率确定为所述负载增长速率。
4.根据权利要求3所述的方法,其特征在于,所述计算该类容器在所述预设时长的各个单位时长内的单位负载增长量,包括:
针对每一个所述单位时长,确定该单位时长对应的第二初始时刻和第二终止时刻;
基于在所述第二初始时刻所运行的第二初始负载量,以及在所述第二终止时刻所运行的第二终止负载量,计算在该单位时长内的单位负载增长量。
5.根据权利要求1所述的方法,其特征在于,所述基于所述负载增长速率,确定待补充的计算资源扩充总量,包括:
基于所述负载增长速率,计算得到待扩充容器的目标数量;以及
所述根据所述计算资源扩充总量进行扩容,包括:
根据所述目标数量进行扩容,以补充与所述计算资源扩充总量匹配的计算资源。
6.根据权利要求5所述的方法,其特征在于,所述基于所述负载增长速率,计算得到待扩充容器的目标数量,包括:
基于所述第一阈值、预期负载量以及现有容器数量,计算得到预期扩充数量;
基于所述负载增长速率以及所述预期扩充数量,计算得到所述目标数量。
9.根据权利要求5所述的方法,其特征在于,所述根据所述目标数量进行扩容,包括:
确定每一现有容器所对应的负载量;
将负载量低于第二阈值的现有容器确定为中间容器,并统计所述中间容器的数量;
在检测到所述中间容器的数量不少于所述目标数量时,选取与所述目标数量相匹配的中间容器进行扩容。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标数量进行扩容,包括:
在检测到所述中间容器的数量少于所述目标数量时,根据所述中间容器的数量以及所述目标数量,确定新增容器的数量;
新增与所述新增容器的数量相匹配的容器,以利用新增容器与所述中间容器进行扩容。
11.一种计算资源扩容装置,其特征在于,包括:
第一确定模块,用于当检测到任一类容器所消耗的计算资源超过第一阈值时,计算该类容器在预设时长内的负载增长速率;其中,所述负载增长速率用于表征所述容器在所述预设时长内所对应的负载增长情况;
第二确定模块,用于基于所述负载增长速率,确定待补充的计算资源扩充总量;
扩容模块,用于根据所述计算资源扩充总量进行扩容。
12.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-10任一所述的方法。
13.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-10任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798126.8A CN113254224A (zh) | 2021-07-15 | 2021-07-15 | 计算资源扩容方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110798126.8A CN113254224A (zh) | 2021-07-15 | 2021-07-15 | 计算资源扩容方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254224A true CN113254224A (zh) | 2021-08-13 |
Family
ID=77180338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110798126.8A Pending CN113254224A (zh) | 2021-07-15 | 2021-07-15 | 计算资源扩容方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254224A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135525A (zh) * | 2014-07-31 | 2014-11-05 | 广州杰赛科技股份有限公司 | 云平台elb组件的资源扩展方法和装置 |
CN104519082A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种云计算的扩容方法和装置 |
CN107222514A (zh) * | 2016-03-22 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种负载方法和*** |
CN108845860A (zh) * | 2018-04-26 | 2018-11-20 | 北京奇艺世纪科技有限公司 | 一种quota管理方法、装置及电子设备 |
JP2018185615A (ja) * | 2017-04-25 | 2018-11-22 | キヤノン株式会社 | 電子機器、方法、及びプログラム |
CN108958882A (zh) * | 2018-06-06 | 2018-12-07 | 麒麟合盛网络技术股份有限公司 | 一种容器调整方法、装置和*** |
-
2021
- 2021-07-15 CN CN202110798126.8A patent/CN113254224A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519082A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种云计算的扩容方法和装置 |
CN104135525A (zh) * | 2014-07-31 | 2014-11-05 | 广州杰赛科技股份有限公司 | 云平台elb组件的资源扩展方法和装置 |
CN107222514A (zh) * | 2016-03-22 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 一种负载方法和*** |
JP2018185615A (ja) * | 2017-04-25 | 2018-11-22 | キヤノン株式会社 | 電子機器、方法、及びプログラム |
CN108845860A (zh) * | 2018-04-26 | 2018-11-20 | 北京奇艺世纪科技有限公司 | 一种quota管理方法、装置及电子设备 |
CN108958882A (zh) * | 2018-06-06 | 2018-12-07 | 麒麟合盛网络技术股份有限公司 | 一种容器调整方法、装置和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090225B (zh) | 数据库实例的运行方法、装置、***及计算机可读存储介质 | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN114039918B (zh) | 一种信息年龄优化方法、装置、计算机设备及存储介质 | |
WO2020082611A1 (zh) | 基于区块链平台进行深度学习的方法、电子装置 | |
CN109961198B (zh) | 关联信息生成方法和装置 | |
CN106126340B (zh) | 一种跨数据中心云计算***的规约器选择方法 | |
CN109587072A (zh) | 分布式***全局限速***及方法 | |
CN109491775A (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
CN111291936B (zh) | 产品生命周期预估模型生成方法、装置及电子设备 | |
CN108874805B (zh) | 数据的处理方法和装置 | |
CN110096339B (zh) | 一种基于***负载实现的扩缩容配置推荐***及方法 | |
CN111565216A (zh) | 一种后端负载均衡方法、装置、***及存储介质 | |
CN112287503B (zh) | 用于交通需求预测的动态空间网络构建方法 | |
CN113765811B (zh) | 一种流量控制方法、装置、设备及存储介质 | |
CN110460987B (zh) | 一种写卡方法、装置、服务器和存储介质 | |
CN116862549A (zh) | 服务成本确定方法、装置、电子设备及非易失性存储介质 | |
CN110798527B (zh) | 一种节点数据部署方法、装置、***及介质 | |
CN112565391A (zh) | 调整工业互联网平台中实例的方法、装置、设备和介质 | |
CN112615795A (zh) | 流量控制方法、装置、电子设备、存储介质及产品 | |
CN113254224A (zh) | 计算资源扩容方法、装置、电子设备和可读存储介质 | |
CN109597680B (zh) | 任务排队响应参数估算方法及装置 | |
CN116647560A (zh) | 物联网计算机集群协调优化控制方法、装置、设备及介质 | |
CN113626282B (zh) | 云计算物理节点负载监控方法、装置、终端及存储介质 | |
CN115713395A (zh) | 一种基于Flink的用户风控管理方法、装置及设备 | |
CN115099865A (zh) | 一种数据处理方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |