软件升级的兼容性管理方法、装置及设备、存储介质与流程

文档序号:17725555发布日期:2019-05-22 02:29阅读:361来源:国知局
软件升级的兼容性管理方法、装置及设备、存储介质与流程

本发明涉及通信技术领域,尤其涉及一种软件升级的兼容性管理方法、装置及设备、计算机可读存储介质。



背景技术:

通信网络设备的系统软件升级大都需要重启设备,设备的重启过程会导致设备中断流量转发,通信业务不能正常运行。为了减少业务中断,提高业务可靠性,简便、快速升级设备的系统软件,issu(in-servicesoftwareupgrade,不中断业务升级)的应用越来越广泛。与传统的升级方式相比,issu升级过程可控,当系统软件升级失败可以进行回退,快速恢复到系统软件升级以前状态。issu升级可以在系统软件版本的升级和回退过程中尽量不中断流量转发,减少网络中断时间,保证当前业务可靠性,并且降低设备运营成本。

issu的升级方式有:无损升级(兼容性升级)、有损升级和快速重启升级,其中无损升级对业务和流量的影响最小。issu升级之前需要对软件进行兼容性检查,以确定软件的各个业务模块支持的issu升级方式。当升级软件版本和现有运行版本的所有模块都兼容时,设备可以进行无损升级。由于系统软件有多个业务模块,在系统软件运行过程中各个业务模块有许多消息交互,因此每个业务模块之间兼容性可能相互联系,相互影响。因此在issu升级过程中实现对系统软件兼容性检查比较难以实现。



技术实现要素:

有鉴于此,本发明的目的在于提供一种软件升级的兼容性管理方法、装置及设备、计算机可读存储介质,以解决issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

本发明解决上述技术问题所采用的技术方案如下:

根据本发明的一个方面,提供的一种软件升级的兼容性管理方法,所述方法包括步骤:

获取不同业务版本号的业务模块之间的板间通信信息;

根据兼容性配置文件,判断所述板间通信信息是否兼容;

若所述板间通信信息兼容,则派发所述板间通信信息进行回调处理;若所述板间通信信息不兼容,则隔离所述板间通信信息。

根据本发明的另一个方面,提供的一种软件升级的兼容性管理装置,所述装置包括获取模块、判断模块及处理模块;

所述获取模块,用于获取不同业务版本号的业务模块之间的板间通信信息;

所述判断模块,用于根据兼容性配置文件,判断所述板间通信信息是否兼容;

所述处理模块,用于若所述板间通信信息兼容,则派发所述板间通信信息进行回调处理;若所述板间通信信息不兼容,则隔离所述板间通信信息。

根据本发明的另一个方面,提供的一种软件升级的兼容性管理设备,所述软件升级的兼容性管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件升级的兼容性管理程序,所述软件升级的兼容性管理程序被所述处理器执行时实现上述的软件升级的兼容性管理方法的步骤。

根据本发明的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有软件升级的兼容性管理程序,所述软件升级的兼容性管理程序被处理器执行时实现上述的软件升级的兼容性管理方法的步骤。

本发明实施例的软件升级的兼容性管理方法、装置及设备、计算机可读存储介质,通过兼容性配置文件对板间通信信息的兼容性进行检测和处理,解决了issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

附图说明

图1为本发明实施例的分布式交换机系统的issu升级结构示意图;

图2为本发明第一实施例的软件升级的兼容性管理方法流程示意图;

图3为本发明实施例的信息格式的兼容性改造结构示意图;

图4为本发明实施例的兼容性配置文件结构示意图;

图5为本发明第二实施例的软件升级的兼容性管理装置结构示意图;

图6为本发明第二实施例的软件升级的兼容性管理装置另一结构示意图;

图7为本发明实施例的业务模块之间的板间通信信息的兼容性检测处理结构示意图;

图8为本发明第三实施例的软件升级的兼容性管理设备结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一实施例

