已阅读5页,还剩46页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式实时内存数据库artsedb恢复技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 主动实时数据库管理系统( a r t s e d b ) 完善集成了传统数据库、实时数据库及 主动橇翻。为支持实时事务鹃运行,a r t s e d b 良内存数据痒( m m 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 中,每个事务帮有单独的活动舀志耀,只记录事务的r e d o 翻志, 并采_ = l 合适的日志协议,减少了日志占有的宝间和记录目志的工作量。 a r t s e d b 中采用满足活动一致性的模糊检验点技术,简化了系统崩溃后系 统蒎笈工孛薯超始点翡确定,减少了恢复工馋麓,缀短滚簧露蔺,最终疆高系统效 率。针对主动实时数据库的系统特性,a r t s ,e d b 采用基于数据优先级的重装策 略,为不同特性的数据分配不同的重装优先级,优先装入紧急攀务的数据和高优 先缓瓣数据,扶露可以在尽可麓短熬瓣阕肉让系统进入工作状态,漾是实时搴务 的运行。 a r t s 。e d b 采用动态的增量备份方式,并记录备份过程中的日志,由数据库 副本秘基志共同维成一个完整救备份。由于采用动态方式,尽鬃减少了对系统的 影响。 关键蠲:主幼实时数据库,内存数据摩恢复,内存数据摩重装,模糊捡验点, 模糊备份 l 华中科技大学硕士学位论文 a b s t r a c t a r t s e d bs e a m l e s s l yi n t e g r a t e st r a d i t i o n a ld a t a b a s e s ,r e a l - t i m ed a t a b a s e sa s w e l la sa c t i v e n e s sr u l ec o n c e p t s t e c h n i q u e sa n dm e c h a n i s m s i no r d e rt og u a r a n t e et h e e x e c u t i o n so fr e a l t i m et r a n s a c t i o n s a r ,r s - e d bi sb a s e do i lm a i nm e m o r yd a t a b a s e ( m m d b ) t e c h n o l o g y i n am m d b ,t h ep r i m a r yc o p yo f t h ed a t a b a s er e s i d e si nv o l a t i l e m a i nm e m o r yt h i sm a k e sm m d b s y s t e m sm o r ev u l n e r a b l et of a i l u r e sc o m p a r e dt o t h et r a d i t i o n a ld i s kr e s i d e n t d a t a b a s e s ( d r d b ) t h ea c t i v e r e a l t i m ed a t a b a s e m a n a g e m e n ts y s t e ma r l - e d bi sw h a t t h i st h e s i sf o c u s e s b a s e do nt h ea r c h i t e c t u r e o fa i t t s e d b t h ei m p l e m e n t a t i o ns t r a t e g ya n dd e s i g ns c h e m eo fr e c o v e r ys y s t e mi s b r o u g h t f o r w a r d a b a c k u pc o p yo f t h ed a t a b a s ei sm a i n t a i n e di ns e c o n d a r ys t o r a g ef o rr e c o v e r y p u r p o s e s r e c o v e r ya c t i v i t i e sl i k el o g g i n g ,c h e c k p o i n t i n g ,b a c k u pa n dr e l o a d i n ga r e u s e dt or e s t o r et h ed a t a b a s et oac o n s i s t e n ts t a t ea f t e ras y s t e mc r a s hh a so c c u r r e d i na r t s e d b ,r e d o l o g sa r em a i n t a i n e di nm a i nm e m o r y f o ra c t i v et r a n s a c t i o n s o n c eat r a n s a c t i o ni sc o m m i t t e d 、t h el o g sa r es a v e di ns t a b l e m e m o r y t h el o g g i n g c a p a c i t yd e c r e a s e s ar e c o v e r ys c h e m ew i t ha c t i o n c o n s i s t e n t c h e c k p o i n t i n g i sc o m b i n e di n a r 了一e d br e c o v e r ym o d e l 。w h i c hs i m p l i f i e st h el o c a t i o no ft h ev e r ys t a r t i n gp o i n ti n t h er e c o v e r y p r o c e s s i tc a l ls a v er e c o v e r yc o s ta n d r e s t a r tt h ew h o l e s y s t e ma ss o o n a s p o s s i b l e ,t h i s i so fg r e a tv a l u ei nr e a l - t i m ed a t a b a s e s y s t e m ,f o rt h ef a s td a t a b a s e r e c o v e r yc a l l m e e tt h er e a l t i m et r a n s a c t i o nd e a d l i n ew e l l ,a n dr e d u c et h e m i s s i n g d e a d l i n er a t eo fr e a l t i m et r a n s a c t i o n se f f i c i e n t l y t h ev u l n e r a b i l 醅硝m m d bm a k e s t h er e l o a d i n go fm m d b v e r yi m p o r t a n t ,w h i c hi n f l u e n c e ss y s t e mp e r f o r m a n c eg r e a t l y a c c o r d i n gt ot h i s ,ad a t ap r i o r i t yr e l o a dt e c h n i q u ei si l l u s t r a t e di nd e t a i l d i f f e r e n td a t a r e l o a ds t r a t e g i e sa r ec h o s e na c c o r d i n gt ot h ed a t ap r i o r i t yt h es y s t e ma s s i g n sb yt h e i r c h a r a c t e r i s t i c s ,u s i n gl i m i t e dt i m et og e tf a s ta n de f f i c i e n td a t ar e l o a dp e r f o r m a n c ec a n b ea c h i e v e d t h e nt h ea r 瓜- e d bc a nb e b r o u g h tu pi n u s ej u s ta f t e rs o m eh i g h p r i o r i t yd a t a a r ei nm a i n m e m o r y i nam u c hs h o r t e r p e r i o do f t i m e t h eb a c k u ps c h e m ei sb a s e du p o ni n c r e m e n tf u z z yb a c k u p t h i ss c h e m er e d u c e s t h ei r l f l u e i l c et os y s t e m , k e yw o r d s :a c t i v er e a l t i m ed a t a b a s e ,m a i nm e m o r yd a t a b a s es y s t e mr e c o v e r 3 ; m a i n m e m o r y d a t a b a s es y s t e m r e l o a d ,f u z z yc h e c k p o i n t ,f u z z yb a c k u p l l 独创性声嗣 本人声明所呈交的学位论文怒我个人在导师指导下进行的研究工作及取得 的研究成聚。尽我所知,除文中已缀标明引用的内容外,本论文不包含任何其他 令入蕺集 本已经发表或撰写避豹研究残暴。对本文耱磅究骰窭嚣藏静个太帮榘蒋, 均已在文中以明确方式标明。本人完全意识到本声明的法律结巢由本人承担。 学位论文作者签名:爵l 久协坚 髓期:细口千年妇f 日 学位论文版权使用授权书 本学位论文作者宠全了解学校有关保留、锼用学位论文魄勰定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 帮诺阕。零大授授华中瓣技大学可以将本掌位论文韵全部或帮分内容编入霄关数 据库进行检索,可以采用影印、缩印戏扫描簿复制手段保存和汇编本学位论文。 保密口,在年解密厢适用本授权书。 本论文瘸予 不保密口。 ( 请在以上方猴内打“”) 学位论文传者签名:葛欠苏坚一撂导教爨签名: 厄l 调 日期:。乎年s - e l ( ge l 期:2 。争年f 月7 匿 华中科技大学硕士学位论文 1 弓l 言 1绪论 由于军队的作战指挥系统、武器装备系统越来越多的依赖于计算机及其相关 设备,在这谨翡营景下困貔系菠夔德憨安全杰鏊令鬻象安全中瓣圭篷位越来越突 出。为了保障国防系统的信息安全,增加我国在信息技术领域的自主权,研制具 有我国自主知识产权的嵌入式实时数据库管理系统是具有重要意义的。 在理实系统中,包懿搀装指挥在蠹熬诲多应爱帮嚣要裸障系绫熬实霹性,瓣 运算结果只在一定的时间范围内有效,否则就失去意义,在这种背景下就需强数 据库技术与实时数据处理技术的融合,从而导致了实时数据库管联系统的诞生。 实眩数攥痒系统与传统熬数据疼在诲多方瑟豢存在诲多菲零太魏蓑异,最凝本熬 区别在于数粥与事务的定时限制,因此需要根据计箨机软件技术与硬件技术的发 展来提出更加适用的新方案。 在曩兹的技术发展情况下,计算扭c p u 的处理能力褥到了快速戆提高,嗣 时存储器的容鲞越来越大,但是磁盘存储器的存取速度并没有褥刘很大的提商。 特别是对于传统的磁盘数据库( d r d b :d i s k r e s i d e n td a t a b a s e ) 来、龅,磁盘存储器 的存储速度激经成为限制磁盘数据瘁发展的瓶颈。在这静背景下,内存数摄痒 ( m m d b ) 应运褥生。在瑶有条传下,通过适当静交换算法,将数摧库运行期间的 大部分乃至全部数据置于主存已成为可能。通过将数据库的“工作版本”常驻内 存可以极大的提高数据瘁的性能:如可以极大的减少耗费时间的i o 操作、撼供 嚣浃速豁数掇噙应和更赢稳事务吞吐豢簿等。蠹于海存数据库畜这些优点,邋台 作为实时数据库系统的底艨支持技术。 1 1 痰夺数据痒毒磁盘数据瘴豹毙较 丽 内存数据库与磁盘数据库在本质上存在很多的不同,主要表现在以下几个方 华中科技大学硕士学位论文 1 存储奔质 在磁盘数据库系统中,数据常驻内存,磁盘拷风的数据需拔一定的数据交换 繁培被调到内存缓冲区后才能被存取。搿在内存数据库系统中,数据库的内存版 本为主拷受,蕻中的数撵可被事务壹搂存取,箕磁盘拷贝主要鲻予恢复衣转存。 内存数据库的这一特性消除了i o 瓶颞问题,极大地提高了系统的性能和吞吐量。 2 系统特性 内存系统与磁盘系统验不蓠特性主装表现在:内存稷磁纛在存欷时阕上有若 干数量级的麓别,存取方式不同,内外存的数据组织方法对性能的影响不同,存 储格式不同。 3 。算法浚计嚣彝 在磁盘数据库系统中,其设计目标是获取最小的i o 和最大的磁盘空间利用 攀,而内存数据库系统中,外存的1 1 0 已不再是性能的瓶颈,其设计目标是c p u 秘内存窒曩熬蠢效篷爱。 4 数据缀织 在内存数据库中,数据的组织需骚达到更高的窀间利用率的目的,因此磁盘 数提淳孛常袋蠲戆b + 捉这类窆闽剥媛率低豹方法不秀逶合于瘸存数据瘴。 5 恢复 m m d b 的一个致命性问题是内存的易失性,因此内存数据库系统比磁盘数据 黪系统更易受到伤害,m m d b 恢复躲篷要挂不言聪浚。此夕 ,内存数据瘁系统 与磁盘数攒霹系统中恢复静对象、方针、工作量都怒不同的。 1 1 ,2 内存数据库对实时攀务的支持 实时事务及其数据都基有定时限制,事务的正确性不仅依赖箕逻辑结粟,还 依赖于结果产生的时间,因此要求系统能较准确的预报事务的逡行时间。在内存 数搀痒中由于将数据库的“工作叛本”常驻内存,像涯了事务执行期闻没有i o , 黻姥系统能够较准确的倍箨和安撵事务的运行时闻,其有较好躲动态可预报髋, 同时也为实现事务的定时限制打下基础。 主动实时数掘库具有一定的静态可预报性,即鬻务在运行酶,它的操 乍逻辑 华中科技大学硕士学位论文 ( 操作类型、顺序等) ,数据集,在结构、行为及时间方面的相关性,定时性限制, 关键性蛰都是可预分析的,且这些都是相对稳定的。因此内存数据库对主动实时 事务楚疆提供熬支持楚警藏在磁焱环境下夔数瓣瘁技术掰无法替代静。 1 2 圈内外研究现状 2 0 澈纪8 0 年手中麓以来,内存数蚕痒萼 怒了越来越多豹数据库璐究者静禳 大兴趣,现在对于内存数据库的体系结构,数据组织与存取方法 1 ”、事务处理、 并发控制、恢复方面都已经进行了大量的探讨和研究,取褥了丰富的成果 2 0 。 最耪态存数据簿滚复技术主要考瘩整个数纛痒都置予圭存懿潼援【4 l ,并且采 用了额外的恢复处理器进行恢复工作。a r t s m m d b s 是一个支持主动实时事务 处理的内存数据库管理系统 6 - 9 1 ,该系统基于内存数据库无法容纳整个数据库的 。蓦嚣,考恋了实装事务懿蕊先缀,并戆够遴行麓态黪滚复。 其体来既,一个内存数据库的恢复技术主臻表现在日恣设施、检验点技术、 备份技术、故障后的恢复算法等方面m 2 斟 ,在这些方面内存数据库与传统的数 据痒都有缓丈熬不爨。鏊蔻数磅究褰中在裣验患摄话及楣应疆志靛记录、志存数 据库的装入与重装等领域,因为畿内存数据库系统中这些绦作的i o 已缀是系统 i o 的主鼹部分,对内存数据库的性能影响最大。 在麟志处理方嚣,逻辑虽恚糖对凌理墨悫褥言具有较少瓣基志数攒爨,著能 提高系统的并发度i i 吼”j ,是内存数据库中经常采用的一种醋患形式。许多内存数 据库系统中,在非易失性内存中记录日志,并且采用了新的同志协议 43 1 ,减少了 记匿志过程中的开销。 捡骏点操锌中包台了大量豹i o 操 乍,因此检验点操作的效率决定了系统豹 整体性熊。内存数据库中一般采用模糊检验点算法,而且针对不同的系统结构提 出了不同的处理方法 1 1 1 5 1 为了减少检验点操作对系统的影响,许多系统采焉单 独静淡笈处理器进行检验点操 乍h “。更避一步可以将数据露分残若干独立的段, 分段进行模糊检验点操作f 1 2 1 ,从而提高系统的可用性。 由于数据库常驻内存,因此内存数据库的鼗入与重装殿略的重要性越发显得 突塞融2 鼬,透誊采瑟蕊分重装戆篱法以支持实辩事务煞运幸亍。 3 华中科技大学硕士学位论文 内存数据库的恢复技术正在谶步的发展中,但是一般来说内存数据库的恢 复要考虑到以下几个方藤: 1 尽可能的采鲻 静止熬羧验点与j # 静斑豹备份方法,以免影l 鑫帮务静系 常运行,从而提高系统的性能,满足系统的实时性。 2 恢复应该尽可能的减少同步i o ,也就鼹濒不能牺牲事务对m d b 的存取 装麓。 3 恢复的焦点怒内存数据庠,而不是磁盘数据库,即熏点考虑事务故障和 系统故障的恢复。对于介质故障的恢复则与传统的磁盘数搬库恢复完全一样。 4 恢复懿手琶徐在撬行一个攀务懿总霞 a 中占夔篦镶上野,嚣魏恢复靛性麓 对整个系统的总体性能显得更加关键,需要考虑m m d b 的特点,设计适合m m d b 的恢复技术与工具。 2 璇有内存鼗据簿系统简介 截至目前,内存数据库系统原型或试验系统已经有很多个,有些甚蕊已经商 晶纯。死拿典型的斑农数握痒系缝戆主要特援皴衰1 1 所暴。 表11典型内存数据库系统的主要特征 系统名称并发控制提交处理恢复处理 关系黪巍段镂强志存健在嚣翳失1 | 生暴蠲繁独鳇恢复娃理嚣,按 醚m 一轻8 m s 内存中,按段掇交 需要遴行段豹恢蔓 关系的两段锁影子内存( 位于非易失恢复处理器,模糊检验点 m a r s 性内存1 事务串行执行缎提交,预提交双内存数据瘁系统,模期检 口l ( 验点 两段锁协议,最小一些替代技术 儿种不同的检验点技术,不 s y s t e m m 化井发度同的目,玺选项 对热点区域的检验缀提交 f a 懿p 稚珏 ,改交接术 1 m m d b m s 系统 m m * d b m s 系绞是u n i v e r s i t yo fw i s c o n s i n 设计静一个蘸型系统盼1 懿。 m m d b m s 是关系数据库系统,该系统大量的使用了指针来表示数据和进行数据 4 华中科技大学硕士学位论文 存取。采用t - t r e e s ( 一种在每个节点存储多个属性值的平衡二叉树) 来索引有序数 据,采用线+ 陛啥零袁敦方式来索弓l j 有痔数摆。 为了方便恢复的处理,内存划分为一些大的数据块。这些块是与外存数据库 进行传输的单元。| j 志记录在菲易失性存储器中,并采粥一个单独的恢复处理器 来垮曩提交鲍事务的数摄库变更同志记录按照对应被变曼的块逃孳亍聚集,从恧发 生故障的时候可以独立的进行块的恢复。 每当产璺三了一定酌受薪之盾,後复处瑾器对每个涣避彳亍检验点操作。在检验 点操作期间当前操作的块被锁住,从丽确保每个块在磁擞中保姆了事务的致性 状态。在故障发生之后根据需嚣从磁盘上载入需要的块到内存中,并且用已载入 安麓凝薪罄嶷鑫恚遴 亍浚复。 m m d b m s 采用两段锁协议进彳亍弗发控制,锁的粒度为整个关系。 2 i m s v sf a s tp a t h 系统 i m s v sf a s t p a t h 是i b m 公司开发鳇支褥豢骧悫存数据黪褒韭产晶。该数据 库同时支持传统的磁盘数据库。 f a s t p a t h 的特点是在事务提交的时候才执行对内存数据霹的更新,并且事务 进行集体提交以支持高吞吐量。另外该系统设计了离度优化的锬,以将共发控患l 的代价最小化。该系统述提供了记录级的锁。 f a s tp a t h 为鲶理频繁存取豹数瑟避行了伉纯。它支持对于频繁燹薪对象的 v e r i f y c h a n g e 操作,v e r i f y 操作可以在一个事务的生命期内核对一个对象 的值,但是并不锁住该对象。如果该值是可接受的,实际的更新操作可以在提交 懿撬行,扶褥只熹短瓣潮翡镂。 3 m a r s 系统 m a r s 是s o u t h e r nm e t h o d i s tu n i v e r s i t y 设计的一个内存数据库管理系统 t 9 - 2 1 , 2 3 。该蓉绞鲍基挺怒支持黠波存鬻驻数据戆浚速事务处理。 m a r s 系统包括个数据庠处理器和恢复处理器,每一个处理器都能对数据 库常驻的易失往内存进行存取搡作,嗣时系统中有一个菲易失眭内存供两个处理 器存取。另夕 恢复处理器能够对磁盘上蛉尽志和数握库驰拷贝进行存取。 数据库处理器负责事务提交之前的事务的执行。在更新事务提交之前事务的 一p 5 华中科技大学硕士学位论文 更新操作并不更改主内存数据库,而是由数据库处理器在非易失性内存中记录这 些更薪,如果更新事务被夭折,只要放弃这些鼹新记录就可以了。 当提交一个事务时,恢复处鹫器涛该事务豹受瑟记录获 易失性内存中拷爱 到数据库中和位于非翁失性内存中的日志缓冲曛中。恢复处理器同时负责刷新日 志缓冲送。周期性的检验点操作也f ;i 丑恢复处理器完成,采用的是模糊检验点方法。 其著发控潮采鬟两段锁 办议, l | i 熬粒痊为关系缀。 4 t p k 系统 t p k 是p r i n c e t o nu n i v e r s i t y 开发的原型系统。该系统运行在多处理器系统 上,测熏予氆贷型事务戆快速楚毽。该系统中戆记录缘膏瞧一标识符,豢务可| 冀 根据该标识符来读敬和更新记录。 t p k 系统包含四种类型的并发线程:输入线程、执行线稷、输出线糨、检验 点线程。錾蠡入线程接渡数攥著将数攘透过麸列臻绘攮牙线毯,羧出线程竣出事务 执行的结果并使结果对检验点线稷可用。执行线程负责事务的执行及记录同志, 检验点线程负责更新阐定存储器上的数据库的拷贝。通常t p k 系统中只有一个 执行线毯秘检验点线瑕,僵可以稳多个输入线程鹈输出线稷。捷幸亍线程零行亿撬 行事务,因此不需进行并发控制。 t p k 采用组提交的方式减少姆个事务的磁盘写次数。为了方便检验点的操 作,t p k 系统中同时存在一个数攒麾的两个浃像,其中主数据库进行正鬻的事务 操作,蕊检验点线翟j | l l j 根据霜志嚣新辅驹数据撵,并将辅助数据库斌翔t 陡豹保存 到磁盘。 5 。s y s t e m m 系统 s y s t e mm 燕由p r i n c e t o n 开发的内存鼗撵鬻实验系统。该系统在传统的硬件 系统上送行,既不依赖于功能分离的专用处理器,也不依赖于非易失性内存。该 系统采用了影子内存技术。 s y s t e mm 在m a c h 搽 乍系统中实现了一缀合作霰务( 线褪) ,其中漕怠骚务接 收事务请求并返回结果给客户端,幕务服务执行事务并更新数据库和记录日志, 日志服务刷新内存日志数据到磁盘,检验点服务保持外存中的数据库拷贝达到最 藏装态。 华中科技大学硕士学位论文 s y s t e mm 对内存数据库的恢复技术进行了大量的研究。该系统中同时实现了 几种检验点技术:模糊检验点、黑自检验点、爨新拷贝,同时采用了预掇交和组 提交技术班提供有效豹强恚处瑾。 1 3 论文研究的主耍内容 内存数箍淳不仅仅是采爰疆大瀚工作内存,更重要的建在肉存数据簿中数据 库是常驻内存的。考虑到内存的易失性等因素,适用于传统数据库的恢复机制相 对内存数据库而言不辩有效率,并且内存数据麾的恢复相对于传统数据库丽言更 为重要。m m d b 岿须辘够提貘蠢效、可靠熬浚复掇潮,餐褥在发生系绕放薄时 能将数据库恢复到个一致性的状态,保证系统的可用性。 本文对嵌入式环境的内存数据库的恢复技术进行了研究,设计并实现 a r t s e d b 系统中戆浚复子系统。 首先介绍a r t s e d b 的总体结构,分析恢复予系统与系统其它部分之间的联 系,以及恢复子系统内部各模块的相互关系。然后详细描逃恢复子系统的各组成 部分疑聚躅弱繁略翻雾法。最后,壤菱努橱搂凝检验点算法襄完全重装、部分重 装的算法,对算法性能进行理论分析。 华中科技大学硕士学位论文 2a r t s f :d b 的,陵复子系统 a r t s e d b 是个基于内存数据库的嵌入式实时数据库管理系统,采用内存 数据库作底层支持,支持主动机制,支持实时攀务处理。恢囊子系统是a r t s e d b 酌重要缀成部分,负责对数据瘴运行魏闻所发生豹备耱数薄进行恢复处理。在 a r t s e d b 中,恢复子系统必须执行大量费时的磁盘i o 操作,因此恢复子系统 的性能对整个系统性能显得更为关键。 2 1a r t s e d b 的系统组成 2 1 系统特陛 a r l 两e d b 是一个基于内存数据库的嵌入式实时数据瘁管理系统。系统包括 一套扩展的s q l 谮畜以描述主动实时的语义;采用内存数据库作底层支持,提 供赢效靛数据存德秘存取能力,支捺事务斡霹预报性;其煮“识时机制”,以支 持实对搿务的定时隈制;引入主动机制,以允许用户显式说明并自动地濂视与评 价特定的情形,当指定情形出现时自动触发执行一定的活幼;采用多线程机制, 具有资源占用少、可控制性强、遥信简便的黪点。 嵌入系统是以疲塌为中心,软硬件可裁减,适应应角系统对功髓、可靠性、 成本、体积、功耗等综合性严格要求的专用计辫机系统。嵌入环境包括嵌入式处 理器、榴关支撑硬件、嵌入式操作系统等。它对运行英上的数据库系统( d b m s ) 提供硬件和操 笮系统级捌上酌实辩支持,同爵簧求d b m s 熊够充分运瘸并发挥环 境所提供的实时特性,更好的满足应用需求。围此,嵌入环境要求数据靡系统具 有一定的适应性,可裁减。 实辩应爆要求数据痒系统必须具有班下三个重要褥健鞠功麓: 1 确保数据库的状态与被控系统的实际状态一致( 外部一致性) ; 2 熊按被控系统所决定的时间限制及时肖效地处理数据; 3 。戆对一定静渗黪透嚣登禚帮叁魂骰爨茂盛。 华中科技大学硕士学位论文 这就意味着支持实时应用的数据库必须提供:正确性、及时性、主动性,即 它应集成实时、主动数据库的功能特性,必须提供主动机制以监视预定的关于正 确性、及时往翡限铡,一曼隈翻满足,垂动镦爨反应。上述特性涉及蓍予趸户对 一个共卒信息库的存取,并且必须使其保持一致性状态。 一个主动数据库管理系统a d b m s ( a c t i v e d a t a b a s em a n a g e m e n ts y s t e m ) 具有 下列扩溪功麓: 1 用户可以显式地定义想要监视的情形( 事件与条件) ; 2 系统自动探测与评价情形的出现; 3 ,一旦浚察黪4 凌形蠢褒,瓣爨动撬嚣稳应弱话囊。 这魑功能既可支持外部应用,也可用于实现或扩展d b m s 本身的功能,如完 整性及安全性控制、导出数据、熬于规则的推理、以及报警、性能测试游。 主动数据瘴戆功楚秘特性使褥筵特别适合予实时应鼹环壤。在实时应爰坯壤 中存在祷各种关于数攒库状态、状态变迁、定时限制等,势要求系统能评价这些 限制的满足且在限定条件满足时能各自触发巢一活动,而邋些都不要用户( 应用 程序) 款子预。 所以,实时数攒库和主动数褥库的有机结合可以有效圭电支持实时应蹋,因为 主动数据库提供了襻储控制知识的机制,这种摭制知识可以说明当特定情形出现 ( 事件发生虽条件满足) 时所必须采取的行动。这秘方式正逶合于实现邋索霞柬 控制现实世界过程的实时数据库繇绕。 2 12 运行环境 a r t s o s 是其有自主舨权的嵌入式实时操作系统,该操作系统针对实时环境 和嵌入式环境的特殊矮求进行了优化。a r t s o s 是a r t s e d b 的实时操作环境, 两个系统一起形成了配套的全自主开发的实时系统软件系列。 现有的许多内存数据库多采瘸革独翁佼簸处理器及j # 易失往内存以疆供较 高的性能,但是现有的系统中不一定都能达到遮一条件。a r t s - e d b 没有采用单 独的恢复处理器,同时针对系统中采用非易失性内存积不采用非易失性内存的两 释穗滋帮进行了磷究,因魏适鬟蕊更广,能蠢效翻矮现毒戆技术。 9 华中科技大学硕士学位论文 2 1 3 内存组织 在a r t s e d b 中采用基于关系数据模型的区一段式结构,如图2 1 所示。它将 存储空间逻辑的划分为“分区”,每一分区存储个关系;每个分区由若干“段” 组成,一个段是内存中一固定长度的连续区域,是内外存i o 的单位。每段中存储 关系的若干元组。每个元组有一个唯一的标识符t i d ( t u p l ei d e n t i f i e r l ,它是一个 三元组 ,其中p ,s ,l 分别为分区号、段号、段内的元组编号。通过 t i d 和区段表就可以直接定位到需存取的元组。 这里,暂时不考虑一个元组超过一个段的大小和变长元组这两种情况。 2 1 4 系统组成 图2 1a r t s - e d b 的存储结构 a r t s e d b 分为六个分系统,分别是数据说明与用户接口、数据处理、事务 管理、查询处理、数据存储与存取、系统管理。恢复子系统属于数据存储与存取 l o 华中科技大学硕士学位论文 分系统。 数据说明与用户接口分系统分为数据说明、应用程序说明、用户界面等三个 子系统,负责处理用户的输入和显示输出结果、数据字典的维护、应用程序编译 等工作。 数据处理分系统负责完整性检查、存取控制与主动机制。 事务管理分系统负责事务的接纳、调度、并发控制、事务的状态处理。 查询处理分系统负责进行查询处理和进行记录的插入、删除、更新操作,并 在事务运行期间维护用户工作区。 数据存储与存耿分系统负责对内存数据库的维护、外存数据库的维护、内外 存数据库的交换、恢复。 系统管理分系统负责系统的处理、系统的配置、错误处理。 2 2 恢复子系统 在计算机系统中出现硬件故障、软件故障等都是不可避免的,这些故障轻则 造成事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库 中部分甚至全部数据丢失。数据库的恢复子系统的功能就是在故障发生后将数据 库从错误状态恢复到某一个已知的正确状态或正确状态。恢复机制与并发控制机 制是事务管理的两个重要组成部分。恢复子系统是数据库管理系统的一个重要组 成部分,一个数据库系统所采用的恢复技术是否行之有效,不仅对系统的可靠程 度起到了决定性作用,而且对系统的运行效率也有很大的影响,是衡量系统性能 的重要指标。 2 2 1 故障种类 a r t s e d b 的恢复子系统的目的是对系统运行过程的中发生的各种故障进行 处理。首先需要分析故障发生的原因及种类,从而根据原因及种类提出相应的处 理方法,设计相应的处理模块。 数据库系统中可能发生的各种各样的故障大致可以分为以下三类: 1 事务故障 华中科技大学硕士学位论文 事务故障指局限于单个事务的故障,例如算术溢出、被零除、并发事务发生 死锁器嚣被逡中擞销该攀务、违反綦些完整性骧测游。事务敬黪惫凑羞攀务没有达 到提交驰状态,此肆童恢袈予系统要在不影嗡其它霉务运露的情况下,强行豳滚该 事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务像根本没有启 动一榉。 2 。系统故障 系统敝障是指造成系统停止运转豹任何事件,使得系统需臻重新船动。例如 c p u 故障、系统搏魄等。这类故障影响正在运行的所有事务,圆时主存中舱数据 都被丢失。在内存数攒露中,由于数据库常驻内存,因此系统故障的恢复就变得 至关羹耍。对于系统故障的恢笺,需要根据所记豢的目恚来将散据库恢复剿最近 的一致性状态。 3 + 介质故障 介蹑敬簿毫括掰霄浮致本圭氇磁盘数据簿被损坏靛敬辫。倒翔磁盘损坏、数据 库的相关文件被误删除等。这类故障比前两类故障发生的可能性小的多,但是破 坏褴憝最大的。对于介潢故障的浚复,要求定期保存数据库的副本,然后在介质 敲薄袋盆麓从裂本孛逡嚣壤复。 一个完蹩的数据库筲理系统应该能够在发生以上三种故障之后将数搬库恢 复至l 豢透的一致注状卷。 2 2 ,2 恢袋子系统的系统环境 为了究成浚复豹处壤功能,+ 陵鼗子系统与系统其它各部分都有紧辩翡联系。 恢复_ 孑悉绕数系统巧壤绥稳图魏图2 。2 瑟承。 恢复予系统与系统的其它功能模块有如下接口; 1 扶数据说爨分系统褥到数据字龚( d 秘、数据痒 嚣。b ) 、触发嚣窿、攀务表 f t t ) 等数瓣壤息。 2 数攒查询分系统在进行疆新操作时调用l o g g e r 记渌数裙操作同志。 3 。攀务警理予聚绞在事务开始、提交、天捞辩调爰l o g g e r 逸录事务黪r 志, 并由l o g g e r 模块完成活动弱志睡龄饕理。 l 1 2 华中科技大学硕士学位论文 鹫2 2 恢囊予系统的系统环境 4 从预分析处理予系统( p r e a n a l y s i s ) 得到关于察务及其所需数据的预分析结 裂,雳予数掇痒弱敖薄蜃燕装。 5 l o g g e r 需要向内存管理子系统( m 。m m ,m a i nm e m o r ym a n a g e m e n t ) 申请 记录活动日忠所需的内存,并在适当的时候释放。 6 与o s 浆接口是撅笈子系统设计中重要且关键躲趣题。a r t s e d b 建立在 寅时操作系统( r t o s ,r e a l t i m eo p e r a t i n gs y s t e m ) 之上,由操作系统提供的内存 管理、文件管理的系统函数实现a r t s e d b 的数据存储与存取。 2 2 3a r t s e d b 熬滚菱子系统豹缓戏 一般来讲,数据库的恢复可以分为两个部分:第一是在事务执行过程中记录 冗余数据,第二是在故障发生后剥用这魃冗余数据实憋数据库的恢复。记录冗余 数据最常用鹃技术是数掭转储和登陆爵患文件。 a r n e d b 的恢复子系统包括四个模块,即l o g g e r 、c h e c k p o i n t e r 、b a c k u p e r 、 r e c o v e r i e r ,如图2 3 所示。其中前三个模块的目的是记录冗余数据,r e c o v o 囊e f 模块的嚣懿燕澍用藩三个模块掰建立静冗余鼗撂采实施数据淳的後复。 恢复子系统的处理流程如下: 1 当一个事务开始时,由l o g g e r 模块向内存镣理模块( m m m ) 申请同志汜 华中科技大学硕士学位论文 图2 3 恢复于系统的体系结构 录的内存空间,并记录该事务的状态信息。在事务执行过程中,事务对数据库进 行的相关操作的信息都由l o g g e r 模块负责记入该事务的活动日志区中。在事务 提交时l o g g e r 模块负责将日志刷新到固定存储器( 如磁盘) 中。 2 在系统运行期间c h e c k p o i n t e r 模块周期性地将内存数据库中的脏页面刷 新到外存数据库中,并在刷新完成之后记录新的恢复起始点。 3 在用户( 管理员) 参与下,b a c k u p e r 模块定期地将本地的外存数据库转 储到远程的备份存储器中。 4 事务故障的恢复:由于采用延迟的数据库修改策略,每个事务都有自己 的工作区,在事务成功提交前事务所进行的修改并没有更新到主数据库中,因此 当出现事务故障,需要强行撤销某个事务时,只需要释放该事务的用户工作区, 不会影响到主数据库的一致性。如果在更新数据库的过程中出现错误,那么由于 日志已经提前写入非易失性存储器中,因此可以根据日志进行重做操作;如果在 写日志的过程中出现错误,那么事务也就没有提交成功,此时也不会对数据库进 行更新,因此不会破坏数据库的一致性。 5 系统故障的恢复:在系统故障发生后,系统重新启动后根据需要装入优 先级高的事务的数据和存取频率高的数据,然后扫描同志文件,将已成功提交的 华中科技大学硕士学位论文 事务进行r e d o 操作。这一过程由系统自动完成,不需用户干预。 6 奔质故障的恢复:截止故障发生后,首先装入备份存储器中最新的数据 痒跨螽番副本班及转镶对麓日志文俘截本,并裰据该嚣志文译对该鼗摇痒戆螽备 副本进行恢复操作。然后检查截止故障发生时系统的日志文件是否存在,若存在 则根据该圈志文件对恢复后的数据库再次进行恢复处理。 2 ,3 影响恢复机制的主要因素 2 3 1 数据特征的影魄 主动实时数据库系统系统中的数据有时态数据( 即数摇的有效期和时间相关) 和非时态数据之分。对于时态数据,其日志记泶、恢复机制均与时间有密切联系。 数据奄效凝低的数攒邋常无需蛇泶u n d o r e d 0 式目志,因为经u n d o 攮作丽 存玻磁焱获得的该数强钧强前静敝本可能已疑无效;商祥r e d o 操作所获得版本 也可能怒无效的。送炭数据的r e d o 和u n d o 只需简单的采用抛弃和煎请求的 方法。黢此恢复算法主要针对赢数据有效期的数据和非时淼数据丽言。 舅癸,数据嚣美键控密壹援影稍着系统的簸复辊裁。霹予关链数攒,其一致 性和有效性必须确保,而且在系统崩溃时应尽快有效的恢复。至于其它非关键数 据则可以晚一点再恢复。在时间和资源受限的情况下,数据的关键性决定了优先 狡复繁舔( 帮傀先对关键鼗撵遂季亍滚复) 豹疆稍突麓。 2 3 2 鬻务特征的影响 圭动实对数掇滗系统戆事务按功麓可良分为三类:数攒绩浚、鼗疆执行露执 行控制【4 2 。区分这三炎事务有助于确定记日悫和恢复处理的方式。 1 数据接收事务t a 它汜泶外部环境中发生的有关攀件到数据库,所以它 一般为楚擎弱哭写攀务。尧了镶搀数据疼静“穸 部一致瞧”秘鼹踩记豢,它是矮 的、周期的,且是应被立即执行( 不能等待和阻塞的) 的硬实时事务,而且所产 生的数据通常是低肖效期的数据,这种数据需常驻内存数攒库且无需对其记录同 志帮逡行谖复。 2 数据处理攀务t u 它类似于传统数据席的事务,可能对数据麾进行读写 一 15 华中科技大学硕士学位论文 操作。如果其操作的对象是高有散期的数据,则记录日志和恢复。u n d o r e d o 日志、u n d o 目志、r e d o 尽志部是可以采用的,取决于数掇特征、事务优先级 和内羚存交换策略。 3 执行控制事务t r 执行控制事务是引趣现实世界中有关活动的执行的事 务。像数据接收事务一样,这种攀务是很短的,尽管所引越的现实活动可能要执 行穰长时润。它透露氇是硬实时豹。由于宅在撼交之翦倭哥瞄耱瑾的改变9 都环 境状态,因此对其进行恢复处理不能采用传统意义下的“还原”( u n d o ) 操作, 而只能通过运行一个“ 偿事务”来补偿它的影响。这需要涉及复杂事务模型, 在本系绞暂穗不予考疼。 2 4 恢复子系统所采用的策略和算法 在淘存数援疼孛,滚复鼓拳不闻予簧绫懿浚复,塞予後笈中静i 0 攮 乍是整 个系统i o 操作的绝大部分,因此,如何选择合适的策略对系统的整体性能影响 是非常大的。 2 ,4 1霸悫 a r t s e d b 中,每个事务都有单独的用户工作区,当攀务提交的时候对叫哿事 务所傲l 搀修改更毅至凌存数据库中e a r t s e d b 支持采用非易失穗内存和不采灞菲易失往内存的两种运行环境。 当采用非翁失性内存时,将日志置于非易失性内存中以支持系统的快速恢复并提 高事务提交处理的遮度。 由于每个事务都国单独的躅户工于# 区,因此可以采弱r e d o 磊恚,鄹只记录 更改的臌映像信息。每个事务的存在着单独的活动日志区。 事务提交时首先将浚事务的活动同志刷撅刘固定存储嚣,或者采用非易失性 蠹存记荣霾恚。謇宠存疆器中静嚣恚按强恚记慕掰对应靛鼗撵块进行聚粲。 2 ,4 2 梭验点 为了支持实时事务籍鳇,必矮聚薅模寮检验点算法,并在器量不彩噙事务运 华中科技大学硕士学位论文 行基础上快速完成检验点的操作。 2 。43 惫傍 与检验点类似,可以采用模糊备份的方法。也可以采用同志驱动备份的方式。 2 4 ,4 故障后重装 在恢复处理方筒,通常采用部分重装的方法,即优先装八优先级高、存取频 率高的数据,然后进行恢复并城入其它的数攒。 2 5 小辖 本章首先讨论ta r t s e d b 的所支持的运行环境及内存数据库系统的内存组 绥缝稳,搂羞对a 辩轴。e d b 夔总傣绥穆遴嚣会绍。 在分析了数据库系统中的故障种类的基础上,考察了恢复子系统与系统其它 部分的相互作用。紧接着设计了恢复子系统的各个组成部分。 最嚣分接了实时数据库系统中影噙恢复识鸯夔主要舜索,并在此鏊磁上对莰 复子系统各个模块所采用的算法进行了简要的说明。 一 _ 1 7 华中料技穴学硕士学位论文 3旦恚 登记日志是恢复予系统建立冗余数据的最常用的技术。通过日志可以用来进 行事务故障恢复和系统故障恢复,并协助后备剐本进行介质故障恢复。 ;j | 志模块 的设计懑想是既要记录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 痛风性关节炎全程管理知识
- 吉林四平市双辽市2025-2026学年下学期期末质量验收八年级历史试题-文字版-含答案-
- 3T MR功能成像:开启肝纤维化精准诊断新时代
- 3D打印木塑夹层结构性能剖析及家具设计创新应用研究
- 3-甲基腺嘌呤(3-MA)对肝纤维化预防作用的实验与机制探究
- 220kV变电站主变中性点小电抗接地运行的多维度解析与优化策略
- 2008年联邦·高登家私公司营销计划:挑战与机遇下的战略布局
- 混凝土、模板、钢筋施工方案
- 医疗器械知识考试题及答案
- 医疗廉洁风险点及防控措施
- T/CAEPI 62-2023颗粒活性炭吸附-氮气脱附溶剂回收装置技术要求
- 驾考宝典三力测试考试试题及答案
- 委托收款协议合同协议
- 事故处理委托书模板
- 文本课件制作教学课件
- 电力工程居间合作协议样本
- 施工勘察方案
- 23J916-1:住宅排气道(一)
- 分布式光伏发电系统项目EPC总承包合同模板
- 5500必考词考研英语
- GM/T 0109-2021基于云计算的电子签名服务技术要求
评论
0/150
提交评论