?

基于領域驅動的測控任務評定系統設計與實現

2023-10-07 03:46楊德輝李林峰
電子技術應用 2023年9期
關鍵詞:測控航天領域

楊德輝,周 淦,李林峰

(華北計算機系統工程研究所,北京 100083)

0 引言

航天測控系統是航天工程的重要組成部分,包括中心機、光學、雷達、遙測遙控等基本單元,主要是對航天飛行器的飛行軌道、狀態等進行跟蹤測量、監視及控制,同時保障飛行器按照預先設計的狀態航行與工作,并完成數據通信等預定任務[1-2]。測控任務是指在測控體系支持下為保障航天器順利工作,并滿足對航天器的跟蹤、遙測遙控等技術要求,由測控部門根據航天測控系統編制的一種任務[3]。測控任務評定是在測控任務進行過程中,檢測參試設備性能指標、工作狀態的穩定性、檢驗參試設備信息產生、傳輸、處理、顯示的穩定性,檢測測控系統長時間運行的穩定性和可靠性[4]。

近年來,隨著商業航天快速發展,航天發射頻率急劇增加,測控需求日益增多,測控系統設備數目激增且技術復雜程度不斷提升,測控管理部門面臨著設備管控繁重、評定工作低效、人力資源匱乏、指揮信息獲取不便等難題。為此,眾多學者開展了大量有關測控任務評定的研究與開發工作。其中,針對單一類型測控設備的評定,通用性差,且不能準確全面檢測測控系統完成測控任務的能力[5-6]。此外,目前提出的測控任務評定理論及方法受限于當時的應用場景,存在著一定的不足,不適應于商業航天形勢測控任務的快速評定需要[7-9]。與此同時,基于單體架構設計的復雜業務系統,軟件建模復雜、難以維護且可擴展性差,即使系統中部分模塊存在性能或需求更替問題,也需要對整體進行迭代及維護,可擴展性差[10-11]。因此,測控任務評定系統的少人化、自動化、通用化、智能化,成為亟需解決的問題。

為滿足商業航天發展形勢需要,提高指揮人員的決策效率和準確率,解決測控任務數據低層次應用、人員工作效率低、系統智能化以及自動化程度低等問題的同時,解決軟件系統設計建模復雜、難以維護、可擴展性差等問題,本文通過對測控任務評定業務深入分析,基于領域驅動設計對系統業務領域建模,結合領域模型進行微服務劃分,基于微服務架構提出評定航天測控任務評定系統設計方案;最后,結合航天發射測控任務評定業務場景驗證了系統設計方案的可行性。

1 系統分析

航天發射測控任務流程包括階段性聯調和任務實戰,首先要組織由點到面、從靜至動、貼近實戰的聯調,完成對測控系統是否具備任務狀態的檢驗,然后在確保測控系統具備運行正確、狀態穩定、應急處理得當的前提下進行實戰任務[3]。

測控任務評定系統建立在現有測控系統基礎上,通過與中心計算機、測控指揮系統、測控設備、數據庫等進行數據交互,如圖1 所示,利用測控系統全面的測量、分析與監視信息以及設備運維信息,基于任務評定要素,實現測控任務聯調與實戰過程中的自動分析與評定,將從各類數據中挖掘的有效信息及時展示以及傳遞,提高測控任務聯調和實戰的評定效率。系統具備基礎信息管理、任務信息管理、任務評定及評定顯示與干預、評定報告生成審核及發布等功能。

圖1 測控任務評定系統圖

(1)基礎信息管理

將中心計算機、測控指揮系統、測控設備、任務評定規則、評定指標算子、火箭型號、任務彈道、遙測數據、數據源信息等測控系統基礎信息抽象為模型,在數據庫中通過模型標識進行關聯組織和統一存儲管理,作為測控任務評定信息與配置的承載容器,也是測控任務評定計算處理的執行依據。

(2)任務信息管理

任務信息管理是在基礎信息管理的基礎上,根據航天任務文書以及聯調目的和實戰任務特點,實現對測控任務全周期參與要素的配置,包括多類型聯調或任務實戰項目中理論彈道配置、各參試設備配置、評定指標體系配置、評定算法的調整、報告模板的編輯、顯示樣式的配置等。

(3)任務評定及評定顯示與干預

以測控指揮系統指令觸發啟動任務評定計算處理過程,在任務各階段對測控任務全要素在準備和執行過程中的工作情況進行快速評定,利用不同測控任務產生的測試數據,按照測控任務工作原理和判斷方法,對測控任務進行快速評定,生成對聯調或實戰項目的評定結論,并及時推送。同時,為確保評定的準確性及可靠性,支持崗位人員實時查看評定過程,提供歷史任務數據的查詢和分析比對功能,可基于工作權限從不同粒度對測控任務評定過程進行人工干預,并通過日志記錄干預行為。

(4)評定報告生成、審核及上報

評定報告包括任務階段節點報告、階段計劃節點報告和聯調報告等多種類型,在多人協作工作模式下的評定報告支持崗位人員依據權限分層審核及維護,并將審核后的報告上報給測控指揮系統。

2 領域驅動設計及微服務

2.1 領域驅動設計

2.1.1 領域驅動設計架構

構建復雜業務系統關鍵問題是如何降低軟件設計建模的復雜性,從而提高系統的開發效率,降低軟件維護成本,提高系統的擴展性和復用性。軟件設計大師Eric Evans 提出的領域驅動設計方法體系近年來成為解決此問題的有效手段[12],它通過將要解決的業務概念和業務規則等內容提煉為領域知識,然后借由不同的建模范式將這些領域知識抽象為能夠反映真實世界的領域模型,來指導業務復雜軟件的設計開發,使系統高內聚、低耦合、易擴展、易維護。

領域驅動設計提供了系統拆分的一種理念和真實世界的表示方法。它的特點是分層架構、職責劃分和易復用。分層架構采用包括表示層、應用層、領域層和基礎設施層的四層結構[13-14]。其中,表示層負責解釋用戶命令以及與用戶交互;應用層負責描述系統所要做的工作,并協調領域模型來完成;領域層是系統的核心層,負責表達業務概念、規則以及狀態信息;基礎設施層為系統和其他層提供通用的技術能力。職責劃分可以使領域對象和現實世界業務形成良好的映射關系。

2.1.2 領域模型設計

領域模型位于領域層,是領域驅動設計的核心,是針對特定業務領域內的關鍵事務以及關系的可視化表示,是為了準確定義需要解決問題而構造的抽象模型,是業務場景到軟件系統的映射轉化,其目標是為軟件系統構建統一的認知[12]。Eric Evans 提出的領域模型核心概念包括實體、值對象、聚合、領域服務、領域事件、限界上下文、領域工廠和資源庫等[15-16]。其中,實體和值對象是組成領域模型的基本單元,實體是賦有業務行為且具有唯一標識符的對象,值對象是用于描述特征或屬性但沒有標識的對象;聚合包含一個聚合根和上下文邊界,這個邊界根據業務單一職責原則,定義聚合內部應該包含的實體和值對象;領域服務是與領域相關的操作如執行一個顯著的業務操作過程,但它并不適合放入實體與值對象中;領域事件作用是引導進一步的業務操作,促使形成完整的業務閉環;限界上下文用來定義領域模型中子領域的邊界。

領域模型設計的步驟[15]如下:

(1) 根據業務特點考慮業務流程關鍵節點或功能模塊邊界因素,按領域逐級分解為大小合適的子域;

(2) 對每一子領域的業務場景深入分析,明確業務場景中的領域概念;

(3) 分析領域概念,識別領域概念的屬性和行為,明確實體、值對象;

(4) 根據實體的關聯性定義聚合,找出聚合根,為聚合劃定限界上下文;

(5) 識別領域服務和領域事件;

(6) 根據業務、限界上下文、領域服務以及領域事件之間的依賴關系確定領域模型。

2.2 微服務

微服務架構是為了軟件系統易擴展且富有彈性,它是將一個單體程序劃分為模塊集合,每個模塊運行在單獨的進程中或不同的機器上,模塊間通信采用輕量級通信機制,模塊集合通過集中式的方式進行管理[17]。每個模塊可以使用不同的數據存儲手段,被獨立設計、實現和運行,實現模塊之間故障的隔離,提供軟件系統的可用性、可擴展性以及可維護性。

在對系統進行高質量微服務架構設計時,需遵循高內聚、松耦合、以業務為中心、彈性設計、日志與監控、自動化等原則[18]。因此,微服務基礎框架需提供注冊、配置與管理、通信等功能。同時,為提升系統架構的健壯性和穩定性,需對整體增加容錯機制和負載均衡等機制。

2.3 領域驅動設計和微服務的結合

領域驅動設計的目的是實現各業務領域內的高內聚,微服務是通過拆分的手段實現業務領域間的低耦合,領域驅動設計與微服務結合,用領域驅動設計對業務領域進行邏輯劃分,用微服務對系統進行物理拆分,從而提供一種應對復雜業務系統落地的高效解決方法[19]。

領域模型設計過程中領域被拆分為多個子領域,一個領域相當于一個問題域,拆分的過程就是將大問題分解為小問題的過程,每個子領域模型都有它對應的限界上下文,限界上下文就是設計和劃分微服務的主要依據。在領域驅動設計的分層架構中,領域層的業務邏輯以微服務的方式實現,應用層負責協調、組合、調用微服務,而微服務之間數據交互可以采用領域事件驅動機制。

3 系統設計

3.1 系統領域驅動模型

結合領域驅動設計理論與微服務特點,設計測控任務評定系統領域驅動模型如圖2 所示。

圖2 評定系統領域驅動模型圖

表示層傳遞用戶信息,并完成信息交互邏輯,主要包括任務數據的接收、評定過程以及結果展示;應用層負責領域模型的調度和派發任務;領域層為系統的核心層,負責表達測控任務評定業務的概念、規則以及狀態信息,通過將軟件中最重要的業務規則進行剝離,抽象在領域層,使得業務邏輯與應用層和基礎設施層等代碼分離,實現業務邏輯與數據分離;基礎設施層為其他層提供通用的技術能力和層間通信,以及領域層的持久化機制。

3.2 系統設計

對系統進行設計,首先進行業務領域建模,領域建??梢越档蛙浖c現實世界之間的差距,用真實的業務概念劃分職責;其次,依據業務領域模型的限界上下文,進行微服務的設計和識別;最后,基于微服務架構實現微服務。系統設計如圖3 所示。

圖3 系統設計圖

3.2.1 業務領域建模

首先,對系統業務進行梳理,找出所有的業務對象,根據業務特性確定業務對象中實體與值對象;然后,從實體集合中找出聚合根,即擁有獨立的生命周期以及全局唯一標識的實體,將存在緊密邏輯關系的聚合根、實體以及值對象劃分到一起形成聚合;然后,集成領域事件流轉中產生業務行為的一個或多個聚合根所在的聚合,形成限界上下文。

3.2.2 微服務識別和設計

基于領域驅動設計拆分微服務的主要依據是限界上下文,微服務拆分遵循的原則包括最小完備原則、穩定空間原則、單一職責原則,業務領域模型可依據以上原則粒度細化為若干微服務?;诖?,本系統的主要業務微服務模塊包括:基礎信息處理服務、任務信息處理服務、任務評定服務、評定顯示服務、報告生成服務、報告審核服務、信息發布服務、評定過程控制服務等。

