網(wǎng)站開發(fā)測試過程中文域名查詢官網(wǎng)
在互聯(lián)網(wǎng)產(chǎn)品中,經(jīng)常提到的終端、網(wǎng)關(guān)、協(xié)議、PaaS、SaaS之間,到底有什么關(guān)系呢?
一、基本概念
在百度/其他地方搜集的信息中,對于終端、網(wǎng)關(guān)、協(xié)議、PaaS、SaaS的解釋各有不同,整理如下:
- 終端:物聯(lián)網(wǎng)產(chǎn)品中的終端是指與物聯(lián)網(wǎng)云端通信的設(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)之間進行數(shù)據(jù)交換和轉(zhuǎn)換。網(wǎng)關(guān)可以將不同的協(xié)議、數(shù)據(jù)格式和通信方式進行轉(zhuǎn)換,以便終端設(shè)備可以與云端進行通信。
- 協(xié)議:協(xié)議是在物聯(lián)網(wǎng)產(chǎn)品中實現(xiàn)數(shù)據(jù)傳輸和交換的重要技術(shù)。不同的設(shè)備和系統(tǒng)之間使用的協(xié)議可能不同,因此需要通過協(xié)議轉(zhuǎn)換來實現(xiàn)數(shù)據(jù)的互通。常見的協(xié)議包括WiFi、藍牙、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騎電動車出去上學。有一天小A在路上發(fā)生了車禍,發(fā)生車禍的時候,小A和他的車被碰倒了,于是「設(shè)備」發(fā)送“告警信息”給小A的媽媽的手機,說小A在路上出車禍了,你快去救他!
以上信息中,上報給誰?這時候上報的位置是「網(wǎng)關(guān)」,但是設(shè)備不會像我們?nèi)祟愐粯佑谜Z言說:“喂,你的兒子/女兒在什么什么時間,在哪里哪里好像被車撞到了,然后摔倒了,觸發(fā)了我這個告警哦”,他們會和「網(wǎng)關(guān)」之間協(xié)商好用某一種語言來代表這種信息,這一種語言,就是「協(xié)議」。那么「網(wǎng)關(guān)」在其中扮演什么角色?網(wǎng)關(guān),就是這個“翻譯官”,他把設(shè)備上報給他的內(nèi)容,翻譯成另一種語言,來和「PaaS」進行溝通交流。
網(wǎng)關(guān)把信息傳給「PaaS」之后,「PaaS」經(jīng)過計算后監(jiān)測到,這個信息很重要啊,我要趕緊推送給他媽,讓他的媽媽知道小A出車禍了,快去救他,于是「PaaS」趕緊把這條信息,推送給了小A媽媽的手機上的設(shè)備綁定的軟件,也就是「SaaS」所以大家對設(shè)備、協(xié)議、網(wǎng)關(guān)、PaaS、SaaS有了基本了解了吧。
二、不同「角色」之間使用不同「語言」的原因
我們都知道終端到網(wǎng)關(guān)之間有對應(yīng)的協(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ā)人員可以使用不同的語言框架來編寫應(yīng)用程序,且此類語言框架的安全性易開發(fā)性等已經(jīng)被測試驗證。
- 另外有時還有設(shè)備本身的原因,設(shè)備的成本較低時,內(nèi)存也較小,只能通過01序列或簡單的機械處理信息,無法做到像PaaS云服務(wù)器一樣存儲龐大的底層語言,當然并非針對全部設(shè)備而言。
三、如何解決現(xiàn)實中遇到的問題?
背景:在曾經(jīng)的車聯(lián)網(wǎng)產(chǎn)品設(shè)計生涯中,出現(xiàn)過一個問題,說有一個較大的客戶購買了n臺定位器設(shè)備,但是這些設(shè)備里其中有80%的設(shè)備已經(jīng)成功導入到saas平臺,并且已經(jīng)開機了,但是平臺顯示并沒有激活,功能卻可以正常使用,開發(fā)同事查看代碼后,發(fā)現(xiàn)設(shè)備已經(jīng)正常激活上線。
分析:那么我們從產(chǎn)品的角度分析下,設(shè)備正常的工作流程,設(shè)備上報信息(登錄包、心跳包)給到網(wǎng)關(guān),網(wǎng)關(guān)解析后,到達PaaS,PaaS存儲相關(guān)登錄日志/時間等信息后,同步至SaaS,SaaS正常接受登錄包,后端將狀態(tài)調(diào)整為激活,看起來是沒有什么問題的,按理來說設(shè)備是可以正常激活上線。
以上假想是建立在,設(shè)備已經(jīng)導入平臺后,再進行開機上線的,上線后可以正常通過協(xié)議上報心跳包、登錄包等,若設(shè)備先開機上線,再導入到平臺,此時,設(shè)備的心跳包、登錄包已經(jīng)在導入前上報過相關(guān)信息,則無法及時通過上報自己的登錄包等包體,網(wǎng)關(guān)無法進行解析,則自然而然,狀態(tài)未激活。