王萬(wàn)金
(中國(guó)人民解放軍91550 部隊(duì),遼寧 大連 116023)
遙測(cè)數(shù)字量參數(shù)用于記錄飛行器上各系統(tǒng)的工作狀態(tài),利用轉(zhuǎn)發(fā)的方式記錄于遙測(cè)波道中,采用幀頭、幀長(zhǎng)、數(shù)據(jù)以及校驗(yàn)和的格式存儲(chǔ),且位置不固定。傳統(tǒng)處理手段采用“因地制宜”的方式,針對(duì)不同系統(tǒng)數(shù)字量參數(shù)依據(jù)數(shù)據(jù)處理協(xié)議的約定,根據(jù)幀頭、幀長(zhǎng)和對(duì)應(yīng)的狀態(tài)標(biāo)識(shí)進(jìn)行單獨(dú)處理。不同數(shù)字量在狀態(tài)標(biāo)識(shí)位置、長(zhǎng)度、編碼格式,數(shù)據(jù)段的劃分原則,分幀周期、數(shù)量以及數(shù)據(jù)嵌套的邏輯結(jié)構(gòu)等方面差異明顯,且不同階段的飛行器試驗(yàn),其數(shù)字量參數(shù)類型和格式不斷變化,傳統(tǒng)的處理手段對(duì)處理系統(tǒng)的維護(hù)能力和維護(hù)周期都有較高要求[1],尋求處理模式的高度抽象和處理性能的不斷提升,降低數(shù)據(jù)處理系統(tǒng)維護(hù)成本是該文的目的所在。
如上所述,遙測(cè)數(shù)字量有多種類型,不同類型間差異明顯,多為嵌套格式且結(jié)構(gòu)復(fù)雜[2-3],為方便系統(tǒng)設(shè)計(jì)過(guò)程中抽象共同特征[4],差異化配置設(shè)置[5],先簡(jiǎn)要說(shuō)明常見(jiàn)的數(shù)字量格式。
單層(數(shù)據(jù)區(qū)不含子嵌套層,通常只包含一個(gè)數(shù)據(jù)段落)單狀態(tài)的數(shù)字量格式較為簡(jiǎn)單,由幀頭、幀長(zhǎng)、數(shù)據(jù)區(qū)(單一狀態(tài))與校驗(yàn)和組成,為最簡(jiǎn)單的一種格式。
單層多狀態(tài)與單層單狀態(tài)數(shù)字量格式的主要區(qū)別在數(shù)據(jù)區(qū)部分,其由區(qū)分時(shí)間段落的不同狀態(tài)組成,不同狀態(tài)通過(guò)狀態(tài)標(biāo)識(shí)位進(jìn)行區(qū)分。其中,狀態(tài)標(biāo)識(shí)位的長(zhǎng)度依據(jù)不同數(shù)字量類型有所區(qū)別,數(shù)據(jù)區(qū)的長(zhǎng)度則又分為定長(zhǎng)和不定長(zhǎng)兩種格式。
多層(數(shù)據(jù)區(qū)含子嵌套層,通常包含多個(gè)數(shù)據(jù)段落)多狀態(tài)無(wú)分幀格式通常指數(shù)據(jù)區(qū)含有多個(gè)數(shù)據(jù)段落,每個(gè)段落含有一種或多種狀態(tài),通過(guò)狀態(tài)標(biāo)識(shí)位加以區(qū)別,但每種狀態(tài)較為固定,不再含有子嵌套,即不含有分幀等子格式。每個(gè)數(shù)據(jù)段落的長(zhǎng)度又分為定長(zhǎng)和不定長(zhǎng)兩種。
多層多狀態(tài)多分幀格式與多層多狀態(tài)無(wú)分幀格式的主要區(qū)別在于子嵌套層(某個(gè)數(shù)據(jù)段落)的某種狀態(tài)又含有子嵌套,即含有分幀格式。該種格式其父層即狀態(tài)層的長(zhǎng)度通常固定,即為多層多狀態(tài)定長(zhǎng)格式。分幀格式(子嵌套的子嵌套層)的幀標(biāo)識(shí)ID通常有兩種編排方式,即通過(guò)相對(duì)時(shí)間求余數(shù)以及通過(guò)某字節(jié)高低位分別編排狀態(tài)和分幀標(biāo)識(shí)。
上述列舉了較為常見(jiàn)的數(shù)字量格式,還有一些更為復(fù)雜的格式,主要體現(xiàn)在嵌套層更多,狀態(tài)信息更繁雜,分幀格式含有分幀,狀態(tài)信息標(biāo)識(shí)和分幀標(biāo)識(shí)ID 更靈活,甚至需要二次組幀等。種類如此繁多的格式,靈活多變的狀態(tài)和分幀等嵌套,使遙測(cè)數(shù)字量類型參數(shù)的處理變得復(fù)雜、困難,在處理協(xié)議解析和處理算法上的調(diào)整需要較高成本[6]。因此,高效通用的處理系統(tǒng)能夠提高處理效率,降低系統(tǒng)維護(hù)成本[7]。
上述各類型數(shù)字量格式間的差異,要想實(shí)現(xiàn)處理算法和流程上的統(tǒng)一,則需要抽象處理方法以及使接口差異化,進(jìn)而實(shí)現(xiàn)處理系統(tǒng)的通用性[8]。分析整個(gè)處理流程不難發(fā)現(xiàn),各種格式數(shù)字量的處理過(guò)程由幀頭、幀長(zhǎng)、跨幀與校驗(yàn)和判斷的預(yù)處理過(guò)程以及提取出具體數(shù)據(jù)區(qū)后的分路和量綱還原處理過(guò)程構(gòu)成,而在此兩個(gè)處理過(guò)程間可以通過(guò)模式查找方法提取各種格式的具體數(shù)據(jù)區(qū),即具體格式的解析[9]。因此,處理系統(tǒng)的設(shè)計(jì)可以從預(yù)處理、格式解析和量綱還原三方面著手[10]。
遙測(cè)數(shù)字量參數(shù)通用處理系統(tǒng)的設(shè)計(jì)本著面向?qū)ο蟮乃枷耄罁?jù)高內(nèi)聚、低耦合的“解耦”原則,使各個(gè)功能模塊盡量獨(dú)立,以規(guī)范接口,降低系統(tǒng)后續(xù)的維護(hù)成本。處理系統(tǒng)主要由預(yù)處理模塊、格式解析模塊、量綱還原模塊和參數(shù)數(shù)據(jù)庫(kù)模塊等部分組成。其中,預(yù)處理模塊、格式解析模塊和量綱還原模塊作為整個(gè)處理系統(tǒng)的核心,分別實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)中的各類型數(shù)字量參數(shù)的統(tǒng)一預(yù)處理、各類型格式的具體解析和參數(shù)物理量綱還原的功能。系統(tǒng)總體結(jié)構(gòu)如圖1 所示。
圖1 遙測(cè)數(shù)字量參數(shù)處理系統(tǒng)總體結(jié)構(gòu)
預(yù)處理模塊主要實(shí)現(xiàn)各類型原始數(shù)字量數(shù)據(jù)的有效性檢測(cè)功能,旨在通過(guò)其檢測(cè)遙測(cè)數(shù)字量通道內(nèi)數(shù)據(jù)的有效性,即通過(guò)幀頭、幀長(zhǎng)和校驗(yàn)和等標(biāo)識(shí)提取有效的結(jié)構(gòu)化數(shù)據(jù),為下步其所含各種格式的解析做準(zhǔn)備。預(yù)處理模塊主要由標(biāo)識(shí)位(幀頭、幀長(zhǎng))檢測(cè)子模塊、跨幀檢測(cè)子模塊和校驗(yàn)和檢測(cè)子模塊組成。
格式解析模塊主要實(shí)現(xiàn)子嵌套層(段落、狀態(tài)、分幀等)具體數(shù)據(jù)區(qū)(塊)的解析功能,通過(guò)其能夠查找和提取該數(shù)據(jù)區(qū)(塊)的數(shù)據(jù),為下步具體參數(shù)的量綱還原做準(zhǔn)備。格式解析模塊主要由模式生成子模塊、模式查找(匹配)子模塊和具體數(shù)據(jù)區(qū)(塊)提取子模塊組成。
量綱還原模塊主要實(shí)現(xiàn)具體數(shù)據(jù)區(qū)(塊)內(nèi)包含的參數(shù)的物理量綱還原功能,通過(guò)其能夠生成具體參數(shù)(溫度、壓力、載荷等)在時(shí)域內(nèi)的物理量,為數(shù)據(jù)分析提供保障。量綱還原模塊主要由參數(shù)分路子模塊和量綱還原子模塊組成。
數(shù)據(jù)庫(kù)模塊主要實(shí)現(xiàn)上述各模塊所需的外部參數(shù)或數(shù)據(jù)的存儲(chǔ)和交互功能,通過(guò)分析預(yù)處理模塊、格式解析模塊和量綱還原模塊所需交互的外部參數(shù)或數(shù)據(jù)可知,數(shù)據(jù)庫(kù)表應(yīng)包括數(shù)字量配置表、主幀配置表和參數(shù)信息表等[11-12]。詳細(xì)結(jié)構(gòu)如表1-3 所示。
表1 數(shù)字量配置表詳細(xì)結(jié)構(gòu)
表2 主幀配置表詳細(xì)結(jié)構(gòu)
表3 參數(shù)信息表詳細(xì)結(jié)構(gòu)
預(yù)處理模塊主要實(shí)現(xiàn)原始數(shù)字量數(shù)據(jù)的有效性檢測(cè),其算法包含三方面內(nèi)容。
1)當(dāng)前幀的有效性,即通過(guò)幀頭和幀長(zhǎng)標(biāo)識(shí)位判別數(shù)字量當(dāng)前幀數(shù)據(jù)的有效性;
2)當(dāng)前幀的完整性,即在有效性基礎(chǔ)上根據(jù)數(shù)字量當(dāng)前幀與遙測(cè)全幀的關(guān)系,從當(dāng)前幀所處位置判斷其是否跨幀,進(jìn)而判斷其完整性[13];
3)校驗(yàn)和檢驗(yàn),即檢驗(yàn)數(shù)字量當(dāng)前幀數(shù)據(jù)區(qū)數(shù)值的和是否與校驗(yàn)和的值相等,若相等則說(shuō)明當(dāng)前幀有效,否則無(wú)效。通常受各種因素影響,數(shù)據(jù)區(qū)存在一定程度的誤碼率,進(jìn)而導(dǎo)致其難以與校驗(yàn)和完全相等,若嚴(yán)格執(zhí)行該檢驗(yàn)原則,則會(huì)使有效幀大幅減少,實(shí)際數(shù)據(jù)處理過(guò)程中應(yīng)根據(jù)實(shí)際需要進(jìn)行取舍。
數(shù)字量預(yù)處理算法的具體流程如圖2 所示。
圖2 數(shù)字量預(yù)處理算法流程圖
格式解析模塊主要實(shí)現(xiàn)子嵌套層具體數(shù)據(jù)區(qū)的提取,其算法實(shí)現(xiàn)過(guò)程主要包含匹配數(shù)據(jù)源和模式的生成,通過(guò)模式匹配算法獲取匹配結(jié)果集[14],依據(jù)匹配結(jié)果集獲得邏輯結(jié)構(gòu)數(shù)據(jù)(具體數(shù)據(jù)區(qū))的幀索引,并根據(jù)其提取邏輯結(jié)構(gòu)數(shù)據(jù)[15]。數(shù)字量格式解析算法的具體流程如圖3 所示。
圖3 數(shù)字量格式解析算法流程圖
量綱還原模塊主要實(shí)現(xiàn)邏輯層具體數(shù)據(jù)區(qū)(塊)所包含參數(shù)的物理量綱還原功能,其算法首先是交互數(shù)據(jù)庫(kù),訪問(wèn)主幀配置表和參數(shù)信息表相關(guān)字段,獲取參數(shù)配置及量綱還原信息,并生成對(duì)應(yīng)的文件。然后依次遍歷該文件內(nèi)每個(gè)參數(shù)信息,獲取分路索引、長(zhǎng)度等,再遍歷對(duì)應(yīng)的數(shù)據(jù)區(qū)及時(shí)間文件[16],提取參數(shù)對(duì)應(yīng)的物理量原始值。最后將物理量原始值、參數(shù)量綱還原系數(shù)等代入量綱還原模型,獲取該參數(shù)的物理量時(shí)域歷程。數(shù)字量量綱還原算法的具體流程如圖4 所示。
圖4 數(shù)字量量綱還原算法流程圖
遙測(cè)數(shù)字量參數(shù)通用處理系統(tǒng)基于Visual Studio、Visual C++和SQL Server 平臺(tái)開發(fā)實(shí)現(xiàn),運(yùn)行于Windows 系統(tǒng)。系統(tǒng)的配置靈活,各類型數(shù)字量的嵌套層格式可以通過(guò)表1 的字段ID 和ParentID 來(lái)完成嵌套結(jié)構(gòu)的配置,各種格式的模式可以通過(guò)表1和表2 及模式生成類來(lái)配置,參數(shù)的量綱還原可以通過(guò)表2 和3 結(jié)合還原算法完成。近幾年來(lái),該系統(tǒng)主要應(yīng)用于Ⅲ型飛行器的數(shù)據(jù)處理工作,相較于先前的處理系統(tǒng),該系統(tǒng)的應(yīng)用大幅度地提高了處理效率,整體的維護(hù)周期和成本大大降低。如表4 所示,系統(tǒng)應(yīng)用過(guò)程中,Ⅰ型飛行器新舊系統(tǒng)5 次數(shù)據(jù)處理維護(hù)平均用時(shí)分別為4.4 h 和18.64 h,Ⅱ型分別為6.22 h 和23.92 h,Ⅲ型分別為11.74 h 和41.22 h。統(tǒng)計(jì)發(fā)現(xiàn),Ⅲ型數(shù)據(jù)處理工作中,舊系統(tǒng)的平均維護(hù)成本是新系統(tǒng)的3.51 倍,新系統(tǒng)的應(yīng)用能夠極大地提高數(shù)據(jù)處理工作效率,降低維護(hù)成本。
表4 系統(tǒng)應(yīng)用過(guò)程維護(hù)成本統(tǒng)計(jì)
針對(duì)遙測(cè)數(shù)字量參數(shù)處理協(xié)議紛繁復(fù)雜、系統(tǒng)維護(hù)周期和成本高的問(wèn)題,提出應(yīng)用模式查找的方法設(shè)計(jì)并實(shí)現(xiàn)了通用化的處理系統(tǒng),系統(tǒng)的核心由預(yù)處理、格式解析和量綱還原三部分構(gòu)成。預(yù)處理模塊通過(guò)幀頭、跨幀和校驗(yàn)與檢測(cè)實(shí)現(xiàn)了數(shù)字量參數(shù)的有效性檢測(cè),獲得了一致的結(jié)構(gòu)化數(shù)據(jù)。格式解析通過(guò)模式生成、模式查找和數(shù)據(jù)提取實(shí)現(xiàn)了具體數(shù)據(jù)區(qū)的解析。量綱還原通過(guò)參數(shù)分路獲取參數(shù)物理量原始值,結(jié)合具體采樣相對(duì)時(shí)間實(shí)現(xiàn)參數(shù)的時(shí)域歷程。系統(tǒng)在Ⅲ型飛行器的數(shù)字量參數(shù)處理上進(jìn)行了應(yīng)用,統(tǒng)計(jì)結(jié)果顯示,新系統(tǒng)的效率接近先前系統(tǒng)的4 倍,能夠大幅提高處理效率,降低維護(hù)周期和成本,解決傳統(tǒng)處理手段在處理模塊耦合強(qiáng)、版本多及代碼維護(hù)周期長(zhǎng)方面的問(wèn)題。系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)在遙測(cè)數(shù)字量參數(shù)處理上具有通用性,可廣泛應(yīng)用于遙測(cè)數(shù)據(jù)處理領(lǐng)域。