图片云存储系统的设计与实现

摘 要 云计算是通过网络来进行数据传输,从而实现数据资源共享的一项技术,其资源包括计算、存储、网络、服务和应用软件等。它能高效地为用户提供服务,并且用户以一种简单便捷的方式就可以使用它们。云存储是云计算系统需要对大规模的数据进行存储和管理时延伸和发展出来的一个新的概念。当本项目在linux环境中结合Eclipse搭建了Hadoop云开发平台,并使用JAVA开发语言设计了以此平台为基础的Web端。通过对Hadoop所提供的API的使用,用户不仅可以在Web端上传新图片、查看已上传图片及删除已上传图片,还可以在浏览器中输入相应的URL来对图片进行压缩、剪裁及水印等处理操作,被用户处理过的图片也会被保存下来,用户可以在Web端对处理过的图片进行查看。在该项目中还使用了Redis数据库,这一数据库被设计用于存储图片文件中关于HDFS文件的索引,数据库中采用了有序集作为HDFS文件的索引存储的数据结构,主要是为了使Web端能够对图片以列表的信息进行管理。
目 录
摘要 I
ABSTRACT II
目录 III
第1章 绪论 1
1.1本论文的研究背景及发展趋势 1
1.1.1 背景 1
1.1.2 发展趋势 1
1.2 课题研究的目的和意义 4
1.3 本论文研究的主要内容 5
1.4 本文主要工作及篇章结构 6
第2章 HADOOP云平台 8
2.1概述 8
2.2 Hadoop介绍 8
2.3 HDFS 9
2.3.1 HDFS简介 9
2.3.2 HDFS体系结构 10
2.3.3 HDFS API 12
2.4 MapReduce简介 15
第3章 图片云存储项目的概要设计 18
3.1项目需求分析 18
3.2 HDFS文件系统存储的设计 19
3.3 Redis数据库的设计 20
3.3.1 Redis数据库的安装及配置 20
3.3.2 Redis数据库的目录设计 21
 *好棒文|www.hbsrm.com +Q: ^351916072* 

