From fe308474ffd84b07d7ec632d1414393cde7aafc0 Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Thu, 5 Feb 2026 13:31:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(aiot):=20=E6=96=B0=E5=A2=9E=E6=96=B9?= =?UTF-8?q?=E6=A1=88B=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 wvp_ai_config_snapshot 配置版本快照表 - 新增 wvp_ai_algo_template 算法参数模板表 - 新增 wvp_ai_alert AI告警表 - 新增 wvp_ai_edge_device 边缘设备状态表 - wvp_ai_roi_algo_bind 新增 template_id 和 param_override 字段 Co-Authored-By: Claude Opus 4.5 --- 数据库/aiot/升级-mysql-aiot-方案B.sql | 77 +++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 数据库/aiot/升级-mysql-aiot-方案B.sql diff --git a/数据库/aiot/升级-mysql-aiot-方案B.sql b/数据库/aiot/升级-mysql-aiot-方案B.sql new file mode 100644 index 000000000..dd2f4eac4 --- /dev/null +++ b/数据库/aiot/升级-mysql-aiot-方案B.sql @@ -0,0 +1,77 @@ +-- ============================================================ +-- AIoT 方案B升级脚本 - Redis+MQTT混合对接 +-- 新增表:config_snapshot, alert, edge_device, algo_template +-- 修改表:roi_algo_bind 新增 template_id, param_override +-- ============================================================ + +-- 1. 配置版本快照表 +CREATE TABLE IF NOT EXISTS wvp_ai_config_snapshot ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + version INT NOT NULL COMMENT '自增版本号', + scope_type VARCHAR(20) NOT NULL COMMENT 'CAMERA|ROI|BIND', + scope_id VARCHAR(64) NOT NULL COMMENT 'camera_id/roi_id/bind_id', + camera_id VARCHAR(64) NOT NULL COMMENT '所属摄像头', + snapshot LONGTEXT NOT NULL COMMENT '完整JSON快照', + change_type VARCHAR(20) NOT NULL COMMENT 'CREATE|UPDATE|DELETE|ROLLBACK|PUSH', + change_desc VARCHAR(255) NULL COMMENT '变更描述', + created_by VARCHAR(64) NULL COMMENT '操作人', + created_at VARCHAR(50) NOT NULL COMMENT '创建时间', + INDEX idx_scope (scope_type, scope_id), + INDEX idx_camera (camera_id), + INDEX idx_version (scope_type, scope_id, version DESC) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置版本快照'; + +-- 2. AI告警表 +CREATE TABLE IF NOT EXISTS wvp_ai_alert ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + alert_id VARCHAR(128) NOT NULL COMMENT '告警唯一ID', + camera_id VARCHAR(64) NOT NULL COMMENT '摄像头ID', + roi_id VARCHAR(64) NOT NULL COMMENT 'ROI区域ID', + bind_id VARCHAR(64) NULL COMMENT '绑定ID', + alert_type VARCHAR(50) NOT NULL COMMENT 'leave_post/intrusion/crowd_detection', + target_class VARCHAR(50) NULL COMMENT '目标类别', + confidence DOUBLE NULL COMMENT '置信度', + bbox VARCHAR(255) NULL COMMENT 'JSON: [x1,y1,x2,y2]', + message TEXT NULL COMMENT '告警消息', + image_path VARCHAR(255) NULL COMMENT '告警图片路径', + duration_minutes DOUBLE NULL COMMENT '持续时长(分钟)', + extra_data TEXT NULL COMMENT 'JSON扩展', + received_at VARCHAR(50) NOT NULL COMMENT '接收时间', + UNIQUE KEY uk_alert_id (alert_id), + INDEX idx_camera (camera_id), + INDEX idx_type (alert_type), + INDEX idx_time (received_at) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI告警记录'; + +-- 3. 边缘设备状态表 +CREATE TABLE IF NOT EXISTS wvp_ai_edge_device ( + id INT PRIMARY KEY AUTO_INCREMENT, + device_id VARCHAR(64) NOT NULL COMMENT '设备唯一ID', + status VARCHAR(20) DEFAULT 'offline' COMMENT 'online/offline', + last_heartbeat VARCHAR(50) NULL COMMENT '最后心跳时间', + uptime_seconds BIGINT NULL COMMENT '运行时长(秒)', + frames_processed BIGINT NULL COMMENT '已处理帧数', + alerts_generated BIGINT NULL COMMENT '已生成告警数', + stream_stats TEXT NULL COMMENT 'JSON流统计', + updated_at VARCHAR(50) NULL COMMENT '更新时间', + UNIQUE KEY uk_device_id (device_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='边缘设备状态'; + +-- 4. 算法参数模板表 +CREATE TABLE IF NOT EXISTS wvp_ai_algo_template ( + id INT PRIMARY KEY AUTO_INCREMENT, + template_id VARCHAR(64) NOT NULL COMMENT '模板唯一ID', + template_name VARCHAR(100) NOT NULL COMMENT '模板名称', + algo_code VARCHAR(50) NOT NULL COMMENT '关联算法代码', + params TEXT NOT NULL COMMENT 'JSON参数', + description VARCHAR(255) NULL COMMENT '描述', + create_time VARCHAR(50) NULL COMMENT '创建时间', + update_time VARCHAR(50) NULL COMMENT '更新时间', + UNIQUE KEY uk_template_id (template_id), + INDEX idx_algo (algo_code) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='算法参数模板'; + +-- 5. wvp_ai_roi_algo_bind 新增模板引用字段 +ALTER TABLE wvp_ai_roi_algo_bind + ADD COLUMN template_id VARCHAR(64) DEFAULT NULL COMMENT '引用的模板ID', + ADD COLUMN param_override TEXT DEFAULT NULL COMMENT '覆盖模板的局部参数JSON';