基于dht的分布式文件系统毕业论文(编辑修改稿)内容摘要:
上型计算机的人 们)会从中获益。 我们也将简要讲述其他三个系统。 Plan9 是一个将所有资源都视为文件的分布式系统。 从这种意义上来说,它可以被视为一个基于文件的分布式系统。 我们将讲述的另一个系统是 xFS,其与众不同之处在于它没有服务器,而是让客户实现 9 文件系统。 最后,我们会介绍 SFS,该系统强调可扩展的安全性 [3]。 SUN 网络文件系统 我们以 SUN 微系统的网络文件系统( work file system),即通常所说的NFS,开始讨论分布式文件系统。 NFS 最初是 Sun 为在它的基于 UNIX 的工作站上的使用而开发的,但是 NFS 已在许多其他系统中实现。 NFS 的基本思想是每台文件服务器提供它的本地文件系统的标准化视图。 也就是说,它不关心如何实现本地文件系统,每台 NFS 服务器支持相同的模型。 这个模型带有一个通信协议,该协议允许客户访问存储在一台服务器上的文件。 这种方法允许大量异构进程共享一个公共的文件系统,其中的进程可能运行于不同的操作系统和机器上。 (1)NFS 概述 与其说 NFS 是一个真正的文件系统,不如说它是共同为客户提供分布式文件系统模型的协议的集合。 NFS 协议是以不同的实现之间应该易 于进行互操作为目的而设计的。 因此, NFS 可以运行于大量异构计算机之上。 (2)NFS 体系结构 NFS 底层的模型是远程文件服务的模型。 这个模型为客户提供对远程服务器所管理的文件系统的透明访问。 但是,客户通常不知道文件的实际位置,相反,NFS 为客户提供访问此文件系统的接口,此接口类似于传统本地文件系统所提供的接口。 也就是说,客户仅被提供包含多种文件操作的接口,而服务器负责实现这些操作。 因此,这一模型也被称为远程访问模型( remote access model),如图 服务器 文件位于服务器上 客户 来自客户的访问远程文件的请求 文件位于服务器上 10 ( a)上载 /下载模型 与之相对照,在上载、下载模型( upload/download model)中,客户从服务器下载文件后,在本地访问该文件,如图 ( a)所示。 客户完成对文件的访问后,再将该文件上载回服务器,以便其他客户使用该文件。 当客户下载一个完整的文件,修改该文件,然后将其放回服务器时,可以使用 Inter 的 FTP服务。 尽管 NFS 基于 UNIX 的版本占主流地位,但是 NFS 已开发了多种版本以用于许多不同的操作系统。 实际上,对 所有现代 UNIX 系统而言, NFS 通常按照图 ( b)所示的层次体系结构实现。 图 ( b) (3)文件系统模型 旧文件 新文件 客户 服务器 到客户 ,文件返回服务器 11 NFS 版本四支持硬链接和符号链接。 文件具有文件名,但是访问它们是通过一种类似 UNIX 的文件句柄( file handle)实现的,为访问一个文件,客户必须现在命名服务器中搜索该文件的文件名,然后获得该文件关联的文件句柄。 另外,每个文件有许多属性,这些属性是可以查询和修改的。 下表列出了 NFS 支持的通用文件操作。 操作 描述 create 创建一个非常规文件 link 创建一个文件的硬链接 rename 更改文件名 remove 从文件系统删除一个文件 open 打开一个文件 close 关闭一个文件 lookup 根据文件名搜索文件 readdir 读取一个目录下的项目 setattr 设置文件的一个或多个属性值 read 读取文件中的数据 write 向文件写入数据 表 ( c) 12 不同分布式文件系统对比 该表总结了 5 种不同分布式 文件系统的各个要点: 要点 NFS Coda Plan9 xFS SPF 设计目标 访问透明性 高可用性 统一性 无服务器系统 可扩展的安全性 访问模型 远程 上载 /下载 远程 基于日志 远程 通信 RPC RPC 特殊方法 活动消息 RPC 客户进程 瘦 /胖 胖 瘦 胖 中等 服务器组 无 有 无 有 无 装入粒度 目录 文件系统 文件系统 文件系统 目录 名称空间 每个客户 全局 每个进程 全局 全局 文件 ID 范围 文件服务器 全局 服务器 全局 文件系统 共享语义 会话 事务处理 UNIX UNIX N/S 缓存单元 文件 文件 文件 块 N/S 高速缓存一致性 回写式 回写式 直写式 回写式 回写式 复制 最低限度 ROWA 无 带区划分 无 容错 可靠的通信 复制与缓存 可靠的通信 带区划分 可靠地通信 13 恢复 基于客户 重新合成 N/S 检查点和记录日志 N/S 安全通道 现存的机制 重新合成 N/S 检查点和记录日志 自证明 访问控制 许多操作 目录操作 基于 UNIX 基于 UNIX 基于 NFS 表 注: N/S表示无特殊规定 技术 P2P 技术 P2P 的背景与发展 对等网络 p2p( peer to peer),维基百科是这样定义的: P2P 技术是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。 在 P2P 网络环境中,成千上万台彼此连接的计算机都处于平等的地位,整个网络一般来说不会依赖于专门的中央服务器。 网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源或其他服务 [8]。 P2p 技术的发展可以追溯到上世纪九十年代 ,由一个叫肖恩的大一学生编写的叫 Napster 的程序,这个程序能搜索音乐文件并提供检索功能。 随着互联网的发展,尤其是上世纪 90年代后期,计算机硬件的性能有了突飞猛进的发展,而且网络带宽等基础设施也大幅的改善,人们开始感到有必要而且能够直接控制、修改和共享资源。 随后开始把服务器软件也放在单独的 PC上,而且在 PC与 PC之间直接进行通信,这就导致了 P2P 技术的复兴。 P2P 技术主要指由硬件形成网络连接后的信息控制技术,是应用层上的一种逻辑网络,主要的代表就是在基于 P2P 网络协议的各种客户端软件。 14 由上文可知, P2P 网络是属于叠加在底层通信网络基础之 上的逻辑网络,是 应用层的程序,也是一个分布式、具有互操作性的自组织系统。 P2P 网络面临的 最大的挑战之一就是如何在没有集中式服务器的模式下维护网络拓扑结构,以及 实现资源检索等服务。 在 P2P 网络中,如何对资源进行准确的定位是最重要的问 题。 现阶段 P2P 搜索技术的研究可以从两个方面来进行,第一个方面是从 P2P 搜索算法入手来进行研究,第二个方面是从 P2P 的体系架构入手进行研究。 P2P 搜索算法包括: Chord 算法, Pastry 算法, Tapestry 算法, CAN 算法和 Kademlia 算法等等。 P2P 体系架构 方面包括:集中式系统,分布式系统,混合 式系统。 . p2p 技术的分类 拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系 [9],节点之间的拓扑结构一直是确定系统类型的重要依据。 P2P 系统主要采用非集中式的拓扑结构,根据结构关系可以将 P2P 系统细分为叫种结构的拓扑形式:中心化拓扑网络、全分布式非结构化拓扑网络、全分布式结构化拓扑网络以及半分布式拓扑网络。 ( 1)中心化拓扑网络 中心化拓扑网络最大的优点是维护简单,发现效率高。 由于资源的发现依赖中心 化的目录系统,发现算法灵活、高效并能够 实现复杂查询。 最大的问题与传统 c/s 结构类似,容易造成单点故障,访问的“热点”现象和法律等相关问题,这是第一代 p2p 网络采用的结构模式,经典案例就是著名的 MP3 共享软件Napster。 在 Napster 模型中,一群高性能的中央服务器保存着网络中所有活动对等计算机共享资源的目录信息。 当需要查询某个文件时,对等机会向一台中央服务器发出文件查询请求。 中央服务器进行相应的检索和查询后,会返回符合查询要求的对等机地址信息列表。 查询发起对等机接收到应答后,会根据网络流量和延迟等信息进行选择和合适的对等机建立连接 ,并开始文件传输。 Napster 的工作原理如图 ( 1)所示。 15 图 ( 1) Napster网络的拓扑结构 采用 Napster 结构的中心化拓扑网络结构也存在一些问题,主要表现为: (1)中央服务器的瘫痪容易导致整个网络的崩馈,可靠性和安全性较低; (2)随着网络规模的扩大,对中央索引服务器进行维护和更新的费用将急剧 增加,所需成本过高; ( 3)中央服务器的存在引起共享资源在版权问题上的纠纷,并因此被攻击为非纯粹意义上的 P2P 网络模型。 综合上述优缺点,对小 型网络而言,中心化网络模型在管理和控制方面占一定优势。 但鉴于其存在的种种缺陷,该模型并不适合大型的网络应用。 ( 2)全分布式非结构化的 P2P 网络 16 全分布式非结构化刚络采用了随机图的组织方式,结点度数服从 Power— law”规律,从而能够较快发现目的结点,而对网络的动态变化体现了较好的容错能力,因此具有较好的可用性,同时可以支持复杂查询,如带有规则表达式的多关键词查询,模糊查询等 [10],采用这种拓扑结构最典型的案例便是 Gnutella,如图 ( 2)所示。 图 ( 2) Gnutella网络的拓扑结构 Gnutella 是一个 P2P 文件共享系统,它和 Napster 最大的区别在于 Gnutella是纯粹的 P2P 系统,不存在集中式的目录服务器,并且文件的发布和网络拓扑松散相关。 Gnutella 网络具有以下特点: (1)不存在中央服务器,完全依赖于网络中的交互式个人成员而独立存在; (2)在浚网络模型中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以被称为对等机。 发现的准确性和可扩展性是非结构化网络面临的两个重要问 题。 目前对此类 17 结构的研究主要集中于改进发现算法和复制策略以提高发现的准确率和性能。 ( 3)全分布式结构化的 P2P 网络 在这类网络中,不存在中心化的目录服务器,因此属于全分布式的 P2P 网络。 这种类型的网络结构,采用分布式散列表 (Distributed Hash Table,简称 DHT)的全分布式结构化拓扑网络。 分布式散列表实际上是一个由广域范围大量结点共同维护的巨大散列表。 散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。 DHT 结构能够自适应结点 的动态加入与退出,有着良好的可扩展性、鲁棒性、结点 ID 分配的均匀性和自组织能力。 最经典的案例是 Tapestry、 Chord、 CAN 和Pastry[4]。 这里主要介绍一下具有代表性的 chord 网络模型,如图 (3)。 该网络模型诞生于美国的麻省理工学院,它的目标是提供适合于 P2P 环境的分布式资源发现服务,它通过使用 DHT技术使得发现指定对象只需要维护 O(109N)长度的路由表。 在 DHT 技术中,网络节点按照一定的方式分配一个唯一节点标识符 (Node, ID),资源对象通过散列运算产生一个唯一的资源标识符 (Obiect, ID),且该资源将存储在节点 ID 与之相等或者相近的节点上。 需要查找该资源时,采用同样的方法可定位到存储该资源的结点。 因此, Chord 的主要贡献是提出了一个分布式查找协议,该协议可将指定的关键字 (Key)映射到对应的节点 (Node)。 18 图 ( 3) Chord网络的拓扑结构 DHT 结构最大的问题是 DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动会极大增加 DHT 的维护代价。 DHT 所面临的另外一个问题是 DHT 仅支持精确关键词匹配查询,无 法支持内容、语义等复杂查询。 ( 4)半分布式的 P2P网络 半分布式结构吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高 (处理、存储、带宽等方面性能 )的节点作为超级节点,在各个超级节点上存储了系统中其他部分节点的信息,发现算法仅在超级节点之间转发,超级节点再将查询请求转发给适当的叶子结点。 半分布式结构也是一个层次式结构,超级节点之问构成一个高速转发层,超级节点和所负责的普通节点构成若干层次。 最典型的案例就是 KaZaa 网络结构如图 ( 4)所示。 19 图 ( 4) Kazza网络的拓扑结构 KaZaa 结合了 Napster 和 Gnutella 共同的优点。 从结构上来说,它使用了Gnu。基于dht的分布式文件系统毕业论文(编辑修改稿)
相关推荐
e%10。 write_LCD_(0x80+0x40+add)。 write_LCD_da(0x30+shi)。 write_LCD_da(0x30+ge)。 write_LCD_da(0xdf)。 write_LCD_da(0x43)。 } void DS1302_write_byte(uchar a) { uchar i。 ACC=a。 RST=1。 for(i=8。 i0。 i) {
是人工喷制,也可以直接以物体表面的自然纹理作为实验标记;另外仅需要单 个或两个固定的 CCD,来拍摄被测物体表面变形前后的数字图像。 通过计算拍摄过程中得到的一组数字图像即可得到物体表面的变形信息。 ( 2)对光源光源和隔震条件要求不高。 直接使用白光或者自然光作为照明光源,不需要激光光源和隔振台,这样对测量环境的要求非常低,非常容易实现现场测量。 ( 3)测量过程易于实现自动化。
门群组配置 权限配置 数据库配置 帮助主题 签报审批 工作督办 公文编号管理 公文类型管理 公文流程管理 10 的完成情况给予批示意见,督办的管理部门负责督办的登记、呈报、传阅、分发和归档等相关工作。 公文配置管理模块 ( 1) 公文类型管理 创建、查询,修改公文类型,每种公文类型可以选择操作界面、打印页面,公文审批流程等。 ( 2)公文编号管理 创建、查询、修改,作废公文编号
b i t 图 单轮算法示意图 将图 中中间部分抽取出来就得到了图 ,其中可以看到每轮运算的细节实现。 64 位的明文被分成了左右两个 32 位的明文块 L 和 R。 过程可以用公式简单的表达为: Li+1 = Ri Ri+1 = Li○+F(Ri,Ki+1) 延边大学本科毕业设计说明书 8 R ( 3 2 )E4 8 位+K 4 8 位S 1 S 2 S 3 S 4 S 5 S 6 S 7 S
系统的总体框图如图 23,硬件连接图如图 24。 毕业论文 (设计 ) 基于 DDS 的正弦波信号发生器设计 7 1 5 环 环M C US P C E 0 6 1 AL C D 环 环 环D D SA D 9 8 5 0F M环 环 环 环 环 环 环 环1 K ~ 1 0 M H z环 环 环环 环 环 环环 环 P S K环 环 环 环 A S K环 环 环 环 环 A M环 环 环 环
后找 到的学生信息,并释放内存空间,删除所有相关的信息。 查找模块实现功能:在已经存储的文件中查找任一指定的学生信息,可 以按照姓名,学 号,来实现查找。 输出模块实现功能:当实行显示信息功能时,输出所创建的文件中包含 的全部学生信息。 排序模块实现功能:对已经存储在文件中的学生信息,根据成绩从高到 低排序,存储,并在名次中显示出来排序结果。 修改模块实现功能