繁星3.0.sql 28.4 KB
-- s_task 任务信息表

CREATE TABLE IF NOT EXISTS s_task
(
    id              BIGINT       NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid            VARCHAR(36)  NOT NULL DEFAULT (UUID()),
    -- 任务名称不能重复
    name            VARCHAR(128) NOT NULL UNIQUE COMMENT '任务名称',
    alg_type        VARCHAR(36)  NOT NULL COMMENT '算法类型',
    alg_enabled     VARCHAR(1024) COMMENT '已启用的算法类型',
    resource_need   FLOAT        NOT NULL COMMENT '任务所需资源数量',
    priority        INT          NOT NULL DEFAULT 0 COMMENT '任务优先级',
    store_config_id BIGINT       NOT NULL COMMENT '存储配置id',
    va_type         VARCHAR(36) COMMENT '算法分析设备类型',
    runtime_type    INT          NOT NULL DEFAULT 0 COMMENT '任务执行时间类型,全天分时段等',
    runtime_conf    TEXT COMMENT '任务执行时间段的配置',
    device_unid     VARCHAR(36) COMMENT '相机设备unid',
    channel_unid    VARCHAR(36) COMMENT '相机通道unid',
    stream_path     VARCHAR(1024) COMMENT '视频流地址',
    stream_type     INT COMMENT '视频流类型',
    scene           TEXT COMMENT '场景配置,包含画线预置位等',
    create_time     TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status          INT          NOT NULL DEFAULT 0 COMMENT '任务状态',
    INDEX s_task_unid_idx (unid)
);


-- s_store_config 存储配置表

CREATE TABLE IF NOT EXISTS s_store_config
(
    id             BIGINT       NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid           VARCHAR(36)  NOT NULL DEFAULT (UUID()),
    name           VARCHAR(256) NOT NULL COMMENT '存储配置名称',
    content_format INT          NOT NULL COMMENT '配置内容格式,如xml',
    content        TEXT         NOT NULL COMMENT '配置内容',
    create_time    TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status         INT          NOT NULL DEFAULT 0 COMMENT '状态',
    INDEX s_store_config_unid_idx (unid)
);


-- s_forward 转发信息表

CREATE TABLE IF NOT EXISTS s_forward
(
    id             BIGINT        NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid           VARCHAR(36)   NOT NULL DEFAULT (UUID()),
    name           VARCHAR(256)  NOT NULL COMMENT '转发名称',
    url            VARCHAR(1024) NOT NULL COMMENT '转发地址',
    total          BIGINT        NOT NULL DEFAULT 0 COMMENT '转发数据总量',
    failed         BIGINT        NOT NULL DEFAULT 0 COMMENT '失败数量',
    last_send_time TIMESTAMP COMMENT '最后发送时间',
    create_time    TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    status         INT           NOT NULL DEFAULT 0 COMMENT '状态'
);


-- s_forward_config 转发配置表

CREATE TABLE IF NOT EXISTS s_forward_config
(
    id         BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid       VARCHAR(36) NOT NULL DEFAULT (UUID()),
    forward_id BIGINT      NOT NULL COMMENT '转发信息id',
    event_cate VARCHAR(36) NOT NULL,
    event_type VARCHAR(36) NOT NULL,
    INDEX s_forward_config_forward_id_idx (forward_id)
);


-- d_traffic

CREATE TABLE IF NOT EXISTS d_traffic
(
    id                             BIGINT      NOT NULL AUTO_INCREMENT,
    unid                           VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id                        BIGINT COMMENT '任务id',
    event_cate                     VARCHAR(36),
    event_type                     VARCHAR(36),
    event_time                     TIMESTAMP   NOT NULL COMMENT '事件时间',
    channel_unid                   VARCHAR(36) COMMENT '通道unid',
    plate_color                    VARCHAR(36) COMMENT '车牌颜色',
    plate_number                   VARCHAR(36) COMMENT '车牌号码',
    location_code                  VARCHAR(36) COMMENT '位置编码',
    location_name                  VARCHAR(500) COMMENT '位置名称',
    lane_code                      VARCHAR(36) COMMENT '车道编码',
    direction_code                 VARCHAR(36) COMMENT '卡口方向',
    vehicle_type                   VARCHAR(36) COMMENT '车辆类型',
    vehicle_color                  VARCHAR(36) COMMENT '车身颜色',
    vehicle_logo                   VARCHAR(36) COMMENT '车标编码',
    illegal_code                   VARCHAR(36) COMMENT '违法行为',
    illegal_state                  INT COMMENT '违法行为是否可用',
    feature_annual_inspection_mark SMALLINT             DEFAULT 0 COMMENT '年检标',
    feature_pendant                SMALLINT             DEFAULT 0 COMMENT '吊坠',
    feature_decoration             SMALLINT             DEFAULT 0 COMMENT '摆件',
    feature_sun_shield             SMALLINT             DEFAULT 0 COMMENT '遮阳板',
    xcycle_type                    VARCHAR(36) COMMENT '非机动车类型',
    event_id                       VARCHAR(64) COMMENT '事件唯一id',
    special_type                   VARCHAR(36),
    with_helmet                    INT COMMENT '是否戴头盔0不带',
    json_data                      TEXT COMMENT '原始数据',
    pics                           VARCHAR(2048),
    video_name                     VARCHAR(256),
    status                         INT         NOT NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (id, event_time),
    INDEX d_traffic_unid_idx (unid),
    INDEX d_traffic_select_idx (event_time, event_type, vehicle_type)
);

-- d_traffic_face

CREATE TABLE IF NOT EXISTS d_traffic_face
(
    id          BIGINT      NOT NULL AUTO_INCREMENT,
    unid        VARCHAR(36) NOT NULL DEFAULT (UUID()),
    traffic_id  BIGINT      NOT NULL COMMENT 'trafficId',
    event_time  TIMESTAMP   NOT NULL COMMENT '事件时间',
    state       SMALLINT    NOT NULL DEFAULT 1,
    sex         SMALLINT    NOT NULL DEFAULT 0,
    upper_color VARCHAR(36),
    lower_color VARCHAR(36),
    INDEX traffic_face_traffic_id_idx (traffic_id),
    PRIMARY KEY (id, event_time)
);

-- d_flow_data

CREATE TABLE IF NOT EXISTS d_flow_data
(
    id               BIGINT      NOT NULL AUTO_INCREMENT,
    unid             VARCHAR(36) NOT NULL DEFAULT (UUID()),
    flow_event_id    BIGINT COMMENT 'eventId',
    task_id          BIGINT,
    detection_type   VARCHAR(36) COMMENT '检测类型(bus,big_vehicle,xcycle等)',
    road_code        VARCHAR(36) COMMENT '道路编码',
    direction_code   VARCHAR(36) COMMENT '方向编码',
    sample_dura      BIGINT,
    sample_num       FLOAT,
    velocity         FLOAT COMMENT '速率',
    velocity_unit    VARCHAR(16) COMMENT '速率单位',
    occupy           FLOAT COMMENT '车道占有率',
    distance         FLOAT COMMENT '车头间距',
    queue_length     FLOAT COMMENT '车辆排队长度',
    region_id        VARCHAR(36),
    region_name      VARCHAR(128),
    position_content TEXT,
    head_content     TEXT,
    area             FLOAT,
    density          FLOAT,
    sample_num_in    FLOAT,
    sample_num_out   FLOAT,
    event_time       TIMESTAMP,
    dist_time        FLOAT,
    time_occupy      FLOAT,
    status           INT         NOT NULL DEFAULT 0 COMMENT '状态',
    PRIMARY KEY (id, event_time),
    INDEX flow_data_select_idx (flow_event_id)
);


-- d_flow_event

CREATE TABLE IF NOT EXISTS d_flow_event
(
    id            BIGINT      NOT NULL AUTO_INCREMENT,
    unid          VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id       BIGINT COMMENT '任务id',
    event_type    VARCHAR(36),
    event_time    TIMESTAMP COMMENT '事件时间',
    event_id      VARCHAR(64) COMMENT '事件唯一id',
    device_code   VARCHAR(36),
    device_name   VARCHAR(64),
    location_code VARCHAR(36),
    location_name VARCHAR(64),
    json_data     TEXT,
    pics          VARCHAR(2048),
    video_name    VARCHAR(256),
    PRIMARY KEY (id, event_time),
    INDEX flow_event_select_idx (event_time, event_type)
);


-- d_behavior

CREATE TABLE IF NOT EXISTS d_behavior
(
    id             BIGINT      NOT NULL AUTO_INCREMENT,
    unid           VARCHAR(36) NOT NULL DEFAULT (UUID()),
    task_id        BIGINT,
    event_type     VARCHAR(36),
    event_cate     VARCHAR(36),
    event_refid    VARCHAR(64),
    event_time     TIMESTAMP,
    event_data     TEXT,
    pics           VARCHAR(2048),
    video          TEXT,
    channel_unid   VARCHAR(36),
    task_name      VARCHAR(128),
    event_data_num VARCHAR(36),
    PRIMARY KEY (id, event_time),
    INDEX behavior_select_idx (event_time, event_type, event_cate)
);

-- s_dict_cate

CREATE TABLE IF NOT EXISTS s_dict_cate
(
    id   BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid VARCHAR(36) NOT NULL DEFAULT (UUID()),
    type VARCHAR(36) COMMENT '分类',
    code VARCHAR(36) COMMENT 'cate编码',
    name VARCHAR(36) NOT NULL COMMENT 'cate名称',
    note VARCHAR(36) COMMENT '注释',
    INDEX s_dict_cate_type_idx (type)
);


--  s_dict_code

CREATE TABLE IF NOT EXISTS s_dict_code
(
    id        BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid      VARCHAR(36) NOT NULL DEFAULT (UUID()),
    cate_id   BIGINT      NOT NULL,
    parent_id BIGINT COMMENT '上级code的id',
    code      VARCHAR(36) COMMENT 'code编码',
    name      VARCHAR(36) NOT NULL COMMENT 'code名称',
    note      VARCHAR(36) COMMENT '注释',
    CONSTRAINT `s_dict_code_cate_id_frk` FOREIGN KEY (`cate_id`) REFERENCES `fanxing3`.`s_dict_cate` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    INDEX s_dict_code_idx (cate_id)
);

--  s_channel

CREATE TABLE IF NOT EXISTS s_channel
(
    id           BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid         VARCHAR(36) NOT NULL DEFAULT (UUID()),
    -- 设备unid不能重复
    channel_unid VARCHAR(64) NOT NULL UNIQUE COMMENT '设备中每一路视频通道本身的编码',
    device_unid  VARCHAR(64) COMMENT '设备自身的编码',
    type         INT         NOT NULL default 0 COMMENT '设备信息来源类型,0手动添加,1平台拉取,2视频资源上传',
    device_type  VARCHAR(36) COMMENT '设备类型,对应字典表中device_type',
    stream_type  INT COMMENT '视频流类型,例如rtsp,http,rtmp等',
    stream_path  VARCHAR(1024) COMMENT '视频流地址',
    username     VARCHAR(36) COMMENT '获取视频流所需的用户名',
    password     VARCHAR(64) COMMENT '获取视频流所需的密码',
    brand        varchar(64) COMMENT '品牌/厂家',
    direction    varchar(64) COMMENT '方向',
    address_unid VARCHAR(36) COMMENT '绑定的组织结构,组织结构在字典表中',
    -- 设备名称不能重复
    name         VARCHAR(128) UNIQUE COMMENT '名称',
    ip           VARCHAR(36) COMMENT 'ip地址',
    port         INT COMMENT '端口号',
    expand       VARCHAR(128) COMMENT '扩展字段,保存一些不重要的信息',
    longitude    FLOAT,
    latitude     FLOAT,
    status       INT         NOT NULL DEFAULT 0,
    create_time  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    INDEX s_channel_unid_idx (unid)
);

-- r_channel_tag

