CN112328293A - 一种嵌入式设备的差分升级方法及相关组件 - Google Patents

一种嵌入式设备的差分升级方法及相关组件 Download PDF

Info

Publication number
CN112328293A
CN112328293A CN202011225912.0A CN202011225912A CN112328293A CN 112328293 A CN112328293 A CN 112328293A CN 202011225912 A CN202011225912 A CN 202011225912A CN 112328293 A CN112328293 A CN 112328293A
Authority
CN
China
Prior art keywords
version
firmware
difference
upgrading
embedded device
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.)
Pending
Application number
CN202011225912.0A
Other languages
English (en)
Inventor
刘向伦
陆楷文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Goertek Techology Co Ltd
Original Assignee
Goertek Techology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Goertek Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN202011225912.0A priority Critical patent/CN112328293A/zh
Priority to PCT/CN2020/134831 priority patent/WO2022095199A1/zh
Publication of CN112328293A publication Critical patent/CN112328293A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本申请公开了一种嵌入式设备的差分升级方法、装置、系统、电子设备和存储介质,包括:获取升级服务器发送的版本差异集合;版本差异集合存储有各个固件版本之间的差异信息;根据版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据版本差异信息确认差异位置;根据差异位置,向升级服务器发送固件数据的下载请求;接收升级服务器发送的固件数据,并根据固件数据更新差异位置的固件数据。该方法能够实现嵌入式设备仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本;还可以优化用户的升级操作,即无需用户再请求下载其他固件版本对应的版本差异表。

Description

一种嵌入式设备的差分升级方法及相关组件
技术领域
本申请涉及嵌入式系统技术领域,特别涉及一种嵌入式设备的差分升级方法、装置、系统、电子设备和存储介质。
背景技术
嵌入式设备是以应用为中心,通过现代计算机技术,将软硬件进行剪裁以适配具体应用环境的专用计算机小型设备。嵌入式设备已遍布日常生活中,其在功能、成本、体积、功耗、可靠性等方面都可灵活控制,例如智能手机、可穿戴设备、无线耳机、音箱、机顶盒、车载设备等都是典型的嵌入式设备。
在嵌入式设备商用发布后,为了产品功能或数据的更新与维护,支持其升级功能是必不可少。比如嵌入式设备在开发或推广过程中,为产品快速上市而允许带有部分非高风险缺陷,还会出现有新的用户功能需求或性能提升要求,这些问题都可通过嵌入式设备升级功能来解决。
目前,嵌入式设备的升级方式主要有两种:全量升级,差分升级。其中,差分升级是指设备根据当前固件数据与升级包中要升级的固件数据的差异点来下载升级包内容,然后只覆盖设备本地旧版本中的差异点。不过目前嵌入式设备的差分升级方式无法满足市面上同时有多种旧版本需要快速升级的问题。例如,用户当前嵌入式设备版本号为V3版本,若要升级到V6版本,只能采用逐版本升级至V6版本的方式,即V3版本先升级到V4版本,再升级到V5版本,最终升级到V6版本,这种方式比较繁琐,也会造成成本资源的浪费,用户体验下降。
发明内容
本申请的目的是提供一种嵌入式设备的差分升级方法,能够实现嵌入式设备仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本。还可以优化用户的升级操作,即无需用户再请求下载其他固件版本对应的版本差异表,仅根据该版本差异集合,就可实现任意固件版本差分升级至指定升级固件版本。其具体方案如下:
第一方面,本申请公开了一种嵌入式设备的差分升级方法,包括:
获取升级服务器发送的版本差异集合;所述版本差异集合存储有各个固件版本之间的差异信息;
根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置;
根据所述差异位置,向所述升级服务器发送固件数据的下载请求;
接收所述升级服务器发送的固件数据,并根据所述固件数据更新所述差异位置的固件数据。
可选的,根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述差异信息确认差异位置,包括:
从所述版本差异集合对应Bit-map表中,确认所述嵌入式设备当前固件版本与所述指定升级固件对应的版本差异信息;
确认所述版本差异信息中特定元素值所在位置,并将所述位置确定为所述差异位置。
可选的,根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置之前,还包括:
向所述升级服务器发送差分升级包信息头的下载请求;
接收所述升级服务器发送的所述差分升级包信息头;
根据所述差分升级包信息头中的校验信息,对所述版本差异集合进行校验;
若校验通过,则执行根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置的步骤。
可选的,获取升级服务器发送的版本差异集合之前,还包括:
接收所述升级服务器下发的最新固件的推送消息;
判断嵌入式设备当前固件版本的版本号是否小于最新固件的版本号;
若小于,则执行所述获取升级服务器发送的版本差异集合的步骤。
可选的,接收所述固件数据,并根据所述固件数据更新所述差异信息对应位置的固件数据之后,还包括:
存储更新后对应的固件版本的版本信息。
第二方面,本申请公开了一种嵌入式设备的差分升级装置,包括:
获取模块,用于获取升级服务器发送的版本差异集合;所述版本差异集合存储有各个固件版本之间的差异信息;
确定模块,用于根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置;
发送模块,用于根据所述差异位置,向所述升级服务器发送固件数据的下载请求;
接收模块,用于接收所述升级服务器发送的固件数据,并根据所述固件数据更新所述差异位置的固件数据。
可选的,所述确定模块,包括:
第一确定单元,用于从所述版本差异集合对应Bit-map表中,确认所述嵌入式设备当前固件版本与所述指定升级固件对应的版本差异信息;
第二确定单元,用于确认所述版本差异信息中特定元素值所在位置,并将所述位置确定为所述差异位置。
第三方面,本申请公开了一种嵌入式设备的差分升级系统,包括:
升级服务器,用于发送版本差异集合和固件数据至嵌入式设备;
所述嵌入式设备,用于执行嵌入式设备程序时实现如上述嵌入式设备的差分升级方法的步骤。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于存储嵌入式设备程序;
处理器,用于执行所述嵌入式设备程序时实现如上述嵌入式设备的差分升级方法的步骤。
第四方面,本申请公开了一种存储介质,所述存储介质上存储有嵌入式设备程序,所述嵌入式设备程序被处理器执行时实现如上述嵌入式设备的差分升级方法的步骤。
本申请提供一种嵌入式设备的差分升级方法,包括:获取升级服务器发送的版本差异集合;所述版本差异集合存储有各个固件版本之间的差异信息;根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述差异信息确认差异位置;根据所述差异位置,向所述升级服务器发送固件数据的下载请求;接收所述升级服务器发送的固件数据,并根据所述固件数据更新所述差异位置的固件数据。
可见,本申请根据版本差异集合,确定嵌入式设备当前固件版本与指定升级固件版本对应的版本差异信息,进而根据版本差异信息确定差异位置,并更新差异位置的固件数据。由于版本差异集合中存储有当前固件版本与指定升级固件版本对应的差异信息,所以嵌入式设备根据版本差异集合,仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本。还因为版本差异集合存储有各个固件版本与指定升级固件版本之间的差异信息,用户可以根据版本差异集合将任意固件版本直接升级至最新版本,可以优化用户的升级操作,无需用户再请求下载其他固件版本对应的版本差异表,就可实现任意固件版本升级,避免了相关技术中需要逐版本升级到指定升级固件版本,升级过程繁琐的缺陷,节约了资源与成本,有效降低版本管理复杂度,提高了升级效率,改善用户体验。本申请同时还提供了一种嵌入式设备的差分升级装置、一种嵌入式设备的差分升级系统、一种电子设备和存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种嵌入式设备的差分升级方法的流程图;
图2为本申请实施例所提供的一种差分升级包制作流程图;
图3为本申请实施例所提供的一种版本差异表生成原理说明图;
图4为本申请实施例所提供的一种差分升级包样式图;
图5为本申请实施例所提供的另一种嵌入式设备的差分升级方法的流程图;
图6为本申请实施例提供的一种嵌入式设备的差分升级装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,嵌入式设备的升级方式主要有两种:全量升级,差分升级。全量升级是指设备下载全部的升级包内容,并完全覆盖设备本地的旧版本。全量升级能保证完整准确的把所有新固件数据都下载完成,但存在的问题是,随着嵌入式设备固件数据越来越大,全量升级的耗时过长,造成用户的体验下降。而当前的嵌入式设备差分升级,在弥补了全量升级方法的缺陷上,也存在升级方式繁琐,造成成本资源浪费的缺陷,即用户基于当前嵌入式设备版本,想要升级到指定的固件版本,需要逐级升级。
基于上述技术问题,本实施例提供一种嵌入式设备的差分升级方法,能够实现嵌入式设备仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本。还可以优化用户的升级操作,即无需用户再请求下载其他固件版本对应的版本差异表,仅根据该版本差异集合,就可实现任意固件版本一次直接差分升级至指定升级固件版本,需要说明的是,本实施例中指定升级固件版本通常指的是最新固件版本。具体请参考图1,图1为本申请实施例所提供的一种嵌入式设备的差分升级方法的流程图,具体包括:
S101、获取升级服务器发送的版本差异集合;版本差异集合存储有各个固件版本之间的差异信息。
本实施例的执行主体为嵌入式设备。相应的,本实施例并不限定嵌入式设备获取版本差异集合的时机,即不限定嵌入式设备差分升级的时机,可以是嵌入式设备主动发送差分升级指令来获取版本差异集合,也可以是接收到升级服务器下发的最新固件推送消息时,获取版本差异集合。本实施例并不限定差分升级指令的具体内容,可以包括嵌入式设备当前固件版本信息与指定升级固件版本信息,也可以是其他内容。
本实施例并不限定版本差异集合的存储形式,可以是以版本差异表的形式存储,也可以是以其他形式存储,可以根据实际情况进行设定。可以理解的是,版本差异集合中存储有各个固件版本之间的差异信息,当用户对嵌入式设备进行差分升级时,就可以根据版本差异集合中对应版本的差异信息进行差分升级。例如,最新固件版本为V4,嵌入式设备当前固件版本可能为V1至V4,那么版本差异集合中存储有版本V1与版本V4的差异信息,记为V1-V4,相应的,还有V2-V4,V3-V4。不仅能够满足用户仅根据版本差异集合记录的当前固件版本与指定升级固件版本之间的差异信息,就能实现仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本。还由于版本差异集合存储有多个版本与指定升级固件版本之间的差异信息,因此还可以优化用户的升级操作,无需用户再请求下载当前固件版本与其他固件版本对应的版本差异信息,仅根据该版本差异集合,就可实现任意固件版本差分升级至指定升级固件版本。
在一种具体的实施例中,为了提高升级效率,实现自动升级至最新固件版本,本实施例中获取升级服务器发送的版本差异集合之前,还可以包括:接收升级服务器下发的最新固件的推送消息;判断嵌入式设备当前固件版本的版本号是否小于最新固件的版本号;若小于,则执行获取升级服务器发送的版本差异集合的步骤。即,当嵌入式设备接收到升级服务器发送的最新固件的推送消息后,判断当前嵌入式设备固件版本是否小于最新固件的版本号,当嵌入式设备当前固件版本小于最新固件版本号时,可以进行差分升级,并执行获取版本差异集合操作。可以实现自动升级至最新固件版本,提高升级效率。
S102、根据版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据差异信息确认差异位置。
可以理解的是,版本差异集合中存储有各个固件版本之间的差异信息,当用户进行差分升级时,需要从版本差异集合中,确定当前固件版本与指定升级固件版本对应的版本差异信息,并根据版本差异信息确认差异位置。可以理解的是,对当前固件版本与指定升级固件版本进行对比后,对应位置存储数据不相同的,记录为版本差异信息。本实施例并不限定版本差异信息的具体内容,可以包括差异位置,可以包括差异位置对应的元素值,也可以包括其中的一种或几种,可以根据实际情况进行设定。还可以理解的是,确定当前固件版本与指定升级固件版对应的版本差异信息的具体方式,根据版本差异集合中差异信息的存储方式而定,本实施例中并不限定。
在一种具体的实施例中,为了能够快速获取到差异位置,以更新当前固件版本,本实施例中根据版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据差异信息确认差异位置,可以包括:从版本差异集合对应Bit-map表中,确认嵌入式设备当前固件版本与指定升级固件对应的版本差异信息;确认版本差异信息中特定元素值所在位置,并将位置确定为差异位置。即,版本差异集合以Bit-map表的形式存储差异信息,其中,Bit-map是指用一个bit位来标记某个元素对应的值。可以理解的是,Bit-map表中存储有很多固件版本之间的差异信息,需要先确认嵌入式设备当前固件版本与指定升级固件版本对应的版本差异信息,再确定该版本差异信息中特定元素值所在位置,该位置即为当前固件版本与指定升级固件版本对应位置存储数据不相同的差异位置,以便根据该差异位置更新当前的固件数据。
需要说明的是,本实施例中的版本差异集合,是对各个不同固件版本进行对比,并将对应位置存储数据不同的,标记为特定元素值。本实施例并不限定特定元素值的大小,可以是1,也可以是其他数值,用户可以根据实际情况进行设定。本实施例也不限定版本之间对比的单位大小,可以是以N个比特为单位,依次进行对比,也可以是每兆为单位,依次进行对比,可以根据实际情况进行限定。
例如,当前有5个已发布版本(V1、V2、V3、V4、V5)需升级,要升级到最新固件版本为V6。首先,获取最新版本V6的固件数据与要支持升级的旧版本固件数据;然后,以每4KBytes个大小比对旧版本与V6版本的差异,相同记录为0,不同记录为1,将此记录作为Bit-map的1个bit;再将比对后每个版本的Bit-map存入版本差异集合,直到所有要支持升级的旧版本均完成记录,将每个版本的Bit-map存放到为大Bit-map即形成版本差异集合,该版本差异集合以表的形式存储,可记为版本差异表。
可以理解的是,版本差异表、差分升级包信息头和指定升级固件版本对应的固件数据一起作为完整的差分升级包,供不同版本的嵌入式设备根据该差分升级包进行差分升级。本实施例中差分升级包由差分升级信息头、版本差异表和指定升级版本固件数据组成。其中,差分升级包信息头中记录要升级的版本号即指定升级固件的版本号、版本大小等数据,以及版本差异集合的校验信息和指定升级固件版本对应固件数据的校验信息等。可参考图2、图3,图2为差分升级包的制作流程图,图3为版本差异表生成原理说明图。其中,浅色代表版本数据对应位置无差异,深色代表版本数据对应位置有差异。本实施例中差分升级包样式可参考图4。
S103、根据差异位置,向升级服务器发送固件数据的下载请求。
可以理解的是,差分升级是嵌入式设备根据当前固件版本数据与指定升级固件版本的差异点来下载固件数据,即根据当前固件版本数据与指定升级固件版本的差异位置,向升级服务器发送固件数据下载请求,也就是差异位置与请求下载的固件数据是一一对应关系。
S104、接收升级服务器发送的固件数据,并根据固件数据更新差异位置的固件数据。
当升级服务器接收到嵌入式设备发送的固件数据下载请求后,发送差异位置的固件数据到嵌入式设备,嵌入式设备接收固件数据,并覆盖差异位置的当前固件数据,依次接收并完成覆盖,直到所有差异位置覆盖完成,完成差分升级至指定升级固件版本。
为了提高用户升级体验,本实施例中接收固件数据,并根据固件数据更新差异信息对应位置的固件数据之后,还可以包括:存储更新后对应的固件版本的版本信息。即,所有差异位置对应的固件数据覆盖完后,完成更新当前固件版本至指定升级固件版本,并存储更新后的固件版本信息,能够提高用户升级体验。
基于上述技术方案,本实施例根据版本差异集合,确定嵌入式设备当前固件版本与指定升级固件版本对应的版本差异信息,进而确定版本差异信息确定差异位置,更新差异位置的固件数据。能够实现嵌入式设备仅进行一次差分升级,就可实现由当前固件版本升级至指定升级固件版本。进一步,还可以优化用户的升级操作,即无需用户再请求下载其他固件版本对应的版本差异表,仅根据该版本差异集合,就可实现任意固件版本差分升级至指定升级固件版本,有效降低成本资源和版本管理复杂度,缩短升级时间,提高升级效率,改善用户升级体验。
基于上述实施例,为了能够保证升级的可靠性,本实施例提供一种嵌入式设备的差分升级方法,具体请参考图5,图5为本申请实施例所提供的另一种嵌入式设备的差分升级方法的流程图,包括:
S501、获取升级服务器发送的版本差异集合;版本差异集合存储有各个固件版本之间的差异信息。
S502、向升级服务器发送差分升级包信息头的下载请求,并接收升级服务器发送的差分升级包信息头。
S503、根据差分升级包信息头中的校验信息,对版本差异集合进行校验。
当接收到差分升级包信息头后,根据差分升级包信息头中的校验信息,对获取到的版本差异集合进行校验。本实施例并不限定校验的算法,可以根据实际情况进行选择。可以理解的是,当版本差异集合以表的形式存储时,记为版本差异表,与差分升级包信息头、指定升级固件版本对应的固件数据一起作为完整的差分升级包,供不同版本的嵌入式设备根据该差分升级包进行差分升级。对版本差异表进行校验,可以保证版本差异集合的可信度,提高差分升级的成功率与安全性。
S504、若校验通过,则根据版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据版本差异信息确认差异位置。
S505、根据差异位置,向升级服务器发送固件数据的下载请求。
S506、接收升级服务器发送的固件数据,并根据固件数据更新差异位置的固件数据。
步骤S501、S504至步骤S506的具体内容可以参考上述实施例,本实施例不再进行赘述。
基于上述技术方案,本实施例通过根据差分升级包信息头中的校验信息,对版本差异集合进行校验,当校验通过后,说明可以根据此版本差异集合来请求下载指定升级固件版本差异位置的固件数据,以更新差异位置当前固件数据,能够保证版本差异集合的可信度,提高差分升级的安全性,改善客户体验。
下面对本申请实施例提供的一种嵌入式设备的差分升级装置进行介绍,下文描述的嵌入式设备的差分升级装置与上文描述的嵌入式设备的差分升级方法可相互对应参照,相关模块均设置于中,参考图6,图6为本申请实施例所提供的一种嵌入式设备的差分升级装置的结构示意图,包括:
在一些具体的实施例中,具体包括:
获取模块601,用于获取升级服务器发送的版本差异集合;版本差异集合存储有各个固件版本之间的差异信息;
确定模块602,用于根据版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据版本差异信息确认差异位置;
发送模块603,用于根据差异位置,向升级服务器发送固件数据的下载请求;
接收模块604,用于接收升级服务器发送的固件数据,并根据固件数据更新差异位置的固件数据。
在一些具体的实施例中,确定模块602,包括:
第一确定单元,用于从版本差异集合对应Bit-map表中,确认嵌入式设备当前固件版本与指定升级固件对应的版本差异信息;
第二确定单元,用于确认版本差异信息中特定元素值所在位置,并将位置确定为差异位置。
在一些具体的实施例中,还包括:
信息头下载模块,用于向升级服务器发送差分升级包信息头的下载请求;
信息头接收模块,用于接收升级服务器发送的差分升级包信息头;
校验模块,用于根据差分升级包信息头中的校验信息,对版本差异集合进行校验。
在一些具体的实施例中,还包括:
推送消息接收模块,用于接收升级服务器下发的最新固件的推送消息;
判断模块,用于判断嵌入式设备当前固件版本的版本号是否小于最新固件的版本号。
在一些具体的实施例中,还包括:
存储模块,用于存储更新后对应的固件版本的版本信息。
由于嵌入式设备的差分升级装置部分的实施例与嵌入式设备的差分升级方法部分的实施例相互对应,因此嵌入式设备的差分升级装置部分的实施例请参见嵌入式设备的差分升级方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的方法可相互对应参照。
本申请提供一种电子设备,包括:
存储器,用于存储嵌入式设备程序;
处理器,用于执行嵌入式设备程序时实现如上述嵌入式设备的差分升级方法的步骤。
由于电子设备部分的实施例与嵌入式设备的差分升级方法部分的实施例相互对应,因此电子设备部分的实施例请参见嵌入式设备的差分升级方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种存储介质进行介绍,下文描述的存储介质与上文描述的嵌入式设备的差分升级方法可相互对应参照。
本申请提供一种存储介质,存储介质上存储有嵌入式设备程序,嵌入式设备程序被处理器执行时实现如上述嵌入式设备的差分升级方法的步骤。
由于存储介质部分的实施例与方法部分的实施例相互对应,因此存储介质部分的实施例请参见嵌入式设备的差分升级方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种嵌入式设备的差分升级方法、装置、系统、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种嵌入式设备的差分升级方法,其特征在于,包括:
获取升级服务器发送的版本差异集合;所述版本差异集合存储有各个固件版本之间的差异信息;
根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置;
根据所述差异位置,向所述升级服务器发送固件数据的下载请求;
接收所述升级服务器发送的固件数据,并根据所述固件数据更新所述差异位置的固件数据。
2.根据权利要求1所述的嵌入式设备的差分升级方法,其特征在于,根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述差异信息确认差异位置,包括:
从所述版本差异集合对应Bit-map表中,确认所述嵌入式设备当前固件版本与所述指定升级固件对应的版本差异信息;
确认所述版本差异信息中特定元素值所在位置,并将所述位置确定为所述差异位置。
3.根据权利要求1所述的嵌入式设备的差分升级方法,其特征在于,根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置之前,还包括:
向所述升级服务器发送差分升级包信息头的下载请求;
接收所述升级服务器发送的所述差分升级包信息头;
根据所述差分升级包信息头中的校验信息,对所述版本差异集合进行校验;
若校验通过,则执行根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置的步骤。
4.根据权利要求1所述的嵌入式设备的差分升级方法,其特征在于,获取升级服务器发送的版本差异集合之前,还包括:
接收所述升级服务器下发的最新固件的推送消息;
判断嵌入式设备当前固件版本的版本号是否小于最新固件的版本号;
若小于,则执行所述获取升级服务器发送的版本差异集合的步骤。
5.根据权利要求1所述的嵌入式设备的差分升级方法,其特征在于,接收所述固件数据,并根据所述固件数据更新所述差异信息对应位置的固件数据之后,还包括:
存储更新后对应的固件版本的版本信息。
6.一种嵌入式设备的差分升级装置,其特征在于,包括:
获取模块,用于获取升级服务器发送的版本差异集合;所述版本差异集合存储有各个固件版本之间的差异信息;
确定模块,用于根据所述版本差异集合确定嵌入式设备当前固件版本与指定升级固件版对应的版本差异信息,并根据所述版本差异信息确认差异位置;
发送模块,用于根据所述差异位置,向所述升级服务器发送固件数据的下载请求;
接收模块,用于接收所述升级服务器发送的固件数据,并根据所述固件数据更新所述差异位置的固件数据。
7.根据权利要求6所述的嵌入式设备的差分升级装置,其特征在于,所述确定模块,包括:
第一确定单元,用于从所述版本差异集合对应Bit-map表中,确认所述嵌入式设备当前固件版本与所述指定升级固件对应的版本差异信息;
第二确定单元,用于确认所述版本差异信息中特定元素值所在位置,并将所述位置确定为所述差异位置。
8.一种嵌入式设备的差分升级系统,其特征在于,包括:
升级服务器,用于发送版本差异集合和固件数据至嵌入式设备;
所述嵌入式设备,用于执行嵌入式设备程序时实现如权利要求1至5任一项所述嵌入式设备的差分升级方法的步骤。
9.一种电子设备,其特征在于,包括:
存储器,用于存储嵌入式设备程序;
处理器,用于执行所述嵌入式设备程序时实现如权利要求1至5任一项所述的嵌入式设备的差分升级方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有嵌入式设备程序,所述嵌入式设备程序被处理器执行时实现如权利要求1至5任一项所述的嵌入式设备的差分升级方法的步骤。
CN202011225912.0A 2020-11-05 2020-11-05 一种嵌入式设备的差分升级方法及相关组件 Pending CN112328293A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011225912.0A CN112328293A (zh) 2020-11-05 2020-11-05 一种嵌入式设备的差分升级方法及相关组件
PCT/CN2020/134831 WO2022095199A1 (zh) 2020-11-05 2020-12-09 一种嵌入式设备的差分升级方法及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011225912.0A CN112328293A (zh) 2020-11-05 2020-11-05 一种嵌入式设备的差分升级方法及相关组件

