本發明專利技術公開了一種系統級軟件界面插件自動化集成系統,所述系統級軟件界面插件自動化集成系統,包括自動發現模塊和窗口管理及可視化控件,以及經所述自動發現模塊發現并加載的多個插件模塊,其中所述窗口管理及可視化控件,包括插件管理和自定義組件管理;所述自動發現模塊,用于發現并加載的各個插件模塊;所述插件模塊的類繼承自所述窗口管理及可視化控件。本發明專利技術基于Qt Plugins插件化思想,各插件模塊可以達到自動化集成的水平,適用于大面積插件的調用。基于zmq的插件間通信,穩定性較高,提供了插件間消息通信的橋梁,使得插件的功能不再單一化。功能不再單一化。功能不再單一化。
【技術實現步驟摘要】
一種系統級軟件界面插件自動化集成系統
[0001]本申請屬于系統軟件集成
,尤其涉及一種系統級軟件界面插件自動化集成系統。
技術介紹
[0002]隨著裝備技術的發展,裝備系統級控制軟件的規模越來越大,功能越來越復雜,研制周期變短。同時對控制系統軟件的復用性要求較高,且要求軟件可兼容多平臺運行。原有的單進程軟件控制架構已無法滿足這種要求,故需要一種基于多人開發并行開發、復用性較高的系統軟件架構。
[0003]目前的軟件插件化集成采用繼承同一基類的方法,插件的調用需要通過配置文件讀取界面插件的路徑,再通過Qprocess將進程一一調用。當需要增加新的插件時,無法通過統一的插件加載框架實現對該插件的統一調用,而需要修改插件調用的代碼。
[0004]現有技術的軟件界面插件集成自動化水平不高,不適用于大面積的插件調用,代碼量繁瑣,移植性不高。并且軟件界面插件間通信不方便,沒有較合適的通信方式,導致插件間功能單一,插件復雜性不高。
技術實現思路
[0005]本申請的目的是提供一種系統級軟件界面插件自動化集成系統,用于便于大面積的插件調用,及插件間的通信。
[0006]為了實現上述目的,本申請技術方案如下:
[0007]一種系統級軟件界面插件自動化集成系統,所述系統級軟件界面插件自動化集成系統,包括自動發現模塊和窗口管理及可視化控件,以及經所述自動發現模塊發現并加載的多個插件模塊,其中:
[0008]所述窗口管理及可視化控件,包括插件管理和自定義組件管理;
[0009]所述自動發現模塊,用于發現并加載的各個插件模塊;
[0010]所述插件模塊的類繼承自所述窗口管理及可視化控件。
[0011]進一步的,所述插件模塊之間采用基于ZMQ的訂閱
?
發布模式進行通信。
[0012]進一步的,所述插件管理用于提供PluginInterface插件接口需要的二次開發接口;所述自定義組件管理用于提供可視化控件。
[0013]進一步的,所述可視化控件包含QWidget的所有接口和統一管理的控件名稱、圖標、版本、制作單位信息接口。
[0014]進一步的,所述PluginInterface插件接口需要的二次開發接口,包括初始化、反初始化、名稱、圖標、版本、制作單位信息接口。
[0015]進一步的,所述插件模塊包括功能實現類和功能插件發現類,所述功能實現類繼承于所述可視化控件;所述功能插件發現類繼承于所述PluginInterface和QObject類。
[0016]本申請提供的一種系統級軟件界面插件自動化集成系統,基于QtPlugins插件化
思想,各插件模塊可以達到自動化集成的水平,適用于大面積插件的調用。基于zmq的插件間通信,穩定性較高,提供了插件間消息通信的橋梁,使得插件的功能不再單一化。
附圖說明
[0017]圖1為本申請插件自動化集成系統結構示意圖;
[0018]圖2為本申請實施例WEWidget基類繼承示意圖;
[0019]圖3為本申請實施例插件模塊繼承示意圖;
[0020]圖4為本申請實施例插件模塊間通信示意圖。
具體實施方式
[0021]為了使本申請的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本申請進行進一步詳細說明。應當理解,此處描述的具體實施例僅用以解釋本申請,并不用于限定本申請。
[0022]本申請基于Qt的Plugins插件化思想,實現插件自動化加載的界面系統,插件間采用基于zmq的通信機制,支持多人并行的跨平臺跨系統跨編譯語言的開發。
[0023]本申請提供了一種系統級軟件界面插件自動化集成系統,包括自動發現模塊和窗口管理及可視化控件,以及經所述自動發現模塊發現并加載的多個插件模塊。
[0024]所述窗口管理及可視化控件,包括插件管理和自定義組件管理;
[0025]所述自動發現模塊,用于發現并加載的各個插件模塊;
[0026]所述插件模塊的類繼承自所述窗口管理及可視化控件。
[0027]以下以綜合顯控平臺上的應用為例來對本申請進行詳細的闡述,綜合顯控平臺用于全面展示態勢數據、目標數據、裝備控制、系統配置等主要功能,該集成系統支持國產銀河麒麟操作系統和Windows操作系統。
[0028]綜合顯控平臺上的插件模塊包括態勢數據插件、目標數據插件、裝備控制插件、系統配置插件等。其中:
[0029]態勢數據插件負責展示電子地圖數據的展示,地圖的漫游縮放,二三維切換等;
[0030]目標數據插件負責展示單裝發現的目標列表,包括目標類別、威脅等級、距離、目標軌跡的顯示隱藏等;
[0031]裝備控制插件負責設定各單裝的基本參數、修改工作模式工作狀態,也可用于對單裝的視頻進行實時監控;
[0032]系統配置插件提供相關參數的配置,包括基礎參數配置、錄像抓圖配置、用戶管理、區域管理、設備管理等功能模塊。
[0033]本申請窗口管理及可視化控件包括自動發現模塊和窗口管理及可視化控件,所述插件管理用于提供PluginInterface插件接口需要的二次開發接口;所述自定義組件管理用于提供可視化控件。
[0034]窗口管理及可視化控件分為插件管理和自定義組件管理兩部分,插件管理負責插件模塊窗口的風格樣式、觸發方式以及插件模塊間通信方式。自定義組件是對一些基礎組件的額外需求功能進行定制化開發,擴展原組件的屬性和功能,更適合自身領域內的軟件開發需求。該窗口管理及可視化控件以插件接口和自定義控件形式提供上層應用軟件開發
使用。
[0035]自定義組件管理功能是基于Qt跨平臺開發工具的QWidget基類的可擴展開發方法。自定義組件管理提供可視化控件WEWidget基類,對基于該基類開發的自定義控件進行接口上的統一開發管理。該基類包含QWidget的所有接口和統一管理的控件名稱、圖標、版本、制作單位信息接口等。系統中各插件模塊界面均繼承于WEWidget基類。
[0036]在一個實施例中,WEWidget類方法和函數如下:
[0037]1.exec():界面顯示
[0038]2.getIcon():獲取模塊圖標
[0039]3.getName():獲取模塊名稱
[0040]4.setParam(int key,void*value):設置鍵值對
[0041]5.getParam(int key):獲取鍵值對
[0042]6.setParent(QWidget*parent):設置父類
[0043]如圖2所示,態勢數據插件、目標數據插件、裝備控制插件、系統配置插件均繼承于WEWidget基類,而WEWidget基類是QWidget基類的擴展。
[0044]插件管理功能是Qt跨平臺開發工具的QtPlugin的可擴展開發方法,支持對插件的動態加載。插件管理提供PluginInterfac本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種系統級軟件界面插件自動化集成系統,其特征在于,所述系統級軟件界面插件自動化集成系統,包括自動發現模塊和窗口管理及可視化控件,以及經所述自動發現模塊發現并加載的多個插件模塊,其中:所述窗口管理及可視化控件,包括插件管理和自定義組件管理;所述自動發現模塊,用于發現并加載的各個插件模塊;所述插件模塊的類繼承自所述窗口管理及可視化控件。2.根據權利要求1所述的系統級軟件界面插件自動化集成系統,其特征在于,所述插件模塊之間采用基于ZMQ的訂閱
?
發布模式進行通信。3.根據權利要求1所述的系統級軟件界面插件自動化集成系統,其特征在于,所述插件管理用于提供PluginInterface插件接口需要的二次開發接...
【專利技術屬性】
技術研發人員:李廣德,崔光振,蘆夢蘭,劉世利,盧洪樹,王江楓,錢穎麒,吳道廣,
申請(專利權)人:中國電子科技集團公司第五十二研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。