一种分布式集中调度升级网元软件版本的方法和系统的制作方法

文档序号:7896606阅读:299来源:国知局
专利名称:一种分布式集中调度升级网元软件版本的方法和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式集中调度升级网元软件版本的方法和系统。
背景技术
通过网管对网元进行软件版本升级,数据传输量非常大,小的上百KB,大的几十 MKB,甚至上百MKB,这样如果该网管管理的网元数量比较大的时候,每次完成网元软件版本升级需要很长的时间。但是,目前的现状是运营商的需求非常多,变化非常快,这样,设备制造商不得不经常更新网元软件版本来满足新的需求。还有,版本升级往往导致业务中断,这时候,必须要求在比较短的时间将大量网元的软件版本完成升级。如图1所示,为一般网管、网元之间的组网拓扑。每个网元理论上能够得到的最大带宽不但取决于其到达网管的通信链路上带宽最窄的一段,而且还取决其到达网管中每段链路上的并发下载数量。举例说明如下,假如每段链路的带宽都是1M,那么网元A、B同时下载的时候,每个网元获得的带宽都是1M。但是如果是A、AA同时下载,那么他们将共享IM带宽;如果A、AA、AB、AAA等一起并发下载的时候,问题就更严重了,带宽显然是瓶颈。

发明内容
本发明提供一种分布式集中调度升级网元软件版本的方法和系统,用以解决现有技术中当进行大量网元软件升级时升级效率较低的问题。具体的,本发明提供一种分布式集中调度升级网元软件版本的方法,包括步骤1、网管服务器基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;步骤2、所述每个待升级网元根据接收到的升级控制信息,到指定下载源下载升级软件版本信息,并将下载进度信息反馈至所述网管服务器;步骤3、网管服务器保存所述下载进度信息到上下文,并基于该上下文检测各网元下载操作是否满足预设的下载约束条件,若不满足,调整所述升级控制信息后向对应网元发送,返回步骤2,直到所有待升级网元完成软件版本的下载。本发明所述方法中,选定的待升级网元包括下载任务开始时,网管服务器在用户设定的待升级网元中选定的部分或全部待升级网元;或者,下载任务开始后,网管服务器在用户设定的待升级网元中选定部分待升级网元后,在剩余待升级网元中选定的部分或全部待升级网元。其中,在下载任务开始时,所述网管服务器根据网络拓扑结构和链路带宽,在用户设定的待升级网元中选择链路中间网元作为选定的部分待升级网元;在下载任务开始后,所述网管服务器根据网络拓扑结构和链路带宽,选择与文件下载源相连通的网元作为选定的待升级网元;所述文件下载源为网管和/或已经下载全部或部分升级软件版本信息的网元。本发明所述方法中,配置的下载控制参数包括升级软件版本号、开始下载时间和软件版本最大下载时间。进一步的,所述配置的下载控制参数还包括划分软件版本文件的最大数据单元长度值和数据单元最大下载时间。本发明所述方法中,所述生成记录网元下载进度信息的上下文包括所述网管服务器根据所述下载控制参数,对所述软件版本号对应的软件版本文件进行数据单元划分,并基于划分的数据单元为每个待升级网元生成数据单元下载控制表, 该表中包括数据单元ID号、数据单元下载源、数据单元对应的下载开始地址及结束地址、 下载开始时间、已经下载的字节数、下载结束时间和下载结果;其中,每个网元对应的数据单元下载控制表均具有数据单元下载控制表ID号。进一步的,所述生成记录网元下载进度信息的上下文时还包括生成网元下载状态表,该表包括网元ID号,以及与网元ID号对应的升级软件版本号、数据单元下载控制表 ID号、下载开始时间、下载结束时间、下载状态和下载结果。本发明所述方法中,升级控制信息包括数据单元ID号、数据单元下载源、数据单元下载开始地址及结束地址。本发明所述方法中,所述步骤3中预设的下载约束条件包括下述条件参数的一个或多个软件版本最大下载时间、软件版本最小下载速率和数据单元最大下载时间。本发明所述方法中,所述步骤3中,网管服务器调整所述升级控制信息包括所述网管服务器在所述数据单元下载控制表中生成新的数据单元,并将新数据单元对应的ID号、下载源、下载开始地址和结束地址作为调整后的升级控制信息;其中,所述新数据单元的下载开始地址为不满足下载约束条件对应的数据单元已经下载数据的下一个字节;所述新数据单元的下载源为网管或在网络拓扑上连通且已经下载全部或部分升级软件版本信息的网元。本发明所述方法中,所述网管服务器在向网元发送升级控制信息失败时,向上层发送链路故障告警,并将所述网元下载状态表中对应网元以及在对应网元的下游网元的下载状态修改为下载结束,将下载结果修改为网元不在线。本发明所述方法中,所述网管服务器在某网元升级完成后,将所述网元下载状态表中的下载结束时间修改为当前时间,将下载状态修改为下载结束,将下载结果修改为下载成功;并在所有网元均下载完成时,将所述网元下载状态表存入数据库中。进一步的,本发明还提供一种分布式集中调度升级网元软件版本的系统,包括网管服务器,包括升级控制信息下发模块,用于基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;检测模块,用于接收网元发送的下载进度信息到所述上下文,基于该上下文检测各网元下载操作是否满足预设的下载约束条件;调度模块,用于在所述检测模块检测到网元下载操作不满足预设的下载约束条件时,调整所述升级控制信息后向对应网元发送;数据发送模块,用于在网管服务器作为下载源时,基于接收的软件版本信息下载请求,向请求端发送软件版本信息。网元,包括版本管理控制模块,用于接收所述网管服务器发送的升级控制信息时,触发版本管理文件接收模块,并将下载进度信息反馈至所述网管服务器;版本管理文件接收模块,用于向所述升级控制信息中指定的下载源发送软件版本信息下载请求,并将下载的软件版本信息保存;版本管理文件发送模块,用于在网元作为下载源时,基于接收的软件版本信息下载请求,向请求端发送软件版本信息。进一步的,本发明所述系统中所述升级控制信息下发模块,为选定的每个待升级网元生成记录网元下载进度信息的上下文包括所述升级控制信息下发模块,根据所述下载控制参数,对软件版本文件进行数据单元划分,并基于划分的数据单元为每个待升级网元生成数据单元下载控制表,该表中包括数据单元ID号、数据单元下载源、数据单元对应的下载开始地址及结束地址、下载开始时间、已经下载的字节数、下载结束时间和下载结果;其中,每个网元对应的数据单元下载控制表均具有数据单元下载控制表ID号。所述升级控制信息下发模块下发的升级控制信息包括数据单元ID号、数据单元下载源、数据单元下载开始地址及结束地址。所述调度模块,在所述数据单元下载控制表中生成新的数据单元,并将新数据单元对应的ID号、下载源、下载开始地址和结束地址作为调整后的升级控制信息向对应网元发送;其中,所述新数据单元的下载开始地址为不满足下载约束条件对应的数据单元已经下载数据的下一个字节;所述新数据单元的下载源为网管或在网络拓扑上连通且已经下载全部或部分升级软件版本信息的网元。与现有技术相比,本发明有益效果如下首先,本发明所述方法根据网络拓扑结构和链路的带宽决定启动全部或部分网元的下载任务,下载任务启动后,网管服务器根据网元下载任务进度报告、网络拓扑结构、以及当前整个网络网元软件版本下载情况下对网元下载任务进行调度,指示网元到合适的位置(网管或网元)下载指定的版本数据,而且同时可以从多个位置并行下载,从而最大限度的利用整个网络的带宽,快速完成网元软件版本的升级;其次,本发明所述方法利用根据拓扑结构、网元实际下载情况进行调度,下载过程中控制信息和软件版本数据分离,软件架构简单,代码实现容易。第三,本发明实现流程简单,仅仅依靠软件实现,不会增加运营商硬件投入。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中网管服务器及网元组网拓扑图;图2为本发明提供的一种分布式集中调度升级网元软件版本的方法流程图;图3为本发明实施例提供的一种分布式集中调度升级网元软件版本的方法流程图;图4为本发明提供的一种分布式集中调度升级网元软件版本的系统结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了解决现有技术中进行大量网元软件升级时升级效率低下的问题,本发明提供一种分布式集中调度升级网元软件版本的方法和系统,所述方法的核心思想是网管服务器首先根据指定的待升级网元列表、网络拓扑结构(包括链路的带宽)决定先启动部分网元的下载任务;下载任务启动后,网管服务器根据网元下载任务进度报告、网络拓扑结构、 当前整个网络网元软件版本下载情况下对网元下载任务进行调度,指示网元到合适的位置 (网管或网元)下载指定的版本数据,而且同时可以从多个位置并行下载,从而最大限度的利用整个网络的带宽,快速完成网元软件版本的升级。如图2所示,本发明提供的一种分布式集中调度升级网元软件版本的方法,包括步骤S201、网管服务器基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;步骤S202、每个待升级网元根据接收到的升级控制信息,到指定下载源下载升级软件版本信息,并将下载进度信息反馈至所述网管服务器;步骤S203、网管服务器保存所述下载进度信息到上下文,并基于该上下文检测各网元下载操作是否满足预设的下载约束条件,若不满足,调整所述升级控制信息的下载源, 向对应网元发送调整后升级控制信息,返回步骤S202,直到所有待升级网元完成软件版本的下载。本发明所述方法根据网络拓扑结构和链路的带宽决定启动全部或部分网元的下载任务,下载任务启动后,网管服务器根据网元下载任务进度报告、网络拓扑结构、以及当前整个网络网元软件版本下载情况下对网元下载任务进行调度,指示网元到合适的位置 (网管或网元)下载指定的版本数据,而且同时可以从多个位置并行下载,从而最大限度的利用整个网络的带宽,快速完成网元软件版本的升级下面根据图3给出本发明一个较佳的实施例,并结合对实施例的描述,进一步给出本发明的技术细节,使其能够更好地说明本发明所述方法的具体实现过程。本发明所述方法应用在如图1所示的网管、网元组网的拓扑系统中,该方法在传统的网元版本升级流程上实现了版本数据下载和控制信息数据流相分离,网管服务器可以实时调度网元的数据下载过程。所述系统具体包括网管客户端、网管服务器和多个网元网管客户端提供一个人机交互界面,用户可以选择需要进行版本升级的待升级网元,并设置网管服务器的下载控制参数;其中,下载控制参数包括升级软件版本号、软件版本文件下载开始时间、软件版本文件的最大下载时间;进一步的,当升级软件版本较大时,还可以配置划分软件版本文件的最大数据单元长度值和数据单元最大下载时间;当然,上述列举的下载控制参数并非穷举,用户可以根据具体需求进行灵活配置,例如,还可以配置软件版本下载速度等参数;上述的软件版本下载速度、软件版本文件的最大下载时间、数据单元最大下载时间等均可以作为后续进行调度的约束条件参数,为网管进行调度提供参考依据,例如,若网管检测到软件版本下载速率不能达到指定的下载速度,则选取新的文件下载源供网元下载。网管服务器根据用户配置的下载控制参数,向选定的网元发送升级控制信息,并为每个需要进行版本升级的网元生成一个上下文;其中,所述的上下文可以持久化在文件或数据库中;所述生成上下文就是为每个网元需要下载的软件版本生成一个下载进度控制表, 具体表现为网管服务器根据配置的下载控制参数将升级的软件版本文件进行数据单元划分, 并为每个数据单元分配数据单元ID,确定每个数据单元的下载源、下载开始地址和结束地址,下载开始时间、已经下载的字节数、下载结束时间和下载结果等下载进度信息。需要说明的是,若配置的下载控制参数中未配置划分数据单元的长度值,则上述数据单元可以是软件版本文件中的一个独立的文件。S卩,网管服务器为每个网元动态生成一个数据单元下载控制表,每个数据单元下载控制表存在唯一的标识ID。每个网元的数据单元下载控制表内包含一个或多个数据单元,每个数据单元存在唯一的单元ID ;其中,每个数据单元均包含如下内容数据单元ID、该单元下载数据的文件名(如果该网元需要升级的软件版本只有一个文件,该字段可以不需要)、文件下载源、文件下载开始地址、文件下载结束地址、已经下载字节数、下载开始时间、下载结束时间、下载结果(例如,定义0表示成功、1表示失败);其中,文件下载源可以是网管,也可以是已经下载了部分或全部对应软件版本信息的网元,当然,选定网元作为文件下载源时,该网元与文件下载目的网元间网络拓扑上连通。例如,升级软件版本A包括四个文件,分别为Fl (2049K)、F2 (30K)、F3 (IOK)、 F4 (1023K);网管服务器根据最大数据单元长度信息,对各文件进行分段,得到分段后的多个数据块,每个数据块对应着一个数据单元,一个升级软件版本文件至少有一个数据单元, 一个数据单元最多只能有一个文件的数据。数据单元的ID是唯一的,只能拆分不能合并;基于上述示例,得到的某一网元数据单元下载控制表如表一所示表一
权利要求
1.一种分布式集中调度升级网元软件版本的方法,其特征在于,包括步骤1、网管服务器基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;步骤2、所述每个待升级网元根据接收到的升级控制信息,到指定下载源下载升级软件版本信息,并将下载进度信息反馈至所述网管服务器;步骤3、网管服务器保存所述下载进度信息到上下文,并基于该上下文检测各网元下载操作是否满足预设的下载约束条件,若不满足,调整所述升级控制信息后向对应网元发送, 返回步骤2,直到所有待升级网元完成软件版本的下载。
2.如权利要求1所述的方法,其特征在于,所述选定的待升级网元包括下载任务开始时,网管服务器在用户设定的待升级网元中选定的部分或全部待升级网元;或者,下载任务开始后,网管服务器在用户设定的待升级网元中选定部分待升级网元后,在剩余待升级网元中选定的部分或全部待升级网元。
3.如权利要求1或2所述的方法,其特征在于,在下载任务开始时,所述网管服务器根据网络拓扑结构和链路带宽,在用户设定的待升级网元中选择链路中间网元作为选定的部分待升级网元;在下载任务开始后,所述网管服务器根据网络拓扑结构和链路带宽,选择与文件下载源相连通的网元作为选定的待升级网元;所述文件下载源为网管和/或已经下载全部或部分升级软件版本信息的网元。
4.如权利要求1所述的方法,其特征在于,所述配置的下载控制参数包括升级软件版本号、开始下载时间和软件版本最大下载时间。
5.如权利要求4所述的方法,其特征在于,所述配置的下载控制参数还包括划分软件版本文件的最大数据单元长度值和数据单元最大下载时间。
6.如权利要求5所述的方法,其特征在于,所述生成记录网元下载进度信息的上下文包括所述网管服务器根据所述下载控制参数,对所述软件版本号对应的软件版本文件进行数据单元划分,并基于划分的数据单元为每个待升级网元生成数据单元下载控制表,该表中包括数据单元ID号、数据单元下载源、数据单元对应的下载开始地址及结束地址、下载开始时间、已经下载的字节数、下载结束时间和下载结果;其中,每个网元对应的数据单元下载控制表均具有数据单元下载控制表ID号。
7.如权利要求6所述的方法,其特征在于,所述生成记录网元下载进度信息的上下文时还包括生成网元下载状态表,该表包括网元ID号,以及与网元ID号对应的升级软件版本号、数据单元下载控制表ID号、下载开始时间、下载结束时间、下载状态和下载结果。
8.如权利要求6所述的方法,其特征在于,所述升级控制信息包括数据单元ID号、数据单元下载源、数据单元下载开始地址及结束地址。
9.如权利要求1或4或5或6或7或8所述的方法,其特征在于,所述步骤3中预设的下载约束条件包括下述条件参数的一个或多个软件版本最大下载时间、软件版本最小下载速率和数据单元最大下载时间。
10.如权利要求6或7或8所述的方法,其特征在于,所述步骤3中,网管服务器调整所述升级控制信息包括所述网管服务器在所述数据单元下载控制表中生成新的数据单元,并将新数据单元对应的ID号、下载源、下载开始地址和结束地址作为调整后的升级控制信息;其中,所述新数据单元的下载开始地址为不满足下载约束条件对应的数据单元已经下载数据的下一个字节;所述新数据单元的下载源为网管或在网络拓扑上连通且已经下载全部或部分升级软件版本信息的网元。
11.如权利要求7所述的方法,其特征在于,所述网管服务器在向网元发送升级控制信息失败时,向上层发送链路故障告警,并将所述网元下载状态表中对应网元以及在对应网元的下游网元的下载状态修改为下载结束,将下载结果修改为网元不在线。
12.如权利要求7所述的方法,其特征在于,所述网管服务器在某网元升级完成后,将所述网元下载状态表中的下载结束时间修改为当前时间,将下载状态修改为下载结束,将下载结果修改为下载成功;并在所有网元均下载完成时,将所述网元下载状态表存入数据库中。
13.—种分布式集中调度升级网元软件版本的系统,其特征在于,包括 网管服务器,包括升级控制信息下发模块,用于基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;检测模块,用于接收网元发送的下载进度信息到所述上下文,基于该上下文检测各网元下载操作是否满足预设的下载约束条件;调度模块,用于在所述检测模块检测到网元下载操作不满足预设的下载约束条件时, 调整所述升级控制信息后向对应网元发送;数据发送模块,用于在网管服务器作为下载源时,基于接收的软件版本信息下载请求, 向请求端发送软件版本信息; 网元,包括版本管理控制模块,用于接收所述网管服务器发送的升级控制信息时,触发版本管理文件接收模块,并将下载进度信息反馈至所述网管服务器;版本管理文件接收模块,用于向所述升级控制信息中指定的下载源发送软件版本信息下载请求,并将下载的软件版本信息保存;版本管理文件发送模块,用于在网元作为下载源时,基于接收的软件版本信息下载请求,向请求端发送软件版本信息。
14.如权利要求13所述的系统,其特征在于,所述升级控制信息下发模块,为选定的每个待升级网元生成记录网元下载进度信息的上下文包括所述升级控制信息下发模块,根据所述下载控制参数,对软件版本文件进行数据单元划分,并基于划分的数据单元为每个待升级网元生成数据单元下载控制表,该表中包括数据单元ID号、数据单元下载源、数据单元对应的下载开始地址及结束地址、下载开始时间、 已经下载的字节数、下载结束时间和下载结果;其中,每个网元对应的数据单元下载控制表均具有数据单元下载控制表ID号。
15.如权利要求14所述的系统,其特征在于,所述升级控制信息下发模块下发的升级控制信息包括数据单元ID号、数据单元下载源、数据单元下载开始地址及结束地址。
16.如权利要求14或15所述的系统,其特征在于,所述调度模块,在所述数据单元下载控制表中生成新的数据单元,并将新数据单元对应的ID号、下载源、下载开始地址和结束地址作为调整后的升级控制信息向对应网元发送;其中,所述新数据单元的下载开始地址为不满足下载约束条件对应的数据单元已经下载数据的下一个字节;所述新数据单元的下载源为网管或在网络拓扑上连通且已经下载全部或部分升级软件版本信息的网元。
全文摘要
本发明公开了一种分布式集中调度升级网元软件版本的方法和系统,所述方法包括步骤1、网管服务器基于配置的下载控制参数,为选定的每个待升级网元生成记录网元下载进度信息的上下文,并向各待升级网元下发升级控制信息;步骤2、所述每个待升级网元根据接收到的升级控制信息,到指定下载源下载升级软件版本信息,并将下载进度信息反馈至所述网管服务器;步骤3、网管服务器保存所述下载进度信息到上下文,并基于该上下文检测各网元下载操作是否满足预设的下载约束条件,若不满足,调整所述升级控制信息后向对应网元发送,返回步骤2,直到所有待升级网元完成软件版本的下载。本发明所述方法提高了网元软件升级时升级的效率。
文档编号H04L12/24GK102546207SQ201010601960
公开日2012年7月4日 申请日期2010年12月23日 优先权日2010年12月23日
发明者徐清海, 沈毅, 王力 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1