CN117857313A - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN117857313A CN117857313A CN202311761147.8A CN202311761147A CN117857313A CN 117857313 A CN117857313 A CN 117857313A CN 202311761147 A CN202311761147 A CN 202311761147A CN 117857313 A CN117857313 A CN 117857313A
- Authority
- CN
- China
- Prior art keywords
- network device
- software version
- issu
- network
- backup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004891 communication Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 description 28
- 238000012360 testing method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007711 solidification Methods 0.000 description 3
- 230000008023 solidification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种通信方法及装置,应用于第一网络设备,该方法包括:若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;获取所述第一网络设备的ISSU角色;若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
目前,堆叠技术是将多个网络设备作为一个整体进行管理和控制,以提高网络设备的可靠性、灵活性。在一种堆叠技术中,允许多个网络设备在实际物理连接上表现为单个逻辑设备。上述堆叠技术通常由两个或多个网络设备组成,其中一个网络设备是主设备,其余网络设备是备设备。主备设备之间构建分布式系统,类似框式的分布式设备,各网络设备之间按照分布式模型同步数据,以实现多台网络设备的协同工作、统一管理和不间断维护。
不终端业务升级(英文:In-Service Software Upgrade,简称:ISSU)是指在不中断当前正在运行的网络业务服务的前提下,对网络设备软件进行升级。ISSU可以提高升级过程的可靠性、灵活性,避免了业务中断对网络的影响。在双机堆叠系统中,ISSU是以备设备为中心进行的。具体升级过程为:备设备先对自身的软件版本进行升级后,使用新版本重启;重启后,主备设备之间通过高可用性集群(英文:Highly Available,简称:HA)通道,同步主备设备之间的数据,并保证主备设备之间的数据兼容性(该数据兼容性是指数据结构变化但不影响处理,旧版本忽略接收到的消息中包括的新定义的数据,新版本对接收到的消息中包括的未赋值字段使用缺省值);然后,原主设备对自身的软件版本进行升级,使用新版本重启,原备设备升级为新主;最后,原主设备重启后,以新备设备身份与新主设备形成堆叠。
通过上述可知,在备设备版本升级后,主备设备处于跨版本运行的状态。主备设备之间需要备份数据,以保证备设备能够承接业务流量。而不同版本间的数据结构、处理时序可能由于新特性引入、问题修改等导致差异。因此,ISSU也出现下述问题:对于代码写作要求高,需特别考虑数据和处理的兼容性,且缺乏验证手段。另外,通常要求在一个相当长的周期(例如,18个月)内保障同一个分支的各个版本间相互兼容。所以,保持版本交叉匹配兼容,且需要全特性保证,导致测试工作量非常大(例如,每月一个版本,新版本要和前17个版本执行全特性的兼容测试),并且一旦版本发布并实际应用于现网,若已经事实形成不兼容也无法挽救。
为了解决ISSU出现的问题,现有方案为:利用分布式架构,即主备设备在跨版本运行期间,依然建立常规的堆叠。主备设备之间通过常规的分布式通道(例如,HA通道、设备间单播、组播通道等)备份数据,备份模式包括实时备份、批量备份;备份的数据包括配置、协议状态、转发表项、统计信息、事件等等。为了保证跨版本的兼容性,可对同步消息的修改做规范化、统一定义、序列化、反序列化的处理。
但是,现有方案中执行的规范化、统一定义、序列化、反序列化的处理可解决数据结构的不兼容问题,但是对于处理时序的不兼容问题以及测试量大的问题无法有效解决。
发明内容
有鉴于此,本申请提供了一种通信方法及装置,用以解决现有ISSU升级过程中,容易出现处理时序的不兼容以及测试量大的问题。
第一方面,本申请提供了一种通信方法,应用于第一网络设备,所述第一网络设备处于堆叠系统且在所述堆叠系统内为备设备,所述堆叠系统还包括第二网络设备且在所述堆叠系统内为主设备,所述第一网络设备与所述第二网络设备之间形成分布式系统,所述第一网络设备进行软件版本升级并重启,所述方法包括:
若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
获取所述第一网络设备的ISSU角色;
若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;
其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
第二方面,本申请提供了一种通信装置,应用于第一网络设备,所述第一网络设备处于堆叠系统且在所述堆叠系统内为备设备,所述堆叠系统还包括第二网络设备且在所述堆叠系统内为主设备,所述第一网络设备与所述第二网络设备之间形成分布式系统,所述第一网络设备进行软件版本升级并重启,所述装置包括:
形成单元,用于若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
获取单元,用于获取所述第一网络设备的ISSU角色;
建立单元,用于若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
接收单元,用于通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
恢复单元,用于根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;
其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,应用本申请提供的通信方法及装置,若软件版本升级后的第一网络设备的第一软件版本与第二网络设备的第二软件版本不同且第一网络设备处于ISSU期间,则第一网络设备与第二网络设备之间未形成堆叠系统;第一网络设备获取第一网络设备的ISSU角色;若ISSU角色为备节点,则与第二网络设备建立ISSU备份通道;通过ISSU备份通道,第一网络设备接收第二网络设备发送的配置文件以及第一备份数据;根据配置文件以及第一备份数据,第一网络设备恢复本地配置以及第一业务数据;其中,软件版本升级后的第一网络设备与第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
如此,第一网络设备、第二网络设备在跨版本运行期间,采用双机模式运行。各网络设备为各自分布式系统内的主设备,第一网络设备重启后,对业务模块的配置单独执行,并恢复该业务模块必要的业务数据,不再考虑业务模块之间配置的处理时序,同时,对备份数据进行版本固化,使得在软件版本升级区间,不同版本之间同步的备份数据的数据结构不再变化,减少测试工作量。解决了现有ISSU升级过程中,容易出现处理时序的不兼容以及测试量大的问题。
附图说明
图1为本申请实施例提供的通信方法的流程图;
图2为本申请实施例提供的网络设备跨版本运行组网图;
图3为本申请实施例提供的通信装置结构图;
图4为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的通信方法进行详细地说明。参见图1,图1为本申请实施例提供的通信方法的流程图。该方法应用于第一网络设备,本申请实施例提供的通信方法可包括如下所示步骤。
步骤110、若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
具体地,第一网络设备处于堆叠系统内,堆叠系统内还包括第二网络设备。第二网络设备为堆叠系统内的主设备,第一网络设备为堆叠系统内的备设备。第一网络设备与第二网络设备之间形成分布式系统。分布式系统类似框式的分布式设备,各网络设备之间按照分布式模型同步数据,以实现多台网络设备的协同工作、统一管理和不间断维护。
第一网络设备根据管理人员输入的升级指令,进行软件版本升级,即ISSU。在软件版本升级后,第一网络设备重启。
第一网络设备重启后,与第二网络设备建立通信连接,并对设备属性进行交互协商。在交互协商过程中,第一网络设备获取到第二网络设备的第二软件版本、第二网络设备的ISSU角色等信息。
第一网络设备获取自身的第一软件版本,并识别第一软件版本与第二软件版本是否相同。若第一软件版本与第二软件版本不同,则第一网络设备识别当前是否处于ISSU期间(即,堆叠系统内每个网络设备按序对自身的软件版本升级,先由备设备升级,然后主设备升级,网络设备软件升级期间被称为ISSU期间)。若第一网络设备处于ISSU期间,则第一网络设备不再与第二网络设备构建现有的堆叠系统。
上述通信连接具体为物理通信通道,即第一网络设备与第二网络设备之间插接的物理连线。
步骤120、获取所述第一网络设备的ISSU角色;
具体地,根据步骤110的描述,第一网络设备获取自身的ISSU角色。
其中,ISSU角色包括主节点以及备节点。该ISSU角色为在第一网络设备与第二网络设备形成堆叠系统时,由管理人员指定配置。
步骤130、若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
具体地,根据步骤120的描述,第一网络设备获取到自身的ISSU角色后,识别ISSU角色。若ISSU角色为备节点,则第一网络设备而是与第二网络设备建立ISSU备份通道。其中,ISSU备份通道为在物理通信通道上创建的逻辑通道。
在本申请实施例中,第一网络设备重启后,就已退出在先与第二网络设备构建的堆叠系统。第一网络设备自行作为另一分布式系统内的主设备,该另一分布式系统与第二网络设备所在分布式系统不同。
第一网络设备与第二网络设备建立ISSU备份通道后,第二网络设备获取存储的全部配置文件以及自身业务模块待备份的第一备份数据。通过ISSU备份通道,第二网络设备向第一网络设备发送配置文件以及第一备份数据。
需要说明的是,第二网络设备在与第一网络设备重新交互协商过程中,第二网络设备确定第一网络设备已进行软件版本升级,并与本地软件版本不相同。此时,第二网络设备可先获取本地配置文件,并向本地各业务模块发送事件通知,以告知各业务模块第一网络设备已进行软件版本升级,各业务模块收集自身的备份数据(也可称之为部分备份数据)。在全部业务模块均收集完成后,第二网络设备将各部分备份数据集成为第一备份数据(也可称之为整体备份数据)。
上述各业务模块收集的备份数据具体为自身维持业务功能的必要备份数据,例如,协议模块包括的转发表、路由表等等;认证模块包括的用户认证数据等等。
步骤130、通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
具体地,根据步骤120的描述,第一网络设备与第二网络设备之间建立ISSU备份通道后,第一网络设备接收第二网络设备发送的配置文件以及第一备份数据。
在本申请实施例中,配置文件、第一备份数据可同时向第一网络设备发送;或者,配置文件、第一备份数据可分多次向第一网络设备发送。
步骤140、根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据。
具体地,根据步骤130的描述,第一网络设备接收到配置文件、第一备份数据后,先根据配置文件恢复本地配置,本地配置包括全局配置(底层软硬件资源分配、接口配置、通信协议等等)以及业务配置(业务模块的属性、业务功能等等)。然后,根据第一备份数据恢复业务模块内的第一业务数据。
需要说明的是,以业务模块为各种协议模块说明,例如,路由、STP等等。对于协议模块来说,虽然第一网络设备、第二网络设备采用双机模式,但是,由于第一网络设备当前配置与第二网络设备当前配置均相同(例如,loopback接口地址,路由的rooter-id等等)。因此,为了避免后续同时工作,导致协议混乱,对外仅可表现为一个协议实体,各协议需集中在一个网络设备内处理。通常协议模块运行在ISSU主节点内,而ISSU备节点接收到协议报文后,将透传至ISSU主节点,由ISSU主节点进行处理。
可以理解的是,第一网络设备根据ISSU备节点身份,将自身协议模块包括的协议状态机、老化定时器、转发表、路由表均处于暂停状态。由于上述功能均处于暂停状态,第一网络设备仅启动接口的收发功能,第一网络设备接收到数据报文后,也将数据报文透传至第二网络设备,由第二网络设备进行处理。
可选地,在本申请实施例中,还包括第二网络设备向第一网络设备注册自身接口的过程。
具体地,当本地配置以及第一业务数据恢复后,通过ISSU备份通道,第一网络设备向第二网络设备发送接口注册消息,该接口注册消息包括第一网络设备包括的各接口的接口属性;第一网络设备将第一网络设备包括的各接口设置为启动(UP)状态,以使得各接口接收或发送报文。
根据前述可知,为了使备节点接收到的各类报文(协议报文、数据报文)透传至ISSU主节点,需使ISSU主节点能够知晓ISSU备节点的接口,ISSU主节点内的各业务模块才可对透传的报文正常处理。因此,需在第二网络设备上将第一网络设备包括的接口注册为光板接口,即对于第二网络设备来说,第一网络设备包括的接口均为对于第二网络设备包括的接口扩展。
上述光板可认为是单出的扩展接口,光板内未配置软件系统。第二网络设备可将第一网络设备包括的物理口均认为是自身的接口。
可选地,在本申请实施例中,还包括第一网络设备向第二网络设备透传报文,由第二网络设备集中处理的过程。
具体地,第一网络设备包括第一接口,该第一接口已根据前述过程注册至第二网络设备处。
当通过第一接口接收到第三网络设备发送的第一报文时,第一网络设备先判断自身ISSU身份。若为ISSU备节点,则通过ISSU备份通道,第一网络设备向第二网络设备发送第一报文,以使得第二网络设备对第一报文进行对应处理;通过ISSU备份通道,第一网络设备接收第二网络设备对第一报文进行对应处理后的第二报文;通过第一接口,第一网络设备向第三网络设备发送第二报文。
上述第一报文、第二报文可具体为协议报文,也可具体为数据报文。
在第一网络设备的接口UP后,业务流量可由第一网络设备、第二网络设备共同承担服务,由第二网络设备实现集中处理。
可选地,在本申请实施例中,还包括在第二网络设备进行软件版本升级并重启前,再次向第一网络设备发送备份数据的过程。
具体地,在第二网络设备进行软件版本升级并重启前,第二网络设备获取自身业务模块待备份的第二备份数据。通过ISSU备份通道,第二网络设备向第一网络设备发送第二备份数据。
第一网络设备接收到第二备份数据后,将第二备份数据存储至对应的业务模块中。
可以理解的是,为了尽可能保证在ISSU期间,第一网络设备内存储的备份数据为最新的数据,第二网络设备在重启前再次向第一网络设备发送第二备份数据。
可选地,在本申请实施例中,还包括第一网络设备与软件版本升级后的第二网络设备再次协商形成堆叠系统的过程。
具体地,软件版本升级后的第二网络设备重启后,第一网络设备与软件版本升级后的第二网络设备再次建立通信连接,并对设备属性进行交互协商。在交互协商过程中,第一网络设备与软件版本升级后的第二网络设备再次形成堆叠系统。此时,软件版本升级后的第二网络设备为堆叠系统中的备设备,第一网络设备为堆叠系统中的主设备。主备设备之间再次形成分布式系统,第一网络设备与软件版本升级后的第二网络设备建立分布式通道(例如,HA通道、板间通道(IBC)、单播、组播通道等等)。
通过分布式通道,向第二网络设备发送第三备份数据,以使得第二网络设备在本地存储第三备份数据。
其中,软件版本升级后的第一网络设备与软件版本升级后的第二网络设备处于相同的分布式系统内,且软件版本升级后的第一网络设备为分布式系统内的主设备,软件版本升级后的第二网络设备为分布式系统内的备设备。
可以理解的是,在第二网络设备重启期间,业务流量由第一网络设备承载并处理。上述再次形成堆叠系统、堆叠系统内主备角色选举、主备设备形成分布式系统的过程与现有过程相同,在此不再复述。
可选地,在本申请实施例中,若第一网络设备的软件版本与第二网络设备的软件版本处于相同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有相同的数据结构。
若第一网络设备的软件版本与第二网络设备的软件版本处于不同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有不同的数据结构。
上述过程具体是指备份数据版本固化过程。软件版本升级区间具体是指版本周期。例如,每10个版本组成一个版本周期,在这10个版本周期内,网络设备处于任意两个版本时,在ISSU期间内,相互发送的备份数据的数据结构均是相同的,由于数据结构相同,也就无需所有版本进行交叉测试。
在一个示例中,软件版本升级区间为[1,10],即版本1-版本10为一个软件版本升级区间。第一网络设备的软件版本为版本5,第二网络设备的软件版本为版本10,此时,网络设备之间相互发送的备份数据的数据结构均是相同的。
在另一个示例中,软件版本升级区间1为[1,10],软件版本升级区间2为[11,20]。若第一网络设备的软件版本为版本11,第二网络设备的软件版本为版本5,此时,网络设备之间相互发送的备份数据的数据结构均是不同的。此时,管理人员需从前一个软件版本升级区间[1,10]内选取任意一个版本(版本1-版本10均可选择),与当前软件版本升级区间[11,20]内的版本11进行兼容性测试,也就无需所有版本进行交叉测试,从而减少测试工作量。
上述提到的测试,具体为由管理人员主导的兼容性测试过程。也即是,在各网络设备软件版本升级初始,管理人员知晓每个网络设备当前软件版本升级以及下一个升级到的软件版本。因此,若管理人员确定第一网络设备升级后的软件版本与第二网络设备当前的软件版本处于不同的软件版本升级区间,则管理人员启动兼容性测试。
需要说明的是,各网络设备接收到不同数据结构的备份数据后,可先暂存在本地的业务模块内,并尝试读取、学习、试运行不同数据结构的备份数据,确定问题以及出错位置,以在后续改进新软件版本。
因此,应用本申请提供的通信方法,若软件版本升级后的第一网络设备的第一软件版本与第二网络设备的第二软件版本不同且第一网络设备处于ISSU期间,则第一网络设备与第二网络设备之间未形成堆叠系统;第一网络设备获取第一网络设备的ISSU角色;若ISSU角色为备节点,则与第二网络设备建立ISSU备份通道;通过ISSU备份通道,第一网络设备接收第二网络设备发送的配置文件以及第一备份数据;根据配置文件以及第一备份数据,第一网络设备恢复本地配置以及第一业务数据;其中,软件版本升级后的第一网络设备与第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
如此,第一网络设备、第二网络设备在跨版本运行期间,采用双机模式运行。各网络设备为各自分布式系统内的主设备,第一网络设备重启后,对业务模块的配置单独执行,并恢复该业务模块必要的业务数据,不再考虑业务模块之间配置的处理时序,同时,对备份数据进行版本固化,使得在软件版本升级区间,不同版本之间同步的备份数据的数据结构不再变化,减少测试工作量。解决了现有ISSU升级过程中,容易出现处理时序的不兼容以及测试量大的问题。
下面对本申请实施例提供的通信方法进行详细地说明。参见图2,图2为本申请实施例提供的网络设备跨版本运行组网图。在图2中,包括R1、R2以及R3。R1与R2形成双机堆叠系统,R1为双机堆叠系统内的主设备,R2为双机堆叠系统内的备设备。主备设备之间形成分布式系统。R3分别与R1、R2建立通信连接。
在R1、R2中分别包括堆叠模块、ISSU模块、透传模块、接口管理模块以及业务模块。其中,堆叠模块用于构建具有相同软件版本的网络设备之间的堆叠系统,而对于具有不同软件版本的网络设备之间,构建物理通信通道(网络设备间的物理连线,例如,堆叠线等)。ISSU模块用于管理网络设备的ISSU角色、控制ISSU过程、发布ISSU事件、构建ISSU备份通道以及根据ISSU角色,控制ISSU期间的相关处理。透传模块用于负责具有不同软件版本的网络设备之间的报文透传。接口管理模块用于负责对自身接口执行特殊处理。业务模块用于实现一种业务功能。
在双机堆叠系统中,ISSU是以备设备为中心进行的。下面以R2为例进行说明。
R2接收管理人员输入的升级指令,并将该升级指令传输至ISSU模块2。ISSU模块2启动ISSU并触发R2重启。当R2使用新软件版本重启后,堆叠模块2、ISSU模块2以及底层用于构建物理拓扑的支撑模块2先启动。堆叠模块2探测物理通信通道是否可达,并通过物理通信通道与R1建立通信连接。
堆叠模块2与R1包括的堆叠模块1进行交互协商。在交互协商过程中,堆叠模块2获取到R1的软件版本1(例如,V10)、R1的ISSU角色等信息。
堆叠模块1获取自身的软件版本2(例如,V11),并识别软件版本1与软件版本2是否相同。若软件版本1与软件版本2不同,则堆叠模块2识别当前是否处于ISSU期间。当前,R2处于ISSU期间,则堆叠模块2不再与堆叠模块1构建现有的双机堆叠系统。
堆叠模块2向ISSU模块2发送通知消息,以告知ISSU模块2未与R1构建双机堆叠系统。ISSU模块2确定未与R1构建双机堆叠系统,ISSU模块2获取自身的ISSU角色。
堆叠模块2获取到自身的ISSU角色后,识别ISSU角色。若ISSU角色为备节点,则堆叠模块2通过物理通信通道,与R1包括的ISSU模块1建立ISSU备份通道。
此时,从分布式的角度,常规的分布式消息处理均发生在具有相同软件版本的网络设备之间。由于R1与R2的软件版本不同,R1与R2互相不识别,即R1、R2为各自分布式系统的主设备。因此,R1和R2之间不会构建常规的分布式通道,也不会由于R2的重启,R1触发批备、实备等操作。
ISSU模块1与ISSU模块2建立ISSU备份通道后,可基于ISSU备份通道,对备份方式进行选择,例如,分布式数据库的备份方式、实时备份、批量备份等等。
ISSU模块1获取存储的全部配置文件。该配置文件为文本文件,且均为命令行格式。ISSU模块1还向R1包括的各业务模块发送事件通知,以告知各业务模块R2已进行软件版本升级,各业务模块收集自身的备份数据(也可称之为部分备份数据)。在全部业务模块均收集完成后,ISSU模块1将各部分备份数据集成为备份数据1(也可称之为整体备份数据)。
上述各业务模块收集的备份数据具体为自身维持业务功能的必要备份数据,例如,协议模块包括的转发表、路由表等等;认证模块包括的用户认证数据等等。
通过ISSU备份通道,ISSU模块1向ISSU模块2发送配置文件以及备份数据1。ISSU模块2接收到配置文件、备份数据1后,先根据配置文件恢复本地配置,本地配置包括全局配置(底层软硬件资源分配、接口配置、通信协议等等)以及业务配置(业务模块的属性、业务功能等等)。
R2包括的各业务模块均以ISSU备节点、分布式主设备的身份启动,ISSU模块2向各业务模块发送配置文件,各业务模块通过配置文件恢复配置。然后,根据备份数据1,ISSU模块2向对应的业务模块发送通知消息,该通知消息包括业务模块所需的备份数据。
各业务模块接收到通知消息后,从中获取备份数据。利用备份数据恢复业务数据1。
需要说明的是,由于配置文件均为命令行格式,因此,在恢复配置过程中,各类功能可独立恢复配置,而无需再考虑功能之间配置的前后时序。由于备份数据1为各业务模块的必要数据,因此,在传输过程中,可使R2中业务模块快速恢复业务功能,节省传输带宽。
当本地配置以及业务数据1恢复后,通过ISSU备份通道,ISSU模块2向第二网络设备发送接口注册消息,该接口注册消息包括R2包括的各接口的接口属性;ISSU模块2将R2包括的各接口设置为启动(UP)状态,以使得各接口接收或发送报文。
以R2包括接口1为例说明。接口1已根据前述过程注册至R1处。R2通过接口1与R3建立连接。
当通过接口1接收到R3发送的报文1时,R2先判断自身ISSU身份。若为ISSU备节点,则接口1将报文1传输至R2包括的透传模块2。通过ISSU备份通道,透传模块2向R1发送报文1。R1接收到报文1后,对报文1进行对应处理。处理结束后,将报文2传输至R1包括的透传模块1。通过ISSU备份通道,透传模块1向R2发送报文2;R1将报文2传输至接口1,并由接口1向R3发送报文2。
如此,在R2的接口UP后,业务流量可由R1、R2共同承担服务,由R1实现集中处理。
在R2完成软件版本升级、恢复配置、业务数据后,R1包括的ISSU模块1启动软件版本升级。在ISSU模块1启动软件版本升级前,ISSU模块1再次向R1包括的各业务模块发送事件通知,以告知各业务模块收集自身的备份数据(也可称之为部分备份数据)。在全部业务模块均收集完成后,ISSU模块1将各部分备份数据集成为备份数据2(也可称之为整体备份数据)。
通过ISSU备份通道,ISSU模块1向ISSU模块2发送备份数据2。根据备份数据2,ISSU模块2向对应的业务模块再次发送通知消息,该通知消息包括业务模块所需的备份数据。各业务模块接收到通知消息后,从中获取并存储备份数据。
ISSU模块1启动软件版本升级并触发R1重启。当R1使用新软件版本重启后,R1与R2再次建立通信连接。可以理解的是,R1重启后,R1内包括的各模块按序启动,启动过程与前述R2重启后过程相同,在此不再复述。
堆叠模块1启动后,再次与堆叠模块2进行交互协商。在本次交互协商过程中,R1、R2软件版本相同,R1与R2再次形成堆叠系统。此时,R1为堆叠系统中的备设备,R2为堆叠系统中的主设备。主备设备之间再次形成分布式系统。R1与R2之间建立分布式通道(例如,HA通道、板间通道(IBC)、单播、组播通道等等)。
通过分布式通道,R2向R1发送备份数据3,以使得R2在本地存储备份数据3。R2收集、发送备份数据3、R2存储备份数据3的过程与前述R1收集、发送备份数据1、2、R2存储备份数据1、2的过程相同,在此不再复述。
基于同一发明构思,本申请实施例还提供了通信方法对应的通信装置。参见图3,图3为本申请实施例提供的通信装置,应用于第一网络设备,所述第一网络设备处于堆叠系统且在所述堆叠系统内为备设备,所述堆叠系统还包括第二网络设备且在所述堆叠系统内为主设备,所述第一网络设备与所述第二网络设备之间形成分布式系统,所述第一网络设备进行软件版本升级并重启,所述装置包括:
形成单元310,用于若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
获取单元320,用于获取所述第一网络设备的ISSU角色;
建立单元330,用于若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
接收单元340,用于通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
恢复单元350,用于根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;
其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
可选地,所述装置还包括:
发送单元(图中未示出),用于当本地配置以及第一业务数据恢复后,通过所述ISSU备份通道,向所述第二网络设备发送接口注册消息,所述接口注册消息包括所述第一网络设备包括的各接口的接口属性;
设置单元(图中未示出),用于将所述第一网络设备包括的各接口设置为启动状态,以使得各接口接收或发送报文。
可选地,所述第一网络设备还包括第一接口,所述发送单元(图中未示出)还用于,当通过第一接口接收到第三网络设备发送的第一报文时,通过所述ISSU备份通道,向所述第二网络设备发送所述第一报文,以使得所述第二网络设备对所述第一报文进行对应处理;
所述接收单元340还用于,通过所述ISSU备份通道,接收所述第二网络设备对所述第一报文进行对应处理后的第二报文;
所述发送单元(图中未示出)还用于,通过所述第一接口,向所述第三网络设备发送所述第二报文。
可选地,所述接收单元340还用于,通过所述ISSU备份通道,接收所述第二网络设备发送的第二备份数据;
所述装置还包括:存储单元(图中未示出),用于在本地存储所述第二备份数据;
其中,所述第二备份数据为在所述第二网络设备进行软件版本升级并重启之前发送。
可选地,所述形成单元310还用于,与软件版本升级后的所述第二网络设备协商形成所述堆叠系统;
所述建立单元330还用于,与软件版本升级后的所述第二网络设备建立分布式通道;
所述发送单元(图中未示出)还用于,通过所述分布式通道,向所述第二网络设备发送的第三备份数据,以使得所述第二网络设备在本地存储所述第三备份数据;
其中,软件版本升级后的所述第一网络设备与软件版本升级后的所述第二网络设备处于相同的分布式系统内,且软件版本升级后的所述第一网络设备为分布式系统内的主设备,软件版本升级后的所述第二网络设备为分布式系统内的备设备。
可选地,若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于相同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有相同的数据结构;
若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于不同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有不同的数据结构。
因此,应用本申请提供的通信装置,若软件版本升级后的第一网络设备的第一软件版本与第二网络设备的第二软件版本不同且第一网络设备处于ISSU期间,则第一网络设备与第二网络设备之间未形成堆叠系统;第一网络设备获取第一网络设备的ISSU角色;若ISSU角色为备节点,则与第二网络设备建立ISSU备份通道;通过ISSU备份通道,第一网络设备接收第二网络设备发送的配置文件以及第一备份数据;根据配置文件以及第一备份数据,第一网络设备恢复本地配置以及第一业务数据;其中,软件版本升级后的第一网络设备与第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
如此,第一网络设备、第二网络设备在跨版本运行期间,采用双机模式运行。各网络设备为各自分布式系统内的主设备,第一网络设备重启后,对业务模块的配置单独执行,并恢复该业务模块必要的业务数据,不再考虑业务模块之间配置的处理时序,同时,对备份数据进行版本固化,使得在软件版本升级区间,不同版本之间同步的备份数据的数据结构不再变化,减少测试工作量。解决了现有ISSU升级过程中,容易出现处理时序的不兼容以及测试量大的问题。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图4所示,包括处理器410、收发器420和机器可读存储介质430,机器可读存储介质430存储有能够被处理器410执行的机器可执行指令,处理器410被机器可执行指令促使执行本申请实施例所提供的通信方法。前述图3所示的通信装置,可采用如图4所示的网络设备硬件结构实现。
上述计算机可读存储介质430可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质430还可以是至少一个位于远离前述处理器410的存储装置。
上述处理器410可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本申请实施例描述的通信方法。
另外,本申请实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本申请实施例描述的通信方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种通信方法,其特征在于,应用于第一网络设备,所述第一网络设备处于堆叠系统且在所述堆叠系统内为备设备,所述堆叠系统还包括第二网络设备且在所述堆叠系统内为主设备,所述第一网络设备与所述第二网络设备之间形成分布式系统,所述第一网络设备进行软件版本升级并重启,所述方法包括:
若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
获取所述第一网络设备的ISSU角色;
若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;
其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当本地配置以及第一业务数据恢复后,通过所述ISSU备份通道,向所述第二网络设备发送接口注册消息,所述接口注册消息包括所述第一网络设备包括的各接口的接口属性;
将所述第一网络设备包括的各接口设置为启动状态,以使得各接口接收或发送报文。
3.根据权利要求1所述的方法,其特征在于,所述第一网络设备还包括第一接口,所述方法还包括:
当通过第一接口接收到第三网络设备发送的第一报文时,通过所述ISSU备份通道,向所述第二网络设备发送所述第一报文,以使得所述第二网络设备对所述第一报文进行对应处理;
通过所述ISSU备份通道,接收所述第二网络设备对所述第一报文进行对应处理后的第二报文;
通过所述第一接口,向所述第三网络设备发送所述第二报文。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述ISSU备份通道,接收所述第二网络设备发送的第二备份数据;
在本地存储所述第二备份数据;
其中,所述第二备份数据为在所述第二网络设备进行软件版本升级并重启之前发送。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
与软件版本升级后的所述第二网络设备协商形成所述堆叠系统,并与软件版本升级后的所述第二网络设备建立分布式通道;
通过所述分布式通道,向所述第二网络设备发送第三备份数据,以使得所述第二网络设备在本地存储所述第三备份数据;
其中,软件版本升级后的所述第一网络设备与软件版本升级后的所述第二网络设备处于相同的分布式系统内,且软件版本升级后的所述第一网络设备为分布式系统内的主设备,软件版本升级后的所述第二网络设备为分布式系统内的备设备。
6.根据权利要求1所述的方法,其特征在于,若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于相同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有相同的数据结构;
若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于不同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有不同的数据结构。
7.一种通信装置,其特征在于,应用于第一网络设备,所述第一网络设备处于堆叠系统且在所述堆叠系统内为备设备,所述堆叠系统还包括第二网络设备且在所述堆叠系统内为主设备,所述第一网络设备与所述第二网络设备之间形成分布式系统,所述第一网络设备进行软件版本升级并重启,所述装置包括:
形成单元,用于若软件版本升级后的所述第一网络设备的第一软件版本与所述第二网络设备的第二软件版本不同且所述第一网络设备处于ISSU期间,则与所述第二网络设备之间未形成堆叠系统;
获取单元,用于获取所述第一网络设备的ISSU角色;
建立单元,用于若所述ISSU角色为备节点,则与所述第二网络设备建立ISSU备份通道;
接收单元,用于通过所述ISSU备份通道,接收所述第二网络设备发送的配置文件以及第一备份数据;
恢复单元,用于根据所述配置文件以及第一备份数据,恢复本地配置以及第一业务数据;
其中,软件版本升级后的所述第一网络设备与所述第二网络设备分别处于不同的分布式系统内,且为各自分布式系统内的主设备。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送单元,用于当本地配置以及第一业务数据恢复后,通过所述ISSU备份通道,向所述第二网络设备发送接口注册消息,所述接口注册消息包括所述第一网络设备包括的各接口的接口属性;
设置单元,用于将所述第一网络设备包括的各接口设置为启动状态,以使得各接口接收或发送报文。
9.根据权利要求8所述的装置,其特征在于,所述第一网络设备还包括第一接口,所述发送单元还用于,当通过第一接口接收到第三网络设备发送的第一报文时,通过所述ISSU备份通道,向所述第二网络设备发送所述第一报文,以使得所述第二网络设备对所述第一报文进行对应处理;
所述接收单元还用于,通过所述ISSU备份通道,接收所述第二网络设备对所述第一报文进行对应处理后的第二报文;
所述发送单元还用于,通过所述第一接口,向所述第三网络设备发送所述第二报文。
10.根据权利要求8所述的装置,其特征在于,所述接收单元还用于,通过所述ISSU备份通道,接收所述第二网络设备发送的第二备份数据;
所述装置还包括:存储单元,用于在本地存储所述第二备份数据;
其中,所述第二备份数据为在所述第二网络设备进行软件版本升级并重启之前发送。
11.根据权利要求10所述的装置,其特征在于,所述形成单元还用于,与软件版本升级后的所述第二网络设备协商形成所述堆叠系统;
所述建立单元还用于,与软件版本升级后的所述第二网络设备建立分布式通道;
所述发送单元还用于,通过所述分布式通道,向所述第二网络设备发送的第三备份数据,以使得所述第二网络设备在本地存储所述第三备份数据;
其中,软件版本升级后的所述第一网络设备与软件版本升级后的所述第二网络设备处于相同的分布式系统内,且软件版本升级后的所述第一网络设备为分布式系统内的主设备,软件版本升级后的所述第二网络设备为分布式系统内的备设备。
12.根据权利要求7所述的装置,其特征在于,若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于相同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有相同的数据结构;
若所述第一网络设备的软件版本与所述第二网络设备的软件版本处于不同的软件版本升级区间,则各个软件版本在软件版本升级后发送的备份数据具有不同的数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311761147.8A CN117857313A (zh) | 2023-12-20 | 2023-12-20 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311761147.8A CN117857313A (zh) | 2023-12-20 | 2023-12-20 | 通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117857313A true CN117857313A (zh) | 2024-04-09 |
Family
ID=90532173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311761147.8A Pending CN117857313A (zh) | 2023-12-20 | 2023-12-20 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117857313A (zh) |
-
2023
- 2023-12-20 CN CN202311761147.8A patent/CN117857313A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086652B (zh) | 一种针对5g核心网中服务网元的管理系统及其方法 | |
CN103744809B (zh) | 基于vrrp的车辆信息管理系统双机热备方法 | |
US9378005B2 (en) | Hitless software upgrades | |
CN102185718B (zh) | 一种系统升级方法及其装置 | |
US7383541B1 (en) | Method and apparatus providing interoperation of execution images of different versions | |
CN100525206C (zh) | 自动恢复设备故障的实现方法及系统 | |
US9071508B2 (en) | Distributed fabric management protocol | |
EP0643521A2 (en) | Method for building a sub-network in a distributed voice massaging system | |
US20100042715A1 (en) | Method and systems for redundant server automatic failover | |
CN104320459A (zh) | 一种节点管理方法和装置 | |
JP2004534994A (ja) | データベースデータの同期 | |
CN105357273A (zh) | 异步通信模式下socket通信与进程管理通用平台及方法 | |
CN101739263A (zh) | 在多机集群系统中实现操作系统升级的方法及装置 | |
WO2010135897A1 (zh) | 一种独占闪存组合设备空中固件升级方法及装置 | |
US8301750B2 (en) | Apparatus, system, and method for facilitating communication between an enterprise information system and a client | |
CN112202877A (zh) | 网关联动方法、网关、云服务器及用户终端 | |
CN113726581B (zh) | 一种恢复网络设备的出厂配置的方法、装置及网络设备 | |
US20240054054A1 (en) | Data Backup Method and System, and Related Device | |
CN103686300A (zh) | 业务指南的同步方法及系统 | |
CN117857313A (zh) | 通信方法及装置 | |
CN102307113A (zh) | 一种系统升级方法、系统及装置 | |
Cisco | CWM to CWM Communications | |
CN114598593A (zh) | 消息处理方法、系统、计算设备及计算机存储介质 | |
CN113821334A (zh) | 一种配置边缘侧设备的方法、装置及系统 | |
CN112714035A (zh) | 监控方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |