一种低功耗嵌入式设备防变砖OTA方法及系统与流程
本发明涉及防变砖ota领域,尤其涉及一种低功耗嵌入式设备防变砖ota方法及系统。
背景技术:
1、随着物联网技术的快速发展,远程固件升级已成为嵌入式设备软件维护和功能更新的重要手段。ota(空中远程升级:over-the-air,ota)技术能够在无需人工现场维护的情况下完成设备程序升级,广泛应用于智能电网、船舶监测、智慧农业、工业控制以及环境监测等领域。然而,对于采用低功耗、短时唤醒模式工作的嵌入式设备,由于设备在线时间短、通信链路不稳定以及存储资源有限,传统ota升级方式容易出现升级失败、通信流量大以及设备变砖等问题,因此,如何提高低功耗嵌入式设备ota升级的可靠性和升级效率成为当前研究的热点。
2、对于提高嵌入式设备ota升级可靠性,国内外学者进行了如下研究:halder等人提出了ota升级安全框架,对身份认证、完整性校验、回滚恢复以及安全通信等关键技术进行了研究,提高了ota升级过程的安全性。但是,该方法主要关注ota升级过程中的安全机制,对于低功耗设备短时在线条件下如何提高升级效率以及降低通信开销并未进行深入研究。arakadakis等人提出了一种物联网设备固件远程升级(firmware over-the-air,fota)技术,对固件分块传输、断点续传、完整性校验以及安全认证等ota关键技术进行了总结,并指出资源受限设备仍存在升级时间长、通信开销大以及升级可靠性不足等问题。虽然该研究提出利用固件分块下载和断点续传提高升级成功率,但是其数据块大小和下载策略均为固定方式,无法根据实时网络状态动态调整下载过程。abdelfadeel等人针对低功耗广域网(long range wide area network,lorawan)低速率无线网络提出了一种固件分片升级方法,通过多播传输和数据分片技术提高了低带宽网络环境下的ota升级效率。但是,该方法主要针对lorawan网络进行设计,未考虑设备网络质量变化对下载策略的影响,也未针对低功耗短时唤醒设备进行优化。此外,近年来许多研究提出采用a/b双分区升级机制,通过建立主、备两个应用程序分区,在新固件升级失败时自动回滚至旧版本,提高了ota升级的可靠性。但是,该方法需要设备存储两份完整的应用程序,占用较大的flash存储空间,不适用于资源受限的低成本嵌入式设备。同时,该类方法主要依赖循环冗余校验(cyclicredundancy check,crc)失败校验失败、程序异常退出或看门狗复位等方式判断应用程序异常,属于故障发生后的被动恢复机制,无法提前预测设备运行风险。
3、综上所述,现有ota升级技术主要围绕升级安全性、双分区回滚、断点续传以及固件分片传输等方面展开研究,在提高升级可靠性方面取得了一定成果。然而,大多数现有技术仍采用固定的数据块下载策略,缺乏对网络质量变化趋势的智能预测能力,无法根据实时通信状态动态调整升级过程;同时,现有恢复机制主要依赖设备故障后的被动恢复,缺乏对应用程序运行状态的提前预测能力,难以满足低功耗、短时唤醒嵌入式设备对高可靠、低功耗ota升级的需求。针对上述问题,本发明提出了一种基于三分区架构与碎片化传输的低功耗嵌入式设备防变砖ota方法及系统,在三分区恢复架构基础上,引入基于门控循环单元(gated recurrent unit,gru)的网络状态预测机制,实现自适应碎片下载策略,并结合设备运行状态预测机制,实现应用程序异常的主动预测与恢复,从而进一步提高ota升级成功率,降低通信流量和系统功耗。
技术实现思路
1、发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种低功耗嵌入式设备防变砖ota方法及系统。
2、为了解决上述技术问题,本发明公开了一种低功耗嵌入式设备防变砖ota方法及系统。针对传统低功耗嵌入式设备ota升级过程中无法预测网络变化趋势、容易因网络波动导致下载失败的问题,本发明通过引入基于多维状态融合gru的ota传输能力预测方法,综合设备历史网络状态、通信质量、剩余唤醒时间及ota升级进度等多维信息,对下一唤醒周期内的ota传输能力进行预测,从而为固件碎片下载提供预测依据,有效降低下载超时及重复传输概率,提高ota升级效率及通信可靠性。
3、针对传统ota升级过程中固件碎片下载策略固定、无法根据设备运行状态进行动态调整的问题,本发明提出一种基于多维状态融合的ota综合调度因子构建方法,并在此基础上构建预测驱动的ota智能调度机制。所述ota综合调度因子融合ota传输能力预测结果、剩余唤醒时间、升级进度、电源裕量、flash写入状态及app运行健康状态,对设备当前ota升级条件进行综合量化评估;进一步根据所述ota综合调度因子,动态确定固件数据块大小、单次下载数量及下载顺序,从而提高通信链路利用率,缩短ota升级周期,降低设备功耗及通信流量消耗,提高低功耗嵌入式设备ota升级的稳定性与可靠性。
4、一种低功耗嵌入式设备防变砖ota方法,包括步骤如下:
5、步骤1、在设备上电或周期性唤醒后的启动引导程序阶段构建唤醒周期的ota多维状态向量;
6、步骤2、对各唤醒周期的ota状态向量进行归一化处理,并组成ota状态序列,将输入预置的gru预测器,得到下一唤醒周期内的ota传输能力预测值;
7、步骤3、以步骤2得到的ota传输能力预测值为输入,构建ota综合调度因子,依次计算本唤醒周期允许下载的固件数据总量、计划下载的数据块数量与数据块大小;步骤4、设备通过通信模块向ota服务器请求与所述数据块数量和数据块大小相对应的固件碎片数据;数据块接收完成后,设备控制器对其进行crc校验,并根据校验结果,将校验通过的数据块写入backota分区中对应的固件偏移地址,或者将校验未通过的数据块加入重传集合;
8、步骤5、更新ota升级完成比例,并据此判断是否允许切换至新app(application)运行。
9、第个唤醒周期的ota多维状态向量为:
10、
11、式中,表示第k个唤醒周期对应的ota多维状态向量;表示boot读取到的当前启动分区状态;表示备份ota升级(backup ota,backota)分区可用状态;表示唤醒周期内的通信质量综合值;表示唤醒周期内已观测到的有效传输速率;表示唤醒周期内的数据块错误比例;表示唤醒周期内剩余可用于ota的数据传输时间;表示ota升级完成比例;表示设备电源裕量状态;表示flash存储写入安全状态;表示app运行健康状态;上标t表示对向量进行转置。
12、步骤2具体包括:
13、步骤2-1、对第k个唤醒周期的ota状态向量进行归一化处理:
14、
15、式中,表示归一化后的ota状态向量;表示状态归一化比例矩阵;表示第k个唤醒周期对应的ota多维状态向量;表示各状态向量中各状态量的预设下限向量;
16、步骤2-2、将连续m个唤醒周期的归一化状态向量组成ota状态序列:
17、
18、式中,表示用于预测的ota多维状态融合序列;分别表示连续多个唤醒周期归一化后的ota状态向量;m表示参与预测的历史唤醒周期数量;
19、步骤2-3、将多维状态融合序列输入预置的gru预测器,得到下一唤醒周期内的ota传输能力预测值:
20、
21、式中,表示预测得到的第k+1个唤醒周期内能够稳定完成的ota传输能力预测值;表示用于ota传输能力预测的gru映射函数;表示用于预测的ota多维状态融合序列。
22、根据上述多维状态融合gru模型,可得到下一唤醒周期的ota传输能力预测值,该预测结果作为后续ota综合调度的输入。
23、步骤3具体为:
24、步骤3-1、构建ota综合调度因子,然后根据ota传输能力预测结果、ota综合调度因子、剩余固件数据量、剩余唤醒时间及flash写入能力,计算当前唤醒周期允许下载的固件数据总量,并据此确定本周期计划下载的数据块数量;
25、步骤3-2、根据允许下载的数据总量、计划下载的数据块数量以及历史数据块错误比例,自适应计算每个数据块的实际大小。
26、第k个唤醒周期的ota综合调度因子为:
27、
28、
29、式中,表示第k个唤醒周期的ota综合调度因子;表示预测得到的第个唤醒周期内能够稳定完成的ota传输能力预测值;个唤醒周期内允许的最大ota传输能力参考值;表示ota升级完成比例;表示第k个唤醒周期内剩余可用于ota的数据传输时间;个唤醒周期内可用于ota传输的最大时间参考值;表示设备电源裕量状态;备电源裕量参考上限;表示flash存储写入安全状态;表示app运行健康状态;、、、、、表示各状态量对应的调度权重。
30、第k个唤醒周期计划下载的数据块数量为:下载的数据块数量为:
31、
32、式中,表示第k个唤醒周期计划下载的数据块数量;表示第k个唤醒周期允许调度下载的数据总量;表示预设基础数据块大小,为第k个唤醒周期的可调度下载量。
33、步骤4中所述crc校验具体包括:当第个唤醒周期第个数据块的crc校验结果时,backota分区将第个唤醒周期接收到的第i个数据块内容写入flash中对应的固件偏移地址,并记录该数据块已经完成;当时,backota分区不更新该数据块对应的完成状态,并将该数据块加入重传集合。
34、步骤5中ota升级完成比例的更新具体为: 第个唤醒周期开始时的ota升级完成比例为:
35、
36、式中,表示第个唤醒周期开始时的ota升级完成比例;表示当前ota升级完成比例;表示本周期计划下载的数据块数量;表示第个唤醒周期第个数据块的crc校验结果;表示本周期采用的数据块大小;表示待升级固件的总数据量。
37、当时,对backota分区中的完整固件进行hash校验,以验证固件整体完整性,并据此判断是否允许切换至新app运行,boot分区根据app切换确认标志启动新app,并进入试运行确认阶段。
38、有益效果:
39、与现有技术相比,本发明通过构建ota多维状态向量,并利用门控循环单元对下一唤醒周期的ota传输能力进行预测,使设备能够提前获得固件数据传输能力的变化趋势;在此基础上,综合ota传输能力预测值、升级完成比例、剩余唤醒时间、电源裕量、flash写入安全状态及app运行健康状态,动态确定当前唤醒周期允许下载的固件数据总量、数据块数量与数据块大小,避免下载量超过当前通信链路及设备资源的承载能力。设备通过通信模块接收固件碎片数据,并将crc校验通过的数据块写入backota分区,仅对校验未通过或序号缺失的数据块进行重传,从而减少下载超时、无效传输及重复传输产生的通信流量,降低无线通信模块工作时间和设备功耗。同时,通过boot分区、当前app分区和backota分区之间的协同管理,并结合固件完整性校验、新app试运行确认及异常回退机制,使设备在ota下载中断、固件校验失败或新app运行异常时仍能够维持原app运行或执行恢复升级,从而提高低功耗嵌入式设备ota升级的成功率、可靠性和安全性,降低升级过程中设备变砖的风险。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com