微服務模塊可獨立開發和維護,從而提高系統開發效率,降低軟件維護成本。同時,系統中具有相似功能的模塊統一封裝成可復用的公共服務,為業務服務提供支撐,包括通信服務、協調服務、文件服務等。其中,協調服務能夠根據業務需要,通過組合若干獨立服務的方式,快速響應需求變化,提高了系統可擴展性及復用性。

3.2.3 微服務實現

為滿足系統可靠性、迭代效率、易擴展及易維護等需求,采用微服務架構實現。微服務架構主要包括服務網關和服務管理兩方面。

服務網關是以統一的地址對外提供服務,將外部訪問請求地址的流量根據適當的規則路由到內部集群中正確的服務節點上,實現對后端服務的透明訪問。此外,在滿足基本路由功能的基礎上,可以提供安全、認證、授權、限流熔斷等功能。

服務管理包括服務注冊、服務配置、服務監控、負載均衡和日志管理等,負責對系統微服務模塊進行集中的組織、協調、監督、維護。服務注冊是將系統內提供服務的模塊信息注冊到公共的組件上,便于調用者及時發現,解決人工維護服務結點復雜的難題。服務配置對系統所有模塊的配置文件進行集中管理并動態發布配置信息,為了在不重啟的情況下動態刷新服務內部配置項。服務監控從不同維度對微服務模塊進行監控,包括部署及運行情況等,便于快速定位問題。負載均衡解決對單個微服務的并發問題,對同時調用同一微服務的多個請求進行科學分配。日志管理負責對微服務執行情況及時記錄,在系統故障時,通過日志分析,實現對系統故障的快速診斷。

4 系統業務場景應用

4.1 業務支撐

以航天發射測控任務場景為例,說明測控任務評定系統設計方案的可行性,如圖4 所示。

圖4 測控任務評定系統應用圖

4.1.1 場景說明

航天發射測控任務整體業務流程包括兩個部分。首先,在任務前,根據任務文書,制定任務階段及階段目標根據任務階段目標,指定階段計劃,根據階段計劃,編排階段計劃下的聯調項目組合。其次,在任務過程中,測控指揮系統發送任務流程指揮指令,測控任務參試設備發送狀態信息及原始測量信息,測控任務評定依據指揮指令和任務數據,評定每次任務階段、階段計劃以及聯調項目是否完成目標,評定結論反饋給測控指揮系統,輔助測控指揮系統對任務流程做出決策。當達到任務階段目標或階段計劃目標或聯調目的時推動流程繼續向下進行,當所有任務階段、階段計劃、以及聯調項目完成后進行航天發射實戰任務。

4.1.2 系統應用說明

該任務場景涉及的微服務包括基礎信息處理服務、任務信息處理服務、任務評定服務、評定顯示服務、報告生成服務、報告審核服務、信息發布服務、評定過程控制服務,如圖4 所示?;A信息處理服務是將中心計算機、測控指揮系統、測控設備、任務評估規則、評估指標算子、火箭型號、任務彈道、遙測數據、任務數據源信息等測控系統基礎信息抽象為模型,在數據庫中通過模型標識進行關聯組織和統一存儲管理。任務信息處理服務是針對測控任務流程各結點的目的以及特點,實現對各項目參試設備配置、彈道配置、評估指標體系配置、評估算法的調整、報告模板的編輯、顯示樣式的配置等。任務評定服務是對測控任務數據對當前結點進行快速評定。評定顯示服務是在任務評定過程中,根據展示需求對任務數據進行處理。報告生成服務是對測控任務每一結點執行情況生成總結報告。報告審核服務是對系統生成的報告,通過人工層次干預的方式,進行審核調整,形成最終的報告。信息發布服務是對評定過程中挖掘出的有效信息及時傳遞。評定過程控制服務是記錄測控任務各結點的生命周期,對其控制。

4.2 系統驗證

通過測控指揮系統對歷史測控任務流程指令發送以及數據回放系統對任務數據回放,最大程度地還原實際任務場景,根據測控任務場景驗證基于領域驅動的測控任務評定系統的可行性。系統驗證共選擇了5 次具有不同特點的航天發射測控任務。搭建的實驗驗證平臺如圖5 所示。其中,客戶端部署在多個終端PC 上,是對系統的服務層返回信息進行集中展示,并提供人工操作的入口。

