程序聚合 软件案例 中国中车机车及设备生产运维平台

中国中车机车及设备生产运维平台

行业:企业内部管理
载体:网站
技术:Java、Angular

业务和功能介绍

立项背景和目标:
当前中国铁路信息化虽快速发展,但各路局电务部门仍面临严重的信息孤岛与协同壁垒:部门间作业靠人工纸张流转,任务传达滞后且执行状态无法跟踪;设备故障诊断依赖老师傅经验,新老设备混用导致定位不准、排除效率低;大量库修区设备的位置与状态处于“黑盒”状态;多套烟囱式业务系统账号不互通,用户需反复登录。中国中车委托拓维信息建设统一的“机车车载设备生产管理平台”,旨在利用流程引擎、物联感知与统一认证技术,打通采购入库、检测上车、故障下车、库修检修、维修出厂的全生命周期链路,实现“人机料法环”全面数字化协同,显著提升电务安全生产效率和指挥调度能力。

软件功能与核心模块:
平台核心模块涵盖:流程协同引擎模块(基于Activiti实现工单驱动的跨部门任务流转)、设备全生命周期履历模块(从入库到报废的完整电子档案)、智能诊断与知识库模块(结合规则引擎与故障索引库辅助快速排故)、统一认证门户模块(4A技术集成LMD、换装等子系统单点登录)。其中,我独立负责的 “实时状态可视化监控模块” ,基于 Angular 框架构建单页应用,采用 SVG矢量图形 技术绘制机车设备面板及车间电子地图,并通过 WebSocket全双工通信 接收底层采集器上报的设备信号,将枯燥的十六进制码实时映射为图形颜色、闪烁动画及位置变化,实现全车间设备工况的“一屏感知”。

业务流程与功能路径:
以“库修区设备突发告警”为例:当工区一台待修设备自检信号异常时,信号采集终端通过Netty网关将告警报文推送给后端Kafka,经规则引擎研判后,通过WebSocket将标准化的状态JSON(含设备ID、故障码、时间戳)主动推送到我的Angular监控前端。前端Service层接收消息后,利用RxJS的Subject进行流式分发,触发SVG画布中对应设备图元的属性更新——设备由绿色常态切换为红色呼吸闪烁,同时右侧告警面板自动滚动显示详情。维修主管点击闪烁图元,弹出绑定设备履历的模态框,一键生成维修工单并推送至流程引擎;引擎驱动库管员扫码出库备件,SVG地图上该设备位置自动从“待检区”平移至“维修台位”,全程状态变更通过WebSocket广播至调度、检修、质检等所有相关角色的Angular界面,确保信息零时差、任务不落地。

项目实现

整体架构与设计思路:
平台后端采用Spring Cloud微服务生态,集成Activiti工作流引擎、Drools规则引擎及Elasticsearch知识库;数据接入层基于Netty处理高并发设备信号,经Kafka解耦后存入时序数据库。前端统一采用Angular 15+框架,构建模块化、组件化的管理门户。核心可视化层摒弃Canvas,全面采用 Angular + SVG 组合方案——利用Angular的模板数据绑定与指令系统驱动SVG图元属性,结合@angular/animations实现平滑状态过渡。通信层封装独立的WebSocketService,基于RxJS的Observable设计模式管理连接生命周期(心跳、重连、消息去重),与后端Stomp协议网关对接,实现设备状态变化的实时、可靠推送。
个人负责模块及量化成果:
我独立负责 “实时状态可视化监控模块” 的全栈前端开发,具体成果量化如下:

SVG图元组件库构建:利用Angular Component封装了涵盖电力机车、内燃机车、LKJ主机、TSC主机等22类设备图元,以及待检区、维修台、合格区等7个功能区域的矢量模板,实现SVG片段的模块化复用,首屏渲染体积缩减至780KB,加载时间≤1.1秒。

WebSocket通信层落地:封装了基于@stomp/stompjs的通信服务,实现了自动心跳保活(间隔25s)与指数退避重连策略(最大重试5次)。稳定支撑峰值2500台设备同时在线的心跳上报,消息从采集端到前端渲染的平均端到端延迟控制在180ms以内,连接可用性达99.92%。

状态实时映射引擎:构建了基于Angular Pipe(管道)的信号解码转换层,将后端下发的40余种设备状态码(0x10运行、0x20待机、0x33轻微告警、0x44严重故障等)动态映射为SVG填充色、描边宽度、CSS动画类及提示文本,故障状态从信号产生到界面视觉告警的响应时间由旧系统的人工5分钟缩短至实时3秒内。

遇到的难点与解决方案:

难点1(Angular变更检测性能瓶颈):当大批量机车同时出入库时,WebSocket瞬间涌入数百条状态变更消息,Angular的Zone.js频繁触发全局变更检测,导致SVG重绘卡顿、界面掉帧严重。
解决:在WebSocketService中引入RxJS缓冲策略,利用bufferTime(20)操作符将20ms窗口内的多条消息聚合成单条批量更新数组;组件层订阅时配合ChangeDetectorRef.detach()手动控制变更检测时机,仅在批量数据抵达后执行detectChanges()。同时,对SVG循环渲染的图元列表启用*ngFor的trackBy函数(基于设备唯一ID),避免Angular重建整个DOM树。优化后,同等300台并发切换场景下,渲染帧率从原先的15fps稳定提升

示例图片视频


责任、信誉、和气生财
24小时内活跃
方向: 后端-Java、前端-Web前端、
交付率:100.00%
相似推荐
用户行为数据分析看板系统
1、立项背景和目标 传统企业在用户运营过程中面临数据分散、分析效率低、用户画像不清晰等问题。运营人员经常需要在多个系统间切换查看数据,无法快速获取用户行为全貌。为了解决这一痛点,我决定开发一套用户行为数据分析看板系统,目标是实现用户数据一站式查询、用户画像自动生成以及核心行为指标的可视化展示,将数据分析时间从小时级缩短至分钟级。 2、软件功能、核心功能模块的介绍 系统包含三大核心模块: 用户画像分析模块:基于用户行为数据自动生成画像标签,包括用户活跃时段(是否为夜猫子)、价值等级(高价值/低价值)、转化潜力(高转化率/低转化率)等多维度标签,帮助运营团队快速定位目标用户群体。 全局趋势分析模块:对用户四大核心行为(浏览、加购、购买、收藏)进行24小时内的时间分布统计,同时提供最畅销产品排行榜,让决策者一目了然地掌握整体运营态势。 精准查询模块:支持通过用户ID或产品ID进行精确检索,系统自动返回该用户/产品的完整画像数据和关联行为记录,满足精细化运营场景下的快速查询需求。 3、业务流程、功能路径描述 用户进入系统后,可直接在首页看到全局趋势概览,包括24小时行为分布柱状图、畅销产品排名等。如需深入了解特定用户,可在查询框输入用户ID,系统调用后端API查询数据库,返回该用户的画像标签和行为明细,并生成可视化图表。产品分析同理。整个流程从输入到结果展示控制在3秒以内。
电商商品数据采集与分析系统
商品数据采集 → 数据清洗 → 多维统计分析 → 专业Excel报表自动生成 功能介绍 多页商品数据自动采集,支持请求间隔与反爬对抗 数据去重、异常值清洗、格式标准化处理 多维度统计分析:价格分布、销量排行、评分对比、分类占比 双Sheet Excel报表输出:商品明细页 + 数据概览页 热销商品自动高亮、条件格式、自适应列宽
databank
该项目是一个基于大数据引擎作为底层能力支撑,上层应用使用java做业务功能的开发的平台,核心功能,贴源数据集 接入,数据建模,数据集创建,模型填充,数据查询,数据资产管理等相关核心功能,结合其他的运维平台将数据发挥作用与集中管理。
跨境网络赌博案
使用工具:MySQL、SQL Server、PyCharm、WPS 自2010年公安机关开展网络赌博专项整治以来,打击力度持续加大。2019—2023年初疫情导致网络赌博激增,我司配合多地公安机关成立专案组,提供全链条数据技术支撑。 一、数据采集与入库 将渗透爬取的赌博网站后台数据(会员、充值提现、代理关系、佣金等多表)导入MySQL,梳理表结构及关联关系,绘制ER图。针对银行反馈的千万级流水数据,编写Python分块清洗脚本(chunk_size=10万行),完成去空格、日期格式化、金额校验、去重等操作,通过LOAD DATA LOCAL INFILE批量导入,效率提升数十倍。 二、赌客与代理分析 数据量<100万时,使用Excel的VLOOKUP/XLOOKUP快速匹配代理与会员;数据量>100万时,编写MySQL复杂查询(多表JOIN+窗口函数)提取代理信息、名下会员、佣金等。对平台工作人员的支付宝流水,通过转账备注、周期性规律、虚拟币兑换记录挖掘关联人员。 三、资金穿透与跑分团伙识别 通过赌客银行卡流水进行资金追溯,向上找出出款卡、向下找出入款卡,对多张赌客卡的共同转入/转出方做聚合分析,标记疑似跑分卡并上报申调,确认后整理涉案金额及日期,最终冻结划扣。通过Python调用区块链浏览器API追踪虚拟币资金去向,识别混币和变现行为。 四、涉案人员档案制作 根据各地公安申调模板差异,持续维护Python代码,批量生成标准化银行卡申调表。整合代理信息、会员、佣金、涉案金额、关联账号等,生成代理“一人一档”。针对不同类型跑分卡,批量生成冻结“一卡一档”审批表。对代理个人卡流水全面分析,统计提现金额、消费水平、合法收入,判断其退赃退赔能力。 五、成果输出 制作包含涉案金额汇总、资金流向图、代理层级图的可视化报表,配合抓捕行动提供数据落查支撑,案件收网后完成全量审计,形成完整证据链。 以上为项目核心技术实现,全程为公安机关打击网络赌博提供高效、精准的数据支撑。
保险服务APP-保险关系多
本系统主要服务保险业务人员。 通过分析用户(保险业务员)通讯录帮助业务员分析通讯录人脉关系,一度人脉、二度人脉等, 通过分析通讯录可协助用户实时掌握联系人动态,通过通讯录实现增员、获客; 通过通讯录可进一步拓展二度人脉,可通过通讯录联系人找到其同学、同乡、校友、同事等二度、三度人脉,进一步扩大增员、获客范围。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服