flex的网络硬盘设计方案.docx
《flex的网络硬盘设计方案.docx》由会员分享,可在线阅读,更多相关《flex的网络硬盘设计方案.docx(39页珍藏版)》请在冰豆网上搜索。
flex的网络硬盘设计方案
第一章引言
1.1课题研究的背景
在现实生活中经常有许多电子文件需要处理,比如在家庭电脑上做的工程要拿到公司去运行,需要将自己的文件、作品传输到其他的Internet用户,要实现某些文件的共享等。
如果每天拿个移动硬盘或U盘进行文件的传输的话,有很多缺点,比如经常会因为容量问题而无法实现,有时候会因为遗忘而带来很大的不方便。
解决这种问题的方法最好的是通过网络来实现文件的传输。
网络的主要功能是实现文件的共享与信息传输,Internet的出现与发展使得各种文件的传输工具成为了现实生活中必不可少的工具。
比如:
E-Mail,ftp文件传输,网上邻居,以及最近网络硬盘等。
FLEX是实现富因特网应用(RIA,RichInternetApplication)的一种技术,采用FLEX实现网络硬盘,能为用户提供更好的操作体验。
Flex技术提供了一个新的、基于标准的语言和编程模型,其编程模型支持常用的设计模式,能够使企业创建许多有吸引力的、交互的快速应用,这些应用会增强用户的体验、增加客户的满意度和用户的工作效率。
传统的WEB开发,在表现层次受到非常大的约束,Flex技术不仅轻松解决了所有表现层的技术问题,让客户感受前所未有的WEB应用体验.更主要的是,基与FLASHAS3.0的纯面向对象和组件的构架,让B/S结构表现层的开发层次分明。
所以采用FlEX技术实现网络硬盘具有现实可行性。
1.2课题研究的目的和意义
网盘,向用户提供文件的存储、访问、备份、共享等文件管理功能,使用起来十分方便。
用户可以把网盘看成一个放在网络上的硬盘或U盘,不管你是在家中、单位或其它任何地方,只要你连接到因特网,你就可以管理、编辑网盘里的文件。
不需要随身携带,更不怕丢失。
开发这样一个系统具有实际应用意义。
网盘的原理其实就是网络公司将其服务器的硬盘或硬盘阵列中的一部分容量分给注册用户使用,因此网盘一般来说投资都比较大,所以免费网盘一般容量比较小,为防止用户滥用还往往附加单个文件最大限制(一般为1M到50M左右),因此免费网盘一般只用于存储较小的文件。
而收费网盘则具有速度快、安全性能好、容量高、允许大文件存储等优点,适合有较高要求的用户。
1.3国内外研究现状分析
随着网盘市场竞争的日益激烈和存储技术的不断发展,传统的网盘技术已经显得力不从心,传输速度慢、冗灾备份及恢复能力低、安全性差、营运成本高等瓶颈一直困扰着网盘企业。
最新应用的云计算储存技术,为网盘行业带来了新的革命,传统的网盘将逐步被数据银行取代。
数据银行是构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问的系统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系列需求。
数据银行最大优势在于将单一的存储产品转换为数据存储与服务,在这个技术下,网盘行业可能像金融行业银行一样,在单一的存储服务基础衍生出更多增值的服务,只有这种改变才能使数据银行迎来蓬勃发展的春天。
第二章开发平台介绍和使用技术分析
2.1系统所需的软硬件平台
操作系统:
MicrosoftWindows7
浏览器:
InternetExplorer6.0及以上版本
Internet信息服务器:
ASP.NETDevelopmentServer
数据库:
MicrosoftSQLServer2005
ASP.NET开发平台:
VisualStudio2008
FLEX开发环境:
FlashBuilder4
2.2主要开发软件介绍
2.2.1FlashBuilder4软件
FlashBuilder是Adobe官方发布的IDE(集成开发系统),用来构建在开源的EclipseIDE上,使用Flex的MXML和ActionScript技术,进行Flex书写和调试。
它具有可视的代码和设计视窗。
FlexBuilder可以提供代码提示和其他的帮助,并可以使用自定义的编译和调试(Debug)。
FlashBuilder包括两个模式:
开发模式(FlashDevelopment)和调试模式(FlashDebugging)。
当建立一个Flex工程时,视角自动切换为开发环境;当进行调试操作时,视角自动切换为调试模式。
FlashBuilder4是Adobe首选开发工具,它使用Flex框架构建应用程序。
FlexBuilder现在具有针对Windows和MacOSX的版本。
FlashBuilder4是一个专为Eclipse工作台这几的插件。
FlashBuilder的独立配置包括构建Flex应用程序所需的所有功能,包括Eclipse3.3,而插件安装选项允许在现有Eclipse安装的基础上安装FlashBuilder。
FlashBuilder4添加了许多视图和编辑器形式的工具,提高了代码编写的速度和效率。
使用Flex构建应用程序的开发人员通常拥有某种其他编程语言的背景。
在Flash中创建和应用文档无需任何编程工作,但Flex应用程序几乎完全依靠编码来实现。
Flex中的动画完全通过ActionScript进行处理,因为Flex的开发工具包中不包含时间轴。
Flex也包含一些高级工具,用于处理包含数十或数百个视图和屏幕的大型应用程序。
最后,Flex应用程序用源代码编写,这些源代码存储在文本文件中。
可以使用源代码控制应用程序(如CVS和Subversion)轻松管理这些文本文件。
因此,依赖这些管理工具的多成员开发团队会发现Flex非常适合他们原来的工作方式。
对于图形设计人员来说,FlexBuilder3的设计视图功能比以前的版本更加友好和实用。
2.2.2MicrosoftSQLServer2005软件
SQLServer2005是一个全面的数据库平台,它使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更加安全可靠的存储功能,是您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQLServer2005发布了6个版本,分别是企业版、标准版、工作组版、开发版、简易版和简版。
MicrosoftSQLServer2005是微软的新一代数据管理和分析解决方案,它在SQLServer2000的基础上扩展了数据可靠性、可用性、可编程性、易管理性等方面的特性,使用户在应用数据和分析程序方面更加安全、稳定和可靠。
这些新特性使它成为大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。
概括起来,SQLServer2005数据库管理系统具有以下新特性。
管理工具集。
SQLServer2005提供了一个集成的管理控制台用来管理和监视SQLServer关系型数据库、集成服务、分析服务、报表服务、通知服务,以及分布式服务器和数据库上的SQLMobile,在很大程度上可以帮助数据库管理员简化管理数据库的复杂度,并可以实现同时执行编写和查询,查看服务器对象,管理对象,监视系统活动,查看在线帮助等任务。
专用的管理员连接。
SQLServer2005引入了一个专用的管理员连接来访问正在运行的服务器,即便该服务器没有响应或不可用。
在以前的版本中,如果所有的内容出错了,那么只能关闭SQLServer服务或按下电源键。
而在SQLServer2005中,专用的管理员连接结束了这种情况。
即使服务器正在出现问题这个功能也允许数据库管理员对它发起单个诊断连接。
XML技术。
在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。
SQLServer2005将会自身支持存储和查询可扩展标记语言文件。
报表服务。
利用SQLServer2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。
扩展的语言支持。
在SQLServer2005中,通用语言运行时(CLR)被集成在数据库引擎中,开发人员利用多种熟悉的语言来开发数据库应用程序,包括:
Transact-SQL、MicrosoftVisualBasic.NET、MicrosoftVisualC#.NET。
此外,通过使用用户定义类型和函数,CLR集成也为开发人员提供了更多的灵活性。
改进的数据库访问和WebServices。
在SQLServer2005中,可以开发数据库层的XMLWebServices,把SQLServer作为一个HTTPlistener。
还可以使用HTTP直接访问SQLServer,而无需使用IIS这样的中间层listener并且,SQLServer开放了一个WebService接口,可以用来执行SQL语句和调用函数及过程,查询结果可用XML格式返回,也可以利用VisualStudio的WebServices架构来返回。
安全方面的新特性。
现在,数据库系统被用作网络应用程序后台的范围越来越大,对安全的要求也越来越高。
SQLServer2005通过多种途径增强了数据的安全性。
例如:
每个组件、函数都进行了威胁模型测试;代码必须全部进行安全审核;利用代码工具进行自动化工具测试,并改良了测试方法包括入侵测试、假定场景测试、低权限测试等。
除了以上的特性外,SQLServer2005还增加或改进了其他性能,例如:
数据镜像、在线操作、快照隔离、数据分区、快速恢复、密码策略、和本机加密等。
2.2.3VisualStudio2008开发平台
MicrosoftVisualStudio2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,代号“Orcas”,是对VisualStudio2005一次及时、全面的升级。
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。
使用VisualStudio2008可以高效开发Windows应用。
设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。
同时VisualStudio2008支持工程模板、调试器和部署程序。
VisualStudio2008可以高效开发Web应用,集成了ASP.NETAJAX1.0,包含ASP.NETAJAX工程模板,它还可以高效开发Office应用和Mobile应用。
2.3使用技术的分析
2.3.1RIA技术
RIA是RichInternetApplications的缩写,翻译为富因特网应用程序。
RIA的目标是将桌面程序的表现力与浏览器的程序方便、快捷的结合在一起。
开发者可以在浏览器程序上部署C/S客户端的程序。
RIA的最突出的特点是Rich,同时RIA最核心的部分也体现在Rich中。
Rich包含了两层含义:
1、丰富的数据模型
RIA技术提供了多种数据模型来处理客户端复杂的数据操作。
使用RIA可以将部分原本需要在后台程序处理的问题转移到客户端,使数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快,且数据往返于服务器的次数更少的用户界面。
2、丰富的界面元素
RIA技术提供了比HTML更为丰富的界面表现元素,密集、响应速度快和图形丰富的页面元素与数据模型结合在一起,为用户提供好的使用体验。
随着Web应用程序复杂性越来越高,传统的Web应用程序已经渐渐不能满足Web浏览者的要求,这就是所谓的“体验问题”。
RIA的出现,提出了解决上述问题的新思路。
虽然RIA技术仍然处于起步阶段,但是对于想要减轻C/S中客户端繁重的任务,或是希望增强网页的表现力的用户来说,RIA是最好的选择。
2.3.2使用FLEX技术开发WEB的优势
Flex是Adobe公司开发的支持RIA(RichInternetApplications)开发和部署的技术产品,主要面向企业级的应用。
借助于Flex的强大功能,能够开发出更富有交互性和标签的用户界面。
Flex弥补了许多传统Web应用缺乏的元素,减少了与服务器之间通信的次数,能更为详细地展示数据的细节。
其最适用的应用程序包括解决多步处理、客户端验证、控制可视数据、使桌面应用和Web应用结合在一起,有更强大的表现力。
Flex在解决用户“体验问题”时,有自己的新特点,具体如下。
1、高效性
通过增强表现层的效果提高终端用户体验的投资回报。
利用简单、引人注目的用户及降低网络及服务器的开销及企业集成来生成提高收益、降低成本的应用程序。
2、易用性
利用直观的编程模型开发RIA应用,无须改动现有的Web开发工作流程。
提高互操作性的行业标准,包括XML、SOAP与ECMAScipt。
3、灵活性
使用基于组件的开发模型是Flex应用程序开发十分灵活。
开发者可利用Flex中包含的预建组件和扩展组件来添加新的属性和方法以及创建新的组件。
开发者还能够控制组件外观、确定组件如何响应用户交换。
4、全面性
迅速地创建足以达到企业级的性能及高投资收益的应用。
2.3.3使用ASP.NET开发服务器端程序的优势
ASP.NET是一种建立在公公语言运行环境基础上的程序开发架构,主要用于在服务器端开发强大的Web应用程序。
下面介绍ASP.NET的强大优势:
1、强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。
通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。
ASP.net同时也是language-independent语言独立化的,所以可以选择一种最适合的语言来编写程序,或者把程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET。
2、简单性和易学性
ASP.net使运行一些很平常的任务如表单的提交、客户端的身份验证、分布系统和网站配置变得非常简单。
例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。
3、高效可管理性
ASP.net使用一种字符基础的、分级的配置系统,可以使服务器环境和应用程序的设置更加简单。
因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。
这种被称为"ZeroLocalAdministration"的哲学观念使A的基于应用的开发更加具体,和快捷。
一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,而不需要系统的重新启动。
多处理器环境的可靠性ASP.net已经被设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。
任何ASP.NET应用程序都可以使用整个.NETFramework。
开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。
第三章需求分析
3.1工程背景分析
我们经常有这样的需求:
通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。
我们常用的文件传输方式如FTP、Email邮件、网上邻居等都能实现文件的传送。
其中,“FTP”功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐;“Email”是大家所熟悉的了,但它的传送不仅需要连入Internet,而且安全性也是个问题,在企业内部,财务、劳资等文件资料需通过这种方式交流不是好办法;“网上邻居”是又一种传送文件的方法,通过在本机上指定共享的Web文件夹并放置资源文件,一定范围内的用户可以访问到这些文件,然而这种方式使用的范围相当有限,通常在同一个DNS段地址内的用户才能顺利访问,其它尤其是Internet上的用户很难使用,此外同Email类似,它的使用也不直观,很多时候不得不在许多列表计算机上一层层展开搜索才有可能获取想要的资源。
由此看来,以上三种方式虽然在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送(你只能被动地等对方放置数据而不能主动“可视化”地索取),无法实现“一块空间,资源互见”的应用需求,这种“点对多”的共享方式需要寻求另外的传输途径,网络硬盘就是一种很好的解决方式。
所谓“网络硬盘”,是将服务器上的磁盘空间提供给合法用户使用,这样用户就可以在互联网上直接实现文件的备份与转移。
当然用户也可以通过客户端软件将这个磁盘空间虚拟成一个本地的目录,并完全集成到Windows的资源管理器中,在操作方法上就像使用本地硬盘一样方便。
通过网络硬盘,不仅可以备份电脑系统中的文件,而且可以轻松实现移动化办公。
用户可以随时随地地进行个人文件的上传、下载、删除以及文件目录的新建和修改,甚至还可以实现网络中文件的共享等等,也就是说,只要用户愿意,就可以与网络上的所有人共享存放在网络硬盘上的文件。
网络硬盘具有如下显著的作用:
(1)文件存储
人们都会有同样的困扰,超过软盘空间限制的文件无法携带、传输,借用CD-R、U盘、MO等存储设备对于普通PC用户来说成本过高。
在互联网无所不在的年代,现有的应用服务远不能满足需求,通过网络实现数据存储应该是最佳选择,网络硬盘可以通过互联网络,在全世界的任何地方在线存储文件数据,实现真正意义上的3A服务(即Anytime、Anywhere、Anyone)。
(2)私密空间
网络硬盘是一个完全属于用户的私密空间,无论是数据资料、程序文件、还是私人的邮件、通讯录,都可以安全的放在网络硬盘内。
不仅如此,网络硬盘还能对存储的文件进行自动加密,没有正确的密码,任何人看不到“文件”保险箱目录和其中的文件内容,保证私人空间不被侵犯。
开启密码掌握在使用者手中,保护个人隐私即安全又可靠,能够简单有效地防止因为个人隐私泄露而造成的损失和尴尬。
(3)自由共享
用户将文件数据存入网络硬盘后,不但可以在任何时候访问,更能用于朋友、家人、合作伙伴共享。
使用Web浏览器或者桌面软件都可以查看或者下载用户的文件。
信息存储加密系统保证数据的绝对安全。
当用户被授权访问,或者用户需要与他人共享文件时,则通过网络硬盘来设置文件共享。
用户可以给文件或目录生成独特的“提取码”,使远方的朋友能够方便地查看或下载。
(4)安全可靠
面对汹涌澎湃的电脑病毒,面对脆弱的硬件,面对不可预测的突发事件,只有及时地备份数据才能为人们提供万无一失的数据安全保护。
将最重要的数据,使用网络硬盘进行备份和在线保存,可以在有意外发生时,通过备份数据对数据进行灾难的恢复,使数据更加安全,可靠。
存储在网络硬盘中的数据其它人只能根据权限访问,管理员也仅能对共享数据进行管理,充分保护用户隐私,使数据更加安全。
网络硬盘能将重要的文件进行安全备份,因此将重要文件放在网络硬盘上保存起来,就可以避免病毒危害,黑客入侵和硬盘损坏所带来的危险。
所以从上面的比较看来,网络硬盘做为一种服务主页应运而生,具有很强的生命力。
开发这样的一个系统具有实际应用意义。
本系统实现了以下功能:
用户可以通过注册用户名、邮箱和密码免费获取一个自己的网络硬盘。
然后进行登录就可以进行相应的在给定权限内的操作,如修改密码、安全退出等。
文件夹模块,用户在分配的网络硬盘内可以新建文件夹和删除文件夹。
文件模块,用户可以点击文件夹然后查看该文件夹下的文件信息,然后可以浏览,查看属性,删除,下载等操作。
并且可以上传文件到选中的该文件夹下。
3.2可行性研究分析
(1)技术可行性。
对于基于FLEX的网络硬盘系统而言,主要是用FLEX技术开发前台客户端程序,ASP.NET技术开发后台服务器端程序。
主要是实现文件的上传下载功能以及数据库进行更新,添加,修改和删除。
运用FileReference类可以实现Flex前端的上传下载,然后后台ASP.NET再进行处理相关的数据库处理即可。
用SQLServer2005可以满足系统对数据库的要求,安全性好,效率高。
这是一个基于典型的C/S的Web系统,利用FLEX+ASP.NET技术开发的优点:
a、响应速度快,使数据能够缓存在客户端,减少数据在客户端和服务器端交互的次数。
b、借助于Flex的强大功能,能够开发出更富有交互性和标签的用户界面。
c、FLEX和ASP.NET的通信机制十分完善,结合十分紧密,开发程序十分方便。
(2)组织可行性。
本系统在编写代码前做了很多准备工作,严格制订了任务书,而且对于开发系统所涉及的技术进行了深入的学习,对整个开发流程的安排也比较合理,能够保证按着任务书的计划完成整个系统的开发。
使整个开发过程在组织之中,保证不出严重的滞后情况。
(3)经济可行性。
本系统是一个小型Web应用系统,实现简单,有很强的实用性而且不需要大的经济投入,在经济上是可行的。
3.3业务描述
(1)进入登录注册页面进行登录注册操作。
用户均可以通过注册获得一定磁盘存储空间,注册需要用户名,邮箱,和密码,注册成功后系统自动分配一定的空间,用户可在登录页面通过输入用户名和密码进行登录,登录成功后将跳转到自己网络硬盘的主页面,用户进行操作来上传下载自己需要的文件。
(2)进入文件夹页面操作。
用户登录成功后进入文件夹主页面,可以对文件夹进行相应的操作。
如添加、删除、重命名、浏览、移动文件夹。
(3)文件操作界面。
进入个人网络硬盘后点击文件夹名,可在右面看到文件夹下面相应的文件。
然后可以进行查看文件属性、上传、下载、删除文件等操作。
(4)用户信息管理界面。
进入主页面后,用户可以对自己的信息进行修改。
如修改自己登陆的密码,如果显示修改成功,则用户下次需使用新密码进行登录。
3.4功能分析
用户注册登录成功后可以进行的功能有:
在系统自动分配的三个根文件夹(我的文档、我的图片、我的音乐)下新建文件夹和删除文件夹,而且还可以重命名文件夹、移动文件夹、浏览文件夹下的相关文件。
用户还可以在相应的文件夹下上传文件、下载文件、删除文件和查看文件信息。
用户还可以进行修改密码、安全退出等功能。
3.4.1系统的功能特点
(1)操作简单,界面人性化,所有相应可以实现的功能均列出。
整个系统比较完整。
(2)能够对所进行的操作做出迅速的反应,如添加,删除等结果可以立即显示。
(3)由于Flex的特点,在实现的过程中还减少了与服务器通信的次数,大大的提高了效率,实现无刷新的更新信息。
(4)有较高的安全性,因为通过后台代码访问数据库,对前台又更好的透明性,同时也增强了安全性。
3.5数据流程分析
(1)注册流程,新用户可以通过注册获得一个合法的网络硬盘空间。
(2)登录流程,用户输入正确的用户名和密码以及验证码,则可登录成功进入网络硬盘的主界面。
(3)新建文件夹流程,选中在哪个文件夹下新建,然后输入要新建文件夹的名字,如果文件夹不存在,则新建成功。
(4)删除文件夹流程,选中要删除的文件夹,点击按钮,查询该文件夹的子文件夹,然后一并进行删除。
(5)上传文件流程,用户上传文件时,用户先选择上传到哪个文件夹,然后点击浏览文件,选择上传文件,再点击上传即可显示进度条,顺利上传,当然在