多线程下载工具+答辩+ppt

上传人:ji****n 文档编号:54959391 上传时间:2018-09-22 格式:PPT 页数:26 大小:404KB
返回 下载 相关 举报
多线程下载工具+答辩+ppt_第1页
第1页 / 共26页
多线程下载工具+答辩+ppt_第2页
第2页 / 共26页
多线程下载工具+答辩+ppt_第3页
第3页 / 共26页
多线程下载工具+答辩+ppt_第4页
第4页 / 共26页
多线程下载工具+答辩+ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《多线程下载工具+答辩+ppt》由会员分享,可在线阅读,更多相关《多线程下载工具+答辩+ppt(26页珍藏版)》请在金锄头文库上搜索。

1、基于Linux多线程下载工具的设计与实现,江西理工大学 计算机科学与技术,作者: 何贵明 指导老师:李伟,大纲,课题的目的和意义 下载工具的发展 设计目标 系统概要设计 详细设计 设计总结 结束语,课题的目的和意义,本系统是开发一个简单的多线程下载工具,基本实现单资源的多线程任务下载,同时实现断点续传的功能。相对于目前主流下载工具的实现技术,本设计是不能相比的。实现这么一个下载具最大的意义是探索多线程下载的基本原理,综合运用所学的知识,提高自己的动手能力,及查阅资料继续学习的能力。,下载工具的发展,随着互联网应用范围不断扩展,网络包含的信息资源日益增多。互联网用户可以通过网络下载所需的数据资源

2、并保存到本地磁盘当中,因此相应的基于网络的下载工具应运而生。且这些年来网络技术的发展,下载技术也发生了很大的改进,不管是下载的资源,还是速度,还有下载文件的管理。,下载工具的发展,纵观下载工具的发展过程是一个发现问题解决问题的过程 在最开始的时候采用命令行的方式进行copy,这方式对于一般的用户非常的不适用。 后来出现了单资源的单线程下载,但它也有它的缺点,一个就是下载速度,另一个就是没有支持断点续传的功能。 解决了下载速度及断点支持的问题,但数据来源单一 出现了超线程下载,即多资源多线程下载 P2P技术的出现更加丰富了资源的来源,也相信以后会是P2P的天下,设计的目标,实现一个可用的多任务,

3、多线程下载工具。 具备以下功能: 实现新建下载任务的功能 下载过程实现多线程的功能 实现任务暂停,及恢复下载的功能 实现停止任务功能 实现一个简洁的易操作的GUI界面,系统概要设计,本系统在整体结构上分为三层,这三层分别为GUI表现层,控制层,底层下载操作,文件及网络操作,系统功能流程图,新建/恢复下载任务流程图,暂停/停止下载任务流程图,系统详细设计,获取网络资源 线程任务分配 创建下载任务 任务下载 事件监听器设计 下载控制器设计 显示控制器设计 断点记录文件设计 文件操作 GUI界面设计,获取网络资源,获取网络资源是下载过程中的第一个步骤,也是很关键的一步。由于网络的问题是多变的,有可能

4、指定的下载资源已经不存在,或者网络连接有问题,等一系列的问题,因些在连接资源过程中我们得对于相应的连接进行相应在测试,它是否可行,它的信息是否是我们想要的,这一节主要就是讨论这个功能。,线程任务分配,我们通过对http1.1协议的了解后,知道通过对它的请求头进行设置,就可以获取到远程文件的指定部分,而不用从头开始下载。利用这个特性我们就可以设计一个多线程下载的原型出来了。要进行多线程下载,主要实现的是为每个线程分配一个指定范围的数据下载,那怎么为每一个下载线程进行任务分配呢?这就是这一节要讨论的内容。,创建下载任务,这个模块主要任务就是根据用户的新建任务请求将要下载的任务基本信息封装在一个名为

5、Task的实体中以便其它的模块根据它封装的内容进行相应的操作,流程图,任务下载,创建完任务我们就可以开始进行下载操作了。在这个模块中,要使用线程技术实现一个可重用的,较高效的实现程序。主要功能就是能能读取出指定资源相应偏移量的数据,并调用文件操作模块将下载的数据保存到相应文件中去。,事件监听器设计,事件机制在这个设计中非常的重要,所有关于线程下载完成,任务下载完成的时候都是通过事件被触发的方式完成。这种机制的好处就是不用开启新的线程去监视下载的情况,实时性上要比采用监视线程要好很多,在消耗的资源上也比开监视线程要小很多,仅在事件被触发时才进行相应的操作。,下载控制器设计,下载控制器在本设计中处

6、于核心的地位,所有来自GUI界面的请求,还有底层网络操作及文件的操作都通过控制器进行协调工作。控制器在整个系统的运行周期中都存在着作用,在应用程序刚刚启动时,它需要读取系统配置及上一次下载的断点信息。所有对于下载的操作都要通过它来转发,甚至每一次断点的保存都是通过它完成。,显示控制器设计,用于控制下载主界面上各个信息的显示控制(主要是下载列表的显示)。对主页面上下载列表的显示控制仅需调用DisplayController的方法进行操作,而不需要知道具体是如何操作显示。从某种意义上说这个类仅是一个操作显示的一个代理类。,断点记录,断点保存格式 断点文件保存的信息 断点的保存时机,断点记录文件格式

7、,Tasks节点:表示多个Task的集合 Task节点:表示一个下载任务 Threads节点:用于保存当前线程任务的下载情况,Task记录的信息,保存下载任务的基本信息:url、保存路径、下载线程数、任务号、下载文件长度、文件名、是否支持断点续传、下载状态信息、平均下载速度、下载运行时间。以上属性都作为Task节点的属性保存,Threads记录的信息,各个线程的线程号 各个线程下载的起始位置 各个线程下载的长度 各个线程已下载的长度,断点保存的时机,在本设计中断点信息是当用任务下载时每隔一秒钟就进行下载情况进行保存,这样即使网络突然断开,下次下载也可从记录的断点处继续下载。,断点保存时机,文件

8、操作,保存网络流的操作有一个重点就是,保存到本地文件的哪个部分去所以在每一次保存下载块时都得设置要插入到本地文件的位置。,保存网络数据流程,GUI界面设计,GUI界面它是我们用户与应用程序进行交流的窗口,通它我们可以很方便的对程序进行控制操作。使用者并不需要具备专业的技术,只要轻轻点点鼠标就行。所以在制作GUI时我们要考虑到诸多的问题,如设计怎么样能更加符合用户的使用习惯等。,设计总结,本次毕业设计,我不仅在功能上实现了该设计预定的内容,而且也在它的基础上进行了小部分的扩展。且对下载过程中有可能遇到的问题都有进行相应的解决。 通过本次毕业设计,我扩展了自己的专业知识,对多线程下载及断点续传的基本原理有了一个较详细的了解。也通过本设计我更加强了自己的动手能力和查阅资料的能力,这为以后自己在工作中遇到问题和解决问题都有很大的帮助。,演示结束,谢谢大家,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号