本申请涉及云主机领域,尤其涉及一种云主机的弹性伸缩方法、装置、存储介质以及电子设备。
背景技术:
1、现有技术中,云主机组内可以包括多个云主机,云主机组内的云主机的数量可以根据一些监控指标如出入口流量、中央处理器负载、内存负载等进行动态的增加或者减少。而现有技术中,如果同时接收到了用户的弹性伸缩命令和系统自动触发了弹性伸缩命令,则同一时间只会有一个命令执行成功,另一个命令会丢弃,且丢弃后不会进行重试,也不会保留命令。
2、因此,现有技术中,在对云主机进行弹性伸缩时,如果同时接收到了多个弹性伸缩的命令,则有的命令并不能够成功执行,造成弹性伸缩的结果不准确。
技术实现思路
1、本申请提供了一种云主机的弹性伸缩方法、装置、存储介质以及电子设备,以解决云主机弹性伸缩的结果不准确的技术问题。
2、第一方面,本申请提供了一种云主机的弹性伸缩方法,包括:在接收到调整请求的情况下,将上述调整请求存入请求队列中,其中,上述调整请求用于调整云主机组内的云主机数量;在存在当前请求的情况下,当有任意一个调整请求存入上述请求队列时,对上述请求队列中的调整请求进行聚合,得到聚合请求,其中,上述当前请求为从上述请求队列中取出的当前正在执行的上述调整请求,上述聚合请求用于指示对上述云主机数量进行调整的调整策略;根据上述聚合请求调整上述云主机组内的上述云主机数量。
3、第二方面,本申请提供了一种云主机的弹性伸缩装置,包括:存储模块,用于在接收到调整请求的情况下,将上述调整请求存入请求队列中,其中,上述调整请求用于调整云主机组内的云主机数量;聚合模块,用于在存在当前请求的情况下,当有任意一个调整请求存入上述请求队列时,对上述请求队列中的调整请求进行聚合,得到聚合请求,其中,上述当前请求为从上述请求队列中取出的当前正在执行的上述调整请求,上述聚合请求用于指示对上述云主机数量进行调整的调整策略;调整模块,用于根据上述聚合请求调整上述云主机组内的上述云主机数量。
4、作为一种可选的示例,上述存储模块包括:存储单元,用于在接收到多个并发的调整请求的情况下,对多个并发的上述调整请求进行排序;将排序后的多个并发的上述调整请求依次存入上述请求队列中。
5、作为一种可选的示例,上述聚合模块包括:聚合单元,用于对上述请求队列中的所有调整请求进行聚合,得到一个上述聚合请求;或者,对上述请求队列中的多个调整请求进行聚合,得到一个上述聚合请求;或者,对上述请求队列中的所有调整请求进行聚合,得到多个上述聚合请求;或者,对上述请求队列中的多个调整请求进行聚合,得到多个聚合请求;其中,聚合得到的聚合请求的数量小于聚合前的多个调整请求的数量。
6、作为一种可选的示例,上述聚合单元包括:第一聚合子单元,用于根据上述请求队列中的调整请求的优先级标签,确定上述请求队列中每一个调整请求的优先级,其中,每一个上述调整请求带有一个优先级标签;将上述优先级最高的调整请求确定为第一调整请求;在上述第一调整请求有多个的情况下,对多个上述第一调整请求进行聚合,得到一个上述聚合请求。
7、作为一种可选的示例,上述聚合单元包括:第二聚合子单元,用于确定上述请求队列中,排序在第一位的调整请求的入队列时间点;从上述请求队列中确定出第二调整请求,其中,上述第二调整请求的入队列时间点与上述第一位的调整请求的入队列时间点的间隔位于预定区间内,上述第二调整请求包括排序在第一位的上述调整请求;在上述第二调整请求有多个的情况下,对多个上述第二调整请求进行聚合,得到一个上述聚合请求。
8、作为一种可选的示例,上述聚合单元包括:第三聚合子单元,用于确定上述请求队列中,发起上述调整请求的发起方;根据上述发起方将上述调整请求分为不同的调整请求组;将每一组上述调整请求聚合为一个上述聚合请求。
9、作为一种可选的示例,上述聚合单元包括:第四聚合子单元,用于确定上述请求队列中的每一个调整请求的调整请求值,其中,上述调整请求值表示所请求调整的云主机的数量,上述调整请求值为正整数或负整数;将所有上述调整请求的调整请求值的和确定为上述聚合请求的调整请求值,以根据上述调整请求值增加或者减少上述云主机的数量。
10、第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与上述至少一个通信接口相连接的至少一个总线;与上述至少一个总线相连接的至少一个处理器;与上述至少一个总线相连接的至少一个存储器,其中,上述存储器存储有计算机程序,上述处理器被配置为执行上述计算机程序时实现上述任一项上述的云主机的弹性伸缩方法。
11、第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,上述计算机可执行指令用于执行本申请上述任一项上述的云主机的弹性伸缩方法。
12、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,在有当前请求正在执行时,无论接收到多少调整请求,都可以将请求存入到请求队列中,对请求队列中的所有调整请求进行聚合,得到聚合请求,从而按照聚合请求对云主机进行弹性伸缩。因为聚合请求是对多个任务进行聚合得到的,因此,兼顾了所有的调整请求的调整的期望,对云主机执行弹性伸缩所得到的弹性伸缩结果是准确的。
1.一种云主机的弹性伸缩方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在接收到调整请求的情况下,将所述调整请求存入请求队列中包括:
3.根据权利要求1所述的方法,其特征在于,所述在存在当前请求的情况下,当有任意一个调整请求存入所述请求队列时,对所述请求队列中的调整请求进行聚合,得到聚合请求包括以下之一:
4.根据权利要求3所述的方法,其特征在于,所述对所述请求队列中的多个调整请求进行聚合,得到一个所述聚合请求包括:
5.根据权利要求3所述的方法,其特征在于,所述对所述请求队列中的多个调整请求进行聚合,得到一个所述聚合请求包括:
6.根据权利要求3所述的方法,其特征在于,所述对所述请求队列中的所有调整请求进行聚合,得到多个所述聚合请求包括:
7.根据权利要求3所述的方法,其特征在于,所述对所述请求队列中的所有调整请求进行聚合,得到一个所述聚合请求或者对所述请求队列中的多个调整请求进行聚合,得到一个所述聚合请求包括:
8.一种云主机的弹性伸缩装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任意一项中所述的方法。
10.一种计算机可读的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述权利要求1至7任一项所述的方法。