一种网络设备软件启动方法、装置及网络设备制造方法及图纸

技术编号:12071508 阅读:323 留言:0更新日期:2015-09-18 04:38
本发明专利技术实施例提供了一种网络设备软件启动方法、装置及网络设备,所述方法包括:网络设备启动,网络设备软件的启动加载程序bootloader子系统开始启动引导和加载内核kernel子系统和根文件rootfs子系统;若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。本发明专利技术实施例还提供网络设备软件启动装置,及网络设备,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动。

【技术实现步骤摘要】

本专利技术涉及计算机网络通讯领域,尤其涉及一种网络设备软件启动方法、装置及网络设备
技术介绍
无线网络在物理上,通常是由各种类型的网络连接设备和传输介质组成,网络设备是连接到网络环境中的物理实体,比如交换机、路由器、网关、无线接入点、无线接入控制益寺。网络设备的运行离不开网络设备软件,网络设备软件从系统的角度可以分为三个层次,主要包括:第一层次:启动加载程序(bootloader)子系统,系统启动初始化,启动过程中对硬件做基本的检查、引导与加载kernel子系统,也可以对整个设备的软件进行升级,并且bootloader子系统通常对于网络设备软件系统而言,是稳定固化的,后续不需要更新;第二层次:内核(kernel)子系统,系统操作系统核心,负责屏蔽系统的硬件构成,给10tfs子系统中的应用程序提供抽象的运行环境,启动过程中用于引导和加载rootfs子系统;第三层次:根文件(rootfs)子系统,系统根文件系统,启动过程中会引导和加载各种类型的应用程序,通常与具体业务相关,比如OSPF(Open Shortest Path First,开放式最短路径优先协议)、BGP (Border Gateway Protocol,边界网关协议)、DHCP (Dynamic HostConfigurat1n Protocol,动态主机配置协议)等协议应用或者用于给整个设备进行软件升级的管理应用等。其中,kernel运行环境是一个中间环节,对用户来说不能直接进行操作,必须加载启动rootfs后才可操作,而bootloader和rootfs则属于独立的可操作的运行环境。网络设备中通常使用FLASH闪存作为非易失性存储来放置设备软件,FLASH闪存主要分为两类:1、并行FLASH,容量较小,通常不会超过SM字节,划分为用于存放bootloader子系统的分区以及用于存放bootloader相关环境变量的分区。2、串行FLASH,容量较大,通常多于128M字节,更多的可达到G字节级别,采用分区的方式来存放如下子系统或者数据信息等:kernel分区:用于存放kernel子系统,包括kernel运行文件、kernel配置文件等;rootfS分区:用于存放rootfs子系统,包括了各应用程序的可执行文件、应用配置文件等;data分区:用于存放软件启动或者运行过程中产生的一些数据,软件升级后不允许丢失,比如网络业务相关的配置文件、统计文件、用户文件等。映像是指文件内容是一个无结构或结构未知的二进制数据集合,这类文件内部即使还具有结构,例如包含了目录与文件,但对于目标设备软件的处理工具而言,它是一个内容不可见的单独文件,这种文件在升级时,需要使用特定工具直接写入存储设备,对其内容不进行解析。例如,用于描述CD (COMPACT DISK)映像ISO (Isolat1n)文件,这样的映像文件通过烧写软件写入⑶-ROM(Compact Disc Read-Only Memory)中,而ISO文件内部就是一个独立的文件系统,但对于主机(HOST)的文件系统而言,它则是一个普通的常规文件。网络设备上的软件升级就可采用往串行FLASH刷写映像的方式进行,kernel和rootfs子系统均对应了各自独立的映像文件,每个映像文件可以独立的刷写到各子系统所对应的FLASH分区之上,所有映像文件最终合并为一个独立的安装包来对外呈现和发布。目前利用上述安装包对网络设备软件进行升级的过程通常是:在bootloader运行环境或rootfs运行环境中对安装包进行解析;解析出的kernel映像文件刷写到串行FLASH中指定的kernel分区;将解析出的rootfs映像文件刷写到串行FLASH中指定的rootfs分区;设备软件重启完成升级。网络设备软件进行启动的过程通常是:网络设备上电,从并行FLASH中的bootloader开始启动;bootloader对硬件进行基本检查和初始化后,引导并加载串行FLASH上的kernel分区中的kernel映像;kernel完成必要的初始化后,开始引导和加载rootfs分区中的首个主程序文件;首个主程序文件启动后逐个引导其他所有需要运行的应用程序。然而在上述网络设备软件升级或启动的过程中,若软件在升级过程中刷写kernel分区或10tfS分区中被异常终止或软件完整性被破坏,该种情况下,软件重新启动后还是会出现bootloader无法正确引导和加载kernel,或kernel无法正确引导和加载rootfs的情况;若软件在运行过程中kernel分区或rootfs分区中由于软件或硬件的缺陷而导致软件完整性被破坏,如分区内文件被篡改等等,软件重启后也会出现bootloader无法正确引导和加载kernel,或者kernel无法正确引导和加载rootfs的情况;当出现上述软件无法正常启动的情况时,网络设备软件启动失败,通常需要人工进行干预,重新升级安装包,升级安装包完成后再重新利用该安装包进行软件启动引导,操作较为复杂,人力成本也较高。
技术实现思路
本专利技术的实施例提供了一种网络设备软件启动方法、装置及网络设备,能够在网络设备软件出现异常的情况下自动恢复并成功启动。本专利技术提供了如下方案:—种网络设备软件启动方法,包括:网络设备启动,网络设备软件的启动加载程序(bootloader)子系统开始启动引导和加载内核(kernel)子系统和根文件(rootfs)子系统;若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。一种网络设备软件启动装置,所述装置包括:累加模块,用于在网络设备的bootloader子系统启动引导和加载kernel子系统和rootfs子系统失败时,对复位标记环境变量进行累加;获取模块,用于根据所述累加模块累加后的复位标记环境变量重新获取网络设备软件的安装包进行启动。一种网络设备,包括如上所述的网络设备软件启动装置。由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例提供的网络设备软件启动方法、装置及网络设备,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动;并且在软件升级过程中,若出现异常断电或人为操作失败导致的升级失败等情况时,也可再次读取从路径环境变量指向的安装包,重新升级,升级成功且启动成功后,再将主路径环境变量更新为从路径环境变量,进而保证了网络设备运行过程中若出现异常,能够通过主路径环境变量指向的安装包自动实现重启,可靠性更高。【附图说明】为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的网络设备软件启动方法的实现流程示意图;图2为本专利技术实施例提供的网络设备软件启动方法实施例一的实现流程示意图;图3为本专利技术实施例提供的网络设备软件启动方法实施例二的实现流程示意图;图4为本专利技术实施例提供的网络设备软件启动方法实施本文档来自技高网
...

【技术保护点】
一种网络设备软件启动方法,其特征在于,包括:网络设备启动,网络设备软件的启动加载程序bootloader子系统开始启动引导和加载内核kernel子系统和根文件rootfs子系统;若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵新星
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1