- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
The End 在客户端缓存文件块 保持一致性 客户轮询服务器来检查他们所用的缓存数据是否是必威体育精装版的。(读/写时,只发送查询信息) 有效性条件 缓存中的每个数据块被标上两个时间戳 Tc:缓存条目上一次被验证的时间。 Tm:服务器上一次修改文件块的时间。 有效性条件: (T- Tc t) ∨(Tmclient = Tmserver) 选择t时对一致性和效率进行折衷,如3~30秒。 客户缓存 第7章分布式文件系统 简介 文件服务体系结构 SUN网络文件系统 Andrew文件系统 必威体育精装版进展 小结 Andrew文件系统 信息共享 海量用户间共享信息 可伸缩性 海量用户 海量文件 海量用户存取热点文件 设计特点 整体文件服务 整体文件缓存 AFS的动机 文件比较小 大多数文件的大小都小于7k 读操作是写操作的6倍 通常都是顺序存取,随机存取比较少见 大多数文件是被某一个特定的用户访问 大多数共享文件是被某一个特定的用户修改 最近使用的文件很可能再次被使用 典型的UNIX文件系统 客户发出open系统调用,当前拷贝不在本地缓存上,AFS查找文件所在的服务器 在客户机上存储文件副本 客户在本地副本上进行读/写 客户关闭文件 如果文件被更新,将它刷新至服务器 使用AFS的典型场景 大多数文件 更新频率小 始终被同一用户存取 工作集(70MB) 不支持数据库文件 AFS设计的基础 系统体系结构 名字空间 UNIX内核—BSD的修改版本 截获指向共享名字空间中的文件调用,并将它们传递给客户计算机上的Venus进程处理 实现 在Andrew文件系统中的进程分布 AFS的客户所看到的文件名空间cmu:包含所有共享文件的子树 AFS中系统调用拦截 UNIX内核截获哪些指向共享名字空间文件的调用,如open﹑close和其它一些系统调用,并将它们传递给守护进程 每个工作站本地磁盘上都有一个文件分区被用作文件的缓存 AFS中系统调用拦截(续) 当客户对共享文件空间内的文件发出open或close系统调用时,AFS怎样获得控制? 如何定位包含所需文件的服务器? 在工作站上如何为缓存文件分配存储空间? 当文件可能被多个客户更新时,AFS怎样保证缓存中的文件时必威体育精装版的? 实现的问题 Venus 通过fid进行存取 一步一步地进行查找 把路径名翻译成fid 文件缓存 一个文件分区用作文件缓存:通常可以容纳百个一般大小的文件 维护缓存一致性:回调机制 Vice 接收用fid表示的文件请求 平面文件服务 实现(续) 32位 32位 32位 卷号 文件句柄 唯一标识 Vice服务接口的主要组件 回调承诺 由管理该文件的Vice服务器发送的一种标识 有效或取消 当服务器执行一个更新文件请求时,它通知所有Venus进程将回调承诺标识设为取消状态 打开文件 Venus从服务器取得文件如果没有文件或是文件的状态为取消 Vice记住每一个缓存文件的位置 缓存一致性 缓存一致性(续) 关闭文件 Venus刷新文件当应用程序更新文件时 Vice顺序执行对文件的更新命令 Vice通知所有的文件缓存设为取消状态 使文件无效 当客户重启或者在时间T内没有收到回调信息Venus将认为该文件已经无效 可扩展性 客户与服务器间的交互显著减少 由于大部分请求为读请求,与轮询相比,客户与服务器间的交互显著减少 近似实现单个文件拷贝语义 AFS-1(F—File, S—Server) 在成功的open操作后:latest(F,S) 文件F在客户C的当前值和在客户S上的值相同 在失败的open,close操作后:failure(S) open和close并没有在S上执行 客户C的文件F的值已经传播到服务器S上 更新语义 AFS-2:较弱的open保证 客户可能会打开一个旧拷贝,而该文件已经被其他客户更新过了 在成功的open操作后 latest(F,S,0)—文件F在客户C的当前值和客户S上的值相同 or(lostCallback(S,T)—最近Ts时间内从S传递到C的回调信息已经丢失 and inCache(F)—在open操作前客户C的缓存中就包含文件F and latest(F,S,T))—latest(F,S,T):被缓存的文件F的拷贝的过期时间不会超过T秒 更新语义 线程 Vice和Venus中的多线程 只读复制 批量传输 AFS以64KB的文件块进行传输以减小延迟 部分文件缓存 UNIX内核修改 位置数据库 其他方面 每个单元是一个完全自治的环境 一个机器每次只能属于一个单元 用户可以属于一个单元以存在账户的意义来说,但是机器可以属于(存在账户)多个单元 /usr/vice/etc/CellDB /usr/afs/etc/CellDB 其他方面(续) AFS的位置数据库 性能 基
文档评论(0)