拓扑信息获取方法、装置、终端及存储介质与流程

文档序号:22749997发布日期:2020-10-31 09:43阅读:115来源:国知局
拓扑信息获取方法、装置、终端及存储介质与流程

本公开属于容器云技术领域,特别是涉及一种拓扑信息获取方法、装置、终端及存储介质。



背景技术:

随着容器云技术蓬勃发展,容器云提供了虚拟化的开发运行测试环境,主要用于资源整合,资源分配等方面,同时也作为商业化云服务的重要基础。其中,在容器云的各种体系中,开源的容器管理引擎(缩写:k8s;全称:kubernetes)是目前较常用的用于管理云平台中多个主机上的容器化的应用。

现有技术中,在获取k8s系统中gpu(中文:图形处理器;英文:graphicsprocessingunit)设备的拓扑结构时,是通过修改英伟达公司(nvidiacorporation)开发的设备插件(英文:nvidia-device-plugin),进而获取gpu拓扑结构信息,再上报给k8s集群的方式实现的。但是,上述获取gpu拓扑信息的方式,需要对nvidia-device-plugin插件进行重新部署,并且停止k8s系统中所有容器,对集群运行产生较大影响,兼容性差。



技术实现要素:

有鉴于此,本公开提供一种拓扑信息获取方法、装置、终端及存储介质,以便解决现有技术中在获取gpu拓扑结构时,使得整个集群无法正常运行,且兼容性差的问题。

依据本公开实施例的第一方面,提供了一种拓扑信息获取方法,该方法可以包括:

响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取所述第一节点上的图形处理器的拓扑结构信息;

通过所述目标组件,将所述拓扑结构信息同步在所述第一节点对应的容器管理引擎上;

其中,所述容器管理引擎用于对多个节点进行资源管理,所述第一节点是所述多个节点中的任一节点,所述第一节点上包括一个或者多个容器以及一个或者多个图形处理器,所述目标组件是所述容器管理引擎部署在所述第一节点上的资源管理组件。

可选的,所述响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取所述第一节点上的图形处理器的拓扑结构信息,包括:

通过所述目标组件,获取所述第一节点上的图形处理器的连接信息,所述连接信息用于表明所述第一节点上的一个或多个图形处理器的连接状态;

根据所述连接信息,生成所述第一节点上的图形处理器的拓扑结构信息;

将所述拓扑结构信息写入所述第一节点的状态信息中。

可选的,所述第一节点上包括多个图形处理器,所述通过所述目标组件,获取所述第一节点上的图形处理器的连接信息,包括:

在目标模块中,通过调用预设的管理库接口对所述多个图形处理器的驱动信息进行遍历,以获取每个图形处理器的连接信息;

其中,所述目标模块是所述目标组件中用于进行资源上报的模块,所述连接信息包括所述第一图形处理器的id信息和所述第一图形处理器与其他图形处理器的连接方式信息,所述第一图形处理器是所述第一节点上的所述多个图形处理器中的任一图形处理器。

可选的,所述根据所述连接信息,生成所述每个节点上的图形处理器的拓扑结构信息,包括:

对所述多个图形处理器的所述每个图形处理器的连接信息进行整合,以生成所述拓扑结构信息。

可选的,所述通过所述目标组件,将所述拓扑结构信息同步在所述第一节点对应的容器管理引擎上,包括:

通过所述目标组件所提供的同步方法,将所述拓扑结构信息同步至所述容器管理引擎中,以便于所述容器管理引擎根据所述拓扑结构信息为所述第一节点上的多个容器分配对应的图形处理器。

依据本公开实施例的第二方面,提供了一种拓扑信息获取装置,该装置可以包括:

信息获取模块,用于响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取所述第一节点上的图形处理器的拓扑结构信息;

信息同步模块,用于通过所述目标组件,将所述拓扑结构信息同步在所述第一节点对应的容器管理引擎上;