为了更好地阐述本实施例,以下结合图1对分布式交换机系统的issu升级进行说明:

如图1所示,issu升级环境由两个分布式交换机系统堆叠而成,分布式交换机系统包括不同的单板。具体地,单板包括主用主控、备用主控、待命主控、交换网板以及线卡。

单板的升级顺序如下所示:先升级待命主控,然后升级备用主控,备用主控升级成功以后,通过主备倒换实现主用主控升级,最后升级线卡和交换网板。需要说明的是,图中的虚线框升级后的模块,实线框为升级前的模块。

在issu升级过程中,为了保持流量不中断、业务正常进行,进行了双归保护。

从图1中可以看出,在issu升级的过程当中,系统内同时存在两个运行版本,存在着新旧软件版本不同业务模块直接交互的问题,因此必须解决兼容性问题。

针对上述问题,如图2所示,本发明第一实施例提供一种软件升级的兼容性管理方法,所述方法包括步骤:

s11、获取不同业务版本号的业务模块之间的板间通信信息。

在本实施例中,系统中涉及的通讯通道有很多,考虑到在同一个版本中通讯没有兼容性问题,为了降低通道兼容性管控的复杂度,选择以单板为单位设置新老版本的分界面,这样兼容性考虑的重点就转化到板间业务之间的通讯了。

若信息格式存在兼容性问题,但是issu升级过程中某些业务模块必须进行通信,可以对信息格式进行兼容性改造。

在一种实施方式中,所述获取不同业务版本号的业务模块之间的板间通信信息之前还包括步骤:

通过领域建模语言对所述不同业务版本号的业务模块之间的板间通信信息的格式进行兼容性改造。

该步骤具体为将所述不同业务版本号的业务模块之间的板间通信信息定义的脚本转换成信息访问的api(applicationprogramminginterface,应用程序编程接口)。图3为本实施例的信息格式的兼容性改造的一种示例结构示意图。

通过领域建模语言可根据业务脚本中信息结构的线上格式生成api(applicationprogramminginterface,应用程序编程接口),用于信息编码和解码,信息发送端在编码时必须调用对应的api来设置信息结构中的字段,信息接收端在解码时必须调用对应的api来读取信息体中的字段,不允许业务自行直接向信息缓存中填充数据或从信息体中读取数据。使用该方式每一个版本,编解码时都只需要按照本版本格式进行填写和读取,不需要考虑对端是哪一个版本。所有信息格式的兼容性问题,由领域建模语言来考虑;这种方式极大的简化了开发人员的设计难度和编程负担。

需要说明的是,对于信息格式的兼容性问题,现有技术存在两种解决方式:第一种是tlv(typelengthvalue,类型、长度、值)方式,第二种是可选的扩展选项方式。这两种方式是信息格式兼容的传送方式,在一些标准协议,如bgp(bordergatewayprotocol,边界网关协议),isis(intermediatesystemtointermediatesystem,中间系统到中间系统),ldp(labeldistributionprotocol,标签分发协议),ipv6(internetprotocolversion6,互联网协议第6版)报文格式中都经常使用。但这两种方式处理稍显繁琐,对设计能力有一定的要求。

s12、根据兼容性配置文件,判断所述板间通信信息是否兼容。

在本实施例中,所述兼容性配置文件包括业务版本号、业务功能索引值、当前业务版本能兼容的其他版本号。

其中,业务版本号是由每个业务独立决定的,只要该业务同步的数据没有任何变化,该版本号就可以不变,如果业务数据发生变化,就需要改变。业务版本号随着时间单调递增。

业务功能索引值包括:消息id、csmgr服务类型、单播库ddm类型等。需要说明的是,没有配置的业务功能在issu升级过程中始终不兼容。

作为示例地,请参考图4所示,图中的selfseq表示业务版本号,subseq表示兼容版本号。

