JetLinks 1.8 发布:企业级物联网基础平台Java源码

JetLinks 基于Java8,Spring Boot 2.x,WebFlux,Netty,Vert.x,Reactor等开发, 是一个开箱即用,可二次开发的企业级物联网基础平台。平台实现了物联网相关的众多基础功能, 能帮助你快速建立物联网相关业务系统。

#核心特性

完全开源(社区版免费),基于事件驱动,拓展性强.

支持统一物模型管理,多种设备,多种厂家,多种报文,统一管理。

统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议的设备。

灵活的规则引擎,设备告警,消息通知,数据转发,场景联动.

强大的ReactorQL引擎,使用SQL来处理实时数据.可拓展自定义函数.

地理位置:统一管理地理位置信息,支持区域搜索.

灵活的非侵入多租户数据权限控制.

在线演示地址: http://demo.jetlinks.cn (opens new window)用户名:test 密码: tes英文注册版+包更新3456.

#技术栈

  1. Spring Boot 2.3.x(opens new window)
  2. Spring WebFlux (opens new window)响应式Web支持
  3. R2DBC (opens new window)响应式关系型数据库驱动
  4. Project Reactor (opens new window)响应式编程框架
  5. Netty (opens new window),Vert.x (opens new window)高性能网络编程框架
  6. ElasticSearch (opens new window)全文检索,日志,时序数据存储
  7. Redis (opens new window)Redis,设备配置,状态管理,缓存.
  8. PostgreSQL (opens new window)业务功能数据管理
  9. hsweb framework 4 (opens new window)业务功能基础框架

#架构

JetLinks 1.7 发布 企业级物联网基础平台源码 -1

#设备接入流程

JetLinks 1.7 发布 企业级物联网基础平台源码 -2

1.8 版本更新记录

  1. 固件相关消息增加size属性
  2. 网络组件在集群下可以单独指定节点的配置了(Pro)
  3. 修复邮件通知无法发送base64图片问题
  4. 优化设备详情配置查看,通过device.setConfig设置的配置也可以在设备详情中查看到.
  5. 增加OneNet和CTWing接入,可将设备同步到对应到平台中.以及从对应平台订阅数据(Pro可选模块)
  6. 设备实例接口增加批量发送设备指令/device/instance/messages,可在消息体中指定deviceId或者通过where条件指定要发送到的设备.(Pro)
  7. 优化设备最新消息存储,同一个产品的数据使用串行更新,防止死锁,并且丢弃来不及更新的数据.(Pro)
  8. 修复es索引中存在多个mapping时无法解析的问题
  9. 修复分组聚合查询属性时,如果返回过多分组时可能导致无法返回结果的问题.
  10. 支持将objectarray类型的属性使用json字符串来进行存储,减少es的压力.
  11. 修复无法转发设备消息到rabbitMQkafka.
  12. 增加默认物模型,在协议包里可配置默认物模型,创建产品时,自动添加到物模型配置中.
  13. 发送功能调用指令时,增加参数校验和参数类型转换.(可通过headers.force跳过校验)
  14. 优化设备分类数据初始化,默认使用-进行id分隔(使用|可能导致400错误.)
  15. 通过jvm参数-Djetlinks.eventbus.payload.pool.enabled=true开启事件总线对象池,提升性能.

1.7 版本更新记录

  1. 优化设备配置定义,可以指定配置作用域(单独设置产品的配置或者设备的配置),见DefaultConfigMetadata.add方法.
  2. 设备标签查询(id$dev-tag)支持表达式: tag1=value1 and tag2=value2(没有sql注入,放心使用).
  3. 增加支持数据库维护产品分类.
  4. 优化拉取固件升级逻辑,使用headers.force标记是否强制拉取固件,使用headers.latest标记是否拉取最新的固件信息. (Pro)
  5. 优化设备消息转发逻辑,在headers中增加members,标记此设备所属的用户id.(需要重新激活设备) (Pro)
  6. 优化告警推送逻辑,解决租户添加了告警通知时,无法订阅新添加的设备告警问题.(Pro)
  7. 增加Headers.mergeLatest消息头,设备属性相关消息设置此头,将合并旧的属性数据到消息中.(此操作会降低系统吞吐量)(Pro)
  8. 修复集群下,修改物模型后其他节点不会生效问题。
  9. 优化设备指令下发,指令消息ID和设备id进行绑定防止重复。
  10. 事件总线集群通信增加RSocket支持以提升性能,通过配置jetlinks.event-bus.roskcet.enabled开启.(Pro)
  11. ReactorQL增加_window_until_window_until_change函数.(Pro)
  12. 优化事件总线性能,在使用TopicPayload后需要手动调用release()释放资源.
  13. 优化设备数据行式存储策略:取消存储propertyName,formatValue字段,influxdb下只存储numberValue,timeValue,value.
  14. 优化物模型拓展信息配置,可在协议包中support.setExpandsConfigMetadata来指定配置(需要升级jetlinks-core 1.1.4)
  15. 增加内存使用检查,当内存使用剩余低于15%时,丢弃请求防止内存溢出导致系统崩溃.可通过启动参数-Dmemory.waterline=0.15进行配置.(Pro)
  16. 优化elasticsearchinfluxdb写入策略,丢弃无法写入的Buffer防止内存溢出.(Pro)
  17. 优化设备网关消息处理逻辑、优化子设备上线处理逻辑、优化自注册逻辑、离线消息无论设备是否已经离线,事件总线都将会收到消息.
  18. 优化influxdb查询条件的类型转换,修复如果使用数字作为设备id,无法查询到数据.(Pro)
  19. 设备数据转发到机构topic中/org/device/**,可通过headers.orgId获取当前设备机构ID。(需要再次激活设备).
  20. 可通过DeviceMessage.addHeader("ignoreLog",true)指定不记录此消息日志.

下载地址:

原文链接:https://vuesite.cn/12623.html,转载请注明出处。
0
显示验证码
没有账号?注册  忘记密码?