论文部分内容阅读
随着信息全球化的发展,互联网产业得到迅速地发展,其在科学研究、数据挖掘和信息获取方面的广泛应用,使得人类需要存储和管理的数据越来越多,进而出现数据爆炸现象。数据的爆炸式增长使得本地文件系统在存储和计算能力等方面越来越不能满足用户的需求。分布式文件系统可以有效地解决数据存储和管理的难题,也逐渐代替本地文件系统成为企业数据的基本存储方式。数字信息化在促进分布式文件系统发展的同时,也对存储系统中数据的安全性提出了更高的要求。在当今数据即信息,数据即价值的时代,如何保护企业的“数据资产”不被损坏或丢失,保证数据的安全性成为重中之重。比较流行的数据安全技术包括备份、日志、快照和纠删码,而纠删码可以在保证数据安全性的同时,节约较多的存储空间,也因其较好的可扩展性,在分布式文件系统中得到广泛应用。本文主要针对目前比较流行的分布式文件系统HDFS进行研究,分析了HDFS多副本数据安全策略的缺点,采用比较流行的纠删码技术替代多副本策略,在保证数据安全性的同时,可以在系统数据总量为N的情况下,相比于HDFS的三副本技术,节约1.3N的存储空间。本文实现了HD_EC文件系统,该系统将HDFS和ECFS文件系统进行结合。ECFS是采用纠删码技术实现的,HD_EC文件系统充分利用两个文件系统的优点,将HDFS和ECFS进行文件系统的整合,将系统数据由HDFS转储到ECFS之中。在HDFS客户端发出文件操作命令后,首先在HDFS名字节点修改或读取名字空间目录树,然后获取数据将要写向或已经存放的数据节点信息,最后在HDFS端调用ECFS所提供的文件操作接口,向ECFS写入数据或者从ECFS中读取或删除文件数据。写向HD_EC文件系统的数据会经过一定的纠删码算法,计算得出编码块,将数据块和编码块同时存放在ECFS中的数据服务器中。因为HDFS是以Java代码实现,而ECFS是C语言代码实现,不能直接通过接口调用ECFS中的函数,因此本文采用Java中的JNI应用程序,实现Java和C本地库的相互转换。本文还完成了HD_EC文件系统的相关测试工作。从系统功能的实现、存储空间、读写效率三个方面进行测试。从实验结果来看,在系统功能实现方面,系统很好的实现了文件操作的功能,可以将数据正确的存储到ECFS中,也可以从中正确的读取文件数据;在存储空间方面,将HDFS中的数据存储到ECFS之中,在保证数据安全性的同时,还可以节约相比于三副本更多的存储空间;在读写效率方面,将数据存于ECFS之中,读写速率会有一定程度的减慢,这也正是接下来研究工作的重要一部分。