一种NB-IOT设备的程序升级方法、服务器及NB-IOT设备与流程

文档序号:14392060阅读:290来源:国知局
一种NB-IOT设备的程序升级方法、服务器及NB-IOT设备与流程

本发明涉及物联网数据处理领域,尤其涉及一种nb-iot设备的程序升级方法、服务器及nb-iot设备。



背景技术:

窄带物联网(narrowbandinternetofthings,nb-iot)技术是全球第三代合作伙伴计划(3gpp)提出的一种新型物联网技术,是万物互联网络的一个重要分支。它构建于蜂窝网络,支持低功耗设备在广域网中的数据连接,具有大容量、广覆盖、低功耗、低成本、高稳定性等特点。近年来,nb-iot技术迅猛发展,它的众多应用(如说智能水表、智能电表、停车场管理等)已逐渐走入人们的生活。

现有技术中,nb-iot设备中在安装相应的程序后可进行正常工作,并且服务器可采用ota(ontheair,空中下载技术)对nb-iot设备中的程序进行远程的升级和管理。通常情况下,nb-iot设备的硬件配置一般比较低,对大存储空间和大内存空间的支持力度比较低,而对nb-iot设备中的程序进行升级所需的升级文件的数据量又比较大。因此,由于服务器无法得知nb-iot设备的设备状态,服务器发送的升级文件有可能存在着由于存储空间或内存空间不足而无法完整接收,或者即使完整接收也无法正常安装的问题,从而给客户端带来很大负担的问题,导致程序升级的效率比较低。

综上所述,目前亟需要一种nb-iot设备的程序升级方法,用以提高nb-iot设备的程序升级效率。



技术实现要素:

本发明提供一种nb-iot设备的程序升级方法、服务器及nb-iot设备,用以提高nb-iot设备的程序升级效率。

本发明实施例提供的一种nb-iot设备的程序升级方法,包括:

nb-iot设备向服务器发送所述nb-iot设备当前的软件版本信息;

所述nb-iot设备接收所述服务器发送的升级指示,所述升级指示中包括升级文件的属性信息,所述升级指示是所述服务器根据所述nb-iot设备当前的软件版本信息确定的;

所述nb-iot设备根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,确定是否进行程序升级;

所述nb-iot设备若确定进行程序升级,则向所述服务器发送升级请求,并接收所述服务器发送的所述升级文件。

可选地,所述nb-iot设备向所述服务器发送升级请求,包括:

所述nb-iot设备根据当前的硬件状态判断是否对升级文件进行分片处理,若确定进行分片处理,则根据当前的硬件状态确定出进行分片处理的升级策略;所述升级策略包括分片的片数,以及各个分片的标识和大小;

所述nb-iot设备将所述升级策略通过所述升级请求发送给所述服务器。

可选地,所述nb-iot设备接收所述服务器发送的所述升级文件,包括:

所述nb-iot设备接收所述服务器发送的表示分片处理已完成的确认消息;针对所述升级文件划分得到的任一分片,所述nb-iot设备向所述服务器发送分片请求消息;所述分片请求消息中包括所述任一分片的标识;

所述nb-iot设备接收所述服务器根据所述任一分片的标识发送的所述任一分片。

可选地,所述方法还包括:

所述nb-iot设备若确定不升级,则触发所述nb-iot设备中的定时器;

所述nb-iot设备在所述定时器的下一状态来临时,再次根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,判断是否进行升级,若升级,则向所述服务器发送所述升级请求。

基于同样的发明构思,本发明提供的另一种nb-iot设备的程序升级方法,所述方法包括:

服务器接收所述nb-iot设备发送的当前的软件版本信息,根据所述nb-iot设备的当前的软件版本信息,向所述nb-iot设备发送升级指示;所述升级指示中包括升级文件的属性信息;

服务器接收到所述nb-iot设备根据所述升级指示发送的升级请求后,将所述升级文件发送给所述nb-iot设备。

