本文描述的表结构是根据thingsboard2.4(postgresql版)数据库中整理出来的,不一定完整,后续有新的发现再补充文档。
一、数据库E-R关系
Thingsboard2.4社区版共22个表,主要包括实体信息表、关系信息表、字典表和系统配置表。
二、数据库表结构
1、admin_settings 系统设置表
存储系统设置信息,目前的设置信息包括系统的访问URL地址,以及邮件发送相关配置信息。
Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。
2、alarm 警告信息表Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。
3、asset资产信息表
可能与其他设备和资产相关的抽象物联网实体。例如工厂,油田,车辆。
4、attribute_kv属性信息表
存储实体信息的属性信息,属性信息可以是静态和动态的,属性信息以键值对方式存储。
5、audit_log审计日志
存储客户、用户、资产、设备、实体视图、仪表盘和规则链等实体信息的操作日志。
action_data字段按照json字符串的格式存储操作对象的信息。例如action_type字段是ADDED\UPDATED时,action_data字段的值是对象的键值对信息。
6、component_descriptor数据处理规则组件表
这是一个字典表,存储规则链库中具体各个数据处理规则组件信息。每个规则组件都有一个对应的java类,存储在clazz字段中。configuration_descriptor以json格式存储规则组件的说明、接口、js文件等相关配置信息。
7、customer客户信息表
存储客户信息。客户也是一个独立的业务实体:购买或使用租户设备和/或资产的个人或组织;客户可能拥有多个用户和数百万设备和/或资产。客户信息是通过租户(tenant_id)进行隔离的,不同租户有不同的客户。
8、dashboard仪表盘信息表
存储用于展示设备属性和遥测数据的仪表板信息。可视化您的物联网数据以及通过用户界面控制特定设备的能力。
configuration字段以json字符串存储仪表板的配置信息,仪表板中各个显示组件的配置信息,配置项及其信息比较多。
9、device设备信息表
存储设备基本信息。这里的设备是可能产生遥测数据和处理RPC命令的基本物联网实体。例如传感器,致动器,开关。
10、device_credentials设备凭据表
存储设备的凭证信息,每一个设备都需要有相应的凭证。
设备凭证是物联网设备和物联网平台连通的重要依据,是物联网平台对外访问接口的安全访问控制信息。
11、entity_view实体视图表
实体视图类似于SQL数据库视图,它限制了基础表暴露给外部世界的程度,实体视图限制了设备或资产遥测和属性暴露给客户的程度。作为租户管理员,您可以为每个设备或资产创建多个实体视图,并将其分配给不同的客户。
12、event事件表
存储客户、资产、设备、实体视图、规则链和规则节点等实体对象处理事件的信息。
13、relation 实体关系记录表
存储设备、资产、实体视图、租户、客户、仪表板、规则链和规则节点间的连接关系,其中规则节点和规则节点之间的连接关系较为复杂。
relation_type字段的值主要包括如下内容:
(1)在规则链中描述规则节点之间的链接关系(relation_type)包括如下几种类型(不同节点关系会有所不同):
- Post attributes
- Post telemetry
- RPC Request from
- Device
- RPC Request to Device
- Activity Event
- Inactivity Event
- Connect Event
- Disconnect Event
- Entity Created
- Entity Updated
- Entiry Deleted
- Entity Assigned
- Entity Unassigned
- Attributes Updated
- Attributes Deleted
- Alarm Acknowledged
- Alarm Cleared
- Other
- Failure
- True
- False
(2)其它实体间的关系类型还有:Contains
14、rule_chain 规则链信息表
存储规则链定义信息。
15、rule_node 规则节点信息表
存储规则链中各个规则节点的信息。
16、tb_user 用户
存储系统用户信息,包括系统管理员、租户管理员和客户的用户。用户是系统的使用者,系统管理员是内置的,系统管理员创建租户及其管理员,租户创建客户及其用户。
additional_info是一个json字符串,包含下面的信息:
(1)用户描述信息;
(2)默认面板(仪表板需要先授权给该客户),系统会存储面板的ID;
(3)是否始终全屏。
17、tenant租户信息表
存储租户基本信息,所有的实体信息表中都有租户ID,都是按照租户隔离了数据。
18、ts_kv时间序列key-value数据集
存储设备的历史遥测数据。
19、ts_kv_latest最新的key-value数据
存储设备最新的遥测数据。
20、user_credentials用户凭据
存储用户的登录凭证信息。
21、widget_type仪表板显示组件信息表
存储仪表板显示组件的详细信息。通过alias字段和widgets_bundle表的alias字段关联,区别不同的分类。Descriptor中通过json字符串的方式,详细描述了显示组件的信息。
22、widgets_bundle仪表板显示组件分类表
存储仪表板显示组件的分类信息。
来源:CSDN
作者:ieflex
链接:https://blog.csdn.net/ieflex/article/details/104009420