嵌入式系统的数据远程升级方法技术方案

技术编号:7067348 阅读:165 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式系统的数据远程升级方法,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。它解决了目前嵌入式系统远程升级过程中速度慢、数据量大、传输不可靠,不能满足实际应用需要等问题。具有方法简单,使用方便,效率高,占用通信资源少等优点。

【技术实现步骤摘要】

本专利技术涉及一种,特别是一种嵌入式系统的数据的差异升级和断点续传的升级方法。
技术介绍
现有嵌入式系统程序升级的方法,比如以太网远程升级、U盘本地升级都是用新程序整个取代嵌入式节点里面的现有程序。随着无线网络的发展,嵌入式无线节点的增多,如何安全可靠的升级嵌入式无线节点程序成为了一个新的课题。现有数据方法已经不适合无线网络数据通信或程序升级。嵌入式无线节点自身通信的特殊性,比如信号不稳定、通讯数据包数据量小,都要求尽量减少升级程序的大小,并且当受到干扰造成升级失败时能在原有升级的基础上继续升级,提高程序升级的效率和可靠性。
技术实现思路
专利技术目的本专利技术所要解决的技术问题是针对现有技术的不足,提供一种,解决目前嵌入式无线节点缺少有效的程序(数据)升级方法,不能满足实际应用的问题。为了解决上述技术问题,本专利技术公开了一种,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。本专利技术中,所述版本控制文件按照二进制编码方式映射各个差异子文件,映射方法如下所述版本控制文件的每一个二进制bit位对应着本地服务器新数据中的一个子文件; 用二进制bit位0表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位1表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级; 或者,用二进制bit位1表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位0表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级。本专利技术中,数据远程升级开始时,嵌入式系统获取新的版本控制文件并和自身的版本控制文件进行bit位扫描对比,扫描顺序可以从前往后正序扫描,也可以从后往前倒序扫描,根据该bit位的值判断是该bit位映射的子文件是否是差异子文件,如果是则进行升级,否则不升级。本专利技术中,根据对版本控制文件二进制扫描的结果,嵌入式系统获取本地服务器上的差异子文件,获取成功后嵌入式系统修改自身的版本控制文件,表示该差异子文件已经和本地服务器上的差异子文件相同。本专利技术中,在本地服务器和一个远程嵌入式系统之间采用断点续传方式进行数据升级;所述断点续传方式指如果本次升级失败只升级了部分差异子文件,下一次升级时,已成功升级差异子文件将不再升级,仅仅升级未完成差异子文件。本专利技术中,如果一次升级失败,只升级了部分差异子文件,已升级的部分差异子文件对应在版本控制文件中对应的bit位已经被修改,下次升级进行bit位扫描时将跳过该 bit位,不对该bit位对应的差异子文件升级。有益效果本专利技术方法简单,使用方便,效率高,占用资源少等优点。提高了传统嵌入式系统程序升级方法的效率,能安全可靠的升级嵌入式无线节点程序。同时本专利技术同样能提高传统的以太网远程升级、U盘本地升级的升级效率和可靠性。附图说明下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和 /或其他方面的优点将会变得更加清楚。图1为实施例流程图。具体实施例方式本专利技术公开了一种,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。本专利技术中,所述版本控制文件按照二进制编码方式映射各个差异子文件,映射方法如下所述版本控制文件的每一个二进制bit位对应着本地服务器新数据中的一个子文件;用二进制bit位0表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位1表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级; 或者,用二进制bit位1表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位0表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级。本专利技术中,数据远程升级开始时,嵌入式系统获取新的版本控制文件并和自身的版本控制文件进行bit位扫描对比,扫描顺序可以从前往后正序扫描,也可以从后往前倒序扫描,根据该bit位的值判断是该bit位映射的子文件是否是差异子文件,如果是则进行升级,否则不升级。本专利技术中,根据对版本控制文件二进制扫描的结果,嵌入式系统获取本地服务器上的差异子文件,获取成功后嵌入式系统修改自身的版本控制文件,表示该差异子文件已4经和本地服务器上的差异子文件相同。本专利技术中,在本地服务器和一个远程嵌入式系统之间采用断点续传方式进行数据升级;所述断点续传方式指如果本次升级失败只升级了部分差异子文件,下一次升级时,已成功升级差异子文件将不再升级,仅仅升级未完成差异子文件。本专利技术中,如果一次升级失败,只升级了部分差异子文件,已升级的部分差异子文件对应在版本控制文件中对应的bit位已经被修改,下次升级进行bit位扫描时将跳过该 bit位,不对该bit位对应的差异子文件升级。实施例如图1所示,本实施例是在本地PC服务器和远程GPRS嵌入式终端之间实现。prog为GPRS嵌入式终端上运行程序,大小为72K byte ; ver为GPRS嵌入式终端上的版本控制文件,预知文件内容为0x00,0x00, ..,0x00 (共30个,初始化的数量和升级的最大程序大小有关)。(一)差异升级的实现过程。A 如图1中步骤1,在本地服务器上将prog和progNew按照IOK大小分成多个子文件对比后,形成3个差异子文件分别是prog007,progOOS, prog009 ;同时形成版本控制文件verNew,除去固定的文件头和文件尾,0x80,0x03,0x00,,...,0x00 (共30个字节),其中的二进制bit 1和形成的差异子文件映射。B 通过短信发送远程唤醒升级帧,启动嵌入式系统升级程序,如图1中步骤2 ;嵌入式系统升级程序首先将嵌入式终端的版本控制文件ver全部bit位清0,然后嵌入式系统远程获取本地PC服务器上的版本控制文件verNew,如图1中步骤3 ;C 嵌入式系统获取版本控制文件verNew后,将verNew和ver按bit位进行扫描比较。 本例中采用倒续扫描,因为后面的28个0x00字节相同,所以被跳过。第一个差异bit为 0x03 (00000011b)的最低位bit为1,这个bit位1表示需要获取差异子文件prog008,如图 1中步骤4 ;嵌入式系统远程获取本地PC服务器差异子文件progOOS,如图1中步骤5,如果嵌入式系统远程获取本地PC服务器差异子文件不成功,则返回步骤2;获取该文件成功后, 将文件ver的内容修改为0x00,0x01, ..,0x00 (共30个),如图1中步骤6。D 第二个差异bit为0x02 (00000010b)的第二位bitl,这个bit位1表示需要获取差异子文件prog009,获取该文件成功本文档来自技高网...

【技术保护点】
1.一种嵌入式系统的数据远程升级方法,其特征在于,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。

【技术特征摘要】

【专利技术属性】
技术研发人员:芮晓玲师晓敏查付政
申请(专利权)人:江苏省邮电规划设计院有限责任公司
类型:发明
国别省市:84

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

1