談?wù)勥吘売?jì)算在物聯(lián)網(wǎng)
基于邊緣計(jì)算物聯(lián)網(wǎng)解決方案,從架構(gòu)上可以分為:傳感控制層、網(wǎng)絡(luò)層、敏捷控制器和應(yīng)用層。
傳感控制層:包含大量的傳感器、控制部件(比如開(kāi)關(guān)等)和測(cè)量部件(比如電表等),另外還有通信部件。這些通信部件可能是獨(dú)立的,也可能是和其它部件結(jié)合在一起的。
網(wǎng)絡(luò)層:主要實(shí)現(xiàn)融合和互聯(lián),它的功能除了網(wǎng)絡(luò)連接和管理之外,還包括邊緣計(jì)算,進(jìn)行現(xiàn)場(chǎng)處理,同時(shí)保障業(yè)務(wù)在本地的存活。本地存活和現(xiàn)場(chǎng)處理對(duì)物聯(lián)網(wǎng)尤其是工業(yè)和民用大型設(shè)施是非常重要的。此外,協(xié)議轉(zhuǎn)換也是這一層的重要功能。在 IoT 領(lǐng)域有特別多的協(xié)議,這些協(xié)議來(lái)自于各個(gè)行業(yè)歷史上的積累,所以需要在網(wǎng)關(guān)上做協(xié)議的轉(zhuǎn)換,將數(shù)據(jù)統(tǒng)一承載在 IP 網(wǎng)絡(luò)上向外傳輸。
敏捷控制器:將網(wǎng)關(guān)送上來(lái)的數(shù)據(jù)進(jìn)行統(tǒng)一的處理,向上送給應(yīng)用層。并對(duì)下層的網(wǎng)絡(luò)、傳感器、控制部件、測(cè)量部件、計(jì)算資源進(jìn)行管理,提供網(wǎng)絡(luò)部署、配置的自動(dòng)化工具。
業(yè)務(wù)應(yīng)用層:集成各種行業(yè)應(yīng)用。
如何實(shí)現(xiàn)邊緣計(jì)算?
基于物聯(lián)網(wǎng)的邊緣計(jì)算實(shí)現(xiàn),主流的主要為兩條路徑,一是微服務(wù)的升級(jí)模式,簡(jiǎn)單理解就是允許用戶在邊緣平臺(tái)運(yùn)行應(yīng)用程序,且提供開(kāi)放的編程環(huán)境,與近年來(lái)來(lái)軟件定義的路徑相似;二是邊緣向云的滲透,利用邊緣能力滲透進(jìn)云領(lǐng)域的核心產(chǎn)品及服務(wù),如數(shù)據(jù)庫(kù)、計(jì)算、存儲(chǔ)、安全的邊緣化。
用戶只需在云端完成業(yè)務(wù)邏輯代碼編寫(xiě),運(yùn)行方式配置,消息規(guī)則配置,下發(fā)至在網(wǎng)設(shè)備。在設(shè)備上,系統(tǒng)將自動(dòng)完成代碼和配置同步,云函數(shù)運(yùn)行,并在設(shè)備上提供消息收發(fā)、緩存、與云端進(jìn)行消息同步等能力。當(dāng)數(shù)據(jù)產(chǎn)生時(shí),底層的物聯(lián)網(wǎng)設(shè)備將數(shù)據(jù)上報(bào)至智能網(wǎng)關(guān)設(shè)備,觸發(fā)云函數(shù)的運(yùn)行,將數(shù)據(jù)進(jìn)行離線處理,通過(guò)本地的 IoT網(wǎng)關(guān),再將離線處理的數(shù)據(jù)下發(fā)至物聯(lián)網(wǎng)底層設(shè)備。整個(gè)數(shù)據(jù)最主要的計(jì)算處理部分運(yùn)行主要是在云函數(shù)中進(jìn)行。
例如和API網(wǎng)關(guān)的對(duì)接,也可以作為事件來(lái)源,在用戶的HTTP請(qǐng)求到達(dá)網(wǎng)關(guān)之后,API網(wǎng)關(guān)會(huì)把該請(qǐng)求作為事件轉(zhuǎn)發(fā)給云函數(shù),觸發(fā)云函數(shù)的運(yùn)行,云函數(shù)拿到請(qǐng)求之后進(jìn)行處理,生成響應(yīng)給到用戶。
上圖為云函數(shù)的計(jì)算過(guò)程,用戶先代碼和配置提交到云函數(shù)平臺(tái)進(jìn)行保存,真正事件產(chǎn)生后,針對(duì)每一個(gè)事件都會(huì)拉起一個(gè)函數(shù)實(shí)例,實(shí)現(xiàn)觸發(fā)式運(yùn)行。真正事件來(lái)臨時(shí),用戶函數(shù)才會(huì)運(yùn)行,用戶代碼運(yùn)行時(shí)才有云函數(shù)代碼的數(shù)據(jù)運(yùn)算和費(fèi)用計(jì)算。
因?yàn)楹瘮?shù)本身是托管型的,用戶本身無(wú)法感知到實(shí)例在哪里運(yùn)行。云函數(shù)平臺(tái)背后有個(gè)大的計(jì)算資源池,用戶實(shí)例觸發(fā)之后,從資源池中隨機(jī)選取可運(yùn)行的位置,把用戶的函數(shù)實(shí)例在對(duì)應(yīng)位置上運(yùn)營(yíng)起來(lái)。因此整個(gè)調(diào)度過(guò)程,或者事件來(lái)臨之后的函數(shù)擴(kuò)縮容過(guò)程,都是由平臺(tái)進(jìn)行的。云函數(shù)帶來(lái)的價(jià)值主要包括四點(diǎn):
簡(jiǎn)化架構(gòu):函數(shù)粒度的微服務(wù)架構(gòu),使得系統(tǒng)的各個(gè)功能天然解耦,能像搭積木一樣組合自有及外部服務(wù),實(shí)現(xiàn)所看即所得的后臺(tái)服務(wù);
簡(jiǎn)化開(kāi)發(fā):無(wú)需關(guān)注底層硬件配置、OS,服務(wù)啟停、網(wǎng)絡(luò)收發(fā),故障容災(zāi),服務(wù)擴(kuò)縮容等,只需寫(xiě)最核心的業(yè)務(wù)邏輯,實(shí)現(xiàn)真正的代碼即服務(wù);
簡(jiǎn)化運(yùn)維:無(wú)須關(guān)注服務(wù)部署,服務(wù)器運(yùn)維,安全管控,擴(kuò)縮容配置等,且應(yīng)用能無(wú)縫升級(jí),實(shí)現(xiàn)無(wú)痛切換到DevOps模式。
減少支出:無(wú)閑置成本,僅對(duì)函數(shù)資源大小,執(zhí)行時(shí)間,執(zhí)行次數(shù)按需計(jì)費(fèi),相對(duì)云主機(jī)平均5%~15% 的使用率,價(jià)格優(yōu)勢(shì)明顯,實(shí)現(xiàn)了最徹底的按需計(jì)費(fèi)。
物聯(lián)網(wǎng)主要是和設(shè)備打交道,云函數(shù)交由平臺(tái)托管的調(diào)度,可以把云函數(shù)調(diào)度到用戶設(shè)備上去。通過(guò)云函數(shù),用戶能夠在邊緣平臺(tái)運(yùn)行應(yīng)用程序,幫助實(shí)現(xiàn)設(shè)備上的邊緣計(jì)算。開(kāi)發(fā)者只需通過(guò)編寫(xiě)核心代碼并設(shè)置代碼運(yùn)行的條件,即可進(jìn)行實(shí)時(shí)文件處理和數(shù)據(jù)處理。