《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)研究
非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)研究
摘要: 為實(shí)現(xiàn)網(wǎng)絡(luò)化測(cè)試系統(tǒng)下非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)的快速分析處理,在關(guān)鍵的算法和系統(tǒng)化集成處理方面提出解決方法。采用內(nèi)存映射文件方式快速讀取海量數(shù)據(jù),并設(shè)計(jì)了時(shí)間矩陣算法,用以快速進(jìn)行同步分析處理;應(yīng)用分布式中間件方式實(shí)現(xiàn)海量數(shù)據(jù)的并發(fā)處理和數(shù)據(jù)分發(fā),對(duì)飛行試驗(yàn)采集的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行了分析處理,使用這些算法的數(shù)據(jù)處理軟件,可以使處理效率滿(mǎn)足飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理的需求。這些都為新一代機(jī)載采集系統(tǒng)應(yīng)用于飛行試驗(yàn)提供了技術(shù)保障。
Abstract:
Key words :

摘要:為實(shí)現(xiàn)網(wǎng)絡(luò)化測(cè)試系統(tǒng)下非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)的快速分析處理,在關(guān)鍵的算法和系統(tǒng)化集成處理方面提出解決方法。采用內(nèi)存映射文件方式快速讀取海量數(shù)據(jù),并設(shè)計(jì)了時(shí)間矩陣算法,用以快速進(jìn)行同步分析處理;應(yīng)用分布式中間件方式實(shí)現(xiàn)海量數(shù)據(jù)的并發(fā)處理和數(shù)據(jù)分發(fā),對(duì)飛行試驗(yàn)采集的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行了分析處理,使用這些算法的數(shù)據(jù)處理軟件,可以使處理效率滿(mǎn)足飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理的需求。這些都為新一代機(jī)載采集系統(tǒng)應(yīng)用于飛行試驗(yàn)提供了技術(shù)保障。
關(guān)鍵詞:IENA;XNET/INET;PCAP;飛行試驗(yàn)

    飛行試驗(yàn)數(shù)據(jù)處理是飛行試驗(yàn)工程中非常重要的一個(gè)環(huán)節(jié),是對(duì)各類(lèi)試飛數(shù)據(jù)信息進(jìn)行細(xì)致、充分和全面的分析與處理,數(shù)據(jù)處理結(jié)果是飛行試驗(yàn)鑒定結(jié)論的核心依據(jù)。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)在飛行試驗(yàn)測(cè)試領(lǐng)域的深入應(yīng)用,網(wǎng)絡(luò)化測(cè)試技術(shù)逐漸成為飛行試驗(yàn)測(cè)試技術(shù)發(fā)展的另一個(gè)核心。同時(shí)隨著現(xiàn)代飛機(jī)設(shè)計(jì)技術(shù)的發(fā)展,飛機(jī)系統(tǒng)越來(lái)越復(fù)雜,飛行試驗(yàn)科目、測(cè)試參數(shù)、測(cè)試數(shù)據(jù)種類(lèi)以及測(cè)試數(shù)據(jù)總量越來(lái)越多。對(duì)飛行試驗(yàn)數(shù)據(jù)處理從質(zhì)量、速度以及數(shù)據(jù)安全性、可靠性等方面提出了更高的要求。機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)架構(gòu)技術(shù)應(yīng)用于最新的飛機(jī)測(cè)試系統(tǒng)上,該系統(tǒng)采集記錄的網(wǎng)絡(luò)數(shù)據(jù)記錄了飛機(jī)一個(gè)飛行試驗(yàn)起落的各類(lèi)測(cè)試數(shù)據(jù)信息,新一代飛機(jī)測(cè)試參數(shù)總量激增,數(shù)據(jù)總量達(dá)到上百個(gè)GB。為縮短單架次飛行試驗(yàn)周期,如何高效快捷地對(duì)這些非結(jié)構(gòu)化的海量網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行同步分析處理,方便科研人員的應(yīng)用,就成為必須解決的實(shí)際問(wèn)題。

