2022年实时数据库中的事务处理文件 .pdf

上传人:Che****ry 文档编号:34290828 上传时间:2022-08-15 格式:PDF 页数:6 大小:85.59KB
返回 下载 相关 举报
2022年实时数据库中的事务处理文件 .pdf_第1页
第1页 / 共6页
2022年实时数据库中的事务处理文件 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年实时数据库中的事务处理文件 .pdf》由会员分享,可在线阅读,更多相关《2022年实时数据库中的事务处理文件 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实时数据库中的事务处理摘要 : 本文在介绍了实时数据库(RTDB), 分析了实时数据库事务的特征, 给出了实时数据库事务优先级分配的几种方法, 并针对事务并发调度中出现的“优先级颠倒” 情况 , 提出了相应的改进方案。关键字 : 实时数据库实时事务优先级分派一. 概述数据库系统是当今计算机信息系统的核心,是计算机技术和应用发展的关键。数据库系统组合了多种功能:数据描述、数据正确性维护、有效的数据存取、查询与事务的正确执行以及数据的安全与可靠性保护。实时是对过程控制系统提出的响应时间要求,它要求计算机对现场的多输入信号进行处理后,在必要的时间间隔内把多个回答信息或指令返回现场,不同的系统对响应时

2、间有不同的要求。随若实时操作系统的广泛应用对实时数据处理功能的要求越来越迫切,因此必须对传统的数据库管理系统进行改造和加强以满足新的需求. 实时数据库管理系统正是在传统数据库管理系统的基础上加入了实时数据处理功能的新型数据库管理系统。实时数据库管理系统同传统的数据库管理系统在概念、原理、结构、算法等方面都存在着很大的差别. 二. 实时数据库及其特征1. 实时数据库数据特征在RTDB 中, 数据随外部环境状态的变化而快速变化, 其值只在一定的时间内是“流行”的, 过时则无效了, 故系统除了维护数据库内部状态( 数据值 ) 的正确性外 , 还必须同时维护内部状态与外部环境实际状态的一致性, 以及数

3、据用来决策或推导新数据时在时间上的相互一致性。RTDB 中的一个数据对象d由三个分量组成 (dv , dtp , devi),它们分别为 d的当前值、采样时间、外部有效期( 外部现实对象状态变化的时间间隔), 有效期即自 dtp 算起 dv 有效的时间长度。 对于 RTDB 中的每 d, 有内部一致性、 外部一致性和相互一致性特征。内部一致性。dv满足预先定义的数据库内部状态的完整性和一致性限制。这就是传统意义下的数据正确性。外部一致性。 设tc 为当前或检测时间, 当且仅当 (tc-dtp) devi, 则说 d是外部一致的,即dv和对应的外部现实对象的状态是一样的。相互一致性 , 用来决策

4、或导出新数据的一组相关数据称为一个相互一致集, 记为 R,其中的数据必须尽可能地在一个允许的公共时间期内被采取( 或导出 ), 这个公共时间期就称为R的相互有效期 , 记为 Rmvi, 对于 R中的任两个数据d和d, 有dtp-d tp Rmvi, 则说 R中的数据是相互一致的。外部一致性和相互一致性都是关于时间的, 可统称时间一致性。既是内部一致又是时间一致的数据才是正确的。2. 实时数据库及其与传统数据库区别实时数据库就是其数据和事务都有显式定时限制的数据库, 系统的正确性不仅依赖于事务的逻辑结果 , 而且依赖于该逻辑结果所产生的时间。一个实时数据库管理系统(RTDBMS) 也是一个数据库

5、管理系统, 所以 , 它也具有一般 DBMS的基本功能 : 永久数据管理( 包括数据库的定义、存储、维护等); 有效的数据存取( 各种数据操作、查询处理、存取方法、完整性检查); 事务管理 ( 事务的概念、调度与并发控制、执行名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 管理 ); 存取控制 ( 安全性检验 ); 数据库的可能性(恢复机制 ) 。但传统的 DBMS 的设计目标是维护数据的绝对正确性、保证系统的低代价、提供友好的

6、用户接口。系统的性能指标是吞吐量和平均响应时间。它不考虑与数据及事务相联的定时限制, 调度与处理决策也不考虑各种实时特性。与之相反 ,RTDBMS 的设计目标首先是对事务定时限制的满足, 即在有效时间内响应数据变化和完成事务处理; 其基本原则是 : 宁要部分正确而及时的信息, 也不要绝对正确但过时的信息。系统性能指标是满足定时限制的事务的比率, 它要求必须确保硬实时事务的截止期,必要时宁肯牺牲数据的准确性与一致性。三. 实时事务及实时事务处理1. 实时事务的特点由于实时任务往往有内部结构和相互之间的联系, 传统的 ACID的事务概念及模型对实时事务不适合。 RTDB 事务表现出了许多不同的特点

