文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/算法
最近在不一样项目中对接了多个车载GPS厂商服务终端,绝大多数厂商能够提供809协议的数据对接,还有部分能够提供自定义协议等方式的对接。多个项目中,我公司处于略强势地位,因此根据现场实际的项目进度和部署环境以及对方支持的对接方式,提出了不一样的对接方案。这里作个总结。安全
2011年5月10日中国交统统信信息中心下发了《印发道路运输车辆卫星定位系统平台和道路运输车辆卫星定位系统车载终端标准符合性审查办法(试行)的通知》。通知要求,系统平台和车载终端应当分别知足《平台要求》和《终端要求》,同时分别知足《道路运输车辆卫星定位系统平台数据交换》和《道路运输车辆卫星定位系统终端通信协议及数据格式》的要求。系统平台和车载终端,应按照本办法经过标准符合性审查。不符合标准的,不得用于道路运输车辆动态监管工做。《道路运输车辆卫星定位系统平台和道路运输车辆卫星定位系统车载终端标准》简称部标,部标包括《道路运输车辆卫星定位系统平台技术要求》(JT/T796-2011,简称《平台部标》)和《 道路运输车辆卫星定位系统车载终端技术要求》(JT/T794-2011,简称《终端部标》)。至此,关于系统平台和车载终端必须符合部标的政策性文件正式出台。而对应硬件终端标准的通讯协议标准JT/T808-2011JT/T809-2011协议也随之出台。部标808和809的出台,统一了产品的标准,统一了平台与终端之间的通信协议,对于GPS运营商而言,只要平台支持部标,那能够选择任意一家的GPS车载终端,也不会受厂商的制约,GPS运营商在市场竞争过程当中将更看重产品的质量及服务,从而也间接地促进市场上产品的稳定性和可靠性。服务器
经过该协议流程能够知道,808协议为GPS客户终端与GPS服务终端的对接协议,而809协议为GPS服务终端与上级平台之间的对接协议。因此这里咱们主要须要研究的是809协议。微信
该协议能够在网上进行下载:http://www.hzlitai.com.cn/uploads/soft/1_150116150811.pdf。协议内容包含了:socket
须要理解的地方为(转):测试
a.双链路维护,就是基于上面的对等概念,在Socket通讯上面其实就是要同时扮演服务器监听和客户端转发的角色;从下级平台来看,转发数据的链路就是主链路,从上级平台来看,主链路用来就是监听并接收子平台转发过来的数据;因此开发政府平台的,有的是开发企业平台的,立场不同,理解就不同。spa
b.正确的理解加解密算法和校验和算法,不然运管平台接入的时候,没法接入。设计
c.复杂的流程测试,和单一socket数据通讯不同,须要实现从登陆、安全认证、链路保持和注销、基础车辆数据上传、注册、交换定位信息、拍照、驾驶员身份识别和车辆电子运单的功能。3d
对于咱们企业对接GPS,咱们监听主链路便可,主链路中包含了GPS服务端发送过来的数据。从链路是GPS服务端监听反馈信息使用。blog
a.判断状态
b.解析信息
因为我方不是交通监管部门,仅仅只是须要对接GPS数据,因此复杂的809协议每每拔苗助长。因而,咱们能够和GPS服务方定义一种简单的传输协议。
能够描述为,我方监听一个端口,传输方以咱们定义好的报文规范,将数据在每次心跳时传输到指定端口便可。我方对传输过来的数据进行接收和解析。
当咱们和多个不一样GPS厂商同时对接时,因为各厂商的对接协议和提供的功能可能均不相同,此时咱们强制提供一个咱们的规范表,将其放置在前置库中(车载商都可以链接该库)。其流程设计以下:
a.全部厂商将GPS数据实时写入该前置库表中,该表有一个flag字段。将该表理解为轨迹实时表,其轨迹的存储为saveorupdate,即主键车牌存在轨迹时,再传入为更新,没有该车牌时为插入新轨迹数据。
b.我方提供定时JOB,将前置库中的数据定时总体迁移至我方网段中的业务库临时轨迹表中。
c.我方提供定时JOB,对该临时表中的坐标进行实时转换,报警业务进行判断。转换后的数据存入实时轨迹表以及历史轨迹表中。报警信息存入对应的报警表中。
我方提供WS服务,该服务中对传入参数进行定义,支持单次调用和以XML格式的批量传入。
XML格式定义以下:
我方编写JOB,定时调用对方WS服务进行轨迹获取。
因为我方的车载仅为数据展现方,对于底层协议的对接方式,能够规避尽可能规避。前置库对接以及WS对接,都可将对接的方式简化,并且能够将协议对接时的通讯长链接对服务器的消耗进行规避。因此,项目中咱们首推这两种方案。
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
若是您以为本文确实帮助了您,能够微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^