王汝言,劉宇哲,張普寧,亢旭源,李學芳
(1.重慶郵電大學 通信與信息工程學院,重慶 400065; 2.重慶高校市級光通信與網絡重點實驗室,重慶 400065;3.泛在感知與互聯重慶市重點實驗室,重慶 400065)
隨著智能感知設備的大規模部署,在物聯網中準確獲取用戶興趣信息[1]的難度也在不斷加大,因此物聯網搜索技術應運而生。物聯網搜索[2]是指通過使用相應的策略與方法從物理世界中獲取各種結構化的實體信息(如物體、人、網頁等)并對其進行存儲與管理[3],便于用戶搜索。而由于物聯網中物理實體信息[4]的海量性與異構性[5]及搜索的高實時性[6]要求,傳統互聯網搜索模式[7-8]已不適用于物聯網搜索[9],因此如何在由海量異構物理實體組成的物理世界中精準、高效地獲取用戶興趣信息已成為亟需解決的問題。研究人員將云計算技術[10]應用于物聯網搜索中,為用戶提供一個安全可靠的數據存儲單元,并將通過泛在網絡連接的海量計算資源進行統一管理與調度。文獻[11]將HTTP與MQTT相結合,在物聯網-云架構下實現物聯網的部分功能。文獻[12]通過在云端建立數據庫存儲傳感器采集的數據以方便用戶搜索。文獻[13]設計一種基于云計算的物聯網搜索和發現方法,查詢鄰近實體狀態信息。文獻[14]提出一種云端數據共享搜索方法SeDaSC,將數據加密后存儲至云端,用戶通過服務器遞交訪問請求后再從云端搜索數據。文獻[15]提出一種層次化搜索方法LHPM,在網關接收用戶搜索請求后,通過查找相應傳感器并讀取數據返還搜索結果至用戶。然而,受限于傳感器的計算、通信與存儲能力,傳感器與云端之間的通信距離過長[16],導致搜索時延較大。
邊緣計算的提出為解決物聯網搜索的實時性問題提供了新思路。由于云計算適用于非實時、長周期數據,而邊緣計算[17]在實時、短周期數據及本地決策等場景中有較大優勢,因此文獻[18]指出可將邊緣服務器作為傳感器與云端通信的中介,在邊緣處理本地化數據后再與云端進行交互,從而提高搜索效率。文獻[19]通過在邊緣建立深度學習模型計算和處理來自原始傳感器的數據。文獻[20]利用邊緣計算來最小化物聯網異構化數據的處理延遲。
由于現有研究結合云端和邊緣的特點設計物聯網搜索方法,但未考慮物理實體的狀態數據與用戶搜索特征,并且物理實體的狀態時變性[21]差異較大,用戶在不同時段對不同實體的訪問興趣度有所區別,因此將實體狀態數據全部存儲于邊緣或云端無法滿足用戶獲取實體的準確性和實時性需求。
本文針對物聯網搜索的實時性和準確性需求,考慮物理實體狀態差異化分布的特征,提出面向物聯網搜索的邊云協同實體搜索方法(Edge and Cloud Collaborative Entity Search Method,ECCS),結合云計算與邊緣計算的優勢,設計適用于物聯網搜索的邊云協同實體搜索架構,提高物聯網實體搜索效率。利用面向邊緣側的實體識別算法準確區分熱門與冷門實體,將強時變性、高訪問度的熱門實體狀態信息存儲于邊緣側,弱時變性、低訪問度的冷門實體狀態信息存儲于云端,以保障搜索時效性和準確性,改善用戶搜索體驗。
邊云協同的物聯網搜索系統架構如圖1所示,將物聯網搜索系統分為3層:第1層為智慧實體層,實體所附傳感器采集實體狀態信息并上傳;第2層為邊緣層,由搜索系統的邊緣服務器構成,邊緣服務器采用實體識別方法,依據收集到的實體狀態信息對實體進行分類;第3層為云端層,云端服務器對邊緣服務器進行統一管理。

圖1 邊云協同的物聯網搜索系統架構Fig.1 Architecture of edge and cloud collaborative search system in IoT
在傳統物聯網搜索模式中,用戶通過與云端中心服務器直接通信發出搜索請求以獲得搜索結果,云端中心服務器收到請求后需要遍歷匹配的傳感器以獲得實體的狀態信息。但由于用戶與云端中心服務器的通信距離過長,當搜尋時變性較強的實體時,用戶接收到的云端中心服務器反饋的結果已無法準確反映實體當前的狀態。而邊緣服務器靠近用戶與實體,從邊緣服務器獲取實體狀態信息相較于傳統搜索方式能保障用戶獲取的實體狀態信息的時效性。
邊云協同實體搜索方法的具體步驟如下:
1)智慧實體關聯的傳感器采集到數據后,將采集到的實體狀態信息周期性上傳至上層網關,每個網關下轄有多個智慧實體。
2)各網關將智慧實體狀態信息上傳至其上層的邊緣服務器。
3)邊緣服務器接收到下轄網關上傳的實體狀態信息后,結合本地的搜索記錄,采用實體識別算法對實體進行識別與分類。
4)邊緣服務器將識別出的強時變性、高訪問度的熱門實體存儲在邊緣服務器中,并將弱時變性、低訪問度的冷門實體狀態信息上傳至云端。
5)云端服務器存儲并處理邊緣服務器上傳的冷門實體的狀態信息。
6)用戶通過鄰近的邊緣服務器提交對實體狀態信息的搜索請求。
7)邊緣服務器接收到用戶發出的搜索請求后,對搜索請求信息進行解析,并對請求實體的類別進行判別。
8)邊緣服務器若識別用戶請求信息為存儲在用戶鄰近邊緣服務器的熱門實體狀態信息,則直接將此信息反饋給用戶;否則從云端下載實體狀態信息反饋給用戶,完成此次搜索過程。
將強時變性、高訪問度的熱門實體信息存儲于靠近用戶的邊緣側處理,可有效解決因通信距離過長所產生的時延導致搜索反饋結果精度較低的問題。因此,本文提出面向邊緣側的實體識別方法,在邊緣側對實體進行有效區分。
在邊緣服務器中執行實體識別算法,如圖2所示,對于邊緣服務器覆蓋范圍內的實體,由于覆蓋范圍內的實體數目有限,因此收集覆蓋范圍內嵌入實體中的傳感器所上傳的實體狀態信息以及用戶對于物理實體狀態信息的搜索記錄,并在此基礎上建立深度學習模型,通過實體的多維度特征,甄別熱門實體與冷門實體。在區分實體后,將強時變性、高訪問度的熱門實體狀態信息(如圖2中實體1、實體3所示)存儲在邊緣服務器中,由邊緣服務器處理并存儲,弱時變性、低訪問度的冷門實體狀態信息(如圖2中實體2、實體4所示)則上傳至云端存儲,在用戶有訪問需要時進行調用。

圖2 實體識別分類存儲Fig.2 Entity recognition classification and storage
實體識別算法基于深度信念網絡(Deep Belief Network,DBN)模型[22]進行實體狀態信息與用戶訪問特征的提取,進而采用K-means聚類[23]算法對實體類別進行無監督劃分,算法流程如圖3所示,主要分為實體特征提取與實體識別分類兩部分。

圖3 基于深度信念網絡的實體識別算法流程Fig.3 Procedure of entity recognition algorithm based on deep belief network
特征提取是實體識別算法中最重要的環節,對該算法而言,只需將實體最終區分為熱門實體與冷門實體,而單個實體通常具有多個特征,直接對多個特征進行識別分類顯然將影響分類結果的精度,因此利用特征提取將多個實體特征通過屬性間的關系進行組合以改變特征空間從而達到降維的效果,減輕分類算法的負擔,提高分類準確度。
深度信念網絡為由多層受限玻爾茲曼機[24](Restricted Boltzmann Machines,RBM)組成的神經網絡。RBM由顯層(v)和隱層(h)構成,顯層由顯性神經元組成,用于接收輸入的實體狀態特征;隱層由隱性神經元組成,用于提取實體狀態特征。DBN的訓練是逐層進行,在每一層中使用最底層的數據向量來推斷隱層,再將該隱層作為下一層的數據向量。
實體特征提取的具體步驟如下:
1)充分訓練第1層RBM1。
2)固定RBM1的權重和偏移量,然后使用得到的隱性神經元的狀態,作為第2層RBM2的輸入向量。
3)在充分訓練RBM2后,將RBM2堆疊在RBM1的上方。
4)重復以上步驟直至DBN收斂,從而得到降維后的實體特征。
在圖3中,輸入的實體特征xi包括實體狀態變化頻率、實體狀態變化幅度、實體狀態采樣周期、實體訪問頻率、實體搜索次數、實體訪問時間、實體訪問次數和實體評分。顯層接收到輸入特征后得到其神經元狀態向量vi,v=[v1,v2,…,vn],隱層神經元狀態向量hj,h=[h1,h2,…,hm],其中n和m為顯層和隱層神經元數量。若給定(v,h),則能量函數的計算公式為:
(1)
其中,θ={a,b,w}為RBM中的實體參數集,ai∈a為顯層神經元的偏置,bj∈b為隱層神經元的偏置,wij∈w為連接顯層與隱層的權值。RBM在參數θ下的聯合概率分布為:
(2)

(3)
通過DBN對實體特征進行訓練后,可得到實體特征集合D={h1,h2,…,hj}。為有效區分實體的類別,從而對實體狀態信息的存儲位置進行決策,本文進一步采用K-means聚類算法對特征集合進行聚類分析,算法步驟具體如下:
1)從實體特征集合D={h1,h2,…,hj}中隨機選取{x1,x2,…,xk}個特征作為簇中心。
2)對剩余的每個實體特征,測量其到每個簇中心的歐氏距離(如式(4)所示),并將其歸類到最近的簇中。
(4)
其中,D表示處理后實體特征的個數。
3)K-means聚類算法在每次迭代時,需要更新對應的簇中心:對應簇中所有實體特征對象的均值,即更新后該類簇的簇中心。第k個簇中心的更新方式為:
(5)
其中,Ck表示第k個簇,|Ck|表示第k個簇中實體特征的個數。
4)迭代步驟2和步驟3直至新的簇中心與原簇中心相等或小于指定閾值,則算法收斂。
在聚類算法結束后,得到熱門實體與冷門實體的集合,邊緣服務器根據分類結果進行決策,將熱門實體集合所對應的實體狀態信息存儲至本地,冷門實體集合所對應的實體狀態信息上傳至云端。
本文所用數據集為經過歸一化及抽樣處理后的Intellab[25]數據集,該數據集包含54個部署在不同位置的溫度與濕度傳感器所采集上傳的數據,樣本數為10 000。開發環境為64位Windows 10操作系統,處理器為Intel?CoreTMi5-3337U,內存為8 GB,CPU 1.80 GHz,開發工具為Matlab R2017b。DBN參數設置如表1所示,在K-means聚類中K值為2,性能驗證結果均為搜索1 000次后的平均值。

表1 深度信念網絡參數設置Table 1 Parameters setting of deep belief network
圖4為基于深度信念網絡的實體識別算法分類結果。可以看出,經過算法提取實體特征后將實體分為兩類,即熱門實體與冷門實體。圖5為基于深度信念網絡的實體識別算法在不同實體數量下提取特征并進行分類所需時長,可以看出隨著實體數量的增多,算法提取實體特征并進行分類所需時長也隨之增加,這是由于實體數量的增加導致計算開銷增加,從而引起計算時間變長。

圖4 基于深度信念網絡的實體識別算法分類結果Fig.4 Classification results of entity recognition algorithm based on deep belief network

圖5 不同實體數量下的實體識別算法運行時間Fig.5 Running time of entity recognition algorithm with different number of entities
經過基于深度信念網絡的實體識別算法將實體分類后,對強時變性的實體進行仿真驗證。將熱門實體狀態信息存儲在邊緣服務器及云端并分別執行ECCS與SeDaSC方法后,對該類實體所得到的搜索結果進行對比,結果如圖6所示。其中,ECCS方法搜索得到溫度數據的平均誤差為1.200 5 ℃,SeDaSC方法搜索得到溫度數據的平均誤差為5.270 8 ℃,LHPM方法搜索得到溫度數據的平均誤差為8.211 9 ℃。可以看出,對于強時變性的實體,由于通信時延的緣故,因此存儲在邊緣服務器后得到的搜索結果遠比存儲在云端精確。

