基于FTP协议的文件访问系统的设计与实现论文.docx

上传人:b****1 文档编号:14867613 上传时间:2023-06-28 格式:DOCX 页数:24 大小:384.87KB
下载 相关 举报
基于FTP协议的文件访问系统的设计与实现论文.docx_第1页
第1页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第2页
第2页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第3页
第3页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第4页
第4页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第5页
第5页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第6页
第6页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第7页
第7页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第8页
第8页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第9页
第9页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第10页
第10页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第11页
第11页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第12页
第12页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第13页
第13页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第14页
第14页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第15页
第15页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第16页
第16页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第17页
第17页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第18页
第18页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第19页
第19页 / 共24页
基于FTP协议的文件访问系统的设计与实现论文.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FTP协议的文件访问系统的设计与实现论文.docx

《基于FTP协议的文件访问系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于FTP协议的文件访问系统的设计与实现论文.docx(24页珍藏版)》请在冰点文库上搜索。

基于FTP协议的文件访问系统的设计与实现论文.docx

基于FTP协议的文件访问系统的设计与实现论文

基于FTP协议的文件访问控制系统的设计与实现

摘要

现在有了网络,网络用户不但可以浏览各种各样的信息资源,还能够将自己感兴趣和需要的资源下载到本地机上,但这样也加大了对资源的需求量。

由于网络的带宽及各种服务的限制,单纯从页面上下载显得又慢又不可靠,而且也无法满足众多用户的需求,所以就有许多FTP工具应运而生。

本软件是用DELPHI7.0作为开发工具完成的,系统开发的总体任务是连接FTP服务器,上传/下载文件、对FTP服务器站点的管理、服务器端提供本地FTP服务、允许远程登录下载服务器上的文件。

本论文共分为五大模块,分别是:

介绍选题背景及意义和系统的发展现状;介绍数据库技术和Delphi技术;对当前企业进行需求分析并提出解决方案;根据需求方案对系统进行设计;对工作计划统计分析系统进行测试并得到测试结果。

关键词:

FTP;文件访问;后台数据库

 

TheFileAccessControlSystemBasedonFTP

Abstract

ThroughtheInternet,peoplearenotonlyabletobrowseallsortsofinformation,butalsoabletodownloadinterestingresources.However,duetodifferentconstrainsitisinefficientandunreliabletodownloadbywebpage.Therefore,therearerequirementsforbetterdownloadtools,suchasFTPtools.

ThissoftwareisdevelopedbyusingDELPHI7.0,themajordutiesforthesystemistoconnecttotheFTPserver,toadministratetheFTPservicesites,toallowfiledownloadingfromremotecontrol.

Thereare5partsinthispaper:

introductionofthebackgroundandsignificanceofthetopic,andgeneralizationofthedevelopmentofthesystem,introductionofthetechnologyofdatabaseandDelphi,analysisofthecurrentrequirementsofenterprises,designandimplementationofthesystem,andtestofthesystem. 

Keywords:

FTP;FileAccess;BackgroundDatabase

.

 

目录

1选题意义1

1.1课题背景1

1.2国内外研究现状1

1.3本课题研究的目的1

2相关理论基础2

2.1网络概念2

2.2Delphi技术2

2.3Delphi的控件安装方法3

2.4MicrosoftSQLServer数据库技术4

3需求分析4

3.1需求概述4

3.2登陆模块4

3.3用户注册模块4

3.4客户端模块5

3.5服务器模块5

4设计与实现5

4.1系统概要设计5

4.1.1概要设计5

4.1.2条件与限制5

4.2系统的详细设计6

4.2.1系统总体流程6

4.2.2各模块处理流程6

4.2.3数据库设计9

4.3典型模块实现9

5测试11

5.1测试环境11

5.2测试的目的12

5.3测试方案12

结论14

参考文献15

致谢16

声明17

1选题意义

1.1课题背景

现代科技给我们带来了翻天覆地的变化,互联网就是这诸多变化之一,而且它无时不刻地包围着你。

可以这样说,21世纪是互联网的世纪。

互联网是人类科技发展史中成长最快的新鲜事物,从诞生到高度发展仅仅用了二十几年,而未来的发展前景更是一片光明。

每个人可能者已经感觉到了它的发展,从大大小小的网络公司到各种各样的网上商店、书店、网吧、网上银行等,就连电影院也都搬到了网上你可以足不出户的欣赏美国大片。

早在20世纪90年代初,Internet和WorldWideWeb(简称WWW)已经被大家熟知。

最近几年,Internet的发展更是神速,它已经深深触及到我们的生活和工作的方方面面。

随着许多新兴技术在Internet中的推广应用,使用它的自身发展更日趋完善,它为用户也带来了越来多的实惠和便利。

