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