基于物联网加密的电动自行车多电控固件协同升级方法与流程
本发明涉及电动自行车车联网,尤其涉及基于物联网加密的电动自行车多电控固件协同升级方法。
背景技术:
1、随着电动自行车智能化、网联化和远程运维需求的不断增长,针对车辆电控系统的固件远程升级技术受到广泛关注。现有电动自行车通常配置电池管理、驱动控制、车身锁控和无线通信等多个电控单元,车辆运行安全、联网服务和用户功能体验均与相关电控单元的软件版本密切相关。现有升级方式多通过售后网点人工刷写、单一控制单元远程升级或车载通信终端转发升级文件完成固件更新,但是在实际应用中普遍存在以下问题:
2、不同电控单元之间存在接口版本、控制逻辑和安全策略上的配合关系,现有单元独立升级方式难以兼顾整车软件版本之间的协调关系,容易造成升级后通信异常、功能联动失效或车辆控制状态异常;远程升级过程受网络波动、车辆电量、存储空间、车内总线带宽和用户使用状态影响较大,升级文件下载、传输和写入过程中容易发生中断、超时或写入失败,导致升级结果不稳定;部分方案仅关注固件文件传输和单个电控单元刷写结果,对多个电控单元升级过程中的状态一致性和异常恢复考虑不足,在升级失败、车辆断电或通信链路中断时,容易出现新旧软件版本混合运行、重复升级、回退不完整和故障原因难以追溯的问题。
3、因此,如何提供基于物联网加密的电动自行车多电控固件协同升级方法是本领域技术人员亟需解决的问题。
技术实现思路
1、本发明的一个目的在于提出基于物联网加密的电动自行车多电控固件协同升级方法,本发明根据升级编排计划获取目标固件并生成待升级固件集,将待升级固件集写入对应目标组件的候选分区并生成写后校验结果和分区状态信息,将写后校验结果和分区状态信息输入改进efficient-hotstuff算法,生成锁定票证、切换票证和确认票证,解决现有技术中多电控固件独立升级导致目标组件版本不一致、候选分区状态缺乏一致确认、目标组件切换不同步和升级后健康检查结果难以统一判定的问题,实现电动自行车多电控固件在物联网加密通信条件下的协同刷写、一致切换和可靠恢复。
2、根据本发明实施例的基于物联网加密的电动自行车多电控固件协同升级方法,包括如下步骤:
3、s1、车载iot终端获取车辆标识信息和车辆状态信息,并通过can总线和内部接口获取组件状态数据,生成组件清单和组件升级状态;
4、s2、基于组件清单确定参与协同升级的目标组件,生成升级编排计划;
5、s3、根据升级编排计划获取目标固件,并对所述目标固件执行完整性校验和认证校验,生成待升级固件集;
6、s4、根据升级编排计划将待升级固件集写入对应目标组件的候选分区,生成写后校验结果和分区状态信息;
7、s5、将写后校验结果和分区状态信息输入改进efficient-hotstuff算法,所述改进efficient-hotstuff算法以车载iot终端作为主节点,以目标组件作为响应节点,并将候选分区状态、写后校验结果和组件升级状态作为共识提案内容,生成锁定票证,将锁定票证写入对应目标组件并将对应目标组件的候选分区保持锁定待激活状态;
8、s6、若所述锁定票证通过一致性校验,则采用改进efficient-hotstuff算法生成切换票证,根据切换票证控制目标组件在同一激活窗口切换至目标固件;
9、s7、获取目标组件切换后的健康检查结果,通过改进efficient-hotstuff算法生成确认票证,基于确认票证输出协同升级结果。
10、可选的,所述s1具体为:
11、车载iot终端获取车辆标识信息和车辆状态信息;
12、车载iot终端通过can总线获取bms、电机控制器和锁控的组件状态数据,并通过内部接口获取4g通信模组的组件状态数据,所述组件状态数据包括组件类型、硬件版本、运行固件版本、bootloader版本、分区能力、候选分区状态、可用存储、通信带宽和验签方式;
13、按照组件类型、硬件版本、运行固件版本、bootloader版本和验签方式对组件状态数据进行归并,生成组件清单;
14、按照分区能力、候选分区状态、可用存储和通信带宽对组件状态数据进行状态标记,生成组件升级状态。
15、可选的,所述s2具体为:
16、将组件清单中的组件类型、硬件版本、运行固件版本、bootloader版本和验签方式,与云端升级平台中的组件版本映射进行匹配,生成候选升级组件集;
17、将候选升级组件集与组件升级状态进行比对,筛选具备候选分区写入条件和目标固件验签条件的组件,生成可升级组件集;
18、基于云端升级平台中的兼容性约束库,对可升级组件集中的bms、电机控制器、锁控和4g通信模组进行通信协议匹配、安全策略匹配和固件版本匹配,确定参与协同升级的目标组件;
19、根据目标组件、组件升级状态和升级策略库,生成升级编排计划,所述升级编排计划包括目标组件标识、目标固件标识、组件刷写顺序、候选分区标识、必选组件标识和激活窗口。
20、可选的,所述s3具体为:
21、基于升级编排计划中的目标组件标识和目标固件标识,获取与目标组件对应的目标固件,所述目标固件包括固件镜像、版本标识、摘要信息和固件签名凭证;
22、根据摘要信息对目标固件执行完整性校验,生成完整性校验结果;
23、根据固件签名凭证和组件清单中的验签方式对目标固件执行认证校验,生成认证校验结果;
24、若完整性校验结果和认证校验结果均为通过,则将目标固件归入待升级固件集,并建立目标组件标识、目标固件标识和候选分区标识之间的对应关系。
25、可选的,所述s4具体为:
26、根据升级编排计划中的组件刷写顺序、目标组件标识、目标固件标识和候选分区标识,从待升级固件集中选取与目标组件对应的目标固件;
27、基于bms、电机控制器和锁控,通过can总线发送刷写请求、候选分区擦除指令、固件分片数据和刷写结束指令;
28、基于4g通信模组,通过内部接口发送刷写请求、候选分区擦除指令、固件分片数据和刷写结束指令;
29、目标组件将固件分片数据写入候选分区,并在写入完成后执行写后校验和候选镜像自检,生成写后校验结果;
30、读取目标组件的运行分区、候选分区、启动标志位和掉电恢复状态字,生成分区状态信息。
31、可选的,所述s5具体为:
32、根据升级编排计划中的必选组件标识,从目标组件中确定必选组件;
33、将车载iot终端设为主节点,将必选组件设为响应节点;
34、主节点根据写后校验结果、分区状态信息和组件升级状态生成共识提案内容,所述共识提案内容包括目标组件标识、候选分区标识、候选分区状态、候选分区摘要、写后校验结果、运行分区、启动标志位和掉电恢复状态字;
35、主节点向响应节点发送共识提案内容,响应节点根据组件状态数据、写后校验结果和分区状态信息对共识提案内容进行比对,生成响应结果;
36、主节点根据必选组件的响应结果生成锁定票证,所述锁定票证包括升级任务标识、目标组件标识、候选分区标识、候选分区摘要、写后校验结果、候选分区状态和启动标志位;
37、响应节点接收锁定票证后,将锁定票证写入非易失存储区,并将候选分区保持锁定待激活状态。
38、可选的,所述s6具体为:
39、车载iot终端根据升级编排计划中的必选组件标识,获取必选组件对应的锁定票证;
40、对锁定票证中的升级任务标识、目标组件标识、候选分区标识、候选分区摘要、写后校验结果、候选分区状态和启动标志位执行一致性校验;
41、若锁定票证通过一致性校验,则采用改进efficient-hotstuff算法生成切换票证,所述切换票证包括升级任务标识、目标组件标识、锁定票证摘要、激活窗口和启动标志位变更信息;
42、车载iot终端将切换票证发送至目标组件,目标组件对切换票证中的锁定票证摘要和非易失存储区中的锁定票证进行比对;
43、若比对结果为一致,则目标组件根据启动标志位变更信息修改启动标志位,并在同一激活窗口切换至目标固件。
44、可选的,所述获取目标组件切换后的健康检查结果,具体为:
45、车载iot终端在激活窗口结束后读取目标组件的运行固件版本、运行分区和启动状态字;车载iot终端向目标组件发送协议握手请求、安全策略响应请求和控制策略响应请求;
46、目标组件根据协议握手请求返回协议握手结果,根据安全策略响应请求返回安全策略响应结果,根据控制策略响应请求返回控制策略响应结果;
47、车载iot终端根据运行固件版本、运行分区、启动状态字、协议握手结果、安全策略响应结果和控制策略响应结果生成健康检查结果。
48、可选的,所述通过改进efficient-hotstuff算法生成确认票证,具体为:
49、将车载iot终端设为主节点,将完成目标固件切换的目标组件设为响应节点;
50、主节点根据健康检查结果生成确认提案内容,所述确认提案内容包括升级任务标识、目标组件标识、运行固件版本、运行分区、启动状态字、协议握手结果、安全策略响应结果和控制策略响应结果;
51、主节点向响应节点发送确认提案内容,响应节点根据切换后的运行固件版本、运行分区和启动状态字对确认提案内容进行比对,生成确认响应结果;
52、主节点根据确认响应结果生成确认票证,所述确认票证包括升级任务标识、目标组件标识、运行固件版本、运行分区、启动状态字和健康检查结果。
53、可选的,所述基于确认票证输出协同升级结果,具体为:
54、根据升级编排计划中的必选组件标识,获取必选组件对应的确认票证;
55、对确认票证中的升级任务标识、目标组件标识、运行固件版本、运行分区、启动状态字和健康检查结果执行一致性校验;若通过一致性校验,则输出升级完成结果;若确认票证未通过一致性校验,则读取目标组件的票证状态、启动标志位、运行分区和候选分区状态,生成恢复表,输出回滚恢复结果。
56、本发明的有益效果是:
57、本发明通过升级编排计划获取目标固件,并对目标固件执行完整性校验和认证校验,生成待升级固件集,能够在目标固件写入目标组件前完成固件内容完整性和来源可信性的校验,降低目标固件被篡改、误写入或非法写入的风险;
58、将待升级固件集写入对应目标组件的候选分区,生成写后校验结果和分区状态信息,使目标组件在切换前保持运行分区不变,能够降低目标固件写入失败导致目标组件不可用的风险,提高多电控固件刷写过程的可靠性;
59、改进efficient-hotstuff算法以车载iot终端作为主节点,以目标组件作为响应节点,并将候选分区状态、写后校验结果和组件升级状态作为共识提案内容,生成锁定票证、切换票证和确认票证,能够使目标组件在候选分区锁定、同一激活窗口切换和健康检查确认过程中形成一致状态,降低新旧固件混合运行和半升级风险。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com