瞿國慶 彭志偉 楊桂松
1(江蘇商貿(mào)職業(yè)學院電子與信息學院 江蘇 南通 226010)2(上海理工大學光電信息與計算機工程學院 上海 200093)3(江蘇省物聯(lián)網(wǎng)與視覺智能處理工程技術研究開發(fā)中心 江蘇 南通 226010)
隨著傳感技術的迅速發(fā)展,物聯(lián)網(wǎng)在各個領域中的應用也越來越廣泛[1]。作為一種物物相連,融合各種傳感設備和傳輸設備的復雜系統(tǒng),物聯(lián)網(wǎng)形成了自己獨特的體系結構[2]。典型的物聯(lián)網(wǎng)結構具有三個層次,即感知層、網(wǎng)絡層和數(shù)據(jù)處理層[3]。感知層由各類傳感器節(jié)點組成,用于收集最底層的傳感數(shù)據(jù);網(wǎng)絡層將傳感器收集到的數(shù)據(jù)以各種網(wǎng)絡形式通過路由協(xié)議傳輸給基站或移動收集器;數(shù)據(jù)處理層對收集到的數(shù)據(jù)進行融合、分析、處理。
對于感知層和網(wǎng)絡層的功能,可通過部署無線傳感器網(wǎng)絡實現(xiàn)。作為一種流行的數(shù)據(jù)獲取方法,無線傳感器網(wǎng)絡已經(jīng)被廣泛應用在智能工業(yè)領域[4],承擔工廠自動化、故障診斷、燃料消耗監(jiān)控、工業(yè)控制等任務。對于數(shù)據(jù)處理層的功能,則通過將數(shù)據(jù)上傳到云,利用其強大的存儲以及計算能力進行處理越來越受到關注[5-6]。目前,云和物聯(lián)網(wǎng)相結合的架構方案已經(jīng)在多個方面得以應用。例如將云計算與物聯(lián)網(wǎng)兩種技術結合在醫(yī)療監(jiān)控和管理領域,首先建立醫(yī)療信息遠程監(jiān)控云平臺的模型體系結構,然后通過對該結構的分析提出了一種用于云計算的醫(yī)學監(jiān)測和管理應用算法[7]。又例如在分析海洋領域的物聯(lián)網(wǎng)的基礎上,提出建立海洋物聯(lián)網(wǎng)云計算的簡化模型,并提出海洋數(shù)據(jù)處理算法來指引船舶,使其能夠盡快以最短的距離到達目標航線[8]。然而,隨著物聯(lián)網(wǎng)接入設備的爆炸式增長,數(shù)據(jù)量也呈指數(shù)級增長,傳統(tǒng)的集中式云架構面臨網(wǎng)絡負載過大、端到端延時過長等問題[9]。為了滿足與實時物聯(lián)網(wǎng)應用相關的嚴格的服務質(zhì)量要求,同時最大限度地提高整體效率,云架構正在變得越來越分散[10],網(wǎng)絡邊緣存在小型云節(jié)點,比如霧節(jié)點[11],進而形成了霧架構的物聯(lián)網(wǎng)通信機制的雛形。
基于以上問題,本文提出一種基于霧架構的工業(yè)物聯(lián)網(wǎng)通信機制與算法,如圖1所示。工業(yè)現(xiàn)場的各種傳感器節(jié)點組成了一個大的無線傳感器網(wǎng)絡,無線傳感器網(wǎng)絡內(nèi)相互間能夠進行通信的節(jié)點組成獨立的子網(wǎng),子網(wǎng)間的傳感器節(jié)點由于間距超過通信范圍而不能互相傳遞信息。為了節(jié)省傳感器節(jié)點的能量,在不需要采集數(shù)據(jù)時節(jié)點可以處于休眠狀態(tài)。移動收集器可以在子網(wǎng)內(nèi)及子網(wǎng)間中隨機移動,且移動收集器上安裝有霧服務器,從而形成移動霧節(jié)點。在該研究通信機制與算法中,霧節(jié)點具有比普通傳感器節(jié)點更強的計算能力、更大的存儲空間以及更多的能量存儲,它將扮演兩個角色,其一是進行數(shù)據(jù)收集,其二是對收集的數(shù)據(jù)進行分類處理。對于數(shù)據(jù)收集,在任意子網(wǎng)內(nèi),移動霧節(jié)點可以在任意時間的任意位置通過廣播喚醒消息,開啟一個數(shù)據(jù)收集周期,收到喚醒消息的節(jié)點將不再休眠直到完成該數(shù)據(jù)收集周期。在數(shù)據(jù)收集期間,移動霧節(jié)點保持靜止,而傳感器節(jié)點通過使用基于期望傳輸能耗的路由機制將數(shù)據(jù)轉(zhuǎn)發(fā)到霧節(jié)點。對于數(shù)據(jù)的分類處理,霧節(jié)點可以實現(xiàn)對實時性要求高、數(shù)據(jù)量不大、計算復雜度不高、成本要求低等特點的數(shù)據(jù)的本地化處理,而對于實時性要求低、數(shù)據(jù)量大、計算復雜度大等特點的數(shù)據(jù),霧節(jié)點可以通過因特網(wǎng)將數(shù)據(jù)上傳到云,由存儲能力、計算能力更強,但成本也更高的云進行處理。該機制可以有效收集工業(yè)現(xiàn)場的傳感數(shù)據(jù),并利用霧架構對傳感數(shù)據(jù)進行分析處理,最終幫助改善工業(yè)現(xiàn)場應用。
圖1 基于霧架構的工業(yè)物聯(lián)網(wǎng)通信機制
網(wǎng)絡模型以工業(yè)傳感網(wǎng)為背景,根據(jù)實際需要,傳感器節(jié)點將被部署在工業(yè)現(xiàn)場的不同區(qū)域,每一個區(qū)域形成一個相互連通的子網(wǎng)。但節(jié)點間的鏈路存在鏈路可靠性問題,鏈路可靠性反映節(jié)點間的鏈路的可靠程度[12],它和節(jié)點間的鏈路質(zhì)量、節(jié)點的休眠機制、節(jié)點的剩余能量等因素有關。對于任意相連節(jié)點Si和Sj,它們之間的鏈路可靠性可以用Rij表示,且Rij∈(0,1]。
由于子網(wǎng)間的距離超過節(jié)點的通信半徑,所以各子網(wǎng)之間是不連通的,而所有的子網(wǎng)組成了一個完整的工業(yè)傳感網(wǎng)。傳感器節(jié)點具有唯一的ID,通信半徑為r,而為了節(jié)省能量,節(jié)點采用休眠機制。該網(wǎng)絡支持多個移動收集器同時進行數(shù)據(jù)收集,每一個移動收集器具有唯一的ID,且配備霧服務器,因此成為移動霧節(jié)點。以一個移動霧節(jié)點為例,移動霧節(jié)點可以在子網(wǎng)內(nèi)或子網(wǎng)間隨機移動,并在進行數(shù)據(jù)收集時保持靜止。移動霧節(jié)點能量充足且易補充,它具有一個長通信半徑Rl以及一個短通信半徑Rs。Rl用于廣播喚醒消息以開啟一個數(shù)據(jù)收集周期且在不同的周期內(nèi)可調(diào),Rs用于數(shù)據(jù)傳輸且一直等于r。
所有傳感器節(jié)點都采用一個簡化的能耗模型[13]。根據(jù)該模型,在數(shù)據(jù)轉(zhuǎn)發(fā)的過程中,能耗由傳輸能耗和接收能耗組成,其中Si傳輸B比特數(shù)據(jù)到Sj的傳輸能耗可以表示為:
(1)
Sj接收B比特數(shù)據(jù)的接收能耗可以表示為:
ER(j)=EelecB
(2)
式中:Eelec表示傳輸或接收每比特數(shù)據(jù)的基礎能耗;εamp表示傳輸放大器的能耗;d(i,j)表示Si和Sj之間的距離。因此,Si傳輸B比特數(shù)據(jù)到Sj這一過程的總能耗可以表示為:
(3)
本文采用一種基于霧架構的工業(yè)物聯(lián)網(wǎng)通信機制與算法來有效收集網(wǎng)絡中的傳感數(shù)據(jù),并進一步對數(shù)據(jù)進行分類處理。在該機制與算法中,移動霧節(jié)點可以在子網(wǎng)內(nèi)及子網(wǎng)間游走并收集傳感數(shù)據(jù)。在數(shù)據(jù)收集期間,移動霧節(jié)點保持靜止,并通過調(diào)整其發(fā)射半徑?jīng)Q定數(shù)據(jù)收集范圍。
為了開啟一個數(shù)據(jù)收集周期,在任意一個子網(wǎng)中,移動霧節(jié)點可以在任意時間以及任意位置以Rl為半徑廣播一個喚醒消息(包含其ID),此時該移動霧節(jié)點保持靜止直到完成該數(shù)據(jù)收集任務。而收到喚醒消息的節(jié)點將成為該周期內(nèi)的數(shù)據(jù)收集對象,此時,它們將不再休眠,直到數(shù)據(jù)收集完成。
對于當前數(shù)據(jù)收集范圍內(nèi)的節(jié)點,通過使用接收信號強度指示(RSSI)技術來估計其到移動霧節(jié)點的距離[14],該值將用于計算其期望最小能耗(EMC)。節(jié)點的期望最小能耗將保存在節(jié)點本地,并將用于數(shù)據(jù)傳輸過程中的轉(zhuǎn)發(fā)器選擇,從而降低整個數(shù)據(jù)傳輸?shù)哪芎摹?/p>
對于數(shù)據(jù)收集范圍內(nèi)的任意一個節(jié)點Si,其期望最小能耗為:
(4)
為了求得Si將B比特數(shù)據(jù)轉(zhuǎn)發(fā)到移動霧節(jié)點的最小能耗,首先假設Si可以沿著一條h跳的路徑將B比特數(shù)據(jù)轉(zhuǎn)發(fā)到移動霧節(jié)點。為了便于說明,在接下來的驗證過程中,使用Si+j表示從Si經(jīng)過j跳到達的節(jié)點,因此Si+h表示移動霧節(jié)點。然后,根據(jù)式(3),該轉(zhuǎn)發(fā)過程的能耗可以表示為:
(5)
為了獲得ECi(h)的最小值,對式(5)使用均值不等式進行變換,可以得到ECi(h):
(6)
進一步考慮該路徑上任意相鄰節(jié)點的距離之和小于Si到移動霧節(jié)點之間的直線距離,即:
(7)
因此ECi(h)的最小值為:
(8)
(9)
(10)
即:
(11)
本文提出一種面向期望傳輸能耗的路由機制(T-scheme),該機制設計了度量期望傳輸能耗(ECexpected)來衡量節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)能力,該值越小,節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)能力越強。當節(jié)點需要選擇轉(zhuǎn)發(fā)器將數(shù)據(jù)發(fā)送到移動霧節(jié)點時,分別計算該節(jié)點的所有鄰居的期望傳輸能耗,并從中選擇期望傳輸能耗最小的節(jié)點作為轉(zhuǎn)發(fā)器。
為了使期望傳輸能耗這一度量對于節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)能力的衡量更加全面,本文考慮對于任意不在移動霧節(jié)點一跳范圍內(nèi)的節(jié)點Si,其數(shù)據(jù)轉(zhuǎn)發(fā)到該移動霧節(jié)點的過程可以劃分為兩個過程。如圖2所示,過程一是Si將數(shù)據(jù)轉(zhuǎn)發(fā)到其鄰居,過程二是該鄰居將數(shù)據(jù)轉(zhuǎn)發(fā)到移動霧節(jié)點。
圖2 期望傳輸能耗計算模型
針對過程一,對于每一個候選轉(zhuǎn)發(fā)器,以Sj為例,首先計算Si和Sj之間能夠?qū)崿F(xiàn)的數(shù)據(jù)傳輸可靠性,但是為了更全面地衡量Sj的數(shù)據(jù)傳輸能力,進一步計算當Sj廣播數(shù)據(jù)包時其能夠?qū)崿F(xiàn)的數(shù)據(jù)傳輸可靠性。在此基礎上,分別計算為了達到可靠性閾值對應的需要傳輸數(shù)據(jù)包的次數(shù),進而可以求得該過程的期望傳輸能耗ECprocess1。針對過程二,使用候選轉(zhuǎn)發(fā)器的期望最小能耗作為該過程的期望傳輸能耗ECprocess2來衡量其未來的數(shù)據(jù)轉(zhuǎn)發(fā)能力。基于此,對于Si的候選轉(zhuǎn)發(fā)器,其期望傳輸能耗為:
ECexpected(j)=ECprocess1(j)+ECprocess2(j)
(12)
式中:j∈Fi,F(xiàn)i是Si的候選轉(zhuǎn)發(fā)器集,而在選擇候選轉(zhuǎn)發(fā)器時,本文考慮節(jié)點的剩余能量,并設置剩余能量閾值Eτ,只有當節(jié)點的剩余能量大于該閾值時,才可以成為候選轉(zhuǎn)發(fā)器。
對于式(12)中的ECprocess1(j),首先計算Si與其候選轉(zhuǎn)發(fā)器集Fi中的任意候選轉(zhuǎn)發(fā)器Sj之間能夠?qū)崿F(xiàn)的數(shù)據(jù)傳輸可靠性:
RE(i,j)=Rij
(13)
為了進一步衡量Sj的數(shù)據(jù)轉(zhuǎn)發(fā)能力,繼續(xù)計算當Sj廣播數(shù)據(jù)時,該節(jié)點能夠?qū)崿F(xiàn)的數(shù)據(jù)傳輸可靠性:
(14)
式中:Fj表示Sj的候選轉(zhuǎn)發(fā)器集;Rjk表示Sj與其候選轉(zhuǎn)發(fā)器Sk之間的鏈路可靠性。
為了實現(xiàn)一定的數(shù)據(jù)傳輸可靠性,基于式(13)以及式(14),可分別計算Si和Sj之間的需要傳輸?shù)拇螖?shù)n1,以及Sj需要廣播的次數(shù)n2,計算過程如下:
(15)
式中:RET表示可靠性閾值。
通過不等式變換,可分別求得n1和n2的值:
(16)
分別取n1和n2的最小值并代入式(17),ECprocess1(j)可以表示為:
(17)
式中:C1=ET(i,j)+|Fj|×ER(j),C0=Etotal(i,j)。
對于式(12)中的ECprocess2(j),如上所述,其可以表示為:
ECprocess2(j)=EMC(j)
(18)
式中:Sj的期望最小能耗已經(jīng)在初始化階段保存在節(jié)點本地。
因此,將式(17)和式(18)代入式(12)可得ECexpected(j):
(19)
本文所提出的T-scheme路由機制如算法1所示。
算法1T-scheme路由機制
1. 當Si需要轉(zhuǎn)發(fā)數(shù)據(jù)包到移動霧節(jié)點時:
2. if(移動霧節(jié)點在Si的通信范圍內(nèi))
3.Si將數(shù)據(jù)包轉(zhuǎn)發(fā)給移動霧節(jié)點;
4. else
5. 從Si的鄰居中選擇候選轉(zhuǎn)發(fā)器集Fi;
6. forSi的任意一個鄰居Sj
7. if(Sj的剩余能量大于Eτ)
8.Fi←sj;
9. end if
10. end for
11. forFi中的任意一個節(jié)點Sk
12. 根據(jù)式(17)計算ECprocess1(k);
13. 根據(jù)式(18)計算ECprocess2(k);
14. 根據(jù)式(19)計算ECexpected(k);
15. end for
16. 選擇ECexpected值最小的節(jié)點St作為轉(zhuǎn)發(fā)器;
17.Si將數(shù)據(jù)包轉(zhuǎn)發(fā)給St;
18.St重復2-17直到該數(shù)據(jù)包被轉(zhuǎn)發(fā)到移動霧節(jié)點;
19. end if
圖3 轉(zhuǎn)發(fā)器選擇
在工業(yè)環(huán)境下,由無線傳感器網(wǎng)絡采集的數(shù)據(jù)量可以是巨大的,如何有效處理這些數(shù)據(jù)從而改善工業(yè)生產(chǎn)是一個重要的問題。云平臺具有豐富的資源,有強大的計算能力、存儲能力等,因此將傳感器的感知數(shù)據(jù)上傳到云平臺進行數(shù)據(jù)處理可以提高數(shù)據(jù)處理的效率。但是,工業(yè)現(xiàn)場通常情況復雜,特別是有些緊急情況需要及時處理。而云平臺實時性差,又存在傳輸可靠性不高等缺點,因而不能完全適應工業(yè)環(huán)境。相比于云平臺,霧平臺雖然計算能力、存儲能力不如云平臺,但其更靠近傳感器設備,能夠更及時地處理某些數(shù)據(jù),其數(shù)據(jù)傳輸可靠性也較高。基于此,本文提出一種面向期望傳輸能耗的工業(yè)霧架構通信機制,用于工業(yè)現(xiàn)場的數(shù)據(jù)采集以及分析處理。
該機制中,移動收集器可以在子網(wǎng)內(nèi)及子網(wǎng)間中隨機移動,且移動收集器上安裝有霧服務器,從而形成霧節(jié)點。霧節(jié)點具有比普通傳感器節(jié)點更強的計算能力、更大的存儲空間以及更多的能量存儲,它將扮演兩個角色:其一是進行數(shù)據(jù)收集;其二是對收集的數(shù)據(jù)進行分類處理。在數(shù)據(jù)收集期間,霧節(jié)點保持靜止,而傳感器節(jié)點通過使用基于期望傳輸能耗的路由機制將數(shù)據(jù)轉(zhuǎn)發(fā)到霧節(jié)點。對于數(shù)據(jù)分類處理,霧節(jié)點可以實現(xiàn)對實時性要求高、數(shù)據(jù)量不大、計算復雜度不高、成本要求低等特點的數(shù)據(jù)的本地化處理。而對于實時性要求低、數(shù)據(jù)量大、計算復雜度大等特點的數(shù)據(jù),霧節(jié)點可以通過因特網(wǎng)將數(shù)據(jù)上傳到云,由存儲能力、計算能力更強,但成本也更高的云進行處理。
本文提出的收集機制與算法可以有效地收集工業(yè)現(xiàn)場的傳感數(shù)據(jù),并利用基于霧節(jié)點和云后臺相結合的云霧架構對傳感數(shù)據(jù)進行分析處理,最終幫助改善工業(yè)現(xiàn)場應用,并且該方法不需要大量的操作人員參與,減少了人工成本,進一步降低了企業(yè)的生產(chǎn)成本。
通過仿真實驗將提出的面向期望傳輸能耗的路由機制(T-scheme)與經(jīng)典的數(shù)據(jù)收集算法ExOR[15]、POFA[16]的進行對比,主要考慮能耗(EC)、第一死亡節(jié)點(FDN)。
在T-scheme以及POFA中,都涉及參數(shù)可靠性閾值RET。為了設計合理的RET,本文首先對不同鏈路可靠性的節(jié)點對間能夠?qū)崿F(xiàn)的可靠性隨傳輸次數(shù)的變化進行了實驗,結果如圖4所示??梢钥闯觯词乖阪溌房煽啃暂^低的情況下,比如Rij=0.4,經(jīng)過兩次傳輸也能實現(xiàn)大約0.65的可靠性,因此這里統(tǒng)一設置可靠性閾值為RET=0.7。
圖4 實現(xiàn)的可靠性隨著傳輸次數(shù)變化
傳感器節(jié)點的初始能量為0.5 J,通信半徑為20 m,移動霧節(jié)點的短通信半徑Rs,固定為20 m,其長通信半徑可調(diào)。數(shù)據(jù)包大小為1 kbits,在一個數(shù)據(jù)收集周期內(nèi),對于每一個節(jié)點,移動霧節(jié)點只收集一次。能量閾值大小用節(jié)點的剩余能量占其初始能量的百分比來衡量,當節(jié)點的剩余能量小于該閾值時,節(jié)點將不再充當數(shù)據(jù)轉(zhuǎn)發(fā)中繼。
能耗(EC)定義為源節(jié)點向霧節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)的過程中消耗的能量。為了評估提出算法的能耗性能,選擇一個400 m×400 m的子網(wǎng),其中移動霧節(jié)點的長通信半徑Rl為110 m,源節(jié)點到該移動霧節(jié)點的距離等于Rl的80%,而節(jié)點的能量閾值為20%。
圖5展示了三種算法的EC隨著節(jié)點密度的增加而增加,這主要是因為網(wǎng)絡密度的擴展不僅改善了網(wǎng)絡連通性,也增加了節(jié)點的鄰居數(shù)量,使得節(jié)點在尋找轉(zhuǎn)發(fā)器時有了更多的選擇,這增加了源節(jié)點到霧節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)路徑的跳數(shù),進而增加了能耗。T-scheme表現(xiàn)得優(yōu)于POFA,但劣于ExOR。POFA為了實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的可靠性犧牲了能耗,使其在EC上表現(xiàn)最差。而對于T-scheme,在每一跳的數(shù)據(jù)轉(zhuǎn)發(fā)中,節(jié)點為了計算期望傳輸能耗而耗費的能量使其在EC上的表現(xiàn)遜于ExOR,且隨著節(jié)點鄰居數(shù)量的增加,該差距增加。
圖5 EC隨著網(wǎng)絡密度變化
圖6展示了三種算法的EC隨著Rl的增加而增加,該子網(wǎng)中部署了1 000個節(jié)點。隨著Rl的增加,從源節(jié)點到霧節(jié)點的距離增加,因此在源節(jié)點向霧節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)中所花費的跳數(shù)也增加,進而增加了EC。T-scheme的EC高于ExOR,主要原因是在每一跳的數(shù)據(jù)轉(zhuǎn)發(fā)中對于節(jié)點的期望傳輸能耗的計算,而且該計算次數(shù)隨著路徑上跳數(shù)的增加而增加。
圖6 EC隨著Rl變化
第一死亡節(jié)點(FDN)定義為網(wǎng)絡中出現(xiàn)第一個因能量耗盡而死亡的節(jié)點的時間。當網(wǎng)絡中出現(xiàn)第一個死亡節(jié)點時,網(wǎng)絡連通性開始變差,網(wǎng)絡分區(qū)的可能性增加,因此數(shù)據(jù)傳輸失敗的概率也將增加。為了評估提出算法的第一死亡節(jié)點性能,選擇一個200 m×200 m的子網(wǎng),其中節(jié)點數(shù)量為200。移動霧節(jié)點的長通信半徑Rl為80 m。
圖7展示了三種算法的FDN隨著節(jié)點的能量閾值的增大而降低。POFA表現(xiàn)最差,T-scheme表現(xiàn)最好。在POFA中,因為數(shù)據(jù)包重傳消耗了節(jié)點大量的能量,造成節(jié)點過快死亡。而在ExOR中,其數(shù)據(jù)包重傳的概率大于T-scheme,這增加了某些節(jié)點的能耗,進而降低了其FDN。
圖7 FDN隨著能量閾值變化
本文提出了一種基于霧架構的工業(yè)物聯(lián)網(wǎng)通信機制與算法。該機制利用配備霧服務器的移動收集器作為移動霧節(jié)點進行數(shù)據(jù)收集,在數(shù)據(jù)收集期間,節(jié)點使用提出的基于期望傳輸能耗的路由機制將感知數(shù)據(jù)轉(zhuǎn)發(fā)到該霧節(jié)點。當數(shù)據(jù)收集完成后,霧節(jié)點對數(shù)據(jù)進行分類,一部分數(shù)據(jù)在本地處理,另一部分數(shù)據(jù)將上傳到云,從而合理地利用云霧架構實現(xiàn)對數(shù)據(jù)的高效分析處理。實驗仿真數(shù)據(jù)表明,該通信機制可以有效地收集工業(yè)現(xiàn)場的傳感數(shù)據(jù),數(shù)據(jù)包投遞率、能耗等指標比其他數(shù)據(jù)收集算法更具有優(yōu)越性,減少了人工成本,降低了企業(yè)的生產(chǎn)成本,為改善工業(yè)現(xiàn)場應用提供了新的解決思路。