




已阅读5页,还剩57页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式主动实时数据库系统的主动机制.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 实时数据库是其事务和数据都可以具有定时限制的或显式的定时限制的数据库系统。 系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间。在实时数据库系 统中集成主动数据库的规则,使实时数据库具有主动特性,能够根据系统运行现场的情况 进行自动切换处理,是实时主动数据库系统研究的主要内容。 以自主研制开发的嵌入式实时主动数据库管理系统a r t s e d b 为对象,深入的研究与 探讨了支持嵌入式实时数据库的主动机制的设计与实现问题。首先介绍具有实时主动特性 的a r t s e d b 的体系结构,a r t s e d b 中主动机制的体系结构和主动机制的执行模型,及主 动机制的主要模块与a r t s e d b 中其它子系统的接口。其次在介绍主动机制的规则、实现方 法和执行模式等概念的基础上详细阐述了对于主动机制中不同类型的事件的探测方法,尤 其是时间事件和复合事件探测问题所进行的研究。根据按照类型建立索引的事件库,高效 完成了基本事件的探测与处理,时间事件的处理是主动实时数据库定时限制实现的关键, 重点给出了时间事件处理的方法,它也是时间条件评价的基础;详细讨论了复合事件的探 测与处理;也系统地描述了主动规则的静态分析的相关概念并提出了改进的主动规则静态 分析的算法。 重点讨论了触发器条件评价以及执行的问题。a r t s e d b 的触发器采用s 诅模型。根据 条件的描述,详细分析了条件评价的实现:为了提高系统的性能,利用数据库系统的嵌套 事务模型,分析设计了有效的触发器执行模型,该模型不仅支持触发器的顺序执行,也支 持触发器的并行执行:根据触发器的执行模型以及执行原则,实现了触发器的顺序执行和 并行执行。最后从系统整体出发,对主动机制的实现特征进行讨论,重点分析了主动机制 与数据操纵、并发控制、出错处理等子系统的联系。 关键词:实时数据库,主动数据库,触发器,规则分析 1 华中科技大学硕士学位论文 a b s t r a c t r e a l - t i m ed b m sc a ns u p p o r tp r o c e s s i n go ft r a n s a c t i o n sa n dd a t aw i t ht i m i n gc o n s t r a i n t s t h ec o r r e c l l l e s so ft h en m a i n gr e s u l t so fr d b m sn o to n l yd e p e n do nl o g i cr e s u l t s ,b u ta l s o d e p e n do nw h e nt h er e s u l t sa r ep r o d u c e d i ti s o n eo ft h em o s ti m p o r t a n tp r o b l e mw o r t hd o i n g s o m er e s e a r c ht h a ta c t i v er u l e sa r ei n t e g r a t e di n t or d b m s ,s or d b m s h a sa c t i v ec a p a b i l i t i e s w h i c hm e a n st h a ts y s t e mc a r ls w i t c ha u t o m a t i c a l l ya c c o r d i n gt os y s t e m sc u r r e n ts t a t e b a s e do na r t s e d bw h i c hi sa n _ a c t i v ea n dr e a l - t i m ed b m sa n dd e v e l o p e db yo u r r e s e a r c hc e n t e r ,r e s e a r c hi nt h i sp a p e ra r em a i n l ya b o u td e s i g na n di m p l e m e n t a t i o no fa c t i v e m e c h a n i s m s u p p o n n ga r t s - e d b f i r s t l y , t h i sp a p e rp r e s e n t s t h ea r c h i t e c t u r eo f a r t s e d b ,t h e e x e c u t i o nm o d e lo f a c t i v em e c h a n i s mi na r t s - e d ba n di n t e r f a c e sb e t w e e nt h em o d u l e s o f a c t i v e m e c h a n i s ma n do t h e rs u b s y s t e m so fa r t s e d b t h e ng i v i n gt h ec o n c e p t i o n so fa c t i v er u l e s , i m p l e m e n t a t i o n m e t h o d sa n de x e c u t i o ns c h e m a s ,t h i sp a p e rd e s c r i b e sd e t e c t i o n so f d i f f e r e n tt y p e s o f e v e n t si nd e t m l ,e s p e c i a l l ya b o u tt h ed e t e c t i o n so f t i r n ee v e n t sa n dc o m p l e xe v e n t s t i m ee v e n t s a r ea k e yp a r t t or e a l i z et h e t i m i n gc o n s t r a i n t s a n de v a l u a t i o no f 曲m ec o n d i t i o n so f a r t s e d ba n d t h i sp a p e ro f f e r sa na l g o r i t h mf o ri t t h i sp a p e ra l s od i s c u s s e st h es t a t i ca n a l y s i so f a c t i v er u l e s t h e nt h i sp a p e r p u t se m p h a s i s o nt h ee v a l u a t i o no f c o n d i t i o no f t r i g g e r sa n dt h ee x e c u t i o no f t r i g g e r a r t s - e d bt a k e st h es - a m o d e la si t st r i g g e rm o d e l a f t e rd e s c r i p t i o no fc o n d i t i o n s ,i t s e v a l u a t i o ni sa n a l y z e d t oi m p r o v et h ep e r f o r m a n c eo f t h es y s t e m ,a c c o r d i n gt on e s t e dt r a n s a c t i o n m o d e l ,t h i sp a p e ro f f e r sa c o n c u r r e n tm o d e lt os u p p o r tt h et r i g g e r s e x e c u t i o nb ya n a l y z m gn e s t e d t r a n s a c t i o u s d e s c r i p t i o na n dc o r r e c t n e s s a c c o r d i n g t ot r i g g e r s e x e c u t i o nm o d ea n d p r i n c i p l e ,i t s s e q u e n t i a l l y a n d c o n c u r r e n t l yr t m n i n g h a v eb e e nr e a l i z e d i nt h el a s tp a r t , f r o ma s y s t e m a t i cp o i n to f v i e w , t h ei m p l e m e n t a t i o no f a c t i v em e c h a n i s m i s a n a l y z e da n d t h er e l a t i o nb e t w e e na c t i v em e c h a n i s ma n dd a t am a n i p u l a t i o n , c o n c u r r e n c yc o n t r o l , e r r o r h a n d l i n g a r ed e s c r i b e d k e y w o r d s :r e a l t i m ed a t a b a s e ,a c t i v ed a t a b a s e ,t r i g g e r ,a c t i v er u l e s i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均己在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:却为旁 日期:2 争年歹月。日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文a 保密口,在年解密后适用本授权书。 本论文属于 不保密口。 ( 请在以上方框内打“4 ”) 学位论文作者签名:纠匀为 日期:2 扩午年厂月厂日 f 指导教师签名:础 日期: 参臼年厂月,日 华中科技大学硕士学位论文 1绪论 1 1 现代数据库的发展 数据库系统研究领域的发展可以追溯到上世纪六十年代的商用语言和文件系统。七十 年代以e e c o d d 提出的关系数据模型为标志,建立起了关系数据库。它已在商务和事务 型的应用领域中取得了极大的发展和广泛的应用。进入到八十年代以后,随着应用的深入 和应用领域的不断扩大,对数据库又提出了新的更高的要求。为此人们开始探索数据库的 新的研究方向,如分布式数据库、多媒体数据库、数据库与人工智能的结合演绎数据 库和知识库及面向对象的数据库系统等。它们被成功的应用于管理信息系统0 v a s ) 、决策支 持系- 统( d s 砷、计算机辅助设计于制造( c a d ,c a m ) 、计算机辅助工程( c 。姗等。但在实时 应用方面,传统数据库技术却遇到了强有力的挑战,传统数据库的局限性使其在军事指挥、 航空及航天控制系统、雷达信号和跟踪识别、交通控制系统以及电力系统控制等方面的应 用受到了诸多限制。传统的数据库系统不适应实时应用要求的主要原因是它不考虑数据及 与数据处理相联系的定时限制;传统数据库系统中维护数据的一致性、完整性与安全性的 对象是持久数据,而实时系统中有效的数据并非都是持久的;实时事务的模型和调度策略 也是侧重最大限度的提高事务吞吐率和减少响应时间,而不关心各个事务的特定的时间约 束。为了解决这些问题,八十年代后期人们提出了实时数据库系统的概念“。“,开辟了数 据库研究的新领域。传统的数据库管理系统也无法满足一些 传统的应用如网络管理,空 中交通管制,c i m 以及工程设计等的需求。这些非传统的的应用要求在没有用户或应用程 序的干预下,系统能够自动的监视数据库状态的改变,并依据状态的改变执行相应的活动。 主动数据库提供的机制可以解决这些问题”1 。 本课题组的研究项目是在继承华中科技大学数据库与信息系统科研组最早开展的主 动实时数据库系统a r t d b m s 的研究成果的基础上,根据新的应用需求结合了实时、主 动、内存数据库的各项特征而进行的研究课题。a r t s - e d b 不同于传统的数据库,它是嵌 入式的实时主动数据库,具有实时数据库的特性:有完备的事务模型,传统的平坦原子事 务模型已不适应实时环境的要求,需要复杂的事务模型如循环事务模型( 1 0 0 p 华中科技大学硕士学位论文 t r a n s a c t i o n s ) ,嵌套事务模型_ ( n e s t e dt r a n s a c t i o n s ) 等的支持;系统具有及时l 生,对于实 时应用而言及时i 生某种程度上比正确性更有意义,并非所有的数据都是持久的,许多数据 是短暂的,只在指定时限内有效;事务具有合作性,事务之间存在着相关性,要求合作: 系统要求一致陛,包括内部致陛和外部一致性。a r t s - e d b 除具有e 述的实时数据库特 性外,还融入了主动数据库( a c t i v ed a t a b a s e ) 的一些特点。主动数据库与传统的数据库系统 的区别在于传统的数据库是被动的,仅当用户或应用程序显示请求时才执行相应的动作, 因此可以说传统的数据库是用户或程序驱动的。而主动数据库是数据驱动的,它不仅能够 向用户提供数据库中当前有效的数据,还能够根据用户或应用程序预先设置的条件或数据 库内部状态,主动提供信息给用户或应用程序。本文的研究内容即为主动数据库。 a r t s - e d b 中主动机制的设计为了符合系统的整体要求,与一般的主动数据库有所不同, 因而实现方法也不同。为主动数据库的研究提供了新的方向与方法。 1 2 主动数据库的研究现状 关于主动数据库( a c t i v ed a t a b a s e ) 的研究,始自2 0 世纪8 0 年代中期,特别进入9 0 年代后,越来越受到人们的普遍关注,已经成为现代数据库研究的重要领域和热点。主动 数据库的研究是伴随着新的应用出现而进行的。传统的数据库管理系统无法满足一些非传 统的应用如网络管理,空中交通管制,c i m 以及工程设计等的需求。这些非传统的的应用 要求在没有用户或应用程序的干预下,系统能够自动的监视数据库状态的改变,并依据状 态的改变执行相应的活动。主动数据库提供的机制可以解决这些问题p 1 。主动数据库的研 究在国内外已经进行多年,积累了一定的理论深度与较多的实践成果。m s t o n e b r a k e 提出 使用产生式规n - 作为完整隘腔制、存取控制、视图处理以及支持结构向前 和向后链接的推理的统一机制峥j 。u d a y ,a r b u c h m a n n 等在h i p a c 系统中提出了e _ a 规贝0 模型目前,e c - a 规则模型已成为主动数据库各种原型系统所通用的模型。使用 e c a 规则的各种系统原型研究并解决了有关不同类型事件、烈牛以及触发事务与被触发 活动问关系的说明、识别与处理问题。典型代表有h i p a c 、s t a r b u r s t l 8 1 、p o s t g r e s q l g l 乖i i i n t e r b a s e 等。 主动数据库的主要研究内容就是存储执行规则,使用最为普遍的规则模型是e c _ a 华中科技大学硕士学位论文 ( e v e n t ,c o n d i t i o n a c t i o n ) 模型。其含义是:当系统所要监视的事件发生后,要求的条件也 已满足,就执行所定义的活动州。 e c a 规则的三个组成部分可以有几种不同的组合方式: ( 1 ) e c a ,只说明c o n d i t i o n 和a c t i o n ,e v e n t 是暗含的 ( 孙e - c a ,只说明e v e n t 和a c t i o n ; f 3 、e c a ,e v e n t ,c o n d i t i o n , a c t i o n 三个部分独立说明 在s y b a s e 和i n e t b a s e 中,规则是由e v e n t 和a c 怕n ( 格式( 2 ) ) 组成的,a c t o n 部分是个 单独的事务,c o n d i t i o n 包含在a c t i o n 中。p o s t g r e s q l ,h i p a c 和s t a r t b u r s t 采用的是第三种 格式,e v e n t ,c o n d i t i o n ,a c t i o n 三个部分独立存在。o p s 5 使用的是第种格式。 把传统的数据库管理系统扩充为主动数据库系统u j ,需要扩充数据操纵语言s q l 为 支持主动数据库的语言,主动数据库语言要支持规则的定义,规则的增加、删除和修改, 规则的抑制和触发以及规则的优化。规则的定义包括事件的描述,条件和活动的描述。事 件的描述除了支持数据库操作如i n s e r t ,d e l e t e ,l l p d 砒e ,还要支持时间事件和外部事件的描 述。较为复杂的条件和活动,要求可以使用o l d ,i l e w 以分别对应数据库操作执行之前昀状 态和数据库操作执行之后的状态。一些主动数据库系统采用面向对象数据模型,用对象统 一描述数据和规则。例如,h i p a c 系统中的规则就是一个实体类,每一条规则是该类中的 一个对象实例。o d e ,a d a m ,s a m o s ,o s a m 以及s e n t i n e l 已经转向在面向对象主 动数据库的上下文环境中支持主动功能。许多商用系统( 例如i n g r e s ,i n f o r m i x , o r a c l e ) 也支持主动功能。 主动数据库中的规则可以是事件驱动的,基于应用的需求,系统中的事件可以分为 对象事件( 如i n s e r t ,d e l e t e ,u p d a t e 等) 事务事件( 如事务的b e g i n ,c o m m i t ,a b o r t ) - 时间事件( 如相对、绝对、周期时间事件) 外部事件( 如i o 中断,实时信号等) 。 基本上目前的主动数据库均支持对象事件。h i p a c 和e t m 提出了外部事件的概念, 并在e t m 中实现。h i p a c 还提出了绝对时间事件和相对时间事件。另外还有复合事件是 对以上四种事件进行复合运算的结果。复合事件的操作符有:a n d ,o r ,s u c , n o t , a n y 等。 华中科技大学硕士学位论文 p o s t g r e s q l 和s t a r t b u r s t 只支持o r ,而h i p a c 支持三种复合事件操作符:a n d ,o r , s u c 。 与复合事件相对应,上述的事件:x d - g a 事件、事务事件和外部事件称为基本事件。事件的 探测是主动数据库中重要的组成部分。基本的事件如对象事件、事务事件和外部事件的探 测比较容易实现。时间事件和外部事件的探测是主动数据库中较为复杂的一个部分,对于 复合事件的探测,已经采用的方法有:基于p e t r in e t s 探测:使用e v e n t g r a p h 探测:使用 t m a e g r a p h 探测;使用f s m ,有限状态自动机探测。由于时间事件中,事件发生的时间参 照点可能与基本事件有关,所以有的系统中把时间事件的探测和复合事件的探测使用同样 的探测方法;但是也可以对时间事件的探测采用不同的方案实现。 规则中的条件c o n d i t i o n 可以是数据库s q l 中的“检索条件”的一个子集,也可以是 包括外部条件如时间、日期等。时间条件与系统中支持的时间事件相似。条件的评价可以 使用到系统的查询处理部分。对于时间g - f 牛的评价则要由系统的主动功能部分来实现。执 行的活动a c t i o n 既可以是进行数据库操作的s q l 语句,也可以是独立于数据库系统之外的 其它应用。e - c a 规则可以在事务执行的不同点被触发,触发后的规则的条件评价若为真 规则中定义的活动又可以在不同的时刻执行,因此,e c - a 规则中,e c 之间与c - a 之间 可以有不同的耦合方式。e - c 有立即a m m e d i 砒c ) ,t 垂j g a ( d e f e r r e d ) 和分离( d e t a c h e d ) 三种耦合 模式。在立即模式中,事件发生后,触发事务被挂起,立即执行条件评价部分;在延迟模 式中,事件发生后并不会立即执行条件评价,而是在触发事务提交之前执行,这种模式所 考虑的是一个事务执行后数据库的最终状态是否发生改变:分离模式是把被触发规则的条 件的评价作为一个分离的事务来执行,这样可以提高系统中事务运行的响应时间。c _ a 也 有立即、延迟和单独三种耦合模式,也称为执行模式。立即模式中,评价结果为真,活动 将立即被执行,由于活动是在触发事务内部执行完毕的,活动如果是对数据库进行操作的 s q l 语句,那么活动被看作是触发事务的纷胜扩展;延迟模式的活动要在触发事务提交之 前才会被执行,它也被看作是触发事务的线形扩展:分离模式则是用一个分离的事务执行 活动。分离模式的条件与活动由分离的事务执行,这些分离的事务也称为被触发事务是由 触发事务产生的,是触发事务的子事务,它们和触发事务之间存在着一定的联系,因此分 离模式又可分为四种:d e t a c h e dc o u p l i n g 触发事务和被触发事务之间没有依赖关系:d e t a c h e d c a u s a l l yd e p e n d e n tc o u p l i n g 触发事务提交之后被触发事务才能提交;s e q u e n t i a lc a u s a l l y 4 华中科技大学硕士学位论文 d e p e n d e n tc o u p l i n g 被触发事务提交之后触发事务才能继续执行;e x c l u s i v ec a u s a l l yd e p e n d e n t c o u p l i n g 触发事务失败被触发事务才能提交。由上所述,传统的平坦的事务模型无法支持 规则中分离耦合模式的执行,需要使用嵌套的事务模型。s t a r t b a t s t 支持延迟模式,s t a r t b u r s t 中的规则是在事务提交之前执行的,它考虑的是数据操纵的逻辑结果而非每一次数据操纵 的物理结果,s t a r b u r s t 不支持分离模式;e t m ,p o s t g r e s q l ,s y b a s e 和i n t e r b a s e 只支持立 即执行模式,其中p o s t g r e s q l 是在查询处理的过程中,执行规则的全部处理过程。 除上述规则本身的特点和执行方式,规则相互之间也联系紧密。规则之间存在着三种 关系:触发( t r i g g e r i n g ) 、激活0 删v 嘶o n ) 和惰化( d e a c t i v a t i o n ) 。规则之间的相互触发、激活, 可能导致规则无限的执行下去。这种规则执行时可能出现的无法预计的情况,使得应用程 序中对规则的使用变得异常困难。为此,需要提供一些规则的分析方法,以使规则的可终 止胜( t e m a i n a t i o n ) 得至f j j 保证,从而,使用规则的主动数据库也能够更加有效的运行。 规则的分析,可以在规则尚未执行时静态的进行,也可以在规则执行过程中动态的进 行。动态进行的规则分析会延长数据库的响应时间,增加数据库系统的运行开销,因此, 本文主要考虑规则的静态分析。对于规则的静态可终止性分析已经有过一些研究,取得了 不少进展。主动数据库s t a r b u r s t 主要分析规则的触发关系;c h i m e r a 考虑了规则的触发、 激活两种关系,但是只考虑了规则惰化自身,而没有考虑规则相互之间的惰化关系对可终 止性的影响;w i d o m 和b a r a j i s t l l l 提出了适用于种特殊规则集合( c a ,c o n d i t i o n a c t i o n r u l e s ) 的可终止性的分析方法,而c a 规则只是e c a 规则集合的一个子集。本文则提出了一种静 态分析方法,此种方法可以分析e c a 规则之间三种关系的相互作用对规则执行的影响。 文献 1 3 中提出了经典的规则缩减算法,并对规则缩减算法的结果进行了分析,但是,并 没有考虑规则之间的惰化关系,而由于隋化关系的存在,一些规则缩减算法认为将会导致 规则执行时不确定的规贝u 集合,在实际执行过程中是可以终止的。文献 1 2 中提出了规则 分析方法r e g ( r e f m e d e v o l u t i o n g r a p h ) ,这种方法考虑了规则间的触发、激活和隋化三种关 系对可终止 生的影响,但是此种方法需要对每一个有可能造成规则集合执行不可终止的规 则进行处理,过程相当繁杂。 华中科技大学硕士学位论文 13 主动数据库对实时数据库的支持 实时应用要求数据库系统必须具有三个重要特性( 功能) : ( 1 1 确保数据库的状态与被控系统的实际状态一致( 外部一致胜) “: ( 2 ) 能按被控系统所决定的时间限制及时有效地处理数据; f 3 ) 能对一定的条件进行监视和自动做出反应。 这就意味着支持实时应用的数据库必须具备以下特点:数据是二维的:包括值与时 间。正确而及时的数据对实时应用的用户才是有效的。数据具有双重性:被动和主动。 同时具有被动与主动双重能力的数据库对实时应用才是有效的。简言之,支持实时应用的 数据库必须提供:正确性、及时性和主动性,即它应集成实时、主动数据库的功能特性, 必须提供主动机制“”以监视预定的关于正确性、及时性的限制,一旦限制满足,自动做出 反应。上述特性涉及若于用户对一个共享信息库的存取,并且必须使被存取的信息库保持 一致性状态。 一个主动数据库管理系统就是扩展了下列功能的d b m s : ( 1 ) 用户可以显式地定义想要监视的情形( 事件与条件) ; ( 2 ) 系统自动探测定义的评价条件的出现; ( 3 ) 一旦说明的条件出现,则自动执行相应的活动。 这些功能既可支持外部应用,也可用于实现或扩展d b m s 本身的功能,如完整性及 安全性控制、导出数据、基于规则的推理、以及报警、性能测试等。 主动数据库的功能和特性使得其特别适合于实时应用环境。在实时应用环境中存在着 各种关于数据库状态、状态变迁、定时限制等,并要求系统能评价这些限制的满足且在限 定条件满足时能各自触发某一活动,而这些都不要用户( 应用程序) 的干预。所以,实时 数据库和主动数据库的有机结合”1 可以有效地支持实时应用,因为主动数据库提供了存储 控制知识的机制,这种控制知识可以说明当特定条件出现时( 事件发生且剩牛满足) 时所 必须采取的行动。这种风范正适合于实现通常用来控制现实世界过程的实时数据库系统。 华中科技大学硕士学位论文 ;= = = = = = = = = = = = = = ;= = = = = = = = = = = = = = 一= 1 4 主动机制的主要研究内容 a r t s - e d b 是一种嵌入式实时主动数据库系统。其主动机制部分的研究内容包括: ( 1 ) 主动实时描述语言e s q l ,已有的s q l 语言,不能满足实时主动数据库的要求州, a r t s e d b 的主动实时描述语言e s q l 是对s q l 的扩充,它可以定义n 1 4 :,条件,和活动。 事件包括对象事件,事务事件,时间事件,外部事件和复合事件。条件有检索条件,时间 条件和复杂条件。活动除了一般的数据库操作之外,也可以是一般的应用操作。 ( 2 ) 事件的探测,a r t s - e d b 中定义了五类事件:对象事件,事务事件,时间事件,外 部事件和复合事件。a r t s - e d b 中,把e - c a 规则中的e ,c 看作是一个整体成为情形, 既选择立即耦合模式,不考虑e ,c 的匹配,事件一旦发生,立& 口执行条件评价。根据系 统运行的时间与空间效率的要求,建立两个审事件库( e b ) 和触发器( 国) 库来存放 e c a 规则。事件的探测与定义的事件相对应,有对象事件、事务事件、时间事件、外部 事件和复合事件的探测。对象时间的探测、事务事件的探测和外部事件的探测只需检查事 件定义时所提供的参数就可以判定,而时间事件和复合事件的探测则比较复杂。 f 3 ) 规则的静态分析,文献 1 3 1 中提出了经典的规则缩减算法,但是,并没有考虑规则 之间的惰化关系,而由于惰化关系的存在,一些规则缩减算法认为将会导致规则执行时不 确定的规则集合,在实际执行过程中是可以终止的;文献 1 2 1 中提出了规则分析方法r e g , 但是此种方法需要对每一个有可能造成规则集合执行不可终止的规则进行处理,过程相当 繁杂。针对上述两种方法的不足,本文提出了种称为r - r e g ( r e f i n e d r e g ) 的方法。 ( 4 ) 条件评价,条件评价的时机选择问题决定了条件评价是作为触发事务的一个扩展 的部分被执行还是作为触发事务的子事务执行;系统中一个事件的发生,可能触发多个规 则执行,也就需要对多个条件进行评价,条件评价的执行需要受到控制“o j 。上面两个问题 是条件评价部分研究的重点。 ( 5 ) 活动的执行控制,大多数的主动数据库系统或原型对规则中的活动的要求都限于 数据库操作。而有些应用需求要求事件发生后,条件满足的情况下执行的活动是数据库之 外的操作,如要求整个系统终止运行或是调用数据库系e 9 2 _ 夕b 的应用程序等。 华中科技大学硕士学位论文 2 a r t s e d b 系统分析 a r t s e d b 是我们在l i n u x 环境下研究开发的一个基于客户朋务器模式的实时主动 内存数据库管理系统。a r t s - e d b 支持事务的定时限制,支持触发器机制,同时以内存数 据库为底层支持,具有高效的数据存储和存取功能。本章主要介绍a r t s - e d b 的整体结构, 主动机制子系统在a r t s e d b 中的作用及主动机制与其他子系统之间的关系。 2 1 a r t s e d b 的体系结构 a r t s - e d b 的体系结构如图2 1 所示。 a r t s - e d b 主要由以下几大模块构成: ( 1 ) 数据定义( d a t a d e f i n i t i o n ) 与数据说明( d a t a s p e c i f i c a t i o n ) 数据定义模块的功能如 扩展的s q l 语言( e s q l ) 、及嵌入主语言c 的d m l 的处理; 数据字典d d 的建立与维护; 事件的定义及事件库( e b ) 的维护;触发器库( t r _ b ) 的维护 事务( 包括事务间结构关系) 的定义及事务表维护; 应用程序的定义及应用链接库的管理。 ( 2 ) 事务处理( t r a n s a c t i o nm a n a g e r ) 模块的主要功能如下: 各种事务操作原语:b e g 矾、c o 脚、a b o r t 、e n d ; 主动实时事务优先级的合理分派; 事务执行的有效调度及并发控制。 ( 3 ) 主动机嵩4 部分( a c t i v em e c h a n i s m ) 的主要功能如下: 事件( 特别是复合事件) 的探测; 条件( 特别是复合条件) 的评价: 规则的静态分析: 通知事务处理模块调度被触发活动或直接调度被触发的活动。 华中科技大学硕士学位论文 ( 4 ) 内存管理( m d bm a n a g e r ) 模块功能如下: 内存与缓冲区的管理; 有效的数据存取路径;合理的数据装入算法; 适当的内外存数据交换策略; 恢复处理,包括备份、检验点、日志等。 ( 5 ) 数据操纵( d a t a - m a n i p u l a t i o n ) 部分跟传统数据库类似,实现对数据库的插入、删 除、修改等操作;查询优化。 图2 _ 1a r t s - e d b 系统结构图 9 华中科技大学硕士学位论文 2 2a r t s e d b 中主动机制的结构 a r t s e d b 中主动机制的体系结构如图2 - 2 所示。 a r t s e d b 中与主动机制的主要组成部分有t rm o n i t o r ,d e t e c t o r s ,e v a l u a l o r s 以及 分别用于存储事件和触发器的事件库e b 与触发器库t b 。 f 1 ) t rm o n i t o r 是主动机制的一个重要组成部分。它不仅负责管理主动机制的执行, 而且是联系主动机制各部分之间相互联系的桥梁。它接收从事务管理部分和数据库系统外部 发送来的与事件相关的消息,送到事件探测器进行事件探测,探测的结果为真时;发送信号 给评价器进行条件评价;条件评级结果不为空,则让s c h e d u l e 模块调度运行相应的活动。 图2 - 2 主动机制结构图 ( 2 ) d e t e c t o r s 负责事件的探测。d e t e c t r o s 分为非时间事件探测器呻蜓嘶ed e t e c t o r s ) 1 0 华中科技大学硕士学位论文 和时间事件探测器( t i m ed e t e c t o r ) 。非时间事件探测器包括对象事件、事务事件、外部事件 和复合事件探n u 器r ( c o m p l e xd e t e c t o r ) 。较为复杂的是时间事件和复合事件探测器。时间事 件的探测需要用到操作系统的定时功能。复合事件的探测在a r t s - e d b 中使用的是有限状 态自动机f s m 1 7 , 1 8 , 1 9 。在下一个部分将详细介绍复合事件的探测过程。 ( 3 ) e v a l u a t o r 分为时间条件评价器和检索条件评价器。检索条件评价器( o b j e c t c o n d f i o n ) 对应的检索条件可以使用数据库系统中查询处理的功能。时间条件( 髓n cc o n d i t o n ) 的评价由主动机制来处理。 t i m i n g p r o c e s s 是辅助时间事件探测的: f 5 ) e b ,t r - b 即事件库和触发器库分别存放事件和触发器。事件库按事件类型组织; 由于事件和触发器是一对多的关系,触发器库的也按触发器所对应的事件类型来组织。 2 3 主动机制的接口 2 31 主动机制与数据定义和数据说明的接口 传统的s o l 语言不支持主动实时应用,它不支持时间数据类型,不能描述事务的定 时限制以及复杂事务的结构,也不能描述主动机制的e c a 规则等主动实时特性。因此, 在研制主动实时数据库管理系统a r t s e d b 的过程中,必须对标准s q c 进行相应扩充。 e s q l 是对s q l 的扩展,它有四个定义与操作规则的命令:c r e a t ee v e n t ,d r o p e v e n t ,c r f a t et r i g g e r ,d r o p t r i g g e r 。e s q l 要求显式地定义事件、条件与 活动。详细介绍见第三章。 2 3 2 主动机制与数据操纵子系统的接口 ( 1 ) 数据操纵操作( i n s e r t 、u p d a t e 、d e l e t e ) 结束时,向主动机制的触发器监 控起发送消息,从而启动时间事件探测器或复合事件探测器进行事件的探测与处理。 ( 2 ) 触发器被启动后进行条件评价时,对象条件的评价直接调用数据操纵子系统的查 询处理部分的条件评价器进行条件评价。 华中科技大学硕士学位论文 2 4 主动机制的执行模型 a r t s e d b 的执行模型如图2 3 所示。 系统运行过程中,主动机制有四个活动的线程:触发器监控器,时间事件探测器,定 时器和条件评价器。 主动机制部分的数据流、控制流如下: ( 1 ) 用户事务执行时调用各种事务原语或存取数据对象,这种事务原语的执行或数据 对象的存取是系统行为的瞬时发生,在预编译阶段进行初步的处理后系统运行的过程中由 事务管理和数据操纵部分发消息给触发器监控器。 ( 2 ) 触发器监控器根据接收到的事件消息,判断事件是否是其它事件的部件事件,触 发相应的事件探测;然后依据与事件本身相联的触发器( 可能有多个) ,激活触发器,并 挂起触发事务而请求为其创建一评价事务进行条件评价; ( 3 ) 若条件评价为真,则按被触发活动的执行方式( 独立的另一事务、子事务或部件 等) 调度被触发的活动执行; ( 4 ) 解除被触发事务,撤销触发器监控器的评价事务,系统继续正常运行。 图2 - 3 主动机制执行模型图 华中科技大学硕士学位论文 2 5 小结 a r t s e d b 是我们在l i n u x 环境下研究开发的一个基于客户朋日务器模式的实时主动 内存数据库管理系统。a r t s e d b 支持事务的定时限制,支持触发器机制,同时以内存数 据库为底层支持,具有高效的数据存储和存取功能。本章介绍了a r t s e d b 的体系结构和 a r t s e d b 中主动机制的体系结构。a r t s - e d b 中的主动机制的特点在于主动机制在整个 的系统中是作为个独立的模块,与数据说明、事务管理和数据操纵等模块通过接口相互 作用。这种独立 生1 吏得主动机制的实现更为灵活。本章为后续各章做好了铺垫。 华中科技大学硕士学位论文 3 规则中的事件 事件是主动数据库中各种活动的源泉。是规则即触发器的重要组成部分。本章主要介 绍事件的定义,探测。以及定义规则时,作为规则重要部分的事件相互之间的关系对系统 造成的影响和解决的方法。 3 1 事件的定义、操作与存储 3 1 1 事件的概念 主动机制的关键之一是通过对事件的探测和处理来激发d b m s 对数据库系统状态的 监控,因此,可以说事件是主动机制的源泉。事件既可以作为触发器的部件,也可以与定 时限制相连。事件就是一种系统行为的瞬时发生【2 0 】。这有两方面的含义:( 1 ) 事件是系统行 为的标志,行为可以是数据库操作、事务管理操作、时间行为或系统与外部环境的通信。 ( 2 ) 事件可以由一个时间参照点来指明。 在主动实时数据库中,事件对象可以描述为: := 按照事件的分类,事件分为对象事件、事务事件、时间事件、外部事件和复合事件。 :对象事件 i i i l 复合事件, 事件只有预先定义以后,系统才能对其做出处理( 包括探澳8 和发信号) 。关于事件的 信息都存放在事件库中,并且由事件与触发器管理程序来维护。 312 事件的类型 系统中存在各种各样的事件,所以需要解决两个问题,( 1 ) 事件的标识唯一性问题,即 任一事件在系统范围内是唯一可标识的:( 2 ) 事件的分类问题,合理的划分事件类型可方便 对其管理,同时提高系统的效率。 一个事件也是一个对象,它有类型与特征,也就是参数。参数可以分为两类:“联系” 4 华中科技大学硕士学位论文 和“类型”参数。一个事件型的联系参数指明与此事件相联系的实体,如对象事件所在的 发生事务的d 、与事件相联的触发器的d 等。“类型”参数与事件本身相联,入对象事 件的对象的d 、事务事件的事务的d 。 a r t s - e d b 中事件的形式说明为: e v e n t ( p a r d l t l i ,p a r a m 2 ,p a r a m ) ; 其中e v e n t 为保留字。任何事件都必须显式地说明到系统,系统才会自动地探测与 发信号,否则系统将不予考虑。所有的说明信息,包括事件标识符e i d 、事件类型标识符 e - b i d 和各参数p a r a m ,都存储在由数据说明模块维护的事件库中。a t r se d b 中的事件 分为以下几类: ( 1 ) 1 对象事件 对象事件描述对数据库中对象的各种操作。对象事件有四种对应于操作型( 数据的插 入、删除、修改) 。因为查询操作s e l e c t 不涉及数据库状态的改变,所以不包括其中。 对象事件的时间参照点是系统行为的结束。这类事件描述数据库状态的变化或变迁。例如, o b i ( r ) 是对关系r 进行插入操作的对象事件。 ( 2 ) 事务事件 事务事件描述事务管理操作。事务事件包括事务的b e g i n 、e n d 、c o m m i t 、a b o r t 。 所以这类事件有四种事件型,其参照点为各管理原语执行的结束点。例如,t rc ( t ) 标志事 务t 提交的事务事件。e n d 为构成一个事务的所有数据库操作的结束,指定它作为一种事 件是因为在e n d 和c o m m i t 之间可能有一些事情要做,例如,执行推迟的被触发活动。 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公代理租赁合同(标准版)
- 3.3 波的反射、折射和衍射 教学设计-2023-2024学年高二上学期物理人教版(2019)选择性必修第一册
- 金融企业劳动合同书示范文3篇
- 新生儿科护理工作制度、岗位职责考试题【附答案】
- 汽车修理工(技师)执业资格证考试题(含答案)
- 高级汽车修理工考试题及答案
- (2025)护理核心制度考试试题及答案
- 通信网络管理员中级考试试题与答案
- 2025年临时用电安全管理培训考核试题(附答案)
- 母婴护理考试题含参考答案
- 2025年交通安全知识测试题含答案详解
- 露天矿山项目资金预算与成本控制
- 2025年注册安全工程师考试(初级)安全生产法律法规试题及答案
- (正式版)DB15∕T 2590.1-2022 《毛茛科草种质资源描述和数据采集规范 第1部分:金莲花》
- 人教版(2024)八年级上册数学13.2.2 三角形的中线、角平分线、高 教案
- 电机电路安全知识培训课件
- 13.2.1三角形的边 教案 人教版数学八年级上册
- 2025年征兵考试题目及答案
- 2025年药店继续教育培训试题(附答案)
- 电焊工安全教育培训试题及答案
- 特种设备安全监察员考试试题及答案
评论
0/150
提交评论