一种户外嵌入式设备系统的升级方法及升级系统与流程

文档序号:14594914发布日期:2018-06-05 05:03阅读:142来源:国知局

本发明属于通信技术领域,具体涉及一种户外嵌入式设备系统的升级方法及升级系统。



背景技术:

户外嵌入式设备是部署在屋顶、高杆、信号塔等环境下的嵌入式设备。在这种环境下,只能通过远程网络或串口将新升级文件导入到嵌入式设备,然后替换掉FLASH中保存的旧文件,以此来实现对嵌入式设备的系统升级。因此,网络故障就造成的升级文件的损坏、升级过程中的意外断电以及FLASH读写过程出现的异常均会造成嵌入式设备的系统无法恢复,只能维护人员到现场解决问题。



技术实现要素:

本发明的目的是提供一种户外嵌入式设备系统的升级方法及升级系统。该方法能够增强户外嵌入式设备系统的稳定性和可靠性,且执行效率高,减少系统开销。

为实现上述目的,本发明提供以下技术方案:

一种户外嵌入式设备系统的升级方法,包括发送系统文件至所述户外嵌入式设备,所述系统升级文件包括版本文件和头部信息,所述方法还包括以下步骤:

在发送系统升级文件前,增加版本校验信息于所述头部信息中;

校验所述系统升级文件成功后,采用双区备份的方式对所述系统进行升级;

升级后,利用所述版本校验信息校验所述版本文件正确后,Boot loader(启动装载)启动存有正确版本文件的分区。

本发明通过系统升级文件的校验和双区备份的方式实现对系统的升级,该方法可以极大地降低升级过程中的风险,减少现场维护的成本。

其中,所述方法还包括:

在发送系统升级文件前,读取所述版本文件,对所述版本文件进行MD5检验,生成的MD5值为所述版本校验信息。

根据获得的版本校验信息和版本文件的版本号,生成系统升级文件的头部信息,即头部信息包括版本校验信息、版本号。除此之外,所述头部信息还包括头部标识、版本文件长度以及压缩方式。然后,将头部信息和版本文件合并,形成一个可校验的系统升级文件。

当系统升级文件发送至户外嵌入式设备后,利用该系统升级文件对户外嵌入式设备的系统进行升级,在升级之前,为提高系统升级的稳定性和可靠性,需要对系统升级文件进行校验,待校验成功后,才执行升级操作。

优选地,所述校验所述系统升级文件成功包括:

Boot loader定时扫描传输协议目录下的文件,当检测传输协议目录下到存在文件时,读取所述文件的头部信息;

若所述头部信息中的头部标识为系统升级文件,对所述系统升级文件包含的新版本文件进行版本号及MD5检验,保证文件完整且准确,则表示校验所述系统升级文件成功。

进一步地,在所述传输协议目录下存在多个系统升级文件情况下,根据头部信息中的版本号,校验最新版本号对应的版本文件的完整性与正确性。

在校验所述系统升级文件成功后,为提高系统升级的执行效率和稳定性以及减少系统开销,采用双区备份的方式实现对系统的升级。

作为优选,所述采用双区备份的方式对所述系统进行升级包括:

利用分区标识判断当前主分区和当前备份分区;

将校验成功的系统升级文件包含的新版本文件存储到当前备份分区中;

设置当前备份分区为主分区,当前主分区为备份分区;

将与所述新版本文件对应的版本号、版本校验信息存储在主分区中,完成系统的升级。

本发明中,Flash存储器中会分出两个分区,用于存储系统升级文件和执行系统运作,其中,当前启动系统所用的分区为当前主分区,另外一个分区为当前备份分区。在系统升级时,新版本文件存储到当前备份分区中,然后,设置当前备份分区为主分区,当前主分区为备份分区,并将与新版本文件对应的版本号、版本校验信息存储在主分区中,完成系统的升级。由此可得,上述的主分区和备份分区并不是固定不变的,而是出于相互轮转状态,每次升级轮转一次,这样做可以避免备份原版本的动作,原版本可以做为后续追踪产品问题或进行版本回退。

优选地,利用所述版本校验信息校验所述版本文件正确后,Boot loader启动存有正确版本文件的分区包括:

Boot loader计算所述主分区中存储的新版本文件的MD5值,若所述MD5值与新版本文件对应的版本校验信息一致,则表明新版本文件正确,启动主分区。

MD5是一种算法,常用于检测一个文件是否被修改过。通过MD5检验存储的新版本文件是否损坏,只有对新版本文件计算获得MD5值与该新版本文件对应的版本校验信息一致时,表明该新版本文件在传输和存储的过程中并没有算坏,即新版本文件正确,可以安全启动存有该新版本文件的主分区。

优选地,所述利用所述版本校验信息校验所述版本文件正确,启动存有正确版本文件的分区包括:

Boot loader计算所述主分区中存储的新版本文件的MD5值,若所述MD5值与新版本文件对应的版本校验信息不一致,

则计算所述备份分区中存储的另一版本文件的MD5值,若所述另一版本文件的MD5值与另一版本文件对应的版本校验信息一致,表明另一版本文件正确,将备份分区设置为主分区,并同步所述主分区的所有数据到另一个分区中后,启动所述主分区。

优选地,通过FTP协议将所述系统升级文件传输到所述嵌入式设备中。

嵌入式设备系统中设置一个FTP服务器,用于接收系统升级文件。FTP协议基于TCP协议传输,利用TCP的重传机制可以更好地保障传输过程的鲁棒性。

一种户外嵌入式设备系统的升级系统,包括系统升级文件生成装置、与系统升级文件生成装置通信连接的系统升级装置,

