分布式高并发物联网(车联网-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++实现高并发的游戏盒子,平台问题需要迁移重构,所以有一些遗留问题,客户端异常断开没有处理,会导致服务器崩溃,还有基于快写代码编程平台实现的小程序切换,线程读写缓存没 ...
随机推荐
- BZOJ.3673/3674.可持久化并查集(可持久化线段树 按秩合并/启发式合并)
BZOJ 3673 BZOJ 3674(加强版) 如果每次操作最多只修改一个点的fa[],那么我们可以借助可持久化线段树来O(logn)做到.如果不考虑找fa[]的过程,时空复杂度都是O(logn). ...
- Dalvik和ART的区别(转)
什么是Dalvik: Dalvik是Google公司自己设计用于Android平台的Java虚拟机.Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一. ...
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C. Ray Tracing 数学
C. Ray Tracing 题目连接: http://codeforces.com/contest/724/problem/C Description oThere are k sensors lo ...
- URAL 1966 Cycling Roads 计算几何
Cycling Roads 题目连接: http://acm.hust.edu.cn/vjudge/contest/123332#problem/F Description When Vova was ...
- oracle创建透明网关出现的问题
解决方案:创建HS_TRANSACTION_LOG表 DROP TABLE HS_TRANSACTION_LOG go CREATE TABLE HS_TRANSACTION_LOG( GLOBAL_ ...
- 使用 IntraWeb (8) - 系统模板
我们可以自定义系统错误模板, 编辑 IWError.html 放到模板文件夹后, 它将替换默认的模板. {在主页面, 这是要模拟一个系统错误} procedure TIWForm1.IWButton1 ...
- BZOJ 1207 DP
打一次鼹鼠必然是从曾经的某一次打鼹鼠转移过来的 以打每一个鼹鼠时的最优解为DP方程 #include<iostream> #include<cstdio> #include&l ...
- Android之 系统启动流程
在前一篇文章"Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --&g ...
- UIWebView 大全
<html> <head> </head> <body> <img src = "http://t1.baidu.com/it/u=10 ...
- Git:远程仓库的使用
查看当前的远程库 要查看当前配置有哪些远程仓库,可以用git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为origin 的远程库,Git 默认使用这个名字 ...