1、 数据存储与交换系统的设计 摘 要 当 今 , 靠人工 进行 文本存 储、 资料信息 传送 和信息共享 的方式 已经逐渐 被淘汰, 而 依靠计算机 进行 网络存储、资料信息传送 和信息共享 已经越来越普遍,而且 人们需要 存储的数据量 越来越大, 还要 要求使用方便,能够在网络的任何地方访问存储的数据。在此形势下, 基于 网络的 存储与交换系统 迅速发展起来,使 得 以上问题迎刃而解。 该系统 以 Microsoft Visual Studio 2003 作为 开发工具 , 选用 SQL Server 2000 数据库 来实现数据存储 , 并设计开发了一种 基于 B/S 模式 的 数据存储与交
2、换 系统 。 该系统 完成了用户注册管理、后台管理和用户空间管理功能;为每个用户提供了个人的存储空间;用户可以通过浏览器 实现文件的上传、下载和资源的共享;根据用户空间 等级 限制用户存储空间的大小;为用户共享文件提供积分制;通过积分制来对用户空间升级实行优惠。 最后通过测试,基本满足了用户的 需求,但 还 需要进一步完善,才可以应用于实际中。 关键词 : 网络存储 ;上传下载;资源共享 Design of Storage and Interchange System for Data Abstract Nowadays, the methods depending on manual in
3、text storage, data switching and information sharing are gradually eliminated. But, the methods depending on the computer in the network storage, data switching and information sharing have become increasingly common, and the stored data is growing,and People need convenient usage,and can access the
4、 stored data in the network. In this position, the system of the network-based storage and interchange is rapidly developing, and the above problemes are readily solved. The system uses Microsoft Visual Studio 2003 as a developing tool and use SQL Server 2000 database realize Data Storage, designs a
5、nd develops a storage and interchange system for data on B/S mode. The system is completed with the function of user management, background management and User space management. To provide each user a personal storage space , users can upload and download file and share resources by browser; Accordi
6、ng to user space restrictions grading users storage size ,integrating system for users to share file, and through integrating system to give preferential to upgrad user space. Finally, through testing, it satisfies the users based-demands, but it should be further improved before being in practical
7、application. Key words: Network storage; Upload and Download; Resource sharing 目 录 论文总页数: 24 页 1 引言 . 1 1.1 课题背景 . 1 1.2 国内外研究现状 . 1 1.3 课题研究的意义 . 1 1.4 课题研究的方法 . 2 2 系统需求分析 . 2 3 系统功能设计 . 2 3.1 后台管理 . 2 3.1.1 用户管理 . 2 3.1.2 共享管理 . 3 3.1.3 管理员管理 . 3 3.1.4 收费管理 . 3 3.2 用户注册 . 3 3.3 用户空间管理 . 3 3.3.1 文
8、件管理 . 3 3.3.2 共享查询 . 3 3.3.3 空间信息和升级查询 . 3 3.3.4 修改个人资料 . 3 3.4 系统功能模块图 . 3 4 数据 库设计 . 4 4.1 admin 表 . 4 4.2 UsersRank 表 . 4 4.3 Users 表 . 5 4.4 UserFiles 表 . 5 4.5 IntegralRank 表 . 6 5 系统模块代码实现 . 6 5.1 用户登录模块 . 6 5.2 用户注册模块 . 7 5.3 用户主界面模块 . 8 5.4 文件存储管理模块 . 8 5.5 文件上传模块 . 10 5.6 我的共享查询模块 . 13 5.7
9、公共共享 查询模块 . 13 5.8 用户资料修改模块 . 15 5.9 空间升级查询模块 . 15 5.10 后台管理登录模块 . 16 5.11 后台管理主界面模块 . 16 5.12 用户管理模块 . 17 5.13 管理员管理模块 . 17 5.14 共享管理模块 . 17 5.15 收费管理模块 . 18 6 系统测试 . 20 6.1 服务器配置 . 20 6.2 前台测试结果 . 20 6.2.1 用户注册、登录测试 . 20 6.2.2 文件上传、下载测试 . 20 6.2.3 文件管理和共享测试 . 21 6.3 后台测试结果 . 21 结 论 . 22 参考文献 . 22
10、致 谢 . 23 声 明 . 24 第 1 页 共 24 页 1 引言 1.1 课题 背景 随着科学的进步,经济的发展,在当今信息化时代, 过去的靠人工 进行 存储、传送资料 信息 的方式 已开始被淘汰,靠计算机存储、传送资料信息 的方式 已越来越流行。 而且当今人们需要存储的数据量越来越大,还要要求使用方便,能够在网络的任何地方访问存储的数据,单靠 USB 存储也已经不能完全满足这些需求了 。“ 网络存储 与 交换系统 ”的兴起,给人们带来了希望,它通过人们熟悉 的 浏览器非常方便地为人们实现信息的存储、交流,解决了时刻携带 USB 存储工具的烦恼。因此,许多人都希望拥有一个良好的“网络存储
11、与交换系统 ” ,解决资料信息 的 存储、 携带 和 交流的烦恼。 1.2 国内外研究现状 从现今看来, 我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。我们常用的文件传输 FTP、 Email 邮件、网上邻居都 能 实现文件的传送。其中,“ Ftp” 功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐;“ Email” 是大家所熟悉的了,但它的传送不仅需要你连入 Internet,而且它的安全性也是个问题,在企业内部, 财务、劳资等文件资料需通
12、过这种方式交流不是好办法; “ 网上邻居 ” 是又一种传送文件的方法,通过在本机上指定共享的 Web文件夹并放置资源文件,一定范围内的用户可以访问到这些文件,然而这种方式使用的范围相当有限,通常在同一个 DNS 段地址内的用户才能顺利访问,其它尤其是 Internet 上的用户,很难使用,此外同 Email 类似,它的使用也不直观,很多时候你 不得不在许多列表计算机上一层层展开搜索才有可能获取你想要的资源 。 由此看来,以上三种方式虽然在一定程度上实现了文件数据的交流,但它们都主要面向 “ 点对点 ” 的传送(你只能 被动地等对方放置数据而不能主动 “ 可视化 ” 地索取),无法实现 “ 一块
13、空间,资源互见 ” 的应用需求,这种基于 “ 点对多 ” 的共享方式需要寻求另外的传输途径, 网络存储与交换系统 就是一种很好的解决方式。 1.3 课题 研究的意义 在当今信息化时代,对信息交流效率要求越来越高。那么为了提高信息交流的效率,就 因该 想办法让 信息 交流的方式更加简单、方便、有效。 该 基于 B/S 模式的 数据存储与 交换系统 , 正为此而设计。 我们就简单称之为网络硬盘, 它 是服务器上的一块硬盘空间,在这里,如果你具备足够的权限,你可以对它随意操作,第 2 页 共 24 页 就 像 使用你的本地计算 机一样。要知道,这一切 是 以 Http 的方式传输,以 Web的形式展
14、现在所有用户面前,通过浏览器这种熟悉的方式访问,这样, “ 一块空间,资源互见 ” 的共享模式得以实现 ,在 这 块有限的空间 里你 可以随意的存储 你的文件资料, 可 根据需要下载别人共享的文件资料, 随时随地只要有网络你就可以通过浏览器完成你的数据存储与交流 。 从此我们在很多情况下不用随身携带移动硬盘等 USB 存储工具,不用再为你的 USB 存储工具 携带 保管犯愁,不用再为你的数据存储担忧。 1.4 课题 研究的方法 该系统 综合运用了 .NET 框架的 System.IO 命名空间的文件 与目录类来对文件的上传目录 、 路径 操作 和 下载删除操作 , 再运用 ADO.NET 技术
15、访问 SQL Server数据库对文件信息的查询、插入、修改、删除操作 。通过 ADO.NET 提供的 3 个功能强大的数据显示控件: Repeater, DataList 和 GataGrid,这 3个控件与 ADO.NET强大的数据访问功能相结合,完成对文件的共享、显示、下载等功能。 2 系统 需求分析 该系统 功能要求 如下 : (1) 用户管理:用户注册、注册审核、用户存储空间限定管理、用户积分、用户 等级 (2) 存储管理:为用户提供基于 B/S 模式的上传 和 下载数据,数据为现有的个人用户文件,为用户提供存储 文件 的 添加、修改、删除操作。 (3) 收费管理:按照空间大小收费、
16、根据用户的积分、 等级 实施优惠收费,为用户提供共享的文件提供积分累计。 (4) 数据共享管理:数据共享文件管理 。 3 系统功能设计 该 数据存储与交换系统, 主要是为用户提供一个网上存储空间,方便用户随时随地上网通过浏览器就可以进行数据资料的存储、下载与共享,主要有以下基本功能。 3.1 后台管理 该系统 采用用户和管理员分开登 录 模式,管理员所有操作界面模块全包含在系统目录的 Admin 文件夹下。 3.1.1 用户管理 管理员可以对用户进行添加、 删除 和修改 操作,可以锁定和解锁定用户,可以修改用户 等级。管理员可以添加、删除用户 等级 类型 ,设定各类等级所拥有的空间大小,根据用
17、户缴费情况给予相应等级权限,如普通用户注册后等级为普通用户,空间大小为 50 MB,缴费后可获得更大的空间。 第 3 页 共 24 页 3.1.2 共享管理 管理员可根据举报查看文件 内容 确认后可将该文件锁定,不允许其在共享区域显示 。 3.1.3 管理员管理 管理员可查询、添 加、 删除 和修改 管理员帐户 相关信息 。 3.1.4 收费管理 管理员可以添加、删除、修改用户积分等级 , 根据用户的积分 等级 实施优惠收费。 当某用户申请升级时 ,可以查询该用户的积分,以及升级到相应等级经过积分等级 优惠折算后应支付的实际费用。 3.2 用户注册 用户注册必须指定用户名、密码、密码保护资料、
18、电子邮箱, 注册同时在服务器指定文件夹 myfile 内 新建一个用户个人文件夹,作为用户个人文件保存的空间 ,新用户注册默认等级为普通用户,空间大小为 50MB。 3.3 用户空间 管理 3.3.1 文件 管理 用户登 录 后可以上传文件到自己个人的存储空间文件夹, 但空间大小将受 用户等级限制;可以在自己的文件查询和共享文件查询列表 中下载任何一个文件,当共享区域的文件被其他用户下载后就会为提供此共享文件的用户增加 1 点积分;可以设定某个私有的文件共享与否,上传时文件的共享类型默认是不共享的,设定共享后,其他用户才能从共享区域中下载你的文件;可以对自己空间私有的文件可以进行文件删除和文件
19、名的修改。 3.3.2 共享查询 显示所有用户共享的而且未被管理员锁定的文件, 并可以下载共享文件 ,如发现共享内容为不健康或带反动言语等不良共享文件可进行举报 。 3.3.3 空间信息和升级查询 用户可以看到自己空间相关信息,可以查看不同用户等级和积分等级的相 关信息,以及升级到相关等级所需要支付的 实际 费用。 3.3.4 修改个人资料 用户对自己注册资料可进行修改,包括密码、密码保护 资料 。 3.4 系统 功能模块 图 系统 功能模块图 如图 1 所示。 第 4 页 共 24 页 4 数据库设计 该系统 采用 SQL Server 2000 数据库,根据系统的功能, 共 设计了 5 张
20、 表 单 ,包括管理员信息表、用户等级表、 积分等级表、用户信息表、文件信息表, 这些表 单 都 在数据库 NWMS 中。 其中文件信息表 UserFiles 中的 UserId(用户 ID)字段与用户信息表 Users 中的 UserId(用户 ID) 字段相关联;文件信息表 UserFiles中的 vUserRank(用户等级)字段与用户等级表 UsersRank 中的 vUserRank(用户等级)字段相关联;文件信息 表 UserFiles 中的 vUserSore(用户积分)字段与 积分 等级表 IntegralRank 中的 vUserSoreU( 最低积分)和 vUserSore
21、D(最 高积分)字段 相关联 ;具体表单设计如下。 4.1 admin表 此表用来 记录 系统管理员信息,并且只能由管理员操作管理,如表 1。 表 1 admin(管理员信息) 表 字 段 数据类型 说 明 vAdminId varchar(20) 管理员用户 ID(主键) vAdminPwd varchar(20) 管理员密码 vAdminConn varchar(200) 管理员信息 4.2 UsersRank表 此表用来 记录 用户空间等级信息 , 如表 2。 表 2 UsersRank(用户等级) 表 字 段 数据类型 说 明 vUserRank int(4) 用户等级 编号 (主键)
22、 vRankName varchar(20) 等级名称 vSpaceSize varchar(20) 空间大小 vSpaceSb bigint(8) 空间大小( Byte) vCharge varchar(20) 该等级价格 图 1 系统 功能模块 图 用户管理 共享管理 管理员管理 收费管理 后台管理 文件管理 升级查询 共享查询 空间信息 资料修改 用户空间管理 第 5 页 共 24 页 4.3 Users表 此表用于记录用户信息,如表 3。 表 3 Users(用户信息) 表 字 段 数据类型 说 明 UserId varchar(20) 用户 ID(主键) UserPwd varcha
23、r(20) 用户密码 PwdQuestion varchar(50) 用户密码提示问题 PwdAnwser varchar(50) 用户密码提示答案 Email varchar(50) 用户电子 邮箱 Ser varchar(2) 用户 性别 QQ int(4) QQ号码 UserName varchar(10) 用户真实姓名 Telephone varchar(50) 联系 电话 UserIn varchar(500) 用户自我介绍 vUserRank int(4) 用户等级 编号 vRegDate varchar(50) 注册日期 vUserlock varchar(10) 用户 锁定状态
24、 vUserSore int( 4) 用户积分 4.4 UserFiles表 此表用于记录用户上 传文件信息,如表 4。 表 4 UserFiles(文件信息) 表 字 段 数据类型 说 明 UserId varchar(50) 用户 ID vFileSize varchar(50) 文件大小 vFileSb bigint(8) 文件大小( Byte) vFileName varchar(50) 文件名 vWay varchar(100) 文件路径(主键) vSharType varchar(50) 共享类型 vUpDate varchar(50) 修改日期 vDownCount int(4)
25、 下载统计 vFileLock varchar(10) 文件 锁定状态 vFileUp int(4) 举报状态 第 6 页 共 24 页 4.5 IntegralRank表 此表用于记录用户积分等级信息,如表 5。 表 5 IntegralRank(积分等级) 表 字 段 数据类型 说 明 vIntegralRank int( 4) 用户积分 级 别 (主键) vUserSoreU int( 4) 该等级最低积分数 vUserSoreD int( 4) 该积分等级最 高 积分数 vContrbRed float( 8) 收费优惠打折 5 系统模块 代码实现 根据系统功能设计 ,将 整个系统 划
26、分为以下几个功能模块 。 5.1 用户登 录 模块 用户登 录 界面 ( Default.aspx) 是起始界面,必须登 录 后才可以进行其他的操作。 首先通过输入用户名和密码,然后在用户信息表 Users 中查询 输入的用户名和密码两个字段是否 有相匹配的 数组 ,如果没有则 提示“用户不存在或密码错误!” , 返回 登 录 界面;如果登 录 成功则将用户名赋给 Session,然后自动跳转到用户主界面。 其中登 录 Button 的触发 主要 代码如下: conn.ConnectionString = “Data Source=86BC14A814F7477;Initial Catalog
27、=NWMS;User ID=sa;Password=123“ conn.Open() cmd.Connection = conn 连接数据库 cmd.CommandText = “Select * From Users“ objReader = cmd.ExecuteReader() Do While objReader.Read() If UserId.Text = objReader.Item(“UserId“) And UserPwd.Text = objReader.Item(“UserPwd“) Then 在数据库 Users表中搜寻与输入的用户名和密码相匹配的数 组 Session(“UserId“) = UserId.Text将用户名赋给 Session Response.Redirect(“User0.aspx“) 登录成功 跳转页面 Exit Do End If Loop Response.Write(“alert(用户不存在或密码错误! )“)