毫不夸张地说,无论你在世界上的哪个角落,只要通过互联网,你就可以同亲人朋友、甚至是陌生人相互交流,而且形式多样。

互发邮件、交换文件、彼此聊天这已经是很平常了,而现在随着网络、通信技术的相结合,已经出现了可视电话、网络家电、电子商务等。

网络用户可以通过大大小小的各类网站或主页。

他们已经越来越离不开网络,而且已经把企业网络建设纳入了未来企业发展最重要的环节。

是互联网最大的凝聚力所在,它是一个包罗万象的信息服务系统。

1.2国内外研究现状

从有关的文献看,在国内和国外都有不少的这种软件,可见,由于网络的普及和资源的增加,用户对资源的需求也更大,一般的下载无法满足用户的需求,从而FTP的运用就变得更普遍。

国内FTP软件,由于资源数量相对较少,使用时间相对较短,加之用户使用意识较为薄弱,FTP站点的建设质量与服务等都不是太完善。

而国外的一些站点由于运行得比较久,所以效果不错。

1.3本课题研究的目的

访问网站资源已是广大公众的日常行为,用户是网络赖以生存和发展的根本,尊重用户,以用户的需求为中心,不只是一句口头上的空话,而要付诸行动。

因此希望通过此次调查研究,找出原有FTP软件的不足,尽量完善软件,在有限的成本范围内提高读者满意度。

并形成一个完善的FTP传输软件,方便以后用户进行资源的传输和共享。

本系统既锻炼了我们的实际动手能力,又引导我们进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要的意义

2相关理论基础

2.1网络概念

互联网通常指的是由很多计算机网络(包括局域网、广域网等)相互连接而成的一个总网络,它无论在功能上还是在逻辑上都是一个巨型网络。

无论Internet、因特网、国际互联网、互联网、全球互联网、交互网、国际电脑网络、国际计算机网络。

其实它们都是由美国阿帕网(ARPANET)发展而成的。

主要采用的通信协议都是TCP/IP协议。

网络的定义从概念上说,就是由两台或两台以上计算机通过一定的连接和统一的通信协议,最终实现彼此之间相互通信的实体。

网络互联可以采用网间连接器互连和通过互联网两种方式实现网络互联。

从定义看,它必须是由多个电脑通过连接设备物理连接而成,然后通过定制的协议方法才能实现多种资源、服务、信息共享。

这种通信包括了发送E-mail和传真,交换一个或多个文件等。

而Internet是多个计算机网络的集合,是一个网中网,是遍布全球的联络各个计算机平台的总连接,这些网中网的计算机少则两三台,多的则拥有数千台,是名副其实的千万信息资源的汇合。

从本质上讲,Internet是一个媒介,是一个沟通你我他,沟通全世界的重要手段,只不过这种沟通连接世界上不同种类型的计算机实现的,通过这种连接,我们就能和世界交流,和世界通信,所以它又是一个交换各类数据的通信媒介。

从Internet提供的无限资源和对人类的发展推动作用这方面来理解,Internet是正在迅猛发展的全球数字化数据库,这个数据库是建立在高度灵活的通信技术之上的,正是有了各种成熟的通信技术和网络连接的简单性、灵活性和共享信息的便利性才促成了Internet的飞速发展。

2.2Delphi技术

Delphi是基于窗体和面向对象,具有高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。

但最重要的还是ObjectPascal语言,它才是一切的根本。

ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。

Delphi提供了各种开发工具,包括集成环境、图像编辑(ImageEditor),以及各种开发数据库的应用程序,如DesktopDataBaseExpert等。

除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(ResourseWorkshop)。

在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:

适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。

2.3Delphi的控件安装方法

1、对于单个控件,Componet-->installcomponent..-->PAS或DCU文件-->install;

2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;

3、对于带*.bpl文件的控件包,InstallPackages-->Add-->bpl文件名即可;

4、如果以上Install按钮为失效的话,试试Compile按钮;

5、是runtimelib则在option下的packages下的runtimepackes加之。

如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决:

1、反安装的源文件拷入到Delphi的Lib目录下;

2、或者Tools-->EnvironmentOptions中把控件源代码路径加入到Delphi的Lib目录中即可。

注意:

所安装的控件是否与你所用的Delphi版本相适应。

⏹RxLib的安装

首先在Delphi5的IDE中将以前版本的Rxlib反安装掉,删除RXCTL5.BPL、RXDB5.BPL、RXBDE5.BPL、DCLRX5.BPL、DCLRXDB5.BPL和DCLRXBD5.BPL。

打开Rx的运行包RXCTL5.DPK,在Package窗口中按Compile按钮编译RXCTL5.DPK,然后用同样方法编译另两个运行包RXDB5.DPK和RXBDE5.DPK,将编译后的三个BPL文件放到搜索路径中,如WINDOWS\SYSTEM等。

在编译完运行包后你必须将RX的设计期包安装到IDE环境中。

打开Rx的设计期包DCLRX5.DPK,在Package窗口中按Compile按钮编译,然后按Install按钮将设计期包注册到组件面板中。

用同样的方法安装DCLRXDB5.DPK和DCLRXBD5.DPK。

注意:

不要在DelphiIDE中保存包资源(packagesources)!

⏹帮助文件的安装

单击Delphi中的Help菜单下的Customize菜单项,这时会弹出OpenHelp对话框,选择在Index页下,打开Edit菜单下的AddFiles菜单,添加你要加入的帮助菜单,这样你就可以在Delphi的IDE下使用该帮助文件了。

⏹控件删除

在Component/InstallPackages中删除。

选Component/configurePalette…

有pages和components两个区域

双击components区域,选中要删除得控件,下面有得Delete按钮

但系统提供的控件只能Hide,不能delete。

打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可

如果是整个控件包都要删除的话,project->Option->Packages,删掉那个packages,就可以了。

2.4MicrosoftSQLServer数据库技术

SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。

SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。

数据库技术就是研究对数据进行科学的管理,合理的分析,为人们提供安全、准确数据的技术。

一个完整的数据库系统是基于数据库的一个计算机应用系统,它一般包括五个主要部分:

数据库、数据库管理系统、应用程序、数据库系统管理员和用户。

在Windows操作系统中,MicrosoftSQLServer2000数据库是一个多关系数据管理系统,是目前使用最为广泛的数据库。

它与Windows网络操作系统的无缝继承,智能化的内容管理,强大的功能,灵活的后台开发,使它得到大量用户的喜爱。

SQLServer2000数据库应用的一个重要方面就是对数据的访问。

基于Web的数据库利用已有的信息资源和服务器进行访问,其访问频率大,尤其是热点数据。

如果要实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间软件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。

3需求分析

3.1需求概述

本设计设计出一套完整的软件,其次是一些系统配置的设置问题。

主要设计了四个功能模块,用户可直接调用这些模块,具有实用、简洁的功能。

系统功能主要包括以下几个方面:

一是用户注册加密信息,用户注册时用MD5算法加密后直接存入数据库;二是登陆模块设计,可以测试进入,从而可以让用户先体验下软件,然后再选择是否使用。

三是客户端模块,是用户对资源选择下载和上传的功能。

对于用户可以选择自己想要得资源进行下载,也可以把自己的资源拿出来大家分享,这样促进资源的流通和推广。

四是服务器端,启动了服务器,自己电脑就成为一个服务器,如果自己电脑运行了客户端,连接127.0.0.1,就可以连接自己的电脑,可以测试软件的连接情况。

3.2登陆模块

在用户使用此软件时,就会弹出这样的界面,用户可以测试登陆,如果已经注册了,可以填写自己的用户名和密码,进行登陆,进入客户端。

3.3用户注册模块

本模块主要用于用户注册信息的安全性,用户注册时用MD5加密算法直接加密用户信息存入数据库,用户注册信息包括用户名、密码、确认密码、联系电话、邮箱、QQ、公司和备注。

用户注册时如有填错注册信息,则转入错误页面以引导用户填写正确的注册信息,如密码输入不一致,QQ不为数字或邮箱格式输入有错误,如用户填写所有信息均符合要求则注册成功,次模块对注册信息用MD5算发进行加密后存入数据库。

在数据库里可看到乱码的注册信息,他人想通过数据库查看用户信息是不可行的,也就起到了保密的作用。

3.4客户端模块

此模块可以测试进入,方便用户不用先登陆就可以进入测试,先体验下软件,然后决定最后到底使不使用此软件,在这个模块中,用户可以选择自己想要下载的资源,来满足自己的需求,也可以上传自己的资源,让大家来分享。

用户还可以借助此软件登陆许多ftp网站,对网站上面的资源进行选择性的下载。

3.5服务器模块

当开启服务器时,用户就将自己的主机作为了一个服务器,可以自己连接自己的主机进行测试,也可以让其他用户连接到自己主机,为用户提供资源,供用户下载。

4设计与实现

4.1系统概要设计

4.1.1概要设计

该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。

模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。

在系统中,各模块有各模块的作用,登陆模块是对用户信息的验证,用户的信息输入功能是由注册模块进行管理的,客户端上则提供了资源交流功能,服务器端则是将自己的资源拿给大家共享

4.1.2条件与限制

为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:

1.软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。

2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。

3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。

4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。

4.2系统的详细设计

4.2.1系统总体流程

从用户打开软件开始,首先弹出一个登陆界面,在这时,用户可以匿名登陆,进入测试画面。

进入后,用户可以进行注册,注册后用户可以在网上选择自己需要的资源,进行下载。

