本公开涉及但不限于终端领域,特别涉及一种空中固件升级方法、装置、设备及计算机可读介质。
背景技术:
lpwan(lowpowerwideareanetwork,低功耗广域网)低功耗广域网,包括nb-iot(narrowband-internetofthings,窄带物联网)、ltecat-m(基于长期演进技术的物联网)、lora(基于扩频技术的超远距离无线传输网络),sigfox(基于超窄带技术的物联网终端专用无线网络)等技术,具备强覆盖、低成本、小功耗、大连接的特点。由于其设计连接大量物联网终端,对这些物联网终端的升级通常考虑fota(firmwareovertheair,空中固件)方式进行升级。
相比传统fota使用基于tcp(transmissioncontrolprotocol,传输控制协议)网络通信方式,目前低功耗广域网出现了lwm2m(lightweightmachine-to-machine,轻量级机器对机器协议)的fota升级方式,lwm2m基于udp(userdatagramprotocol,用户数据报协议)和coap(constrainedapplicationprotocol,受限应用协议)协议承载,考虑了lpwan一般低功耗连接的特点,是针对lpwan网络下fota升级的一种改善。
lpwan物联网终端一般是带电池的终端,根据lpwan的业务模型的设计,终端的使用寿命一般是5-10年,使用寿命截止后需要更换新的电池。所以终端的业务要做到尽量省电,以使得物联网终端达到设计的使用年限目标。而fota业务包括升级包的搜包、下载和安装过程,对电池的使用寿命是一个重大的考验,无论是传统的fota还是lwm2mfota并没有考虑实际环境中lpwan网络的通信和传输质量,导致在实际的lpwan业务场景中造成大量耗电,降低了物联网终端的使用寿命。
技术实现要素:
本公开实施例提供的一种空中固件升级方法、装置、设备及计算机可读介质,解决在空中固件升级期间因通信和传输质量差导致的物联网终端大量耗电的问题。
根据本公开实施例提供的一种空中固件升级方法,所述方法包括:
获取适于空中固件升级的lpwan终端所处lpwan环境的当前网络质量指标;
根据所述lpwan终端所处lpwan环境的当前网络质量指标,确定所述lpwan环境是否适于空中固件升级;
若确定所述lpwan环境适于空中固件升级,则对所述lpwan终端进行空中固件升级处理。
根据本公开实施例提供的一种空中固件升级装置,所述装置包括:
获取模块,用于获取适于空中固件升级的低功耗广域网lpwan终端所处lpwan环境的当前网络质量指标;
确定模块,用于根据所述lpwan终端所处lpwan环境的当前网络质量指标,确定所述lpwan环境是否适于空中固件升级;
升级模块,用于若确定所述lpwan环境适于空中固件升级,则对所述lpwan终端进行空中固件升级处理。
根据本公开实施例提供的一种空中固件升级设备,所述设备包括:存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的空中固件升级方法的步骤。
根据本公开实施例提供的一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的空中固件升级方法的步骤。
本公开实施例提供的技术方案具有如下有益效果:
本公开实施例将fota升级与lpwan下物联网终端(或lpwan终端)所处环境(例如信号强度较弱,信噪比较差,带宽低等)和/或所处状态(例如工作模式,工作周期等)的实际情况相结合,动态自适应地进行fota升级,能够有效节省物联网终端(或lpwan终端)的电池电量,提高物联网终端(或lpwan终端)的使用寿命。
附图说明
图1是本公开实施例提供的一种空中固件升级方法流程示意图;
图2是本公开实施例提供的lpwan网络环境示意图;
图3是本公开实施例提供的lpwan自适应fota升级的物联网终端的结构示意图;
图4是本公开实施例提供的lpwan下物联网终端的工作模式转换示意图;
图5是本公开实施例提供的lpwan下自适应fota升级的搜包和下载流程示意图;
图6是本公开实施例提供的lpwan下自适应fota升级的安装流程示意图;
图7是本公开实施例提供的一种空中固件升级装置的示意性框图;
图8是本公开实施例提供的一种空中固件升级设备的示意性框图。
具体实施方式
以下结合附图对本公开的优选实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本公开,并不用于限定本公开。
本公开实施例适用于lpwan网络环境下的物联网终端(或lpwan终端),该终端可以通过支持lpwan协议的基站(或lpwan基站)与处于云端的fota服务器进行通信,以搜索、下载固件升级包,并进行固件升级。
图1是本公开实施例提供的一种空中固件升级方法流程示意图,如图1所示,所述方法可以包括:
步骤s101:获取适于空中固件升级的lpwan终端所处lpwan环境的当前网络质量指标。
在执行步骤s101之前,首先要确定lpwan终端是否适于空中固件升级,即根据所述lpwan终端的业务模型,确定所述lpwan终端是否是适于空中固件升级的lpwan终端。具体实施时,根据所述lpwan终端的业务模型,确定所述lpwan终端处于工作模式或非工作状态,若确定所述lpwan终端处于工作模式,则确定所述lpwan终端是适于空中固件升级的lpwan终端,若确定所述lpwan终端处于非工作模式,则确定所述lpwan终端是不适于空中固件升级的lpwan终端。
所述当前网络质量指标是与当前的网络传输时延和速率有关的指标,包括当前的信号强度、信噪比、网络传输带宽中的至少一个。
步骤s102:根据所述lpwan终端所处lpwan环境的当前网络质量指标,确定所述lpwan环境是否适于空中固件升级。
若所述当前网络质量指标达到或超过预设指标门限,则确定所述lpwan环境适于空中固件升级。当前网络质量指标可以是一个,也可以是多个指标的组合。所述预设指标门限可以是fota服务器配置并下发的,也可以是lpwan终端本地配置的。
步骤s103:若确定所述lpwan环境适于空中固件升级,则对所述lpwan终端进行空中固件升级处理。
若确定所述lpwan环境适于空中固件升级,则搜索并下载固件升级包,在所述固件升级包下载完成后,若处于工作模式的所述lpwan终端已完成当前业务周期的业务,则安装所述固件升级包。
应当说明的是,在搜索并下载固件升级包期间,若所述lpwan终端从工作模式迁移至非工作模式(即处于非工作模式)或所述lpwan环境不适于空中固件升级,则停止搜索并下载所述固件升级包。即仅在工作模式且当前网络质量指标达标的情况下搜索并下载固件升级包。
应当说明的是,在安装所述固件升级包期间,若所述lpwan终端从工作模式迁移至非工作模式(即处于非工作模式),或者所述lpwan终端处于工作模式且当前业务周期的业务未完成,则停止安装所述固件升级包。即仅在工作模式且当前业务周期业务已完成的情况下安装固件升级包。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中。
图2是本公开实施例提供的lpwan网络环境示意图,如图2所示,lpwan网络环境下,物联网终端(或lpwan终端)采集数据,并通过支持lpwan协议的基站(或lpwan基站)经过云端与业务服务器进行通信。物联网终端(或lpwan终端)的固件升级包在fota服务器部署,物联网终端(或lpwan终端)从fota服务器进行搜包和下载,并在下载到本地后完成固件升级。业务服务器和fota服务器可以是不同的服务器,也可以在同一服务器上实现。
图3是本公开实施例提供的lpwan自适应fota升级的物联网终端(或lpwan终端)的结构示意图,如图3所示,物联网终端(或lpwan终端)在fota业务部分包含3个主要模块:fota搜包和下载模块51、fota安装模块52和fota升级主控模块(即lpwanfota主控模块)53。
fota升级主控模块53是lpwan下自适应fota升级装置的关键模块,通过检测当前lpwan环境包括的信号强度、信噪比、通信带宽(即确定lpwan环境是否适于空中固件升级)和/或物联网终端(或lpwan终端)的工作模式(即确定lpwan终端是否适于空中固件升级)来确定是否进行fota升级。fota升级主控模块53与fota搜包和下载模块51、fota安装模块52通信,控制两个模块的行为。
fota搜包和下载模块51与保存固件升级包的fota服务器进行通信,完成搜包和下载空中固件升级包,并保存到物联网终端(或lpwan终端)的动作。
fota安装模块52完成fota的固件本地安装和更新动作。
图5是本公开实施例提供的lpwan下自适应fota升级的搜包和下载流程示意图,如图5所示,所述流程可以包括以下步骤:
步骤701:服务器或终端发起升级流程。
fota升级可以由服务器端发起也可以由本装置自行发起。
步骤702:启动lpwanfota升级主控模块53。
当启动fota升级后本装置启动lpwanfota升级主控模块53,用来管理和控制lpwan网络下fota升级的流程。
fota升级主控模块53配置了fota升级过程中所处lpwan网络环境的指标门限值,指标门限值可以是一个或者某几个指标的组合,例如当前的信号强度、信噪比、网络传输带宽中的一个或多个。
上述指标门限的配置通过配置文件或者其他方式,用户可以对配置进行动态的修改,可以通过服务器下发配置文件,或者本地动态修改。
上述指标门限用来描述当前的lpwan网络的通信和传输质量,当低于这个值,则说明终端所处lpwan环境不适于空中固件升级,即终端所处的网络传输质量较差,数据传输时延高,会导致终端的电池电量消耗明显变大。在此门限下需要停止fota搜包和下载升级操作。
步骤703:fota升级主控模块53确定所述终端是否适于空中固件升级,若是则执行步骤704,否则执行步骤703。
fota升级主控模块53根据所述终端的业务模型,确定所述终端是否处于工作模式,若处于工作模式,则确定所述终端适于空中固件升级,即所述终端为适于空中固件升级的终端,否则确定所述终端不适于空中固件升级,即所述终端为不适于空中固件升级的终端。也就是说lpwanfota升级主控模块53需要确定当前lpwan终端工作模式,图4是本公开实施例提供的lpwan下物联网终端的工作模式转换示意图,如图4所示,lpwan下物联网终端根据设定的业务模型确定当前工作模式。如nbiot网络下水表抄表数据上报,一种常见的工作业务模型为每天24小时上报一次数据,该水表的业务模式即上报的时间,比如10分钟,为终端所处的该段时间的模式为工作模式(workmode),其余时间水表都处于休眠模式(sleepmode)。lpwanfota升级主控模块53检测当前终端是否处于工作模式,如果处于工作模式则进行fota的操作,如果是休眠模式则不做fota流程。
应当说明的是,在搜包和下载包阶段,本装置和方法可以利用lpwan终端的业务工作模式,在工作模式下进行相应的fota升级包搜索和下载流程。
步骤704:fota升级主控模块53确定终端所处lpwan环境是否适于空中固件升级,若是则执行步骤705,否则执行步骤703。
当终端处于工作模式时,获取当前网络质量指标,将实际获取的lpwan网络的数据与fota升级主控模块53中配置设定的门限(即步骤702设定的门限)进行比较,当高于这个门限时,说明当前网络环境适于空中固件升级,此时启动fota的搜包和下载操作。当低于这个门限时,说明当前网络环境不适于空中固件升级,此时不进行fota的搜包和升级操作,防止过度消耗终端的电池电量,导致终端工作年限锐减。当前的网络环境的质量指标可以是信号强度、信噪比、当前网络数据传输带宽以及任何其他与网络传输时延和速率相关的指标,这些指标与数据传输的速率和时延有关,数据传输速率低会延长lpwan网络下终端的fota升级时间,加大消耗终端的电池电量,从而降低终端的使用寿命。门限的检测可以根据某一个或者某几个的组合来比较判断。
步骤705:通知fota搜包和下载模块51开始搜包。
当所获得网络的信号强度,信噪比以及当前传输网络门限等指标满足所配置门限要求时,说明当前网络环境适于空中固件升级,可以对所述终端进行空中固件升级处理,此时通知fota搜包和下载模块51工作,首先启动搜包流程。
步骤706:在搜到fota升级包后,进行fota升级包的下载,fota升级包下载到本装置内部的升级包存储区。
应当说明的是,因网络的指标参数是动态有可能会发生变化,所以在fota升级的搜包和下载过程中,lpwanfota升级主控模块53需要定时检测动态变化的指标,如果低于fota升级要求的门限指标,则停止fota升级。指标恢复到门限以上再继续fota搜包和下载流程,停止和恢复动作可以设置一个时间阈值,如指标降低或恢复时间时间大于时间阈值再启动相应操作,防止因网络门限指标的抖动导致过度频繁的停止和启动fota升级动作。
应当说明的是,在搜索并下载固件升级包期间,若所述lpwan终端从工作模式迁移至非工作模式(即该lpwan终端此时为不适于空中固件升级的终端)或所述网络环境不适于空中固件升级,则停止搜索并下载所述固件升级包。即fota升级包的搜包和下载流程是在lpwan终端的工作模式的时间周期内,当lpwan切换到工作模式到时间需要切换到休眠模式时,当前搜包和下载流程保存当前的工作状态并暂停,待下次lpwan终端进入工作模式时继续当前的搜包和下载流程。下次进行fota升级搜包或下载时仍需要按照流程对获取的实时的lpwan网络参数与设定的指标门限做检测。
步骤707:fota升级包完成升级。
应当说明的是,当完成fota升级包的下载后,设置下载完成的标志,并通知lpwanfota安装模块52进行检测。
图6是本公开实施例提供的lpwan网络下自适应fota升级的安装流程示意图,如图6所示,所述流程可以包括以下步骤:
步骤801:fota安装模块52确定fota升级包是否下载完成,若是则执行步骤802,否则重复本步骤。
本装置的fota安装模块52检查fota升级包下载完成的标志,确认fota升级包已经下载完成。
步骤802:确定处于工作模式的所述lpwan终端是否已完成当前业务周期的业务(即lpwan终端当前没有在做业务),若是则执行步骤803,否则重复本步骤。
当前lpwan终端处于工作模式,完成本次业务周期的业务后,进入休眠模式前,启动fota安装工作,fota安装完成后根据业务周期设备进入休眠或者进行下一次业务,最大程度上做到不影响lpwan终端的业务上报。
应当说明的是,在安装所述固件升级包期间,若所述lpwan终端从工作模式迁移至非工作模式(即处于非工作模式,例如休眠模式),或者所述lpwan终端处于工作模式且当前业务周期的业务未完成,则停止安装所述固件升级包。
步骤803:完成lpwan终端的fota固件升级。
现有fota升级技术中,lwm2m的fota升级方法是应用于lpwan网络的一种升级方式,在获取升级包的方法中使用基于udp的coap升级包方式进行fota升级。目前lwm2mfota技术没有考虑lpwan网络实际运行环境的一些特点,从而有可能导致lwm2mfota升级过程中大量消耗lpwan设备的电池电量,大幅降低设备的设计使用寿命。即lwm2mfota是当前一种物联网终端fota升级,但是在网络环境动态变化的情况下带来较大的功耗影响,并且该升级方式与实际的业务工作模型没有关联。在一个实施方式中,由于物联网终端工作所处环境的网络信号强度较差,多个终端同时在网时终端之间信号之间存在干扰,信噪比较低等,考虑到lpwan网络下物联网终端信号强度差以及信号之间的干扰数据会导致数据的发送和接收存在较大延时,实际下载速率远小于理论速率,fota升级包搜包和升级包下载时长很长,本公开实施例的装置及其提供的方法能够在现有fota技术基础之上增加检测lpwan当前网络情况,包括当前的信号强度、干扰和带宽等网络指标。当信号强度和信噪比以及带宽达到预设的门限则执行fota流程,低于门限则不进行fota升级操作。具体地说,fota升级的搜包和升级与lpwan网络的指标有关,当网络指标较好的时候(大于设定门限)会执行fota升级,指标不好的时候则不进行fota升级。例如信号强度(rsrp)、信噪比(sinr)、网络下载速率,高于某一个门限值时会执行升级流程,低于某一门限值会停止升级流程。在另一实施方式中,考虑到终端业务模型工作周期,大量时间都处于休眠或者关机状态,少部分时间处于工作状态,如典型的nb-iot水表抄表业务一天上报一次数据。本公开实施例的fota升级方案结合lpwan网络自身业务的工作模式,当业务在工作模式时进行fota升级流程,在休眠模式则不进行fota流程,最大程度的节省功耗。具体地说,在启动fota升级后,会根据lpwan终端的工作模式和业务周期,只在终端处于工作模式,联网做业务的时候,同时会进行fota搜包和下载,终端不会单独在业务期外的非工作模式去做fota搜包和下载工作。例如nbiot水表,24小时需要上报一次抄表数据、每次联网上报数据的时间大约10分钟。那么这个水表的业务周期为24小时,工作模式时间为10分钟,其余时间为休眠模式,当启动了fota升级后,本装置根据此业务周期在10分钟的工作模式检测网络指标是否满足升级条件,并在满足后进行搜包和下载,休眠模式则不会进行fota搜包和下载。以上nb-iot水表抄表的业务模型是一个典型的案例,实际的业务周期可能有不同配置。应当说明的是,fota安装是在业务上报完成,fota的安装基本不影响正常的业务上报流程。以上述水表的例子,水表在工作模式完成上报后会进行fota的安装,本装置和方法不会影响水表抄表数据的正常上报。
一般lpwan主要的功能是完成数据的采集和上报,设计目标是尽量缩短业务时间,大部分时间处于休眠,这样能够保持较长的电池使用年限。基于这个目标要尽量减少fota业务所带来的电量消耗,并且尽量做到不影响业务的上报。本公开实施例根据lpwan终端的工作模式和业务周期进行fota升级包的搜包和下载,不消耗额外的电量。在启动搜包和下载时会动态检测当前网络的指标,当指标低于门限在工作周期内也不会启动fota搜包和下载。因为网络质量较差情况进行fota搜包和下载会严重影响到电池的寿命,为了节省终端电池电量,根据网络环境的动态变化情况下执行和停止fota升级。fota升级包下载完成后,在完成当前的业务后再开始启动fota安装,以终端本身的业务上报工作优先,尽量做到不影响正常的数据上报业务。
本公开实施例适用于lpwan下的物联网终端(或lpwan终端)的fota升级操作场景,也可考虑应用在低功耗网络终端配置参数下发的应用场景。
图7是本公开实施例提供的一种空中固件升级装置的示意性框图,如图7所示,所述装置可以包括获取模块21、确定模块22、升级模块23,其中,所述获取模块21和所述确定模块22可以实现图3中fota升级主控模块53的功能,升级模块23可以实现图3中fota搜包和下载模块51和fota安装模块52的功能。
所述获取模块21,用于获取适于空中固件升级的低功耗广域网lpwan终端所处lpwan环境的当前网络质量指标。
所述确定模块22,用于根据所述lpwan终端所处lpwan环境的当前网络质量指标,确定所述lpwan环境是否适于空中固件升级。所述确定模块实现上述步骤s102的功能。
在另一个实施例中,所述确定模块22还用于在获取适于空中固件升级的lpwan终端所处lpwan环境的当前网络质量指标之前,根据所述lpwan终端的业务模型,确定所述lpwan终端是否是适于空中固件升级的lpwan终端。即所述确定模块22根据所述lpwan终端的业务模型,确定所述lpwan终端是否处于工作模式,若确定所述lpwan终端处于工作模式,则确定所述lpwan终端是适于空中固件升级的lpwan终端。
在本实施例中,若所述当前网络质量指标达到或超过预设指标门限,则所述确定模块22确定所述lpwan环境适于空中固件升级,其中,所述当前网络质量指标是与当前的网络传输时延和速率有关的指标,包括当前的信号强度、信噪比、网络传输带宽中的至少一个。
所述升级模块23,用于若确定所述lpwan环境适于空中固件升级,则对所述lpwan终端进行空中固件升级处理。
在本实施例中,若确定所述lpwan环境适于空中固件升级,则所述升级模块23搜索并下载固件升级包,在所述固件升级包下载完成后,若处于工作模式的所述lpwan终端已完成的当前业务周期的业务已完成,则安装所述固件升级包。
在上述实施例的基础上,在搜索并下载固件升级包期间,若所述lpwan终端从工作模式迁移至处于非工作模式或所述lpwan环境不适于空中固件升级,则所述升级模块23停止搜索并下载所述固件升级包。
在上述实施例的基础上,在安装所述固件升级包期间,若所述lpwan终端从工作模式迁移至处于非工作模式,或者所述lpwan终端处于工作模式且当前业务周期的业务未完成,则所述升级模块23停止安装所述固件升级包。
图8是本公开实施例提供的一种空中固件升级设备的示意性框图,如图8所示,所述设备可以包括:处理器31,存储器32,以及存储在所述存储器32上并可在所述处理器31上运行的计算机程序。所述计算机程序被所述处理器31执行时实现上述的空中固件升级方法的步骤。
本公开还可以提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述空中固件升级方法的步骤。其中,所述的存储介质可以包括rom/ram、磁碟、光盘、u盘。即本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
尽管上文对本公开实施例进行了详细说明,但是本公开实施例不限于此,本技术领域技术人员可以根据本公开实施例的原理进行各种修改。因此,凡按照本公开实施例原理所作的修改,都应当理解为落入本公开的保护范围。