市面上很多照片同步的 app,都是只是通过某种方式,
比如 webdav,ftp 之类的网络文件共享协议,甚至是 http(s),把客户端上的文件传到 NAS/云盘里去
除此之外根本不会有其他的服务器交互,所以同步的进度/记录是怎么记录的?
-
因为一些原因导致同步被暂停/打断,下次如何接着上次的进度继续同步?
-
有同步过的照片文件重新编辑保存了,如何把这个文件覆盖同步到远程?
市面上很多照片同步的 app,都是只是通过某种方式,
比如 webdav,ftp 之类的网络文件共享协议,甚至是 http(s),把客户端上的文件传到 NAS/云盘里去
除此之外根本不会有其他的服务器交互,所以同步的进度/记录是怎么记录的?
因为一些原因导致同步被暂停/打断,下次如何接着上次的进度继续同步?
有同步过的照片文件重新编辑保存了,如何把这个文件覆盖同步到远程?
问了下ai,加上了点我自己的思考,大概方案是
|
ldlywtNov 10, 2023
1
找了很久,也没看见有成熟的 github 开源方案
|
|
YuhyeongNov 10, 2023
2
没了解过,不过在有公网 ip 的情况下,rsync 直接挂载另一台机器也能实现吧?
|
|
robinchinaNov 10, 2023
3
我想估计类似 BT 下载吧
|
|
wdssmqNov 10, 2023
4
应该是查询一遍文件列表和本地的对比。。
|
|
nxuuNov 10, 2023
5
不应该是在本地留一个同步日志么。。。下一次先读日志再进行同步
|
|
bitllionNov 10, 2023
6
有个隐藏的日志文件
|
|
AlynxZhouNov 10, 2023
7
rsync 应该是有关于它的工作逻辑的文章吧,可以看看。然后 syncthing 这种据说是和 BT 下载算法类似?
|
|
BeautifulSoapNov 10, 2023
8
不用想那么复杂,很多软件同步实际上就是对比文件大小和最后修改时间,复杂点的会给你个是否计算 hash 的选项
同步的时候遍历双方文件对比下,有变化了就直接覆盖重同步就这么简单粗暴,不管你上次有没有同步过连状态都没有 |
|
gogod112121Nov 10, 2023
9
你搜搜 mysql 的主从原理 大同小异
|
|
gogod112121Nov 10, 2023
10
或者看一下 redis 的设计与实现 “复制” 章节部分也有相关的内容
|