CN106936631A - 一种路由器系统升级的控制方法及装置 - Google Patents

一种路由器系统升级的控制方法及装置 Download PDF

Info

Publication number
CN106936631A
CN106936631A CN201710110191.0A CN201710110191A CN106936631A CN 106936631 A CN106936631 A CN 106936631A CN 201710110191 A CN201710110191 A CN 201710110191A CN 106936631 A CN106936631 A CN 106936631A
Authority
CN
China
Prior art keywords
firmware
subregions
backup
verified
perform step
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
Application number
CN201710110191.0A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING JIKEJIKE TECHNOLOGY Co Ltd
Original Assignee
BEIJING JIKEJIKE TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING JIKEJIKE TECHNOLOGY Co Ltd filed Critical BEIJING JIKEJIKE TECHNOLOGY Co Ltd
Priority to CN201710110191.0A priority Critical patent/CN106936631A/zh
Publication of CN106936631A publication Critical patent/CN106936631A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种路由器系统升级的控制方法,其能够防止路由器因为用户操作不当或者异常断电等情况而变砖,从而方便用户的使用,同时也降低售后人力成本。该控制方法包括:(1)将flash分为3个分区:只读firmware分区,其用于存放ROM系统;overlay分区,其用于存放用户配置;firmware_backup分区,其用于存放ROM备份;(2)在系统升级和刷机时,新的固件先写到firmware_backup分区;(3)在系统启动时,是从firmware分区启动。还提供了一种路由器系统升级的控制装置。

Description

一种路由器系统升级的控制方法及装置
技术领域
本发明属于路由器的技术领域,具体地涉及一种路由器系统升级的控制方法及装置。
背景技术
现在的智能路由器大都支持在线升级,本地升级,以及刷机的功能。这个过程中会有对路由器flash(存储芯片的一种,路由器上存储ROM的地方,类似于台式电脑中的硬盘)芯片的写操作,而且这个过程一般来说耗时比较长,如果在这个过程中因为一些异常情况断电,或者由于用户的操作不当导致写过程中止,那么这些路由器中的ROM(只读内存镜像,指代路由器的运行的操作系统)就有可能被损坏,也就是常说的变砖了,变砖之后的路由器无法正常启动与使用。
目前市面上的路由器大都没有对应的刷机保护功能,这些路由器如果变砖之后很难恢复正常使用。为了修复变砖的路由器,有些路由器厂商会支持在uboot(路由器的引导系统,很小的一段程序,路由器上电之后会执行,其作用就是引导并启动ROM)下重新刷写新系统,这个步骤一般比较繁琐(例如:需要掌握网络配置,会使用FTP搭建本地文件服务器等),这些步骤对普通用户来说难度较大。另外,其他厂商甚至可能只能通过售后来解决,需要拆机取下flash芯片,然后使用特殊工具重新烧录之后,再焊接回去,这无疑会极大增加售后人力成本。
发明内容
本发明要解决的技术解决问题是:克服现有技术的不足,提供一种路由器系统升级的控制方法,其能够防止路由器因为用户操作不当或者异常断电等情况而变砖,从而方便用户的使用,同时也降低售后人力成本。
本发明的技术解决方案是:这种路由器系统升级的控制方法,该控制方法包括以下步骤:
(1)将flash分为3个分区:只读firmware分区,其用于存放ROM系统;overlay分区,其用于存放用户配置;firmware_backup分区,其用于存放ROM备份;
(2)在系统升级和刷机时,新的固件先写到firmware_backup分区;
(3)在系统启动时,是从firmware分区启动。
本发明通过在flash中存放2个ROM,其中一个ROM用于启动,执行路由器系统正常功能,另一个ROM则作为冗余备份,并通过一些机制保证2个ROM中至少有一个是可用的,这样即使出现刷机或者升级失败的情况,系统完全可以自动恢复回来,不至于无法启动造成路由器变砖,因此能够防止路由器因为用户操作不当或者异常断电等情况而变砖,从而方便用户的使用,同时也降低售后人力成本。
还提供了一种路由器系统升级的控制装置,该装置包括:
只读firmware分区,其用于存放ROM系统;
overlay分区,其用于存放用户配置;
firmware_backup分区,其用于存放ROM备份;
其中,在系统升级和刷机时,新的固件先写到firmware_backup分区;
在系统启动时,是从firmware分区启动。
附图说明
图1是根据本发明的路由器系统升级的控制方法的流程图。
图2是根据本发明的路由器在系统升级时的流程图。
图3是根据本发明的路由器在系统刷机时的流程图。
图4是根据本发明的路由器在系统启动时的流程图。
具体实施方式
如图1所示,这种路由器系统升级的控制方法,该控制方法包括以下步骤:
(1)将flash分为3个分区:只读firmware分区,其用于存放ROM系统;overlay分区,其用于存放用户配置;firmware_backup分区,其用于存放ROM备份;
(2)在系统升级和刷机时,新的固件先写到firmware_backup分区;
(3)在系统启动时,是从firmware分区启动。
本发明通过在flash中存放2个ROM,其中一个ROM用于启动,执行路由器系统正常功能,另一个ROM则作为冗余备份,并通过一些机制保证2个ROM中至少有一个是可用的,这样即使出现刷机或者升级失败的情况,系统完全可以自动恢复回来,不至于无法启动造成路由器变砖,因此能够防止路由器因为用户操作不当或者异常断电等情况而变砖,从而方便用户的使用,同时也降低售后人力成本。
路由器中flash芯片用来存放系统软件,在添加此功能之前的系统,flash被分为2个分区:一个只读firmware分区存放ROM系统,另一个overlay分区可写,用来存放用户配置等。
本发明的双ROM系统备份,实际上只需要对第一个分区进行备份,这样就可以做到升级、刷机、恢复之后的用户配置是不变的。此发明首先需要将flash分为3个分区:多了一个ROM备份分区,其命名为firmware_backup分区。
为了保证无论何时系统都能自动恢复,那么就需要保证firmware和firmware_backup分区中至少有一个是可用的,即每次对flash的操作之前需要先确认另一个分区是完好的,才能进行写操作。这样就可以确保两个分区中至少有一个是完好的,可以确保路由器系统可以启动。
总的设计原则有2点:
1)系统升级和刷机时,新的固件总是先写到firmware_backup分区。
2)系统启动时,总是从firmware分区启动。
而确保分区完好的方法是对整个分区进行md5校验,只要校验通过,那么就可以确定这个分区中ROM是可以正常启动的。
优选地,如图2所示,所述步骤(2)中系统升级包括以下步骤:
(a1)升级开始;
(a2)网络下载固件;
(a3)校验下载固件md5值,如果校验失败则说明下载出错,提示重试;否则执行步骤(a4);
(a4)写入firmware_backup分区;
(a5)读取、校验firmware_backup分区,如果成功则执行步骤(a6),否则执行步骤(a4);
(a6)重新启动。
可以看到升级的过程只会对firmware_backup分区进行操作,这样就可以确保firmware分区不被异常破坏,也就可以从根本上阻止路由器升级变砖。
优选地,如图3所示,所述步骤(2)中系统刷机包括以下步骤:
(b1)刷机开始;
(b2)tftp下载固件;
(b3)校验下载的固件,如果校验失败则说明下载出错,重新启动;否则执行步骤(b4);
(b4)校验firmware分区md5值,如果校验失败则执行步骤(b5);否则执行步骤(b7);
(b5)写入firmware分区;
(b6)读取、校验firmware分区,如果成功则执行步骤(b7),否则执行步骤(b5);
(b7)写入firmware_backup分区;
(b8)读取、校验firmware_backup分区,如果成功则执行步骤(b9),否则执行步骤(b7);
(b9)重新启动。
如图3,可以看到这个流程和升级流程差不多,都是只会先操作firmware_backup分区,真正的刷机、升级的操作,即写firmware_backup分区的操作全是放在重新启动之后来完成的。即上图的流程。两个流程在操作firmware和firmware_backup其中之一时,都会先确保另一个是完好的,因此可以保证双系统备份、升级功能的正常。
优选地,如图4所示,所述步骤(3)中系统启动包括以下步骤:
(c1)上电uboot启动;
(c2)uboot系统加载;
(c3)判断rese按钮是否按住,如果是则进入所述步骤(b1);否则执行步骤(c4);
(c4)校验firmware_backup分区md5值,如果校验失败则执行步骤
(c5);否则执行步骤(c7);
(c5)校验firmware分区md5值,如果校验失败则提示错误,系统挂起;否则执行步骤(c6);
(c6)加载并启动firmware分区,跳转到步骤(c11);
(c7)校验firmware分区md5值,如果校验失败则执行步骤(c10);否则执行步骤(c8);
(c8)判断firmware分区md5值是否等于firmware_backup分区md5值,是则执行步骤(c9),否则执行步骤(c10);
(c9)加载并启动firmware分区,跳转到步骤(c11);
(c10)复制firmware_backup分区到firmware分区,重新启动;
(c11)结束。
此外,由于系统只会从firmware启动,因此真正意义上的升级还需要从firmware_backup分区拷贝镜像到firmware分区。
如图4,可以看到在写firmware分区之前会先校验firmware_backup分区的完整性,目的就是确保无论何时2个固件中至少有一个是正确的。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种路由器系统升级的控制装置,该装置通常以与方法各步骤相对应的功能模块的形式表示。该装置包括:
只读firmware分区,其用于存放ROM系统;
overlay分区,其用于存放用户配置;
firmware_backup分区,其用于存放ROM备份;
其中,在系统升级和刷机时,新的固件先写到firmware_backup分区;
在系统启动时,是从firmware分区启动。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

