传奇游戏资源实时发布中心...

基于日志之传奇数据库恢复技术之传奇探讨

日期:2012-09-27 19:31 转自:网游频道

    据库系统采用的日志文件格式并不完全一样。
  概括起来日志文件主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。对于以记录为单位的日志文件.日志文件中需要登记的内容包括:(1)各个事务的开始唧气,标记(2)各个事务的结束(或)标记(3)各个事务的所有更新操作这里每个事务开始的标记、每个事务之传奇结束标记和每个更新操作均作为目志文件中之传奇一个日志记录(109)。每个日志记录之传奇内新开传奇容主要包括:(1)事务标识(标明是那个事务)(2)操作的类型《插入、删除或修改)(3)操作对象(记录内部标识1(4)更新前数据的旧值(对插入操作而言,此项为空值)(5)更新后数据的新值(对删除操作而言,此项为空值)其他特殊的日志记录用于记录事务处理过程中的重要事件。如事务的开始积极事务的提交或终止。我们将各种类型的日志记录记为:娟。事务已经开始。娟,2。事务对数据项执行写操作。写之前的值是。写之后的值是2。》。事务已经提交。娟。事务已经终止。每次事务执行写操作之前.必须在数据库被修改之前建立该次写操作的日志记录。一旦日志记录已存在,如果需要,我们就可以输出对数据库的修改.并且。我们能够利用日志记录中的旧值字段来撤销已经对数据库的修改。3.日志记录缓冲为了从系统故障和磁盘故障中恢复时能使用日志记录.日志必须放在稳定存储器上。如果我们把每一个日志记录创建后立即写入稳定存储器上的日志的尾部。
  这样增加了大量系统执行的开销.其原因:通常向稳定存储器的输出是以快为单位进行的,在大多数情况下,一个日志记最新传奇录比一个块要小的多,因此,每个日志记录的输出在物理上被转化为大得多的输出。将一个块输出到稳定存储器上的开销非常高.因此最好是一次输出多个日志记录。为了达到这个目的。我们将日志记录写到主存的日志缓冲区中.日志记录在输出至稳定存储器以前临时保存在那儿。多个日志记录可以集中在日志缓冲区中.用一次输出操作输出到稳定存储器中。
  稳定存储器中的日志记录顺序必须与写入日志缓冲区的顺序完全一样。由于使用了日志缓冲区.日志记录在输出到稳定存储器前可能有一段时问只存在于主存(易失性存储器)中。
  由于系统发生崩溃时这种日志记录就会丢失.我们必须对恢复技术增加一些要求以保证事务的原子性:(1)在日志记录帆输出到稳定存储器后。事务进入提交状态。(2)在日志记录娟删血输出到稳定存储器前。所有与事务有关的日志记录必须已被输出到稳定存储器。(3)在主存中的数据块输出到数据库(非易失性存储器)前,所有与该数据块中数据有关的日志记录必须已被输出到稳定存储器。
  这一条规则称为先写日志(—西岛)规则。(严格说.规则只要求日志中的撤销信息已经被输出到了稳定存储器中。而重做信息允许以后再写。对在撤消信息和重做信息分别存储在不同的日志记录中的系统而言。这一区别不是无关紧要的。
  )这三条规则表明在某种情况下.某些日志记录必须已经输出到了稳定存储器上。而提前输出日志记录不会造成任何问题。因此,当系统发现需要将日志记录输出到稳定存储器上时.如果主存中有足够的日志记录可以填满整个日志记录块就将其整个输出。
  如果没有足够的日志记录填入该块。那么就将主存中的所有日志记录填入半满的块,在输出到稳定存储器上。4.延迟的数据库修改技术延迟修改技术(玳蛆一正)通过在日志中记录所有的数据库修改.而将一个事务的所有操作拖延到事务部份提交(事务的最后一个动作一旦执行。该事务就称为部分提交)时才执行。来保证事务的原子性。2007年第4期福建电脑51当事务部分提交时.日志上有关该事务的信息被用来执行延迟写。如果在事务完成其执行前系统崩溃。或事务终止,则只要忽略日志的信息就是。事务的执行过程如下。开始执行前,向日志中写入记录娟。的一次操作导致向日志写入一条网友爱玩本游戏新记录。最后。当西部分提交时,向日志中写入记录锄删皿。
  但事务部分提交时.日志中相关的记录被用来执行延迟写。由于执行该更新时可能发生故障,我们必须保证在开始更新前所有的日志记录已写到稳定存储器上。一旦日志记录都写到稳定存储器上,就真正执行更新。并且事务进入提交状态。
  请注意延迟修改技术只需要数据项的新值。因此。我们可以简化通用的更新日志记录.将旧值字段省去。让我们用简化的银行系统的例子加以阐述。令哟为一个事务,它将50元从账户转移到帐户::;:=-50;;;:=+50;沥。
  1为一个事务.它从帐户取100元:1:;::一100;诵。假设这两个事务是串行执行,先执行仰后再执行1.并且执行前帐户、的值分别是1000元、2000元和700元。
  日志中包含予这两个事务楣关信息的部分如图1。和1的执行可以产生多种对数据库系统和日志真正做输出的顺序。其中一种顺序下图2。注意到只有将记录哟,。能改变数据库中的值。图1图2利用丑志.系统可以处理任何导致易失性存储器上信息丢失的故障。该恢复机锚使用以下恢复过程:将事务更新的所有数据项的值设为新值。所更新的数据项的集合及其相应的新值可以在日志中找到。:操作必须是幂等的.即执行它多次等价于执行一次。故障发生后。恢复子系统检查日志。
  看哪个事务需要重新执行。事务需要重新执行当且仅当日志中既包含记录娟诅又包含记录订》。因此.如果系统在事务执行完成后崩溃,日志中的信息将用来把系统恢复到事务完成后的一致状态。5.立即的数据库修改技术立即更新技术(咖—姒6)允许数据库修改在事务仍处于话跃状态时就输出到数据库中。活跃事务所做的数据修改称为未提交修改(记)。在发生系统崩溃或事务故障时.系统必须使用日志记录中的旧字段值将修改的数据项恢复成事务开始以前的值。下面描述操作完成恢复。在事务开始执行前。+系统在日志中写入记录娟8龇。在执行过程中,执行任何操作前先要向日志写入适当的新的更新记录。当部分提交时,系统在日志中写入记录娟哪。由于日志中的信息要用来恢复数据库的状态.我们不允许在相应日志记录写到稳定存储器前对数据库做实际的更新。
  因此,我们要求在执行操作以前,与相关的日记记录必须已经写到稳定存储器上。利用日志.系统可以辫决任何不造成非易失性存储器上的信息丢失的故障。
  恢复机制使用两个恢复过程:(1)将事务所更新的所有数据项的值恢复成旧值。(2)将事务所更新的所有数据项的值置为新值。所更新过的数据项集合及旧值和新值均能在日志去网游中中找到。操作和必须使等幂的,这样可以保证即使恢复过程中发生故障也能保证正常行为。故障发生后,恢复机制检查日志,决定哪些事务需要托.哪些需要:事务需要0,如果日志包含记录娟5眦,但不包含记录皿事务需要捌。如果日志既包含记录娟8又包含记录删血》。6.检查点:但系统故障发生时,我们必须检查日志。决定哪些事务需要(重做),哪些需要(撤销)。原则上。我们需要搜索整个日志决定这一信息。这种方法有两个主要的困难:1)搜索过程太耗时。
  (2)根据我们的算法,大多数需要被重做的事务其更新已经写入了数据库中。尽管对他们重做不会造成不良后果.但会使恢复过程变得更长。为了解决这些问题,又发展了具有检查点的恢复技术。这种技术在日志文件中增加一类新的记录一检查点记录(.),增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志。
  检查点记录的内容包括(1)建立检查点时刻所有正在执行的事务清单。(2)这些事务最近一个日志记录的地址。重新开始文件用来记录各个检查点记录在日志文件中的地址。
  图7.3说明了建立检查点时对应的日志文件和重新开始文件。动态维护日志文件的方法是,周期性地执行如下操作:建立检查点。保存数据库状态。具体步骤是:(1)将当前日志缓冲中的所有日志记录写入磁盘的日志文件上。(2)在日志文件中写入一个检查点记录。
  3)将当前数据缓冲的所有数据记录写入磁盘的数据库中。
  (4)把检查点记录在日志文件中的地址写入一个重新开始文件。恢复子系统可以定期或不定期地建立检查点保存数据库状态。检查点可以按照预定的一个时间问隔建立,如每隔一小时建立一个检查点;也可以按照某种规则建立检查点。
  如日志文件已写满一半建立一个检查点。
  使用检查点方法可以改善恢复效率。当事务在一个检查点之前提交.对数据库所做的修改一定都已写入数据库.写入时间是在这个检查点建立之前或在这个检查点建立之时。
  这样.在进行恢复处理时.没有必要对事务执行0操作。系统出现故障时恢复子系统将根据事务的不同状态采取不同的恢复策略。如下图所示。
  交。1:在检查点之前提交。他:在检查点之前开始执行,在检查点之后故障点之前提13:在检查点之前开始执行,在故障点时还未完成。4:在检查点之后开始执行。在故障点之前提交。5:在检查点之后开始执行.在故障点时还未完成。乃和5在故障发生时还未完成,所以予以(下转第54页)54福建电脑2007年第4期割及分布.由网格节点合作完成服务请求,最后由聚集所有的返回信息并整合成标准的服务响应返回给服务请求者(客户端)。
  特点:(11网格对于服务是透明的。
  由网格来完成服务,但网格对客户端是不可见的。任务由向来负责分布及收集返回信息。(2)网格节点是”瘦”服务器形式。由于是在沙箱中运行。
  对宿主机不会产生破坏,而且也且有良好的可移值性,节点一般采用或的方式来向蹦申请任务(方式)或由指派任务(方式),节点机上因此也无需太多太复杂的支撑环境.部署相对简单。因此整个网格的任务调度.处理控制及资源管理功能也相对较弱。(3)整个网格对外是一个的概念,是以网格为基础架构所提供的8。例子:有这样一家医院.有一个内部的信息网。大约有100台左右的机。以及10台左右的可联网的医疗设备(如机)。有两类计算密集的应用.一类是对医疗仪器所采集的数据进行分析、处理及可视化。如脑部扫描的数据分析及层面图生成;另一类是收集的各项医疗数据的分析及决策支持系统。这两项应用的计算量都比较大。
  以单台机来处理。力不从心。可以构建这样一个网格服务.将大部时间都处在空闲状态的机构成一个网格。将前述的计算密集型应用分布到网格节点中并行执行.能获得较高的响应速度。如果计算资源仍有较大富余,可以将该网格服务挂到因特网上.如一制药厂要进行药品试剂的蛋白质折叠分析计算.就可以以付费形式利用该医院提供的计算资源,而制药厂也无需为这种并非经常进行的计算密集的应用购置昂贵的高性能计算机。计算资源通过网格得到了充分共享与合理利用。2.2网格节点是8的服务提供者网格上有(代理者)作为服务入点.不仅提供服务定位功能。
  更重要的是提供服务集成功能。即将分布在节点上的各视作软件组件,根据服务请求的需要。动态地组合各种组件。以形成新的、集成化的服务。特点:(1)网格依赖,来实现。这里的网格,主要不是面向科学计算,而是面向服务,特别是集成各种现有基础服务,以形成更高级别的.可为客户所定制的服务。它主要关注如何消除信息孤岛和知识孤岛。实现信息资源和知识资源的智能共享。2)为了满足企业级的高强度的单一服务请求。网格节点一般具有高性能、高可用性两大特性。如现在正处在探讨应用阶段的集群技术,以保证的可靠提供。这里的节点,甚至可以是上面提到的网格服务,比如企业级的服务提供者,其服务由内部的机组成的网格来实现。
  对外界依然是透明的。(3)网格节点是松散耦合的,各网格节点都是自治系统,且多属于不同的企业或组织。
  但作为服务入点的(这里的可以且应该有很多个,为了满足不同的服务集成需要)。应该对相关子服务的可用性,可靠性,性能,代价,以及容错及服务智能路由及重定向负有相当的责任.客户应无需了解服务是如何被分割分发成子服务。同时开发接也应统一简单清晰。41服务网格模式是可以递归实现的。即网格节点也可以是一个服务网格。如一个决策支持服务网格中的某一节点是提供交通信息服务的.该节点同时也可以是一个由各种交通服务提供商所提供的特定交通工具信息服务所组成的服务网格。这就如同组件软件的开发模式,组件也可以是由组件组装而成.以实现重用与灵活构建。51服务与网格的概念同时存在。
  对客户(服务请求者)而言.既可以使用各节点提供的单一服务.也可以使用由提供的集成服务,也可以自己定制所需的服务(即自己按需组装)。例子:自助旅游服务。假设将来某一天.一家人要驱车去西双版纳自助旅游。车上装有智能计算机系统,并可以无线方式接人因特网,它首先自动搜索因特网上的旅游决策服务的提供商名录。找到合适的决策服务提供商.并向提供商提交自己的决策策略(如服务质量优先,或价格优先)。提供商本身并不存储及提供相关的交通、气象、酒店、景点等相关信息。它会到因特网上去查找相应的名录。根据用户提供的相关信息(如路线、时间等)搜索相应的特定服务提供商.访问它们的相关服务。并在多家提供商间进行决策.收集到这些服务所提供的信息后,决策服务提供商根据自己的决策模型.为客户提供一套完整的方案与相应信息。这一切。无需人的参与。最终客户只需提供相应的信息及决策策略即可。而在旅游进行的过程中。汽车是通过与.以及出发前得到的相关信息与知识.自动驾驶的。
  同时它要实时地访问期间各交通点的交通状况传感器所构成的网格服务.根据实时的道路交通状况。来调整车速与行进路线。3.结语服务网格是因特网上的中间件。现有的资源,诸如网络、超级计算机、服务器、操作系统、数据库、文件系统等都是网格的底层设施。
  网格之上是应用程序。
  这些应用程序通过服务网格调用、共享网上资源来完成任务。服务网格作为这样一种中问件,一种新概念的组件软件模型.必将成为近阶段探讨与应用的热点。参考文献:1。
  李建阳.网格与服务结合应用探讨田.西南民族大学学报(自然科学版),2006,(2)2.张军强,孙冰.服务与网格计算的融合Ⅱ.大众科技,2005,(09)3.刘高原.基于服务的网格服务研究Ⅱ.华东交通大学学报。2005,(04)4.胡春明等.基于服务的网格体系结构及其支撑环境研究Ⅱ.软件学报,2004,(7)-一·—+-+—·—卜—-卜—·—卜—-—卜—+-—卜.-—卜—+-—卜—+—·+—-—+·—-+-+-—卜-..·卜—+—-—卜—.+-+-+·+-+·-.-呻·—卜·一.一-.一·+-—卜.-—卜-—呻-—一(上接第51页)撤消;2和4在检查点之后才提交。它们对数据库所做的修改在故障发生时可能还在缓冲区中。尚未写人数据库。所以要.;1在检查点之前已提交。所以不必执行操作。系统使用检查点方法进行恢复的步骤是(1)从重新开始文件中找到最后一个检查点记录在日志文件中的地址。由该地址在日志文件中找到最后一个检查点记录。
  21由该检查点记录得到检查点建立时刻所有正在执行的事务清单—。我们建立两个事务队列:—:需要执行0操作的事务集合:-:需要执行0操作的事务集合:把兀—暂时放入0一队列.0队列暂为空。(3)从检查点开始正向扫描日志文件如有新开始的事务.把暂时放入0一队列如有提交的事务,把从—队列移到—队列:.直到日志文件结束。(4)对—中的每个事务执行0操作,对.0一中的每个事务执行0操作。7.结论本文论述了基于日志的数据库恢复技术.通过对日志文件的结构分析和在数据库恢复中的作用.从而引入了日志缓冲技术和日志检查点来进一步提高数据库技术恢复的效率。
  参考文献:1.物冬青、唐世渭等译。数据库系统概念.机械工业出版社.2005,92.萨师垃、王珊.敖据库系统概论,高等教育出版社.20003.(荧).目使用全书,北京电子出版社,20024.万峰.敷据库教据恢复的研充.计算机工程。
  2005基于日志的数据库恢复技术的研究作者:陈华作者单位:上海师范大学数理信息学院,上海,200234刊名:福建电脑英文刊名:年,卷(期):20传奇07(4)参考文献(4条)1.万峰教据库教据恢复的研究[期刊论文-计算机工程2005(6)2.;使用全书20023.萨师垃;王珊教据库系统概论20004.杨冬青;唐世渭敖据库系统概念2005。

上一篇:基于短信平台之传奇审批工作流系统
下一篇:基于GoogleWebAPI之传奇网页获取技术探讨

      站长推荐

新建地方本科院校教学质量监控体系传奇之缺陷传奇及解决方案
学校党建s思想教育讨论高职院校与谐校园传奇之构建
探讨高职校国际商务专业的课程改革
古典传统与闲暇教育
信息技术传奇及语文课程整合传奇之尝试
高校网球俱乐部发展的思考
一流民办院校文化氛围的营建
新形势下高职院校学生思想政治教育探讨
网络多媒体辅助英文报刊教学策略探析
专科艺术设计专业色彩构成教学谈论