APP下载

基于SNMP协议的CSG-T3000网管软件的服务端子系统设计

2014-09-21杨震斌

关键词:服务端队列子系统

杨震斌,许 强,方 成

(1.科大智能(合肥)科技有限公司,安徽 合肥 230088;2.合肥学院计算机科学及技术系,安徽 合肥 230601)

随着通信技术的迅速发展,通信网络也不断地扩大,设备的种类和数量也越来越多,需要开发出与之配套和同步的商用网络管理系统.网络管理系统能够集中管理网络中各个设备及网络的性能、故障和配置,能够保存历史数据供用户对网络过去运营状况进行分析、评价,对未来状况进行一定的预测,为保证网络正常、高效、经济和安全地运行具有非常重要的作用.

1 系统架构设计

1.1 系统架构设计策略

在网管软件进行系统架构设计之前,结合实际的应用需求和笔者的工程经验,明确以下设计策略:

平台性策略:系统设计致力于打造科大智能网络产品的基础性平台,需为融入公司未来通信产品奠定基础;

扩展性策略:主要包括交换机数量可扩展,交换机种类可扩展,架构可扩展,同时考虑其他类型通信产品的扩展性;

移植性策略:在客户端将业务逻辑单独分离出来,形成中间层,简化了客户端,而且减轻了服务器的负担,提高了代码的重用性,使系统可方便地移植到不同操作系统和数据库;

可用性策略:系统采用主—从式部署,从而保证服务器或软件系统出现故障可提供不间断服务;

兼容性策略:为了便于与其他公司设备的网管连接,提供基于CORBA协议、TL1协议、SNMP协议等多种北向接口模块,并可根据实际需要进行选择;

可配置性策略:为了做到更灵活的监控和管理,系统各功能模块中的运行参数均能做到可配置.

1.2 系统架构设计实现

系统采用C/S结构,分服务端和客户端两个子系统,如图1所示.客户端通过外部网访问服务端,查看网络的各类数据,并进行管理.服务端通过内部网监控和管理所有交换机设备,将数据存储在数据库中.服务端通过SNMP协议管理交换机设备,支持 Get/GetNext/GetBulk/Request/Response/Trap/Inform 7种协议类型.客户端与服务端通讯采用TCP和RMI两种模式并用的方式,其中TCP负责传输设备参数信息和告警数据,RMI负责传输管理数据.这样既保证了重要信息的实时性,又提高了信息完整性和代码的执行效率.

图1 系统架构设计示意图

2 服务端子系统设计

服务端子系统分为设备管理层、工作队列、数据代理层、心跳和数据库5个部分,如图2所示.

图2 服务端子系统设计图

2.1 工作队列

工作队列保存当前网络中设备的实时状态,根据设备的状态建立不同工作队列,分正常队列、重试队列和故障队列3种,对设备进行有效管理.每个设备的状态也对应地分为正常、重试和故障3种,其状态图如图3所示.

图3 工作队列状态图

其中故障恢复手段有两种:

(1)管理员手工恢复.

(2)设备通过Trap机制上报告警信息.当服务器收到该信息后,根据IP将指定设备恢复到正常队列中.

2.2 设备管理层

设备管理层负责访问设备,实现网络扫描、数据采集和故障监控等功能.

网络扫描分为初始扫描和重试扫描两类:初始扫描由系统启动和手工初始化触发,扫描整个网络,找出所有需要管理的交换机设备,计算设备之间的拓扑关系并将设备IP保存到“正常队列”中.重试扫描根据重试队列中的内容扫描该设备是否正常.如果正常则恢复到“正常队列”中,如果连续扫描3次仍不正常则移到“故障队列”.

数据采集根据“正常队列”采集设备的各类数据,保存到数据库中.

故障监控由设备Trap触发和定时扫描中发现设备断网或指标异常时触发,对设备Trap信息进行捕捉,并存储到数据库中.故障内容保存数据库后,同时在内存中保留一份数据(最近24 h),用于客户端请求故障信息时及时反馈,提高效率.

2.3 数据代理层

数据代理层负责接受客户端访问,实现配置管理、故障管理、性能管理和安全管理等功能.

配置管理有查询和更新两种操作,将数据返回客户端,根据用户请求更新数据,并采用SNMP SET更新设备.

故障管理有查询、故障处理、故障配置3种操作.查询分为当前查询和历史查询两类:当前查询是从内存中返回最近24 h的故障数据;历史查询是根据用户查询条件从数据库中返回结果.故障处理分确认和处理两种操作,更改故障状态,并保存到数据库中.故障配置可以配置各种故障的级别、类型、门限等属性,把管理员的配置信息保存到数据库中.其中,故障级别分紧急、主要、次要、提示、未确定、清除6种.故障类型分设备、服务质量、通讯、环境、处理失败5种.故障状态分未确认、已确认和已处理3种,状态变化如图4所示.

图4 故障状态迁移图

性能管理有查询、监测配置二种操作.查询是根据用户查询条件从数据库中返回结果.监测配置是接受管理员的配置请求,存储到数据库中,并控制数据采集模块按照配置进行性能数据采集.其中,配置参数包括性能监测对象(指定的网元、单元盘、端口、通道等)、需要监测的参数名称、监测周期(15 min或者24 h)、监测状态(打开/关闭)、开始时间、结束时间、是否自动上报等.

安全管理包括用户组管理、用户管理、权限管理、日志、参数配置、登录注销等.

2.4 心跳机制

系统支持主—从方式的多服务器部署,建立“软”心跳机制实现在服务器出现故障可由从机顺利接管,保证服务的可用性.心跳机制流程如图5所示.心跳重试次数为3次,3次未接收到主服务响应视为主服务宕机.

图5 主从服务器心跳管理示意图

2.5 数据库

系统采用MySQL数据库,集中存储各类数据,实现数据库的备份与动态创建.

利用MySQL备份功能实现主—从备份,实时地将主数据库备份到远程从数据库中,保证数据的安全性.

对于数据量较大的表,采用动态创建历史表的技术进行数据的移动,保证主表的容量在可控范围内,提高系统的运行效率.

3 服务端子系统的启动过程

服务端启动后,初始化工作如图6所示.

图6 服务端子系统的启动流程图

4 结语

本文设计的网管软件系统架构及服务端子系统,应用于科大智能CSG-T3000网管软件中,经过实际应用,完全满足了可靠性、可扩展性和兼容性的需求.其中,服务端子系统的相关设计很好地满足了功能与性能的指标要求,对广大工程研发人员有参考意义.

[1]朱创录.SNMP网络管理中高效轮询方法研究[J].计算机技术与发展,2012(12):135-138.

[2]袁健美.基于Java的SNMP网络管理系统[J].计算机工程,2009(10):30-32.

[3]基于SNMP的MIB结构树高效算法研究[J].计算机工程与设计,2010,31(15):3386-3389.

[4]钱文光,张云峰.基于SNMP的网络管理系统的研究与设计[J].北华航天工业学院学报,2012(12):7-9.

[5]胡天骄,郭旭静,王祖林.网管软件主备切换协议的设计与验证[J].电子质量,2011(7):26-29.

[8]潘楠,王勇,陶晓玲.一种基于SNMP的链路层拓扑发现算法[J].计算机工程,2012(1):103-105.

[9]魏煜欣,李强.一种基于SNMP网络性能管理数据的采集方法[J].计算机工程与应用,2011,47(2):105-107.

猜你喜欢

服务端队列子系统
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
驼峰测长设备在线监测子系统的设计与应用
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
丰田加速驶入自动驾驶队列
车载ATP子系统紧急制动限制速度计算