软件升级系统以及软件升级方法

文档序号:6572051阅读:335来源:国知局
专利名称:软件升级系统以及软件升级方法
技术领域
本发明涉及通信技术领域,具体涉及一种软件升级系统以及一种设备的软 件升级方法。
背景技术
月良务不中断软件升级(In-service software upgrade,简称ISSU)的目的在于 在网络设备的软件升级过程中,实现进程服务的不中断,从而提高设备的可靠 性。在实际的软件升级时,如何保证将升级前的旧版本软件的配置数据同步更 新到用于升级的新版本软件,是保证进程业务服务不中断的关键。
现有技术1是在网络设备中提供两块主控板, 一块为主用板,另一块作为 对主用板的备份,软件升级时,首先将用,于升级的新版本软件加载到备用板, 然后获取主控板的配置数据并传送到备用板,备用板将来自于主用板的配置数 据格式转换为新版本软件可以识别的格式的配置数据后形成备用板的配置数 据,进而执行主备倒换,将主用板的进程服务升级到备用板,实现软件升级。 现有技术2是在网络设备的同一主控板上与旧版本软件不同的内存区域上加载 一个新版本软件,加载完成后,获取主控板中旧版本软件的全部配置数据并将 所获取的配置数据格式转换为新版本软件可以识别的格式的配置数据后,将格 式转换后的配置数据更新至新版本软件区域,以形成新版本软件的配置数据, 进而将旧版本软件的进程服务切换至新版本软件,实现软件升级。
上述现有技术1和现有技术2的软件升级过程中,主用板的配置数据可能 会发生变更(包括软件配置变更以及附属硬件变动引起的软件配置变更),为了 保证进程业务服务不中断,在现有技术1和现有技术2的软件升级过程中,是 尽量不变更主用板的配置数据的(如不在升级过程中增加或删除新的附属石更件, 而等到升级切换成功后,增加或删除新的相应的附属硬件)。为此,在一定程度 上显然是带来了一些操作限制的(如禁止在软件升级过程中变更配置),并且对 于升级过程中可能出现的一些无法预知的意外故障而导致变更的配置数据也无 法更新至升级版本软件。

发明内容
本发明实施例提供一种软件升级系统以及相应的一种设备的软件升级方 法,实现将设备升级过程变更的配置数据(也即增量配置数据)更新至升级版 本软件。
本发明实施例的一种设备的软件升级方法,所述设备包含主用板和备用板,
所述方法包括以下步骤
将升级软件加载到所述备用板;
将所述主用板中当前运行的软件的配置数据备份至所述备用板,并缓存所 述主用板中当前运行的软件的增量配置数据;
将所述缓存的所述主用板中当前运行的软件的增量配置数据同步更新至所 述备用板;
将所述主用板的进程服务切换至所述备用板。
本发明实施例的一种设备的软件升级方法,所述设备包括主用区和备用区, 所述方法包括以下步骤 '将升级软件加载到所述备用区;
将所述主用区中当前运行的软件的配置数据备份至所述备用区,并緩存所 述主用区中当前运行的软件的增量配置数据;
将所述緩存的所述主用区中当前运行的软件的增量配置数据同步更新至所 述备用区;
将主用区的进程服务切换至所述备用区。
本发明实施例的一种软件升级系统,所述系统包含主用板、备用板,其中 所述主用板,用于将自身运行的第一版本软件的配置数据备份至所述备用
板,并对所述第一版本软件的增量配置数据进行緩存,并用于将所緩存的增量
配置数据发送至所述备用板;
所述备用板,用于对自身加载进行软件升级的第二版本软件,并将来自于
所述主用板的配置数据更新至所述第二版本软件,以及用于将来自于所述主用
板的所述增量配置数据更新至所述第二版本软件,并将所述主用板的进程服务
切换至所自身。
本发明实施例的一种软件升级系统,所述软件升级系统包括主用板、备用
板、以及增量配置数据緩存装置,其中
所述主用板,用于将自身运行的第一版本软件的配置数据备份至所述备用
板并将所述第一版本软件的增量配置数据发送至所述增量配置数据緩存装置;
所述增量配置数据緩存装置,用于将来自于所述主用板的所述增量配置数
据进行緩存;
所述备用板,用于对自身加载进行软件升级的第二版本软件,并将来自于 所述主用板的配置数据更新至所述第二版本软件,以及用于从所述增量配置数 据緩存装置中获取所述增量配置数据,并将所获取的所述增量配置数据更新至 所述第二版本软件,并用于将所述主用板的进程服务切换至所自身。
本发明实施例的一种软件升级系统,所述系统包括主用区、备用区、以及 增量配置数据緩存模块,其中
所述主用区,用于将自身运行的第一版本软件的配置数据备份至所述备用 区,并将所述第 一版本软件的增量配置数据緩存至所述增量配置数据緩存模块;
所述增量配置数据緩存模块,'用于緩存来自所述主用区的增量配置数据;
所述备用区,用于对自身加载进行软件升级的第二版本软件,并将来自于 所述主用区的配置数据更新至所述第二版本软件,以及用于从所述增量配置数 据缓存模块中读取所述增量配置数据并将其更新至所述第二版本软件,并用于 将所述主用板的进程服务切换至自身。
实施本发明实施例的一种设备的软件升级方法以及一种软件升级系统,通 过緩存增量配置数据(也即升级过程中变更的配置数据),并将所緩存的增量配 置数据同步更新至升级版本软件,实现了可靠的业务服务不间断软件升级,提 高了网络设备升级过程的可靠性,降低了网络设备升级风险。


图l是本发明软件升级系统的第一实施例的结构示意图; 图2是本发明软件升级系统的第二实施例的结构示意图; 图3是本发明软件升级系统的第三实施例的结构示意图; 图4是本发明软件升级方法的第一实施例流程示意图; 图5是本发明软件升级方法的第二实施例流程示意图6是本发明软件升级方法的第三实施例流程示意图。
具体实施例方式
为了使本发明实施例的技术方案以及优点更加清楚明白,下面结合附图并 举实施例对本发明实施例进行进一步详细说明。
参考图1,是本发明4欠件升级系统的第一实施例的结构示意图。如图所示, 本发明软件升级系统的第一实施例主要包括主用板IO和备用板11。下面对主用
板10和备用板11以及其相互关系进行详细说明。
所述主用4反10,用于将自身运行的第一版本软件的配置数据备份至所述备
用板11,并对所述第一版本软件的增量配置数据进行緩存,并用于将所緩存的
增量配置数据发送至所述备用板11。具体实施时,所述主用板10主要包括 第一版本软件模块101。
此处,所述第一版本软件才莫块101中的第一版本软件为本发明实施例中需 要被升级的旧版本软件,也即当前运行的软件,在本发明实施例所述的软件升 级系统应用于网络设备时,所述第一版本软件以应用进程形式运行于所述主用 板10中,为网络设备提供相应的进程服务。
配置数据备份单元102,用于将所述第一版本软件模块中的第一版本软件的 配置数据备份至所述备用板11 。
此处,所述配置数据为软件运行时的相关软件配置,这些相应的软件配置
设备的软件配置主要包括配置命令、动态配置和静态配置等,其中,配置命令 主要涉及用户对网络设备进行一些命令操作而产生的命令配置数据,通常用户 通过可以识别的命令行文本形式对网络设备输入配置命令,所输入的配置命令 通过相应的命令解析器转换为机器可以识别的配置数据,比如用户输入的一条 配置命令为ip address 10 .1.1.12 mask 255.255,0.0,该ip address (网络地址)西己 置命令通过命令解析器转换为ip地址表中的一条配置数据记录,该配置数据记 录包含了物理接口和ip地址两个属性。动态配置主要涉及系统中经常更新的一 些配置信息,比如链路的状态、链路的通断、可'用带宽等经常发生变化的配置 信息。静态配置主要涉及系统运行时相对稳定的配置信息,比如系统中唯一标 识某个物理接口的ID信息,该信息配置一般由系统分配并在该物理4妻口存在期
所述主用板10将所述配置数据备份至所述备用板11时, 一般先收集获取 对应所述主用板中的全部配置数据,并对该收集获取的配置数据进行打包后,
以IPC进程间通信消传送至所述备用板,具体备份过程与现有技术类似,在此
不与赘述。
主增量配置数据緩存单元103,用于将对应所述第一版本软件模块中第一版 本软件的增量配置数据进行緩存。
此处,所述增量配置数据为在软件升级过程,也即上述数据备份过程开始 至后续中将要描述的主备倒换期间内变更的配置数据,在本实施例中通过在主 用板中增加一所述的主增量配置数据缓存单元103,实现了将升级过程中变更的 配置数据进行緩存,所述增量配置数据也既变更的配置数据主要包括了软件变 动引起的软件配置变更和附属硬件变化而导致的与附属硬件相关的软件配置, 一般说来,附属硬件变更主要包括以下三种情况
1、 附属硬件的增加,比如由于网络设备的扩容增加一个以太网物理接口, 由此可能带来多条软件配置变更,如链接速度、双工和租界的IP地址等配置的 增力口;
2、 附属硬件的删除,比如淘汰旧的物理端口,与该物理端口相应的软件配 置也必须删除;
3、 附属硬件的更换,比如以太网物理接口更换为更大容量的光接口模块, 这时配置变更将涉及原有以太网接口配置的删除和光接口模块配置的增加。
增量配置凄t据发送单元104,用于将所述增量配置数据緩存单元103所緩存 的增量配置数据发送至所述备用板11。
此处,具体实施时,所述增量配置数据发送单元104 —般是在所述配置数 据备份单元102备份结束后开始向所述备用板11发送所述增量配置数据。
所述备用板11,加载进行软件升级的第二版本软件,并将来自于所述主用 板10的配置数据更新至所述第二版本软件,以及用于将来自于所述主用板10 的所述增量配置数据更新至所述第二版本软件,并将所述主用板10的进程服务 切换至所自身。具体实施时,所述备用板l厂主要包括
升级软件加载单元113,用于加载对备用板进行软件升级的第二版本软件。
此处,所述第二版本软件一般为相对于所述主用板中的第 一版本软件版本
更高的新版本软件,将软件升级为更高版本的软件的目的一般是为了对系统进 行功能升级或解决旧版本软件可能存在的一些漏洞等。
第二版本软件模块112。
此处,所述第二版本软件冲莫块112中的软件为通过所述软件加载单元113 所加载的新版本软件。
配置数据更新单元114,用于将来自所述配置数据备份单元的配置数据更新 至所述第二版本软件模块112。
此处,具体实施时, 一般情况下,所述备用板中的所述第二版本软件也即 新版本软件的配置数据与所述主用板中的所述第一版本软件也即旧版本软件的 配置数据的格式是有差异的,故所述配置数据更新单元114需要对配置数据进 行格式转换后将转换后的配置数据更新至所述第二版本软件才莫块114。具体实现 时,所述配置数据更新单元114主要包括配置数据格式转换单元1142和配置数 据更新执行单元1141,下面对其分别详细说明
配置数据格式转换单元1142,用于将所述配置数据格式转换为对应所述第 二版本软件的配置数据。
此处,所述配置数据的格式转换主要为对配置数据的结构进行增加、删除 或4务改,例如
1、 配置命令格式的变化,不同版本软件的编写格式、风格可能会有差异或 不用,比如为了统一命令行的风格,新版本把命令xxx disable命令(关闭xxx 功能)修改为undo xxx enable (关闭xxx功能),此时在配置数据格式转换时必 须将旧版本的配置数据转换为新版本可以识别的格式,如将xxx disable命令(关 闭xxx功能)〈务改为undo xxx enable (关闭xxx功能)。
2、 默认值的变化,比如某协商报文的默认定时周期设计,旧版本软件默认 为10秒,新版本软件默认为5秒,此时配置数据格式转换时,新版本应当按照 旧版本的默认配置调整为10秒。
配置数据更新执行单元1141,用于将对应所述第二版本软件的配置数据更 新至所述第二版本软件模块112。
备增量配置数据緩存单元116,用于接收来自所述增量配置数据发送单元 104的增量配置数据,并缓存所接收到的增量配置数据。
此处,具体实施时,在所述备增量配置数据缓存单元116通过设置增量配
置数据緩存队列来实现对数据的緩存控制,根据实际需要,可以设置多个优先 级不同的数据緩存队列,比如,划分为高优先级队列、基本优先级队列和低优 先级队列。优先级别主要根据软件配置的依赖关系来确定,比如物理接口的链 路协议(如PPP协议)配置应当优先于网络(如IP地址)的配置,所以物理接 口的链路配置放在高优先级队列,网络配置放在基本优先级队列。再比如访问
控制列表(ACL )应当优先于使用访问控制列表的协议(比如telnet协议)配置, 可以把访问控制列表配置放在基本优先级队列,使用访问控制列表的协议放在 低优先级队列。备用板按照优先顺序,首先恢复高优先级队列的配置,再恢复 基本优先级队列的配置,最后恢复低优先级队列的配置。为了便于增量配置数 据的緩存控制,数据緩存队列逐条存入所述增量配置,每存入一条增量配置, 数据緩存队列的中的队列长度增1 。
增量配置数据更新单元115,用于从所述备增量緩存单元116读取所述增量 配置数据,并将所读取的所述增量配置数据更新至所述第二版本软件模块112。 具体实施时,所'述增量配置数据更新单元115主要包括
增量配置数据读取单元'1153,用于从所述增量配置緩冲队列中读取所述增 量配置数据。
此处,具体实现时,所述增量配置数据读取单元1153从所述备增量配置数 据緩存单元116中的增量配置緩沖队列逐条读取所述增量配置数据。
增量配置数据格式转换单元1152,用于将所述增量配置数据读取单元所读 取的增量配置数据格式转换为对应所述第二版本软件的增量配置数据。
此处,对所述增量配置数据的数据格式转换与所述配置数据才各式转换单元 1142对配置数据的格式转换的定义和原理是类似的,在此不再赘述。
增量配置数据更新执行单元1151,用于将对应所述第二版本的增量配置数 据更新至所述第二版本软件模块112。
切换控制单元111 ,用于将所述主用板10的进程服务切换至所述备用板11。
此处,所述切换控制单元111 一般是在增量配置数据更新执行单元1151完 成了全部增量配置数据的更新也即所述备增量配置数据緩存单元116中各个增 量配置数据緩存队列的长度为0 (即增量配置数据^t全部读取)时,将所述主用 板]0的进程服务切换至所述备用板,以实现主备切换。当然,本领域技术人员 应该明白,如果对于新版本运行并提供进程服务不是非常关键的部分增量配置
数据未完全更新时,也是可以先主备切换,再继续完成未完成部分的增量配置 数据的更新的,当然前提是该未完成部分的增量配置数据的暂时缺失,不会影 响到正常的进程服务以及不应当导致业务服务中断。
参考图2,是本发明软件升级系统的第二实施例的结构示意图。如图所示,
本发明软件升级系统的第二实施例主要包括主用板20、备用板21、以及增量配 置数据缓存装置22。本实施例与所述的本发明软件升级系统的第一实施例的不
增量配置数据,下面对主用板20、备用板21、增量配置数据緩存装置22以及 其相互关系进行详细说明。
所述主用板20,用于将自身运行的第一版本软件的配置数据备份至所述备 用板21,并将所述第一版本软件的增量配置数据发送至所述增量配置数据緩存 装置22。具体实施时,所述主用板20主要包括
第一版本软件模块201。
此处,'所述笫一版本软件才莫块201中的第一版本软件为本发明实施例中需 要被升级的旧版本软件,在本发明实施例所述的软件升级系统应用于网络设备 时,所述第一版本软件以应用进程形式运行于所述主用板20中,为网络设备提 供相应的进程服务。
配置数据备份单元202,用于将所述第一版本软件模块201中的第一版本软 件的配置数据备份至所述备用板21 。
此处,所述配置数据以及所述配置数据备份至所述备用板21的过程与本发 明软件升级系统的第一实施例中描述的类似,在此不再赘述。
增量配置数据发送单元203,用于将对应所述第一版本软件的增量配置数据 发送至所述增量配置缓存装置22。
此处,所述增量配置数据的含义与本发明软件升级系统第一实施例中相应 的描述类似,在此不再赘述。具体实施,所述增量配置数据发送单元203 —般 是在所述数据备份单元202开始数据备份后,将获取的增量配置数据也即变更 的配置数据发送至所述增量配置緩存装置22。
所述增量配置数据緩存装置22,用于将来自于所述主用板20的所述增量配 置数据进行緩存。
此处具体实施时,所述增量配置缓存装置22包括
增量配置数据緩存单元221,用于将来自于所述主用板20的所述增量配置
数据进行緩存。
此处,具体实现时,与所述备增量配置数据緩存单元116类似,也可通过 在所述增量配置数据緩存单元221中设置增量配置数据緩存队列实现对数据的 缓存控制。
增量配置数据格式转换单元222,用于将所述增量配置数据格式转换为对应 所述备用板中所述第二版本软件的增量配置数据。
此处,对所述增量配置数据格式转换的含义与前文相应描述是类似的,所 不同之处在于,可通过相应的外部工具或手动进行增量配置数据的格式转换和 验证,通过将配置数据发送至独立于主用板以及备用板的外围设备(即增量配 置数据緩存装置22),可以降低网络设备软件配置转换的复杂度。由于外围设备 实现增量配置数据格式转换是不受网络设备主用板和备用板中的软件控制的, 故本实施例实现软件升级时,应当预先确知升级时可能会修改哪些软件配置也 即可能会变动那些附属硬件。本实施例的增量配置数据緩存装置22可部署在网 络系统中的本地网络管理机中,.其与网络设备的主用板以及备用板之间文件的 网络传送方式进行通信,由于本实施例的增量配置数据缓存装置22独立于网络 设备,因此其不仅可用于实现在同 一网络设备的主用板和备用板之间实现软件 升级,还可用于实现同时对多个类似功能的网络设备的备用板的软件升级。
所述备用板21,用于对自身加载进行软件升级的第二版本软件,并将来自 于所述主用板20的配置数据更新至所述第二版本软件,以及用于从所述增量配 置数据緩存装置22中获取所述增量配置数据,并将所获取的所述增量配置数据 更新至所述第二版本软件,并用于将所述主用板20的进程服务切换至所自身。 具体实施时,所述备用板主要包括
升级软件加载单元213,用于加载对备用板进行软件升级的第二版本软件。
此处,所述升级软件加载单元213与本发明软件升级系统第一实施例中描 述的升级软件加载单元113相同或类似,在此不再赘述。
第二版本软件模块212。
此处,第二版本软件冲莫块212与本发明软件升级系统第一实施例中描述的 第二版本软件;漠块112相同或类似,在此不再赘述。
配置数据更新单元214,用于将来自所述配置数据备份单元202的配置数据
更新至所述第二软件版本才莫块。
此处、具体实施时,与本发明软件升级系统第一实施例中描述的配置数据
更新单元214类似,所述配置数据更新单元214主要包括
配置数据格式转换单元2142,用于将所述配置凄t据格式转换为对应所述第 二版本软件的配置数据。
此处,所述配置数据格式转换单元2142与本发明软件升级系统第一实施例 中描述的配置数据格式转换单元1142相同或类似,在此不再赘述。
配置数据更新执行单元2141,用于将对应所述第二版本软件的配置数据更 新至所述第二版本软件模块212。
此处,所述配置数据更新执行单元2141与本发明软件升级系统第一实施例 中描述的配置萄:据更新执行单元1141相同或类似,在此不再赘述。
增量配置数据更新单元215,用于从所述增量配置数据緩存装置22获取所 述对应于所述第二软件版本的增量配置数据,并将所获取的对应于所述第二软 件版本的所述增量配置数据更新至所述第二版本软件^f莫块212。'
切换控制单元211,用于将所述主用板的进程服务切换至所述备用板。
此处,所述切换控制单元211与本发明软件升级系统第一实施例中描述的 切换控制单元lll相同或类似,在此不再赘述。
参考图3,是本发明软件升级系统的第三实施例结构示意图。如图所示,本 发明软件升级系统的第三实施例主要包括主用区30、备用区31以及增量配置緩 存模块32,与前述本发明软件升级系统的第一实施例以及本发明软件升级系统 的第二实施例不同,本实施例是在网络设备的同一单板上实现软件升级,下面 分别对所述主用区30、所述备用区31以及所述增量配置数据緩存模块的功能以 及其相互关系进行详细i兌明。
所述主用区30,用于将自身运行的第一版本软件的配置数据备份至所述备 用区31,并将所述第一版本软件的增量配置数据緩存至所述增量配置数据緩存 模块32。具体实施时,所述主用区30包括
第一版本软件模块301。
此处,所述第一版本软件模块301中的第一版本软件为本发明实施例中需 要被升级的旧版本软件,在本发明实施例所述的软件升级系统应用于网络设备 时,所述第一版本软件以应用进程形式运行于所述主用区30中,为网络设备提
供相应的进程服务。
配置数据备份单元302,用于将所述第一版本软件模块中的第一版本软件的 配置数据备份至所述备用区31。
此处,所述配置数据的备份过程与本发明软件升级系统第一实施例中所描 述的配置数据备份过程是类似的,所不同之处在于,所述本发明软件升级系统 第 一实施例中是将配置数据从主用板备份至备用板,而本实施例中则是在同一 主控板中的两个不同区域间实现配置数据备份。
所述增量配置数据緩存^^莫块32,用于緩存来自所述主用区的增量配置数据。 此处,具体实施时,与本发明软件升级系统的第一实施例中所描述的备增量配 置数据緩存单元116相类似,所述增量配置数据缓存模块32通过设置增量配置 数据緩存队列来实现对数据的緩存控制。
所述备用区31,用于对自身加载进行软件升级的第二版本软件,并将来自 于所述主用区30的配置数据更新至所述第二版本软件,以及用于从所述增量配 置数据緩存模块32中读取所述增量配置数据并将其更新至所述第二版本软件, 并用于将所述主用板的进程服务切换至自身。具体实施时,所述备用区31主要 包括
升级软件加载单元313,用于加载对备用区31进行软件升级的第二版本软件。
此处,第二版本软件模块313与本发明软件升级系统第一实施例中描述的 第二版本软件模块112相同或类似,在此不再赘述。 第二版本软件模块312。
此处,第二版本软件;漠块312与本发明软件升级系统第一实施例中描述的 第二版本软件模块112相同或类似,在此不再赘述。
配置数据更新单元314,用于将来自所述配置数据备份单元的配置数据更新 至所述第二软件版本模块。
此处、具体实施时,与本发明软件升级系统第一实施例中描述的配置数据 更新单元214类似,所述配置数据更新单元314主要包括
配置数据格式转换单元3142,用于将所述配置数据格式转换为对应所述第 二版本软件的配置数据。
此处,所述配置数据格式转换单元2142与本发明软件升级系统第一实施例
中描述的配置数据格式转换单元1142相同或类似,在此不再赘述。
配置数据更新执行单元3141,用于将对应所述第二版本软件的配置数据更 新至所述第二版本软件模块。
此处,所述配置数据更新执行单元2141与本发明软件升级系统第一实施例 中描述的配置数据更新执行单元1141相同或类似,在此不再赘述。
增量配置数据更新单元315,用于从所述增量配置数据緩存模块中读取所述 增量配置数据,并将所读取的所述增量配置数据更新至所述第二版本软件才莫块。
具体实施时,所述增量配置数据更新单元包括
增量配置数据读取单元3153,用于从所述增量配置緩冲队列中读取所述增 量配置数据。
此处,具体实现时,所述增量配置数据读取单元3153从所述增量配置数据 緩存模块32中的增量配置緩冲队列逐条读取所述增量配置数据。
增量配置数据格式转换单元3152,用于将所述增量配置数据读取单元所读 取的增量配置数据格式转换为对应所述第二版本软件的增量配置数据。
此处,所述增量配置数据格式转换单元3152与本发明软件升级系统第一实 施例中描述的增量配置数据格式转换单元1152相同或类似,在此不再赘述。
增量配置数据更新执行单元1151,用于将对应所述第二版本的增量配置数 据更新至所述第二版本软件模块312。
此处,所述切换控制单元311 —般是在增量配置数据更新执行单元3151完 成了全部增量配置数据的更新也即所述增量配置数据緩存模块32中各个增量配 置数据缓存队列的长度为0 (即增量配置数据被全部读取)时,将所述主用区 30的进程服务切换至所述备用区。
本实施例所描述的为在网络设备的同 一主控板中实现进程服务不间断的软 件升级,为此网络设备的主控板需为能支持多进程服务的系统,在升级切换成 功后,将注销旧版本软件进程(也即所述第一版本软件进程)。
参考图4,为本发明软件升级方法的第一实施例流程示意图。如图所示,该 实施例实施过程如下
步骤s401,将用于升级的第二版本软件加载到备用板。
此处,所述第二版本为用于软件升级的升级^L件。
步骤s402,获取所述主用板中当前运行的第一版本软件的配置数据,并緩
存第 一版本软件的增量配置数据。
此处,所述配置数据为软件运行时的相关软件配置,这些相应的软件配置 是软件正常运行并为网络设备提供正常有效的进程服务的关键, 一般说来网络 设备的软件配置主要包括配置命令、动态配置和静态配置等,其中,配置命令 主要涉及用户对网络设备进行一些命令操作而产生的命令配置数据,通常用户 通过可以识别的命令行文本形式对网络设备输入配置命令,所输入的配置命令 通过相应的命令解析器转换为机器可以识别的配置数据,比如用户输入的一条
配置命令为ip address 10 .1.1.12 mask 255.255.0.0,该ip address配置命令通过命 令解析器转换为ip地址表中的一条配置数据记录,该配置数据记录包含了物理 接口和ip地址两个属性。动态配置主要涉及系统中经常更新的一些配置信息, 比如链路的状态、链路的通断、可用带宽等经常发生变化的配置信息。静态配 置主要涉及系统运行时相对稳定的配置信息,比如系统中唯一标识某个物理接 口的ID信息,该信息配置一4殳由系统分配并在该物理接口存在期间一直有效。
所述增量配置数据为在软件升级过程中变更的配置数据,在本实施例'中通 过在主用板中增加一主增量配置数据緩存,实现了将升级过程中变更的配置数 据进行緩存,所述增量配置数据也既变更的配置数据主要包括了软件变动? 1起 的软件配置变更和附属硬件变化而导致的与附属硬件相关的软件配置, 一般说 来,附属硬件变更主要包括以下三种情况
1、 附属硬件的增加,比如由于网络设备的扩容增加一个以太网物理接口, 由此可能带来多条软件配置变更,如链接速度、双工和租界的IP地址等配置的 增力口;
2、 附属硬—件的删除,比如淘汰旧的物理端口,与该物理端口相应的软件4欠 件配置也必须删除;
3、 附属硬件的更换,比如以太网物理接口更换为更大容量的光接口模块, 这时配置变更将涉及原有以太网接口配置的删除和光接口模块配置的增加。
步骤s403,将所获取的配置数据发送至所述备用板。
此处,-具体实施时, 一般通过IPC进程间通讯实现将所述配置数'据发送至
所述-备用板。
步骤s404,将所述配置数据格式转换为对应所述第二版本软件的配置数据。 此处,所述配置数据的格式转换主要为对配置数据的结构进行增加、删除
或》务改,例如
1、 配置命令格式的变化,不同版本软件的编写格式、风格可能会有差异或
不用,比如为了统一命令行的风格,新版本把命令xxx disable命令(关闭xxx 功能)修改为undo xxx enable,此时在配置数据格式转换时必须将旧版本的配置 数据转换为新版本可以识别的格式,如将xxx disable命令(关闭xxx功能)修 改为undo xxx enable 。
2、 默认值的变化,比如某协商报文的默认定时周期设计,旧版本软件默认 为10秒,新版本软件默认为5秒,此时配置数据格式转换时,新版本应当按照 旧版本的默认配置调整为10秒。
步骤s405,根据所述对应于所述第二版本软件的配置数据更新所述第二版 本的配置数据。
步骤s406,将所述緩存在主用板中的当前运行的第一版本软件增量配置数 据发送至所述备用板。
此处,.具体实施时, 一般通过IPC进程间通讯实现将所述增量S乙置数据发 送至所述备用板。
步骤s407,备用板将来自于主用板的增量配置数据緩存至增量配置数据緩 存队列。
此处,具体实施时,通过设置增量配置数据緩存队列来实现对数据的緩存 控制,根据实际需要,可以设置多个优先级不同的数据緩存队列,比如,划分 为高优先级队列、基本优先级队列和低优先级队列。优先级别主要根据软件配 置的依赖关系来确定,比如物理接口的链路协议(如PPP协议)配置应当优先 于网络(如IP地址)的配置,所以物理接口的链路配置放在高优先级队列,网 络配置放在基本优先级队列。再比如访问控制列表(ACL)应当优先于使用访 问控制列表的协议(比如telnet协议)配置,可以把访问控制列表配置力丈在基本 优先级队列,使用访问控制列表的协议放在低优先级队列。备用板按照优先顺 序,首先恢复高优先级队列的配置,再恢复基本优先级队列的配置,最后恢复 低优先级队列的配置。为了便于增量配置数据的緩存控制,数据缓存队列逐条 存入所述增量配置,每存入一条增量配置,数据緩存队列的中的队列长度增1。
步骤s408,从增量配置缓存队列中读取增量配置数据并将其格式转换为对
应第二版本软件的增量配置数据。
此处,增量配置数据格式转换的原理和过程与前述配置数据格式转换是类 似的,在此不再赘述。
步骤s409,将格式转换后的增量配置数据更新至所述第二版本软件。
步骤s410,将所述主用板的进程服务切换至备用板。
步骤s411,将所述备用板中的第二版本软件以及其配置数据备份至主用板。
此处,该步骤s411是在备用板软件升级成功后,用备用板中的升级软件(也 即第二版本软件)以及相应的配置数据更新原主用板中的软件以及配置数据, 从而实现网络设备的主用板和备用板均升级至更高版本软件。
参考图5,为本发明软件升级方法的第二实施例流程示意图。如图所示,该 实施例实施过程如下
步骤s501,将用于升级的第二版本软件加载到备用^1。
步骤s502,获取所述主用板中当前运行的第一版本软件的配置数据,并将 第 一版本软件的增量配置数据存储于设备'外的存储介质中。
此处,具体实施时, 一般是将所述增量配置数据以网络传送方式发送至网 络管理系统中的网络管理机中的存储介质中。
步骤s503,将所获取的配置数据发送至所述备用板。
此处,具体实施时, 一般通过IPC进程间通讯实现将所述配置数据发送至 所述备用才反。
步骤s504,将所述配置数据格式转换为对应所述第二版本软件的配置数据。 此处,所述步骤s504与步骤s404类似,在此不再追述。 步骤s505,根据所述对应于所述第二版本软件的配置数据更新所述第二版 本的配置数据。
步骤s506,将所述存储于设备外的增量配置数据格式转换为对应备用板中 所述第二版本软件的增量配置凄丈据。
此处,对所述增量配置数据格式转换的含义与前文相应描述是类似的,所 不同之处在于,可通过相应的外部工具或手动进行增量配置数据的格式转换和 验'证,通过将增量配置数据发送至独立于主用板以及备用板的外围设备,可以 降低网络设备软件配置转换的复杂度。由于外围设备实现增量配置数据格式转
时,应当预先确知升级时可能会修改哪些软件配置也即可能会变动那些附属硬 件。本实施例的设备外的存储介质可部署在网络系统中的本地网络管理机中, 其与网络设备的主用板以及备用板之间文件的网络传送方式进行通信,由于增 量配置数据的格式转换独立于网络设备,因此其不仅可用于实现在同 一 网络设 备的主用板和备用板之间实现软件升级,还可用于实现同时对多个类似功能的 网络设备的备用板的软件升级。
步骤s507,将所述增量配置数据发送至所述备用板。
步骤s508,将所接收到的增量配置数据更新至所述第二版本软件。
步骤s509,将所述备用板中的第二版本软件以及其配置数据备份至主用板。
参考图6,为本发明软件升级方法的第三实施例流程示意图。本实施例是在
同一单板上实现软件升级,为此为了实现软件升级,需在单板上与存储原版本
软件以及相应的配置的存储区之外的区域定义用于加载相应升级软件的备用
区,如图所示,该实施例实施过程如下
步骤s601 ,将用于升级的第二版'本软件加载到备用区。
步骤s602,获取所述主用区中当前运行的第一版本软件的配置数据,并将
第一版本软件的增量配置数据緩存至增量配置数据緩存队列。
此处,所述增量配置数据缓存队列的緩存控制原理以及实现机制与步骤 s407中所描述的是类似的,在此不再赘述。
步骤s603,将所获取的配置数据发送至所述备用区。
步骤s604,将所述配置数据格式转换为对应所述第二版本软件的配置数据。 此处,所述步骤s604与步骤s404类似,在此不再追述。 步骤s605,根据所述对应于所述第二版本软件的配置数据更新所述第二版 本的配置数据。
步骤s606,从增量配置緩存队列中读取增量配置数据并将其格式转换为对 应第二版本软件的增量配置数据。
此处,增量配置数据格式转换的原理和过程与前述配置数据格式转换是类 似的,在此不再赘述。
步骤s607,将格式转换后的增量配置数据更新至所述第二版本软件。
步骤s608,将所述主用区的进程服务切换至备用区。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通
技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰, 这些改进和润饰也应^L为本发明的保护范围。
权利要求
1、一种设备的软件升级方法,其特征在于,所述设备包含主用板和备用板,所述方法包括以下步骤将升级软件加载到所述备用板;将所述主用板中当前运行的软件的配置数据备份至所述备用板,并缓存所述主用板中当前运行的软件的增量配置数据;将所述缓存的所述主用板中当前运行的软件的增量配置数据同步更新至所述备用板;将所述主用板的进程服务切换至所述备用板。
2、 如权利要求l所述的方法,其特征在于,所述将所述主用板中当前运行 的软件的配置数据备份至所述备用板的步骤具体为获取所述主用板中当前运行的软件的配置数据; 将所述获取的配置数据发送至所述备用板;将所述配置数据格式转换为对库所述备用板中所述升级软件版本的配置数据;根据转换后的配置数据更新所述升级软件的配置数据。
3、 如权利要求2所述的方法,其特征在于,将所述缓存的所述主用板中当 前运行的软件的增量配置数据同步更新至所述备用板的步骤具体为在所述备用板中设置至少一个增量配置数据緩沖队列; 将所述緩存的所述主用板中当前运行的软件的增量配置数据发送至所述备 用板;所述备用板接收所述增量配置数据并将所接收到的所述增量配置数据緩存 至所述增量配置数据缓沖队列;读取所述增量配置数据緩沖队列中的增量配置数据并将其格式转换为对应 于所述备用板中所述升级软件版本的增量配置数据;升级软件的配置数据。
4、 如权利要求3所述的方法,其特征在于,所述緩存所述主用板中当前运行的软件的增量配置数据,将所述緩存的所述主用板中当前运行的软件的增量配置数据同步更新至所述备用板的步骤包括以下子步骤将所述主用板中当前运行的软件的增量配置数据存储于设备外的存储介质中;将所述存储于设备外的存储介质中的所述增量配置数据格式转换为对应于所述备用板中所述升级软件版本的增量配置数据; 备用板。
5、 如权利要求1至4任意一项所述的方法,其特征在于,所述增量配置数 据包括软件配置变动引起的增量配置数据或附属硬件变动引起的增量配置数 据。
6、 一种设备的软件升级方法,其特征在于,所述设备包含主用区和备用区, 所述方法包括以下步骤将升级软件加载到所述备用区;将所述主用区中当前运行的软件的配置数据备份至所述备用区,并缓存所 述主用区中当前运行的软件的增量配置数据;将所述緩存的所述主用区中当前运行的软件的增量配置数据同步更新至所 述备用区;将主用区的进程服务切换至所述备用区。
7、 如权利要求6所述的方法,其特征在于,将所述主用区中当前运行的软 件的配置数据备份至所述备用区的步骤包括以下子步骤获取所述主用区中当前运行的软件的配置数据; 将所述获取的配置数据发送至所述备用区;将所述配置数据格式转'换为对应所述备用区中所述升级软件版本的配置数据;根据所述对应所述备用区中所述升级软件版本的配置数据更新所述升级软件的配置数据。
8、 如权利要求7所述的方法,其特征在于,设置至少一个增量配置数据緩 冲队列,所述緩存所述主用区中当前运行的软件的增量配置数据的步骤为将所述主用区中当前运行的软件的增量配置数据缓存至所述增量配置数据 緩冲队列。
9、 如权利要求8所述的方法,其特征在于,所述将所述緩存的所述主用区 中当前运行的软件的增量配置数据同步更新至所述备用区的步骤包括以下子步 骤读取所述增量配置緩冲队列中的所述增量配置数据并将其格式转换为对应 于所述备用区中所述升级软件版本的增量配置数据;根据所述对应于所述备用区中所述升级软件版本的增量配置数据更新所述 升级软件的配置数据。
10、 一种软件升级系统,其特征在于,所述系统包含主用板、备用板,其中所述主用板,用于将自身运行的第一版本软件的配置数据备份至所述备用 板,并对所述第一版本软件的增量配置数据进行緩存,并用于将所緩存的增量 配置数据发送至所述备用板;所述备用板,用于对自身加载进行软件升级的第二版本软件,并将来自于 所述主用板的配置数据更新至所述第二版本软件,以及用于将来自于所述主用 板的所述增量配置数据更新至所述第二版本软件,并将所述主用板的进程服务 切换至所自身。
11、 如权利要求IO所述的系统,其特征在于,所述主用板包括 第一版本软件模块;配置数据备份单元用于将所述第 一版本软件模块中的第 一版本软件的配 置数据备份至所述备用板;主增量配置数据緩存单元,用于将对应所述第一版本软件模块中第一版本软件的增量配置数据进行緩存;增量配置数据发送单元,用于将緩存于所述主增量配置数据緩存单元的增 量配置数据发送至所述备用板。
12、 如权利要求11所述的系统,其特征在于,所述备用板包括 升级软件加载模块,用于加载对备用板进行软件升级的第二版本软件; 第二版本软件模块;配置数据更新单元,用于将来自所述配置数据备份单元的配置数据更新至 所述第二软件版本模块;备增量配置数据缓存单元,用于接收来自所述增量配置数据发送单元的增 量配置数据,并緩存所接收到的增量配置数据;增量配置数据更新单元,用于从所述备增量缓存单元读取所述增量配置数 据,并将所读取的所述增量配置数据更新至所述第二版本软件冲莫块;切换控制单元,用于将所述主用板的进程服务切换至所述备用板。
13、 如权利要求12所述的系统,其特征在于,所述配置数据更新单元包括 配置数据格式转换单元,用于将所述配置数据格式转换为对应所述第二版本软件的配置数据;配置数据更新执行单元,用于将对应所述第二版本软件的配置数据更新至 所述第二版本软件模块。
14、 如权利要求13所述的系统,其特征在于,所述备增量配置数据缓存单 元包括至少一个用于緩存增量配置数据的增量配置数据缓冲队列;所述增量配置数据更新单元包括增量配置数据读取单元,用于从所述增量配置緩沖队列中读取所述增量配 置数据;增量配置数据格式转换单元,用于将所述增量配置数据读取单元所读取的 增量配置数据格式转换为对应所述第二版本软件的增量配置数据;增量配置数据更新执行单元,用于将对应所述第二版本的增量配置数据更 新至所述第二版本软件模块。
15、 一种软件升级系统,其特征在于,所述软件升级系统包括主用板、备 用板、以及增量配置数据缓存装置,其中所述主用板,用于将自身运行的第一版本软件的配置数据备份至所述备用 板并将所述第一版本软件的增量配置数据发送至所述增量配置数据緩存装置;所述增量配置数据緩存装置,用于将来自于所述主用板的所述增量配置数 据进行緩存;所述备用板,用于对自身加载进行软件升级的第二版本软件,并将来自于 所述主用板的配置数据更新至所述第二版本软件,以及用于从所述增量配置数 据緩存装置中获取所述增量配置数据,并将所获取的所述增量配置数据更新至 所述第二版本软件,并用于将所述主用板的进程服务切换至所自身。
16、如权利要求15所述的系统,其特征在于,所述主用板包括 第一版本软件模块;配置数据备份单元,用于将所述第一版本软件模块中的第一版本软件的配 置数据备份至所述备用板;增量配置数据发送单元,用于将对应所述第一版本软件的增量配置数据发 送至所述增量配置缓存装置。
17、如权利要求16所述的系统,其特征在于,所述增量配置数据緩存装 置包括增量配置数据缓存单元,用于将来自于所述主用板的所述增量配置数据进 行緩存;增量配置数据格式转换单元,用于将所述增量配置数据格式转换为对应所 述备用板中所述第二版本软件的增量配置数据;
18、如权利要求17所述的系统,其特征在于,所述备用板包括 升级软件加载模块,用于加载对备用板进行软件升级的第二版本软件;-第二版本软件模块;配置数据更新单元,用于将来自所述配置数据备份单元的配置数据更新至 所述第二软件版本才莫块;增量配置凄t据更新单元,用于从所述增量配置数据緩存装置获取所述对应 于所述第二软件版本的增量配置数据,并将所获取的对应于所述第二软件版本的所述增量配置数据更新至所述第二版本软件才莫块;切换控制单元,用于将所述主用板的进程服务切换至所述备用板。
19、 如权利要求18所述的系统,其特征在于,所述配置数据更新单元包括 配置数据格式转换单元,用于将所述配置数据格式转换为对应所述第二版本软件的配置数据;配置数据更新执行单元,用于将对应所述第二版本软件的配置数据更新至 所述第二版本软件模块。
20、 一种软件升级系统,其特征在于,所述系统包括主用区、备用区、以 及增量配置数据緩存模块,其中所述主用区,用于将自身运行的第一版本软件的配置数据备份至所l备用 区,并将所述第一版本软件的增量配置数据緩存至所述增量配置数据緩存模块; 所述增量配置数据缓存模块,用于緩存来自所述主用区的增量配置数据; 所述备用区,用于对自身加载进行软件升级的第二版本软件,并将来自于 所述主用区的配置数据更新至所述第二版本软件,以及用于从所述增量配置数 据缓存模块中读取所述增量配置数据并将其更新至所述第二版本软件,并用于 将所述主用板的进程服务切换至自身。
21、 如权利要求20所述的系统,其特征在于,所述主用区包括 第一版本软件模块;配置数据备份单元,用于将所述第 一版本软件模块中的第 一版本软件的配 置数据备份至所述备用区。
22、 如权利要求21所述的系统,其特征在于,所述备用区包括 升级软件加载;f莫块,用于加载对备用区进行软件升级的第二版本软件;第二版本软件模块;配置数据更新单元,用于将来自所述配置数据备份单元的配置数据更新至所述第二软件版本模块;增量配置数据更新单元,用于从所述增量配置数据缓存^t块中读取所述增 量配置数据,并将所读取的所述增量配置数据更新至所述第二版本软件模块;切换控制单元,用于将所述主用板的进程服务切换至所述备用板。
23、 如权利要求22所述的系统,其特征在于,所述配置数据更新单元包括 配置数据格式转换单元,用于将所述配置数据格式转换为对应所述第二版本软件的配置数据;配置数据更新执行单元,用于将对应所述第二版本软件的配置数据更新至 所述第二版本软件模块。
24、 如权利要求23所述的系统,其特征在于,所述增量配置数据缓存模块 包括至少一个用于緩存增量配置数据的增量配'置数据緩冲队列;所述增量配置数据更新单元包括增量配置数据读取单元,用于从所述增量配置緩冲队列中读取所述增量配 置数据;增量配置数据格式转换单元,用于将所述增量配置数据读取单元所读取的 增量配置数据格式转换为对应所述第二版本软件的增量配置数据;增量配置数据更新执行单元,用于将对应所述第二版本的增量配置数据更 新至所述第二版本软件模块。
全文摘要
本发明公开了一种软件升级系统,主要包括主用板和备用板,其中所述主用板,用于将自身运行的第一版本软件的配置数据备份至所述备用板,并对所述第一版本软件的增量配置数据进行缓存,并用于将所缓存的增量配置数据发送至所述备用板;所述备用板,用于对自身加载进行软件升级的第二版本软件,并将来自于所述主用板的配置数据更新至所述第二版本软件,以及用于将来自于所述主用板的所述增量配置数据更新至所述第二版本软件,并将所述主用板的进程服务切换至所自身。同时本发明还公开了相应的软件升级方法,通过本发明提供的软件升级系统、方法,实现了可靠的业务服务不间断软件升级,提高了网络设备升级过程的可靠性,降低了网络设备升级风险。
文档编号G06F9/445GK101102219SQ20071002946
公开日2008年1月9日 申请日期2007年7月30日 优先权日2007年7月30日
发明者安宏杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1