李 波,楊國才
(1.重慶工程學(xué)院計算機與物聯(lián)網(wǎng)學(xué)院,重慶400056;2.西南大學(xué)計算機與信息科學(xué)學(xué)院,重慶 400715)
高效率、低能耗的資源尋址模型,是當(dāng)前物聯(lián)網(wǎng)領(lǐng)域的一項重要技術(shù),它是現(xiàn)代信息技術(shù)的一個重要組成部分,它是指將具有一定感知、計算或執(zhí)行能力的不同遙感設(shè)備部署到物理世界中,通過聯(lián)網(wǎng)設(shè)備進行信息的傳輸、協(xié)調(diào)和處理,從而實現(xiàn)人與人之間的交互,其特點是具有普遍感知、互聯(lián)共享、智能服務(wù)等特征。以互聯(lián)網(wǎng)體系結(jié)構(gòu)(感知層、傳輸層、應(yīng)用層)三維體系為基礎(chǔ),以網(wǎng)絡(luò)的形式緊密地聯(lián)系到一起,通過數(shù)據(jù)查詢、智能感知以及數(shù)據(jù)傳輸和識別,滿足現(xiàn)代人與人之間的生活交流和工作交流[1]。萬年紅,王雪蓉[2]為提高物聯(lián)網(wǎng)底層信息資源尋址效果,基于對云環(huán)境下的物聯(lián)網(wǎng)底層尋址服務(wù)的信任度評估準則等方面的研究,改進信任驅(qū)動算法,提出一個云信任驅(qū)動的物聯(lián)網(wǎng)信息資源尋址模型,設(shè)計并采用特定約束條件,信任陡度函數(shù),云信任度評估準則及信任約束系數(shù)建立尋址模型,該模型有良好的底層資源尋址效果。劉毅[3]介紹了編碼式分簇射孔的發(fā)展?fàn)顩r,自主研發(fā)的固地址編碼式自動尋址模型原理及在分簇射孔中的應(yīng)用,建立了資源尋址賦值矩陣,通過計算尋址平均等待時間,統(tǒng)一底層信任編碼,實現(xiàn)對尋址模型的設(shè)計。但兩個傳統(tǒng)模型與預(yù)期的效率能耗之間,存在一定差距,因此提出構(gòu)建一個基于云信任度評估的物聯(lián)網(wǎng)海量底層資源尋址模型。云信任度評估也就是對海量網(wǎng)絡(luò)資源的數(shù)據(jù)評估,根據(jù)數(shù)據(jù)的可靠度,估計底層資源的總體云信任度,為尋址模型在海量數(shù)據(jù)中的快速、高效與可靠尋址,提供更加科學(xué)的技術(shù)手段。此次研究充分發(fā)揮云信任度評估的特點,優(yōu)化原有尋址模型,加強用戶對物聯(lián)網(wǎng)資源使用的體驗效果。
構(gòu)建物聯(lián)網(wǎng)海量底層資源尋址模型,預(yù)先制定編碼方案。傳統(tǒng)模型制定的編碼方案存在三點問題:編碼規(guī)范差異較大、識別設(shè)備受限以及適用范圍有限。此次研究摒棄現(xiàn)有規(guī)范,按照物聯(lián)網(wǎng)海量底層資源尋址要求,制定全新的編碼方案,將編碼作為實體的第二標識碼,相當(dāng)于給每個實體,設(shè)置了新的標簽。因此結(jié)合CPC編碼和uCode編碼,提出一個由6個字段組成的IECode編碼規(guī)范。該編碼采用64位的十六進制表示,滿足絕大多數(shù)與物聯(lián)網(wǎng)相連接資源的標識,其頂級域編碼為5位,區(qū)域碼和劃分代碼分別為9位和1位,實體類別碼和序列號為32位,實體說明碼為17位。其中頂級域編碼代表城市網(wǎng)絡(luò)資源;區(qū)域碼代表城市中的政府、企業(yè)、學(xué)校以及其它機構(gòu)的網(wǎng)絡(luò)資源;劃分代碼整個字段用于類別劃分的顯示,因此該代碼可以對實體類別碼和序列號進行劃分,其中A-F屬于保留位[4]。劃分代碼的劃分規(guī)則如圖1所示。

圖1 編碼劃分規(guī)則
實體類別碼和序列號,分別用于類別識別和類別標識,使每一個底層資源均有一個唯一的編號;實體說明碼用于描述資源的詳細信息。設(shè)置的IECode編碼雖然是定長的,但符合樹狀層次的基本模式,對不同類別的資源標識有明確區(qū)分,具有海量資源中的唯一性和可識別性,因此符合構(gòu)建海量底層資源尋址模型的基本要求[5]。
為使尋址模型獲取的底層資源更加精準,采用元胞更新模型尋址規(guī)則。假設(shè)物聯(lián)網(wǎng)中存在的所有節(jié)點的集合為W={w1,w2,…,wn},其中集合內(nèi)任意兩個節(jié)點間的有效鏈路,以組合排列的形式構(gòu)成元胞空間T,則存在

(1)
公式中:i,j=1,2,…,n;k∈M;每一個階段均為一個元胞。用S表示元胞的有限離散狀態(tài)集,則存在S={s1,s2,s3},其中s1表示底層資源傳輸狀態(tài);s2表示底層資源等待狀態(tài);s3表示底層資源空閑狀態(tài)。則三種狀態(tài)分別為中心元胞、鄰居元胞以及空閑元胞。則元胞鏈路鄰居關(guān)系的計算表達式為:
G={Tk*|difference(Tk1-Tk2)≤η,Tk1,Tk2∈Tk}
(2)
公式中:difference(Tk1-Tk2)表示兩個鏈路排列組合之間的差別;G表示元胞鏈路鄰居關(guān)系;η表示相差程度[6]。下圖2是對計算所獲元胞鏈路,鄰居關(guān)系的詳細說明。

圖2 元胞關(guān)系示意圖
根據(jù)圖2中的元胞位置關(guān)系可知,元胞[52]有8個鄰居元胞,當(dāng)元胞[52]與元胞[0]聯(lián)系時,元胞[52]處于s1狀態(tài),此時鄰居元胞為s2狀態(tài),除此之外的其它元胞,則為s3狀態(tài)。此時元胞[52]與元胞[0]之間的鏈路差別,就可以用來描述鏈路的鄰居關(guān)系。根據(jù)上述分析,設(shè)置四步流程,實現(xiàn)對模型尋址規(guī)則的更新。設(shè)置演進規(guī)則為Z:St→St+1,則第一步初始化基本參數(shù),定義元胞狀態(tài);第二步假設(shè)空閑元胞的數(shù)量為Qn,鄰居元胞的數(shù)量為Pn,通過判斷不同類型的元胞狀態(tài),設(shè)置下一跳鏈路:當(dāng)中心元胞周圍有Qn個空閑元胞時,中心元胞通過空閑元胞到下一跳節(jié)點;當(dāng)中心元胞周圍沒有空閑元胞,只存在Pn個鄰居元胞時,則通過鄰居元胞到下一跳節(jié)點;當(dāng)中心元胞周圍沒有任何元胞時,說明所有元胞均處在傳輸狀態(tài),因此中心元胞將底層資源存儲到緩存當(dāng)中,接收到某一元胞發(fā)送的釋放消息后,再到下一步。第三步根據(jù)拓撲結(jié)構(gòu)的動態(tài)變化,利用式(2)建立多徑傳輸鏈路,選擇其中最優(yōu)的數(shù)據(jù)鏈路,實現(xiàn)自由選擇;第四步更新鏈路,存儲多徑路由信息,實現(xiàn)對模型尋址規(guī)則的實時更新[7]。
在構(gòu)建尋址模型過程中,對于物聯(lián)網(wǎng)海量底層資源尋址,是通過模型上層、下層網(wǎng)絡(luò)結(jié)構(gòu)相互協(xié)作來實現(xiàn)的,其中利用上層網(wǎng)絡(luò)中的超級結(jié)點路由區(qū)域,定位以及搜索下層網(wǎng)絡(luò)結(jié)構(gòu)中獲得的海量底層資源。其中上層網(wǎng)絡(luò)定位搜索,參考第一節(jié)制定的尋址編碼方案,對底層信息進行搜索;下層網(wǎng)絡(luò)的海量底層資源定位,則利用下圖3所示的方法進行[8]。

