APP下载

基于WEB的拓扑管理的设计与实现

2013-09-17徐孝娜雒江涛胡燕清

通信技术 2013年2期
关键词:拓扑图网络拓扑字段

徐孝娜, 雒江涛, 胡燕清

(重庆邮电大学 通信网与测试技术重点试验室,重庆 400065)

0 引言

随着公众对通信网络质量的要求越来越高,实现对网络的可控管理[1-2]显得愈发的重要。网络的故障管理、配置管理、性能管理等方面都与网络的拓扑结构有关,因此对网络的拓扑结构的研究具有最重要意义。

网络拓扑[3-4]图是指网络中各种网络元素网络设备、端点、链路的布局和分布。传统的网络拓扑图显示采用C/S架构,但由于C/S需要开发专用的客户端程序,技术难度大,开发周期长等缺点,近几年,大部分的网络拓扑图显示采用B/S[5-6]架构。文中提出了一种新的MxGraph[7]与XML[8]相结合的方案,来实现Web[9]方式的网络拓扑显示。MxGraph是旨在应用程序中展现图表并实现交互的函数库,文中使用的是基于JavaScript的函数库,它仅包含一个JavaScript文件,该文件通过隐藏的矢量图形语言能在所有主流的浏览器中渲染显示图形。

1 MxGraph工作原理

MxGraph以graph状态与服务器交换信息,它能够实现在所有主流浏览器中交互而不使用第三方插件。应用MxGraph的环境非常简单:一个能提供页面访问的 Web服务器和一个支持 JavaScript的Web浏览器即可。MxGraph将可视化的图形组件抽象成为可操作的API接口,以下是API的核心类图(如图1所示),其他都是辅助类。

图1 API核心类

HTML/JSP页面通过文档对象模型(DOM,Document Object Model)节点将MxGraph与JS结合。MxGraph图形的基本单元是mxCell,它包括两种类型节点(Vertex)和连线(Edge),二者的组合构成图。

2 设计与实现

文中设计的网络拓扑显示模块结构如图2所示,它采用了B/S模型的3层架构,分为呈现层、业务层、持久层。呈现层能提出业务请求,同时用来显示业务层返回的处理结果,业务层主要负责业务逻辑处理,执行上层的业务请求与触发事件,持久层负责访问数据库,将数据包装成业务层需要的形式,该层将数据封装成DO(Data Object)供业务层调用。

图2 基于MxGraph和XML的拓扑显示结构

呈现层中JS解释器调用MxGraph函数库,展示 XML文件包含的拓扑关系及相关信息。业务层的Tomcat Web Server 负责接收前端业务请求,它将请求分派给具体的应用逻辑,将结果返回给呈现层。持久层用来操作数据库,Hibernate是一个开放源码的对象关系映射框架,它负责把业务处理器的SQL语句接收过来并发送到数据库,而数据库返回来的信息由 Hibernate接收后直接生成一个对象传给业务层。

2.1 数据表设计

Oracle数据库是目前最流行的B/S模型的数据库之一,它具有完整的数据管理功能:①数据的海量性;②数据保存的持久性;③数据的共享性;④数据的可靠性,综合以上因素选择Oracle数据库。

访问数据库生成拓扑图的数据表有设备表T_EQU_INFO和链路表T_TOPMAP_LINK,指标告警表定义为 T_ALERT_KPI。T_EQU_INFO主要包含的字段有设备ID、设备名称、设备类型、设备IP、所属区域ID等,T_TOPMAP_LINK表中主要包含链路ID、链路名称、连接类型(表征是属于设备之间的链路或地区子网之间的链路)、所属区域 ID、连接起点设备/网络ID、连接终点设备/网络ID等字段。T_ALERT_KPI指标告警表包含告警设备 ID、告警名称、告警级别、告警状态(表征是否处理或确认)、告警信息等字段。

2.2 拓扑布局设计

主呈现区初始化会根据拓扑管理的监测范围,计算并呈现网络拓扑图。在网络拓扑显示中,文中采用了分层结构:一层为区域拓扑图,二层为区域内部的网络拓扑图,在页面布局上分别占有一个DIV分区。同时,需要显示设备或链路属性以及呈现功能按钮。设备或链路属性包括基本信息和指标告警信息,功能按钮是实现拓扑真是结构的呈现操作,诸如预览、放大、缩小。

在形成拓扑的过程中,如何实现设备表T_EQU_INFO和链路表T_TOPMAP_LINK中散列的信息融合成一个整体是设计的关键,简单来说区域拓扑和区域内部的网络拓扑的实现采用了“以链路带出设备”的思想。以区域内部的网络拓扑为例,设备表与链路表中都存在所属区域ID字段,以该字段为查询条件可以得到设备列表EquipList、链路列表LinkList,然后按照图3所示流程构造拓扑图。

图3 构造拓扑流程

①先处理LinkList,判断是否有未进行编码的链路,如果有未编码的链路取出一条,对链路编码,将该链路在列表中删除;②由一条链路会关联出起点设备和终点设备,对两个设备判断是否已进行编码,对未编码的设备编码,编码后标记为已编码;③重复前两步,直到所有的链路已编码;④判断EquipList中是否存在未标记的设备,若存在表明该设备是独立的并且尚未存在与其它设备的连接关系,对其编码并做标记;⑤重复第④步直到所有设备已编码,拓扑图XML编码构造完成。

指标告警存储在表 T_ALERT_KPI中,其中字段ALERT_LEVEL代表告警级别。在网络拓扑图显示时,比较出该设备告警级别最高的记录,显示在拓扑图上。由于告警是实时数据,所以在拓扑图上显示的告警信息也要实时变化,设置30 s时间间隔动态获取告警数据,不断更新网络拓扑监测信息。

3 实现效果

呈现层采用JSP/JS/CSS技术,业务层采用Java编程语言,持久层结合Oracle数据库实现了拓扑管理功能。选用Tomca6.0作为Web组件容器,实现拓扑图XML编码显示、实时告警显示、设备/链路属性查询以及简单的拓扑图呈现功能,拓扑管理页面运行效果如图4所示。

图4 拓扑管理页面

4 结语

文中介绍了MxGraph与XML结合的拓扑管理实现方案,具体介绍了MxGraph的工作原理以及构成网络拓扑的算法。通过现场测试,充分证明了MxGraph实现网络拓扑图的有效性和可行性,同时验证了在B/S模型下呈现层、业务层、持久层架构开发方案的正确性。这种显示方式直观、灵活,并实时反映被测网络运行状态。但对网元属性显示、管理及网络告警维护等还需进一步深入研究。

[1] 刘鹏,马琳,廉新科.网络安全设备的统一管理方法研究[J].信息安全与通信保密,2010(07):66-68.

[2] 赵旺飞,王齐.网络管理及安全准入机制研究[J].通信技术,2011,44(03): 93-95.

[3] 蔡慧,韩国栋,刘洪波.基于 K均值聚类的拓扑生成算法[J].通信技术,2008, 41(09):110-112.

[4] 孟利霞.基于JGraph动态绘制Web网络拓扑图的设计与实现[J].计算机应用与软件,2010,27(07):247-248,279.

[5] 陈遥,李珊,赵英男.基于SSH+DWR的 Web开发框架研究与应用[J].南京信息工程大学学报:自然科学版,2010,2(05):455-460.

[6] 许科峰,高建民,陈富民,等.基于 Web Services的企业应用集成技术及实现[J].计算机应用,2004,24(03):155-157.

[7] JGraph Ltd. MxGraph User Manual-JavaScript Client[EB/OL]. (2009-5-22) [2012-8-19].http://jgraph.github.com/mxgraph/docs/manual.html.

[8] World Wide Web Consortium(W3C). Extensible Markup Language(XML)1.0(Fifth Edition)[EB/OL].(2008-11-26)[2012-8-25]. http://www.w3.org/TR/xml.

[9] 王宏,许波,李鉴,等.Web与IMS业务融合技术探讨[J].信息安全与通信保密,2011(06):69-71,74.

猜你喜欢

拓扑图网络拓扑字段
简单拓扑图及几乎交错链环补中的闭曲面
基于通联关系的通信网络拓扑发现方法
基于含圈非连通图优美性的拓扑图密码
浅谈台湾原版中文图书的编目经验
能量高效的无线传感器网络拓扑控制
2017款捷豹F-PACE网络拓扑图及图注
劳斯莱斯古斯特与魅影网络拓扑图
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
关于CNMARC的3--字段改革的必要性与可行性研究