(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf_第1页
(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf_第2页
(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf_第3页
(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf_第4页
(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(模式识别与智能系统专业论文)主动数据库中的事件探测及应用.pdf.pdf 免费下载

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

文档简介

东华大学学位论文原创性声明 本人郑重声明:我恪守学术道德,崇尚严谨学风。所星交的学 位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。 除文中已明确注明和引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的作品及成果的内容。论文为本人亲自撰 写,我对所写的内容负责,并完全意识到本声明的法律结果由本人 承担。 奖仁赫 学位论文作者签名: 日期:2 d 口年月形e l 东华大学学位论文版权使用授权书 学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅或借阅。本人授权东华大学可以将本学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本版权书。 本学位论文属于 不保密口。 学位论文作者签名:裴仁耢 日期:知“年,月日 指导教师签 日期:口二年多用厢 主动数据库中的事件探测及应用 摘要 主动数据库中实现主动机制的关键之一就是通过对 事件的探测和处理来激发d b m s 对数据库系统状态的监 控,因此可以说,主动机制的“源泉”是事件。对主动数 据库的事件库中发生的历史事件通过一定的算法提取复 合事件( 也叫事件探测) ,得到的复合事件和规则库中规 定的规则相匹配,如果相匹配则触发相应的动作。近年来 随着无线通信技术的发展,像移动终端中的智能手机、 p d a 等,以及嵌入式设备这类系统能够为用户提供主动 服务,但这类系统由于受到内存和电池等资源的限制,对 事件探测的算法提出很高要求。针对这种情况本文在分析 前人的事件算法的基础上提出了基于时间间隔和优先级 相结合的算法。时间间隔用来防止同一复合事件的多次发 生而触发多次相同的动作,浪费系统的资源;优先级则是 如果系统中同时发生了多个复合事件时,保证最重要的事 件能够探测出来:我们利用j a v a 的a w t ( 抽象窗口工具 箱) 模拟这个算法,验证这个算法的可行性。一个好的算 法只有用于实际环境才可以检验其好坏,为此我们提出把 主动数据库技术用于火灾监控系统中并给出这个系统的 模型。在实际应用中,算法需要进一步的改进,为此本文 提出了基于滑动窗口技术的事件算法,利用滑动窗口技术 既可以保证事件的有效性,又可以节约系统大量的资源。 目前其他算法中的同类事件都不能进行运算,而在实际应 用中,同类事件运算往往很重要,为此我们利用一个事件 的上下标的不同保证了同类事件的运算,即一个事件的下 标表示为这个事件的类型,上标表示为这个事件在此类事 , 件发生的顺序。在实现火灾监控系统时,由于j a v a 语言 的很多优点并且能够与主动数据很好的结合,因此我们选 用了j a v a 语言。但由于受到专利的限制,j a v a 并不能对 视频文件进行直接处理。本文调用第三方软件g i f a n i m a t o r 对视频文件进行处理并生成j a v a 可以处理的 g i f 动态图像文件。利用j a v a 提供的方法来提取每每副 图像的数据,这些数据包括了图像的r g b 和频谱数据, 之后再进行分析运算,如果运算结果满足我们设定规则, 则触发e m a i l 并发送到i t ( 即时通信) 系统,从而实现 随时随地对火灾监控系统的监控。 关键词:e c a 规则,主动数据库,事件运算,事件上下 文,火灾监控 e v e n td e c e n t i n gi na c t i v ed a i :a b a s e a n da p p l i c a t i o n a b s t r a c t t h ek e yt h a tc a l lp r o v i d ei n i t i a t i v e - m e c h a n i s mi nt h e a c t i v ed a t a b a s ei su s i n gd e t e c t i n ga n dd i s p o s i n ge v e n tt h a t c a nw a k e nd b m st os u p e r v i s et h es t a t eo fd a t a b a s es y s t e m , t h e r e b y , w ec a l l s a y t h a te v e n ti s h e a d s p r i n g o f i n i t i a t i v e - m e c h a n i s m w ec a l ld i s t i l lt h ec o m p o s i t ee v e n t s ( e v e n td e t e c t i o n ) u s i n gt h ea r i t h m e t i ci nt h eh i s t o r ye v e n t si n t h ee v e n tw a r e h o u s eo fa c t i v ed a t a b a s e ;t h ec o m p o s i t ec a l l t r i g g e rt h ec o r r e s p o n d i n ga c t i o ni ft h ec o m p o s i t ee v e n t m a t c h e st h er u l e w i t ht h e d e v e l o p m e n t o fw i r e l e s s c o m m u n i c a t i o ni nr e c e n ty e a r s ,s u c ha si n t e l l i g e n tc e l l 、 p d at h a ti si nm o b i l et e r m i n a la n di n s e r ts y s t e mt h a tc a l l a f f o r di n i t i a t i v es e r v i c e 。b u tt h es o u r c et h a ti sc o n f i n e ds u c h a st h ee m sm e m o r ya n db a t t e r yi nt h e s y s t e m ,s ot h e a r i t h m e t i co fe v e n td e t e c t i o nh a ss t r i a r e q u e s t t h r o u g h a n a l y z i n gt h ep r e c e d i n ge v e n ta r i t h m e t i c ,t h ep a p e ra d v a n c e s t h a tt h ea r i t h m e t i ct h a ti sb a s e do nt i m e i n t e r v a la n dp r i u s i n gt h et i m e i n t e r v a la v o i dt h es a m ec o m p o s i t ee v e n tt h a t h a p p e n sm a n y t i m e sa n dt r i g g e r st h es a n l ea c t i o na g a i na n d a g a i n ,t h er e s u l tw a s t et h es o l l r c eo f t h es y s t e m p r ia s s u r e s t h a tt h em o s ti m p o r t a n te v e n t c a l ld i s t i l l w h e nm a n y c o m p o s i t ee v e n t sh a p p e n i nt h es y s t e m w ea l s ou s e 则汀o f j a y as i m u l a t et h ea r i t h m e t i c ,a n dp r o v et h a tt h ea r i t 2 a n e t i ci s f e a s i b i l i t y ag o o da r i t h m e t i cs h o u l db eu s e di nt h ep r a c t i c e e n v i r o r n e m ,t h e nt h ea r i t h m e t i cc a nb ep r o v e dg o o d o rn o t , s ow ea d v a n c et h a tt h et e c h n i q u eo ft h ea c t i v ed a t a b a s ei s u s e di nt h es y s t e mo ff i r em o n i t o r i n gs y s t e m sa n dp u t f 0 唧旧r dt h em o d e lo ft h es y s t e m t h ea r i t h m e t i cm u s tb e f a t h e ra m e n d e di np r a c t i c e ,s ot h ep a p e ra d v a n c e st h a tt h e a r i m m e t i ci sb a s e do nt h eg l i d i n gw i n d o wt e c h n i q u e ,t h e t e c h n i q u ec a ng u a r a n t e et h a t t h ev a l i d i t yo ft h ee v e n ta n d s a v ea1 0 to fs o b r c eo fs y s t e m t h es a m e c l a s se v e n tc a n n o t b ep r o g r e s s e do p e r a t i o ni nt h eo t h e ra r i t h m e t i c ,b u ti t i s i m p o r t a n ti n t r u el i v i n g w ec a l lu s et h es i g no ft o pa n d u n d e 嚣i d ei nt h ee v e n tt h a tc a na s s u r et h a tt h es a l b e c l a s s e v e n tc a np r o g r e s so p e r a t i o n ,n a m e l y , t h et o ps i g no fe v e n t e x p r e s s e st h ec l a s so f e v e n t ,a n dt h eu n d e r s i d es i g ne x p r e s s e s t l eo r d e rt h a tt h es a m ec l a s s e v e n t st h a th a dh a p p e n e d b e c a u s ej a v ah a ss o m el o t so fv i r t u e sa n dt h ev i r t u e sc a n i n t e g r a t ew i t ha c t i v ed a t a b a s ew e l l b u tj a v ac a n n o td e a l w i t hv i d e of i l ed i r e c t l yd u et ot h ep a t e n t t h ep a p e ru s e dt h e t h i r dp a r t ys o f t w a r e - - - g i fa n i m a t o rt od e a lw i t ht h ev i d e o f i l ea n dc r e a t et h eg i ff i l e t h em e t h o do f j a v ac a nr e a dd a t a o fe v e r yp i c t u r e t h ed a t ai n c l u d e sr b ga n df r e q u e n c yo f p i c t u r e s t h es y s t e mt r i g g e r se - m a i la n ds e n d si tt oi ts y s t e m i ft h er e s u l to fo p e r a t i o nm e e t st h er u l e t h a tw e ,h a d c o n s t i t u t e d ,s ow ec a ns u p e r v i s et h ef i r es y s t e me v e r y w h e r e a ta n ym o n u m e n t s 。 p e ir e n l i n ( p a t t e r nr e c o g n i t i o na n di n t e l l i g e n ts y s t e m ) s u p e r v i s e db yp r o f l id e m i n k e y w o r d s :e c a r u l e ,a c t i v ed a t a b a s e ,e v e n to p e r a t i o n , e v e n tc o n t e x t ,f i r em o n i t o r i n gs y s t e m s 1 课题背景 第一章引言 数据库技术的发展经历了三个阶段【1 1 。第一阶段,1 9 6 9 年m m 公司研制了基于层次模型数据库管理系统( i m s ) ,并作为商品化 软件投入市场,该系统至今还有其特定用户,技术还在继续发展。 第二阶段从6 0 年代到7 0 年代初,美国数据库系统语言协会 ( c o d a sy l ) 下属的数据库任务组( d b t g ) 对数据库的方案和 技术进行了系统研究,提出了d b t g 报告。该报告提出了数据库 系统的许多基本概念、方法和技术,成为网状数据模型的典型代表, 奠定了数据库发展的基础。d b t g 的存取效率较高,系统研制较容 易,但数据独立性差,用户使用不方便。目前一些实时性要求较高 的专用系统仍采用网状模型。第三阶段,1 9 7 0 年i b m 公司的 e f c o d d 发表了基于关系模型数据库技术的论文“大型共享数据库 数据的关系模型”,获得1 9 8 1 年a c m 图灵奖,1 9 8 3 年 m m o r g e n s t e m 的文章中,第一次提出了“主动数据库”一词。特 别是2 0 世纪9 0 年代后期,主动数据库的绝大部分模型和实验系统 都是结合面向对象的数据库技术的。随着数据库技术和计算机软 硬件水平的提高,近年来又出现了许多新的数据库技术,如实时数 据库、主动数据库、内存数据库、分布数据库、面向对象数据库、 多介质数据库及专家数据库等。分布式数据库是数据的集合,它 在逻辑上属于同一个整体,但存放在不同节点。在分布式数据库中, 每个节点都有自己的数据库管理系统( d b m s ) ,具有高度的自治 性,其位置对于用户而言是透明的,与集中式数据库相比,可靠性 和灵活性更高。考虑到系统的性能和效率,分布式数据库往往把数 据集的不同副本存放在不同节点,以减少网络传输的开销,但同时 又增加了副本数据库更新操作所需的开销。因此对副本数据库存放 策略进行研究,是分布式数据库设计的重要任务。传统的d 1 3 m s 无 法满足存取大量共享数据和控制信息的应用要求( 如过程控制和网 络管理等) ,这类应用的共同要求是d b m s 能监视系统状态,无须 用户干预就能调度相关任务,并使其满足时间和一致性等要求。因 此人们提出了主动数据库的概念。主动d b m s 扩展了以下功能:( 1 ) 用户可显式地定义想要监视的情形( 事件和条件) ;( 2 ) 系统能自 动检测和评价出现的状态;( 3 ) 一旦定义的状态出现,即进行相应 的工作。这些功能除了支持外部应用,还可实现或扩展d b m s 本 身的功能,如完整性及安全性控制等。在实时数据库应用中,环境 动态变化,需要不断监视和采用事件驱动控制。主动数据库除存储 数据外,还存储控制信息,这些数据库融合了实时数据库和主动数 据库特征。 主动数据库( a c t i v ed a t a b a s e ) 技术是现代数据库技术的一个崭 新的发展分支,是数据库技术和人工智能技术相结合的产物。在主 动数据库的设计实践中,通常采用的方法是将e c a ( 事件条件 动作) 规则【1 】预先嵌入数据库系统,系统中提供了一个自动“监 视”模块,它主动地不时地检查着这些规则中包含的各种事件是否 己经发生,一旦发现某事件发生时,就主动触发执行某个动作。由 此,数据库管理系统就可主动履行一些预先由用户设定的动作,比 如完整性约束、存取控制、例外处理、监督和警告、状态开关自动 切换、检索策略的切换,甚至复杂的演绎推理和实时处理等功能都 以一种统一的机制得以实现,从而达到“主动性”的目的。目前对 主动数据库的研究分为两大类型:1 、设计并实现具有主动功能的数 据库原型,2 、扩充关系数据库使其具有主动功能。 主动数据库主要特点是在没有用户和应用程序参与的情况下, 自动监视事件的发生并触发由规则确定的行为,实现数据库的主动 性。随着主动数据库技术的发展,主动数据库的应用越来越广泛, 现在能够提供的主动服务的系统越来越多,从数字图书馆,股票交 易代理,交通的监控系统,到主动的嵌入式系统( 像手机、p d a 等) ,这些系统越来越多地可以为用户提供主动服务。 2 课题研究的内容及意义 在一些现代应用中,如过程控制,合作处理,网络管理,办公 工作流控制,空中交通管制,战斗管理等,都有一个共同的特点, 即数据库不仅存储状态( 数据) ,还要存储控制知识或规则及过程 ( 程序) ,这些系统中存在着许多主动性的需求,经常要求其中的应 用软件具有高度的“实时性”,“安全性”,“可靠性”,“交互 性”,要求数据库具有各种监视和报警功能能够主动处理异常情况, 选择适当的干预措施,具有自动恢复能力。为了能及时探测到和响 应有关的状态或条件,只有两种办法。一种办法是应用程序或用户 必须频繁地发出询问,但是这种方法的结果依赖于查询的频繁度, 事件的类型,发生的频率,事件出现的时间间隔等许多参数,因而 效果往往不好,而且还浪费了大量的系统资源。另一种办法是应用 程序在每次变更后就检验监视状态或条件,但这种方法破坏了软件 的模块性,不利于应用开发,又将定义事件的条件,表示事件查询, 进行条件评价及决定评价时机等负担都留给了程序员,加重了应用 开发人员的工作量。主动数据库则能提供既保持软件的模块性和便 于应用开发,没有频繁查询所带来的资源浪费,又能及时准确地对 被监视情形做出响应的有效机制。在主动数据库中,系统要能自动 地监视数据库的状态及其变迁,或关于数据库的事件或条件,当相 关事件发生和条件满足时,能自动而适时地触发相应的活动。 主动数据库满足了人们实践中的多样性需求。随着计算机应用 范围的不断加大和深入,数据库在各种应用领域中起着越来越重要 的作用,从常见的状态监控、安全监控、故障监控,到军事或民用 部门的协同工作,以及各种管理信息系统( m i s ) 和决策支持系统 ( d s s ) ,人们对系统中数据库的主动性功能要求也越来越高,随着 技术的进步,主动数据库技术也将和其它新一代数据库技术一样得 到更大的发展。 主动数据库的一般模型是e c a ( e v e n t - c o n d i t i o n - a c t i o n ) ,在 这个一般模型中,首先要进行事件探测,满足一定的条件后,触发 系统做出相应适当的反应。这些事件可能是简单事件,直接从环境 或者系统中抽出来。但在实际的环境中往往由于复杂的情况,这些 简单事件在某种模式下构成复合事件,随着人们对服务类型要求越 来越多,对服务的质量要求也越来越高,满足这些服务不再是单一 的事件可以满足,变成更为复杂的复合事件。这就要求我们在设计 系统的时候,必须去处理这种情况,复杂事件探测研究成为目前的 一个热点问题。随着无线通信的发展,如第三代通信将能为用户提 供更多的服务,但是像移动终端p d a 、m o b i l ep h o n e 等,还是受到 诸如电池,内存等的限制。我们考虑资源( 如时间、内存等) 受到 限制并且根据实际情况,提出主动数据库的事件探测算法。 主动数据库自从出现以来得到了广泛的应用,人们纷纷对主动 数据库的标志性技术主动技术的应用展开研究。数据库主动技 术的出现,不仅实现了数据库的数据一致性、正确性和完整性j 而 且应用到更多存在智能需求的场合。本文从主动技术的应用出发, 从今天及未来通信的发展作为着眼点,针对现有的事件算法进行改 进,并提出自己的事件探测算法。最后把主动数据库技术用于火灾 监控系统,结合火灾现场的特点,提出一种新改进的事件算法。 研究事件探测( 算法) 的意义在于:寻找一种事件探测算法, 这种算法能够使系统快速的、准确的、有效的响应各种复杂的情况, 并且避免各种事件问造成相互冲突。基本思想就是通过事件探测, 使复杂事件能够像简单事件一样去触发系统中相应的动作。其好处 在于使事件探测的结果可以和系统中其他的逻辑部分分开,并使其 不受系统其他部分影响,避免冲突的产生。像交通监控系统,股票 交易代理之类的服务系统,由于对时间响应的要求非常严格,而像 移动终端等受内存限制比较大,而像嵌入式系统中对时间和内存等 资源要求都非常严格,这就要求一套事件探测方法来分别满足不同 系统的要求。 3 论文的创新之处 ( 1 ) 随着便携式通信设备的日益普及,以及无线通信技术的进一步 发展,能够提供主动服务的系统得到广泛应用。然而这些设备常常 受到资源的限制,如:内存、电池等,这就要求我们探测主动数据 库中的事件有着严格要求,针对这种情况,本文在总结前人算法的 基础上提出了基于时间间隔和优先级的事件算法。 , 。 ( 2 ) 主动数据库在实际应用中,目前的所有的事件算法都不能处理 同类事件运算。我们提出了基于滑动窗口的同类事件算法,并利用 一个事件上下标不同来区分同类事件,使同类事件可以用于事件运 算。 ( 3 ) 我们把主动数据库技术用于火灾现场的监控,实现随时随地的 对监控对象的监控。 第二章主动数据库概述 在主动数据库的设计实践中,通常采用的方法是将e c a ( 事件 条件一动作) 规则预先嵌入数据库系统,系统中提供了一个 自动“监视”模块,它主动地不时地检查着这些规则中包含的各种 事件是否己经发生,一旦发现某事件发生时,就主动触发执行某个 动作。近年来围绕主动数据库的具体实现模式和方法,研究者发表 了很多有价值的观点,如为了简化e c a 规则提出 s - t ( s i t u a t i o n - t d g g e r ) 模型。本章我们将分别介绍主动数据库的 e c a 的模型和s t 模型,以及这两种模型构成的体系结构。 1 主动数据库的模型 ( 1 ) 主动数据库的一般模型 一般来说,一个主动数据库系统( a d b s ) 功能上是由一个传统 数据库( d b s ) 和一个事件驱动的知识库,简称事件库及其相应 的事件监视器( e m ) 组成,可用公式表示成“1 : a d b s = d b s + e b + e m 其中d b s 是传统数据库系统,用来存储数据和对数据进行维 护、管理与运用。事件库e b 是一组由事件驱动的知识的集合,每 一项知识表示在相应的事件发生时,如何来主动地执行其中包含的 由用户预先设定的动作。 e m 是一个随时监视e b 中的事件是否已经发生的监视模块,一 旦监视到某个事件己经发生时就主动地触发规则,按e b 中指明地相 应知识执行其中预先设定的动作。可见,根据事件库中知识表示形 式的不同,将获得各种不同的主动行为,在目前的实现中往往采取 “事件”驱动的“条件一动作”的主动规则来表示这种知识。每 条主动规则都指明什么事件发生时,在什么条件下,执行什么样的 动作;“事件”驱动的“条件一动作”规则可具有如下的一般形 式: r u l e ( ,) w 船狲 i f t h e n i f t h e n e n d - r i e 可以是基本事件也可以是复合事件: ( i = 1 ,2 ,舢是某种逻辑( 例如模糊逻辑) 中任意的一个合 法逻辑公式: ( 滓l ,2 ,柚既可以是系统预先定义的一些标准动作,也可 以是用户定义的一个动作,或是用某种语言编写的一个过程。 上述“事件”驱动的“条件一动作”规则的语义是:一旦 事件) 发生,计算机就主动触发执行其后的i f - t h e n 规则。即如果 为真,则执行其后的 ,并且接着逐个检查下一个i f - t h e n 规则,直至执行完为止。注意,这区别于一般程序设计语言的c 鹊e 语句,在那里只执行第一个使 为真的 。根据实际需 要,也可以把上述事件驱动规则的语义定义为,一旦 发生时 就主动触发执行其后的规则集合( 规则库) ,按产生式系统执行的模 式,( 即匹配解决冲突执行循环) 来解释执行相应的规则集 合。 由上可见,在一个主动数据库中,一方面包含了称为“被动数 据”的一个传统数据库,另一方面包含了成为“主动规则”的一个 能根据事件的发生主动激活执行的事件库。这些主动规则受系统中 一个“事件监视器”的监视控制,该事件监视器主动地时刻监视这 事件库。这样,用户可以通过设置( 或编制) 各种不同的事件驱动规 则,以一种统一的机制来实现前面所述的多种主动处理功能,从而 能满足各种客观需求,它的应用是十分广泛的。 ( 2 ) & a 模型 一般主动数据库系统的主动机制就是触发机制,传统的触发器 机制采用是e c - a ( 事件一条件一活动) 模型,这种模型在实现时要解 决事件与条件之间以及条件与活动之间的复杂的匹配问题,这对实 时的应用环境不太适用。有的系统将条件作为事件的一部分,但这 又增加了事件定义的复杂性。 i 、一个触发器是一个二元组 ,即j t r i g g e r :鼍 , ) 。它的语义是:一旦 特定情形发生,系统就执行特定的活动。 2 、 一种情形是一个对偶 ,即: s i t u a t i o n := ( : ) 在该模型中,触发器把 和 作为整体 对待,不存在通常的e c 匹配问题。触发器总是与某 一事物( 称为触发事物) 相关联。事件是一种系统行为的瞬时发生。 条件可以是复杂谓词,它不仅涉及数据库的状态,还包含关于外部 情况的谓词项。活动就是一个程序或操作的集合( 可以为空集) 。 当特定事件发生且相应的限制条件为真,即与之相关的情形发生, 就启动执行被触发活动。被触发活动与事务之间可以是不见关系, 也可以是子事务关系。 s a 模型【刁将事件和条件统一在情形之中,消除了e 匹配,这 样更能适合实时应用的要求。触发库是实现主动机制的主要数据结 构之一,它主要用于情形评价。与事件库一样,触发库也需要常驻 内存,并按事件的类型建立了索引。每个触发器类型索引项有两个 指针,分别指向事件触发器索引和单触发器表。事件触发器所有索 引项指向多个触发器表。每个触发器表包含所有与相应事件相关联 的触发器,这些触发器表中的每个事件则与一个触发器相连。这种 结构能提高触发器库的存取速度,从而提高了情形的评价的效率。 情形就是对偶 ,某种情形出现意味着特定的事件 发生且相应限制条件成立。在a r t s i 模型中,一个事件总是至少一 种状态相连。判断一种状态的标准是一组与数据库状态、状态变迁 或与时问相关的限制( 条件) 。一个事件的发生表明可能必须做出 反应的某种情形即将出现,但事件本事并不意味着那种情形已经出 现,需要通过检验现有的限制而定。一个情形作为一个整体包括两 个部件:一个事件( 称为情形事件) 一个限制( 称为情形限制) , 由于没有“事件一条件匹配”,因而一旦事件发生,相连的限制就 被评价。一个情形限制包括一个条件和一个任选部件一失败处理 器。情形的评价( 即情形限制条件的评价) 由情形评价器完成。它 包括:在触发器库中查找由收到的事件信号所激发的触发器; 选取触发器中的限制进行评价;( 当同一事件激发多个触发器时, 情形评价起按优先级的降序逐一评价各限制) ;将评价结果返回 给触发器管理器。 2 主动数据库系统的体系结构 下面主要介绍有一般的e c a 规则形成的主动数据库的一般结 构体系【1 1 和基于s - a 规则形成的a r t s - i 体系结构1 2 ,3 1 。 ( 1 ) 主动数据库系统的一般体系结构 主动数据库系统的体系结构( 如图2 1 ) 应该具有高度的模块 性和灵活性。由于目前大部分主动数据库是在传统d b m s 或面向对象 数据库管理系统上研制的,其体系结构大多是扩充d 踟s 的事务管理 部件、对象管理部件以支持执行模型和知识模型。此外还要增加: 事件检测部件:当事件发生时发出相应的信号 条件检测部件:接收要检测的条件并进行优化求值。 规则管理部件:控制规则的执行。 体系结构中的重要问题还有各部件之间接口的设计,尤其是事 务管理部件和操作系统之间的接口。因为事务管理中对时间有要求 的调度机制必须要有操作系统的有力支持。 图2 - 1 主动数据库系统的一般体系结构 体系结构的不同还影响到主动数据库的系统效率。系统效率是 指对不同体系结构、算法运行效率的比较和评价。为了提高系统效 率,需要把条件计算和动作执行从触发事务中分离出来。 ( 2 ) 主动数据库的a r t s i 体系 a r t s _ i 2 , 3 给出一个a d b m 系统的功能分解及执行结构( 图 2 - 2 ) 它增加了主动机制部件,传统的d b m s 部件也要做相应的 修改以便与主动机制部件接口,从而实现主动功能。 图2 - 2 描述a r t s - i 的主要功能部件,其中: e d e t e c t o r s h a n d l e r s 事件探测和处理器探测基本事 件、处理复合事件和发信号给触发器管理器n u g g e r - m g t 。 t r i g g e r - m o t 负责事件到触发器评价、触发器评价到活动 或事务的映射;事件库e - b 和触发器库t b 的维护管理。 c e v a l u a t o r s 条件评价器进行各种触发器条件的评价。 以上各种部件构成系统的主动机制。 图中剩下的有:对象管理模块o b j m g t 、事务管理模块 t r a n - m g t 以及物理数据管理模块d b m g t ,他们实现传统数据 库的数据操作、数据存储与存取以及事务模型及其正确性( 包括完 整性、一致性) 管理。但如前所述,他们需要作相应的修改,例如, 事务管理必须支持嵌套事务。下面着重介绍主动服务部件。 图2 - 2 主动数据库的a r t s - i 体系 对象管理模块o b j m g t 提供面向对象的数据管理,支持对象 型及其操作的定义,并执行对象操作,请求事务管理模块提供并发 控制,通知对象事件探测器以及对象行为的发生。 事务管理模块t r a n - m g t 实现嵌套事务模型,负责事务调 度与并发控制;接受触发器管理t r i g g e r - m g t 的请求,为其创 建“评价事务”,当该事务完成时进行结束处理;执行各种事务管 理原语;通知事务探测器以各种事务操作行为的发生。 事件探测器e d e t e c t o r s 负责事件的探测和发信号,而 h a n d l e r 进行复合事件的事件运算及其发生的报告。 触发器管理模块t r i g g e r - m g t 负责触发器的维护,包括 ( 事件、条件和活动的) 定义、删除、修改、停止、启动等。 条件评价器c - e v a l u a t o r s 按t r i g g e r - m g t 的调 用和提供的条件参数确定条件是否为真,并返回结果给 t r i g g e r - m g t 。 数据管理部件d b m o t 是系统的被动模块,它执行传统的物 理数据管理功能。它建模数据库为对象的集合,而对每一对象映射 为页面的集合。它还负责内存、缓冲区以及i o 的管理。 3 主动数据库的功能模块 要使数据库具有各种主动功能,就需要对传统数据库添加支持 主动规则的功能模块【l , 4 1 。大多数主动数据库系统都采用e c a 规则 作为主动规则。e c a 规则的含义是:当某一事件( e v e n t ) 发生后引发 数据库管理系统去检测数据库当前状态,看是否满足预先设定的条 件( c o n d i t i o n ) ,若条件满足,便触发相应的动作( a c t i o n ) 的执行。如 图2 3 所示,为了支持e c a 规则,主动数据库包括以下几个功能模块: 图2 3 主动数据库功能模块 数据模型在传统的数据库中主要是指层次模型、网状模型和关 系模型等描述和处理实体间联系的方法,而在主动数据库中主要是 指知识模型:执行模型是指处理和执行主动规则的方式:条件检测 是指如何检测规则的条件:事务调度是指如何控制事务执行的次 序,使数据库状态满足完整性、一致性等要求:下面具体论述这些 部分的细节。 ( 1 ) 知识模块 知识模型指在主动数据库管理系统中描述,存储、管理e c a 规 则的方法。为此必须扩充传统的数据模型,使它能支持e c a 规则的 定义、操作,并且保证规则本身的一致性。此外,知识模型还应支 持有关时间的约束条件。传统数据库中,数据模型的描述能力有限, 尽管为了实现完整性约束引入了触发器机制,但触发器和主动数据 库的主动规则相比表达能力低,只能描述“单个关系的更新”这类 事件,而且不区分事件和条件。条件的检查,动作的执行总是在触 发后立即执行或事务提交前执行,执行方式简单。所以,主动数据 库必须扩充传统的数据模型,增加支持规则部分的知识模型。在结 合面向对象的主动数据库中,为了实现基于面向对象的数据模型, 一些主动数据库系统采用面向对象的数据模型,用对象统一描述数 据和规则,例如h i p a c 系统中,规则就是一个实体类,每一条规则 是该类中的一个对象实例。在规则对象上可以方便地定义。r e a t e 。 d e l e t e ,a c t i v a t e ,f i r e 等操作。事件、条件、动作作为规则的构成成分 本身又可以是对象。例如条件,作为一个对象又可以定义其藕合方 式。该模型具有很强的表达能力。 ( 2 ) 执行模块 执行模型指e c a 规则的处理、执行方式,包括e c a 规则中的事 件一条件、条件动作之间的各种藕合方式及语义描述,规则 的动作和用户事务的关系。执行模型是对传统数据库的事务模型的 扩充和发展。在主动数据库研究中提出了立即式、延迟式和分离式 等多种多样的执行e c a 规则的方式。丰富多样的执行模型使用户可 以灵活地定义主动数据库的行为,克服了数据库管理系统中触发器 只能顺序执行其规则的不足。 主动规则的执行分为四个阶段: l 、信号通知阶段指事件源引起事件发生的现象。 2 、规则触发阶段,产生事件( 包括复合事件) 并触发相应的规则。 规则和与之相关的事件形成了规则实例。 3 、评估阶段对被触发规则的条件进行评估。那些条件评估成功的 所有规则实例形成了规则冲突集。 4 、规则调度阶段指对规则冲突集进行处理,选出下面将要执行的 规则执行其动作。动作执行时可能产生规则的级联触发。 ( 3 ) 条件检测 主动数据库中条件检测是系统实现主动功能的关键技术之一, 主动数据库中条件复杂,可以是动态的条件、多重条件、交叉条件。 所谓交叉条件可以互相覆盖,即其中某些子条件可以属于其它主条 件,因此高效地对条件求值是系统的目标之一。 ( 4 ) 事务调度 一般地,事务调度是指如何控制事务的执行次序,使得事务满 足一定的约束条件。在传统的d b m s 中并发事务的调度应该满足可 串行化要求以保证数据的一致性。 在主动数据库中,对事务的调度不仅要满足并发环境下的可串 行化要求,而且要满足对事务时间方面的要求。例如事务中操作的 开始时间、终止时间、所需的执行时间等。要同时满足两方面要求 的调度是一个困难的技术问题。它要求综合传统数据库的并发控制 技术和实时操作系统中与时间要求有关的调度技术。由于主动数据 库执行模型的复杂性更增加了事务调度的难度。需要研究一种新的 调度模型或框架,以此为基础来建立调度策略,调度算法。由于事 务调度需要满足时间方面的要求,因此调度机制常常是时间的谓 词,而对执行时间估计的代价模型同样是尚待解决的问题。 4 本章小结 本章主要介绍了目前主动数据库的模型主要有:e c a 一般模 型和s - a 模型,以及两种模型而构成的两种主动数据库的体系结 构,从而使我们对主动数据库的总体有所了解。但不管哪种模型, 不管哪种体系结构,他们的基本原理是一样的,都使用触发机制, 当满足触发条件时,触发相应的动作。触发规则通常是系统预先设 定的,系统对发生过的历史事件进行运算,把运算结果和规则进行 比较,如果满足触发条件则触发动作。可以说事件是主动数据库的 主动“源泉”,接下来第三章我们对主动数据库中的事件作全面的 介绍。 第三章事件 主动机制的关键之一是通过对事件的探测和处理来激发 d b m s 对数据库系统状态的监控,因此可以说,主动机制的“源泉” 是事件。事件既可以作为触发器的部件,也可以与定时限制相关联。 本章我们对主动数据库中事件的基本概念、事件运算、事件上下文 等作全面的介绍。此外我们着重介绍目前关于主动数据库中的几种 限制上下文的事件算法,以及它们与非限制上下文的对比。我们归 纳不同的限制上下文各自的用途,以及它们之间的区别。 1 基本概念 为了建立一个具有较完善功能的主动数据库系统,必须提高一 种表达各种复杂事件的能力。事件表达式可以用各种基本事件和运 送符构成事件代数,这大大扩充了事件的表达能力。接下来我们分 别介绍主动数据库中的事件定义、事件类型、及事件参数【1 0 ,1 1 ,1 2 1 。 ( 1 ) 事件定义 基本事件:系统对任何情形的反应就能形成一个基本事件, 基本事件是瞬时的,不可再分,也叫原子事件。 复合事件:复合事件是由基本事件在一定事件算法下构成的。 事件上下文:事件上下文是事件发生时数据库存在的状态。 要素事件:构成某个复合事件的每个基本事件就是该复合事 件的要素事件,又叫成员事件。 我们定义事件为一种系统行为的瞬时发生。这有两个方面的含 义:第一,事件是系统行为的标志。系统行为可以是数据库操作、 事件管理操作、时间行为或系统与外部环境的通信。第二,事件可 以由一个时间参照点来指明。由于有的系统行为是一个有限的过 程,并非以时间点,因此在定义事件时,必须指明其参照时间点。 这个时间参照点可以是系统行为开始的瞬间,也可以是结束的瞬 间,选择哪个参照点要考虑事件及应用的语义。 系统可以有各种各样的事件,事件只有在预先说明以后,系统 才能对其作出处理( 包括探测和发信号) 。关于事件的信息都存放 在事件库中,并且由事件与触发器管理程序来维护。事件也是一种 对象,它具有标志符、类型与状态( 参数) 和方法。 ( 2 ) 事件类型 类事件:从抽象的角度去描述必要的要素,用来明确定义某类 事件的发生。割舍其他事件发生的影响,并确定一套参数来充分描 述事件的某种特征,以便这类事件进一步的应用,在本文中类事件 用大写字母来表示。 事件实例:类事件发生的具体对象就是事件实例,它的主要任 务是保存事件参数的相关信息,本文中事件实例用小写字母表示。 事件作为对象被分成元类,划分事件元类、按类进行处理可以 缩小事件处理范围从而提高性能【”l 。事件的元类可以分为:对象 事件( o b ) 、事务事件( t r ) 、时间事件( t m ) 、外部事件( e x ) 、 用户自定义事件( u d ) 。其中前四种是系统事件,用户说明到系 统后,系统可以探测并发信号;而用户自定义事件须由用户自己探 测,然后告知系统。每一种事件又分为多种型,( 0 b ) 类的型对应对 象操作类型:插入( i ) 、删除( d ) 、修改( v ) 和检索( r ) , 对象事件描述对数据库中对象的各种操作,对象事件对应的操作型 的事件型,其时间参照点为各操作的结束点,它描述数据库状态的 变化或变迁;t r 类的型对应事务操作类型:开始( b ) 、结束( e ) 、 提交( c ) 、夭折( a ) ,事务事件描述事件管理操作,其参照点为 各管理原语执行的结束点;t m 类有绝对型( a ) 、相对型( r ) 、周 期型( d ) ,它描述系统的时间行为,即系统时钟信号,它的参照点 自然确定了;e x 类有输入型( f ) 、输出型( o ) 、控制命令型( c ) 、 实施信号型( s ) ,它描述系统与外部环境之间的通信行为,这类事 件可统一处理为中断,故其时间参照点定义为相应中断处理的结束 点。 ( 3 ) 事件参数 一个事件也是一个对象,它有类型与特征,也就是参数。参数 可以分两类;“联系”和“类型”参数,一个事件型的“联系”参 数指明与这种事件相联系的实体,如对象事件所在的发生事务的 i d 、与这种事件相联的触发器的i d 等。“类型”参数与事件类型本 身关联,如对象事件的对象的i d 、事务事件的i d 。 2 事件库与事件运算 ( 1 ) 事件库 事件库( e b ) 和触发库( t i b ) 是实现主动机制的数据结构, 它们在系统启动时被调入内存【1 0 1 3 1 。 事件库由几个子表组成,即对象事件表( o b j e c t - e v e n tl i s t ) 、 事务事件表( t r a

温馨提示

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

最新文档

评论

0/150

提交评论