项目源码,文末联系小编
01
JetLinks 物联网平台
JetLinks 是一个基于Java 国产****开源的企业级的物联网平台,它集成了设备管理、数据安全通信、消息订阅、规则引擎等一系列物联网核心能力,支持以平台适配设备的方式连接海量设备,采集设备数据上云,提供云端API,通过调用云端API实现远程控制。JetLinks物联网平台还支持多种设备接入协议,并提供了丰富的协议库。
JetLinks 基于Java8,Spring-boot 2.7,Webflux,Netty,Vert.x等开发, 是一个全响应式(Reactor)的物联网基础平台。使用 Maven多模块,实现组件化开发,可按需引入需要的模块。
性能优势
JetLinks支持私有化或容器化以单机、集群或微服务的方式部署在任意平台服务器上,支持横向拓展,具有极佳的性能表现。
- 千万级设备连接
架构水平扩容,支持千万级设备连接。
- 百万级数据并发
架构水平扩容,支持百万级数据并发。
- 10w+任务调度处理
自研RactorQL实现规则引擎任务处理,具有极佳的处理性能。
- <30ms设备延迟
全响应式非阻塞网络编程,具有极低的设备延迟。
核心特性
- 完全开源(社区版免费),基于事件驱动,拓展性强.
- 支持统一物模型管理,多种设备,多种厂家,多种报文,统一管理。
- 统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议的设备。
- 灵活的规则引擎,设备告警,消息通知,数据转发,场景联动。
- 强大的ReactorQL引擎,使用SQL来处理实时数据.可拓展自定义函数。
- 地理位置:统一管理地理位置信息,支持区域搜索。
- 灵活的非侵入多租户数据权限控制
- 支持灵活的设备数据存储策略,可将不同类型的设备数据存储到不同的地方。
- 自研hsweb、easyorm、reactorQL、规则引擎、消息总线、注册中心等物联网平台核心组件。
- 基于自研组件与开放协议,可快速二次开发,适配各行业物联网业务。
- 支持InFluxDB、ClickHouse、Elasticsearch、Cassandra、TDengine五种时序数据库。
- 全响应式企业级物联网平台,面向数据流和变化传递,更优雅的多线程和异步编程方式。
- 支持可视化规则引擎编辑器,实现拖拉拽的方式处理数据输入、清洗、计算、输出、推送、存储。
- 支持鲲鹏等国产化服务器部署。
- 水平扩容架构,支持集群微服务部署。
02
JetLinks 产品功能和架构
Jetlinks 的定位为 Paas 服务的物联网平台,降低物联网企业研发、运营和运维成本,提高物联网项目的落地能力。
功能清单
- 设备接入
多元化设备接入方式,提供基于网络协议、云平台、边缘网关、视频通道等多种设备接入方式。
- 数据处理
提供基于ReactorQL、自定义脚本计算、规则引擎等强大的数据处理功能。
- 数据储存
平台支持Elasticsearch、ClickHouse、InfluxDB、TDengine、Cassandra等数据存储中间件,可自定义配置。
- 应用集成
平台提供所有功能API接口,第三方应用可轻松获取平台数据;同时支持Oauth2单点登录。
- 规则引擎
提供基于可视化规则编辑器,以拖拉拽的方式处理数据输入、清洗、计算、输出、存储等业务。
- 通知管理
平台支持钉钉、微信、邮箱、短信、webhook、语音6大类通知方式。
- 告警中心
支持设备和定时维度实时触发告警规则。支持告警推送、告警阈值、告警解除、告警限频等功能。
- 视频管理
平台基于GB/T28181/2016协议支持多路视频直播、回放、录制、云台控制、国标级联。
架构图
技术栈
技术栈
描述
Java8
编程语言
Hsweb Framework
业务基础框架
Spring Boot 2.7.x
响应式web支持
Vert.x,Netty
高性能网络框架
R2dbc
关系型数据库响应式驱动
Postgresql
关系型数据库,可更换为mysql、sqlserver
ElasticSearch
设备数据与日志存储,可更换为其他中间件
Redis
用户信息与权限缓存、设备注册中心缓存
Scalecube
基于JVM的分布式服务框架,支持响应式
Micrometer
监控指标框架
国产化支持
类型
国产套件
国产操作系统
麒麟V10操作系统
中天鲲鹏欧拉版本操作系统
国产服务器适配
华为泰山服务器
海光服务器
华为鲲鹏服务器
国产数据库
达梦数据V8
瀚高数据库V6.0.4
人大金仓 V8+
国产中间件
东方通 TongHTP 2.0
TDEngine 3.0.3.0
03
JetLinks 开发实战
设备接入流程
产品管理
产品管理对具有相同功能的设备模型进行统一的维护管理,包括产品的基本信息、物模型、设备接入等功能。
设备管理
设备管理可对设备实例进行全生命周期管理,包括设备基本信息、物模型、运行状态、设备功能、日志管理、设备诊断、数据解析、点位绑定等管理功能。
网关接入
设备接入网关聚合了设备接入Jetlinks物联网平台的所需的相关配置信息,支持自定义接入、视频类设备接入、云平台接入、通道类设备接入、官方接入等方式。
规则引擎
规则引擎前端编辑界面基于node-red,后端使用纯Java实现。灵活的规则模型配置,支持多种规则模型以及自定义规则模型。设备告警,场景联动均由统一的规则引擎管理。
日志管理
记录访问日志与系统日志记录,支撑查看和排查系统异常。
告警配置
统一管理系统内的告警规则配置,触发告警规则时可产生对应的告警记录数据。
可视化大屏
JetLinks View可视化平台提供丰富的业务组件和数据接入能力,包括图表40+、通用组件20+、素材图片900+、3D组件和自定义组件等;可接入**API、Websocket、ElasticSearch、Excel、MySQL、PostgreSQL、Oracle、SQLServer、MongoDB等 **10+ 种数据类型,并且支持大屏展现、组态控制、3D数字孪生和报表统计可视化编辑,满足了行业内大多数应用场景,简单拖拽和配置即可实现炫酷的页面效果。
商业授权
- 可基于JetLinks源代码二次开发(二次开发指结合甲方/最终客户方个性化需求,为实现项目交付所进行的定制化修改/功能性扩展等开发方式)
- 源代码授权公对公/一对一,仅允许被授权方以项目形式,进行二次开发做成解决方案并整体封装后交付,不得单独交付JetLinks源代码或发布成同类型物联网基础平台销售。
- 被授权方不得替换乙方提供Java源代码中含JetLinks的相关标识:Java类中package代码包名、Maven中的groupId。
04
JetLinks 安装部署 & 演示
系统环境
JDK 1.8.0_2xx
Redis 5.x
PostgreSQL 11 或者 mysql 5.7 +
ElasticSearch 6.8-7.x
- 克隆代码
$ git clone -b 2.0 https://gitee.com/jetlinks/jetlinks-community.git
- 运行
$ cd jetlinks-community
$ java -jar ./jetlinks-standalone/target/jetlinks-standalone.jar
在线体验 : https://demo.jetlinks.cn
如有需求请联系小编 : beacon0418****
往期推荐
☞ 高德地图: 红绿灯倒计时大揭秘
☞ 高速“车牌付”会取代 ETC 吗?
☞ 国内七大 IoT 物联网平台对比
☞ 我为什么放弃中移物联OneNET平台
☞ 这苦逼的IoT物联网我竟坚持了十年
☞ 打工人上班摸鱼, AI 监控老板行踪
版权归原作者 AIoT科技物语 所有, 如有侵权,请联系我们删除。