V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ReZer0
V2EX  ›  问与答

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

  •  
  •   ReZer0 · 2021-10-14 18:44:51 +08:00 · 1366 次点击
    这是一个创建于 1136 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

    那如果没有一个用户引用呢、那他们服务器是真的有删除吗?或者说是#5 说的延迟删除
    wanguorui123
        7
    wanguorui123  
       2021-10-15 11:26:11 +08:00
    原理很简单就是文件 HASH,所有人引用同一份物理文件,最后一个人删除文件才是真正的删除物理文件
    ReZer0
        8
    ReZer0  
    OP
       2021-10-15 18:49:37 +08:00
    @v2tudnew 其实我们都指望应该会实际删除文件,但是都不认为会实际删除文件。
    @zxCoder 说不定计数为 0 时也存在……
    @yxc 是的,应该各家都不一样。但我们讨论后觉得应该都会保存一段较长的时间,虽然你误删想恢复客服会告诉你找不回来。保存期限可能按年来算,有个哥们提出如果是犯了事的人把一些资料放在上面后面销毁,网盘应该秘密会存个几年。可能不只是算法在里面,可能也有规定在里面,比如某上级要求用户删除资料应备份 XX 年。
    @janda 判断应该会延迟删除,但这个延迟是以什么单位计时的就不清楚了。虽然有些资料对网盘商来说没用,但可能对于一些机构有用。(比如上面提到的犯事的人销毁证据资料)
    @wanguorui123 嗯嗯,讨论下来是觉得应该会像机械硬盘删文件一样有标记,但可能不一定真删,直到某个程序执行或者覆盖才会真正删除。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2913 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:55 · PVG 16:55 · LAX 00:55 · JFK 03:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.