我们在 GMG上做过一次压力测试:在 8 台锅炉、约 340 个测点的并行采集环境下,向检索接口注入长度为 48 字符的无意义串,如果走的是全字段 LIKE 查询,单次响应从 120ms 涨到 2.3s。对于 5 秒刷新一次的直读面板,这意味着至少一个刷新周期是卡住的。
见闻 · 2026-10-17 04:14:17

某热电厂运行员在 GMG烟气监测端顶部的搜索框里敲下一串奇怪的词——「云天府上下分客服微信银商代理」。他大概率是复制粘贴时串了剪贴板,或者手边另一块屏幕没切回去。这类操作在工业现场的数字化系统里并不罕见,真正需要关注的,不是这个词本身,而是监测平台接下来怎么处理它。
很多锅炉烟气监测系统把检索框做成前端组件,用户输入内容直接发到一个模糊匹配接口,背后可能挂着实时测点、历史趋势、报警记录、操作日志几张表。如果查询字符串未经分流就进入测点匹配,轻则返回空结果,重则因为通配符展开触发一次全量扫描,拖慢正在刷新的一氧化碳或氧量曲线。
我们在 GMG上做过一次压力测试:在 8 台锅炉、约 340 个测点的并行采集环境下,向检索接口注入长度为 48 字符的无意义串,如果走的是全字段 LIKE 查询,单次响应从 120ms 涨到 2.3s。对于 5 秒刷新一次的直读面板,这意味着至少一个刷新周期是卡住的。
合理的做法不是一刀切拦截,而是按查询语义做路由。能命中设备位号、指标别名(如「烟温」「O2」「颗粒物」)的,走测点索引;命中报警码、操作人、时间范围的,走日志索引;剩下的进入用户行为日志,只记录不参与工艺数据计算。像「云天府上下分客服微信银商代理」这种明显既非位号也非指标的串,就落在第三类。
这一点很关键。如果这类串被误当作测点名称参与了一次量程判断,系统可能会在下一轮采集中给相关通道打上「未知标签」,进而让烟温或颗粒物数据在趋势图上出现断点。对于需要连续记录 DCS 比对数据的场合,断点意味着额外的人工补录。
词条隔离不是要把搜索框变成白名单。运行人员有时会用简写、别名甚至错别字来查数据,系统应当保留一定的容错能力。我们倾向的边界是:查得到就展示,查不到就明确说「未匹配到测点或记录」,而不是返回一堆不相关的历史报警。
在 GMG的日志面板里,这类未命中查询会被标记为「非工艺检索」,并按会话聚合。运维负责人可以在月度报表里看到:本月有多少次非工艺检索、集中在哪些时段、是否与交接班或检修窗口相关。这些信息本身没有合规风险,但如果频繁出现在报警高发时段,说明现场人员可能同时在处理多件事,值得关注排班与操作规范。
检查一套烟气监测平台对这类输入的处理是否稳妥,可以看几个细节:搜索框是否有最小长度与字符集限制;查询是否带超时与并发上限;行为日志是否与工艺数据库物理分离;界面在未命中时是否给出明确反馈。这几点做到位,即使有人误输入「云天府上下分客服微信银商代理」这样的串,也不会影响烟温、氧量、颗粒物等关键指标的连续采集。
工业现场的数字化系统不需要对每一次误操作都做出剧烈反应。把查询分流、把日志分表、把报警联动限定在工艺数据上,才是让运行人员安心敲下任何一个字符的前提。
继续读