《批量升级网络设备的方法及装置.pdf》由会员分享,可在线阅读,更多相关《批量升级网络设备的方法及装置.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103327038 A (43)申请公布日 2013.09.25 CN 103327038 A *CN103327038A* (21)申请号 201210074685.5 (22)申请日 2012.03.20 H04L 29/08(2006.01) H04L 12/24(2006.01) G06F 9/445(2006.01) (71)申请人 中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人 张毅 赵宇 (74)专利代理机构 深圳市世纪恒程知识产权代 理事务所 44287 代理人 胡海国 (54) 。
2、发明名称 批量升级网络设备的方法及装置 (57) 摘要 本发明涉及一种批量升级网络设备的方法, 该方法包括步骤 : 选定拓扑图中至少一个设备作 为最后升级设备 ; 选定最后升级设备以及拓扑图 内其它设备并依次加入已遍历设备列表, 根据拓 扑图内各设备的连接关系分别生成最优升级有向 图 ; 依据最优升级有向图升级设备。本发明提供 的批量升级网络设备的装置, 利用网络服务器中 拓扑图, 遍历拓扑图生成最优有向升级图, 并利用 该最优有向升级树采用多线程并发的方法升级网 络设备, 实现更为高效地批量网络设备升级, 提高 工作效率。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 8。
3、 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图8页 (10)申请公布号 CN 103327038 A CN 103327038 A *CN103327038A* 1/2 页 2 1. 一种批量升级网络设备的方法, 其特征在于, 包括 : 选定拓扑图中至少一个设备作为最后升级设备 ; 选定所述最后升级设备以及拓扑图内其它设备并依次加入预设的已遍历设备列表, 根 据拓扑图内各设备的连接关系分别生成最优升级有向图 ; 依据所述最优升级有向图升级网络设备。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述选定拓扑图中至少一个设备作为最 后升级。
4、设备的步骤之前还包括 : 创建并初始化已遍历设备列表。 3. 根据权利要求 2 所述的方法, 其特征在于, 所述创建并初始化已遍历设备列表步骤 之前还包括 : 接受用户的选择确定升级设备的类型、 拓扑分组。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述根据拓扑图内各设备的连接关系分 别生成最优有向升级图的步骤具体包括 : 将与选定设备相连且不在所述已遍历设备列表中的设备添加至设备集合 ; 判断所述设备集合中设备的数量是否大于零, 若是, 则将所述设备集合中的设备加入 所述选定设备的前驱设备列表和所述已遍历设备列表, 将所述选定设备加入所述设备集合 中设备的后继设备列表 ; 依次选定。
5、所述设备集合中的设备递归创建所述最优有向升级图。 5. 根据权利要求 4 所述的方法, 其特征在于, 所述依据最优有向升级图升级网络设备 的步骤具体包括 : 创建用于并行执行设备升级的线程池 ; 统计出拓扑图内所有待升级设备 ; 依次遍历拓扑图内各分组的所述最优并发升级图, 将各所述最优有向升级图的叶子结 点设备放入叶子结点集合, 所述叶子结点设备是指前驱设备列表为空的设备 ; 将所述叶子结点集合中的设备放入所述线程池, 并发执行设备升级操作。 6. 根据权利要求 5 所述的方法, 其特征在于, 所述并发执行设备升级操作的步骤具体 包括 : 创建已升级设备统计变量以及同步控制锁, 初始化所述已。
6、升级统计变量为零, 执行所 述线程池内设备的升级 ; 获取所述同步控制锁, 根据设备升级结果修改对应设备状态, 并将所述已升级设备变 量加 1 ; 判定正在执行升级的设备的后继设备列表是否为空 ; 若为空, 则判断已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关闭线 程池 ; 若不为空, 则遍历所述后继设备列表获取到前驱设备已完成升级的第二设备集合, 判 断第二设备集合中设备的数量是否大于零, 若是, 依次将所述第二设备集合中的设备放入 线程池内递归完成设备升级。 7. 一种批量升级网络设备的装置, 其特征在于, 包括 : 选定模块, 用于选定拓扑图中至少一个设备作为最后升级设备。
7、 ; 权 利 要 求 书 CN 103327038 A 2 2/2 页 3 最优升级有向图生成模块, 用于选定所述最后升级设备以及拓扑图内其它设备并依次 加入预设的已遍历设备列表, 根据拓扑图内各设备的连接关系分别生成最优升级有向图 ; 升级模块, 用于依据所述最优升级有向图升级设备。 8. 根据权利要求 7 所述的装置, 其特征在于, 所述装置还包括 : 列表创建模块, 用于创建并初始化已遍历设备列表。 9. 根据权利要求 7 所述的装置, 其特征在于, 所述装置还包括 : 输入模块, 用于接受用户的选择确定升级设备的类型、 拓扑分组。 10. 根据权利要求 7 所述的装置, 其特征在于, 。
8、所述最优升级有向图生成模块还包括 : 集合生成单元, 用于将与选定设备相连且不在所述已遍历设备列表中的设备添加至设 备集合 ; 判断单元, 判断所述设备集合中设备的数量是否大于零, 若是, 将所述设备集合中的设 备加入所述选定设备的前驱设备列表和所述已遍历设备列表, 将所述选定设备加入所述设 备集合中设备的后继设备列表 ; 选定单元, 依次选定所述设备集合中的设备递归创建所述最优有向升级图。 11. 根据权利要求 10 所述的装置, 其特征在于, 所述升级模块具体包括 : 线程池创建单元, 用于创建用于并行执行设备升级的线程池 ; 统计单元, 用于统计出拓扑图内所有待升级设备 ; 叶子结点集合。
9、生成单元, 依次遍历拓扑图内各分组的所述最优并发升级图, 将各所述 最优有向升级图的叶子结点设备放入叶子结点集合, 所述叶子结点设备是指前驱设备列表 为空的设备 ; 升级单元, 用于将所述叶子结点集合中的设备放入所述线程池, 并发执行设备升级操 作。 12. 根据权利要求 11 所述的装置, 其特征在于, 所述升级单元具体用于 : 创建已升级设备统计变量以及同步控制锁, 初始化所述已升级统计变量为零, 执行所 述线程池内设备的升级 ; 获取所述同步控制锁, 根据设备升级结果修改对应设备状态, 并将所述已升级设备变 量加 1 ; 判定正在执行升级的设备的后继设备列表是否为空 ; 若为空, 则判断。
10、已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关闭线 程池 ; 若不为空, 则遍历所述后继设备列表获取到前驱设备已完成升级的第二设备集合, 判 断第二设备集合中设备的数量是否大于零, 若是, 依次将所述第二设备集合中的设备放入 线程池内递归完成设备升级。 权 利 要 求 书 CN 103327038 A 3 1/8 页 4 批量升级网络设备的方法及装置 技术领域 0001 本发明涉及计算机通信技术领域, 具体是一种批量升级网络设备的方法及装置。 背景技术 0002 目前网络设备 ( 例如交换机、 路由器、 分组传送网 PTN(Packet Transport Network) 传。
11、输设备等 ) 存在这大批量升级需求, 升级的步骤通常包括 : 0003 1、 升级前检查, 即检查设备是否满足升级条件 ; 0004 2、 备份设备原有数据 ; 0005 3、 网络管理服务器向设备传输最新版本 ; 0006 4、 设备重新启动加载最新版本 ; 0007 5、 新旧版本兼容性处理。 0008 网络通过设备之间的互连构成一个完整的网络, 设备升级时存在并行和串行的关 系, 且网络设备在升级的过程中需要重启, 由此会导致网络中断, 使得处于与重启网络设备 串行连接的下一级设备从网络管理服务器下载版本等步骤被打断。 0009 大批量升级网络设备的方法如下 : 0010 1、 将设备升。
12、级版本及设备升级命令一次性发送到设备, 由设备自己完成升级, 在 升级过程中不再与网络管理服务器交互。这种方式要求设备支持自身升级, 并且升级出错 后, 一旦造成网络中断, 网络管理服务器无法监控到具体出现问题的设备。 0011 2、 升级过程的每个步骤都由网络管理服务器与设备交互完成, 一旦出错网络管理 服务器能够立刻发现, 但仍然存在以下问题 : 0012 升级并发效率问题, 目前网络设备的升级主要采用建立升级组的方式, 升级组内 的设备串行升级, 升级组间的设备并行升级, 这种方式并不能发挥最大的并行效率 ; 升级过 程的直观展示, 让用户直观的看到哪些设备需要升级, 哪些设备正在升级,。
13、 升级执行到哪个 步骤, 哪些设备升级失败 ; 大批量设备升级的易用性问题, 由于是大批量升级, 如何让用户 方便的选择设备也成为一个问题。 0013 鉴于此, 有必要提供一种易用的批量升级网络设备的方法及装置。 发明内容 0014 本发明的主要目的是提供一种批量升级网络设备的方法, 以提高批量升级网络设 备的效率。 0015 本发明提出一种批量升级网络设备的方法, 包括 : 0016 选定拓扑图中至少一个设备作为最后升级设备 ; 0017 选定所述最后升级设备以及拓扑图内其它设备并依次加入已遍历设备列表, 根据 拓扑图内各设备的连接关系分别生成最优升级有向图 ; 0018 依据所述最优升级有。
14、向图升级网络设备。 0019 优选地, 所述选定拓扑图中至少一个设备作为最后升级设备的步骤之前还包括 : 说 明 书 CN 103327038 A 4 2/8 页 5 0020 创建并初始化已遍历设备列表。 0021 优选地, 所述创建并初始化已遍历设备列表步骤之前还包括 : 0022 接受用户的选择确定升级设备的类型、 拓扑分组。 0023 优选地, 所述根据拓扑图内各设备的连接关系分别生成最优有向升级图的步骤具 体包括 : 0024 将与选定设备相连且不在所述已遍历设备列表中的设备添加至设备集合 ; 0025 判断所述设备集合中设备的数量是否大于零, 若是, 将所述设备集合中的设备加 入所。
15、述选定设备的前驱设备列表和所述已遍历设备列表, 将所述选定设备加入所述设备集 合中设备的后继设备列表 ; 0026 依次选定所述设备集合中的设备递归创建所述最优有向升级图。 0027 优选地, 所述依据最优有向升级图升级网络设备的步骤具体包括 : 0028 创建用于并行执行设备升级的线程池 ; 0029 统计出拓扑图内所有待升级设备 ; 0030 依次遍历拓扑图内各分组的所述最优并发升级图, 将各所述最优有向升级图的叶 子结点设备放入叶子结点集合, 所述叶子结点设备是指前驱设备列表为空的设备 ; 0031 将所述叶子结点集合中的设备放入所述线程池, 并发执行设备升级操作。 0032 优选地, 。
16、所述并发执行设备升级操作的步骤具体包括 : 0033 创建已升级设备统计变量以及同步控制锁, 初始化所述已升级统计变量为零, 执 行所述线程池内设备的升级 ; 0034 获取所述同步控制锁, 根据设备升级结果修改对应设备状态, 并将所述已升级设 备变量加 1 ; 0035 判定正在执行升级的设备的后继设备列表是否为空 ; 0036 若为空, 则判断已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关 闭线程池 ; 0037 若不为空, 则遍历所述后继设备列表获取到前驱设备已完成升级的第二设备集 合, 判断第二设备集合中设备的数量是否大于零, 若是, 依次将所述第二设备集合中的设备 放。
17、入线程池内递归完成设备升级。 0038 本发明还提出一种批量升级网络设备的装置, 包括 : 0039 列表创建模块, 用于创建并初始化已遍历设备列表 ; 0040 选定模块, 用于选定拓扑图中至少一个设备作为最后升级设备 ; 0041 最优升级有向图生成模块, 用于选定所述最后升级设备以及拓扑图内其它设备并 依次加入已遍历设备列表, 根据拓扑图内各设备的连接关系分别生成最优升级有向图 ; 0042 升级模块, 用于依据所述最优升级有向图升级设备。 0043 所述装置还包括 : 0044 列表创建模块, 用于创建并初始化已遍历设备列表。 0045 优选地, 所述装置还包括 : 0046 输入模块。
18、, 用于接受用户的选择确定升级设备的类型、 拓扑分组。 0047 优选地, 所述最优升级有向图生成模块还包括 : 0048 集合生成单元, 用于将与选定设备相连且不在所述已遍历设备列表中的设备添加 说 明 书 CN 103327038 A 5 3/8 页 6 至设备集合 ; 0049 判断单元, 判断所述设备集合中设备的数量是否大于零, 若是, 将所述设备集合中 的设备加入所述选定设备的前驱设备列表和所述已遍历设备列表, 将所述选定设备加入所 述设备集合中设备的后继设备列表 ; 0050 选定单元, 依次选定所述设备集合中的设备递归创建所述最优有向升级图。 0051 优选地, 所述升级模块具体。
19、包括 : 0052 线程池创建单元, 用于创建用于并行执行设备升级的线程池 ; 0053 统计单元, 用于统计出拓扑图内所有待升级设备 ; 0054 叶子结点集合生成单元, 依次遍历拓扑图内各分组的所述最优并发升级图, 将各 所述最优有向升级图的叶子结点设备放入叶子结点集合, 所述叶子结点设备是指前驱设备 列表为空的设备 ; 0055 升级单元, 用于将所述叶子结点集合中的设备放入所述线程池, 并发执行设备升 级操作。 0056 优选地, 所述升级单元具体用于 : 0057 创建已升级设备统计变量以及同步控制锁, 初始化所述已升级统计变量为零, 执 行所述线程池内设备的升级 ; 0058 获取。
20、所述同步控制锁, 根据设备升级结果修改对应设备状态, 并将所述已升级设 备变量加 1 ; 0059 判定正在执行升级的设备的后继设备列表是否为空 ; 0060 若为空, 则判断已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关 闭线程池 ; 0061 若不为空, 则遍历所述后继设备列表获取到前驱设备已完成升级的第二设备集 合, 判断第二设备集合中设备的数量是否大于零, 若是, 依次将所述第二设备集合中的设备 放入线程池内递归完成设备升级。 0062 本发明提供的批量升级网络设备的方法及装置, 利用网络服务器中拓扑图, 遍历 拓扑图生成最优有向升级图, 并利用该最优有向升级树采用多线。
21、程并发的方法升级网络设 备, 实现更为高效地批量网络设备升级, 提高工作效率。 附图说明 0063 图 1 为本发明提供的批量升级网络设备的方法实施例的步骤流程图 ; 0064 图 2 为本发明实施例中的网络布局图 ; 0065 图 3 为本发明实施例中拓扑图内各设备的连接关系表 ; 0066 图 4 为本发明提供的批量升级网络设备的方法另一实施例中的步骤流程图 ; 0067 图 5 为本发明提供的批量升级网络设备的方法另一实施例中的步骤流程图 ; 0068 图 6 为本发明提供的批量升级网络设备的方法实施例中根据拓扑图内各设备的 连接关系生成最优有向升级图的流程图 ; 0069 图 7 为本。
22、发明提供的批量升级网络设备的方法实施例中依据最优升级有向图升 级网络设备的流程图 ; 0070 图 8 为本发明提供的批量升级网络设备的方法实施例中并发执行设备升级操作 说 明 书 CN 103327038 A 6 4/8 页 7 的流程图 ; 0071 图 9 为本发明提供的批量升级网络设备的装置实施例的结构示意图 ; 0072 图 10 为本发明提供的批量升级网络设备的装置另一实施例中的结构示意图 ; 0073 图 11 为本发明提供的批量升级网络设备的装置另一实施例中的结构示意图 ; 0074 图 12 为本发明提供的批量升级网络设备的装置实施例中最优升级有向图生成模 块的结构示意图 ;。
23、 0075 图 13 为本发明提供的批量升级网络设备的装置实施例中升级模块的结构示意 图。 0076 本发明目的的实现、 功能特点及优点将结合实施例, 参照附图做进一步说明。 具体实施方式 0077 为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。 0078 本发明利用了一种拓扑图的数据结构, 采用分组分层的方式展示网络设备的位置 关系、 连接关系以及设备状态的一种网络管理技术, 该拓扑图可以设置于网络管理服务器 内, 还可以设置于专门的网络升级设备中, 以。
24、下将以网络管理服务器为例对本发明进行说 明。在本发明实施例中, 拓扑图采用递归定义的方式定义图结点, 具体包含以下部分的内 容 : 0079 1、 设备的基本属性, 例如设备名、 设备类型、 设备的 IP 地址、 设备的网络连接配置 ( 例如 Telenet 配置 ) 以及升级状态 ( 包括等待升级、 正在升级、 成功或者失败等升级状 态 ) ; 0080 2、 分组属性, 例如本分组的设备列表、 是否是分组的标识变量 ; 0081 3、 设备连接关系, 例如与设备直接连接的设备结点列表 ( 前驱设备列表以及后继 设备列表 ), 其中 : 0082 前驱设备列表, 即包含与本设备直接相连, 并。
25、且只有在其升级后, 本设备才能升级 的设备集合, 设备采用本树结点结构描述 ; 0083 后继设备列表, 即包含与本设备直接相连, 且只有在本设备升级后, 其才能升级的 设备集合, 设备采用本树结点结构描述。 0084 参照图 1, 图 1 为本发明一实施例提供的一种批量升级网络设备的方法, 具体包括 步骤 : 0085 S100 : 选定拓扑图至少一个设备作为最后升级设备 ; 0086 在串行升级的过程中, 设备的升级存在着先后顺序, 升级过程中设备需要重启, 从 而导致网络中断。为了避免由于中断而导致无法完成设备升级, 在本发明中网络设备服务 器将与其直接连接的设备作为最后升级设备。在具体。
26、的实施例中, 与网络设备服务器直接 连接的设备可以为一个, 也可以为若干个。 网络设备服务器选定至少一个设备, 在升级设备 过程中最后进行升级操作。 0087 S200 : 选定最后升级设备以及拓扑图内其它设备并依次加入预设的已遍历设备列 表, 根据拓扑图内各设备的连接关系生成最优有向升级图 ; 该已遍历设备列表可以为之前 说 明 书 CN 103327038 A 7 5/8 页 8 的步骤中预设的, 也可以调用系统内其它的设备列表, 用于根据统计已遍历的设备, 以防止 设备被循环加入。 0088 请参照图 2 以及图 3, 图 2 为一实施例中的网络连接图, 图 3 为拓扑图内设备的连 接关。
27、系表, 具体包括前驱设备列表以及后继设备列表。以最后升级设备为设备 E 为例, 设备 A、 设备 B 以及设备 C 的前驱设备为空, 后继设备均为设备 D ; 设备 D 的前驱设备为设备 A、 设 备 B 以及设备 C, 后继设备为设备 E ; 设备 E 的前驱设备为 D, 后继设备为空。将前驱设备列 表为空的设备作为叶子结点, 将最后升级设备作为根结点, 从叶子结点至根节点依照各设 备的连接关系表生成最优升级有向图。 该最优有向图保证了每台设备到最后升级设备的路 径是最短的, 使得并发升级的时间最短, 从而能够快速升级网络设备。 0089 S300 : 依据最优升级有向图升级网络设备 ; 0。
28、090 网络管理服务器依照最优升级有向图先将前驱设备列表为空的设备升级, 以避免 前驱设备升级完成重启设备时的网络中断而造成后继设备升级失败, 请参照图 2, 依照最优 升级有向图, 首先同时升级叶子结点设备A、 设备B以及设备C, 等完成叶子结点设备的升级 后, 在升级设备 D, 等设备 D 升级结束后, 在升级根结点设备 E, 从而完成对拓扑图中所有设 备的升级。 0091 参照图 4, 在另一实施例中, 步骤 S100 之前, 还包括步骤 S400 : 创建并初始化已遍 历设备列表 ; 该已遍历设备列表初始值为空, 用于记录已经加入最优并发升级树的设备, 防 止了设备被循环加入, 从而避。
29、免算法死循环。 0092 在前述实施例的基础上, 参照图 5, 在另一实施例中, 在步骤 S100 之前, 还包括步 骤 S500 : 接受用户的选择确定升级设备的类型、 拓扑分组。用户创建升级计划, 选定需要升 级的设备类型以及拓扑分组, 例如, 根据需要升级的设备类型, 默认将分组内的设备都设置 为需要升级的设备, 用户根据升级需求, 将个别不需要升级的设备设置为不升级 ; 或者默认 将分组内的设备都设置为不需要升级的设备, 用户根据升级需求, 选中需要进行升级的设 备。 0093 更为具体的, 参照图6, 如图6所示步骤S200中根据拓扑图内各设备的连接关系分 别生成最优升级有向图的具体。
30、步骤包括 : 0094 S210 : 将与选定设备相连且不在已遍历设备列表中的设备添加至设备集合 ; 以选 定的设备为最后升级设备为例, 根据设备连接关系, 找到与最后升级设备相连 ( 即在拓扑 结构的设备连接关系列表中的设备 ), 并且不在已遍历设备列表的设备, 添加至设备集合。 0095 S220 : 判断该设备集合中设备的数量是否大于零, 若是, 则执行步骤 S321, 否则结 束流程 ; 0096 S221 : 将设备集合中的设备加入选定设备的前驱设备列表和已遍历设备列表, 将 选定设备加入设备集合中的后继设备列表 ; 0097 S230 : 依次选取设备集合中的设备递归创建最优有向升。
31、级图 ; 依次选取设备集合 中的设备, 递归执行步骤 S321 以及步骤 S322, 生成拓扑图中各设备的前驱设备列表和后继 设备列表, 从而创建最优有向升级图。 0098 参照图 7, 更为具体的, 如图 7 所示步骤 S300 具体包括步骤 : 0099 S310 : 创建用于并行执行设备升级的线程池 ; 0100 S320 : 统计拓扑图内所有待升级设备 ; 具体包括拓扑图内所有分组中等待升级的 说 明 书 CN 103327038 A 8 6/8 页 9 设备 ; 0101 S330 : 依次遍历拓扑图内各分组的最优并发升级图, 将最优有向升级图的叶子结 点设备放入叶子结点集合, 其中。
32、, 叶子结点设备是指在前驱设备列表为空的设备 ; 0102 S340 : 将叶子结点集合中的设备放入创建的线程池, 并发执行设备升级操作 ; 叶 子结点设备没有前驱设备, 因此不会受到前驱设备升级重启所带来的网络中断的影响, 当 所有设备升级完成后, 关闭线程池。 0103 更为具体的, 参照图 8, 图 8 为步骤 S340 中并发执行设备升级操作的具体的流程 图, 步骤 S340 具体包括步骤 : 0104 S341 : 创建已升级设备统计变量以及同步控制锁, 初始化已升级统计变量为零, 执 行线程池内设备的升级 ; 采用并发升级的方式对线程池内的设备进行升级, 具体包括设备 升级前检查、。
33、 设备数据备份等升级操作, 在本实施例中, 在拓扑图中将当前正在执行的设备 结点颜色标识为黄色, 表示设备正在升级。 0105 S342 : 获取同步控制锁, 将已升级设备统计变量加 1, 根据设备升级结果修改对应 设备升级状态 ; 由于升级操作为并行操作, 为了防止数据错乱, 在获取同步控制锁的前提下 才能执行后续的操作 : 将已升级设备统计变量加 1, 同时根据设备升级结果修改对应设备 的状态, 升级成功则将设备基本属性中的升级状态修改为成功, 否则修改为失败。 0106 S343 : 判断正在执行升级的设备的后继设备列表是否为空, 若为空, 则执行步骤 S3431, 否则执行步骤 S34。
34、32 ; 0107 S3431 : 判断已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关闭 线程池, 否则释放同步控制锁。 0108 S3432 : 遍历后继设备列表获取到前驱设备已完成升级的第二设备集合, 判断第二 设备集合中设备的数量是否大于零, 当判定第二设备集合中设备的数量大于零时释放同步 控制锁, 依次将第二设备集合中的设备放入线程池内递归完成设备升级 ; 否则, 直接释放同 步控制锁并结束流程。 0109 本发明提供的批量升级网络设备的方法, 利用网络服务器中拓扑图, 遍历拓扑图 生成最优有向升级图, 并利用该最优有向升级树采用多线程并发的方法升级网络设备, 实 现更。
35、为高效地批量网络设备升级, 提高工作效率。 0110 参照图 9, 本发明还提出一种批量升级网络设备的装置, 包括选定模块 100、 最优 升级有向图生成模块 200、 升级模块 300。 0111 选定模块 100 初始化已遍历设备列表 ; 该已遍历设备列表初始值为空, 用于记录 已经加入最优并发升级树的设备, 防止了设备被循环加入, 从而避免算法死循环。 0112 选定模块 100 选定拓扑图至少一个设备作为最后升级设备 ; 在串行升级的过程 中, 设备的升级存在着先后顺序, 升级过程中设备需要重启, 从而导致网络中断。为了避免 由于中断而导致无法完成设备升级, 在本发明中选定模块 100。
36、 将与网络设备服务器直接连 接的设备作为最后升级设备。在具体的实施例中, 与网络设备服务器直接连接的设备可以 为一个, 也可以为若干个。 网络设备服务器接受用户选择的至少一个设备, 在升级设备过程 中最后进行升级操作。 0113 最优升级有向图生成模块 200 选定最后升级设备以及拓扑图内其它设备并依次 加入已遍历设备列表, 根据拓扑图内各设备的连接关系生成最优有向升级图。该已遍历设 说 明 书 CN 103327038 A 9 7/8 页 10 备列表可以为之前的步骤中预设的, 也可以调用系统内其它的设备列表, 用于根据统计已 遍历的设备, 以防止设备被循环加入。 0114 请参照图 2 以。
37、及图 3, 图 2 为一实施例中的网络连接图, 图 3 为拓扑图内设备的连 接关系表, 具体包括前驱设备列表以及后继设备列表。以最后升级设备为设备 E 为例, 设备 A、 设备 B 以及设备 C 的前驱设备为空, 后继设备均为设备 D ; 设备 D 的前驱设备为设备 A、 设 备 B 以及设备 C, 后继设备为设备 E ; 设备 E 的前驱设备为 D, 后继设备为空。最优升级有向 图生成模块 200 将前驱设备列表为空的设备作为叶子结点, 将最后升级设备作为根结点, 从叶子结点至根节点依照各设备的连接关系表生成最优升级有向图。 该最优有向图保证了 每台设备到最后升级设备的路径是最短的, 使得并。
38、发升级的时间最短, 从而能够快速升级 网络设备。 0115 升级模块 300 依照最优升级有向图先将前驱设备列表为空的设备升级, 以避免前 驱设备升级完成重启设备时的网络中断而造成后继设备升级失败, 请参照图 2, 依照最优升 级有向图, 升级模块 300 首先同时升级叶子结点设备 A、 设备 B 以及设备 C, 等完成叶子结点 设备的升级后, 在升级设备 D, 等设备 D 升级结束后, 在升级根结点设备 E, 从而完成对拓扑 图中所有设备的升级。 0116 请参照图 10, 在另一实施例中, 本发明提出的装置还包括列表创建模块 400, 该列 表创建模块 400 用于创建并初始化已遍历设备列。
39、表 ; 该已遍历设备列表初始值为空, 用于 记录已经加入最优并发升级树的设备, 防止了设备被循环加入, 从而避免算法死循环。 0117 请参照图 11, 在前述实施例的基础上, 另一实施例中, 本发明提出的装置还包括输 入模块500, 用于接受用户的选择确定升级设备的类型、 拓扑分组。 用户创建升级计划, 选定 需要升级的设备类型以及拓扑分组, 例如, 根据需要升级的设备类型, 默认将分组内的设备 都设置为需要升级的设备, 用户根据升级需求, 将个别不需要升级的设备设置为不升级 ; 或 者默认将分组内的设备都设置为不需要升级的设备, 用户根据升级需求, 选中需要进行升 级的设备, 输入模块 5。
40、00 接受用户的选择确定升级设备的类型以及拓扑分组。 0118 更为具体的, 请参照图 12, 图 9 为本发明实施例中提供的装置中, 最优升级有向图 生成模块 200 的结构示意图, 如图所示, 最优升级有向图生成模块具体包括集合生成单元 210、 判断单元 220 以及选定单元 230。 0119 集合生成单元 210 将与选定设备相连且不在已遍历设备列表中的设备添加至设 备集合 ; 以选定的设备为最后升级设备为例, 集合生成单元 210 根据设备连接关系, 找到与 最后升级设备相连 ( 即在拓扑结构的设备连接关系列表中的设备 ), 并且不在已遍历设备 列表的设备, 添加至设备集合。 01。
41、20 判断单元 220 判断该设备集合中设备的数量是否大于零, 若是, 则将设备集合中 的设备加入选定设备的前驱设备列表和已遍历设备列表, 将选定设备加入设备集合中的后 继设备列表 ; 否则结束流程。 0121 选定单元 230 依次选取设备集合中的设备, 集合生成单元 210 以及判断单元 220 根据选定的设备, 递归生成拓扑图中各设备的前驱设备列表和后继设备列表, 从而创建最 优有向升级图。 0122 请参照图 13, 更为具体的, 在本实施例中, 升级模块 300 具体包括线程池创建单元 310、 统计单元 320、 叶子结点集合生成单元 330 以及升级单元 340。 说 明 书 C。
42、N 103327038 A 10 8/8 页 11 0123 线程池创建单元 310 创建用于并行执行设备升级的线程池 ; 0124 统计单元 320 统计拓扑图内所有待升级设备 ; 具体包括拓扑图内所有分组中等待 升级的设备 ; 0125 叶子集合生成单元 330 依次遍历拓扑图内各分组的最优并发升级图, 将最优有向 升级图的叶子结点设备放入叶子结点集合, 其中, 叶子结点设备是指在前驱设备列表为空 的设备 ; 0126 升级单元 340 将叶子结点集合中的设备放入创建的线程池, 并发执行设备升级操 作 ; 叶子结点设备没有前驱设备, 因此不会受到前驱设备升级重启所带来的网络中断的影 响, 。
43、当所有设备升级完成后, 升级单元 340 关闭线程池。 0127 在本实施例中, 更为具体的, 升级单元 340 升级设备的具体步骤如下 : 0128 升级单元 340 创建已升级设备统计变量以及同步控制锁, 初始化已升级统计变量 为零, 执行线程池内设备的升级 ; 采用并发升级的方式对线程池内的设备进行升级, 具体包 括设备升级前检查、 设备数据备份等升级操作, 在本实施例中, 在拓扑图中将当前正在执行 的设备结点颜色标识为黄色, 表示设备正在升级。 0129 升级单元 340 获取同步控制锁, 将已升级设备统计变量加 1, 根据设备升级结果修 改对应设备升级状态 ; 由于升级操作为并行操作。
44、, 为了防止数据错乱, 在获取同步控制锁的 前提下才能执行后续的操作 : 升级单元 340 将已升级设备统计变量加 1, 同时根据设备升级 结果修改对应设备的状态, 升级成功则将设备基本属性中的升级状态修改为成功, 否则修 改为失败。 0130 升级单元 340 判断正在执行升级的设备的后继设备列表是否为空, 若为空, 则判 断已升级设备变量是否等于设备总数, 若是, 则释放同步控制锁并关闭线程池, 否则释放同 步控制锁 ; 0131 若不是, 则遍历后继设备列表获取到前驱设备已完成升级的第二设备集合, 判断 第二设备集合中设备的数量是否大于零, 当判定第二设备集合中设备的数量大于零时释放 同。
45、步控制锁, 依次将第二设备集合中的设备放入线程池内递归完成设备升级 ; 否则, 直接释 放同步控制锁并结束流程。 0132 本发明提供的批量升级网络设备的装置, 利用网络服务器中拓扑图, 遍历拓扑图 生成最优有向升级图, 并利用该最优有向升级树采用多线程并发的方法升级网络设备, 实 现更为高效地批量网络设备升级, 提高工作效率。 0133 以上仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精神和 原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 103327038 A 11 1/8 页 12 图 1 图 2 说 明 书 附 图 。
46、CN 103327038 A 12 2/8 页 13 图 3 图 4 说 明 书 附 图 CN 103327038 A 13 3/8 页 14 图 5 说 明 书 附 图 CN 103327038 A 14 4/8 页 15 图 6 说 明 书 附 图 CN 103327038 A 15 5/8 页 16 图 7 说 明 书 附 图 CN 103327038 A 16 6/8 页 17 图 8 说 明 书 附 图 CN 103327038 A 17 7/8 页 18 图 9 图 10 图 11 说 明 书 附 图 CN 103327038 A 18 8/8 页 19 图 12 图 13 说 明 书 附 图 CN 103327038 A 19 。