一种基于Websocket长连接的终端设备固件升级方法及系统与流程

文档序号:17356504发布日期:2019-04-09 21:43阅读:207来源:国知局
一种基于Websocket长连接的终端设备固件升级方法及系统与流程

本发明涉及终端设备固件升级技术领域,具体涉及一种基于websocket长连接的终端设备固件升级方法及系统。



背景技术:

固件就是写入erom(可擦写只读存储器)或eeprom(电可擦可编程只读存储器)中的程序,指的是设备内部保存的设备“驱动程序”,比如光驱、刻录机等都有内部固件,操作系统通过固件才能按照标准的设备驱动实现特定机器的运行动作。

目前,在安防、考勤、人证、视频等领域,终端设备的固件升级绝大部分仍是采用人工手动升级,具体为将安装包存储在u盘、硬盘等存储设备中进行固件烧制,再到终端设备上进行升级操作,或者通过远程连接的方式进行拷贝,再到终端设备上进行升级操作。整个固件升级过程繁琐,耗费了大量的人力资源,操作便利性不足,且用户的体验差。

已有的通过云平台服务器获取固件安装包进行自动升级的方案存在如下问题:一、服务器与终端设备之间需要通过中间件设备进行连接,这一方面增加了硬件成本,另一方面服务器与终端设备不能直接进行消息交互导致消息容易丢失及安全风险增大;二、只能由终端设备向服务器或/中间件设备向服务器发起升级请求,服务器不能主动给物联网终端发起升级指令,一方面无法实现批量升级指示,另一方面如果终端设备当前使用的固件安装存在缺陷,服务器不能及时主动下发升级指令,只能等待终端设备的升级请求消息,时效性不强。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种用户体验好、操作便利的基于websocket长连接的终端设备固件升级方法及系统,一方面终端设备能够主动发送升级请求;另一方面服务器能够主动下发升级指令。

本发明采用如下技术方案:

根据本发明的第一方面,一种基于websocket长连接的终端设备固件升级方法,包括:

终端设备联网后建立与服务器的websocket长连接;所述服务器存储有第一固件安装包和所述第一固件安装包对应的第一下载地址、第一固件标识和第一固件版本;所述终端设备存储有当前使用的第二固件安装包对应的第二固件标识和第二固件版本;

基于所述websocket长连接,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

所述服务器接收对一个或多个终端设备进行固件升级的请求,判断是否存储有与对应终端设备相匹配的第一固件安装包;如果有,则向对应的终端设备发送第一升级指令消息以指示终端设备下载第一固件安装包;所述第一升级指令消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

所述终端设备获取所述第一升级指令消息中的第一固件标识,判断是否与本终端设备当前使用的第二固件安装包对应的第二固件标识相匹配,如果匹配,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述第一升级指令消息还包括第一强制升级标识,如果所述第一强制升级标识为否,则所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,还包括:

所述终端设备获取所述第一升级指令消息中的第一固件版本,判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

终端设备向所述服务器发送第二升级请求消息;所述第二升级请求消息包括终端设备当前使用的第二固件安装包对应的第二固件标识和第二固件版本;

所述服务器接收所述第二升级请求消息,判断是否存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包;如果有,所述服务器向所述终端设备返回第二升级请求的响应消息;所述第二升级请求的响应消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述第二升级请求的响应消息还包括第二强制升级标识,如果所述第二强制升级标识为否,则所述终端设备接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

所述终端设备获取所述第二升级请求的响应消息中的第一固件版本,判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述第一固件标识和第二固件标识均为字符串且包括终端设备厂商标识的字符串部分、固件平台标识的字符串部分和固件类型标识的字符串部分;所述第一固件版本和第二固件版本均为字符串且包括版本号字符串部分。

根据本发明的一个实施方式,所述第一固件标识和所述第一固件版本从所述第一固件安装包的名称中提取;所述第二固件标识和所述第二固件版本从所述第二固件安装包的名称中提取。

另一方面,本发明一种基于websocket长连接的终端设备固件升级系统,包括:

服务器,用于存储第一固件安装包和所述第一固件安装包对应的第一下载地址、第一固件标识和第一固件版本;

终端设备,用于存储当前使用的第二固件安装包对应的第二固件标识和第二固件版本;并在联网后建立与所述服务器的websocket长连接,基于所述websocket长连接从所述服务器获取所述第一下载地址,根据所述第一下载地址下载所述第一固件安装包并进行升级。

