分布式高并发物联网(车联网-JT808协议)平台架构方案
技术支持QQ:78772895
1、车载终端网关采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接、上行以及下行消息的解码、编码、流量控制,黑白名单等安全控制,网关同时支持交通部JT/T808-2011、JT/T808-2013两个版本全部的808协议,网关应用提供二次开发接口,支持以插件形式协议扩展而不需要改动任何原有代码。接入网关采用json消息通过MQ消息队列与业务平台进行交互,支持ActiveMQ和RabbitMQ,能够无缝接入各种异构系统。
本网关应用已历经并通过多次交通部部标的检测,性能稳定,适用于物联网(车联网)领域应用,特别是基于交通部808协议或者其扩展协议的智能终端监控平台,如车辆GPS定位监控平台。经测试在普通pc机上,单个网关应用至少可支持同时1w以上终端同时在线,具备至少600wGPS数据/小时的数据处理能力(见附件性能测试报告)。
本网关可水平扩展成支持高可用高并发的分布式架构
2、上行消息处理服务,采用spring+mysql+redis+mongoDB框架,是基于事件驱动的责任链设计模式处理终端上行消息、批量存储消息、发布终端重要消息(告警,上下线等)等平台业务处理,提供以插件形式消息处理二次开发接口而不需要改动任何原有代码,实现个性格业务处理能力。本服务可水平扩展成支持高可用高并发的分布式架构
3、平台服务层是基于spring-boot的微服务架构,同时集成了服务注册中心,接口网关,支持高并发高可用的分布式架构;底层封装了基于元数据的几大高度抽象的restful风格接口(包括CRUD接口、复杂查询接口、下发消息接口等个性化定制接口),业务系统无需再单独开发数据库相关操作的代码(增加新的数据库表只需要建立entity映射,即可实现增上改查等功能),只需关注业务逻辑开发即可。同时模块也提供提供二次开发接口,而不需要改动任何原有代码,实现个性格业务处理以及自定义接口能力。
4、展现层web端对JQuery EasyUI进行了二次封装,提供部分js常用组件,对于普通的CRUD操作只需按照模板开发相关的界面即可完美展现,web端同时集成了WDR对终端上下线、告警等重要信息实时推送提醒消息。
5、框架集成了redis缓存,通过简单的注解就能使用缓存;
6、在业务功能目前实现了:
a、支持JT/T808协议的全部指令,如拍照、文本下发、监听、点名等;
b、平台告警设置:原地设防、围栏告警(圆形、矩形、多边形)、超速告警;
c、车辆监控:区域查车、车辆上下线提示、告警实时提示、车辆实时跟踪、历史轨迹、油耗、里程等;
d、车辆管理:车辆信息维护、多媒体信息、上行消息、下行消息、告警查询等;
e、账号维护:企业注册、企业信息维护、修改密码等;
f、各种统计报表。
7、开放平台遵循标准oauth2.0,提供几大基于元数据的高度抽象的restful风格的增删改查数据接口以及部分个性化定制的业务接口;开放平台支持接口调用频率控制(基于令牌桶算法),支持ip黑白名单、接口调用权限等功能。
试用版网关程序下载地址:
http://download.csdn.net/detail/gaoshbo/9340739 ,需要正版可联系QQ:78772895
平台体验网址:
http://elink.legaoyi.com,登陆用户:test007,密码:123456
分布式高并发物联网(车联网-JT808协议)平台架构方案的更多相关文章
- Redis:解决分布式高并发修改同一个Key的问题
本篇文章是通过watch(监控)+mutil(事务)实现应用于在分布式高并发处理等相关场景.下边先通过redis-cli.exe来测试多个线程修改时,遇到问题及解决问题. 高并发下修改同一个key遇到 ...
- 基于JT/T808协议的车辆监控平台架构方案
技术支持QQ:78772895 1.接入网关应用采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...
- 同样是高并发,QQ/微博/12306的架构难度一样吗?
开篇 同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATE t_yue SET money=$new_money WHERE u ...
- 高并发&高可用系统的常见应对策略 秒杀等-(阿里)
对于一个需要处理高并发的系统而言,可以从多个层面去解决这个问题. 1.数据库系统:数据库系统可以采取集群策略以保证某台数据库服务器的宕机不会影响整个系统,并且通过负载均衡策略来降低每一台数据库服务器的 ...
- asp.net解决高并发的方案.
asp.net解决高并发的方案. Posted on 2012-11-27 22:31 75077027 阅读(3964) 评论(1) 编辑 收藏 最近几天一直在读代震军的博客,他是 Discuz!N ...
- 高并发第二弹:并发概念及内存模型(JMM)
高并发第二弹:并发概念及内存模型(JMM) 感谢 : 深入Java内存模型 http://www.importnew.com/10589.html, cpu缓存一致性 https://www.cnbl ...
- 优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads
译文在后面. State Threads for Internet Applications Introduction State Threads is an application library ...
- 3年Java开发6个点搞定高并发系统面试疑惑
前言 其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并 ...
- 个人项目开源之c++基于epoll实现高并发游戏盒子(服务端+客户端)源代码
正在陆续开源自己的一些项目 此为c++实现高并发的游戏盒子,平台问题需要迁移重构,所以有一些遗留问题,客户端异常断开没有处理,会导致服务器崩溃,还有基于快写代码编程平台实现的小程序切换,线程读写缓存没 ...
随机推荐
- codevs 1077 多源最短路
题目描述 Description 已知n个点(n<=100),给你n*n的方阵,a[i,j]表示从第i个点到第j个点的直接距离. 现在有Q个询问,每个询问两个正整数,a和b,让你求a到b之间的最 ...
- BZOJ.4516.[SDOI2016]生成魔咒(后缀自动机 map)
题目链接 后缀数组做法见这. 直接SAM+map.对于每个节点其产生的不同子串数为len[i]-len[fa[i]]. //15932kb 676ms #include <map> #in ...
- 【BZOJ-4016】最短路径树问题 Dijkstra + 点分治
4016: [FJOI2014]最短路径树问题 Time Limit: 5 Sec Memory Limit: 512 MBSubmit: 1092 Solved: 383[Submit][Sta ...
- GitLab查询当前版本
gitlab-rake gitlab:env:info 其实还有很多方法可以参考GitLab的帮助文档:https://docs.gitlab.com/omnibus/README.html 参考: ...
- Optimizing Oracle RAC
Oracle Real Application Clusters (RAC) databases form an increasing proportion of Oracle database sy ...
- STM32F103ZET6 用定时器级联方式输出特定数目的PWM
STM32F103ZET6 用定时器级联方式输出特定数目的PWM STM32F103ZET6里共有8个定时器,其中高级定时器有TIM1-TIM5.TIM8,共6个. 这里需要使用定时器的级联功能,ST ...
- Memcache 分布式高可用集群介绍
分布式缓存需考虑如下三点: 1.缓存本身的水平线性扩展的问题. 2.缓存大病罚下的本身性能问题. 3.避免缓存的单点鼓掌问题. 分布式缓存存在的问题: 1.内存本身的管理问题.内存的分配,管理和回收机 ...
- 交叉编译Python-3.6.0到aarch64/aarch32 —— 支持sqlite3
参考 https://datko.net/2013/05/10/cross-compiling-python-3-3-1-for-beaglebone-arm-angstrom/ 平台 主机: ubu ...
- I/O会一直占用CPU吗?【转载】
转自:https://www.zhihu.com/question/27734728 知乎上看到的一个提问,可以参考 如下图:(图片摘自网络) 在进行I/O操作的时候,是将任务交给DMA来处理,请求发 ...
- C#编程(五十)----------栈
栈 栈与队列是一个非常类似的容器,他们的区别在于队列是先进先出,而栈是后进先出. Stack与Stack<T>,像队列一样,栈也提供了泛型与非泛型版本. Stack的方法: 方法 说明 P ...