任君玉,祝長(zhǎng)鴻,廖棟森,萬(wàn)海斌,覃團(tuán)發(fā)
1.華南理工大學(xué) 電子與信息學(xué)院,廣州510641
2.廣西大學(xué) 行健文理學(xué)院,南寧530005
3.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,南寧530004
4.廣西多媒體通信與網(wǎng)絡(luò)技術(shù)重點(diǎn)實(shí)驗(yàn)室,南寧530004
近幾年,隨著物聯(lián)網(wǎng)(Internet of Things,IoT)技術(shù)的發(fā)展,其底層技術(shù)無線傳感網(wǎng)(Wireless Sensor Networks,WSN)得到了快速發(fā)展。作為生物和智慧醫(yī)療領(lǐng)域的一種特殊類型的無線傳感網(wǎng),無線體域網(wǎng)(Wireless Body Area Network,WBAN)已經(jīng)得到了社會(huì)各個(gè)部門,包括學(xué)術(shù)界、工業(yè)界及政府部門的廣泛關(guān)注[1-2]。體域網(wǎng)一般由部署在體內(nèi)、體表或體表附近的傳感器構(gòu)成,這些傳感器可以獲取人體的體溫、血壓、血氧、腦電圖、心電圖等各項(xiàng)生理參數(shù)[3]。各個(gè)傳感器將收集到的生理參數(shù)通過無線通信發(fā)送到體域網(wǎng)網(wǎng)關(guān)設(shè)備HUB(典型設(shè)備如手機(jī)),HUB再通過蜂窩網(wǎng)或者因特網(wǎng)發(fā)給急救中心或醫(yī)生以進(jìn)一步采取診療方案。
體域網(wǎng)所采集的是人體健康生理參數(shù),因此對(duì)系統(tǒng)可靠性有較高要求;另外,體域網(wǎng)數(shù)據(jù)時(shí)延敏感,尤其當(dāng)病人情況緊急的時(shí)候,對(duì)系統(tǒng)時(shí)延有極高要求;并且,體域網(wǎng)傳感器由于需要周期性采集人體生理數(shù)據(jù),數(shù)據(jù)量巨大。但是,由于體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)資源有限,導(dǎo)致其不方便對(duì)所收集的大量人體生理數(shù)據(jù)進(jìn)行存儲(chǔ),更無法對(duì)計(jì)算密集型任務(wù)進(jìn)行分析。因此,體域網(wǎng)作為智慧醫(yī)療系統(tǒng)的底層網(wǎng)絡(luò)架構(gòu),必須引入新的范式及有效的解決方案以完成體域網(wǎng)海量數(shù)據(jù)可靠、實(shí)時(shí)的存儲(chǔ)與分析。目前,云計(jì)算、霧計(jì)算技術(shù)已經(jīng)成為研究熱點(diǎn),這為基于體域網(wǎng)的智慧醫(yī)療系統(tǒng)的研究與落地應(yīng)用提供了機(jī)遇。
云計(jì)算技術(shù)相對(duì)比較成熟,可以提供無限的計(jì)算和存儲(chǔ)能力,目前已經(jīng)有不少工作將云計(jì)算與IoT技術(shù)相結(jié)合進(jìn)行研究,以解決來自IoT設(shè)備的海量數(shù)據(jù)存儲(chǔ)與處理問題。體域網(wǎng)作為IoT技術(shù)的一個(gè)具體應(yīng)用,可以將云計(jì)算與體域網(wǎng)技術(shù)結(jié)合起來,以解決體域網(wǎng)海量數(shù)據(jù)的存儲(chǔ)問題及體域網(wǎng)的大數(shù)據(jù)分析與處理,輔助完成遠(yuǎn)程醫(yī)療診斷及病人身體狀況與疾病的預(yù)測(cè)及分析[4-9]。但是,由于云的地理位置較遠(yuǎn),數(shù)據(jù)傳輸時(shí)延大,導(dǎo)致其無法對(duì)體域網(wǎng)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理與分析,這對(duì)于時(shí)延敏感的醫(yī)療健康應(yīng)用系統(tǒng)尤其是緊急情況下的數(shù)據(jù)分析與處理帶來巨大挑戰(zhàn)。
霧計(jì)算介于云層與終端設(shè)備層之間,并且在地理位置上更靠近于用戶終端設(shè)備。霧計(jì)算技術(shù)本質(zhì)上是將云的計(jì)算和存儲(chǔ)能力擴(kuò)展到網(wǎng)絡(luò)的邊緣,通過計(jì)算卸載可以為低時(shí)延任務(wù)執(zhí)行提供解決方案[10-12]。因此,在時(shí)延敏感的IoT系統(tǒng)中利用霧計(jì)算技術(shù),可以有效解決數(shù)據(jù)實(shí)時(shí)傳輸與處理的問題。文獻(xiàn)[13]針對(duì)將霧計(jì)算技術(shù)應(yīng)用到醫(yī)療物聯(lián)網(wǎng)生態(tài)系統(tǒng)中存在的技術(shù)和挑戰(zhàn)問題進(jìn)行了綜述。文獻(xiàn)[14]采用基于云、霧結(jié)合的網(wǎng)絡(luò)架構(gòu),主要解決危重病人的數(shù)據(jù)處理時(shí)延問題,根據(jù)人體生理參數(shù)臨界值,本地處理單元采用博弈論討價(jià)還價(jià)的方法對(duì)體域網(wǎng)傳感器數(shù)據(jù)的傳輸進(jìn)行決策,決定數(shù)據(jù)傳輸?shù)皆七€是霧,與基于傳統(tǒng)的云計(jì)算方法相比,該方法無論在功耗還是數(shù)據(jù)傳輸時(shí)延方面都更低。文獻(xiàn)[15]研究人體生理指標(biāo)參數(shù)特征提取問題,通過在智能網(wǎng)關(guān)設(shè)備中集成霧計(jì)算層進(jìn)行心電圖特征提取,可以獲得更快的系統(tǒng)響應(yīng),滿足低時(shí)延處理需求。
此外,在霧計(jì)算輔助的IoT環(huán)境下,如何合理有效地利用霧計(jì)算資源也是目前的一個(gè)研究熱點(diǎn),相關(guān)的工作大多是關(guān)于任務(wù)卸載策略優(yōu)化問題的研究。根據(jù)不同的應(yīng)用特點(diǎn)及需求,設(shè)計(jì)不同的任務(wù)卸載策略,很多研究工作利用博弈論的方法進(jìn)行策略優(yōu)化。然而,目前基于霧計(jì)算的體域網(wǎng)任務(wù)卸載相關(guān)研究尚不多見。
將體域網(wǎng)與霧計(jì)算技術(shù)進(jìn)行結(jié)合,可以滿足體域網(wǎng)的低時(shí)延需求。在這種情況下,資源受限的體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)可將其收集的病人體內(nèi)的生理數(shù)據(jù)處理成可卸載任務(wù),然后按照一定的策略將任務(wù)與數(shù)據(jù)卸載到霧計(jì)算節(jié)點(diǎn),由霧計(jì)算節(jié)點(diǎn)完成相應(yīng)的任務(wù)處理和數(shù)據(jù)存儲(chǔ),最終將結(jié)果提供給相關(guān)的醫(yī)療機(jī)構(gòu)及體域網(wǎng)用戶進(jìn)行讀取以對(duì)疾病進(jìn)行輔助診療。文獻(xiàn)[16]提出基于霧計(jì)算輔助的體域網(wǎng)數(shù)據(jù)交付協(xié)議,根據(jù)該協(xié)議,體域網(wǎng)網(wǎng)關(guān)設(shè)備選擇時(shí)延低與可靠性高的霧節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交付。但是該方法的參數(shù)權(quán)值不能自適應(yīng)調(diào)節(jié),尤其是沒有考慮到病人在緊急狀態(tài)時(shí)對(duì)數(shù)據(jù)處理時(shí)延的高度敏感性,因此不適用于緊急情況。
受以上工作啟發(fā),本文提出基于霧計(jì)算輔助的體域網(wǎng)任務(wù)卸載方法以降低體域網(wǎng)數(shù)據(jù)處理時(shí)延。為了滿足緊急任務(wù)的高度時(shí)延敏感性,在本方案中,對(duì)緊急任務(wù)采用搶占式任務(wù)調(diào)度,從而避免了由于排隊(duì)帶來的時(shí)延;同時(shí),目標(biāo)霧節(jié)點(diǎn)將分配全部CPU資源對(duì)該任務(wù)進(jìn)行處理,以降低緊急任務(wù)總時(shí)延。因而,對(duì)于緊急任務(wù),本文所設(shè)計(jì)方案的總時(shí)延大大降低。此外,所設(shè)計(jì)的方案可以根據(jù)任務(wù)的不同(緊急與否),自適應(yīng)調(diào)整目標(biāo)節(jié)點(diǎn)評(píng)價(jià)尺度,當(dāng)任務(wù)緊急時(shí),以時(shí)延及負(fù)載最低為評(píng)價(jià)尺度進(jìn)行優(yōu)化選擇目標(biāo)評(píng)價(jià)霧節(jié)點(diǎn);當(dāng)任務(wù)非緊急時(shí),以時(shí)延及可靠性為目標(biāo)節(jié)點(diǎn)評(píng)價(jià)尺度,選擇最佳目標(biāo)霧節(jié)點(diǎn),從而確保系統(tǒng)的實(shí)時(shí)性及可靠性。因此,相對(duì)文獻(xiàn)[16],本文所設(shè)計(jì)的方案不僅能夠很好地適應(yīng)緊急情況下的低時(shí)延應(yīng)用需求而且還可以根據(jù)任務(wù)是否緊急,自適應(yīng)調(diào)整優(yōu)化目標(biāo)以選擇最佳任務(wù)處理目標(biāo)霧節(jié)點(diǎn)。
本文的主要貢獻(xiàn)有三個(gè)方面:
(1)提出霧計(jì)算輔助的體域網(wǎng)智慧醫(yī)療系統(tǒng)架構(gòu)。利用霧計(jì)算技術(shù)實(shí)現(xiàn)體域網(wǎng)人體生理參數(shù)的實(shí)時(shí)處理,設(shè)計(jì)了相應(yīng)的體域網(wǎng)任務(wù)卸載算法并進(jìn)行仿真分析,仿真結(jié)果與理論分析結(jié)果一致。
(2)設(shè)計(jì)了目標(biāo)霧節(jié)點(diǎn)的多目標(biāo)選擇評(píng)價(jià)算法。算法綜合引入時(shí)延、接收信號(hào)強(qiáng)度、負(fù)載作為目標(biāo)節(jié)點(diǎn)評(píng)價(jià)尺度,能夠根據(jù)任務(wù)的緊急性自適應(yīng)調(diào)節(jié)相關(guān)評(píng)價(jià)尺度。
(3)根據(jù)來自體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)的任務(wù)的不同特征,目標(biāo)霧計(jì)算節(jié)點(diǎn)采取不同的任務(wù)處理策略。如果任務(wù)緊急,則對(duì)該任務(wù)進(jìn)行搶占式優(yōu)先調(diào)度;否則,需要按照先到先服務(wù)(First Come First Served,F(xiàn)CFS)的調(diào)度策略進(jìn)行排隊(duì),只有等目標(biāo)霧計(jì)算節(jié)點(diǎn)隊(duì)列中的任務(wù)處理完后才可以對(duì)該任務(wù)進(jìn)行處理。
下面將對(duì)本文方案所采用的系統(tǒng)模型、工作原理及算法進(jìn)行介紹。
假設(shè)系統(tǒng)中有K個(gè)霧計(jì)算服務(wù)節(jié)點(diǎn)F,F={Fj|j=1,2,…,K},HUB為體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn),系統(tǒng)模型如圖1所示。
圖1 系統(tǒng)模型Fig.1 System model
當(dāng)病人的體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)Hi的任務(wù)需要卸載時(shí),按如下步驟選擇任務(wù)處理目標(biāo)霧節(jié)點(diǎn)。為了更加直觀表示,圖2給出了系統(tǒng)工作流程圖。
圖2 系統(tǒng)工作流程Fig.2 System working flow
(1)廣播HELLO消息,格式為HELLO:(Di,Tth)。其中,Di代表卸載任務(wù)的數(shù)據(jù)量,Tth代表超時(shí)時(shí)間閾值。
(2)周圍的霧節(jié)點(diǎn)Fj收到消息以后,檢查其存儲(chǔ)空間是否足夠。若,則不回復(fù)消息;若則向Hi發(fā)送ECHO消息。其格式為其中,RSSIj代表接收到的信號(hào)強(qiáng)度,Bj代表剩余帶寬,代表Fj的計(jì)算能力(每秒CPU周期數(shù)),LFj代表Fj的位置坐標(biāo);表示Fj的任務(wù)執(zhí)行隊(duì)列中的第l個(gè)任務(wù)Ql所需要的CPU周期數(shù),代表Fj對(duì)第l個(gè)任務(wù)Ql所分配的CPU比率,Lj代表Fj中正在排隊(duì)的任務(wù)數(shù);代表Fj分配給該任務(wù)的CPU比率,λj表示Fj節(jié)點(diǎn)提供服務(wù)的價(jià)格指數(shù)(為方便分析,本文假定所有霧節(jié)點(diǎn)的價(jià)格指數(shù)均為1,即λj=λ=1)。
(3)Hi對(duì)Tth時(shí)間之內(nèi)回復(fù)ECHO消息的節(jié)點(diǎn)進(jìn)行統(tǒng)計(jì),建立節(jié)點(diǎn)集合Si={Fj|j∈Z+}。
(4)Hi按照式(1)計(jì)算Si中的每個(gè)節(jié)點(diǎn)Fj(j=1,2,…,num(Si))處理請(qǐng)求任務(wù)的耗時(shí),num(Si)表示集合Si的大小。
其中,Ci代表執(zhí)行Hi節(jié)點(diǎn)的任務(wù)所需要的CPU周期數(shù),Di代表卸載任務(wù)的數(shù)據(jù)量表示Hi到霧節(jié)點(diǎn)Fj的數(shù)據(jù)傳輸速率:
其中,pHi表示HUB的發(fā)射功率,σ2表示噪聲干擾功率表示來自其他移動(dòng)終端的干擾,Hij代表Hi與Fj之間的信道增益:
其中,αMj代表小規(guī)模衰減系數(shù),dij代表移動(dòng)體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)Hi與霧計(jì)算節(jié)點(diǎn)Fj之間的距離,βM代表Hi的信道衰減指數(shù),dmax代表Hi的最大通信距離。
式(1)中的三部分分別對(duì)應(yīng)任務(wù)排隊(duì)時(shí)延、任務(wù)處理時(shí)延及任務(wù)上傳時(shí)延(任務(wù)處理結(jié)果數(shù)據(jù)量很小,因而任務(wù)處理結(jié)果的回傳時(shí)延很小,此處忽略不計(jì))。其中,ei代表緊急標(biāo)志位。若任務(wù)緊急(ei=1),該任務(wù)在霧計(jì)算節(jié)點(diǎn)中進(jìn)行搶占調(diào)度,此時(shí)式(1)中的第1項(xiàng)變?yōu)?,因而對(duì)于緊急任務(wù)而言,可以避免由于排隊(duì)造成的時(shí)延;并且此時(shí),式(1)的第2項(xiàng)變?yōu)镃i/fjCPU,代表霧節(jié)點(diǎn)將分配全部CPU資源對(duì)該緊急任務(wù)進(jìn)行處理,緊急任務(wù)的處理時(shí)延也因此得到降低。當(dāng)任務(wù)非緊急(ei=0)時(shí),則采用FCFS方式對(duì)該任務(wù)進(jìn)行調(diào)度,因而非緊急任務(wù)存在排隊(duì)時(shí)延,并且此時(shí)式(1)的第2項(xiàng)變?yōu)镃i/εM fjCPU,代表霧節(jié)點(diǎn)僅將εM(εM<1)比率的CPU資源用于該非緊急任務(wù)的處理??梢姡o急任務(wù)與非緊急任務(wù)的時(shí)延主要差別來自于排隊(duì)時(shí)延與處理時(shí)延,而傳播時(shí)延(式(1)的第3部分)與任務(wù)的緊急與否無關(guān),只與任務(wù)對(duì)應(yīng)的數(shù)據(jù)量及HUB節(jié)點(diǎn)的數(shù)據(jù)傳輸速率有關(guān)。
(5)Hi比較各個(gè)霧計(jì)算節(jié)點(diǎn)處理時(shí)延與任務(wù)期限TExp的關(guān)系。若TExp (6)分別對(duì)Si內(nèi)的各個(gè)霧節(jié)點(diǎn)的時(shí)延TT、信號(hào)強(qiáng)度RSSI及任務(wù)負(fù)載按由小到大進(jìn)行排序,得到對(duì)應(yīng)的集合 其中,TTmin及TTmax分別表示中TT的最小及最大值。 其中,RSSImin及RSSImax分別表示中RSSI的最小及最大值。 (9)按照式(6)對(duì)SQ i中各霧節(jié)點(diǎn)隊(duì)列中的任務(wù)負(fù)載總量進(jìn)行歸一化,得到Q*j: (10)按照式(7)計(jì)算Si中每個(gè)霧節(jié)點(diǎn)的適應(yīng)度函數(shù): (11)按照式(8)選擇目標(biāo)霧節(jié)點(diǎn)Ft: 假設(shè)霧節(jié)點(diǎn)均勻分布于5 km×3 km的平面區(qū)域內(nèi),體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)HUB隨機(jī)移動(dòng)。采用MATLAB對(duì)所提出的算法進(jìn)行仿真。分別對(duì)不同節(jié)點(diǎn)的時(shí)延、系統(tǒng)可靠性、吞吐量指標(biāo)進(jìn)行仿真分析,仿真參數(shù)設(shè)置如表1所示。 表1 仿真參數(shù)Table 1 Simulation parameters 當(dāng)任務(wù)在體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)HUB本地執(zhí)行時(shí),其能耗Elocal為: 其中,pexec為手機(jī)執(zhí)行功率,Texec為任務(wù)執(zhí)行時(shí)間,fHUB為HUB的CPU頻率。 當(dāng)將任務(wù)卸載到霧節(jié)點(diǎn)時(shí),HUB的能耗Eoff為:其中,Talg為算法1運(yùn)行時(shí)間,在本文場(chǎng)景下,仿真可得Talg≈1 ms,由于算法引起的能耗很低,相對(duì)于任務(wù)處理時(shí)間,此處忽略不計(jì)。 由式(9)、(10),定義卸載因子: 其中,ρ為能效系數(shù),當(dāng)fHUB、pexec、Rb及pH一定時(shí)ρ為常數(shù)。參照文獻(xiàn)[17],可取pexec=0.5 W;同時(shí),假設(shè)pH=0.2 W,Rb=4 Mbit/s,此時(shí)當(dāng)γ≥1(Ci≥100Di)時(shí),即任務(wù)對(duì)于CPU計(jì)算資源的要求更高,相對(duì)而言,對(duì)于數(shù)據(jù)傳輸所帶來的信道資源要求較低,此任務(wù)可定義為計(jì)算密集型任務(wù)。對(duì)體域網(wǎng)網(wǎng)關(guān)HUB而言,此時(shí)任務(wù)在本地執(zhí)行的能耗高于卸載時(shí)的能耗,因而應(yīng)將任務(wù)卸載到霧節(jié)點(diǎn)進(jìn)行處理;反之,當(dāng)0<γ<1(0 圖3 代表時(shí)延與任務(wù)所需周期數(shù)Ci的關(guān)系,并分別給出了霧節(jié)點(diǎn)及目標(biāo)節(jié)點(diǎn)Ft在緊急(ei=1)及非緊急(ei=0)共4種情況下所對(duì)應(yīng)的曲線圖。 圖3 時(shí)延與Ci的關(guān)系Fig.3 Relationship of delay with Ci 從圖3中可以看出,隨著Ci的增大,F(xiàn)t及霧節(jié)點(diǎn)在所有情況下的時(shí)延都呈明顯的增大趨勢(shì)。同時(shí),對(duì)于目標(biāo)節(jié)點(diǎn)Ft而言,在兩種情況下的時(shí)延差別明顯,即在ei=1時(shí)的時(shí)延明顯低于在ei=0的時(shí)延;相對(duì)而言,普通霧節(jié)點(diǎn)在ei=1與ei=0兩種情況下的時(shí)延相差不太明顯(緊急時(shí)的時(shí)延均值比非緊急時(shí)略低)。并且,無論任務(wù)是否緊急,目標(biāo)節(jié)點(diǎn)Ft的平均時(shí)延均低于霧節(jié)點(diǎn)的時(shí)延。主要原因在于,當(dāng)任務(wù)緊急時(shí),節(jié)點(diǎn)需要對(duì)任務(wù)采用搶占式調(diào)度方式進(jìn)行處理,因此無論霧節(jié)點(diǎn)的任務(wù)隊(duì)列大小,均優(yōu)先進(jìn)行該任務(wù)的處理,這將大大降低緊急任務(wù)的處理時(shí)延,并且CPU資源全部用于執(zhí)行該任務(wù),也將進(jìn)一步降低任務(wù)時(shí)延。而當(dāng)任務(wù)非緊急時(shí),進(jìn)入霧節(jié)點(diǎn)的任務(wù)按照FCFS方式進(jìn)行調(diào)度。此時(shí),隊(duì)列中的任務(wù)負(fù)荷量將直接決定任務(wù)處理時(shí)延,并且節(jié)點(diǎn)對(duì)排隊(duì)任務(wù)按照一定的比例進(jìn)行CPU計(jì)算資源分配。而在緊急情況下,所有CPU周期將優(yōu)先分配給緊急任務(wù)進(jìn)行處理。 圖4 代表時(shí)延與任務(wù)數(shù)據(jù)量Di的關(guān)系。圖4(a)、(b)分別給出了當(dāng)Di變化時(shí),在任務(wù)緊急(ei=1)及非緊急(ei=0)兩種情況下,霧節(jié)點(diǎn)及目標(biāo)霧節(jié)點(diǎn)Ft的時(shí)延變化趨勢(shì)。 圖4 時(shí)延與Di的關(guān)系Fig.4 Relationship of delay with Di 由圖4可以得到以下結(jié)論: (1)時(shí)延隨機(jī)波動(dòng)。這是由于體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)HUB的位置隨機(jī)變化,引起HUB與霧節(jié)點(diǎn)之間數(shù)據(jù)傳輸速率發(fā)生隨機(jī)變化,導(dǎo)致隨著Di的增長(zhǎng),任務(wù)時(shí)延并非按直線規(guī)律線性增長(zhǎng),而是隨機(jī)起伏,但總體呈上升趨勢(shì)。并且,當(dāng)Di較小時(shí),時(shí)延的變化趨勢(shì)并不明顯。但是隨著Di的增大,無論是滿足條件的集合中的霧節(jié)點(diǎn)還是目標(biāo)霧節(jié)點(diǎn)Ft,其時(shí)延總體上都呈現(xiàn)較為明顯的增長(zhǎng)趨勢(shì)。這是因?yàn)椋?dāng)Di增長(zhǎng)到一定程度以后,由其帶來的時(shí)延增長(zhǎng)將在很大程度上克服系統(tǒng)隨機(jī)性所帶來的時(shí)延波動(dòng),使時(shí)延呈總體上升趨勢(shì)。 (2)圖4(a)中的時(shí)延明顯低于圖4(b)中對(duì)應(yīng)節(jié)點(diǎn)的時(shí)延。圖4(a)中,目標(biāo)霧節(jié)點(diǎn)Ft的時(shí)延均值約為3.2 s,霧節(jié)點(diǎn)的時(shí)延均值約為6.1 s;圖4(b)中,F(xiàn)t節(jié)點(diǎn)的時(shí)延均值約為4.9 s,霧節(jié)點(diǎn)的時(shí)延均值為11.6 s??梢姡簾o論任務(wù)是否緊急,目標(biāo)節(jié)點(diǎn)Ft的時(shí)延都小于普通霧節(jié)點(diǎn)的時(shí)延,這與理論分析是一致的。并且,在緊急情況下的時(shí)延均小于非緊急情況下的時(shí)延,主要原因有兩點(diǎn):第一,緊急時(shí),所有節(jié)點(diǎn)時(shí)延主要取決于任務(wù)周期數(shù)Ci及任務(wù)數(shù)據(jù)量Di,當(dāng)Ci保持不變,增大Di將從總體上導(dǎo)致時(shí)延的增加;在非緊急情況下,節(jié)點(diǎn)時(shí)延除了與Ci、Di的值有關(guān),還與節(jié)點(diǎn)隊(duì)列中的任務(wù)負(fù)載量有關(guān)系,因此在相同的情況下,若考慮任務(wù)負(fù)載,相對(duì)于緊急情況,必然引起節(jié)點(diǎn)更大的時(shí)延。第二,在緊急時(shí)算法是以時(shí)延最低為主要優(yōu)化目標(biāo),而在非緊急時(shí),以時(shí)延及可靠性為主要優(yōu)化目標(biāo),相當(dāng)于對(duì)時(shí)延目標(biāo)進(jìn)行了松弛。 (3)對(duì)比圖4(a)及圖4(b)可以發(fā)現(xiàn),隨著Di的增大,F(xiàn)t節(jié)點(diǎn)在緊急情況相對(duì)于非緊急情況下的時(shí)延增長(zhǎng)速度明顯加快。這是因?yàn)楣?jié)點(diǎn)將對(duì)緊急任務(wù)采用搶占式任務(wù)處理方式進(jìn)行調(diào)度,不需要由于任務(wù)排隊(duì)而帶來額外耗時(shí),數(shù)據(jù)傳輸耗時(shí)將在很大程度上影響節(jié)點(diǎn)時(shí)延,而在數(shù)據(jù)傳輸速率一定的情況下,數(shù)據(jù)傳輸耗時(shí)主要取決于任務(wù)數(shù)據(jù)量Di的大小,因此隨著數(shù)據(jù)量Di的增長(zhǎng),系統(tǒng)時(shí)延明顯增大。 圖5 代表當(dāng)Ci與Di保持不變時(shí),進(jìn)行多輪仿真得到的時(shí)延情況。圖5(a)、(b)分別給出了在任務(wù)非緊急(ei=0)及緊急(ei=1)兩種情況下,霧節(jié)點(diǎn)及目標(biāo)Ft節(jié)點(diǎn)的時(shí)延變化情況。不難發(fā)現(xiàn),在兩種情況下,F(xiàn)t節(jié)點(diǎn)的時(shí)延均明顯低于霧節(jié)點(diǎn)的平均時(shí)延;同時(shí),所有節(jié)點(diǎn)在緊急情況下的時(shí)延均低于在非緊急情況下的時(shí)延;此外,所有節(jié)點(diǎn)的時(shí)延隨著仿真的進(jìn)行而發(fā)生隨機(jī)波動(dòng),這是由體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)HUB的隨機(jī)移動(dòng)性及霧節(jié)點(diǎn)參數(shù)在一定范圍內(nèi)的隨機(jī)性所導(dǎo)致的。 圖5 節(jié)點(diǎn)時(shí)延對(duì)比Fig.5 Comparison of node delay 圖6 為系統(tǒng)時(shí)延及吞吐量與任務(wù)期限TExp之間的關(guān)系曲線。圖中,左軸代表系統(tǒng)時(shí)延,右軸代表系統(tǒng)吞吐量。 圖6 時(shí)延及吞吐量與任務(wù)期限TExp的關(guān)系Fig.6 Relationship of delay and throughput with TExp 由圖6可見,系統(tǒng)吞吐量與延時(shí)呈反比關(guān)系。當(dāng)TExp<6 s時(shí),系統(tǒng)時(shí)延幾乎呈垂直上升趨勢(shì)增長(zhǎng)到無窮大,這是由于當(dāng)TExp設(shè)置太小時(shí),導(dǎo)致滿足條件的節(jié)點(diǎn)集合為空。而在將近6 s時(shí),系統(tǒng)中至少出現(xiàn)了一個(gè)滿足條件的節(jié)點(diǎn),因此系統(tǒng)時(shí)延急劇下降。由吞吐量公式Throu=Di/Tt可知,吞吐量Throu與任務(wù)數(shù)據(jù)量Di及任務(wù)處理總時(shí)間Tt有關(guān)。因此,在6 s以前,當(dāng)系統(tǒng)時(shí)延為無窮大時(shí),系統(tǒng)吞吐量為0(見右軸),而當(dāng)接近6 s,當(dāng)系統(tǒng)時(shí)延陡然下降時(shí),系統(tǒng)吞吐量急劇上升。而后,在TExp>6 s的情況下,增大TExp并不會(huì)顯著改變系統(tǒng)時(shí)延及吞吐量,這是因?yàn)槔碚撋蟃Exp的改變只會(huì)改變滿足條件的霧節(jié)點(diǎn)的個(gè)數(shù)Ns,不管Ns多大,最終的最佳目標(biāo)霧節(jié)點(diǎn)只有一個(gè),因此系統(tǒng)吞吐量并不會(huì)隨著TExp的增長(zhǎng)而呈明顯的增大趨勢(shì)。但是系統(tǒng)的隨機(jī)性導(dǎo)致最終目標(biāo)節(jié)點(diǎn)Ft的時(shí)延的隨機(jī)性,因此當(dāng)TExp>6 s以后,系統(tǒng)時(shí)延呈隨機(jī)起伏,且由于吞吐量與時(shí)延的反比關(guān)系,導(dǎo)致其反方向隨機(jī)波動(dòng)。 圖7 為節(jié)點(diǎn)的接收信號(hào)強(qiáng)度RSSI(Received Signal Strength Indicator)值在不同情況下的對(duì)比。 從圖7中可以看出: 圖7 節(jié)點(diǎn)RSSI在不同情況下的比較Fig.7 Comparison of node RSSI in different cases (1)在ei=0(非緊急)的情況下,目標(biāo)節(jié)點(diǎn)Ft的RSSI值明顯高于普通霧節(jié)點(diǎn)的RSSI值。這是因?yàn)樵诜蔷o急情況下,RSSI值是目標(biāo)Ft節(jié)點(diǎn)選取的重要尺度,此時(shí)系統(tǒng)更傾向于選擇RSSI高及時(shí)延低的節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn)。 (2)目標(biāo)節(jié)點(diǎn)Ft在ei=0時(shí)的接收信號(hào)強(qiáng)度RSSI值明顯高于其在ei=1時(shí)的值。這是因?yàn)?,在非緊急情況下,系統(tǒng)將同時(shí)考慮時(shí)延及可靠性尺度,通過多目標(biāo)優(yōu)化選取最終的目標(biāo)節(jié)點(diǎn)Ft;而在緊急情況下,系統(tǒng)以時(shí)延為主要尺度尋優(yōu)選取目標(biāo)節(jié)點(diǎn)Ft;同樣,對(duì)于普通霧節(jié)點(diǎn)也有相似的結(jié)論,不同的是,對(duì)于普通霧節(jié)點(diǎn)而言,其RSSI值在緊急與非緊急兩種情況下相差不大,當(dāng)ei=1時(shí),其均值約為4.58 pW,而當(dāng)ei=0時(shí),其均值約為4.74 pW,比ei=1時(shí)的值略小。 總之,對(duì)于Ft而言,ei=0時(shí)的RSSI值高于ei=1時(shí)的RSSI值,而RSSI值將直接影響系統(tǒng)丟包率的大小。因此,相對(duì)而言,系統(tǒng)在ei=0時(shí)的可靠性更高,這與理論分析是一致的。 圖8 所示為節(jié)點(diǎn)在不同情況下的負(fù)載情況對(duì)比。圖中,橫坐標(biāo)表示仿真輪數(shù),縱坐標(biāo)表示節(jié)點(diǎn)隊(duì)列的任務(wù)負(fù)載量。 圖8 節(jié)點(diǎn)負(fù)載在不同情況下的對(duì)比Fig.8 Comparison of node load in different cases 由圖8可以得到如下結(jié)論: (1)在緊急情況下(ei=1),Ft節(jié)點(diǎn)的任務(wù)數(shù)在0~1之間波動(dòng),平均值接近于0;而在非緊急情況(ei=0)下,F(xiàn)t的任務(wù)數(shù)最大達(dá)到10,平均值約4.5。由此可見,對(duì)于目標(biāo)節(jié)點(diǎn)Ft而言,緊急時(shí)候的任務(wù)負(fù)載量明顯低于非緊急時(shí)候的任務(wù)負(fù)載量。這是因?yàn)椋诰o急情況下,系統(tǒng)以時(shí)延最低為目標(biāo)優(yōu)化選取最佳目標(biāo)節(jié)點(diǎn)Ft。由式(1)可見,當(dāng)ei=1時(shí),由于霧節(jié)點(diǎn)采用搶占式調(diào)度方式,此時(shí)任務(wù)時(shí)延看似與任務(wù)負(fù)載無關(guān),但是HUB需要為所分配的優(yōu)先服務(wù)而付出代價(jià),具體代價(jià)大小與任務(wù)負(fù)載Q成正比關(guān)系(見式(7))。因此,ei的值直接決定了目標(biāo)節(jié)點(diǎn)的選取是否與任務(wù)負(fù)載Q有關(guān)。即當(dāng)ei=1時(shí),任務(wù)負(fù)載Q與Ft的選取有關(guān),并且此時(shí)Q與時(shí)延指標(biāo)T的權(quán)重系數(shù)都為1,即兩個(gè)參數(shù)的重要程度相同,各對(duì)Ft的選取起1/2的影響作用。 (2)在非緊急情況下(ei=0),由式(7)可見,目標(biāo)節(jié)點(diǎn)Ft的選取受時(shí)延指標(biāo)TT、節(jié)點(diǎn)的接收信號(hào)強(qiáng)度RSSI的影響,并且其權(quán)重系數(shù)相同,各對(duì)Ft的選取起1/2的影響作用。由式(1)可見,此時(shí)任務(wù)隊(duì)列Q及任務(wù)所需CPU周期數(shù)Ci及任務(wù)數(shù)據(jù)量Di三者權(quán)重系數(shù)相同,共同決定總時(shí)延的大小,因此綜合來看,在最終Ft的選擇中Q占據(jù)了1/6比重。 (3)在多目標(biāo)優(yōu)化中,參數(shù)的重要性系數(shù)越大,其對(duì)結(jié)果的影響作用越明顯。因此,綜合上述兩條結(jié)論可知,ei=1時(shí),Q對(duì)目標(biāo)節(jié)點(diǎn)的選取將起到更為顯著的作用。即當(dāng)ei=1時(shí),經(jīng)過優(yōu)化選擇的目標(biāo)霧節(jié)點(diǎn)的負(fù)載水平Q在ei=1概率上必然低于其在ei=0時(shí)的負(fù)載水平,這說明仿真結(jié)果與理論分析是一致的。 (4)不難發(fā)現(xiàn),當(dāng)ei=1時(shí),普通霧節(jié)點(diǎn)與目標(biāo)霧節(jié)點(diǎn)Ft的負(fù)載值有較大差異,F(xiàn)t節(jié)點(diǎn)負(fù)載的最大值為1,均值為0.1,而霧節(jié)點(diǎn)負(fù)載的最大值約為6,均值約為5。由此可見,當(dāng)任務(wù)緊急時(shí),目標(biāo)霧節(jié)點(diǎn)的負(fù)載值明顯低于霧節(jié)點(diǎn)的負(fù)載平均值,與理論分析是一致的。 本文提出了一種基于霧計(jì)算輔助的體域網(wǎng)目標(biāo)霧節(jié)點(diǎn)關(guān)聯(lián)及任務(wù)卸載方法。通過將計(jì)算密集型任務(wù)卸載到霧計(jì)算節(jié)點(diǎn)進(jìn)行處理,本文方法可以降低體域網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)的功耗,同時(shí)利用霧計(jì)算節(jié)點(diǎn)強(qiáng)大的數(shù)據(jù)處理能力,可以大大降低任務(wù)處理時(shí)延,滿足時(shí)延敏感的體域網(wǎng)應(yīng)用需求,尤其是在緊急情況下的應(yīng)用。本文方法可以根據(jù)數(shù)據(jù)及任務(wù)的不同情況,自適應(yīng)調(diào)整系統(tǒng)的優(yōu)化目標(biāo)函數(shù)的評(píng)價(jià)尺度,當(dāng)任務(wù)緊急時(shí),由于對(duì)時(shí)延的要求極高,算法以低時(shí)延為主要優(yōu)化目標(biāo)尋優(yōu)選擇最佳目標(biāo)霧節(jié)點(diǎn);而當(dāng)任務(wù)非緊急時(shí),同時(shí)考慮系統(tǒng)的時(shí)延及可靠性,對(duì)系統(tǒng)進(jìn)行多目標(biāo)優(yōu)化。仿真結(jié)果表明,本文方法能夠兼顧系統(tǒng)的時(shí)延及可靠性指標(biāo)需求,對(duì)于緊急情況下的應(yīng)用,能夠大大降低系統(tǒng)時(shí)延,對(duì)于非緊急情況下的應(yīng)用,系統(tǒng)時(shí)延及可靠性都可以得到保證,滿足了基于體域網(wǎng)的智慧醫(yī)療系統(tǒng)對(duì)系統(tǒng)實(shí)時(shí)性及可靠性的要求。但是,如果網(wǎng)絡(luò)中節(jié)點(diǎn)緊急任務(wù)較多,則本文所提方案需要進(jìn)一步針對(duì)任務(wù)的不同屬性劃分優(yōu)先級(jí),對(duì)高優(yōu)先級(jí)的任務(wù)進(jìn)行優(yōu)先調(diào)度,同時(shí)設(shè)計(jì)合理的機(jī)制防止低優(yōu)先級(jí)及非緊急任務(wù)饑餓,這將是下一步的研究方向。2 仿真與分析
2.1 仿真環(huán)境設(shè)置
2.2 能耗分析
2.3 仿真結(jié)果分析
3 總結(jié)