李 陽,王 華,張得華
(中國衛(wèi)星海上測(cè)控部 技術(shù)部,江陰 214431)
航天系統(tǒng)測(cè)控?cái)?shù)據(jù)包含各航天單位之間的通信數(shù)據(jù)、測(cè)量船和陸上測(cè)站測(cè)控設(shè)備的設(shè)備數(shù)據(jù)和飛行器遙測(cè)數(shù)據(jù)等.他們采用相同的數(shù)據(jù)協(xié)議封裝,但是其數(shù)據(jù)域的組成格式卻靈活多變,多達(dá)上百種數(shù)據(jù)組成格式.不同類型數(shù)據(jù)格式需要不同的處理方法進(jìn)行解算,因此影響了整體的處理效率.為了實(shí)現(xiàn)高效快速處理各類測(cè)控?cái)?shù)據(jù)的目的,需要指顯數(shù)據(jù)處理系統(tǒng)能夠針對(duì)不同數(shù)據(jù)格式采用通用的處理模型進(jìn)行處理,從而保證數(shù)據(jù)處理的正確、可靠[1]和高效.
航天系統(tǒng)測(cè)控?cái)?shù)據(jù)為了方便傳輸、處理和解析,采用了固定的PDXP數(shù)據(jù)協(xié)議,該協(xié)議是基于TCP/IP協(xié)議模型分層結(jié)構(gòu)定義的應(yīng)用層數(shù)據(jù)交換協(xié)議,通信雙方以結(jié)構(gòu)化數(shù)據(jù)包的形式采用數(shù)據(jù)主動(dòng)推送方式進(jìn)行數(shù)據(jù)交換.該協(xié)議數(shù)據(jù)由固定字節(jié)的包頭數(shù)據(jù)和不定長度的數(shù)據(jù)域組成,其中包頭數(shù)據(jù)包含該類數(shù)據(jù)的版本、數(shù)據(jù)標(biāo)識(shí)、時(shí)標(biāo)和數(shù)據(jù)域長度等信息,而數(shù)據(jù)域則承擔(dān)需要傳輸?shù)母黝愑行?shù)據(jù).
PDXP協(xié)議的數(shù)據(jù)域由各種類型參數(shù)字段組成,不同參數(shù)字段有特定的數(shù)據(jù)長度和數(shù)據(jù)類型,描述了不同的狀態(tài)含義,PDXP協(xié)議對(duì)字段內(nèi)容進(jìn)行編碼組成完整的PDXP包,傳輸接收端獲取到數(shù)據(jù)字段的源碼之后進(jìn)行解算得到其代表的狀態(tài)含義,實(shí)現(xiàn)對(duì)航天器的測(cè)量監(jiān)控.通常情況下,不同的數(shù)據(jù)字段采用順序串聯(lián)方式合并組成PDXP包,但是也存在某些數(shù)據(jù)格式采用比較復(fù)雜的組合模式,增加了解算的復(fù)雜度.
模塊化字節(jié)流模型適用于PDXP包中的常規(guī)格式數(shù)據(jù),即采用順序串聯(lián)方式按一定規(guī)則對(duì)數(shù)據(jù)字段進(jìn)行組合,解算時(shí)使用字節(jié)流對(duì)數(shù)據(jù)字段進(jìn)行定義,然后根據(jù)設(shè)計(jì)好的模塊組合進(jìn)行套用解析.
模塊化字節(jié)流模型的靜態(tài)結(jié)構(gòu)類似樹形結(jié)構(gòu),具有層次定義、逐層派生的特點(diǎn)[2].最頂層是模型的抽象類,作為各個(gè)子字節(jié)流模塊的基類,子字節(jié)流模塊由此直接或間接派生.子字節(jié)流模塊分為兩大類: 字段模塊和組合模塊.字段模塊描述一個(gè)基本字節(jié)序列,可直接完成處理.組合模塊描述一個(gè)組合字節(jié)序列,無法直接處理,需進(jìn)一步分解成多個(gè)字段模塊進(jìn)行處理,然后將處理結(jié)果進(jìn)行組合.
對(duì)航天測(cè)控?cái)?shù)據(jù)進(jìn)行描述時(shí),首先使用組合模塊搭建框架,繼而根據(jù)數(shù)據(jù)特點(diǎn),嵌套加入合適的字段模塊或組合模塊,如圖1,如果加入的是組合模塊則該模塊仍由特定的字段模塊組成.這種靈活可擴(kuò)展的嵌套方式[3]使得模型具有強(qiáng)大的描述處理能力.
軟件系統(tǒng)運(yùn)行時(shí),首先根據(jù)PDXP協(xié)議格式獲取數(shù)據(jù)域,然后由模塊化字節(jié)流模型搭建框架對(duì)數(shù)據(jù)域進(jìn)行分解,組合模塊定義了所屬子模塊的處理順序,根據(jù)該順序可調(diào)用其子模塊依次完成處理.各個(gè)子模塊根據(jù)地址屬性從數(shù)據(jù)域中獲取對(duì)應(yīng)數(shù)據(jù)源碼,若子模塊仍然是組合模塊,則繼續(xù)對(duì)其進(jìn)行分解,調(diào)用所屬子模塊進(jìn)行解析;若子模塊為字段模塊,則調(diào)用其字段方法屬性完成解算,獲取字段數(shù)據(jù)所代表的值、狀態(tài)等含義.由此可見,上述子模塊的處理過程均可遞歸進(jìn)行.
航天系統(tǒng)測(cè)控?cái)?shù)據(jù)中的飛行器遙測(cè)數(shù)據(jù)的結(jié)構(gòu)不同于常規(guī)PDXP數(shù)據(jù),可針對(duì)不同任務(wù)需求靈活選擇組成.其整體結(jié)構(gòu)由遙測(cè)幀-遙測(cè)信道-遙測(cè)源包-遙測(cè)參數(shù)的組織方式構(gòu)成.目前常見的遙測(cè)數(shù)據(jù)格式分為以下幾類:
圖1 模塊化字節(jié)流模型類圖
(1)主副幀遙測(cè).這類遙測(cè)數(shù)據(jù)的特點(diǎn)是采用固定主交換子+分頻副交換子方式下傳參數(shù),不同方式定義了不同的傳輸頻率,同時(shí)采用雙計(jì)數(shù)格式,即同時(shí)使用幀計(jì)數(shù)和格式計(jì)數(shù)兩種計(jì)數(shù)[4].這種遙測(cè)數(shù)據(jù)的參數(shù)處理需要使用關(guān)鍵字依賴,即以幀計(jì)數(shù)和格式計(jì)數(shù)作為依賴參數(shù),其他遙測(cè)參數(shù)依賴它們的解算結(jié)果作為判斷條件進(jìn)行解算.
(2)分包遙測(cè).這類遙測(cè)數(shù)據(jù)的特點(diǎn)是以分包的方式對(duì)數(shù)據(jù)進(jìn)行分層動(dòng)態(tài)管理[5].要處理該類遙測(cè)數(shù)據(jù),需要定義遙測(cè)信道,并綁定分包協(xié)議,在處理該信道中遙測(cè)參數(shù)時(shí),先解復(fù)用還原出遙測(cè)源包,遙測(cè)參數(shù)根據(jù)源包號(hào)匹配,再對(duì)源包字節(jié)流進(jìn)行尋址即可.其中遙測(cè)信道支持虛擬信道模式,即信道需設(shè)計(jì)一個(gè)虛擬信道表,可以支持多個(gè)不同分包協(xié)議,并定義虛擬信道號(hào)字節(jié)比特偏移量.不同虛擬信道根據(jù)虛擬信道號(hào)進(jìn)行識(shí)別匹配.
(3)混合幀遙測(cè).該類星遙的特點(diǎn)是存在兩種幀格式定義,實(shí)時(shí)幀定義與數(shù)據(jù)段幀定義,每種幀定義又分為幾種格式[6].這種星遙的格式通過組合依賴一些關(guān)鍵參數(shù)來區(qū)別不同格式下的具體參數(shù),同時(shí)可能利用被依賴參數(shù)的解算結(jié)果進(jìn)行再處理來解算其他遙測(cè)參數(shù).
為了建立適應(yīng)不同結(jié)構(gòu)的遙測(cè)數(shù)據(jù)處理模型,我們分別定義了遙測(cè)幀框架、遙測(cè)信道、遙測(cè)處理環(huán)境、遙測(cè)協(xié)議、遙測(cè)源包、遙測(cè)參數(shù)、遙測(cè)關(guān)鍵字和遙測(cè)參數(shù)處理方法等元素對(duì)遙測(cè)數(shù)據(jù)格式進(jìn)行描述.遙測(cè)數(shù)據(jù)處理模型結(jié)構(gòu)如圖2所示.其中遙測(cè)幀對(duì)傳輸?shù)膶?shí)際遙測(cè)數(shù)據(jù)字節(jié)序列進(jìn)行描述,為多種平臺(tái)不同格式遙測(cè)數(shù)據(jù)搭建了解算的整體框架.框架包含遙測(cè)信道、遙測(cè)參數(shù)、遙測(cè)關(guān)鍵字等遙測(cè)元素和遙測(cè)環(huán)境,其中遙測(cè)信道和遙測(cè)參數(shù)共同構(gòu)成分包遙測(cè)格式,遙測(cè)參數(shù)和遙測(cè)關(guān)鍵字共同構(gòu)成主副幀和混合幀遙測(cè)格式,遙測(cè)環(huán)境則保存了遙測(cè)數(shù)據(jù)處理全過程中的所有動(dòng)態(tài)數(shù)據(jù)信息.
圖2 遙測(cè)數(shù)據(jù)處理模型類圖
遙測(cè)信道描述了遙測(cè)數(shù)據(jù)幀中一些特殊的字節(jié)部分,這些字節(jié)作為一個(gè)整體構(gòu)成信道,處理時(shí)必須把信道中傳輸?shù)臄?shù)據(jù)收完整了之后才可進(jìn)行.信道支持虛擬傳輸模式,即把一個(gè)信道從邏輯上復(fù)用為N個(gè)“虛擬信道”,每次給一個(gè)“虛擬信道”使用,各個(gè)虛擬信道是完全相同的,只是可以用來傳輸不同分包協(xié)議的源包[7].信道內(nèi)遙測(cè)參數(shù)的尋址是相對(duì)于源包的,參數(shù)地址中的PacketTag屬性保存了該地址對(duì)應(yīng)所屬的分包號(hào),繼而可從該分包中進(jìn)行尋址獲取字節(jié)源碼.遙測(cè)參數(shù)處理方法用于對(duì)遙測(cè)參數(shù)源碼進(jìn)行處理[8],實(shí)現(xiàn)從二進(jìn)制源碼到數(shù)字量、模擬量、溫度量和電壓電平量的轉(zhuǎn)換.遙測(cè)參數(shù)可有多個(gè)處理方法,順序執(zhí)行,后面的處理方法可以使用前面方法的處理結(jié)果,每一個(gè)處理方法的處理結(jié)果都可以作為遙測(cè)參數(shù)結(jié)果返回,從而可適應(yīng)靈活復(fù)雜的參數(shù)特性.
4.3.1 遙測(cè)信道處理
根據(jù)遙測(cè)數(shù)據(jù)處理模型結(jié)構(gòu)對(duì)接收到的實(shí)時(shí)遙測(cè)幀進(jìn)行分層處理,每個(gè)遙測(cè)信道依據(jù)對(duì)應(yīng)遙測(cè)協(xié)議對(duì)數(shù)據(jù)域進(jìn)行分解復(fù)用,還原出待處理源包或子幀字節(jié)流,保存在對(duì)應(yīng)的遙測(cè)處理環(huán)境中,等待下一步遙測(cè)參數(shù)提取對(duì)應(yīng)源碼.遙測(cè)信道動(dòng)態(tài)處理流程如圖3所示.
圖3 遙測(cè)信道處理流程
4.3.2 遙測(cè)參數(shù)處理
對(duì)配置的遙測(cè)參數(shù)列表進(jìn)行靜態(tài)編譯,根據(jù)參數(shù)依賴關(guān)系調(diào)整列表中的參數(shù)順序[9],根據(jù)順序順次調(diào)用遙測(cè)參數(shù)處理方法進(jìn)行處理,對(duì)于處理成功的參數(shù),將值加入遙測(cè)處理環(huán)境中,對(duì)于處理失敗的參數(shù)加入待掃描列表,等待下次循環(huán)掃描處理.對(duì)于每個(gè)參數(shù)的處理,首先進(jìn)行關(guān)鍵字依賴條件判斷,如滿足條件則獲取該遙測(cè)參數(shù)對(duì)應(yīng)的源包或子幀字節(jié)流,接著根據(jù)地址完成尋址、方法處理等后續(xù)工作.遙測(cè)參數(shù)動(dòng)態(tài)處理流程如圖4所示.
圖4 遙測(cè)參數(shù)處理流程
在實(shí)踐應(yīng)用中,通常使用幀處理速度和時(shí)間延遲來測(cè)試數(shù)據(jù)處理的性能.測(cè)試采用某次重要航天試驗(yàn)任務(wù)數(shù)據(jù)作為測(cè)試對(duì)象,在相同硬件環(huán)境中分別使用應(yīng)用了模塊化字節(jié)流模型和遙測(cè)數(shù)據(jù)處理模型的數(shù)據(jù)處理軟件系統(tǒng)和未使用上述模型的舊版處理軟件系統(tǒng)進(jìn)行處理解算,測(cè)試過程模擬任務(wù)場(chǎng)景發(fā)送任務(wù)數(shù)據(jù),記錄數(shù)據(jù)處理解算的最大幀處理速度和每幀數(shù)據(jù)平均時(shí)延.試驗(yàn)結(jié)果如表1所示.
表1 測(cè)試驗(yàn)證結(jié)果
根據(jù)測(cè)試結(jié)果可知,采用了模塊化字節(jié)流模型和遙測(cè)數(shù)據(jù)處理模型以后,最大幀處理速度有所提升,而每幀數(shù)據(jù)平均時(shí)間延遲則有所降低,說明上述模型在任務(wù)過程中提高了數(shù)據(jù)處理的性能和效率.此外,上述模型能夠適應(yīng)數(shù)據(jù)格式靈活多變的特點(diǎn),避免了舊版軟件系統(tǒng)針對(duì)不同任務(wù)數(shù)據(jù)格式變化而花費(fèi)大量維護(hù)準(zhǔn)備時(shí)間的情況.
針對(duì)航天測(cè)控?cái)?shù)據(jù)格式靈活多變、層次嵌套的特點(diǎn),本文論述了設(shè)計(jì)的模塊化字節(jié)流模型和遙測(cè)數(shù)據(jù)處理模型,經(jīng)實(shí)驗(yàn)表明,該設(shè)計(jì)模型表述能力及通用性較好,具有一定程度的靈活性及擴(kuò)展性;能較好地適應(yīng)各類任務(wù)的數(shù)據(jù)格式處理需求;可提升指顯數(shù)據(jù)處理軟件系統(tǒng)中的復(fù)雜數(shù)據(jù)格式能力和效率.