基于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。

关键词:Hadoop;文件存储系统;云存储;HDFS;

1、系统的研发意义

随着信息技术地不断发展和高校办学规模越来越大,高校的行政办公和教学活动中时刻进行着海量数据资源的产生和流通,信息共享交流更加频繁,如各类文档文件、教学课件、多媒体素材等都需要频繁使用。移动存储设备由于使用不便和共享困难等一般适用于存储个人数据;E-Mail使用较方便,但不适用于存储传输较大的文件;网上邻居等局域网共享方式受到校园网结构的制约无法很好的满足用户需求;FTP功能相对强大,但是服务界面简陋,有些用户使用起来有一定困难。因此,如何在安全、便捷、可接受代价的前提下向用户提供大容量、高可靠性的网络存储业务,成为了信息化建设的一大课题。于是网络硬盘应运而生,摒弃了以上不足。但随着存储技术的不断发展,传统的网盘技术已经显得力不从心,存在传输速度慢、容灾备份及恢复能力低、安全性差、营运成本高等诸多瓶颈。

而近年流行的云存储技术推动了网盘行业的浪潮,如百度云网盘、腾讯微盘、360云盘、华为网盘、115网盘、七牛存储等产品。云计算架构的分布式存储技术能充分利用其技术,结合超大规模、高可扩展性、廉价性、高可靠性等特点来满足当前PB级的海量数据存储管理要求。云存储是构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问系统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系列需求。尽管业内已经提供了大量云存储服务相关的产品,由于目前的云存储服务大多是商业化产品,对企业网和校园网的信息化建设来说,在数据安全和价格上都是问题。

因此,采用Hadoop的分布式存储技术开发这样一个能满足海量数据存储、高效可靠、安全稳定、低成本等网盘系统有着十分积极的意义。

2、网盘技术的发展概况

随着移动互联网大潮的到来,随时随地办公、学习、娱乐等成了可能。人们无时无刻在产生文档、视频、照片等文件,同时又迫切的需要随时随地去调阅、编辑、保存这些信息数据,此时,帮助用户方便、快捷的储存、调用这些文件的网盘应运而生。

网盘最初是解决发送大文件问题,以及满足网民对于一些好的资料的收藏而推出。网盘需要投入相应的硬件设施,同样需要有一定的带宽,这样也就增加了相应的成本。目前国内的网盘主要分为2种类型,一种是为娱乐资源类型,一种是专注于网络存储的应用型。从互联网的发展角度来说,很多的网盘都是打着免费的旗号在运营着,但是随着用户数的增加,以及原本网速这道坎,导致很多运营商的发展有点难堪。

近年来,由于新兴起的云计算与云储存技术研究浪潮,网盘行业经历了一次革命。互联网行业巨头百度、金山、腾讯、360等都纷纷涉足网盘行业。甚至打击起暴力营销战,突然都为网盘“掐”起来。先是金山快盘推出100G容量;360随后跟进,宣称只要完成几个简单任务,就可获得360G的容量;而后百度网盘继续跟进,花1块钱就可以获得1T永久容量的网盘;向来凶猛强悍的360,干脆送给用户1T的容量,还是永久免费…连传统的IT企业也不甘落后,华为网盘推出惊人的“无限空间”终结了这场无底线的混战。

各大互联网巨头都在极力打造一个属于自己的网盘整合平台,通过平台提供各种用户常用的服务,例如下载、分享、支付、社交等来建立起庞大的帝国。在国外无论是Google、苹果还是微软,都将网盘纳入自己的账号生态系统;在国内,迅雷依托下载、金山依托办公、腾讯依托QQ和微信、360依托安全软件和安全浏览器,都在不断扩展自己的领域,形成属于自己的平台,掌握了流量的入口。这些巨头公司都想搭生态、做循环、留住用户、圈住开发者,那么网盘就是其中很重要的一个基础建设项目,自然成兵家必争之地。

网盘的发展在后期,随着国内网速的提升,以及对于网盘的便利性在网民中的普及,再进一步提升速度和安全,打造品牌个性云服务,应该会有很好的发展。

3、系统采用的技术架构

基于Hadoop的文件存储系统后台采用的开发技术是:Struts2+Hibernate3.2+Spring2.0+Jsp+JQuery/Ajax+Hadoop/HDFS,采用MVC三层的开发模式,将项目分为一下几层:

表现层(V):Jsp+JQuery/Ajax

控制层(C):Struts2

业务层(C):具体模块的业务方法

数据访问层(M):Hibernate+Hadoop/HDFS,Hibernate处理的是网盘系统产生的用户数据,调用Hadoop的HDFS接口来存储用户真实的文件数据。

4、Hadoop云计算技术简介

Hadoop 是一个分布式系统基础架构,由 Apache 基金会开发,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System,HDFS)。 HDFS 有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且它提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS 放宽了POSIX 的要求这样可以流的形式访问文件系统中的数据。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如C++。

5、经济的可行性

基于Hadoop的文件存储系统使用的技术或框架(SSH框架、Mysql数据库、Hadoop)都是免费开源的,不涉及版权和价格问题。Hadoop集群对集群的机器要求也不高,普通机器集群就可以发挥Hadoop处理海量数据的优势。该系统采用的是Java开发的,因此可跨平台运行,window和Linux均可,但Hadoop集群是Linux机器集群是必须的。因此,该系统在经济上是完全可行的。

