?

基于插件的星地資源管理系統的設計與實現

2017-10-16 05:50孔慶玲林興隆
無線電工程 2017年11期
關鍵詞:星地插件框架

孔慶玲,韓 續,張 瑩,張 玲,李 苒,林興隆

(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

基于插件的星地資源管理系統的設計與實現

孔慶玲,韓 續,張 瑩,張 玲,李 苒,林興隆

(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

通過總結當前星地資源管理系統的發展現狀與趨勢,針對當前星地資源管理系統開發設計中存在的研制周期短、擴展性要求強等問題,并結合其發展方向,基于插件技術建立星地資源管理系統,將系統開發分為系統框架開發、星地資源數據庫建立和功能插件開發3部分。提出星地資源管理系統開發的思路是在新技術支持下,對星地資源管理系統開發方式的探索與嘗試,是對傳統開發方式的改進。

插件;軟件框架;星地資源;衛星任務管控;維護模型

AbstractThis paper summarizes the current status and trends of the development of satellite-station resource management system,and points out the current problems existing in the design and development.Based on the plug-in technology,the paper proposes a development method for the satellite-station resource management system,which is divided into three parts,i.e.,the framework,the satellite and ground resources database,and the functional plug-in.The proposed method is a new way of development supported by new technologies,and also an improvement for the traditional development mode.

Keywordsplug-in;software framework;satellite-station resource;satellite mission management and control;maintenance model

0 引言

隨著我國航天事業的發展,越來越多不同種類(光學、SAR、多光譜和高光譜)、不同分辨率(亞米級、米級和10米級)和不同用途(氣象、國土、環保和減災等)的衛星發射升空,對我國的國民經濟建設發揮著越來越大的作用。為適應衛星應用的不斷發展,衛星任務管控系統的建設和研制需要不斷地進行升級改造。

作為衛星任務管控的基礎支撐系統,星地資源管理系統為衛星任務管控運行提供數據支持,在不斷地改造和擴建過程中,面臨著研制周期短、擴展性要求強等問題。

本文研究利用.Net Framework4.0和iOpenworks提供的多種方法和技術實現基于插件技術的系統框架,在無需重編譯系統的情況下,實現對插件的動態加載、移除等管理工作[1],為系統的更新、功能的擴展提供了一種有效的機制[2]。在星地資源數據庫建設方面,研究從已有的星地資源管理系統中提取通用的星地資源元數據,基于通用的元數據建立星地資源數據庫。

1 相關技術

1.1 軟件框架

軟件框架一般由基礎平臺、框架主體、構件庫、擴展接口和文檔5部分組成[3]。

目前普遍認為軟件框架開發包括面向框架的開發和基于框架的開發2個階段[4],前者實質是框架本身的研制階段,后者則是框架的應用過程,軟件框架就是在這2個階段的交替中不斷豐富、完善。

軟件框架開發分為正向開發和逆向開發2種。前者是在沒有或應用較少的前提下,通過領域分析和設計逐步建立起來的[5];而后者更普遍一些,是在存在大量遺產系統或仍在使用系統的基礎上,進行框架提取而建立的具有領域通用性的軟件框架[6]。星地資源管理系統的工作屬于后者。

1.2 插件技術

為了提高星地資源管理系統軟件復用性、模塊化、封裝性和可擴展性,使軟件不同功能模塊之間能夠無縫集成,同時降低軟件開發成本,采用插件平臺技術進行軟件開發。

1.2.1 插件技術特點

插件技術特點如下:

① 易修改,可維護性強,插件與宿主程序通過接口通信,可以方便地加載與卸載[7];

② 結構清晰,易于理解,各個模塊相互獨立,插件之間也相互獨立;

③ 結構容易調整,可以隨時增加或刪除插件;

④ 可移植性強,重用粒度大,可以在軟件開發過程中修改應用程序;

⑤ 插件之間的耦合度低,插件是通過與宿主程序通信來實現插件與插件,插件與宿主程序之間的通信[8];

⑥ 開發門檻低,用戶可以按照規范自己開發滿足需求的插件,也可以委派第三方軟件供應商開發。

1.2.2 插件技術原理

插件能夠動態地插入到系統中,多個插件集成在一起完成復雜業務功能的處理,是插件系統中的重要組成部分[9]。插件需要給可執行程序提供調用接口,當執行程序需要調用插件的時候能夠找到這個接口,完成與可執行程序的通信與交互,并且使得可執行程序能夠得到插件的相關信息[10]。

插件系統的接口是使得可執行程序和插件能夠相互結合工作的重要組成部分[11],通過接口來建立一套相互協作的規則和協議,使程序協調工作[12]。插件接口是一個邏輯接口[13],在可執行程序中完成一部分,插件中完成另外一部分,通過插件接口來實現插件的加載、調用、卸載,以及可執行程序與插件、插件與插件之間的交互[14]。

2 需求分析

2.1 能力分析

星地資源管理系統實現衛星、地面站和測控等資源信息統一存儲管理,為指揮調度、任務規劃、計劃制定、狀態監視和載荷控制等業務運行提供星地資源數據。

星地資源管理系統功能組成如圖1所示,其中星地資源數據設計實現星地資源數據定義,星地資源維護根據星地資源定義實現星地資源數據的增、刪、改等維護操作,星地資源數據訪問服務實現星地資源數據查詢、檢索,可由其他系統根據需要定制實現,本文重點討論星地資源數據設計和星地資源維護。

圖1 星地資源管理系統功能組成

2.2 現有系統存在的問題

現有星地資源管理系統的數據定義因項目而異,沒有進行規范化管理,軟件界面設計以及編碼實現又與數據庫模型綁定,數據庫模型發生變化,需要進行相應的編碼修改才能適應,導致每個項目都需要開發星地資源管理相關軟件,但是每套星地資源管理軟件的產品化程度都不高,持續發展空間很小,可靠性、可擴展性差,對于星地資源數據的訪問也很難規范化。

為了提高項目的開發效率以及軟件的可靠性[15],需要遵循統一的數據標準,能根據星地資源的具體信息特質、外在數據特征、資源使用約束及可視化要求,基于通用的資源管理框架,個性化擴展定制和管理維護各種類資源信息,為業務運行提供數據支持。

3 設計實現

3.1 系統組成

星地資源管理系統包括星地資源數據庫、星地資源維護模型、星地資源管理框架和星地資源屬性編輯插件。

3.1.1 星地資源數據庫

星地資源數據庫為星地資源管理系統提供數據支持,采用元數據建立星地資源數據庫,以獲得標準化的數據記錄,為各功能插件提供統一的底層數據,為數據共享提供規范的數據記錄。

3.1.2 星地資源維護模型

根據星地資源數據維護特點,設計維護模型,包括資源類型劃分和資源屬性劃分,星地資源管理框架根據星地資源維護模型動態構造星地資源樹。

3.1.3 星地資源管理框架

星地資源管理系統采用插件技術構建系統框架,定義插件與框架之間的接口,在劃分系統功能的基礎上,將各部分功能以插件的形式實現,插件與框架之間通過定義的接口通信。通過星地資源維護模型實現對插件的動態加載、更新和刪除等管理工作。

3.1.4 星地資源屬性編輯插件

為每類資源的每個屬性提供獨立的維護界面,以獨立的插件形式實現,集成到星地資源管理框架,實現星地資源屬性顯示和編輯。

3.2 星地資源數據庫設計

對星地資源數據進行綜合、歸納與抽象,形成星地資源數據庫模型,包括衛星資源、地面站資源、測控資源模型等,其中衛星資源模型如圖2所示。

圖2 衛星資源模型示例

3.3 星地資源維護模型設計

不同類型的星地資源之間耦合關系較弱,每類資源數據是分層次的,星地資源數據的操作一般包括增加、刪除、修改和查詢,據此可以設計星地資源維護模型,用于配置當前維護的資源類型和每類資源的屬性。

星地資源維護模型示例如圖3所示,模型第1層定義了星地資源的類型及這類資源對應的數據庫主表信息;第2層定義了某類資源的屬性及實現該屬性信息的插件名稱。

圖3 星地資源管理維護模型示例

3.4 星地資源管理框架設計

星地資源管理框架界面示例如圖4所示。

圖4 星地資源管理框架界面示例

左側是星地資源樹,框架讀取星地資源維護模型的第1層信息,獲取該類資源對應的數據庫主表以及主鍵信息,啟動時根據配置動態讀取星地資源信息構造星地資源樹。通過增加和刪除操作進行維護,為實現通用的資源增加操作,要求每類資源對應的主表除主鍵外,其他非空屬性都應有默認值。為實現通用的資源刪除操作,要求每類資源的子表都有級聯刪除屬性。選擇某類資源的某一條資源信息,屬性樹顯示該類資源屬性信息,對應星地資源維護模型的第2層,最右側的面板缺省顯示第1個屬性的詳細信息,同時可以對屬性信息進行編輯,每個屬性信息對應一個插件實現。

3.5 資源屬性編輯插件開發

資源屬性編輯插件為每類資源的每個屬性提供獨立的維護界面,以獨立的插件形式實現,集成到星地資源管理框架,獲取星地資源標識,根據星地資源標識獲取星地資源屬性信息,實現星地資源屬性顯示和編輯。

星地資源管理框架聲明接口函數:UserControl GetRMDetailInfoPanel(string resourceCode);資源屬性編輯插件繼承UserControl基類,在構造函數中,調用GetRMDetailInfoPanel(string resource ode)函數,獲取資源對應的主鍵,代碼示例如圖5所示,根據主鍵查詢數據庫獲取資源屬性信息并進行顯示和編輯。

圖5 星地資源屬性編輯插件開發示例

資源屬性編輯插件開發完成后,部署到指定的目錄,配置星地資源維護模型,重新啟動軟件,完成與星地資源管理框架的集成。

4 擴展應用

4.1 增加資源

如果需要增加某類資源的維護,需要創建相應數據庫表,確定資源包含的屬性分類,按照約定的接口進行資源屬性編輯插件開發、部署,最后在星地資源維護模型中增加相應的配置項,重新啟動軟件將顯示新增的資源類型及資源列表。

4.2 刪除資源

如果某類資源不需要維護,去掉星地資源維護模型相應的資源類型節點,重新啟動軟件將不再顯示去掉的資源類型及資源列表。

4.3 修改資源

修改某類資源包括增加資源屬性和刪除資源屬性2種情況。

4.3.1 增加資源屬性

如果某類資源的某些屬性不需要維護,可以通過修改資源維護模型去掉相應的屬性節點,重新啟動軟件,選擇該類資源的某一資源,將不再顯示去掉的資源屬性。

4.3.2 刪除資源屬性

如果某類資源需要增加屬性的維護,需要創建相應數據庫表,按照約定的接口進行資源屬性編輯插件開發、部署,最后在星地資源維護模型中增加相應的配置項,重新啟動軟件,選擇該類中的某一資源,將顯示新增的資源屬性。

5 結束語

星地資源管理與星地資源維護模型綁定,維護模型與數據庫模型綁定,提供人機界面支持開發人員進行模型設計;設計星地資源管理框架根據維護模型動態構建星地資源管理軟件界面,進行星地資源數據增、刪、改、查操作,這種設計模式降低了軟件的復雜性和各類資源屬性的耦合性,便于分工合作,大大提高了軟件開發效率,具有很強的通用性和擴展性。

[1] 梁培明.基于構件的軟件框架研究與實現[D].大連:大連理工大學,2007.

[2] 吳毅堅,趙文耘.特定領域軟件框架的提取方法研究[J].電子學報,2003,31(12A):2151-2153.

[3] 彭鑫,趙文耘.一種基于類間關系動態分析的領域框架和構件提取方法[J].小型微型計算機系統,2007,28(11):1928-1931.[4] 楊芙清.軟件復用及相關技術[J].計算機科學,1999,26(5):1-4.

[5] 溫昱.軟件架構設計[M].北京:電子工業出版社,2007.

[6] 潘俊俊,徐小良.科技計劃項目管理系統的領域框架研究[J].計算機工程,2010,36(15):274-279.

[7] GEEBELEN Kristof,KULIKOWSKI Eryk,TRUYEN Eddy,et al.A MVC Framework for Policy-Based Adaptation of Workflow Processes:a Case Study on Confidentiality[C]∥2010 IEEE International Conference on Web Services, 2010:401-408.

[8] 李錦春.WEB軟件開發框架的研究與實踐[D].武漢:武漢大學,2004.

[9] 鮑亮,陳平.基于插件的異構數據集成[J].計算機工程,2006(20):86-88.

[10] 李延春.軟件插件技術的原理與實現[J].計算機系統應用,2003(7):24-26.

[11] 張進軍,張繼勇,薛萊文.一種基于插件的軟件體系結構[J].合肥工業大學學報(自然科學版),2005,28(4):398-401.

[12] 陳方明,陳奇.基于插件思想的可重用軟件設計與實現[J].計算機工程與設計,2005(26):172-173.

[13] 張學慶,馬萬權,高朝暉,等.衛星管理控制體系結構研究[J].無線電工程,2006,36(5):36-38.

[14] 許宏君.基于軟件復用技術的面向特定領域的軟件框架研究[D].北京:中國地質大學,2006.

[15] 馮新揚,崔凱,沈建京.面向插件的應用框架研究與實現[J].計算機工程與應用,2009(10):89-91.

[16] 王映輝.軟件構件與體系結構——原理、方法與技術[M].北京:機械工業出版社,2009.

DesignandImplementationofSatellite-stationResourceManagementSystemBasedonPlug-in

KONG Qing-ling,HAN Xu,ZHANG Ying,ZHANG Ling,LI Ran,LIN Xing-long

(The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China)

TP391

A

1003-3106(2017)11-0027-04

孔慶玲女,(1977—),高級工程師。主要研究方向:航天地面應用。

10.3969/j.issn.1003-3106.2017.11.06

孔慶玲,韓續,張瑩,等.基于插件的星地資源管理系統的設計與實現[J].無線電工程,2017,47(11):27-30,58.[KONG Qingling,HAN Xu,ZHANG Ying,et al.Design and Implementation of Satellite-station Resource Management System Based on Plug-in[J].Radio Engineering,2017,47(11):27-30,58.]

2017-06-16

河北省博士后科學基金重點資助項目(B2015005003)。

韓續男,(1984—),工程師。主要研究方向:航天地面應用。

猜你喜歡
星地插件框架
框架
時間同步領域數字多波束天線系統性能評估
利用星地差分GPS的地基測控系統實時標校方法
廣義框架的不相交性
自編插件完善App Inventor與樂高機器人通信
國內首套星地模擬對接系統啟用
基于jQUerY的自定義插件開發
DPSK調制/自差動零差相干探測技術克服星地激光通信中大氣湍流效應的研究
關于原點對稱的不規則Gabor框架的構造
基于Revit MEP的插件制作探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合