根据图中的信息可以确定:业务版本号3兼容业务版本号1(图中的a所示),业务版本号2兼容业务版本号1(图中的b所示),业务版本号3不兼容业务版本号2(图中的c所示)。

s13、若所述板间通信信息兼容,则派发所述板间通信信息进行回调处理;若所述板间通信信息不兼容,则隔离所述板间通信信息。

在本实施例中,派发所述板间通信信息进行回调处理,具体地调用信息注册的相应函数进行处理。

如果板间通信信息不兼容,则隔离所述板间通信信息,直接丢弃。

需要说明的是,为了降低不同版本间业务兼容处理的复杂性,在整个issu升级过程,需要遵循的一个基本原则是:不同版本间的业务流程通道尽量隔离,尽量通过主备数据通道解决业务恢复问题;因此隔离是基本策略,联通是例外策略。

在一种实施方式中,所述若所述板间通信信息不兼容,则隔离所述板间通信信息之后还包括步骤:

生成告警或者提示信息。

在该实施方式中,对于由于兼容性无法同步的数据,可能会对业务产生影响,在升级时,检测到这种情况,可以给予用户相应的告警或者提示。

本发明实施例的软件升级的兼容性管理方法,通过兼容性配置文件对板间通信信息的兼容性进行检测和处理,解决了issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

第二实施例

如图5所示,本发明第二实施例提供一种软件升级的兼容性管理装置,所述装置包括获取模块21、判断模块22及处理模块23;

所述获取模块21,用于获取不同业务版本号的业务模块之间的板间通信信息。

在本实施例中,系统中涉及的通讯通道有很多,考虑到在同一个版本中通讯没有兼容性问题,为了降低通道兼容性管控的复杂度,选择以单板为单位设置新老版本的分界面,这样兼容性考虑的重点就转化到板间业务之间的通讯了。

若信息格式存在兼容性问题,但是issu升级过程中某些业务模块必须进行通信,可以对信息格式进行兼容性改造。

请参考图6所示,在一种实施方式中,所述装置还包括兼容性改造模块24;

所述兼容性改造模块24,用于通过领域建模语言对所述不同业务版本号的业务模块之间的板间通信信息的格式进行兼容性改造。

具体地,兼容性改造模块24将所述不同业务版本号的业务模块之间的板间通信信息定义的脚本转换成信息访问的api(applicationprogramminginterface,应用程序编程接口)。

通过领域建模语言可根据业务脚本中信息结构的线上格式生成api,用于信息编码和解码,信息发送端在编码时必须调用对应的api来设置信息结构中的字段,信息接收端在解码时必须调用对应的api来读取信息体中的字段,不允许业务自行直接向信息缓存中填充数据或从信息体中读取数据。使用该方式每一个版本,编解码时都只需要按照本版本格式进行填写和读取,不需要考虑对端是哪一个版本。所有信息格式的兼容性问题,由领域建模语言来考虑;这种方式极大的简化了开发人员的设计难度和编程负担。

需要说明的是,对于信息格式的兼容性问题,现有技术存在两种解决方式:第一种是tlv方式,第二种是可选的扩展选项方式。这两种方式是信息格式兼容的传送方式,在一些标准协议,如bgp,isis,ldp,ipv6报文格式中都经常使用。但这两种方式处理稍显繁琐,对设计能力有一定的要求。

所述判断模块22,用于根据兼容性配置文件,判断所述板间通信信息是否兼容。

在本实施例中,所述兼容性配置文件包括业务版本号、业务功能索引值、当前业务版本能兼容的其他版本号。

其中,业务版本号是由每个业务独立决定的,只要该业务同步的数据没有任何变化,该版本号就可以不变,如果业务数据发生变化,就需要改变。业务版本号随着时间单调递增。

业务功能索引值包括:消息id、csmgr服务类型、单播库ddm类型等。

需要说明的是,没有配置的业务功能在issu升级过程中始终不兼容。

