CN111552502A - 智能设备的nb模组升级方法及装置 - Google Patents
智能设备的nb模组升级方法及装置 Download PDFInfo
- Publication number
- CN111552502A CN111552502A CN202010318679.4A CN202010318679A CN111552502A CN 111552502 A CN111552502 A CN 111552502A CN 202010318679 A CN202010318679 A CN 202010318679A CN 111552502 A CN111552502 A CN 111552502A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- system firmware
- latest
- ota
- 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
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
- G06F8/658—Incremental updates; Differential 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)
- Stored Programmes (AREA)
Abstract
本发明提供了一种智能设备的NB模组升级方法及装置,该方法包括:智能设备向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;所述智能设备将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;所述智能设备接收所述升级数据包,并基于所述升级数据包对所述智能设备中的NB模组进行升级。通过本发明,可以解决通过OTA远程升级NB模组消耗流量过多的问题,达到提升升级效率的效果。
Description
技术领域
本发明涉及智能设备升级领域,具体而言,涉及一种智能设备的NB模组升级方法及装置。
背景技术
随着万物互联时代的到来,窄带物联网(Narrow Band Internet of Things,NB-IOT)技术已成为最热门的广域连接方案之一,基于该技术的智能设备发展迅速,而这些智能设备都是通过NB(NB-IOT)模组与云端服务器进行连接的。为了满足市场不断创新的需求,通讯模组也需及时对***进行优化和升级,这就需要用到空中下载(Over the Air,OTA)技术。
由于多数该类智能设备都是资源受限型设备,尤其NB资费都有流量限额,通讯时流量要严格计算和把控,如果设备在使用周期内超出流量,就会发生无法通讯的严重后果。
发明内容
本发明实施例提供了一种智能设备的NB模组升级方法及装置,以至少解决相关技术中通过OTA远程升级NB模组消耗过多流量或必须做压栈处理的问题。
根据本发明的一个实施例,提供了一种智能设备的NB模组升级方法,包括:智能设备向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;所述智能设备将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;所述智能设备接收所述升级数据包,并基于所述升级数据包对所述智能设备中的NB模组进行升级。
可选地,智能设备向云平台请求OTA升级包头之前,还包括:所述智能设备接收所述云平台推送的升级消息。
可选地,所述OTA升级包头中还包括以下至少之一的信息:应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息。
可选地,所述智能设备向所述云平台请求与所述升级需求对应的升级数据包,可以包括:当所述升级需求为升级应用程序时,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包;当所述升级需求为升级***固件时,所述智能设备向所述云平台请求所述最新***固件与所述智能设备的当前***固件的差分包;当所述升级需求为升级应用程序和升级***固件时,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包,以及所述最新***固件与所述智能设备的当前版本***固件的差分包;当所述升级需求为无需升级时,所述智能设备向所述云平台发送结束OTA升级。
根据本发明的另一个实施例,提供了一种智能设备的NB模组升级方法,包括:云平台接收智能设备的升级请求,将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;所述云平台接收所述智能设备通过将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较后确定的升级需求,将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
可选地,在所述云平台接收智能设备的升级请求之前,所述方法还包括:建立针对所述智能终端的多个升级版本的OTA升级包,其中,所述OTA升级包包括所述OTA升级包头,以及以下至少之一:最新版本应用程序、最新版本***固件与线上已发的多个版本***固件的差分包集合;所述OTA升级包头还包括以下至少之一的信息:应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息;将所述OTA升级包发布至所述云平台。
可选地,还可包括:通过版本对应表对所述智能终端的升级版本进行管理,其中,所述版本对应表包括:主版本号、应用程序版本号及***固件版本号,其中,所述主版本号由多个字段组成,通过所述多个字段数值的变化标识升级版本的应用功能迭代程度,或***功能的扩展或优化程度。
可选地,所述云平台将与所述升级需求对应的升级数据包发送至所述智能设备,可以包括以下之一:当所述升级需求为升级应用程序时,所述云平台将所述最新版本应用程序发送至所述智能终端;当所述升级需求为升级***固件时,所述云平台将所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端;当所述升级需求为升级应用程序和升级***固件时,所述云平台将所述最新版本应用程序,以及所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端。
根据本发明的另一个实施例,提供了一种智能设备的NB模组升级装置,位于所述智能设备中,该装置包括:请求模块,用于向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;确定模块,用于将所述智能终端的当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;升级模块,用于接收所述升级数据包并对所述智能设备中的NB模组进行升级。
根据本发明的另一个实施例,提供了一种升级云平台,包括:第一收发模块,用于接收智能设备的升级请求,并将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;第二收发模块,用于接收所述智能设备通过将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较后确定的升级需求,并将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明的上述实施例,由于在云平台发布的OTA升级包中包含了最新应用程序和最新***固件的版本信息,以及对应的差分包,因此,智能设备侧可通过与OTA升级包中的版本信息进行比较,选择对应的差分包进行升级,从而可以解决通过OTA远程升级NB模组消耗流量过多的问题,达到提升升级效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的智能设备的NB模组升级方法的流程图;
图2是根据本发明可选实施例的智能设备的NB模组升级方法的流程图;
图3是根据本发明实施例的智能设备的结构示意图;
图4是根据本发明实施例的升级云平台的结构示意图;
图5是根据本发明可选实施例的只需升级应用程序的升级流程图;
图6是根据本发明可选实施例的只需升级***固件的升级流程图;
图7是根据本发明可选实施例的需要升级应用程序和***固件的升级流程图;
图8是根据本发明可选实施例的无需升级的交互流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好的理解本发明实施例以及可选实施例的技术方案,以下对本发明实施例以及可选实施例中可能出现的应用场景进行说明,但不用于限定以下场景的应用。
实施例1
在本实施例中提供了一种智能设备的NB模组升级方法,图1是根据本发明实施例的智能设备的OTA升级方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,智能设备向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;
步骤S104,所述智能设备将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号和最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;
步骤S106,所述智能设备接收所述升级数据包,并基于所述升级数据包对智能设备的NB模组进行升级。
通过上述步骤,由于将智能设备的升级需求分为升级***固件与升级应用程序,解决了通过OTA远程升级NB模组消耗流量过多的问题,提高了升级效率。
在本实施例的步骤S102之前,还可以包括:所述智能设备接收所述云平台推送的升级消息。
在本实施例中,步骤S104可以包括:所述智能设备将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定所述升级需求,所述OTA升级包头中还可以包括以下至少之一:应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息。
在本实施例中,步骤S104中智能终端的升级需求可以通过如下方式确定:所述智能设备将自身当前的应用程序版本号与OTA升级包头中最新应用程序版本号进行比较,当智能设备当前的应用程序版本号低于OTA升级包头中最新应用程序版本号时,所述智能设备确定需要对当前的应用程序进行升级,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包;
当智能设备当前的***固件的版本号低于OTA升级包头中最新***固件版本号时,所述智能设备确定需要对当前的***固件进行升级,所述智能设备向所述云平台请求所述最新***固件与所述智能设备的当前***固件的差分包;
当智能设备当前的应用程序版本号和***固件的版本号分别低于OTA升级包头中最新应用程序版本号和最新***固件版本号时,所述智能设备确定需要对当前的应用程序和***固件都进行升级,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包,以及所述最新***固件与所述智能设备的当前版本***固件的差分包;当所述升级需求为无需升级时,所述智能设备向所述云平台发送结束OTA升级。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中提供了一种智能设备的OTA升级方法,图2是根据本发明可选实施例的智能设备的空中下载OTA升级方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,云平台接收智能设备的升级请求,并将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括以下至少之一信息:最新应用程序版本号、最新***固件版本号,应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息;
步骤S204,所述云平台接收来自所述智能设备的升级需求,并将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
通过上述步骤,由于将云平台接收到的升级需求分为升级***固件与升级应用程序,解决了通过OTA远程升级云平台发送升级包消耗流量过多的问题,提高了升级效率。
在本实施例的步骤S202之前,还可以包括:建立针对所述智能终端的多个升级版本的OTA升级包,其中,所述OTA升级包包括所述OTA升级包头,以及以下至少之一:最新版本应用程序、最新版本***固件与线上已发的多个版本***固件的差分包集合;将所述OTA升级包发布至所述云平台。
在本实施例中,还可以包括:通过版本对应表对所述智能终端的升级版本进行管理,其中,所述版本对应表包括:主版本号、应用程序版本号及***固件版本号,其中,所述主版本号由多个字段组成,通过所述多个字段数值的变化标识升级版本的应用功能迭代程度,或***功能的扩展或优化程度。
在本实施例中,步骤S204可以包括以下之一:当所述升级需求为升级应用程序时,所述云平台将所述最新版本应用程序发送至所述智能终端;当所述升级需求为升级***固件时,所述云平台将所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端;当所述升级需求为升级应用程序和升级***固件时,所述云平台将所述最新版本应用程序,以及所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种智能设备,该智能设备用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的智能设备的结构示意图,如图3所示,该装置包括请求模块31、确定模块32及升级模块33。
请求模块31,用于向云平台请求OTA升级包头,其中,所述OTA升级包头包括以下至少之一信息:最新应用程序版本号、最新***固件版本号,应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息;
确定模块32,用于将所述智能终端的当前版本信息与所述OTA升级包头中的信息进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;
升级模块33,用于接收所述升级数据包并进行升级。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
在本实施例中还提供了一种升级云平台,该升级云平台用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的智能设备的结构示意图,如图4所示,该装置包括第一收发模块41及第二收发模块42。
第一收发模块41,用于接收智能设备的升级请求,并将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括以下至少之一信息:最新应用程序版本号、最新***固件版本号,应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息;
第二收发模块42,用于接收来自所述智能设备的升级需求,并将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例5
为了便于对本发明所提供的技术方案的理解,下面将结合具体场景的实施例进行详细阐述。
目前物联网行业中针对NB模组大多采用两种升级方案。
第一,通过近场方式升级,即现场对已安装部署的模组重新烧录程序完成升级。使用该升级方式当市场出现新的升级需求时,需要耗费大量的人力物力进行升级,增加***运维成本,也不利于迅速响应新需求新变化。
第二,通过OTA远程升级,即模组将优化后的完整程序进行远程下载完成升级。使用该升级方式明显优于第一种升级方式,但当模组固件比较大时(几百K甚至几M),即便功能优化或扩展点较少,每一次的升级都会下载完整固件,消耗过多流量。如果想提高单次功能升级的效率,又势必会将市场反馈的新需求做一段时间的压栈处理,这就又会影响到模组对新需求的响应速度。
针对市场上NB模组以上两种主要升级方式所存在的缺陷,本发明实施例提供了一种OTA省流方案,顾名思义,即确保模组在快速响应市场升级需求同时做到节约宝贵流量、延长设备使用周期的目的。
本发明实施例针对低功耗广域网的NB-IOT模组,开发设计一套用于应用程序及***固件的远程省流升级方法。
本发明实施例提供了一种程序架构分层设计方案。表1是程序架构分层设计表,分层的好处除了方便程序模块化设计,也为资源受限型物联模块的远程升级带来灵活性。OTA远程升级总是基于功能的需求变化,其中大多数情况是应用的功能更新,除非有重大功能扩展才可能更新***固件。如果程序结构未分层而是混在一起,那每次功能迭代总要消耗部分流量来更新功能未变化(无需升级)的底层功能组件。所以将程序分层设计,可以根据功能迭代的复杂度灵活选择***固件是否升级,减少不必要的流量损失。
表1
本发明实施例还提供了一种***固件差分包设计方案。具体而言,***固件较大,如果要下载完整***固件,既费时间又费流量,所以本实施例采用差分包形式来升级***固件。差分包升级的原理很简单,即首先将***固件的旧版本与新版本做差分,得到更新部分的补丁,例如旧版本的***固件有1M,新版的有1.1M,更新的部分则可能只有100k左右,这里需要说明的是,得到的差分包大小并不是简单的相减,因为需要包含一些上下文相关的东西。使用差分升级的好处显而易见,即不需要下载完整的***固件,只需下载差分包即可,而这样的差分包一般较小,采用这样的设计很大程度上也减少了流量损失。
另外,本发明实施例还提供了一种全线模块OTA打包设计方案。
具体而言,由于模块分批次进入市场,势必造成市面流通模块的软件差异性,即入网在线的模块在应用程序和***固件版本上存在不同。为了兼顾所有线上同平台不同软件版本NB模块,本实施例采用如表2的OTA打包方案。
表2
ota_header | app.bin | diff_N-P1.pack | diff_N-P2.pack | diff_N-Px.pack |
表中,ota_header为ota包头,包含有最新应用程序版本号、最新***固件版本号,应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息等;
app.bin为最新版应用程序;
diff_N-Px.pack为最新***固件与线上已发版(旧版)***固件的差分包集合,其中,N表示最新***固件版本号,Px表示已发版(旧版)***固件版本号。
这样的OTA升级包既包含最新版应用固件同时也包含全线***固件对应的差分包。模块根据升级头部信息中最新固件版本与自身版本的比较判断出要进行哪类固件升级。例如部分模块只需升级应用程序那么只下载app.bin即可,部分模块只需升级***固件那么只下载对应diff_N-Px.pack即可,还有部分模块应用程序和***固件均需升级那么就要下载对应两部分数据。这样的打包设计既全面又灵活,可以保证对全线模块不同的升级需求。
打包后的OTA包发布在云平台,平台决定升级推送时机。
同时,本发明实施例还提供了一种版本管理设计方案。表3是主版本、应用固件版本、底包固件版本之间的对应表,由表3进行OTA软件版本管理。主版本参与云端通信时的软件识别,应用固件版本和底包固件版本主要参与OTA升级选择。例如:当次OTA发版应用功能迭代较小,主版本最后两位变高;当次OTA发版应用功能迭代较大,主版本中间位变高;当次OTA发版***功能有扩展或优化,主版本中间位变高。
表3
主版本 | 应用固件版本 | ***固件版本 |
2.0.00 | 1.2.00 | 1.0.00 |
2.0.01 | 1.2.01 | 1.0.00 |
2.1.00 | 1.3.00 | 1.0.00 |
2.2.00 | 1.3.00 | 1.0.10 |
再者,本发明实施例还提供了一种选择性升级流程设计方案。
具体而言,线上模块在收到OTA升级启动命令后,会首先请求ota_header信息,收到服务器应答后,模块会与升级头部信息中的最新固件版本进行比较,如果自身版本较低,就会开始相应升级。不同批次模块有不同的应用程序版本和***固件版本,这里存在4种不同的升级需求:即只需升级应用程序,只需升级***固件,需要升级应用程序+***固件,无需升级。四种情况的升级过程图5-8所示。
图5是根据本发明可选实施例的只需升级应用程序的升级流程图,如图5所示,云平台向NB模块推送OTA升级开始消息(ota_start),NB模块向云平台发送OTA包头请求(ota_header req),云平台向NB模块发送OTA包头确认消息(ota_header ack),NB模块向云平台请求升级应用程序的数据包(app data req),并对接收到的升级应用程序的数据包进行确认(app data ack)。当NB模组接收完所有的应用程序数据包后,NB模块对接收到的升级应用程序进行校验,完成应用程序校验后,NB模块向云平台发送OAT升级停止消息(otastop),NB模块基于接收到的最新版的应用程序的升级数据对自身的应用程序进行升级。
图6是根据本发明可选实施例的只需升级***固件的升级流程图,如图6所示,云平台向NB模块推送OTA升级开始消息(ota_start),NB模块向云平台发送OTA包头请求(ota_header req),云平台向NB模块发送OTA包头确认(ota_header ack),NB模块向云平台请求升级***固件的差分包(diff data req),NB模块对接收到的升级***固件的差分包进行校验,在完成差分包校验后,NB模块向云平台发送OAT升级停止消息(ota stop),NB模块基于接收到的最新版的***固件的差分包对自身的***固件进行升级。
图7是根据本发明可选实施例的需要升级应用程序和***固件的升级流程图,如图7所示,云平台向NB模块推送OTA升级开始消息(ota_start),NB模块向云平台发送OTA包头请求(ota_header req),云平台向NB模块发送OTA包头确认(ota_header ack),NB模块向云平台请求升级应用程序的数据包(app data req),NB模块对接收到的升级应用程序的数据包进行校验。NB模块向云平台请求升级***固件的差分包(diff data req),NB模块对接收到的升级***固件的差分包进行校验,校验完成后向云平台发送OAT升级停止消息(otastop)。NB模块可基于接收到的最新版的应用程序的升级数据,以及最新版的***固件的差分包对自身的应用程序和***固件进行升级。
图8是根据本发明可选实施例的无需升级的交互流程图,如图8所示,云平台向NB模块推送OTA升级开始消息(ota_start),NB模块向云平台发送OTA包头请求(ota_headerreq),云平台向NB模块发送OTA包头确认(ota_header ack)。当NB模块根据OTA包头中包含的版本信息确认自身的应用程序和***固件无需升级时,向云平台云平台发送OAT升级停止消息(ota stop)。
这样的设计使不同版本批次的模块均可选择到最优升级流程,灵活选择应用固件或***固件进行升级,从而最大程度减少流量的消耗。
综上所述,本发明实施例能够带来如下好处:
第一,覆盖性强:通过OTA全线打包方案,可以覆盖线上不同批次不同软件版本所有NB模组的升级需求。
第二,升级效率高:云平台推送升级时,线上模块可灵活选择对应固件下载,减少数据下载量,减少升级占用时间,提高NB模组升级效率。
第三,经济性强:最大限度减少OTA升级带来的流量消耗,延长设备使用周期。
第四,市场响应速度快:因模组升级采用了省流OTA方案,故市场出现新的功能需求时可以减少对升级流量消耗过多的顾虑,及时响应市场需求变化。
实施例6
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例7
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种智能设备的NB模组升级方法,其特征在于,包括:
智能设备向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;
所述智能设备将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;
所述智能设备接收所述升级数据包,并基于所述升级数据包对所述智能设备中的NB模组进行升级。
2.根据权利要求1所述的方法,其特征在于,智能设备向云平台请求OTA升级包头之前,还包括:
所述智能设备接收所述云平台推送的升级消息。
3.根据权利要求1所述的方法,其特征在于,所述OTA升级包头中还包括以下至少之一的信息:应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息。
4.根据权利要求3所述的方法,其特征在于,所述智能设备向所述云平台请求与所述升级需求对应的升级数据包,包括:
当所述升级需求为升级应用程序时,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包;
当所述升级需求为升级***固件时,所述智能设备向所述云平台请求所述最新***固件与所述智能设备的当前***固件的差分包;
当所述升级需求为升级应用程序和升级***固件时,所述智能设备向所述云平台请求所述最新版应用程序的升级数据包,以及所述最新***固件与所述智能设备的当前版本***固件的差分包;
当所述升级需求为无需升级时,所述智能设备向所述云平台发送结束OTA升级。
5.一种智能设备的NB模组升级方法,其特征在于,包括:
云平台接收智能设备的升级请求,将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;
所述云平台接收所述智能设备通过将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较后确定的升级需求,将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
6.根据权利要求5所述的方法,其特征在于,在所述云平台接收智能设备的升级请求之前,所述方法还包括:
建立针对所述智能终端的多个升级版本的OTA升级包,其中,所述OTA升级包包括所述OTA升级包头,以及以下至少之一:最新版本应用程序、最新版本***固件与线上已发的多个版本***固件的差分包集合;所述OTA升级包头还包括以下至少之一的信息:应用程序包长度、各差分包版本信息及偏移、文件完整性校验信息;
将所述OTA升级包发布至所述云平台。
7.根据权利要求5所述的方法,其特征在于,还包括:
通过版本对应表对所述智能终端的升级版本进行管理,其中,所述版本对应表包括:主版本号、应用程序版本号及***固件版本号,其中,所述主版本号由多个字段组成,通过所述多个字段数值的变化标识升级版本的应用功能迭代程度,或***功能的扩展或优化程度。
8.根据权利要求5所述的方法,其特征在于,所述云平台将与所述升级需求对应的升级数据包发送至所述智能设备,包括以下之一:
当所述升级需求为升级应用程序时,所述云平台将所述最新版本应用程序发送至所述智能终端;
当所述升级需求为升级***固件时,所述云平台将所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端;
当所述升级需求为升级应用程序和升级***固件时,所述云平台将所述最新版本应用程序,以及所述最新版本***固件与所述智能设备的当前版本***固件的差分包发送至所述智能终端。
9.一种智能设备的NB模组升级装置,位于所述智能设备中,其特征在于,包括:
请求模块,用于向云平台请求OTA升级包头,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;
确定模块,用于将所述智能终端的当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较确定升级需求,并向所述云平台请求与所述升级需求对应的升级数据包,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序;
升级模块,用于接收所述升级数据包并对所述智能设备中的NB模组进行升级。
10.一种升级云平台,其特征在于,包括:
第一收发模块,用于接收智能设备的升级请求,并将OTA升级包头发送至所述智能设备,其中,所述OTA升级包头包括最新应用程序版本号和最新***固件版本号;
第二收发模块,用于接收所述智能设备通过将自身当前版本信息与所述OTA升级包头中的最新应用程序版本号以及最新***固件版本号进行比较后确定的升级需求,并将与所述升级需求对应的升级数据包发送至所述智能设备,其中所述升级需求包括以下至少之一:升级***固件、升级应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318679.4A CN111552502A (zh) | 2020-04-21 | 2020-04-21 | 智能设备的nb模组升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318679.4A CN111552502A (zh) | 2020-04-21 | 2020-04-21 | 智能设备的nb模组升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552502A true CN111552502A (zh) | 2020-08-18 |
Family
ID=72007525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010318679.4A Pending CN111552502A (zh) | 2020-04-21 | 2020-04-21 | 智能设备的nb模组升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552502A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000355A (zh) * | 2020-08-21 | 2020-11-27 | 青岛海尔科技有限公司 | 用于固件升级的方法及装置、家电设备 |
CN112732316A (zh) * | 2020-12-31 | 2021-04-30 | 杭州艾芯智能科技有限公司 | 门锁模组的固件升级方法、***、计算机和存储介质 |
CN112882739A (zh) * | 2021-03-29 | 2021-06-01 | 读书郎教育科技有限公司 | 一种智能设备固件升级的方法及*** |
CN113590161A (zh) * | 2021-08-20 | 2021-11-02 | 广东九联科技股份有限公司 | 内存可控的nb-iot模组差分升级方法及*** |
CN114124924A (zh) * | 2020-08-25 | 2022-03-01 | 深圳市欢太科技有限公司 | 一种确定配置信息的方法、设备及*** |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及*** |
CN115827020A (zh) * | 2022-11-30 | 2023-03-21 | 广州通则康威智能科技有限公司 | 一种设备的升级测试方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577202A (zh) * | 2012-07-23 | 2014-02-12 | 深圳市中兴移动通信有限公司 | 软件升级方法与*** |
CN106250143A (zh) * | 2016-07-27 | 2016-12-21 | 杭州联络互动信息科技股份有限公司 | 一种可穿戴设备的ota升级方法以及装置 |
CN109445810A (zh) * | 2018-09-07 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的信息升级方法、装置及存储介质 |
CN110471692A (zh) * | 2019-08-16 | 2019-11-19 | 深圳市宏电技术股份有限公司 | 终端程序的空中升级方法、装置、设备及存储介质 |
-
2020
- 2020-04-21 CN CN202010318679.4A patent/CN111552502A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577202A (zh) * | 2012-07-23 | 2014-02-12 | 深圳市中兴移动通信有限公司 | 软件升级方法与*** |
CN106250143A (zh) * | 2016-07-27 | 2016-12-21 | 杭州联络互动信息科技股份有限公司 | 一种可穿戴设备的ota升级方法以及装置 |
CN109445810A (zh) * | 2018-09-07 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的信息升级方法、装置及存储介质 |
CN110471692A (zh) * | 2019-08-16 | 2019-11-19 | 深圳市宏电技术股份有限公司 | 终端程序的空中升级方法、装置、设备及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000355A (zh) * | 2020-08-21 | 2020-11-27 | 青岛海尔科技有限公司 | 用于固件升级的方法及装置、家电设备 |
CN112000355B (zh) * | 2020-08-21 | 2023-10-24 | 青岛海尔科技有限公司 | 用于固件升级的方法及装置、家电设备 |
CN114124924A (zh) * | 2020-08-25 | 2022-03-01 | 深圳市欢太科技有限公司 | 一种确定配置信息的方法、设备及*** |
CN114268614A (zh) * | 2020-09-15 | 2022-04-01 | 松下家电(中国)有限公司 | 一种设备固件升级方法、装置及*** |
CN112732316A (zh) * | 2020-12-31 | 2021-04-30 | 杭州艾芯智能科技有限公司 | 门锁模组的固件升级方法、***、计算机和存储介质 |
CN112882739A (zh) * | 2021-03-29 | 2021-06-01 | 读书郎教育科技有限公司 | 一种智能设备固件升级的方法及*** |
CN113590161A (zh) * | 2021-08-20 | 2021-11-02 | 广东九联科技股份有限公司 | 内存可控的nb-iot模组差分升级方法及*** |
CN113590161B (zh) * | 2021-08-20 | 2024-04-19 | 广东九联科技股份有限公司 | 内存可控的nb-iot模组差分升级方法及*** |
CN115827020A (zh) * | 2022-11-30 | 2023-03-21 | 广州通则康威智能科技有限公司 | 一种设备的升级测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552502A (zh) | 智能设备的nb模组升级方法及装置 | |
CN105979009B (zh) | 一种针对云应用容器的增加负载自动均衡方法 | |
CN100505640C (zh) | 一种软件升级方法及*** | |
KR101882426B1 (ko) | 소프트웨어 업데이트 방법, 시스템, 및 디바이스 | |
CN104699736B (zh) | 一种分布式的基于可移动设备的大规模数据采集***及方法 | |
CN105718287B (zh) | 一种智能终端的程序流式执行方法 | |
CN105591824A (zh) | 一种固件升级的方法、*** | |
CN110149370A (zh) | 一种升级文件下载方法及装置 | |
CN110046818A (zh) | 一种多机器人任务分配方法 | |
CN110839235B (zh) | 一种终端升级方法、装置、设备及计算机可读介质 | |
CN111142905B (zh) | 一种ota升级方法、ota服务器及ota升级*** | |
CN105721941A (zh) | 云电视的空中下载升级控制方法和装置 | |
CN113179324B (zh) | 一种区块链节点及其执行的业务处理方法 | |
CN102271057B (zh) | 参数更新方法和设备 | |
CN100395978C (zh) | 一种下载方法及一种终端 | |
CN109992291A (zh) | 一种终端软件升级方法、装置、***以及存储介质 | |
CN102916907A (zh) | 基于家庭网关的下载方法和***以及家庭网关 | |
CN108243254A (zh) | 电子装置、应用升级版本发布的方法及存储介质 | |
CN111885564B (zh) | 数据传输方法、设备升级方法、计算机可读的存储介质 | |
CN112671572B (zh) | 智能设备配网的方法、装置、存储介质及电子装置 | |
CN104184643A (zh) | 一种数据传输***及方法 | |
CN106254440A (zh) | 一种ap的升级方法和装置 | |
CN109343880A (zh) | 一种rn包更新方法、装置及可读存储介质 | |
CN112532664A (zh) | 数据升级方法及装置 | |
CN102708008A (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 |