智能一体化管控平台系统监视管理软件设计
2015-12-02靳祥林
纪 菁,靳祥林
(国网电力科学研究院/南瑞集团公司,江苏省南京市 210000)
智能一体化管控平台系统监视管理软件设计
纪 菁,靳祥林
(国网电力科学研究院/南瑞集团公司,江苏省南京市 210000)
智能一体化管控平台计算机设备众多、软件功能复杂,如何了解众多的计算机设备和软件功能的工作情况,快速对故障情况分析定位是一个重要而薄弱的环节。针对此问题,本文设计并开发了系统监视管理软件。该软件通过Browser/Server的方式实时反映系统运行情况,并能在故障发生时及时发出报警和定位。实际使用表明,该软件可大幅减少维护人员的工作量,提高设备可用率。
智能一体化管控平台;监视管理软件;Browser/Server;FLEX
0 引言
随着近年来智能水电厂建设的不断发展,越来越多的水电厂和梯级流域采用了智能一体化管控平台,并且采用无人值班(少人值守)的工作方式以提高水电厂的运营水平、降低运营成本[1,2]。智能一体化管控平台计算机设备众多、软件功能复杂,如何了解众多的计算机设备和软件功能的工作情况,快速对故障情况分析定位是一个重要而薄弱的环节。这就需要有工具能够实时监视当前系统的运行情况,及时发现故障、发出报警,以便维护人员快速响应,及早地解决问题。因此,需要研制智能一体化管控平台系统监视管理软件。
1 体系结构
1.1 体系结构[3,4]
智能一体化管控平台系统监视管理软件对管理域内的计算机的资源及其安装的各种应用软件和数据库实现集中监视、管理和控制,以Browser/Server[5,6,7]的方式展现于后台管理。
监视管理软件总体体系结构如图1所示。
智能一体化管控平台系统中每台需要监管的计算机中都需要部署应用软件控制模块,应用软件控制模块驻留于计算机上,采用共享内存的方式与各应用软件进行信息交互。它可以采集各应用软件的状态信息,配置应用软件参数,控制应用软件执行不同命令并把结果返回控制服务模块,自动恢复故障的应用软件等。
控制服务模块是管理中心执行具体管理和控制的逻辑单元。主要功能如下:
(1)接受应用软件控制模块注册,管理应用软件控制模块活动列表,维护自身与应用软件控制模块之间的网络连接。
(2)汇总各应用软件控制模块上报的信息,进行分析和处理,并启动相应的报警和主备切换。
(3)解释执行Web界面的命令并发送到对应的应用软件控制模块,接收返回的执行结果。将Web界面的配置修改转发到应用软件控制模块。汇总的信息可通过共享内存,由Web界面展示。
图1 监视管理软件总体体系结构
报警服务模块主要功能是接收报警事件、综合处理生成报警信息、存取报警信息。
1.2 各模块之间的数据交互
各模块之间的数据交互如图2所示。
图2 模块间数据交互
2 软件功能
2.1 系统监视
根据系统配置情况自动生成智能一体化管控平台系统网络设备拓扑结构图并在主页实时展示,设备图标上会实时标示出有故障的计算机和网络,并用弹出面板显示每个计算机和网络设备的当前重要信息,方便系统维护人员统观整个系统运行情况。
监视系统中的计算机和网络设备的各种详细运行状态可以通过图文报表方式进行展示,主要信息包括主机的操作系统、CPU使用率、内存使用率、文件系统、主机启动时间、网络状态、进程状态、报警信息,交换机和路由器各端口的状态、总带宽、上行带宽、下行带宽、丢报率、错报率,实时监视数据库运行信息,包括数据库IP地址、数据库类型、实例名、运行状态、表空间使用上限、SQL状态等。
程序监视用来查看一段时间内各主机中关键进程的运行状态、启动时间,通过查看这些信息可以了解某些进程在指定时间内的运行状态。
2.2 系统控制
系统控制功能分为两个方面。一是自动控制,包括服务器和工作站中的关键进程意外终止情况下会自动重启;对于主备配置的关键进程检测主进程异常后自动进行热主备切换。二是人工远程控制,即具备远控权限的人员可以远程对进程进行启停操作,可以远程发送各种命令对进程进行控制交互,执行一系列远程任务。
2.3 系统报警
系统报警对系统中的进程故障、网络故障、主机资源、数据库资源越限等进行实时判断,并及时启动报警。报警方式不仅支持通过友好图文报表展示,还可以通过短信服务器发送到移动设备。对于历史报警信息可以按照时间和类别查询。
2.4 系统文件管理
可以远程查看文件目录,并选择相关文件下载到本地,用户只需在Web客户端就可实现对系统中的文件进行查看和修改,修改完成后还可以上传到原来的计算机节点上。
3 开发环境
软件开发基于Browser/Server体系结构和J2EE技术标准。控制服务模块采用IBM公司的Eclipse3.6作为集成开发环境,以Hibernate作为后台访问框架,具有跨操作系统、跨数据库等优点;软件支持Windows、Linux、HP-Unix、sun Solaris、AIX等操作系统和Oracle、Mysql数据库。Web 后台模块采用Tomcat 6.0开发。
4 技术路线
4.1 Web前端开发
智能一体化管控平台系统监视管理软件采用Adobe公司推出的Flex[8,9,10,11]技术开发Web前端。可以运行于安装Adobe Flash Player 软件的浏览器中,实现跨浏览器、桌面和操作系统的一致性部署。其核心以ActionScript语言为基础,运用XML来描述界面。
Flex的界面表现力可以和传统的Clients/Server相媲美,可以满足用户对于Browser/Server界面更丰富、更友善、易用性更强的要求。
架构方面,Flex用XML来描述GUI的外观,能够将GUI和逻辑相分离,实现真正意义上的MVC。
Flex在第一次运行时将应用一次性下载到本地,然后采用本地运行的方式,只产生少量的数据更新请求,而不需要服务器端实时地产生刷新的页面,减少了网络流量,提高了性能。
Flex前端与后台服务的通信交互采用BlazeDS[12,13]的远程对象。BlazeDS是由Adobe公司开发并提供的一套开源的中间层技术解决方案,是一种基于服务器的 Java 远程过程调用和 Web 消息传递技术,能够使后端的 Java 应用程序和前台Flex相互通信。
在服务器端,BlazeDS以servlet的方式存在于Java应用服务器上。它默认提供三种服务:远程调用、访问代理、消息服务,同时允许添加自定义的服务。
在客户端,BlazeDS提供了RemoteObject、HttpServcie、WebService、Product和Comsumer等组件来提供访问服务器端数据的能力,其中RemoteObject、Product和Comsumer是以amf协议来交换数据的,而HttpServcie和WebService则采用的是比较通用的访问协议,可以用来访问非BlazeDS服务器(即普通的Web服务器)。
智能一体化管控平台系统监视管理软件利用BlazeDS将后台的业务逻辑封装在其中,与前端Flex的应用相分离,采用RemoteObject进行数据交互,这样使得应用开发的结构更为清晰。
4.2 模块间交互
模块间交互采用共享内存的方式。共享内存是进程之间传递数据的一种非常有效的方式。在Java中共享内存的方法是创建映像文件共享内存。
jdk1.6提供了新的输入/输出库(NIO),NIO弥补了原来I/O的不足,提供了高速、面向块的I/O,NIO支持锁和内存映射文件的文件访问接口。Buffer和Channel 是NIO中的两个核心的对象。Buffer是一个磁盘文件的内存映像,Channel是一个文件通道,是数据的源头或者数据的目的地,用于向Buffer提供数据或者读取Buffer数据。缓冲区与磁盘文件二者的变化始终保持同步,即内存数据发生变化会立刻反映到磁盘文件中,这样会有效地保证共享内存的实现。为了避免多个进程同时对映射文件进行操作,可以采用FileLock实现文件锁功能。
在智能一体化管控平台系统监视管理软件中多处采用共享内存,每个应用软件拥有自己独立的共享内存;应用软件控制模块拥有全局共享内存保存各个应用程序的状态信息。
控制服务模块拥有中心共享内存,汇集每台客户端计算机上的应用软件控制模块采集的信息。
应用软件共享内存结构分为控制命令及返回、监视信息、日志信息和报警信息区域,每一个区域为固定长度,如图3所示。
图3 共享内存结构
5 结束语
智能一体化管控平台系统监视管理软件已在多个智能水电厂、梯级调度系统中得到了实际应用。该软件通过统一的信息化监视管理方式、友好的图文报表展示,实时将智能一体化管控平台系统的计算机设备和软件功能的工作情况反应给操作人员和维护人员,能及时、快速分析定位故障,并发出报警,大大减少了维护人员查找故障的工作量,提高了设备可用率,节约了企业运营成本。
[1] 潘家才,纪浩.智能水电站建设思路.水电自动化与大坝监测,2012,36(1):1-4.
[2] 刘观标,李晓斌,李永红,等.智能水电厂的体系结构.水电自动化与大坝监测,2011,35(1):1-4.
[3] 高磊,李永红,郑健兵.智能水电厂一体化数据平台设计.水电自动化与大坝监测,2012,36(1):11-14.
[4] 杨宁,蔡杰,舒凯,等.智能水电厂一体化平台数据库设计.水电自动化与大坝监测,2012,36(2):5-8.
[5] 史占红,李振海,胡勇飞.基于B/S架构的SCADA系统在水利工程中的应用.水利信息化,2013,(4):30-33.
[6] 刘媛,张伟,王知学.基于B/S和C/S架构的嵌入式远程监控系统.仪表技术与传感器,2008,(10):39-41.
[7] 缪国钧,葛晓霞,林中达. B/S架构的电厂实时MIS系统的分析与研究.电力自动化设备,2003,(7):23-26.
[8] 戴侃,杨小虎.基于J2EE和FLEX技术构建RIA系统的探索与实现.微电子学与计算机,2006,(5):22-24.
[9] 焦宁,卢潇,刘香萍,等.基于Flex和Java的Web文件管理系统的设计与实现.计算机与现代化,2009,(12):157-159.
[10] 马立林,孙绍荣,李红.基于FLEX和J2EE多媒体远程答疑系统设计与实现.现代教育技术,2009,(8):89-92.
[11] 徐张廷,李善平.基于Flex的数据发布系统的设计与实现.计算机应用与软件,2011,(3):149-152.
[12] 何媛.基于BlazeDS实现Flex和Java通讯.计算机光盘软件与应用,2012,(11):197.
[13] 吕海东,陆永林.基于Flex和BlazeDS推技术实现Web方式实时监控系统.自动化技术与应用,2010,(1):34-36.
Design of Monitoring and Management Software for Intelligent Integration Platform
JI Jing,JIN Xianglin
(State Grid Electric Power Research Institute,Nanjing 210000,China)
There are many computers which have many complex software functions in the intelligent integration platform. It is an important and weak point that how to know the working situation of computers and software and analyze the fault condition. So we design the monitoring and management software to solve the problem. The software could report the working situation of system in real-time by the Browser/Server mode,and take the alarm and locate the fault condition when it occurred. The practical application shows that the software can greatly reduce the workload of maintenance staff,and improve the availability rate of system.
intelligent integration platform;monitoring and management software;Browser/Server;FLEX