分布式存储系统概要设计说明书

上传人:公**** 文档编号:505634997 上传时间:2024-02-22 格式:DOC 页数:20 大小:564KB
返回 下载 相关 举报
分布式存储系统概要设计说明书_第1页
第1页 / 共20页
分布式存储系统概要设计说明书_第2页
第2页 / 共20页
分布式存储系统概要设计说明书_第3页
第3页 / 共20页
分布式存储系统概要设计说明书_第4页
第4页 / 共20页
分布式存储系统概要设计说明书_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《分布式存储系统概要设计说明书》由会员分享,可在线阅读,更多相关《分布式存储系统概要设计说明书(20页珍藏版)》请在金锄头文库上搜索。

1、概要设计说明书目录1简介11.1编写目的11.2软件名称11.3软件功能11.4术语和缩略词11.5参考资料22总体设计32.1需求规定32.2运行环境42.3基本设计概念和处理流程42.4结构52.5功能需求与程序的关系52.6模块处理关键过程52.6.1远程调用模块52.6.2 存储管理52.6.3 元数据管理62.6.4 传输模块62.6.5 监控管理模块62.6.6 节点管理模块72.6.7 副本生成与管理模块72.6.8 垃圾文件管理模块72.6.9 负载均衡模块73 接口设计83.1用户接口83.2外部接口83.3内部接口84系统数据结构设计94.1逻辑结构设计94.2物理结构设计

2、94.2.1数据库设计94.2.2配置文件设计104.3数据结构与程序的关系145系统出错处理145.1出错信息145.2补救措施155.3系统维护设计156尚需解决的问题1511简介1.1编写目的本文档系统地描述了存储服务器(v2.0)的设计要点,主要阅读对象为系统实现者、以及后期上层应用的开发者。本文档的目的在于从概要设计的角度使系统开发人员和测试人员明确功能范围,可以有针对性的进行系统开发、测试、验收等各方面工作。1.2软件名称软件中文名称: 存储服务器(v2.0)软件英文名称: JTang Storage Server(v2.0)1.3软件功能存储服务器提供可靠高效的文件存储,支持分布

3、式的文件存储方式并支持大规模的并发访问,多副本的冗余策略使得服务器更高效、容错。1.4术语和缩略词元数据描述数据的数据。文件(或目录)分为元数据和文件内容,元数据主要描述文件名、大小、属性等信息命名空间统一的作用域,在该作用域中,文件系统被唯一地组织成目录树结构提供给用户进行元数据的操作。命名空间维护虚拟文件路径(命名空间)和元数据之间的对应关系以及命名空间的一致性。在元数据服务器集群中,每台元数据服务器负责维护本地的命名空间、响应远程命名空间操作请求以及发送远程命名空间操作请求等。其中维护本地命名空间包括创建、修改、打开、删除文件或目录以及列出目录内容等。MDSMDS:MetaData Se

4、rver,元数据服务器。主要负责存储、管理元数据以及节点间通信。OSDOSD:Object-Based Storage Device,基于对象的存储设备。对象存储允许访问数据的方式为存储的对象。A storage object is a virtual entity that groups data together that has been determined by the user to be logically related.存储对象是一个虚拟的实体,Space for a storage object is allocated internally by the OSD itse

5、lf instead of by a host-based file system.空间的存储对象是OSD本身内部分配的,而不是由一个基于主机的文件系统。 OSDs manage all necessary low-level storage, space management, and security functions. OSDs管理所有必要的低级别的存储空间管理和安全功能。 Because there is no host-based metadata for an object (such as inode information), the only way for an appl

6、ication to retrieve an object is by using its object identifier (OID).由于没有基于主机的数据的一个对象(如inode上的信息) ,唯一的办法申请检索的对象是使用它的对象标识符( OID )。1.5参考资料2总体设计2.1需求规定功能需求:(1)文件存储基本功能,包括文件创建、上传、下载、删除等功能。(2)多种文件传输协议,使用Http和Socket作为传输协议。(3)系统监控配置功能,包括监控资源系使用情况(存储空间、连接数),配置服务器参数(端口号,存储路径)。(4)存储服务器的分布式集群,即元数据服务器(MDS)与OSD

7、分离形成单台MDS多台OSD的集群形式的分布式文件系统。(5)文件多副本管理,对数据进行复制形成多个副本,数据的冗余使得系统更加安全以及高效,并且为负载均衡提供实现基础。(6)垃圾文件管理,由于客户进行文件删除只是MDS上的逻辑删除,实际的数据文件依然存在于OSD端,垃圾文件管理将定时删除这些逻辑上已删除的文件。避免无用文件随着时间累积占据磁盘空间。(7)负载均衡功能,根据系统的运行环境(例如,CPU、网络、磁盘空间大小等)进行选择OSD,从而避免了单台OSD的瓶颈。(8)多个磁盘和目录存储的支持,(9)命令行客户端,C语言客户端,功能实现优先级:功能实现难度优先级备注性能需求:(1)单台元数

