2014年电力系统自动化学术研讨会论文集矢量化SVG图形技术在配电网运行监视中的应用陈广,朱如升(北京科东电力控制系统有限责任公司2014)摘要:SVG具有可扩展、可交互等特性,将SVG引入到电力WEB系统中,是电力系统实现WEB发布的新途径。本文总结了目前配电自动化系统中的WEB技术现状和不足,提出了基于SVG技术实现电网WEB发布的基本模型、架构和具体方法。通过实践证明SVG技术完全能够胜任电力系统的WEB应用需要,将在电力系统的各个方面得到广泛的应用。关键字:SVG;WEB系统;电力;配网自动化;配网运行监测VectorizationSVGgraphicstechnologyinmonitoringtheoperationofthedistributionnetwork(BeijingKedongPowerControlSystemsLLC2014)Abstract:Asamethodforwebpublication,SVGhasthecharacteristicofexpansibilityandinteraction.ItisanewpathtointroduceSVGintowebapplicationofpowersystem.Thispapersummarizeshortcoming,advantageandintroducebasicmethodofapplyingSVGtoWEBapplicationinpowersystem,anddescribestheframework.SVGtechniquecanmeettherequirementofwebpublicationanditwillgetmoreextensiveapplicationinpowersystem.KeyWords:SVG;WEBsystem;electricpower;distributionnetworkautomation;distributionpowerOperationalmonitoring0引言近年来,WEB的相关技术发展最为迅速,通过Java、JavaScript等网络编程语言,HTML(HyperTextMarkupLanguage),XML(eXtensibleMarkupLanguage)互联网上的数据通用语言,在WEB浏览器中可以展现出丰富生动的虚拟世界。配电自动化系统作为配电网监控的系统,有大量的电网运行的数据和图表。在使用WEB技术之前,异构机器需要浏览电网的图形和数据是很困难的。一般有两种方式:(1)、在用户的机器上安装终端设备或终端软件,用于登录配电自动化主站,然后可以浏览图形和数据。这种方式简单易行,但是由于直接登录配电自动化主站,加大了主站的负载,同时增加了网络资源的开销,也会对配电自动化系统的运行造成一定的影响,而且权限不够的用户直接登录系统,对系统的安全也带来了一定的隐患。(2)、另一种方式就是,额外开发另一个系统,该系统只用于浏览配电自动化系统中的图形和数据,不支持用户的任何涉及到更改电力设备状态的操作。这种方式确实可以避免(1)中所提到的问题,但是重新开发一套系统需要人力和金钱的投入,而且后期的维护会比较复杂。由于WEB是基于浏览器实现的,可以实现跨平台访问,而且开发过程中利用标准语言和协议。因此在配网运行中搭建WEB服务器,只要访问的客户端机器装有浏览器,就能够实现对配电自动化系统中的图形2014年电力系统自动化学术研讨会论文集和数据的访问功能,从而达到配电网运行监测的目的。而浏览器已经是各种计算机操作系统的一部分,因此,利用WEB技术,基本对于客户端机器零要求,就能实现对配电自动化系统中的图形和数据的访问,而且通过防火墙和物理隔离装置,亦能保证配电自动化系统的正常运行和安全。目前,目前国内系统多数采用CGI(CommonGatewayInterface)技术或者利用ActiveX控件实现图形的WEB发布。但是在访问系统的过程中,用户与图形的交互频繁,CGI技术会大大的增加网络的传输量,造成过重的服务器负载,而且重复的画面刷新也会给客户端的操作带来很大的不便。而利用ActiveX控件,虽然可以通过客户端完成一部分基本的功能,但需要客户端安装相关的插件,而且其安全性和跨平台性也不能满足需要。因此基于以上的瓶颈,一种新的解决方案呼之欲出。SVG是W3C组织发布的一种基于XML的开发的二维图形描述语言,主要面向网络应用,目的在于满足WEB应用日益增长的对动态、可缩放、和平台无关的展现复杂内容并实现灵活交互的需求。SVG规范了矢量图形的格式,并将其在客户端浏览器上的解析和表现交给了SVGVIEWER插件(高版本的浏览器已经完全支持SVG渲染),通过提供服务器端调用及客户端的脚本语言共同完成电网图形的渲染,从而使服务端的矢量图形数据直接供用户浏览、查询和分析,大大的减少了服务器的负载及网络数据的传输量。其作为一种新的网络矢量图形标准,为基于SVG的配电网运行监测提供了一种良好的解决方案。1SVG的特征和优点1.1SVG的特征SVG是ScalableVectorGraphic的英文缩写,即为可扩展的矢量图形。它是W3C制定的、用矢量描述图形的XML应用标准。它有着许多的优点,比如可扩充性(sca1able),动态性,强交互性。SVG支持无极放大,对SVG图片进行任意比例的放大都不会损害图片的显示(没有太多的失真),其他诸如BMP,JPEG格式的图片都不支持无级放大。SVG有动画元素,只要在SVG文件中嵌入SVG动画元素就可以实现动画效果了。同时SVG也定义了丰富的事件,包括鼠标事件和键盘事件,只要对SVG进行相关的脚本编程就可以实现SVG文件的交互操作。1.2SVG的优点从网络的应用角度来讲,SVG具有如下独特的一些功能优点:(1)、标准的文档描述和检索性通常的栅格图像和矢量图像没有自我描述的特性,而SVG本身就可以带有描述性的文字来描述文档的信息(如:大小、颜色等)。SVG内的文字都以文本的形式出现在XML文件中,这些信息可用于搜索引擎,而以往的搜索引擎通常无法搜索到写在点阵图像内的文字。(2)支持用户与图像的交互SVG支持各种先进的网页交互技术。象HTML页面一样,可以设置SVG图像以捕获某些事件(如点击鼠标和滚动),并用它们启动脚本。在构建简单SVG图像时,可以通过属性捕获这些事件。最常用的是onclick、onactivate、onmousedown、onmouseup、onmouseover、onmousemove、onmouseout、onload、onresize、onunload和onrepeat。当这些事件之一被触发,就可以将事件对象本身提供给脚本,脚本反过来再用它确定哪个对象触发了该事件(也就是点击了什么对象)。然后脚本可以操纵那个对象的特性,如它的属性等。SVG用script元素来在SVG文档中插入脚本,它的功能几乎和HTML中的script标记一样,当然也可以使用在HTML中定义的脚本。在配网开关模拟中,可以定义开关图形被点击的事件,询问调度人员对于开关状态的操作,结合AJAX技术将修改后的状态保存到数据库中。因为与现有的WEB标准相兼容,SVG还能够在同一个WEB页面里凭着集成自XML的名字空间等特性来完成一系列的交互操作。(3)节省时间和存储空间矢量图中简单的几何图形,只需要几个特征数值,就可以确定。比如三角形,只需要确定三个顶点的坐标。圆只需要确定圆心的坐标和半径。描述它的函数已知的曲线也只需要几个参数就能够确定。如正弦曲线、各种螺线等等。如果用位图记录这些几何图案,则需要包含组成线条的各个像素的数据,因为它不2014年电力系统自动化学术研讨会论文集需要存储大量的点阵信息,因此矢量图像的文件大小将比同样栅格的图像要小很多。另外,SVG可以用ZIP或者HTTP/1.1等方法进行压缩,通过压缩可以大大减少文件和下载的时间。(4)在分布式环境下创建SVG是使用XML图像进行描述,是一种纯文本文件,因此任何文本编辑器都可以用来创建SVG,而且SVG语言可以看做基于对象的体系结构。(5)包含元数据信息SVG图像中可以包含生产者、名称、创建日期、版权等一系列元数据信息。当图像用文本来描述的时候,就可以建立图像各个组成之间的索引;当在图像中使用标准的元数据框架时,搜素引擎就可以通过其中的内容创建索引来获取图像的信息。(6)DOM的完全支持DOM(DocumentObjectModel文档对象模型)是一种文档平台,它允许程序或脚本动态的存储和上传文件的内容、结构或样式。由于SVG完全支持DOM,因而SVG文档可以通过一致的接口规范与外界的程序打交道。SVG以及SVG中的元素完全可以通过脚本语言接受外部事件的驱动,例如鼠标动作,实现自身或对其他物件、图像的控制等。(7)国际化和互操作的支持SVG通过支持Unicode编码来达到对国际化的支持。作为XML的应用之一,它集成了XML的跨平台性和可操作性,并可以内到于其他的XML文档中。SVG也可以和其他的XML应用如:XHTML、SMIL、MathML等互相嵌套使用。SVG开始设计时就以XML为基础,这为它能够同HTML、CSS、DOM、XSL、JavaScript等WEB标准很好的进行互操作留下了技术源头。(8)动态模拟SVG要成为网络图像格式,必须要具有动态的特征,因为网络是动态的媒体,这也是与其它图像格式区别的一个重要特征。由于SVG是基于XML的,它能够提供无可匹敌的动态交互性。开发者可以在SVG文件中嵌入动画元素(如运动路径、渐现或渐隐效果、生长的物体、收缩、快速旋转、改变颜色等),或通过脚本定义来达到高亮显示、声音、动画等效果。利用动画可以实现模拟定位开关的功能,当查找到指定的开关时,可以使用开关闪烁的动画来表示该开关所在的位置,方便用户的操作。2基于SVG的WEB架构2.1WEB的模型互联网技术的突飞猛进的发展,使得WEB软件开发的也变的越来简单,程序员对WEB技术的理解也越来越深刻。典型的WEB模型将计算机网络分为若干个相关层,早在20世纪80年代,国际化标准组织(ISO)提出了OSI网络抽象模型,将互联网系统分为七层(见图1)。2014年电力系统自动化学术研讨会论文集应用层表示层会话层传输层网络层链路层物理层应用层表示层会话层传输层网络层链路层物理层网络层链路层物理层子网内部协议网络层链路层物理层分组流分组流分组流网络层协议网络层协议网络层协议报文流报文流通信子网通信子网链接节点链接节点链接节点链接节点报文流报文流图1OSI网络抽象模型图Fig.1OSInetworkmodeldiagramabstract该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即ISO开放系统互连参考模型。在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。每一层都代表特定的功能组合:底层功能通过提供服务接口支持上层功能,物理层主要描述网络中通信机制的信号和连接特性,数据链路层定义在物理层之上的数据传送状态,网络层定义了在由数据链路组成的互联网中怎样查找和分发数据,传输层用来保证数据在网络中正确的传递,会话层描述数据类型在网络传递时互相组织关系,表示层描述数据类型在网络传递时的格式,应用层定义用户使用的互联网功能(如:TELNET、FTP、E-Mail)。在应用层HTTP定义了在上的文档传递协议,JSP、ASP、CGI、SVG等成为主要的WEB编程语言。在最近几年,WEB服务(WEBSERVICE)成为下一代了互联网功能层次,它定义了如何在HTTP之上利用XML语言和SAOP,UDDI等网络服务协议集成和查找互联网上的服务程序。2.2WEB体系结构在应用层,“浏览器-服务器”(Browser/Server)是典型的WEB信息系统模式,如图2.应用程序数据库网络图2双层结构WEB程序Fig.2two-tierWEBpr