CN104915226A - 一种网络设备软件启动方法、装置及网络设备 - Google Patents
一种网络设备软件启动方法、装置及网络设备 Download PDFInfo
- Publication number
- CN104915226A CN104915226A CN201510263863.2A CN201510263863A CN104915226A CN 104915226 A CN104915226 A CN 104915226A CN 201510263863 A CN201510263863 A CN 201510263863A CN 104915226 A CN104915226 A CN 104915226A
- Authority
- CN
- China
- Prior art keywords
- subsystem
- environment variable
- installation package
- upgrading
- starting
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000009434 installation Methods 0.000 claims description 179
- 238000005192 partition Methods 0.000 claims description 113
- 238000009825 accumulation Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 18
- 238000011084 recovery Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000005856 abnormality Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种网络设备软件启动方法、装置及网络设备,所述方法包括:网络设备启动,网络设备软件的启动加载程序bootloader子系统开始启动引导和加载内核kernel子系统和根文件rootfs子系统;若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。本发明实施例还提供网络设备软件启动装置,及网络设备,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动。
Description
技术领域
本发明涉及计算机网络通讯领域,尤其涉及一种网络设备软件启动方法、装置及网络设备。
背景技术
无线网络在物理上,通常是由各种类型的网络连接设备和传输介质组成,网络设备是连接到网络环境中的物理实体,比如交换机、路由器、网关、无线接入点、无线接入控制器等。
网络设备的运行离不开网络设备软件,网络设备软件从系统的角度可以分为三个层次,主要包括:
第一层次:启动加载程序(bootloader)子系统,系统启动初始化,启动过程中对硬件做基本的检查、引导与加载kernel子系统,也可以对整个设备的软件进行升级,并且bootloader子系统通常对于网络设备软件系统而言,是稳定固化的,后续不需要更新;
第二层次:内核(kernel)子系统,系统操作系统核心,负责屏蔽系统的硬件构成,给rootfs子系统中的应用程序提供抽象的运行环境,启动过程中用于引导和加载rootfs子系统;第三层次:根文件(rootfs)子系统,系统根文件系统,启动过程中会引导和加载各种类型的应用程序,通常与具体业务相关,比如OSPF(Open Shortest Path First,开放式最短路径优先协议)、BGP(BorderGateway Protocol,边界网关协议)、DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)等协议应用或者用于给整个设备进行软件升级的管理应用等。其中,kernel运行环境是一个中间环节,对用户来说不能直接进行操作,必须加载启动rootfs后才可操作,而bootloader和rootfs则属于独立的可操作的运行环境。
网络设备中通常使用FLASH闪存作为非易失性存储来放置设备软件,FLASH闪存主要分为两类:1、并行FLASH,容量较小,通常不会超过8M字节,划分为用于存放bootloader子系统的分区以及用于存放bootloader相关环境变量的分区。2、串行FLASH,容量较大,通常多于128M字节,更多的可达到G字节级别,采用分区的方式来存放如下子系统或者数据信息等:kernel分区:用于存放kernel子系统,包括kernel运行文件、kernel配置文件等;rootfs分区:用于存放rootfs子系统,包括了各应用程序的可执行文件、应用配置文件等;data分区:用于存放软件启动或者运行过程中产生的一些数据,软件升级后不允许丢失,比如网络业务相关的配置文件、统计文件、用户文件等。
映像是指文件内容是一个无结构或结构未知的二进制数据集合,这类文件内部即使还具有结构,例如包含了目录与文件,但对于目标设备软件的处理工具而言,它是一个内容不可见的单独文件,这种文件在升级时,需要使用特定工具直接写入存储设备,对其内容不进行解析。例如,用于描述CD(COMPACTDISK)映像ISO(Isolation)文件,这样的映像文件通过烧写软件写入CD-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分区或rootfs分区中被异常终止或软件完整性被破坏,该种情况下,软件重新启动后还是会出现bootloader无法正确引导和加载kernel,或kernel无法正确引导和加载rootfs的情况;若软件在运行过程中kernel分区或rootfs分区中由于软件或硬件的缺陷而导致软件完整性被破坏,如分区内文件被篡改等等,软件重启后也会出现bootloader无法正确引导和加载kernel,或者kernel无法正确引导和加载rootfs的情况;当出现上述软件无法正常启动的情况时,网络设备软件启动失败,通常需要人工进行干预,重新升级安装包,升级安装包完成后再重新利用该安装包进行软件启动引导,操作较为复杂,人力成本也较高。
发明内容
本发明的实施例提供了一种网络设备软件启动方法、装置及网络设备,能够在网络设备软件出现异常的情况下自动恢复并成功启动。
本发明提供了如下方案:
一种网络设备软件启动方法,包括:
网络设备启动,网络设备软件的启动加载程序(bootloader)子系统开始启动引导和加载内核(kernel)子系统和根文件(rootfs)子系统;
若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。
一种网络设备软件启动装置,所述装置包括:
累加模块,用于在网络设备的bootloader子系统启动引导和加载kernel子系统和rootfs子系统失败时,对复位标记环境变量进行累加;
获取模块,用于根据所述累加模块累加后的复位标记环境变量重新获取网络设备软件的安装包进行启动。
一种网络设备,包括如上所述的网络设备软件启动装置。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供的网络设备软件启动方法、装置及网络设备,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动;并且在软件升级过程中,若出现异常断电或人为操作失败导致的升级失败等情况时,也可再次读取从路径环境变量指向的安装包,重新升级,升级成功且启动成功后,再将主路径环境变量更新为从路径环境变量,进而保证了网络设备运行过程中若出现异常,能够通过主路径环境变量指向的安装包自动实现重启,可靠性更高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网络设备软件启动方法的实现流程示意图;
图2为本发明实施例提供的网络设备软件启动方法实施例一的实现流程示意图;
图3为本发明实施例提供的网络设备软件启动方法实施例二的实现流程示意图;
图4为本发明实施例提供的网络设备软件启动方法实施例三的实现流程示意图;
图5为本发明实施例提供的网络设备软件启动方法实施例三中分区示意图;
图6为本发明实施例提供的网络设备软件启动方法实施例四的实现流程示意图;
图7为本发明实施例提供的网络设备软件启动方法实施例四中分区示意图;
图8为本发明实施例提供的网络设备软件启动装置的结构示意图;
图9为本发明实施例提供的网络设备软件启动装置实施例一的结构示意图;
图10为本发明实施例提供的网络设备软件启动装置实施例二的结构示意图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的网络设备软件启动方法的实现流程示意图,如图1所示,所述方法包括下述步骤:
步骤101,网络设备启动,网络设备软件的bootloader子系统开始启动引导和加载内核kernel子系统和根文件rootfs子系统;
网络设备上电,从并行FLASH中的bootloader分区开始启动;bootloader子系统对硬件进行基本检查和初始化后,引导并加载串行FLASH上的kernel分区中的kernel映像;kernel子系统完成必要的初始化后,开始引导和加载rootfs分区中的首个主程序文件;首个主程序文件启动后逐个引导其他所有需要运行的应用程序。
可选的,上述kernel分区和rootfs分区还可以分别设置为双分区的形式来存放映像,即kernel分区包括主备kernel分区,rootfs分区包括主备rootfs分区,主备kernel分区存放同一kernel映像,主备rootfs分区存放同一rootfs映像,此时kernel子系统和rootfs子系统分别包括主备子系统,可进一步提供网络设备软件启动的可靠性。
步骤102,若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。
这里,复位标记环境变量为预先设置,用于对启动失败的次数进行计数,且在网络设备软件启动成功后立即清零。
具体地,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
另外,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第三阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
应当理解,所述第一阈值、第二阈值、第三阈值及第四阈值根据实际需求进行设置,可以相同也可以不同。
本发明实施例提供的网络设备软件启动方法,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动。
图2为本发明实施例提供的网络设备软件启动方法实施例一的实现流程示意图,如图2所示,所述实施例一包括:
步骤201,网络设备启动,判断预设的升级状态环境变量的状态,当所述升级状态环境变量处于升级成功状态时,执行步骤202,当所述升级状态环境变量处于升级失败状态时,执行步骤205;
可选的,当所述升级状态环境变量为升级结束状态时,确定所述升级状态环境变量的状态为升级成功状态;当所述升级状态环境变量为启动升级状态时,确定所述升级状态环境变量的状态为升级失败状态,此时的升级失败状态是由于升级过程中被异常打断,如异常断电或认为失误等状况造成的安装包并未真正更新到新版本。
步骤202,bootloader子系统开始启动引导和加载kernel子系统和rootfs子系统,启动失败,执行步骤203,若启动成功,执行步骤204;
网络设备上电,从并行FLASH中的bootloader分区开始启动;bootloader子系统对硬件进行基本检查和初始化后,引导并加载串行FLASH上的kernel分区中的kernel映像;kernel子系统完成必要的初始化后,开始引导和加载rootfs分区中的首个主程序文件;首个主程序文件启动后逐个引导其他所有需要运行的应用程序。
可选的,上述kernel分区和rootfs分区还可以分别设置为双分区的形式来存放映像,即kernel分区包括主备kernel分区,rootfs分区包括主备rootfs分区,主备kernel分区存放同一kernel映像,主备rootfs分区存放同一rootfs映像,此时kernel子系统和rootfs子系统分别包括主备子系统,可进一步提供网络设备软件启动的可靠性。
步骤203,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动;
这里,复位标记环境变量为预先设置,用于对启动失败的次数进行计数,且在网络设备软件启动成功后立即清零。
具体地,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
另外,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第三阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
应当理解,所述第一阈值、第二阈值、第三阈值及第四阈值根据实际需求进行设置,可以相同也可以不同。
步骤204,当所述网络设备软件启动成功,将所述复位标记环境变量清零,当前流程结束;
步骤205,当所述升级状态环境变量处于升级失败状态时,读取安装包的从路径环境变量指向的安装包,重新进行升级,直至升级成功,执行步骤201。
这里,所述升级环境状态变量处于升级失败是由于升级过程中被异常打断,如异常断电或人为失误等状况造成的安装包并未真正更新到新版本,因此需要重新读取从路径环境变量指向的安装包,重新进行升级。
另外,安装包包括主路径环境变量指向的安装包(简称为主安装包)和从路径环境变量指向的安装包(简称为从安装包);
从路径环境变量用于保存当前正在升级的安装包路径,主路径环境变量用于保存上一次升级成功且启动成功的安装包路径。当从安装包升级成功且启动网络设备软件成功后,主路径环境变量会更新为从路径环境变量。
从安装包是存在升级后引导失败可能性的,所以不能直接将主路径环境变量更新为从路径环境变量,需要确保从安装包成功升级并启动成功后才可更新,若从安装包引导失败后还可以用之前的主安装包进行恢复。
本发明实施例提供的网络设备软件启动方法,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动;并且在软件升级过程中,若出现异常断电或人为操作失败导致的升级失败等情况时,也可再次读取从路径环境变量指向的安装包,重新升级,升级成功且启动成功后,再将主路径环境变量更新为从路径环境变量,进而保证了网络设备运行过程中若出现异常,能够通过主路径环境变量指向的安装包自动实现重启,可靠性更高。
图3为本发明实施例提供的网络设备软件启动方法实施例二的实现流程示意图,如图3所示,所述实施例二包括下述步骤:
步骤301,网络设备启动,开始升级,将网络设备软件的安装包存储到data分区,并将所述安装包的存储路径设置到从路径环境变量中,并将所述升级状态环境变量标记为启动升级状态;
步骤302,按顺序进行kernel分区和rootfs分区的映像刷写操作;
这里,网络设备上的软件升级常常采用往串行FLASH刷写映像的方式进行,kernel子系统和rootfs子系统均对应了各自独立的映像文件,每个映像文件可以独立的刷写到各子系统所对应的FLASH分区之上,所有映像文件最终合并为一个独立的安装包来对外呈现和发布。
本步骤中,对data分区存储的安装包进行解析,得到kernel子系统和rootfs子系统各自对应的映像文件,并相应刷写kernel分区和rootfs分区。
步骤303,当刷写顺利完成时,将所述升级状态环境变量标记为升级结束状态。
步骤304,判断预设的升级状态环境变量的状态,当所述升级状态环境变量处于升级成功状态时,执行步骤305,否则,执行步骤308;
判断预设的升级状态环境变量的状态,当所述升级状态环境变量处于升级成功状态时,执行步骤305,当所述升级状态环境变量处于升级失败状态时,执行步骤308;
可选的,当所述升级状态环境变量为升级结束状态时,确定所述升级状态环境变量的状态为升级成功状态;当所述升级状态环境变量为启动升级状态时,确定所述升级状态环境变量的状态为升级失败状态。
步骤305,bootloader子系统开始启动引导和加载kernel子系统和rootfs子系统,启动失败,执行步骤306,若启动成功,执行步骤307;
网络设备上电,从并行FLASH中的bootloader分区开始启动;bootloader子系统对硬件进行基本检查和初始化后,引导并加载串行FLASH上的kernel分区中的kernel映像;kernel子系统完成必要的初始化后,开始引导和加载rootfs分区中的首个主程序文件;首个主程序文件启动后逐个引导其他所有需要运行的应用程序。
可选的,上述kernel分区和rootfs分区还可以分别设置为双分区的形式来存放映像,即kernel分区包括主备kernel分区,rootfs分区包括主备rootfs分区,主备kernel分区存放同一kernel映像,主备rootfs分区存放同一rootfs映像,此时kernel子系统和rootfs子系统分别包括主备子系统,可进一步提供网络设备软件启动的可靠性。
步骤306,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动;
这里,复位标记环境变量为预先设置,用于对启动失败的次数进行计数,且在网络设备软件启动成功后立即清零。
具体地,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
另外,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第三阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
应当理解,所述第一阈值、第二阈值、第三阈值及第四阈值根据实际需求进行设置,可以相同也可以不同。
步骤307,当所述网络设备软件启动成功,将所述复位标记环境变量清零;进一步地,当安装包升级成功后第一次启动成功网络设备软件时,执行步骤309;
步骤308,当所述升级状态环境变量处于升级失败状态时,读取安装包的从路径环境变量指向的安装包,重新进行升级,直至升级成功,执行步骤304。
这里,所述升级环境状态变量处于升级失败是由于升级过程中被异常打断,如异常断电或认为失误等状况造成的安装包并未真正更新到新版本,因此需要重新读取从路径环境变量指向的安装包,重新进行升级。
另外,安装包包括主路径环境变量指向的安装包(简称为主安装包)和从路径环境变量指向的安装包(简称为从安装包);
从路径环境变量用于保存当前正在升级的安装包路径,主路径环境变量用于保存上一次升级成功且启动成功的安装包路径。当从安装包升级成功且启动网络设备软件成功后,主路径环境变量会更新为从路径环境变量。
从安装包是存在升级后引导失败可能性的,所以不能直接将主路径环境变量更新为从路径环境变量,需要确保从安装包成功升级并启动成功后才可更新,若从安装包引导失败后还可以用之前的主安装包进行恢复。
步骤309,当安装包升级成功后第一次启动成功网络设备软件时,则删除所述主路径环境变量指向的安装包,并将所述主路径环境变量更新为从路径环境变量。
另外,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,本发明实施例还可以包括:
当所述安装包升级成功完成,同步更新kernel子系统和/或rootfs子系统的备份子系统的安装包。
本发明实施例提供的网络设备软件启动方法,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动;并且在软件升级过程中,根据升级情况,更新升级状态环境变量的状态,若出现异常断电或人为操作失败导致的升级失败等情况时,根据也可再次读取从路径环境变量指向的安装包,重新升级,升级成功且启动成功后,再将主路径环境变量更新为从路径环境变量,进而保证了网络设备运行过程中若出现异常,能够通过主路径环境变量指向的安装包自动实现重启,可靠性更高。
图4为本发明实施例提供的网络设备软件启动方法实施例三的实现流程示意图,如图5所示,本发明实施例三是以kernel分区和rootfs分区均为单分区为例进行的说明,所述实施例三包括下述步骤:
步骤401,bootloader运行环境或rootfs运行环境下对安装包升级;
步骤402,拷贝(外置存储)或者下载(外置网络)安装包并存储安装包到data分区,并更新安装包的完整文件路径到从路径环境变量pkg_path_slave中;
可选的,本步骤中当如果Data分区没有足够的容量,可以将主路径环境变量pkg_path_master指向的安装包删除并置空该变量,释放空间后重新执行步骤402;
步骤403,标记启动升级并设置到升级状态环境变量pkg_upgrade_status中,kernel与rootfs分区分别按顺序进行映像刷写操作;如果刷写顺利完成,标记结束升级并设置到pkg_upgrade_status中,否则pkg_upgrade_status始终处于标记启动状态;
步骤404,设备重启后,bootloader对pkg_upgrade_status进行检查,如果标记升级是成功结束的,那么直接进入启动过程,执行步骤406;如果标记升级是失败的,执行步骤405;
步骤405,选择pkg_path_slave指向的安装包重新进行升级过程,具体过程参考步骤403,并且直到升级确保完成为止,返回步骤404;
步骤406,进入bootloader引导过程,若是安装包升级后引导成功,执行步骤407-408,若是网络设备运行过程中引导成功,执行步骤409,若是引导kernel或者rootfs失败,执行步骤410,若是引导kernel前检验失败,执行步骤411;
步骤407,kernel与rootfs启动过程均正常,进入到rootfs后,rootfs应用程序分别将升级状态环境变量复位以及复位标记环境变量recover_flag清0,且如果是软件升级后的首次成功启动,执行步骤408;
步骤408,rootfs应用程序调换pkg_path_master以及pkg_path_slave指向的安装包路径,原pkg_path_master路径指向的旧的安装包直接删除。
步骤409,网络设备运行过程中引导成功,rootfs应用程序分别将升级状态环境变量复位以及复位标记环境变量recover_flag清0。
步骤410,若是引导kernel或者rootfs失败,返回引导异常同时网络设备复位,对复位标记环境变量进行累加并执行步骤406,当复位标记环境变量连续累加至3次时,执行步骤412,当复位标记环境变量连续累加至6次时,执行步骤413;
步骤411,若是引导kernel前检验失效,返回引导异常,对复位标记环境变量进行累加,当复位标记环境变量累加至1次时,执行步骤412,当复位标记环境变量连续累加至2次时,执行步骤413;
步骤412,选择pkg_path_master指向的安装包重新进行升级;
步骤413,通过网络方式重新下载安装包升级。
图6为本发明实施例提供的网络设备软件启动方法实施例四的实现流程示意图,如图7所示,本发明实施例四是以kernel分区和rootfs分区均为主备分区为例进行的说明,所述实施例四包括下述步骤:
步骤601,bootloader运行环境或rootfs运行环境下对安装包升级;
步骤602,拷贝(外置存储)或者下载(外置网络)安装包并存储安装包到data分区,并更新安装包的完整文件路径到从路径环境变量pkg_path_slave中;
可选的,本步骤中当如果Data分区没有足够的容量,可以将主路径环境变量pkg_path_master指向的安装包删除并置空该变量,释放空间后重新执行步骤602;
步骤603,标记启动升级并设置到升级状态环境变量pkg_upgrade_status中,kernel与rootfs分区分别按顺序进行映像刷写操作;如果刷写顺利完成,标记结束升级并设置到pkg_upgrade_status中,否则pkg_upgrade_status始终处于标记启动状态;
步骤604,设备重启后,bootloader对pkg_upgrade_status进行检查,如果标记升级是成功结束的且是刚发生的升级,那么执行步骤606;如果标记升级是失败的,执行步骤605;
步骤605,选择pkg_path_slave指向的安装包重新进行升级过程,具体过程参考步骤603,并且直到升级确保完成为止;
步骤606,当设备发生刚完成升级,kernel和rootfs各自的主备分区进行同步;
具体为选择pkg_path_slave中的安装包,刷写到备份分区直至完整结束;
步骤607,设备启动,进入bootloader引导过程,若是安装包升级后引导成功,执行步骤608-609,若是网络设备运行过程中引导成功,执行步骤610,若是引导kernel或者rootfs失败,执行步骤611,若是引导kernel前检验失败,执行步骤612;
步骤608,kernel与rootfs启动过程均正常,进入到rootfs后,rootfs应用程序分别将升级状态环境变量复位以及复位标记环境变量recover_flag清0,且如果是软件升级后的首次成功启动,执行步骤609;
步骤609,rootfs应用程序调换pkg_path_master以及pkg_path_slave指向的安装包路径,原pkg_path_master路径指向的旧的安装包直接删除。
步骤610,网络设备运行过程中引导成功,rootfs应用程序分别将升级状态环境变量复位以及复位标记环境变量recover_flag清0。
步骤611,若是引导kernel或者rootfs失败,返回引导异常同时网络设备复位,对复位标记环境变量进行累加并执行步骤607,当复位标记环境变量连续累加至3次时,执行步骤613,当复位标记环境变量连续累加至4次时,执行步骤614;
步骤612,若是引导kernel前检验失效,返回引导异常,对复位标记环境变量进行累加,当复位标记环境变量累加至1次时,执行步骤613,当复位标记环境变量连续累加至2次时,执行步骤614;
步骤613,主备分区切换,重新引导备安装包;
步骤614,选择pkg_path_master指向的安装包重新进行升级通过网络方式重新下载安装包升级。
图8为本发明实施例提供的网络设备软件启动装置的结构示意图,如图8所示,所述装置包括:
累加模块,用于在网络设备的bootloader子系统启动引导和加载kernel子系统和rootfs子系统失败时,对复位标记环境变量进行累加;
这里,网络设备上电,从并行FLASH中的bootloader分区开始启动;bootloader子系统对硬件进行基本检查和初始化后,引导并加载串行FLASH上的kernel分区中的kernel映像;kernel子系统完成必要的初始化后,开始引导和加载rootfs分区中的首个主程序文件;首个主程序文件启动后逐个引导其他所有需要运行的应用程序。可选的,上述kernel分区和rootfs分区还可以分别设置为双分区的形式来存放映像,即kernel分区包括主备kernel分区,rootfs分区包括主备rootfs分区,主备kernel分区存放同一kernel映像,主备rootfs分区存放同一rootfs映像,此时kernel子系统和rootfs子系统分别包括主备子系统,可进一步提供网络设备软件启动的可靠性。
获取模块,用于根据所述累加模块累加后的复位标记环境变量重新获取网络设备软件的安装包进行启动;这里,复位标记环境变量为预先设置,用于对启动失败的次数进行计数,且在网络设备软件启动成功后立即清零。
可选的,所述获取模块,具体用于当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
可选的,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,所述获取模块,具体用于当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
应当理解,上述第一阈值、第二阈值、第三阈值及第四阈值根据实际需求进行设置,可以相同也可以不同。
可选的,图9为本发明实施例提供的网络设备软件启动装置实施例一的结构示意图,如图9所示,所述装置还包括:
判断模块,用于判断预设的升级状态环境变量的状态;
处理模块,用于当所述判断模块确定所述升级状态环境变量处于升级成功状态时,进入网络设备软件的启动流程,当所述判断模块确定所述升级状态环境变量处于升级失败状态时,读取安装包的从路径环境变量指向的安装包,以便重新进行升级。
可选的,所述装置还包括:清零模块,用于当所述网络设备软件启动成功,将所述复位标记环境变量清零。
可选的,图10为本发明实施例提供的网络设备软件启动装置实施例二的结构示意图,如图10所示,所述装置还包括:存储模块、标记模块;其中,
所述存储模块,用于启动升级后,将安装包存储到data分区,并将所述安装包的存储路径设置到所述从路径环境变量中;
标记模块,用于启动升级后,将所述升级状态环境变量标记为启动升级状态,并当顺利完成kernel分区和rootfs分区的映像刷写操作后,将所述升级状态环境变量标记为升级结束状态。
可选的,所述装置还包括:删除模块,用于当所述data分区中存储容量不足时,删除安装包的主路径环境变量指向的安装包,并置空所述主路径环境变量。
可选的,所述删除模块,还用于当安装包升级成功后第一次启动成功网络设备软件时,则删除所述主路径环境变量指向的安装包,并将所述主路径环境变量更新为从路径环境变量。
其中,所述判断模块,具体用于当所述升级状态环境变量为升级结束状态时,确定所述升级状态环境变量的状态为升级成功状态;当所述升级状态环境变量为启动升级状态时,确定所述升级状态环境变量的状态为升级失败状态。
可选的,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,所述装置还包括:更新模块,用于当所述安装包升级成功完成,同步更新kernel子系统和/或rootfs子系统的备份子系统的安装包。
本发明实施例还提供一种网络设备,该网络设备包括如上所述的网络设备软件启动装置。
应当理解,本发明实施例提供的网络设备软件启动装置实现原理及过程与上述网络设备软件启动方法类似,在此不再赘述。
本发明实施例提供的网络设备软件启动方法、装置及网络设备,当网络设备软件在启动过程中出现启动失败时,能够根据复位标记环境变量,识别异常,重新获取网络设备软件的安装包,进行启动,能够实现网络设备软件出现异常的情况下自动恢复并成功启动;并且在软件升级过程中,若出现异常断电或人为操作失败导致的升级失败等情况时,也可再次读取从路径环境变量指向的安装包,重新升级,升级成功且启动成功后,再将主路径环境变量更新为从路径环境变量,进而保证了网络设备运行过程中若出现异常,能够通过主路径环境变量指向的安装包自动实现重启,可靠性更高。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (19)
1.一种网络设备软件启动方法,其特征在于,包括:
网络设备启动,网络设备软件的启动加载程序bootloader子系统开始启动引导和加载内核kernel子系统和根文件rootfs子系统;
若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动。
2.根据权利要求1所述的方法,其特征在于,网络设备启动之后,所述方法还包括:
判断预设的升级状态环境变量的状态;
当所述升级状态环境变量处于升级成功状态时,进入网络设备软件的启动流程;
当所述升级状态环境变量处于升级失败状态时,读取安装包的从路径环境变量指向的安装包,重新进行升级。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
启动升级后,将安装包存储到数据data分区,并将所述安装包的存储路径设置到所述从路径环境变量中,并将所述升级状态环境变量标记为启动升级状态;
按顺序进行kernel分区和rootfs分区的映像刷写操作;
当刷写顺利完成时,将所述升级状态环境变量标记为升级结束状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述data分区中存储容量不足时,删除安装包的主路径环境变量指向的安装包,并置空所述主路径环境变量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当安装包升级成功后第一次启动成功网络设备软件时,则删除所述主路径环境变量指向的安装包,并将所述主路径环境变量更新为从路径环境变量;
在所述网络设备软件每次启动成功后,将所述复位标记环境变量清零。
6.根据权利要求2所述的方法,其特征在于,所述判断升级状态环境变量的状态具体为:
当所述升级状态环境变量为升级结束状态时,确定所述升级状态环境变量的状态为升级成功状态;
当所述升级状态环境变量为启动升级状态时,确定所述升级状态环境变量的状态为升级失败状态。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动,具体为:
当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;
当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
8.根据权利要求1至6任一项所述的方法,其特征在于,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,若启动失败,对复位标记环境变量进行累加,根据所述复位标记环境变量重新获取网络设备软件的安装包进行启动,具体为:
当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;
当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
9.根据权利要求2所述的方法,其特征在于,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,所述方法还包括:
当所述安装包升级成功完成,同步更新kernel子系统和/或rootfs子系统的备份子系统的安装包。
10.一种网络设备软件启动装置,其特征在于,所述装置包括:
累加模块,用于在网络设备的bootloader子系统启动引导和加载kernel子系统和rootfs子系统失败时,对复位标记环境变量进行累加;
获取模块,用于根据所述累加模块累加后的复位标记环境变量重新获取网络设备软件的安装包进行启动。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断预设的升级状态环境变量的状态;
处理模块,用于当所述判断模块确定所述升级状态环境变量处于升级成功状态时,进入网络设备软件的启动流程,当所述判断模块确定所述升级状态环境变量处于升级失败状态时,读取安装包的从路径环境变量指向的安装包,以便重新进行升级。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:存储模块、标记模块;其中,
所述存储模块,用于启动升级后,将安装包存储到data分区,并将所述安装包的存储路径设置到所述从路径环境变量中;
标记模块,用于启动升级后,将所述升级状态环境变量标记为启动升级状态,并当顺利完成kernel分区和rootfs分区的映像刷写操作后,将所述升级状态环境变量标记为升级结束状态。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:删除模块,用于当所述data分区中存储容量不足时,删除安装包的主路径环境变量指向的安装包,并置空所述主路径环境变量。
14.根据权利要求13所述的装置,其特征在于,所述删除模块,还用于当安装包升级成功后第一次启动成功网络设备软件时,则删除所述主路径环境变量指向的安装包,并将所述主路径环境变量更新为从路径环境变量;
所述装置还包括:清零模块,用于当所述网络设备软件启动成功,将所述复位标记环境变量清零。
15.根据权利要求11所述的装置,其特征在于,所述判断模块,具体用于当所述升级状态环境变量为升级结束状态时,确定所述升级状态环境变量的状态为升级成功状态;当所述升级状态环境变量为启动升级状态时,确定所述升级状态环境变量的状态为升级失败状态。
16.根据权利要求11至15任一项所述的装置,其特征在于,所述获取模块,具体用于当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第一阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第二阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第二阈值时,通过网络方式重新下载新的安装包进行启动。
17.根据权利要求11至15任一项所述的装置,其特征在于,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,所述获取模块,具体用于当引导kernel子系统前返回失败,累加后的复位标记环境变量小于等于第三阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当引导kernel子系统前返回失败,累加后的复位标记环境变量大于第一阈值时,通过网络方式重新下载新的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量小于等于第四阈值时,进行主备子系统切换,重新引导和加载kernel子系统或rootfs子系统;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第四阈值且小于等于第五阈值时,获取网络设备软件安装包的主路径环境变量路径中指向的安装包进行启动;当kernel子系统或rootfs子系统启动失败,累加后的复位标记环境变量大于第五阈值时,通过网络方式重新下载新的安装包进行启动。
18.根据权利要求11所述的装置,其特征在于,当所述kernel子系统和/或rootfs子系统分别包括主备子系统时,所述装置还包括:更新模块,用于当所述安装包升级成功完成,同步更新kernel子系统和/或rootfs子系统的备份子系统的安装包。
19.一种网络设备,其特征在于,所述网络设备包括如权利要求10至18任一项所述的网络设备软件启动装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510263863.2A CN104915226B (zh) | 2015-05-21 | 2015-05-21 | 一种网络设备软件启动方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510263863.2A CN104915226B (zh) | 2015-05-21 | 2015-05-21 | 一种网络设备软件启动方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915226A true CN104915226A (zh) | 2015-09-16 |
CN104915226B CN104915226B (zh) | 2018-12-14 |
Family
ID=54084308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510263863.2A Active CN104915226B (zh) | 2015-05-21 | 2015-05-21 | 一种网络设备软件启动方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915226B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975586A (zh) * | 2016-05-05 | 2016-09-28 | 北京金山安全软件有限公司 | 一种推荐软件安装方法、装置及设备 |
CN106325916A (zh) * | 2016-01-27 | 2017-01-11 | 上海华测导航技术股份有限公司 | 一种gnss接收机系统升级方法 |
CN107566169A (zh) * | 2017-08-24 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于openwrt的固件升级方法及路由器 |
CN108055583A (zh) * | 2017-12-28 | 2018-05-18 | 深圳市九洲电器有限公司 | 机顶盒自动恢复方法及系统 |
CN108958767A (zh) * | 2018-06-21 | 2018-12-07 | 厦门亿联网络技术股份有限公司 | 一种基于最小系统备份实现的安全模式自动升级方法 |
CN109815061A (zh) * | 2019-01-31 | 2019-05-28 | 深兰科技(上海)有限公司 | 一种嵌入式系统防砖的方法、装置、设备和介质 |
CN109918142A (zh) * | 2019-03-19 | 2019-06-21 | 深圳创维-Rgb电子有限公司 | 一种软件重启方法、装置、终端及存储介质 |
CN110474793A (zh) * | 2019-07-10 | 2019-11-19 | 锐捷网络股份有限公司 | 一种网络设备的升级方法及装置 |
CN111338701A (zh) * | 2020-02-25 | 2020-06-26 | 邦彦技术股份有限公司 | 一种网络设备启动方法和网络设备 |
CN112882757A (zh) * | 2021-01-26 | 2021-06-01 | 东莞市峰谷科技有限公司 | 一种嵌入式系统双分区安全启动方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214106A (zh) * | 2010-04-08 | 2011-10-12 | 三星电子(中国)研发中心 | 嵌入式设备双系统自动引导方法 |
CN102243594A (zh) * | 2011-07-26 | 2011-11-16 | 重庆大唐科技股份有限公司 | 一种嵌入式linux系统软件安全远程升级的方法 |
CN102388365A (zh) * | 2011-09-27 | 2012-03-21 | 华为技术有限公司 | 一种处理器启动方法及装置 |
WO2012071945A1 (zh) * | 2010-12-03 | 2012-06-07 | 中兴通讯股份有限公司 | 一种引导程序备份和升级的方法及装置 |
CN102567043A (zh) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | 一种机顶盒在线升级的方法 |
CN102984572A (zh) * | 2012-12-10 | 2013-03-20 | 四川九洲电器集团有限责任公司 | 机顶盒系统软件升级双备份方法 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
CN103810007A (zh) * | 2014-02-19 | 2014-05-21 | 立德高科(北京)数码科技有限责任公司 | 通过识别复制在设备中的功能代码文件以进行升级的方法 |
-
2015
- 2015-05-21 CN CN201510263863.2A patent/CN104915226B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214106A (zh) * | 2010-04-08 | 2011-10-12 | 三星电子(中国)研发中心 | 嵌入式设备双系统自动引导方法 |
WO2012071945A1 (zh) * | 2010-12-03 | 2012-06-07 | 中兴通讯股份有限公司 | 一种引导程序备份和升级的方法及装置 |
CN102243594A (zh) * | 2011-07-26 | 2011-11-16 | 重庆大唐科技股份有限公司 | 一种嵌入式linux系统软件安全远程升级的方法 |
CN102388365A (zh) * | 2011-09-27 | 2012-03-21 | 华为技术有限公司 | 一种处理器启动方法及装置 |
CN102567043A (zh) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | 一种机顶盒在线升级的方法 |
CN103631674A (zh) * | 2012-08-24 | 2014-03-12 | 京信通信系统(中国)有限公司 | 嵌入cpu的fpga及其启动方法 |
CN102984572A (zh) * | 2012-12-10 | 2013-03-20 | 四川九洲电器集团有限责任公司 | 机顶盒系统软件升级双备份方法 |
CN103810007A (zh) * | 2014-02-19 | 2014-05-21 | 立德高科(北京)数码科技有限责任公司 | 通过识别复制在设备中的功能代码文件以进行升级的方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325916A (zh) * | 2016-01-27 | 2017-01-11 | 上海华测导航技术股份有限公司 | 一种gnss接收机系统升级方法 |
CN105975586A (zh) * | 2016-05-05 | 2016-09-28 | 北京金山安全软件有限公司 | 一种推荐软件安装方法、装置及设备 |
CN107566169A (zh) * | 2017-08-24 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于openwrt的固件升级方法及路由器 |
CN107566169B (zh) * | 2017-08-24 | 2021-04-09 | 台州市吉吉知识产权运营有限公司 | 一种基于openwrt的固件升级方法及路由器 |
CN108055583A (zh) * | 2017-12-28 | 2018-05-18 | 深圳市九洲电器有限公司 | 机顶盒自动恢复方法及系统 |
CN108055583B (zh) * | 2017-12-28 | 2020-08-07 | 深圳市九洲电器有限公司 | 机顶盒自动恢复方法及系统 |
CN108958767A (zh) * | 2018-06-21 | 2018-12-07 | 厦门亿联网络技术股份有限公司 | 一种基于最小系统备份实现的安全模式自动升级方法 |
CN109815061A (zh) * | 2019-01-31 | 2019-05-28 | 深兰科技(上海)有限公司 | 一种嵌入式系统防砖的方法、装置、设备和介质 |
CN109918142A (zh) * | 2019-03-19 | 2019-06-21 | 深圳创维-Rgb电子有限公司 | 一种软件重启方法、装置、终端及存储介质 |
CN110474793A (zh) * | 2019-07-10 | 2019-11-19 | 锐捷网络股份有限公司 | 一种网络设备的升级方法及装置 |
CN111338701A (zh) * | 2020-02-25 | 2020-06-26 | 邦彦技术股份有限公司 | 一种网络设备启动方法和网络设备 |
CN112882757A (zh) * | 2021-01-26 | 2021-06-01 | 东莞市峰谷科技有限公司 | 一种嵌入式系统双分区安全启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104915226B (zh) | 2018-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915226B (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
CN109032632B (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN101589592A (zh) | 多协议可移动存储设备 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
EP3113018A1 (en) | Method and apparatus for running version file | |
CN103488501A (zh) | 光网络终端设备及其系统软件升级方法 | |
CN106325911A (zh) | 一种实现bootrom升级的方法及装置 | |
WO2017198156A1 (zh) | 业务部署方法、装置和系统 | |
CN112860291B (zh) | 固件升级方法及装置 | |
CN111949290B (zh) | 一种热补丁管理方法、装置、电子设备及存储介质 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN109976940A (zh) | 一种软启动网络设备 | |
CN106528114A (zh) | 安卓固件应用、安卓固件和固件升级方法 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
CN113448760B (zh) | 一种硬盘异常状态的恢复方法、系统、设备以及介质 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN113190244A (zh) | 无线模组升级的方法、装置、计算机设备和存储介质 | |
CN100469001C (zh) | 可使用通用随插即用通信协议更新软件程序的系统及方法 | |
CN101771573B (zh) | 一种升级软件过程中业务中断时间的预测方法及其装置 | |
CN117555574A (zh) | 交换机升级方法、终端设备及计算机可读存储介质 | |
CN115525315A (zh) | 一种fpga升级方法和装置、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |