请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 3126|回复: 3

移动文件时容易产生多个不必要的副本

[复制链接]

19

主题

49

回帖

233

积分

个人专业版V1

积分
233
发表于 2022-10-5 23:14:14 | 显示全部楼层 |阅读模式
本帖最后由 Fileshare 于 2022-10-6 12:47 编辑

最近几天发现,如果将一个文件从一个目录移往另一个目录,比较容易造成最终在前后两个位置都存在该文件的两个副本。据我观察,发生问题具有一定的偶然性,也不是全都会出现问题。
请问怎么解决? 您有什么建议?

19

主题

49

回帖

233

积分

个人专业版V1

积分
233
 楼主| 发表于 2022-10-6 12:46:24 | 显示全部楼层
我感觉这个问题可能还是与同步协议(原理)的设计有关。应该是需要增加一个控制算法来解决这个问题。比如说:
(1)
每个主机上删除文件后,最好记录这个删除动作,哪果在1~3分钟内有同样的文件(名字,时间, hash 值)从别的主机同步过来,就直接删除,并将删除的动作再广播到所有主机中去。

其它主机如果收到了删除通知广播,应该立即删除本机的该文件,并且同时1~3分钟不接收这个文件。

但这似乎还有问题,因为有时候,我们在一台主机上就是可能反复新建空文件,删除空文件,这样的例外需要考虑。

(2)在用户活动的主机的实现一个重复文件检测器,如果文件移动后,产生了重复文件,应该像用户发出警告。我想 99.99% 以上的重复文件都是不必要的。对于例外,似乎可以允许用户添加忽略列表。

这样一搞,似乎也太复杂了。

19

主题

49

回帖

233

积分

个人专业版V1

积分
233
 楼主| 发表于 2022-10-7 11:38:52 | 显示全部楼层
进一步观察到批量移动小文件容易发生文件重复问题。当文件大到数M 之后,反而又没有。和移动方法有关吗?

19

主题

49

回帖

233

积分

个人专业版V1

积分
233
 楼主| 发表于 2022-10-7 16:04:11 | 显示全部楼层
为了不再为这个问题伤神,还是改成 git 同步文本和代码算了。也不会麻烦很多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|微力同步 ( 京ICP备20030739号-4 )

GMT+8, 2024-6-20 01:10 , Processed in 0.018254 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表