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