V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ibegyourpardon
V2EX  ›  微信

本来乌烟瘴气的喷张小龙有点看不下去,但确实还有一个技术问题挺令我感兴趣的,想听听大家的观点,对,就是微信聊天记录的保存问题

  •  
  •   ibegyourpardon · 2019-01-12 00:26:21 +08:00 · 6404 次点击
    这是一个创建于 2144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说的是微信服务端存储聊天数据这事。

    微信官方是说,确定一定肯定的说没在服务器保存的。

    有人信。

    有人打死不信,坚定的认为在我国政策下,怎么可能不保存。

    有人半信半疑,比如我。而且认为实际操作的时候可能有所取舍。

    因为我有个问题还真想不明白。

    如果微信真的保存用户的聊天记录,我还蛮认真地想问问认为保存了聊天数据的的这个流派,10 亿 DAU 的 APP,大量信息,结构复杂,无意义数据众多,这个存储和给公检法提供检索真的是那么容易实现的事吗?

    Telegram 在 18 年 3 月宣布月活 2 亿,一个月 60 亿,现在应该也上涨了,但信息的结构复杂度和数量应该是确实不如微信的。且不说微信,哪怕是 Telegram,对这种级别的聊天信息保存用什么样的信息结构来存储才比较现实和合理呢?

    然后 Telegram 固然是做到了历史记录的保存,虽然我没研究过对历史记录的保存时限,但对微信来说,如果非要保存的话,似乎也有一些方案。在我国国情下,应该是只需要针对一些重点人员进行监控和保存即可,并不需要全员信息保存。而且好像只要加个保存的时限处理,好像问题也解决的七七八八了,比如只保存三个月……

    44 条回复    2019-01-13 18:36:50 +08:00
    dobelee
        1
    dobelee  
       2019-01-12 00:42:04 +08:00 via Android   ❤️ 1
    歪了,这根本不是什么技术问题,聊天记录这些冷数据跟 google 的索引相比简直不值一提。

    另外,ICP 备案过的都知道明确规定网站运营者 xxx 天内要保存 ugc 内容及 ip 等信息及可查询,连个人网站都这么严肃,tc 这么成熟的流程,居然真的有人半信半疑。。。
    orangeade
        2
    orangeade  
       2019-01-12 00:43:03 +08:00 via Android   ❤️ 4
    网络安全法要求六个月

    QQ 都能选择同步时长,微信相比 QQ 有什么难度

    另外 tg 消息没微信复杂? tg 有文字 图片 图文组合 图片组合 gif 视频 语音 视频聊天 投票 广播 bot inline-bot markdown 链接预览,以及它们之间各种组合
    RYAN0UP
        3
    RYAN0UP  
       2019-01-12 00:50:42 +08:00 via Android   ❤️ 1
    @orangeade 赞同,tg 的消息结构确实要比微信复杂。
    qiayue
        4
    qiayue  
       2019-01-12 00:54:07 +08:00   ❤️ 7
    @dobelee ICP 备过案很多次的表示不知道你说的事情
    johnnie502
        5
    johnnie502  
       2019-01-12 00:54:16 +08:00
    聊天记录热转冷的时候做个关键字分析,把结果继续热存储就好了,并不需要对所有原始信息做检索
    swulling
        6
    swulling  
       2019-01-12 01:23:29 +08:00 via iPhone
    按帐号压缩存储就好了啊,这个真的没有一点难度,空间也不会很大,视频音频图片文字可以分别调整压缩比和存储周期。如果纯文字,量非常小。

    此外一般司法机关不会有搜索的需求,主要是给一个帐号,把某段时间的聊天记录导出来就完了。

    至于说存没存,这个没法证明也没法反证,只能看腾讯的信誉值以及你个人相不相信。
    lance6716
        7
    lance6716  
       2019-01-12 01:28:14 +08:00 via Android
    @swulling 你可以看一下微信本地占用空间,估计一下单用户的占用
    swulling
        8
    swulling  
       2019-01-12 01:29:41 +08:00 via iPhone
    另外微信还说过不会把聊天记录用作大数据分析,结果刚刚年度报告就出来了,不用大数据分析聊天记录,能说下怎么出来的这个报告么。

    这个算是保存聊天记录的石锤了
    swulling
        9
    swulling  
       2019-01-12 01:31:41 +08:00 via iPhone
    @lance6716 不同媒体介质不同的存储周期就很容易解决,文字甚至可以永久保存,也没多大。

    你可以自己算算。假如微信存储从诞生以来的全部文字记录,需要多少空间
    night98
        10
    night98  
       2019-01-12 01:32:38 +08:00
    @swulling #8 接口调用统计吧
    swulling
        11
    swulling  
       2019-01-12 01:38:21 +08:00 via iPhone
    @night98 随便举个例子,微信数据报告中有各个年龄段最喜欢的 emoji

    要做到这一点,一种方法是按照你说的所谓接口调用统计,需要用户在每发一个 emoji 的时候,调用一个所谓的接口,把年龄 用户 id emoji 传过去,这不是脱裤子放屁么…

    那这种容易,还是我直接保存全量聊天记录,直接用 mr 或者别的什么方法统计下各个年龄段的 emoji 频率简单呢…
    night98
        12
    night98  
       2019-01-12 01:40:51 +08:00
    @swulling #11 日志分析啊,保存全量基本上不可能,以微信的体量肯定会定时压缩历史数据并打包的。
    594duck
        13
    594duck  
       2019-01-12 01:51:03 +08:00 via iPhone
    @qiayue 每个地区要求不一样的,以前页游的时候要求连聊天记录都要备份 3 个月。
    x86
        14
    x86  
       2019-01-12 01:57:08 +08:00
    人家是不想做,真当做不出来?
    swulling
        15
    swulling  
       2019-01-12 02:37:54 +08:00 via iPhone   ❤️ 2
    @night98 聊天记录么为什不可能…很多人对纯文字的存储量有明显的误区。

    微信 2018 报告中,每天发送的消息数是 450 亿,就算都是文字,我们假设平均长度四十个汉字,这个绝对高估了吧。

    那么就是 450 亿×80 字节,也就是 3TB,而文字的压缩比基本可以做到 10%,也就是 0.3TB

    现在一般存储服务器是 4TB×12 块盘,假设三副本冗余,一台机器可以存储 53 天全中国的微信聊天记录。

    就算平均长度 400 个汉子,也不过一台机器存储 5.3 天记录,而腾讯有几十万服务器…
    cattrace
        16
    cattrace  
       2019-01-12 07:13:15 +08:00
    退一万步说,不记录也代表不了什么,整天在那宣传为了隐私更是让人觉得虚伪,群聊、朋友圈都是要监控留存的这点以为大家不清楚么。
    cattrace
        17
    cattrace  
       2019-01-12 07:34:57 +08:00
    顺带想请 tx 解释一下 2018 微信数据报告的“最受欢迎表情”的数据来源。
    xianrentiao
        18
    xianrentiao  
       2019-01-12 07:56:21 +08:00 via Android
    QQ 为什么能做到?
    happyz90
        19
    happyz90  
       2019-01-12 08:27:08 +08:00 via Android
    最受欢迎的表情,这个不用保存聊天记录也能统计吧,感觉没什么奇怪啊。。。比如统计大学食堂最受欢迎的菜品,不一定要把每个人每天的点菜记录都记录下来吧。。。
    alfchin
        20
    alfchin  
       2019-01-12 09:17:44 +08:00 via Android
    @cattrace 这个要啥保存数据,直接 app 上统计就好了。发一次计数器加一。
    swulling
        21
    swulling  
       2019-01-12 09:20:03 +08:00 via iPhone
    @alfchin 那需要再年初 pm 就把年底数据报告应该统计哪些数据想好并不再改需求,否则过去了就没法统计了。

    你觉得可能存在一年都不改的需求么……就 PM 的尿性?
    alfchin
        22
    alfchin  
       2019-01-12 09:44:36 +08:00 via Android
    @swulling 请学会拆分至最小需求
    erjinzhi
        23
    erjinzhi  
       2019-01-12 10:09:08 +08:00
    大概率是不存,也没必要。自己的产品协议都清楚,哪个地方需要监控,和地方配合流量解析就行,反正 wx 服务端不存
    Daath
        24
    Daath  
       2019-01-12 10:57:19 +08:00 via Android   ❤️ 1
    微信说我没有保存啊,因为我用的是兄弟单位 QQ 的服务器保存的
    swulling
        25
    swulling  
       2019-01-12 11:06:27 +08:00 via iPhone
    @alfchin 是用很小的成本把数据保存起来随时分析简单,还是年初加什么计数器简单?
    hilbertz
        26
    hilbertz  
       2019-01-12 11:41:02 +08:00
    现在还有人搞不清楚微信到底有没有看你的聊天记录?你们什么时候产生了国产 app 关注用户隐私的错觉?
    SuperMild
        27
    SuperMild  
       2019-01-12 11:46:03 +08:00
    在技术上,仅仅保存,特殊情况才调用(冷数据),与作为聊天记录提供给用户随时访问,费用不一样吧。
    ho121
        28
    ho121  
       2019-01-12 11:59:09 +08:00 via Android
    只说微信自己没保存,又没说别人没保存
    snw
        29
    snw  
       2019-01-12 12:07:03 +08:00 via Android
    TG 聊天记录暂时没保存时限,直到钱烧光为止。
    TG 除了消息类型多,群人数也远高于微信群,所以超级群的历史消息是统一的
    snw
        30
    snw  
       2019-01-12 12:08:43 +08:00 via Android
    另外,官版 TG 暂时无法以中文搜索历史记录
    jfdnet
        31
    jfdnet  
       2019-01-12 13:09:23 +08:00
    视频或者照片(原图)什么的你要是没有下载到本地(就是收到后有打开过),过一段时间是会失效的,会无法打开只能看缩略图。这样的使用体验其实大概已经能说明了微信的存储策略了吧。
    laike9m
        32
    laike9m  
       2019-01-12 14:14:42 +08:00 via Android
    @swulling 难道不能直接统计么。。
    Telegram
        33
    Telegram  
       2019-01-12 17:54:39 +08:00 via iPhone
    就微信那个视频压缩率,不管你多屌的手机,拍出来都跟马赛克似的。能占用多大存储?

    人家 tg 一个毛片几 G 都能给你存,下载嗖嗖的。
    est
        34
    est  
       2019-01-12 18:52:35 +08:00
    @swulling 一天 3T 其实很容易做。10T 的集群一个人就能搭出来维护。

    我相信微信是真没存聊天记录,但是腾讯存没存,深圳派出所存没存就是另外一回事了。
    alfchin
        35
    alfchin  
       2019-01-12 19:16:32 +08:00 via Android
    @swulling 呵呵,成本上差别可大了。
    EscYezi
        36
    EscYezi  
       2019-01-12 19:20:13 +08:00 via iPhone
    @snw 我一直想问的问题就是如果 TG 的聊天记录&文件把服务器塞满了怎么办......反正我是没少往 saved message 里面放东西
    swulling
        37
    swulling  
       2019-01-12 20:39:20 +08:00 via iPad
    @alfchin 看上面的计算,成本可以低到忽略。
    lynskylate
        38
    lynskylate  
       2019-01-12 21:54:41 +08:00 via Android
    ..你是不是太小看大公司的存储了,之前在某家的时候,每天产生的客服语音数据就有几百 g,拿来标注训练,对大公司来说,硬盘是最不值钱的几个硬件了。
    alfchin
        39
    alfchin  
       2019-01-12 22:46:07 +08:00 via Android
    @swulling 你把全部的数据跑一次试试看。存储最多是花小钱,把那些数据拿去统计才是花大钱的。
    alfchin
        40
    alfchin  
       2019-01-12 22:49:14 +08:00 via Android
    @lynskylate 存储本来就不花钱,处理才是花钱的。语音公司可以这么玩是因为那些玩意不需要再次处理。微信的记录今天有个新活动方案,然后吭哧吭哧把一整年的数据都搞出来然后开始统计?正常点的直接在界面上加入各种统计,作为诊断数据直接批量发回。
    swulling
        41
    swulling  
       2019-01-12 23:11:46 +08:00 via iPad
    @alfchin 有处理过 PB 级文本分析经验再来说,这个没啥难度。

    微信文字聊天记录一年都远到不了 PB,不了解还是别发言了。
    NBOne
        42
    NBOne  
       2019-01-13 02:56:01 +08:00 via Android
    QQ 旺旺等聊天工具聊天记录都保存在云端的啊,所以这不是什么技术问题
    byteli
        43
    byteli  
       2019-01-13 10:10:01 +08:00 via Android
    我认为存是肯定存的,但是腾讯员工并没有访问权限,就连脱敏后的数据都不给的。
    MrRabbit
        44
    MrRabbit  
       2019-01-13 18:36:50 +08:00
    其实,,并不是技术问题,而是人的选择。很多人使用微信是为了让聊天记录没那么容易保存的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1231 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:37 · PVG 01:37 · LAX 09:37 · JFK 12:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.