※ ※ ※ ※ ※ ※ ※ ※ ※
※ 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迭代 开发
RUPRatio 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主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...
国庆钜惠 最低5折起 限量促销CYUN专注海外精品服务器资源,主营香港CN2 GIA、美国CERA、美国高防服务器资源,实体公司,ISP/IDC资质齐全,客服配备齐全。本次针对国庆推出非常给力的促销活动,旗下所有平台同享,新老客户同享,限时限量,售完截止。活动截止时间:2021年10月9日官网地址:www.cyun.net参与机型:香港CN2 GIA云服务器、香港双程CN2云服...
EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...