远程固件升级控制方法及系统与流程

文档序号:11917712阅读:400来源:国知局
远程固件升级控制方法及系统与流程

本发明涉及固件升级控制技术领域,尤其涉及一种远程固件升级控制方法及系统。



背景技术:

固件升级,指的是对硬件设备的内嵌固件进行升级。固件升级可以完善机器功能、增强机器稳定性、修补机器漏洞。由于高版本常常修复低版本的部分BUG(漏洞),所以经历了固件升级的升级版本,一般都会比原版本的性能更好,得到优化的效果,用户也能有更好的体验。

由于固件升级中升级的硬件设备往往是不够智能的硬件设备,难以像软件升级的控制方式一般,在发布新版本之后,通过智能终端自动检测版本信息,接收用户输入的更新指令,然后再进行更新。因此,对于硬件设备无法自动检测版本信息的情况下,需要通过人工的方式逐一到现场进行每个硬件设备的升级控制,该方式人力成本高。



技术实现要素:

基于此,有必要提供一种节约人力成本的远程固件升级控制方法及系统。

一种远程固件升级控制方法,包括:

交互平台接收升级配置指令;所述升级配置指令包括升级固件的固件代码标识及版本号;

所述交互平台根据所述升级配置指令,发送升级数据信息至服务平台;所述升级数据信息包括所述升级固件的固件代码标识及版本号;

所述服务平台根据接收的所述升级数据信息中的固件代码标识及版本号,获取目标升级对象的通信设备的MAC地址;

所述服务平台根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备;

所述通信设备在根据接收的升级数据包确定为升级自身时,进行固件升级。

一种远程固件升级控制系统,包括:交互平台、服务平台及通信设备;所述交互平台包括配置指令接收模块、升级信息发送模块;所述服务平台包括MAC地址模块、升级数据包发送模块;

所述配置指令接收模块,用于接收升级配置指令;所述升级配置指令包括升级固件的固件代码标识及版本号;

所述升级信息发送模块,用于根据所述升级配置指令,发送升级数据信息至服务平台;所述升级数据信息包括所述升级固件的固件代码标识及版本号;

所述MAC地址模块,用于根据接收的所述升级数据信息中的固件代码标识及版本号,获取目标升级对象的通信设备的MAC地址;

所述升级数据包发送模块,用于根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备;

所述通信设备在根据接收的升级数据包确定为升级自身时,进行固件升级。

上述远程固件升级控制方法及系统,可以实现远程固件自动升级,无需通过人工的方式逐一到现场进行每个硬件设备的升级控制,因此,该远程固件升级控制方法及系统省去了专人亲临现场升级的麻烦,可以节约人力成本、提高升级效率。

附图说明

图1为第一实施例的远程固件升级控制方法的流程图;

图2为第二实施例的远程固件升级控制方法的流程图;

图3为图1或图2的远程固件升级控制方法的一个步骤的具体流程图;

图4为图3的具体流程图的一个子步骤的子流程图;

图5为第三实施例的远程固件升级控制方法的流程图;

图6为第一实施例的远程固件升级控制系统的结构图;

图7为第二实施例的远程固件升级控制系统的结构图;

图8为第三实施例的远程固件升级控制系统的结构图;

图9为第四实施例的远程固件升级控制系统的结构图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。

为方便说明,首先介绍本发明的运行环境,包括交互平台、服务平台及通信设备。其中,服务平台为存储有升级固件及升级固件的固件信息、升级对象信息的服务器,优选为云服务器,具体可以为GDCS(Gizwits Device Connection System,机智云设备接入系统)服务器;交互平台为提供用户与服务平台的交互服务的服务器,具体可以为GDMS(Gizwits Device Management System,机智云设备管理系统)服务器;通信设备可以与交互平台及服务平台进行通信的设备;产品设备为实现一些作业功能的设备。每一个通信设备可对应一个或多个升级对象,升级对象可以是通信设备自身,也可以是与通信设备连接的产品设备。通信设备可以为WiFi(WIreless-FIdelity,无线保真)模块,WiFi模块存储有实现具体通信功能的固件;产品设备包括设备MCU(Microcontroller Unit,微控制单元),设备MCU存储有实现具体作业功能的固件。可以理解地,多个产品设备对应一个通信设备。每一个通信设备均具有一个用于通信的MAC地址(Media Access Control或者Medium Access Control地址,媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置)。

如图1所示,本发明一实施例的远程固件升级控制方法,包括:

S140:交互平台接收升级配置指令。所述升级配置指令包括升级固件的固件代码标识及版本号。

交互平台可以以建立升级任务的形式,接收升级配置指令。具体地,升级配置指令还可以包括升级完成时间、固件数量等。

S150:所述交互平台根据所述升级配置指令,发送升级数据信息至服务平台。所述升级数据信息包括所述升级固件的固件代码标识及版本号。

交互平台可以以发送升级任务至服务平台的形式,发送升级数据信息至服务平台。具体地,升级数据信息还可以包括升级完成时间、固件数量等。

S160:所述服务平台根据接收的所述升级数据信息中的固件代码标识及版本号,获取目标升级对象的通信设备的MAC地址。

可以理解地,服务平台存储有升级固件的固件信息、升级对象信息的服务器。其中,固件信息包括固件代码标识、版本号、固件大小;具体地,固件代码标识可以为固件代码名称、固件代码编号等。升级对象信息包括需要升级的设备的设备信息,设备信息包括设备对应的通信设备的MAC地址,以及设备标识或/及设备对应的固件的固件代码标识。

S170:所述服务平台根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备。

可以理解地,升级数据包包括升级数据信息。根据升级数据信息形成升级数据包;根据MAC地址将升级数据包发送至MAC地址所对应的通信设备。

S180:所述通信设备在根据接收的升级数据包确定为升级自身时,进行固件升级。

通信设备可以通过固件代码标识确定是否为升级自身。具体地,可以通过比对通信设备中当前运行固件的固件代码标识是否与接收的升级数据包中的固件代码标识一致来确定是否为升级自身。若一致,则为升级自身,否则不为升级自身。当确定为升级自身时,进行固件升级。可以理解地,通信设备也可以通过设备标识确定是否为升级自身,即通过比对通信设备的设备标识与接收的升级数据包中的设备标识是否一致来确定是否为升级自身。

上述一种远程固件升级控制方法,交互平台接收升级配置指令;所述升级配置指令包括升级固件的固件代码标识及版本号;所述交互平台根据所述升级配置指令,发送升级数据信息至服务平台;所述升级数据信息包括所述升级固件的固件代码标识及版本号;所述服务平台根据接收的所述升级数据信息中的固件代码标识及版本号,获取目标升级对象的通信设备的MAC地址;所述服务平台根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备;所述通信设备在根据接收的升级数据包确定为升级自身时,进行固件升级。如此,实现远程固件自动升级,无需通过人工的方式逐一到现场进行每个硬件设备的升级控制,因此,该远程固件升级控制方法省去了专人亲临现场升级的麻烦,可以节约人力成本、提高升级效率。

请参阅图2,在其中一个实施例中,为了使用户可以通过交互平台查看到升级结果,还包括:

S290:所述通信设备升级完成后,发送升级反馈信息至所述服务平台。所述升级反馈信息包括升级完成后所述通信设备中当前运行固件的固件代码标识及版本号。

S2A0:所述服务平台接收到所述升级反馈信息后,根据所述当前运行固件的固件代码标识及版本号与所述升级固件的固件代码标识及版本号是否一致,确定升级结果,并将所述升级结果返回所述交互平台。