7、。. 实时性实时事务具有定时限制的特征, 定时可以是绝对、 相对或周期时间。在实时应用中,事务的定时性来源于两方面: 一是外部环境显式给出的反应时间要求, 这时它典型地取施加于非周期事务的截止时间限制的形式( 截止期 ), 如 “若温度达到200度, 则5秒内控制降到 100度”;二是由于系统中的数据随时间变化而转嫁来的( 即由数据的时间一致性引起的), 此时它往往取周期或定期性限制的形式, 如“每 5秒取样一次”、“7:00 启动机器”等。实时事务的定时限制有多种 , 其中最重要的有以下几种. 截止时间 : 实时事务完成的最后期限。它可以有硬、软、固之分。其中,硬实时事务 ( 见图1a) 是

8、具有硬截止时间的事务, 必须在其截止时间以前完成, 否则将带来灾难性的后果, 故到达其截止时间还不能完成的硬实时事务必须夭折。软实时事务 ( 见图 1b) 是具有软截止时间的事务 , 应该在其截止期完成, 但超过其截止时间也还有一定意义( 尽管不断下降 ), 故软实时事务到达其截止时间后不必立即夭折它。固实时事务( 见图 1c) 即一旦事务到达截止期, 则对系统失去意义 , 其价值为零。实际上, 它是软实时事务的一种特例。硬实时事务软实时事务固实时事务 v v v t t t r d r d e r d (a) (b) (c) 图1. 实时事务的关键性到达时间 : 事务在系统中生成的时间。它可

9、以是可预报的, 也可以是不可预报的。可预报的到达时间可显式地给出或者作为一个导出函数, 如周期事务的到达时间是可预报的。不可预报的到达时间是指当相应事务到达系统时才能知道, 非周期事务的到达时间就是不可预报的。期望执行时间:估算在最坏情况执行时间。由于各种不可预报性因素, 它很难做到准确,估算的最坏情况执行时间可能与实际情况相差很大。然而, 为了合理地得到事务的截止时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 及适当地调度

10、以使其满足, 又必须事先较准确地估算其执行时间。因此 ,在实时数据库中, 定时性包括以下两方面的含义. 即定时限制和定时正确性. 定时限制即事务的执行具有显式的时限, 如期限、截止时间等。因为控制系统要随时紧紧地跟踪被控系统 ,它要求 RTDB 必须有时间处理机构。定时正确性即事务能按合适的时间要求正确执行。由于要求数据对于控制系统的各种决策活动随时有效, 所以需要权衡定时限制与数据一致性等多方面因素,提供合适的事务调度与并发控制算法。. 正确性实时事务与传统事务的本质区别就在于其有定时限制, 因此 , 事务处理必须同时满足一致性要求和定时限制。虽然实时事务的正确性与传统事务一样, 也包括数据

11、库状态正确性和事务执行正确性两个方面, 但其含义与内容有很大的不同。在实时事务中, 数据库状态正确性包含内部一致性和时间一致性, 事务执行正确性则包含其结果正确性、行为正确性、结构正确性和时间正确性。传统数据库中事务正确性的标准是事务的冲突可串行化执行。而实时嵌套事务正确性的内容更为丰富 , 实现的手段也就更为复杂。传统可串行化标准在实时环境下太严格或不适合,限制了系统中事务执行的并发度, 不利于满足事务的定时限制; 因而 ,产生了一种新颖的准一致性可串行化并以控制策略。事务执行给系统带来的不一致被限定在一定的范围内, 并在一定的时机恢复数据库到一致状态。( 其实 , 传统的冲突可串行化是准一

12、致性可串行化的一种特例。即 , 不一致被限定的范围区间为零) 而实时事务的时间正确性需要“识时”协议实现, 结构正确性需要事务管理检查模块事务间的结构相关性来实现。. 相关性实时数据库事务之间存在着各种关系, 包括结构关系、数据与通信关系、时间关系等,这些关系带来了事务间的各种相关性。主要包括时间相关, 数据相关 , 结构相关和行为相关. 时间相关性是实时数据库事务所特有的, 它表明事务的执行顺序或紧迫度, 通常以“事务事件” 来表示。一个事务的“开始”, “提交” 和 “夭折”事件的发生时间可以分别以BEGIN,COMMIT和ABORT 来表示。一般而言, 时间相关性分为两类: 时序相关和带

