CN112000355B - 用于固件升级的方法及装置、家电设备 - Google Patents
用于固件升级的方法及装置、家电设备 Download PDFInfo
- Publication number
- CN112000355B CN112000355B CN202010850960.2A CN202010850960A CN112000355B CN 112000355 B CN112000355 B CN 112000355B CN 202010850960 A CN202010850960 A CN 202010850960A CN 112000355 B CN112000355 B CN 112000355B
- Authority
- CN
- China
- Prior art keywords
- module
- firmware
- upgraded
- package
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006870 function Effects 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 11
- 230000006855 networking Effects 0.000 description 55
- 238000012795 verification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000005406 washing Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及通信技术领域,公开一种用于固件升级的方法,该方法包括:在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并获取整机固件包的整机包头信息;根据所述待升级功能模块类型和所述整机包头信息确定模块包头起始位置;根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,以完成固件升级。本公开实施例仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。本申请还公开一种用于固件升级的装置及家电设备。
Description
技术领域
本申请涉及通信技术领域,例如涉及一种用于固件升级的方法及装置、家电设备。
背景技术
目前,物联网设备种类越来越多,为提高用户的体验,需要对设备进行***升级更新,且对升级过程的要求也越来越高。大多数的物联网设备通过多个模块组成,设备上市后开发者会持续开发更多不同的新版本,以便不断完善物联网设备的各种功能,修改设备可能存在的缺陷,提高用户的应用体验。
传统的应用程序升级方法有两种,一种是在线升级,从服务器上下载最新版本的升级包,另一种为离线升级,提前下载最新版本的升级包至移动存储设备,然后进行离线升级。上述两种升级方法中需要对固件做完整备份,存在随着功能的逐渐升级,升级文件包越来越大,***存储空间不足的问题,现有技术中提供了采用差分升级包进行无线升级的方式来完成***更新和优化,解决升级时内存不足的问题,同时减小升级文件下载传输时间,其中,差分升级包是由当前版本与重新编译后的版本之间的差异文件差分生成。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:功能较多的智能设备,差分文件往往比较多,会占用过多网络资源。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于固件升级的方法及装置、家电设备,以解决功能较多的智能设备差分文件多,占用过多网络资源的技术问题。
在一些实施例中,所述用于固件升级的方法包括:
在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并获取整机固件包的整机包头信息;
根据所述待升级功能模块类型和所述整机包头信息确定模块包头起始位置;
根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,以完成固件升级。
在一些实施例中,根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,包括:
当待升级功能模块类型为一个的情况下,根据待升级功能模块类型对应的模块包头起始位置生成模块固件包下载请求,并下载模块固件包;
当待升级功能模块类型为多个的情况下,确定待升级功能模块的优先级,依据所述优先级生成模块固件包下载请求,并依次下载模块固件包。
在一些实施例中,所述模块固件包下载请求包括模块固件起始位置和模块固件的长度。
在一些实施例中,当待升级功能模块类型为多个的情况下,还包括:
对设定模块类型的模块固件包进行完整性校验,并在校验未通过的情况下重新下载所述设定模块类型的模块固件包。
在一些实施例中,当待升级功能模块类型为多个的情况下,还包括:
对部分或全部模块固件包进行完整性校验,并在校验未通过的情况下重新下载模块固件包。
在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:
在每个模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新下载模块固件包。
在一些实施例中,对部分或全部模块固件包进行完整性校验,包括:
在全部模块固件包下载完成后进行完整性校验,并在校验未通过的情况下重新校验未通过的模块固件包。
在一些实施例中,该方法还包括:
在获取模块固件包过程中发生中断的情况下,记录下载中断位置;
在网络恢复的情况下,基于记录的下载中断位置继续获取模块固件包。
在一些实施例中,所述升级任务包括整机版本号、待升级功能模块类型和资源定位符。
在一些实施例中,所述获取整机固件包的整机包头信息,包括:
根据所述整机版本号和所述资源定位符生成整机包头信息请求;
发送所述整机包头信息请求至资源服务器;
接收资源服务器反馈的所述整机包头信息。
在一些实施例中,所述整机包头信息包括整机版本号、模块数量、模块包头起始位置和模块包头长度。
在一些实施例中,所述用于固件升级的装置,包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行上述任一项所述的用于固件升级的方法。
在一些实施例中,所述家电设备,包括上述的用于固件升级的装置。
本公开实施例提供的用于固件升级的方法及装置、家电设备,可以实现以下技术效果:
家电设备在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并根据待升级功能模块类型和整机包头信息确定模块包头起始位置。家电设备根据模块包头起始位置和待升级功能模块类型确定待升级功能模块的模块固件包位置,仅获取待升级功能模块类型对应的模块固件包,并基于待升级功能模块确定下载顺序,能够有效控制单位时间内获取到升级文件的数量,实现对需要升级的功能模块进行升级的同时减小网络占用率,提高模块固件包下载速度和家电设备的升级效率。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,附图不构成比例限制,并且其中:
图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。可选地,该装置还可以包括通信接口(Communication Interface)502和总线503。其中,处理器500、通信接口502、存储器501可以通过总线503完成相互间的通信。通信接口502可以用于信息传输。处理器500可以调用存储器501中的逻辑指令,以执行上述实施例的用于固件升级的方法。
此外,上述的存储器501中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器501作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器500通过运行存储在存储器501中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于固件升级的方法。
存储器501可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例还提供了一种家电设备,该家电设备包括上述的用于固件升级的装置。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于固件升级的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于固件升级的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在设定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (9)
1.一种用于固件升级的方法,其特征在于,包括:
在接收到升级任务的情况下,基于升级任务确定待升级功能模块类型,并获取整机固件包的整机包头信息;
根据所述待升级功能模块类型和所述整机包头信息确定模块包头起始位置;
根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,以完成固件升级;
根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,包括:
当待升级功能模块类型为多个的情况下,确定待升级功能模块的优先级,依据所述优先级生成模块固件包下载请求,并依次下载模块固件包;所述模块固件包下载请求包括模块固件起始位置和模块固件的长度。
2.根据权利要求1所述的方法,其特征在于,根据所述模块包头起始位置和待升级功能模块类型获取模块固件包,还包括:
当待升级功能模块类型为一个的情况下,根据待升级功能模块类型对应的模块包头起始位置生成模块固件包下载请求,并下载模块固件包。
3.根据权利要求1所述的方法,其特征在于,当待升级功能模块类型为多个的情况下,还包括:
对设定模块类型的模块固件包进行完整性校验,并在校验未通过的情况下重新下载所述设定模块类型的模块固件包。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
在获取模块固件包过程中如果发生中断,则记录下载中断位置;
在网络恢复的情况下,基于记录的下载中断位置继续获取模块固件包。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述升级任务包括整机版本号、待升级功能模块类型和资源定位符。
6.根据权利要求5所述的方法,其特征在于,所述获取整机固件包的整机包头信息,包括:
根据所述整机版本号和所述资源定位符生成整机包头信息请求;
发送所述整机包头信息请求至资源服务器;
接收资源服务器反馈的整机包头信息。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述整机包头信息包括整机版本号、模块数量、模块包头起始位置和模块包头长度。
8.一种用于固件升级的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至7任一项所述的用于固件升级的方法。
9.一种家电设备,其特征在于,包括如权利要求8所述的用于固件升级的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010850960.2A CN112000355B (zh) | 2020-08-21 | 2020-08-21 | 用于固件升级的方法及装置、家电设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010850960.2A CN112000355B (zh) | 2020-08-21 | 2020-08-21 | 用于固件升级的方法及装置、家电设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000355A CN112000355A (zh) | 2020-11-27 |
CN112000355B true CN112000355B (zh) | 2023-10-24 |
Family
ID=73473971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010850960.2A Active CN112000355B (zh) | 2020-08-21 | 2020-08-21 | 用于固件升级的方法及装置、家电设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000355B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732316A (zh) * | 2020-12-31 | 2021-04-30 | 杭州艾芯智能科技有限公司 | 门锁模组的固件升级方法、***、计算机和存储介质 |
CN113835726B (zh) * | 2021-08-16 | 2023-11-28 | 青岛海尔科技有限公司 | 一种升级包的确定方法及服务端 |
CN113852489A (zh) * | 2021-08-16 | 2021-12-28 | 青岛海尔科技有限公司 | 一种升级包的获取方法及智能设备 |
CN113590161B (zh) * | 2021-08-20 | 2024-04-19 | 广东九联科技股份有限公司 | 内存可控的nb-iot模组差分升级方法及*** |
CN113721968B (zh) * | 2021-08-31 | 2024-04-02 | 杭州海康威视数字技术股份有限公司 | 固件升级方法、装置 |
CN114938365B (zh) * | 2022-03-18 | 2024-06-25 | 青岛海尔科技有限公司 | 功能模块的更新方法、装置、存储介质及电子装置 |
CN117202163A (zh) * | 2022-05-31 | 2023-12-08 | 中兴通讯股份有限公司 | 信息传输方法及装置、存储介质、电子装置 |
CN117560285B (zh) * | 2024-01-08 | 2024-04-09 | 河北普兰特生物科技有限公司 | 一种智控物联整机ota升级方法、客户端及服务端 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798034A (zh) * | 2004-12-31 | 2006-07-05 | 中国科学院声学研究所 | 一种dvb***中数字终端***软件的升级方法 |
WO2016082547A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 一种升级文件制作方法及装置和升级文件获取方法及装置 |
KR20170036421A (ko) * | 2015-09-24 | 2017-04-03 | 한화테크윈 주식회사 | 부트 프로그램을 실행 및 갱신하는 방법 |
CN106843942A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 穿戴式设备的固件升级方法及穿戴式设备 |
WO2018041061A1 (zh) * | 2016-08-29 | 2018-03-08 | 深圳市中兴微电子技术有限公司 | 车载设备的升级方法、设备、***和计算机存储介质 |
CN109002312A (zh) * | 2018-09-10 | 2018-12-14 | 京信通信***(中国)有限公司 | 软件升级方法、装置及升级服务器和设备 |
CN109960523A (zh) * | 2017-12-22 | 2019-07-02 | 浙江宇视科技有限公司 | 一种嵌入式设备的固件升级方法及装置 |
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110784348A (zh) * | 2019-10-23 | 2020-02-11 | 迈普通信技术股份有限公司 | 一种固件升级方法、装置、电子设备及存储介质 |
CN111176702A (zh) * | 2019-12-16 | 2020-05-19 | 京信通信***(中国)有限公司 | 固件升级方法、装置、计算机设备和存储介质 |
CN111552502A (zh) * | 2020-04-21 | 2020-08-18 | 海尔优家智能科技(北京)有限公司 | 智能设备的nb模组升级方法及装置 |
-
2020
- 2020-08-21 CN CN202010850960.2A patent/CN112000355B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798034A (zh) * | 2004-12-31 | 2006-07-05 | 中国科学院声学研究所 | 一种dvb***中数字终端***软件的升级方法 |
WO2016082547A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 一种升级文件制作方法及装置和升级文件获取方法及装置 |
KR20170036421A (ko) * | 2015-09-24 | 2017-04-03 | 한화테크윈 주식회사 | 부트 프로그램을 실행 및 갱신하는 방법 |
WO2018041061A1 (zh) * | 2016-08-29 | 2018-03-08 | 深圳市中兴微电子技术有限公司 | 车载设备的升级方法、设备、***和计算机存储介质 |
CN106843942A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 穿戴式设备的固件升级方法及穿戴式设备 |
CN109960523A (zh) * | 2017-12-22 | 2019-07-02 | 浙江宇视科技有限公司 | 一种嵌入式设备的固件升级方法及装置 |
CN109002312A (zh) * | 2018-09-10 | 2018-12-14 | 京信通信***(中国)有限公司 | 软件升级方法、装置及升级服务器和设备 |
CN110187897A (zh) * | 2019-05-28 | 2019-08-30 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN110784348A (zh) * | 2019-10-23 | 2020-02-11 | 迈普通信技术股份有限公司 | 一种固件升级方法、装置、电子设备及存储介质 |
CN111176702A (zh) * | 2019-12-16 | 2020-05-19 | 京信通信***(中国)有限公司 | 固件升级方法、装置、计算机设备和存储介质 |
CN111552502A (zh) * | 2020-04-21 | 2020-08-18 | 海尔优家智能科技(北京)有限公司 | 智能设备的nb模组升级方法及装置 |
Non-Patent Citations (4)
Title |
---|
A Hardware-based Framework for Secure Firmware Updates on Embedded Systems;Solon Falas等;2019 IFIP/IEEE 27th International Conference on Very Large Scale Integration (VLSI-SoC);第198-203页 * |
SCADA network forensics of the PCCC protocol;Saranyan Senthivel等;Digital Investigation;第22卷;第S57-S65页 * |
基于ZigBee协议OTA技术的研究与优化;沈亮;中国优秀硕士学位论文全文数据库 信息科技辑(第5期);I136-258 * |
电动汽车智能远程监控及控制终端设计;王毅;中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑(第2期);C035-641 * |
Also Published As
Publication number | Publication date |
---|---|
CN112000355A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000355B (zh) | 用于固件升级的方法及装置、家电设备 | |
CN108074177B (zh) | 数据对账方法、***和计算机可读存储介质 | |
CN108111331A (zh) | 更新数据包的获取方法、装置、存储介质、处理器及*** | |
CN105786549B (zh) | 智能设备及其升级方法 | |
CN111447248A (zh) | 一种文件传输的方法及装置 | |
CN106155734B (zh) | 一种软件版本的下载方法及装置 | |
CN105450682A (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和*** | |
CN112995806A (zh) | 一种升级光网络单元方法、装置、***及存储介质 | |
CN103164232A (zh) | 更新智能终端操作***的方法、***以及计算机 | |
CN102769625A (zh) | 客户端Cookie信息获取方法和装置 | |
CN109697117B (zh) | 终端控制方法、装置以及计算机可读存储介质 | |
CN113986313A (zh) | 软件升级方法、装置、电子设备以及存储介质 | |
CN111885564B (zh) | 数据传输方法、设备升级方法、计算机可读的存储介质 | |
CN106254440B (zh) | 一种ap的升级方法和装置 | |
CN108460002A (zh) | 合作伙伴自动对接方法、装置、设备及存储介质 | |
CN112579141A (zh) | 一种嵌入式***的固件更新方法、装置、设备及存储介质 | |
CN104506942A (zh) | 机顶盒及其电缆调制解调器***的升级方法 | |
CN107124446A (zh) | 应用程序下载方法、服务器及终端 | |
CN109005203B (zh) | 数据同步方法及装置、存储介质、处理器、终端 | |
CN110502238A (zh) | 一种前后端联调的方法及装置 | |
CN113671924B (zh) | Dcs实时值置值方法和***、设备及存储介质 | |
CN111246447A (zh) | eUICC签约数据管理方法、模块以及终端、存储介质 | |
CN112685613B (zh) | 一种资源包查询的方法、装置及信息处理*** | |
US10979287B2 (en) | Method and apparatus for receiving a solution when configuration function verification fails in a terminal | |
CN115167907A (zh) | 终端设备升级方法、服务器、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |