背景
1.工厂各检测站点设备会对产品进行品质检测,并进行拍照记录。
2.对于异常的产品需转人工,根据当站设备的检测图片进行复判。
目标
开发一套产品品质人工复盘的系统,用于对各站设备检测异常的产品进行人工复盘,并记录结果,上报给mes。
软件功能及核心模块
1.收集各制程站点设备的检测图片,文件到文件服务器。
2.解析设备产生的检测文件,mapping到机种,设备编号等信息。
3.前端页面可供当站检测人员筛选产品,进行复盘。
1.图片的传输搜集采用rabbitMQ异步处理,Netty NIO图片传输,提升吞吐性能。
2.项目采用SpringBoot+Mybatis的架构。
难点:
1.csv文件分批下载,如果91上的图片不全,会导致漏图片。
2.如果不分批,又存在单线程图片个数,分配不均,导致下载图片时间过长,数据进表延迟。
3.重启的时候,如果csv文件下载成功,也会存在图片漏下载的情况。
4.发生异常的时候,缺少异常处理的机制(无法定位异常的LOT或文件,无法按时间段重启下载图片)。
解决方案:
1.新建临时表记录csv文件,图片下载的过程数据。
2.把图片下载的逻辑和业务数据的处理分开,使其互补干扰。
3.海量图片下载功能优化,运用RabbitMQ等中间件,Netty NIO图片传输技术,图片下载能力优化至380张/秒。
3.数据的处理,通过Mysql索引优化响应时间由秒级提升到200ms内。
4.设计一些针对系统异常时处理的查询接口和系统逻辑。