收藏 分享(赏)

毕业论文——数据存储与交换系统的设计.doc

上传人:wo7103235 文档编号:5810175 上传时间:2019-03-18 格式:DOC 页数:25 大小:557.50KB
下载 相关 举报
毕业论文——数据存储与交换系统的设计.doc_第1页
第1页 / 共25页
毕业论文——数据存储与交换系统的设计.doc_第2页
第2页 / 共25页
毕业论文——数据存储与交换系统的设计.doc_第3页
第3页 / 共25页
毕业论文——数据存储与交换系统的设计.doc_第4页
第4页 / 共25页
毕业论文——数据存储与交换系统的设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、数据存储与交换系统的设计摘 要当今,靠人工进行文本存储、资料信息传送和信息共享的方式已经逐渐被淘汰,而依靠计算机进行网络存储、资料信息传送和信息共享已经越来越普遍,而且人们需要存储的数据量越来越大,还要要求使用方便,能够在网络的任何地方访问存储的数据。在此形势下,基于网络的存储与交换系统迅速发展起来,使得以上问题迎刃而解。该系统以 Microsoft Visual Studio 2003 作为开发工具,选用 SQL Server 2000 数据库来实现数据存储,并设计开发了一种基于 B/S 模式的数据存储与交换系统。该系统完成了用户注册管理、后台管理和用户空间管理功能;为每个用户提供了个人的存

2、储空间;用户可以通过浏览器实现文件的上传、下载和资源的共享;根据用户空间等级限制用户存储空间的大小;为用户共享文件提供积分制;通过积分制来对用户空间升级实行优惠。最后通过测试,基本满足了用户的需求,但还需要进一步完善,才可以应用于实际中。关键词:网络存储;上传下载;资源共享Design of Storage and Interchange System for DataAbstractNowadays, the methods depending on manual in text storage, data switching and information sharing are grad

3、ually 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 stored data in the network. In this position, the system of

4、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 and develops a storage and interchange system for data on B/S m

5、ode. 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; According to user space restrictions grading users storage size ,inte

6、grating 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 application.Key words: Network storage; Upload and Download; R

7、esource sharing第 1 页 1 引言1.1 课题背景随着科学的进步,经济的发展,在当今信息化时代,过去的靠人工进行存储、传送资料信息的方式已开始被淘汰,靠计算机存储、传送资料信息的方式已越来越流行。而且当今人们需要存储的数据量越来越大,还要要求使用方便,能够在网络的任何地方访问存储的数据,单靠 USB 存储也已经不能完全满足这些需求了。 “网络存储与交换系统”的兴起,给人们带来了希望,它通过人们熟悉的浏览器非常方便地为人们实现信息的存储、交流,解决了时刻携带 USB 存储工具的烦恼。因此,许多人都希望拥有一个良好的“网络存储与交换系统” ,解决资料信息的存储、携带和交流的烦恼。1

8、.2 国内外研究现状从现今看来,我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。我们常用的文件传输 FTP、Email 邮件、网上邻居都能实现文件的传送。其中, “Ftp”功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐;“Email”是大家所熟悉的了,但它的传送不仅需要你连入 Internet,而且它的安全性也是个问题,在企业内部,财务、劳资等文件资料需通过这种方式交流不是好办法;“网上邻居”是又一种传送文件的方法,通过在本机上指定共享的 W

9、eb 文件夹并放置资源文件,一定范围内的用户可以访问到这些文件,然而这种方式使用的范围相当有限,通常在同一个 DNS 段地址内的用户才能顺利访问,其它尤其是 Internet 上的用户,很难使用,此外同 Email 类似,它的使用也不直观,很多时候你不得不在许多列表计算机上一层层展开搜索才有可能获取你想要的资源。由此看来,以上三种方式虽然在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送(你只能被动地等对方放置数据而不能主动“可视化”地索取) ,无法实现“一块空间,资源互见”的应用需求,这种基于“点对多”的共享方式需要寻求另外的传输途径,网络存储与交换系统就是一种很好的解决方式

