一个设计问题

来源:3-3 Ubuntu中通过Docker安装配置MySQL主从节点

慕圣7277251

2020-10-01

老师,问一下。面试时遇到个问题,设计一个软件使用多线程下载1T的大文件,这个软件如何应该设计?

写回答

1回答

xiaomo

2020-10-02

同学你好,一般多线程下载都是在请求下载时指定头部Range来实现分块下载的。首先指定下载的并发线程数,然后指定每次下载的分块大小和总的下载分块数量(一个文件在逻辑上被切成多少块下载),然后可以指定本地磁盘的一块连续地址空间用以存储下载的文件内容。下载完成后,再做一个文件的hash值校验。大致如此,实际要考虑的问题会更多。

0
1
慕圣7277251
如果是1T的文件,它的分块合并流程是怎末实现的?电脑的内存大小有限。还有可以用sha1sum计算 1T文件的sha1吗?
2020-10-02
共1条回复

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 493 问题

查看课程