郭 洁,王峥瀛,张 煦
(中国水利水电科学研究院中水科技公司,北京 100038)
基于H9000实时数据库的Web发布系统
郭 洁,王峥瀛,张 煦
(中国水利水电科学研究院中水科技公司,北京 100038)
简要介绍了基于H 9000实时数据库的Web发布系统的设计思路,主要特点及功能描述。
Woix;Web发布系统;H9000实时数据库;Socket
随着水电厂控制系统的高度自动化,基于B/S(Browser/Server)结构的生产信息实时发布系统日益被各电厂所重视。伴随自动化程度的提高,水电厂数据规模日渐庞大,同时,电站管理人员对获取监控数据的全面性、实时性要求也在逐步提高。
目前各电厂所用的Web发布系统多数以商业数据库为基础,但是由于海量数据造成的数据读写周期的拉长,传统Web发布系统的实时性已经不能满足用户的需求。例如:三峡右岸电厂包含模拟数据量15000点,开关数据量50000点,一个完整的数据读写周期最长会超过1min,但是实际电厂要求Web发布系统的分辨率在5s以内,基于商用数据库的Web发布系统已不能满足要求,基于实时数据库的Web应用已迫在眉睫。
Woix是基于H9000监控系统的Web发布系统,主要针对各水电厂监控数据浏览、信息发布、报表查询等功能开发而成。H9000是中国水利水电科学院拥有自主知识产权的水电厂监控系统,在我国有很高的市场占有率。Woix研制的主要目的是在无须增加维护工作的情况下将H9000监控系统搬到电力系统办公系统的浏览器上,同时赋予更加丰富多彩的表现形式,以及提供更多分析、统计结果的展示。
Woix的主要功能是基于H9000实时数据库实现Web发布,采用AJAX(Asynchronous JavaScript and XML,异步JavaScript脚本和XML技术)框架;图形使用SVG(Scalable Vector Graphic)格式,系统的画面可转换为SVG格式在Web站点上展示,动态缩放,提供多种动态效果展示生产过程;以面向对象的语言C#为开发工具,能满足大型水电厂海量数据浏览,查询的需求。Web服务器实现H9000实时数据库访问接口,能实时接收监控系统数据,包含模拟量、开关量、事件、报警等。
Woix的数据处理分为客户端和服务器端两个部分。
本系统的客户端脚本使用JavaScript,要完成的工作有以下几项:
(1)向Web服务器要求实时数据
实现方法为页面脚本通过XMLHttp协议,定时向Web服务器上负责查询的页面发送XML查询报文。
(2)解析返回数据包
服务器端解析查询数据包,对所有数据点向数据库进行一次查询,比较数值是否发生变化,对变化数据重新组包写回客户端。客户端解析返回数据包,获得已变化的数据点,以动态图符(仪表、棒图等)、数值、光字等形式展示在浏览器上。客户端仅需处理已变化数据,负荷能得到有效降低。
服务器端接收客户端的查询数据包,根据查询条件返回XML数据包。
系统基于H9000实时数据库,从实时数据库中读取实时数据及报警信息。Web服务器使用Socket接口向数据采集服务器发送请求,接收数据(见图1)。
图1 基于实时数据库的Web发布系统数据处理示意图
为了进一步的提高数据的实时性,系统采用了页面缓存和数据缓存双重缓存机制来最大程度的缩短数据读取周期。
当客户端登录系统调用数据时,首先判断服务器端的页面缓存是否符合要求,如果符合则直接将页面缓存返回给客户端,如果页面缓存不符合,则进入服务器端的数据缓存区查询符合要求的数据并返回,将未查询到的数据组包向数据采集服务器发送请求,查询结果存入数据缓存区以备下次使用(见图 2)。
图2 基于实时数据库的Web发布系统数据处理流程图
(1)页面缓存
页面输出缓存通过保存动态页面的输出内容,大大提高了服务器应用的能力。输出缓存常用于把整个输出页面缓存起来。对于一个存取繁忙的站点来说,把一些常用页面放入内存会带来性能上的极大提高。当一个页面被放入输出缓存,那么接下来的对该页面的相同请求将不再执行创建它的代码,而是从内存中直接返回该页面,同时也减少了Web服务器与数据源之间的交互。
(2)数据缓存
数据缓存是指当Web服务器从数据采集服务器读取数据后,先将数据保存到Web服务器的内存中,如果在一定时间范围内其它客户端查询此数据点,则不必通过数据采集服务器读取数据,直接从数据缓存内读取数据返回。此方式减少了Web服务器与数据源之间的交互。
画面处理也分为客户端和服务器端两个部分(图3)。
图3 基于实时数据库的Web发布系统画面处理示意图
本系统使用的图形通常为SVG的格式,各种控件均以SVG图元实现。通过改变图元的属性可实现控件的动态变化。
按照控件外观可大致分为普通文本框、数码文本框、计数器、表计、阀门、管道、开关、刀闸、发电机组、指示灯、棒图等等。
SVG图元的表现力非常丰富,除以上几种比较常用的控件,还可根据用户需要及电厂的特殊要求制作新的控件。
由于各个电场实际情况不同,对Web界面的画面质量要求、服务器质量、客户端数量以及后期维护能力的不同,一种形式的Web发布系统不一定能满足所有用户的需求。因此,出于对画面质量、维护能力及服务器质量等方面考虑,Woix通过以下方法实现信息发布以满足用户的不同需求。
(1)手工制作SVG图片
如大多数的Web发布系统一样,Woix支持手工绘制网站图片。此方法需要对工程的总体结构及每张页面重新构造、美工设计,要求系统集成人员具有一定的Web发布知识,熟悉SVG图形格式及其制作,后期维护人员需有一定电脑使用基础,最好对XML文档及SVG制图软件有一定了解。
目前支持SVG格式的制图软件比较多并且制图功能非常强大,重新手工构图可根据用户的要求对图片进行再次布局、数据筛选或再次运算,所以由此方法所制的画面质量较好。但是因为每张图片均需要重新制作,前期工作量比较大,对系统集成人员及维护人员的要求也相对较高。
此方法服务器的工作量不大,通常适用于不满足IPM图形在Web上的表现能力及外观,对画面质量要求较高,后期维护能力较强,服务器配置不高或是客户端数量较多的用户使用。
(2)利用转换器生成SVG图片
为了降低系统集成人员及后期维护人员的工作量,我们研制了一种SVG转换器可将IPM制作的监控画面直接转换成SVG格式。转换器只需对转换路径,版本等基本信息进行配置即可批量将H9000画面转换为SVG图片。此方法的SVG图片完全来自转换器,大大减少了前期制作及后期维护的工作,对系统集成人员及维护人员的要求较低,只需学会使用转换器即可。由于图片是由监控系统画面转换而来,画面同监控系统所用的画面完全相同,Web发布系统的美观程度完全取决于监控画面。转换器可配合手工制图共同使用,以达到更好的效果。
利用转换器生成SVG图片比较适用于对画面质量要求不高,希望后期维护工作量较小,服务器配置不高或是客户端数量较多的用户使用。
(3)动态生成SVG图片
动态生成SVG图片是指客户端在切换画面时,由服务器实时对图片进行转换再发送给客户端。此方法是动态生成SVG图片,实现与监控系统的完全同步,服务器本地没有存放SVG图片,加大了安全性。放弃转换器改由服务器实时转换,虽然加大了服务器的工作量,但是却完全解放了维护的工作,也减少了系统集成人员的工作。此方法只能独立使用,不能与前两种方法配合使用。
此方法服务器的工作量较大,比较适用于对画面质量要求并不十分高,希望后期维护工作量较小,服务器配置较高或是客户端数量较少的用户使用。
(4)选择性动态生成SVG图片
以上几种方法都具有其优点,却也难免有些弊端。所以我们综合其优势,开发出一种兼顾服务器及后期维护工作量的画面处理方式(图4)。
图4 基于实时数据库的Web发布系统画面处理流程图
选择性动态生成SVG图片是指当客户端登录系统发送画面请求时,服务器先判断本地是否有已经生成的SVG画面,如果没有则由服务器生成新画面;如果服务器本地有已经生成的画面再判断H9000的画面是否有修改,如果有修改则由服务器生成新画面,如果没有直接将画面返回客户端。
此方法服务器工作量适中,Web画面与监控画面实时同步,由于可配合手工制图共同使用,系统美观程度不局限于监控系统。系统集成及后期维护工作量极小,对于服务器的配置及客户端数量的限制不高,适用于大部分水电厂的需求,也是目前大部分Woix应用项目的画面处理方式。
现将基于H9000实时数据库的Web发布系统与基于商用数据库Web发布系统在数据信息量、实时性、环境要求等几方面进行性能比较,如表1所示。
表1 基于H9000实时数据库的Web发布系统与基于商用数据库Web发布系统性能对比
作者通过对电力系统实时Web发布系统的深入研究,结合当前大型水电厂的实际情况,开发出了基于H9000实时数据库的Web发布系统。目前该系统已经在三峡右岸投入运行,运行状况良好。经过三峡电厂专业技术人员的严格测试,性能远优于基于商用数据库的Web发布系统,满足了大型水电厂对生产信息数据在Web上发布的需求。
[1]郭洁,王峥瀛,王桂平.H9000监控系统Web子系统—Woix的研究与开发[J].水电厂自动化,2006,(增).
TP274
B
1672-5387(2011)03-0038-03
2011-04-11
郭洁,女,工程师,从事水电厂计算机监控系统研制、开发工作。