10、。1.3 课题研究的意义在当今信息化时代,对信息交流效率要求越来越高。那么为了提高信息交流的效率,就因该想办法让信息交流的方式更加简单、方便、有效。该基于B/S 模式的数据存储与交换系统,正为此而设计。我们就简单称之为网络硬盘,它是服务器上的一块硬盘空间,在这里,如果你具备足够的权限,你可以对它第 2 页 随意操作,就像使用你的本地计算机一样。要知道,这一切是以 Http 的方式传输,以 Web 的形式展现在所有用户面前,通过浏览器这种熟悉的方式访问,这样, “一块空间,资源互见”的共享模式得以实现,在这块有限的空间里你可以随意的存储你的文件资料,可根据需要下载别人共享的文件资料,随时随地只要

11、有网络你就可以通过浏览器完成你的数据存储与交流。从此我们在很多情况下不用随身携带移动硬盘等 USB 存储工具,不用再为你的 USB 存储工具携带保管犯愁,不用再为你的数据存储担忧。1.4 课题研究的方法该系统综合运用了.NET 框架的 System.IO 命名空间的文件与目录类来对文件的上传目录、路径操作和下载删除操作,再运用 ADO.NET 技术访问 SQL Server 数据库对文件信息的查询、插入、修改、删除操作。通过 ADO.NET 提供的 3 个功能强大的数据显示控件:Repeater,DataList 和 GataGrid,这 3 个控件与 ADO.NET 强大的数据访问功能相结合

12、,完成对文件的共享、显示、下载等功能。2 系统需求分析该系统功能要求如下:(1) 用户管理:用户注册、注册审核、用户存储空间限定管理、用户积分、用户等级(2) 存储管理:为用户提供基于 B/S 模式的上传和下载数据,数据为现有的个人用户文件,为用户提供存储文件的添加、修改、删除操作。(3) 收费管理:按照空间大小收费、根据用户的积分、等级实施优惠收费,为用户提供共享的文件提供积分累计。(4) 数据共享管理:数据共享文件管理。3 系统功能设计该数据存储与交换系统,主要是为用户提供一个网上存储空间,方便用户随时随地上网通过浏览器就可以进行数据资料的存储、下载与共享,主要有以下基本功能。3.1 后台

13、管理该系统采用用户和管理员分开登录模式,管理员所有操作界面模块全包含在系统目录的 Admin 文件夹下。3.1.1 用户管理管理员可以对用户进行添加、删除和修改操作,可以锁定和解锁定用户,可以修改用户等级。管理员可以添加、删除用户等级类型,设定各类等级所拥有的空间大小,根据用户缴费情况给予相应等级权限,如普通用户注册后等级第 3 页 为普通用户,空间大小为 50 MB,缴费后可获得更大的空间。3.1.2 共享管理管理员可根据举报查看文件内容确认后可将该文件锁定,不允许其在共享区域显示。3.1.3 管理员管理管理员可查询、添加、删除和修改管理员帐户相关信息。3.1.4 收费管理管理员可以添加、删

14、除、修改用户积分等级,根据用户的积分等级实施优惠收费。当某用户申请升级时,可以查询该用户的积分,以及升级到相应等级经过积分等级优惠折算后应支付的实际费用。3.2 用户注册用户注册必须指定用户名、密码、密码保护资料、电子邮箱,注册同时在服务器指定文件夹 myfile 内新建一个用户个人文件夹,作为用户个人文件保存的空间,新用户注册默认等级为普通用户,空间大小为 50MB。3.3 用户空间管理3.3.1 文件管理用户登录后可以上传文件到自己个人的存储空间文件夹,但空间大小将受用户等级限制;可以在自己的文件查询和共享文件查询列表中下载任何一个文件,当共享区域的文件被其他用户下载后就会为提供此共享文件

15、的用户增加 1点积分;可以设定某个私有的文件共享与否,上传时文件的共享类型默认是不共享的,设定共享后,其他用户才能从共享区域中下载你的文件;可以对自己空间私有的文件可以进行文件删除和文件名的修改。3.3.2 共享查询显示所有用户共享的而且未被管理员锁定的文件,并可以下载共享文件,如发现共享内容为不健康或带反动言语等不良共享文件可进行举报。3.3.3 空间信息和升级查询用户可以看到自己空间相关信息,可以查看不同用户等级和积分等级的相关信息,以及升级到相关等级所需要支付的实际费用。3.3.4 修改个人资料用户对自己注册资料可进行修改,包括密码、密码保护资料。3.4 系统功能模块图系统功能模块图如图

