李 波,楊國(guó)才
(1.重慶工程學(xué)院計(jì)算機(jī)與物聯(lián)網(wǎng)學(xué)院,重慶400056;2.西南大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 400715)
高效率、低能耗的資源尋址模型,是當(dāng)前物聯(lián)網(wǎng)領(lǐng)域的一項(xiàng)重要技術(shù),它是現(xiàn)代信息技術(shù)的一個(gè)重要組成部分,它是指將具有一定感知、計(jì)算或執(zhí)行能力的不同遙感設(shè)備部署到物理世界中,通過聯(lián)網(wǎng)設(shè)備進(jìn)行信息的傳輸、協(xié)調(diào)和處理,從而實(shí)現(xiàn)人與人之間的交互,其特點(diǎn)是具有普遍感知、互聯(lián)共享、智能服務(wù)等特征。以互聯(lián)網(wǎng)體系結(jié)構(gòu)(感知層、傳輸層、應(yīng)用層)三維體系為基礎(chǔ),以網(wǎng)絡(luò)的形式緊密地聯(lián)系到一起,通過數(shù)據(jù)查詢、智能感知以及數(shù)據(jù)傳輸和識(shí)別,滿足現(xiàn)代人與人之間的生活交流和工作交流[1]。萬年紅,王雪蓉[2]為提高物聯(lián)網(wǎng)底層信息資源尋址效果,基于對(duì)云環(huán)境下的物聯(lián)網(wǎng)底層尋址服務(wù)的信任度評(píng)估準(zhǔn)則等方面的研究,改進(jìn)信任驅(qū)動(dòng)算法,提出一個(gè)云信任驅(qū)動(dòng)的物聯(lián)網(wǎng)信息資源尋址模型,設(shè)計(jì)并采用特定約束條件,信任陡度函數(shù),云信任度評(píng)估準(zhǔn)則及信任約束系數(shù)建立尋址模型,該模型有良好的底層資源尋址效果。劉毅[3]介紹了編碼式分簇射孔的發(fā)展?fàn)顩r,自主研發(fā)的固地址編碼式自動(dòng)尋址模型原理及在分簇射孔中的應(yīng)用,建立了資源尋址賦值矩陣,通過計(jì)算尋址平均等待時(shí)間,統(tǒng)一底層信任編碼,實(shí)現(xiàn)對(duì)尋址模型的設(shè)計(jì)。但兩個(gè)傳統(tǒng)模型與預(yù)期的效率能耗之間,存在一定差距,因此提出構(gòu)建一個(gè)基于云信任度評(píng)估的物聯(lián)網(wǎng)海量底層資源尋址模型。云信任度評(píng)估也就是對(duì)海量網(wǎng)絡(luò)資源的數(shù)據(jù)評(píng)估,根據(jù)數(shù)據(jù)的可靠度,估計(jì)底層資源的總體云信任度,為尋址模型在海量數(shù)據(jù)中的快速、高效與可靠尋址,提供更加科學(xué)的技術(shù)手段。此次研究充分發(fā)揮云信任度評(píng)估的特點(diǎn),優(yōu)化原有尋址模型,加強(qiáng)用戶對(duì)物聯(lián)網(wǎng)資源使用的體驗(yàn)效果。
構(gòu)建物聯(lián)網(wǎng)海量底層資源尋址模型,預(yù)先制定編碼方案。傳統(tǒng)模型制定的編碼方案存在三點(diǎn)問題:編碼規(guī)范差異較大、識(shí)別設(shè)備受限以及適用范圍有限。此次研究摒棄現(xiàn)有規(guī)范,按照物聯(lián)網(wǎng)海量底層資源尋址要求,制定全新的編碼方案,將編碼作為實(shí)體的第二標(biāo)識(shí)碼,相當(dāng)于給每個(gè)實(shí)體,設(shè)置了新的標(biāo)簽。因此結(jié)合CPC編碼和uCode編碼,提出一個(gè)由6個(gè)字段組成的IECode編碼規(guī)范。該編碼采用64位的十六進(jìn)制表示,滿足絕大多數(shù)與物聯(lián)網(wǎng)相連接資源的標(biāo)識(shí),其頂級(jí)域編碼為5位,區(qū)域碼和劃分代碼分別為9位和1位,實(shí)體類別碼和序列號(hào)為32位,實(shí)體說明碼為17位。其中頂級(jí)域編碼代表城市網(wǎng)絡(luò)資源;區(qū)域碼代表城市中的政府、企業(yè)、學(xué)校以及其它機(jī)構(gòu)的網(wǎng)絡(luò)資源;劃分代碼整個(gè)字段用于類別劃分的顯示,因此該代碼可以對(duì)實(shí)體類別碼和序列號(hào)進(jìn)行劃分,其中A-F屬于保留位[4]。劃分代碼的劃分規(guī)則如圖1所示。
圖1 編碼劃分規(guī)則
實(shí)體類別碼和序列號(hào),分別用于類別識(shí)別和類別標(biāo)識(shí),使每一個(gè)底層資源均有一個(gè)唯一的編號(hào);實(shí)體說明碼用于描述資源的詳細(xì)信息。設(shè)置的IECode編碼雖然是定長(zhǎng)的,但符合樹狀層次的基本模式,對(duì)不同類別的資源標(biāo)識(shí)有明確區(qū)分,具有海量資源中的唯一性和可識(shí)別性,因此符合構(gòu)建海量底層資源尋址模型的基本要求[5]。
為使尋址模型獲取的底層資源更加精準(zhǔn),采用元胞更新模型尋址規(guī)則。假設(shè)物聯(lián)網(wǎng)中存在的所有節(jié)點(diǎn)的集合為W={w1,w2,…,wn},其中集合內(nèi)任意兩個(gè)節(jié)點(diǎn)間的有效鏈路,以組合排列的形式構(gòu)成元胞空間T,則存在
(1)
公式中:i,j=1,2,…,n;k∈M;每一個(gè)階段均為一個(gè)元胞。用S表示元胞的有限離散狀態(tài)集,則存在S={s1,s2,s3},其中s1表示底層資源傳輸狀態(tài);s2表示底層資源等待狀態(tài);s3表示底層資源空閑狀態(tài)。則三種狀態(tài)分別為中心元胞、鄰居元胞以及空閑元胞。則元胞鏈路鄰居關(guān)系的計(jì)算表達(dá)式為:
G={Tk*|difference(Tk1-Tk2)≤η,Tk1,Tk2∈Tk}
(2)
公式中:difference(Tk1-Tk2)表示兩個(gè)鏈路排列組合之間的差別;G表示元胞鏈路鄰居關(guān)系;η表示相差程度[6]。下圖2是對(duì)計(jì)算所獲元胞鏈路,鄰居關(guān)系的詳細(xì)說明。
圖2 元胞關(guān)系示意圖
根據(jù)圖2中的元胞位置關(guān)系可知,元胞[52]有8個(gè)鄰居元胞,當(dāng)元胞[52]與元胞[0]聯(lián)系時(shí),元胞[52]處于s1狀態(tài),此時(shí)鄰居元胞為s2狀態(tài),除此之外的其它元胞,則為s3狀態(tài)。此時(shí)元胞[52]與元胞[0]之間的鏈路差別,就可以用來描述鏈路的鄰居關(guān)系。根據(jù)上述分析,設(shè)置四步流程,實(shí)現(xiàn)對(duì)模型尋址規(guī)則的更新。設(shè)置演進(jìn)規(guī)則為Z:St→St+1,則第一步初始化基本參數(shù),定義元胞狀態(tài);第二步假設(shè)空閑元胞的數(shù)量為Qn,鄰居元胞的數(shù)量為Pn,通過判斷不同類型的元胞狀態(tài),設(shè)置下一跳鏈路:當(dāng)中心元胞周圍有Qn個(gè)空閑元胞時(shí),中心元胞通過空閑元胞到下一跳節(jié)點(diǎn);當(dāng)中心元胞周圍沒有空閑元胞,只存在Pn個(gè)鄰居元胞時(shí),則通過鄰居元胞到下一跳節(jié)點(diǎn);當(dāng)中心元胞周圍沒有任何元胞時(shí),說明所有元胞均處在傳輸狀態(tài),因此中心元胞將底層資源存儲(chǔ)到緩存當(dāng)中,接收到某一元胞發(fā)送的釋放消息后,再到下一步。第三步根據(jù)拓?fù)浣Y(jié)構(gòu)的動(dòng)態(tài)變化,利用式(2)建立多徑傳輸鏈路,選擇其中最優(yōu)的數(shù)據(jù)鏈路,實(shí)現(xiàn)自由選擇;第四步更新鏈路,存儲(chǔ)多徑路由信息,實(shí)現(xiàn)對(duì)模型尋址規(guī)則的實(shí)時(shí)更新[7]。
在構(gòu)建尋址模型過程中,對(duì)于物聯(lián)網(wǎng)海量底層資源尋址,是通過模型上層、下層網(wǎng)絡(luò)結(jié)構(gòu)相互協(xié)作來實(shí)現(xiàn)的,其中利用上層網(wǎng)絡(luò)中的超級(jí)結(jié)點(diǎn)路由區(qū)域,定位以及搜索下層網(wǎng)絡(luò)結(jié)構(gòu)中獲得的海量底層資源。其中上層網(wǎng)絡(luò)定位搜索,參考第一節(jié)制定的尋址編碼方案,對(duì)底層信息進(jìn)行搜索;下層網(wǎng)絡(luò)的海量底層資源定位,則利用下圖3所示的方法進(jìn)行[8]。
圖3 物聯(lián)網(wǎng)底層資源搜索算法
該算法假設(shè)節(jié)點(diǎn)K26,發(fā)起底層資源查詢的編碼為IECode-1的資源信息,默認(rèn)該資源信息的節(jié)點(diǎn)為K32,則模型的資源尋址過程,可簡(jiǎn)化利用計(jì)算K26,尋找節(jié)點(diǎn)K32。在搜索算法控制下,尋址模型利用計(jì)算K26,查看自身旳資源信息表,檢索是否有IECode-1信息,有則直接獲取資源對(duì)應(yīng)的地址信息,沒有則轉(zhuǎn)到鏈路a。利用鏈路a將節(jié)點(diǎn)K26的數(shù)據(jù),發(fā)送給K0。然后K0根據(jù)IECode-1提取資源是否在本區(qū)域內(nèi),若在則轉(zhuǎn)到鏈路b1;若不在則轉(zhuǎn)到鏈路b2。利用K0查詢自身的資源信息表,同樣檢索IECode-1信息,若有則轉(zhuǎn)到鏈路d,若沒有則向邏輯超級(jí)節(jié)點(diǎn)集合中的K43和K78,轉(zhuǎn)發(fā)資源信息,然后轉(zhuǎn)到鏈路c。讓K43和K78同樣查詢資源信息表,檢索IECode-1,有則轉(zhuǎn)到鏈路d;若沒有則利用節(jié)點(diǎn)K0、K43和K78,向表中的節(jié)點(diǎn)發(fā)送底層資源信息。當(dāng)節(jié)點(diǎn)收到該發(fā)送請(qǐng)求時(shí),發(fā)起請(qǐng)求的源節(jié)點(diǎn),實(shí)現(xiàn)對(duì)物聯(lián)網(wǎng)中,海量底層資源的數(shù)據(jù)尋址邏輯[9]。
為了加快選址模型的選擇工作,建立一個(gè)云信任度評(píng)估推薦模塊,使模型根據(jù)推薦模塊的信息提示,快速展開尋址工作。根據(jù)上文設(shè)計(jì)將推薦節(jié)點(diǎn)默認(rèn)為k,則利用下列計(jì)算公式,評(píng)估其可靠度
Fk=sim(u,v)·(1-Hk)·Ruk
(3)
公式中:sim(u,v)表示節(jié)點(diǎn)(u,v)之間的相似度;Hk表示推薦節(jié)點(diǎn)與尋址期望之間的差異度;Ruk表示評(píng)估節(jié)點(diǎn)u對(duì)推薦節(jié)點(diǎn)k的云信任度。其中節(jié)點(diǎn)相似度是選址節(jié)點(diǎn),與其它鄰居節(jié)點(diǎn)之間的相似程度,該指標(biāo)的計(jì)算公式為
(4)
公式中:Xu、Xv分別表示與節(jié)點(diǎn)u和節(jié)點(diǎn)v直接關(guān)聯(lián)的資源列表;fui、fvi則分別表示2個(gè)節(jié)點(diǎn)的云信任度評(píng)估數(shù)據(jù)表[10]。當(dāng)該計(jì)算結(jié)果越大時(shí),越能說明共同節(jié)點(diǎn)評(píng)分越相似,說明這些底層資源之間具有相似性。而推薦節(jié)點(diǎn)與尋址期望之間的差異度Hk,存在惡意推薦影響的現(xiàn)象,因此在求取該值時(shí),設(shè)所有推薦節(jié)點(diǎn),對(duì)目標(biāo)節(jié)點(diǎn)j的直接信任度期望值為λk,推薦節(jié)點(diǎn)k對(duì)節(jié)點(diǎn)j的直接信任度值,用fkj進(jìn)行表示,此時(shí)存在fkj∈sim(u,v),則差異度Hk的計(jì)算結(jié)果為
(5)
將式(4)以及式(5)的計(jì)算結(jié)果,帶回到式(3)中,通過計(jì)算求得推薦節(jié)點(diǎn)k的可靠度[11]。然后查詢請(qǐng)求節(jié)點(diǎn)所屬信任列表,向信任度值較高的節(jié)點(diǎn)請(qǐng)求傳輸;同理計(jì)算兩個(gè)節(jié)點(diǎn)之間的相似度,同時(shí)計(jì)算差異度和云信任度權(quán)重,由此得到節(jié)點(diǎn)k的推薦信任度值,計(jì)算公式為
(6)
通過上述節(jié)點(diǎn)k的推薦可靠度和信任度評(píng)估結(jié)果,構(gòu)建尋址模型的推薦模塊,至此在云信任度評(píng)估下,物聯(lián)網(wǎng)海量底層資源尋址模型構(gòu)建完畢[12]。
實(shí)驗(yàn)在虛擬機(jī)下安裝Cooja仿真軟件,通過REID閱讀器節(jié)點(diǎn),進(jìn)行物聯(lián)網(wǎng)海量底層資源尋址測(cè)試,利用圓形節(jié)點(diǎn)代表REID節(jié)點(diǎn);正方形節(jié)點(diǎn)代表物聯(lián)網(wǎng)服務(wù);三角形節(jié)點(diǎn)為網(wǎng)關(guān)節(jié)點(diǎn)。在Linux虛擬機(jī)下,命令仿真軟件建立虛擬機(jī)與其自身之間的隧道,利用節(jié)點(diǎn)1和節(jié)點(diǎn)4,獲得整個(gè)物聯(lián)網(wǎng)中的資源地址。分別利用此次研究設(shè)計(jì)的模型,和傳統(tǒng)設(shè)計(jì)下的尋址模型,獲取物聯(lián)網(wǎng)中海量底層資源地址,三個(gè)測(cè)試組的協(xié)議包抓取效果,如表1所示。
表1 前N次的抓包總和統(tǒng)計(jì)
根據(jù)表1中的測(cè)試結(jié)果可知,文中設(shè)計(jì)的尋址模型,其抓包總和更高。分別從三個(gè)測(cè)試組中,抽取50個(gè)測(cè)試樣本,令橫坐標(biāo)代表尋址次數(shù),縱坐標(biāo)代表模型的訪問延時(shí),下圖4為三個(gè)組模型應(yīng)用下的網(wǎng)絡(luò)開銷延時(shí)測(cè)試結(jié)果。
圖4 不同模型應(yīng)用下的網(wǎng)絡(luò)開銷延時(shí)
此次研究構(gòu)建的尋址模型,在云信任度評(píng)估模塊的幫助下,將平均延時(shí)控制在了100ms左右,提高了模型對(duì)海量底層資源的尋址效率。而文獻(xiàn)[2]模型與文獻(xiàn)[3]模型應(yīng)用下,尋址時(shí)的平均延時(shí),分別在155ms和175ms左右。可見此次研究構(gòu)建的尋址模型,尋址效率最佳。
保證基本測(cè)試條件不變,測(cè)試三組尋址模型的尋址效果,如下圖5所示。
圖5 不同模型尋址效果測(cè)試
根據(jù)圖5中的曲線變化可知,三個(gè)模型的節(jié)點(diǎn)失效率,逐漸從0增加至50%,
因此在每個(gè)失效率處進(jìn)行500次底層資源尋址,計(jì)算模型尋址成功概率。根據(jù)實(shí)驗(yàn)測(cè)試結(jié)果可知,當(dāng)節(jié)點(diǎn)失效率低于20%時(shí),此次研究構(gòu)建的模型尋址成功率,幾乎沒有受到太大影響,只有約1.8%的下降幅度,高于兩個(gè)傳統(tǒng)模型。而當(dāng)節(jié)點(diǎn)失效率達(dá)到50%,時(shí),所設(shè)計(jì)的尋址模型,也能將尋址成功率保持在90%以上,依舊可以用最快的時(shí)間,獲取最為精確的底層資源,這是此次研究過程中,搜索算法控制下的尋址邏輯帶來的效果。根據(jù)上述測(cè)試數(shù)據(jù),計(jì)算不同測(cè)試組的海量底層資源尋址成功率,結(jié)果如下表2所示。
表2 尋址效果對(duì)比
計(jì)算上述統(tǒng)計(jì)結(jié)果的平均值,可知此次設(shè)計(jì)模型的是尋址成功率,比兩個(gè)傳統(tǒng)模型分別高出了5.54%和5.58%??梢娫趯ぶ饭?jié)點(diǎn)出現(xiàn)失效的情況下,此次構(gòu)建的模型也有更好的尋址效果。
此次研究在傳統(tǒng)方法的基礎(chǔ)上,結(jié)合云信任度評(píng)估模塊,完善了原有的尋址模型,并在實(shí)驗(yàn)的證實(shí)下,取得了不錯(cuò)的研究成果。但此次研究還存在一些不足之處,今后的研究工作,可將神經(jīng)網(wǎng)絡(luò)和分類算法應(yīng)用到尋址模型中,加強(qiáng)模型對(duì)海量底層資源的尋址效果。