FileDownloader浅析(一)

FileDownloader--github地址

1.Filedownloader介绍

多任务多线程下载
高并发,独立进程
断点续传简单易用

2.框架结构图

FileDownloader浅析(一)_第1张图片
structure.png

3.下载流程图

FileDownloader浅析(一)_第2张图片
progress.png

4.核心原理

4.1

当下载一个文件时,启动一个任务,将文件分割为若干个部分,然后开启相应的线程并行执行下载文件,最后下载完成后合并为一个文件。

4.2

每开启一个任务,将该任务加入到线程池中,等待下载。使用观察者模式更新下载状态。

4.3

每执行一个任务,将其记录在数据库中,中断程序后再次打开程序,以便进行断点续传。

4.4

提供了网络连接组件,输出流组件,数据库组件,任务id生成器组件以及分块下载组件的可定制组件接口。

FileDownloader加载大致流程

FileDownloader浅析(一)_第3张图片
FileDownloader.png

你可能感兴趣的:(FileDownloader浅析(一))