基于Java Mina框架的部标808服务器设计和开发
在开发部标GPS平台中,部标808GPS服务器是系统的核心关键,决定了部标平台的稳定性和行那个。Linux服务器是首选,为了跨平台,开发语言选择Java自不待言。需要购买808GPS服务器源码+808模拟测试终端工具+压力测试工具(1200元)可以联系我: 2379423771@qq.com;jt808服务器代码都是经过众多客户使用检验过的千锤百炼的成熟的版本,协议解析、命令下发、报警解析、数据库入库、数据统计、压力测试等各方面都考虑的非常充分完善,808协议全协议栈的实现,拿到手后,直接就可以使用了,带有库表文档和字段说明。
我们为客户开发的部标服务器基于Mina + Spring + Hibernate + Swing桌面系统开发(基于Netty框架的GPS服务器参见:基于Java Netty框架构建高性能的部标808协议的GPS服务器),整个服务器的架构特点:
1.通信层:基于Java Mina通信框架进行GPS服务器开发,可以使得整个系统架构清晰,开发者可以专注于协议解析、业务和数据处理;
2.GPS终端协议层:而为了对于扩展终端的接入能力,协议层要具有很好的扩展能力,在解析的时候,根据不同的协议的时候,根据不同的协议同,而决定调用不同的协议解析插件。很多开发者,采用工厂模式是必不可少的,但是代码都是写死的,实际上引入Spring框架,通过良好的接口设计,通过简单的XML配置,就可以接入到系统当中;
3.业务层:对于底层转来的GPS数据,进行分层处理,实时数据入库、32种报警分析、各种报表统计等操作,这些操作,在超过5000台的大规模终端接入的情况下,变得异常复杂,即要保证系统的实时性,必须要提高处理能力,特别是报警分析的能力。
4.内嵌转发服务,支持服务器端的808协议双向转发,服务器接收数据后,还可以将gps数据以808协议的格式转发给其他第三方的平台,也可以接收第三方平台的指令,下方给终端。
5.完整的实现部标808协议的全部协议栈的解析,不是仅仅实现部分协议命令。
6.内嵌808TCPServer和808UDPServer两个Server监听,同时支持TCP和UDP两种协议制式的接入,这样无论终端是UDP协议,还是TCP协议,都可以顺利接入。
808服务器主要用到的库表:
部门表 |
车辆表 |
终端表 |
实时表 |
历史轨迹表 |
驾驶员表 |
电子运单表 |
报警统计报表 |
报警推送表 |
电子围栏表 |
线段表 |
终端命令表 |
终端参数表 |
基础数据表 |
多媒体上传记录 |
行驶记录仪表 |
里程统计中间表 |
部门上线率统计表 |
油量变化记录 |
油量和里程统计表 |
车辆上线率统计表 |
五分钟一次油量和里程记录 |
java版的809服务器参见:基于Java Mina 通信框架的JT/T809转发服务器设计
由于808GPS服务器和809服务器是需要集成通信的,你也可以购买808809服务器模块套装源码(2700元),提高你的开发效率。
开发环境JDK1.7+, 数据库环境MySQL5.7, MSSqlServer2005+,运行环境windows, linux
Java平台,参见:
1)基于Spring4+SpringMVC4+Mybatis+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台
2) 基于Struts+Spring+Hibernate+Ibatis+Quartz+Mina框架构建部标监控平台
.NET平台,
Cs客户端参见:GPS监控CS客户端设计
本808服务器对于部标808全部协议栈都进行了充分的支持:
序号 |
项目名称 |
触发条件 |
预期回应 |
01 |
终端心跳 |
根据设定的心跳时间参数,定时自动上报 |
主动上发,需要平台提供通用应答,长时间无法获得应答将导致程序自动断开重连。 |
02 |
设置终端参数 |
平台下发 |
回复通用应答,可设置的参数参考行标协议文本8.8 |
03 |
超速设置 |
平台下发 |
回复通用应答 |
04 |
疲劳驾驶设置 |
平台下发 |
回复通用应答 |
05 |
超时停车设置 |
平台下发 |
回复通用应答 |
06 |
查询终端参数 |
平台下发 |
回复0×0104应答参照行标协议文本8.10描述,回复的参数信息包含前述设置指令所设定修改的内容 |
07 |
终端控制 |
平台下发 |
回复通用应答 |
08 |
位置信息查询 |
平台下发 |
回复固化的位置信息:26.033435N,119.139317E 高度23.59,速度0,角度0 |
09 |
临时位置跟踪控制 |
平台下发 |
回复通用应答 |
10 |
文本信息下发 |
平台下发 |
回复通用应答 |
11 |
追加事件 |
平台下发 |
回复通用应答 |
12 |
删除特定事件 |
平台下发 |
回复通用应答 |
13 |
更新事件 |
平台下发 |
回复通用应答 |
14 |
修改事件 |
平台下发 |
回复通用应答 |
15 |
删除全部事件 |
平台下发 |
回复通用应答 |
16 |
追加新事件 |
平台下发 |
回复通用应答 |
17 |
提问下发 |
平台下发 |
程序立即回复通用应答,稍后由用户手动操作回复提问 |
18 |
信息点播菜单追加 |
平台下发 |
回复通用应答 |
19 |
信息点播菜单修改 |
平台下发 |
回复通用应答 |
20 |
信息点播菜单更新 |
平台下发 |
回复通用应答 |
21 |
信息点播菜单删除 |
平台下发 |
回复通用应答 |
22 |
信息点播菜单追加 |
平台下发 |
回复通用应答 |
23 |
信息点播菜单修改 |
平台下发 |
回复通用应答 |
24 |
信息点播菜单更新 |
平台下发 |
回复通用应答 |
25 |
信息服务 |
平台下发 |
回复通用应答 |
26 |
电话回拨 |
平台下发 |
回复通用应答,不触发任何逻辑动作,请关注日志 |
27 |
电话回拨_监听 |
平台下发 |
回复通用应答,不触发任何逻辑动作,请关注日志 |
28 |
设置电话本_删除 |
平台下发 |
回复通用应答 |
29 |
设置电话本_更新电话本 |
平台下发 |
回复通用应答 |
30 |
设置电话本_追加电话本 |
平台下发 |
回复通用应答 |
31 |
设置电话本_修改电话本 |
平台下发 |
回复通用应答 |
32 |
车辆控制_车门解锁 |
平台下发 |
回复通用应答 |
33 |
车辆控制_车门加锁 |
平台下发 |
回复通用应答 |
34 |
更新圆形区域 |
平台下发 |
回复通用应答 |
35 |
删除圆形区域 |
平台下发 |
回复通用应答 |
36 |
更新矩形区域 |
平台下发 |
回复通用应答 |
37 |
删除矩形区域 |
平台下发 |
回复通用应答 |
38 |
更新多边形区域 |
平台下发 |
回复通用应答 |
39 |
删除多边形区域 |
平台下发 |
回复通用应答 |
40 |
更新路线 |
平台下发 |
回复通用应答 |
41 |
删除所有路线 |
平台下发 |
回复通用应答 |
42 |
行驶记录仪数据采集命令 |
平台下发 |
根据形式记录议命令字发回测试数据,数据可能会产生分包 |
43 |
行驶记录仪参数下传命令 |
平台下发 |
回复通用应答 |
44 |
抓拍立即上传 |
平台下发 |
回复通用应答,随后分包上发固化的多媒体数据,上发数据与多媒体通道有关* |
45 |
录像立即上传 |
平台下发抓拍指令附带录像提示 |
回复通用应答,随后分包上发固化的多媒体数据,上发数据与多媒体通道有关* |
46 |
检索多媒体列表 |
平台下发 |
根据查询的多媒体类型回复固化的多媒体列表数据,参考行标协议8.46,通道与时间参数将被解析于日志中,但是不会影响列表内容 |
47 |
存储多媒体上传 |
平台下发 |
根据通道*和多媒体类型定义回传多媒体数据,时间和事件等参数将被正确解析与日志中,但是不会影响上发的多媒体内容 |
48 |
录音32Kbps立即上传 |
平台下发 |
回复通用应答 |
49 |
数据下行透传 |
平台下发 |
回复通用应答 |
50 |
平台RSA公钥 |
平台下发 |
回复终端RSA公钥,本软件将把平台下发的RSA公钥回发以验证协议的正确性 |
(19766)
不错