一种拓扑网络的管理方法、设备、系统和存储介质与流程
未命名
08-15
阅读:108
评论:0
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.图1为本技术实施例提供的一种拓扑网络的结构示意图;
32.图2为本技术实施例提供的另一种拓扑网络的结构示意图;
33.图3为本技术实施例提供的一种hello报文的字段示意图;
34.图4为本技术实施例提供的一种建立邻居关系的流程示意图;
35.图5为本技术实施例提供的一种discovery报文的字段示意图;
36.图6为本技术实施例提供的一种节点设备的结构示意图;
37.图7为本技术实施例提供的一种拓扑网络的管理方法的交互示意图;
38.图8为本技术实施例提供的第一种判断拓扑收敛的示意图;
39.图9为本技术实施例提供的第二种判断拓扑收敛的示意图;
40.图10为本技术实施例提供的第三种判断拓扑收敛的示意图;
41.图11为本技术实施例提供的第四种判断拓扑收敛的示意图;
42.图12为本技术实施例提供的第五种判断拓扑收敛的示意图;
43.图13为本技术实施例提供的另一种拓扑网络的管理方法的交互示意图;
44.图14为本技术实施例提供的一种第三节点设备加入拓扑网络的示意图;
45.图15为本技术实施例提供的另一种第三节点设备加入拓扑网络的示意图;
46.图16为本技术实施例提供的一种第三节点设备离开拓扑网络的示意图;
47.图17为本技术实施例提供的另一种第三节点设备离开拓扑网络的示意图;
48.图18为本技术实施例提供的第一种更新拓扑网络的示意图;
49.图19为本技术实施例提供的第二种更新拓扑网络的示意图;
50.图20为本技术实施例提供的第三种更新拓扑网络的示意图;
51.图21为本技术实施例提供的一种拓扑网络的流程示意图;
52.图22为本技术实施例提供的一种拓扑网络的管理装置的结构示意图。
具体实施方式
53.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
54.在介绍本技术实施例之前,首先对本技术涉及的相关名词进行如下释义:
55.(1)、网络拓扑结构:网络拓扑结构是指用传输媒体互连各种设备的物理布局,就是用什么方式把网络中的计算机等设备连接起来。拓扑图给出网络服务器、工作站的网络配置和相互间的连接,它的结构主要有星型结构、环型结构、总线结构、分布式结构、树型结构、网状结构、蜂窝状结构等。
56.(2)、hello报文:用于发现直连链路上的邻居设备,建立邻居关系以及维护邻居关系。hello报文中携带着用于建立邻居关系中建立的各项参数,在邻居关系的建立过程中,这些参数会被检查,只有参数匹配,两者才能正确地建立邻居关系。
57.(3)、discovery(发现)报文:是一种类型消息,包含发送端的设备地址以及所保存的所有设备条目信息。
58.(4)、弗洛伊德(floyd)算法:又称为插点法,是一种利用动态规划的思想寻找任意两点之间的最短路径的算法,其优点在于该算法容易理解,可以算出任意两个节点之间的最短距离,且代码编写简单。
59.(4)、ack(acknowledge character,确认字符)报文:用于接收端回复发送端,从而确认接收端收到了报文。
60.(5)、restart报文:用于指示接收到的节点设备重新进行拓扑收集。
61.拓扑网络是指传输介质互联各个设备的物理布局,即在一个网络系统中各个设备之间的相互连接关系。在构建拓扑网络之前需要获取拓扑网络中的拓扑信息,并判断拓扑网络是否收敛,确保拓扑网络的准确性、一致性,从而方便后期的管理。现有技术中对于拓扑收敛机制的判断,可以实现当前设备获取到拓扑网络的拓扑信息,然而无法保证拓扑网络中的节点设备所获取到的拓扑网络中的拓扑信息是一致的,从而导致拓扑网络的不完整,对后期拓扑管理造成影响。
62.本技术实施例提供一种拓扑网络的管理方法、设备、系统和存储介质,该方案用于解决如何实现拓扑网络中的节点设备所获取到的拓扑网络中的拓扑信息一致,从而提高判断拓扑收敛的准确性的技术问题。
63.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
64.如图1所示,图1示出了本技术实施例提供的一种拓扑网络的结构示意图,该拓扑网络包括多个节点设备,比如节点设备1、节点设备2、节点设备3以及节点设备n。n为大于或等于3的整数。
65.其中,多个节点设备中任一个节点设备具有至少一个邻居设备。比如,如图2所示,节点设备1的邻居设备为节点设备2和节点设备3,节点设备2的邻居设备为节点设备1、节点设备3和节点设备4,节点设备3的邻居设备为节点设备5。
66.示例性的,多个节点设备中各个节点设备可以为交换设备。多个交换设备通过所组成的拓扑网络,任一交换设备可以用于将存储的数据发送给其他的交换设备,也可以接收来自其他交换设备的数据。可选的,节点设备也可以是服务器、终端控制器、路由器等。
67.示例性的,多个节点设备中至少具有一个节点设备可以作为拓扑网络的管理设备,相应的,除管理设备以外的其它设备可以作为拓扑网络的成员设备。管理设备具有管理其他成员设备的作用。比如,管理设备可以处理新加入拓扑网络的节点设备,或者有作为成员设备的节点设备离开拓扑网络,并且重新收集拓扑信息,并同步给拓扑网络中的其他成员设备,从而使拓扑网络中任一节点设备中所包含的拓扑信息是一致的。
68.作为一种示例,多个节点设备可以通过如下方式通过端口与直连的其他节点设备建立邻居关系。
69.示例性的,节点设备通过至少一个端口,采用线缆与至少一个邻居设备直连。比如,如图2所示,节点设备1具有至少两个端口,其中有一个端口与节点设备2连接,还有一个端口与节点设备3连接。
70.示例性的,在拓扑网络中的任一节点设备启动的情况下,节点设备1通过端口向节点设备2和节点设备3相互发送报文的方式进行探测,以建立邻居关系。示例性的,该报文可以为hello报文。
71.如图3所示,为一种hello报文的结构示意图,hello报文的字段内容包括:目的(destination,des)地址(address)、源(source)地址、类型(type)、数据内容和帧检验序列(frame check sequence,fcs)。其中,目的地址用于表示接收端(比如节点设备2)的目的地址。该目的地址可以是接收端的mac(media access control,媒体存取控制)地址。源地址用于表示发送端(比如节点设备1)的地址,该源地址可以是发送端的mac地址。类型为二层报文头以太网类型。帧检验序列用于确保报文发送给目标节点设备是数据正确。
72.数据内容包括:报文类型(pkt_type)、报文标志(flags)、发送端口号(tx)(比如节点设备1与节点设备2连接时所用的端口)和接收端口号(rx)(比如节点设备2与节点设备1连接时所用的端口)。其中,报文类型用于表示该报文的类型,比如该hello报文的报文类型为hello报文。报文标志用于确认接收端和发送端之间所发送的数据是否正常。
73.在本技术实施例中报文类型可以包括:discovery报文、ack报文、restart报文。
74.举例说明,节点设备1和节点设备2之间通过如下所述的方式建立邻居关系:如图4所示,初始状态下,节点设备1向节点设备2发送的第一hello报文。其中,第一hello报文中的报文标志为标志a。标志a用于表示初始状态。节点设备2在接收到节点设备1发送的第一hello报文的情况下,确定节点设备2能够接收到节点设备1所发送的数据/报文,并向节点设备1发送第二hello报文。其中,第二hello报文中的报文标志为标志b。标志b用于表示节点设备2可以接收到来自节点设备1的信息。节点设备1在接收到节点设备2发送的第二hello报文的情况下,确定节点设备1能够接收到节点设备2所发送的数据,并向节点设备2发送第三hello报文,其中,第三hello报文中的报文标志为标志c。标志c用于表示节点设备1发送的信息可以正常到达节点设备2。这样,节点设备2确定节点设备1能够发送信息。节点设备2在接收到节点设备1发送的第三hello报文的情况下,节点设备1和节点设备2建立邻居关系。此外,节点设备1为节点设备2建立初始设备条目。此外,节点设备1在与节点设备2建立邻居关系的情况下,节点设备1与节点设备2连接时所用的第一端口更新为标志d。相应的,节点设备2与节点设备1连接时所用的第二端口更新为标志d。标志d用于表示节点设备1和节点设备2已建立邻居关系。
75.示例性的,在实际应用场景中,上述标志a可以是init,标志b可以是rx_solved,标
志c可以是tx_solved,标志d可以是up。
76.作为一种示例,上述拓扑网络中,各个节点设备可以每隔预设时长t向其邻居设备发送第四hello报文。其中,第四hello报文中的报文标志为标志d。该第四hello报文用于与邻居设备维护邻居关系。节点设备在接收到邻居设备的第四hello报文的情况下,确定邻居设备在拓扑网络中正常运行。通过维护邻居关系的方式,节点设备可以确定邻居设备离开拓扑网络。
77.可选的,预设时长t可以是根据用户自定义设置的数值,也可以是由节点设备预配置的数值,本技术实施例对此不作限定。比如,该预设时长t的数值可以是200ms。
78.可选的,在任一节点设备向邻居设备发送预设次数(比如10次)的第四hello报文,且未收到邻居设备回复的第四hello报文的情况下,节点设备可以认为邻居设备离开拓扑网络,或者邻居设备处于非正常运行状态。
79.本技术实施例中任一节点设备具有如下功能中的任一个或多个:收集拓扑网络中所有节点设备的信息,判断拓扑网络是否收敛,处理拓扑变化以及进行选路。
80.比如,任一节点设备处理拓扑变化的具体实现可以参考下述实施例中的如图13中节点设备所执行的步骤。
81.比如,任一节点设备收集拓扑网络中所有节点设备的信息以及判断拓扑网络是否收敛的具体实现可以参考下述实施例中的如图7中节点设备所执行的步骤。
82.比如,任一节点设备进行选路的方式可以是:在拓扑收敛的情况下,任一节点设备确定拓扑网络中任意两个节点之间的最佳通信路径。示例性的,被选举为管理设备的节点设备可以确定拓扑网络中任意两个节点之间的最佳通信路径。示例性的,最佳通信路径可以是指两个节点设备之间路径最短的通信路径。可选的,最佳通信路径也可以指两个节点设备之间通信质量最佳的通信路径。
83.作为一种示例,第一节点设备可以采用比如floyd算法确定两个节点设备之间的最短通信路径。
84.比如,任一节点设备可以通过如下方式收集邻居设备的信息。
85.示例性的,各个节点设备通过与邻居设备连接时所用的端口,与邻居设备相互发送报文的方式来传递拓扑信息。该拓扑信息包括邻居设备或者各个节点设备中所存储的设备条目。示例性的,该报文可以是discovery报文。设备条目包括节点设备的设备基本信息。示例性的,该设备基本信息可以包括设备地址(比如mac地址)、选举信息、端口信息、拓扑选录信息等。可选的,该拓扑信息还包括该节点设备为邻居所建立的初始设备条目。
86.其中,discovery报文的字段内容包括:目的地址、源地址、类型、数据内容和帧检验序列。关于目的地址、源地址、类型和帧检验序列的解释可以参考上述hello报文,此处不再赘述。
87.数据内容包括:软件转发目的地址、报文类型、报文标志、条目数量、控制地址、条目内容。其中,软件转发目的地址用于实现单播的效果,便于管理设备向成员设备同步信息。比如,由于在拓扑收敛之前,拓扑信息不完整,discovery报文的发送方式为组播,即只能发送给邻居设备,通过软件转发目的地址,可以将discovery报文发送给拓扑网络中的任一节点设备。此处的报文类型为discovery报文。报文标志用于表示该discovery报文的作用,比如拓扑收集、身份标识分配、同步拓扑信息等。条目数量用于表示该节点设备所存储
的节点设备的设备条目的数量。比如,节点设备1在与节点设备2和节点设备3建立邻居关系的情况下,节点设备1所发送的discovery报文中设备条目数量为3。条目内容包含了该节点设备所存储的节点设备的设备条目。控制地址包含被选举为管理设备的设备地址(比如mac地址),用于识别节点设备处于拓扑网络中。
88.具体的,任一个设备条目的条目内容包括:条目标志、设备地址、设备身份标识、设备角色、设备信息、端口信息和拓扑选路信息等。
89.其中,条目标志用于标识设备状态,比如所存储的设备条目中是否包含有设备基本信息,或者该设备条目所指的节点设备是否收集到其他的节点设备的设备条目等。设备地址用于唯一标识设备,设备地址可以是mac地址。设备身份标识用于在拓扑网络中唯一标识设备,便于后续管理设备的管理。设备角色,分为管理设备和成员设备两种。端口信息,包含与邻居设备的连接关系,比如在节点设备1与节点设备2建立邻居关系的情况下,节点设备1中与节点设备2连接所用的端口的标志更新为标志d。拓扑选路信息包含拓扑网络中的拓扑路径。
90.需要解释的是,discovery报文中包含有节点设备中所存储的设备条目。比如,如图2所示的拓扑网络中包含有节点设备1~节点设备5。节点设备1在第一次向节点设备2或节点设备3发送的discovery报文中设备条目包含有:节点设备1的设备条目,节点设备2的设备条目和节点设备3的设备条目。节点设备2在第一次向节点设备1发送的discovery报文中设备条目包含有:节点设备2的设备条目和节点设备4的设备条目。节点设备3在第一次向节点设备1发送的discovery报文中设备条目包含有:节点设备3的设备条目和节点设备5的设备条目。节点设备1在第一次接收到节点设备2和节点设备3的discovery报文后,将节点设备4和节点设备5的设备条目存储起来。之后,节点设备1向节点设备2或节点设备3发送的discovery报文中设备条目包含有:节点设备1的设备条目~节点设备5的设备条目。
91.作为一种示例,多个节点设备可以通过满足如下方式选择一个节点设备作为管理设备。
92.需要解释的是,管理设备用于管理拓扑网络中的其他节点设备,比如管理设备可以向拓扑网络中任一节点设备发送数据,管理设备也可以处理新加入拓扑网络的节点设备的加入拓扑网络或者其他节点设备离开拓扑网络。
93.示例性的,管理设备可以满足第一预设条件,第一预设条件包括以下任意一项或多项:
94.第一,用户指定的设备。
95.示例性的,在拓扑网络中,可以通过用户手动设置多个节点设备中的任一节点设备为管理设备。比如,在拓扑网络中包括节点设备1、节点设备2和节点设备3的情况下,节点设备1~节点设备3响应于用户的设置操作,确定节点设备1为管理设备。
96.第二,在所述拓扑网络中运行时间最长的设备。
97.需要解释的是,拓扑网络中各节点设备的启动时间可能是不一样的。比如节点设备1先于节点设备2和节点设备3启动的情况下,节点设备1为运行时间最长的设备。
98.第三,设备地址符合要求的节点设备。
99.示例性的,设备地址可以是mac地址。以mac地址为例,如表1所示的各节点设备的设备地址示意表:
100.表1各节点设备的设备地址示意表
101.节点设备mac地址节点设备100-00-00-00-00-01节点设备200-00-00-00-00-02节点设备300-00-00-00-00-03节点设备400-00-00-00-00-04
102.示例性的,设备地址符合要求可以指mac地址最小的,也可以指mac地址最大的。比如,根据表1所示,在mac地址最小的为管理设备的情况下,节点设备1为管理设备。
103.第四,在所述拓扑网络中优先级符合要求的节点设备。
104.示例性的,各节点设备配置有优先级。优先级可以通过数字来表示,比如优先级的范围可以是0~255。比如,节点设备1的优先级为0,节点设备2的优先级为10,节点设备3的优先级为15。符合要求的优先级可以是优先级的数值最小的,比如节点设备1。可选的,符合要求的优先级也可以是优先级的数值最大的。
105.作为一种示例,如图6所示,本技术实施例中的节点设备可以包括:处理器401、通信线路402、至少一个通信接口(图6中示例性的以通信接口403为例进行说明)、拓扑管理模块404。
106.处理器401可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit asic),或一个或多个用于控制本技术方案程序执行的集成电路。
107.通信线路402可包括一通路,在上述组件之间传送信息。
108.通信接口403,用于与其他装置进行信息交互,例如使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
109.可选的,该通信设备还可以包括存储器405。
110.存储器405可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact discread-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器405可以是独立存在,通过通信线路402与处理器401相连接。存储器405也可以和处理器401集成在一起。
111.其中,存储器405用于存储执行本技术方案的计算机执行指令,并由处理器401来控制执行。处理器401用于执行存储器405中存储的计算机执行指令,从而实现本技术下述实施例提供的一种拓扑网络的管理方法。
112.可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
113.在具体实现中,作为一种实施例,路由器可以包括多个处理器,例如图6中的处理
器401和处理器406。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
114.可选的,节点设备还可以包括:链路处理模块407、设备管理模块408、转发模块409等。
115.示例性的,拓扑管理模块用于获取拓扑网络中其他节点设备的信息、节点设备之间的连接关系、感知拓扑网络中的拓扑变化、确定拓扑路径等作用。
116.示例性的,链路处理模块用于处理、维护节点设备之间的链路状态。设备管理模块用于确定节点设备的设备基本信息等。转发模块用于转发将在两个节点设备之间转发数据包。
117.在本技术实施例中,一种拓扑网络的管理方法的执行主体的具体结构,本技术实施例并未特别限定,只要可以通过运行记录有本技术实施例的一种拓扑网络的管理方法的代码的程序,以根据本技术实施例的一种拓扑网络的管理方法进行通信即可。例如,本技术实施例提供的一种拓扑网络的管理方法的执行主体可以是节点设备中能够调用程序并执行程序的功能模块,或者为应用于节点设备中的拓扑管理的装置,例如,芯片。本技术对此不进行限定。
118.下述实施例以一种为拓扑网络的管理方法的执行主体为第一节点设备和第二节点设备为例进行描述。
119.如图7所示,图7示出了本技术实施例提供的一种拓扑网络的管理方法的流程示意图。多个节点设备包括第一节点设备,第一节点设备中具有第一节点设备的设备条目,该方法包括:
120.步骤510、第一节点设备获取多个节点设备中其他节点设备的设备条目。
121.需要解释的是,第一节点设备可以是拓扑网络中的任一节点设备。即本技术实施例中所述的方法适用于拓扑网络中的任一节点设备。
122.作为一种示例,第一节点设备可以通过一次或多次与第一节点设备的各个邻居设备交互,得到拓扑网络中其他节点设备的设备条目。其中,其他节点设备可以包括第一节点设备的邻居设备,以及第一节点设备的邻居设备的邻居设备等。
123.比如,如图8~图9所示,以节点设备1为第一节点设备为例,则节点设备2和节点设备3为节点设备1的邻居设备。如图8所示,第一节点设备通过与节点设备2和节点设备3的交互,获取到节点设备2和节点设备3的设备条目;然后,如图9所示,节点设备1通过与节点设备2和节点设备3的第二次交互,获取到节点设备2的邻居设备节点设备4的设备条目,以及节点设备3的邻居设备节点设备5的设备条目。
124.步骤520、在获取到每一节点设备的设备条目的条目标志为第一标识的情况下,第一节点设备将第一节点设备的设备条目的条目标志从第一标识更新为第二标识。
125.其中,第一标识用于表示第一节点设备获取到节点设备的信息。
126.比如,如图8~9所示,第一标识可以用标识a来表示。比如,如图8所示,节点设备1中由于本身存储有节点设备1的信息,因此节点设备1中所存储的节点设备1的设备条目的条目标志为标识a。再比如,如图9所示,节点设备1在获取到节点设备2和节点设备3的信息的情况下,将节点设备2和节点设备3的条目标志更新为标识a。需要解释的是,标识c用于表
示该节点设备的设备条目中不包含有节点设备的信息。
127.其中,第二标识表示第一节点设备获取到拓扑网络中全部节点设备的设备条目。
128.比如,如图10所示,节点设备1中存储有节点设备1~节点设备6的设备条目,且节点设备1~节点设备6的设备条目中条目标志为标识a,则表示节点设备1获取到拓扑网络中全部节点设备的设备条目,则将节点设备1中条目标志更新为标识b。
129.步骤530、第一节点设备在第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,确定拓扑网络收敛。
130.比如,如图12所示,节点设备1中所存储的节点设备1~节点设备6的设备条目的条目标志为标识b,则节点设备1认为所有节点设备都已获取到拓扑网络中全部节点设备的信息,从而确定拓扑网络收敛。当然,除了节点设备1以外,节点设备2~节点设备6中所存储的节点设备1~节点设备6的设备条目的条目标志为标识b,则节点设备2~节点设备6确定拓扑网络收敛。这样可以保证拓扑网络中任一节点设备所存储的拓扑信息是一致的。
131.本技术实施例提供一种拓扑网络的管理方法,通过获取多个节点设备中其他节点设备的设备条目,在获取到每一节点设备的设备条目的条目标志为第一标识的情况下,将第一节点设备的设备条目的条目标志从第一标识更新为第二标识,这样用于表示第一节点设备获取到了拓扑网络中全部节点设备的信息;在第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,第一节点设备可以认为拓扑网络中每一个节点设备都获取到了拓扑网络中全部节点设备的信息;之后,第一节点设备确定拓扑网络收敛,这样可以实现拓扑网络中的节点设备所获取到的拓扑网络中的拓扑信息一致,从而提高判断拓扑收敛的准确性的技术问题。
132.在本技术的一种可能的实施例中,多个节点设备还包括第二节点设备,本技术实施例所提供的方法还包括:第一节点设备探测到第二节点设备为第一节点设备的邻居设备,则第一节点设备在第一节点设备中为第二节点设备创建设备条目。
133.其中,设备条目的条目标志为空标识。
134.作为一种示例,如图8所示,以空标识为标识c为例,节点设备1探测到节点设备2和节点设备3为节点设备1的邻居设备,则节点设备1在节点设备1中为节点设备2和节点设备3创建设备条目,且该设备条目的条目标志为标识c。
135.在本技术的一种可能的实施例中,第一节点设备探测到第二节点设备为第一节点设备的邻居设备,则第一节点设备在第一节点设备中为第二节点设备创建设备条目,包括以下步骤:第一节点设备向第二节点设备发送第一报文。第一节点设备接收到第二节点设备反馈的第二报文。第一节点设备在第一节点设备中为第二节点设备创建设备条目。
136.其中,第一报文中的第一报文标志用于指示第一报文用于进行拓扑信息收集。
137.示例性的,如图4所示,第一报文可以是第一hello报文。第一报文标志可以为标志a。
138.其中,第二报文的第二报文标志用于指示所述第二节点设备成功接收到第一报文。
139.示例性的,如图4所示,第二报文可以是第二hello报文。第二报文标志可以为标志b。
140.作为一种可能实现的方式,第一节点设备在第一节点设备中为第二节点设备创建
设备条目之后,本技术实施例所提供的方法还包括:第一节点设备向第二节点设备发送第三次报文。
141.示例性的,第三次报文的第三次报文的报文标志用于指示第一节点设备成功接收到第二报文。
142.示例性的,如图4所示,第三次报文可以是第三hello报文。第三次报文的报文标志可以为标志c。
143.关于第一节点设备探测第二节点设备为第一节点设备的邻居设备,并与第二节点设备建立邻居关系的方法可以参考上述实施例中描述hello报文的部分,此处不再赘述。
144.在本技术的一种可能的实施例中,第一节点设备与拓扑网络中的第二节点设备建立邻居关系的情况下,上述步骤510包括:
145.步骤511、第一节点设备接收来自第二节点设备的第三报文。
146.其中,第三报文中包括一个或多个节点设备的设备条目,一个或多个节点设备的设备条目包括第二节点设备的设备条目和/或至少一个第二节点设备的邻居设备的设备条目。
147.示例性的,第三报文可以是discovery报文。可以理解的是,第一节点设备可以接收到第二节点设备的设备条目,也可以接收到第二节点设备的设备条目和至少一个第二节点设备的邻居设备的设备条目。
148.比如,如图8所示,以节点设备1为第一节点设备为例,则节点设备2和节点设备3为第二节点设备。节点设备1接收到来自节点设备2和节点设备3的设备条目。然后,如图9所示,节点设备1可以接收到来自节点设备2的第三报文a,第三报文a中包含有节点设备2和节点设备4的设备条目;节点设备1也可以接收到来自节点设备3的第三报文b,第三报文b中包含有节点设备3、节点设备5和节点设备6的设备条目。其中,节点设备5为节点设备3的邻居设备,节点设备6为节点设备5的邻居设备。
149.步骤512、在第一节点设备中不包括一个或多个节点设备中任一节点设备的设备条目,则第一节点设备创建任一节点设备的设备条目。
150.作为一种示例,如图8~图9所示,图8中的节点设备1不包括节点设备4~节点设备6的设备条目,则在图9中,节点设备1在接收到来自节点设备2和节点设备3的第三报文的情况下,节点设备1创建节点设备4~节点设备6的设备条目。
151.步骤513、在第一节点设备中记录的任一个节点设备的条目标志与第二节点设备反馈的任一个节点设备的条目标志不同,第一节点设备更新任一个节点设备的设备条目的条目标志,更新后所任一个节点设备的设备条目的条目标志为第一标识或第二标识。
152.作为一种示例,如图8所示,节点设备1中存储有节点设备2和节点设备3的设备条目,且节点设备2和节点设备3的条目标志为标识c。如图9所示,节点设备1接收到节点设备2所反馈的节点设备2的条目标志为标识a,则节点设备1更新节点设备2的设备条目的条目标志为标识a。相应的,节点设备1接收到节点设备3所反馈的节点设备3的条目标志为标识a,则节点设备1更新节点设备3的设备条目的条目标志为标识a。
153.作为另一种示例,如图10所示,节点设备1中存储有节点设备2~节点设备6的设备条目,且节点设备2~节点设备5的条目标志为标识a。如图10所示,节点设备1接收到节点设备2所反馈的节点设备2的条目标志为标识b,则节点设备1更新节点设备2的设备条目的条
目标志为标识b。相应的,节点设备1更新节点设备3~节点设备5的设备条目的条目标志为标识b。
154.在本技术的一种可能的实施例中,第一节点设备与拓扑网络中的第二节点设备建立邻居关系的情况下,本技术实施例所提供的方法还包括:
155.第一节点设备向第二节点设备发送第四报文。
156.其中,第四报文包括一个或多个节点设备的设备条目,一个或多个节点设备的设备条目包括第一节点设备的设备条目和/或第一节点设备的至少一个邻居设备的设备条目。第一节点设备的设备条目的条目标志为第一标识或第二标识,第一节点设备的至少一个邻居设备的设备条目的条目标志为空标识或第一标识。
157.可以理解的是,在第一节点设备获取第二节点设备发送的第三报文的情况下,第一节点设备也会向第二节点设备发送第四报文。
158.示例性的,第四报文可以是discovery报文。
159.作为一种示例,如图8~图9所示的过程,以节点设备1为第一节点设备,节点设备2为第二节点设备为例。节点设备1向节点设备2发送第四报文a,第四报文中包含有节点设备1的设备条目和节点设备3的设备条目,其中,节点设备1的设备条目的条目标志为标识a,节点设备3的设备条目的条目标志为标识c。则节点设备2在接收到第四报文a的情况下,在节点设备2中存储节点设备1的具有标识a的条目标志,和节点设备3的具有标识c的条目标志。
160.作为另一种示例,如图10~图11所示的过程,以节点设备1为第一节点设备,节点设备2为第二节点设备为例。节点设备1向节点设备2发送第四报文b,第四报文中包含有节点设备1、节点设备3、节点设备5和节点设备6的设备条目,其中,节点设备1的设备条目的条目标志为标识b,节点设备3、节点设备5和节点设备6的设备条目为标识a。则节点设备2在接收到第四报文b的情况下,在节点设备2中存储节点设备1的具有标识b的条目标志。由于节点设备3、节点设备5和节点设备6的设备条目和第四报文b中所反馈的节点设备3、节点设备5和节点设备6的设备条目一致,因此不作更新。
161.在本技术的一种可能的实施例中,第一节点设备确定拓扑网络收敛之后,本技术实施例所提供的方法还包括:
162.在拓扑网络中存在有第三节点设备加入拓扑网络,或者,有第四节点设备离开拓扑网络的情况下,第一节点设备确定更新后的拓扑网络的拓扑信息,拓扑信息包括更新后的拓扑网络中各个节点设备的设备条目;
163.第一节点设备根据更新后的拓扑网络的拓扑信息,重新确定拓扑网络是否收敛。
164.作为一种示例,如图18所示,以节点设备5为第三节点设备为例。在节点设备5加入拓扑网络的情况下,节点设备1确定更新后的拓扑网络的拓扑信息,更新后的拓扑网络的拓扑信息包括:节点设备1~节点设备5。然后,节点设备1将更新后的拓扑网络的拓扑信息发送给节点设备2~节点设备5。根据更新后的拓扑网络的拓扑信息,节点设备1重新确定拓扑网络是否收敛。比如,节点设备1确定节点设备2~节点设备5是否获取到更新后的拓扑网络的拓扑信息。在确定节点设备2~节点设备5获取到更新后的拓扑网络的拓扑信息的情况下,节点设备1确定拓扑网络收敛。
165.作为另一种示例,如图19所示,以节点设备5为第四节点设备为例。在节点设备5离开拓扑网络的情况下,节点设备1确定更新后的拓扑网络的拓扑信息,更新后的拓扑网络的
拓扑信息包括:节点设备1~节点设备4。然后,节点设备1将更新后的拓扑网络的拓扑信息发送给节点设备2~节点设备4。根据更新后的拓扑网络的拓扑信息,节点设备1重新确定拓扑网络是否收敛。比如,节点设备1确定节点设备2~节点设备4是否获取到更新后的拓扑网络的拓扑信息。在确定节点设备2~节点设备4获取到更新后的拓扑网络的拓扑信息的情况下,节点设备1确定拓扑网络收敛。
166.在本技术的一种可能的实施例中,在第一节点设备中存储的所有节点设备的设备条目的条目标志中存在至少一个节点设备的设备条目的条目标志不是第二标识,第一节点设备确定拓扑网络未收敛。
167.可以理解的是,第一节点设备如何重新确定拓扑网络是否收敛的方法,可以根据第一节点设备中存储的所有节点设备的设备条目的条目标志是否为第二标识。
168.示例性的,如图11所示,以节点设备1为第一节点设备为例。节点设备1中存储有节点设备1~节点设备6的设备条目,其中,节点设备1~节点设备5的设备条目的条目标志为标识b,节点设备6的条目标志为标识a。则节点设备1确定拓扑网络未收敛。直到如图12所示,节点设备1中所存储的节点设备1~节点设备6的设备条目的条目标志为标识b,则节点设备1确定拓扑网络收敛。
169.在本技术的一种可能的实施例中,在拓扑网络未收敛的情况下,第一节点设备向第一节点设备的邻居设备发送第五报文,第五报文包括所述第一节点设备中当前所存储的设备条目。
170.示例性的,在图11中,节点设备1确定拓扑网络未收敛的情况下,节点设备1向第一节点设备的邻居设备节点设备2和节点设备3发送第五报文,直到节点设备1确定拓扑网络收敛。
171.关于在拓扑收敛的情况下,拓扑网络中的节点设备如何对拓扑网络进行维护方式本技术实施例对此不做限定。
172.由于拓扑网络在达到收敛条件的情况下,需要在拓扑网络发生变化时,比如节点设备加入拓扑网络或者节点设备离开网络时,需要及时感知拓扑网络的变化并及时更新拓扑网络。为了解决上述问题,如图13所示,图13示出了本技术提供了一种拓扑网络的管理方法的交互示意图。其中,拓扑网络包括多个节点设备,在拓扑网络收敛的情况下,该方法包括:
173.需要解释的是,在拓扑网络收敛的情况下,拓扑网络中的多个节点设备所存储的拓扑网络的拓扑信息相同。换句话说,在拓扑网络没有收敛的情况下,拓扑网络中的多个节点设备所存储的拓扑网络的拓扑信息可能是不同的。在拓扑网络收敛的情况下执行本技术实施例,这样可以保证拓扑网络的管理时不会因节点设备之间的拓扑信息不稳定而受到影响,从而保证拓扑网络的稳定。
174.步骤610、第三节点设备加入拓扑网络或者离开拓扑网络。
175.其中,第三节点设备在拓扑网络中为第二节点设备的邻居设备,或者,第三节点设备在拓扑网络中为第一节点设备的邻居设备。
176.举例说明,如图2所示,第一节点设备为节点设备1、第二节点设备为节点设备2时,第三节点设备可以是第二节点设备的邻居设备,比如节点设备4;第三节点设备也可以是第一节点设备的邻居设备,比如节点设备3。
177.需要解释的是,第二节点设备可以是第一节点设备的邻居设备,也可以不是第一节点设备的邻居设备。比如,如图2所示,第一节点设备为节点设备1的情况下,第二节点设备可以是节点设备2,也可以是节点设备4。
178.需要解释的是,第三节点设备在接入拓扑网络时,需要与拓扑网络中的任一节点设备建立邻居关系。需要解释的是,第三节点设备与拓扑网络中的邻居设备不具有邻居关系的情况下,离开拓扑网络时,其中,第三节点设备可以是以继续正常运行的状态离开拓扑网络,也可以是第三节点设备关闭运行状态,从而离开拓扑网络。
179.步骤620、第一节点设备确定第三节点设备加入拓扑网络或者离开拓扑网络。
180.比如,第一节点设备可以是拓扑网络中的管理设备,或者,第一节点设备也可以是拓扑网络中的任一节点设备。
181.作为一种示例,如图14和图16所示,在第三节点设备为第二节点设备的邻居设备,即第三节点设备和第一节点设备不具有邻居关系的情况下,第一节点设备需要通过第二节点设备,确定第三节点设备加入拓扑网络或者离开拓扑网络。
182.示例性的,如图14所示,在第三节点设备加入拓扑网络的情况下,第二节点设备与第三节点设备建立邻居关系。比如,第二节点设备与第三节点设备通过hello报文建立邻居关系。然后,第二节点设备获取第三节点设备的信息(比如设备地址、设备基本信息等)。比如,第二节点设备通过discovery报文获取第三节点设备的信息。然后第二节点设备通过比如discovery报文,将第三节点设备的信息发送给第一节点设备。第一节点设备确定第三节点设备加入拓扑网络。
183.比如,如图16所示,在第三节点设备离开拓扑网络的情况下,第三节点设备与第二节点设备不具有邻居关系。第二节点设备在感应到与第三节点设备不具有邻居关系的情况下(比如通过hello报文感应),向第一节点设备发送第三节点设备离开拓扑网络的信息。第一节点设备确定第三节点设备离开拓扑网络。
184.作为另一种示例,如图15和图17所示,在第三节点设备为第一节点设备的邻居设备的情况下,第一节点设备可以直接确定第三节点设备加入拓扑网络或者离开拓扑网络。
185.步骤630、第一节点设备确定更新后的拓扑网络的拓扑信息。
186.比如,更新后的拓扑网络的拓扑信息包括更新后的拓扑网络中各个节点设备的信息。比如设备条目。可选的,更新后的拓扑网络的拓扑信息还包括各个节点设备之间的拓扑关系,比如连接关系等。
187.其中,更新后的拓扑网络的拓扑信息包括更新后的拓扑网络中各个节点设备的信息。相应的,更新后的拓扑网络包括第三节点设备或不包括第三节点设备。
188.作为一种示例,如图18所示,拓扑网络中包括节点设备1~节点设备5,以节点设备1为第一节点设备,节点设备5为第三节点设备为例:在节点设备5加入拓扑网络之前,节点设备1中所存储的拓扑网络包括节点设备1~节点设备4。在节点设备5加入拓扑网络后,节点设备1确定更新后的拓扑网络包括节点设备1~节点设备5。
189.作为另一种示例,如图19所示,拓扑网络中包括节点设备1~节点设备5,以节点设备1为第一节点设备,节点设备5为第三节点设备为例:在节点设备5离开拓扑网络之前,节点设备1中所存储的拓扑网络包括节点设备1~节点设备5。在节点设备5离开拓扑网络之后,节点设备1确定更新后的拓扑网络包括节点设备1~节点设备4。
190.步骤640、第一节点设备向更新后的拓扑网络中的其他节点设备发送第六报文。相应的,第二节点设备接收来自第一节点设备的更新后的拓扑网络的拓扑信息。第三节点设备接收第一节点设备发送的更新后的拓扑网络的拓扑信息。
191.其中,第六报文包括更新后的拓扑网络的拓扑信息。比如,第六报文为上文discovery报文。比如更新后的拓扑网络的拓扑信息即上述discovery报文中的数据字段填充的内容。
192.比如说,第三节点设备为新加入拓扑网络的节点设备的情况下,其他节点设备除了包括拓扑网络中除第一节点设备外的其他节点设备,还包括第三节点设备。在第三节点设备离开拓扑网络的节点设备的情况下,其他节点设备除了包括拓扑网络中除第一节点设备以及第三节点设备外的其他节点设备。
193.作为一种示例,如图18所示,在第一节点设备确定更新后的拓扑网络之后,更新后的拓扑网络包括节点设备1~节点设备5。第一节点设备分别向节点设备2~节点设备5发送第六报文,第六报文中包含有节点设备1的设备条目~节点设备5的设备条目。相应的,节点设备2~节点设备5在接收到第六报文后,分别更新各自设备中所存储的拓扑网络,节点设备2~节点设备5中存储的更新后的拓扑网络包括节点设备1~节点设备5。
194.作为另一种示例,如图19所示,在第一节点设备确定更新后的拓扑网络之后,更新后的拓扑网络包括节点设备1~节点设备4。第一节点设备分别向节点设备2~节点设备4发送第六报文,第六报文中包含有节点设备1的设备条目~节点设备4的设备条目。相应的,节点设备2~节点设备4在接收到第六报文后,分别更新各自设备中所存储的拓扑网络,节点设备2~节点设备4中存储的更新后的拓扑网络包括节点设备1~节点设备4。
195.示例性的,第一节点设备向更新后的拓扑网络中的其他节点设备发送第六报文的方式可以是通过广播的方式,组播的方式,也可以是通过单播的方式。
196.本技术实施例提供一种拓扑网络的管理方法,在拓扑网络收敛的情况下,第一节点设备确定第三节点设备加入拓扑网络或者离开拓扑网络,第三节点设备在拓扑网络中为第二节点设备或者第一节点设备的邻居设备;由于通过第一节点设备确定更新后的拓扑网络中各个节点设备的信息,更新后的拓扑网络包括第三节点设备或不包括第三节点设备,这样无论第三节点设备是否为第一节点设备的邻居设备,通过第一节点设备就可以及时感知到第三节点设备加入拓扑网络还是离开拓扑网络;第一节点设备向更新后的拓扑网络中的其他节点设备发送第六报文,第六报文包括更新后的拓扑网络的拓扑信息,通过这样的方式,其他节点设备可以及时更新自身设备所存储的拓扑信息,从而解决了在节点设备加入或离开拓扑网络时,能够及时感知拓扑网络的变化并及时更新拓扑网络的技术问题。
197.在本技术的一种可能的实施例中,第三节点设备在拓扑网络中为第二节点设备的邻居设备,则上述步骤620包括以下步骤:
198.步骤6211、第二节点设备感知到第三节点设备加入或离开拓扑网络。
199.步骤6212、第二节点设备向拓扑网络中的第一节点设备发送第七报文。相应的,第一节点设备接收第二节点设备的第七报文。
200.其中,第七报文用于第一节点设备确定第三节点设备加入拓扑网络或者离开拓扑网络。示例性的,第七报文可以是discovery报文。
201.通过步骤6211~步骤6212,无论第三节点设备是否为第一节点设备的邻居设备,
通过这样的方式,第一节点设备都可以及时感知到第三节点设备加入拓扑网络还是离开拓扑网络。
202.作为一种示例,在第二节点设备感知第三节点设备加入拓扑网络的情况下,第二节点设备向第一节点设备发送第七报文。比如,第七报文包括第一指示字段,该第一指示字段用于指示第三节点设备加入拓扑网络。
203.该第七报文还包含有第三节点设备的设备条目。这样便于第一节点设备根据第三节点设备的设备条目确定第三节点设备加入拓扑网络。比如第一节点设备接收到第三节点设备的设备条目后确定第一节点设备不具有第三节点设备的设备条目,则确定第三节点设备加入拓扑网络。可选的,第一节点设备还可以在第一节点设备的信息库中增加第三节点设备的设备条目。
204.可选的,第一指示字段为第三节点设备的设备条目。
205.该第七报文可以包含有拓扑网络中除第三节点设备外的其它节点设备的设备条目。可选的,该第七报文也可以不包含除第三节点设备外的其它节点设备的设备条目。
206.作为另一种示例,在第二节点设备感知第三节点设备离开拓扑网络的情况下,第二节点设备向第一节点设备发送第七报文。比如,第七报文包括第二指示字段,该第二指示字段用于指示第三节点设备离开拓扑网络。
207.比如说,假设第二节点设备之前将第二节点设备以及第二节点设备的所有邻居设备的设备条目发送给第一节点设备的情况下,第二节点设备在通知第一节点设备第三节点设备离开拓扑网络时,可以向第一节点设备发送不包含有第三节点设备的设备条目的第七报文。
208.可选的,在第二节点设备感知第三节点设备离开拓扑网络的情况下,第二节点设备向第一节点设备发送第七报文中也可以指示第三节点设备离开拓扑网络。第一节点设备在接收到该第七报文的情况下,确定第三节点设备离开拓扑网络,然后在第一节点设备所存储的拓扑网络中删除第三节点设备的设备信息。
209.步骤6213、第一节点设备根据第七报文确定第三节点设备加入拓扑网络或者离开拓扑网络。
210.在本技术的一种可能的实施例中,第三节点设备在拓扑网络中为第一节点设备的邻居设备,则上述步骤520包括以下步骤:
211.步骤6221、第三节点设备在加入拓扑网络的情况下,第三节点设备向第一节点设备发送第八报文。相应的,第一节点设备根据接收到的来自第三节点设备的第八报文,确定第三节点设备加入拓扑网络。
212.其中,第八报文用于第一节点设备确定第三节点设备加入拓扑网络。示例性的,第八报文可以是discovery报文。
213.作为一种示例,在第三节点设备加入拓扑网络的情况下,第一节点设备接收来自第三节点设备的第八报文,第八报文中包含有第三节点设备的设备条目。
214.步骤6222、在第一节点设备在第一预设时间内未接收到来自第三节点设备的第九报文的情况下,第一节点设备确定第三节点设备离开拓扑网络。
215.其中,第九报文可以是hello报文。可以理解的是,第九报文用于第一节点设备维护与第三节点设备的邻居关系。
216.可以理解的是,在第一节点设备等待接收来自第三节点设备的第九报文之前,第一节点设备向第三节点设备发送第九报文。因此,第一节点设备在与第三节点设备建立邻居关系后,需要每隔预设时长向第三节点设备发送第九报文,以确定第三节点设备是否离开拓扑网络。
217.示例性的,第一预设时间可以是根据用户自定义设置的数值,也可以是由节点设备预配置的数值,本技术实施例对此不作限定。比如,第一预设时长可以为2s。比如,在第一节点设备在2s内未接收到来自第三节点设备的第九报文的情况下,第一节点设备确定第三节点设备离开拓扑网络。
218.可选的,在第一节点设备在第一预设时间内未接收到来自第三节点设备的第九报文的情况下,第三节点设备也可以是处于非正常运行状态。比如,第三节点设备发生故障,无法接收来自第一节点设备发送的第九报文。
219.作为一种可能实现的方式,在第一节点设备在第一预设时间内接收到来自第三节点设备的第九报文的情况下,第一节点设备确定第三节点设备在拓扑网络中。
220.在本技术的一种可能的实施例中,第三节点设备离开拓扑网络的情况下,则上述步骤630包括以下步骤:
221.第一节点设备从拓扑网络的拓扑信息中删除第三节点设备的信息以及与第三节点设备连接的其他节点设备的信息,以得到更新后的拓扑网络的拓扑信息。
222.作为一种示例,如图19所示,在节点设备5离开拓扑网络之后,节点设备1从拓扑网络的拓扑信息中删除节点设备5的信息,更新后的拓扑网络包括节点设备1~节点设备4,相应的,更新后的拓扑网络的拓扑信息包括节点设备1的信息~节点设备4的信息。
223.作为另一种示例,如图20所示,拓扑网络中包括节点设备1~节点设备6,以节点设备1为第一节点设备,节点设备5为第三节点设备为例:在节点设备5离开拓扑网络之后,节点设备1从拓扑网络的拓扑信息中删除节点设备5和节点设备6的信息,更新后的拓扑网络包括节点设备1~节点设备4,相应的,更新后的拓扑网络的拓扑信息包括节点设备1的信息~节点设备4的信息。
224.在本技术的一种可能的实施例中,第三节点设备加入拓扑网络的情况下,本技术实施例所提供的方法还包括:第一节点设备为第三节点设备分配第一身份标识。
225.其中,第一身份标识用于第一节点设备管理各第三节点设备。示例性的,第一身份标识可以是id(identity document)。用户通过查看第一身份标识,可以识别拓扑网络中的任一节点设备。
226.在本技术的一种可能的实施例中,第一节点设备为拓扑网络中的管理设备,管理设备满足第一预设条件,其中,第一预设条件包括以下任意一项或多项:用户指定的设备。在所述拓扑网络中运行时间最长的设备。设备地址符合要求的设备。在所述拓扑网络中优先级符合要求的节点设备。
227.关于第一预设条件可以参考上述实施例,此处不再赘述。
228.在本技术的一种可能的实施例中,第一节点设备为在拓扑网络满足收敛条件下所确定的管理设备。
229.作为一种示例,由于拓扑网络满足收敛条件,拓扑网络中任一节点设备中所存储的拓扑信息是一致的。因此,第一节点设备可以在拓扑网络满足收敛条件下,方便管理其他
节点设备。
230.可以理解的是,在第一节点设备为管理设备的情况下,拓扑网络中的其他节点设备为成员设备,成员设备为设备管理所管理的节点设备。比如,管理设备可以与任一成员设备通信;管理设备可以感知拓扑网络是否发生变化(比如节点设备加入拓扑网络或者离开拓扑网络)。当然,新加入的节点设备也作为成员设备被管理设备所管理。由于在拓扑网络发生变化的情况下,管理设备能够感应到变化,并将更新后的拓扑网络发送给其他节点设备,而不需要拓扑网络中每个节点设备来感应,这样可以减少对拓扑网络的震荡。此外,由于管理设备将更新后的拓扑网络发送给其他节点设备,这样可以减少报文的交互次数,且其他节点设备存储的为管理设备所更新的拓扑网络的拓扑信息,这样可以保证拓扑网络中任一节点设备所存储的拓扑信息是一致的。
231.在本技术的一种可能的实施例中,第一节点设备根据更新后的拓扑网络的拓扑信息确定拓扑路径。
232.其中,拓扑路径用于反映更新后的拓扑网络中任意两个节点设备之间的最佳通信路径。
233.示例性的,最佳通信路径可以是指两个节点设备之间路径最短的通信路径。可选的,最佳通信路径也可以指两个节点设备之间通信质量最佳的通信路径。
234.作为一种示例,第一节点设备可以根据更新后的拓扑网络的拓扑信息,采用比如floyd算法确定两个节点设备之间的最短通信路径。
235.在本技术的一种可能的实施例中,第一节点设备根据更新后的拓扑网络的拓扑信息确定拓扑路径之后,本技术实施例所提供的方法还包括:第一节点设备将拓扑路径发送给拓扑网络中的其他节点设备。相应的,其他节点设备(比如第二节点设备和第三节点设备)接收来自第一节点设备发送的拓扑路径。
236.当然,本技术实施例中其他节点设备也可以自行根据第一节点设备(即管理设备)提供的更新后的拓扑网络的拓扑信息,同步管理设备的拓扑路径。
237.作为一种可能实现的方式,第二节点设备和第三节点设备接收来自第一节点设备发送的拓扑路径之后,本技术实施例所提供的方法还包括:第二节点设备和第三节点设备向第一节点设备发送第一回复报文。
238.其中,第一回复报文用于向第一节点设备反馈已接收到拓扑路径。示例性的,第一回复报文可以为ack报文。
239.在本技术的一种可能的实施例中,本技术实施例所提供的方法还包括:第一节点设备定时向拓扑网络中第一节点设备的一个或多个邻居设备发送第十报文。
240.其中,第十报文用于确认一个或多个邻居设备是否离开拓扑网络。示例性的,第十报文可以是hello报文。
241.这样便于第一节点设备确定是否存在邻居设备离开拓扑网络。比如,第一节点设备发送第十报文后,预设时长内未接收到某一邻居设备反馈的hello报文,则第一节点设备确定该邻居设备离开拓扑网络。或者第一节点设备连续多次向同一个邻居设备发送第十报文后均未收到邻居设备反馈的hello报文,则第一节点设备确定该邻居设备离开拓扑网络。
242.比如,第一节点设备发送第十报文后,如果接收到某一邻居设备反馈的hello报文,则第一节点设备确定该邻居设备未离开拓扑网络。
243.比如说,第一节点设备在发送第十报文的情况下可以开启计时器,如果在该计时器的计时时长为预设时长的情况下,第一节点设备未接收到某一邻居设备反馈的hello报文,则第一节点设备确定该邻居设备离开拓扑网络。比如说,第一节点设备在发送第十报文的情况下可以开启计数器,如果第一节点设备未接收到邻居设备的hello报文,则第一节点设备将该计数器加+1,重复多次之后,如果计数器的值等于或大于预设阈值,则第一节点设备确定该邻居设备离开拓扑网络。
244.在本技术的一种可能的实施例中,各节点设备包括拓扑管理模块,第一节点设备的拓扑管理模块用于支持第一节点设备实现上述实施例中由第一节点设备执行的方法,本技术实施例所提供的方法还包括:第一节点设备中的拓扑管理模块向第一节点设备中的其他模块发送更新后的拓扑网络的拓扑信息。
245.示例性的,其他模块可以包括链路处理模块、设备管理模块、转发模块等。这样,其他模块可以根据更新后的拓扑网络的拓扑信息,确定拓扑网络中其他节点设备的状态。
246.在本技术的一种可能的实施例中,则上述步骤6211中第二节点设备确定第三节点设备加入拓扑网络可以通过以下方式实现:
247.步骤6211a、在第三节点设备加入拓扑网络时,第三节点设备向第二节点设备发送第十一报文。相应的,第二节点设备接收来自第三节点设备的第十一报文。
248.其中,第十一报文用于第二节点设备确定第三节点设备加入拓扑网络。示例性的,第十一报文可以是discovery报文。
249.作为一种示例,在第三节点设备加入拓扑网络的情况下,第二节点设备接收来自第三节点设备的第十一报文,第十三报文中包含有第三节点设备的设备条目。该第十一报文可以包含有拓扑网络中除第三节点设备外的其他节点设备。
250.步骤6211b、第二节点设备根据第十一报文,确定第三节点设备加入拓扑网络。
251.在本技术的一种可能的实施例中,则上述步骤6211中第二节点设备确定第三节点设备离开拓扑网络可以通过以下方式实现:
252.步骤6211c、第二节点设备向第三节点设备发送第十报文。
253.可以理解的是,在第三节点设备离开拓扑网络的情况下,第三节点设备可能无法接收到第二节点设备的第十报文,因此将无法向第二节点设备发送回复报文。
254.步骤6211d、在第二节点设备在第三预设时间内未接收到来自第三节点设备的第十二报文的情况下,第二节点设备确定第三节点设备离开拓扑网络。
255.示例性的,第十二报文可以是hello报文。可以理解的是,第十二报文用于第二节点设备维护与第三节点设备的邻居关系。
256.可以理解的是,在第二节点设备等待接收来自第三节点设备的第十一报文之前,第一节点设备向第三节点设备发送第十报文。第二节点设备在与第三节点设备建立邻居关系后,需要每隔预设时长向第三节点设备发送第十报文,以确定第三节点设备是否离开拓扑网络。
257.示例性的,第三预设时间可以是根据用户自定义设置的数值,也可以是由节点设备预配置的数值,本技术实施例对此不作限定。比如,第三预设时长可以为2s。比如,在第二节点设备在2s内未接收到来自第三节点设备的第十四报文的情况下,第二节点设备确定第三节点设备离开拓扑网络。
258.可选的,在第二节点设备在第三预设时间内未接收到来自第三节点设备的第十四报文的情况下,第三节点设备也可以是处于非正常运行状态。比如,第三节点设备发生故障,无法接收来自第二节点设备发送的第十四报文。
259.作为一种可能实现的方式,第三节点设备为加入拓扑网络的节点设备,本技术实施例所提供的方法还包括:
260.第二节点设备与第三节点设备建立邻居关系后,第二节点设备向第三节点设备发送报文。第三节点设备接收来自第二节点设备的报文。第三节点设备根据报文,在第三节点设备的第三信息库中创建第二节点设备的条目标志。
261.其中,报文包括第二节点设备的条目标志。条目标志为第二节点设备的第一标识。示例性的,报文可以为discovery报文。这样,第二节点设备可以获取到第三节点设备的信息。
262.在本技术的一种可能的实施例中,第一节点设备为拓扑网络中的管理设备,第二节点设备为第一节点设备的邻居设备,本技术实施例所提供的方法还包括:在第二节点设备感知到第一节点设备离开拓扑网络后,第二节点设备向拓扑网络中的其他节点设备发送第十三报文。
263.其中,第十三报文用于告知其他节点设备第一节点设备离开拓扑网络,和/或,用于指示其他节点设备删除其他节点设备存储的拓扑网络的拓扑信息,重新进行拓扑收集。示例性的,第十三报文可以为restart报文。
264.作为一种可能实现的方式,第二节点设备感知到第一节点设备离开拓扑网络,包括以下步骤:第二节点设备在第三预设时间内未接收到来自第一节点设备的第十二报文的情况下,第二节点设备确定第一节点设备离开拓扑网络。
265.在本技术的一种可能的实施例中,第一节点设备为拓扑网络中的管理设备,第二节点设备为第一节点设备的邻居设备,本技术实施例所提供的方法还包括:在第二节点设备感知到第一节点设备离开拓扑网络后,第二节点设备删除第二节点设备存储的拓扑网络的拓扑信息,重新进行拓扑收集。
266.可选的,第二节点设备还可以向其他节点设备或者向第二节点设备的邻居设备通知第一节点设备离开拓扑网络的报文。
267.可以理解的是,拓扑网络中的其他节点设备在接收到的来自第二节点设备发送的第一节点设备离开拓扑网络的报文的情况下,重新进行拓扑收集,以在下一次拓扑收敛时,根据第一预设条件重新确定管理设备。
268.在本技术的一种可能的实施例中,拓扑网络还包括一个或多个第五节点设备,第五节点设备为第二节点设备的邻居设备,本技术实施例所提供的方法还包括:
269.在第二节点设备离开拓扑网络的情况下,第二节点设备向一个或多个第五节点设备发送第十四报文。
270.其中,第十四报文用于指示其他第五节点设备重新进行拓扑信息收集。示例性的,第十四报文可以是restart报文。比如第十四报文用于指示第二节点设备离开拓扑网络。
271.可以理解的是,由于一个或多个第五节点设备作为第二节点设备的邻居设备,并没有与拓扑网络中的其他节点设备连接,因此,在第二节点设备离开拓扑网络的情况下,一个或多个第五节点设备也会离开拓扑网络。当然,也可能存在一种情况,第二节点设备和一
个或多个第五节点设备重新组成一个拓扑网络。
272.作为一种示例,如图20所示,以节点设备5为第二节点设备,节点设备6为第五节点设备为例。在节点设备5离开拓扑网络的情况下,节点设备6也会离开拓扑网络。因此,节点设备5向节点设备6发送第十四报文。节点设备6接收到第十四报文,重新进行拓扑收集。
273.在第二节点设备和一个或多个第五节点设备离开拓扑网络时依然正常运行的情况下,第二节点设备和一个或多个第五节点设备组成新的第二拓扑网络,因此在本技术的一种可能的实施例中,第二节点设备为第二节点设备和一个或多个第五节点设备构成的第二拓扑网络中的管理设备,则本技术实施例提供的方法还包括:第二节点设备为各第五节点设备分配第二身份标识。
274.其中,第二身份标识用于第二节点设备管理各第五节点设备。示例性的,第二身份标识可以是id,用户通过查看第二身份标识,可以识别第二拓扑网络中的第五节点设备。
275.在本技术的一种可能的实施例中,第二节点设备和一个或多个第五节点设备构成的第二拓扑网络中的管理设备为目标第五节点设备,目标第五节点设备为一个或多个所述第五节点设备中的任一节点设备,则本技术实施例所提供的方法还包括:第二节点设备获取目标第五节点设备为第二节点设备分配的第三身份标识。
276.其中,第三身份标识用于目标第五节点设备管理其他各第五节点设备和第三节点设备。示例性的,第三身份标识可以是id,用户通过第三身份标识,可以识别第二拓扑网络中的其他节点设备。
277.需要解释的是,图7所示的实施例与图13所示的实施例可以是单独的实施例,当然,两个实施例也可以结合在一起。比如,在执行完图7所示的实施例之后,即在拓扑网络达到收敛的情况下,如若拓扑网络发生变化,则拓扑网络中的任一节点设备(比如第一节点设备)还可以根据如图13所示的实施例对拓扑网络进行相应的管理。
278.如图21所示,图21以以节点设备1、节点设备2、节点设备3和节点设备4为例进行拓扑网络的管理过程为例描述本技术实施例提供的一种拓扑网络的管理方法的具体实现步骤:
279.其中,示例性的,节点设备1与节点设备2建立连接,节点设备2分别与节点设备1和节点设备3建立连接,节点设备3与节点设备2建立连接。在节点设备4新加入拓扑网络时,与节点设备3建立连接。示例性的,节点设备之间建立连接的方式可以是一种通过节点设备的端口建立的有线连接,比如,节点设备1通过端口与节点设备2的端口连接。需要解释的是,在节点设备之间建立连接时,节点设备之间建立邻居关系。
280.(1)、通过hello报文,建立邻居关系。
281.步骤701、节点设备1和节点设备2之间相互发送至少一次hello报文,在节点设备2回复hello报文的情况下,节点设备1和节点设备2建立连接邻居关系。相应的,节点设备2和节点设备3建立邻居关系。
282.可以理解的是,节点设备1的邻居设备为节点设备2,节点设备2的邻居设备为节点设备1和节点设备3,节点设备3的邻居设备为节点设备2。通过这样的方式,节点设备能够获取到邻居设备的设备地址。设备地址比如可以是mac地址。
283.可选的,在节点设备1和节点设备2不具有邻居关系的情况下,节点设备1所组成的拓扑网络可以达到收敛条件。
284.关于如何通过hello报文建立邻居关系的方法,可以参考上述实施例,此处不再赘述。
285.可选的,本技术实施例还包括:步骤702、在节点设备1与节点设备2建立邻居关系的情况下,节点设备1每隔预设时间t1,向节点设备2发送hello报文,以维护邻居关系。
286.(2)、通过discovery报文,传递拓扑信息。
287.步骤703、节点设备1和节点设备2相互发送至少一次discovery报文,该discovery报文包含有发送端中所存储的拓扑信息。相应的,节点设备2和节点设备3之间相互发送至少一次discovery报文。
288.可以理解的是,拓扑信息可以包含有节点设备的设备基本信息。设备基本信息中的内容可以参考上述实施例,此处不再赘述。通过节点设备获取到的拓扑信息,节点设备可以获取到拓扑网络中其他节点设备的设备基本信息。
289.比如,在节点设备2向节点设备1发送一次discovery报文,该discovery报文包含有节点设备2中所存储的拓扑信息,比如包含有节点设备2的设备基本信息,以及节点设备3的设备地址。
290.再比如,在节点设备3向节点设备2发送一次discovery报文之后,节点设备2获取到节点设备3的设备基本信息。之后,节点设备2向节点设备1发送一次discovery报文,该discovery报文中包含有节点设备2和节点设备3的设备基本信息。
291.步骤704、节点设备1、节点设备2和节点设备3在每一次接收到discovery报文的情况下,判断拓扑网络是否收敛。
292.关于如何判断拓扑网络是否收敛的方法,可以参考上述实施例,此处不再赘述。
293.可选的,本技术实施例还包括:步骤705、在节点设备1、节点设备2和节点设备3之间的任一节点设备在判断拓扑网络没有达到收敛条件的情况下,获取邻居设备的discovery报文。
294.可选的,任一节点设备也可以向邻居设备发送discovery报文。
295.(3)、在拓扑网络收敛的条件下,选举管理设备。
296.步骤705、节点设备1、节点设备2和节点设备3之间选举节点设备1为拓扑网络中的管理设备。
297.其中,管理设备用于管理拓扑网络中的任一节点设备。比如,管理设备可以与拓扑网络中的任一节点设备通信。再比如,在任一节点设备加入拓扑网络或者离开拓扑网络的情况下,管理设备可以及时更新拓扑网络的拓扑信息,并同步给拓扑网络中的其他节点设备。
298.相应的,示例性的,节点设备2和节点设备3为拓扑网络中的成员设备。
299.关于如何选举节点设备1为拓扑网络中的管理设备的方法,可以参考上述实施例,此处不再赘述。
300.步骤706、节点设备1根据所存储的拓扑信息,确定拓扑路径。
301.其中,拓扑路径用于反映拓扑网络中任意两个节点设备之间的最佳通信路径。该最佳通信路径可以是两个节点设备之间路径最短,也可以是两个节点设备之间通信质量最好的路径。
302.步骤707、节点设备1将拓扑路径发送给节点设备2和节点设备3。
303.可选的,本技术实施例还包括:步骤708、节点设备2和节点设备3向节点设备1发送ack报文a。
304.其中,ack报文a用于节点设备2和节点设备3回复节点设备1已收到拓扑路径。
305.步骤709、节点设备1分别向节点设备2和节点设备3发送身份标识。
306.其中,身份标识用于节点设备1管理节点设备2和节点设备3。
307.可选的,本技术实施例还包括:步骤710、节点设备2和节点设备3向节点设备1发送ack报文b。
308.其中,ack报文b用于节点设备2和节点设备3回复节点设备1已收到身份标识。
309.(3)、拓扑网络的维护。
310.步骤711、在节点设备2在预设时间t2内未接收到节点设备3所发送的hello报文的情况下,节点设备2确定节点设备3离开拓扑网络。
311.步骤712、节点设备2向节点设备1发送discovery报文,该discovery报文用于表示节点设备3离开拓扑网络。
312.步骤713、节点设备1更新拓扑网络。
313.其中,更新后的拓扑网络a不包括节点设备3。
314.步骤714、节点设备1将更新后的拓扑网络a发送给节点设备2。
315.可选的,本技术实施例还包括:步骤715、节点设备2向节点设备1发送ack报文c。
316.其中,ack报文c用于节点设备2回复节点设备1已收到更新后的拓扑网络a。
317.可选的,本技术实施例所提供的方法还包括节点设备4,节点设备4为在拓扑网络收敛的情况下,加入拓扑网络。节点设备4与节点设备3建立连接。
318.步骤716、在节点设备3感知到有节点设备4加入拓扑网络的情况下,通过hello报文,与节点设备4建立邻居关系。
319.步骤716、节点设备3通过discovery报文,获取节点设备4的拓扑信息。
320.步骤717、节点设备3向节点设备1发送discovery报文,该discovery报文包含节点设备4的拓扑信息。
321.步骤718、节点设备1向节点设备4发送身份标识。
322.可选的,节点设备4向节点设备1发送ack报文d。
323.其中,ack报文d用于节点设备4回复节点设备1已收到身份标识。
324.步骤719、节点设备1更新拓扑网络。
325.其中,更新后的拓扑网络b包括节点设备4。
326.步骤720、节点设备1将更新后的拓扑网络b发送给节点设备2、节点设备3和节点设备4。
327.可选的,节点设备2~节点设备4向节点设备1发送ack报文e。
328.其中,ack报文e用于节点设备2~节点设备4回复节点设备1已收到更新后的拓扑网络b。
329.上述主要从各个网元之间交互的角度对本技术实施例的方案进行了介绍。可以理解的是,各个设备,例如第一节点设备、第二节点设备、第三节点设备等为了实现上述功能,其包括了执行各个功能相应的结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计
算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
330.本技术实施例可以根据上述方法示例第一节点设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
331.上面结合图1至图21,对本技术实施例的方法进行了说明,下面对本技术实施例提供的执行上述方法的设备进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本技术实施例提供的拓扑网络的管理装置可以执行上述拓扑网络的管理方法中由第一节点设备执行的步骤。
332.在采用集成单元的情况下,图22示出了上述实施例中所涉及的拓扑网络的管理装置,该拓扑网络的管理装置可以是第一节点设备也可以是应用于第一节点设备中的装置,比如芯片或者处理电路,该拓扑网络的管理装置可以包括:获取单元810、更新单元820和确定单元830。
333.在一种可选的实现方式中,拓扑网络的管理装置还可以包括存储单元,用于存储拓扑网络的管理装置的程序代码和数据。
334.一种示例,拓扑网络的管理装置为第一节点设备,或者为应用于第一节点设备中的芯片。其中,获取单元810,用于获取多个节点设备中其他节点设备的设备条目;更新单元820,用于在获取到每一节点设备的设备条目的条目标志为第一标识的情况下,将第一节点设备的设备条目的条目标志从第一标识更新为第二标识,第一标识用于表示第一节点设备获取到节点设备的信息,第二标识表示第一节点设备获取到拓扑网络中全部节点设备的设备条目;确定单元830,用于在第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,确定拓扑网络收敛。
335.在本技术的一个可能的实现方式中,该拓扑网络的管理装置还包括:创建单元,创建单元用于第一节点设备探测到第二节点设备为第一节点设备的邻居设备,则在第一节点设备中为第二节点设备创建设备条目,设备条目的条目标志为空标识。
336.在本技术的一个可能的实现方式中,该拓扑网络的管理装置还包括:发送单元,发送单元用于向第二节点设备发送第一报文。接收单元还用于接收到第二节点设备反馈的第二报文。
337.在本技术的一个可能的实现方式中,获取单元810还用于接收来自第二节点设备的第三报文。创建单元还用于在第一节点设备中不包括一个或多个节点设备中任一节点设备的设备条目,则第一节点设备创建任一节点设备的设备条目。更新单元820还用于在第一节点设备中记录的任一个节点设备的条目标志与第二节点设备反馈的任一个节点设备的条目标志不同,更新任一个节点设备的设备条目的条目标志,更新后任一个节点设备的设备条目的条目标志为第一标识或第二标识。
338.在本技术的一个可能的实现方式中,发送单元还用于向第二节点设备发送第四报文。
339.在本技术的一个可能的实现方式中,确定单元830还用于在拓扑网络中存在有第三节点设备加入拓扑网络,或者,有第四节点设备离开拓扑网络的情况下,确定更新后的拓扑网络的拓扑信息,拓扑信息包括更新后的拓扑网络中各个节点设备的设备条目,根据更新后的拓扑网络的拓扑信息,重新确定拓扑网络是否收敛。
340.在本技术的一个可能的实现方式中,确定单元830还用于在第一节点设备中存储的所有节点设备的设备条目的条目标志中存在至少一个节点设备的设备条目的条目标志不是第二标识,确定拓扑网络未收敛。
341.在本技术的一个可能的实现方式中,发送单元还用于在拓扑网络未收敛的情况下,向第一节点设备的邻居设备发送第五报文。
342.可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
343.一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现如图7中由第一节点设备执行的功能。
344.一方面,提供一种包括指令的计算机程序产品,计算机程序产品中包括指令,当指令被运行时,实现如图7中由第一节点设备执行的功能。
345.一方面,提供一种芯片,该芯片应用于第二节点设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现如图7中由第一节点设备执行的功能。
346.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
347.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容,以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
348.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修
改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包括这些改动和变型在内。
技术特征:
1.一种拓扑网络的管理方法,其特征在于,所述拓扑网络包括多个节点设备,所述多个节点设备包括第一节点设备,所述第一节点设备中具有所述第一节点设备的设备条目,所述方法包括:获取所述多个节点设备中其他节点设备的设备条目;在获取到每一所述节点设备的设备条目的条目标志为第一标识的情况下,将所述第一节点设备的设备条目的条目标志从第一标识更新为第二标识,所述第一标识用于表示所述第一节点设备获取到所述节点设备的信息,所述第二标识表示所述第一节点设备获取到所述拓扑网络中全部节点设备的设备条目;在所述第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,确定所述拓扑网络收敛。2.根据权利要求1所述的方法,其特征在于,所述多个节点设备还包括第二节点设备,所述方法还包括:所述第一节点设备探测到所述第二节点设备为所述第一节点设备的邻居设备,则在所述第一节点设备中为所述第二节点设备创建设备条目,所述设备条目的条目标志为空标识。3.根据权利要求2所述的方法,其特征在于,所述第一节点设备探测到所述第二节点设备为所述第一节点设备的邻居设备,则所述第一节点设备在所述第一节点设备中为所述第二节点设备创建设备条目,包括:向所述第二节点设备发送第一报文,所述第一报文中的第一报文标志用于指示所述第一报文进行拓扑信息收集;接收到所述第二节点设备反馈的第二报文,所述第二报文的第二报文标志用于指示所述第二节点设备成功接收到所述第一报文;在所述第一节点设备中为所述第二节点设备创建设备条目,所述设备条目的条目标志为所述空标识。4.根据权利要求1所述的方法,其特征在于,所述第一节点设备与所述拓扑网络中的第二节点设备建立邻居关系的情况下,所述第一节点设备获取所述多个节点设备中其他节点设备的设备条目包括:接收来自所述第二节点设备的第三报文,所述第三报文中包括一个或多个节点设备的设备条目,所述一个或多个节点设备的设备条目包括所述第二节点设备的设备条目和/或至少一个所述第二节点设备的邻居设备的设备条目;在所述第一节点设备中不包括一个或多个节点设备中任一节点设备的设备条目,则所述第一节点设备创建所述任一节点设备的设备条目;在所述第一节点设备中记录的任一个节点设备的条目标志与所述第二节点设备反馈的所述任一个节点设备的条目标志不同,更新所述任一个节点设备的设备条目的条目标志,更新后所述任一个节点设备的设备条目的条目标志为第一标识或第二标识。5.根据权利要求1所述的方法,其特征在于,所述第一节点设备与所述拓扑网络中的第二节点设备建立邻居关系的情况下,所述方法还包括:向所述第二节点设备发送第四报文,所述第四报文包括一个或多个节点设备的设备条目,所述一个或多个节点设备的设备条目包括所述第一节点设备的设备条目和/或所述第
一节点设备的至少一个邻居设备的设备条目,所述第一节点设备的设备条目的条目标志为第一标识或第二标识,所述第一节点设备的至少一个邻居设备的设备条目的条目标志为空标识或第一标识。6.根据权利要求1~5任一项所述的方法,其特征在于,所述第一节点设备确定所述拓扑网络收敛之后,所述方法还包括:在所述拓扑网络中存在有第三节点设备加入拓扑网络,或者,有第四节点设备离开拓扑网络的情况下,确定更新后的拓扑网络的拓扑信息,所述拓扑信息包括更新后的拓扑网络中各个节点设备的设备条目;根据所述更新后的拓扑网络的拓扑信息,重新确定所述拓扑网络是否收敛。7.根据权利要求1所述的方法,其特征在于,在所述第一节点设备中存储的所有节点设备的设备条目的条目标志中存在至少一个所述节点设备的设备条目的条目标志不是第二标识,确定所述拓扑网络未收敛。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在所述拓扑网络未收敛的情况下,向所述第一节点设备的邻居设备发送第五报文,所述第五报文包括所述第一节点设备中当前所存储的设备条目。9.一种拓扑网络的管理装置,其特征在于,所述拓扑网络包括多个节点设备,所述多个节点设备包括第一节点设备,所述第一节点设备中具有所述第一节点设备的设备条目,所述拓扑网络的管理装置为所述第一节点设备或为应用于所述第一节点设备中的芯片,所述拓扑网络的管理装置包括:获取单元,用于获取所述多个节点设备中其他节点设备的设备条目;更新单元,用于在获取到每一所述节点设备的设备条目的条目标志为第一标识的情况下,将所述第一节点设备的设备条目的条目标志从第一标识更新为第二标识,所述第一标识用于表示所述第一节点设备获取到所述节点设备的信息,所述第二标识表示所述第一节点设备获取到所述拓扑网络中全部节点设备的设备条目;确定单元,用于在所述第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,确定所述拓扑网络收敛。10.一种节点设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~6任一项所述的方法。11.一种拓扑网络,其特征在于,包括:多个节点设备,多个所述节点设备中任一节点设备用于执行如权利要求1~6任一项所述的方法。12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利1~6任一项所述的方法。
技术总结
本申请实施例提供一种拓扑网络的管理方法、设备、系统和存储介质,涉及无线通信技术领域,该方案包括:获取多个节点设备中其他节点设备的设备条目。在获取到每一节点设备的设备条目的条目标志为第一标识的情况下,将第一节点设备的设备条目的条目标志从第一标识更新为第二标识,第一标识用于表示第一节点设备获取到节点设备的信息,第二标识表示第一节点设备获取到拓扑网络中全部节点设备的设备条目。在第一节点设备中所有节点设备的设备条目的条目标志为第二标识的情况下,确定拓扑网络收敛。该方案用于解决如何实现拓扑网络中的节点设备所获取到的拓扑网络中的拓扑信息一致,从而提高判断拓扑收敛的准确性的技术问题。而提高判断拓扑收敛的准确性的技术问题。而提高判断拓扑收敛的准确性的技术问题。
技术研发人员:计志龙 陈伟章
受保护的技术使用者:普联技术有限公司
技术研发日:2023.06.06
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
