论文部分内容阅读
随着互联网技术的迅猛发展和网络用户相互交流的迫切需要,电子邮件日益成为人们办公和沟通的重要途径,它的数据规模也呈飞速膨胀的趋势。传统的文件系统很难满足海量数据存储和读取的性能要求,而现有的分布式文件系统并没有对海量邮件存储提供很好的支持,本文正是在这种前提下,对面向海量邮件存储的分布式文件系统进行了研究。分布式文件系统主要是利用网络将多台机器构成一个虚拟的文件系统。本文主要研究并实现了一个面向海量邮件存储的分布式文件系统,它除具有很强的容错性、可用性和可扩展性之外,还必须具有很高的I/O性能。针对邮件来源的特殊性,系统必须支持多种数据源的直接写入。为此,本文重点研究了如下问题并依此实现了本系统:首先,本文根据项目对文件系统的的需求,在合理分析了已有的分布式架构的基础上,设计出本分布式文件系统的架构。根据架构,设计并实现了系统的各个组成部分。其次,在开始设计分布式文件系统的内部写入和读出算法时,引入读写锁和租约。在读出和写入数据的过程中,研究系统的不同组成部分的多策略的负载平衡。把块副本冗余作为系统核心的容错方式,设计出系统中的每个组成部分的容错方案。再次,针对邮件来源的不同,有一般的数据源FTP,HTTP,FILE,也有专门的邮件源SMTP,IMAP和POP3,研究多数据源的公共接口并实现了公共接口的分布式文件系统写入。为了增强系统的I/O性能和数据完整性,在存储的文件格式中加入压缩和同步信息。最后,对分布式文件系统进行I/O性能测试。在机器数量有限的情况下,为了使现有系统的I/O性能的测试结果,在更大规模的机群上也成立,提出了速度稳定性测试。写入速度的测试结果高于20MB/s,而读出速度测试则约为40MB/s,这个测试结果也证明了此系统具有很高的I/O性能。