一种固件升级方法、固件升级装置、冰箱和服务端与流程

文档序号:12596449阅读:345来源:国知局
一种固件升级方法、固件升级装置、冰箱和服务端与流程

本发明涉及通信技术领域,具体涉及一种固件升级方法、固件升级装置、冰箱和服务端。



背景技术:

本部分向读者介绍可能与本发明的各个方面相关的背景技术,相信能够向读者提供有用的背景信息,从而有助于读者更好地理解本发明的各个方面。因此,可以理解,本部分的说明是用于上述目的,而并非构成对现有技术的承认。

固件(Firmware)是具有软件功能的硬件,在早期这种硬件一般都是存有软件的EROM或EPROM(电可擦除可编程只读存储器)等,通常这些硬件内所保存的程序是无法被用户直接读出或修改的,并且终端用户很难或者不可能改变固件,一般情况下也是没有必要对固件进行升级操作的,即使在固件内发现了严重的错误(Bug)也必须由专业人员带着写好程序的EPROM把原来机器上的EPROM更换下来。

为了在出厂后仍有可能对设备进行软件更新,以使设备获得增强的功能,或者为了通过升级固件解决一些设备的Bug及兼容性问题,在路由器、防火墙、工业控制等设备和系统中广泛采用Flash作为固件控制程序(简称:固件)存储的介质。

当需要对设备进行更新升级时,为了防止在更新过程中的不正常结束,即为了防止因不正常结束而造成的设备无法正常工作,甚至导致设备必须送厂重新烧写固件的情况,必须保证设备在升级过程中的可靠。一般的设备固件升级方案如下方案一:提示用户下载固件,固件大小一般为500M-600M,用户需要等待下载完成后再进行其他的操作。方案一的缺点:需要让用户长时间的等待,在等待过程中不能做其他的事情,用户体验很不好。方案二:静默下载,客户端检测到新版本后,即开始在后台开始下载,不影响用户的其他操作,等下载完成后提示用户升级系统固件。方案二的缺点:客户端下载过程会抢占用户的系统资源和带宽,另外如果有多个客户端同时下载,会给服务端端带来巨大的压力。



技术实现要素:

要解决的技术问题是如何在不影响用户使用设备的前提下升级固件。

针对现有技术中的缺陷,本发明提供一种固件升级方法、固件升级装置、冰箱和服务端,可以分步下载,不影响用户使用的同时降低服务端的压力。

第一方面,本发明提供了一种固件升级方法,包括:

服务端根据新版本固件向设备推送固件升级消息;

设备根据所述推送固件升级消息和用户对设备的使用状态分步下载新版本固件;

验证新版本固件并升级设备固件。

可选地,所述服务端根据新版本固件向设备推送固件升级消息包括:

查询设备列表;

检测设备列表中设备的固件信息是否是最新的固件版本;

将不是最新的固件版本的设备添加到待升级设备列表;

服务端向待升级设备列表中的设备推送固件升级消息。

可选地,所述固件升级消息包括:

下载授权码、文件指纹和文件下载地址。

可选地,所述设备根据所述推送固件升级消息和用户对设备的使用状态分步下载新版本固件包括:

判断设备的使用状态;

如果设备未使用,则判断当前的下载环境是否满足下载的条件;

按满足的下载条件生成下载配置参数;

根据所述下载配置参数依按第一分布下载模式和第二分步下载模式下载固件文件,直至新版本固件下载完毕。

可选地,所述判断当前的下载环境是否满足下载的条件包括:

判断本次下载是否是初次下载;

判断上次下载是否被中断;

判断上次下载步长是否小于第一预定值。

可选地,所述按满足的下载条件生成下载配置参数包括:

如果本次下载为初次下载,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;

如果本次下载非初次下载,则进一步判断上次下载是否被中断;如果被中断,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;如果未被中断,则判断上次下载步长是否小于第一预定值;

如果小于第一预定值,则将下载配置参数设置为上次下载步长加第三预设值,持续时间为第二预设时间;

如果不小于第一预定值,则将下载配置参数设置为第四预设值,持续时间为第三预设时间。

可选地,所述下载固件文件包括:

按所述下载配置参数生成下载请求并发送至服务端;

服务端验证下载请求并执行下载;

判断下载文件的大小;

下载预定大小文件后休眠,休眠预定时间返回判断设备的使用状态步骤继续下载,如此循环直至新版本固件下载完毕。

可选地,所述服务端验证下载请求并执行下载包括:

验证下载授权码是否有效;

如果授权码无效则向用户终端反馈非法用户消息;

如果授权码有效,则判断下载步长和下载位置是否有效;

如果下载步长和下载位置是有效则端点续传下载;否则向用户终端反馈重新下载消息。

可选地,所述执行下载的步骤还包括判断用户使用状态的步骤和判断休眠记录中断的步骤。

可选地,验证新版本固件并升级设备固件包括:

验证新版本固件的指纹和签名;

如果验证失败则重新下载新版本固件;

如果验证成功,提示用户升级新版本固件;

备份用户数据;

执行升级新版本固件;

还原用户数据。

第二方面,本发明提供一种固件升级装置,包括:

固件下载单元,用于根据所述固件升级消息和用户对设备的使用状态分步下载新版本固件;所述固件升级消息是服务端根据新版本固件向设备推送的;

固件升级单元,用于验证新版本固件并升级设备固件。

可选地,固件下载单元还包括:

下载环境状态检测单元,用于判断设备的使用状态;如果设备未使用,则判断当前的下载环境是否满足下载的条件;

下载参数配置单元,用于按满足的下载条件生成下载配置参数;

下载执行单元,用于根据所述下载配置参数依按第一分布下载模式和第二分步下载模式下载固件文件,直至新版本固件下载完毕。

可选地,所述判断当前的下载环境是否满足下载的条件包括:

判断本次下载是否是初次下载;

判断上次下载是否被中断;

判断上次下载步长是否小于第一预定值。

可选地,所述按满足的下载条件生成下载配置参数包括:

如果本次下载为初次下载,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;

如果本次下载非初次下载,则进一步判断上次下载是否被中断;如果被中断,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;如果未被中断,则判断上次下载步长是否小于第一预定值;

如果小于第一预定值,则将下载配置参数设置为上次下载步长加第三预设值,持续时间为第二预设时间;

如果不小于第一预定值,则将下载配置参数设置为第四预设值,持续时间为第三预设时间。

可选地,所述下载执行单元还包括:

下载请求发送单元,用于按所述下载配置参数生成下载请求并发送至服务端;

验证单元,用于根据服务端对下载请求的验证结果执行下载;

下载文件判断单元,用于判断下载文件的大小;

休眠单元,用于在下载预定大小文件后休眠,休眠预定时间返回判断设备的使用状态步骤继续下载,如此循环直至新版本固件下载完毕。

可选地,所述固件升级单元包括:

固件验证单元,用于验证新版本固件的指纹和签名;如果验证失败则重新下载新版本固件;如果验证成功,提示用户升级新版本固件;

数据备份单元,用于更新设备固件前备份用户数据;

固件升级执行单元,用于执行升级新版本固件;

数据还原单元,用于更新设备固件后还原用户数据。

第三方面本发明提供一种冰箱,包括上述的固件升级装置。

第四方面,本发明提供一种固件升级服务端,其特征在于,包括:

设备更新检测单元,用于查询设备列表并检测设备列表中设备的固件信息是否是最新的固件版本;

设备列表更新单元,用于将不是最新的固件版本的设备添加到待升级设备列表;

升级推送单元,用于向待升级设备列表中的设备推送固件升级消息。

可选地,所述固件升级服务端还包括下载请求验证单元:

所述下载请求验证单元用于验证下载授权码是否有效;如果授权码无效则向用户终端反馈非法用户消息;如果授权码有效,则判断下载步长和下载位置是否有效;如果下载步长和下载位置是有效则端点续传下载;否则向用户终端反馈重新下载消息。

由上述技术方案可知,本发明供的一种固件升级方法、固件升级装置、冰箱和服务端,与现有技术相比,在固件升级时固件升级不跟用户抢占资源和带宽,提升客户端用户体验;通过适当的休眠,减轻服务端压力,增加并发下载数量,减轻服务端端并发下载的压力。本发明可以智能调整下载步长或持续时间,以最佳的状态下载数据。

附图说明

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

图1为本发明一个实施例中一种固件升级方法流程示意图;

图2为本发明一个实施例中一种向设备推送固件升级消息流程示意图;

图3为本发明一个实施例中一种向设备推送固件升级消息详细流程示意图;

图4为本发明一个实施例中一种分步下载新版本固件流程示意图;

图5为本发明一个实施例中一种分步下载新版本固件详细流程示意图;

图6为本发明一个实施例中一种下载固件文件的流程意图;

图7为本发明一个实施例中一种验证新版本固件并升级设备固件流程示意图;

图8为本发明一个实施例中一种固件升级装置结构意图;

图9为本发明一个实施例中固件升级装置中固件下载单元结构示意图;

图10为本发明一个实施例中固件升级装置中下载执行单元结构示意图;

图11为本发明一个实施例中固件升级装置中固件升级单元结构示意图;

图12为本发明一个实施例中一种固件升级服务端结构意图。

具体实施方式

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

如图1所示,本发明提供一种固件升级方法,该方法包括:服务端根据新版本固件向设备推送固件升级消息;设备根据推送固件升级消息和用户对设备的使用状态分步下载新版本固件;验证新版本固件并升级设备固件。下面对本发明和提供的固件升级方法展开详细的说明。

在本发明中,如图2、图3所示,服务端根据新版本固件向设备推送固件升级消息包括:查询设备列表;检测设备列表中设备的固件信息是否是最新的固件版本;将不是最新的固件版本的设备添加到待升级设备列表;服务端向待升级设备列表中的设备推送固件升级消息。固件升级消息包括:下载授权码(code)、文件指纹和文件下载地址。设备接收到固件升级消息后,向固件升级服务端请求下载固件,服务端验证成功后,即开始下载。

如图4图、图5所示,设备根据推送固件升级消息和用户对设备的使用状态分步下载新版本固件包括:判断设备的使用状态;如果设备未使用,则判断当前的下载环境是否满足下载的条件;按满足的下载条件生成下载配置参数;根据下载配置参数依按第一分布下载模式和第二分步下载模式下载固件文件,直至新版本固件下载完毕。

具体地,如图5所示,设备端首先检查是否有用户在操作设备,如果有用户在操作设备,则等待用户操作设备完成后在开启下载程序;设备端检测到设备处于空闲状态时,即开启下载程序。

如图5所示,在开启下载程序后,需要进一步判断当前的下载环境是否满足下载的条件包括:具体地,判断本次下载是否是首次下载;判断上次下载是否被中断;判断上次下载步长是否小于第一预定值。上述下载条件判断的步骤不分先后顺序。例如第一阈值优选为5M。

如图5所示,判断当前的下载环境是否满足下载的条件后按照相应的满足的下载条件生成下载配置参数,具体包括:如果本次下载为初次下载,则将下载配置参数设置为下载步长是第二预设值(优选是1M),持续时间为第一预设时间(优选是30s);如果本次下载非初次下载,则进一步判断上次下载是否被中断;如果被中断,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;如果未被中断,则判断上次下载步长是否小于第一预定值;如果小于第一预定值,则将下载配置参数设置为上次下载步长加第三预设值(优选是1M),持续时间为上次下载时间加第二预设时间(优选30s);如果不小于第一预定值,则将下载配置参数设置为第四预设值(优选是5M),持续时间为第三预设时间(优选是150s)。

