桥梁健康监测平台开发文档分享

 

本文旨在分享开发过程,按需自取,仅供参考

 
 

一、项目概述

1.1 项目目标

建设一套面向公路/市政桥梁的结构健康监测管理平台,实现桥梁基础信息管理、传感器数据统一接入、实时状态可视化、智能告警、数据分析与健康评估的全流程闭环,满足桥梁管养单位日常监测、风险预警、趋势分析的业务需求。

1.2 业务范围

· 桥梁基础档案与传感器设备全生命周期管理

· 多类型监测数据的接入、存储、清洗、展示

· 多级阈值告警与告警全流程处置管理

· 桥梁健康状态自动评估与分级展示

· 监测数据趋势分析、统计报表导出

· 平台用户、权限、操作日志等系统管理

1.3 角色权限

角色
权限范围
系统管理员
全平台功能权限、用户 / 角色 / 权限配置、系统参数设置、数据备份恢复
监测工程师
桥梁 / 设备管理、数据查看、告警规则配置、告警处置、报表导出
养护管理员
桥梁状态查看、告警信息查看、报表查看、无配置权限
访客
仅可查看总览大屏、桥梁健康状态统计,无操作权限

二、系统总体架构

2.1 分层架构定义

1. 感知层:各类桥梁监测传感器与采集设备,负责原始数据采集

o 传感器类型:应变计、应力计、挠度传感器、振动加速度计、温湿度传感器、裂缝计、位移计、IP 摄像机

o 通信协议:ModBus-RTU/RS485MQTTHTTPGB/T 28181(视频流)

2. 传输层:边缘网关 + 网络传输,负责数据汇聚、预处理、加密上报

3. 数据层:数据存储核心,分类存储不同类型数据

o 关系型数据库:存储业务数据、档案数据、配置数据

o 时序数据库:存储高频监测时序数据

o 缓存数据库:存储实时状态、热点数据、会话信息

o 消息队列:承接设备上报数据,解耦接入与处理逻辑

4. 服务层:核心业务逻辑层,提供数据接入、告警引擎、健康评估、数据查询等标准化接口

5. 应用层:业务功能模块,对应前端页面的业务能力支撑

6. 展示层Web 管理端、数据大屏端、小程序

2.2 技术栈

层级
技术选型
后端开发
Java 17+Spring Boot 3.x+MyBatis-Plus
前端开发
Vue 3+Vite+Element Plus 组件库
关系数据库
MySQL 8.0
时序数据库
InfluxDB 2.7
消息中间件
EMQX(MQTT 接入)+Redis 7.x(缓存)
部署方式
Docker+Docker Compose 容器化部署
接口规范
RESTful 风格接口,统一返回格式

3.1 桥梁基础信息表(bridge_info)

字段名
数据类型
必填
字段说明
bridge_id
bigint
桥梁唯一 ID,主键
bridge_name
varchar(100)
桥梁名称
bridge_code
varchar(50)
桥梁编号,唯一
bridge_type
varchar(30)
桥型(梁桥 / 拱桥 / 斜拉桥 / 悬索桥等)
total_length
decimal(10,2)
桥梁总长(米)
span_count
int
跨数
build_year
int
建成年份
admin_org
varchar(100)
管养单位
province
varchar(30)
所属省份
city
varchar(30)
所属城市
address
varchar(200)
详细地址
longitude
decimal(10,6)
经度
latitude
decimal(10,6)
纬度
health_level
tinyint
当前健康等级(1 - 优秀 / 2 - 良好 / 3 - 合格 / 4 - 预警 / 5 - 危险)
status
tinyint
状态(1 - 正常 / 2 - 停用)
create_time
datetime
创建时间
update_time
datetime
更新时间

3.2 传感器设备档案表(sensor_device)

字段名
数据类型
必填
字段说明
sensor_id
bigint
传感器唯一 ID,主键
sensor_code
varchar(50)
设备编号,唯一
bridge_id
bigint
所属桥梁 ID
sensor_type
varchar(30)
监测类型(strain 应变 /stress 应力 /deflection 挠度 /vibration 振动 /temp 温度 /humidity 湿度 /crack 裂缝 /displacement 位移 /video 视频)
install_position
varchar(100)
安装位置(如:1# 跨主梁底板)
manufacturer
varchar(50)
生产厂家
model
varchar(50)
设备型号
measure_range
varchar(50)
量程
precision
varchar(30)
精度
protocol
varchar(20)
通信协议(modbus/mqtt/http/28181)
collect_freq
int
采集频率(秒 / 次)
install_date
date
安装日期
status
tinyint
设备状态(1 - 在线 / 2 - 离线 / 3 - 故障 / 4 - 停用)
last_online_time
datetime
最后在线时间
create_time
datetime
创建时间
update_time
datetime
更新时间
3.3 监测时序数据表(monitor_data)

· 标签(Tagsensor_idbridge_idsensor_type

· 字段(Fieldvaluefloat,监测数值)、qualityint,数据质量码:0 - 正常 / 1 - 异常 / 2 - 缺失)

· 时间戳collect_time(纳秒级精度,数据采集时间)

3.4 告警规则配置表(alarm_rule)

字段名
数据类型
必填
字段说明
rule_id
bigint
规则 ID,主键
rule_name
varchar(100)
规则名称
sensor_type
varchar(30)
适用传感器类型
alarm_level
tinyint
告警级别(1 - 紧急 / 2 - 重要 / 3 - 一般 / 4 - 提示)
trigger_type
varchar(20)
触发类型(threshold 阈值 /mutation 突变 /offline 离线)
threshold_max
decimal(10,3)
上限阈值
threshold_min
decimal(10,3)
下限阈值
持续点数
int
连续 N 个采集点超阈值才触发
enabled
tinyint
是否启用(1 - 启用 / 0 - 禁用)
create_time
datetime
创建时间
3.5 告警事件记录表(alarm_event)
字段名
数据类型
必填
字段说明
event_id
bigint
事件 ID,主键
sensor_id
bigint
触发告警的传感器 ID
bridge_id
bigint
所属桥梁 ID
alarm_level
tinyint
告警级别
alarm_type
varchar(20)
告警类型
trigger_value
decimal(10,3)
触发时的监测值
threshold_value
decimal(10,3)
对应阈值
trigger_time
datetime
触发时间
recover_time
datetime
恢复时间
handle_status
tinyint
处置状态(1 - 未处理 / 2 - 处理中 / 3 - 已处理 / 4 - 已忽略)
handle_user
varchar(50)
处置人
handle_remark
varchar(500)
处置说明
handle_time
datetime
处置时间
3.6 系统核心基础表

· 用户表(sys_user):用户 ID、用户名、密码、姓名、角色 ID、状态、创建时间

· 角色表(sys_role):角色 ID、角色名称、角色标识、权限标识集合

· 操作日志表(sys_log):日志 ID、用户、操作模块、操作内容、IP、时间、结果

 

四、分级功能清单(四级拆解,100% 覆盖要求)

一级菜单1:监测总览

· 二级菜单:综合大屏

o 功能页面:平台总览大屏

o 操作项:GIS 地图展示所有桥梁分布及健康状态色标、核心指标统计卡片(桥梁总数、在线设备数、今日告警数、健康等级占比)、告警实时滚动列表、健康趋势统计图、按区域 桥型筛选

· 二级菜单:桥梁总览

o 功能页面:桥梁列表页

o 操作项:桥梁列表展示、按名称 / 编号 健康等级 区域筛选、新增 编辑 删除桥梁、查看桥梁详情、导出桥梁列表

一级菜单2:实时监测

· 二级菜单:单桥监测

o 功能页面:单桥监测详情页

o 操作项:桥梁立面 / 平面示意图展示、传感器点位标注及状态色标、实时数据列表(分类型展示最新数值)、选中传感器查看 24 小时趋势曲线、查看当前桥梁未处理告警、切换监测类型

· 二级菜单:实时数据

o 功能页面:实时数据列表页

o 操作项:按桥梁 / 传感器类型 时间筛选、数据列表分页展示、数据质量标识、导出当前数据、跳转传感器详情

一级菜单3:设备管理

· 二级菜单:传感器管理

o 功能页面:传感器列表页

o 操作项:按桥梁 / 类型 状态筛选、新增 编辑 删除传感器、查看传感器详情、启用 停用设备、批量导入导出、查看设备历史数据趋势

· 二级菜单:设备状态监控

o 功能页面:设备状态统计页

o 操作项:在线 / 离线 故障设备数量统计、离线设备列表、设备离线时长统计、批量导出

一级菜单4:告警管理

· 二级菜单:实时告警

o 功能页面:当前告警列表页

o 操作项:按级别 / 桥梁 类型 时间筛选、告警列表分页展示、告警确认、告警处置(填写处置说明)、忽略告警、查看告警详情

· 二级菜单:历史告警

o 功能页面:历史告警查询页

o 操作项:多条件组合筛选、告警统计分析、导出告警记录、查看告警处置详情

· 二级菜单:告警规则

o 功能页面:告警规则配置页

o 操作项:新增 / 编辑 删除规则、启用 禁用规则、按传感器类型筛选、规则复制

一级菜单5:数据分析

· 二级菜单:趋势分析

o 功能页面:数据趋势分析页

o 操作项:选择桥梁 + 传感器、选择时间范围、生成趋势曲线图、多传感器对比、数据导出 Excel

· 二级菜单:健康评估

o 功能页面:桥梁健康评估页

o 操作项:查看单桥健康评分、各指标权重占比、健康等级变化趋势、评估报告导出

· 二级菜单:统计报表

o 功能页面:报表生成页

o 操作项:日报 / 周报 月报切换、选择桥梁范围、自动生成统计报表、报表预览、PDF/Excel 导出

一级菜单6:系统管理

· 二级菜单:用户管理

o 操作项:用户新增 / 编辑 删除、重置密码、启用 停用账号、分配角色

· 二级菜单:角色管理

o 操作项:角色新增 / 编辑 删除、权限配置、数据范围配置

· 二级菜单:操作日志

o 操作项:按用户 / 时间 模块筛选、日志列表查看、日志导出

· 二级菜单:系统参数

o 操作项:数据存储周期配置、告警推送配置、平台基础信息设置

 

五、界面与交互

5.1 全局布局规范

· 采用「左侧固定导航栏 顶部状态栏 右侧主内容区」的标准后台管理布局

· 左侧导航:一级菜单展开二级菜单,支持折叠收起

· 顶部状态栏:显示平台 logo、当前用户、退出登录、消息通知入口

· 内容区:页面标题 + 筛选栏 数据表格 图表区域,统一内边距

 

5.2 视觉与组件规范萝卜青菜,各有所爱-自由发挥

· 组件库:统一使用 Element Plus 原生组件

· 主色调:#165DFF(科技蓝)

· 告警色:紧急#F53F3F、重要#FF7D00、一般#FFAA00、提示#168CFF

· 健康等级色:优秀#00B42A、良好#165DFF、合格#FFAA00、预警#FF7D00、危险#F53F3F

· 表格规范:默认每页20条,支持分页切换、列宽自适应、行悬停高亮

5.3 通用交互规则

· 新增 / 编辑操作:居中弹窗形式,必填项标红*,提交前做表单校验

· 删除操作:二次确认弹窗,防止误删

· 详情查看:弹窗或新页面打开,字段与列表对应

· 数据刷新:实时类页面默认30秒自动刷新,支持手动刷新

· 权限控制:无权限的菜单 / 按钮默认隐藏,不得置灰显示

 

六、核心业务规则与算法定义

6.1 数据接入与处理规则

1. 数据上报校验:上报数据必须包含合法的传感器编号,非法设备数据直接丢弃

2. 异常值过滤:采用原则识别异常值,标记数据质量码为异常,不参与告警触发与健康计算

3. 数据补全:短时间缺失数据(≤5个采集点)采用线性插值补全,长时间缺失标记为缺失

4. 数据聚合:小时级、日级数据自动聚合计算(最大值、最小值、平均值),用于历史趋势分析

5. 离线判定:超过3倍采集频率未收到数据,判定设备离线,触发离线告警

6.2 告警管理规则

1. 告警分级定义

o 紧急:结构关键指标严重超阈值,可能引发结构安全事故

o 重要:指标超阈值,需立即关注处置

o 一般:指标接近阈值,需持续观察

o 提示:设备离线、数据异常等通知类信息

2. 触发逻辑:连续N个采集点数值超出阈值范围,才触发告警,避免误报

3. 恢复逻辑:连续N个采集点数值回归阈值范围内,自动生成告警恢复记录

4. 告警去重:同一传感器同一类型告警,未处置前不重复生成新告警事件

6.3 桥梁健康评估规则

1. 评估周期:每日凌晨自动计算前一日桥梁健康评分

2. 评分方式:百分制,按监测类型分配权重(可配置),示例权重:应力 30%、挠度 25%、振动 20%、裂缝 15%、环境 10%

3. 等级划分:≥90 优秀、80-89 良好、70-79 合格、60-69 预警、<60 危险

4. 单项扣分:指标超阈值按超出比例扣分,设备离线按比例扣对应项分数

 

MEDIA CENTER

媒体中心

首页    公众号文章    桥梁健康监测平台开发文档分享