一种软件升级及回退方法

文档序号:7591543阅读:179来源:国知局
专利名称:一种软件升级及回退方法
技术领域
本发明涉及通信设备中的软件升级技术,特别是涉及一种软件升级及回退方法。
背景技术
一般而言,软件的版本越高,所提供的功能越多越强。因此,可以在不改变硬件设备的条件下,通过对软件版本进行升级来修改原有软件版本的缺陷,实现更多功能。通常可以通过操作维护中心(OMC)对通信设备中的软件版本进行升级。在网络管理系统中,提供通信服务的通信设备本身称为网元(NE),用于集中管理网元的设备称为OMC,OMC可以管理一个地区的多个网元。OMC的主要功能是存储、分析从各个网元发来的信息,监视网络状态,发出控制命令或测试命令以对网元实行集中操作维护,实现网元的无人值守。OMC也具有软件升级和网络配置的能力,能够保存软件版本、控制运行软件版本、执行软件加载、上/下装入软件和激活/去活软件。
通信设备中通常可以插入多块单板,并通过主控板控制其它单板的配置维护和软件加载。随着通信设备处理能力的逐渐增强,通信设备中的处理程序也越来越庞大。因此,在对通信设备中的软件版本进行升级时,需要加载大量的新版本软件给不同的单板。通信设备作为网元,可以和OMC处于不同的地点,而且设备侧可能无人值守,这时,对软件升级的可靠性要求就会很高。另外,通信设备的故障影响往往很大,如果交换机设备出现故障,则可能会引起该交换机设备控制的整个地区的电话中断;如果移动通信设备出现故障,则可能导致该移动通信设备所覆盖的大面积范围内的移动电话不能使用。因此,要求通信设备具有很高的可靠性,而软件升级的可靠性又是影响通信设备可靠性的一个重要方面。一旦新版本软件升级失败,就要求能够迅速回退到原来的软件版本,以保证设备的正常运行和客户业务的提供。
现有技术进行软件升级方法如图1所示,包括以下步骤步骤101、在进行软件升级之前,需要对NE上当前运行的软件版本进行备份,即将旧版本软件、配置数据及其补丁都备份到OMC的文件服务器中。其中,配置数据是指NE上需要用户配置的一些参数,比如移动交换中心(MSC)局的名称、信令点(SP)、网络协议(IP)地址、基站发射功率、基站发射频率等,这些参数随着产品销售到不同的地区而需要进行不同的配置。
步骤102、从OMC的文件服务器中下载新版本软件保存到NE主控板的存储单元软件区中,直接将新版本软件覆盖主控板上软件区中的旧软件版本。在整个下载过程中,系统旧版本软件照常运行。
步骤103、进行激活下载的新版本软件的操作,即将新版本软件加载到各个单板的内存中以运行新版本软件。
步骤104、从OMC的文件服务器下载新版本软件的配置数据保存到NE主控板的存储单元软件区中,这时被激活的新版本软件就会使用新的配置数据来为用户提供业务。
步骤105~107、在软件升级完成之后,新版本软件试运行,并通过电话拨测等人工操作来判断新版本软件是否运行正常,如果是,则升级成功,结束流程;否则进行软件回退操作,升级失败,结束流程。
基于上述软件升级的方法,现有技术进行软件回退的方法如图2所示。在新版本软件升级失败之后,从OMC的文件服务器中下载旧版本软件保存到NE主控板的存储单元软件区中。进行激活下载的旧版本软件的操作,并从OMC的文件服务器上下载旧版本软件的配置数据保存到NE主控板的存储单元软件区中,这时被激活的旧版本软件就会使用对应的配置数据来为用户提供业务。如果旧版本软件打了补丁,则需要重新进行打补丁操作,否则不进行打补丁操作。这样,软件回退就完成了。
从上述现有技术方案可以看出,如果下载新版本软件的过程失败,此时已经下载的新版本软件就覆盖了系统当前运行的部分旧版本软件,这虽然不会影响系统软件的正常运行,但如果这时系统发生重新启动,就无法再加载完整的软件了。在这种情况下,就需要用户从OMC上备份的软件版本中恢复当前运行的软件版本,也就是要进行软件回退的整个操作过程,这就会导致较长时间的系统业务中断。而且,虽然进行激活下载的新版本软件的操作之后,新版本软件开始运行,但由于还没有从OMC的文件服务器上下载新的配置数据,系统还不能为用户正常提供业务,这同样增加了系统业务中断的时间。
另外,新版本软件升级失败以后需要进行旧版本软件的回退,当软件涉及的单板较多时,由于回退过程比较复杂,需要操作的步骤较多,因而容易发生软件回退失败。如果软件回退失败,就会导致系统业务的中断。而且,如果旧版本软件打过补丁,软件回退后还需要重新进行打补丁操作,由于打补丁操作过程比较复杂,一般来说包括下载、激活、确认等操作,因此也很难保证回退后的补丁状态与升级前的补丁状态一致。