16、 1 所示。第 4 页 4 数据库设计该系统采用 SQL Server 2000 数据库,根据系统的功能,共设计了 5 张表单,包括管理员信息表、用户等级表、积分等级表、用户信息表、文件信息表,这些表单都在数据库 NWMS 中。其中文件信息表 UserFiles 中的 UserId(用户ID)字段与用户信息表 Users 中的 UserId(用户 ID)字段相关联;文件信息表UserFiles 中的 vUserRank(用户等级)字段与用户等级表 UsersRank 中的vUserRank(用户等级)字段相关联;文件信息表 UserFiles 中的vUserSore(用户积分)字段与积分等级表

17、 IntegralRank 中的 vUserSoreU(最低积分)和 vUserSoreD(最高积分)字段相关联;具体表单设计如下。4.1 admin 表此表用来记录系统管理员信息,并且只能由管理员操作管理,如表 1。表 1 admin(管理员信息)表字 段 数据类型 说 明vAdminId varchar(20) 管理员用户 ID(主键)vAdminPwd varchar(20) 管理员密码vAdminConn varchar(200) 管理员信息4.2 UsersRank 表此表用来记录用户空间等级信息,如表 2。表 2 UsersRank(用户等级)表字 段 数据类型 说 明vUserR

18、ank int(4) 用户等级编号(主键)vRankName varchar(20) 等级名称vSpaceSize varchar(20) 空间大小vSpaceSb bigint(8) 空间大小(Byte)vCharge varchar(20) 该等级价格图 1 系统功能模块图用户管理 共享管理 管理员管理 收费管理后台管理文件管理 升级查询 共享查询 空间信息 资料修改用户空间管理第 5 页 4.3 Users 表此表用于记录用户信息,如表 3。表 3 Users(用户信息)表字 段 数据类型 说 明UserId varchar(20) 用户 ID(主键)UserPwd varchar(20

19、) 用户密码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) 用户锁定状态vUserSore int(4) 用户

20、积分4.4 UserFiles 表此表用于记录用户上传文件信息,如表 4。表 4 UserFiles(文件信息)表字 段 数据类型 说 明UserId varchar(50) 用户 IDvFileSize varchar(50) 文件大小vFileSb bigint(8) 文件大小(Byte)vFileName varchar(50) 文件名vWay varchar(100) 文件路径(主键)vSharType varchar(50) 共享类型vUpDate varchar(50) 修改日期vDownCount int(4) 下载统计vFileLock varchar(10) 文件锁定状态vF

21、ileUp int(4) 举报状态第 6 页 4.5 IntegralRank 表此表用于记录用户积分等级信息,如表 5。表 5 IntegralRank(积分等级)表字 段 数据类型 说 明vIntegralRank int(4) 用户积分级别(主键)vUserSoreU int(4) 该等级最低积分数vUserSoreD int(4) 该积分等级最高积分数vContrbRed float(8) 收费优惠打折5 系统模块代码实现根据系统功能设计,将整个系统划分为以下几个功能模块。5.1 用户登录模块用户登录界面(Default.aspx)是起始界面,必须登录后才可以进行其他的操作。首先通过输

22、入用户名和密码,然后在用户信息表 Users 中查询输入的用户名和密码两个字段是否有相匹配的数组,如果没有则提示“用户不存在或密码错误!” ,返回登录界面;如果登录成功则将用户名赋给 Session,然后自动跳转到用户主界面。其中登录 Button 的触发主要代码如下:conn.ConnectionString = “Data Source=86BC14A814F7477;Initial Catalog=NWMS;User ID=sa;Password=123“conn.Open()cmd.Connection = conn 连接数据库cmd.CommandText = “Select * F

23、rom 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将用户名赋给 SessionResponse.Redirect(“User0.aspx“) 登录成功跳转页面Exit DoEnd IfLoopResponse.Wri

