021-68453443

面向教育资源的分布式文件系统设计与实现

2017-03-03 17:33:43 人阅读 分类:论文范文

摘要:按照教育资源用户需求与分布式文件系统特点,设计StorageServer与TrackerServer的构架,对文件访问、负载均衡、文件同步、Tracker/Storage管理、文件存储等核心功能设计最后通过与其它分布式文件系统使用效果进行对比验证了本文成果。
关键词:分布式文件系统;教育资源;文件传输;均衡负载
1.引言
信息化教育资源的特点:文件多,多数文件较小又决定了现有分布式文件系统对于信息化教育资源的整合效果并没有达到最好。因此,研究开发一套用于信息化教育资源的分布式文件系统是有其意义与必要的。如何安全、高效、便捷的整合信息化教育资源是本分布式系统的研究重点。结合用户需求与分布式文件系统特点,可以知道主要功能需求包括了文件访问、负载均衡、文件同步、Tracker/Storage管理、文件存储等功能。下面对核心模块需求进行描述。核心模块应主要实现功能需求,即包括文件访问包括上传与下载、文件同步、Tracker/Storage管理、文件存储等几个部分。
文件上传与下载:实现client对于文件请求,Tracker响应请求分配Storage到client获得所要求上传或下载的文件。需要满足用户对于访问透明:客户端程序不必考虑文件的存储位置,通过使用统一的接口对文件进行访问和操作;位置透明:文件访问的路径名与其存放在服务器中的位置无关,对于客户端程序来说是名称是统一的的需求
文件同步:实现Storage存储的文件之间的同步。需要满足用户对于文件管理即客户端程序对于文件的存放位置的改变无需关心。
Tracker/Storage管理:Tracker和Storage中的服务器均可以随时增加或下线而不会影响线上服务。需要满足用户对于扩展透明即能够通过系统的自动扩展解决对文件服务需求增大或者网络规模变化等问题。
文件存储:实现文件存储与管理功能。即优化对信息化教育资源的特点和用户的特定需求实现文件存储的优化。
2.系统构架设计
考虑到学校网络环境通常是能够提供多台服务器、但服务器的稳定性并不能保证高水平,如选择Hadoop和GFS的架构可能会导致需要较多次的重新选取主服务器、造成服务中断;而多个主服务器构成的组与多个从服务器构成的平行组架构比较简洁高效且实现方便容易,并且非常节约资源,在保重灵活便捷的同时,又为实现本系统的主要目标提供了支持。因此本系统选择了这种系统体系架构来作为实现方案。

图1系统总体架构图
StorageServer主动与TrackerServer连接。TrackerServer中StorageServer的状态信息是获得的StorageServer的主动报告。其中记录了剩余磁盘空间、文件同步情况、以及如文件上传下载次数等信息。StorageServer与所有的TrackerServer相连接,并且对TrackerServer报告自己的状态。StorageServer对每一台TrackerServer启动一个单独的线程用来完成连接以及获取定时报告。一个组包含的StorageServer信息是通过连接TrackerServer获取的,而不是通过StorageServer的配置文件设定的,这是其一个特别之处。StorageServer记录文件上传、删除等更新操作是通过对日志文件的修改。在日志文件中只记录文件名而不会记录文件内容。
3.文件读写访问设计
用户对文件访问的需求即位置透明:文件访问的路径名与其存放在服务器中的位置无关,对于客户端程序来说是名称是统一的;以及移动透明:客户端程序对于文件的存放位置的改变无需关心。本系统采用与主流分布式文件系统相同的设计方案。如图2所示。

图2文件读写流程示意图
4文件存储与管理设计
由于本系统为面向信息化教育资源而设计,由于信息化教育资源大小主要分布在0到4MB之间,但也有GB级别的大文件,根据这个结果,将块大小设计为4MB,这样在存储时不会浪费过多的空间,同时提高了大文件的传输效率。这比一般的文件系统的块规模要大的多。每个块的副本作为一个普通的Linux文件存储,在需要的时候可以扩展。选择较大的Chunk尺寸有几个重要的优点。首先,它减少了客户端和Master节点通讯的需求,因为只需要一次和Mater节点的通信就可以获取Chunk的位置信息,之后就可以对同一个Chunk进行多次的读写操作。
StorageServer存放具体数据,以4MB为单元分布。在块创建的时候,主服务器会给每个块分配一个不变的、全球唯一的64位的块标识。从服务器把块以linux文件的形式保存在本地硬盘上,并且根据指定的块标识和字节范围来读写块数据。
5.负载均衡方案设计
本系统在设计服务器访问负载均衡时考虑到负载均衡实现的方便与清晰,选择了轮询的方式。依次将请求调度不同的服务器,即每次调度执行i=(i+1)modn,并选出第i台服务器。这样做的优点是比较简单、易于实现。它无需记录当前所有连接的状态,可以降低服务器与网络通信的负载。当Client询问TrackerServer有哪些StorageServer可以下载指定文件时,TrackerServer返回满足如下四个条件之一的StorageServer:
1)该文件上传到的源StorageServer,文件直接上传到该服务器上的;
2)文件创建时间戳小于StorageServer被同步到的文件时间戳,这意味着当前文件已经被同步过来了;
3)文件创建时间戳等于StorageServer被同步到的文件时间戳,且当前时间减去文件创建时间戳大于一个文件同步完成需要的最大时间(如5分钟);
4)当前时间减去文件创建时间戳大于文件同步延迟阈值,比如把阈值设置为1天,表示文件同步在一天内肯定可以完成。

图3轮询调度示意图
在图3中展示了对满足条件的从服务器进行轮流调度,以保证负载均衡。
6.系统测试
为了验证系统是否实现下列目标:实现文件的上传下载管理功能,实现服务器的实时加入和退出;提供文件传输和存储负载均衡功能;对可能发生的大量的小文件存储和传输进行优化对系统传输与存储文件进行测试。将其中一台作为client,一台作为StorageSever,另外一台作为TrackerSever。实验采用2GB的数据集。统计数据中0-4m大小的文件占了所有文件的绝大多数。而4-10m以及大于50m的文件数量则相对较少。大小主要为0-4m。
PDF格式的文件占了最大比例,而PPT和DOC格式的文件也占了相当大的比例,最少的是RMVB以及ISO文件。用于存储静态图像和文字的PDF、PPT、DOC是最主要的信息化教育资源文件类型。而用于存储动态视频的RMVB以及ISO文件则是次要的。
1.文件传输测试
验证了本系统的文件文件的传输功能。采用了文件个体大小不同、总大小一定的数据进行测试,得到存储占用空间大小统计图4。通过与NFS在同样数据测试对比可以发现本系统在文件大小小于1MB时表现出了更好的传输速度,而当文件大小趋近于1GB时系统性能相近。

图4文件传输时间统计图图5占用空间统计图
2.文件存储测试
采用同样的数据进行存储测试,验证了本系统的文件存储与管理功能。得到存储占用空间大小统计图5。通过与NFS在同样数据测试对比可以发现本系统在文件大小小于4MB时对于空间的利用率更高。
结束语
通过本系统的设计与实现能够对现有信息化教育资源进行整合。解决信息化教育资源小文件多;教育网带宽相对较低、延迟较大。为日后信息化教育资源的管理方式提供了一个更优秀与合理的方案。对推动信息化教育资源的共享做出了一定贡献。

相关资讯