012基于ASP的局域网文件共享及检索
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
分类号:TP311.1 U D C:D10621-408-(2007) 5721-0
密 级:公 开 编 号:2003215078
[资料来源:http://think58.com]
成都信息工程学院
学位论文 [来源:http://think58.com]
[版权所有:http://think58.com]
局域网文件共享及检索系统的设计与开发 [资料来源:www.THINK58.com]
论文作者姓名: 薛长明
申请学位专业: 网络工程
申请学位类别: 工学学士
指导教师姓名(职称): 张仕斌(副教授)
论文提交日期: 2007年06月10 日
局域网文件共享及检索系统的设计与开发
摘 要
局域网文件共享(Local Area Network Files Share)是IT技术中很流行的概念。它利用计算机技术、网络技术以及通信技术实现快速、准确的获得信息,提供信息共享与检索的服务系统。它的广泛使用,给人们带来了诸多便利,并逐渐改变了人们信息获取的方式。新一代基于互联网的企业(如Google、百度等),更是仅仅抓住这个问题的核心,提供信息共享与检索的服务,并向Microsoft、Sun System等传统IT企业发起了挑战。所以,对于文件共享与检索服务的研究,也正成为当今互联网技术研究的前沿。
本系统的采用B/S结构,使用ASP程序设计语言及Access数据库进行设计与开发。本论文首先对局域网文件共享及检索系统进行需求分析,并给出系统总体架构及详细设计步骤,主要实现了以下功能:用户管理、服务器及客户端文件共享与传输、实现目录共享及检索等功能。通过测试分析说明,本系统的开发达到预定目标,并具有一定的应用价值。 [资料来源:http://www.THINK58.com]
关键字:局域网;文件共享;目录共享;检索系统;文件传输;数据库
Design and Development of Local Network Area Files Share & Retrieval System
Abstract
Local area network files share over the Internet is a prevail concept. It is the use of computer technology, network technology and telecommunications technology to achieve a process of sharing information as fast and accurately as possible .It can also provide information sharing and retrieval service. It has been used diffusely, bringing with convenience, changing people's way to obtain information. The new generational enterprises based on Internet (such as Google, BaiDu), have grasped the core of this issue, provided information sharing and retrieval services, meanwhile tended to launch a challenge with Microsoft, Sun System those are very traditional IT enterprises. Thus, the study in the technology of information sharing and retrieving service is becoming one of the focuses of IT studies.
This system uses ASP programming language and Access database to design local area files share system based on B/S model. In this paper, demand analysis of local area files share and retrieval system is referred, and then an overall structure and systems for the detailed design is offered. The main achievements of the following functions, which include client management, files share and transfer among servers and clients, and realization of searching function on catalog. After testing analysis, the design of this system achieves planned goals and has certain practical value. [资料来源:http://think58.com]
Key words: LAN; Files Share; Catalog Chare; Retrieval System; File Transfer; Database [来源:http://think58.com]
[版权所有:http://think58.com]
目 录
论文总页数:24页 [资料来源:www.THINK58.com]
1 引言 1
1.1 课题背景 1
1.2 本课题研究的意义 1
1.3 本文的主要工作 1
1.3.1 研究的主要内容 1
1.3.2 各章节的安排 1
2 系统需求分析 2
2.1 需求分析 2
2.2 功能需求 2
2.2.1 用户系统的主要功能要求 2
2.2.2 管理系统的主要需求 3
3 系统开发所需资源 3
3.1 硬件开发环境 3
3.2 其他硬件辅助设备 4
3.3 软件运行环境 4
3.3.1 WEB服务器简介 4
3.3.2 IIS(Internet Information Service)的安装和配置 5
3.4 软件开发环境 6
3.4.1 ASP 技术概述 6
3.4.2 MD5 技术概述 7
4 局域网文件共享及检索系统的设计 8
4.1 文件共享系统层次结构 8
4.2 用户系统模块设计 9
4.3 后台系统 12
4.4 数据库设计 12
4.4.1 数据库设计说明 12
4.4.2 数据库信息表 13
5 局域网文件共享及检索系统的具体实现 15
5.1 各模块的关键技术及程序实现方法 15
5.2 部分模块的设计和编码 16 [资料来源:THINK58.com]
5.2.1 用户注册模块的设计和实现 16
5.2.2 用户登陆模块设计与实现 17
6 系统的测试与分析 17
6.1 测试环境 17
6.2 程序代码测试 17
6.3 程序功能测试 18
6.4 测试结果 18
结 论 21
参考文献 22
致 谢 23
声 明 24 [资料来源:http://think58.com]
1 引言
1.1 课题背景
在信息技术迅速发展的今天,信息以多种形态透过复杂的信息网络系统传递。随着Internet的日益普及,信息的交互传递已经被推向至高点。在基于信息共享的理念上,如何快速、准确的获得信息也成为人们关注的关键问题。新一代基于互联网的企业(如Google、百度等),更是仅仅抓住这个问题的核心,提供信息共享与检索的服务,并向Microsoft、Sun System等传统IT企业发起了挑战。所以,对于文件共享与检索服务的研究,也正成为当今互联网技术研究的前沿。本毕业设计的目的主要是为了检查学生综合运用以前所学知识(包括以前所学的一些关于网络技术、网络协议、数据库、编程技术等相关知识)的能力,实现一个局域网文件共享及检索系统为目标,开发一个功能较完善的基于局域网的文件共享及检索系统。
1.2 本课题研究的意义
随着计算机及网络技术的不断发展,现代通讯工具应用的普及,计算机在现代社会生活中发挥着重要的作用。而与之相伴随的就是大量的文件而且是一些经常使用的文件。根据人们的实际需求,我们提出了基于计算机网络的文件共享系统的设计方案,并根据该设计方案部分地实现了文件共享及检索系统的基本功能。 随着网络技术应用的普及,各地区相继建立了自己的网络,并开始实施网上办公和网上交流。文件共享是将用户的文件存放在互联网上,方便用户“携带”他们的文件,方便用户与他的好友或同事“共享”他们的文件,用户可以有如下操作:上传、复制、删除文件,以及创建和查询文件夹;开设、冻结、删除、修改下级账号等等。人们可以不受时间和空间的限制,文件共享上传文件方便,进入空间直接,界面更简单明了。 [资料来源:http://think58.com]
1.3 本文的主要工作
1.3.1 研究的主要内容
本设计采用B/S结构,综合运用以前所学的专业知识,设计开发一个功能较完善的基于局域网的文件共享及检索系统,具体包括以下内容:
(1) 研究并掌握局域网通信及文件检索的原理和实现方法;
(2) 研究并掌握TCP/IP等传输协议、数据库操作等的基本原理;
(3) 以前面的研究为基础,编程实现服务器及客户端内容共享与传输、
实现文件共享,目录检索、用户管理等功能。 [来源:http://think58.com]
1.3.2 各章节的安排
文章详细介绍了该系统的分析和实现各个流程。在文章的引言中,主要介绍了该系统开发的背景,研究意义和内容,使读者对本文有全面的了解。在接下来的第二章里,是对系统的需求分析和与之对应的功能需求介绍。在第三章里,对系统开发所需要的资源(包括硬件和软件环境,以及使用的技术)做了介绍。第四章,作者给出了系统结构图并对主要的构成模块给出了详细的说明。第五章,是对系统功能具体实现的介绍,其中包括了模块的关键技术,程序实现方法的说明。第六章,是作者对系统的测试和分析,包括代码测试和功能测试,并对测试分析进行总结。
2 系统需求分析
2.1 需求分析
随着计算机网络通讯的飞速发展,计算机技术已经渗透到社会的各个领域。计算机技术的广泛应用正逐步改善人们的生活,学习,工作。每个人都想拥有一份网络资源来方便学习和工作。在日常工作中,人们需要大量的重要文件来及时传递信息。这可以通过传统的计算机硬件设备,比如:3.5英寸A盘,或者是现在广泛应用的U盘,MP3等设备。用户可以方便的将自己的文件资料存储在这些设备中。然而,由于硬件设备自身的特殊性和局限性,不能满足对大量有用资源的存储,特别是对共同资源需求的人群更是造成了一种硬件资源的浪费,这些问题都会给这些用户增添一些不必要的麻烦。同时,随着Internet的日益普及,在基于信息共享的理念上,如何快速、准确的获得信息也成为人们关注的关键问题。人们无论是办公还是休闲的文化娱乐更是需求这样一个高效的信息系统:一是为了方便所在同一局域网的好友或可信任的同事对该文件资料的享用;二可以节约大量的硬件资源并且丰富网络资源;三要求提供一个有效的检索机制方便用户寻找需要的目录和文件。出于解决用户这样的需求,决定开发局域网文件共享及检索系统。 [资料来源:www.THINK58.com]
2.2 功能需求
本系统给用户办公单位提供了一个解决网络文件共享系统的平台,用户可以方便的将自己的文件上传保存到该系统中并可以将这些资源共享给有权用户。 [来源:http://www.think58.com]
2.2.1 用户系统的主要功能要求
(1) 用户可以了解该系统的功能组织情况;
(2) 用户可以创建、共享和看目录并对目录加密;
(3) 用户可以在创建的目录中上传自己的文件,图片等资料;
(4) 用户可以了解在线的用户,查询所有的用户。 [来源:http://www.think58.com]
2.2.2 管理系统的主要需求
(1) 查看共享文件信息;
(2) 上传、修改和删除文件;
(3) 对用户组和用户进行管理。
3 系统开发所需资源
3.1 硬件开发环境
(1) 服务器端
服务器端的最低配置是由建立站点所需的软件来决定的。在最低配置的情况下,服务器的性能往往不尽如人意。如:PⅢ450双CPU+1G内存+10G以上的SCSI硬盘,这是一台使用WINDOWS NT的WEB服务器的标准配置。当然,我们无需这样的配置,我们需要的只是一台能够流畅运行WINDOWS 2000的配置,现在计算机的性能已经相当出色。而且价格也很便宜,因此我们通常在服务器端配置高性能的硬件。
本文件共享系统服务器端的配置如表1所示。
表1 服务器端硬件配置
处理器 赛扬1.7G
内 存 512MB
硬盘空间 120G
光 驱 52X
显 卡 TNT2显示适配器
(2) 用户端
提供浏览和数据库的操作,所以硬件要求不高,但是基于目前计算机,配置也相当高,需要的配置表2所示。
表2 用户端硬件配置
处理器 赛扬1.7G
内 存 128MB
硬盘空间 40G [资料来源:http://THINK58.com]
光 驱 52X
显 卡 TNT2显示适配器
3.2 其他硬件辅助设备
在前面一小节里,主要介绍了开发文件共享文件系统最主要的硬件需求。除此之外,还需要一些设备,如:显示器,鼠标,键盘,CPU等。如果没有这些设备,也完成不了该系统的开发。而且,随着当今计算机技术的高速发展。这些设备的功能也日益强大。特别是CPU的运行速度极其快速。
3.3 软件运行环境
首先选择操作系统。由于ASP属于MS(Microsoft)的东西,所以我们要选择MS的操作系统,Windows 98以上就可以 。
然后就是搭建个人WEB服务器(Personnel Web Service),这就要根据操作系统来了。配置是这样的:
Win98+PWS(personnel web service)/win2000 pro+IIS(Internet Information Service)/win2000 Server+IIS(win2000 Server 中IIS是默认安装)/win2000 Advance Server+IIS(这里IIS是默认安装的)/winXP+IIS/win2003+IIS。
3.3.1 WEB服务器简介
从表面上看,Web Service就是一个应用程序,它向外界提供一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。
从深层次上看,Web Service是一种新的Web应用程序,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找由Web来调用。
[版权所有:http://think58.com]
Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。
建立一个网站、开发电子商务应用、实现网页与数据库的连接,都必须依赖Web服务器。比较有代表性的三种Web服务器有:Personal Web Server(PWS)、WebSite、Internet Information Server(IIS)。
IIS(Internet information server)是搭配微软Windows NT/2000操作系统的Web服务器,他如同Unix和linux上知名的免费Web服务器Apache一样,可以让用户在Windows NT/2000的计算机网络中架设Web网站。
设计本系统时之所以采用IIS是由于IIS并不只是一个单纯的Web服务器,他是一个整合的Web应用程序开发环境,能够在Web上开发具有扩充性和组件基础的客户/服务器应用程序;再加上Windows NT4 Server 完全整合Web服务,不仅允许用户建立专业的网站,而且还提供网络和集成式的系统管理功能。采用它有诸多的好处:
(1) 可靠的应用程序服务
IIS支持“ASP”(active server pages),JAVA技术,整合Message Queue能够在网络上可靠的发送和结束消息。
[来源:http://www.think58.com]
(2) 整合的网络服务
IIS高度整合至Windows NT 4 Server,将Web服务器整合在操作系统之中,Windows NT 4 Server 配合IIS提供有整合的平台,可以管理网络和各种Web应用程序的服务。 [资料来源:www.THINK58.com]
3.3.2 IIS(Internet Information Service)的安装及配置
WIN2000 server/WIN2000 advance server都是默认安装的,如果在安装时没选择的话,也按照下面的步骤。
(1) win2000 pro/winxp pro/win2003的用户开始->控制面板->添加/删除程序->添加删除WINDOWS程序组件。 在里面把internet 信息服务(IIS)打勾, 然后插入WINDOWS安装光盘,点击下一步,这样就开始安装IIS,安装过程与普通软件安装一样,不是点下一步就是点完成和确定。
(2) 配置IIS。开始->控制面板->管理工具->internet 信息服务。打开之后就到了IIS的控制台了。点计算机名前面的“+”号展开,再点网站名前的“+”号展开,这时就有一个默认网站,这里就是配置IIS的关键地方了。右击“默认网站”,在弹出菜单里选择“属性”这时就会弹出“属性”选顶卡。一般情况下“网站/常规”选项卡不要更改。选择“主目录”选项卡,本地路径就是主目录路径,这里你可以点浏览更改到你想设置的目录下,默认是:X:\inetpub\wwwroot(X:表示系统盘)。在这里还可以设置网站的用户操作权限。这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前面打勾,默认是打勾的。点击“添加”,可以添加默认文档,例如添加default.asp,这是网站默认打开的主文件名,在这里也可以进行删除,选择你要删除的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点“应用”、“确定”就返回到IIS控制台了。现在就是设置虚拟目录了(如果文件放在X:\inetpub\wwwroot下面的话就不要设置了,右击“默认网站”选择“新建”->"虚拟目录"。输入虚拟目录名,下一步,选择文件路径,下一步,完成。现在IIS的配置我们基本完成了。 [资料来源:http://www.THINK58.com]
(3) 现在我们就可以利用IIS+IE进行ASP的调试了。打开IE,在地址栏里输入:http://XXX(你的计算机名或是127.0.0.1或是localhost)/XXXXX(虚拟目录名)。
基于以上要求,配置如表3所示。
表3 软件配置
服务器端
操作系统 Windows2000
网络协议 TCP/IP
WEB服务器 Personal Web Server
数据库 Microsoft Access2000
浏览器 Internet Expolrer 5.0
IIS 5.0以上
用户端
浏览器 Internet Explorer
3.4 软件开发环境
软件开发环境(software Development Environment)是指本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。本系统采用的软件开发环境使用如下开发工具:Dream weaver,记事本, PSPAD等。 [来源:http://think58.com]
3.4.1 ASP 技术概述
Active Server Pages即ASP是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI(Common Gateway Interface 通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBSCRIPT,JAVASCRIPT等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。
对于广大网页技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。
ASP吸收了当今许多流行的技术,如IIS,ACTIVEX,VBSCRIPT,ODBC等,是一种发展较为成熟的网络应用程序开发技术,其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。ASP中最为常用的内置对象和组件如下:
(1) Request对象:用来连接客户端的Web页(.htm文件)和服务器的Web页(.asp文件),可以获取客户端数据,也可以交换两者之间的数据。
[资料来源:www.THINK58.com]
(2) Response对象:用于将服务端数据发送到客户端,可通过在客户端浏览器显示,用户浏览页面的重定向以及在客户端创建cookies等方式进行。该功能与Request对象的功能恰恰相反。
(3) Server对象:许多高级功能都靠它来完成;它可以创建各种Server对象的实例以简化用户的操作。
(4) Application对象:它是个应用程序级的对象,用来在所有用户间共享信息,并可以Web应用程序运行期间持久地保持数据。同时如果不加以限制,所有客户都可以访问这个对象。
(5) Session对象:它为每个访问者提供一个标识;Session可以用来存储访问者的一些喜好,可以跟踪访问者的习惯。在购物网站中,Session常用于创建购物车(Shopping Cart)。
(6) Browser Capabilities(浏览器性能组件):可以确切的描述用户使用的浏览器类型、版本以及浏览器支持的插件功能。使用此组件能正确地裁剪出自己的ASP文件输出,使得ASP文件适合于用户的浏览器,并可以根据检测出的浏览器的类型来显示不同的主页。
(7) File System Objects(文件访问组件):允许你访问文件系统,处理文件。
ASP结构模型图如下图1所示。
图1 ASP结构模型 [来源:http://think58.com]
3.4.2 MD5 技术概述
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点像不存在反函数的数学函数。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。 [资料来源:http://www.THINK58.com]
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。
一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。
即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)….+P(62,8),那也已经是一个天文数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。
在很多电子商务和社区应用中,管理用户的Account是一种最常用的基本功能,尽管很多Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或简单的变换后直接保存在数据库中,因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍如何用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保护。
[资料来源:http://think58.com]
4 局域网文件共享及检索系统的设计
4.1 文件共享系统层次结构
文件共享系统分为两个子系统:用户系统和后台管理系统。功能模块如图2所示。
图2 系统功能模块
[资料来源:http://THINK58.com]
4.2 用户系统模块设计
(1) 用户注册模块:注册包括,名称,密码,OICQ,邮箱,性别,年龄等基本信息,填好后保存至用户数据表,流程图如图3所示。
[资料来源:THINK58.com]
图3 用户注册流程图
(2) 用户登陆模块:已经注册好的用户进入该系统,必须先进行注册,否则无法访问系统,流程图如图4所示。
图4 用户登陆流程图
(3) 用户信息:当以注册好的用户名进入系统,将显示用户的具体注册信息。
(4) 上传文件模块:将文件保存至指定的位置,流程图如图5所示。
图5 文件上传流程图
(5) 创建目录:将创建一个目录并要求对目录加密,流程图如图6所示。
图6 创建目录流程图
(6) 查看目录:可查看文件的相关信息流程图如图7所示。
图7 查看目录流程图
(7) 共享目录:作为公共资源与其他用户使用,如图8所示。
图8 共享目录流程图
(8) 在线用户:可以浏览当前在线的用户人数及信息。
(9) 查询用户:可以查找所有的用户的信息。 [来源:http://think58.com]
(10) 使用帮助:用户可以得到相关的信息 。
(11) 退出登陆:返回登陆界面。
4.3 后台系统
主要由管理员进行以下管理:用户上传文件总数量、总容量,数量,容量,用户群组,用户共享目录,用户所属群组权限,群组id,群组名称,群组允许上传数量,群组允许上传的单个文件大小, 群组允许总体上传容量,群组允许上传文件格式,群组允许创建的目录数量,群组上传文件路径。可以对用户进行分类(初级用户,中级用户,高级用户和特殊用户)。并对用户信息进行修改,删除等功能。及时处理查看用户文件流量并对用户的文件进行删除。
4.4 数据库设计
4.4.1 数据库设计说明
目前的网络应用软件开发,已经不是以前静态页面打天下的时候了。现在的网站,几乎都要涉及到大量的信息,传统的文件方式已经不在适用。用数据库来保存信息已经成为各种网络应用中的首选。对于一个ASP网站来说,Web数据库尤为重要,甚至可以说,数据库是一个网站的根本,而ASP只不过是一个工具而已。
[资料来源:THINK58.com]
Web应用程序设计少不了数据库,因为只有数据库才能大量、快速地处理信息。使用ASP可以读取Access和SQL Server数据库,也可以读取其他ODBC(开放式数据库互联)兼容的数据库。
确定系统的流程图后,就要开始着手底层数据库的设计,只有完成数据库的架设后才能在以后的编程中对数据的操作有所依据。在进行本系统数据库的架设时我们选择的是微软的Access.因为它使用方便且在各方面能满足系统的要求。
数据(Data)实际上是描述事物的符号记录,即根据事物的特征组成记录来确定一个事物,比如在设备管理系统中,设备仪器名称、型号、厂家、出厂号、购置日期、位置等构成的一个个记录。
数据库(Data Base)是数据的集合体,并且数据记录之间按一定的数据模型来组织和存储,使记录之间可以共享。 [资料来源:http://THINK58.com]
在进行数据库的架构时,一般要遵循以下的规则:
(1) 尽量减少数据的冗余性和重复
合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量小,应尽量按照关系数据库系统理论方法设计一个数据库,减少数据的冗余。
(2) 数据库设计与操作设计相结合
在设计数据库时,有时为了编程实现的简洁和思路的清晰,往往故意增加一些数据的冗余。这虽然有悖于传统的关系数据库理论,但是考虑到查询与统计的方便,对编程的实现有很大的好处,往往采用这种方法。
(3) 数据结构具有相对的稳定性
数据结构的相对稳定性,可以作为新,旧信息系统转换的依据。根据系统功能设计的要求及功能模块的划分。 [资料来源:http://think58.com]
4.4.2 数据库信息表
该系统信息数据库共包含五个表,可列出以下数据项和数据结构:
(1) 用户信息表(user),如表4所示。
表4 用户信息表
名称 字段名称 类 型 主 键 非 空
编号 ID 自动编号 Yes Yes
用户名 Usename 文本 Yes Yes
用户密码 Pwd 文本 No Yes
性别 Sex 文本 No Yes
年龄 Age 数字 No Yes
地址 Address 文本 No Yes
邮箱 Mail 文本 No Yes
[资料来源:http://think58.com]
(2) 文件路径信息表(Vip_Filedir),如表5所示。
表5文件路径信息表
名 称 字段名称 类型 非空
编号 ID 数字 YES
用户登陆编号 Userid 数字 YES
文件名称 Name 字母 YES
使用具体时间 Time 日期/时间 NO
文件是否共享 Share 数字 NO
(3) 图片文件信息表(Vip_Photo),如表6所示。
表6图片文件信息表
字段名称 类型 非空 描述
ID 数字 YES 编号
Userid 数字 YES 用户编号
Filedir_id 数字 YES 文件编号
Size 数字 NO 文件大小
Share 数字 NO 图片是否共享 [资料来源:http://THINK58.com]
(4) 管理员信息表(Vip_admin) ,如表7所示。
表7 管理员信息表
名称 字段名称 类型 主键 非空
编号 ID 自动编号 Yes Yes
登陆名 Username 文本 Yes Yes
密码 Pwd 文本 No Yes [资料来源:THINK58.com]
(5) 基本信息配置表(vip_config),如表8所示。
表8基本信息配置表
名称 字段名称 类型 非空 描述
编号 ID 自动编号 YES 编号
会员名 Vip_name 文本 YES 姓名
[资料来源:http://www.THINK58.com]
(6) 在线用户信息表(vip_Online), 如表9所示。
表9在线用户信息表
字段名称 类型 非空 描述
ID 自动编号 YES 编号
User_id 数字 YES 用户编号
Login_IP 文本 YES 登陆的IP
Login_Time 日期/时间 NO 最新登陆时间
Last_Time 日期/时间 NO 过去登陆时间
[资料来源:http://think58.com]
5 局域网文件共享及检索系统的具体实现
5.1 分模块介绍各模块的关键技术及程序实现方法
本系统的程序主要是采用模块化思想来编写的。系统中的conn.asp文件,在程序的开头是各个功能模块。
(1) 系统配置模块(config.asp)
此模块功能主要是定义整个系统的变量,系统所要用到的变量,其本上在这里定义。语句如下:
dim WebName
dim border
dim sessionvar
┇
┇
WebName="文件共享 " '设置站点名称
border="#666666" '设置边框颜色
┇
┇
判断用户信息文件(user_config.asp),判断管理员信息文件(admin_config.asp)。
(2) 连接数据库模块(conn.asp)
此模块主要功能是建立与数据库的连接。
(3) 加密函数模块(md5.asp)
此模块的主要功能是对用户的密码进行加密。
(4) 本页面应用模块(Boards.asp)
此模块建立一个整体的框架。此模块是本页面的主体部分,随着页面的不同,调用模块也不相同。
(5) 注册页面模块(reg.asp)
此模块是新用户进入系统的主要功能模块。
(6) 登陆页面模块(default.asp)
通过该功能模块,用户可以输入注册用户名和密码进入系统。
(7) 退出系统模块(exit.asp)
通过该功能模块,用户可以退出系统。
以上便是一个用户程序大概的结构。此外还有其后台管理模块,由六部分组成:管理登陆,群组管理,用户管理,管理员管理,退出登陆。
(1) 管理登陆
管理登陆模块设置在首页面,管理员只有通过管理登陆才能进入管理页面,才能对数据库进行管理。管理登陆文件admin/admin.asp,默认用户名/密码是admin/admin。
(2) 群组管理
群组管理其实就是对用户群的权限管理。用户群包括:初级,中级,高级,特殊。权限和自由度按顺序提升。其中权限内容有:文件数量,文件大小,文件总量,最大目录数,存储目录。
(3) 用户管理
用户管理模块,主要实现的功能包括:用户查询,用户信息修改(包括密码,年龄,邮箱,所属群组)。
(4) 管理员管理
管理员管理其实是管理员注册,可添加新的管理员。在管理员管理此页面上,注册新的管理员就好像添加了一条新的记录。添加新的管理员只包括两部分:管理员名称和密码。在此页面上,除了上面讲的添加管理员这项功能外,在每条记录的操作栏里还有修改(edit)和删除(del)两项功能。点击edit便能进入编辑管理员页面,在这个页面上可以修改管理员的名称和密码;而点击del则进入删除管理员页面,按“确定删除”按钮便可删除本条记录。 [来源:http://www.think58.com]
(5) 退出管理
使用退出管理功能,页面便回到了管理登陆界面,若要再进入,就要重新登陆。
5.2 部分模块的设计和编码
5.2.1 用户注册模块的设计和实现
(1) 功能:用户通过该界面输入自己的基本信息,以便登陆系统。用户的基本信息保存在数据库中。在输入过程中,如果输入有误,系统会出现提示信息。
(2) 输入:名称,密码,重复密码,OICQ,邮箱,性别,年龄。
(3) 处理:输入用户资料,在reg.asp页面由HTML构造出用户输入表格。用户在相应的位置输入个人资料,按下“注册”就将数据提交到check.asp页面中。获取数据。读取form表单提交的数据,检查用户的输入是否符合规范。如果不符合规范就给出错误信息。连接数据库。连接数据库,以用户登陆名作为检索条件,创建记录集。若记录集不为空,说明该用户已经存在,给出提示,重新输入;若记录集为空,则说明该用户名还没人使用,将用户信息插入数据库。
5.2.2 用户登陆模块设计与实现
登陆模块需要涉及到登陆界面的安排设计,查询数据库的password表(密码表),同时将有关数据记录到log表(日志表),还需要有用户错误操作的提示信息。
(1) 功能:获取从reg.asp页面传来的数据,检索User数据表,核对用户密码,如果该用户名和密码存在,显示登陆成功,否则进行注册处理。
(2) 输入:用户名和密码。
(3) 处理:从数据表中获取输入数据判断是否为空,空则重新输入。检索户数查看用户是否存在。在各个功能中,都是通过超链接进行信息的输出。
6 系统的测试与分析
6.1 测试环境
本系统测试环境:CPU PIII8000 ,内存SDRAM 128M, SQL SERVER 2000,WIN2000/XP,2003下均测试通过.建议用户CPU PIII,内存256M及以上,数据库版本Access,WIN2000PRO/XP,2003,WIN2000 SERVER 及以上软硬件平台使用。
6.2 程序代码测试
本系统在上一部分具体实现中的同时还进行了仔细的测试,在系统各个模块的编写中就开始测试,以减少在后面集成测试中出现问题的机率,也减少在集成测试中的发现问题后修改源程序的难度。此时的测试主要是用到一些测试数据,测试数据除采用正常数据外,还包括了一些异常数据和临界数据,用他们来考验程序逻辑上的正确性。测试数据是经过精心挑选的,使程序和模块中的每一条语句都能得到执行,即能够测试程序中的任一逻辑通路。在本系统的测试中用了以下几种数据: [来源:http://think58.com]
(1) 用正常数据调试:在本系统中凡是有数据提交的地方都输入以确定无误的正常数据进行调试,如用户登录窗口中输入数据库中存在的用户信息等。
(2) 异常数据调试:在执行本系统中的处理程序时要考虑一些临界数据。例如:空字符串。这些数据是最易被忽略的,也是最易使程序出错的,所以此处的调试花费了很长一段时间,经反复的调试和修改后,系统建立了比较完善的异常处理机制。
(3) 用错误数据调试:用错误的数据进行调试主要是测试系统对错误的处理能力,包括显示出错信息及容许修改错误的可能性。在实现本系统的过程中也对此进行了大量的测试。
6.3 程序功能测试
经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性,但并不能验证程序是否满足程序设计中定义的功能,也不能验证测试数据本身是否完备。所以经过程序代码的测试后,还要进行程序功能上的测试。程序功能测试是面向程序应用环境,把看作一个“黑匣子”,认为程序只是满足应用功能上的需要,就是行的。因此也对本系统进行了以下两方面的功能测试。
(1) 模块功能测试
本系统是由多个功能模块组成,每一模块由一个或几个程序构成。这项测试主要还是自己完成的,我把各模块中的所有程序按次序串联起来进行调试,经调试修改后每一模块内各程序间终于建立了正确的控制关系,并实现了各模块之间正确的通讯。
[版权所有:http://think58.com]
(2) 确认测试
这一阶段的测试主要是检查系统的功能,性能是否与用户的需一致,在此测试的工作主要由同学帮助完成,以确定该系统的功能是否能满足一般用户的需要,系统的性能是否稳定等。经过同学们反复的测试,返回很多的不同信息,根据这些信息,我再次对该系统进行了一些小的修改,以保证该系统投入使用后能安全、可靠、正常的工作,比如在这一阶段的修改有:
在程序运行过程中,当进入系统主界面时,当点击后退时,程序返回不到系统登陆界面,在这个过程中,作者发现是由于 受session中变量的影响。所以,作者就在程序中session对象中的变量进行了重新修改,问题得到了解决。 开始之初,当用户进入本系统的各个页面时,要想返回到主页或是该页的上一页时,都是通过浏览器的“返回”按钮来实现的,特别是浏览很多页面后要回到主页必须多次按下浏览器的“返回”按钮,这样对用户来讲是极其不方便的,后来根据系统运行流程在不同的页面都加上了“返回”链接,这样就能快速跳转到相应的页面了。
6.4 测试结果
系统在上述软硬件环境下对此系统各个子模块功能做出了测试,结果基本达到预期功能。
(1)用户注册,新用户进行注册功能,如图9所示。
图9 用户注册界面
(2)用户信息显示,显示登陆用户信息,如图10所示。
图10 用户信息显示界面
(3)目录创建,用户可以自己创建文件夹,并对文件加密,如图11所示。
图11目录创建界面
(4)文件上传,用户选定上传目录并上传文件进入该目录,如图12所示。
图12 文件上传界面
(5)目录查询,对文件目录进行查询,如图13所示。
图13目录查询界面
(6)后台管理,管理员对不同用户进行管理。包括用户权限的分类,用户上传文件的管理,如图14所示。
图14 后台管理界面
结 论
到现在为止,系统能够实现根据用户需求的设计的大部分功能,但在开发过程中所遇到很多的问题还是的出乎当初开始设计时预料之外。
该系统侧重于个人文件的存储,上传,共享和目录检索。该系统使用方便,进入空间直接,界面简单明了,操作方便。
(1)系统的设计要求体现了可行性,通过文件共享文件系统可以真实的让用户体会到该系统的优点。又要兼顾Internet的特点,为用户设计出快捷、方便的查询功能。
(2)用户需要身份验证,在设计中通过身份验证可以判断该用户有没有修改文件的权利。
[来源:http://www.think58.com]
(3)用户对共享目录的操作权限由目录密码来控制,不仅目录要在被共享的状态下,而且用户要对目录访问有正确的密码,这样才能访问目录中的文件。
(4)系统具有良好的可扩充性,能根据用户不同的要求,进行相应的扩展,以进一步完善系统的功能。它目前主要面向学生、电脑办公人员。随着网络的高速发展,该系统有广阔的应用前景。在程序设计后期扩展,系统中还可以增加“站内论坛”模块,进一步扩充系统的功能。
21世纪互联网呈现出的是一种全面复苏、蓬勃发展、多元开拓、广泛应用的发展态势。与传统的存储共享工具相比,文件共享文件及检索系统具有以下优点:
(1)用户分组管理,对用户的权限和使用功能进行区分。
(2)信息加密,安全性提高了很多。
(3)目录加密,使用户在互访时,对不可信任的用户进行访问限制(即使在共享的状态下,也要求验证密码)。
(4)非实时传送文件,不需要其他用户同时在线。
(5)操作便捷、大容量、异步的局域网文件共享工具。
系统还存在有以下不足之处:
(1)采用了B/S的结构模式,较之于其它版本开发的程序,比如C/S结构模式,虽然提高了用户操作上的简单性.系统数据的安全性能有所折扣.对于网上广泛流传的各种ASP技术方面漏洞,系统还需要考虑有效的规避防护措施.系统用户登录方面,还需要添加图形数字验证码验证功能,以提高登录安全性. [资料来源:http://www.THINK58.com]
(2)检索系统部分,只完成了对目录的检索功能,还不能够完成文件全文检索这一扩展功能。需要以后再深入的研究。
参考文献
[1] 黄明,梁旭.Asp信息系统设计与开发实例[M].北京:机械工业出版社,2004。
[2] 黄斯伟.HTML4.0动态网页制作[M].北京:人民邮电出版社,1999。
[3] 孙丽君,吴红普.ASP编程基础及应用实例集锦[M].北京:人民邮电出版社,2001。 [4] 陈会.ASP网页制作彻底研究[M].北京:人民邮电出版社,2001。 [5] Richard Anderson Chris Blexrud.ASP高级编程[M].北京:机械工业出版社,2001。 [6] 李瑞旭.ASP实例教程[M].北京:中国电力出版社,2001。
[7] 邓文渊,陈惠贞,陈俊荣.ASP与网页数据库设计[M].北京:中国铁道出版社,2001。
[8] 张海藩,牟永敏.面向对象程序设计实用教程[M].北京:清华大学出版社,2001。 [资料来源:THINK58.com]
致 谢
本文是在张仕斌老师和陈念伟老师的热情关心和指导下完成的,他们渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他们表示我最衷心的感谢!
感谢张仕斌老师在课题研究初期给予的帮助,在张仕斌老师的帮助下课题才得以很好的展开,有了一个很好的开端!感谢大学四年和我一同走过的朋友们,与他们一起学习,生活,让我拥有许多难忘时光。我们共同经历成长中的一点一滴,无论是欢笑还是泪水,我都将铭记一生。
在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人向他们表示深深的谢意!
最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢! [来源:http://www.think58.com]
作者简介
姓 名:薛长明 性别:男
出生年月:1984/08/24 民族:汉
E-mail:stamina_xcm@163.com [来源:http://www.think58.com]
声 明
本论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。
关于学位论文使用权和研究成果知识产权的说明:
本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括:
(1)学校有权保管并向有关部门递交学位论文的原件与复印件。
(2)学校可以采用影印、缩印或其他复制方式保存学位论文。
(3)学校可以学术交流为目的复制、赠送和交换学位论文。
(4)学校可允许学位论文被查阅或借阅。
(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。
除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。
特此声明!
作者签名:
2007 年 6 月 10 日 [版权所有:http://think58.com]