其中,所述系统升级文件生成装置包括:

版本文件生成模块,用于编译形成版本文件;

版本校验信息生成模块,用于计算所述本文文件的MD5值,将所述MD5值作为版本校验信息;

系统升级文件生成模块,用于添加所述版本校验信息至头部信息中,合并所述头部信息和所述版本文件,形成系统升级文件。

所述系统升级装置包括:

系统升级文件校验模块,用于校验接收的系统升级文件包含的版本文件的完整性和准确性;

选择分区升级模块,用于存储完整且准确的版本文件至当前备份分区,并重新设置分区信息,完成系统升级;

加载文件校验模块,利用所述版本校验信息校验所述版本文件的正确性;

加载分区切换模块,用于启动存有正确版本文件的分区。

该升级系统提高了户外嵌入式设备系统升级时的稳定性和安全性,减少后期维护成本。

与现有技术相比,本发明具有的有益效果为:

本发明使用MD5方式对版本文件进行校验,该方式简单准确率高。且采用双区轮转的方式避免每次升级后还要再次将系统进行备份减少系统开销。户外型嵌入式设备系统升级的方法不但增强了系统的稳定性和可靠性,而且执行效率高,减少系统开销,减少期维护的成本,具有很大的应用前景和推广价值。

附图说明

图1是实施例提供的户外嵌入式设备系统的升级方法的流程图;

图2是实施例提供的系统升级文件的结构组成示意图;

图3是实施例提供的系统升级流程示意图;

图4是实施例提供的Boot loader加载系统的流程示意图;

图5是实施例提供的户外嵌入式设备系统的升级系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

图1是实施例提供的户外嵌入式设备系统的升级方法的流程图。如图1所示,本实施例提供的方法包括以下步骤:

S101,生成系统升级文件,并发送系统升级文件至户外嵌入式设备。

在S101中,生成系统升级文件的具体过程为:

首先,读取编译出来的版本文件,对该版本文件进行MD5检验,生成的MD5值为版本校验信息;然后,根据获得的版本校验信息、版本文件的版本号、头部标识、版本文件长度以及压缩方式生成头部信息;最后,合并该头部信息和版本文件,形成一个可校验的系统升级文件,如图2所示。

在进行升级前,需要Flash存储器中分出两个分区,用于存放版本文件,分区大小根据版本文件的大小而定。由于嵌入式设备中所使用的Flash存储器的容量有限,因此,为了降低对存储空间的要求,在编译时采用LZMA算法对接镜像文件进行压缩。

本实施例中,通过FTP协议将该系统升级文件传输到嵌入式设备中,FTP协议能够基于TCP协议传输,利用TCP的重传机制可以更好地保障传输过程的鲁棒性,提升系统升级文件在传输过程的稳定性和安全性。

S102,校验系统升级文件成功后,采用双区备份的方式对系统进行升级。

如图3所示,当需要升级时,Boot loader会定时扫描FTP目录下的文件,并校验该文件。具体地,当扫描到FTP目录下存在文件时,读取该文件的头部信息,如果头部标识字段为系统升级文件,则校验系统升级文件是否完整、正确,若系统升级文件完整且正确,则将该系统升级文件校验成功,否则,将该系统升级文件删除。

当FTP目录下存在多个系统升级文件情况下,根据头部信息中的版本号,校验最新版本号对应的版本文件的完整性与正确性。

在校验所述系统升级文件成功后,需要对系统进行升级,具体地,选择一个分区来存放新版本文件。系统中有两个分区可以存放版本文件,当前启动所用的分区是主分区。当升级时,校验成功的系统升级文件包含的新版本文件存入当前备份分区中,然后,设置当前备份分区为主分区,当前主分区为备份分区,并将与新版本文件对应的版本号、版本校验信息存储在主分区中,完成系统的升级。

S103,升级后,利用版本校验信息校验版本文件正确后,Boot loader启动存有正确版本文件的分区。

具体地,如图4所示,Bootloader默认从主分区中加载系统,先找到两个分区中的主分区,读取主分区中的版本文件数据,并计算其MD5值,如果MD5值与该主分区中存放的版本校验信息一致,则表示校验成功,版本文件数据完整正确,可以应用,Bootloader随后加载系统。MD5值与该主分区中存放的版本校验信息不一致,则读取备份分区中的版本文件数据,并计算其MD5值以进行校验,校验成功后,则把备份分区设置成主分区,同时将该主分区中数据同步到另一个分区中。如果依然校验不过,则Bootloader停止系统加载,停留在命令行状态,等待维护人现场定位问题。

本实施例还提供了一种户外嵌入式设备系统的升级系统,如图5所示,包括系统升级文件生成装置501、与系统升级文件生成装置501通信连接的系统升级装置502。

其中,系统升级文件生成装置501包括:

版本文件生成模块503,用于编译形成版本文件;

版本校验信息生成模块504,用于计算所述本文文件的MD5值,将所述MD5值作为版本校验信息;

系统升级文件生成模块505,用于添加所述版本校验信息至头部信息中,合并所述头部信息和所述版本文件,形成系统升级文件。

系统升级装置502包括:

系统升级文件校验模块506,用于校验接收的系统升级文件包含的版本文件的完整性和准确性;

选择分区升级模块507,用于存储完整且准确的版本文件至当前备份分区,并重新设置分区信息,完成系统升级;

加载文件校验模块508,利用所述版本校验信息校验所述版本文件的正确性;

加载分区切换模块509,用于启动存有正确版本文件的分区。

上述升级方法是基于该升级系统实现的。通信连接是指现有的所有通信网路,并不做限定。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1