摘 要:在物聯網和云計算帶來技術變革和帶動產業發展的過程中,由于網絡接入設備激增,而網絡帶寬有限的情況下,思科公司推出了霧計算的概念。首先探討霧計算的特征和應用模式,然后分析霧計算的“霧節點”與云計算的“云節點”以及物聯網的“物節點”的互操作方法,并總結了霧計算的用例,最后給出了前景展望。
關鍵詞:分布式計算;云計算;霧計算;物聯網
中圖分類號:TP316 ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ?文章編號:2095-1302(2014)12-00-03
0 ?引 ?言
近幾年來,“物聯網”、“云計算”這兩個詞語深刻地變革了IT學術界、產業界。但是在實際應用過程中,物聯網和云計算都存在一定的短板和缺憾[1],具體表現在:(1)物聯網感知層的數據量大而且非常復雜,海量數據間存在著頻繁的沖突與合作,具有很強的冗余性、互補性和實時性,同時又是多源異構型數據。因此,在實時性要求較高情況下,對海量數據的過濾、處理、傳輸和應用等問題是一個巨大的挑戰。(2)云服務是聚合度很高的服務計算,其使用方式雖然廉價、簡單且方便,但是背后卻消耗著大量的網絡帶寬,用戶訪問量大會大幅度增加網絡流量,由此引發的服務中斷、網絡延遲等問題,以及云計算的集中式計算導致網點分布不均而產生的用戶訪問網站響應速度慢,我國帶寬不足、流量成本高的問題都制約著我國云計算服務的應用和發展。綜合分析以上問題,有人提出云端計算,更加強調邊緣計算設備的作用,都是希望計算要在物理節點上分散,而不是集中,這些都為霧計算的產生提供了空間。
思科全球研發中心總裁Dr.Flavio Bonomi[2]于2011年首次提出霧計算(Fog Computing)的概念之后,思科研發組的Flavio Bonomi, Rodolfo Milito, Jiang Zhu, Sateesh Addepalli 等人開創性地描述了霧計算的概念。他們認為:正如云計算一樣,霧計算也十分形象,大自然中的霧是更接近地面的云,故用霧計算恰當地描述介于云計算與終端計算的中間態;霧計算是半虛擬化架構的分布式的服務計算模型,用戶、應用或物聯網終端可以在任何時候、從任何地方基于任何聯網設備訪問自己的本地云(Local Cloud,也可稱為霧節點)[3]。因此,霧計算既繼承了云計算的優點,也具有終端計算的優勢,能夠充分發揮終端的計算功能和本地就近處理的優勢。霧計算可以很好地解決那些時延敏感應用(Iatency-sensitive Applications)的計算問題,這些業務往往處于數據中心邊緣,需要就近處理,從而減少時延,集中于數據中心的云計算顯得無能為力[4]。
1 ?霧計算的應用定位
霧計算是分布式的云計算節點,就其位置而言,可以稱為邊界計算(Edge Computing),就是互聯網與現實世界的邊界。云數據中心是互聯網的中心,PC、手機、監控照相機等諸多的電子設備,移動終端,家用電器處在現實世界的中心,而霧計算的服務器處在二者的邊界之上,物聯網的信息模型[2]如圖1所示。
圖1 ?物聯網的信息模型圖
主要表現為個人云、家庭云以及機構云等私有的“小云”為主,而不是早期云計算所倡導的IT服務提供商的“大云”、“公有云”。從長期發展趨勢來看,我們認為終端計算、霧計算和云計算的將在一定時期長期共存,因為它們各有優勢。就系統的數量級而言,一個云計算系統可以關聯多個霧計算系統,一個霧計算系統可以服務于多個(成百上千、甚至幾萬個)計算終端[5],物聯網終端設備是指一切具有網絡身份標識的信息終端,大到汽車、冰箱,小到門鎖、追蹤卡、手環等都是終端設備。霧計算的“霧端”與云計算的“云端”以及物聯網的“物端”之間的關系如圖2所示:
圖2 ?物聯網的邏輯模型圖
與云計算依賴集中式高性能計算設備強調整體計算能力不同,霧計算以量制勝,強調計算節點數量,不管單個計算節點能力多么弱都要發揮作用。因此霧計算有幾個明顯特征:低延時和位置感知,更為廣泛的地理分布,適應移動性的應用,支持更多的邊緣節點。總之,霧計算面對市場需求,擯棄了云計算聚合度過大且技術過于復雜的弊病,保留了云計算的一些優點,比如高性價比、可擴展性、技術透明性等,同時還兼具分布式系統的一些優點,例如容錯、異構、安全、編程模型等[6]。下面分別對這些“小云”做簡要介紹:
個人云(Personal Cloud)是指借助智能手機、平板電腦、電視和PC等個人設備,通過互聯網無縫存儲、同步、處理并分享數據的在線服務[7]。個人云是云計算在個人生活領域的延伸,通過Internet對個人的各種信息進行組織、存儲、分發和再加工。與所有的“云”一樣,個人云由服務器、終端、應用程序和個人信息組成。數據信息存儲在云上,通過3G網絡接口向終端提供服務[8]。由于隱私性的要求,個人云的安全性要求較高。
家庭云是指在家庭網絡環境下實現多成員的設備、信息等互聯、共享和互操作。這種云是部署在家庭里,而不是交給云服務提供商。家庭云可以實現無線智能組網、智能關聯、集中存儲、娛樂實時分享、智能家居遠程控制、集中安全存儲及統一設備管理等功能[9]。
機構云是指服務于一個學校、企業、政府部門等機構的內部云服務系統,類似于家庭云。機構云的規模要比家庭云更大且復雜,用戶數據也相對更多,數據量也更大,服務類型也更豐富。
2 ?物端-霧端-云端的互操作
在物聯網的最佳實踐中,應用、存儲和計算等服務盡可能位于距傳感器和設備等“物體”更近的位置,這正是霧計算產生的背景,在圖2所示的物聯網的邏輯模型中,終端計算層主要服務于物聯網的傳感器層和信息匯聚層,霧計算層主要服務于物聯網的信息分析層和數據傳輸層,云計算層主要服務于物聯網的應用服務層。其中傳感器層是物聯網的皮膚和五官,主要用于識別物體,采集信息;信息匯聚層是物聯網的神經中樞網和血管網,負責數據信息的收集閱讀器接收到來自電子標簽的載波信息;信息分析層是將收集的數據信息送至霧計算系統進行分析、過濾和處理;數據傳輸層將信息分析層的信息進行分發與傳遞,傳送給云計算系統;云計算服務的應用層是物聯網的“社會分工”——與具體行業需求結合,實現廣泛智能化[10]。
霧計算的互操作性框架如圖3所示,該框架是遵循物聯網業界標準的開放式互操作框架,可以很好地滿足物聯網應用的近、遠期實施目標。
圖3 ?物聯網的互操作框架
霧計算系統被看作是由多個獨立的霧節點(Fog Node)組成的系統,由物聯網終端設備本身或者介于終端設備與網絡之間的設備來承擔存儲和處理物聯網生成數據流的任務。最重要的是霧節點分離了云節點和終端設備,有利于打破壟斷和隔閡,改良了物聯網的生態環境,開拓了新的商業模式[11]。
圖4 ?物聯網生態環境演進路線
邊緣服務器需要處理的數據量非常龐大(比如EPCglobal物聯網讀寫器每秒可捕獲120到400個信號),解決物聯網數據處理的性能和可伸縮性問題的方法,主要有線程多路技術和非阻塞(Non-blocking)I/O機制,非阻塞I/O可以使邊緣服務器能夠在多個并發用戶中復用少量線程,確保較高的性能和可伸縮性。在處理讀寫器的大流量數據和進行消息傳遞時,需要大量使用I/O和網絡。邊緣服務器中使用“批量數據傳輸”技術,將多個相同類型的請求包裝在一個數據包中,可以舒緩網絡堵塞問題。它還可以減少多個請求通過其它邏輯層所需的時間。最后,如果由邊緣服務器完成中央數據庫(Data Center)的存儲操作,將會產生系統瓶頸,影響可伸縮性。比如將從一組RFID讀寫器捕獲的數據全部寫入中央數據庫,進入數據庫的巨大數據流會對性能產生嚴重影響。因此,應該在云平臺層處理與中央數據庫的交互,這樣就可以大大減少需要處理的數據。這種架構(如圖5所示),相對于事件儲存庫方法,可以定義為事件源方法[12]。
圖5 ?邊界計算實現靈活伸縮
圖6是霧計算節點的功能框架圖,最上層可接入第三方APP應用,中間是物聯網邊緣服務器的功能模塊,最下層是可接入的各種物聯網終端設備。從框架圖可以看出,霧計算節點對上層應用的接口是開放的,對下層的終端設備也是廣泛的兼容性[13]。
圖6 ?霧計算節點的功能框架圖
3 ?物聯網信息處理系統的用例分析
物聯網環境中用例層面包括三個要素:物節點、霧節點和云節點。一個云節點(公共云)一般會服務于多個霧節點,它們之間是一對多的關系。一個霧節點一般會服務于多個物節點,它們之間也是一對多的關系。物節點可能是一個私有云環境,也可能不是云,物聯網用例旨在描述最為典型的應用場景,而并非列出物聯網環境下的所有現實情況[14]。物聯網的用例包括4種情況:(1)物節點與云節點互動;(2)霧節點與云節點互動;(3)物節點與霧節點互動;(4)霧節點與物節點和云節點互動。
圖7(a)描述物節點與云節點互動的情況,是在物聯網早期階段最常見的基于智能終端的物聯網用例。智能終端可以輕松訪問云節點,使用云端的計算、存儲和數據服務。
圖7(c)描述物節點與霧節點互動的情況,也是在物聯網早期階段最常見的局部RFID物流信息管理的用例。霧節點是局部范圍所有物節點的處理中心、管理中心和應用中心。
圖7(d)描述霧節點與物節點和云節點互動的情況,是在物聯網發展到成熟期的EPCglobal物聯網用例。物節點的編碼信息被發送到霧節點,霧節點訪問存儲于云節點上的對象命名服務ONS(Object Naming Service)以及配套服務,找到該物品信息所存儲的物理位置,然后由霧節點給應用系統指明存儲該物品有關信息的服務器,并將文件中關于該物品的信息進行傳送和應用。霧節點起到過濾、處理和聯通物節點與云節點的互動信息。比如:車聯網。車聯網的應用和部署要求有豐富的連接方式和相互作用。車到車,車到接入點(無線網絡,3G,LTE,智能交通燈,導航衛星網絡等),接入點到接入點,接入點到云。
圖7(b)描述霧節點與云節點互動的情況,霧節點使用云節點補充其所需要資源:使用云存儲進行備份或存儲很少用到的數據;使用云中的虛擬機來處理峰值負載;使用云中的應用程序 (SaaS)來處理霧節點的數據;將云數據庫用作某一應用程序處理過程的一部分。與其他霧節點共享該數據庫。
圖7(a)物節點與云節點互動 ? ? ? ? ? 圖7(b) ?霧節點與云節點互動
圖7(c) ?物節點與霧節點互動
圖7(d)霧節點與物節點和云節點互動
圖7 ?物聯網典型用例圖
4 ?結 ?語
本文分析了霧計算產生的時代背景的基礎上,探討了霧計算的特征和應用定位,然后基于霧計算聯通型的應用定位,描述了它的組織結構,分析了霧計算的“霧端”與云計算的“云端”以及物聯網的“物端”的互操作方法,并總結了霧計算的用例,可作為霧計算系統研究與開發的基礎。霧計算系統以開放式的計算框架模型應用于各個邊緣服務器節點之上,這些霧節點具有一定的獨立性、多態性和適應性,可以實現霧節點之間以Web服務或云服務的方式進行跨網絡的互連、互通和聯盟,也可以基于內部網或局域網的方式進行信任域內的數據處理與應用。當傳感器越來越便宜,分布得越來越廣,聯網設備越來越多,產生的數據量將進一步爆發,將網絡計算的重心從網絡中心擴展到了網絡邊緣,只有霧計算模型最適合這種物聯網的邊界計算需求。
參考文獻
[1]吳磊.思科:“霧計算”的誑語與干貨[J].IT經理世界,2014(11):68-69.
[2]計春雷,楊志和,謝致邦.服務計算新模式:霧計算[J].上海電機學院學報,2012,15(5):337-341
[3]云計算之后,霧計算開始[EB/OL] . http://www.cnblogs.com/dreign/p/3873176.html,2014.
[4]云計算的下一站是霧計算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]網絡帶寬有限 讓“霧計算”來幫忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]鄭園,蔣巍,蔣天發.個人云計算安全框架的研究[J]. 信息網絡安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]楊志和.基于志愿計算的云平臺的構建方法與架構研究[J].上海電機學院學報,2010,13(4):223-227
[11]王宇,王志堅.志愿計算模型形式化方法[J].軟件學報,2008(5):1125-1133.
[12]吳永和.學習資源服務生態環境構建的研究[D].上海:華東師范大學,2009.
[13]宛語.戳破云計算真相,“霧計算”才是真正變革[J].創新科技,2014(11):1.
[14]值得期待的霧計算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.
[4]云計算的下一站是霧計算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]網絡帶寬有限 讓“霧計算”來幫忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]鄭園,蔣巍,蔣天發.個人云計算安全框架的研究[J]. 信息網絡安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]楊志和.基于志愿計算的云平臺的構建方法與架構研究[J].上海電機學院學報,2010,13(4):223-227
[11]王宇,王志堅.志愿計算模型形式化方法[J].軟件學報,2008(5):1125-1133.
[12]吳永和.學習資源服務生態環境構建的研究[D].上海:華東師范大學,2009.
[13]宛語.戳破云計算真相,“霧計算”才是真正變革[J].創新科技,2014(11):1.
[14]值得期待的霧計算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.
[4]云計算的下一站是霧計算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]網絡帶寬有限 讓“霧計算”來幫忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]鄭園,蔣巍,蔣天發.個人云計算安全框架的研究[J]. 信息網絡安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]楊志和.基于志愿計算的云平臺的構建方法與架構研究[J].上海電機學院學報,2010,13(4):223-227
[11]王宇,王志堅.志愿計算模型形式化方法[J].軟件學報,2008(5):1125-1133.
[12]吳永和.學習資源服務生態環境構建的研究[D].上海:華東師范大學,2009.
[13]宛語.戳破云計算真相,“霧計算”才是真正變革[J].創新科技,2014(11):1.
[14]值得期待的霧計算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.