CN108712298B - 网络设备升级方法、装置、网络设备及存储介质 - Google Patents
网络设备升级方法、装置、网络设备及存储介质 Download PDFInfo
- Publication number
- CN108712298B CN108712298B CN201810992010.6A CN201810992010A CN108712298B CN 108712298 B CN108712298 B CN 108712298B CN 201810992010 A CN201810992010 A CN 201810992010A CN 108712298 B CN108712298 B CN 108712298B
- Authority
- CN
- China
- Prior art keywords
- data plane
- dynamic information
- information
- new version
- version
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网络设备升级方法、装置、网络设备及存储介质,所述网络设备升级方法包括以下步骤:当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;在得到所述第一数据平面之后,控制所述老版本数据平面退出;进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。通过本发明减少在整个升级过程中数据转发业务的中断时间。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及网络设备升级方法、装置、网络设备及存储介质。
背景技术
现有技术中,网络设备通过数据平面处理数据报文在各种数据平面I/O端口之间的转发,而且数据平面处理上述数据转发业务依赖于静态配置。
但是,在网络设备进行升级的过程中,需要重新加载静态配置,导致在静态配置加载期间数据平面无法利用静态配置处理数据转发业务,即造成数据转发业务中断。其中,静态配置加载快慢受配置规模影响,配置量越大加载耗时越多,便会导致升级过程中数据转发业务中断时间不可控。
发明内容
本发明的主要目的在于提供一种网络设备升级方法、装置、网络设备及存储介质,旨在解决现有技术中网络设备升级会导致数据业务中断的技术问题。
为实现上述目的,本发明提供一种网络设备升级方法,所述网络设备升级方法包括以下步骤:
当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
在得到所述第一数据平面之后,控制所述老版本数据平面退出;
进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
可选的,所述当网络设备进入升级模式时,生成新版本静态配置信息的步骤包括:
当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
根据所述版本差异信息,生成新版本静态配置信息。
可选的,所述获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面的步骤包括:
获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
可选的,所述老版本数据平面的动态信息至少包括:老版本的会话状态信息、老版本的网络地址转换资源分配信息。
可选的,所述控制所述老版本数据平面退出的步骤是在根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面之后,以及获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之前执行。
可选的,所述控制所述老版本数据平面退出的步骤是在获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之后执行。
可选的,所述当网络设备进入升级模式时之后,还包括:
获取当前的物理网卡状态信息并保存在物理网卡驱动中。
可选的,所述进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务的步骤包括:
加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
此外,为实现上述目的,本发明还提供一种网络设备升级装置,所述网络设备升级装置包括:
静态配置模块,用于当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
动态配置模块,用于获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
退出控制模块,用于在得到所述第一数据面之后,控制所述老版本数据平面退出;
接管模块,用于进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务;
其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
可选的,所述静态配置模块包括:
第一获取单元,用于当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
第一生成单元,用于根据所述版本差异信息,生成新版本静态配置信息。
可选的,所述动态配置模块包括:
第二获取单元,用于获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
检测单元,用于获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
第二生成单元,用于若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
转换单元,用于若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
第三生成单元,用于通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
可选的,所述网络设备升级装置还包括:
存储模块,用于获取当前的物理网卡状态信息并保存在物理网卡驱动中。
可选的,所述接管模块包括:
接管单元,用于加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
此外,为实现上述目的,本发明还提供一种网络设备,所述网络设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络设备升级程序,所述网络设备升级程序被所述处理器执行时实现如上所述的网络设备升级方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有网络设备升级程序,所述网络设备升级程序被处理器执行时实现如上所述的网络设备升级方法的步骤。
本发明中,网络设备进入升级模式时,生成新版本静态配置信息,并基于新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面,并在得到第一数据平面后,再控制老版本数据平面退出,然后再基于老版本数据平面的动态信息对第一数据平面进行同步配置,得到第二数据平面,并控制第二数据平面处理数据转发业务。相对于现有技术在网络设备升级过程中因为老版本数据平面加载静态配置导致数据转发业务中断,本发明在网络设备升级时将生成的新版本静态配置信息与新版本数据面进行配置,配置期间数据转发业务继续由老版本数据平面处理,从而保证业务在此期间业务正常运行,起到了减少在整个升级过程中数据转发业务的中断时间。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的网络设备结构示意图;
图2为本发明网络设备升级方法第一实施例的流程示意图;
图3为本发明网络设备架构示意图;
图4为本发明网络设备升级方法第二实施例的流程示意图;
图5为本发明网络设备升级装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1为本发明实施例方案涉及的硬件运行环境的网络设备结构示意图。
如图1所示,该网络设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及网络设备升级程序。
在图1所示的网络设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的网络设备升级程序,并执行以下操作:
当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
在得到所述第一数据平面之后,控制所述老版本数据平面退出;
进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
根据所述版本差异信息,生成新版本静态配置信息。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
所述老版本数据平面的动态信息至少包括:老版本的会话状态信息、老版本的网络地址转换资源分配信息。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
所述控制所述老版本数据平面退出的步骤是在根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面之后,以及获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之前执行。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
所述控制所述老版本数据平面退出的步骤是在获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之后执行。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
获取当前的物理网卡状态信息并保存在物理网卡驱动中。
进一步地,处理器1001可以调用存储器1005中存储的网络设备升级程序,还执行以下操作:
加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
参照图2,图2为本发明网络设备升级方法第一实施例的流程示意图。
在本发明网络设备升级方法第一实施例中,网络设备升级方法包括:
步骤S10,当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
本实施例中,控制平面,用于控制和管理所有网络协议的运行,控制平面提供了数据平面进行数据处理转发前所必需的各种网络信息和转发查询表项。数据平面IO端口,用于接收发送数据报文的端口,可以是连接虚拟机的虚拟端口,连接物理网卡的物理端口,也可以是其它的特殊端口如隧道端口,TAP端口等。数据平面,用于处理数据报文在各种数据平面IO端口之间的转发。控制平面、数据平面IO端口、数据平面均存在于网络设备中。
其中,生成新版本静态配置信息的过程具体为:获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;根据版本差异信息,生成新版本静态配置。新版本控制平面加载新版本静态配置,并将新版本静态配置推送给新版本数据平面,新版本数据平面根据新版本静态配置进行同步配置,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。此时,老版本数据平面继续处理数据转发业务。
由于新版本控制平面和新版本数据平面同步配置时,老版本数据平面依然在工作,新版本静态配置仅需要和新版本数据平面同步而不需要和老版本数据平面同步。可以通过数据平面进程名进行区分新老版本数据平面,如果控制平面和数据平面的IPC(Inter-Process Communication,进程间通信)通信方式是socket,则可以使用socket绑定地址和进程名进行关联,保证可以区分老版本数据平面和新版本数据平面的socket。
参照图3,图3为本发明网络设备架构示意图。如图3所示,在网络设备中,数据平面以及控制平面处于用户态,驱动(包括物理网卡驱动)处于内核态。其中,数据平面可以是一个进程,控制平面可以是一个或者多个进程。由于数据平面可以是一个进程,可以将老版本数据平面进程名命名为p1,新版本数据平面进程命名为p2。
本实施例中,当网络设备接收到升级包并基于升级包进入升级模式时,此时数据转发业务仍由老版本数据平面进行处理,并控制老版本数据平面不再接收控制平面配置下发。启动新版本控制平面和新版本数据平面,新版本数据平面暂时不初始化网卡驱动、不接管数据转发业务,仍由老版本数据平面继续处理数据转发业务。
获取升级包中包含的新版本静态配置格式,管理层通过对新版本静态配置格式与当前版本的静态配置格式进行差异对比,得到版本差异信息,根据版本差异信息,生成新版本静态配置。新版本控制平面加载新版本静态配置,并将新版本静态配置推送给新版本数据平面,新版本数据平面根据新版本静态配置进行同步配置,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。此时,老版本数据平面继续处理数据转发业务。
由于新版本控制平面和新版本数据平面同步配置时,老版本数据平面依然在工作,新版本静态配置仅需要和新版本数据平面同步而不需要和老版本数据平面同步。可以通过数据平面进程名进行区分新老版本数据平面,如果控制平面和数据平面的IPC(Inter-Process Communication,进程间通信)通信方式是socket,则可以使用socket绑定地址和进程名进行关联,保证可以区分老版本数据平面和新版本数据平面的socket。
步骤S20,获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
本实施例中,新版本数据平面根据新版本静态配置进行同步配置之后,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。后续,需要进一步对第一数据平面进行动态信息同步。
本实施例中,基于所述动态信息对所述第一数据平面进行同步配置过程包括:
获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
一可选实施例中,若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
本实施例中,从升级包中获取新版本动态信息结构,然后将新版本动态信息结构与当前版本动态信息结构(即老版本数据平面的动态信息的信息结构)进行对比,若新版本动态信息结构与老版本动态信息结构一致(即两者的数据结构一致),则可以采用共享内存的方式进行动态信息同步,新版本数据平面无需进行资源空间申请,同步效率高并且节省资源。
另一可选实施例中,若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
本实施例中,若新版本动态信息结构与老版本动态信息结构不一致(即两者的数据结构不一致),则需要将老版本的动态信息结构转换为新版本动态信息结构后进行同步,可以选择IPC(Inter-Process Communication,进程间通信)中的任何一种进程间通信的方法,将老版本数据平面的动态信息同步给第一数据平面。
本实施例中,老版本数据平面与第一数据平面同步动态信息配置,动态信息包括但不限于会话状态信息,网络地址转换资源分配信息(即NAT资源分配信息,NAT,NetworkAddress Translation,网络地址转换),用于保证经过同步动态信息配置后的第一数据平面(在此称作第二数据平面),后续可以维持老版本的会话状态,保证会话不中断。此时,老版本数据平面继续处理数据转发业务。
步骤S30,在得到所述第一数据平面之后,控制所述老版本数据平面退出;
本实施例中,可通过杀死老版本数据平面的进程的方式,控制老版本数据平面退出。
步骤S40,进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
本实施例中,在网络设备进入升级模式时,可通过老版本数据平面,设置内核态物理网卡驱动为升级模式,物理网卡驱动中保存物理网卡状态。第二数据平面进行物理网卡驱动初始化时,由于物理网卡已经设置为升级模式,内核态物理网卡驱动在升级模式,则直接加载物理网卡驱动成功且使用历史状态信息,升级过程物理网卡不会重置,第二数据平面接管老版本数据平面退出前保存的内存空间,继续进行报文数据转发处理业务。
进一步的,本发明网络设备升级方法另一实施例中,所述进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务的步骤包括:
加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
在网络设备进入升级模式时,可通过老版本数据平面,设置内核态物理网卡驱动为升级模式,物理网卡驱动中保存物理网卡状态。第二数据平面进行物理网卡驱动初始化时,由于物理网卡已经设置为升级模式,内核态物理网卡驱动在升级模式,则直接加载物理网卡驱动成功且使用历史状态信息(即之前保存的物理网卡状态信息),升级过程物理网卡不会重置(便不会导致数据业务中断),第二数据平面接管老版本数据平面退出前保存的内存空间,继续进行报文数据转发处理业务。
本实施例中,网络设备进入升级模式时,继续使用老版本数据平面处理数据转发业务,生成新版本静态配置信息,并基于新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面,得到第一数据平面后,基于老版本数据平面的动态信息对第一数据平面进行同步配置,得到第二数据平面,然后控制老版本数据平面退出,并进行物理网卡驱动初始化,控制第二数据平面处理数据转发业务。通过本实施例,在网络设备升级过程中,保证静态配置加载期间、动态信息同步期间以及进行物理网卡驱动初始化期间,数据转发业务不会中断,从而使得在网络设备整个升级过程中数据转发业务不中断。
上述第一实施例中控制所述老版本数据平面退出的步骤可以采用如下方式:
第一种是在得到第一数据平面之后,以及得到第二数据平面之前执行控制所述老版本数据平面退出的步骤,
具体地,当采用第一种方式时,本发明当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
得到第一数据平面后,控制老版本数据平面退出,获取所述老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面,并进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
本实施例中,得到第一数据平面之后,直接控制老版本数据平面退出,并进行物理网卡驱动初始化,控制第一数据平面处理数据转发业务,然后,基于老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面,然后再由第二数据平面处理数据转发业务。通过本实施例,静态配置加载期间数据转发业务不会中断,从而减少在网络设备整个升级过程中数据转发业务的中断时间。
第二种是在得到第二数据面后执行控制所述老版本数据平面退出的步骤。
具体地,采用第二种方式时,本发明当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;获取所述老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面,在得到第二数据平面之后,控制老版本数据平面退出,然后进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务。所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
通过本实施例,保证静态配置加载期间以及动态信息同步期间数据转发业务不会中断,从而减少在网络设备整个升级过程中数据转发业务的中断时间。
参照图4,图4为本发明网络设备升级方法第二实施例的流程示意图。如图4所示,当网络设备进入升级模式时,新版本控制平面、新版本数据平面启动,然后生成新版本静态配置,基于新版本静态配置对新版本数据平面进行同步静态配置,得到第一数据平面,然后基于老版本的动态信息对第一数据平面进行同步动态信息的步骤,得到第二数据平面。在此期间,老版本数据平面进行数据流量转发,然后控制老版本数据平面退出,第二数据平面接管物理网卡,负责数据流量转发业务,至此,网络设备升级结束。
本实施例中,网络设备进入升级模式时,继续使用老版本数据平面处理数据转发业务,生成新版本静态配置信息,并基于新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面,得到第一数据平面后,基于老版本数据平面的动态信息对第一数据平面进行同步配置,得到第二数据平面,然后控制老版本数据平面退出,并进行物理网卡驱动初始化,控制第二数据平面处理数据转发业务。通过本实施例,在网络设备升级过程中,首先由老版本数据平面处理数据转发业务,得到第二数据平面后,由第二数据平面处理数据转发业务,减少了在网络设备整个过程中数据转发业务的中断时间。
此外,本发明实施例还提出一种网络设备升级装置,参照图5,图5为本发明网络设备升级装置一实施例的功能模块示意图。如图5所示,所述网络设备升级装置包括:
静态配置模块10,用于当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
可选的,所述静态配置模块10包括:
第一获取单元,用于当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
第一生成单元,用于根据所述版本差异信息,生成新版本静态配置信息。
本实施例中,控制平面,用于控制和管理所有网络协议的运行,控制平面提供了数据平面进行数据处理转发前所必需的各种网络信息和转发查询表项。数据平面IO端口,用于接收发送数据报文的端口,可以是连接虚拟机的虚拟端口,连接物理网卡的物理端口,也可以是其它的特殊端口如隧道端口,TAP端口等。数据平面,用于处理数据报文在各种数据平面IO端口之间的转发。控制平面、数据平面IO端口、数据平面均存在于网络设备中。
其中,生成新版本静态配置信息的过程具体为:获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;根据版本差异信息,生成新版本静态配置。新版本控制平面加载新版本静态配置,并将新版本静态配置推送给新版本数据平面,新版本数据平面根据新版本静态配置进行同步配置,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。此时,老版本数据平面继续处理数据转发业务。
由于新版本控制平面和新版本数据平面同步配置时,老版本数据平面依然在工作,新版本静态配置仅需要和新版本数据平面同步而不需要和老版本数据平面同步。可以通过数据平面进程名进行区分新老版本数据平面,如果控制平面和数据平面的IPC(Inter-Process Communication,进程间通信)通信方式是socket,则可以使用socket绑定地址和进程名进行关联,保证可以区分老版本数据平面和新版本数据平面的socket。
参照图3,图3为本发明网络设备架构示意图。如图3所示,在网络设备中,数据平面以及控制平面处于用户态,驱动(包括物理网卡驱动)处于内核态。其中,数据平面可以是一个进程,控制平面可以是一个或者多个进程。由于数据平面可以是一个进程,可以将老版本数据平面进程名命名为p1,新版本数据平面进程命名为p2。
本实施例中,当网络设备接收到升级包并基于升级包进入升级模式时,此时数据转发业务仍由老版本数据平面进行处理,并控制老版本数据平面不再接收控制平面配置下发。启动新版本控制平面和新版本数据平面,新版本数据平面暂时不初始化网卡驱动、不接管数据转发业务,仍由老版本数据平面继续处理数据转发业务。
获取升级包中包含的新版本静态配置格式,管理层通过对新版本静态配置格式与当前版本的静态配置格式进行差异对比,得到版本差异信息,根据版本差异信息,生成新版本静态配置。新版本控制平面加载新版本静态配置,并将新版本静态配置推送给新版本数据平面,新版本数据平面根据新版本静态配置进行同步配置,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。此时,老版本数据平面继续处理数据转发业务。
由于新版本控制平面和新版本数据平面同步配置时,老版本数据平面依然在工作,新版本静态配置仅需要和新版本数据平面同步而不需要和老版本数据平面同步。可以通过数据平面进程名进行区分新老版本数据平面,如果控制平面和数据平面的IPC(Inter-Process Communication,进程间通信)通信方式是socket,则可以使用socket绑定地址和进程名进行关联,保证可以区分老版本数据平面和新版本数据平面的socket。
动态配置模块20,用于获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
本实施例中,新版本数据平面根据新版本静态配置进行同步配置之后,此时的新版本数据平面拥有数据转发使用的静态配置(包括但不限于路由转发表、访问控制策略),将此时的新版本数据平面称作第一数据平面。后续,需要进一步对第一数据平面进行动态信息同步。
可选的,所述动态配置模块20包括:
第二获取单元,用于获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
检测单元,用于获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
第二生成单元,用于若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
本实施例中,从升级包中获取新版本动态信息结构,然后将新版本动态信息结构与当前版本动态信息结构(即老版本数据平面的动态信息的信息结构)进行对比,若新版本动态信息结构与老版本动态信息结构一致(即两者的数据结构一致),则可以采用共享内存的方式进行动态信息同步,新版本数据平面无需进行资源空间申请,同步效率高并且节省资源。
可选的,所述动态配置模块20还包括:
转换单元,用于若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
第三生成单元,用于通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
本实施例中,若新版本动态信息结构与老版本动态信息结构不一致(即两者的数据结构不一致),则需要将老版本的动态信息结构转换为新版本动态信息结构后进行同步,可以选择IPC(Inter-Process Communication,进程间通信)中的任何一种进程间通信的方法,将老版本数据平面的动态信息同步给第一数据平面。
本实施例中,老版本数据平面与第一数据平面同步动态信息配置,动态信息包括但不限于会话状态信息,网络地址转换资源分配信息(即NAT资源分配信息,NAT,NetworkAddress Translation,网络地址转换),用于保证经过同步动态信息配置后的第一数据平面(在此称作第二数据平面),后续可以维持老版本的会话状态,保证会话不中断。此时,老版本数据平面继续处理数据转发业务。
退出控制模块30,用于在得到所述第一数据面之后,控制所述老版本数据平面退出;
本实施例中,可通过杀死老版本数据平面的进程的方式,控制老版本数据平面退出。
接管模块40,用于进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务;
可选的,所述网络设备升级装置还包括:
存储模块,用于获取当前的物理网卡状态信息并保存在物理网卡驱动中。
本实施例中,在网络设备进入升级模式时,可通过老版本数据平面,设置内核态物理网卡驱动为升级模式,物理网卡驱动中保存当前的物理网卡状态。
可选的,所述接管模块40包括:
接管单元,用于加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
本实施例中,第二数据平面进行物理网卡驱动初始化时,由于物理网卡已经设置为升级模式,内核态物理网卡驱动在升级模式,则直接加载物理网卡驱动成功且使用历史状态信息(即之前保存的物理网卡状态信息),升级过程物理网卡不会重置(便不会导致数据业务中断),第二数据平面接管老版本数据平面退出前保存的内存空间,继续进行报文数据转发处理业务。
其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理。
本实施例中,网络设备进入升级模式时,继续使用老版本数据平面处理数据转发业务,生成新版本静态配置信息,并基于新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面,得到第一数据平面后,基于老版本数据平面的动态信息对第一数据平面进行同步配置,得到第二数据平面,然后控制老版本数据平面退出,并进行物理网卡驱动初始化,控制第二数据平面处理数据转发业务。通过本实施例,在网络设备升级过程中,保证静态配置加载期间、动态信息同步期间以及进行物理网卡驱动初始化期间,数据转发业务不会中断,从而使得在网络设备整个升级过程中数据转发业务不中断。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有网络设备升级程序,所述网络设备升级程序被处理器执行时实现如上所述的网络设备升级方法的步骤。
本发明存储介质即计算机可读存储介质,本发明存储介质的具体实施例与上述网络设备升级方法的各个实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (13)
1.一种网络设备升级方法,其特征在于,所述网络设备升级方法包括以下步骤:
当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
在得到所述第一数据平面之后,控制所述老版本数据平面退出;
进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务,其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理;
当网络设备进入升级模式时,生成新版本静态配置信息的步骤包括:
当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
根据所述版本差异信息,生成新版本静态配置信息。
2.如权利要求1所述的网络设备升级方法,其特征在于,所述获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面的步骤包括:
获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
3.如权利要求2所述的网络设备升级方法,其特征在于,所述老版本数据平面的动态信息至少包括:老版本的会话状态信息、老版本的网络地址转换资源分配信息。
4.如权利要求1至3中任一项所述的网络设备升级方法,其特征在于,
所述控制所述老版本数据平面退出的步骤是在根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面之后,以及获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之前执行。
5.如权利要求1至3中任一项所述的网络设备升级方法,其特征在于,所述控制所述老版本数据平面退出的步骤是在获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面之后执行。
6.如权利要求1所述的网络设备升级方法,其特征在于,所述当网络设备进入升级模式时之后,还包括:
获取当前的物理网卡状态信息并保存在物理网卡驱动中。
7.如权利要求1或6所述的网络设备升级方法,其特征在于,所述进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务的步骤包括:
加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
8.一种网络设备升级装置,其特征在于,所述网络设备升级装置包括:
静态配置模块,用于当网络设备进入升级模式时,生成新版本静态配置信息,并根据所述新版本静态配置信息对新版本数据平面进行同步配置,得到第一数据平面;
动态配置模块,用于获取老版本数据平面的动态信息,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
退出控制模块,用于在得到所述第一数据面之后,控制所述老版本数据平面退出;
接管模块,用于进行物理网卡驱动初始化,控制所述第二数据平面处理数据转发业务;
其中,所述老版本数据平面退出之前,数据转发业务由所述老版本数据平面处理;
所述静态配置模块包括:
第一获取单元,用于当网络设备基于升级包进入升级模式时,获取所述升级包中包含的第一静态配置格式,将所述第一静态配置格式与当前的静态配置格式进行对比,得到版本差异信息;
第一生成单元,用于根据所述版本差异信息,生成新版本静态配置信息。
9.如权利要求8所述的网络设备升级装置,其特征在于,所述动态配置模块包括:
第二获取单元,用于获取老版本数据平面的动态信息,根据所述老版本数据平面的动态信息,得到动态信息的信息结构;
检测单元,用于获取升级包中包含的新版本动态信息结构,检测所述动态信息的信息结构与新版本动态信息结构是否一致;
第二生成单元,用于若所述动态信息的信息结构与新版本动态信息结构一致,则通过共享内存的方式,并基于所述动态信息对所述第一数据平面进行同步配置,得到第二数据平面;
转换单元,用于若所述动态信息的信息结构与新版本动态信息结构不一致,则将所述动态信息的信息结构转换为所述新版本动态信息结构;
第三生成单元,用于通过进程间通信机制,并基于经过结构转换的动态信息对所述第一数据平面进行同步配置,得到第二数据平面。
10.如权利要求8所述的网络设备升级装置,其特征在于,所述网络设备升级装置还包括:
存储模块,用于获取当前的物理网卡状态信息并保存在物理网卡驱动中。
11.如权利要求8或10所述的网络设备升级装置,其特征在于,所述接管模块包括:
接管单元,用于加载物理网卡驱动,使用所述物理网卡驱动中预先保存的物理网卡状态信息,控制所述第二数据平面处理数据转发业务。
12.一种网络设备,其特征在于,所述网络设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络设备升级程序,所述网络设备升级程序被所述处理器执行时实现如权利要求1至7中任一项所述的网络设备升级方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述存储介质上存储有网络设备升级程序,所述网络设备升级程序被处理器执行时实现如权利要求1至7中任一项所述的网络设备升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810992010.6A CN108712298B (zh) | 2018-08-28 | 2018-08-28 | 网络设备升级方法、装置、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810992010.6A CN108712298B (zh) | 2018-08-28 | 2018-08-28 | 网络设备升级方法、装置、网络设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108712298A CN108712298A (zh) | 2018-10-26 |
CN108712298B true CN108712298B (zh) | 2021-08-13 |
Family
ID=63873771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810992010.6A Active CN108712298B (zh) | 2018-08-28 | 2018-08-28 | 网络设备升级方法、装置、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712298B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491701A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种配置信息恢复方法、***、设备及计算机存储介质 |
CN109491698B (zh) * | 2018-12-29 | 2022-07-08 | 武汉思普崚技术有限公司 | 基于热补丁的***更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217678A (zh) * | 2007-12-28 | 2008-07-09 | 华为技术有限公司 | 一种***升级方法、***及装置 |
CN102148714A (zh) * | 2011-05-13 | 2011-08-10 | 大唐移动通信设备有限公司 | 软件升级方法和设备 |
CN102937906A (zh) * | 2012-10-31 | 2013-02-20 | 中兴通讯股份有限公司 | 一种补丁软件升级方法及*** |
CN103064711A (zh) * | 2012-12-27 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种基于Spread分布式应用***的热加载方法 |
CN106161110A (zh) * | 2016-08-31 | 2016-11-23 | 东软集团股份有限公司 | 一种网络设备中的数据处理方法及*** |
-
2018
- 2018-08-28 CN CN201810992010.6A patent/CN108712298B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217678A (zh) * | 2007-12-28 | 2008-07-09 | 华为技术有限公司 | 一种***升级方法、***及装置 |
CN102148714A (zh) * | 2011-05-13 | 2011-08-10 | 大唐移动通信设备有限公司 | 软件升级方法和设备 |
CN102937906A (zh) * | 2012-10-31 | 2013-02-20 | 中兴通讯股份有限公司 | 一种补丁软件升级方法及*** |
CN103064711A (zh) * | 2012-12-27 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种基于Spread分布式应用***的热加载方法 |
CN106161110A (zh) * | 2016-08-31 | 2016-11-23 | 东软集团股份有限公司 | 一种网络设备中的数据处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108712298A (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108039969B (zh) | 网络自动配置方法、装置、***、存储介质及目标计算机 | |
CN112506617B (zh) | Kubernetes集群中边车容器的镜像更新方法及装置 | |
CN103458002A (zh) | 云***的一键部署方法和装置 | |
CN111431740A (zh) | 数据的传输方法、装置、设备及计算机可读存储介质 | |
US8838757B2 (en) | Method of starting up a computing device in a network, server and network of computing devices for the implementation thereof | |
IT201600069354A1 (it) | Procedimento per effettuare una gestione remota di un modulo sim a sottoscrizione multipla, e corrispondente modulo sim e prodotto informatico | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN112445865B (zh) | 自动化部署区块链网络的方法、装置及云计算平台 | |
CN111147314A (zh) | 交换机升级方法、装置及存储介质 | |
CN108712298B (zh) | 网络设备升级方法、装置、网络设备及存储介质 | |
EP2897053B1 (en) | Device management method and apparatus | |
CN111752582A (zh) | 局域网内的软件更新方法、装置及电子设备 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
EP2854027B1 (en) | Method for downloading application program, user equipment and application server | |
EP3091435A1 (en) | Resource management method and device for terminal system | |
CN108234174B (zh) | 虚拟网络功能的管理方法和装置 | |
EP3404998B1 (en) | Communication method and apparatus, electronic device, and program product | |
CN111752576A (zh) | 一种基于5g数据的转发***部署方法、终端及存储介质 | |
CN114726905B (zh) | 一种Tbox网络接入Android***的方法、装置、设备及存储介质 | |
CN113612643B (zh) | 云手机的网络配置方法、装置、设备以及存储介质 | |
CN112367362B (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN113672243A (zh) | Linux***安装方法、装置、***、计算机设备和存储介质 | |
CN115220861A (zh) | 虚拟客户机管理方法、装置、介质和设备 | |
CN112148375A (zh) | ***安装方法、服务器、客户端及存储介质 | |
CN111240589A (zh) | 基于分区隔离的***管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |