霍卓群,陈 林
随着经济发展和城市规模的不断扩张,便捷的交通运输显得尤为重要,城市应急指挥系统在其中发挥着重要作用.在节假日等时段内,大量的人口迁移、返乡潮等情况会造成交通运输高峰周期,城市中的汽车站、火车站、飞机场等区域会出现大量的出租车需求[1];此时,城市的管理者需要使用应急指挥调度系统,以此增加以上区域内空载出租车的保有量,确保交通运输顺畅.
现行的方法是通过出租车安装的车载卫星定位系统,向某一公司或某一区域的车辆发送调度信息.但上述技术方案在实际使用时,有以下问题需要解决.
(1)因调度区域内的车辆具有不特定性,导致调度管理员无法确定选定区域范围大小.在特定时间内调度员选取特定区域内车辆具有不明确性,如在实际操作过程中,存在选中对象区域的空载车辆保有量不足的情况.若调度管理员选择区域的范围过小,调度的车辆不能满足运力要求,达不到预期的调度效果;若调度管理员选择区域过大,调度的车辆过多,造成资源浪费.
(2)因无法精准检测车辆移动的实时信息(车辆移动趋势图和目标区域实时车辆数),存在调度成功率低下的问题.如果调度对象区域拥有一定数量的空载车辆,现行方法无法获知此次调度情况,包括有多少空载车辆可以到达目标区域,以及能够解决多少运力等.
本文要解决的技术问题包括:①能够对特定区域内车辆实时监控,实时掌握车辆在该区域的分布、运行状态及运行方向等信息,并在地图上实时展示(精度精确到秒级);②采用物联网领域的轻量级MQTT协议设计汽车和平台间通信协议,提供对特定区域内的空载车辆下发高效、可靠的调度消息,有效保障调度成功率并达到预定要求[2].
本文设计一种监测及引导车辆移动系统,采用自定义协议实现管理平台对被管车辆高效、准确的调度功能,通过对特定区域车辆实时监控,实时掌握车辆在该区域的分布、运行状态及运行方向等信息,并在地图上实时展示(精度精确到秒级).旨在应急指挥应用中,通过系统能实现实时检测和精确引导车辆移动,并实时将结果反馈至管理平台,以满足应急调度的需求[3].
系统由车载监控终端、处理单元、调度单元和展示单元四部分组成,其中处理单元包括终端协议解析网关和位置计算两部分,调度单元包括调度计算和缓存处理两部分,如图1所示.
图1 监测及引导车辆移动系统原理图
①车载监控终端.负责获得车辆的实时精确位置信息和车辆的实时状态信息,包括空载和重载状态;负责接收系统的调度信息,通过语音模块以中文普通话进行播报;负责调度信息的预处理,并将调度信息分派到处理单元.
②处理单元.处理单元包括MQTT协议处理单元和位置计算子单元两部分.协议处理单元负责对车载监控终端上传数据报文的解析处理,处理后输出信息包括:车牌号、位置经纬度、运行状态;位置计算子单元负责将终端协议解析子单元的输出信息与系统设定的对象区域及目标区域位置信息进行实时比对处理,处理内容包括:对象区域的车辆位移变化、对象区域车辆已到达目标区域的数量、正在前往车辆数量,以及这部分车辆在地图上的分布等信息[4].
MQTT是一种基于发布/订阅模式的轻量级消息传输协议,主要为大量计算能力有限,且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计.同CoAP、HTTP等其他协议相比,具有诸多优势.
每条消息的标题可以短至2个字节;能够从断开等故障中自动恢复,而且没有进一步的代码需求;专门针对低功耗目标而设计.
MQTT协议定义了三种角色,分别为消息发布者、消息代理器、消息订阅者,其协议模型架构如图2所示.
图2MQTT协议
车辆作业状态数据以主题报文形式传递,如:终端与平台交互的消息体数据格式,事件项组成数据格式,事件报告消息体数据格式等,具体内容见表1~表3.
表1 终端与平台交互的消息体数据格式
表2 事件项组成数据格式
表3 事件报告消息体数据格式
③调度单元.调度单元主要是接收处理单元的车辆实时位置信息,通过调度算法输出调度指令,并由缓存处理单元将调度指令传给显示单元,实现车辆的实时调度.调度单元包括调度处理和缓存处理两部分,调度计算以车辆实时位置数据为输出,通过实时调度算法,实时精准的调度车辆.缓存处理将调度处理的指令缓存起来,按配置的方式输出给显示单元.调度单元通过增加缓存单元解决调度结果与显示速度不一致的问题.
④展示单元.展示单元负责根据调度指令在地图上实时展示车辆的调度情况,包括选定区域内空载车辆的分布状态,调度指令发出后有多少车辆接收并响应,且随时间的增加展示调度的情况.
监测及引导车辆移动的方法及其系统硬件架构包括:接收和分发服务器、处理服务器集群、缓存服务器和输出服务器四部分.接收和分发服务器上部署接收和分发单元,处理服务器集群中的每一台处理服务器上部署一份终端协议解析子单元和位置计算子单元,调度单元和缓存单元部署在高度服务器上,输出服务器上部署展示单元[3].
下面结合图3系统时序图说明系统监测及引导车辆移动的具体流程.
图3 监测及引导车辆移动系统时序图
步骤1:用户打开系统后,在系统上选择一个调度范围,服务端通过缓存中的车辆最新位置比对,查询该范围内的车载终端,车载终端利用定位模块(支持GPS、北斗和LBS定位)获得车辆精确位置信息后,通过移动无线传输网络(4G),将带有车辆当前经纬度的报文数据发送至接收和分发单元服务器[5].
步骤2:服务端通过特定的调度终端协议解析单元接收到终端上传的位置信息报文后,通过标准的数据协议解析代码表,进行协议解析,并将解析后的数据发送至位置计算单元.
步骤3:用户在系统上设定好目标区域后,位置计算单元通过终端协议解析单元转发来的车辆位置经纬度,与用户设定的对象区域及目标区域的区域经纬度进行比对,将处理结果转发调度单元.
步骤4:调度单元通过位置计算单元提供的车辆经纬度键值,查找对应的车辆数据.并将车辆数据返回给位置计算单元,供位置计算单元进行上下文比对关联计算.
步骤5:位置计算单元对调度单元传递来的车辆调度预处理信息进行处理,将车辆状态信息(分布、车辆的位置、行驶方向等)传给调度单元.
步骤6:调度单元接收车辆状态信息,调用调度算法实时计算,给出调度指令.
步骤7:调度单元将调度指令传给缓存单元,缓存单元按系统配置的优化级缓存并调度.
步骤8:展示模块接收缓存单元转发的调度指令,在地图上实时更新.同时调度指令也可输出给其他系统.
至此,监测及引导车辆移动流程结束.
(1)通过车载终端与后端调度平台间自定义的协议,可实现特定区域内车辆数据的精确性和车载运行轨迹检查的灵敏性.
(2)检测多区域的多车辆的位置改变,实时掌握特定区域的车辆分布及车辆的精确位置,为实现跨区域调度的精度和效率作准备.
(3)更精准的调度方案.利用多种定位能力(支持GPS、北斗和LBS及其融合定位),实时获取车辆位置,实现终端与平台的实时消息交互,了解车辆的承载状态,采用精准消息推送方案实现对特定区域的车辆下发实时调度消息,进而实现空载车的高效调度.
(4)实时展示效果好.能够在地图上实时动态展示调度命令下发后对象区域的空载车辆运行动态和调度的效果.
本文提供一种精确、高效的监测及引导车辆移动的应急指挥系统,提高监测及引导车辆移动的实时性,同时可实现对多目标区域及多目标车辆的检测.相比传统的监控调度方式,具有成本低、适用广、实时性强等优点.