馬計棟 鄭博文
1.石家莊諾通人力資源有限公司;2.中國電子科技集團公司第五十四研究所
本文提出一種基于陣列天線的數(shù)據(jù)時隙分配算法,構(gòu)建預(yù)測數(shù)學(xué)模型,按照比例公平分配各節(jié)點數(shù)據(jù)時隙。實現(xiàn)無沖突預(yù)約和分配,充分利用自組織網(wǎng)絡(luò)多跳的空分復(fù)用特性,降低協(xié)議開銷。能夠適應(yīng)網(wǎng)絡(luò)拓撲動態(tài)變化,網(wǎng)絡(luò)發(fā)生分割或者融合后也能夠及時調(diào)整,保證每個節(jié)點的數(shù)據(jù)時隙分配結(jié)果適用。兼顧數(shù)據(jù)發(fā)送的公平性,確保高優(yōu)先級數(shù)據(jù)的低時延。
自組網(wǎng)具有分布式組網(wǎng)和自組織、自恢復(fù)等功能,能夠?qū)崿F(xiàn)多跳中繼的寬帶傳輸業(yè)務(wù),在組網(wǎng)拓撲發(fā)生變化的情況下可以自主探測拓撲信息,動態(tài)選擇和確定傳輸路由信息[1]。陣列天線的自組織網(wǎng)絡(luò)中空時資源的分配,決定了網(wǎng)絡(luò)的最大帶寬和傳輸時延。本文提出一種針對陣列天線在按需分配的時隙算法基礎(chǔ)上,加入了動態(tài)預(yù)測和比例公平分配的算法,根據(jù)不同節(jié)點的業(yè)務(wù)需求大小不同動態(tài)分配時隙資源,有效利用網(wǎng)絡(luò)的空時資源[2]。
數(shù)據(jù)時隙的分配主要分為固定分配和動態(tài)分配方式,但在移動自組織網(wǎng)絡(luò)中,由于節(jié)點的移動導(dǎo)致無法及時獲取網(wǎng)絡(luò)的拓撲等參數(shù),從而導(dǎo)致固定分配無法正確使用。而動態(tài)分配的方式能夠解決這個問題,尤其網(wǎng)絡(luò)參數(shù)的變化導(dǎo)致時隙分配的結(jié)果也跟隨更新,并且能夠周期性的重復(fù)操作,以適應(yīng)網(wǎng)絡(luò)的變化。
動態(tài)分配的方式主要有以下幾種[3]:
(1)D-TDMA:在此種算法中,首先要求簇頭獲取各成員的時隙需求信息,由簇頭進行統(tǒng)計后統(tǒng)一規(guī)劃分配。沒有進行空間復(fù)用發(fā),資源利用率低。
(2)P-TDMA:一個完整的時幀包括三個子幀,Claim幀用來交換一跳鄰居節(jié)點信息,Response幀交換二跳鄰居節(jié)點信息,Info幀用于傳輸業(yè)務(wù)。這種算法對新加入的節(jié)點不具備實時調(diào)整和接入性,限制了使用范圍[4]。
(3)FPRP:一種基于競爭的全分布式算法,通過五步預(yù)留過程進行時隙的分配。允許網(wǎng)絡(luò)內(nèi)各個節(jié)點做出多個預(yù)留,并且預(yù)留過程只涉及兩跳范圍內(nèi)的節(jié)點,發(fā)生時隙碰撞的概率低,并且對網(wǎng)絡(luò)變化的融合性較高。
(4)FCSA:一種分布式算法[5],即每個節(jié)點可以根據(jù)本地信息計算自己的時隙分配,并且能夠在自己的傳輸時隙進行無碰撞的發(fā)送數(shù)據(jù)分組。充分利用多跳網(wǎng)絡(luò)的特點,提高協(xié)議算法的效率。
本文設(shè)計了一種基于陣列天線的數(shù)據(jù)時隙資源按照需求比例和數(shù)據(jù)預(yù)測結(jié)果,進行動態(tài)分配。提高數(shù)據(jù)時隙使用效率和網(wǎng)絡(luò)帶寬,能夠適用網(wǎng)絡(luò)拓撲的急劇變化。
一個完整的時隙周期結(jié)構(gòu)(Cycle)如圖1所示,包括N個相同的時隙子序列結(jié)構(gòu),每個時隙子序列包括預(yù)約時隙,固定廣播時隙和動態(tài)數(shù)據(jù)時隙。在時隙子序列中,每個預(yù)約時隙包括4個預(yù)約子時隙組合(RESV1時隙和RESV2時隙),任意兩節(jié)點則可以在一個周期內(nèi)通過1個預(yù)約子時隙組合來完成下一周期的動態(tài)數(shù)據(jù)時隙的預(yù)約與分配;每個固定廣播時隙包括M個固定廣播子時隙,按照節(jié)點號預(yù)先固定分配給每個節(jié)點,進行無沖突地發(fā)送廣播包,進行全網(wǎng)節(jié)點拓撲信息的組建;每個動態(tài)數(shù)據(jù)時隙包括8個數(shù)據(jù)子時隙,所以在每個完整時隙周期中包含128個數(shù)據(jù)時隙。
圖1 基于TDMA的MAC層接入算法時隙結(jié)構(gòu)Fig.1 Time slot structure of MAC layer access algorithm based on TDMA
動態(tài)數(shù)據(jù)時隙的有效使用時間為1個完整的周期,預(yù)約結(jié)果在每個周期的初始節(jié)點生效,周期的結(jié)束階段被清除。首先子節(jié)點通過預(yù)約子時隙組合RESV1時隙向父節(jié)點發(fā)送本地空閑數(shù)據(jù)時隙和本地待發(fā)送業(yè)務(wù)數(shù)據(jù)包數(shù),父節(jié)點收到子節(jié)點的數(shù)據(jù)時隙的申請,根據(jù)與子節(jié)點所通信的陣面等信息計算出有效空閑數(shù)據(jù)時隙,并統(tǒng)計子節(jié)點的業(yè)務(wù)數(shù)據(jù)待發(fā)包數(shù),構(gòu)建數(shù)學(xué)模型并進行下個周期的業(yè)務(wù)數(shù)據(jù)待發(fā)包數(shù)預(yù)測。父節(jié)點根據(jù)前X個周期的統(tǒng)計結(jié)果進行X+1個周期的業(yè)務(wù)數(shù)據(jù)量預(yù)測,根據(jù)每個鄰居節(jié)點的預(yù)測結(jié)果把數(shù)據(jù)時隙按比例預(yù)分配,再由第X+1個周期的實際業(yè)務(wù)數(shù)量父節(jié)點把數(shù)據(jù)時隙分配結(jié)果通過預(yù)約子時隙組合RESV2時隙發(fā)送給子節(jié)點,子節(jié)點收到分配結(jié)果更新本地數(shù)據(jù)時隙使用情況,并修改本地空閑數(shù)據(jù)時隙,數(shù)據(jù)時隙預(yù)約流程如圖2所示。
圖2 數(shù)據(jù)時隙預(yù)約流程Fig.2 Data slot reservation process
2.2.1 有效空閑時隙
在基于陣列天線的自組織網(wǎng)絡(luò)中,節(jié)點在數(shù)據(jù)時隙預(yù)約階段交互空閑數(shù)據(jù)時隙時,空閑時隙的提取需要根據(jù)本地信息表對數(shù)據(jù)時隙進行篩選,實現(xiàn)資源高效利用的目的。
有效空閑時隙包括完全空閑時隙和復(fù)用空閑時隙,如圖3所示。
圖3 陣面3的有效空閑時隙Fig.3 Effective idle time slot of front 3
完全空閑時隙標識節(jié)點在當前數(shù)據(jù)時隙的所有陣面完全空閑,可按需預(yù)約為發(fā)送或接收時隙;復(fù)用空閑時隙標識節(jié)點在該數(shù)據(jù)時隙與其他節(jié)點完成過預(yù)約過程,處于發(fā)送或接收狀態(tài),但與目標節(jié)點通信所使用的陣面仍處于空閑,可以向目標節(jié)點發(fā)送或接收數(shù)據(jù)。
節(jié)點的復(fù)用空閑時隙需要根據(jù)實時的收發(fā)狀態(tài)區(qū)分為復(fù)用空閑接收時隙和復(fù)用空閑發(fā)送時隙。同時,節(jié)點的完全空閑時隙對于所有鄰居節(jié)點是一致的,而復(fù)用空閑時隙需要根據(jù)目標節(jié)點的不同而具體計算。
2.2.2 預(yù)測數(shù)學(xué)建模
根據(jù)業(yè)務(wù)產(chǎn)生的方式和統(tǒng)計結(jié)果分析,數(shù)學(xué)建模類型可以分成兩種:線性相關(guān)預(yù)測和均值預(yù)測。因為均值預(yù)測對節(jié)點業(yè)務(wù)數(shù)據(jù)包數(shù)量的變化響應(yīng)較慢,必定增加業(yè)務(wù)的時延。線性相關(guān)預(yù)測能夠按照特定業(yè)務(wù)產(chǎn)生的數(shù)量趨勢進行有效預(yù)測,保證了業(yè)務(wù)數(shù)據(jù)的速率平穩(wěn)變化。
通過特定線性預(yù)測算法,仿真業(yè)務(wù)數(shù)量累加的變化預(yù)測如圖,在業(yè)務(wù)產(chǎn)生的初始階段會出現(xiàn)響應(yīng)誤差,但在隨后的預(yù)測中緊跟變化趨勢。業(yè)務(wù)數(shù)據(jù)量恒定不變的情況,預(yù)測也是在初始階段出現(xiàn)誤差較大,但立刻就會進行有效的糾偏,達到準確的預(yù)測。以上兩種情況誤差都出現(xiàn)在預(yù)測的初始階段,經(jīng)分析得出由于統(tǒng)計方式及統(tǒng)計時長的不同引起,預(yù)測的開始所使用的統(tǒng)計的原始數(shù)據(jù)不完整,造成預(yù)測偏差較大,隨著統(tǒng)計數(shù)據(jù)的數(shù)量的增大,誤差也就逐漸減小。
2.2.3 數(shù)據(jù)時隙分配
自組織網(wǎng)絡(luò)中的節(jié)點每個周期都與鄰居進行一次預(yù)約時隙交互,相互告知對方本地與對端的業(yè)務(wù)數(shù)據(jù)的待發(fā)數(shù)量,這些業(yè)務(wù)數(shù)據(jù)量會被統(tǒng)計到預(yù)測數(shù)學(xué)模型的源數(shù)據(jù)池,每個周期的結(jié)束前節(jié)點進行下個周期每個鄰居節(jié)點與本節(jié)點的業(yè)務(wù)數(shù)據(jù)時隙所需預(yù)測S1…SN,以及本節(jié)點與所有鄰居節(jié)點的業(yè)務(wù)數(shù)據(jù)時隙所需預(yù)測X1…XM,計算出下周期本節(jié)點和鄰居節(jié)點產(chǎn)生的總業(yè)務(wù)所需時隙量S總=S1+…+SN+X1+…+XM,這樣就可以得到每個鄰居節(jié)點通信最多可以分配數(shù)據(jù)時隙的比例:Z1=S1/S總,…,ZN=SN/S總,節(jié)點與鄰居節(jié)點通信最多分配數(shù)據(jù)時隙的比例:Z1'=X1/S總,…,ZM'=XM/S總。根據(jù)時隙結(jié)構(gòu)的劃分,每個周期存在數(shù)據(jù)時隙的數(shù)量,便可以依據(jù)分配比例計算出每個節(jié)點可以獲得的最多數(shù)據(jù)時隙數(shù)量。再由預(yù)約時隙交互時獲得的當前業(yè)務(wù)數(shù)據(jù)包數(shù)計算出實際需要的數(shù)據(jù)時隙數(shù)量,依據(jù)可獲得數(shù)據(jù)時隙數(shù)量不超過預(yù)先按照比例分配的數(shù)量進行分配,這樣便完成每個節(jié)點的數(shù)據(jù)時隙的等比例分配,如圖4所示。
圖4 數(shù)據(jù)時隙預(yù)約流程Fig.4 Data slot reservation process
在硬件平臺FPGA ZYNQ xcZ7100的PL端實現(xiàn)時隙結(jié)構(gòu)的劃分和運行,在PS端兩核同時運行,實現(xiàn)預(yù)約子時隙組合的構(gòu)建、解析、更新和業(yè)務(wù)數(shù)據(jù)的發(fā)送和接收。通過測試電腦端下發(fā)特定速率的測試包,統(tǒng)計業(yè)務(wù)出口的緩存的等待發(fā)送包數(shù)、速率和數(shù)據(jù)時隙的預(yù)約分配情況。其中事實速率如圖5所示測試速率。
圖5 測試速率Fig.5 Test rate
如圖6所示所需時隙數(shù)與實際分配時隙數(shù)比對,通過時間段15~25s的所需數(shù)據(jù)時隙和實際分配數(shù)據(jù)時隙的比對,此時間段的實際數(shù)據(jù)時隙分配數(shù)量明顯多于所需的數(shù)據(jù)時隙數(shù)量,所以速率基本穩(wěn)定在最高速率。但隨著預(yù)測誤差的抖動,速率也會跟隨變化。
圖6 所需時隙數(shù)與實際分配時隙數(shù)比對Fig.6 Comparison of required time slots with actual allocated time slots
通過硬件平臺的搭建測試,發(fā)現(xiàn)數(shù)據(jù)時隙的預(yù)約模型存在誤差,并且這個誤差直接影響業(yè)務(wù)速率。節(jié)點統(tǒng)計鄰居節(jié)點的業(yè)務(wù)數(shù)據(jù)包數(shù)量進行更新預(yù)測模型,所預(yù)測得到的數(shù)據(jù)時隙的生效時間和統(tǒng)計時間存在延時,這樣導(dǎo)致預(yù)測模型的誤差變大。后期應(yīng)該考慮預(yù)測數(shù)學(xué)模型的搭建方式和優(yōu)化數(shù)據(jù)更新時間及機制,以削弱預(yù)測誤差對速率的影響。