设备枚举方法、设备、系统及存储介质转让专利

申请号 : CN202010270973.2

文献号 : CN113297124B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵元陈继承龙欣周恒钊郑晓

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请实施例提供一种设备枚举方法、设备、系统及存储介质。在本申请实施例中,网络系统包括:多个交换设备,以及连接于多个交换设备的上游端口的多个节点设备;多个交换设备之间互联,且多个交换设备的下游端口连接有资源设备,这样多个节点设备之间可实现资源设备共享,即一个节点设备可使用其它节点设备挂载的资源设备。基于这种特有的网络架构,在本申请实施例中,交换设备可确定其所连接的节点设备具有使用权限的目标资源设备;并根据交换设备所连接的节点设备对应的应用需求,对目标资源设备进行资源配置,进而实现了对这种特有的网络系统的设备枚举。

权利要求 :

1.一种网络系统,包括:多个交换设备,以及连接于所述多个交换设备的上游端口的多个节点设备;所述多个交换设备之间互联,且所述多个交换设备的下游端口连接有资源设备;

第一交换设备,用于:响应于设备枚举触发事件,确定第一节点设备具有使用权限的目标资源设备;所述第一节点设备是指所述第一交换设备所隶属的节点设备;以及根据所述第一节点设备对应的应用需求,对所述目标资源设备进行资源配置;

其中,所述多个节点设备中至少存在一个目标节点设备,任一目标节点设备具有使用权限的目标资源设备包括:挂载于除隶属于该目标节点设备的目标交换设备之外的其它交换设备的下游端口的资源设备;

所述下游端口包括:下游物理端口和下游虚拟端口;所述多个交换设备预置有目标交换设备的下游虚拟端口与除该目标交换设备之外的其它交换设备的目标下游物理端口之间的映射关系;其中,所述目标节点设备根据所述映射关系,获得对所述目标下游物理端口挂载的资源设备的使用权限。

2.根据权利要求1所述的系统,所述第一交换设备在确定第一节点设备具有使用权限的目标资源设备时,具体用于:

根据预先配置的节点设备与资源设备的使用权限关系,确定所述第一节点设备具有使用权限的目标资源设备。

3.根据权利要求2所述的系统,所述设备枚举触发事件为:接收到所述第一节点设备发送的枚举配置命令;所述枚举配置命令包含待枚举的目标下游端口的身份标识;

所述第一交换设备在确定所述第一节点设备具有使用权限的目标资源设备时,具体用于:

在所述目标下游端口连接有资源设备的情况下,根据所述目标下游端口的身份标识和所述网络系统的拓扑结构,生成所述目标下游端口连接的第一资源设备的路由信息;

根据所述路由信息和所述节点设备与资源设备的使用权限关系,确定所述第一节点设备对所述第一资源设备是否具有使用权限;

若所述第一节点设备对所述第一资源设备具有使用权限,则将所述第一资源设备作为一个目标资源设备。

4.根据权利要求3所述的系统,若所述目标下游端口为所述第一交换设备的下游虚拟端口;所述第一交换设备在对所述目标资源设备进行资源配置时,具体用于:根据所述映射关系,确定所述目标下游端口对应的目标下游物理端口所在的第二交换设备;

通过所述第一交换设备与所述第二交换设备之间互联的网络,将所述枚举配置命令转发至所述第二交换设备,以供所述第二交换设备根据所述枚举配置命令对所述目标资源设备进行资源配置;

其中所述枚举配置命令可反映所述交换设备所隶属的节点设备的应用需求。

5.根据权利要求4所述的系统,所述第二交换设备在根据所述枚举配置命令对所述目标资源设备进行资源配置时,具体用于:将所述枚举配置命令转发至所述目标资源设备,以供所述目标资源设备对所述枚举配置命令进行响应。

6.根据权利要求3所述的系统,若所述目标下游端口为所述第一交换设备的下游物理端口,则所述第一交换设备在对所述目标资源设备进行资源配置时,具体用于:通过所述目标下游端口将所述枚举配置命令发送至所述目标资源设备,以供所述目标资源设备对所述枚举配置命令进行响应;

其中,所述枚举配置命令可反映所述第一交换设备所连接的节点设备的应用需求。

7.根据权利要求3所述的系统,所述第一交换设备,还用于:若所述第一节点设备对所述第一资源设备无使用权限,则所述第一交换设备对所述枚举配置命令进行响应。

8.根据权利要求1所述的系统,还包括:管控设备;

所述管控设备,用于:根据所述多个节点设备对资源的需求以及对当前具有使用权限的资源设备的使用情况,动态为所述多个节点设备配置具有使用权限的目标资源设备;并将所述节点设备与资源设备的使用权限关系提供给所述多个交换设备。

9.根据权利要求8所述的系统,所述管控设备,还用于:在每次为所述多个节点设备配置具有使用权限的资源设备时,记录所述映射关系;并将所述映射关系提供给所述多个交换设备。

10.根据权利要求8所述的系统,所述管控设备,还用于:在每次为所述多个节点设备配置具有使用权限的资源设备后,指示所述多个节点设备进行设备枚举。

11.根据权利要求3‑10任一项所述的系统,每个节点设备,用于为隶属于该节点设备的交换设备的下游端口配置身份标识。

12.一种设备枚举方法,适用于交换设备,所述交换设备包括上游端口和下游端口;所述上游端口连接有节点设备;所述下游端口连接有资源设备;所述交换设备还与隶属于其它节点设备的交换设备互联;所述方法包括:响应于设备枚举触发事件,确定所述交换设备所隶属的节点设备具有使用权限的目标资源设备;

根据所述交换设备所隶属的节点设备对应的应用需求,对所述目标资源设备进行资源配置;

其中,所述目标资源设备包括所述隶属于其它节点设备的交换设备下挂载的资源设备;所述下游端口包括:下游物理端口和下游虚拟端口;所述交换设备预置有所述交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的映射关系;其中,交换设备隶属的节点设备根据所述映射关系获得对所述目标下游物理端口挂载的资源设备的使用权限。

13.根据权利要求12所述的方法,所述确定所述交换设备所隶属的节点设备具有使用权限的目标资源设备,包括:

根据预先配置的节点设备与资源设备的使用权限关系,确定所述交换设备所隶属的节点设备具有使用权限的目标资源设备;

所述节点设备与资源设备的使用权限关系,至少包括一个节点设备对隶属于其它节点设备的交换设备下的资源设备的使用权限。

14.根据权利要求13所述的方法,所述设备枚举触发事件为:接收到所述交换设备所隶属的节点设备发送的第一枚举配置命令;所述第一枚举配置命令包含待枚举的目标下游端口的身份标识;

所述根据预先配置的节点设备与资源设备的使用权限关系,确定所述交换设备所隶属的节点设备具有使用权限的目标资源设备,包括:在所述目标下游端口连接有资源设备的情况下,根据所述目标下游端口的身份标识和所述网络系统的拓扑结构,生成所述目标下游端口连接的第一资源设备的路由信息;

根据所述路由信息和所述节点设备与资源设备的使用权限关系,确定所述交换设备所隶属的节点设备对所述第一资源设备是否具有使用权限;

若所述交换设备所隶属的节点设备对所述第一资源设备具有使用权限,则将所述第一资源设备作为一个目标资源设备。

15.根据权利要求14所述的方法,所述目标下游端口的身份标识为:所述目标下游端口的总线号、设备号和功能号。

16.根据权利要求15所述的方法,还包括:根据所述目标下游端口的身份标识中的功能号,读取所述功能号对应的寄存器的信息;

根据所述寄存器的信息,确定所述目标下游端口是否连接有资源设备。

17.根据权利要求14所述的方法,若所述目标下游端口为所述交换设备的下游虚拟端口,所述根据所述交换设备所隶属的节点设备对应的应用需求,对所述目标资源设备进行资源配置,包括:

根据所述交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的映射关系,确定所述目标下游端口对应的目标下游物理端口所在的目标交换设备;

通过所述交换设备与所述目标交换设备之间互联的网络,将所述第一枚举配置命令转发至所述目标交换设备,以供所述目标交换设备根据所述第一枚举配置命令对所述目标资源设备进行资源配置;