可选地,所述升级请求中包括所述nb-iot设备确定对所述升级文件进行分片处理的升级策略;所述升级策略中包括分片的片数,以及各个分片的标识和大小;

服务器接收到所述nb-iot设备发送的升级请求后,还包括:

所述服务器根据所述升级策略将所述升级文件分成多个分片,并在分片处理完成后向所述nb-iot设备发送表示分片处理已完成的确认消息。

可选地,所述服务器将所述升级文件发送给所述nb-iot设备,包括:

所述服务器接收所述nb-iot设备发送的分片请求消息;所述分片请求消息中包括所述nb-iot设备所请求传输的分片的标识;

所述服务器根据所述分片的标识,将所述分片的标识所对应的分片发送给所述nb-iot设备。

基于同样的发明构思,本发明还提供的一种nb-iot设备,所述设备包括:

收发模块,用于向服务器发送所述nb-iot设备当前的软件版本信息;以及,接收所述服务器发送的升级指示,所述升级指示中包括升级文件的属性信息,所述升级指示是所述服务器根据所述nb-iot设备当前的软件版本信息确定的;

处理模块,所述处理模块用于根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,确定是否进行程序升级;

所述收发模块还用于若确定进行程序升级,则向所述服务器发送升级请求,并接收所述服务器发送的所述升级文件。

可选地,所述收发模块具体用于:

根据当前的硬件状态判断是否对升级文件进行分片处理,若确定进行分片处理,则根据当前的硬件状态确定出进行分片处理的升级策略;所述升级策略包括分片的片数,以及各个分片的标识和大小;

将所述升级策略通过所述升级请求发送给所述服务器。

可选地,所述收发模块具体用于:

接收所述服务器发送的表示分片处理已完成的确认消息;针对所述升级文件划分得到的任一分片,所述nb-iot设备向所述服务器发送分片请求消息;所述分片请求消息中包括所述任一分片的标识;

接收所述服务器根据所述任一分片的标识发送的所述任一分片。

可选地,所述处理模块还用于:

若确定不升级,则触发所述nb-iot设备中的定时器;

在所述定时器的下一状态来临时,再次根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,判断是否进行升级,若升级,则向所述服务器发送所述升级请求。

基于同样的发明构思,本发明还提供的一种服务器,所述服务器包括:

收发模块,用于接收所述nb-iot设备发送的当前的软件版本信息,根据所述nb-iot设备的当前的软件版本信息,则向所述nb-iot设备发送升级指示;所述升级指示中包括升级文件的属性信息;以及接收到所述nb-iot设备根据所述升级指示发送的升级请求后,将所述升级文件发送给所述nb-iot设备。

可选地,所述升级请求中包括所述nb-iot设备确定对所述升级文件进行分片处理的升级策略;所述升级策略中包括分片的片数,以及各个分片的标识和大小;

所述服务器还包括处理模块,所述处理模块用于:

根据所述升级策略将所述升级文件分成多个分片,并在分片处理完成后通过所述发送模块向所述nb-iot设备发送表示分片处理已完成的确认消息。

可选地,所述收发模块具体用于:

接收所述nb-iot设备发送的分片请求消息;所述分片请求消息中包括所述nb-iot设备所请求传输的分片的标识;

根据所述分片的标识,将所述分片的标识所对应的分片发送给所述nb-iot设备。

本发明另一实施例提供了一种nb-iot设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。

本发明另一实施例提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

本发明实施例中,nb-iot设备向服务器发送当前的软件版本信息,并接收服务器发送的升级指示,该nb-iot设备根据升级指示中的升级文件的属性信息和自身的硬件状态确定是否进行程序升级,若确定进行程序升级,则向服务器发送升级请求,并接收服务器发送的升级文件。如此,由于nb-iot设备可根据接收到的升级文件的属性信息和自身硬件状态来共同判断是否进行程序升级,因而可避免由于服务器无法得知nb-iot设备的硬件状态,主动为nb-iot设备进行程序升级导致升级失败的问题,有效提高了程序升级的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种窄带物联网nb-iot设备的程序升级方法所对应的流程示意图;