发明内容
有鉴于此,本发明的主要目的在于提供一种软件升级及回退方法,使其能降低软件回退的复杂度,降低软件升级与回退失败的风险,并减少由于软件升级导致的系统业务中断时间。
为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种软件升级及回退方法,该方法包括以下步骤a.系统运行网元主区中的旧版本软件,在进行软件升级时,将新版本软件及其配置数据下载到该网元的备区;b.进行包含主区和备区切换的激活新版本软件操作,完成新版本软件升级,系统运行当前主区中的新版本软件;
c.判断新版本软件是否运行正常,如果运行正常,则新版本软件升级成功,结束流程;否则进行包含主区和备区切换的激活旧版本软件操作,完成旧版本软件回退,系统运行当前主区中的旧版本软件,结束流程。
上述方案中,步骤b或c中,所述主区和备区切换的方法为将主区标志修改为备区标志和将备区标志修改为主区标志。
步骤c中,所述判断新版本软件是否运行正常的方法为在一段预设时间内试运行新版本软件,并执行软件版本验证操作。在所述新版本软件升级成功之后,进一步包括进行使备区内容与主区内容保持一致的同步操作。其中,所述进行使备区内容与主区内容保持一致的同步操作为将主区中的软件版本及其配置数据复制到备区;如果主区中有补丁,则同时将补丁复制到备区。另外,在所述新版本软件升级成功之后,还可以进一步包括如果需要对新版本软件进行打补丁操作,则将补丁打在主区中。
上述方案中,步骤b或c中,所述进行包含主区和备区切换的激活软件操作进一步包含将当前主区中包含的软件版本加载到各个单板的内存中以运行软件。步骤c中,所述进行包含主区和备区切换的激活软件操作进一步包括如果当前主区中包含补丁,则恢复补丁的原有状态。
由上述方案可以看出,本发明的关键在于网元包含主区和备区两个软件区,系统运行网元主区中的旧版本软件,在进行软件升级时,将新版本软件及其配置数据下载到网元的备区之后进行包含主区备区切换的激活新版本软件操作,完成新版本软件的升级;软件升级失败后所进行软件回退过程同样是进行包含主区备区切换的激活旧版本软件操作,完成旧版本软件的回退。
因此,本发明所提供的这种软件升级及回退方法,在下载新版本软件失败时,不会影响系统当前版本软件的运行以及系统业务的提供,并保证了在发生重新启动的情况下,系统能够重新加载完整的旧版本软件,而不必从OMC文件服务器重新下载旧版本软件。由于将新版本软件及其配置数据同时下载到软件区,在进行激活新版本软件的操作之后,新版本软件就可以立即使用新的配置数据为客户提供业务,因而减少了系统业务中断的时间。
另外,本发明提供的软件升级及回退方法,简化了软件回退时用户的操作和系统内部流程,无需执行复杂的软件回退操作步骤,即使旧版本软件打过补丁,也无需重新执行打补丁操作,因此,降低了软件升级失败后回退到旧版本软件的实现复杂度,提高了软件升级及回退的可靠性,保证了旧版本软件回退后运行状态与升级前运行状态的一致性,进而也减少了业务中断的时间。


