由一位对数据传输速度不满的工程师开发,新型文件复制工具 Syq 通过并行连接和 TCP 优化,提供了比 rsync 更快的传输性能。
每天,许多人都要交换海量数据,或者在多台计算机之间花费时间同步文件。特别是服务器工程师,经常会在备份和移动数据上耗费大量精力。长期以来,我们一直理所当然地使用名为“rsync”(一种通过网络高效同步文件的工具)的工具来传输文件。然而,最近有一位对 rsync 速度感到不满的开发者推出了一款名为“Syq”的新工具 [Source 12]。
为什么这个工具很重要?
随着计算机使用量的增加,文件管理的效率直接关系到工作生产力。虽然现有的工具 rsync 功能非常强大,但它的配置复杂,且在一次性传输大量数据时速度会变得缓慢 [Source 12]。Syq 的出现,不仅超越了简单的文件复制,还为那些希望更智能、更快速地管理数据的用户提供了新的选择。特别是它能在为了安全而关闭端口的笔记本电脑环境下,无需任何额外的 SSH(安全外壳协议:安全远程连接协议)服务器设置即可传输文件,这一点非常实用 [Source 8, Source 10]。
通过类比理解 Syq 的原理
简单来说,如果把现有的 rsync 比作一条窄路上每次只能运送一件物品的卡车,那么 Syq 就像是一个“高速公路系统”,它将同一条道路划分为多个专用车道,让多辆卡车可以同时运送物品 [Source 2]。
Syq 利用了“并行连接(Parallel connections)”和“直接加密的 TCP(传输控制协议:将数据拆分传输并确认的通信协议)”技术 [Source 2]。这与我们同时打开多个网页下载文件时感觉速度更快是一个原理。此外,它不仅限于文件传输,其特点还在于可以通过 Python SDK(软件开发工具包)或 JSON API(程序间交换数据的接口)像编程一样自动化处理文件任务 [Source 9, Source 10]。
它目前的表现如何?
Syq 目前在本地环境或多设备之间执行文件复制、整理、删除等任务时,表现出了比 rsync 更快的速度 [Source 8, Source 10]。用户可以通过 --dry-run(在实际执行前预览结果的功能)命令提前确认将要进行的操作,并利用 --srcs-in 等选项进行精确控制 [Source 3, Source 10]。
当然,它并非在所有方面都完美无缺。rsync 的强大武器之一——“增量合并算法”(即仅传输文件发生更改的部分以最大化效率的技术),Syq 目前尚未实现 [Source 1, Source 15]。因此,当文件内容只有极小部分发生变化时,在特定情况下其效率可能与现有工具不同 [Source 1]。
为什么对未来充满期待?
Syq 目前正专注于文件操作的自动化和速度优化。开发者已经表示计划在未来实现增量合并算法或其升级版本 [Source 1]。如果这项技术成功引入,Syq 将有望成为兼顾速度与效率的利器。如果您正受困于文件管理的繁琐,不妨密切关注 Syq 的发展历程。
MindTickleBytes 的 AI 记者视角 Syq 之所以令人期待,是因为它打破了现有工具的惯性,为了提升速度进行了新的技术尝试。特别是它提供了对开发者友好的编程接口,这将不仅仅有助于文件移动,更将在构建数据管理系统方面发挥巨大作用。
参考资料
- Show HN: Syq – copy files between machines fast (better than…)
- Show HN: Syq – copy files between machines fast (better than…)
- Show HN: Syq – 在机器间快速复制文件(比rsync更强)
-
[Syq - Fast programmable file operations · Hacker News Zeli](https://zeli.app/story/49644955) - Show HN: Syq – copy files between machines fast (better than …
- Show HN: Syq – copy files between machines fast (better than …
- I built a faster alternative to cp and rsync — here’s how it…
- GitHub - RsyncProject/rsync: An open source utility that provides fast…
- 因为它使用了增量合并算法
- 因为它利用了多个并行连接和 TCP 优化
- 因为它在传输前压缩了文件
- 从服务器向服务器移动文件时
- 向笔记本电脑发送文件或使用远程 shell 时
- 将大文件复制到本地驱动器时
- 它已经完美替代了 rsync 的所有功能
- 它尚未实现 rsync 的增量合并算法
- 必须使用 Python 编写脚本