一种RapidIO网络的多次枚举方法及系统与流程

专利2022-05-09  52


一种rapidio网络的多次枚举方法及系统
技术领域
1.本发明涉及数据通信领域,具体地,涉及一种rapidio网络的多次枚举方法,更为具体地,涉及国产嵌入式实时操作系统中rapidio驱动的静态枚举方法,以及在需要动态加入或者删除节点时多次进行枚举以获取最新节点状态的方法。


背景技术:

2.rapidio协议是由motorola和mercury等公司率先倡导,rapidio贸易协会支持开发的一种高性能、低引脚数、基于包交换的互连体系结构。作为第一个嵌入式互连国际标准,它是为满足嵌入式系统高性能需求而设计的一种开放式互连技术标准,支持芯片间、板间的通讯。rapidio网络拓扑结构非常灵活,主要由两种器件,终端(end point)和交换芯片(switch)组成。数据在终端器件之间传输,以终端器件id来标识数据源地址和目的地址。
3.rapidio网络初始化时,通过枚举过程来获得网络拓扑、选择路由、并为终端器件分配id,常用的枚举算法分为固定id的静态路由算法和id动态分配的动态路由算法,但它们都没有对rapidio网络中节点需要动态变化的情况进行支持,当网络中有节点在枚举之后加入或者退出时,只能将系统重新启动以获取最新的路由表,或者需要在系统设计之初加入专门的硬件用于监控系统中节点的热插拔情况。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种rapidio网络的多次枚举方法及系统。
5.根据本发明提供的一种rapidio网络的多次枚举方法,其特征在于,包括:
6.步骤s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则执行步骤s2,否则执行步骤s3;
7.步骤s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,执行步骤s1;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;
8.步骤s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。
9.优选地,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线。
10.优选地,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。
11.优选地,当有节点加入或离开网络时,则进行多次枚举。
12.优选地,所述当有节点加入或离开网络时,则进行多次枚举包括:
13.步骤n1:对连接关系矩阵中所有在线节点执行解锁操作;
14.步骤n2:删除所有在线交换机中的路由表信息;
15.步骤n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;
16.步骤n4:增加或移除节点与交换机之间的物理链接;
17.步骤n5:执行多次枚举操作,获得最新的网络状态。
18.根据本发明提供的一种rapidio网络的多次枚举系统,包括:
19.模块s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则触发模块s2执行,否则触发模块s3执行;
20.模块s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,触发模块s1执行;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;
21.模块s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。
22.优选地,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线。
23.优选地,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。
24.优选地,当有节点加入或离开网络时,则进行多次枚举。
25.优选地,所述当有节点加入或离开网络时,则进行多次枚举包括:
26.模块n1:对连接关系矩阵中所有在线节点执行解锁操作;
27.模块n2:删除所有在线交换机中的路由表信息;
28.模块n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;
29.模块n4:增加或移除节点与交换机之间的物理链接;
30.模块n5:执行多次枚举操作,获得最新的网络状态。
31.与现有技术相比,本发明具有如下的有益效果:
32.1、本发明提出一种基于深度优先的固定id静态枚举方法,高效、稳定的对结构和id均固定的rapidio网络进行路由配置;
33.2、本发明在枚举算法中补充了多次枚举功能,在不依赖专用硬件对热插拔行为进行监控的情况下,实现简单通用的多次枚举功能,不依赖具体的枚举算法和拓扑结构;
34.3、本发明提供一种结构简单、可靠性高的rapidio静态枚举方法。在结构和id都固定的rapidio网络中,根据系统拓扑图建立连接关系矩阵,记录节点在线状态,配置交换机路由表;
35.4、本发明对枚举算法进行补充,提供一种简单实用的支持连接节点动态变化的多次枚举方法。在没有专用硬件来进行监控的rapidio网络中,提供通用且有效的方法,在网络节点动态插入或拔出的情况下,保证软件总是能获取到最新的节点连接情况。
附图说明
36.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
37.图1为rapidio网络拓扑结构图;
38.图2为rapidio网络树形路径图。
具体实施方式
39.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
40.实施例1
41.根据本发明提供的一种rapidio网络的多次枚举方法,其特征在于,包括:
42.步骤s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则执行步骤s2,否则执行步骤s3;
43.步骤s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,执行步骤s1;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;
44.步骤s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。
45.具体地,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线,0表示离线,1表示在线。同时,根据拓扑图,按照深度优先顺序,确定交换机之间的通信路径,建立树形路径图,对交换机进行编号,例如与主机节点直接相连的交换机为switch0,并建立交换机信息表,用户记录交换机的在线状态。
46.具体地,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。
47.具体地,当有节点加入或离开网络时,则进行多次枚举。
48.具体地,所述当有节点加入或离开网络时,则进行多次枚举包括:
49.步骤n1:对连接关系矩阵中所有在线节点执行解锁操作;
50.步骤n2:删除所有在线交换机中的路由表信息;
51.步骤n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;
52.步骤n4:增加或移除节点与交换机之间的物理链接;
53.步骤n5:执行多次枚举操作,获得最新的网络状态。
54.根据本发明提供的一种rapidio网络的多次枚举系统,包括:
55.模块s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则触发模块s2执行,否则触发模块s3执行;
56.模块s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,触发模块s1执行;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;
57.模块s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。
58.具体地,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线0表示离线,1表示在线。同时,根据拓扑图,按照深度优先顺序,确定交换机之间的通信路径,建立树形路径图,对交换机进行编号,例如与主机节点直接相连的交换机为switch0,并建立交换机信息表,用户记录交换机的在线状态。
59.具体地,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。
60.具体地,当有节点加入或离开网络时,则进行多次枚举。
61.具体地,所述当有节点加入或离开网络时,则进行多次枚举包括:
62.模块n1:对连接关系矩阵中所有在线节点执行解锁操作;
63.模块n2:删除所有在线交换机中的路由表信息;
64.模块n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;
65.模块n4:增加或移除节点与交换机之间的物理链接;
66.模块n5:执行多次枚举操作,获得最新的网络状态。
67.实施例2
68.实施例2是实施例1的变化例
69.本发明设计了一种rapidio多次枚举方法,在rapidio网络中没有使用专用硬件来监控节点在线状态时,对结构和id均固定的rapidio网络进行静态枚举,并且支持rapidio网络中节点状态的动态变化。
70.参考图1中的rapidio网络拓扑结构,已知该网络的结构和id均固定,只有节点可以有在线和离线两种状态。
71.参考图2中的rapidio网络树形路径图,按照深度优先的顺序,主机节点依次扫描switch0、switch1、switch2

switch7。
72.先对switch 0上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 0上所有节点都扫描完毕后则将swtich0到switch n

1上所有当前
在线节点的路由添加到switch n上。
73.按照端口从小到大,检测switch 0上连接交换机的端口是否有物理链接,若0号端口有链接,则将switch 1的状态设置为在线,并对switch 1进行扫描,否则将树形路径图中,将switch1和switch2在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
74.对switch 1上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 1上所有节点都扫描完毕后则将swtich0和switch 1上所有当前在线节点的路由添加到switch 1上。
75.按照端口从小到大,检测switch 1上连接交换机的端口是否有物理链接,若2号端口有链接,则将switch 2的状态设置为在线,并对switch 2进行扫描,否则将树形路径图中,将switch2在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
76.对switch 2上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 2上所有节点都扫描完毕后则将swtich0、switch1、switch 2上所有当前在线节点的路由添加到switch 2上。
77.检测switch 0的2号端口是否有链接,若有,则将switch 3的状态设置为在线,并对switch 3进行扫描,否则将树形路径图中,将switch3和switch4在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
78.对switch 3上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 3上所有节点都扫描完毕后则将swtich0、switch1、switch 2、switch3上所有当前在线节点的路由添加到switch 3上。
79.按照端口从小到大,检测switch 3上连接交换机的端口是否有物理链接,若2号端口有链接,则将switch 4的状态设置为在线,并对switch 4进行扫描,否则将树形路径图中,将switch4在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
80.对switch 4上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 4上所有节点都扫描完毕后则将swtich0、switch1、switch 2、switch3、switch 4上所有当前在线节点的路由添加到switch 4上。
81.检测switch 0的4号端口是否有链接,若有,则将switch 5的状态设置为在线,并对switch 5进行扫描,否则将树形路径图中,将switch5和switch6在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
82.对switch 5上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 5上所有节点都扫描完毕后则将swtich0、switch1、switch 2、switch3、switch4、switch5上所有当前在线节点的路由添加到switch 5上。
83.按照端口从小到大,检测switch 5上连接交换机的端口是否有物理链接,若2号端口有链接,则将switch 6的状态设置为在线,并对switch 6进行扫描,否则将树形路径图中,将switch6在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
84.对switch 6上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设
置为在线,当switch 6上所有节点都扫描完毕后则将swtich0、switch1、switch 2、switch3、switch 4、switch5、switch6上所有当前在线节点的路由添加到switch 6上。
85.检测switch 0的6号端口是否有链接,若有,则将switch 7的状态设置为在线,并对switch 7进行扫描,否则将树形路径图中,将switch7在连接关系矩阵中状态设置为离线,并将它们所连接的节点状态也设置为离线。
86.对switch 7上所连的节点进行物理链接状态检测,若存在链接则将该节点状态设置为在线,当switch 7上所有节点都扫描完毕后则将swtich0、switch1、switch 2、switch3、switch4、switch5、swtich6、switch7上所有当前在线节点的路由添加到switch 7上。
87.至此,网络中所有交换机都已扫描完毕,将switch 7上所有在线节点路由添加到switch0、switch1、switch 2、switch 3、switch4、switch5、swtich6上,switch 6和switch 7上所有在线节点路由添加到switch0、switch1、switch 2、switch 3、switch4、switch5上,switch5、switch 6和switch 7上所有在线节点路由添加到switch0、switch1、switch 2、switch 3、switch4上,switch4、switch5、switch 6和switch 7上所有在线节点路由添加到switch0、switch1、switch 2、switch 3上,switch3、switch4、switch5、switch 6和switch 7上所有在线节点路由添加到switch0、switch1、switch2上,switch2、switch3、switch4、switch5、switch 6和switch 7上所有在线节点路由添加到switch0、switch1上,switch1、switch2、switch3、switch4、switch5、switch 6和switch 7上所有在线节点路由添加到switch0上。
88.至此,静态枚举过程结束,rapidio网络中,switch2的节点3当前状态为离线,枚举结束后,节点3想要上电加入网络并与其他节点通信,在节点3上电稳定后,可执行多次枚举。
89.多次枚举过程中,系统将解锁连接关系矩阵中所有当前在线节点,并按照从switch7到switch 0的顺序删除所有在线交换机的路由表信息,将用于记录节点和交换机信息的数据结构还原为默认状态,最后再次执行上文中描述的静态枚举过程。
90.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
91.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

技术特征:
1.一种rapidio网络的多次枚举方法,其特征在于,包括:步骤s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则执行步骤s2,否则执行步骤s3;步骤s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,执行步骤s1;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;步骤s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。2.根据权利要求1所述的rapidio网络的多次枚举方法,其特征在于,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线。3.根据权利要求1所述的rapidio网络的多次枚举方法,其特征在于,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。4.根据权利要求1所述的rapidio网络的多次枚举方法,其特征在于,当有节点加入或离开网络时,则进行多次枚举。5.根据权利要求4所述的rapidio网络的多次枚举方法,其特征在于,所述当有节点加入或离开网络时,则进行多次枚举包括:步骤n1:对连接关系矩阵中所有在线节点执行解锁操作;步骤n2:删除所有在线交换机中的路由表信息;步骤n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;步骤n4:增加或移除节点与交换机之间的物理链接;步骤n5:执行多次枚举操作,获得最新的网络状态。6.一种rapidio网络的多次枚举系统,其特征在于,包括:模块s1:rapidio主机节点按照端口从小到大扫描交换机switch n,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,则为当前节点设置指定的id,并将软件维护的路由表中当前节点的状态设置为在线,否则设置为离线,最后将连接关系矩阵中在线节点对应的路由添加到当前交换机中,当rapidio网络为树形路径图,且当前交换机存在下一级交换时,则触发模块s2执行,否则触发模块s3执行;模块s2:根据深度优先顺序,检测switch n连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,触发模块s1执行;否则,将当前分支中未扫描的所有交换机在连接关系矩阵中状态设置为离线,并将所有离线交换机连接的节点状态设置为离线状态;模块s3:rapidio网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始,依次将连接关系矩阵中所有在线节点的路由添加到交换机中。7.根据权利要求6所述的rapidio网络的多次枚举系统,其特征在于,所述连接关系矩阵包括:根据rapidio互连系统互连结构拓扑图,形成连接关系矩阵,矩阵的每个元素的坐
标(x,y)表示当前节点连接在switch x的端口y上,当前元素的值表示节点是否在线。8.根据权利要求6所述的rapidio网络的多次枚举系统,其特征在于,所述rapidio互连系统包括一个rapidio主节点连接一个交换器机,当前交换机上至少连接一个rapidio节点。9.根据权利要求6所述的rapidio网络的多次枚举系统,其特征在于,当有节点加入或离开网络时,则进行多次枚举。10.根据权利要求9所述的rapidio网络的多次枚举系统,其特征在于,所述当有节点加入或离开网络时,则进行多次枚举包括:模块n1:对连接关系矩阵中所有在线节点执行解锁操作;模块n2:删除所有在线交换机中的路由表信息;模块n3:将连接关系矩阵中的节点和交换机状态全部恢复默认值;模块n4:增加或移除节点与交换机之间的物理链接;模块n5:执行多次枚举操作,获得最新的网络状态。
技术总结
本发明提供了一种RapidIO网络的多次枚举方法及系统,包括:步骤S1:RapidIO主机节点扫描交换机SWITCHn,依次检测连接关系矩阵中每个节点是否与相应交换机端口存在物理链接信号,当存在时,当前节点的状态设置为在线,否则为离线;当RapidIO网络为树形路径图,且当前交换机存在下一级交换时,则执行步骤M2,否则执行步骤M3;步骤S2:根据深度优先顺序,检测SWITCHn连接下一级交换的端口是否存在外部物理链接,当存在时,则将n=n 1,执行步骤S1;否则,将当前分支中未扫描的所有交换机设置为离线,并将所有离线交换机连接的节点设置为离线;步骤S3:RapidIO网络拓扑结构中所有在线交换机扫描完毕,从最后一个交换机开始依次将连接关系矩阵中所有在线节点路由添加到交换机中。中。中。


技术研发人员:周洁 王敬平 龚超
受保护的技术使用者:华东计算技术研究所(中国电子科技集团公司第三十二研究所)
技术研发日:2021.02.25
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-15222.html

最新回复(0)