24、te(“alert(用户不存在或密码错误!)“)第 7 页 objReader.Close()conn.Close()断开数据库连接5.2 用户注册模块用户注册页面(Reg.aspx) ,文本框后带*的为必填,其他选填,用户注册时必须输入用户名、密码、密码确认、密码提示问题、密码提示答案和电子邮箱,否则不能注册。当这些都满足后点击注册,触发事件代码开始搜索用户信息表(Users) ,检验是否存在相同用户名,如存在,那么提示“该用户已经注册!” ,退回注册页面,主要代码如下:cmd.CommandText = “Select UserId From Users“objReader = cmd.E

25、xecuteReader()Do While objReader.Read()If UserIdBox.Text = objReader.Item(“UserId“) ThenResponse.Write(“alert(该用户已经注册!)“) 验证用户名i = 1Exit DoEnd IfLoopobjReader.Close()如果未发现相同用户名,则用SQL语句INSERT将新用户信息写入用户信息表Users,同时运用MkDir( )在服务器系统目录的myfile文件夹内新建一个文件夹,用户名即为文件夹名。同时将用户等级类型设定为“1” ,即普通用户,享有空间大小为50MB;将用户锁定类型

26、设为空,即默认未锁;将用户积分等级设为0,刚注册用户对未共享过任何文件,未为资源共享做贡献,所以不具有收费优惠。主要代码如下:cmd.CommandText = “INSERT INTO Users(UserId,UserPwd,PwdQuestion,PwdAnwser,Email,Ser,QQ,UserName,Telephone,vUserRank,vRegDate,vUserLock,vContrbRank,UserIn,vUserSore) VALUES(“ window.location=Default.aspx;“)End If5.3 用户主界面模块用户主界面(User0.asp

27、x)采用分页技术显示,主要有上和左、右 3 部分。左边固定显示 LeftTree.aspx 页面,主要给用户提供操作链接,通过点击左边的链接(包括有:文件管理、文件上传、我的共享、公共共享、空间升级、空间信息、个人资料和退出系统) ,将相应的操作页面在右边显示出来,右边的初始页面为用户个人空间信息页面(Spatial_inon.aspx) ,具体界面如图 2。图 2 用户主界面操作图5.4 文件存储管理模块在主界面左边的链接中点击“文件管理”连接到文件管理页面(File_mgt.aspx) ,该页面利用 DataGrid 的强大显示功能为用户显示了当前用户所上传的所有文件,并可以对任何一个文件

28、通过“编辑”超链接到编辑页面(File_edit.aspx)进行共享和文件名的修改;还可以通过点击文件名下载当前文件,还可以通过点击删除,删除相应行文件信息和文件(删除文件运用的是 Kill( )) 。主要代码如下:(1) 初始化页面和声明绑定数据过程 Bind()主要代码如下:If Not (Me.IsPostBack) ThenMe.Bind()End IfSub Bind()Dim userid As String = Session(“UserId“)第 9 页 Sql = “Select * From UserFiles WHERE UserId=“ Initial Catalog=

29、NWMS;User ID=sa;Password=123“Dim objAdapter As New SqlDataAdapter(Sql, cnSqlServer)objAdapter.Fill(ds, “UserFiles“)DataGrid.DataSource = dsDataGrid.DataBind()conn.Close()conn.Dispose()End Sub(2) 点击文件名触发下载文件事件的主要代码如下:Dim fileW As String = e.Item.Cells(0).TextDim filepath As String = Server.MapPath(fi

30、leW)Dim filename As String = System.IO.Path.GetFileName(filepath)Response.Clear()Response.ContentType = “application/octet-stream“Response.AppendHeader(“Content-Disposition“, “attachment;filename=“ + filename)Response.Flush()Response.WriteFile(filepath)(3) 点击删除时,删除当前行文件和文件信息,主要代码如下:Dim Sql As String

31、 = “Delete UserFiles WHERE vWay=vWay“Dim cmd As New SqlCommand(Sql, conn)cmd.Parameters.Add(New SqlParameter(“vWay“, SqlDbType.VarChar, 50)cmd.Parameters(“vWay“).Value = e.Item.Cells(0).Textconn.Open()cmd.ExecuteNonQuery()Dim pathname As String = Path.Combine(Server.MapPath(“.“), e.Item.Cells(0).Tex

32、t)Kill(pathname)conn.Close()cmd.Dispose()conn.Dispose()Me.Bind()第 10 页 (4) 点击 datagrid 控件中的超链接列“编辑” ,连接到相应文件编辑页面(File_edit.aspx=?file=0) ,通过 file 将相应行的文件路径值传给文件编辑页面,文件编辑主要代码如下: 初始化页的代码如下:Way = Request.QueryString(“file“) 获取传值If Not (Me.IsPostBack) ThenFileName.Text = Path.GetFileNameWithoutExtension

33、(Way) 从路径中获取不含扩展名的用户名End If 修改 Button 触发的事件主要代码如下:Dim FileNameW As String = FileName.Text 获取TextBox的控件中的用户名Dim FileNameE As String = Path.GetExtension(Way)从路径中提取文件扩展名Dim FileNameA As String = FileNameW filename=“ + filename)Response.Flush()Response.WriteFile(filepath)(2) 当用户第一次上传文件的时候,数据库文件信息表中没有该用户

34、的文件的信息,导致统计目前空间大小出错,问题和上边登录测试时第一次登录相同,解决办法也相同。6.2.3 文件管理和共享测试经过测试,用户可以成功查看和管理自己空间文件,可以共享任一个文件,将其显示在共享区,如图 5 所示。图 5 用户文件管理页面这里出现了两个问题:一是删除后文件页面不能刷新,被删除文件仍显示在页面上;二是进入文件编辑页面后修改文件名无效。其实是同一个技术问题,解决方法类似,在初始化页面时加一个判断语句如下:If Not (Me.IsPostBack) ThenMe.Bind() 初始化页面代码End If加入这句后问题就解决了。第 22 页 6.3 后台测试结果通过测试,后台

35、管理员能够成功完成对用户、用户空间、共享文件等实行管理。通过用户等级的设定,成功限定了用户空间大小;通过对积分等级的设定,成功实现了积分制优惠收费;可以成功查看共享文件内容,举报情况,对不良共享文件进行锁定,阻止其在共享区域的显示,实现对共享文件的管理。结 论该数据存储与交换系统运用 VB.NET 和 SQL Server2000 开发,基本功能已经实现,前台主要实现了:文件的上传、下载、修改、删除、查询和共享,以及用户的注册、登录、修改;后台主要实现了:管理员对用户、用户等级、用户积分等级和管理员进行添加、修改、删除,对用户、共享文件的锁定、解锁,通过用户等级分配空间大小,以及收费查询等功能

36、。在该系统设计过程中遇到的最关键的问题就是如何分配空间大小,这个问题很容易进入误区,就是去考虑划分磁盘空间,其实只需要在数据库设一个空间大小字段,每次上传的时候加以判断,不允许其总上传大小超过该字段的值。该系统能够正常使用,但是还不能进行多个文件上传,不能进行批量的修改删除,还需要进一步完善;在系统的安全性、数据库设计的合理性、界面的美观性和搜索显示功能上存在不足,还需改进。通过几个月的努力,在老师同学的指点下,反复经历了无数次的尝试与失败,资料的查询、收集与学习,最终完成了该系统的设计。从中确实收获不少,学到很多实际的技术知识,对涉及到该系统的知识有了一定的了解。虽然做的不怎么好,但我经过自

37、己的努力完成了该设计,对我来说也算是个小小的成功,从中我所经历的成功与失败相信对我以后都有很大的影响。参考文献1 陈文军.Visual Basic.NET 数据库编程M.北京:清华大学出版社, 2005。2 高升.VB.NET 和 ASP.NET 编程手册M.北京:清华大学出版社,2004。3 陈语林.Visual Basic.NET 程序设计教程M.北京:中国水利水电出版社, 2005。4 何明国.Visual Basic.NET 数据库编程M.北京:中国水利水电出版社, 2004。5 方睿,刁仁宏,吴四九.网络数据库原理及应用M.四川:四川大学出版社,2005。6 王松.Visual Basic.NET 数据库开发实例精粹 M.北京:电子工业出版社, 2006。7 吉根林.ASP.NET 程序设计教程M.北京:电子工业出版社,2004。第 23 页 致 谢本文是在杜小丹老师的热情关心和指导下完成的,他严谨的治学作风和丰富的知识使我受益匪浅,在存储技术、网络编程、数据库设计规划等方面得到了极大帮助,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,在数据存储流程分析设计方面,本人还得到了秦智老师和同班何坤贤、黄泽角等几位同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报