根据本发明的一个实施方式,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

所述服务器接收对一个或多个终端设备进行固件升级的请求,判断是否存储有与对应终端设备相匹配的第一固件安装包;如果有,则向对应的终端设备发送第一升级指令消息以指示终端设备下载第一固件安装包;所述第一升级指令消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

终端设备向所述服务器发送第二升级请求消息;所述第二升级请求消息包括终端设备当前使用的第二固件安装包对应的第二固件标识和第二固件版本;

所述服务器接收所述第二升级请求消息,判断是否存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包;如果有,所述服务器向所述终端设备返回第二升级请求的响应消息;所述第二升级请求的响应消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

(1)本发明一种基于websocket长连接的终端设备固件升级方法及系统,终端设备联网后建立与服务器的websocket长连接;基于所述websocket长连接,所述终端设备能够从所述服务器获取服务器存储的第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级;避免了人工对每台终端设备进行手动升级,提高了操作的便利性和用户体验;

(2)本发明一种基于websocket长连接的终端设备固件升级方法及系统,一方面终端设备能够主动发送升级请求实现自动升级;另一方面服务器能够主动下发升级指令,并且服务器能够接收通过操作平台下发的针对一台或多台终端设备、或某一固件类型的所有终端设备等升级请求,以实现批量操作;

(3)本发明一种基于websocket长连接的终端设备固件升级方法及系统,服务器发送给终端设备的消息中包括强制升级标识,用于指示是否强制升级,当所述强制升级表示为是时,则无需对第一固件版本和第二固件版本进行比较,终端设备需下载第一固件安装包进行升级,以纠正当前正在使用固件版本可能存在的缺陷。

上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述及其他目的、优点和特征。

附图说明

图1为本发明实施例的基于websocket长连接的终端设备固件升级方法流程图;

图2为本发明实施例的服务器下发升级指令的消息流程图;

图3为本发明实施例的终端设备主动请求获取升级安装包的消息流程图;

图4为本发明实施例的基于websocket长连接的终端设备固件升级系统结构框图;

图5为本发明实施例的服务器的硬件结构框图。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

参见图1所示,一方面,本发明提出一种基于websocket长连接的终端设备固件升级方法,包括:

s101,终端设备联网后建立与服务器的websocket长连接;所述服务器存储有第一固件安装包和所述第一固件安装包对应的第一下载地址、第一固件标识和第一固件版本;所述终端设备存储有当前使用的第二固件安装包对应的第二固件标识和第二固件版本。

具体的,所述终端设备包括但不限于考勤设备、安防设备、人证识别(对比)终端、门禁机、视屏监控设备和采集器等等。所述终端设备上存储有当前使用的第二固件安装包对应的第二固件标识和第二固件版本。

所述服务器可以是一台服务器,也可以是若干台服务器组成的服务器集群,或者是一个云端服务器。云端服务器是一个超大服务器集群,是云计算服务的重要组成部分,是面向各类互联网用户提供综合业务能力的服务平台。所述服务器上部署有固件升级系统,当所述服务器为云端服务器时,对应的固件升级系统为云端升级系统以实现本发明服务器相关的功能。

所述的第一下载地址为所述服务器通知所述终端设备下载第一固件安装包的地址,所述第一固件标识/第二固定标识用于标识固件所接入的终端设备厂商标识、固件平台标识和固件类型标识等信息,所述第一固件版本用于识别第一固件安装包的版本信息,所述第二固件版本用于识别第二固件安装包的版本信息。

所述第一固件安装包和第二固件安装包,可理解为用于安装固件的安装包,还可为用于升级固件的升级包。所述第一固件安装包和第二固件安装包中的第一和第二只是用来区分服务器上的安装包和终端设备上当前使用的安装包,所述第二固件升级包实际为所述终端设备从第一下载地址下载的第一固件安装包。需要说明的是,用于所述终端设备固件升级的固件安装包,不限于安装软件时所使用的需要解压后再安装的安装包,也可以是一个固件升级的文件数据的集合。该集合包括升级固件、算法文件、底层驱动文件等或与固件相关的部分文件数据,将所述终端设备所需要的文件数据存储在固件安装包中,通过下载第一固件安装包即可对终端设备的固件进行升级。

