CN114138246A - 拓扑自动生成方法、装置、计算设备及存储介质 - Google Patents
拓扑自动生成方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114138246A CN114138246A CN202111490370.4A CN202111490370A CN114138246A CN 114138246 A CN114138246 A CN 114138246A CN 202111490370 A CN202111490370 A CN 202111490370A CN 114138246 A CN114138246 A CN 114138246A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- network topology
- connection relation
- hierarchy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种拓扑自动生成方法、装置、计算设备及存储介质,其中方法包括:获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。本方案,无需人工绘制出网络拓扑之后,逐个对网络拓扑中的节点配置节点属性信息,而是预先将节点属性信息快速写入拓扑文件中,利用拓扑文件即可自动生成网络拓扑,从而提高拓扑绘制效率。
Description
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种拓扑自动生成方法、装置、计算设备及存储介质。
背景技术
传统的网络拓扑需要人工手动绘制,其中包括添加节点、编辑节点属性、添加连接关系和结构布局等过程。可见,现有拓扑绘制方法效率较低。
发明内容
基于人工手动绘制拓扑效率低的问题,本发明实施例提供了一种拓扑自动生成方法、装置、计算设备及存储介质,能够提高拓扑绘制效率。
第一方面,本发明实施例提供了一种拓扑自动生成方法,包括:
获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;
根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;
根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
优选地,所述根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表,包括:
确定所述网络拓扑数据中是否包括各节点间的连接关系;
若包括,则根据各节点间的连接关系,计算各节点的所属层级,并按照各节点所属层级的高低顺序对各节点进行排列,得到节点列表;
若不包括,则按照设定属性对各节点进行排列,得到节点列表。
优选地,所述根据各节点间的连接关系,计算各节点的所属层级,包括:
根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;
确定各节点中与上一次被赋予层级的节点直接相连、且未被赋予层级的节点,按照设定层级间隔为本次确定的节点赋予所属层级,并继续执行本步骤,直到所有节点均被赋予层级为止。
优选地,所述根据各节点间的连接关系,计算各节点的所属层级,包括:
根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;
将本次确定的叶子节点剥离,在再次确定剩余节点中存在的叶子节点,按照设定层级间隔为本次确定的叶子节点赋予所属层级,继续本步骤,直到剩余节点中不存在叶子节点为止;
若还存在剩余节点,则根据被剥离的叶子节点的所属层级为剩余节点赋予所属层级。
优选地,在所述生成节点列表之后,还包括:展示所述节点列表;
所述根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,包括:
基于展示的所述节点列表,确定并展示用户在所述节点列表中选中的节点;
若所述网络拓扑数据中包括各节点间的连接关系,则确定展示的节点之间是否存在连接关系,若存在,则同时展示各连接关系;
若所述网络拓扑数据中不包括各节点间的连接关系,则接收用户针对展示的节点输入的连接关系;
接收用户针对展示的节点输入的位置信息。
优选地,在所述确定并展示用户在所述节点列表中选中的节点之前,还包括:
响应于节点筛选指令,将满足筛选条件的节点展示在节点列表中。
优选地,确定各节点的位置信息,包括:
根据各节点的连接关系,计算网络拓扑的结构布局,得到各节点的位置信息。
第二方面,本发明实施例还提供了一种拓扑自动生成装置,包括:
数据获取单元,用于获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;
节点列表生成单元,用于根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;
网络拓扑生成单元,用于根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种拓扑自动生成方法、装置、计算设备及存储介质,通过预先针对各节点的节点属性信息生成拓扑文件,当需要生成网络拓扑时,可以直接读取拓扑文件中的网络拓扑数据,以根据网络拓扑数据生成节点列表,基于节点列表可以确定连接关系和位置信息,当连接关系和位置信息均确定之后,则可以自动生成网络拓扑。可见,本方案无需人工绘制出网络拓扑之后,逐个对网络拓扑中的节点配置节点属性信息,而是预先将节点属性信息快速写入拓扑文件中,利用拓扑文件即可自动生成网络拓扑,从而提高拓扑绘制效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种拓扑自动生成方法流程图;
图2是本发明一实施例提供的一种计算设备的硬件架构图;
图3是本发明一实施例提供的一种拓扑自动生成装置结构图;
图4是本发明一实施例提供的另一种拓扑自动生成装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,传统拓扑绘制是由人工手动完成,其过程包括添加节点、编辑节点属性、添加连接关系和结构布局等。可见人工手动绘制效率较低。若拓扑能够自动生成,则可以大大提高绘制效率。若能够预先将拓扑中的相关信息(比如,节点属性、连接关系、结构布局等)编辑成文件,当需要绘制拓扑时,则可以直接从该文件中读取出相关信息,自动生成网络拓扑。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种拓扑自动生成方法,该方法包括:
步骤100,获取预先生成的拓扑文件,并读取拓扑文件中的网络拓扑数据;网络拓扑数据中至少包括各节点的节点属性信息。
步骤102,根据网络拓扑数据中包括的各节点的节点属性信息,生成节点列表。
步骤104,根据网络拓扑数据和节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
本发明实施例中,通过预先针对各节点的节点属性信息生成拓扑文件,当需要生成网络拓扑时,可以直接读取拓扑文件中的网络拓扑数据,以根据网络拓扑数据生成节点列表,基于节点列表可以确定连接关系和位置信息,当连接关系和位置信息均确定之后,则可以自动生成网络拓扑。可见,本方案无需人工绘制出网络拓扑之后,逐个对网络拓扑中的节点配置节点属性信息,而是预先将节点属性信息快速写入拓扑文件中,利用拓扑文件即可自动生成网络拓扑,从而提高拓扑绘制效率。
下面描述图1所示的各个步骤的执行方式。
首先针对步骤100,获取预先生成的拓扑文件,并读取拓扑文件中的网络拓扑数据;网络拓扑数据中至少包括各节点的节点属性信息。
为了能够读取出拓扑文件中的网络拓扑数据,该拓扑文件需要满足设定格式,且拓扑文件中的网络拓扑数据需要按照定义字段进行编码。本发明一个实施例中,该拓扑文件的格式为json格式,字段可以包括nodes字段和lines字段。其中,nodes字段用于表征节点属性信息,比如key表征节点的唯一标识,value表征节点类型等;lines字段用于表征节点间连接关系,每一项为一个数组,表征一段连接关系,数组内包括两项,分别为连边两端分别连接节点的唯一标识。网络拓扑数据的编码内容示例性如下:
需要说明的是,网络拓扑数据中至少包括各节点的节点属性信息,可选地,还可以包括各节点间的连接关系。
当已知真实情况下网络拓扑中各节点的节点属性信息和连接关系时,则可以快速在拓扑文件中进行编辑,得到包含各节点的节点属性信息以及连接关系的拓扑文件。可见,本方案可以直接在拓扑文件中按照设定字段进行编辑,而人工绘制网络拓扑,首先需要绘制出网络拓扑,然后对网络拓扑中各节点逐个开启配置功能以配置节点属性信息,相对应人工方式,大大提高了节点属性信息的配置速度。并且,若在拓扑文件中直接生成各节点的连接关系,在后续自动生成网络拓扑时,可以直接根据节点间的连接关系自动生成连边,相对于人工绘制网络拓扑需要逐个添加连边的方式,大大提高连边生成速度。
然后针对步骤102,根据网络拓扑数据中包括的各节点的节点属性信息,生成节点列表。
由于网络拓扑包含节点间的连接关系,为更好的对网络拓扑中各节点间的关系进行分析,需要在拓扑展示平台上将网络拓扑展示出来,因此,获取到拓扑文件之后,可以将拓扑文件导入拓扑展示平台中,然后利用拓扑展示平台中的解析模块读取拓扑文件中的网络拓扑数据并进行解析。
为了更直观地体现网络拓扑中包含的各节点,可以以节点列表的形式进行展示,因此在生成节点列表后还需要展示该节点列表。
本发明一个实施例中,本步骤102中可以通过如下步骤S1-S3生成节点列表:
S1、确定所述网络拓扑数据中是否包括各节点间的连接关系,若包括,则执行S2;若不包括,则执行S3。
其中,可以根据网络拓扑数据中是否包括lines字段确定是否包括各节点间的连接关系。
S2、根据各节点间的连接关系,计算各节点的所属层级,并按照各节点所属层级的高低顺序对各节点进行排列,得到节点列表。
如果网络拓扑数据中包括各节点间的连接关系,那么至少可以通过如下两种方式计算各节点的所属层级:
方式一、不考虑环网结构,直接根据连接关系赋予所属层级。
方式二、考虑环网结构,针对环网结构以外的节点和环网结构以内的节点分别赋予所属层级。
下面针对上述两种方式分别进行说明。
在方式一中,由于不考虑环网结构,因此可以直接根据连接关系赋予所属层级,具体地,S21、根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;S22、确定各节点中与上一次被赋予层级的节点直接相连、且未被赋予层级的节点,按照设定层级间隔为本次确定的节点赋予所属层级,并继续执行步骤S22,直到所有节点均被赋予层级为止。
其中,该设定层级间隔可以为+1,比如叶子节点的初始层级为0,那么与叶子节点直接相连且未被赋予层级的节点赋予所属层级1,依次递增。
在方式一中,可以快速计算出每一个节点的所属层级。
在方式二中,由于考虑环网结构,因此需要针对环网结构以外的节点和环网结构以内的节点分别赋予所属层级。
当针对环网结构以外的节点赋予所属层级时,具体地,S23、根据各节点间的连接关系,确定各节点中的叶子节点,并为叶子节点赋予初始层级;S24、将本次确定的叶子节点剥离,在再次确定剩余节点中存在的叶子节点,按照设定层级间隔为本次确定的叶子节点赋予所属层级,继续本步骤,直到剩余节点中不存在叶子节点为止;同样地,该设定层级间隔可以为+1。
当针对环网结构以内的节点赋予所属层级时,在S24后若还存在剩余节点,则根据被剥离的叶子节点的所属层级为剩余节点赋予所属层级。具体地,S24后存在的剩余节点即为环网结构,将环网结构中与被剥离的叶子节点有直接连接关系的节点均确定为树根节点,并将树根节点中的最大层级确定为所有树根节点的所属层级,将环网结构中的节点分为若干层,并在树根节点的基础上,根据非树根节点所属分层,按照设定层级间隔为环网结构中的非树根节点逐层赋予对应的所属层级。
在方式二中,可以使得网络拓扑中各节点层级更贴近真实情况,分层效果更加理想。
不管是上述方式一还是方式二,在计算得到各节点的所属层级之后,可以按照层级高度顺序对各节点进行排列,得到节点列表。优选地,若叶子节点所属层级为最低,则将按照层级从高到低的顺序对各节点进行排列,否则,按照层级从低到高的顺序对各节点进行排列。
本实施例中,通过在节点列表中按照所属层级对各节点进行排列,可以获知各节点之间的层级关系,当需要调整节点间的位置时,可以按照所属层级逐层级小区域范围内调整节点的位置,属于同一层级的节点可以一同被调整位置,以将同一层级的节点部署在同一个区域内,使得网络拓扑的布局更具有层次性,便于对网络拓扑中各节点关系的分析。
S3、按照设定属性对各节点进行排列,得到节点列表。
由于网络拓扑数据中不包括各节点间的连接关系,因此,可以按照设定属性对各节点进行排列,该设定属性可以为:节点标识的先后顺序、节点对应的设备类型、节点IP地址的网段、节点所属的业务部门等。
本实施例中,通过将节点列表中的节点按照设定属性进行排列,可以使得用户基于相同属性的节点增加节点间的连边,且能够对相同属性的节点进行位置部署,便于用户针对设定属性的不同属性值分组入手,从小区域范围内对节点进行连边和位置的配置。
最后针对步骤104,根据网络拓扑数据和节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
本步骤在确定各节点的连接关系和位置信息时,具体地,可以包括:基于展示的所述节点列表,确定并展示用户在所述节点列表中选中的节点;若所述网络拓扑数据中包括各节点间的连接关系,则确定展示的节点之间是否存在连接关系,若存在,则同时展示各连接关系;若所述网络拓扑数据中不包括各节点间的连接关系,则接收用户针对展示的节点输入的连接关系;接收用户针对展示的节点输入的位置信息。
若需要调整各节点位置以获得位置信息,可以基于展示的节点列表,从节点列表中选中节点,即可将选中的节点添加到拓扑展示平台的编辑界面中。如果基于网络拓扑数据确定选中的节点存在连接关系,则还需要同时将展示的节点之间的连接关系进行展示。若网络拓扑数据中不包括节点间连接关系,则需要用户针对展示的节点输入连接关系,即在编辑界面中为节点添加连边。
其中,在编辑界面将各个节点的位置关系进行调整,从而可以得到针对各节点输入的位置信息。
需要说明的是,在节点列表中选中节点时,可以单个选中,也可以批量选中。若在节点列表中将选中操作取消,则可以将节点从编辑界面删除。
进一步地,当选中的节点展示在编辑界面中时,可以按照设定间隔展示各选中的节点。
更进一步地,还可以基于节点列表将编辑界面中的某个节点确定为父节点,并开启子节点添加模式,以后续选中的节点为子节点,在编辑界面中展示时,直接自动生成子节点与对应父节点之间的连边。
在本发明一个实施例中,还可以对节点列表中展示的各节点按需求进行展示,具体地,可以包括:响应于节点筛选指令,将满足筛选条件的节点展示在节点列表中。
举例来说,该节点筛选指令可以是基于输入的字段作为筛选条件对节点进行搜索,以将满足该字段的节点展示在节点列表中。可以支持正序和倒序展示。
进一步地,该节点筛选指令还可以用于对主机、服务器、文件服务器、邮件服务器、终端服务器、路由器、交换机、防火墙、笔记本、网络云、移动设备等类型的节点进行筛选,以将满足筛选条件的节点展示在节点列表中,使得节点列表根据实际需求进行展示。
更进一步地,还可以在节点类别中以资产名称、资产编号、资产类型、责任人、IP、MAC、CPU、内存、硬盘、显卡、网卡、网关、DNS、操作系统、应用软件等字段信息展示各节点。
对节点列表上述功能的开发,可以便于用户对满足需求的节点进行连边或位置的配置,使得网络拓扑自动生成过程更具有灵活性,提高用户体验。
在编辑界面中,通过对各节点在界面中的布局,可以得到各节点的位置信息,基于各节点的连接关系和位置信息可以生成网络拓扑。
本发明一个实施例中,为了保证生成的网络拓扑更具有层次性,以及更能体现出各节点间的关系,还可以根据各节点的连接关系,自动计算网络拓扑的结构布局,得到各节点的位置信息。
当网络拓扑数据中不包括各节点的连接关系时,则根据在编辑界面上用户输入的连边确定各节点的连接关系,然后利用各节点的连接关系计算各节点的位置信息;若网络拓扑数据中包括各节点的连接关系,则可以直接利用连接关系计算各节点的位置信息。
当计算各节点的位置信息时,首先需要确定各节点的所属层级,然后根据所属层级,将相同层级的节点在同一个二维平面上按照矩阵排列方式进行布局,得到各节点的二维坐标位置,最后为不同层级的节点配置不同的高度,比如,节点高度=节点层级*h,h为固定高度,从而可以得到各节点的三维坐标位置。
需要说明的是,确定各节点所属层级的方式可以基于上述步骤102中的方式一或方式二来确定,本步骤不在赘述。
当确定各节点的连接关系和三维坐标位置之后,可以将连接关系和三维坐标位置一同更新到拓扑文件中,以便后续利用拓扑文件生成网络拓扑时,可以根据拓扑文件中的节点属性信息、连接关系和三维坐标位置,直接生成网络拓扑,无需重复配置和计算,不仅可以降低资源的浪费,还可以提高网络拓扑的生成速度。
如图2、图3所示,本发明实施例提供了一种拓扑自动生成装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种拓扑自动生成装置所在计算设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在计算设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种拓扑自动生成装置,包括:
数据获取单元301,用于获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;
节点列表生成单元302,用于根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;
网络拓扑生成单元303,用于根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
在本发明一个实施例中,所述节点列表生成单元302,具体用于确定所述网络拓扑数据中是否包括各节点间的连接关系;若包括,则根据各节点间的连接关系,计算各节点的所属层级,并按照各节点所属层级的高低顺序对各节点进行排列,得到节点列表;若不包括,则按照设定属性对各节点进行排列,得到节点列表。
在本发明一个实施例中,所述节点列表生成单元302在根据各节点间的连接关系,计算各节点的所属层级时,具体用于根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;确定各节点中与上一次被赋予层级的节点直接相连、且未被赋予层级的节点,按照设定层级间隔为本次确定的节点赋予所属层级,并继续执行本步骤,直到所有节点均被赋予层级为止。
在本发明一个实施例中,所述节点列表生成单元302在根据各节点间的连接关系,计算各节点的所属层级时,具体用于根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;将本次确定的叶子节点剥离,在再次确定剩余节点中存在的叶子节点,按照设定层级间隔为本次确定的叶子节点赋予所属层级,继续本步骤,直到剩余节点中不存在叶子节点为止;若还存在剩余节点,则根据被剥离的叶子节点的所属层级为剩余节点赋予所属层级。
在本发明一个实施例中,请参考图4,该拓扑自动生成装置还可以包括:展示单元304,用于展示所述节点列表;
所述节点列表生成单元302在根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息时,具体用于基于展示的所述节点列表,确定并触发所述展示单元304展示用户在所述节点列表中选中的节点;并在确定所述网络拓扑数据中包括各节点间的连接关系时,则确定展示的节点之间是否存在连接关系,若存在,则同时展示各连接关系;在确定所述网络拓扑数据中不包括各节点间的连接关系时,则接收用户针对展示的节点输入的连接关系;并接收用户针对展示的节点输入的位置信息。
在本发明一个实施例中,所述展示单元304还用于响应于节点筛选指令,将满足筛选条件的节点展示在节点列表中。
在本发明一个实施例中,网络拓扑生成单元303在确定各节点的位置信息时,具体用于根据各节点的连接关系,计算网络拓扑的结构布局,得到各节点的位置信息。
可以理解的是,本发明实施例示意的结构并不构成对一种拓扑自动生成装置的具体限定。在本发明的另一些实施例中,一种拓扑自动生成装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种拓扑自动生成方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种拓扑自动生成方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
本发明各实施例至少具有如下有益效果:
1、在本发明一个实施例中,通过预先针对各节点的节点属性信息生成拓扑文件,当需要生成网络拓扑时,可以直接读取拓扑文件中的网络拓扑数据,以根据网络拓扑数据生成节点列表,基于节点列表可以确定连接关系和位置信息,当连接关系和位置信息均确定之后,则可以自动生成网络拓扑。可见,本方案无需人工绘制出网络拓扑之后,逐个对网络拓扑中的节点配置节点属性信息,而是预先将节点属性信息快速写入拓扑文件中,利用拓扑文件即可自动生成网络拓扑,从而提高拓扑绘制效率。
2、本发明一个实施例中,可以直接在拓扑文件中按照设定字段进行编辑,而人工绘制网络拓扑,首先需要绘制出网络拓扑,然后对网络拓扑中各节点逐个开启配置功能以配置节点属性信息,相对应人工方式,大大提高了节点属性信息的配置速度。并且,若在拓扑文件中直接生成各节点的连接关系,在后续自动生成网络拓扑时,可以直接根据节点间的连接关系自动生成连边,相对于人工绘制网络拓扑需要逐个添加连边的方式,大大提高连边生成速度。
3、本发明一个实施例中,当不考虑环网结构时,可以直接根据连接关系赋予所属层级,计算速度较快;当考虑环网结构时,针对环网结构以外的节点和环网结构以内的节点分别赋予所属层级,可以使得网络拓扑中各节点层级更贴近真实情况,分层效果更加理想。
4、本发明一个实施例中,对节点列表进行筛选功能的开发,可以便于用户对满足需求的节点进行连边或位置的配置,使得网络拓扑自动生成过程更具有灵活性,提高用户体验。
5、在本发明一个实施例中,当确定各节点的连接关系和三维坐标位置之后,可以将连接关系和三维坐标位置一同更新到拓扑文件中,以便后续利用拓扑文件生成网络拓扑时,可以根据拓扑文件中的节点属性信息、连接关系和三维坐标位置,直接生成网络拓扑,无需重复配置和计算,不仅可以降低资源的浪费,还可以提高网络拓扑的生成速度。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种拓扑自动生成方法,其特征在于,包括:
获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;
根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;
根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
2.根据权利要求1所述的方法,其特征在于,所述根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表,包括:
确定所述网络拓扑数据中是否包括各节点间的连接关系;
若包括,则根据各节点间的连接关系,计算各节点的所属层级,并按照各节点所属层级的高低顺序对各节点进行排列,得到节点列表;
若不包括,则按照设定属性对各节点进行排列,得到节点列表。
3.根据权利要求2所述的方法,其特征在于,所述根据各节点间的连接关系,计算各节点的所属层级,包括:
根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;
确定各节点中与上一次被赋予层级的节点直接相连、且未被赋予层级的节点,按照设定层级间隔为本次确定的节点赋予所属层级,并继续执行本步骤,直到所有节点均被赋予层级为止。
4.根据权利要求2所述的方法,其特征在于,所述根据各节点间的连接关系,计算各节点的所属层级,包括:
根据各节点间的连接关系,确定各节点中的叶子节点,并为所述叶子节点赋予初始层级;
将本次确定的叶子节点剥离,在再次确定剩余节点中存在的叶子节点,按照设定层级间隔为本次确定的叶子节点赋予所属层级,继续本步骤,直到剩余节点中不存在叶子节点为止;
若还存在剩余节点,则根据被剥离的叶子节点的所属层级为剩余节点赋予所属层级。
5.根据权利要求2所述的方法,其特征在于,
在所述生成节点列表之后,还包括:展示所述节点列表;
所述根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,包括:
基于展示的所述节点列表,确定并展示用户在所述节点列表中选中的节点;
若所述网络拓扑数据中包括各节点间的连接关系,则确定展示的节点之间是否存在连接关系,若存在,则同时展示各连接关系;
若所述网络拓扑数据中不包括各节点间的连接关系,则接收用户针对展示的节点输入的连接关系;
接收用户针对展示的节点输入的位置信息。
6.根据权利要求5所述的方法,其特征在于,在所述确定并展示用户在所述节点列表中选中的节点之前,还包括:
响应于节点筛选指令,将满足筛选条件的节点展示在节点列表中。
7.根据权利要求1-6中任一所述的方法,其特征在于,确定各节点的位置信息,包括:
根据各节点的连接关系,计算网络拓扑的结构布局,得到各节点的位置信息。
8.一种拓扑自动生成装置,其特征在于,包括:
数据获取单元,用于获取预先生成的拓扑文件,并读取所述拓扑文件中的网络拓扑数据;所述网络拓扑数据中至少包括各节点的节点属性信息;
节点列表生成单元,用于根据所述网络拓扑数据中包括的各节点的节点属性信息,生成节点列表;
网络拓扑生成单元,用于根据所述网络拓扑数据和所述节点列表,确定各节点的连接关系和位置信息,并根据各节点的连接关系和位置信息生成对应网络拓扑。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490370.4A CN114138246A (zh) | 2021-12-08 | 2021-12-08 | 拓扑自动生成方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490370.4A CN114138246A (zh) | 2021-12-08 | 2021-12-08 | 拓扑自动生成方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138246A true CN114138246A (zh) | 2022-03-04 |
Family
ID=80384920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111490370.4A Pending CN114138246A (zh) | 2021-12-08 | 2021-12-08 | 拓扑自动生成方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138246A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726909A (zh) * | 2022-03-15 | 2022-07-08 | 阿里云计算有限公司 | 云服务迁移信息处理方法、装置、设备、介质及产品 |
CN115134249A (zh) * | 2022-06-16 | 2022-09-30 | 浪潮思科网络科技有限公司 | 一种基于组网模型的拓扑方法、设备及介质 |
CN116094984A (zh) * | 2023-01-04 | 2023-05-09 | 中国联合网络通信集团有限公司 | 一种网络资源模型创建方法和装置 |
-
2021
- 2021-12-08 CN CN202111490370.4A patent/CN114138246A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726909A (zh) * | 2022-03-15 | 2022-07-08 | 阿里云计算有限公司 | 云服务迁移信息处理方法、装置、设备、介质及产品 |
CN115134249A (zh) * | 2022-06-16 | 2022-09-30 | 浪潮思科网络科技有限公司 | 一种基于组网模型的拓扑方法、设备及介质 |
CN116094984A (zh) * | 2023-01-04 | 2023-05-09 | 中国联合网络通信集团有限公司 | 一种网络资源模型创建方法和装置 |
CN116094984B (zh) * | 2023-01-04 | 2024-04-19 | 中国联合网络通信集团有限公司 | 一种网络资源模型创建方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114138246A (zh) | 拓扑自动生成方法、装置、计算设备及存储介质 | |
US8704821B2 (en) | System and method for managing virtual world environments based upon existing physical environments | |
CN112087379A (zh) | 业务链的编排方法及装置、存储介质和电子装置 | |
CN102831167B (zh) | 图结构的xml处理方法及装置 | |
CN110515896B (zh) | 模型资源管理方法、模型文件制作方法、装置和系统 | |
CN110478898B (zh) | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 | |
CN105262620A (zh) | 支持可定制组的网络管理系统 | |
CN112311571A (zh) | 网络拓扑生成方法及装置、电子设备和非暂态存储介质 | |
CN111414166A (zh) | 代码的生成方法、装置、设备及存储介质 | |
CN112217656A (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
CN112906206A (zh) | 数字孪生模型构建方法和装置 | |
CN111143039A (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN110674231A (zh) | 一种面向数据湖的用户id集成方法和系统 | |
CN110932981A (zh) | 一种支持自动路由的数据交换系统 | |
CN109698814A (zh) | 僵尸网络发现方法及僵尸网络发现装置 | |
CN114239237A (zh) | 一种支持数字孪生的配电网仿真场景生成系统与方法 | |
CN112905847A (zh) | 树状结构的构建方法和装置 | |
CN111274004B (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN116048517B (zh) | 基于b/s架构应用系统的api接口生成方法、系统和装置 | |
CN112138380A (zh) | 一种游戏中数据编辑的方法和装置 | |
CN111984293A (zh) | 一种信息处理方法、装置和存储介质 | |
CN112988278B (zh) | 资源文件的meta文件修改方法、装置、电子设备及存储介质 | |
CN114385672A (zh) | 信息处理方法及装置、电子设备及存储介质 | |
CN114143109A (zh) | 攻击数据的可视化处理方法、交互方法及装置 | |
CN113434585A (zh) | 资源保存方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |