(电力系统及其自动化专业论文)基于pc机dts数据管理的研究.pdf_第1页
(电力系统及其自动化专业论文)基于pc机dts数据管理的研究.pdf_第2页
(电力系统及其自动化专业论文)基于pc机dts数据管理的研究.pdf_第3页
(电力系统及其自动化专业论文)基于pc机dts数据管理的研究.pdf_第4页
(电力系统及其自动化专业论文)基于pc机dts数据管理的研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

声明 本人郑重声明:此处所提交的硕士学位论文基于p c 机d t s 数据管理的研究, 是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究 成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 学位论文作者签名:日期伊驴陟万 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件:学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允诲学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 f 涉密的学位论文在解密后遵守此规定) 作者签名:导师签名盖戤 日期:塑丝! 三! , 日 期:坦幺! ! :竺: 华北电力人学硕十学位论文 1 1 概述 第一章引言 随着电力工业的发展,电网规模同益扩大,对供电可靠性的要求也越来越高。 电力系统故障是由调度员统一协调、指挥处理的,如果处理不当可能会发展成大面 积、灾难性故障。为实现电力系统的经济安全运行,一方面要求组成电力系统的元 件和自动装置可靠性高:另一方面在目前调度自动化尚不能很好的处理系统中所有 故障的情况下,要求有高水平的调度人员。对许多重大事故的分析表明:运行人员 临时慌乱做出错误判断和处理不当,住往是事故扩大的主要原因之一。提高调度员 的水平,增强反事故能力成为迫切的任务。 过去运行人员的经验主要束自实际的工作经验积累,通常的培训方式有跟班学 习、课堂式反事故演习和事故处理经验总结等。但当实际事故出现时,调度员往往 不知所措。造成这种问题的原因是:电力系统事故概率很小,即使发生事故也往往 由于事故过程很短,很难在一两次事故中积累足够的经验,调度员没有机会在电网 异常和事故中得到磨练。而实际电网是不允许人为制造事故的,这就要求采用其他 方式对电力系统进行模拟。随着计算机在线控制的应用,调度员培训仿真系统( d t s ) 日益成为培训调度员的重要手段之一: 调度员培训仿真系统( d i s p a t c h e rt r a i n i n gs i m u l a t o r 简称d t s ) 是利用先进的 计算机技术,模拟实际电网的运行,嗣于调度员培训的数字仿真系统。电网调度员 培训模拟自7 0 年代末在美国出现以来,以其在培训、电网研究、事故分析等各方 面的卓越功能在全世界电力行业中得到了广泛的应用。 i 2 调度员培训仿真的基本概念x :”h d t s 是利用计算机模拟技术,给调度员一个模拟实际电力系统的运行环境,帮 助调度人员获得系统正常状态下和紧急状态下的运行和操作经验。 1 2 1d t s 的基本要求 一致性:力求d t s 环境与实际系统的控制、操作环境一致,能真实地再现主控 室中s c a d a e m s 系统环境。尽量采用与调度中心相同的计算机、控制台、c r t 以及人机界面,使学员在培训中有真实感,从而训练系统故障时的快速反应能 力,已获得较好的培训效果。 真实性:d t s 应对所模拟的电力系统的静态和动态过程作准确、可靠地描述。 包括实际系统中的发电机、线路、变压器、电抗器和断路器等元件,并根据不 华北电力人学硕十学位论文 同的运行方式,真实地再现电网的潮流分布和扰动下的动态特性。 开放性:在电力系统以及计算机技术飞速发展的今天,一个成功的d t s 应具有 可移植性、可扩展性和可升级的特点。u n i x 、t c p i p 、w i n d o w s 和c + + 的应 用,在一定程度上解决了操作系统、网络通讯和数据库不标准所造成的扩充、 升级和维护等问题,d t s 的设计必循遵循丌放式系统标准,尤其应适应 s c a d a e m s 系统的不断更新。 1 2 2d t s 的构成 现有的d t s 种类很多,一般来髓有两种,一种是基于实时备用机的d t s 系统, 一种是独立的d t s 系统( s t a n d a l o n ed t s ) 。这几种d t s 虽然在机构上有一定差异, 但通常由以下几部分组成: 电力系统模拟:( p s m 子系统) p s m 子系统以下模块构成:( 1 ) 网络拓扑;( 2 ) 动态潮流;( 3 ) 中长期动念仿真: ( 4 ) 准实时暂念仿真:( 5 ) 保护与自动装置的模拟。p s m 子系统的主要任务是描述电 力系统的静态和动态过程,一般包括机电暂念和中长期动态过程。该模块要求详细 模拟各元件特性,尤其是超高压主网:模型应具有良好的适应性,在可能的电压、 频率变化范围内保证足够的精度:适应各种电网运行状态:保证计算速度,实现实 时仿真;与e m s 系统相配合。 控制中心模拟:( c c m 子系统) c c m 子系统由以下模块构成:( 1 ) s c a d a 数据库系统:( 2 ) 在线图形和人机接口; ( 3 ) s c a d a e m s 信息处理;( 4 ) 模拟通信设备。c c m 子系统用于完成d t s 数据采 集及监控的过程。d t s 可使用在线实对的s c a d a 数据或历史数据进行培训,也可 脱离在线系统采用独立的数据。采用s c a d a 数据时,应作状态估计对不良数据进 行检测;而不采用在线数据时,电力系统模型、负菏分配等可由教员设定。 培训子系统:( e s 子系统) e s 子系统由以下模块构成:( 1 ) 系统初始化模块:( 2 ) 培训控制模块;( 3 ) 培训评估 模块;( 4 ) 操作接收和校核模块。e s 子系统完成教员对培训内容和过程的控制,应 具有操作灵活的特点,培训i 结束后应对学员的操作进行准确地评估和分析。 实际电网中遥测、遥信数据由r t u 采集,经s c a d a 前置机传送至主机。通过 人机界面m m i 将电力系统状态在c r t 上显示出来,使调度员了解电网状态。调度 员的操作命令同样通过人机接口送至s c a d a 主机、前置机、r t u 以完成对设备的 操作。d t s 以数学方程模拟实际系统亍为,因此应与实际系统相对应,如图l - 1 所 不。 一 兰! ! ! ! 查叁堂堡堂生堡墨: _ 一一。 1 3d t s 的发展及现状4 1 1 3 1 概述 调度员培训仿真的概念是w i s s c o s i n 公司于1 9 7 3 在e m s 软件设计中形成的。 1 9 7 7 年美国连续发生了多次大面积停电事故,引起了人们对d t s 系统的重视。1 9 7 8 年美国电力科学研究院( e p r i ) 组织了第一次d t s 研讨会,随后d t s 技术得到了飞 速地发展。 技术的发展经历了以下几个阶段: i ,7 0 年代采用c d c l7 为硬件平台,电力系统模拟子系统主要应用潮流解法c 8 0 年代以小型机为硬件平台,逐步以中长期动态过程为基础仿真电力系统c 9 0 年代硬件平台主要采用分布式工作站组成的开放系统,对电力系统的模拟已 逐步向考虑暂态过程的d t s 系统发展。 ( a ) 实际系统构成 l 一一一一一一一一一一一一一一+ 一一一一。一一 ( b ) d t s 系统构成 图1 - 1实际系统与d t s 各部分的关系 总体上看来d t s 硬件技术的发展与计算机技术的发展紧密相关,硬件配置由荤 华北电力人学硕十学托论文 机向多机系统发展。而p s m 软件技术随硬件水平的提高也有了很火进步,由最初的 动态潮流程序,发展到包括中长期动态甚至机电暂态过程的仿真研究。硬件技术的 研究是为实现相应的仿真软件算法服务的,p s m 模块是d t s 的核心,数据库支持 系统是d t s 支持系统的核心。 1 3 2 开放式的d i s 系统 首先,什么是丌放式的系统? 它与传统的系统有什么区别? 参见表卜1 。 表i 一1传统系统与_ 丌放式系统的比较表 传统系统 开放式系统 硬件结构 主备关系,“点对点”结构以网络为中心 操作系统1 f 标准标准( 人多为 ;s i x ) 接口、规范非标准国际标准( 如幽形、网络通信) 软仆供应单一厂家歧州户白行开发多厂家供声 1 3 3d i s 支持系统的发展 首先,数据库支持系统是d i s 支持系统的核心。可以晓d t s 的研究和发展与 数据库技术是紧密联系的,早期d t s 中使用的数据库为层次数据库,后来随着数据 库技术的发展,d t s 采用典型的商用数据库代替8 0 年代采用的层次型数据库,如 当时德国的西门子公司在其系统中改用美国的s y b a s e 数据库。关系型数据库具有以 下优点: 1 ) 关系型数据库容易扩展。不管是存储数据的增加或数据结构的改变都易于实现。 2 ) 关系型数据库的设计促使人们分析什么是关键信息,从而来确定信息流。 3 ) 关系型数据库管理系统使人们用不着关心数据的存放和恢复,人们只需注意什 么数据是重要的。 4 ) s q l 语言是工业标准。 5 1 支持多用户。一旦数据被存放起来,人们可以用许多不同的方式来进行访问c 这几年,囡内外在d t s 的研究中普遍认为仅仅采用传统的关系型数据库不能满 足d t s 的实时性要求,提出必须采用实时数据库,但是实时数据库也是现代数据唪 技术正在研究的技术,目前还没有一种公认的比较好地适合d t s 实时数据库。现在 d t s 中普遍采用实时数据库与商用数据库相结合的方法这样既可以满足实时性要 求,又可以将数据保存下来,而且易于实现。 其次,硬件支持。随着计算机硬件技术的发展,网络技术的广泛应用,丌放式 d t s 系统也取得了很大的发展,并且成为d t s 发展的方向。在开放式d t s 系统中, 硬件结构有的很大的变化,计算机由原柬的主从关系,”点对点”结构转变为以网络 华北屯力人学硕十学协论文 为中心的多机分布式结构。 第三,图形支持系统。d t s 系统进程与教员、学员之间是通过画面来联系的。 人通过画面了解电力系统情况,并在画面上执行电网各种操作。图形支持系统随着 d t s 采用的操作系统与数掘库的不同而有所不同,目前由于面向对象技术的发展, d t s 图形支持系统广泛采用了面向对象的可视化技术。 1 4 本文的目的与意义 调度员培训仿真器( d i s p a t c h e rt r a i n i n gs i m u l a t o r 简称d t s ) 是利用先进的计 算机技术,模拟实际电网的运行、用于调度员培训的数字仿真系统。一个功能完备 的d t s 需要处理大量数据,并支持局域网内的多用户访问,因此技术成熟的关系数 据库成为首选。但是随着d t s 研究的深入发展,传统的关系型数据库暴露出许多问 题,并严重制约着d i s 的发展。目前。国内许多d t s 不具备系统稳定计算功能,这 不仅是因为稳定计算本身需要占用较多时间,而且更是由于传统关系型数据库的性 能无法满足实时性的要求。用d t s 模拟电网运行情况,尤其是模拟故障后系统动态 现象要求尽量减少数据库操作占用的时间,以满足电网动态过程的实时仿真。本文 经过多方调研,分析了传统关系型数据库存在的i o 瓶颈和大量重复查询等一些在 d t s 应用中出现的特有的问题,随着现代数据库技术的发展,内存数据库、实时数 据库、主动数据库【9 】【1 :l 【13 1 1 1 6 】等技术得到广泛研究,合理的运用好这些技术可以很好 地满足d t s 的实时性要求,改善d t s 数据库的性能。在d t s 中使用内存数据库也 有人提出【5 h 引。在d t s 开发中使用数据库的另一个存在的问题就是在w i n d o w s 平台 下存在着许多连接数掘库的方法,这些方法在结合v c - + ( v b ) 提供的类( 控件) 的时候虽然具有易于为人们所掌握,开发周期短等优点,但是却在运行效率和速度 上大打折扣,这也是在w i n d m 、s 下d t s 开发中数据库应用存在不能忽视的问题。 因此,克服传统关系型数据库实时性不好、效率不高的缺点就成为影响了d t s 发展的关键。以往紧紧依靠提高计算机性能来提高d t s 性能的办法也并不能够很好 地解决这个问题,提出一种新的可以满足实时性要求的数据库用法是必要的并且急 需的。 可以说d t s 的研究和发展与数据库技术是紧密联系的,早期d t s 中使用的数 据库为层次数据库,后来随着数据库技术的发展,d t s 采用典型的商用关系型数据 库代替8 0 年代采用的层次数据库 1 1 。这使d t s 进一步的向前发展如当时德国的 西门子公司在其系统中改用美国的s y b a s e 数掘库。 这几年,国内外在d t s 的研究中一致认为仅仅采用传统的关系型数据库不能满 足d t s 的实时性要求,普遍认为必须采用实时数据库,但是实时数据库也是现代数 据唪技术难在研究的技术,还没有一种公认的比较好地适合d t s 实时数掘库。现在 华北电力人学硕 j 学何论支 d t s 中普遍采用实时数据库与商用数据库相结合的方法【5 1 _ 8 | f 10 1 1 ”,这样既可以满足 实时性要求,又可以将数据保存下来,而且易于实现。其中商用数据库一般就是关 系型数据库如o r a c l e 、s q ls e r v e r 、s y b a s e 等,但是也有用e x c e l 的i 。但是在选 择构建实时数掘库的时候,由于各个d t s 所具有的仿真能力不同,可实现的功能也 不尽相同,同时采用的操作系统等的软硬件基础不同,因此实时数据库的数据组织 和管理方式、性能也都存在较大差异,不过将实时数据库放在内存中是目前公认的 比较好的方法。 1 5 本文的主要工作 1 51 提出基于p c 机的开放式d t $ 的软硬件基础 经过多方面的充分论证,本文研制的d t s 硬件和软件基础为:用以太网连接的 2 4 台高档p c 机,采用w i n d o w s 操作系统、o r a c l e 8 i 数掘库系统、v c + + 6 0 作为 开发平台,用w i n s o c k 开发网络功能。计算机通信采用流行的t c p i p 协议羽 w i n s o c k 编程,这样还可以实现不同平台( u i n x 与w i n d o w s ) 平台之间的通信: 随着计算机技术的快速发展,p c 机的性能飞速提高,而且与工作站相比,其价格相 当低廉。不仅如此,p c 机普及程度高,拥有众多软件支持,使得d t s 中使用高性 能的p c 机成为发展的一个趋势,目前国内外都在这方面展丌研究。本选题提出的 硬件平台就是从中应运而生的,旨在提出一种较为廉价的,易于为人们掌握的d t s 新型平台,同时还不失去d t s 准确、实时的特点。该平台由于采用了人们熟悉的 w i n d o w s 操作系统、普及程度高的p c 机,使用起来更加方便,加上功能强大的可 视化编程,可以很好的模拟电网调度员实际工作环境,提供十分友好的环境。该d t s 平台可以使d t s 广泛使用,节约了投资,同时也可以作为高校电力专业的教学试验 基地。 1 5 2 该d t s 的数据管理 电网调度员培训仿真系统( d t s ) ,包括了电网中所有的信息,以及为培训而 实施的各个厂站的图形信息,其中图形信息与电网参数一体化,由此可见对于d t s 来说包括的数据量大、种类繁多。根据d t s 中数据的类型、意义、使用频率及方式 的不同,将数据分为离线数据与动态数据,分别构建离线数据库和动态数据库来存 放。 建立离线数据库( o r a c l e 8 i ) 存放电网元件的参数信息、拓扑信息、图形显示 的图形信息:为计算使用的计算参数、培训任务、培训结果数据。利用大型关系型 数据库o r a c l e 8 i 管理大量数据的强大,j 能,管理d t s 中的离线数据。其中陔基于 华北电力人学颂i “学化论文 p c 的丌放式d t s 系统的图形支持模块自动生成拓扑信息,并写入离线数据库中: 元件参数均可在图形界面中输入,之后通过数据分析、查错生成计算可直接使用的 计算参数。在计算模块初始化时直接从计算参数库中读出可直接用于计算的参数, 同时从培训任务参数库中读取d t s 初始条件和培训任务。 建立并管理动态数据库。传统的关系型数据库虽然有很多优点,但是在实时性 要求比较高的应用场合如在d t s 实时数据的管理上存在着一些缺陷:i o 速度较馒, 存储效率低下,“被动”型数据库。在此要达到实时性的要求就要克服这个困难, 本文提出采用主动性内存数据库来构建动态库,以此柬对实时数据进行管理。该动 念库实现了局域网中的多用户查询,采用面向对象技术将实时数据存放在内存中, 并且优化查询,使该动态库具有“主动性”,减少了大量重复查询,提高的数据管 理的效率。 1 5 3 基于d t s 的电力网络拓扑分析 网络拓扑分析模块是d t s 中一个不可缺少的部分:众所周知,实际电网中厂站 接线中每个元件二端是物理节点( n o d e ) ,两个元件如有一个公共的n o d e ,则物理 上两个元件相连。而有一些元件如断路器、隔离丌关并无电阻、电抗。在这些元件 闭合时二端n o d e 电压相同,这两个n o d e 同属于一个电气节点( b u s ) 。电力系统 分析计算是面向b u s 的。一个b u s 有可能含有很多n o d e 。在电网操作中,如丌啥 母联断路器时,n o d e 和b u s 对应关系会发生变化。网络拓扑的任务就是通过对所有 的元件连接情况的检查,把面向n o d e 的网络模型缩减为特殊的b u s 模型。形成n o d e 与b u s 问的对应关系。在执行过程中还可能确定出所有元件的带电状态,庀录下元 件连接状态的变化。还能给出孤立系统的信息。拓扑程序的要求就是:准确和快速。 在拓扑程序中有两个入口: 1 ) 初始拓扑:全部重新形成n o d e b u s 之闯的对应关系表。 2 1 拓扑变化:在原来拓扑结构的基础上,仅改变个别断路器、隔离开关的开 关状态时,只需要对n o d e b u s 对应关系表做局部的变化。其效率更高。 1 5 4 d t s 曲线绘制模块 d t s 中要求有绘制实时波形曲线的功能,可以观测某些测点的电压后功率的波 形。本文完成了绘制实时波形曲线模块,所谓实时波形曲线是指在仿真计算的同时 绘制曲线。这里绘制曲线的数据是从动态库中获得,绘制曲线模块只需将所需的测 点的相关信息一次性的通过网络发动给动念库,然后动念库就会在每次仿真得到的 一批新的数掘中将绘制波形所需的数据主动地送给绘图模块这样一来提高了数据 查询、传送的效率。 华北电力人学硕十学位论文 1 6 小结 本章首先简要介绍了调度员培训仿真系统( d t s ) 的基本概念及其发展过程; 接着分析了d t s 中数据管理所存在的一些问题,指出本文的目的与意义:最后介绍 了本文所作的主要工作。本文从四个方面进行课题工作:第一,提出基于p c 机的 开放式d t s 的软硬件基础;第二,该d t s 的数据管理;第三,基于d t s 的电力网 络的拓扑分析:第四,d t s 曲线绘制模块。 华北电力人学硕f 。学伶瞧文 第二章d t s 中的数据分类及管理方法 电网调度员培训仿真系统( d t s ) 包含的数据量大、类型复杂,其中包括了电 网的拓扑关系、电网中所有元件的参数及其采用的模型、仿真结果、培训事件表及 培训过程中的操作信息、培训的初始条件,以及为培训而实施的各个厂站的图形信 息。有效的数据管理是d t s 的基本要求,关系到d t s 能否做到准确、快速、真实, 而数据库技术在数据管理方面有着很大的优势,目前电力系统基本上多采用商用大 型关系型数据库来存储管理数据,可以说数据库支持是d t s 支持系统的核心,但仅 仅使用传统的关系型数据库在d t s 中管理数据已经出现了不少问题,严重影响d t s 的实时性能。 2 1 传统关系型数据库制约d t s 的发展 传统关系型数据库在d t s 的应用中存在着许多缺陷,如实时性不好,查询效率 低,并且只能是“被动的”,因为只有当用户或应用程序“要它动时,它爿。动”。以下 具体分析传统数据库如何严重制约d t s 的发展。 2 1 1 i 0 瓶颈 首先分析一下d t s 数据库的工作情况 图2 - 1d t s 中数据库的使用 鼎:掌员站l ( f 隍谩王左 观测粟电压曲娃) 铽;学员站2 f 陧设王在 看厂站图 学员站n 从图2 1 可以看出数据库在d t s 中的工作情况:首先一个客户从数据库中读取 初始计算参数并开始计算,再将计算结果存入数据库中,然后n 个其它客户( 学员 站) 从数据库读取实时计算数据。按照数据库读取频率和时间的不同将数据库分 为离线库和动态数据库。其中离线库在计算之前一次读取,对读取时问没有严格的 要求,因此技术成熟的关系数据章将是首选。对于动态的计算结果数据库,一方面 鼎 华北也力人学硕 :学何论文 一个用户在不停地将计算结果写入数据库,同时又有多个用户在查询读耿数据库中 的实时数掘。这时对硬盘的操作为1 次写操作和n 次读操作。显然这时对数据库的 查询( 即对硬盘的i o ) 次数是很多的,而且对硬盘的i o 时问从d t s 的时问要求 来看显得过长。i o 瓶颈的存在使d t s 的实时性受到严重的制约,c p u 的宝贵时i 刈 都浪费在i o 等待当中。减少每次i o 占用的时间,减少i o 次数,改善i o 瓶颈对 保证d t s 的实时性具有重要意义。很明显,关系型数据库在这方面不能满足要求, 因此不宜采用传统的关系型数掘库来管理这部分动态数据。 2 1 2 重复查询 从d t s 的使用过程中可知,用户在某一时段需要的实时数据是一些固定的数据 变量,如某一幅画面显示的某个厂站的电压、功率变量。传统的数据库输送数据的 方式是用户查询一次就输送一次数据,用户要显示一幅画面就要不停地向数据库重 复相同的查询,效塞低下,这就是通常所说的传统关系型数据库的“被动性”。在 d i s 中要经常观测某些变量的波形( 绘制实时曲线) ,在这种情况下也同样会出现 不停的向数据库重复相同的查询。即便面面是l s ( 秒) 刷新一次( 查询一次数据库) , d t s 运行时也会造成严重的资源浪费,加上i o 瓶颈的存在重复相同的查询更会 浪费大量的时间,严重制约着d t s 的效率,约束了d t s 的实时性能。 2 2 数据管理方法的提出 为了解决传统数据库应用中遇到的上述问题,本文提出将d t s 的数据库分为两 个部分分别管理的方法。按照数据库读取频率和时间的不同将数据库分为动态库 和离线库。离线库放在硬盘中,可以长期保存数据,主要存放计算所需的所有数据, 以及从动念库输入的一过去的”计算结果,使用商用大型关系型数据库o r a c l e 8 i 进行 数据管理;动念库用来存放实时计算的结果等动态数据。动态库使用对象数据库的 方式把实时计算结果存放在内存中,并为各个客户一主动地”提供实时数据服务。 2 2 1 动态库的具体管理 由于对内存i f o 操作所需的时f 日j 远远少于对硬盘的i i o 操作,所以本文将动态 库放入内存以减少i o 操作所占用的时间。但仅仅把动态库放入内存还不够,动态 库在内存中还应该采取有效的结构方式来组织数据,既要使存储效率高,还要让查 询简单快速,同时又要易于实现。本文结合实时数掘的特点,采用面向对象技术。 在内存中以对象的结构组织数据库。这样做不但可以使查询操作简单,而且符合逻 辑,整个动态库的结构简单明了。 华北电力人学硕十学佗论文 为了避免不停地重复相同的查询,提高查询效率,本文提出的动态库具有主动 输送数据的特性,变“被动”为“主动”。在学员站进行一次必要的查询之后,动 念库会主动地向学员站输送数据。动态库具有主动输送数掘的能力后,就不需要学 员站大量的重复相同查询,查询效率显著提高。 通过把实时数据先存放在内存数据库中,动态库主动地将客户需要读取实时数 据输送给客户,然后动态库再将内存数据库的数据存入硬盘数据库的方式,在每一 时刻把对硬盘的i o 降低为一次,最大地减少了i o 次数,再加上能够主动输送数 据,学员站要显示一幅画面也仅需要一次查询便可以完成,没有冗余操作,查询效 率明显高于“非主动”方式的数据库。动态库与离线库的配合使用很好地解决了d t s 中单纯使用传统关系型数据库存在的问题。 在d t s 中使用的动念数据库有咀下特点: 1 ) 有多个客户同时对动态库进行操作,其中只有一个客户住动念库中写入数据, 但同时有多个客户从数据库中读取数据,因此该数据库必须是多用户的。 2 ) 写入动态数据库的实时数据需要长期保存: 3 ) 把实时数据从时间的角度分为一个一个的点,即一个个断面数据,而每个断面 数据的结构和数据量都是一样的,区别仅是数据时标不同。采用面向对象技术 把断面数据封装成类。 4 ) 动态库的操作中,读数据库( 对数据库的查询) 都是利用索引( 如发电机号等 等) 查询,不存在其他复杂的查询方式。如,一般都是利用某发电机号去查它 的机端电压、有功出力等等,而不会使用发电机的有功出力去查询发电号( 对 离线数据库会有这样的操作) 。 5 ) 每次查询的内容一样,数据库应具备主动输送数据的能力。例如要绘制某电压 变量实时曲线,每次查询的内容都是这个电压变量的值。 2 3 离线库与动态库的关系 在本文d t s 中动态库和离线库之闯是相互补充、相互依存的关系。 首先离线库中保存着电网所有参数及培训任务等初始化数据,在d t s - 丌始培训 时动态库和计算模块( p s m 子系统) 从离线库中读取相应的数据进行初始化,在培 训过程中图形模块、曲线绘制模块、计算模块等这些模块都不和离线库发生联系 所需的数据均从动态库中获得。培训控制系统发出的事件控制信息直接发送到动态 库的事件控制信息缓冲区中,由动态库负责管理并发送给计算模块进行处理,而计 算模块则将一次次的仿真结果送到动态库中进行管理,这些仿真数掘可供其他模块 实时查询。 其次由于以下三点原因,动念库要将数据定期保存到离线库中。 华北电力人学硕l :学何论文 1 动态库的存储容量有限: 2 出于动态库的数据保存在内存中,因此动态库中的数据无法长期保存; 3 动态库中的仿真数掘具有时态性,即过了一段时问之后这些数据对于实时 应用就没有什么意义了; 如图2 - 2 所示d t s 中离线库和动态库与其他模块之间的关系。 2 4 小结 图2 - 2 离线库动态库的关系 首先本章根据d t s 中数据的分类及其数据库的使用特点,分析了传统关系型数 据痒主要从两个方面制约d t s 的发展,即i o 瓶颈和重复查询的存在严重的制约了 d t s 的发展。 其次,本章针对传统关系型数据库管理d t s 数据库所存在的问题,提出了使用 离线库和动态库相结合的方法来进行d t s 的数据管理。离线库采用大型商用数据库 o r a c l e 用来管理d t s 中的“静态”参数;动态库采用面向对象的方法构建主动型内 存数据库来管理d t s 中的“动态”数据。 最后,介绍了动态库与离线库相互联系,互为补充的关系。 华北电力人学硕十学f 论文 第三章离线库的建立形成及开发数据库的方法 离线数据库采用技术成熟的大型商用数据库o r a c l e 8 i 来管理数据。o r a c l e 8 i 具 有强大的信息管理功能,它可处理的数据容量大,系统功能全面,而且安全管理和 数据恢复机制较完善。在大中型企业的m i s 系统丌发中,要求数据处理量大、速度 高。o r a c l e 8 i 数据库正是以其具有的特点,适应了存储容量大、数据运算速度快的 要求,成为被众多企业,尤其是电力企业采用的关系数据库系统。 本章首先简要介绍了离线库中各数据表的构建,介绍了各个表的结构和功能并 分析了各个表之削的关系:接着介绍了丌发o r a c l e 8 i 数据库几种常用的方法,进行 了简要的比较,最后以交流输电线为列介绍了离线库中的数据输入方式,以及数据 从输入到提供给计算模块所经过的数据的整理过程,并介绍了各个环节所使用的开 发数据库的方法。 3 1 离线库的构建 离线库包括的信息有图形信息、网络拓扑信息、电网参数信息、培训任务表、 事件表等,但这些数据并不能直接用于计算,必须经过网络的拓扑分析与参数的归 算才能拿来计算,因此还需要存放归算后的计算数据。其中各类型数据的生成及其 之间的相互关系如下图3 一i 。 。_ 。1 。 图形模块绘图 ,。:i ! 。、一 图形信息库 j l 一 i 网络拓扑数据库 匿彤模块i 褪亿参数输入 电网参数培训任务参数库 :! l ! :一一 算参数库 - - - - - - - r 。- 。一 ! 一! 一 计弗模块 !,。一 动态瘁 图3 1d t s 中类数据的生成及其之阳j 的关系 离线库中包括的电网参数表、系统参数表、网络拓扑表。其中电网参数表又包 括:交流线路表、发电机表、两绕组麦匝器表、三绕组变压器表、母线表、丌关元 华北电力人学硕十学忙沦文 件表、电容器表、电抗器表、负荷表、厂站表。系统参数表包括:发电机模型参数 表、调速器参数表、调压器参数表等。 数据库建好以后关键的问题就是怎样把数据输入到数据库中去,计算的时候怎 样使用这些数据? 本文采取可视化的数据输入,并使得图形与数据对应,做到图形 数据库一体化,这样极大的提高了使用数据库的效率,便于人员进行操作。下面以 数据的输入到提供给计算这一过程简要介绍本文所采取的方法。图形模块在绘图过 程中,绘制一个图元( 电气元件) 时必须要输入陔元件的名称( 这时可以同时输入 该元件的参数或者不输入,但元件名称是必要的) ,同时在离线库中相应的数据表 中添加一条记录,记录的唯一标识就是该元件的名称,这样在绘图的同时图形元件 在离线库中的各个参数表中的参数就已经建立起柬了,并且能够很容易得做到对 应。在绘图完毕时统一进行图形拓扑分析,分析的结果保存到电网拓扑结构数据表 中。考虑到元件数量很大,如果都从图形中一一输入参数会比较麻烦,因此本文傲 了专门的可视化数据表用来输入修改大量参数:这时就基本上完成了数据的输入 但这些数据还不能用来计算。这时还菁要进行归算,本文在计算前统一进行归算, 在归算的同时首先进行数据完整性和逻辑性检查,然后给相应的元件进行编号,最 后为了方便计算程序使用,还要把元件的连接点编号从拓扑数据表中找出并和归算 出来的数据组成一条新的纪录存放在计算参数库中,这样计算模块就可以直接使用 计算参数表中的参数了。 3 2 开发0 r a c ie 8 i 应用程序的几种方法的比较 随着w i n d o w s 系列操作系统的广泛使用,采用v i s u a lc + + 语言来丌发客户端程 序的用户越来越多。在用于服务器端的数据库软件方面o r a c l e 以其支持大型数据库、 多用户的高性能事务处理,对业界各项工业标准的支持,对i n t e r n e t 三层结构的支 持,完整的安全和完整性控制,支持分布式数据库和分布处理,具有可移植性、可 兼容性和可连接性等突出优点倍受用户喜爱。目前,v c + + 和o r a c l e 数据库连接的 方法很多。因此,根据不同实际需要,采用何种方式来开发基于o r a c l e 数据库的 v c + + 应用程序,是系统设计的一项重要技术问题,从而保证系统玎发在时间周期、 系统性能诸方面达到设计要求。本节就v c - - - , 与o r a c l e 数据库连接的主要三种方式 ( o d b c 、a d o 、p r o * c c + + ) 阐述各自的技术特点,比较3 种方法的不同之处, 剖析各自的优缺点,并根据开发d t s 应用的具体要求,指出本文所使用的方法。对 于d a o ( 数掘访问对象) 、r d o 、o l b d b 、o c i 等其它方法,其技术特点和实现方注 基本包含在上述三种方法中,本节不再阐述 华北电力人学硕 = 学位论文 3 2 1 采用0 d b c 方式连接0 r a c le 数据库 3 ,2 1 1 o d b c 简介 o d b c 是o p e nd a t a b a s ec o n n e c t i v i t y 即丌放数据库互连的简称,它是由 m i c r o s o f t 公司于1 9 9 1 年提出的一个用于访问数据库的统一标准,是应用程序和数 据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱动程序 与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库 相关的操作,从而提供了数据库的独立性。 321 2o d b c 组成 图3 2o d b c 体系结构 由图3 2 可知,o d b c 主要由应嗣程序,驱动程序管理器,驱动程序和数据源 四个部分组成。 应用程序执行处理并调用o d b c 函数,以提交s q l 语句并检索结果;应用程 序可通过o d b ca p i 访问不同数掘源中的数据,每个不同的数据源类由一个o d b c 驱动程序支持。 驱动程序管理器主要根据前端客户的设置来确定目标数据的驱动程序,并加载 到w i n d o w s 中执行初始化,以便实施o d b c 函数调用,并为不同驱动程序的o d b c 函数提供单一的入口。 驱动程序处理o d b c 函数调用,提交s q l 请求到一个指定的数据源,其主要 任务是建立与数据源的链接、分发请求给数据源、翻译数据格式、返回结果给应用 程序、错误格式的处理等。 数据源包括用户要访问的数据及其相关的操作系统、d b m s 及用于访问d b m s 的网络平台。在o d b c 实际应用中,羲据源是一个重要的概念,它是用户想要存取 华北电力人学硕 :学位论文 的数据和它相关的操作系统、d b m s 及网络环境的总和。数据源不是数据库系统, 而是用于表达一种与驱动程序和d b m s 的特殊的连接。利用o d b c 实现的应用, 其实质是通过建立相应数据库数据源的方式进行。通过建立不同的数据源,o d b c 可以使同一个软件应用程序无差别地访问各种不同数据库,直接存取各种类型的数 据。 3 2 1 3 0 d b c 工作原理 o d b c 是基于动态链接库方式的:对于任何d b m s ,只要提供了浚d b m s 的驱 动程序,并符合o d b c 的接口规范,该数据库就可被o d b c 所访问和处理。在系统 运行时,o d b c 接口是通过配置文件中的数据源来了解所采用的驱动程序,因为每 个数据源包含了数掘源的名称、数据源的描述、数据库文件存放的路径、d b m s 的 类型和相应的驱动程序、数据库文件的后缀格式等内容。o d b c 首先通过一个环境 句柄,建立应用程序与o d b c 系统之矧的联系,然后通过连接句柄与数据源建立起 连接关系,最后通过语句旬柄,与操作建立起联系,由系统管理这些操作或s q l 语 句。取到语句旬柄后,就可以执行相应的s q l 语句: o d b c 使用层次的方法来管理数掘库,在数据库通信结构的每一层,对可能出 现依赖数据库产品自身特性的地方,o d b c 都引入一个公共接口以解决潜在的不一 致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是o d b c 一 经推出就获得巨大成功的重要原因之一。 由此可见,o d b c 在应用环境下为数据库应用提供对异种数据库资源的透明访 问能力。这意味着,用户可以把对各种完全不同的数据库访问,看作是对一种数据 库的访问,而不必关心数据库的类型、地址、结构以及其它数据库间的关系等细节; 对开发者来说,可以将数据库访问例程引入各种应用软件中,也无需了解数据库在 结构上以及网络连接上的细节等等。为此,在目前流行的数据库系统两大开发模式 c s ,b s 体系结构中o d b c 得到广泛的应用。 3 2 2 采用a d o 连接o r a c ie 数据库 a c t i v e x 数据对象( a c t i v e xd a t ao b i e c t sa d o ) 是o l ed b 与应用程序之间的 桥梁。o l ed b 提供了为优化各种应用程序而设计的编程接口,但是不能满足所有 简单编程接口的需要。a d o 是简化o l ed b 的应用程序编程接口( a p i ) 。 a d o 被设计为一种易于使用的应用级o l ed b 接口。o l ed b 提供对任何数据 源的高性能访问。数据源包括关系型和非关系型数据库、电子邮件和文件系统。a d o 通过在应用程序和数据源之间提供最少的层数以提供轻负荷、高性能的接口。a d o 访问数据库可以通过a d o 数据控件也可以通过a d o 对象模型,使用数据控件可视 华北屯力人学硕1 :学位论文 化效果好,使用方便但是不够灵活,使用a d o 对象模型较直接使用数掘控件复杂, 但功能更强大,更灵活。其最主要的优点是易于使用、速度快、内存支出少和磁盘 遗迹小。 3 2 3 采用p r o * c o + + 开发o r a c ie 数据库 p r o * c c + + 是o r a c l e 公司提供的在第三代高级程序设计语言中嵌入s q l 语句来 访问数据库的一套预编译程序,程序员用p r o + c c + 编写嵌入s q l 语句的p r o 源 程序后运行预编译程序,把嵌入的s q l 语句转换为标准的o r a c l e 调用并生成目标 源程序,即纯高级语言格式的源程序,然后就可以将这些源程序加入用户的程序中 调用。 ( 1 ) v i s u a lc + + 、p r o + c c + + 和o r a c l e 数掘库关系图见图3 3 。 含s q l 语言的p r o + c 程 序 o r a c l ep r e c o m p i l e r c p p 源程序添加到 v c + + 的p r o j e c t 中,促 在v c + ;中可以谓h j 访 问数据j 车的函数 编译 目标 i i n k 所有s q l 语句 被库调h j 代替 0 r a c l es q l l i b 图3 3v i s u a lc + 十、p r o * c 和o r a c l e 之问的关系 ( 2 ) o r a c l ep r o * c c + + 预编译程序提供如下功能: 1 ) 能用c ,v i s u a lc + + 程序设计语言编写应用程序。 2 ) 遵循a n s i 标准,在高级语言中嵌入s q l 语句。 3 ) 可采用动态s q l 方法,过程序在运行对接受或构造一个有效地s q l 语句。 4 ) 实现o r a c l e 内部数据类型和高级语言数据类型之间的自动转量。 5 ) 可通过在应用程序中嵌入p l s q l 事务处理块来改进性能。 6 ) 能全面检查嵌入的s q l 数据操纵语句和p l s q l 块的文法和语义。 7 ) 可用s q l * n e t 并行存取多个地点的o r a c l e 数据库。 8 ) 提供了较强的异常处理功能。 由此可见,通过p r o * c 预编译程序与v c 高级语言的结合,既可以利用s o l 强 有力的功能和灵活性,为数据库应用系统的开发提供强有力的手段,又可以充分利 用高级语言自身在系统开发方面的优势,从而提供一个完备的基于o r a c l e 数据库应 用程序的开发解决方案。在o r a c l e 数掘库中,使用c c + + 丌发应用程序另一种是使 用o c i ( o r a c l ec a l li n t e r f a c e ) 函数,当使用o c i 函数丁i :发应用程序时,丌发人员不仅 要掌握c c + + 、s q l 和p l s q l 外,还必须掌握o r a c l e 提供的大量o c i 函数,而使 用p r o * c c + + 丌发应用程序时,开发人员只要掌握c c - - + 语言并能够熟练应用s q l 语言就可以了。因此可以说p r o * c c = - 比o c i 更简单、更加易于应用开发。 3 2 4 以上各方法的特点 使用以上三种方法都可以在v i s u a lc 。+ 环境下镘方便地开发出o r a c l e 数掘库的 应用程序,但这几种方法又各有其优缺点。o d b c 由于有m f c 的类库支持而使得 编程实现非常方便,同时可移植性也很强,在异构的数据库之阳j 移植也只需更改很 少的一部分程序,但是,从o d b c 的实现机制我们可以看到应用程序需要经过 o d b c 驱动程序管理器和o d b c 驱动程序两层彳能和数据库通信接口建立联系,因 此建立在o d b c 上应用程序的执行效率会相对低一些。 a d o 通过在应用程序和数据源之帕j 提供最少的屡数以提供轻负荷、高性能的接 口。其最主要的优点是易于使用、速度较快、内存支出少和磁盘遗迹小。 p r o * c c + + 直接与通信接口联系,具有最高执行效率,支持嵌入式p l s q l 块 等o r a c l e 自身特有的优点,但正因为这些特点,使得用p r o * c c + + 开发出的应用程 序无法向异构数据库平台移植,而且丌发周期相对较长、丌发难度较大。

温馨提示

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

评论

0/150

提交评论