文件本地编辑V1提案No.1
· 阅读需 5 分钟
文件本地编辑功能广受用户欢迎,是核心功能。最近时有用户反馈在多人协作场景下的文件本地编辑不可靠,低几率发生文件冲突和内容不实时同步等问题。
本地编辑过程中的上传/下载是通过一种基于文件时间戳的对比机制触发,如果用户系统时间与服务器系统时间差异较大会造成不稳定因素,因此我们决定对其机制进行升级优化。本篇文章中我将悦库团队的最终讨论结果做为优化提案进行汇总,用于指导用户理解文件本地编辑的交互过程,也用于指导团队开发人员理解业务细节,保证本提案准确落地。
在本提案中我们将基于时间戳的文件对比机制,调整为基于文件版本和内容散列值的对比机制。
什么是文件本地编辑
在网盘 客户端中直接点击文件自动下载到缓存位置,并使用本地默认程序打开,本地编辑完成后可自动上传到网盘中。

什么是文件版本
文件版本是指在文件的编辑过程中,对每一次变更作为一个版本号进行记录,以便将来查阅特定历史版本的变更情况。
在多人编辑场景下,一个文件的版本生成过程如下:
悦库网盘的历史版本实例:
这是悦库持续集成系统使用yshell命令行工具自动上传文件产生的历史版本,可以看到每个历史版本中都有对应一个唯一版本号。
在文件的版本列表中可以追溯任意版本的数据,便于查看文件变更情况。