CN110597545A - 一种基于ota组件的热补丁智能升级方法及系统 - Google Patents

一种基于ota组件的热补丁智能升级方法及系统 Download PDF

Info

Publication number
CN110597545A
CN110597545A CN201910832983.8A CN201910832983A CN110597545A CN 110597545 A CN110597545 A CN 110597545A CN 201910832983 A CN201910832983 A CN 201910832983A CN 110597545 A CN110597545 A CN 110597545A
Authority
CN
China
Prior art keywords
hot patch
upgrading
patch
file
hot
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
CN201910832983.8A
Other languages
English (en)
Other versions
CN110597545B (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.)
Beijing Fangyan Mohang Technology Co Ltd
Original Assignee
Beijing Fangyan Mohang 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 Beijing Fangyan Mohang Technology Co Ltd filed Critical Beijing Fangyan Mohang Technology Co Ltd
Priority to CN201910832983.8A priority Critical patent/CN110597545B/zh
Publication of CN110597545A publication Critical patent/CN110597545A/zh
Application granted granted Critical
Publication of CN110597545B publication Critical patent/CN110597545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于OTA组件的热补丁智能升级方法及系统,该方法包括判断设备端是否收到热补丁验证升级指令;判断设备端是否正在进行OTA升级或热补丁升级;检测该设备端的当前运行版本;进一步判断设备端当前是否正在进行OTA升级或热补丁升级;设备端根据所述热补丁列表信息,判断是否需要下载该热补丁列表信息;服务器端向设备端下发热补丁文件数据;设备端采用所述热补丁文件数据完成升级并将热补丁的执行结果发送至服务器。本发明的方法和系统使得热补丁升级只是对某一个/多个组件进行升级,不需要编译整个固件版本进行升级操作,只需要编译更新的组件即可,减少了固件版本的更新次数。

Description

一种基于OTA组件的热补丁智能升级方法及系统
技术领域
本申请涉及物联网领域,特别是涉及一种基于OTA组件的热补丁智能升级方法及系统。
背景技术
随着万物互联的智慧生活新时代渐行渐近,当前物联网设备市场呈指数级增长态势,传统设备接入互联网成为技术发展和产业应用的大势所趋;
与此同时,物联网设备对系统功能、性能的要求也在不断提高,为了消除物联网设备的缺陷或者完善其功能,在线升级对于批量化的物联网终端设备来说是相当重要的。
一般对物联网设备升级的方式包括两种:系统整体更新,即对整个物联网设备进行整体更新;系统组件更新,即对物联网设备的部分组件进行更新。
目前,针对物联网设备的升级最普遍的升级方式为OTA(Over-the-AirTechnology)固件升级,OTA固件升级是指终端通过无线下载的方式获取固件版本并对终端固件进行升级。OTA固件升级是将下载的文件放在一个固定区域,每次下载前清空该固定区域,下载完成后需要重新启动设备/进程,根据启动版本来判断OTA升级是否成功。
OTA固件升级支持“系统整体更新”方式,但是不支持对单个系统组件更新。如果想要更新某个系统组件,需要编译整个系统以生成一个新的固件并通过OTA完成固件升级;然而对于“系统组件更新”的升级而言,需要满足将相关的补丁程序升级的需求,但是现有技术中的单独使用OTA固件升级方式是无法满足该需求的。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种基于OTA组件的热补丁智能升级方法,该方法包括:
步骤100:判断设备端是否收到服务器端的热补丁验证升级指令,若收到该指令,执行步骤200,否则执行步骤300;
步骤200:判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间,并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并执行步骤400;
步骤300:检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
步骤400:判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
步骤500:响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
步骤600:根据所述热补丁列表信息所述设备端判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
步骤700:响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
步骤800:采用所述热补丁文件数据所述设备端完成升级并将热补丁的执行结果发送至服务器端。
可选的,所述热补丁列表的命令包括热补丁升级类型、热补丁数据包的分片大小、热补丁名称、热补丁版本、热补丁文件大小和热补丁文件CRC校验码的一种或多种命令。
可选的,所述设备端向服务器端请求下载命令的内容包括热补丁文件的名称和补丁文件的版本号。
可选的,所述服务器端向设备端下发热补丁文件数据包括以下子步骤:
响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功。
可选的,其中步骤720还包括以下子步骤:
计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
设备端读取数据包中文件结束标志位,计算热补丁文件切片的最后一个补丁分片文件的CRC校验码,将计算结果与所述热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功。
可选的,若热补丁处于正在下载状态且超过预设的时间阈值时,该设备端未收到来自服务器的热补丁下载数据包,则判断热补丁下载超时,修改热补丁状态为空闲状态。
可选的,所述执行结果包括热补丁名称、热补丁版本以及热补丁升级状态。
根据本申请的另一个方面,提供了一种OTA组件的热补丁智能升级系统,一种基于OTA组件的热补丁智能升级系统,所述系统包括:
第一判断模块,用于判断设备端是否收到服务器端的热补丁验证升级指令,若设备端收到该指令,则调用第二判断模块,否则调用检测模块;
第二判断模块,用于判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并调用第三判断模块;
检测模块,用于检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
第三判断模块,用于判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
第一发送模块用于响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
设备端根据所述热补丁列表信息,第四判断模块用于判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
第二发送模块用于响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
设备端采用所述热补丁文件数据完成升级并将热补丁的执行结果发送至服务器端。
可选的,所述第二发送模块包括切片单元和校验单元;
所述切片单元响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
所述校验单元用于计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功;
可选的,所述校验单元具体配置为:
计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
设备端读取数据包中文件结束标志位,计算热补丁文件切片的最后一个补丁分片文件的CRC校验码,将计算结果与所述热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功。
本申请提供的一种基于OTA组件的热补丁智能升级方法及系统,在本申请提供的方法中,该方法包括判断设备端是否收到热补丁验证升级指令;判断设备端是否正在进行OTA升级或热补丁升级;检测该设备端的当前运行版本;进一步判断设备端当前是否正在进行OTA升级或热补丁升级;设备端根据所述热补丁列表信息,判断是否需要下载该热补丁列表信息;服务器端向设备端下发热补丁文件数据;设备端采用所述热补丁文件数据完成升级并将热补丁的执行结果发送至服务器。本发明的方法和系统使得热补丁升级只是对某一个/多个组件进行升级,不需要编译整个固件版本进行升级操作,只需要编译更新的组件即可,减少了固件版本的更新次数;
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请实施例的基于OTA组件的热补丁智能升级方法的流程示意图;
图2是根据本申请实施例的热补丁下载的流程示意图;
图3是根据本申请实施例的基于OTA组件的热补丁智能升级系统的结构示意图;
图4是根据本申请实施例的计算设备示意图;
图5是根据本申请实施例的计算机可读存储介质示意图。
具体实施方式
图1是根据本申请实施例的基于OTA组件的热补丁智能升级方法的流程示意图,参见图1所知,本申请实施例提供的基于OTA组件的热补丁智能升级方法可以包括:
步骤100:判断设备端是否收到服务器端的热补丁验证升级指令,若收到所述热补丁验证升级指令,执行步骤200,否则执行步骤300;
设置设备端端为初始状态、热补丁升级类型为定时升级;其中,热补丁状态为空闲状态;所述热补丁验证升级指令是由服务器端发送的;
步骤200:判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间,并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并执行步骤400;
步骤300:启动设备端,检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
优选的,该设备端每次检测热补丁的间隔时间可以为6小时,可以理解的是,在其他实施例中,该间隔时间也可以为其他时长,在此不做限制;
步骤400:判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
优选的,所述热补丁列表的命令包括热补丁升级类型(包括热补丁验证升级或普通升级等)、热补丁数据包的分片大小、热补丁名称、热补丁版本、热补丁文件大小和热补丁文件CRC校验码;
步骤500:响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
其中,所述热补丁列表信息包括某系统所有已发布热补丁版本的热补丁信息,该信息包括热补丁名称、热补丁版本、热补丁文件大小和热补丁文件CRC校验码;
步骤600:根据所述热补丁列表信息所述设备端判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
优选的,设备端向服务器端请求下载命令的内容包括热补丁文件的名称和补丁文件的版本号;
步骤700:响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
优选的,所述服务器端向设备端下发热补丁文件数据包括以下子步骤710和720:
步骤710:响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
步骤720:计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功;
其中所述步骤720还包括子步骤721-723:
步骤721:计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
具体的,设备端接收服务器端发送的第一个补丁分片文件,跳转至热补丁正在下载状态,计算第一个补丁分片文件的CRC校验码(Cyclic Redundancy Check,循环冗余校验码),若CRC校验码计算成功,则返回成功,执行步骤722;否则,返回失败,设备端接收服务器端重新发送的第一个补丁分片文件;
步骤722:计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
具体的,设备端依次接收中间分片文件,计算当前中间分片文件的CRC校验码(循环冗余校验码),若该CRC校验码计算成功,则返回成功,设备端接收服务端发送的下一个中间分片文件;反之,则返回失败,设备端接收服务器端重新发送的当前中间补丁分片;
步骤723:计算热补丁文件切片的最后一个分片文件的CRC校验码是否校验通过,若是,设备端跳转至热补丁空闲状态;
具体的,设备端接收服务器端发送的补丁文件最后一个分片文件,数据包中文件结束标志位被置为1,设备端读取该文件结束标志位,计算最后一个补丁分片文件的CRC校验码(循环冗余校验码),将计算结果与步骤500中收到的热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功,写入本地存储器中;否则,返回失败。
需要说明的是,若热补丁处于正在下载状态且超过预设的时间阈值(例如2分钟)时,该设备端未收到来自服务器的热补丁下载数据包,则判断热补丁下载超时,修改热补丁状态为空闲状态。
步骤800:采用所述热补丁文件数据所述设备端完成升级并将热补丁的执行结果发送至服务器端。
具体的,设备端在本地执行该热补丁文件数据;其中,所述执行结果包括热补丁名称、热补丁版本以及热补丁升级状态(包括“成功”或“失败”),在服务器端收到执行成功的结果后判断热补丁升级成功。
上述所述的热补丁(hotfix),又称为patch,指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。
图2是根据本申请实施例的热补丁下载的流程示意图;参见图2,本实施例中的设备端是嵌入式设备,该嵌入式设备通过被动或主动方式拉取热补丁列表,并依次遍历该列表,判断列表中的未升级的热补丁信息个数是否大于0,若是,则进一步判断是否需要下载热补丁;否则,下载任务结束;当确定需要下载热补丁时,嵌入式设备向云端请求下载热补丁,然后云端向嵌入式设备下发热补丁文件数据,以此嵌入式设备完成热补丁升级并发送执行结果到云端,并返回重新判断列表中的未升级的热补丁信息个数是否大于0;
当确定不需要下载热补丁时,则返回重新判断列表中的未升级的热补丁信息个数是否大于0。
本发明针对现有技术存在的问题做出改进,即本发明在不中断当前业务的情况下,使用热补丁升级的方式完成云端批量推送固件补丁/脚本/执行文件/文件/图片到设备打补丁的功能,本发明具有如下技术效果:
1.热补丁升级状态机简单,流程更加简洁,不会使设备端当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复升级;
2.热补丁升级只是对某一个/多个组件进行升级,不需要编译整个固件版本进行升级操作,只需要编译更新的组件即可,减少了固件版本的更新次数;
3.热补丁升级支持多个补丁下载的功能,服务器将补丁列表推送到设备端后,设备端可自行选择需要下载的补丁。
4.热补丁升级支持多个补丁名称相同,但每个补丁的版本号具有唯一性;用以区分不同的补丁文件。
5.热补丁升级可以与当前的OTA升级方式并存;
6.服务器端每次只能推送OTA的最新版本给设备端,但是可同时推送多个版本的补丁给设备端。
基于同一发明构思,如图3所示,本申请实施例还提供了基于OTA组件的热补丁智能升级系统,该系统包括:
第一判断模块,用于判断设备端是否收到服务器端的热补丁验证升级指令,若设备端收到该指令,则调用第二判断模块,否则调用检测模块;
第二判断模块,用于判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并调用第三判断模块;
检测模块,用于检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
第三判断模块,用于判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
第一发送模块用于响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
设备端根据所述热补丁列表信息,第四判断模块用于判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
第二发送模块用于响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
设备端采用所述热补丁文件数据完成升级并将热补丁的执行结果发送至服务器端。
可选的,所述第二发送模块包括切片单元和校验单元;
所述切片单元响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
所述校验单元用于计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功;
所述校验单元具体配置为:
计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
设备端读取数据包中文件结束标志位,计算热补丁文件切片的最后一个补丁分片文件的CRC校验码,将计算结果与所述热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功。
可选的,所述设备端是嵌入式设备。
本实施例提供的上述系统,可以执行上述任一基于OTA组件的热补丁智能升级方法中的实施例所提供的方法,详细过程详见方法实施例中的描述,此处不赘述。
本申请实施例还提供了一种计算设备,参照图4,该计算设备包括存储器620、处理器610和存储在所述存储器620内并能由所述处理器610运行的计算机程序,该计算机程序存储于存储器620中的用于程序代码的空间630,该计算机程序在由处理器610执行时实现用于执行任一项根据本发明的方法步骤631。
本申请实施例还提供了一种计算机可读存储介质。参照图5,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序631′,该程序被处理器执行。
本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于OTA组件的热补丁智能升级方法,所述方法包括:
步骤100:判断设备端是否收到服务器端的热补丁验证升级指令,若收到该指令,执行步骤200,否则执行步骤300;
步骤200:判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间,并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并执行步骤400;
步骤300:检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
步骤400:判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
步骤500:响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
步骤600:根据所述热补丁列表信息所述设备端判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
步骤700:响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
步骤800:采用所述热补丁文件数据所述设备端完成升级并将热补丁的执行结果发送至服务器端。
2.根据权利要求1所述的方法,其特征在于,所述热补丁列表的命令包括热补丁升级类型、热补丁数据包的分片大小、热补丁名称、热补丁版本、热补丁文件大小和热补丁文件CRC校验码的一种或多种命令。
3.根据权利要求1所述的方法,其特征在于,所述设备端向服务器端请求下载命令的内容包括热补丁文件的名称和补丁文件的版本号。
4.根据权利要求1所述的方法,其特征在于,所述服务器端向设备端下发热补丁文件数据包括以下子步骤:
响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功。
5.根据权利要求4所述的方法,其特征在于,其中步骤720还包括以下子步骤:
计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
设备端读取数据包中文件结束标志位,计算热补丁文件切片的最后一个补丁分片文件的CRC校验码,将计算结果与所述热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功。
6.根据权利要求5所述的方法,其特征在于,若热补丁处于正在下载状态且超过预设的时间阈值时,该设备端未收到来自服务器的热补丁下载数据包,则判断热补丁下载超时,修改热补丁状态为空闲状态。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述执行结果包括热补丁名称、热补丁版本以及热补丁升级状态。
8.一种基于OTA组件的热补丁智能升级系统,所述系统包括:
第一判断模块,用于判断设备端是否收到服务器端的热补丁验证升级指令,若设备端收到该指令,则调用第二判断模块,否则调用检测模块;
第二判断模块,用于判断设备端是否正在进行OTA升级或热补丁升级,若是,设置设备端的下次检测热补丁升级的时间并向服务器端返回升级指令失败信息;否则,设置当前热补丁升级类型为热补丁验证升级,并向服务器端返回升级指令成功信息并调用第三判断模块;
检测模块,用于检测该设备端的当前运行版本,若该版本低于OTA最新版本,则等待OTA升级完成并结束热补丁升级;否则,设置设备端的当前时间为初次检测热补丁升级的时间;
第三判断模块,用于判断设备端当前是否正在进行OTA升级或热补丁升级;若是,设置设备端的下次检测热补丁升级的时间,修改热补丁升级类型为定时升级,结束本次热补丁操作;否则,设备端向服务器端发送请求热补丁列表的命令,设置下次检测热补丁升级的时间,修改热补丁升级类型为定时升级;
第一发送模块用于响应于所述热补丁列表的命令,服务器端向设备端发送热补丁列表信息;
设备端根据所述热补丁列表信息,第四判断模块用于判断是否需要下载该热补丁列表信息,若是,设备端向服务器端发送请求下载命令;
第二发送模块用于响应于所述下载命令,服务器端向设备端下发热补丁文件数据;
设备端采用所述热补丁文件数据完成升级并将热补丁的执行结果发送至服务器端。
9.根据权利要求8所述的系统,其特征在于,所述第二发送模块包括切片单元和校验单元;
所述切片单元响应于所述下载命令,服务器端将热补丁文件切片形成补丁分片文件;
所述校验单元用于计算所述补丁分片文件的CRC校验码是否通过,若全部通过,设备端跳转至热补丁空闲状态,并返回成功。
10.根据权利要求8所述的系统,其特征在于,所述校验单元具体配置为:
计算热补丁文件切片的第一个分片文件的CRC校验码是否校验通过;
计算热补丁文件切片的中间分片文件的CRC校验码是否校验通过;
设备端读取数据包中文件结束标志位,计算热补丁文件切片的最后一个补丁分片文件的CRC校验码,将计算结果与所述热补丁文件CRC校验码比较,若二者相同,跳转至热补丁空闲状态,并返回成功。
CN201910832983.8A 2019-09-04 2019-09-04 一种基于ota组件的热补丁智能升级方法及系统 Active CN110597545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910832983.8A CN110597545B (zh) 2019-09-04 2019-09-04 一种基于ota组件的热补丁智能升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910832983.8A CN110597545B (zh) 2019-09-04 2019-09-04 一种基于ota组件的热补丁智能升级方法及系统

Publications (2)

Publication Number Publication Date
CN110597545A true CN110597545A (zh) 2019-12-20
CN110597545B CN110597545B (zh) 2023-05-30

Family

ID=68857526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910832983.8A Active CN110597545B (zh) 2019-09-04 2019-09-04 一种基于ota组件的热补丁智能升级方法及系统

Country Status (1)

Country Link
CN (1) CN110597545B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142923A (zh) * 2019-12-26 2020-05-12 无锡中感微电子股份有限公司 一种补丁管理方法和系统
CN113312079A (zh) * 2020-11-20 2021-08-27 锐捷网络股份有限公司 一种热补丁升级方法、装置、电子设备及存储介质
CN113342376A (zh) * 2021-06-23 2021-09-03 支付宝(杭州)信息技术有限公司 一种针对物联网设备的操作系统进行升级的方法及装置
CN114020299A (zh) * 2021-11-16 2022-02-08 四川长虹电器股份有限公司 一种安卓设备系统文件的更新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012163093A1 (zh) * 2011-06-01 2012-12-06 南京中兴新软件有限责任公司 软件升级系统及方法
CN106325947A (zh) * 2016-09-18 2017-01-11 北京方研矩行科技有限公司 一种基于状态机的ota固件升级方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012163093A1 (zh) * 2011-06-01 2012-12-06 南京中兴新软件有限责任公司 软件升级系统及方法
CN106325947A (zh) * 2016-09-18 2017-01-11 北京方研矩行科技有限公司 一种基于状态机的ota固件升级方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIANG SHEN: "Optimization on ZigBee OTA Technique", 《 2016 IEEE ADVANCED INFORMATION MANAGEMENT, COMMUNICATES, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (IMCEC)》 *
王兰 等: "车载通信终端OTA升级方案", 《汽车实用技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142923A (zh) * 2019-12-26 2020-05-12 无锡中感微电子股份有限公司 一种补丁管理方法和系统
CN111142923B (zh) * 2019-12-26 2023-12-05 无锡中感微电子股份有限公司 一种补丁管理方法及系统
CN113312079A (zh) * 2020-11-20 2021-08-27 锐捷网络股份有限公司 一种热补丁升级方法、装置、电子设备及存储介质
CN113342376A (zh) * 2021-06-23 2021-09-03 支付宝(杭州)信息技术有限公司 一种针对物联网设备的操作系统进行升级的方法及装置
CN114020299A (zh) * 2021-11-16 2022-02-08 四川长虹电器股份有限公司 一种安卓设备系统文件的更新方法

