一种拓扑实现方法及一种云消息服务监控平台与流程

文档序号:13141895阅读:168来源:国知局
一种拓扑实现方法及一种云消息服务监控平台与流程

本发明涉及计算机技术领域,特别涉及一种拓扑实现方法及一种云消息服务监控平台。



背景技术:

随着云技术的不断发展,云消息服务监控平台越来越受到用户青睐。云消息服务监控平台支持信息发布和订阅等功能,除此之外,对于安装的各个节点拓扑的展示和监控也尤为重要。

目前,主要是基于可伸缩矢量图形(scalablevectorgraphics,svg)技术实现各个节点拓扑。

但是,基于svg技术实现各个节点拓扑,还需有额外的第三方插件支持,过程较为繁琐,用户体验较差。



技术实现要素:

本发明实施例提供了一种拓扑实现方法及一种云消息服务监控平台,简化拓扑实现过程,提高用户体验。

第一方面,本发明实施例提供了一种拓扑实现方法,包括:

确定已安装的至少一个节点;

针对于所述至少一个节点中的每一个节点,根据所述节点的类型,生成与所述节点相对应的拓扑节点数据;

针对于不同类型的节点,生成拓扑边数据;

利用vis.js技术以及各个所述拓扑节点数据和所述拓扑边数据,生成并展示所述至少一个节点对应的拓扑图。

优选地,

当所述至少一个节点中存在对外接口节点、云消息服务负载均衡节点及云消息服务节点三种不同类型的节点,且所述拓扑节点数据包括有节点所在层时,

所述根据所述节点的类型,生成与所述节点相对应的拓扑节点数据,包括:

当所述节点为所述对外接口节点时,生成与所述节点相对应的节点所在层为0层;

当所述节点为所述云消息服务负载均衡节点时,生成与所述节点相对应的节点所在层为1层;

当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层。

优选地,

所述针对于不同类型的节点,生成拓扑边数据,包括:

针对于每一个所述对外接口节点和每一个所述云消息服务负载均衡节点,生成边的起点为当前对外接口节点id和边的终点为当前云消息服务负载均衡节点id的拓扑边数据;

针对于每一个所述云消息服务负载均衡节点和每一个所述云消息服务节点,生成边的起点为当前云消息服务负载均衡节点id和边的终点为当前云消息服务节点id的拓扑边数据。

优选地,

所述当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层,包括:

根据如下计算公式(1),计算第i个所述云消息服务节点对应的节点所在层;

li=2*(n+i)/n(1)

其中,li表征第i个所述云消息服务节点对应的节点所在层;n表征预设的各层能够显示的节点数目;/表征取整。

优选地,

所述拓扑节点数据,包括:id、节点显示名称、节点所在层、节点显示图标中的任意一种或多种。

优选地,

进一步包括:为每一个所述云消息服务节点添加单击事件;

在所述生成并展示所述至少一个节点对应的拓扑图之后,进一步包括:

根据外部对所述拓扑图上的目标云消息服务节点的点击触发,获取所述目标云消息服务节点的topic信息,并将所述topic信息展示给外部。

第二方面,本发明实施例提供了一种云消息服务监控平台,包括:确定单元、节点数据生成单元、边数据生成单元和拓扑图展示单元,其中,

所述确定单元,用于确定已安装的至少一个节点;

所述节点数据生成单元,用于针对于所述至少一个节点中的每一个节点,根据所述节点的类型,生成与所述节点相对应的拓扑节点数据;

所述边数据生成单元,用于针对于不同类型的节点,生成拓扑边数据;

所述拓扑图展示单元,用于利用vis.js技术以及各个所述拓扑节点数据和所述拓扑边数据,生成并展示所述至少一个节点对应的拓扑图。

优选地,

当所述至少一个节点中存在对外接口节点、云消息服务负载均衡节点及云消息服务节点三种不同类型的节点,且所述拓扑节点数据包括有节点所在层时,

所述节点数据生成单元,用于当所述节点为所述对外接口节点时,生成与所述节点相对应的节点所在层为0层;当所述节点为所述云消息服务负载均衡节点时,生成与所述节点相对应的节点所在层为1层;当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层。

优选地,

所述边数据生成单元,用于针对于每一个所述对外接口节点和每一个所述云消息服务负载均衡节点,生成边的起点为当前对外接口节点id和边的终点为当前云消息服务负载均衡节点id的拓扑边数据;以及针对于每一个所述云消息服务负载均衡节点和每一个所述云消息服务节点,生成边的起点为当前云消息服务负载均衡节点id和边的终点为当前云消息服务节点id的拓扑边数据。

优选地,

所述节点数据生成单元,用于根据如下计算公式(1),计算第i个所述云消息服务节点对应的节点所在层;

li=2*(n+i)/n(1)

其中,li表征第i个所述云消息服务节点对应的节点所在层;n表征预设的各层能够显示的节点数目;/表征取整。

优选地,

所述拓扑节点数据,包括:id、节点显示名称、节点所在层、节点显示图标中的任意一种或多种。

优选地,

进一步包括:处理单元和topic信息展示单元,其中,

所述处理单元,用于为每一个所述云消息服务节点添加单击事件;

所述topic信息展示单元,用于在所述拓扑图展示单元生成并展示所述至少一个节点对应的拓扑图之后,根据外部对所述拓扑图上的目标云消息服务节点的点击触发,获取所述目标云消息服务节点的topic信息,并将所述topic信息展示给外部。

本发明实施例提供了一种拓扑实现方法及一种云消息服务监控平台,在确定已安装的至少一个节点后,通过根据节点的类型,生成与节点相对应的拓扑节点数据,并针对不同类型的节点,生成拓扑边数据,从而接下来就可以利用vis.js技术以及生成的各个拓扑节点数据和拓扑边数据,生成并展示拓扑图,整个拓扑实现过程无需依靠第三方插件,而是基于vis.js技术直接进行拓扑图的生成和展示,因此本方案简化了拓扑实现的过程,提高了用户体验。

附图说明

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

图1是本发明一个实施例提供的一种拓扑实现方法的流程图;

图2是本发明另一个实施例提供的一种拓扑实现方法的流程图;

图3是本发明一个实施例提供的一种云消息服务监控平台的结构示意图;

图4是本发明另一个实施例提供的一种云消息服务监控平台的结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种拓扑实现方法,该方法可以包括以下步骤:

步骤101:确定已安装的至少一个节点。

步骤102:针对于所述至少一个节点中的每一个节点,根据所述节点的类型,生成与所述节点相对应的拓扑节点数据。

步骤103:针对于不同类型的节点,生成拓扑边数据。

步骤104:利用vis.js技术以及各个所述拓扑节点数据和所述拓扑边数据,生成并展示所述至少一个节点对应的拓扑图。

在图1所示的实施例中,在确定已安装的至少一个节点后,通过根据节点的类型,生成与节点相对应的拓扑节点数据,并针对不同类型的节点,生成拓扑边数据,从而接下来就可以利用vis.js技术以及生成的各个拓扑节点数据和拓扑边数据,生成并展示拓扑图,整个拓扑实现过程无需依靠第三方插件,而是基于vis.js技术直接进行拓扑图的生成和展示,因此本方案简化了拓扑实现的过程,提高了用户体验。

在本发明一个实施例中,当所述至少一个节点中存在对外接口节点、云消息服务负载均衡节点及云消息服务节点三种不同类型的节点,且所述拓扑节点数据包括有节点所在层时,

所述步骤102的具体实施方式,可包括:当所述节点为所述对外接口节点时,生成与所述节点相对应的节点所在层为0层;当所述节点为所述云消息服务负载均衡节点时,生成与所述节点相对应的节点所在层为1层;当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层。

本发明实施例中,为了直观的显示各个节点的拓扑图,将拓扑图划分为至少三层,其中,各个对外接口节点在第一层进行展示(也即本发明实施例中的0层),然后云消息服务负载均衡节点在第二层进行展示(也即本发明实施例中的1层),最后由于云消息服务节点数量不固定,且数量从1台至千台不等,因此采用动态添加的方式。

在本发明一个实施例中,所述步骤103的具体实施方式,可包括:针对于每一个所述对外接口节点和每一个所述云消息服务负载均衡节点,生成边的起点为当前对外接口节点id和边的终点为当前云消息服务负载均衡节点id的拓扑边数据;以及针对于每一个所述云消息服务负载均衡节点和每一个所述云消息服务节点,生成边的起点为当前云消息服务负载均衡节点id和边的终点为当前云消息服务节点id的拓扑边数据。

例如,本发明实施例中共有5个对外接口节点,如分别是a1、a2、a3、a4和a5,1个云消息服务负载均衡节点,如为b,10个云消息服务节点,如分别是c1、c2、c3…c10,那么相应的针对对外接口节点和云消息服务负载均衡节点,就有5组拓扑边数据,分别是边的起点为a1的id和边的终点为b的id、边的起点为a2的id和边的终点为b的id…、边的起点为a5的id和边的终点为b的id;针对云消息服务负载均衡节点和云消息服务节点,就有10组拓扑边数据,分别是边的起点为b的id和边的终点为c1的id、边的起点为b的id和边的终点为c2的id…、边的起点为b的id和边的终点为c10的id。

在本发明一个实施例中,所述当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层,包括:根据如下计算公式(1),计算第i个所述云消息服务节点对应的节点所在层;

li=2*(n+i)/n(1)

其中,li表征第i个所述云消息服务节点对应的节点所在层;n表征预设的各层能够显示的节点数目;/表征取整。

例如,预设的各层能够显示的节点数目n为12,那么针对第1个云消息服务节点,则l1=2*(n+i)/n=2*(12+1)/12=2;针对第5个云消息服务节点,则l5=2*(n+i)/n=2*(12+5)/12=2。

在本发明一个实施例中,所述拓扑节点数据,包括:id、节点显示名称、节点所在层、节点显示图标中的任意一种或多种。

其中,节点显示名称可以为所在服务器的名称,而且,为了能够使用户直观的区分出不同类型的节点,则不同类型的节点可采用不同的节点显示图标。

在本发明一个实施例中,进一步包括:为每一个所述云消息服务节点添加单击事件;在所述步骤104之后,可进一步包括:根据外部对所述拓扑图上的目标云消息服务节点的点击触发,获取所述目标云消息服务节点的topic信息,并将所述topic信息展示给外部。

本发明实施例中,通过利用vis.js技术和为每一个云消息服务节点增加单击事件,从而用户在展示的拓扑图上点击任一个云消息服务节点时,均可获取被点击的云消息服务节点的各个topic详细信息,并进行展示,如服务器名称、服务器ip、topic名字和队列文本版本号等多种详细信息。

下面将详细说明本发明实施例提供的一种拓扑实现方法,如图2所示,该方法可以包括以下步骤:

步骤201:确定已安装的116个节点。

本发明实施例中,可以通过从数据库中查询相应的记录来确定已安装的各个节点。例如,已安装的116个节点中有3个对外接口节点(如http访问代理节点、jms访问代理节点和amqp访问代理节点)、1个云消息服务负载均衡节点和112个云消息服务节点。

步骤202:针对116个节点中的每一个对外接口节点,生成相对应的拓扑节点数据,其中,拓扑节点数据中的节点所在层为0层。

本发明实施例中,拓扑节点数据包括有id、节点显示名称、节点所在层和节点显示图标。

例如,针对jms访问代理节点,生成的拓扑节点数据中的id即为数据库中记录的相应id、节点显示名称为其所在的服务器名称(如jms)、节点所在层为0层以及节点显示图标为区别于其他两种类型节点的预设图标(为了用户能够直观的区分出三种不同类型的节点)。

步骤203:针对116个节点中的每一个云消息服务负载均衡节点,生成相对应的拓扑节点数据,其中,拓扑节点数据中的节点所在层为1层。

与上述步骤202的原理相同,针对云消息服务负载均衡节点生成的拓扑节点数据中的id即为数据库中记录该节点的相应id、节点显示名称为其所在的服务器名称(如s129)、节点所在层为1层以及节点显示图标为区别于其他两种类型节点的预设图标。

步骤204:针对116个节点中的每一个云消息服务节点,生成相对应的拓扑节点数据,其中,拓扑节点数据中的节点所在层为大于等于两层。

与上述步骤202的原理相同,针对112个云消息服务节点中的每一个,生成的拓扑节点数据中的id即为数据库中记录的相应id、节点显示名称为其所在的服务器名称(如s129或者3)、节点显示图标为区别于其他两种类型节点的预设图标,以及节点所在层可利用如下公式(1)进行计算,例如,预设的各层能够显示的节点数目n为20,那么针对112个云消息服务节点中的第3个,则其对应的节点所在层为l3=2*(n+i)/n=2*(20+3)/20=2。

步骤205:针对每一个对外接口节点和每一个云消息服务负载均衡节点,生成边的起点为当前对外接口节点id和边的终点为当前云消息服务负载均衡节点id的拓扑边数据。

本发明实施例中,针对3个对外接口节点和1个云消息服务负载均衡节点,共有三组拓扑边数据,其中,第一组为:边的起点为http访问代理节点id和边的终点为云消息服务负载均衡节id;第二组为:边的起点为jms访问代理节点id和边的终点为云消息服务负载均衡节id;第三组为:边的起点为amqp访问代理节点id和边的终点为云消息服务负载均衡节id。

步骤206:针对每一个云消息服务负载均衡节点和每一个云消息服务节点,生成边的起点为当前云消息服务负载均衡节点id和边的终点为当前云消息服务节点id的拓扑边数据。

本发明实施例中,针对1个云消息服务负载均衡节点和112个云消息服务节点,则共有112组拓扑边数据。

步骤207:利用vis.js技术以及各个拓扑节点数据和拓扑边数据,生成并展示116个节点对应的拓扑图。

