• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      飛行試驗(yàn)中UDP數(shù)據(jù)包丟失和失序處理研究

      2018-07-05 06:04:58周訓(xùn)強(qiáng)
      計(jì)測(cè)技術(shù) 2018年2期
      關(guān)鍵詞:逆序失序網(wǎng)絡(luò)化

      周訓(xùn)強(qiáng)

      (中國(guó)飛行試驗(yàn)研究院,陜西 西安 710089)

      0 引言

      隨著我國(guó)航空工業(yè)的不斷發(fā)展,研制型號(hào)和試飛型號(hào)不斷增加,飛行試驗(yàn)中測(cè)試參數(shù)越來(lái)越多,數(shù)據(jù)流量也越來(lái)越大,使得集中式采集、分布式采集等傳統(tǒng)的機(jī)載數(shù)據(jù)采集系統(tǒng)架構(gòu)已經(jīng)不能滿足測(cè)試技術(shù)要求。2004年10月由美國(guó)發(fā)起的iNET項(xiàng)目開(kāi)發(fā)技術(shù)得到了廣泛的支持并在數(shù)年內(nèi)形成了比較成熟的技術(shù)框架和技術(shù)發(fā)展路線[1]。在國(guó)內(nèi),飛行試驗(yàn)測(cè)試領(lǐng)域一直跟蹤iNET的發(fā)展,于2012年提出了空天地一體化遙測(cè)網(wǎng)絡(luò)系統(tǒng)[2-3]。

      得益于國(guó)內(nèi)試飛測(cè)試技術(shù)的迅速發(fā)展,基于以太網(wǎng)技術(shù)的高帶寬多數(shù)據(jù)流傳輸和記錄在飛行試驗(yàn)中得以廣泛應(yīng)用,機(jī)載網(wǎng)絡(luò)化數(shù)據(jù)采集記錄系統(tǒng)的概念及相關(guān)產(chǎn)品應(yīng)運(yùn)而生。

      機(jī)載網(wǎng)絡(luò)化數(shù)據(jù)采集記錄系統(tǒng)的一般架構(gòu)為:多臺(tái)采集器通過(guò)以太網(wǎng)掛接到網(wǎng)絡(luò)交換機(jī),在交換機(jī)上進(jìn)行數(shù)據(jù)包匯聚,再由同樣掛接在交換機(jī)上的網(wǎng)絡(luò)化記錄器對(duì)這些數(shù)據(jù)包進(jìn)行接收記錄。更為龐大的測(cè)試系統(tǒng)(采集終端數(shù)量多)甚至存在多級(jí)交換機(jī)的級(jí)聯(lián),而這些設(shè)備采用統(tǒng)一的時(shí)間源進(jìn)行時(shí)間同步[4]。網(wǎng)絡(luò)化測(cè)試系統(tǒng)的廣泛應(yīng)用使得基于以太網(wǎng)的高帶寬多數(shù)據(jù)流的傳輸和分析成為了飛行試驗(yàn)領(lǐng)域的研究熱點(diǎn)。

      1 失序和丟包分析與處理

      1.1 失序和丟包分析

      在飛行試驗(yàn)領(lǐng)域,目前以太網(wǎng)數(shù)據(jù)包的傳輸主要采用TCP和UDP協(xié)議。TCP采用面向連接的數(shù)據(jù)管理策略并通過(guò)重傳保證數(shù)據(jù)可靠傳輸,多用于傳輸通信和控制數(shù)據(jù)包等可靠性要求高的場(chǎng)合。但對(duì)于高帶寬數(shù)據(jù),頻繁的確認(rèn)和重傳無(wú)法保證數(shù)據(jù)的實(shí)時(shí)傳送要求,因此一般采用無(wú)連接的UDP傳輸協(xié)議,其目的是減少不必要的網(wǎng)絡(luò)開(kāi)銷,提高傳輸帶寬和傳輸效率。正因?yàn)槿绱?,UDP傳輸協(xié)議不提供可靠性、流量控制和差錯(cuò)恢復(fù)的手段[5]。

      通常,在機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)中,數(shù)據(jù)從發(fā)送端到目的端要經(jīng)過(guò)若干的中間節(jié)點(diǎn),節(jié)點(diǎn)與節(jié)點(diǎn)之間對(duì)數(shù)據(jù)的傳輸會(huì)產(chǎn)生延時(shí)。由于不同數(shù)據(jù)包可能經(jīng)過(guò)不同的中間節(jié)點(diǎn)到達(dá)目的端,因此總的延時(shí)也不同,這導(dǎo)致數(shù)據(jù)包到達(dá)目的端的順序與期望順序可能不同,即失序。此外,由于緩沖區(qū)的溢出,數(shù)據(jù)包可能被中間節(jié)點(diǎn)拒絕,使得數(shù)據(jù)包丟失[6]。很顯然,數(shù)據(jù)失序不滿足試飛數(shù)據(jù)分析對(duì)數(shù)據(jù)時(shí)間相關(guān)性的嚴(yán)格要求。為了滿足數(shù)據(jù)分析時(shí)的時(shí)間相關(guān)性要求,需要對(duì)發(fā)生失序的數(shù)據(jù)進(jìn)行重排,對(duì)丟失的數(shù)據(jù)進(jìn)行補(bǔ)點(diǎn)。為此,在期望數(shù)據(jù)包全部到達(dá)之前要將到來(lái)的數(shù)據(jù)包暫存于一個(gè)緩沖區(qū)內(nèi)。由此帶來(lái)的問(wèn)題:緩存區(qū)的大小如何確定;暫存數(shù)據(jù)在緩沖區(qū)的存放規(guī)則是什么;發(fā)生丟包時(shí)如何處理。下文將對(duì)這些問(wèn)題進(jìn)行討論和分析。

      1.2 重排緩存區(qū)的確定

      根據(jù)網(wǎng)絡(luò)交換機(jī)對(duì)數(shù)據(jù)包的緩存及轉(zhuǎn)發(fā)原理,在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)中的設(shè)備不發(fā)生改變,以及數(shù)據(jù)包在網(wǎng)絡(luò)按周期規(guī)律傳輸?shù)那闆r下,逆序情況也是穩(wěn)定的,從實(shí)際的機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)中的數(shù)據(jù)包樣本的時(shí)間標(biāo)簽的統(tǒng)計(jì)計(jì)算結(jié)果來(lái)看,也證明了這一點(diǎn)。機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)中,每種網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間周期都是毫秒級(jí)(1/1024 ms~1/16 ms)的,對(duì)于一段完整的數(shù)據(jù)包樣本,在考察其逆序情況時(shí),只需分析其中1 s時(shí)間跨度內(nèi)的數(shù)據(jù)包的逆序情況即可。

      根據(jù)飛行試驗(yàn)中網(wǎng)絡(luò)數(shù)據(jù)包傳輸大多具有周期性的特點(diǎn),假設(shè)網(wǎng)絡(luò)中的數(shù)據(jù)包的種類(一般由包識(shí)別字確定)為n種,它們的傳輸周期分別為T1,T2,T3,…,Tn。根據(jù)上文的論述,在發(fā)生失序的情況下,需要開(kāi)辟緩存區(qū)來(lái)對(duì)失序的數(shù)據(jù)包進(jìn)行重排,而對(duì)失序情況進(jìn)行量化是確定緩存區(qū)大小的重要工作,其方法是在網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送的目的端對(duì)接收的網(wǎng)絡(luò)數(shù)據(jù)包時(shí)間標(biāo)簽做統(tǒng)計(jì)計(jì)算,假設(shè)在1 s內(nèi)接收到的數(shù)據(jù)包的個(gè)數(shù)為N,它們的時(shí)間標(biāo)簽分別為t1,t2,t3,…,tN,對(duì)相鄰的兩個(gè)包的時(shí)間標(biāo)簽進(jìn)行如下計(jì)算

      Δti=ti+1-ti(i=1,2,3,…,N)

      式中:Δti為逆序時(shí)間,在Δti<0情況下,對(duì)|Δti|求最大值Δtmax,Δtmax為最大逆序時(shí)間。

      逆序時(shí)間是對(duì)機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)中數(shù)據(jù)包逆序情況的量化描述,求出一個(gè)滿足如下條件的最小值T。①T為T1,T2,T3,…,Tn的最小公倍數(shù);②T≥Δtmax。

      需要說(shuō)明的是,之所以采用2個(gè)大小為L(zhǎng)的緩存區(qū)來(lái)對(duì)數(shù)據(jù)包進(jìn)行排序,而不是采用更多個(gè)數(shù)的緩存區(qū),是考慮到盡量減小因排序帶來(lái)的時(shí)間延時(shí)。

      1.3 排序算法的分析與實(shí)現(xiàn)

      以實(shí)際的飛行試驗(yàn)數(shù)據(jù)為例,進(jìn)行排序算法的分析?,F(xiàn)有某型號(hào)某架次飛行試驗(yàn)數(shù)據(jù)的A,B,C三種網(wǎng)絡(luò)數(shù)據(jù)包,周期分別為1,2,4 ms,那么順序情況下,數(shù)據(jù)包的接收情況應(yīng)如表1所示。

      表1 順序情況下的數(shù)據(jù)包接收情況

      緩沖區(qū)的數(shù)據(jù)包排列順序?yàn)锳0B0C0A1A2B1A3A4B2C1A5A6B3A7,記為順序X。而真實(shí)的情況是該數(shù)據(jù)樣本有逆序情況發(fā)生,數(shù)據(jù)包的到達(dá)情況如表2所示。

      表2 逆序情況下的數(shù)據(jù)包接收情況

      緩沖區(qū)的數(shù)據(jù)包排列順序?yàn)锳0A1A2B0A3A4B1A5A6B2A7C0A8B3A9A10A11C1A12A13A14A15C2,記為順序Y,經(jīng)統(tǒng)計(jì),最大逆序周期為7 ms。

      當(dāng)?shù)竭_(dá)的數(shù)據(jù)包發(fā)生失序的情況時(shí),需要在保證到達(dá)的數(shù)據(jù)包能夠全部緩存下來(lái)的前提下,對(duì)數(shù)據(jù)包進(jìn)行重新排序,以達(dá)到時(shí)間對(duì)齊的目的。在發(fā)生丟包或者失序的情況下,重新排序的過(guò)程就是將緩存區(qū)數(shù)據(jù)包的排序情況由Y變成X的過(guò)程。

      當(dāng)數(shù)據(jù)包按照表1中的規(guī)律到達(dá)時(shí),將數(shù)據(jù)包內(nèi)的時(shí)間標(biāo)簽在0~7 ms的數(shù)據(jù)包按照表1的數(shù)據(jù)包排列規(guī)律放入緩存區(qū)H1中,將數(shù)據(jù)包內(nèi)的時(shí)間標(biāo)簽在8~15 ms的數(shù)據(jù)包按照表1的數(shù)據(jù)包排列規(guī)律放入緩存區(qū)H2中,接下來(lái),在16 ms時(shí)刻,A16包到達(dá),根據(jù)最大逆序時(shí)間的概念,表明0~7 ms時(shí)間段的數(shù)據(jù)包已經(jīng)全部接收完畢(如果緩存區(qū)H1仍未填滿,表明0~7 ms時(shí)間段的數(shù)據(jù)包有丟包發(fā)生),此時(shí)可以將之前其它任務(wù)(數(shù)據(jù)處理任務(wù)或數(shù)據(jù)存儲(chǔ)任務(wù))中的數(shù)據(jù)存放緩存區(qū)清空,然后將A16按照表1中的數(shù)據(jù)包排放規(guī)律放入緩存區(qū)H1。需要強(qiáng)調(diào)的是,如果當(dāng)前數(shù)據(jù)包較前一數(shù)據(jù)包的時(shí)間跨度大于7 ms,即大于T,表明已經(jīng)開(kāi)始接收到新的時(shí)間段的數(shù)據(jù)包,此時(shí)需要考察數(shù)據(jù)包的時(shí)間標(biāo)簽tm與緩存區(qū)內(nèi)數(shù)據(jù)包的時(shí)間跨度(tn,tn+7)的關(guān)系,判斷tm是否屬于(tn,tn+7)區(qū)間,如果當(dāng)前數(shù)據(jù)包不屬于緩存區(qū)H1,H2中的任何一個(gè),則需要將緩存區(qū)H1,H2中時(shí)間靠前的緩存區(qū)進(jìn)行數(shù)據(jù)包的完整性檢查并對(duì)丟失的數(shù)據(jù)包按照相應(yīng)的方法進(jìn)行補(bǔ)齊,接下來(lái)將緩存區(qū)提交至其它任務(wù)后清空,然后將A16按照表1的數(shù)據(jù)包排放規(guī)律放入緩存區(qū)。具體的算法流程圖如圖1所示。

      采用C++高級(jí)程序語(yǔ)言實(shí)現(xiàn)了上文所述算法[7]。

      2 算法應(yīng)用

      在實(shí)現(xiàn)主要算法的基礎(chǔ)上,完成了網(wǎng)數(shù)據(jù)處理軟件的設(shè)計(jì)開(kāi)發(fā)[8],為了驗(yàn)證排序算法的正確性,使用本軟件對(duì)兩個(gè)不同型號(hào)飛機(jī)的多架次飛行數(shù)據(jù)進(jìn)行處理。圖2是某型號(hào)飛機(jī)某架次飛行記錄的某時(shí)間段原始數(shù)據(jù)的相關(guān)信息。其中,鍵值表示包的識(shí)別字,序號(hào)表示該鍵值的包的當(dāng)前個(gè)數(shù)。從圖2中排序前的信息可以看出,數(shù)據(jù)包發(fā)生了失序。圖2中的右圖是排序后的數(shù)據(jù)包信息,可見(jiàn)已實(shí)現(xiàn)時(shí)間對(duì)齊。

      圖1 數(shù)據(jù)包排序算法流程圖

      圖2 排序前后數(shù)據(jù)包順序?qū)Ρ葓D

      本文提出的關(guān)于數(shù)據(jù)包的丟失和失序處理算法可以在飛行時(shí)間內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)包實(shí)時(shí)接收時(shí)應(yīng)用,以保證進(jìn)入機(jī)載記錄設(shè)備的數(shù)據(jù)包已經(jīng)按照時(shí)間順序進(jìn)行存儲(chǔ)。如果在飛行時(shí)間內(nèi)由于機(jī)載測(cè)試系統(tǒng)軟硬件資源的限制,不便對(duì)數(shù)據(jù)包進(jìn)行實(shí)時(shí)排序,也可以在事后數(shù)據(jù)預(yù)處理環(huán)節(jié)中使用本算法。兩種使用場(chǎng)合算法完全一致,無(wú)需作任何更改。

      3 結(jié)論

      通過(guò)對(duì)UDP傳輸協(xié)議和機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)數(shù)據(jù)包傳輸過(guò)程的分析,說(shuō)明了數(shù)據(jù)包發(fā)生失序和丟失的原因。鑒于飛行試驗(yàn)數(shù)據(jù)處理分析對(duì)數(shù)據(jù)的時(shí)間相關(guān)性的嚴(yán)格要求,提出了開(kāi)辟適當(dāng)?shù)木彺鎱^(qū)來(lái)對(duì)失序的數(shù)據(jù)包按照時(shí)間排序的詳細(xì)算法;之后,對(duì)緩存區(qū)大小的確定和排序算法進(jìn)行了詳細(xì)的論述,并在數(shù)據(jù)處理軟件中實(shí)現(xiàn)了該算法的設(shè)計(jì)開(kāi)發(fā);最終的應(yīng)用效果表明,該算法成功解決了飛行試驗(yàn)網(wǎng)絡(luò)化測(cè)試系統(tǒng)中發(fā)生失序和丟包情況下的數(shù)據(jù)處理問(wèn)題。

      [1]iNET system Architecture Version 2007.1[EB/OL].http//www.irig106.org.

      [2]楊廷梧.新型遙測(cè)系統(tǒng)中網(wǎng)絡(luò)化測(cè)試技術(shù)展望[J].測(cè)控技術(shù),2010,29(Z):141-145.

      [3]白效賢,楊廷梧,袁炳南.航空飛行試驗(yàn)遙測(cè)技術(shù)發(fā)展趨勢(shì)與對(duì)策[J].測(cè)控技術(shù),2010,29(11):6-9.

      [4]楊廷梧,王云山,滕斌.飛行試驗(yàn)遙測(cè)機(jī)載測(cè)試技術(shù)的發(fā)展與應(yīng)用[J].測(cè)控技術(shù),2013,32(4):5-8.

      [5]Stevens W.R.TCP/IP詳解.卷1,協(xié)議[M].北京:機(jī)械工業(yè)出版社,2008.

      [6]魯宏偉.基于UDP傳輸協(xié)議的包丟失和失序處理[J].計(jì)算機(jī)工程與應(yīng)用,2001,37(2):48-49.

      [7]張永強(qiáng)(譯).C++高級(jí)編程[M].北京:清華大學(xué)出版社,2015.

      [8]陳堅(jiān).Visual C++網(wǎng)絡(luò)高級(jí)編程[M].北京:人民郵電出版社,2001.

      猜你喜歡
      逆序失序網(wǎng)絡(luò)化
      越控制,越失序
      越控制越失序
      意林(2020年12期)2020-07-03 02:48:46
      有界線性算子的Drazin逆的逆序律
      關(guān)于矩陣廣義BottDuffin逆的逆序律
      新中國(guó)70年漢語(yǔ)逆序詞研究(1949—2019)
      對(duì)外漢語(yǔ)教學(xué)中AB-BA式逆序詞教學(xué)分析
      在失序中選擇
      在失序中選擇
      作文新天地(2017年7期)2017-04-11 10:40:08
      當(dāng)代新聞學(xué)的網(wǎng)絡(luò)化發(fā)展
      新聞傳播(2016年11期)2016-07-10 12:04:01
      基于OPC的網(wǎng)絡(luò)化群梯管理系統(tǒng)開(kāi)發(fā)
      鹤壁市| 汽车| 新田县| 六安市| 安新县| 忻城县| 湄潭县| 东乡县| 宁武县| 靖边县| 德兴市| 张家口市| 呼图壁县| 周宁县| 晋江市| 泗水县| 新余市| 抚松县| 孝义市| 城市| 香格里拉县| 灵台县| 四川省| 河南省| 丽水市| 平阳县| 抚松县| 衡阳县| 绥化市| 榆中县| 宁南县| 五河县| 澜沧| 广东省| 冕宁县| 琼中| 青阳县| 杂多县| 西和县| 铜山县| 晋宁县|