立项背景和目标:在电网调度运行中,电话调度是调度中心与各电厂、变电站及现场作业人员联络的核心通道,承载故障报修、调度指令下达、操作通知等关键业务。传统电话调度依赖人工接听、纸质记录,存在记录效率低、录音难追溯、指令缺乏闭环等问题。为此立项研发本调度平台,目标是实现调度业务的在线化、流程化和可追溯,保障电网安全稳定运行。
软件功能、核心功能模块:平台涵盖电话调度、调度工单管理、运行监视、通讯录管理、统计分析等核心模块。其中电话调度模块提供:与调度软交换(CTI)对接、来电实时弹屏并展示来电单位与历史工单;通话中一键创建工单、录音与工单自动关联;指令"下达—复诵确认—执行反馈—确认归档"全流程管理;通话录音存储、检索与回放;未接来电提醒与交接班日志;通话量、指令执行情况等多维统计分析。
业务流程、功能路径:来电接入→系统识别号码并弹屏显示单位归属及历史联系记录→调度员接听并登记关键信息;若为故障报修,则一键生成故障工单,流转至现场处理并反馈;若为指令下达,则生成调度指令票,受令人复诵确认,执行完毕后回令汇报,调度员确认归档。全过程录音自动挂接,形成"电话—工单—录音"闭环,实现调度业务全链路可追溯。
整体架构和设计思路:平台采用前后端分离架构,前端基于 Vue + Element UI 构建调度工作台,后端基于 Spring Boot 微服务体系,拆分电话调度、调度工单、权限、文件等服务;MySQL 存储工单、通讯录、通话记录等业务数据,Redis 承担缓存、会话共享、消息发布订阅与实时队列,录音文件存放于分布式文件存储。电话调度服务通过 CTI 中间件对接软交换,来电事件经 WebSocket 实时推送至坐席工作台。
"我"的负责模块和结果:我主要负责电话调度模块的设计与开发,独立完成来电弹屏、调度工单创建、录音管理、未接提醒、统计分析等功能。模块上线后来电弹屏平均耗时控制在 1 秒内,调度工单单均创建时间由纸质时代约 3 分钟缩短至 40 秒内,录音检索回放响应小于 2 秒,支撑 200+ 坐席同时在线,调度电话业务线上化率达 100%,显著提升了调度效率与可追溯性。
"我"遇到的难点、坑和解决方案:1)来电弹屏实时性与可靠性:最初采用前端轮询,延迟高、服务端压力大,后改为 WebSocket + Redis Pub/Sub 跨节点广播 CTI 事件,并增加心跳重连与消息补发机制,弹屏延迟降至秒级以内,解决了集群部署下多节点推送不一致的坑。2)录音与工单关联一致性:录音生成与工单创建跨系统,偶发错配、丢失,设计了"工单号预生成 + 本地消息表 + 定时任务补偿"方案,保证录音—工单匹配率 100%。3)录音回放卡顿:原始录音体积大,改为统一转码为压缩格式并分片流式播放,首帧时间小于 1 秒,存储占用下降约 60%。