基于多级链式架构的固件升级方法、系统及存储介质与流程
本技术涉及储能系统升级,尤其涉及一种基于多级链式架构的固件升级方法、系统及存储介质。
背景技术:
1、在储能系统等具有层级控制关系的嵌入式设备中,通常设置多个控制节点分别执行数据采集、状态监测及设备控制等功能。多个控制节点按照层级关系逐级连接,形成不具有公共通信总线的多级链式架构,各级控制节点仅与相邻的上级节点和下级节点进行数据交互。对位于链路下游的控制节点进行固件升级时,管理端下发的固件需要经过一个或多个中间控制节点逐级传输,才能到达对应的目标控制节点。
2、现有多级链式架构的固件升级通常采用串行逐级升级方式。管理端按照预定顺序下发各目标控制节点对应的固件,中间控制节点将接收到的固件逐级传输至目标控制节点;目标控制节点完成固件接收和完整性校验后,将固件写入本地存储区域,覆写原有固件,并执行程序重启及设备自检。待当前目标控制节点完成固件升级后,管理端再启动下一目标控制节点的固件传输及升级过程。为减少不同升级任务之间的等待时间,部分升级方式还会按照预先设置的传输速率和发送时序,在不同级间链路中安排固件传输任务。
3、然而,在上述串行逐级升级方式中,当前目标控制节点完成固件接收、写入及重启前,下一目标控制节点的升级任务无法启动,多个控制节点对应的升级时间依次累加。若在不同级间链路中交叠传输多个固件,各固件的数据量不同,且各控制节点的通信传输性能和本地存储写入性能存在差异,使各级控制节点接收并处理固件数据的耗时不同;按照固定传输速率和发送时序传输固件时,上级节点持续发送的固件数据可能超出下级节点的处理能力并逐渐积压,而降低整体传输速度又会使处理速度较快的控制节点和级间链路持续等待,使多个固件升级任务难以在避免数据积压的情况下沿多级链路并行推进。
技术实现思路
1、本技术提供了一种基于多级链式架构的固件升级方法、系统及存储介质,能够使多个控制节点的固件升级任务在适应各级传输及写入处理能力差异、避免下游固件数据积压的情况下沿多级链路并行推进。本技术提供如下技术方案:
2、第一方面,本技术提供一种基于多级链式架构的固件升级方法,所述方法包括:
3、获取各控制节点对应的目标固件,并按照各控制节点由链路末端至链路首端的排列顺序对各目标固件进行排序,得到固件下发序列;
4、获取各级链路的单位固件数据传输耗时和各控制节点的单位固件数据写入耗时,根据所述单位固件数据传输耗时和所述单位固件数据写入耗时确定各级单位固件数据处理耗时,并根据各级单位固件数据处理耗时之间的差异确定各级链路对应的补偿延时;
5、按照所述固件下发序列和所述各级链路对应的补偿延时逐级下发各目标固件;其中,任一控制节点将接收到的需要继续向下传输的目标固件向下一级控制节点转发,并接收上一级发送端下发的下一目标固件,直至各目标固件传输至对应的控制节点;
6、控制各控制节点在完整接收到自身对应的目标固件后,将所述目标固件写入本地固件存储区域,完成各控制节点的固件升级。
7、在一个具体的可实施方案中,所述获取各级链路的单位固件数据传输耗时和各控制节点的单位固件数据写入耗时,根据所述单位固件数据传输耗时和所述单位固件数据写入耗时确定各级单位固件数据处理耗时,并根据各级单位固件数据处理耗时之间的差异确定各级链路对应的补偿延时,包括:
8、设置各级链路的数据传输速率,其中,下游链路的数据传输速率不低于上游链路的数据传输速率;
9、针对任一级链路,根据单位固件数据的数据量和该级链路的数据传输速率,确定该级链路的单位固件数据传输耗时;
10、将所述单位固件数据传输耗时与该级链路的下游控制节点对应的单位固件数据写入耗时之和,确定为该级单位固件数据处理耗时;
11、比较各级单位固件数据处理耗时,将其中的最大值确定为基准处理耗时;
12、分别计算所述基准处理耗时与各级单位固件数据处理耗时之间的差值,并将各所述差值确定为对应级链路的补偿延时。
13、在一个具体的可实施方案中,所述任一控制节点将接收到的需要继续向下传输的目标固件向下一级控制节点转发,并接收上一级发送端下发的下一目标固件,直至各目标固件传输至对应的控制节点,包括:
14、任一控制节点接收需要继续向下传输的目标固件,并将接收到的所述目标固件缓存于当前控制节点;
15、在完整接收所述目标固件后,按照对应级链路的补偿延时向下一级控制节点转发所述目标固件,并同时接收和缓存上一级发送端按照所述固件下发序列下发的下一目标固件;
16、在所述目标固件完全转发后,清除当前控制节点中缓存的所述目标固件,并在所述下一目标固件尚未完整接收时继续接收所述下一目标固件;在所述下一目标固件已完整接收且需要继续向下传输时,按照对应级链路的补偿延时向下一级控制节点转发所述下一目标固件,直至各目标固件传输至对应的控制节点。
17、在一个具体的可实施方案中,在按照所述固件下发序列和所述补偿延时逐级下发各目标固件的过程中,所述方法还包括:
18、当下一级控制节点在完整接收所述目标固件前发生断电、通信异常或程序报错时,清除所述下一级控制节点中缓存的未完整接收的所述目标固件,并在异常消除后重新接收所述目标固件;
19、当向下一级控制节点转发所述目标固件的当前控制节点发生异常时,保留所述当前控制节点中缓存的已完整接收且尚未完全转发的所述目标固件,并在异常消除且对应级链路恢复后,继续向所述下一级控制节点转发所述目标固件的未传输部分。
20、在一个具体的可实施方案中,所述获取各级链路的单位固件数据传输耗时和各控制节点的单位固件数据写入耗时,包括:
21、控制各控制节点沿多级链路交互节点状态信息,所述节点状态信息包括对应级链路的数据传输速率参数以及对应控制节点的单位固件数据写入耗时;
22、通过链路首端控制节点汇总各控制节点的节点状态信息,并根据所述节点状态信息进行链路自检和通信协商;
23、在链路自检通过后,根据通信协商结果设置各级链路的数据传输速率,并从所述节点状态信息中获取各控制节点的单位固件数据写入耗时;
24、根据单位固件数据的数据量和各级链路的数据传输速率,分别确定各级链路的单位固件数据传输耗时。
25、在一个具体的可实施方案中,所述控制各控制节点在完整接收到自身对应的目标固件后,将所述目标固件写入本地固件存储区域,完成各控制节点的固件升级,包括:
26、控制任一控制节点在完整接收到自身对应的目标固件后,读取所述目标固件携带的设备匹配标识和校验码,根据所述设备匹配标识判断所述目标固件是否与当前控制节点相匹配,并根据所述校验码对所述目标固件进行固件校验;
27、当所述目标固件与当前控制节点相匹配且通过固件校验,并且当前控制节点已完成需要继续向下传输的其他目标固件的转发时,将所述目标固件写入当前控制节点的本地固件存储区域,以覆盖所述本地固件存储区域中的原固件程序;
28、在完成所述目标固件的写入后,控制当前控制节点执行程序重启和设备自检,并在设备自检通过后,完成当前控制节点的固件升级。
29、在一个具体的可实施方案中,所述方法还包括:
30、各控制节点在固件升级过程中生成升级完成状态、固件校验状态和设备运行状态;
31、各控制节点将所述升级完成状态、所述固件校验状态和所述设备运行状态沿多级链路逐级上传至链路首端控制节点;
32、通过所述链路首端控制节点汇总各控制节点的升级完成状态、固件校验状态和设备运行状态,并将汇总后的状态信息发送至固件发送端;
33、所述固件发送端对所述汇总后的状态信息进行核验,并在所述汇总后的状态信息表明各控制节点均完成固件升级、固件校验通过且设备运行正常时,将本次固件升级的升级结果确定为升级完成。
34、第二方面,本技术提供一种基于多级链式架构的固件升级系统,采用如下的技术方案:
35、一种基于多级链式架构的固件升级系统,用于执行如第一方面所述的基于多级链式架构的固件升级方法,所述系统包括固件发送端、多个控制节点以及多级链路;
36、所述固件发送端与位于链路首端的控制节点通信连接,多个控制节点按照由链路首端至链路末端的顺序通过所述多级链路逐级串联,相邻控制节点之间通过对应级链路通信连接。
37、第三方面,本技术提供一种电子设备,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如第一方面所述的一种基于多级链式架构的固件升级方法。
38、第四方面,本技术提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如第一方面所述的一种基于多级链式架构的固件升级方法。
39、通过首先获取各控制节点对应的目标固件,并按照各控制节点由链路末端至链路首端的排列顺序形成固件下发序列,使传输路径较长的目标固件先进入多级链路,为后续目标固件依次进入不同级间链路提供条件;进一步获取各级链路的单位固件数据传输耗时和各控制节点的单位固件数据写入耗时,根据二者确定各级单位固件数据处理耗时,并依据各级单位固件数据处理耗时之间的差异确定各级链路对应的补偿延时,使各级链路的固件下发节奏与对应控制节点的传输及写入处理能力相适配,减少因各级处理能力不同造成的固件积压;在此基础上,按照固件下发序列和补偿延时逐级下发各目标固件,使任一控制节点将接收到的需要继续向下传输的目标固件向下一级控制节点转发,并接收上一级发送端下发的下一目标固件,直至各目标固件传输至对应的控制节点,以使不同目标固件沿多级链路有序推进;最终,各控制节点完整接收自身对应的目标固件后,将目标固件写入本地固件存储区域,由此使多个控制节点的固件升级任务能够在适应各级传输及写入处理能力差异、避免下游固件数据积压的情况下沿多级链路并行推进,从而提高固件升级效率。
40、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,并可依照说明书的内容予以实施,以下以本技术的较佳实施例并配合附图详细说明如后。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com