CN114489718A - 树状连接系统的固件升级方法、装置、设备及存储介质 - Google Patents
树状连接系统的固件升级方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114489718A CN114489718A CN202111644559.4A CN202111644559A CN114489718A CN 114489718 A CN114489718 A CN 114489718A CN 202111644559 A CN202111644559 A CN 202111644559A CN 114489718 A CN114489718 A CN 114489718A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- data
- controlling
- root node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 claims description 58
- 238000012790 confirmation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种树状连接系统的固件升级方法、装置、设备及存储介质。本发明通过控制根节点获取所有节点的节点数据;其中,根节点有且仅有一个,根节点的深度值为x,深度值≥2时的节点数量为y,x和y为整数值且不为0;依据节点数据,控制根节点发起固件升级指令;依据固件升级指令,将固件升级数据包分割成多个数据子包;将多个数据子包分别由根节点下的节点转发到目标节点;控制目标节点存储各自的数据子包;控制目标节点校验各自的数据子包,并将校验结果反馈到根节点;判断目标节点下所有的子节点已更新完毕;依据判断结果,控制目标节点读取数据子包进行升级更新。本发明能够提高升级效率,且保证固件升级的有效性。
Description
技术领域
本发明涉及网络设备升级技术领域,尤其涉及一种树状连接系统的固件升级方法、装置、设备及存储介质。
背景技术
设备固件升级,是物联网通信服务的重要组成部分。当物联设备有新功能或者需要修复漏洞时,设备可以通过设备固件升级服务快速的进行固件升级。然而,现有技术中在对物联设备进行升级时,一般的升级一次只针对一个设备;在对多个设备同时进行升级的服务中,又存在以下弊端:1)更新网络拓扑结构中线路上设置优先级,导致线路利用率受到阻碍,影响升级效率;2)无法保证更新拓扑结构中的每个设备都实现更新,升级的有效性不高。因此,如何可靠高效地解决物联设备更新升级地问题已成为该领域技术人员亟待解决的问题。
发明内容
本发明实施例针对以上缺陷,提供了一种树状连接系统的固件升级方法、装置、设备及存储介质,用以解决现有技术存在的问题。
第一方面,本发明实施例提供了一种树状连接系统的固件升级方法,所述方法包括:
控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时的所在层的节点数量为y,x和y为整数值且不为0;
依据所述节点数据,控制所述根节点发起固件升级指令;
依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
控制所述目标节点存储各自的数据子包;
控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
判断所述目标节点下所有的子节点已更新完毕;
依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
优选地,所述控制根节点获取所有节点的节点数据包括:
控制所述根节点向第二深度值的节点广播查询指令;
在收到所述查询指令后,控制所述第二深度值的节点向所述根节点回复确认指令;
控制所述第二深度值的节点向(x-2)深度值的节点发送查询指令;
控制所述(x-2)深度值的节点向各自所在的节点回复确认指令;
控制每一节点记录各自的节点数据,并反馈给所述根节点。
优选地,所述依据所述固件升级指令,将固件升级数据包拆分成多个数据子包包括:
控制所述根节点获取所述根节点下每一节点的通信接口速率及内存空间大小;
依据所述通信接口速率及所述内存空间大小,设置每一节点下数据子包分发次数及每次分发的数据子包的大小;
依据所述分发次数及所述数据子包的大小,将所述固件升级数据包拆分成多个数据子包。
优选地,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点包括:
一个节点若通过一个通信接口与多个子节点连接,则所述通信接口交替传输多个子节点的数据子包。
优选地,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点还包括:
当所述根节点传输一个数据子包给所述目标节点时,控制所述根节点收到所述目标节点的确认指令后,才给所述目标节点发送下一个数据子包;
当所述根节点在等待上一目标节点的回复,若检测到所述通信接口处于空闲状态,且有数据子包需要通过所述通信接口发送,则所述根节点通过所述通信接口发送数据到另一目标节点。
优选地,所述方法还包括:
依据所述根节点的深度值,设置所述根节点下每一节点的故障指标;
若所述故障指标达到预设值,控制故障指标达到预设值的节点退出升级操作。
优选地,所述节点数据包括:所述子节点的ID值、深度值、升级需求、通信接口速率及内存空间大小。
第二方面,本发明实施例提供了一种树状连接系统的固件升级装置,所述装置包括:
节点数据获取模块,用于控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时所在层的节点数量为y,x和y为整数值且不为0;
升级指令发起模块,用于依据所述节点数据,控制所述根节点发起固件升级指令;
分割模块,用于依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
数据转发模块,用于将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
存储模块,用于控制所述目标节点存储各自的数据子包;
校验模块,用于控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
判断模块,用于判断所述目标节点下所有的子节点已更新完毕;
升级更新模块,用于依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
第三方面,本发明实施例提供了一种树状连接系统的固件升级设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
综上所述,本发明实施例提供的树状连接系统的固件升级方法、装置、设备及存储介质。本发明通过控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时的所在层的节点数量为y,x和y为整数值且不为0;依据所述节点数据,控制所述根节点发起固件升级指令;依据所述固件升级指令,将固件升级数据包分割成多个数据子包;将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;控制所述目标节点存储各自的数据子包;控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;判断所述目标节点下所有的子节点已更新完毕;依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。因此,本发明基于树状连接系统实现了多设备的同时升级,能够提高升级效率,且保证固件升级的有效性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例树状连接系统的固件升级方法的流程图。
图2是本发明实施例树状连接系统的固件升级方法的所述控制根节点获取所有节点的节点数据的流程图。
图3是本发明实施例树状连接系统的固件升级方法的所述依据所述固件升级指令,将固件升级数据包拆分成多个数据子包的流程图。
图4是本发明另一实施例树状连接系统的固件升级方法的所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点的流程图。
图5是本发明实施例树状连接系统的固件升级方法的拓扑示意图。
图6是本发明实施例树状连接系统的固件升级方法的工作流程举例示意图。
图7是本发明实施例的树状连接系统的固件升级装置的结构示意图。
图8 是本发明实施例的树状连接系统的固件升级设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例一
请参见图1及图5,本发明实施例提供了一种树状连接系统的固件升级方法,本发明基于树状连接系统实现了多设备的同时升级,能够提高升级效率,且保证固件升级的有效性。
所述方法包括如下步骤:
S1、控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时的所在层的节点数量为y,x和y为整数值且不为0;
优选地,在本实施例中,所述根节点可设为上位机。本发明的树状连接系统中的每个节点设备皆具备独立进行数据控制与转发的能力,由上位机进行整体控制,实现树状连接系统中任意数量的节点设备固件的同时升级;此外,本发明的树状连接系统结构可根据实际需要设置,从而接入新的节点设备或者移除旧的节点设备。可以理解的是,本实施例的树状连接系统的节点设备之间的通信接口可以是UART、IIC、SPI、RS485、RS232、CAN等各种可用于物理设备间通信的接口,所述通信接口的类型在此不作具体限定。
优选地,本发明的树状连接系统有且仅有一个根节点,所述根节点下具有多个节点,并且每个节点下也可以拥有一个或者多个节点。每个节点代表一个具备计算、存储和通信能力的设备,并且具备唯一的节点设备ID标识。本发明的树状连接系统不限制每一深度值的节点数量及树的深度值。
优选地,请参阅图2,所述控制根节点获取所有节点的节点数据包括:
S11、控制所述根节点向第二深度值的节点广播查询指令;
S12、在收到所述查询指令后,控制所述第二深度值的节点向所述根节点回复确认指令;
S13、控制所述第二深度值的节点向(x-2)深度值的节点发送查询指令;
S14、控制所述(x-2)深度值的节点向各自所在的节点回复确认指令;
S15、控制每一节点记录各自的节点数据,并反馈给所述根节点。
优选地,所述根节点首先通过已经注册的通信接口向所述根节点下的节点即第二深度值的节点广播一个查询指令,所述根节点下的节点接收到所述查询指令后给所述根节点回复信息,同时第二深度值的节点向自己的节点即第三深度值的节点继续广播查询指令,一个节点接收到自己的节点的数据后,记录下相关的节点数据信息如ID值、深度值、是否需要升级、通信接口等数据,以此类推,然后转发给自己的父节点,直到发送给所述根节点,从而所述根节点掌握完整的树状系统的节点信息。
S2、依据所述节点数据,控制所述根节点发起固件升级指令;
优选地,所述固件升级指令由所述根节点设备发起及控制,其它节点被动进行升级或者数据转发;所述根节点下的节点之间的连接代表的是节点之间的通信接口的物理连接,可以是总线或者非总线;如果一个通信接口上有多个节点,则这个通信接口为总线接口;每个节点可能会用于通信的接口都需要进行注册,表明这个接口可能会连接着其它节点。
优选地,所述节点数据包括:所述子节点的ID值、深度值、升级需求、通信接口速率及内存空间大小。
S3、依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
优选地,请参阅图3,所述依据所述固件升级指令,将固件升级数据包拆分成多个数据子包包括:
S31、控制所述根节点获取所述根节点下每一节点的通信接口速率及内存空间大小;
S32、依据所述通信接口速率及所述内存空间大小,设置每一节点下数据子包分发次数及每次分发的数据子包的大小;
S33、依据所述分发次数及所述数据子包的大小,将所述固件升级数据包拆分成多个数据子包。
优选地,本发明的数据传输采用一发一收的形式,所述根节点下发的每一条指令都需要接收到节点的回复;所述根节点将所述固件升级数据包分割为多个数据子包,所述根节点根据每一个节点通信接口的速率及内存空间大小设置对应的数据子包的大小,通过数据帧协议封装每一个数据子包,并将封装后的数据发送给节点,由节点逐级转发到目标节点。在本实施例中,如果在超时时间内没有收到对应节点的回复,根节点可以选择重新发送上一帧数据,如果重发次数达到上限,则退出升级。
S4、将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
优选地,请参阅图4,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点包括:
S41、一个节点若通过一个通信接口与多个子节点连接,则所述通信接口交替传输多个子节点的数据子包。
优选地,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点还包括:
S42、当所述根节点传输一个数据子包给所述目标节点时,控制所述根节点收到所述目标节点的确认指令后,才给所述目标节点发送下一个数据子包;
S43、当所述根节点在等待上一目标节点的回复,若检测到所述通信接口处于空闲状态,且有数据子包需要通过所述通信接口发送,则所述根节点通过所述通信接口发送数据到另一目标节点。
具体地,假设本发明的树状连接系统拓扑如图6所示,所述固件升级数据包的大小为1G,图6中的节点31-节点36均为目标节点。所述根节点依据节点21-节点23的通信接口速率以及节点21-节点23的内存大小,将所述固件升级数据包进行分包1000次发送,其中,节点21-节点23的内存大小由节点21-节点23下的连接的节点数量而定。在本实施例中,所述根节点首先通过节点21(或节点22或节点23)进行第一个数据子包的传送,节点21再将所述第一个数据子包转发到节点31(或节点32或节点33);此时所述根节点需要等待节点31的确认指令,才会给节点31发送第二个数据子包;当所述根节点在等待节点31的回复时,检测到节点21下的通信接口处于空闲状态,且有数据子包需要通过所述通信接口发送,则所述根节点通过所述通信接口发送数据到节点32。以此类推,直到所述根节点均将1000个数据子包的报文发送至每一目标节点。
优选地,在本实施例中,所述根节点周期性的去判断需要给哪些目标节点发数据,每一次判断都会遍历所有的节点,然后把所有需要发送数据的节点的数据子包写入到与通信接口对应的缓存队列中。同时,通信接口上连接的每一个节点都对应一个数据收发缓存队列,通信接口处于空闲时会周期性的去遍历自己接口下所有的缓存队列,并从队列中取出数据来对外发送,其中单次发送有大小限制,即队列中的数据可能一次取不完。可以理解的是,数据传输过程中可能会有数据错乱或者丢失的情况,本发明将固件升级数据包分成小包发送,当有问题时只需要重发有问题的数据子包,不需要整个固件重新发送;另外,一次性传输较大的数据,会导致接口的长时间被占用,此时其它节点的交互数据不能正常传输;本发明将所述固件升级数据包进行分割传输,提高了固件传输的效率。本发明将检验值的计算分包进行,节点设备收到数据子包之后可以累计计算检验值以保证数据的完整性。
S5、控制所述目标节点存储各自的数据子包;
S6、控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
S7、判断所述目标节点下所有的子节点已更新完毕;
S8、依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
优选地,在本实施例中,每一个节点设备在接收完固件数据,并且整包校验通过之后,在更新代码区数据前需要确保自己所有的子节点都已经升级完成,如果完成了就从代码备份区中取出数据对程序运行区进行更新,更新完之后向所述根节点上报升级成功的信息。在本发明的升级流程里,下位机的app程序执行所有与数据接受及数据转发的功能,实际更新固件的操作是在bootloader程序中,一旦bootloader中更新了程序之后再进入到新的程序里开始正常软件功能的运行,并不再执行数据转发的功能。因此本发明的节点设备在做最后一步更新之前,要求节点下的子节点都要先完成升级,如果子节点升级失败的话,后面的节点也将不再执行升级操作。可以理解的是,升级相关的大部分操作都在app程序里,如果升级失败了,则app程序还可以恢复到升级之前的状态继续运行,因此本发明只会在固件接收完成并且校验通过之后,才会进入bootloader程序中,bootloader中只专注于关键的内存操作,不进行数据接收和转发等功能。因此减少bootloader的任务,使得内存操作不受干扰。
优选地,所述方法还包括:
依据所述根节点的深度值,设置所述根节点下每一节点的故障指标;
若所述故障指标达到预设值,控制故障指标达到预设值的节点退出升级操作。
优选地,本发明通过所述根节点对整个系统的故障状态进行管理,所述根节点根据每一节点的深度值设置对应的通信超时时间,所述根节点记录所有节点的超时、数据丢失、数据错误、flash操作故障等等故障次数,达到阈值后退出升级。
实施例二
请参阅图7,明实施例提供了一种树状连接系统的固件升级装置,所述装置包括:
节点数据获取模1,用于控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时所在层的节点数量为y,x和y为整数值且不为0;
升级指令发起模块2,用于依据所述节点数据,控制所述根节点发起固件升级指令;
分割模块3,用于依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
数据转发模块4,用于将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
存储模块5,用于控制所述目标节点存储各自的数据子包;
校验模块6,用于控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
判断模块7,用于判断所述目标节点下所有的子节点已更新完毕;
升级更新模块8,用于依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
优选地,所述升级指令发起模块2包括:
广播单元,用于控制所述根节点向第二深度值的节点广播查询指令;
第一回复单元,用于在收到所述查询指令后,控制所述第二深度值的节点向所述根节点回复确认指令;
查询单元,用于控制所述第二深度值的节点向(x-2)深度值的节点发送查询指令;
第二回复单元,用于控制所述(x-2)深度值的节点向各自所在的节点回复确认指令;
反馈单元,用于控制每一节点记录各自的节点数据,并反馈给所述根节点。
优选地,所述分割模块包括:
速率及内存确定单元,用于控制所述根节点获取所述根节点下每一节点的通信接口速率及内存空间大小;
设置单元,用于依据所述通信接口速率及所述内存空间大小,设置每一节点下数据子包分发次数及每次分发的数据子包的大小;
拆分单元,用于依据所述分发次数及所述数据子包的大小,将所述固件升级数据包拆分成多个数据子包。
优选地,所述数据转发模块4包括:
交替传输单元,用于在一个节点若通过一个通信接口与多个子节点连接,控制所述通信接口交替传输多个子节点的数据子包。
转发控制单元,用于当所述根节点传输一个数据子包给所述目标节点时,控制所述根节点收到所述目标节点的确认指令后,才给所述目标节点发送下一个数据子包;
数据发送单元,用于当所述根节点在等待上一目标节点的回复,若检测到所述通信接口处于空闲状态,且有数据子包需要通过所述通信接口发送,则所述根节点通过所述通信接口发送数据到另一目标节点。
实施例三
另外,结合图1描述的本发明实施例的树状连接系统的固件升级方法可以由树状连接系统的固件升级设备来实现。图8示出了本发明实施例提供的树状连接系统的固件升级设备的硬件结构示意图。
树状连接系统的固件升级设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种树状连接系统的固件升级方法。
在一个示例中,树状连接系统的固件升级设备还可包括通信接口403和总线410。其中,如图8所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将树状连接系统的固件升级设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
实施例四
另外,结合上述实施例中的树状连接系统的固件升级方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种树状连接系统的固件升级方法。
综上所述,本发明实施例提供的树状连接系统的固件升级方法、装置、设备及存储介质。本发明通过控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时的所在层的节点数量为y,x和y为整数值且不为0;依据所述节点数据,控制所述根节点发起固件升级指令;依据所述固件升级指令,将固件升级数据包分割成多个数据子包;将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;控制所述目标节点存储各自的数据子包;控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;判断所述目标节点下所有的子节点已更新完毕;依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。因此,本发明基于树状连接系统实现了多设备的同时升级,能够提高升级效率,且保证固件升级的有效性。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种树状连接系统的固件升级方法,其特征在于,所述方法包括:
控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时的所在层的节点数量为y,x和y为整数值且不为0;
依据所述节点数据,控制所述根节点发起固件升级指令;
依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
控制所述目标节点存储各自的数据子包;
控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
判断所述目标节点下所有的子节点已更新完毕;
依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
2.根据权利要求1所述的树状连接系统的固件升级方法,其特征在于,所述控制根节点获取所有节点的节点数据包括:
控制所述根节点向第二深度值的节点广播查询指令;
在收到所述查询指令后,控制所述第二深度值的节点向所述根节点回复确认指令;
控制所述第二深度值的节点向(x-2)深度值的节点发送查询指令;
控制所述(x-2)深度值的节点向各自所在的节点回复确认指令;
控制每一节点记录各自的节点数据,并反馈给所述根节点。
3.根据权利要求1所述的树状连接系统的固件升级方法,其特征在于,所述依据所述固件升级指令,将固件升级数据包拆分成多个数据子包包括:
控制所述根节点获取所述根节点下每一节点的通信接口速率及内存空间大小;
依据所述通信接口速率及所述内存空间大小,设置每一节点下数据子包分发次数及每次分发的数据子包的大小;
依据所述分发次数及所述数据子包的大小,将所述固件升级数据包拆分成多个数据子包。
4.根据权利要求1所述的树状连接系统的固件升级方法,其特征在于,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点包括:
一个节点若通过一个通信接口与多个子节点连接,则所述通信接口交替传输多个子节点的数据子包。
5.根据权利要求4所述的树状连接系统的固件升级方法,其特征在于,所述将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点还包括:
当所述根节点传输一个数据子包给所述目标节点时,控制所述根节点收到所述目标节点的确认指令后,才给所述目标节点发送下一个数据子包;
当所述根节点在等待上一目标节点的回复,若检测到所述通信接口处于空闲状态,且有数据子包需要通过所述通信接口发送,则所述根节点通过所述通信接口发送数据到另一目标节点。
6.根据权利要求1所述的树状连接系统的固件升级方法,其特征在于,所述方法还包括:
依据所述根节点的深度值,设置所述根节点下每一节点的故障指标;
若所述故障指标达到预设值,控制故障指标达到预设值的节点退出升级操作。
7.根据权利要求1所述的树状连接系统的固件升级方法,其特征在于,所述节点数据包括:所述子节点的ID值、深度值、升级需求、通信接口速率及内存空间大小。
8.一种树状连接系统的固件升级装置,其特征在于,所述装置包括:
节点数据获取模块,用于控制根节点获取所有节点的节点数据;其中,所述根节点有且仅有一个,所述根节点的深度值为x,深度值≥2时所在层的节点数量为y,x和y为整数值且不为0;
升级指令发起模块,用于依据所述节点数据,控制所述根节点发起固件升级指令;
分割模块,用于依据所述固件升级指令,将固件升级数据包分割成多个数据子包;
数据转发模块,用于将多个所述数据子包分别由所述根节点下的节点一一转发到各节点下的目标节点;
存储模块,用于控制所述目标节点存储各自的数据子包;
校验模块,用于控制所述目标节点校验各自的数据子包,并将校验结果反馈到所述根节点;
判断模块,用于判断所述目标节点下所有的子节点已更新完毕;
升级更新模块,用于依据判断结果,控制所述目标节点读取所述数据子包进行升级更新。
9.一种树状连接系统的固件升级设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111644559.4A CN114489718A (zh) | 2021-12-30 | 2021-12-30 | 树状连接系统的固件升级方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111644559.4A CN114489718A (zh) | 2021-12-30 | 2021-12-30 | 树状连接系统的固件升级方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489718A true CN114489718A (zh) | 2022-05-13 |
Family
ID=81507965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111644559.4A Pending CN114489718A (zh) | 2021-12-30 | 2021-12-30 | 树状连接系统的固件升级方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489718A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149713A (zh) * | 2023-04-19 | 2023-05-23 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
-
2021
- 2021-12-30 CN CN202111644559.4A patent/CN114489718A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149713A (zh) * | 2023-04-19 | 2023-05-23 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
CN116149713B (zh) * | 2023-04-19 | 2023-12-15 | 广州擎天实业有限公司 | 一种树型异构网络下的各级设备的程序升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546784B (zh) | 一种基于can总线进行批量升级设备固件的方法 | |
CN113692581A (zh) | 促进网络接口控制器(nic)中非幂等性操作的高效管理的系统和方法 | |
CN111030747B (zh) | 一种基于FPGA的SpaceFibre节点IP核 | |
US9430221B2 (en) | Device and method for updating firmware of a rackmount server system | |
JP7008721B2 (ja) | フィードバック情報送信方法およびデバイス | |
CN103905300A (zh) | 一种数据报文发送方法、设备及系统 | |
US20130003751A1 (en) | Method and system for exponential back-off on retransmission | |
CN104866454A (zh) | 面向板级高速总线的写报文前瞻处理方法及装置 | |
US20140108878A1 (en) | Method, Apparatus, and System for Retransmitting Data Packet in Quick Path Interconnect System | |
CN111158933A (zh) | 一种基于消息队列的分布式事务处理方法及系统 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN101656595B (zh) | 传输系统、设备和方法 | |
CN113132063A (zh) | 一种物理层重传控制方法 | |
CN101022473B (zh) | 一种在交换机中自动识别板卡配置并且生成局数据的方法 | |
CN114489718A (zh) | 树状连接系统的固件升级方法、装置、设备及存储介质 | |
CN100346603C (zh) | 用于更新群通信系统中的群成员视图的方法和装置 | |
CN101944983A (zh) | 用于在通信网络中发送和接收管理消息的方法及系统 | |
CN116204214A (zh) | Bmc升级方法、装置、系统、电子设备及存储介质 | |
CN110162511B (zh) | 一种日志传输方法及相关设备 | |
US8433952B2 (en) | Memory access control device, memory access control method and memory access control program | |
US10484138B2 (en) | Method for transmitting data packets on a data transmission path between two communication subscribers, automation system and computer program | |
JP4284339B2 (ja) | 受信装置,受信方法及び通信システム | |
CN113791804B (zh) | 多路仪器并行升级的方法、装置、计算机设备及存储介质 | |
CN116743324B (zh) | 数据传输方法、装置、接收端、存储介质、系统及服务器 | |
CN111478755B (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 |