具体地,当当前运行固件的固件代码标识及版本号与所述升级固件的固件代码标识及版本号一致时,升级结果为升级成功;当当前运行固件的固件代码标识或版本号与所述升级固件的固件代码标识或版本号不一致时,升级结果为升级失败。

在其中一个实施例中,为方便用户在控制设备进行远程固件升级时,方便地确定升级对象,所述交互平台接收升级配置指令的步骤之前,还包括:

S210:所述交互平台接收升级对象查询指令,并根据所述升级对象查询指令发送升级对象查询请求至所述服务平台。

升级对象查询指令是用户输入至交互平台、针对升级对象的查询指令。具体地,所述升级对象查询指令包括目标升级对象的固件代码标识、版本号、条形码、产品类型。如此,用户无需记住每一个目标升级对象的具体MAC地址,便可以通过目标升级对象的固件代码标识、版本号、条形码及产品类型设置筛选条件,进而通过服务平台查找到符合筛选条件的升级对象信息。可以理解地,在其中一个具体实施例中,升级对象查询请求可以包括该筛选条件。

S230:所述服务平台根据所述升级对象查询请求返回升级对象信息至所述交互平台。

服务平台根据升级对象查询请求,查询对应的升级对象信息,并将查询到的升级对象信息返回至交互平台,以使用户可以根据交互平台上的升级对象信息输入升级配置指令。

在本实施例中,所述交互平台接收升级配置指令的步骤为,S240:所述交互平台在所述升级对象信息的基础上,接收升级配置指令。

基于服务平台返回的升级对象信息,交互平台接收升级配置指令。可以理解地,升级配置指令中包括升级对象信息。如,具体地,升级配置指令中可以包含升级对象的固件代码标识。

请参阅图3,所述通信设备在根据接收到的所述升级数据包确定为升级自身时,进行固件升级的步骤,包括:

S381:所述通信设备接收所述服务平台发送的升级数据包。所述服务平台发送的升级数据包包括所述升级数据信息及所述升级数据信息对应的升级固件的第一校验码。

可以理解地,在本实施例中,所述服务平台根据MAC地址、升级数据信息及升级数据信息对应的升级固件,发送升级数据包至通信设备。具体地,服务平台对升级固件进行校验得到第一校验码;将第一校验码及升级数据信息形成升级数据包,发送至MAC地址对应的通信设备。

S383:所述通信设备根据接收的升级数据包从所述服务平台获取所述升级数据信息对应的升级固件,并对获取的升级固件进行检验得到第二校验码。

S385:若所述第一校验码与所述第二校验码一致,则所述通信设备进行固件升级。

如此,确定通信设备接收到的升级数据包中包含的服务平台对升级固件进行校验得到的第一校验码与通信设备接收到的升级固件并对其进行校验得到的第二校验码一致,从而,确定接收到的升级数据包及升级固件无误,通信设备才进行固件升级,避免因升级数据包或升级固件有误而导致升级失败。

请参阅图4,进一步地,所述若所述第一校验码与所述第二校验码一致,则所述通信设备进行固件升级的步骤,包括:

S4851:若所述第一校验码与所述第二校验码一致,所述通信设备将接收的升级数据包存储至所述通信设备的临时存放区,并运行所述通信设备的初运行区中的固件。

S4853:当获取的升级固件是对所述通信设备自身进行升级的固件时,所述通信设备将获取的升级固件存储至所述通信设备中的升级后运行区。

S4855:所述通信设备对所述升级后运行区中存储的升级固件进行校验得到第三校验码。

S4857:当所述第三校验码与所述第一校验码一致时,所述通信设备将所述通信设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。