圖6 云端與邊緣服務器的熱門實體搜索結果對比Fig.6 Comparison of popular entity search results between cloud and edge servers
查準率和查全率計算公式如式(6)、式(7)所示:
(6)
(7)
其中:S1為指定搜索傳感器數值范圍后,傳感器搜索結果集合;S2表示在搜索結果集合S1中,傳感器真實數值在給定范圍中的傳感器集合;S3表示所有真實數值在給定范圍內的傳感器集合。
圖7、圖8為不同用戶容忍度誤差下,熱門實體存儲在邊緣服務器與云端的查準率與查全率對比。

圖7 不同容忍度誤差下熱門實體的查準率對比Fig.7 Comparison of the precision of popular entities at different tolerance degree errors

圖8 不同容忍度誤差下熱門實體的查全率對比Fig.8 Comparison of the recall of popular entities at different tolerance degree errors
可以看出,由于熱門實體強時變性的關系,并且從邊緣服務器中搜索數據的時延較短,所獲取的搜索結果與真實值更為接近,因此將熱門實體狀態信息存儲在邊緣服務器后進行搜索得到的查準率與查全率遠高于云端。同時,隨著用戶對于搜索結果的容忍度誤差的增大,搜索查準率與查全率通常也有少量增長,這是因為隨著容忍度誤差的增大,搜索結果所允許的數值范圍變大,導致集合S2中傳感器個數增多以及查準率與查全率的增長。
圖9、圖10為隨著搜索方法運行時間的增長,所得到搜索結果的查準率與查全率情況。可以看出,ECCS方法的查準率和查全率穩定程度均高于SeDaSC方法和LHPM方法。這是由于熱門實體強時變的特性,在ECCS方法中,邊緣服務器靠近用戶的特性,從邊緣服務器獲取搜索結果的時延較短,用戶在獲取到搜索結果前實體當前狀態不容易發生改變,搜索結果與實體當前狀態的匹配率更高,因此查準率和查全率波動較小。在SeDaSC方法中,長距離通信的時延較大,在用戶獲取搜索結果前實體狀態發生變化的概率較大,因此搜索結果并不匹配實體當前狀態,從而使得查準率與查全率波動較明顯。在LHPM方法中,網關接收并解析用戶的搜索請求后,需要訪問搜索請求所匹配的傳感器并獲取數據,由于通信距離過長,返回搜索結果時實體狀態已經發生改變,因此查準率與查全率波動較大。

圖9 3種搜索方法的查準率對比Fig.9 Comparison of the precision of three search methods

圖10 3種搜索方法的查全率對比Fig.10 Comparison of the recall of three search methods
圖11為隨著搜索方法運行時間的增加,從邊緣服務器和云端搜索數據的時延波動情況。可以看出,隨著搜索方法運行時間的增長,ECCS方法所耗費時延的波動范圍與波動程度均小于SeDaSC方法和LHPM方法。這是由于用戶與邊緣服務器的通信距離較短,通信穩定程度較高,因此時延波動較小;云服務器與用戶之間的通信距離過長,同時與云服務器通信的終端數目較大,出現擁塞或排隊的概率較高,從而導致時延的波動較大。

圖11 3種搜索方法的時延對比Fig.11 Comparison of the time delay of three search methods
物理世界中存在海量狀態時變性較強的實體,并且用戶對獲取實體信息的實時性要求較高。針對強時變性實體的搜索問題,本文提出面向物聯網的邊云協同實體搜索方法。構建邊云協同的實體搜索系統架構,聯合云端與邊緣側協同進行實體信息搜索,并采用基于深度信念網絡的實體識別算法準確區分熱門與冷門實體。仿真結果表明,該搜索方法相比傳統搜索方法可有效提升實體狀態信息搜索的實時性與準確性。下一步將針對用戶個人偏好進行物理實體信息研究,提高搜索引擎智能化水平。