一种物流追溯设备的软件远程升级的方法转让专利

申请号 : CN201910531897.3

文献号 : CN110278114A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李明

申请人 : 深圳逗号互联科技有限公司

摘要 :

本发明提供一种物流追溯设备的软件远程升级的方法,包括多个服务器和设备端,所述服务器包括一般服务器和OTA服务器,设备端与一般服务器通信并上报设备的软件版本号,一般服务器根据版本号决定是否通知物流追溯设备升级,如果是则执行:一般服务器向设备端发送升级指令,设备端根据升级指令与其中一个OTA服务器通信并执行软件升级。本发明的有益效果是:利用设备终端和服务器的数据包传输协议优化设备端的功耗,解决断点续传功能,支持不同类型的设备终端适用性,降低服务器负载,提高服务器吞吐率,采用服务器重定向技术摆脱具体服务器架构依赖,采用精巧的交互式协议节省带宽流量,使用加密对等加密算法提高数据的安全性。

权利要求 :

1.一种物流追溯设备的软件远程升级的方法,包括多个服务器和设备端,其特征在于,所述服务器包括一般服务器和OTA服务器,设备端与一般服务器通信并上报设备的软件版本号,一般服务器根据版本号决定是否通知物流追溯设备升级,如果是则执行:一般服务器向设备端发送升级指令,设备端根据升级指令与其中一个OTA服务器通信并执行软件升级。

2.根据权利要求1所述的方法,其特征在于,所述一般服务器可根据当前的网络吞吐量、网络并发量、系统负载情况、设备对应的软件版本因素,决定是否发送升级指令。

3.根据权利要求1所述的方法,其特征在于,通知指令包括通知升级命令包,通知升级命令包是一个通过UDP协议发送设备端的数据包负载,数据包负载里包含关键字段:通知升级命令识别码、待升级的文件识别码、OTA升级的服务器IP、OTA升级的服务器网络端口。

4.根据权利要求3所述的方法,其特征在于,通知升级命令识别码是与设备端通过UDP通讯过程中的数据包唯一识别码,当设备端接收到的数据包的通知升级命令识别码,则认为收到了通知升级命令。

5.根据权利要求2所述的方法,其特征在于,设备端根据OTA升级服务器IP和端口号与符合条件的服务器通信,如果需要接受OTA升级时,根据指定的服务器IP和端口号的服务器去进行OTA升级。

6.根据权利要求1所述的方法,其特征在于,OTA升级服务器主要负责设备端的OTA请求,OTA请求包括多种请求命令包,包括:OTA文件信息请求包,OTA数据请求包,其中OTA文件信息请求包是设备用来获取服务器端通知升级的设备软件程序文件的文件信息,服务器端回复文件信息后将包括文件大小、文件校验码。

7.根据权利要求6所述的方法,其特征在于,所述OTA数据请求包会在设备端收到文件信息后才开始,OTA数据请求包会指示出本次请求数据的长度,已经接收的数据长度,OTA服务器根据当前已接收的数据长度、待读取请求的数据长度,将数据包进行加密和计算校验码后,按照交互协议格式封包发送给设备端。

8.根据权利要求6所述的方法,其特征在于,当设备端收到数据包后会进行解密,并进行校验码计算同时和服务器端的校验码进行比对,如果校验码出错,则执行丢弃本次数据,反之则执行:校验码正确则保存到文件;设备端收取完整的OTA文件再对整个文件进行校验码计算和比对,如果校验码出错,则执行丢弃OTA数据文件,发送错误报告给OTA服务器,同时结束OTA升级过程。

9.根据权利要求1所述的方法,其特征在于,设备端程序分为bootloader区域和application区域,BootLoader区域通常在重启时最先运行,运行后将检查是否有新的OTA文件需要升级,则执行:擦除原有的application区域的程序数据,用新的OTA文件数据覆盖替换原有application区域。

10.根据权利要求9所述的方法,其特征在于,所述设备端application程序运行时会根据GPRS网络的状况决定是否与服务器交互,如果网络状况太差,则执行:设备端进入低功耗休眠状态,从而降低功耗。

说明书 :

一种物流追溯设备的软件远程升级的方法

技术领域

[0001] 本发明涉及一种应用于仓储、物流、快递等领域,特别是一种物流追溯设备的软件远程升级的方法。

背景技术

[0002] OTA技术是解决设备在运行过程中通过无线传输技术实现远程升级软件的方法。在现有GPRS终端设备市场中OTA功能功耗大,适用性灵活度低,不支持断点续传,OTA服务器网络负载大,并发量低,不支持分布式,不支持负载均衡,交互协议复杂,流量消耗大,安全性低等缺点。OTA技术本身是非常常用的一种远程无线升级软件程序的方法。但是现有技术都只突出实现远程升级的功能本身,并没有在实用环境中针对低功耗设备,服务器等资源情况进行优化。

发明内容

