NetDrive 的后台上传模式——异步与同步上传详解

阅读时间 4 分钟 feature windows macos
Robin
RobinDeveloper Advocate
NetDrive 会在后台上传文件,使驱动器写入操作不被阻塞。本文说明异步上传模式与同步上传模式的区别,以及何时应该切换。

一位视频剪辑师将 40 GB 的原始素材拖拽到已挂载的 S3 存储桶中,希望复制对话框能在几秒钟内关闭,而不是一直停留到实际上传完成为止。而一个向已挂载存储桶写入构建产物的 CI 脚本,需求恰恰相反——它需要在触发下一个任务之前,确认文件已经真正落地。NetDrive 通过同一个设置来处理这两种情况:后台上传,并可在异步与同步模式之间选择。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

上传不再阻塞你的工作

NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。

  • 后台上传自 NetDrive 首个 3.x 版本起便已存在
  • 可按每个驱动器分别选择异步或同步模式
  • 在所有支持的服务商中行为一致
WindowsmacOS
下载 NetDrive →

免费试用。提供终身与订阅方案。

将文件拖放到已挂载驱动器时会发生什么

每一次写入 NetDrive 挂载文件夹的操作,最终都必须传输到另一端的云服务商,但这个传输过程不必在资源管理器或访达仍在等待复制操作完成时才进行。后台上传——将传输操作排入队列,让文件操作立即返回控制权——自 2017 年 9 月发布的首个 3.x 版本起就已是 NetDrive 的一部分,与控制其行为的异步/同步模式选项相伴而生。

如果没有这一机制,将大批文件复制到已挂载驱动器上,就意味着文件管理器在整个传输期间都会被锁定。而有了它,复制对话框几乎立即完成,实际上传则在独立的队列中继续进行,与你接下来所做的任何操作分开可见。

NetDrive 驱动器界面中的后台上传进度指示器

异步上传模式与同步上传模式

NetDrive 将这一底层行为以每个驱动器可单独设置的选项形式暴露出来,共有两种选择:

模式发生的行为最适合的场景
异步(默认)写入操作立即返回;文件从后台队列中完成上传日常拖拽操作、大批量文件,以及任何不希望资源管理器或访达卡住的场景
同步写入操作要等到上传真正完成后才会返回需要在下一步运行前确认远程副本已存在的脚本与自动化流程

异步模式之所以是默认设置,是因为已挂载驱动器的日常使用大多是有人复制文件后继续工作,而不是需要保证的进程。同步模式则以响应速度换取确定性,这在无人值守的流水线中比在手动编辑文件时更为重要。

NetDrive 中的后台上传队列与进度详情视图

切换驱动器的上传模式

该设置与其他每驱动器选项一起存在,因此不同的已挂载驱动器可以同时运行不同的模式——一个素材归档可以保持异步,而面向 CI 的存储桶则可以运行同步模式:

  1. 打开 NetDrive,在驱动器管理器中找到该驱动器,或点击 Add Drive 配置新连接。
  2. 打开驱动器设置——点击驱动器卡片上的齿轮图标。
  3. 找到 Upload Mode 字段,在 AsynchronousSynchronous 之间切换。
  4. 保存并重新挂载该驱动器以使更改生效。

NetDrive 驱动器管理器,显示多个云连接及各自独立的每驱动器设置

切换模式时,连接本身不会发生任何变化——同样的服务商、凭据和挂载点都保持不变。发生变化的只是写入操作在上传进行期间的行为方式。

何时应更改默认设置

大批量复制。 将数百个文件或几个体积很大的文件拖拽到已挂载驱动器上,正是异步模式的用武之地——文件管理器能保持响应,而不会在整个传输期间显得像是卡死了。

依赖上传完成的自动化流程。 构建脚本、部署步骤,或任何写入文件后立即期望下游系统能从云端读回该文件的进程,都应让该驱动器运行在同步模式下。否则写入操作可能在远程副本实际落地之前就在本地返回成功,从而引发竞态条件。

同一台机器上的混合工作流。 由于该设置是按驱动器而非全局生效的,一台工作站可以将一个驱动器用于手动文件操作(异步),同时将另一个驱动器用于脚本化输出(同步),二者互不冲突。

总结

后台上传是让 NetDrive 挂载的驱动器即使在数据实际存放于云端时,仍能保持本地文件夹使用体验的关键所在,而异步/同步的选择,则是为那些”感觉像本地”并非你真正想要的场景而准备的。若想了解另一个值得关注的每驱动器设置,请参阅 NetDrive 中的本地磁盘模式;若想了解如何调整驱动器缓存的容量,请参阅 NetDrive 中的缓存大小选项

— Robin, NetDrive