一种流量统计及分担方法和装置与流程

文档序号:16630550发布日期:2019-01-16 06:31阅读:156来源:国知局
一种流量统计及分担方法和装置与流程

本发明涉及电信网络管理技术领域,具体涉及一种流量统计及分担方法和装置。



背景技术:

在观察统计链路流量的时候,希望能实时更新链路流量,并且能实时流动的展示链路,这样可以更加直观的显示给使用者,当出现某条链路流量过大的时候,可以让使用者在界面上把流量过大链路上的流量拖拽到另外一条等价链路上,使流量负载分担。

目前一般的流量观察系统大部分只支持实时更新流量及显示的功能,但是同时把链路实时流动展示的很少,而且能手动在界面上拖拽链路实现负载分担的基本上没有。



技术实现要素:

本发明提供一种流量统计及分担方法和装置,实现根据流量把链路渲染成动态流动的样式,把链路流量拖拽到另外一条链路上,同时拖拽后的链路也渲染成流动样式。

为了实现上述发明目的,本发明采取的技术方案如下:

一种流量统计及分担方法,包括:

统计观察任务的流量并获取所述观察任务的链路信息;

根据所述链路信息在拓扑结构上绘制所述观察任务的节点和链路;

按照统计的所述流量将每条链路显示为动态流动样式;

当存在一条或者多条超载链路的流量大于或者等于预设值时,将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路。

优选地,所述的流量统计及分担方法还包括:更新更改的链路的流量;并根据更新后的流量将所述更改的链路显示为动态流动样式。

优选地,按照流量将每条链路显示为动态流动样式包括:

根据所述链路的流量确定所述链路对应的告警级别,根据所述告警级别显示所述链路,并在所述连路上提示告警信息;

按照预设周期删除所述链路,并刷新所述链路的流量,根据刷新后的所述链路的流量确定所述链路对应的告警级别,根据刷新后的所述告警级别显示所述链路,并在所述连路上提示告警信息;以使所述链路渲染成流动样式。

优选地,将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路包括:

根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路。

优选地,根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路包括:

获取鼠标的点击事件和移动过程,监听界面坐标上的链路元素变化;

移动链路元素发生变化的链路的任务数据,所述任务数据包括所述链路的流量。

优选地,所述方法之前还包括:接收用户输入的节点,并确定所述观察任务为以所述用户输入的节点为起始节点的所有链路。

优选地,动态流动样式为蚂蚁线样式。

优选地,满足预设条件的一条或者多条分担链路包括:所述分担链路的当前流量加上所述超载链路的部分或者全部流量小于预设值。

优选地,所述观察任务的节点包括:所述观察任务的首节点或者首端口和尾节点或者尾端口。

为了解决上述技术问题,本发明还提供一种流量统计及分担装置,包括:

统计模块,设置为统计观察任务的流量并获取所述观察任务的链路信息;

绘制模块,设置为根据所述链路信息在拓扑结构上绘制所述观察任务的节点和链路;

显示模块,设置为按照统计的所述流量将每条链路显示为动态流动样式;

分担模块,设置为当存在一条或者多条超载链路的流量大于或者等于预设值时,将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路。

优选地,所述统计模块还设置为更新更改的链路的流量;所述显示模块还设置为根据更新后的流量将所述更改的链路显示为动态流动样式。

优选地,所述显示模块按照流量将每条链路显示为动态流动样式包括:

根据所述链路的流量确定所述链路对应的告警级别,根据所述告警级别显示所述链路,并在所述连路上提示告警信息;

按照预设周期删除所述链路,并刷新所述链路的流量,根据刷新后的所述链路的流量确定所述链路对应的告警级别,根据刷新后的所述告警级别显示所述链路,并在所述连路上提示告警信息;以使所述链路渲染成流动样式。

优选地,所述分担模块将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路包括:

根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路。

优选地,所述分担模块根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路包括:

获取鼠标的点击事件和移动过程,监听界面坐标上的链路元素变化;

移动链路元素发生变化的链路的任务数据,所述任务数据包括所述链路的流量。

本发明和现有技术相比,具有如下有益效果:

本发明的技术方案,通过链路动态渲染成蚂蚁线流动的样式,能实时反应出该链路有流量存在的情况,更加直观呈现给用户;快速分担链路流量,简化流量负载方式,使操作更简单。

附图说明

图1为本发明实施例的流量统计及分担方法的流程图;

图2为本发明实施例的流量统计及分担装置的结构示意图;

图3为实施例1的流量统计及分担的流程图;

图4为实施例2的流量分担前的链路渲染图;

图5为实施例2的流量分担后的链路渲染图。

具体实施方式

为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。

如图1所示,本发明实施例提供一种流量统计及分担方法,包括:

s101、统计观察任务的流量并获取所述观察任务的链路信息;

s102、根据所述链路信息在拓扑结构上绘制所述观察任务的节点和链路;

s103、按照统计的所述流量将每条链路显示为动态流动样式;

s104、当存在一条或者多条超载链路的流量大于或者等于预设值时,将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路。

当步骤s104中存在流量分担时,还包括:更新更改的链路的流量;并根据更新后的流量将所述更改的链路显示为动态流动样式。

所述方法之前还包括:接收用户输入的节点,并确定所述观察任务为以所述用户输入的节点为起始节点的所有链路。

其中,动态流动样式为蚂蚁线样式。

步骤s104中满足预设条件的一条或者多条分担链路包括:所述分担链路的当前流量加上所述超载链路的部分或者全部流量小于预设值。

其中,所述观察任务的节点包括:所述观察任务的首节点或者首端口和尾节点或者尾端口。

步骤s103中按照统计的所述流量将每条链路显示为动态流动样式包括:

根据所述链路的流量确定所述链路对应的告警级别,根据所述告警级别显示所述链路,并在所述连路上提示告警信息;

按照预设周期删除所述链路,并刷新所述链路的流量,根据刷新后的所述链路的流量确定所述链路对应的告警级别,根据刷新后的所述告警级别显示所述链路,并在所述连路上提示告警信息;以使所述链路渲染成流动样式。

步骤s104中将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路包括:

根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路。

其中,根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路包括:

获取鼠标的点击事件和移动过程,监听界面坐标上的链路元素变化;

移动链路元素发生变化的链路的任务数据,所述任务数据包括所述链路的流量。

如图2所示,本发明实施例还提供一种流量统计及分担装置,包括:

统计模块,设置为统计观察任务的流量并获取所述观察任务的链路信息;

绘制模块,设置为根据所述链路信息在拓扑结构上绘制所述观察任务的节点和链路;

显示模块,设置为按照统计的所述流量将每条链路显示为动态流动样式;

分担模块,设置为当存在一条或者多条超载链路的流量大于或者等于预设值时,将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路。

优选地,所述统计模块还设置为更新更改的链路的流量;所述显示模块还设置为根据更新后的流量将所述更改的链路显示为动态流动样式。

优选地,所述显示模块按照流量将每条链路显示为动态流动样式包括:

根据所述链路的流量确定所述链路对应的告警级别,根据所述告警级别显示所述链路,并在所述连路上提示告警信息;

按照预设周期删除所述链路,并刷新所述链路的流量,根据刷新后的所述链路的流量确定所述链路对应的告警级别,根据刷新后的所述告警级别显示所述链路,并在所述连路上提示告警信息;以使所述链路渲染成流动样式。

优选地,所述分担模块将所述超载链路的部分或者全部流量分担至流量满足预设条件的一条或者多条分担链路包括:

根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路。

优选地,所述分担模块根据用户的指令,将所述超载链路的部分或者全部流量转移至指定分担链路包括:

获取鼠标的点击事件和移动过程,监听界面坐标上的链路元素变化;

移动链路元素发生变化的链路的任务数据,所述任务数据包括所述链路的流量。

实施例1

本实施例结合图3,说明流量统计及分担的流程,具体包括:

步骤1:创建流观察任务;

步骤2:选中某个任务,拓扑上绘制出对应的节点和链路;

步骤3:服务端推送数据到前台,并缓存起来;

步骤4:流量渲染在链路上,同时链路渲染成蚂蚁线动态流动样式;

步骤5:鼠标拖拽方式,把任务从一条链路上拖拽到另外一条链路上,链路渲染同时跟着变化;