在上述步骤202至步骤204生成的各个拓扑节点数据,以及上述步骤205和步骤206生成的115组拓扑边数据后,就可以利用vis.js技术生成针对本发明实施例中的116个节点所对应的拓扑图。

步骤208:为每一个云消息服务节点添加单击事件。

步骤209:根据外部对拓扑图上的目标云消息服务节点的点击触发,获取目标云消息服务节点的topic信息,并将topic信息展示给外部。

例如,在拓扑图上的112个云消息服务节点中,用户点击的是第2层的第3个云消息服务节点,那么在用户点击后,可获取有关该节点的topic详细信息,如包括:服务器名称(如s129)、服务器ip(如192.168.253.1**)、topic名字(如topic1)、队列文本版本号(如05)、消息队列大小(如5.00mb)、消息队列可用空间(如4.99mb)、累计写入消息总字节段(如0.00mb-0.00tb)、累计读出消息总字节段(如0.00mb-0.00tb)、累计写入消息总数(如0)、累计读取消息总数(如0)、当前消息总数(如0)和队列创建或初始化时间(如2017.***)中的任意一种或多种。

如图3所示,本发明实施例提供了一种云消息服务监控平台,包括:确定单元301、节点数据生成单元302、边数据生成单元303和拓扑图展示单元304,其中,

所述确定单元301,用于确定已安装的至少一个节点;

所述节点数据生成单元302,用于针对于所述至少一个节点中的每一个节点,根据所述节点的类型,生成与所述节点相对应的拓扑节点数据;

所述边数据生成单元303,用于针对于不同类型的节点,生成拓扑边数据;

所述拓扑图展示单元304,用于利用vis.js技术以及各个所述拓扑节点数据和所述拓扑边数据,生成并展示所述至少一个节点对应的拓扑图。

在本发明一个实施例中,当所述至少一个节点中存在对外接口节点、云消息服务负载均衡节点及云消息服务节点三种不同类型的节点,且所述拓扑节点数据包括有节点所在层时,

所述节点数据生成单元302,用于当所述节点为所述对外接口节点时,生成与所述节点相对应的节点所在层为0层;当所述节点为所述云消息服务负载均衡节点时,生成与所述节点相对应的节点所在层为1层;当所述节点为所述云消息服务节点时,生成与所述节点相对应的节点所在层为大于等于两层。

在本发明一个实施例中,所述边数据生成单元303,用于针对于每一个所述对外接口节点和每一个所述云消息服务负载均衡节点,生成边的起点为当前对外接口节点id和边的终点为当前云消息服务负载均衡节点id的拓扑边数据;以及针对于每一个所述云消息服务负载均衡节点和每一个所述云消息服务节点,生成边的起点为当前云消息服务负载均衡节点id和边的终点为当前云消息服务节点id的拓扑边数据。

在本发明一个实施例中,所述节点数据生成单元302,用于根据如下计算公式(1),计算第i个所述云消息服务节点对应的节点所在层;

li=2*(n+i)/n(1)

其中,li表征第i个所述云消息服务节点对应的节点所在层;n表征预设的各层能够显示的节点数目;/表征取整。

在本发明一个实施例中,所述拓扑节点数据,包括:id、节点显示名称、节点所在层、节点显示图标中的任意一种或多种。

如图4所示,在本发明一个实施例中,进一步包括:处理单元401和topic信息展示单元402,其中,

所述处理单元401,用于为每一个所述云消息服务节点添加单击事件;

所述topic信息展示单元402,用于在所述拓扑图展示单元生成并展示所述至少一个节点对应的拓扑图之后,根据外部对所述拓扑图上的目标云消息服务节点的点击触发,获取所述目标云消息服务节点的topic信息,并将所述topic信息展示给外部。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述任一实施例中的拓扑实现方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述任一实施例中的拓扑实现方法。

综上,本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,在确定已安装的至少一个节点后,通过根据节点的类型,生成与节点相对应的拓扑节点数据,并针对不同类型的节点,生成拓扑边数据,从而接下来就可以利用vis.js技术以及生成的各个拓扑节点数据和拓扑边数据,生成并展示拓扑图,整个拓扑实现过程无需依靠第三方插件,而是基于vis.js技术直接进行拓扑图的生成和展示,因此本方案简化了拓扑实现的过程,提高了用户体验。

2、在本发明实施例中,通过将不同类型的节点进行分层展示,便于在展示各个节点的拓扑图后,用户能够直观清晰的了解到各个节点的拓扑关系,而且本方案通过基于vis.js技术实现,可以监控到云消息服务节点的topic数目以及每一个topic的详细信息。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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