本文描述的表結構是根據thingsboard2.4(postgresql版)數據庫中整理出來的,不一定完整,後續有新的發現再補充文檔。
一、數據庫E-R關係
Thingsboard2.4社區版共22個表,主要包括實體信息表、關係信息表、字典表和系統配置表。
二、數據庫表結構
1、admin_settings 系統設置表
存儲系統設置信息,目前的設置信息包括系統的訪問URL地址,以及郵件發送相關配置信息。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
json_value |
varchar |
屬性值 |
json字符串 |
|
3 |
key |
varchar(255) |
屬性鍵key |
||
CONSTRAINT "admin_settings_pkey" PRIMARY KEY ("id") |
Key爲配置項,如general、mail,json_value是一個json字符串,是配置項對應的一個或多個鍵值對信息組成一個json字符串。
2、alarm 警告信息表
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
ack_ts |
bigint |
創建時間 |
||
3 |
clear_ts |
bigint |
清除時間 |
||
4 |
additional_info |
varchar |
詳細描述 |
||
5 |
end_ts |
bigint |
結束時間 |
||
6 |
originator_id |
varchar(31) |
起因實體ID |
||
7 |
originator_type |
integer |
起因實體類型 |
||
8 |
propagate |
boolean |
起因實體類型 |
||
9 |
severity |
varchar(255) |
嚴重程度 |
CRITICAL:危險,MAJOR:重要,MINOR:次要,WARNING:警告,INDETERMINATE:不確定 |
|
10 |
start_ts |
bigint |
開始時間 |
||
11 |
status |
varchar(255) |
狀態 |
ACTIVE_UNACK:激活未應答,ACTIVE_ACK:激活已應答,CLEARED_UNACK:清除未應答,CLEARED_ACT:清除已應答 |
|
12 |
tenant_id |
varchar(31) |
租戶ID |
||
13 |
數據類型 |
varchar(255) |
警報類型 |
||
CONSTRAINT "alarm_pkey" PRIMARY KEY ("id") |
|||||
CREATE INDEX "idx_alarm_originator_alarm_type" ON "public"."alarm" USING btree ("tenant_id", "type", "originator_type", "originator_id"); |
3、asset資產信息表
可能與其他設備和資產相關的抽象物聯網實體。例如工廠,油田,車輛。
4、attribute_kv屬性信息表
存儲實體信息的屬性信息,屬性信息可以是靜態和動態的,屬性信息以鍵值對方式存儲。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
entity_type |
varchar(255) |
NOT NULL |
實體類型 |
TENANT:租戶;CUSTOMER:客戶;ASSET:資產;DEVICE:設備;ENTITY_VIEW:實體視圖 |
2 |
entity_id |
varchar(31) |
NOT NULL |
實體ID |
屬性所屬實體的ID。 |
3 |
attribute_type |
varchar(255) |
NOT NULL |
屬性範圍 |
SERVER_SCOPE:服務器端屬性, |
4 |
attribute_key |
varchar(255) |
NOT NULL |
屬性KEY |
|
5 |
bool_v |
boolean |
存儲屬性的布爾值 |
||
6 |
str_v |
varchar(10000000) |
存儲屬性的字符串值 |
||
7 |
long_v |
bigint |
存儲屬性的數字值 |
||
8 |
dbl_v |
precision |
存儲屬性的小數值 |
||
9 |
last_update_ts |
bigint |
最後更新時間 |
||
CONSTRAINT "attribute_kv_pkey" PRIMARY KEY ("entity_type", "entity_id", "attribute_type", "attribute_key") |
5、audit_log審計日誌
存儲客戶、用戶、資產、設備、實體視圖、儀表盤和規則鏈等實體信息的操作日誌。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
tenant_id |
varchar(31) |
租戶ID |
||
3 |
customer_id |
varchar(31) |
客戶ID |
||
4 |
entity_id |
varchar(31) |
實體ID |
||
5 |
entity_type |
varchar(255) |
實體類型 |
CUSTOMER:客戶; USER:用戶; DASHBOARD:儀表盤; ASSET:資產; DEVICE:設備; RULE_CHAIN:規則鏈; ENTITY_VIEW:實體視圖 |
|
6 |
entity_name |
varchar(255) |
實體名稱 |
||
7 |
user_id |
varchar(31) |
用戶ID |
||
8 |
user_name |
varchar(255) |
用戶名稱 |
||
9 |
action_type |
varchar(255) |
操作類型 |
||
10 |
action_data |
varchar(1000000) |
操作數據 |
json字符串 |
|
11 |
action_status |
varchar(255) |
操作狀態 |
SUCCESS:成功;FAILURE:失敗 |
|
12 |
action_failure_details |
varchar(1000000) |
操作失敗詳情 |
||
CONSTRAINT "audit_log_pkey" PRIMARY KEY ("id") |
action_data字段按照json字符串的格式存儲操作對象的信息。例如action_type字段是ADDED\UPDATED時,action_data字段的值是對象的鍵值對信息。
6、component_descriptor數據處理規則組件表
這是一個字典表,存儲規則鏈庫中具體各個數據處理規則組件信息。每個規則組件都有一個對應的java類,存儲在clazz字段中。configuration_descriptor以json格式存儲規則組件的說明、接口、js文件等相關配置信息。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
actions |
varchar(255) |
活動 |
示例數據中該字段值爲空。 |
|
3 |
clazz |
varchar |
對應的java類 |
org.thingsboard.rule.engine.*對應的java類名稱 |
|
4 |
configuration_descriptor |
varchar |
配置信息 |
json字符串 |
|
5 |
name |
varchar(255) |
部件名稱 |
||
6 |
scope |
varchar(255) |
範圍 |
示例數據中存儲的是“TENANT”。 |
|
7 |
search_text |
varchar(255) |
查詢文本 |
和name一致。 |
|
8 |
type |
varchar(255) |
規則分類 |
TRANSFORMATION:數據變換組件 |
|
CONSTRAINT "component_descriptor_pkey" PRIMARY KEY ("id"), |
|||||
CONSTRAINT "component_descriptor_clazz_key" UNIQUE ("clazz") |
7、customer客戶信息表
存儲客戶信息。客戶也是一個獨立的業務實體:購買或使用租戶設備和/或資產的個人或組織;客戶可能擁有多個用戶和數百萬設備和/或資產。客戶信息是通過租戶(tenant_id)進行隔離的,不同租戶有不同的客戶。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
additional_info |
varchar |
詳細描述 |
json字符串 |
|
3 |
address |
varchar |
地址 |
||
4 |
address2 |
varchar |
地址2 |
||
5 |
city |
varchar(255) |
城市 |
||
6 |
country |
varchar(255) |
國家 |
||
7 |
|
varchar(255) |
電子郵箱 |
||
8 |
phone |
varchar(255) |
手機號碼 |
||
9 |
search_text |
varchar(255) |
查詢文本 |
||
10 |
state |
varchar(255) |
州(省) |
||
11 |
tenant_id |
varchar(31) |
租戶ID |
||
12 |
title |
varchar(255) |
標題 |
||
13 |
zip |
varchar(255) |
郵政編碼 |
||
CONSTRAINT "customer_pkey" PRIMARY KEY ("id") |
8、dashboard儀表盤信息表
存儲用於展示設備屬性和遙測數據的儀表板信息。可視化您的物聯網數據以及通過用戶界面控制特定設備的能力。
序號 |
字段名 |
數據類型 |
是否爲空 |
註釋 |
說明 |
1 |
id |
varchar(31) |
NOT NULL |
唯一ID |
|
2 |
configuration |
varchar(10000000) |
配置信息 |
json字符串,儀表板畫布及其中各展示組件的配置信息。 |
|
3 |
assigned_customers |
varchar(1000000) |
分配給哪些客戶 |
json字符串,存儲儀表盤分配給哪些客戶。 |
|
4 |
search_text |
varchar(255) |
查詢文本 |
和標題一致,字母轉換成小寫。 |
|
5 |
tenant_id |
varchar(31) |
租戶ID |
||
6 |
title |
varchar(255) |
標題 |
||
CONSTRAINT "dashboard_pkey" PRIMARY KEY ("id") |
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儀表板顯示組件分類表
存儲儀表板顯示組件的分類信息。