关于近期,有越来越多的用户反馈到,钛盘在某个特定场景下已经无法满足需求:
针对压缩(打包)文件的修改,由于钛盘的特殊的32M文件头部检测机制,无法识别到超出 32M 之后的内容修改,导致无法上传特定的不同内容的文件。
钛盘通过 sha1 算法来确定文件的唯一性,但是如果要完全计算 sha1 的话,文件的大小会对上传有比较深刻的影响,越大的文件,需要的时间越多,同时也会占用更多的浏览器内存。
在过去,为了兼容到低性能移动设备,以及轻松应用到秒传的特性,必须要减少移动设备上的计算量。
我们认为大多数文件的头部 32M 内容的 sha1 已经足够作为文件的唯一性指标,因此将文件头部 32M 的内容的 sha1 作为了唯一性指标。
但是这种机制,会导致上面说到的一个问题:压缩文件修改后,头部 32M 内容并未发生变化,因此会被认为是同一份文件。而目前,钛盘用户的应用场景也越来越丰富多样,我们注意到有不少用户是具有这种需求的。因此,我们将对上传系统做出调整。
整个计划将分为两个阶段进行:
第一阶段:兼容性阶段。
接下来,钛盘将会针对每一份文件都完整计算 sha1,以解决目前遇到的问题。
第二阶段:自适应上传。
在未来的一个版本中,每个账号都可以设定两个选项:
1,是否启用秒传
在某些极端情况下,关闭秒传可以获得更好的性能(比如上传大量独有文件),因此将支持完全关闭秒传。
2,自适应秒传
初次使用,钛盘会通过一个性能测试程序大概确定设备的性能,并将设定一个合适的秒传文件阈值,在不超过这个阈值的文件大小下,启用秒传以改善上传速度。