关于您提到的这个问题,目前钛盘的传送分两个阶段进行。
第一阶段:上传文件到 L2 存储层。
L2 存储层是类似与 CDN 一样的分布式网络,这一层的设计目的是为了尽可能贴近用户所在位置,以提升传输性能。比如为中国地区的用户服务时,L2 存储层的节点在日本或者香港。
第二阶段:由 L2 存储层,转送至 L1 存储层。
L1 存储层是文件的最终归宿,由数台部署在欧洲的服务器组建的分布式存储网络。
之所有会有这样的设计,是因为我们既想要便宜的存储成本,又想要提供尽可能快的上传下载体验 (既要,又要)。众所周知,欧洲一直是大带宽大存储服务器的集中供货地区,我们通过在欧洲建立 L1 存储层,来降低存储成本。然后再在全球各大区域建立 L2 存储层,向终端用户提供下载服务。这算是基本实现了成本的优化。这是钛盘独有的存储解决方案。
那么回到问题本身,通常,第一阶段完成后(用户上传完文件),在 10 秒内,就会启动这个文件到 L2 存储层的第二阶段。但是,由于各种方面的原因(比如申请不到 L1 存储节点,用户存储配额耗尽等),可能会导致第二阶段执行失败,因此花费的时间会比较长。
在超过一个比较长的时间段后,这个文件会被放弃。
关于传送进度条,其实是没有必要的,基本上小文件只要进入传送状态,瞬间就可以结束,而超大型文件(10GB - 20GB),也可以在数分钟内结束。L1 向 L2 传输文件的速度在 100MB/s 左右。