书签基于SOCKET的大文件批量传输系统的设计与实现

大文件传输  时间:2021-01-12  阅读:()

※ ※ ※ ※ ※ ※ ※ ※ ※

※ 2008届 学生 ※

※毕业设计(论文)材料※

  学生毕业设计论文

基于SOC KET的大 文件批量传 输课题名称

系统的设计与实现

姓 名

学 号

院、系、部 计算机科学 系

专 业 计算机科学 与技术

指导教师

2008年 5 月 25 日

基于SOC KET的大 文件批量传 输系统

的设 计与实现

湖南城市学院计算机科学系 413000

摘要 Socke t在英文中是插座的意思它的设计者实际上是暗指电话插座。因为在So cket环境下编程很像是模拟打电话 Inter net的IP地址就是电话号码要打电话需要电话插座在程序中就是向系统申请一个So cket  以后两台机器上的程序“交谈”都是通过这个Sock et来进行的。对程序员来说也可以把S ocket看成一个文件指针只要向指针所指的文件读写数据就可以实现双向通信。利用Soc ket进行通信有两种主要的方式。第一种是面向连接的流方式。顾名思义在这种方式下两个通信的应用程序之间先要建立一种连接链路其过程好像在打电话。一台计算机电话要想和另一台计算机电话进行数据传输通话 必须首先获得一条链路只有确定了这条通路之后数据

〔通话才能被正确接收和发送。这种方式对应的是TC P ( Trans port Contr ol Proto col 协议。第二种叫做无连接的数据报文方式这时两台计算机像是把数据放在一个信封里通过网络寄给对方信在传送的过程中有可能会残缺不全而且后发出的信也有可能会先收到它对应的是UDP ( User Datagram Protocol协议。

流方式的特点是通信可靠对数据有校验和重发的机制通常用来做数据文件的传输。网络的快速发展和普及文件传输愈来愈频繁传输文件容量越来越大单纯的套接字传输不能满足需求。 WindowSocket编程和多线程技术结合可以很好的解决这一问题使得文件传输效率大大提高能很好的支持大文件、批量传输提高服务器的响应能力和并发处理能力。WindowSocket采用字节流的方式传输数据可以很好的保证传输的稳定性和安全性而采用动态哈夫曼编码实现传输流的压缩减轻网络传输负担提高网络性能满足用户 的需求。

关键字 Socke t;TCP;多线程 RUP UML

I

The large files bulk transmissionbasedonsocke tsystem design and implementation

(Hunan city University The computer science is 2,004levels of computer sciences and the technical specialty,Hunan yiyan g413000)

Abstract: Socket socket in Engli sh is the meani ng, it is impli ed in fact , the designers of telephone socke t. Socket envir onment because the progr amming is simil ar to analo g telephone,Internet IP address is the telephone number to call, the need to phone jack, in the proc eedings is to apply a system Socket, after two machines on the procedures "conversation"Through this Socket are condu cted. The progr ammers, can also Socke t as a guide line docum ent, as long as the guidelines referred to the docum ents to read and write data, we can achie ve two-way communication. Socket Communications to use, there are two main ways.The first is to connect the flow-oriented appro ach..As the name sugge sts, in this way , the two commu nications applications to establish a link betwe en the first link, the process seems to be called.A computer (telephone)and to another c omputer (phone),data transmis sion(c all),you must first obtain a link,only ident ified this pathw ay, the data (all) can be prope rly recei ve and send . This is the corresponding TCP(Transport Control Protocol)agreement.The second is called a data link to the text, then two computers such as data on an envel ope, sent to each other through the netwo rk,believed to be in the process of transmission may be incomplete,and issued a letter May also have to receive, it is the corresponding UDP(User Datagram Protocol)agreement.

Way flow of commu nication is chara cterized by relia ble, the data and re -issued a check mechanism,usually used for the transmission of data files.Network's rapid development and popularity of file trans fer more and more frequ ent, increasing the capacity of trans ferring files, a simple socke t trans mission can not meet the deman d.Window Socke t progr amming and multi-threading can combine good solution to this probl em,making file trans fer greatly enhanc ed the efficiency of large files can be very good support,bulk transmission, improve server capacity and with the respo nse capac ity.Window Socke t used byte -way trans mission of data , can guarantee a good trans fer of stability and secur ity and the use of dynam ic Huffm an Codin g

II

transport strea m compr ession, reduce the burde n on trans mission netwo rks, improve netwo rk performance to meet the needs of users.

Ke y wo rds:S oc ket;T CP;multi-threaded;RUP;UML;

III

目 录

1 绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 1 面向对象思 想和UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 2 RUP迭代开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 3 套接字的发 展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 4 多线程技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 5 基于SOC KET的大批量文件传 输系统的功 能和特点. . . . . . . . . . . .错误未定义书签。1 6 目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2可行性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2. 1编写目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2. 2建议系统可 行性分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2. 3经济可行性 分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 系统设计与 分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 1概念的定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 2设计人员. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 3需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 4系统总体设 计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 5系统详细设 计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 6数据库理论 技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3 7数据库设计 说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4 应用系统实 现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4 1应用系统开 发工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4 2 C/S模型的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4 3主要功能实 现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

5 软件测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

5 1测试概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

5 2测试计划. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

5 3测试总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

6 安装部署. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

6 1简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

6 2系统环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

6 3应用程序安 装部署. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

6 4部署SQL 数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

7 总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

8 致谢语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

9 参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1 . 绪论

1 . 1 面向对象思 想和UML

面向对象方法(Objec t-Orien ted Metho d)是一种把面向对象的思想应用于软件开发过程中指导开发活动的系统方法简称OO (Objec t-Orien ted)方法是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体与客观实体有直接对应关系一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念 以对象为中心 以类和继承为构造机制来认识、理解、刻画客观世界和设计、构建相应的软件系统面向对象思想起源于面向对象语言伴随着面向对象编程语言的发展和流行 以其新型的独具优越的新方法成为当今软件开发的主流思想。

统一建模语言UML是Unifi edModel ing Langu age的缩写是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML是当今软件行业的通用语言 由于其独特的思想和对以往软件开发经验教训的总结 同时结合当今流行的面向对象的开发思想使其广泛的应用于软件行业中。从最初的1 .0到现在的2.0更贴近实际开发过程。

1 .2 RUP迭代 开发

RUPRatio nal Unifi edProce ss统一软件开发过程统一软件过程)是一个面向对象且基于网络的程序开发方法论。根据Rat ional (Ratio nal Rose和统一建模语言的开发者)的说法好像一个在线的指导者它可以为所有方面和层次的程序开发提供指导方针模版以及事例支持。 RUP和类似的产品--例如面向对象的软件过程

OOSP以及OPE NProce ss都是理解性的软件工程工具--把开发中面向过程的方面

例如定义的阶段技术和实践和其他开发的组件例如文档模型手册以及代码等等整合在一个统一的框架内。

1 .3 套接字的发 展

Winso ck是指W indow s Socke ts是一个为M icros oft Windo ws定义的网络编程规范。他源于UN IX中的B erkel y套接字Socke t使用Win dows Socke ts编制的应用程序可以同其他基于Win dows Socke tsAPI编制的应用程序通过网络进行通讯并且在编制基于Win sock的应用程序时不需要关心网络通信协议本身是如何工作的。

1

Winso ck不仅继承了Ber kely Socke ts的功能而且还针对Windo ws作了扩展Winso ck还支持多种网络通讯协议如常见的TC P/IP Trans missi on Contr ol Proto col/Inter net Proto col协议、 XNS(Xerox Netwo rk Syste m)  Digit al Equipment 公司的DEC Net协议Novel l公司的I PX/SPX(Inter net Packe tExcha nge/Seque nced Packe d Excha nge)等。 目前Win sock规范主要针对TCP/IP但只要提供了实现Wi nsock的动态连接库任何网络通讯协议都可以同Winsock兼容。

1 .4 多线程技术

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源是一个动态 的概念是一个活动的实体。线程是进程中的一个实体是被系统独立调度和分派的基本单位线程自己不拥有系统资源只拥有一点在运行中必不可少的资源但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

多线程是为了使得多个线程并行的工作以完成多项任务 以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。多线程的优点使用线程可以把占据长时间的程序中的任务放到后台去处理用户可以同时处理多件事情不需等待执行提高了程序的运行速度。可以为每个线程设置优先级 以调整工作进度。

1 .5 基于SOC KET的大 批量文件传 输系统的功 能和特点

本系统的设计与实现主要采用SO CKET编程。 同时使用多线程技术提高服务器的响应能力和并发处理能力采用动态哈夫曼编码实现传输流的压缩减轻网络传输负担支持断点续传,用户可以自己选择采用断点续传还是重新上传实现大文件上传,一次可以上传多个文件提供接口全面可以动态设置上传保存路径,设置允许扩展名,允许最大大小等可以限制上传单个文件大小,控制上传带宽上限,允许文件扩展名,拒绝文件扩展名等。

1 .6 目的

通过这次设计实践软件开发过程运用Rat ional Rose进行用例建模和分析设计加深对U ML的认识,采用RUP迭代开发方法进行开发进一步熟悉面向对象思想。用Visu alstudi o2005集成开发环境和Serv erSQL2000数据库进行开发实现;应用WinRuner 进行单元测试和集成测试。同时采用M icros oft Proje ct画甘特图对各阶度段进行跟踪,确保更个软件开发过程朝着计划方向稳定前进保证按时高质的完成各项任

2

务顺利的完成课题的各项要求提升自己各方面的能力。

2可行性分析

2. 1编写目的

首先我们开发此系统当作一个产品而不只是看成一个设计是为了方便用户传输文件提高效率。为此我们把它看做一个项目采用统一过程RUP进行开发采用面向对象的思想结合UML进行分析设计和用例建模在掌握主流开发思想和方法的同时确保整个项目朝着正确和可控的方向推进使整个项目按时保质完成。

2. 1. 2可行性研 究的前提

2. 1.2. 1要求

(1)功能要求

①生成数据要求管理员添加用户的基本信息添加进数据库方便日后使用。②安全性 要求用户在没有授权的情况下不能登录服务器。

③界面要求要求界面友好让使用者倍感舒服使用方便。

2. 1.2.2开发目标

1利用Win dow Socke t字节流的方式传输数据可以很好的保证传输的稳定性和安全性而采用动态哈夫曼编码实现传输流的压缩减轻网络传输负担提高网络性能满足用户的需求。

2为了完善管理用户必须是授权用户否则无法登录服务器。

3使用多线程技术使得文件传输效率大大提高能很好支持大文件、批量传输提高服务器的响应能力和并发处理能力。

4采用断点续传技术减少重复传输量提高网络资源的利用率使服务器磁盘利用率提高减少冗余提高服务器性能和处理能力。

2. 1.2.3环境

(1)开发环境

硬件奔四微机一台服务器/客户机,回路地址需网卡。

软件Windo ws2000操作系统SQL Serve r2000数据库系统Visua lStudi o.2005平

台。

(2)运行环境

硬件奔四以上微型计算机。

3

LOCVPS新上日本软银线路VPS,原生IP,8折优惠促销

LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...

CYUN专注海外精品服务器资源 国庆钜惠 最低5折起 限量促销

国庆钜惠 最低5折起 限量促销CYUN专注海外精品服务器资源,主营香港CN2 GIA、美国CERA、美国高防服务器资源,实体公司,ISP/IDC资质齐全,客服配备齐全。本次针对国庆推出非常给力的促销活动,旗下所有平台同享,新老客户同享,限时限量,售完截止。活动截止时间:2021年10月9日官网地址:www.cyun.net参与机型:香港CN2 GIA云服务器、香港双程CN2云服...

EdgeNat 新年开通优惠 - 韩国独立服务器原生IP地址CN2线路七折优惠

EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...

大文件传输为你推荐
海外虚拟主机空间有免费的性能好的国外虚拟主机空间吗?海外主机租用哪有国外(欧洲)虚拟主机出租域名空间代理免费空间代理,免费域名代理,哪里有?虚拟主机代理虚拟主机代理哪家好,应该选择哪个家?com域名空间那里有免费的com域名和空间申请啊!域名注册查询怎么查看域名是否注册美国vps主机美国VPS好?还是香港VPS好?免费网站域名申请哪有里可以申请免费域名的网站?代理主机如何将我工作的电脑设置为代理主机 让我回家以后可以用家里的电脑连接店里的主机访问网络网站空间购买哪里买网站空间好?
域名服务器 bluevm 台湾服务器 typecho 工信部icp备案号 台湾谷歌 512mb 监控服务器 forwarder ipower windowsserverr2 alertpay 傲盾代理 blaze 饭桶 网络安装 主机托管 天翼云主机 dell服务器论坛 好看的空间图片 更多