《最新复制ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新复制ppt课件.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑五成群,聚在大树下,或站着
2、,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑强子,别跑了,快来我给你扇扇了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你你看热的,跑什么?看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国
3、已有三千年多年的历史。取材的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过
4、了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅道,袅第第6 6章章 复制复制n简介 n系统模型n容错服务n高可用服务的实例研究:gossip体系结构、Bayou和Codan小结第第6 6章章 复制复制n简介简介 n系统模型系统模型n容错服务容错服务n高可用服务的实例研究:高可用服务的实例研究:gossip体系结体系结构、构、Bayou和和Codan小结小结容错服务容错服务n复制是提高系统容错能力的有效手段之一复制是提高系统容错能力的有效手段之一n为用户提供一个单一的镜像n副本之间需要保持严格的一
5、致性n副本之间的不一致性将导致容错能力失效副本之间的不一致性将导致容错能力失效n银行帐户示例容错服务容错服务1. 银行帐户x和y的两个副本管理器位于计算机A、B上2. 客户在本地的副本管理器上读取和更新帐户计算机AXY计算机 BXY同步客户 2客户 1容错服务容错服务由于B在把帐户x的更新传送至A前出现故障,所以产生了不一致现象客户1:setBalanceB(x,1)Server B failedsetBalanceA(y,2)客户2:getBalanceA(y)=2getBalanceA(x)=0容错服务容错服务n被动被动(主备份主备份)复制复制n一个主副本管理器多个次副本管理器 - 若主副
6、本管理器出现故障,则某个备份副本管理器将提升为主副本管理器。n模型FECFECRM主副本副本备份RMRM容错服务容错服务n被动复制时的事件次序被动复制时的事件次序n请求 - 前端将请求发送给主副本管理器n协调 - 主副本管理器按接收次序对请求排序n执行 - 主副本管理器执行请求并存储响应容错服务容错服务n被动复制时的事件次序被动复制时的事件次序(续续)n协定 - 若请求为更新操作,则主副本管理器向每个备份副本管理器发送更新后的状态、响应和唯一标识符。 - 备份副本管理器返回确认。n响应 - 主副本管理器将响应发送给前端 - 前端将响应发送给客户 容错服务容错服务n主动复制主动复制n副本管理器地
7、位对等,前端组播消息至副本管理器组n模型FECFECRMRMRM容错服务容错服务n主动复制时的事件次序主动复制时的事件次序n请求 - 前端使用全序、可靠的组播原语将请求组播到副本管理器组n协调 - 组通信系统以同样的次序(全序)将请求传递到每个副本管理器n执行 - 每个副本管理器以相同的方式执行请求n响应 - 每个副本管理器将响应发送给前端 - 前端将响应发送给客户第第6 6章章 复制复制n简介简介 n系统模型系统模型n容错服务容错服务n高可用服务的实例研究:高可用服务的实例研究:gossip体系结体系结构、构、Bayou和和Codan小结小结高可用服务的实例研究高可用服务的实例研究n高可用性
8、和容错能力高可用性和容错能力n容错能力 - 只要可能,所有正确的副本管理器都能够及时收到更新,并在将控制传递回客户以前达成一致。n高可用性 - 采用较弱程度的一致性,提高共享数据的可用性。 - 实例:gossip、Bayou和Codagossipgossip体系结构体系结构n体系结构体系结构n前端可以选择任意副本管理器n提供两种基本操作:查询更新n副本管理器定期通过gossip消息来传递客户的更新QueryValFERMRMRMQuery, prevVal, newUpdateFEUpdate id服务客户Update,prev(2,2,3)gossipgossip体系结构体系结构n体系结构体
9、系结构(续续)n系统的两个保证 - 随着时间的推移,每个用户总能获得一致服务副本管理器提供的数据能反映迄今为止客户已经观测到的更新 - 副本之间松弛的一致性所有副本管理器最终将收到所有更新两个客户可能会观察到不同的副本客户可能观察到过时数据gossipgossip体系结构体系结构n查询和更新操作流程查询和更新操作流程n请求 - 前端将请求发送至副本管理器查询:客户可能阻塞更新:无阻塞n更新响应 - 副本管理器立即应答收到的更新请求n协调 - 收到请求的副本管理器并不处理操作,直到它能根据所要求的次序约束处理请求为止。gossipgossip体系结构体系结构n查询和更新操作流程查询和更新操作流程
10、(续续)n执行 - 副本管理器执行请求n查询响应 - 副本管理器对查询请求作出应答n协定 - 副本管理器通过交换gossip消息进行相互更新gossip消息的交换是偶尔的发现消息丢失后,才和特定的副本管理器交换消息gossipgossip体系结构体系结构n前端的版本时间戳前端的版本时间戳n客户交换数据 -通过访问相同的gossip服务 - 相互直接通信FE客户FE服务时间戳向量RMRMRMgossip为了控制操作处理次序,每个前端维持了一个向量时间戳gossipgossip体系结构体系结构n前端的版本时间戳前端的版本时间戳(续续)n每个前端维护一个向量时间戳 - 每个副本管理器有一条对应的记录
11、 - 更新或查询信息中包含时间戳 -合并操作返回的时间戳与前端时间戳n向量时间戳的作用 - 反映前端访问的最新数据值gossipgossip体系结构体系结构n副本管理器状态副本管理器状态副本时间戳更新日志值时间戳值执行操作表稳定的更新更新gossip消息FE副本时间戳副本日志OperationIDUpdate PrevFE副本管理器其它的副本管理器时间戳表gossipgossip体系结构体系结构n副本管理器状态副本管理器状态(续续)n值 - 副本管理器维护的应用状态的值n值的时间戳 - 更新的向量时间戳n更新日志 - 记录更新操作n副本的时间戳 - 已经被副本服务器接收到的更新gossipgo
12、ssip体系结构体系结构n副本管理器状态副本管理器状态(续续)n已执行操作表 - 记录已经执行的更新的唯一标识符,防止重复执行n时间戳表 - 确定何时一个更新已经应用于所有的副本管理器gossipgossip体系结构体系结构n查询操作查询操作n副本管理器收到查询 - q.prevalueTS立即响应返回消息中的时间戳为valueTS - 否则将消息保存到保留队列如:如:q.pre(2,4,6),valueTS(2,5,5)n前端收到查询响应 - 合并时间戳:frontEndTS:=merge(frontEndTS,new)(2,5,6)gossipgossip体系结构体系结构n按因果次序处理更
13、新按因果次序处理更新n前端发送更新请求:(u.op, u.prev, u.id)n副本管理器i接收请求 - 丢弃:操作已经处理过 - 否则,将更新记录日志ts =u.prev, tsi=tsi+1logRecord= - 副本管理器将ts返回给前端frontEndTS=merge(frontEndTS, ts)gossipgossip体系结构体系结构n按因果次序处理更新按因果次序处理更新(续续)n更新请求u的稳定性条件u.prevvalueTSn副本管理器的更新操作 - value := apply(value, r.u.op) - valueTS := merge(valueTS, r.ts
14、) - executed := executedr.u.idgossipgossip体系结构体系结构n强制的和即时的更新操作强制的和即时的更新操作强制更新和即时更新需要特殊处理,强制更新是全序加因果序,保证更新的强制次序的基本方法是在相现象的时间戳后加入一个唯一的序号,并以这个序号的次序来处理它们。ngossip消息消息 副本管理器通过gossip消息来更新自身的状态。通过时间戳表里的记录来估计其它副本管理器还没有收到哪些更新。ngossip消息消息m的格式:的格式:日志m.log和副本时间戳m.tsgossipgossip体系结构体系结构n收到收到gossip消息后执行的操作消息后执行的操作
15、n日志合并 - 若r.ts replicsTS,则丢弃 - 将记录加入到日志,合并时间戳replicaTS := merge(replicaTS, m.ts)n执行任何以前没有执行并已经稳定了的更新 - 根据向量时间戳的偏序“”对更新进行排序,并依次执行更新。n当知道更新已执行并没有重复执行的危险时,删除日志和已执行操作表中的记录 - 若tableTSic r.tsc,则丢弃r。gossipgossip体系结构体系结构n更新传播更新传播ngossip体系结构未规定具体的更新传播策略n如何选择合适的gossip消息的发送频率? - 分钟、小时或天?由具体应用需求决定n如何选择合适的合作者(副本管
16、理器) - 随机策略使用加权概率来选择更合适的合作者 - 确定策略使用副本管理器状态的函数来选择合作者 - 拓扑策略网格、环、树gossipgossip体系结构体系结构n目标:保证服务的高可用性n存在问题:n不适合接近实时的更新复制n可扩展性问题BayouBayou系统和操作变换方法系统和操作变换方法nBayou系统简介系统简介n与gossisp体系结构和基于时间戳的反熵协议类似n提供的一致性保证弱于顺序一致性n能够进行冲突检测和冲突解决 - 操作变换:一个或多个相冲突的操作被取消或改变以解决冲突的过程。 - 例子行政主管和秘书同时预约 ,其中行政主管为离线更新行政主管上线后,Bayou系统检
17、测到冲突,然后批准行政主管的预约而取消秘书的预约。BayouBayou系统和操作变换方法系统和操作变换方法n提交的更新和临时更新提交的更新和临时更新n临时的更新更新首次应用于数据库时,被标记为临时的。n提交的更新Bayou将临时的更新以规范次序放置,并添加提交标识。n数据库副本状态提交的更新序列临时的更新序列n更新重排序 新更新到达或某个临时更新被修改为提交的更新BayouBayou系统和操作变换方法系统和操作变换方法n提交更新和临时更新示例提交更新和临时更新示例t2t1t0cNc2c1c0Ti+1ti.已提交已提交临时临时临时更新临时更新ti成为下一个提交更新,成为下一个提交更新,并被插入到
18、最新提交更新并被插入到最新提交更新cN之后之后BayouBayou系统和操作变换方法系统和操作变换方法n依赖检查和合并过程依赖检查和合并过程n依赖检查 - 一个更新执行时是否会产生冲突 - 例子:写写冲突、读写冲突检测n合并过程 - 改变将要执行的操作,避免冲突,并获得相似效果 - 无法合并系统报错nBayou系统讨论系统讨论n复制对于应用而言是不透明的n复杂度高CodaCoda文件系统文件系统nAFS的主要缺陷的主要缺陷只提供有限复制,规模受限,不适用于大规模共只提供有限复制,规模受限,不适用于大规模共享的文件访问。享的文件访问。nCoda目标目标提供一个共享的文件存储。提供一个共享的文件存
19、储。nCoda对对AFS的扩展的扩展n采用文件卷复制技术提高吞吐率和容错性n在客户计算机上缓存文件副本断链处理CodaCoda文件系统文件系统nCoda体系结构体系结构nVenus/Vice进程 - Venus:前端和副本管理器的混合体 - Vice:副本管理器n卷存储组(VSG) 持有一个文件卷副本的服务器集合n可用的卷存储组(AVSG) 打开一个文件的客户能访问的VSG的某个子集CodaCoda文件系统文件系统nCoda体系结构体系结构(续续)n文件访问过程 - 当前AVSG中的任何一个服务器提供文件服务,并缓存在客户计算机上。 - 对每个副本管理器进行更新分布。n关闭文件 - 修改过的拷
20、贝并行广播到AVSG中的所有服务器。CodaCoda文件系统文件系统nCoda体系结构体系结构(续续)n断链操作 - AVSG为空时,客户缓存文件 - 手工干预解决冲突n设计原则 - 服务器上的拷贝比客户计算机缓存中的拷贝更可靠CodaCoda文件系统文件系统n复制策略复制策略n乐观策略 - 在网络分区和断链操作期间,仍然可以进行文件修改n实现 - Coda版本向量(CVV)作为时间戳附加在每个版本的文件上CVV中的每个元素是一个估计值,表示服务器上文件修改次数的估计目的提供足够的关于每个文件副本的更新历史,以检测出潜在的冲突,进行手工干预和自动更新。CodaCoda文件系统文件系统n复制策略
21、复制策略(续续)n例如:CVV=(2,2,1) - 文件在服务器1上收到2个更新 -文件在服务器2上收到2个更新 -文件在服务器3上收到1个更新n冲突检测 - 若一个站点的CVV大于或等于所有其它站点相应的CVV,则不存在冲突。自动更新 - 若对于两个CVV而言,v1v2与v2v1均不成立,则存在一个冲突。 手工干预CodaCoda文件系统文件系统n复制策略复制策略(续续.)n文件关闭 - Venus进程发送更新消息(包括CVV和文件的新内容)到AVSG - AVSG中的每个服务器更新文件,并返回确认。 - Venus计算新的CVV,增加相应服务器的修改记数,并分发新的CVV。CRMRMRM2
22、, 2, 12, 2, 12, 2, 13, 3, 22, 2, 1CodaCoda文件系统文件系统n构建构建CVV示例一示例一n文件F在三个服务器S1、S2和S3上有副本 - VSG = S1, S2, S3 - F被C1,C2修改 - 由于网络分区的原因C1: S1, S2; C2: S3CodaCoda文件系统文件系统n构建构建CVV示例一示例一(续续)n最初,F的CVV在3个服务器上是相同的,比如1, 1, 1nC1修改F,然后关闭 - S1和S2上的CVV更新为:2, 2, 1CodaCoda文件系统文件系统n构建构建CVV示例一示例一(续续.)n网络故障修复后 - S1和S2上的C
23、VV为2, 2, 1,S3上的CVV为1, 1, 1 - S1或S2上的文件版本替代S3上的文件版本CodaCoda文件系统文件系统n构建构建CVV示例二示例二n文件F在三个服务器S1、S2和S3上有副本 - VSG = S1, S2, S3 - F在同一时间被C1和C2修改 - C1: S1, S2; C2: S3CodaCoda文件系统文件系统n构建构建CVV示例二示例二(续续)n最初,F的CVV在3个服务器上是相同的,比如1, 1, 1nC1修改F,然后关闭 - S1和S2上的CVV更新为:2, 2, 1n同时,C2上的两个进程分别修改F,然后关闭 - S3上的CVV更新为:1, 1, 3CodaCoda文件系统文件系统n构建构建CVV示例二示例二(续续.)n网络故障修复后 - S1和S2上的CVV为2, 2, 1,S3上的CVV为1, 1, 3 - 存在冲突,需手工干预小结小结n分布式系统的复制分布式系统的复制n增强性能、提高可用性和容错能力n组通信组通信n组成员关系服务视图传递n视图同步的组通信n容错服务容错服务n主备份复制n主动复制小结小结n高可用服务高可用服务ngossipnbayouncoda