王汝言,劉宇哲,張普寧,亢旭源,李學芳
(1.重慶郵電大學 通信與信息工程學院,重慶 400065; 2.重慶高校市級光通信與網(wǎng)絡重點實驗室,重慶 400065;3.泛在感知與互聯(lián)重慶市重點實驗室,重慶 400065)
隨著智能感知設備的大規(guī)模部署,在物聯(lián)網(wǎng)中準確獲取用戶興趣信息[1]的難度也在不斷加大,因此物聯(lián)網(wǎng)搜索技術應運而生。物聯(lián)網(wǎng)搜索[2]是指通過使用相應的策略與方法從物理世界中獲取各種結(jié)構(gòu)化的實體信息(如物體、人、網(wǎng)頁等)并對其進行存儲與管理[3],便于用戶搜索。而由于物聯(lián)網(wǎng)中物理實體信息[4]的海量性與異構(gòu)性[5]及搜索的高實時性[6]要求,傳統(tǒng)互聯(lián)網(wǎng)搜索模式[7-8]已不適用于物聯(lián)網(wǎng)搜索[9],因此如何在由海量異構(gòu)物理實體組成的物理世界中精準、高效地獲取用戶興趣信息已成為亟需解決的問題。研究人員將云計算技術[10]應用于物聯(lián)網(wǎng)搜索中,為用戶提供一個安全可靠的數(shù)據(jù)存儲單元,并將通過泛在網(wǎng)絡連接的海量計算資源進行統(tǒng)一管理與調(diào)度。文獻[11]將HTTP與MQTT相結(jié)合,在物聯(lián)網(wǎng)-云架構(gòu)下實現(xiàn)物聯(lián)網(wǎng)的部分功能。文獻[12]通過在云端建立數(shù)據(jù)庫存儲傳感器采集的數(shù)據(jù)以方便用戶搜索。文獻[13]設計一種基于云計算的物聯(lián)網(wǎng)搜索和發(fā)現(xiàn)方法,查詢鄰近實體狀態(tài)信息。文獻[14]提出一種云端數(shù)據(jù)共享搜索方法SeDaSC,將數(shù)據(jù)加密后存儲至云端,用戶通過服務器遞交訪問請求后再從云端搜索數(shù)據(jù)。文獻[15]提出一種層次化搜索方法LHPM,在網(wǎng)關接收用戶搜索請求后,通過查找相應傳感器并讀取數(shù)據(jù)返還搜索結(jié)果至用戶。然而,受限于傳感器的計算、通信與存儲能力,傳感器與云端之間的通信距離過長[16],導致搜索時延較大。
邊緣計算的提出為解決物聯(lián)網(wǎng)搜索的實時性問題提供了新思路。由于云計算適用于非實時、長周期數(shù)據(jù),而邊緣計算[17]在實時、短周期數(shù)據(jù)及本地決策等場景中有較大優(yōu)勢,因此文獻[18]指出可將邊緣服務器作為傳感器與云端通信的中介,在邊緣處理本地化數(shù)據(jù)后再與云端進行交互,從而提高搜索效率。文獻[19]通過在邊緣建立深度學習模型計算和處理來自原始傳感器的數(shù)據(jù)。文獻[20]利用邊緣計算來最小化物聯(lián)網(wǎng)異構(gòu)化數(shù)據(jù)的處理延遲。
由于現(xiàn)有研究結(jié)合云端和邊緣的特點設計物聯(lián)網(wǎng)搜索方法,但未考慮物理實體的狀態(tài)數(shù)據(jù)與用戶搜索特征,并且物理實體的狀態(tài)時變性[21]差異較大,用戶在不同時段對不同實體的訪問興趣度有所區(qū)別,因此將實體狀態(tài)數(shù)據(jù)全部存儲于邊緣或云端無法滿足用戶獲取實體的準確性和實時性需求。
本文針對物聯(lián)網(wǎng)搜索的實時性和準確性需求,考慮物理實體狀態(tài)差異化分布的特征,提出面向物聯(lián)網(wǎng)搜索的邊云協(xié)同實體搜索方法(Edge and Cloud Collaborative Entity Search Method,ECCS),結(jié)合云計算與邊緣計算的優(yōu)勢,設計適用于物聯(lián)網(wǎng)搜索的邊云協(xié)同實體搜索架構(gòu),提高物聯(lián)網(wǎng)實體搜索效率。利用面向邊緣側(cè)的實體識別算法準確區(qū)分熱門與冷門實體,將強時變性、高訪問度的熱門實體狀態(tài)信息存儲于邊緣側(cè),弱時變性、低訪問度的冷門實體狀態(tài)信息存儲于云端,以保障搜索時效性和準確性,改善用戶搜索體驗。
邊云協(xié)同的物聯(lián)網(wǎng)搜索系統(tǒng)架構(gòu)如圖1所示,將物聯(lián)網(wǎng)搜索系統(tǒng)分為3層:第1層為智慧實體層,實體所附傳感器采集實體狀態(tài)信息并上傳;第2層為邊緣層,由搜索系統(tǒng)的邊緣服務器構(gòu)成,邊緣服務器采用實體識別方法,依據(jù)收集到的實體狀態(tài)信息對實體進行分類;第3層為云端層,云端服務器對邊緣服務器進行統(tǒng)一管理。
圖1 邊云協(xié)同的物聯(lián)網(wǎng)搜索系統(tǒng)架構(gòu)Fig.1 Architecture of edge and cloud collaborative search system in IoT
在傳統(tǒng)物聯(lián)網(wǎng)搜索模式中,用戶通過與云端中心服務器直接通信發(fā)出搜索請求以獲得搜索結(jié)果,云端中心服務器收到請求后需要遍歷匹配的傳感器以獲得實體的狀態(tài)信息。但由于用戶與云端中心服務器的通信距離過長,當搜尋時變性較強的實體時,用戶接收到的云端中心服務器反饋的結(jié)果已無法準確反映實體當前的狀態(tài)。而邊緣服務器靠近用戶與實體,從邊緣服務器獲取實體狀態(tài)信息相較于傳統(tǒng)搜索方式能保障用戶獲取的實體狀態(tài)信息的時效性。
邊云協(xié)同實體搜索方法的具體步驟如下:
1)智慧實體關聯(lián)的傳感器采集到數(shù)據(jù)后,將采集到的實體狀態(tài)信息周期性上傳至上層網(wǎng)關,每個網(wǎng)關下轄有多個智慧實體。
2)各網(wǎng)關將智慧實體狀態(tài)信息上傳至其上層的邊緣服務器。
3)邊緣服務器接收到下轄網(wǎng)關上傳的實體狀態(tài)信息后,結(jié)合本地的搜索記錄,采用實體識別算法對實體進行識別與分類。
4)邊緣服務器將識別出的強時變性、高訪問度的熱門實體存儲在邊緣服務器中,并將弱時變性、低訪問度的冷門實體狀態(tài)信息上傳至云端。
5)云端服務器存儲并處理邊緣服務器上傳的冷門實體的狀態(tài)信息。
6)用戶通過鄰近的邊緣服務器提交對實體狀態(tài)信息的搜索請求。
7)邊緣服務器接收到用戶發(fā)出的搜索請求后,對搜索請求信息進行解析,并對請求實體的類別進行判別。
8)邊緣服務器若識別用戶請求信息為存儲在用戶鄰近邊緣服務器的熱門實體狀態(tài)信息,則直接將此信息反饋給用戶;否則從云端下載實體狀態(tài)信息反饋給用戶,完成此次搜索過程。
將強時變性、高訪問度的熱門實體信息存儲于靠近用戶的邊緣側(cè)處理,可有效解決因通信距離過長所產(chǎn)生的時延導致搜索反饋結(jié)果精度較低的問題。因此,本文提出面向邊緣側(cè)的實體識別方法,在邊緣側(cè)對實體進行有效區(qū)分。
在邊緣服務器中執(zhí)行實體識別算法,如圖2所示,對于邊緣服務器覆蓋范圍內(nèi)的實體,由于覆蓋范圍內(nèi)的實體數(shù)目有限,因此收集覆蓋范圍內(nèi)嵌入實體中的傳感器所上傳的實體狀態(tài)信息以及用戶對于物理實體狀態(tài)信息的搜索記錄,并在此基礎上建立深度學習模型,通過實體的多維度特征,甄別熱門實體與冷門實體。在區(qū)分實體后,將強時變性、高訪問度的熱門實體狀態(tài)信息(如圖2中實體1、實體3所示)存儲在邊緣服務器中,由邊緣服務器處理并存儲,弱時變性、低訪問度的冷門實體狀態(tài)信息(如圖2中實體2、實體4所示)則上傳至云端存儲,在用戶有訪問需要時進行調(diào)用。
圖2 實體識別分類存儲Fig.2 Entity recognition classification and storage
實體識別算法基于深度信念網(wǎng)絡(Deep Belief Network,DBN)模型[22]進行實體狀態(tài)信息與用戶訪問特征的提取,進而采用K-means聚類[23]算法對實體類別進行無監(jiān)督劃分,算法流程如圖3所示,主要分為實體特征提取與實體識別分類兩部分。
圖3 基于深度信念網(wǎng)絡的實體識別算法流程Fig.3 Procedure of entity recognition algorithm based on deep belief network
特征提取是實體識別算法中最重要的環(huán)節(jié),對該算法而言,只需將實體最終區(qū)分為熱門實體與冷門實體,而單個實體通常具有多個特征,直接對多個特征進行識別分類顯然將影響分類結(jié)果的精度,因此利用特征提取將多個實體特征通過屬性間的關系進行組合以改變特征空間從而達到降維的效果,減輕分類算法的負擔,提高分類準確度。
深度信念網(wǎng)絡為由多層受限玻爾茲曼機[24](Restricted Boltzmann Machines,RBM)組成的神經(jīng)網(wǎng)絡。RBM由顯層(v)和隱層(h)構(gòu)成,顯層由顯性神經(jīng)元組成,用于接收輸入的實體狀態(tài)特征;隱層由隱性神經(jīng)元組成,用于提取實體狀態(tài)特征。DBN的訓練是逐層進行,在每一層中使用最底層的數(shù)據(jù)向量來推斷隱層,再將該隱層作為下一層的數(shù)據(jù)向量。
實體特征提取的具體步驟如下:
1)充分訓練第1層RBM1。
2)固定RBM1的權(quán)重和偏移量,然后使用得到的隱性神經(jīng)元的狀態(tài),作為第2層RBM2的輸入向量。
3)在充分訓練RBM2后,將RBM2堆疊在RBM1的上方。
4)重復以上步驟直至DBN收斂,從而得到降維后的實體特征。
在圖3中,輸入的實體特征xi包括實體狀態(tài)變化頻率、實體狀態(tài)變化幅度、實體狀態(tài)采樣周期、實體訪問頻率、實體搜索次數(shù)、實體訪問時間、實體訪問次數(shù)和實體評分。顯層接收到輸入特征后得到其神經(jīng)元狀態(tài)向量vi,v=[v1,v2,…,vn],隱層神經(jīng)元狀態(tài)向量hj,h=[h1,h2,…,hm],其中n和m為顯層和隱層神經(jīng)元數(shù)量。若給定(v,h),則能量函數(shù)的計算公式為:
(1)
其中,θ={a,b,w}為RBM中的實體參數(shù)集,ai∈a為顯層神經(jīng)元的偏置,bj∈b為隱層神經(jīng)元的偏置,wij∈w為連接顯層與隱層的權(quán)值。RBM在參數(shù)θ下的聯(lián)合概率分布為:
(2)
(3)
通過DBN對實體特征進行訓練后,可得到實體特征集合D={h1,h2,…,hj}。為有效區(qū)分實體的類別,從而對實體狀態(tài)信息的存儲位置進行決策,本文進一步采用K-means聚類算法對特征集合進行聚類分析,算法步驟具體如下:
1)從實體特征集合D={h1,h2,…,hj}中隨機選取{x1,x2,…,xk}個特征作為簇中心。
2)對剩余的每個實體特征,測量其到每個簇中心的歐氏距離(如式(4)所示),并將其歸類到最近的簇中。
(4)
其中,D表示處理后實體特征的個數(shù)。
3)K-means聚類算法在每次迭代時,需要更新對應的簇中心:對應簇中所有實體特征對象的均值,即更新后該類簇的簇中心。第k個簇中心的更新方式為:
(5)
其中,Ck表示第k個簇,|Ck|表示第k個簇中實體特征的個數(shù)。
4)迭代步驟2和步驟3直至新的簇中心與原簇中心相等或小于指定閾值,則算法收斂。
在聚類算法結(jié)束后,得到熱門實體與冷門實體的集合,邊緣服務器根據(jù)分類結(jié)果進行決策,將熱門實體集合所對應的實體狀態(tài)信息存儲至本地,冷門實體集合所對應的實體狀態(tài)信息上傳至云端。
本文所用數(shù)據(jù)集為經(jīng)過歸一化及抽樣處理后的Intellab[25]數(shù)據(jù)集,該數(shù)據(jù)集包含54個部署在不同位置的溫度與濕度傳感器所采集上傳的數(shù)據(jù),樣本數(shù)為10 000。開發(fā)環(huán)境為64位Windows 10操作系統(tǒng),處理器為Intel?CoreTMi5-3337U,內(nèi)存為8 GB,CPU 1.80 GHz,開發(fā)工具為Matlab R2017b。DBN參數(shù)設置如表1所示,在K-means聚類中K值為2,性能驗證結(jié)果均為搜索1 000次后的平均值。
表1 深度信念網(wǎng)絡參數(shù)設置Table 1 Parameters setting of deep belief network
圖4為基于深度信念網(wǎng)絡的實體識別算法分類結(jié)果??梢钥闯?經(jīng)過算法提取實體特征后將實體分為兩類,即熱門實體與冷門實體。圖5為基于深度信念網(wǎng)絡的實體識別算法在不同實體數(shù)量下提取特征并進行分類所需時長,可以看出隨著實體數(shù)量的增多,算法提取實體特征并進行分類所需時長也隨之增加,這是由于實體數(shù)量的增加導致計算開銷增加,從而引起計算時間變長。
圖4 基于深度信念網(wǎng)絡的實體識別算法分類結(jié)果Fig.4 Classification results of entity recognition algorithm based on deep belief network
圖5 不同實體數(shù)量下的實體識別算法運行時間Fig.5 Running time of entity recognition algorithm with different number of entities
經(jīng)過基于深度信念網(wǎng)絡的實體識別算法將實體分類后,對強時變性的實體進行仿真驗證。將熱門實體狀態(tài)信息存儲在邊緣服務器及云端并分別執(zhí)行ECCS與SeDaSC方法后,對該類實體所得到的搜索結(jié)果進行對比,結(jié)果如圖6所示。其中,ECCS方法搜索得到溫度數(shù)據(jù)的平均誤差為1.200 5 ℃,SeDaSC方法搜索得到溫度數(shù)據(jù)的平均誤差為5.270 8 ℃,LHPM方法搜索得到溫度數(shù)據(jù)的平均誤差為8.211 9 ℃。可以看出,對于強時變性的實體,由于通信時延的緣故,因此存儲在邊緣服務器后得到的搜索結(jié)果遠比存儲在云端精確。
圖6 云端與邊緣服務器的熱門實體搜索結(jié)果對比Fig.6 Comparison of popular entity search results between cloud and edge servers
查準率和查全率計算公式如式(6)、式(7)所示:
(6)
(7)
其中:S1為指定搜索傳感器數(shù)值范圍后,傳感器搜索結(jié)果集合;S2表示在搜索結(jié)果集合S1中,傳感器真實數(shù)值在給定范圍中的傳感器集合;S3表示所有真實數(shù)值在給定范圍內(nèi)的傳感器集合。
圖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
可以看出,由于熱門實體強時變性的關系,并且從邊緣服務器中搜索數(shù)據(jù)的時延較短,所獲取的搜索結(jié)果與真實值更為接近,因此將熱門實體狀態(tài)信息存儲在邊緣服務器后進行搜索得到的查準率與查全率遠高于云端。同時,隨著用戶對于搜索結(jié)果的容忍度誤差的增大,搜索查準率與查全率通常也有少量增長,這是因為隨著容忍度誤差的增大,搜索結(jié)果所允許的數(shù)值范圍變大,導致集合S2中傳感器個數(shù)增多以及查準率與查全率的增長。
圖9、圖10為隨著搜索方法運行時間的增長,所得到搜索結(jié)果的查準率與查全率情況??梢钥闯?ECCS方法的查準率和查全率穩(wěn)定程度均高于SeDaSC方法和LHPM方法。這是由于熱門實體強時變的特性,在ECCS方法中,邊緣服務器靠近用戶的特性,從邊緣服務器獲取搜索結(jié)果的時延較短,用戶在獲取到搜索結(jié)果前實體當前狀態(tài)不容易發(fā)生改變,搜索結(jié)果與實體當前狀態(tài)的匹配率更高,因此查準率和查全率波動較小。在SeDaSC方法中,長距離通信的時延較大,在用戶獲取搜索結(jié)果前實體狀態(tài)發(fā)生變化的概率較大,因此搜索結(jié)果并不匹配實體當前狀態(tài),從而使得查準率與查全率波動較明顯。在LHPM方法中,網(wǎng)關接收并解析用戶的搜索請求后,需要訪問搜索請求所匹配的傳感器并獲取數(shù)據(jù),由于通信距離過長,返回搜索結(jié)果時實體狀態(tài)已經(jīng)發(fā)生改變,因此查準率與查全率波動較大。
圖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為隨著搜索方法運行時間的增加,從邊緣服務器和云端搜索數(shù)據(jù)的時延波動情況??梢钥闯?隨著搜索方法運行時間的增長,ECCS方法所耗費時延的波動范圍與波動程度均小于SeDaSC方法和LHPM方法。這是由于用戶與邊緣服務器的通信距離較短,通信穩(wěn)定程度較高,因此時延波動較小;云服務器與用戶之間的通信距離過長,同時與云服務器通信的終端數(shù)目較大,出現(xiàn)擁塞或排隊的概率較高,從而導致時延的波動較大。
圖11 3種搜索方法的時延對比Fig.11 Comparison of the time delay of three search methods
物理世界中存在海量狀態(tài)時變性較強的實體,并且用戶對獲取實體信息的實時性要求較高。針對強時變性實體的搜索問題,本文提出面向物聯(lián)網(wǎng)的邊云協(xié)同實體搜索方法。構(gòu)建邊云協(xié)同的實體搜索系統(tǒng)架構(gòu),聯(lián)合云端與邊緣側(cè)協(xié)同進行實體信息搜索,并采用基于深度信念網(wǎng)絡的實體識別算法準確區(qū)分熱門與冷門實體。仿真結(jié)果表明,該搜索方法相比傳統(tǒng)搜索方法可有效提升實體狀態(tài)信息搜索的實時性與準確性。下一步將針對用戶個人偏好進行物理實體信息研究,提高搜索引擎智能化水平。