其中,所述容器管理引擎用于对多个节点进行资源管理,所述第一节点是所述多个节点中的任一节点,所述第一节点上包括一个或者多个容器以及一个或者多个图形处理器,所述目标组件是所述容器管理引擎部署在所述第一节点上的资源管理组件。

可选的,所述信息获取模块,包括:

信息获取子模块,用于通过所述目标组件,获取所述第一节点上的图形处理器的连接信息,所述连接信息用于表明所述第一节点上的一个或多个图形处理器的连接状态;

矩阵生成子模块,用于根据所述连接信息,生成所述第一节点上的图形处理器的拓扑结构信息;

矩阵写入子模块,用于将所述拓扑结构信息写入所述第一节点的状态信息中。

可选的,所述第一节点上包括多个图形处理器,所述信息获取子模块,用于:

在目标模块中,通过调用预设的管理库接口对所述多个图形处理器的驱动进行遍历,以获取每个图形处理器的连接信息;

其中,所述目标模块是所述目标组件中用于进行资源上报的模块,所述连接信息包括所述第一图形处理器的id信息和所述第一图形处理器与其他图形处理器的连接方式信息,所述第一图形处理器是所述第一节点上的所述多个图形处理器中的任一图形处理器。

可选的,所述矩阵生成子模块,用于:

对所述多个图形处理器的所述每个图形处理器的连接信息进行整合,以生成所述拓扑结构信息。

可选的,所述信息同步模块,用于:

通过所述目标组件所提供的同步方法,将所述拓扑结构信息同步至所述容器管理引擎中,以便于所述容器管理引擎根据所述拓扑结构信息为所述第一节点上的多个容器分配对应的图形处理器。

根据本公开实施例的第三方面,提供一种终端,所述终端包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行第一方面任一项所述的拓扑信息获取方法。

根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面中任一项所述的拓扑信息获取方法。

针对在先技术,本公开具备如下优点:

响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取所述第一节点上的图形处理器的拓扑结构信息;通过所述目标组件,将所述拓扑结构信息同步在所述第一节点对应的容器管理引擎上;其中,所述容器管理引擎用于对多个节点进行资源管理,所述第一节点是所述多个节点中的任一节点,所述第一节点上包括一个或者多个容器以及一个或者多个图形处理器,所述目标组件是所述容器管理引擎部署在所述第一节点上的资源管理组件。因此,通过目标组件,使得容器管理引擎中的各个节点能够将gpu拓扑结构进行上报,并且在获取gpu拓扑结构时,不影响当前运行在集群中的其他节点上容器的正常运行,保证集群的可靠性和兼容性。

上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本公开实施例提供的一种拓扑信息获取方法的步骤流程图;

图2是本公开实施例提供的一种拓扑信息获取方法的步骤流程图;

图3是本公开实施例提供的一种图形处理器的拓扑结构信息的示意图;

图4是本公开实施例提供的一种拓扑信息获取装置的框图;

图5是本公开实施例提供的一种拓扑信息获取装置的框图;

图6是本公开实施例提供的一种拓扑信息获取装置的框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1是本公开实施例提供的一种拓扑信息获取方法的步骤流程图,如图1所示,该方法可以包括:

步骤101,响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取第一节点上的图形处理器的拓扑结构信息。

其中,容器管理引擎用于对多个节点进行资源管理,第一节点是多个节点中的任一节点,第一节点上包括一个或者多个容器以及一个或者多个图形处理器,目标组件是容器管理引擎部署在第一节点上的资源管理组件。

示例地,本公开所应用的容器管理引擎是kubernetes(k8s),属于自动化容器操作的开源平台,其中容器管理引擎对这些容器的操作包括部署,调度和节点集群间扩展,具体的,kubernetes平台是安装在集群上的,这个集群是由一组节点组成,这些节点例如可以是物理服务器或者是虚拟机,每个节点上包括多个容器。节点代理组件(英文:kubelet)是kubernetes容器管理引擎部署在其上每个节点上的,用于负责资源管理以及容器管理的组件,因此通过对kubelet组件的改造,实现每个节点的gpu拓扑结构的获取功能。