最后,用户还可以打开服务器端,将自己的资源共享,为其他用户提供方便。

整体软件流程图(图4-1)

图4-1整体软件流程图

在完成系统以后,系统需要维护.由于系统较小没有外加维护模块,因此维护工作比较简单,仅靠数据库的一些基本维护措施即可。

4.2.2各模块处理流程

1.运行模块的组合

具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。

2.运行控制

软件运行时有较友好的界面,基本能够实现用户的数据处理要求。

3.运行时间

系统的运行时间基本可以达到用户所提出的要求。

注册模块:

在这注册中,注册名不能为空,并且两次填写的密码必须相同,如果注册名存在了,系统会提醒你“用户名已存在”,把以上以上所述都填好后(其他的电话,邮箱,真名,备注都是选填),你就能注册成功,反之则需要重新填写。

注册模块流程图(图4-2)

图4-2注册模块流程图

在注册时可能出现的问题和解决方法:

1.出错输出信息

在用户在注册用户名时,如果有重复的名字,系统就会报错。

但用户可以匿名登录。

2.出错处理对策

由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。

但有可能占用更多的数据存储空间,权衡措施由用户来决定。

注册后,系统将对于注册用户的密码进行了MD5的加密后再存入数据库中。

系统安全保密性还不错。

登陆模块:

用户在登陆时一定要输入准确的用户名和密码,才能安全和正常的登陆,进入客户端界面。

登陆模块流程图(图4-3)

图4-3登陆模块流程图

客户端模块:

用户正常登陆后,进入到客户端界面,这时用户可以根据自己的需要和爱好,下载服务器拥有的资源。

客户端模块流程图(图4-4)

 

图4-4客户端模块流程图

4.2.3数据库设计

在运行中,需要一个数据库对注册用户进行管理,在下面表1中,对其进行详细介绍。

表1数据库表

字段名

数据类型

长度

能否为空

ur

char

50

N

pass

char

100

N

tel

char

20

Y

email

char

50

Y

name

char

20

Y

memo

char

50

Y

在设计中,其表如下图(图4-5)

图4-5

4.3典型模块实现

MD5的实现

rocedureMD5.qksj;

var

i:

Integer;

begin

//

bm[0]:

=$67452301;//01234567;

bm[1]:

=$efcdab89;//89ABCDEF;

bm[2]:

=$98badcfe;//FEDCBA98;

bm[3]:

=$10325476;//76543210;

//

fori:

=0to63dohcsj[i]:

=0;

//

sjcd:

=0;

bmcd:

=0;

//

end;

编码算法:

对数据sj进行编码并保存在编码bm中

procedureMD5.bmsf;

var

aa,bb,cc,dd:

Cardinal;

sj:

array[0..15]ofCardinal;

MD5.bmsf的内部函数:

数据转换,从hcsj(Byte)到sj(Cardinal)

proceduresjzh;

var

i,n:

Integer;

begin

n:

=0;

fori:

=0to15do

begin

sj[i]:

=hcsj[n]or(hcsj[n+1]shl8)or

(hcsj[n+2]shl16)or(hcsj[n+3]shl24);

n:

=n+4;

end;

end;

functionxhzy(x,s:

Cardinal):

Cardinal;

begin

result:

=(xshls)or(xshr(32-s));

end;

procedureFF(vara:

Cardinal;b,c,d,x,s,ac:

Cardinal);

functionF(x,y,z:

Cardinal):

Cardinal;

begin

result:

=(xandy)or((notx)andz);

end;

begin

a:

=a+F(b,c,d)+x+ac;

a:

=xhzy(a,s);

a:

=a+b;

end;

procedureGG(vara:

Cardinal;b,c,d,x,s,ac:

Cardinal);

functionG(x,y,z:

Cardinal):

Cardinal;

begin

result:

=(xandz)or(yand(notz));

end;

begin

a:

=a+G(b,c,d)+x+ac;

a:

=xhzy(a,s);

a:

=a+b;

end;

procedureHH(vara:

Cardinal;b,c,d,x,s,ac:

Cardinal);

functionH(x,y,z:

Cardinal):

Cardinal;

begin

result:

=xxoryxorz;

end;

begin

a:

=a+H(b,c,d)+x+ac;

a:

=xhzy(a,s);

a:

=a+b;

end;

编码函数II

procedureII(vara:

Cardinal;b,c,d,x,s,ac:

Cardinal);

functionI(x,y,z:

Cardinal):

Cardinal;

begin

result:

=yxor(xor(notz));

end;

begin

a:

=a+I(b,c,d)+x+ac;

a:

=xhzy(a,s);

a:

=a+b;

end;

在注册时,对用户的密码用MD5进行加密后储存在数据库中.

5测试

5.1

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2