一种基于集群的缩容处理方法及装置与流程

文档序号:29695000发布日期:2022-04-16 12:45阅读:136来源:国知局
一种基于集群的缩容处理方法及装置与流程

1.本公开涉及计算机技术领域,尤其涉及一种基于集群的缩容处理方法及装置。


背景技术:

2.目前,集群资源缩容是一种避免资源浪费,降低其余成本的一种方法。
3.相关技术中,都是通过集群当前的内存使用率等来判断是否达到缩容要求,导致缩容延时等情况,以及在进行节点缩容时,选择节点的方式比较简单,比如直接选择任一机器进行缩容时,缩容机器上有核心业务运行,导致业务稳定性可能受损,造成不可估量的损失。


技术实现要素:

4.为了解决上述技术问题,本公开提供了一种基于集群的缩容处理方法及装置。
5.第一方面,本公开实施例提供了一种基于集群的缩容处理方法,包括:
6.获取目标集群的当前资源请求比值和/或允许运行业务实例数量;
7.判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值;
8.获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔;
9.在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
10.第二方面、本公开实施例提供了一种基于集群的缩容处理装置,包括:
11.第一获取装置、用于获取目标集群的当前资源请求比值和/或允许运行业务实例数量;
12.判断装置、用于判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值;
13.第二获取装置、用于获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔;
14.第一处理装置、用于在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
15.本公开实施例提供的技术方案与现有技术相比具有如下优点:
16.本公开实施例中,获取目标集群的当前资源请求比值和/或允许运行业务实例数量,判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值,获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的
缩容间隔,在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理,由此,可以精准判断集群是否需要进行缩容,以及基于相关缩容策略进行缩容处理,保证解决业务的资源需求的同时节约成本。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
18.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1为本公开实施例提供的一种基于集群的缩容处理方法流程示意图;
20.图2为本公开实施例提供的另一种基于集群的缩容处理方法流程示意图;
21.图3为本公开实施例提供的又一种基于集群的缩容处理方法流程示意图;
22.图4为本公开实施例提供的一种基于集群的缩容处理装置结构示意图。
具体实施方式
23.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
24.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
25.目前,部相关的弹性缩容规则,都是通过集群cpu(central processing unit,中央处理器)使用率、集群内存使用率判断是否达到缩容要求,在进行节点缩容时,选择节点策略的方式比较简单,不能覆盖大部分场景,比如直接选择任一机器进行缩容时,缩容机器有核心业务运行,导致业务稳定性受损,造成不可估量的损失。
26.本公开设计了一种集群自动缩容方法,通过算法得出资源请求比值和/或允许运行业务实例数量,根据设置的阈值或程序自适应的阈值进行判断,当实际计算的资源请求比值和/或允许运行业务实例数量对应的结果超过设置的阈值或程序自适应的阈值会触发集群缩容,集群缩容会根据应用优先级、应用稳定性,可用区平衡,最少副本数的综合评分得到集群缩容结果。
27.图1为本公开实施例提供的一种基于集群的缩容处理方法流程示意图,包括:
28.步骤101、获取目标集群的当前资源请求比值和/或允许运行业务实例数量。
29.其中,目标集群指的是一组相互独立的、通过高速网络互连的计算机,它们构成了一个组,并以单一系统的模式加以管理。
30.具体地,获取目标集群的当前资源请求比值的方式有很多种,在一个具体实施方式中,获取目标集群对应的所有资源量和已请求资源量,计算已请求资源量和所有资源量的比值,得到当前资源请求比值;获取目标集群的允许运行业务实例数量的方式有很多种,
在一个具体实施方式中,获取目标集群的允许运行业务实例全部数量和已运行业务实例数量,计算允许运行业务实例全部数量和已运行业务实例数量的差值,得到允许运行业务实例数量。
31.步骤102、判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值。
32.其中,预设的资源比值阈值和/或预设的业务实例阈值都可以根据需要设置,或者获取目标集群对应的当前运行信息进行分析,自动设置符合目标集群环境的预设的资源比值阈值和/或预设的业务实例阈值。
33.具体地,设预设的资源比值阈值为a,预设的业务实例阈值b,在一些实施例中,若当前资源请求比值大于等于a,则满足预设缩容条件,将会触发缩容;在另一些实施例中,若允许运行业务实例数量大于等于b,则满足预设缩容条件,将会触发缩容;在又一些实施例中,若当前资源请求比值大于等于a且允许运行业务实例数量大于等于b则满足预设缩容条件,将会触发缩容。
34.步骤103、获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔。
35.在本公开实施例中,当前资源请求比值和/或允许运行业务实例数量大于等于预设的资源比值阈值和/或业务实例阈值时开始计算持续时长,比如设置预设的业务实例阈值为1,当允许运行业务实例数量大于等于1时,则开始计算持续时长,以及允许运行业务实例数量小于1时停止计算持续时长,得到持续时长;再比如预设的资源比值阈值百分之三十,当当前资源请求比值大于等于百分之三十时,则开始计算持续时长,以及当前资源请求比值小于百分之三十时停止计算持续时长,得到持续时长;还比如预设的业务实例阈值为1和预设的资源比值阈值百分之三十,当允许运行业务实例数量大于等于1且当前资源请求比值大于等于百分之三十时,开始计算持续时长,以及允许运行业务实例数量小于1和/或当前资源请求比值小于百分之三十时停止计算持续时长,得到持续时长,比如2021年12月7日8点开始计算持续时长到2021年12月7日8点30分停止计算持续时长,则确定持续时长为30分钟。
36.为了进一步提高缩容时机的精确性,本公开实施例通过持续时长、当前时刻和上次缩容时刻之间的缩容间隔进行进一步判断是否进行缩容处理。
37.步骤104、在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
38.其中,预设的时长阈值可以根据应用场景需要设置,或者是基于集群环境自动设置,可以理解的是不同集群对应的持续时长阈值可以不同;缩容间隔指的是本次缩容动作和上一次缩容动作的时间间隔长度。
39.具体地,在持续时长大于预设的时长阈值且缩容时间间隔大于预设的间隔阈值的情况下,持续时长大于持续时长阈值且时间间隔大于间隔阈值,则按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
40.作为一种示例,当前资源请求比值大于等于预设的资源比值阈值且允许运行业务实例数量大于等于预设的业务实例阈值的情况下,持续时长大于预设的时长阈值且当前时
刻和上次缩容时刻之间的缩容时间间隔大于预设的间隔阈值将会触发集群缩容。例如:设置预设的资源比值阈值为百分之二十,预设的业务实例阈值为30,持续时长阈值为10分钟,间隔阈值为15分钟,当当前资源请求比值大于等于百分之二十且允许运行业务实例数量大于等于30的情况下,持续时长大于10分钟且距离当前时刻和上次缩容时刻之间的缩容间隔大于15分钟时,将会触发缩容。
41.其中,预设缩容因子包括应用优先级、应用稳定性、可用区平衡和最少副本数中的一种或者多种。
42.在本公开实施例中,按照预设缩容因子计算集群中每个节点的综合评分,基于综合评分对集群进行缩容处理的方式有很多种,在一个具体实施方式中,获取每个节点对应的应用优先级、应用稳定性、可用区平衡和最少副本数,基于每个节点的应用优先级对应的第一分数值、应用稳定性对应的第二分数值、可用区平衡对应的第三分数值和最少副本数对应的第四分数值进行计算,得到每个节点对应的综合评分,按照综合评分对应的数值从大到小对每个节点进行排序,获取排序前目标数量的节点作为待缩容机器,将待缩容机器中的所有应用迁移到其他机器上,并将待缩容机器设置为不可用状态。
43.本公开实施例提供的基于集群的缩容处理方案,获取目标集群的当前资源请求比值和/或允许运行业务实例数量,判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值,获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔,在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理,采用上述技术方案,可以精准的知晓集群资源使用情况,集群当前资源请求比值和/或允许运行业务实例数量,通过对这些指标设置缩容阈值和动作,自动触发集群缩容,本公开基于当前资源请求比值和/或允许运行业务实例数量等预设缩容条件判断是否需要缩容,同时结合持续时长和间隔时间进一步精确判断是否需要缩容,并基于应用优先级、应用稳定性,可用区平衡,最少副本数的综合评分进行缩容处理,保证解决业务的资源需求的同时节约成本。
44.图2为本公开实施例提供的另一种基于集群的缩容处理方法流程示意图,包括:
45.步骤201、获取目标集群对应的所有资源量和已请求资源量,计算已请求资源量和所有资源量的比值得到当前资源请求比值,获取目标集群的允许运行业务实例全部数量和已运行业务实例数量,计算允许运行业务实例全部数量和已运行业务实例数量的差值,得到允许运行业务实例数量。
46.其中,所有资源量指的是目标集群对应的所有内存和cpu的大小值,已请求资源量指的是接收到请求的内存和cpu的大小值,并不是实际使用量,仅仅是已经接收到的请求的资源量,目标集群已经提前预留已请求资源。
47.其中,允许运行业务实例全部数量指的是目标集群对应的允许运行的业务实例的全部数值,已运行业务实例数量指的是目标集群对应的已经正在运行或者运行过的业务实例的数值。
48.为了更加清晰的阐述当前资源请求比值和/或允许运行业务实例数量在本公开实施例中,若获取的集群所有资源量为4,已请求资源量为1,得到已请求资源量与所有资源量
的比值百分之二十五即为当前资源请求比值;若获取的集群允许运行业务实例全部数量为5,已运行业务实例数量为2,得到允许运行业务实例全部数量与已运行业务实例数量的差值3即为允许运行业务实例数量。
49.步骤202、判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值。
50.步骤203、获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔。
51.需要说明的是,步骤202-203与上述步骤102-103相同,具体参见对步骤102-103的描述,此处不再详述。
52.步骤204、获取每个节点对应的应用优先级、应用稳定性、可用区平衡和最少副本数,并对其进行评分和排序。
53.在本公开实施例中,若节点a对应的应用优先级第一分数值为1分,应用稳定性对应的第二分数值为2分,可用区平衡对应的第三分数值为1分,最少副本数对应的第四分数值为2分,节点b对应的应用优先级第一分数值为2分,应用稳定性对应的第二分数值为3分,可用区平衡对应的第三分数值为2分,最少副本数对应的第四分数值为1分,节点c对应的应用优先级第一分数值为1分,应用稳定性对应的第二分数值为1分,可用区平衡对应的第三分数值为3分,最少副本数对应的第四分数值为2分,然后将节点a、b、c根据评分进行排序,节点b的评分最高,那么将节点b作为待缩容机器,并将其所有应用迁移到其他机器上,同时将节点b设置为不可用状态。
54.需要说明的是,若集群中部分节点排名一致,则按照字符进行排序。
55.步骤205、获取应用优先级、应用稳定性、可用区平衡和最少副本数对应的权重,基于分数值及权重进行计算,得到每个节点对应的综合评分。
56.在本公开实施例中,若节点w的应用优先级对应的第一权重为20%,应用稳定性对应的第二权重为30%,可用区平衡对应的第三权重为10%,最少副本数对应的第四权重为40%,其中,第一权重、第二权重、第三权重、第四权重之和为1,然后分别乘以与之对应的应用优先级第一分数值e、应用稳定性对应的第二分数值f、可用区平衡对应的第三分数值g和最少副本数对应的第四分数值h再进行加和,那么节点w的综合评分为:20%*e+30%*f+10%*g+40%*h。
57.步骤206、接收设置的缩容时间,检测到当前时刻为缩容时间,按照预设缩容因子计算集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
58.在本公开实施例中,可根据应用场景需要设置的缩容时间,定时对集群进行缩容,在一些实施例中,设置的缩容时间为每日上午7点,那么当检测到当前时刻为上午7点时,则待缩容机器每日上午7点,按照综合评分进行缩容处理。
59.步骤207、生成缩容通知信息,将缩容通知消息发送至目标设备。
60.具体地,待缩容机器完成缩容后,可生成缩容通知信息,信息内容可为“2021年12月7日,系统已完成5台待缩容机器的缩容”可选地,还可以通过语音、电话等方式发送至目标设备。
61.步骤208、接收缩容停止指令,基于缩容停止指令停止对目标集群进行缩容处理。
62.具体地,若接收到缩容停止的指令,则停止对目标集群进行缩容处理,可选地,还
可以设置定时关闭集群缩容,如设置定时关闭缩容的时间为每日18点,则当检测到每日18点时,集群停止缩容。
63.步骤209、获取缩容状态、缩容时间和缩容原因,将缩容状态、缩容时间和缩容原因存储在目标位置。
64.可选地,缩容状态、缩容时间,缩容原因可作为下次触发缩容的条件。
65.其中,目标位置可以理解为集群管理服务器的任一存储位置,可以根据应用场景需要选择。
66.本公开实施例提供的基于集群的缩容处理方案,采用上述技术方案,获取目标集群对应的所有资源量和已请求资源量,计算已请求资源量和所有资源量的比值得到当前资源请求比值,获取目标集群的允许运行业务实例全部数量和已运行业务实例数量,计算允许运行业务实例全部数量和已运行业务实例数量的差值,得到允许运行业务实例数量,判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值,获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间的缩容间隔,获取每个节点对应的应用优先级、应用稳定性、可用区平衡和最少副本数,并对其进行评分和排序,获取应用优先级、应用稳定性、可用区平衡和最少副本数对应的权重,基于分数值及权重进行计算,得到每个节点对应的综合评分,接收设置的缩容时间,检测到当前时刻为缩容时间,按照预设缩容因子计算集群中每个节点的综合评分,基于综合评分对集群进行缩容处理,生成缩容通知信息,将缩容通知消息发送至目标设备,接收的缩容终止指令,基于缩容终止指令停止对集群进行缩容处理,获取缩容状态、缩容时间和缩容原因,将缩容状态、缩容时间和缩容原因存储在目标位置,可支持多个缩容指标共同触发缩容,当配置多个指标时,其中任意一个缩容指标满足条件即可触发缩容,同时也可根据需求进行缩容,从而保证目标集群可以及时缩容以保证业务的正常运行。
67.图3为本公开实施例提供的又一种基于集群的缩容处理方法流程示意图,首先计算当前资源请求比值和/或允许运行业务实例数量,然后判断当前资源请求比值是否大于等于预设的资源比值阈值和/或允许运行业务实例数量是否大于等于预设的业务实例阈值,其中,当前资源请求比值、允许运行业务实例数量满足其一条件即可触发缩容,同时为了进一步提高缩容时机的准确性,还可根据持续时长是否大于用户预设的时长阈值以及当前时刻和上次缩容时刻之间的缩容间隔是否大于间隔阈值来进一步判断是否进行缩容处理,最后根据缩容策略选择最合适的待缩容机器,将待缩容机器中的所有应用迁移到其他机器上,并将待缩容机器设置为不可用状态同时移除机器。
68.图4为本公开实施例提供的一种基于集群的缩容处理装置结构示意图,该装置包括:第一获取模块401、判断模块402、第二获取模块403、第一处理模块404,其中,
69.第一获取模块401,用于获取目标集群的当前资源请求比值和/或允许运行业务实例数量;
70.判断模块402,用于判断当前资源请求比值和/或允许运行业务实例数量是否大于等于预设的资源比值阈值和/或预设的业务实例阈值;
71.第二获取模块403,用于获取当前资源请求比值大于等于资源比值阈值和/或允许运行业务实例数量大于等于业务实例阈值的持续时长、以及当前时刻和上次缩容时刻之间
的缩容间隔;
72.第一处理模块404,用于在持续时长大于预设的时长阈值且缩容间隔大于预设的间隔阈值的情况下,按照预设缩容因子计算目标集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
73.可选地,第一获取模块401,具体用于:
74.获取目标集群对应的所有资源量和已请求资源量;
75.计算已请求资源量和所有资源量的比值,得到当前资源请求比值。
76.获取目标集群的允许运行业务实例全部数量和已运行业务实例数量;
77.计算允许运行业务实例全部数量和已运行业务实例数量的差值,得到允许运行业务实例数量。
78.可选地,第一处理模块404,具体用于,包括:
79.获取每个节点对应的应用优先级、应用稳定性、可用区平衡和最少副本数;
80.基于每个节点的应用优先级对应的第一分数值、应用稳定性对应的第二分数值、可用区平衡对应的第三分数值和最少副本数对应的第四分数值进行计算,得到每个节点对应的综合评分;
81.按照综合评分对应的数值从大到小对每个节点进行排序,获取排序前目标数量的节点作为待缩容机器,将待缩容机器中的所有应用迁移到其他机器上,并将待缩容机器设置为不可用状态。
82.可选地,所述装置还包括:
83.第三获取模块、用于获取应用优先级对应的第一权重、应用稳定性对应的第二权重、可用区平衡对应的第三权重和最少副本数对应的第四权重;其中,第一权重、第二权重、第三权重和第四权重的和为1;
84.计算模块、用于基于每个节点的应用优先级对应的第一分数值、应用稳定性对应的第二分数值、可用区平衡对应的第三分数值和最少副本数对应的第四分数值进行计算,得到每个节点对应的综合评分,包括:基于应用优先级对应的第一分数值和第一权重、应用稳定性对应的第二分数值和第二权重、可用区平衡对应的第三分数值和第三权重和最少副本数对应的第四分数值和第四权重进行计算,得到每个节点对应的综合评分。
85.可选地,所述装置还包括:
86.第一接收模块、用于接收设置的缩容时间;
87.第二处理模块、用于检测到当前时刻为缩容时间,按照预设缩容因子计算集群中每个节点的综合评分,基于综合评分对集群进行缩容处理。
88.可选地,所述装置还包括:
89.生成模块、用于生成缩容通知信息;
90.发送模块、用于将缩容通知消息发送至目标设备。
91.可选地,所述装置还包括:
92.第二接收模块、接收缩容终止指令;
93.停止模块、用于基于缩容终止指令停止对目标集群进行缩容处理。
94.可选地,所述装置还包括:
95.第四获取模块、用于获取缩容状态、缩容时间和缩容原因;
96.存储模块、用于将缩容状态、缩容时间和缩容原因存储在目标位置。
97.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
98.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1