惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
博客园 - 【当耐特】
D
Docker
Y
Y Combinator Blog
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
F
Fortinet All Blogs
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
B
Blog
The GitHub Blog
The GitHub Blog
腾讯CDC
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
爱范儿
爱范儿
A
About on SuperTechFans
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
一个超大文件点对点传输工具的产品构思 - 少数派
2023-09-07 · via 少数派

需求痛点

现在大家在使用什么工具进行文件传输呢?聊天工具?网盘分享?牛奶快传这样的传输工具?

在文件比较小的情况下,这些方法其实都大同小异。但是如果文件大小达到GB级别,其实用这些工具都有不合适的地方。本篇文章想要探索,有没有一种更加好的方法,以及是否可以做到产品化。

现有方案

1、聊天工具

常用的微信,最大支持1G的文件。并且传输时,需要先上传到这些服务商的服务器,再下载到接受者本地。

2、网盘分享

百度网盘、阿里云盘这些工具也是不错的选择,而且目前还是比较常用的大文件传输工具。文件大小都可以很大,上传速度良好,但是下载时就一言难尽了。尤其是百度网盘,每秒几十KB的速度,不说GB级数据,下载几百兆的文件都需要很大的耐心。同样,文件是保存在这些网盘服务商的数据中心的。

3、牛奶快传这样的传输工具

牛奶快传类的传输工具,原理应该和网盘差不多。先上传到这些服务商的服务器,生成一个链接或密码,限时让接受者打开下载。这些服务商一般都会承诺过期自动销毁数据,但是毕竟还是有些安全风险。此外,这些工具一般都没有客户端,上传GB级数据时,还是会存在速度慢,甚至中断的情况。

解决思路

简单剖析一下目前大文件传输慢,可能的原因:

  1. 🐌上传者网速慢;
  2. 🐌🐌中间服务商接受数据慢;
  3. 🐌🐌🐌中间服务上下发数据慢(真的慢或者因为费用问题限制了速度);
  4. 🐌接收者网速慢。

同时,使用过局域网进行过数据传输的同学,应该知道局域网的两台设备之间互相Copy数据是非常快的。

那么能不能让互联网传输变得和局域网传输一样呢?这样我们就可以不让中间服务商赚差价,文件可以直接点对点传输,不存储在任何第三方的服务器上。

答案是可以的:那就是让互联网上的两台设备,通过网络工具整合在一个「虚拟局域网」下。

而这个工具,目前比较流行的就是 ZeroTier

ZeroTier官网介绍:ZeroTier允许您构建几乎任何类型的现代、安全的多点虚拟化网络。从强大的点对点网络到多云网格基础设施,我们提供了全球连接的简单性,就像本地网络一样。

方案DEMO

了解了原理,就让我们来简单做一个DEMO:

  1. 在ZeroTier上创建虚拟网络,选择私有的类型,这样其他客户端必须授权后加入。也可以选择公开,这样有网络id就可以自动加入。
  2. 设置这个虚拟局域网络的ip段为:192.168.1.X
  3. 分别在公司电脑和家里电脑上,安装ZeroTier的客户端(全平台支持),并通过网络id加入这个虚拟网络。家里电脑的虚拟局域网ip为192.168.191.1,公司电脑虚拟局域网ip为192.168.191.3 。
  4. 在家里电脑上ping一下公司电脑,可以看到已经连通:
链接

5、接下来测试一下传输一个大文件:

  • (1)一个StableDiffusion的model文件,4.27GB。
     
图片
  • (2)在「终端」中采用scp命令进行复制,代码如下:
    scp /Users/renyajun/gitee/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.ckpt renyajun@192.168.191.3:/Users/renyajun/Desktop
  • (3)执行结果:用时22分钟18秒,平均速度 3.0MB/s。
     
图片
  • (4)结论:平均3.0MB/s的速度非常理想,并且是点对点的传输,直接发送完成。

产品预想

产品特色优势

  • ⚡️接近本地局域网互传的传输速度;
  • 🔒点对点的传输,更加安全;

核心产品流程

  • 📧文件分享者,通过邮件简单注册,并安装客户端;
  • 🌐文件分享者开始分享文件,其实相当于建立一个临时虚拟局域网;
  • 📩通过邮件,自动将接受方法发送给文件接受者;
  • 💻文件接受者安装客户端,并可以通过邮件内的链接,直接接入这个虚拟局域网;
  • 📡临时局域网两个客户端同时上线,开始传输文件;
  • ♻️传输完成,自动销毁这个临时网络。
  • 💰依据临时网络建立的时长,向文件分享者收费。

产品难点

  • 安装可以建立虚拟网络的客户端,是一个难点,尤其是在MacOS或iOS客户端。
  • 需协调两台设备同时在线。

结语

总的来说,当前的大文件传输方案还是存在不少问题,如传输速度慢、存储在第三方服务器上可能存在安全风险等。建立点对点的虚拟局域网,实现接近局域网传输速度的文件传输,同时更加安全。