图2为本发明实施例提供的一种nb-iot设备的结构示意图;

图3为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例,仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合说明书附图对本发明实施例做进一步详细描述。

图1示出了本发明实施例中提供的一种窄带物联网nb-iot设备的程序升级方法所对应的流程示意图,如图1所示,所述方法包括:

步骤s101:nb-iot设备向服务器发送所述nb-iot设备当前的软件版本信息;

步骤s102:服务器接收所述nb-iot设备发送的当前的软件版本信息,根据所述nb-iot设备的当前的软件版本信息,向所述nb-iot设备发送升级指示;

步骤s103:所述nb-iot设备接收所述服务器发送的升级指示;

步骤s104:所述nb-iot设备根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,确定是否进行程序升级;

步骤s105:所述nb-iot设备若确定进行程序升级,则向所述服务器发送升级请求,并接收所述服务器发送的所述升级文件。

本发明实施例中,nb-iot设备向服务器发送当前的软件版本信息,并接收服务器发送的升级指示,该nb-iot设备根据升级指示中的升级文件的属性信息和自身的硬件状态确定是否进行程序升级,若确定进行程序升级,则向服务器发送升级请求,并接收服务器发送的升级文件。如此,由于nb-iot设备可根据接收到的升级文件的属性信息和自身硬件状态来共同判断是否进行程序升级,因而可避免由于服务器无法得知nb-iot设备的硬件状态,主动为nb-iot设备进行程序升级导致升级失败的问题,有效提高了程序升级的效率。

具体来说,在步骤s101中,nb-iot设备可以通过多种方式向服务器发送当前的软件版本信息,比如说,nb-iot设备可以在开机启动时发送,或者可以在连接服务器时发送,又或者可以按照设定的周期,周期性地向服务器发送,还可以在与服务器进行数据通信时发送,本发明对此不做具体限制。

在步骤s102中,服务器接收nb-iot设备发送的当前的软件版本信息,根据nb-iot设备的当前的软件版本信息,以及服务器中存储的ota(overtheair,空中下载)策略,判断是否对该nb-iot设备进行程序升级。

本发明实施例中,服务器中存储的ota策略是指服务器对与其连接的各个nb-iot设备的程序进行升级的原则,其中规定了各nb-iot设备要升级到的程序的软件版本信息。ota策略的具体内容可由本领域技术人员根据实际需要自行确定,比如说,ota策略可以为所有nb-iot设备都要升级到最新的软件版本,则当某一nb-iot设备发送的当前的软件版本信息不是最新的软件版本时,服务器确定对该nb-iot设备进行程序升级。再比如说,ota策略为所有的nb-iot设备的软件版本都要统一,则服务器在确定某一nb-iot设备发送的当前的软件版本信息不是与大多数nb-iot设备的软件版本相同的软件版本时,确定对该nb-iot设备进行程序升级。

若服务器确定对nb-iot设备进行程序升级,则向所述nb-iot设备发送升级指示。其中,升级指示中包括升级文件的属性信息,所述属性信息具体可包括升级文件的大小,类型等信息。本发明实施例中,升级文件的类型可以是协议核、应用核、固件核中的任一种或几种,本发明对此不做具体限制。

在步骤s103和步骤s104中,nb-iot设备接收服务器发送的升级指示,并根据升级指示中升级文件的属性信息和nb-iot设备自身的硬件状态,确定是否进行程序升级。

本发明实施例中,nb-iot设备在接收到服务器发送的升级指示后,确定出自身当前的硬件状态,该硬件状态具体可指nb-iot设备当前可用的内存空间和存储空间。

nb-iot设备根据升级文件的属性信息,若确定自身当前的硬件状态可以支持进行此次程序升级,如内存空间和存储空间可以正常接收并存储升级文件,则向服务器发送升级请求,以使服务器在接收到升级请求后在步骤s105中向nb-iot设备发送升级文件。

