一种模块化的服务器升级方法、装置、电子设备及介质与流程

专利检索2022-05-11  19



1.本发明属于计算机技术领域,特别涉及一种模块化的服务器升级方法、装置、电子设备及介质。


背景技术:

2.服务器是计算机的一种,在网络中为其他客户机提供计算或者应用服务,具有高速的cpu运算能力、长时间的可靠运行和强大的外部数据吞吐能力以及更好的扩展性。对于连续性、可用性要求较高的业务,通常采用服务器集群系统进行业务处理,但服务器集群系统运行一段时间后都需要进行系统的更新于升级的操作。
3.现阶段,大多数服务器采用服务器集群部署,其更新升级都是按照服务器节点方式进行升级,升级完成一个节点后再升级另外一个节点,并且在升级服务器集群时,管理员一般都会把一个完整升级安装包拷贝到每个服务器上,在每个服务器上进行安装包解压以及升级。
4.但现有技术中存在服务器节点升级慢,不能实现并行升级的问题,对整个升级任务没有编排,缺少在升级过程中对业务的影响情况采取不同的升级策略。


技术实现要素:

5.本发明所要解决的技术问题在于,提供了及一种模块化的服务器升级方法,解决了在升级服务器过程中停服的问题以及利用模块化的升级方式实现服务器并行升级。
6.为了解决上述技术问题,本发明提供了一种模块化的服务器升级方法,包括:
7.根据服务器集群上报的信息,生成各个服务器所属的配置文件;
8.根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表;所述预设的安装包包括多个模块包,且每个模块包与需进行升级的每个模块组件一一对应;
9.基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装;
10.同时监控各个服务器的安装流程并反馈至管理员各个服务器升级情况。
11.进一步地,所述根据服务器集群上报的信息,生成各个服务器所属的配置文件,具体为:
12.根据服务器集群上报的信息,分别生成每个服务器所属的配置文件,所述配置文件记录各个服务器中的ip信息、模块组件和服务器状态。
13.进一步地,所述根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表,具体为:
14.根据各个服务器所属的配置文件,分析各个服务器中所含有的模块组件,并根据预设的安装包,在各个服务器中所含有的模块组件中挑选出与每个模块包一一对应的模块
组件,作为各个服务器需要进行升级的各个模块组件,并标注各个模块组件所属服务器的ip信息和服务器状态,从而生成任务列表。
15.进一步地,所述基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装,具体为:
16.基于任务列表,分别将各个模块组件所对应的模块包同时发送至模块组件相对应的服务器中,以使接收到模块包的服务器同步检测待升级模块组件是否处于业务运行状态;
17.若所述待升级模块组件处于业务运行状态,则让模块包进入等待状态;若模块包等待超时,则待升级模块组件升级失败,反馈至管理员该模块组件所属的服务器升级失败;若模块包等待未超时,则待升级模块组件执行安装;
18.若所述待升级模块组件不处于业务运行状态,则记录该待升级模块组件;
19.对记录的所有不处于业务运行状态的待升级模块组件同时执行安装。
20.进一步地,所述监控各个服务器的安装流程并反馈至管理员各个服务器升级情况,具体为:
21.同时对各个服务器进行监控需要进行升级安装的模块组件是否升级成功;
22.若模块组件升级失败,则反馈至管理员该模块组件所属的服务器升级失败;
23.若模块组件升级成功,则服务器升级成功,反馈至管理员所有升级成功的模块组件以及模块组件所属的服务器。
24.同时,本发明还提供一种模块化的服务器升级装置,包括:配置文件单元、任务列表单元、安装执行单元和监控反馈单元;
25.其中,所述配置文件单元用于根据服务器集群上报的信息,生成各个服务器所属的配置文件;
26.所述任务列表单元用于根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表;所述预设的安装包包括多个模块包,且每个模块包与需进行升级的每个模块组件一一对应;
27.所述安装执行单元用于基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装;
28.所述监控反馈单元用于同时监控各个服务器的安装流程并反馈至管理员各个服务器升级情况。
29.进一步地,所述任务列表单元用于根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表,具体为:
30.根据各个服务器所属的配置文件,分析各个服务器中所含有的模块组件,并根据预设的安装包,在各个服务器中所含有的模块组件中挑选出与每个模块包一一对应的模块组件,作为各个服务器需要进行升级的各个模块组件,并标注各个模块组件所属服务器的ip信息和服务器状态,从而生成任务列表。
31.进一步地,所述安装执行单元基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检
测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装,具体为:
32.基于任务列表,分别将各个模块组件所对应的模块包同时发送至模块组件相对应的服务器中,以使接收到模块包的服务器同步检测待升级模块组件是否处于业务运行状态;
33.若所述待升级模块组件处于业务运行状态,则让模块包进入等待状态;若模块包等待超时,则待升级模块组件升级失败,反馈至管理员该模块组件所属的服务器升级失败;若模块包等待未超时,则待升级模块组件执行安装;
34.若所述待升级模块组件不处于业务运行状态,则记录该待升级模块组件;
35.对记录的所有不处于业务运行状态的待升级模块组件同时执行安装。
36.本发明实施例还提供一种电子设备,所述电子设备包括:
37.存储器,存储至少一个指令;
38.处理器,执行所述存储器中存储的指令以实现本发明所提供的一种模块化的服务器升级方法。
39.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以本发明所提供的一种模块化的服务器升级方法。
40.实施本技术实施例,具有如下的有益效果:
41.本发明提供的一种模块化的服务器升级方法、装置、电子设备及介质,在接收到安装包时,能够依据安装包中所要进行升级的模块包对各个服务器中所对应的模块组件进行提取和生成任务列表,使得各个服务器中不需要升级的模块组件能够继续正常运作,需要升级的模块组件则待进入无任务运行状态再执行安装,实现了服务器的不停服更新;同时,利用模块包对各个服务器所要升级的模块组件在无任务状态下接收到模块包后马上进行同步升级,各个模块包不影响所属模块组件之外的模块组件,从而实现各个服务器之间的并行升级,提高了服务器的升级速度。
附图说明
42.图1是本发明实施例提供的一种模块化的服务器升级方法的步骤流程图;
43.图2是本发明实施例提供的一种模块化的服务器升级方法实施例的设计方案框图;
44.图3是本发明实施例提供的一种模块化的服务器升级方法实施例中模块组件执行安装判断的流程图;
45.图4是本发明实施例提供的一种模块化的服务器升级方法应用于音视频会议集群系统的服务器升级流程图;
46.图5是本发明实施例提供的一种模块化的服务器升级装置的结构图。
具体实施方式
47.为了使本发明的目的、技术方案及优点更加清楚明白,以下将结合本发明中的附图,对本发明实施例中的技术方案进行进一步详细说明。显然,此所描述的实施例仅是本发明一部分实施例,而不是全部实施例,并不用于限定本发明。基于本发明中的实施例,本领
域普通技术人员在没有做出创造性劳动前提下所获得的所用其他实施例,都属于本发明保护的范围。
48.请参阅图1,其是本发明实施例提供的一种模块化的服务器升级方法,包括步骤s101至s104,各步骤具体如下:
49.步骤s101:根据服务器集群上报的信息,生成各个服务器所属的配置文件。
50.服务器集群包括多个服务器,各个服务器包含多个运行于对应服务器的模块组件。
51.进一步地,根据服务器集群上报的信息,分别生成每个服务器所属的配置文件,所述配置文件记录了各个服务器中的ip信息、模块组件和服务器状态。
52.步骤s102:根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表;所述预设的安装包包括多个模块包,且每个模块包与需进行升级的每个模块组件一一对应。
53.进一步地,根据各个服务器所属的配置文件,分析各个服务器中所含有的模块组件,并根据预设的安装包,在各个服务器中所含有的模块组件中挑选出与每个模块包一一对应的模块组件,作为各个服务器需要进行升级的各个模块组件,并标注各个模块组件所属服务器的ip信息和服务器状态,从而生成任务列表。
54.预设的安装包由管理员上传,预设的安装包经过解压后,才能对各个服务器所属的配置文件挑选出与每个模块包一一对应的模块组件。
55.其中,任务列表包含了各个服务器中需要进行升级的各个模块组件及其对应版本号,和各个模块组件所属服务器的ip信息和服务器状态;服务器状态包括,但不限于在线或离线状态、cpu、内存和网卡流量等。
56.在具体实现过程中,管理员可通过手动添加任意模块包至安装包中,也可通过对安装包中的模块包进行筛选与剔除,修正此次所要升级的模块组件。
57.步骤s103:基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装。
58.进一步地,基于任务列表,分别将各个模块组件所对应的模块包同时发送至模块组件相对应的服务器中,以使接收到模块包的服务器同步检测待升级模块组件是否处于业务运行状态;若所述待升级模块组件处于业务运行状态,则让模块包进入等待状态;若模块包等待超时,则待升级模块组件升级失败,反馈至管理员该模块组件所属的服务器升级失败;若模块包等待未超时,则待升级模块组件执行安装;若所述待升级模块组件不处于业务运行状态,则记录该待升级模块组件;对记录的所有不处于业务运行状态的待升级模块组件同时执行安装。
59.步骤s104:同时监控各个服务器的安装流程并反馈至管理员各个服务器升级情况。
60.进一步地,同时对各个服务器进行监控需要进行升级安装的模块组件是否升级成功;若模块组件升级失败,则反馈至管理员该模块组件所属的服务器升级失败;若模块组件升级成功,则反馈至管理员所有升级成功的模块组件以及模块组件所属的服务器。
61.在具体实施过程中,对升级失败的模块组件,管理员可手动进行重新安装,或是执
行版本回退;当所有模块组件都安装成功,则反馈至管理员整个升级流程结束。
62.请参阅图2,示出了本发明实施例的一种模块化的服务器升级方法实施例的设计方案框图。
63.服务器集群206含有多个服务器,服务器之间通信都是基于linux系统,每个服务器都与连接代理单元205连接,当服务器集群启动后,所有的服务器都会上报信息至连接代理单元205中,该上报信息的过程是实时上报的,在服务器集群启动后一直运行;上报信息包括各个服务器的ip信息、运行于各个服务器中的所有模块组件和服务器状态;服务器状态包括,但不限于在线或离线、cpu、内存、网卡流量等。
64.连接代理单元205通过收集到服务器的上报信息同步上报至更新控制单元201,随后将所有的信息备份在服务器集群信息单元中。同时,更新控制单元201也将上报信息发送至模块组件统计单元202,由模块组件统计单元统计当前各个服务器中所运行的所有模块组件,并发送回更新控制单元201,依据各个模块组件所属的服务器进行分类,并添加所属的服务器的ip地址和模块运行状态,生成配置文件。
65.配置文件还包括默认的端口号,包含所有服务器的信息、ip和用户密码。
66.以上服务器集群的信息上报过程不管是否进行服务器升级操作,服务器集群启动后,都在实时进行。
67.当服务器集群需要进行升级更新时,管理员通过网页前端200上传服务器升级的安装包,该安装包压缩了各个模块组件升级所需要的且对应的模块包,可直接在服务器的模块组件上直接进行安装操作。管理员可手动选择,什么时候开始升级,以及升级哪个服务器或模块组件。同时,管理员也可通过网页前端实时了解到更新控制单元201生成的配置文件。
68.管理员上传安装包后,更新控制单元201首先对安装包进行解压得到各个模块包,解压后会通知任务列表单元203依据管理员上传安装包该时刻的配置文件以及各个模块包,筛选出能与各个模块包一一对应的配置文件中的模块组件,生成任务列表,返回至更新控制单元201;其中,任务列表包含了各个服务器中需要进行升级的各个模块组件及其对应版本号,和各个模块组件所属服务器的ip信息和服务器状态。此处的任务列表可由管理员通过网页前端200进行人为干预与修改。
69.更新控制单元201只要是利用linux系统里的scp命令实现各个模块包上传至所属的服务器中。远程指令执行用于执行linux基础命令,可以执行远程服务器命令执行、任务执行等操作。
70.更新控制单元201依据该任务列表,开始复制并发送模块包经过连接代理单元205到各个模块包所对应模块组件的服务器中,并依据更新控制单元201检测配置文件所对应当前各个服务器中各个模块组件运行的状态。
71.请参阅图3,对于模块组件处于业务运行状态的服务器,模块包先进入等待状态;若等待超时,则模块组件升级失败,由服务器反馈升级失败至更新控制单元201,再发送至网页前端200;若等待不超时,且模块包执行安装升级成功,则由服务器反馈升级成功的模块组件及其版本号和服务器信息至更新控制单元201,再发送至网页前端200。
72.对于模块组件处于无业务运行状态的服务器,则更新控制单元201马上发送执行模块包安装的指令。更新控制单元201发送执行安装指令至各个服务器后,从而使各个模块
包在其所在的服务器中对对应的模块组件同时执行安装,实现服务器之间的并行安装。
73.更新控制单元201依据服务器集群实时上报信息,来监控各个服务器的安装流程。若服务器中的模块组件安装成功,则由服务器反馈升级成功的模块组件及其版本号和服务器信息至更新控制单元201,再发送至网页前端200;若服务器中的模块组件安装失败,由服务器反馈升级失败至更新控制单元201,再发送至网页前端200。
74.对于音频通话服务协议,需要进行升级的各个服务器中各个模块组件需要等当前的业务运行完毕之后,再进行模块包的安装,更新控制单元只需要监控等待服务器的升级完成并进行反馈。
75.如图4所示,本实施例还提供一种音视频会议集群系统的服务器升级流程图,包括以下步骤s401至s413,各步骤具体如下:
76.步骤s401:服务器集群上报信息至连接代理单元。
77.步骤s402:连接代理单元将服务器集群上报信息上传至更新控制单元。
78.步骤s403:更新控制单元将服务器集群上报信息上传至模块组件统计单元,并生成配置文件;其中,记录了各个服务器中的ip信息、模块组件和服务器状态。
79.步骤s404:实时进行服务器集群上报信息的记录。
80.步骤s405:管理员通过网页前端上传安装包至更新控制单元。
81.步骤s406:更新控制单元调取模块组件统计单元中记录的各个服务器所运行的模块组件。
82.步骤s407:更新模块组件通知任务列表单元依据各个服务器所运行的模块组件和安装包所解压的模块包来生成任务列表;其中,任务列表包含了各个服务器中需要进行升级的各个模块组件及其对应版本号,和各个模块组件所属服务器的ip信息和服务器状态。
83.步骤s408:任务列表单元返回可执行的任务列表至更新控制单元。
84.步骤s409:更新控制单元依据任务列表上传模块包至相应的服务器中,并下达安装指令。
85.步骤s410:服务器集群执行安装,同时此处模块组件处于任务运行状态时,则进入等待状态;若等待不超时,则等待结束后执行安装;若等待超时,则直接反馈该模块组件升级失败至网页前端。
86.步骤s411:更新控制单元对所需升级的各个模块组件进行安装流程的监控。
87.步骤s412:完成升级的服务器以及升级失败的服务器反馈升级的结果至更新控制单元。
88.步骤s413:更新控制单元反馈各个所需进行升级的服务器升级结果至网页前端,则该实施例的模块化的服务器升级结束,完成了本实施例的音视频会议集群系统的服务器升级。
89.同时,请参考图5,示出了本发明一种模块化的服务器升级装置实施例的结构框图,具体可以包括如下单元。
90.配置文件单元501,用于根据服务器集群上报的信息,生成各个服务器所属的配置文件。
91.任务列表单元502,用于根据各个服务器所属的配置文件以及预设的安装包,分析并获取各个服务器需要进行升级的各个模块组件,生成任务列表;所述预设的安装包包括
多个模块包,且每个模块包与需进行升级的每个模块组件一一对应。
92.安装执行单元503,用于基于任务列表,分别将各个模块组件所对应的模块包同时发送至相应的服务器中,以使各所述服务器对各自的待升级模块组件进行同步检测,对检测不处于业务运行状态的所有待升级模块组件同时执行安装。
93.监控反馈单元504,用于同时监控各个服务器的安装流程并反馈至管理员各个服务器升级情况。
94.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
95.本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合硬件和软件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
96.本发明实施例还提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;处理器,执行所述存储器中存储的指令以实现本发明所提供的一种模块化的服务器升级方法。本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理器或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行指令产生用于实现在流程图一个流程或多个流程/或方框图、一个方框或多个方框中指定的功能的装置。
97.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以本发明所提供的一种模块化的服务器升级方法。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储器在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/方框图一个方框或多个方框中指定的功能。
98.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用以实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
99.实施本发明实施例,具有如下效果:
100.本发明实施例通过提供一种模块化的服务器升级方法,通过对需进行升级的服务器中各个模块组件所属的模块包执行安装,使得服务器不需要对整个安装包进行解压后再筛选自身服务器所需得模块包,同时,各个模块组件能同时接收到模块包后,处于无业务执行状态的模块组件能同时马上执行安装,实现了服务器之间的并行安装,减少了服务器升级的时间,对于处于业务执行状态的模块组件则进行等待和延时安装,使得整个服务器安装升级的流程更加流畅。
101.以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,
在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
转载请注明原文地址:https://win.8miu.com/read-950025.html

最新回复(0)