1 網(wǎng)絡(luò)化機(jī)載測(cè)試系統(tǒng)飛行試驗(yàn)數(shù)據(jù)的特點(diǎn)
    在網(wǎng)絡(luò)化機(jī)載測(cè)試系統(tǒng)Kam4000中,網(wǎng)絡(luò)數(shù)據(jù)包從采集器通過(guò)二級(jí)交換機(jī)到記錄器。第一級(jí)交換機(jī)可以有多個(gè),二級(jí)交換機(jī)作為系統(tǒng)的時(shí)鐘接入點(diǎn)、遙測(cè)數(shù)據(jù)和記錄器的接入點(diǎn)、系統(tǒng)配置文件的加載點(diǎn),結(jié)構(gòu)如圖1所示。網(wǎng)絡(luò)數(shù)據(jù)包被記錄器完整的記錄下來(lái),在此需要分析的是記錄器記錄的完整的網(wǎng)絡(luò)數(shù)據(jù)。該網(wǎng)絡(luò)數(shù)據(jù)是有一個(gè)個(gè)網(wǎng)絡(luò)數(shù)據(jù)包組成,每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的格式根據(jù)采集器的不同可以是不同的。

a.jpg


1.1 與Kam500采集系統(tǒng)的差別
    現(xiàn)在大量應(yīng)用于飛行試驗(yàn)的Kam500機(jī)載測(cè)試系統(tǒng),采集記錄的飛行試驗(yàn)數(shù)據(jù)格式為標(biāo)準(zhǔn)的PCM數(shù)據(jù)。PCM數(shù)據(jù)由重復(fù)出現(xiàn)的長(zhǎng)幀組成,每個(gè)長(zhǎng)幀的長(zhǎng)度是固定的,每個(gè)長(zhǎng)幀包含若干個(gè)短幀。網(wǎng)絡(luò)化機(jī)載測(cè)試系統(tǒng)Kam4000中,采集記錄的飛行試驗(yàn)數(shù)據(jù)為網(wǎng)絡(luò)數(shù)據(jù)包格式。每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的大小都可以不同,并且每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包中的參數(shù)個(gè)數(shù)也可以不同。
1.2 海量網(wǎng)絡(luò)數(shù)據(jù)包的格式
    網(wǎng)絡(luò)化測(cè)試系統(tǒng)采用ARCA公司的最新采集器,采集記錄的數(shù)據(jù)格式根據(jù)采集器的不同可以是IENA,或XNET/INET網(wǎng)絡(luò)數(shù)據(jù)包格式。采用BCU105(IENA Ethernet Controller)支持的是IENA包結(jié)構(gòu)。而采用BCU140(XNET Ethernet Controller)支持XNET/INET的同時(shí),也支持IEN-A。在網(wǎng)絡(luò)化測(cè)試系統(tǒng)中IENA和XNET/INET網(wǎng)絡(luò)數(shù)據(jù)包以EthernetⅡ協(xié)議廣播。根據(jù)記錄器的不同,記錄的網(wǎng)絡(luò)數(shù)據(jù)包結(jié)構(gòu)可以是PCAP格式或者IRIG106-10格式記錄。
    PCAP基本格式:
    文件頭 數(shù)據(jù)包頭 數(shù)據(jù)包 數(shù)據(jù)包頭 數(shù)據(jù)包 …
    IRIG106-10基本格式:
    文件頭 特殊字頭 數(shù)據(jù)包 特殊字頭 數(shù)據(jù)包 …
    根據(jù)飛行試驗(yàn)的測(cè)試特性,參照以往的模擬量在飛行實(shí)驗(yàn)中記錄數(shù)據(jù)的大小,如果參數(shù)量為5 000個(gè),一定的飛行時(shí)間內(nèi)記錄的飛行試驗(yàn)數(shù)據(jù)為12 GB左右。隨著飛機(jī)系統(tǒng)的復(fù)雜性的增加,應(yīng)用于飛行實(shí)驗(yàn)的網(wǎng)絡(luò)化測(cè)試系統(tǒng)需測(cè)試的飛行試驗(yàn)參數(shù)也越來(lái)越多,單架次的飛行試驗(yàn)記錄的模擬量數(shù)據(jù)將是現(xiàn)在的4倍、5倍甚至更多。
1.3 網(wǎng)絡(luò)數(shù)據(jù)包個(gè)數(shù)多
    為提高發(fā)包效率,使發(fā)包延遲時(shí)間盡可能小,將數(shù)據(jù)包在采集后快速的發(fā)送出去,ARCA公司的采集器規(guī)定每個(gè)數(shù)據(jù)包的大小在設(shè)計(jì)上不允許超過(guò)1 500 B。同時(shí),現(xiàn)在的測(cè)試參數(shù)都是高采樣率,在這樣的測(cè)試系統(tǒng)條件下,一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包可記錄的參數(shù)量非常有限,必然會(huì)產(chǎn)生惟一標(biāo)示的單個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的個(gè)數(shù)激增。
1.4 網(wǎng)絡(luò)數(shù)據(jù)包非結(jié)構(gòu)化
    網(wǎng)絡(luò)數(shù)據(jù)包具有典型的非結(jié)構(gòu)化。在采集器端,按照測(cè)試系統(tǒng)的配置采集參數(shù),并形成網(wǎng)絡(luò)數(shù)據(jù)包。對(duì)于交換機(jī)而言,單個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的到來(lái)和發(fā)送沒(méi)有完整的規(guī)則。在記錄器上記錄的原始網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù),在數(shù)據(jù)包的排列順序上是無(wú)序的,數(shù)據(jù)包的周期是不確定的。不能準(zhǔn)確預(yù)測(cè)到下一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包到來(lái)的順序和時(shí)間。

2 網(wǎng)絡(luò)數(shù)據(jù)處理方法
    針對(duì)以上網(wǎng)絡(luò)數(shù)據(jù)包的特點(diǎn):最新的網(wǎng)絡(luò)數(shù)據(jù)包格式和記錄格式,海量的原始數(shù)據(jù),數(shù)目龐大的測(cè)試參數(shù),典型的非結(jié)構(gòu)化,以及上千萬(wàn)、上億的單個(gè)網(wǎng)絡(luò)數(shù)據(jù)包。根據(jù)飛行試驗(yàn)的特點(diǎn),必須在盡可能短的時(shí)間內(nèi)給出飛行試驗(yàn)的數(shù)據(jù)分析結(jié)果,以便試飛工程師安排接下來(lái)的飛行試驗(yàn)。
2.1 內(nèi)存映射文件
    內(nèi)存映射文件,是由一個(gè)文件到一塊內(nèi)存的映射。WIN32提供了允許應(yīng)用程序把文件映射到一個(gè)進(jìn)程的函數(shù)(CreateFileMapping)。使用內(nèi)存映射文件處理存儲(chǔ)于磁盤(pán)上的文件時(shí),將不必再對(duì)文件執(zhí)行I/O操作,使得內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時(shí)能起到相當(dāng)重要的作用。在處理飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)時(shí),需不斷地提取數(shù)據(jù)的,進(jìn)行判斷、跳過(guò)等文件操作。如果按照以往的文件指針模式去提取網(wǎng)絡(luò)數(shù)據(jù),在數(shù)據(jù)處理效率上有可能不能滿(mǎn)足飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理的需求。針對(duì)快速讀取海量原始網(wǎng)絡(luò)數(shù)據(jù),內(nèi)存映射文件模式提供了解決方法。
2.2 時(shí)間矩陣同步分析算法
    針對(duì)飛行試驗(yàn)原始網(wǎng)絡(luò)數(shù)據(jù),每個(gè)單獨(dú)的網(wǎng)絡(luò)數(shù)據(jù)包總是有時(shí)間標(biāo)識(shí)的。這些時(shí)間標(biāo)識(shí)在整個(gè)原始文件中又是無(wú)序存放的。飛行試驗(yàn)的科目所需要的數(shù)據(jù)往往存在于多個(gè)網(wǎng)絡(luò)數(shù)據(jù)包中,這些網(wǎng)絡(luò)數(shù)據(jù)包中的數(shù)據(jù)往往不會(huì)是同一時(shí)刻采集的,也就是說(shuō)網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間標(biāo)識(shí)不會(huì)是同時(shí)刻的。針對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的這些特性,為快速進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)統(tǒng)分析,設(shè)計(jì)了時(shí)間矩陣同步分析算法。
    如圖2網(wǎng)絡(luò)數(shù)據(jù)包時(shí)間順序所示,原始網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)間在順序上是無(wú)序的。

b.jpg


    時(shí)間矩陣同步分析算法是一種高效的同步分析算法,是最快最逼近真實(shí)數(shù)據(jù)的一種的算法。將原始數(shù)據(jù)時(shí)間以1 s為單位,以實(shí)際需要的每秒采樣率PerCyc為等分值,即將時(shí)間軸分PerCyc等分,如圖3所示。

