分布式存储平台的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式存储平台的设计与实现
曹挹芬
(湖南大学计算机与通信学院湖南长沙410219)科学论坛
q●I
[摘要]在数字信息爆炸的时代,社会对于信息的存储需求量急剧增加,本文针对传统单机存储方式的不足,提出了设计分布式存储平台的思路,以此为高效的存储和获取信息提供又一途径。主要介绍了分布式存储平台的优势与设计原理、平台的整体设计和关键算法及其主要模块交互与关键流程的实现。
[关键词]分布式并行计算存储平台
中图分类号:0246文献标识码:A文章编号:1009—914X(2009)9(b)一0117—02
人类正进入一个数字信息爆炸的时代,信息的存储将成为最基本的手段和目的。首先,计算机技术的进步,尤其是廉价的存储设各的出现,为海量信息存储提供了物理基础:其次,社会信息化进程的加快,政府机关、企业、教育、医疗等机构大量的数据正在或者已经被信息化,这是数字信息量激增的源动力:再次,人类获取有效的信息已成为信息时代的基本要求,而其基础是必须高效存储有效信息。在数字信息量激增、存储价格低廉、网络迅猛发展、获取有效信息需求急剧增加的大背景下,分布式存储平台的设计与实现为高效的存储和获取信息提供了又一种途径。
1分布式存储平台的优势与设计原理
目前流行的数据管理系统如关系数据库、文件系统、搜索引擎等,各有不足,尚不能完全满足数据快速查找需求。关系数据库的查询太过复杂,数据模式约束过于严格,可伸缩性较差:而文件系统只支持浏览功能;搜索引擎则只支持关键词检索,不支持浏览功能。所以,有效的数据管理和查找方法是一个迫切需要解决的研究课题。
分布式计算是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台独立计算机构成的集群。
分布式存储系统(DFS:distributedfilesystem),就是将数据分散存储在多台独立的设备上。对外提供统一的接口:包括文件上传、获取等一系列操作。对于上层用户,数据的分布是透明的,这样傲的目的就是为了存储的可扩展性,以及提高数据存储和获取的速度。
图1分布式文件系统硬件拓扑
图2分布式文件系统架构
并行计算支撑平台底层存储组件一分布式文件系统(DFS)的设计原理是:并行计算框架的所有数据文件,经过等大小切分以后,全部存储在分布式文件系统(DFS)之中。数据文件的上传、命名、存储、获取和删除等一系列操作,皆是采用了DFS提供的接口。
分布式文件系统具有以下特点:一是系统具有优异的性能和吞吐率。系统各部分负载均衡,不存在明显的性能瓶颈。二是系统具有较高的稳定性。尽量减少系统关键点,避免“单点失败”,而且必须具有快速恢复的能力。三是良好的可扩展性。能够方便的进行存储和计算能力的扩容。
2分布式存储平台的奠体设计和关曩算法
2.1整体设计
如下图1,图2所示,存储子系统包括一个全局的元数据服务器(MDS)、多个文件系统接口机(FSI)、多个存储节点(SN)组成。文件接口机(FSI)为应用提供文件访问接口:元数据服务器(MDS)维护文档分配表(DAT)、热点文件列表(HL)等其它元数据,并负责整个系统的负载均衡:存储节点(sN)的功能是存储文件。根据sN的可靠性、存储能力,sN被分成不同存储类型,如可靠的小文件sN类型,不可靠的大文件sN类型等。元数据DAT和HL被复制到所有的FSI上,因此大部分的文件访问操作都由FSI直接和对应的sN来完成,而不需要MDS参与。
2.2关键算法
如图3所示,64位的Docld空间划分成大小相等的216个Bucket,每个Bucket用一个16位的唯一BucketID来标识。每个Bucket都足够大,能够容纳248个文档。Bucket到SN之间的映射关系记录在酴T中,Bucket和sN是多对多的对应关系。如果不存在复制,Bucket的存储类型等于其对应sN的存储类型。
复制:为了提高可用性和读数据效率,系统支持Bucket级别的复制。修改DAT使得~个Bucket被映射到多台sN。读取操作可以在任何一个Bucket副本上进行,更新操作必须使用类分布式事务方法,使得所有副本都保持同步。
热点数据Cache:因为热点数据通常是有数据读取操作引起的,因此系统通过FsI缓存热点文件来解决热点数据造成的访问瓶颈。每台sN定时(如一个小时)统计最近访问次数最多的文档,形成文档访问统计信息。MDS定时汇总sN上的文档访问统计信息,确定系统的热点文件。
3分布式存储平台的主要横块交互与关键漉程实现
3.1主要模块交互
如图4所示,整个分布式存储平台(DFS)的工作流程主要包括存储节点(SN)、客户端模块(FsI)和元数据服务器(MDS)三方之间的交互。
存储节点(SN):分布式文件系统的存储节点主要是负责维护存储的数据,即负责具体执行FSI模块和MDS模块的操作指令,统计当前的操作信息,并定期向MDS模块发送心跳协议消息等,具体流程如下:
当存储节点(SN)与客户端模块(FSI)发生交互,主要包含读入、执行和发出几种操作:读入信息:由FSI发出的文件读、写、更新、删除等操作请
图3文档ID(DoclD)与目录的映射算法
科技博览I
117万方数据
万方数据