13、时限的时序相关。前者表明有关事务中相应事务事件发生的时间顺序, 后者是事务间带时限的时序相关。图2显示了事务间的 7种最基本的时序关系。 B B B B B B B A A A A A A A t 图2. 事务间的基本时序关系数据相关就是不同事务间的共享数据联系。除了传统意义下的“共享”概念, 数据相关还包括如嵌套事务模型中的数据继承、通信事务模型的数据通信、合作模型的数据交换、分裂与合并模型的数据“委托”。每一事务都有一个与之关联( 或它所使用 ) 的数据集 , 两个事务间的数据相关性就表示它们的数据集的重叠度。结构相关来自于复杂事务模型的结构特征, 用来建模复杂事务内部并发事务行为的一种约

14、束。不同的复杂事务模型有不同的结构相关性, 但它们可以通过事务间的“执行依赖性”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 来定义 , 实时嵌套事务中基本的事务依赖有: 子事务对父事务的开始依赖(BD): 子事务开始前父事务已经开始; 父事务对子事务的提交依赖(CD): 父事务提交前子事务已经结束( 提交或夭折); 子事务对父事务的夭折依赖(AD): 父事务夭折则子事务一定夭折。行为相关性是由事务的数据相关性及在共享数据对象

15、上的交互作用而引起的。它是由于在同一对象上不同事务操作间的同步所建立的一种间接相关性, 而不象结构相关是直接的,通常用事务的“冲突关系”来表示。2. 实时事务的调度实时事务调度是多用户并发存取实时数据库的有效支持机制。它主要包含两个部分:事务优先级分配和并发控制。任何一个事务 , 如果获得较高的优先级,则意味着它同时获得优先执行的权利。. 实时事务优先级分配实时事务的调度和并发控制都有是基于事务的优先级进行的,因此 , 如何分配事务的优先级是一个重要的问题。常见的事务优先级分配方法有以下几种: 最早放行最优先(Earliest Release First)。该方法对具有最早“放行”时间的事务分

16、配最高的优先级。所谓放行时间就是事务可以开始执行的最早时间, 与此相联的有事务到达(Arrive)时间、事务接纳时间。如果事务放行时间等于事务到达时间,则该方法就是传统的先来先服务方法。 最早放行最优先方法的吸引力在于其简单性;主要不足是没有利用事务“截止时间”参数。其调度效果是有利于可能并不具有紧迫的截止时间但先行到达的事务, 而不利于具有紧迫的截止时间且最新到达的事务。显然, 这种调度效果不适合于具有较严格的时间约束的实时应用领域。空余时间最短最优先: 对于事务 , 为当前时间 ,E、P分别为事务的执行时间估算和已执行时间 ,d 为其截止期。事务的空余时间 D=d-(+E-P), 即按照推

17、迟事务的执行而仍然满足其截止期的可推迟时间量估算, 具有最少空余时间的事务具有最高优先级。该方法类似截止期最早最优先方法, 可能赋予已经超过或快要到达截止时间的事务最高优先级;该方法不同于截止期最早最优先方法的是, 其事务的优先级依赖于该事务的剩余运行时间(E-P) 。截止期最早最优先: 具有最早“截止时间”事务分配最高优先级。该算法主要优点是算法简单 , 利于紧迫 “截止时间” 的事务。 缺点是没考虑事务的执行时间, 可能对已经超过截止时间或就要超过截止时间的事务赋予了最高优先级。价值最高最优先: 每一事务都有一价值函数,其值最大者最优先。 问题是如何合理地构造价值函数 ,一个例子是 : V

18、(t)=C(w1( - S)-w2d+w3P-w4S) 其中 、d、P、S的意义同上 ,c 、s分别为事务的危急度、开始时间 , wi为加权因子。价值密度最大最优先: 在该方法中 , 事务完成时的期望价值与实现该价值所需计算量的比最大者优先级最高。价值密度函数为: VD=V( +c)/c=V( +E-P)/(E-P) 显然 , 对于期望价值一样的事务, 该方法偏向较短者, 因为它每单位消耗时间所获得的价值更大。与上面的 HVF 方法一样 , 此处也有如何设计价值函数的问题。. 实时事务的并发控制在并发控制中,可串行化是最流行的标准。但是, 在RTDB 就应用中 , 有时需要牺牲可串行化以改进性

19、能 ; 因为在实时应用中, 数据和事务都具有时间限制。一种新颖的准一致性可串行化并以控制策略可用来实现RTDB 中的并发控制: 即将事务的不一致性限制在一定的范围之名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 内。在具体实现上,有多种方法和技术, 这里就不细讨论了。针对具体的并发控制方法, 采用有效的优先级分配策略; 事务分配了优先级之后,系统按照优先级进行调度。在多道程序运行环境中 , 由于事务对资源的竞争, 不可避免地出现

20、冲突问题。它主要有两种: 优先级颠倒问题和死锁问题。. 优先级颠倒设有一个锁请求事务r 和一个锁持有事务h。如果 r 的优先级比h的优先级高 , 它必须等到低优先级的h完成后才可能被调度执行, 这种现象就称为优先级倒置。简述之, 即优先级高的事务等待优先级低的事务。这对实现事务的定时限制是不利的。为此, 提出了以下几种改进方案: 优先级继承优先级继承策略的基本思想是, 当发生优先级颠倒时, 将占有者 h的优先级提高到与 r 的一样 ( 即继承的优先级), h继续执行直到结束( 提交或夭折 ) 。在 h因某种原因 ( 如成为死锁的牺牲者) 而重启动时 , 它恢复原来的优先级。让h继承 r 优先级

21、是为了让它尽快完成, 因为 h的进展也意味着r 的进展。这种策略称为优先继承。高优先级夭折高优先级夭折策略的思想是,当发生优先级颠倒时, 夭折低优先级的h而让高优先级的r执行。 该策略称“高优先”法。这种策略可以消除死锁, 但它存在以下问题: 高优先级策略会太随意地撤消事务, 这会浪费系统资源并降低系统吞吐率。如, 对那些已执行时间很长而还需执行的时间已很短的, 夭折的代价很大。尤其是当d(截止时间 ) c( 当前时间 ) 与的 “剩余执行时间估算”e( h) 相差不大时 , 重启动必然导致其超截止时间, 浪费大量系统资源, 使整个系统性能下降。如果估计r 的宽余时间比h的剩余时间长 ,那么可

22、以允许继续h而不会超过r 的截止时间。此时不必撤消h以节省系统资源。这称为有条件重启策略。 如果优先级函数的选择使被撤消的事务重启( 恢复 ) 时的优先级比还高, 如采用像 LSF(空余时间最短最优先) 这样的动态优先级分配策略, 就会出现新的问题。即被夭折而重启动的h可能马上会有比r 更高的优先级 , 它会撤消在此之前曾杀掉它的事务,这样就导致循环夭折。为此, 在 r 撤消 h之前 , 调度程序必须确保h的下一个实例的优先级仍比 r低。这称为无循环的重启策略。. 死锁在发生死锁时,需要选择一个事务撤消。这个牺牲的事务必须仔细选择, 以使尽量多的事务能满足时间限制要求。在死锁解决方案中, 选择

23、牺牲者的策略为:撤消一个已经超过时间限制的事务 ;撤消具有最长截止时间的事务。四. 结束语实时数据库是其数据和事务都有显式定时限制的数据库, 系统的正确性不仅依赖于事务的逻辑结果 , 而且依赖于该逻辑结果所产生的时间。实时数据库与传统数据库有着不同的特征, 一方面 , 需要维护大量共享数据和控制数据; 另一方面 , 其事务有很强的时间性, 要求在规定的时间内完成处理, 同时 , 所处理的数据也有很强的实效性。国外对实时数据库的研究非常关注,尤其是美国、 英国、德国、 瑞典等国起步较早, 现已有许多成功的实验系统, 有的甚至已商品化, 典型的有 HIPAC 等系统。国内的研究起步稍晚,基本上是在

24、 80年代末、但发展很快. 本文对实时数据库(RTDB)作了简要论述。重点讨论了实时数据库中的实时事务处理.对实时事务中的并发调度作了详细的说明,并根据实时数据库并发控制中的优先级颠倒做了改进. 实时数据库中的事务并发处理还要许多值得讨论的问题, 这也是值得进一步研究的方向. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 五. 参考文献1.计算机世界 1999年第 40期实时数据库系统及其特征刘云生, 卢炎生 , 李国徽2. 通信世界- 分布式实时数据库在信用控制中的应用罗欣, 陈祥3. 计算机世界 1999年第 38期实时内存数据库的数据管理舒良才, 刘云生等4. 计算机科学实时数据库的事务处理刘云生, 李园徽 , 户炎生名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