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.为达到上述目的,本发明第四方面实施例提出了一种通信系统,包括主节点、从节
点和代理节点,代理节点有父节点和子节点,从节点没有子节点;代理节点用于执行如上述第一方面的方法,从节点用于执行如上述第二方面的方法,主节点用于执行如上述第三方面的方法。
41.为达到上述目的,本发明第五方面实施例提出了一种节点升级装置,应用于代理节点,代理节点有父节点和子节点,该装置包括:
42.第一接收模块,被配置为接收各子节点上报的缺包信息,其中,缺包信息用于指示代理节点的子孙节点的升级包缺失情况;
43.第一上报模块,被配置为对缺包信息进行更新,并将更新后的缺包信息上报至父节点,以使父节点逐级上报至主节点并由主节点进行补包,其中,在逐级上报的过程中逐级更新缺包信息;
44.第一升级模块,被配置为在确定各子节点均完成升级包接收的情况下,向各子节点下发升级指令,以指示各子节点进行升级。
45.为达到上述目的,本发明第六方面实施例提出了一种节点升级装置,应用于从节点,从节点没有子节点,该装置包括:
46.生成模块,被配置为生成缺包信息,其中,缺包信息用于指示从节点的升级包缺失情况;
47.第二上报模块,被配置为将缺包信息上报至父节点,以使父节点对各子节点上报的缺包信息进行更新,并将更新后的缺包信息逐级上报至主节点由主节点进行补包,其中,各子节点包括从节点;
48.第二升级模块,被配置为响应于父节点下发的升级指令进行升级,其中,升级指令由父节点在确定各子节点均完成升级包接收的情况下下发。
49.为达到上述目的,本发明第七方面实施例提出了一种节点升级装置,应用于主节点,该装置包括:
50.第二接收模块,被配置为接收各子节点上报的缺包信息,其中,缺包信息用于指示除主节点之外其他节点的升级包缺失情况,且由代理节点逐级上报至主节点;
51.补发模块,被配置为基于缺包信息进行全网广播补发补充包。
52.为达到上述目的,本发明第八方面实施例提出了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述第一方面所述的方法,或者,实现如上述第二方面所述的方法,或者,实现如上述第三方面所述的方法。
53.为达到上述目的,本发明第九方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法,或者,实现如上述第二方面所述的方法,或者,实现如上述第三方面所述的方法。
54.本发明实施例提供的节点升级方法,应用于有父节点和子节点的代理节点,代理节点接收各子节点上报的缺包信息,该缺包信息用于指示代理节点的子孙节点的升级包缺失情况,并对缺包信息进行更新,将更新后的缺包信息上报至父节点,以使父节点逐级上报至主节点并由主节点进行补包,且在逐级上报的过程中逐级更新缺包信息;在确定各子节点均完成升级包接收的情况下,向各子节点下发升级指令,以指示各子节点进行升级。在本方案中,不需要主节点逐个查询缺包情况,缺包信息由代理节点汇聚并逐级上报至主节点,
且在逐级上报的过程中对缺包信息进行逐级更新,则网络中传输的数据量会减少,再由主节点进行补包,则重复的升级包可以被快速补充,即能够快速分发升级包,提高了节点升级的效率。
55.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
56.图1是根据本发明实施例提供的一种通信系统的结构示意图;
57.图2是根据本发明实施例提供的另一种通信系统的结构示意图;
58.图3是根据本发明实施例提供的第一种节点升级方法的流程图;
59.图4是根据本发明实施例提供的第二种节点升级方法的流程图;
60.图5是根据本发明实施例提供的第三种节点升级方法的流程图;
61.图6是根据本发明实施例提供的第四种节点升级方法的流程图;
62.图7是根据本发明实施例提供的第一种节点升级装置的结构示意图;
63.图8是根据本发明实施例提供的第二种节点升级装置的结构示意图;
64.图9是根据本发明实施例提供的第三种节点升级装置的结构示意图;
65.图10是根据本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
66.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
67.下面参考附图描述本发明实施例提出的节点升级方法、节点升级装置、通信系统、计算设备和计算机可读存储介质。
68.图1是根据本发明实施例提供的一种通信系统的结构示意图,该通信系统是一种多节点多层次的结构,也可称为网络,该通信系统包括主节点101、代理节点102和从节点103,代理节点102是通信系统中既有父节点又有子节点的节点,从节点103是通信系统中没有子节点的节点,主节点101和其他节点(包括代理节点102和从节点103)通过载波或其他网络进行连接。并且,主节点101的数量是一个,代理节点102的数量可以是至少一个,从节点103的数量可以是多个。在该图1中,节点1是代理节点102,节点2和节点3是从节点103。
69.进一步地,参见图2,图2是根据本发明实施例提供的另一种通信系统的结构示意图,该通信系统除了包括主节点201、代理节点202和从节点203,还包括升级服务器上位机204,且升级服务器上位机204与主节点201连接,连接方式不限。并且,在图2中,节点1、节点4、节点5和节点6是从节点203,节点2是节点3和节点4的代理节点202,节点3是节点5和节点6的代理节点202。并且,本发明中的子节点需要通过其父节点才能正常组网,如节点5和节点6需要通过节点3进行组网,节点3和节点4需要通过节点2进行组网,节点1和节点2需要通过主节点201进行组网。
70.具体实现中,在需要对通信系统中节点进行升级的情况下,升级服务器上位机通过串口向主节点发送升级指令,该升级指令用于指示网络中的节点进行升级,且该升级指
令中携带升级文件,该升级指令可以以报文的形式发送。主节点接收到升级指令后,全网广播升级提醒信息,以通知整个网络中的节点将要开始升级,该升级提醒信息包括校验信息,每个节点根据自身状态和校验信息,确定自身的升级状态并上报至自己的代理节点,该升级状态用于指示该节点是否需要进行本次升级,由代理节点对待升级的节点的升级状态进行汇总,收齐自己的子节点的上报或超时后,将汇聚的升级状态向父节点汇报,逐级汇聚上报后,最终主节点得到了本次升级全网可升级的节点的列表。主节点根据升级文件的长度和报文的负载长度,将升级文件拆分成多个升级包,每次广播一个升级包,直到所有升级包都被发送过一次,之后主节点全网广播缺包查询指令,以通知网络内所有节点上报自己的升级包缺失情况(即缺包信息),每一个代理节点必须要收齐自己的子节点上报的缺包信息,并做汇聚,然后逐级上报直到主节点,则主节点能够接收到全网所有节点的缺包信息,然后通过全网广播进行补包。若任意一个代理节点的子节点全部反馈接收完成报文,说明该代理节点的子节点全部完成了升级包接收,该代理节点向它的子节点发送升级指令,该升级指令以报文的形式发送,并向自己的代理节点发送自己的缺包信息,即整个网络中节点的升级是逐级进行的,以此逻辑保证整个网络内的节点在升级过程中不会因为自己的代理节点升级重启导致断网。
71.作为一种示例,每一个代理节点和它的所有子节点可以形成一个最小升级执行单元,当一个升级执行单元内的所有节点都接收完成所有的升级包后,由代理节点向它的所有子节点发送升级指令,之后代理节点作为自己代理节点的子节点,参与上一级的升级执行单元,直到整个网络都升级完成。并且,在整个升级过程中,若任意一个节点,连续n次缺包信息不变,或者n次没有响应缺包查询指令,则由它的代理节点将它从本升级执行单元中剔除,从而不影响整个升级系统的升级。
72.以图2的通信系统为例,升级服务器上位机向主节点发送升级指令,该升级指令携带升级文件,主节点响应于该升级指令全网广播升级提醒信息,将升级文件划分为多个升级包,并全网广播升级包,在一轮广播完之后,主节点全网广播缺包查询指令。假设,节点5响应于该缺包查询指令生成缺包信息,该缺包信息包括升级包a,节点6响应于该缺包查询指令生成缺包信息,该缺包信息包括升级包a,节点3生成自身的缺包信息,该缺包信息包括升级包b,将该三个缺包信息汇总得到更新后的缺包信息包括升级包a和升级包b,节点3将更新后的缺包信息上报至节点2,节点4生成自身的缺包信息,该缺包信息包括升级包b,节点2生成自身的缺包信息,该缺包信息包括升级包a,节点2将三个缺包信息汇总得到更新后的缺包信息包括升级包a和升级包b,节点2将更新后的缺包信息上报至主节点,节点1生成自身的缺包信息,该缺包信息包括接收完成报文,说明节点1不缺包,主节点将节点1和节点2上报的两个缺包信息汇总,得到最终的缺包信息包括升级包a和升级包b。主节点全网广播升级包a和升级包b,然后节点2、节点5和节点6接收升级包a,节点3和节点4接收升级包b。节点5和节点6向节点3上报接收完成报文,节点3向节点5和节点6下发升级指令,则节点5和节点6进行升级,在节点5和节点6升级完成后,节点3向节点2上报接收完成报文,若节点2已经接收到了节点4的接收完成报文,则向节点3和节点4下发升级指令,节点3和节点4进行升级,在节点3和节点4升级完成后,节点2向主节点上报接收完成报文,若主节点已经接收到了节点1的接收完成报文,则向节点1和节点2下发升级指令,则节点1和节点2升级,在节点1和节点2升级完成后,主节点进行升级,从而完成通信系统中所有节点的升级。
73.应用本发明实施例的节点升级方法,在升级过程中无需逐个查询,逐个升级,通过建立升级列表的方式,一次性拿到所有的节点的升级状态。同时利用全网广播,快速分发升级包,能够极大提升升级效率。并且,基于网络本身特性,仅需进行少部分的升级指令修改。逐级升级的方式,可以避免代理节点的升级对子节点的升级的影响。
74.需要说明的是,本发明实施例中的通信系统可以是电力线载波通信系统,本发明提供的节点升级方法是对电力线载波通信系统中的节点进行升级,即主节点、从节点和代理节点均是电力线载波通信系统中的节点。
75.图3是根据本发明实施例提供的第一种节点升级方法的流程图,该节点升级方法应用于代理节点,代理节点有父节点和子节点,该节点升级方法可以包括如下步骤。
76.步骤301:接收各子节点上报的缺包信息,其中,该缺包信息用于指示代理节点的子孙节点的升级包缺失情况。
77.在本发明实施例中,各子节点是代理节点的子节点,子孙节点是代理节点的子孙节点,且子孙节点包括子节点。并且,本发明所提供的通信系统是多节点多层级的结构,因此,该子节点可能是没有子节点的从节点,也可能是既有子节点又有父节点的代理节点。例如,参见图2,节点2是代理节点,节点3和节点4均是节点2的子节点,且节点3也是代理节点,节点4是从节点。
78.在本发明实施例中,缺包信息可以包括缺包报文或接收完成报文。也就是说,无论子节点是否存在升级包缺失,均会向代理节点上报报文,将这些报文统称为缺包信息。并且,在子节点存在升级包缺失的情况下,该子节点上报的是缺包报文,在子节点不存在升级包缺失的情况下,若该子节点是从节点,则上报的是接收完成报文,若该子节点是代理节点,且子孙节点存在升级包缺失,则上报的是缺包报文。
79.具体实现中,若该子节点是从节点,则缺包信息指示的是该子节点的升级包缺失情况,且该缺包信息是该子节点根据自身的升级包缺失情况生成的。若该子节点也是代理节点,则缺包信息可能仅指示该子节点的升级包缺失情况,且该缺包信息是子节点根据自身的升级包缺失情况生成的;或者,缺包信息也可能指示该代理节点的子孙节点的升级包缺失情况,且该缺包信息包括该子节点的子节点上报的缺包报文和该子节点根据自身的升级包缺失情况生成的缺包报文或接收完成报文。
80.以图2为例,假设代理节点是节点2,其子节点包括节点3和节点4。节点4是从节点,则节点4上报的缺包信息包括节点4的缺包报文。节点3是一种代理节点,则节点3上报的缺包信息包括三种情况:一种是节点5和节点6均不存在升级包缺失,则节点3上报的缺包信息包括节点3的缺包报文或接收完成报文;另一种是节点5和节点6中有至少一个存在升级包缺失,且节点3不存在升级包缺失,则节点3上报的缺包信息包括缺包报文和节点3的接收完成报文,该缺包报文是节点5的缺包报文或节点6的缺包报文或将节点5和节点6的缺包报文汇聚后得到的;又一种是节点5和节点6中有至少一个存在升级包缺失,且节点3存在升级包缺失,则节点3上报的缺包信息包括缺包报文,该缺包报文是将节点3和节点5的缺包报文汇聚得到、或将节点3和节点6的缺包报文汇聚得到、或将节点3与节点5和节点6的缺包报文汇聚得到的。
81.在一些实施例中,主节点在全网广播升级包后,为了确保所有节点均接收到升级包,会全网广播缺包查询指令,各子节点在接收到主节点全网广播的缺包查询指令后,可以
查询自身的升级包缺失情况,根据升级包缺失情况生成缺包信息上报至代理节点,则代理节点可以将各子节点的缺包信息聚合在一起。
82.作为一种示例,主节点在全网广播升级包之前,可以先全网广播升级提醒信息,该升级提醒信息可以包括待下发的各升级包的第一标识,则各子节点在接收主节点全网广播的升级包之前,已经确定升级所需的各升级包的第一标识,因此,在接收到缺包查询指令后,可以根据升级所需的各升级包的第一标识,以及接收到的各升级包的第二标识,生成缺包信息。
83.本发明实施例中,不同于主节点一个一个询问各节点的缺包情况,由代理节点汇聚各子节点的缺包信息并逐级上报,能够降低网络中的数据传输量,提高缺包信息上报效率,进而提高补包效率,提高升级速度。
84.步骤302:对缺包信息进行更新,并将更新后的缺包信息上报至父节点,以使父节点逐级上报至主节点并由主节点进行补包,其中,在逐级上报的过程中逐级更新缺包信息。
85.在本发明实施例中,由于缺包信息包括缺包报文和接收完成报文,但对于主节点来说,只需确定缺失哪些升级包即可,因此无需向主节点上报接收完成报文,则对缺包信息的更新包括去除接收完成报文,并且,在多节点网络中,若将各子节点上报的缺包报文一一上报至主节点,则网络中的数据传输量会很大,影响网络的传输速度,进而降低缺包信息的上报效率,降低升级效率。因此,代理节点需要将接收到的缺包信息汇聚成一条报文,并且,若代理节点自身也存在升级包缺失,则需要将自身的缺包报文也汇聚在该报文中,以减少网络中的数据传输量。
86.因此,在一些实施例中,对缺包信息进行更新的具体实现可以包括:生成代理节点的缺包信息,将各子节点上报的缺包信息与代理节点的缺包信息进行聚合,得到更新后的缺包信息。
87.具体实现中,由于主节点是全网广播缺包查询指令,因此代理节点也会接收到该缺包查询指令,并基于该缺包查询指令查询自身是否存在升级包缺失,生成缺包信息。并且,在存在升级包缺失的情况下生成缺包报文,该缺包报文可以用于指示该代理节点缺失的升级包。在不存在升级包缺失的情况下生成接收完成报文,该接收完成报文可以用于指示该代理节点不存在升级包缺失。
88.作为一种示例,若代理节点不存在升级包缺失,可以将各子节点上报的缺包信息中的缺包报文进行聚合,得到更新后的缺包信息。例如,假设代理节点包括子节点5、子节点6和子节点7,且子节点5和子节点6上报的是缺包报文,子节点7上报的是接收完成报文,该代理节点不存在升级包缺失,且子节点5上报的缺包报文包括升级包a,子节点6上报的缺包报文包括升级包b,则更新后的缺包信息包括升级包a和升级包b。
89.作为另一种示例,若代理节点存在升级包缺失,将各子节点上报的缺包信息中的缺包报文与代理节点的缺包信息进行聚合,得到更新后的缺包信息。
90.以图2为例,假设代理节点是节点3,子节点是节点5和节点6,节点3的缺包报文包括升级包a和升级包b,说明节点3缺失升级包a和升级包b,节点5的缺包报文包括升级包a和升级包c,节点6的缺包报文包括升级包b,则节点5和节点6将缺包报文上报至节点3,节点3将节点5、节点6和节点3的缺包报文聚合,确定更新后的缺包信息包括升级包a、升级包b和升级包c。即将原本的三条缺包报文合并成了一条缺包报文,降低了网络中的数据传输量。
91.本发明实施例中,代理节点接收到各子节点上报的缺包信息后,通过去除接收完成报文、去重缺包报文、合并自身的缺包报文三种方式实现缺包信息的汇聚,得到更新后的缺包信息。
92.在一些实施例中,代理节点将更新后的缺包信息继续上报至父节点,由父节点继续对接收到的缺包信息进行更新并逐级上报,直至上报至主节点,则主节点可以根据接收到的缺包信息,通过全网广播补发补充包。通过这样逐级上报缺包信息,能够提高缺包信息的上报效率。
93.继续以图2为例,节点3和节点2均是代理节点,且节点2是节点3的父节点。节点3将节点5、节点6上报的缺包信息和自身的缺包信息汇聚得到更新后的缺包信息,将更新后的缺包信息上报至节点2,节点2接收节点4上报的缺包信息,将节点4、节点3上报的缺包信息和自身的缺包信息汇聚得到更新后的缺包信息,将更新后的缺包信息上报至主节点,则主节点接收到节点2上报的缺包信息和节点1上报的缺包信息,并基于该两条缺包信息进行补包。
94.本发明实施例中,代理节点将子节点上报的缺包信息汇聚在一起实现更新,将更新后的缺包信息上报至父节点,由父节点层层上报至主节点,且在每级上报的过程中会对缺包信息进行逐级更新,则主节点能够接收到全网节点的缺包信息,并进行补包。如此,不需要主节点一个一个询问节点的缺包情况并进行补包,提高了补包效率,进而提高了升级效率。
95.根据本发明的一个实施例,由于代理节点可能会有很多子节点,要实现对子节点上报的缺包信息的汇聚,则需要接收到所有子节点上报的缺包信息,因此,代理节点需要判断是否已经接收到所有子节点上报的缺包信息。具体实现中,代理节点可以预先存储有所有子节点的节点标识,通过将存储的节点标识与上报缺包信息的节点标识进行比对,确定是否所有子节点均已上报缺包信息。在该种情况下,所有子节点均是需要升级的节点。
96.根据本发明的另一个实施例,由于缺包查询指令是主节点全网广播的,因此网络中所有节点均可以接收到,对于需要升级的节点,其可以判断自身的升级包缺失情况并生成缺包信息上报,对于不需要升级的节点,可以不响应缺包查询指令,若代理节点一直等待不需要升级的节点的反馈,会导致节点升级无法进行下去,因此,在该种情况下,代理节点需要预先确定待升级的子节点有哪些,才能准确判断是否接收到所有子节点的缺包信息。
97.因此,本发明实施例的节点升级方法还包括:
98.接收各子节点上报的升级状态,其中,各子节点的升级状态用于表示各子节点是否待升级;基于各子节点的升级状态和代理节点的升级状态,生成升级列表;将升级列表上报至父节点,以使父节点逐级上报至主节点。
99.其中,升级状态包括待升级和不升级。
100.具体实现中,主节点在全网广播升级包之前,可以先全网广播升级提醒信息,以提醒全网节点上报自身的升级状态,各子节点可以根据升级提醒信息确定自身的升级状态并上报至代理节点,代理节点也会接收到升级提醒信息,并确定自身的升级状态,代理节点根据各子节点的升级状态和自身的升级状态,确定待升级的节点,并基于待升级的节点生成升级列表上报至父节点,由父节点将升级列表逐级上报至主节点,且在逐级上报的过程中不断更新升级列表。
101.作为一种示例,代理节点可以将升级状态是待升级的节点添加至升级列表中,并将升级列表上报至父节点。
102.以图2为例,节点5和节点6向节点3上报自身的升级状态,假设节点5和节点6的升级状态均是待升级,节点3自身的升级状态是待升级,则可以生成升级列表,该升级列表包括节点5、节点6和节点3,节点3将该升级列表上报至节点2。
103.在一些实施例中,各代理节点也可以记录升级列表,该升级列表中包括待升级节点的节点标识,代理节点可以将上报缺包信息的子节点的节点标识与升级列表中该代理节点的子节点的节点标识进行比对,通过比对结果确定是否接收到所有待升级的子节点上报的缺包信息,进而确定是等待还是进行下一步操作。
104.例如,假设升级列表包括节点5和节点6,代理节点的子节点包括节点5、节点6和节点7,若节点5和节点6均向代理节点上报了缺包信息,但代理节点未接收到节点7上报的任何信息,则可以认为代理节点接收到所有子节点的缺包信息,不需要等待节点7的上报。如此,在一定程度上可以提高缺包信息的上报效率。
105.在本发明实施例中,代理节点将各子节点的升级状态汇聚并上报至父节点,由父节点逐级上报至主节点,以便主节点能够一次性获取到全网所有节点的升级状态,不需要一个一个询问节点是否需要升级,能够提高升级效率。
106.进一步地,虽然代理节点对缺包信息的更新需要在接收到所有子节点的缺包信息后才能进行,但若有节点出现问题,无法向代理节点上报缺包信息,或者无法在补包后更新缺包信息,则可以不对该节点进行升级。
107.因此,若代理节点超过预设次数未接收到参考子节点上报的缺包信息,或者,若代理节点超过预设次数接收到参考子节点上报的缺包信息相同,则将参考子节点剔除,其中,参考子节点是代理节点的任一子节点。
108.其中,预设次数可以根据实际情况设置,也可以默认设置,本发明实施例对此不做限定。例如,预设次数可以是3。
109.作为一种示例,在整个节点升级过程中,针对参考子节点,若超过预设次数未向代理节点反馈升级包缺失情况,即代理节点超过预设次数未接收到参考子节点上报的缺包信息,说明该参考子节点可能已经与代理节点断开连接,则无法对该参考子节点进行升级,因此可以将参考子节点从网络中剔除。若超过预设次数向代理节点上报的缺包信息相同,即代理节点超过预设次数接收到参考子节点上报的缺包信息相同,说明该参考子节点可能无法根据补包情况对缺包信息进行更新,或者,该参考子节点无法正常接收升级包或补充包,则无法对该参考子节点进行升级,因此可以将参考子节点从网络中剔除。
110.如此,可以及时将存在问题的参考子节点从网络中剔除,从而避免个别节点的问题对其他节点升级的影响,以确保全网其他节点可以正常升级。
111.需要说明的是,若在预设时长内没有接收到所有子节点上报的缺包信息,可以先进行上报,在下一轮继续接收,能够减少不必要的时间浪费,提高缺包信息的上报效率,进而提高升级效率。
112.在本发明实施例中,代理节点在接收到所有子节点上报的缺包信息后,将自身的缺包信息和各子节点上报的缺包信息聚合在一起,得到更新后的缺包信息,并将更新后的缺包信息上报至父节点,由父节点层层上报直至主节点,则主节点可以一次性获取到全网
所有节点的缺包信息,提高了缺包信息的上报效率,且主节点基于该缺包信息进行补包,能够快速将升级包补充完整,提升了补包效率,进而提高了节点升级效率。
113.步骤303:在确定各子节点均完成升级包接收的情况下,向各子节点下发升级指令,以指示各子节点进行升级。
114.在本发明实施例中,缺包信息的上报和补包可能会进行一次或多次,但缺包查询指令可以只广播一次,若任一子节点接收到补充包后不存在升级包缺失,则会向代理节点上报接收完成报文,如此,代理节点可以确定该任一子节点完成了升级包接收;若任一子节点接收到补充包后依然存在升级包缺失,则重新生成缺包信息向代理节点上报,直到代理节点接收到其所有子节点的接收完成报文。
115.因此,根据本发明的一个实施例,确定各子节点均完成升级包接收的具体实现可以包括:在接收到各子节点上报的接收完成报文的情况下,确定各子节点均完成升级包接收。
116.其中,各节点上报的接收完成报文用于表示各节点已完成所有升级包的接收。
117.也就是说,若代理节点接收到所有子节点上报的接收完成报文,说明其所有子节点均接收到所有升级包,则代理节点向各子节点下发升级指令,以指示各子节点进行升级。
118.作为一种示例,代理节点可以根据记录的升级列表,确定是否已接收到所有子节点的接收完成报文,若是,则确定各子节点均完成升级包接收,便可以向各子节点下发升级指令。例如,假设代理节点是节点3,节点5和节点6是代理节点的子节点,若节点3接收到节点5和节点6的接收完成报文,则向节点5和节点6下发升级指令,节点5和节点6可以根据接收到的升级包进行升级。
119.需要说明的是,若子节点是从节点,则在确定自身不存在升级包缺失的情况下向代理节点上报接收完成报文;若子节点也是代理节点,则在确定自身不存在升级包缺失且子节点的子节点升级完成的情况下向代理节点上报接收完成报文。
120.本发明实施例中,代理节点在确定所有子节点均完成升级包接收后才指示子节点升级,能够将同一等级的子节点一起升级,实现逐级升级。
121.进一步地,由于各节点升级时需要重启,子节点的升级依赖于代理节点,若在子节点未升级完成的情况下对其代理节点进行升级,则代理节点的重启会导致该子节点升级失败,因此,需要在子节点全部升级完成后才对代理节点进行升级,因此,即使代理节点已经完成了所有升级包的接收,也需要等待其子节点均升级完成后再上报至父节点,以告知父节点自己可以升级。
122.因此,根据本发明的一个实施例,在确定各子节点均完成升级包接收的情况下,向各子节点下发升级指令,以指示各子节点进行升级之后,还包括:在确定各子节点均升级完成且代理节点完成升级包接收的情况下,向父节点上报接收完成报文;接收父节点下发的升级指令,并基于升级指令进行升级。
123.具体实现中,由于代理节点在接收到所有子节点的接收完成报文后,会向子节点下发升级指令,那么,对于代理节点的父节点来说,若代理节点在接收到全部升级包后向父节点上报接收完成报文,且代理节点的父节点已经接收到其他子节点的接收完成报文,则父节点会指示该代理节点升级,但若该代理节点的子节点未升级完成,则会影响子节点的正常升级。因此,若代理节点已经接收到所有升级包,则在确定各子节点均升级完成的情况
下,才向父节点上报接收完成报文,能够避免代理节点的重启对子节点升级的影响。
124.作为一种示例,子节点响应于代理节点的升级指令进行升级,并在升级完成后向代理节点上报升级完成信息,若代理节点已经接收到所有升级包,则代理节点在接收到所有子节点的升级完成信息的情况下,向父节点上报接收完成报文,父节点在接收到其所有子节点的接收完成报文的情况下,向各子节点(包括代理节点)下发升级指令,则各子节点(包括代理节点)响应于升级指令进行升级。也即是,升级指令是父节点在确定父节点的子节点均完成升级包接收的情况下生成并下发的。
125.以图2为例,节点3接收到节点5和节点6的升级完成信息后,确定节点5和节点6均升级完成,在确定节点3已经接收所有升级包的情况下,节点3向父节点即节点2上报接收完成报文,若节点2已经接收到节点4的接收完成报文,则节点2向节点3和节点4下发升级指令,节点3和节点4响应于该升级指令,基于各自接收到的升级包进行升级。节点3和节点4升级完成后,向节点2上报升级完成信息,节点2确定节点3和节点4均升级完成,在确定节点2已经接收到所有升级包的情况下,节点2向主节点上报接收完成报文,若主节点已经接收到节点1的接收完成报文,则主节点向节点1和节点2下发升级指令,节点1和节点2响应于升级指令进行升级,并上报升级完成信息至主节点,主节点再基于升级包进行升级。
126.需要说明的是,在确定各子节点均升级完成的情况下,若代理节点自身还未接收到所有升级包,则向父节点上报缺包信息,接收主节点全网广播补发的补充包,直到接收到所有升级包,再向父节点上报接收完成报文。
127.在本发明实施例中,每一等级的所有节点升级完成后才对上一等级的节点进行升级,采用逐级升级的方式实现全网节点的升级,不仅能够提高升级效率,而且能够避免代理节点升级时导致的网络断开对其子节点的升级产生影响,在一定程度上可以提高节点的升级成功率。
128.需要说明的是,本实施例中关于主节点、从节点、代理节点未详细描述的部分可以参见下述各个实施例的相关描述。
129.应用本发明实施例的节点升级方法,代理节点将所有子节点的缺包信息汇聚在一起,并逐级上报至主节点,且在逐级上报过程中根据其他节点的缺包信息逐级更新,最终上报至主节点的是汇聚在一起的报文,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
130.图4是根据本发明实施例提供的第二种节点升级方法的流程图,该节点升级方法应用于从节点,从节点没有子节点,该节点升级方法可以包括如下步骤。
131.步骤401:生成缺包信息,其中,缺包信息用于指示从节点的升级包缺失情况。
132.在本发明实施例中,该缺包信息可以是从节点响应于主节点全网广播的缺包查询指令,根据升级包缺失情况生成的,也可以是从节点接收到主节点补发的补充包后根据升级包缺失情况生成的,也可以是周期性根据自身的升级包缺失情况生成的,本发明实施例
对此不做限定。
133.作为一种示例,若从节点通过查询确定自身存在升级包缺失,则生成的缺包信息是缺包报文,该缺包报文用于指示从节点确实的升级包;若从节点通过查询确定自身不存在升级包缺失,则生成的缺包信息是接收完成报文,该接收完成报文用于指示该从节点已经完成了升级包接收。
134.根据本发明的一个实施例,在生成缺包信息之前,还包括:
135.接收主节点全网广播的升级提醒信息,其中,升级提醒信息包括待下发的各升级包的第一标识;
136.接收主节点全网广播的多个升级包;
137.相应地,生成缺包信息的具体实现可以包括:
138.根据接收到的各升级包的第二标识和待下发的各升级包的第一标识,生成缺包信息。
139.具体实现中,从节点先接收到主节点全网广播的升级提醒信息,记录待下发的各升级包的第一标识,再接收到主节点全网广播的多个升级包,然后在接收到缺包查询指令后,根据接收到的升级包的第二标识和待下发的各升级包的第一标识,确定自身的升级包缺失情况并生成缺包信息。
140.作为一种示例,若各升级包的第一标识均有相同的第二标识,说明从节点接收到了所有待下发的升级包,则生成的缺包信息是接收完成报文,表示从节点的升级包缺失情况是不缺失。或者,若任意一个或多个第一标识没有相同的第二标识,说明从节点没有接收到所有待下发的升级包,即从节点存在升级包缺失,则生成的缺包信息是缺包报文,该缺包报文包括缺失的升级包的标识。
141.示例性地,将第一标识与第二标识进行比对,确定没有相同的第二标识的缺失第一标识,则生成的缺包信息包括该缺失第一标识,该缺失第一标识用于指示从节点缺失的升级包。例如,假设第一标识包括a、b、c和d,分别指示升级包a、升级包b、升级包c和升级包d,第二标识包括a、b和d,没有c,则c是缺失第一标识,升级包c是从节点缺失的升级包,则生成的缺包信息包括升级包c。
142.在本发明实施例中,从节点接收到主节点全网广播的升级提醒信息,获知待下发的各升级包的第一标识,接收主节点全网广播的多个升级包,再接收主节点全网广播的缺包查询指令,并根据待下发的各升级包的第一标识和接收到的升级包的第二标识,确定从节点的升级包缺失情况并生成缺包信息,如此,通过全网广播的形式进行缺包查询,不需要一个节点一个节点询问,能够提高缺包查询的效率。
143.步骤402:将缺包信息上报至父节点,以使父节点对各子节点上报的缺包信息进行更新,并将更新后的缺包信息逐级上报至主节点由主节点进行补包,其中,各子节点包括该从节点。
144.在本发明实施例中,从节点的父节点可能是代理节点,从节点将缺包信息上报至父节点,则父节点将接收到的各子节点的缺包信息进行汇聚更新,并将更新后的缺包信息逐级上报,直至主节点,则主节点能够一次性接收到全网节点的缺包信息并进行补包,提高了缺包查询和补包效率,进而提高了升级效率。
145.需要说明的是,父节点对缺包信息进行更新并将更新后的缺包信息逐级上报至主
节点的具体实现可以参见上述实施例中代理节点对缺包信息进行更新并将更新后的缺包信息逐级上报至主节点的相关描述,本实施例在此不再赘述。
146.步骤403:响应于父节点下发的升级指令进行升级,其中,升级指令由父节点在确定各子节点均完成升级包接收的情况下生成。
147.具体实现中,父节点在确定其所有子节点均完成升级包接收后,再向子节点下发升级指令,则同一层级的节点一起升级,能够实现逐级升级。
148.在本发明一些实施例中,若从节点的缺包信息包括接收完成报文,说明从节点已经完成升级包接收,无需补包,则在接收到父节点下发的升级指令后,响应于该升级指令,根据接收到的升级包进行升级。
149.在本发明的另一些实施例,若缺包信息包括缺包报文,且缺包报文用于指示从节点确实的升级包,在响应于父节点下发的升级指令进行升级之前,还包括:
150.接收主节点进行全网广播补发的补充包;
151.在确定完成升级包接收的情况下,向父节点上报接收完成报文;
152.相应地,响应于父节点下发的升级指令进行升级,包括:
153.响应于升级指令,基于接收到的升级包和补充包进行升级。
154.也就是说,若从节点存在升级包缺失,则接收主节点补发的补充包,并继续查询自身是否存在升级包缺失,若否,则向父节点上报接收完成报文,父节点若接收到所有子节点的接收完成报文,则确定各子节点均完成升级包缺失,便向各子节点下发升级指令,则从节点也会接收到升级指令,并基于接收到的升级包和补充包进行升级。
155.作为一种示例,若从节点接收到补充包后,确定依然存在升级包缺失,则重新生成缺包信息上报至父节点,以使父节点对各子节点上报的缺包信息进行更新,并将更新后的缺包信息逐级上报至主节点由主节点进行补包,直至该从节点不存在升级包缺失,再向父节点上报接收完成报文。
156.在本发明实施例中,从节点在接收到补充包后继续判断升级包缺失情况,并在依然存在升级包缺失时生成缺包报文上报至父节点,即每次补包都是采用逐级上报的形式,不需要主节点与单个节点单独通信,能够提高升级效率。
157.进一步地,由于父节点需要在接收到所有子节点上报的缺包信息后对缺包信息进行更新,因此,父节点需要判断是否已经接收到所有子节点上报的缺包信息,那么父节点需要确定哪些子节点是会上报缺包信息的,而哪些子节点是不会上报缺包信息的。因此,需要父节点记录各子节点的升级状态,从而确定需要升级的节点,在需要升级的子节点均上报缺包信息的情况下,可以确定已经接收到所有子节点上报的缺包信息。
158.在本发明实施例中,主节点全网广播的升级提醒信息还可以包括校验信息,在接收主节点全网广播的升级提醒信息之前,还包括:
159.获取节点状态和当前执行文件的校验值,其中,节点状态用于指示从节点是否处于空闲状态;基于校验信息、校验值和节点状态,确定升级状态,其中,升级状态用于指示从节点是否待升级;将从节点的升级状态上报至父节点。
160.具体实现中,从节点可以获取自身的节点状态,若该节点状态是空闲状态,说明该从节点此时没有升级,则获取该从节点当前执行文件的校验值,将该校验值与校验信息进行比对,根据比对结果确定升级状态。
161.作为一种示例,若比对结果指示校验值与校验信息相同,说明该从节点无需升级,若比对结果指示校验值与校验信息不同,说明该从节点需要升级,则确定从节点的升级状态是待升级,并将从节点的升级状态上报至父节点,则父节点可以接收到各子节点的升级状态。
162.进一步地,父节点接收到各子节点的升级状态后,可以将各子节点的升级状态与自身的升级状态进行聚合,生成升级列表并记录。如此,父节点可以根据升级列表确定是否所有子节点均上报了缺包信息。并且,父节点还将升级列表逐级上报至主节点,则主节点也可以据此判断是否接收到主节点的各子节点上报的缺包信息,以确定是否已将全网所有节点的缺包信息汇总上报,若是则基于上报的缺包信息进行补包。
163.需要说明的是,本实施例中关于主节点、从节点、代理节点未详细描述的部分可以参见本发明其他实施例的相关描述。
164.应用本发明实施例的节点升级方法,从节点生成缺包信息上报至父节点,由父节点将所有子节点的缺包信息汇聚在一起并逐级上报至主节点,且在逐级上报过程中根据其他节点的缺包信息逐级更新,最终上报至主节点的是汇聚在一起的报文,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率;并且,从节点在接收到补发的补充包后继续判断自身的升级包缺失情况并上报缺包信息,直至接收到所有的升级包,即每次缺包信息都通过逐级上报的形式上报至主节点,不需要主节点与其他节点一一建立连接并一一询问与补包,能够提高升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
165.图5是根据本发明实施例提供的第三种节点升级方法的流程图,该节点升级方法应用于主节点,该节点升级方法可以包括如下步骤。
166.步骤501:接收各子节点上报的缺包信息,其中,缺包信息用于指示除主节点之外其他节点的升级包缺失情况,且由代理节点逐级上报至主节点。
167.其中,各子节点是主节点的子节点,该子节点可能是没有子节点的从节点,也可能是既有父节点又有子节点的代理节点。以图2为例,主节点的子节点包括节点1和节点2,节点1是从节点,节点2是子节点。
168.具体实现中,由通信系统中的代理节点将其子节点的缺包信息汇聚并逐级上报至主节点。以图2为例,节点5和节点6将缺包信息上报至节点3,节点3汇聚更新后上报至节点2,节点2将节点3上报的缺包信息和节点4上报的缺包信息汇聚更新上报至主节点,主节点接收到节点2上报的缺包信息和节点1上报的缺包信息。
169.进一步地,通信系统中的节点是在接收到主节点全网广播的缺包查询指令后上报缺包信息,因此,主节点预先全网广播了缺包查询指令。并且,主节点还全网广播了升级提醒信息和升级包。
170.作为一种示例,主节点可以从升级服务器上位机获取到升级文件,并根据报文的负载和升级文件的长度,将升级文件划分为多个升级包,每次全网广播一个升级包,将所有
的升级包全部广播过一次后,全网广播缺包查询指令,指示网络中的节点查询自身的升级包缺失情况。
171.步骤502:基于缺包信息进行全网广播补发补充包。
172.具体实现中,缺包信息包括缺包报文,缺包报文用于指示缺失的升级包的标识,主节点将该标识指示的升级包(即补充包)全网广播,则网络中所有节点均可以接收到该补充包,各节点根据自身的缺包报文选择性接收自己缺失的补充包,则能够实现快速补包,提高补包效率。
173.进一步地,在基于缺包信息补发补充包之后,还包括:在接收到各子节点上报的接收完成报文的情况下,向各子节点下发升级指令,以指示各子节点进行升级。
174.具体实现中,对于主节点来说,若接收到各子节点上报的接收完成报文,说明该主节点的子节点均完成了升级包接收,且子节点的子孙节点均完成了升级,因此,向各子节点下发升级指令,以指示各子节点根据接收到的升级包进行升级。
175.进一步地,在确定各子节点升级完成的情况下,基于升级包对主节点进行升级,如此完成了对通信系统中所有节点的升级。
176.需要说明的是,本实施例中关于主节点、从节点、代理节点未详细描述的部分可以参见本发明其他实施例的相关描述。
177.应用本发明实施例的节点升级方法,代理节点将所有子节点的缺包信息汇聚在一起,并逐级上报至主节点,且在逐级上报过程中根据其他节点的缺包信息逐级更新,最终上报至主节点的是汇聚在一起的报文,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
178.图6是根据本发明实施例提供的第四种节点升级方法的流程图。
179.主节点全网广播升级提醒信息,通知其他节点准备升级。代理节点等待它的子节点上报升级状态,从节点向自己的代理节点上报升级状态,代理节点汇总其所有子节点的升级状态和自身的升级状态并向自己的代理节点上报,逐级上报至主节点,主节点汇总了所有节点的升级状态,生成待升级节点列表。主节点将升级文件划分为多个升级包并逐个通过全网广播发送,全部发送结束后全网广播缺包查询指令,指示网络中的其他节点上报缺包信息。代理节点等待它的子节点上报缺包信息,从节点向自己的代理节点上报缺包信息,代理节点汇总所有子节点和自己的缺包信息,若代理节点的所有子节点均不存在升级包缺失,则向自己的子节点下发升级指令,若代理节点的所有子节点中存在升级包缺失的子节点,向自己的代理节点上报缺包信息,并逐级上报至主节点,主节点根据缺包信息进行全网广播补发补充包,主节点在接收到自己的所有子节点的接收完成报文的情况下,向自己的子节点下发升级指令,并在自己的子节点升级完成后,主节点升级,从而完成通信系统中所有节点的升级。
180.图7是根据本发明实施例提供的第一种节点升级装置的结构示意图,该节点升级
装置应用于代理节点,该代理节点有父节点和子节点,该装置可以包括:
181.第一接收模块701,被配置为接收各子节点上报的缺包信息,其中,缺包信息用于指示代理节点的子孙节点的升级包缺失情况;
182.第一上报模块702,被配置为对缺包信息进行更新,并将更新后的缺包信息上报至父节点,以使父节点逐级上报至主节点并由主节点进行补包,其中,在逐级上报的过程中逐级更新缺包信息;
183.第一升级模块703,被配置为在确定各子节点均完成升级包接收的情况下,向各子节点下发升级指令,以指示各子节点进行升级。
184.根据本发明的一个实施例,第一升级模块703,进一步被配置为:
185.在接收到各子节点上报的接收完成报文的情况下,确定各子节点均完成升级包接收。
186.根据本发明的一个实施例,第一升级模块703,进一步被配置为:
187.在确定各子节点均升级完成且代理节点完成升级包接收的情况下,向父节点上报接收完成报文;
188.接收父节点下发的升级指令,并基于升级指令进行升级。
189.根据本发明的一个实施例,升级指令是父节点在确定父节点的子节点均完成升级包接收的情况下生成并下发的。
190.根据本发明的一个实施例,第一上报模块702,进一步被配置为:
191.生成代理节点的缺包信息;
192.将各子节点上报的缺包信息与代理节点的缺包信息进行聚合,得到更新后的缺包信息。
193.根据本发明的一个实施例,该装置还包括剔除模块,被配置为:
194.若超过预设次数未接收到参考子节点上报的缺包信息,或者,若超过预设次数接收到参考子节点上报的缺包信息相同,则将参考子节点剔除,其中,参考子节点是代理节点的任一子节点。
195.应用本发明实施例提供的节点升级方法,由代理节点将缺包信息进行汇聚并逐级上报至主节点,且在逐级上报的过程中对缺包信息进行逐级更新,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
196.上述为本发明实施例提出的第一种节点升级装置的示意性方案。需要说明的是,该节点升级装置的技术方案与上述应用于代理节点的节点升级方法的技术方案属于同一构思,该节点升级装置的技术方案未详细描述的细节内容,均可以参见上述应用于代理节点的节点升级方法的技术方案的描述。
197.图8是根据本发明实施例提供的第二种节点升级装置的结构示意图,该节点升级装置应用于从节点,从节点没有子节点,该装置可以包括:
198.生成模块801,被配置为生成缺包信息,其中,缺包信息用于指示从节点的升级包缺失情况;
199.第二上报模块802,被配置为将缺包信息上报至父节点,以使父节点对各子节点上报的缺包信息进行更新,并将更新后的缺包信息逐级上报至主节点由主节点进行补包,其中,各子节点包括从节点;
200.第二升级模块803,被配置为响应于父节点下发的升级指令进行升级,其中,升级指令由父节点在确定各子节点均完成升级包接收的情况下下发。
201.根据本发明的一个实施例,生成模块801,进一步被配置为:
202.接收主节点全网广播的升级提醒信息,其中,升级提醒信息包括待下发的各升级包的第一标识;
203.接收主节点全网广播的多个升级包;
204.根据接收到的升级包的第二标识和待下发的各升级包的第一标识,生成缺包信息。
205.根据本发明的一个实施例,若缺包信息包括缺包报文,缺包报文用于指示从节点缺失的升级包,该装置还包括补充包接收模块,被配置为:
206.接收主节点进行全网广播补发的补充包;
207.在确定完成升级包接收的情况下,向父节点上报接收完成报文;
208.相应地,第二升级模块803,进一步被配置为:
209.响应于升级指令,基于接收到的升级包和补充包进行升级。
210.应用本发明实施例提供的节点升级方法,由代理节点将缺包信息进行汇聚并逐级上报至主节点,且在逐级上报的过程中对缺包信息进行逐级更新,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
211.上述为本发明实施例提出的第二种节点升级装置的示意性方案。需要说明的是,该节点升级装置的技术方案与上述应用于从节点的节点升级方法的技术方案属于同一构思,该节点升级装置的技术方案未详细描述的细节内容,均可以参见上述应用于从节点的节点升级方法的技术方案的描述。
212.图9是根据本发明实施例提供的第三种节点升级装置的结构示意图,该节点升级装置应用于主节点,该装置可以包括:
213.第二接收模块901,被配置为接收各子节点上报的缺包信息,其中,缺包信息用于指示除主节点之外其他节点的升级包缺失情况,且由代理节点逐级上报至主节点;
214.补发模块902,被配置为基于缺包信息进行全网广播补发补充包。
215.根据本发明的一个实施例,该装置还包括第三升级模块,被配置为:
216.在接收到各子节点上报的接收完成报文的情况下,向各子节点下发升级指令,以指示各子节点进行升级。
217.应用本发明实施例提供的节点升级方法,由代理节点将缺包信息进行汇聚并逐级上报至主节点,且在逐级上报的过程中对缺包信息进行逐级更新,减少了网络中的数据传输量,且主节点能够一次性获取到所有节点的缺包信息并基于此进行补包,提高了缺包信息上报和补包的效率,进而提高了节点升级效率。并且,代理节点在其所有子节点均完成升级包接收后指示子节点升级,能够实现逐级升级,且由于子节点的升级依赖于代理节点,所以在所有子节点均升级完成后对代理节点进行升级,能够避免代理节点的重启导致子节点升级失败,提高节点的升级成功率。另外,对于出现问题的节点,可以及时从网络中剔除,避免部分节点的问题对网络中其他节点的升级产生影响。
218.上述为本发明实施例提出的第三种节点升级装置的示意性方案。需要说明的是,该节点升级装置的技术方案与上述应用于主节点的节点升级方法的技术方案属于同一构思,该节点升级装置的技术方案未详细描述的细节内容,均可以参见上述应用于主节点的节点升级方法的技术方案的描述。
219.图10是根据本发明实施例提供的一种计算设备的结构示意图。该计算设备1000包括:存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序,所述处理器1002执行所述计算机程序时,实现如上述任一实施例提出的一种节点升级方法。
220.本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例提出的一种节点升级方法。
221.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram,random access memory),只读存储器(rom,read-only memory),可擦除可编辑只读存储器(eprom,erasable programmable read-only memory或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom,compact disk read only memory)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
222.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga,programmable gate array),现场可编程门阵列(fpga,field programmable gate array)等。
223.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
224.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
225.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
226.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。