[0003] 本技术方案分为服务器和GPRS物流追溯设备终端两部分组成一个OTA系统。利用设备终端和服务器的数据包传输协议优化设备端的功耗,解决断点续传功能,支持不同类型的设备终端适用性,降低服务器负载,提高服务器吞吐率,采用服务器重定向技术摆脱具体服务器架构依赖,采用精巧的交互式协议节省带宽流量,使用加密对等加密算法提高数据的安全性。
[0004] 一种物流追溯设备的软件远程升级的方法,包括多个服务器和设备端,所述服务器包括一般服务器和OTA服务器,设备端与一般服务器通信并上报设备的软件版本号,一般服务器根据版本号决定是否通知物流追溯设备升级,如果是则执行:一般服务器向设备端发送升级指令,设备端根据升级指令与其中一个OTA服务器通信并执行软件升级。
[0005] 进一步的,所述一般服务器可根据当前的网络吞吐量、网络并发量、系统负载情况、设备对应的软件版本因素,决定是否发送升级指令。
[0006] 进一步的,通知指令包括通知升级命令包,通知升级命令包是一个通过UDP协议发送设备端的数据包负载,数据包负载里包含关键字段:通知升级命令识别码,待升级的文件识别码,OTA升级的服务器I P,OTA升级的服务器网络端口。
[0007] 进一步的,通知升级命令识别码是与设备端通过UDP通讯过程中的数据包唯一识别码,当设备端接收到的数据包的通知升级命令识别码,则认为收到了通知升级命令。
[0008] 进一步的,设备端根据OTA升级服务器I P和端口号与符合条件的服务器通信,如果需要接受OTA升级时,根据指定的服务器I P和端口号的服务器去进行OTA升级。
[0009] 进一步的,所述OTA升级服务器主要负责设备端的OTA请求,OTA请求包括多种请求命令包,包括:OTA文件信息请求包,OTA数据请求包,其中OTA文件信息请求包是设备用来获取服务器端通知升级的设备软件程序文件的文件信息,服务器端回复文件信息后将包括文件大小、文件校验码。
[0010] 进一步的,所述OTA数据请求包会在设备端收到文件信息后才开始,OTA数据请求包会指示出本次请求数据的长度,已经接收的数据长度,OTA服务器根据当前已接收的数据长度、待读取请求的数据长度,将数据包进行加密和计算校验码后,按照交互协议格式封包发送给设备端。
[0011] 进一步的,当设备端收到数据包后会进行解密,并进行校验码计算同时和服务器端的校验码进行比对,如果校验码出错,则执行丢弃本次数据,反之则执行:校验码正确则保存到文件;设备端收取完整的OTA文件再对整个文件进行校验码计算和比对,如果校验码出错,则执行丢弃OTA数据文件,发送错误报告给OTA服务器,同时结束OTA升级过程。
[0012] 进一步的,设备端程序分为bootloader区域和application区域,BootLoader区域通常在重启时最先运行,运行后将检查是否有新的OTA文件需要升级,则执行:擦除原有的application区域的程序数据,用新的OTA文件数据覆盖替换原有application区域。
[0013] 进一步的,所述设备端application程序运行时会根据GPRS网络的状况决定是否与服务器交互,如果网络状况太差,则执行:设备端进入低功耗休眠状态,从而降低功耗。
[0014] 本系统采用GPRS网络传输数据,且支持断点续传,支持GPRS网络抖动带来的故障容错。OTA协议设计精巧,指令简单、灵活。支持服务器端高并发、低带宽占用,不依赖与特定的服务器架构。设备端支持低功耗休眠,采用UDP协议与服务器通讯,相比现有的TCP要简单。支持设备端远距离移动化操作,不依赖于某一个特定的网络服务。可以跨网,跨区域实现OTA升级操作。

附图说明

[0015] 图1是本发明的软件远程升级方法的流程示意图。
[0016] 图2是本发明的OAT升级流程图。

具体实施方式

