微信 SQLite 数据库
损坏恢复实践10 13 12 Page (定长) B-tree 2 7 9 B-tree Header (100 – 16 bytes) SQLite Header Magic / KDF Salt (16 bytes) sqlite_master 表根节点 (PageSize – 100 bytes) Page 1 sqlite_master 节点 sqlite_master INDEX 语句 初始化流程 打开文件 读取 Salt,根据密钥生成 Key 解码 Page 1,读取 Header 解析 sqlite_master,生成 Schema 关键数据 打开文件 读取 Salt,根据密钥生成 Key 解码 Page 1,读取 Header 解析 sqlite_master,生成 Schema Salt 【用于正确解密】 Page Size 【正确划分Page】 【正确划分Page】 root_page、SQL 【正确访问表数据】 ◊ 序列化备份关键数据 ◊ 时机: Schema 改变时 ◊ 内容: KDF Salt、PageSize、sqlite_master ◊ 开销: 12 kB、10 ms ◊ ~350 个 table/index Master Backup ◊ 最小化系统 ◊ 读数据,写新DB ◊ 只包含核心逻辑 ◊ 高度容错 ◊0 码力 | 31 页 | 546.35 KB | 1 年前3
共 1 条
- 1