在具体应用中,当gpu拓扑结构出现变化(硬件连接、系统问题)时,例如是有新的gpu设备加入,或者更改原有的gpu设备的物理接线,又或者更换或者替换原有的gpu设备的情况下,需对已有的gpu拓扑结构进行更新,即发出对应的拓扑结构信息获取指令,以利用kubelet组件进行拓扑结构信息的获取。还可以是,在gpu拓扑结构信息未获取的情况下,也就是整个集群系统部署完成后,容器管理引擎需要获知实际在各个节点上的所连接的gpu信息时,对应发出该拓扑结构信息获取指令,以便于容器管理引擎对于gpu拓扑结构的获取,进而根据gpu拓扑结构为每个节点上的各个容器分配对应的gpu设备,以便于提升gpu处理效率。

可以理解的是,本公开所涉及的技术方案可以是在gpu设备已经部署完成后进行的,还可以是基于已有的gpu拓扑结构信息对gpu设备进行分配之后再进行的;同时可以在用户(工程人员)利用客户端或者服务器发出拓扑结构信息获取指令(手动生成)或者还可以是在节点上设置一个对应的线程,用以对gpu拓扑结构进行监控,一旦出现gpu拓扑结构的变化,则触发生成该拓扑结构信息获取指令(自动生成),进而执行对应的拓扑结构信息的获取操作,本公开不做具体限制。

需要说明的是,现有的技术方案通过修改nvidia-device-plugin插件进而获取gpu拓扑结构信息,但由于在nvidia-device-plugin插件在重新部署时,可能出现nvidia-device-plugin插件之前获取到的gpu拓扑结构信息的变化,进而为了避免出现已存在的容器与新建的容器在gpu分配上的冲突问题,需要停止k8s集群内的所有容器,防止出现一个gpu设备被分配给多个容器的情况发生。而本公开将gpu拓扑结构信息的获取功能,利用脚本的方式设置在kubelet组件上,进而通过kubelet组件获取拓扑结构信息,且上传后,再可以通过nvidia-device-plugin插件进行gpu的分配操作,从而实现对gpu拓扑结构信息的获取的同时,能够保证gpu分配的有效性,即一个容器能够独享某个或者某几个gpu设备。

步骤102,通过目标组件,将拓扑结构信息同步在第一节点对应的容器管理引擎上。

在具体应用中,通过目标组件所提供的同步方法,将拓扑结构信息同步至容器管理引擎中,以便于容器管理引擎根据拓扑结构信息为第一节点上的多个容器分配对应的图形处理器。

示例地,可以通过kubelet组件的基于syncloop(控制循环)的sync方法进行同步,实现将对应节点上的对应节拓扑结构信息上报至kubernetes容器管理引擎中,以使得在kubernetes容器管理引擎对于其上的某个节点的gpu拓扑结构信息为实时有效的,并且可以根据该拓扑结构信息,利用nvidia-device-plugin插件为第一节点上的某一容器分配通信效率较高的gpu,进而使得容器内的程序在gpu上进行运算时,能够获取更高的处理速率和传输速率。

综上所述,本公开提出的拓扑信息获取方法,响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取第一节点上的图形处理器的拓扑结构信息;通过目标组件,将拓扑结构信息同步在第一节点对应的容器管理引擎上;其中,容器管理引擎用于对多个节点进行资源管理,第一节点是多个节点中的任一节点,第一节点上设置有一个或者多个容器以及一个或者多个图形处理器,目标组件是所述容器管理引擎部署在第一节点上的资源管理组件。因此,通过目标组件,使得容器管理引擎中的各个节点能够将gpu拓扑结构进行上报,以利用该拓扑结构进行gpu设备的高效分配;并且在获取gpu拓扑结构时,不影响当前运行在集群中的其他容器的正常运行,保证集群的可靠性和兼容性。

