微信文件存储,技术大牛的你应该如何解决问题?

查看 245|回复 21
Bingchunmoli   
@leaves615 其实是全云端,只是同步做不做而已
Eytoyes   
@cpstar #8 没想到吧,默认就是不勾选。我再把默认不勾选也做成选项,矛盾再次成功转移
litguy   
本地文件存储的多份问题,不需要大牛
只需要每个文件有个 引用计数
转发一次,新的消息进来本地查重(例如基于 SHA1/MD5 这些,本地对文件在 sqlite 里面有个表,除了存储路径,还有对应的 SHA1/MD5 值),引用计数 + 1 就行了,不需要再次存储数据,新的消息指向唯一的文件路径就可以读取文件显示了
这个存储的标准用法至少存在了 20 年了
只是微信设计的奇葩而已
不是大牛,存储软件研发十多年的普通工程师路过
JohnH   
咱们可以从设计反推需求,分析如下:
1.几年前我从桌面编辑完某文档后,通过拖拽发送给对方,随后就删除了。等我想再确认一下当时发送的内容时,发现文件已被清理。而现在的逻辑是只要产生文件发 /收,就会把文件副本到微信消息目录。
需求:(普通)用户多次反馈发送的文件找不到了
至于相同内容多副本的,不知道是不想做还是就没想这块的设计
2.这个场景更容易想,某些企业,会发送报名表、申请表、xx 单子等等,用户都习惯于打开后就地修改,导致原始文件被改得面目全非。
为了避免发送多次,干脆一刀切,全部只读。以后“教会”用户学会另存到本地修改。
bluetree2039   
@JohnH 我确实碰到这样的情况。原始文件找不到了
Mithril   
说是这么说,不过你要是问 “刚入职,发现公司做的产品本地文件在多次转发后会复制多份存储,而且都设置为只读,要如何改进解决这个问题?”
大家肯定有一个算一个都回答你:能用吗?能用就不要改。
那你猜去腾讯的会不会这么想。。。
br00k   
第一个问题,文件系统是可以解决的。苹果的 APFS 相同文件不会重复占用空间。
Rennen   
@leaves615 tg 确实就是全部云存储,只要号不删,所有聊天记录就会一直在,甚至有人还拿 TG 当网盘。WhatsApp 我记得好像可以同步 google drive
leaves615
OP
  
@Bingchunmoli 微信号称服务器端不存用户数据的。
leaves615
OP
  
@br00k Apple 系不管是桌面系统还是手机系统占比都不高的。都是次主要系统。apfs 不能代表全部。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部