房靈國 薛力群 孟 飛 姜 抒 陳 光 李世萌
(中鐵云網信息科技有限公司,北京 101318)
北斗基準站指建設在地面上的位置固定的觀測站[1]。北斗基準站利用接收端多數據源的數據為用戶提供導航或定位服務,北斗基準站的多數據源并發(fā)控制對北斗基準站的通信性能影響巨大。北斗基準站的設置推動了我國精細化導航技術以及高精度技術的發(fā)展。北斗基準站的通信性能受很多因素的影響[2-3],北斗基準站的通信性能決定了其對用戶的服務水平。
目前,已有很多研究學者針對通信網絡的并發(fā)傳輸控制進行研究。趙夙等[4]以滿足用戶需求為目標,聚合帶寬資源,利用自適應網絡編碼,根據信道狀態(tài)確定編碼分組大小,避免通信過程中存在數據包亂序的情況,以提高用戶通信的傳輸速率。童釗等[5]針對移動邊緣計算數據量大、數據安全需求高的特點設定了多約束條件,利用深度強化學習算法實現通信資源分配的目標。該方法在提高數據通信的任務成功執(zhí)行率的同時還能降低通信能耗。雖然以上2 種方法可以實現數據通信的并發(fā)控制,但是并未考慮通信過程中帶寬對通信的影響。針對以上2 種方法在數據并發(fā)控制中存在的問題,該文著手研究帶寬約束下北斗基準站多數據源并發(fā)控制方法。
該文利用非均等錯誤保護方法,在考慮帶寬約束條件的情況下,完成北斗基準站通信信道的帶寬分配任務。經過帶寬分配策略ξ分配后的通信數據如公式(1)所示。
式中:B(Li)為第i個北斗基準站Li的通信數據;Li為北斗基準站。
通過前向冗余糾錯方式處理北斗基準站多數據源內包括的冗余數據,如公式(2)所示。
式中:BF(Li)為第i個北斗基準站Li的冗余數據。
在北斗基準站的傳輸帶寬約束下,多數據源的并發(fā)通信應該滿足公式(3)。
式中:B'為固定時間范圍內北斗基準站的可用帶寬。
用D表示北斗基準站接收端的數據質量衡量指標,選擇最優(yōu)的帶寬分配策略ξ*,令北斗基準站通信中滿足帶寬約束條件下的D值最高。構建北斗基準站多數據源帶寬分配的目標函數,如公式(4)所示。
設多數據源傳送時被劃分為M個數據包,所劃分的每個數據包中包括的增強層數量為N,將每個增強層劃分為大小為M×N的塊。在帶寬約束下,應滿足M×N≤B'的條件。用ξ=ξ1,ξ2,…,ξN表示帶寬分配策略,根據優(yōu)先等級差異[6],帶寬分配策略應滿足ξ1≥ξ2≥…≥ξN的條件。對增強層l來說,利用帶寬分配策略為其分配的冗余塊用ξl表示,待傳送的數據用M(l,ξ)=M-ξl表示。利用帶寬分配策略r分配后的N個增強層數據塊數量用M=[M(1,ξ),M(2,ξ),…,M(N,ξ)]表示。
設M個多數據源的數據包在傳送過程中丟失的數據包數量為q。當待傳輸的北斗基準站多數據源冗余數據包數量大于q時,利用前向冗余糾錯的解碼算法對傳輸的北斗基準站多數據源進行解碼恢復[7],此時北斗基準站信道中的最高增強層為g(q)={maxq|ξi≥q},在北斗基準站信道中,首個增強層至g(q)個增強層內的多數據源可以完全恢復。由于前向冗余糾錯算法存在錯誤恢復的情況,因此北斗基準站接收端的實際多數據源傳輸速率如公式(5)所示。
根據北斗基準站多數據源存在數據丟失情況下的數據質量衡量指標D,當獲取分配策略為ξ時,北斗基準站接收端數質量的期望值如公式(6)所示。
式中:P(q,M)為北斗基準站多數據源中M個數據包發(fā)送錯誤的概率。
通過搜尋最優(yōu)的帶寬分配策略,令北斗基準站接收端多數據源的數據質量最高。采用遞歸迭代下降算法,通過迭代尋優(yōu)過程搜尋北斗基準站在帶寬約束下的最優(yōu)帶寬分配策略。利用所搜尋的最優(yōu)帶寬分配策略傳輸多數據源,為北斗基準站多數據源并發(fā)控制奠定良好的基礎。
根據1.1 的帶寬分配策略為北斗基準站的通信信道分配帶寬,在此基礎上,利用任務序列重建算法實現北斗基準站的多數據源并發(fā)控制功能。當北斗基準站進行多數據源并發(fā)通信時,容易出現相同數據對象的讀寫沖突以及寫寫沖突。當北斗基準站數據進行寫入操作時,容易導致數據并發(fā)執(zhí)行出現問題。通過北斗基準站多數據源并發(fā)控制,避免北斗基準站因訪問沖突而導致出現讀操作與寫操作數據不一致的問題。
利用基于可變周期的任務序列重建的并發(fā)控制算法實現北斗基準站的多數據源并發(fā)控制功能。將不同數據源提供單表操作的網格服務設置為原子,當用戶提出請求時,根據用戶提交的Web 服務名,在北斗基準站注冊中心搜尋用戶提交服務的具體位置,在北斗基準站數據庫中存放任務隊列信息的表中插入記錄。在存放任務隊列信息的表格中,當存放的服務內容為多表操作時,將多表操作內容劃分為單表原子操作,將完成分解的子服務插入存放分解后子服務的表中。北斗基準站多數據源的并發(fā)程序掃描存放分解后子服務的表,分析該表中標記為未完成的任務,判斷造成該任務未完成的原因,判斷該任務是否存在讀寫沖突。當該服務存在讀寫沖突時,分析造成讀寫沖突的原因是否為多表操作,將該任務劃分為多個子服務,將完成分解的子服務插入存放分解后子服務的表A 中。當任務不存在讀寫沖突時,將其劃分為多個子服務,插入存放分解后子服務的表B 中。存放分解后子任務的表A 和表B中包括待執(zhí)行的全部任務。通過上述過程,完成多數據源并發(fā)傳輸的先期操作,完成先期操作后,利用調度程度來調度北斗基準站多數據源并發(fā)傳輸的任務序列,實現北斗基準站的多數據源并發(fā)傳輸控制功能。
北斗基準站多數據源并發(fā)控制的流程如圖1 所示。由圖1 可知,利用任務序列重建方法實現多數據源并發(fā)控制的執(zhí)行過程如下:分析北斗基準站用戶提交的服務請求,將相應Web 服務插入存放任務隊列信息的表,將任務隊列信息表內的任務分解為原子,將其插入存放子任務的表。判斷存放子任務表中的任務是否存在讀寫沖突,將存在讀寫沖突的任務再次分解后插入表A 中,將不沖突的任務插入表B 中。表A 中分解后的子任務根據先寫后讀的操作執(zhí)行任務,并行執(zhí)行表B 中北斗基準站多數據源并發(fā)傳輸任務。通過上述過程完成重建任務序列的任務,通過重建后的任務序列完成北斗基準站的多數據源并發(fā)控制任務。
圖1 北斗基準站多數據源并發(fā)控制流程圖
在利用并發(fā)控制算法完成北斗基準站的多數據源并發(fā)控制任務后,利用服務一致法維護北斗基準站多數據源的數據一致性。根據條件函數依賴規(guī)則,從北斗基準站傳輸的多數據源中搜尋給定的條件函數依賴規(guī)則的最大一致子集,根據最大一致子集占全部北斗基準站多源數據集的比例確定北斗基準站多數據源的數據一致性。
用θi={θi1,θi2,…,θiL}表示北斗基準站多數據源的數據流內與北斗基準站用戶所需服務相應比較數列間的相似度集合。定義北斗基準站多數據源并發(fā)傳輸的條件函數依賴規(guī)則如下:在北斗基準站多數據源內,用戶所需要的數據類別相應的比較數列間的相似度應大于所設定閾值,北斗基準站多數據源內數據與用戶所需數據的相似性函數f(θij)=1。在北斗基準站多數據源內的數據一致性如公式(7)所示。
式中:A為多數據源的數據流數量。
利用局部敏感Hash 算法求解北斗基準站多數據源間的元祖相似度。設用戶請求的服務數據為m維的向量a,對北斗基準站多數據源內的隨機m維向量b來說,其敏感Hash函數如公式(8)所示。
為了提高一致性度量過程中Hash 函數的準確率,從北斗基準站多數據源中隨機選取m維的向量B={b1,b1,…,bm},對向量a與向量B利用Hash 函數,獲取0/1 值,利用Hash 函數將向量a轉化至長度為w的0/1 串。定義向量a與向量b相似度如公式(9)所示。
式中:s(a,b)為向量a與向量b間的漢明距離。
北斗基準站觀測數據具有較高的實時性,北斗基準站觀測數據不斷到達,實時更新。為了提高一致性度量的實時性,利用數據質量增量方法實現北斗基準站對用戶的服務一致。將當前時刻北斗基準站觀測數據的一致性[8]作為下一時刻數據一致性的計算依據。當時間為T+1 且北斗基準站觀測數據rT+1到達時,計算其數據一致性θ(riT+1),利用數據一致性計算結果獲取時間為T+1 時,北斗基準站多數據源數據的一致性,如公式(10)所示。
利用上述過程,通過增量計算方法獲取不同時刻北斗基準站的數據一致性。
設置北斗基準站數據的一致性閾值,利用Bernoulli 均勻抽樣算法對北斗基準站整體觀測數據的多源數據集內的數據一致性進行近似處理。將北斗基準站多數據源的數據劃分為Φ個區(qū)域,計算滿足所設定一致性需求的抽樣概率p,選擇pΦ個數據源應用于北斗基準站的數據傳輸。通過上述過程,在保證數據一致性的同時,節(jié)省北斗基準站多數據源并發(fā)傳輸的網絡資源。根據所確定的抽樣概率,北斗基準站在劃分的Φ個分區(qū)中進行Bernoulli 均勻抽樣,在所劃分的每個子區(qū)域生成1 個位于[0,1]的隨機數,當該隨機數小于或等于抽樣概率時,表示該區(qū)域內的數據通過一致性檢驗,將該區(qū)域的北斗基準站觀測數據傳送至用戶端;否則,該區(qū)域的北斗觀測數據不進行數據傳輸。
在北斗基準站多數據源的數據通過一致性檢驗后,對通過一致性檢驗的數據實施服務跟蹤法,維護用戶端顯示的信息與數據源數據的一致性。利用狀態(tài)更新估計方法實現北斗基準站的多數據源服務跟蹤功能。
設在數據ηi(k)出現的條件下,北斗基準站多數據源內數據的狀態(tài)更新估計如公式(11)所示。
式中:E為狀態(tài)更新期望值。
引入全概率公式,將公式(11)轉化為公式(12)。
式中:αi(k)為關聯概率。
根據1~(k-1)時間段內的觀測數據預測時間為k時的觀測數據(k|k-1)。當不存在正確觀測數據時,i=0,如公式(13)所示。
北斗基準站多數據源的數據目標狀態(tài)更新估計如公式(14)所示。
式中:K(k)為增益。
從上述過程可以看出,利用狀態(tài)更新估計方法實現北斗基準站的多數據源數據服務跟蹤全面考慮了北斗基準站跟蹤門內的全部觀測數據,更新觀測數據目標狀態(tài),保證為用戶提供的數據與數據源一致。
為了驗證所研究方法對北斗基準站多數據源并發(fā)控制的有效性,將該方法應用于某地區(qū)的北斗定位導航系統中,該系統設置了148 座北斗基準站。北斗基準站利用北斗衛(wèi)星觀測數據、數據處理中心的數據以及服務數據等多數據源為系統用戶提供定位導航服務,北斗定位導航系統利用北斗基準站為周圍1 256 km 范圍內的用戶提供全域覆蓋服務以及毫米級的高精度定位和導航服務。
采用該文提出的方法對北斗基準站多數據源的通信信道進行帶寬分配,帶寬分配結果如圖2 所示。
圖2 北斗基準站帶寬分配
在采用該文提出的方法對北斗基準站的通信信道進行帶寬分配前,北斗基準站7個通信信道的通信帶寬共為1 400 Kbps。在采用該文提出的方法對北斗基準站通信帶寬進行分配后,北斗基準站7 個通信信道帶寬總量仍為1 400 Kbps,但是各信道帶寬有所變化。由圖2 可知,采用該文提出的方法對北斗基準站的多數據源進行并發(fā)控制是滿足帶寬約束條件的。根據北斗基準站的帶寬約束設定北斗基準站通信的傳輸帶寬,通過調整并發(fā)通信多信道帶寬來對北斗基準站多數據源并發(fā)控制帶寬進行彈性調整。該文提出的方法對通信需求較高的通信信道設置較高的帶寬,對帶寬需求較低的通信信道就縮減其通信信道,通過帶寬約束來滿足用戶對北斗基準站服務質量的需求。
北斗衛(wèi)星采集的觀測數據從高空傳送至地面的北斗基準站,北斗基準站的接收機需要同時接收衛(wèi)星發(fā)射的直接信號以及反射體反射的間接信號,存在多路徑效應,易造成多路徑偏差值。通過北斗基準站多數據源并發(fā)控制方法消除北斗衛(wèi)星傳送觀測數據時造成的多路徑效應。北斗基準站L1波段以及L2 波段的多路徑偏差值需要低于0.4 m。隨機從148 座北斗基準站中選取7 座北斗基準站,統計當采用該文提出的方法控制北斗基準站多數據源并發(fā)傳輸時各基準站由多路徑效應造成的多路徑誤差,統計結果如圖3 所示。
圖3 北斗基準站多路徑效應控制結
由圖3 可知,當采用該文提出的方法控制北斗基準站多數據源并發(fā)傳輸時,各北斗基準站L1 波段以及L2 波段的多路徑效應有所消除,多路徑誤差均低于0.4 m,可以滿足北斗基準站的數據傳輸需求。采用該文提出的方法對北斗基準站進行多數據源并發(fā)控制,北斗基準站的數據質量較高,可以為用戶提供高質量的觀測數據,從而利用高質量的觀測數據來提高北斗定位導航系統用戶的服務滿意度。
統計采用該文提出的方法對北斗基準站進行多數據源并發(fā)控制的數據信息(并發(fā)用戶數量為500 個的服務結果),隨機選取10 個并發(fā)用戶,服務結果見表1。
表1 北斗基準站服務結果
由表1 可知,當并發(fā)用戶為500 個時,北斗基準站采用該文提出的方法可以為用戶提供所需的定位數據,為用戶提供服務的實時性良好。該文提出的方法采用多數據源并發(fā)控制技術,當并發(fā)用戶數量很多時,仍然可以為用戶提供高精度的定位服務,滿足用戶對定位導航的高精度、實時性需求。該文提出的方法可以滿足北斗基準站數據源動態(tài)可擴展的需求,為北斗定位導航系統用戶提供統一的訪問接口,服務集成性、可適應性高。通過帶寬約束降低數據傳輸開銷,從而滿足用戶高實時性的定位導航需求。
該文研究了帶寬約束下的北斗基準站多數據源并發(fā)控制方法,充分考慮帶寬約束對北斗基準站通信的影響,利用多數據源并發(fā)控制方法提高北斗基準站的通信性能。通過試驗驗證,當利用該方法控制北斗基準站多數據源并發(fā)通信時,北斗基準站的觀測數據通信質量較高,多路徑誤差低,滿足北斗基準站的數據質量動態(tài)監(jiān)測需求。