CN102325189A - 嵌入式系统的数据远程升级方法 - Google Patents
嵌入式系统的数据远程升级方法 Download PDFInfo
- Publication number
- CN102325189A CN102325189A CN201110277708A CN201110277708A CN102325189A CN 102325189 A CN102325189 A CN 102325189A CN 201110277708 A CN201110277708 A CN 201110277708A CN 201110277708 A CN201110277708 A CN 201110277708A CN 102325189 A CN102325189 A CN 102325189A
- Authority
- CN
- China
- Prior art keywords
- difference
- embedded system
- subfiles
- upgrading
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 238000013507 mapping Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 4
- 238000005034 decoration Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式系统的数据远程升级方法,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。它解决了目前嵌入式系统远程升级过程中速度慢、数据量大、传输不可靠,不能满足实际应用需要等问题。具有方法简单,使用方便,效率高,占用通信资源少等优点。
Description
技术领域
本发明涉及一种嵌入式系统的数据远程升级方法,特别是一种嵌入式系统的数据的差异升级和断点续传的升级方法。
背景技术
现有嵌入式系统程序升级的方法,比如以太网远程升级、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位映射的子文件是否是差异子文件,如果是则进行升级,否则不升级。
本发明中,根据对版本控制文件二进制扫描的结果,嵌入式系统获取本地服务器上的差异子文件,获取成功后嵌入式系统修改自身的版本控制文件,表示该差异子文件已经和本地服务器上的差异子文件相同。
本发明中,在本地服务器和一个远程嵌入式系统之间采用断点续传方式进行数据升级;
所述断点续传方式指如果本次升级失败只升级了部分差异子文件,下一次升级时,已成功升级差异子文件将不再升级,仅仅升级未完成差异子文件。
本发明中,如果一次升级失败,只升级了部分差异子文件,已升级的部分差异子文件对应在版本控制文件中对应的bit位已经被修改,下次升级进行bit位扫描时将跳过该bit位,不对该bit位对应的差异子文件升级。
实施例
如图1所示,本实施例是在本地PC服务器和远程GPRS嵌入式终端之间实现。
prog为GPRS嵌入式终端上运行程序,大小为72K byte; ver为GPRS嵌入式终端上的版本控制文件,预知文件内容为0x00, 0x00, .., 0x00(共30个,初始化的数量和升级的最大程序大小有关)。
(一)差异升级的实现过程。
A:如图1中步骤1,在本地服务器上将prog和progNew按照10K大小分成多个子文件对比后,形成3个差异子文件分别是prog007, prog008, 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服务器差异子文件prog008,如图1中步骤5,如果嵌入式系统远程获取本地PC服务器差异子文件不成功,则返回步骤2;获取该文件成功后, 将文件ver的内容修改为0x00, 0x01, .., 0x00(共30个),如图1中步骤6。
D:第二个差异bit为0x02(00000010b)的第二位bit1,这个bit位1表示需要获取差异子文件prog009,获取该文件成功后,将文件ver的内容修改为0x00x, 0x03, .., 0x00(共30个)。因为尚有差异子文件需要升级,所以本过程重复图1中步骤4、步骤5和步骤6。
E:第三个差异bit为0x80(10000000b)的最高位bit1,这个bit位1表示需要获取差异子文件prog.007,获取该文件成功后,将文件ver的内容修改为0x80, 0x03, .., 0x00(共30个)。因为尚有差异子文件需要升级,所以本过程重复图1中步骤4、步骤5和步骤6。
F:至此,步骤4中判断无差异子文件,即全部差异子文件升级完毕,程序升级成功,升级程序退出,如图1中步骤7。
(二)断点续传的实现过程。
假定程序升级过程中受到干扰,第二个差异子文件prog009升级失败,此时版本控制文件ver的内容更新为0x00, 0x01, .., 0x00(共30个)。
通过短信发送远程唤醒升级帧,启动嵌入式系统升级程序,如图1中步骤2;
嵌入式系统升级程序首先将嵌入式终端的版本控制文件ver全部bit位清0,然后嵌入式系统远程获取本地PC服务器上的版本控制文件verNew,如图1中步骤3;
嵌入式系统获取版本控制文件verNew后,将verNew和ver按bit位进行扫描比较。第一个差异bit为0x02(00000010b)的第2个bit为1,这个bit位1表示需要获取差异子文件prog009,如图1中步骤4;
升级程序从步骤4开始,循环执行图1中步骤4、步骤5、步骤6,直至步骤4中判断无差异子文件,即差异子文件全部升级完毕,升级完成程序退出,如图1中步骤7,步骤5中如果嵌入式系统远程获取本地PC服务器差异子文件不成功,则返回步骤2。
升级程序启动后,升级程序重新获取PC机版本控制文件,并和嵌入式系统内部版本控制文件进行对比,已成功升级文件将不重复升级,实现了断点续传。
本发明提供了一种嵌入式系统的数据远程升级的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (6)
1.一种嵌入式系统的数据远程升级方法,其特征在于,在本地服务器和一个远程嵌入式系统之间采用差异升级方式进行数据升级;
所述差异升级方式指将嵌入式系统内现有数据和本地服务器的新数据按照一定大小分成多个子文件,并进行差异对比形成差异子文件和版本控制文件,根据版本控制文件对差异的子文件进行升级,相同的子文件不升级。
2.根据权利要求1所述的嵌入式系统的数据远程升级方法,其特征在于,所述版本控制文件按照二进制编码方式映射各个差异子文件,映射方法如下:
所述版本控制文件的每一个二进制bit位对应着本地服务器新数据中的一个子文件;
用二进制bit位0表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位1表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级;
或者,
用二进制bit位1表示本地服务器新数据中的子文件和嵌入式系统内现有数据中的子文件相同,不需要升级;用二进制bit位0表示本地服务器的新数据中的子文件和嵌入式系统内现有数据中的子文件不同,需要升级。
3.根据权利要求2所述的嵌入式系统的数据远程升级方法,其特征在于,数据远程升级开始时,嵌入式系统获取新的版本控制文件并和自身的版本控制文件进行bit位扫描对比,扫描顺序为从前往后正序扫描或者从后往前倒序扫描,根据该bit位的值判断是该bit位映射的子文件是否是差异子文件,如果是则进行升级,否则不升级。
4.根据权利要求3所述的嵌入式系统的数据远程升级方法,其特征在于,根据对版本控制文件二进制扫描的结果,嵌入式系统获取本地服务器上的差异子文件,获取成功后嵌入式系统修改自身的版本控制文件,表示该差异子文件已经和本地服务器上的差异子文件相同。
5.根据权利要求1至4中任意一项所述的嵌入式系统的数据远程升级方法,其特征在于,在本地服务器和一个远程嵌入式系统之间采用断点续传方式进行数据升级;
所述断点续传方式指如果本次升级失败只升级了部分差异子文件,下一次升级时,已成功升级差异子文件将不再升级,仅仅升级未完成差异子文件。
6.根据权利要求1至5中任意一项所述的嵌入式系统的数据远程升级方法,其特征在于,如果一次升级失败,只升级了部分差异子文件,已升级的部分差异子文件对应在版本控制文件中对应的bit位已经被修改,下次升级进行bit位扫描时将跳过该bit位,不对该bit位对应的差异子文件升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110277708A CN102325189A (zh) | 2011-09-19 | 2011-09-19 | 嵌入式系统的数据远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110277708A CN102325189A (zh) | 2011-09-19 | 2011-09-19 | 嵌入式系统的数据远程升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102325189A true CN102325189A (zh) | 2012-01-18 |
Family
ID=45452857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110277708A Pending CN102325189A (zh) | 2011-09-19 | 2011-09-19 | 嵌入式系统的数据远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102325189A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347095A (zh) * | 2013-07-22 | 2013-10-09 | 广州市交通信息中心 | 一种车联网系统中的无线固件更新方法 |
CN106250195A (zh) * | 2016-08-10 | 2016-12-21 | 青岛海信电器股份有限公司 | 更新系统文件的方法、设备及系统 |
CN112612504A (zh) * | 2020-11-30 | 2021-04-06 | 特力惠信息科技股份有限公司 | 一种java安装包管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
CN101739278A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种企业级应用软件升级方法及系统 |
CN102147742A (zh) * | 2011-03-18 | 2011-08-10 | 深圳市广和通实业发展有限公司 | 一种嵌入式软件的在线升级方法及系统 |
-
2011
- 2011-09-19 CN CN201110277708A patent/CN102325189A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
CN101739278A (zh) * | 2009-12-17 | 2010-06-16 | 中国电力科学研究院 | 一种企业级应用软件升级方法及系统 |
CN102147742A (zh) * | 2011-03-18 | 2011-08-10 | 深圳市广和通实业发展有限公司 | 一种嵌入式软件的在线升级方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347095A (zh) * | 2013-07-22 | 2013-10-09 | 广州市交通信息中心 | 一种车联网系统中的无线固件更新方法 |
CN106250195A (zh) * | 2016-08-10 | 2016-12-21 | 青岛海信电器股份有限公司 | 更新系统文件的方法、设备及系统 |
CN112612504A (zh) * | 2020-11-30 | 2021-04-06 | 特力惠信息科技股份有限公司 | 一种java安装包管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10469620B2 (en) | Method for transferring a new software version to at least one electricity meter via a communication network | |
CN109768970B (zh) | 一种基于可配置的通用协议生成方法 | |
CN108334367B (zh) | 一种面向bmc芯片的固件远程升级方法 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN105262627A (zh) | 一种固件升级方法、装置及系统 | |
CN105786549B (zh) | 智能设备及其升级方法 | |
CN103685487A (zh) | 无线通信网络中的子节点升级方法 | |
CN101686145A (zh) | 一种具有升级功能的设备、升级方法及系统 | |
CN105072398B (zh) | 一种设备升级方法和装置 | |
CN110213113B (zh) | 基站的web配置管理方法及基站 | |
WO2012126301A1 (zh) | 一种消息发送、接收处理的方法及其装置 | |
CN105187475A (zh) | 数据同步的方法和系统 | |
CN102325189A (zh) | 嵌入式系统的数据远程升级方法 | |
CN107301067B (zh) | 基于iap技术的北斗用户机远程升级系统及其升级方法 | |
CN112291766A (zh) | 一种蓝牙设备及其固件升级方法及系统 | |
CN111198698B (zh) | 基于EtherCAT的多设备固件程序并行下载方法及系统 | |
CN114518897A (zh) | 通信模块远程升级方法及系统 | |
CN105224355A (zh) | Eoc无线终端软件升级方法 | |
CN104701982A (zh) | 一种用于对配电线路监测终端进行自动升级的方法 | |
CN112737995A (zh) | 以太网帧的处理方法、装置、设备及存储介质 | |
CN106773790B (zh) | 基于全局事件轴同步的多迭代电力和通信联合仿真方法 | |
CN116132974A (zh) | 用于多节点设备网络中空中下载的方法、设备及存储介质 | |
CN110362331A (zh) | 智能设备在工厂模式下进行自动更新固件的方法 | |
CN108304358A (zh) | 基于陆用捷联惯导产品SDCard存储装置的数据解析方法 | |
CN114201289A (zh) | 基于边缘计算节点和云服务器的目标检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120118 |