所述处理模块23,用于若所述板间通信信息兼容,则派发所述板间通信信息进行回调处理;若所述板间通信信息不兼容,则隔离所述板间通信信息。

在本实施例中,派发所述板间通信信息进行回调处理,具体地调用信息注册的相应函数进行处理。

如果板间通信信息不兼容,则隔离所述板间通信信息,直接丢弃。

需要说明的是,为了降低不同版本间业务兼容处理的复杂性,在整个issu升级过程,需要遵循的一个基本原则是:不同版本间的业务流程通道尽量隔离,尽量通过主备数据通道解决业务恢复问题;因此隔离是基本策略,联通是例外策略。

在一种实施方式中,所述处理模块23,还用于生成告警或者提示信息。

在该实施方式中,对于由于兼容性无法同步的数据,可能会对业务产生影响,在升级时,检测到这种情况,可以给予用户相应的告警或者提示。

为了进一步地阐述本实施例,现结合图7对软件升级的兼容性管理过程进行说明:

业务模块a和业务模块b的业务版本号分别为version1、version2。

当业务模块b收到业务模块a发送的消息时,通过查询兼容性配置文件,确定该消息是否兼容。

如果是兼容的消息就进行派发,调用消息注册的相应函数进行处理。

如果消息不兼容,就进行隔离,直接丢弃。对于由于兼容性无法同步的数据,可能会对业务产生影响,在升级时,检测到这种情况,可以给予用户相应的告警或者提示。

本发明实施例的软件升级的兼容性管理装置,通过兼容性配置文件对板间通信信息的兼容性进行检测和处理,解决了issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

第三实施例

如图8所示,本发明第三实施例提供一种软件升级的兼容性管理设备,所述软件升级的兼容性管理设备包括:存储器31、处理器32及存储在所述存储器31上并可在所述处理器32上运行的软件升级的兼容性管理程序,所述软件升级的兼容性管理程序被所述处理器32执行时,用于实现以下所述的软件升级的兼容性管理方法的步骤:

s11、获取不同业务版本号的业务模块之间的板间通信信息;

s12、根据兼容性配置文件,判断所述板间通信信息是否兼容;

s13、若所述板间通信信息兼容,则派发所述板间通信信息进行回调处理;若所述板间通信信息不兼容,则隔离所述板间通信信息。

所述软件升级的兼容性管理程序被所述处理器32执行时,还用于实现以下所述的软件升级的兼容性管理方法的步骤:

通过领域建模语言对所述不同业务版本号的业务模块之间的板间通信信息的格式进行兼容性改造。

所述软件升级的兼容性管理程序被所述处理器32执行时,还用于实现以下所述的软件升级的兼容性管理方法的步骤:

将所述不同业务版本号的业务模块之间的板间通信信息定义的脚本转换成信息访问的编程语言代码,并屏蔽信息格式的兼容性问题。

所述软件升级的兼容性管理程序被所述处理器32执行时,还用于实现以下所述的软件升级的兼容性管理方法的步骤:

所述兼容性配置文件包括业务版本号、业务功能索引值、当前业务版本能兼容的其他版本号。

所述软件升级的兼容性管理程序被所述处理器32执行时,还用于实现以下所述的软件升级的兼容性管理方法的步骤:

生成告警或者提示信息。

本发明实施例的软件升级的兼容性管理设备,通过兼容性配置文件对板间通信信息的兼容性进行检测和处理,解决了issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

第四实施例

本发明第四实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有软件升级的兼容性管理程序,所述软件升级的兼容性管理程序被处理器执行时实现第一实施例所述的软件升级的兼容性管理方法的步骤。

本发明实施例的计算机可读存储介质,通过兼容性配置文件对板间通信信息的兼容性进行检测和处理,解决了issu升级过程中,系统软件各个业务模块之间存在兼容性且相互影响,对系统软件兼容性检查难以实现的问题。

需要说明的是,上述装置实施例与方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1