图1为现有技术软件升级方法的实现流程图;图2为现有技术软件回退方法的实现流程图;图3为本发明软件升级和回退方法的实现流程图。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
为了实现本发明软件升级方法,网元上必须提供主区和备区两个软件区,并根据主区和备区标志来确定当前系统使用的软件版本。本实施例中,主区和备区都位于网元的主控板上,而且主区中的软件版本是系统当前运行的软件版本。在下载新版本软件过程中,新版本软件存放在备区,然后进行包含主区和备区切换的激活新版本软件操作,完成新版本软件的升级,这时,系统运行当前主区中的新版本软件。如果升级失败,软件回退的过程同样是进行包含主区备区切换的激活旧版本软件操作,完成旧版本软件的回退,这时,系统运行当前主区中的旧版本软件。
如图3所示,本发明软件升级及回退方法包括以下步骤步骤301、从OMC的文件服务器下载新版本软件及其配置数据到NE的备区。这样,就不会影响主区的内容,也不会影响系统当前运行的软件和系统业务的提供。
步骤302、进行激活新版本软件的操作,包括修改主区和备区标志,即将主区标志修改为备区标志,将备区标志修改为主区标志,然后将当前主区中包含的新版本软件加载到各个单板的内存中以运行新版本软件。
步骤303、新版本软件在一段预设时间内试运行,并执行一些软件版本验证过程,例如,进行电话拨测、查看话务统计指标、查看设备状态等操作,以验证新版本软件是否运行正常。整个软件试运行过程可以持续3天或一周,具体试运行周期可以根据维护通信设备的运营商的要求和具体通信设备的地位来决定。
步骤304~306、判断新版本软件是否运行正常,如果是,则升级成功,结束流程;否则进行软件回退操作,即进行激活旧版本软件的操作,包括修改主区和备区标志,也就是将主区标志修改为备区标志,将备区标志修改为主区标志,然后将当前主区中包含的旧版本软件加载到各个单板的内存中以运行旧版本软件,如果旧版本软件打过补丁,则同时恢复补丁的原有状态,然后结束流程。
在升级成功之后可以执行使备区内容与主区内容保持一致的同步操作,即将主区中的软件版本及其配置数据复制到备区,如果有补丁,则同时也将补丁复制到备区。其中,同步操作是为了保持主区和备区内容一致而进行的,这样可以确保主区软件出现内部运行错误时,通过直接切换主区和备区就可以保证系统软件继续正常运行。同步操作可以在每次主区内容发生更新之后进行,比如在主区中打了新版本补丁,则执行一次同步操作。
以下举一个具体的例子来说明。
假设在升级之前,主控板上主区和备区所保存的软件版本是一样的,都是V1.2版本软件及其配置数据,也就是说,网元上系统当前运行V1.2版本软件。并且假设在主区中已经打了一个补丁,补丁版本为SP02。这时,主区包含V1.2版本软件及其配置数据和SP02版本补丁,备区包含V1.2版本软件及其配置数据。如果这时执行同步操作,可以保证备区和主区内容一致。
现在开始进行软件升级,假设准备将软件升级为V1.3版本,具体过程包括1)将V1.3版本软件及其配置数据下载到网元的备区中,这时,备区包含V1.3版本软件及其配置数据,主区包含V1.2版本软件及其配置数据和SP02版本补丁。
2)进行激活V1.3版本软件的操作,包括修改主区和备区标志,即将主区标志修改为备区标志,将备区标志修改为主区标志,然后加载当前主区中的V1.3版本软件以运行V1.3版本软件。这时,主区包含V1.3版本软件及其配置数据,备区包含V1.2版本软件及其配置数据和SP02版本补丁。
3)V1.3版本软件在一段预设时间内试运行,并执行一些版本验证过程,比如,可以进行电话拨测、查看话务统计指标、查看设备状态等操作以验证新版本软件是否运行正常。
4)判断V1.3版本软件是否运行正常,如果是,则升级成功,这时,系统运行当前主区中的V1.3版本软件,结束流程;否则进行软件回退操作,即进行激活V1.2版本软件的操作,包括修改主区和备区标志,也就是将主区标志修改为备区标志,将备区标志修改为主区标志,并加载当前主区中的V1.2版本软件,还包括恢复SP02版本补丁的原有状态,这时,系统运行当前主区中的打了SP02版本补丁的V1.2版本软件,然后结束流程。
在升级成功之后,可以执行使备区内容与主区内容保持一致的同步操作,即将主区中的V1.3版本软件及其配置数据全部复制到备区。如果执行了同步操作,主区和备区中的内容是一样的,包含V1.3版本软件及其配置数据。如果升级失败且执行了软件回退操作,这时,主区包含V1.2版本软件及其配置数据和SP02版本补丁,备区包含V1.3版本软件及其配置数据。
如果软件升级成功之后,需要给当前系统运行的新版本软件打一个补丁,比如补丁版本为SP03,则直接将SP03版本补丁打在主区中。这时,主区包含V1.3版本软件及其配置数据和SP03版本补丁,备区包含V1.3版本软件及其配置数据。这时,可以再执行一次同步操作以保持备区和主区内容一致。
由上述方案可见,在软件下载和激活过程中,由于新版本软件下载在备区,如果此时系统发生重新启动,就不会影响主区中软件的加载。另外,本发明提供的软件升级及回退方法引起的系统业务中断的操作仅在激活操作过程中,而且,软件回退过程不必执行复杂的软件回退操作步骤,这就减少了由于升级导致的系统业务中断时间,保证了用户通信业务的正常提供。
本发明方法可以应用于各类通信设备,并且需要一个主控设备来控制通信设备中单板的配置维护和软件加载等操作。其中,主控设备可以是网元中的一块单板,也可以是与通信设备相连的一台计算机或服务器。比如,上述实施例中,将网元中包含的主控板作为主控设备。如果网元不仅包含主用的主控板,还包含备用的主控板,则备用的主控板上保存的软件版本等内容与主用的主控板是同步的,而且内容完全一致。另外,本发明方法对于包含大量处理器或软件复杂的设备的应用效果更为明显。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种软件升级及回退方法,其特征在于,该方法包括以下步骤a.系统运行网元主区中的旧版本软件,在进行软件升级时,将新版本软件及其配置数据下载到该网元的备区;b.进行包含主区和备区切换的激活新版本软件操作,完成新版本软件升级,系统运行当前主区中的新版本软件;c.判断新版本软件是否运行正常,如果运行正常,则新版本软件升级成功,结束流程;否则进行包含主区和备区切换的激活旧版本软件操作,完成旧版本软件回退,系统运行当前主区中的旧版本软件,结束流程。
2.根据权利要求1所述的方法,其特征在于,步骤b或c中,所述主区和备区切换的方法为将主区标志修改为备区标志和将备区标志修改为主区标志。
3.根据权利要求1所述的方法,其特征在于,步骤c中,所述判断新版本软件是否运行正常的方法为在一段预设时间内试运行新版本软件,并执行软件版本验证操作。
4.根据权利要求1所述的方法,其特征在于,步骤c中,在所述新版本软件升级成功之后,进一步包括进行使备区内容与主区内容保持一致的同步操作。
5.根据权利要求4所述的方法,其特征在于,所述进行使备区内容与主区内容保持一致的同步操作为将主区中的软件版本及其配置数据复制到备区;如果主区中有补丁,则同时将补丁复制到备区。
6.根据权利要求1所述的方法,其特征在于,步骤c中,在所述新版本软件升级成功之后,进一步包括如果需要对新版本软件进行打补丁操作,则将补丁打在主区中。
7.根据权利要求1所述的方法,其特征在于,步骤b或c中,所述进行包含主区和备区切换的激活软件操作进一步包含将当前主区中包含的软件版本加载到各个单板的内存中以运行软件。
8.根据权利要求7所述的方法,其特征在于,步骤c中,所述进行包含主区和备区切换的激活软件操作进一步包括如果当前主区中包含补丁,则恢复补丁的原有状态。
全文摘要
本发明公开了一种软件升级及回退方法,该方法包括a.系统运行网元主区中的旧版本软件,在进行软件升级时,将新版本软件及其配置数据下载到该网元的备区;b.进行包含主区和备区切换的激活新版本软件操作,完成新版本软件升级,系统运行当前主区中的新版本软件;c.判断新版本软件是否运行正常,如果运行正常,则新版本软件升级成功,结束流程;否则进行包含主区和备区切换的激活旧版本软件操作,完成旧版本软件回退,系统运行当前主区中的旧版本软件,结束流程。本发明提供的方法可以降低软件回退的复杂度,降低软件升级及回退失败的风险,并减少由于软件升级导致的系统业务中断时间。
文档编号H04L12/24GK1684427SQ20041003382
公开日2005年10月19日 申请日期2004年4月14日 优先权日2004年4月14日
发明者王政 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1