CN109254788A - 低带宽下设备固件升级的方法 - Google Patents

低带宽下设备固件升级的方法 Download PDF

Info

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
Application number
CN201811038131.3A
Other languages
English (en)
Other versions
CN109254788B (zh
Inventor
杨建林
尤金刚
杨引
宋洋洋
白浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Love Technology Co Ltd
Original Assignee
Sichuan Love Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Love Technology Co Ltd filed Critical Sichuan Love Technology Co Ltd
Priority to CN201811038131.3A priority Critical patent/CN109254788B/zh
Publication of CN109254788A publication Critical patent/CN109254788A/zh
Application granted granted Critical
Publication of CN109254788B publication Critical patent/CN109254788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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、根据校验值一和校验值二,交叉对比数据一和数据二,确定数据一和数据二的丢失部分和/或错误部分,并对数据一和数据二进行交叉补全,得到正确的数据一和/或数据二,即得到正确的该帧数据。
CN201811038131.3A 2018-09-06 2018-09-06 低带宽下设备固件升级的方法 Active CN109254788B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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平台的应用升级方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
杨云江: "一种在网络通信中自动纠错算法的研究", 《贵州大学学报(自然科学版)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
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