圖3 物聯(lián)網(wǎng)底層資源搜索算法
該算法假設(shè)節(jié)點K26,發(fā)起底層資源查詢的編碼為IECode-1的資源信息,默認該資源信息的節(jié)點為K32,則模型的資源尋址過程,可簡化利用計算K26,尋找節(jié)點K32。在搜索算法控制下,尋址模型利用計算K26,查看自身旳資源信息表,檢索是否有IECode-1信息,有則直接獲取資源對應(yīng)的地址信息,沒有則轉(zhuǎn)到鏈路a。利用鏈路a將節(jié)點K26的數(shù)據(jù),發(fā)送給K0。然后K0根據(jù)IECode-1提取資源是否在本區(qū)域內(nèi),若在則轉(zhuǎn)到鏈路b1;若不在則轉(zhuǎn)到鏈路b2。利用K0查詢自身的資源信息表,同樣檢索IECode-1信息,若有則轉(zhuǎn)到鏈路d,若沒有則向邏輯超級節(jié)點集合中的K43和K78,轉(zhuǎn)發(fā)資源信息,然后轉(zhuǎn)到鏈路c。讓K43和K78同樣查詢資源信息表,檢索IECode-1,有則轉(zhuǎn)到鏈路d;若沒有則利用節(jié)點K0、K43和K78,向表中的節(jié)點發(fā)送底層資源信息。當(dāng)節(jié)點收到該發(fā)送請求時,發(fā)起請求的源節(jié)點,實現(xiàn)對物聯(lián)網(wǎng)中,海量底層資源的數(shù)據(jù)尋址邏輯[9]。
為了加快選址模型的選擇工作,建立一個云信任度評估推薦模塊,使模型根據(jù)推薦模塊的信息提示,快速展開尋址工作。根據(jù)上文設(shè)計將推薦節(jié)點默認為k,則利用下列計算公式,評估其可靠度
Fk=sim(u,v)·(1-Hk)·Ruk
(3)
公式中:sim(u,v)表示節(jié)點(u,v)之間的相似度;Hk表示推薦節(jié)點與尋址期望之間的差異度;Ruk表示評估節(jié)點u對推薦節(jié)點k的云信任度。其中節(jié)點相似度是選址節(jié)點,與其它鄰居節(jié)點之間的相似程度,該指標的計算公式為

(4)
公式中:Xu、Xv分別表示與節(jié)點u和節(jié)點v直接關(guān)聯(lián)的資源列表;fui、fvi則分別表示2個節(jié)點的云信任度評估數(shù)據(jù)表[10]。當(dāng)該計算結(jié)果越大時,越能說明共同節(jié)點評分越相似,說明這些底層資源之間具有相似性。而推薦節(jié)點與尋址期望之間的差異度Hk,存在惡意推薦影響的現(xiàn)象,因此在求取該值時,設(shè)所有推薦節(jié)點,對目標節(jié)點j的直接信任度期望值為λk,推薦節(jié)點k對節(jié)點j的直接信任度值,用fkj進行表示,此時存在fkj∈sim(u,v),則差異度Hk的計算結(jié)果為

(5)
將式(4)以及式(5)的計算結(jié)果,帶回到式(3)中,通過計算求得推薦節(jié)點k的可靠度[11]。然后查詢請求節(jié)點所屬信任列表,向信任度值較高的節(jié)點請求傳輸;同理計算兩個節(jié)點之間的相似度,同時計算差異度和云信任度權(quán)重,由此得到節(jié)點k的推薦信任度值,計算公式為

