ThingsBoard3.9.1基本概念-实体/关系/属性

        最近在整理thingsboard课程,基于最新thingsboard版本3.9.1/4.0,欢迎大家收藏关注我提问在评论区留言,我争取把最新、最准、最好的课程,呈现在各位亦师亦友的csdn广大读者面前。

        本文thingsBoard基本概念描述了租户/客户/用户/设备资产/实体视图/告警/仪表板/规则节点/规则链/属性/时序数据/关系。

目录

1.基本概念

1.1 实体

1.2关系

1.3关系的用途和用法


1.基本概念

1.1 实体

租户

租户是一个独立的业务实体,理论上可以是个人或组织,租户可以拥有多个设备或资产,多个客户和用户,可以对这些资源进行维护管理。租户信息在tenant表。

客户

客户是属于租户下面的,一个租户可以有多个客户,客户可以有多个用户、多个设备或资产。客户信息在customer表。

用户

用户是客户下面的,可以继承拥有客户的设备或资产。用户信息在tb_user表。

设备

设备是最常用的一种实体,设备上报遥测数据(时间序列)给平台,也可以平台发送远程命令给设备,常见的设备类型很多,比如sensors(传感器)、actuators(执行器)、switches(开关)、其他设备实体(机床、泵站、车辆、仪表等)。设备信息在device表。

资产

资产是对各种实体集合在一起抽象出来的概念,比如工厂/车间/产线、园区/建筑/楼层、港口/码头/泊位、农场/作物区/大棚等。进一步来说,如上举例中,此时对应的设备分别可以是机床、烟感报警器、泊位水质传感器、温湿度传感器。资产信息保存在asset表。

资产与设备不同,资产不能直接上报遥测数据,但可以通过关联设备而得到遥测数据。

实体视图

类似数据库表和视图的概念,允许租户管理员控制设备或资产数据的可见性范围,实体视图信息保存在entity_view表。

实体视图技术实现的本质是数据访问控制:可以精确控制设备(或资产)的遥测数据和属性的可见范围。即:

设备的时序遥测数据的键值过滤、时间过滤,属性(客户端/服务端/共享)过滤。

资产的时序遥测数据的键值过滤、时间过滤,属性(客户端/服务端/共享)过滤。

实体视图的功能如下:

(1)多客户共享:支持将同一设备或资产的数据通过多个视图方式共享给多个用户。

     (设备或资产只能分配给某1个用户)

(2)细粒度权限:允许特定用户a查看部分数据(如传感器读数),允许用户b查看其他数据(比如环境数据)。

(3)时间范围限制:设置数据访问的时间窗口,用户只能看到指定时间段内的数据。不同时段数据展示给不同用户。

告警

本质上告警是用于表示设备或资产(以及其他实体)的超阈值事件描述。

告警信息在alarm表。

仪表板

仪表板主要两个应用场景:可视化展示从设备采集到的数据,从平台发送控制指令给设备。仪表板信息保存在dashboard表。

规则节点

处理传入消息、实体生命周期事件等的单元。

节点信息在rule_node表。

规则链

定义规则链中的处理流程,可能包含许多规则节和与其他规则链的链接。

规则链信息在rule_chain表。

*每一个实体都有以下三个概念:

属性 - 与实体关联的静态和半静态键值对kv。例如序列号、型号、固件版本。我们应该重点关注和学习设备的属性,键值对kv。

时间序列数据 - 可用于存储,查询和可视化的时间序列数据点。例如温度、湿度、压力、扭矩、机床主轴转速、进给倍率等。

关系 - 指向其他实体的连接。例如包含Contains、管理Manages。

详细解释一下:

关系定义了同一租户下的的两个实体之间的连接,关系是有方向的:向外的关联(从From)或向内的关联(到To),可以将关系理解为面向对象编程中的has-a关系。

关系信息保存在relation表。

有一些实体支持配置化/模板化:(官方英文叫做profile

租户配置文件 - 包含多个租户的常用设置:实体、API和速率限制等。每个租户都有一个配置模板。数据保存在tenant_profile表。

设备配置文件 - 包含多个设备的通用设置:处理和传输配置等。每个设备都有一个配置模板。数据保存在device_profile表。

资产配置文件 - 包含多个资产的通用设置:处理配置等。每个资产都有一个配置模板。数据保存在asset_profile表。

1.2关系

每一个关系,都有源实体(From)、目标实体(To),如上图所示。

实体包括:租户/客户/用户/设备/资产/实体视图/警报/仪表板/规则节点/规则链。

每个实体都支持:属性/时间序列数据/关系

在PostgresSQL数据库中relation表中存储了关系数据。

1.3关系的用途和用法

(1)资产所涵盖的设备有哪些? 在relation表中

在界面上看到Asset Test1资产包含了设备Test Device A1,如下:

在资产界面看:

在设备界面看:

在数据库表中看关系数据,如下:

(2)某个规则链的多个规则节点是怎么连接在一起的? 在relation表中

 开始 from_id, 下一个to_id

(3)关系的创建/管理/维护,怎么做?

  可以通过三种方式创建/管理关系:

          (3-1)web-ui操作:通过实体详情页的关联选项卡,人工方式增加。

          (3-2) API调用:使用 REST API。如下:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "X-Authorization: Bearer JWT_TOKEN" \
  -d '{
    "from": {"id": "d5213b30-2e5b-11eb-adc1-0242ac120002", "entityType": "DEVICE"},
    "to": {"id": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv", "entityType": "ASSET"},
    "type": "Contains"
  }' \
  "http://localhost:8080/api/relation"

                (3-3) 规则链:通过规则链节点relation,动态创建关系。如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值