用于固件升级的方法及装置、家电设备与流程

文档序号:23101166发布日期:2020-11-27 13:09阅读:251来源:国知局
用于固件升级的方法及装置、家电设备与流程

本申请涉及通信技术领域,例如涉及一种用于固件升级的方法及装置、家电设备。



背景技术:

目前,物联网设备种类越来越多,为提高用户的体验,需要对设备进行系统升级更新,且对升级过程的要求也越来越高。大多数的物联网设备通过多个模块组成,设备上市后开发者会持续开发更多不同的新版本,以便不断完善物联网设备的各种功能,修改设备可能存在的缺陷,提高用户的应用体验。

传统的应用程序升级方法有两种,一种是在线升级,从服务器上下载最新版本的升级包,另一种为离线升级,提前下载最新版本的升级包至移动存储设备,然后进行离线升级。上述两种升级方法中需要对固件做完整备份,存在随着功能的逐渐升级,升级文件包越来越大,系统存储空间不足的问题,现有技术中提供了采用差分升级包进行无线升级的方式来完成系统更新和优化,解决升级时内存不足的问题,同时减小升级文件下载传输时间,其中,差分升级包是由当前版本与重新编译后的版本之间的差异文件差分生成。

在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:功能较多的智能设备,差分文件往往比较多,会占用过多网络资源。



技术实现要素:

为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

本公开实施例提供了一种用于固件升级的方法及装置、家电设备,以解决功能较多的智能设备差分文件多,占用过多网络资源的技术问题。

在一些实施例中,所述用于固件升级的方法包括:

在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并获取整机固件包的整机包头信息;

根据所述待升级功能模块类型和所述整机包头信息确定模块包头起始位置;

根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,以完成固件升级。

在一些实施例中,根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,包括:

当待升级功能模块类型为一个的情况下,根据待升级功能模块类型对应的模块包头起始位置生成模块固件包下载请求,并下载模块固件包;

当待升级功能模块类型为多个的情况下,确定待升级功能模块的优先级,依据所述优先级生成模块固件包下载请求,并依次下载模块固件包。

在一些实施例中,所述模块固件包下载请求包括模块固件起始位置和模块固件的长度。

在一些实施例中,当待升级功能模块类型为多个的情况下,还包括:

对设定模块类型的模块固件包进行完整性校验,并在校验未通过的情况下重新下载所述设定模块类型的模块固件包。

在一些实施例中,当待升级功能模块类型为多个的情况下,还包括:

对部分或全部模块固件包进行完整性校验,并在校验未通过的情况下重新下载模块固件包。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:

在每个模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新下载模块固件包。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:

在全部模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新校验未通过的模块固件包。

在一些实施例中,该方法还包括:

在获取模块固件包过程中发生中断的情况下,记录下载中断位置;

在网络恢复的情况下,基于记录的下载中断位置继续获取模块固件包。

在一些实施例中,所述升级任务包括整机版本号、待升级功能模块类型和资源定位符。

在一些实施例中,所述获取整机固件包的整机包头信息,包括:

根据所述整机版本号和所述资源定位符生成整机包头信息请求;

发送所述整机包头信息请求至资源服务器;

接收资源服务器反馈的所述整机包头信息。

在一些实施例中,所述整机包头信息包括整机版本号、模块数量、模块包头起始位置和模块包头长度。

在一些实施例中,所述用于固件升级的装置,包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行上述任一项所述的用于固件升级的方法。

在一些实施例中,所述家电设备,包括上述的用于固件升级的装置。

本公开实施例提供的用于固件升级的方法及装置、家电设备,可以实现以下技术效果:

家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并根据待升级功能模块类型和整机包头信息确定模块包头起始位置。家电设备根据模块包头起始位置和待升级功能模块类型确定待升级功能模块的模块固件包位置,仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。

以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

附图说明

一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,附图不构成比例限制,并且其中:

图1是本公开实施例提供的一个用于固件升级的方法的示意图;

图2是本公开实施例提供的一个用于固件升级的方法的应用场景示意图;

图3是本公开实施例提供的一个用于固件升级的方法的交互示意图;

图4是本公开实施例提供的另一个用于固件升级的方法的示意图;

图5是本公开实施例提供的一个用于固件升级的装置的示意图。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

除非另有说明,术语“多个”表示两个或两个以上。

本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。

术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。

图1是本公开实施例提供的一个用于固件升级的方法的示意图,如图所示,该方法包括如下步骤:

s101,在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并获取整机固件包的整机包头信息。

s102,根据待升级功能模块类型和整机包头信息确定模块包头起始位置。

s103,根据模块包头起始位置和待升级功能模块类型获取模块固件包,以完成固件升级。

本公开实施例主要针对于家电设备的应用场景。升级任务由家电设备的云管理平台生成,云管理平台用于集中管理家电设备的升级信息。在一些实施例中,由云端服务器主动推送升级任务。在一些实施例中,由家电设备发送升级请求,云管理平台根据升级请求确实存在新的版本时,发布升级任务。

在一些实施例中,升级任务包括整机版本号、待升级功能模块类型和资源定位符。其中,资源定位符为升级包的存储位置,存储有整机固件包,家电设备根据升级任务中资源定位符可以准确定位整机固件包位置,进而根据待升级功能模块类型确定待升级功能模块在整机固件包中的位置。

在步骤s101中,家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型。本公开实施例可以做到各模块的差异化升级,所以不必下载整机的固件包,只对需要升级的模块进行模块固件下载和模块升级即可,不必使用大量的内存资源,减少硬件成本。

本公开实施例中,整机固件包由统一打包工具打包,将各个模块的子固件打成统一整机固件包,图下表1所示,整机固件包由整机包头信息、各子模块的模块包头信息、各子模块的模块固件内容组成。其中,整机包头信息包括整机版本号、模块数量、模块包头起始位置、模块包头长度和整机包的校验信息组成。各子模块的模块包头信息由模块版本号、模块固件起始地址、模块固件长度和模块校验信息组成。

表1

在步骤s102中,家电设备根据待升级功能模块类型和整机包头信息确定模块包头起始位置,即确定待升级功能模块类型对应的模块包头起始位置。

在步骤s103中,根据模块包头起始位置和待升级功能模块类型获取模块固件包,即根据模块包头起始位置读取模块包头信息确定模块版本号、模块固件起始地址、模块固件长度和模块校验信息等,根据模块固件起始地址、模块固件长度和模块校验信息下载模块固件包。

家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并根据待升级功能模块类型和整机包头信息确定模块包头起始位置。家电设备根据模块包头起始位置和待升级功能模块类型确定待升级功能模块的模块固件包位置,仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。

在不同实施例中,根据模块包头起始位置和待升级功能模块类型获取模块固件包的方式有多种。

在一些实施例中,家电设备支持多个下载任务同时进行,则在步骤s103中,家电设备根据下载任务上限获取多个模块固件包,具体的,根据模块包头起始位置和待升级功能模块类型确定优先下载的多个模块固件包。

在一些实施例中,家电设备支持同时间段内进行单个下载任务,则在步骤s103中,根据模块包头起始位置和待升级功能模块类型获取模块固件包,包括:当待升级功能模块类型为一个的情况下,根据待升级功能模块类型对应的模块包头起始位置生成模块固件包下载请求,并下载模块固件包;当待升级功能模块类型为多个的情况下,确定待升级功能模块的优先级,依据优先级生成模块固件包下载请求,并依次下载模块固件包。

以洗衣机为例对上述实施例进行说明。例如:洗衣机待升级功能模块包括主板、显示模块和联网模块,设定模块类型为联网模块。在升级过程中,由联网模块做中转与暂存,联网模块从服务器获取升级文件以升级整机中非联网的模块(例如:主板、显示模块)。主板模块会控制显示模块的显示内容。在升级过程中,联网模块优先级最高,显示模块优先级最低。当存在联网模块与其他模块同时需要升级的情况时,首先升级联网模块以提高其他模块固件包的获取速率,从而提高其他模块的升级效率,然后升级主板以提高显示模块的显示控制效率。

在一些实施例中,模块固件包下载请求包括模块固件起始位置和模块固件的长度。家电设备生成模块固件包下载请求后,发送模块固件包下载请求至存储有整机固件包的资源服务器,并接收资源服务器发送的模块固件包,完成模块固件包的下载。

家电设备为保证成功升级,在模块固件包下载完成后需要对模块固件包进行完整性校验,在不同的实施例中,模块固件包的校验方式不同。

