新四季網

TDMA自組網的MAC層隊列調度方法與流程

2023-06-26 23:12:06 2


本發明屬於無線通信技術領域,特別涉及一種隊列調度方法,可用於為MAC層數據發送提供一種具有時延和吞吐量保證的調度方式。



背景技術:

MAC層隊列調度決定了MAC層向物理層發送數據分組的實現方法。高效、穩定、健壯的調度可以極大的提高MAC層的性能和通信效率。因此在MAC層的協議設計中,隊列調度方法一直是研究和改善提高的焦點。

在一些傳統的調度算法中,如優先級調度算法,絕對按照優先級從高到低進行調度的方法,但是由於只有在高優先級的隊列沒有數據調度時,才考慮調度次一級優先級的業務,這樣使得調度低優先級業務所體現出的性能不佳,並會導致低優先級業務較長時間沒有得到調度從而發生「餓死」現象。又如在基於輪詢的調度算法中,對於不同的緩存隊列採用循環調度策略,循環調度是指在一定的調度周期內每個隊列得到的調度次數相同,調度機會均等。然而這樣的輪詢調度算法對實時性要求高的業務不能產生較小的時延,沒有優先級的調度可能導致重要信息延時過大,系統輪詢方式造成資源的浪費。因此單純的輪詢算法並不能有良好的性能表現,針對輪詢調度算法的改進大致有加權輪詢WRR,差別輪詢DRR,緊急輪詢URR三種算法,其中:

加權輪詢調度算法WRR,是在傳統輪詢算法的基礎上,為每個緩存隊列增加一個權值,權值的大小根據數據業務的類別以及對時延的要求的因素確定,在調度開始時,每個隊列都會賦予初始權值,之後按照循環輪詢的方式調度數據幀,隊列中每調度一個數據幀,該隊列記錄的權值在數值上減小1,權值數值減到0的隊列不參與相關的輪詢,所有隊列權值為0時為一個輪詢調度周期結束,之後所有隊列權值恢復為初始值進行循環。該方法通過權值的設定,能夠確保每個用戶不會過多的佔用網絡帶寬,同時,也能減小權值較大的數據業務的時延,但是加權輪詢調度算法是以分組為單位進行調度的,所以當數據分組的大小不同時,會對分組較小的隊列帶來不公平性。

差別輪詢調度算法DRR,是以數據分組的長度為評判標準,該方法為每個隊列設定長度允許值,隊列中將要發送數據分組的長度小於該值才會被調度,並在分組被調度出去後,將隊列長度允許值減去調度的分組長度,在一次輪詢之後,為每個隊列的長度允許值再進行增大,以保證有數據可以調度出去,該調度算法主要解決了數據分組長度影響傳統輪詢調度算法公平性的問題,但不能滿足數據業務減小時延的要求。

緊急輪詢調度算法URR,主要通過計算一個緊急參數來提高調度方法對時延要求的適應性,該緊急參數與數據分組對時延的要求有關,每次輪詢開始按照緊急參數依次降低的順序訪問,下一次重新計算緊急參數,通過設計緊急參數的計算方法,可以使對實時性要求較高的數據分組的時延較小,但是該緊急調度算法對公平性沒有性能上的顯著提高。



技術實現要素:

本發明的目的在於針對上述現有技術的不足,提出一種TDMA自組網的MAC層隊列調度方法,以減小調度時延和資源浪費,並為所有鄰節點隊列提供公平性保證。

本發明的技術思路是:通過對本節點i的每個鄰節點按照優先級從高到低分配隊列,存儲不同類型的數據幀,各數據幀在入隊時記錄下入隊時間和隊列長度,在發送時隙到來時,本節點根據數據幀的入隊時間、隊列長度、鄰節點MTU值、隊列優先級四個參數選定一個鄰節點作為當前發送時隙目地地址對應的鄰節點,其實現步驟包括如下:

(1)構建一個時隙表,在每個時隙的起始時刻讀取時隙表中對應位置的值,如果該值為0,則表明該時隙為本節點接收時隙,進行數據接收,如果該值為1,則表明該時隙為本節點的業務時隙,進入步驟(2)進行隊列調度;

(2)選取目地地址對應的鄰節點:

(2a)構建一個入隊時間表和隊列長度表,分別用來存儲各鄰節點隊列最早入隊數據幀的入隊時間和各鄰節點隊列的隊列長度,為每個鄰節點分別構建四個循環隊列用以存儲數據幀,隊列優先級從高到低分別為0級、1級、2級、3級;

(2b)設置一個等待時限值T,查詢入隊時間表,判斷所有鄰節點隊列中入隊最早數據幀的等待時間是否超出等待時限值,若是,則選取該幀所在鄰節點為目地地址對應的鄰節點,進入步驟(3);若否,則進入步驟(2c);

(2c)設置一個隊長臨界值S,查詢隊列長度表,按照優先級從高到低的順序判斷是否有隊列長度超出隊長臨界值的隊列,若有,則選取該隊列所在鄰節點為目地地址對應的鄰節點,並選中該隊列隊首指針指向的數據幀,進入步驟(3);若無,則進入步驟(2d);

(2d)按照節點號從低到高的順序查詢所有鄰節點的最大傳輸單元MTU,找到最大MTU值,判斷具有該最大MTU值的鄰節點的數量,若只有一個,則該節點為目地地址對應的鄰節點,並選中該鄰節點最高優先級隊列中隊首指針指向的數據幀,進入步驟(3);若不止一個,則進入步驟(2e);

(2e)選擇隊列優先級:

(2e1)按照節點號從低到高的順序查詢上述具有最大MTU值的鄰節點,判斷上述鄰節點中有多少個鄰節點的0級隊列不為空:若0級隊列都為空,進入步驟(2e2),否則,進入步驟(2f);

(2e2)判斷上述鄰節點中有多少個鄰節點的1級隊列不為空:若都為空,進入步驟(2e3),否則,進入步驟(2f);

(2e3)判斷上述鄰節點中有多少個鄰節點的2級隊列不為空:若都為空,則判斷上述鄰節點有多少個鄰節點的3級隊列不為空;

(2f)判斷步驟(2e)中得到的鄰節點數量,若只有一個,則該節點為目地地址對應的鄰節點,紀錄下當前隊列等級,並選中該隊列隊首指針指向的數據幀,進入步驟(3);若不止一個,則進入步驟(2g);

(2g)在上述若干個鄰節點中,將各鄰節點與步驟(2f)中紀錄下的隊列等級一樣的隊列進行比較,選取隊列長度最長的隊列所在鄰節點,若存在具有相同最大隊長的隊列則選擇隊列所在鄰節點號較小的那一個,該鄰節點為目地地址對應的鄰節點,並選中該隊列隊首指針指向的數據幀,進入步驟(3);

(3)根據最大傳輸單元MTU的值決定發送幀數量:

(3a)根據鄰節點的最大傳輸單元MTU值,得到當前時隙允許傳輸的最大數據長度為L,而通過步驟(2)選中幀的幀長為L0,將L與L0進行比較:若L大於L0,將L0設為總幀長,執行步驟(3b),若L小於L0,則執行步驟(3c);

(3b)對隊列隊首指針加1,判斷總幀長加上新的隊列隊首指針指向數據幀的幀長是否大於L,若是,則選取結束;若否,則同時選定新的隊列隊首指針指向的數據幀,並將總幀長加上該幀的幀長得到新的總幀長,重複本步驟過程直到最終總幀長大於L為止,再將最終選定的所有數據幀在當前隙全部發送出去;

(3c)將選中的數據幀拆分,當前時隙發送該數據幀長度為L的部分,同時標記步驟(2)中選中的鄰節點,在下一個業務時隙到來時直接選定該鄰節點為目地地址對應的鄰節點。

本發明與現有技術相比具有以下優點:

第一,由於本發明考慮了等待時間參數,當有數據幀在隊列中的等待時間超出門限,就會在當前業務時隙對該幀就行調度,確保所有的數據幀都會得到調度,保證了公平性,同時由於本發明考慮了隊列長度參數,因此當某個鄰節點的業務量較大時,會優先得到調度,這樣會延緩隊列滿的情況,及時處理業務繁忙的鄰節點的數據。

第二,由於本發明引入了最大傳輸單元MTU,優先選擇鏈路狀態好的鄰節點為目地地址對應的鄰節點,同時根據最大傳輸單元MTU值利用幀聚合的方式發送儘可能多的數據幀,提高了時隙的利用效率、傳輸速率和通信質量。

附圖說明

圖1是本發明的使用場景圖;

圖2是本發明的實現流程圖。

具體實施方式

下面結合附圖,對本發明作進一步的詳細描述。

參照圖1,對本發明的使用場景圖作進一步的詳細描述:

按照鄰節點入網的先後順序為所有鄰節點進行從0到n的編號,為每個鄰節點分配四個隊列,用以存儲數據幀,當業務時隙到來時,本節點根據調度方法選擇一個鄰節點作為目地地址對應的鄰節點,進行數據幀的傳輸。

參照圖2,對本發明的實施步驟作進一步的詳細描述:

步驟1.選取本節點業務時隙。

1a)構建時隙表;

通過二維數組構建一個時隙表,用以表徵當前時隙是否為本節點所佔用,表中的值設為0或者1,0表示當前時隙被其他節點所佔用,1表示當前時隙被本節點所佔用;

1b)判定時隙類型:

在每個時隙的起始時刻讀取時隙表中對應位置的值,如果該值為0,則進行數據接收,如果該值為1,則進入步驟2進行調度。

步驟2.判定最早入隊數據幀的等待時間。

2a)構建入隊時間表:

通過二維數組構建一個入隊時間表,用以記錄所有鄰節點的四個隊列中隊首指針指向數據幀入隊時間;

2b)構建循環隊列:

為每個鄰節點構建四個循環隊列,用以存儲不同類型的數據幀,隊列優先級從高到低分別為0級、1級、2級、三級;

2c)計算相關時間參數:

設置一個等待時限T,調用系統函數讀取當前時間,用當前時間減去等待時限,得到差值T0;

2d)判斷是否存在等待時間超出等待時限的數據幀:

查詢入隊時間表,讀取表中入隊時間最早的值記為T1,將T0與T1進行比較,若T0小於T1,則表明等待時間超出等待時限值,選取具有該最小入隊時間值的鄰節點為目地地址對應的鄰節點,進入步驟8;若T0大於T1,則表明等待時間未超出等待門限值,進入步驟3。

步驟3.判定隊列長度。

3a)通過二維數組構建一個隊列長度表,用以記錄所有鄰節點隊列的隊長;

3b)判斷是否存在隊長超出隊長門限值的隊列:

根據網絡性能需求設置一個隊長門限值L,查詢隊列長度表,讀取隊列長度表中的最大值L0,將L與L0進行比較:若L大於L0,選取具有該隊長的隊列所在鄰節點為目地地址對應的鄰節點,進入步驟8;若L小於L0,則進入步驟4。

步驟4.選取具有最大傳輸單元MTU的鄰節點。

最大傳輸單元MTU是指在一個業務時隙時間範圍內,能夠傳輸最長數據幀的長度,按照鄰節點號從小到大的順序查詢所有鄰節點的最大傳輸單元MTU,找到最大傳輸單元MTU值;

判斷具有該最大最大傳輸單元MTU值的鄰節點數量:若只有一個,則選取具有該最大MTU值的鄰節點為目地地址對應的鄰節點,進入步驟8,否則,則進入步驟5。

步驟5.選取隊列優先級。

5a)判斷0級隊列是否為空。

比較步驟4獲得的具有最大傳輸單元MTU值的鄰節點,統計具有最大傳輸單元MTU值的鄰節點中有多少個鄰節點的0級隊列不為空:若0級隊列都為空,則進入步驟5b,否則,則記錄隊列等級為0級,進入步驟6。

5b)判斷1級隊列是否為空。

統計具有最大傳輸單元MTU值的鄰節點中有多少個鄰節點的1級隊列不為空:若1級隊列都為空,進入步驟5c,否則,則記錄隊列等級為1級,進入步驟6。

5c)判斷2級隊列是否為空。

統計具有最大傳輸單元MTU值的鄰節點中有多少個鄰節點的2級隊列不為空:若2級隊列都為空,則統計具有最大傳輸單元MTU值的鄰節點中有多少個鄰節點的3級隊列不為空,並記錄隊列等級為3級,進入步驟6;否則,則統計具有最大傳輸單元MTU值的鄰節點中有多少個鄰節點的2級隊列不為空,並記錄隊列等級對2級,進入步驟6。

步驟6.判斷鄰節點數量。

判斷步驟5中得到的鄰節點數量,若只有一個,選取這個唯一的鄰節點為目地地址對應的鄰節點,進入步驟8,否則,則進入步驟7。

步驟7.隊列長度比較確定目地地址對應的鄰節點。

在具有最大傳輸單元MTU值的鄰節點中,將具有與步驟5中紀錄下的隊列等級一樣的隊列進行比較,選擇隊長最長的隊列所在鄰節點,若存在隊長相同的情況則選擇鄰節點號最小的一個鄰節點,該鄰節點為目地地址對應的鄰節點,並選中該隊列隊首指針指向的數據幀。

步驟8.數據幀總幀長判定。

將上個步驟中選中的數據幀幀長設為總幀長S,判斷該總幀長S是否小於最大傳輸單元MTU:若是,則進入步驟9;否則,則將此數據幀拆分為兩部分,第一部分長度為最大傳輸單元MTU,第二部分長度為這個數據幀的剩餘部分,發送長度為最大傳輸單元MTU的部分至目地鄰節點,同時在下一個業務時隙到來時對該數據幀剩餘部分進行調度。

步驟9.根據最大傳輸單元MTU進行幀聚合。

9a)將隊列隊首指針加1,得到新的隊列隊首指針指向數據幀的長度P,將這個數據幀的長度P與總幀長S相加,得到的值記為S1;

9b)將S1與最大傳輸單元MTU進行比較,若S1大於最大傳輸單元MTU,則進入步驟10,否則,同時選定新的隊列隊首指針指向的數據幀,並用這個數據幀的幀長P加上總幀長S得到新的總幀長;

9c)重複9a)-9b)直到最終總幀長大於最大傳輸單元MTU為止,將所有選定的數據幀發送至目地鄰節點。

以上描述僅是本發明的一個具體實例,不構成對本發明的任何限制,顯然對於本領域的專業人員來說,在了解本發明內容和原理後,都可能在不違背本發明原理、結構的情況下,進行形式和細節上的各種修正和改變,但是這些基於本發明思想的修正和改變仍在本發明的權利要求保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