c.jpg


    假設(shè)PerCyc為6,則在1 s內(nèi),平均提取6個(gè)時(shí)間點(diǎn)。以第二個(gè)時(shí)間點(diǎn)10為例,從圖中可以看到,某個(gè)實(shí)際的網(wǎng)絡(luò)數(shù)據(jù)包時(shí)間在10附近有08 s,09 s,12 s三點(diǎn),那么在提取該網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)候,比較后選擇09 s點(diǎn)數(shù)值為同步分析的結(jié)果數(shù)值。以此類(lèi)推,對(duì)需要提取的網(wǎng)絡(luò)數(shù)據(jù)包在10 s點(diǎn)的數(shù)值都可以比較逼近獲得。
2.3 分布式應(yīng)用中間件網(wǎng)絡(luò)數(shù)據(jù)處理
    以中間件形式(Active控件等)將網(wǎng)絡(luò)數(shù)據(jù)包接口軟件發(fā)布在分布式網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中。該系統(tǒng)在數(shù)據(jù)管理、海量數(shù)據(jù)并發(fā)處理和數(shù)據(jù)分發(fā)等方面滿(mǎn)足海量飛行試驗(yàn)數(shù)據(jù)處理需求,通過(guò)基于Web的飛行試驗(yàn)數(shù)據(jù)處理子系統(tǒng)實(shí)現(xiàn)對(duì)所需數(shù)據(jù)信息的訪(fǎng)問(wèn)。如圖4所示。
    (1)客戶(hù)端ActiveX根據(jù)調(diào)度服務(wù)器列表中的IP及端口號(hào)循環(huán)嘗試建立Socket通信,發(fā)出計(jì)算請(qǐng)求;
    (2)客戶(hù)端ActiveX與調(diào)度服務(wù)器建立連接后,調(diào)度服務(wù)器經(jīng)過(guò)負(fù)載均衡計(jì)算,返回給客戶(hù)端ActiveX一個(gè)計(jì)算服務(wù)器的IP及端口號(hào);
    (3)客戶(hù)端ActiveX與計(jì)算服務(wù)器建立Socket連接;
    (4)客戶(hù)端ActiveX發(fā)出執(zhí)行計(jì)算命令;
    (5)計(jì)算服務(wù)器接收到計(jì)算命令后,啟動(dòng)確定的分布式中間件執(zhí)行分布式計(jì)算任務(wù),并將狀態(tài)信息輸出到控制臺(tái),計(jì)算服務(wù)器中的狀態(tài)監(jiān)控程序用管道技術(shù)將分布式中間件的輸出作為自己的輸入,并通過(guò)Socket方式返回給客戶(hù)端ActiveX;
    (6)客戶(hù)端ActiveX接收任務(wù)執(zhí)行的狀態(tài)信息,顯示給用戶(hù);
    (7)當(dāng)分布式中間件執(zhí)行完畢,計(jì)算服務(wù)器中的狀態(tài)監(jiān)控程序?qū)⒆詈蟮慕Y(jié)果文件通過(guò)Socket傳給客戶(hù)端ActiveX;
    (8)客戶(hù)端ActiveX控件將文件保存至客戶(hù)端,分布式計(jì)算結(jié)束。

3 結(jié)語(yǔ)
    本文由面及點(diǎn)地對(duì)網(wǎng)絡(luò)化測(cè)試系統(tǒng)中采集記錄的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行了深層次的理解和多視角的剖析。同時(shí)為實(shí)現(xiàn)對(duì)非結(jié)構(gòu)化海量網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行快速分析處理,對(duì)數(shù)據(jù)處理算法和數(shù)據(jù)處理軟件集成進(jìn)行了研究,從接口軟件關(guān)鍵算法設(shè)計(jì)到數(shù)據(jù)系統(tǒng)集成提出了解決方法。并且這些方法已經(jīng)在飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理軟件的設(shè)計(jì)過(guò)程中應(yīng)用,通過(guò)對(duì)飛行試驗(yàn)中采集的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析處理,使用這些算法的飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理軟件的處理效率滿(mǎn)足飛行試驗(yàn)海量網(wǎng)絡(luò)數(shù)據(jù)處理需求,解決了在飛行試驗(yàn)中的非結(jié)構(gòu)海量網(wǎng)絡(luò)數(shù)據(jù)快速分析處理問(wèn)題,為新一代機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)應(yīng)用于飛行試驗(yàn)提供了技術(shù)保障。國(guó)外許多航空公司已經(jīng)在飛行試驗(yàn)中應(yīng)用網(wǎng)絡(luò)化測(cè)試系統(tǒng),對(duì)非結(jié)構(gòu)海量網(wǎng)絡(luò)數(shù)據(jù)分析處理技術(shù)也在進(jìn)行研究。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。