基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】

基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】

ID:479620

大小:1.14 MB

页数:49页

时间:2017-08-09

上传者:U-944
基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第1页
基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第2页
基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第3页
基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第4页
基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】_第5页
资源描述:

《基于web的网络存储服务系统设计与实现【计算机科学专业】【毕业设计+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

(20届)本科毕业论文基于web的网络存储服务系统设计与实现3 摘要:网络硬盘(简称网盘),是一种可以用户基于互联网登录网站的进行信息数据上传、下载、共享等操作的信息数据存储空间。也称为:网络磁盘、网络空间、网络U盘、网络优盘等等。免费的网络硬盘的可用空间较少,一般对文件大小、下载速度、存放时间等限制;付费的网盘能提供大容量空间,文件大小、下载速度、存放时间及格式都不限制。随着Internet的迅速发展和广泛的普及,网络存储服务(即网盘的基础)代表了一个存储新时代的到来。本毕业设计实现一个在线网络存储服务系统,具体实现以下功能:文件的上转与下载可以对文件进行复制删除转移等。设计在web方式下,传送大量数据的方案。用户登录进入网络硬盘空间后,可以改变他的空间访问权限,或者自定义访问内容。管理模块应该能分析不同用户试用空间的情况,做出分配磁盘的案;管理模块能够动态改变每个用户的空间大小。关键词:网络存储系统[1];上传下载;Web;硬盘空间;3 ThebasedonwebnetworkstorageservicesystemdesignandrealizationAbstract:networkharddisk(hereinafterreferredtoasdisc),isakindofcanusersofInternetwebsitebasedoninformationuploaddata,download,sharingtheinformationdatastoragespaceoperations.alsoknownas:networkdisk,thenetworkspace,networkUdisk,thenetworkYouPanetc.freenetworkharddiskspaceavailableisless,thegeneralfilesize,downloadspeed,storagetimelimit;Paymentofthedisccanprovidelargecapacityspace,filesize,downloadspeed,storagetimeandformatarenolimit.withthepopularityofrapiddevelopmentandextensivenetworkstorageservice(i.e.,thediscbased)representsanewerainstorage.Thegraduationdesignachieveaonlinestorageservicesystem,andrealizationofthefollowingfunctions:filetransferanddownloadcancopyonfilesdeletedtransfer,etc.designinwebmode,sendinglargeamountsofdataplan.Userlogsintonetworkharddiskspace,canchangehisspaceaccess,orcustomaccesscontent.managementmoduleshouldbeabletoanalyzethedifferentusertrialspacesituationsandmakeallocatediskcase;Managementmodulecoulddynamicallychangeeachuserspacesize.Keywords:networkstoragesystem[2];Uploadsanddownloads;Web;Harddiskspace;3 1绪论11.1课题的研究背景11.1.1网络存储简介11.1.2网络存储的发展21.2课题研究的目的与意义21.3课题的研究内容21.4课题的研究方法21.5论文的内容组织32系统开发技术背景42.1jsp技术介绍42.1.2JSP主要技术特点42.2struts技术介绍42.3hibernate技术介绍52.4mvc技术介绍52.5数据库技术介绍52.5.1数据库设计的基本步骤52.5.2数据库设计的原则63系统分析73.1系统开发的指导思想73.2需求分析83.3具体功能研究83.4业务流程图93.5系统目标93.6系统软硬件要求93.6.1硬件要求93.6.2软件要求104系统设计114.1系统功能结构设计114.2模块简介125数据库设计135.1数据库概念设计135.2数据库逻辑结构设计156系统的详细设计与实现细节176.1用户界面层的开发176.2业务逻辑层的开发256.3数据访问层开发277总结与展望30致谢30348 1绪论1.1课题的研究背景1.1.1网络存储简介网络存储[3]的主要形式就是DAS、NAS和SAN。DAS(DirectAttachedStorage,直接连接存储[4])将磁盘阵列、磁带库等数据存储设备通过扩展接口直接连接到服务器或客户端。DAS以服务器为中心,不带有存储操作系统,即存储设备是服务器的一部分,I/O请求将直接发送到存储设备。DAS方式实施比较简单,成本低,见效快。但是存储管理工作比较繁琐,容量不能再分配,性能、扩充性较差。因此该技术已经不能适应当今的存储要求。NAS(NetworkAttachedStorage———网络连接存储)即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上,提供数据和文件服务。(2)NAS[5]是一种专业的网络文件存储及文件备份设备,或称为网络直连存储设备、网络磁盘阵列。一个NAS里面包括核心处理器、文件服务管理工具、一个或者多个硬盘驱动器用于数据的存储。NAS可以应用在任何的网络环境当中。主服务器和客户端可以非常方便地在NAS上存取任意格式的文件,包括SMB格式(Windows)、NFS格式(Unix、Linux)和CIFS格式等等。NAS系统可以根据服务器或者客户端计算机发出的指令完成对内在文件的管理。另外的特性包括:独立于操作平台、不同类的文件共享、交叉协议用户安全性/许可性、浏览器界面的操作/管理和不会中断网络的增加和移除服务器。NAS将存储设备通过标准的网络拓扑结构连接,可以无需服务器直接上网,不依赖通用的操作系统,而是采用一个面向用户设计的、专门用于数据存储的简化操作系统,内置了与网络连接所需的协议,因此使整个系统的管理和设置较为简单,适用于文件系统和Web服务系统的存储和共享优化存储,可以有效地管理多用户、多应用的单一数据的共享。NAS依靠LAN和WAN连接标准,使用IP、以太网以及网络文件系统(NFS)和公共互联网文件系统(CIFS)等技术,降低了操作和开发的难度。同时,NAS支持多通信协议,可以在Unix和Windows客户机上使用,实现异种机的存储访问。SAN(StorageAreaNetwork———存储区域网络)[6]是基于FC和IP网络的,他FCP/iSCDI的模块访问协议以块设备的形式提供存储服务,其硬件设备是厂家特定的NSA具有异构平台下的文件共享和低成本等优点,但是在性能和可扩展性方面存在一定的缺陷。因此NA主要用于异构环境下的数据访问、数据迁移、文件共享等场合。SAN以其独特的体系结构和构建技术使它具有高性能和可扩展等优点,但是SAN的异构环境下的文件共享和互操作性方面存在以下缺陷。因此目前主要用整合存储和服务器资源、数据库应用、在线事务处理的低延迟、以及LAN-freebackup或server-freebackup等场合。48 1.1.2网络存储的发展[7]随着网络技术的迅速发展,通过网络进行传输的信息量呈指数级增长,人类已经进入数字化的信息时代,在社会生活的各个领域,信息扮演着十分重要的角色。据统计,全球每年都要产生10~20亿GB的新信息,相当于每人每年要产生250MB的信息量,这对传统的存储技术形成了巨大的挑战,而对于企业来讲,其业务系统不仅要有高效灵活的数据管理能力还要有灾难事件发生时的容错和恢复能力,由此基于网络和数据库技术的网络存储应运而生。它可以为企业提供超大存储容量、大数据传输率以及高系统可用性的信息存储和共享服务。目前,网络存储技术有以下4个主要发展方向:NAS(NetworkAttachedStorage);SAN(StorageAreaNetwork);CAS(ContentAddressStorage);IPSAN(SANoverIP)。面对新型的数据密集型应用,网络化的企业应用,以及因特网的发展,企业存储的传统方法包括直接存储(DAS)已经力不从心。取而代之的是网络存储技术。存储网络在性能、灵活性、可扩充性、安全性和集中式数据管理方面形成明显的优势。在标准的制定和产品的实现上,力图使新的网络存储技术可以借助一些成熟网络技术和网络构架例如IP网络向更多的用户提供更有效的服务。1.2课题研究的目的与意义随着电子技术与网络的发展人们无须带着厚重的公文包到处走动,网络存储(网络硬盘)的出现使大家的文件保存处理运用更加方面简易。为了更容易在朋友同事同学之间分享信息,为了更好的管理你的文件,网络存储是不二的选择。1.3课题的研究内容本毕业设计实现基于web的网络存储服务系统。一个在线网络存储服务系统,具体实现以下功能:文件的上转与下载可以对文件进行复制删除转移等硬盘空间的是用包括。设计在web方式下,传送大量数据的方案。用户登录进入网络硬盘空间后,可以改变他的空间访问权限,或者自定义访问内容。管理模块应该能分析不同用户试用空间的情况,做出分配磁盘的案;管理模块能够动态改变每个用户的空间大小。要求在已有的专业理论知识和应用能力的基础上,掌握网络程序开发的一般知识,运用自选的开发环境和工具,实现对网络存储服务系统[8]必要功能的实现。1.4课题的研究方法(1)文献研究法[9]文献研究法主要指收集、鉴别、整理文献,并通过对文献的研究,形成对事实科学认识的方法[5]。该方法主要用于系统开发的前期。首先,通过阅读大量服装电子商务网站的文献,结合现实,总结服装电子商务平台的基本功能及不足。以此确定毕业设计的选题。然后,根据相关文献,对系统进行需求分析和可行性分析,从而确定自己的研究方向和实现方法。(2)数据库设计方法首先规划处需要几张表,然后添加表中需要的字段,逐级添加法。通过该方法,设计出结构完整并适合管理的数据库。48 (3)面向对象方法面向对象方法(Object-OrientedMethod)[10]是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学。通过该方法,运用面向对象编程工具,来完成网络存储服务系统的开发。1.5论文的内容组织论文共由六章组成。第1章绪论,主要介绍系统的研究背景、研究目的和意义、研究内容以及研究方法;第2章系统开发技术背景,主要介绍系统开发过程中会用到的相关技术,主要有Myeclipse开发工具,系统开发语言java,以及数据库技术等;第3章系统分析,主要是对系统总体功能的一个阐述,说明系统要实现的各个基本功能模块,并对系统的可行性进行分析;第4章系统设计,主要讲述系统设计概要;第5章数据库设计,主要设计数据的组成;第6章系统的设计与实现,主要介绍系统的硬件软件环境、界面设计、功能实现、主要技术难点;第7章总结与展望,主要阐述了本课题所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。48 2系统开发技术背景2.1jsp技术介绍2.1.1JSP工作原理[11]在传统的网页文件(HTML文件)中加入Java程序片断和JSP标记,就构成了JSP网页。JSP页面以扩展名为jsp的纯文本文件形式存于Web服务器上,JSP网页能结合JavaBean技术来扩充网页中程序的功能,当Web服务器接受到客户端某个JSP页面的请求时,触发JSP引擎,把该JSP页面内容转换成纯Java语言的servlet源码,然后使用标准的Java编译器,将servlet编译成servlet字节码,执行并生成所请求的内容,最后将结果以’HTML(或XML)页面的形式发送回浏览器。JSP页面被编译成servlet后常驻服务器内存,所以JSP效率高响应快。2.1.2JSP主要技术特点[12]2.1.2.1JSP技术开发动态Web页面的两种模式和体系结构利用JSP技术开发动态Web页面有两种模式:(1)Model1(JSP+JavaBean):所有的请求和处理都是通过JSP页面来实现。该模式导致显示逻辑和业务逻辑没有分开,很多Java代码利HTML代码混杂在一起,代码维护量大,开发效率低,Model1体系仅适合简单应用的需要。(2)Model2(JSP+Servlets+JavaBean):把JSP与servlet联合使用来实现动态内容服务的方法,jsp负责针对用户的显示逻辑,servlet负责针对用户的业务逻辑,这种模式清晰地分离了表达和内容,明确了角色定义,又被称为MVC(Model—View—Contro1)架构,适合于较大型项月的开发。2.1.2.2强调可重用的组件绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBean或EnterpriseJavaBeans组件)来执行应用程序所要求的更为复杂的处理,开发人员能共享利交换执行普通操作的组件,或者使得这些组件为更多使用者或客户团体所使用,基于组件的方法加速了总体的开发进程。2.1.2.3硬件平台和服务器无关性[13]JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处运行(WriteOnce,RunAnywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术的一大优点。2.2struts技术介绍[14]Struts1最初由程序员CraigR.Mcclanahan发布,Apache软件基金会于2002年接手该项目。Strust1提供了一个极好的框架,可以容易地整合JSP、servlet和Java代码。随着Java的发展,struts1已经成为MVC设计模式的常用架构,并被广大的程序员所接受,在Web开发应用中获得了巨大成功。48 2.3hibernate技术介绍[15]Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。2.4mvc技术介绍[16]系统主体结构采用MVC架构,MVC指的是模型【Mode1)、视图(View)和控制器(Controller)三个部分。使用MVC的目的是将模型和视图的实现代码分离,从而使同一个程序可以使用不同的表现形式。在本系统中,为了今后能够开发出WebService等其他新的表现形式,最便捷的方式就是能够重用原有的业务逻辑和数据访问代码,如果系统使用了MVC的架构,服务层和数据表现层是相互分离的,那么就可以方便地在WebService中调用原来的服务层代码,大大减少了重复开发工作2.5数据库技术介绍[17]数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源。主要研究如何存储,使用和管理数据。在应用计算机进行数据处理的技术发展过程中经历了三个阶段:程序数据处理技术、文件数据处理技术、数据库数据处理技术。发展至今,所有的数据处理应用系统都是采用数据库数据处理技术实现的。所谓数据库(Database),是指按照数据结构来组织、存储和管理数据的仓库。它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在开发一个系统之前,首先要完成的就是数据库的设计。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。如何在给定的应用环境下,构造最优的数据库模型至关重要,它将影响整个系统的运作。下面对数据库的设计做下简单的介绍。2.5.1数据库设计的基本步骤(1)需求分析阶段该阶段的任务是准确了解和分析用户的需求,包括数据与处理。是整个设计过程的基础,也是最困难、最耗费时间的一步。(2)概念结构设计阶段该阶段主要是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,即设计数据库的E-R模型图,是整个数据库设计的关键。48 (3)逻辑结构设计阶段该阶段是将概念结构转换为某个DBMS所支持的数据模型。如将E-R如转换为多张表。(4)数据库物理设计阶段该阶段是要为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。(5)数据库实施阶段这个阶段是运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行,但在系统运行过程中必须不断地对其进行评价、调整与修改。在设计过程中要把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。2.5.2数据库设计的原则在数据库设计过程中,往往会出现一些问题,如数据冗余、更新异常或是表与表之间的范式问题,要想减少错误的产生,避免不必要的麻烦,必须遵循数据库设计的基本原则。原则如下:(1)正确反映数据与数据(信息与信息)之间的层次逻辑关系;(2)对进入到数据库中的数据有一个有效性检查;(3)对数据库中的数据进行非逻辑操作进行相应的错误处理;(4)满足系统对性能上的要求。48 3系统分析系统分析是应用系统的思想和方法,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此间的关系。它是信息系统开发工作中最重要的一环,其内容主要包括对组织各部门、各业务的详细了解,并在此基础上进行分析,提出新方案,以开发出符合用户要求的管理信息系统,它的基本任务是:系统分析员与用户在一起,充分了解用户的要求,并把理解用系统说明书表达出来。需求分析简单地说就是分析用户的需求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、学校等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:(1)信息要求。指用户需要从数据库中获得信息的内容和性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。(3)安全性与完整性要求。确定用户的最终需求是一件很困难的事,这是因为一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此往往不能准确地表达自己的需求,所提出的需求往往不断地变化。另一方面,设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。因此设计人员必须不断深入地与用户交流,才能逐步确定用户的实际需求。3.1系统开发的指导思想(1)采用结构化系统分析的方法采用结构化系统分析的方法建立新系统的逻辑模型,此模型尽量避免使用计算机术语,便于企业的计算机人员与系统开发人员的共同讨论。本系统的结构是层次化的暗盒模块结构。对高层模块,将采用以事物为中心的设计策略,把一个大的复杂的系统逐步分解成小的相对简单的暗盒模块,对低层模块,采用以变换为中心的设计策略。因此,为了提高模块的内聚性,降低模块的耦合程度,本系统采用了经典的MVC设计模式。这样分层更加合理,维护更加简单。(2)注重系统的适用性在设计的时候,尽量避免了编程语言的原因而造成的错误。输入错误是不能完全避免的,在本系统中,当用户操作出错时,我们努力并实现在系统中给出友好的提示。48 (3)注重系统的实用性系统使用时不要求使用者懂得各个功能实现的原理,他们只需在友好的界面上进行操作,输入数据并得到正确的结果就可以了。(4)注重系统安全性由于本人的知识水平限制,只能从完善口令管理、密码加密,严格操作权限,从而保证应用系统的日常管理和控制。3.2需求分析随着互联网技术的广泛应用以及计算机技术的发展,人们对数据存储的需求及方式也有了巨大的改变。有三个方面的表现:首先许多应用系统,如电子商务,数据仓库,企业资源的规划(ERP)和客户关系管理(CRM)等对存储容量有巨大的要求;其次应用系统要求对数据进行快速有效的存取;最后需要对数据进行有效的管理,从而有了网络存储技术的快速发展。网络存储提高了数据的共享性、可用性、可扩展性和管理性,但仍然存在一些缺陷.如:NAS的性能较低;SAN的实现费用较高,互操作性差;IP2SAN则存在着严谨的SCSI协议和无法保证质量的TCP/IP协议的矛盾。因此,网络存储的发展,以解决存储共享,数据共享等问题,仍然是当今存储体系结构研究的重点和热点。目前网络存储的核心技术是围绕SCSI、FC、IP以太网及它们的交叉融合发展,NAS存储系统可能采用DAFS技术提高系统性能,利用虚拟存储体系结构实现所有的存储技术的统一,基于总线的存储,将可能沿着基于InfiniBand技术发展.3.3具体功能研究功能模块大致分析:用户管理:用户模块主要完成注册,登录系统,上传文件,下载文件等。管理员管理:管理员模块主要审核用户,用户管理,审核文件等。管理员模块主要包括管理员的登录,对用户的信息进行管理包括:修改用户信息,删除用户,查看用户上传的资料等功能,管理员模块起到的管理作用是必不可少的。48 3.4业务流程图(用户业务流程图)(管理员业务流程图)3.5系统目标本程序主要实现如下目标:(1)具有实时性,已注册的用户无论身在何地,通过Internet浏览器,都可登陆网络存储系统。(2)具有共享,用户提供的共享信息可供他人下载。(3)用户可随时上传文件与下载文件。3.6系统软硬件要求3.6.1硬件要求服务器的机器主要配置情况:48 CPUP43.0GMHZ内存512MB3.6.2软件要求操作系统:WINNXP/WINDOWS2000/WINDOWS2003数据库:Mysql开发环境:JDK+Eclipse+Tomcat+SSH开发语言:Java语言服务器:Tomcat6.0浏览器:firefox分辨率:最佳效果1024×768象素48 4系统设计在前面进行了一系列的系统调查和系统分析以后,接下来的工作便是系统设计了。这是软件工程中第二个关键的阶段。它是根据前面的几个阶段的结果,在已获准的系统分析报告基础上进行系统设计。系统设计阶段是开发系统的重要阶段。这个阶段。我们需要把前面阶段收集来的信息进行整理(特别是用户的需求分析),找出我们需要的信息,定下系统开发过程中我们需要实现的功能。这个其实比较有难度的同时比较重要的。数据库如何能设计的尽可能全面而又合理、模块之间的联系程度、前后台的依赖关系如何反映,是在这一阶段感触最深的三个方面。数据库是所有信息的集合,好的数据库设计可以大大减少数据冗余度,如果数据冗余度太大,将占用很多系统资源,给服务器带来沉重的负担。还有数据库的设计也要充分考虑到前台代码执行的效率,不能仅仅是为了设计数据库设计而设计,这会可能导致在编写代码时遇到诸多不便,这一点还需我在以后的工作中好好研究。在系统设计阶段,每个模块应该尽可能的独立,这样可以减少模块间的调用关系和数据交换关系。每个模块的功能最好能让其尽可能的单一,这样易于以后系统的修改,可以大大的减少相关的操作。在做系统的时候,发现自己原先设计下来的模块不合理,难以满足用户的需求或则是难以实现这个功能,那就必须把这个模块推翻了,如果这个模块又设计到其他的模块,那这个对系统的改动是巨大的。这就要求我们尽早确定系统的核心模块,减少改动。4.1系统功能结构设计根据网络存储服务系统的特点,可以将系统分为用户模块与管理员模块。用户需要注册,注册之后可对自己的网络存储空间进行管理,管理对所有用户进行管理,如图4-1所示。系统功能结构图48 (图4-1)4.2模块简介网络存储服务系统是一个功能齐备的网络应用程序,由用户模块、管理员模块两部分组成。◆用户模块用户模块主要包括学用户登录,注册,上传文件,下载文件,删除文件,分享文件,修改个人资料等功能。◆管理员模块管理员模块主要包括管理员的登录,对用户的信息进行管理包括:修改用户信息,删除用户,查看用户上传的资料等功能,管理员模块起到的管理作用是必不可少的。48 5数据库设计在数据库方面用到的是MySQL。MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。MySQL是一种关联数据库管理系统,是一种开放源码软件,数据库服务器具有快速、可靠和易于使用的特点,服务器工作在客户端/服务器模式下,或嵌入式系统中,有大量可用的共享MySQL软件。由于以上的优点在我的毕业设计中我也同样选择MySQL作为数据库。5.1数据库概念设计根据以上各节对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分为用户实体,管理员实体,文件实体等。下面将介绍几个关键实体的E-R图。(1)用户实体用户实体包括用户编号、用户名、密码、昵称、电话、Email、QQ、最大磁盘空间等属性。用户的E-R图如图5-1所示(图5-1用户实体E-R图)48 (2)管理员实体用户实体包括用户编号、管理员名、密码、真实姓名等属性。用户的E-R图如图5-2所示(图5-2管理员实体E-R图)(3)文件实体文件实体包括用户编号、文件名、用户编号、文件路径、文件大小、文件描述更新时间等属性。用户的E-R图如图5-3所示(图5-3文件实体E-R图)表间E-R图:如图(5-4)48 (图5-4表间E-R图)5.2数据库逻辑结构设计根据上面的E-R图可以创建对应的数据表。表5.1用户表结构列名数据类型长度主键否功能描述userIdbigint8是(自动)编号userNamevarchar50否用户名passwordvarchar50否密码nickNamevarchar50否昵称telephonevarchar50否电话emailvarchar50否邮箱QQvarchar50否QQmaxSpacebigint50否最大磁盘空间PriviledgeInt4否权限48 表5.2管理员表结构列名数据类型长度主键否功能描述adminIdInt4是编号adminNamevarchar50否管理员名passwordvarchar50否密码nickNamevarchar50否真实姓名表5.3文件表结构列名数据类型长度主键否功能描述fileIdbigint8是(自动)编号fileNamevarchar50否文件名userIdbigint8否用户编号filePathvarchar50否文件路径fileDescvarchar50否文件描述fileSizevarchar50否文件大小uploadTimeDate否上传时间orderIdbigint8否是否共享48 6系统的详细设计与实现细节6.1用户界面层的开发用户界面层用来展现在客户浏览器中显示的用户界面HTML标记和css来显示由业务逻辑层动态传送的数据信息,通过使用相应的并负责获得用户录入的数据,完成对录入数据的校验,并将录入数据传送给业务逻辑层,即用户通过浏览器,进入用户界面层,通过页面输入登录信息,实现访问请求过滤。6.1.1下图是表示层的用户登录界面界面:如图(6-1)(6-2)(图6-1用户登陆界面)(图6-2用户登录英文版)用户登陆界面相关的代码:LoginAction.java48 importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionMessage;importorg.apache.struts.action.ActionMessages;importcom.dark.nethd.bean.UserInfo;importcom.dark.nethd.web.form.UserInfoForm;importcom.dark.nethd.Constants;publicclassLogonActionextendsBaseAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){UserInfoFormuserInfoForm=(UserInfoForm)form;UserInfoui=this.getUserInfoService().findUserByNameAndPassword(userInfoForm.getUserInfo().getUserName(),userInfoForm.getUserInfo().getPassWord());if(ui==null){ActionMessageserrors=newActionMessages();errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.logon"));this.saveErrors(request,errors);return(newActionForward(mapping.getInput()));}else{request.getSession().setAttribute(Constants.USER_SESSION_KEY,ui);request.removeAttribute(mapping.getAttribute());returnmapping.findForward(Constants.FORWARD_SUCCESS);}}}6.1.2如图(6-3)是用的主要操作界面,此页面是在用户登录成功后显示。其中主要有上传文件、修改密码、登出、下载文件、共享文件、删除文件等操作。48 (图6-3主页面)(图6-4主页面英文版)主操作界面代码:UserMainAction.javaimportjava.util.List;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionMessages;importorg.apache.struts.action.ActionMessage;importcom.dark.nethd.Constants;importcom.dark.nethd.bean.UserInfo;publicclassUserMainActionextendsBaseAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){UserInfoui=(UserInfo)request.getSession().getAttribute(Constants.USER_SESSION_KEY);if(ui==null){ActionMessageserrors=newActionMessages();errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.logon"));returnnewActionForward(mapping.getInput());//查询文件列表request.setAttribute("FilesList",this.getFliesInfoService().findFilesInfoByUserID(ui.getUserId()));//获得用户已用空间大小request.setAttribute("FilesSize",this.getFliesInfoService().getAllFilesSizeByUserId(ui.getUserId()));returnmapping.findForward(Constants.FORWARD_SUCCESS);}}}}48 }else{//查询文件列表request.setAttribute("FilesList",this.getFliesInfoService().findFilesInfoByUserID(ui.getUserId()));//获得用户已用空间大小request.setAttribute("FilesSize",this.getFliesInfoService().getAllFilesSizeByUserId(ui.getUserId()));returnmapping.findForward(Constants.FORWARD_SUCCESS);}}}}6.1.3如图(6-5)是用户修改密码的界面,主要是为了让用户能修改自己的密码而设计的。(图6-5修改密码界面)(图6-6修改密码页面英文版)48 用户注册的相关action代码:importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionMessage;importorg.apache.struts.action.ActionMessages;importcom.dark.nethd.bean.UserInfo;importcom.dark.nethd.business.IUserInfoService;importcom.dark.nethd.web.form.UserInfoForm;importcom.dark.nethd.Constants;publicclassUserRegisterActionextendsBaseAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){UserInfoFormuserInfoForm=(UserInfoForm)form;ActionMessageserrors=newActionMessages();//判断是否为重复提交if(isTokenValid(request)){IUserInfoServiceiuis=this.getUserInfoService();UserInfoui=userInfoForm.getUserInfo();ui.setMaxSpace(Constants.MAX_SPACE);if(iuis.registerUserInfo(ui)){this.resetToken(request);request.getSession().setAttribute(Constants.USER_SESSION_KEY,ui);request.removeAttribute(mapping.getAttribute());returnmapping.findForward(Constants.FORWARD_SUCCESS);}else{errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.urserregister"));this.saveErrors(request,errors);return(newActionForward(mapping.getInput()));}}else{errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.token"));this.saveErrors(request,errors);return(newActionForward(mapping.getInput()));}}}48 6.1.4如图(6-7)是上传文件的页面,主要完成用户上传文件的需要。(图6-7上传界面)(图6-8上传界面英文版)上传相关代码:importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionMessage;importorg.apache.struts.action.ActionMessages;importcom.dark.nethd.Constants;importcom.dark.nethd.bean.FilesInfo;importcom.dark.nethd.bean.UserInfo;importcom.dark.nethd.web.form.FileUpLoadForm;publicclassFileUploadActionextendsBaseAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){FileUpLoadFormFileUpload=(FileUpLoadForm)form;if(getFliesInfoService().filesInfoSave(theFiles,(UserInfo)request.getSession().getAttribute(Constants.USER_SESSION_KEY),FileUpload.getFile(),request)==null){ActionMessageserrors=newActionMessages();errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.filesupload"));this.saveErrors(request,errors);returnnewActionForward(mapping.getInput());}else{request.removeAttribute(mapping.getAttribute());returnmapping.findForward(Constants.FORWARD_SUCCESS);}}}48 FilesInfotheFiles=FileUpload.getFi();if(getFliesInfoService().filesInfoSave(theFiles,(UserInfo)request.getSession().getAttribute(Constants.USER_SESSION_KEY),FileUpload.getFile(),request)==null){ActionMessageserrors=newActionMessages();errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.filesupload"));this.saveErrors(request,errors);returnnewActionForward(mapping.getInput());}else{request.removeAttribute(mapping.getAttribute());returnmapping.findForward(Constants.FORWARD_SUCCESS);}}}6.1.5如图(6-9)是后代管理页面,主要完成对用户组的操作。对用户进行合理的管理管理页面是必不可少的。管理员能对不用户进行删除,修改等操作。(图6-9管理员模块)48 (图6-10管理员模块英文版)管理员操作模块代码:importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.struts.action.ActionForm;importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.action.ActionMessages;importorg.apache.struts.action.ActionMessage;importcom.dark.nethd.Constants;importcom.dark.nethd.bean.UserInfo;publicclassAdminMainActionextendsBaseAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){//查询用户列表request.setAttribute("UserList",this.getUserInfoService().findAllUserInfo());returnmapping.findForward(Constants.FORWARD_SUCCESS);}}48 6.1.6如图(6-6)是管理员登陆界面,是管理登录时显示。(图6-11管理员登录)(图6-12管理员登录英文版)6.2业务逻辑层的开发业务逻辑层是联系用户界面层和数据访问层的纽带,也是三层结构模型中最重要的一层,利用它可以建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端浏览器。在整个用户业务逻辑中,实现了针对用户的各种业务逻辑,如判断是否存在该用户、判断该用户是否符合登入要求。在程序中所有在逻辑的动作都是由程序中的action动作完成,每个操作对应一个action.48 比如用户的登录:用户在登录页面输入用户名与密码点击确定,此时由form表单提交到对应的action即LogonAction.java.在action中调用查找数据库的Dao类,而Dao类利用Hibernate的功能对数据的数据进行搜索比较是否有该用户存在,有则登录成功否则失败。LogonAction的主要代码如下:publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){UserInfoFormuserInfoForm=(UserInfoForm)form;UserInfoui=this.getUserInfoService().findUserByNameAndPassword(userInfoForm.getUserInfo().getUserName(),userInfoForm.getUserInfo().getPassWord());if(ui==null){ActionMessageserrors=newActionMessages();errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("error.logon"));this.saveErrors(request,errors);return(newActionForward(mapping.getInput()));}else{request.getSession().setAttribute(Constants.USER_SESSION_KEY,ui);request.removeAttribute(mapping.getAttribute());returnmapping.findForward(Constants.FORWARD_SUCCESS);在Dao类和service中的重要代码是:Service接口:publicUserInfofindUserByNameAndPassword(StringuserName,Stringpassword);Dao对数据库的操作:privatestaticfinalStringFIND_USER_BY_USERNAME_AND_PASSWORD="fromUserInfowhereuserName=?andpassWord=?";publicUserInfofindUserByNameAndPassword(StringuserName,Stringpassword)throwsDataAccessException{Listresult=this.getHibernateTemplate().find(FIND_USER_BY_USERNAME_AND_PASSWORD,newObject[]{userName,password});if(result.size()!=0)return(UserInfo)result.get(0);returnnull;由上述的例子可知在程序中有义务逻辑起到桥梁的作用,它是三层结构中必不可少的一部分。48 6.3数据访问层开发数据访问层位于分层体系的底层,将物理数据的逻辑视图提交给业务逻辑层实现与数据库的交互,完成查询、插入、删除和修改数据的功能。数据访问层通过将业务逻辑与对基础数据存储的更改进行隔离并确保数据的完整性,使业务层只需实现业务逻辑即可,无需考虑数据的存储细节。数据访问层为业务逻辑层提供服务,根据业务逻辑层的要求从数据库中提取数据或者修改数据库中的数据。数据访问层,主要根据JDBC的接口,我在设计中用到了hibernate框架,这个框架就是完成数据访问层的良好框架。因为hibernate是全自动话的所以在代码中不需要写很多的SQL语句,只要做好配置文件的工作。即在hibernate的配置文件中把所有有关数据库的操作都配置完成,使用时只要按照hibernate框架的使用方法,写出Dao文件和Service文件就能对数据库进行CRUD等操作了。Hibernate的配置文件内容代码:org.hibernate.dialect.SQLServerDialecttrueupdatecom/dark/nethd/bean/UserInfo.hbm.xmlPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnly48 org.hibernate.dialect.SQLServerDialecttrueupdatecom/dark/nethd/bean/UserInfo.hbm.xml48 PROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnly48 7总结与展望随着互联网技术的广泛应用以及计算机技术的发展,人们对数据存储的需求及方式也有了巨大的改变。有三个方面的表现:首先许多应用系统,如电子商务,数据仓库,企业资源的规划(ERP)和客户关系管理(CRM)等对存储容量有巨大的要求;其次应用系统要求对数据进行快速有效的存取;最后需要对数据进行有效的管理,从而有了网络存储技术的快速发展。目前网络存储文献综述基于web的网络存储服务系统的设计与实现(3)前言部分写作目的:随着电子技术与网络的发展人们无须带着厚重的公文包到处走动,网络存储(网络硬盘)的出现使大家的文件保存处理运用更加方面简易。为了更容易在朋友同事同学之间分享信息,为了更好的管理你的文件,网络存储是不二的选择。有关概念、综述范围:(一)什么是网络存储[1]:存储(Storage)这个词汇,受限于传统的“存储”词义制约,容易被误解为被动的数据保存。实质上,今天的IT用户和专家们都一致认同如下的概念:(2)存储系统是应用系统的基础框架(infrastructure)。只是奠定了高度可管理、可扩展、兼容何种主机平台、安全、保证数据访问性能、满足多种数据使用要求的存储系统。(3)存储系统在整个信息生命周期中,即数据的创建、保护、存取、迁移、存档、处置的整个过程中,扮演这管理调度的核心角色。企业IT应用越深入,对存储系统的数据管理能力和功能的依赖性越强。(3)网络存储的主要形式就是DAS、NAS和SAN[2]。(1)DAS(DirectAttachedStorage,直接连接存储)将磁盘阵列、磁带库等数据存储设备通过扩展接口直接连接到服务器或客户端。DAS以服务器为中心,不带有存储操作系统,即存储设备是服务器的一部分,I/O请求将直接发送到存储设备。DAS方式实施比较简单,成本低,见效快。但是存储管理工作比较繁琐,容量不能再分配,性能、扩充性较差。因此该技术已经不能适应当今的存储要求。NAS(NetworkAttachedStorage———网络连接存储)即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上,提供数据和文件服务。(2)NAS是一种专业的网络文件存储及文件备份设备,或称为网络直连存储设备、网络磁盘阵列。一个NAS里面包括核心处理器、文件服务管理工具、一个或者多个硬盘驱动器用于数据的存储。NAS可以应用在任何的网络环境当中。主服务器和客户端可以非常方便地在NAS上存取任意格式的文件,包括SMB格式(Windows)、NFS格式(Unix、Linux)和CIFS格式等等。NAS系统可以根据服务器或者客户端计算机发出的指令完成对内在文件的管理。另外的特性包括:独立于操作平台、不同类的文件共享、交叉协议用户安全性/许可性、浏览器界面的操作/管理和不会中断网络的增加和移除服务器。NAS将存储设备通过标准的网络拓扑结构连接,可以无需服务器直接上网,不依赖通用的操作系统,而是采用一个面向用户设计的、专门用于数据存储的简化操作系统,内置了与网络连接所需的协议,因此使整个系统的管理和设置较为简单,适用于文件系统和Web服务系统的存储和共享优化存储,可以有效地管理多用户、多应用的单一数据的共享。NAS依靠LAN和WAN连接标准,使用IP、以太网以及网络文件系统(NFS)和公共互联网文件系统(CIFS)等技术,降低了操作和开发的难度。同时,NAS支持多通信协议,可以在Unix和Windows客户机上使用,实现异种机的存储访问。(3)SAN(StorageAreaNetwork———存储区域网络)是基于FC和IP网络的,他FCP/iSCDI的模块访问协议以块设备的形式提供存储服务,其硬件设备是厂家特定的NSA具有异构平台下的文件共享和低成本等优点,但是在性能和可扩展性方面存在一定的缺陷。因此NA主要用于异构环境下的数据访问、数据迁移、文件共享等场合。SAN以其独特的体系结构和构建技术使它具有高性能和可扩展等优点,但是SAN的异构环境下的文件共享和互操作性方面存在以下缺陷。因此目前主要用整合存储和服务器资源、数据库应用、在线事务处理的低延迟、以及LAN-freebackup或server-freebackup等场合。(二)网络存储的优势:(1)生动的文件展示:图片、声音、视频等多媒体格式的文件,网络硬盘支持在线预览(2)强大的共享机制:通过WEB浏览器,随时随地访问。(3)独特的分级管理:与家人朋友或所有网民分享文件、文件夹。(4)可靠的安全保障:收费用户将享有专业的数据备份、杀毒服务。(三)Ajax技术[3]:Ajax(AsynchronousJavaScriptandXML)是Web2.0核心之一,它是几项技术按一定的方式组合在一,在共同的协作中发挥各自的作用,它主要包括以下五个方面[4][5]:(1)基于Web标准(Standards-basedPresentation)XHTML+CSS的表示;(2)使用DOM(DocumentObjectModel)进行动态显示及交互;(3)使用XML和XSLT进行数据交换及相关操作;(4)使用XMLHttpRequest进行异步数据查询、检索;(5)使用JavaScript将各个功能模块绑定在一起.与传统的Web应用不同,Ajax采用异步交互过程.Ajax在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。用户的浏览器在执行任务时即装载了Ajax引擎。Ajax引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互.Ajax引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。有关争论焦点[6]:网络存储实现了数据存储的共享性、管理性和扩展性。但各种存储技术本身都存在着一些问题:NAS性能低、容量小;SAN费用高、扩展性不佳;IP-SAN取决于以太网的性能等。因此,随着网络数据量的增加,如何融合各种技术的优势,统一虚拟存储技术,提高数据的共享性将成为未来网络存储技术要解决的核心问题。二、主题部分历史背景[7][8][9]:IT技术的发展经历过三次浪潮:第一次浪潮以处理技术为中心,以处理器的发展为核心动力,产生了计算机工业,促进了计算机的迅速普及和应用;第二次浪潮以传输技术为中心,以网络的发展为核心动力。这两次浪潮极大地加速了信息数字化进程,使得越来越多的人类信息活动转变为数字形式,从而导致数字化信息爆炸性增长,进而引发IT技术的第三次发展浪潮:存储技术浪潮。在存储技术中,网络存储技术是其核心部分,它不仅对IT行业的发展,而且对其他行业的发展产生了巨大的影响。在当今复杂的商业环境中,每天都可能面对各种自然灾害和人为灾难的发生,当这些灾难降临时,对于企业的关键业务来说,哪怕是几分钟的业务中断和数据丢失所带来的损失也常常是难以估量的。从而就有了数据备份的出现。传统的数据备份设备的类型:磁盘、带机、带库等。各种硬件的特点,比较设备的不同,制订不同的备份策略,所产生的效果不同,而且使用的方法也不同。设备类型决定介质类型:软盘、磁盘、磁带、光盘。备份介质的单位容量:数据的大小和介质容量的大小决定着备份策略的制订。备份的速度:由于各种不同的设备类型,进行备份速度也是不相同的,这也是在制订备份策略时需考虑的一个重要因素。这些传统的备份都易受时间、地点、病毒、成本、操作性、实用性等一系列因素的影响,从而就有了网络存储的出现。人们现在可以方便地连接到网络,能够在咖啡馆、公园甚至城市中的任何角落实现高速宽带无线连接—但是这并不意味着他们的数据也得到持续的良好保护。除了执行预先安排的备份任务外,人们一直都没有找到轻松实施数据备份的方法。现在,借助IBM的软件,人们可以利用单一、简易的解决方案,连续备份笔记本电脑、台式机或企业文件服务器中的数据。软件可以在几毫秒内在本地机器上创建一个拷贝,并将另外一个拷贝传输到远程服务器。移动人士可以及时保护和恢复被损坏或误删的文件到任何地方,甚至是以前丢失的文件—实现了多层防护。21世纪是信息时代。在互联网技术及其应用的推动下,网络上的信息资源呈爆炸型增长。海量的信息需要进行处理和网络传输。面对这种局面,传统的数据信息存储架构已力不从心,取而代之的是存储网络技术。存储网络是一种全新的存储体系结构。它的主要优势是:超大存储容量,大数据传输率和高可用性。它支持网络协议和存储设备协议,采用面向网络的存储体系结构,提高存储自身的数据管理能力,把信息智能从服务器迁移到网络中的各个设备。另一方面网络技术在经历着迅速的发展,如光纤通道(FibreChannel)可达到从2Gb/s、4Gb/s、8Gb/s到16Gb/s的传输速度,以太网(Ethernet)可达从1Gb/s、10Gb/s、40Gb/s到100Gb/s的传输速度,Infiniband可达到从2.5Gb/s到120Gb/s的传输速度。这为存储系统向基于网路新型存储形式转变,满足新的应用需求对存储形式的转变,满足新的应用需求对存储系统在高可用、高性能、可扩展、可管理、可共享、低成本等方面提供了条件。可以说计算机存储系统有直连式存储向网络存储发展的必然趋势。网络存储已成为带动信息化产业发展的新的“引擎”,所以被称为是继计算机浪潮和互联网浪潮之后的第三次IT浪潮。现状和发展方向[10][11][12]:随着网络技术的迅速发展,通过网络进行传输的信息量呈指数级增长,人类已经进入数字化的信息时代,在社会生活的各个领域,信息扮演着十分重要的角色。据统计,全球每年都要产生10~20亿GB的新信息,相当于每人每年要产生250MB的信息量,这对传统的存储技术形成了巨大的挑战,而对于企业来讲,其业务系统不仅要有高效灵活的数据管理能力还要有灾难事件发生时的容错和恢复能力,由此基于网络和数据库技术的网络存储应运而生。它可以为企业提供超大存储容量、大数据传输率以及高系统可用性的信息存储和共享服务。目前,网络存储技术有以下4个主要发展方向:NAS(NetworkAttachedStorage);SAN(StorageAreaNetwork);CAS(ContentAddressStorage);IPSAN(SANoverIP)。面对新型的数据密集型应用,网络化的企业应用,以及因特网的发展,企业存储的传统方法包括直接存储(DAS)已经力不从心。取而代之的是网络存储技术。存储网络在性能、灵活性、可扩充性、安全性和集中式数据管理方面形成明显的优势。在标准的制定和产品的实现上,力图使新的网络存储技术可以借助一些成熟网络技术和网络构架例如IP网络向更多的用户提供更有效的服务。1.目前的存储网络技术的不足[13]:由于接口卡(NIC)并不为服务器提供卸载或是协议加速,因此限制了性能导致NAS的性能较低;复杂程度高,FC-SAN需要由专业而且昂贵的光纤交换机和路由器来构建独立的网络,因此,需要经过专门培训的专用人员进行安装和维护。从而使SAN的实现费用较高,互操作性差;IP2SAN则存在着严谨的SCSI协议和无法保证质量的TCP/IP协议的矛盾。2.网络存储发展趋势[14]:(1)基于InfiniBand的存储系统是被用来取代PCI总线的新I/O体系结构。InfiniBand把网络技术引入I/O体系中,形成一个I/O交换网络结构,主机系统通过一个或多个主机通道适配器(HCA)连接到I/O交换网上,存储器、网络通信设备通过目标通道适配器(TCA)连接到该I/O交换网上。InfiniBand体系结构把IP网络和存储网络合二为一,以交换机互连和路由器互连的方式支持系统的可扩展性。服务器端通过主机通道适配器(HCA)连接到主机内存总线上,突破了PCI的带宽限制,存储设备端通过终端通道适配器(TCA)连接到物理设备上,突破了SCSI和FC2AL的带宽限制。(2)DAFS技术的基本原理是通过缩短服务器读写文件时的数据路径来减少和重新分配CPU的计算任务。它提供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在这两个物理设备预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内存,而不必先填充各种各样的系统缓冲区和网络接收器。(3)统一的虚拟存储将不同厂商的FC2SAN、NAS、IP2SAN、DAS等各类存储资源整合起来,形成一个统一管理、监控和使用的公用存储池。虚拟存储的实质是资源共享,因此,统一虚拟存储的任务有两点:其一是如何进一步增加可共享的存储资源的数量;其二是如何通过有效的机制在现有存储资源基础上提供更好的服务。从系统的观点看,存储虚拟化有三种途径:基于主机的虚拟化存储、基于存储设备的虚拟化存储以及基于网络的虚拟化存储。统一虚拟存储的实现只能从虚拟存储的实质出发,因此,单一存储映象的方法可能是虚拟存储的发展方向。(4)IP2SAN是采用iSCSI(InternetSmallComputerSys2temsInterface)协议构架在IP网络上的SAN。iSCSI协议通过IP协议来封装SCSI命令,并在IP网络上传输SCSI命令和数据。在FC2SAN结构中,服务器间的消息传递使用的是前端局域网,而数据传输则被限制在后端的存储网络中。但是,IP2SAN的倡导者认为存储网络应该与应用网络使用相同的体系架构和技术标准,也就是说,IP2SAN存储系统既使用IP网络进行消息传递,也使用IP网络进行数据传输。基于IP网络的SAN系统可充分利用目前普遍使用的IP网络基础设施,解决了应用网络和存储网络异构的问题。另一方面,IP2SAN的数据传输路径和FC2SAN存储系统的I/O路径相比,只是光纤通道卡和FCP协议变为iSCSI卡和iSCSI协议。相信网络存储统一化存储会成为未来的趋势。问题的评述:(1)网络存储系统的安全与特点[15][16]:网络存储系统是存储技术和网络技术相结合的产物,处于整个用户信息系统的核心,因此它与网络安全领域所面临的安全问题有很大的区别。存储安全系统研究的目标是实现高效的网络存储安全系统,为用户应用提供安全的存储服务和实用的性能保证。安全的存储服务是指存储系统能够根据不同用户的级别为其提供相应级别的存储资源;实用的性能保证则要解决在网络存储系统加入了安全控制机制之后,能提供可以实用的系统性能。一个网络存储安全系统应该包括以下几个特性:1)数据保密性 保密性是指数据不能泄漏给非授权的用户,用户必须得到明确的授权,才能访问到数据。主要体现在对数加密来防止黑客攻击。2)数据完整性 完整性就是确保用户访问数据的过程中,保证所有数据的正确性。主要体现在用Hash函数对数据进行完整性检查。3)不可抵赖性 不可抵赖性体现在确保数据确实由某个存储设备发送并且无法否认,且接收到数据的用户一定是得到授权的用户。一般使用数字签名技术来实现。4)系统性能可用性 采用访问控制、数据加密保护等各种安全机制实现网络存储安全系统,无疑会增加存储系统的负载,不能因此而影响用户的正常使用。(2)网络存储安全的见解:随着网络存储技术的高速发展,网络存储的多样化,以及其快速的普及,而网络存储又是基于网络传输的存储技术,所以网络安全就会引发网络存储的安全。在今后的存储技术的发展之中网络存储的安全性是必须要保障的前提,倘若用户的信息不能得到很好的保护,传输数据不能被安全的被接收那网络存储将会被世人所质疑。网络存储技术的发展会给未来的电子信息产业带来革新,所以做好网络存储安全的技术是网络存储可持续发展的前提。三、总结部分随着互联网技术的广泛应用以及计算机技术的发展,人们对数据存储的需求及方式也有了巨大的改变。有三个方面的表现:首先许多应用系统,如电子商务,数据仓库,企业资源的规划(ERP)和客户关系管理(CRM)等对存储容量有巨大的要求;其次应用系统要求对数据进行快速有效的存取;最后需要对数据进行有效的管理,从而有了网络存储技术[17]的快速发展。目前网络存储[18]的运用以渗透到许多邻域,而企业是当中的大头,企业选择存储网路是网络存储有着对其数据访问和保护问题、计算机资源的利用的高效利用问题的解决有很大的帮助、对业务的连续性有最高水平的保证。网络存储提高了数据的共享性、可用性、可扩展性和管理性,但仍然存在一些缺陷.如:NAS的性能较低;SAN的实现费用较高,互操作性差;IP2SAN则存在着严谨的SCSI协议和无法保证质量的TCP/IP协议的矛盾。因此,网络存储的发展,以解决存储共享,数据共享等问题,仍然是当今存储体系结构研究的重点和热点。目前网络存储的核心技术是围绕SCSI、FC、IP以太网及它们的交叉融合发展,NAS存储系统可能采用DAFS技术提高系统性能,利用虚拟存储体系结构实现所有的存储技术的统一,基于总线的存储,将可能沿着基于InfiniBand技术发展。网络存储技术是今年来计算机领域研究的热点之一,由于网络存储在各方面的优势,势必将会对未来的的信息存储系统带来革命性的影响。网络存储的这个影响会从现在一直持续很长的时间。◆参考文献[1]郑晨溪网络存储技术浅论信息系统工程2009第12期。[2]雷江涛,白照高.网络存储技术的发展现状及应用[J].工业仪表与自动化装置,2007(1):75-79.[3]范涛.网络存储技术研究与应用[J].福建电脑,2008(6):59-60.[4]吴伟强,康摩宁网络存储系统的研究西北工业大学研究生论文2004年4月.[5]周秋芬基于IP的SAN存储区域网络技术网络与通信2010年第12期[6]范宏宇网络存储技术探讨计算机与网络2010年第8期[7]FarleyM.BuildingStorageNetworks.USA:Osborne/Mc2Graw-Hill,2000[8]NIIT.存储区域网概念与应用[M].北京:人民邮电出版社,2002.[9]王月,贾卓生网络存储技术的应用于研究2006年6月第16卷第6期。[10]杨祺等论Internet在现代企业中的应用福建电脑2010年第6期[11]汪礼勇企业信息化的第二春—移动办公电信网技术2009年12月[12]张蕴卿等计算机网络安全的威胁因素及防范技术计算机工程2010年第16期[13]吴伟强西北工业大学计算机软件与理论系网络存储系统的研究2005年6月27号[14]范中磊网络存储技术漫谈之一:网络存储简介记录媒体技术2010年第1期[15]谭生龙存储虚拟化技术的研究微型计算机应用2010年第1期[16]徐梦虚拟存储技术的研究及应用计算机与信息技术2010年1月[17]刘朝斌虚拟存储系统关键技术研究及其性能评价华中科技大学博士论文2003年12月27日[18]刘仓军网络文件管理技术设计与实现电脑知识与技术2010年6月[19]沈春丽基于P2P的网络存储系统的研究武汉理工大学2006年3月[20]周旭面向Internet的大规模分布式存储技术研究电子科技大学博士论文2004年11月[21]邬剑飞在线测评系统的设计与实现软件导刊2009年第1期[22]顾治华Mysql存储引擎与数据库性能计算机时代2006年第10期[23]谢季峰MYSQL技术与.net.技术集成的研究与应用信息技术2010年第6期[24]聂凯Mysql数据库访问方法浅析科技资讯2010年第9期[25]王春明基于MVC模式的Struts框架的研究科技信息2007年第23期[26]曹大有基于Myeclipse的Hibernate持久层框架开发过程研究计算机应用2007年第12期开题报告基于Web的网络存储服务系统的设计与实现一、论文选题的背景、意义历史背景[1][2][3]IT技术的发展经历过三次浪潮:第一次浪潮以处理技术为中心,以处理器的发展为核心动力,产生了计算机工业,促进了计算机的迅速普及和应用;第二次浪潮以传输技术为中心,以网络的发展为核心动力。这两次浪潮极大地加速了信息数字化进程,使得越来越多的人类信息活动转变为数字形式,从而导致数字化信息爆炸性增长,进而引发IT技术的第三次发展浪潮:存储技术浪潮。在存储技术中,网络存储技术是其核心部分,它不仅对IT行业的发展,而且对其他行业的发展产生了巨大的影响。在当今复杂的商业环境中,每天都可能面对各种自然灾害和人为灾难的发生,当这些灾难降临时,对于企业的关键业务来说,哪怕是几分钟的业务中断和数据丢失所带来的损失也常常是难以估量的。从而就有了数据备份的出现。传统的数据备份设备的类型:磁盘、带机、带库等。各种硬件的特点,比较设备的不同,制订不同的备份策略,所产生的效果不同,而且使用的方法也不同。设备类型决定介质类型:软盘、磁盘、磁带、光盘。备份[4]介质的单位容量:数据的大小和介质容量的大小决定着备份策略的制订。备份的速度:由于各种不同的设备类型,进行备份速度也是不相同的,这也是在制订备份策略时需考虑的一个重要因素。这些传统的备份都易受时间、地点、病毒、成本、操作性、实用性等一系列因素的影响,从而就有了网络存储的出现。人们现在可以方便地连接到网络,能够在咖啡馆、公园甚至城市中的任何角落实现高速宽带无线连接—但是这并不意味着他们的数据也得到持续的良好保护。除了执行预先安排的备份任务外,人们一直都没有找到轻松实施数据备份的方法。现在,借助IBM的软件,人们可以利用单一、简易的解决方案,连续备份笔记本电脑、台式机或企业文件服务器中的数据。软件可以在几毫秒内在本地机器上创建一个拷贝,并将另外一个拷贝传输到远程服务器。移动人士可以及时保护和恢复被损坏或误删的文件到任何地方,甚至是以前丢失的文件—实现了多层防护。21世纪是信息时代。在互联网技术及其应用的推动下,网络上的信息资源呈爆炸型增长。海量的信息需要进行处理和网络传输。面对这种局面,传统的数据信息存储架构已力不从心,取而代之的是存储网络技术。存储网络是一种全新的存储体系结构。它的主要优势是:超大存储容量,大数据传输率和高可用性。它支持网络协议和存储设备协议,采用面向网络的存储体系结构,提高存储自身的数据管理能力,把信息智能从服务器迁移到网络中的各个设备。另一方面网络技术在经历着迅速的发展,如光纤通道[5][6](FibreChannel)可达到从2Gb/s、4Gb/s、8Gb/s到16Gb/s的传输速度,以太网(Ethernet)可达从1Gb/s、10Gb/s、40Gb/s到100Gb/s的传输速度,Infiniband可达到从2.5Gb/s到120Gb/s的传输速度。这为存储系统向基于网路新型存储形式转变,满足新的应用需求对存储形式的转变,满足新的应用需求对存储系统在高可用、高性能、可扩展、可管理、可共享、低成本等方面提供了条件。可以说计算机存储系统有直连式存储向网络存储发展的必然趋势。网络存储已成为带动信息化产业发展的新的“引擎”,所以被称为是继计算机浪潮和互联网浪潮之后的第三次IT浪潮。国内外研究现状和发展趋势[7][8][9]随着网络技术的迅速发展,通过网络进行传输的信息量呈指数级增长,人类已经进入数字化的信息时代,在社会生活的各个领域,信息扮演着十分重要的角色。据统计,全球每年都要产生10~20亿GB的新信息,相当于每人每年要产生250MB的信息量,这对传统的存储技术形成了巨大的挑战,而对于企业来讲,其业务系统不仅要有高效灵活的数据管理能力还要有灾难事件发生时的容错和恢复能力,由此基于网络和数据库技术的网络存储应运而生。它可以为企业提供超大存储容量、大数据传输率以及高系统可用性的信息存储和共享服务。目前,网络存储技术有以下4个主要发展方向:NAS(NetworkAttachedStorage);SAN(StorageAreaNetwork);CAS(ContentAddressStorage);IPSAN(SANoverIP)。面对新型的数据密集型应用,网络化的企业应用[10][11],以及因特网的发展,企业存储的传统方法包括直接储(DAS)已经力不从心。取而代之的是网络存储技术。存储网络在性能、灵活性、可扩充性、安全性和集中式数据管理方面形成明显的优势。在标准的制定和产品的实现上,力图使新的网络存储技术可以借助一些成熟网络技术和网络构架例如IP网络向更多的用户提供更有效的服务。1.目前的存储网络技术的不足[12]:由于接口卡(NIC)并不为服务器提供卸载或是协议加速,因此限制了性能导致NAS的性能较低;复杂程度高,FC-SAN需要由专业而且昂贵的光纤交换机和路由器来构建独立的网络,因此,需要经过专门培训的专用人员进行安装和维护。从而使SAN的实现费用较高,互操作性差;IP2SAN则存在着严谨的SCSI协议和无法保证质量的TCP/IP协议的矛盾。2.网络存储发展趋势[13]:(1)基于InfiniBand的存储系统是被用来取代PCI总线的新I/O体系结构。InfiniBand把网络技术引入I/O体系中,形成一个I/O交换网络结构,主机系统通过一个或多个主机通道适配器(HCA)连接到I/O交换网上,存储器、网络通信设备通过目标通道适配器(TCA)连接到该I/O交换网上。InfiniBand体系结构把IP网络和存储网络合二为一,以交换机互连和路由器互连的方式支持系统的可扩展性。服务器端通过主机通道适配器(HCA)连接到主机内存总线上,突破了PCI的带宽限制,存储设备端通过终端通道适配器(TCA)连接到物理设备上,突破了SCSI和FC2AL的带宽限制。(2)DAFS技术的基本原理是通过缩短服务器读写文件时的数据路径来减少和重新分配CPU的计算任务。它提供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在这两个物理设备预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内存,而不必先填充各种各样的系统缓冲区和网络接收器。(3)统一的虚拟存储将不同厂商的FC2SAN、NAS、IP2SAN、DAS等各类存储资源整合起来,形成一个统一管理、监控和使用的公用存储池。虚拟存储的实质是资源共享,因此,统一虚拟存储[14][15][16]的任务有两点:其一是如何进一步增加可共享的存储资源的数量;其二是如何通过有效的机制在现有存储资源基础上提供更好的服务。从系统的观点看,存储虚拟化有三种途径:基于主机的虚拟化存储、基于存储设备的虚拟化存储以及基于网络的虚拟化存储[17]。统一虚拟存储的实现只能从虚拟存储的实质出发,因此,单一存储映象的方法可能是虚拟存储的发展方向。(4)IP2SAN是采用iSCSI(InternetSmallComputerSys2temsInterface)协议构架在IP网络上的SAN。iSCSI协议通过IP协议来封装SCSI命令,并在IP网络上传输SCSI命令和数据。在FC2SAN结构中,服务器间的消息传递使用的是前端局域网,而数据传输则被限制在后端的存储网络中。但是,IP2SAN的倡导者认为存储网络应该与应用网络使用相同的体系架构和技术标准,也就是说,IP2SAN存储系统既使用IP网络进行消息传递,也使用IP网络进行数据传输。基于IP网络的SAN系统可充分利用目前普遍使用的IP网络基础设施,解决了应用网络和存储网络异构的问题。另一方面,IP2SAN的数据传输路径和FC2SAN存储系统的I/O路径相比,只是光纤通道卡和FCP协议变为iSCSI卡和iSCSI协议。二、研究的基本内容与拟解决的主要问题[18][19][20]系统的详细设计文件发布系统由后台管理和前台文件浏览两部分组成,其中,后台管理对文件作了详细的分类,前台以分类形式显示文件的详细信息,满足了人们浏览文件时分类查看文件信息的要求,同时前台还提供查询文件信息功能,方便浏览者查找相关的文件信息。系统的主要功能是通过几个功能模块来实现的。具体的功能设计如下:1)系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。2)文件浏览:该模块负责分页列出网站所有文件的信息,包括标题、类型、来源部门字段及发布日期,每条文件的标题被做成一个超链接,点击它们就能跳转页面进行文件阅读。3)文件阅读:在其他页面中点击标题链接即进入文件阅读页面,此时,每条文件的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有文件使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。4)文件查询:该模块提供了文件查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的文件,并输出查询结果。5)文件管理:该模块负责分页罗列登录的注册用户曾发布过且未删除的文件信息,用户可以对该条文件进行删除、修改。非文件发布者除系统管理员外不具有对该条文件的处理权限,所以不同用户进入此页面将显示不同的内容。6)文件录入和修改:注册用户录入一条文件所需要的内容,包含标题、关键字、类型、来源部门、发布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。该模块还负责编辑状态下的更新,这时,它将根据取得的Title字段值对页面控件初始化。7)文件的上传与下载:此功能可以让用用户把自己的信息上传到网络存储器进行管理,并且可以对需要的文件在任何地方进行下载使用。此功能会支队注册用户开放而普通不用不能下载只能阅读。8)管理员模块:该功能是为了对注册的不用进行管理,可以设置用户权限,分配用户的磁盘大小数量。有删除用户的权利,也可以对违禁的用户信息进行删除动作。三、研究的方法和技术路线、研究难点,预期达到的目标[21][22]该网络存储服务系统可以在WindowsXP操作系统上运行,数据库服务器是Mysql5.0[23][24],开发工具采用Myeclipse[25][26]。其工作流程为:用户登录通过权限判断,普通用户只能浏览、阅读和查询文件,注册用户除了可以完成普通用户的操作外,还可以进入文件管理模块进行文件录入、修改和删除的操作。注册用户除系统管理员外只能对自己录入的文件进行删改操作。系统功能结构图系统的功能特点1)操作简单、界面友好:完全控件式的页面布局,使得文件的录入工作更简便;许多选项包括文件类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。2)动态管理:可以动态的对文件进行处理(包括录入、修改、删除),能立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。3)功能完善:包括常见网站的文件管理的各个方面:文件录入、浏览、删除、修改、检等各个方面,完整地实现了网站对即时文件的管理要求。开发时可能会遇到的难点重点模块(网络存储服务系统)用户权限设置:普通用户权限,注册用户权限用户注册:存储用户的注册信息。文件的上传于下载:用户能对信息进行上传于下载。注册用户的删除:删除注册的用户。预期效果:(1)功能齐全:1)新用户的注册。2)文件的上传下载与管理。3)后台管理员的管理。(2)操作简单:1)设计时充分考虑操作人员水平差异及人员流动,界面直观易懂。2)操作简单并不是功能简单,流程设计合理。3)操作过程完全符合网络存储的规范,输入数据检查严格,大大减少操作失误。(3)用户界面友好:1)系统采用的是普通的Web页面因此熟悉Internet的人就会使用。2)对所有数据输入进行完整性和合法性检查,尽量减少操作错误。四、论文详细工作进度和安排第七学期第10周至第18周(2011年01月06日前):文献检索和资料收集,完成毕业论文(设计)文献综述、开题报告和外文翻译;第八学期第1周至第3周(2011年03月11日前):撰写论文提纲,完成毕业论文(设计)初稿、需求分析和概要设计;第八学期第4周至第12周(2011年05月13日前):详细设计、系统调试、和毕业论文(设计)完成定稿;第八学期第13周(2011年05月20日前):完成应用软件系统的设计和毕业论文(设计)送指导老师和评阅老师评阅,准备答辩;第八学期第14周:参加毕业论文(设计)答辩。第七学期第10周至第18周(2011年01月06日前):文献检索和资料收集,完成毕业论文(设计)文献综述、开题报告和外文翻译;第八学期第1周至第3周(2011年03月11日前):撰写论文提纲,完成毕业论文(设计)初稿、需求分析和概要设计;第八学期第4周至第12周(2011年05月13日前):详细设计、系统调试、和毕业论文(设计)完成定稿;第八学期第13周(2011年05月20日前):完成应用软件系统的设计和毕业论文(设计)送指导老师和评阅老师评阅,准备答辩;第八学期第14周:参加毕业论文(设计)答辩。五、主要参考文献网络存储提高了数据的共享性、可用性、可扩展性和管理性,但仍然存在一些缺陷.如:NAS的性能较低;SAN的实现费用较高,互操作性差;IP2SAN则存在着严谨的SCSI协议和无法保证质量的TCP/IP协议的矛盾。因此,网络存储的发展,以解决存储共享,数据共享等问题,仍然是当今存储体系结构研究的重点和热点。目前网络存储的核心技术是围绕SCSI、FC、IP以太网及它们的交叉融合发展,NAS存储系统可能采用DAFS技术提高系统性能,利用虚拟存储体系结构实现所有的存储技术的统一,基于总线的存储,将可能沿着基于InfiniBand技术发展。网络存储技术是今年来计算机领域研究的热点之一,由于网络存储在各方面的优势,势必将会对未来的的信息存储系统带来革命性的影响。网络存储的这个影响会从现在一直持续很长的时间。48 参考文献[1]沈浅网络存储技术的探讨福建电脑报2010第3期。[2]FarleyM.BuildingStorageNetworks.USA:Osborne/Mc2Graw-Hill,2000[3]郑晨溪网络存储技术浅论信息系统工程2009第12期。[4]冯丹.网络存储关键技术的研究及进展[J].移动通信,2009(11):35-39。[5]雷江涛,白照高.网络存储技术的发展现状及应用[J].工业仪表与自动化装置,2007(1):75-79。[6]范中磊网络存储技术漫谈之一:网络存储简介记录媒体技术2010年第1期。[7]谭生龙存储虚拟化技术的研究微型计算机应用2010年第1期。[8]范涛.网络存储技术研究与应用[J].福建电脑,2008(6):59-60。[9]NIIT.存储区域网概念与应用[M].北京:人民邮电出版社,2002.[10]王月,贾卓生网络存储技术的应用于研究2006年6月第16卷第6期。[11]刘仓军网络文件管理技术设计与实现电脑知识与技术2010年6月。[12]龙朝晖JSP技术及其在工程图档管理系统中的应用2004年12月。[13]邬剑飞在线测评系统的设计与实现软件导刊2009年第1期[14]刘晓峰Strutsl框架与Struts2框架的对比分析电大理工2010年6月。[15]刘英哲基于SSH框架的远程教学平台的实现技术应用2010年9月。[16]李敬文基于Struts+Hibernate架构的OA平台设计与实现数字技术与应用2010年9月。[17]王春明基于MVC模式的Struts框架的研究科技信息2007年第23期。[18]吴伟强西北工业大学计算机软件与理论系网络存储系统的研究2005年6月27号。[19]曹大有基于Myeclipse的Hibernate持久层框架开发过程研究计算机应用2007年第12期。[20]王春明基于MVC模式的Struts框架的研究科技信息2007年第23期48

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