一種兼顧網(wǎng)絡(luò)節(jié)點能量和緩存的節(jié)點消息轉(zhuǎn)發(fā)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及移動群智感知網(wǎng)絡(luò)(MCSN),尤其是一種兼顧網(wǎng)絡(luò)節(jié)點能量和緩存的節(jié) 點消息轉(zhuǎn)發(fā)方法。
【背景技術(shù)】
[0002] 在最近幾年,移動智能終端滲透到我們?nèi)粘I畹姆椒矫婷妗S捎谖㈦娮蛹夹g(shù)和 短距離無線通信的快速發(fā)展,移動終端攜帶豐富的傳感器,可W直接與其他終端進行通信。 許多在W前是無法實現(xiàn)的大規(guī)模感知任務(wù),可W通過移動智能終端之間的相互協(xié)作而很容 易的實現(xiàn)。運就意味著人們進入了群智感知時代,運種網(wǎng)絡(luò)叫移動群智感知網(wǎng)絡(luò)MCSN。對某 些任務(wù),感知數(shù)據(jù)可W被直接上傳到服務(wù)器上或者感知平臺上,然而還有許多其他的應(yīng)用 任務(wù),由于各種原因如網(wǎng)絡(luò)狀態(tài)、代價等,感知數(shù)據(jù)必須通過無線多跳的方式進行投遞。但 是,由于終端的移動性,MCSN的一個主要特征是間斷連接。為了解決運個問題,在MCSN中經(jīng) 常利用基于存儲-攜帶-轉(zhuǎn)發(fā)的無線多跳的機會數(shù)據(jù)傳輸模式來進行感知數(shù)據(jù)的收集。
[0003] 存儲-攜帶-轉(zhuǎn)發(fā)的無線多跳數(shù)據(jù)機會傳輸模式在延遲容忍網(wǎng)絡(luò)和機會網(wǎng)絡(luò)中已 經(jīng)得到廣泛深入的研究,其主要為了解決由節(jié)點的移動性所帶來的鏈路間歇式連通性問 題。在MCSN的弱連接狀態(tài)下,機會數(shù)據(jù)傳輸?shù)年P(guān)鍵在于發(fā)現(xiàn)一個較好的中繼節(jié)點選擇策略。 如何設(shè)計一個有效的機會路由機制成為MCSN中一個研究熱點和難點。
[0004] 化idemic協(xié)議采用泛洪的方式向網(wǎng)絡(luò)中擴散消息的副本,任意兩個節(jié)點相遇,即 相互交換各自緩存中沒有的消息,運種機制在節(jié)點緩存與帶寬無限的場景下有最優(yōu)的延時 性能,但在資源受限的機會式網(wǎng)絡(luò)中,泛洪機制網(wǎng)絡(luò)的負載最大,算法的可擴展性最差。大 量的移動設(shè)備通常由人所攜帶,人的移動性對節(jié)點的接觸情況不可避免地造成影響。因此, 近期工作主要關(guān)注于人的社會屬性對機會路由性能的影響。中屯、度、相似度、社區(qū)屬性等都 是很重要的社會屬性。BubbleRap協(xié)議充分利用節(jié)點的中屯、度、社區(qū)等社會屬性,網(wǎng)絡(luò)性能 有較好的提升,但由于在中繼節(jié)點選擇時沒有考慮節(jié)點剩余能量和可用緩存等自身的屬 性,導(dǎo)致中屯、度高的節(jié)點很快耗盡能量和緩存而"死亡",節(jié)點的存活率較低。EABubble協(xié)議 雖然在考慮了節(jié)點的社會屬性基礎(chǔ)上,將節(jié)點的剩余能量也考慮進去了,但沒有考慮節(jié)點 的剩余能量,性能并沒有很大的提升。
[0005] -個好的機會路由協(xié)議不僅要有盡可能高的成功投遞率,還要盡可能低的網(wǎng)絡(luò)時 延和網(wǎng)絡(luò)資源消耗如節(jié)點緩存、節(jié)點能量消耗、網(wǎng)絡(luò)帶寬等,尤其在網(wǎng)絡(luò)資源和節(jié)點資源非 常緊張的情況下更是如此。運就要求我們在協(xié)議設(shè)計時,綜合考慮運些因素,不能顧此失 彼?,F(xiàn)有的機會路由機制都沒有充分考慮節(jié)點的資源受限問題或者僅僅考慮了其中的一個 因素,如何發(fā)明一種兼顧能量和緩存的機會路由協(xié)議是當(dāng)前業(yè)界的重要研發(fā)課題之一。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的主要目的是公開一種兼顧網(wǎng)絡(luò)節(jié)點能量和緩存的節(jié)點消息轉(zhuǎn)發(fā)方法,克 服現(xiàn)有移動群智感知網(wǎng)絡(luò)中節(jié)點路由決策的缺陷,延長網(wǎng)絡(luò)節(jié)點的壽命,提高網(wǎng)絡(luò)整體性 能,實現(xiàn)網(wǎng)絡(luò)資源的優(yōu)化配置。
[0007]本發(fā)明采用的技術(shù)方案是:一種兼顧網(wǎng)絡(luò)節(jié)點能量和緩存的節(jié)點消息轉(zhuǎn)發(fā)方法, 在多個節(jié)點組成的移動群智感知網(wǎng)絡(luò)中,通過多個中繼節(jié)點將源節(jié)點生成的消息轉(zhuǎn)發(fā)到目 的節(jié)點,移動群智感知網(wǎng)絡(luò)中的所有節(jié)點分成多個社區(qū),在消息轉(zhuǎn)發(fā)過程中優(yōu)先將消息轉(zhuǎn) 發(fā)給目的節(jié)點所在社區(qū)的節(jié)點,并且,在目的節(jié)點所在社區(qū)之外通過對比節(jié)點的全局度量, 將消息轉(zhuǎn)發(fā)給全局度量高的節(jié)點,在目的節(jié)點所在社區(qū)之內(nèi)通過對比節(jié)點的局部度量,將 消息轉(zhuǎn)發(fā)給局部度量高的節(jié)點,每個節(jié)點的全局度量均根據(jù)該節(jié)點的全局中屯、度、節(jié)點剩 余能量和剩余緩存得到,每個節(jié)點的局部度量均根據(jù)該節(jié)點的局部中屯、度、節(jié)點剩余能量 和剩余緩存得到,發(fā)送消息的節(jié)點和接收消息的節(jié)點在轉(zhuǎn)發(fā)消息之后,均根據(jù)其節(jié)點剩余 能量和剩余緩存更新全局度量和局部度量。
[000引較佳的,所述全局度量是C;M巧-敎C:,說r 1)*嗟<礎(chǔ):辛至)*撼噓4 I),其中, 、e、b是調(diào)節(jié)因子,分別用于調(diào)節(jié)全局中屯、度GC、剩余能量E和剩余緩存B在全局度GMet中的 比重,所述局部度量是LMet -據(jù)如I'C'fl:) *歡孩E + !) *敏be卡:!),其中,^、e、b是 調(diào)節(jié)因子,分別用于調(diào)節(jié)局部中屯、度LC、剩余能量E和剩余緩存B在局部度量LMet中的比重。
[0009] 較佳的,所述全局中屯、度是
,其中,V是網(wǎng)絡(luò)的中繼節(jié)點,S 和D分別是源節(jié)點和目的節(jié)點,M是網(wǎng)絡(luò)的節(jié)點總個數(shù),瑟鎌是源節(jié)點S和目的節(jié)點D之間的 最短路徑數(shù)量,游&聽;!是源節(jié)點S和目的節(jié)點D之間包含中繼節(jié)點V的最短路徑數(shù)量;局部中 屯、度是
其中,Sl和dl分別是在中繼節(jié)點V所在社區(qū)網(wǎng)絡(luò)中轉(zhuǎn)發(fā)消 息m的起始節(jié)點和結(jié)束節(jié)點,Ml是節(jié)點V所在社區(qū)網(wǎng)絡(luò)的節(jié)點總個數(shù),是起始節(jié)點Sl和 結(jié)束節(jié)點dl之間的最短路徑數(shù)量,淀3古,(V)是起始節(jié)點Sl和結(jié)束節(jié)點dl之間包含中繼節(jié)點V 的最短路徑數(shù)量。
[0010] 較佳的,所述剩余能量E包括節(jié)點收發(fā)數(shù)據(jù)包造成能量損耗后的剩余能量ii和待機及 鄰居節(jié)點發(fā)現(xiàn)造成能量損耗后的剩余能量&,節(jié)點W固定時間間隔更新剩余能量授并在收 發(fā)數(shù)據(jù)包時更新剩余能量起,所述剩余能量餐曰蜀娩…%瑪,剩余能量曝級-詩,其中, 驗沒是節(jié)點上次更新后的能量,;T是老化因子,滬汚:猜,:iy,k為時間單位的個數(shù),餐是節(jié)點收 發(fā)一次數(shù)據(jù)包所消耗的能量,瀉是節(jié)點收發(fā)數(shù)據(jù)包的次數(shù)。
[00"]較佳的,所述剩余緩存攝麟屬織;…礙漆竭,其中J諭是節(jié)點的初始緩存,露堤節(jié)點 接收數(shù)據(jù)包所占用的緩存,鶴節(jié)點丟棄數(shù)據(jù)包所釋放的緩存。
[0012]較佳的,網(wǎng)絡(luò)中的一個中繼節(jié)點i將其攜帶的消息m向目的節(jié)點D轉(zhuǎn)發(fā)的過程中遇 到另一個中繼節(jié)點j時,首先判斷j是否是目的節(jié)點D,如果是,貝幢接轉(zhuǎn)發(fā)消息m到D,并更新 節(jié)點巧日j的全局度量和局部度量,否則,根據(jù)中繼節(jié)點i是否進入目的節(jié)點D所在社區(qū)判斷 是否轉(zhuǎn)發(fā)。
[OOU]較佳的,當(dāng)節(jié)點i沒有進入目的節(jié)點D所在社區(qū)時,如果滿足條件a:節(jié)點j與目的節(jié) 點D屬于同一社區(qū)和/或條件b:節(jié)點i的全局度量值小于節(jié)點j的全局度量值,則將消息m轉(zhuǎn) 發(fā)給節(jié)點j,并在考慮節(jié)點i和j的剩余能量和剩余緩存的基礎(chǔ)上,更新節(jié)點i和j的全局度量 和局部度量,W作為新的轉(zhuǎn)發(fā)節(jié)點指導(dǎo)下次轉(zhuǎn)發(fā)過程,否則,不轉(zhuǎn)發(fā)消息m給節(jié)點j。
[0014] 較佳的,當(dāng)節(jié)點i進入目的節(jié)點D所在社區(qū)時,如果同時滿足條件a:節(jié)點j與目的節(jié) 點D屬于同一社區(qū)和條件C:節(jié)點i的局部度量值小于節(jié)點j的局部度量值,則將消息m轉(zhuǎn)發(fā)給 節(jié)點j,并在考慮節(jié)點i和j的剩余能量和剩余緩存的基礎(chǔ)上,更新節(jié)點i和j的全局度量和局 部度量,W作為新的轉(zhuǎn)發(fā)節(jié)點指導(dǎo)下次轉(zhuǎn)發(fā)過程,否則,不轉(zhuǎn)發(fā)消息m給節(jié)點j。
[0015] 較佳的,根據(jù)譜聚類方法將網(wǎng)絡(luò)中的所有節(jié)點分成N個社區(qū),提取出每個節(jié)點的社 區(qū)屬性,根據(jù)節(jié)點的社區(qū)屬性可得到節(jié)點的局部中屯、度。
[0016] 較佳的,提取節(jié)點的社區(qū)屬性的譜聚類方法是: 步驟1、設(shè)定移動群智感知網(wǎng)絡(luò)中的節(jié)點個數(shù)是M,初始化社區(qū)個數(shù)N=I,并標記節(jié)點i的 社區(qū)屬性是揖: