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

上传人:文库蛋蛋多 文档编号:2392239 上传时间:2023-02-17 格式:DOC 页数:36 大小:606.50KB
返回 下载 相关 举报
数据存储与交换系统毕业设计论文.doc_第1页
第1页 / 共36页
数据存储与交换系统毕业设计论文.doc_第2页
第2页 / 共36页
数据存储与交换系统毕业设计论文.doc_第3页
第3页 / 共36页
数据存储与交换系统毕业设计论文.doc_第4页
第4页 / 共36页
数据存储与交换系统毕业设计论文.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数据存储与交换系统毕业设计论文.doc》由会员分享,可在线阅读,更多相关《数据存储与交换系统毕业设计论文.doc(36页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)数据存储与交换系统的设计论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期:数据存储与交换系统的设计摘 要当今,靠人工进行文本存储、资料信息传送和信息共享的方式已经逐渐被淘汰,而依靠计算机进行网络存储、资料信息传送和信息共享已经越来越普遍,而且人们需要存储的数据量越来越大,还要要求使用方便,能够在网络的任何地方访问存储的数据。在此形势下,基于网络的存储与交换系统迅速发展起来,使得以上问题迎刃而解。该系统以Microsoft Visual Studio 2003作为开发工具,选用SQL Server 2000数据库来实现数据存储,并设计开发了一种基于B/

2、S模式的数据存储与交换系统。该系统完成了用户注册管理、后台管理和用户空间管理功能;为每个用户提供了个人的存储空间;用户可以通过浏览器实现文件的上传、下载和资源的共享;根据用户空间等级限制用户存储空间的大小;为用户共享文件提供积分制;通过积分制来对用户空间升级实行优惠。最后通过测试,基本满足了用户的需求,但还需要进一步完善,才可以应用于实际中。关键词:网络存储;上传下载;资源共享Design of Storage and Interchange System for DataAbstractNowadays, the methods depending on manual in text sto

3、rage, 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 stored

4、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 and develo

5、ps 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; According to use

6、r 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 applicati

7、on.Key words: Network storage; Upload and Download; Resource sharing目 录论文总页数:24页1 引言11.1 课题背景11.2 国内外研究现状11.3 课题研究的意义11.4 课题研究的方法22 系统需求分析23 系统功能设计23.1 后台管理23.1.1 用户管理23.1.2 共享管理33.1.3 管理员管理33.1.4 收费管理33.2 用户注册33.3 用户空间管理33.3.1 文件管理33.3.2 共享查询33.3.3 空间信息和升级查询33.3.4 修改个人资料33.4 系统功能模块图34 数据库设计44.1 adm

8、in表44.2 UsersRank表44.3 Users表54.4 UserFiles表54.5 IntegralRank表65 系统模块代码实现65.1 用户登录模块65.2 用户注册模块75.3 用户主界面模块85.4 文件存储管理模块85.5 文件上传模块105.6 我的共享查询模块135.7 公共共享查询模块135.8 用户资料修改模块155.9 空间升级查询模块155.10 后台管理登录模块165.11 后台管理主界面模块165.12 用户管理模块175.13 管理员管理模块175.14 共享管理模块175.15 收费管理模块186 系统测试206.1 服务器配置206.2 前台测试

9、结果206.2.1 用户注册、登录测试206.2.2 文件上传、下载测试206.2.3 文件管理和共享测试216.3 后台测试结果21结 论22参考文献22致 谢23声 明241 引言1.1 课题背景随着科学的进步,经济的发展,在当今信息化时代,过去的靠人工进行存储、传送资料信息的方式已开始被淘汰,靠计算机存储、传送资料信息的方式已越来越流行。而且当今人们需要存储的数据量越来越大,还要要求使用方便,能够在网络的任何地方访问存储的数据,单靠USB存储也已经不能完全满足这些需求了。“网络存储与交换系统”的兴起,给人们带来了希望,它通过人们熟悉的浏览器非常方便地为人们实现信息的存储、交流,解决了时刻

10、携带USB存储工具的烦恼。因此,许多人都希望拥有一个良好的“网络存储与交换系统”,解决资料信息的存储、携带和交流的烦恼。1.2 国内外研究现状从现今看来,我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。我们常用的文件传输FTP、Email邮件、网上邻居都能实现文件的传送。其中,“Ftp”功能最为强大,但使用起来却稍显复杂,一大堆设置足以让许多人望而止步,尤其用户数量不可预见时,针对特殊需求用户的设置将更加繁琐;“Email”是大家所熟悉的了,但它的传送不仅需要你连入Internet,而且它的安全性也是个问题,在企业内部

11、,财务、劳资等文件资料需通过这种方式交流不是好办法;“网上邻居”是又一种传送文件的方法,通过在本机上指定共享的Web文件夹并放置资源文件,一定范围内的用户可以访问到这些文件,然而这种方式使用的范围相当有限,通常在同一个DNS段地址内的用户才能顺利访问,其它尤其是Internet上的用户,很难使用,此外同Email类似,它的使用也不直观,很多时候你不得不在许多列表计算机上一层层展开搜索才有可能获取你想要的资源。由此看来,以上三种方式虽然在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送(你只能被动地等对方放置数据而不能主动“可视化”地索取),无法实现“一块空间,资源互见”的应用需

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

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

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

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

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

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

18、1所示。图1 系统功能模块图用户管理共享管理管理员管理收费管理后台管理文件管理升级查询共享查询空间信息资料修改用户空间管理4 数据库设计该系统采用SQL Server 2000数据库,根据系统的功能,共设计了5张表单,包括管理员信息表、用户等级表、积分等级表、用户信息表、文件信息表,这些表单都在数据库NWMS中。其中文件信息表UserFiles中的UserId(用户ID)字段与用户信息表Users中的UserId(用户ID)字段相关联;文件信息表UserFiles中的vUserRank(用户等级)字段与用户等级表UsersRank中的vUserRank(用户等级)字段相关联;文件信息表User

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

20、说 明vUserRankint(4)用户等级编号(主键)vRankNamevarchar(20)等级名称vSpaceSizevarchar(20)空间大小vSpaceSbbigint(8)空间大小(Byte)vChargevarchar(20)该等级价格4.3 Users表此表用于记录用户信息,如表3。表3 Users(用户信息)表字 段数据类型说 明UserIdvarchar(20)用户ID(主键)UserPwdvarchar(20)用户密码PwdQuestionvarchar(50)用户密码提示问题PwdAnwservarchar(50)用户密码提示答案Emailvarchar(50)用户

21、电子邮箱Servarchar(2)用户性别QQint(4)QQ号码UserNamevarchar(10)用户真实姓名Telephonevarchar(50)联系电话UserInvarchar(500)用户自我介绍vUserRankint(4)用户等级编号vRegDatevarchar(50)注册日期vUserlockvarchar(10)用户锁定状态vUserSoreint(4)用户积分4.4 UserFiles表此表用于记录用户上传文件信息,如表4。表4 UserFiles(文件信息)表字 段数据类型说 明UserIdvarchar(50)用户IDvFileSizevarchar(50)文件

22、大小vFileSbbigint(8)文件大小(Byte)vFileNamevarchar(50)文件名vWayvarchar(100)文件路径(主键)vSharTypevarchar(50)共享类型vUpDatevarchar(50)修改日期vDownCountint(4)下载统计vFileLockvarchar(10)文件锁定状态vFileUpint(4)举报状态4.5 IntegralRank表此表用于记录用户积分等级信息,如表5。表5 IntegralRank(积分等级)表字 段数据类型说 明vIntegralRankint(4)用户积分级别(主键)vUserSoreUint(4)该等级

23、最低积分数vUserSoreDint(4)该积分等级最高积分数vContrbRedfloat(8)收费优惠打折5 系统模块代码实现根据系统功能设计,将整个系统划分为以下几个功能模块。5.1 用户登录模块用户登录界面(Default.aspx)是起始界面,必须登录后才可以进行其他的操作。首先通过输入用户名和密码,然后在用户信息表Users中查询输入的用户名和密码两个字段是否有相匹配的数组,如果没有则提示“用户不存在或密码错误!”,返回登录界面;如果登录成功则将用户名赋给Session,然后自动跳转到用户主界面。其中登录Button的触发主要代码如下: conn.ConnectionString

24、= Data Source=86BC14A814F7477;Initial Catalog=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在数

25、据库Users表中搜寻与输入的用户名和密码相匹配的数组 Session(UserId) = UserId.Text将用户名赋给Session Response.Redirect(User0.aspx) 登录成功跳转页面 Exit Do End If Loop Response.Write(alert(用户不存在或密码错误!) objReader.Close() conn.Close()断开数据库连接5.2 用户注册模块用户注册页面(Reg.aspx),文本框后带*的为必填,其他选填,用户注册时必须输入用户名、密码、密码确认、密码提示问题、密码提示答案和电子邮箱,否则不能注册。当这些都满足后点击

26、注册,触发事件代码开始搜索用户信息表(Users),检验是否存在相同用户名,如存在,那么提示“该用户已经注册!”,退回注册页面,主要代码如下: cmd.CommandText = Select UserId From Users objReader = cmd.ExecuteReader() Do While objReader.Read() If UserIdBox.Text = objReader.Item(UserId) Then Response.Write(alert(该用户已经注册!) 验证用户名 i = 1 Exit Do End If Loop objReader.Close(

27、)如果未发现相同用户名,则用SQL语句INSERT将新用户信息写入用户信息表Users,同时运用MkDir( )在服务器系统目录的myfile文件夹内新建一个文件夹,用户名即为文件夹名。同时将用户等级类型设定为“1”,即普通用户,享有空间大小为50MB;将用户锁定类型设为空,即默认未锁;将用户积分等级设为0,刚注册用户对未共享过任何文件,未为资源共享做贡献,所以不具有收费优惠。主要代码如下: cmd.CommandText = INSERT INTO Users(UserId,UserPwd,PwdQuestion,PwdAnwser,Email,Ser,QQ,UserName,Telepho

28、ne,vUserRank,vRegDate,vUserLock,vContrbRank,UserIn,vUserSore) VALUES( & UserIdBox.Text & , & UserPwdBox.Text & , & TextBox1.Text & , & TextBox2.Text & , & TextBox3.Text & , & ser & , & TextBox4.Text & , & TextBox5.Text & , & TextBox6.Text & , & 1 & , & Today & , & & , & & , & & , & & ) If cmd.Execut

29、eNonQuery 0 Then Dim filepath As String = Path.Combine(Server.MapPath(.) & myfile, UserIdBox.Text) MkDir(filepath) 新建个人文件夹,文件名为用户名 Response.Write(alert(注册成功!);window.location=Default.aspx;) End If5.3 用户主界面模块用户主界面(User0.aspx)采用分页技术显示,主要有上和左、右3部分。左边固定显示LeftTree.aspx页面,主要给用户提供操作链接,通过点击左边的链接(包括有:文件管理、文件

30、上传、我的共享、公共共享、空间升级、空间信息、个人资料和退出系统),将相应的操作页面在右边显示出来,右边的初始页面为用户个人空间信息页面(Spatial_inon.aspx),具体界面如图2。图2 用户主界面操作图5.4 文件存储管理模块在主界面左边的链接中点击“文件管理”连接到文件管理页面(File_mgt.aspx),该页面利用DataGrid的强大显示功能为用户显示了当前用户所上传的所有文件,并可以对任何一个文件通过“编辑”超链接到编辑页面(File_edit.aspx)进行共享和文件名的修改;还可以通过点击文件名下载当前文件,还可以通过点击删除,删除相应行文件信息和文件(删除文件运用的

31、是Kill( ))。主要代码如下:(1) 初始化页面和声明绑定数据过程Bind()主要代码如下: If Not (Me.IsPostBack) Then Me.Bind() End If Sub Bind() Dim userid As String = Session(UserId) Sql = Select * From UserFiles WHERE UserId= & userid & cnSqlServer = Data Source=86BC14A814F7477;Initial Catalog=NWMS;User ID=sa;Password=123 Dim objAdapter

32、 As New SqlDataAdapter(Sql, cnSqlServer) objAdapter.Fill(ds, UserFiles) DataGrid.DataSource = ds DataGrid.DataBind() conn.Close() conn.Dispose() End Sub(2) 点击文件名触发下载文件事件的主要代码如下: Dim fileW As String = e.Item.Cells(0).Text Dim filepath As String = Server.MapPath(fileW) Dim filename As String = System.

33、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 = Delete UserFiles WHERE vWay=vWay

34、Dim cmd As New SqlCommand(Sql, conn) cmd.Parameters.Add(New SqlParameter(vWay, SqlDbType.VarChar, 50) cmd.Parameters(vWay).Value = e.Item.Cells(0).Text conn.Open() cmd.ExecuteNonQuery() Dim pathname As String = Path.Combine(Server.MapPath(.), e.Item.Cells(0).Text) Kill(pathname) conn.Close() cmd.Dis

35、pose() conn.Dispose() Me.Bind()(4) 点击datagrid控件中的超链接列“编辑”,连接到相应文件编辑页面(File_edit.aspx=?file=0),通过file将相应行的文件路径值传给文件编辑页面,文件编辑主要代码如下:l 初始化页的代码如下: Way = Request.QueryString(file) 获取传值 If Not (Me.IsPostBack) Then FileName.Text = Path.GetFileNameWithoutExtension(Way) 从路径中获取不含扩展名的用户名 End Ifl 修改Button触发的事件主

36、要代码如下: Dim FileNameW As String = FileName.Text 获取TextBox的控件中的用户名 Dim FileNameE As String = Path.GetExtension(Way)从路径中提取文件扩展名 Dim FileNameA As String = FileNameW & FileNameE 合并两字符串 Dim FilenewWay As String = Path.Combine(Path.GetDirectoryName(Way), FileNameA) 合并两路径字符串,合并成新路径 Dim pathnameO As String =

37、 Path.Combine(Server.MapPath(.), Way) Dim pathnameN As String = Path.Combine(Server.MapPath(.), FilenewWay) 更新数据库数据表中的文件信息 cmd.CommandText = UPDATE UserFiles SET vWay= & FilenewWay & , vUpDate= & Now & ,vFileName= & FileNameA & ,vSharType= & type & WHERE vWay= & Way & n = cmd.ExecuteNonQuery() Renam

38、e(pathnameO, pathnameN)修改相对应的文件的文件名5.5 文件上传模块在主界面左边的链接中或文件管理页面的右上角点击“文件上传”就链接到文件上传页面(upload.aspx),该页面用File Field控件完成文件上传,通过上传代码“FileUpload.PostedFile.SaveAs( )”将文件上传保存到用户个人文件夹下面,并将文件信息写如数据库UserFiles表。上传之前判定控件内是否存在上传文件地址,如果没有则提示“未发现文件。”,如果有则继续下步,搜索用户已经上传文件的总大小,加上当前将要上传的文件大小之和,判断其是否超过用户等级限定的空间大小,如果超过,

39、则弹出对话框“你的空间不足!”;如果未超过,表示还可以上传,再检测上传空间内是否存在相同文件名(包括扩展名),如果有则将文件覆盖,修改文件保存相关信息提示“XX文件被覆盖”,如果没有则提示“XX文件成功上传到服务器”,保存文件相关信息和文件。主要代码如下: Dim userid As String = Session(UserId) FileNname = Path.GetFileName(FileUpload.Value) 提取控件路径中的文件名 FileUname1 = Path.Combine(myfile, userid) FileUname = Path.Combine(Server

40、.MapPath(.), FileUname1) 获得了文件上传目录 FileNewW = Path.Combine(FileUname1, FileNname) Filepath = Path.Combine(FileUname, FileNname) FileNewl = FileUpload.PostedFile.ContentLength FileNewlB = ConvertBytes(FileNewl)(1) 统计已用空间大小主要代码如下: cmd.CommandText = “Select UserId From UserFiles” objReader = cmd.Execut

41、eReader() Do While objReader.Read() If userid = objReader.Item(“UserId”) Then objReader.Close() cmd.CommandText = “Select SUM(vFileSb) From UserFiles WHERE UserId=” & userid & “” objReader = cmd.ExecuteReader() objReader.Read() FileOldl = objReader.Item(0) 统计用户空间文件大小 Exit Do End If Loop(2) 获得用户空间大小主

42、要代码如下: cmd.CommandText = “SELECT vUserRank From Users WHERE UserId= ” & userid & “” objReader = cmd.ExecuteReader objReader.Read() UserRank = objReader.Item(0) 获得用户等级 objReader.Close() cmd.CommandText = “SELECT vSpaceSb From UsersRank WHERE vIserRank=” & UserRank & “” objReader = cmd.ExecuteReader objReader.Read() SpaceSb = objReader.Item(0) 获得用户相应等级空间 objReade

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号