在步骤s105之后,nb-iot设备在接收到升级文件,根据升级文件进行程序升级,并在成功升级后,向服务器反馈表示升级成功的确认消息。

可见,相比于现有技术中服务器在无法得知nb-iot设备的硬件状态的情况下,主动向nb-iot设备发送升级文件、进行程序升级的方法,本发明实施中nb-iot设备对自身是否进行程序升级拥有主动权,nb-iot设备只有在确定自身的硬件状态能够支持此次程序升级时,才会向服务器发送升级请求,因此,有效避免了由于nb-iot设备的内存或存储空间不足而导致程序升级失败的问题发生,有效提高了程序升级的效率。

需要说明的是,在步骤s105中,nb-iot设备向服务器发送升级请求之前,nb-iot设备还可根据升级文件的属性信息和当前的硬件状态判断是否对升级文件进行分片处理。

比如说,若升级文件较大,服务器一次性向nb-iot设备发送整个升级文件,而nb-iot设备的内存或存储空间不足以接收整个升级文件时,nb-iot设备可选择将升级文件进行分片处理。再比如,若当前的网络状态较差,服务器一次性向nb-iot设备发送整个升级文件时,文件传输过程中发生错误而需要进行重传的几率很大,严重时甚至会多次重传最终仍无法成功接收升级文件,而且由于传输的数据量加大,文件传输过程中会产生较大的功耗,在这种情况下nb-iot设备可选择进行分片处理,以减小该nb-iot设备的功耗以及文件传输过程中发生错误的概率。

nb-iot设备若确定进行分片处理,则制定对升级文件进行分片处理的升级策略,并将该升级策略通过升级请求发送给服务器。本发明实施例中,nb-iot设备制定的升级策略中具体包括对升级文件的进行分片的片数,以及各个分片的标识和大小。

如此,服务器在接收到nb-iot设备发送的升级请求后,可按照该升级请求中的升级策略将升级文件进行分片处理,将升级文件分成多个分片,并向nb-iot设备发送表示分片处理已完成的确认消息,以告知nb-iot设备升级前的准备工作已完成。

进而,nb-iot设备可根据自身的升级策略中对升级文件划分的各个分片的信息,从服务器拉取各个分片,具体包括:

针对升级文件划分得到的任一分片,nb-iot设备向服务器发送分片请求消息,该分片请求消息中包括该任一分片的标识。服务器接收nb-iot设备发送的分片请求消息,根据该任一分片的标识,将该任一分片的标识所对应的分片发送给nb-iot设备。

可见,本发明实施例中,nb-iot设备在确定进行程序升级后,还可根据升级文件的属性信息和自身当前的硬件状态,制定进行分片处理的升级策略,以使服务器将升级文件划分成多个分片,将每个分片进行独立的传输。由于服务器无需向nb-iot设备一次性传输整个升级文件,从而避免了由于升级文件过大,导致升级文件传输过程出现错误,需要不断地重传,并最终导致程序升级失败的可能性,有效提高了程序升级效率。此外,由于服务器与nb-iot设备之间一次只传输一个分片,相比于整个升级文件,分片文件的数据量较小,因此,减小了nb-iot设备的功耗,保证了升级文件的传输过程中nb-iot设备的性能不受影响。

在步骤s104中,由于nb-iot设备的硬件状态(即内存空间和/或存储空间)可能是动态变化的,一次你nb-iot设备根据升级文件的属性信息和当前的硬件状态,若确定不进行程序升级后,则会触发nb-iot设备中的定时器。当定时器的下一状态来临时,再次根据升级文件的属性信息和nb-iot设备的硬件状态,判断硬件状态是否能够支持此次程序升级,若确定进行升级,则向服务器发送升级请求。

本发明实施例中,所述定时器中设定周期的时长可由本领域技术人员根据实际需要自行设定,本发明对此不做具体限制。