第4章 图片云存储项目的详细设计 23
4.1 Hadoop配置 23
4.2图片Web管理平台的设计与实现 24
4.2.1图片Web管理平台的构架设计 24
4.2.2图片Web管理平台的实现 26
4.3图片在线压缩、剪裁、水印接口的设计与实现 30
4.3.1图片在线压缩、剪裁、水印接口的设计 30
4.3.2图片在线压缩、剪裁、水印接口的实现 31
第5章 图片云存储项目的部署及测试 37
5.1项目部署 37
5.2部署注意事项 41
5.3测试环境 42
5.4云存储测试 42
第6章 总结与展望 44
6.1总结 44
6.2展望 45
参考文献 46
致 谢 48
附 录 49
第1章 绪论
1.1 本论文的研究背景及发展趋势
1.1.1 研究背景
1.云概念的产生
云计算的想法是由John McCarthy在二十世纪六十年代提出的,John McCarthy当时说了“计算迟早有一天会变成一种公用基础设施”[1]这样一句话,这句话的意思就是说计算能力终有一天可以像一种商品一样进行流通,且其取用起来更加方便、所需的费用也更加的低廉。2007年10月,当BM和Google宣布在云计算领域的合作后,云计算凭借自身极具创新性的理念吸引了更多IT行业人士的关注,并迅速成为产业界和学术界研究的热点。
云计算的概念不仅覆盖范围很广,而且牵涉到了许多层面。它的提出可谓是整个IT行业的一次翻天覆地的大革新。因此研究云计算的发展情况、了解云计算技术的相关知识对我们学生来说是具有十分重要的意义的。云计算最大的特点在于它是在互联网上用虚拟资源的方式来进行整个网络上的资源共享以及数据传输的新型模式。从本质上讲,云计算就是数据、应用和服务皆存储在云端,然后通过对数据中心强大的计算能力进行充分利用从而实现用户业务系统的自适应性。
2.云存储的概念
云存储是云计算概念在特定的情况下延伸和发展出来的一个新的概念[2]。当云计算系统需要对大规模的数据进行存储和管理时,云计算系统中就会因为需要为这些数据配置大量的存储设备来为其提供足够的存储空间而将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,这时云计算系统就转变成了一个云存储系统,因此可以说云存储是一个以存储和管理大量数据为核心的云计算系统[3]。并且由于云存储系统中的所有设备对使用者来讲都是完全透明的,这种关系就像水电公司与用户一样,缴纳了水电费的用户可以自由地对水和电的进行使用,也就是说云存储系统的使用者也只要通过授权就可以在任何时间、任何地点通过任何可连网的装置与云存储连接,对云存储进行数据访问[4]。
1.1.2 发展趋势
1.现阶段云存储的运用
国内云存储的迅速发展首先明显的体现在近几年来由像腾讯、百度等各大型网络运营商所推出“网盘”服务上。网盘是一项在线存储服务,使用者可通过Web访问方式来上传自己需要存储的数据或者下载所需文件。而网盘的容量空间及上传和下载文件时的速度也不是一定的,前者的大小及后者的快慢一般都取决于该服务商的服务策略。现今的大多数网盘服务商都会选择让用户支付一定的费用来扩大网盘的容量或提升服务质量。
其次,Google通过近几年的飞速发展,也已经将云计算这一技术运用于自身的业务中。它将其所能提供的服务从当初单一的搜索引擎,扩展到了Google Calendar、Google Docs、Google Scholar、Google Picasa等多种在线应用服务。其中Google Docs的出现将会使我们可以以一种全新的更加便捷和高效的方式来编辑文档。与以往的文档编辑方式不同,今后我们将不再需要在电脑上安装office等办公软件,不论我们身处何处,只要我们能够登陆Google Docs网页就可以通过Google Docs提供的云计算服务轻轻松松地对文档进行编辑和修改。且编辑完成的文档将保存在Google Docs服务所提供的云存储系统中,这样一来,又让我们随时随地都可以通过再次登录Google Docs来对保存在云存储系统中的文档进行更改[5]。文档的数目越多数据量越大就越能体现Google Docs服务所带来的效益。并且我们还能通过云存储系统所提供的权限管理功能,轻松地将文档共享或传送给他人。这使得文档的管理变得更加的高效和方便。
再者,近年来网络游戏玩家数量持续增长,越来越多的年轻人开始关注网络游戏,各种类型的网络游戏也层出不穷,网络游戏公司开始在更多的平台上开发网游以吸引玩家。从传奇到魔兽、再到现下热度最高的英雄联盟,各种不同主题和不同风格的游戏接踵而至,大多数年轻人都能找到一款自己喜欢的游戏,同一款游戏也会根据玩家的需要来对自身的模式或性能进行人性化的优化及提升。但眼下大多数游戏都还存在着一个让玩家们都觉得不合适却在很长一段时间内一直没有得到解决的重要问题:那就是由于受到网络带宽和单台服务器的性能限制,网络游戏公司必须在全国不同地区建设很多个游戏服务器来满足成千上万个玩家同时在线,然而这些不同服务器上的玩家相互之间却是完全隔离的,他们不能够在游戏中见面,这样就导致了有些玩家没有办法和自己的朋友或同学在同一个游戏场景中一起玩耍和战斗。这个问题现在仍然困扰着许多玩家,让他们因此感到有些失落和遗憾。然而在未来,我们将可以通过云计算和云存储系统来构建一个庞大且高性能的游戏服务器集群来代替现有的多服务器架构。这个服务器群系统对于游戏玩家来讲是完全透明的,每个服务器之间是相互联通的,所有玩家都如同处于同一个服务器一样。这样一来所有玩家就可以聚集在一起,每个玩家都可以接触到更多的人,结识更多的朋友,这将会使游戏变得更加精彩,竞争变得更加激烈。更棒的是,云计算和云存储系统的使用还可以免除各位玩家由于下载和安装大型游戏程序或定期对游戏进行更新需花费大量时间所带来的烦恼[6]。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1695.html

好棒文