数据仓库是信息管理和分析型应用的有效平台,可以有效地为分析决策支持系统服务,提高系统的分析效率并增强处理复杂查询的能力。把数据仓库、联机分析处理(OLAP)、数据挖掘、模型库、专家系统相结合,可以构成电力系统综合决策支持系统,它是一种更高层次的决策支持系统。文献全面介绍了电力系统数据仓库技术的基础,包括基本概念、优点、结构、技术需求、设计与实现以及在电力系统中的潜在应用。文献介绍了采用Sybase或SQL Server 2000提供的基础数据仓库平台构建电力调度数据仓库、供电预测数据仓库、地区电网决策支持系统和实现电力信息一体化等。
本文针对目前数据仓库不能支持实时数据存储处理和短时战术决策的局限性,提出了调度自动化系统增强型数据仓库平台体系结构,以实现增强数据仓库的数据抽取与转换能力、实时响应性能以及对突发事件捕获能力。
1 增强型数据仓库平台的体系结构
调度自动化系统增强型数据仓库平台主要由信息一体化节点、实时数据处理中心(RTDPC)、主动数据仓库和系统管理工具等构成,如图1所示。其中系统管理工具负责管理系统的配置、元数据和系统基本参数表等。
与一般调度自动化系统数据仓库的不同之处在于该平台从3个方面实现了对数据仓库的增强:以自开发的通用抽取、转换和加载(ETL)工具作为信息一体化节点,增强了数据抽取与转换能力;建立RTDPC,实现实时数据的缓冲和交换,增强了数据仓库的实时性能;采用基于主动规则法的主动数据仓库技术,增强了对突发事件捕获的能力,使数据仓库不仅支持长时间的战略决策,还支持短时间的战术决策,满足决策人员的不同需要。
仓库的数据主要来源于调度自动化系统的历史和实时数据库。RTDPC是调度自动化系统原始数据的集成中心,同时也作为进入数据仓库前的缓冲区。调度自动化系统的原始数据首先通过ETL工具的抽取操作进入RTDPC,再经清洗、转换、映射等复杂数据处理后加载于主动数据仓库中。
2 信息一体化节点
信息一体化节点实际上是一个ETL工具,其作用是从源数据库或源文件中获取数据,并经过清洗、转换、集成后,将其加载到数据仓库中c9J。本文开发的通用ETL工具的系统流程如图2所示。它可根据数据仓库的设计,由用户在交互式界面上定义所需的目标表基础结构,填人表信息,由此建立目标表,而且能以树形结构显示。ETL工具能够搜索数据源,根据字段名寻找目标表与源数据表的映射关系,建立索引库。系统根据所建立的索引库获知与某目标表相关联的各源数据表,并在页面中显示各表,用户还可根据需要对已建立的索引库进行修改。ETL工具可以定制转换过程中数据类型的映射规则,设置数据转换的各种列映射规则,而且可实现追加数据到目的主动数据仓库的数据表中。转换前,用户还可以使用可视化界面来预览,手动修改规则÷定义好的规则均存人元数据库,并根据规则对各种异构的数据源进行抽取和转换,形成统一格式的目标表。所有这些操作都由定时运行的可执行文件包实现。
该通用ETL工具采用组件式系统结构,使程序和组件都能灵活扩展,以适应数据仓库需求的变化与发展。例如,可根据源数据库采用的不同系统类型,运用不同的抽取构件将数据从源数据库中抽取并存入RTDPC。因此,ETL工具只需根据实际需求不断增加支持不同数据库系统类型的抽取构件即可。数据转换主要包括聚集转换、表达式转换、过滤转换、分级转换、排序转换,串操作转换和数学函变换等,对于这些转换也可采用不同的转换构件形式实现。通用ETI。工具的数据加载功能采用批量加载模式,以直连数据库方式实现数据装载,可大大提高装载效率。此外,通用ETL工具采用向导驱动的界面方式,为用户提供图形用户接口,提高了易用性。用户可通过各种友好的图形界面连接数据库,实现各种抽取、转换过程的设置和监视,转换日志的查看,以及出错记录的修改等。
3 RTDPC
为提高数据仓库的效率和兼容性,增强对实时数据的存储与处理,建立了RTDPC,采用客户机/服务器结构,用于处理不断更新和快速变化的数据,以及具有时间限制的事务。RTDPC的内核实际上采用基于类似于调度自动化系统实时数据库技术的一个实时数据库。其中关键技术为实时数据管理、实时任务调度、实时并发控制和实时数据库应用程序接口。
1)实时数据管理。负责对内存中的实时数据进行直接管理和操作,本文使用索引技术(如B+树)实现优化管理。内存数据库采用把二进制磁盘文件映射到内存块中的文件映射方式实现。二进制磁盘文件与内存块的同步由操作系统自动完成。
2)实时任务调度。接收不同用户的数据查询请求,针对用户优先级和实时性要求的不同,在实时并发控制模块的控制下,对不同用户请求数据的任务分实时任务和非实时任务进行调度,在满足实时任务实时完成的前提下,增强任务处理的吞吐量。对周期任务,采用单调率算法进行调度;对非周期任务请求,以最长允许时间进行调度。
3)实时并发控制。实时并发控制一般采用一定的策略建立共享锁,防止多事务并发时对数据进行同时读写操作。本文采用影子提交的方法,在更新事务之前,先分配一个新的数据对象,对这个数据对象进行预提交,成功后,把这个数据对象的指针挂接在数据对象表中即可。
4)实时数据库应用程序接口。RTDPC有3种访问接口:自定义内部接口、开放的数据库连接(ODBC)接口和ActiveX数据对象(ADO)接口。可以满足绝大部分数据库客户机的要求,也方便与ETL工具和数据仓库的连接。
4 主动数据仓库
4.1 主动规则法
传统数据仓库中,数据是周期更新的,而不是实时更新的,数据更新落后于源数据库。主动数据仓库是一种改变决策支持系统方式的新技术,它使用高性能、兼容和快速的数据刷新方法来建立数据仓库。文献基于商业数据库系统的触发器建立了事件监视器,在监控与数据采集(SCADA)系统中实现了主动实时数据库。这种通过触发器实现数据更新的方法,如果定义大量触发规则,势必降低数据库的性能,而且触发器不能实现对实时数据库中的内容进行实时监视。因此,本文提出了一种通过监视源数据库的变化实现数据更新的方法——主动规则法来构建主动数据仓库。
主动规则又可称为事件、条件和动作(ECA)规则,它由事件、条件和动作3部分组成。其基本执行模式为:0N event IF condition DO action。它采用事件触发的思想,当定义的事件发生,如果条件得到满足,即执行定义的活动。
主动数据仓库建立了一套规则定义语言来定义主动规则。主动规则定义的语法格式为:
ON event[-IF condition]
DO(call warehouse update(condition)>
其中:event部分可单独进行定义,以便于多个规则引用;call warehouse update(condition)表示调用数据仓库的ETL工具,条件表达式用来筛选要抽取的数据。
可见,主动规则法的工作模式不仅能快速地捕获突发事件,而且能很好地满足用户需求的不断变化。在主动数据仓库中,很多事件都可作为主动规则的触发事件,例如时间事件、数据操作、事务、异常和抽象事件等。对于调度自动化系统,主动规则主要包括数据更新、状态变化、越限告警、定时存储和数据维护等。
4.2 主动数据仓库的实现过程
本文根据主动规则法,基于自行开发的用户控制语言程序构建了主动数据仓库,其触发更新过程如图3所示。用户控制语言程序包括事件和规则定义工具、事件检测工具和数据更新工具等。事件和规则定义工具是提供给用户的前台建模工具,定义好的事件和规则分别存放在事件库和规则库中,并作为数据仓库元数据的一部分,由元数据管理器进行统一管理。事件检测工具负责检测源数据库事件的发生,并建立已触发事件表。数据更新工具根据已触发事件表中悬挂的事件进行数据更新。
图3 主动数据仓库的触发更新过程
5 应用与性能测试
5.1 应用
本文将增强型数据仓库平台应用于自行开发的SCUT2008电网调度自动化系统。自行开发的SCUT2008电网调度自动化系统采用典型的地/县调系统结构,如图4所示。该系统由双历史数据服务器、双前置数据采集/实时数据服务器、双调度员工作站、电力系统高级应用软件(PAS)服务器、PAS工作站、维护/报表工作站、Web服务器等组成。主网络采用双100 Mbit/s以太网冗余结构;系统采用客户机/服务器结构。其增强型数据仓库平台采用2台PC服务器,一台作为主动数据仓库系统,另一台作为RTDPC。通用ETL工具可运行于RTDPC的服务器上,通过双以太网与调度自动化系统主网相联。数据挖掘工具和OLAP工具运行于调度员工作站和PAS工作站。
由于基于SQL Server 2000提供的基础数据仓库平台可实现强大且完整的各种数据仓库解决方案,同时具有强开放性和通用性的接口,性价比高,因此,本文基于SQL Server 2000开发增强型数据仓库平台。软件条件如下:操作系统为Windows2000 Server;数据库系统为MS SQL Server 2000,其中Analysis Services用于构建数据仓库;Office2003作为展示和发布工具,使管理人员可以通过局域网内Web访问和查询数据仓库的内容。平台硬件如下:CPU为P4(2.6 GHz),内存为1 024 MB;网卡为100 Mbit/s以太网。
5.2 性能测试
为了测试和比较通用ETL工具的性能,分别使用通用ETL工具与SQL Server 2000提供的数据抽取工具——数据转换服务(DTS),抽取、转换和加载同一样本数据,样本数据源为调度自动化系统Sybase数据库中的历史数据,有400万条记录,共计500 MB数据。时间开销如下:通用ETL工具为4 min 33 S,SQL Server DTS为5 min 6 S。由此可以看出,通用ETL工具抽取、转换和加载同样数据的情况下,时间开销少于DTS,性能优于DTS,这表明通用ETL工具具有较强的数据抽取、转换和加载能力。
为了测试和比较增强型数据仓库RTDPC的性能指标,以插入提交1万条记录(每条记录长度为50 B)和执行1次指定条件的查询为例,在客户机与服务器为同一主机形式下,分别对增强型数据仓库和基于商用SQL Server 2000提供的数据仓库进行了测试和比较;另外,对局域网内不同主机形式下的增强型数据仓库性能也进行了测试,结果见表1。
表1 实时数据处理中心性能测试
由表1可见,增强型数据仓库数据处理和查询能力优于商用SQI。Server 2000;在局域网内数据处理速度每秒可超过1万条长度为50 B的记录。假设电网调度自动化系统共接入50个变电站,每个站拥有1 000个遥信量、200个遥测量,共计数据点为60 000个,如此大规模的数据量更新时间也远低于6 S,可见RTDPC拥有足够的处理速度和查询能力来满足实时数据处理的要求。
6 结语
本文提出的调度自动化系统增强型数据仓库平台的体系结构,在已投入电网运行的自行开发的SCUT2008电网调度自动化系统中的应用和性能测试,表明了该平台具有强大的数据抽取与转换能力、实时响应性能和对突发事件的捕获能力等,对电力系统各种数据仓库的构建具有重要指导意义。
CIO之家 www.ciozj.com 公众号:imciow