专利名称:一种升级软件过程中业务中断时间的预测方法及其装置的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种升级软件过程中业务中断时间的预测方法及
其装置。
背景技术:
软件升级就是对软件系统里的对象部分或者全部的替换。 一般的,应用于通信设 备系统中的软件升级,就是指对具有特定功能、能够接收和处理消息的软件实体所形成的 组件进行版本替换、更新的过程。 软件升级的目标是尽可能在不影响正常业务的情况下完成升级的过程,也就是无 损升级(ISSU, In Service Software Upgrade),即软件升级过程中,不中断现有业务。常 见的软件升级又分为两类单板升级和进程升级。但是无论是单板升级还是进程升级都 可能面临同一个问题当升级前后的版本差异较大时,由于版本的接口变化较大,无法做 到ISSU,则会中断业务,给现有业务带来影响。业务因软件升级产生中断,根据升级对象所 承载的业务类型分为转发业务中断和路由业务中断。例如,路由业务中断根据协议不同分 为边界网关协议(BGP, Border Gateway Protocol)路由业务中断、开放式最短路径优先协 议(0SPF, Open Shortest Path First)路由业务中断等,而转发引擎服务(FES, Forward Engine Service)业务中断为转发业务中断。 对于软件升级过程所造成的业务中断,一般的,采用兼容关系来描述更新版本和 旧版本之间差异性来判断软件升级所带来的影响,即通过判断更新版本和旧版本之间是否 兼容的方法进行预测。例如兼容,是指更新版本和旧版本软件之间的主备数据备份接口是 兼容的,即可以正常通信,软件升级基本对原通信业务不造成影响;基本兼容,是指更新版 本和旧版本软件的子系统之间的主备数据备份接口有一部分兼容, 一部分不兼容,在升级 过程中有部分业务会中断;不兼容,是指更新版本和旧版本软件的子系统之间的主备数据 备份接口不兼容,所以需要中断所有业务进行升级。 根据判断更新版本和旧版本软件之间的兼容性判断,虽然提供了升级预测的方 法,但是通过这种预测,其结果简单,所以对因软件升级所造成的业务中断的影响描述不充 分,达不到预测的结果。如果不能做到因软件升级所造成业务中断时间的预测,则对软件版 本升级所造成的业务中断的代价则是难以衡量的。 举例说来,如图1所示,升级包中组件的更新版本为BGP1. 5和0SPF1. 4,而通信设 备的组件版本为BGP1. 0和0SPF1. 2,所以,升级的具体版本变化是将BGP1. 0版本升级为 BGP1. 5,将0SPF1. 2版本升级为0SPF1. 4。此时,假设0SPF的升级满足接口兼容,BGP的升 级不满足接口兼容;则通过升级软件预测,可以得出该次升级会中断BGP路由业务,但是 不能够得知中断的BGP路由业务的时间,因此,在该升级过程中的由于中断BGP路由业务带 来的影响是不可知的。
发明内容
有鉴于此,本发明实施例的目的是提供一种升级软件过程中业务中断时间的预 测方法,从而实现了通信设备升级软件前获知升级该软件的时间,从而预测软件升级对原 有业务造成的影响,增强了业务运行的可靠性。
为达到上述目的,本发明实施例的技术方案是这样实现的 —种升级软件过程中业务中断时间的预测方法,获取需要升级业务组件的关键数 据,对所述关键数据进行求和,得到所述升级软件过程中业务中断时间; 所述关键数据,包括所述需要升级业务组件的初始化时间、升级业务组件的配置 恢复时间、升级业务的恢复时间。 本发明实施例还公开了一种升级软件过程中业务中断时间的预测装置,所述装置 包括 关键数据获取单元710,用于获取需要升级业务组件的关键数据,所述关键数据, 包括所述需要升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢 复时间; 中断时间计算单元720,用于从所述关键数据获取单元710获得所述关键数据,对 所述关键数据进行求和,得到所述升级软件过程中业务中断时间。 可见,本发明实施例所公开的升级软件过程中业务中断时间的预测方法,通过在 升级软件前预测出由于升级所造成原有业务的时间,不仅能够得知升级软件所需要中断业 务的时间,而且能够准确预测升级软件给原有业务造成的中断影响等特点,增强了业务运 行的可靠性。
图1为现有技术中一种升级软件的预测示意图; 图2为本发明实施例中提供的一种升级软件过程中业务中断时间的预测方法流 程图; 图3为本发明实施例中所提供的测试获得各个阶段关键数据的示意图; 图4为本发明实施例中提供的一种升级软件的示意图; 图5为本发明实施例中提供的关键数据; 图6为本发明实施例中提供的升级软件过程中断业务时间预测的结果; 图7为本发明实施例中提供的一种升级软件过程中业务中断时间的预测装置示意图。
具体实施例方式
为使本发明的技术方案和有益效果更加清楚,下面参照附图列举实施例进行详细 说明 本发明一个实施例,如图2所示,为本发明实施例所描述的升级软件过程中业务 中断时间的预测方法。 201、获取需要升级业务组件的关键数据,所述关键数据,包括所述需要升级业务
组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。 要获得需要升级业务组件的关键数据,可以确定所述需要升级业务组件;根据所述需要升级业务组件和所述升级软件区分升级类型;通过区分升级类型来获取所述需要升级业务组件的关键数据。 确定需要升级的业务组件要从待升级业务软件包、通信设备两个方面获得相关信息,分别是从待升级业务软件中提取软件更新版本信息,从通信设备提取需要升级的对象信息。例如,从待升级业务软件中提取升级的业务及其版本信息,升级包括的业务与其他业务的兼容情况及其更新版本和旧版本之间的兼容情况等;从通信设备中提取当前业务运行软件,即旧版本软件的版本信息,以及设备类型信息和软件部署信息,当然,还可以包括通信设备系统负荷情况和当前业务负荷情况。 通过上述从待升级业务软件包和通信设备中提取升级对象的相关信息,可以比较待升级业务软件包中的版本信息与当前运行业务的部署和版本信息,得出需要升级的业务组件。 根据在软件升级过程中对原有业务的影响程度,可以分为三类软件升级业务无损中断、软件升级业务有损中断、软件升级重启业务中断。 更具体的,软件升级业务无损中断是指由于通信设备中有备份组件和热备份技术的作用,使得业务在软件升级过程中不中断,即中断时间为零。 软件升级业务有损中断是由于更新版本和旧版本之间不兼容,即更新版本和旧版
本差异过大,无法实现无损升级。例如,更新版本的数据备份接口较旧版本发生了变化,旧
版本的软件不能理解新组件的备份内容。相应的,对于软件升级业务有损中断的时间,主要
是业务中断时间,包括升级业务组件的配置恢复时间和升级业务的恢复时间。 软件升级重启业务中断,则是由于通信设备没有备份组件,使得升级只能采用重
启的方法,无法实现无损升级。相应的,对于软件升级重启业务中断的时间主要是组件重启
时间和业务中断时间,即包括升级业务组件的初始化时间升级业务组件的初始化时间、升
级业务组件的配置恢复时间、升级业务的恢复时间。 在软件升级业务有损中断和软件升级重启业务中断的情况下,业务中断时间与通信设备类型、升级组件对象及其配置数据相关。为了计算出软件升级所造成的业务中断时间,需要提供关键数据,例如升级业务组件的初始化时间升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。 一般的,各个业务模块的设计规格包含业务模块在特定场景下的运行效率,这些关键数据可以通过各个业务模块的设计规格得到。当然,也可以通过测试方法获得这些关键数据。例如,在程序代码的不同阶段增加调试代码,通过调试代码记录下的时间相减则得到每个阶段所花费的时间,如图3所示。所说的不
同阶段例如组件初始化阶段、组件配置恢复阶段、业务恢复阶段,相应的,通过测试得出的升级业务组件的初始化时间升级业务组件的初始化时间Tl = t2-tl,升级业务组件的配置恢复时间T2 = t3-t2,升级业务的恢复时间T3 = t4-t3。
202、对所述关键数据进行求和 结合区分出来升级的类型和关键数据,将所得到的需要升级业务组件的初始化时间Tl、升级业务组件的配置恢复时间T2、升级业务的恢复时间T3进行求和计算,得出升级软件所需要的业务中断时间T,即T = Tl+T2+T3。 当然的,由于通信设备即时工作状态的不同,允许从通信设备得到系统负荷情况和当前业务负荷情况,对通过上述计算得到的业务中断时间的数据进行修正。
203、得到升级软件过程中业务中断时间 将计算得出的业务中断时间以报告的形式,输出给用户,供用户衡量由于软件升级给业务中断所造成的影响,或者用户判断是否进行升级。 本发明另一个实施例,如图4所示,为本发明实施例所描述的升级软件的时间预测方法。 待升级业务软件包中含有两个业务包BGP1. 5和0SFP1. 4,假设通信设备中运行的版本是BGP1. 0和0SPF1. 2,升级的目标是把设备中所有BGP业务的版本升级到1. 5、所有OSPF业务的版本升级到1.4。
201、获取需要升级业务组件的关键数据 从待升级业务软件包中提取待升级的业务包是BGP1. 5和0SPF1. 4 ;从通信设备提取当前运行组件软件运行的版本是BGPl. 0、 BGP1. 2、 0SPF1. 2,分别部署在三个进程中。如图4中的圆圈所示,软件升级的目标是BGPl. 0、BGP1. 2和0SPF1. 2,升级到新的版本BGP1. 5和0SPF1. 4。 假设BGPl. 5可以兼容BGP1. 2,但是BGPl. 5不能兼容BGPl. 0 ;OSPFl. 4与0SPF1. 2不兼容;OSPF软件升级与BGP软件升级互不影响,并且通信设备的所有组件都有主备冗余保护。 通过上述条件可知从BGPl. 0升级到BGP1. 5因为不兼容,所以将发生软件升级业务有损中断;从BGP1. 2升级到BGP1. 5因为兼容,所以将发生软件升级业务无损中断;从0SPF1. 2升级到0SPF1. 4因为不兼容,所以将发生软件升级业务有损中断。这三个业务发生并行软件升级。 假设通过各个业务模块的设计规格或者测试的方法,获得了计算业务中断时间所需要的关键数据升级业务组件的初始化时间升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间,如图5所示。
202、对所述关键数据进行求和 结合区分出来软件升级的类型和关键数据,进行求和计算,得出此次升级软件所
需要的业务中断时间,如图6所示。 203、得到所述升级软件过程中业务中断时间 将上述预测计算出的软件升级时间以报告的形式,输出给用户,例如 升级预测报告 设备型号P6 业务信息BGP、OSPF 从OSPFl. 2升级到0SPF1. 4预计业务中断 9秒
从BGP1.0升级到BGP1.5 预计业务中断 16秒
从BGPl. 2升级到BGPl. 5 预计业务中断 0秒 根据上述升级软件的时间预测方法,通过在升级软件前预测出由于升级所造成原有业务的时间,不仅能够得知升级软件所需要的时间,而且能够准确预测升级软件给原有业务造成的中断影响等特点。 本发明再一个实施例,提供了一种升级软件的时间预测装置,该装置包括
关键数据获取单元710,用于获取需要升级业务组件的关键数据,所述关键数据,包括所述需要升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间; 具体说来,关键数据获取单元710包括升级业务组件确定模块701和关键数据确定模块702。 其中,升级业务组件确定模块701用于从待升级业务软件包、通信设备两个方面获得相关的信息,分别是从待升级业务软件包中提取软件更新版本,从通信设备提取需要升级的对象。例如,从待升级业务软件包中提取升级包括的业务及其版本信息,升级包括的业务与其他业务的兼容情况及其更新版本和旧版本之间的兼容情况等;从通信设备中提取当前业务运行软件,即旧版本软件的版本信息,以及设备类型信息和软件部署信息,当然,还可以包括通信设备系统负荷情况和当前业务负荷情况。 关键数据确定模块702用于根据所述需要升级业务组件和所述升级软件区分升级类型;通过区分升级类型来获取所述需要升级业务组件的关键数据。按照软件升级过程中对原有业务的影响程度,分为三类软件升级业务无损中断、软件升级业务有损中断、软件升级重启业务中断。更具体的,软件升级业务无损中断是指由于通信设备中有备份组件和热备份技术的作用,使得业务在软件升级过程中不中断,即中断时间为零。软件升级业务有损中断是由于更新版本和旧版本之间不兼容,即更新版本和旧版本差异过大,无法实现无损升级。例如,更新版本的数据备份接口较旧版本发生了变化,旧版本的软件不能理解新组件的备份内容。相应的,对于软件升级业务有损中断的时间,主要是业务中断时间,包括升级业务组件的配置恢复时间和升级业务的恢复时间。软件升级重启业务中断,则是由于通信设备没有备份组件,使得升级只能采用重启的方法,无法实现无损升级。相应的,对于软件升级重启业务中断的时间主要是组件重启时间和业务中断时间,即包括升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。 在软件升级业务无损中断、软件升级业务有损中断和软件升级重启业务中断的情况下,计算业务中断的时间,其与通信设备类型、升级组件对象及其配置数据相关。为了计算出软件升级所造成的业务中断时间,需要提供关键数据,例如升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。 一般的,各个业务模块的设计规格包含业务模块在特定场景下的运行效率,这些关键数据可以通过各个业务模块的设计规格得到,然后将这些关键数据存储在计算业务中断时间单元中。当然,也可以通过测试方法获得这些关键数据。例如,在程序代码的不同阶段增加调试代码,通过调试代码记录下的时间相减则得到每个阶段所花费的时间,如图3所示。所说的不同阶段例如组件初始化阶段、组件配置恢复阶段、业务恢复阶段,相应的,通过测试得出的升级业务组件的初始化时间Tl=t2-tl,升级业务组件的配置恢复时间T2 = t3-t2,升级业务的恢复时间T3 = t4-t3。
中断时间计算单元720,用于从所述关键数据获取单元710获得所述关键数据,对所述关键数据进行求和,得到所述升级软件过程中业务中断时间。结合区分出来升级的类型,中断时间计算单元720对关键数据进行求和计算,得出升级软件所需要的业务中断时间。当然的,由于通信设备即时工作状态的不同,允许从通信设备得到系统负荷情况和当前业务负荷情况,对通过上述计算得到的业务中断时间的数据进行修正。
计算得出的业务中断时间可以以报告的形式,输出给用户,供用户衡量由于软件升级给业务中断所造成的影响,以及用户判断是否进行升级。
8
可见,本发明实施例所公开的一种升级软件过程中业务中断时间的预测方法及其装置,在升级软件前预测出由于升级所造成原有业务的时间,不仅能够得知升级软件所需要的时间,而且能够准确预测升级软件给原有业务造成的中断影响,增强了业务运行的可靠性。 本领域普通技术人员可以理解上述实施例方法中的全部或部分是可以通过程序指令相关的硬件来完成,该程序可以存储于计算机可读取存储介质中,该存储介质可以是R0M/RAM、磁碟,光盘等。 以上只对发明的优选实施方式进行了描述,本领域的技术人员在本发明技术的方案范围内,进行通常的变化和替换,包含在本发明的保护范围内。
9
权利要求
一种升级软件过程中业务中断时间的预测方法,其特征在于,获取需要升级业务组件的关键数据,对所述关键数据进行求和,得到所述升级软件过程中业务中断时间;所述关键数据,包括所述需要升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。
2. 根据权利要求1所述的方法,其特征在于,所述获取需要升级业务组件的关键数据 具体包括,确定所述需要升级业务组件;根据所述需要升级业务组件和所述升级软件区分升级类型; 通过区分升级类型来获取所述需要升级业务组件的关键数据。
3. 根据权利要求2所述的方法,其特征在于,所述确定所述需要升级业务组件具体包括,从所述升级软件中提取升级的业务及其版本信息;从所述需要升级业务组件运行的设备中提取当前运行业务的部署和版本信息、所述设 备类型信息和所述当前运行软件的部署信息;通过比较所述升级软件的版本信息与当前运行业务的部署和版本信息,得出所述需要 升级的业务组件。
4. 根据权利要求2或3所述的方法,其特征在于,根据所述需要升级业务组件和所述升 级软件区分升级类型,通过区分升级类型来获取所述需要升级业务组件的关键数据具体包 括当所述需要升级业务组件有备份组件,支持热备份,更新版本和旧版本之间兼容,所述 关键数据中的升级业务组件的初始化时间等于零、升级业务组件的配置恢复时间等于零、 升级业务的恢复时间等于零。
5. 根据权利要求2或3所述的方法,其特征在于,根据所述需要升级业务组件和所述升 级软件区分升级类型,通过区分升级类型来获取所述需要升级业务组件的关键数据具体包 括当所述需要升级业务组件有备份组件,支持热备份,且更新版本和旧版本之间不兼容,所述关键数据为升级业务组件的初始化时间等于o、升级业务组件的配置恢复时间和升级业务的恢复时间。
6. 根据权利要求2或3所述的方法,其特征在于,根据所述需要升级业务组件和所述升 级软件区分升级类型,通过区分升级类型来获取所述需要升级业务组件的关键数据具体包 括当所述需要升级业务组件没有备份组件,所述关键数据为升级业务组件的初始化时 间、升级业务组件的配置恢复时间和升级业务的恢复时间。
7. —种升级软件过程中业务中断时间的预测装置,所述装置包括 关键数据获取单元(710),用于获取需要升级业务组件的关键数据,所述关键数据,包括所述需要升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复 时间;中断时间计算单元(720),用于从所述关键数据获取单元(710)获得所述关键数据,对 所述关键数据进行求和,得到所述升级软件过程中业务中断时间。
8. 根据权利要求7所述的装置,其特征在于,所述关键数据获取单元(710)具体包括升级业务组件确定模块(701),用于从所述升级软件中提取升级的业务及其版本信息;从所述需要升级业务组件运行的设备中提取当前运行业务的部署和版本信息、所述设备类型信息和所述当前运行软件的部署信息;通过比较所述升级软件的版本信息与当前运行业 务的部署和版本信息,得出所述需要升级的业务组件;关键数据确定模块(702),用于根据所述需要升级业务组件和所述升级软件区分升级 类型;通过区分升级类型来获取所述需要升级业务组件的关键数据。
9. 根据权利要求8所述的装置,其特征在于,所述关键数据确定模块(702)具体包括 当所述需要升级业务组件有备份组件,支持热备份,更新版本和旧版本之间兼容,所述关键 数据中的升级业务组件的初始化时间等于零、升级业务组件的配置恢复时间等于零、升级 业务的恢复时间等于零。
10. 根据权利要求8所述的装置,其特征在于,所述关键数据确定模块(702)具体包括 当所述需要升级业务组件有备份组件,支持热备份,且更新版本和旧版本之间不兼容,所述 关键数据为升级业务组件的初始化时间等于零、升级业务组件的配置恢复时间和升级业务 的恢复时间。
11. 根据权利要求8所述的装置,其特征在于,所述关键数据确定模块(702)具体包括 当所述需要升级业务组件没有备份组件,所述关键数据为升级业务组件的初始化时间、升 级业务组件的配置恢复时间和升级业务的恢复时间。
全文摘要
本发明公开了一种升级软件过程中业务中断时间的预测方法,获取需要升级业务组件的关键数据,对所述关键数据进行求和,得到所述升级软件过程中业务中断时间;所述关键数据,包括所述需要升级业务组件的初始化时间、升级业务组件的配置恢复时间、升级业务的恢复时间。本发明还公开了与上述方法相应的装置。本发明通过预测计算软件升级的时间,从而实现了通信设备升级软件前获知升级该软件的时间,从而预测软件升级对原有业务造成的影响,增强了业务运行的可靠性。
文档编号H04W24/02GK101771573SQ20081024216
公开日2010年7月7日 申请日期2008年12月30日 优先权日2008年12月30日
发明者何建成, 孙昊, 岳常智, 赵亚明 申请人:华为技术有限公司