馮朔,鄭學(xué)智
(武漢郵電科學(xué)研究院,湖北 武漢 430074)
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展以及云計算技術(shù)的興起,智慧家居系統(tǒng)已經(jīng)成為許多家庭提高生活品質(zhì)的選擇。在家庭之外,物聯(lián)網(wǎng)也在向智慧酒店方面發(fā)展。一方面,人們?yōu)榱双@得良好的旅行和入住體驗(yàn);另一方面,大部分酒店由于采用人工服務(wù),也面臨著員工培訓(xùn)成本高、服務(wù)標(biāo)準(zhǔn)不統(tǒng)一等問題,造成酒店效益難以提高。智慧酒店系統(tǒng)不僅可以滿足用戶對于住宿過程中的需要,同時也能方便酒店管理、降低運(yùn)營成本,是將來發(fā)展的趨勢[1]。目前智慧酒店系統(tǒng)采用的是傳統(tǒng)云計算模式,計算節(jié)點(diǎn)設(shè)在云端服務(wù)器,云平臺處理目標(biāo)是智慧酒店中的大數(shù)據(jù)[2]。在酒店運(yùn)行環(huán)境中,需要降低處理時延、提高物聯(lián)網(wǎng)設(shè)備響應(yīng),也面臨著保護(hù)用戶隱私等問題[3],因此需對當(dāng)前智慧酒店系統(tǒng)進(jìn)行改進(jìn)。
文中以智慧酒店的應(yīng)用為背景,為解決傳統(tǒng)云計算在實(shí)時性上面的不足,總結(jié)了云計算的優(yōu)點(diǎn)與目前設(shè)備發(fā)展的現(xiàn)狀,提出了一套整體完善的邊云計算酒店智慧系統(tǒng)的設(shè)計方案。該方案集合了邊緣計算與云計算的優(yōu)點(diǎn):
1)保留傳統(tǒng)云計算框架。對于復(fù)雜度較高的計算,或是在邊緣節(jié)點(diǎn)無力進(jìn)行數(shù)據(jù)處理時,以及用戶總體數(shù)據(jù)的分析,交付云端進(jìn)行計算。
2)新增分布式計算結(jié)構(gòu),利用分布在網(wǎng)絡(luò)邊緣中的多個邊緣計算單元,邊緣端可以對采集的數(shù)據(jù)本地化分析、處理并將結(jié)果進(jìn)行臨時緩存,再與云端進(jìn)行交互,并進(jìn)行更加深入的分析[4],是滿足系統(tǒng)低延時的重要條件;對于云計算中心而言,減少計算資源的浪費(fèi),充分利用低成本的計算單元。邊緣計算單元依舊保留與云端的接口,可以實(shí)現(xiàn)“邊緣”與“云端”二者的互補(bǔ)。
3)同時系統(tǒng)的可靠性也能得到保障。計算節(jié)點(diǎn)置于網(wǎng)絡(luò)邊緣之后,靠近終端設(shè)備,若WAN 網(wǎng)絡(luò)發(fā)生故障,例如面臨斷網(wǎng)或設(shè)備故障,也能夠?qū)崿F(xiàn)局域范圍內(nèi)的數(shù)據(jù)處理,保證本地業(yè)務(wù)的可靠運(yùn)行[5]。
邊緣計算的出現(xiàn)并非會造成云計算的淘汰,而是對云算力的延伸和拓展[6]。相比云計算結(jié)構(gòu),在云中心計算層和終端節(jié)點(diǎn)層之間引入了邊緣計算層。數(shù)據(jù)上傳的過程先經(jīng)過該邊緣層再傳到云中心。對頂層而言,可以看作下放計算能力。將原本中心式的基礎(chǔ)結(jié)構(gòu)擴(kuò)展成星型,如圖1 所示。

