嵌入式移动实时数据库系统的恢复策略研究硕士学位论文文档格式.docx
- 文档编号:20970607
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:60
- 大小:602.40KB
嵌入式移动实时数据库系统的恢复策略研究硕士学位论文文档格式.docx
《嵌入式移动实时数据库系统的恢复策略研究硕士学位论文文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式移动实时数据库系统的恢复策略研究硕士学位论文文档格式.docx(60页珍藏版)》请在冰豆网上搜索。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:
学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本论文属于
保密□,在_____年解密后适用本授权书。
不保密
。
(请在以上方框内打“√”)
学位论文作者签名:
指导教师签名:
日期:
年
月
日
日期:
摘要
随着计算机嵌入式技术的快速发展和移动技术的不断进化和完善,嵌入式移动设备的性能得到很大的提高,同时各种应用对实时性的要求也越来越高。
由移动计算、实时应用结合传统数据库技术而形成的嵌入式移动实时数据库系统已成为数据库领域的热点课题,数据库系统的恢复是其中的关键技术,恢复系统要充分考虑资源、时效、应用环境的限制,满足恢复的实时性和移动性。
嵌入式移动实时数据库系统的恢复系统除了要满足传统恢复系统的基本特性外,还要着重考虑移动主机端的日志存放、基站端的日志存放、过区切换策略、检查点策略等问题。
使用短暂日志和动态检查点频率的两级日志恢复算法AR-2LL-ELDCF(AlgorithmsforRecoverybasedon2-LevelLogUsingEphemeralLog&
DynamicCheckpointFrequency)是一种有效的恢复策略。
AR-2LL-ELDCF算法使用短暂日志的思想,在移动主机端只保存一般恢复时需要的undo日志,称为有效短暂日志,同时将过期短暂日志发送到基站保存以满足之后的审计需要;
如果有效短暂日志在移动主机端保存不下,则发送到基站进行保存,需要恢复时就从基站读取有效短暂日志数据。
AR-2LL-ELDCF算法使用动态检查点频率,使有效短暂日志的大小合适,尽可能在移动主机端可以全部保存,以便系统崩溃后可以迅速恢复。
该算法的过区切换策略与有效短暂日志传输到基站的策略紧密结合,可以在需要基站保存有效短暂日志的情况下缩短恢复时间。
关键词:
移动实时恢复,短暂日志,两级日志,过区切换
Abstract
Withtherapiddevelopmentofembeddedtechniqueandmobiletechnique,theperformanceofembeddedmobiledeviceshasbeengreatlyenhanced.Variousapplicationshavemoreandmorerequirementsonreal-timing.EmbeddedMobileReal-timeDatabaseSystemwhichintegratesthemobilecomputation,real-timeapplicationandtraditionaldatabasetechnologybecomeafocusintheresearchofdatabase,inwhichrecoverytechniqueisthekeytechnique.Therecoverysysteminthissystemshouldconsideraboutthelimitationofresource,timeandefficiency,sothattherecoverycouldfitthedemandofreal-timeandmobilecharacteristic.
Besidesmaintainingthecharacteristicsoftraditionalrecovery,themobilereal-timerecoveryshouldfocusonhowtostorethelogfileinmobilehostsandbasestations,strategyofhandoff,andstrategyofcheckpointing.AlgorithmsforRecoverybasedon2-LevelLogUsingEphemeralLog&
DynamicCheckpointFrequency(AR-2LL-ELDCF)isaneffectualstrategyofrecoveryinembeddedmobilereal-timedatabase.
AR-2LL-ELDCFusesephemerallogandonlystorein-useephemerallog,whichisusefulatordinaryrecovery,inmobilehosts.Theoverdueephemerallogistransferredtobasestationstostorefortheneedsofaudit.Ifthein-useephemerallogistoolargetostoreinthemobilehost,itissenttothebasestation.Inthiscaseitisneededtodownloadthein-useephemerallogtomobilehostbeforerecovery.
AR-2LL-ELDCFusesdynamiccheckpointingfrequencytocontrolthesizeofin-useephemerallog,sothatitcanbecompletelystoredinthemobilehostasfaraspossible.Thestrategyofhandoffiscloselycooperatingwiththestategyofin-useephemerallogtransfer,whichcanreducetherecoverytime.
Keywords:
Mobilereal-timerecovery,Ephemerallog,2-Levellog,Handoff
目录
摘要I
AbstractII
1绪论
1.1课题背景
(1)
1.2嵌入式移动实时数据库系统的特点
(2)
1.3恢复(6)
1.4本文组织(10)
2恢复的基本理论和方法
2.1日志(11)
2.2检查点技术(12)
2.3传统恢复策略的分类(14)
2.4经典的恢复算法ARIES(17)
2.5移动实时数据库系统恢复的相关理论(17)
2.6本章小结(17)
3一种嵌入式移动实时数据库系统的恢复策略
3.1嵌入式移动实时数据库系统恢复模型(18)
3.2基于两级日志的嵌入式移动实时恢复算法(24)
3.3本章小结(39)
4系统实现与性能评价
4.1原型系统设计与实现(40)
4.2算法性能评价(54)
4.3本章小结(58)
5总结与展望
5.1工作总结(59)
5.2将来展望(59)
致谢(61)
参考文献(62)
附录攻读学位期间参与的科研项目(66)
1.1课题背景
随着社会生活各个方面的信息化程度越来越高,数据库管理系统(DatabaseManagementSystem,DBMS)得到了越来越广泛的应用,成为计算机应用系统中不可缺少的组成部分。
同时,许多应用场合对数据查询处理的需求也越来越高:
要求随时随地查询所需的数据,并且需要在限定时间内得到回应,这就需要有一种能满足这些需求的嵌入式移动实时数据库系统(EmbeddedMobileReal-TimeDatabaseSystem,EMRTDBS)。
与传统数据库系统相比,由于嵌入式移动实时环境的特性,它可以支持更多新的应用:
公共信息发布,用户通过无线便携设备了解新闻、股票、天气等信息资源,并及时做出决策;
军事作战,每个士兵都作为独立的系统单元,实时处理战场信息并与服务器进行交互,服务器综合各单元的移动信息指挥整个战场行动;
移动电子商务,随着用户所处地点的变迁,数据库查询将总是显示最新有效的商务信息,满足商务用户对位置相关和异地操作的特殊要求。
本课题组的目标便是开发出一个嵌入式移动实时环境下的数据库管理系统,支持移动终端的嵌入式数据库和中心服务器数据库的运行和管理。
和普通的数据库系统一样,嵌入式移动实时数据库系统可能会由于一些不可预知的软硬件故障而影响事务的正确运行,造成数据库中的数据丢失甚至破坏数据库,给数据库的一致性和可靠性维护带来挑战。
而恢复系统的作用正是在出现故障后将数据库中数据从不一致的状态恢复到某种逻辑一致的状态。
各种现有数据库系统运行情况表明:
数据库系统采用的恢复技术是否行之有效,不仅对系统的可靠程度起着决定性作用,而且对系统的运行效率也有很大影响,是衡量系统性能优劣的重要指标。
由于移动环境的移动性和易错性[1]等特点,嵌入式移动实时数据库系统可能要面对更多的故障,需要更频繁地进行恢复。
同时,嵌入式移动实时数据库系统要满足各种应用的实时性要求,遇到故障后的快速恢复是系统达到实时性要求的重要保证。
嵌入式移动实时数据库是传统数据库发展的新阶段,可以满足许多应用场景的需要,特别是对武器制导这种对实时性、移动性和嵌入性要求很高的应用更为重要,而恢复系统作为保障整个数据库系统在故障情况下迅速恢复正常运行的子系统,其重要性不言而喻,有着非常重大的理论和实际意义。
1.2嵌入式移动实时数据库系统的特点
1.2.1嵌入式系统
嵌入式系统是以计算机技术为基础,根据应用的具体需求来量身定制的专用计算机系统,它的软硬件可裁剪,同时对功能、可靠性、成本、体积、能耗等有严格的要求。
恢复子系统的设计要充分考虑这些硬件的性能问题,如电源有限和内存有限的问题。
嵌入式系统一般使用电池供电,要尽量节能才能延长使用时间;
同时内存相比一般PC机也是很小的,要使用尽可能小的内存完成需要的功能。
在系统设计时要做相应的优化和设计,以充分利用系统资源,提高应用效率。
1.2.2移动数据库系统
移动数据库系统模型如图1.1所示。
由于移动环境的移动性、连接的频繁断接性、网络条件的多样性、网络通信的非对称性、系统的高伸缩性和低可靠性以及资源有限性等特点,使得移动事务相比传统的分布式事务具有移动性、长事务、易错性和异构性等特点[1]。
传统的ACID特性已经不能很好的表征移动事务的一致性,要为恢复系统的一致性准则找出新的标准,同时要解决过区切换对恢复系统的影响。
图1.1移动数据库系统模型
1.2.3实时数据库系统
实时事务不同于传统事务,它不是以ACID特性作为正确性标准的。
实时数据库的数据和事务都可以具有定时特性或显式的定时限制,系统的正确性不仅依赖于逻辑结果,还依赖于逻辑结果产生的时间[2]。
有时候为了要满足实时性的需要,可能要以牺牲一部分的一致性作为代价。
实时数据库与传统数据库最大的区别在于其一部分数据和事务是“实时”的,即有时间限制的。
1.实时数据
数据的“实时”性表现为有效期,超过有效期的数据是无效的,需要重新读入进行刷新。
这部分数据的正确性不仅取决于数据库内的完整性和逻辑一致性,还取决于其有效期是否满足。
要保持数据库中的实时数据尽量处在有效状态,在此提出时态一致性的概念。
对实时数据库中的一个数据对象d,其被观测或采样的时刻记为ot(d),其绝对有效时间的结束又称外部有效期记为evi(d),对象在数据库中记录的当前值记为v(d),则实时数据对象可以用一个三元组表示为d:
<
v,ot,evi>
[3]。
定义1.1实时数据d具有绝对时态一致性,当且仅当d的当前值满足数据库内部的完整性和一致性逻辑要求且ct(d)-ot(d)≤evi(d),其中ct(d)为当前检测时间。
定义1.2用来作决策或导出一个新数据的一组数据称为一个相互(相对)一致集,每个数据集都与一相对有效期(RelativeValidityInterval)相联,记为Rrvi。
定义1.3当且仅当
d1,d2∈R有|ot(d1)-ot(d2)|≤Rrvi,R是一个相互一致集。
2.实时事务
事务的“实时”性表现为截止期,超过截止期的事务会影响整个数据库的一致性。
依照实时事务的特征,一般按如下几种方法将实时事务分类。
(1)按关键性分类
根据实时事务的时限的性质,即事务超过截止期后对系统带来的影响分类,可将实时事务分为硬实时事务、软实时事务和固实时事务三类[4]:
硬实时事务超截止期会导致恶果(价值函数取大且可能不断增加的负值)。
它对应于安全危急性活动。
软实时事务超截止期仍有一定的价值,且价值不断下降,直到某一时刻(称为最终有效时间)降到零,此后保持为零(不会为负)。
固实时事务一旦到达截止时间,其价值立即降为零,此后固定为零(也不会为负)。
显然,它是软实时事务在最终有效时间与截止时间重合情况的特例。
图1.2所示为这三种实时事务的价值函数,其中横轴t表示时间,纵轴v表示这个事务的价值,s为事务的开始时间,d是截止期,e表示事务价值降为0的时间。
图1.2三类实时事务的价值函数
(2)按功能分类
一个实时数据库系统以两种方式直接与现实世界交互作用,一是关于现实世界状态或事件的信息被记录到数据库中,二是事务可以启动各种影响现实世界的活动。
这就导致如下事务分类方法:
数据接收事务记录现实世界的状态或发生的事件到数据库中。
它是简单的只写事务;
为了保持数据库的“外部一致”和跟踪记录,它应是短的、周期的,且应是被立即执行(不能等待和阻塞)的硬实时事务。
为了保证其定时限制的满足,它可能会引起对数据库一致性的破坏。
数据处理事务类似传统数据库的事务。
它对数据库中的数据进行读写,通过对已有数据的运算得到新的数据。
控制事务引起现实世界中有关活动的执行。
像数据接收事务一样,这种事务是很短的,尽管所引起的现实活动可能要执行很长时间。
它通常也是硬实时的。
这种事务还可以作为数据处理事务的子事务而被调用,而它本身也可以触发子事务,比如以一子事务来检测所引起的现实活动。
随着嵌入式移动实时数据库应用市场需求的与日俱增,越来越多的商家都投入到这个大的开放性的市场中,也出现了一系列各具特色的商业产品。
在国外,有Sybase提供业界领先解决方案的SQLAnywhere,Oracle针对移动计算推出的OracleLite,IBM的DB2satellite及DB2Everyplace,以及微软的MSDE引擎等等;
在国内,也逐步由理论研究转向实际产品开发,较有代表性的有东北大学的OpenBASEMini,人大金仓研发的“小金灵”系统等。
现在嵌入式移动实时数据库已经形成了较为成熟的产业,成为嵌入式系统不可缺少的部分,但是相对国外数据库的发展模式而言,国内起步较晚、应用面较小、应用领域也不够广,同时存在着理论研究、原型设计与产品商业化分离的不足。
不过随着计算终端的小型化,应用领域的不断扩展,可以预见,不久的将来其应用将进入到移动互联网、移动电子商务政务、移动物流、移动金融系统、移动新闻等多个商业与经济领域。
1.3恢复
恢复子系统是数据库系统不可缺少的组成部分,传统数据库系统恢复策略的研究已经非常深入,分别对应于嵌入式、移动、实时环境的恢复也已研究颇多。
Davis于1973年在文献[5]和[6]中提出了控制区域(Soc)的思想,随后演变成了事务的概念。
Chandy等人在文献[7]中描述了数据库系统的回滚和恢复的分析模型。
Verhofstad在文献[8]中针对不同的故障形式提出了七种恢复技术,包括:
救助程序、增量备份、审计跟踪、微分文档、备份当前版本、多重拷贝、仔细替换。
Haerder和Reuter在文献[9]中对恢复原理进行了全面的阐述。
1.3.1传统数据库系统的恢复
传统数据库系统的恢复技术本身涉及到多个方面,如日志记录、备份与恢复的机制与策略、检查点技术等。
但是传统恢复策略没有考虑实时、移动及嵌入式特性对于恢复策略的影响,传统的分布式事务恢复策略也不能直接应用于移动恢复中来。
1.3.2实时数据库系统的恢复
实时恢复以传统的恢复技术为基础,同时要充分考虑数据及事务的实时性对于恢复策略的影响。
所谓“实时”,就是能在规定时间内完成规定的操作,实时恢复必须足够迅速,在系统崩溃或事务失败后在尽可能短的时间内将系统恢复到上一个一致状态,使系统能够尽可能快地重新投入使用。
同时,恢复策略带来的运行时开销要足够小,不能影响系统正常运行时的实时性。
实时恢复也要对数据进行区别对待,比如重要数据和硬实时事务要使用的数据要首先恢复,保证系统的硬实时事务截止期能够满足,而其他一些数据可以在稍后再进行恢复。
有时候为了保证系统的实时性,可以牺牲一些一致性。
有些数据会周期性的从外界读入进行更新,这些数据在恢复时可以不用考虑,在下次更新中会成为有效数据。
对实时数据库系统的恢复策略的研究虽然没有传统数据库系统的恢复研究成果多,但是也已经比较深入。
Huang的博士论文[10]是最早研究实时数据库恢复策略的论文之一,文献[11]是他博士论文中实时恢复策略思想的精简。
他提出实时内存数据库的四种恢复技术,这些技术同时适用于时态和非时态数据,同时考虑了时态数据的有效性。
这四个日志技术的区别在于一般操作过程中的无效数据是否计入日志,以及时态、非时态数据的日志是否保存在同一个日志缓冲中。
他还提出了更新频率有效间隔(update-frequency-valid-interval)检查点策略。
在这个策略中,非时态数据基于更新频率分区,而时态数据基于它们的有效期分区。
含有最经常更新页面的非时态数据的分区(称为热分区)将比其他分区有更多的检查点。
时态数据,尤其是那些有效期很短的,将尽可能频繁地刷新到磁盘中。
这样,恢复过程只需处理相对较少的日志信息即可。
因此,这个设计的目的在于用运行时的检查点开销来换取较少的恢复时间。
同时,希望时态数据的频繁刷新可以保证临时数据在失效之前被使用。
为了减少检查点带来的负载,对于有效期小于某个预先定义的阈值的时态数据不记录其日志,也不设置检查点。
Gruenwald和Cheng在文献[12]中提出基于日志类型的实时内存数据库日志技术。
事务类型日志(TTL)通过增加一定的日志空间,减少了redo的代价,也减少了事务处理过程中内存访问的次数。
当数据库中时态数据的比例超过50%后,TTL的性能超过了Huang提出的使用多缓冲的时态-非时态日志技术。
Sivasankaran在文献[13]中讨论了实时主动数据库中的数据的特征及数据存放、日志和恢复如何满足性能要求,同时也讨论了实时主动数据库中影响数据存放、日志和恢复的事务特征。
他强调需要设计一个新的日志恢复算法来解决优先级反转问题(优先级反转,即高优先级的请求要为低优先级的请求做一些工作,如一个事务提交后要刷新自己的以及比自己优先级低的事务的日志)的迫切性[14],而传统数据库日志和恢复算法不适用了面向优先级的实时数据库。
他提出了数据特征的分类方法以及从数据类型和事务类型衍生出的两个数据类,同时提出一套适用于RTDB的算法。
文献[15]提出了一种识时的(Time-Cognizant)日志恢复策略,使用条件日志(ConditionalLogging)的思想,将数据分为重要时态数据(CriticalVariantData)、重要非时态数据(CriticalInvariantData)和非重要数据(Non-CriticalData)分别进行日志记录。
这里的非重要数据都是非时态数据,对于非重要时态数据不进行日志记录,因为这类数据恢复后一般也超过了有效期,不如重新从环境中读取。
重要时态数据的日志分多个文件记录,每个文件中日志产生的时间是连续的,不同日志文件的时间是不交叉的,恢复的时候,同一个文件中的日志被看作一个整体,要么全部有效,要么全部无效,这样缩短了判断日志数据时候有效的时间。
同时,将重要数据的日志记录在非挥发性RAM(Non-VolatileRandomAccessMemory,NVRAM)中,而将非重要数据记录在磁盘(Disk)中,这样当故障发生时,可以在预定的时间限制内恢复重要数据,使系统恢复正常运转,然后再在后台恢复非重要数据,缩短了恢复需要的时间,提高实时性。
并且在系统正常运转过程中不做过多的检查点,将日志对系统性能的影响降至最低。
与文献[10]的方法相比,该方法在平时正常运行时的额外开销较小,恢复时间稍微长一点,但是在时态数据有效期较短的情况下,恢复时间的差距并不是很大。
文献[16]将实时日志分为实时事务日志、实时数据日志和活动日志三类,并考虑嵌入式环境的特点,给出记录日志的如下规则:
短时限时序数据对象不记录更新日志;
数据的更新程度小于某个阈值则不记录更新日志。
这样可以大大减少记录时序数据更新日志的存储开销,加快恢复速度。
同时,对于不同类型的数据采用不同的数据库修改技术:
时序数据对象采用立即更新技术,使时序数据的最近状态能及时反应到数据库中去;
非时序数据则采用延迟更新方式。
提出8条识时恢复正确性准则,将事务分为数据接收事务、数据处理事务和控制事务三种,基于识时恢复正确性准则给出这三种事务的恢复算法。
1.3.3移动数据库系统的恢复
移动事务由于其自身的特点,如移动性、连接的频繁断接性、网络条件的多样性、网络通信的非对称性、系统的高伸缩性和低可靠性以及资源有限性等,使得在恢复时要特别考虑移动性对恢复系统的影响。
要保证在移动环境中可以正确、迅速地恢复数据库到一致状态,要充分考虑移动事务相对于传统事务的各种特征,要着重考虑过区切换时日志的存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 移动 实时 数据库 系统 恢复 策略 研究 硕士学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)