部标808和809的出台,统一了产品的标准,统一了平台与终端之间的通讯协议,对于GPS运营商而言,只要平台支持部标,那可以选择任意一家的GPS车载终端,也不会受厂商的制约,GPS运营商在市场竞争过程中将更看重产品的质量及服务,从而也间接地促进市场上产品的稳定性和可靠性。
但是开发部标GPS服务器是一个繁琐苦逼的活,有各种各样的GPS终端需要兼容和支持,现在交通部颁发了统一的标准协议和数据格式,大部分车辆的GPS终端都需要支持,软件也需要支持,否则可能在市场准入的时候就遇到麻烦。
我们开发了一个支持JT/T 808-2011数据格式的健壮的GPS服务器,提供下载。数据库版本支持Mysql, Sqlserver和Oracle等关系数据库,可以直接拿来做服务器连接前段GPS客户端和报表开发。需要JT 808 源码(java和C#两版本可选其一)+808模拟测试终端 + 压力测试工具的请联系我购买1200元([email protected]), Java版本参见:基于Java Mina框架的部标GPS服务器,JT 808源码很完整,已通过交管平台接入,可以直接使用。如果自己来写,可能需要很长时间的编写,由于需要结合终端或模拟终端进行测试,很多测试用例很难测试,如拍照,多媒体上传,行车记录仪数据上传等等,很容易走弯路,浪费了大量的时间,建议直接购买808源码省时省力。而通过808模拟测试终端可以模拟硬件设备的上传行为通过TCP或UDP发送数据,帮助检验我们的程序是否正确的实现了808协议。
试用版不提供指令下发的功能,没有数据存储和报警分析。如果没有安装.NET4.0 runtime ,将不能运行,.NET4 runtime 安装请到微软网站 :http://www.microsoft.com/zh-cn/download/details.aspx?id=17718
1.支持TCP和UDP两种传输协议, 完整实现808协议的所有命令和消息;主要功能有:
2.基于完成端口的异步通信模式,可以支持大规模运输车辆的终端并发上传GPS数据;
3.对于数据包和定位包及服务器终端连接状态进行在线实时监控,提供在线下发命令接口可以很方便的与终端进行交互,如拍照摄像等;
4.对于GPS数据包进行日志保存,便于调试跟踪。
5.开发语言采用C# .NET4.0框架, 数据库框架采用Nhibernate,这样便于数据库移植,可以支持Oracle, MySql和MS Sqlserver等多个数据库。
6.Socket服务器模型采用了基于SocketAsyncEventArgs的SocketServer. SocketAsyncEventArgs是.net提供的关于异步socket类,封装了IOCP的使用,可以用它方便的实现非阻塞通信(non-blocking IO),同时采用对象池和缓冲区管理,大大减少了对象分配和垃圾收集的工作,对于Server性能和吞吐量有很大提升。单机测试可以并发支持上万个终端。
7.数据库版,自动分析GPS数据,形成报警记录,停车报表,油量记录和加油漏油记录、历史轨迹等多个丰富的报表,直接拿来就可以用。
8.高性能的解析模块,在大规模连接的情况下,对于上传的数据包的粘包、断包仍然需要进行不差毫厘的解析,防止出现丢包的情况,这也是交通部平台过检所要求的:在5000和1万个终端连接的情况下,不允许出现连接中断、丢包的情况。
主界面功能如下图所示,提供连接和数据包的视图,对于连接的终端可以批量下发各种命令。
服务器提供了从终端控制、参数设置和行车记录仪及其他所有808规定的平台下发指令。可以对多个终端下发。
GPS服务器连接的特点是基于长连接,高吞吐量的处理特点,
1.很多企业在设计的时候,基于TCP协议开发,服务器所承受的连接都是长连接。
2.由于808协议规定终端发上来的包除了应答包,都要进行应答,很多终端企业在开发的时候,死板的照抄808协议,不应答不行。这样就造成了大批量数据上传和大批量数据应答的情况。实际上定位上传的数据包完全不应该应答,心跳包就更没道理去进行应答了。
为了提高终端接入能力和数据分析、入库能力,将终端消息的处理分成独立的五级处理模块,每个处理模块都是异步独立的,每个模块内都含有独立的处理队列,互不影响,提高数据的吞吐量和系统的响应能力。
1)第一级:实时数据解析入库,入库能力决定了客户端所看到的实时数据是否延迟;
2)第二级:报警分析并入库(包括32种808协议规定的报警、停车报警和路线偏移报警),报警分析只有快速分析才能快速的推送到前端客户端;
3) 第三级:消息应答和指令下发,应答可以有一定的延迟,而不影响整个系统性能。
4)第四级:报表统计,由于油量统计、里程统计、上线率统计,需要定时扫描数据库,生成每个时段的数据统计提供给报表查询使用.
5)第五级:日志记录和显示
采用终端模拟工具,自动生成静态车辆数据,自动进行并发连接、注册和鉴权后,开始定位数据上传。每个车辆的上传轨迹是独立不重复的,报警位和状态位定时反转,便于测试报警分析和入库能力。
这样经过五秒传一次的模拟的压力测试后,真实环境就不在话下了。如何进行压力测试参见:GPS部标监控平台-压力测试
如果购买单独的808服务器,不能满足你的要求,也可以增加预算购买完整的gps平台(含服务器和BS客户端、CS客户端和手机客户端).
如需购买GPS平台源码+文档+服务,可以联系我[email protected]。