基于车联网的物流信息监控平台的研究与设计*
2018-10-13张爱玲
张爱玲,曹 磊
(1.西安理工大学,陕西 西安 710082;2.河南科技大学,河南 洛阳 471023)
0 引言
自从我国将“互联网+物流”划入重点规划后,“互联网+物流”便乘上了大众创业、万众创新的东风,物流业得到飞速发展。总体来看,中国物流产业的总体规模目前还比较小,发展水平也比较低,这一方面是由我国经济发展的水平和阶段所决定的,另一方面,也是更为重要的是我国经济中还存在着许多影响和制约物流产业健康发展的因素[1]。李克强总理提出“要推动互联网、大数据、云计算等信息技术与物流深度融合,推动物流业乃至中国经济的转型升级,这是物流业的供给侧改革。”由此证明了“互联网+物流”已成为我国未来物流业发展的大趋势[2]。
通过分析大件物流行业中存在的问题,本文将互联网、大数据、云计算等信息技术与物流产业进行深度融合,构建出一个独立的车辆轨迹监控平台,通过全球定位系统(Global Positioning System, GPS)、APP(即智能手机的第三方应用程序)及电子围栏等技术进行车辆轨迹上传,实现物流全流程节点配装到签收的精确展现,实现物流配送精准,达到了物流平台对物流运输配送过程中的可视化业务管理,满足了大件物流行业要求的物流信息透明化战略要求[3]。
1 设计思路
大件物流信息监控平台主要的监控对象是车辆,本系统通过车辆轨迹监控来实现物流的跟踪。平台采用基于消息机制的线程队列技术来实现任务之间的事件驱动;采用分布式集群作为具有高并发能力的终端接入层的实现模式;采用缓存与数据库集群以及数据库的垂直与水平切分作为数据存储层,从而提升系统整体数据I/O能力;选取JSP+Action+Delegate+Webservice+Domain+Dao的典型设计模式作为Web层的实现模式;采用Spring+JDBC+Mongo+MySQL作为后端的框架。
图1 车辆轨迹监控平台总体架构
2 总体设计
车辆轨迹监控平台应用架构完全基于JavaEE的系统体系,使用Spring MVC为整体Web框架,使用Spring为核心业务模型层,使用JDBC为数据访问层,使用MySQL为数据库持久层,使用MongoDB为缓存与非结构化存储层,以ActiveMQ为消息中间件。本平台针对数据量大、并发大和业务功能本身的要求,选择基于Spring、SpringMVC、ORM、MongoDB、Netty、ActiveMQ的整套技术体系架构,整体结构支持基于虚拟化技术的进行云服务的规模化部署。
2.1 应用框架
系统的应用架构采用分层设计的理念[4],基于JavaEE的整体技术体系,结合本系统的特点,将系统分为前端展示层、终端接入层、服务总线层、基础设施层等多层体系,如图1所示。
2.2 数据流
本平台在数据流转维护时,采用图2所示的处理方案。在图2中,GPS上行数据流是APP通过数据移动网络将GPS数据发送至服务器,接收数据的为平台的终端接入层,终端接入层将数据进行实时的大数据存储,之后进行相关的业务逻辑判断。将终端接入层产生的业务事件通过MQ集群发送至平台服务层,之后由平台服务层进行业务逻辑处理。APP业务处理数据流是司机端应用APP通过移动网络调用本平台的对外接口服务,接口服务将请求数据分发至平台服务层,进行相关的业务逻辑处理,平台服务层处理完成之后通过接口服务将响应结果数据返回至APP端。
对于外部系统请求数据流,是外部系统在某些场景下会请求本平台的数据服务,由对外接口服务统一接入外部请求,之后将请求数据分发至平台服务层,进行相关的业务逻辑处理,平台服务层处理完成之后通过接口服务,将响应结果数据返回至外部系统。
2.3 拓扑结构
平台采用分层分布式的软件技术体系[5],因此每一层软件都采用集群的方式,集群下的每个节点分别运行在不同的物理服务器之上,采用交叉部署的方式进行。设备接入的总入口采用负载均衡设备(F5/A10)进行统一的负载接入,将负载数据分发至设备接入集群,此后数据进入系统内部进行业务处理与前端展示。
3 系统模块设计
本平台基于JavaEE技术体系,采用系统模块化分层设计,各个层所负责的职责不同,相互之间配合完成整体系统的业务功能流程,同时可以非常好地实现系统的扩展、性能的调优、系统模块化升级等。
3.1 终端接入层
终端接入层是APP的GPS数据上行下行的唯一通道,如图3所示,终端接入层与APP端进行数据协议的制定,通过标准的通信协议与数据协议进行通信,终端接入层接收到APP上行来的数据,将进行初步的逻辑判断,并将原始GPS数据存入大数据平台,之后将初步判断的结果性事件信息传入数据通信层(MQ)。
图3 APP终端接入层
为了保证终端接入层在未来能够支撑10万的并发,终端接入层采用了集群化的软件管理模式,并通过前端负载设备将数据分发至不同的接入层节点,实现数据处理能力的负载分发,从而实现大并发的APP端数据上行的处理能力。终端接入层的解析适配器可以适配多种设备数据协议(XML、JSON)、多种通讯协议(HTTP、TCP/IP、UDP),能够达到无缝集成各类终端,如手机APP、GPS终端、外部系统等。
3.2 数据通信层
数据由终端接入到平台之后,会路由到数据通信层。平台的数据通信层采用相应的消息队列中间件(MQ)进行数据的存储与转发,来提高系统对大量终端上报数据的处理能力、减少系统通信阻塞、提高协议适配等多方面功能。
平台所采用的是Apache的ActiveMQ,可支持每秒数万级的并发,同时可支持集群方式,能够为后续的吞吐量扩充提供良好的保障。
3.3 服务总线层
平台总线服务层是系统的核心业务单元,包括核心的业务模块、流程、规则、数据访问、系统集成、统计报表、组织架构、安全模块、核心GPS算法等。平台总线服务层最终是以Service的方式对外提供服务。服务总线层功能如表1所示。
表1 车辆轨迹监控平台数据通信层功能
3.4 Web展现层
Web展现层是整个系统平台的UI展现部分,为用户提供了所有的UI界面功能。UI层不做任何业务逻辑和数据存储逻辑,它与服务总线层通过服务调用的方式进行通信,为系统用户提供管理界面的使用。
Web展现层采用了JSP+Jquery+Ajax的技术框架,充分体现了Web2.0的良好交互体验。
4 大数据平台设计
本系统会产生海量的GPS数据,而同时GPS数据中的经纬度又是空间数据,空间数据采用[经度,纬度]的模型进行存储,在系统中还会有大量的基于GPS信息的电子围栏计算、距离计算等算法需要对空间数据进行解析计算,因此空间数据的海量数据存储与访问成为非常重要的设计环节,直接影响到系统的核心功能与性能实现。
本模块采用基于MongoDB进行GPS海量数据的存储,结合MapReduce技术实现数据的分布式存储与读取,从而大大地提高了大数据的处理能力,为后续的数据挖掘、大数据分析、高性能的轨迹查询、轨迹分析等提供非常有力的支撑。大数据处理平台如图4所示。
5 接口设计
本系统会与外部系统及其他相关业务系统进行对接,由于系统多元化,系统的接口方式不确定,因此本系统实现了几乎所有的接口方式,包括Web/HTTP Service、消息队列、接口表等各种服务,如图5所示。此外,本系统也会适配各种外部系统所提供的接口,从而实现全部的请求、响应流程,更好地使本系统在内部无缝地与其他系统进行集成。
除了通信模式的多元化,系统还能够提供不同级别的数据协议,更好地实现系统间数据传递的便捷、高效。
图4 大数据处理平台
图5 车辆轨迹监控平台接口设计
6 核心技术问题
6.1 大并发量的承载能力
本系统中的大并发量主要体现在APP终端接入量在初期要支撑2万,未来要达到10万。在架构设计上,系统采用了分布式的终端接入层集群架构,采用统一的入口负载均衡机制将APP上行的GPS数据进行分发处理,通过扩充终端接入层的实例节点来增加系统的并发处理能力,从而为扩充GPS上行并发量提供了稳定扩展的技术架构体系。
6.2 海量GPS数据读写处理
本系统所管理的目标车辆将会超过10万甚至更多,因此对于车辆频繁上报的GPS数据量将会非常大。因此系统平台将采用海量存储技术来实现大数据量的存储,同时能够高性能地对海量数据进行存储、查询等数据操作。主要有以下几个方面的体现:(1)上报GPS数据写入大数据存储;(2)管理用户端要支撑5 000用户对轨迹大数据进行并发查询操作。
本系统在大数据处理方面,通过MongoDB进行GPS空间大数据的存储,通过MapReduce进行分布式非结构化文件的管理与读写,非常好地解决了TB级乃至PB级数据量的存储、查询。
6.3 轨迹优化与飞点处理
本系统为了精准车辆轨迹信息,一是采用道路匹配算法,该算法结合图商的路网信息,通过对部分精度不准的GPS数据进行道路匹配,使应该在路上的GPS数据全面地匹配到地图道路之上,更友好地展示GPS的轨迹;二是采用智能飞点纠正算法,该算法结合路网信息,针对飞点的前后GPS数据的定位情况,对飞点进行精准纠正,让轨迹更加平滑,避免由于GPS漂移所带来的轨迹展示的误差,如图6所示。
图6 车辆轨迹监控平台轨迹优化与飞点处理
7 结论
本平台基于JavaEE的成熟、安全、稳定、可维护、可扩展的技术特性,通过分层体系进行架构设计,支持灵活的模块开发,能够支持大量的设备终端的接入,并有良好的性能体现,对GPS海量数据的读写有明显优势,能够支撑TB级大数据的管理。系统部署后,用户反馈良好。本平台还能够对工业控制、人工智能、公共交通、设备监管、智能家居提供强大的平台支撑,充分体现了平台基于物联网整体架构的处理能力,可为各行业提供较为细分的行业云平台管理监控综合解决方案。
可以预知,如果能够在两客一危(指大客车、大型旅游客车以及危险品车)、个人用车管理、大众用车服务、租车云监控、政企用车等方面提供更加细化的行业解决方案,就会使基于GPS+北斗和移动APP的多元化终端接入到本平台,形成更具扩展性和管理能力的行业解决方案。