具体地,如果在第一次下载过程中,未被中断下载(即没有用户操作设备,并且在固定持续时间内完成固定步长数据(1M)的下载,完成下载后,休眠10秒;第二次的下载步长在上次的下载步长(1M)基础上增加1M,持续时间也在上次的持续时间(30s)基础上增加30s,下载完成后,再休眠10s。以此类推,直至下载步长增加到5M,持续时间增加为150s,之后一直按下载步长为5M,持续时间为150秒,来下载固件,直至下载完成或者被中断下载(即有用户操作设备,或者在固定持续时间没有内完成固定下载步长数据的下载据)。

如图5、图6所示,下载固件文件的步骤具体包括:按下载配置参数生成下载请求并发送至服务端;服务端验证下载请求并执行下载;判断下载文件的大小;下载预定大小文件后休眠,休眠预定时间返回判断设备的使用状态步骤继续下载,如此循环直至新版本固件下载完毕。

具体地,如图5所示,服务端验证下载请求并执行下载包括:验证下载授权码是否有效;如果授权码无效则向用户终端反馈非法用户消息;如果授权码有效,则判断下载步长和下载位置是否有效;如果下载步长和下载位置是有效则端点续传下载;否则向用户终端反馈重新下载消息。

如图5所示,在本发明实施例中,在下载过程中,还需要判断用户使用状态的和判断休眠记录中断的情况。具体地,如果在下载过程中用户操作设备,则将下载中断,等待用户操作设备结束后再启动下载。如果在在下载过程中下载的时间超过了预先设定的下载持续时间,则启动中断(中断时间优选是30s),在休眠结束后再启动下载。在下载过程中,需要实时检测下载文件的大小,如果下载的文件达到预先设定的步长大小,则启动休眠,再次循环直至新版本固件下载完毕。具体地,如图5所示,在下载过程中,如果有用户操作设备,则中断下载,设置中断标识设为1,等待用户操作完成后再开始下载,重新开始下载后,将重新从第1次开始计数,下载步长设为1M,持续时间设为30秒,中断标识设为0,然后循环下载。在下载过程中,如果在固定持续时间没有内完成固定下载步长数据的下载据,则中断下载,中断标识设为1,等待用户操作完成后再开始下载,重新开始下载后,将重新从第1次开始计数,下载步长设为1M,持续时间设为30秒,中断标识设为0,然后进入的循环下载。

如图7所示,验证新版本固件并升级设备固件包括:验证新版本固件的指纹和签名;如果验证失败则重新下载新版本固件;如果验证成功,提示用户升级新版本固件;备份用户数据;执行升级新版本固件;还原用户数据。固件下载完成后,验证固件签名和文件指纹,如果正确,等到用户操作屏幕设备时,提示用户有新的固件需要升级;用户确认升级新版本固件后,先备份用户的本地数据,然后升级固件,最后再还原用户的本地数据。如果固件的签名和文件指纹不确,则提示用户重新下载固件。

为了进一步体现本发明提供的固件升级方法的优越性,本发明还提供一种应用上述方法的固件升级装置,如图8所示,该固件升级装置包括:固件下载单元,用于根据固件升级消息和用户对设备的使用状态分步下载新版本固件;固件升级消息是服务端根据新版本固件向设备推送的;固件升级单元,用于验证新版本固件并升级设备固件。下面对本发明和提供的固件升级装置展开详细的说明。

如图9所示,固件下载单元还包括:下载环境状态检测单元,用于判断设备的使用状态;如果设备未使用,则判断当前的下载环境是否满足下载的条件;下载参数配置单元,用于按满足的下载条件生成下载配置参数;下载执行单元,用于根据下载配置参数依按第一分布下载模式和第二分步下载模式下载固件文件,直至新版本固件下载完毕。判断当前的下载环境是否满足下载的条件后按照相应的满足的下载条件生成下载配置参数,具体包括:如果本次下载为初次下载,则将下载配置参数设置为下载步长是第二预设值(优选是1M),持续时间为第一预设时间(优选是30s);如果本次下载非初次下载,则进一步判断上次下载是否被中断;如果被中断,则将下载配置参数设置为下载步长是第二预设值,持续时间为第一预设时间;如果未被中断,则判断上次下载步长是否小于第一预定值;如果小于第一预定值,则将下载配置参数设置为上次下载步长加第三预设值(优选是1M),持续时间为上次下载时间加第二预设时间(优选30s);如果不小于第一预定值,则将下载配置参数设置为第四预设值(优选是5M),持续时间为第三预设时间(优选是150s)。

如图10所示,本发明实施例中,下载执行单元还包括:下载请求发送单元,用于按下载配置参数生成下载请求并发送至服务端;验证单元,用于根据服务端对下载请求的验证结果执行下载;下载文件判断单元,用于判断下载文件的大小;休眠单元,用于在下载预定大小文件后休眠,休眠预定时间返回判断设备的使用状态步骤继续下载,如此循环直至新版本固件下载完毕。

如图11所示,在本发明实施例中,固件升级单元包括:固件验证单元,用于验证新版本固件的指纹和签名;如果验证失败则重新下载新版本固件;如果验证成功,提示用户升级新版本固件;数据备份单元,用于再升级固件前备份用户数据;固件升级执行单元,用于执行升级新版本固件;数据还原单元,用于在升级固件后还原用户数据。

本发明实施例提供的固件升级装置的具体工作过程与上述固件升级方法的实施例基本一致,可以参照上述方法实施例的具体流程,在此不再一一赘述了。

为了进一步体现本发明提供的固件升级装置的优越性,本发明还提供一种应用上述装置的冰箱,该冰箱包括上述的固件升级装置。该冰箱还包括触控显示屏,用户可以在该触控屏上操作冰箱,固件升级消息可以在该触控屏上显示出来。再次需要说明的是,本发明提供的固件升级方法、升级装置,不仅限于此,还可以适用与其他电子设备,例如,家用空调、热水器、电饭锅等。

为了进一步体现本发明提供的固件升级方法的优越性,本发明还提供一种应用上述方法的固件升级服务端,如图12所示,该固件升级服务端,包括:设备更新检测单元,用于查询设备列表并检测设备列表中设备的固件信息是否是最新的固件版本;设备列表更新单元,用于将不是最新的固件版本的设备添加到待升级设备列表;升级推送单元,用于向待升级设备列表中的设备推送固件升级消息。

本发明实施例提供的固件升级服务端的具体工作过程与上述固件升级方法的实施例基本一致,可以参照上述方法实施例的具体流程,在此不再一一赘述了。

固件升级服务端还包括下载请求验证单元:下载请求验证单元用于验证下载授权码是否有效;如果授权码无效则向用户终端反馈非法用户消息;如果授权码有效,则判断下载步长和下载位置是否有效;如果下载步长和下载位置是有效则端点续传下载;否则向用户终端反馈重新下载消息。

综上所述,本发明提供的一种固件升级方法、固件升级装置、冰箱和服务端,在固件升级时固件升级不跟用户抢占资源和带宽,提升客户端用户体验;通过适当的休眠,减轻服务端压力,增加并发下载数量,减轻服务端端并发下载的压力。本发明可以智能调整下载步长或持续时间,以最佳的状态下载数据。

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

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

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

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

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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