CN114020311A - 固件升级方法、装置及电子设备 - Google Patents
固件升级方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114020311A CN114020311A CN202111198920.5A CN202111198920A CN114020311A CN 114020311 A CN114020311 A CN 114020311A CN 202111198920 A CN202111198920 A CN 202111198920A CN 114020311 A CN114020311 A CN 114020311A
- Authority
- CN
- China
- Prior art keywords
- firmware
- electronic equipment
- file
- downloading
- state information
- 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
Links
Images
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
- G06F8/658—Incremental updates; Differential 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)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种固件升级方法、装置及电子设备,包括:接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件;响应于所述下载指令,下载所述固件升级文件;在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。该方法可以由服务器触发控制电子设备分阶段对固件进行升级,以减少用户等待时间,提升用户体验。
Description
技术领域
本公开实施例涉及固件升级技术领域,更具体地,涉及固件升级方法、装置、电子设备及服务器。
背景技术
空中下载技术(OTA,Over-the-AirTechnology),是通过移动通信的接口实现对电子设备中固件(Firmware)文件进行远程升级的技术。
目前,为了方便管理,一般使用OTA技术以对电子设备中的固件进行升级。例如,针对共享车辆中使用的固件文件,为了提升用户体验以及满足城市管理者的管理要求,共享车辆在检测到其固件文件存在更新的情况下,会通过OTA技术从服务器下载固件升级文件,例如,最新版本的固件文件或者增量升级文件,并通过将固件升级文件搬移至编码区,以完成固件文件的升级处理。
然而,现有在使用OTA技术对电子设备中的固件文件进行升级时,在升级的过程中,电子设备将处于用户不可用的状态,这对业务影响时间较长,用户体验不佳。例如,车辆在进行固件升级处理过程中,用户将无法使用车辆,并且也无法对用户的开锁操作做出正常响应。
发明内容
本公开的一个目的是提供一种用于固件升级的新的技术方案。
根据本公开的第一方面,提供了固件升级方法的一个实施例,应用于电子设备,包括:
接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件;
响应于所述下载指令,下载所述固件升级文件;
在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
可选地,所述响应于所述下载指令,下载所述固件升级文件,包括:
响应于所述下载指令,判断所述电子设备是否满足预设下载条件;
在所述电子设备满足所述预设下载条件的情况下,下载所述固件升级文件,并设置第一状态信息为表示开始下载所述固件升级文件的信息;或者,
在所述电子设备不满足所述预设下载条件的情况下,拒绝下载所述固件升级文件,并设置所述第一状态信息为表示拒绝下载所述固件升级文件的信息;
将所述第一状态信息发送至所述服务器。
可选地,所述电子设备与所述服务器之间包括相互独立的第一数据连接通道和第二数据连接通道,所述第一数据连接通道用于与所述服务器之间进行数据下载处理,所述第二数据连接通道用于与所述服务器之间进行其他数据交互处理,所述第一数据连接通道的使用优先级低于所述第二数据连接通道;
所述下载所述固件升级文件,包括:
根据所述第一数据连接通道,从所述服务器下载所述固件升级文件。
可选地,在所述下载所述固件升级文件步骤之后,所述方法还包括:
获取下载到的、所述固件升级文件的特征信息;
根据所述特征信息,获得第二状态信息,其中,所述第二状态信息表示是否成功下载到所述固件升级文件;
将所述第二状态信息发送至所述服务器。
可选地,在所述第二状态信息表示未成功下载到所述固件升级文件的情况下,所述方法还包括:
响应于所述服务器再次发送的所述下载指令,再次执行所述下载所述固件升级文件步骤。
可选地,所述在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理,包括:
在成功下载到所述固件升级文件的情况下,存储所述固件升级文件,并等待接收所述搬移指令;
在接收到所述搬移指令的情况下,判断所述电子设备是否满足第一固件搬移条件;
在所述电子设备满足所述第一固件搬移条件的情况下,设置第三状态信息为表示开始固件搬移的信息,并根据所述固件升级文件,对所述旧固件文件进行升级处理;或者,
在所述电子设备不满足所述固件搬移条件的情况下,设置所述第三状态信息为表示拒绝固件搬移的信息;
将所述第三状态信息发送至所述服务器。
可选地,在所述根据所述固件升级文件,对所述旧固件文件进行升级处理之后,所述方法还包括:
根据所述升级处理的执行结果,设置第四状态信息,其中,所述第四状态信息表示是否成功完成所述升级处理;
将所述第四状态信息发送至所述服务器。
可选地,在所述下载所述固件升级文件之后,所述方法还包括:
获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足第二固件搬移条件,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;
在所述第五状态信息表示所述电子设备不满足所述第二固件搬移条件的情况下,持续检测所述第五状态信息的变化;
在检测到所述第五状态信息变化为表示所述电子设备满足所述第二固件搬移条件的信息的情况下,向所述服务器发送所述第五状态信息,以请求所述服务器发送所述搬移指令。
可选地,所述电子设备包括车辆,所述旧固件文件为所述车辆中的每一功能模块所使用的固件文件中的至少一个,所述功能模块包括蓝牙模块、定位模块及电控模块中的任意一项。
根据本公开的第二方面,提供了固件升级方法的一个实施例,应用于服务器,包括:
在检测到电子设备使用旧固件文件的情况下,向所述电子设备发送下载指令,其中,所述下载指令用于指示所述电子设备下载与所述旧固件文件对应的固件升级文件;
在所述电子设备成功下载到所述固件升级文件的情况下,判断所述电子设备是否满足第二固件搬移条件;
在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送搬移指令,以指示所述电子设备根据所述固件升级文件,对所述旧固件文件进行升级处理。
可选地,在执行所述在所述电子设备成功下载到所述固件升级文件的情况下,判断所述电子设备是否满足第二固件搬移条件步骤之前,所述方法还包括:
接收所述电子设备发送的第一状态信息,其中,所述第一状态信息表示所述电子设备是否开始下载所述固件升级文件;
在所述第一状态信息表示所述电子设备未开始下载所述固件升级文件的情况下,执行下载重试处理,以再次向所述电子设备发送所述下载指令。
可选地,所述方法通过以下步骤判断所述电子设备是否成功下载到所述固件升级文件:
接收所述电子设备发送的第二状态信息,其中,所述第二状态信息表示所述电子设备是否成功下载到所述固件升级文件;
根据所述第二状态信息,确定所述电子设备是否成功下载到所述固件升级文件。
可选地,在根据所述第二状态信息,确定所述电子设备未成功下载到所述固件升级文件的情况下,所述方法还包括:
执行下载重试处理,以再次向所述电子设备发送所述下载指令。
可选地,所述执行下载重试处理,包括:
更新对应所述下载指令的下载重试次数;
在所述下载重试次数不大于预设阈值的情况下,再次向所述电子设备发送所述下载指令。
可选地,在所述向所述电子设备发送搬移指令步骤之后,所述方法还包括:
接收所述电子设备发送的第三状态信息,其中,所述第三状态信息表示所述电子设备是否开始固件搬移;
在所述第三状态信息表示所述电子设备未开始固件搬移的情况下,按照预设时间间隔再次向所述电子设备发送所述搬移指令。
可选地,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;
所述方法通过以下步骤判断所述电子设备是否满足所述第二固件搬移条件:
获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足所述第二固件搬移条件;
根据所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件。
可选地,在所述电子设备不满足所述第二固件搬移条件的情况下,所述方法还包括:
按照预设时间间隔再次获取所述第五状态信息,并根据再次获取到的所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件,并在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送所述搬移指令。
可选地,在向所述电子设备发送搬移指令之后,所述方法还包括:
等待接收所述电子设备发送的第四状态信息,其中,所述第四状态信息表示所述电子设备是否成功完成所述升级处理;
在接收到所述第四状态信息的情况下,设置所述电子设备为升级完成的状态。
可选地,在等待接收所述第四状态信息的过程中,所述方法还包括:
在接收到用户终端设备发送的请求使用所述电子设备的数据请求的情况下,向所述用户终端发送预设提示信息。
根据本公开的第三方面,提供了固件升级装置的一个实施例,应用于电子设备,包括:
下载指令接收模块,用于接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件;
下载模块,用于响应于所述下载指令,下载所述固件升级文件;
搬移模块,用于在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
根据本公开的第四方面,提供了车辆的一个实施例,包括如本说明书的第四方面所述的固件升级装置,或者,
所述车辆包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述车辆执行如本说明书的第一方面所述的方法。
根据本公开的第五方面,提供了服务器的一个实施例,所述服务器包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述服务器执行如本说明书的第二方面所述的方法。
本公开实施例的一个有益效果在于,根据本公开的实施例,针对需要进行固件升级的电子设备,电子设备在接收到服务器发送的下载指令后,先下载固件升级文件,但成功下载固件升级文件后并不直接进行固件搬移处理,而是再次等待接收服务器发送的搬移指令,并在接收到该搬移指令的情况下,才根据该固件升级文件,对旧固件文件进行升级处理。由此可知,该方法将传统基于OTA的升级处理拆分为独立的下载处理和搬移处理,这样在耗时较长的下载处理过程中,由于旧固件文件依然可用,所以不会影响到用户使用电子设备;而搬移处理通常耗时较短,例如,通常不超过1分钟,因此,电子设备处于不可用的时间也将大幅度缩减;另外,由于电子设备在进行固件升级文件的下载处理和搬移处理时,均是由服务器触发执行,所以即使电子设备在固件搬移过程中处于不可用状态,服务器也可以根据电子设备的当前状态向用户发出提示信息,从而避免用户体验不佳的问题;此外,由于该固件升级处理均是由服务器触发执行,所以服务器还可以获取到升级过程中的处理状态信息,以便于统计下载成功率、搬移成功率等统计数据,从而便于后期优化固件升级流程。
通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。
图1是能够实施本公开实施例的共享车辆系统的示意图。
图2是本公开实施例提供的一种固件升级方法的流程示意图。
图3是本公开实施例提供的固件下载处理示意图。
图4是本公开实施例提供的固件搬移处理示意图。
图5是本公开实施例提供的另一种固件升级方法的流程示意图。
图6是本公开实施例提供的一种固件升级装置的方框原理图。
图7是本公开实施例提供的一种车辆的硬件结构示意图。
图8是本公开实施例提供的一种服务器的硬件结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
具体地,在本公开的实施例中,为了解决现有在基于OTA技术进行固件升级处理时,采用下载处理和搬移处理无缝连接的一体化方式进行固件升级时所存在的问题。在本公开的实施例中,通过将固件升级处理拆分为下载处理和搬移处理,可以使得在耗时较长的固件下载环节,电子设备依然可以响应用户操作;而搬移处理的耗时较短,所以并不会为用户带来长时间的不佳体验。
以实施该方法的电子设备为共享车辆为例,根据本公开实施例的方法,通过将基于OTA技术的固件升级处理拆分为相对独立的下载处理和搬移处理,在车辆接收到服务器下发的下载指令,进行固件下载处理的过程中,用户依然可以向服务器发送针对车辆的开锁请求,服务器可以响应于该请求,向车辆发送开锁指令,使得车辆可以保持为用户提供服务;而当车辆响应服务器下发的搬运指令,开始进行固件搬移处理时,由于共享车辆中各功能模块使用的固件文件通常体积较小,所以车辆在较短时间内即可完成固件搬移处理,并且,由于搬移指令是服务器下发至车辆,所以在车辆进行固件搬移过程中,服务器可以根据接收到的用户开锁请求,向用户发出提示信息,以避免给用户带来不佳体验。
<硬件配置>
图1是能够实施本公开实施例的共享车辆系统的示意图。
如图1所示,该车辆系统包括服务器2000、终端设备1000和车辆3000。
该服务器2000与终端设备1000,以及服务器2000与车辆3000可以通过网络4000通信连接。车辆3000与服务器2000,以及终端设备1000与服务器2000进行通信所基于的网络4000可以是同一个,也可以是不同的。网络4000可以是无线通信网络也可以是有线通信网络,可以是局域网也可以是广域网。
该服务器2000提供处理、数据库、通讯设施的业务点。服务器2000可以是整体式服务器,跨多计算机,计算机数据中心的分散式服务器,云服务器,或者部署在云端的服务器集群等。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。该服务器2000具体配置可以包括但不限于处理器2100、存储器2200、接口装置2300、通信装置2400。处理器2100用于执行采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写的计算机程序。存储器2200例如是ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如是USB接口、串行接口、并行接口等。通信装置2400例如是能够进行有线通信或无线通信,例如可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。
应用于本公开实施例中,服务器2000的存储器2200用于存储计算机程序,该计算机程序用于控制所述处理器2100进行操作以实现根据本公开实施例的方法。该操作例如包括:在检测到车辆3000使用旧固件文件的情况下,向车辆3000发送下载指令,其中,所述下载指令用于指示车辆3000下载与旧固件文件对应的固件升级文件;在车辆3000成功下载到固件升级文件的情况下,判断车辆3000是否满足第二固件搬移条件;在车辆3000满足第二固件搬移条件的情况下,向车辆3000发送搬移指令,以指示车辆3000根据固件升级文件,对旧固件文件进行升级处理等。技术人员可以根据本公开所公开方案设计该计算机程序。该计算机程序如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,除图1示出的各装置,服务器2000还可以包括其他装置,在此不做限定。
本实施例中,终端设备1000例如是手机、便携式电脑、平板电脑、掌上电脑、可穿戴设备等。
该终端设备1000安装有用车应用客户端,用户可以通过操作该用车应用客户端,实现使用车辆3000的目的。
该终端设备1000可以包括但不限于处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、图形处理器GPU、微处理器MCU等,用于执行计算机程序,该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、串行接口、并行接口等。通信装置1400例如能够利用光纤或电缆进行有线通信,或者进行无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。扬声器1170用于输出音频信号。麦克风1180用于拾取音频信号。
应用于本公开实施例中,该终端设备1000可以安装有智能操作系统(例如Windows、Linux、安卓、IOS等系统)和应用软件。
本领域技术人员应当理解,尽管在图1中示出了终端设备1000的多个装置,但是,本公开实施例的终端设备1000可以仅涉及其中的部分装置,例如,只涉及处理器1100、存储器1200等。
车辆3000可以是图1中所示的自行车,也可以是三轮车、电动助力车、摩托车以及四轮乘用车等各种形态,在此不做限定。
该车辆3000可以包括但不限于处理器3100、存储器3200、接口装置3300、通信装置3400、显示装置3500、输入装置3600、扬声器3700、麦克风3800等等。其中,处理器3100可以是微处理器MCU等。存储器3200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3300例如包括USB接口、串行接口、并行接口等。通信装置3400例如能够利用光纤或电缆进行有线通信,或者进行无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置3500例如可以是液晶显示屏、触摸显示屏等。输入装置3600例如可以包括触摸屏、键盘等,也可以是麦克风输入语音信息。车辆3000可以通过扬声器3700输出音频信号,及通过麦克风3800采集音频信号。
应用于本公开实施例中,车辆3000的存储器3200用于存储计算机程序,该计算机程序用于控制处理器3100进行操作以执行与服务器2000之间的信息交互,例如接收服务器发送的下载指令,其中,该下载指令用于指示车辆3000下载与旧固件文件对应的固件升级文件;响应于该下载指令,下载该固件升级文件;在成功下载到该固件升级文件,并且接收到服务器发送的搬移指令的情况下,根据该固件升级文件,对该旧固件文件进行升级处理。该计算机程序如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
尽管在图1中示出了车辆3000的多个装置,但是,本发明可以仅涉及其中的部分装置,例如,车辆3000只涉及处理器3100、存储器3200和通信装置3400。
应当理解的是,尽管图1仅示出一个服务器2000、终端设备1000、车辆3000,但不意味着限制各自的数量,本系统中可以包含多个服务器2000、多个终端设备1000、多个车辆3000。
下面,参照附图描述根据本发明的各个实施例和例子。
<方法实施例一>
图2是本公开实施例提供的一种固件升级方法的流程示意图,该方法可以由电子设备实施,该电子设备具体可以为移动终端设备,例如,该电子设备可以为图1所示的车辆3000,在本公开的实施例中,如无特殊说明,以实施该方法的电子设备为图1所示的车辆3000为例,说明本实施例的固件升级方法。
如图2所示,本实施例的固件升级方法可以包括如下步骤S2100-S2300。
步骤S2100,接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件。
下载指令,是服务器发送至电子设备的、用于指示电子设备下载固件升级文件,以对电子设备使用的对应旧固件文件进行升级的指令。
在具体实施时,下载指令中可以包括固件升级文件的相关信息,例如,包括下载地址信息、文件大小、文件类型等信息,其中,文件类型可以用于表示固件升级文件是否为增量升级文件,即,是增量升级包还是完整升级包,当然,下载指令中也可以包括其他信息,此处不再赘述。
步骤S2200,响应于所述下载指令,下载所述固件升级文件。
在接收到服务器发送的下载指令之后,电子设备,例如,车辆即可响应于该下载指令,执行固件升级文件下载处理。需要说明的是,考虑到在实际中,电子设备在低电量、网络故障等状态下可能并不满足下载条件,因此,在一个实施例中,所述响应于该下载指令,下载固件升级文件,具体可以包括:响应于该下载指令,判断该电子设备是否满足预设下载条件;在该电子设备满足该预设下载条件的情况下,下载所述固件升级文件,并设置第一状态信息为表示开始下载所述固件升级文件的信息;或者,在该电子设备不满足该预设下载条件的情况下,拒绝下载该固件升级文件,并设置该第一状态信息为表示拒绝下载该固件升级文件的信息;将所述第一状态信息发送至所述服务器。
预设下载条件,可以是电子设备的剩余电量是否不小于预设阈值,电子设备的通信模块和/或存储模块是否处于正常工作状态以及,存储空间是否不小于预设存储阈值中的至少一项;当然,在具体实施时,也可以根据需要设置该预设下载条件,此处不做特殊限定。
请参看图3,其是本公开实施例提供的固件下载处理示意图。如图3所示,服务器可以在检测到电子设备使用旧固件文件的情况下,在任意时刻向电子设备发送下载指令;电子设备在接收到服务器发送的下载指令之后,可以先判断电子设备是否满足该预设下载条件,以决定是否开始下载固件升级文件;若不满足该预设下载条件,则可以拒绝下载该固件升级文件,若满足该预设下载条件,则可以开始下载该固件升级文件。
另外,如图3所示,在本公开的实施例中,为了便于服务器及时掌握电子设备进行固件升级处理时的处理状态,电子设备在固件升级处理的每一个节点处,例如,是否开始下载固件升级文件节点、是否成功下载到固件升级文件节点、是否开始搬移节点、是否搬移完成节点等不同执行节点处,均可以将其执行状态发送给服务器,以便于服务器根据该状态信息进行下载重试处理、搬移重试处理以及固件升级处理成功率统计处理等处理。
即,在电子设备接收到下载指令,并执行判断是否满足预设下载条件的情况下,可以在判定满足该预设下载条件的情况下,设置第一状态信息为表示开始下载固件升级文件的信息,以及,在不满足该预设下载条件的情况下,设置第一状态信息为表示拒绝下载固件升级文件的信息,并将该第一状态信息发送给服务器,以便于服务器根据接收到的第一状态信息,执行相应下载重试处理以及其他处理。
请继续参看图3,在一个实施例中,为了使得电子设备在下载固件升级文件处理过程中,依然可以对用户操作进行正常响应,该电子设备与服务器之间可以维持相互独立的第一数据连接通道,即,通道1和第二数据连接通道,即,通道2,该第一数据连接通道用于与服务器之间进行数据下载处理,该第二数据连接通道用于与服务器之间进行其他数据交互处理,并且,可以设置第一数据连接通道的使用优先级低于第二数据连接通道,具体来讲,通道1和通道2完全相互独立且互不影响,并且,通道1的使用优先级,例如,下载速率、上报优先级等均相对低于通道2,以保证电子设备在基于通道1下载固件升级文件时,电子设备依然可以基于通道2响应用户操作,以不影响用户正常使用电子设备。
因此,在该实施例中,如图3所示,所述下载固件升级文件,可以为:根据该第一数据连接通道,从服务器下载该固件升级文件。
例如,在通道1和通道2同时使用时,虽然通道1的下载速率会下降并造成下载时间延长,但此时电子设备处于静默下载状态而不会被用户感知到,因此,不会影响用户正常使用电子设备,所以下载过程延长的时间并不会为用户带来不佳的体验。
请继续参看图3,在一个实施例中,在执行该步骤S2200之后,该方法还包括:获取下载到的、该固件升级文件的特征信息;根据该特征信息,获得第二状态信息,其中,该第二状态信息表示是否成功下载到该固件升级文件;将该第二状态信息发送至服务器。
固件升级文件的特征信息,是指电子设备下载并存储到本地的固件升级文件的属性信息,例如,固件升级文件的大小或者消息摘要算法(MD5,MessageDigestAlgorithm)校验信息等信息;电子设备可以根据下载到的固件升级文件的特征信息,校验下载是否成功,同时,为了便于服务器执行下载重试处理、数据统计处理等处理,在根据该特征信息,判断固件升级文件下载成功或失败的情况下,可以对应设置第二状态信息,并通过发送该第二状态信息至服务器的方式,通知服务器固件升级文件是否下载成功。
请继续参看图3,在一个实施例中,在服务器根据接收到的第一状态信息,或者第二状态信息,判断电子设备未成功下载到固件升级文件的情况下,电子设备还可以执行重试处理,该重试处理,具体可以为先更新下载重试次数,再判断更新后的下载重试次数是否不大于预设阈值,若是,则可以再次执行以上步骤,即,再次向电子设备发送下载指令,以指示电子设备再次下载固件升级文件。
需要说明的是,在具体实施时,服务器在根据第一状态信息或者第二状态信息,判断电子设备未成功下载到固件升级文件的情况下,为避免短时间内设备故障或通信故障未解决的问题,服务器可以按照预设时间间隔,例如,间隔10分钟、60分钟等再执行下载重试处理,以避免做无用的下载重试处理。
在根据以上任意实施例,当电子设备成功下载到固件升级文件的情况下,电子设备可以先将该固件升级文件存储在本地存储空间,并等待服务器在根据电子设备发送的第二状态信息确定下载成功并且电子设备满足固件搬移条件,例如,电子设备处于空闲状态、待升级的功能模块处于正常非故障状态等状态的情况下,向电子设备下发搬移指令,以指示电子设备根据该搬移指令,开始将固件升级文件搬移到旧固件文件所在的编码区的处理,以完成固件升级处理。
具体地,在步骤S2200之后,执行步骤S2300,在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
搬移指令,是指示电子设备根据下载到的固件升级文件,对编码区中的旧固件文件进行升级的处理。其中,在固件升级文件为完整内容给的升级包的情况下,针对旧固件文件的升级处理,可以是由电子设备直接将解压后的固件升级文件直接搬移到旧固件文件所在的编码区中;而在固件升级文件为增量升级文件的情况下,则需要电子设备先根据旧固件文件和增量升级文件在预设缓存区中还原得到完整内容的新固件文件,再将新固件文件搬移到旧固件文件所在的编码区中,其详细处理过因为在现有技术中有详细说明,此处不再赘述。
具体地,请参看图4,其是本公开实施例提供的固件搬移处理示意图。如图4所示,在本公开的实施例中,电子设备,例如车辆在响应服务器发送的下载指令,成功下载到固件升级文件之后,可以先存储固件升级文件,并等待服务器下发搬移指令,而不是直接执行固件搬移处理,由于服务器可以准确获取电子设备的使用状态,例如,电子设备是否空闲、电子设备中对应功能模块是否存在故障等,因此,通过服务器触发电子设备执行固件搬移处理的固件升级方法,可以避免电子设备直接执行搬移处理,或者,自行决定搬移时机时,存在的用户体验不佳以及服务器无法获知升级中状态的问题,以下对该电子设备如何响应服务器指示,以执行固件搬移处理进行详细说明。
在一个实施例中,所述在成功下载到固件升级文件,并且接收到服务器发送的搬移指令的情况下,根据该固件升级文件,对旧固件文件进行升级处理,包括:在成功下载到固件升级文件的情况下,存储固件升级文件,并等待接收搬移指令;在接收到搬移指令的情况下,判断电子设备是否满足第一固件搬移条件;在电子设备满足第一固件搬移条件的情况下,设置第三状态信息为表示开始固件搬移的信息,并根据该固件升级文件,对旧固件文件进行升级处理;或者,在电子设备不满足固件搬移条件的情况下,设置第三状态信息为表示拒绝固件搬移的信息;以及,将第三状态信息发送至服务器。
具体如图4所示,服务器在根据接收到的第二状态信息确定电子设备已成功下载到固件升级文件,同时,还判定电子设备满足第二固件搬移条件的情况下,可以主动向电子设备下发搬移指令;电子设备响应于该搬移指令,可以再根据自身实时状态,确定是否满足第一固件搬移条件,若不满足,则电子设备可以决定拒绝进行固件搬移,并根据判断结果,设置第三状态信息,并将第三状态信息发送至服务器以通知服务器其是否开始进行固件搬移。
在具体实施时,第二固件搬移条件可以是服务器根据电子设备上报的设备信息,例如,各功能模块是否处于正常工作状态的信息;以及根据服务器子集存储的电子设备是否处于空闲状态的信息,以确定电子设备是否满足固件搬移处理的预设条件。第二固件搬移条件可以为以下任意一项:电子设备是否处于空闲状态、电子设备中使用旧固件文件的功能模块是否处于正常工作状态。
需要说明的是,如图4所述,在具体实施时,在服务器判定电子设备不满足第二固件搬移条件的情况下,可以根据预设定时查询机制,例如按照预设时间间隔再次判断电子设备是否满足该第二固件搬移条件,以指示电子设备进行搬移处理;当然,在具体实施时,服务器也可以响应于电子设备发送的第四状态信息,以确定电子设备满足第二固件搬移条件,并向电子设备进行搬移处理。
即,在一个实施例中,在电子设备下载到固件升级文件之后,该方法还包括:获取电子设备的第五状态信息,其中,该第五状态信息表示电子设备是否满足第二固件搬移条件;在第五状信息表示电子设备不满足第二固件搬移条件的情况下,持续检测第五状态信息的变化;在检测到第五状态信息变化为表示电子设备满足第二固件搬移条件的信息的情况下,向服务器发送第五状态信息,以请求服务器发送该搬移指令。
以电子设备为车辆为例,在车辆成功下载到固件升级文件之后,若车辆此时处于订单状态,即,用户使用状态,则为了不影响用户使用,车辆可以判定该情况下不可以进行固件搬移处理,并将第五状态信息设置为表示不满足固件搬移条件的信息;同时,车辆可以持续检测自身状态,在检测到当前订单结束,即用户结束使用的情况下,车辆可以将第五状态信息设置为表示满足固件搬移条件的信息,并通过将该第五状态信息发送至服务器,以触发服务器下发搬移指令。当然,在使用旧固件文件的功能模块,例如,蓝牙模块、定位模块及电控模块等存在故障的情况下,车辆也可以根据以上处理主动检测第五状态信息变化,以在车辆自身满足搬移条件的情况下,通过向服务器发送第五状态信息,以触发服务器向其下发搬移指令,以开始进行固件搬移处理,从而完成固件升级处理。
第一固件搬移条件,可以是电子设备根据自身的实时状态确定是否满足固件搬移处理的条件,该第一固件搬移条件例如可以是:电子设备的剩余电量是否不小于预设阈值。
请继续参看图4,在一个实施例中,在根据固件升级文件,对旧固件文件进行升级处理之后,该方法还包括:根据该升级处理的执行结果,设置第四状态信息,其中,该第四状态信息表示是否成功完成该升级处理;将第四状态信息发送至服务器。
具体地,在电子设备将固件升级文件成功搬移到旧固件文件所在的,以完成针对旧固件文件的升级处理之后,服务器可以设置第四状态信息,以通知服务器升级处理是否完成。
如图4所示,根据以上实施例可知,电子设备在接收到服务器发送的搬移指令,并响应于该搬移指令开始进行固件搬移时,会发送第三状态信息以通知服务器开始进行固件搬移;而在搬移处理结束后,电子设备会发送第四状态信息以通知服务器固件搬移处理结束;因此,服务器根据第三状态信息和第四状态信息可以准确的得知电子设备是否处于固件搬移过程中,即,是否处于用户不可用状态中,因此,在该过程中,当服务器接收到用户终端发送的请求使用电子设备的数据情况下,服务器可以向用户终端发送“设备升级中”的预设提示信息,以解决现有在升级时无法给用户做出响应所存在的用户不佳的问题。
以电子设备为车辆为例,当车辆处于固件搬移过程中,服务器根据车辆发送的第三状态信息和第四状态信息可以准确的得知车辆是否处于固件搬移过程中,在此过程中,若服务器接收到用户终端发送的请求使用车辆的数据请求,则服务器可以将“车辆升级中”的提示消息推送到用户终端上,以提示用户车辆暂时不可用,以提升用户体验。
综上所述,本公开实施例提供的固件升级方法,针对需要进行固件升级的电子设备,电子设备在接收到服务器发送的下载指令后,先下载固件升级文件,但成功下载固件升级文件后并不直接进行固件搬移处理,而是再次等待接收服务器发送的搬移指令,并在接收到该搬移指令的情况下,才根据该固件升级文件,对旧固件文件进行升级处理。由此可知,该方法将传统基于OTA的升级处理拆分为独立的下载处理和搬移处理,这样在耗时较长的下载处理过程中,由于旧固件文件依然可用,所以不会影响到用户使用电子设备;而搬移处理通常耗时较短,例如,通常不超过1分钟,因此,电子设备处于不可用的时间也将大幅度缩减;另外,由于电子设备在进行固件升级文件的下载处理和搬移处理时,均是由服务器触发执行,所以即使电子设备在固件搬移过程中处于不可用状态,服务器也可以根据电子设备的当前状态向用户发出提示信息,从而避免用户体验不佳的问题;此外,由于该固件升级处理均是由服务器触发执行,所以服务器还可以获取到升级过程中的处理状态信息,以便于统计下载成功率、搬移成功率等统计数据,从而便于后期优化固件升级流程。
<方法实施例二>
与上述方法实施例一对应,本公开的实施例还提供另一种固件升级方法。该实施例可以由服务器实施,以下该服务器为图1所示的服务器2000为例,说明本实施例的固件升级方法,
如图5所示,本实施例的固件升级文件生成方法可以包括如下步骤S5100-S5300,以下结合方法实施例一中的图3和图4对该方法进行说明。
步骤S5100,在检测到电子设备使用旧固件文件的情况下,向所述电子设备发送下载指令,其中,所述下载指令用于指示所述电子设备下载与所述旧固件文件对应的固件升级文件。
步骤S5200,在所述电子设备成功下载到所述固件升级文件的情况下,判断所述电子设备是否满足第二固件搬移条件。
如图3所示,在一个实施例中,在执行在电子设备成功下载到固件升级文件的情况下,判断电子设备是否满足第二固件搬移条件步骤之前,该方法还包括:接收电子设备发送的第一状态信息,其中,该第一状态信息表示该电子设备是否开始下载搞固件升级文件;在该第一状态信息表示该电子设备未开始下载该固件升级文件的情况下,执行下载重试处理,以再次向该电子设备发送该下载指令。
参看图3,在一个实施例中,该方法可以通过以下步骤判断电子设备是否成功下载到该固件升级文件:接收电子设备发送的第二状态信息,其中,该第二状态信息表示该电子设备是否成功下载到该固件升级文件;根据该第二状态信息,确定该电子设备是否成功下载到该固件升级文件。
请继续参看图3,在一个实施例中,在根据所述第二状态信息,确定所述电子设备未成功下载到所述固件升级文件的情况下,所述方法还包括:执行下载重试处理,以再次向所述电子设备发送所述下载指令。
在一个实施例中,所述执行下载重试处理,包括:更新对应所述下载指令的下载重试次数;在所述下载重试次数不大于预设阈值的情况下,再次向所述电子设备发送所述下载指令。
步骤S5300,在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送搬移指令,以指示所述电子设备根据所述固件升级文件,对所述旧固件文件进行升级处理。
请参看图4,在一个实施例中,在在所述向所述电子设备发送搬移指令步骤之后,所述方法还包括:接收所述电子设备发送的第三状态信息,其中,所述第三状态信息表示所述电子设备是否开始固件搬移;在所述第三状态信息表示所述电子设备未开始固件搬移的情况下,按照预设时间间隔再次向所述电子设备发送所述搬移指令。
在一个实施例中,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;所述方法通过以下步骤判断所述电子设备是否满足所述第二固件搬移条件:获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足所述第二固件搬移条件;根据所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件。
在一个实施例中,在所述电子设备不满足所述第二固件搬移条件的情况下,所述方法还包括:按照预设时间间隔再次获取所述第五状态信息,并根据再次获取到的所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件,并在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送所述搬移指令。
如图4所示,在一个实施例中,在向所述电子设备发送搬移指令之后,所述方法还包括:等待接收所述电子设备发送的第四状态信息,其中,所述第四状态信息表示所述电子设备是否成功完成所述升级处理;在接收到所述第四状态信息的情况下,设置所述电子设备为升级完成的状态。
在一个实施例中,在等待接收所述第四状态信息的过程中,所述方法还包括:在接收到用户终端设备发送的请求使用所述电子设备的数据请求的情况下,向所述用户终端发送预设提示信息。
<装置实施例>
与上述方法实施例一相对应,本公开的实施例还提供一种固件升级方法,图6是本公开实施例提供的固件升级方法的方框原理图,该装置可以应用于电子设备,例如,可由图1中的车辆3000实施。如图6所示,该资源升级装置5000可以包括:下载指令接收模块6100、下载模块6200和搬移模块6300。
该下载指令接收模块6100,接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件。
该下载模块6200,响应于所述下载指令,下载所述固件升级文件。
在一个实施例中,该下载模块6200在响应于所述下载指令,下载所述固件升级文件时,可以用于:响应于所述下载指令,判断所述电子设备是否满足预设下载条件;在所述电子设备满足所述预设下载条件的情况下,下载所述固件升级文件,并设置第一状态信息为表示开始下载所述固件升级文件的信息;或者,在所述电子设备不满足所述预设下载条件的情况下,拒绝下载所述固件升级文件,并设置所述第一状态信息为表示拒绝下载所述固件升级文件的信息;将所述第一状态信息发送至所述服务器。
在一个实施例中,所述电子设备与所述服务器之间包括相互独立的第一数据连接通道和第二数据连接通道,所述第一数据连接通道用于与所述服务器之间进行数据下载处理,所述第二数据连接通道用于与所述服务器之间进行其他数据交互处理,所述第一数据连接通道的使用优先级低于所述第二数据连接通道;该下载模块6200在下载所述固件升级文件时,可以用于:根据所述第一数据连接通道,从所述服务器下载所述固件升级文件。
在一个实施例中,该装置6000还包括固件校验模块,用于:获取下载到的、所述固件升级文件的特征信息;根据所述特征信息,获得第二状态信息,其中,所述第二状态信息表示是否成功下载到所述固件升级文件;将所述第二状态信息发送至所述服务器。
该搬移模块6300,在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
在一个实施例中,该搬移模块6300在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理时,可以用于:在成功下载到所述固件升级文件的情况下,存储所述固件升级文件,并等待接收所述搬移指令;在接收到所述搬移指令的情况下,判断所述电子设备是否满足第一固件搬移条件;在所述电子设备满足所述第一固件搬移条件的情况下,设置第三状态信息为表示开始固件搬移的信息,并根据所述固件升级文件,对所述旧固件文件进行升级处理;或者,在所述电子设备不满足所述固件搬移条件的情况下,设置所述第三状态信息为表示拒绝固件搬移的信息;将所述第三状态信息发送至所述服务器。
在一个实施例中,该装置6000还包括第一状态上报模块,用于:在所述根据所述固件升级文件,对所述旧固件文件进行升级处理之后,根据所述升级处理的执行结果,设置第四状态信息,其中,所述第四状态信息表示是否成功完成所述升级处理;将所述第四状态信息发送至所述服务器。
在一个实施例中,该装置6000还包括第二状态上报模块,用于:在所述下载所述固件升级文件之后,获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足第二固件搬移条件,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;在所述第五状态信息表示所述电子设备不满足所述第二固件搬移条件的情况下,持续检测所述第五状态信息的变化;在检测到所述第五状态信息变化为表示所述电子设备满足所述第二固件搬移条件的信息的情况下,向所述服务器发送所述第五状态信息,以请求所述服务器发送所述搬移指令。
<设备实施例一>
与上述方法实施例一对应,在本实施例中,还提供一种车辆,其可以包括本公开装置实施例中的固件升级装置6000,用于实施本公开方法实施例一中的固件升级方法。
如图7所示,该车辆700还可以包括处理器720和存储器710,该存储器710用于存储可执行的指令;该处理器720用于根据指令的控制运行车辆以执行根据本公开方法实施例一中的固件升级方法。
以上装置6000的各个模块可以由处理器720运行该指令以执行根据本公开方法实施例一中的方法来实现。
<设备实施例二>
与上述方法实施例二对应,在本实施例中,还提供一种服务器。
如图8所示,该服务器800还可以包括处理器820和存储器810,该存储器810用于存储可执行的指令;该处理器820用于根据指令的控制运行服务器以执行根据本公开方法实施例二中的固件升级方法。
本说明书的一个实施例或者多个实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本说明书实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本说明书的各个方面。
这里参照根据本说明书实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本说明书的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本申请的范围由所附权利要求来限定。
Claims (22)
1.一种固件升级方法,其特征在于,应用于电子设备,包括:
接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件;
响应于所述下载指令,下载所述固件升级文件;
在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述下载指令,下载所述固件升级文件,包括:
响应于所述下载指令,判断所述电子设备是否满足预设下载条件;
在所述电子设备满足所述预设下载条件的情况下,下载所述固件升级文件,并设置第一状态信息为表示开始下载所述固件升级文件的信息;或者,
在所述电子设备不满足所述预设下载条件的情况下,拒绝下载所述固件升级文件,并设置所述第一状态信息为表示拒绝下载所述固件升级文件的信息;
将所述第一状态信息发送至所述服务器。
3.根据权利要求2所述的方法,其特征在于,所述电子设备与所述服务器之间包括相互独立的第一数据连接通道和第二数据连接通道,所述第一数据连接通道用于与所述服务器之间进行数据下载处理,所述第二数据连接通道用于与所述服务器之间进行其他数据交互处理,所述第一数据连接通道的使用优先级低于所述第二数据连接通道;
所述下载所述固件升级文件,包括:
根据所述第一数据连接通道,从所述服务器下载所述固件升级文件。
4.根据权利要求1所述的方法,其特征在于,在所述下载所述固件升级文件步骤之后,所述方法还包括:
获取下载到的、所述固件升级文件的特征信息;
根据所述特征信息,获得第二状态信息,其中,所述第二状态信息表示是否成功下载到所述固件升级文件;
将所述第二状态信息发送至所述服务器。
5.根据权利要求4所述的方法,其特征在于,在所述第二状态信息表示未成功下载到所述固件升级文件的情况下,所述方法还包括:
响应于所述服务器再次发送的所述下载指令,再次执行所述下载所述固件升级文件步骤。
6.根据权利要求1所述的方法,其特征在于,所述在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理,包括:
在成功下载到所述固件升级文件的情况下,存储所述固件升级文件,并等待接收所述搬移指令;
在接收到所述搬移指令的情况下,判断所述电子设备是否满足第一固件搬移条件;
在所述电子设备满足所述第一固件搬移条件的情况下,设置第三状态信息为表示开始固件搬移的信息,并根据所述固件升级文件,对所述旧固件文件进行升级处理;或者,
在所述电子设备不满足所述固件搬移条件的情况下,设置所述第三状态信息为表示拒绝固件搬移的信息;
将所述第三状态信息发送至所述服务器。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述固件升级文件,对所述旧固件文件进行升级处理之后,所述方法还包括:
根据所述升级处理的执行结果,设置第四状态信息,其中,所述第四状态信息表示是否成功完成所述升级处理;
将所述第四状态信息发送至所述服务器。
8.根据权利要求1所述的方法,其特征在于,在所述下载所述固件升级文件之后,所述方法还包括:
获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足第二固件搬移条件,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;
在所述第五状态信息表示所述电子设备不满足所述第二固件搬移条件的情况下,持续检测所述第五状态信息的变化;
在检测到所述第五状态信息变化为表示所述电子设备满足所述第二固件搬移条件的信息的情况下,向所述服务器发送所述第五状态信息,以请求所述服务器发送所述搬移指令。
9.根据权利要求1所述的方法,其特征在于,所述电子设备包括车辆,所述旧固件文件为所述车辆中的每一功能模块所使用的固件文件中的至少一个,所述功能模块包括蓝牙模块、定位模块及电控模块中的任意一项。
10.一种固件升级方法,其特征在于,应用于服务器,包括:
在检测到电子设备使用旧固件文件的情况下,向所述电子设备发送下载指令,其中,所述下载指令用于指示所述电子设备下载与所述旧固件文件对应的固件升级文件;
在所述电子设备成功下载到所述固件升级文件的情况下,判断所述电子设备是否满足第二固件搬移条件;
在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送搬移指令,以指示所述电子设备根据所述固件升级文件,对所述旧固件文件进行升级处理。
11.根据权利要求10所述的方法,其特征在于,在执行所述在所述电子设备成功下载到所述固件升级文件的情况下,判断所述电子设备是否满足第二固件搬移条件步骤之前,所述方法还包括:
接收所述电子设备发送的第一状态信息,其中,所述第一状态信息表示所述电子设备是否开始下载所述固件升级文件;
在所述第一状态信息表示所述电子设备未开始下载所述固件升级文件的情况下,执行下载重试处理,以再次向所述电子设备发送所述下载指令。
12.根据权利要求10所述的方法,其特征在于,所述方法通过以下步骤判断所述电子设备是否成功下载到所述固件升级文件:
接收所述电子设备发送的第二状态信息,其中,所述第二状态信息表示所述电子设备是否成功下载到所述固件升级文件;
根据所述第二状态信息,确定所述电子设备是否成功下载到所述固件升级文件。
13.根据权利要求12所述的方法,其特征在于,在根据所述第二状态信息,确定所述电子设备未成功下载到所述固件升级文件的情况下,所述方法还包括:
执行下载重试处理,以再次向所述电子设备发送所述下载指令。
14.根据权利要求11或13所述的方法,其特征在于,所述执行下载重试处理,包括:
更新对应所述下载指令的下载重试次数;
在所述下载重试次数不大于预设阈值的情况下,再次向所述电子设备发送所述下载指令。
15.根据权利要求10所述的方法,其特征在于,在所述向所述电子设备发送搬移指令步骤之后,所述方法还包括:
接收所述电子设备发送的第三状态信息,其中,所述第三状态信息表示所述电子设备是否开始固件搬移;
在所述第三状态信息表示所述电子设备未开始固件搬移的情况下,按照预设时间间隔再次向所述电子设备发送所述搬移指令。
16.根据权利要求10所述的方法,其特征在于,所述第二固件搬移条件包括以下至少一项:所述电子设备是否处于空闲状态、使用所述旧固件文件的功能模块是否处于正常工作状态;
所述方法通过以下步骤判断所述电子设备是否满足所述第二固件搬移条件:
获取所述电子设备的第五状态信息,其中,所述第五状态信息表示所述电子设备是否满足所述第二固件搬移条件;
根据所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件。
17.根据权利要求16所述的方法,其特征在于,在所述电子设备不满足所述第二固件搬移条件的情况下,所述方法还包括:
按照预设时间间隔再次获取所述第五状态信息,并根据再次获取到的所述第五状态信息,确定所述电子设备是否满足所述第二固件搬移条件,并在所述电子设备满足所述第二固件搬移条件的情况下,向所述电子设备发送所述搬移指令。
18.根据权利要求10所述的方法,其特征在于,在向所述电子设备发送搬移指令之后,所述方法还包括:
等待接收所述电子设备发送的第四状态信息,其中,所述第四状态信息表示所述电子设备是否成功完成所述升级处理;
在接收到所述第四状态信息的情况下,设置所述电子设备为升级完成的状态。
19.根据权利要求18所述的方法,其特征在于,在等待接收所述第四状态信息的过程中,所述方法还包括:
在接收到用户终端设备发送的请求使用所述电子设备的数据请求的情况下,向所述用户终端发送预设提示信息。
20.一种固件升级装置,其特征在于,应用于电子设备,包括:
下载指令接收模块,用于接收服务器发送的下载指令,其中,所述下载指令用于指示所述电子设备下载与旧固件文件对应的固件升级文件;
下载模块,用于响应于所述下载指令,下载所述固件升级文件;
搬移模块,用于在成功下载到所述固件升级文件,并且接收到所述服务器发送的搬移指令的情况下,根据所述固件升级文件,对所述旧固件文件进行升级处理。
21.一种车辆,其特征在于,包括权利要求20所述的固件升级装置,或者,
所述车辆包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述车辆执行如权利要求1-9任意一项所述的固件升级方法。
22.一种服务器,其特征在于,所述服务器包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述服务器执行如权利要求10-19任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111198920.5A CN114020311A (zh) | 2021-10-14 | 2021-10-14 | 固件升级方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111198920.5A CN114020311A (zh) | 2021-10-14 | 2021-10-14 | 固件升级方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020311A true CN114020311A (zh) | 2022-02-08 |
Family
ID=80056310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111198920.5A Pending CN114020311A (zh) | 2021-10-14 | 2021-10-14 | 固件升级方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020311A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801572A (zh) * | 2022-10-28 | 2023-03-14 | 北京网藤科技有限公司 | 一种工业防火墙固件升级方法 |
-
2021
- 2021-10-14 CN CN202111198920.5A patent/CN114020311A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801572A (zh) * | 2022-10-28 | 2023-03-14 | 北京网藤科技有限公司 | 一种工业防火墙固件升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113687853B (zh) | 车辆升级控制方法及计算机存储介质 | |
EP2864873B1 (en) | Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version | |
CN106897086B (zh) | 用于升级机器人操作系统的方法、装置及系统 | |
CN110730090B (zh) | 云环境中代理端批量更新方法、装置、介质及电子设备 | |
CN106095458A (zh) | 一种应用程序中插件的管理方法和装置 | |
US9262242B2 (en) | Machine-to-machine (“M2M”) device client systems, methods, and interfaces | |
CN109167820A (zh) | 一种应用程序的下载方法、装置、存储介质及终端 | |
WO2022237122A1 (zh) | 车载迎宾动画更新方法、装置、车载终端及存储介质 | |
WO2010145315A1 (zh) | 数据卡的更新方法及装置 | |
CN103973745A (zh) | 一种移动终端操作系统升级的方法及装置 | |
CN103176825A (zh) | 应用程序业务更新数据的处理方法及装置 | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
CN114327606B (zh) | 配置管理方法、装置、电子设备及计算机可读存储介质 | |
CN109144596B (zh) | 快捷启动方法、装置、终端、服务器及系统 | |
CN114020311A (zh) | 固件升级方法、装置及电子设备 | |
CN112134908B (zh) | 应用适配方法及服务器、介质、车载多媒体系统 | |
CN115016922B (zh) | 一种行为识别方法及电子设备 | |
CN112764772A (zh) | 更新文件的预下载方法、加载方法、装置、设备及介质 | |
WO2024041283A1 (zh) | 一种客户端升级方法、装置、终端设备及存储介质 | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
CN113656063A (zh) | 一种系统版本更换方法、装置、设备及计算机可读介质 | |
CN113821245A (zh) | 差分升级方法、装置及车锁 | |
CN111930391B (zh) | 应用程序数据处理方法、装置、服务器及用户终端 | |
CN114968776A (zh) | 一种应用程序的检测方法和装置 | |
CN113377385A (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 |