基于POSIX语义的分布式文件系统客户端设计与实现

来源 :电子科技大学 | 被引量 : 11次 | 上传用户:sunj2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
自云计算概念提出以来,作为核心部分之一的云存储(分布式文件系统)也迅速成为研究热点。与普通的存储方式不同,云存储是由大量普通PC形成的存储集群来提供海量分布式数据存储服务,通过数据冗余的方式来实现数据透明存储和底层节点的容错性。如何实现数据的高效存储是云存储中的关键技术之一。本文通过对现有分布式文件系统详细介绍和全面分析之后,提出了一个基于私有云的分布式文件系统CStore,CStore系统由大量的元数据服务器和数据服务器节点等部件组成,向上层用户提供一个高效的存储服务。最后,结合项目中的实际工作,论文设计并实现了CStore系统中基于POSIX语义的Linux客户端。整个客户端所包含的基本工作和创新点如下:1.FUSE文件系统。客户端实现了一个基于FUSE协议的用户态文件系统驱动,通过以虚拟磁盘的方式实现云端数据的本地化,原有程序均不修改就能直接运行。客户端内部实现采用流水线处理模型,每个功能模块采用一个线程进行管理,线程之间采用域套接字通信方式和等待队列机制来实现异步消息的处理。2.缓存组织。为了减少云端服务器压力和通信开销,客户端提出了一个高效的数据缓存算法将元数据进行内存缓存和本地化缓存,数据进行内存缓存。在结构组织方面,客户端采用了树形目录的方式管理元数据缓存并通过使用红黑树和LRU淘汰策略来实现数据分片的随机读写。在启动时,客户端自动加载本地元数据,在系统退出后,客户端将所有内存元数据进行本地化存储。3.网络通信模型。客户端采用C++实现了一套基于非阻塞的异步网络通信框架来实现与服务器通信,并通过线程池来实现磁盘的异步读写功能。与内核通信部分,客户端采用C语言设计并实现该模块所有基本数据结构及业务逻辑。4.提出了基于操作日志的方式来保证数据的同步。客户端通过定时触发机制向元数据服务器拉取并本地执行操作日志的方式来达到数据的一致。5.持久化存储。客户端提出了一个基于B+树的元数据持久化存储模型来存储内存中的元数据。通过B+树建立索引和追加写策略,有效解决了元数据中目录存储和索引节点存储问题。本文将通过文件系统的形式来显示云端数据,该虚拟磁盘中的数据来自云端服务器,也可进行扩展至P2P客户端。最后,对客户端进行压力测试与对比测试发现,该客户端总体性能优于同类分布式文件系统。
其他文献
教育的发展,技术的更新,对远程教育的发展提出了新的要求,为此,论文在传统远程教学系统的基础上,基于.NET开发平台设计并实现了一种新的远程教学系统,针对远程教学中的诸多关
随着Internet规模的不断扩大,网上的各种知识也随之迅速增长。目前,人们通常采用输入关键字的方法在WWW上查找知识,而提供知识查找服务的系统一般都未能知晓用户的位置、背景、
现代的移动通信的发展至今主要走过了两代。第一代移动通信系统(1G)是模拟制式的蜂窝移动通信系统,主要提供话音服务。第二代移动通信系统(2G)是数字移动系统,能提供低速率数
随着现代计算机应用需要处理越来越多的高维数据,如何对高维数据进行有效的维数压缩,成为一个急待解决的问题,流形学习是一种流行的降维方法,它通过保持高维数据的拓扑结构完
海上试验是水中兵器研发的重要环节。大型海上试验涉及众多分散在全国各地的人员、平台、设备和被试产品等资源,试验周期长、消耗大,在保证试验质量的前提下如何降低试验费用
当前,满足各种协作需要CSCW系统逐步进入我们的生活中,为辅助人们的工作发挥着越来越重要的作用。比如协同编著系统、协同设计系统、协同诊断系统等。人们对这些协同应用进行研
海洋信息服务在维护海洋权益、开发海洋资源、预警海洋灾害、保护海洋环境等方面都有着重大意义。而查询优化作为提升数据库处理性能的关键技术,对于有效地实现海洋信息领域的
IPv6是继IPv4之后的下一版本的互联网协议,解决了IPv4地址空间濒临耗尽的问题,同时可改善网络服务质量、提高网络的整体吞吐量、提供更好的安全性保障、支持即插即用和移动性,更
在信息社会中,随着时代的进步,企业改革的深入,企业大多建立了独立的售后服务网络体系。软件的可重用性和系统集成成为软件开发过程中非常重要的内容。SOA (Service oriented
主题地图(TopicMaps)是一种用来描述知识以及知识与信息资源联系的方法。它可以定位某一知识概念所在的资源位置,也可以表示知识概念间的相互联系。在XML语言兴起之后,XML基于