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