8、据服务器支持1000个并发连接的元数据访问,平均响应时间不超过5s。(2)单台存储服务器支持200个用户并发访问,每个用户平均传输速度50KB/s。(3)多台存储服务器支持300个用户并发访问,每个用户平均传输速度150-200KB/s。安全需求:2.2运行环境基本需求:(1)支持Windows、Linux、Solaris等操作系统(2)支持Java SE Development Kit (JDK)和Java Runtime Environment (JRE) 1.5.0_11及其以上版本(3)支持Oracle、MySQL、Microsoft SQL Server、Derby等数据库(*)网络

9、硬盘需要Apache Tomcat 5.5或以上版本,支持Internet Explorer 6和7,Firefox 2和3等浏览器(*)Windows虚拟磁盘支持Windows 2003,XP,Vista的x86和x64版本第三方包依赖:序号Jar文件版本说明1spring2.5Spring Framework2log4j1.2.13提供日志功能3mysql-connector-java5.0.5MySQL的JDBC驱动程序4lucene2.4.1提供全文检索功能5je-analysis1.5.3中文分词插件6PDFBox0.7.3提供PDF文件解析功能 bcmailjdk14-132 bc

10、provjdk14-132 checkstyle-all4.2 FontBox0.1.0-dev7junit4.5单元测试的支持8commons-dbcp1.2.2数据库连接池功能9dokan library0.4.2.1238提供Windows FUSE开发支持2.3基本设计概念和处理流程 元数据服务器缓存的设计 客户端和服务器端的通信协议设计 远程方法调用和消息传递功能 磁盘上文件组织方法 副本生成与管理策略 节点管理的设计 负载均衡的实现2.4结构存储服务器运行在Linux或者Windows系统的计算机上,服务器进程是用户级别的进程。本系统的整体服务器架构图(v0.1.0版本)如下所示:

11、2.5功能需求与程序的关系2.6模块处理关键过程2.6.1远程调用模块客户端和服务器的通信方法,调用服务器端的方法,返回相应的结果。2.6.2 存储管理文件存储模块提供一些操作物理存储文件的基本功能。功能:(1)创建物理存储文件首先产生UID,然后根据这个UUID产生10层目录结构,并以这个UUID作为物理存储文件的文件名,创建成功后向虚拟文件系统返回这个文件的物理存储位置,再由虚拟文件系统建立虚拟文件与物理存储文件的映射。(2)读取文件数据根据文件的ID查找到文件的存储位置,将文件数据返回给传输模块发送给客户端。2.6.3 元数据管理元数据管理模块主要分三个子模块:命名空间子模块(Names

12、pace)、缓存子模块(Cache)以及数据库子模块。(1) 命名空间子模块提供统一的接口给客户,客户可以根据虚拟路径进行一系列元数据操作:添加、查找、删除、修改、创建目录、读目录等。(2) 缓存子模块将元数据组织成目录树的结构常驻于内存中,命名空间层的元数据操作都需先经过缓存子模块层。缓存一开始为空,命名空间层不断地向缓存层请求元数据。对于读操作:如果缓存中存在请求的元数据则直接返回,否则缓存层先向数据库查询,如果数据库中存在则加载到缓存中,并返回给命名空间层,如果数据库中也没有,则返回错误信息。对于写操作:缓存层先将元数据写入缓存层,再写入数据库随着运行时间的增加,缓存层逐渐可以完全成为数

13、据库在内存的映射,响应命名空间层的元数据请求时,只需要在内存中查找即可,从而大大提高了运行效率。(3) 数据库子模块主要用来存储元数据。通过以上三个子模块在整个存储网络中建立一个统一的命名空间,从客户端来看,整个系统中的文件是按统一的方式存储的,和普通的文件系统没有区别。2.6.4 传输模块实现HTTP和Socket协议的文件传输,以数据流的形式提高给用户来读取或写入数据。2.6.5 监控管理模块目标:为其它模块及管理员、用户提供服务器运行及传输情况的实时信息,以便对当前系统运行状况有直观数据上的了解并能进行相应操作。功能:1.监控服务器上的传输情况,如当前连接数,当前连接用户数,上传下载速率

14、等。2.监控服务器的运行情况,如CPU占用情况,内存占用情况,磁盘使用情况,是否已非正常关机。3.对服务器的参数进行配置2.6.6 节点管理模块目标:为MDS模块提供OSD服务器运行及传输情况的实时心跳信息,使得MDS模块能够掌握OSD服务器的最新动态并进行相应的管理。功能:OSD获取当前本机的一系列参数信息,如CPU利用率,内存利用率以及网络利用率等,并将其封装为心跳信息发送到MDS,MDS再根据最新的心跳信息对OSD进行管理。2.6.7 副本生成与管理模块目标:对数据进行复制形成多个副本,数据的冗余使得系统更加安全以及高效,并且为负载均衡提供实现基础。功能:1.OSD进行自我文件扫描,根据文件的ID向MDS请求检察文件的状态,从而决定是否进行复制。2.扫描结束后,OSD之间独立的进行文件复制,复制结束后更新MDS中元数据信息3.副本管理,根据文件的访问频率等相关信息进行控制副本的生成数。2.6.8 垃圾文件管理模块目标:由于客户进行文件删除只是MDS上的逻辑删除,实际的数据文件依然存在于OSD端,垃圾文件管理将定时删除这些逻辑上已删除的文件。避免无用文件随着时间累积占据磁盘空间。功能:MDS端删除的元数据记录在另一张数据表格中,定时对表格进行查询,根据文件I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号