本發(fā)明涉及無線網(wǎng)絡技術,具體地說是一種基于遞歸回溯的高并發(fā)無線多媒體傳感網(wǎng)公平調度方法。
背景技術:
:無線網(wǎng)絡的飛速發(fā)展一級多媒體業(yè)務需求的快速增長,使得有限的無線資源與多媒體業(yè)務間不斷提高的服務質量(QoS,QualityofService)需求質檢產(chǎn)生尖銳的矛盾。特別是隨著多路視頻監(jiān)控需求的出現(xiàn),傳統(tǒng)一對一、一對多的視頻傳輸模式已不能滿足應用需求,能夠支持多對一視頻傳輸?shù)臒o線多媒體傳感器網(wǎng)絡(WMSNs,WirelessMultimediaSensorNetworks)得到了越來越多的關注,提高網(wǎng)絡整體性能且支持高質量多媒體業(yè)務的資源調度策略成為目前無線通信領域的研究重點。然而針對多路視頻并發(fā)傳輸?shù)腤MSN的研究剛剛起步,延遲、抖動、丟包率等性能仍不盡如人意。研究結果表明,基于IEEE802.11協(xié)議的網(wǎng)絡面向多點傳輸時,報文碰撞概率增大,系統(tǒng)性能顯著降低,不能滿足高并發(fā)無線視頻傳輸?shù)男枨?。時分多址接入(TDMA,TimeDivisionMultipleAccess)技術因其固有的沖突避免和延遲保障機理,成為保障網(wǎng)絡性能的優(yōu)選。TDMA技術將時間分為若干幀,每個幀又分為若干個時隙;通過將時隙分配給不同的節(jié)點,各個節(jié)點在不同的時隙發(fā)送數(shù)據(jù),從而保障無碰撞的數(shù)據(jù)傳輸?,F(xiàn)有針對無線視頻傳輸?shù)腡DMA調度算法包括靜態(tài)調度和動態(tài)調度兩類。其中,靜態(tài)調度算法的時隙分配方案在網(wǎng)絡設計階段就已經(jīng)確定,以參數(shù)文件的形式存儲在硬盤上。這種方法的優(yōu)點是實現(xiàn)過程簡單,缺點是靈活性差,無法對時隙分配方案進行實時調整。動態(tài)調度算法可以根據(jù)系統(tǒng)負載實時調整資源分配方案,例如,基于優(yōu)先級的調度、基于需求的調度、最大權重時延優(yōu)先調度、基于效用函數(shù)梯度調度等,該類方法靈活性較高,且可以適應動態(tài)變化的應用環(huán)境,適用于無線視頻傳輸場合。然而,大部分研究以提升非實時WMSN吞吐量和保障實時WMSN實時性為設計目標,存在計算和控制開銷較高、時隙 分布不均勻、時隙長度設計不合理、多用戶公平性不合理等問題。因此,本發(fā)明致力于保證用戶的公平性和視頻傳輸?shù)膶崟r性。更進一步,已有動態(tài)調度算法大多采用了調整幀長度的策略,其目的是在保證各節(jié)點需求的前提下,使幀長度最短,以便循環(huán)為每個站點提供快速服務。但這種策略存在一定弊端:TDMA技術大多要求各節(jié)點在每幀的第一個時隙進行一次時間同步,如果幀長頻繁調整,時鐘需要頻繁調整;幀長較短時,各節(jié)點頻繁對時,造成資源浪費;而幀長較長時,各節(jié)點長時間不對時,造成時間偏差。此外,幀長頻繁調整,全網(wǎng)各節(jié)點也要實時跟隨調整,容易造成系統(tǒng)不穩(wěn)定。針對幀長調整帶來的資源浪費和系統(tǒng)不穩(wěn)定問題,本發(fā)明方法采用固定幀長的設計策略。技術實現(xiàn)要素:針對面向無線視頻傳輸?shù)撵o態(tài)調度算法資源浪費問題以及動態(tài)調度算法開銷高、公平性差的問題,提出一種基于遞歸回溯的高并發(fā)無線多媒體傳感網(wǎng)公平調度方法。本發(fā)明為實現(xiàn)上述目的所采用的技術方案是:一種基于遞歸回溯的高并發(fā)無線多媒體傳感網(wǎng)公平調度方法,包括以下步驟:步驟1,時隙數(shù)計算:AP根據(jù)節(jié)點匯報的資源需求,向下取整計算時隙資源分配比例;步驟2,遞歸回溯時隙分配:AP將節(jié)點按照更新后的時隙需求量與可得時隙數(shù)差值降序排列,并按序跳躍式遞歸回溯分配時隙。所述步驟1包括以下步驟:步驟1.1:在匯報時刻到來時,各節(jié)點向AP匯報緩存隊列長度;步驟1.2:AP向下取整計算各節(jié)點的資源分配比例以及各節(jié)點應得的時隙數(shù)量,如果某節(jié)點計算應得的時隙數(shù)量為0,則將該時隙數(shù)量置為1;步驟1.3:判斷全網(wǎng)可用時隙總數(shù)是否大于或等于所有節(jié)點應得的時隙數(shù)量之和;如果是,則執(zhí)行步驟2;否則,將節(jié)點按應得的時隙數(shù)量降序排列,執(zhí)行步驟1.4;步驟1.4:將序列首部節(jié)點的應得時隙數(shù)量減1,返回步驟1.3。所述AP向下取整計算各節(jié)點的資源分配比例,具體為:對應于第i個節(jié)點的資源分配比例Pi的計算方法為:Pi=Li/Σi=1NLi]]>其中,Li表示匯報上來的第i個節(jié)點的緩存隊列中報文的數(shù)量;表示表示匯報上來的全網(wǎng)節(jié)點的緩存隊列中報文的總數(shù)。所述AP向下取整計算各節(jié)點應得的時隙數(shù)量,具體為:對應于第i個節(jié)點應得的時隙數(shù)量SNi的計算方法為:其中,Ns表示全網(wǎng)可用時隙總數(shù)。所述步驟2包括以下步驟:步驟2.1:AP按照更新后節(jié)點可用時隙數(shù)量對節(jié)點進行降序排列;步驟2.2:對節(jié)點序列中尚未執(zhí)行時隙分配的第一個節(jié)點,遞歸回溯網(wǎng)絡資源序列,即:從第一個空閑時隙開始,跳躍搜索下一個空閑時隙,并結合鄰近前向搜索和后向搜索方法消除時隙分配沖突,直至達到該節(jié)點可得時隙總數(shù);步驟2.3:循環(huán)執(zhí)行步驟2.2,直至所有節(jié)點都被分配以可得時隙。步驟2.4:如果網(wǎng)絡資源剩余,則按時隙需求量與可得時隙數(shù)差值從大到小的順序,將剩余的空閑時隙依次分配給可用時隙數(shù)不足的節(jié)點;否則,分配過程結束。所述跳躍搜索下一個空閑時隙是按照一定步幅進行跳躍搜索的,第i個節(jié)點跳躍步幅δi計算的計算過程為:其中,Ns表示全網(wǎng)可用時隙總數(shù),SNi表示第i個節(jié)點應得的時隙數(shù)量。所述鄰近前向搜索和后向搜索方法消除時隙分配沖突,包括以下步驟:步驟2.2.1:按照步幅跳躍過程中,如果計算得到的下一個時隙Slot(i)已被占用,則前向搜索時隙Slot(i-1)是否為空閑時隙,標號i為時隙編號;步驟2.2.2:如果前向搜索時隙Slot(i-1)為空閑,則標記為可用時隙Slot(j);否則,從Slot(i)編號遞增方向后向搜索空閑時隙,直至找到第一個空閑時隙,標記為可用時隙Slot(j);如果后向搜索未找到空閑時隙,則跳轉到時隙Slot(1),繼續(xù)執(zhí)行后向搜索過程,直至找到可用時隙Slot(j);步驟2.2.3:在該節(jié)點分配到的時隙數(shù)未達到該節(jié)點可得時隙總數(shù)的情況下,轉至步驟2.2.1,直至達到該節(jié)點可得時隙總數(shù)。所述步驟2.2.2的執(zhí)行過程遵循以下原則:Slot(j)=(Hi+δi+2-n)%Ns,n=1,2(Hi+δi+n-1)%Ns,3≤n≤Ns]]>其中,Hi表示沖突之前搜索得到的最后一個可得時隙,δi表示步幅,n表示搜索次數(shù),Ns表示全網(wǎng)可用時隙總數(shù)。所述如果網(wǎng)絡資源剩余,則按時隙需求量從大到小的順序,將剩余的空閑時隙依次分配給可用時隙數(shù)不足的節(jié)點,包括以下步驟:(1)如果網(wǎng)絡資源有剩余,剩余量為則按Δi從大到小的順序排列節(jié)點,得到序列Seq,其中,i=1,2...N,N為網(wǎng)絡中的節(jié)點總數(shù),Δi計算如下:Δi=Li-SNi其中,Li表示節(jié)點i的時隙需求量,SNi表示最終計算所得節(jié)點i的可用時隙數(shù);(2)為Seq中的節(jié)點可用時隙數(shù)依次+1,直至加到第個時隙。如果Seq中的節(jié)點數(shù)<Φ,則從頭開始調增1,直至Φ=0或者Li全部滿足。本發(fā)明具有以下優(yōu)點及有益效果:1.本發(fā)明方法設計的基于遞歸回溯的高并發(fā)無線視頻公平調度方法,綜合考慮網(wǎng)絡需求量和網(wǎng)絡可用資源,遵循按比例公平性分配原則,在實時保障節(jié) 點通信需求的前提下,一方面避免了原有按需分配存在的資源短缺問題,另一方面,實現(xiàn)了網(wǎng)絡節(jié)點動態(tài)公平分配;2.本發(fā)明方法遞歸回溯網(wǎng)絡資源,并按照精確計算的步幅跳躍搜索空閑時隙,保證時隙位置均勻分布,避免時隙聚集帶來的延時長和抖動大的問題;3.本發(fā)明方法結合鄰近前向搜索和后向搜索方法消除時隙分配沖突,在按照步幅跳躍式搜索基礎上,進行精細調節(jié),有效避免時隙分配過程中產(chǎn)生的沖突;4.本發(fā)明方法設計的網(wǎng)絡剩余資源按需分配原則,在實現(xiàn)公平性的同時,提高網(wǎng)絡吞吐量和通信滿意度,最大限度保證視頻傳輸質量。5.在滿足各用戶時隙數(shù)量需求的同時,還能兼顧時隙位置的分布(保證時隙均勻分布),使報文傳輸具有較低的延遲,保證高并發(fā)無線視頻傳輸?shù)馁|量。6.鑒于幀長調整帶來的資源浪費和系統(tǒng)不穩(wěn)定問題,本發(fā)明方法采用固定幀長的設計策略。附圖說明圖1為典型的多對一無線多媒體傳感器網(wǎng)絡拓撲圖;圖2為按資源需求降序分配的原理示例;圖3為本發(fā)明方法實現(xiàn)流程圖;圖4為計算各節(jié)點應得時隙數(shù)的過程示意圖;圖5為時隙步幅的計算過程;圖6為依次為節(jié)點分配時隙資源過程中產(chǎn)生沖突的示意圖;圖7為依次為節(jié)點分配時隙資源過程消除沖突的示意圖。具體實施方式下面結合附圖及實施例對本發(fā)明做進一步的詳細說明。如圖1所示為一個典型的多對一無線多媒體傳感器網(wǎng)絡的拓撲圖。包括1個接入點(AP,AccessPoint)、若干節(jié)點(Sta,Station)以及網(wǎng)絡攝像機。各個節(jié)點通過有線方式連接網(wǎng)絡攝像機,并通過無線方式與AP相連。節(jié)點負責將 網(wǎng)絡攝像機的視頻數(shù)據(jù)無線發(fā)送到AP。為多個節(jié)點分配無線通信資源,保證無沖突傳輸且滿足一定性能指標的方法稱為調度方法。本發(fā)明方法提出的基于遞歸回溯的高并發(fā)無線視頻公平調度方法的主要思想:各Sta每隔確定的時間向AP發(fā)送一次時隙需求,AP將各Sta的需求按照降序排序,實時計算資源分配的比例;如果資源不夠分配,則遞歸回溯減少最先分配節(jié)點的資源,并更新分配比例;AP按照計算的比例和跳躍步幅,依次為節(jié)點分配資源。圖2給出了優(yōu)先為時隙需求大的節(jié)點優(yōu)先分配時隙的原理示例。假設AP分別為Sta1和Sta2兩個節(jié)點分配6個時隙,且Sta1需要2個時隙,Sta2需要3個時隙。按照需求大優(yōu)先原則分配(左圖),則Sta2先分得第1、3、5號時隙,Sta1后分得第2、4號時隙,第6號時隙預留,則各Sta所得調度結果中的時隙分配均勻;相反,按照需求小優(yōu)先原則分配(右圖),則Sta1先分得1、4時隙,Sta2后分得2、3、5時隙,此時Sta2所得的第2號時隙和第3號時隙連續(xù),不滿足時隙均勻分布的設計原則。圖3所示為本發(fā)明方法的實現(xiàn)流程圖,具體執(zhí)行過程如下所述。步驟1,時隙數(shù)計算:AP根據(jù)節(jié)點匯報的資源需求,向下取整計算資源分配比例。步驟1.1各Sta依次向AP匯報緩存隊列長度;步驟1.2AP動態(tài)計算對應于第i(1≤i≤N,N為網(wǎng)絡中Sta的總數(shù))個Sta的資源分配比例Pi以及各Sta所需時隙數(shù)量SNi;對應于第i個Sta的資源分配比例Pi的計算方法為:Pi=Li/Σi=1NLi]]>其中,Li表示匯報上來的第i個Sta緩存隊列中報文的數(shù)量;表示表示匯報上來的全網(wǎng)Sta緩存隊列中報文的總數(shù)。各Sta可得時隙數(shù)量SNi計算如下:其中,Ns表示全網(wǎng)可用資源總數(shù),此處為全網(wǎng)可用時隙總數(shù)。根據(jù)置1原則,如果SNi=0,則取SNi=1。如圖4所示,為圖1中5個節(jié)點計算可用時隙數(shù)。假設StaA~StaE緩存中的報文數(shù)量分別為1、1、1、10、10,全網(wǎng)可用時隙總數(shù)為12個時隙,則結合置1原則,計算得到StaA~StaE的可得時隙數(shù)分別為1、1、1、5、5個時隙。采用置1原則計算得到的可得時隙數(shù),可能導致各個節(jié)點可用時隙總數(shù)大于網(wǎng)絡資源總數(shù)的情況,即網(wǎng)絡資源“不夠用”情況。步驟1.3判斷全網(wǎng)可得時隙總數(shù)是否足夠所有節(jié)點分配;如果時隙足夠分配,則執(zhí)行“步驟2:時隙分配”;否則,降低節(jié)點時隙需求量,按所需時隙數(shù)降序排列,執(zhí)行步驟1.4。按照圖4的計算結果,節(jié)點StaA~StaE可得時隙數(shù)總共為1+1+1+5+5=13,全網(wǎng)12個時隙不夠分配給節(jié)點StaA~StaE。根據(jù)步驟1.2計算得出的StaA~StaE的可得時隙數(shù),將StaA~StaE按照其可得時隙數(shù)進行降序排列,排列結果為StaE、StaD、StaC、StaB、StaA。步驟1.4將序列首部Sta的可得時隙數(shù)量減1,返回步驟1.3。根據(jù)排列結果,將StaE的可得時隙數(shù)減1,則StaE的可得時隙數(shù)更新為4。此時,節(jié)點StaA~StaE可得時隙數(shù)總共為1+1+1+5+4=12,等于全網(wǎng)資源總數(shù)。則執(zhí)行步驟2,進行時隙分配。步驟2,時隙分配:AP將Sta按照更新后的時隙需求量與可得時隙數(shù)差值降序排列,并按序跳躍式遞歸回溯分配資源。步驟2.1:AP按照更新后Sta可得時隙數(shù)量進行降序排列,排列結果為StaD、StaE、StaC、StaB、StaA;步驟2.2:從排列中的第一個節(jié)點開始,遞歸回溯法跳躍式分配時隙資源。第i個節(jié)點跳躍步幅δi計算的計算過程為:其中,Ns表示全網(wǎng)可用資源總數(shù),SNi表示各Sta可得時隙數(shù)量的更新值。根據(jù)δi的計算公式,計算StaA~StaE的步幅,計算結果如圖5所示,其中δStaD=1。從StaD開始分配時隙,由于StaD為待分配的第一個節(jié)點,此時全網(wǎng)時隙均空閑,則從第1號時隙開始進行分配;選定第1號時隙后,跳躍1個時隙,判斷第3號時隙是否空閑;如果空閑,則選定為第2個可用時隙;繼續(xù)跳躍1個時隙,直至達到5個可得時隙,最后時隙分配結果為第1、3、5、7、9號時隙。步驟2.3:循環(huán)執(zhí)行步驟2.2,直至所有節(jié)點都被分配以時隙。同理,StaE回溯空閑時隙,從第2號時隙開始分配,跳躍步幅為δStaE=2,最后時隙分配結果為第2、5、8、11號時隙。StaC、StaB和StaA的時隙分配結果分別為第3、10、12號時隙。節(jié)點StaA~StaE的時隙分配結果見圖6。步驟2.2和步驟2.3執(zhí)行過程中,第5號時隙被StaE和StaD同時占用,出現(xiàn)資源分配沖突情況,如圖6中所示第5號時隙。為了消除時隙分配沖突的情況,采用鄰近前向搜索和后向搜索結合的方法。StaE時隙首先搜索第4號時隙,結果是空閑,則StaE的第2個可用時隙為第4號時隙。按照δStaE=2,繼續(xù)搜索,并執(zhí)行沖突避免,StaE的最后時隙分配結果為2、4、6、8,分配結果如圖7所示。繼續(xù)為StaC、StaB和StaA分配1個時隙,時隙分配結果分別為10、11、12。步驟2.4:如果網(wǎng)絡資源剩余,則將剩余的空閑時隙分給需求較大的Sta。否則,分配過程結束。如果全網(wǎng)資源大于12個時隙,則可彌補StaE減去的一個時隙。如果有多個節(jié)點的可得時隙進行過調減,則按照調減的逆序逐漸增1,直至全網(wǎng)資源剩余為0。當前第1頁1 2 3