一种网络拓扑图的显示方法和装置与流程

文档序号:12491552阅读:1223来源:国知局
一种网络拓扑图的显示方法和装置与流程

本发明涉及计算机领域,具体来说,涉及一种网络拓扑图的显示方法和装置。



背景技术:

随着高性能计算在中国市场的广泛应用,数据中心服务器集群的规模也在不断的扩大,在大规模的应用中,集群对网络的压力和依赖也越来越大,大规模集群的网络管理变得更加复杂。目前,大多数网络监控管理平台通过命令已无法完成对网络的实时监控,同时排查问题的难度也会加大,同时,由于节点数量庞大,拓扑关系展现即将成为众多网络监控产品的突出问题,因此,现有技术存在如下问题:

在管理端的浏览器屏幕中一次显示大于300以上的拓扑关系时,根据现有的拓扑排列很难看出拓扑关系,同时,现有的拓扑图给人的感觉也很混乱;

现有的拓扑展现一般都采用传统的树型拓扑,由于树型拓扑为线型结构,因此,该树型拓扑无法展现过多的节点,难以克服节点、交换机,拓扑关系连线等重合覆盖问题,因此,对于IB(InfiniBand,无限带宽技术)环型网络,该树形拓扑从本质上就无法满足;

现有技术中,针对节点数量太多的解决办法为分层拓扑,但是,其弊端在于无法一次性展现全网状况,同时,对于网络监控也起不到直接查看的作用,操作也更加烦琐,用户体验也会更差;

现有技术中,通常拓扑节点数据与节点关系不能有效的进行分离,从而导致在页面展现时,数据解析性能下降,同时,其网络拓扑关系数据耦合性太高,导致解析消耗浏览器的资源较大,从而导致页面卡顿的现象。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种网络拓扑图的显示方法和装置,能够通过环型排列布局来解决IB拓扑交换机环形网络问题,并且通过环型排列布局最大化减少多数据节点引起的拓扑关系覆盖的问题,此外,通过节点数据和节点关系数据这种分层的方式,解决IB网络拓扑数据量大时渲染页面卡顿问题,还通过环形图标排列最大优化IB拓扑中数据关系连线覆盖问题。

本发明的技术方案是这样实现的:

根据本发明的一个方面,提供了一种网络拓扑图的显示方法。

该显示方法包括:获取客户端的第一数据请求和第二数据请求;根据客户端的第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端;客户端根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线。

根据本发明的一个实施例,根据客户端的第一数据请求,获取IB网络的拓扑数据包括:根据第一数据请求,选取IB网络中的任一拓扑节点;根据选取后的任一拓扑节点,获取IB网络的拓扑数据。

根据本发明的一个实施例,客户端根据节点数据,对拓扑节点进行环形排列包括:客户端根据节点数据,确定拓扑节点和交换机的数量信息;客户端获取浏览器的窗口尺寸信息,并且根据窗口尺寸信息,确定窗口中最大的圆区域;客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式。

根据本发明的一个实施例,客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式包括:客户端根据圆区域和数量信息,确定拓扑节点的第一图标信息和第一环数信息,以及确定交换机的第二图标信息和第二环数信息;客户端根据第一图标信息和第一环数信息,对拓扑节点进行环形排列;客户端根据第二图标信息和第二环数信息,对交换机进行环形排列。

根据本发明的一个实施例,分别对拓扑节点和交换机进行多环形排列。

根据本发明的另一方面,提供了一种网络拓扑图的显示装置。

该显示装置包括:第一获取模块,设置在服务端中,用于获取客户端的第一数据请求和第二数据请求;解析发送模块,设置在客户端中,用于根据第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端;环形排列模块,设置在客户端中,用于根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线。

根据本发明的一个实施例,解析发送模块包括:选取模块,用于根据第一数据请求,选取IB网络中的任一拓扑节点;第二获取模块,用于根据选取后的任一拓扑节点,获取IB网络的拓扑数据。

根据本发明的一个实施例,环形排列模块包括:第一确定模块,用于根据节点数据,确定拓扑节点和交换机的数量信息;第三获取模块,用于获取浏览器的窗口尺寸信息,并且根据窗口尺寸信息,确定窗口中最大的圆区域;第二确定模块,用于客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式。

根据本发明的一个实施例,第二确定模块包括:确定子模块,用于根据圆区域和数量信息,确定拓扑节点的第一图标信息和第一环数信息,以及确定交换机的第二图标信息和第二环数信息;第一排列模块,用于根据第一图标信息和第一环数信息,对拓扑节点进行环形排列;第二排列模块,用于根据第二图标信息和第二环数信息,对交换机进行环形排列。

根据本发明的一个实施例,进一步包括:环形排列子模块,用于分别对拓扑节点和交换机进行多环形排列。

本发明的有益效果在于:

本发明通过获取客户端的第一数据请求和第二数据请求,随后根据客户端的第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端,最后客户端根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线,从而能够通过环型排列布局避免多数据节点的拓扑关系之间覆盖的情况,同时,通过环形排列布局能够更直观的展现IB网络拓扑。

附图说明

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

图1是根据本发明实施例的网络拓扑图的显示方法的流程图;

图2是根据本发明实施例的网络拓扑图的显示装置的示意图;

图3是根据本发明实施例的网络拓扑图的显示方法的具体流程图;

图4是根据本发明实施例的环形拓扑算法的具体流程图;

图5是根据本发明实施例的网络拓扑图的显示装置的框图。

具体实施方式

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

根据本发明的实施例,提供了一种网络拓扑图的显示方法。

如图1所示,根据本发明实施例的显示方法包括:

步骤S101,获取客户端的第一数据请求和第二数据请求;

步骤S103,根据客户端的第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端;

步骤S105,客户端根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线。

通过本发明的上述方案,通过获取客户端的第一数据请求和第二数据请求,随后根据客户端的第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端,最后客户端根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线,从而能够通过环型排列布局避免多数据节点的拓扑关系之间覆盖的情况,同时,通过环形排列布局能够更直观的展现IB网络拓扑。

根据本发明的一个实施例,根据客户端的第一数据请求,获取IB网络的拓扑数据包括:根据第一数据请求,选取IB网络中的任一拓扑节点;根据选取后的任一拓扑节点,获取IB网络的拓扑数据。

根据本发明的一个实施例,客户端根据节点数据,对拓扑节点进行环形排列包括:客户端根据节点数据,确定拓扑节点和交换机的数量信息;客户端获取浏览器的窗口尺寸信息,并且根据窗口尺寸信息,确定窗口中最大的圆区域;客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式。

根据本发明的一个实施例,客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式包括:客户端根据圆区域和数量信息,确定拓扑节点的第一图标信息和第一环数信息,以及确定交换机的第二图标信息和第二环数信息;客户端根据第一图标信息和第一环数信息,对拓扑节点进行环形排列;客户端根据第二图标信息和第二环数信息,对交换机进行环形排列。

根据本发明的一个实施例,分别对拓扑节点和交换机进行多环形排列。

为了更好的描述本发明,下面通过具体的实施例进行详细的描述。

为解决现有IB网络监控系统中存在的问题,本发明采用了环型排列算法展现IB网络拓扑。如图2所示,主体架构是常见的BS架构,其包括服务端和客户端,并且该客户端和服务端的功能如下:

服务端:其主要负责2个功能,首先在IB网络上选取任意一个节点,该节点的选取方法是可根据拓扑配置文件中的配置确定的,同时,该拓扑配置文件中还保存了拓扑数据的存储位置等配置信息,在选取的节点上执行查看IB网络信息的命令,从而获得该IB网络的拓扑数据并返回信息,并且把得到的返回信息写入临时文件,随后按照返回内容解析拓扑数据在网络拓扑中的作用,其中,该拓扑数据包括节点数据(或拓扑节点数据)和节点关系数据(或拓扑节点关系数据),其中,节点数据是关于拓扑节点的信息,如拓扑节点的当前流量等信息;节点关系数据是关于拓扑节点的连接关系的数据,如图2中所示的环形链接等,此外,本发明所采用的拓扑数据分析也采用节点数据与节点关系数据分开解析的方式进行加载,这样更清晰,同时也减少了浏览器的解析压力;

客户端:负责浏览器界面的布局排列和展现,首先,它会定期向服务端发送AJAX(Asynchronous Javascript And XML,异步JavaScript和XML)请求,从而该服务端接收到请求后会执行IB网拓扑命令,并查看指定的临时文件是否在指定位置,并返回客户端结果,随后客户端根据执行结果再次发出获取拓扑数据的AJAX请求,服务器返回拓扑数据,同时设置在客户端中的排列展现模块用于负责计算拓扑节点如何排列、计算图标的大小位置、计算拓扑关系如何最优不被覆盖率等。

此外,图3示出了网络拓扑图的显示方法的具体流程图,其具体流程如下:

步骤S1,用户选择拓扑配置文件,并对其进行设置,如指定选取的拓扑节点,该设置完成后,服务端会读取用户对IB网的拓扑配置;

步骤S2,根据该配置执行IB网拓扑命令,并判断拓扑命令是否执行成功,如果执行成功,将选取的拓扑节点返回的结果输出到临时文件中,并返回命令执行结果到客户端,若未成功,则返回步骤S1;

步骤S3,客户端根据返回结果发起第二次拓扑数据请求;

步骤S4,服务端在接收到上述第二次拓扑数据请求后,将IB拓扑数据解析并组装成客户端指定的分离式数据,并将其返回至客户端,即将拓扑数据分离为节点数据和节点关系数据;

步骤S5,客户端获取浏览器的短边长度,并以该短边长度为直径截取最大的圆面积大小,即根据拓扑矩形展示区域的宽作为直径,截取一个最大的圆面积,同时,用圆面积作为分母,用节点数交换机数的和为分子,计算出拓扑节点和交换机图标的默认大小,以便拓扑节点和交换机的清楚展现,随后再计算出拓扑节点和交换机排列的环数,并算出每一环中拓扑节点和交换机的数量,此外,还可用第一环的数量控制每环之间的环间距,其进一步通过环型拓扑排列公式进行排列,该排列公式具体如下:

P[N,r]/r

其中,P是指排列,即P是从N个元素取r个元素进行排列得到排列数;N是指元素的总个数;r是参与选择的元素个数,如:由于N个不同字母构成的环排列与其构成的线排列是1对n的,即每个环排列对应n个线排列,而n个字母线排列数为n!,故由以上对应关系可知环排列数为P(n,n)/n=(n-1)!,此时考虑从r个字母中取出N个数进行线排列,有P(r,N)个线排列,综上,由上面的对应关系得对应的环排列应该是P[N,r]/r。

此外,图4示出了环形拓扑算法的具体流程图,其具体流程如下:

步骤S1,客户端通过向服务端发送AJAX请求后,在执行完该AJAX请求后,该服务端返回JSON(JavaScript Object Notation,JavaScript对象表示法)数据,该JSON数据为拓扑数据;

步骤S2,客户端获取浏览器屏幕的大小;

步骤S3,客户端根据获取的JSON数据,确定IB网络中交换机和拓扑节点的数量;

步骤S4,将拓扑矩形展示区域的宽作为直径,截取一个最大的圆面积,同时,用圆面积作为分母,用节点数交换机数的和为分子,计算出拓扑节点和交换机图标的默认大小,随后再算出拓扑节点和交换机排列的环数;

步骤S5,根据预设的环形算法,对拓扑节点和交换机的图标进行排列,如图5所示,将拓扑节点的图标设置在环外围,将交换机图标设置在环中心附件,并且拓扑节点的图标和交换机图标均具有多个环数;

步骤S6,客户端根据获取的JSON数据中的节点关系数据,解析拓扑关系数据进行连线,如,根据本发明的一个实施例,将拓扑图的中心显示为交换机,外围显示服务器节点,此外,可通过设置服务器节点和交换机的连线的宽度显示网络流量,如可通过细线代表网络正常,相对较粗的线代表网络流量大,并且该拓扑图可支持局部放大和拖动效果。

根据本发明的实施例,还提供了一种网络拓扑图的显示装置。

如图5所示,根据本发明实施例的显示装置包括:

第一获取模块51,设置在服务端中,用于获取客户端的第一数据请求和第二数据请求;

解析发送模块52,设置在客户端中,用于根据第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端;

环形排列模块53,设置在客户端中,用于根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线。

根据本发明的一个实施例,解析发送模块52包括:

选取模块(未示出),用于根据第一数据请求,选取IB网络中的任一拓扑节点;

第二获取模块(未示出),用于根据选取后的任一拓扑节点,获取IB网络的拓扑数据。

根据本发明的一个实施例,环形排列模块53包括:

第一确定模块(未示出),用于根据节点数据,确定拓扑节点和交换机的数量信息;

第三获取模块(未示出),用于获取浏览器的窗口尺寸信息,并且根据窗口尺寸信息,确定窗口中最大的圆区域;

第二确定模块(未示出),用于客户端根据圆区域和数量信息,确定拓扑节点和交换机的环形排序方式。

根据本发明的一个实施例,第二确定模块包括:

确定子模块(未示出),用于根据圆区域和数量信息,确定拓扑节点的第一图标信息和第一环数信息,以及确定交换机的第二图标信息和第二环数信息;

第一排列模块(未示出),用于根据第一图标信息和第一环数信息,对拓扑节点进行环形排列;

第二排列模块(未示出),用于根据第二图标信息和第二环数信息,对交换机进行环形排列。

根据本发明的一个实施例,进一步包括:环形排列子模块(未示出),用于分别对拓扑节点和交换机进行多环形排列。

综上所述,借助于本发明的上述技术方案,通过获取客户端的第一数据请求和第二数据请求,随后根据客户端的第一数据请求,获取IB网络的拓扑数据,并且根据第二数据请求,对拓扑数据进行解析,以将拓扑数据分为节点数据和节点关系数据,以及将节点数据和节点关系数据发送至客户端,最后客户端根据节点数据,对拓扑节点进行环形排列,并且根据节点关系数据,对排列后的拓扑节点进行连线,从而能够通过环型排列布局避免多数据节点的拓扑关系之间覆盖的情况,同时,通过环形排列布局能够更直观的展现IB网络拓扑。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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