柴安穎,馬 躍,尹震宇,李明時,李成蒙,高珊珊
(中國科學院大學,北京 100049) (中國科學院 沈陽計算技術研究所,沈陽 110168)
工業生產過程中,不同種類傳感信息對數據傳輸量、傳輸實時性等要求均有不同,保障工業網絡傳輸的實時性,提高傳感數據傳輸效率,確保突發敏感數據的實時傳輸,是工業物聯網通信領域亟待解決的重要問題.隨著網絡技術的不斷發展,傳感器網絡近年來引起了廣泛關注.文獻[1]針對資源受限傳感器網絡中實時與非實時數據混合傳輸問題,提出了一種動態多優先級分組調度方法,降低通信過程端到端數據傳輸的延遲,并提升數據通信的實時性[1].文獻[2]提出了一種優先感知多通道自適應框架,該框架引入優先感知調度方法,有效提高了實時流量和動態通道的配置效率,并保證了網絡數據優先級的動態靈活調整和傳輸的低延遲[2].文獻[3]針對無線網絡中鏈路帶寬資源缺乏導致的數據傳輸性能的瓶頸,提出了一種多優先級自適應的接納控制算法,降低了無線網絡通信的阻塞率、丟棄率以及未完成率[3].文獻[4]針對CPS中傳統調度策略無法滿足系統任務多樣性傳輸的問題,提出了一種動態多優先級調度算法,混合了搶占式調度和非搶占式調度方法,減少了數據傳輸時延,提高了系統穩定性[4].文獻[5]利用無線傳感網中差異化調度策略,提出了一種基于多優先級的數據分組調度機制,解決了網絡中重要控制類信息高質量傳輸問題,保障了高優先級數據的傳輸性能,提高了系統利用率[5].文獻[6]針對傳感器網絡各節點間數據傳輸無法實現超可靠性通信的問題,提出了一種基于最小控制開銷和反饋機制的實時路由協議,降低了傳感器數據傳輸的時間延遲,實現了數據的超可靠性實時傳輸[6].文獻[7]提出了一種實時高效的資源調度和優化框架,建立了高效的資源調度優化模型,實現了大數據流的高能效和低響應時間傳輸,降低了數據傳輸時延[7].上述方法雖然在一定程度上提高了網絡數據通信實時性,但在工業物聯網的大數據量傳輸條件下[8],依然無法滿足工業網絡中各類感知信息傳輸的實時性要求.
基于以上問題,本文在利用IEEE802.15.4e時隙傳輸機制的基礎上,提出一種基于服務區分的實時數據傳輸調度模型,將模型動態隊列中各類通信數據分為不同優先級進行傳輸,利用多優先級感知時隙數據傳輸方法,實現多個時隙組合為一個感知時隙,并根據業務的不同優先級完成感知時隙的合理分配,提高時間敏感數據的實時傳輸,保證了不同時延容忍度感知信息傳輸的實時性要求.
本文所提出的一種基于服務區分的實時數據傳輸調度模型包含兩部分,模型總體架構如圖1所示.首先模型將動態隊列中的報警、狀態、圖像以及視頻四類通信數據分為4種優先級進行傳輸[9],根據數據的不同類型,建立不同優先級緩沖隊列,加入動態控制策略[10],實現多優先級隊列空間的動態管理.

圖1 模型結構圖Fig.1 Model structure diagram
同時設計多優先級感知時隙數據傳輸方法,采用感知時隙傳輸結構,將時隙組合傳輸不同類別數據,優先級越高的數據,時隙分配越靠前,優先級越低的數據,時隙分配越靠后.在該模型中隊列服務采用ACQS(Analyze,Classification, Queuing,Scheduling)服務模式,完成數據的優先級劃分以及隊列分類,在傳輸過程中利用多優先級感知時隙數據傳輸方法,對高優先級數據優先處理,保障突發敏感數據的實時傳輸,實現了模型數據調度的高效性.
在本模型起始階段,采用多優先級隊列動態控制方法動態控制緩沖隊列空間,在傳統的CQS(Classification,Queuing,Scheduling)架構基礎上,提出一種ACQS(Analyze,Classification, Queuing,Scheduling)服務結構,設計并增加了數據分析模塊,能夠分析數據流傳輸過程中各類數據轉發量及轉發概率,為動態調整隊列結構提供可靠保證,圖2為ACQS多隊列服務結構圖.

圖2 ACQS多隊列服務結構Fig.2 ACQS Multi-queue service structure
在圖2中,ACQS服務結構包含P1、P2和P33類隊列管理器,其中P1代表數據分類與分析器,根據優先級服務順序,對各類型數據包進行區分和歸類,在傳統CQS隊列結構基礎上,增加分組隊列數據分析,統計各優先級數據流轉發量及轉發概率,優化隊列轉發結構,保證優先級隊列長度動態調整的準確性.
P2代表分組隊列管理器,以P1提供的數據分析以及當前各分組緩沖隊列占用比為基礎,動態調整各隊列長度,提高各優先級隊列對突發性數據流的處理能力,避免洪峰效應造成的網絡擁塞,減少實時數據傳輸的網絡延遲,同時在數據量減小情況下可縮短隊列長度,節省服務器內存開銷[11].
P3:隊列調度器,采用感知時隙數據傳輸方法,將4組隊列內的緩沖數據按照服務類型不同,分配到不同優先級時隙進行傳輸.
本模型所采用的多優先級隊列動態控制方法,能夠感知數據流中各優先級傳輸量,通過一定時間內數據量變化趨勢,預測各類數據發送量,從而實現隊列的動態調整,保證數據傳輸的可靠性.其中Qm代表需要傳輸的數據流,Qi(i=1,2,3,4)表示不同優先級數據緩沖隊列長度,該隊列空間長度動態可變,CM代表各緩沖隊列占用總存儲空間,具體計算公式如公式(1)所示.
(1)
基于服務區分的實時數據傳輸調度模型以ACQS多隊列服務結構為基礎,將設備數據劃分為4種優先級,分別傳輸報警、狀態、圖像以及視頻4類信息.多優先級隊列動態控制方法對應4類數據分別建立4種緩沖隊列Qi(i=1,2,3,4) ,Qmax代表各隊列最大空間長度,每個隊列由固定列長QC和動態列長QVi組成,其中i=1,2,3,4,見公式(2).
Qi=QC+QVi
(2)
令Qyi為已占用隊列空間,在網絡初始狀態下,Qyi值為零,同時各優先級隊列Qi與固定列長QC相等,隊列初始狀態表示見公式(3),M為常數,表示固定列長設定值.
(3)
在數據傳輸過程中,P1根據優先級順序將數據分類,為保障數據實時性傳輸,本文采用指數平均預測算法計算各優先級數據流預測發生概率,算法復雜度低易于實現.當數據流經過時間段T時,由公式(4)可計算本時間段內各優先級數據流概率Pb{X=i},其中B為T時間段內數據流總量,Bi為該時間段內優先級為i數據流量,i=1,2,3,4.
Pb{X=i}=Bi/B
(4)
假設存在n個時間周期為T的時間段,第j個時間段內優先級為i的數據量為Bij,第j時間段內數據總流量為Bj,由公式(5)可得第j時間段內優先級為i的數據流傳輸概率P{X=i,Y=j}.
P{X=i,Y=j}=Bij/Bj
(5)
在n個時間周期內,執行指數平均預測算法,i=1,2,3,4,如公式(6)所示.
(6)
然后預測優先級為i的數據流發生概率P{X=i},μ為預測權重系數,i=1,2,3,4,如圖3所示.

P{X=i}=μ*P{X=i,Y=1}+μ(1-μ) *P{X=i,Y=2}+…+(1-μ)n-2 *P{X=i,Y=n-1}+μ(1-μ)n-1*P{X=i,Y=n}
圖3 數據流發送概率原理圖
Fig.3 Sending probability schematic diagram
由于報警類信息實時性要求高于其他3類信息,且只在設備運行異常時觸發產生報警數據,所以通常情況下報警類數據處于非飽和傳輸狀態,動態調整隊列長度能夠節省隊列資源開銷,減輕服務器數據處理壓力,其他3類隊列根據時段內數據量大小調整隊列空間長度,避免了突發數據流流量過大導致的網絡擁塞問題.
P2判斷各優先級隊列擁塞情況,首先計算隊列Qi未占用長度Qu,如公式(7)所示,當Qu低于Congest閾值時,認為該隊列即將出現擁塞[12].
Qu=Qi-Qyi (7) 多優先級隊列動態控制方法將已被檢測符合擁塞要求的Qi,以優先級從高到低進行隊列空間調整,擴增各調整隊列動態列長QVi,如公式(8)所示,QVAi為擴增后各隊列的動態列長,調整后隊列長度為Qi=QCi+QVAi. QVAi=QVi+(QC+QVi)*P{X=i} (8) 在k段時間內,當各隊列中空閑長度Qu與總長度Qi比值Rl高于Leisure閾值,且P{X=i}預測發生概率始終低于Prob,Prob為可調概率閾值,且Rl>Prob,對隊列長度進行縮減,公式(9)計算隊列長度縮減值Var. Var=(QC+QVi)*Leisure*(1-Prob) (9) 然后計算動態列長調整后長度QVAi,如公式(10)所示. (10) 由公式(9)和公式(10)可推倒出調整后Qi隊列長度Li,如公式(11)所示. (11) 因此,當報警類數據或其他3類數據的傳輸量減小時,多優先級隊列動態控制方法對各優先級緩沖隊列空間實時作出調整,動態管理緩存空間,節省內存資源;當各類數據傳輸量突發性增大時,模型實時擴大緩存隊列長度,適應大數據量緩存要求,減少數據包傳輸時延,滿足各類數據差異化的QoS傳輸需求. 基于服務區分的實時數據傳輸調度模型采用感知時隙(Perception of Time Slot)傳輸結構,以下簡稱PTS結構.在數據傳輸過程中,時隙劃分過多會導致媒介訪問延遲的增長,本文規定一個感知時隙由4個單一時隙(mini-slot)組合而成,不同單一時隙分別傳輸不同優先級數據,如圖4所示. 圖4 PTS結構圖Fig.4 PTS structure diagram 在PTS結構中,優先級越高的數據,時隙分配越靠前,優先級最低的數據,時隙分配在最后,按照傳輸需求在模型隊列調度器P3內,利用感知時隙數據傳輸算法進行數據調度,具體如下: 已知網絡中存在n個站點數據流f1,f2,f3,…,fn,分別向該模型傳遞數據,對于各數據流fi(i=1,2,3,…,n)而言,假設其幀長固定,數據周期發送,由公式(12)和公式(13)分別可得各數據流發送周期Ti以及模型調度周期Tl,其中Dfi代表幀長,Vi代表數據流的傳輸速度. Ti=Dfi/Vi (12) Tl=LCM(T1,T2,T3,…,Tn) (13) 在調度周期Tl內,存在m個等待傳輸數據的緩沖隊列,感知時隙數據傳輸算法已設定PTS所包含的mini-slot數量,為每個時隙分配了固定的時間片,Ns即代表一個調度周期內的mini-slot時隙數.將PTS中所有mini-slot初始化為空閑,按序號順次排列,由公式(14)可得各mini-slot時間長度Lst. (14) 各隊列從傳輸開始到結束的時間段稱為該隊列的傳輸窗口,用wi表示.在初始狀態下,各隊列傳輸窗口wi時長與mini-slot時長Lst相等,對于不同類型的數據,分配相等的時隙長度,但高優先級數據在PTS內優先發送,初始條件設置見公式(15). (15) 當生產線設備觸發報警,生成報警類數據傳輸,同時其他3類數據均正常發送時,各隊列Qi均存在等待傳輸的數據.此時,各隊列傳輸窗口wi值與Lst值相等,見公式(16). wi=Lst (16) 模型隊列調度器P3按照優先級先后順序,計算一個調度周期內各隊列Qi的傳輸窗口,并實時分配到每個隊列.模型根據wi值對Tl內Qi所要傳輸的數據長度進行有序調度,在PTS內尋找到未被占用并且時長為wi的mini-slot,該時隙在PTS中編號最小,并標記為占用.設Tstart.wtransmit(i,j)為第i個隊列被分配的第j個mini-slot的開始時間,Wtransmit(i,j)代表隊列i的第j個傳輸窗口,ti為各隊列時間戳,公式(17)記錄了各隊列的在調度周期Tl內傳輸的起始時間. (17) 按照隊列優先級,高優先級時隙分配完畢后檢查下一優先級隊列,直到網絡中所有緩沖隊列都分配完畢. 如圖5所示,當各隊列皆處于飽和狀態時,模型實時調度在Tl周期內所有傳輸的數據包,調度器以傳輸窗口wi為基礎,將各隊列Qi數據包集合(data block)分配于不同時隙傳輸,充分利用PTS時隙長度,保證數據傳輸的高效性. 圖5 隊列飽和狀態下模型調度原理圖Fig.5 Schematic diagram of model scheduling in queue saturation 當各隊列處于非飽和狀態時,模型實時調度在Tl周期內所有傳輸的數據包,由于隊列數據的非飽和性,調度器在傳輸窗口wi時間內,將各隊列Qi在該時間段內到達的數據分配到PTS中進行傳輸,傳輸過程如圖6所示. 在數據傳輸過程中,當生產線設備未觸發報警時,隊列Q1會長時間處于無緩存數據狀態,PTS中分配傳輸Q1數據的mini-slot在調度周期內存在空閑,大大降低了時隙資源利用率.本模型采用多優先級動態調整時隙傳輸算法,根據各隊列Qi緩存數據長度Li,調整時隙內數據傳輸類型,具體實現方法如算法1所示. 圖6 隊列非飽和狀態下模型調度原理圖Fig.6 Schematic diagram of model scheduling in queue unsaturated State 算法 1.多優先級動態調整時隙傳輸算法(TSDA) 輸入:時隙傳輸開始時間Tstart.wtransmit,隊列長度L,隊列數n,固定傳輸窗口w,各隊列時間戳ti 輸出:調整后隊列傳輸窗口Wtransmit,隊列被分配時隙的傳輸開始時間Tstart.wtransmit 1.給定初始值μi←0,i←1; 2.fori←1tondo 3.μi←Extract(Li);//在ACQS中提取各隊列長度 4.endfor 5.fori←1tondo 6.ifμi=0andi=0 then//報警類隊列無數據傳輸 7.Wtransmit(i,j)←0; 8.Wtransmit(i+1,j)←Wtransmit(i+1,j)+wi 9.Tstart.wtransmit(i,j)←NULL 10.Tstart.wtransmit(i+1,j)←Tstart.wtransmit(i,j) 11.i←i+1 12.else//高優先級報警類隊列正常傳輸 13.Wtransmit(i,j)←wi 14.Tstart.wtransmit(i,j)←ti 15.endif 16.endfor 當隊列中存在高優先級報警數據傳輸時,多優先級動態調整時隙傳輸算法為各隊列正常分配時隙進行傳輸,當隊列中不存在高優先級報警數據傳輸時,為充分利用時隙資源,隊列Q2將搶占隊列Q1在本次調度周期Tl內所分配的時隙長度,此時PTS中mini-slot實際分配方案,如圖7所示. 圖7Q1隊列無傳輸數據時隙分配圖 模型實時檢測隊列數據長度,當調度器檢測到隊列Q1中產生數據緩存,算法立刻做出決策,由隊列Q1搶占隊列Q2所分配的原屬于隊列Q1的時隙,保證了PTS的高效利用,避免了感知時隙在調度周期內的資源浪費. 本文通過omnet++仿真實驗,首先在網絡不同數據量傳輸條件下,針對模型的多優先級隊列動態控制方法的隊列實時調整能力做出分析,保證隊列空間的動態可調性.然后分析該模型在充分利用感知時隙傳輸數據過程中,不同優先級數據的吞吐情況,從而確定模型是否滿足實時性要求,驗證基于服務區分的實時數據傳輸調度模型在不同時延容忍度數據傳輸調度方面的優越性. 本實驗通過運行4種業務數據進行仿真,來分析本文網絡模型中多優先級隊列動態控制方法在隊列空間調控的性能.在仿真實驗中,按照本文所提出的網絡模型,將報警、狀態、圖像以及視頻4類業務數據分為不同優先級,設定傳感器網絡每個通信數據包大小為100 byte,隊列CM值為4×105byte,Congest閾值為0.2,4種不同優先級隊列最大空間Qmax為105byte,以及各隊列固定列長QC均為2×104byte. 在多優先級動態隊列性能評估過程中,本文為適應工業場景下數據產生情況,對4種業務數據發包量有所區分.在測試前30s,模型沒有產生報警類信息,隨后進行發包并逐漸增加發包量,在60s-90s期間發送數據量趨于平穩,隨后逐漸下降為零,符合工業環境中突發敏感數據的傳輸情況.狀態、圖像以及視頻類信息數據量隨著時間的增加而逐漸增加,在80s左右達到峰值,隨后數據量逐漸下降并趨于平穩. 圖8呈現了運行本模型得出的各數據類型數據傳輸量與對應動態隊列的空間長度.圖中Queue 1在沒有報警數據產生的前提下,隊列長度始終維持在2×104byte,當產生警報數據而且數據量隨之增加時,模型隊列空間隨之增加,然后隨著傳輸數據量的穩定而趨于平緩,最后在100s左右時,根據數據量的減小隊列動態變小,直至數據傳輸量為0,動態隊列穩定在2×104byte.Queue 2、Queue 3和Queue 4數據發送量變化大體相同,在0-30s之間數據發送量較小,模型隊列空間較為穩定,此后數據量增加同時動態隊列空間迅速增長,當模型在80s左右時數據發送量達到峰值,在此之前的60s左右模型已經分配最大隊列空間來防止隊列溢出,并隨著傳輸數據量的減小而逐漸減小最后趨于穩定. 圖8 各隊列空間變化圖Fig.8 Diagram of changes in the size of each queue 經實驗驗證得出,本模型所設計的動態隊列控制方法具有一定的隊列長度可預測性,能夠適應大數據量及突發數據傳輸要求,滿足數據差異化的QoS傳輸需求,能夠保證模型的穩定性. 圖9是對4種優先級數據網絡有效吞吐率測試結果.本文依然沿用上述動態隊列測試參數,并選取100s作為測試時長.在模型測試過程中,20s之前網絡中無高優先級報警類信息進行傳輸,該類數據有效吞吐率沒有顯示,狀態、圖像以及視頻類信息數據量始終按照相同趨勢,隨時間增加而逐漸增加.在0-20s之間,圖像和視頻兩類低優先級數據有效吞吐率隨發送數據量的增加而逐漸降低,而狀態類數據并無太大變化,20s之后該類數據迅速下降,證明狀態類數據在報警類數據沒有傳輸之前,占用其感知時隙發送數據,當高優先級報警類數據存在時,進行搶占操作,導致單位時間內狀態類數據有效吞吐率迅速降低. 圖9 各優先級數據有效吞吐率變化圖Fig.9 Diagram of effective throughput for each priority data 在實驗測試過程中,高優先級報警類數據在20s-70秒期間,隨數據量增長其有效吞吐率幾乎不受其他優先級數據發送量的影響,在70s之后由于數據量增長過大導致吞吐性能下降明顯,但相比中低優先級數據有效吞吐率下降較小,低優先數據有效吞吐率在整個測試過程中下降十分明顯.實驗證明,本模型所設計的多優先級感知時隙數據傳輸方法可以動態調整時隙占用情況,充分利用PTS時隙資源,對于模型本身來講,能夠將各優先級數據進行實時傳輸調度,保證了突發敏感數據的實時傳輸. 本文針對當前工業物聯網中時延敏感數據傳輸實時性低,無法根據各類數據不同時延容忍度采取合理調度方法的問題,提出一種基于服務區分的實時數據傳輸調度模型,以報警、狀態、圖像以及視頻4類故障運維數據為優先級劃分條件,在傳感信息多樣化及大數據量傳輸條件下,采用多優先級隊列動態控制方法,利用ACQS服務結構對多優先級隊列進行動態管理,提高了各優先級隊列對突發性數據流的處理能力.同時運用模型中多優先級感知時隙數據傳輸方法,提高了時間敏感數據傳輸的實時性.實驗結果表明,本模型能夠保證時延敏感數據傳輸的實時性,同時隊列長度能夠根據不同數據傳輸量進行實時調整,保證工業生產環境下,突發敏感數據的實時傳輸,滿足各類數據差異化的QoS傳輸需求.在未來的工作中,我們要續擴展模型的數據傳輸方法,在提升高優先級數據傳輸實時性的同時,減少低優先級數據在傳輸過程中的擁塞程度,保證各類數據能夠按要求到達服務器.2.2 多優先級感知時隙數據傳輸方法




Fig.7 Time slot allocation graph forQ1queue without transmission data3 仿真實驗分析
3.1 多優先級動態隊列性能評估

3.2 模型綜合性能評估與分析


4 總 結