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

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

ZJI全新上架香港站群服务器,4C段238个IP月付1400元起

ZJI本月新上线了香港葵湾机房站群服务器,提供4个C段238个IPv4,支持使用8折优惠码,优惠后最低每月1400元起。ZJI是原Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月更名为ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务,所选数据中心均为国内普遍访问速度不错的机房。葵湾二型(4C站群)CPU:I...

A400:36元/季,16.8/月kvm架构,线路优质,延迟低

A400互联是一家成立于2020年的商家,主要推行洛杉矶服务器采用kvm架构,线路优质,延迟低,稳定性高!全场产品对标腾讯云轻量,服务器线路有有美国洛杉矶cn2_gia、香港cn2+cmi,目前推行的vps服务器均为精心挑选的优质线路机房,A400互联推出了夏季优惠洛杉矶5折、香港7折促销活动,质量可靠,价格实惠!二:优惠码洛杉矶五折优惠码:20210620香港cn2七折优惠码:0710三、优惠方...

大文件传输为你推荐
免费美国主机哪里有免费不限流量的国外主机域名注册查询如何查域名注册信息域名服务商域名服务商所属区域怎么填写美国vps租用VPS服务器租用哪里的好?云服务器租用谁知道租用服务器、云主机去哪里租?服务器租用费用价格是多少呀成都虚拟主机成都唯度科技有限公司怎么样?windows虚拟主机在windows上怎么安装虚拟机深圳虚拟主机深圳市虚拟主机深圳双线虚拟主机深圳主机合租深圳合租主机空推荐有哪?虚拟主机99idc如何选择虚拟主机的的操作系统以及更换操作系统是注意事项青岛虚拟主机虚拟主机在什么地方买好?又便宜?
100m虚拟主机 免费域名注册 3322动态域名注册 上海vps 北京vps 提供香港vps 域名备案只选云聚达 cn域名个人注册 免费cn域名 腾讯云数据库 免费ftp站点 灵动鬼影 91vps 33456 免费私人服务器 华为云盘 台湾google 带宽租赁 主机管理系统 中国linux 更多