Baka 中文文档 下载 App

同步稳定性与冲突处理——多设备同看一部番怎么办

冲突场景

最典型的冲突场景:

你同时在手机和平板上追《鬼灭之刃》,某一天:

  • 手机看到第 5 集 23 分(Wi-Fi 下)
  • 平板看到第 5 集 15 分(同一天,但平板上你又往前看了)
  • 网络恢复了,两端都要同步
  • 到底以哪个进度为准?

默认冲突策略

Baka 默认采用 "最后写入优先"(Last Write Wins) 策略:

时间线:
T0: 手机看到 10 分,平板看到 10 分,同步一致
T1: 手机继续看到 15 分 → 上报(但网络差,云端没收到)
T2: 平板看到 20 分 → 上报(成功,云端记录 20 分)
T3: 手机网络恢复,上报 15 分 → 云端比较时间戳
    → 平板的 20 分时间更晚 → 保留 20 分
    → 手机同步到 20 分

这个策略的含义:同一集的观看进度,以最后一次成功上报的时间为准。不管是哪台设备,谁最后操作并成功同步,谁的数据覆盖。

可配置的冲突策略

在同步设置中可以切换策略:

策略行为适用场景
最后写入优先谁最后成功同步,谁覆盖默认推荐,简单直接
最大进度优先取两台设备中进度靠后的那个不容易丢失观看进度
设备优先级指定某台设备为"主设备",其他设备服从主设备进度为主
手动解决冲突时弹窗让你手动选对数据准确性要求极高

同步延迟与不一致

即使不冲突,多端数据也可能短暂不一致:

正常同步延迟

场景延迟范围原因
同网络、自动同步开启1~10 秒正常网络延迟
移动数据网络10~30 秒运营商网络波动
一端离线后恢复30~120 秒本地缓存批量上报

不一致的自查

如果你觉得"手机上显示看到 23:15,平板上还是 15:30,已经好几分钟了":

  1. 确认两台设备都有网络
  2. 手动触发一次立即同步(设置 → 同步 → 立即同步)
  3. 检查两台设备是否都登录了同一个 Baka 账号
  4. 等 30 秒后重新打开应用刷新

网络异常的处理

完全断网

网络抖动(时断时续)

移动数据切换

数据一致性验证

部分版本支持"一致性体检"功能:

数据丢失的恢复

极端情况下(设备损坏、云端数据问题)的数据恢复:

场景恢复方法
换了新设备登录同一账号 → 等待同步拉取
手机丢了但平板还在同步机制仍在运行,数据安全
本地数据被清空从云端拉取完整数据
云端数据有问题如果之前导出过备份,用备份恢复
都没了无可恢复,只能重新追番(但番剧源的观看历史是独立的)

隐私与安全

同步数据的安全性: