




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)监控组态软件中实时数据库接口的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 实时数据库是指对数据存储、传输、读取有严格的时间限制的数据库,它应 用于对数据库和实时处理两者的功能和特性均有要求的场合。在实时数据库系统 中,数据和事务都有显式的时间限制,系统的正确性不仅依赖于事务的逻辑结果, 而且依赖于该逻辑结果所产生的时间 近年来随着电力企业对信息化需求的提高,实时数据库管理系统己经成为电 力企业自动化系统中必不可缺少的重要部分。实时数据作为企业的重要数据资源 为企业决策提供支持,并对提高企业管理水平和生产效率、保证发电安全稳定运 行、增强企业的竞争能力以及提高企业的综合效益具有重要意义。 监控组态系统是用于工业自动化和过程监视和控制的应用软件,它为自动化 项目提供人机接口或数据采集控制系统。通过监控组态软件的使用,可以使操作 员工能够方便、直观地获取现场的实时数据,达到实时监视的目的,从而能够及 时了解现场的运行状况,能够快速的查找到现场的设备故障,提高生产劳动生产 率。目前,组态软件已在电力企业中广泛使用。 实时数据库系统的设计是组态软件设计的关键部分,也是设计的难点部分。 本文详细分析了数据库系统的总体需求和组态软件的系统结构,并利用面向对象 技术提出了用于电力企业实时数据库系统的数据模型、接口实现方法以及内部实 现过程,对其体系结构、系统特色等方面进行了探讨。 实时数据库系统包括实时数据库和实时数据库任务调度系统。实时数据库保 存系统运行时产生的动态数据和系统正常运行所需的各种内部信息。实时数据库 任务调度系统用来协调对数据库的读写操作,以保证实时数据库中数据的实时有 效性,从而保证自动化系统可靠的运行。实时数据库系统的高性能要求是以内存 数据库做为底层支持的,我们根据项目的需要,通过封装嵌入式数据库b e f k e l e y d b 来作为内存数据库,并提出了用于实时数据库任务的调度算法。 本文所依托的课题项目已经通过用户验收,所设计的实时数据库系统完全能 够满足客户的需要。 关键词;实时数据库组态软件任务调度内存数据库历史数据库 a b s t r a c r a b s t r a c t t h er t d b 假e a l i l ed a 切b a s e ) i sa 比do fd a t a b a s es y s t 锄w h i c hh a ds 伍c t c o n s 仃a i n t so nd e l a yo f m ed a t as t o r a g e ,衄s 1 i 曲= i n 舀a n dr e a d i n 吕r 1 d bi s 谢d c l yu s e d i nt l l ef i e l d sw h c r et l l e r ea r eu r g e n td 锄a n d so nt h ef h n d i o 璐o f d a 组b a s es y s t e ma n dt h e p r o p 积i e so fr e a l - t i m e 舰n s a c t i o n a n dt l l 盯e a r ee x p l i c i tl i i n i t a t i o i l s0 nd a t aa i l d t r a n s a c t i o 皿血t h e r e a l - t i m e d b s ( d a t a b a s e s ) 嚼锄) f u r m e m r e ,t h e v “m 哆o f d b s i sb a 5 田i l o t0 1 1 l yo nt 王l el o 西cr c s l l l to f t r a n s a c t i o n s b u ta l s oo ni t st i n l e , r e c e l l n mb e c a u s eo f 吐l el l i g hr e q u i r 锄e n t so nt h ei n f o 脚a t i o nt c c h n o l o g yo fm e e l e c t r i cp o w e re n t e r p r ! 王s e s ,r h ) b sh 鹤b e c o m eo n eo fm em o s ti i n p o r t a n tp a n so ft h e p o w e re n t 唧r i s ea u t o m a n o ns y s t 咖,b e i n gt h em o s tj i n p o r t a n td a t ar e s a u r c e ,r e a l t i m e d a t an o to m yp r o v i d e 也e 饥t e f p d s e sd e c i s i o ns l l p p o n s ,b u ta l s oo nn l a n yo t h a s p e c t s , s u c ha sm a l l a g 锄e n tc n h a i l c e m 印t s ,p r o d u c t i o ne 仿c i e i l c y ,s e c l l r i 哆肌ds t a b i l i z a t i o no n e l e c 缸c i t yg e n e r a l i n 岛c o i n p e t i d o na b i l i 戗a 1 1 dt l l ei n t e g r a l i o nb e n e f i t s t h ec o 硝g u r a t i o ns y s t e i no fm o n i t o 血gi sa p p l i c a t i o ns o f h v a r ew h i c hi su s e di n t 1 1 ea u t o m a t i ci n d u s n ya n dp r o c c s sm o l l i t o ra n dc o n h d l np r o v i d e sa u t o m a t i cp r o j e c t w i t ht h em a n _ m a d l i n e 缸t e m c eo rs c a d a ( s u p m 哇s o r yc o n 拓o ia “d a 组a c q u 主s i t i o n ) s y s t e i t l s o p e r a t o r sc a no b t a i n t 1 1 er e a l 劬ed a t ai nt 1 1 e 丘e i dc o n v e i l i 印t l ya 1 1 di n t l l i 石v e l y a n dm ea i l no fm o n i t o ra t _ 【l l er e a lt i l n eb yu s i n gl h ec o n 丘g i l r a 廿0 ns o n w a r eo f m o l l i t o 血g c o n s e q u 训弘w ec a n 虹o w t h eo p e r a t i n gs t a t e s 缅b e l ya n d 丘1 1 dt 1 1 ed “i c e s 仃d u b l eq u i c l ( 1 yi nt l l ef i e l d t h e r c b mm ep r o d u c t i v 时丽1 lb ep r l 珊o t e d n o w ,t l l e c o n 丘g u r a t i o ns o f h r a r ei sp o p u i a ri n 也ed e c t r i cp o w e r 锄t e r p 蠢s e s , t 钿ed e s i 鄹面go ft h er e a l 一t i m ed a t a b 黔ei s 伽ek c ya n dm em o s td j 衢c i l l 够p a r ti n m cc o n f i 舯c i o ns o 脚a r e t h ep a p e ra n a l y s e st h er e q 砸e l n e n to fr t d b 趾dm e c o m p o s m o no ft l l ec o n 矗g u r a t i o ns o f 啊a r e am e m o do fr e a i i z i l l g d a t am o d d 砒n i n t e r f a c el l s i n go b j e 办o r i e n t e dt e c l l n o l o g yi s 百咖t h es y s t e ms 劬矾鹏,d i s 硒b u t i o n m e c h a n j s ma i l ds o m es y s t e m sf e 栅si si n 仃o d u c e da l s o 弧e f c a l t i m ed a 缸b a s es v s t e mc o n t a i n st h ef e a l 一t i m ed 锄a b a s ea n dt r a n s a c t i o n s c h e d u l j n gs y s t e m 。t h er e a l t i n l ed a t a b a s es ) ,s t e ms a v c st h ed y n 锄i cd a t ap r o 捌i i l t h e 眦o fs y s t e m 觚dt 1 1 es e 、嘲mo fi n t e r i o ri n f o r m a t i o nn e e d c df o rt h en o r m a lr u n 幽! ! ! ! ! t 胁s a c c i o n8 c h e d u l i i l gs y s t e mi sa 圩ms c h e d u l ec e n t e r ,a i l dt h ea i mo f 仃a n s a c t i o n s c h e d u l i n gi st oe n s u r er e a l 币m ec r c d i b i l i 哆o fd a t ai nt 1 1 er e a l t i m ed a t a b a s ea i l dt l l e r e l i a b i l i t yo fm f o rc o n t r o ls y s t e i n n ec r i t i c a lt e c l l l l i co fr e a l t i m ed b si sh o wt o b u i l da n dm a i n t a i nt h ed a t 如a s es y s t e mi nr a m a c c o r d i n gt 0t h e 嘲u i 嫩n e n to fi t e m , w eu s et l l ee n c a p s u l a t i o no f b c r k e l e yd ba sm er a m d b ,姐dp r o v i d et h ed i s p a t c l 她 a r i t l l m e t i co f t l l ei h d bt a s k t h ei t e mw 1 1 i c ht l l et h e s i sb 船e do nh a sb e e nc h e c k e da n da c c 印t e d ,m er t d b s s a t i s f i e sa l lt l l er e q u i r e m e n t so fd i e n t s k e y w o r d s :r e a l - t i m ed a t a b a s e ,c o n f i 舛m t i o ns o 研a r e ,t r a n s a c t i o nd i 印a t c h ,m e m o 哆 d a t a b a s e ,h i s t o r i c a ld a t a b 勰e 图表索; 图表索弓 图3 1 监控组态软件结构图 图3 2 实时数据库系统体系结构图 图4 1c d b t 曲类的类图 。2 7 图4 2c b d b 类的类图4 8 图4 3 从数据库链表o 。 图4 - 4 游标链表 ,5 2 图5 1 实时任务调度模型5 5 图5 2w r i t e 算法流程图 图5 3r e a d 算法流程图 图5 4s p o o l e r 算法流程图 图6 - l 组态软件运行截图 图6 2 实时数据库组态界面 表3 1s q ls e r 、,e r 数据库测试结果l 。 表3 - 2s q ls e r 弧数据库测试结果2 表4 1b d b 数据库性能测试1 5 8 2 5 2 5 3 8 表4 2b d b 数据库性能测试2 ,3 9 表4 3 数据库表的结构 3 9 表4 - 4s o b 日志表4 0 表4 5 报警日志表 表4 6 实时1 0 点元数据表 表4 7 模拟i o 点历史库表 表4 8 开关1 0 点历史库表。 表4 9 事故追忆日志表 表4 一l o 事故追忆组信息表 表4 - 1 1 数据库表的基本操作函数 表4 i 2 记录的基本操作函数 。4 0 。4 0 4 0 。4 1 4 1 4 1 4 4 表4 1 3 数据库查询函数:4 5 表4 1 4 逻辑运算函数 v 图表索b 表4 1 5 错误信息代码表4 7 表4 1 6 从数据库链表操作函数5 2 表4 1 7 游标链表操作函数5 3 表4 1 8 字段操作函数5 3 表4 1 9 辅助函数表5 4 表5 1 设置线程优先级参数6 8 表6 1 添加记录测试l 7 0 表6 2 添加记录测试2 。7 1 表6 3 查找读取记录测试。 7 l 表6 4 建立数据库索引测试7 2 表6 5 打开数据库索引测试7 2 i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 日期:砌年厂月沙日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘厂允许论文被查阅私借阕。本人授权电子科技大学可以将学垃论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名;导师签名: 日期;砷年罗月万日 第一章绪论 1 1 监控组态软件简介 第一章绪论 1 1 1 组态软件的产生及其发展 组态的概念最早来自英文c o n 丘g u r a t i o n ,含义是使用软件工具对计算机及软件 的各种资源进行配置,便计算机或软件按照预先设置,达到自动执行特定任务、 满足使用者要求的目的【l 】。 组态软件是完成数据采集与过程控制的专用软件,它以计算机为基本工具, 为实施数据采集、过程监控、生产控制提供了基础平台和开发环境。组态软件功 能强大,使用方便,其预先设置的各种软件模块可以非常容易地实现监控层的各 项功能,并可向控制层和管理层提供软、硬件的全部接口,使用组态软件可以方 便、快速地进行系统集成,构造不同需求的数据采集与监控系统。 组态软件产品大约8 0 年代中期在国外出现,在中国也已有将近2 0 年的历史。 早在8 0 年代未9 0 年代初,有些国外的组态软件就开始进入中国市场,但是组态 软件在中国经历一段相当困难的时期。一开始,人们对此产品处于不认识、不了 解阶段,项目中没有组态软件预算,或宁愿投入人力物力针对具体项目做长周期 的繁冗的上位机编程开发,而不采用组态软件。当时让用户接受和采纳组态软件, 需要做大量的工作。另一方面,由于早期进口的组态软件价格都偏高,一般的中 国用户在观念和承受能力上还较难接受,客观上制约了这个市场的发展。 大约1 9 9 5 年底至1 9 9 6 年,随着中国改革开放的深入,人们对软件的观念有 了重大改观;早些年组态软件的应用推广工作已打下一定的基础,业内人士已经 认识到组态软件的重要性并接受它而不再热衷于在项目中搞低层次的编程开发; 一些组态软件的生产商和供货商亦逐步加大了在中国市场的推广力度,并在价格 方面做出了政策性调整;加之微软3 2 位诵n d o w s 9 5 和n t 的推出,为组态软件提 供了一个更适宜的操作系统平台,使各生产供应商同随后跟进的3 2 位组态软件产 品的性能指标和功能进一步加强。所有这些因素的综合,给组态软件在中国的市 场带来了新的生机。从那时起,更多的项目中正式有了组态软件的专项预算,各 种相关设计方案和招投标书中也都出现了单列的组态软件栏目,越来越多的专业 电子科技大学硕士学位论文 销售商和系统集成商加入了这个市场。现在组态软件已在中国市场确立了其应有 的地位,并逐步进入了上升期。 1 1 2 组态软件的功能特点 组态软件最早出现时,h m i ( h u m a l lm a c h i n ei n t e m c e ) 是其主要内涵,其主要 是解决人机图形界面的问题。随着它的快速发展,实时数据库、实时控制、通信 及联网、开放数据库接口、对设备的支持等已成为它的主要内容。 组态软件主要的组成内容:图形界面系统,实时数据库系统,第三方程序接 口组件,控制功能的组件。组态软件的主要特点: ( 1 ) 实时多任务。组态软件最突出的特点就是实时多任务。例如:数据采集与 输出,数据处理与算法实现,图形显示及人机对话,实时数据的存储,检索管理, 实时通信等多个任务在同一台计算机上同时运行。 ( 2 ) 高可靠性。高可靠性是工业自动化软件的一项重要性能指标。组态软件利 用冗余技术构成双机乃至多机备用系统,从而获得很高的可靠性技术指标。 ( 3 ) 延续性和可扩充性。用通用组态软件开发的应用程序,当现场( 包括硬件设 备或系统结构) 或用户需求发生改变时,不需作很多修改而方便地完成软件的更新 和升级。 。 ( 4 ) 封装性( 易学易用) 。通用组态软件所能完成的功能都用一种方便用户使用 的方法包装起来,对于用户,不需要掌握太多的编程语言技术( 甚至不需要编程技 术) ,就能很好地完成一个复杂工程所要求的所有功能。 ( 5 ) 通用性。每个用户根据工程实际情况,利用通用组态软件提供的底层设备 ( 智能仪表、智能模块等) 的i o 驱动、开放式的数据库和画面制作工具,就能完 成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和 网络功能的工程,在某一领域内使用不受限制。 1 2 实时数据库研发的必要性 自数据库特别是七十年代关系数据库( r d b ) 诞生以来,它已在商务和事务 型的应用领域中取得了极大的发展和广泛的应用。以关系型为代表的三大经典类 型数据库( 层次、网状、关系) 在传统的应用领域( 商务和管理的事务型) 获得 了极大成功,然而它们在现代的非传统工程和时间关键型应用面前却显得软弱无 力,面临着新的严峻挑战【2 1 。 2 第一章绪论 数据库的应用正逐渐从传统领域走向新的领域扩展。这些应用领域有着与传 统应用不同的特征:一方面,要维护大量共享数据和控制数据;另一方面,其应 用活动( 任务或事务) 有很强的时间性,要求在规定的时刻或在一定的时间内完 成其处理;同时,所处理的数据也往往是“短暂”的,即有一定的有效时间,过时则 有新的数据产生,而当前的决策或推导变成无效。所以,这种应用对数据库和实 时处理两者的功能及特性均有需求,既需要数据库来支持大量数据的共享,维护 其数据的一致性,又需要实时处理来支持其任务( 事务) 与数据的定时限制。但 是,传统的数据库系统旨在处理永久、稳定的数据,强调维护数据的完整性、一 致性,其性能目标是高的系统吞吐量和低的代价,而根本不考虑有关数据及其处 理的定时限制,所以,传统的数据库管理系统( d b m s ) 不能满足这种实时应用的 需要。 虽然传统的实时系统( r t s ) 支持任务的定时限制,但它针对的是结构与关系 简单、稳定不变和可预报的数据,不涉及维护大量共享数据及它们的完整性和一 致性,尤其是时间一致性。因此,只有将两者的概念、技术、方法与机制无缝集 成”( s e a m l e s s i n t e 伊a t i o n ) 的实时数据库( r t d b ) 才能同时支持定时和一致性。 现代工业的飞速发展,尤其是计算机在工业过程控制中的广泛应用,极大地 提高了生产过程的自动化程度。随着自动化管理系统的日趋庞大和复杂,功能不 断完善,加之计算机网络技术和分布式结构的应用,使待处理的数据信息成为海 量,对数据信息的可靠性、一致性、和共享性提出了更高的要求。高效、高质量、 无差错地处理这些数据成为建立一个高效完善的火力发电厂监控系统的关键,必 须以数据库管理系统作为支持。数据库管理系统在发电厂自动化系统中具有数据 录入、增删、维护等重要功能,所以数据库管理系统在发电厂综合自动化系统中 具有相当重要的作用和地位,是衡量系统性能的重要组成部分,是整个自动化系 统的信息管理中枢。虽然现在一般商用数据库功能已经非常强大,适用于许多领 域。但在电力自动化系统中需要对发电机组的运行进行监视、控制和管理,不仅 需要维护大量的共享数据和控制知识;而且这些应用活动的完成又具有严格的时 限,要求在某时刻或某有限时间内把从d p u 采集来的遥测、遥信和电量数据按彼 此间的关联存取和处理,这些数据的有效时间是短暂的,过时则失效。因此发电 厂自动化系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间 p 】。传统数据库技术在此面前却显得软弱无力,面临着新的严峻挑战。目前,电力 系统实时监控系统中,是否引入数据库技术,配备实时数据库系统,已成为衡量 产品是否先进的重要指标之一。 电子科技大学硕士学位论文 用于电厂的监控组态软件,其根本上是通过人机交互,在系统中配置需要监 控的对象,当监控软件处于运行状态时,能够通过界面系统实时的反映各个被监 控对象得状态。而在软件中需要配置的现场对象复杂多样,与对象的数据交互方 式也千差万别,而且数量巨大,这就需要在监控组态软件中有一个实时数据库作 为整个系统数据处理、数据组织和管理的核心。从目前市场上流行的各种组态软 件来看,很多组态软件从严格意义上讲,没有显式的独立的实时数据库,只在图 形开发环境中增加了简单的数据管理功能,更确切的说是数据字典的功能,因缺 少实时数据库的一些基本特征,还不能称之为实时数据库,很难保证实时性。有 一些较先进的组态软件均具备独立的实时数据库组件,用以提高系统的实时性, 增强处理能力,但是由于商业上的原因,实时数据库作为组态软件的核心技术, 是保密的,没有公开【o 】 5 】。 因此,开发研制适合自己的监控组态软件和实时数据库意义重大。 1 3 国内外实时数据库的研究现状 实时数据库系统的研究自2 0 世纪8 0 年代后期开始越来越受到重视,这是因 为在工业控制等场合,由于数据的实时限制和高流量使得传统关系数据库难以得 到好的效果。在传统的数据库系统中,其设计与开发主要强调维护数据的正确性、 保持系统代价低、提供友好用户接口。关系数据库的工作集中于查询与事务处理 及数据的正确性及一致性。这种数据库系统对传统的商务( b u s i n e s s ) 和事务型应用 是有效的,也是成功的,但它不适合实时应用。最关键的是因为它不考虑与数据 及其处理相联系的定时限制( t i m i i l 争c o l l s 劬矗l t ) ,系统的性能目标是以吞吐量和平 均响应时间而不是各个事务的限制来表示的,故系统作调度决策时根本不受各种 实时限制。为此需要提出一种具有高实时性、大数据容量和访问量的新的数据库 理论。 1 9 8 8 年发表的a c ms i g m o dr c c o r d 实时数据库系统专刊揭示了实时数据库 研究领域的诞生,到了9 0 年代中期爱尔兰的r h o d e 大学以及美国麻省理工学院开 始重点研究实时s q l 语言。1 9 9 2 年美国贝尔电话实验室的d k b a r c l a y 等人研制 了第一个专用实时数据库管理系鲥“。随后十多年来,各国的学者就有关实时数据 库系统的设计和实现技术、崩溃恢复、并发控制、事务调度等方面作了一些研究。 在国内,华中理工大学现代数据库与信息系统科研组提出了r ) b s 与a d b s 的结 合机制并开发出一个原型系统a r t s i ,把主动机制加入实时数据库,即嵌入e c a 4 第一章绪论 规则,事件一条件一动作( e 啪c o n d i t i o n - a c t i o n ) 规则,但并未做出比较实际的, 完善的系统【。”。而被国外理论界认为严格满足实时要求的实时数据库产品有1 9 9 4 年d b x 公司发布的z i p r 1 b m s 和1 9 9 5 年m 硼i n m a r i e t t a 公司发布的e a 酉e s p e e d r ) b m s 。而近年来,随着实时数据库理论的日益成熟和完善,各种商业实时数 据库产品层出不穷。 目前市场上流行的实时数据库产品,主要有p i 系统( 适用于流程工业:国外) 、 h l f 0 2 p 1 u s 2 1 ( 主要在石油化工方面:国外) ,力控系统( 主要用于控制领域:国内) 、 s 1 1 p e r h l f 0 ( 主要用于电力调度、石油、化工等领域:国内) 等等。这些产品仅仅局 限于某一领域的应用,尚未建立统一的通用型商业平台,以国内流行的力控系统 与s o p e r m f 系统为例,不难看出实时数据库在不同应用领域中的一些技术差异。 力控系统主要应用于实时控制应用方面,采用客户,服务器的体系结构,在客 户端通过网络服务程序访问服务器端的过程数据,在服务器端提供所有必要的数 据管理和维护功能。 s 1 1 p e r h l f o 系统主要应用于实时数据的管理,主要功能是系统进程管理,数据 储存和、数据服务。该系统中各个功能模块进程都是一个独立的应用程序,共同 实现实时数据库系统的管理、控制与操纵;其主要任务是事件处理和存储管理。 p i 实时数据库系统( p l 姐t h 墒i i l l a t i o n s y s t e m ) 是基于c s 结构开发的商品化软 件应用平台,是工厂底层控制网络与上层管理信息系统连接的桥梁,p i 在工厂信 息集成中扮演着特殊和重要的角色。p i 实时数据库系统适用于电力、石油、化工、 冶金、造纸、制药、水处理、食品饮料、通讯等各种生产流程企业的生产过程优 化。p i 是全世界装机量最多的实时数据库系统,已成为o s i 公司的标志产品。 在数据存储方面,力控系统的点参数相当于关系数据库中的字段( f i e l d ) ,一个 点参数对应一个客观世界中的可被测量或控制的对象。点存放在实时数据库的点 名称字典中。实时数据库根据点名称字典决定数据库的结构分配数据库的存储空 间;s u p e r h f o 系统中的每一种表对应于一个物理文件,文件的文件头是该表的字 段信息,字段信息之后是表中的记录。而p i 系统采用了旋转门压缩专利技术和独 到的二次过滤技术,使进入到p i 数据库的数据经过了最有效的压缩,极大地节省 了硬盘空间。 目前,电力系统的实时监控系统中,是否引入数据库技术,配备实时数据库 系统,已成为衡量产品是否先进的重要指标之一【8 l 。实时数据库技术是现代数据库 研究领域的一个热点问题,越来越多的人在关注和研究实时数据库技术。 电子科技大学硕士学位论文 1 4 课题来源 本课题作为计算机学院与四川省东方电气集团合作项目 设计的一部分,用来实现组态软件里所需要的实时数据库系统。此软件是专门 针对火力发电厂开发的监控组态软件,是发电厂综合自动化系统的重要组成部分, 用来对发电机组的运行进行监视,控制和管理。 1 5 课题所研究的主要内容 本课题所实现的目标是通过内存数据库数据管理模块和实时任务调度系统的 有力结合,形成高性能的实时数据库。在数据库中,对数据的管理如添加记录、 查找等都放入了内存中,提高了操作执行的速度。并且,通过数据库提供的对外 函数接口来调用实时数据库,省略了s q l 语句等数据库执行语句的解析时问,提 高了执行的效率。在外部,通过高效的实时任务调度算法,可以做到有效的协调 对于实时数据库的读写操作。 主要的工作有: 查找实时数据库相关的理论,分析实时数据库理论模型。 分析s q ls e r 、,e r 等关系数据库不能作为组态软件实时数据库的原因, 并给出实验数据。 在对实时数据库理论分析的基础上,提出了用于组态软件的实时数据库系 统,给出了实时数据库系统的数据模型和运行模型,并给出了实时数据库 系统的整个设计架构。 分析嵌入式内存数据库b e r k e y l e y d b 的数据管理模块及内部运行机制,在 此基础上,根据项目的需求通过封装b d b 相关的a p i 函数,给出了实时 数据库系统对外的统一函数接口。 进行了数据库实时任务调度的相关研究,提出了实时任务调度算法,并给 出了算法关键部分的实现代码。 1 6 本章小节 本章对于课题的研究背景和研究内容作了说明,下面几章将会分开来阐述和 讨论。 6 第二章实时数据库理论分析 2 1 引言 第二章实时数据库理论分析 今天,传统数据库技术已发展成为一种较成熟的技术,其应用几乎遍及各个 领域,但对于与时间密切相关的实时应用,传统的数据库技术似乎有些无能为力, 因而产生了实时数据库( r ) b ) 技术。 实时数据库就是其数据和事务都有显式定时限制的数据库,系统的正确性不 仅依赖于事务的逻辑结果,而且依赖于该逻辑结果所产生的时问。近年来,对实 时数据库技术的研究已成为现代数据库研究的主要方向之一,受到了数据库界和 实时系统界的极大关注。实时数据库并不是数据库技术和实时系统两者的简单结 合,而需要对一系列的概念、理论、技术、方法和机制进行研究开发。本章阐述 了实时数据库的特征、主要技术、数据模型及其发展【9 1 。 2 2 实时数据库系统及其特征 数据库理论与技术的发展极其迅速,其应用日益广泛,在当今信息社会中, 它几乎无所不在。以关系型为代表的三大经典类型数据库( 层次、网状,关系) 在传 统的应用领域( 商务和管理的事务型) 获得了极大成功,然而它们在现代的非传统 工程和时间关键型应用面前却显得软弱无力,面临着新的严峻挑战,由此导致了 实时数据库( r e a l - t i m ed a t a b a s er n ) b ) 的产生和发展。 2 2 1 实时数据库的发展 数据库的应用正从传统领域向新的领域扩展,如电力调度、数据通信、电话 交换等网络管理。这些应用有着与传统应用不同的特征:一方面,要维护大量共 享数据和控制数据;另一方面,其应用活动( 任务或事务) 有很强的时间性,要求 在规定的时刻或在一定的时间内完成其处理;同时,所处理的数据也往往是“短 暂”的,即有一定的有效时间,过时则有新的数据产生,而当前的决策或推导变 成无效。所以,这种应用对数据库和实时处理两者的功能及特性均有需求,既需 要数据库来支持大量数据的共享,维护其数据的一致性,又需要实时处理来支持 7 电子科技大学硕士学位论文 其任务( 事务) 与数据的定时限制。 但是,传统的数据库系统旨在处理永久、稳定的数据,强调维护数据的完整 性、一致性,其性能目标是高的系统吞吐量和低的代价,而根本不考虑有关数据 及其处理的定时限制,所以,传统的数据库管理系统( d b m s ) 不能满足这种实时应 用的需要【l 们。而传统的实时系统( r t s ) 虽然支持任务的定时限制,但它针对的是结 构与关系简单、稳定不变和可预报的数据,不涉及维护大量共享数据及它们的完 整性和一致性,尤其是时间一致性。因此,只有将两者的概念、技术、方法与机 制“无缝集成” ( s e a m l e s s i n t e 孕a t i o n ) 的实时数据库( r t d b ) 才能同时支持定时和 一致性。 2 2 2 实时数据库与时间 实时数据库系统在两方面与时间相关: 1 ) 数据与时间相关 按照与之相关的时闻的性质不同又可分为两类: 数据本身就是时间。即从“时间域”中取值,如“日期”,称为“用户定义的 时间”,也就是用户自己知道,而系统并不知道它是时间,系统将毫无区别地把它 像其他数据一样处理。 数据的值随时间而变化。数据库中的数据是对其所服务的“现实世界”中对 象状态的描述,对象状态发生变化刚引起数据库中相应数据值的变化,因而与数 据值变化相联的时间可以是现实对象状态的实际时间,称为“真实”或“事件” 时间( 现实对象状态变化的事件发生时间) ,也可以是将现实对象变化的状态记录 到数据库,即数据库中相应数据值变化的时间,称为“事务时间”( 任何对数据库 的操作都必须通过一个事务进行) 。实时数据库的导出数据也是实时数据,与之相 联的时间自然是事务时间。 2 ) 实时事务有定时限制 典型的就是其“截止时间”。对于r 1 d b ,其结果产生的时间与结果本身一样 重要,一般只允许事务存取“当前有效”的数据,事务必须维护数据库中数据的 “时间一致性”。另外,外部环境( 现实世界) 的反应时间要求也给事务施以定时限 制。所以r t d b 系统要提供维护有效性和事务及时性的方法。 2 2 。3 实时数据库的特征 第二章实时数据库理论分析 如上所述,r ) b 的特征主要表现在数据和事务的定时限制上: l 】r 1 1 ) b 的数据特征 在i h d b 中,数据随外部环境状态的变化而快速变化,其值只在一定的时间 内是“流行”的,过时则无效了,故系统除了维护数据库内部状态( 数据值) 的正确 性、相容性外,还必须同时维护内部状态与外部环境实际状态的一致性,以及数 据用来决策或推导新数据时在时间上的相互一致性。r 1 b 中的一个数据对象d 由三个分量组成( d v ,d t p ,d e v i ) ,它们分别为d 的当前值、采样时间、外部有效期( 外 部现实对象状态变化的时间间隔) ,有效期即自d t p 算起d v 有效的时间长度。对于 r t d b 中的每一d ,有内部一致性、外部一致性和相互一致性特型n 1 。 内部一致:d v 满足预先定义的数据库内部状态的完整性和一致性限制,这就 是传统意义下的数据正确性。 外部一致性:设t c 为当前或检测时间,当且仅当( 皓d t p ) d e v i ,则说d 是外部 一致的,即d v 和对应的外部现实对象的状态是一样的。 相互一致性:用来决策或导出新数据的一组相关数据称为一个相互一致集, 记为r ,其中的数据必须尽可能地在一个允许的公共时间期内被采取( 或导出) ,这 个公共时间期就称为r 的相互有效期,记为r m v i ,对于。r 中的任两个数据d 和 d f ,有d t p d 实时运行系统 实时运行系统实现了发电厂在线监视界面,数据采集和存储,操作控制等功 能,由多个模块组成。 网络通信模块 在实际运行环境中,整个系统是个分布式网络系统,此模块的主要功能是进 2 l 电子科技大学硕士学位论文 行网络通信和数据传输,在本系统中,每秒要从网络上接收8 万字节的数据交给 实时数据库,并把操作人员的控制命令下载给现场控制器。 实时数据库系统 实时数据库平台功能是整个监控系统的核心功能,主要是通过接口向上层信 息管理系统提供各种实时数据服务( 实时数据库) ,从而实现实时数据的共享性【3 0 】。 这些实时数据包括原子实时数据( 即采集点的实时数据) 和经过加工处理的实时数 据。实时数据库保存从现场测控单元采集实时数据,其数据每秒钟被刷新一次, 在实时数据库中可以保存模拟量、开关量等类型的点,实时数据库支持用户对实 时数据的编辑、查询,并提供实时数据库的访问接口,数据库索引,以及实时数 据本身的各种属性。在监控组态系统中,有些数据是需要以时间作为横坐标进行 历史存储的,为系统的将来决策提供历史依据。但是,实时数据库一般为内存数 据库,其分配的内存空间有限,只能保留最新的一段时间的实时数据,所以其他 的数据将会定期的转储到磁盘上,写入磁盘文件( 历史数据库) 中进行保存。但是历 史数据的转储需要消耗磁盘i 0 ,而磁盘i o 又是系统速度的瓶颈,大规模,频繁 的磁盘调度不仅减慢系统的运行,而且也降低磁盘的使用寿命。为了不丢失历史 数据,又减轻磁盘的l 重负,可以利用内存数据库的缓冲技术,缓冲区满,才将 数据转储到磁盘上,缓冲区的大小,可以根据系统可用内存和历史数据的采样周 期而定。 数据库管理系统保证对数据库访问的实时性,灵活性和数据库数据的一致性; 能够快速访问长驻内存数据和硬盘数据,在并发状态下满足实时功能要求。允许 不同程序对数据库内的同一数据集进行并发访问,保证在并发方式下数据库的完 整性和一致性。在线生成、修改数据库,对任一数据库的数据进行修改时,数据 库管理系统对所有工作站上的相关数据进行修改? 保证数据和命名的一致性。对 每一实时数据库中的数据,都可以随时查询和使用,并形成数据表、趋势曲线及 进行统计分析【3 1 1 。 。 s o e 日志模块 s e q u e n c eo fe v e n t s 即事件顺序记录,主要用来监视发电机组的运行状态,记 录每种输入状态( 包括模拟量、开关量等) 变化的顺序和精确时间以便于事后分 析。经常对记录资料进行分析,可以发现设备潜在的隐患和操作上存在的问题, 超前预防系统故障的发生。 报警日志模块 对于设置成报警点的i o 点的数据进行监控,看其数值是否超过了报警值的上 第三章实时数据库应用设计 限,并触发相应的事件处理,如触发报警窗口控件显示、产生报警记录、输出相 应控制等。报警事件有级别高低之分,级别高的报警事件先执行。 实时元数据表模块 对实时数据库中的点信息进行配置,描述数据库中各种数据点的特征,属性, 起到数据字典的功能。数据字典决定了实时数据的保存要求以及实时数据的各种 处理要求。 报表模块 报表的基本构成部分是采用e x c d 设计,而数据来源于报表数据库。所有的报 表与记录由统一的报表管理器管理,实现定时存储,传送,打印,记录等功能。 事故追忆模块 发生事故时,可以对故障前后一段时间进行追忆打印,为故障原因分析提供 准确依据,也便于尽快排除故障,缩短停机时间。 实时趋势曲线 实时趋势模块从实时数据库中直接采集数据,并形成趋势画面,此画面提供 了用实时曲线的方式分析过程数据的工具。管理人员不仅可以了解当前的过程信 息,而且可以了解由其它功能软件计算出的过程分析的信息趋势。 历史趋势曲线 历史趋势模块从历史数据库中采集数据,形成历史趋势曲线,以方便对历史 数据进行查阅、控制和管理。 3 4s q ls e r v e r 等关系数据库不能用作实时数据库的原因 s q ls e r 、,e r 等关系数据库在存储和管理永久性、非短暂数据方面虽然有着 广泛的应用,但是它并不适合管理实时数据。s q ls e r 、_ ,e r 等关系数据库不能用 作工业实时数据库的主要原因是由数据库系统本身的构成和工控软件的特点造成 的,有以下几个方面: 1 关系数据库一般为磁盘数据库,数据主要存储在慢速的外部存储设备中, 执行时间不可预测。当进行数据库的读写时,涉及到磁盘i o 与内外存的交换,特 别是象我们这样频繁的对数据库进行大数据量的读写,磁盘1 0 调度就会变的非常 频繁,效率就会降低,其实时性相对较差。 2 关系数据库屏蔽了底层系统,呈现给用户的是它的高层接口。比如用户使 用的操作语言是s q l 语句,而s q l 语句要经过编译、优化等步骤,转化为底层 电子科技大学硕士学位论文 语言,然后再执行,这样在效率上就低很多。而我们设计的实时数据库系统就直 接调用相关的a p i 函数,不需要对s q l 等数据库语句进行解析,大大提高了运行 效率。再者,关系数据库系统还要维护事务,因表与表之间的数据相互依赖,执 行效率再打折扣。 3 s q ls e r v e r 等关系数据库分为客户端和服务器端两部分,客户端与服务 器端通信要消耗时间。客户端程序负责商业逻辑和向用户提供数据,服务器端程 序负责对数据库的数据进行操作和管理。客户端与服务器端一般运行在不同的机 器上,有专门的机器做服务器。当要进行数据库的相关操作时,就需要与服务器 端进行通信,如果服务器端与客户端在不同的机器上,则需要进行网络通信,数 据量大的话,就会消耗相当的时间。就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剧组实习合同范例
- 净化设备及类似设备企业ESG实践与创新战略研究报告
- 自行车轮辋企业ESG实践与创新战略研究报告
- 离心真空干燥机企业数字化转型与智慧升级战略研究报告
- 冷却塔企业数字化转型与智慧升级战略研究报告
- 个体商店劳务合同样本
- 临时搬运合同样本
- 包工包料安装锅炉合同样本
- 借款分期合同标准文本
- 买卖旧木材合同标准文本
- 毕业论文-学生成绩管理信息系统
- 2024-2030年中国3D IC和2.5D IC封装行业市场发展趋势与前景展望战略分析报告
- 重大事故隐患判定标准课件
- Python编程案例教程全套教学课件
- 手阳明大肠经(经络腧穴课件)
- IATF16949-COP-内部审核检查表+填写记录
- 2024新《公司法》亮点全面解读课件
- 中国工商银行数据中心2023年校园招聘60名人才笔试上岸历年典型考题与考点剖析附带答案详解
- 中华护理学会成人肠内营养支持护理团标解读
- 2020-2021学年天津市河西区八年级(下)期中语文试卷(附答案详解)
- 特种设备检验申请单
评论
0/150
提交评论