CREATE TABLE IF NOT EXISTS r_channel_tag
(
    id         BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    channel_id BIGINT      NOT NULL COMMENT '对应channel表的id',
    tag        VARCHAR(36) NOT NULL COMMENT 'tag也在字典表中',

    CONSTRAINT `r_channel_tag_channel_id_frk` FOREIGN KEY (`channel_id`) REFERENCES `fanxing3`.`s_channel` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
    INDEX r_channel_tag_channel_id_idx (channel_id),
    INDEX r_channel_tag_tag_id_idx (tag)
);

-- s_content

CREATE TABLE IF NOT EXISTS s_content
(
    id      BIGINT      NOT NULL PRIMARY KEY AUTO_INCREMENT,
    unid    VARCHAR(36) NOT NULL DEFAULT (UUID()),
    name    VARCHAR(64) NOT NULL COMMENT '名称',
    type    VARCHAR(32) COMMENT '分组',
    content TEXT COMMENT '内容'
);
insert into s_content(name, content, type)
values ('defaultConfig',
        '<?xml version="1.0" encoding="GBK"?><root><算法参数设置><车牌识别><车牌缩放比率>0.8000</车牌缩放比率><本地车牌首字母>1</本地车牌首字母><车牌最小宽度>60</车牌最小宽度><车牌最大宽度>180</车牌最大宽度><本地汉字>20</本地汉字><是否识别新能源车牌>0</是否识别新能源车牌></车牌识别><是否启用高速模式>0</是否启用高速模式><调试信息><字体大小>20</字体大小><是否显示Scale>0</是否显示Scale><是否显示耗时>0</是否显示耗时><是否显示版本>0</是否显示版本></调试信息><车牌宽度范围设定方法>1</车牌宽度范围设定方法></算法参数设置><短时录像设置><启用>1</启用><是否画框>1</是否画框><向前录像时间>10</向前录像时间><向后录像时间>10</向后录像时间><录像最大缓存时间>100</录像最大缓存时间></短时录像设置><功能配置><抓拍参数配置><路口电警><卡口><输出卡口图片>1</输出卡口图片><卡口抓两张图>0</卡口抓两张图><上行物体不输出卡口结果>0</上行物体不输出卡口结果><下行物体不输出卡口结果>0</下行物体不输出卡口结果><无牌车辆不输出卡口结果>0</无牌车辆不输出卡口结果><行人非机动车不输出卡口结果>0</行人非机动车不输出卡口结果></卡口></路口电警></抓拍参数配置></功能配置><车辆属性识别><识别车辆类型>1</识别车辆类型><识别车标>1</识别车标><识别车身颜色>1</识别车身颜色><识别驾驶员>1</识别驾驶员><识别危险品标识>1</识别危险品标识></车辆属性识别></root>',
        'defaultConfig');
