張鳳靜 汪磊


摘要
面對信息系統數據建設需求,本文設計了基于Oracle數據庫的車型數據管理系統。該系統實現了車型及車型中設備、設備端口屬性的管理,能夠對數據進行存儲和查詢;提供了圖形化操作界面管理車中設備及設備連接關系,能夠生成車型數據文件。該系統為車型數據統一管理提供了技術手段,為智能化指揮信息系統的數視資源建設提供技術保障。
【關鍵詞】Oracle數據庫 車型數據 數據管理
1 引言
面向未來系統智能化建設的創新發展,從傳統的單平臺、單系統向成體系、成建制的轉變,雖然經過不斷的發展建設,各指控信息系統得到了長足的發展和進步,但由于缺乏整體的信息系統體系結構分析數據、試驗和驗證的基礎數據,使得整個指揮信息系統體系的發展受到很大限制,制約了信息化及智能化建設進程。
隨著數字化建設深入開展,數據資源建設在指控系統中占據著越來越重要的作用,對車輛資源的掌握顯得尤其重要。在信息系統指控領域各項目中,多個軟件用到車型數據,目前是各軟件自己維護,車型數據格式不統一、數據源不統一,現場保障人員維護困難。需要從源頭上解決各自維護數據的問題,實現指揮控制領域車型數據源的統一,為軟件開發人員提供良好的數據支撐,為現場保障人員減輕維護負擔。
本文采用Oracle作為后臺數據庫,C++語言為開發語言,利用微軟Visual Studio2010進行開發。從軟件的功能設計、體系結構設計、數據庫設計以及模塊功能實現四個方面來介紹。
2 功能設計
車型數據管理系統包括設備管理、車型管理和車型文件生成三大功能,功能組成圖見圖1。
設備管理功能包括設備屬性管理和端口屬性管理。設備屬性管理能夠管理設備的類型、名稱、廠家編號等屬性以及擴展屬性。端口屬性管理能夠管理設備端口的類型、名稱、端口號等屬性以及擴展屬性。
車型管理功能包括車輛中設備管理和設備之間連接關系管理。提供圖形化操作界面,通過從工具箱中選擇設備,實現車輛中設備管理,包括對設備進行任意拖動、復制粘貼。設備之間通過端口進行連線,實現連線管理。
車型文件生成功能包括根據用戶需求生成指定車型數據文件、根據用戶自定義文件格式生成車型數據文件、通過生成數據文件對車型數據進行備份。
3 體系結構設計
車型數據管理系統的體系結構如圖2,包括數據層、數據訪問層、業務邏輯層、表示層四部分。數據層是底層的數據支撐,數據訪問層通過數據庫訪問接口和文件訪問接口對數據層進行數據訪問,基于數據訪問層產生業務邏輯,對業務進行封裝,形成業務邏輯層,最后呈現給用戶的是界面即表示層。
4 數據庫設計
數據結構的好壞不僅會影響應用系統的運行效率同時也會影響程序實現效果。合理的數據庫結構設計不僅可以提高數據存儲的效率,保證數據的完整性和一致性,也有利于程序功能的實現。
車型數據管理系統的數據庫設計如下。
設備屬性代碼表存放所有設備的屬性信息,一個屬性名稱對應一個唯一的屬性內碼。
設備分類表、設備廠家編號表、設備類型對照表為標準代碼表,存放設備分類、廠家編號、設備類型對照數據字典數據。
設備屬性包括靜態屬性和動態屬性。設備靜態屬性表描述設備的靜態屬性以及這些靜態屬性的屬性值,不同類型的設備所具有的靜態屬性相對固定。設備動態屬性表通過屬性內碼描述設備某種類型的設備所具有的動態屬性種類,動態屬性不需要關心具體值,不同設備可能擁有不同的動態屬性,動態屬性必須具有可擴展屬性。設備靜態屬性擴展表存儲設備擴展的靜態屬性,根據屬性代碼表中屬性內碼分類進行判斷。
端口類型字典表描述了所有端口的類型。設備端口表描述某種類型的設備所含有的所有端口信息,從設備端口表可以獲得所擁有的端口類型、某種類型端口的編號等信息,也可綜合查詢該表獲得某種類型端口的個數。設備端口擴展表描述設備端口的擴展屬性。
操作系統標準代碼表,存儲操作系統數據字典數據。車輛公共屬性表描述車輛公共靜態屬性信息。車輛靜態屬性擴展表是車輛公共屬性表的擴展表。車輛動態屬性存儲屬性內碼標識的為動態的車輛屬性。
車輛中的設備信息表用于描述車輛中所有的設備,不包括設備之間的連接關系。車輛中設備擴展信息表描述車輛中設備的靜態擴展信息。車輛中設備動態信息表描述車輛中設備的動態屬性信息。
車輛中設備之間的連接關系表描述車輛中設備之間的連接關系,該表中的每條數據代表兩個設備之間的連接關系及對應的連接端口號。
5 模塊功能實現
5.1 設備管理模塊
設備管理界面分為三部分,左側為所有設備列表,右側為設備屬性和端口屬性維護界面。根據左側選中設備的設備,在右側維護設備屬性以及設備端口屬性。
設備列表采用樹形結構生成算法、通過設備序號排序進行實現。設備屬性以及端口屬性管理通過讀寫Oracle數據庫中設備屬性以及端口屬性相關數據庫表,實現對設備屬性以及端口屬性的維護。
5.2 車型管理模塊
車型管理界面分為四部分,左側為車型屬性以及車中設備樹型結構兩部分,中間為車中設備的圖形化操作界面,右邊為工具箱。通過在工具箱中選擇拖曳選中設備,對車內設備進行拖動管理,并對設備根據端口號進行兩兩連線,實現車型管理。
車內設備以及設備之間的連接關系管理通過讀寫Oracle數據庫中車內設備以及設備連接關系數據庫表進行實現。車內設備及連接關系復制粘貼功能針對兩種連接關系相似的車型,實現將一種車型內的設備以及設備之間的連接關系進行復制,粘貼到另一種車型中的功能,該功能通過DUI界面實現。
5.3 車型文件生成模塊
車型文件生成模塊從數據庫中讀取數據,通過代碼加工,生成相應格式的文件。生成指定車型數據文件實現根據用戶選擇的車型,將所選車型的連接關系生成XML文件。生成自定義車型數據文件實現根據用戶自定的文件格式生成車型數據文件。車型數據備份實現將數據庫中所有車型數據進行備份生成SQL或者DMP格式的數據文件。
6 結束語
本文從實際需求出發,設計并實現了基于Oracle數據庫的車型數據管理系統,該系統己在多個項目中推廣使用,實現了軍隊車型數據統一管理,收集并累積了一定的數據資源,為指揮信息系統提供了有效的數據支撐。
在之后的工作,需要在以下兩個方面開展研究工作:
(1)數據的更新與迭代,系統內的數據必須能夠體現出當前車輛的最新狀態;
(2)車型及車內設備的三維智能化展示。
參考文獻
[1]李奇,徐曉東,盧顏,鞏芙榕.基于LabVIEW的網絡數據管理系統的設計與實現[J].電子技術設計與應用,2017(01):1000-0755.
[2]唐容.基于B/S架構數據管理系統的設計與實現[D].南京:東南大學,2015.
[3]何明.OracleDBA培訓教程——從實踐中學習Oracle數據庫管理與維護(第2版)[M].清華大學出版社,2016(06).
[4]Thomas Kyte.Oracle Database9i/10g/11g編程藝術深入數據庫體系結構[M].人民郵電出版社,2011(01).
[5]張鵬.網絡教育學習中心數據管理系統的設計與實現[J].電子技術與軟件工程,2017(03).
[6]宮明煜.格式化數據通用處理及顯示方法[J].指揮信息系統與技術,2013(06).