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

WebHorizon($10.56/年)256MB/5G SSD/200GB/日本VPS

WebHorizon是一家去年成立的国外VPS主机商,印度注册,提供虚拟主机和VPS产品,其中VPS包括OpenVZ和KVM架构,有独立IP也有共享IP,数据中心包括美国、波兰、日本、新加坡等(共享IP主机可选机房更多)。目前商家对日本VPS提供一个8折优惠码,优惠后最低款OpenVZ套餐年付10.56美元起。OpenVZCPU:1core内存:256MB硬盘:5G NVMe流量:200GB/1G...

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

PhotonVPS:美国Linux VPS半价促销2.5美元/月起,可选美国洛杉矶/达拉斯/芝加哥/阿什本等四机房

photonvps怎么样?photonvps现在针对旗下美国vps推出半价促销优惠活动,2.5美元/月起,免费10Gbps DDoS防御,Linux系统,机房可选美国洛杉矶、达拉斯、芝加哥、阿什本。以前觉得老牌商家PhotonVPS贵的朋友可以先入手一个月PhotonVPS美国Linux VPS试试了。PhotonVPS允许合法大人内容,支持支付宝、paypal和信用卡,30天退款保证。Photo...

大文件传输为你推荐
域名注册商如何成为一个域名注册商呀info域名注册info域名什么时候出现的?com域名空间我想注册个.com域名和买一个100M空间。网站空间购买网站空间购买注意事项虚拟主机是什么什么是虚拟主机?虚拟主机试用30天需要一个免费的虚拟主机,稳定的域名网站域名和网址一样吗?二级域名什么是二级域名网络域名网络域名是指什么? 买个域名需要多少钱啊?域名信息查询如何查网站域名是属于哪个公司的
个人虚拟主机 免费域名注册网站 kvmla t楼 idc测评网 美国php主机 godaddy 天猫双十一抢红包 全能主机 vip购优汇 phpmyadmin配置 100m独享 服务器监测 免费网页申请 dnspod 华为k3 成都主机托管 免备案cdn加速 zcloud register.com 更多