具体的,所述终端设备联网后,通过服务器固件升级系统的ws地址(如ws://dconn.xxx.com)请求建立与服务器的websocket长连接。

消息交互时,所述终端设备与所述服务器通过约定字段的json格式的消息体进行交互。具体的过程可以是:设备终端通过服务器固件升级系统的ws地址请求建立与服务器的websocket长连接;与服务器交换公钥和私钥作作为后续交互数据加解密的密钥,使得数据能在websocket通道安全传输;通过验证获取服务器固件升级系统的ws地址的登录密码;登录成功后即完成websocket长连接的建立。websocket长连接建立后,所述终端设备需定时发送心跳以维持长连接状态。

本实施方式中,websocket长连接的建立之后,所述终端设备需上报包括设备版本号和设备类型等的设备属性。所述的设备版本号包括所述第二固件标识和第二固件版本,如下:

其中,xk表示固件所接入的终端设备厂商标识,zmm2xx表示固件平台标识,nf表示固件类型标识,所述第二固件标识由所接入的终端设备厂商标识、固件平台标识和固件类型标识组成,ver1.2.3标识用于表示第二固件版本。

由上可知,所述服务器至少包括加密/解密模块和命令处理模块,其中:

消息处理模块,用于对待发送的消息进行封装(具体可以是json格式),以及对接收到解密后的消息(json格式)进行解析和执行,并返回结果;

加密/解密模块,用于根据与终端设备协商的秘钥对待发送的封装消息进行加密,以及对接收的消息进行解密,以实现数据的安全传输。

此外,服务器还可以包括升级包上传/下载管理模块,用于进行上传、下载请求的权限的安全认证,防止用户的非法上传和非法下载。

服务器支持通过安全认证的用户上传和/或下载固件安装包。所述服务器可以接收其它制作版本服务器上传的第一固件安装包,并进行安全认证。具体的,所述第一固件安装包可以是cfg后缀格式的安装包,至少包含upgrade和firmwaredata两个节点。其中upgrade为升级包基本属性节点,该节点下至少包括fwversion(固件版本)属性,该属性用于服务器自动读取版本号使用,以便后续一系列升级信息处理,其他属性可自行拓展。firmwaredata为具体升级包信息,其内容为经过加密后的信息。

s102,基于所述websocket长连接,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级。

由于所述终端设备与所述服务器之间建立了websocket长连接,所以既可以是服务器主动发送消息给终端设备,也可以是终端设备主动发送消息给服务器以实现固件安装包的下载并进行升级。

基于所述websocket长连接,所述终端设备能够从所述服务器获取服务器存储的第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级;避免了人工对每台终端设备进行手动升级,提高了操作的便利性和用户体验。

参见图2所示,根据本发明的一个实施方式,当服务器主动发送消息给终端设备时,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

s201,所述服务器接收对一个或多个终端设备进行固件升级的请求,判断是否存储有与对应终端设备相匹配的第一固件安装包;如果有,则向对应的终端设备发送第一升级指令消息以指示终端设备下载第一固件安装包;所述第一升级指令消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址。

当需要对一个或多个终端设备进行固件升级时,可以在固件升级系统的前台界面上,选择需要进行固件升级的终端设备或者某一固件类型的所有终端设备等,然后下发固件升级请求消息。该应用场景可进行批量操作,能够提高固件升级效率。此外,该应用场景还适用于当发现终端设备当前使用的固件升级包存在缺陷时,需要批量替换以重新安装的情况。

具体的,如果服务器接收对一个或多个终端设备进行固件升级的请求,则立即将第一升级指令推送到设备,可如下所示:

其中,http://xxxxxxx/xxx.cfg表示第一下载地址,xk表示固件所接入的终端设备厂商标识,zmm2xx表示固件平台标识,nf表示固件类型标识,所述第一固件标识由所接入的终端设备厂商标识、固件平台标识和固件类型标识组成,ver1.2.4标识用于表示第一固件版本。

所述的与对应终端设备相匹配的第一固件安装包,所述的匹配可以是通过终端设备厂商标识、固件平台标识和固件类型标识组成的第一固件标识进行匹配,也可以对其他一个进行匹配,还可以是通过其他自定义的标识进行匹配,只要是选择对应终端设备或固件类型等后能够关联出对应的第一固件版本并能下发到对应的终端设备即可,本发明实施方式不做具体限制。

s202,所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,由于是服务器主动发起的升级指令,所述终端设备接收所述第一升级指令消息后,对下发的内容绝对信任,不做任何判断即根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,还可以包括:

所述终端设备接收所述第一升级指令消息后,仍然需要对第一固件标识进行判断,以确认不是服务器误发的消息或其他恶意消息,具体为:所述终端设备获取所述第一升级指令消息中的第一固件标识,判断是否与本终端设备当前使用的第二固件安装包对应的第二固件标识相匹配,如果匹配,根据所述第一下载地址下载所述第一固件安装包以进行升级。此处的匹配,可以理解为第一固件标识和第二固件标识相同。

根据本发明的一个实施方式,如上述示例中的第一升级指令消息,第一升级指令消息还包括第一强制升级标识,如果所述第一强制升级标识为否,则所述终端设备接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,还包括:

所述终端设备获取所述第一升级指令消息中的第一固件版本,判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,根据所述第一下载地址下载所述第一固件安装包以进行升级。

当所述第一强制升级标识force为否(0)时,标识非强制升级,此时,终端设备需要进一步对固件版本进行判断,即判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,根据所述第一下载地址下载所述第一固件安装包以进行升级,如果否的话,则不去第一下载地址下载所述第一固件安装包,不进行升级。

当所述第一强制升级标识force为是(1)时,标识强制升级,此时,终端设备不对固件版本进行判断,直接去第一下载地址下载所述第一固件安装包并进行升级。此种情况可应用在终端设备当前使用的第二固件安装包存在缺陷的情况,需要用高版本进行替换或回退到低版本。

所述终端设备接收到所述第一升级指令消息,需要向服务器回复一个消息,本发明实施方式不再具体列举。

参见图3所示,根据本发明的一个实施方式,当终端设备主动发送消息给服务器进行自动升级时,所述终端设备从所述服务器获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

s301,终端设备向所述服务器发送第二升级请求消息;所述第二升级请求消息包括终端设备当前使用的第二固件安装包对应的第二固件标识和第二固件版本;

具体的,所述终端设备可以定时向所述服务器发送第二升级请求消息以询问是否有高版本的第一固件安装包可用,如果有的话,进行下载并升级。

设备主动发起的第二升级请求消息可如下:

其中,xk表示固件所接入的终端设备厂商标识,zmm2xx表示固件平台标识,nf表示固件类型标识,所述第二固件标识由所接入的终端设备厂商标识、固件平台标识和固件类型标识组成,ver1.2.3标识用于表示第二固件版本。

s302,所述服务器接收所述第二升级请求消息,判断是否存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包;如果有,所述服务器向所述终端设备返回第二升级请求的响应消息;所述第二升级请求的响应消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址。

如下,如果所述服务器判断出存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包(此处的匹配可以理解为相同),则回复如下响应消息。

其中,http://xxxxxxx/xxx.cfg表示第一下载地址,xk表示固件所接入的终端设备厂商标识,zmm2xx表示固件平台标识,nf表示固件类型标识,所述第一固件标识由所接入的终端设备厂商标识、固件平台标识和固件类型标识组成,ver1.2.4标识用于表示第一固件版本。

如下,如果所述服务器判断出没有存储与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包,则回复如下响应消息。

s303,所述终端设备接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

如果所述服务器回复的是“找不到匹配的固件升级包”的响应消息,表明该终端设备目前无可用的最新版本,所述终端设备不进行升级处理。

根据本发明的一个实施方式,如上述示例中服务器有回复第一下载地址时,则第二升级请求的响应消息还包括第二强制升级标识,如果所述第二强制升级标识为否,则所述终端设备接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级,还包括:

所述终端设备获取所述第二升级请求的响应消息中的第一固件版本,判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,下载所述第一固件安装包以进行升级。

当所述第二强制升级标识force为否(0)时,标识非强制升级,此时,终端设备需要进一步对固件版本进行判断,即判断所述第一固件版本是否高于当前使用的第二固件安装包对应的第二固件版本,如果是,根据所述第一下载地址下载所述第一固件安装包以进行升级,如果否的话,则不去第一下载地址下载所述第一固件安装包,不进行升级。

当所述第二强制升级标识force为是(1)时,标识强制升级,此时,终端设备不对固件版本进行判断,直接去第一下载地址下载所述第一固件安装包并进行升级。此种情况可应用在终端设备当前使用的第二固件安装包存在缺陷的情况,需要用高版本进行替换或回退到低版本。

根据本发明的一个实施方式,如前面所提及到的,所述第一固件标识和第二固件标识均为字符串且包括终端设备厂商标识的字符串部分、固件平台标识的字符串部分和固件类型的字符串部分;所述第一固件版本和第二固件版本均为字符串且包括版本号字符串部分。进行固件标识比对时,需逐一比对第一固件标识和第二固件标识的终端设备厂商标识的字符串部分、固件平台标识的字符串部分和固件类型的字符串部分是否全部相同,如果全部相同,则判断为匹配,否则,判断为不匹配。比较所述第一固件版本和第二固件版本的高低时,从前往后进行比较,如果第一固件版本出现大于第二固件版本的字符串,则判断出第一固件版本高于第二固件版本,如上的ver1.2.4与ver1.2.3。

根据本发明的一个实施方式,一方面fwversion固件版本属性(包括固件标识和固件版本)可以从固件安装包的upgrade中获取,另一方面,如果固件安装包的名称中包括固件标识和固件版本,所述第一固件标识和所述第一固件版本也可以从所述第一固件安装包的名称中提取;所述第二固件标识和所述第二固件版本可以从所述第二固件安装包的名称中提取。具体的,所述第一固件安装包的名称和所述第二固件安装包的名称均包括终端设备厂商标识的字符串部分、固件平台标识的字符串部分、固件类型的字符串部分和版本号字符串部分。这种情况下,固件安装包也可以不包括upgrade节点。

参见图4所示,根据本发明的另一方面,提供一种基于websocket长连接的终端设备固件升级系统,包括:

服务器401,用于存储第一固件安装包和所述第一固件安装包对应的第一下载地址、第一固件标识和第一固件版本;

终端设备402,用于存储当前使用的第二固件安装包对应的第二固件标识和第二固件版本;并在联网后建立与所述服务器401的websocket长连接,基于所述websocket长连接从所述服务器401获取所述第一下载地址,根据所述第一下载地址下载所述第一固件安装包并进行升级。

根据本发明的一个实施方式,所述终端设备402从所述服务器401获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

所述服务器401接收对一个或多个终端设备402进行固件升级的请求,判断是否存储有与对应终端设备402相匹配的第一固件安装包;如果有,则向对应的终端设备402发送第一升级指令消息以指示终端设备402下载第一固件安装包;所述第一升级指令消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备402接收所述第一升级指令消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

根据本发明的一个实施方式,所述终端设备402从所述服务器401获取所述第一下载地址,并根据所述第一下载地址下载所述第一固件安装包以进行升级,包括:

终端设备402向所述服务器401发送第二升级请求消息;所述第二升级请求消息包括终端设备402当前使用的第二固件安装包对应的第二固件标识和第二固件版本;

所述服务器401接收所述第二升级请求消息,判断是否存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包;如果有,所述服务器401向所述终端设备402返回第二升级请求的响应消息;所述第二升级请求的响应消息包括与所述第一固件安装包对应的第一固件标识、第一固件版本和第一下载地址;

所述终端设备402接收所述第二升级请求的响应消息,根据所述第一下载地址下载所述第一固件安装包以进行升级。

图5示出了本发明实施例提供的服务器的硬件结构框图,参见图5所示,该服务器可以包括:处理器501,通信接口502,存储器503和通信总线504;其中,处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信。

具体的,通信接口502可以为通信模块的接口,如gsm模块的接口;处理器501,用于执行程序;存储器503,用于存放程序、数据和第一固件安装包;程序可以包括程序代码,所述程序代码包括计算机操作指令。处理器501可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。存储器503可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,程序可具体用于:

接收终端设备发送的websocket长连接请求,响应所述websocket长连接请求以建立websocket长连接。

还可用于:

接收对一个或多个终端设备进行固件升级的请求,判断是否存储有与对应终端设备相匹配的第一固件安装包;如果有,则向对应的终端设备发送第一升级指令消息以指示终端设备下载第一固件安装包。

以及可用于:

接收终端设备发送第二升级请求消息,判断是否存储有与所述第二固件标识相匹配的第一固件标识及与所述第一固件标识对应的第一固件安装包;如果有,向所述终端设备返回第二升级请求的响应消息。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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

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