(6)
通過上述節(jié)點k的推薦可靠度和信任度評估結(jié)果,構(gòu)建尋址模型的推薦模塊,至此在云信任度評估下,物聯(lián)網(wǎng)海量底層資源尋址模型構(gòu)建完畢[12]。
實驗在虛擬機下安裝Cooja仿真軟件,通過REID閱讀器節(jié)點,進行物聯(lián)網(wǎng)海量底層資源尋址測試,利用圓形節(jié)點代表REID節(jié)點;正方形節(jié)點代表物聯(lián)網(wǎng)服務(wù);三角形節(jié)點為網(wǎng)關(guān)節(jié)點。在Linux虛擬機下,命令仿真軟件建立虛擬機與其自身之間的隧道,利用節(jié)點1和節(jié)點4,獲得整個物聯(lián)網(wǎng)中的資源地址。分別利用此次研究設(shè)計的模型,和傳統(tǒng)設(shè)計下的尋址模型,獲取物聯(lián)網(wǎng)中海量底層資源地址,三個測試組的協(xié)議包抓取效果,如表1所示。

表1 前N次的抓包總和統(tǒng)計
根據(jù)表1中的測試結(jié)果可知,文中設(shè)計的尋址模型,其抓包總和更高。分別從三個測試組中,抽取50個測試樣本,令橫坐標代表尋址次數(shù),縱坐標代表模型的訪問延時,下圖4為三個組模型應(yīng)用下的網(wǎng)絡(luò)開銷延時測試結(jié)果。

圖4 不同模型應(yīng)用下的網(wǎng)絡(luò)開銷延時
此次研究構(gòu)建的尋址模型,在云信任度評估模塊的幫助下,將平均延時控制在了100ms左右,提高了模型對海量底層資源的尋址效率。而文獻[2]模型與文獻[3]模型應(yīng)用下,尋址時的平均延時,分別在155ms和175ms左右。可見此次研究構(gòu)建的尋址模型,尋址效率最佳。
保證基本測試條件不變,測試三組尋址模型的尋址效果,如下圖5所示。

圖5 不同模型尋址效果測試
根據(jù)圖5中的曲線變化可知,三個模型的節(jié)點失效率,逐漸從0增加至50%,
因此在每個失效率處進行500次底層資源尋址,計算模型尋址成功概率。根據(jù)實驗測試結(jié)果可知,當(dāng)節(jié)點失效率低于20%時,此次研究構(gòu)建的模型尋址成功率,幾乎沒有受到太大影響,只有約1.8%的下降幅度,高于兩個傳統(tǒng)模型。而當(dāng)節(jié)點失效率達到50%,時,所設(shè)計的尋址模型,也能將尋址成功率保持在90%以上,依舊可以用最快的時間,獲取最為精確的底層資源,這是此次研究過程中,搜索算法控制下的尋址邏輯帶來的效果。根據(jù)上述測試數(shù)據(jù),計算不同測試組的海量底層資源尋址成功率,結(jié)果如下表2所示。

表2 尋址效果對比
計算上述統(tǒng)計結(jié)果的平均值,可知此次設(shè)計模型的是尋址成功率,比兩個傳統(tǒng)模型分別高出了5.54%和5.58%??梢娫趯ぶ饭?jié)點出現(xiàn)失效的情況下,此次構(gòu)建的模型也有更好的尋址效果。
此次研究在傳統(tǒng)方法的基礎(chǔ)上,結(jié)合云信任度評估模塊,完善了原有的尋址模型,并在實驗的證實下,取得了不錯的研究成果。但此次研究還存在一些不足之處,今后的研究工作,可將神經(jīng)網(wǎng)絡(luò)和分類算法應(yīng)用到尋址模型中,加強模型對海量底層資源的尋址效果。