一种拓扑图生成方法及装置与流程

文档序号:12786507阅读:279来源:国知局
一种拓扑图生成方法及装置与流程

本发明涉及数据处理技术领域,具体涉及一种拓扑图生成方法及装置。



背景技术:

云平台是管理各种云资源的资源整合平台,拓扑图是能够直观的表现数据之间的逻辑关系的图,因此,在云平台中,一般采用拓扑图来展示数据之间的关系,在表示云平台的资源关系,表现业务间的逻辑关系,大屏演示等情况下,都会用到拓扑图。由于拓扑图中展示的数据之间都要遵循一定的逻辑关系,但云平台中各个模块产生的数据一般是杂乱而无序的,不具有逻辑关系,不符合拓扑图数据结构,无法直接生成拓扑图。

因此,如何提供一种依据云平台产生的数据生成拓扑图的方法,成为目前亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明实施例提供一种拓扑图生成方法及装置,能够依据云平台产生的数据生成拓扑图。

为实现上述目的,本发明实施例提供如下技术方案:

一种拓扑图生成方法,包括:

从云平台中获取待处理数据;

按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;

获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;

依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

优选的,按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据的过程包括:

按照不同数据类型各自对应的数据特点,确定各数据类型下的待处理数据各自对应的数据级别;

针对各数据类型下的待处理数据,按照预设拓扑图的数据结构,将不同数据级别的待处理数据划分到预设拓扑图的不同数据结构层中,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据。

优选的,在获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性之前,还包括:

将划分到预设拓扑图的不同数据结构层中的待处理数据按照预设排序规则进行排序。

优选的,所述获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性的过程包括:

针对各待处理数据在预设拓扑图数据结构中的位置,以及各待处理数据在预设拓扑图数据结构中与其他待处理数据的关系,获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性。

优选的,所述数据属性包括:待处理数据在预设拓扑图数据结构中的标识号、名称、父节点标识号、序号、层级、坐标以及指向标识号中的至少一种。

一种拓扑图生成装置,包括:

待处理数据获取单元,用于从云平台中获取待处理数据;

第一排序单元,用于按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;

数据属性获取单元,用于获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;

拓扑图生成单元,用于依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

优选的,所述第一排序单元包括:

数据级别确定模块,用于按照不同数据类型各自对应的数据特点,确定各数据类型下的待处理数据各自对应的数据级别;

划分单元,用于针对各数据类型下的待处理数据,按照预设拓扑图的数据结构,将不同数据级别的待处理数据划分到预设拓扑图的不同数据结构层中,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据。

优选的,还包括:

第二排序单元,用于将划分到预设拓扑图的不同数据结构层中的待处理数据按照预设排序规则进行排序。

优选的,所述数据属性获取单元包括:

数据属性获取子单元,用于针对各待处理数据在预设拓扑图数据结构中的位置,以及各待处理数据在预设拓扑图数据结构中与其他待处理数据的关系,获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性。

优选的,所述数据属性包括:待处理数据在预设拓扑图数据结构中的标识号、名称、父节点标识号、序号、层级、坐标以及指向标识号中的至少一种。

基于上述技术方案,本发明实施例中公开了一种拓扑图生成方法及装置,包括:从云平台中获取待处理数据;按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。通过本发明实施例中的技术方案,能够得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;以及符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;从而依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种拓扑图生成方法的流程图;

图2为本发明实施例提供的另一种拓扑图生成方法的流程图;

图3为本发明实施例提供的一种拓扑图生成装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

拓扑图上的节点,是基于Canvas绘制的,因为云平台所采用的插件都是基于Canvas开发,因此,找到一种适合Canvas的数据结构,则能够适应所有的拓扑图。我们要使拓扑图按照指定的样式去呈现,就要给每个节点定义一些基本属性。拓扑图中的每个节点的基本属性包括节点坐标,节点图标,节点大小,节点状态,节点层级,节点名称,这些是一个节点的基本属性。节点之间还有连线,因此数据结构中需要有表示数据连接的数据,如果是有向线,则需要指定起点和终点,如果是无向线,只需给出两个节点即可。因此,制定出一个规范的数据结构是使拓扑图简单易用的关键。在当前的云平台中,提供的接口多是无序的,并不是按照拓扑图需要的数据结构来的。因为后台采集的数据无法清楚的知道需要显示成什么样的结构。不仅仅在云平台,在外部的许多接口中,如OpenStack提供的一些接口,也是无序无结构的数据。针对这些数据,本发明实施例提供以下拓扑图生成方法。

图1示出了一种拓扑图生成方法的流程图,基于Canvas实现,所述方法可以包括:

步骤S100、从云平台中获取待处理数据;

需要说明的是,本发明实施例中可以从云平台的多个模块中获取待处理数据,预设拓扑图的结构决定了待处理数据的来源,当预设拓扑图要展示云资源结构的情况下,就需要从云平台中的虚拟数据中心、集群、虚拟控制中心、主机、存储等多个模块中获取待处理数据。

本发明实施例中可以利用云平台的数据传输机制,从云平台中获取待处理数据。

步骤S110、按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;

预设拓扑图的数据结构可以为树状结构或层级结构,本发明实施例不做具体限定。

由于拓扑图一般有一个根节点,根节点的数据为待处理数据中最顶层的数据,可以为优先级最高的数据,当预设拓扑图要展示云资源结构的情况下,一般虚拟控制中心中的数据为最顶层的数据,作为根节点处的数据;当预设拓扑图要展示监控结果的情况下,一般最上层业务节点或资源大类中的数据为最顶层的数据,作为根节点处的数据。

本发明实施例中可以按照拓扑图结构中从根节点到子节点,从父节点到子节点的顺序,将不同数据类型的待处理数据分别进行排序。

步骤S120、获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;

需要说明的是,所述数据属性包括:待处理数据在预设拓扑图数据结构中的标识号、名称、父节点标识号、序号、层级、坐标以及指向标识号中的至少一种。

待处理数据在预设拓扑图数据结构中的标识号能够唯一标识一待处理数据;待处理数据在预设拓扑图数据结构中的父节点标识号为该待处理数据的父节点标识号;待处理数据在预设拓扑图数据结构中的序号为按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序的序号;待处理数据在预设拓扑图数据结构中的坐标可以采用平面(x,y)坐标表示;待处理数据在预设拓扑图数据结构中指向节点标识号为该待处理数据指向的另一待处理数据的标识号。

步骤S130、依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

本发明实施例中可以依据每个待处理数据在预设拓扑图数据结构中的标识号、名称、父节点标识号、序号、层级、坐标以及指向标识号中的至少一种数据属性,生成拓扑图。

需要说明的是,本发明实施例中可以采用界面的拓扑图插件来生成拓扑图,拓扑图插件是针对HTML5的。

本发明实施例中公开了一种拓扑图生成方法及装置,包括:从云平台中获取待处理数据;按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。通过本发明实施例中的技术方案,能够得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;以及符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;从而依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。实现了云平台中不规则无序数据的有序化和格式化。对云平台中的拓扑图来说,减少了处理数据的工作量,使拓扑图的展示部分简单和方便,优化了拓扑展示部分的代码。

下面,本发明实例中具体介绍另一种拓扑图生成方法,请参照图2公开的拓扑图生成方法流程图,该方法可以包括:

步骤S200、从云平台中获取待处理数据;

步骤S210、按照不同数据类型各自对应的数据特点,确定各数据类型下的待处理数据各自对应的数据级别;

步骤S220、针对各数据类型下的待处理数据,按照预设拓扑图的数据结构,将不同数据级别的待处理数据划分到预设拓扑图的不同数据结构层中,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;

需要说明的是,同一数据级别的待处理数据被划分到同一数据组中,同一数据组中的待处理数据具有同一数据级别,同一数据组中的每一待处理数据都对应一序号,待处理数据是按照序号从小到大的顺序进行排列的。

步骤S230、将划分到预设拓扑图的不同数据结构层中的待处理数据按照预设排序规则进行排序;

需要说明的是,本发明实施例中可以将划分到预设拓扑图的不同数据结构层中的待处理数据按照时间规则进行排序,还可以按照安装名称进行排序,本发明实施例中不做具体限定。

步骤S240、针对各待处理数据在预设拓扑图数据结构中的位置,以及各待处理数据在预设拓扑图数据结构中与其他待处理数据的关系,获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;

步骤S250、依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

本发明实施例公开的拓扑图生成方法中采用的排序算法主要考虑了算法的简洁性和快捷性,牺牲了一些空间复杂度,减少了时间复杂度。能够快速和准确的生成拓扑图,不仅减少了引擎缓存溢出的概率,还可以直接应用,减少了拓扑部分的代码编写。

下面对本发明实施例提供的拓扑图生成装置进行介绍,下文描述的拓扑图生成装置可与上文拓扑图生成方法相互对应参照。

图3为本发明实施例提供的拓扑图生成装置的结构框图,该拓扑图生成装置可以包括:

待处理数据获取单元100,用于从云平台中获取待处理数据;

第一排序单元110,用于按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;

数据属性获取单元120,用于获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;

拓扑图生成单元130,用于依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

所述第一排序单元包括:

数据级别确定模块,用于按照不同数据类型各自对应的数据特点,确定各数据类型下的待处理数据各自对应的数据级别;

划分单元,用于针对各数据类型下的待处理数据,按照预设拓扑图的数据结构,将不同数据级别的待处理数据划分到预设拓扑图的不同数据结构层中,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据。

还包括:

第二排序单元,用于将划分到预设拓扑图的不同数据结构层中的待处理数据按照预设排序规则进行排序。

所述数据属性获取单元包括:

数据属性获取子单元,用于针对各待处理数据在预设拓扑图数据结构中的位置,以及各待处理数据在预设拓扑图数据结构中与其他待处理数据的关系,获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性。

所述数据属性包括:待处理数据在预设拓扑图数据结构中的标识号、名称、父节点标识号、序号、层级、坐标以及指向标识号中的至少一种。

综上所述:

本发明实施例中公开了一种拓扑图生成方法及装置,包括:从云平台中获取待处理数据;按照预设拓扑图的数据结构,将不同数据类型的待处理数据分别进行排序,得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;获取符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。通过本发明实施例中的技术方案,能够得到各数据类型各自对应的符合预设拓扑图数据结构的待处理数据;以及符合预设拓扑图数据结构的各待处理数据在预设拓扑图数据结构中的数据属性;从而依据各待处理数据在预设拓扑图数据结构中的数据属性,生成拓扑图。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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