好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

适配器模式在网管软件告警管理模块中的应用.docx

8页
  • 卖家[上传人]:I***
  • 文档编号:251179132
  • 上传时间:2022-02-08
  • 文档格式:DOCX
  • 文档大小:92.31KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •           适配器模式在网管软件告警管理模块中的应用                    曹惠雅 王峰摘 要:随着面向对象设计思想的发展,设计模式在系统设计中应用越来越广泛本文通过对网管系统告警处理场景的分析,设计实现了对象适配器模式,并探讨了多种设备告警处理接口的适配适配器模式的应用,增强了告警处理部分的稳定性,可重用性和可扩展性,为上层模块实现奠定了基础关键词:设计模式;适配器模式;网管软件;告警管理TN915随着面向对象设计思想的发展,系统工程师在设计时对程序可重用性,稳定性和可扩展性要求越来越高设计模式是一套完整的解决方案,用于在特定场景下用规范的方法完成设计实现,基本符合系统设计要求,本文就研究了设计模式中的适配器模式,在网管软件中告警管理模块的应用实现1 适配器模式设计模式是经过长期设计实践总结出的解决特定问题的设计框架,应用设计模式可提高代码可重用性,可维护性和可靠性,且具有良好的扩展性[1]适配器模式是设计模式中结构型模式的一种,主要用于将一个接口转换成客户希望的另外一个接口,可以是原本由于接口不兼容而不能在一起工作的类可以一起工作[1]适配器模式的主要功能是进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。

      也就是说,客户端需要的功能应该是已经实现好了的,不需要适配器模式来实现,适配器模式主要负责把不兼容的接口转换成客户端期望的样子就可以了适配器模式主要包含三个角色:目标接口(Target):客户所期待的接口目标可以是具体的或抽象的类,也可以是接口需要适配的类(Adaptee):需要适配的类或适配者类适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口根据适配器和需要适配的类之间的实现方式,适配器模式又可以分为类适配器模式和对象适配器模式[1]类适配器模式中Adapter继承Adaptee,对应类图如图1所示对象适配器模式中Adater组合了Adaptee的对象,对应类图如图2所示适配器模式中被适配的接口Adaptee和适配成为的接口Target是没有关联的,也就是说,Adaptee和Target中的方法既可以相同,也可以不同2 网管软件告警处理功能设计电信网络管理软件,简称网管软件,完成网络中各种通信设备的管理,包括拓扑管理,告警管理,性能管理和配置管理等[2]网管软件实时监控电信网络的运行状况,将运行中的业务流向,流量统计等数据及时反映给用户,以便于进行链路调度,流量控制等;在网络出现故障时,网管软件要根据告警信号,及时向用户报告故障等级,故障原因等信息,便于用户采取倒换、更换设备等手段将相关设备恢复。

      告警是通信设备出现故障时向管理软件发送的提示信息,网管软件通过对告警进行管理,协助客户完成设备故障定位,故障处理等维护功能[3]告警管理模块是网管软件中的主要模块,其处理流程示意图如图3所示本设计中将网管软件中的告警处理模块又分为三层体系结构:(1)告警获取层:完成设备上报告警功能完成告警信息的获取,然后将告警信息提供给后续功能处理;该层主要完成各设备的链路层通信,将设备上报的告警信息传输到本地,并校验信息的有效性;同时该层还维护网管软件与设备的连接通道,在出现链路故障时能及时恢复2)告警处理层:告警处理部分是告警处理模块的核心功能,首先将各种设备上报的数据进行适配,统一成相同的告警数据,屏蔽设备差异对上层的影响;还根据设备上报的告警信息对设备故障进行定位,给出故障严重等级,故障处理方法;处理完成后还需要对各种告警信息进行统计、分析,给出告警的分布情况3)告警显示层:告警处理完后将告警数据提交到告警显示层,显示告警的级别、名称、发生原因、处理建议等根据告警数据对拓扑对象告警灯进行显示,告警统计分析数据显示,必要时还需要给出曲线图等3 告警处理功能模式实现分析告警管理模块中,告警处理部分的逻辑比较复杂,尤其是告警数据适配部分。

      实际工程应用中,在同一个网管系统中需要管理多种设备类型,不同设备提供的告警信息获取和处理接口可能是有差异的,由于告警处理后的数据需要被上层模块使用,处理功能最好提供统一的接口供显示模块调用,因此需要对不同的设备告警处理进行接口适配一般的软件实现中经常是增加转换处理函数,分别判断是那种设备,然后进行接口转换这种实现方式逻辑较为简单,也容易理解,但也存在以下问题:①随着设备类型的增加,该函数可能会不断的膨胀,最终会导致内部逻辑越来越复杂,越来越难维护;②新设备类型的加入必须对原有代码进行修改,可能会引入新的问题,导致系统的不稳定;③各种类型设备之间的处理可复用性比较低,由于每个设备都是单独处理的,设备之间相同部分的处理也未能进行复用经过深入研究,告警接口适配的需求场景比较符合适配器模式的使用要素,需要在多个接口之间进行适配,需要让不同的接口能在一起工作,因此考虑使用适配器模式完成该模块实现结合实际需求场景分析类适配器模式和对象适配器模式在实现该功能时的优劣类适配器模式采用继承方式,使得Adapter可以重定义Adaptee的部分行为,因为Adapter是Adaptee的一个子类;但类适配器用一个具体的Adapter类对Adaptee和Target进行匹配。

      结果是当我们想要匹配一个类以及所有它的子类时,类Adapter将不能胜任工作[4]对象适配器模式使用了组合方式,允许一个Adapter与多个Adaptee——即Adaptee本身以及它的所有子类(如果有子类的话)同时工作Adapter也可以一次给所有的Adaptee添加功能;但对象适配器使得重定义Adaptee的行为比较困难这就需要生成Adaptee的子类并且使得Adapter引用这个子类而不是引用Adaptee本身在告警处理功能中,恰好是有多种设备类型告警需要处理,也就是说有多个Adaptee,通过上面的分析,确定使用对象适配器模式较适合告警处理的场景,同时也符合设计原则中“多用组合,少用继承”的原则经过上述分析,设计告警处理接口模块的类分别为:(1)告警处理(AlarmTreat),告警处理目标类,提供统一调用接口2)告警适配(AlarmAdapter),告警适配类,完成不同设备告警处理的适配3)设备告警(DeviceAlarm),设备告警类,是需要进行适配的类这里设计为接口,不同的设备类型实现该接口,完成特定设备的实现告警处理对象适配器模式类图如图4所示对设备告警进行处理时,生成AlarmAdapter对象,向上层模块提供统一的AlarmTreat类的接口,内部调用了DeviceAlarm实现类的接口,完美的完成了告警处理接口的适配。

      使用适配器模式,对接口的适配在适配器中完成,每种设备的适配可以独立完成,相互之间没有影响,设备的增加对逻辑复杂性的增加影响比较小,便于后期的代码维护;增加新类型设备时,只需要增加相应的适配器,基本不需要修改原有的程序逻辑,不会引入新的不稳定因素;不同的设备之间具有相似性的,还可以进行类继承,复用已有实现当设备类型不断增加,适配器增多时,还可以考虑配合使用工厂模式对适配器的生成进行管理4 总结通过使用适配器模式,完成了多种设备类型告警处理的接口统一,为上层模块调用提供了便利;也减少了由于设备告警处理变化而导致上层模块变化的问题,增强了系统稳定性;更重要的是,如果有新的设备类型加入,只需要增加新的对象类型,实现DeviceAlarm接口功能即可,系统的扩展性非常好由此可见适配器模式在网管软件的告警处理模块中应用非常有效,是一次成功的设计模式实现参考文献:[1]陈臣,王斌.研磨设计模式[M].北京:清华大学出版社,2010.[2]韩占卫.现代通信网络管理技术与实践[M].北京:人民邮电出版社,2011.[3]袁茜,冯拓宇,刘峰,杨芳南.综合网络管理系统中告警系统的研究与设计[J].计算机应用研究,2005,10:245-247.[4]秦小波.设计模式之禅[M].北京:机械工业出版社,2010.作者简介:曹惠雅(1975-),女,华中科技大学文华学院信息学部,主要研究方向:计算机应用;王峰(1975-),烽火通信科技股份有限公司公共研发部,主要研究方向:通信网络管理。

      作者单位:华中科技大学文华学院,武汉 430074;烽火通信科技股份有限公司,武汉 430074  -全文完-。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.