徐川 曾日輝 邢媛 鄧炳光 趙國鋒
隨著工業(yè)4.0的蓬勃發(fā)展,工業(yè)物聯(lián)網(wǎng)(Industrial internet of things,IIoT)中的智能制造和管理技術(shù)引起工業(yè)界和學(xué)術(shù)界的極大關(guān)注[1-2].為了實(shí)現(xiàn)工業(yè)系統(tǒng)中的智能決策和自動工控,工廠中會部署種類繁多的感知設(shè)備和控制設(shè)備,例如移動巡檢機(jī)器人、自動運(yùn)輸車和監(jiān)控?cái)z像頭等,這些工業(yè)設(shè)備在實(shí)時性和可靠性等方面對傳統(tǒng)工業(yè)網(wǎng)絡(luò)提出了嚴(yán)格的挑戰(zhàn)[3].針對工業(yè)網(wǎng)絡(luò)的實(shí)時性和可靠性需求,IEEE 和IETF 工作組分別提出了應(yīng)用于鏈路層的TSN (Time sensitive networking)標(biāo)準(zhǔn)體系[4-5]和應(yīng)用于網(wǎng)絡(luò)層的DetNet 標(biāo)準(zhǔn)體系[6],然而這些技術(shù)均屬于有線網(wǎng)絡(luò)技術(shù),不能夠很好地支持設(shè)備的移動性且布線成本較高.與有線技術(shù)相比,無線技術(shù)[7]由于具有易部署、成本低和支持移動性等優(yōu)勢,可以很好地應(yīng)用于工業(yè)領(lǐng)域.目前最常用的工業(yè)無線標(biāo)準(zhǔn)WirelessHART、ISA100.11a 和WIA-PA都基于IEEE802.15.4[8-10],且只適用于低速率且數(shù)據(jù)量小的工控信息傳輸,無法滿足新型工業(yè)物聯(lián)網(wǎng)設(shè)備的高速率傳輸要求[11-14].IEEE802.11系列協(xié)議適用于高速率傳輸,但由于信道接入采用競爭機(jī)制,無法提供低且有界的時延傳輸服務(wù)[15].與傳統(tǒng)工業(yè)應(yīng)用相比,現(xiàn)代工廠中的業(yè)務(wù)傳輸?shù)臄?shù)據(jù)不再是單一且固定的小流量數(shù)據(jù),而是具有非周期性規(guī)律的高動態(tài)變化流量的數(shù)據(jù).因此,如何在保障工業(yè)物聯(lián)網(wǎng)設(shè)備時延有界的同時,提升傳輸效率是現(xiàn)代工業(yè)無線技術(shù)需要解決的難點(diǎn)問題.
現(xiàn)有研究成果根據(jù)其是否需要修改802.11 協(xié)議的信道接入機(jī)制分成兩類.第1 類方法無需修改信道接入機(jī)制,以Cena等[16]的研究方案為代表,通過最大化無縫冗余信道提高基于802.11 協(xié)議的WiFi可靠性.但這類方案需要在終端設(shè)備上部署多個無線網(wǎng)卡設(shè)備,因此會增加部署成本和難度.同時,802.11協(xié)議中基于載波偵聽多址接入(Carrier sence multiple access,CSMA)的機(jī)制引入了隨機(jī)性時延,無法保證時延有界.第2 類方法對802.11 協(xié)議的CSMA機(jī)制進(jìn)行改進(jìn).一部分研究人員提出在MAC (Medium access control)層采用時分多址(Time division multiple access,TDMA)機(jī)制取代CSMA 機(jī)制.例如,Wei等[17]通過修改商用無線網(wǎng)卡驅(qū)動,在WiFi 下設(shè)計(jì)并實(shí)現(xiàn)高吞吐量和低時延的實(shí)時高速無線通信協(xié)議RT-WiFi (Real time WiFi).然而,RT-WiFi的設(shè)計(jì)初衷是針對固定速率數(shù)據(jù)傳輸?shù)母袘?yīng)設(shè)備,它為每個設(shè)備分配固定的信道資源,無法適應(yīng)業(yè)務(wù)需求的變化.隨后,Cheng等[18]在RTWiFi的基礎(chǔ)上提出了一種適用于移動設(shè)備的工業(yè)無線多跳網(wǎng)絡(luò)協(xié)議Det-WiFi.盡管固定TDMA 方案可以為設(shè)備分配固定的接入信道從而確保實(shí)時通信,但是存在可擴(kuò)展性差和信道利用率低的問題.
為此,研究者們提出同時結(jié)合TDMA 和CSMA優(yōu)勢的混合TDMA/CSMA的接入機(jī)制[19].Shahin等[20]設(shè)計(jì)并實(shí)現(xiàn)了一種基于802.11的混合TDMA/CSMA 信道接入方式hMAC,其中在TDMA 階段為時延敏感業(yè)務(wù)提供時延有界傳輸保證,CSMA 階段用于兼容IEEE802.11.hMAC 不足之處在于只設(shè)計(jì)下行傳輸?shù)幕旌蟃DMA/CSMA 傳輸機(jī)制,無法提供上行數(shù)據(jù)的可靠傳輸.Shoaei等[21]提出了基于機(jī)器學(xué)習(xí)的混合TDMA/CSMA 協(xié)議.在提出的協(xié)議中,具有高吞吐量的用戶被安排在TDMA階段進(jìn)行數(shù)據(jù)傳輸,而低流量的用戶在CSMA 階段進(jìn)行接入信道,競爭傳輸數(shù)據(jù).但此方案根據(jù)吞吐量的高低進(jìn)行分級傳輸,無法保證網(wǎng)絡(luò)中所有數(shù)據(jù)的時延有界.Cruces等[22]提出了一種確定性混合網(wǎng)絡(luò)架構(gòu),其中無線接入部分采用TDMA 方式傳輸時敏業(yè)務(wù),CSMA 方式傳輸盡力而為數(shù)據(jù).然而,該方案中的TDMA 階段采用固定時隙分配方式,不能合理利用信道資源.此外,IEEE 于2019 年5月成立P802.11be Task Group (TGbe)專門用于解決WiFi 用于工業(yè)物聯(lián)網(wǎng)的實(shí)時性和可靠性問題[23].
綜上所述,現(xiàn)有的研究雖然從多個方面對WiFi協(xié)議進(jìn)行修改,從而提高WiFi 傳輸?shù)目煽啃院蛯?shí)時性,但是缺乏對工業(yè)場景中無線終端流量動態(tài)變化的考慮,導(dǎo)致無法滿足工業(yè)設(shè)備實(shí)時變化的數(shù)據(jù)傳輸需求.
針對工業(yè)無線網(wǎng)絡(luò)中時延有界保障和動態(tài)流量的需求的問題,本文提出了一種基于軟件定義的動態(tài)TDMA 系統(tǒng)(Dynamic TDMA system,DTS).在MAC 層引入動態(tài)TDMA 分配和反饋機(jī)制,為數(shù)據(jù)提供時延有界傳輸保障.同時,在控制器上通過收集的用戶狀態(tài)信息對用戶需要的時隙數(shù)目進(jìn)行預(yù)測,再通過動態(tài)時隙分配算法獲得最優(yōu)時隙分配,以滿足網(wǎng)絡(luò)中不同業(yè)務(wù)的動態(tài)需求.最后,通過仿真和真實(shí)網(wǎng)絡(luò)部署測試對DTS 性能進(jìn)行驗(yàn)證,仿真和測試的結(jié)果均表明,與已有的方案相比,DTS既能為傳輸設(shè)備提供時延有界的服務(wù),又能提高網(wǎng)絡(luò)的總吞吐量.
本文的主要貢獻(xiàn)如下:
1)為了確保工業(yè)無線網(wǎng)絡(luò)中業(yè)務(wù)傳輸?shù)臅r延有界需求,在WiFi 原有CSMA 階段引入用戶設(shè)備時隙需求協(xié)商機(jī)制,同時采用TDMA 時隙用于用戶設(shè)備數(shù)據(jù)傳輸,可提供時延有界的傳輸性能;
2)為了滿足用戶設(shè)備變化的帶寬需求,提出一種動態(tài)時隙分配算法,采用基于最小二乘法的線性回歸算法預(yù)測用戶設(shè)備的時隙需求,然后通過預(yù)測函數(shù)建立目標(biāo)函數(shù),求解出所有設(shè)備分配的時隙數(shù)目和位置,以提升網(wǎng)絡(luò)吞吐量;
3)設(shè)計(jì)并實(shí)現(xiàn)基于軟件定義的動態(tài)TDMA 系統(tǒng),將所提出的動態(tài)TDMA 接入機(jī)制和時隙分配算法進(jìn)行工程實(shí)現(xiàn).首先將動態(tài)時隙分配算法部署到SDN 控制器,實(shí)現(xiàn)全網(wǎng)時隙資源的動態(tài)分配;其次通過修改商用無線網(wǎng)卡驅(qū)動,實(shí)現(xiàn)用戶設(shè)備以TDMA 方式接入系統(tǒng),但該方式需要對用戶設(shè)備的網(wǎng)絡(luò)驅(qū)動進(jìn)行修改,造成一定程度的不便利.
如圖1 所示,在工廠中,各種應(yīng)用通過工業(yè)網(wǎng)絡(luò)對生產(chǎn)流程進(jìn)行管理和監(jiān)控,例如,無線監(jiān)視攝像頭、移動巡檢機(jī)器人、手持便攜、液壓感應(yīng)器和機(jī)械臂等工業(yè)物聯(lián)網(wǎng)設(shè)備都通過工業(yè)無線網(wǎng)絡(luò)進(jìn)行傳輸.其中會出現(xiàn)如下問題:1)等待分配信道資源:便攜設(shè)備和巡檢機(jī)器人等工業(yè)物聯(lián)網(wǎng)移動設(shè)備由于不會長期存在一個網(wǎng)絡(luò)中,因此通常不會分配專屬的信道資源,這導(dǎo)致移動設(shè)備加入網(wǎng)絡(luò)時需要等待無線訪問接入點(diǎn)(Access point,AP)分配信道資源;2)出現(xiàn)空閑信道:壓力計(jì)和機(jī)械臂等傳統(tǒng)工業(yè)傳感器由于傳輸數(shù)據(jù)量小且發(fā)送頻率固定,無法完全使用分配的信道資源,造成信道資源浪費(fèi);3)分配信道資源不足:由于監(jiān)控和圖像分析攝像頭等多媒體設(shè)備傳輸?shù)臄?shù)據(jù)量大且不確定,這將導(dǎo)致分配的信道資源無法滿足動態(tài)傳輸需求.
圖1 工業(yè)物聯(lián)網(wǎng)場景圖Fig.1 A typic industrial wireless internet of things
綜上所述,由于現(xiàn)有工業(yè)無線接入技術(shù)中的信道資源分配相對固定,無法為移動設(shè)備及時地分配可用的信道資源,造成設(shè)備入網(wǎng)產(chǎn)生排隊(duì)時延.同時,不同設(shè)備具有不同的數(shù)據(jù)發(fā)送頻率和信息時效性要求,即網(wǎng)絡(luò)的帶寬需求在實(shí)時變化和需要兼顧不同設(shè)備的時延標(biāo)準(zhǔn).因此如何動態(tài)且合理地分配信道資源,滿足工業(yè)無線網(wǎng)絡(luò)中動態(tài)帶寬的變化及實(shí)時性需求是本文所要解決的問題.
為了有效地管理和分配信道資源,本文將采取超幀形式對信道資源進(jìn)行劃分.如圖2 所示,按照時間順序?qū)⑿诺蕾Y源劃分成一個個連續(xù)的超幀,其中超幀的長度為Tsp.超幀由3 個階段組成,分別是Beacon 階段、CSMA 階段和TDMA 階段.為了確保各類數(shù)據(jù)的時延有界,本文采用TDMA 方式進(jìn)行數(shù)據(jù)傳輸,同時為適應(yīng)數(shù)據(jù)流量動態(tài)變化的需求,在CSMA 階段實(shí)現(xiàn)AP 與用戶設(shè)備之間的無線信道資源協(xié)商,并且在一個超幀周期后動態(tài)調(diào)整用戶設(shè)備的時隙分配.具體功能如下:
圖2 動態(tài)TDMA 信道接入方式Fig.2 Dynamic TDMA channel access method
1)Beacon 階段:其長度為TB.為了保證網(wǎng)絡(luò)時鐘同步和廣播時隙表,AP 在此階段向所在網(wǎng)絡(luò)廣播Beacon 幀.其中,網(wǎng)絡(luò)時鐘同步采用原有IEEE802.11 中的TSF (Timing synchronization function)機(jī)制,確保納秒(ns)級別的時間同步.
2)CSMA 階段:其長度為TC.主要有兩個功能:一是新設(shè)備入網(wǎng)協(xié)商,其中包括傳輸?shù)臄?shù)據(jù)類型和初始分配的時隙數(shù)目;二是用戶設(shè)備向控制器反饋與協(xié)商時隙資源需求.
3)TDMA 階段:其長度為TD.此階段由m個長度為Ts的時隙組成.每個時隙有且只允許一個設(shè)備(包括用戶設(shè)備和AP)進(jìn)行數(shù)據(jù)傳輸.
用戶設(shè)備n通過超幀中CSMA 階段反饋當(dāng)前數(shù)據(jù)量Tn,控制器根據(jù)反饋的數(shù)據(jù)量Tn為設(shè)備分配時隙,然而,當(dāng)下一個超幀到來進(jìn)行時隙分配時,用戶設(shè)備可能會產(chǎn)生新數(shù)據(jù),使得其實(shí)際需要的時隙數(shù)目大于原來反饋的Tn.因此,為進(jìn)一步地準(zhǔn)確得到用戶設(shè)備實(shí)際需求的時隙數(shù)目Sn,控制器通過離線模式和在線模式對各個用戶設(shè)備需求的時隙數(shù)進(jìn)行預(yù)測.在離線模式階段,通過訓(xùn)練大量收集的歷史數(shù)據(jù)求出線性回歸函數(shù)的參數(shù);在在線模式階段,通過線性回歸函數(shù)預(yù)測用戶設(shè)備實(shí)際需要的時隙數(shù)目.
根據(jù)機(jī)器學(xué)習(xí)擬合,建立基于線性回歸的時隙數(shù)目預(yù)測模型,如式(1)所示.其中,f(Tn)表示在Tn下預(yù)測的時隙數(shù)目,ω和b均是預(yù)測函數(shù)的參數(shù),預(yù)測函數(shù)的目的是讓f(Tn)的值靠近設(shè)備n實(shí)際需要的時隙數(shù)目Sn,即f(Tn)≈Sn.
均方誤差是線性回歸中最常用的性能指標(biāo),通過最小化均方誤差可以求解ω和b的值.
因此,為求解ω和b的值,本文采用最小二乘法建立數(shù)學(xué)模型進(jìn)行求解.已知?dú)v史數(shù)據(jù)集D={(T1,S1),(T2,S2),···,(TN,SN)},并建立均方誤差最小化優(yōu)化函數(shù)為
通過上述時隙預(yù)測算法,可以得到每個設(shè)備所需要的時隙數(shù)目f(Tn),假設(shè)當(dāng)前網(wǎng)絡(luò)設(shè)備的總數(shù)目為k,Tn表示設(shè)備n產(chǎn)生的數(shù)據(jù)量,超幀的長度為Tsp.αn∈{0,1}表示設(shè)備n的數(shù)據(jù)量因子,代表設(shè)備n是否產(chǎn)生數(shù)據(jù)量,αn=1 表示設(shè)備n產(chǎn)生了數(shù)據(jù)量,否則沒有.βin∈{0,1}表示第i個時隙與設(shè)備n的關(guān)聯(lián)關(guān)系,若第i個時隙分配給設(shè)備n,則βin=1,否則為0.記xn表示控制器為每個設(shè)備最終分配的時隙數(shù)目,本文旨在滿足設(shè)備時延有界的條件下,動態(tài)分配信道資源,以滿足網(wǎng)絡(luò)中所有設(shè)備的動態(tài)時隙需求,則建立目標(biāo)函數(shù)如下:
其中,目標(biāo)函數(shù)為最大化網(wǎng)絡(luò)中每個設(shè)備最終分配的時隙數(shù)目無限接近于其需求時隙數(shù)目,約束條件(5f)表示每一個時隙只能分配給一個設(shè)備,約束條件(5g)表示所有設(shè)備所分配的數(shù)目和不能大于總時隙數(shù)目,約束條件(5h)表示每個設(shè)備的傳輸時延不能超過其最大允許時延,其中?∈[0,∞)的自然數(shù).
動態(tài)TDMA 時隙分配算法如算法1 所述.其中,步驟1 控制器根據(jù)歷史數(shù)據(jù)集D分別計(jì)算出T和,步驟2~8 通過歷史數(shù)據(jù)訓(xùn)練分別求得預(yù)測參數(shù)ω和b,步驟9 則獲得預(yù)測函數(shù)f(Tn),然后根據(jù)獲得的預(yù)測函數(shù)和設(shè)備向控制器反饋的數(shù)據(jù)量,步驟10 和步驟11 求得所有設(shè)備所需要的時隙數(shù),步驟13 是將動態(tài)時隙分配問題轉(zhuǎn)化為時隙分配優(yōu)化問題構(gòu)建優(yōu)化目標(biāo)函數(shù)以滿足網(wǎng)絡(luò)中所有設(shè)備的動態(tài)時隙需求,從而獲得最優(yōu)動態(tài)時隙分配方案.
算法 1.動態(tài)時隙分配算法
該算法的計(jì)算復(fù)雜度主要包括兩個過程:歷史數(shù)據(jù)集有N個,網(wǎng)絡(luò)中設(shè)備數(shù)量為k個,總時隙數(shù)目為m個,首先對網(wǎng)絡(luò)中所有設(shè)備實(shí)際需要的時隙數(shù)進(jìn)行預(yù)測的時間復(fù)雜度為 O (N+k);然后為網(wǎng)絡(luò)中所有設(shè)備分配最優(yōu)時隙的時間復(fù)雜度為 O (km).算法總的時間復(fù)雜度為 O (N+k(m+1)).
為了實(shí)現(xiàn)動態(tài)時隙分配算法和機(jī)制,本文設(shè)計(jì)并實(shí)現(xiàn)到基于軟件定義的動態(tài)TDMA 系統(tǒng),如圖3所示.DTS的系統(tǒng)結(jié)構(gòu)自上而下分為應(yīng)用層、控制層和基礎(chǔ)設(shè)施層.應(yīng)用層向網(wǎng)絡(luò)管理者提供各種應(yīng)用服務(wù),控制層通過SDN 控制器[24-26]提供網(wǎng)絡(luò)流量控制,此外,控制層提供兩個重要的接口,分別是北向接口和南向接口.其中,北向接口為應(yīng)用層提供可編程接口,從而讓應(yīng)用層無需處理復(fù)雜物理底層參數(shù);南向接口主要負(fù)責(zé)與基礎(chǔ)設(shè)施層中網(wǎng)絡(luò)元件進(jìn)行交互,其中Openflow 協(xié)議[27]是南向接口協(xié)議.基礎(chǔ)設(shè)施層主要負(fù)責(zé)無線接入用戶設(shè)備的數(shù)據(jù)傳輸和轉(zhuǎn)發(fā),其主要網(wǎng)絡(luò)元件是AP 和用戶設(shè)備.AP與用戶設(shè)備通過超幀進(jìn)行交互,其中,AP 在Beacon階段廣播超幀信息;用戶設(shè)備通過CSMA 階段發(fā)送反饋管理幀,上報(bào)當(dāng)前設(shè)備情況;在TDMA 階段,AP 和用戶設(shè)備按照時隙表進(jìn)行數(shù)據(jù)傳輸.
圖3 DTS 系統(tǒng)結(jié)構(gòu)圖Fig.3 The architecture of DTS system
控制器主要功能包括可編程接口、管理與控制、時隙管理和消息處理.
AP 主要功能包括提供時隙同步、時隙表更新、數(shù)據(jù)收發(fā)控制和數(shù)據(jù)轉(zhuǎn)發(fā).
用戶設(shè)備需要控制數(shù)據(jù)緩存隊(duì)列和反饋隊(duì)列狀態(tài)信息,如圖3 所示.當(dāng)設(shè)備采樣的數(shù)據(jù)量發(fā)生變化時,用戶設(shè)備將通過向控制器反饋的緩存隊(duì)列信息來表示當(dāng)前數(shù)據(jù)量的變化,從而讓控制器對信道資源進(jìn)行動態(tài)調(diào)整分配.用戶設(shè)備的信息反饋過程如下:
1)設(shè)備將在當(dāng)前超幀的CSMA 階段內(nèi)發(fā)送INFO_FEEDBACK 幀,如圖4 所示.其中,INFO_FEEDBACK 幀是根據(jù)IEEE 802.11 管理幀進(jìn)行構(gòu)造,它主要包含當(dāng)前設(shè)備的數(shù)據(jù)緩存隊(duì)列長度信息.
圖4 INFO_FEEDBACK 幀的結(jié)構(gòu)Fig.4 INFO_FEEDBACK frame structure
2)如果用戶設(shè)備在CSMA 階段成功發(fā)送INFO_FEEDBACK 幀,則AP 將會返回ACK 應(yīng)答幀,同時用戶設(shè)備將會在下一個Beacon 幀中提取出屬于自身的時隙表信息;如果發(fā)送失敗,則用戶設(shè)備將在下一個CSMA 階段內(nèi)重新發(fā)送.
1)系統(tǒng)配置
配置模塊用于處理配置請求以及設(shè)置物理和虛擬資源,其中包括虛擬網(wǎng)絡(luò)(SSID (Service set identifier)、網(wǎng)絡(luò)規(guī)模、策略、時隙等)、用戶服務(wù)(應(yīng)用程序的傳輸規(guī)則和QoS (Quality of service),例如吞吐量、時延等)和訪問點(diǎn)設(shè)備(通道、電源、策略等).數(shù)據(jù)庫采用MySQL 數(shù)據(jù)庫,其中,配置數(shù)據(jù)庫和狀態(tài)數(shù)據(jù)庫用于維護(hù)物理資源和虛擬資源的狀態(tài)、屬性、功能和配置記錄;資源數(shù)據(jù)庫用于記錄并維護(hù)時隙長度、超幀參數(shù)、用戶時隙數(shù)目、歷史數(shù)據(jù)量等信道資源.
2)功能管理
管理模塊用于提供各種無線網(wǎng)絡(luò)管理功能,可以分為兩個部分.第1 部分是基本管理,主要負(fù)責(zé)管理用戶訪問、身份驗(yàn)證、系統(tǒng)監(jiān)視、拓?fù)涔芾?、鏈接發(fā)現(xiàn)和自定義插件等功能.第2 部分是時隙管理,如圖5 所示.管理模塊首先通過從事件模塊獲取的用戶反饋信息和從資源數(shù)據(jù)庫中獲取的歷史數(shù)據(jù)量進(jìn)行時隙數(shù)目預(yù)測,然后將預(yù)測時隙數(shù)目通過動態(tài)時隙分配算法得出時隙分配結(jié)果,最后將時隙分配結(jié)果通過消息模塊下發(fā)到AP.以上的管理功能都通過消息模塊下發(fā)到相應(yīng)的網(wǎng)絡(luò)設(shè)備,同時網(wǎng)絡(luò)設(shè)備反饋的狀態(tài)信息也將通過事件模塊報(bào)告到管理模塊.
圖5 控制器原理圖Fig.5 The schematic of controller
3)網(wǎng)絡(luò)可編程性
控制器為管理員和上層應(yīng)用程序提供一組可編程接口.管理員可以通過可編程接口修改時隙分配算法或路由算法.例如圖5 中,管理員可以通過上層應(yīng)用直接更換時隙預(yù)測模型或者動態(tài)時隙分配算法.同時控制器提供了一系列事件和參數(shù),應(yīng)用程序可以通過注冊進(jìn)行獲取.當(dāng)響應(yīng)事件發(fā)生時,控制器將觸發(fā)對應(yīng)消息,并通過回調(diào)函數(shù)上報(bào)給應(yīng)用程序.
本文通過修改現(xiàn)有Atheros 無線網(wǎng)卡驅(qū)動,在原網(wǎng)卡驅(qū)動上添加了消息模塊、管理模塊、時隙模塊、數(shù)據(jù)緩存模塊和定時器模塊,如圖6 所示.管理模塊和消息模塊部署在用戶空間.其中,管理模塊用于驗(yàn)證新用戶需求、管理時隙信息、收集和上報(bào)用戶狀態(tài)信息;消息模塊用于處理控制器下發(fā)的命令或反饋用戶信息.時隙模塊、定時器模塊和發(fā)送模塊部署在內(nèi)核空間.其中,時隙模塊用于記錄和廣播時隙表;定時器模塊是以時隙長度為中斷間隔提供中斷服務(wù);數(shù)據(jù)緩存模塊用于存儲和控制發(fā)送的數(shù)據(jù)幀.AP 主要完成如下兩個功能:
圖6 AP 原理圖Fig.6 The schematic of AP
1)時隙表更新
控制器下發(fā)的新時隙表信息通過消息模塊進(jìn)行提取后,通過AP 用戶空間中的管理模塊進(jìn)行處理.首先管理模塊檢查時隙長度、超幀長度等基本參數(shù)是否需要更改,然后通過NetLink 套接字將新時隙表下發(fā)至內(nèi)核空間中時隙模塊,最后時隙模塊將時隙表以二維數(shù)組的形式寫入到Beacon 幀的可選字段并進(jìn)行廣播發(fā)送.
2)發(fā)送調(diào)度
由于AP 需要與多個用戶設(shè)備進(jìn)行交互,AP的數(shù)據(jù)緩存模塊通過“數(shù)組+鏈表”的方式進(jìn)行存儲和控制用戶發(fā)送數(shù)據(jù).數(shù)組以設(shè)備ID 作為索引存儲對應(yīng)鏈表的首地址.AP 根據(jù)每個數(shù)據(jù)幀對應(yīng)的描述結(jié)構(gòu)體ath_buf 中的設(shè)備ID,將數(shù)據(jù)幀添加到相應(yīng)的鏈表后.當(dāng)定時器模塊的中斷函數(shù)ath_isr 觸發(fā)發(fā)送事件后,函數(shù)DTS_tasklet 根據(jù)時隙表調(diào)度對應(yīng)設(shè)備的數(shù)據(jù)幀到硬件數(shù)據(jù)隊(duì)列中,從而進(jìn)行數(shù)據(jù)傳輸.
本文對用戶設(shè)備的網(wǎng)卡驅(qū)動程序進(jìn)行簡單的修改,添加了反饋、隊(duì)列和定時器3 個模塊,如圖7 所示.其中反饋模塊用于構(gòu)造反饋管理幀和存儲時隙表;隊(duì)列模塊用于存儲和控制終端應(yīng)用的傳輸數(shù)據(jù);定時器模塊提供以時隙長度為時間間隔的中斷服務(wù).主要功能如下:
圖7 用戶設(shè)備原理圖Fig.7 The schematic of device
1)數(shù)據(jù)傳輸
與AP 不同,用戶設(shè)備需要交互的對象單一,因此采用簡單的隊(duì)列進(jìn)行存儲和控制數(shù)據(jù)幀.在ath9k 驅(qū)動程序?qū)又?將終端應(yīng)用程序產(chǎn)生的數(shù)據(jù)幀存儲在隊(duì)列模塊DTS_fifo 軟隊(duì)列中.本文設(shè)計(jì)的DTS_fifo 是采用Linux 環(huán)形緩沖區(qū)的數(shù)據(jù)結(jié)構(gòu)kfifo.當(dāng)定時器模塊觸發(fā)了發(fā)送事件后,DTS_fifo 能快速將數(shù)據(jù)幀通過底層發(fā)送函數(shù)ath_tx_txqaddbuf 進(jìn)行數(shù)據(jù)傳輸.
2)狀態(tài)信息反饋
用戶設(shè)備需要定期將當(dāng)前DTS_fifo 隊(duì)列狀態(tài)反饋到控制器,因此本文通過管理模塊獲取用戶設(shè)備的當(dāng)前DTS_fifo 長度,并將其封裝進(jìn)管理幀INFO_FEEDBACK 中.當(dāng)定時器模塊觸發(fā)了反饋事件,管理模塊將確定當(dāng)前時隙是否為CSMA 階段.若是,則通過底層發(fā)送函數(shù)ath_tx_txqaddbuf 將INFO_FEEDBACK 放入硬件隊(duì)列中進(jìn)行傳輸.
在本節(jié),首先通過仿真實(shí)驗(yàn),對動態(tài)TDMA 時隙分配算法的性能進(jìn)行對比分析.然后將DTS 系統(tǒng)進(jìn)行實(shí)現(xiàn),并將其與RT-WiFi 部署于相同實(shí)際網(wǎng)絡(luò)環(huán)境,進(jìn)行性能測試.
本文采用MATLAB 分別對DTS 時隙分配算法、RT-WiFi[17]、Hmac[20]和自適應(yīng)TDMACSMA[21](ADWiFi)進(jìn)行對比測試.仿真環(huán)境中,采用超幀長度為8 ms,時隙長度為250 μs,因此一個超幀中有32 個時隙.周期性數(shù)據(jù)設(shè)備將每秒發(fā)包125 個,每個數(shù)據(jù)幀長度為250 字節(jié);多媒體設(shè)備將產(chǎn)生1 000 字節(jié)的數(shù)據(jù)幀,每秒平均發(fā)包375 個.
圖8 所示為在設(shè)備數(shù)量不斷增加時,4 種算法在3 種數(shù)據(jù)類型下的平均時延結(jié)果分析圖.從圖8(a)可以發(fā)現(xiàn),DTS 和RT-WiFi 在傳輸周期性數(shù)據(jù)時,兩者時延較低,遠(yuǎn)小于Hmac 和ADWiFi,且DTS的時延更加穩(wěn)定,而ADWiFi的時延性能最差.這是由于DTS、RT-WiFi 和Hmac 都為每個周期性數(shù)據(jù)設(shè)備分配對應(yīng)的TDMA 時隙,保障周期性數(shù)據(jù)的時延有界,而ADWiFi 使用CSMA 時隙傳輸周期性數(shù)據(jù),無法保障時延的有界.從圖8(b)可以發(fā)現(xiàn),隨著多媒體設(shè)備數(shù)量的增加,DTS的時延穩(wěn)定在1.2~1.4 ms,ADWiFi 時延有一定增長(1.2~2 ms),而RT-WiFi 和Hmac 時延性能衰減過大(1.2~3 ms).在圖8(c)中,在混合數(shù)據(jù)時延結(jié)果上可以發(fā)現(xiàn)類似的現(xiàn)象.得益于DTS和ADWiFi 為多媒體設(shè)備分配足夠的TDMA 時隙,而RT-WiFi 是固定分配TDMA時隙,無法適應(yīng)數(shù)據(jù)需求,因此性能較差,而Hmac將多媒體數(shù)據(jù)放在CSMA 時隙傳輸,時延無法得到保障.進(jìn)一步分析發(fā)現(xiàn),DTS的時隙分配算法通過預(yù)測多媒體數(shù)據(jù)的時隙數(shù)量,可動態(tài)分配連續(xù)的時隙,所以其多媒體數(shù)據(jù)傳輸時延性能更好.
圖8 不同類型數(shù)據(jù)的平均時延Fig.8 The average delay of different types of data
圖9 所示為在設(shè)備數(shù)量不斷增加時,4 種算法在3 種數(shù)據(jù)類型下的吞吐量結(jié)果分析圖.從圖9(a)可以發(fā)現(xiàn),DTS 和RT-WiFi 在傳輸周期性數(shù)據(jù)時吞吐量沒有損失,ADWiFi 損失較小,而ADWiFi吞吐量降低較明顯.這是由于DTS、RT-WiFi 和Hmac 都為每個周期性數(shù)據(jù)設(shè)備分配對應(yīng)的TDMA時隙,保障周期性數(shù)據(jù)設(shè)備的吞吐量,而ADWiFi使用CSMA 時隙傳輸周期性數(shù)據(jù),無法保障穩(wěn)定吞吐量.從圖9(b)可以發(fā)現(xiàn),隨著多媒體設(shè)備數(shù)量增多時,DTS 和ADWiFi 吞吐量能用戶設(shè)備的帶寬需求增大而變化,而RT-WiFi 和Hmac 吞吐量衰減較大.在圖9(c)中,在混合數(shù)據(jù)吞吐量也可以發(fā)現(xiàn)類似的現(xiàn)象.這是由于DTS 和ADWiFi為多媒體業(yè)務(wù)分配足夠的TDMA 時隙,而RT-WiFi 是固定分配TDMA 時隙,很難適應(yīng)數(shù)據(jù)量變化,因此無法提供動態(tài)的帶寬服務(wù),而HMAC 將多媒體設(shè)備放在CSMA 時隙傳輸,容易產(chǎn)生數(shù)據(jù)傳輸碰撞現(xiàn)象,導(dǎo)致吞吐量下降.DTS 通過設(shè)備需求時隙反饋能進(jìn)一步提升時隙的利用率,從而提高網(wǎng)絡(luò)的吞吐量.
圖9 不同類型數(shù)據(jù)的吞吐量Fig.9 The throughput of different types of data
本文將DTS 和RT-WiFi[17]部署于如圖10 所示的網(wǎng)絡(luò)環(huán)境進(jìn)行對比測試,設(shè)備硬件參數(shù)如表1所示.通過周期性數(shù)據(jù)和多媒體視頻數(shù)據(jù)來模擬工廠數(shù)據(jù)流,其中多媒體視頻數(shù)據(jù)是通過電腦攝像頭產(chǎn)生,周期性數(shù)據(jù)是通過無線路由器在STA 模式下運(yùn)行UDP 灌包程序產(chǎn)生.通過大量測試得出將Tsp設(shè)置為8 ms和Ts設(shè)置為250 μs 時,能使得設(shè)備在100~200 μs 內(nèi)完成網(wǎng)絡(luò)同步,同時允許最多20 個設(shè)備進(jìn)行接入,提供最高44 Mbps的吞吐量、22.2 μs的時延抖動和0.64%的丟包率的傳輸質(zhì)量,這足以滿足工業(yè)設(shè)備的傳輸要求.
圖10 測試環(huán)境邏輯示意圖Fig.10 Test environment logical topology
表1 測試硬件設(shè)備以及參數(shù)Table 1 Testing hardware devices and parameters
1)每組數(shù)據(jù)是由在特定的設(shè)備數(shù)目下的網(wǎng)絡(luò)總吞吐量和每個用戶設(shè)備的吞吐量與時延組成的;
2)每組數(shù)據(jù)測試5 次,每次運(yùn)行30 min,取平均值作為最終結(jié)果;
3)周期性數(shù)據(jù)設(shè)備和多媒體設(shè)備產(chǎn)生的數(shù)據(jù)特征如表2 所示,其中設(shè)備數(shù)目變化規(guī)律是周期性數(shù)據(jù)設(shè)備數(shù)量增加3 個,多媒體設(shè)備數(shù)量增加1 個,移動終端設(shè)備增加1 個(提供移動接入功能);
表2 數(shù)據(jù)幀參數(shù)設(shè)置Table 2 Data frame parameter
4)DTS 和RT-WiFi 都采用IEEE 802.11a 協(xié)議的5GHz 頻段的157 信道進(jìn)行測試.
圖11 所示為在設(shè)備總數(shù)不斷增加的情況下,DTS 和RT-WiFi 在兩種數(shù)據(jù)類型下的平均時延結(jié)果分析圖.從圖11(a)可以看出,DTS 和RT-WiFi在傳輸周期性數(shù)據(jù)具有類似的時延性能.從圖11(b)可以發(fā)現(xiàn),隨著多媒體設(shè)備數(shù)量增加,DTS的時延比RT-WiFi 更加穩(wěn)定,DTS的時延約為1.84 ms,RT-WiFi的時延在2.3 ms 內(nèi),DTS 相對于RT-WiFi平均降低了19%的延遲時間.這得益于DTS的時隙分配算法通過預(yù)測多媒體數(shù)據(jù)的時隙數(shù)量,進(jìn)而動態(tài)分配連續(xù)的時隙,所以減少了多媒體數(shù)據(jù)的傳輸時延.
圖11 真實(shí)網(wǎng)絡(luò)中不同類型數(shù)據(jù)的平均時延Fig.11 The average delay of different types of data in real network
圖12 給出了在不同設(shè)備數(shù)量下DTS 和RTWiFi的網(wǎng)絡(luò)吞吐量性能對比.從圖12(a)可以看出,DTS的總吞吐量比RT-WiFi 平均提高了22%,這是由于DTS 根據(jù)時隙分配算法來動態(tài)分配空閑時隙,從而提高了吞吐量.但隨著所接入設(shè)備數(shù)量的不斷增加,AP的信道資源也將耗盡,RT-WiFi的吞吐量接近于DTS的吞吐量.圖12(b)給出了在設(shè)備總數(shù)不斷增加的情況下,DTS 和RT-WiFi 傳輸周期性數(shù)據(jù)的吞吐量.可見,DTS 和RT-WiFi的性能基本相同,這是因?yàn)橹芷谛詳?shù)據(jù)幀只有260字節(jié)且傳輸頻率很低,所以RT-WiFi 和DTS的固定時隙分配均能滿足需求.圖12(c)給出了DTS和RT-WiFi 傳輸多媒體數(shù)據(jù)的吞吐量,DTS 性能比RT-WiFi 提升了20%.由于多媒體視頻數(shù)據(jù)幀較大(約9~65 KB,需要IP 層分片傳輸),并且發(fā)送頻率高,DTS 通過時隙預(yù)測為多媒體設(shè)備動態(tài)調(diào)整時隙數(shù)目,從而提高吞吐量.
圖12 真實(shí)網(wǎng)絡(luò)中不同類型數(shù)據(jù)的吞吐量Fig.12 The throughput of different types of data in real network
綜上所述,DTS 確保了工廠周期性工控?cái)?shù)據(jù)的可靠傳輸,同時能根據(jù)用戶設(shè)備的傳輸需求動態(tài)調(diào)整信道資源,從而有效提升無線網(wǎng)絡(luò)傳輸性能.
針對工業(yè)無線網(wǎng)絡(luò)中時延不確定性和信道資源分配不合理等問題,本文設(shè)計(jì)了一種基于SDN的動態(tài)TDMA 接入系統(tǒng).通過建立線性回歸用戶流量模型快速計(jì)算用戶數(shù)據(jù)需求,在CSMA 階段實(shí)現(xiàn)控制器與用戶設(shè)備之間的時隙協(xié)商,TDMA 階段為每個用戶設(shè)備分配足夠的時隙,在保障周期性數(shù)據(jù)的時延有界的同時,為多媒體數(shù)據(jù)提供更高的傳輸性能.首先通過在仿真實(shí)驗(yàn)場景對比現(xiàn)有方法,驗(yàn)證了動態(tài)TDMA 時隙分配算法的有效性;然后,將DTS 系統(tǒng)部署在實(shí)際網(wǎng)絡(luò)環(huán)境進(jìn)行性能對比測試;最后仿真和測試的結(jié)果均證明了本文所提出的動態(tài)TDMA 機(jī)制相對于現(xiàn)有的方法,在保障時延有界的同時能有效地提升傳輸性能.目前,本文所實(shí)現(xiàn)的系統(tǒng)需要對用戶設(shè)備代碼進(jìn)行修改,以實(shí)現(xiàn)用戶設(shè)備的TDMA 接入,為了提升系統(tǒng)的部署便利性,未來將研發(fā)通用性更強(qiáng)的TDMA 插件.