圖1 邊緣計算節(jié)點(diǎn)結(jié)構(gòu)星型圖
層與層之間的信道有所不同。云中心計算層與邊緣節(jié)點(diǎn)之間,通常采用有線廣域網(wǎng)WAN 連接,邊緣計算層與終端節(jié)點(diǎn)層之間則是多種短距離無線連接方式,例如WiFi、ZigBee、藍(lán)牙等連接方式[7],由于物理位置相對較近,通常一個邊緣節(jié)點(diǎn)和其下終端節(jié)點(diǎn)構(gòu)成一個本地網(wǎng)絡(luò)。
可以將邊緣計算的執(zhí)行過程各部分模塊化。整個邊緣計算過程分別抽象為核心計算模塊、任務(wù)產(chǎn)出模塊、邊緣協(xié)調(diào)模塊、網(wǎng)絡(luò)傳輸模塊,4 個模塊一起構(gòu)成了邊緣計算模型。模塊間關(guān)系如圖2 所示。其中,核心計算模塊包括各邊緣節(jié)點(diǎn)與云中心,主要負(fù)責(zé)執(zhí)行云任務(wù),核心模塊包括了邊緣計算模塊以及核心計算模塊。任務(wù)產(chǎn)出模塊負(fù)責(zé)隨機(jī)生成待執(zhí)行的任務(wù)。邊緣協(xié)調(diào)模塊負(fù)責(zé)決策,該層決定邊緣任務(wù)的分配方式,決定任務(wù)由哪臺主機(jī)執(zhí)行,盡管邊緣設(shè)備的計算能力不足以媲美中心云設(shè)備,但仍然可以承擔(dān)小部分框架內(nèi)的云任務(wù)。網(wǎng)絡(luò)傳輸模塊則負(fù)責(zé)處理網(wǎng)絡(luò)傳輸?shù)倪^程,包括處理任務(wù)的上傳與下載,而且WAN 網(wǎng)絡(luò)延遲較高、帶寬有限,LAN 網(wǎng)絡(luò)延時低、帶寬較高。

圖2 各模塊之間處理流程圖
考慮云計算與物聯(lián)網(wǎng)相互作用的效果。利用微軟芯片MXCHIP AZ3166 為例[8],觀察云計算的處理結(jié)果。傳感器收集溫度信息,經(jīng)由無線信道傳遞到本地路由器,本地網(wǎng)關(guān)經(jīng)Internet 上傳到遠(yuǎn)端微軟云服務(wù)器Azure;云服務(wù)器經(jīng)過處理,可以將運(yùn)行結(jié)果打印在Web 端,如有需要,可以在Azure IoT Central實(shí)時讀取測試數(shù)據(jù),如圖3 所示。

圖3 Azure IoT Central溫濕度監(jiān)測
AZ3166 等芯片以及Azure 云平臺的應(yīng)用,證明目前的技術(shù)已經(jīng)可以支持利用云計算——設(shè)備構(gòu)成一個簡單的物聯(lián)網(wǎng)系統(tǒng)。可以在此基礎(chǔ)上,結(jié)合智慧酒店的應(yīng)用場景,對邊云結(jié)合網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行設(shè)計,構(gòu)建自己的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計結(jié)果如圖4 所示。對每一個住宿房間而言,部署一個AP 站點(diǎn),連接房間內(nèi)部的終端設(shè)備,包括該房間所屬的攝像頭、傳感器、客戶手機(jī)、物聯(lián)網(wǎng)設(shè)備等,構(gòu)成本地局域網(wǎng);AP 站點(diǎn)附屬有邊緣節(jié)點(diǎn);酒店內(nèi)多臺邊緣節(jié)點(diǎn)匯聚成小型網(wǎng)絡(luò),附屬有邊緣編排器,并經(jīng)過WAN 與遠(yuǎn)程云計算中心互聯(lián)。

