一种主备系统固件自动同步的方法及装置与流程

文档序号:13072462阅读:248来源:国知局

本发明涉及嵌入式网络设备技术领域,尤其是同步、更新嵌入式网络设备固件的方法。



背景技术:

网络设备的固件更新是指网络设备从网络上获取固件(自动更新)或者接收管理人员发送的固件(手动更新),将固件放入存储器,再从网络设备存储器写到磁盘的过程。网络设备包括但不限于路由器、交换机、ap等设备。网络设备的固件在更新的过程中,因为磁盘写错误或者意外断电等原因,都会导致固件更新失败,从而导致网络设备无法启动。

目前市场上具备固件恢复功能的网络设备较少。在仅有的几款产品中,有的使用双机热备份,成本较高;有的需要人工操作才能完成固件恢复。这些产品都无法同时兼顾成本和使用效果。



技术实现要素:

本发明所要解决的技术问题是:针对上述存在的问题,提供一个仅需要一个设备便能完成固件自动恢复、更新的方法。

本发明提供的一种双系统固件自动同步的方法,包括:

系统启动步骤:设备上电后,先启动最后一次固件更新的系统,如果启动失败则启动另外一个系统;

固件同步步骤:某一系统启动成功后比较当前系统磁盘分区中的固件与另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件;

固件更新步骤:当检测到有固件更新时,将所述另一系统磁盘分区中的固件替换为更新的固件。

进一步,固件同步步骤在所述当前系统正常运行过程中进行。

进一步,固件同步步骤中,直接比较两个系统磁盘分区中的固件内容是否相同。

进一步,两个系统完全相同。

本发明还提供了一种双系统固件自动同步的装置,包括:

系统启动模块,用于在设备上电后,先启动最后一次固件更新的系统,如果启动失败则启动另外一个系统;

固件同步模块,用于在某一系统启动成功后,比较当前系统磁盘分区中的固件与另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件;

固件更新模块,用于在检测到有固件更新时,将所述另一系统磁盘分区中的固件替换为更新的固件。

进一步,固件同步模块用于在所述当前系统正常运行过程中比较当前系统磁盘分区中的固件与所述另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件。

进一步,固件同步模块用于直接比较两个系统磁盘分区中的固件内容是否相同。

本发明中的两个系统完全镜像,互为备份,都能独立的运行并实现嵌入式设备的全部功能。当一个系统能正常启动时,将该系统磁盘分区中的同步到另一系统的磁盘分区,当有固件更新时则优先将更新固件存放到备用系统的磁盘分区中(此时当前运行系统的固件不变,备用系统的固件为最新,在有固件更新时两者的固件不同步,其他情况都是同步的),设备下次启动时,先启动最近一次更新过固件的系统,这样便能保证设备的固件是最新的,如更新的固件不能正常运行,则启动另一个系统,由于另一个系统是上次正常运行过的,这样既能完成更新,又能保证固件更新失败时始终有一个系统能够正常启动,彻底避免设备因固件损坏而无法启动的情况。

综上,本发明具有以下优点:

1.固件能够自动恢复,不需要人工干预。

2.固件恢复的过程中不依赖网络。

3.固件恢复的过程中不影响系统业务。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明流程图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

现已路由器为例,进一步阐述本发明的实现过程,参见图1。

路由器上包含两个完全相同的系统,两个系统互为备份,均能实现用户对路由器要求的全部功能。

本发明提供的双系统固件自动同步的方法,包括:

系统启动步骤:设备上电后,先启动最后一次固件更新的系统,如果启动失败则启动另外一个系统。

固件同步步骤:两个系统中的任意一个启动成功后比较当前系统磁盘分区中的固件与另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件。这样两个系统均为可以正常启动的。

固件更新步骤:当检测到有固件更新时,将所述另一系统磁盘分区中的固件替换为更新的固件。固件更新的优先级高于固件同步,也就是说当有固件更新时,不管所述另一系统磁盘分区中的固件为与当前系统固件同步的还是原来的,都一律替换为更新后的固件。当前系统磁盘分区中的固件不变,这样设备在下次启动时,先启动固件更新后的系统,如启动成功则完成更新,并通过后续的固件同步步骤将另一系统的固件进行同步,如启动不成功,由于另一系统的固件为可正常启动的,因此即使设备固件更新不成功,设备也能正常运行。

固件同步步骤在所述当前系统正常运行过程中进行。

在一个优选的实施例中,固件同步步骤,直接比较两个系统磁盘分区中的固件内容是否相同,而不是计算两者的hash值,再直接比较hash值,本实施例这样能够提高运行效率,确保比较的准确性。

本发明还提供了一种双系统固件自动同步的装置,包括:

系统启动模块,用于在设备上电后,先启动最后一次固件更新的系统,如果启动失败则启动另外一个系统;

固件同步模块,用于在某一系统启动成功后,比较当前系统磁盘分区中的固件与另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件;

固件更新模块,用于在检测到有固件更新时,将所述另一系统磁盘分区中的固件替换为更新的固件。

固件同步模块用于在所述当前系统正常运行过程中比较当前系统磁盘分区中的固件与所述另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件。

在其他实施例中,固件同步模块用于直接比较两个系统磁盘分区中的固件内容是否相同。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。



技术特征:

技术总结
本发明公开了一种主备系统固件自动同步的方法及装置,涉及嵌入式网络设备固件更新的技术,提供了一个仅需要一个设备便能完成固件自动恢复、更新的方法。本发明技术要点:包括系统启动步骤:设备上电后,先启动最后一次固件更新的系统,如果启动失败则启动另外一个系统;固件同步步骤:某一系统启动成功后比较当前系统磁盘分区中的固件与另一系统磁盘分区中的固件是否相同,如不相同则将所述另一系统磁盘分区中的固件替换为当前系统磁盘分区中的固件;固件更新步骤:当检测到有固件更新时,将所述另一系统磁盘分区中的固件替换为更新的固件。

技术研发人员:郭西波
受保护的技术使用者:大连网月科技股份有限公司
技术研发日:2017.04.06
技术公布日:2017.12.01
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1