一种软件升级方法和设备与流程

文档序号:11803480阅读:256来源:国知局
一种软件升级方法和设备与流程
本发明涉及通信技术领域,尤其涉及一种软件升级方法和设备。

背景技术:
网络设备(如高端交换机或路由器等)一般采用框式结构,该框式结构中一般包括两个主控板(分别为主用主控板和备用主控板)和多个线卡板。主用主控板处于运行态,并负责整个网络设备的管理以及各种协议的运行;备用主控板处于备份状态,并在主用主控板出现异常后,自动切换到运行态,并负责整个网络设备的管理以及各种协议的运行。线卡板负责对各种报文进行转发,且线卡板上有硬件转发芯片,主用主控板通过将硬件转发表项下发到硬件转发芯片上,以指导硬件转发芯片利用该硬件转发表项转发报文。为满足客户新需求或解决BUG,需要经常对网络设备进行软件升级,目前有兼容升级和不兼容升级等软件升级方式。对于兼容升级方式的软件升级,在软件升级前需要对主控板和线卡板上运行数据进行备份,在数据备份完成后,对网络设备进行软重启,在软重启完成后读取之前保存的数据,完成各运行数据的恢复;兼容升级对软件要求较高,如果新升级版本和升级前版本差异较大,则不能采用兼容升级方式,只能采用不兼容升级方式进行软件升级。对于不兼容升级方式的软件升级,需要对网络设备上的各主控板和各线卡板进行重启,在对线卡板进行重启时,由于线卡板上的硬件转发芯片需要重新设置,因此会删除硬件转发表项,并导致线卡板的硬件转发芯片不能利用硬件转发表项转发报文,从而对转发流量造成影响,导致转发流量丢失。如图1所示,网络设备1和网络设备2通过网络设备A连接,在对网络设备A进行不兼容升级方式的软件升级时,会影响网络设备1与网络设备2之间的转 发流量,导致网络设备1与网络设备2之间的转发流量丢失,并导致业务中断。

技术实现要素:
本发明实施例提供一种软件升级方法和设备,以在对网络设备进行不兼容升级方式的软件升级时,避免转发流量的丢失,并保证业务不中断。为了达到上述目的,本发明实施例提供一种软件升级方法,用于对网络设备进行不兼容升级方式的软件升级,所述网络设备包括主用主控板、备用主控板和多个线卡板,所述多个线卡板中有至少两个线卡板与同一个邻居网络设备连接,且所述至少两个线卡板与所述邻居网络设备之间的各链路均为等价链路,该方法包括:所述主用主控板确定所述多个线卡板的升级顺序;所述主用主控板在基于升级顺序确定当前需要对所述至少两个线卡板中的一个线卡板进行软件升级时,停止向所述邻居网络设备发布当前升级的线卡板对应的路由,使所述邻居网络设备将向所述当前升级的线卡板发送的流量迁移到所述至少两个线卡板中的其它线卡板;所述主用主控板在确定所述当前升级的线卡板没有流量通过时,对所述当前升级的线卡板进行软件升级;在所述当前升级的线卡板软件升级完成后,所述当前升级的线卡板向所述备用主控板进行注册,所述备用主控板向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由,使所述邻居网络设备向所述当前升级的线卡板发送流量;所述备用主控板发布的所述当前升级的线卡板对应的路由所使用的路由标识Router-ID与所述主用主控板发布的所述当前升级的线卡板在升级之前对应的路由所使用的Router-ID不同。所述主用主控板在对所述多个线卡板进行软件升级之前,所述方法还包括:所述主用主控板通知所述备用主控板进行软件升级;所述备用主控板在 收到进行软件升级的通知之后,进行软件升级;所述主用主控板在对所述多个线卡板进行软件升级之后,所述方法还包括:所述主用主控板进行软件升级,所述备用主控板切换为主用主控板。所述主用主控板确定所述多个线卡板的升级顺序的过程,具体包括:所述主用主控板根据预先配置的线卡板升级顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,所述主用主控板根据线卡板标识从小到大的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,所述主用主控板根据线卡板标识从大到小的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级。所述当前升级的线卡板向所述备用主控板进行注册,所述备用主控板向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由的过程,具体包括:所述当前升级的线卡板向所述备用主控板发送注册报文,所述注册报文用于使所述备用主控板负责对所述当前升级的线卡板进行路由管理;所述备用主控板在收到所述注册报文后,如果所述当前升级的线卡板注册成功,则对所述当前升级的线卡板进行路由管理,并向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由。所述方法进一步包括:所述备用主控板向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由之后,所述备用主控板检查所述当前升级的线卡板的路由邻居状态,并在确定路由邻居状态为路由同步完成时,在等待预设时间后,通知所述主用主控板对其它线卡板进行软件升级;由所述主用主控板在收到对其它线卡板进行软件升级的通知后,基于升级顺序确定下一个需要进行软件升级的线卡板。本发明实施例提供一种进行不兼容升级方式的软件升级的网络设备,所述网络设备包括主用主控板、备用主控板和多个线卡板,所述多个线卡板中有至少两个线卡板与同一个邻居网络设备连接,且所述至少两个线卡板与所述邻居网络设备之间的各链路均为等价链路;所述主用主控板包括确定模块、第一处理模块和软件升级模块;所述备用主控板包括第二处理模块;其中:所述确定模块,用于确定所述多个线卡板的升级顺序;所述第一处理模块,用于在基于升级顺序确定当前需要对所述至少两个线卡板中的一个线卡板进行软件升级时,停止向所述邻居网络设备发布当前升级的线卡板对应的路由,使所述邻居网络设备将向所述当前升级的线卡板发送的流量迁移到所述至少两个线卡板中的其它线卡板;所述软件升级模块,用于在确定所述当前升级的线卡板没有流量通过时,对所述当前升级的线卡板进行软件升级;所述第二处理模块,用于在所述当前升级的线卡板软件升级完成,且所述当前升级的线卡板向所述备用主控板进行注册时,向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由,使所述邻居网络设备向所述当前升级的线卡板发送流量;其中,所述第二处理模块发布的所述当前升级的线卡板对应的路由所使用的路由标识Router-ID与所述第一处理模块发布的所述当前升级的线卡板在升级之前对应的路由所使用的Router-ID不同。所述第一处理模块,还用于在对所述多个线卡板进行软件升级之前,通知所述备用主控板进行软件升级;由所述备用主控板在收到进行软件升级的通知之后,进行软件升级;所述软件升级模块,还用于在对所述多个线卡板进行软件升级之后,对主用主控板进行软件升级,由所述备用主控板切换为主用主控板。所述确定模块,具体用于根据预先配置的线卡板升级顺序确定所述多个 线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,根据线卡板标识从小到大的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,根据线卡板标识从大到小的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级。所述第二处理模块,具体用于接收所述当前升级的线卡板向所述备用主控板发送的注册报文,所述注册报文用于使所述备用主控板负责对所述当前升级的线卡板进行路由管理;在收到所述注册报文后,如果所述当前升级的线卡板注册成功,则对所述当前升级的线卡板进行路由管理,并向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由。所述第二处理模块,还用于在向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由后,检查所述当前升级的线卡板的路由邻居状态,并在确定路由邻居状态为路由同步完成时,在等待预设时间后,通知所述主用主控板对其它线卡板进行软件升级;由主用主控板在收到对其它线卡板进行软件升级的通知后,基于升级顺序确定下一个需要进行软件升级的线卡板。与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,在对网络设备进行不兼容升级方式的软件升级时,在对一个线卡板进行软件升级时,通过触发该网络设备的邻居网络设备将向该线卡板发送的流量迁移到其它线卡板上,以避免转发流量的丢失,并保证业务不中断。附图说明图1是现有技术中网络设备之间的转发流量发生丢失的示意图;图2是本发明实施例的应用场景示意图;图3是本发明实施例提供的一种软件升级方法流程示意图;图4是本发明实施例提供的一种网络设备的结构示意图。具体实施方式针对现有技术中存在的问题,本发明实施例提供一种软件升级方法,用于对网络设备进行不兼容升级方式的软件升级,且该网络设备为框式三层交换机或框式路由器等。其中,该网络设备包括主用主控板、备用主控板和多个线卡板,且该多个线卡板中有至少两个线卡板与同一个邻居网络设备连接,且该至少两个线卡板与该同一个邻居网络设备之间的各链路均为等价链路。例如,网络设备包括3个线卡板,这3个线卡板均与邻居网络设备1连接,且这3个线卡板分别与邻居网络设备1之间的链路均为等价链路。本发明实施例中,主用主控板在基于升级顺序确定当前需要对至少两个线卡板中的一个线卡板进行软件升级时,停止向当前升级的线卡板对应的邻居网络设备发布当前升级的线卡板对应的路由,使邻居网络设备将向当前升级的线卡板发送的流量迁移到至少两个线卡板中的其它线卡板;进一步,主用主控板在确定当前升级的线卡板没有流量通过时,对当前升级的线卡板进行软件升级;进一步,在当前升级的线卡板软件升级完成后,当前升级的线卡板向备用主控板进行注册,备用主控板向该邻居网络设备重新发布当前升级的线卡板对应的路由,使邻居网络设备向所述当前升级的线卡板发送流量。为了方便描述,本发明实施例中,以至少两个线卡板为两个线卡板,且两个线卡板分别为第一线卡板和第二线卡板为例进行后续说明。以图2为本发明实施例的应用场景示意图,网络中包括网络设备0、网络设备1、网络设备2、网络设备3和网络设备4,当前需要对网络设备0进行不兼容升级方式的软件升级,网络设备1、网络设备2、网络设备3和网络设备4均为网络设备0的邻居网络设备。其中,网络设备0的线卡板1和线卡板3分别与网络设备1连接,网络设备0的线卡板1和线卡板3分别与网络设备2连接,基于此,线卡板1为第一线卡板,线卡板3为第二线卡板;或者,线卡板3为第一线卡板,线卡板1为第二线卡板。同理,网络设备0的 线卡板2和线卡板4分别与网络设备3连接,网络设备0的线卡板2和线卡板4分别与网络设备4连接,基于此,线卡板2为第一线卡板,线卡板4为第二线卡板;或者,线卡板4为第一线卡板,线卡板2为第二线卡板。在上述网络中,网络设备0与其它邻居网络设备(网络设备1、网络设备2、网络设备3和网络设备4)之间基于动态路由协议交互路由信息,如:基于BGP(bordergatewayprotocol,边界网关协议)或者OSPF(OpenShortestPathFirst,开放式最短路径优先)等路由协议交互路由信息。此外,网络设备0与其它邻居网络设备(网络设备1、网络设备2、网络设备3和网络设备4)之间基于全三层互连,且每个邻居网络设备(网络设备1、网络设备2、网络设备3和网络设备4)与网络设备0之间至少有两条等价三层链路。基于此,网络设备0会向网络设备1发布线卡板1对应的路由和线卡板3对应的路由,基于线卡板1对应的路由和线卡板3对应的路由,网络设备1确认自身需要将发送给网络设备2的流量发送到网络设备0的线卡板1或线卡板3上,并在线卡板1和线卡板3之间形成两条等价三层链路。同理,网络设备0会向网络设备2发布线卡板1对应的路由和线卡板3对应的路由,基于线卡板1对应的路由和线卡板3对应的路由,网络设备2确认自身需要将发送给网络设备1的流量发送到网络设备0的线卡板1或线卡板3上,并在线卡板1和线卡板3之间形成两条等价三层链路。同理,网络设备0会向网络设备3发布线卡板2对应的路由和线卡板4对应的路由,基于线卡板2对应的路由和线卡板4对应的路由,网络设备3确认自身需要将发送给网络设备4的流量发送到网络设备0的线卡板2或线卡板4上,并在线卡板2和线卡板4之间形成两条等价三层链路。同理,网络设备0会向网络设备4发布线卡板2对应的路由和线卡板4对应的路由,基于线卡板2对应的路由和线卡板4对应的路由,网络设备4确认自身需要将发送给网络设备3的流量发送到网络设备0的线卡板2或线 卡板4上,并在线卡板2和线卡板4之间形成两条等价三层链路。在上述应用场景下,首先将新软件版本加载到网络设备的各主控板(主用主控板和备用主控板)和各线卡板上,此时新软件版本不能运行,而是需要在后续进行软件升级的过程中运行。如图3所示,该方法包括以下步骤:步骤301,主用主控板通知备用主控板进行软件升级,备用主控板进行软件升级。其中,备用主控板在收到进行软件升级的通知之后,进行软件升级。在备用主控板的软件升级过程中,备用主控板重启,并运行新软件版本,以完成软件升级过程。由于备用主控板不承载转发流量和设备管理等工作,因此备用主控板的软件升级过程不会影响网络中的转发流量。在备用主控板的软件升级完成之后,主用主控板确认当前需要对多个线卡板进行软件升级,并执行后续的步骤302。步骤302,主用主控板确定多个线卡板的升级顺序,该多个线卡板的升级顺序用于使主用主控板依照该升级顺序依次对各线卡板进行软件升级。本发明实施例中,主用主控板确定多个线卡板的升级顺序具体包括但不限于如下方式:主用主控板根据预先配置的线卡板升级顺序(可以为用户配置的线卡板升级顺序或默认的线卡板升级顺序)确定多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,主用主控板根据线卡板标识从小到大的顺序确定多个线卡板的升级顺序(先升级线卡板标识小的线卡板,后升级线卡板标识大的线卡板),且每次软件升级过程中只对一个线卡板进行软件升级;或者,主用主控板根据线卡板标识从大到小的顺序确定多个线卡板的升级顺序(先升级线卡板标识大的线卡板,后升级线卡板标识小的线卡板),且每次软件升级过程中只对一个线卡板进行软件升级。当然,在实际应用中,并不局限于上述多个线卡板的升级顺序的确定方式,只要能够保证每次软件升级过程中只对一个线卡板进行软件升级即可,本发明实施例对此不再赘述。例如,多个线卡板的升级顺序为:线卡板1、线 卡板2、线卡板3、线卡板4;或,多个线卡板的升级顺序为:线卡板4、线卡板3、线卡板2、线卡板1;或,多个线卡板的升级顺序为:线卡板1、线卡板3、线卡板2、线卡板4;或,多个线卡板的升级顺序为:线卡板3、线卡板1、线卡板4、线卡板2等等;为了方便描述,本发明实施例中以多个线卡板的升级顺序为:线卡板1、线卡板3、线卡板2、线卡板4为例进行说明。步骤303,主用主控板基于升级顺序确定当前需要对线卡板1(第一线卡板)进行软件升级,停止向邻居网络设备发布线卡板1对应的路由,使邻居网络设备将向线卡板1发送的流量迁移到线卡板3(第二线卡板);主用主控板在确定线卡板1没有流量通过时,对线卡板1进行软件升级。在需要对线卡板1进行软件升级之前,主用主控板会向网络设备1发布线卡板1对应的路由和线卡板3对应的路由,使网络设备1确认自身需要将发送给网络设备2的流量发送到网络设备0的线卡板1或线卡板3上;在此基础上,本发明实施例中,主用主控板确定当前需要对线卡板1进行软件升级时,停止向网络设备1发布线卡板1对应的路由,从而使网络设备1确认自身需要将发送给网络设备2的流量发送到网络设备0的线卡板3上,继而使网络设备1将向线卡板1发送的流量迁移到线卡板3。同理,在需要对线卡板1进行软件升级之前,主用主控板会向网络设备2发布线卡板1对应的路由和线卡板3对应的路由,使网络设备2确认自身需要将发送给网络设备1的流量发送到网络设备0的线卡板1或线卡板3上;在此基础上,本发明实施例中,主用主控板确定当前需要对线卡板1进行软件升级时,停止向网络设备2发布线卡板1对应的路由,从而使网络设备2确认自身需要将发送给网络设备1的流量发送到网络设备0的线卡板3上,继而使网络设备2将向线卡板1发送的流量迁移到线卡板3。进一步的,在停止向网络设备1和网络设备2发布线卡板1对应的路由后,网络设备1和网络设备2均不会将流量发送到网络设备0的线卡板1上; 基于此,主用主控板在监控到线卡板1没有流量通过时,可以对线卡板1进行软件升级。在线卡板1的软件升级过程中,线卡板1重启,并运行新软件版本,以完成软件升级过程。由于线卡板1上的流量均迁移到线卡板3上进行转发,因此线卡板1的软件升级过程不会影响网络中的转发流量。步骤304,在线卡板1软件升级完成之后,线卡板1向备用主控板(此时备用主控板已经完成软件升级)进行注册,由备用主控板向邻居网络设备重新发布线卡板1对应的路由,使邻居网络设备重新向线卡板1发送流量。其中,线卡板1向备用主控板进行注册之前,由于线卡板1已经执行过重启等操作,因此线卡板1已经注销过其在主用主控板上的注册。具体的,在线卡板1软件升级完成之后,线卡板1向备用主控板发送注册报文(该注册报文用于使备用主控板负责对线卡板1进行路由管理,如:备用主控板执行发布线卡板1对应的路由、从线卡板1上接收路由、在对应接口建立路由邻居等路由管理过程);备用主控板在收到注册报文后,如果线卡板1注册成功,则对线卡板1进行路由管理,并向邻居网络设备发布线卡板1对应的路由,以使邻居网络设备重新向线卡板1发送流量。需要说明的是,为了保证路由协议的正确运行,本发明实施例中,由于备用主控板和主用主控板均需要发布线卡板对应的路由,因此需要配置备用主控板和主用主控板使用不同的Router-ID(路由标识);基于此,备用主控板发布的线卡板1对应的路由所使用的Router-ID与主用主控板发布的线卡板1对应的路由(线卡板1软件升级之前发布的路由)所使用的Router-ID不同。进一步的,在线卡板1软件升级完成之后,此时是由主用主控板向网络设备1发布线卡板3对应的路由,由备用主控板会向网络设备1发布线卡板1对应的路由;由于备用主控板和主用主控板使用不同的Router-ID,因此网络设备1会将主用主控板与线卡板3当成一个邻居网络设备,并将备用主控板与线卡板1当成一个邻居网络设备。基于线卡板1对应的路由和线卡板3对 应的路由,网络设备1认为自身发送给网络设备2的流量需要在主用主控板与线卡板3对应的邻居网络设备以及备用主控板与线卡板1对应的邻居网络设备之间进行分担和备份。因此,网络设备1可以重新向线卡板1发送流量。在线卡板1软件升级完成之后,此时是由主用主控板向网络设备2发布线卡板3对应的路由,由备用主控板会向网络设备2发布线卡板1对应的路由;由于备用主控板和主用主控板使用不同的Router-ID,因此网络设备2会将主用主控板与线卡板3当成一个邻居网络设备,并将备用主控板与线卡板1当成一个邻居网络设备。基于线卡板1对应的路由和线卡板3对应的路由,网络设备2认为自身发送给网络设备1的流量需要在主用主控板与线卡板3对应的邻居网络设备以及备用主控板与线卡板1对应的邻居网络设备之间进行分担和备份。因此,网络设备2可以重新向线卡板1发送流量。本发明实施例中,备用主控板向邻居网络设备重新发布线卡板1对应的路由之后,备用主控板还需要检查线卡板1的路由邻居状态,并在确定路由邻居状态为路由同步完成时,在等待预设时间后,通知主用主控板对其它线卡板进行软件升级;由主用主控板在收到对其它线卡板进行软件升级的通知后,基于升级顺序确定下一个需要进行软件升级的线卡板,执行步骤305。其中,路由同步完成指的是线卡板1上路由邻居对应的状态。如BGP协议中,当路由邻居对应的状态为Established(连接已建立)时,表示路由邻居状态为路由同步完成;如OSPF协议中,当路由邻居对应的状态为Full(完全)时,表示路由邻居状态为路由同步完成。进一步的,当路由邻居状态为路由同步完成,且在等待预设时间(可以根据实际经验值选择)后,可以确保邻居网络设备(如网络设备1和网络设备2)已经能够向线卡板1发送流量。步骤305,主用主控板基于升级顺序确定当前需要对线卡板3(第二线卡板)进行软件升级,停止向邻居网络设备发布线卡板3对应的路由,使邻居网络设备将向线卡板3发送的流量迁移到线卡板1(第一线卡板);主用主控 板在确定线卡板3没有流量通过时,对线卡板3进行软件升级。在需要对线卡板3进行软件升级之前,主用主控板向网络设备1发布线卡板3对应的路由,备用主控板向网络设备1发布线卡板1对应的路由,网络设备1确认自身需要将发送给网络设备2的流量发送到网络设备0的线卡板1或线卡板3上;在此基础上,主用主控板确定当前需要对线卡板3进行软件升级时,停止向网络设备1发布线卡板3对应的路由,使网络设备1确认自身需要将发送给网络设备2的流量发送到网络设备0的线卡板1上,继而使网络设备1将向线卡板3发送的流量迁移到线卡板1。在需要对线卡板3进行软件升级之前,主用主控板向网络设备2发布线卡板3对应的路由,备用主控板向网络设备2发布线卡板1对应的路由,网络设备2确认自身需要将发送给网络设备1的流量发送到网络设备0的线卡板1或线卡板3上;在此基础上,主用主控板确定当前需要对线卡板3进行软件升级时,停止向网络设备2发布线卡板3对应的路由,使网络设备2确认自身需要将发送给网络设备1的流量发送到网络设备0的线卡板1上,继而使网络设备2将向线卡板3发送的流量迁移到线卡板1。进一步的,在停止向网络设备1和网络设备2发布线卡板3对应的路由后,网络设备1和网络设备2均不会将流量发送到网络设备0的线卡板3上;基于此,主用主控板在监控到线卡板3没有流量通过时,可以对线卡板3进行软件升级。在线卡板3的软件升级过程中,线卡板3重启,并运行新软件版本,以完成软件升级过程。由于线卡板3上的流量均迁移到线卡板1上进行转发,因此线卡板3的软件升级过程不会影响网络中的转发流量。步骤306,在线卡板3软件升级完成之后,线卡板3向备用主控板(此时备用主控板已经完成软件升级)进行注册,由备用主控板向邻居网络设备重新发布线卡板3对应的路由,使邻居网络设备重新向线卡板3发送流量。其中,线卡板3向备用主控板进行注册之前,由于线卡板3已经执行过 重启等操作,因此线卡板3已经注销过其在主用主控板上的注册。具体的,在线卡板3软件升级完成之后,线卡板3向备用主控板发送注册报文(该注册报文用于使备用主控板负责对线卡板3进行路由管理,如:备用主控板执行发布线卡板3对应的路由、从线卡板3上接收路由、在对应接口建立路由邻居等路由管理过程);备用主控板在收到注册报文后,如果线卡板3注册成功,则对线卡板3进行路由管理,并向邻居网络设备发布线卡板3对应的路由,以使邻居网络设备重新向线卡板3发送流量。需要说明的是,为了保证路由协议的正确运行,本发明实施例中,由于备用主控板和主用主控板均需要发布线卡板对应的路由,因此需要配置备用主控板和主用主控板使用不同的Router-ID;基于此,备用主控板发布的线卡板3对应的路由所使用的Router-ID与主用主控板发布的线卡板3对应的路由(线卡板3软件升级之前发布的路由)所使用的Router-ID不同。进一步的,在线卡板3软件升级完成之后,此时是由备用主控板向网络设备1发布线卡板1对应的路由,由备用主控板向网络设备1发布线卡板3对应的路由;基于线卡板1对应的路由和线卡板3对应的路由,网络设备1确认自身发送给网络设备2的流量需要发送到网络设备0的线卡板1和线卡板3上,即网络设备1重新向线卡板3发送流量。同理,在线卡板3软件升级完成之后,此时是由备用主控板向网络设备2发布线卡板1对应的路由,由备用主控板向网络设备2发布线卡板3对应的路由;基于线卡板1对应的路由和线卡板3对应的路由,网络设备2确认自身发送给网络设备1的流量需要发送到网络设备0的线卡板1和线卡板3上,即网络设备2重新向线卡板3发送流量。本发明实施例中,备用主控板向邻居网络设备重新发布线卡板3对应的路由之后,备用主控板还需要检查线卡板3的路由邻居状态,并在确定路由邻居状态为路由同步完成时,在等待预设时间后,通知主用主控板对其它线 卡板进行软件升级;由主用主控板在收到对其它线卡板进行软件升级的通知后,基于升级顺序确定下一个需要进行软件升级的线卡板。其中,路由同步完成指的是线卡板3上路由邻居对应的状态。如BGP协议中,当路由邻居对应的状态为Established时,表示路由邻居状态为路由同步完成;如OSPF协议中,当路由邻居对应的状态为Full时,表示路由邻居状态为路由同步完成。进一步的,当路由邻居状态为路由同步完成,且在等待预设时间(该预设时间可以根据实际经验值进行选择)后,可以确保邻居网络设备(如网络设备1和网络设备2)已经能够向线卡板3发送流量。之后,主用主控板基于升级顺序确定当前需要对线卡板2(第一线卡板)进行软件升级,并停止向邻居网络设备发布线卡板2对应的路由,以使邻居网络设备将向线卡板2发送的流量迁移到线卡板4(第二线卡板);之后,主用主控板在确定线卡板2没有流量通过时,对线卡板2进行软件升级。在线卡板2软件升级完成之后,线卡板2向备用主控板(此时备用主控板已经完成软件升级)进行注册,由备用主控板向邻居网络设备重新发布线卡板2对应的路由,以使邻居网络设备重新向线卡板2发送流量。之后,主用主控板基于升级顺序确定当前需要对线卡板4(第二线卡板)进行软件升级,并停止向邻居网络设备发布线卡板4对应的路由,以使邻居网络设备将向线卡板4发送的流量迁移到线卡板2(第一线卡板);之后,主用主控板在确定线卡板4没有流量通过时,对线卡板4进行软件升级。在线卡板4软件升级完成之后,线卡板4向备用主控板(此时备用主控板已经完成软件升级)进行注册,由备用主控板向邻居网络设备重新发布线卡板4对应的路由,以使邻居网络设备重新向线卡板4发送流量。其中,主用主控板对线卡板2和线卡板4进行软件升级的过程与线卡板1和线卡板3的软件升级过程类似,在此不再详加赘述。进一步的,当线卡板2和线卡板4的软件升级过程完成之后,所有线卡 板的软件升级过程结束,此时需要执行后续的步骤307。步骤307,主用主控板进行软件升级,备用主控板切换为主用主控板。在原主用主控板的软件升级过程中,原主用主控板重启,并运行新软件版本,以完成软件升级过程。由于此时所有线卡板的管理工作都由原备用主控板执行,因此原主用主控板不承载转发流量和设备管理等工作,即原主用主控板的软件升级过程不会影响网络中的转发流量,且当前原备用主控板切换为主用主控板。综上所述,本发明实施例中,在对网络设备进行不兼容升级方式的软件升级时,在对一个线卡板进行软件升级时,通过触发该网络设备的邻居网络设备将向该线卡板发送的流量迁移到其它线卡板上,以避免转发流量的丢失,并保证业务不中断,解决不兼容升级方式的软件升级过程中的转发丢包问题。基于与上述方法同样的发明构思,本发明实施例中还提供了一种进行不兼容升级方式的软件升级的网络设备,所述网络设备包括主用主控板、备用主控板和多个线卡板,所述多个线卡板中有至少两个线卡板与同一个邻居网络设备连接,且所述至少两个线卡板与所述邻居网络设备之间的各链路均为等价链路;如图4所示,所述主用主控板包括确定模块11、第一处理模块12和软件升级模块13;所述备用主控板包括第二处理模块14;其中:所述确定模块11,用于确定所述多个线卡板的升级顺序;所述第一处理模块12,用于在基于升级顺序确定当前需要对所述至少两个线卡板中的一个线卡板进行软件升级时,停止向所述邻居网络设备发布当前升级的线卡板对应的路由,使所述邻居网络设备将向所述当前升级的线卡板发送的流量迁移到所述至少两个线卡板中的其它线卡板;所述软件升级模块13,用于在确定所述当前升级的线卡板没有流量通过时,对所述当前升级的线卡板进行软件升级;所述第二处理模块14,用于在所述当前升级的线卡板软件升级完成,且 所述当前升级的线卡板向所述备用主控板进行注册时,向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由,使所述邻居网络设备向所述当前升级的线卡板发送流量;其中,所述第二处理模块14发布的所述当前升级的线卡板对应的路由所使用的路由标识Router-ID与所述第一处理模块12发布的所述当前升级的线卡板在升级之前对应的路由所使用的Router-ID不同。所述第一处理模块12,还用于在对所述多个线卡板进行软件升级之前,通知所述备用主控板进行软件升级;由所述备用主控板在收到进行软件升级的通知之后,进行软件升级;所述软件升级模块13,还用于在对所述多个线卡板进行软件升级之后,对主用主控板进行软件升级,由所述备用主控板切换为主用主控板。所述确定模块11,具体用于根据预先配置的线卡板升级顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,根据线卡板标识从小到大的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级;或者,根据线卡板标识从大到小的顺序确定所述多个线卡板的升级顺序,且每次软件升级过程中只对一个线卡板进行软件升级。所述第二处理模块14,具体用于接收所述当前升级的线卡板向所述备用主控板发送的注册报文,所述注册报文用于使所述备用主控板负责对所述当前升级的线卡板进行路由管理;在收到所述注册报文后,如果所述当前升级的线卡板注册成功,则对所述当前升级的线卡板进行路由管理,并向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由。所述第二处理模块14,还用于在向所述邻居网络设备重新发布所述当前升级的线卡板对应的路由后,检查所述当前升级的线卡板的路由邻居状态,并在确定路由邻居状态为路由同步完成时,在等待预设时间后,通知所述主 用主控板对其它线卡板进行软件升级;由主用主控板在收到对其它线卡板进行软件升级的通知后,基于升级顺序确定下一个需要进行软件升级的线卡板。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1