本發(fā)明屬于無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是一種基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks)是由大量部署在監(jiān)測(cè)區(qū)域內(nèi)的廉價(jià)微型傳感器節(jié)點(diǎn)組成并通過無線網(wǎng)絡(luò)傳輸方式形成的一個(gè)多跳自組織、自適應(yīng)的智能網(wǎng)絡(luò)系統(tǒng),其目的是合作地感知、收集并處理網(wǎng)絡(luò)覆蓋區(qū)域的信息,發(fā)送給管理者。目前,WSN在很多領(lǐng)域被廣泛應(yīng)用。
病毒對(duì)無線傳感器網(wǎng)絡(luò)而言是一個(gè)嚴(yán)峻的安全問題。計(jì)算機(jī)網(wǎng)絡(luò)中通常采用給計(jì)算機(jī)系統(tǒng)打上安全補(bǔ)丁的方法來清除病毒,但是對(duì)于無線傳感器網(wǎng)絡(luò),由于其部署量大,節(jié)點(diǎn)難以全部回收,必須考慮采用特殊的安全補(bǔ)丁分發(fā)方法來清除病毒。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)方法,解決無線傳感器網(wǎng)絡(luò)病毒感染后安全補(bǔ)丁難以分發(fā)的問題。
本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的:
一種基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)方法,包括如下步驟:
步驟1、建立無線傳感器網(wǎng)絡(luò)模型,并將無線傳感器網(wǎng)絡(luò)模型中的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)劃分為三種節(jié)點(diǎn)狀態(tài):傳感器節(jié)點(diǎn)處于能正常工作但未打上安全補(bǔ)丁的狀態(tài)、傳感器節(jié)點(diǎn)已被病毒感染的狀態(tài)、打上安全補(bǔ)丁對(duì)病毒免疫的狀態(tài);
步驟2、建立二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型CAS=(C,S,N,F),根據(jù)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的三種不同節(jié)點(diǎn)狀態(tài),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā);上述安全補(bǔ)丁分發(fā)模型中的C表示元胞空間,S表示元胞的狀態(tài)集,N表示元胞鄰域,F(xiàn)表示元胞演化規(guī)則。
所述步驟1的無線傳感器網(wǎng)絡(luò)模型為:監(jiān)測(cè)區(qū)域?yàn)橐粋€(gè)正方形區(qū)域,其邊長(zhǎng)l,在該監(jiān)測(cè)區(qū)域內(nèi)包含無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)為n,節(jié)點(diǎn)密度為ρ,節(jié)點(diǎn)的通信距離為r;所述無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)用于感知和采集監(jiān)測(cè)區(qū)域內(nèi)的數(shù)據(jù)并通過多跳的方式傳輸給基站;所述無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)初始狀態(tài)下被感染節(jié)點(diǎn)的比例為θ,節(jié)點(diǎn)成功接收安全補(bǔ)丁概率為α,安全補(bǔ)丁清除病毒的概率為β。
所述安全補(bǔ)丁分發(fā)模型中的C、S、N、F分別表示為:
(1)元胞空間C代表l×l個(gè)格子的二維網(wǎng)格,設(shè)每個(gè)單元最多只容納一個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),該無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在空間中的位置使用二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示為:
C={(i,j)|1≤i≤l,1≤j≤l}
(2)元胞的狀態(tài)集S包括如下兩個(gè)狀態(tài)集:
狀態(tài)集SC為無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài),無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)共分為三個(gè)狀態(tài):正常節(jié)點(diǎn)狀態(tài)、已感染狀態(tài)和獲得安全補(bǔ)丁后的免疫狀態(tài);當(dāng)無線傳感器網(wǎng)絡(luò)正常節(jié)點(diǎn)獲得安全補(bǔ)丁后直接進(jìn)入免疫狀態(tài),已感染節(jié)點(diǎn)的病毒被清除候進(jìn)入免疫狀態(tài);狀態(tài)集SC通過如下公式進(jìn)行表示:
狀態(tài)集MAC考慮了無線傳感器網(wǎng)絡(luò)傳輸中的信道訪問原則,分發(fā)補(bǔ)丁時(shí)采用CSMA/CA方式:當(dāng)某無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)監(jiān)聽到信道忙碌后再隨機(jī)退避一段時(shí)間后進(jìn)行數(shù)據(jù)發(fā)送,當(dāng)一個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí)其領(lǐng)域節(jié)點(diǎn)均不能發(fā)送,只有監(jiān)聽到信道空閑后才會(huì)嘗試發(fā)送數(shù)據(jù);狀態(tài)集MAC通過如下公式進(jìn)行表示:
(3)元胞鄰域N
任意節(jié)點(diǎn)Cij的元胞鄰域如下所示:
(4)元胞演化規(guī)則的元胞狀態(tài)轉(zhuǎn)換函數(shù)F
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij在t時(shí)刻的狀態(tài)SCij(t)是由t-1時(shí)刻無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij(t-1)以及其鄰域節(jié)點(diǎn)的狀態(tài)集SNij共同決定的,則轉(zhuǎn)換函數(shù)由如下公式表示:
SCj(t)=f(SCij(t-1),SNij(t-1))
①若無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在t-1時(shí)刻是正常節(jié)點(diǎn)狀態(tài),則其狀態(tài)轉(zhuǎn)換函為:
SCijT(t)=max(1,f1(SNij(t-1)))
上式中,兩個(gè)函數(shù)的最大值為無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij;
②若該正常節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),則有1-(1-α)e的幾率收到補(bǔ)丁包,當(dāng)信道處于空閑狀態(tài),則無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)入免疫狀態(tài);則該狀態(tài)轉(zhuǎn)化函數(shù)為:
③若無線傳感器節(jié)點(diǎn)在t-1時(shí)刻是已感染狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)為:
SCijv(t)=max(0,f2(SNij(t-1)))
上式中,兩個(gè)函數(shù)的最大值為節(jié)點(diǎn)的狀態(tài)SCij;
④若該已感染狀態(tài)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包,當(dāng)信道處于空閑狀態(tài),則節(jié)點(diǎn)成功接收到補(bǔ)丁包;每收到一個(gè)補(bǔ)丁包后,有β的概率進(jìn)入免疫狀態(tài),則收到g個(gè)安全補(bǔ)丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e;則狀態(tài)轉(zhuǎn)化函數(shù)為:
⑤若節(jié)點(diǎn)在t-1時(shí)刻已經(jīng)處在免疫狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)為:
SCijm(t)=2
此時(shí),免疫狀態(tài)節(jié)點(diǎn)維持此狀態(tài)不變,僅向外繼續(xù)分發(fā)安全補(bǔ)丁。
所述步驟2進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)的方法為:
在初始工作時(shí),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā),包括以下步驟:
①在l×l正方形區(qū)域內(nèi),在已知的被感染的無線傳感器網(wǎng)絡(luò)中選取一個(gè)或若干個(gè)節(jié)點(diǎn)采取人工燒寫程序的方式打上安全補(bǔ)丁,進(jìn)入已打上安全補(bǔ)丁的對(duì)病毒免疫的狀態(tài);
1)針對(duì)被選中的初始節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā):
①采用二維元胞自動(dòng)機(jī)的方式向外分發(fā)安全補(bǔ)?。?/p>
②處在已打上安全補(bǔ)丁的對(duì)病毒免疫狀態(tài)的節(jié)點(diǎn),按下式計(jì)算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在獲得安全補(bǔ)丁后的節(jié)點(diǎn)狀態(tài)為SCij=2;
向處在本節(jié)點(diǎn)的元胞鄰域內(nèi)的節(jié)點(diǎn)分發(fā)安全補(bǔ)丁,該節(jié)點(diǎn)的鄰域?yàn)楦倪M(jìn)的擴(kuò)展型摩爾型鄰域,任意節(jié)點(diǎn)Cij的鄰域?yàn)椋?/p>
上式中,r為每個(gè)傳感器節(jié)點(diǎn)最大的發(fā)射距離;
隨后該節(jié)點(diǎn)狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(2)對(duì)于已被病毒感染狀態(tài)的節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā),包括以下步驟:
①已感染病毒狀態(tài)的節(jié)點(diǎn)通過函數(shù)SCijv(t)=max(0,f2(SNij(t-1)))計(jì)算自己的下一時(shí)刻狀態(tài);
②探測(cè)鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點(diǎn)發(fā)送的補(bǔ)丁包;若這個(gè)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn),則發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包;節(jié)點(diǎn)每收到一個(gè)補(bǔ)丁包后,有β概率進(jìn)入免疫狀態(tài),則收到g個(gè)安全補(bǔ)丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e;已感染病毒狀態(tài)的節(jié)點(diǎn)若被治愈則進(jìn)入步驟③,若已感染病毒狀態(tài)的節(jié)點(diǎn)未被治愈,則重復(fù)步驟(2);
③處在已打上安全補(bǔ)丁的對(duì)病毒免疫狀態(tài)的節(jié)點(diǎn),按下式計(jì)算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在獲得安全補(bǔ)丁后的節(jié)點(diǎn)狀態(tài)為SCij=2;
向處在本節(jié)點(diǎn)的元胞鄰域內(nèi)的節(jié)點(diǎn)分發(fā)安全補(bǔ)丁,該節(jié)點(diǎn)的鄰域?yàn)楦倪M(jìn)的擴(kuò)展型摩爾型鄰域,任意節(jié)點(diǎn)Cij的鄰域?yàn)椋?/p>
上式中,r為每個(gè)傳感器節(jié)點(diǎn)最大的發(fā)射距離;
隨后該節(jié)點(diǎn)狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
(3)針對(duì)正常工作但未打上安全補(bǔ)丁的狀態(tài)的節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā),包括以下步驟:
①正常工作節(jié)點(diǎn)通過函數(shù)SCijr(t)=max(1,f1(SNij(t-1)))計(jì)算自己下一時(shí)刻狀態(tài)。
②探測(cè)鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點(diǎn)發(fā)送的補(bǔ)丁包;若這個(gè)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包;收到補(bǔ)丁包后,正常節(jié)點(diǎn)進(jìn)行安全升級(jí),免疫病毒侵害,隨后進(jìn)入步驟③,若未收到補(bǔ)丁包則重復(fù)步驟(3);
③處在已打上安全補(bǔ)丁的對(duì)病毒免疫狀態(tài)的節(jié)點(diǎn),按下式計(jì)算元胞空間中的位置C:
C={(i,j)|1≤i≤l,1≤j≤l}
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在獲得安全補(bǔ)丁后的節(jié)點(diǎn)狀態(tài)為SCij=2;
向處在本節(jié)點(diǎn)的元胞鄰域內(nèi)的節(jié)點(diǎn)分發(fā)安全補(bǔ)丁,該節(jié)點(diǎn)的鄰域?yàn)楦倪M(jìn)的擴(kuò)展型摩爾型鄰域,任意節(jié)點(diǎn)Cij的鄰域?yàn)椋?/p>
上式中,r為每個(gè)傳感器節(jié)點(diǎn)最大的發(fā)射距離;
隨后該節(jié)點(diǎn)狀態(tài)SCijm(t)=2并占用鄰域內(nèi)的的信道;
④令V(t)表示在t時(shí)刻已被病毒感染的狀態(tài)傳感器節(jié)點(diǎn)的數(shù)量占比,R(t)表示在t時(shí)刻處于能正常工作但未打上安全補(bǔ)丁狀態(tài)的傳感器節(jié)點(diǎn)的數(shù)量占比,M(t)表示在t時(shí)刻已打上安全補(bǔ)丁對(duì)病毒免疫狀態(tài)的傳感器節(jié)點(diǎn)的數(shù)量占比,表示為:
其中,V(t)+R(t)+M(t)=1。
本發(fā)明的優(yōu)點(diǎn)和積極效果是:
本發(fā)明采用正方形網(wǎng)格的二維元胞自動(dòng)機(jī),節(jié)點(diǎn)將接收到的安全補(bǔ)丁分發(fā)給其元胞鄰域內(nèi)其他節(jié)點(diǎn),從而快速有效地將安全補(bǔ)丁分發(fā)給全部無線傳感器節(jié)點(diǎn),無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)鄰域采用改進(jìn)的擴(kuò)展型摩爾領(lǐng)域,有效剔除了通信距離內(nèi)無法覆蓋的元胞,能夠清楚描述無線傳感器網(wǎng)絡(luò)的真實(shí)狀態(tài),解決了針對(duì)無線傳感器網(wǎng)絡(luò)病毒感染后安全補(bǔ)丁難以分發(fā)的問題。
附圖說明
圖1是普通元胞自動(dòng)機(jī)摩爾型鄰域示意圖;
圖2是本發(fā)明采用的改進(jìn)型元胞自動(dòng)機(jī)摩爾型鄰域示意圖;
圖3是打上安全補(bǔ)丁后的V(t)、R(t)、M(t)的曲線圖;
圖4是β=0.2和β=0.6下的V(t)曲線圖;
圖5是β=0.2和β=0.6下的M(t)曲線圖;
圖6是θ=0.4和θ=0.8下的V(t)曲線圖;
圖7是θ=0.4和θ=0.8下的M(t)曲線圖;
圖8是從不同位置分發(fā)安全補(bǔ)丁的M(t)曲線圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳述:
一種基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)方法,包括如下步驟:
步驟1、建立無線傳感器網(wǎng)絡(luò)模型,并根將無線傳感器網(wǎng)絡(luò)模型中的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)的特性劃分為r、v、m三種節(jié)點(diǎn)狀態(tài)。
在本實(shí)施例中,無線傳感器網(wǎng)絡(luò)模型的監(jiān)測(cè)區(qū)域?yàn)橐粋€(gè)正方形區(qū)域,其邊長(zhǎng)l,在監(jiān)測(cè)區(qū)域內(nèi)包含無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)為n,節(jié)點(diǎn)密度為ρ,節(jié)點(diǎn)隨機(jī)均勻的分布在二維區(qū)域內(nèi),節(jié)點(diǎn)信號(hào)最大發(fā)射距離為r,其可以在距離r內(nèi)進(jìn)行通信。上述無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)負(fù)責(zé)感知和采集監(jiān)測(cè)區(qū)域內(nèi)的數(shù)據(jù)并通過多跳的方式傳輸給基站。設(shè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)初始狀態(tài)下被感染節(jié)點(diǎn)的比例為θ,節(jié)點(diǎn)成功接收安全補(bǔ)丁概率α,安全補(bǔ)丁清除病毒的概率為β。
無線傳感器網(wǎng)絡(luò)模型根據(jù)節(jié)點(diǎn)的特性劃分為以下三種狀態(tài),如表1所示。
表1無線傳感器節(jié)點(diǎn)狀態(tài)參數(shù)表
r代表傳感器節(jié)點(diǎn)處于能正常工作但未打上安全補(bǔ)丁的狀態(tài);v代表傳感器節(jié)點(diǎn)已被病毒感染的狀態(tài);m代表已打上安全補(bǔ)丁對(duì)病毒免疫的狀態(tài);
則有:r(t)+v(t)+m(t)=n。
步驟2、建立二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的三種不同節(jié)點(diǎn)狀態(tài),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā)。
二維元胞自動(dòng)機(jī)是簡(jiǎn)單構(gòu)造但能產(chǎn)生復(fù)雜自組織行為的離散動(dòng)力學(xué)系統(tǒng),具有模擬復(fù)雜系統(tǒng)時(shí)空演化過程的能力。該二維元胞自動(dòng)機(jī)是由有限個(gè)隨機(jī)分布的元胞對(duì)象組成的離散動(dòng)態(tài)系統(tǒng),每個(gè)元胞都有一個(gè)狀態(tài),它在每一個(gè)時(shí)間步的狀態(tài)根據(jù)變化規(guī)則進(jìn)行變化。
本發(fā)明的二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型通過如下四元組公式(1)表示:
CAS=(C,S,N,F) (1)
上式中,C表示元胞空間;S表示元胞的狀態(tài)集;N表示元胞鄰域;F表示元胞演化規(guī)則。
下面分別對(duì)該四元組公式(1)中的每個(gè)元素進(jìn)行詳細(xì)說明:
(1)元胞空間C:代表l×l個(gè)格子的二維網(wǎng)格,設(shè)每個(gè)單元最多只容納一個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。該無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在空間中的位置可以用如公式(2)所示的二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示:
C={(i,j)|1≤i≤l,1≤j≤l} (2)
(2)元胞的狀態(tài)集S:其內(nèi)包含兩個(gè)狀態(tài)集分別為SC和MAC;
其中,SC為無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài),無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)共分為三個(gè)狀態(tài):正常節(jié)點(diǎn)狀態(tài)r(無線傳感器節(jié)點(diǎn)處于能正常工作但未打上安全補(bǔ)丁的狀態(tài))、已感染狀態(tài)v(無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)已被病毒感染的狀態(tài))和獲得安全補(bǔ)丁后的免疫狀態(tài)m(已打上安全補(bǔ)丁對(duì)病毒免疫的狀態(tài))。
當(dāng)無線傳感器網(wǎng)絡(luò)正常節(jié)點(diǎn)獲得安全補(bǔ)丁后直接進(jìn)入免疫狀態(tài),已感染節(jié)點(diǎn)的病毒被清除候進(jìn)入免疫狀態(tài)。具體如公式(3)所示:
狀態(tài)集MAC考慮了無線傳感器網(wǎng)絡(luò)傳輸中的信道訪問原則,分發(fā)補(bǔ)丁時(shí)采用CSMA/CA方式:當(dāng)某無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)監(jiān)聽到信道忙碌后再隨機(jī)退避一段時(shí)間后進(jìn)行數(shù)據(jù)發(fā)送,當(dāng)一個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí)其領(lǐng)域節(jié)點(diǎn)均不能發(fā)送,只有監(jiān)聽到信道空閑后才會(huì)嘗試發(fā)送數(shù)據(jù)。具體如公式(4)所示:
(3)元胞鄰域N:
普通的摩爾型鄰域?yàn)閳D1所示灰色為k節(jié)點(diǎn)的元胞鄰域,但由于單個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的通信覆蓋為圓形,不能清楚描述網(wǎng)絡(luò)的真實(shí)狀態(tài)。本發(fā)明的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)鄰域采用改進(jìn)的擴(kuò)展型摩爾領(lǐng)域,剔除了通信距離內(nèi)無法覆蓋的元胞,如圖2所示,每個(gè)傳感器節(jié)點(diǎn)最大的發(fā)射距離是r,因此任意節(jié)點(diǎn)Cij的元胞鄰域具體如公式(5)所示:
在本發(fā)明的二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型中,只有屬于鄰域范圍內(nèi)的節(jié)點(diǎn)才可以相互通信。
(4)元胞演化規(guī)則的元胞狀態(tài)轉(zhuǎn)換函數(shù)F
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij在t時(shí)刻的狀態(tài)SCij(t)是由t-1時(shí)刻無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij(t-1)以及其鄰域節(jié)點(diǎn)的狀態(tài)集SNij共同決定的,則轉(zhuǎn)換函數(shù)可以由公式(6)表示:
SCij(t)=f(SCij(t-1),SNij(t-1)) (6)
①若無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在t-1時(shí)刻是正常節(jié)點(diǎn)狀態(tài),則其狀態(tài)轉(zhuǎn)換函數(shù)如公式(7)所示:
SCijr(t)=max(1,f1(SNij(t-1))) (7)
上式中,兩個(gè)函數(shù)的最大值為無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)SCij;
②若該正常節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),則有1-(1-α)e的幾率收到補(bǔ)丁包,當(dāng)信道處于空閑狀態(tài),則無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)入免疫狀態(tài)。
則該狀態(tài)轉(zhuǎn)化函數(shù)由公式(8)表示:
③若無線傳感器節(jié)點(diǎn)在t-1時(shí)刻是已感染狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)如公式(9)所示:
SCijv(t)=max(0,f2(SNij(t-1))) (9)
上式中,兩個(gè)函數(shù)的最大值為節(jié)點(diǎn)的狀態(tài)SCij;
④若該已感染狀態(tài)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包,當(dāng)信道處于空閑狀態(tài),則節(jié)點(diǎn)成功接收到補(bǔ)丁包。每收到一個(gè)補(bǔ)丁包后,有β的概率進(jìn)入免疫狀態(tài),則收到g個(gè)安全補(bǔ)丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g),其中g(shù)≤e;
則狀態(tài)轉(zhuǎn)化函數(shù)由公式(10)表示:
⑤若節(jié)點(diǎn)在t-1時(shí)刻已經(jīng)處在免疫狀態(tài),則狀態(tài)轉(zhuǎn)換函數(shù)由公式(11)表示:
SCijm(t)=2 (11)
此時(shí),節(jié)點(diǎn)維持此狀態(tài)不變,僅向外繼續(xù)分發(fā)安全補(bǔ)丁。
根據(jù)上述二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型,進(jìn)行無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)的方法為:
在初始狀態(tài)下,進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā)。
初始狀態(tài)下無線傳感器節(jié)點(diǎn)狀態(tài)包括兩種:傳感器節(jié)點(diǎn)處于能正常工作但未打上安全補(bǔ)丁的狀態(tài)r;傳感器節(jié)點(diǎn)已被病毒感染的狀態(tài)v;
在l×l正方形區(qū)域內(nèi),在已知的被感染的無線傳感器網(wǎng)絡(luò)中選取一個(gè)或若干個(gè)節(jié)點(diǎn)采取人工燒寫程序的方式打上安全補(bǔ)丁,無論節(jié)點(diǎn)之前是什么狀態(tài),均進(jìn)入已打上安全補(bǔ)丁的對(duì)病毒免疫的狀態(tài);
(1)針對(duì)被選中的初始節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁的分發(fā)。
①采用二維元胞自動(dòng)機(jī)的方式向外分發(fā)安全補(bǔ)丁;
②處在已打上安全補(bǔ)丁的對(duì)病毒免疫狀態(tài)的節(jié)點(diǎn)可以通過所述步驟2的二維元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)模型的公式(1)計(jì)算自己的狀態(tài):
CAS=(C,S,N,F) (1)
上式中,C為在元胞空間中的位置,節(jié)點(diǎn)在空間中的位置可以用二維網(wǎng)格中的水平坐標(biāo)i和垂直坐標(biāo)j表示為所述步驟2的公式(2)
C={(i,j)|1≤i≤l,1≤j≤l} (2)
無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在獲得安全補(bǔ)丁后其節(jié)點(diǎn)狀態(tài)為SCij=2;
向處在本節(jié)點(diǎn)的元胞鄰域內(nèi)的節(jié)點(diǎn)分發(fā)安全補(bǔ)丁,與鄰域內(nèi)的節(jié)點(diǎn)進(jìn)行通信,節(jié)點(diǎn)的鄰域?yàn)楦倪M(jìn)的擴(kuò)展型摩爾型鄰域,由所述步驟2的公式(3)計(jì)算,每個(gè)傳感器節(jié)點(diǎn)最大的發(fā)射距離是r,因此,任意節(jié)點(diǎn)Cij的鄰域?yàn)椋?/p>
隨后此節(jié)點(diǎn)狀態(tài)SCijm(t)=2占用鄰域內(nèi)的的信道,本節(jié)點(diǎn)自己的狀態(tài)SCijm(t)=2。
(2)針對(duì)病毒感染狀態(tài)的節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā),具體方法為:
①針對(duì)已感染病毒狀態(tài)的節(jié)點(diǎn)通過函數(shù)SCijv(t)=max(0,f2(SNij(t-1)))計(jì)算自己的下一時(shí)刻狀態(tài);
②探測(cè)鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點(diǎn)發(fā)送的補(bǔ)丁包;若這個(gè)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包;每收到一個(gè)補(bǔ)丁包后,有β的概率進(jìn)入免疫狀態(tài),則收到g個(gè)安全補(bǔ)丁包后治愈的幾率為(1-(1-α)e)(1-(1-β)g);其中,g≤e。
已感染病毒狀態(tài)的節(jié)點(diǎn)若被治愈則進(jìn)入“初始節(jié)點(diǎn)”中的步驟②,若已感染病毒狀態(tài)的節(jié)點(diǎn)未被治愈,則重復(fù)本步驟。
(3)針對(duì)正常工作狀態(tài)的節(jié)點(diǎn),進(jìn)行基于元胞自動(dòng)機(jī)的無線傳感器網(wǎng)絡(luò)安全補(bǔ)丁分發(fā)方法的具體步驟包括:
①正常工作節(jié)點(diǎn)通過函數(shù)SCijr(t)=max(1,f1(SNij(t-1)))計(jì)算自己下一時(shí)刻狀態(tài)。
②探測(cè)鄰域內(nèi)的信道狀態(tài),若信道空閑,則接收鄰域內(nèi)這些節(jié)點(diǎn)發(fā)送的補(bǔ)丁包。若這個(gè)節(jié)點(diǎn)領(lǐng)域有e個(gè)獲得安全補(bǔ)丁并在免疫狀態(tài)的節(jié)點(diǎn)發(fā)送安全補(bǔ)丁包,在這個(gè)時(shí)間間隔內(nèi),有1-(1-α)e的幾率收到補(bǔ)丁包;收到補(bǔ)丁包后,正常節(jié)點(diǎn)進(jìn)行安全升級(jí),免疫病毒侵害,隨后進(jìn)入“初始節(jié)點(diǎn)”中的步驟②,若未收到補(bǔ)丁包則重復(fù)此步驟。
③令V(t)表示在t時(shí)刻已被病毒感染的狀態(tài)傳感器節(jié)點(diǎn)的數(shù)量占比,R(t)表示在t時(shí)刻處于能正常工作但未打上安全補(bǔ)丁狀態(tài)的傳感器節(jié)點(diǎn)的數(shù)量占比,M(t)表示在t時(shí)刻已打上安全補(bǔ)丁對(duì)病毒免疫狀態(tài)的傳感器節(jié)點(diǎn)的數(shù)量占比,由公式(4)表示:
其中,V(t)+R(t)+M(t)=1
經(jīng)過一段時(shí)間,表明采用本發(fā)明的一種基于元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)方法能夠?qū)⒔狱c(diǎn)安全補(bǔ)丁分發(fā)完畢,安全補(bǔ)丁分發(fā)完畢后,所有節(jié)點(diǎn)狀態(tài)均為:已打上安全補(bǔ)丁對(duì)病毒免疫的狀態(tài)m。
下面對(duì)本發(fā)明的基于元胞自動(dòng)機(jī)的安全補(bǔ)丁分發(fā)方法進(jìn)行仿真實(shí)驗(yàn),用于驗(yàn)證本方法的可靠性。
該仿真實(shí)驗(yàn)網(wǎng)絡(luò)環(huán)境設(shè)置如下:監(jiān)測(cè)區(qū)域?yàn)橐粋€(gè)正方形區(qū)域,其邊長(zhǎng)l=200m,在監(jiān)測(cè)區(qū)域內(nèi)包含節(jié)點(diǎn)個(gè)數(shù)為n,節(jié)點(diǎn)密度為ρ,節(jié)點(diǎn)的通信距離為r,網(wǎng)絡(luò)中初始被感染節(jié)點(diǎn)的比例為θ,節(jié)點(diǎn)成功接收安全補(bǔ)丁概率α,安全補(bǔ)丁清除病毒的概率為β,每輪單位時(shí)間內(nèi)內(nèi)進(jìn)行10次通信。
在本仿真實(shí)驗(yàn)中,我們研究在無線傳感器的不同參數(shù)下安全補(bǔ)丁分發(fā)效果,初始值節(jié)點(diǎn)個(gè)數(shù)n=20000,節(jié)點(diǎn)密度為ρ=0.5,通信距離r=10m,初始被感染比例θ=0.4,節(jié)點(diǎn)成功接收安全補(bǔ)丁概率α=0.8,安全補(bǔ)丁清除病毒的概率為β=0.6時(shí),將坐標(biāo)為(100,100)節(jié)點(diǎn)打上安全補(bǔ)丁后的V(t)、R(t)、M(t)的曲線如圖3所示。實(shí)驗(yàn)表明在第23輪后所有節(jié)點(diǎn)均已打上安全補(bǔ)丁,此發(fā)明采用的方法非常高效。
我們考察在安全補(bǔ)丁清除病毒能力較差時(shí)的補(bǔ)丁分發(fā)效果,取β=0.2。圖4表示不同的取值下的V(t)曲線,圖5表示不同取值下的M(t)曲線。該實(shí)驗(yàn)表明當(dāng)清除能力較差時(shí)β=0.2時(shí),該方法仍能在第30輪將所有節(jié)點(diǎn)打上補(bǔ)丁,該方法仍然高效。
考察在網(wǎng)絡(luò)中初始被感染節(jié)點(diǎn)的比例較高時(shí)補(bǔ)丁分發(fā)效果,取θ=0.8。圖6表示不同的取值下的V(t)曲線,圖7表示不同取值下的M(t)曲線。該實(shí)驗(yàn)表明當(dāng)感染節(jié)點(diǎn)在初始被感染節(jié)點(diǎn)補(bǔ)丁較高,80%節(jié)點(diǎn)都受病毒感染時(shí),該方法可以在第25輪將所有節(jié)點(diǎn)打上補(bǔ)丁,仍然具有高效性。
考察此方法在不同坐標(biāo)位置初始節(jié)點(diǎn)的分發(fā)效果,分別從(100,100),(50,50)和(10,10)位置開始分發(fā)安全補(bǔ)丁,圖8表示不同取值下的M(t)曲線。此實(shí)驗(yàn)表明越靠近區(qū)域中心,節(jié)點(diǎn)分發(fā)補(bǔ)丁的速度越快。但此方法在區(qū)域邊緣(10,10)的位置仍能在36輪將補(bǔ)丁分發(fā)完畢,證明此方法選擇區(qū)域中任何節(jié)點(diǎn)作為初始節(jié)點(diǎn)分發(fā)安全補(bǔ)丁,最終均能快速將補(bǔ)丁分發(fā)完畢。
需要強(qiáng)調(diào)的是,本發(fā)明所述的實(shí)施例是說明性的,而不是限定性的,因此本發(fā)明包括并不限于具體實(shí)施方式中所述的實(shí)施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明保護(hù)的范圍。