Also Published As

Publication number Publication date
CN110597545B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN110597545A (zh) 一种基于ota组件的热补丁智能升级方法及系统
CN106325929B (zh) 一种固件升级方法、固件升级装置、冰箱和服务端
CN106708543B (zh) 一种操作系统的ota升级方法及装置
CN106951284B (zh) 基于安卓系统应用的用户界面升级方法、装置及智能终端
WO2018024198A1 (zh) 机顶盒的应用程序升级方法、系统及机顶盒
KR101201276B1 (ko) 액션 리스트 및 버저닝을 이용한 무선 디바이스상에서액션을 수행하기 위한 방법, 소프트웨어 및 장치
CN106775873B (zh) 更新手机软件、获取补丁文件的方法及设备
CN114840242A (zh) 一种电子设备的系统升级方法、装置及可读存储介质
CN109002305B (zh) 一种设备程序的更新方法及其系统
CN113282316A (zh) 一种物联网设备远程升级方法及装置
CN110580167A (zh) 一种系统升级方法、智能设备及服务器
CN112015447A (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN105677409A (zh) 一种系统升级方法及装置
CN111158729A (zh) 系统升级方法、装置、设备及存储介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
CN117056115B (zh) 应用程序的修复方法和装置、存储介质及电子设备
CN113225397A (zh) 嵌入式设备的固件升级方法、装置、终端及存储介质
CN112256283A (zh) 用于Android设备的应用版本管控方法及装置
CN113064611B (zh) 针对无线设备实现数据分析软件升级的方法及其更新方法
CN111949290B (zh) 一种热补丁管理方法、装置、电子设备及存储介质
CN112040320B (zh) 一种电视果应用的升级方法及装置
CN110659052B (zh) 网络设备中系统软件的更新方法、系统及可读存储介质
CN113849215A (zh) 一种无线固件升级方法及装置
CN112118280A (zh) 一种wi-fi设备ota升级失败后的恢复方法
CN112783522B (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
GR01 Patent grant
GR01 Patent grant