


摘? 要:針對傳統測控領域存在的測試效率低、測試復雜度高、測試資源利用不足等問題,文章提出基于B/S架構的分布式測控技術架構,利用SOA(面向服務架構)設計思想,并結合實時中間件和分布式數據庫實現設備間的互聯互通互操作,提高測試效率,降低測試復雜度,在分布式架構下,充分利用測試資源。該文對當前從事測控領域的設計人員和開發人員具有一定的參考價值,是面向服務架構設計思想的綜合應用體現。
關鍵詞:B/S;分布式;測控技術;遠程過程調用
中圖分類號:TP311? 文獻標識碼:A ? 文章編號:2096-4706(2021)05-0008-06
Research on Distributed Measurement and Control Technology Based on B/S Architecture
TAN Xiang
(Shanghai Cherub Information Technology Co.,Ltd.,Shanghai? 200240,China)
Abstract:Aiming at the problems of low test efficiency,high test complexity,and insufficient utilization of test resources in the traditional measurement and control field,this article proposes a distributed measurement and control technology architecture based on B/S architecture,using SOA(service oriented architecture)design ideas,and combining real-time middleware and distributed database to achieve interconnection and interoperability between devices,improve test efficiency,reduce test complexity,and make full use of test resources under a distributed architecture. The article has a certain reference value for designers and developers currently engaged in the field of measurement and control,and is a comprehensive application of service-oriented architecture design ideas.
Keywords:B/S;distributed;measurement and control technology;remote procedure call
0? 引? 言
工業現場通常存在測控點分散、測控范圍大、作業環境復雜的問題,且工業現場對測控系統的數據傳輸實時性具有嚴格要求[1]。現今,傳統測控領域逐漸暴露出測試效率低、測試復雜度高、測試資源利用不足等問題。因此具有數據傳輸實時性高、可靠性好、系統結構拓撲靈活[2]等優點的分布式測控系統成為現代測控領域的發展方向。
1? 系統概況
1.1? 系統組成
基于B/S架構的分布式測控軟件平臺按照分層架構思想設計開發,整個平臺框架包含應用表現層、業務交互層、應用邏輯層、組件資源層和操作支持層共五層。Web瀏覽器通過業務交互層可實現本地或遠程兩種與后端應用邏輯層的數據交互模式,并通過應用表現層展現業務數據。組件資源層按照組件化設計思想,封裝服務模塊和邏輯設備,形成服務組件和設備組件,為平臺提供各類服務和服務執行資源。組件資源層是一個開放式的資源庫,支持分布式部署,通過中間件互相訪問。操作支持層為平臺運行提供基礎操作環境。
1.2? 工作流程
系統平臺由五層構成,針對具體應用,其工作流程如圖1所示。
2? 系統設計
分布式智能測控軟件平臺采用上海求本信息技術有限公司自主研發的分層、開放、跨平臺架構,根據組件化和分布式設計思想,利用SOA(面向服務架構)設計思想,并結合實時中間件和分布式數據庫實現設備間的互聯互通互操作,通過WEB方式實現人機交互,從而保證平臺上的應用開發和運行高效、便捷、低成本,解決用戶在項目研制過程中碰到的開發效率低、研制成本高、資源復用率低以及系統部署難度大等問題。其整體軟件架構如圖2所示。
平臺具備通用、開放、靈活、高效以及智能等特性。
通用性主要從三個方面來體現,其一是平臺采用分層化設計、開發,這是平臺通用性的內在體現,也是平臺通用性的前提條件;其二是平臺服務組件層的服務具備通用性,因為基于組件的服務為應用層提供了統一規范接口和通信協議,能夠適用于不用的應用開發;其三是邏輯設備層的邏輯設備通用,因為借鑒吸收了軟件通信體系結構相關技術,采用標準接口封裝了底層硬件,從而為上層軟件提供了標準設備接口。
開放性主要體現在兩個方面:其一是服務組件層即服務組件庫,是基于開放式設計的,可自由擴充或裁剪;其二是邏輯設備層即邏輯設備庫,也是基于開放式設計的,可自由擴充或裁剪。
靈活性體現在設備操作方式、分布特性以及系統部署上共三個方面。設備操作方式靈活指的是通過網絡層的中間件技術以及上層軟件框架的WEB技術能實現底層硬件的本地操作或遠端操作;分布特性靈活指的是通過分層設計和中間件技術,使平臺支持設備分布、網絡分布、服務分布和應用分布;系統部署靈活指的是由于平臺采用B/S體系結構,因此,客戶端只需要標準的瀏覽器,服務端可根據業務需求動態配置WEB服務器和應用服務器,具備良好的系統擴展性。
高效性主要體現在應用開發、用例執行和碼流傳輸效率三個方面。對于應用開發來說,由于上層軟件框架采用Django框架[5]來開發,Django框架內置的很多第三方插件能夠顯著加快應用的開發;用例執行方面,由于采用了并行以及自主調度執行處理流程,所以為用例執行提供了最高效率的執行方式;在碼流傳輸效率方面,平臺的網絡層設計有兩種中間件,一種是基于控制流的中間件,另一種是基于數據流的中間件,基于控制流的中間件在控制數據、事件型數據傳輸方面效率要比基于數據流的中間件高,而基于數據流的中間件在傳輸實時、高帶寬數據方面效率很高。
智能化主要體現在三個方面:一是接口自動適配,基于規范標示符的接口在應用執行過程中能夠自動識別、自動連接和關閉;二是通道智能綁定,基于ICD的通道重構策略能夠實現通道的自動綁定,當前通道遇到故障時,根據重構策略能夠自動轉換通道,重新綁定;三是故障監測,平臺能夠自動識別系統故障,并輸出告警信息。
2.1? 功能設計
2.1.1? 平臺框架軟件設計
分布式智能測控軟件平臺的框架軟件基于B/S結構進行設計,后端服務器軟件采用組件—框架設計思想,以達到通用性、靈活性、可移植、可復用以及分布式應用等能力要求。后端服務器軟件的總體結構如圖3所示。
平臺框架軟件定義了組件及應用的接口規范和通信方式,是平臺內各類軟硬件組件資源以及應用資源的通用管理框架,負責組件及應用的資源分配、加載、啟動、裝配、配置等操作,是整個功能模塊的組織核心。組件是實現特定功能的獨立模塊,每個組件都可以單獨運行,即能夠基于給定的輸入產生相應的輸出,不依賴其他功能模塊,具備高內聚低耦合的特點;應用用于滿足系統的功能要求,通過對已經抽象成獨立功能的組件進行裝配,形成不同的應用功能。按照平臺框架所規定的接口規范和通信方式進行組件及應用開發,能夠實現組件及應用的可移植性和可復用性,達到即插即用的效果。平臺框架即是組件資源的管理者和應用裝配的執行者。通過對外提供應用創建接口,用戶可以利用配置文件描述的方式,根據具體需求或資源分配策略進行組件的靈活配置,無需對功能進行重復開發,提高了開發效率,降低了開發成本。
平臺框架分為初始化、設備管理器、服務管理器、應用管理器、配置文件管理器和對象管理六個功能模塊。始化功能模塊主要實現系統平臺初始化功能,包括上電自檢,內部變量初始化賦值等;設備管理器功能模塊主要實現邏輯設備的注冊管理,分配設備唯一標識,設備組件的調用;服務管理器功能模塊主要實現服務的注冊管理,分配服務唯一標識,服務組件的調用;應用管理器功能模塊主要實現應用的注冊管理,分配應用唯一標識,應用組件的調用;配置文件管理器功能模塊主要實現配置文件的注冊管理,加載配置文件和解析配置文件;對象管理功能模塊主要實現中間件對象的管理,中間件數據的交互。系統整體接口方面主要有基本應用接口、框架控制接口、服務組件接口、設備組件接口、應用組件接口,如圖4所示。
2.1.2? 邏輯設備組件設計
邏輯設備組件主要在邏輯設備層,根據應用場景,該系統中的邏輯設備組件主要包括AFDX邏輯設備、RS422邏輯設備、FC邏輯設備、1553B邏輯設備、A429邏輯設備。邏輯設備組件由邏輯設備管理器進行管理。
邏輯設備組件主要完成設備組件的對象實例化,通過對象與命名上下文進行綁定,將對象進行發布,供平臺應用進行引用,并能完成設備的啟動與停止,讀寫數據,設備狀態配置信息的保存與查詢。
2.1.3? 服務組件設計
服務組件主要完成各組件的初始化功能,獲取ICD數據的結構,對數據進行解析和封裝,返回給數據處理服務組件使用,并能對輸入的信息依據判斷標準給出判定結果。
服務組件主要在服務層,主要包括ICD處理服務組件、數據處理服務組件及符合性判定服務組件。其中ICD處理服務組件對ICD數據進行解析與封裝,交由數據處理服務組件,數據處理服務組件將ICD數據打包成幀結構,交由相關的邏輯設備組件,同樣邏輯設備組件接收的數據也交由數據處理服務組件處理,按照ICD信息結構解析,交由符合性判定服務組件,符合性判定服務組件依據判斷標準對數據給出判定結果。
2.2? 界面設計
基于B/S架構的分布式測控軟件平臺界面是基于WEB技術設計開發的,借助WEB的移動互聯特性,使得用戶可以在任何一臺聯網的計算機上或移動終端上,通過瀏覽網頁的形式登錄系統,完成測試工作。
在具體的界面設計開發過程中,主要用到了HTML5、CSS3和JS等技術。其中,HTML5用于設計頁面的布局,通過標簽、屬性的設計開發,構建頁面的結構,使得界面元素滿足用戶需求;CSS3(層疊樣式表)是為了解決界面內容與表現形式的分離問題,將頁面元素的展現形式放在CSS文件里設計開發,使得整個界面的開發效率提高,并且具備良好的移植性;JS(JavaScript)是一種腳本語言,負責界面的行為動作,通過編寫JS文件,使得前端可以與后臺服務器產生交互,能夠將用戶在前端界面上的輸入轉換成相應的數據或命令,并傳遞給服務器去執行,同時也能接收服務器的數據信息,并展現在前端界面上。測控平臺界面如圖5所示。
2.3? 系統構型
根據實際的應用需求和使用場景,應用系統將有兩種構型。針對每種構型,其軟硬件配置是不同的。
在圖6所示的構型1中,服務器與目標機部署在同一套硬件上,此時硬件組成包括一套主機和若干設備。主機內運行前端、應用程序、服務組件、邏輯設備和硬件驅動。因為所有服務和設備都在本地化操作,無須中間件。
如圖7所示的構型2是針對分布式應用場景的。在分布式應用場景中,服務器與客戶目標機是分離的,同時瀏覽器也可與服務器進行分離,所以,構型2在實際應用中有三種變型:一是瀏覽器與服務器分離,服務器與客戶目標機部署在同一套設備上,這是B/S結構形式;二是瀏覽器與服務器在同一套硬件上,客戶目標機與服務器分離,這是C/S結構形式;三是瀏覽器、服務器、客戶目標機三者分離,實現最靈活的分布式部署,這是B/S和C/S混合結構形式。
2.4? 系統驗證
基于B/S架構的分布式測控軟件平臺在航電系統集成測試中已經運用,如圖8所示,平臺在航電系統集成測試中可以正常執行相關測試用例,并給出結果顯示。
3? 結? 論
將SOA設計思想應用到分布式測控系統中,設計基于B/S架構的分布式測控軟件平臺,可以提高整個系統數據傳輸的實時性和可靠性,且便于對系統結構進行擴展。該文設計的基于B/S架構的分布式測控技術可適用于工業、航空航天等多個領域,具有良好的應用前景。目前本文所提出的軟件平臺應用廣度不足,很多實際工程中可能出現的問題發現不全,需要大量應用于實際工程經驗中,以便提高軟件的可靠性和實用性。
參考文獻:
[1] 茅勝榮.基于EtherCAT的分布式數據采集系統的研究與實現 [D].蘇州:蘇州大學,2018.
[2] EtherCAT Technology Group. EtherCAT-the Ethernet fieldbus [EB/OL].[2020-12-20].https://www.ethercat.org/en/technology.html#1.9.5.
[3] 徐冰霖,李戰懷.面向服務的航天測控軟件架構設計 [J].飛行器測控學報,2012,31(6):47-51.
[4] 衛翔,范學滿,于德新.面向服務的仿真實時中間件系統研究 [J].計算機仿真,2019,36(7):257-260+307.
[5] 汪洋,姜新通.MVC框架在Python與Django下的設計研究 [J].電腦與信息技術,2021,29(1):55-57+63.
[6] 孟另偉,鄭永軍.基于EtherCAT的分布式測控系統設計與實現 [J].儀表技術與傳感器,2020(6):73-78.
作者簡介:檀翔(1988—),男,漢族,安徽東至人,工程師,碩士研究生,研究方向:航電系統集成測試、信息化系統。