日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零开始搭建物联网平台(三)数模设计

發布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始搭建物联网平台(三)数模设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?首先,我們先從數模設計開始,這是一個系統的核心和精髓,決定了系統的架構和擴展控件。ETCloud的數模共有22張表,三個模塊。

一、用戶模塊

用戶模塊主要由企業表、用戶表、角色表、權限表構成。

1. 數據權限

用戶共分為三大類(model_user.usertype)

1.Root用戶?? ?系統管理員 可以查看所有設備、所有產品、所有用戶,擁有一切功能
2.Admin企業管理員?? ?查看自己的產品和同一企業的產品
3.Normal普通用戶? ? 只查看自己的設備,以設備為維度,反查出產品

2.菜單按鈕權限
用戶的頁面權限表是父子層級的表。一級為菜單權限,二級為按鈕權限。

通過給角色賦予權限,再給用戶賦予角色的方式實現不同用戶展現不同的頁面菜單和按鈕

3. 用戶來源

由ROOT(系統管理員)創建企業(附帶創建默認管理員)

企業管理員可以創建自己的同一企業的管理員和普通用戶

具有普通用戶自動注冊賬號功能

具有自動注冊企業的站好的功能

具有微信用戶反向創建平臺賬號的功能

企業表model_eid

idvarchar(36)varchar36NO?id@id
namevarchar(100)varchar100YES?企業名稱
describesvarchar(100)varchar100YES?描述@描述
statustinyint(1)tinyint?YES?狀態@是否禁用0禁用1開啟
emailvarchar(255)varchar255YES?企業郵箱
phonevarchar(255)varchar255YES?企業電話
addressvarchar(255)varchar255YES?企業地址
createtimetimestamptimestampYESCURRENT_TIMESTAMP創建時間@創建時間

用戶表mode_user

idvarchar(32)varchar32NO?ID@ID?
eidvarchar(32)varchar32YES?EID分組@EID分組
emailvarchar(100)varchar100YES?電子郵箱?
usernamevarchar(100)varchar100YES?用戶名?
passwordvarchar(100)varchar100YES?密碼@密碼
phonevarchar(100)varchar100YES?手機號?
rolevarchar(200)varchar200YES?角色@角色
statusint(1)int?YES?狀態,是否禁用@狀態,是否禁用
usertypeint(11)int?YES?用戶類型@用戶類型1ROOT2.admin,3.普通用戶
max_devint(255)int?YES?最大連接設備數
createtimetimestamptimestampYESCURRENT_TIMESTAMP創建時間@創建時間
openidvarchar(255)varchar255YES?微信openid

角色表model_role

idvarchar(100)varchar100NO?主鍵@這個字段是主鍵
rolenamevarchar(100)varchar100YES?角色名稱@角色名稱
remarkvarchar(100)varchar100YES?備注@備注
powersvarchar(100)varchar100YES?權限集合@權限集合
typeint(11)int?YES?類型@0root1普通root2admin3普通4其他

權限表model_power

idvarchar(11)varchar11NO?ID@ID
namevarchar(100)varchar100YES?名稱@名稱
describevarchar(200)varchar200YES?描述@描述
pidvarchar(11)varchar11YES?父Id

二、設備模塊

設備模塊主要由產品表、設備表、節點表構成

1.創建產品

產品的意義在于規范同一類設備。定義同一類產品的通信協議,其中產品密鑰是為了為了自動注冊時鑒別未知設備是否允許連接平臺

2.創建節點

當我們新建好一個產品后,就需要定義這個產品具備那些功能,這些功能的可讀、可寫決定著在這個產品下的設備是否可以操作下發。以及設備的數據展現形式

3.創建設備

設備的引入有兩種方式,一種是在平臺手動創建,一種是自動注冊。

每個設備都擁有自己的唯一序列號,作為clientid,用戶名輸入產品id,密碼是token和設備序列號的sm加密。這樣就可以一機一密。更好的確保保全性。

產品表model_product

idvarchar(32)varchar32NO??
eidvarchar(32)varchar32YES?租戶ID
namevarchar(255)varchar255YES?產品名稱
treatyvarchar(255)varchar255YES?產品協議
describesvarchar(255)varchar255YES?產品描述
typesvarchar(255)varchar255YES?產品類別
tokenvarchar(255)varchar255YES?產品密鑰
user_idvarchar(32)varchar32YES?用戶ID
createtimetimestamptimestampYES?創建時間

節點表model_node

varchar(32)idvarchar32NO??
varchar(255)product_idvarchar255YES?產品ID
varchar(255)namevarchar255YES?節點名稱
varchar(255)skeyvarchar255YES?節點標志
varchar(255)sunitvarchar255YES?節點單位
varchar(255)rwtypevarchar255YES?讀寫類型
varchar(255)typesvarchar255YES?節點類型(1數值型2開關型3字符串)
int(255)picint?YES?節點圖片
varchar(255)describesvarchar255YES?節點描述

設備表model_device

idvarchar(32)varchar32NO??
product_idvarchar(255)varchar255YES?產品ID
user_idvarchar(255)varchar255YES?用戶ID
eidvarchar(255)varchar255YES?租戶ID
namevarchar(255)varchar255YES?設備名稱
positionvarchar(255)varchar255YES?設備位置
snvarchar(255)varchar255YES?設備序列號
createtimetimestamptimestampYES?創建時間
updatetimetimestamptimestampYES?更新時間
describesvarchar(255)varchar255YES?設備描述
is_blacktinyint(4)tinyint?YES?是否在黑名單
is_order_dbtinyint(255)tinyint?YES?是否存儲指令下發日志
is_conn_dbtinyint(255)tinyint?YES?是否存儲設備連接日志
is_node_dbtinyint(255)tinyint?YES?是否存儲功能節點日志

三、告警模塊

告警模塊主要由三張表構成

1. 告警模板

告警模板主要定義了推送給用戶方式,告警的內容,可以填充告警的設備序列號,和異常數據值,異常節點

2.觸發器

定義觸發器的目的在于,過濾設備發送給平臺的數據。如果設備數據異常了就及時推送給用戶。便于對設備進行相應的處理。

3.觸發器節點

主要用戶給多個設備,或者一類產品下的所有設備添加觸發器。如果某個節點數據異常了就指定告警模板的處理方式

告警模板model_warn_info

idvarchar(255)varchar255NO??
namevarchar(255)varchar255YES?告警模板名字
levelint(255)int?YES?告警等級
contentvarchar(255)varchar255YES?告警內容
typesint(255)int?YES?推送方式
wayvarchar(255)varchar255YES?推送路徑
user_idvarchar(255)varchar255YES?創建人ID
createtimetimestamptimestampYES?創建時間

觸發器model_trigger

idvarchar(32)varchar32NO??
product_idvarchar(32)varchar32YES?產品ID
snidsvarchar(255)varchar255YES?設備序列號集合
namevarchar(255)varchar255YES?觸發器名字
contentvarchar(255)varchar255YES??
warn_idvarchar(255)varchar255YES?告警模板ID
user_idvarchar(255)varchar255YES?創建人
createtimetimestamptimestampYES?創建時間

觸發器節點model_trigger_node

idvarchar(32)varchar32NO??
trigger_idvarchar(32)varchar32YES?觸發器ID
node_idvarchar(32)varchar32YES?節點ID
node_namevarchar(255)varchar255YES?節點名稱
node_keyvarchar(255)varchar255YES?節點KEY
node_typevarchar(255)varchar255YES?節點類型
relationint(255)int?YES?觸發關系
svaluevarchar(255)varchar255YES?觸發值

四、日志模塊

日志模塊主要由系統運行日志、告警日志、設備連接日志、指令下發日志、功能節點日志構成

1.系統運行操作日志 modle_syslog

idvarchar(32)varchar32NO?ID@ID
modelvarchar(100)varchar100YES?模塊@模塊
levelint(11)int?YES?等級@等級
eidvarchar(32)varchar32YES?分組@分組
useridvarchar(32)varchar32YES?用戶ID@用戶ID
sourcevarchar(100)varchar100YES?來源@來源
contentvarchar(500)varchar500YES?內容@內容
createtimetimestamptimestampNOCURRENT_TIMESTAMP創建時間@創建時間

2.告警日志model_warn_log

idvarchar(255)varchar255NO??
snvarchar(255)varchar255YES?告警設備
contentvarchar(255)varchar255YES?告警內容
is_readint(11)int?YES?是否已讀
warn_idvarchar(255)varchar255YES?告警模板
createtimetimestamptimestampYES?創建時間
user_idvarchar(255)varchar255YES??

3.設備連接日志model_client_log

idvarchar(32)varchar32NO?主鍵
client_idvarchar(255)varchar255YES?客戶端id
connectedint(11)int?YES?狀態0下線,1上線
createtimedatetimedatetime?YES?上線時間
ip_addressvarchar(255)varchar255YES?客戶端ip地址
portvarchar(255)varchar255YES?客戶端端口
user_namevarchar(255)varchar255YES?用戶名
sub_scriptioncntint(11)int?YES??

4.指令下發日志model_order_log

idvarchar(255)varchar255NO??
contentvarchar(255)varchar255YES?指令內容
create_timetimestamptimestampNOCURRENT_TIMESTAMP創建時間
snvarchar(255)varchar255YES?設備序列號
topicvarchar(255)varchar255YES?訂單主題
user_idvarchar(255)varchar255YES?用戶id

?

5.功能節點日志model_node_log

idvarchar(32)varchar32NO??
contentvarchar(255)varchar255YES?節點內容
create_timetimestamptimestampNOCURRENT_TIMESTAMP創建時間
snvarchar(255)varchar255YES?節點序列號
topicvarchar(255)varchar255YES?節點主題

五、公共模塊

1.定時任務model_task

idvarchar(32)varchar32NO??
taskgroupvarchar(100)varchar100YES?任務組名@任務組名
tasknamevarchar(100)varchar100YES?任務名稱@任務名稱
cronvarchar(100)varchar100YES?時間表達式@時間表達式
typeint(11)int?YES?類型@1每天2一次
useridvarchar(32)varchar32YES?用戶ID@用戶ID
taskdatadatetimedatetime?YES?定時日期@定時日期
tasktimedatetimedatetime?YES?定時時間@定時時間
createtimetimestamptimestampNO0000-00-00 00:00:00創建時間@創建時間

2.數據推送model_push

idvarchar(36)varchar36NO?主鍵@這個字段是主鍵
servicehostvarchar(36)varchar36YES?服務HOST@服務HOST
serviceportint(11)int?YES?服務PORT@服務PORT
dburlvarchar(100)varchar100YES?點表推送URL@點表推送URL
dturlvarchar(100)varchar100YES?數據推送URL@數據推送URL
sjurlvarchar(100)varchar100YES?時間推送URL@時間推送URL
httptokenvarchar(36)varchar36YES?HTTP頭授權碼@HTTP頭授權碼
secondcycleint(11)int?YES?調度周期@調度周期
startstatusvarchar(36)varchar36YES?啟用狀態@啟用狀態
updatetimetimestamptimestampNOCURRENT_TIMESTAMP修改時間@修改時間
notevarchar(300)varchar300YES?備注@備注
roleidvarchar(36)varchar36YES?所屬組@所屬組

3.版本管理model_version

idvarchar(32)varchar32NO?id@id
versionsvarchar(100)varchar100YES?版本號@版本號
remarkvarchar(100)varchar100YES?備注@備注
contentvarchar(100)varchar100YES?內容@內容
createtimetimestamptimestampYES?創建時間@創建時間

4.字典表model_dictionary

idvarchar(255)varchar255NO??
dnamevarchar(255)varchar255YES?字典名稱
dvaluevarchar(255)varchar255YES?字典值
numint(11)int?YES?字典code
pidvarchar(255)varchar255YES?字典父ID
statusint(11)int?YES?字典狀態

總結

以上是生活随笔為你收集整理的从零开始搭建物联网平台(三)数模设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。