Publications (1)

Publication Number Publication Date
CN112328293A true CN112328293A (zh) 2021-02-05

Family

ID=74316985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011225912.0A Pending CN112328293A (zh) 2020-11-05 2020-11-05 一种嵌入式设备的差分升级方法及相关组件

Country Status (2)

Country Link
CN (1) CN112328293A (zh)
WO (1) WO2022095199A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553077A (zh) * 2021-05-31 2021-10-26 宁波三星医疗电气股份有限公司 一种智能电表的固件升级方法及智能电表
TWI775616B (zh) * 2021-08-30 2022-08-21 大陸商蘇州磐聯集成電路科技股份有限公司 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統
CN116319751A (zh) * 2023-03-13 2023-06-23 武汉理工大学 一种船舶设备的远程升级系统和方法
CN116521210B (zh) * 2023-04-18 2024-05-03 宁夏隆基宁光仪表股份有限公司 一种物联网水表固件差量升级的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174389A (zh) * 2022-07-07 2022-10-11 国网浙江省电力有限公司物资分公司 一种升级方法、装置、设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software
CN106250143A (zh) * 2016-07-27 2016-12-21 杭州联络互动信息科技股份有限公司 一种可穿戴设备的ota升级方法以及装置
WO2017036183A1 (zh) * 2015-09-02 2017-03-09 中兴通讯股份有限公司 差分升级包的处理方法及装置,升级方法、系统及装置
CN109491691A (zh) * 2018-11-30 2019-03-19 歌尔科技有限公司 一种tws耳机及其升级方法、装置、介质
CN111158738A (zh) * 2019-12-30 2020-05-15 青岛歌尔智能传感器有限公司 耳机固件的升级方法、装置及可读存储介质
CN111651186A (zh) * 2020-05-29 2020-09-11 歌尔科技有限公司 耳机及其程序升级方法、控制装置和可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184814A (zh) * 2014-08-25 2014-12-03 中山市永衡日用制品有限公司 嵌入式固件差分升级的文件生成和合成的方法和系统
CN108574588B (zh) * 2017-03-10 2023-09-15 中兴通讯股份有限公司 客户端、服务端及差异化升级方法
CN106997302A (zh) * 2017-03-31 2017-08-01 广东欧珀移动通信有限公司 固件升级方法、装置及音频播放设备
CN111475195A (zh) * 2020-03-24 2020-07-31 普联技术有限公司 一种固件升级方法、装置和系统
CN111796853A (zh) * 2020-07-16 2020-10-20 深圳市千分一智能技术有限公司 固件升级方法、系统、设备及计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100955A1 (en) * 2012-06-13 2015-04-09 Tencent Technology (Shenzhen) Company Limited Method and System for Updating Software
WO2017036183A1 (zh) * 2015-09-02 2017-03-09 中兴通讯股份有限公司 差分升级包的处理方法及装置,升级方法、系统及装置
CN106250143A (zh) * 2016-07-27 2016-12-21 杭州联络互动信息科技股份有限公司 一种可穿戴设备的ota升级方法以及装置
CN109491691A (zh) * 2018-11-30 2019-03-19 歌尔科技有限公司 一种tws耳机及其升级方法、装置、介质
CN111158738A (zh) * 2019-12-30 2020-05-15 青岛歌尔智能传感器有限公司 耳机固件的升级方法、装置及可读存储介质
CN111651186A (zh) * 2020-05-29 2020-09-11 歌尔科技有限公司 耳机及其程序升级方法、控制装置和可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553077A (zh) * 2021-05-31 2021-10-26 宁波三星医疗电气股份有限公司 一种智能电表的固件升级方法及智能电表
TWI775616B (zh) * 2021-08-30 2022-08-21 大陸商蘇州磐聯集成電路科技股份有限公司 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統
CN116319751A (zh) * 2023-03-13 2023-06-23 武汉理工大学 一种船舶设备的远程升级系统和方法
CN116521210B (zh) * 2023-04-18 2024-05-03 宁夏隆基宁光仪表股份有限公司 一种物联网水表固件差量升级的方法

