系统设计与思考:安全生产信息化系统架构设计_安全生产系统架构设计
核心目标: 构建一个统一、智能、移动化、可扩展的安全生产管理平台,实现人员、物资、设备、环境、过程的全要素数字化管理与风险闭环管控,提升矿山本质安全水平与生产效率。
整体架构设计原则:
1. 安全合规优先: 满足国家矿山安全法规要求,数据安全与隐私保护贯穿始终。
2. 统一平台: 整合分散的业务功能,消除信息孤岛。
3. 移动化便捷: 支持飞书/企业微信/钉钉/微信小程序,满足现场作业与移动办公需求。
4. 高可用与可扩展: 采用负载均衡、微服务(或模块化)、消息队列等技术保障稳定与弹性伸缩。
5. 数据驱动: 利用实时数据与历史数据进行安全预警、生产优化与决策支持。
6. 开放集成: 预留标准接口,方便与现有系统(如避险系统、DCS/SCADA、GIS)及未来系统集成。
整体技术架构图 (逻辑视图):
核心组件与功能模块详解:
1. 用户交互层:
- 飞书/企业微信自建应用: 作为内部员工主要工作入口,深度集成飞书/企业微信/钉钉通讯录、消息、待办、日历等,提供丰富的PC和移动端交互体验。承载复杂的管理、配置、报表功能。
- 微信小程序: 面向 所有用户(内部+外部三方人员) 的轻量级移动入口。重点提供现场作业、信息查询、快速填报(如日报、隐患上报)、扫码(人员/设备/物资)、消息接收、安全学习等功能。需简化操作流程,适应移动场景。
2. 接入层 (Nginx):
- 核心任务: 处理所有外部请求的入口。
- 功能:
- 反向代理: 将用户请求转发到后端的应用服务集群。
- 负载均衡: 使用轮询、权重、IP Hash等策略,将流量均匀分发到多个应用服务器实例,提高系统吞吐量和可用性。支持健康检查。
- SSL/TLS Termination: 在Nginx层进行HTTPS加解密,减轻后端应用服务器压力。
- 静态资源服务: 高效分发小程序、Web前端的图片、JS、CSS等静态文件。
- 基础安全: 提供IP黑白名单、请求速率限制等基础防护。
3. 应用服务层 (核心):
- 安全认证与权限中心 (Identity & Access Management - IAM):
- 统一身份认证: 集成飞书/企业微信/钉钉、微信、账号密码等多种登录方式。实现OAuth2/OpenID Connect协议对接。关键:支持内部成员(飞书/企业微信/钉钉同步)与外部三方人员(微信注册/邀请)的统一认证。
- 权限管理 (RBAC): 基于角色(Role)的访问控制。定义角色(如矿长、安全员、班组长、爆破工、维修工、访客等),为角色分配细粒度的数据权限(哪些数据可看/可改)和功能权限(哪些菜单/按钮可用)。支持用户-角色-权限的多级授权模型。需特别注意外部三方人员的权限最小化原则。
- 飞书/企业微信/钉钉组织架构同步: 定期或触发式将飞书/企业微信/钉钉部门、用户信息同步到平台,作为内部用户账号和部门信息的基础,并映射到RBAC角色分配。
- 微信用户绑定: 实现微信用户(OpenID)与平台用户账号(外部导入用户的手机号)的绑定关系管理。
- 会话管理: 使用JWT (JSON Web Token) 等无状态机制管理用户会话,包含用户标识和必要权限信息。
- 审计日志: 记录关键操作(登录、敏感数据访问、权限变更等)的审计日志。
- 基础服务与配置中心 (Platform Services):
- 数据字典管理: 维护系统级、业务级的枚举值、配置项(如工种类型、物资类别、设备状态、风险等级等)。确保数据一致性和可维护性。
- 规则引擎集成: 集成如Drools, Easy Rules等规则引擎。用于实现业务规则的灵活配置与执行,例如:
- 安全风险自动定级规则(基于隐患描述、位置、类型)。
- 报警触发规则(传感器阈值、设备状态异常)。
- 审批流程条件判断。
- 物资库存预警规则。
- 流程引擎集成: 集成如Activiti, Flowable, Camunda、飞书/企业微信/钉钉审批等工作流引擎。用于驱动复杂业务流程,例如:
- 隐患上报->整改->验收闭环流程。
- 危险品领用审批流程。
- 设备维修工单流程。
- 生产计划变更流程。
- 文件服务接口: 提供统一API供其他业务模块调用,实现文件(图片、文档、视频)的上传、下载、预览、管理。实际存储对接对象存储服务。
- 飞书/企业微信/钉钉消息通知API集成: 深度集成飞书/企业微信/钉钉消息API,实现系统消息(如待办提醒、审批通知、报警信息、培训通知)精准推送至飞书/企业微信/钉钉用户或群聊。这是重要的内部通信渠道。
- 系统参数配置: 管理平台运行所需的各种参数。
- **业务微服务/模块 (Business Modules): ** 按功能域划分的高内聚、松耦合服务/模块。建议采用微服务架构(Spring Cloud, Dubbo等)或清晰的模块化设计。
- 人员信息管理: 对接之前设计的施工人员信息模块。
- 物资信息管理: 对接之前设计的矿山物资信息模块。
- 设备信息管理: 管理矿山设备台账、状态(运行/停机/维修)、点检、保养、维修记录、实时数据接入(需集成工业控制系统)。
- 工作面信息管理: 管理采掘工作面、巷道等空间位置信息、地质信息、当前状态、关联的人员/设备/计划。
- 资料档案管理: 管理安全规章制度、操作规程、设计图纸、验收报告、培训材料、事故案例等电子文档,支持分类、检索、版本控制。
- 安全六大避险系统信息接入/展示: 核心安全模块! 提供标准接口(API/数据总线)或适配器,接入现有避险系统的实时数据(如人员位置、风速、设备开停状态、通讯记录)。在平台内进行集中监控、展示、报警(需对接规则引擎),并关联到相关业务(如人员定位与考勤/应急、环境数据与工作面状态)。
- 生产计划管理: 制定和管理年度、季度、月度、日生产计划(采掘量、推进度等),分解到工作面/班组。
- 安全培训管理: 在线培训课程发布、学习跟踪、考试考核、证书管理(关联人员资质)。支持移动端学习。
- 排班计划管理: 制定和发布班组、人员的排班计划,与人员信息、工作面计划关联。
- 生产日报管理: 支持现场人员(班组长等)通过小程序便捷填报当班产量、作业内容、设备使用、安全隐患、人员出勤等信息。可关联工作面、计划。
- 生产统计与分析: 基于日报、计划、设备、物资等数据,生成各类统计报表(产量、效率、消耗、成本)和可视化分析图表(仪表盘、趋势图、对比分析),支撑管理决策。
- 生产过程监管: 实时监控核心! 整合视频监控(关键点位实时视频、录像回放)、设备运行数据(通过集成)、人员定位信息(通过避险系统集成)、环境监测数据(通过避险系统集成),在统一的GIS地图或看板上进行可视化展示,实现作业过程透明化、异常情况及时发现。
- 消息队列 (MQ - e.g., RabbitMQ, RocketMQ, Kafka):
- 作用: 异步化、解耦、削峰、保证最终一致性。
- 典型场景:
- 用户操作触发飞书/企业微信/钉钉/微信消息通知(异步发送,避免阻塞主业务)。
- 业务状态变更(如设备故障、隐患升级)触发相关流程或告警。
- 将需要持久化或分析的数据异步写入数据库或大数据平台。
- 不同微服务/模块间的事件驱动通信。
- 大批量数据处理(如文件解析、数据同步)。
4. 数据层:
- MySQL (主数据库):
- 存储: 核心业务的结构化数据。包括:用户账号、权限配置、人员档案、物资台账、设备档案、计划、日报、培训记录、流程实例、审批记录、字典数据、系统日志等。
- 设计考虑: 分库分表(按业务或时间)、读写分离、主从复制保障高可用。
- Redis (缓存数据库):
- 存储: 高频访问、低变化率的热点数据。包括:用户会话信息(Session)、权限信息、字典数据缓存、首页/看板聚合数据、分布式锁、临时状态。
- 作用: 极大提升系统响应速度和并发能力。
- 文件存储 (对象存储 - e.g., MinIO, Aliyun OSS, AWS S3):
- 存储: 非结构化数据。包括:用户上传的图片/附件、培训视频/文档、设备图纸、合同扫描件、系统生成的报表文件等。
- 优势: 高可靠、高扩展、低成本、易于管理。
5. 外部系统集成层:
- 核心任务: 与矿山现有或必要的第三方系统进行数据交换和功能联动。
- 关键集成点:
- 安全六大避险系统: 重中之重! 通过标准协议(如OPC UA, Modbus TCP, MQTT, HTTP API)或定制适配器,实时/准实时接入监测监控、人员定位等系统的数据。平台提供统一监控、报警、历史查询和分析能力。
- 工业控制系统 (DCS/SCADA): 接入关键生产设备的实时运行参数、状态信号、报警信息,用于设备管理和生产过程监管。
- GIS地理信息系统: 提供基础地理空间数据服务,支撑人员定位、设备分布、工作面信息、应急资源等在电子地图上的可视化展示与分析。
- 短信网关: 作为飞书/企业微信/钉钉微信通知的补充,向未安装或不方便使用飞书/企业微信/钉钉/微信的人员(尤其是一线或外部人员)发送重要通知或报警信息。
关键特性与保障:
- 高可用 (HA): Nginx负载均衡 + 应用服务集群 + MySQL主从/集群 + Redis哨兵/集群 + 对象存储冗余。关键服务无单点故障。
- 可扩展性 (Scalability): 微服务/模块化架构便于水平扩展;MQ解耦;负载均衡自动分发。
- 安全性 (Security):
- 网络: HTTPS加密传输、防火墙策略、VPC网络隔离。
- **应用:**严格的认证授权 (IAM中心)、输入校验、防SQL注入/XSS、API访问控制、敏感数据脱敏/加密存储。
- **数据:**数据库访问控制、备份与恢复策略、Redis安全配置、对象存储权限控制。
- **审计:**关键操作日志记录与审计。
- 可维护性 (Maintainability): 清晰的架构分层、模块化设计、完善的日志系统、配置中心化管理、CI/CD自动化部署。
- 性能 (Performance): Redis缓存、MQ异步化、数据库优化(索引、SQL)、负载均衡、CDN加速静态资源(可选)。
- 移动化与用户体验: 飞书/企业微信/钉钉应用/微信小程序提供便捷入口,界面设计简洁易用,尤其考虑现场环境操作。
6. 系统设计实施阶段步骤:
总结:
该框架设计以安全生产为核心,整合了人员、物资、设备、环境、过程等关键要素,通过统一平台实现数字化管理。充分利用飞书/企业微信/钉钉和微信小程序满足内外用户移动化需求,采用成熟稳定的技术栈(Nginx, MySQL, Redis, MQ)保障基础能力。核心亮点在于:
- 强大的IAM中心: 完美解决内外部用户统一认证、飞书/企业微信/钉钉同步、微信绑定和精细化权限控制。
- 灵活的基础服务: 规则引擎和流程引擎为业务逻辑的灵活配置与自动化处理提供强大支撑。
- 深度集成避险系统: 将分散的避险系统数据集中接入、展示、分析,实现安全风险的统一监控与闭环管理。
- 业务模块全覆盖: 涵盖了从基础信息管理到核心生产、安全、培训、统计、监管的全业务流程。
- 事件驱动与异步化: 消息队列的广泛应用提升了系统响应性、可靠性和扩展性。