部标视频平台开发技术

开发企业级的北斗/GPS部标监控平台,投入的资金人员很大,开发周期很长,在设计之初必须选好开发语言和技术架构,以免将来在开发过程中不断挖坑走弯路,最后项目失败。做北斗/GPS平台这么多年,以前了解到一些开发团队过于关注某一种语言的优势,比如过于选用GO、Erlang、Python、PHP等小众语言,最后团队熟悉这些技术的关键人员离职了,都没人接手,不能不说是个悲剧。所以平台开发语言要选流行的大众语言,招人容易接手也容易,选择的框架要成熟、稳健,能选择开源的尽量不要重复造轮子。

北斗/GPS物联网监控平台是由笔者主导开发的企业级部标监控平台,整个平台兼容JT808、JT809、JT1078以及苏标陕标等ADAS协议,全部模块选用JAVA开发,主要技术框架有:

  1. 所有模块采用SpringBoot,去除了大量的xml配置文件,简化复杂的依赖管理,对主流开发框架的无缝集成可以自动化配置,提供运行时的应用监控,项目可独立运行,无需外部依赖servlet容器,极大的提高了开发、部署项目。
  2. 采用前后端分离技术,后端采用SpringMVC+Swagger提供restful接口,摒弃以前的jsp和模板引擎渲染,前端开发人员只需要打开swagger界面就可以调试接口,所有接口清晰明了,职责分明,极大提高了开发进度。
  3. 通信网关JT808、JT809和流媒体服务器采用Netty,通过与其他业界主流的NIO框架对比,Netty的综合性能最优,API使用简单,开发门槛低,功能强大,预置了多种编解码功能,支持多种主流协议,经历了大规模的商业应用考验,质量得到验证。在互联网、大数据、网络游戏、企业应用、电信软件等众多行业得到成功商用。
  4. 采用Redis缓存服务器,支持集群,减少与数据库的交互,减轻数据库压力。
  5. 采用RabbitMQ,做为各个模块的交互通道,支持集群,可靠性高,提供WEB管理和监控。
  6. 采用WebSocket与前端交互,推送位置、报警和其他事件,大大提高了实时性。
  7. 采用mysql数据库和Spring Data JPA,只需要继承Spring Data JPA提供的Repository接口类,不需要编写任何一行代码,你的DAO接口类就具备了增删查改、分页。是的,一切就那么简单!
  8. 使用阿里巴巴团队开源的Druid连接池,能够提供强大的监控和扩展功能。
官方网站:http://www.gps-pro.cn 开源地址:https://github.com/gnss-pro/