通信设备远程固件升级方法及系统与流程

文档序号:11154529阅读:366来源:国知局
通信设备远程固件升级方法及系统与制造工艺

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



背景技术:

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

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



技术实现要素:

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

一种通信设备远程固件升级方法,包括:

接收服务平台发送的升级数据包;所述服务平台发送的升级数据包,包括升级固件的固件代码标识、版本号及第一校验码;

根据接收的升级数据包从所述服务平台获取所述固件代码标识及所述版本号对应的固件,并对获取的固件进行校验得到第二校验码;

若所述第一校验码与所述第二校验码一致,则进行固件升级。

一种通信设备远程固件升级系统,其特征在于,包括通信设备;所述通信设备包括:

数据包接收模块,用于接收服务平台发送的升级数据包;所述服务平台发送的升级数据包,包括升级固件的固件代码标识、版本号及第一校验码;

校验码获取模块,用于根据接收的升级数据包从所述服务平台获取所述固件代码标识及所述版本号对应的固件,并对获取的固件进行校验得到第二校验码;

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

上述通信设备远程固件升级方法及系统,接收服务平台发送的升级数据包,根据接收的升级数据包获取所述固件代码标识及所述版本号对应的固件,并在获取的固件通过检验时,进行固件升级。如此,实现通信设备的远程固件升级,无需通过人工的方式逐一到现场进行每个通信设备的固件升级。因此,该通信设备远程固件升级方法及系统省去了专人亲临现场升级的麻烦,可以节约人力成本、提高升级效率。

附图说明

图1为一实施例的通信设备远程固件升级方法的流程图;

图2为图1的通信设备远程固件升级方法的一个步骤的具体流程图;

图3为另一实施例的通信设备远程固件升级方法的流程图;

图4为一实施例的通信设备远程固件升级系统的结构图;

图5为图4的通信设备远程固件升级系统的一个模块的单元结构图;

图6为另一实施例的通信设备远程固件升级系统的结构图。

具体实施方式

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

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

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

如图1所示,本发明一实施例的通信设备远程固件升级方法,运行于通信设备上,包括:

S110:接收服务平台发送的升级数据包。服务平台发送的升级数据包,包括升级固件的固件代码标识、版本号及第一校验码。

服务平台根据升级对象信息以及升级固件的固件代码标识、版本号及第一校验码,发送升级数据包至通信设备。其中,第一校验码为服务平台对升级固件进行校验得到的校验码。服务平台将第一校验码及固件代码标识、版本号封装形成升级数据包,发送至升级对象信息对应的通信设备。通信设备接收该升级数据包。

具体地,服务平台对升级固件进行校验得到第一校验码;将升级数据信息,即第一校验码、升级固件的固件代码标识及版本号,形成升级数据包,发送至MAC地址对应的通信设备。

S130:根据接收的升级数据包从服务平台获取固件代码标识及版本号对应的固件,并对获取的固件进行校验得到第二校验码。

通信设备根据接收的升级数据包从服务平台获取固件代码标识及版本号对应的固件,并对获取的固件进行校验得到第二校验码。

S150:若第一校验码与第二校验码一致,则进行固件升级。

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

上述通信设备远程固件升级方法,接收服务平台发送的升级数据包,根据接收的升级数据包获取固件代码标识及版本号对应的固件,并在获取的固件通过检验时,进行固件升级。如此,实现通信设备的远程固件升级,无需通过人工的方式逐一到现场进行每个通信设备的固件升级。因此,该通信设备远程固件升级方法省去了专人亲临现场升级的麻烦,可以节约人力成本、提高升级效率。

请参阅图2,在其中一个实施例中,若第一校验码与第二校验码一致,则通信设备进行固件升级的步骤,包括:

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

S253:当获取的固件是对自身进行升级的固件时,将获取的固件存储至升级后运行区。

S255:对升级后运行区中存储的固件进行校验得到第三校验码。

S257:当第三校验码与第一校验码一致时,将临时存储区的升级数据包存储至升级后运行区,并切换至升级后运行区运行。

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

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

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

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

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

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

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

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

在其中一个实施例中,步骤S257之后,还包括:

当升级后运行区中的固件运行预设时间后未发生故障,则将升级后运行区中的固件发送到初级运行区进行存储。从而不必每次固件升级后都返回到最初的版本完成升级过程。

请参阅图3,在其中一个实施例中,接收服务平台发送的升级数据包的步骤之前,还包括:

S304:交互平台接收升级配置指令;升级配置指令包括升级固件的固件代码标识、版本号及第一校验码。

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

S305:交互平台根据升级配置指令,发送升级数据信息至服务平台;升级数据信息包括升级固件的固件代码标识、版本号及第一校验码。

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

S306:服务平台根据接收的升级数据信息中的固件代码标识、版本号,获取升级对象信息。

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

S307:服务平台根据升级对象信息及升级数据信息,发送升级数据包至通信设备。

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

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

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

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

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

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

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

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

S303:服务平台根据升级对象查询请求返回升级对象集合信息至交互平台。

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

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

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

请参阅图4,一种通信设备远程固件升级系统,包括通信设备;通信设备包括:

数据包接收模块410,用于接收服务平台发送的升级数据包;服务平台发送的升级数据包,包括升级固件的固件代码标识、版本号及第一校验码;

校验码获取模块430,用于根据接收的升级数据包从服务平台获取固件代码标识及版本号对应的固件,并对获取的固件进行校验得到第二校验码;

固件升级模块450,用于若第一校验码与第二校验码一致,则进行固件升级。

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

请参阅图5,在其中一个实施例中,固件升级模块450,包括:

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

固件升级存储单元453,用于当获取的固件是对自身进行升级的固件时,将获取的固件存储至升级后运行区;

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

数据包升级存储单元457,用于当第三校验码与第一校验码一致时,将临时存储区的升级数据包存储至升级后运行区,并切换至升级后运行区运行。

请参阅图6,在其中一个实施例中,通信设备远程固件升级系统,包括:交互平台100、服务平台200及通信设备400;交互平台100包括配置指令接收模块140、升级信息发送模块150;服务平台200包括对象信息获取模块260、升级数据包发送模块270;

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

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

对象信息获取模块260,用于根据接收的升级数据信息中的固件代码标识、版本号,获取升级对象信息;

升级数据包发送模块270,用于根据升级对象信息及升级数据信息,发送升级数据包至通信设备。

进一步地,升级数据包发送模块270,包括:

第一子单元(图未示),用于当第三校验码与存储在临时存放区的第一校验码一致时,将临时存储区的升级数据包存储至升级后运行区;

第二子单元(图未示),用于当存储至升级后运行区中的第一校验码与第三校验码一致时,切换至升级后运行区运行。

在其中一个实施例中,通信设备400还包括反馈信息发送模块470;服务平台还包括升级结果反馈模块290;

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

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

在其中一个实施例中,交互平台100还包括查询指令接收模块101,服务平台还包括对象信息返回模块203;

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

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

配置指令接收模块410,用于在接收升级对象集合信息的基础上,接收升级配置指令。

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

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

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