其中,所述第一枚举配置命令可反映所述交换设备所隶属的节点设备的应用需求。

18.根据权利要求17所述的方法,所述交换设备与所述目标交换设备之间互联的网络遵循的通信方式与所述下游物理端口遵循的通信协议相适配。

19.根据权利要求18所述的方法,所述下游物理端口为PCIE接口;所述下游物理端口遵循的通信协议为PCIE协议。

20.根据权利要求14所述的方法,若所述目标下游端口为所述交换设备的下游物理端口,所述根据所述交换设备所隶属的节点设备对应的应用需求,对所述目标资源设备进行资源配置,包括:

通过所述目标下游端口将所述第一枚举配置命令发送至所述目标资源设备,以供所述目标资源设备对所述第一枚举配置命令进行响应;

其中,所述第一枚举配置命令可反映所述交换设备所连接的节点设备的应用需求。

21.根据权利要求14所述的方法,所述方法还包括:若所述交换设备所隶属的节点设备对所述第一资源设备无使用权限,则所述交换设备对所述第一枚举配置命令进行响应。

22.根据权利要求21所述的方法,所述交换设备对所述第一枚举配置命令进行响应,包括:

若所述第一枚举配置命令为配置读请求,则向所述交换设备所隶属的节点设备返回不支持请求或设备不存在信息;

若所述第一枚举配置命令为配置写请求,则向所述交换设备所隶属的节点设备返回不支持请求;

若所述第一枚举配置命令为消息,则丢弃所述第一枚举配置命令。

23.根据权利要求14所述的方法,还包括:接收其它交换设备转发的第二枚举配置命令;所述第二枚举配置命令包含:所述其它交换设备的待枚举的下游虚拟端口的身份标识;

根据所述其它交换设备的下游虚拟端口与所述交换设备的目标下游物理端口之间的映射关系以及所述待枚举的下游虚拟端口的身份标识,确定所述交换设备上与所述待枚举的下游虚拟端口对应的目标下游物理端口;

将所述第二枚举配置命令转发至所述与所述待枚举的下游虚拟端口对应的目标下游物理端口挂载的资源设备,以供所述与所述待枚举的下游虚拟端口对应的目标下游物理端口挂载的资源设备对所述第二枚举配置命令进行响应。

24.根据权利要求12‑23任一项所述的方法,所述交换设备为部署于所述交换设备所隶属的节点设备的交换开关。

25.一种交换设备,包括:存储器、处理器和通信组件;所述通信组件包括:上游端口、下游端口和网络接口;所述上游端口用于连接所述交换设备所隶属的节点设备;所述下游端口用于连接资源设备;所述网络接口用于与隶属于其它节点设备的交换设备通信连接;

所述下游端口包括:下游物理端口和下游虚拟端口;所述交换设备预置有所述交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的映射关系;其中,交换设备隶属的节点设备根据所述映射关系获得对所述目标下游物理端口挂载的资源设备的使用权限;

所述存储器,用于存储计算机程序;

所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求12‑24任一项所述方法中的步骤。

26.一种计算机设备,包括:交换模块以及与所述交换模块的上游端口连接的主机模块;所述交换模块的下游端口挂载有资源设备;所述交换模块还与隶属于其它计算机设备的交换模块通信连接;

所述交换模块,用于:响应于设备枚举触发事件,确定所隶属的主机模块具有使用权限的目标资源设备;根据所述交换模块所隶属的主机模块对应的应用需求,对所述目标资源设备进行资源配置;其中,所述目标资源设备包括所述隶属于其它计算机设备的交换模块下挂载的资源设备;

所述下游端口包括:下游物理端口和下游虚拟端口;所述交换模块预置有所述交换模块的下游虚拟端口与其它交换模块的目标下游物理端口之间的映射关系;其中,交换模块隶属的计算机设备根据所述映射关系获得对所述目标下游物理端口挂载的资源设备的使用权限。

27.一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求12‑24任一项所述方法中的步骤。

说明书 :

设备枚举方法、设备、系统及存储介质

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种设备枚举方法、设备、系统及存储介质。

背景技术

[0002] 高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIE)体系架构一般包括根组件(Root Complex)、交换器(Switch)和各种终端设备
(Endpoint)。对于这么多设备,主机的CPU启动后,需要进行PCIE设备枚举找到这些设备,并
建立PCIE体系的拓扑结构。
[0003] 但是,现有的PCIE设备枚举方式针对一些定制网络并不适用,例如,主机与主机之间的通信方式不遵从以太网协议的网络系统等。因此,针对一些定制网络进行设备枚举的
问题亟待解决。

发明内容

[0004] 本申请的多个方面提供一种设备枚举方法、设备、系统及存储介质,用以实现对定制网络的设备枚举。
[0005] 本申请实施例提供一种网络系统,包括:多个交换设备,以及连接于所述多个交换设备的上游端口的多个节点设备;所述多个交换设备之间互联,且所述多个交换设备的下
游端口连接有资源设备;
[0006] 第一交换设备,用于:响应于设备枚举触发事件,确定第一节点设备具有使用权限的目标资源设备;所述第一节点设备是指所述第一交换设备所隶属的节点设备;以及根据
所述第一交换设备所隶属的节点设备对应的应用需求,对所述目标资源设备进行资源配
置;
[0007] 其中,所述多个节点设备中至少存在一个目标节点设备,任一目标节点设备具有使用权限的目标资源设备包括:挂载于除隶属于该目标节点设备的目标交换设备之外的其
它交换设备的下游端口的资源设备。
[0008] 本申请实施例还提供一种设备枚举方法,适用于交换设备,所述交换设备包括上游端口和下游端口;所述上游端口连接有节点设备;所述下游端口连接有资源设备;所述交
换设备还与隶属于其它节点设备的交换设备互联;所述方法包括:
[0009] 响应于设备枚举触发事件,确定所述交换设备所隶属的节点设备具有使用权限的目标资源设备;
[0010] 根据所述交换设备所隶属的节点设备对应的应用需求,对所述目标资源设备进行资源配置;
[0011] 其中,所述目标资源设备包括所述隶属于其它节点设备的交换设备下挂载的资源设备。
[0012] 本申请实施例还提供一种交换设备,包括:存储器、处理器和通信组件;所述通信组件包括:上游端口、下游端口和网络接口;所述上游端口用于连接所述交换设备所隶属的
节点设备;所述下游端口用于连接资源设备;所述网络接口用于与隶属于其它节点设备的
交换设备通信连接;
[0013] 所述存储器,用于存储计算机程序;
[0014] 所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行述方法中的步骤。
[0015] 本申请实施例还提供一种计算机设备,包括:交换模块以及与所述交换模块的上游端口连接的主机模块;所述交换模块的下游端口挂载有资源设备;所述交换模块还与隶
属于其它计算机设备的交换模块通信连接;
[0016] 所述交换模块,用于:响应于设备枚举触发事件,确定所隶属的主机模块具有使用权限的目标资源设备;根据所述交换模块所隶属的主机模块对应的应用需求,对所述目标
资源设备进行资源配置;其中,所述目标资源设备包括所述隶属于其它计算机设备的交换
模块下挂载的资源设备。
[0017] 本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述方法中的步骤。
[0018] 本申请实施例提供的网络系统,包括:多个交换设备,以及连接于多个交换设备的上游端口的多个节点设备;多个交换设备之间互联,且多个交换设备的下游端口连接有资
源设备,这样多个节点设备之间可实现资源设备共享,即一个节点设备可使用其它节点设
备挂载的资源设备。基于这种特有的网络架构,在本申请实施例中,交换设备可确定其所连
接的节点设备具有使用权限的目标资源设备;并根据交换设备所连接的节点设备对应的应
用需求,对目标资源设备进行资源配置,进而实现了对这种特有的网络系统的设备枚举。

附图说明

[0019] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020] 图1a为本申请实施例提供的一种网络系统的结构示意图;
[0021] 图1b为本申请实施例提供的交换设备的结构示意图;
[0022] 图1c为本申请实施例提供的另一种网络系统的结构示意图;
[0023] 图1d为图1c所示的网络系统中的节点的结构示意图;
[0024] 图1e为本申请实施例提供的枚举过程示意图;
[0025] 图2为本申请实施例提供的设备枚举方法的流程示意图;
[0026] 图3为本申请实施例提供的交换设备的结构示意图;
[0027] 图4为本申请实施例提供的计算机设备的结构示意图。