在一些实施例中,当待升级功能模块类型为多个的情况下,该方法还包括:对设定模块类型的模块固件包进行完整性校验,并在校验未通过的情况下重新下载设定模块类型的模块固件包。模块固件包在传输过程中可能会丢失、误码或被篡改,因此,为保证模块能够成功升级,在根据模块固件包完成升级任务前需要对固件包进行完整性校验,并在校验未通过的情况下重新下载以避免因丢失、误码或被篡改导致升级失败。以洗衣机为例对上述实施例进行说明。例如:洗衣机待升级功能模块包括主板、显示模块和联网模块,设定模块类型为联网模块。在升级过程中,由联网模块做中转与暂存,联网模块从服务器获取升级文件以升级整机中非联网的模块(例如:主板、显示模块)。当存在联网模块与其他模块同时需要升级的情况时,首先升级联网模块以提高其他模块固件包的获取速率,从而提高其他模块的升级效率,当联网模块的完整性校验未通过的情况下则重新下载联网模块固件包,以成功完成联网模块的升级。

在一些实施例中,当待升级功能模块类型为多个的情况下,该方法还包括:对部分或全部模块固件包进行完整性校验,并在校验未通过的情况下重新下载模块固件包。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:在每个模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新下载模块固件包。即家电设备在升级过程中,根据优先级依次下载模块固件包,或者,家电设备支持同时间段内进行单个下载任务的情况下,在每个模块固件包下载完成后进行完整性校验。模块固件包在传输过程中可能会丢失、误码或被篡改,因此,为保证模块能够成功升级,在根据模块固件包完成升级任务前需要对固件包进行完整性校验,并在校验未通过的情况下重新下载以避免因丢失、误码或被篡改导致升级失败。在每个模块固件包下载完成后及时对该模块固件包进行校验,可以提高升级效率。

以洗衣机为例对上述实施例进行说明。例如:洗衣机待升级功能模块包括主板、显示模块和联网模块。在升级过程中,洗衣机根据优先级依次下载模块固件包,或者,洗衣机支持同时间段内进行单个下载任务的情况下,在每个模块固件包下载完成后进行完整性校验,以提高校验的及时性和升级速率。在联网模块优先级最高,显示模块优先级最低的情况下,联网模块固件包下载完成后对联网模块固件包进行完整性校验,未通过时则重新下载,联网模块固件包校验通过后,下载主板固件包;主板固件包下载完成后对主板固件包进行完整性校验,未通过时则重新下载,主板固件包校验通过后,下载显示模块固件包;显示模块固件包下载完成后对显示模块固件包进行完整性校验,未通过时则重新下载直至校验通过。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:在全部模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新校验未通过的模块固件包。即在升级过程中,家电设备在完成全部模块固件包下载任务后,对所有下载完成的模块固件包进行完整性校验,并在校验未通过的情况下对校验未通过的模块固件包进行重新下载。家电设备集中对模块固件包进行完整性校验,简化校验过程。

以洗衣机为例对上述实施例进行说明。例如:洗衣机待升级功能模块包括主板、显示模块和联网模块。在升级过程中,洗衣机在完成全部模块固件包下载任务后,对主板固件包、显示模块固件包和联网模块固件包进行完整性校验,在主板固件包和显示模块固件包未校验成功的情况下,重新下载主板固件包和显示模块,直至全部模块固件包校验成功完成模块固件包的下载任务。

在一些实施例中,该方法还包括:在获取模块固件包过程中发生中断的情况下,记录下载中断位置;在网络恢复的情况下,基于记录的下载中断位置继续获取模块固件包。家电设备通过断点续传流程节省下载模块固件包下载时间及流量,以提高家电设备升级效率。

在一些实施例中,步骤s101中,获取整机固件包的整机包头信息,包括:根据整机版本号和资源定位符生成整机包头信息请求;发送整机包头信息请求至资源服务器;接收资源服务器反馈的整机包头信息。其中,资源定位符为整机固件包的存储位置。家电设备获取自身的整机版本号,并基于云管理平台发送的升级任务确定资源定位符,根据整机版本号和资源定位符生成整机包头信息请求。家电设备发送整机包头信息请求至资源服务器,以接收资源服务器反馈的整机包头信息。

家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并根据待升级功能模块类型和整机包头信息确定模块包头起始位置。家电设备根据模块包头起始位置和待升级功能模块类型确定待升级功能模块的模块固件包位置,仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。

本公开实施例还提供了一种用于固件升级的装置,该装置包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行上述任一项的用于固件升级的方法。

图2是本公开实施例提供的一个用于固件升级的方法的应用场景示意图,如图所示,包括云管理平台、资源服务器和家电设备。其中,家电设备包括一个或多个联网模块组成,还包括一个或多个其他功能模块。

在家电设备进行固件升级过程中,由联网模块与外部的云管理平台和资源服务器进行通信。联网模块用于发送整机版本信息至云管理平台,接收云管理凭条发布的升级任务,并从资源服务器下载待升级模块的模块固件包。

