首页 > 范文大全 > 正文

基于MVC模式的战术网络监控系统研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于MVC模式的战术网络监控系统研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:分析了战术互联网网络监控系统业务需求,总结了MVC模式的特点,并针对战术互联网分级分类监控、视图多样的特点,提出了基于mvc架构,选用VC++6.0多文档模式战术互联网网络监控系统进行了设计。实践表明,该架构体现了MVC的特点,具有很好的稳定性和灵活性。

关键词:战术互联网;网络监控;MVC模式

中图分类号:TP319文献标识码:A文章编号:1672-7800(2013)001-0066-02

0引言

战术互联网是通过网络互联协议将各类机动通信设备和信息终端互连而成的,面向数字化战场的一体化战役、战术通信系统。其通信网络可分为干线网、移动骨干网、无线子网和用户系统。以数字化机步师战术互联网为例,它包括师、团指挥所局域网和师高速骨干网及团级子网。网络管理采用分级分类监控的模式,每级每类显示的内容不一致,可以根据级别进行区域级网络、节点级网络、平台级网络以及设备级显示;根据内容可以显示为电台网、卫星网、接力网、指挥所局域网等多种网络结构。

1MVC模式

MVC模式把数据处理、程序输入输出控制以及数据表示分离开来,并且描述不同部分的对象之间的通信方式,使它们不必卷入彼此的数据模型和方法中,使程序结构变得清晰而灵活。MVC模式包括3个部分:模型(Model)、视图(View)和控制器(Controller),分别对应于内部数据、数据表示和输入/输出控制部分。MVC模式的一般结构如图1所示。

图1MVC模式各部分的关系和功能

Model是应用程序对象,也就是包含应用程序数据和业务逻辑的对象,Model对外表现为一个对象,实际上也应该是一组子对象的集合;传统意义上的View是屏幕对象,负责向用户显示交互界面,还可以将这个意义进行扩展,将View视为向外界展现应用程序状态的接口和界面;所有的用户输入都由Controller负责处理,在交互式系统中,它是导致Model发生变化的唯一原因,是导致View发生变化的两个原因之一。

这种模式的优点有:多个视图能共享一个模型,将业务逻辑和表示层分离,同一个模型可被不同视图重用,大大提高了代码的可重用性;模型是自包含的,与控制器和视图保持相对独立,可以方便地改变应用程序的数据层和业务规则,因此能构造良好的松耦合的构件;控制器提高了应用程序的灵活性和可配置性。

2战术互联网网络监控视图功能需求

视图为用户进行网络监控提供了直观、简洁的人机交互界面,用户可利用视图浏览网络拓扑结构和监视网络运行状态、查看系统及网络设备性能、查看并设置网络运行参数。战术互联网网络监控视图需求如图2所示。

图2战术互联网网络监控视图需求

网络监控按级别主要包含区域级、节点级、平台级和设备级网络监控系统,各级均含网络结构树图和网络事件图,其中网络结构树图显示网络节点之间的隶属关系,事件图显示入网、退网、中断等网络事件。物理视图以地图为背景,显示当前所有网络节点的物理位置及网络连接关系;逻辑视图以白板为背景突出显示节点之间的逻辑连接关系。

区域网络监控视图以通信节点为单位显示管区内网络的拓扑结构和物理结构,以及对上、对下和本级网络组织和加入情况;节点网络监控视图以通信平台(车)为单位显示节点区域内网络的拓扑结构和物理结构,以及对上、对下和本级网络组织和加入情况;平台网络监控图显示车内设备连接关系和设备工作状态,以及对上、对下和本级网络组织和加入情况;设备监控图用以显示设备自身工作状态、设备属性信息浏览和设置以及设备入网状态。

3系统设计与实现

3.1基于MVC的管区网管监控设计

管区网管指区域网管、节点网管和平台网管。网管主程序利用VisualC++6.0自身提供的视图和数据以及操作分离的优势,直接基于MVC架构,采用多文档模式生成主程序框架,每个子文档与相应的视图一一对应,通过主框架统一调度,主要功能实现如下:

(1)Model(模型)设计:在CDoc类中实现,以数据管理为主,为全局数据空间分配、数据交换、数据处理提供环境。基于面向对象的思想,以结构化的形式为视图显示提供有关要素信息,其中重点包含对信息的统计和处理。

(2)View(视图)设计:在CView类中实现,按需自动刷新、以军标的形式显示节点、平台(车)和设备连接的拓扑图及其自身的工作状态,提供进入其它管区、节点、平台和设备监控(参数加注、属性查询、性能评估等)的入口。界面左侧为监控树,显示管区与节点、平台和设备的隶属关系,以及是否开机和工作状态,以不同颜色表示,同时提供设备插件调用入口;界面右侧为拓扑连接图,以颜色表明节点、平台和设备当前工作状态和入网情况;界面下面动态、按级(严重、比较严重和一般)显示事件信息,如启动、入网、脱网、关机等所有事件信息。

(3)Controller(控制)设计:在CwinApp中实现,负责连接数据库、连接GIS地理信息系统、连接图标库;根据界面的响应进入相应的控制模块,调用相应Model中的对象;另外负责控制显示内容和刷新频率,负责设备监控插件的注册、调用和注销;负责启动网络监控后台处理程序,按照一定的策略与上级、下级和友邻之间进行数据交互,及时更新网络状态。

系统实现中,由app创建主框架frame和doc模板,frame每次打开或者新建一个子窗口时,都新建3个对象:view、doc、childframe对象。通过以下关键函数在三者之间切换:得到app指针:AfxGetApp();得到主框架:AfxGetApp()->GetMainWnd();得到活动的子框架:pMainFrame->GetActiveFrame();得到该子框架对应的view:pChild->GetActiveView();得到view对应的doc:GetDocument()。

3.2基于MVC的设备监控

在MVC模式中,Controller和View关系密切的另一个原因是现代应用程序界面复杂、灵活多变。因此,Controller需要了解View的情况,查询View的信息,但是距离太远不利于效率和灵活性,协议也很难设计,所以经常捆绑在一起。

在网络监控系统中,设备类型、型号、连接方式(如串口、SCSI口、USB)可能发生改变,且不同的设备监控完全独立,不能机械地直接采用模型、视图和控制分离的方法,那样会很难预知将来会增添哪种设备,其控制参数和属性信息亦很难考虑周全。为此结合组件化软件开发的思想,对不同设备的监控功能剥离,把特定类型和型号设备的监控功能单独封装为一个MVC实体,通过属性、事件和方法与外界协同工作,内部仍然采用MVC模式开发,模型、视图和控制分离。设备监控结构如图3所示。

图3战术互联网网络设备监控结构

设备插件亦利用VisualC++6.0自身提供的视图和数据以及操作分离的优势,直接采用MVC模式。插件主要功能分三部分:①封装宿主程序需要的设备图片资源;②封装设备参数的查询和设置功能;③封装自身需要调用的菜单资源,并按照统一的技术和界面规范提供人机接口。

4结语

采用MVC模式设计和开发的软件系统,能够使整个系统结构清晰,容易进行模块划分,增强各层和各模块的高内聚、低耦合的特性,使各模块的开发相对独立,从而使软件的扩展性、复用性和维护性得到极大的提高,给系统的开发、扩展、维护带来了方便;且由于不同层各司其职,每一层不同的应用具有某些相同的特征,这有利于通过工程化、工具化产生管理程序代码,可以很容易地再加入新的业务和功能,从而适应各种需求的变化。

参考文献:

[1]马秋成.基于MVC模式的生产管理信息平台[J].组合机床与自动化加工技术,2012(5).

[2]JAMOSRUMBAUGH.ObjectOrientedModelingandDesign[M].北京:中国电力出版社,2004.

[3]陈方明,陈奇.基于插件思想的可重用软件设计与实现[J].计算机工程与设计,2005(1).

[4]李晶晶,甘志春,沈建军.战术互联网网络管理模型、火力与指挥控制[J].火力与指挥控制,2011(9).