一种集群自动扩容的实现方法、系统、装置及存储介质与流程

未命名 08-15 阅读:79 评论:0


1.本发明涉及计算机技术领域,尤其是一种集群自动扩容的实现方法、系统、装置及存储介质。


背景技术:

2.随着容器化技术的不断发展,容器集群的应用也越发广泛,集群内容器化业务应用的增多也使得容器集群的弹性扩容和稳定扩容变得重要。然而,由于网络、配置等外部环境影响,使得扩容存在失败的风险,进而影响集群稳定性和集群内容器应用的使用;同时容器集群扩容步骤的繁琐和配置的复杂也使得节点扩容变得更具风险,影响容器集群的可用性。


技术实现要素:

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.另一方面,本发明实施例提供了一种集群自动扩容的实现装置,包括:
40.至少一个处理器;
41.至少一个存储器,用于存储至少一个程序;
42.当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的集群自动扩容的实现方法。
43.另一方面,本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的集群自动扩容的实现方法。
44.本发明实施例通过云计算平台实施层进行目标集群的扩容,能够实现一键自动扩容,有利于缓解集群扩容步骤繁琐的问题;同时,根据扩容规模参数,通过云计算平台技术的应用,实现安全可靠的扩容操作。因此,本发明实施例能够实现集群的自动扩容,有利于提升扩容准确度,缓解集群扩容步骤繁琐的问题。
附图说明
45.为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
46.图1为本发明提供的集群自动扩容的实现方法的一种实施例的流程示意图;
47.图2为本发明提供的集群自动扩容的实现方法的另一种实施例的流程示意图;
48.图3为本发明提供的日志监听过程的一种实施例的流程示意图;
49.图4为本发明提供的日志监听汇聚过程的一种实施例的流程示意图;
50.图5为本发明提供的日志结构化存储的一种实施例的流程示意图;
51.图6为本发明提供的日志可视化展示的一种实施例的流程示意图;
52.图7为本发明提供的节点连通性校验的一种实施例的流程示意图;
53.图8为本发明提供的节点连通性校验的另一种实施例的流程示意图;
54.图9为本发明提供的集群自动扩容的实现系统的一种实施例的结构示意图;
55.图10为本发明提供的集群自动扩容的实现装置的一种实施例的结构示意图。
具体实施方式
56.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
57.首先对本发明实施例涉及的几个技术进行名词解释,具体地:
58.openstack:openstack是一个自由软件和开放源代码项目。openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理
平台。openstack通过各种互补的服务提供了基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。openstack云计算平台,帮助客户实现云基础架构服务(infrastructure as a service,iaas),让任何人都可以自行建立和提供云端运算服务。此外,openstack也用作建立防火墙内的"私有云"(private cloud),提供共享资源。
59.redis:redis是现在最受欢迎的nosql数据库之一,redis是一个使用ansi c编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:基于内存运行,性能高效;支持分布式,理论上可以无限扩展;key-value存储系统;开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。
60.虚拟机:是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。
61.容器(docker):是根据镜像在物理机(即,用来部署容器的宿主机)的操作系统中或者在虚拟机的操作系统中直接创建的实例,它可以被启动、开始、停止或删除。宿主机的每个容器都包括独立的运行环境(即逻辑上的操作系统,包括用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序,多个容器能够直接运行在宿主机的各种操作系统中并共享操作系统的内核,由于每个应用程序独占运行环境,从而实现应用程序之间的隔离。
62.集群:集群(cluster)可以理解为一组计算机,作为一个整体向用户提供一组网络资源。其中,单个的计算机系统就是集群的节点(node)。一个理想的集群是,对象从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。
63.随着容器化技术理念的不断发展状态,容器集群的概念及应用也越发广泛,集群内容器化业务应用的增多也使得容器集群的弹性扩容和稳定扩容变得重要,由于网络、配置等外部环境影响,使得扩容存在失败的风险,进而影响集群稳定性和集群内容器应用的使用,同时容器集群扩容步骤的繁琐和配置的复杂也使得节点扩容变得更具风险,所以亟需一种在保障容器集群正常运行的情况下,高效稳定实现集群自动化扩容的方法。
64.基于此,本发明提供一种以云计算平台作为基础设施进行容器集群一键自动化扩容,并能实时显示扩容流程日志的方案。
65.下面参照附图详细描述根据本发明实施例提出的集群自动扩容的实现方法和系统,首先将参照附图描述根据本发明实施例提出的集群自动扩容的实现方法。
66.参照图1,本发明实施例中提供一种集群自动扩容的实现方法,本发明实施例中的集群自动扩容的实现方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
本发明实施例中的集群自动扩容的实现方法主要包括以下步骤:
67.s100:获取扩容规模参数;扩容规模参数用于表征目标集群所需的扩容规格和数量;
68.s200:根据扩容规模参数,通过云计算平台的设施层创建第一虚拟机;
69.s300:根据所述扩容规模参数,对所述第一虚拟机的节点进行扩容,实现所述目标集群的扩容;其中对所述第一虚拟机进行扩容后的节点数量根据所述扩容数量确定。
70.在一些可能的实施方式中,通过扩容规模参数,可以得知容器集群所需的扩容规模,进行针对性的扩容操作。本发明实施例提供一种基于云计算平台的容器集群节点扩容可实时显示方法,用于当容器集群因容器化应用部署过多导致资源不足时,通过选择所需节点规格对容器集群进行一键自动化扩容;同时本发明实施例还可以利用对待加入节点的多维度连通性校验,实现新增节点网络连通性、自动化运维脚本可操作和对镜像仓库的可达性,提高了容器集群扩容的成功率。可以理解的是,在容器集群扩容过程中,集群扩容各个步骤的流程日志会进行实时展示,通过观察扩容流程日志可以明确掌握集群扩容的进度;在扩容失败的情况下,可以通过观察扩容流程日志排查原因后进行针对性修复,之后重新执行集群扩容操作。
71.具体地,参照图2所示,本发明实施例提供的集群自动化扩容方法如下所示:
72.s21:接收扩容规模参数,解析出集群扩容所需要的节点规格及数量,然后调用openstack(即云计算平台)基础设施层创建扩容所需的虚拟机。
73.s22:对上述新建虚拟机进行多维度的节点连通性校验,包括虚拟机网络连通性、操作指令可执行性和镜像仓库可达性,以保证扩容过程中待加入节点的可靠性。
74.s23:构造节点环境初始化和注册命令,使用自动化运维工具进行指令分发下达,操作上述新建虚拟机节点,实现集群扩容。
75.综上,本发明实施例通过云计算平台实施层进行目标集群的扩容,能够实现一键自动扩容,有利于缓解集群扩容步骤繁琐的问题;同时,根据扩容规模参数,通过云计算平台技术的应用,实现安全可靠的扩容操作。因此,本发明实施例能够实现集群的自动扩容,有利于提升扩容准确度,缓解集群扩容步骤繁琐的问题。
76.可选地,参照图3,在本发明的一个实施例中,该方法还包括:
77.s400:通过日志监听汇聚功能,生成第一日志,并将第一日志推送至消息队列;第一日志用于记录目标集群进行自动扩容中的每个节点的扩容数据流;
78.s500:对消息队列中的第一日志进行消费处理后,生成目标日志并缓存至目标数据库。
79.在一些可能的实施方式中,可以理解的是,对于所需的扩容规模,本发明实施例在新建的虚拟机(即第一虚拟机)上进行节点扩容。因此,第一虚拟机的每个节点的扩容过程,都建立日志进行过程数据的记录,便于后续的过程追踪和查询。因此,本发明实施例还进行日志的监听过程。可以理解的是,消息队列是消息请求的队列,是承载消息请求的队列。具体地,消息队列的主要模块包括:生产者(producer),主要用于生产消息,并发送给消息队列,通常有同步,异步两种方式;消息队列(message queue),主要用于保存/暂存生产者生产的消息,并将消息以某种方式告知消费者,消息队列一般具备消息分类(topic)的能力,存储消息的队列称为msg queue;消费者(consumer),主要用于从消息队列中取出消息,并
进行消费,这里的取出消息的方式主要有两种(主动拉取消息,等待推送消息)。基于此,参照图2所示,本发明实施例触发日志监听汇聚模块实时将容器集群扩容各个步骤数据流进行清洗汇聚,生成流程日志,推送日志到消息队列中;消息队列消费模块负责消费扩容日志,将日志处理后依序缓存到redis延时队列中。对集群扩容执行过程中各个步骤的流程输出流进行实时追踪、汇聚,构建扩容日志,通过日志实时展示明确掌握容器集群扩容的进度;在集群扩容失败的情况下可根据扩容日志排查原因,进行针对性修复,之后重新进行集群扩容操作。
80.可选地,在本发明的一个实施例中,通过日志监听汇聚功能,生成第一日志这一步骤,包括:
81.根据第一标识,确定需监听的目标集群;第一标识用于表征与目标集群相关的标识;
82.实时捕获目标集群中待加入节点的日志输出流;
83.通过预设维度,对日志输出流进行清洗汇聚,得到扩容任务流;
84.通过解析扩容任务流,判断集群扩容任务是否执行成功;
85.若集群扩容任务未执行成功,将解析后的异常原因作为异常点写入第一日志;或者,若集群扩容任务执行成功,将关联数据写入第一日志。
86.在一些可能的实施方式中,可以理解的是,数据准备过程可以分为四个环节:数据整合、数据清洗、数据转换、探索性数据分析,这是一个互相迭代的闭环过程。示例性地,在一些可能的实现方式中,完成探索性数据分析后,可能还需要重复进行数据转换或者数据清洗工作,之后又开始探索性数据分析。数据准备过程是从数据收集开始的,通常将其称为etl过程(extract transform load)。具体地,本技术实施例可能需要操作多个一对一,一对多或多对多的关系表,将不同来源的数据整合在一起,通过key键将数据汇聚成所需的分析级别。其中,数据清洗是整合数据后所需要进行的数据预处理工作。在这一步,本发明实施例将脏数据清理为相对比较规整的数据。不同的数据,可能有不同的清洗方法,但无论是何种数据,在整个数据清洗过程中,总是有那么一些步骤和方法是通用的,例如缺失值分析和处理。本发明实施例并不限定具体的数据清洗方法。本发明实施例通过日志的监听扩容过程,生成第一日志,可知,第一日志包括每个节点的扩容数据。并将第一日志推送至消息队列,通过消息中间件(消息队列)对第一日志进行存储。示例性地,本发明实施例可以通过kafka作为消息队列进行集群的监听汇聚存储。可以理解的是,参照图4,集群的监听汇聚过程为:
87.s41:集群扩容动作触发后,日志监听汇聚模块首先获取目标集群唯一标识clusterid(即第一标识),确定所要监听的目标集群。
88.s42:确定目标集群后,日志监听汇聚模块实时捕获目标集群各个待加入节点的扩容任务日志输出数据流,然后以任务流程、集群和节点等维度将数据流进行清洗汇聚。
89.s43:判断集群扩容中的任务是否执行成功,若失败,则解析失败原因,将失败原因更新数据库记录异常点。
90.s44:构造集群扩容结构化关联流程日志并发送到消息中间件中。
91.可选地,在本发明的一个实施例中,对消息队列中的第一日志进行消费处理后,生成目标日志并缓存至目标数据库这一步骤,包括以下步骤:
92.循环消费消息队列;
93.对当前第一日志进行解析,得到标识数据;标识数据用于表征与当前第一日志相关的节点对应的数据;
94.若标识数据中不包括结束标识,将当前第一日志的产生时间作为第二标识,构造目标日志,将目标日志缓存至目标数据库;目标日志用于表征结构化的日志;第二标识用于日志的查询索引;或者,若标识数据中包括结束标识,更新当前第一日志对应节点的扩容状态。
95.在一些可能的实施方式中,本发明实施例通过消费消息队列中的第一日志,并对第一日志进行模块化处理后生成结构化的日志数据,并将结构化的日志数据进行存储,便于后续通过日志数据进行扩容过程的追踪和故障定位。具体地,参照图5所示,本发明实施例提供的日志模块化存储过程为:
96.s51:数据处理模块循环消费消息中间件中的日志数据(即第一日志),并将获取到的日志数据解析出扩容id、流程日志内容、结束标识等信息(即标识数据)。
97.s52:判断上述步骤解析出来的数据是否含有集群扩容结束标识,若存在结束标识,则表明扩容已经结束,此时将数据库中保存的集群扩容状态进行更新。
98.s53:将上述步骤解析出来的集群扩容流程日志内容构造成结构化日志数据,并将该日志的产生时间作为score值(即第二标识),依序存入到redis的延时队列(即目标数据库)。可以理解的是,上述步骤属于示例性举例,本技术并不限定具体的数据库形式和各个标识的具体表征。
99.可选地,在本发明的一个实施例中,该方法还包括:
100.响应于第一日志查询指令,获取第一标识和前次查询时间;第一标识用于表征与目标集群相关的标识;
101.根据第一标识和第二标识,确定查询索引数据;
102.根据查询索引数据,查询目标数据库中是否存在第一日志;
103.若目标数据库中存在第一日志,通过第一日志,构造并展示结构化日志数据;或者,若目标数据库中不存在第一日志,且目标数据库中存在集群扩容结束标识,确定并展示查询结果为无记录。
104.在一些可能的实施方式中,本发明实施例通过日志可以实现可视化查询与展示。具体地,操作者通过第一日志查询指令,或其它相关指令可以实现日志的查询,进而通过日志对扩容过程进行追踪、故障定位。示例性地,参照图6,可视化查询的过程如下:
105.s61:获取集群唯一表示(即第一标识)和上一次日志查询的记录时间点,构造成包含score(即第二标识)的日志查询唯一索引(即查询索引数据)。
106.s62:使用上述步骤构造的索引调用redis查询接口(即目标数据库),查询出redis的日志数据队列集合。
107.s63:判断取出的日志数据(即第一日志)是否存在,若存在,将该数据构造成结构化日志数据返回;若不存在,则查询集群扩容结束标识,若扩容过程已结束则结束日志查询。
108.可选地,在本发明的一个实施例中,该方法还包括:
109.s600:对第一虚拟机进行节点连通性校验;
110.若通过节点连通性校验,对第一虚拟机进行节点环境初始化和注册操作。
111.在一些可能的实施方式中,本发明实施例还对第一虚拟机的节点进行多维度连通性校验,具体地,可以包括虚拟机网络连通性、操作指令可执行性和镜像仓库可达性校验。通过校验,有利于缓解因为网络、配置等外部因素导致容器集群扩容失败问题。
112.可选地,参照图7,在本发明的一个实施例中,对第一虚拟机进行节点连通性校验这一步骤,包括:
113.s601:通过运维工具,构造第一指令、第二指令和第三指令;
114.s602:执行第一指令,对节点的网络连通性进行校验;
115.s603:若节点通过网络连通性校验,执行第二指令,对节点的可用性进行校验;
116.s604:若节点通过可用性校验,执行第三指令,对节点的可达性进行校验。
117.在一些可能的实施方式中,可以理解的是,本发明实施例提供的连通性校验方法,若基于第一指令、第二指令和第三指令中的任意指令的校验结果为不通过,则确定校验不通过。在一些可能的实现方式中,参照图8,先执行第一指令的校验过程,再执行第二指令的校验过程,最后执行第三指令的校验过程。具体地,当其中一个指令的校验结果为不通过时,则选择重新执行该指令的校验过程,重复执行该指令的校验过程,直至该指令校验成功,或者已执行校验的次数达到预设次数,得到校验不成功的结论。当其中一个指令的校验结果为通过时,则执行下一指令的校验过程。示例性地,参照图8,本发明实施例提供的节点连通性校验过程为:
118.s81:分发执行ping(即第一指令)检测命令以保证容器集群现有节点与待加入节点的网络连通性。
119.s82:分发执行ssh(即第二指令)登录命令以保证自动化运维工具可操作待加入节点进行基础环境安装和节点注册。
120.s83:分发执行curl(即第三指令)命令检测镜像仓库可达性以保证待加入节点能够顺利拉取节点注册所需镜像。
121.可以理解的是,ping指令可以实现点到点ping监控。将结果记录到文件中,并打印时间戳。例如,在a机器部署该工具,监控到b地址的网络连通性。通过不停的ping命令进行检测,将结果写入文本文件中,并增加时间戳。需要说明的是,本发明实施例中的第一指令包括但不限于ping指令。同时,图8中的指令执行过程属于示例性举例,本技术并不限制第一指令、第二指令、第三指令的指令形式。
122.可以理解的是,对第一虚拟机扩容的每个节点,均通过图7所示的方法进行节点连通性检测,提升集群扩容的准确度。即本发明实施例还包括方法:遍历第一虚拟机的节点,对每个节点进行连通性校验。
123.综上可知,本发明实施例使用云计算平台作为基础设施,在容器集群需要扩容时选择所需节点规格和数量后进行一键自动化扩容,减少了集群扩容繁琐的操作步骤。同时,在容器集群扩容之前增加了对待加入节点的多维度连通性校验,保证了在集群扩容过程中待加入节点的可用性和指令可达性,提高扩容成功率。本发明实施例能够实现集群扩容执行过程中各个步骤的流程日志实时展示,可通过观察集群扩容流程日志明确掌握容器集群扩容的进度;在集群扩容失败时可根据扩容日志排查原因进行针对性修复,之后重新进行集群扩容操作。
124.其次,参照附图9描述根据本发明实施例提出的一种集群自动扩容的实现系统。
125.图9是本发明一个实施例的集群自动扩容的实现系统结构示意图,系统具体包括:
126.第一模块910,用于获取扩容规模参数;扩容规模参数用于表征目标集群所需的扩容规格和数量;
127.第二模块920,用于根据扩容规模参数,通过云计算平台的设施层创建第一虚拟机;
128.第三模块930,用于根据所述扩容规模参数,对所述第一虚拟机的节点进行扩容,实现所述目标集群的扩容;其中对所述第一虚拟机进行扩容后的节点数量根据所述扩容数量确定。
129.可以理解的是,本发明实施例通过云计算平台实施层进行目标集群的扩容,能够实现一键自动扩容,有利于缓解集群扩容步骤繁琐的问题;同时,根据扩容规模参数,通过云计算平台技术的应用,实现安全可靠的扩容操作。因此,本发明实施例能够实现集群的自动扩容,有利于提升扩容准确度,缓解集群扩容步骤繁琐的问题。
130.可选地,在本发明的一个实施例中,该系统还包括:第四模块,用于通过日志监听汇聚功能,生成第一日志,并将第一日志推送至消息队列;第一日志用于记录目标集群进行自动扩容中的每个节点的扩容数据流;
131.对消息队列中的第一日志进行消费处理后,生成目标日志并缓存至目标数据库。
132.可选地,在本发明的一个实施例中,第四模块还用于根据第一标识,确定需监听的目标集群;第一标识用于表征与目标集群相关的标识;实时捕获目标集群中待加入节点的日志输出流;通过预设维度,对日志输出流进行清洗汇聚,得到扩容任务流;通过解析扩容任务流,判断集群扩容任务是否执行成功;若集群扩容任务未执行成功,将解析后的异常原因作为异常点写入第一日志;若集群扩容任务执行成功,将关联数据写入第一日志。
133.可选地,在本发明的一个实施例中,第四模块还用于:循环消费消息队列;对当前第一日志进行解析,得到标识数据;标识数据用于表征与当前第一日志相关的节点对应的数据;若标识数据中不包括结束标识,将当前第一日志的产生时间作为第二标识,构造目标日志,将目标日志缓存至目标数据库;目标日志用于表征结构化的日志;第二标识用于日志的查询索引;或者,若标识数据中包括结束标识,更新当前第一日志对应节点的扩容状态。
134.可选地,在本发明的一个实施例中,第四模块还用于:响应于第一日志查询指令,获取第一标识和前次查询时间;第一标识用于表征与目标集群相关的标识;根据第一标识和第二标识,确定查询索引数据;根据查询索引数据,查询目标数据库中是否存在第一日志;若目标数据库中存在第一日志,通过第一日志,构造并展示结构化日志数据;或者,若目标数据库中不存在第一日志,且目标数据库中存在集群扩容结束标识,确定并展示查询结果为无记录。
135.可选地,在本发明的一个实施例中,该系统还包括:第五模块,用于对第一虚拟机进行节点连通性校验;若通过节点连通性校验,对第一虚拟机进行节点环境初始化和注册操作。
136.可选地,在本发明的一个实施例中,第五模块还用于:通过运维工具,构造第一指令、第二指令和第三指令;执行第一指令,对节点的网络连通性进行校验;若节点通过网络连通性校验,执行第二指令,对节点的可用性进行校验;若节点通过可用性校验,执行第三
指令,对节点的可达性进行校验。
137.可知,通过上述集群自动扩容的实现系统,本发明实施例通过云计算平台实施层进行目标集群的扩容,能够实现一键自动扩容,有利于缓解集群扩容步骤繁琐的问题;同时,根据扩容规模参数,通过云计算平台技术的应用,实现安全可靠的扩容操作。因此,本发明实施例能够实现集群的自动扩容,有利于提升扩容准确度,缓解集群扩容步骤繁琐的问题。
138.可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
139.本发明实施例提供了一种集群自动扩容的实现装置,包括:
140.至少一个处理器;
141.至少一个存储器,用于存储至少一个程序;
142.当至少一个程序被至少一个处理器执行时,使得至少一个处理器实现的集群自动扩容的实现方法。
143.本发明实施例提供的用于执行上述一种集群自动扩容的实现方法的装置可以是终端,也可以是服务器。本发明实施例以终端为例,参照图10,本技术实施例提供的终端的部分结构框图,该终端包括:射频(radio frequency,简称rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,简称wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的终端结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
144.rf电路可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器处理;另外,将设计上行的数据发送给基站。
145.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。
146.输入单元可用于接收输入的数字或字符信息,以及产生与手机的设置以及功能控制有关的键信号输入。具体地,输入单元可包括触控面板1031以及其他输入装置1032。
147.显示单元可用于显示输入的信息或提供的信息以及手机的各种菜单。显示单元1040可包括显示面板1041。
148.音频电路1060、扬声器1061,传声器1062可提供音频接口。
149.在本实施例中,该终端所包括的处理器可以执行前面实施例的集群自动扩容的实现。
150.同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
151.本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于执行上述的集群自动扩容的实现方法。
152.同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达
到的有益效果也相同。
153.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
154.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
155.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
156.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。
157.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
158.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
159.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
160.尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
161.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

技术特征:
1.一种集群自动扩容的实现方法,其特征在于,包括以下步骤:获取扩容规模参数;所述扩容规模参数用于表征目标集群所需的扩容规格和扩容数量;根据所述扩容规模参数,通过云计算平台的设施层创建第一虚拟机;根据所述扩容规模参数,对所述第一虚拟机的节点进行扩容,实现所述目标集群的扩容;其中对所述第一虚拟机进行扩容后的节点数量根据所述扩容数量确定。2.根据权利要求1所述的集群自动扩容的实现方法,其特征在于,所述方法还包括:通过日志监听汇聚功能,生成第一日志,并将所述第一日志推送至消息队列;所述第一日志用于记录所述目标集群进行自动扩容中的每个节点的扩容数据流;对所述消息队列中的第一日志进行消费处理后,生成目标日志并缓存至目标数据库。3.根据权利要求2所述的集群自动扩容的实现方法,其特征在于,所述通过日志监听汇聚功能,生成第一日志这一步骤,包括:根据第一标识,确定需监听的目标集群;所述第一标识用于表征与所述目标集群相关的标识;实时捕获所述目标集群中待加入节点的日志输出流;通过预设维度,对所述日志输出流进行清洗汇聚,得到扩容任务流;通过解析所述扩容任务流,判断集群扩容任务是否执行成功;若所述集群扩容任务未执行成功,将解析后的异常原因作为异常点写入所述第一日志;或者,若所述集群扩容任务执行成功,将关联数据写入所述第一日志。4.根据权利要求2所述的集群自动扩容的实现方法,其特征在于,所述对所述消息队列中的第一日志进行消费处理后,生成目标日志并缓存至目标数据库这一步骤,包括以下步骤:循环消费所述消息队列;对当前第一日志进行解析,得到标识数据;若所述标识数据中不包括结束标识,将当前第一日志的产生时间作为第二标识,构造目标日志,将所述目标日志缓存至所述目标数据库;所述目标日志用于表征结构化的日志;或者,若所述标识数据中包括结束标识,更新当前第一日志对应节点的扩容状态。5.根据权利要求4所述的集群自动扩容的实现方法,其特征在于,所述方法还包括:响应于第一日志查询指令,获取第一标识和前次查询时间;所述第一标识用于表征与所述目标集群相关的标识;根据所述第一标识和所述第二标识,确定查询索引数据;根据所述查询索引数据,查询所述目标数据库中是否存在所述第一日志;若所述目标数据库中存在所述第一日志,通过所述第一日志,构造并展示结构化日志数据;或者,若所述目标数据库中不存在所述第一日志,且所述目标数据库中存在集群扩容结束标识,确定并展示查询结果为无记录。6.根据权利要求1所述的集群自动扩容的实现方法,其特征在于,所述方法还包括:对所述第一虚拟机进行节点连通性校验;若通过所述节点连通性校验,对所述第一虚拟机进行节点环境初始化和注册操作。7.根据权利要求6所述的集群自动扩容的实现方法,其特征在于,所述对所述第一虚拟
机进行节点连通性校验这一步骤,包括:通过运维工具,构造第一指令、第二指令和第三指令;执行所述第一指令,对节点的网络连通性进行校验;若所述节点通过网络连通性校验,执行所述第二指令,对节点的可用性进行校验;若所述节点通过可用性校验,执行所述第三指令,对节点的可达性进行校验。8.一种集群自动扩容的实现系统,其特征在于,包括:第一模块,用于获取扩容规模参数;所述扩容规模参数用于表征目标集群所需的扩容规格和数量;第二模块,用于根据所述扩容规模参数,通过云计算平台的设施层创建第一虚拟机;第三模块,用于根据所述扩容规模参数,对所述第一虚拟机的节点进行扩容,实现所述目标集群的扩容;其中对所述第一虚拟机进行扩容后的节点数量根据所述扩容数量确定。9.一种集群自动扩容的实现装置,其特征在于,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1至7中任一项所述的集群自动扩容的实现方法。10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于实现如权利要求1至7中任一项所述的集群自动扩容的实现方法。

技术总结
本发明公开了一种集群自动扩容的实现方法、系统、装置及存储介质,该方法包括:获取扩容规模参数;所述扩容规模参数用于表征目标集群所需的扩容规格和数量;根据所述扩容规模参数,通过云计算平台的设施层创建第一虚拟机;对所述第一虚拟机的节点进行扩容,实现所述目标集群的扩容。本发明实施例通过云计算平台实施层进行目标集群的扩容,能够实现一键自动扩容,有利于缓解集群扩容步骤繁琐的问题;同时,根据扩容规模参数,通过云计算平台技术的应用,实现安全可靠的扩容操作。因此,本发明实施例能够实现集群的自动扩容,有利于提升扩容准确度,缓解集群扩容步骤繁琐的问题;可以广泛应用于计算机技术领域。应用于计算机技术领域。应用于计算机技术领域。


技术研发人员:赵正波 陈建军 胡鹏浩
受保护的技术使用者:中国电信股份有限公司
技术研发日:2023.05.10
技术公布日:2023/8/14
版权声明

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

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

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

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

分享:

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

相关推荐