智能实时监控管理系统.doc_第1页
智能实时监控管理系统.doc_第2页
智能实时监控管理系统.doc_第3页
智能实时监控管理系统.doc_第4页
智能实时监控管理系统.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能实时监控管理系统 中国电力公司 王峰摘要:随着网络技术的发展,网络速度的加快,远程控制技术支持将逐渐占据技术支持的主流。本文研究智能实时监控系统主要围绕“数据钻取”这个核心开展研究,通过研究目前电网公司各类信息系统,建立数据中心平台,实现信息共享、工作过程可视化、智能告警、辅助决策等告警智能应用的智能实时监控系统。基于Windows而开发的远程控制程序,用到了WinSock的API技术。对远程控制涉及的技术和方法等进行了函数原型级的详细解释,可以很容易的理解。关键词:;智能监控;数据钻取;winsock1 引言远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言1。当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。2 系统研究目标从设备、人员、电网综合管理角度出发,梳理输电运行管理内容和需求,建立一个基于生产实时数据集成和钻取的输电智能实时监控管理系统。具备输电运行辅助决策分析功能的输电运行智能化管理和监控平台。项目研究拟通过对输电线路生产实时数据的集成与钻取,解决各类设备数据采集、传输、转化、交互等技术问题,通过集成统一的数据服务平台为全景窗提供全面的、高质量的业务数据,研究数据集成与钻取功能需求和人机界面等2。建立以线路为核心的输电运行管理规则,通过采集各个信息系统的数据,全面整合至数据中心平台,通过指标与评价体系,全面实时监控输电线路及现场作业的状态,从而提高输电运行水平。研究各类评价、指标等各类体系,运用新技术、新的管理模式,以构建更为安全可靠的线路为目标,以降低人员工作强度为目的,建立评价模型,科学固化评价标准和评价周期,以人工智能管理评价系统取代传统人工评价方式,使输电工作迈向智能化。钻取与挖掘线路各类数据,智能分析出线路趋势,进行辅助领导决策3。实现输电线路运行全景数据数字化的实时采集和集成共享,全面解决全站线路状态在线监测,多视窗多维度的检测,为线路管理提供 “一站式”、智能化的输电运行辅助分析及监控管理平台4。研究输电线路静态及历史动态数据,建立设备全生命周期评估体系。基于从第三方系统获取的静态输电线路数据或通过本系统导入的输电线路静态属性及历史动态属性,及实时的输电线路运行动态数据,根据输电线路等不同设备的特性及运行状态,建立输电线路等不同设备的全生命周期评估体系。3系统功能分析系统总体框架设计依据输电运行的主要工作内容,从输电线路业务出发,采集业务过程中的各类过程数据,并对数据抽取、清洗、转换、钻取、分析、挖掘、展示。系统架构包括数据源、数据转换区、数据仓库、数据集市、和数据展现层,具有高度先进性和可扩展性,满足业务需求不断变化、不断增加的需求。通过数据仓库的不同层次之间的加工过程,逐步实现电网公司从数据资产向信息资产的转化过程。不同层次之间的数据加工过程需要通过ETL具体实现,并对整个过程进行有效的元数据管理。智能实时监控系统主要围绕“数据钻取”这个核心开展研究,通过研究目前电网公司各类信息系统,建立数据中心平台,实现信息共享、工作过程可视化、智能告警、辅助决策等告警智能应用的智能实时监控系统。通过整合生产系统的线路套账、缺陷管理、作业管理,打通在线监测系统、雷电监测系统、气象系统等数据信息,并通过该系统实现电力业务统一管理、协同工作。基本取代或高度辅助人工变电运行的主要工作,提高电力业务运行设备管理水平,从而进一步提高电力业务可靠性、优化资产利用率、减少人工干预、支撑电网安全运行。主要实现功能内容如下:(1)建立面向主题的数据中心。面向主题的数据中心构包括数据源、数据转换区、数据仓库、数据集市,具有高度先进性和可扩展性,满足业务需求不断变化、不断增加的需求。通过数据仓库的不同层次之间的加工过程,逐步实现电网业务从数据资产向信息资产的转化过程。(2)基于SOA的ESB应用集成,ESB综合了Web服务、资源适配、数据转换、信息路由等技术,采用“总线”拓扑结构,为企业实现松耦合的面向服务架构提供了坚实基础。通过ESB,能够提供基于SOA的应用集成的现实解决方案。通过ESB,能够最大限度的提供SOA体系下应用集成的灵活性,服务交互中的参与者连接至ESB,而不是彼此直接相连。当服务请求者连接至ESB时,ESB负责将其请求通过消息传递到能够提供所需功能的服务提供者。即使协议、交互模式或者服务能力并不匹配,ESB仍可以保证请求者和提供者之间的交互。(3)输电线路静态及历史动态数据,建立设备全生命周期评估体系。基于从第三方系统获取的静态输电线路数据或通过本系统导入的输电线路静态属性及历史动态属性,及实时的输电线路运行动态数据,根据输电线路等不同设备的特性及运行状态,建立输电线路等不同设备的全生命周期评估体系,从设备采购投入运行到设备生命周期结束期间,指定时间范围内设备实时运行状态及告警分析,故障次数、平均故障时间、故障恢复时间等基于故障分析模型的故障分析,最终达到输电线路等各种设备全生命周期评估体系。(4)三维GIS技术,提供良好的三维视觉效果。通过三维地理信息平台读取相关地形数据、实现三维地形的可视化显示及浏览,设备查询,定位等功能,能够迅速地加载及显示地形数据,展现出良好的三维视觉效果。(5)高效视频压缩与传输技术,智能化、高清化是视频监控发展的趋势,采用高清技术必然导致大码流大数据的产生,将这些大的数据大的码流进行高效压缩,从而节约网络资源,在有限的网络带宽下传输较多的视频信息。本系统是由客户端和服务器端两部分组成的。而且需要客户端和服务器端同时运行相应的程序来实现的。仿真程序要实现的基本功能可以简化如下:第一步,服务器端运行相应的远程控制软件服务器程序,使服务器端的某个端口处于监听状态(仿真程序端口设置为4069)。这样服务器端计算机就时刻处于监听远程计算机连接请求的状态。第二步,当服务器端程序运行后,客户端在本地计算机中运行相应程序的客户端程序,运行这个客户端程序时,会指定一个要连接的服务器的IP地址和端口,(仿真程序初始化的服务器地址是192.168.0.6,端口:4069)程序运行后,点击连接就会向所有的网络搜索指定的计算机了。第三步,搜索到所指定的计算机后,客户端计算机就向服务器端指定的端口发送连接请求(仿真程序使用TCP连接)如果服务器端计算机同一端口处于监听状态,则服务器端接收客户端的连接请求,并根据设定的值向客户端发送接受请求确认信号,并同时向客户端发出登录成功信息确认对话框。第四步,客户端输入登录信息并确认后,就会向服务器端发送,服务器端接收到客户端发来的用户信息后,就开始对客户端所输入的客户进行合法性确认,如果不符合登录条件,则拒绝用户的连接。第五步,如果服务器端确认客户端所输入的用户符合服务器端计算机的条件,则服务器端允许客户端进行进一步的连接,这样,整个软件的连接过程就完成了5。在仿真程序设计中,采用典型的C/S结构,由客户端与服务端两部分构成。客户/服务器模式的最显著特点是非对等作用,即客户相对于服务器处于不平等的地位,服务端提供服务,客户端提供请求。结构如图1所示:图1 系统结构图4 C/S模式远程控制程序设计4.1 主要实现功能1)查看被控制端的文件目录清单;2)查看被控制端的文件内容;3)拷贝被控制端的文件到控制端;4)强迫被控制端重新启动或关机;5)修改被控制端的系统配置文件;6)直接执行任何可执行命令,打开应用程序;7)锁住(解锁)被控制端的屏幕,键盘和鼠标;8)控制被控制端的屏幕,在本地直接操作被控制端计算机;9)隐藏共享被控制端的硬盘;10)同时可以做到被控端的服务器自动运行及隐藏等功能;4.2 客户端(监控端)设计 相对服务器端(受控端)的设计,客户端较为简单。客户端设计是,选用了MFC ApWizard(EXE),的基本对话框。在窗口上添加一些控件。修改相应的编辑框属性。添加相应的成员变量。在未登录服务器之前,注销,直接控屏和发送按钮以及要发送的命令的Edit窗口都是Disable的,同时,仿真程序设置了一个信息显示窗口,用来接收服务器端发回来的反馈消息。在软件运行前,会先运行一个提示注册的窗口。主界面如图2所示:图2 客户端测试界面定义两个字符串变量:m_csSend和m_csRead来实现客户端和服务器端的消息互连。并且利用Send()函数来实现数据传输。返回的结果在信息显示窗口显示出来。而且,在服务器端,利用了数组类自带的.mid()函数,提取主要的命令来实现对命令的筛选控制,更有利于服务器对客户端发送的命令的执行。具体详细实现方法可以参阅附录的源代码。监视屏幕是仿真程序最主要和重要的功能模块,不管是服务器,还是客户端,在实现远程屏幕监视方面都比较麻烦和复杂。仿真程序的远程监视屏幕模块采用了通过服务器端抓取被控端的桌面和图形,并且还有捕获鼠标和键盘的相应函数,一同通过服务器和客户端的Socket连接,发送到控制端。在控制端,要把抓出来的图形和键盘鼠标等相应函数联系起来,再捕获控制端的鼠标键盘在被控端图形显示区域里的响应以及相应位置。在通过控制端的操作,通过函数回应,发回到被控端,映射到被控端的相应位置。在利用返回的鼠标键盘的函数操作,调用本地的鼠标键盘的函数操作,来实现对被控端的控制。4.3 服务器端(被监控端)程序设计 被控端程序是远程控制软件的主体。远程控制软件的具体功能都是再被控制端实现的,主控端只负责传送要执行的命令和显示返回的结果。而几乎所有的操作控制都时在被控端本地实现的。远程控制的被控端要求自动运行,同时还应该要具有一定的隐藏性,不容易被客户端用户发现和关闭,当然,这要在Window任务管理器里看不到。故界面简单,并且自动改成和系统配置中的名称相近的名称。这样才不容易被客户端用户发现。在设计被控端的实现过程中,新建一个项目6,“MFC AppWizard(exe)”,选择“单文档界面”,取名Server。套用Windows Sockets,由于服务器端基本功能都是在serverView中实现的,所以,可以把除了“文件”项以外的项全删除。在实现服务器设计时,在初始化Window Socket时,通过指定m_pMainWnd-ShowWindow(SW_HIDE) 7;使程序的主界面不显示。在Server.cpp里声明并定义自动运行函数Regis()和隐藏进程函数Hideproc();在ServerDoc.cpp里定义默认端口。其他主要功能模块都是在ServerView.cpp中实现的8。远程控制软件要求被控端菜单程序只运行一次,然后每次计算机启动时自动运行,而且,一般要求也要隐蔽,最好要求被控端的用户看不到控制端软件的运行,这样,被控端就不能自己关闭运行的远程控制程序。仿真程序利用修改注册表的方法来实现程序的自动启动的。注册表保存系统的软,硬件及其他与系统配置有关的重要信息。在计算机的系统注册表中的子目录中有一个目录该名称为:HKEY_LOCAL_MACHINESoftwareMicrosoft WindowsCurrent_VersionRun,只要把要求自动运行的程序添加到该目录的一个子项里,就可以实现该程序的自动运行了,而且为了迷惑被控端的用户,可以将程序拷贝到系统目录下,并且该一个和系统目录下相近的名字,如internt.exe具体操作如下:设置注册表的相关路径:LPCTSTR Rgspath= SoftwareMicrosoft WindowsCurrent_VersionRun;这是所有软件自动运行的统一键值。修改它,就可以注册自动运行了。然后再获得系统目录: GetSystemDirectory(SysPath,size);并且把文件拷贝到系统目录下,改名为internt.exe。具体实现如下:FileCurrentName=CurrentPath;FileNewName=lstrcat(SysPath,”internt.exe”);CopyFile(FileCurrentName,FileNewName,TRUE);然后注册为自动运行:注册自动运行要先打开注册表RegOpenKeyEx(HKEY_LOCAL_MACHINE,Rgspath,0,KEY_WRITE,&hKEY);然后将要自动运行的程序写入注册表内,如下:RegSetValueEx(hKEY,”internt”,NULL,type,(const unsigned char *)FileNewName,size);再添加一下出错处理函数就可以完成完整的注册自动运行的函数;接着,要实现隐藏进程。隐藏进程实现如下:首先要加载动态链接库kernel32.dll,hKernelLib=LoadLibiary(“kernel32.dll”)然后获得函数RegisterServiceProce

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论