一種動態流量調度方法、裝置及存儲介質
1.本發明涉及網絡通信領域,尤其涉及一種動態流量調度方法、裝置及存儲介質。
背景技術:
2.時間敏感網絡是一種提供高實時、高可靠的新型網絡技術,由國際組織ieee于2012年開始倡導,是至今仍在完善的一系列網絡技術規范的綜合。該技術方興未艾,應用范圍也由當初的音視頻橋接網絡拓展至車載網絡(如無人駕駛)、航空網絡、工業互聯網(如工業4.0)和移動前傳網絡(如5g網絡)等。
3.時間敏感網絡通過多種調度策略實現網絡流量調度,實現確定性邊界的低時延、低抖動,達到高實時的效果,是采用“盡力而為”的理念、“先到先服務”模式的傳統以太網所不具備的。現有調度策略可分為動態調度策略和靜態調度策略。其中,動態調度策略有嚴格優先級調度、基于信用整形調度和幀搶占調度,優點是帶寬利用率高,不足是調度能力弱,表現為多流量調度困難及調度時延估算困難;靜態調度策略有門控策略和循環隊列轉發策略,二者皆基于時分復用的思想,優點是調度能力強,表現為調度較為靈活、調度時延計算簡單,不足是,因調度時間片固定,導致帶寬浪費大、帶寬利用率較低。因此,為提高效能,時間敏感網絡的流量調度策略亟需進一步完善,需結合兩種調度策略各自優勢,綜合提升調度能力和帶寬利用率。
技術實現要素:
4.本發明提供一種動態流量調度方法、裝置及存儲介質,旨在綜合提升調度能力和帶寬利用率。
5.本發明提供了動態流量調度方法,所述方法包括:為一個調度周期內需要調度的每個數據流分配時間片;根據每個數據流的數據量和時間片的長度,確定當前調度周期內每個數據流的剩余時間充足或是不足;將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩余時間不足的數據流,以提升當前調度周期內的數據流量。
6.優選地,所述根據當前調度周期內每個數據流傳輸的數據量和時間片的長度,確定當前調度周期內每個數據流的剩余時間充足或是不足包括:對于當前調度周期內的任一數據流,若在所述數據流的時間片內能夠完成所述數據流的數據傳輸且仍有剩余時間,則確定當前調度周期內所述數據流的剩余時間充足;對于當前調度周期內的任一數據流,若在所述數據流的時間片內傳輸所述數據流的數據時剩余時間不足以再傳輸所述數據流的一個幀,則確定當前調度周期內所述數據流的剩余時間不足。
7.優選地,所述將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩余時間不足的數據流,以提升當前調度周期內的數據流量包括:根據當前調度周期內剩余時間充足的數據流的剩余時間和當前調度周期內剩余時間不足的數據流的剩余時間,確定剩余時間之和;若所述剩余時間之和能夠保證剩余時間不足的數據流再傳輸一個幀,則將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩
余時間不足的數據流。
8.優選地,一個調度周期內需要調度的數據流包括一個或以上時間敏感數據流和/或一個或以上非時間敏感數據流。
9.優選地,剩余時間不足的數據流是時間敏感數據流,所述方法還包括:若所述剩余時間之和不能保證剩余時間不足的時間敏感數據流再傳輸一個幀,則進一步調用當前調度周期內非時間敏感數據流的時間,以使當前調度周期內從非時間敏感數據流調用的時間、剩余時間充足的數據流的剩余時間和剩余時間不足的時間敏感數據流的剩余時間的時間之和能夠保證剩余時間不足的數據流再傳輸一個幀。
10.優選地,所述方法還包括:若所述剩余時間之和不能保證剩余時間不足的時間敏感數據流再傳輸一個幀且當前調度周期內沒有為非時間敏感數據流分配時間片,則將當前調度周期內剩余時間不足的時間敏感數據流的剩余時間保留至下一調度周期使用。
11.優選地,剩余時間不足的數據流是非時間敏感數據流,所述方法還包括:若所述剩余時間之和不能保證剩余時間不足的非時間敏感數據流再傳輸一個幀,則將當前調度周期內剩余時間不足的非時間敏感數據流的剩余時間保留至下一調度周期使用。
12.本發明還提供了一種動態流量調度設備,所述設備包括存儲器、處理器、存儲在所述存儲器上并可在所述處理器上運行的程序,所述程序被所述處理器執行時實現如前述的動態流量調度方法的步驟。
13.本發明還提供了一種存儲介質,所述存儲介質中存儲有程序,所述程序被處理器執行時,實現如前述的動態流量調度方法的步驟。
14.本發明基于靜態調度策略中時分復用的思想,實現流量靈活調度,同時根據需要對調度時間片靈活調整,進行動態流量調度,實現帶寬利用率接近100%,滿足時間敏感網絡技術發展需求。
附圖說明
15.圖1是本發明提供的動態流量調度方法的流程圖;
16.圖2是本發明提供的剩余時間富余的示意圖;
17.圖3是本發明提供的剩余時間不足的示意圖;
18.圖4是本發明提供的動態流量調度設備的結構框圖。
具體實施方式
19.應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
20.本發明提供的一種動態流量調度方法、裝置及存儲介質,可應用于但不限于時間敏感網絡,其基于時分復用的思想,采用網絡數據流動態調度策略,實現確定性時延和最大網絡利用率。
21.實施例1
22.圖1是本發明提供的動態流量調度方法的流程圖,如圖1所示,所述方法可以包括:
23.步驟s101:為一個調度周期內需要調度的每個數據流分配時間片;
24.步驟s102:根據每個數據流的數據量和時間片的長度,確定當前調度周期內每個數據流的剩余時間充足或是不足;
25.步驟s103:將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩余時間不足的數據流,以提升當前調度周期內的數據流量。
26.對于當前調度周期內的任一數據流,若在所述數據流的時間片內能夠完成所述數據流的數據傳輸且仍有剩余時間,則確定當前調度周期內所述數據流的剩余時間充足,若在所述數據流的時間片內傳輸所述數據流的數據時剩余時間不足以再傳輸所述數據流的一個幀,則確定當前調度周期內所述數據流的剩余時間不足。已有技術中,無論是剩余時間充足的數據流的剩余時間,還是剩余時間不足的數據流的剩余時間,均無法使用,因此難以提升實時性和帶寬利用率,本發明可以根據當前調度周期內剩余時間充足的數據流的剩余時間和當前調度周期內剩余時間不足的數據流的剩余時間,確定剩余時間之和,如果該剩余時間之和能夠保證剩余時間不足的數據流再傳輸一個幀,則將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩余時間不足的數據流,以供剩余時間不足的數據流在當前調度周期內再傳輸一個幀,顯然,在當前調度周期內,調度能力提升,剩余時間不足的數據流在當前調度周期內的傳輸數據量變大,傳輸延遲降低,實時性提高,總體帶寬利用率提升。
27.進一步地,一個調度周期內需要調度的數據流包括一個或以上時間敏感數據流和/或一個或以上非時間敏感數據流。
28.對于當前調度周期內的任一時間敏感數據流,具體實施時存在以下四種情況:
29.(1)若該時間敏感數據流的剩余時間充足,則可以將該時間敏感數據流的剩余時間挪用給其他剩余時間不足的數據流。例如,當前調度周期內有5個數據流,數據流1和2是時間敏感數據流,數據流3、4、5是非時間敏感數據流,假設數據流1的剩余時間充足,則可以將數據流1的剩余時間挪用給數據流2-4中剩余時間不足的數據流,其中,優先挪用給時間敏感數據流。
30.(2)若該時間敏感數據流的剩余時間不足,且該時間敏感數據流的剩余時間與剩余時間充足的數據流的剩余時間之和能夠保證再傳輸該時間敏感數據流的一個幀,則可以將剩余時間充足的數據流的剩余時間挪用給該時間敏感數據流,以多傳輸該時間敏感數據流的一個幀。例如,當前調度周期內有5個數據流,數據流1和2是時間敏感數據流,數據流3、4、5是非時間敏感數據流,假設數據流1和4的剩余時間充足,數據流2的剩余時間不足,且數據流2的剩余時間與數據流1和4的剩余時間的和能夠再傳輸數據流2的一個幀,則將數據流1和4的剩余時間挪用給數據流2,以多傳輸數據流2的一個幀。
31.(3)若該時間敏感數據流的剩余時間不足,且該時間敏感數據流的剩余時間與剩余時間充足的數據流的剩余時間之和也不能再傳輸該時間敏感數據流的一個幀,則調用當前調度周期內非時間敏感數據流的時間,以便再傳輸該時間敏感數據流的一個幀。例如,當前調度周期內有5個數據流,數據流1和2是時間敏感數據流,數據流3、4、5是非時間敏感數據流,假設數據流1和4的剩余時間充足,數據流2的剩余時間不足,且數據流2的剩余時間與數據流1和4的剩余時間的和也不能夠再傳輸數據流2的一個幀,則將數據流1和4的剩余時間挪用給數據流2的同時,將數據流3、4、5中任一數據流的部分時間挪用給數據流2,以多傳輸數據流2的一個幀。
32.(4)若該時間敏感數據流的剩余時間不足,且該時間敏感數據流的剩余時間與剩余時間充足的數據流的剩余時間之和不能保證該時間敏感數據流再傳輸一個幀,且當前調
度周期內均為時間敏感數據流(即當前調度周期內沒有為非時間敏感數據流分配時間片),則將該時間敏感數據流的剩余時間保留至下一調度周期使用。例如,當前調度周期內有2個時間敏感數據流,假設數據流1的剩余時間充足,數據流2的剩余時間不足,且數據流2的剩余時間與數據流1的剩余時間的和也不能再傳輸數據流2的一個幀,則將數據流1和2保留至下一調度周期使用,即,當前調度周期變小,下一調度周期變大,但兩個調度周期的周期之和不變。
33.對于當前調度周期內的任一非時間敏感數據流,具體實施時存在以下四種情況:
34.(1)若該非時間敏感數據流的剩余時間充足,則可以將該非時間敏感數據流的剩余時間挪用給其他剩余時間不足的數據流。例如,當前調度周期內有5個數據流,數據流1和2是時間敏感數據流,數據流3、4、5是非時間敏感數據流,假設數據流5的剩余時間充足,則可以將數據流5的剩余時間挪用給數據流1-4中剩余時間不足的數據流,其中,優先挪用給時間敏感數據流。
35.(2)若該非時間敏感數據流的剩余時間不足,且該非時間敏感數據流的剩余時間與剩余時間充足的數據流的剩余時間之和能夠保證再傳輸該時間敏感數據流的一個幀,則可以將剩余時間充足的數據流的剩余時間挪用給該非時間敏感數據流,以多傳輸該非時間敏感數據流的一個幀,在保證調度能力的同時提升了非時間敏感數據流在當前調度周期的數據傳輸量,提升了實時性。例如,當前調度周期內有5個數據流,數據流1和2是時間敏感數據流,數據流3、4、5是非時間敏感數據流,假設數據流1和4的剩余時間充足,數據流5的剩余時間不足,且數據流5的剩余時間與數據流1和4的剩余時間的和能夠再傳輸數據流5的一個幀,則將數據流1和4的剩余時間挪用給數據流5,以多傳輸數據流5的一個幀。
36.(3)若該非時間敏感數據流的剩余時間不足,且該非時間敏感數據流的剩余時間與剩余時間充足的數據流的剩余時間之和也不能再傳輸該非時間敏感數據流的一個幀,則將該時間敏感數據流的剩余時間保留至下一調度周期使用。例如,當前調度周期內有2個數據流,數據流1是剩余時間充足的時間敏感或非時間敏感的數據流,數據流2是剩余時間不足的非時間敏感數據流,假設數據流1的剩余時間與數據流2的剩余時間的和不能再傳輸數據流2的一個幀,則將數據流1和2的剩余時間保留至下一調度周期使用,即,當前調度周期變小,下一調度周期變大,但兩個調度周期的周期之和不變。
37.實施例2
38.ieee 802.1qbv為了確保時間片在切換時以太網接口是空閑的,會在每個用于傳輸關鍵流量(時間敏感數據流)的時間片前面放置一個保護帶,中斷非時間敏感數據流,保護帶的時長與進行安全傳輸最大幀(即最大以太網幀)所需的時長一致。在該保護帶,不能啟動新的以太網幀傳輸,僅可以完成正在傳輸的數據幀,顯然,保護帶中的部分或全部時間無法利用,導致調度周期內的有效時間或總帶寬減小。本發明提供一種實現計算簡單、調度能力強,同時帶寬利用率高的時間敏感網絡調度策略,在靜態調度策略中時分復用思想基礎上進行改進,升級為動態調度。采用本發明的調度策略后,可以將原有保護帶內不能使用的時間利用起來,增加了時間片內的有效時間,提高了數據傳輸量和帶寬利用率。
39.以下結合圖2和圖3進行詳細說明。
40.1.時分復用.
41.本發明的調度策略以時分復用思想為核心,各個數據流根據在一個調度周期內占
用時間片的長度,劃分使用帶寬,實現流量基本調度。
42.例如,數據流a在帶寬為r的信道內,在一個調度周期t內占有時間片長度為ta,則相當于數流a按照帶寬ra=ta/t*r進行調度。
43.以門控策略為作為參照(但不限于),即,參照2015年門控策略標準ieee802.1qbv,采用通過門控列表控制門控開關調度各個數據流傳輸情況,使調度算法能夠提供多流量靈活調度,并提供確定性時延邊界(現有研究成果已推導出,在此不贅述)。
44.2.可變調度時間片
45.分析門控策略帶寬利用率低原因,主要受保護帶影響,每次調度最大浪費1個以太網幀大小的帶寬,約1500字節。保護帶作用是在時間敏感數據流來臨前,提前中斷非時間敏感數據流,為確保準確中斷,需提前1個最大以太網幀,以防止非關鍵數據流對時間敏感數據流影響。
46.分析保護帶使用,帶寬浪費分為兩種情況:剩余時間富余、剩余時間不足。
47.(1)剩余時間富余
48.剩余時間富余(或稱剩余時間充裕、剩余時間充足)指,某數據流在一個分配時間片內傳輸后無數據,仍有剩余時間,是該數據流用不上的時間,即剩余時間用不完。具體如圖2所示。
49.需要說明的是,如果該數據流是非時間敏感數據流,下一數據流是時間敏感數據流,那么圖2時間片中的剩余時間a可能大于、等于、或小于該時間片中的保護帶的時長。
50.本發明調度策略是,將該數據流富于的剩余時間挪至其他數據流使用,因總調度周期不變,對該數據流調度無任何影響。而接收富余剩余時間的數據流在一個周期內相當于分配帶寬變大,傳輸數據量變大,傳輸延遲降低,實時性提高,因無空閑時間,總體帶寬利用率提升。即實時性和帶寬利用率都獲得了提升。
51.(2)剩余時間不足
52.剩余時間不足指,某數據流在一個分配時間片傳輸數據,剩余時間不能傳輸1個幀長而中斷,剩余時間無法使用,即想用卻用不了。具體如圖3所示。
53.需要說明的是,如果該數據流是非時間敏感數據流,下一數據流是時間敏感數據流,那么圖3時間片中的剩余時間b小于該時間片中的保護帶的時長。
54.對此,本發明調度策略,分兩種情形:
55.情形1,若可由它處(如其它剩余時間富余的數據流或非時間敏感數據流)補足,則多傳1個幀。此時,本數據流在原門控策略延遲分析基礎上,相當于實現本調度周期內帶寬變大,傳輸數據量變大,傳輸延遲降低,實時性提高,因無空閑時間,總體帶寬利用率提升。剩余時間富余的數據流的調度不受影響;非時間敏感數據流對實時性無要求,可認為不影響。即實時性和帶寬利用率都獲得了提升。
56.情形2,若上面情形不滿足,即,若無法由它處補足多傳1個幀,則保留至下一個周期使用。此時,本數據流時延分析在本周期不受影響,相當于在下一個調度周期內帶寬變大,傳輸數據量變大,傳輸延遲降低,實時性提高,因無空閑時間,總體帶寬利用率提升。對于其它數據流因本周期變小,傳輸時延在原門控策略基礎上降低,在下個周期,周期變長,傳輸時延增加,但綜合兩個周期,總周期不變,傳輸時延總體不變。即實時性和帶寬利用率都獲得了一定保證與提升。
57.需要指出的是,因非時間敏感數據流在每個周期內也分配有一定的傳輸時間片,因此基本能夠滿足情形1,情形2只是極端特例。
58.綜合剩余時間富余和不足兩種情況可知,本調度策略在時間敏感網絡原有協議(例如門控策略)基礎上,實現了提升了調度能力又將帶寬利用率提升至約100%。
59.實施例3
60.本發明還提供了一種動態流量調度設備,具體如圖4所示,所述設備100包括存儲器1、處理器2、存儲在所述存儲器1上并可在所述處理器2上運行的程序,所述程序被所述處理器2執行時實現如前述的動態流量調度方法的步驟。
61.所述處理器2可以包括但不限于能夠執行存儲器上保存的程序的中央處理器、數字信號處理器或微處理器。
62.實施例4
63.本發明還提供了一種存儲介質,所述存儲介質中存儲有程序,所述程序被處理器執行時,實現如前述的動態流量調度方法的步驟。
64.所述存儲介質可以包括但不限于ram、rom、eeprom、閃存或其他存儲器技術、cd-rom、數字多功能盤(dvd)或其他光盤存儲、磁盒、磁帶、磁盤存儲或其他磁存儲裝置、或者可以用于存儲期望的信息并且可以被處理器訪問的任何其他的介質。
65.以上參照附圖說明了本發明的優選實施例,并非因此局限本發明的權利范圍。本領域技術人員不脫離本發明的范圍和實質內所作的任何修改、等同替換和改進,均應在本發明的權利范圍之內。
技術特征:
7任意一項所述的動態流量調度方法的步驟。9.一種存儲介質,其特征在于,所述存儲介質中存儲有程序,所述程序被處理器執行時,實現如權利要求1-7任意一項所述的動態流量調度方法的步驟。
技術總結
本發明公開一種動態流量調度方法、裝置及存儲介質,涉及網絡通信領域,所述方法包括:為一個調度周期內需要調度的每個數據流分配時間片;根據每個數據流的數據量和時間片的長度,確定當前調度周期內每個數據流的剩余時間充足或是不足;將當前調度周期內剩余時間充足的數據流的剩余時間調度給當前調度周期內剩余時間不足的數據流,以提升當前調度周期內的數據流量。數據流量。數據流量。
