專利名稱::協(xié)作路由方法
技術領域:
:本發(fā)明涉及無線通信網(wǎng)絡中的路由技術,特別是涉及一種協(xié)作路由方法,屬于通信
技術領域:
。
背景技術:
:隨著通信技術的不斷發(fā)展,特別是無線網(wǎng)絡的普及,各種無線網(wǎng)絡,如移動自組織網(wǎng)路和無線傳感器網(wǎng)絡中,各個節(jié)點均可作為數(shù)據(jù)的發(fā)送節(jié)點、接收節(jié)點和轉發(fā)節(jié)點。而作為網(wǎng)絡中節(jié)點的移動設備均存在著一定的能量、存儲能力和計算能力,特別是對于移動自組織網(wǎng)路而言,其一般應用于環(huán)境較為惡劣的場合,移動設備的能量消耗過多會導致能量降低,從而降低移動設備傳送數(shù)據(jù)的效果,甚至,移動設備可能因能量耗費完畢而無法工作,從而降低整個網(wǎng)絡的生命周期?,F(xiàn)有技術中一般采用最短路徑的方法建立源節(jié)點到目的節(jié)點的路由,這樣可以降低數(shù)據(jù)傳輸?shù)木嚯x,提高數(shù)據(jù)傳輸?shù)乃俾?,但是,這樣建立起來的路由并未考慮節(jié)點的能量耗費問題,使得在數(shù)據(jù)傳輸過程中,部分節(jié)點可能需要具有較大的數(shù)據(jù)傳輸功率才可達到較好的數(shù)據(jù)傳輸成功率或傳輸效果,使得節(jié)點往往需要消耗大量的能量,出現(xiàn)能量不足,從而使得數(shù)據(jù)傳輸成功率下降或無法完成數(shù)據(jù)傳輸,造成節(jié)點在網(wǎng)絡中失效,從而降低了整個網(wǎng)絡的生命周期。同時網(wǎng)絡中的其它節(jié)點可能不在最短路徑上,因此,即使該節(jié)點具有較少的能量消耗即可實現(xiàn)到目的節(jié)點的數(shù)據(jù)傳輸且具有較高的傳輸成功率也不被采用,使得網(wǎng)絡中各節(jié)點的能量消耗不均衡,且每個數(shù)據(jù)傳輸路徑可能具有較大的能量消耗,不利于網(wǎng)絡的節(jié)能。因此,如何有效地降低或5節(jié)省節(jié)點的能量消耗,提高網(wǎng)絡整體的生命周期以及網(wǎng)絡的節(jié)能效果是非常必要的。
發(fā)明內容本發(fā)明的目的是提供一種協(xié)作路由方法,可以有效降低網(wǎng)絡中節(jié)點的能量消耗,提高整個網(wǎng)絡的生命周期。為實現(xiàn)上述目的,本發(fā)明提供了一種協(xié)作路由方法,包括步驟10、本跳節(jié)點根據(jù)其鄰居節(jié)點表中下一跳節(jié)點的位置信息,以直傳模式計算從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值,以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值;步驟20、獲得各個協(xié)作鏈路能量消耗值中最小的協(xié)作鏈路能量消耗值,并判斷所述最小的協(xié)作鏈路能量消耗值是否小于所述直傳鏈路能量消耗值,是則執(zhí)行步驟30,否則執(zhí)行步驟40;步驟30、獲得所述最小的協(xié)作鏈路能量消耗值所對應的協(xié)作節(jié)點,通過協(xié)作模式建立本跳節(jié)點經(jīng)過所述協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由,執(zhí)行步驟50;步驟40、通過直傳模式建立本跳節(jié)點到下一跳節(jié)點的直傳路由;步驟50、下一跳節(jié)點判斷自己是否是目的節(jié)點,是則執(zhí)行步驟60,否則執(zhí)行步驟10;步驟60、結束。其中,所述步驟10中從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值為其中為本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值;《,為本跳節(jié)點到下一跳節(jié)點的距離;"為路徑損耗指數(shù);iV。為噪聲功率;i。為預定義的數(shù)據(jù)發(fā)送速率;W為預定義的數(shù)據(jù)發(fā)送成功概率。6所述步驟10中本跳節(jié)點以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值包括步驟100、獲得設定通信區(qū)域內可與本跳節(jié)點和下一跳節(jié)點建立通信的所有節(jié)點,并組成第一節(jié)點集合,所述設定通信區(qū)域是第一通信區(qū)域和第二通信區(qū)域的重疊區(qū)域,所述第一通信區(qū)域是以本跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域,所述第二通信區(qū)域是以下一跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域;步驟101、本跳節(jié)點分別以所述第一節(jié)點集合中的節(jié)點作為到下一跳節(jié)點的協(xié)作鏈路中的協(xié)作節(jié)點,并以協(xié)作模式計算各節(jié)點對應的協(xié)作鏈路能量消耗值。所述步驟101中節(jié)點對應的協(xié)作鏈路能量消耗值為《,(《,:,《》.,《:)=尸PrW+2,.Pr⑨=,(2-P柳其中,A為節(jié)點,《;(《2,《^《2)為節(jié)點A對應的協(xié)作鏈路能量消耗值;Pc(2,為節(jié)點A對應的協(xié)作鏈路中節(jié)點發(fā)送數(shù)據(jù)時消耗的能量,/^=_^^^-,2iV,—為每一時隙的數(shù)l+Pr⑨2—exp(—1一^《"y)+exp(-,(《+《))""\|《9據(jù)發(fā)送速率,PrW=1-exp(-g《;)+exp(-g(《少+《))-exp(-g(《+《z+《))為節(jié)點A對應的協(xié)作鏈路中只有本跳節(jié)點發(fā)送數(shù)據(jù)時發(fā)送概率,《=《z(《"《z),g=(2(1)7V。;R。為預定義的數(shù)據(jù)發(fā)送速率;《j為本跳節(jié)點到作為協(xié)作節(jié)點的節(jié)點A的距離;《—為本跳節(jié)點到下一跳節(jié)點的距離;《:為節(jié)點A到下一跳節(jié)點的距離;"為路徑損耗指數(shù);^為預定的數(shù)據(jù)發(fā)送成功概率;w。為噪聲功率。本發(fā)明提供了一種協(xié)作路由方法,源節(jié)點在建立到目的節(jié)點路由的過程中,本發(fā)明技術方案的本跳節(jié)點根據(jù)節(jié)點自身的能量消耗作為建立到目的節(jié)點的路由的依據(jù),通過計算本跳節(jié)點到下一跳節(jié)點中滿足要求的所有鏈路上的能量消耗,并以能量消耗最小的鏈路作為到下一跳節(jié)點的路由,使得源節(jié)點最終建立到目的節(jié)點的路由中各節(jié)點均具有較少的能量消耗,從而有效減少了網(wǎng)絡中各節(jié)點的能量消耗,避免了節(jié)點因能量消耗過多而導致整個網(wǎng)絡生命周期的降低,提高了整個網(wǎng)絡的生命周期。同時,本發(fā)明技術方案使得整個網(wǎng)絡在保證數(shù)據(jù)傳輸成功率的前提下,可有效降低數(shù)據(jù)傳輸中的能量消耗,提高了整個網(wǎng)絡的節(jié)能效果。圖1為本發(fā)明協(xié)作路由方法第一實施例的流程示意圖;圖2為本發(fā)明協(xié)作路由方法第二實施例的流程示意圖。具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。圖1為本發(fā)明協(xié)作路由方法第一實施例的流程示意圖。本實施例包括步驟10、本跳節(jié)點根據(jù)其鄰居節(jié)點表中下一跳節(jié)點的位置信息,以直傳模式計算從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值,以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值;步驟20、獲得各個協(xié)作鏈路能量消耗值中最小的協(xié)作鏈路能量消耗值,并判斷該最小的協(xié)作鏈路能量消耗值是否小于直傳鏈路能量消耗值,是則執(zhí)行步驟30,否則執(zhí)行步驟40;步驟30、獲得該最小的協(xié)作鏈路能量消耗值所對應的協(xié)作節(jié)點,通過協(xié)作模式建立本跳節(jié)點經(jīng)過該協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由,執(zhí)行步驟50;步驟40、通過直傳模式建立本跳節(jié)點到下一跳節(jié)點的直傳路由;步驟50、下一跳節(jié)點判斷自己是否是目的節(jié)點,是則執(zhí)行步驟60,否則執(zhí)行步驟10;8步驟60、結束。本實施例中,源節(jié)點在建立到目的節(jié)點路由的過程中,各本跳節(jié)點根據(jù)節(jié)點自身的能量消耗作為建立到目的節(jié)點的路由的依據(jù),使得源節(jié)點到目的節(jié)點的路由是具有最小能量消耗的鏈路,依此建立的路由使得路由中的各節(jié)點均具有較少的能量消耗即可實現(xiàn)較好的數(shù)據(jù)傳送成功率將數(shù)據(jù)傳輸至目的節(jié)點。路由建立過程中,本跳節(jié)點確定其下一跳節(jié)點后,本跳節(jié)點和下一跳節(jié)點之間具有直傳鏈路(DirectTransmissionLink)和協(xié)作鏈路(CooperativeTransmissionLink)兩種類型,其中,直傳鏈路是指數(shù)據(jù)是以直傳模式(DirectTransmissionMode)傳輸?shù)逆溌?,而協(xié)作鏈路是指數(shù)據(jù)是以協(xié)作模式(CooperativeTransmissionMode)傳輸?shù)逆溌?。本實施例中所述的直傳模式是指采用直傳方式傳輸?shù)據(jù),即本跳節(jié)點發(fā)送到下一跳節(jié)點的數(shù)據(jù)是直接傳送,數(shù)據(jù)傳輸過程中不需要通過其它節(jié)點,以直傳模式進行數(shù)據(jù)傳輸?shù)穆窂郊礊橹眰麈溌?;協(xié)作模式是指采用協(xié)作通信的方式傳輸數(shù)據(jù),數(shù)據(jù)傳送過程中需要借助于協(xié)作節(jié)點,例如,本跳節(jié)點需要發(fā)送數(shù)據(jù)到下一跳節(jié)點時,本跳節(jié)點將待發(fā)送的數(shù)據(jù)分為兩個時隙兩次傳送至下一跳節(jié)點,在第一時隙內本跳節(jié)點將前一半數(shù)據(jù)傳送給下一跳節(jié)點和協(xié)作節(jié)點,在第二時隙內,本跳節(jié)點將后一半數(shù)據(jù)傳送給目的節(jié)點,同時協(xié)作節(jié)點將第一時隙從本跳節(jié)點接收到的前一半數(shù)據(jù)也發(fā)送到下一跳節(jié)點,下一跳節(jié)點合成接收到的數(shù)據(jù)并返回ACK信息到本跳節(jié)點,完成本跳節(jié)點到下一跳節(jié)點的數(shù)據(jù)傳輸,而以協(xié)作模式傳輸數(shù)據(jù)的路徑即為協(xié)作鏈路。本實施例中,本跳節(jié)點確定其下一跳節(jié)點后,本跳節(jié)點計算到下一跳節(jié)點的包括直傳鏈路和協(xié)作鏈路的所有鏈路的能量消耗,即獲得本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值和各個協(xié)作鏈路能量消耗值,并將最小的協(xié)作鏈路能量消耗值和直傳鏈路能量消耗值比較,若最小的協(xié)作鏈路能量消耗值小于直傳鏈路能量消耗值,則本跳節(jié)點通過協(xié)作模式建立到下一跳節(jié)點的協(xié)作路由,該協(xié)作路由的協(xié)作節(jié)點是該最小的協(xié)作鏈路能量消耗值對應的協(xié)作節(jié)點,否則,本跳節(jié)點以直傳模9式建立到下一跳節(jié)點的直傳路由,其中,協(xié)作路由即是指將本跳節(jié)點與下一跳節(jié)點之間的最小的協(xié)作鏈路能量消耗值對應的協(xié)作鏈路作為本跳節(jié)點到下一跳節(jié)點的路由,該協(xié)作路由的協(xié)作節(jié)點是該最小的協(xié)作鏈路能量消耗值對應的協(xié)作節(jié)點,本跳節(jié)點到下一跳節(jié)點的數(shù)據(jù)傳輸是以協(xié)作模式傳輸,而直傳路由是指本跳節(jié)點與下一跳節(jié)點以直傳模式傳輸數(shù)據(jù)的直傳鏈路。當本跳節(jié)點到下一跳節(jié)點的路由建立成功后,該下一跳節(jié)點可對自身是否是目的節(jié)點進行判斷,是則說明源節(jié)點到目的節(jié)點的整個路由建立成功,結束路由建立,源節(jié)點可利用該路由傳輸數(shù)據(jù),否則該下一跳節(jié)點作為本跳節(jié)點向其下一跳建立到目的節(jié)點的路由,直到最終與目的節(jié)點的路由建立成功。本實施例中所述的本跳節(jié)點是指在源節(jié)點在建立到目的節(jié)點中的各跳節(jié)點,可以是源節(jié)點或其它任何跳的節(jié)點。本實施例中,上述步驟10中本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值為其中P(《》為本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值;""為本跳節(jié)點到下一跳節(jié)點的距離;"為路徑損耗指數(shù);為噪聲功率;^。為預定義的數(shù)據(jù)發(fā)送速率;^為預定義的數(shù)據(jù)發(fā)送成功概率。上述步驟10中本跳節(jié)點以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值包括步驟100、獲得設定通信區(qū)域內可與本跳節(jié)點和下一跳節(jié)點建立通信的所有節(jié)點,并組成第一節(jié)點集合,該設定通信區(qū)域是第一通信區(qū)域和第二通信區(qū)域的重疊區(qū)域,該第一通信區(qū)域是以本跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域,該第二通信區(qū)域是以下一跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域;步驟101、本跳節(jié)點分別以該第一節(jié)點集合中的節(jié)點作為到下一跳節(jié)點的10協(xié)作鏈路中的協(xié)作節(jié)點,并以協(xié)作模式計算各節(jié)點對應的協(xié)作鏈路能量消耗值。步驟100中,通過將源節(jié)點和下一跳節(jié)點的距離作為通信半徑,并分別以本跳節(jié)點和下一跳節(jié)點為中心建立通信區(qū)域,則可將同時處于本跳節(jié)點和下一跳節(jié)點的通信區(qū)域內的所有節(jié)點分別作為本跳節(jié)點到下一跳節(jié)點的協(xié)作鏈路中的協(xié)作節(jié)點,并計算各節(jié)點對應的協(xié)作鏈路能量消耗值。步驟101中以協(xié)作才莫式計算第一節(jié)點集合中的節(jié)點對應的協(xié)作鏈路能量消耗值為《(《—',(,《z)=,,Pr⑨+2,■=,(2_Pr(州其中,A為節(jié)點,《(《_,,《,《,)為節(jié)點A對應的協(xié)作鏈路能量消耗值;,《(2"-l)iV。、P為節(jié)點A對應的協(xié)作鏈路中節(jié)點發(fā)送數(shù)據(jù)時消耗的能據(jù)發(fā)送速率,PrW)=1-exp(-g《、,)+exp(-g(《+-exp(-+《z+為節(jié)點A對應的協(xié)作鏈路中只有本跳節(jié)點發(fā)送數(shù)據(jù)時發(fā)送概率,《=《z(《,,《z),g,"。;R。為預定義的數(shù)據(jù)發(fā)送速率;《y為本跳節(jié)點到作為協(xié)作節(jié)點的節(jié)點A的距離;《z為本跳節(jié)點到下一跳節(jié)點的距離;《,為節(jié)點A到下一跳節(jié)點的距離;"為路徑損耗指數(shù);^為預定的數(shù)據(jù)發(fā)送成功概率;為噪聲功率。本實施例步驟30中通過協(xié)作模式建立本跳節(jié)點經(jīng)過協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由為本跳節(jié)點將本跳節(jié)點到下一跳節(jié)點的協(xié)作節(jié)點添加到路由表中,并發(fā)送確認信息到協(xié)作節(jié)點和下一跳節(jié)點,確認信息中包括協(xié)作節(jié)點被選中信息。本跳節(jié)點將該協(xié)作節(jié)點添加到自身維護的路由表中后,表示本跳節(jié)點到下一跳節(jié)點的路由是協(xié)作路由,且協(xié)作節(jié)點為添加在路由表中的協(xié)量,i為每一時隙的數(shù)作節(jié)點,本跳節(jié)點可將數(shù)據(jù)通過該協(xié)作節(jié)點以協(xié)作通信的方式傳輸至下一跳節(jié)點。具體地,本實施例網(wǎng)絡中的每個節(jié)點都維護有自身節(jié)點的路由表以及能量消耗表,路由表中維護有相關的路由信息,能量耗費表中則記載有各節(jié)點到下一跳節(jié)點的直傳鏈路和各協(xié)作鏈路的能量消耗。以下為節(jié)點維護的能量消耗表NexthopEnergycostCooperativenodeCo—Energycost.,CooperativenodeCo_EnergyCost在該能量消耗表中,Nexttop表示下一跳節(jié)點的標識,本實施例中所述的節(jié)點的標識即節(jié)點的ID;Energycost表示直傳鏈路能量消耗值;Cooperativenode表示協(xié)作節(jié)點的ID;Co-Energycost表示協(xié)作鏈路能量消耗值。該路由表中,各協(xié)作鏈路能量消耗值均對應于各協(xié)作節(jié)點,即每個協(xié)作節(jié)點ID會對應有協(xié)作鏈路能量消耗值。以下為節(jié)點維護的路由表TypeDesNexthopCooperativenodeEnergycostMetricSep.No.InstalltimeStabletimeNodeid在該路由表中,Type代表路由的類型,路由一4殳可分為由三種不同的類型,且分別由不同的數(shù)值表示,其中O代表普通路由,l代表失效路由,2代表重建路由;Des表示目的節(jié)點的ID;Nexthop表示下一跳節(jié)點的ID;Cooperativenode表示協(xié)作節(jié)點的ID,當該項為空時,表示該節(jié)點到下一跳節(jié)點為直傳鏈路,即直傳路由,否則,表示該節(jié)點到下一跳節(jié)點之間通過該協(xié)作節(jié)點建立協(xié)作鏈路,即協(xié)作路由;Energycost表示當前跳的能量消耗;Metric表示從該節(jié)點到目的節(jié)點的路由的跳數(shù),用于i各由的更新;Seq.No.表示目的節(jié)點的序列號,用于路由的更新;Installtime表示記錄的該路由建立的時間,用于刪除過期的路由,如果一條路由在其生存時間內未被更新過,則刪除該路由條目;Stabletime用于記錄該路由條目的穩(wěn)定時間,以決定在調整已有路由信息時等待多長時間再廣播該條路由項;Nodeid表示重建12路由信息針對的節(jié)點ID,該數(shù)據(jù)只有在Type是重建路由類型時才生效,其它類型的路由對其不產(chǎn)生作用。當本跳節(jié)點成功建立到下一跳節(jié)點的路由后,會將相關的節(jié)點及路由信息以建立或更新的方式維護自身的路由表,若本跳節(jié)點以直傳模式建立到下一跳節(jié)點的直傳路由,則該路由表中的Cooperativenode項置為空,否則,將以協(xié)作才莫式建立的協(xié)作^各由中的協(xié)作點的ID記錄在Cooperativenode項。當本跳節(jié)點需要向目的節(jié)點發(fā)送數(shù)據(jù)時,可首先查詢路由表中的相關信息,若路由表中的Cooperativenode項為空表示本跳節(jié)點到下一跳節(jié)點為直傳鏈路,即本跳節(jié)點建立的到下一跳節(jié)點的路由為直傳路由,則本跳節(jié)點以直傳模式將數(shù)據(jù)傳輸至下一跳節(jié)點,并由下一跳節(jié)點根據(jù)其自身的路由情況將數(shù)據(jù)傳輸至相關的節(jié)點,直到將數(shù)據(jù)傳輸至目的節(jié)點;若路由表中的Cooperativenode項不為空表示該源節(jié)點到下一if兆節(jié)點的^各由為協(xié)作^"由,則本跳節(jié)點經(jīng)過協(xié)作節(jié)點并以協(xié)作模式將數(shù)據(jù)傳輸至下一跳節(jié)點,并由下一跳節(jié)點再根據(jù)自身的路由情況將數(shù)據(jù)傳輸至相關的節(jié)點,直到將數(shù)據(jù)傳輸至目的節(jié)點。同時,本跳節(jié)點建立路由成功后,本跳節(jié)點還維護有能量耗費表,該能量耗費表記錄了本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值和各協(xié)作節(jié)點對應的協(xié)作鏈路能量消耗值??梢钥闯?,當本跳節(jié)點最終建立好到目的節(jié)點的路由后,該本跳節(jié)點可維護有能量耗費表和到達目的節(jié)點的路由表。同時,本跳節(jié)點到目的節(jié)點路由上的各跳節(jié)點也維護有相應的能量耗費表和該跳節(jié)點到達目的節(jié)點的路由表。因此,當節(jié)點需要發(fā)送或轉發(fā)數(shù)據(jù)到目的節(jié)點時,可首先根據(jù)自身的路由表信息查找到目的節(jié)點的路由,并根據(jù)該路由表中的Cooperativenode項是否為空來確認該路由是直傳路由或協(xié)作路由,若Cooperativenode項為空,則是直傳路由,以直傳模式傳輸數(shù)據(jù)至下一跳節(jié)點,若Co叩erativenode項不為空,將Cooperativenode項對應的節(jié)點作為本跳節(jié)點到下一跳節(jié)點的協(xié)作節(jié)點,以協(xié)作模式傳輸數(shù)據(jù)至下一跳節(jié)點。13實施例協(xié)作;洛由方法通過計算本跳節(jié)點到下一跳節(jié)點中滿足要求的所有鏈路上的能量消耗,并以能量消耗最小的鏈路作為到下一跳節(jié)點的路由,本跳節(jié)點最終建立到目的節(jié)點的路由具有最小的能量消耗,使得源節(jié)點到目的節(jié)點的路由上的各節(jié)點均具有較少的能量消耗,從而有效減少了網(wǎng)絡中各節(jié)點的能量消耗,避免了節(jié)點因能量消耗過多而導致整個網(wǎng)絡生命周期的延遲,提高整個網(wǎng)絡的生命周期;同時,本實施例使得節(jié)點具有較少的能量消耗即可實現(xiàn)較好的數(shù)據(jù)傳送成功率,因此,本實施例在保證網(wǎng)絡中數(shù)據(jù)傳送成功率的前提下,使得數(shù)據(jù)傳送的能量消耗最小,提高了整個網(wǎng)絡的節(jié)能效果。圖2為本發(fā)明協(xié)作路由方法第二實施例的流程示意圖。包括步驟11、本跳節(jié)點接收網(wǎng)絡中所有鄰節(jié)點發(fā)送的包括節(jié)點標識和位置信息的鄰節(jié)點信息,建立本跳節(jié)點的鄰居節(jié)點表;步驟12、根據(jù)所述鄰居節(jié)點表中的所有鄰節(jié)點信息,獲得本跳節(jié)點的下一跳節(jié)點;步驟13、本跳節(jié)點根據(jù)其鄰居節(jié)點表中下一跳節(jié)點的位置信息,以直傳模式計算從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值,以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值;步驟14、獲得各個協(xié)作鏈路能量消耗值中最小的協(xié)作鏈路能量消耗值,并判斷該最小的協(xié)作鏈路能量消耗值是否小于直傳鏈路能量消耗值,是則執(zhí)行步驟15,否則執(zhí)行步驟16;步驟15、獲得該最小的協(xié)作鏈路能量消耗值所對應的協(xié)作節(jié)點,通過協(xié)作模式建立本跳節(jié)點經(jīng)過該協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由,執(zhí)行步驟1;步驟16、通過直傳模式建立本跳節(jié)點到下一跳節(jié)點的直傳路由;步驟17、下一跳節(jié)點判斷自己是否是目的節(jié)點,是則執(zhí)行步驟18,否則執(zhí)行步驟13;步驟18、結束。14說明書本實施例中本跳節(jié)點建立到下一跳節(jié)點的路由之前,可建立或維護自身的鄰居節(jié)點表,以根據(jù)該鄰居節(jié)點表確定下一跳節(jié)點。具體地,在網(wǎng)絡初始化時,或建立路由前,本跳節(jié)點可接收其鄰近所有節(jié)點發(fā)送的控制分組,并根據(jù)接收到的所有控制分組中的鄰節(jié)點信息建立和維護自身鄰近節(jié)點的鄰居節(jié)點表,該鄰居節(jié)點表可包括節(jié)點ID以及節(jié)點位置信息。一般情況下,網(wǎng)絡中的各節(jié)點均在網(wǎng)絡初始化時建立或更新自身的鄰居節(jié)點表,或者根據(jù)需要由本跳節(jié)點向鄰近節(jié)點發(fā)送請求信息,獲得鄰近節(jié)點信息,更新鄰居節(jié)點表。以下為本實施例中的鄰居節(jié)點表NodeidPosition其中,鄰居節(jié)點表中Nodeid表示節(jié)點的ID,Position表示節(jié)點的位置牧自i口w。本實施例步驟12中根據(jù)該鄰居節(jié)點表中的所有鄰節(jié)點信息,獲得本跳節(jié)點的下一跳節(jié)點具體為根據(jù)所述鄰居節(jié)點表中所有鄰節(jié)點的節(jié)點標識信息,判斷目的節(jié)點是否存在于所述鄰居節(jié)點表中,若是,則將所述目的節(jié)點作為本跳節(jié)點的下一跳節(jié)點,否則,根據(jù)鄰節(jié)點的位置信息將獲得的距離本跳節(jié)點最遠的節(jié)點作為本跳節(jié)點的下一跳節(jié)點。本實施例通過建立鄰居節(jié)點表可維護鄰近節(jié)點的信息,以便于本跳節(jié)點獲取下一跳節(jié)點及建立到目的節(jié)點的路由。本跳節(jié)點確定其下一條節(jié)點后,即可建立到下一跳節(jié)點的路由,具體的建立過程可參照上述實施例一。與上述實施例一不同的是,本實施例中當本跳節(jié)點成功建立到下一跳節(jié)點的路由后,本跳節(jié)點除了維護有自身的路由表以及能量消耗表外,還維護有鄰居節(jié)點表,鄰居節(jié)點表記錄了本跳節(jié)點的所有鄰近節(jié)點的鄰節(jié)點信息??梢钥闯?,當本跳節(jié)點最終建立好到目的節(jié)點的路由后,該本跳節(jié)點可維護有鄰居節(jié)點表、能量耗費表和到達目的節(jié)點的路由表。同時,本跳節(jié)點到目的節(jié)點路由上的各跳節(jié)點也維護有相應的鄰居節(jié)點表、能量耗費表和該15跳節(jié)點到達目的節(jié)點的路由表。因此,當本跳節(jié)點需要發(fā)送或轉發(fā)數(shù)據(jù)到目的節(jié)點時,可首先根據(jù)自身維護的鄰居節(jié)點表確定目的節(jié)點是否存在于鄰居節(jié)點表中,若存在,則可直接將數(shù)據(jù)傳輸至目的節(jié)點,若目的節(jié)點不存在本跳節(jié)點的鄰居節(jié)點表中,本跳節(jié)點可根據(jù)自身的路由表信息查找到目的節(jié)點的路由,并根據(jù)該路由表中Cooperativenode項是否為空來確認該路由是直傳路由或協(xié)作路由,若Cooperativenode項為空,則是直傳路由,以直傳模式傳輸數(shù)據(jù)至下一跳節(jié)點,若Cooperativenode項不為空,則以協(xié)作模式傳輸數(shù)據(jù)至下一跳節(jié)點。由以上技術方案可以看出,本實施例在實現(xiàn)上述實施例一技術效果的基礎上,通過建立和維護鄰居節(jié)點表,使得本跳節(jié)點可以更加快捷和準確的找到合適的下一跳節(jié)點或目的節(jié)點,提高了路由建立的準確性和便利性。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案而非對其進行限制,盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對本發(fā)明的技術方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術方案脫離本發(fā)明技術方案的精神和范圍。權利要求1、一種協(xié)作路由方法,其特征在于包括步驟10、本跳節(jié)點根據(jù)其鄰居節(jié)點表中下一跳節(jié)點的位置信息,以直傳模式計算從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值,以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值;步驟20、獲得各個協(xié)作鏈路能量消耗值中最小的協(xié)作鏈路能量消耗值,并判斷所述最小的協(xié)作鏈路能量消耗值是否小于所述直傳鏈路能量消耗值,是則執(zhí)行步驟30,否則執(zhí)行步驟40;步驟30、獲得所述最小的協(xié)作鏈路能量消耗值所對應的協(xié)作節(jié)點,通過協(xié)作模式建立本跳節(jié)點經(jīng)過所述協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由,執(zhí)行步驟50;步驟40、通過直傳模式建立本跳節(jié)點到下一跳節(jié)點的直傳路由;步驟50、下一跳節(jié)點判斷自己是否是目的節(jié)點,是則執(zhí)行步驟60,否則執(zhí)行步驟10;步驟60、結束。2、根據(jù)權利要求1所述的協(xié)作路由方法,其特征在于,所述步驟10中從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值為其中為本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值;《,為本跳節(jié)點到下一跳節(jié)點的距離;"為路徑損耗指數(shù);iv。為噪聲功率;i。為預定義的數(shù)據(jù)發(fā)送速率;^為預定義的數(shù)據(jù)發(fā)送成功概率。3、根據(jù)權利要求1所述的協(xié)作路由方法,其特征在于,所述步驟10中本跳節(jié)點以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值包括步驟100、獲得設定通信區(qū)域內可與本跳節(jié)點和下一跳節(jié)點建立通信的所有節(jié)點,并組成第一節(jié)點集合,所述設定通信區(qū)域是第一通信區(qū)域和第二通信區(qū)域的重疊區(qū)域,所述第一通信區(qū)域是以本跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域,所述第二通信區(qū)域是以下一跳節(jié)點為圓心、以本跳節(jié)點和下一跳節(jié)點之間的距離為半徑的通信區(qū)域;步驟101、本跳節(jié)點分別以所述第一節(jié)點集合中的節(jié)點作為到下一跳節(jié)點的協(xié)作鏈路中的協(xié)作節(jié)點,并以協(xié)作模式計算各節(jié)點對應的協(xié)作鏈路能量消耗值。4、根據(jù)權利要求3所述的協(xié)作路由方法,其特征在于,所述步驟101中節(jié)點對應的協(xié)作鏈路能量消耗值為其中,A為節(jié)點,《:(《,,^,《,)為節(jié)點A對應的協(xié)作鏈路能量消耗值;Pc(2^-1)乂」^^為節(jié)點A對應的協(xié)作鏈路中節(jié)點發(fā)送數(shù)據(jù)時消耗的能據(jù)發(fā)送速率,Pr④=1-exp(-g《》+exp(-g(《少+《2))—exp(-g(";++《z》為節(jié)點A對應的協(xié)作鏈路中只有本跳節(jié)點發(fā)送數(shù)據(jù)時發(fā)送概率,《=《z(《,,《z),g=(2"。;R。為預定義的數(shù)據(jù)發(fā)送速率;(為本跳節(jié)點到作為協(xié)作節(jié)點的節(jié)點A的距離;《^為本跳節(jié)點到下一跳節(jié)點的距離;《:為節(jié)點A到下一跳節(jié)點的距離;"為路徑損耗指數(shù);p〖為預定的數(shù)據(jù)發(fā)送成功概率;為噪聲功率。5、根據(jù)權利要求1所述的協(xié)作路由方法,其特征在于,所述步驟30中通過協(xié)作^^莫式建立本跳節(jié)點經(jīng)過所述協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由為本跳節(jié)點將所述協(xié)作節(jié)點添加到路由表中,并發(fā)送確認信息到所述協(xié)作節(jié)點和下一跳節(jié)點,所述確認信息中包括協(xié)作節(jié)點被選中信息?!?(《:,《,=PrW)+2尸PrW=戶(2_P一))量,ic=為每一時隙的數(shù)6、根據(jù)權利要求1~5中任一所述的協(xié)作路由方法,其特征在于,在所述步驟IO之前還包括本跳節(jié)點接收網(wǎng)絡中所有鄰節(jié)點發(fā)送的包括節(jié)點標識和位置信息的鄰節(jié)點信息,建立本跳節(jié)點的鄰居節(jié)點表;根據(jù)所述鄰居節(jié)點表中的所有鄰節(jié)點信息,獲得本跳節(jié)點的下一跳節(jié)點。7、根據(jù)權利要求6所述的協(xié)作路由方法,其特征在于,根據(jù)所述鄰居節(jié)點表中的所有鄰節(jié)點信息,獲得本跳節(jié)點的下一跳節(jié)點為根據(jù)所述鄰居節(jié)點表中所有鄰節(jié)點的節(jié)點標識信息,判斷目的節(jié)點是否存在于所述鄰居節(jié)點表中,若是,則將所述目的節(jié)點作為本跳節(jié)點的下一跳節(jié)點,否則,根據(jù)鄰節(jié)點的位置信息將距離本跳節(jié)點最遠的節(jié)點作為下一跳節(jié)點。全文摘要本發(fā)明公開了一種協(xié)作路由方法,包括本跳節(jié)點根據(jù)其鄰居節(jié)點表中下一跳節(jié)點的位置信息,以直傳模式計算從本跳節(jié)點到下一跳節(jié)點的直傳鏈路能量消耗值,以協(xié)作模式計算從本跳節(jié)點到下一跳節(jié)點的各個協(xié)作鏈路能量消耗值;獲得各個協(xié)作鏈路能量消耗值中最小的協(xié)作鏈路能量消耗值,并判斷所述最小的協(xié)作鏈路能量消耗值是否小于所述直傳鏈路能量消耗值,是則獲得所述最小的協(xié)作鏈路能量消耗值所對應的協(xié)作節(jié)點,通過協(xié)作模式建立本跳節(jié)點經(jīng)過所述協(xié)作節(jié)點到下一跳節(jié)點的協(xié)作路由,否則通過直傳模式建立本跳節(jié)點到下一跳節(jié)點的直傳路由。本發(fā)明技術方案使得整個網(wǎng)絡在保證數(shù)據(jù)傳輸成功率的前提下,提高了整個網(wǎng)絡的節(jié)能效果。文檔編號H04W40/02GK101459948SQ20091007600公開日2009年6月17日申請日期2009年1月4日優(yōu)先權日2009年1月4日發(fā)明者凱劉,軍張,力王申請人:北京航空航天大學