书签基于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

腾讯云轻量服务器老用户续费优惠和老用户复购活动

继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...

HostRound:美国达拉斯/洛杉矶/纽约/荷兰大硬盘服务器,1TB NVMe+4TB HDD,$179/月

hostround怎么样?大硬盘服务器,高防服务器。hostround,美国商家,2017年成立,正规注册公司(Company File #6180543),提供虚拟主机、VPS云主机、美国服务器、荷兰服务器租用等。现在有1款特价大硬盘独服,位于达拉斯,配置还不错,本月订购时包括免费 500Gbps DDoS 保护,有兴趣的可以关注一下。点击直达:hostround官方网站地址美国\荷兰独立服务器...

NameCheap 2021年新年首次活动 域名 域名邮局 SSL证书等

NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...

大文件传输为你推荐
com域名空间域名和空间是什么意思com域名空间域名解析,我是一个新手站长,我买了一个空间跟一个COM域名,空间自带一个2级域名,我想把这个COM域名绑定到空间上,咋么办?急急急!求大神帮我,我创建一个游戏论坛,也查不到资料,可以给20元,我的手机13685455534,谢谢深圳网站空间怎样申请免费网站空间什么是虚拟主机虚拟主机是什么?虚拟主机软件常见的虚拟机软件有哪几种?下载虚拟主机虚拟机下载完之后如何安装www二级域名两个不同的网站一个用主域名,一个用www二级域名,这样做对SEO有没有影响中文域名中文域名的概念?申请域名如何申请自己的域名?老域名老域名的利弊有哪些?
windows虚拟主机 如何注册域名 域名服务器上存放着internet主机的 备案域名出售 主机优惠码 greengeeks enom windows主机 紫田 gitcafe mobaxterm 河南服务器 小米数据库 蜗牛魔方 100x100头像 e蜗 idc资讯 adroit 国外代理服务器软件 电信主机 更多