圖4 智慧酒店內(nèi)邊緣網(wǎng)絡(luò)模擬圖
把邊緣計算網(wǎng)絡(luò)模型應(yīng)用到智慧酒店生態(tài)內(nèi),傳感器和攝像頭等輸入設(shè)備為任務(wù)產(chǎn)出模塊;遠(yuǎn)端機(jī)房云服務(wù)器與酒店內(nèi)部的邊緣節(jié)點(diǎn)構(gòu)成核心計算模塊;網(wǎng)關(guān)、路由器屬于邊緣協(xié)調(diào)模塊;光纖、寬帶、室內(nèi)無線等傳輸信道及傳輸設(shè)備構(gòu)成網(wǎng)絡(luò)傳輸模塊。
EdgeCloudSim 是基于CloudSim的一種對邊緣場景下的模擬環(huán)境仿真軟件,可以對實(shí)際場景進(jìn)行有效的仿真,構(gòu)建多個數(shù)據(jù)中心、虛擬機(jī),并模擬用戶與用戶任務(wù),同樣可以將工作流程模塊化,其模塊處理流程如圖5所示[9,14]。

圖5 EdgeCloudSim各模塊處理流程
在智慧酒店環(huán)境中,存在兩種數(shù)據(jù)來源。來源之一是房間內(nèi)的傳感器組的信息數(shù)據(jù),另一種是攝像頭的圖像數(shù)據(jù)[10]。兩種數(shù)據(jù)信息的對比情況如表1 所示。

表1 兩種應(yīng)用數(shù)據(jù)的參數(shù)
在EdgeCloudSim 中關(guān)于內(nèi)部構(gòu)造設(shè)定有3 種傳輸結(jié)構(gòu):分別表示為單層、多層、帶有邊緣編排器的多層結(jié)構(gòu),如圖6 所示。圖6(a)、(b)、(c)分別代表了邊緣、云、邊云協(xié)同的3 種情況[11-12]。其中,單層結(jié)構(gòu)表示信息云任務(wù)只在邊緣服務(wù)器的區(qū)域內(nèi)運(yùn)行;多層結(jié)構(gòu)表示云任務(wù)可以上傳至共有云平臺;帶邊緣編排器的多層結(jié)構(gòu),其任務(wù)也可以把單層任務(wù)卸載到臨近的邊緣節(jié)點(diǎn)[13]。

圖6 3種云任務(wù)網(wǎng)絡(luò)結(jié)構(gòu)圖
對于第一種任務(wù),即為人臉識別任務(wù)進(jìn)行仿真。在實(shí)際情況中,房間門口的攝像頭終端采集圖像,存儲并發(fā)起人臉識別的請求,并可根據(jù)識別結(jié)果進(jìn)行開門、報警之類的操作[15]。分別模擬3 種結(jié)構(gòu)下的計算任務(wù),并統(tǒng)計處理結(jié)果。設(shè)定該任務(wù)需要上傳待識別的人臉圖像,圖像大小為1 500 kB,同時需要對任務(wù)識別結(jié)果進(jìn)行返回,數(shù)據(jù)大小為15 kB。第二種任務(wù)為信息任務(wù),上傳數(shù)據(jù)為25 kB,下載數(shù)據(jù)為20 kB。其余配置如表2 所示。

表2 任務(wù)參數(shù)配置
經(jīng)過EdgeCloudSim的仿真,仿真結(jié)果如圖7所示。實(shí)驗(yàn)結(jié)果X軸表示設(shè)備數(shù)量,Y軸表示執(zhí)行的任務(wù)反饋結(jié)果,三條曲線則代表了3 種不同的傳輸結(jié)構(gòu)。通過分析仿真結(jié)果從而給出邊云計算體系的特點(diǎn)。需要注意的是,單層結(jié)構(gòu)下,任務(wù)只會提交到邊緣節(jié)點(diǎn),不會經(jīng)由WAN 網(wǎng)絡(luò)上傳到云端計算。
圖7 為3 種不同架構(gòu)下的人臉識別應(yīng)用中的任務(wù)失敗率。可見,隨著設(shè)備數(shù)量的增多,特別是在超過200 臺設(shè)備后,單層和雙層結(jié)構(gòu)的任務(wù)失敗率都會顯著增加。分析得出任務(wù)失敗的大概率發(fā)生在LAN 側(cè),這是由于邊緣設(shè)備的性能有限,用于處理任務(wù)的虛擬機(jī)無法處理接收到的任務(wù),從而導(dǎo)致任務(wù)失敗。由此可見虛擬機(jī)的處理能力是決定任務(wù)失敗幾率的關(guān)鍵因素。與此相對應(yīng)的是,在帶有邊緣編排器的結(jié)構(gòu)中,由于可以根據(jù)本地邊緣節(jié)點(diǎn)虛擬機(jī)的利用率,決定任務(wù)的如何分配,即是分配給空閑的邊緣節(jié)點(diǎn),還是上傳至云端。在這種結(jié)構(gòu)下,如果設(shè)備數(shù)增多,任務(wù)的失敗率仍然可以維持在很低的水平。

