# 1. 文件管理 ## 1.1. 概述   IPC产品的文件管理模块。抓拍的图片或者视频的保存/删除/查询等操作通过该模块实现。 ## 1.2. 数据库管理设计   考虑到拓展性,使用数据库salite3对文件的各种属性进行管理。 ### 1.2.1. 数据库表 **文件保存表** | key | 路径 | 时间 | 类型 | 大小 | 状态 | | ---- | ---- | ---- | ---- | ---- | ---- | | 数据库键值 | 文件保存的相对路径 | 录制的时间
可能不准确 | 录制的类型:
PIR
手动
手机app
定时 | 文件大小 | 枚举:
正在拍摄
已完成拍摄
待上传
正在上传
上传完成 | **如何应对未知的数据表临加** 解决基于一个已存在的数据库文件,临加数据元素。 拍摄流程: 1. 拍摄前先创建数据,获取唯一自增键值; 2. 拍摄结束后,更新数据状态为已完成; **状态使用TEXT数据类型,如果使用枚举,可能会存在枚举值变化导致的bug。** ## 1.3. 文件夹管理 **目录树** ``` DCIM/ // 根目录 ├── picture // 图片目录 │   └── 2024 // 年份记录 │   ├── 01 // 月份记录 │   │   └── xxx.jpg │   └── 02 └── video // 视频目录 └── 2024 // 年份记录 └── 01 // 月份记录 └── xxx.MP4 ``` **野数据**   插入一些非软件保存文件的sd卡时,忽略这些数据(不做任何处理)。 ## 1.4. 文件命名规则 **文件类型** 1. PIR抓拍; 2. 定时抓拍; 3. 手动抓拍; **文件名命名规则** 基于文件保存表的数据元素:类型+时间+key