基于Hadoop文件存储系统的研发
Research and Development of File Storage System based on Hadoop
中文摘要
云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。Apache开源社区开发和贡献的Hadoop,作为MapReduce计算模型和GFS的一个开源实现,它已成为一个可靠性好、扩展性强的分布式计算和存储平台,被越来越多研究机构和公司用于数据挖掘、日志分析、广告计算和科学实验等。
基于Hadoop的文件存储系统是一个私有的专用网盘系统,具有强大和简单易用的文件管理、协同办公、部门或虚拟团队级文件共享等丰富功能。与免费的个人网盘相比,具有更强的团队协同功能,在组织架构、共享权限上能适应中小企业的需求。
基于Hadoop的文件存储系统主要就是研发这样一个系统,包括系统前台和系统后台两个部分。以下主要描述了系统后台的开发流程,通过该流程将对采用JavaEE技术和云存储技术对系统进行设计以及具体实现。
系统后台的开发是采用Java语言,使用Struts2+Hibernate3.2+Spring2.0等JavaEE开发框架,使用Hadoop的分布式文件系统HDFS存储文件,数据库采用关系型数据库Mysql5.6。
1、系统的研发意义
随着信息技术地不断发展和高校办学规模越来越大,高校的行政办公和教学活动中时刻进行着海量数据资源的产生和流通,信息共享交流更加频繁,如各类文档文件、教学课件、多媒体素材等都需要频繁使用。移动存储设备由于使用不便和共享困难等一般适用于存储个人数据;E-Mail使用较方便,但不适用于存储传输较大的文件;网上邻居等局域网共享方式受到校园网结构的制约无法很好的满足用户需求;FTP功能相对强大,但是服务界面简陋,有些用户使用起来有一定困难。因此,如何在安全、便捷、可接受代价的前提下向用户提供大容量、高可靠性的网络存储业务,成为了信息化建设的一大课题。于是网络硬盘应运而生,摒弃了以上不足。但随着存储技术的不断发展,传统的网盘技术已经显得力不从心,存在传输速度慢、容灾备份及恢复能力低、安全性差、营运成本高等诸多瓶颈。
而近年流行的云存储技术推动了网盘行业的浪潮,如百度云网盘、腾讯微盘、360云盘、华为网盘、115网盘、七牛存储等产品。云计算架构的分布式存储技术能充分利用其技术,结合超大规模、高可扩展性、廉价性、高可靠性等特点来满足当前PB级的海量数据存储管理要求。云存储是构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问系统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系