可以理解地,在本实施例中,通信设备包括初运行区、临时存放区及升级后运行区。其中,初运行区为出厂时烧录设备对应的固件的运行区域;升级后运行区为后续对设备进行升级后运行的固件的运行区域;临时存放区用于存储一些临时文件或数据。进一步地,当第一校验码与第二校验码一致,将接收的升级数据包存储至通信设备的临时存放区,并运行通信设备的初运行区中的固件,然后确定根据接收的升级数据包从服务平台获取所述升级数据信息对应的升级固件是否为升级自身。在确定为升级自身时,通信设备进行固件升级。具体地,通信设备进行固件升级的步骤包括:通信设备将获取的升级固件存储至所述通信设备中的升级后运行区;通信设备将所述通信设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。更具体地,通信设备将获取的升级固件存储至所述通信设备中的升级后运行区之后,对所述升级后运行区中存储的升级固件进行校验得到第三校验码;当所述第三校验码与所述第一校验码一致时,所述通信设备将所述通信设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。如此,确保升级后运行区中存储的升级固件的校验码与服务平台发送至通信设备的升级数据包中的校验码一致,从而确保升级后运行区中的升级数据包及升级固件无误,也即,保证传输的准确性和成功率,才运行升级后运行区,实现通信设备的固件升级。

开始升级但未升级完成之前通信设备中运行的是初运行区的固件,当升级数据包及升级固件存储至升级后运行区后,才切换至升级后运行区运行,如果升级数据包或/及升级固件未成功存储至升级后运行区,则保持运行初运行区的固件。如此,保证设备在因断电或数据传输错误/失败情况下设备仍能正常运行,提高了设备的鲁棒性。

在其中一个具体实施例中,步骤S4857,包括:

当所述第三校验码与存储在临时存放区的第一校验码一致时,所述通信设备将所述通信设备中临时存储区的升级数据包存储至升级后运行区;

当存储至升级后运行区中的第一校验码与第三校验码一致时,所述通信设备切换至所述升级后运行区运行。

如此,保证升级后运行区中的第一校验码与升级后运行区中的升级固件的第三校验码一致,从而确保所述通信设备升级后运行区中的升级数据包及升级固件无误。

请参阅图5,在其中一个实施例中,所述服务平台根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备的步骤之后,包括:

S580:所述通信设备在根据接收的升级数据包确定为不是升级自身时,将接收的升级数据包广播至与所述通信设备连接的产品设备。

若通信设备根据接收的升级数据包确定为不是升级自身,则升级对象应该是与该通信设备连接的产品设备。因此,需要将升级数据包广播至与该通信设备连接的产品设备。

S581:所述产品设备接收所述通信设备广播的升级数据包。所述通信设备广播的升级数据包包括升级数据信息及所述升级数据信息对应的升级固件的第一校验码。

可以理解地,在本实施例中,所述服务平台根据MAC地址、升级数据信息及升级数据信息对应的升级固件,发送升级数据包至通信设备。具体地,服务平台对升级固件进行校验得到第一校验码;将第一校验码及升级数据信息形成升级数据包,发送至MAC地址对应的通信设备;通信设备将该升级数据包广播至产品设备。

S583:所述产品设备根据接收的升级数据包从所述服务平台获取所述升级数据信息对应的升级固件,并对获取的升级固件进行校验得到第二校验码。

S585:若所述第一校验码与所述第二校验码一致,则所述产品设备进行固件升级。

如此,确定产品设备接收到的升级数据包中包含的服务平台对升级固件进行校验得到的第一校验码与产品设备对接收到的升级固件进行校验得到的第二校验码一致,从而,确定接收到的升级数据包及升级固件无误,产品设备才进行固件升级,避免因升级数据包或升级固件有误而导致升级失败。

进一步地,所述若所述第一校验码与所述第二校验码一致,则所述产品设备进行固件升级的步骤,包括:

(a)、若所述第一校验码与所述第二校验码一致,所述产品设备将接收的升级数据包存储至所述产品设备的临时存放区,并运行所述产品设备的初运行区中的固件。

(b)、当获取的升级固件是对所述产品设备自身进行升级的固件时,所述产品设备将获取的升级固件存储至所述产品设备中的升级后运行区。