图2是本公开实施例提供的一种拓扑信息获取方法的具体步骤流程图,如图2所示,该方法可以包括:

步骤1011,通过目标组件,获取第一节点上的图形处理器的连接信息。

其中,连接信息用于表明第一节点上的一个或多个图形处理器的连接状态。

在具体应用中,在第一节点上通常包括多个gpu设备,例如:gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7等。该步骤可以包括:

在目标模块中,通过调用预设的管理库接口对多个图形处理器的驱动进行遍历,以获取每个图形处理器的连接信息。

其中,目标模块是目标组件中用于进行资源上报的模块,连接信息包括第一图形处理器的id信息和第一图形处理器与其他图形处理器的连接方式信息,第一图形处理器是第一节点上的多个图形处理器中的任一图形处理器。

示例地,目标模块是目标组件(kubelet)上的属性获取模块(英文:getcapacity),该模块是用于对节点上的资源进行上报,因此可以在getcapacity模块中,通过调用nvml(中文:英伟达管理库;英文:nvidiamanagementlibrary)接口,该接口是英伟达公司所提供的资源管理库接口,从而分别对第一节点上的gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7的驱动进行遍历,以获取上述每个图形处理器的连接信息,包括每个gpu的id信息和其他gpu之间的连接关系。如gpu0的id信息为:“gpu-2afc056e-4810-8e05-0d27-bac80fed56b3”,与其他gpu(gpu1,gpu2,gpu3,gpu4,gpu6,gpu7)之间的连接关系,示例地,可以用一个预设数值表示。如,用“1”表示gpu自连接(p2plinkself);用“2”表示gpu之间的通过不同的cpu进行连接(p2plinkcrosscpu),用“3”表示gpu之间通过同一个cpu进行(p2plinksamecpu),用“4”表示gpu之间通过主桥连接(p2plinkhostbridge),用“5”表示gpu之间通过多开关连接(p2plinkmultiswitch),用“6”表示gpu之间通过单开关连接(p2plinksingleswitch)等,依次获取gpu0与gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7之间的连接方式之后,再获取gpu1与gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7之间的连接方式,以此类推,直到gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7中两两gpu之间的连接方式均获取到,将两两gpu之间的连接方式对应其各个gpu的id作为连接信息,以用于下面步骤生成拓扑结构信息。

步骤1012,根据连接信息,生成第一节点上的图形处理器的拓扑结构信息。

示例地,根据步骤101所述,第一节点包括多个gpu(gpu0-gpu7),因此本步骤包括:对多个图形处理器的每个图形处理器的连接信息进行整合,以生成拓扑结构信息。

其中,拓扑结构信息中包括每个图形处理器的id信息以及每个图形处理器与其他图形处理器之间的连接关系信息。

示例地,拓扑结构信息,如图3所示,第一列表示每个gpu的id,第二列表示每个gpu与其他gpu的连接关系,例如在第一列表示gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7的各自id信息,第二列表示两两gpu之间的连接关系,第三列表示gpu的编号。示例地,根据步骤101所确定的连接关系,将gpu0,gpu1,gpu2,gpu3,gpu4,gpu6,gpu7之间的连接方式整合成拓扑结构信息,可以采用8位的数值表示,如图3所示,gpu0所对应的连接关系为:“16442222”,其中每个数字代表如步骤101所述的连接方式,如第一位“1”表示gup0与第一个gpu,即gpu0自身的连接方式,也就是自连接,第二位“6”表示gpu0与第二个gpu,即gpu1的连接方式为单开关连接等。

步骤1013,将拓扑结构信息写入第一节点的状态信息中。

在具体应用中,将上述步骤102所确定的拓扑结构信息写入第一节点的状态信息(statuscapacity状态)中,以便于进行下面步骤的拓扑结构信息的同步操作。

