1、第 1 页(共 24 页)本科毕业论文(20 届)网络存储系统设计与实现首页和管理员页面编写所在学院专业班级 信息与计算科学学生姓名指导教师完成日期第 2 页(共 24 页)网络存储系统设计与实现首页和管理员页面编写摘 要:计算机的发展从单片时代开始,历经客服服务器时代和互联网时代之后,现在正逐步走向网络时代。所以我们才会选择将目光放到网上,从而推出了网络硬盘(网盘) 。用网盘的分布式储存系统,一份资料有多份冗余,即使部分机器损坏也能完整恢复数据,更不会存在丢失的风险,而且网盘严格的储存机制可放置病毒的传播。另外网盘没有容量大小限制,用户会有配额,但可无限扩容。关键词:网络时代;网络存储技术;
2、大数据English abstract: The development of the computer from the days of monolithic, after the server of the service time and after the age of the Internet, is now gradually to the network. So we can choose to look on the Internet, which launched a network hard disk (cloud). With network backup distrib
3、uted storage system, a data have more redundancy, even some machine failure can complete data recovery, not the risk of loss, and a network backup strict storage mechanism can be placed the spread of the virus. Other network location there is no limit to the size, the user will have quota, but unlim
4、ited expansion.Key words: network times; Network storage technology; big data第 3 页(共 24 页)曾几何时,u 盘和移动硬盘取代了磁盘成为了人们最方便的数据携带工具,人们可以很方便的把数据通过 u 盘传输。但目前,U 盘,移动硬盘已经适应不了互联网时代了。现在 u 盘和移动硬盘的局限性如下:安全性不能保证U 盘和移动硬盘一旦损坏或者丢失,上面的数据难以再找回,可能造成难以估计的损失,并且病毒也极易通过 U 盘传播。容量大小限制随着互联网时代数据量的爆发式增长,即使是移动硬盘的 TB 级储存空间也会出现难以储存所需
5、要传输资料。而 U 盘和移动硬盘的空间都是固定的,不能够灵活的扩大。如果传输很大的数据,不得不分开用多个便携设备存储。数据共享不方便U 盘和移动硬盘的传输是点对点的,而且需要把设备插到电脑上才能传输,不能很方便的将一份资料多个用户共享。1 引言1.1 编写目的该论文是关于用户对于网络存储系统的功能和性能的要求,重点描述了网络存储系统的设计需求,将作为对该工具在概要设计阶段的设计输入。本论文的预期读者是: 设计人员 开发人员 项目管理人员 测试人员 用户1.2 背景第 4 页(共 24 页)数据存储技术起源于 70 年代的终端主机计算模式。当数据集中存放在主机上,因此数据存储的核心是主机上高效率
6、的文件系统。随着 80 年代以后客户机服务器计算模式的普及,网络上的文件服务器和数据库服务器通常成为核心数据聚集的地方。同时,在网络上分布的客户机也会存放一些数据。这种情况导致了数据的分散性,推动了数据存储技术向网络数据存储发展。随着信息技术的迅猛发展,信息数字化所带来的信息量、数据信息以爆炸式的几何级数递增,如何高效、可靠地存储、处理这些数据,已成为关系到 IT 产业界的电子商务和互联网等领域发展的关键问题。与传统总线连接存储(Bus Attached Storage ,BAS)相比,网络存储(Network Storage)集成了存储技术和网络技术,并采用更优的体系结构为数据存储提供了更高
7、的数据容量和宽带,同时它还具有高可用性、可靠性和课扩展性等优点。然而因为网络技术的使用,其体系结构具有一定的发放性,数据使用者和存储设备分散在不同的位置。为了向用户提供准确可靠的服务技术,必须采用必要的措施来保证网络存储系统的高可靠性。1.3 定义Div+css: 层叠样式表(Cascading Style Sheets)的缩写,用于定义 HTML 元素的显示形式,是 W3C 推出的格式化网页内容的标准技术。网页设计者必须掌握的技术之一。最新版本 html5+css3 与 2014 年 10 月 29 日,万维网联盟宣布,经过几乎8 年的艰辛努力,该标准规范终于最终制定完成。JQurey: 一
8、套跨浏览器的 JavaScript 库,简化 HTML 与 JavaScript 之间的操作。Ajax:指异步 JavaScript 及 XML(Asynchronous JavaScript And XML) 。核心是JavaScript 对象 XmlHttpRequest。bootstrap: 计算机术语,一种设计成通过自己的操作使其自身处于期望状态的技术或设备。2 总体设计第 5 页(共 24 页)2.1 需求规定本系统设定的目标如下:1.系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少2.系统具有良好的运行效率,有良好的可扩充性,可以容易的加入其它系统的应用。3.平台的设计
9、具有一定的超前性,灵活性,能够适应企业生产配置的变化。4.数据中心要建设一个设备集中、集中管理、满足应用、方便扩展、安全稳定、共享同一的存储系统。5.通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力6.用户注册后能够在上面保存删除自己的文件。2.2 运行环境2.2.1 系统运行硬件环境本系统的硬件环境如下: 客户机:普通 PC CPU:P4 1.8GHz 内存:256MB 以上 分辨率:推荐使用 1024*768 像素 WEB 服务器 CPU:P4 1.8GHz 内存:2048MB 以上 hadoop 从服务器 CPU:P4 1.8GHz 内存:1024MB 以上2.2.2 系统运行
10、软件环境操作系统:Linux数据库:Oracle 或者 mysql开发工具包:Myeclipse第 6 页(共 24 页)JSP 服务器:Tomcat浏览器:IE8.02.3 基本设计概念和处理流程本系统的基本设计概念:如图 2.3-1图 2.3-1本系统的处理流程:如图 2.3-2图 2.3-2hadoop从机hadoop从机hadoop从机hadoop从机第 7 页(共 24 页)2.4 程序系统的结构系统整体结构:如图 2.4-1图 2.4-12.5 功能需求与程序的关系表 2.5-1 功能需求与程序的关系功能和需求描述 模块功能描述注册 用户通过注册账号以便登录登录 用户和管理员通过登
11、录进入界面下载文件 用户在搜索到相关资料后,可以对其进行下载。上传文件 用户可以把自己的资料上传到网络存储系统的存储空间中。登录管理 登录管理是负责所有的管理端的登录,管理端的人员要登录第 8 页(共 24 页)到管理端必须经过登录界面,输入自己的用户名和密码,通过判断这个用户的权限信息,不同的登录人可能具有不同的权限,根据不同的权限现实不同的功能。上传管理 对使用者上传的文件,管理者可以进行查看,可以及时更新 并显示上传的文件,及提供上传文件的详细信息。下载管理 对使用者下载文件的大小进行管理,下载权限进行管理。空间管理 管理者具有分配空间给使用者的权限,可以查看使用者存储空间剩余,可以增加
12、、删除、修改操作。文件管理对使用者上传的文件,管理者可以进行查看,可以及时更新并显示上传的文件,及提供上传文件的详细信息。可以对文件进行增加、删除、修改等操作。密码管理 管理者对密码可以进行查看,修改等操作。当使用者登陆时,要将其输入的密码与数据库中对应的密码进行匹配。用户管理当进入用户管理模块时,在用户管理中可以增加或删除用户,编辑用户名,用户密码,修改用户权限,具有不同权限的用户进入系统主界面。3 技术支持分析3.1 后台3.1.1 SSH(三大框架)定义:SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种Web 应用程序开源框架。集成 SSH
13、框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的 Web 应用程序。结构框架:Struts:Struts 对 Model,View 和 Controller 都提供了对应的组件。 ActionServlet,这个类是 Struts 的核心控制器,负责拦截来自用户的请求。 Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,并根据该请求调用模型的第 9 页(共 24 页)业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。Spring:Spring 是一个开源框架,它
14、由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Hibernate:Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Ser
15、vlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。3.1.2 Hadoop(大数据)定义:Hadoop 是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。优点:1.高可靠性。
16、Hadoop 按位存储和处理数据的能力值得人们信赖。高扩展性。Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性。Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。5.低成本。与一体机、商用数据仓库以及 Yonghong Z-Suite 等数据集市相比,hadoop 是开源的,项目的软件成本因此会大大降低。第 10 页(共 24 页)Hadoop 带有用 Java 语言编写的框架,因此运行在 Linux 生产平
17、台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C+。6.R 是 GNU 的一个开源工具,具有 S 语言血统,擅长统计计算和统计制图。由 Revolution Analytics 发起的一个开源项目 RHadoop 将 R 语言与 Hadoop 结合在一起,很好发挥了 R 语言特长。广大 R 语言爱好者借助强大工具 RHadoop,可以在大数据领域大展拳脚,这对 R 语言程序员来说无疑是个喜讯。作者从一个程序员的角度对 R 语言和 Hadoop 做了一次详细的讲解。3.2 前端3.2.1 DIV+CSSDIV+CSS 是 WEB 设计标准,它是一种网页的布局方法。与传
18、统中通过表格(table )布局定位的方式不同,它可以实现网页页面内容与表现相分离。提起DIV+CSS 组合,还要从 XHTML 说起。XHTML 是一种在 HTML(标准通用标记语言的子集)基础上优化和改进的新语言,目的是基于 XML 应用与强大的数据转换能力,适应未来网络应用更多的需求。 “DIV+CSS”其实是错误的叫法,而标准的叫法应是 XHTML+CSS。因为 DIV 与 Table 都是 XHTML 或 HTML 语言中的一个标记,而 CSS 只是一种表现形式。也许其提出者本意并没有错,但是跟风者从表现曲解了其意思,认为整个页面就应当是 DIV+CSS 文件的组合。3.2.2 Bo
19、otStrap 前端开发框架定义:Bootstrap 是 Twitter 推出的一个开源的用于前端开发的工具包。它由Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。Bootstrap 提供了优雅的 HTML 和 CSS 规范,它即是由动态 CSS 语言 Less 写成。3.2.3 JQueryjQuery 是一套跨浏览器的 JavaScript 库,简化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前 10000 个访问最高的网站中,有 59%使用了 jQuery,是目前最受欢迎的 JavaScript 库。