近年來,物聯網越來越廣泛應用于人們的生活中,并逐漸從簡單的物與物連接向智能化方向轉型。物聯網要獲得更大的成功,必須要憑借一個開放的并能夠很好提供支持的平臺。云計算[1]憑借其強大的計算存儲能力,成為大數據分析處理的支撐平臺。通過將復雜的應用卸載到云中存儲和處理,再將處理結果從云端發送到移動用戶,解決了用戶終端設備存儲空間不足或處理速度不夠快等問題。但目前物聯網終端設備數量的爆發式增長,物聯網感知獲取的原始數據量非常龐大,且海量的數據之間存在繁雜的關系,對海量數據進行過濾、處理、分析等對云計算框架是一個巨大的挑戰[2]。
云計算是聚合度很高的計算服務,其使用方式雖然廉價、簡單且方便,但云服務器遠離移動設備,數據傳輸的距離大,導致延遲和通信開銷增大甚至不可容忍[3-4]。物聯網終端設備和用戶終端設備基本都是能量受限的,將數據傳到遠程云中心執行,會導致物聯網終端能耗過大而過早失效,或用戶終端設備待機時間大大減小。同時,使用云服務時需要大量數據的發送和接收,因而需要消耗大量的網絡帶寬,可能造成數據中心和終端之間的I/O(輸入輸出)瓶頸,由此引發傳輸速率大大下降,甚至服務中斷等問題,云服務的優勢可能也會被這些問題抵消掉[3-4]。
為了解決上述問題,本文將云計算網絡架構擴展到網絡邊緣,提出了霧計算的概念[4-6]。霧計算更加強調邊緣設備的作用,其核心思想是“智能前端化”,即在云層和終端設備層之間加上一層,叫做霧層。通過霧層提供的計算、存儲和網絡通信服務,使得數據的計算、分析和處理更加接近用戶,從而降低了物聯網業務通過云層處理的響應時延和存儲開銷,降低了對無線資源的消耗,降低了終端設備的能耗從而延長了其待機時間,甚至能夠在沒有因特網覆蓋的區域繼續提供計算服務[7-12]。
1 霧計算與云計算
云計算將應用的執行化繁為簡,但位于遠端的云對那些延遲敏感的業務不能很好地支持,對移動性、不同地理分布不能很好地支持,且遠端執行往往導致用戶終端能耗過大,進而降低了其待機時間。因而需要一個更接近“地面”用戶的計算平臺來作為對云計算的有效補充,稱之為霧計算平臺,區別于那些位于遠端“天邊”的集中式云計算平臺。霧計算將計算范式從網絡中心擴展至網絡邊緣,從而可以更加廣泛地運用于更多種類的應用和業務。就其位置而言,霧計算是分布式的云計算服務器,故霧計算也稱為移動邊緣計算(Edge Computing),因為霧節點就是互聯網與現實終端的邊界[12]。
霧計算主要具有以下特點。
a) 支持實時互動,更低時延和能耗。
b) 更低的帶寬需求,緩解海量設備連接云端時引起的擁塞。
c) 數據的分布式處理,降低海量數據存儲需求。
d) 設備位置精確感知,支持更大范圍的移動性。
e) 支持異構性,支持多樣化的異構軟硬件設備。
根據霧計算智能前端化思想,本文提出了如圖1所示的霧計算框架,在云服務器和終端設備之間擴展一個更靠近移動用戶的霧層[13-15]。霧層由部署在現場的處于網絡最邊緣的霧服務器組成。
圖1 霧計算架構圖
在提出的霧計算框架中,通過在云服務器和終端設備之間擴展具有計算、存儲能力的霧層,將云服務器上本地化需求的關鍵數據和計算服務移到更靠近終端設備的霧服務器上,通過提供數據緩存、本地化計算等功能,更好地滿足了移動應用高流量和低延遲的需求。
霧計算與云計算的區別如表1所示。
表1 云計算與霧計算的對比
值得注意的是,霧計算和云計算并不是你死我活的競爭關系,未來計算范式中并不是霧計算要蠶食云計算。霧計算的提出是作為云計算的有效補充,通過二者卓有成效的相互配合,使得更多不同種類的應用和業務能夠更好地加入到網絡計算之中。
2 基于云霧計算的物聯網架構
根據霧計算更靠近終端用戶的思路,通過給蜂窩網絡中的每個接入點配備霧計算設備,可以把大量與特定環境相關的信息直接在本地接入點進行存儲和處理。圖2所示為基于霧計算的物聯網框架,上層為云計算中心,下層為傳感器和移動終端層,在云層和終端設備層之間擴展一個更靠近終端設備和移動用戶的霧計算層,成為霧層。霧層部署在物聯網接入層,由大量具有計算、存儲功能的霧服務器組成。
霧接入點同時作為物聯網接入點,首先把傳感器采集的數據進行過濾、分析,進行任務的分解,哪些業務可以在本節點進行處理,哪些業務需要分發給其他霧接入點協作處理,哪些業務需要回傳至云計算中心進行處理。另外霧接入點也可以作為云端數據和終端數據的緩存,可以進行本地流量的卸載,減少對傳輸帶寬的需求,更好地滿足了移動應用高流量和低時延的需求。云計算中心的優勢保留,關注于霧層上傳的全局性數據以及處理高延遲長周期的大數據應用。
圖2 基于霧計算的物聯網架構
3 基于云霧計算的物聯網的關鍵技術
3.1 邊緣存儲
當使用移動設備的用戶處于一個特定的環境時,其需要的信息主要是與本地相關的各種信息,如住宅小區的用戶更想知道的是小區內的各種事項以及周邊的交通、醫療等信息;學校內的用戶更想知道的是學校內的各種信息,包括上課、考試、活動等。
根據事件的流行度和用戶喜好,把用戶頻繁訪問的內容放在離用戶較近、訪問速度較快的霧設備上,并在本地實時進行優化和計算,完成用戶請求的任務。霧節點在傳輸帶寬代價和緩存代價之間取得均衡,有效緩解云服務器的負擔,大大降低通信的傳輸量,減少傳輸延遲。
霧節點更智能化,能夠感知其部署環境,推測出附近移動用戶數據需求特性,針對附近用戶的興趣進行數據緩存,為用戶提供快捷內容訪問和檢索功能。
3.2 邊緣計算
霧節點具有智能計算的能力,可以把傳感器采集的信息進行分析、處理,并可以選擇一部分信息卸載到其他霧節點或云計算中心處理。
處理某些數據時,單個霧節點難以有效快速地分析處理,可以自適應形成F-AP簇,通過分布式協作負載均衡計算來減小計算復雜度,提高計算速率。
3.3 云霧協同
通過在物聯網網關部署霧節點,在物聯網邊緣形成一個霧計算的平臺,該平臺具備一定的數據分析及邏輯處理能力,這里引入云霧協同的概念,即霧節點可以通過云端進行集中管理,簡化本地節點的運維復雜度。
另外,霧層的物聯網網關與云端的物聯網平臺實現對接,霧層可以將本次處理的數據上傳給物聯網平臺進行深層次處理,以獲得更好的分析結果,為大數據分析提供數據支撐。
云霧協作也面臨著新的挑戰,如何動態區分業務在云層處理還是在霧層處理,如何制定卸載決策以更好的適應網絡,也是一個重點研究的方向。另外,云霧協同時存儲空間和計算能力的協同,存儲代價和傳輸代價的均衡是需要重點研究的問題。
4 應用前景
4.1 增強現實
增強現實通過在真實世界上疊加信息視圖,并在智能終端上呈現出來。增強現實通常需要較高的計算能力去處理數據,而且人們對于時延是非常敏感的,超過數十微秒的時延將會嚴重影響用戶感知,而通過增強現實設備與周邊霧設備的協作,可以最小化時延以及實現傳輸吞吐量的優化。
4.2 分布式智能電網
在智能電網中的網絡邊緣設備中(霧接入點)運行能量負荷均衡的應用,可以基于需求、可用性及價格等自動選擇主電力、太陽能、風能等。霧接入點收集處理傳感器和設備生成的數據,向執行器發出控制命令,并把數據報告發送給云端,實現可視化管理。
4.3 智能公共自行車系統
隨著污染問題的嚴重化,自行車出行是更環保的選擇。現在很多城市都有公共自行車系統,但卻存在著用戶隨意存放,使用時尋找不夠方便等問題。建議在每輛自行車上裝備一塊價格低廉的窄帶物聯網芯片,把該自行車位置和使用情況信息上傳到霧節點,霧節點可以計算出覆蓋區域的自行車分布圖,用戶需要使用公共自行車時,可以用手機APP查詢離他所在位置最近的公共自行車。
4.4 智能交通燈
在智能交通場景中,傳感器可以感知到警車、救護車、消防車的閃光及聲音。通過霧計算設備分析,可以自動改變道路信號燈來為緊急車輛提供通道;也可以與本地進行交互,感知行人與車輛的存在,計算出相對的距離和速度,通過交通燈協調交通,并可以對接近的車輛發出警告信號,避免交通事故的發生。同時,霧計算服務器里的系統數據,可以傳到云端,從而進行全局的數據分析。
4.5 智能家居
在建筑物環境中部署傳感器測量溫度、濕度和各種氣體的傳感器,通過傳感器之間的信息交互和協作,可以得到可靠的測量。霧計算設備采用分布式決策制定和執行來對數據做出相應的反應,通過霧計算及系統各部件可以實現建筑物內外的節能,關閉及打開窗口,提高和降低溫度等。
5 面臨的挑戰
基于霧計算的物聯網技術大規模的發展面臨著下面的問題和挑戰,有待于進一步解決。
5.1 霧層計算資源和緩存資源的聯合優化
霧節點具有計算和緩存能力,兩者是密不可分的。當用戶業務需要計算分析時,霧節點對業務進行計算分析,并將結果返回給用戶終端;當用戶的業務需要緩存時,霧節點緩存用戶的文件,經過計算處理后才能將緩存文件傳給用戶,這體現了霧節點計算和緩存之間密不可分的關系。因此,計算能力和緩存能力的聯合優化對霧計算來說非常重要。
5.2 霧網絡的隱私和安全性
在霧計算的環境下,同樣存在著安全和隱私問題[16]。由于霧計算部署在網絡邊緣,原來在云計算環境下的安全策略并不適合霧計算。霧計算的安全問題主要來自于不同層次網關的認證,一個惡意的用戶或者應用就可以篡改智能設備的數據,需要一些入侵檢測及安全認證技術來確保網絡的安全性。另外由于霧節點通常掌握在企業、組織甚至個人手中,用戶隱私存在一定的風險,需要一些身份驗證協議來使霧計算能保護用戶隱私,提供更加安全的保障。
6 結束語
本文探討了霧計算的引入原因、概念、特點、架構,以及霧計算與云計算的區別和聯系;提出了基于云霧計算結合的物聯網網絡架構,通過為物聯網接入點配置霧計算設備,將接入點升級為具有存儲和計算能力的霧節點,使得數據和計算更靠近終端設備。這樣的云霧計算結合的架構可以更好地適應物聯網的應用需求,提高應用系統的響應速度,節約網絡帶寬,并大大減小了終端設備的能耗。最后討論了本文提出的網絡架構的應用前景及其所面臨的挑戰。霧計算和云計算是基于同一個平臺的全局性的和局部性的不同計算模式,它們相輔相成將為人們提供更多更豐富的新業務種類和體驗。