基于HTTP协议的断点续传应用系统开发毕业设计说明书(论文)(39页).doc
《基于HTTP协议的断点续传应用系统开发毕业设计说明书(论文)(39页).doc》由会员分享,可在线阅读,更多相关《基于HTTP协议的断点续传应用系统开发毕业设计说明书(论文)(39页).doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于HTTP协议的断点续传应用系统开发毕业设计说明书(论文)-第 32 页本科毕业设计说明书(论文)题目:基于HTTP协议的断点续传应用系统开发毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解
2、大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 基于HTTP协议的断点续传应用系统开发摘 要文件的上传下载是计算机网络核心应用之一。计算网络的发展围绕在怎样使得文件上传下载更快、更好、更安全。当今的网络时代,下载软件是使用最频繁的软件之一,而网络的不稳定常常造成数据传输的不稳定,为了获得可靠、高效的数据传输,断点续传技术应运而生。本系统
3、开发基于HTTP协议,具有断点续传、多线程下载功能,这些功能的实现大大减少资源的浪费,节省用户下载的时间。本系统的开发用到了多线程技术、网络编程、I/O流技术和Swing用户界面编程,涉及到J2SE中一些基本技术,达到了综合运用所学过的Java知识的目的。本文对系统的需求分析、关键技术和难点进行了的详细描述,同时又详细介绍本系统的设计与实现。关键词:断点续传,多线程,下载,http THE DEVELOPMENT OF TECHNOLOGY FOR DOWNLOADING CONTINUOUSLY FROM BREAK POINTS SYSTEM BASED ON HTTP PROTOCOL
4、ABSTRACT To upload and download files is one of core applications of computer network. Development of network computing is how to make file upload and download faster, better, more secured. At present, the softwares for downloading files are used frequently. Data transmission problem that is caused
5、by network instability is quite unstable. In order to obtain reliable and efficient data transfer, TDCBP technology turns out.Based on the Http protocol, the system implements technology for downloading continuously from break points (TDCBP). It is also dependent on multi-threads programming, which
6、greatly reduces resources and saves downloading time. During development of system, it utilizes a multi-threading, network programming, I/O streaming technology, and Swing library for user interface programming. And then it reaches the purpose of integrated application based on Java.This article not
7、 only analyzes the requirements of this system with detailed descriptions of the key technology and dificulties, but also introduces the system design in detail and implementation of this system.Key Words: tdcbp, multithreading, download, http目 录摘 要1ABSTRACT2第一章 绪论11.1研究的背景11.2研究的意义11.3研究的目标21.4可行性分
8、析21.4.1技术可行性21.4.2操作可行性31.5论文内容概述3第二章 相关理论与技术42.1JAVA的简介42.2Swing技术简介62.2.1Swing组件的简介82.3Eclipse的简介102.3.1Eclipse的起源和发展102.3.2Eclipse的体系结构102.4HTTP协议的简介112.5开发环境122.6本章小结12第三章 需求分析及关键技术和难点133.1用户需求分析133.2系统功能需求分析143.2.1下载任务实体类的基本功能分析143.2.2系统工具类的基本功能分析153.2.3线程下载类的基本功能分析153.2.4下载任务总线程控制类的基本功能分析153.2
9、.5用户界面类的基本功能分析163.3系统流程及模块划分163.4关键技术和难点173.4.1Java多线程技术173.4.2Java I/O流技术183.5本章小结20第四章 系统详细设计与实现214.1系统基本流程214.2系统功能模块设计224.2.1系统下载功能的实现224.2.2断点续传功能的设计与实现264.2.3多线程的设计与实现284.2.4文件序列化保存下载信息304.2.5系统界面设计314.3本章小结33第五章 系统运行测试345.1系统测试345.1.1数据正确性测试345.1.2系统功能测试355.2本章小结38第六章 总结39参考文献40致谢42附录43附录1 毕业
10、设计文献综述43附录2 毕业设计开题报告43附录3 毕业设计外文翻译(中文译文与外文原文)43第一章 绪论1.1 研究的背景文件的上传下载是计算机网络核心应用之一。计算网络的发展围绕在怎样使得文件上传下载更快,更好,更安全的核心周围1。当今的网络时代,下载软件是使用最频繁的软件之一。这些年来,下载技术一直在发展,最原始的下载功能仅仅是个“下载”过程,即从WEB服务器上连续地读取文件。其最大的问题是,由于网络的不稳定性或者异常的操作,一旦连接断开使得下载过程中断,就不得不全部从头再来一次。随后,“断点续传”的概念就出来了。“断点续传”,顾名思义就是如果下载中断,在重新建立连接后,跳过已经下载的部
11、分,而只下载没有下载的部分。这样可以大大减少资源的浪费,节省下载的时间2。自从“多线程下载”技术发明以来,这项技术得到前所未有的关注已是不争的事实。在“网络蚂蚁”软件流行开后,许多下载软件也都纷纷效仿,是否具有“多线程下载”技术、甚至能支持多少个下载线程都成了人们评测下载软件的要素。“多线程下载”的基础是WEB服务器支持远程的随机读取,也即支持“断点续传”。这样,在下载时可以把文件分成若干部分,每一部分创建一个下载线程进行下载3。JAVA又是一种适用于平滑移植、安全、健壮和可扩展等跨平台开发语言,能开发出跨平台的应用对象和应用程序,所以本系统的实现后可以在多个操作系统平台上运行,如WINDOW
12、S、Linux等,甚至是在非PC上,比如手机或PDA上该设计采用JAVA多线程与线程安全机制,在一定程度上能提高下载的速度和安全性4。1.2 研究的意义多线程和传统的单线程在程序设计上最大的区别是各个线程的控制流彼此独立,使得各个线程之间的代码是乱序执行,由此带来的线程调度问题。多线程进行断点续传,还要记录多个断点位置,且记录断点位置时也要考虑同步互斥等问题,这些都使得设计开发变得更复杂,但是可以明显提高网络文件的下载速度6。现在,不要说编写专门的下载软件,在自己编写的软件中,加入下载功能有时也非常必要。1.3 研究的目标开发基于HTTP协议的断点续传应用系统,其目标是为了方便用户,提供给用户
13、便捷的下载方式,更快的下载速度。本系统充分利用了网络上的多余带宽,采用“断点续传”技术,能在上次中止部位继续下载,有效避免了重复劳动,大大节省了下载者的连线下载时间。1.4 可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括技术上的可行性和操作上的可行性。本系统
14、的可行性分析如下:1.4.1 技术可行性下载程序功能模块的实现主要利用了面向对象的Java高级编程语言。使用Java作为开发工具主要是因为Java是目前比较流行而且非常成功的编程语言。多线程编程技术是Java语言的重要特点。多线程编程的含义是将程序任务分成几个并行的子任务。特别是在网络编程中,有很多功能是可以并发执行的。Java中实现多线程的类有两种方法:1.扩展java.lang.Thread类,用它覆盖Thread类的run方法。2.生成实现java.lang.Runnable接口的类并将其它的实例与java.lang.Thread实例相关联。Thread类是负责向其它类提供线程支持的最主
15、要的类,要使用一个类具有线程功能,在Java中只要简单地从Thread类派生一个子类就可以了。扩展Thread类,如printThread.java。由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。本系统使用Eclipse的SWING图形
16、界面技术进行开发。系统的可行性分析主要包括技术上的可行性和操作上的可行性。1.4.2 操作可行性下载程序的具备友好的用户界面,而且操作简单易于被用户接收,使用此下载程序十分方便,因为软件的操作思路比较清晰,而且用户实际操作的内容较少,所以用户只需要熟练操作计算机即可。因此从使用操作方面看,此系统得开发是可行的。1.5 论文内容概述各章节的主要内容如下: 第一章是绪论,讨论课题的研究背景、意义和研究目标,及可行性分析,包括技术可行性,操作可行性。第二章是软件开发工具和技术介绍,主要介绍了毕业设计中用到的技术及开发工具。第三章是需求分析,介绍系统业务流程概况,主要阐述了在线作业系统功能模块的需求用
17、例。第四章是概要设计和详细设计,描述了数据库设计方案,以及各功能模块的技术实现方案。 第五章是系统实现,这一章主要讲了开发环境及配置,并通过两个典型例子介绍了该系统的技术实现架构,阐述技术关键及解决方法和经验总结。第六章是结束语。第二章 相关理论与技术本系统用JAVA技术开发,开发工具是eclipse,涉及到JAVA多线程、swing、HTTP等相关技术,本章将对上述技术进行简要的阐述。2.1 JAVA的简介Java 技术既是一种高级的面向对象的编程语言,也是一个平台。Java 技术基于 Java 虚拟机(Java virtual machine,JVM)的概念 这是语言与底层软件和硬件之间的
18、一种转换器。Java 语言的所有实现都必须实现 JVM,从而使 Java 程序可以在有 JVM 的任何系统上运行6。Java 编程语言(Java programming language)与众不同之处在于:Java 程序既是编译型的(compiled)(转换为一种称为 Java 字节码的中间语言),又是解释型的(interpreted)(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。Java 平台(Java platform)是一种纯软件平台,它可以在各种基于硬件的平台上运行。
19、它有三个版本(参见后面的Java 平台的多个版本)。它由 JVM 和 Java 应用程序编程接口(Java Application Programming Interface,API)组成。Java API 是一个大型的现成软件组件(类)集合,它可以简化 applet 和应用程序的开发和部署,包括健壮、安全且可互操作的企业应用程序。它涵盖从基本对象到连网和安全性,再到 XML 生成和 Web 服务的所有东西。Java API 组织成相关类和接口的库;库也称为包(package)。除了 Java API 之外,每个完整的 Java 平台实现还包含:n 用来编译、运行、监视、调试应用程序以及建立应
20、用程序文档的开发工具。n 用来部署应用程序的标准机制。n 用来创建复杂的图形用户界面(GUI)的用户界面工具包。n 用来启用数据库访问和操作远程对象的集成库。Java 技术是最初由 Sun Microsystems 公司开发的。Java Community Process(JCP,一个由全世界的 Java 开发人员和获得许可的人员组成的开放性组织)对 Java 技术规范、参考实现和技术兼容性包进行开发和修订。在 2006 年 8 月,Sun Microsystems 宣布它打算开放 Java 平台的源码,并开始征询对许可协议和管理方式的反馈7。Java 语言的主要好处是,Java 应用程序可以
21、跨硬件平台和操作系统进行移植 这是因为每个平台上安装的 JVM 都可以理解同样的字节码。Java 语言和平台的可伸缩性非常强。在低端,现有的应用程序可以很容易地适应内存资源有限的设备。这种语言是进行服务器端 Web 编程的理想框架。因为它被设计为按照一种安全的方式通过网络运行,在通过互联网进行操作时,它提供了一定程度的安全性。在本质上,Java 技术将用户的计算能力从桌面扩展到了 Web 资源。Web 组件由称为Web 容器(Web container)的运行时平台支持,Web 容器的服务包括请求分派、安全性、并发性、生命周期管理以及对命名、事务和电子邮件等 API 的访问。在高端,Java应
22、用服务器(application server)作为 Java 组件、XML 和 Web 服务的 Web 容器,可以与数据库进行交互并提供动态的 Web 内容;它们还为企业应用程序提供应用程序开发环境,具有事务管理、安全性、集群、性能、可用性、连接性和可伸缩性等功能。Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:(1) Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Ja
23、va Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。大多数 Java 开发人员使用 Java SE 5,也称为 Java 5.0 或 “Tiger”(2006 年 6 月,Java SE 6 或 “Mustang” 发布了 beta 版。)Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 HTTP 协议 断点续传 应用 系统 开发 毕业设计 说明书 论文 39
限制150内