From 8d6cc6fd2395608a004b5a3899981fc6c5ea8490 Mon Sep 17 00:00:00 2001 From: g82tt Date: Sat, 16 May 2026 02:18:02 +0800 Subject: [PATCH] Phase0_alarm_generic --- doc/db_init.sql | 54 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/doc/db_init.sql b/doc/db_init.sql index 7bd820e..962e3fd 100644 --- a/doc/db_init.sql +++ b/doc/db_init.sql @@ -6,12 +6,14 @@ USE gljs_main; --- 1. 统一设备主表 +-- ============================================ +-- 1. 统一设备主表(★中心枢纽) +-- ============================================ DROP TABLE IF EXISTS Base_Device; CREATE TABLE Base_Device ( DeviceId INT AUTO_INCREMENT COMMENT '设备ID', DeviceName NVARCHAR(100) NOT NULL COMMENT '设备名称', - AdapterCode NVARCHAR(50) NOT NULL COMMENT '来源适配器(owl/mc4)', + AdapterCode NVARCHAR(50) NOT NULL COMMENT '来源适配器(owl/mc4/hikvision_access)', SourceId NVARCHAR(100) NOT NULL COMMENT '源系统设备ID', DeviceCategory INT NOT NULL DEFAULT 1 COMMENT '设备大类(1视频/2IoT/3门禁/4道闸/5报警)', DeviceType NVARCHAR(50) COMMENT '设备细分类型(GB28181/TempSensor)', @@ -42,14 +44,17 @@ CREATE TABLE Base_Device ( PRIMARY KEY (DeviceId), UNIQUE INDEX IX_Base_Device_Adapter_Source (AdapterCode, SourceId), INDEX IX_Base_Device_RegionId (RegionId), - INDEX IX_Base_Device_ParentId (ParentDeviceId) + INDEX IX_Base_Device_ParentId (ParentDeviceId), + INDEX IX_Base_Device_Category (DeviceCategory) ) COMMENT '统一设备主表'; +-- ============================================ -- 2. 视频设备扩展表 +-- ============================================ DROP TABLE IF EXISTS Device_Video_Ext; CREATE TABLE Device_Video_Ext ( ExtId INT AUTO_INCREMENT COMMENT '扩展记录ID', - DeviceId INT NOT NULL COMMENT '关联设备ID', + DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)', OwlDeviceId NVARCHAR(64) NOT NULL COMMENT 'Owl系统设备ID', Protocol INT DEFAULT 1 COMMENT '接入协议(1GB28181/2ONVIF/3RTMP/4RTSP)', Manufacturer NVARCHAR(100) COMMENT '厂商', @@ -59,15 +64,17 @@ CREATE TABLE Device_Video_Ext ( CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (ExtId), UNIQUE INDEX IX_VideoExt_Owl (OwlDeviceId), - INDEX IX_VideoExt_Device (DeviceId) + UNIQUE INDEX IX_VideoExt_Device (DeviceId) ) COMMENT '视频设备扩展表'; +-- ============================================ -- 3. 视频通道表 +-- ============================================ DROP TABLE IF EXISTS Video_Channel; CREATE TABLE Video_Channel ( ChannelId INT AUTO_INCREMENT COMMENT '通道ID', OwlChannelId NVARCHAR(64) NOT NULL COMMENT 'Owl系统通道ID', - DeviceId INT NOT NULL COMMENT '关联父设备ID', + DeviceId INT NOT NULL COMMENT '关联父设备ID(Base_Device)', ChannelName NVARCHAR(100) NOT NULL COMMENT '通道名称', ChannelNo INT DEFAULT 0 COMMENT '通道编号', OwlStreamApp NVARCHAR(50) COMMENT 'Owl流应用名', @@ -87,11 +94,13 @@ CREATE TABLE Video_Channel ( INDEX IX_Channel_Device (DeviceId) ) COMMENT '视频通道表'; +-- ============================================ -- 4. 录像记录表 +-- ============================================ DROP TABLE IF EXISTS Video_Record; CREATE TABLE Video_Record ( RecordId INT AUTO_INCREMENT COMMENT '录像记录ID', - ChannelId INT NOT NULL COMMENT '关联通道ID', + ChannelId INT NOT NULL COMMENT '关联通道ID(Video_Channel)', OwlRecordId INT NOT NULL COMMENT 'Owl录像记录ID', App NVARCHAR(50) COMMENT '应用名', Stream NVARCHAR(100) COMMENT '流ID', @@ -106,11 +115,13 @@ CREATE TABLE Video_Record ( INDEX IX_Record_Time (StartedAt) ) COMMENT '录像记录表'; +-- ============================================ -- 5. IoT设备扩展表 +-- ============================================ DROP TABLE IF EXISTS Device_IoT_Ext; CREATE TABLE Device_IoT_Ext ( ExtId INT AUTO_INCREMENT COMMENT '扩展记录ID', - DeviceId INT NOT NULL COMMENT '关联设备ID', + DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)', Mc4DeviceId INT NOT NULL COMMENT 'MC4.0设备ID', ObjectType INT COMMENT 'MC4.0对象类型', Tag NVARCHAR(100) COMMENT '设备标签', @@ -119,14 +130,16 @@ CREATE TABLE Device_IoT_Ext ( CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (ExtId), UNIQUE INDEX IX_IoTExt_Mc4 (Mc4DeviceId), - INDEX IX_IoTExt_Device (DeviceId) + UNIQUE INDEX IX_IoTExt_Device (DeviceId) ) COMMENT '采集设备扩展表'; +-- ============================================ -- 6. 设备点位表 +-- ============================================ DROP TABLE IF EXISTS IoT_DevicePoint; CREATE TABLE IoT_DevicePoint ( PointId INT AUTO_INCREMENT COMMENT '点位ID', - DeviceId INT NOT NULL COMMENT '关联设备ID', + DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)', Mc4DeviceId INT NOT NULL COMMENT 'MC4.0设备ID', PointIndex INT NOT NULL COMMENT '点位索引', PointType INT COMMENT '点位类型', @@ -143,12 +156,14 @@ CREATE TABLE IoT_DevicePoint ( INDEX IX_Point_Device (DeviceId) ) COMMENT '设备点位表'; +-- ============================================ -- 7. 设备数据归档表 +-- ============================================ DROP TABLE IF EXISTS IoT_DeviceData; CREATE TABLE IoT_DeviceData ( DataId INT AUTO_INCREMENT COMMENT '数据记录ID', - DeviceId INT NOT NULL COMMENT '关联设备ID', - PointId INT NOT NULL COMMENT '关联点位ID', + DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)', + PointId INT NOT NULL COMMENT '关联点位ID(IoT_DevicePoint)', PointValue DOUBLE COMMENT '点位数值', UpdateTime DATETIME NOT NULL COMMENT '数据更新时间', `Interval` INT DEFAULT 0 COMMENT '采集间隔(毫秒)', @@ -156,16 +171,18 @@ CREATE TABLE IoT_DeviceData ( CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (DataId), INDEX IX_Data_Device (DeviceId), + INDEX IX_Data_Point (PointId), INDEX IX_Data_Time (CreateDate) ) COMMENT '设备数据归档表(仅存历史快照)'; --- 8. 告警记录表 +-- ============================================ +-- 8. 告警记录表(★通用,视频/IoT/门禁均可产生) +-- ============================================ DROP TABLE IF EXISTS IoT_Alarm; CREATE TABLE IoT_Alarm ( AlarmId INT AUTO_INCREMENT COMMENT '告警ID', - Mc4AlarmId NVARCHAR(64) NOT NULL COMMENT 'MC4.0告警ID', - DeviceId INT COMMENT '关联设备ID', - PointId INT COMMENT '关联点位ID', + SourceAlarmId NVARCHAR(100) NOT NULL COMMENT '源系统告警ID', + DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)', AlarmType INT DEFAULT 0 COMMENT '告警类型', AlarmLevel INT DEFAULT 1 COMMENT '告警等级(1提示/2普通/3重要/4紧急)', AlarmDesc NVARCHAR(500) COMMENT '告警描述', @@ -178,7 +195,8 @@ CREATE TABLE IoT_Alarm ( AdapterCode NVARCHAR(50) COMMENT '来源适配器', CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (AlarmId), - UNIQUE INDEX IX_Alarm_Mc4 (Mc4AlarmId), + UNIQUE INDEX IX_Alarm_Source (SourceAlarmId), INDEX IX_Alarm_Device (DeviceId), - INDEX IX_Alarm_Time (StartTime) + INDEX IX_Alarm_Time (StartTime), + INDEX IX_Alarm_Level (AlarmLevel) ) COMMENT '告警记录表';