图3是本公开实施例提供的一个用于固件升级的方法的交互示意图,如图所示,该方法包括如下步骤:

s11,家电设备更新整机版本号。

家电设备上电后更新整机版本号,确定当前的整机版本信息,以准确获取更新信息成功完成固件升级。

在一些实施例中,家电设备包括联网模块和其他功能模块。在升级过程中,由联网模块做中转与暂存,联网模块从资源服务器获取升级文件以升级整机中非联网的模块(例如:主板、显示模块)。步骤s11包括:联网模块发送版本号请求指令至其他功能模块;联网模块获取其他功能模块反馈的功能版本号;联网模块根据反馈信息数量及其他功能版本号更新整机版本号。其中,整机版本号由固件个数、联网模块版本号和其他功能模块版本号组成,并以“.”为分隔符。

以空调为例进行说明。例如:空调的整机版本号为4.6.3.2.1,其中,4为联网模块和其他功能模块的总个数,6、3、2、1分别为模块1到模块4的版本号,且都为整形值。模块1为联网模块,版本号为6。

s12,家电设备发送整机版本号至云管理平台。由家电设备中的联网模块与云管理平台通信连接,联网模块将整机版本号发送至云管理平台。

s13,云管理平台根据整机版本号确定待升级功能模块类型,生成升级任务。

云管理平台用于集中管理家电设备的升级信息,开发人员针对家电设备开发出新的升级文件时,会在云管理平台等级升级信息,以便于云管理平台集中管理各类家电设备的升级信息。云管理平台根据整机版本号确定是否存在版本更新,并在具有版本更新时及时反馈升级任务。

其中,云管理平台在接收到整机版本号时还会获取到家电设备的基本信息,例如:设备类型和设备标识等。

以洗衣机为例对上述实施例进行说明。例如:洗衣机模块包括主板、显示模块和联网模块三个模块,洗衣机发送至云管理平台的整机版本号为3.1.2.6,其中,3为模块的个数,1为联网模块的版本号,2为主板的版本号,6为显示模块的版本号。云管理平台存储的与家电设备的设备标识对应的整机版本号为3.2.2.7,则联网模块和显示模块为待升级功能模块。

云管理平台在生成升级任务之前根据设备类型或设备标识确定升级包的存储位置即资源定位符。可选的,资源定位符根据设备类型确定。资源定位符即资源服务器的网址信息,资源服务器根据设备类型不同包括:电视资源服务器、冰箱资源服务器、空调资源服务器等。可选的,资源定位符根据设备标识中设备品牌确定。云管理平台根据存储在云管理平台的整机版本号、待升级功能模块类型和资源定位符生成升级任务。

s14,云管理平台发送升级任务至家电设备。其中,云管理平台根据接收到的整机版本号对应的家电设备的设备标识发送升级任务,以保证家电设备准确接收到对应的升级任务。

s15,家电设备解析升级任务获取待升级功能模块类型和资源定位符。在解析升级任务之前,由家电设备的联网模块接收云管理平台发送升级任务。

s16,家电设备根据整机版本号和资源定位符生成整机包头信息请求。

家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型。本公开实施例可以做到各模块的差异化升级,所以不必下载整机的固件包,只对需要升级的模块进行模块固件下载和模块升级即可,不必使用大量的内存资源,减少硬件成本。

可选的,资源定位符根据家电设备类型确定。家电设备根据整机版本号和资源定位符生成整机包头信息请求可以成功获取到整机包头信息。

s17,家电设备发送整机包头信息请求至资源服务器。由家电设备中的联网模块与资源服务器通信连接,联网模块发送整机包头信息请求至资源服务器。

s18,资源服务器确定与整机版本号对应的整机包头信息。

s19,资源服务器反馈整机包头信息至家电设备。

s20,家电设备根据待升级功能模块类型和整机包头信息确定模块包头起始位置,即确定待升级功能模块类型对应的模块包头起始位置。

s21,家电设备根据模块包头起始位置和待升级功能模块类型生成模块固件包下载请求,即根据模块包头起始位置读取模块包头信息确定模块版本号、模块固件起始地址、模块固件长度和模块校验信息等,根据模块固件起始地址、模块固件长度和模块校验信息下载模块固件升级包。

s22,家电设备发送模块固件包下载请求至资源服务器。

在一些实施例中,家电设备支持多个下载任务同时进行,家电设备根据下载任务上限生成固件包下载请求以获取多个模块固件包,具体的,根据模块包头起始位置和待升级功能模块类型确定优先下载的多个模块固件包。

在一些实施例中,家电设备支持同时间段内进行单个下载任务,家电设备发送模块固件包下载请求至资源服务器,包括:当待升级功能模块类型为一个的情况下,根据待升级功能模块类型对应的模块包头起始位置生成模块固件包下载请求,并发送模块固件包下载请求至资源服务器以下载模块固件包;当待升级功能模块类型为多个的情况下,确定待升级功能模块的优先级,依据优先级生成模块固件包下载请求,并依次发送模块固件包下载请求至资源服务器以下载模块固件包。

在一些实施例中,模块固件包下载请求包括模块固件起始位置和模块固件的长度。家电设备生成模块固件包下载请求后,发送模块固件包下载请求至存储有整机固件包的资源服务器,并接收资源服务器发送的模块固件包,完成模块固件包的下载。

s23,资源服务器发送模块固件包至家电设备。

s24,家电设备根据模块固件包完成模块升级。由家电设备中的联网模块与资源服务器通信连接,联网模块获取模块固件包,并分发给对应的模块以完成升级。

家电设备为保证成功升级,在模块固件包下载完成后需要对模块固件包进行完整性校验,在不同的实施例中,模块固件包的校验方式不同。

在一些实施例中,当待升级功能模块类型为多个的情况下,该方法还包括:对设定模块类型的模块固件包进行完整性校验,并在校验未通过的情况下重新下载设定模块类型的模块固件包。

在一些实施例中,当待升级功能模块类型为多个的情况下,该方法还包括:对部分或全部模块固件包进行完整性校验,并在校验未通过的情况下重新下载模块固件包。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:在每个模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新下载模块固件包。即家电设备在升级过程中,根据优先级依次下载模块固件包,或者,家电设备支持同时间段内进行单个下载任务的情况下,在每个模块固件包下载完成后进行完整性校验,以提高校验的及时性和升级速率。

在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:在全部模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新校验未通过的模块固件包。即在升级过程中,家电设备在完成全部模块固件包下载任务后,对所有下载完成的模块固件包进行完整性校验,并在校验未通过的情况下对校验未通过的模块固件包进行重新下载。家电设备集中对模块固件包进行完整性校验,简化校验过程。

在一些实施例中,该方法还包括:在获取模块固件包过程中发生中断的情况下,记录下载中断位置;在网络恢复的情况下,基于记录的下载中断位置继续获取模块固件包。家电设备通过断点续传流程节省下载模块固件包下载时间及流量,以提高家电设备升级效率。

图4是本公开实施例提供的另一个用于固件升级的装置的示意图,如图4示出了在模块固件包发生中断的情况,包括如下步骤:

s41,联网模块发送模块固件包下载请求至资源服务器。

其中,模块固件包下载请求的格式为(offset,len),offset为模块固件包起始位置,len为模块固件包总长度。

s42,资源服务器应答与模块固件包下载请求对应的模块固件包。

s43,联网模块保存接收到的模块固件包,记录下载中断位置。

s44,联网模块基于下载中断位置生成剩余模块固件包请求。

设定联网模块在断网之前接收到的模块固件包长度为len1,则联网模块保存下载中断位置len1,基于下载中断位置len1生成剩余模块固件包请求。剩余模块固件包请求格式为(offset+len1,len-len1)。

s45,联网模块发送剩余模块固件包请求至资源服务器。

s46,资源服务器应答剩余模块固件包。

资源服务器接收到剩余模块固件包请求(offset+len1,len-len1),则基于offset+len1作为新的偏移量应答剩余模块固件包,剩余模块固件包长度为len-len1。

在本公开实施例中,家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型和资源定位符,基于资源定位符从资源服务器获取整机包头信息。家电设备待升级功能模块类型和整机包头信息确定模块包头起始位置。家电设备根据模块包头起始位置和待升级功能模块类型确定待升级功能模块的模块固件包位置,仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。

结合图5所示,本公开实施例提供一种用于固件升级的装置,包括处理器(processor)500和存储器(memory)501。可选地,该装置还可以包括通信接口(communicationinterface)502和总线503。其中,处理器500、通信接口502、存储器501可以通过总线503完成相互间的通信。通信接口502可以用于信息传输。处理器500可以调用存储器501中的逻辑指令,以执行上述实施例的用于固件升级的方法。

此外,上述的存储器501中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器500通过运行存储在存储器501中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于固件升级的方法。

存储器501可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器。

本公开实施例还提供了一种家电设备,该家电设备包括上述的用于固件升级的装置。

本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于固件升级的方法。

本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于固件升级的方法。

上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。

本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在设定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

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