《软件升级系统及方法.pdf》由会员分享,可在线阅读,更多相关《软件升级系统及方法.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102811136 A (43)申请公布日 2012.12.05 CN 102811136 A *CN102811136A* (21)申请号 201110146578.4 (22)申请日 2011.06.01 H04L 12/24(2006.01) H04L 29/08(2006.01) (71)申请人 南京中兴新软件有限责任公司 地址 210012 江苏省南京市雨花台区紫荆花 路 68 号 (72)发明人 张纪伟 沈蓓洁 (74)专利代理机构 北京康信知识产权代理有限 责任公司 11240 代理人 余刚 梁丽超 (54) 发明名称 软件升级系统及方法 (57) 摘要。
2、 本发明公开了一种软件升级系统及方法, 上 述系统包括 : 设备管理器、 设备软件版本服务器、 云计算设备, 其中, 设备管理器, 用于管理云计算 设备, 并为设备软件版本服务器提供云计算设备 的设备全量信息 ; 设备软件版本服务器, 用于根 据设备管理器提供的云计算设备的设备全量信息 将云计算设备划分为预定数量个批次, 依次驱动 云计算设备进行软件升级 ; 云计算设备, 用于在 设备软件版本服务器的驱动下, 完成本设备的软 件升级。 通过本发明提供的技术方案, 解决了现有 软件升级方式无法满足云计算系统软件升级需求 的问题, 进而达到了使软件升级不会影响整个云 计算系统的计算能力和业务运行的。
3、效果。 (51)Int.Cl. 权利要求书 3 页 说明书 9 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 9 页 附图 3 页 1/3 页 2 1. 一种软件升级系统, 其特征在于, 所述软件升级系统包括 : 设备管理器、 设备软件版 本服务器、 云计算设备, 其中, 所述设备管理器, 用于管理所述云计算设备, 并为所述设备软件版本服务器提供所述 云计算设备的设备全量信息 ; 所述设备软件版本服务器, 用于根据所述设备管理器提供的所述云计算设备的设备 全量信息将所述云计算设备划分为预定数量个批次, 依次驱动所述云计算设备进行软件升。
4、 级 ; 所述云计算设备, 用于在所述设备软件版本服务器的驱动下, 完成本设备的软件升级。 2. 根据权利要求 1 所述的系统, 其特征在于, 所述设备软件版本服务器包括 : 信息请求模块, 用于在所述设备软件版本服务器启动后, 向所述设备管理器发起设备 全量信息请求, 并接收所述设备管理器反馈的所述云计算设备的设备全量信息 ; 批次划分模块, 用于根据所述云计算设备的设备全量信息将所述云计算设备划分为预 定数量个批次 ; 状态更改模块, 用于向所述设备管理器发送版本升级预约消息, 驱动所述设备管理器 将当前升级批次中的云计算设备设置为版本升级状态 ; 更新发起模块, 用于向所述当前升级批次中。
5、的云计算设备发起强制软件升级请求, 其 中, 所述升级请求中包括以下至少之一的信息 : 所述设备软件版本服务器的 IP 地址、 FTP 端 口号、 FTP 用户名及密码、 版本文件位置、 版本文件个数、 版本文件名、 版本说明文件、 批次 号 ; 结果收集模块, 用于接收所述当前升级批次中的云计算设备发送的升级完成消息或升 级失败消息, 当接收到所述当前升级批次中所有云计算设备发送的升级完成消息或升级失 败消息后, 向所述设备管理器发送升级状态更改消息, 驱动所述设备管理器将当前升级批 次中升级成功的云计算设备设置为升级成功、 空闲可用状态, 并触发所述状态更改模块、 所 述更新发起模块开始下。
6、一批次的软件升级。 3. 根据权利要求 2 所述的系统, 其特征在于, 所述设备管理器包括 : 注册响应模块, 用于响应云计算设备的注册请求, 将该云计算设备纳入管理, 其中, 所 述注册请求中包括以下至少之一的信息 : 该云计算设备的种类、 机器名、 IP 地址、 端口号、 操作系统类型 ; 心跳发送模块, 用于向处于所述设备管理器管理下的云计算设备发送心跳同步消息, 并接收所述心跳同步消息的响应消息 ; 信息提供模块, 用于响应所述设备软件版本服务器发起的设备全量信息请求向所述设 备软件版本服务器发送所述云计算设备的设备全量信息 ; 主动提供模块, 用于在所述设备全量信息发生改变时, 主动。
7、向所述设备软件版本服务 器同步改变后的所述设备全量信息 ; 状态改变模块, 用于根据所述设备软件版本服务器发送的版本升级预约消息将对应的 云计算设备设置为版本升级状态, 根据所述设备软件版本服务器发送的升级状态更改消息 将对应的云计算设备设置为升级成功、 空闲可用状态 ; 任务分配模块, 用于向处于升级成功、 空闲可用状态的云计算设备分配计算任务, 不向 处于版本升级预约状态的云计算设备分配计算任务。 权 利 要 求 书 CN 102811136 A 2 2/3 页 3 4. 根据权利要求 3 所述的系统, 其特征在于, 所述云计算设备包括 : 升级判断模块, 用于根据所述设备软件版本服务器发。
8、起的强制软件升级请求, 判断本 设备是否需要进行软件升级 ; 软件下载模块, 用于在本设备需要进行软件升级时, 从所述设备软件版本服务器上下 载新的软件版本文件 ; 升级实施模块, 用于组成并调用升级脚本, 使用所述新的软件版本文件更换本设备当 前的软件版本文件, 并重启软件 ; 结果反馈模块, 用于在本设备不需要进行软件升级或软件升级成功后, 向所述软件版 本服务器发送升级完成消息, 在软件升级失败后, 向所述软件版本服务器发送升级失败消 息。 5.根据权利要求1至4任一项所述的系统, 其特征在于, 所述设备管理器由双机主备构 成。 6. 一种软件升级方法, 其特征在于, 包括 : 设备管理。
9、器为设备软件版本服务器提供云计算设备的设备全量信息 ; 所述设备软件版本服务器根据所述设备管理器提供的所述云计算设备的设备全量信 息将所述云计算设备划分为预定数量个批次, 依次驱动所述云计算设备进行软件升级 ; 所述云计算设备在所述设备软件版本服务器的驱动下, 完成本设备的软件升级。 7. 根据权利要求 6 所述的方法, 其特征在于, 设备管理器为设备软件版本服务器提供 云计算设备的设备全量信息包括 : 所述设备管理器响应云计算设备的注册请求, 将该云计算设备纳入管理, 其中, 所述注 册请求中包括以下至少之一的信息 : 该云计算设备的种类、 机器名、 IP 地址、 端口号、 操作 系统类型 。
10、; 所述设备管理器向处于所述设备管理器管理下的云计算设备发送心跳同步消息, 并接 收所述心跳同步消息的响应消息 ; 在所述设备软件版本服务器启动后, 所述设备软件版本服务器向所述设备管理器发起 设备全量信息请求 ; 所述设备管理器响应于所述设备软件版本服务器发起的设备全量信息请求向所述设 备软件版本服务器发送所述云计算设备的设备全量信息 ; 所述设备管理器在所述设备全量信息发生改变时, 主动向所述设备软件版本服务器同 步改变后的所述设备全量信息。 8. 根据权利要求 7 所述的方法, 其特征在于, 所述设备软件版本服务器根据所述云计 算设备的设备全量信息将所述云计算设备划分为预定数量个批次, 。
11、依次驱动所述云计算设 备进行软件升级包括 : 所述设备软件版本服务器根据所述云计算设备的设备全量信息将所述云计算设备划 分为预定数量个批次 ; 所述设备软件版本服务器向所述设备管理器发送版本升级预约消息 ; 所述设备管理器根据所述设备软件版本服务器发送的版本升级预约消息将当前升级 批次中的云计算设备设置为版本升级状态, 不再向处于版本升级预约状态的云计算设备分 配计算任务 ; 权 利 要 求 书 CN 102811136 A 3 3/3 页 4 所述设备软件版本服务器向所述当前升级批次中的云计算设备发起强制软件升级请 求, 其中, 所述升级请求中包括以下至少之一的信息 : 所述设备软件版本服务。
12、器的 IP 地址、 FTP 端口号、 FTP 用户名及密码、 版本文件位置、 版本文件个数、 版本文件名、 版本说明文件、 批次号 ; 所述设备软件版本服务器接收所述当前升级批次中的云计算设备发送的升级完成消 息或升级失败消息, 当接收到所述当前升级批次中所有云计算设备发送的升级完成消息 或升级失败消息后, 向所述设备管理器发送升级状态更改消息, 并开始下一批次的软件升 级 ; 所述设备管理器根据所述设备软件版本服务器发送的升级状态更改消息将所述当前 升级批次中升级成功的云计算设备设置为升级成功、 空闲可用状态, 开始向处于升级成功、 空闲可用状态的云计算设备分配计算任务。 9. 根据权利要求。
13、 8 所述的方法, 其特征在于, 所述云计算设备在所述设备软件版本服 务器的驱动下, 完成本设备的软件升级包括 : 所述云计算设备根据所述设备软件版本服务器发起的强制软件升级请求, 判断本设备 是否需要进行软件升级 ; 在本设备需要进行软件升级时, 所述云计算设备从所述设备软件版本服务器上下载新 的软件版本文件 ; 所述云计算设备组成并调用升级脚本, 使用所述新的软件版本文件更换本设备当前的 软件版本文件, 并重启软件 ; 所述云计算设备在本设备不需要进行软件升级或软件升级成功后, 向所述软件版本服 务器发送升级完成消息, 在软件升级失败后, 向所述软件版本服务器发送升级失败消息。 10. 根。
14、据权利要求 6 至 9 任一项所述的方法, 其特征在于, 所述设备管理器由双机主备 构成。 权 利 要 求 书 CN 102811136 A 4 1/9 页 5 软件升级系统及方法 技术领域 0001 本发明涉及通信领域, 具体而言, 涉及一种软件升级系统及方法。 背景技术 0002 目前, 云计算产品已经在业务产品领域逐步应用了, 云计算的本质就是由众多 设备协同组织工作, 共同完成复杂庞大计算任务的一个分布式计算系统。云计算系统中 的设备一般是未定数目的, 而且是根据业务量大小随时增减变化的。目前传统的软件自 动升级方式, 一般是搭建软件版本服务器, 各终端设备中软件版本管理程序定时或开机。
15、 时主动向软件版本服务器查询服务器上最新软件版本信息, 当服务器上的软件版本有更 新, 则设备中的软件版本管理程序通过 FTP(File Transfer Protocol, 文件传输协议 ) 或 HTTP(Hypertext Transfer Protocol, 超文本传输协议 ) 方式从软件版本服务器上下载软 件, 下载完毕后, 自动更新当前运行中软件或者将运行中软件强制退出, 提示用户手动安装 新版本, 完成软件版本升级。在业务产品的云计算系统中, 系统中的设备数目庞大, 并且设 备数目经常在变化, 每个设备都在从事复杂运算中的一个子计算任务, 正在运行中的业务 和计算都很关键, 不可能。
16、中断业务运行或要求用户手动参与, 常用的软件自动升级方式已 无法适应。 发明内容 0003 本发明的主要目的在于提供一种软件升级系统及方法, 以解决上述问题。 0004 根据本发明的一个方面, 提供了一种软件升级系统, 包括 : 设备管理器、 设备软件 版本服务器、 云计算设备, 其中, 设备管理器, 用于管理云计算设备, 并为设备软件版本服务 器提供云计算设备的设备全量信息 ; 设备软件版本服务器, 用于根据设备管理器提供的云 计算设备的设备全量信息将云计算设备划分为预定数量个批次, 依次驱动云计算设备进行 软件升级 ; 云计算设备, 用于在设备软件版本服务器的驱动下, 完成本设备的软件升级。
17、。 0005 根据本发明的另一方面, 提供了一种软件升级方法, 包括 : 设备管理器为设备软件 版本服务器提供云计算设备的设备全量信息 ; 设备软件版本服务器根据设备管理器提供的 云计算设备的设备全量信息将云计算设备划分为预定数量个批次, 依次驱动云计算设备进 行软件升级 ; 云计算设备在设备软件版本服务器的驱动下, 完成本设备的软件升级。 0006 通过本发明, 采用由设备软件版本服务器根据设备管理器提供的云计算设备的设 备全量信息对云计算设备进行批次划分, 依次对云计算设备进行软件升级的方案, 解决了 现有软件升级方式无法满足云计算系统软件升级需求的问题, 进而达到了使软件升级不会 影响整。
18、个云计算系统的计算能力和业务运行的效果。 附图说明 0007 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。在附图中 : 说 明 书 CN 102811136 A 5 2/9 页 6 0008 图 1 是根据本发明实施例的软件升级系统的结构框图 ; 0009 图 2 是根据本发明优选实施例的软件升级系统的结构框图 ; 0010 图 3 是根据本发明实例的软件升级系统进行云计算系统软件升级的流程示意图 ; 0011 图 4 是根据本发明实施例的软件升级方法的流程图。 具体实施方式 0012 下文中。
19、将参考附图并结合实施例来详细说明本发明。需要说明的是, 在不冲突的 情况下, 本申请中的实施例及实施例中的特征可以相互组合。 0013 图 1 是根据本发明实施例的软件升级系统的结构框图。如图 1 所示, 根据本发明 实施例的软件升级系统包括 : 设备管理器 ( 设备 Master)12、 设备软件版本服务器 14、 云计 算设备 16, 其中, 0014 设备管理器12, 连接至设备软件版本服务器14及各云计算设备16, 用于管理云计 算设备 16, 并为设备软件版本服务器 14 提供云计算设备 16 的设备全量信息 ; 0015 设备软件版本服务器14, 连接至设备管理器12及各云计算设备。
20、16, 用于根据设备 管理器 12 提供的云计算设备 16 的设备全量信息将云计算设备 16 划分为预定数量个批次, 依次驱动云计算设备 16 进行软件升级 ; 0016 云计算设备16, 连接至设备管理器12及设备软件版本服务器14, 用于在设备软件 版本服务器 14 的驱动下, 完成本设备的软件升级。 0017 上述软件升级系统在进行软件升级时, 首先会获取软件升级开始时系统中所有云 计算设备 16 的设备全量信息, 准确确定本次软件升级面向的设备, 防止了设备数量的经常 性变动对软件升级的影响 ; 其次, 在对云计算设备 16 进行软件升级时并不是同时进行的, 而是有次序分批的进行, 设。
21、备软件版本服务器 14 会根据云计算设备 16 的设备全量信息将 云计算设备16划分为若干个批次, 然后依次的对各个批次中的云计算设备16进行升级, 从 而不会影响到整个云计算系统的计算能力和当前承载的业务, 满足了云计算系统中软件升 级的特殊要求。在具体实施过程中, 批次的划分可以根据不同的情况确定。 0018 优选地, 如图 2 所示, 设备软件版本服务器 14 可以进一步包括 : 0019 信息请求模块140, 连接至设备管理器12, 用于在设备软件版本服务器14启动后, 向设备管理器 12 发起设备全量信息请求, 并接收设备管理器 12 反馈的云计算设备 16 的设 备全量信息 ; 0。
22、020 批次划分模块142, 连接至信息请求模块140, 用于根据云计算设备16的设备全量 信息将云计算设备 16 划分为预定数量个批次 ; 0021 状态更改模块144, 连接至批次划分模块142及设备管理器12, 用于向设备管理器 12 发送版本升级预约消息, 驱动设备管理器 12 将当前升级批次中的云计算设备 16 设置为 版本升级状态 ; 0022 更新发起模块146, 连接至状态更改模块144及各云计算设备16, 用于向当前升级 批次中的云计算设备 16 发起强制软件升级请求, 其中, 升级请求中可以包括以下至少之一 的信息 : 设备软件版本服务器14的IP地址、 FTP端口号、 F。
23、TP用户名及密码、 版本文件位置、 版本文件个数、 版本文件名、 版本说明文件、 批次号 ; 0023 结果收集模块 148, 连接至各云计算设备 16 及设备管理器 12, 用于接收当前升级 说 明 书 CN 102811136 A 6 3/9 页 7 批次中的云计算设备 16 发送的升级完成消息或升级失败消息, 当接收到当前升级批次中 所有云计算设备 16 发送的升级完成消息或升级失败消息后, 向设备管理器 12 发送升级状 态更改消息, 驱动设备管理器 12 将当前升级批次中升级成功的云计算设备 16 设置为升级 成功、 空闲可用状态, 并触发状态更改模块 144、 更新发起模块 146。
24、 开始下一批次的软件升 级。 0024 设备软件版本服务器 14 是云计算系统中的软件版本服务器, 存储了设备软件的 不同版本文件和版本说明文件, 在软件更新过程中所起到核心作用。 在上述系统中, 设备软 件版本服务器 14 启动后, 会主动向设备管理器 12 发起链接, 链接建立成功后, 向设备管理 器 12 发起设备全量信息请求 UDP(User Datagram Protocol, 用户数据报协议 ) 消息, 设备 管理器 12 将自己管理的设备全量信息反馈给设备软件版本服务器 14, 设备软件版本服务 器 14 将设备全量信息保存在本机内存中。当设备软件版本服务器 14 上放入最新设备。
25、软件 版本文件后, 设备软件版本服务器 14 分会分若干个批次完成云计算系统中所有云计算设 备 16 的软件升级工作。设备软件版本服务器 14 先选择出第一批云计算设备 16, 发送版本 升级预约消息给设备服务器 12, 设备服务器 12 收到此消息后, 将第一批云计算设备 16 的 状态置为版本升级状态。随后, 设备软件版本服务器 14 会向此批设备中每台云计算设备 16 发起强制软件升级请求, 升级请求中含有以下至少之一的软件版本升级需要的相关信息 ( 根据具体情况进行选择 ) : 设备软件版本服务器 14 的 IP 地址, FTP 端口号, FTP 用户名、 密码、 版本文件位置, 版本。
26、文件个数、 版本文件名、 版本说明文件、 批次号等。云计算设备 16 软件版本升级完毕后, 升级成功的会向设备软件版本服务器 14 返回升级完成消息, 升级失 败的会向设备软件版本服务器 14 返回升级失败消息, 设备软件版本服务器 14 收到这些消 息后, 会更新设备软件版本服务器 14 中此设备相应的状态, 待此批次所有设备都返回升级 结果后, 设备软件版本服务器 14 会向设备服务器 12 发起升级状态更改 UDP 消息, 驱动设备 服务器 12 将系统中此批次设备中成功升级设备的状态更改为升级成功、 空闲可用状态, 同 时触发下一批设备的软件升级流程。 此批次中升级失败的设备由于其状态。
27、还是版本升级状 态, 所以会随着下一批次的升级过程再次进行升级。 0025 优选地, 如图 2 所示, 设备管理器 12 可以进一步包括 : 0026 注册响应模块 1202, 连接至云计算设备 16, 用于响应云计算设备 16 的注册请求, 将该云计算设备 16 纳入管理, 其中, 注册请求中可以包括以下至少之一的信息 : 该云计算 设备 16 的种类、 机器名、 IP 地址、 端口号、 操作系统类型 ; 0027 心跳发送模块1204, 连接至各云计算设备16, 用于向处于设备管理器12管理下的 云计算设备 16 发送心跳同步消息, 并接收心跳同步消息的响应消息 ; 0028 信息提供模块。
28、 1206, 连接至设备软件版本服务器 14, 用于响应设备软件版本服务 器 14 发起的设备全量信息请求向设备软件版本服务器 14 发送云计算设备 16 的设备全量 信息 ; 0029 主动提供模块 1208, 连接至设备软件版本服务器 14, 用于在设备全量信息发生改 变时, 主动向设备软件版本服务器 14 同步改变后的设备全量信息 ; 0030 状态改变模块 1210, 连接至设备软件版本服务器 14, 用于根据设备软件版本服务 器 14 发送的版本升级预约消息将对应的云计算设备 16 设置为版本升级状态, 根据设备软 件版本服务器 14 发送的升级状态更改消息将对应的云计算设备 16 。
29、设置为升级成功、 空闲 说 明 书 CN 102811136 A 7 4/9 页 8 可用状态 ; 0031 任务分配模块 1212, 连接至各云计算设备 16, 用于向处于升级成功、 空闲可用状 态的云计算设备 16 分配计算任务, 不向处于版本升级预约状态的云计算设备 16 分配计算 任务。 0032 设备管理器 12 主要负责云计算系统中所有设备的管理和监控工作, 在软件升级 过程中起辅助作用。在上述系统中, 当新增一台云计算设备 16 到云计算系统中时, 此设备 会主动向设备管理器 12 发起连接, 向设备管理器 12 注册本设备的种类、 机器名、 IP 地址、 端口号、 操作系统类型。
30、等信息, 设备管理器 12 收到此设备的信息后, 将此设备纳入管理。在 运行中时, 设备管理器 12 和其管理的各个设备, 都定时向对方发送心跳消息, 对方收到心 跳消息后, 返回响应消息。通过定时心跳, 可以判断出设备是否运行正常。因此, 设备管理 器12可以实时准确的确定当前处于其管理下的云计算设备16。 设备管理器12除了响应设 备软件版本服务器 14 的设备全量信息请求给其发送设备全量信息, 在设备全量信息发生 改变时还会主动向设备软件版本服务器 14 同步设备全量信息, 始终保持设备软件版本服 务器 14 中的设备全量信息为最新、 最准确的, 从而在软件升级发起时准确地确认升级所面 。
31、向的设备。在软件升级过程中, 设备软件版本服务器 14 对某个批次的设备进行升级时, 会 发送版本升级预约消息给设备管理器 12, 设备管理器 12 收到此消息后, 会将该批次设备的 状态置为版本升级状态, 如果设备当前为空闲状态, 则直接置为版本升级状态, 如果设备处 于忙碌状态, 则在当前计算任务完成后, 将该设备状态及时更改为版本升级状态, 同时, 设 备管理器 12 不会再向版本升级状态中设备安排分配计算任务了。新计算任务来临时, 设备 管理器 12 将仅向已升级成功的设备安排计算任务, 从而避免了不同软件版本设备软件功 能差异导致的最终计算结果错误。设备软件版本服务器 14 随后将发。
32、起下一批设备软件升 级流程, 继续完成剩余设备的软件版本升级。 0033 优选地, 如图 2 所示, 云计算设备 16 可以进一步包括 : 0034 升级判断模块 162, 连接至设备软件版本服务器 14, 用于根据设备软件版本服务 器 14 发起的强制软件升级请求, 判断本设备是否需要进行软件升级 ; 0035 软件下载模块164, 连接至升级判断模块162及设备软件版本服务器14, 用于在本 设备需要进行软件升级时, 从设备软件版本服务器 14 上下载新的软件版本文件 ; 0036 升级实施模块 166, 连接至软件下载模块 164, 用于组成并调用升级脚本, 使用所 述新的软件版本文件更。
33、换本设备当前的软件版本文件, 并重启软件 ; 0037 结果反馈模块168, 连接至升级实施模块166及设备软件版本服务器14, 用于在本 设备不需要进行软件升级或软件升级成功后, 向软件版本服务器 14 发送升级完成消息, 在 软件升级失败后, 向软件版本服务器 14 发送升级失败消息。 0038 云计算设备 16 是软件升级的主体, 在云计算系统中包括众多的云计算设备 16, 仅 从软件升级这一角度来看, 其结构都是相同的。在上述系统中, 云计算设备 16 收到设备软 件版本服务器 14 发起的强制软件升级请求后, 会核对本机软件版本是否需要升级, 如果需 要升级, 云计算设备 16 就会。
34、调用本机 FTP 下载程序, 通过 FTP 从设备软件版本服务器 14 上 下载新的软件版本文件到本机目录, 下载成功后, 云计算设备 16 中的版本升级程序会根据 版本升级信息, 组成并调用升级脚本, 完成本设备软件版本文件的新旧更换, 软件重启等升 级工作。云计算设备 16 软件版本升级完毕后, 会向设备软件版本服务器 14 返回升级完成 说 明 书 CN 102811136 A 8 5/9 页 9 消息。 0039 优选地, 设备管理器 12 是由双机主备构成的。 0040 在整个软件升级系统中, 设备管理器 12 可以由双机构成, 仅有两台机器, 其自身 的软件版本升级不采用上述的升级。
35、方式。 0041 下面结合实例及图 3 对上述优选实施进行详细说明, 本实例中将云计算设备分为 2 个批次进行升级。图 3 是根据本发明实例的软件升级系统进行云计算系统软件升级的流 程示意图, 如图 3 所示, 包括以下步骤 : 0042 步骤 S302 : 云计算系统中各设备启动后, 主动向设备 Master( 即设备管理器 ) 发 起 TCP(Transfer Control Protocol, 传输控制协议连接 ), 与设备 Master 链路连接成功 后, 向设备 Master 发起 TCP 注册消息。 0043 步骤 S304 : 设备 Master 将此设备的 IP、 端口、 机器。
36、名等注册信息保存在自己的内 存中后, 向云计算系统中设备返回注册成功的 TCP 响应消息, 此设备则纳入设备 Master 管 理。 0044 步骤 S306 : 云计算系统中设备定时与设备 Master 之间相互发起心跳同步消息, 收 到方及时返回响应消息。当云计算系统中设备发起的心跳消息未收到设备 Master 的响应 时, 云计算系统中设备认为连接链路出现问题, 主动断链后重新向设备 Master 发起链路连 接, 向设备Master注册自己的设备情况 ; 当设备Master发起的心跳消息未收到云计算系统 中设备的响应时, 设备 Master 认为此设备已经脱离管理, 从自己维护的设备信。
37、息中删除此 设备。 0045 步骤 S308 : 设备版本服务器启动后, 主动向设备 Master 发送设备全量信息获取 UDP 消息。 0046 步骤 S310 : 设备 Master 收到消息后, 将自己管理的设备全量信息返回给设备版本 升级服务器, 设备版本升级服务器将设备全量信息保存在本机中。 0047 步骤 S312 : 当设备 Master 中设备全量信息有变化时, 设备 Master 向设备版本服 务器发送设备全量信息同步 UDP 消息, 将当前最新的设备全量信息同步给设备版本服务 器, 设备版本服务器及时更新本机内设备信息。 0048 步骤 S314 : 当设备版本服务器上发现。
38、设备软件新版本后, 版本服务器选择出 N/2 个云计算设备, 作为第一批次软件升级设备, 向设备Master发送版本升级预约UDP消息, 消 息中含有这些升级设备的 IP、 请求软件升级状态、 请求时间、 批次号等字段信息。 0049 步骤 S316 : 设备 Master 收到此消息后, 查看系统中这批设备状态, 预约这批设备 的状态为版本升级状态, 如果这些设备当前为空闲状态, 则直接置为版本升级状态 ; 当这些 设备处于忙碌状态, 当前计算任务完成后, 设备 Master 将这些设备状态及时更改为版本升 级状态, 当此批所有设备状态都更改为软件升级中状态后, 设备 Master 返回给设。
39、备版本服 务器此批设备状态变更成功 UDP 消息。设备 Master 不会向升级中状态的设备分配计算任 务。 0050 步骤 S318 : 设备版本服务器向此批设备中每个设备发送强制软件升级 UDP 消息, 消息中包含设备版本服务器的 IP 地址、 FTP 端口号、 FTP 用户名、 密码、 版本文件位置、 版本 文件名称、 版本文件个数、 版本说明文件、 批次号、 请求升级时间等信息。 0051 步骤 S320 : 各设备收到设备版本服务器发来的软件强制升级 UDP 消息后, 将消息 说 明 书 CN 102811136 A 9 6/9 页 10 中的版本号与本机软件版本号比较, 如果本机软。
40、件版本号与消息中的版本号一致, 则返回 升级成功 UDP 消息 ; 如果不一致, 则返回同意升级 UDP 消息。 0052 步骤 S322 : 如果设备软件版本需要升级, 则调用本机 FTP 下载程序, 将软件服务器 上的软件版本文件 FTP 下载到本机目录下。 0053 步骤 S324 : 设备调用本机的版本升级程序, 组成、 调用升级脚本, 完成软件版本升 级工作。 0054 步骤 S326 : 设备软件升级完毕后, 设备向设备版本服务器发送升级完成 UDP 消息。 0055 步骤 S328 : 设备版本服务器收到设备升级完毕 UDP 消息, 更正本机中此设备的升 级状态为升级成功 ; 对。
41、于超过设定时间, 仍未返回升级成功的设备, 版本服务器认为此设备 升级失败, 更改此设备状态为升级失败。 0056 步骤 S330 : 待此批次所有设备都有了升级结果, 设备版本服务向设备 Master 发送 此批设备的状态更改 UDP 消息, 请求更改设备 Master 中此批设备状态, 消息中包含各设备 IP 地址, 升级状态, 批次号等字段信息。 0057 步骤 S332 : 设备 Master 收到此 UDP 消息后, 更改此批设备状态。对于软件升级 成功设备, 更改为空闲可用状态 ; 对于升级失败设备, 依旧为版本升级状态。此后, 设备 Master 将所有新计算任务向软件已升级成功。
42、的设备分配, 未升级的、 处于升级状态中的设 备将不再分配计算任务, 以避免不同软件版本设备软件功能差异导致的最终计算结果错 误。设备版本服务器将选择剩下的未升级设备和升级失败设备作为第二批设备, 重复升级 过程。第二批设备升级成功后, 版本服务器将产生软件升级报告, 对于升级失败的设备, 提 醒维护人员人工干预。 0058 图 4 是根据本发明实施例的软件升级方法的流程图。如图 4 所示, 根据本发明实 施例的软件升级方法包括 : 0059 步骤 S402, 设备管理器 ( 设备 Master) 为设备软件版本服务器提供云计算设备的 设备全量信息 ; 0060 步骤 S404, 设备软件版本。
43、服务器根据设备管理器提供的云计算设备的设备全量信 息将云计算设备划分为预定数量个批次, 依次驱动云计算设备进行软件升级 ; 0061 步骤 S406, 云计算设备在设备软件版本服务器的驱动下, 完成本设备的软件升级。 0062 在上述软件升级方法中, 设备软件版本服务器在进行升级时首先会通过设备管理 器获取软件升级开始时系统中所有云计算设备的设备全量信息, 准确确定本次软件升级面 向的设备, 以防止设备数量的经常性变动对软件升级的影响 ; 其次, 在对云计算设备进行软 件升级时并不是同时进行的, 而是有次序分批的进行, 设备软件版本服务器会根据云计算 设备的设备全量信息将云计算设备划分为若干个。
44、批次, 然后依次的对各个批次中的云计算 设备进行升级, 从而不会影响到整个云计算系统的计算能力和当前承载的业务, 满足了云 计算系统中软件升级的特殊要求。在具体实施过程中, 批次的划分可以根据不同的情况确 定。 0063 优选地, 步骤 S402 可以进一步包括以下处理 : 0064 (1) 设备管理器响应云计算设备的注册请求, 将该云计算设备纳入管理, 其中, 注 册请求中可以包括以下至少之一的信息 : 该云计算设备的种类、 机器名、 IP 地址、 端口号、 操作系统类型 ; 说 明 书 CN 102811136 A 10 7/9 页 11 0065 (2) 设备管理器向处于其管理下的云计算。
45、设备发送心跳同步消息, 并接收该心跳 同步消息的响应消息 ; 0066 (3) 在设备软件版本服务器启动后, 设备软件版本服务器向设备管理器发起设备 全量信息请求 ; 0067 (4) 设备管理器响应于设备软件版本服务器发起的设备全量信息请求向设备软件 版本服务器发送云计算设备的设备全量信息 ; 0068 (5) 设备管理器在设备全量信息发生改变时, 主动向设备软件版本服务器同步改 变后的设备全量信息。 0069 上述操作保证了设备管理器可以实时准确地确定其管理下的云计算设备, 从而进 一步保证了设备软件版本服务器中的设备全量信息是最新、 最准确的, 使得设备软件版本 服务器可以准确的确定软件。
46、升级面向的设备。 0070 优选地, 步骤 S404 可以进一步包括以下处理 : 0071 (1) 设备软件版本服务器根据云计算设备的设备全量信息将云计算设备划分为预 定数量个批次 ; 0072 (2) 设备软件版本服务器向设备管理器发送版本升级预约消息 ; 0073 (3) 设备管理器根据设备软件版本服务器发送的版本升级预约消息将当前升级批 次中的云计算设备设置为版本升级状态, 不再向处于版本升级预约状态的云计算设备分配 计算任务 ; 0074 (4) 设备软件版本服务器向当前升级批次中的云计算设备发起强制软件升级请 求, 其中, 升级请求中可以包括以下至少之一的信息 : 设备软件版本服务器。
47、的 IP 地址、 FTP 端口号、 FTP 用户名及密码、 版本文件位置、 版本文件个数、 版本文件名、 版本说明文件、 批次 号 ; 0075 (5) 设备软件版本服务器接收当前升级批次中的云计算设备发送的升级完成消息 或升级失败消息, 当接收到当前升级批次中所有云计算设备发送的升级完成消息或升级失 败消息后, 向设备管理器发送升级状态更改消息, 并开始下一批次的软件升级 ; 0076 (6) 设备管理器根据设备软件版本服务器发送的升级状态更改消息将当前升级批 次中升级成功的云计算设备设置为升级成功、 空闲可用状态, 开始向处于升级成功、 空闲可 用状态的云计算设备分配计算任务。 0077 。
48、上述处理通过批次划分、 状态区分等手段, 既保证了各设备可以顺利的进行软件 升级, 又不影响整个云计算系统的计算能力和当前承载的业务。 0078 优选地, 步骤 S406 可以进一步包括以下处理 : 0079 (1) 云计算设备根据设备软件版本服务器发起的强制软件升级请求, 判断本设备 是否需要进行软件升级 ; 0080 (2) 在本设备需要进行软件升级时, 云计算设备从设备软件版本服务器上下载新 的软件版本文件 ; 0081 (3) 云计算设备组成并调用升级脚本, 使用新的软件版本文件更换本设备当前的 软件版本文件, 并重启软件 ; 0082 (4) 云计算设备在本设备不需要进行软件升级或软。
49、件升级成功后, 向软件版本服 务器发送升级完成消息, 在软件升级失败后, 向软件版本服务器发送升级失败消息。 说 明 书 CN 102811136 A 11 8/9 页 12 0083 当软件升级流程进行到一个一个具体的云计算设备时, 每个云计算设备都要判断 本设备是否需要进行升级, 根据不同的判断结果来进行后续的操作, 并将最终将结果反馈 给设备软件版本服务器。 0084 优选地, 上述设备管理器由双机主备构成。双机主备构成设备管理器工作更为可 靠。 0085 下面结合实例对上述优选实施例进行详细说明。 0086 本实例中将云计算设备分为两批进行升级, 在具体实施过程中, 根据上述优选实 施在云计算系统中进行软件升级可以包括以下步骤 : 0087 步骤 1 : 云计算系统中各设备启动后向设备 Master 发起注册消息, 注册成功后此 设备纳入设备Master管理。 运行过程中, 各设备与设备Master之间定时互发心跳消息确认 两者间的。