很好奇那些无服务器端的照片同步 APP 是如何在客户端记录同步进度的,是有啥特别的算法吗?

181 天前
 codeself

市面上很多照片同步的 app,都是只是通过某种方式,

比如 webdav,ftp 之类的网络文件共享协议,甚至是 http(s),把客户端上的文件传到 NAS/云盘里去

除此之外根本不会有其他的服务器交互,所以同步的进度/记录是怎么记录的?

1310 次点击
所在节点    程序员
10 条回复
ldlywt
181 天前
找了很久,也没看见有成熟的 github 开源方案
Yuhyeong
181 天前
没了解过,不过在有公网 ip 的情况下,rsync 直接挂载另一台机器也能实现吧?
robinchina
181 天前
我想估计类似 BT 下载吧
wdssmq
181 天前
应该是查询一遍文件列表和本地的对比。。
nxuu
181 天前
不应该是在本地留一个同步日志么。。。下一次先读日志再进行同步
bitllion
181 天前
有个隐藏的日志文件
AlynxZhou
181 天前
rsync 应该是有关于它的工作逻辑的文章吧,可以看看。然后 syncthing 这种据说是和 BT 下载算法类似?
BeautifulSoap
181 天前
不用想那么复杂,很多软件同步实际上就是对比文件大小和最后修改时间,复杂点的会给你个是否计算 hash 的选项
同步的时候遍历双方文件对比下,有变化了就直接覆盖重同步就这么简单粗暴,不管你上次有没有同步过连状态都没有
gogod112121
181 天前
你搜搜 mysql 的主从原理 大同小异
gogod112121
181 天前
或者看一下 redis 的设计与实现 “复制” 章节部分也有相关的内容

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/990538

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX