物聯網平臺的建立(一),大體框架

準備

首先,在硬件芯片選擇上,需要準備一個能夠上網的芯片,比如可以遵從http協議的ESP系列芯片,5g聯網的nb-iot(ssh協議也行,但一般有ssh協議的芯片很少,而且能夠使用ssh的都具有http協議)
軟件端:精通最少一種後端編程語言,會使用mongo數據庫和mysql數據庫,編寫過中型項目
最少需要一個服務器,建議是國內的

數據分類

在這裏我們把數據分爲2類,1種是平常常見數據,只保存mongo數據庫,並存在過期時間,一類是有用數據(比如異常數據),該數據會由mongo後端轉發給mysql後端

物聯網平臺軟件框架

首先,物聯網平臺和正常的後臺系統有一點區別,首先,它不能夠直接使用mysql數據庫,以我曾經做過的物聯網平臺爲例子,我使用的硬件是一個豬舍環境檢測系統,這個硬件平均一天產生10萬數據,一個豬舍會配備5個左右這樣的硬件,然後差不多實驗階段我們對10個豬舍進行了實驗,一天的數據量是500萬,而mysql是有數據瓶頸的,200萬左右速度就有明顯的降低,大型數據庫oracle的的數據瓶頸則是2000萬,差不多超過這個數據量,我們就要考慮分庫分表或者添加服務器,所以說,物聯網平臺的數據一般不能夠直接使用傳統型數據庫來接受,通常情況下,我們會使用mongodb建立一個數據倉庫(這個數據倉庫和大數據上的數據倉庫相似但不完全一樣),這個數據倉庫往往儲蓄所有的數據,但是對於數據來說是需要做一個過期處理的
因此我們用於儲蓄數據的後臺服務必須是一個非常簡單,只能夠用於存儲數據和數據轉發的系統,它的邏輯必須儘量簡單,不然很容易被請求數目給拖垮掉,在這個數據倉庫中,我們只有一個很簡單的邏輯要做,就是在將數據存儲數據庫後,我們要簡單判斷下這個數據是有用數據還是平常數據,有用數據則轉發給另一個mysql數據庫的後端

mysql

mysql是和我們正常業務一樣了,就是對數據的處理,他有一個接口用來接受mongdb傳來的有用數據

和正常後臺系統的區別

在這裏,物聯網平臺其實是非常符合微服務的,本質上它就是一個微服務系統,它首先是必須存在一個數據倉庫的,這裏市場上比較常見的是使用mongo,也有redis,但是關係型數據庫被排除在外,因爲硬件的數據是無時無刻的.其次,物聯網平臺系統對前端的要求很少,它更類似於大數據系統,每個後端要麼邏輯非常複雜(mysql端),要麼幾乎不使用邏輯(mongodb端).
在做物聯網平臺的架構時,對於數據的處理非常重要,而且數據保存的服務必須單獨去做,單獨在服務器上部署,如果你想試試不這麼做,硬件的數據量會告訴你代價(物聯網的數據量有可能每一天都是雙十一)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章