物聯(lián)網(wǎng)產(chǎn)品中,經(jīng)常提到的終端、網(wǎng)關(guān)、協(xié)議、PaaS、SaaS之間,到底有什么關(guān)系?
在互聯(lián)網(wǎng)產(chǎn)品中,經(jīng)常提到的終端、網(wǎng)關(guān)、協(xié)議、PaaS、SaaS之間,到底有什么關(guān)系呢?本文作者分享了互聯(lián)網(wǎng)中頻繁出現(xiàn)的一些詞匯,以及為初入物聯(lián)網(wǎng)行業(yè)的同學整理了一些坑,希望能給你帶來幫助。
本文主要分享物聯(lián)網(wǎng)頻繁出現(xiàn)的詞匯進行分享,例如「終端」、「網(wǎng)關(guān)」、「協(xié)議」等,以及為初入物聯(lián)網(wǎng)行業(yè)的同學整理出筆者過往經(jīng)歷踩過的坑,以及后期如何避雷/排查問題。
一、基本概念
在百度/其他地方搜集的信息中,對于終端、網(wǎng)關(guān)、協(xié)議、PaaS、SaaS的解釋各有不同,整理如下:
- 終端:物聯(lián)網(wǎng)產(chǎn)品中的終端是指與物聯(lián)網(wǎng)云端通信的設備,通常包括智能手機、平板電腦、智能穿戴設備等。終端用戶通過終端設備連接到云端,實現(xiàn)物聯(lián)網(wǎng)的數(shù)據(jù)采集、傳輸和處理。
- 網(wǎng)關(guān):網(wǎng)關(guān)是物聯(lián)網(wǎng)產(chǎn)品中的重要組成部分,主要用于在不同設備和系統(tǒng)之間進行數(shù)據(jù)交換和轉(zhuǎn)換。網(wǎng)關(guān)可以將不同的協(xié)議、數(shù)據(jù)格式和通信方式進行轉(zhuǎn)換,以便終端設備可以與云端進行通信。
- 協(xié)議:協(xié)議是在物聯(lián)網(wǎng)產(chǎn)品中實現(xiàn)數(shù)據(jù)傳輸和交換的重要技術(shù)。不同的設備和系統(tǒng)之間使用的協(xié)議可能不同,因此需要通過協(xié)議轉(zhuǎn)換來實現(xiàn)數(shù)據(jù)的互通。常見的協(xié)議包括WiFi、藍牙、ZigBee等。
- PaaS:PaaS是指基于云端平臺的開發(fā)服務,提供開發(fā)人員所需的開發(fā)環(huán)境和工具,幫助開發(fā)人員快速構(gòu)建和部署物聯(lián)網(wǎng)應用程序。PaaS平臺通常包括代碼編寫、測試、部署和監(jiān)控等功能。
- SaaS:SaaS是指基于云端平臺的服務,用戶無需安裝任何軟件或硬件,只需通過互聯(lián)網(wǎng)即可使用物聯(lián)網(wǎng)應用程序。SaaS服務通常包括應用程序的部署、管理和更新等功能。
用一張圖來解釋下相關(guān)定義信息:
舉一個小例子:
小A的媽媽買了一個定位器「設備」安裝到他電動車上,小A騎電動車出去上學。有一天小A在路上發(fā)生了車禍,發(fā)生車禍的時候,小A和他的車被碰倒了,于是「設備」發(fā)送“告警信息”給小A的媽媽的手機,說小A在路上出車禍了,你快去救他!
以上信息中,上報給誰?這時候上報的位置是「網(wǎng)關(guān)」,但是設備不會像我們?nèi)祟愐粯佑谜Z言說:“喂,你的兒子/女兒在什么什么時間,在哪里哪里好像被車撞到了,然后摔倒了,觸發(fā)了我這個告警哦”,他們會和「網(wǎng)關(guān)」之間協(xié)商好用某一種語言來代表這種信息,這一種語言,就是「協(xié)議」。那么「網(wǎng)關(guān)」在其中扮演什么角色?網(wǎng)關(guān),就是這個“翻譯官”,他把設備上報給他的內(nèi)容,翻譯成另一種語言,來和「PaaS」進行溝通交流。
網(wǎng)關(guān)把信息傳給「PaaS」之后,「PaaS」經(jīng)過計算后監(jiān)測到,這個信息很重要啊,我要趕緊推送給他媽,讓他的媽媽知道小A出車禍了,快去救他,于是「PaaS」趕緊把這條信息,推送給了小A媽媽的手機上的設備綁定的軟件,也就是「SaaS」所以大家對設備、協(xié)議、網(wǎng)關(guān)、PaaS、SaaS有了基本了解了吧。有一個小小的疑問,為什么終端到網(wǎng)關(guān),網(wǎng)關(guān)到PaaS不用同一套語言呢?
二、不同「角色」之間使用不同「語言」的原因
我們都知道終端到網(wǎng)關(guān)之間有對應的協(xié)議,網(wǎng)關(guān)解析信息后到PaaS又是另外一種語言,主要有以下幾個原因:
- 可擴展性:終端和網(wǎng)關(guān)之間需要直接互操作,但PaaS的用戶是開發(fā)人員,它提供的是工具和組件。因此,直接使用終端和網(wǎng)關(guān)之間的語言可能會導致有不同的技術(shù)棧和復雜性。如果使用不相同的語言,則可以提供更好的靈活性和可擴展性。
- 安全性:終端到網(wǎng)關(guān)和網(wǎng)關(guān)到PaaS之間的信息傳遞可能涉及到敏感信息,所以需要額外的數(shù)據(jù)驗證來確保信息安全,例如數(shù)據(jù)加密和身份驗證。而使用不同的語言可以提供更好的安全性和保護機制。
- 可維護性:使用不同的語言可以使下游系統(tǒng)更加具有維護性質(zhì),并且更加易于管理,這樣的話開發(fā)人員可以使用不同的語言框架來編寫應用程序,且此類語言框架的安全性易開發(fā)性等已經(jīng)被測試驗證。
- 另外有時還有設備本身的原因,設備的成本較低時,內(nèi)存也較小,只能通過01序列或簡單的機械處理信息,無法做到像PaaS云服務器一樣存儲龐大的底層語言,當然并非針對全部設備而言。
那么知道這些信息,對于初入物聯(lián)網(wǎng)行業(yè)的產(chǎn)品經(jīng)理而言,已經(jīng)可以解決很多問題,讓我們來看一個案例。
三、如何解決現(xiàn)實中遇到的問題?
背景:在曾經(jīng)的車聯(lián)網(wǎng)產(chǎn)品設計生涯中,出現(xiàn)過一個問題,有一天業(yè)務部門找到我,說有一個較大的客戶購買了n臺定位器設備,但是這些設備里其中有80%的設備已經(jīng)成功導入到saas平臺,并且已經(jīng)開機了,但是平臺顯示并沒有激活,功能卻可以正常使用,開發(fā)同事查看代碼后,發(fā)現(xiàn)設備已經(jīng)正常激活上線。
分析:那么我們從產(chǎn)品的角度分析下,設備正常的工作流程,設備上報信息(登錄包、心跳包)給到網(wǎng)關(guān),網(wǎng)關(guān)解析后,到達PaaS,PaaS存儲相關(guān)登錄日志/時間等信息后,同步至SaaS,SaaS正常接受登錄包,后端將狀態(tài)調(diào)整為激活,看起來是沒有什么問題的,按理來說設備是可以正常激活上線。
以上假想是建立在,設備已經(jīng)導入平臺后,再進行開機上線的,上線后可以正常通過協(xié)議上報心跳包、登錄包等,若設備先開機上線,再導入到平臺,此時,設備的心跳包、登錄包已經(jīng)在導入前上報過相關(guān)信息,則無法及時通過上報自己的登錄包等包體,網(wǎng)關(guān)無法進行解析,則自然而然,狀態(tài)未激活。
寫在最后
物聯(lián)網(wǎng)涉及的范圍較為廣泛,不同領域?qū)τ跀?shù)據(jù)處理、信息上報等方式均不同,若文章中與您有不同理解,也歡迎在評論中留下看法見解。
本文由 @布布的鏟屎官 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
我可不可以這么理解:
(1)設備只和物聯(lián)網(wǎng)網(wǎng)關(guān)聯(lián)系,然后由物聯(lián)網(wǎng)平臺(網(wǎng)關(guān)+PaaS)將信息發(fā)送給軟件平臺(SaaS),由軟件平臺控制客戶端應用。
(2)所以這個過程中需要兩套語言和兩套存儲,一套是“硬件語言”,一套是“軟件語言“。
(3)大部分情況下,物聯(lián)網(wǎng)平臺可以自己建設也可以用云廠商的。
(4)設備和物聯(lián)網(wǎng)網(wǎng)關(guān)的聯(lián)系,可以借助自身的網(wǎng)絡模塊,也可以借助附近手機的網(wǎng)絡(藍牙連手機),但是最終都是只能聯(lián)系到網(wǎng)關(guān)
不知道這樣理解對不對?
是這個樣子的
同學你好,看完后受益匪淺,整體比較形象生動,有兩個問題:
1.基本概念中的協(xié)議,是否指的是通訊方式,您所說的協(xié)議應該是數(shù)據(jù)傳輸協(xié)議?
2.設備在線狀態(tài)的監(jiān)控問題,是否應該定期通過協(xié)議去請求設備端的狀態(tài),這樣就不會出現(xiàn)你文章中業(yè)務部門描述的那個問題?
Hello,是這樣的,基本概念中的協(xié)議即為數(shù)據(jù)傳輸協(xié)議,其實無需定時定期去對設備進行自啟,原因如下:
1、設備使用的場景并不相同,對于軌跡、車輛實時數(shù)據(jù)的監(jiān)控比較嚴格的設備,例如押送罪犯的車輛的設備、運鈔車的設備等,定期重啟設備期間會有幾秒/十幾秒的時間設備無法正常上報數(shù)據(jù),會有發(fā)生事故的可能性。
2、發(fā)生以上行為問題的原因其實是激活判斷的條件有誤,若要是否是激活狀態(tài)是按照設備是否上報「登錄包」作為判斷條件,然則設備是否激活是一個狀態(tài),在設備上報登錄包后,他的狀態(tài)已經(jīng)由「未激活」變?yōu)椤讣せ睢?,所以其實應該按照「心跳包」作為是否激活的判斷標準,若以此為判斷標準,設備會每隔幾秒上報心跳包,上報心跳包后,paas網(wǎng)關(guān)解析,存儲,后續(xù)SaaS去查的時候,狀態(tài)進行切換,變?yōu)椤敢鸭せ睢?/p>