feat: 重构存储策略为 SQLite

- 新增 config/database.py: SQLite 数据库管理器
  - WAL 模式提升写入性能
  - 异步批量写入队列
  - 滚动清理机制(保留7天)

- 新增 core/storage_manager.py: 图片存储管理
  - 异步保存抓拍图片
  - 本地缓存断网容灾
  - 按日期分目录存储

- 更新 config/settings.py: 添加 SQLite 配置
  - SQLiteConfig 数据类
  - 环境变量支持

- 更新 core/result_reporter.py: 适配新存储
  - 使用 SQLite 替代 MySQL
  - AlertInfo 数据类重构
  - 断网自动缓存到本地
This commit is contained in:
2026-01-30 11:34:51 +08:00
parent 6dc3442cc2
commit ccb021677c
11 changed files with 1120 additions and 874 deletions

View File

@@ -122,3 +122,40 @@ Traceback (most recent call last):
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
2026-01-30 09:17:37 | ERROR | main | TensorRT引擎加载失败: negative dimensions are not allowed
Traceback (most recent call last):
File "c:\Users\16337\PycharmProjects\ai_edge\core\tensorrt_engine.py", line 102, in load_engine
self._allocate_memory_pool()
File "c:\Users\16337\PycharmProjects\ai_edge\core\tensorrt_engine.py", line 152, in _allocate_memory_pool
self._memory_pool["input"] = np.zeros(shape, dtype=dtype)
ValueError: negative dimensions are not allowed
2026-01-30 09:17:41 | ERROR | main | MQTT连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
Traceback (most recent call last):
File "c:\Users\16337\PycharmProjects\ai_edge\core\result_reporter.py", line 220, in connect
self._client.connect(
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 914, in connect
return self.reconnect()
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 1044, in reconnect
sock = self._create_socket_connection()
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 3685, in _create_socket_connection
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
raise err
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
2026-01-30 09:21:28 | ERROR | main | MQTT连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
Traceback (most recent call last):
File "c:\Users\16337\PycharmProjects\ai_edge\core\result_reporter.py", line 220, in connect
self._client.connect(
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 914, in connect
return self.reconnect()
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 1044, in reconnect
sock = self._create_socket_connection()
File "C:\Users\16337\miniconda3\envs\yolo\lib\site-packages\paho\mqtt\client.py", line 3685, in _create_socket_connection
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 857, in create_connection
raise err
File "C:\Users\16337\miniconda3\envs\yolo\lib\socket.py", line 845, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。