具体实施方式

[0028] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一
部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0029] 针对现有的设备枚举方式针对一些定制网络并不适用的技术问题,本申请一些实施例提供的网络系统,包括:多个交换设备,以及连接于多个交换设备的上游端口的多个节
点设备;多个交换设备之间互联,且多个交换设备的下游端口连接有资源设备,这样多个节
点设备之间可实现资源设备共享,即一个节点设备可使用其它节点设备挂载的资源设备。
基于这种特有的网络架构,在本申请实施例中,交换设备可确定其所连接的节点设备具有
使用权限的目标资源设备;并根据交换设备所连接的节点设备对应的应用需求,对目标资
源设备进行资源配置,进而实现了对这种特有的网络系统的设备枚举。
[0030] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0031] 应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨
论。
[0032] 在实际应用中,服务端设备的根端口会通过PCIE交换设备向下连接资源设备(Endpoint,EP)。但是,按照PCIE标准协议的规定,PCIE交换设备的所挂载的资源设备只能
隶属于该交换设备所连接的服务端设备,不能被其它服务端设备所使用,不仅造成资源的
浪费,还可能影响服务端设备的服务性能。
[0033] 为了解决上述问题,本申请实施例提供一种新的网络系统,如图1a所示,该网络系统包括:多个交换设备10以及连接于多个交换设备10的上游端口10a的多个节点设备11。优
选地,一个交换设备10隶属于1个节点设备11。在本申请实施例中,若一个交换设备10的上
游端口(Upstream Port,us port)10a与1个节点设备11连接,则可理解为:该交换设备10隶
属于与其上游端口10a连接的该节点设备11。在本申请实施例中,多个是指2个或2个以上。
[0034] 在本实施例中,节点设备11可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(Virtual Machine,VM)。另外,节点设备11也可以
指具备相应服务能力的其他计算设备,例如电脑等终端设备(运行服务程序)等。
[0035] 在本实施例中,每台交换设备10还包括:下游端口(Downstream Port,ds port)10b和网络接口10c。其中,下游端口10b连接有资源设备12。在本申请实施例中,下游端口
10b连接有资源设备12应理解为:下游端口10b直接或间接与资源设备12连接。在本申请实
施例中,下游端口10b直接与资源设备12b连接,也可称为资源设备12b挂载于下游端口10b。
其中,对于一台交换设备10,其网络接口10c可以为1个或多个。例如,网络接口10c可以为4
个、6个或8个等等。对于一台交换设备10,其下游端口10b可以为1个或多个。当一台交换设
备10的下游端口10b为多个时,至少存在一个下游端口与资源设备12直接相连,即一台交换
设备10的多个下游端口中至少存在一个下游端口挂载有资源设备12。
[0036] 在本申请实施例中,不限定资源设备12的实现形式。资源设备12可提供计算资源和/或存储资源。在一些实施例中,资源设备12可提供计算资源。例如,资源设备12可包括:
处理器及其外围电路。其中,处理器可以为中央处理器(Central Processing Unit,CPU)、
图形处理器(Graphics Processing Unit,GPU)或微控制单元(Microcontroller Unit,
MCU);也可以为现场可编程门阵列(Field‑Programmable Gate Array,FPGA)、可编程阵列
逻辑器件(Programmable Array Logic,PAL)、通用阵列逻辑器件(General Array Logic,
GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;
或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System 
on Chip SOC)等等,但不限于此。
[0037] 在本实施例中,交换设备10可以为独立的物理机,也可为部署于节点设备11上的交换开关。交换设备10可由芯片实现,即在芯片内实现具有上游端口和下游端口的交换开
关。交换设备10为PCIE交换机、PCI交换机、USB交换机、SATA交换机或SAS交换机等等。其中,
交换设备10的上下游端口的类型与交换设备的类型相同。例如,若交换设备10为PCIE交换
机,则PCIE交换机的上下游端口均为PCIE端口,遵循PCIE协议;若交换设备10a为USB交换
机,则USB交换机的上下游端口均为USB端口,遵循USB协议;等等。
[0038] 在本实施例中,多个交换设备10之间互联。其中,多个交换设备10a可通过其网络接口10c进行互联。多个交换设备10之间可两两进行直接互联,也可通过其它交换设备进行
间接互联。其中,其它交换设备的数量可以为1个或多个。例如,交换设备A和交换设备B可直
接进行互联,也可通过另一交换设备C进行互联,设置可通过更多的其它交换设备进行互
联。
[0039] 多个交换设备10之间进行互联,可实现不同交换设备之间的网络通信。在本申请实施例中,不限定交换设备10之间进行网络通信所采用的网络协议。可选地,交换设备10之
间可基于以太网通信协议、蓝牙协议、WiFi协议或移动网络进行通信。相应地,移动网络的
网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD‑SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+
(LTE+)、5G、WiMax等中的任意一种。或者,交换设备10之间也可采用一些定制的非标准网络
协议进行通信。优选地,不同的交换设备10之间进行网络通信所遵循的网络协议,与交换设
备10的下游端口10b所遵循的通信协议相适配。这样,在后续进行设备枚举时,无需进行协
议转换,有助于提高设备枚举的速率。关于在设备枚举时,如何提高设备枚举速率将在下文
对设备枚举过程的描述中进行详述,在此暂不赘述。
[0040] 其中,在交换设备10之间也可采用一些定制的非标准网络协议进行通信时,不限定通信带宽。例如,交换设备10上的网络接口可采用100G的高速定制网络接口等。
[0041] 对于多个节点设备11,可通过多个交换设备10的互联而实现互联。基于上述网络系统架构,多个节点设备11通过多个交换设备10实现互联,在物理结构上,多个节点设备11
与多个交换设备10的下游物理端口10b1挂载的资源设备12存在连接关系。但是,按照标准
协议的规定,交换设备10的所挂载的资源设备只能隶属于该交换设备的上游端口10a所连
接的节点设备,不能被其它节点设备所使用。
[0042] 在本实施例中,为了解决上述问题,引入了端口虚拟化技术,即对于交换设备10来说,可设置1个或多个下游虚拟端口10b2。如图1b所示,交换设备10的下游端口10b可包括:
下游物理端口10b1和下游虚拟端口10b2。在本申请实施例中,不限定交换设备10包括的下
游物理端口10b1和下游虚拟端口10b2的具体数量。其中图1b仅以下游物理端口10b1的数量
为4个,下游虚拟端口10b2的数量为124个为例进行图示。其中,图1b中的ds port0/1/2/3为
下游物理端口,ds port4~127是下游虚拟端口。
[0043] 在本实施例中,下游物理端口10b1可挂载资源设备12,即下游物理端口10b1直接与资源设备12连接。交换设备10的下游虚拟端口10b2可形成与其它交换设备的下游物理端
口10b1的映射关系。这样,便可建立挂载于其它交换设备的下游物理端口10b1的资源设备
12和本交换设备10的下游虚拟端口10b2的连接关系,对于本交换设备10所连接的节点设备
11来说,挂载于其它交换设备的下游物理端口10b1的资源设备12就像挂载于本交换设备10
的下游物理端口10b1,实现了网络系统中多个交换设备10的下游物理端口所挂载的资源设
备12的资源池化,使节点设备11不仅可访问隶属于自己的交换设备的下游物理端口所挂载
的资源设备,还可访问隶属于其它节点设备的交换设备的下游物理端口所挂载的资源设
备。
[0044] 对于节点设备11来说,可访问隶属于该节点设备11的交换设备的下游端口10b所连接的资源设备12。对于交换设备10的下游物理端口10b1挂载的资源设备,该交换设备10
所隶属的节点设备11可直接访问资源设备。对于其它交换设备的下游物理端口10a挂载的
资源设备,节点设备11可根据隶属于该节点设备11的交换设备10的下游虚拟端口与其它交
换设备的下游物理端口之间的映射关系,访问其它交换设备的下游物理端口挂载的资源设
备,进而实现节点设备之间的资源共享,实现资源池化。
[0045] 可选地,节点设备11可将访问请求发送于隶属于该节点设备11的交换设备10。交换设备19可根据预设的每个目标交换设备的下游虚拟端口与除该目标交换设备之外的其
它交换设备的下游物理端口之间的映射关系,确定与该目标交换设备的下游虚拟端口存在
映射关系的下游物理端口所属的另一交换设备,并通过目标交换设备与另一交换设备互联
的网络将访问请求转发给另一交换设备。相应地,另一交换设备将访问请求发送给与交换
设备10存在映射关系的下游物理端口挂载的资源设备12。这样,资源设备12便可对访问请
求进行响应,从而实现了节点设备11对隶属于其它节点设备的交换设备下挂载的资源设备
的访问。
[0046] 值得说明的是,上述图1a仅以交换设备10和节点设备11均为4个进行示例,并不对其数量构成限定。在本申请实施例中,对于交换设备10和节点设备11的数量不做限定,节点
设备11的数量与交换设备10的数量相等。
[0047] 在一些实施例中,如图1c所示,节点设备11和交换设备10的数量均为32个。图1c中所示的16个节点之间通信连接,一个黑色圆点代表一个节点。图1c中的每个节点的结构如
图1d所示。每个节点由两台节点设备11和两个交换设备10组成,节点设备11与交换设备10
的上游端口10a连接,交换设备10的下游物理端口10b1用于连接资源设备。图1d仅以一个交
换设备10包含4个下游物理端口10b1进行图示,并不构成限定。进一步,图1d所示的交换设
备10为PCIE交换开关,其具有1个PCIE上游端口和4个PCIE下游物理端口,其中,1个上游端
口用于和相连接的节点设备11的PCIE根端口连接通信。
[0048] 基于上述网络系统架构和网络工作原理可知,对于节点设备11来说,其具有使用权限的资源设备不一定全部挂载于隶属于该节点设备11的交换设备的下游物理端口;当
然,对于节点设备11来说,隶属于该节点设备11的交换设备10的下游物理端口10a挂载的资
源设备12,也不一定归该节点设备11所使用,即节点设备11不一定对隶属于自己的交换设
备10的下游物理端口10a挂载的资源设备12具有使用权限。为了为多个节点设备11配置其
具有使用权限的资源设备,如图1e所示,本申请实施例提供的网络系统还可包括:管控设备
13。相应地,管控设备13可为多个节点设备11配置其具有使用权限的资源设备12。
[0049] 可选地,管控设备13可提供人机交互界面,由用户为多个节点设备11配置具有使用权限的资源设备12。或者,管控设备13也可自动为多个节点设备11配置具有使用权限的
资源设备12。可选地,管控设备13可根据多个节点设备11对资源的需求以及多个节点设备
11对当前具有使用权限的资源设备的使用情况,为多个节点设备11动态配置具有使用权限
的资源设备12。
[0050] 可选地,管控设备13可监测多个节点设备11对当前分配到的资源设备12的使用情况以及对资源的需求情况,并在监测到需要重新对多个节点设备11需要重新进行资源设备
配置的情况下,为多个节点设备11按需配置具有使用权限的资源设备12。例如,若管控设备
13监测到多个节点设备11至少存在一个节点设备A对资源需求增加,且节点设备A当前分配
到的资源设备12不能满足节点设备A对资源的需求;而多个节点设备11中除节点设备A之外
存在至少一个节点设备B对当前分配到的资源设备12并未完全占用,则管控设备13可重新
对多个节点设备11重新进行资源设备的配置,例如,管控设备13可将节点设备B具有使用权
限但未使用的资源设备12分配给节点设备A使用。
[0051] 对于一个节点设备11来说,其分配到的具有使用权限的资源设备12可能全部挂载于隶属于自己的交换设备10的下游物理端口,也可能全部挂载于隶属于其它节点设备的交
换设备的下游物理端口;或者部分挂载于隶属于自己的交换设备10的下游物理端口,其余
部分挂载于隶属于其它节点设备的交换设备的下游物理端口。在本申请实施例中,为了便
于描述和区分,将具有使用权限的资源设备包含隶属于其它节点设备的交换设备的下游物
理端口挂载的资源设备的节点设备定义为目标节点设备。即对于任一目标节点设备来说,
其具有使用权限的资源设备包括:除隶属于该目标节点设备的交换设备之外的其它交换设
备的下游物理端口挂载的资源设备。
[0052] 进一步,若管控设备13为节点设备11分配到的具有使用权限的资源设备包括隶属于其它节点设备的交换设备下挂载的资源设备,即多个节点设备11中至少存在一个目标节
点设备,则管控设备13还可记录隶属于每个目标节点设备的交换设备的下游虚拟端口与除
隶属于该目标节点设备的交换设备之外的其它交换设备的下游物理端口之间的映射关系,
其中,该映射关系中的除隶属于该目标节点设备的交换设备之外的其它交换设备的下游物
理端口是指:资源设备实际所挂载的交换设备的下游物理端口。进一步,管控设备13还可将
该映射关系提供给多个交换设备10。在本申请实施例中,不限定交换设备10存储交换设备
的下游虚拟端口与其它交换设备的下游物理端口之间的映射关系的存储形式。可选地,交
换设备10可以表项、文档或键值对等形式存储交换设备的下游虚拟端口与其它交换设备的
下游物理端口之间的映射关系。可选地,如图1e所示,管控设备13可将交换设备的下游虚拟
端口与其它交换设备的下游物理端口之间的映射关系写入多个交换设备10的资源配置表
中。
[0053] 进一步,管控设备13为多个节点设备11配置资源设备的过程中,还可记录节点设备与资源设备的使用权限关系,并将该使用权限关系提供给多个交换设备10。其中,节点设
备与资源设备的使用权限关系可表示为:节点设备标识与资源设备标识之间的对应关系。
其中,节点设备标识是指唯一标识一台节点设备的信息,可为节点设备的编号。资源设备的
标识是指可唯一标识一台资源设备的标识,可为资源设备的编号,或者也可为资源设备的
路由信息。在本申请实施例中,不限定交换设备10存储节点设备与资源设备的使用权限关
系的存储形式。可选地,交换设备10可以表项、文档或键值对等形式存储节点设备与资源设
备的使用权限关系。可选地,如图1e所示,管控设备13可将节点设备与资源设备的使用权限
关系写入多个交换设备10的资源配置表中。
[0054] 进一步,管控设备13为多个节点设备11配置资源设备完成后,可指示多个节点设备11进行设备枚举。或者,在另外一些设备枚举触发事件下,交换设备10自动对其所隶属的
节点设备11具有使用权限的资源设备进行枚举。下面对本申请实施例提供的设备枚举过程
进行示例性说明。
[0055] 在本申请实施例中,多个节点设备11进行设备枚举的目的是为了发现其具有使用权限的资源设备。设备枚举过程包括:确定节点设备11具有使用权限的资源设备以及为节
点设备11具有使用权限的资源设备进行资源配置。
[0056] 在本申请实施例中,节点设备11在进行设备枚举之前并不知道其具有使用权限的资源设备12有哪些,也不知道其具有使用权限的资源设备连接于隶属于该节点设备11的哪
个下游端口。基于此,节点设备11在设备枚举过程中,可遍历隶属于该节点设备11的交换设
备10的下游端口10b。对于交换设备10来说,可响应于设备枚举触发事件,确定该交换设备
10所隶属的节点设备具有使用权限的目标资源设备;并根据该交换设备10所隶属的节点设
备对应的应用需求,对目标资源设备进行资源配置。
[0057] 可选地,基于上述管控设备13为多个节点设备11动态配置具有使用权限的资源设备的过程,可知交换设备10中维护有节点设备与资源设备的使用权限关系。基于此,交换设
备10可根据预先配置的节点设备与资源设备的使用权限关系,确定交换设备所隶属的节点
设备11具有使用权限的目标资源设备。
[0058] 其中,在不同的枚举场景下,设备枚举触发事件不同。下面结合几种枚举场景对设备枚举触发事件进行示例性说明。
[0059] 枚举场景1:交换设备10可设置枚举周期,并启动定时器或计数器对枚举周期进行计时,并在枚举周期到达时,确定该交换设备10所隶属的节点设备具有使用权限的目标资
源设备。相应地,设备枚举触发事件为到达枚举周期。
[0060] 枚举场景2:交换设备10可监测存储的节点设备与资源设备之间的使用权限关系,当监测到节点设备与资源设备之间的使用权限关系发生变化时,确定该交换设备10所隶属
的节点设备具有使用权限的目标资源设备。相应地,设备枚举触发事件为监测到节点设备
与资源设备之间的使用权限关系发生变化。
[0061] 枚举场景3:管控设备13可在每次为多个节点设备11配置具有使用权限的资源设备之后,指示多个节点设备11进行设备枚举。相应地,节点设备11可向隶属于该节点设备11
的交换设备10发送枚举配置命令。交换设备10接收该枚举配置命令,并响应于该枚举配置
命令,确定该交换设备10所隶属的节点设备具有使用权限的目标资源设备。相应地,设备枚
举触发事件为接收到该交换设备10所隶属的节点设备发送的枚举配置命令。进一步,节点
设备11进行设备枚举的过程可理解为对隶属于该节点设备11的交换设备10的下游端口10b
进行遍历的过程。可选地,节点设备11在进行设备枚举时,可向隶属于该节点设备11的交换
设备10发送枚举配置命令,依次遍历节点设备11的下游端口10b。可选地,节点设备11可每
次遍历交换设备10的一个下游端口10b,即节点设备11每发出一个枚举配置命令,对应遍历
交换设备10的一个下游端口10b。枚举配置命令可包括待枚举的目标下游端口的身份标识。
其中,下游端口的身份标识为唯一标识一个下游端口的信息。可选地,下游端口的身份标识
可为:总线号、设备号和功能号(Bus Number、Device Number and Function Number,BDF)。
[0062] 交换设备10的下游端口的身份标识,可由其所隶属的节点设备11进行配置。可选地,节点设备11在需要加载硬件实例时,可对隶属于该节点设备11的交换设备10进行初始
化。进一步,节点设备11可在对交换设备10进行初始化的过程中,交换设备10可被其所隶属
的节点设备11识别为一个由1个上游端口和多个下游端口组成的交换开关。无论下游端口
是否有物理上存在的资源设备,节点设备11都不能枚举到任何资源设备,主机只能看到交
换设备10具有1个上游端口和多个下游端口。进一步,节点设备11可在对交换设备10进行初
始化的过程中,为该交换设备10的下游端口10b配置身份标识。
[0063] 对于交换设备10来说,可响应于该枚举配置命令,对该枚举配置命令所要遍历的目标下游端口进行设备扫描。在本申请实施例中,交换设备10可为多个交换设备中的任何
交换设备。每个交换设备进行枚举的过程相同。下面以第一交换设备为例,对设备枚举过程
进行示例性说明。其中,第一交换设备为多个交换设备10中的任一交换设备。为了便于描述
和区分,将第一交换设备所隶属的节点设备,定义为第一节点设备。
[0064] 对于第一交换设备,第一交换设备可对接收到的枚举配置命令进行解析,获取枚举配置命令包含的待枚举的目标下游端口的身份标识;并根据目标下游端口的身份标识,
读取该目标下游端口对应的寄存器的信息;根据读取的寄存器的信息,确定目标下游端口
是否连接有资源设备。可选地,寄存器中存储有对应的下游端口是否连接有资源设备的标
识信息。可选地,下游端口是否连接有资源设备的标识可为:该下游端口的身份标识中的功
能号对应的VID;若VID不为0,则表示下游虚拟端口连接有资源设备;若VID为FFFF,则表示
下游端口没有连接有资源设备。相应地,交换设备10根据读取的目标下游端口的身份标识
中的功能号对应的VID,便可确定目标下游端口是否连接有资源设备。
[0065] 进一步,在目标下游端口连接有资源设备的情况下,第一交换设备可根据目标下游端口的身份标识和网络系统的拓扑结构,生成目标下游端口连接的第一资源设备的路由
信息。其中,网络系统的拓扑结构包括:该网络系统中的各设备的名称、位置以及设备之间
的连接关系。第一资源设备的路由信息可为挂载第一资源设备的交换设备所隶属的节点设
备的编号以及第一资源设备的设备编号。进一步,第一交换设备可根据该路由信息以及节
点设备与资源设备的使用权限关系,确定该交换设备所隶属的第一节点设备对第一资源设
备是否具有使用权限;若第一节点设备11对第一资源设备无使用权限,则如图1e中的编号1
所示,第一交换设备对枚举配置命令进行响应。这样,可缩短无效节点的枚举事务的通信路
径,减少了枚举所消耗的时间,进而有助于提高枚举效率。
[0066] 进一步,若枚举配置命令为配置读请求,则第一交换设备可向交换设备连接的节点设备返回不支持请求或设备不存在信息;若枚举配置命令为配置写请求,则第一交换设
备可向交换设备返回不支持请求;若枚举配置命令为消息(Message),则丢弃该枚举配置命
令。
[0067] 相应地,若该第一交换设备所隶属的第一节点设备对第一资源设备具有使用权限,则将第一资源设备作为一个目标资源设备,并根据接收到的枚举配置命令对第一资源
设备进行资源配置。其中,枚举配置命令可反映第一交换设备所隶属的节点设备11的应用
需求。例如,若枚举配置命令为配置读请求(如CfgRd配置读请求等),则配置读请求可反应
第一交换设备所隶属的节点设备读寄存器的需求。又例如,若枚举配置命令为配置写请求
(如CfgWr配置写请求),配置写请求可反应第一交换设备所隶属的节点设备写寄存器的需
求。又例如,若枚举配置命令为消息(Message),则消息可反应第一交换设备所隶属的节点
设备传播消息的需求。
[0068] 在一些实施例中,多个节点设备11中至少存在一个目标节点设备。其中,目标节点设备是指其具有使用权限的资源设备包括:隶属于其它节点设备11的交换设备的下游物理
端口挂载的资源设备的节点设备。即对于目标节点设备来说,其具有使用权限的目标资源
设备包括:隶属于其它节点设备的交换设备的下游物理端口挂载的资源设备。在该实施例
中,若第一交换设备所隶属的节点设备为目标节点设备,且待枚举的目标下游端口为下游
虚拟端口,则如图1e中的编号2所示,第一交换设备可通过与其它交换设备之间互联的网
络,将枚举配置命令转发给其它交换设备。这样,其它交换设备便可根据该枚举配置命令对
目标资源设备进行资源配置。可选地,第一交换设备10可根据目标下游端口的身份标识以
及预先设置的每个目标交换设备的下游虚拟端口与除该目标交换设备之外的其它交换设
备的目标下游物理端口之间的映射关系,确定目标下游端口对应的下游物理端口所在的第
二交换设备,即物理上实际挂载目标资源设备的第二交换设备。之后,第一交换设备可通过
其与第二交换设备之间互联的网络,将枚举配置命令转发给第二交换设备。
[0069] 对于交换设备之间的通信方式可参见上述实施例的相关内容,在此不再赘述。优选地,不同的交换设备10之间进行网络通信所遵循的网络协议,与交换设备10的下游端口
10b所遵循的通信协议相适配,即不同的交换设备10之间进行网络通信所遵循的网络协议,
与交换设备10的下游端口10b所遵循的通信协议兼容。这样,交换设备10便可将遵循下游端
口10b所遵循的通信协议的枚举配置命令直接转发给其它交换设备,而无需进行协议转换,
进而可提高设备枚举效率。
[0070] 例如,多个交换设备10为PCIE交换设备,下游端口10b为PCIE端口,遵循PCIE协议,则不同的交换设备10之间进行通信所遵循的网络协议与PCIE相适配,即不同的交换设备10
之间进行通信所遵循的网络协议与PCIE协议兼容。这样,交换设备10便可将遵循PCIE协议
的枚举配置命令直接转发给其它交换设备,而无需对枚举配置命令进行协议转换,进而有
助于提高设备枚举效率。
[0071] 对于接收到其它交换设备转发的该枚举配置命令的第二交换设备来说,可根据枚举配置命令包含的目标下游端口的身份标识和网络系统的拓扑结构,生成目标资源设备的
路由信息,并根据该路由信息,将枚举配置命令通过第二交换设备上与目标下游端口对于
的下游物理端口转发至目标资源设备。相应地,目标资源设备可对枚举配置命令进行响应。
可选地,目标资源设备还可向发出枚举配置命令的节点设备返回响应信息。其中,响应信息
可通过与枚举配置命令相同的通路回到发出该枚举配置命令的节点设备11所连接的第一
交换设备中。第一交换设备将响应信息调度到上游端口10a,通过上游端口10a将响应信息
返回给第一交换设备所隶属的节点设备11,完成对目标下游端口的遍历,即完成一次设备
枚举。
[0072] 可选地,上述枚举配置命令不同,目标资源设备可对枚举配置命令进行响应的方式不同。例如,若枚举配置命令为配置读请求,则目标资源设备可读取配置读请求要求的数
据,并将读取的数据封装至响应信息中返回给发出枚举配置命令的节点设备11。又例如,若
枚举配置命令为配置写请求,则目标资源设备可将配置写请求包含的待写入数据写入相应
的寄存器,并向发出枚举配置命令的节点设备11返回完成响应信息(cmpl响应)。
[0073] 在另一些实施例中,若第一交换设备所隶属的第一节点设备不是目标节点设备,或者,待枚举的目标下游端口为下游物理端口,且第一节点设备对该下游物理端口下挂载
的资源设备具有使用权限,则如图1e中的编号3所示,隶属于发出枚举配置命令的节点设备
11的第一交换设备可通过目标下游端口将枚举配置命令发送至目标资源设备。该处的目标
资源设备为目标下游端口挂载的资源设备。相应地,目标资源设备对该枚举配置命令进行
响应,并向发出枚举配置命令的节点设11发出响应信息。其中,关于目标资源设备对枚举配
置命令进行响应的方式,可参见上述实施例的相关内容,在此不再赘述。
[0074] 在本申请实施例中,网络系统中的交换设备10不仅可接收其所隶属的节点设备11发出的枚举配置命令,也可接收其它交换设备转发的其它交换设备所隶属的节点设备11所
发出的枚举配置命令。为了便于描述和区分,将交换设备10接收到的其所隶属的节点设备
11发出的枚举配置命令,定义为第一枚举配置命令,并将接收到其它交换设备转发的枚举
配置命令,定义为第二枚举配置命令。对于第二枚举配置命令来说,其包含的待枚举的目标
下游端口的身份标识,为隶属于发出第二枚举配置命令的节点设备的交换设备的下游虚拟
端口的身份标识。下面仍以第一交换设备为例进行示例性说明。为了便于描述和区分,将向
第一交换设备转发枚举配置命令的交换设备定义为第三交换设备。其中,第三交换设备为
除第一交换设备之外的任一交换设备。
[0075] 相应地,第一交换设备可接收第三交换设备转发的第二枚举配置命令,并每个目标交换设备的下游虚拟端口与除该目标交换设备之外的其它交换设备的目标下游虚拟端
口之间的映射关系以及待枚举的下游虚拟端口的身份标识,确定第一交换设备上与待枚举
的下游虚拟端口对应的目标下游物理端口;并将第二枚举配置命令转发至目标下游物理端
口挂载的资源设备。目标下游物理端口挂载的资源设备可对第二枚举配置命令进行响应。
其中,关于目标下游物理端口挂载的资源设备可对第二枚举配置命令进行响应的方式可参
见上述实施例的相关内容,在此不再赘述。
[0076] 除了上述系统实施例之外,本申请实施例还提供设备枚举方法,下面从交换设备的角度,对本申请实施例提供的设备枚举方法进行说明。
[0077] 图2为本申请实施例提供的一种设备枚举方法的流程示意图。如图2所示,该方法包括:
[0078] 201、响应于设备枚举触发事件,确定交换设备所隶属的节点设备具有使用权限的目标资源设备。
[0079] 202、根据交换设备所隶属的节点设备对应的应用需求,对目标资源设备进行资源配置。
[0080] 在本实施例中,交换设备包括上游端口和下游端口。其中,上游端口连接有交换设备所隶属的节点设备;下游端口连接有资源设备;交换设备还与隶属于其它节点设备的交
换设备互联。其中,关于交换设备和其它交换设备所在的网络系统的具体结构,可参见上述
系统实施例的相关内容,在此不再赘述。
[0081] 在本实施例中,交换设备可为独立的物理机,也可为部署于该交换设备所隶属的节点设备的交换开关。
[0082] 在本实施例中,对于节点设备来说,可访问隶属于该节点设备的交换设备的下游端口所连接的资源设备。对于交换设备的下游物理端口挂载的资源设备,该交换设备所隶
属的节点设备可直接访问资源设备。对于其它交换设备的下游物理端口挂载的资源设备,
节点设备可根据隶属于该节点设备的交换设备的下游虚拟端口与其它交换设备的下游物
理端口之间的映射关系,访问其它交换设备的下游物理端口挂载的资源设备,进而实现节
点设备之间的资源共享,实现资源池化。
[0083] 对于一个节点设备来说,其具有使用权限的资源设备可能全部挂载于隶属于自己的交换设备的下游物理端口,也可能全部挂载于隶属于其它节点设备的交换设备的下游物
理端口;或者部分挂载于隶属于自己的交换设备的下游物理端口,其余部分挂载于隶属于
其它节点设备的交换设备的下游物理端口。在本申请实施例中,为了便于描述和区分,将具
有使用权限的资源设备包含隶属于其它节点设备的交换设备的下游物理端口挂载的资源
设备的节点设备定义为目标节点设备。即对于任一目标节点设备来说,其具有使用权限的
资源设备包括:除隶属于该目标节点设备的交换设备之外的其它交换设备的下游物理端口
挂载的资源设备。
[0084] 在本申请实施例中,节点设备在进行设备枚举之前并不知道其具有使用权限的资源设备有哪些,也不知道其具有使用权限的资源设备连接于隶属于该节点设备的哪个下游
端口。基于此,节点设备在设备枚举过程中,可遍历隶属于该节点设备的交换设备的下游端
口。对于交换设备来说,可响应于设备枚举触发事件,确定该交换设备所隶属的节点设备具
有使用权限的目标资源设备;并根据该交换设备所隶属的节点设备对应的应用需求,对目
标资源设备进行资源配置,进而实现对特定网络的设备枚举。
[0085] 其中,在不同的枚举场景下,设备枚举触发事件不同。基于上述枚举场景1、2和3可知,设备枚举触发事件可为:交换设备中设置的枚举周期到达、交换设备监测到其所隶属的
节点设备与资源设备之间的使用权限关系发生变化或者交换设备接收到其所隶属的节点
设备发送的枚举配置命令。
[0086] 在一些实施例中,交换设备中维护有节点设备与资源设备的使用权限关系。基于此,交换设备可根据预先配置的节点设备与资源设备的使用权限关系,确定交换设备所隶
属的节点设备具有使用权限的目标资源设备。在本实施例中,节点设备与资源设备的使用
权限关系,至少包括一个节点设备对隶属于其它节点设备的交换设备下的资源设备的使用
权限。其中,节点设备与资源设备的使用权限关系,可由网络系统中的管控设备在为网络系
统的多个节点设备分配具有使用权限的资源设备之后提供给交换设备。其中,关于管控设
备为多个节点设备分配具有使用权限的资源设备的具体实施方式,可参见上述系统实施例
的相关内容,在此不再赘述。
[0087] 对于设备枚举触发事件为交换设备接收到其所隶属的节点设备发送的枚举配置命令的情况,枚举配置命令可包括待枚举的目标下游端口的身份标识。可选地,下游端口的
身份标识可为:总线号、设备号和功能号(Bus Number、Device Number and Function 
Number,BDF)。交换设备的下游端口的身份标识,可由其所隶属的节点设备进行配置。关于
节点设备为交换设备的下游端口配置身份标识的具体实施方式,可参见上述系统实施例的
相关内容,在此不再赘述。
[0088] 基于上述枚举配置指令,确定交换设备所隶属的节点设备具有使用权限的目标资源设备的一种可选实施方式为:在目标下游端口连接有资源设备的情况下,根据目标下游
端口的身份标识和网络系统的拓扑结构,生成目标下游端口连接的第一资源设备的路由信
息;根据路由信息和节点设备与资源设备的使用权限关系,确定交换设备所隶属的节点设
备对第一资源设备是否具有使用权限;若交换设备所隶属的节点设备对第一资源设备具有
使用权限,则将第一资源设备作为一个目标资源设备。相应地,若若所述交换设备所隶属的
节点设备对所述第一资源设备无使用权限,则所述交换设备对所述第一枚举配置命令进行
响应。
[0089] 可选地,若所述第一枚举配置命令为配置读请求,则该交换设备向其所隶属的节点设备返回不支持请求或设备不存在信息;若所述第一枚举配置命令为配置写请求,则交
换设备向其所隶属的节点设备返回不支持请求;若所述第一枚举配置命令为消息,则丢弃
所述第一枚举配置命令。
[0090] 可选地,交换设备可根据目标下游端口的身份标识中的功能号,读取功能号对应的寄存器的信息;根据寄存器的信息,确定目标下游端口是否连接有资源设备。其中关于寄
存器的信息以及如何根据寄存器的信息,确定目标下游端口是否连接有资源设备的具体实
施方式,可参见上述系统实施例的相关内容,在此不再赘述。
[0091] 对于交换设备来说,下游端口包括:下游物理端口和下游虚拟端口;交换设备预置有交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的映射关系;其中,
该交换设备隶属的节点设备对目标下游物理端口挂载的资源设备具有使用权限。
[0092] 基于此,若目标下游端口为交换设备的下游虚拟端口,步骤202的一种实施方式为:根据交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的映射关系,
确定目标下游端口对应的目标下游物理端口所在的目标交换设备;通过交换设备与目标交
换设备之间互联的网络,将第一枚举配置命令转发至目标交换设备,以供目标交换设备根
据第一枚举配置命令对目标资源设备进行资源配置;其中,第一枚举配置命令可反映交换
设备所隶属的节点设备的应用需求。其中,关于目标交换设备根据第一枚举配置命令对目
标资源设备进行资源配置的具体实施方式,可参见上述系统实施例的相关内容,在此不再
赘述。
[0093] 可选地,交换设备与目标交换设备之间互联的网络遵循的通信方式与下游物理端口遵循的通信协议相适配。可选地,下游物理端口为PCIE接口;下游物理端口遵循的通信协
议为PCIE协议。
[0094] 在另一些实施例中,若目标下游端口为交换设备的下游物理端口,则步骤202的一种实施方式为:通过目标下游端口将第一枚举配置命令发送至目标资源设备,以供目标资
源设备对第一枚举配置命令进行响应;其中,第一枚举配置命令可反映交换设备所连接的
节点设备的应用需求。
[0095] 在一些实施例中,交换设备还可对其它交换设备转发的枚举配置命令进行响应。为了便于描述和区分,将交换设备接收到的其所隶属的节点设备发出的枚举配置命令,定
义为第一枚举配置命令,并将接收到其它交换设备转发的枚举配置命令,定义为第二枚举
配置命令。对于第二枚举配置命令来说,其包含的待枚举的目标下游端口的身份标识,为隶
属于发出第二枚举配置命令的节点设备的交换设备的下游虚拟端口的身份标识。进一步,
交换设备可根据其它交换设备的下游虚拟端口与交换设备的目标下游物理端口之间的映
射关系以及待枚举的下游虚拟端口的身份标识,确定交换设备上与待枚举的下游虚拟端口
对应的目标下游物理端口;将第二枚举配置命令转发至与待枚举的下游虚拟端口对应的目
标下游物理端口挂载的资源设备,以供与待枚举的下游虚拟端口对应的目标下游物理端口
挂载的资源设备对第二枚举配置命令进行响应。
[0096] 需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备A;又
比如,步骤201的执行主体可以为设备A,步骤202的执行主体可以为设备B;等等。
[0097] 另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行
执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何
的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或
并行执行。
[0098] 相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述方法中的步骤。
[0099] 图3为本申请实施例提供的一种交换设备的结构示意图。如图3所示,该交换设备包括:存储器31、处理器32和通信组件33。通信组件33包括:上游端口33a、下游端口33b和网
络接口33c;上游端口33a用于连接交换设备所隶属的节点设备;下游端口33b用于连接资源
设备;网络接口33c用于与隶属于其它节点设备的交换设备通信连接。
[0100] 存储器31用于存储计算机程序。处理器32耦合至存储器31,用于执行计算机程序以用于:响应于设备枚举触发事件,确定交换设备所隶属的节点设备具有使用权限的目标
资源设备;根据交换设备所隶属的节点设备对应的应用需求,对目标资源设备进行资源配
置;其中,所述目标资源设备包括所述隶属于其它节点设备的交换设备下挂载的资源设备。
[0101] 在一些实施例中,处理器32在确定交换设备所隶属的节点设备具有使用权限的目标资源设备时,具体用于:根据预先配置的节点设备与资源设备的使用权限关系,确定交换
设备所隶属的节点设备具有使用权限的目标资源设备。其中,节点设备与资源设备的使用
权限关系至少包括一个节点设备对隶属于其它节点设备的交换设备下的资源设备的使用
权限。
[0102] 在一些实施例中,设备枚举触发事件为:接收到交换设备所隶属的节点设备发送的第一枚举配置命令。第一枚举配置命令包含待枚举的目标下游端口的身份标识。相应地,
处理器32在确定交换设备所隶属的节点设备具有使用权限的目标资源设备时,具体用于:
在目标下游端口连接有资源设备的情况下,根据目标下游端口的身份标识和网络系统的拓
扑结构,生成目标下游端口连接的第一资源设备的路由信息;根据路由信息和节点设备与
资源设备的使用权限关系,确定交换设备所隶属的节点设备对第一资源设备是否具有使用
权限;若交换设备所隶属的节点设备对第一资源设备具有使用权限,则将第一资源设备作
为一个目标资源设备。
[0103] 相应地,若交换设备所隶属的节点设备对第一资源设备无使用权限,则处理器32对第一枚举配置命令进行响应。
[0104] 进一步,处理器32在对第一枚举配置命令进行响应时,具体用于:若第一枚举配置命令为配置读请求,则通过上游端口33a向交换设备所隶属的节点设备返回不支持请求或
设备不存在信息;若第一枚举配置命令为配置写请求,则通过上游端口33a向交换设备所隶
属的节点设备返回不支持请求;若第一枚举配置命令为消息,则丢弃第一枚举配置命令。
[0105] 可选地,目标下游端口的身份标识为:目标下游端口的总线号、设备号和功能号。
[0106] 可选地,处理器32还用于:根据目标下游端口的身份标识中的功能号,读取功能号对应的寄存器的信息;根据寄存器的信息,确定目标下游端口是否连接有资源设备。
[0107] 在另一些实施例中,下游端口33b包括:下游物理端口33b1和下游虚拟端口33b2。存储器31还存储有交换设备的下游虚拟端口与其它交换设备的目标下游物理端口之间的
映射关系;其中,该交换设备隶属的节点设备对目标下游物理端口挂载的资源设备具有使
用权限。
[0108] 基于此,处理器32在对目标资源设备进行资源配置时,具体用于:若目标下游端口为交换设备的下游虚拟端口,根据交换设备的下游虚拟端口与其它交换设备的目标下游物
理端口之间的映射关系,确定目标下游端口对应的目标下游物理端口所在的目标交换设
备;通过交换设备与目标交换设备之间互联的网络,将第一枚举配置命令转发至目标交换
设备,以供目标交换设备根据第一枚举配置命令对目标资源设备进行资源配置;其中,第一
枚举配置命令可反映交换设备所隶属的节点设备的应用需求。
[0109] 可选地,网络接口33c遵循的通信方式与下游物理端口33b1遵循的通信协议相适配。
[0110] 可选地,下游物理端口33b1为PCIE接口;下游物理端口遵循的通信协议为PCIE协议。
[0111] 在一些实施例中,处理器32在对目标资源设备进行资源配置时,具体用于:若目标下游端口为交换设备的下游物理端口,通过目标下游端口将第一枚举配置命令发送至目标
资源设备,以供目标资源设备对第一枚举配置命令进行响应;其中,第一枚举配置命令可反
映交换设备所连接的节点设备的应用需求。
[0112] 在另一些实施例中,处理器32还用于:通过网络接口33c接收其它交换设备转发的第二枚举配置命令;第二枚举配置命令包含:其它交换设备的待枚举的下游虚拟端口的身
份标识;根据其它交换设备的下游虚拟端口与交换设备的目标下游物理端口之间的映射关
系以及待枚举的下游虚拟端口的身份标识,确定交换设备上与待枚举的下游虚拟端口对应
的目标下游物理端口;将第二枚举配置命令转发至与待枚举的下游虚拟端口对应的目标下
游物理端口挂载的资源设备,以供与待枚举的下游虚拟端口对应的目标下游物理端口挂载
的资源设备对第二枚举配置命令进行响应。
[0113] 本实施例提供的交换设备为网络系统中的任一交换设备,网络系统包括:多个交换设备,以及连接于多个交换设备的上游端口的多个节点设备;多个交换设备之间互联,且
多个交换设备的下游端口连接有资源设备,这样多个节点设备之间可实现资源设备共享,
即一个节点设备可使用其它节点设备挂载的资源设备。基于这种特有的网络架构,交换设
备可确定其所连接的节点设备具有使用权限的目标资源设备;并根据交换设备所连接的节
点设备对应的应用需求,对目标资源设备进行资源配置,进而实现了对这种特有的网络系
统的设备枚举。
[0114] 图4为本申请实施例提供的一种计算机设备的结构示意图。如图4所示,计算机设备包括:交换模块41以及与交换模块41的上游端口连接的主机模块42;交换模块41的下游
端口挂载有资源模块43;交换模块41还与隶属于其它计算机设备的交换模块通信连接。
[0115] 在本实施例中,主机模块42可为计算机设备的主机系统,包括:中央处理器(Central  Processing  Unit,CPU)和/或虚拟化的中央处理器(Virtual 
CentralProcessing Unit,vCPU)。
[0116] 交换模块41可为部署于计算机设备中的交换开关。在本实施例中,交换模块41,用于:响应于设备枚举触发事件,确定所隶属的主机模块42具有使用权限的目标资源设备;根
据交换模块42所隶属的主机模块对应的应用需求,对目标资源设备进行资源配置;其中,所
述目标资源设备包括所述隶属于其它计算机设备的交换模块下挂载的资源设备。
[0117] 在一些实施例中,交换模块41在确定交换模块所隶属的主机模块42具有使用权限的目标资源设备时,具体用于:根据预先配置的主机模块与资源设备的使用权限关系,确定
交换模块41所隶属的主机模块42具有使用权限的目标资源设备。其中,主机模块与资源设
备的使用权限关系,至少包括一个主机模块对隶属于其它计算机设备的交换模块下的资源
设备的使用权限。
[0118] 在一些实施例中,设备枚举触发事件为:接收到交换模块41所隶属的主机模块42发送的第一枚举配置命令。第一枚举配置命令包含待枚举的目标下游端口的身份标识。相
应地,交换模块41在确定其所隶属的主机模块具有使用权限的目标资源设备时,具体用于:
在目标下游端口连接有资源设备的情况下,根据目标下游端口的身份标识和网络系统的拓
扑结构,生成目标下游端口连接的第一资源设备的路由信息;根据路由信息和主机模块与
资源设备的使用权限关系,确定交换模块41所隶属的主机模块42对第一资源设备是否具有
使用权限;若交换模块41所隶属的主机模块42对第一资源设备具有使用权限,则将第一资
源设备作为一个目标资源设备。
[0119] 相应地,若交换模块41所隶属的主机模块对第一资源设备无使用权限,则交换模块41对第一枚举配置命令进行响应。
[0120] 进一步,交换模块41在对第一枚举配置命令进行响应时,具体用于:若第一枚举配置命令为配置读请求,则通过上游端口向交换模块41所隶属的主机模块42返回不支持请求
或设备不存在信息;若第一枚举配置命令为配置写请求,则通过上游端口向交换模块41所
隶属的主机模块42返回不支持请求;若第一枚举配置命令为消息,则丢弃第一枚举配置命
令。
[0121] 可选地,目标下游端口的身份标识为:目标下游端口的总线号、设备号和功能号。
[0122] 可选地,交换模块41还用于:根据目标下游端口的身份标识中的功能号,读取功能号对应的寄存器的信息;根据寄存器的信息,确定目标下游端口是否连接有资源设备。
[0123] 在另一些实施例中,下游端口包括:下游物理端口和下游虚拟端口。交换模块41还存储有其下游虚拟端口与其它交换模块的目标下游物理端口之间的映射关系;其中,该交
换模块41隶属的主机模块42对目标下游物理端口挂载的资源设备具有使用权限。
[0124] 基于此,交换模块41在对目标资源设备进行资源配置时,具体用于:若目标下游端口为交换模块41的下游虚拟端口,根据交换模块41的下游虚拟端口与其它交换模块的目标
下游物理端口之间的映射关系,确定目标下游端口对应的目标下游物理端口所在的目标交
换模块;通过交换模块41与目标交换模块之间互联的网络,将第一枚举配置命令转发至目
标交换模块,以供目标交换模块根据第一枚举配置命令对目标资源设备进行资源配置;其
中,第一枚举配置命令可反映交换模块所隶属的主机模块的应用需求。
[0125] 可选地,交换模块41与其它交换模块进行网络通信所遵循的通信方式与下游物理端口遵循的通信协议相适配。
[0126] 可选地,下游物理端口为PCIE接口;下游物理端口遵循的通信协议为PCIE协议。
[0127] 在一些实施例中,交换模块41在对目标资源设备进行资源配置时,具体用于:若目标下游端口为交换模块的下游物理端口,通过目标下游端口将第一枚举配置命令发送至目
标资源设备,以供目标资源设备对第一枚举配置命令进行响应;其中,第一枚举配置命令可
反映交换模块41所连接的主机模块42的应用需求。
[0128] 在另一些实施例中,交换模块41还用于:接收其它交换模块转发的第二枚举配置命令;第二枚举配置命令包含:其它交换模块的待枚举的下游虚拟端口的身份标识;根据其
它交换模块的下游虚拟端口与交换模块41的目标下游物理端口之间的映射关系以及待枚
举的下游虚拟端口的身份标识,确定交换模块41上与待枚举的下游虚拟端口对应的目标下
游物理端口;将第二枚举配置命令转发至与待枚举的下游虚拟端口对应的目标下游物理端
口挂载的资源设备,以供与待枚举的下游虚拟端口对应的目标下游物理端口挂载的资源设
备对第二枚举配置命令进行响应。
[0129] 本实施例提供的计算机设备为网络系统中的任一节点,网络系统包括:多台计算机设备,多台计算机设备通过各自的交换模块进行互联,这样多台计算机设备之间可实现
资源设备共享,即一个计算机设备可使用其它计算机设备中的交换设备下挂载的资源设
备。基于这种特有的网络架构,计算机设备中的交换模块可确定其所连接的主机模块具有
使用权限的目标资源设备;并根据交换模块所连接的主机模块对应的应用需求,对目标资
源设备进行资源配置,进而实现了对这种特有的网络系统的设备枚举。
[0130] 在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现
相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实
现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只
读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁
盘或光盘。
[0131] 在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、虚拟化的中央处理器
(Virtual Central Processing Unit,vCPU)、图形处理器(Graphics Processing Unit,
GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field‑
Programmable Gate Array,FPGA)、可编程阵列逻辑器件(Programmable Array Logic,
PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex 
Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器
(Advanced RISC Machines,ARM)或系统芯片(System on Chip SOC)等等,但不限于此。
[0132] 在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,
5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理
系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通
信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙
(BT)技术或其他技术来实现。
[0133] 在本申请实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括
一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅
感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0134] 在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分
配电力相关联的组件。
[0135] 在本申请实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语
音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储
在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音
频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。
[0136] 需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0137] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0138] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0140] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0141] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0142] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的
示例。
[0143] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动
态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除
可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、
数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算
机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0144] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的相同要素。
[0145] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同
替换、改进等,均应包含在本申请的权利要求范围之内。