把手机变成扫码枪:我们如何用云原生架构帮客户把仓储盘点效率拽高了3倍
做仓储数字化这几年,我见过太多企业在扫码设备上花冤枉钱。专门的工业PDA,便宜的两千多,带好点扫描引擎的奔着四五千去,用上半年电池鼓包,系统还停留在安卓6.0,连个微信小程序都跑不利索。去年秋天,我们接了华东一家快消品仓的活儿,他们老板拍着桌子说,“我就想用工人兜里那部手机扫码,别让我再买铁疙瘩”,于是有了这个项目——手机当扫码枪小程序,底层全靠云原生架构撑着,交付完一算账,盘点效率实打实提了3倍。
动手前,我们团队特意蹲点他们仓库两天。发现原有PDA的故障率每月高达12%,IT部门光忙着刷机充电机就耗掉三天工时。而工人自己的手机,虽然屏幕碎了俩,但扫码APP日常用得溜熟。这让我们下决心:不碰硬件,只改软件与架构。
说实话,这需求听着简单,真做起来坑不少。仓库里头信号跟闹着玩似的,拐角处4G掉成E,Wi-Fi穿透力约等于零。手机摄像头本来就不是为高密度一维码设计的,员工手一抖就误读。但客户不愿意投钱换硬件,我们只能在软件和架构上找补。
我们给的方案是:一个轻量小程序,不装APP,微信里直接点开。但后端没敢含糊,上了整套云原生。底层基于某公有云的ACK容器服务加上我们自研的运维中台,微服务拆成十几个,全部容器化扔进Kubernetes集群。API网关用的Kong,鉴权、限流一把梭;日志用ELK栈收集,Prometheus盯指标。当盘点任务创建时,云原生弹性能力会预拉起20个Pod,任务结束自动缩容到2个,资源成本只有原来的1/4。
业务服务拆得细,扫码解析的活儿分了两层——手机端用自研的视觉增强算法先粗解,把模糊帧补全,再把候选结果传云端,由条码聚合服务做最终校验。这样即便弱网,本地也能暂存上千条记录。有意思的是,我们把热点SKU查询扔进Redis集群,盘点数据落地用分布式数据库,写入延迟压在15毫秒内。仓库主管在大屏上看实时盘点差异,靠的是WebSocket长连接推送,不用刷新页面。
记得压测那天,客户非要模拟“双11”爆仓,三班倒工人同时拿手机扫,并发飙到八千QPS。要搁传统虚拟机架构,早就雪崩了。我们靠云原生Serverless函数处理离线补偿队列,平稳扛过峰值。更绝的是,有回测试发现某国产千元机对焦马达慢,扫一箱瓶装水反光标签直接歇菜。我们没让客户换手机,而是小程序里加了“手动辅助对焦 连续扫描模式”,用算法补硬件短板。还有次仓库地下室彻底没网,靠小程序本地IndexedDB存了四千多条,恢复信号后静默同步,一条没丢。
交付运行一个月后,客户给了组硬数据:原先全盘1.2万SKU,八个老员工拿PDA扫,从早上八点干到下午四点,近八小时;现在同样人数,用个人手机跑小程序,两小时四十分钟收工,效率刚好翻三倍。错扫漏扫率从千分之五掉到万分之零点八,账目差异几乎归零。客户原来每年PDA折旧加维修花将近七万,现在零硬件投入,小程序年维护费不到五千。
这项目让我挺感慨:云原生常被厂商吹成玄学,什么弹性、敏捷,落地到仓库里,就是不让工人等系统,不让老板买设备。我们把手机变成扫码枪,不是靠堆硬件,是靠架构真的“懂事”。很多同行问我们秘诀,其实哪有什么黑科技,不过是把云原生的“松耦合”刻进业务流里。仓储系统最怕重,我们让它轻起来。如果您的仓也在为盘点头疼,或许该想想,是不是该把那批老PDA扔闲鱼了?
微信号:18581869297