蔡朝鹏
摘 要:传统物流业管理粗放,效率低,成本高,迫切需要信息化改革。基于Java EE设计的物流管理系统实现了车辆和人员的调度,可实时监控车辆的位置和运行状态,对物料和运输数据进行统计分析,具有较高的性能、可扩展性和可用性,有助于企业降本增效,增强竞争力。
关键词:Java EE;物流管理系统;Spring Cloud;MySQL
中图分类号:TP311.52 文献标志码:A 文章编号:2095-2945(2019)19-0109-03
Abstract: The traditional logistics industry has extensive management, low efficiency and high cost, so there is an urgent need for information reform. The logistic management system based on Java EE realizes the scheduling of vehicles and personnel, can monitor the position and running status of vehicles in real time, and carries on the statistical analysis to the material and transportation data, which has high performance, expansibility and availability. It will help enterprises to reduce costs and increase efficiency and enhance their competitiveness.
Keywords: Java EE; logistic management system; Spring Cloud; MySQL
引言
隨着国家经济实力的增强,商品、信息等的流通速度明显加快,对物流的需求大幅增加。在企业粗放型管理的时代,物流管理是影响生产效率的重要环节,物流成本一直高居不下。如今传统行业都在推行信息化,大力创新,物流体系同样需要顺应趋势,进行信息化改革,降低物流成本,提升管理水平,提高生产效率[1]。
为实现物流过程的信息化、数字化、可视化、智能化,提高人员和车辆的利用效率,本文基于Java EE技术进行了物流管理系统设计。通过该物流管理系统可提升物流管理的信息化水平,使用可视化的监控模块和数据统计分析模块提高管理水平,最终实现过程实时监控、智能分析、智能调度。
1 业务设计
本系统充分考虑各用户角色的需求、信息和数据的流动,进行了如下业务模块设计:
(1)基础数据管理模块。包括用户、车辆、人员等的信息管理。
(2)权限管理模块。用于控制用户对车辆、设备、数据等的操作和访问权限。
(3)调度模块。可对配载、车辆、人员等进行调度。
(4)监控模块。实现对车辆的位置和运行状态等全流程监控。
(5)数据分析模块。用于对基础数据、物料、运输轨迹等查询和统计分析。
(6)大屏展示模块。分屏展示实时监控、车辆信息、数据统计等图形。
2 系统技术特点
本系统解决方案采用了多种较为前沿的技术和设计思想,且经过充分的实践检验,可用于高并发、大数据量的场景。
系统依托于云服务器,基于Java EE Spring Cloud的微服务架构设计[2],可扩展性、可维护性、灵活性都非常好,可以保证系统速度和稳定性。
支持全终端、多应用访问。可使用浏览器、App、微信小程序等进行授权模块的访问。
系统开发所采用的环境或技术包括:
(1)操作系统:CentOS 64位系统
(2)数据库:MySQL、Redis
(3)后台开发框架:Spring、Spring Cloud、Spring Boot、
SpringMVC、Mybatis
(4)前端开发框架:Vue、BootStrap、ElementUI
(5)部署方案:Tomcat/Jetty/JBoss、Docker容器
3 系统架构
系统整体架构图如图1。
该系统采用分层微服务架构设计,充分考虑了大数据量、高并发、可扩展等特性,能够很好的支撑业务的扩充。
3.1 MySQL数据库集群
数据库服务是各种系统架构中的性能关键点,甚至成为瓶颈。
MySQL数据库集群方案可以有以下几种选择:
(1)MySQL主从复制方案
此方案中的MySQL服务器分为主服务器、从服务器两种角色。一般会通过主从服务器角色的划分实现数据读写分离。主服务器用于写数据,从服务器用于读数据。从服务器的数据会保持和主服务器一致。
MySQL主从方案分为一主一从、一主多从、主主复制、多主一从、联级复制等几种类型,可以根据对系统可用性、读写性能的要求选择具体的方案。
(2)MySQL Cluster集群
MySQL Cluster使用“内存”中的NDB存储引擎,支持多种负载均衡选项配置。MySQL Cluster服务器进程分为管理节点、数据节点和SQL节点三种角色。
(3)LVS+Keepalived+MySQL
LVS即Linux虚拟服务器,工作于网络层,用于组建服务器集群的负载均衡,分为NAT、TUN、DR三种工作模式。
Keepalived用于检测服务器工作状态。如果有服务器发生故障,则Keepalived会用其他服务器将之取代。
三种数据库集群方案均可在一定程度上保证数据的读写效率和存储安全,提高数据服务的可用性,可根据具体要求进行选择。
3.2 Redis集群
Redis Cluster是一个完全去中心化的集群系统。集群中的每个节点都是对等的,都保存了各自的数据和集群的状态,且相互之间都有连接。
Redis集群将数据缓存在内存中,减少了系统的I/O操作,提高了数据访问速度,从而降低数据库负载,提高系统性能。
3.3 MQ消息队列
MQ消息队列常用于异步处理、流量削峰、消息通讯和应用解耦等应用场景。
MQ消息队列的使用降低了服务间的耦合性,保证了数据的处理顺序,增强了峰值处理能力,能够快速给用户反馈,用户体验更好。
3.4 其他集群设计
各服务和Nginx的集群同样可使得系统易扩展、高可用、高性能。
4 功能模块说明
本节对系统中部分功能模块进行具体说明。
4.1 用户管理
此模块用于添加、删除、修改用户,管理用户的姓名、年龄、职位、联系方式等基础信息。还可指定用户角色,根据角色进行权限管理或记录操作日志等。
4.2 车辆信息管理
通过此模块可添加、删除、修改、查看車辆信息。信息主要包括:车型、车牌号、排量、发动机号码、底盘号码、加油卡号、购置(租赁)日期、现单位、责任司机、车辆性质、调入日期、调入单位、调出日期、调出单位、调动原因等。
4.3 权限管理
可由高权限角色用户进行权限设置,控制其他用户对每个功能模块的操作权限,使得某些操作或数据只开放给适当的人群使用,保证系统数据的安全性。
4.4 实时监控管理
可实现所有的车辆在同一幅地图上同时显示。根据车辆的位置和数量,系统自动将地图调整到最合适的比例尺,所有车辆的实时位置和状态一目了然[3]。车辆快速闪动
表示车辆正在运行,车辆慢闪表示车辆停止。
4.5 历史轨迹查看
可查询任意时段的车辆行车轨迹,地图自动以连续的蓝色线条描述需监控车辆的运行路线,直观、明了。系统还能以动态形式回放车辆运行轨迹,让用户清晰、细致地了解车辆的历史运行状态。
4.6 数据查询
可查询用户、车辆等的基础信息,还可以对油耗、里程等运行数据、违章等安全数据、物料或产品的运输量等进行查询,并生成各类报表和统计图形。
4.7 可视化大屏显示
为了实时展示物料或产品信息、车辆信息、运输车辆实时监控信息等,我们可设计由四个显示屏组成的可视化大屏显示各类需求较强的信息。
其中,第一屏显示数据统计信息,包括物料名称、不同时间段的运输量等;第二屏显示厂内实时监控画面;第三屏显示厂内车辆信息、原发数据及送货地址等信息;第四屏显示运输车辆实时监控情况,可以实时显示所有运输车辆实时位置,并能搜索车号查询行驶轨迹。
5 结束语
该系统基于Java EE的Spring Cloud等框架设计,支持全终端访问,采用集群、缓存等技术提高了系统的性能、可扩展性、可用性。再通过合理的业务设计,实现物流过程的实时监控和历史数据查询。最终帮助企业建立一个优秀的物流体系,实现降本增效,增强企业竞争力。随着大数据和网络技术的发展,系统将在功能、性能、可用性等方面精益求精,助力企业创造更多的效益。
参考文献:
[1]林庆.物流3.0——“互联网+”开启智能物流新时代[M].人民邮电出版社,2017:38-52.
[2]周立.Spring Cloud与Docker——微服务架构实战[M].电子工业出版社,2017:9-26.
[3]张宇,王义民,黄大雷,等.智慧物流与供应链[M].电子工业出版社,2016:89-95.