鄭旭光,千 登
(西安航天發動機有限公司,西安 710100)
在航天火箭發動機生產制造環節當中,熱處理工藝一直是一個重要環節,且涉及的設備型號和產品非常多。以往的各類熱處理設備都是獨立分開且每臺都需要專人看管操作,消耗了大量的人力成本和時間成本。近年來,隨著我國國防工業的高速發展,對航天火箭發動機生產制造環節提出了智能化工廠的構想和要求,對自動化生產線和熱處理集成化等進行了大量實踐。目前,已在逐步構架熱處理自動化生產車間,目的是實現多臺套熱處理設備的集成控制及智能監測,將傳統的熱處理監控系統發展升級為熱處理集散控制系統,實現設備間狀態監控的信息共享和互操作,從真正意義上實現集成信息和共享數據。要保證多臺設備的所有工作數據(多區實時溫度、工作真空度、加熱功率、工藝曲線等)能夠實時監控,且穩定可靠、準確無誤,必須確保擁有實時、高效、可靠的熱處理集散控制系統。而當前的熱處理集散控制系統大多采用分布式多節點監控系統,隨著監控節點及設備種類的不斷增多,上層應用軟件開發的復雜度逐漸增大,其維護移植的成本也大大增加。尤其是數據量大且交互頻繁的狀態下,熱處理集散控制系統通信面臨著性能和效率上的挑戰,在長時間運行的狀態下,關鍵數據丟失的現象很可能會因為各種異常因素而出現,也可能還會出現信息連續性被打斷的情況,進而在設備運行中出現故障。
通過引入數據分發服務(Data Distribution Service.DDS)以及優先級的度量策略,不但能夠解決軟件的多次開發移植問題,還可以為上層應用軟件提供通用支撐。與此同時,還能解決在網絡突發擁塞或數據量突增等情況下可能產生的緊急數據延遲到達或丟失問題。以上種種優勢,可以有效提高熱處理集散控制系統通信機制的高可靠性。經驗證,DDS具有提供延遲低、實時性好、吞吐量高的控制能力。目前,已在多個領域開展了廣泛應用,包括分布式仿真、工業自動化、金融等多領域,在航空航天領域的應用也在逐步的展開之中。
作為一種專門針對實時分布式系統數據交換的規范,DDS能滿足諸多領域的應用需要。近年來,世界各地不斷涌現出各不同領域的學者,他們在各自的領域對DDS進行著研究和應用。H Zhang等[1]將DDS與自適應通信環境和TAO技術結合起來以簡化進程間通信,實現了DDS通信配置和網絡重構的自動化;Fuqaha等[2]闡述了DDS可以提供豐富的QoS機制以實現對網絡進行有效的控制.在應用研究方面;Almadani等[3]選用DDS作為網絡通信標準,并選用RTI公司為DDS工具包進行通信模塊設計.同時他們還將DDS進行了拓展性的應用,研究結果顯示,在保證安全的前提下能夠降低石油勘探行業中鉆井作業的成本[4]。G Yoon等[5]提出了一種基于主題命名服務(TNS)的方法,解決了DDS通信過程中發現范圍的限制和資源利用率低的問題。Marisol García-Valls等[6]通過設計分區內DDS通信模塊,實現了通信系統穩定可靠地運行。W Kang等[7]提出用并行數據分發服務(PDDS)解決網絡堆棧造成的串行通信瓶頸問題,較大提升了消息遞的實時性和穩定性,是數據分發服務研究的一大突破。國內的諸多領域內,大批學者也展開了研究與應用工作,尤其在軍工科技領域。王航等[8-9]針對航天航空工業中不斷呈現出的通信需求,設計了一種新型通信平臺,在保證數據通信的實時、可靠的前提下,進一步實現了數據交換的可監控性;侯玉等[10]在船舶分布式系統的通信網絡中,得出DDS能滿足分布式通信模型的要求。周雋等[11]在指控系統的通信網絡中,對商用DDS的QoS、可靠傳輸等方面進行了改進。YB Tu等[12]通過對國產運行支撐環境KD-RTI進行DDS引入的改進,并通過試驗驗證得出改進后的KD-RTI系統在處理復雜數據流方面性能有較大的提升。可以發現,無論是國內還是國外,DDS的研究和應用領域非常廣泛,尤其是在航空航天、軍事、電網、石油工業等多種領域都有著廣泛的應用案例,可以據此在我國航天發動機研制生產領域,尤其是熱處理集散控制領域內進行深入研究探索,來實現更好的工程應用。
數據分發服務(DDS)是一種基于P/S數據的分發服務,以數據為中心的P/S(DCPS)層是DDS規范的核心,其建立了一個“全局數據空間”的概念,確保能夠有效正確地將信息傳輸給適當的接收者。全局數據空間(GDS)作為以數據為中心的發布-訂閱(DCPS)模型的重要組成部分,主要是完成通信過程中的發布者/訂閱者的自動發現功能、發布事件和訂閱事件的連接通知功能以及主題的匹配檢查與管理功能。GDS可以說是一個邏輯貯存空間,而與之對應的物理空間則是DDS通信實體的數據緩沖區。采用這種緩存機制,可以有效避免通信延遲或節點失效。在分布式系統平臺上,QoS是實際運行時必須考慮的因素。DDS規范擁有豐富的QoS策略。通過執行這些QoS策略,DDS實現了能夠有效地控制管理網絡帶寬以及管理內存空間資源、數據生存時間等,也保障了數據的可靠性、實時性。DDS的功能依賴于QoS策略,DDS中的所有實體均可以關聯QoS策略。
為了高效地進行數據通信,系統支持異步和同步的通知機制,這使得應用可以獲得通信狀態的變化,從而進行后續的正確動作。通知機制分為兩類,一個是基于監聽器的通知機制,另一個是基于等待的通知機制。以數據為中心的發布-訂閱(DCPS)實體之間,同樣存在著通信狀態的差異。改變任何一個通信狀態,都會激發對應的監聽器對象。通常,網絡中信息的分發秉承先入先出的規則,當信息數據需要被分發時,系統會將該數據放入發送緩存隊列尾部,通信發送模塊再依次從發送緩存隊列頭部獲取數據進行分發。因此,在信息分發機制中引入了優先級策略到信息分發機制,可以用性能和其他特殊要求為約束條件,將信息數據分發問題看成是一種組合規劃問題。
通過構建一個新的監控系統,能夠全面覆蓋航天用熱處理集散控制系統的狀態監控,該系統不但要包含熱處理集散控制系統監控系統的基本功能和邏輯,而且能夠模擬和實現預警、險情處置,并且通過引入一個新的數據分發模型和通信機制,能夠彌補現有通信系統的缺陷。對整個模型進行用例建模、靜態建模以及動態建模,從而進行監控系統模型的搭建。
在進行靜態建模設計時,系統包括Control System、Warning Model和Area;參與者則包括Monitor和Sen?sor;而模型中關系三類,分別是1to1、1 ton、0 ton,圖1所示為本系統的靜態建模關系。
圖1 靜態建模關系圖
在靜態建模設計工作的基礎上,進一步對熱處理集散控制系統狀態監控系統完成動態建模設計,其關系如圖2所示。當設備狀態出現需要告警并處置的情況發生時,預警模塊會據此實施告警并采取相應的處置程序。整個過程響應時間要求較高,因此通過DDS的使用,更好地完成狀態監控系統的實時性和高可靠性。
圖2 動態建模關系
在對熱處理集散控制系統狀態監控系統功能分析的基礎上,利用DDS規范來實現狀態監控系統數據分發通信機制的設計,搭建系統模型,系統將在各子模塊的共同協作下滿足用戶的需求。在監控模塊中DDS將數據進行一對多傳輸,大大增加了復雜大型網絡的數據吞吐量,也降低了網絡延遲。同時,在模塊內部也進行DDS設計以提高整體的通信效率。
在監控模塊與預警模塊間、監控模塊與區域模塊間,利用DDS機制,采用UDP/IP通信協議,增大網絡吞吐量。并將系統的模塊需求轉化成不同QoS策略設置,在系統通信過程中,可隨時根據需求變化對QoS策略進行動態修改,及時改善提升網絡中系統的數據分發能力,進而提高了監控系統的實時性和靈活性。與COR?BA的基于對象的點對點傳輸機制相比,DDS的以數據為中心的傳輸機制設計,以主題為建立節點間通信的紐帶,大大降低了系統內節點之間的耦合度,使得DDS在大規模網絡通信中的優勢顯現出來。
在全局數據空間的基礎上,在狀態監控系統中實現DDS設計,如圖3所示,具體的設計內容:在狀態監控系統中,利用DDS的GDS機制,在不同的節點功能模塊之間進行通信設計,即在監控模塊、預警模塊以及區域模塊中均增設需要的主題Topic,當系統匹配主題成功后,通信隨之能正常進行。
圖3 DDS的模塊間通信設計
當監控方發出關于某主題預警信息的訂閱請求后,預警中心會更新其本地訂閱注冊表,此時系統網絡內的主題匹配成功后,會由系統分發至訂閱該主題的監控方。整個過程中,監控方相當于訂閱者,而預警中心則相當于發布者。由于監控模塊中有多個監控臺,而預警模塊中有多個預警中心,他們之間根據主題建立聯接關系,大大提高了網絡的通信效率。此外,利用DDS的UDP協議,可以降低網絡的延遲,增大整個系統的網絡吞吐量。
為了增加系統的通信靈活性,采用QoS策略控制服務行為,此外為了提高系統的數據傳送能力,在系統的3個模塊內也進行DDS設計,動態增減這3個元素的數量,對系統的架構沒有影響,從而達到高靈活性,如圖4所示。
圖4 DDS的模塊內通信設計
在分布式系統中,為了隔離和優化網絡通信,引入了一個概念“域”,每個域表示一個獨立的全局數據空間(GDS),即DDS實體歸屬的邏輯區域。為了體現“域”這一特性,在本文的熱處理狀態監控系統中,將系統模型劃分為3個域結構。由于DDS中不同的域內的應用是不會進行數據交互的,因此,引入域設計可以將數據的收發組織地條理清晰,且可以在過程中屏蔽主題無關的冗余數據,更好地提高狀態監控系統網絡的實時傳輸能力。
Domain1,根據處理的數據業務來劃分,將整個監控模塊劃為一個GDS空間Domain1。其中,監控臺作為發布者,控制臺作為訂閱者,兩者之間主要傳遞監控信息,在主題的設定上均圍繞監控相關主題進行,因此,在Domain1中傳輸的數據均為監控相關主題的信息,避免了其他主題數據的出現。
Domain2,將整個預警模塊劃為一個GDS空間Do?main2。其中,預警中心作為發布者,預警處置端作為訂閱者,兩者之間主要協調和發布預警信息,在主題的設定上均圍繞預警相關主題進行,因此,在Domain2中傳輸的數據均為預警相關主題的信息,避免了其他主題數據的出現。
Domain3,將整個區域模塊劃為一個GDS空間Do?main3。其中,信息采集端作為發布者,監控機作為訂閱者,兩者之間主要傳遞采集端的傳感器數據,在主題的設定上均圍繞監控相關主題進行,因此,在Domain3中傳輸的數據均為監控相關主題的信息,避免了其他主題數據的出現,如圖5所示。
圖5 狀態監控系統的DDS域劃分
通過分析可知,發布者的本地發布主題表Publish?Topic_Table的內容包含了該GDS空間域中所有發布者定義的主題信息及相關信息:發布者的主題標識ID,發布者IP地址標識D_IP,示數據持久性標識Durability(通常情況下Durability取0或1,0為非持久性數據,表明此數據不需要保存,1為持久性數據,表明此數據需長期保存),傳輸可靠度標識Reliability(通常情況下Reliability取值Best-effort或Reliable,Best-effort是盡力傳輸,而Re?liable則表示可靠的傳輸),發布數據的最大時延標識Deadline,設備狀態信息標識State(通常情況下,0表示空閑,1表示忙碌),網絡上所有節點上的發布主題表須實時更新并保持全局一致性,如表1~2所示。
表1 狀態監控系統的PublishTopic_Table
實際通信過程中,在同一全局數據空間域下存在多個數據寫入者DataWriter和多個數據讀取者DataReader,在實際訂閱流程中,某一DataWriter會根據預先設定好QoS策略與某一選定好的匹配DataWriter來進行主題訂閱,于是當該DataWriter出現失效的情況時,系統會快速調用其他匹配QoS策略設定的DataWriter替代,避免了當某一節點失效而導致通信失敗。而全局數據空間(GDS)將PT_Table中數據讀取者DRi1、DRi2、…、DRin的訂閱信息發送至數據寫入者DWi,隨后激活對應的DRi1、DRi2、…、DRin。數據寫入者DWi則根據訂閱信息按照相應的QoS策略發送數據給DRi1、DRi2、…、DRin。
表2 狀態監控系統的DR_Table
首先,先創建一個實體接口Participant,便于后續主題、發布者、訂閱者繼承定義以實現后續的創建工作。而DDS中的主題則以數據名稱為規則進行定義的。為了提高通信效率,屏蔽同一數據空間下僅設定一個主題,并保持主題的唯一性,同時主題的數據是被指定好的,至此,該主題則是發布者、訂閱者雙方認可的通信標識。在代碼中通過編程調用API函數實現,也可程序讀取相應的QoS策略XML配置文件來實現。因此,將存儲服務質量策略的配置文件按照XML格式定義,通過結構化的層次關系實現策略配置與主題的綁定關系。
對于發布而言,Publisher是入口,主要負責創建和管理數據寫入者以最終完成數據分發,DataWriter才是真正實現數據寫操作的實體,而在數據寫操作的過程中,DataWriter根據與其相關聯的主題來確定對象類型,并有服務質量策略對其加以控制。
上層應用程序通過調用監聽線程來監聽通信通道上是否有新數據,與此同時,用戶代碼可以通過訪問數據閱讀者的read()或是take()方法來實現獲取數據,實現在其截止時間策略設定范圍內接收到數據。上層應用程序可以通過Conditions和WaitSet等待新的數據,即訪問wait()函數接口。系統在Conditions設定之前不會阻塞用戶程序線程,而當與其DataWriter相關聯的數據發生改變時,發布方會發起判斷,是否向訂閱方發送實時更新數據信息。發布模型如圖6所示。
圖6 發布模型
訂閱方的主要任務就是接收不同類型的數據。根據Subscriber的QoS策略,在同一全局數據空間內,系統可以接收發布方已發布的數據,同時使訂閱方應用程序能夠及時獲取這些數據。上層用戶應用程序使用一個類型化的DataReader來獲取Subscriber接收到的數據,且該DataReader必須與Subscriber是關聯的,即多個Da?taReader可以與同一Subscriber關聯。而系統內則是通過Topic通信實體實現關聯DataWriter實體和DataReader實體,Topic實現聯系的內容有Data的名稱、類型以及相應的QoS策略。訂閱模型如圖7所示。
圖7 訂閱模型
如圖8~9所示,在模型中設計如下的角色,并將發布者定義為“Publisher”,訂閱者定義為“Subscriber”,主題定義為“Topic”。
圖8 監控UI界面
圖9 數據信息UI界面
綜上所述,在DDS的設計模型中,由于DDS發布-訂閱雙方采用QoS策略來控制其數據傳輸過程,因此可以通過配置符合自己要求的傳輸方式,以實現符合上層用戶要求的通信網絡系統。
本文結合信息化技術快速發展對航天用熱處理集散控制系統提出的通信系統高效、實時、可靠傳輸的要求,在深入研究數據分發服務規范的基礎上,提出了一種基于DDS的熱處理集散控制狀態監控系統的設計方案,完成了DDS在系統功能模塊內、模塊間的通信設計,從邏輯和物理兩方面入手實現了狀態監控系統的DDS通信設計。該設計屏蔽了系統平臺異構帶來的不兼容問題以及數據信息分發中傳輸層的具體實現過程,大幅改善了熱處理集散控制系統中消息通信機制的實時性、有效性,對推動航天用熱處理集散控制系統的優化升級具有較高的應用價值。
目前,原型系統已經初步實現DDS通信的基本功能,并通過驗證達到了預期目標,但由于驗證數據的規模較小以及復雜度不高,后續還要深入研究DDS規范,實現基于內容的發布-訂閱,并加入對可擴展標記語言XML格式配置文件的解析處理,并針對QoS的設置和過濾調度處理進行完善設計,從而進一步提高系統的整體性能。為后續實現設備間狀態監控的信息共享和互操作,真正意義上實現信息集成、網絡通信和數據共享提供技術支持。