Claims (5)

1.一种路由器系统升级的控制方法,其特征在于:该控制方法包括以下步骤:
(1)将flash分为3个分区:只读firmware分区,其用于存放ROM系统;overlay分区,其用于存放用户配置;firmware_backup分区,其用于存放ROM备份;
(2)在系统升级和刷机时,新的固件先写到firmware_backup分区;
(3)在系统启动时,是从firmware分区启动。
2.根据权利要求1所述的路由器系统升级的控制方法,其特征在于:所述步骤(2)中系统升级包括以下步骤:
(a1)升级开始;
(a2)网络下载固件;
(a3)校验下载固件md5值,如果校验失败则说明下载出错,提示重试;否则执行步骤(a4);
(a4)写入firmware_backup分区;
(a5)读取、校验firmware_backup分区,如果成功则执行步骤(a6),否则执行步骤(a4);
(a6)重新启动。
3.根据权利要求2所述的路由器系统升级的控制方法,其特征在于:所述步骤(2)中系统刷机包括以下步骤:
(b1)刷机开始;
(b2)tftp下载固件;
(b3)校验下载的固件,如果校验失败则说明下载出错,重新启动;否则执行步骤(b4);
(b4)校验firmware分区md5值,如果校验失败则执行步骤(b5);否则执行步骤(b7);
(b5)写入firmware分区;
(b6)读取、校验firmware分区,如果成功则执行步骤(b7),否则执行步骤(b5);
(b7)写入firmware_backup分区;
(b8)读取、校验firmware_backup分区,如果成功则执行步骤(b9),否则执行步骤(b7);
(b9)重新启动。
4.根据权利要求3所述的路由器系统升级的控制方法,其特征在于:所述步骤(3)中系统启动包括以下步骤:
(c1)上电uboot启动;
(c2)uboot系统加载;
(c3)判断rese按钮是否按住,如果是则进入所述步骤(b1);否则执行步骤(c4);
(c4)校验firmware_backup分区md5值,如果校验失败则执行步骤
(c5);否则执行步骤(c7);
(c5)校验firmware分区md5值,如果校验失败则提示错误,系统挂起;否则执行步骤(c6);
(c6)加载并启动firmware分区,跳转到步骤(c11);
(c7)校验firmware分区md5值,如果校验失败则执行步骤(c10);否则执行步骤(c8);
(c8)判断firmware分区md5值是否等于firmware_backup分区md5值,是则执行步骤(c9),否则执行步骤(c10);
(c9)加载并启动firmware分区,跳转到步骤(c11);
(c10)复制firmware_backup分区到firmware分区,重新启动;
(c11)结束。
5.一种路由器系统升级的控制装置,其特征在于:该装置包括:
只读firmware分区,其用于存放ROM系统;
overlay分区,其用于存放用户配置;
firmware_backup分区,其用于存放ROM备份;
其中,在系统升级和刷机时,新的固件先写到firmware_backup分区;
在系统启动时,是从firmware分区启动。
CN201710110191.0A 2017-02-27 2017-02-27 一种路由器系统升级的控制方法及装置 Pending CN106936631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710110191.0A CN106936631A (zh) 2017-02-27 2017-02-27 一种路由器系统升级的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710110191.0A CN106936631A (zh) 2017-02-27 2017-02-27 一种路由器系统升级的控制方法及装置

Publications (1)

Publication Number Publication Date
CN106936631A true CN106936631A (zh) 2017-07-07

Family

ID=59423183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710110191.0A Pending CN106936631A (zh) 2017-02-27 2017-02-27 一种路由器系统升级的控制方法及装置

Country Status (1)

Country Link
CN (1) CN106936631A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804034A (zh) * 2018-05-22 2018-11-13 无锡辰云科技股份有限公司 一种基于读写分离的云终端处理方法及系统
WO2020206587A1 (en) * 2019-04-08 2020-10-15 Arris Enterprises Llc Device reset function supporting backup and restore of certain settings
CN112003936A (zh) * 2020-08-21 2020-11-27 北京字节跳动网络技术有限公司 集群系统中设备升级的方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804034A (zh) * 2018-05-22 2018-11-13 无锡辰云科技股份有限公司 一种基于读写分离的云终端处理方法及系统
WO2020206587A1 (en) * 2019-04-08 2020-10-15 Arris Enterprises Llc Device reset function supporting backup and restore of certain settings
CN112003936A (zh) * 2020-08-21 2020-11-27 北京字节跳动网络技术有限公司 集群系统中设备升级的方法、装置及系统
CN112003936B (zh) * 2020-08-21 2023-04-18 抖音视界有限公司 集群系统中设备升级的方法、装置及系统

Similar Documents

Publication Publication Date Title
US6880110B2 (en) Self-repairing computer having protected software template and isolated trusted computing environment for automated recovery from virus and hacker attack
US7571353B2 (en) Self-repairing computing device and method of monitoring and repair
CN104834575B (zh) 一种固件恢复方法及装置
US8423991B2 (en) Embedded network device and firmware upgrading method
US7334157B1 (en) Restore of data to a computer system having different hardware
TWI475402B (zh) 遠端備份系統及其遠端備份方法
CN104636217B (zh) 一种根文件系统自动备份和异常恢复方法和分区结构
US20020194534A1 (en) On-the-fly repair of a computer
CN105607972B (zh) 一种异常修复的方法及装置
CN108021410A (zh) 一种智能家电设备的固件升级方法及系统
CN106936631A (zh) 一种路由器系统升级的控制方法及装置
CN106445728A (zh) 计算机系统
CN111694760B (zh) 服务器系统、快闪存储器模块及更新固件映像文件的方法
TWI498822B (zh) 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN114741096A (zh) 升级处理方法、设备及存储介质
EP2074508A2 (en) Environment state changes to alter functionality
CN116841629A (zh) 一种网卡功能配置方法、装置及其介质
CN116028084A (zh) 一种基于OpenStack云平台跨版本热升级的方法、系统及终端
CN101192161B (zh) 更新影像文件的方法
Cisco Downloading and Installing Firmware Updates
Cisco Downloading and Installing Firmware Updates
Cisco Downloading and Installing Firmware Updates
Cisco Downloading and Installing Software Upgrades
Cisco Logging In and Getting Started

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170707

WD01 Invention patent application deemed withdrawn after publication