CN110633092A - 用于ota升级的服务端及嵌入式设备升级方法及装置 - Google Patents
用于ota升级的服务端及嵌入式设备升级方法及装置 Download PDFInfo
- Publication number
- CN110633092A CN110633092A CN201910849190.7A CN201910849190A CN110633092A CN 110633092 A CN110633092 A CN 110633092A CN 201910849190 A CN201910849190 A CN 201910849190A CN 110633092 A CN110633092 A CN 110633092A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrading
- ota
- upgrade
- forced
- 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 36
- 239000012634 fragment Substances 0.000 claims abstract description 68
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000004590 computer program Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种用于OTA升级的服务端及嵌入式设备升级方法及装置。所述方法为:服务端根据列表向每个在线的嵌入式设备发送强制OTA固件升级指令,嵌入式设备向服务端发送版本更新检测数据包,服务端向相应的嵌入式设备返回固件信息数据包,嵌入式设备接收固件分片,升级完成后,服务端将该设备从列表中删除。服务端升级装置包括OTA固件升级指令发送模块;固件信息数据包发送模块;升级指令发送模块;以及设备移除模块。嵌入式设备升级装置包括版本更新检测数据包发送模块;固件分片接收模块;以及升级模块。本申请绕过了传统的OTA固件升级的流程,能够有效解决由于人为疏忽导致固件升级错误的问题,降低了维护成本。
Description
技术领域
本申请涉及物联网领域,特别是涉及OTA固件升级技术。
背景技术
OTA固件升级是指终端通过无线下载的方式获取固件版本并对终端固件进行升级。传统的OTA固件升级技术主要用于手机、平板电脑等大型嵌入式设备。
随着物联网产业的兴起,越来越多的低功耗嵌入式设备涌现,这些设备也面临着OTA固件升级的需求。目前小型嵌入式设备的OTA固件升级是由设备厂家实现的,大都是根据产品类型进行固件划分管理,并根据固件版本号来判断是否需要升级。例如:某厂商旗下的A款空调(或A款电视)和B款空调(或B款电视)应属于两类不同的固件,云端根据当前设备中运行的固件版本是否小于云端保存的最新固件版本来判断是否需要进行固件OTA推送。
由于物联网时代产品类型众多,依据产品类型进行固件划分管理时,很容易因为人为的疏忽导致在云端保存最新固件时,将属于某款产品的固件误保存到其他款产品下,最终导致OTA升级后的产品功能异常。这种情况在两款产品功能近似的情况下尤为突出。例如:某厂商同时生产两种儿童故事机,两种儿童故事机只有外观和声音有所区别,一款为男生外形男生声音,另一款为女生外形女生声音,一旦云端固件保存出错,就会导致男生外形的设备发出了女生声音的这种情况,且已经售出的产品很难进行远程修复,只有返厂,导致维护成本增加。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种用于OTA升级的服务端升级方法,包括:
根据需要强制OTA固件升级的设备列表,定时轮询需要强制OTA固件升级的嵌入式设备是否在线,并向每个在线的嵌入式设备发送与该嵌入式设备相匹配的强制OTA固件升级指令;
在接收到嵌入式设备发来的版本更新检测数据包后,根据所述版本更新检测数据包中的信息判断是否存在对应的固件,并在判断结果为是时,向对应的嵌入式设备依次发送包含CRC校验码的固件信息数据包和固件分片;
在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令;
在接收至嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
可选地,所述的需要强制OTA固件升级的设备列表包括需要强制OTA固件升级的设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型。
根据本申请的另一个方面,提供了一种用于OTA升级的嵌入式设备升级方法,包括:
在接收到服务端发来的强制OTA固件升级指令时,由当前状态跳转至强制升级状态,并向服务端发送版本更新检测数据包,然后跳转至版本检测状态;
在接收到服务端发来的固件信息数据包后,跳转至固件信息获取状态,然后接收服务端发来的固件分片,并在接收成功后将所述固件分片写入本地存储器,同时向服务端发送固件分片接收成功信息;
在接收到到服务端发来的升级指令后,判断当前文件块状态是否为结束状态,并在判断结果为是时,跳转至升级状态,并做相应处理后重启完成升级,然后向服务端发送升级成功信息。
可选地,所述的接收固件信息数据包中的固件分片包括:
在接收所述固件分片的同时,校验分片CRC校验码,并将所述固件分片按顺序进行重组,当所有固件分片接收完成后,计算最终的固件CRC校验码,若计算结果与服务端发来的固件CRC校验码一致,则表示固件分片接收成功。
可选地,版本更新检测数据包包含目的产品ID、目的固件版本号、固件类型、以及强制升级标志位。
根据本申请的另一个方面,提供了一种用于OTA升级的服务端升级装置,包括:
OTA固件升级指令发送模块:其配置成根据需要强制OTA固件升级的设备列表,定时轮询需要强制OTA固件升级的嵌入式设备是否在线,并向每个在线的嵌入式设备发送与该嵌入式设备相匹配的强制OTA固件升级指令;
固件信息数据包发送模块:其配置成在接收到嵌入式设备发来的版本更新检测数据包后,根据所述版本更新检测数据包中的信息判断是否存在对应的固件,并在判断结果为是时,向对应的嵌入式设备依次发送包含CRC校验码的固件信息数据包和固件分片;
升级指令发送模块:其配置成在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令;
设备移除模块:其配置成在接收到嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
可选地,所述的需要强制OTA固件升级的设备列表包括需要强制OTA固件升级的设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型。
根据本申请的另一个方面,提供了一种用于OTA升级的嵌入式设备升级装置,包括:
版本更新检测数据包发送模块,其配置成在接收到服务端发来的强制OTA固件升级指令时,由当前状态跳转至强制升级状态,并向服务端发送版本更新检测数据包,然后跳转至版本检测状态;
固件分片接收模块,其配置成在接收到服务端发来的固件信息数据包后,跳转至固件信息获取状态,然后接收服务端发来的的固件分片,并在接收成功后将所述固件分片写入本地存储器,同时向服务端发送固件分片接收成功信息;和
升级模块,其配置成在接收到到服务端发来的升级指令后,判断当前文件块状态是否为结束状态,并在判断结果为是时,跳转至升级状态,并做相应处理后重启完成升级,然后向服务端发送升级成功信息。
可选地,所述的接收固件信息数据包中的固件分片包括:
在接收所述固件分片的同时,校验分片CRC校验码,并将所述固件分片按顺序进行重组,当所有固件分片接收完成后,计算最终的固件CRC校验码,若计算结果与服务端发来的固件CRC校验码一致,则表示固件分片接收成功。
可选地,所述的版本更新检测数据包包含目的产品ID、目的固件版本号、固件类型、以及强制升级标志位。
本申请的用于OTA升级的服务端升级方法及装置、嵌入式设备升级方法及装置,是一种强制OTA固件升级技术,本申请由于对嵌入式设备进行OTA固件升级时,绕过传统的OTA固件升级的流程,因此能够有效解决由于人为疏忽导致固件升级错误的问题,降低了维护成本。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请实施例的用于OTA升级的服务端及嵌入式设备升级方法的示意性流程图;
图2是根据本申请实施例的用于OTA升级的服务端及嵌入式设备升级装置的示意性结构框图;
图3是根据本申请实施例的第一种计算设备的的示意性结构框图;
图4是根据本申请实施例的第二种计算设备的的示意性结构框图;
图5是根据本申请实施例的第一种计算机可读存储介质的的示意性结构框图;
图6是根据本申请实施例的第二种计算机可读存储介质的的示意性结构框图。
具体实施方式
图1给出了本实施例的用于OTA升级的服务端及嵌入式设备升级方法的示意性流程图,该流程图将用于OTA升级的服务端升级方法及用于OTA升级的嵌入式设备升级方法融合到一起,直观地体现出了对嵌入式设备进行强制OTA固件升级的过程。
S0、创建并导入Excel表格:将所有需要强制升级的嵌入式设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型(mcu固件/wifi固件)保存到Excel表格中,每行一条记录;然后在云平台的强制OTA升级页面中导入上述Excel表格。步骤S0为升级前的准备工作。
S1、服务端定时轮询上述Excel表格中需要强制OTA固件升级的嵌入式设备,查看是否有嵌入式设备在线,若有嵌入式设备在线,则向每一个在线的嵌入式设备发送强制OTA固件升级指令,该指令中带有步骤S0中配置的目的固件所属的产品ID、目的固件的版本号、以及固件类型。每个设备收到的强制OTA固件升级指令中的目的产品ID、目的固件版本号、以及固件类型,都是根据Excel表格中该设备配置的值填写的。
S2、嵌入式设备收到服务端发来的强制OTA固件升级指令后,状态由当前状态跳转至强制升级状态,并立即发送带有目的产品ID、目的固件版本号、固件类型和强制升级标志位的版本更新检测数据包到服务端,然后由强制升级状态跳转至版本检测状态。这里的目的产品ID、目的固件版本号、以及固件类型,与嵌入式设备接收到的强制OTA固件升级指令中的目的产品ID、目的固件版本号、固件类型相同。
S3、服务端根据收到的版本更新检测数据包中的目的产品ID、目的固件版本号和固件类型,查询是否有对应的固件,若没有,则结束本次升级;若有,则向相应的嵌入式设备返回固件信息数据包,所述固件信息数据包包括固件总长度、版本号、以及CRC校验码等。步骤S0中的Excel表格里需要配置目的固件及目的固件版本号,如果由于人为疏忽填写的目的固件或目的固件版本号有错误,则服务端可能会查询不到对应的固件,因此,服务端根据收到的版本更新检测数据包查询是否有对应的固件这一步骤能够提升升级方法的鲁棒性。
S4、嵌入式设备收到固件信息数据包后跳转至固件信息获取状态,并接收服务端发送的固件分片,同时校验分片CRC校验码,并将分片顺序重组,直到所有分片接收完成,计算最后的CRC校验码,将计算结果与步骤S3中的CRC校验码作比较,若二者相同,则向服务端返回固件分片接收成功信息,并将接收到的固件分片写入本地存储器中,然后进入步骤S5,若二者不同,则返回固件分片接收失败信息,并结束本次升级。
S5、服务端在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令。
S6、嵌入式设备收到服务端发来的升级指令后,判断当前文件块的状态,所述的文件块指嵌入式设备接收并存入本地的固件分片所组成的整体文件,若当前状态文件块为结束状态则为跳转至升级状态,并做相应处理,然后重启完成升级,然后向服务端发送升级成功信息,并进入步骤S7;若当前状态不是文件块结束状态则丢弃所述升级指令不作任何处理。若升级不成功,则结束本次升级。设备自身会由固件开发者来实现升级所需要的具体步骤,例如替换某些文件,设置一些业务状态等,如果这些步骤中有错误,开发者会回调SDK返回错误,如果这些步骤全部正确,则最终设备会重启,并完成固件更新,重启后连上云端时会在最开始的注册中带上当前产品ID、固件类型和固件版本,云端根据这三个值是否和强制升级的目的产品ID、目的固件版本、目的固件类型相同,来判断升级是否成功。若相同则成功,若不同则失败。
S7、在接收到嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
图2给出了本实施例的用于OTA升级的服务端升级装置及嵌入式设备升级装置的示意性结构框图,该结构框图直观地体现出了对嵌入式设备进行强制OTA固件升级的原理。
在升级之前,需要创建并导入Excel表格:将所有需要强制升级的嵌入式设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型(mcu固件/wifi固件)保存到Excel表格中,每行一条记录;然后在云平台的强制OTA升级页面中导入上述Excel表格。
所述的用于物联网强制OTA固件升级的服务端升级装置包括:
OTA固件升级指令发送模块;
固件信息数据包发送模块;
升级指令发送模块;以及
设备移除模块。
所述的用于物联网强制OTA固件升级的嵌入式设备升级装置包括:
版本更新检测数据包发送模块;
固件分片接收模块;以及
升级模块。
OTA固件升级的原理如下:
OTA固件升级指令发送模块:服务端定时轮询上述Excel表格中需要强制OTA固件升级的嵌入式设备,查看是否有嵌入式设备在线,若有嵌入式设备在线,则向每一个在线的嵌入式设备发送强制OTA固件升级指令,该指令中带有Excel表格中配置的目的固件所属的产品ID、目的固件的版本号、以及固件类型。每个设备收到的强制OTA固件升级指令中的目的产品ID、目的固件版本号、以及固件类型,都是根据Excel表格中该设备配置的值填写的。
版本更新检测数据包发送模块,嵌入式设备收到服务端发来的强制OTA固件升级指令后,状态由当前状态跳转至强制升级状态,并立即发送带有目的产品ID、目的固件版本号、固件类型和强制升级标志位的版本更新检测数据包到服务端,然后由强制升级状态跳转至版本检测状态。这里的目的产品ID、目的固件版本号、以及固件类型,与嵌入式设备接收到的强制OTA固件升级指令中的目的产品ID、目的固件版本号、固件类型相同。
固件信息数据包发送模块:服务端根据收到的版本更新检测数据包中的目的产品ID、目的固件版本号和固件类型,查询是否有对应的固件,若没有,则结束本次升级;若有,则向相应的嵌入式设备返回固件信息数据包,所述固件信息数据包包括固件总长度、版本号、以及CRC校验码等。Excel表格里需要配置目的固件及目的固件版本号,如果由于人为疏忽填写的目的固件或目的固件版本号有错误,则服务端可能会查询不到对应的固件,因此,服务端根据收到的版本更新检测数据包查询是否有对应的固件这一步骤能够提升升级方法的鲁棒性。
固件分片接收模块:嵌入式设备收到固件信息数据包后跳转至固件信息获取状态,并接收服务端发送的固件分片,同时校验分片CRC校验码,并将分片顺序重组,直到所有分片接收完成,计算最后的CRC校验码,将计算结果与接收到的CRC校验码作比较,若二者相同,则向服务端返回固件分片接收成功信息,并将接收到的固件分片写入本地存储器中,若二者不同,则返回固件分片接收失败信息,并结束本次升级。
升级指令发送模块:服务端在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令。
升级模块:嵌入式设备收到服务端发来的升级指令后,判断当前文件块的状态,所述的文件块指嵌入式设备接收并存入本地的固件分片所组成的整体文件,若当前状态文件块为结束状态则为跳转至升级状态,并做相应处理,然后重启完成升级,然后向服务端发送升级成功信息,并进入步骤S7;若当前状态不是文件块结束状态则丢弃所述升级指令不作任何处理。若升级不成功,则结束本次升级。设备自身会由固件开发者来实现升级所需要的具体步骤,例如替换某些文件,设置一些业务状态等,如果这些步骤中有错误,开发者会回调SDK返回错误,如果这些步骤全部正确,则最终设备会重启,并完成固件更新,重启后连上云端时会在最开始的注册中带上当前产品ID、固件类型和固件版本,云端根据这三个值是否和强制升级的目的产品ID、目的固件版本、目的固件类型相同,来判断升级是否成功。若相同则成功,若不同则失败。
设备移除模块:在接收到嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
本申请实施例还提供了两种计算设备。
第一种计算设备,参照图3,该计算设备包括存储器1120、处理器1110和存储在所述存储器1120内并能由所述处理器1110运行的计算机程序,该计算机程序存储于存储器1120中的用于程序代码的空间1130,该计算机程序在由处理器1110执行时实现用于执行任一项根据本发明的用于OTA升级的服务端升级方法步骤1131。
第二种计算设备,参照图4,该计算设备包括存储器2120、处理器2110和存储在所述存储器2120内并能由所述处理器2110运行的计算机程序,该计算机程序存储于存储器2120中的用于程序代码的空间2130,该计算机程序在由处理器2110执行时实现用于执行任一项根据本发明的用于OTA升级的嵌入式设备升级方法步骤2131。
本申请实施例还提供了两种计算机可读存储介质。
第一种计算机可读存储介质,参照图5,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明用于OTA升级的服务端升级方法步骤的程序1131′,该程序被处理器执行。
第二种计算机可读存储介质,参照图6,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的用于OTA升级的嵌入式设备升级方法步骤的程序2131′,该程序被处理器执行。
本申请实施例还提供了两种包含指令的计算机程序产品。
第一种包含指令的计算机程序产品:当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的用于OTA升级的服务端升级方法步骤。
第二种包含指令的计算机程序产品:当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的用于OTA升级的嵌入式设备升级方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种用于OTA升级的服务端升级方法,包括:
根据需要强制OTA固件升级的设备列表,定时轮询需要强制OTA固件升级的嵌入式设备是否在线,并向每个在线的嵌入式设备发送与该嵌入式设备相匹配的强制OTA固件升级指令;
在接收到嵌入式设备发来的版本更新检测数据包后,根据所述版本更新检测数据包中的信息判断是否存在对应的固件,并在判断结果为是时,向对应的嵌入式设备依次发送包含CRC校验码的固件信息数据包和固件分片;
在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令;
在接收至嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
2.根据权利要求1所述的方法,其特征在于,所述的需要强制OTA固件升级的设备列表包括需要强制OTA固件升级的设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型。
3.一种用于OTA升级的嵌入式设备升级方法,包括:
在接收到服务端发来的强制OTA固件升级指令时,由当前状态跳转至强制升级状态,并向服务端发送版本更新检测数据包,然后跳转至版本检测状态;
在接收到服务端发来的固件信息数据包后,跳转至固件信息获取状态,然后接收服务端发来的固件分片,并在接收成功后将所述固件分片写入本地存储器,同时向服务端发送固件分片接收成功信息;
在接收到到服务端发来的升级指令后,判断当前文件块状态是否为结束状态,并在判断结果为是时,跳转至升级状态,并做相应处理后重启完成升级,然后向服务端发送升级成功信息。
4.根据权利要求3所述的方法,其特征在于,所述的接收固件信息数据包中的固件分片包括:
在接收所述固件分片的同时,校验分片CRC校验码,并将所述固件分片按顺序进行重组,当所有固件分片接收完成后,计算最终的固件CRC校验码,若计算结果与服务端发来的固件CRC校验码一致,则表示固件分片接收成功。
5.根据权利要求3或4所述的方法,其特征在于,所述的版本更新检测数据包包含目的产品ID、目的固件版本号、固件类型、以及强制升级标志位。
6.一种用于OTA升级的服务端升级装置,包括:
OTA固件升级指令发送模块:其配置成根据需要强制OTA固件升级的设备列表,定时轮询需要强制OTA固件升级的嵌入式设备是否在线,并向每个在线的嵌入式设备发送与该嵌入式设备相匹配的强制OTA固件升级指令;
固件信息数据包发送模块:其配置成在接收到嵌入式设备发来的版本更新检测数据包后,根据所述版本更新检测数据包中的信息判断是否存在对应的固件,并在判断结果为是时,向对应的嵌入式设备依次发送包含CRC校验码的固件信息数据包和固件分片;
升级指令发送模块:其配置成在接收到嵌入式设备发来的固件分片接收成功信息后,向对应的嵌入式设备发送升级指令;
设备移除模块:其配置成在接收到嵌入式设备发来的升级成功信息后,将该嵌入式设备从需要强制OTA固件升级的设备列表中移除。
7.根据权利要求6所述的装置,其特征在于,所述的需要强制OTA固件升级的设备列表包括需要强制OTA固件升级的设备的Mac地址、需要强制升级到的目的固件所属的产品ID、目的固件的版本号、以及固件类型。
8.一种用于OTA升级的嵌入式设备升级装置,包括:
版本更新检测数据包发送模块,其配置成在接收到服务端发来的强制OTA固件升级指令时,由当前状态跳转至强制升级状态,并向服务端发送版本更新检测数据包,然后跳转至版本检测状态;
固件分片接收模块,其配置成在接收到服务端发来的固件信息数据包后,跳转至固件信息获取状态,然后接收服务端发来的的固件分片,并在接收成功后将所述固件分片写入本地存储器,同时向服务端发送固件分片接收成功信息;和
升级模块,其配置成在接收到到服务端发来的升级指令后,判断当前文件块状态是否为结束状态,并在判断结果为是时,跳转至升级状态,并做相应处理后重启完成升级,然后向服务端发送升级成功信息。
9.根据权利要求8所述的装置,其特征在于,所述的接收固件信息数据包中的固件分片包括:
在接收所述固件分片的同时,校验分片CRC校验码,并将所述固件分片按顺序进行重组,当所有固件分片接收完成后,计算最终的固件CRC校验码,若计算结果与服务端发来的固件CRC校验码一致,则表示固件分片接收成功。
10.根据权利要求8或9所述的装置,其特征在于,所述的版本更新检测数据包包含目的产品ID、目的固件版本号、固件类型、以及强制升级标志位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849190.7A CN110633092A (zh) | 2019-09-09 | 2019-09-09 | 用于ota升级的服务端及嵌入式设备升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849190.7A CN110633092A (zh) | 2019-09-09 | 2019-09-09 | 用于ota升级的服务端及嵌入式设备升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110633092A true CN110633092A (zh) | 2019-12-31 |
Family
ID=68972422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849190.7A Pending CN110633092A (zh) | 2019-09-09 | 2019-09-09 | 用于ota升级的服务端及嵌入式设备升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110633092A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614765A (zh) * | 2020-05-22 | 2020-09-01 | 爱瑟福信息科技(上海)有限公司 | 车辆ota升级方法及其*** |
CN111880826A (zh) * | 2020-07-28 | 2020-11-03 | 平安科技(深圳)有限公司 | 云业务应用升级方法、装置、电子设备和存储介质 |
CN112925541A (zh) * | 2021-02-22 | 2021-06-08 | 西安巴比特信息科技有限公司 | 一种物联网燃气表ota云端升级方法 |
CN113219872A (zh) * | 2021-05-10 | 2021-08-06 | 安徽大学 | 一种基于实时感知的冷藏车的监测***的远程升级方法 |
CN114020304A (zh) * | 2022-01-06 | 2022-02-08 | 杭州字节信息技术有限公司 | 一种基于LoRaWan的OTA实现方法、终端设备及计算机存储介质 |
CN114500482A (zh) * | 2022-01-19 | 2022-05-13 | 上海黑眸智能科技有限责任公司 | 基于服务器端手动升级的ota升级***、方法、设备端及服务器端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873726A (zh) * | 2010-07-01 | 2010-10-27 | 华为终端有限公司 | 无线中继器的升级方法及无线接入设备 |
CN106325947A (zh) * | 2016-09-18 | 2017-01-11 | 北京方研矩行科技有限公司 | 一种基于状态机的ota固件升级方法 |
CN107579863A (zh) * | 2017-10-17 | 2018-01-12 | 锐捷网络股份有限公司 | 终端ota升级方法、装置及*** |
CN107707406A (zh) * | 2017-10-23 | 2018-02-16 | 武汉长光科技有限公司 | 一种基于tr069升级设备的方法 |
-
2019
- 2019-09-09 CN CN201910849190.7A patent/CN110633092A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873726A (zh) * | 2010-07-01 | 2010-10-27 | 华为终端有限公司 | 无线中继器的升级方法及无线接入设备 |
CN106325947A (zh) * | 2016-09-18 | 2017-01-11 | 北京方研矩行科技有限公司 | 一种基于状态机的ota固件升级方法 |
CN107579863A (zh) * | 2017-10-17 | 2018-01-12 | 锐捷网络股份有限公司 | 终端ota升级方法、装置及*** |
CN107707406A (zh) * | 2017-10-23 | 2018-02-16 | 武汉长光科技有限公司 | 一种基于tr069升级设备的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614765A (zh) * | 2020-05-22 | 2020-09-01 | 爱瑟福信息科技(上海)有限公司 | 车辆ota升级方法及其*** |
CN111614765B (zh) * | 2020-05-22 | 2022-11-18 | 爱瑟福信息科技(上海)有限公司 | 车辆ota升级方法及其*** |
CN111880826A (zh) * | 2020-07-28 | 2020-11-03 | 平安科技(深圳)有限公司 | 云业务应用升级方法、装置、电子设备和存储介质 |
WO2021139238A1 (zh) * | 2020-07-28 | 2021-07-15 | 平安科技(深圳)有限公司 | 云业务应用升级方法、装置、电子设备和存储介质 |
CN112925541A (zh) * | 2021-02-22 | 2021-06-08 | 西安巴比特信息科技有限公司 | 一种物联网燃气表ota云端升级方法 |
CN113219872A (zh) * | 2021-05-10 | 2021-08-06 | 安徽大学 | 一种基于实时感知的冷藏车的监测***的远程升级方法 |
CN114020304A (zh) * | 2022-01-06 | 2022-02-08 | 杭州字节信息技术有限公司 | 一种基于LoRaWan的OTA实现方法、终端设备及计算机存储介质 |
CN114500482A (zh) * | 2022-01-19 | 2022-05-13 | 上海黑眸智能科技有限责任公司 | 基于服务器端手动升级的ota升级***、方法、设备端及服务器端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633092A (zh) | 用于ota升级的服务端及嵌入式设备升级方法及装置 | |
CN105262627B (zh) | 一种固件升级方法、装置及*** | |
CN107547239B (zh) | 配置对象的更新方法及装置 | |
CN106980565B (zh) | 升级过程监控方法及装置 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及*** | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
CN106250192A (zh) | 上位机的软件升级方法及*** | |
CN110474977B (zh) | 智能门锁的固件升级方法、固件升级***和智能门锁 | |
WO2022142153A1 (zh) | 电表升级方法、***、智能电表及存储介质 | |
CN103036706A (zh) | 应用升级异常的本地处理方法 | |
CN106709323A (zh) | 一种识别伪装下载链接的方法和装置 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式***差分升级方法 | |
CN105468393A (zh) | 模块版本升级方法及终端装置 | |
CN113900682A (zh) | 一种***软件升级方法、装置、设备和计算机存储介质 | |
CN102904685A (zh) | 一种硬件表项校验错误的处理方法及装置 | |
WO2017016282A1 (zh) | 软件升级方法及装置、计算机存储介质 | |
CN109002305B (zh) | 一种设备程序的更新方法及其*** | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及*** | |
CN110889143A (zh) | 文件校验方法及装置 | |
CN116339780A (zh) | 一种固件升级方法、电子设备 | |
CN104348905A (zh) | 一种离线推送消息的方法及装置 | |
CN110737548A (zh) | 数据请求方法和服务器 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN107239303B (zh) | 应用程序更新包生成及应用程序更新的方法、装置 | |
JP6015750B2 (ja) | ログ収集サーバ、ログ収集システム、ログ収集方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191231 |