




已阅读5页,还剩65页未读, 继续免费阅读
(物理电子学专业论文)海量文件的远程传输处理系统的设计与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业人学硕士学位论文 摘要 随着科技的发展,网络通信水平的进一步提高,人们对传输系统的性能和功 能要求也越来越高。以往的f t p 传输软件大都存在功能不全等问题,需进一步 改进。 本课题根据实际需要,设计研发了适用于海量文件的“方文远程传输处理系 统”,它是基于f t p 协议开发的传输软件,实现了自定义的f t p 协议( l f t p 协 议) ,定义了端口和消息序列,消息头和消息体等,实现了分包多线程传送文件; 定义了消息一动作状态的转换机制,实现了服务器对消息序列和主动队列的管理 功能。同时该系统特别适合传输百兆以上的海量文件:客户端的上传子系统实现 了断点续传,多线程传输,进度显示,动态压缩,浏览器集成,自动关机和重发, 附加文件说明等功能,服务器端的控制程序结合了主动队列管理和并发服务器模 型的综合特点,实现了异步并发,负载均衡消息状态转换机制,兼具身份验证, 校验文件等特点。 本系统主要包括服务器端和客户端,分别由用户和客户来使用。其中服务器 端o s 为l i n u x ,主要功能由两部分组成:接收控制程序和网页的系统管理部分, 分别用c 语占和p h p 语言开发;客户端为w i n d o w s 平台,也由两部分组成,分 为上传窗体和下载网页,分别用c 拌n e t ,v c + + 6 0 和p h p 研发。开发过程中, 运用u m l 对系统进行建模,并结合软件工程理论知识对系统进行分析和设计。 关键词:断点续传:多线程上传;负载均衡;主动队列管理 大津j 业火学硕十学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fs c i e n c ea n dt e c h n o l o g ya n df u r t h e rr a i s i n gl e v e lo f w e bc o m m u n i c a t i o n ,t h ep e r f o r m a n c ea n df u n c t i o no f p e o p l e sr e q u i r et ot h et r a n s f e r s y s t e mb e c o m e sm o r eh i g h e r t h ep a s tf t pt r a n s f e rs o f t w a r ec a n ti m p l e m e n t r o u n d l y , a n ds t i l ln e e dt oi m p r o v ef u r t h e r a c c o r d i n gt ot h ea c t u a ln e e d ,t h ep r o j e c td e s i g n e da n dd e v e l o p e d “t h el e n v e n p r o c e s s i n gs y s t e mo fr e m o t et r a n s m i s s i o n ”w h i c hi ss u i t a b l et om a s sf i l e i ti sa t r a n s m i s s i o ns o f t w a r eb a s e do i lt h ef t pp r o t o c o l ,h a sr e a l i z e dt h el e n v e n f t p p r o t o c o ld e f i n e db yi t s e l f i th a sd e f i n e dt h ep o r ta n dt h em e s s a g es e q u e n c e ,t h e m e s s a g eh e a d e ra n dm e s s a g eb o d ya n ds oo i l ,r e a l i z e dt h em u l t i p a r tt r a n s m i s s i o nt o s e n dm a s sf i l e ;d e f i n e dt h em e s s a g e a c t i o n s t a t et r a n s l a t i o nm e c h a n i s m ,r e a l i z e dt o m a n a g et h em e s s a g es e q u e n c ea n dt h ea c t i v eq u e u eb ys e r v e r a tt h es a n et i m et h i s s y s t e ms u i t st ot r a n s m i tm a s sf i l e :c l i e n tu p l o a ds y s t e mr e a l i z e dt h et r a n s f e rr e s u m e , t h em u l t i - p a r tt r a n s m i s s i o n ,t h es c h e d u l ed i s p l a y , t h ed y n a m i cc o m p r e s s i o na n dt h e b r o w s e ri n t e g r a t i o n i tc a ns h u to f fb yi t s e l fa n ds e n da g a i na u t o m a t i c a l l y , a p p e n df i l e e x p a n a t i o n ,e t c s e r v e rc o n t r o lp r o c e d u r eu n i f i e dt h ec o m p r e h e n s i v ec h a r a c t e r i s t i co f a c t i v eq u e u em a n a g e m e n ta n dt h ec o n c u r r e n ts e r v e rm o d e l ,r e a l i z e dt os e n d a s y n c h r o n o u sa n dc o n c u r r e n t ,t h em e s s a g ea n ds t a t et r a n s l a t i o nm e c h a n i s m ,t h e a u t h e n t i c a t i o no f i d e n t i f i c a t i o na n df i l ev e r i f i c a t i o n t h i ss y s t e mm a i n l yi n c l u d e ss e r v e ra n dc l i e n t ,s e p a r a t e l yu s e db yt h eu s e ra n d t h ec u s t o m e r t h es e r v e ri sl i n u xo s ,c o m p o s e db yt w op a r t s :t h es e r v e rc o n t r o l p r o c e d u r ea n dt h es y s t e ma d m i n i s t r a t i o no fw e bp a g e s ,r e a l i z e db yt h ecl a n g u a g e a n dt h ep h pl a n g u a g es e p a r a t e l y ;t h ec l i e n ti st h ew i n d o w sp l a t f o r m ,a l s oi s c o m p o s e db y t w op a r t s :t h eu p l o a dw i n d o wa n dt h ew e bp a g e sf o rd o w n l o a d , d e v e l o p e ds e p a r a t e l y b yc 毒n e t , v c 十+ 6 0a n dp h ed u r i n gt h ed e v e l o p m e n t t h e s y s t e mi sb u i l tb yu m l i ti sc o m b i n e dw i t ht h et h e o r yo fs o f t w a r ee n g i n e e r i n gt o a n a l y s ea n dd e s i g n e k e y w o r d s :t r a n s f e rr e s u m e ,m u l t i - p a r tu p l o a d ,l o a db a l a n c i n g ,a c t i v eq u e u e m a n a g e m e n t 天津,j 。业大学硕十学位论文 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得天律1 一业大学或其他教育机构的学位或证书 而使用过的材料。与我同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名: ;匆翻 签字日期: 护占年2 月工二日 学位论文版权使用授权书 本学位论文作者完全了解天沛 i 业大学有关保留、使用学位论文的规定。特 授权天津工业大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 繇i 硐跏躲锄乐 签字日期: 形 年2 月砧日签字日期:汐彳年2 月二阳 大洋j 业人学硕十学位论文 学位论文的主要创新点 一、采用一种新型的基于主动队列管理的并发服务器模型。 二、在客户端开发一个集成了带进度显示的多线程上传和断点续 传功能的a c t i v e x 控件。这样具有极好的封装性,提高控件的易用性。 三、提出一种新型的基于队列管理的单服务器的负载均衡算法。 第一章前言 第一章前言 1 1 课题的提出和背景简介 近年来,各式各样的宽带接入服务相继出现。一般是以目前拨号上网速率的 上限5 6 k b p s 为分界,将5 6 k b p s 及其以下的接入,称为“窄带”,之上的接入方 式则归类于“宽带”。宽带的首要特点是传送速度快,信息容量大。除了“快速”之 外,宽带还有其它许多优点,由于宽带网路容许更多多媒体的应用,使得网页的 制作生动、内容的宽频也愈加可能,对于促进电子商务的发展也颇有帮助。 随着宽带应用逐渐普及,传输大容量的文件成为网民的新需求,一些电子邮 件提供商看到这一点,就推出了各种百兆级大容量的电子邮件。但是大多数的大 容量邮箱从某种程度上来看所起的作用更加侧重于网络存储,仅仅把电子邮箱当 成一个网络u 盘,而忽略了电子邮件的传输、共享等更为本质的信息沟通功能。 同时绝大多数仅能发送8 - 1 5 m 、顶多2 5 m 大小附件的邮箱不能有效传输这些往 往数十上百兆大小的影音文件,更无从说对文件信息的分享、管理了,在网络通 信和文件的传输上也有诸多不便。所以这种大容量的邮箱并不能很好的解决网民 的需求,我们还迫切需要针对海量文件的传输软件。 二十一世纪,我们将进入个信息时代,网络通信成为至关重要的环节。人 们不仅在邮箱方面做出了不断的努力,还正在研发着更多更好的通信软件。然而 通信软件还存在很多问题:下载软件较为多样,功能较为丰富;而上传软件显得 比较匮乏,功能不够完善,对用户不够方便、友好、易用。尽管目前流行的传输 软件多种多样,但是各种上传软件和下载软件还存在着种种不足,针对某些特殊 领域,我们需要一个功能更为完善的海量文件传输系统。 我们要研发的f t p 传输软件,能实现功能较完善的上传和下载,实现了 w i n d o w s 系统和l i n u x 系统之间的文件传输,并将在海量文件的传输方面具有更 为强大的功能,为海量文件的传输问题制定特别适合的解决方案,需要解决的问 题主要包括队列管理、断点续传、多线程、动态压缩、进度显示、验证和校验等 等。本课题研发的传输软件是基于f t p 协议的。用户使用f t p 传输文件时,通 过f t p 软件连接并登录到f t p 服务器,可以将服务器上的文件下载到自己的本 地硬盘,也可以将本地硬盘上的文件上传到f t p 服务器。此外,我们还实现了 自定义的扩展f t p 协议( l f t p 协议) ,运用自定义的消息队列,实现了将需传 输的海量文件划分为若干信息包,进行传送。 第一章前言 1 2 课题的国内外现状及研究水平分析 下面从国内和国外两个方面分别讨论传输软件的发展现状。 在国际上,目前各圈的网络通信技术已慢慢走向成熟,软件种类多样,比如 大家经常使用的c u t e f t p , l e a p f t p 等软件,人们所使用的传输软件功能丰富,各 项性能指标都较为优越,主要体现在下载的方便易用,功能多样。但是开发者在 关注下载的同时,却忽略了上传功能,目前上传功能较为单调,很多软件不具有 带进度显示的多线程传输功能。同时,尚没有专门用于解决海量文件的传输软件。 国产的下载软件种类较为繁多,如网络蚂蚁、网际快车、b i t c o m e t 、b i t b u d d y 等软件,它们大多可以实现功能完善的下载服务,相比而言,国内在通信方面的 上传软件种类较少,功能也较单一,缺乏友好的人机界面和方便快捷的服务功能, 比如断点续传,多线程传输、进度显示、动态压缩等等。 经过认真的市场调研和分析对比,列出一些传输软件的功能,如表1 1 。 表卜1 各类f t p 传输软件的功能比较表 产i l ! 1 名称c u 把f t pp r o f 1 a s hf x p t u r b o f t pa c e f t p 3p r o f t pv o y a g e r g l o b a i v i s i e o m 提供商 f l a s hf x p t u r b of t p r h i n os o f t w a r e s c a p em e d i a 大小4 8 1 m b 2 1 3 m b1 5 邶2 6 5 m b2 7 6 m b 得分 7 77 6 7 16 4 6 2 断点续传 目录传输 向定义命令 多线程上传 x 下载 服务器对传 速度限制 xx 浏览器集成 x 臼动重拨 x 臼动关机 x x 帮助文档英文英文 英文英文英文 价格$ 5 9 9 5$ 2 5 $ 1 9 9 5 $ 2 9 9 5 $ 5 9 9 5 第一章前言 通过上表的比较,可以看到多线程问题只有在c u t e f t p p r o 中得到了解决。 调查表明,c u t e f t pp r o 功能十分强大,除了以上评测的功能外,还可以利用多 线程分割文件,下载和压缩上传节省时间,但是缺乏浏览器集成和自动关机,价 格较高;f i s hf x p 各项评测都得分不俗,但缺少多线程上传下载;t u r b o f t p 是 一个非常容易使用的f t p 软件,在评测中的表现得中规中矩;a c e f t p3p m 是 个自动化功能出色且各方面得分比较平均的一款f t p 软件;f t pv o y a g e r 虽然有 不错远程管理功能,但明显价格较高且缺乏多线程功能。i 】刮 综上,目前很多f t p 传输软件在多线程上传和下载方面还很欠缺;尽管目 前的传输软件种类繁多,但或多或少还有一些不足之处,需要对这些技术进一步 提高和深入研究。我们可以发现,一些软件主要提供单向的下载功能,缺乏上传 的处理;即便另一些f t p 软件能够提供完整的互联网上传和下载,但在功能上 还有待完善,比如多线程传输,断点续传,动态压缩,浏览器集成等多种方面。 针对于那些特殊的领域和行业,他们特别需要传输海量文件,所以我们还要开发 一个功能更为完善的海量文件传输软件,该课题具有其深入研究的价值和意义。 1 3 本课题的任务和应用方面的意义 本课题的目标是利用i n t e m e t 网络,实现异地远程的海量文件的上传和下载 功能及其相应的管理功能,同时性能上具有一定的先进性。 本课题的任务是需要研发一个基于f t p 协议的传输软件,特别适合于传输 海量文件,实现w i n d o w s 系统和l i n u x 系统之间的海量文件传输,并扩充目前 国内外f t p 软件的功能。它可以同时实现文件的上传和下载,不但具备上传下 载软件的基本功能,而且在功能上更加完善和扩充,特别具有负载平衡,带宽和 网速限制,消息队列管理,海量传输,断点续传,多线程上传,动态压缩,进度 显示,目录传输,附加文件说明,校验文件,自动关机等特点,有一定的创新性 和突破性。 在某些行业,特别需要海量文件的传输软件。该传输软件适用于任何需要异 地远程传输大容量文件的企事业单位和个人,比如印刷厂,出版社、报刊杂志、 建筑设计规划院、平面和多媒体设计单位、数码冲印店和音像公司、自由撰稿人 及个人作者等,他们往往需要传输海量的音频,视频和图像文件等等。针对海量 文件的传输阿题,通过该课题的研究开发,使用断点续传,多线程,动态压缩, 进度显示,附加文件说明,校验文件等相关技术,给用户提供方便快捷的上传服 务,使得上传文件和下载文件变得友好,使用简单方便。所以本课题在理论和实 际应用中都具有特别的现实意义。 第章前言 1 4 本课题简介 本课题研发的“方文远程传输处理系统”是基于f t p 协议开发的传输软件, 包括客户端和服务器端,分别由客户和用户来使用。其中服务器端由两部分组成: 接收控制程序和网页的系统管理部分;客户端也由两部分组成,分为上传窗体和 下载网页,故可以同时实现客户上传和下载,用户接收和管理的功能。 基本的传输过程是,在宽带网络环境下,系统可以实现由w i n d o w s 系统向 l i n u x 系统进行文件上传,在w i n d o w s 平台上使用该系统客户端的上传子系统对 文件进行压缩并多线程上传;l i n u x 服务器的接收控制程序在时刻监听,并接收 文件。传输完毕时,在l i n u x 平台和w i n d o w s 平台都可下载文件,还可通过网 页查询客户,用户,文件和历史等详细情况,并进行管理及下载等。 在系统的研发过程中,我们实现了自定义的扩展f t p 协议( l f t p 协议) , 定义了端口和消息序列,消息头和消息体等,实现了分包多线程传送文件;定义 了消息动作状态的转换机制,实现了服务器对消息序列和队列的主动管理功能。 同时该系统扩充了目前国内外f t p 软件的功能,适合传输百兆以上的海量文件, 具有海量传输的特点:客户端的上传子系统实现了断点续传,多线程传输,进度 显示,浏览器集成,附加文件说明等功能,服务器端的控制程序结合了主动队列 管理和并发服务器模型的综合特点,实现异步并发,消息状态转换机制,兼具动 态压缩,校验文件等特点。 1 , 5 课题的研究方向 本课题分为服务器和客户端两大部分。服务器端主要进行消息序列管理,主 动队列管理,负载均衡,实现消息状念一动作的转换机制,实现接收多线程文件 并自动合并,自动解压,自动校验等功能。服务器端的使用者还可以通过网页对 客户进行管理,操作数据库等等。客户端则负责多线程上传,进度显示,断点续 传,动态压缩,目录传输,自动重发,自动关机,浏览器集成,身份验证等等。 本文的后续章节安排如下: 第二章:系统的需求分析和开发工具 第三章:系统的整体设计 第四章:服务器端的技术实现 第五章:客户端的技术实现 第六章:系统的测试,调试和实施 第七章:总结和展望 第二章系统的开发t 具和需求分析 第二章系统的需求分析和开发工具 为了解决以往传输海量文件所产生的不便,本系统根据实际需要,研究设计 出了一个具备上传和下载基本功能,并符合海量文件特殊需求的传输系统。这里 根据软件工程的瀑布模型知识,对系统进行需求分析,主要包括软硬件需求,功 能需求,数据库需求等等。另外简单介绍丌发的工具和平台。 2 1 开发本课题的软硬件需求 首先要确定支持该系统所必需的软硬件需求。其中包括系统要求,性能需求, 环境需求和软硬件接口。 2 1 1 系统要求 硬件环境方面: 服务器端:方文硬件设备,或支持w i n d o w s 的p i i 以上的硬件设备;内 存1 2 8 m 以上。 客户端:支持w i n d o w s9 8 以上的硬件设备, 软件环境方面: 服务器端:s l a c k w a r el i n u x 9 0 :m y s q l4 1 7 ;p h p5 0 2 ;a p a c h e 。 客户端:i e 6s p l :n e tf r a m e w o r k 或者m o n o 。 2 1 2 性能需求 带宽:a d s l 宽带可正常使用;本系统的宽带指的是l m b 以上; 文件容量:百兆级文件,本系统的海量指的是6 4 0 m b 以上的文件; 用户的负载量:5 个。本系统考虑了环境因素和实际情况,可扩展。 2 1 3 环境需求 硬件:f 常办公环境或者家居环境; 软件:宽带网络,客户端需要w i n d o w s 平台,服务器端为l i n u x 平台。 第二章系统的开发l 二具和需求分析 2 1 4 软硬件接口 硬件接口方面: 服务器端:a d s l d d n 宽带接入;l i n u x 和方文硬件设备;或者支持 w i n d o w s 的硬件设备。 客户端:a d s l ,d d n ,c a b f e 宽带接入,加密狗。 软件接口方面: 客户端与服务器端之间:h t t p 协议,f t p 协议,l f t p 协议。 2 2 本课题的需求分析 本课题是针对海量文件的上传和下载,为方便客户的使用,特制定了合适的 功能特性,服务器要具有负载均衡,主动队列管理,带宽限制,消息队列管理, 校验文件等特点。客户端的上传子系统要具有海量传输,断点续传,多线程,进 度显示,动态压缩,目录传输,文件校验,附加文件说明,身份验证等功能。 1 1 1 术语解释 本文档中用到的专门术语的定义和缩写词的解释如下: 方文1 0 :北京未名联创公司的“远程传输处理系统”的第一版产品, 主要通过网页实现客户端在w i n d o w s 平台下对l i n u x 服务器文件的下载 和查询等等。 方文2 0 :北京末名联创公司的“远程传输处理系统”的第二版产品, 主要包括客户端上传子系统和服务器端接收控制系统。它实现了客户端 在w i n d o w s 平台下向l if l t l x 服务器上传输海量文件,并特别提高了传输 性能,可实现海量传输,断点续传,多线程,动态压缩,进度显示,目 录传输,文件校验,测览器集成,附加文件说明等等。 用户:购买软件产品的企业,个人等。其为使用服务器端的人,职责是 数据库管理,消息管理,海量文件的接收,即接收文件的被动方。 客户:用户提供服务的对象,即用户的用户。其为使用客户端的人,其 职责是海量文件的上传下载,即发送文件的主动方。 宽带:一般是以目前拨号上网速率的上限5 6 k b p s 为分界,将5 6 k b p s 及 其以下的接入称为“窄带”,之上的接入方式则归类于“宽带”。本系 统宽带指的是1 l l b 以上。 第二章系统的开发一l 具和需求分析 海量:本系统的海量指的是6 4 0 m b 以上的文件,超过一张光盘的容量。 断点续传:就是在传输过程中可以中途暂停,然后再从停l e 点继续传输, 直至完全传输完成。 负载均衡:服务器端为多线程传输的队列提供的管理功能,使各队列的 传输载荷平衡化。 目录传输:传输的对象除了文件,还可以按照目录去传输文件夹。 l f t p 协议:“远程业务处理系统”的自定义协议,主要负责消息队列管 理和端口设置等。 2 2 2 课题的软件具体需求 本课题研发的传输软件是基于f t p 协议和c s 结构的上传软件,实现网络 传输软件的基本功能,并使其更加完善,特别具有负载平衡,带宽限制,消息队 列管理,海量传输,断点续传,多线程,进度显示,动态压缩,目录传输,校验 文件,自定义协议,分包传送,自动关机和重发等特点,扩充了目前国内外f t p 软件的功能,有一定的创新性和突破性。本课题所需要达到的效果和实现的功能: 表2 - 1 服务器和客户端的功能需求表 客户端功能服务器端功能 多线程上传主动队列管理 进度显示负载均衡 断点续传消息队列管理 目录传输带宽限制 动态压缩自动解压 浏览器集成合并文件 自动重发校验文件 自动关机 数据库管理 下面是方文传输系统的示意图( 如图2 1 ) 和网络结构图( 如图2 2 ) 。 第二章 系统的开发,i 具最l 需求分析 o 飞 客户 图21 方文传输系统示意图 图2 2 方文传输系统网络结构图 2 2 3 数据库的需求分析 用户用户 根据客户端和服务器端的传输组件需要实现的功能,来分析数据库的需求: 1 系统客户端上传组件:发送文件描述和文件信息,发送文件,发送校验和; 2 系统客户端下载组件:更新文件描述,存文件信息,查历史信息,下载文件; 3 系统服务器端传输组件:接收文件描述和文件信息,接收文件,验证校验和。 数据库的通信部分是非常重要的,主要的用途表现在以下几个方面: 客户端的上传子系统由c # n e t 实现窗体,当客户登陆时,要进行身份验证, 这通过服务器与数据库通信,查询用户名和密码是否正确,再报告客户端; 客户端的下载予系统是进行p h p 编程,页面在网站上发布,网页直接和数据 库通信,实现客户对文件的下载和历史查询: 服务器端的接收控制程序对每一次接收的文件。都要写入数据库,存储文件 信息和更新历史信息,同时对客户和用户的信息进行管理。 天胪 器 一司誉一 务 工一;一一三互釜 墨一一 、 j = 一 石 一宇 氢型妒 , 第二章系统的开发:具和需求分析 2 2 4 课题的技术分析 由于本课题涉及到的技术较多,这里仅列举些技术难点做解释和说明。 1 断点续传 在当今的网络时代,上传下载软件是使用最为频繁的软件之一。几年来,下 载技术也在不停地发展。最原始的下载功能仅仅是个“下载”过程,即从w e b 服务器上连续地读取文件。其最大的问题是,由于网络的不稳定性,一旦连接断 开使得下载过程中断,就不得不全部从头再束一次。 随后,“断点续传”的概念就出来了,顾名思义,就是用户通过f t p 下载文 件需数小时,如果过程中下载中断,在重新建立连接后,跳过已经下载的部分, 而只下载还没有下载的部分。对于海量文件的传输,断点续传显得尤为重要。 在下载技术日趋完善的同时,本系统着重实现了断点上传功能,在客户从客 户端向服务器端上传文件的过程中,如果网络中断,记录传输的位鼍,在第二次 上传的时候,从原来中止的地方继续上传,这样节省了上传的时间,方便了客户。 尽管最新的f t p 软件也已经实现了断点上传功能,但是它的实现原理是: 通过判断服务器上的文件大小,然后继续上传,如果服务器上存在同名文件且为 较小的先前版本,则传输结果会导致错误的结果。处理这种问题,它采用覆盖或 是续传,是由操作者手工决定,而本项目的研究则是完全由程序决定,并结合文 件的校验和来判断传输的正确性,这种设计和功能是首次提出和研发的。 2 带进度显示的多线程上传 尽管一些软件可以实现多线程传输,但是没有进度显示。如何实现显示各个 线程的进度情况,这也成为项目开发的又一个技术难点。 客户上传文件,客户端将文件分割为若干子文件,进行多线程传输,每个线 程同时向服务器传送子文件,使用自定义的扩展f t p 协议,将每个子文件分为 若干文件包传送,并实时监控文件包的传送情况,向客户端反馈传输的进度,客 户端以进度条的方式向客户汇报,显示界面友好,提高了传输效率。 3 压缩处理 对需要传输的文件或者文件夹进行压缩打包,上传压缩后的文件压缩包,从 而减少传输量。压缩处理过程是:在客户端,客户可以选择是否进行压缩,若压 缩文件,则先进行压缩,再将压缩文件分解为几部分子文件,多线程分别上传; 服务器端自动检测,如果客户上传的文件是压缩文件,则将接收到的几部分多线 程文件合并,再复原成原来的文 牛压缩包,最后将其解压,得到客户最初传送的 文件。这样一个先压缩再分解的上传过程和先合并再解压的下载过程,保证了文 件传输的正确性和快速性。 4 身分验证 9 第二章系统的开发下具和需求分析 由于服务器端的控制程序编译的s e r v e r o u t 文件,是放在u s r b i n 目录罩,所 以登陆f t p 服务器只能是指定的统一的用户名和密码,但是不同的客户和用户 又要用各自的用户名和密码登陆网页,所以本系统采用了两层用户名密码的机 制,通过这两层机制,向客户和用户隐藏和屏蔽了登陆f t p 服务器的统用户 名和密码,又实现了f t p 服务器登陆的用户名和密码的统一和管理的方便。 当客户从客户端登陆,在上传子系统的界面上先输入自己的用户名和密码, 服务器端从数据库查找并判断是否正确,若验证难确,则服务器返回真实统一的 登陆f t p 服务器的用户名和密码,以供客户上传文件;否则返回密码错误。 5 校验文件 在传输开始时,通信双方用校验算法,判断文件是否为断点续传:在传输完 毕时:客户端和服务器端用相同的校验算法,分别求出传输文件的校验和,并由 服务器端判断两端是否一致。结果一致,则传输文件正确,否则传输错误,客户 端自动重发文件。 2 2 5 课题研究的不确定性与风险分析 目前课题的研究还存在一些问题,具有一些不确定性,主要是:传输文件的 容量和速度,系统的稳定性和安全性。 相应的策略是,宽带环境下,在传输容量方面,根据文件的大小,来进行动 念压缩;在系统的稳定安全性方面,系统需要进行用户的密码验证,以确认登陆 的正确,同时对传输的文件提供校验和信息,以保证文件的传输正确。 风险分析涉及的方面主要是,由于技术上的难点可能会造成时间的延误,致 使不能满足客户的需求时限,软件发行时间的耽搁会导致竞争对手的商机抢占; 系统的健壮性能和承受的用户数量等。 相应的策略是,对技术上的难点进行足够的预先调研和分析,已充分预测项 目的需求和相应的难度;系统的健壮性方面,多个客户端连接服务器,对系统进 行强度测试,还要结合软件工程知识,进行自盒测试、黑盒测试、边界测试和功 能测试等,以求最大可能地发现系统存在的问题。 2 3 相关系统和工具简介 首先简单介绍一下开发工具和系统平台。开发工具和平台主要包括: 服务器端:l i n u xo s ,e d i t p l u s 2 ,p h p5 0 2 ; 客户端上传子系统:v i s u a l s t u d i o n e t ( c 撑n e t ) ,v i s u a l c + + 6 0 , n n o s e t u p5 o : 第二章 系统的开发工具和需求分析 客户端下载子系统:i e 6 0 ,p h p5 0 1 2 : 数据库:m y s q l 。 服务器端的操作系统平台是s | a c k w a r el i n u x 9 0 ,通过l i n u x 的编译器g c c 对c 语言程序进行编译,并运行在服务器上,以实现主动队列管理,网络通信与 文件传输,具有可靠性和稳定性,并方便管理员的后台维护。 客户端的系统一般是w i n d o w s 2 0 0 0 或者w i n d o w sx p , 开发客户端的上传子 系统部分是用工具m i c r o s o f t 公司出品的c # n e t 实现的,出于其开发的软件具有 体积小的特点,方便用户在w i n d o w s 上安装,且界面友好,并可实现真正意义 的多线程开发。同时用v c + + 6 0 开发a e t i v e x 控件,实现了集成多种功能的海 量文件上传,由客户端的上传子系统调用。 l i n u x 服务器上安装a p a c h e 和m y s q l ,可以通过p h p 编程开发服务器端的 网站部分,实现客户管理,文件查询和下载,更新历史记录等多种功能。 客户端的下载部分用p h p 开发。同时结合m y s q l 数据库,对数据库罩的文 件实现查询,下载,删除等功能。对l i n u x 服务器的文件实现下载,删除,查询 等等功能,并方便普通客户在w i n d o w s 上实现文件的下载。 2 3 1l i n u x 简介 l i n u x 是一个类似于u n i x ,开放源代码的操作系统。l i n u x 不仅以其源代码 公开闻名于世,而且以其稳定性和可靠性雄霸操作系统领域,在网络应用技术方 面使用得更加广泛。 s t a e k w a r e 是美国发行的一套以其稳定性著称的l i n u x 发行版,从1 9 9 3 年问 世到现在,1 0 年时问已发展成为个功能强大、设计完善的操作系统。s l a c k w a r e 安装和升级系统很方便;系统整合稳定;硬件支持广泛;资源消耗少;自由免费。 用它作为网络的服务器具有很强的稳定性和可靠性。 所以本课题选择l i n u x 系统作为服务器,在s l a e k w a r el i n u x 9 0 平台下开发 s e r v e r 端的接收控制程序。在l i n u x 上运行c 程序。具有可靠性和稳定性。此外, 我们还实现了自定义的扩展f t p 协议,分包传送文件。 在l i n u x 上运行c 程序,需要将源程序进行编译,然后再执行。这里需要的 编译器是g c c ,编译命令是:g c cs e r v e r e 删os e r v e r :而本课题需要将c 语言程 序和m y s q l 数据库连接,服务器端的c 语言程序开发后,编译执行的命令是: g e es e r v e r c os e r v e r l u s r l o c a l m y s q l l i b l m y s q l c l i e n t l n s l _ 1 z 这样编译后生成文件s e w e r o u t ,在命令行下执行:s e r v e r o u t ,服务器端的 接收控制程序就运行起来了。 第二章系统的开发r 具平需求分析 2 3 2v i s u a ls t u d i o n e t c 撑n e t 是一种最新的、面向对象、高效安全、支持现有网络编程新标准的 编程语言。本项目采用v i s u a lc 撑n e t 来实现c l i e n t 端的上传子系统。 c l i e n t 端询问s e r v e r 端的队列状态,在允许上传的情况下使用动态压缩,并 进行多线程传输。c l i e n t 端上建立友好的用户界面,带有进度条分别显示压缩进 度和传输进度。客户端丌发用c # n e t 实现,由于其开发的软件具有体积小的特 点,故方便用户安装。 2 3 3v i s u a lc + + 编程 v i s u a lc + + 是m i c r o s o f t 公司开发的基于w i n d o w s 操作系统的编程工具,它 采用一种巧妙的方法将w i n d o w s 的编程复杂性封装起来,编程者可以比较轻松 地进行w i n d o w s 应用程序的设计。v i s u a l c + + 6 0 继承了以前版本的优点,为用 户提供了更为友好的可视化开发环境。 本课题是在v i s u a lc 十+ 6 0 平台下丌发a c t i v e x 控件,来实现三部分功能: 多线程上传,进度显示和断点续传。这样的好处是,把这三部分的技术集中实现 于一个a c t i v e x 控件上,由c 拌n e t 调用方便,调用时不需考虑控件的内部编程, 只需设置接口参数即可,具有较好的封装性。 2 3 4m y s q l 数据库 在服务器端的s l a c k w a r el i n u x9 0 平台上安装a p a c h e 和m y s q l ,m y s q l 是 最受欢迎的开源s q l 数据库管理系统,它由m y s q la b 开发、发布和支持, m y s q la b 是一家基于m y s q l 开发人员的商业公司。m y s q l 是一个快速的、 多线程、多用户和健壮的s q l 数据库服务器。 本课题需要数据库编程的部分较多,如客户端上传时需登陆服务器进行身份 验证本质上是通过服务器对数据库记录的验证;还有服务器使用c 语言丌发 接收控制程序,直接对m y s q l 数据库的记录进行增、删、改、查等操作。 服务器端的网页和客户端的下载网页部分都通过p h p 编程,直接实现对服 务器端数据库旱的文件下载,查询,删除等操作。 第三章系统的牲体设计 第三章系统的整体设计 整体设计主要包括硬件设计和软件设计两个部分。对系统进行整体设计的过 程中,主要运用u m l 对系统建模,结台软件工程的理论知识,进行分析和设计。 3 1 本课题的软件整体设计 分析本课题的软件系统模型,要运用u m l 建模,建模是一种从高层并以适 当的形式来考虑一个设计的表述和理解它怎样运行的能力。u m l 建模使我们应 用规范的面向对象分析和设计的方法与理论,达到构建和设计变得更直观,更容 易地理解与修改的层次。根据建模成果划分主要的功能模块,规划整体的架构, 3 1 1 软件模型图 u m l 图主要分为:用例图,类图,序列图,协作图,活动图,状态图。组 件图,部署图等九种。这些图可蛆帮助我们,对实体的动作和状态进行更深入的 理解和更细致的分析。d 2 丌i 发远程传输系统,需要进行详细周密的软件分析和设 计。在开发代码之前,我们经过了为期一个月的u m l 建模方法,对系统分别构建: 序列图,状态图,活动图,部署图程序结构图等,通过多角度对客户端和服务器 端的状态和动作等运行情况进行分析,从而开发出性能最优和健壮可靠的软件。 运用u m l 建模的分析方法,主要步骤是:首先分析系统整体的模型,构建部 署图;然后分别对客,、端和服务器端构建状态图和活动图;最后建立整体软件模 型图和通信双方的程序结构图,细致具体的规划客户端和服务器端的程序设计。 首先,从系统整体入手,构建系统部署图。一个u m l 部署图描述了个运行 时的硬件结点,以及在这些结点上运行的软件组件的静态视图。部署图鼹示了系 统的硬件,安装在硬件上的软件,以及_ 耳; 于连接异构的机器之间的中间件。如图 统的硬件,安装在硬件上的软件,以及用丁连接异构的机器之间的中间件。如图 3 1 。 第三章系统的整体设计 图3 - 1 方文传输系统部署图 甩户 然后u m l 的状态图描述一个实体基于事件反应的动态行为,显示了该实体如 何根据当前所处的状态对不同的时间做出反应的。这里侧重描述客户端和服务器 端的状态转换情况,绘制出状态图,如图3 2 和图3 3 。 图3 2 方文传输系统客户端状态图 鳖l 塑燮 图3 3 方文传输系统服务器端状态图 图3 4 方文传输系统客户端活动图 蓑 第三章系统的整体设计 图3 - 5 方文传输系统服务器端活动图 最后,着眼分析系统整体的软件模型,构建软件模型图,并具体地规划通信 双方的程序设计,建立软件模型图和通信双方的程序结构图,综合描述程序的执 行顺序,以及动作,状态,消息等的转换和接收发送情况。如图3 - 6 ,图3 7 和 图3 - 8 。 第三章系统的整体设计 图3 - 6 方文传输系统软件模型图 1 7 第三章系统的整体设计 图3 7 方文传输系统客户端程序结构图 第三章系统的整体设计 崮岫= i 却导u n 。m “悭珂之n n 一避 三枷弼 一唾 k 伍鄹。p 。司习7 蓟也一诺。 熹隔 图3 8 方文传输系统服务器端程序结构图 3 1 2 消息动作状态转换机制 根据上面的状态图,活动图,软件模型部署图等进行建模,我们分析出通信 的实体在某种状态下收到某种消息,执行某种动作,再转入另外一种状态,这是 种由某状态接收到消息,再执行动作转入另状态的转换机制。通过研究这种 转换机制,能更好的理解通信双方的活动情况,如表3 - 1 。 表3 - 1 ”状态消息动作”转换表 发送当前状态收到消息相应动作发送消息 接收后续状态 方方 c l i e n tw a i t a p p l y c o n n e c t c o n n e c t s e r v e rs e r 、,e rc o n n e c t s e t s e r v e rs e r v e r l i s t e nc o n n e e t s e r v e rc o n n e c tc o n n e c t o kc l i e n tc o n n e c t 0 v e r 1 9 第三章系统的整体设计 c l i e n tc o n n e c t s e rc o n n e c t o k s e n d u s r i n f o f ( ) s e n d u s r i n f os e r v e ru s r i n t 0 0 v e r c o n n e c t o v e rs e n d u s r i n f o s q l c h e c k u s r f f ) a c k n u s r i n f oc l i e n t a c k n u s r i n f o 0 c l i e n tu s r i n f o o v e ra c k n u s r i n f o s e n d f i l e i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论