CN109254788A - 低带宽下设备固件升级的方法 - Google Patents
低带宽下设备固件升级的方法 Download PDFInfo
- Publication number
- CN109254788A CN109254788A CN201811038131.3A CN201811038131A CN109254788A CN 109254788 A CN109254788 A CN 109254788A CN 201811038131 A CN201811038131 A CN 201811038131A CN 109254788 A CN109254788 A CN 109254788A
- Authority
- CN
- China
- Prior art keywords
- data
- firmware
- grades
- equipment end
- low bandwidth
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种低带宽下设备固件升级的方法,涉及低带宽下设备固件升级领域。本发明解决了目前在低带宽的网络中,因待传输的数据数量大且传输速率低导致数据可能出现的丢失问题,其技术方案要点为:将设备端中已运行固件及服务器中的待升级固件均进行拆分,并判断拆分后的已运行固件及待升级固件是否存在差异,若存在,则提取拆分后的已运行固件及待升级固件之间存在差异的部分并将其融合成差异区块数据;服务器根据该设备端的当前网络状况将网络质量评定出不同的网络质量等级;以当前网络质量等级下的相应长度的目标分包为单位向设备端传输差异区块数据,传输完差异区块数据后在设备端中将拆分后的已运行固件及差异区块数据重组成待升级固件。
Description
技术领域
本发明涉及固件升级技术,特别涉及低带宽下设备固件升级的技术。
背景技术
现如今,成千上万的物联网设备接入了低带宽网络,比如NB-IOT、eMTC、sigfox等。在此低速率的网络下,可以显著降低设备使用成本,但对设备升级所需的大数据量提出了更高的网络要求。
参见申请号为CN 201710377054.3的一篇专利申请,其提出了一种设备固件空中升级的方法,但是其公开的内容主要是通过多种措施的组合,使设备固件升级时节省网络传输开销,提升空中升级率,同时,也能够利用服务器端对单个设备的多个独立器件的升级文件进行打包投递,实现对多个独立器件执行共同升级。可见,上述申请文件并没有提供在低带宽时,不同的网络质量状况下如何进行固件数据传输的具体方案。
发明内容
本发明的目的是提供一种低带宽下设备固件升级的方法,解决目前在低带宽的网络中,因待传输的数据数量大且传输速率低导致数据可能出现的丢失问题。
本发明解决其技术问题,采用的技术方案是:低带宽下设备固件升级的方法,包括如下步骤:
步骤1、将设备端中已运行固件及服务器中的待升级固件均进行拆分,并判断拆分后的已运行固件及待升级固件是否存在差异,若存在,则进入步骤2,否则不进行处理;
步骤2、提取拆分后的已运行固件及待升级固件之间存在差异的部分并将其融合成差异区块数据;
步骤3、该设备端将当前网络状况上传至服务器中,服务器根据该设备端的当前网络状况对网络质量进行评定,评定出不同的网络质量等级;
步骤4、分别确定出不同网络质量等级下的相应长度的目标分包,并以当前网络质量等级下的相应长度的目标分包为单位向设备端传输差异区块数据,直到传输完差异区块数据;
步骤5、差异区块数据传输完成后,在设备端中将拆分后的已运行固件及差异区块数据重组成待升级固件,并进行存储。
可选地,在步骤1之前,需要设备端向服务器发起固件升级请求,服务器接收到该请求后,再进入步骤1。
可选地,在步骤1之前,服务器定时向设备端发送固件升级请求,设备端接收到该请求后,再进入步骤1。
具体地,步骤3和/或步骤4中,所述网络质量等级包括A级、B级和C级,A级表示网络质量最好,B级表示网络质量适中,C级表示网络质量差。
进一步地,当网络质量等级为A级时,目标分包包括数据头、数据及数据校验位。
具体地,当网络质量等级为B级时,目标分包包括数据头、数据一、数据二及数据校验位,所述数据一或数据二为备份数据。
再进一步地,当网络质量等级为C级时,目标分包包括校验位数据头、数据校验位一、数据三、数据四及数据校验位二。
具体地,当网络质量等级为C级,进行差异区块数据传输时,通过如下步骤得到正确的目标分包帧数据:
步骤401、目标分包一帧数据传输完成后,比对数据校验位一及数据校验位二是否相同,若相同,则数据校验位一及数据校验位二均正确,然后进入步骤402,否则重新传输该帧数据;
步骤402、计算数据一的校验值一,并将校验值一与数据校验位一对比,若相同,则表示数据一正确,即该帧数据正确,否则进入步骤403;
步骤403、计算数据二的校验值二,并将校验值二与数据校验位二对比,若正确,则表示数据二正确,即该帧数据正确,若校验值一与数据校验位一不相同且校验值二与数据校验位二也不相同,则进入步骤404;
步骤404、根据校验值一和校验值二,交叉对比数据一和数据二,确定数据一和数据二的丢失部分和/或错误部分,并对数据一和数据二进行交叉补全,得到正确的数据一和/或数据二,即得到正确的该帧数据。
本发明的有益效果是,通过上述低带宽下设备固件升级的方法,首先将设备端中已运行固件及服务器中的待升级固件均进行拆分,并判断拆分后的已运行固件及待升级固件是否存在差异,若不存在,则不进行处理,若存在,则提取拆分后的已运行固件及待升级固件之间存在差异的部分并将其融合成差异区块数据;其次,该设备端将当前网络状况上传至服务器中,服务器根据该设备端的当前网络状况对网络质量进行评定,评定出不同的网络质量等级;然后,分别确定出不同网络质量等级下的相应长度的目标分包,并以当前网络质量等级下的相应长度的目标分包为单位向设备端传输差异区块数据,直到传输完差异区块数据;差异区块数据传输完成后,在设备端中将拆分后的已运行固件及差异区块数据重组成待升级固件,并进行存储。
这里,根据不同的网络状况制定不同的数据传输策略,并且只针对需传输数据内容进行更新,大大提高了数据传输效率,大大降低了数据传输过程中的错误几率。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述低带宽下设备固件升级的方法,包括如下步骤:
步骤1、将设备端中已运行固件及服务器中的待升级固件均进行拆分,并判断拆分后的已运行固件及待升级固件是否存在差异,若存在,则进入步骤2,否则不进行处理;
步骤2、提取拆分后的已运行固件及待升级固件之间存在差异的部分并将其融合成差异区块数据;
步骤3、该设备端将当前网络状况上传至服务器中,服务器根据该设备端的当前网络状况对网络质量进行评定,评定出不同的网络质量等级;
步骤4、分别确定出不同网络质量等级下的相应长度的目标分包,并以当前网络质量等级下的相应长度的目标分包为单位向设备端传输差异区块数据,直到传输完差异区块数据;
步骤5、差异区块数据传输完成后,在设备端中将拆分后的已运行固件及差异区块数据重组成待升级固件,并进行存储。
优选地,在步骤1之前,需要设备端向服务器手动发起固件升级请求,服务器接收到该请求后,再进入步骤1,或者服务器定时向设备端自动发送固件升级请求,设备端接收到该请求后,再进入步骤1,这里自动请求的时间时,可根据设备端固件升级的一般周期进行设定。
在上述方法的步骤3和/或步骤4中,网络质量等级优选包括A级、B级和C级,A级表示网络质量最好,B级表示网络质量适中,C级表示网络质量差,也可以只划分成两级,一级为网络质量好的等级,另一级为网络质量差的等级,当然,也可以根据数据传输的总量将网络质量等级进行更详细的划分。
当网络质量等级为A级时,目标分包优选包括数据头、数据及数据校验位。
当网络质量等级为B级时,目标分包优选包括数据头、数据一、数据二及数据校验位,数据一或数据二为备份数据。
当网络质量等级为C级时,目标分包优选包括校验位数据头、数据校验位一、数据三、数据四及数据校验位二,当网络质量等级为C级,进行差异区块数据传输时,通过如下步骤得到正确的目标分包帧数据:
步骤401、目标分包一帧数据传输完成后,比对数据校验位一及数据校验位二是否相同,若相同,则数据校验位一及数据校验位二均正确,然后进入步骤402,否则重新传输该帧数据;
步骤402、计算数据一的校验值一,并将校验值一与数据校验位一对比,若相同,则表示数据一正确,即该帧数据正确,否则进入步骤403;
步骤403、计算数据二的校验值二,并将校验值二与数据校验位二对比,若正确,则表示数据二正确,即该帧数据正确,若校验值一与数据校验位一不相同且校验值二与数据校验位二也不相同,则进入步骤404;
步骤404、根据校验值一和校验值二,交叉对比数据一和数据二,确定数据一和数据二的丢失部分和/或错误部分,并对数据一和数据二进行交叉补全,得到正确的数据一和/或数据二,即得到正确的该帧数据。
实施例
本发明实施例以10kb差异区块数据为例,根据设备端上传网络情况,对目标终端进行网络质量评定,将网络质量等级分为A级、B级和C级,A级表示网络质量最好,B级表示网络质量适中,C级表示网络质量差。
当网络质量等级为A级时,目标分包的数据长度为1kb,目标分包分别包括数据头、数据及数据校验位,数据头的数据长度为2Bytes,数据的数据长度为1024Bytes,数据校验位的数据长度为2Bytes。
当网络质量等级为B级时,目标分包的数据长度也为1kb,目标分包分别包括数据头、数据一、数据二及数据校验位,数据头的数据长度为2Bytes,数据一的数据长度为512Bytes,数据二的数据长度为512Bytes,数据校验位的数据长度为2Bytes,数据一或数据二中有一个为备份数据,用于网络传输过程中导致的部分数据丢失或者出错,而减小网络压力降低数据出错可能性。
当网络质量等级为C级时,数据分包的数据长度为0.5kb,目标分包分别包括校验位数据头、数据校验位一、数据三、数据四及数据校验位二,数据头的数据长度为2Bytes,数据校验位一的数据长度为2Bytes,数据三的数据长度为256Bytes,数据四的数据长度为256Bytes,数据校验位二的数据长度为2Bytes。
当网络质量等级为C级,此网络状况下极易产生数据错误和丢失,进行差异区块数据传输时,通过如下步骤得到正确的目标分包帧数据:
步骤401、目标分包一帧数据传输完成后,比对数据校验位一及数据校验位二是否相同,若相同,则数据校验位一及数据校验位二均正确,然后进入步骤402,否则重新传输该帧数据;
步骤402、计算数据一的校验值一,并将校验值一与数据校验位一对比,若相同,则表示数据一正确,即该帧数据正确,否则进入步骤403;
步骤403、计算数据二的校验值二,并将校验值二与数据校验位二对比,若正确,则表示数据二正确,即该帧数据正确,若校验值一与数据校验位一不相同且校验值二与数据校验位二也不相同,则进入步骤404;
步骤404、根据校验值一和校验值二,交叉对比数据一和数据二,确定数据一和数据二的丢失部分和/或错误部分,并对数据一和数据二进行交叉补全,得到正确的数据一和/或数据二,即得到正确的该帧数据。
这样,能够减小数据错误的机率,以及减小低速率网络对数据带来的影响,提高升级成功率。
并且,若差异区块在以目标分包为单位进行传输时,一个目标分包数据传输完成后,进行下一目标分包数据的传输,若一个目标分包数据传输过程中出现的网络通断问题,则可以选择根据重传相应的次数,完成该目标分包数据的传输,来避免数据丢失。
Claims (8)
1.低带宽下设备固件升级的方法,其特征在于,包括如下步骤:
步骤1、将设备端中已运行固件及服务器中的待升级固件均进行拆分,并判断拆分后的已运行固件及待升级固件是否存在差异,若存在,则进入步骤2,否则不进行处理;
步骤2、提取拆分后的已运行固件及待升级固件之间存在差异的部分并将其融合成差异区块数据;
步骤3、该设备端将当前网络状况上传至服务器中,服务器根据该设备端的当前网络状况对网络质量进行评定,评定出不同的网络质量等级;
步骤4、分别确定出不同网络质量等级下的相应长度的目标分包,并以当前网络质量等级下的相应长度的目标分包为单位向设备端传输差异区块数据,直到传输完差异区块数据;
步骤5、差异区块数据传输完成后,在设备端中将拆分后的已运行固件及差异区块数据重组成待升级固件,并进行存储。
2.根据权利要求1所述的低带宽下设备固件升级的方法,其特征在于,在步骤1之前,需要设备端向服务器发起固件升级请求,服务器接收到该请求后,再进入步骤1。
3.根据权利要求1所述的低带宽下设备固件升级的方法,其特征在于,在步骤1之前,服务器定时向设备端发送固件升级请求,设备端接收到该请求后,再进入步骤1。
4.根据权利要求1所述的低带宽下设备固件升级的方法,其特征在于,步骤3和/或步骤4中,所述网络质量等级包括A级、B级和C级,A级表示网络质量最好,B级表示网络质量适中,C级表示网络质量差。
5.根据权利要求4所述的低带宽下设备固件升级的方法,其特征在于,当网络质量等级为A级时,目标分包包括数据头、数据及数据校验位。
6.根据权利要求4所述的低带宽下设备固件升级的方法,其特征在于,当网络质量等级为B级时,目标分包包括数据头、数据一、数据二及数据校验位,所述数据一或数据二为备份数据。
7.根据权利要求4所述的低带宽下设备固件升级的方法,其特征在于,当网络质量等级为C级时,目标分包包括校验位数据头、数据校验位一、数据三、数据四及数据校验位二。
8.根据权利要求7所述的低带宽下设备固件升级的方法,其特征在于,当网络质量等级为C级,进行差异区块数据传输时,通过如下步骤得到正确的目标分包帧数据:
步骤401、目标分包一帧数据传输完成后,比对数据校验位一及数据校验位二是否相同,若相同,则数据校验位一及数据校验位二均正确,然后进入步骤402,否则重新传输该帧数据;
步骤402、计算数据一的校验值一,并将校验值一与数据校验位一对比,若相同,则表示数据一正确,即该帧数据正确,否则进入步骤403;
步骤403、计算数据二的校验值二,并将校验值二与数据校验位二对比,若正确,则表示数据二正确,即该帧数据正确,若校验值一与数据校验位一不相同且校验值二与数据校验位二也不相同,则进入步骤404;
步骤404、根据校验值一和校验值二,交叉对比数据一和数据二,确定数据一和数据二的丢失部分和/或错误部分,并对数据一和数据二进行交叉补全,得到正确的数据一和/或数据二,即得到正确的该帧数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811038131.3A CN109254788B (zh) | 2018-09-06 | 2018-09-06 | 低带宽下设备固件升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811038131.3A CN109254788B (zh) | 2018-09-06 | 2018-09-06 | 低带宽下设备固件升级的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254788A true CN109254788A (zh) | 2019-01-22 |
CN109254788B CN109254788B (zh) | 2022-02-08 |
Family
ID=65047212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811038131.3A Active CN109254788B (zh) | 2018-09-06 | 2018-09-06 | 低带宽下设备固件升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254788B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN110727453A (zh) * | 2019-10-21 | 2020-01-24 | 广东美的制冷设备有限公司 | 家用电器、通过红外信号对其进行升级的方法和系统 |
CN111258621A (zh) * | 2019-11-19 | 2020-06-09 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN111526029A (zh) * | 2019-02-02 | 2020-08-11 | 北京骑胜科技有限公司 | 一种网格化固件升级方法、装置、电子设备及存储介质 |
CN113703823A (zh) * | 2021-10-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种bmc固件升级方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567736A (zh) * | 2003-07-08 | 2005-01-19 | 联想(北京)有限公司 | 一种提高无线网络信道传输效率的方法 |
US20100162090A1 (en) * | 2001-10-20 | 2010-06-24 | Christoph Emde | Method of detecting data transmission errors in a CAN controller, and a CAN controller for carrying out the method |
US20100195657A1 (en) * | 2007-09-20 | 2010-08-05 | Jing Wang | Method and system for self-routing in synchronous digital cross-connection |
CN102799445A (zh) * | 2012-05-03 | 2012-11-28 | 陈昊 | 一种基于Android平台的应用升级方法及系统 |
-
2018
- 2018-09-06 CN CN201811038131.3A patent/CN109254788B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100162090A1 (en) * | 2001-10-20 | 2010-06-24 | Christoph Emde | Method of detecting data transmission errors in a CAN controller, and a CAN controller for carrying out the method |
CN1567736A (zh) * | 2003-07-08 | 2005-01-19 | 联想(北京)有限公司 | 一种提高无线网络信道传输效率的方法 |
US20100195657A1 (en) * | 2007-09-20 | 2010-08-05 | Jing Wang | Method and system for self-routing in synchronous digital cross-connection |
CN102799445A (zh) * | 2012-05-03 | 2012-11-28 | 陈昊 | 一种基于Android平台的应用升级方法及系统 |
Non-Patent Citations (1)
Title |
---|
杨云江: "一种在网络通信中自动纠错算法的研究", 《贵州大学学报(自然科学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN111526029A (zh) * | 2019-02-02 | 2020-08-11 | 北京骑胜科技有限公司 | 一种网格化固件升级方法、装置、电子设备及存储介质 |
CN110727453A (zh) * | 2019-10-21 | 2020-01-24 | 广东美的制冷设备有限公司 | 家用电器、通过红外信号对其进行升级的方法和系统 |
CN110727453B (zh) * | 2019-10-21 | 2023-04-25 | 广东美的制冷设备有限公司 | 家用电器、通过红外信号对其进行升级的方法和系统 |
CN111258621A (zh) * | 2019-11-19 | 2020-06-09 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN111258621B (zh) * | 2019-11-19 | 2022-08-02 | 浙江瑞银电子有限公司 | 一种固件差异化升级方法 |
CN113703823A (zh) * | 2021-10-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种bmc固件升级方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109254788B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254788A (zh) | 低带宽下设备固件升级的方法 | |
CN106850188B (zh) | 一种基于多路异构单向传输通道的数据传输系统 | |
CN105993147B (zh) | 一种终端升级方法及相关设备 | |
CN103069492B (zh) | 使用用于多媒体流传输文件的存储文件格式的存储方法和客户端装置 | |
CN106559677A (zh) | 终端、缓存服务器及获取视频分片的方法及装置 | |
CN101771673B (zh) | 一种处理媒体数据的方法及装置 | |
CN106416179A (zh) | 实现扩展传输控制功能的传输加速器 | |
CN105898352A (zh) | 基于m3u8的流媒体文件直播方法及系统 | |
CN100514943C (zh) | 一种即时消息客户端升级管理方法及系统 | |
WO2007139789A3 (en) | A system and method for distributing video data | |
WO2020211594A1 (zh) | 零差分升级方法、非易失性存储介质及电子装置 | |
CN105099540A (zh) | 一种卫星处理类载荷在轨功能重构方法 | |
CN104135678A (zh) | 一种基于hls协议实现视频点播中视频广告投放的方法 | |
CN106453460B (zh) | 一种文件分发方法、装置和系统 | |
CN101848188A (zh) | 对数据块校验信息进行更新的方法和装置 | |
CN103281362B (zh) | 一种文件传输协议 | |
CN106059936B (zh) | 云系统组播文件的方法及装置 | |
CN101330510A (zh) | 下发目录树数据的方法、系统和服务器,以及一种客户端 | |
CN107222474A (zh) | 一种具有同步更新网络游戏异常数据功能的系统 | |
CN103729201A (zh) | 无线固件升级的测试方法 | |
CN102075584B (zh) | 一种分布式文件系统及其访问方法 | |
CN104935953B (zh) | 一种基于实时转码的网络点播服务提供方法及系统 | |
CN108390764B (zh) | 一种面向播存网络的广播内容补包方法及系统 | |
US20120159291A1 (en) | Method for detecting return link packet error in hub which communicates with satellite terminal and apparatus thereof | |
CN108965463A (zh) | 一种文件传输方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 621000 Sichuan Ailian Technology Co., Ltd Applicant after: Sichuan Ailian Technology Co., Ltd Address before: 621000 Mianyang city of Sichuan Province, Sichuan Industrial Park, love science and Technology Co. Applicant before: SICHUAN AI-LINK TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |