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