李亚平 刘梦阳 张一村 何晓焕 敦科翔
摘要:真实的网络结构复杂多级、设备数量及种类较多,难以对网元信息及设备故障告警信息等进行高度、全面、直观的可视化监控。介绍了JSON, JTopo技术的重要特性、优势以及系统总体设计与数据处理过程,实现了一种基于JSON的网管拓扑定制,具有构建灵活、多级展示、便于存储、映射准确和耦合性低等特点,使设备告警故障分析与定位更加直观化、自动化及智能化,具有一定的应用价值。
关键词:JSON;JTopo;网管;拓扑
中图分类号:TP393.02文献标志码:A文章编号:1008-1739(2019)19-65-4
0引言
JSON是一种轻量级的数据交换语言,可在很大程度上节省数据量[1],JTopo是一款国产免费且强大的拓扑图形化界面开发工具[2]。由于真实的网络结构复杂多级、设备数量及种类较多,难以对网元信息、设备故障告警信息等进行全面、直观的可视化监控,针对这一问题,结合JSON, JTopo技术的优势,实现了一种基于JSON的网管拓扑定制,使得设备告警故障分析与定位更加直观化、自动化和智能化。
1关键技术
1.1 JSON的重要特性
JSON数据格式简洁清晰,是独立于语言的文本格式,为开发者阅读和计算机解析提供便利[3]。JSON具有下列重要特性:①扩展性良好,能够弥补HTML仅能描述数据显示样式的缺点[4];②格式简洁清晰、占用带宽少、传输速率高[5];③易于解析和处理,大大提升开发效率;④支持多种语言,易于维护。
1.2 JTopo优势
JTopo基于HTML5 Canvas关系[6],相对于当下的很多图形界面开发软件,具有如下优势:①接口设计简单,图形构建便捷;②兼容性良好[7];③采用JSON数据格式进行数据传输,格式简洁清晰;④使用方便,容易阅读,用户满意度高;⑤占用空间少,传输高效[8]。
2系统总体设计
2.1拓扑结构
拓扑抽象和机框资源抽象如图1所示。
拓扑是网管系统的主要展现形式,是融合展示、一体化集成操作的关键所在。拓扑是树形结构,可抽象成类似的数据格式。拓扑的子网是一个小型拓扑,可逻辑迭代、降低冗余,实现分层。设备可通过3级设备描述网元进行描述,一个机框资源可对应多个设备。
2.2整体框架设计
网管拓扑实现的整体架构如图2所示,采用B/S架構,从模块上可分为以下4个部分。
①前台界面层:系统的前端模块,负责发送用户操作请求到业务逻辑层,然后接收并显示返回结果。本系统使用JTopo实现拓扑和告警等相关信息的展示。具体包括:界面组成、显示及操作。
②后台数据处理模块:系统的业务逻辑层,负责接收界面层发送的操作请求并对数据层进行访问,将结果以JSON格式返回给界面层。本系统使用Java技术,其相关数据处理过程,包括告警管理及网元和拓扑管理。
③数据库接口Hibernate:在本系统中负责连接后台数据处理模块与MySQL数据库。
④MySQL数据库:系统的数据访问层,负责存储用户输入的原始数据和经处理后的数据。
3数据处理实现
利用JSON数据格式和JTopo技术在网管系统中可以实现灵活定制、多级展示、便于存储、映射准确、耦合性低的拓扑管理功能,主要包含拓扑新建、拓扑数据展示、拓扑与网元告警映射等。
3.1关键数据表及JSON结构设计
系统中涉及的数据表包括:系统设备表(Equips)、拓扑数据表(TopoData)、机框资源表、产品系列表、设备类型表以及告警状态表等,关键数据表设计如表1所示。
表1为系统设备表,用来存储系统所管理的实际物理设备。设备通过TopoID与TopoData表关联,表示设备所属拓扑。设备通过ResID与机框资源表关联,表示设备所属机框资源。通过Series, Style, EquipID能唯一确定某个设备,并且通过Series, Style与产品系列表和设备类型表进行关联。
拓扑数据表,用来存储系统的拓扑数据。关键设计通过所属父拓扑的ID将拓扑与子网进行关联,给定最上层拓扑ID即可查询其下层的所有子网。通过子网ID唯一确定某个子网。设备的JSON结构的主要key值说明如表2所示。
3.2拓扑新建实现
拓扑新建的后台数据处理流程如图3所示。
首先解析拓扑JSON,得到拓扑信息及网元信息JSON,然后将网元信息JSON以HTML形式保存到指定路径;再保存拓扑信息到TopoData表;接着解析网元信息JSON为设备、子网或IMS;保存设备到Equips表,保存子网和IMS到TopoData表;最后判断数据是否保存成功,返回结果到前台,并给出提示。
3.3拓扑展示实现
拓扑展示的流程图如图4所示。
前台进行Ajax请求,后台根据TopoID查询拓扑,得到HTML文件路径、背景图路径、Equips表及TopoData表等需要展示的数据,然后对其进行业务处理及数据库操作,再将对象封装为JSON格式,前台调用Ready函数,获取JSON数据并解析,然后利用JTopo对其展示。
3.4拓扑与网元告警映射实现
拓扑与网元告警映射实现流程如下:
①前台通过定时器进行Ajax请求;
②后台根据拓扑ID通过回调函数查询所有属于该拓扑的子网,然后通过拓扑ID查询系统设备表和告警状态表,如果属于子网的设备存在告警,则子网也存在告警,子网的告警信息取决于属于该子网的设备的最高级别的告警,得到所有子网的告警信息,包括子网ID、告警级别和告警颜色;
③后台根据拓扑ID查询属于当前拓扑的所有设备及其对应的告警状态,得到当前拓扑设备的告警信息,包括产品系列—设备类型—设备ID、告警级别和告警颜色;
④将存在告警的对象(包括设备及子网)及相应告警信息封装为JSON数据格式;
⑤前台根据唯一标识对JSON进行解析,得到相應告警信息;
⑥前台启用告警闪烁定时器,显示拓扑中网元的告警颜色和告警级别信息。
通过上述拓扑新建、数据展示、拓扑与网元告警映射,可以实现整个网管系统实时、直观地展示信息。同时在拓扑展示页面中,还可以查看当前告警、历史告警,清除当前告警及对设备进行配置等。
本系统除了实现上述功能外,还完成了拓扑编辑、机框资源管理、设备描述网元与告警映射等。
4实验结果
经过拓扑新建、展示及拓扑与网元告警映射后,利用JSON, JTopo技术绘制出网管拓扑图和机框资源图,分别如图5和图6所示。图5中显示各网元、子网及IMS的当前状态,若存在告警,则闪烁显示告警级别及告警颜色。图6中显示各设备描述网元的当前状态,若存在告警,则闪烁显示告警级别及相应的告警颜色。
相对于其他拓扑图,该网管拓扑具有高度集成、分层解耦、高效处理、完美兼容及灵活部署等优势,可多级展示、便于存储、映射准确,实现故障设备及单元的快速定位,提高分析与解决故障的效率。
5结束语
介绍了JSON, JTopo技术的重要特性及优势、系统总体设计与数据处理过程,绘制了网管拓扑图,具有高度集成、分层解耦、高效处理、完美兼容及灵活部署等优势,设备告警故障分析与定位更加直观化、自动化及智能化,未来可借鉴和应用于设备配置、云平台、监控系统和智慧城市等。
参考文献
[1]叶晶晶.基于HTML5的拓扑图绘制引擎设计与实现[D].南昌:南昌航空大学, 2017.
[2]黄永旭.Web网络拓扑展示系统关键技术研究[D].北京:北京邮电大学, 2017.
[3]平淑文,潘珏羽,张学金,等.基于HTML5和Java Script轻量型动画框架开发[J].计算机技术与发展, 2013,23(12):5-10.
[4]朱峰.基于JSON的互联网异构数据整合的应用研究[D].南京:南京邮电大学, 2016.
[5] Crockford D. JSON:The Fat-free Alternative to XML[J].Proc of XML,2016:1-13.
[6]谷伟.基于HTML5 Canvas的客户端图表技术研究[J].信息技术, 2013,37(9):107-110.
[7]吴煜州.XML压缩算法及二进制数据序列化研究[D].厦门:厦门大学, 2012.
[8]王粤.硬件资源信息获取与展示系统的设计与实现[D].开封:河南大学, 2018.
[9]过其峰,阮海波,王玉红,等.基于Flex和Java的配网通信网管系统的拓扑设计与实现[J].自动化技术与应用,2018,37(12):48-50.