该系统的设计考虑到系统涉及到大量的客户端数据操作,而减少Web控件的使用,可以减轻服务器的压力,用户操作自己文件夹的页面主要采用HTML+JS来实现,以此来提高系统的性能。
2.1 SQL Server 2008
SQL Server 2008作为如今企业常用的数据库,可以存入大量数据并且具有较高的效率;同时,SQL Server 2008可以用较少的资源支持较多用户,具有较高的安全性,完全适合本系统需求。
2.2 EF
与数据库交互部分采用的是微软的ADO.NET Entity Framework,即EF。ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系(O/R Mapping)解决方案。实体框架Entity Framework是ADO.NET中的一组支持面向数据软件应用程序的技术,是微软的一个ORM框架。
Entity Framework的主要特点:支持多种数据库(Microsoft SQL Server, Oracle, and DB2);强劲的映射引擎,能很好地支持存储过程;提供Visual Studio集成工具,进行可视化操作;能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。
2.3三层架构
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。考虑到本系统的业务较复杂,工作量较大,我采用微软推荐的三层架构,这种分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层。区分层次不但提高了开发人员的开发效率,同时也提高了系统的高重用性、可使用性以及可文护性[4]。
3.系统分析
3.1系统需求分析
基于B/S结构的网盘系统主要以用户管理自己的文件为中心。用户成功登录后,便可以对自己的网盘中的文件进行相应的下载、上传、重命名、移动、删除、压缩、解压、共享等操作。
根据以上需求,对上述各项功能进行分块,得到的系统功能模块图如图1所示。
1 系统功能模块图
3.2数据库设计
3.2.1数据需求分析
数据库设计中,通常使用E-R图对需求分析阶段的数据进行分类,形成实体、实体的属性和实体的标识码,并确定实体之间的关系,实体E-R图如图2所示。
图2 E-R图
3.2.2数据库物理模型设计
对系统的业务逻辑进行详细分析后决定,系统的数据库设计为两张表、注册用户表(WebUser),用户文件表(UserFiles)。
(1)用户表(WebUser):主要包含注册用户的信息,系统为用户分配的目录的ID,用户名UserName,用户密码UserPwd,创建时间CreateTime,删除标记DelFlag。表结构如表1所示。
表1 用户表
列名 数据类型 允许空 备注
ID int(自动编号) 否 主键,唯一确定
UserName nvarchar(32) 否 用户名
Email nvarchar(32) 否 用户邮箱
UserPwd nvarchar(32) 否 用户密码
CreatTime datetime 否 用户注册时间
DelFlag bit 否 删除标记
(2)用户文件表(UserFiles):包含用户的根文件夹的路径Path,创建时间,删除标记DelFlag,用户根目录的编号WebUserID,根目录标识IsDir,父目录编号ParentPathId,是否共享标识IsShared。表结构[5]如表2所示。
表2 用户文件表
列名 数据类型 允许空 备注
ID int(自动编号) 否 主键,唯一确定
Path varchar(512) 否 用户文件路径 ASP.Net+sqlserver网盘系统设计与实现(2):http://www.751com.cn/jisuanji/lunwen_2699.html