insert into s_content(name, content, type)
values ('defaultConfigTemplate',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><启用><AttribType>4</AttribType><AttribInfo>是否开启录像</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></启用><是否画框><AttribType>4</AttribType><AttribInfo>是否画框</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画框><向前录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向前录像时间><向后录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向后录像时间><录像最大缓存时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>60</AttribDefault><AttribRange>0-1000</AttribRange></录像最大缓存时间></短时录像设置><车辆属性识别><识别车辆类型><AttribType>4</AttribType><AttribInfo>识别车辆类型</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车辆类型><识别车标><AttribType>4</AttribType><AttribInfo>识别车标</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车标><识别车身颜色><AttribType>4</AttribType><AttribInfo>识别车身颜色</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车身颜色><识别驾驶员><AttribType>4</AttribType><AttribInfo>识别驾驶员</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别驾驶员><识别危险品标识><AttribType>4</AttribType><AttribInfo>识别危险品标识</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别危险品标识></车辆属性识别><功能配置><抓拍参数配置><路口电警><卡口><输出卡口图片><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></输出卡口图片><卡口抓两张图><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></卡口抓两张图><上行物体不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></上行物体不输出卡口结果><下行物体不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></下行物体不输出卡口结果><无牌车辆不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></无牌车辆不输出卡口结果><行人非机动车不输出卡口结果><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></行人非机动车不输出卡口结果></卡口></路口电警></抓拍参数配置></功能配置><算法参数设置><是否启用高速模式><AttribType>4</AttribType><AttribInfo>应用于车辆通常速度较高且视频卡顿场景</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></是否启用高速模式><车牌识别><车牌缩放比率><AttribType>1</AttribType><AttribInfo>适用非机动车和摩托车,车牌宽目标40-80像素</AttribInfo><AttribDefault>0.800000</AttribDefault><AttribRange>0.300000-3.000000</AttribRange></车牌缩放比率><本地车牌首字母><AttribType>3</AttribType><AttribInfo>只摩托车</AttribInfo><AttribDefault>0</AttribDefault><AttribRange>26:0-A&amp;1-B&amp;2-C&amp;3-D&amp;4-E&amp;5-F&amp;6-G&amp;7-H&amp;8-I&amp;9-J&amp;10-K&amp;11-L&amp;12-M&amp;13-N&amp;14-O&amp;15-P&amp;16-Q&amp;17-R&amp;18-S&amp;19-T&amp;20-U&amp;21-V&amp;22-W&amp;23-X&amp;24-Y&amp;25-Z</AttribRange></本地车牌首字母><车牌最小宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>90</AttribDefault><AttribRange>60-230</AttribRange></车牌最小宽度><车牌最大宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>130</AttribDefault><AttribRange>60-230</AttribRange></车牌最大宽度><本地汉字><AttribType>3</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange>31:0-京&amp;1-沪&amp;2-津&amp;3-渝&amp;4-冀&amp;5-晋&amp;6-蒙&amp;7-辽&amp;8-吉&amp;9-黑&amp;10-苏&amp;11-浙&amp;12-皖&amp;13-闽&amp;14-赣&amp;15-鲁&amp;16-豫&amp;17-鄂&amp;18-湘&amp;19-粤&amp;20-桂&amp;21-琼&amp;22-川&amp;23-贵&amp;24-云&amp;25-藏&amp;26-陕&amp;27-甘&amp;28-青&amp;29-宁&amp;30-新</AttribRange></本地汉字><是否识别新能源车牌><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></是否识别新能源车牌></车牌识别><调试信息><字体大小><AttribType>0</AttribType><AttribInfo>root\算法参数设置\调试信息\字体大小</AttribInfo><AttribDefault>20</AttribDefault><AttribRange>10-100</AttribRange></字体大小><是否显示Scale><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示Scale><是否显示耗时><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示耗时><是否显示版本><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示版本></调试信息></算法参数设置><车牌宽度范围设定方法><AttribType>3</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange>2:0-手动设置&amp;1-自动计算</AttribRange></车牌宽度范围设定方法></root>',
        'defaultConfig');


insert into s_content(name, content, type)
values ('illegalStopDefaultConfig',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><录像最大缓存时间>200</录像最大缓存时间><向前录像时间>180</向前录像时间><向后录像时间>20</向后录像时间><启用>0</启用><是否画框>0</是否画框></短时录像设置><算法参数设置><是否输出无牌结果>1</是否输出无牌结果><车牌识别><本地汉字>0</本地汉字><车牌最小宽度>60</车牌最小宽度><车牌最大宽度>150</车牌最大宽度><是否识别新能源车牌>0</是否识别新能源车牌></车牌识别><车头检测分数阈值>50</车头检测分数阈值><车尾检测分数阈值>50</车尾检测分数阈值><是否画检测区域>0</是否画检测区域><同时计时抓拍>0</同时计时抓拍><违法图片间隔时间-秒><时间1>10</时间1><时间2>160</时间2><时间3>10</时间3></违法图片间隔时间-秒></算法参数设置><动态跟踪参数><使用球机3D定位-重启生效>0</使用球机3D定位-重启生效></动态跟踪参数><车辆属性识别><识别车辆类型>0</识别车辆类型><识别车标>0</识别车标><识别车身颜色>0</识别车身颜色><识别驾驶员>0</识别驾驶员><识别危险品标识>0</识别危险品标识></车辆属性识别></root>',
        'defaultConfig');
insert into s_content(name, content, type)
values ('illegalStopDefaultConfigTemplate',
        '<?xml version="1.0" encoding="GBK"?><root><短时录像设置><启用><AttribType>4</AttribType><AttribInfo>是否开启录像</AttribInfo><AttribDefault>0</AttribDefault><AttribRange /></启用><是否画框><AttribType>4</AttribType><AttribInfo>是否画框</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画框><向前录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向前录像时间><向后录像时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>5</AttribDefault><AttribRange>0-1000</AttribRange></向后录像时间><录像最大缓存时间><AttribType>0</AttribType><AttribInfo>秒</AttribInfo><AttribDefault>60</AttribDefault><AttribRange>0-1000</AttribRange></录像最大缓存时间></短时录像设置><车辆属性识别><识别车辆类型><AttribType>4</AttribType><AttribInfo>识别车辆类型</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车辆类型><识别车标><AttribType>4</AttribType><AttribInfo>识别车标</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车标><识别车身颜色><AttribType>4</AttribType><AttribInfo>识别车身颜色</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别车身颜色><识别驾驶员><AttribType>4</AttribType><AttribInfo>识别驾驶员</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别驾驶员><识别危险品标识><AttribType>4</AttribType><AttribInfo>识别危险品标识</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></识别危险品标识></车辆属性识别><算法功能><是否开启车牌验证同一辆车><AttribType>4</AttribType><AttribInfo>是否开启车牌验证同一辆车</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否开启车牌验证同一辆车></算法功能><算法参数设置><抓拍前等待时间-秒><AttribType>0</AttribType><AttribInfo>抓拍前等待时间</AttribInfo><AttribDefault>2</AttribDefault><AttribRange>0-600</AttribRange></抓拍前等待时间-秒><违法图片间隔时间-秒><时间1><AttribType>0</AttribType><AttribInfo>图1图2间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间1><时间2><AttribType>0</AttribType><AttribInfo>图2图3间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间2><时间3><AttribType>0</AttribType><AttribInfo>图3图4间隔时间</AttribInfo><AttribDefault>10</AttribDefault><AttribRange>0-1000</AttribRange></时间3></违法图片间隔时间-秒><同时计时抓拍><AttribType>4</AttribType><AttribInfo>同时计时抓拍</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></同时计时抓拍><车头检测分数阈值><AttribType>0</AttribType><AttribInfo>车检分数阈值</AttribInfo><AttribDefault>50</AttribDefault><AttribRange>10-100</AttribRange></车头检测分数阈值><车尾检测分数阈值><AttribType>0</AttribType><AttribInfo>车检分数阈值</AttribInfo><AttribDefault>50</AttribDefault><AttribRange>10-100</AttribRange></车尾检测分数阈值><是否画检测区域><AttribType>4</AttribType><AttribInfo>是否画检测区域</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否画检测区域><是否输出无牌结果><AttribType>4</AttribType><AttribInfo>是否输出无牌结果</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></是否输出无牌结果><调试信息><字体大小><AttribType>0</AttribType><AttribInfo/><AttribDefault>20</AttribDefault><AttribRange>10-100</AttribRange></字体大小><是否显示Scale><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示Scale><是否显示耗时><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示耗时><是否显示版本><AttribType>4</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange /></是否显示版本></调试信息><车牌识别><本地汉字><AttribType>3</AttribType><AttribInfo/><AttribDefault>0</AttribDefault><AttribRange>31:0-京&amp;1-沪&amp;2-津&amp;3-渝&amp;4-冀&amp;5-晋&amp;6-蒙&amp;7-辽&amp;8-吉&amp;9-黑&amp;10-苏&amp;11-浙&amp;12-皖&amp;13-闽&amp;14-赣&amp;15-鲁&amp;16-豫&amp;17-鄂&amp;18-湘&amp;19-粤&amp;20-桂&amp;21-琼&amp;22-川&amp;23-贵&amp;24-云&amp;25-藏&amp;26-陕&amp;27-甘&amp;28-青&amp;29-宁&amp;30-新</AttribRange></本地汉字><车牌最小宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>90</AttribDefault><AttribRange>60-230</AttribRange></车牌最小宽度><车牌最大宽度><AttribType>0</AttribType><AttribInfo/><AttribDefault>130</AttribDefault><AttribRange>60-230</AttribRange></车牌最大宽度><是否识别新能源车牌><AttribType>4</AttribType><AttribInfo/><AttribDefault>1</AttribDefault><AttribRange /></是否识别新能源车牌></车牌识别></算法参数设置><动态跟踪参数><使用球机3D定位-重启生效><AttribType>4</AttribType><AttribInfo>使用球机3D定位</AttribInfo><AttribDefault>1</AttribDefault><AttribRange /></使用球机3D定位-重启生效></动态跟踪参数></root>',
        'defaultConfig');


