一种软件快速自动升级系统及方法与流程

文档序号:31412004发布日期:2022-09-03 10:17阅读:98来源:国知局
一种软件快速自动升级系统及方法与流程

1.本发明涉及云计算、数据中心技术领域,具体提供一种软件快速自动升级系统及方法。


背景技术:

2.随着互联网、云计算的发展,越来越多的应用和数据跑在了计算机上,数据中心的数量越来越多,数据中心服务器规模越来越大;同时随着公有云规模的扩大,跨数据中心的业务场景也越来越多。
3.巨量的服务器和业务变更需要运维人员随时关注服务器及应用的运行状况,同时在进行应用升级时,需要运维人员手工或半自动化的进行业务的升级,升级过程复杂、易错和不易管理,容易对已运行的业务造成较大影响,在批量进行升级包传输过程中,因为并发操作、容易造成网络堵塞,对现有网络造成影响,且无法跨数据中心进行软件的升级操作。


技术实现要素:

4.本发明是针对上述现有技术的不足,提供一种设计合理,安全适用的软件快速自动升级系统
5.本发明进一步的技术任务是提供一种实用性强的软件快速自动升级方法。
6.本发明解决其技术问题所采用的技术方案是:
7.一种软件快速自动升级系统,包括总控制层和数据中心层,所述总控制层独立部署在数据中心外侧,通过专线、vpn或互联网与所述数据中心互通;
8.所述数据中心层部署在软件升级的数据中心内部,通过交换机与所有服务器进行连接。
9.进一步的,所述总控制层包括控制台、总控制器和文件存储,所述控制台用于提供用户操作界面,所述总控制器用于与所述数据中心层进行认证、传输软件升级包和汇总各数据中心层的信息;文件存储用于存储制作好的软件升级包及安装脚本。
10.进一步的,所述数据中心层为需要升级的各个数据中心,每个所述数据中心包括一个分控制器,所述分控制器用于认证、服务器健康状态检查、网络拓扑探测、下发执行软件升级包和汇总反馈升级结果。
11.一种软件快速自动升级方法,具有如下步骤:
12.s1、在控制台上输入分控制器的ip信息,进行分控制器注册;
13.s2、分控制器在完成注册后,分控制器以定时周期发起服务器健康状态检查和网络拓扑探测;
14.s3、总控制器在收到分控制器传来的数据中心网络拓扑和节点健康状态报文后,会根据最优传输算法生成数据中心内部文件传播路径表,同时将生成的文件传播路径表存入文件存储中;
15.s4、所述总控制器从文件存储中获取待升级的安装包、升级脚本和文件传播路径
表,根据所需升级软件的数据中心,向数据中心的分控制器下发安装包、升级脚本和数据中心对应的文件传播路径表;
16.s5、所述分控制器在接收到所述总控制器传输的升级包和文件传播路径表后,读取文件传播路径表中的第一批节点,并向所述第一批节点发送升级包和升级脚本;
17.s6、升级完成后,所述分控制器对所有升级节点和升级结果进行检查。
18.进一步的,在步骤s1中,总控制器根据分控制器的ip信息,向所述分控制器发出探测报文,所述探测报文包括一段经过总控制器公钥加密的n位随机字符串,所述分控制器收到报文后,使用自身的私钥进行解密,得到原始字符串,对原始字符串进行签名后,使用自身的私钥加密后返回给总控制器;
19.所述总控制器收到后通过公钥解密,与原始信息进行对比,如果与原信息相符,则将所述分控制器标记为已注册,完成所述分控制器注册步骤。
20.进一步的,在步骤s2中,所述分控制器通过icmp、arp、snmp或lldp协议探测数据中心所有网络设备和服务器的网络拓扑信息,并标记出所有健康和问题节点返回总控制器。
21.进一步的,在步骤s3中,当所述分控制器返回更新的网络拓扑或服务器健康状态信息后,总控制器会重新计算文件传播路径表,并更新进文件存储中。
22.作为优选,在步骤s3中,所述最优传输算法为:
23.从数据中心网络拓扑中,获取接入交换机和服务器的数量,分别假设所述分控制器为c,交换机s为m台,服务器p为n台,并假设每台接入交换机下都接入多台服务器;
24.当m》α时,选取前m/2台交换机下所接的第一台服务器为第一批节点,为s1p1,s2p1,s3p1…sm/2
p1,共计m/2个节点,传播路径表为c-》s1p1,c-》s2p1,c-》s3p1…
c-》s
m/2
p1;
25.剩余m/2台交换机下所接的第一台服务器为第二批节点,为s
m/2+1
p1,s
m/2+2
p1,s
m/2+3
p1…
smp1,共计m/2个节点,传播路径表为c-》s
m/2+1
p1,c-》s
m/2+2
p1,c-》s
m/2+3
p1…
c-》smp1,其余服务器为第三批节点;
26.当m《α时,所述第一、二批节点合并为第一批节点,第三批节点变为第二批。
27.进一步的,在步骤s5中,分控制器开始轮询检查每个节点接收升级包的情况,当检测到节点上升级包已传输完成后,会启动所述节点的升级脚本,进行软件的升级,同时若m》α,控制器会将第一、二批节点上的升级包,根据传播路径表发送至第三批节点;若m《α,则控制器会将第一批节点上的升级包,根据传播路径表发送至第二批节点。
28.进一步的,在步骤s6中,升级完成后,所述分控制器对所有升级节点的升级结果进行检查,对已正常完成的节点进行升级后的软件版本检查,是否符合所升级要求;
29.同时运行测试任务,确认升级后功能是否可用,最终生成一份各节点升级情况的汇总数据报文,反馈给所述总控制器,总控制器通过用控制台进行展现;
30.当用户最终确认升级结果后,所述分控制器会下发清理任务,将各服务器上的软件包及升级脚本删除。
31.本发明的一种软件快速自动升级系统及方法和现有技术相比,具有以下突出的有益效果:
32.本发明具有多数据中心同时升级管理的功能,可以降低升级过程中人为因素造成的错误,提高自动化水平,且通过最优传输算法可以大大提高升级过程中文件传输的速度,减小对网络的影响。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.附图1是一种软件快速自动升级方法的流程示意图(一);
35.附图2是一种软件快速自动升级方法的流程示意图(二)。
具体实施方式
36.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
37.下面给出一个最佳实施例:
38.本实施例中的一种软件快速自动升级系统,包括总控制层和数据中心层,所述总控制层独立部署在数据中心外侧,通过专线、vpn或互联网与所述数据中心互通;
39.数据中心层部署在软件升级的数据中心内部,通过交换机与所有服务器进行连接。
40.其中,总控制层包括控制台、总控制器和文件存储,控制台用于提供用户操作界面,所述总控制器用于与所述数据中心层进行认证、传输软件升级包和汇总各数据中心层的信息;文件存储用于存储制作好的软件升级包及安装脚本。
41.数据中心层为需要升级的各个数据中心,每个数据中心包括一个分控制器,分控制器用于认证、服务器健康状态检查、网络拓扑探测、下发执行软件升级包和汇总反馈升级结果。
42.如图1-2所示,基于上述系统,本实施例中的一种软件快速自动升级方法,具有如下步骤:
43.s1、在控制台上输入分控制器的ip信息,进行分控制器注册。总控制器根据分控制器的ip信息,向分控制器发出探测报文,报文中包含一段经过总控制器公钥加密的n位随机字符串,分控制器收到报文后,使用自身的私钥进行解密,得到原始字符串,对原始字符串进行md5签名后,再通过自身的私钥加密后返回给总控制器;总控制器收到后通过公钥解密,与原始信息进行对比,如果与原信息相符,则将该控制器标记为已注册,完成分控制器注册步骤。
44.s2、分控制器在完成注册后,分控制器以定时周期发起服务器健康状态检查和网络拓扑探测。分控制器通过icmp、arp、snmp、lldp等协议探测数据中心中所有网络设备和服务器的网络拓扑信息,并标记出所有健康和问题节点,并将此信息返回给总控制器。如数据中心内网络拓扑或服务器健康状态发生变化时,分控制器会将更新后的信息发送给总控制器。
45.s3、总控制器在收到分控制器传来的数据中心网络拓扑和节点健康状态报文后,会根据最优传输算法生成数据中心内部文件传播路径表,同时将生成的文件传播路径表存
入文件存储中。当分控制器返回更新的网络拓扑或服务器健康状态信息后,总控制器会重新计算文件传播路径表,并更新进文件存储中。
46.其中,最优传输算法描述如下:
47.当m》α时,选取前m/2台交换机下所接的第一台服务器为第一批节点,为s1p1,s2p1,s3p1…sm/2
p1,共计m/2个节点,传播路径表为c-》s1p1,c-》s2p1,c-》s3p1…
c-》s
m/2
p1;
48.剩余m/2台交换机下所接的第一台服务器为第二批节点,为s
m/2+1
p1,s
m/2+2
p1,s
m/2+3
p1…
smp1,共计m/2个节点,传播路径表为c-》s
m/2+1
p1,c-》s
m/2+2
p1,c-》s
m/2+3
p1…
c-》smp1,其余服务器为第三批节点;
49.当m《α时,所述第一、二批节点合并为第一批节点,第三批节点变为第二批。
50.在第一、二批向第三批或第一批向第二批节点传输升级包时,传输过程仅发生在同一交换机的节点之间,其传播路径表为:s1p
1-》s1p2,s1p3,s2p
1-》s2p2,s2p3…
smp1–
》smp2,smp3。
51.s4、所述总控制器从文件存储中获取待升级的安装包、升级脚本和文件传播路径表,根据所需升级软件的数据中心,向数据中心的分控制器下发安装包、升级脚本和数据中心对应的文件传播路径表。因文件的传输正常只发生一次,所以不会对控制器和数据中心之间的网络造成影响。
52.s5、所述分控制器在接收到所述总控制器传输的升级包和文件传播路径表后,读取文件传播路径表中的第一批节点,并向所述第一批节点发送升级包和升级脚本。同时分控制器开始轮询检查每个节点接收升级包的情况,当检测到节点上升级包已传输完成后,会启动该节点的升级脚本,进行软件的升级,同时若m》α,控制器会将第一、二批节点上的升级包,根据传播路径表发送至第三批节点;若m《α,则控制器会将第一批节点上的升级包,根据传播路径表发送至第二批节点。
53.s6、升级完成后,分控制器对所有升级节点和升级结果进行检查,对已正常完成的节点进行升级后的软件版本检查,是否符合所升级要求;同时运行测试任务,确认升级后功能是否可用,保证升级的可靠性。最终生成一份各节点升级情况的汇总数据报文,反馈给总控制器,总控制器通过用控制台进行展现。
54.当用户最终确认升级结果后,分控制器会下发清理任务,将各服务器上的软件包及升级脚本删除。
55.对于最优传输算法如图2所示,这里以一个数据中心中一台汇聚交换机,下联三台接入交换机,每台接入交换机接入3台服务器为例进行说明。
56.分控制器通过icmp、arp、snmp等协议探测数据中心中所有网络设备和服务器的网络拓扑,得到接入交换机共3台,服务器共9台,所以选取每台交换机的第一个接入服务器做为第一批传输节点,这里为s1p1,s2p1,s3p1,则第二批传输节点为s1p2,s1p3,s2p2,s2p3,s3p2,s3p3;如图上1所标示的箭头,分控制器只需要向第一批3个节点并发传输软件升级包,同时在第一批节点升级升级的时候,如图上的2所示的箭头,第一批节点会按s1p
1-》s1p2,s1p3,s2p
1-》s2p2,s2p3,s3p
1-》s3p2,s3p3的路径向第二批节点并发传输软件升级包;第一次传输过程并发数为接入交换机数,第二层传输过程集中在同一接入交换机内部,传输速度快,且不会对整体网络造成流量冲击。
57.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限
于上述具体的实施方式,任何符合本发明的一种软件快速自动升级系统及方法权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
58.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1