[0017] 以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
[0018] 本系统分为服务器端和设备终端两部分,下面分别阐述这两个部分的在OTA系统中的功能。
[0019] 如图1所示,一种物流追溯设备的软件远程升级的方法,包括服务器端和设备端,服务器端包括一般服务器和OTA服务器,设备端与一般服务器通信并上报设备的软件版本号,一般服务器根据版本号决定是否通知物流追溯设备升级,如果是则执行:一般服务器向设备端发送升级指令,设备端根据升级指令与其中一个OTA服务器通信并执行软件升级。
[0020] 服务器端:服务器在本系统中不特指某一台具体的服务器,而是根据功能类型划分两种服务器,但是这两种服务器可以是同一台或者多台不同的物理服务器机器。其中第一类服务器叫做普通功能服务器,第二类叫做OTA升级服务器。2种服务器的功能可以由同一台物理服务器来执行。
[0021] 设备端:不特指的物流追溯设备。
[0022] 具有普通功能的一般服务器根据设备端上报的版本号,决定是否通知设备端升级。在做这个决定时,服务器可以根据当前的网络吞吐量、网络并发量、系统负载情况、设备对应的软件版本等因素。如果需要,则当前服务器仅仅只需要发送给设备端一个通知升级的命令即可。后续的其他升级操作可以根据服务器架构来决定与哪个服务器进行OTA数据升级过程,当然也可以是当前同一个服务器。这以便于做负载均衡和方便服务器端的分布式架构等。不过此时重点在于这个通知升级命令包的设计。通知升级命令包,其是一个通过UDP协议发送设备端的数据包负载。数据包负载里包含两个关键字段:通知升级命令识别码,待升级的文件识别码,OTA升级的服务器IP,OTA升级的服务器网络端口。其中通知升级命令识别码是与设备端通过UDP通讯过程中的数据包唯一识别码,只要设备端接收到的数据包的识别码是这个识别码,则认为受到了通知升级命令。其待升级文件识别码则是服务器存放的设备软件文件的唯一识别码,用来区分不同版本的软件文件,就好比一个文件名一样,在之后的升级过程中会利用这个识别码请求服务器上的升级文件。OTA升级服务器IP和端口号决定了设备如果需要接受OTA升级时,这一台指定的服务器IP和端口号去进行OTA升级。当然根据架构的不同这个IP和端口号可以是当前服务器的IP和端口号,也可以是另外的服务器IP和端口号。这样做的目的是灵活,不依赖具体的服务器,方便服务器的架构扩展,实现服务器端负载均衡等。
[0023] 如图2所示,OTA升级服务器主要负责设备端的OTA请求。OTA请求包括多种请求命令包,比较重要的命令包包括:OTA文件信息请求包,OTA数据请求包。其OTA文件信息请求包是设备用来获取服务器端通知升级的设备软件程序文件的文件信息。服务器端回复文件信息后将包括文件大小、文件校验码。数据请求包会在收到文件信息后才开始,数据请求包会指示出本次请求数据的长度,已经接收的数据长度。服务器根据当前已接收的收据长度往后读取请求的数据长度并进行加密和计算校验码后按照交互协议格式封包发送给设备端。当设备端收到数据包后会进行解密,在进行校验码计算的同时和服务器端的校验码进行比对,如果校验码出错,则丢弃本次数据,反之校验码正确则保存到文件。如此设备端往复和服务器进行数据包请求和回复过程接收完所有OTA数据后再对整个文件进行校验码计算和比对。正确则完整收取OTA文件,否则丢弃OTA数据文件,发送错误报告给服务器端,同时结束OTA升级过程。设备端待接收完正确的OTA数据文件后,将重启进入自升级过程,升级过程会将收到的OTA文件数据覆盖原有的设备程序区域,然后运行新的设备程序。
[0024] 设备端程序分为bootloader区域和application区域,BootLoader区域通常在重启时最先运行,运行后将检查是否有新的OTA文件需要升级,并最后跳转到application区域运行application程序,即擦除原有的application区域的程序数据,用新的OTA文件数据覆盖替换原有application区域。Application程序是设备的主体功能,并负责与服务器联网进行数据收发和OTA数据升级等操作。设备端application程序运行时会根据GPRS网络的状况决定是否与服务器交互。如果网络状况太差,设备将会进入低功耗休眠状态,从而降低功耗。设备端在进行OTA升级过程中会保存OTA文件信息和当前已经收到的OTA数据以及长度。从而决定接下来如何发送OTA请求包,也便于断点续传。
[0025] 采用本发明的技术方案,在使用过程中,本系统的终端设备由于使用GPRS网络传输数据,所以需要考虑低功耗,低流量消耗,支持断点续传,支持加解密传输等功能。而服务器端需要解决高并发、高吞吐,支持断点续传,支持不同机型,不同终端软件版本的分发等功能。
[0026] 另外本系统将依附于GPRS网络采用UDP协议传输数据包,与现有技术采用长连接的TCP协议不同。TCP协议属于长连接,相对于UDP协议来说更加占用资源,对网络连接状态要求较高。而在GPRS网络中运行的低功耗设备终端多数情况下其网络状态时好时坏,而UDP协议原理是无连接的,通讯过程双方握手简单,无需维护链路状态,从而进一步降低对网络连接状态的要求。
[0027] 另外本OTA系统,将对待远程升级的终端软件文件进行封包、分包、加密等工作。对文件进行版本唯一识别码标定,用来区别不同软件文件。
[0028] 其次本OTA系统,服务器端根据设备上报的数据包里携带的软件版本号来判断是否通知设备升级。从而将由服务器决定某一时段内OTA升级的设备,可以很好的管理网络负载。设备根据收到升级通知后决定是否升级,并且根据自身情况发送请求升级的文件信息、当前已接收数据长度、本次请求数据长度等信息包。
[0029] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。