Also Published As

Publication number Publication date
WO2022095199A1 (zh) 2022-05-12

Similar Documents

Publication Publication Date Title
CN112328293A (zh) 一种嵌入式设备的差分升级方法及相关组件
CN104991793B (zh) 一种用于应用程序分包的方法、装置以及系统
CN103678319B (zh) 资源文件更新方法、装置和系统及服务器
CN1960434B (zh) 一种实现电视系统升级的方法和装置
CN104410665B (zh) 一种更新包的下载方法及设备
CN104657170A (zh) 一种数据更新方法、装置及系统
CN104243586A (zh) 内容共享方法、内容共享装置,以及内容共享设备
CN111158738B (zh) 耳机固件的升级方法、装置及可读存储介质
KR101541112B1 (ko) Fota 시스템 및 그 실행 방법
CN109391673A (zh) 一种管理更新文件的方法、系统及终端设备
CN102742303A (zh) 具有本地pim集成的基于消息的移动对象
CN108829431A (zh) iOS应用程序的更新方法、装置、设备及存储介质
CN105450682A (zh) 一种用于数据同步保存、向客户端同步数据的方法、装置和系统
CN110083379A (zh) 一种服务器部件升级方法及相关装置
EP3506599B1 (en) Method for synchronizing contact information, apparatus and medium
US9104520B2 (en) Method and apparatus for upgrading application
CN104036193A (zh) 一种应用程序的本地跨域漏洞检测方法及装置
CN109905430A (zh) 一种软件升级方法与系统
CN107315592A (zh) 一种软件升级方法及装置
CN113791984B (zh) 接口自动化测试方法及装置
CN110007943A (zh) 一种基于Android系统的应用程序更新管理方法及系统
CN113535558A (zh) 软件版本传输方法及装置
CN101854442B (zh) 网络设备及其固件更新方法
CN113377385A (zh) 客户端自动部署方法及装置
CN110825406A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210205

RJ01 Rejection of invention patent application after publication