55 lines
3.3 KiB
MySQL
55 lines
3.3 KiB
MySQL
|
|
-- PPE违规报警接收表。
|
||
|
|
-- 本脚本用于已有数据库增量部署,不会删除现有巡检数据。
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `inspection_detection_alert` (
|
||
|
|
`id` varchar(32) NOT NULL COMMENT '主键ID',
|
||
|
|
`event_id` varchar(128) DEFAULT NULL COMMENT '边缘端事件ID',
|
||
|
|
`idempotency_key` varchar(191) NOT NULL COMMENT 'HTTP幂等键',
|
||
|
|
`schema_version` varchar(64) NOT NULL COMMENT '消息结构版本',
|
||
|
|
`source_id` varchar(128) DEFAULT NULL COMMENT '视频源标识',
|
||
|
|
`source_sequence` bigint DEFAULT NULL COMMENT '视频源内消息序号',
|
||
|
|
`captured_at_ns` bigint DEFAULT NULL COMMENT '采集时间Unix纳秒',
|
||
|
|
`received_at_ns` bigint DEFAULT NULL COMMENT '边缘端接收时间Unix纳秒',
|
||
|
|
`trace_id` varchar(128) DEFAULT NULL COMMENT '链路追踪ID',
|
||
|
|
`session_id` varchar(128) DEFAULT NULL COMMENT '边缘推理会话ID',
|
||
|
|
`input_port` varchar(128) DEFAULT NULL COMMENT '消息输入端口',
|
||
|
|
`rule_id` varchar(128) DEFAULT NULL COMMENT '命中的规则ID',
|
||
|
|
`model_id` varchar(255) DEFAULT NULL COMMENT '模型版本ID',
|
||
|
|
`model_name` varchar(255) DEFAULT NULL COMMENT '模型名称',
|
||
|
|
`labels_json` text COMMENT '命中标签JSON',
|
||
|
|
`detection_scope` varchar(64) DEFAULT NULL COMMENT '规则统计范围',
|
||
|
|
`scope_id` varchar(128) DEFAULT NULL COMMENT '统计范围对象ID',
|
||
|
|
`hit_count` int DEFAULT NULL COMMENT '窗口内命中次数',
|
||
|
|
`window_ms` decimal(12,3) DEFAULT NULL COMMENT '统计窗口毫秒',
|
||
|
|
`first_seen_ns` bigint DEFAULT NULL COMMENT '首次命中时间Unix纳秒',
|
||
|
|
`last_seen_ns` bigint DEFAULT NULL COMMENT '最后命中时间Unix纳秒',
|
||
|
|
`triggered_at_ns` bigint DEFAULT NULL COMMENT '报警触发时间Unix纳秒',
|
||
|
|
`max_confidence` decimal(8,6) DEFAULT NULL COMMENT '最大置信度',
|
||
|
|
`image_path` varchar(1000) DEFAULT NULL COMMENT 'MinIO图片URL',
|
||
|
|
`raw_json` mediumtext COMMENT '已移除Base64图片数据的原始协议JSON',
|
||
|
|
`created_at` datetime(3) NOT NULL COMMENT '平台接收时间',
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
UNIQUE KEY `uk_detection_alert_event_id` (`event_id`),
|
||
|
|
UNIQUE KEY `uk_detection_alert_idempotency_key` (`idempotency_key`),
|
||
|
|
KEY `idx_detection_alert_source_id` (`source_id`),
|
||
|
|
KEY `idx_detection_alert_rule_id` (`rule_id`),
|
||
|
|
KEY `idx_detection_alert_triggered_at` (`triggered_at_ns`),
|
||
|
|
KEY `idx_detection_alert_created_at` (`created_at`)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检PPE违规报警主表';
|
||
|
|
|
||
|
|
CREATE TABLE IF NOT EXISTS `inspection_detection_detail` (
|
||
|
|
`id` varchar(32) NOT NULL COMMENT '主键ID',
|
||
|
|
`alert_id` varchar(32) NOT NULL COMMENT '报警主表ID',
|
||
|
|
`label` varchar(128) DEFAULT NULL COMMENT '检测标签',
|
||
|
|
`confidence` decimal(8,6) DEFAULT NULL COMMENT '检测置信度',
|
||
|
|
`x_min` decimal(12,4) DEFAULT NULL COMMENT '目标框左上X坐标',
|
||
|
|
`y_min` decimal(12,4) DEFAULT NULL COMMENT '目标框左上Y坐标',
|
||
|
|
`x_max` decimal(12,4) DEFAULT NULL COMMENT '目标框右下X坐标',
|
||
|
|
`y_max` decimal(12,4) DEFAULT NULL COMMENT '目标框右下Y坐标',
|
||
|
|
`track_id` bigint DEFAULT NULL COMMENT '目标跟踪ID',
|
||
|
|
PRIMARY KEY (`id`),
|
||
|
|
KEY `idx_detection_detail_alert_id` (`alert_id`),
|
||
|
|
CONSTRAINT `fk_detection_detail_alert` FOREIGN KEY (`alert_id`)
|
||
|
|
REFERENCES `inspection_detection_alert` (`id`) ON DELETE CASCADE
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检PPE报警检测框明细表';
|