求教各位网盘大佬有关网盘的文件删除原理。

2021-10-14 18:44:51 +08:00
 ReZer0

今天跟朋友探讨网盘问题时聊到一个网盘的删除原理。

得出以下几点猜测:(仅针对私人的、非分享的文件)

1 、删除后(包括清空回收空间)后就是彻底删除了,因为再上传不会提示秒传。

2 、删除只是一个标记行为,服务器内仍然存在你的文件。但会有个周期判断,若一定周期内判断不是分享文件而且也没有用户存,就会自行清理以腾出硬盘空间。

3 、硬盘才多少钱,即使删除了这些东西会永久保存在服务器的各个角落(包括容灾服务器内),不会提示秒传只是因为你的文件不是什么热门文件。

4 、说不定服务器上没有,某些地方的冷备份有……

不知道有没有网盘大佬能科普下哪种猜测比较接近实际?

1368 次点击
所在节点    问与答
8 条回复
sadfQED2
2021-10-14 18:47:41 +08:00
首先,并不是每次传的文件都会存一份到服务端,上传文件的时候会做 hash,如果发现服务端已经有这个 hash,就直接记录你拥有这个文件。

因此删除的时候也并不会删除这个文件,而是删除你和这个文件的关联
ReZer0
2021-10-14 19:18:55 +08:00
@sadfQED2 是的,所以我上面指出当时讨论的仅针对私人文件。就是 hash 唯一且服务端一开始根本不存在此文件的类型。
v2tudnew
2021-10-14 22:03:23 +08:00
看起来,你在指望网盘会删除实际文件。
答案是肯定的,但是多少天之后删除就不知道了。
zxCoder
2021-10-15 08:02:59 +08:00
这难道就是引用计数法 hhh
yxc
2021-10-15 08:55:12 +08:00
我测试过微云。
上传过一份私人文件,没有秒传,然后回收站再删除。再继续重复上传一次,发生了秒传。

有可能是等这份文件的最后一个人删除完后的 N 天,再从服务器上删除。每家的策略不一样。这个不会公开

可能还有更复杂的算法,
比如,这份文件曾经 N 多人分享,突然之间,昨天就发生了最后一个人删除现象
比如,这份文件只属于过一个人,昨天就发生了最后一次删除现象
比如,这分文件上传以来 N 年了,重来没被下载或访问过,昨天就发生了最后一次删除现象
这几个场景,从服务器彻底删除的策略也是不一样的。

这些细节,只有在卖私有云盘解决方案的时候(目前好像没有看到哪家在卖),技术交流的环节才会和客户透露,前提还得是大客户才行。
janda
2021-10-15 10:01:54 +08:00
如果同一个文件(hash),还有被多个用户拥有,删除的话只会删除引用!

那如果没有一个用户引用呢、那他们服务器是真的有删除吗?或者说是#5 说的延迟删除
wanguorui123
2021-10-15 11:26:11 +08:00
原理很简单就是文件 HASH,所有人引用同一份物理文件,最后一个人删除文件才是真正的删除物理文件
ReZer0
2021-10-15 18:49:37 +08:00
@v2tudnew 其实我们都指望应该会实际删除文件,但是都不认为会实际删除文件。
@zxCoder 说不定计数为 0 时也存在……
@yxc 是的,应该各家都不一样。但我们讨论后觉得应该都会保存一段较长的时间,虽然你误删想恢复客服会告诉你找不回来。保存期限可能按年来算,有个哥们提出如果是犯了事的人把一些资料放在上面后面销毁,网盘应该秘密会存个几年。可能不只是算法在里面,可能也有规定在里面,比如某上级要求用户删除资料应备份 XX 年。
@janda 判断应该会延迟删除,但这个延迟是以什么单位计时的就不清楚了。虽然有些资料对网盘商来说没用,但可能对于一些机构有用。(比如上面提到的犯事的人销毁证据资料)
@wanguorui123 嗯嗯,讨论下来是觉得应该会像机械硬盘删文件一样有标记,但可能不一定真删,直到某个程序执行或者覆盖才会真正删除。

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

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

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

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

© 2021 V2EX