CN105279001A - 一种用于网络终端设备的软件远程升级方法 - Google Patents
一种用于网络终端设备的软件远程升级方法 Download PDFInfo
- Publication number
- CN105279001A CN105279001A CN201510806194.9A CN201510806194A CN105279001A CN 105279001 A CN105279001 A CN 105279001A CN 201510806194 A CN201510806194 A CN 201510806194A CN 105279001 A CN105279001 A CN 105279001A
- Authority
- CN
- China
- Prior art keywords
- equipment
- firmware
- server
- subregion
- upgrade
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;当设备接收到升级指令后,进行升级步骤。
Description
技术领域
本发明涉及一种用于网络终端设备的软件远程升级方法,主要适用于嵌入式网络设备的软件更新,特别适用于物联网领域的嵌入式网络设备的软件更新。
背景技术
随着信息技术的飞速发展,用户对于产品的使用需求也越来越多样化。如何维护升级市场长的产品也是生产商需要面对的一个问题,目前大多数嵌入式系统是不支持软件升级的,在出现问题后只能现场解决或者产品召回,维护成本较高,并且如果维护不及时则有可能面临被客户替换掉的风险,进而失去客户资源。
申请号为201410406157.4的中国专利公开了一种嵌入式软件在线升级方法,在嵌入式设备的存储器中设置主分区和更新区,分别用于独立引导设备启动和更新,并根据更新标记来决定启动新的版本或退回升级前的状态。该方法在可操作性、成本、经济效应方面仍有待改善。
发明内容
本发明的目的在于克服现有技术中存在的上述不足,而提供一种用于网络终端设备的软件远程升级方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。
本发明解决上述问题所采用的技术方案是:一种用于网络终端设备的软件远程升级方法,其特征在于:
在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;
设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新;
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
本发明所述的设备为多台。
本发明所述的设备为嵌入式设备。
本发明所述的设备采用Cortex-M3系列处理器。
本发明与现有技术相比,具有以下优点和效果:
1、首先是实现了设备的远程升级,满足了技术应用的这一需求;其次是降低了设备成本,最大化的提高了设备的经济效益。
2、设备支持远程升级,就使远程批量升级设备成为了可能,能够控制批量升级远程的设备对于企业来说是重要的,对于已经发售了万、亿台设备的企业对此需求尤为明显,这对设备的集中管理与控制到了关键的作用,在产品出现软件问题或者用户对产品有新需求时,就能够做到快速、便捷的对设备批量升级,使其支持新需求;
3、设备采用主流的Cortex-M3系列处理器,这个系列的处理器目前已经是很具有竞争力的嵌入式处理器,能够在此系列处理器上开发符合用户使用需求的设备,本身已经做到了经济效益的最大化,经济效益在一定程度上体现了企业的核心竞争力。
附图说明
图1为本发明实施例的系统框架图。
图2为本发明实施例的设备框架图。
具体实施方式
下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
本发明是一项基于嵌入式处理器网络升级的方法,有效的解决了远程更新设备固件的问题,大大减轻了设备维护的工作,进而降低维护的成本。网络升级即通过网络数据传输的方式将设备的软件进行更新,更新的目的可以是新功能的添加或者系统BUG的修复。网络升级的技术难点在于:利用嵌入式设备自身有限的资源实现TCP/IP协议通信,利用网络通信收发数据,并保证数据在传输过程中的准确性、完整性、安全性;并且在接收到数据后校验数据,双重保证数据的准确性和完整性,保证设备能够成功升级。
本发明实施例在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信。LwIP协议栈是一个轻量级的TCP/IP协议栈,它裁剪了标准的TCP/IP协议栈,只保留了一些基本功能,使其能够运行在硬件资源比较紧缺的嵌入式设备上。
数据传输采用互联网上广泛应用的HTTP协议,传输过程中的准确性、完整性、安全性均有HTTP协议本身来保证。
设备在运行过程中,一直保持和远端的服务器有Socket连接。服务器管理连接上来的设备,并保存远端设备传输到服务器的数据。服务器存储设备升级固件版本,用于下发固件至设备。
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或应答网络请求。
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新,大大降低了升级出错的概率,保证了网络升级设备的可靠性;
步骤(4)主要是为了校验获取网络数据的完整性、准确性。错误的数据造成的结果就是数据更新失败,设备运行不正常。所以,首先检验数据的准确性,然后在将正确的数据更新至将要运行的区域,然后跳转至该运行区域执行。正在运行的区域是不能够更新固件的,因为这样会导致正在运行的设备出错。必须将固件更新到非运行的区域,然后通过Boot区检测新固件区域,进而执行新区域的固件代码。
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功。
上述设备可为多台。
上述设备为嵌入式设备;设备电路包含三块:MCU(主控芯片)、网卡芯片、存储芯片。
MCU为主控核心,主要用于处理业务逻辑,接收命令、返回执行状态等。网卡芯片主要辅助主控芯片收发网络数据。存储芯片主要用于暂存网络接收到的升级包,节省主控的存储资源。
上述设备采用Cortex-M3系列处理器。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。
Claims (4)
1.一种用于网络终端设备的软件远程升级方法,其特征在于:
在设备上移植LwIP协议栈,使设备支持TCP/IP协议通信;
设备在运行过程中,一直保持和远端的服务器有Socket连接;服务器管理连接上来的设备,并保存远端设备传输到服务器的数据;服务器存储设备升级固件版本,用于下发固件至设备;
当设备接收到升级指令后,进行如下升级步骤:
(1)、设备创建一个新的Socket连接,连接到服务器的升级端口,连接成功后发送HTTPGet请求;
(2)、服务器接收到HTTPGet请求后,对比设备版本与固件版本,应答设备版本较低的设备;
(3)、设备通过HTTPGet从服务器下载升级数据,并在本地FLASH存储器中暂存;下载完毕后关闭Socket连接;
(4)、设备读取下载固件信息,首先读取数据长度及校验信息;校验通过,将固件更新至设备FLASH中;设备FLASH分三个分区,第一分区为Boot区,用来判断执行第二分区或者第三分区的固件;第二分区与第三分区在使用上相同,都用来存储应用固件,当设备固件在第二分区运行时,将新的固件更新至第三分区;当设备运行在第三分区,将新的固件更新至第二分区,更新完毕后,统一由Boot区完成跳转;
该步骤中,设备使用CRC校验方式校验接收到的数据,再次确保数据的准确性和完整性,只有在校验通过时才会对设备软件进行更新;
(5)、升级完毕后,软件重启设备,执行Boot区固件完成到新固件的跳转,设备运行新的固件,连接登录服务器,设备升级成功;
所述的设备为嵌入式设备。
2.根据权利要求1所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为多台。
3.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备采用Cortex-M3系列处理器。
4.根据权利要求1或2所述的用于网络终端设备的软件远程升级方法,其特征在于:所述的设备为嵌入式设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510806194.9A CN105279001B (zh) | 2015-11-20 | 2015-11-20 | 一种用于网络终端设备的软件远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510806194.9A CN105279001B (zh) | 2015-11-20 | 2015-11-20 | 一种用于网络终端设备的软件远程升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279001A true CN105279001A (zh) | 2016-01-27 |
CN105279001B CN105279001B (zh) | 2018-09-07 |
Family
ID=55148056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510806194.9A Active CN105279001B (zh) | 2015-11-20 | 2015-11-20 | 一种用于网络终端设备的软件远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279001B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126297A (zh) * | 2016-06-30 | 2016-11-16 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的系统升级方法 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN109388418A (zh) * | 2018-10-09 | 2019-02-26 | 郑州云海信息技术有限公司 | 带外刷新box节点服务器的固件和fru的方法及系统 |
CN109600451A (zh) * | 2018-12-28 | 2019-04-09 | 厦门中控智慧信息技术有限公司 | 一种基于Websocket长连接的终端设备固件升级方法及系统 |
CN110391931A (zh) * | 2019-04-27 | 2019-10-29 | 深圳普智远科技有限公司 | 一种管理服务器与远端嵌入式设备的通信方法 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
CN112291323A (zh) * | 2020-10-22 | 2021-01-29 | 上海电科智能系统股份有限公司 | 一种基于mqtt通讯协议的单片机固件升级通讯方法 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN113347044A (zh) * | 2021-06-28 | 2021-09-03 | 积成电子股份有限公司 | 一种基于LwIP协议栈远程维护STM32设备的方法与系统 |
CN114546456A (zh) * | 2020-11-24 | 2022-05-27 | 中移物联网有限公司 | 一种升级方法、装置及电子设备 |
CN114979297A (zh) * | 2022-05-26 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种车辆软件版本大跨度ota升级方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820447A (zh) * | 2010-03-31 | 2010-09-01 | 青岛海信宽带多媒体技术有限公司 | 软件升级方法及升级装置 |
CN102736926B (zh) * | 2011-04-14 | 2016-06-15 | 中兴通讯股份有限公司 | 一种基于任务模板的升级方法及装置、批量升级系统 |
CN104461668A (zh) * | 2015-01-04 | 2015-03-25 | 上海雷尼威尔技术有限公司 | 基于lwip协议栈的用户程序升级方法及系统 |
CN104572217A (zh) * | 2015-01-27 | 2015-04-29 | 广东欧珀移动通信有限公司 | 穿戴式智能设备的升级方法及系统 |
-
2015
- 2015-11-20 CN CN201510806194.9A patent/CN105279001B/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126297A (zh) * | 2016-06-30 | 2016-11-16 | 西安诺瓦电子科技有限公司 | 基于Android操作系统的系统升级方法 |
CN106681766B (zh) * | 2016-12-26 | 2021-04-27 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN109388418A (zh) * | 2018-10-09 | 2019-02-26 | 郑州云海信息技术有限公司 | 带外刷新box节点服务器的固件和fru的方法及系统 |
CN109600451A (zh) * | 2018-12-28 | 2019-04-09 | 厦门中控智慧信息技术有限公司 | 一种基于Websocket长连接的终端设备固件升级方法及系统 |
CN110391931A (zh) * | 2019-04-27 | 2019-10-29 | 深圳普智远科技有限公司 | 一种管理服务器与远端嵌入式设备的通信方法 |
CN111934911A (zh) * | 2020-07-15 | 2020-11-13 | 北京自动化控制设备研究所 | 一种基于网络分发的fpga固件批量升级系统及方法 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
CN112291323A (zh) * | 2020-10-22 | 2021-01-29 | 上海电科智能系统股份有限公司 | 一种基于mqtt通讯协议的单片机固件升级通讯方法 |
CN112291323B (zh) * | 2020-10-22 | 2023-05-05 | 上海电科智能系统股份有限公司 | 一种基于mqtt通讯协议的单片机固件升级通讯方法 |
CN114546456A (zh) * | 2020-11-24 | 2022-05-27 | 中移物联网有限公司 | 一种升级方法、装置及电子设备 |
CN114546456B (zh) * | 2020-11-24 | 2024-05-24 | 中移物联网有限公司 | 一种升级方法、装置及电子设备 |
CN113347044A (zh) * | 2021-06-28 | 2021-09-03 | 积成电子股份有限公司 | 一种基于LwIP协议栈远程维护STM32设备的方法与系统 |
CN114979297A (zh) * | 2022-05-26 | 2022-08-30 | 重庆长安汽车股份有限公司 | 一种车辆软件版本大跨度ota升级方法 |
CN114979297B (zh) * | 2022-05-26 | 2023-06-27 | 重庆长安汽车股份有限公司 | 一种车辆软件版本大跨度ota升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105279001B (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105279001A (zh) | 一种用于网络终端设备的软件远程升级方法 | |
CN111770169B (zh) | 设备固件升级的方法、装置、设备以及存储介质 | |
CN104102518B (zh) | 一种双cpu系统及其程序升级方法 | |
EP2328088A1 (en) | Home network system, gateway device, and firmware update method | |
CN101694622A (zh) | 一种多设备组合装置的固件远程升级方法及系统 | |
RU2554570C2 (ru) | Способ и система выполнения услуг на сервере и клиенте клиент-серверной архитектуры | |
CN110651256B (zh) | 用于在软件更新期间防止服务中断的系统和方法 | |
CN106325876A (zh) | 一种在线图形化编程及控制嵌入式设备的方法、系统 | |
CN101710288A (zh) | 升级处理方法和系统、升级服务器以及升级设备 | |
CN105812426A (zh) | 一种多业务接入平台升级系统及升级方法 | |
TW201319941A (zh) | 基本輸入輸出系統網路接取技術 | |
US20170351503A1 (en) | Method and system for installing software | |
CN112118318A (zh) | 车辆升级方法、终端设备、车辆和计算机存储介质 | |
CN109614131A (zh) | 一种广播设备升级控制系统 | |
CN102855149B (zh) | 一种片内操作系统升级方法、装置和系统 | |
CN112764772A (zh) | 更新文件的预下载方法、加载方法、装置、设备及介质 | |
JP6308604B1 (ja) | 応募者管理装置、応募者管理システム、応募者管理方法および応募者管理プログラム | |
CN109766131B (zh) | 基于多线程技术实现软件智能化自动升级的系统及方法 | |
WO2015154578A1 (zh) | 单板的boot程序远程升级方法、装置及系统 | |
US9207928B2 (en) | Computer-readable medium, apparatus, and methods of automatic capability installation | |
US20190146771A1 (en) | Self-updating method and apparatus for remote assistance | |
CN115309457A (zh) | 应用实例的重启方法、装置、电子设备及可读存储介质 | |
CN111193777B (zh) | 一种基于断点续传的文件下载方法、装置及存储介质 | |
CN114840238A (zh) | 软件升级方法、装置、电子设备及计算机可读存储介质 | |
CN113424153A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200212 Address after: 201103 Wuzhong Road, Minhang District, Shanghai, No. 699 Patentee after: Chengjia (Shanghai) Investment Co., Ltd Address before: Hangzhou City, Zhejiang province 310000 Yuhang Wuchang Street No. 998 West Sea Park building 18 room 704 Patentee before: YEEUU INC. |
|
TR01 | Transfer of patent right |