周五下午四点,仿真组又在群里骂人。不是服务器崩了,是求解器那 24 个并发又满了,弹一句"许可不可用",排头的哥们等了四十多分钟,回头一看,占坑的里有六个会话从早上开完就没动过。这事儿我见过不止一回,差不多每家上了浮动许可的厂子都得闹一次,然后 IT 背锅,采购被追问"再买二十个吧",买完过俩月照样满。说难听点,多数时候压根不是不够,是坑被不死不活的人占着。
底子得先说清楚,不然后面全白扯。浮动许可,也有人叫并发许可,不是装在哪台机器上的,是许可服务器按 feature——就是模块——管一个池子,客户端起来去 checkout 借一个,正常退出或者主动释放才 check-in 还回来,中间靠心跳保活。服务器只认会话在不在、心跳断没断,它哪知道你是不是去开会了,也不知道那个窗口最小化了一整天。所以"开着没操作"在服务端照样算在用,别人来借就吃 denial,有的软件给排个队,有的干脆直接拒绝。所谓智能回收,说白了就是给服务器补上缺的那只眼睛:判断这会话到底还干不干活,再决定是提醒一声、还是让它把许可吐回来。性质上就是会话级使用状态判定,加一套带兜底的策略执行,不是扩容,不是采购,更不是什么自动省钱的黑盒。谁上来就跟你报"能释放多少个、省多少预算",我是不太信的,那数多半连口径都没对齐。
口径这东西最烦,也最好糊弄。采购手里是合同上的授权并发数,IT 手里是安装量、登录人数,业务嘴里的"我们组四十号人要用"又是另一码事,峰值并发再算一个。四样混着除,出来的利用率漂亮得很,拿去开会一点用没有。软件、模块、用户范围、时间段,先钉死这四样,再谈别的。
真动手,我一般摁着三件事查,顺序别乱。一,哪些软件、哪类任务能碰,得落到具体设备、账号、模块,只给我一张汇总表我不敢动,定位不到原因的回收就是瞎撞。二,空闲、休眠、后台计算,边界写明白,尤其后台批处理,没键鼠没界面动静,可求解器进程正跑着,你把它收了,人家一晚上的算例就废了;当前状态和历史变化还得分开存,别拿今天一张截图去解释上周三那次报错。三,通知和恢复机制,怎么告诉人、多久能拿回来、找谁,这个得跟合同、跟业务排期对一遍,技术日志自己不能当结论,日志只会说会话没了,它不说那天是不是要发版。查完压成四栏,事实、缺口、影响、责任人,管理层扫一眼能拍板就行,别整八页 PPT。
上路别一上来就真收。先跑只提醒不回收,挑一个部门一个模块,稳了再铺。提醒阶段攒的误判样本最值钱:哪些判成空闲其实在跑东西,哪些是远程桌面断了还占着,哪些是借出去离线用的。攒够再开灰度,一次放一小撮。普通流程和例外流程分开走,别靠群里一句"这个先别动",口头授权过俩月没人记得谁说的。关键岗位挂白名单,再加延迟,我见过设三十分钟的,够人从会议室跑回来。执行前通知到人,执行后老老实实收重新申请和异常反馈;规则改了哪版、为什么改,留着,审计和下一轮调参都指着它。旁边永远留个人工恢复的口子,这个不能省。

证明有效别只报一个数。回收许可数、等待时长下降、重新申请率、误回收率,四个都摆,分子分母、异常样本、公式、谁复核、多久复核一次一起写。我特别烦只有汇总数的看板,涨了跌了都说不出为什么。后两个必须留能下钻的明细。效率、体验、风险三头都在能忍的范围,才算过。至少看一个完整业务周期,项目型团队还得盖住出图、发版、评审那几个节点,淡季平均值最会骗人,峰值全让它抹平了。
几个坑顺手记。单日一次报错就说许可不够,太急;供需没算清就下单或者强制回收,钱花了还可能掐了关键业务;安装量、授权量、登录人数、并发量混一锅,那利用率压根不支持决策;改进项不写责任人、不写完成时间、不做回读验证,人一换项目一换立马打回原形。分工也别含糊,IT 管数据和技术策略,采购管合同续费,业务定谁优先;碰上合同解释、对外承诺,扔给法务或者懂行的专业人员,IT 别自己拍。
去年有家做重工的厂,三维 CAD 加一个仿真求解器模块,合同上求解器就给 24 个并发。头一周我们啥也没收,只把许可服务器的 checkout/check-in 日志、客户端心跳、终端那边的进程和键鼠空闲拉到一张表里对,对出 17 个会话挂了四小时以上没操作,5 个是批处理跑完没退,3 个远程桌面断了自己还占着,剩下几个纯粹开着窗口下车间去了。只提醒跑两周,攒了 4 条误判,最要命一条是夜间长算例被当成空闲——得亏当时没真收。后来给两个做强度校核的挂了白名单,全局延迟 30 分钟,灰度从 10% 慢慢放到全量,早上九点那波等待从四十几分钟掉到五六分钟,一个月里重新申请 9 次,误回收 1 次,那次是借用会话到期没续上。他们一个许可都没加买。那条误判记录现在还钉在整改表里,后面附着当时谁批的白名单、为什么批。