圖5 系統驗證平臺圖

在測控任務前,測控管理部門基于航天任務文書,制定任務階段、階段計劃,編排調整計劃聯調項目。用戶通過客戶端程序入口發送請求,經過接入層身份認證,然后通過服務網關調用服務層的任務信息處理服務對測控任務信息進行配置,接著通過數據層將任務信息持久化。

在測控任務進行過程中,數據回放系統回放歷史任務數據,測控指揮系統發送任務開始指令,經過接入層轉發,觸發評定過程控制服務開啟,評定過程控制服務通過任務信息處理服務獲取階段計劃、計劃聯調項目信息構建評定過程控制模型。當測控指揮系統發送階段計劃開始指令時,評定過程控制服務接收指令后,階段計劃節點信息發送給任務評定服務和評定顯示服務,任務評定服務和評定顯示服務開始接收測控任務設備狀態信息,任務評定服務周期發布階段計劃節點評定信息。當測控指揮系統發送聯調項目開始指令,評定過程控制服務接收指令后,將聯調項目節點信息發送給任務評定服務和評定顯示服務,任務評定依據測量信息進行聯調項目評定,并周期發送實時評定結果,通過信息發布服務。當測控指揮系統發送聯調項目結束指令時,評定過程控制服務通過任務信息評定服務獲取聯調項目評定結論,并通過信息發布服務發送給測控指揮系統,測控指揮系統依據評定結論判斷是否執行下一聯調項目;與此同時,報告生成服務啟動,在報告生成后,通過報告審核服務完成對項目報告的審核,通過信息發布服務將生成的聯調報告發送給測控指揮系統。

4.3 應用成效

本系統建設的主要目標是降低人工依賴,提升測控任務的自動化水平,提高測控任務的評定效率,縮短航天發射任務周期,從而適應高密度航天發射的常態。綜合上述系統基于5 次測控任務的驗證,達到了以下4 種效果:

(1) 系統滿足對具有不同特點測控任務評定的要求,具有良好的通用性;

(2) 系統通過將測控任務評定要素建模,只需依賴少量人力即可對任務進行快速準備;

(3) 系統在測控任務中,通過測控指揮指令觸發,自動開啟對測控任務數據的實時評定,并周期發布評定結果為測控指揮決策快速提供智力支持,提升了測控任務評定的自動化水平;

(4) 系統在聯調、階段計劃以及任務等關鍵節點結束后1 min 內,自動生成可定制的電子版評定報告,快速形成任務閉環。

因此,本評定系統能夠提高測控任務評定的少人化、通用化、自動化以及智能化水平。同時,評定系統遵循微服務原則建設,可以根據商業航天發展新需求,添加或微調相應的微服務模塊,方便維護和擴展。

5 結論

近年來,信息技術在商業航天領域飛速發展和應用,航天發射測控任務評定的少人化、自動化、智能化發展勢不可擋,本文通過領域驅動設計進行業務領域建模,根據領域模型進行微服務劃分,基于微服務架構建設測控任務評定系統,為提升我國測控任務評定效率及自動化水平提供了參考和思路。同時,與傳統單體架構的系統不同,基于微服務架構的評定系統高內聚、低耦合,可以通過組合微服務的方法快速響應需求變化,實現系統的易擴展性和復用性,為解決復雜業務系統建模及設計問題提供了借鑒方法。

猜你喜歡
測控航天領域
我的航天夢
航天夢,我的夢
領域·對峙
逐夢航天日
《測控電路》實踐教學改革探討
基于現代測控技術及其應用分析
向著新航程進發——遠望7號測控船首航記錄
航天股為何遭爆炒
新常態下推動多層次多領域依法治理初探
基于USB2.0協議的通用測控通信接口設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合