基于同样的发明构思,本发明实施例还提供一种nb-iot设备,图2为本发明实施例提供的一种nb-iot设备的结构示意图,如图2所示,所述设备200包括:

收发模块201,用于向服务器发送所述nb-iot设备当前的软件版本信息;以及,接收所述服务器发送的升级指示,所述升级指示中包括升级文件的属性信息,所述升级指示是所述服务器根据所述nb-iot设备当前的软件版本信息确定的;

处理模块202,用于根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,确定是否进行程序升级;

所述收发模块201还用于若确定进行程序升级,则向所述服务器发送升级请求,并接收所述服务器发送的所述升级文件。

可选地,所述收发模块201具体用于:

根据当前的硬件状态判断是否对升级文件进行分片处理,若确定进行分片处理,则根据当前的硬件状态确定出进行分片处理的升级策略;所述升级策略包括分片的片数,以及各个分片的标识和大小;

将所述升级策略通过所述升级请求发送给所述服务器。

可选地,所述收发模块201具体用于:

接收所述服务器发送的表示分片处理已完成的确认消息;针对所述升级文件划分得到的任一分片,所述nb-iot设备向所述服务器发送分片请求消息;所述分片请求消息中包括所述任一分片的标识;

接收所述服务器根据所述任一分片的标识发送的所述任一分片。

可选地,所述处理模块202还用于:

若确定不升级,则触发所述nb-iot设备中的定时器;

在所述定时器的下一状态来临时,再次根据所述升级文件的属性信息和所述nb-iot设备的硬件状态,判断是否进行升级,若升级,则向所述服务器发送所述升级请求。

基于同样的发明构思,本发明实施例还提供一种服务器,图3为本发明实施例提供的一种服务器的结构示意图,如图3所示,所述服务器300包括:

接收模块301,用于接收所述nb-iot设备发送的当前的软件版本信息,根据所述nb-iot设备的当前的软件版本信息,向所述nb-iot设备发送升级指示;所述升级指示中包括升级文件的属性信息;以及,接收到所述nb-iot设备根据所述升级指示发送的升级请求后,将所述升级文件发送给所述nb-iot设备。

可选地,所述升级请求中包括所述nb-iot设备确定对所述升级文件进行分片处理的升级策略;所述升级策略中包括分片的片数,以及各个分片的标识和大小;

所述服务器还包括处理模块302,所述处理模块303用于:

根据所述升级策略将所述升级文件分成多个分片,并在分片处理完成后通过所述发送模块向所述nb-iot设备发送表示分片处理已完成的确认消息。

可选地,所述收发模块301具体用于:

接收所述nb-iot设备发送的分片请求消息;所述分片请求消息中包括所述nb-iot设备所请求传输的分片的标识;

根据所述分片的标识,将所述分片的标识所对应的分片发送给所述nb-iot设备。

基于同样的发明构思,本发明实施例还提供另一种nb-iot设备,该nb-iot设备可以包括中央处理器(centerprocessingunit,cpu)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

存储器可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储上述nb-iot设备的程序升级方法的程序。

处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行上述nb-iot设备的程序升级方法。

基于同样的发明构思,本发明实施例提供了一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述nb-iot设备的程序升级方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

由上述内容可以看出:

本发明实施例中,nb-iot设备向服务器发送当前的软件版本信息,并接收服务器发送的升级指示,该nb-iot设备根据升级指示中的升级文件的属性信息和自身的硬件状态确定是否进行程序升级,若确定进行程序升级,则向服务器发送升级请求,并接收服务器发送的升级文件。如此,由于nb-iot设备可根据接收到的升级文件的属性信息和自身硬件状态来共同判断是否进行程序升级,因而可避免由于服务器无法得知nb-iot设备的硬件状态,主动为nb-iot设备进行程序升级导致升级失败的问题,有效提高了程序升级的效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或两个以上其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1