(c)、所述产品设备对所述升级后运行区中存储的升级固件进行校验得到第三校验码。

(d)、当所述第三校验码与所述第一校验码一致时,所述产品设备将所述产品设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。

可以理解地,在本实施例中,产品设备包括初运行区、临时存放区及升级后运行区。其中,初运行区为出厂时烧录设备对应的固件的运行区域;升级后运行区为后续对设备进行升级后运行的固件的运行区域;临时存放区用于存储一些临时文件或数据。进一步地,当第一校验码与第二校验码一致,将接收的升级数据包存储至产品设备的临时存放区,并运行产品设备的初运行区中的固件,然后确定根据接收的升级数据包从服务平台获取所述升级数据信息对应的升级固件是否为升级自身。在确定为升级自身时,产品设备进行固件升级。具体的,产品设备进行固件升级的步骤包括:产品设备将获取的升级固件存储至所述产品设备中的升级后运行区;产品设备将所述产品设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。更具体地,产品设备将获取的升级固件存储至所述产品设备中的升级后运行区之后,对所述升级后运行区中存储的升级固件进行校验得到第三校验码;当所述第三校验码与所述第一校验码一致时,产品设备将所述产品设备中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。如此,确保升级后运行区中存储的升级固件的校验码与服务平台发送至产品设备的升级数据包中的校验码一致,从而确保升级后运行区中的升级数据包及升级固件无误,也即,保证传输的准确性和成功率,才运行升级后运行区,实现产品设备的固件升级。

开始升级但未升级完成之前产品设备中运行的是初运行区的固件,当升级数据包及升级固件存储至升级后运行区后,才切换至升级后运行区运行,如果升级数据包或/及升级固件未成功存储至升级后运行区,则保持运行初运行区的固件。如此,保证设备在因断电或数据传输错误/失败情况下设备仍能正常运行,提高了设备的鲁棒性。

可以理解地,产品设备的临时存放区和升级后运行区可以合并为一个flash(闪存)区域,该flash区域可以命名为升级后运行区。此时,步骤(a)和(b)可合并为:

若所述第一校验码与所述第二校验码一致,所述产品设备将接收的升级数据包存储至所述产品设备的升级后运行区,并运行所述产品设备的初运行区中的固件数据。

在其中一个具体实施例中,步骤(d),包括:

I)、当所述第三校验码与存储在临时存放区的第一校验码一致时,所述产品设备将所述产品设备中的升级数据包存储至升级后运行区;

II)、当存储至升级后运行区中的第一校验码与第三校验码一致时,所述产品设备切换至所述升级后运行区运行。

如此,保证升级后运行区中的第一校验码与升级后运行区中的升级固件的第三校验码一致,从而确保所述产品设备升级后运行区中的升级数据包及升级固件无误。

优选地,上述实施例中的校验码可以为MD5校验码。

请参阅图6,本发明还提供一实施例的远程固件升级控制系统,包括:交互平台100、服务平台200及通信设备300;所述交互平台100包括配置指令接收模块140、升级信息发送模块150;所述服务平台200包括MAC地址模块260、升级数据包发送模块270;

所述配置指令接收模块140,用于接收升级配置指令;所述升级配置指令包括升级固件的固件代码标识及版本号;

所述升级信息发送模块150,用于根据所述升级配置指令,发送升级数据信息至服务平台;所述升级数据信息包括所述升级固件的固件代码标识及版本号;

所述MAC地址模块260,用于根据接收的所述升级数据信息中的固件代码标识及版本号,获取目标升级对象的通信设备的MAC地址;

所述升级数据包发送模块270,用于根据所述MAC地址及所述升级数据信息,发送升级数据包至所述通信设备;

所述通信设备300在根据接收的升级数据包确定为升级自身时,进行固件升级。

上述远程固件升级控制系统,可以实现远程固件自动升级,无需通过人工的方式逐一到现场进行每个硬件设备的升级控制,因此,该远程固件升级控制系统省去了专人亲临现场升级的麻烦,可以节约人力成本、提高升级效率。

请参阅图7,在其中一个实施例中,所述通信设备300包括反馈信息发送模块390;所述服务平台200还包括升级结果反馈模块2A0;

所述反馈信息发送模块390,用于所述通信设备300升级完成后,发送升级反馈信息至所述服务平台200;所述升级反馈信息包括升级完成后所述通信设备300中当前运行固件的固件代码标识及版本号;

所述升级结果反馈模块2A0,用于在接收到所述升级反馈信息后,根据所述当前运行固件的固件代码标识及版本号与所述升级固件的固件代码标识及版本号是否一致,确定升级结果,并将所述升级结果返回所述交互平台100。

请继续参阅图7,在其中一个实施例中,所述通信设备300包括:通信数据包接收模块381、通信固件校验获取模块383、通信固件升级模块385;

所述通信数据包接收模块381,用于接收所述服务平台200的所述升级数据包发送模块发送的升级数据包;所述服务平台200发送的升级数据包包括所述升级数据信息及所述升级数据信息对应的升级固件的第一校验码;

所述通信固件校验获取模块383,用于根据接收的升级数据包从所述服务平台200获取所述升级数据信息对应的升级固件,并对获取的升级固件进行校验得到第二校验码;

所述通信固件升级模块385,用于若所述第一校验码与所述第二校验码一致,则进行固件升级。

在其中一个实施例中,所述通信固件升级模块385包括:通信数据包临时存储单元(图未示)、通信固件升级存储单元(图未示)、通信检验码升级确定单元(图未示)、通信数据包升级存储单元(图未示);

所述通信数据包临时存储单元,用于若所述第一校验码与所述第二校验码一致,将接收的升级数据包存储至所述通信设备300的临时存放区,并运行所述通信设备300的初运行区中的固件;

所述通信固件升级存储单元,用于当获取的升级固件是对所述通信设备300自身进行升级的固件时,将获取的升级固件存储至所述通信设备300中的升级后运行区;

所述通信检验码升级确定单元,用于对所述升级后运行区中存储的升级固件进行校验得到第三校验码;

所述通信数据包升级存储单元,用于当所述第三校验码与所述第一校验码一致时,将所述通信设备300中临时存储区的升级数据包存储至升级后运行区,并切换至所述升级后运行区运行。

请参阅图8,在其中一个实施例中,所述通信设备300包括数据包广播模块320;所述产品设备400包括广播数据包接收模块421、产品固件校验获取模块423、产品固件升级模块425;

所述数据包广播模块320,用于在根据接收的升级数据包确定为不是升级自身时,将接收的升级数据包广播至与所述通信设备300连接的产品设备400;

所述广播数据包接收模块421,用于接收所述通信设备300的所述数据包广播模块320广播的升级数据包;所述通信设备300广播的升级数据包包括升级数据信息及所述升级数据信息对应的升级固件的第一校验码;

所述产品固件校验获取模块423,用于根据接收的升级数据包从所述服务平台200获取所述升级数据信息对应的升级固件,并对获取的升级固件进行校验得到第二校验码;

所述产品固件升级模块425,用于若所述第一校验码与所述第二校验码一致,则进行固件升级。

请参阅图9,在其中一个实施例中,所述交互平台100还包括查询指令接收模块110,所述服务平台200还包括对象信息返回模块230;

所述查询指令接收模块110,用于接收升级对象查询指令,并根据所述升级对象查询指令发送升级对象查询请求至所述服务平台200;

所述对象信息返回模块230,用于根据所述升级对象查询请求返回升级对象信息至所述交互平台100;

所述配置指令接收模块140,用于在接收所述升级对象信息的基础上,接收升级配置指令。

由于上述系统与上述方法对应,因此,对于系统的细节技术特征不再一一赘述。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出多个变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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