圖7 人臉識別云任務(wù)失敗率圖
圖8 為3 種不同架構(gòu)下的人臉識別應(yīng)用的網(wǎng)絡(luò)傳輸時延。可見,在單層結(jié)構(gòu)中,由于不涉及WAN 側(cè)網(wǎng)絡(luò),故其網(wǎng)絡(luò)延時只出現(xiàn)在LAN 側(cè)。而兩層和帶邊緣編排器的兩層結(jié)構(gòu),都因?yàn)樯婕傲薟AN 網(wǎng)絡(luò),都引入了網(wǎng)絡(luò)延遲。設(shè)定的任務(wù)上傳云端的概率是20%,所以部分任務(wù)的傳輸會受到影響。分析還可得出設(shè)備數(shù)量的增多對于網(wǎng)絡(luò)延時的影響不是太強(qiáng)。如果把任務(wù)上傳云端的概率變?yōu)?0%,則可以得到如圖9的結(jié)果,可見任務(wù)向云端卸載的概率會影響整體網(wǎng)絡(luò)延時。而且可從數(shù)據(jù)中發(fā)現(xiàn),概率提高2 倍,網(wǎng)絡(luò)延時變?yōu)樵瓉淼? 倍。

圖8 人臉識別云任務(wù)傳輸時延圖(20%)

圖9 人臉識別云任務(wù)時延圖(40%)
圖10 為3 種架構(gòu)下人臉識別應(yīng)用任務(wù)的處理時間。對于處理時間而言,由于中心節(jié)點(diǎn)的虛擬機(jī)性能優(yōu)于邊緣,任務(wù)的處理時間也相對較短。從(b),(c)對比可見在云端的處理時間,明顯要優(yōu)于在邊緣的處理時間。對于單層結(jié)構(gòu),其處理時延全部集中在邊緣節(jié)點(diǎn)。同樣可以注意到隨著設(shè)備數(shù)量的增多,單層結(jié)構(gòu)和兩層結(jié)構(gòu)的處理時間增速較快,在處理多任務(wù)時具有一定的困難,這也符合處理設(shè)備增多,任務(wù)失敗率在單層和兩層結(jié)構(gòu)中增加的原因。對比兩層結(jié)構(gòu)和帶有邊緣編排器的兩層結(jié)構(gòu)的任務(wù)處理時間可以看出,帶有邊緣編排器的結(jié)構(gòu)由于可以將任務(wù)卸載到其他邊緣節(jié)點(diǎn),總處理時延要優(yōu)于兩層結(jié)構(gòu)。

圖10 人臉識別云任務(wù)處理時長圖
修改響應(yīng)參數(shù)并重新進(jìn)行仿真,可以得到傳感器數(shù)據(jù)的處理結(jié)果,如圖11 所示。可以發(fā)現(xiàn),對于傳感器這樣的小數(shù)據(jù)量任務(wù),其失敗率相較于人臉識別任務(wù)有較大的降低。由于任務(wù)都在邊緣節(jié)點(diǎn)被處理,帶邊緣編排器的兩層結(jié)構(gòu)任務(wù)的失敗率仍然可以維持在較低的水平。網(wǎng)絡(luò)延遲參數(shù)如圖11(b)所示,由于傳輸數(shù)據(jù)量的減少,相比較于人臉識別任務(wù),任務(wù)的網(wǎng)絡(luò)延遲也有所降低。在任務(wù)處理時延上,低數(shù)據(jù)量任務(wù)處理時間較短,在設(shè)備較多時,單層結(jié)構(gòu)處理時間上升迅速,而邊緣編排器的結(jié)構(gòu)可以維持一個較低的任務(wù)處理時間。另有總服務(wù)時間仿真數(shù)據(jù)如圖11(d)所示,在數(shù)據(jù)量較低時,兩層結(jié)構(gòu)處理時間較長,這是由于任務(wù)開始執(zhí)行需要一定的時間。

