本篇主要全过程展示与分析微信生态内聊天记录备份的办法与不足之处,针对各项不足之处提供适配的解决方案,并希望提供一份成本较为低廉的最佳实践。
背景、需求与痛点
微信早已成为我们国民的通用聊天软件,我们每天的聊天内容都在这个平台上不断沉淀,致使手机存储空间日趋紧张,如果您恰好是如下用户画像,则这份指南很适合您:
- 平常生活与工作重度依赖于微信
- 对历史聊天记录非常在意(不愿意选择直接清空的暴力办法)
- 不愿意或不可以采购更大内存的手机、电脑等
- 但有额外的电脑存储空间、外接硬盘等
首先,我们必须指出,生活中的约束处处存在,微信聊天记录备份也符合在资源约束条件下追求效率最大化的特征。
其中,「资源的约束条件」主要为硬件(手机、电脑等)的存储空间限制,「效率」主要是管理与使用聊天记录的便携程度。
基于约束条件,我们不可以假设我们的硬盘是无限的,从而对微信聊天记录总体积的日益增长视而不见。
而基于效率,我们不得不考虑:
- 一旦面临存储空间紧张,如果我们只是简单地把聊天记录删除,则日后一旦需要,将无法再次获得
- 一旦面临存储空间紧张,如果我们只是一味地把聊天记录备份到其他地方,则日后一旦需要,重新恢复的时间成本较高
因此,我们应该设计一种:分级的、分型的、分层的聊天备份体系:
- 所谓分级:由于微信聊天记录是以每个聊天对象作为一个单元,因此我们可以对聊天对象进行重要性分级,对上次聊天较为久远的、不太重要的、已存档的聊天对象优先进行备份并转移,其他的则暂时保留
- 所谓分型:由于微信聊天记录分文本和非文本(富媒体形式,包含图片、语音、视频、链接等)两种,期中文本的体积是最小、语义信息最丰富、构建上下文最重要的形式载体(微信也默认对文本和非文本聊天内容做了区分),因此,我们也可以优先转移非文本形式的聊天图片
- 所谓分层:由于微信的聊天记录默认是支持跨端的(手机、电脑、平板等可同步),但每个端的可使用容量、使用场景与频率都面临不同的约束,因此我们可以把各端组合成多个层级,并采用不同的清理策略:
暴力方案:全量备份
全量备份是非常直观、符合直觉