已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络存储系统的设计与实现系统后台(SSH)的设计与实现 摘 要:21世纪是资源共享的网络时代,各类信息资源的积累加剧了其膨胀性,人们对数据的认知也发生了变化,网络技术已经成为主要的信息处理技术。网络存储系统则提供了一个远程访问和共享数据的平台,提高了数据存储的方便性、安全性,方便了数据的传输、管理、维护、节约了数据存储的成本。本文介绍了一个网络存储系统后台(SSH)设计与建立的过程,完整地分析了整个系统的功能需求,并对后台每个子系统进行了详细的设计。 关键词:网络存储;上传;下载 Abstract:The twenty-first century is a network age with resources sharing. With the accumulation of all sorts of information, its getting increasingly expanded, and peoples cognition of data has also changed. Now network technique has become a major information processing technique. While, the network storage system helps to establish a platform for remote access and data-sharing, which increases its convenience and security, facilitates datas transmission, management and maintenance, and also saves the cost of data storage. This paper introduces the process of designing and establishing the SSH backstage of network storage system and comprehensively analyzes the whole systems functional requirement. And each sub-system backstage is particularly included, too. Keywords:network storage;upload;download 1 引言 随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要作用,而与之相伴随的就是大量的文件而且是一些经常使用的文件携带不便的问题。虽然各大计算机硬件生产商都推出新的产品来帮助人们解决携带文件的困扰,但是携带一些存储设备有它自身的缺点和意想不到的麻烦。为方便人们对文件的携带,加快办公手段的现代化,根据人们的实际需求,我们提出了基于计算机网络存储系统的设计方案,并根据该设计方案部分地实现了存储系统的基本功能。2 系统需求分析2.1 导言2.1.1 目的该文档是关于用户对于网络存储系统的功能和性能的要求,重点描述了网络存储系统的设计需求,将作为对该工具在概要设计阶段的设计输入。本文档的预期读者是:l 设计人员l 开发人员l 项目管理人员l 测试人员l 用户2.1.2 范围该文档借助于现有的网络存储逻辑模型导出目标系统的逻辑模型,解决整个项目系统的“做什么”的问题。在这里,对于开发技术并没有涉及,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。2.1.3 缩写说明JSPJava Server Page(Java服务器页面)的缩写,一个脚本化的语言。UMLJava Server Page(Java服务器页面)的缩写,一个脚本化的语言。2.2 系统定义2.2.1 项目来源及背景曾几何时,u盘和移动硬盘取代了磁盘成为了人们最方便的数据携带工具,人们可以很方便的把数据通过u盘传输。但目前,u盘,移动硬盘已经适应不了互联网时代了。现在u盘和移动硬盘的局限性如下:安全性不能保证 U盘和移动硬盘一旦损坏或者丢失,上面的数据难以再找回,可能造成难以估计的损失,并且病毒也极易通过U盘传播,容量大小限制 随着互联网时代数据量的爆发式增长,即使是移动硬盘的TB级储存空间也会出现难以储存所需要传输资料。而U盘和移动硬盘的空间都是固定的,不能够灵活的扩大。如果传输很大的数据,不得不分开用多个便携设备存储,数据共享不方便 U盘和移动硬盘的传输是点对点的,而且需要把设备插到电脑上才能传输,不能很方便的将一份资料多个用户共享。所以我们才会选择将目光放到网上,从而推出了网络硬盘(网盘)。所以用户完全可以将我们的网络储存系统看成是传统的 U盘或者移动硬盘的升级版。用网盘的分布式储存系统,一份资料有多份冗余,即使部分机器损坏也能完整恢复数据,更不会存在丢失的风险,而且网盘严格的储存机制可放置病毒的传播。另外网盘没有容量大小限制,用户会有配额,但可无限扩容。由于数据是在网上,对多个人共享也十分方便,不受地理位置限制。2.2.2 项目要达到的目标本项目设定的目标如下:1.系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少2.系统具有良好的运行效率,有良好的可扩充性,可以容易的加入其它系统的应用。3.平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化。4.数据中心要建设一个设备集中、集中管理、满足应用、方便扩展、安全稳定、共享同一的存储系统。5.通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力6.用户注册后能够在上面保存删除自己的文件。2.2.3 系统整体结构根据用户的需求陈述,可以确定本项目分为客户端和管理端,客户端主要功能是注册账号、登陆账号、搜索资料、下载、快速上传等。管理端的功能是管理客户账号、分配存储空间、更新存储等。2.3 应用环境本项目的应用环境可以分网络环境、硬件环境和软件环境来描述。2.3.1 系统运行网络环境本系统的网络运行图如图2-1,无论是客户端的网络存储使用者还是管理端的管理者等都可以通过网络登录到本系统中。网络存储将想要进行存储的东西存放在系统中,管理员可进行管理。hadoop从机hadoop从机hadoop从机hadoop从机图2-1 网络环境图2.3.2 系统运行硬件环境本系统的硬件环境如下:l 客户机:普通PCn CPU:P4 1.8GHzn 内存:256MB以上n 分辨率:推荐使用1024*768像素l WEB服务器n CPU:P4 1.8GHzn 内存:2048MB以上l hadoop从服务器n CPU:P4 1.8GHzn 内存:1024MB以上2.3.3 系统运行软件环境l 操作系统:Linuxl 数据库:Oracle或者 mysqll 开发工具包:Myeclipsel JSP服务器:Tomcatl 浏览器:IE8.02.4 功能规格我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。Use Case描述的是“actor”(用户、外部系统以及系统处理)是如何与系统交互来完成工作的。Use Case模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。设计Use-case时,我们遵循下列步骤:第一步,识别出系统的“actor”。Actor可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(Actor)是谁。尽可能地确保所有Actor都被完全识别出来。第二步,描述主要的Use Case。可以采取不断地问自己“这个Actor究竟想通过系统做什么?”来准确地描述Use Case。第三步,重新审视每个Use Case,为它们下个详尽的定义。2.4.1 角色(Actor)定义角色或者执行者(Actor)指与系统产生交互的外部用户或者外部系统。u 使用者使用者是指在这个网络存储系统中通过客户端存储资料的人员,这个Actor主要参与客户端的注册登陆账号、搜索资料、下载、快速上传等功能。u 管理者管理用户是指管理端的用户,即系统管理员。系统管理员是指对网络存储系统进行相关设置、维护的人员,它也是通过管理端登录对管理端的用户进行设置,分配权限等,它们的关系如图22:图2-2 管理者图角色具体说明如下:l 使用者 对系统进行使用,存储需要存储的内容。l 系统管理员 对系统进行管理,包括使用者的存储内容及密码信息。u 数据库数据库是一个与系统产生交互的外部系统,这个Actor负责系统的数据查询、增加、删除和修改等操作。2.4.2 系统主usecase图网络存储系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。客户端子系统主要是指使用者通过登录网络存储系统进行操作其功能,如存储资料,上传下载等。管理端子系统是网络存储系统的管理人员分配存储空间、管理账户、更新资料等功能。系统的主Use Case图如图2-3所示:图2-3 系统的主Use Case2.4.3 客户端子系统使用者通过登录网络存储系统的账号到系统中进行操作需要的功能,使用者通过它存储资料、上传下载这就是客户端子系统的功能。在客户端用户可以看到自己存储的资料、可以搜索需要下载的资料。当点击资料名称时进入职位详细信息页面,如果需要下载的话,可以直接进行下载。u 下载文件如果使用者看到符合心意的资料文件,则可以进行下载。具体描述如下:用例描述:下载文件执行者:使用者前置条件:使用者已选择资料文件后置条件:可以上传文件基本路径:l 选择符合心意的资料文件,点击下载。l 选择存储路径,网络存储系统中或者电脑本地路径。u 上传文件上传文件时使用者将一些资料文件上传到网络存储刺痛的存储空间中进行存储。具体功能描述如下:用例描述:上传文件执行者:使用者基本路径:l 使用者登陆网络存储系统中。l 点击上传功能,选择要上传的文件。l 直至提示“上传成功”,则是停止上传。2.4.4 管理端子系统管理端主要是指管理人员使用的功能部分,它的功能分为上传管理、下载管理、空间管理、文件管理、密码管理等部分,每个登录者首先经过认真安全认证然后缺陷权限,根据相应的权限现实相应的功能。u 上传管理管理者具有管理使用者上传文件的权限,具体功能描述如下:用例描述:上传管理执行者:管理者前置条件:管理者已登录系统;基本路径:l 管理者具有管理使用者上传文件的权限。l 可以限制上传文件的大小。l 可以限制上传文件的内容。u 下载管理管理者具有管理使用者下载的权限,具体功能描述如下:用例描述:下载管理执行者:管理者前置条件:管理者已登录系统;基本路径:l 管理者具有管理使用者下载的权限。l 可以限制使用者对于某些文件的下载。l 可以研制使用者下载文件的大小。u 空间管理管理者具有分配空间给使用者的权限,具体功能描述如下:用例描述:空间管理执行者:管理者前置条件:管理者已登录系统;基本路径:l 管理者具有分配空间给使用者的权限。l 可以查看使用者存储空间剩余。l 可以进行修改操作。u 文件管理对使用者上传的文件,管理者可以进行查看,可以及时更新并显示上传的文件,及提供上传文件的详细信息。可以对文件进行增加、删除、修改等操作。具体的功能描述如下:用例描述:文件管理执行者:管理者前置条件:管理者已登录系统;基本路径:l 进入文件管理界面,管理者可以进行查看上传的文件。l 管理者可以及时更新并显示上传的文件,及提供上传文件的详细信息。l 以对文件进行增加、删除、修改等操作。u 密码管理管理者对密码可以进行查看,修改等操作。当使用者登陆时,要将其输入的密码与数据库中对应的密码进行匹配。具体描述如下:用例描述:密码管理执行者:管理者前置条件:管理者已登录系统;基本路径:l 管理者对密码可以进行修改操作。l 当使用者登陆时,要将其输入的密码与数据库中对应的密码进行匹配。2.5 性能需求2.5.1 界面需求系统的界面要求如下:页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺;专用术语规范,行文格式统一规范。导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。2.5.2 响应时间需求无论是客户端和管理端,当用户登录,进行任何操作的时候,系统应该及时的进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。2.5.3 可靠性需求系统应保证7X24内不当机,保证20人可以同时在客户端登录,系统正常运行,正确提示相关内容。2.5.4 开放性需求系统应具有十分的灵活性,以适应将来功能扩展的需求。2.5.5 可扩展性需求系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。2.5.6 系统安全性需求系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获取网页以及内容。2.6 实现约束系统的实现约束如下:l 操作系统为win7l 开发平台为:eclipse-SDK-3.1.2-win32l 数据库为Oracle3 系统详细设计(SSH)3.1 定义 SSH即 Spring + Struts2+Hibernate。Spring是一个轻量级的控制反转和面向切面的容器框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。3.2 程序系统的结构3.2.1 目录结构说明表3.1 目录结构表Src源代码目录WebRoot页面目录src/com/netStore/actionAction包src/com/netStore/daoDAO接口包src/com/netStore/dao/implDAO实现类所在包src/com/netStore/impl文件操作实现类src/com/netStore/interceptor拦截器类src/com/netStore/interface文件操作接口src/com/netStore/pojo该系统模型类包src/com/netStore/service管理层接口包src/com/netStore/service/impl管理层实现类包src/com/netStore/utils工具包3.2.2 公共类-说明表3.2 公共类表类名包名类描述TStore.utils获取工具类IDStore.daoDao接口IDaoIStore.dao.impl获取DAO实现模版类ServiceIStore.service.impl链接Dao层的Service类,其它Service实现类均继承此ServiceBaseAStore.action注入了session的Action,其他action均继承此action3.3 管理端子系统-设计说明逐个地给出管理端子系统各个层次中的每个程序的设计考虑。3.3.1 描述管理端主要是指管理人员使用的功能部分,它的功能分为上传管理、下载管理、空间管理、文件管理、密码管理等部分。3.3.2 功能图3-3 管理端功能图3.3.3 性能登录系统后,进行任何操作的时候,系统会及时的进行反应,反应的时间在5秒以内。系统能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。系统具有十分的灵活性,以适应将来功能扩展的需求。系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。3.3.4 算法为了保护用户隐私,在数据库存储密码的时候,选用了MD5加密法。通过MD5算法将密码转化成了不可逆的32位字符串。该算法的代码设计如下:public final static String MD5(String s)char hexDigits = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, F ;trybyte btInput = s.getBytes();MessageDigest mdInst = MessageDigest.getInstance(MD5);mdInst.update(btInput);byte md = mdInst.digest();int j = md.length;char str = new charj * 2;int k = 0;for (int i = 0; i 4 & 0xf;strk+ = hexDigitsbyte0 & 0xf;return new String(str); catch (Exception e)e.printStackTrace();return null;public final static String MD55(String s)String temp;String forePart;String endPart;temp=MD5(s);for(int i=0;i=10;i+)forePart=MD5(temp.substring(0, 16);endPart=MD5(temp.substring(16, 32);String temp2=;for(int ii=0;ii=15;ii+)temp2+=forePart.substring(ii,ii+1)+endPart.substring(ii+16,ii+17);temp=MD5(temp2);return temp;3.3.5 流程逻辑图3-4 管理端流程图3.3.6 类说明表3.5 管理端类说明表类名称作用目录/包备注ManagerAction管理员端系统的action,包括userList(),modifyUserPwd()修改用户密码,modifyVolume()修改存储空间,deleteUser()删除用户等方法。src/com/netStore/action该action实现了管理员端的修改用户,展现用户信息,以及修改用户存储空间等功能。ManagerService管理员action的Service功能接口src/com/netStore/Service该接口里定义了管理员action会用到的所有方法。ManagerServiceImpl管理员接口实现类src/com/netStore/Service/impl实现了接口定义的所有方法。Manager管理员的持久类src/com/netStore/pojo3.3.7 存储分配管理员并没有存储空间,每一个用户初始有100MB的储存空间,管理员可以对每个用户的空间进行管理。3.3.8 注释设计a 模块首部的注释;b 各分枝点处的注释;c 各变量的功能、范围、缺省条件等的注释;3.4 客户端子系统-设计说明逐个地给出客户端子系统各个层次中的每个程序的设计考虑。3.4.1 描述用户通过登录网络存储系统的账号到系统中进行操作需要的功能,用户通过它存储资料、上传下载这就是客户端子系统的功能。3.4.2 功能图3.6 客户端功能图3.4.3 性能登录系统后,进行任何操作的时候,系统会及时的进行反应,反应的时间在5秒以内。系统能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。系统应保证7X24内不当机,保证20人可以同时在客户端登录,系统正常运行,正确提示相关内容。系统具有十分的灵活性,以适应将来功能扩展的需求。系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获取网页以及内容。3.4.4 算法为了保护用户隐私,在数据库存储密码的时候,选用了MD5加密法。通过MD5算法将密码转化成了不可逆的32位字符串。该算法的代码设计如下:public final static String MD5(String s)char hexDigits = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, F ;trybyte btInput = s.getBytes();MessageDigest mdInst = MessageDigest.getInstance(MD5);mdInst.update(btInput);byte md = mdInst.digest();int j = md.length;char str = new charj * 2;int k = 0;for (int i = 0; i 4 & 0xf;strk+ = hexDigitsbyte0 & 0xf;return new String(str); catch (Exception e)e.printStackTrace();return null;public final static String MD55(String s)String temp;String forePart;String endPart;temp=MD5(s);for(int i=0;i=10;i+)forePart=MD5(temp.substring(0, 16);endPart=MD5(temp.substring(16, 32);String temp2=;for(int ii=0;ii=15;ii+)temp2+=forePart.substring(ii,ii+1)+endPart.substring(ii+16,ii+17);temp=MD5(temp2);return temp;3.4.5 流程逻辑图3.7 客户端流程图3.4.6 类说明表3.8 客户端类说明表类名称作用目录/包备注LoginAction登录action,包括登录login()和注册register()方法。src/com/netStore/action登录时会判断用户身份(管理员or普通用户),注册只能注册普通用户。LoginService定义了用户和管理员的登录方法,以及添加用户和验证用户的方法src/com/netStore/Service接口LoginServiceImplLoginService接口的实现类src/com/netStore/Service/impldownloadUserAction用户下载,为用户提供下载链接src/com/netStore/a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新零售工作制度汇编
- 无锡完善内部控制制度
- 景区电瓶车运营管理制度
- 朗培教育考核制度
- 水泥企业生产规章制度
- 沙料场安全生产制度
- 滑翔伞飞行安全责任制度
- 烟草货源组织内控制度
- 煤矿厂长责任制度范本
- 燃气设备维护保养制度规范
- 2024-2025学年安徽省“江南十校”高一下学期5月份阶段联考数学试卷(含答案)
- 智慧工厂工控系统网络安全等级保护建设方案
- 大型活动安全员职责
- 机械工程材料课件 学习情境八 有色金属及其合金
- 食品安全事故处理制度
- 2024年西藏自治区中考物理试题卷(含答案)
- 《底层逻辑》刘润
- 第五节绿色施工管理体系与措施
- 破伤风急诊预防及诊疗专家共识
- 产教融合实训基地建设
- 2024年大型国有集团公司“两优一先”评选表彰工作方案
评论
0/150
提交评论