当前位置: 首页 > news >正文

Thingsboard(2.4 postgresql版)数据库表结构说明

本文描述的表结构是根据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)包括如下几种类型(不同节点关系会有所不同):

  1. Post attributes
  2. Post telemetry
  3. RPC Request from
  4. Device
  5. RPC Request to Device
  6. Activity Event
  7. Inactivity Event
  8. Connect Event
  9. Disconnect Event
  10. Entity Created
  11. Entity Updated
  12. Entiry Deleted
  13. Entity Assigned
  14. Entity Unassigned
  15. Attributes Updated
  16. Attributes Deleted
  17. Alarm Acknowledged
  18. Alarm Cleared
  19. Other
  20. Failure
  21. True
  22. 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仪表板显示组件分类表

存储仪表板显示组件的分类信息。

相关文章:

Thingsboard(2.4 postgresql版)数据库表结构说明

本文描述的表结构是根据thingsboard2.4(postgresql版)数据库中整理出来的,不一定完整,后续有新的发现再补充文档。 一、数据库E-R关系 Thingsboard2.4社区版共22个表,主要包括实体信息表、关系信息表、字典表和系统配…...

IDS反病毒与APT的具体介绍

文章目录一,IDS1. 什么是IDS?2. IDS和防火墙有什么不同?3. IDS工作原理?4. IDS的主要检测方法有哪些详细说明?5. IDS的部署方式有哪些?6. IDS的签名是什么意思?签名过滤器有什么作用&#xff1f…...

while do..while验证用户名和密码-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第2章-课后作业)

【案例2-8】while do..while验证用户名和密码 一、案例描述 考核知识点 while、do…while循环语句 练习目标 掌握while语句。do…while循环语句。 需求分析 在网站上登录时会用到表单,让用户属于用户名和密码,输入正确才可以进入,本案例将…...

tmux常用操作指令

创建会话tmux new -s 会话名 恢复会话tmux at -t 会话名 tmux attach -t 会话名 杀死会话tmux kill-session -t 编号 tmux kill-session -t 会话名 查询会话tmux ls tmux list-session 划分窗格划分上下两个窗格: tmux split-window 划分左右两个窗格:…...

【Linux】线程安全

线程安全:在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的,这个线程就是安全的。 保证线程安全的要求: 1. 对线程同步,保证同一时刻只有一个线程访问临界资源。 2.在多线程中使用…...

Redis-mysql 缓存实战

本文基于Springboot,mybatis plus,mysql,redis, Jedis模拟redis缓存实现 目录 1. 添加所需maven依赖 2. 设置数据库及数据表 3. 构建实体类 4. 构建工具类实现 redis 数据库连接池,redis 的读取,写入功…...

蓝桥杯:通电

蓝桥杯: 通电https://www.lanqiao.cn/problems/162/learning/ 目录 题目描述 输入描述 输出描述 输入输出样例 输入 输出 题目分析(最小生成树): AC代码(Java) 题目描述 2015 年,全中国实现了户户通电。作为一名电力建设者&#xff0…...

一文搞懂 Kubernetes 的 Limits 和 Requests

当在Kubernetes中使用容器时,重要的是要知道所涉及的资源是什么以及如何需要它们。有些进程比其他进程需要更多的CPU或内存。有些是关键的,不应该被饿死。知道了这一点,我们应该正确配置我们的容器和Pod,以获得两者的最佳效果。在…...

【C++】手撕红黑树

文章目录前言一、红黑树的概念二、红黑树的节点结构三、红黑树的插入四、红黑树的调整1、叔叔存在且为红2、叔叔不存在或存在且为黑3、插入完整代码4、总结五、红黑树的验证六、红黑树的删除七、红黑树与 AVL 树的比较八、红黑树的代码实现前言 在网络上流传着这样一张图片&am…...

Java中的CAS实现原理

文章目录一、什么是CAS?二、JAVA中如何实现CAS操作三、CAS在JUC中的运用四、ABA问题一、什么是CAS? 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行…...

什么是华为云对象存储OBS?它有什么优势?

华为对象存储OBS(Object Storage Service)是一种高可用、高可靠、高性能的云存储服务,能够为企业和个人用户提供强大的数据存储和管理功能。本文将对华为对象存储OBS的特点、优势和未来发展进行详细介绍。 一、华为对象存储OBS的特点 1.对象…...

你知道照片怎么变清晰吗?增强照片清晰度的方法

相信很多小伙伴都会有这种的经历,去游玩时高高兴兴的拍照留念,结果拍出来的照片不是很尽人意。或者是画面还没聚焦好,就按下快门,导致拍摄出来的照片变模糊了。很多小伙伴遇到这种情况都很烦恼,照片丢了可惜&#xff0…...

NOIP模拟赛 轰炸(bomb)

题目描述 有nnn座城市,城市之间建立了mmm条有向的地下通道。 你需要发起若干轮轰炸,每轮可以轰炸任意多的城市。但在每次轰炸城市中,不能同时存在两个城市i,ji,ji,j满足可以通过地下通道从城市iii到达城市jjj。你需要求出最少需要多少轮可以…...

Linux系统之安装PHP环境

Linux系统之安装PHP环境 一、PHP介绍1.PHP简介2.PHP优势3.php7版本特点二、本地环境介绍1.环境规划2.检查操作系统版本3.检查当前yum仓库三、安装PHP5.4版本1.查看可安装php版本2.使用yum安装php3.安装httpd服务4.关闭selinux和设置防火墙5.编辑index.php测试文件6.测试php环境…...

MySQL8的安装教程

MySQL8的安装教程 1.安装包的下载 如果不想去官网下载的话可以去百度网盘进行下载。 MySQL :: Download MySQL Community Server mysql-8.0.28-winx64.zip_免费高速下载|百度网盘-分享无限制 (baidu.com) 提取码:0001 2.解压 3.创建一个my.ini的文件 最好是创建…...

日入500+的程序员都在用的“接私活”平台

网上总说程序员的薪资很高,这我可就不同意了: 程序员的薪资哪里是很高,而是非常高!而会接私活的程序员更是能拿到更高的收入!作为一个程序员,这些接私活的网站一定要收藏起来,让你在“八小时外…...

MySQL表设计思路(一对多、多对多...)

要开始单独负责需求了,捋一捋表设计的思路。 文章目录一、MySQL中的数据类型二、一对一的关系设计二、一对多的关系设计三、多对多的关系设计四、经验总结一、MySQL中的数据类型 字符串类型 varchar:即variable char ,可边长度的字符串&#…...

内存对齐:C/C++编程中的重要性和技巧

C/C中的内存对齐前言基本概念 什么是内存对齐?内存对齐的定义内存对齐的作用数据类型的大小ARM 64 位架构和 x86_64 架构下的数据类型大小ARM 32 位架构下的数据类型大小内存对齐的边界填充字节的作用内存对齐的原理结构体中的内存对齐结构体的定义和使用结构体中成…...

C++ Primer第五版_第七章习题答案(41~50)

文章目录练习7.411、头文件2、源文件3、主函数练习7.42练习7.43练习7.44练习7.45练习7.46练习7.47练习7.48练习7.49练习7.50练习7.41 使用委托构造函数重新编写你的Sales_data 类,给每个构造函数体添加一条语句,令其一旦执行就打印一条信息。用各种可能的…...

python玄阶斗技--NumPy入门

目录 一.NumPy介绍 二.创建数组 1.一维数组创建 2.二维数组创建 3.zeros函数 4.ones函数 5.empty函数 6.arange函数 三.NumPy的数学操作 1.基本运算 2.矩阵运算 3.ndarray类的方法 四.数组堆叠 五.数组分隔 一.NumPy介绍 在这里对NumPy的介绍我不想扯太多&#xf…...

通用多模态检索——大模型微调

1、7B的模型,参数量就占到了16G,而且你要检索,要把所有的候选项candidate全部变成向量嵌入,然后计算相似度,3090的24G显存很容易爆,而且数据量一旦大了一点,达到几万,基本就很难跑通…...

OpenClaw调试技巧:Qwen3-32B任务失败排查手册

OpenClaw调试技巧:Qwen3-32B任务失败排查手册 1. 为什么需要这份手册? 上周我尝试用OpenClaw自动整理项目文档时,遇到了一个诡异现象:同样的任务在白天能顺利完成,深夜运行时却频繁报错。经过72小时的问题追踪&#…...

AI虚拟员工平台完整搭建教程:从源码获取到正式上线,全流程记录

温馨提示:文末有资源获取方式最近AI赛道又火了一个新方向,很多人都在讨论,但真正能用起来的没几个。技术门槛摆在那,普通用户想上手确实不容易。今天这篇教程,我把从源码部署到正式上线的完整过程整理出来,…...

嵌入式软件发中AI技术及工具的应用

嵌入式软件开发中的人工智能技术应用与辅助方法详述及未来展望 引言 人工智能正从“被嵌入到终端设备”的单向角色,逐步演变为“赋能开发过程本身”的双向驱动力。在嵌入式软件开发领域,AI不仅让设备更智能,更在深刻改变着开发者的工作方式—…...

便携激光云高仪:精确测量云底高度、云层厚度等关键参数

便携激光云高仪是一种用于测量云层高度、厚度及分布情况的气象观测设备,广泛应用于气象监测、航空安全、环境研究等领域。其便携式设计特别适合野外作业和临时观测需求。设备通过激光脉冲探测云底高度,并实时分析云层垂直结构,为气象预报、灾…...

RT-Thread Nano 3.0.3移植STM32F103后,第一个实战:用FinSH组件实现串口命令行调试

RT-Thread Nano 3.0.3移植STM32F103实战:FinSH组件实现串口命令行调试 当你成功将RT-Thread Nano移植到STM32F103开发板后,第一个令人兴奋的里程碑就是让系统真正"活"起来——而FinSH组件正是实现这一目标的完美起点。这个内置的命令行交互工具…...

3步打造开源工具效率引擎:QtScrcpy自定义配置全指南

3步打造开源工具效率引擎:QtScrcpy自定义配置全指南 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy …...

2026年江苏省职业院校技能大赛(学生组)信息安全管理与评估(技能操作阶段)竞赛样题

2026年江苏省职业院校技能大赛(学生组)信息安全管理与评估(技能操作阶段)竞赛样题 文章目录2026年江苏省职业院校技能大赛(学生组)信息安全管理与评估(技能操作阶段)竞赛样题任务1&a…...

Windows 10下5分钟搞定环回适配器安装,轻松连接eNSP模拟器

Windows 10环回适配器极简安装指南:无缝对接eNSP模拟器实战 网络技术学习者和工程师们经常需要在本地搭建实验环境,而环回适配器作为虚拟网络设备的关键组件,能够为eNSP等模拟器提供稳定的连接基础。本文将彻底解决Windows 10环境下环回适配…...

链式前向星:高效图存储的进阶指南

1. 为什么需要链式前向星? 当你第一次接触图论算法时,可能会被邻接矩阵和邻接表搞得晕头转向。我刚开始学图论的时候,就经常在这两种存储方式之间纠结。邻接矩阵写起来简单,一个二维数组就能搞定,但当节点数超过10000时…...