Skip to content

beanjoy/distributed-downloader

 
 

Repository files navigation

image

SJTU-CS339 Teamwork: Distributed-Downloader

This repository contains the code of our CS339 Computer Network's team project Distributed Downloader. Here we will give you a simple example to show you how to use the repository to accelerate your download through a distributed way. For design principles and detailed architecture, you can refer to our paper. image

How to use

First of all, the following requirement should be satisfied:

python >= 3.6

and then you can install other dependency by running:

pip3 install -r requirements.txt

and to run server, client and manager instance properly, you need to follow our examples client/config/client_config_example.yml, server/config/server_config_example.yml and manager/config/manager_config_example.yml to create your own config files client_config.yml, server_config.yml and manager_config.yml under the same directory.

Second, you must start a manager instance on the manager machine by running:

python manager_cli.py

After you start the manager instance, you can see manager's ipv4 address in the terminal, change the MANAGER_ADDR_IPV4 in client/config/client_config.yml on the client machine and server/config/server_config.yml on the server machines to make sure that they can connect with proper manager.

Third, start some server instances on server machines by running:

python server_cli.py

Client will download faster if you start more server instances here.

Last, start a client instance and assign a download URL to it by running:

python client_cli.py $given URL$

Now you can enjoy your fast download!

About

分布式下载工具--多机器多线程下载工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.6%
  • Shell 1.9%
  • Batchfile 0.5%