需要说明的是,本公开所涉及的技术方案,以脚本的方式写入kubelet组件中,以实现kubelet组件能够通过getcapacity模块获取到第一节点上的多个gpu设备之间的连接方式,再将拓扑结构信息写入节点的statuscapacity状态中,从而能够通过kubelet组件所提供的sync同步,将statuscapacity状态同步至容器管理引擎,并且在同步之后,令容器管理引擎能够为每个容器分配对应的gpu,使得该容器独占gpu资源,提升程序操作的效率。此外,由于获取gpu拓扑结构的脚本写入在kubelet组件上,因此可以对单个节点的kubelet组件分别进行操作,即无需将整个集群内的所有容器停止,逐个节点进行kubelet组件的重新部署(脚本写入),也不会出现gpu设备分配的冲突,从而确保集群的正常运行。可以理解的是,在写入本公开所涉及的用于获取gpu拓扑结构信息的脚本时,可以仅停止该节点上对应的容器,暂停其上所运行的任务,并在kubelet组件的getcapacity模块的更新(重新部署)完成后,再重新启动节点上的多个容器,以继续执行待执行任务,从而不影响其他节点的容器的正常运行,将影响范围降低。此外,在gpu拓扑出现变化时,响应于拓扑结构信息的获取指令,利用重新部署的kubelet组件,对新的gpu拓扑结构信息进行获取,以实现gpu拓扑结构信息的实时更新。

图4是根据一示例性实施例示出的一种拓扑信息获取装置的框图。参照图4,该装置包括:

信息获取模块410,用于响应于拓扑结构信息获取指令,通过第一节点的目标组件,获取第一节点上的图形处理器的拓扑结构信息。

信息同步模块420,用于通过目标组件,将拓扑结构信息同步在第一节点对应的容器管理引擎上。

其中,容器管理引擎用于对多个节点进行资源管理,第一节点是多个节点中的任一节点,第一节点上包括有一个或者多个容器以及一个或者多个图形处理器,目标组件是容器管理引擎部署在第一节点上的资源管理组件。

可选的,所述信息获取模块,包括:

信息获取子模块,用于通过目标组件,获取第一节点上的图形处理器的连接信息,连接信息用于表明第一节点上的一个或多个图形处理器的连接状态。

矩阵生成子模块,用于根据连接信息,生成第一节点上的图形处理器的拓扑结构信息。

矩阵写入子模块,用于将拓扑结构信息写入第一节点的状态信息中。

可选的,第一节点上包括多个图形处理器,信息获取子模块,用于:

在目标模块中,通过调用预设的管理库接口对多个图形处理器的驱动进行遍历,以获取每个图形处理器的连接信息;

其中,目标模块是目标组件中用于进行资源上报的模块,连接信息包括第一图形处理器的id信息和第一图形处理器与其他图形处理器的连接方式信息,第一图形处理器是第一节点上的多个图形处理器中的任一图形处理器。

可选的,矩阵生成子模块,用于:

对多个图形处理器的每个图形处理器的连接信息进行整合,以生成拓扑结构信息。

可选的,信息同步模块,用于:

通过目标组件所提供的同步方法,将拓扑结构信息同步至容器管理引擎中,以便于容器管理引擎根据拓扑结构信息为第一节点上的多个容器分配对应的图形处理器。

对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图5是根据本公开实施例提供的一种拓扑信息获取装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。

处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。

存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。

多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。

i/o接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图1实施例所述拓扑信息获取方法。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

图6是本公开实施例提供的一种拓扑信息获取装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述拓扑信息获取方法。

装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(i/o)接口658。装置600可以操作基于存储在存储器632的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似操作系统。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本公开的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的拓扑信息获取方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本公开方案的系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容,并且上面对特定语言所做的描述是为了披露本公开的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开实施例的拓扑信息获取方法中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1