圖11 傳感器云任務(wù)處理結(jié)果圖
綜合以上兩種仿真數(shù)據(jù)的結(jié)果,待處理任務(wù)的時延主要包含網(wǎng)絡(luò)時延和設(shè)備處理時延。相較于其他兩種結(jié)構(gòu),帶有邊緣編排器的兩層結(jié)構(gòu)在運(yùn)行設(shè)備數(shù)量較多的情況下,仍然可以保持較低的任務(wù)失敗率;同樣在這種結(jié)構(gòu)下,由于任務(wù)的底層卸載,使得具體到某個設(shè)備上的任務(wù)處理時延也較低;由于需要上傳數(shù)據(jù)到WAN側(cè)網(wǎng)絡(luò),網(wǎng)絡(luò)傳輸時延必然會增多,但是可以通過調(diào)整上傳云端的任務(wù)數(shù)量來縮短。
根據(jù)數(shù)據(jù)與仿真結(jié)果,可以得出結(jié)論,相較于傳統(tǒng)的云計算以及單純的邊緣計算,帶有邊緣編排器的兩層結(jié)構(gòu),即邊云協(xié)同處理系統(tǒng)可以對系統(tǒng)性能有更好的提升。運(yùn)用此邊緣計算的架構(gòu),可以滿足終端計算需求,擴(kuò)展了業(yè)務(wù)范圍,又有效節(jié)約云服務(wù)器與終端設(shè)備之間在信道上的浪費(fèi)。特別是在傳感器和人臉識別任務(wù)為主的智慧酒店系統(tǒng)的實(shí)際應(yīng)用中,使用該結(jié)構(gòu)可以有效提升系統(tǒng)性能,故該仿真對實(shí)際應(yīng)用有一定的指導(dǎo)作用。
目前在物聯(lián)網(wǎng)行業(yè)中,有關(guān)智慧酒店的業(yè)務(wù)正逐步發(fā)展,對云計算的需求也在逐步提高。邊緣計算的出現(xiàn)為云計算拓寬了應(yīng)用場景,邊緣端讓一部分云任務(wù)在本地即可完成處理,縮短了傳輸時延,降低了任務(wù)的處理時間,可以為時延敏感的應(yīng)用提供良好的運(yùn)行環(huán)境。文中提出了一種邊云協(xié)同系統(tǒng),并通過對實(shí)際兩種任務(wù)的仿真,證實(shí)了若該結(jié)構(gòu)應(yīng)用在智慧酒店系統(tǒng)中,可以解決當(dāng)前環(huán)境中面臨的有關(guān)降低時延、提升任務(wù)成功率。下一步將繼續(xù)完善邊緣計算系統(tǒng)中云任務(wù)的分配方式問題,考慮在多種任務(wù)并發(fā)情況下處理多種任務(wù),從而更好地仿真現(xiàn)實(shí)智慧酒店中多重任務(wù)同時發(fā)起請求的情況。
值得一提的是,數(shù)據(jù)安全問題也是邊緣計算應(yīng)用的一大亮點(diǎn)。物聯(lián)網(wǎng)設(shè)備的增多,不同物聯(lián)網(wǎng)廠商亦有可能掌握許多用戶的使用數(shù)據(jù),從而引發(fā)數(shù)據(jù)安全問題[16]。而本地數(shù)據(jù)處理可以有效規(guī)避連接共有網(wǎng)絡(luò)的風(fēng)險。在應(yīng)用方面,可以設(shè)計相應(yīng)的物聯(lián)網(wǎng)應(yīng)用程序,例如入住、室內(nèi)設(shè)備控制、點(diǎn)餐等應(yīng)用,還可以配合工作人員的手持設(shè)備,為用戶提供良好應(yīng)用體驗(yàn),為智慧酒店的全面構(gòu)建提供新思路。