-- 分表
alter TABLE d_traffic PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_traffic20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_traffic_face PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_traffic_face20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_flow_event PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_flow_event20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_flow_data PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_flow_data20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );
alter TABLE d_behavior PARTITION by RANGE (UNIX_TIMESTAMP(event_time))(
    PARTITION d_behavior20210701 VALUES less than (UNIX_TIMESTAMP('2021-07-02'))
    );

delimiter $$
DROP PROCEDURE IF EXISTS timestamp_partition
$$
CREATE PROCEDURE timestamp_partition(v_table_name VARCHAR(128), v_schema VARCHAR(128))
BEGIN
    DECLARE v_sysdate date; # 声明 当前时间
    DECLARE v_mindate date; # 声明 目前分区的最小值
    DECLARE v_maxdate date; # 声明 目前分区值中的最大值
    DECLARE v_pt varchar(20); # 声明 分区名称 数字部分
    DECLARE v_maxval varchar(20);
    # 声明 最大值

    -- 增加新分区
    SELECT max(CAST(FROM_UNIXTIME(partition_description) as date)) AS val
    INTO v_maxdate
    FROM INFORMATION_SCHEMA.PARTITIONS
    WHERE TABLE_NAME = v_table_name
      AND TABLE_SCHEMA = v_schema;

    set v_sysdate = sysdate();
    # 赋值v_sysdate为当前时间

    -- INTERVAL 时间计算的关键字
    WHILE v_maxdate <= (v_sysdate + INTERVAL 7 DAY)
        DO
            SET v_pt = date_format(v_maxdate, '%Y%m%d');
            SET v_maxval = date_format(v_maxdate + INTERVAL 1 DAY, '%Y-%m-%d');
            SET @sql = concat('alter table ', v_table_name, ' add partition (partition ', v_table_name, v_pt,
                              ' values less than(UNIX_TIMESTAMP(''', v_maxval, ''')))');
            PREPARE stmt FROM @sql;
            EXECUTE stmt;
            -- 删除预处理
            DEALLOCATE PREPARE stmt;
            SET v_maxdate = v_maxdate + INTERVAL 1 DAY; # 最大值 加一操作
        END WHILE;


    -- 删除旧分区
    SELECT min(CAST(FROM_UNIXTIME(partition_description) as date)) AS val
    INTO v_mindate
    FROM INFORMATION_SCHEMA.PARTITIONS
    WHERE TABLE_NAME = v_table_name
      AND TABLE_SCHEMA = v_schema;

    -- 删除7天前的旧分区
    WHILE v_mindate <= (v_sysdate - INTERVAL 7 DAY)
        DO
            SET v_pt = date_format(v_mindate - INTERVAL 1 DAY, '%Y%m%d');
            SET @sql = concat('alter table ', v_table_name, ' drop partition ', v_table_name, v_pt);
            PREPARE stmt FROM @sql;
            EXECUTE stmt;
            DEALLOCATE PREPARE stmt;
            SET v_mindate = v_mindate + INTERVAL 1 DAY;
        END WHILE;


END$$
delimiter ;

-- 创建定时任务
delimiter $$
drop event if exists auto_pt $$
create event auto_pt
    on schedule
        every 1 day
    do
    BEGIN
        call timestamp_partition('d_traffic', '{schema}');
        call timestamp_partition('d_behavior', '{schema}');
        call timestamp_partition('d_flow_event', '{schema}');
        call timestamp_partition('d_flow_data', '{schema}');
        call timestamp_partition('d_traffic_face', '{schema}');
    END$$
delimiter ;