Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: 关于数据同步的问题及建议 #1543

Closed
2 tasks done
xykisser opened this issue Sep 4, 2023 · 8 comments
Closed
2 tasks done

[Feature]: 关于数据同步的问题及建议 #1543

xykisser opened this issue Sep 4, 2023 · 8 comments

Comments

@xykisser
Copy link

xykisser commented Sep 4, 2023

解决方案检查

问题描述

发现家里电脑的列表与手机同步后,再到公司电脑进行同步,最后并未实现手机、家里和公司电脑三端数据融合
研究了常见问题中的说明,想着反正删除数据后多端还能同步,记得首次同步有弹窗,想着删除了数据能否再弹一次窗进行选择,就在断开连接后删除了手机上的歌单,再次连接电脑后发现悲剧了,手机删除操作同步到了电脑,我收藏的140首纯音乐不翼而飞。。。

经过我的一些测试研究了下当前的同步机制:
1.若从未同步过,第一次同步将会把两边没有的列表同步添加并复制全部歌曲;
不知道现在我删除了数据后,回家如果再与家里电脑同步会不会把家里的数据也一起删掉。。。
2.若同步过,
2.1断开同步后,手机端修改列表A名字,再次同步后名字又会变为与电脑端一样;而电脑端在断开后修改能够同步影响手机端;
这应该算是个BUG吧
2.2断开同步后,手机端或电脑端在列表A增删歌曲,再次连接后两端同步增删;断开同步后,手机端或电脑端移除列表A,再次连接后两端同步移除;
这是核心同步逻辑,但是常见问题说明里的描述“自动根据两边设备的列表内容合并同步”会让人产生误导

描述你想要的解决方案

1的问题我回去只能先导出下再测试了
2.1的BUG倒是影响不大,一般不会经常改名字
2.2的问题建议在常见问题描述中能再强调下删除和移除操作的影响,另外能否将首次同步方式弹窗选择改为每次同步都提示

描述你考虑过的替代方案

No response

附加信息

No response

@lyswhut
Copy link
Owner

lyswhut commented Sep 4, 2023

  1. 如果已经成功同步过,后续再连接时将以最后一次同步时的列表状态为基准,对比双方设备当前列表的增删情况合并同步,所以若之前同步成功过,而手机清空了歌曲,再次连接时之前与手机同步过的电脑歌曲也会被清空,但是连接前电脑单边添加(即未记录在最后一次同步快照中)的歌曲应该也会同步到手机上,若你想重置同步功能,可以选择以下方式之一操作:
    • 直接去系统的应用管理清除移动端的全部数据重新连接即可
    • 清理PC端的同步数据:正式版的话要去数据目录删除sync.json文件,再启动软件同步即可
    • 你还可以在PC端的备份与恢复备份一下列表数据,同步连接后再重新导入列表数据
  2. 列表名字的同步确实是bug

之所以需要同步弹窗选择列表合并方式,是因为首次同步时双方的列表数据存在冲突,所用要选择冲突的解决方式,事实上若首次同步时,其中一边的列表数据为空,则将不会显示同步弹窗而直接将另一边的歌曲数据同步过去,经过首次同步后,会生成同步快照,断开连接后,任意一端增删了歌曲再连接时都会以最后一次快照合并双方的操作,所以同步弹窗就不再需要了,是出于什么原因需要重新选择列表合并方式呢?

PC端的同步默认会保留最近的5个同步快照,若意外同步将歌曲丢失,可以通过快照还原,还原方式与独立同步服务类似,里面提到的数据目录对应PC的数据目录

下个版本PC端会增加同步设备管理功能,可以管理已连接过的设备,被删除的设备再次连接时将会重新进入首次同步的流程

@xykisser
Copy link
Author

xykisser commented Sep 6, 2023

非常感谢作者的耐心解答,万幸的是回家发现家里的电脑数据大部分还在,通过导出数据-同步-导入数据进行了数据保全。

想重新选择列表合并方式的原因:

  • 以为可以通过再次合并的方式,让其中一端误操作删除的数据能够同其他设备的数据进行合并恢复。
  • 如果手机上的APP卸载后再重新同步,这时手机上应该没有数据,此时同步是会基于最近快照一起删除电脑的,还是认为当前是属于没有同步快照记录的情况呢?
  • 当前的基于快照的同步增删确实是最主要的使用场景,但对于当前是断开状态下,再次连接时如果有二次选择(选基于快照同步增删,直接合并数据)的确认弹窗,就可以兼容两种场景,就算是只用基于快照的方式也不会觉得太麻烦吧

另外就是列表如果可以进行排序会更方便一点,收藏歌单较多的话管理起来会相对麻烦一点

@lyswhut
Copy link
Owner

lyswhut commented Sep 6, 2023

手机上的APP卸载后再重新同步会认为是新设备,重新进入首次同步流程,新旧设备是靠首次连接生成的随机设备id辨别,若数据被清理了会重新生成新的

下个版本可以使用连接设备管理清理设备连接记录来重新进入首次同步流程,后续再看情况增加强制进入首次同步流程的功能

列表排序只有PC支持,使用方式看常见问题

@xykisser
Copy link
Author

xykisser commented Sep 6, 2023

感谢,已解决列表排序问题😁

@1746595327
Copy link

1746595327 commented Nov 7, 2023

远程列表合并本机 与 本机列表合并远程 有什么区别

@lyswhut
Copy link
Owner

lyswhut commented Nov 7, 2023

远程列表合并本机 与 本机列表合并远程 有什么区别

先后顺序的问题,以后者为基础合并前者,两个合并方式在合并后的内容是一样的,只是歌曲顺序不同

@1746595327
Copy link

远程列表合并本机 与 本机列表合并远程 有什么区别

先后顺序的问题,以后者为基础合并前者,两个合并方式在合并后的内容是一样的,只是歌曲顺序不同

我两种方式都试了,歌单顺序和歌曲顺序好像没变啊,另外,移动端歌单能加个手动拖动下拉吗,几千首歌根本滑不到底

@flaming-laser-sword
Copy link

华为的鸿蒙OS2.0,使用同步时发现本机IP显示0.0.0.0。请问这是系统的问题吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants