基于微服务的电子标签拣选系统设计与实现

2019-12-26 00:51:54程茂上余玉风吕志军
制造业自动化 2019年12期
关键词:货位电子标签订单

程茂上 ,项 前,余玉风,黄 曦,吕志军

(1.东华大学 机械工程学院,上海 201620;2.上海精星物流设备工程有限公司,上海 201611)

0 引言

作为一种物流仓储系统,电子标签拣选系统是一组安装在货架上的电子显示装置取代拣货单,指示应拣取的物品及数量,引导拣货人员准确、高效地完成拣货工作[1]。根据拣货方式不同,主要分为摘取式(DPS)与播种式(DAS)。摘取式拣选法是针对每一份订单拣选,系统依据订单号点亮所需物料的货位电子标签,引导拣货员拣选物料;播种式拣选法是针对批量订单拣选,每个货位代表一份订单,先汇总多份订单需要各种物料的数量,系统再根据物料号将需要该物料的货位电子标签点亮,引导拣货员分发物料[2]。

目前,电子标签拣选系统多采用单体架构。文献[3,4]中采用单体架构与C/S模式构建单体式仓储拣选系统,验证了电子标签拣选系统对传统拣选效率、准确率的极大提升;文献[5,6]中采用MVC三层架构与B/S模式,融入SignalR实时Web通信服务,实现了拣选作业远程实时监控功能。实际应用中,单体架构下的仓储拣选系统,作业效率受限于服务器的性能,无法更好地满足高并发处理的要求。此外,当服务器宕机时,整个系统将面临瘫痪的风险。微服务架构作为一种架构模式,以业务为导向构建不同的服务,且每个服务运行于独立进程中,通过轻量级的访问机制实现互联互通,具有并发处理能力强、容错性强等特点[7,8]。上述研究表明,蓬勃发展的互联网技术促进了传统仓储系统的升级,本文基于微服务架构,以ASP.NET Core MVC、实体框架[9]数据库访问技术等搭建电子标签拣选系统,采用SignalR[10]服务实现Web实时监控功能,结合消息中间件[11]技术实现分布式架构下业务一致性。

1 基于微服务架构的电子标签拣选系统设计

1.1 系统架构设计

电子标签拣选系统架构如图1所示。该系统主要由三类服务构成:应用微服务、作业微服务与标签操作微服务。

应用微服务是拣选系统的入口,通过人机交互,实现权限管理、订单管理、作业管理以及监控管理等。通过订单拆分功能,将订单拆分成多项作业,当需要下发作业来点亮电子标签时,仅需向作业服务发出请求,作业服务会自动调用标签操作服务完成标签的点亮工作;当需要人工干预标签的状态时,仅需要在APP的监控界面,模拟现场操作,即可远程控制标签状态。

作业微服务,用于接收APP的作业请求,将获取到的符合规范的作业信息转化为电子标签控制信息,并下发到标签操作服务。每当作业进度有更新时,作业服务通过SignalR向APP推送作业状态改变信息。

标签操作微服务,用于接收作业微服务的请求,调用标签SDK改变电子标签的状态,并将状态信息保存至数据库中;负责接收拣货员拍击完成器产生的事件,并通知作业微服务改变作业状态。当货位标签状态有更新时,标签操作服务通过SignalR向APP推送标签状态改变信息。

图1 系统架构图

为了协同各微服务,实现分布式架构下高可用的电子标签拣选系统,需要在微服务管理、设备实时监控与拣选业务集成方面进一步研究。

1.2 系统关键技术

该电子标签拣选系统中涉及的技术如表1所示。

1)微服务注册与发现

随着微服务数量增加,每个微服务需要对所有目标服务的网络位置进行配置,而当某个微服务的部署地址发生变化时,该微服务的调用方的配置也要进行改变,导致开发与管理难度进一步加大,需要微服务发现机制进行协作。在比较Consul、Zookeeper、Etcd等服务发现组件后,结合拣选系统现有架构,选用Consul组件,利用HTTP或DNS方式完成微服务注册与发现,结合key-value储存服务实现了动态配置网络位置,为拣选系统提供更全面可靠的健康检查,最终实现微服务的高可用性[12,13]。

2)仓储设备虚拟化监控技术

本文基于Web技术实现对仓储设备的监测与控制。首先通过设备虚拟化,将电子标签拣选设备封装成类库,将标签操作行为封装成类库的方法,再根据不同的业务逻辑封装成微服务,最后结合MVC技术将微服务封装成Web API,为设备的远程监控提供支持。其三层封装结构如图2所示。

SignalR框架能够实现服务端向前端实时推送数据功能。在服务端创建SignalR中心以及广播方法,在客户端采用JavaScript技术连接到中心。当服务端需要推送消息到前端时,仅需要调用中心的广播方法,即连接的客户端皆可以收到消息。客户端在接收到消息后,更新前端界面,实现远程实时监测。考虑到Web通信成本,在不影响监测实时性的基础上,设计每隔500毫秒,通过SignalR向前端推送监控信息,降低通信频次;采用AJAX技术实现监控局部更新,降低网络传输流量,提高网页更新速度,从而以降低网络拥堵与系统能耗。以拣选设备实时监测为基础,通过调用Web API来控制设备动作,从而实现远程虚拟化监控功能。

图2 标签操作微服务结构图

表1 电子标签拣选系统主要技术简介

3)微服务架构下仓储业务集成

微服务部署在不同的计算机上,通信本质是进程间通信(IPC)。基于HTTP的REST通信模式无需中间代理,简单易调试,当需要访问目标服务时,通过微服务发现机制,获取服务实例的URL,即可通过HTTP协议建立通信,采用GET与POST方式访问到目标服务,实现微服务间数据传递。针对分布式系统网络通信延时、通信故障导致信息缺失问题,根据ACID理论,为了保证事务一致性,采用RabbitMQ[14]作消息中间件,消息生产者使用API向代理发布事件,代理可以向消费者提供订阅服务,并且在事件发生时通知消费者[15]。如DPS作业过程中,在拣选系统下发任务后,需要请求标签操作服务以改变标签状态,请求数据库服务记录标签状态、更新任务进度信息等,其中请求方作为消息生产者,生产消息并发送给交换器,通过选定的路由规则将消息送至指定的队列中,目标微服务作为消费者,从队列中获取消息并消费,从而实现微服务之间异步协作。在此基础上,当微服务出现宕机或重启时,电子标签会根据标签数据库中的信息进行初始化,实现现场恢复。

1.3 数据结构设计

根据仓储布局与业务逻辑抽象出实体模型,构建系统E-R图,如图3所示。在布局管理方面,根据仓储现场布置对仓库、单元、货架、货位、设备与标签进行虚拟化,并将参数存入数据库中,便于监测与维护。在库存管理方面,托盘与物料之间存在中间表,负责记录托盘中存放物料与数量,而库存表记录货位与托盘的关系,根据货位即可查出存放的物料信息。在作业管理方面,将客户与订单信息分表管理,减少冗余信息;根据不同的作业类型,将订单拆分成DPS/DAS作业表,为现场作业提供数据支持。

图3 系统E-R图

实际应用中,考虑某些仓库存在物料堆积区,设计标签数据库中货架与货位的外键可为空来满足多样化需求,即某区不存在货架与货位时,仍可以用标签来指示该区域;鉴于不同仓库对托盘需求的不确定性,采用自增长ID为主键的虚拟托盘来满足不同需求,即每个货位默认绑定虚拟托盘,当存在真实托盘时,只需在虚拟托盘的实例中加入托盘编号。

在数据库建模基础上,通过实体框架技术,将对象与属性映射成数据库表与列,从而实现利用对象处理数据库中的关系数据。

2 电子标签拣选系统实现与应用效果

图4 系统运行流程图

系统采用Visual Studio2017与SQL Server2014开发工具,基于ASP.NET Core实现跨平台部署,配合JavaScript、SignalR、AJAX等技术实现拣选作业过程的远程实时监控,结合消息中间件技术保证事务一致性。系统运行流程如图4所示。在订单拆分时,根据DPS/DAS不同作业方式,产生不同类型的作业。在摘取式作业中,根据标签显示数量进行拣选,当所需物料库存不足时,拣货人员需先完成补货操作再拣选,最后确认;在播种式作业中,物料经统筹规划后,按标签显示的数量进行分发并确认,直到拣货员完成所有任务。

表2 电子标签拣选系统应用效果

图5 PTL应用现场

图6 DPS执行界面

图7 货位监控界面

PTL现场应用测试环境如图5所示,每个货架有3层6列共18个货位。通过调试与修正,在现场测试中达到预期的效果。以DPS作业为例,对订单编号为Or04进行拣选,作业执行界面如图6所示,货位监控界面如图7所示。与传统拣选方式对比分析,拣选系统应用效果如表2所示。

3 结论

本文设计了一种基于微服务架构的电子标签拣选系统,利用微服务架构下的高并发处理特性,进一步提升仓储拣选效率。基于Web通信技术,融入SignalR实现了远程实时监控。对典型仓储模型与业务逻辑进行抽象提取,建立了电子标签拣选实体模型,实现了库存管理、作业管理等。基于消息中间件技术,保证了事务一致性,提高了拣选作业的可靠性与准确性。通过应用展示了该拣选系统具有良好的效果,满足高并发环境下的作业需求。

此外,运用全新的微服务架构也带来巨大的挑战。在后续研究中,利用负载均衡等技术进一步完善系统架构;可加入智能拣选服务,实现订单无人化拆分;可采用从PTL拣选到“货到人”的拣选方式,进一步提高仓储作业效率。

猜你喜欢
货位电子标签订单
春节期间“订单蔬菜”走俏
今日农业(2022年4期)2022-11-16 19:42:02
新产品订单纷至沓来
货位指派和拣货路径协同优化及算法研究
物流技术(2020年5期)2020-06-27 13:05:30
基于蚁群算法的智能生产物流体系构建研究∗
“最确切”的幸福观感——我们的致富订单
当代陕西(2018年9期)2018-08-29 01:20:56
适用于高衰减汽车玻璃的电子标签方案与应用
一种新型结构电子标签天线
电子测试(2017年23期)2017-04-04 05:06:44
基于萤火虫算法的自动化仓储货位优化分配研究
基于遗传算法的自动化立体仓库货位优化模型研究
管理现代化(2016年6期)2016-01-23 02:10:59
探寻“千万”的背后——写在金溢科技电子标签销量超1000万之际