mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
# 1. 文件管理
|
||
|
||
## 1.1. 概述
|
||
|
||
  IPC产品的文件管理模块。抓拍的图片或者视频的保存/删除/查询等操作通过该模块实现。
|
||
|
||
## 1.2. 数据库管理设计
|
||
|
||
  考虑到拓展性,使用数据库salite3对文件的各种属性进行管理。
|
||
|
||
### 1.2.1. 数据库表
|
||
|
||
**文件保存表**
|
||
|
||
| key | 路径 | 时间 | 类型 | 大小 | 状态 |
|
||
| ---- | ---- | ---- | ---- | ---- | ---- |
|
||
| 数据库键值 | 文件保存的相对路径 | 录制的时间<br>可能不准确 | 录制的类型:<br>PIR<br>手动<br>手机app<br>定时 | 文件大小 | 枚举:<br>正在拍摄<br>已完成拍摄<br>待上传<br>正在上传<br>上传完成 |
|
||
|
||
**如何应对未知的数据表临加**
|
||
|
||
解决基于一个已存在的数据库文件,临加数据元素。
|
||
|
||
拍摄流程:
|
||
|
||
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
|