embedded-framework/middleware/FilesManager/README.md
2024-06-25 22:44:32 +08:00

62 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```
**野数据**
&emsp;&emsp;插入一些非软件保存文件的sd卡时忽略这些数据不做任何处理
## 1.4. 文件命名规则
**文件类型**
1. PIR抓拍
2. 定时抓拍;
3. 手动抓拍;
**文件名命名规则**
基于文件保存表的数据元素:类型+时间+key