弹性伸缩实现方法、装置、设备及可读存储介质与流程

未命名 09-22 阅读:77 评论:0


1.本技术涉及通信技术领域,尤其涉及一种弹性伸缩实现方法、装置、设备及可读存储介质。


背景技术:

2.弹性伸缩(elastic scaling service,简称ess),是指根据业务需求和策略自动调整计算能力(即实例数量)的服务。其中,可以指定实例的类型,即ecs实例或eci实例。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。
3.在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。当业务需求量有波动时,弹性伸缩能够自动调整指定类型的实例数量,满足业务需求。
4.但是,目前行业内云上弹性伸缩主要还是围绕容器应用进行,与轻量级的容器相比,虚机应用存在灵活性差、启动效率低的问题,虚机资源申请扩缩过程仍然依赖人工操作,且目前虚机资源扩缩需要人工填单审批和处理,整体过程步骤繁琐,易误操作,对业务造成影响,从而导致在日常对其运维时面临资源扩缩、流量冲击、资源治理等问题上无法像容器应用一样从容应对。


技术实现要素:

5.有鉴于此,本技术提供一种弹性伸缩实现方法、装置、设备及可读存储介质,旨在提高对虚机应用扩容或缩容功能的运维效果。
6.为实现上述目的,本技术提供一种弹性伸缩实现方法,所述弹性伸缩实现方法包括以下步骤:
7.确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;
8.根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;
9.调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。
10.示例性的,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,包括:
11.在所述伸缩模式为动态监控模式的情况下,动态扫描虚机实例所在伸缩组的资源数据;
12.获取所述系统的运行数据,并根据所述运行数据,计算所述资源数据对应的资源数值;
13.若所述资源数值不符合预设阈值范围,则触发所述系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数。
14.示例性的,所述调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置的
步骤之后,包括:
15.在所述系统完成弹性伸缩功能的负载配置的情况下,在预设冷却时长内,中断动态扫描任务;
16.在所述系统运行所述预设冷却时长后,对负载配置后的资源数据进行重计算;
17.若重计算得到的资源数值符合所述预设阈值范围,则恢复所述动态扫描任务,并返回所述动态扫描虚机实例所在伸缩组的资源数据的步骤。
18.示例性的,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:
19.在触发的弹性伸缩功能为扩容功能的情况下,根据所述虚机参数,从资源池中选取空闲虚机,并检查所述空闲虚机的规格参数是否符合所述伸缩模式下应用标准;
20.若不符合,则对所述空闲虚机的规格进行扩缩调整处理,并在其规格调整后,检查其纳管状态是否满足所述应用标准;
21.将所述纳管状态满足所述应用标准的空闲虚机作为待配置虚机。
22.示例性的,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:
23.在触发的弹性伸缩功能为缩容功能的情况下,根据所述虚机参数,从资源池中随机选取或顺序选取待缩容实例,并将其进行隔离处理;
24.停止隔离中的待缩容实例的应用进程,并将其对应的虚机进行销毁,在销毁所述待缩容实例的虚机后,重创建预设最小规格的虚机。
25.示例性的,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,包括:
26.在所述伸缩模式为定时调整模式的情况下,获取预先设定的调度方案;
27.根据所述调度方案,在预先设定的触发节点处触发所述系统的弹性伸缩功能,以及确定预先设定的待伸缩部署虚机的虚机参数。
28.示例性的,所述获取预先设定的调度方案的步骤之前,包括:
29.获取所述系统的业务流量情况,并根据所述业务流量情况,分析所述系统在每日处理业务时的资源利用情况;
30.根据所述资源利用情况,预测所述系统所需动态调整资源数量的变化值;
31.根据所述变化值和预设调度规则,生成调度方案。
32.示例性的,为实现上述目的,本技术还提供一种弹性伸缩实现装置,所述装置包括:
33.确定模块,用于确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;
34.匹配模块,用于根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;
35.调度模块,用于调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。
36.示例性的,为实现上述目的,本技术还提供一种弹性伸缩实现设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的弹性伸缩实现程序,所述弹性伸缩实现程序配置为实现如上所述的弹性伸缩实现方法的步骤。
37.示例性的,为实现上述目的,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有弹性伸缩实现程序,所述弹性伸缩实现程序被处理器执行时实现如上所述的弹性伸缩实现方法的步骤。
38.与相关技术中,在日常对虚机运维时面临资源扩缩、流量冲击、资源治理等问题上无法像容器应用一样从容应对的情况相比,在本技术中,通过确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。也就是说,通过确定系统的弹性伸缩的伸缩模式,并在该系统触发弹性伸缩功能时,根据不同的伸缩模式,确定不同模式下对应的待伸缩部署虚机的虚机参数,从而可根据该虚机参数,从资源池中匹配符合伸缩模式下应用标准的待配置虚机,进而可调度该待配置虚机,并将其注册至预设伸缩组进行负载配置,即通过预先设定不同的伸缩模式,并在不同伸缩模式下确定不同的虚机参数,从而可实现对虚机应用的弹性伸缩功能,因而可提高对虚机应用扩容或缩容功能的运维效果。
附图说明
39.图1为本技术弹性伸缩实现方法第一实施例的流程示意图;
40.图2为本技术弹性伸缩实现方法第一实施例中步骤s110的细化流程示意图;
41.图3为本技术弹性伸缩实现方法第一实施例中步骤s110的另一细化流程示意图;
42.图4本技术实施例方案涉及的硬件运行环境的结构示意图。
43.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
44.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
45.本技术提供一种弹性伸缩实现方法,参照图1,图1为本技术弹性伸缩实现方法第一实施例的流程示意图。
46.本技术实施例提供了弹性伸缩实现方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。为了便于描述,以下省略执行主体描述弹性伸缩实现方法的各个步骤,弹性伸缩实现方法包括:
47.步骤s110:确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;
48.系统应用在处理相应事项时,会根据事项的待处理流量的大小而产生不同的负载情况,且待处理流量可能由于其对应的业务特性,而在不同时间处产生不同大小的流量情况,即系统处理的业务流量为动态变量,此时若该系统的资源数据为固定值,则会导致其无法实时适配不同流量大小的业务处理事项,因此,为了适应动态变量的业务流量,提出相应的弹性伸缩控制方法,根据系统所需处理的实时业务量的流量大小,增加或减少实例,从而使得系统实现资源数据动态调整的效果,但该弹性伸缩的方案通常需要设置于容器场景下,针对虚机应用的情况无法灵活适配和调整,即在虚机应用场景下仍然需要人工审批和
调整,从而导致其操作不便的情况,为此,在本实施例中,提出一种适配于虚机应用情况下的弹性伸缩方法,以改变当前情境下,虚机应用的扩容或缩容运维效果差的情况。
49.为灵活调控该系统,需要预先设定相应的伸缩方案,该伸缩方案可理解为预先设定的伸缩任务,该伸缩任务需要适配相应弹性伸缩的伸缩模式,在本实施例中,伸缩模式包括人工手动操作模式、定时调整模式以及动态监控模式,并根据不同的伸缩模式,在触发系统的弹性伸缩功能时,确定不同的待伸缩部署虚机的虚机参数。
50.其中,人工手动操作模式可理解为自定义调整模式,即需要相关人员对系统的负载情况进行追踪,并在系统的负载需要添加或减少实例时,通过人工操作的方式,对系统的资源数据进行调整,该模式下需要根据人工操作的方式触发相应弹性伸缩功能。
51.其中,定时调整模式即通过预先设定的方式,预先设定需要调整实例的时间节点或事件节点,在相应的时间点,执行相应的扩容调整或缩容调整,其本质为预先设定相应的弹性伸缩任务,并在系统运行的过程中,自动调整虚机的数量,即该模式下需要根据预先设定的流程节点,触发相应弹性伸缩功能。
52.其中,动态监控模式即为通过设定相应的监控流程,并根据其实时监控的结果,对系统进行实时调整,从而使得系统的动态变化满足处理业务的动态流量变化情况,该模式下需要根据对系统的负载实时监控的情况,触发相应弹性伸缩功能。
53.因而根据不同的伸缩模式,在触发弹性伸缩功能时,需要确定不同的待配置虚机的虚机参数,该虚机参数包括系统所需调整容量的对应规格,所需虚机数量,所需的虚机类型等相应参数。
54.步骤s120:根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;
55.根据该虚机参数,可从资源池中匹配符合伸缩模式下应用标准的待配置虚机。
56.其中,该资源池的匹配过程需要根据实际系统所需的容量大小而定,同时该匹配过程与实际当前系统所处的伸缩模式不同,匹配过程存在不同。
57.需要说明的是,在匹配过程中,优先匹配标准为容量大小,即为保证系统的负载均衡所需增加或减少的实例的负载规格大小,其次匹配标准为实例数量,其中,该负责均衡所指的是,系统当前处理业务流量的能力大于当前负载总量的预设比例,相当于系统的处理能力大小与其所承担的负载大小保持固定值,其处理能力大于其负载即可,其中,该业务流量为自变量,该系统的所需配置的实例为因变量。
58.在伸缩模式为人工手动操作模式时,匹配得到待配置虚机时需要保证实例的数量、实例的类型和实例的规格均满足要求。
59.在伸缩模式为定时调整模式时,匹配得到待配置虚机时需要保证实例的数量和实例的规格满足要求即可,即在定时调整模式下,仅需要根据实际所需动态调整系统的负载情况即可。
60.在伸缩模式为动态监控模式时,匹配得到待配置虚机时需要保证实例的规格满足要求即可,即为更加灵活调整系统的处理业务流量的能力,可优先选择负载规格符合要求的实例即可,避免同时要求实例数量,降低调整效率的情况。
61.示例性的,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:
62.步骤a:在触发的弹性伸缩功能为扩容功能的情况下,根据所述虚机参数,从资源池中选取空闲虚机,并检查所述空闲虚机的规格参数是否符合所述伸缩模式下应用标准;
63.在本实施例中,无论伸缩模式为何种模式,其最终调整目的均在于将系统的负载能力完成调整,即增加相应规格或减少相应规格的实例,从而实现增加系统的负载能力或降低系统的负载能力的效果,进而实现系统的负载均衡效果。
64.其中,在触发的弹性伸缩功能为扩容功能的情况下,需要为系统额外配置相应的实例,因此,在此时需要根据虚机参数,从资源池中选取空闲虚机,但是由于该空闲虚机并不一定完全满足当前调整系统的实际扩容要求,因此,需要检查该空闲虚机的规格参数是否满足当前伸缩模式下的应用标准,该应用标准即为匹配得到待配置虚机时,对应不同模式的匹配方案,在不同伸缩模式下,所最终需求的匹配结果不同,在定时调整模式下,可采用背包算法,从资源池中选择相应数量合适,规格合适的实例,在动态监控模式下,可降低需求标准,为保证调整效率,以优先抢占空闲虚机为先决条件,抢占空闲虚机的规格参数只要满足一定范围值即可,无法再选取其他空闲虚机,从而降低调整系统负载能力时所需的时间,提高调整效率。
65.需要说明的是,该伸缩模式以动态监控模式为例进行阐述,即在动态监控模式下,在空闲虚机的规格参数不符合其应用标准时,对该空闲虚机的规格参数进行调整,而在其他模式下,为保证控制的精准度,通过算法,选取符合其预先设定的规则,选择满足数量要求、规格要求和类型要求的空闲虚机,同样对空闲虚机作相应扩缩调整。
66.步骤b:若不符合,则对所述空闲虚机的规格进行扩缩调整处理,并在其规格调整后,检查其纳管状态是否满足所述应用标准;
67.在本实施例中,若空闲虚机的规格参数不符合动态监控模式下的应用标准,则需要对该空闲虚机的规格进行扩缩调整,并在其调整后,检查其纳管状态是否满足应用标准。
68.其中,扩缩调整过程需要进行具体说明,该过程中为模糊调整,其目的在于提高调整效率,例如,在所需的规格为10的情况下,当前选取的空闲虚机为30,此时该空闲虚机的规格大于系统所需的规格,若直接选用该空闲虚机,则会导致系统的负载能力过剩,因此,需要将该空闲虚机的规格进行缩容处理,该缩容过程可随机选用缩容比例值,例如,将该空闲虚机缩小两倍或缩小三倍等,该缩容比例值为预先设定的多个值,每次缩容可从多个值中随机选用一个值,例如,该缩容比例值可为缩小1倍、缩小2倍或缩小2.5倍等,可如此缩容时,无法保证调整后的结果符合应用标准,因此,需要在调整后比对空闲虚机和系统所需的规格之间的大小,只要保证空闲虚机的规格大小大于所需的规格,且空闲虚机的规格不超过系统所需的规格的1.2倍即可,并确认扩缩调整处理完成,并在此时,进一步检查其纳管状态是否符合应用标准,同理,对空闲虚机进行扩容调整处理时的过程相似,在此不再赘述。
69.步骤c:将所述纳管状态满足所述应用标准的空闲虚机作为待配置虚机。
70.在空闲虚机的纳管状态满足应用标准时,即可将其作为待配置虚机,同时,需要说明的是,空闲虚机的规格参数在未调整时直接符合应用标准,即可跳过调整过程,直接判断其纳管状态是否满足应用标准即可。
71.示例性的,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:
72.步骤d:在触发的弹性伸缩功能为缩容功能的情况下,根据所述虚机参数,从资源池中随机选取或顺序选取待缩容实例,并将其进行隔离处理;
73.步骤e:停止隔离中的待缩容实例的应用进程,并将其对应的虚机进行销毁,在销毁所述待缩容实例的虚机后,重创建预设最小规格的虚机。
74.在本实施例中,在触发的弹性伸缩功能为缩容功能的情况下,根据虚机参数,从资源池中随机选取或顺序选取待缩容实例,并对其进行隔离处理即可,并停止隔离中的待缩容实例的应用进程,在停止应用进程后,将其对应的虚机进行销毁,在将其销毁后同步创建预设最小规格的虚机,从而保证资源池中存在空闲虚机,以供后续对系统进行扩容调整时使用。
75.步骤s130:调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。
76.在确定待配置虚机后,对其进行调度,并将其注册至预设伸缩组,从而可完成负载配置,其中,该预设伸缩组即为用于支持系统完成业务流量负责的可任意增加或减少实例的伸缩组,该伸缩组主要用于保证弹性伸缩功能的正常运行。
77.与相关技术中,在日常对虚机运维时面临资源扩缩、流量冲击、资源治理等问题上无法像容器应用一样从容应对的情况相比,在本技术中,通过确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。也就是说,通过确定系统的弹性伸缩的伸缩模式,并在该系统触发弹性伸缩功能时,根据不同的伸缩模式,确定不同模式下对应的待伸缩部署虚机的虚机参数,从而可根据该虚机参数,从资源池中匹配符合伸缩模式下应用标准的待配置虚机,进而可调度该待配置虚机,并将其注册至预设伸缩组进行负载配置,即通过预先设定不同的伸缩模式,并在不同伸缩模式下确定不同的虚机参数,从而可实现对虚机应用的弹性伸缩功能,因而可提高对虚机应用扩容或缩容功能的运维效果。
78.示例性的,基于上述本技术弹性伸缩实现方法第一实施例,提出的另一实施例,在该实施例中,参照图2,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,包括:
79.步骤s210:在所述伸缩模式为动态监控模式的情况下,动态扫描虚机实例所在伸缩组的资源数据;
80.在本实施例中,在伸缩模式为动态监控模式的情况下,主要通过监控程序对系统的负载情况进行动态监控,其主要监控逻辑在于监控系统所配置的伸缩组的使用情况,主要包括三种情况,其一为系统处理业务流量的负载均衡,其二为系统的处理能力无法承担业务流量的冲击,其三为系统的处理能力过剩而业务流量较小。
81.而为确定系统的负载情况,则需要动态扫描虚机实例所在伸缩组的资源数据,从而可确定该资源数据的使用情况,例如,资源数据已全部使用,或资源数据存在超过一半闲置等情况,或资源数据使用部分的情况。
82.步骤s220:获取所述系统的运行数据,并根据所述运行数据,计算所述资源数据对应的资源数值;
83.在本实施例中,仅确定出虚机实例所在伸缩组的资源数据情况,仍然无法确定当
前系统的负载情况,因此,在此时需要进一步确定系统的运行数据,并根据运行数据和资源数据,计算得到当前系统对应的资源数值,该资源数值即反应了系统的负载情况,例如,均衡负载或资源过剩或超额负载等。
84.步骤s230:若所述资源数值不符合预设阈值范围,则触发所述系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数。
85.在本实施例中,为判断系统属于的负载情况,通过资源数值与预设阈值范围进行比较,其中,该预设阈值范围主要限定为系统处于均衡负载的情况的范围值,而在资源数值不符合该预设阈值范围时,即该资源数值超出预设阈值范围,比该预设阈值范围小或比该预设阈值范围大时,均可判定当前的系统负载不均衡,此时需要对该系统所配置的实例进行调整,即进一步触发系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数。
86.示例性的,所述调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置的步骤之后,包括:
87.步骤f:在所述系统完成弹性伸缩功能的负载配置的情况下,在预设冷却时长内,中断动态扫描任务;
88.步骤g:在所述系统运行所述预设冷却时长后,对负载配置后的资源数据进行重计算;
89.在系统完成弹性伸缩功能的负载配置的情况下,系统可能会由于业务流量的实时变化仍需要作出进一步调整,因此,在系统完成弹性伸缩功能的负载配置之后,需要对系统的负载情况进行复检。
90.而若在系统完成弹性伸缩功能的负载配置后,直接对系统的负载情况进行扫描时,会由于系统刚对伸缩组进行配置,系统对接处理业务流量时会产生相应的动荡,其负载情况处于不稳定的状态,因此,在本实施例中,引入预设冷却时长的概念,即在系统刚完成负载配置时,设置相应的预设冷却时长,在该预设冷却时长内,中断对系统的伸缩组的动态扫描任务,并停止对系统的负载情况计算,并在该预设冷却时长后,对负载配置后的资源数据进行重计算,从而保证此时重计算得到的资源数值为准确的值,以便于后续对系统进行调整的精准性。
91.其中,该预设冷却时长的大小可根据实际需求进行设定,该冷却时长需要保证系统能够恢复至平稳运行的状态。
92.步骤h:若重计算得到的资源数值符合所述预设阈值范围,则恢复所述动态扫描任务,并返回所述动态扫描虚机实例所在伸缩组的资源数据的步骤。
93.在本实施例中,若重计算得到的资源数值符合预设阈值范围,则恢复动态扫描任务,并返回动态扫描虚机实例所在伸缩组的资源数据的步骤,即在预设冷却时长后,恢复动态监控的功能,并进入下一次对系统进行监控和调整的进程。
94.若重计算得到的资源数值不符合预设阈值范围,则会对该系统继续进行调整,直至重计算得到的资源数值符合预设阈值范围即可。
95.在本实施例中,在所述伸缩模式为动态监控模式的情况下,动态扫描虚机实例所在伸缩组的资源数据;获取所述系统的运行数据,并根据所述运行数据,计算所述资源数据对应的资源数值;若所述资源数值不符合预设阈值范围,则触发所述系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数,也就是说,通过设置相应预设冷却时长的方式,并保证对
系统的动态监管的精准性。
96.示例性的,基于上述本技术弹性伸缩实现方法第一实施例,提出的另一实施例,在该实施例中,参照图3,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,还包括:
97.步骤s310:在所述伸缩模式为定时调整模式的情况下,获取预先设定的调度方案;
98.在伸缩模式为定时调整模式的情况下,会根据预先设定的调度方案,在固定的事件节点或固定的时间节点处,对系统的负载情况根据预先设定的调度方案进行调整。
99.在本实施例中,在伸缩模式为定时调整模式的情况下,需要先获取到预先设定的调度方案,并在系统运行过程中,按照调度方案的内容,触发相应的弹性伸缩功能。
100.步骤s320:根据所述调度方案,在预先设定的触发节点处触发所述系统的弹性伸缩功能,以及确定预先设定的待伸缩部署虚机的虚机参数。
101.在本实施例中,根据调度方案,在预先设定的触发节点处触发系统的弹性伸缩功能,并确定预先设定的待伸缩部署虚机的虚机参数,其中,该触发节点可为时间节点和事件节点,在系统运行相应时长或系统处理固定业务时,会自动触发相应的弹性伸缩功能,其中,根据调度方案,确定预先设定的虚机参数时,该虚机参数均为预先设定好的,与动态监控模式下会根据系统的负载情况动态调整伸缩组的实例时存在区别,即定时调整模式下的调整参数和调整时间均为预先设定好的。
102.示例性的,所述获取预先设定的调度方案的步骤之前,包括:
103.步骤i:获取所述系统的业务流量情况,并根据所述业务流量情况,分析所述系统在每日处理业务时的资源利用情况;
104.在本实施例中,在获取到预先设定的调度方案之前,需要预先根据系统的日常使用情况,设定相应的调度方案,其中,在生成该调度方案时,需要根据系统的业务流量情况,具体结合系统的日常负载情况,以及系统在不通过时间的负载波动,生成相应的调度方案。
105.即根据该业务流量情况,对系统在每日处理业务时的资源利用情况进行分析,确定系统在不同时刻下保证系统负载均衡的资源利用情况。
106.步骤j:根据所述资源利用情况,预测所述系统所需动态调整资源数量的变化值;
107.在确定出资源利用情况时,即可根据该资源利用情况,对后续系统所需动态调整资源数据的变化值进行相应预测,其中,该预测的主要根据系统实际使用情况,以及该系统日常对应处理的业务流量情况进行预测,其所生成的调度方案需要迎合该系统处理的业务,若业务不同,业务对应类型或业务对应的每日流量波动特性均存在不同,此时,则需要根据不同的应用情况,做出不同的预测方案,从而使得调度方案更加适用于当前系统。
108.步骤k:根据所述变化值和预设调度规则,生成调度方案。
109.根据变化值和预设调度规则,生成相应的调度方案,其中,该预设调度规则即为根据预测的变化值,在该变化值的基础上做出相应调整的调度规则,其主要为保证预测后得到的调度方案能够应对每日系统处理的业务流量的动态变化情况,且为保证系统的负载均衡,即系统的所需对应的实例的负载能力既不能太大,也不能使得系统超负载,因此,预设调度规则用于增加相应的变化值,即根据对应的调度方案调整的系统,该系统的负载能力要超出业务流量的一定大小,例如,系统的负载能力超过业务流量所需负载的百分之十,该预设调度规则的具体规则定义大小可根据实际情况具体设定,不作具体数值限定。
110.在本实施例中,在所述伸缩模式为定时调整模式的情况下,获取预先设定的调度方案;根据所述调度方案,在预先设定的触发节点处触发所述系统的弹性伸缩功能,以及确定预先设定的待伸缩部署虚机的虚机参数。也就是说,在伸缩模式为定时调整模式的情况下,通过预先设定的调度方案,对系统的弹性伸缩功能进行动态调整,以使得系统灵活对应业务流量的实时变化。
111.此外,本技术还提供一种弹性伸缩实现装置,所述一种弹性伸缩实现装置包括:
112.确定模块,用于确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;
113.匹配模块,用于根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;
114.调度模块,用于调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。
115.示例性的,确定模块包括:
116.第一扫描子模块,用于在所述伸缩模式为动态监控模式的情况下,动态扫描虚机实例所在伸缩组的资源数据;
117.计算子模块,用于获取所述系统的运行数据,并根据所述运行数据,计算所述资源数据对应的资源数值;
118.判断子模块,用于若所述资源数值不符合预设阈值范围,则触发所述系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数;
119.第二扫描子模块,用于在所述系统完成弹性伸缩功能的负载配置的情况下,在预设冷却时长内,中断动态扫描任务;
120.重计算子模块,用于在所述系统运行所述预设冷却时长后,对负载配置后的资源数据进行重计算;
121.循环子模块,用于若重计算得到的资源数值符合所述预设阈值范围,则恢复所述动态扫描任务,并返回所述动态扫描虚机实例所在伸缩组的资源数据的步骤。
122.示例性的,匹配模块包括:
123.第一选取子模块,用于在触发的弹性伸缩功能为扩容功能的情况下,根据所述虚机参数,从资源池中选取空闲虚机,并检查所述空闲虚机的规格参数是否符合所述伸缩模式下应用标准;
124.调整子模块,用于若不符合,则对所述空闲虚机的规格进行扩缩调整处理,并在其规格调整后,检查其纳管状态是否满足所述应用标准;
125.确定子模块,用于将所述纳管状态满足所述应用标准的空闲虚机作为待配置虚机;
126.第二选取子模块,用于在触发的弹性伸缩功能为缩容功能的情况下,根据所述虚机参数,从资源池中随机选取或顺序选取待缩容实例,并将其进行隔离处理;
127.处理子模块,用于停止隔离中的待缩容实例的应用进程,并将其对应的虚机进行销毁,在销毁所述待缩容实例的虚机后,重创建预设最小规格的虚机。
128.示例性的,确定模块还包括:
129.第一获取子模块,用于在所述伸缩模式为定时调整模式的情况下,获取预先设定的调度方案;
130.预设子模块,用于根据所述调度方案,在预先设定的触发节点处触发所述系统的弹性伸缩功能,以及确定预先设定的待伸缩部署虚机的虚机参数;
131.第二获取子模块,用于获取所述系统的业务流量情况,并根据所述业务流量情况,分析所述系统在每日处理业务时的资源利用情况;
132.预测子模块,用于根据所述资源利用情况,预测所述系统所需动态调整资源数量的变化值;
133.生成子模块,用于根据所述变化值和预设调度规则,生成调度方案。
134.本技术弹性伸缩实现装置具体实施方式与上述弹性伸缩实现方法各实施例基本相同,在此不再赘述。
135.此外,本技术还提供一种弹性伸缩实现设备。如图4所示,图4是本技术实施例方案涉及的硬件运行环境的结构示意图。
136.示例性的,图4即可为弹性伸缩实现设备的硬件运行环境的结构示意图。
137.如图4所示,该弹性伸缩实现设备可以包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401、通信接口402和存储器403通过通信总线404完成相互间的通信,存储器403,用于存放计算机程序;处理器401,用于执行存储器403上所存放的程序时,实现弹性伸缩实现方法的步骤。
138.上述弹性伸缩实现设备提到的通信总线404可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线404可以分为地址总线、数据总线和控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
139.通信接口402用于上述弹性伸缩实现设备与其他设备之间的通信。
140.存储器403可以包括随机存取存储器(random access memory,rmd),也可以包括非易失性存储器(non-volatile memory,nm),例如至少一个磁盘存储器。可选的,存储器403还可以是至少一个位于远离前述处理器401的存储装置。
141.上述的处理器401可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
142.本技术弹性伸缩实现设备具体实施方式与上述弹性伸缩实现方法各实施例基本相同,在此不再赘述。
143.此外,本技术实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有弹性伸缩实现程序,所述弹性伸缩实现程序被处理器执行时实现如上所述的弹性伸缩实现方法的步骤。
144.本技术计算机可读存储介质具体实施方式与上述弹性伸缩实现方法各实施例基本相同,在此不再赘述。
145.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
146.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
147.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
148.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种弹性伸缩实现方法,其特征在于,所述弹性伸缩实现方法包括以下步骤:确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。2.如权利要求1所述的弹性伸缩实现方法,其特征在于,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,包括:在所述伸缩模式为动态监控模式的情况下,动态扫描虚机实例所在伸缩组的资源数据;获取所述系统的运行数据,并根据所述运行数据,计算所述资源数据对应的资源数值;若所述资源数值不符合预设阈值范围,则触发所述系统的弹性伸缩功能,确定待伸缩部署虚机的虚机参数。3.如权利要求2所述的弹性伸缩实现方法,其特征在于,所述调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置的步骤之后,包括:在所述系统完成弹性伸缩功能的负载配置的情况下,在预设冷却时长内,中断动态扫描任务;在所述系统运行所述预设冷却时长后,对负载配置后的资源数据进行重计算;若重计算得到的资源数值符合所述预设阈值范围,则恢复所述动态扫描任务,并返回所述动态扫描虚机实例所在伸缩组的资源数据的步骤。4.如权利要求1所述的弹性伸缩实现方法,其特征在于,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:在触发的弹性伸缩功能为扩容功能的情况下,根据所述虚机参数,从资源池中选取空闲虚机,并检查所述空闲虚机的规格参数是否符合所述伸缩模式下应用标准;若不符合,则对所述空闲虚机的规格进行扩缩调整处理,并在其规格调整后,检查其纳管状态是否满足所述应用标准;将所述纳管状态满足所述应用标准的空闲虚机作为待配置虚机。5.如权利要求1所述的弹性伸缩实现方法,其特征在于,所述根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机的步骤,包括:在触发的弹性伸缩功能为缩容功能的情况下,根据所述虚机参数,从资源池中随机选取或顺序选取待缩容实例,并将其进行隔离处理;停止隔离中的待缩容实例的应用进程,并将其对应的虚机进行销毁,在销毁所述待缩容实例的虚机后,重创建预设最小规格的虚机。6.如权利要求1所述的弹性伸缩实现方法,其特征在于,所述根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数的步骤,包括:在所述伸缩模式为定时调整模式的情况下,获取预先设定的调度方案;根据所述调度方案,在预先设定的触发节点处触发所述系统的弹性伸缩功能,以及确定预先设定的待伸缩部署虚机的虚机参数。7.如权利要求6所述的弹性伸缩实现方法,其特征在于,所述获取预先设定的调度方案的步骤之前,包括:
获取所述系统的业务流量情况,并根据所述业务流量情况,分析所述系统在每日处理业务时的资源利用情况;根据所述资源利用情况,预测所述系统所需动态调整资源数量的变化值;根据所述变化值和预设调度规则,生成调度方案。8.一种弹性伸缩实现装置,其特征在于,所述弹性伸缩实现装置包括:确定模块,用于确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;匹配模块,用于根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;调度模块,用于调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。9.一种弹性伸缩实现设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的弹性伸缩实现程序,所述弹性伸缩实现程序配置为实现如权利要求1至7中任一项所述的弹性伸缩实现方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有弹性伸缩实现程序,所述弹性伸缩实现程序被处理器执行时实现如权利要求1至7中任一项所述的弹性伸缩实现方法的步骤。

技术总结
本申请公开了一种弹性伸缩实现方法、装置、设备及可读存储介质,该方法包括步骤:确定系统弹性伸缩的伸缩模式,并根据所述伸缩模式,在触发所述系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数;根据所述虚机参数,从资源池中匹配符合所述伸缩模式下应用标准的待配置虚机;调度所述待配置虚机,并将其注册至预设伸缩组进行负载配置。本申请实现了在触发系统的弹性伸缩功能时,确定待伸缩部署虚机的虚机参数,并根据虚机参数,调度相应的待配置虚机,调度该虚机,实现将其注册至预设伸缩组进行负载配置的效果。缩组进行负载配置的效果。缩组进行负载配置的效果。


技术研发人员:肖雨 霍纬乾 金卓鑫 陈学颖 张煜杰 李军 李杭茹
受保护的技术使用者:招商银行股份有限公司
技术研发日:2023.06.25
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