6、操作的可行性

基于Hadoop的文件存储系统对于服务器端和客户端所要求的软硬件的最低配置在大多数的用户计算机都能达到,现有的开发工具(MyEclipse、Mysql)完全能够实现,而且本系统对管理员和网盘用户没有任何的特殊要求,实际操作基本上以鼠标操作并辅以少量的键盘操作,操作方式很方便,因此本系统具有良好的易用性。

7、文件存储系统功能演示

普通用户功能:

管理员功能:

本网盘由广西大学308实验室提供。

微信号:weiyou308

基于Hadoop文件存储系统的研发相关推荐

  1. 如何基于.NET Core构建分布式文件存储系统?

    最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,阿里云OSS,腾讯云OSS等.根据任务紧急度暂时先完成了通过配置来 ...

  2. 一图看懂hadoop分布式文件存储系统HDFS工作原理

    一图看懂hadoop分布式文件存储系统HDFS工作原理 转载于:https://www.cnblogs.com/AlexQY/p/9856477.html

  3. java gridfs_GridFS 基于MongoDB的分布式文件存储系统

    GridFS 基于MongoDB的分布式文件存储系统 什么是GridFS GridFS是一种将大型文件存储在MongoDB的文件规范.所有官方支持的驱动均实现了GridFS规范.GridFS是Mong ...

  4. HDFS—Hadoop底层分布式文件存储系统

    声明:本文档所有内容均在本人的学习和理解上整理,仅供参考,欢迎讨论.不具有权威性,甚至不具有精确性,也会在以后的学习中对不合理之处进行修改. 在上一篇"浅谈Hadoop inFusionIn ...

  5. 基于hadoop构建对象存储系统_Hadoop社区正式支持腾讯云对象存储COS

    8月4日消息,知名大数据开源社区Hadoop近日宣布对腾讯云对象存储COS的正式支持.后续,开发者在基于Hadoop架构进行大数据分析时,能够在不修改代码的情况下,无缝高效地使用腾讯云COS来处理海量 ...

  6. 基于Hadoop的58同城离线计算平台设计与实践

    作者:余意,来自:DataFun 导读:58离线计算平台基于 Hadoop 生态体系打造,单集群4000+台服务器,数百 PB 存储,日40万计算任务,面临挑战极大.58大数据平台的定位主要是服务数据 ...

  7. 基于Hadoop的云盘系统客户端技术选型说明

    伴随云计算技术的发展,云盘系统不断涌现,百度.360.金山等都推出了各自的云盘产品,而云盘存储的模式也越来越被用户所接受,也有越来越多的公司跃跃欲试,想在云存储领域大展拳脚,有一番作为.但是开源Had ...

  8. 基于Hadoop的数据分析平台搭建

    企业发展到一定规模都会搭建单独的BI平台来做数据分析,即OLAP(联机分析处理),一般都是基于数据库技术来构建,基本都是单机产品.除了业务数据的相关分析外,互联网企业还会对用户行为进行分析,进一步挖掘 ...

  9. 用asp.net core结合fastdfs打造分布式文件存储系统

    最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,阿里云OSS,腾讯云OSS等.根据任务紧急度暂时先完成了通过配置来 ...

最新文章

  1. SAP RETAIL MM41 创建商品主数据时候不能使用制造业系统里配置的物料组
  2. 如何在PHP中删除字符串中的所有空格? [重复]
  3. LINUX下忘记MySQL的ROOT密码后修改,以及添加访问IP。
  4. OJ题目细菌实验分组c语言,C语言
  5. 分布式系统中的一致性协议
  6. admin.0001_initial is applied before its dependency users.0001_initial on database 'default
  7. 用c语言递归函数做扫雷,【C语言基础学习---扫雷游戏】(包含普通版+递归炼狱版)...
  8. linux kill 关闭进程命令
  9. oracle的分支语句,oracle中的分支与循环语句
  10. jsonp模拟获取百度搜索相关词汇
  11. Lintcode1 A+B Problem solution 题解
  12. Docker中常用的命令
  13. linux ssh-copy-id命令本地主机的公钥复制到远程主机的authorized_keys文件上
  14. C语言练习题目录索引
  15. 农大计算机工程,肖德琴-华南农业大学计算机科学与工程系
  16. 计算机与经济学之关联刍议,西方五大经济学期刊发展趋势刍议
  17. 15.(cesium之家)cesium暗色系地图样式地图(滤镜实现,反色滤镜)
  18. [100天挑战100个前端效果]第十九天---人物介绍卡片效果(猜猜是哪三个大佬?)
  19. 实时时钟 (RTC)
  20. [WC2013]糖果公园

热门文章

  1. 定期清理执行垃圾回收代码
  2. 华为笔试4.6回文排列数量
  3. 备考全国计算机三级数据库考试+自学MySQL 第二章第三章数据库的基本操作
  4. 构建中小企业的信息系统(一):致中小企业管理者
  5. Windows 系统文件夹目录挂载到 Linux服务器中
  6. 「HNOI 2009」梦幻布丁
  7. 第一周总结--------陈聪
  8. 百度CTO王海峰荣膺第十三届光华工程科技奖
  9. 12贪心法——活动安排相容问题
  10. 携旅:大数据推进新旅游住宿发展