在互联网上传输大文件,一直是具有挑战性的工作,特别是要将几个G以至于上百G的文件上传到云端服务器,或从服务器下载下来,能否成功是要靠点运气的,造成此困难的原因大致有以下几点:
- 互联网网速飘忽不定,传输过程不稳定以至于被中断
- 常用的传输协议,如http、ftp等在传输中断时恢复的能力不强
- 大文件传输时间跨度长,要保障在整个传输周期内不发生问题的几率较低
LargeFileTransfer既是解决大文件传输问题的工具,它是从OnTheSSH软件的一个模块提取出来而独立创建的程序,是完全免费的工具软件。
LargeFileTransfer工作在SSH协议之上,因此不需要在云端服务器上安装任何服务程序。下图展示了工作原理:
在传输之前,先在源端将大文件分割成许多块文件,然后传输这些块文件,最后在目的端将这些块文件进行合并。LargeFileTransfer软件在传输过程中进行以下管理和控制:
- 获得源文件的大小、设置块文件的大小,将源文件进行分割。
- 通过ssh/scp协议并发传输块文件,在传输过程中监控每个块文件的传输状态,任何块文件传输失败或传输超时,都会触发此块文件的重新传输,直至此块文件被完整传输到目的端。
- 全部的块文件传输完成时,进行块文件合并。
下图是LargeFileTransfer上传大文件的程序截图(下载界面和此截图基本一致)。LargeFileTransfer软件当前版本支持中文和英文,如果你的系统是非中文的(英文或其他语种)将会显示为英文界面。
在源和目的栏目中,选择要上传的本地文件和远端接收此文件的目录。在分割大小栏目中定义分割块的单位和数量,他们决定了分割块文件的大小。在分割目录栏目中,设置本地分割块的存储目录和远端分割块的接收目录。
下面是传输过程的界面截图:
二进制发行版
下载 | 版本 | 适用于 | 大小 |
https://onthessh.com/download/large-file-transfer-v15-windows/ | V1.5 | X86 Winodws 10、11 | 24M |
https://onthessh.com/download/large-file-transfer-v15-linux/ | V1.5 | X86 linux Kylin V10(SP1) | 82M |
https://onthessh.com/download/large-file-transfer-v15-macos/ | V1.5 | RAM MacOS | 21M |
运行说明:
- windows版本无需安装,解压后双击”LargeFileTransfer15.exe”即可运行。
- MacOS版本解压后是app包程序,因为此包程序不是从Apple Store下载,因此需要按照安装第三方app程序去安装运行。
- Linux版本解压后,需要在终端中执行”LargeFileTransfer15.sh”脚本来运行。
源码
LargeFileTransfer程序由Qt和Rust两种编程语言共同构建,其中Qt部分是开源的。