为XX公司(国企)新产线开发边缘网关上位机软件,工控机配置仅2核CPU/G内存,却能实时接入2000+设备点位,采集周期要求≤1秒,且需同时完成边缘计算与报警判定。作为技术架构负责人,核心挑战是在极限资源下设计轻量级高吞吐架构,确保2000点数据在1秒内完成采集、处理与推送,且CPU占用率不超过70%
我主导摒弃传统单线程轮询模型,重新设计I/O多路复用结合异步事件驱动架构,从根本上消除阻塞式等待。针对内存瓶颈,放弃Qt标准容器的高频构造,引入对象池配合环形缓冲区预分配内存,将采集任务的内存抖动从每秒数百次降至零。在调度策略上,将2000个点位按优先级划分为4个队列,高优先级报警点位独占实时线程,低优先级日志点位采用时间片轮转,确保关键数据延迟控制在200ms以内。同时在并发控制上,使用QAtomicInt无锁计数替代互斥锁,将多线程锁竞争耗时降低92%。
最终系统稳定运行,全量采集周期稳定在800ms以内,CPU占用峰值仅52%,较行业同配置方案低30%。该项目已成为公司边缘计算产品的标准架构,已部署5个大型基地。