本实施例向用户提供根据起始节点查询所有链路的功能;并向用户提供根据节点和端口查询流量的功能。

实施例2

结合具体的实施例对图3所示的方法进行详细说明。

步骤s01:创建流观察任务。只有创建任务,才能进行流量统计,而且界面上是根据任务来获取对应的链路信息。

步骤s02:选中某个任务,在拓扑上绘制出对应的节点和链路。使用者可以创建很多任务,当选择某一个任务时,通过ajax方式在服务端查询到该任务所包含的节点和链路信息并组装成json格式返回到前台,主要是包含每一段链路上的首节点/端口head-nodeid/head-portid,尾节点/端口tail-nodeid/tail-portid.根据这四个信息就可以使用第三方提供的twaver组件绘制出链路,这个组件在web界面上绘制节点,链路等组件和相关操作非常方便简单。

步骤s03:服务端推送数据到前台,并缓存起来。web界面上通过开源的服务器推送技术cometd订阅监听"/comted/channal/port/statics"专用字符的统计消息。当服务端的任务执行成功,并采集到数据后,先组装成json格式,然后使用推送服务cometd把数据推送到前台web页面。因为有很多模块都有推送数据和监听不同的消息内容,所以需要过滤本模块有用的消息内容并缓存起来。解析后json内容如下,这样根据devid和portid就可以很方便的在链路上渲染端口流量了。

步骤s04:流量渲染在链路上,同时链路渲染成蚂蚁线动态流动样式。在界面初始化的时候,先用twaver组件设置整个拓扑的setlinkflowenabled为true.当在任务列表中选择一个任务时.(1):通过步骤s02在界面上绘制出链路,同时使用js中的settimeout方式起一个定时器重复执行refreshpathstatics刷新路径统计方法,方法主要是先获取该任务所包含的所有链路,然后循环遍历链路信息并根据前面选在的任务进行对比,如果是该任务链路则进行流量计算,方法中有两个动作。(2):一个是读取步骤s03缓存的数据,根据缓存数据中的节点和端口信息devid和portid判断是否存在已绘制的链路上,如果存在则使用twaver组件把流量值渲染在链路上,其实就是在链路上设置告警提示,告警内容是当前的流量值。具体的流程是,先根据流量数据产生对应的告警级别alarmseverity,然后生成一个链路id的告警对象alarm,最后把告警对象alarm添加到告警管理容器alarmbox中,这样对应的链路上就会出现告警提示,因为有定时器的动作,当缓存数据有变化时,告警内容也会同步变化并表现在链路上。(3):根据流量同时设置该链路的"used"属性,链路的不同属性值可以设置不同样式,如果是used则设置成蚂蚁线的样式,其他属性保持默认样式,这样就可以把链路的显示区分开。通过前面设置的流动使能自动把链路渲染成流动样式,主要是通过定时刷新链路实现,先删除该链路,然后同时刷新出该链路,刷新的链路初始默认样式,再根据used属性变成蚂蚁线样式,重复执行刷新动作。这样就会在链路上产生蚂蚁线流动的视觉。

步骤s05:鼠标拖拽方式,把任务从一条链路上拖拽到另外一条链路上,链路渲染同时跟着变化。通过步骤s04渲染的流量可以实时看到链路上的负载情况,当某条链路上的流量过大时,可以手动把流量分担到另外一条链路上.具体的实施动作是:首先用鼠标选中表格中的任务,然后左键点鼠标不放,同时移动鼠标把任务拖拽到没有流动样式的路径上,最后当链路上显示流动样式后松开鼠标完成拖拽操作。拓扑上的鼠标操作也是twaver组件的功能,通过鼠标的点击事件,先获取到任务表格中当前行的所有数据,通过监听元素变化通知,在鼠标移动的过程中,web界面坐标上如果有元素变化,就会触发通知,这里只判断链路元素变化才执行拖拽方法,如果该链路是属于选中的那个任务数据中,则把鼠标移到的链路属性修改成used,其它链路的属性变成默认的,这样链路的样式就改变了。只有执行完拖拽动作后才会把相关界面数据传到服务端,服务端执行相应的接口处理任务变化和数据统计等,web界面上重复执行了s03,s04的步骤来改变链路的渲染样式。

虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。

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